module metal.acpi

Code Map

module metal.acpi;


struct RSDPDescriptor
{
public:
	signature: char[8];
	checksum: u8;
	OEMID: char[6];
	revision: u8;
	rsdtAddress: u32;
}

struct RSDPDescriptor20
{
public:
	v1: RSDPDescriptor;
	length: u32;
	xsdtAddress: u64;
	extendedChecksum: u8;
	reserved: u8[3];
}

struct Header
{
public:
	signature: char[4];
	length: u32;
	revision: u8;
	checksum: u8;
	OEMID: char[6];
	OEMTableID: char[6];
	OEMRevision: u32;
	creatorID: u32;
	creatorRevision: u32;
}

struct RSDT
{
public:
	h: Header;


public:
	fn length() size_t { }
	fn ptr() u32* { }
	fn array() u32[] { }
}

struct XSDT
{
public:
	h: Header;


public:
	fn length() size_t { }
	fn ptr() u64* { }
	fn array() u64[] { }
}

fn findX86(rsdt: RSDT*, xsdt: XSDT*) { }
fn dump(h: Header*) { }