diff --git a/sdk/xtdk/hltypes.h b/sdk/xtdk/hltypes.h index 1ed3262..25cc2b4 100644 --- a/sdk/xtdk/hltypes.h +++ b/sdk/xtdk/hltypes.h @@ -318,9 +318,9 @@ typedef struct _ACPI_MADT typedef struct _ACPI_MADT_LOCAL_APIC { ACPI_SUBTABLE_HEADER Header; - UCHAR ProcessorId; - UCHAR Id; - ULONG LapicFlags; + UCHAR AcpiId; + UCHAR ApicId; + ULONG Flags; } PACKED ACPI_MADT_LOCAL_APIC, *PACPI_MADT_LOCAL_APIC; /* ACPI Local X2APIC MADT subtable structure */ @@ -328,9 +328,9 @@ typedef struct _ACPI_MADT_LOCAL_X2APIC { ACPI_SUBTABLE_HEADER Header; USHORT Reserved; - ULONG Id; - ULONG LapicFlags; - ULONG ProcessorId; + ULONG ApicId; + ULONG Flags; + ULONG AcpiId; } PACKED ACPI_MADT_LOCAL_X2APIC, *PACPI_MADT_LOCAL_X2APIC; /* ACPI System Information structure */ @@ -342,12 +342,12 @@ typedef struct _ACPI_SYSTEM_INFO ULONG IoApicCount; ULONG IntiCount; ULONG LintiCount; - ULONG ImcrPresent; + BOOLEAN ImcrPresent; ULONG ApicBase; PPROCESSOR_IDENTITY CpuInfo; ULONG IoApicPhysicalBase[APIC_MAX_IOAPICS]; - PULONG IoApicVirtualBase[APIC_MAX_IOAPICS]; - ULONG IoApicIntiBase[APIC_MAX_IOAPICS]; + ULONG IoApicVirtualBase[APIC_MAX_IOAPICS]; + ULONG IoApicVectorBase[APIC_MAX_IOAPICS]; } ACPI_SYSTEM_INFO, *PACPI_SYSTEM_INFO; /* ACPI Timer information structure */ @@ -393,9 +393,9 @@ typedef struct _HAL_FRAMEBUFFER_DATA /* Processor identity structure */ typedef struct _PROCESSOR_IDENTITY { - UCHAR Id; - UCHAR CpuId; - UCHAR CpuNumber; + ULONG AcpiId; + ULONG ApicId; + USHORT CpuNumber; BOOLEAN Bsp; BOOLEAN Started; } PROCESSOR_IDENTITY, *PPROCESSOR_IDENTITY; diff --git a/xtoskrnl/hl/acpi.c b/xtoskrnl/hl/acpi.c index 029e160..28d9ef7 100644 --- a/xtoskrnl/hl/acpi.c +++ b/xtoskrnl/hl/acpi.c @@ -270,7 +270,7 @@ HlpInitializeAcpiSystemInformation(VOID) ULONG_PTR MadtTable; PACPI_MADT Madt; XTSTATUS Status; - ULONG CpuCount; + USHORT CpuCount; /* Allocate memory for ACPI system information structure */ Status = HlpInitializeAcpiSystemStructure(); @@ -303,12 +303,12 @@ HlpInitializeAcpiSystemInformation(VOID) LocalApic = (PACPI_MADT_LOCAL_APIC)MadtTable; /* Make sure, this CPU can be enabled */ - if(LocalApic->LapicFlags & ACPI_MADT_PLAOC_ENABLED) + if(LocalApic->Flags & ACPI_MADT_PLAOC_ENABLED) { /* Store CPU number, APIC ID and CPU ID */ + HlpSystemInfo.CpuInfo[CpuCount].AcpiId = LocalApic->AcpiId; + HlpSystemInfo.CpuInfo[CpuCount].ApicId = LocalApic->ApicId; HlpSystemInfo.CpuInfo[CpuCount].CpuNumber = CpuCount; - HlpSystemInfo.CpuInfo[CpuCount].CpuId = LocalApic->ProcessorId; - HlpSystemInfo.CpuInfo[CpuCount].Id = LocalApic->Id; /* Increment number of CPUs */ CpuCount++; @@ -324,12 +324,12 @@ HlpInitializeAcpiSystemInformation(VOID) LocalX2Apic = (PACPI_MADT_LOCAL_X2APIC)MadtTable; /* Make sure, this CPU can be enabled */ - if(LocalX2Apic->LapicFlags & ACPI_MADT_PLAOC_ENABLED) + if(LocalX2Apic->Flags & ACPI_MADT_PLAOC_ENABLED) { /* Store CPU number, APIC ID and CPU ID */ + HlpSystemInfo.CpuInfo[CpuCount].AcpiId = LocalX2Apic->AcpiId; + HlpSystemInfo.CpuInfo[CpuCount].ApicId = LocalX2Apic->ApicId; HlpSystemInfo.CpuInfo[CpuCount].CpuNumber = CpuCount; - HlpSystemInfo.CpuInfo[CpuCount].CpuId = LocalX2Apic->ProcessorId; - HlpSystemInfo.CpuInfo[CpuCount].Id = LocalX2Apic->Id; /* Increment number of CPUs */ CpuCount++; @@ -390,7 +390,7 @@ HlpInitializeAcpiSystemStructure(VOID) (((PACPI_SUBTABLE_HEADER)MadtTable)->Length == sizeof(ACPI_MADT_LOCAL_APIC))) { /* Make sure, this CPU can be enabled */ - if(((PACPI_MADT_LOCAL_APIC)MadtTable)->LapicFlags & ACPI_MADT_PLAOC_ENABLED) + if(((PACPI_MADT_LOCAL_APIC)MadtTable)->Flags & ACPI_MADT_PLAOC_ENABLED) { /* Increment number of CPUs */ CpuCount++; @@ -403,7 +403,7 @@ HlpInitializeAcpiSystemStructure(VOID) (((PACPI_SUBTABLE_HEADER)MadtTable)->Length == sizeof(ACPI_MADT_LOCAL_X2APIC))) { /* Make sure, this CPU can be enabled */ - if(((PACPI_MADT_LOCAL_X2APIC)MadtTable)->LapicFlags & ACPI_MADT_PLAOC_ENABLED) + if(((PACPI_MADT_LOCAL_X2APIC)MadtTable)->Flags & ACPI_MADT_PLAOC_ENABLED) { /* Increment number of CPUs */ CpuCount++;