diff --git a/sdk/xtdk/amd64/hltypes.h b/sdk/xtdk/amd64/hltypes.h index bf4dc4af..65c3bdbf 100644 --- a/sdk/xtdk/amd64/hltypes.h +++ b/sdk/xtdk/amd64/hltypes.h @@ -42,16 +42,6 @@ #define APIC_DF_FLAT 0xFFFFFFFF #define APIC_DF_CLUSTER 0x0FFFFFFF -/* APIC delivery modes */ -#define APIC_DM_FIXED 0x0 -#define APIC_DM_LOWPRIO 0x1 -#define APIC_DM_SMI 0x2 -#define APIC_DM_REMOTE 0x3 -#define APIC_DM_NMI 0x4 -#define APIC_DM_INIT 0x5 -#define APIC_DM_STARTUP 0x6 -#define APIC_DM_EXTINT 0x7 - /* APIC trigger modes */ #define APIC_TGM_EDGE 0 #define APIC_TGM_LEVEL 1 @@ -79,6 +69,35 @@ /* Initial stall factor */ #define INITIAL_STALL_FACTOR 100 +/* APIC delivery mode enumeration list */ +typedef enum _APIC_DM +{ + APIC_DM_FIXED, + APIC_DM_LOWPRIO, + APIC_DM_SMI, + APIC_DM_REMOTE, + APIC_DM_NMI, + APIC_DM_INIT, + APIC_DM_STARTUP, + APIC_DM_EXTINT, +} APIC_DM, *PAPIC_DM; + +/* APIC destination short-hand enumeration list */ +typedef enum _APIC_DSH +{ + APIC_DSH_Destination, + APIC_DSH_Self, + APIC_DSH_AllIncludingSelf, + APIC_DSH_AllExclusingSelf +} APIC_DSH, *PAPIC_DSH; + +/* APIC mode list */ +typedef enum _APIC_MODE +{ + APIC_MODE_COMPAT, + APIC_MODE_X2APIC +} APIC_MODE, *PAPIC_MODE; + /* APIC Register Address Map */ typedef enum _APIC_REGISTER { @@ -116,35 +135,6 @@ typedef enum _APIC_REGISTER APIC_EXT3LVTR = 0x53 /* Extended Interrupt 3 Local Vector Table */ } APIC_REGISTER, *PAPIC_REGISTER; -/* APIC mode list */ -typedef enum _APIC_MODE -{ - APIC_MODE_COMPAT, - APIC_MODE_X2APIC -} APIC_MODE, *PAPIC_MODE; - -/* APIC destination short-hand enumeration list */ -typedef enum _APIC_DSH -{ - APIC_DSH_Destination, - APIC_DSH_Self, - APIC_DSH_AllIncludingSelf, - APIC_DSH_AllExclusingSelf -} APIC_DSH, *PAPIC_DSH; - -/* APIC message type enumeration list */ -typedef enum _APIC_MT -{ - APIC_MT_Fixed, - APIC_MT_LowestPriority, - APIC_MT_SMI, - APIC_MT_RemoteRead, - APIC_MT_NMI, - APIC_MT_INIT, - APIC_MT_Startup, - APIC_MT_ExtInt, -} APIC_MT, *PAPIC_MT; - /* I8259 PIC interrupt mode enumeration list */ typedef enum _PIC_I8259_ICW1_INTERRUPT_MODE { @@ -217,7 +207,7 @@ typedef union _APIC_COMMAND_REGISTER struct { ULONGLONG Vector:8; - ULONGLONG MessageType:3; + ULONGLONG DeliveryMode:3; ULONGLONG DestinationMode:1; ULONGLONG DeliveryStatus:1; ULONGLONG ReservedMBZ:1; @@ -237,7 +227,7 @@ typedef union _APIC_LVT_REGISTER struct { ULONG Vector:8; - ULONG MessageType:3; + ULONG DeliveryMode:3; ULONG Reserved1:1; ULONG DeliveryStatus:1; ULONG Reserved2:1; diff --git a/sdk/xtdk/amd64/xtstruct.h b/sdk/xtdk/amd64/xtstruct.h index 14038090..82b950ea 100644 --- a/sdk/xtdk/amd64/xtstruct.h +++ b/sdk/xtdk/amd64/xtstruct.h @@ -13,9 +13,9 @@ /* Architecture-specific enumeration lists forward references */ +typedef enum _APIC_DM APIC_DM, *PAPIC_DM; typedef enum _APIC_DSH APIC_DSH, *PAPIC_DSH; typedef enum _APIC_MODE APIC_MODE, *PAPIC_MODE; -typedef enum _APIC_MT APIC_MT, *PAPIC_MT; typedef enum _APIC_REGISTER APIC_REGISTER, *PAPIC_REGISTER; typedef enum _CPU_VENDOR CPU_VENDOR, *PCPU_VENDOR; typedef enum _CPUID_FEATURES_EXTENDED CPUID_FEATURES_EXTENDED, *PCPUID_FEATURES_EXTENDED; diff --git a/sdk/xtdk/i686/hltypes.h b/sdk/xtdk/i686/hltypes.h index d0658618..bf51ec22 100644 --- a/sdk/xtdk/i686/hltypes.h +++ b/sdk/xtdk/i686/hltypes.h @@ -47,16 +47,6 @@ #define APIC_DF_FLAT 0xFFFFFFFF #define APIC_DF_CLUSTER 0x0FFFFFFF -/* APIC delivery modes */ -#define APIC_DM_FIXED 0x0 -#define APIC_DM_LOWPRIO 0x1 -#define APIC_DM_SMI 0x2 -#define APIC_DM_REMOTE 0x3 -#define APIC_DM_NMI 0x4 -#define APIC_DM_INIT 0x5 -#define APIC_DM_STARTUP 0x6 -#define APIC_DM_EXTINT 0x7 - /* APIC trigger modes */ #define APIC_TGM_EDGE 0 #define APIC_TGM_LEVEL 1 @@ -86,6 +76,35 @@ /* Initial stall factor */ #define INITIAL_STALL_FACTOR 100 +/* APIC delivery mode enumeration list */ +typedef enum _APIC_DM +{ + APIC_DM_FIXED, + APIC_DM_LOWPRIO, + APIC_DM_SMI, + APIC_DM_REMOTE, + APIC_DM_NMI, + APIC_DM_INIT, + APIC_DM_STARTUP, + APIC_DM_EXTINT, +} APIC_DM, *PAPIC_DM; + +/* APIC destination short-hand enumeration list */ +typedef enum _APIC_DSH +{ + APIC_DSH_Destination, + APIC_DSH_Self, + APIC_DSH_AllIncludingSelf, + APIC_DSH_AllExclusingSelf +} APIC_DSH, *PAPIC_DSH; + +/* APIC mode list */ +typedef enum _APIC_MODE +{ + APIC_MODE_COMPAT, + APIC_MODE_X2APIC +} APIC_MODE, *PAPIC_MODE; + /* APIC Register Address Map */ typedef enum _APIC_REGISTER { @@ -123,35 +142,6 @@ typedef enum _APIC_REGISTER APIC_EXT3LVTR = 0x53 /* Extended Interrupt 3 Local Vector Table */ } APIC_REGISTER, *PAPIC_REGISTER; -/* APIC mode list */ -typedef enum _APIC_MODE -{ - APIC_MODE_COMPAT, - APIC_MODE_X2APIC -} APIC_MODE, *PAPIC_MODE; - -/* APIC destination short-hand enumeration list */ -typedef enum _APIC_DSH -{ - APIC_DSH_Destination, - APIC_DSH_Self, - APIC_DSH_AllIncludingSelf, - APIC_DSH_AllExclusingSelf -} APIC_DSH, *PAPIC_DSH; - -/* APIC message type enumeration list */ -typedef enum _APIC_MT -{ - APIC_MT_Fixed, - APIC_MT_LowestPriority, - APIC_MT_SMI, - APIC_MT_RemoteRead, - APIC_MT_NMI, - APIC_MT_INIT, - APIC_MT_Startup, - APIC_MT_ExtInt, -} APIC_MT, *PAPIC_MT; - /* I8259 PIC interrupt mode enumeration list */ typedef enum _PIC_I8259_ICW1_INTERRUPT_MODE { @@ -224,7 +214,7 @@ typedef union _APIC_COMMAND_REGISTER struct { ULONGLONG Vector:8; - ULONGLONG MessageType:3; + ULONGLONG DeliveryMode:3; ULONGLONG DestinationMode:1; ULONGLONG DeliveryStatus:1; ULONGLONG ReservedMBZ:1; @@ -244,7 +234,7 @@ typedef union _APIC_LVT_REGISTER struct { ULONG Vector:8; - ULONG MessageType:3; + ULONG DeliveryMode:3; ULONG Reserved1:1; ULONG DeliveryStatus:1; ULONG Reserved2:1; diff --git a/sdk/xtdk/i686/xtstruct.h b/sdk/xtdk/i686/xtstruct.h index bd934260..a3162c8a 100644 --- a/sdk/xtdk/i686/xtstruct.h +++ b/sdk/xtdk/i686/xtstruct.h @@ -13,9 +13,9 @@ /* Architecture-specific enumeration lists forward references */ +typedef enum _APIC_DM APIC_DM, *PAPIC_DM; typedef enum _APIC_DSH APIC_DSH, *PAPIC_DSH; typedef enum _APIC_MODE APIC_MODE, *PAPIC_MODE; -typedef enum _APIC_MT APIC_MT, *PAPIC_MT; typedef enum _APIC_REGISTER APIC_REGISTER, *PAPIC_REGISTER; typedef enum _CPU_VENDOR CPU_VENDOR, *PCPU_VENDOR; typedef enum _CPUID_FEATURES_EXTENDED CPUID_FEATURES_EXTENDED, *PCPUID_FEATURES_EXTENDED; diff --git a/xtoskrnl/hl/x86/pic.c b/xtoskrnl/hl/x86/pic.c index be875ec0..513d7f56 100644 --- a/xtoskrnl/hl/x86/pic.c +++ b/xtoskrnl/hl/x86/pic.c @@ -243,7 +243,7 @@ HlpInitializeApic(VOID) /* Program the APIC timer for periodic mode */ LvtRegister.Long = 0; LvtRegister.Mask = 1; - LvtRegister.MessageType = APIC_DM_FIXED; + LvtRegister.DeliveryMode = APIC_DM_FIXED; LvtRegister.TimerMode = 1; LvtRegister.TriggerMode = APIC_TGM_EDGE; LvtRegister.Vector = APIC_VECTOR_PROFILE; @@ -252,7 +252,7 @@ HlpInitializeApic(VOID) /* Configure the performance counter overflow */ LvtRegister.Long = 0; LvtRegister.Mask = 0; - LvtRegister.MessageType = APIC_DM_FIXED; + LvtRegister.DeliveryMode = APIC_DM_FIXED; LvtRegister.TimerMode = 0; LvtRegister.TriggerMode = APIC_TGM_EDGE; LvtRegister.Vector = APIC_VECTOR_PERF; @@ -261,7 +261,7 @@ HlpInitializeApic(VOID) /* Configure the LINT0 pin */ LvtRegister.Long = 0; LvtRegister.Mask = 1; - LvtRegister.MessageType = APIC_DM_FIXED; + LvtRegister.DeliveryMode = APIC_DM_FIXED; LvtRegister.TimerMode = 0; LvtRegister.TriggerMode = APIC_TGM_EDGE; LvtRegister.Vector = APIC_VECTOR_SPURIOUS; @@ -270,7 +270,7 @@ HlpInitializeApic(VOID) /* Configure the LINT1 pin */ LvtRegister.Long = 0; LvtRegister.Mask = 0; - LvtRegister.MessageType = APIC_DM_NMI; + LvtRegister.DeliveryMode = APIC_DM_NMI; LvtRegister.TimerMode = 0; LvtRegister.TriggerMode = APIC_TGM_EDGE; LvtRegister.Vector = APIC_VECTOR_NMI;