On 1/15/19 4:40 PM, Igor Mammedov wrote: > In case of UEFI RSDP doesn't have to be located in lowmem, > it could be placed at any address. Make sure that test won't > break if it is placed above the first 4Gb of address space. > > PS: > While at it cleanup some local variables as we don't really > need them.
Splitting as obvious patches make review quicker, but it's a matter of taste. > > Signed-off-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> > --- > tests/bios-tables-test.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c > index 99d7bf8..c28c5c7 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)); >