Searched hist:276322 (Results 1 - 2 of 2) sorted by relevance
/freebsd-11-stable/sys/amd64/ia32/ | ||
H A D | ia32_sigtramp.S | diff 276322 Sat Dec 27 21:26:07 MST 2014 kib Change the way the lcall $7,$0 is reflected to usermode. Instead of setting call gate, which must be 64 bit, put a code segment descriptor into ldt slot 0. This way, syscall shim does not switch temporary to 64bit trampoline, and does not create a window where signal delivery interrupts 64 bit mode (signal handler cannot return). The cost is shim running with non-zero based segment in %cs, which requires vfork() handling make more assumptions. Sponsored by: The FreeBSD Foundation MFC after: 1 week |
H A D | ia32_syscall.c | diff 276322 Sat Dec 27 21:26:07 MST 2014 kib Change the way the lcall $7,$0 is reflected to usermode. Instead of setting call gate, which must be 64 bit, put a code segment descriptor into ldt slot 0. This way, syscall shim does not switch temporary to 64bit trampoline, and does not create a window where signal delivery interrupts 64 bit mode (signal handler cannot return). The cost is shim running with non-zero based segment in %cs, which requires vfork() handling make more assumptions. Sponsored by: The FreeBSD Foundation MFC after: 1 week |
Completed in 170 milliseconds