diff --git a/tests/acpi-utils.c b/tests/acpi-utils.c index a0d49c4371..c216b9e0e9 100644 --- a/tests/acpi-utils.c +++ b/tests/acpi-utils.c @@ -51,7 +51,7 @@ uint32_t acpi_find_rsdp_address(QTestState *qts) return off; } -void acpi_fetch_rsdp_table(QTestState *qts, uint32_t addr, uint8_t *rsdp_table) +void acpi_fetch_rsdp_table(QTestState *qts, uint64_t addr, uint8_t *rsdp_table) { uint8_t revision; diff --git a/tests/acpi-utils.h b/tests/acpi-utils.h index a4f43a18ae..0ceb499469 100644 --- a/tests/acpi-utils.h +++ b/tests/acpi-utils.h @@ -46,7 +46,7 @@ typedef struct { uint8_t acpi_calc_checksum(const uint8_t *data, int len); uint32_t acpi_find_rsdp_address(QTestState *qts); -void acpi_fetch_rsdp_table(QTestState *qts, uint32_t addr, uint8_t *rsdp_table); +void acpi_fetch_rsdp_table(QTestState *qts, uint64_t addr, uint8_t *rsdp_table); void acpi_fetch_table(QTestState *qts, uint8_t **aml, uint32_t *aml_len, const uint8_t *addr_ptr, int addr_size, const char *sig, bool verify_checksum); diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c index d6ab1218da..a164d274a2 100644 --- a/tests/bios-tables-test.c +++ b/tests/bios-tables-test.c @@ -26,7 +26,7 @@ typedef struct { const char *machine; const char *variant; - uint32_t rsdp_addr; + uint64_t rsdp_addr; uint8_t rsdp_table[36 /* ACPI 2.0+ RSDP size */]; GArray *tables; uint32_t smbios_ep_addr; @@ -86,13 +86,11 @@ static void test_acpi_rsdp_address(test_data *data) static void test_acpi_rsdp_table(test_data *data) { - uint8_t *rsdp_table = data->rsdp_table, revision; - uint32_t addr = data->rsdp_addr; + uint8_t *rsdp_table = data->rsdp_table; - acpi_fetch_rsdp_table(data->qts, addr, rsdp_table); - revision = rsdp_table[15 /* Revision offset */]; + acpi_fetch_rsdp_table(data->qts, data->rsdp_addr, rsdp_table); - switch (revision) { + switch (rsdp_table[15 /* Revision offset */]) { case 0: /* ACPI 1.0 RSDP */ /* With rev 1, checksum is only for the first 20 bytes */ g_assert(!acpi_calc_checksum(rsdp_table, 20));