X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/0e1309c02f0703c050df09b71346dab60fc6df87..28c176b668c841a3b7fb093faccf0efa39257603:/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 49d04a7..cbd139e 100644 --- a/lunaix-os/hal/acpi/parser/mcfg_parser.c +++ b/lunaix-os/hal/acpi/parser/mcfg_parser.c @@ -7,10 +7,11 @@ 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 = valloc(sizeof(struct mcfg_alloc_info) * alloc_num);