mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-11-02 07:28:21 +00:00
kernel: change apic and acpi external functions to have arch_ before
This commit is contained in:
@@ -13,7 +13,7 @@ static volatile struct limine_rsdp_request rsdpreq = {
|
||||
.revision = 0
|
||||
};
|
||||
|
||||
bool acpi_checksumok(void *table) {
|
||||
bool arch_acpi_checksumok(void *table) {
|
||||
sdtheader_t *header = table;
|
||||
uint8_t *ptr = table;
|
||||
uint8_t sum = 0;
|
||||
@@ -23,7 +23,7 @@ bool acpi_checksumok(void *table) {
|
||||
return sum == 0;
|
||||
}
|
||||
|
||||
void *acpi_findtable(char *sig, int n) {
|
||||
void *arch_acpi_findtable(char *sig, int n) {
|
||||
for (size_t i = 0; i < headercount; ++i) {
|
||||
if (headers[i] == NULL)
|
||||
continue;
|
||||
@@ -36,7 +36,7 @@ void *acpi_findtable(char *sig, int n) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void acpi_init() {
|
||||
void arch_acpi_init() {
|
||||
// FIXME search if no response
|
||||
__assert(rsdpreq.response);
|
||||
rsdp_t *rsdp = rsdpreq.response->address;
|
||||
@@ -44,26 +44,26 @@ void acpi_init() {
|
||||
if (rsdp->revision == 0) {
|
||||
printf("\e[93mACPI version 1.0 -- Using RSDT instead of XSDT.\e[0m\n");
|
||||
rsdt_t *rsdt = MAKE_HHDM((rsdt_t *)(uint64_t)rsdp->rsdt);
|
||||
__assert(acpi_checksumok(rsdt));
|
||||
__assert(arch_acpi_checksumok(rsdt));
|
||||
headercount = (rsdt->header.length - sizeof(sdtheader_t)) / sizeof(uint32_t);
|
||||
headers = alloc(sizeof(sdtheader_t *) * headercount);
|
||||
__assert(headers);
|
||||
|
||||
for (size_t i = 0; i < headercount; ++i) {
|
||||
void *addr = MAKE_HHDM((void *)(uint64_t)rsdt->tables[i]);
|
||||
if (acpi_checksumok(addr))
|
||||
if (arch_acpi_checksumok(addr))
|
||||
headers[i] = addr;
|
||||
}
|
||||
} else {
|
||||
xsdt_t *xsdt = MAKE_HHDM((xsdt_t *)rsdp->xsdt);
|
||||
__assert(acpi_checksumok(xsdt));
|
||||
__assert(arch_acpi_checksumok(xsdt));
|
||||
headercount = (xsdt->header.length - sizeof(sdtheader_t)) / sizeof(uint64_t);
|
||||
headers = alloc(sizeof(sdtheader_t *) * headercount);
|
||||
__assert(headers);
|
||||
|
||||
for (size_t i = 0; i < headercount; ++i) {
|
||||
void *addr = MAKE_HHDM((void *)xsdt->tables[i]);
|
||||
if (acpi_checksumok(addr))
|
||||
if (arch_acpi_checksumok(addr))
|
||||
headers[i] = addr;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user