Store pertinent ACPI table pointers
This commit is contained in:
parent
3412d9ece9
commit
fa4de31aa4
@ -9,7 +9,7 @@ import hulk.memory;
|
|||||||
|
|
||||||
struct Acpi
|
struct Acpi
|
||||||
{
|
{
|
||||||
static uint signature(string s)
|
private static uint signature(string s)
|
||||||
{
|
{
|
||||||
return s[0] | (s[1] << 8) | (s[2] << 16) | (s[3] << 24);
|
return s[0] | (s[1] << 8) | (s[2] << 16) | (s[3] << 24);
|
||||||
}
|
}
|
||||||
@ -111,7 +111,11 @@ struct Acpi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static __gshared ulong apic_address;
|
public __gshared ulong apic_address;
|
||||||
|
|
||||||
|
public __gshared MADT * madt;
|
||||||
|
|
||||||
|
public __gshared MCFG * mcfg;
|
||||||
|
|
||||||
public static void initialize(ulong acpi_xsdt_phys)
|
public static void initialize(ulong acpi_xsdt_phys)
|
||||||
{
|
{
|
||||||
@ -148,11 +152,13 @@ struct Acpi
|
|||||||
(signature >> 24u) & 0xFFu);
|
(signature >> 24u) & 0xFFu);
|
||||||
if (signature == APIC_SIGNATURE)
|
if (signature == APIC_SIGNATURE)
|
||||||
{
|
{
|
||||||
(cast(MADT *)address).initialize();
|
madt = cast(MADT *)address;
|
||||||
|
madt.initialize();
|
||||||
}
|
}
|
||||||
else if (signature == MCFG_SIGNATURE)
|
else if (signature == MCFG_SIGNATURE)
|
||||||
{
|
{
|
||||||
(cast(MCFG *)address).initialize();
|
mcfg = cast(MCFG *)address;
|
||||||
|
mcfg.initialize();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user