X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/a89063b334fdc0b254f0791fca1812354049b86d..43487eff262637a59a4c2c0272d7c4a824af3944:/lunaix-os/hal/acpi/parser/mcfg_parser.c diff --git a/lunaix-os/hal/acpi/parser/mcfg_parser.c b/lunaix-os/hal/acpi/parser/mcfg_parser.c index 0efe0d5..cbd139e 100644 --- a/lunaix-os/hal/acpi/parser/mcfg_parser.c +++ b/lunaix-os/hal/acpi/parser/mcfg_parser.c @@ -1,20 +1,20 @@ #include "lunaix/syslog.h" #include "parser.h" -#include +#include LOG_MODULE("MCFG") void mcfg_parse(acpi_sdthdr_t* mcfg, acpi_context* toc) { - size_t alloc_num = (mcfg->length - sizeof(acpi_sdthdr_t) - 8) / - sizeof(struct acpi_mcfg_alloc); + size_t alloc_num = (mcfg->length - sizeof(acpi_sdthdr_t) - 8); + alloc_num = alloc_num / sizeof(struct acpi_mcfg_alloc); + struct acpi_mcfg_alloc* allocs = - (struct acpi_mcfg_alloc*)((uintptr_t)mcfg + (sizeof(acpi_sdthdr_t) + 8)); + (struct acpi_mcfg_alloc*)((ptr_t)mcfg + (sizeof(acpi_sdthdr_t) + 8)); toc->mcfg.alloc_num = alloc_num; - toc->mcfg.allocations = - lxmalloc(sizeof(struct mcfg_alloc_info) * alloc_num); + toc->mcfg.allocations = valloc(sizeof(struct mcfg_alloc_info) * alloc_num); for (size_t i = 0; i < alloc_num; i++) { toc->mcfg.allocations[i] = (struct mcfg_alloc_info){