#
302964 |
|
17-Jul-2016 |
dchagin |
MFC r302517:
Fix a copy/paste bug introduced during X86_64 Linuxulator work. FreeBSD support NX bit on X86_64 processors out of the box, for i386 emulation use READ_IMPLIES_EXEC flag, introduced in r302515.
While here move common part of mmap() and mprotect() code to the files in compat/linux to reduce code dupcliation between Linuxulator's.
MFC r302518, r302626:
Add linux_mmap.c to the appropriate conf/files.
|
#
293599 |
|
09-Jan-2016 |
dchagin |
MFC r283506 (by rodrigc):
For objcopy, use --input-target and --output-target
When building with gcc 4.9 and binutils 2.25, using '--input' and '--output' returns an error message: objcopy: option `--input' is ambiguous
|
#
293575 |
|
09-Jan-2016 |
dchagin |
MFC r283474:
Rework signal code to allow using it by other modules, like linprocfs:
1. Linux sigset always 64 bit on all platforms. In order to move Linux sigset code to the linux_common module define it as 64 bit int. Move Linux sigset manipulation routines to the MI path.
2. Move Linux signal number definitions to the MI path. In general, they are the same on all platforms except for a few signals.
3. Map Linux RT signals to the FreeBSD RT signals and hide signal conversion tables to avoid conversion errors.
4. Emulate Linux SIGPWR signal via FreeBSD SIGRTMIN signal which is outside of allowed on Linux signal numbers.
PR: 197216
|
#
293546 |
|
09-Jan-2016 |
dchagin |
MFC r283441:
Implement epoll family system calls. This is a tiny wrapper around kqueue() to implement epoll subset of functionality. The kqueue user data are 32bit on i386 which is not enough for epoll user data, so we keep user data in the proc emuldata.
Initial patch developed by rdivacky@ in 2007, then extended by Yuri Victorovich @ r255672 and finished by me in collaboration with mjg@ and jillies@.
|
#
293528 |
|
09-Jan-2016 |
dchagin |
MFC r283422:
Refund the proc emuldata struct for future use. For now move flags from thread emuldata to proc emuldata as it was originally intended.
As we can have both 64 & 32 bit Linuxulator running any eventhandler can be called twice for us. To prevent this move eventhandlers code from linux_emul.c to the linux_common.ko module.
|
#
293527 |
|
09-Jan-2016 |
dchagin |
MFC r283421:
Introduce a new module linux_common.ko which is intended for the following primary purposes:
1. Remove the dependency of linsysfs and linprocfs modules from linux.ko, which will be architecture specific on amd64.
2. Incorporate into linux_common.ko general code for platforms on which we'll support two Linuxulator modules (for both instruction set - 32 & 64 bit).
3. Move malloc(9) declaration to linux_common.ko, to enable getting memory usage statistics properly.
Currently linux_common.ko incorporates a code from linux_mib.c and linux_util.c and linprocfs, linsysfs and linux kernel modules depend on linux_common.ko.
Temporarily remove dtrace garbage from linux_mib.c and linux_util.c
|
#
293514 |
|
09-Jan-2016 |
dchagin |
MFC r283407:
Implement vdso - virtual dynamic shared object. Through vdso Linux exposes functions from kernel with proper DWARF CFI information so that it becomes easier to unwind through them. Using vdso is a mandatory for a thread cancelation && cleanup on a modern glibc.
|
#
276429 |
|
30-Dec-2014 |
neel |
MFC r273683 Move the ACPI PM timer emulation into vmm.ko.
MFC r273706 Change the type of the first argument to the I/O emulation handlers to 'struct vm *'.
MFC r273710 Add a comment explaining the intent behind the I/O reservation [0x72-0x77].
MFC r273744 Add foo_genassym.c files to DPSRCS so dependencies for them are generated. This ensures these objects are rebuilt to generate an updated header of assembly constants if needed.
MFC r274045 If the start bit, PxCMD.ST, is cleared and nothing is in-flight then PxCI, PxSACT, PxCMD.CCS and PxCMD.CR should be 0.
MFC r274076 Improve the ability to cancel an in-flight request by using an interrupt, via SIGCONT, to force the read or write system call to return prematurely.
MFC r274330 To allow a request to be submitted from within the callback routine of a completing one increase the total by 1 but don't advertise it.
MFC r274931 Change the lower bound for guest vmspace allocation to 0 instead of using the VM_MIN_ADDRESS constant.
MFC r275817 For level triggered interrupts clear the PIC IRR bit when the interrupt pin is deasserted.
MFC r275850 Fix 8259 IRQ priority resolver.
MFC r275952 Various 8259 device model improvements.
MFC r275965 Emulate writes to the IA32_MISC_ENABLE MSR.
|
#
272020 |
|
23-Sep-2014 |
bz |
MFC r271743:
Implement most of timer_{create,settime,gettime,getoverrun,delete} for amd64/linux32. Fix the entirely bogus (untested) version from r161310 for i386/linux using the same shared code in compat/linux.
It is unclear to me if we could support more clock mappings but the current set allows me to successfully run commercial 32bit linux software under linuxolator on amd64.
Reviewed by: jhb Differential Revision: D784 Sponsored by: DARPA, AFRL Approved by: re (gjb)
|
#
276429 |
|
30-Dec-2014 |
neel |
MFC r273683 Move the ACPI PM timer emulation into vmm.ko.
MFC r273706 Change the type of the first argument to the I/O emulation handlers to 'struct vm *'.
MFC r273710 Add a comment explaining the intent behind the I/O reservation [0x72-0x77].
MFC r273744 Add foo_genassym.c files to DPSRCS so dependencies for them are generated. This ensures these objects are rebuilt to generate an updated header of assembly constants if needed.
MFC r274045 If the start bit, PxCMD.ST, is cleared and nothing is in-flight then PxCI, PxSACT, PxCMD.CCS and PxCMD.CR should be 0.
MFC r274076 Improve the ability to cancel an in-flight request by using an interrupt, via SIGCONT, to force the read or write system call to return prematurely.
MFC r274330 To allow a request to be submitted from within the callback routine of a completing one increase the total by 1 but don't advertise it.
MFC r274931 Change the lower bound for guest vmspace allocation to 0 instead of using the VM_MIN_ADDRESS constant.
MFC r275817 For level triggered interrupts clear the PIC IRR bit when the interrupt pin is deasserted.
MFC r275850 Fix 8259 IRQ priority resolver.
MFC r275952 Various 8259 device model improvements.
MFC r275965 Emulate writes to the IA32_MISC_ENABLE MSR.
|
#
272020 |
|
23-Sep-2014 |
bz |
MFC r271743:
Implement most of timer_{create,settime,gettime,getoverrun,delete} for amd64/linux32. Fix the entirely bogus (untested) version from r161310 for i386/linux using the same shared code in compat/linux.
It is unclear to me if we could support more clock mappings but the current set allows me to successfully run commercial 32bit linux software under linuxolator on amd64.
Reviewed by: jhb Differential Revision: D784 Sponsored by: DARPA, AFRL Approved by: re (gjb)
|