Add GDT and Segments related definitions for i686
All checks were successful
ci/woodpecker/push/build Pipeline was successful
All checks were successful
ci/woodpecker/push/build Pipeline was successful
This commit is contained in:
parent
a366de618f
commit
7bd67d6210
@ -13,6 +13,48 @@
|
||||
#include <xttypes.h>
|
||||
|
||||
|
||||
/* Selector masks */
|
||||
#define MODE_MASK 0x0001
|
||||
#define RPL_MASK 0x0003
|
||||
|
||||
/* GDT selector names */
|
||||
#define KGDT_NULL 0x0000
|
||||
#define KGDT_R0_CODE 0x0008
|
||||
#define KGDT_R0_DATA 0x0010
|
||||
#define KGDT_R3_CODE 0x0018
|
||||
#define KGDT_R3_DATA 0x0020
|
||||
#define KGDT_SYS_TSS 0x0028
|
||||
#define KGDT_R0_PCR 0x0030
|
||||
#define KGDT_R3_TEB 0x0038
|
||||
#define KGDT_VDM_TILE 0x0040
|
||||
#define KGDT_R0_LDT 0x0048
|
||||
#define KGDT_DF_TSS 0x0050
|
||||
#define KGDT_NMI_TSS 0x0058
|
||||
|
||||
/* GDT descriptor privilege levels */
|
||||
#define KGDT_DPL_SYSTEM 0
|
||||
#define KGDT_DPL_USER 3
|
||||
|
||||
/* GDT descriptor properties */
|
||||
#define KGDT_DESCRIPTOR_ACCESSED 0x01
|
||||
#define KGDT_DESCRIPTOR_READ_WRITE 0x02
|
||||
#define KGDT_DESCRIPTOR_EXECUTE_READ 0x02
|
||||
#define KGDT_DESCRIPTOR_EXPAND_DOWN 0x04
|
||||
#define KGDT_DESCRIPTOR_CONFORMING 0x04
|
||||
#define KGDT_DESCRIPTOR_CODE 0x08
|
||||
|
||||
/* GDT descriptor type codes */
|
||||
#define KGDT_TYPE_CODE (0x10 | KGDT_DESCRIPTOR_CODE | KGDT_DESCRIPTOR_EXECUTE_READ)
|
||||
#define KGDT_TYPE_DATA (0x10 | KGDT_DESCRIPTOR_READ_WRITE)
|
||||
|
||||
/* I686 Segment Types */
|
||||
#define I686_TASK_GATE 0x5
|
||||
#define I686_TSS 0x9
|
||||
#define I686_ACTIVE_TSS 0xB
|
||||
#define I686_CALL_GATE 0xC
|
||||
#define I686_INTERRUPT_GATE 0xE
|
||||
#define I686_TRAP_GATE 0xF
|
||||
|
||||
/* IOPM Definitions */
|
||||
#define IOPM_COUNT 1
|
||||
#define IOPM_SIZE 8192
|
||||
|
Loading…
Reference in New Issue
Block a user