some cleanup
This commit is contained in:
parent
97f1c5f25d
commit
4ee95db32e
|
@ -28,9 +28,6 @@
|
|||
#include <mm/paging.h>
|
||||
#include <mm/map.h>
|
||||
|
||||
SDTHeader *AcpiSDT = NULL;
|
||||
SDTHeader *AcpiFADT = NULL;
|
||||
|
||||
char IoACPIVersion = 1;
|
||||
int tableCount = 1;
|
||||
|
||||
|
@ -94,15 +91,7 @@ static inline RSDPDescriptor *IoFindRSDP()
|
|||
(ulong)rsdp < (ulong)0x0009FFFF; // EBDA end
|
||||
rsdp++) {
|
||||
|
||||
if (rsdp[0] == 'R' &&
|
||||
rsdp[1] == 'S' &&
|
||||
rsdp[2] == 'D' &&
|
||||
rsdp[3] == ' ' &&
|
||||
rsdp[4] == 'P' &&
|
||||
rsdp[5] == 'T' &&
|
||||
rsdp[6] == 'R' &&
|
||||
rsdp[7] == ' '
|
||||
) {
|
||||
if (!strncmp(rsdp, "RSD PTR", 6)) {
|
||||
return (RSDPDescriptor *)rsdp;
|
||||
}
|
||||
}
|
||||
|
@ -112,15 +101,7 @@ static inline RSDPDescriptor *IoFindRSDP()
|
|||
(ulong)rsdp < (ulong)0x000FFFFF; // BDA end
|
||||
rsdp++) {
|
||||
|
||||
if (rsdp[0] == 'R' &&
|
||||
rsdp[1] == 'S' &&
|
||||
rsdp[2] == 'D' &&
|
||||
rsdp[3] == ' ' &&
|
||||
rsdp[4] == 'P' &&
|
||||
rsdp[5] == 'T' &&
|
||||
rsdp[6] == 'R' &&
|
||||
rsdp[7] == ' '
|
||||
) {
|
||||
if (!strncmp(rsdp, "RSD PTR", 6)) {
|
||||
return (RSDPDescriptor *)rsdp;
|
||||
}
|
||||
}
|
||||
|
@ -156,10 +137,10 @@ static inline void IoInitRSDP(void)
|
|||
rsdp->legacy.OEMID
|
||||
);
|
||||
|
||||
AcpiSDT = (void *)(ulong)rsdp->legacy.rsdtAddress;
|
||||
SDTDirectory[SDT_RSDT] = (void *)(ulong)rsdp->legacy.rsdtAddress;
|
||||
|
||||
if (rsdp->legacy.revision) {
|
||||
AcpiSDT = (void *)rsdp->xsdtAddress;
|
||||
SDTDirectory[SDT_XSDT] = (void *)rsdp->xsdtAddress;
|
||||
IoACPIVersion = 2;
|
||||
}
|
||||
}
|
||||
|
@ -171,7 +152,11 @@ static inline void IoInitRXSDT(void)
|
|||
{
|
||||
char checksum = 1;
|
||||
|
||||
SDTHeader *rxsdt = AcpiSDT;
|
||||
SDTHeader *rxsdt = SDTDirectory[SDT_RSDT];
|
||||
|
||||
if (IoACPIVersion == 2) {
|
||||
rxsdt = SDTDirectory[SDT_XSDT];
|
||||
}
|
||||
|
||||
/* // Checksum calculation */
|
||||
checksum = DoChecksum(rxsdt, (size_t)rxsdt->length,
|
||||
|
@ -204,7 +189,7 @@ static inline void IoInitRXSDT(void)
|
|||
//
|
||||
static inline void IoSearchAcpiTables(void)
|
||||
{
|
||||
SDTHeader *xrsdt = AcpiSDT;
|
||||
SDTHeader *xrsdt = SDTDirectory[SDT_RSDT];
|
||||
SDTHeader *table = NULL;
|
||||
uint *curInt = NULL;
|
||||
ulong *curLong = NULL;
|
||||
|
@ -214,6 +199,7 @@ static inline void IoSearchAcpiTables(void)
|
|||
if (IoACPIVersion == 1) {
|
||||
entries = (xrsdt->length - sizeof(xrsdt)) / 4;
|
||||
} else {
|
||||
xrsdt = SDTDirectory[SDT_XSDT];
|
||||
entries = (xrsdt->length - sizeof(xrsdt)) / 8;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue