mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-31 08:25:38 +00:00
Add check for ACPI version during parsing tables, fix #1883
This commit is contained in:
parent
ed54bb2724
commit
74dd356dcd
@ -1223,10 +1223,11 @@ class Acpi_table
|
|||||||
|
|
||||||
addr_t const rsdt = rsdp->rsdt;
|
addr_t const rsdt = rsdp->rsdt;
|
||||||
addr_t const xsdt = rsdp->xsdt;
|
addr_t const xsdt = rsdp->xsdt;
|
||||||
|
uint8_t const acpi_revision = rsdp->revision;
|
||||||
/* drop rsdp io_mem mapping since rsdt/xsdt may overlap */
|
/* drop rsdp io_mem mapping since rsdt/xsdt may overlap */
|
||||||
env()->parent()->close(io_mem);
|
env()->parent()->close(io_mem);
|
||||||
|
|
||||||
if (xsdt && sizeof(addr_t) != sizeof(uint32_t)) {
|
if (acpi_revision != 0 && xsdt && sizeof(addr_t) != sizeof(uint32_t)) {
|
||||||
/* running 64bit and xsdt is valid */
|
/* running 64bit and xsdt is valid */
|
||||||
Table_wrapper table(xsdt);
|
Table_wrapper table(xsdt);
|
||||||
uint64_t * entries = reinterpret_cast<uint64_t *>(table.table() + 1);
|
uint64_t * entries = reinterpret_cast<uint64_t *>(table.table() + 1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user