summaryrefslogtreecommitdiff
path: root/kernel/include/rsdp.h
blob: c931ee0455cb385d68c064063eaa5d2e5659d299 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef RSDP_H
#define RSDP_H

#include <types.h>

struct RSDP_descriptor {
	char Signature[8];
	uint8_t Checksum;
	char OEMID[6];
	uint8_t Revision;
	uint32_t RsdtAddress;
} __attribute__((packed));

struct ACPI_header {
	char Signature[4];
	uint32_t Length;
	uint8_t Revision;
	uint8_t Checksum;
	char OEMID[6];
	char OEMTableID[8];
	uint32_t OEMRevision;
	uint32_t CreatorID;
	uint32_t CreatorRevision;
} __attribute__((packed));


uint64_t* find_rsdp(void);
uint64_t* find_sys_table_addr(const char* signature);

#endif