SYSENTER: Difference between revisions

13 bytes added ,  11 months ago
no edit summary
[unchecked revision][unchecked revision]
m (Explicitly note that SS is still loaded from STAR 63:48 + 8. Thanks AMD)
No edit summary
 
(One intermediate revision by one other user not shown)
Line 64:
====64 bit mode====
The operation in 64 bit mode is the same, except that RIP is loaded from LSTAR, or CSTAR of in IA32-e submode (A.K.A. compatibility mode). It also respectively saves and loads RFLAGS to and from R11.
 
As well, in'''In Long Mode, userland CS will be loaded from STAR 63:48 + 16 and userland SS from STAR 63:48 + 8 on SYSRET. Therefore, youYou mightmay need to setupmodify your GDT accordingly.'''
 
Moreover, SYSRET will return to compatibility mode if the operand size is set to 32 bits, which is, for instance, nasm's default. To explicitly request a return into long mode, set the operand size to 64 bits (e.g. "o64 sysret" with nasm).
Line 83 ⟶ 84:
 
*https://cdrdv2.intel.com/v1/dl/getContent/671200 Page 1882 for SYSRET
 
[[Category:System Calls]]
Anonymous user