kernel: change apic and acpi external functions to have arch_ before

This commit is contained in:
Matheus
2023-04-21 14:45:56 -03:00
parent 71d61e09aa
commit 7c59933426
5 changed files with 37 additions and 15 deletions
+7 -7
View File
@@ -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;
}
}