SYSENTER is a companion instruction to SYSEXIT.
Executes a fast call to a level 0 system procedure or routine. SYSENTER is a
companion instruction to SYSEXIT. The instruction is optimized to provide the
maximum performance for system calls from user code running at privilege level 3 to
operating system or executive procedures running at privilege level 0.
Prior to executing the SYSENTER instruction, software must specify the privilege
level 0 code segment and code entry point, and the privilege level 0 stack segment
and stack pointer by writing values to the following MSRs:
• IA32_SYSENTER_CS — Contains a 32-bit value, of which the lower 16 bits are
the segment selector for the privilege level 0 code segment. This value is also
used to compute the segment selector of the privilege level 0 stack segment.
• IA32_SYSENTER_EIP — Contains the 32-bit offset into the privilege level 0 code
segment to the first instruction of the selected operating procedure or routine.
• IA32_SYSENTER_ESP — Contains the 32-bit stack pointer for the privilege level
0 stack.