X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/2236410f4582ab45ae8c384dd6eeeef5d10aab15..28c176b668c841a3b7fb093faccf0efa39257603:/lunaix-os/hal/acpi/acpi.c diff --git a/lunaix-os/hal/acpi/acpi.c b/lunaix-os/hal/acpi/acpi.c index 5732ec8..bc90ba1 100644 --- a/lunaix-os/hal/acpi/acpi.c +++ b/lunaix-os/hal/acpi/acpi.c @@ -85,15 +85,14 @@ acpi_init(struct device_def* devdef) size_t entry_n = (rsdt->header.length - sizeof(acpi_sdthdr_t)) >> 2; for (size_t i = 0; i < entry_n; i++) { - acpi_sdthdr_t* sdthdr = - (acpi_sdthdr_t*)((acpi_apic_t**)&(rsdt->entry))[i]; + acpi_sdthdr_t* sdthdr = __acpi_sdthdr(rsdt->entry[i]); switch (sdthdr->signature) { case ACPI_MADT_SIG: - madt_parse((acpi_madt_t*)sdthdr, ctx); + madt_parse(__acpi_madt(sdthdr), ctx); break; case ACPI_FADT_SIG: // FADT just a plain structure, no need to parse. - ctx->fadt = *(acpi_fadt_t*)sdthdr; + ctx->fadt = *__acpi_fadt(sdthdr); break; case ACPI_MCFG_SIG: mcfg_parse(sdthdr, ctx);