diff --git a/sdk/xtdk/ketypes.h b/sdk/xtdk/ketypes.h index 7cb6ba4..4e966e5 100644 --- a/sdk/xtdk/ketypes.h +++ b/sdk/xtdk/ketypes.h @@ -187,6 +187,7 @@ typedef enum _MODE typedef enum _SYSTEM_RESOURCE_TYPE { SystemResourceInvalid, + SystemResourceAcpi, SystemResourceFrameBuffer } SYSTEM_RESOURCE_TYPE, *PSYSTEM_RESOURCE_TYPE; @@ -518,6 +519,13 @@ typedef struct _SYSTEM_RESOURCE_HEADER BOOLEAN Acquired; } SYSTEM_RESOURCE_HEADER, *PSYSTEM_RESOURCE_HEADER; +/* ACPI system resource structure definition */ +typedef struct _SYSTEM_RESOURCE_ACPI +{ + SYSTEM_RESOURCE_HEADER Header; + PVOID ApicBase; +} SYSTEM_RESOURCE_ACPI, *PSYSTEM_RESOURCE_ACPI; + /* FrameBuffer system resource structure definition */ typedef struct _SYSTEM_RESOURCE_FRAMEBUFFER { diff --git a/xtoskrnl/ke/sysres.c b/xtoskrnl/ke/sysres.c index 605a4d9..64bc820 100644 --- a/xtoskrnl/ke/sysres.c +++ b/xtoskrnl/ke/sysres.c @@ -118,6 +118,10 @@ KepInitializeSystemResources(VOID) /* Basic resource type validation */ switch(ResourceHeader->ResourceType) { + case SystemResourceAcpi: + /* ACPI system resource */ + ResourceSize = sizeof(SYSTEM_RESOURCE_ACPI); + break; case SystemResourceFrameBuffer: /* FrameBuffer system resource */ ResourceSize = sizeof(SYSTEM_RESOURCE_FRAMEBUFFER);