CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]        2023/07/09 21:32:10

Modified files:
        sys/arch/amd64/amd64: cpu.c locore.S machdep.c vmm_machdep.c 
        sys/arch/amd64/include: codepatch.h fpu.h specialreg.h 

Log message:
Enable Indirect Branch Tracking for amd64 userland, using XSAVES/XRSTORS
to save/restore the state and enabling it at exec-time (and for
signal handling) if the PS_NOBTCFI flag isn't set.

Note: this changes the format of the sc_fpstate data in the signal
context to possibly be in compressed format: starting now we just
guarantee that that state is in a format understood by the XRSTOR
instruction of the system that is being executed on.

At this time, passing sigreturn a corrupt sc_fpstate now results
in the process exiting with no attempt to fix it up or send a
T_PROTFLT trap.  That may change.

prodding by deraadt@
issues with my original signal handling design identified by kettenis@

lots of base and ports preparation for this by deraadt@ and the
libressl and ports teams

ok deraadt@ kettenis@

Reply via email to