Searched hist:276322 (Results 1 - 2 of 2) sorted by relevance

/freebsd-11-stable/sys/amd64/ia32/
H A Dia32_sigtramp.Sdiff 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 Dia32_syscall.cdiff 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