SYSENTER

From OSDev.wiki
Revision as of 08:58, 4 February 2013 by osdev>Bellezzasolo (Created page about SYSCALL/SYSRET and SYSENTER/SYSEXIT)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
This page is a stub.
You can help the wiki by accurately adding more contents to it.

Introduction

The SYSENTER/SYSEXIT instructions (and equvialent SYSCALL/SYSRET on AMD) enable fast entry to the kernel, avoiding interrupt overhead. This is the method used by Windows NT (XP/Vista/7/8) for it's API. SYSCALL/SYSRET are covered here as well, but operate slightly differently.

INTEL: SYSENTER/SYSEXIT

Operation

AMD: SYSCALL/SYSRET

Operation

NOTE: these instructions assume a flat segmented memory model (paging allowed). They require that "the code-segment base, limit, and attributes (except for CPL) are consistent for all application and system processes." --AMD System programming Categroy:X86 CPU