hw_x86_64: Add 64-bit user code and data segments to GDT

The new entries specify a 64-bit code segment with DPL 3 at index 3 and a
64-bit data segment with DPL 3 at index 4.

These segments are needed for transitioning to user mode.
This commit is contained in:
Adrian-Ken Rueegsegger 2015-02-17 11:14:29 +01:00 committed by Christian Helmuth
parent 51d515c77f
commit 03929b3cc9
1 changed files with 8 additions and 0 deletions

View File

@ -161,6 +161,14 @@
.long 0
/* GDTE_LONG | GDTE_PRESENT | GDTE_TYPE_DATA_A | GDTE_TYPE_DATA_W | GDTE_NON_SYSTEM */
.long 0x209300
/* 64-bit user code segment descriptor */
.long 0
/* GDTE_LONG | GDTE_PRESENT | GDTE_CODE | GDTE_NON_SYSTEM */
.long 0x20f800
/* 64-bit user data segment descriptor */
.long 0
/* GDTE_LONG | GDTE_PRESENT | GDTE_TYPE_DATA_A | GDTE_TYPE_DATA_W | GDTE_NON_SYSTEM */
.long 0x20f300
/* Task segment descriptor */
.long 0
/* GDTE_PRESENT | GDTE_SYS_TSS */