[{"id":1763208,"web_url":"http://patchwork.ozlabs.org/comment/1763208/","msgid":"<e1f003db-0841-c2a1-c019-6b9d68114281@redhat.com>","list_archive_url":null,"date":"2017-09-05T10:57:46","subject":"Re: [Qemu-devel] [PATCH v6 23/29] tests/acpi-utils: Drop dependence\n\ton global_qtest","submitter":{"id":66152,"url":"http://patchwork.ozlabs.org/api/people/66152/","name":"Thomas Huth","email":"thuth@redhat.com"},"content":"On 01.09.2017 20:03, Eric Blake wrote:\n> As a general rule, we prefer avoiding implicit global state\n> because it makes code harder to safely copy and paste without\n> thinking about the global state.  Adjust the helper code to\n> use explicit state instead, and update all callers.\n> \n> Signed-off-by: Eric Blake <eblake@redhat.com>\n> ---\n>  tests/acpi-utils.h       |  65 +++++++++----------\n>  tests/acpi-utils.c       |  19 +++---\n>  tests/bios-tables-test.c | 161 ++++++++++++++++++++++++-----------------------\n>  tests/vmgenid-test.c     |  18 +++---\n>  4 files changed, 133 insertions(+), 130 deletions(-)\n[...]\n> @@ -87,7 +87,7 @@ static void test_acpi_rsdp_table(test_data *data)\n>      AcpiRsdpDescriptor *rsdp_table = &data->rsdp_table;\n>      uint32_t addr = data->rsdp_addr;\n> \n> -    acpi_parse_rsdp_table(addr, rsdp_table);\n> +    acpi_parse_rsdp_table(global_qtest, addr, rsdp_table);\n> \n>      /* rsdp checksum is not for the whole table, but for the first 20 bytes */\n>      g_assert(!acpi_calc_checksum((uint8_t *)rsdp_table, 20));\n> @@ -102,7 +102,7 @@ static void test_acpi_rsdt_table(test_data *data)\n>      uint8_t checksum;\n> \n>      /* read the header */\n> -    ACPI_READ_TABLE_HEADER(rsdt_table, addr);\n> +    ACPI_READ_TABLE_HEADER(global_qtest, rsdt_table, addr);\n>      ACPI_ASSERT_CMP(rsdt_table->signature, \"RSDT\");\n> \n>      /* compute the table entries in rsdt */\n> @@ -112,7 +112,7 @@ static void test_acpi_rsdt_table(test_data *data)\n> \n>      /* get the addresses of the tables pointed by rsdt */\n>      tables = g_new0(uint32_t, tables_nr);\n> -    ACPI_READ_ARRAY_PTR(tables, tables_nr, addr);\n> +    ACPI_READ_ARRAY_PTR(global_qtest, tables, tables_nr, addr);\n> \n>      checksum = acpi_calc_checksum((uint8_t *)rsdt_table, rsdt_table->length) +\n>                 acpi_calc_checksum((uint8_t *)tables,\n\nWouldn't it be better to use a \"QTestState *qts = global_qtest\" variable\nin this function, like you do it below in test_acpi_fadt_table()? Or\neven pass it via test_data already? Otherwise you've got to change all\nlines again when finally getting rid of global_qtest ...\n\n> @@ -128,63 +128,64 @@ static void test_acpi_fadt_table(test_data *data)\n>  {\n>      AcpiFadtDescriptorRev3 *fadt_table = &data->fadt_table;\n>      uint32_t addr;\n> +    QTestState *qts = global_qtest;\n> \n>      /* FADT table comes first */\n>      addr = data->rsdt_tables_addr[0];\n> -    ACPI_READ_TABLE_HEADER(fadt_table, addr);\n> +    ACPI_READ_TABLE_HEADER(qts, fadt_table, addr);\n> \n> -    ACPI_READ_FIELD(fadt_table->firmware_ctrl, addr);\n> -    ACPI_READ_FIELD(fadt_table->dsdt, addr);\n> -    ACPI_READ_FIELD(fadt_table->model, addr);\n> -    ACPI_READ_FIELD(fadt_table->reserved1, addr);\n> -    ACPI_READ_FIELD(fadt_table->sci_int, addr);\n> -    ACPI_READ_FIELD(fadt_table->smi_cmd, addr);\n> -    ACPI_READ_FIELD(fadt_table->acpi_enable, addr);\n> -    ACPI_READ_FIELD(fadt_table->acpi_disable, addr);\n> -    ACPI_READ_FIELD(fadt_table->S4bios_req, addr);\n> -    ACPI_READ_FIELD(fadt_table->reserved2, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm1a_evt_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm1b_evt_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm1a_cnt_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm1b_cnt_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm2_cnt_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm_tmr_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->gpe0_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->gpe1_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm1_evt_len, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm1_cnt_len, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm2_cnt_len, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm_tmr_len, addr);\n> -    ACPI_READ_FIELD(fadt_table->gpe0_blk_len, addr);\n> -    ACPI_READ_FIELD(fadt_table->gpe1_blk_len, addr);\n> -    ACPI_READ_FIELD(fadt_table->gpe1_base, addr);\n> -    ACPI_READ_FIELD(fadt_table->reserved3, addr);\n> -    ACPI_READ_FIELD(fadt_table->plvl2_lat, addr);\n> -    ACPI_READ_FIELD(fadt_table->plvl3_lat, addr);\n> -    ACPI_READ_FIELD(fadt_table->flush_size, addr);\n> -    ACPI_READ_FIELD(fadt_table->flush_stride, addr);\n> -    ACPI_READ_FIELD(fadt_table->duty_offset, addr);\n> -    ACPI_READ_FIELD(fadt_table->duty_width, addr);\n> -    ACPI_READ_FIELD(fadt_table->day_alrm, addr);\n> -    ACPI_READ_FIELD(fadt_table->mon_alrm, addr);\n> -    ACPI_READ_FIELD(fadt_table->century, addr);\n> -    ACPI_READ_FIELD(fadt_table->boot_flags, addr);\n> -    ACPI_READ_FIELD(fadt_table->reserved, addr);\n> -    ACPI_READ_FIELD(fadt_table->flags, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->reset_register, addr);\n> -    ACPI_READ_FIELD(fadt_table->reset_value, addr);\n> -    ACPI_READ_FIELD(fadt_table->arm_boot_flags, addr);\n> -    ACPI_READ_FIELD(fadt_table->minor_revision, addr);\n> -    ACPI_READ_FIELD(fadt_table->x_facs, addr);\n> -    ACPI_READ_FIELD(fadt_table->x_dsdt, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xpm1a_event_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xpm1b_event_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xpm1a_control_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xpm1b_control_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xpm2_control_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xpm_timer_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xgpe0_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xgpe1_block, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->firmware_ctrl, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->dsdt, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->model, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->reserved1, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->sci_int, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->smi_cmd, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->acpi_enable, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->acpi_disable, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->S4bios_req, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->reserved2, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm1a_evt_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm1b_evt_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm1a_cnt_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm1b_cnt_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm2_cnt_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm_tmr_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->gpe0_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->gpe1_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm1_evt_len, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm1_cnt_len, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm2_cnt_len, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm_tmr_len, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->gpe0_blk_len, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->gpe1_blk_len, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->gpe1_base, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->reserved3, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->plvl2_lat, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->plvl3_lat, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->flush_size, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->flush_stride, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->duty_offset, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->duty_width, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->day_alrm, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->mon_alrm, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->century, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->boot_flags, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->reserved, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->flags, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->reset_register, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->reset_value, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->arm_boot_flags, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->minor_revision, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->x_facs, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->x_dsdt, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xpm1a_event_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xpm1b_event_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xpm1a_control_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xpm1b_control_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xpm2_control_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xpm_timer_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xgpe0_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xgpe1_block, addr);\n> \n>      ACPI_ASSERT_CMP(fadt_table->signature, \"FACP\");\n>      g_assert(!acpi_calc_checksum((uint8_t *)fadt_table, fadt_table->length));\n> @@ -195,13 +196,13 @@ static void test_acpi_facs_table(test_data *data)\n>      AcpiFacsDescriptorRev1 *facs_table = &data->facs_table;\n>      uint32_t addr = data->fadt_table.firmware_ctrl;\n> \n> -    ACPI_READ_FIELD(facs_table->signature, addr);\n> -    ACPI_READ_FIELD(facs_table->length, addr);\n> -    ACPI_READ_FIELD(facs_table->hardware_signature, addr);\n> -    ACPI_READ_FIELD(facs_table->firmware_waking_vector, addr);\n> -    ACPI_READ_FIELD(facs_table->global_lock, addr);\n> -    ACPI_READ_FIELD(facs_table->flags, addr);\n> -    ACPI_READ_ARRAY(facs_table->resverved3, addr);\n> +    ACPI_READ_FIELD(global_qtest, facs_table->signature, addr);\n> +    ACPI_READ_FIELD(global_qtest, facs_table->length, addr);\n> +    ACPI_READ_FIELD(global_qtest, facs_table->hardware_signature, addr);\n> +    ACPI_READ_FIELD(global_qtest, facs_table->firmware_waking_vector, addr);\n> +    ACPI_READ_FIELD(global_qtest, facs_table->global_lock, addr);\n> +    ACPI_READ_FIELD(global_qtest, facs_table->flags, addr);\n> +    ACPI_READ_ARRAY(global_qtest, facs_table->resverved3, addr);\n\nDito, i.e. use a local \"QTestState *qts = global_qtest\" variable instead?\n\nSame comment applies to the other functions where you were using\nglobal_test like this.\n\n Thomas","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx02.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx02.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=thuth@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xmkGh4Czyz9sPk\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue,  5 Sep 2017 20:58:35 +1000 (AEST)","from localhost ([::1]:58078 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dpBYt-0006R3-Un\n\tfor incoming@patchwork.ozlabs.org; Tue, 05 Sep 2017 06:58:31 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:38635)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <thuth@redhat.com>) id 1dpBYM-0006Qo-De\n\tfor qemu-devel@nongnu.org; Tue, 05 Sep 2017 06:58:03 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <thuth@redhat.com>) id 1dpBYH-0003OA-5P\n\tfor qemu-devel@nongnu.org; Tue, 05 Sep 2017 06:57:58 -0400","from mx1.redhat.com ([209.132.183.28]:47524)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <thuth@redhat.com>) id 1dpBYG-0003Ll-TI\n\tfor qemu-devel@nongnu.org; Tue, 05 Sep 2017 06:57:53 -0400","from smtp.corp.redhat.com\n\t(int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 9B633806A1;\n\tTue,  5 Sep 2017 10:57:51 +0000 (UTC)","from [10.36.116.114] (ovpn-116-114.ams2.redhat.com [10.36.116.114])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id A2DC682417;\n\tTue,  5 Sep 2017 10:57:47 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 9B633806A1","To":"Eric Blake <eblake@redhat.com>, qemu-devel@nongnu.org","References":"<20170901180340.30009-1-eblake@redhat.com>\n\t<20170901180340.30009-24-eblake@redhat.com>","From":"Thomas Huth <thuth@redhat.com>","Message-ID":"<e1f003db-0841-c2a1-c019-6b9d68114281@redhat.com>","Date":"Tue, 5 Sep 2017 12:57:46 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170901180340.30009-24-eblake@redhat.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.16","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.26]);\n\tTue, 05 Sep 2017 10:57:51 +0000 (UTC)","Content-Transfer-Encoding":"quoted-printable","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"Re: [Qemu-devel] [PATCH v6 23/29] tests/acpi-utils: Drop dependence\n\ton global_qtest","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"pbonzini@redhat.com, \"Michael S. Tsirkin\" <mst@redhat.com>,\n\tarmbru@redhat.com, Ben Warren <ben@skyportsystems.com>,\n\tIgor Mammedov <imammedo@redhat.com>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1765306,"web_url":"http://patchwork.ozlabs.org/comment/1765306/","msgid":"<20170908154847-mutt-send-email-mst@kernel.org>","list_archive_url":null,"date":"2017-09-08T12:48:55","subject":"Re: [Qemu-devel] [PATCH v6 23/29] tests/acpi-utils: Drop dependence\n\ton global_qtest","submitter":{"id":2235,"url":"http://patchwork.ozlabs.org/api/people/2235/","name":"Michael S. Tsirkin","email":"mst@redhat.com"},"content":"On Fri, Sep 01, 2017 at 01:03:34PM -0500, Eric Blake wrote:\n> As a general rule, we prefer avoiding implicit global state\n> because it makes code harder to safely copy and paste without\n> thinking about the global state.  Adjust the helper code to\n> use explicit state instead, and update all callers.\n> \n> Signed-off-by: Eric Blake <eblake@redhat.com>\n\nAcked-by: Michael S. Tsirkin <mst@redhat.com>\n\n\n> ---\n>  tests/acpi-utils.h       |  65 +++++++++----------\n>  tests/acpi-utils.c       |  19 +++---\n>  tests/bios-tables-test.c | 161 ++++++++++++++++++++++++-----------------------\n>  tests/vmgenid-test.c     |  18 +++---\n>  4 files changed, 133 insertions(+), 130 deletions(-)\n> \n> diff --git a/tests/acpi-utils.h b/tests/acpi-utils.h\n> index f8d87236c6..8ec83f71b1 100644\n> --- a/tests/acpi-utils.h\n> +++ b/tests/acpi-utils.h\n> @@ -28,20 +28,20 @@ typedef struct {\n>      bool tmp_files_retain;   /* do not delete the temp asl/aml */\n>  } AcpiSdtTable;\n> \n> -#define ACPI_READ_FIELD(field, addr)           \\\n> +#define ACPI_READ_FIELD(qts, field, addr)      \\\n>      do {                                       \\\n>          switch (sizeof(field)) {               \\\n>          case 1:                                \\\n> -            field = readb(addr);               \\\n> +            field = qtest_readb(qts, addr);    \\\n>              break;                             \\\n>          case 2:                                \\\n> -            field = readw(addr);               \\\n> +            field = qtest_readw(qts, addr);    \\\n>              break;                             \\\n>          case 4:                                \\\n> -            field = readl(addr);               \\\n> +            field = qtest_readl(qts, addr);    \\\n>              break;                             \\\n>          case 8:                                \\\n> -            field = readq(addr);               \\\n> +            field = qtest_readq(qts, addr);    \\\n>              break;                             \\\n>          default:                               \\\n>              g_assert(false);                   \\\n> @@ -49,28 +49,28 @@ typedef struct {\n>          addr += sizeof(field);                  \\\n>      } while (0);\n> \n> -#define ACPI_READ_ARRAY_PTR(arr, length, addr)  \\\n> -    do {                                        \\\n> -        int idx;                                \\\n> -        for (idx = 0; idx < length; ++idx) {    \\\n> -            ACPI_READ_FIELD(arr[idx], addr);    \\\n> -        }                                       \\\n> +#define ACPI_READ_ARRAY_PTR(qts, arr, length, addr)      \\\n> +    do {                                                 \\\n> +        int idx;                                         \\\n> +        for (idx = 0; idx < length; ++idx) {             \\\n> +            ACPI_READ_FIELD(qts, arr[idx], addr);        \\\n> +        }                                                \\\n>      } while (0);\n> \n> -#define ACPI_READ_ARRAY(arr, addr)                               \\\n> -    ACPI_READ_ARRAY_PTR(arr, sizeof(arr) / sizeof(arr[0]), addr)\n> +#define ACPI_READ_ARRAY(qts, arr, addr)                                 \\\n> +    ACPI_READ_ARRAY_PTR(qts, arr, sizeof(arr) / sizeof(arr[0]), addr)\n> \n> -#define ACPI_READ_TABLE_HEADER(table, addr)                      \\\n> +#define ACPI_READ_TABLE_HEADER(qts, table, addr)                 \\\n>      do {                                                         \\\n> -        ACPI_READ_FIELD((table)->signature, addr);               \\\n> -        ACPI_READ_FIELD((table)->length, addr);                  \\\n> -        ACPI_READ_FIELD((table)->revision, addr);                \\\n> -        ACPI_READ_FIELD((table)->checksum, addr);                \\\n> -        ACPI_READ_ARRAY((table)->oem_id, addr);                  \\\n> -        ACPI_READ_ARRAY((table)->oem_table_id, addr);            \\\n> -        ACPI_READ_FIELD((table)->oem_revision, addr);            \\\n> -        ACPI_READ_ARRAY((table)->asl_compiler_id, addr);         \\\n> -        ACPI_READ_FIELD((table)->asl_compiler_revision, addr);   \\\n> +        ACPI_READ_FIELD(qts, (table)->signature, addr);          \\\n> +        ACPI_READ_FIELD(qts, (table)->length, addr);             \\\n> +        ACPI_READ_FIELD(qts, (table)->revision, addr);           \\\n> +        ACPI_READ_FIELD(qts, (table)->checksum, addr);           \\\n> +        ACPI_READ_ARRAY(qts, (table)->oem_id, addr);             \\\n> +        ACPI_READ_ARRAY(qts, (table)->oem_table_id, addr);       \\\n> +        ACPI_READ_FIELD(qts, (table)->oem_revision, addr);       \\\n> +        ACPI_READ_ARRAY(qts, (table)->asl_compiler_id, addr);    \\\n> +        ACPI_READ_FIELD(qts, (table)->asl_compiler_revision, addr);     \\\n>      } while (0);\n> \n>  #define ACPI_ASSERT_CMP(actual, expected) do { \\\n> @@ -87,18 +87,19 @@ typedef struct {\n>      g_assert_cmpstr(ACPI_ASSERT_CMP_str, ==, expected); \\\n>  } while (0)\n> \n> -#define ACPI_READ_GENERIC_ADDRESS(field, addr)       \\\n> -    do {                                             \\\n> -        ACPI_READ_FIELD((field).space_id, addr);     \\\n> -        ACPI_READ_FIELD((field).bit_width, addr);    \\\n> -        ACPI_READ_FIELD((field).bit_offset, addr);   \\\n> -        ACPI_READ_FIELD((field).access_width, addr); \\\n> -        ACPI_READ_FIELD((field).address, addr);      \\\n> +#define ACPI_READ_GENERIC_ADDRESS(qts, field, addr)       \\\n> +    do {                                                  \\\n> +        ACPI_READ_FIELD(qts, (field).space_id, addr);     \\\n> +        ACPI_READ_FIELD(qts, (field).bit_width, addr);    \\\n> +        ACPI_READ_FIELD(qts, (field).bit_offset, addr);   \\\n> +        ACPI_READ_FIELD(qts, (field).access_width, addr); \\\n> +        ACPI_READ_FIELD(qts, (field).address, addr);      \\\n>      } while (0);\n> \n> \n>  uint8_t acpi_calc_checksum(const uint8_t *data, int len);\n> -uint32_t acpi_find_rsdp_address(void);\n> -void acpi_parse_rsdp_table(uint32_t addr, AcpiRsdpDescriptor *rsdp_table);\n> +uint32_t acpi_find_rsdp_address(QTestState *qts);\n> +void acpi_parse_rsdp_table(QTestState *qts, uint32_t addr,\n> +                           AcpiRsdpDescriptor *rsdp_table);\n> \n>  #endif  /* TEST_ACPI_UTILS_H */\n> diff --git a/tests/acpi-utils.c b/tests/acpi-utils.c\n> index 41dc1ea9b4..6dc8ca1a8c 100644\n> --- a/tests/acpi-utils.c\n> +++ b/tests/acpi-utils.c\n> @@ -32,7 +32,7 @@ uint8_t acpi_calc_checksum(const uint8_t *data, int len)\n>      return sum;\n>  }\n> \n> -uint32_t acpi_find_rsdp_address(void)\n> +uint32_t acpi_find_rsdp_address(QTestState *qts)\n>  {\n>      uint32_t off;\n> \n> @@ -42,7 +42,7 @@ uint32_t acpi_find_rsdp_address(void)\n>          int i;\n> \n>          for (i = 0; i < sizeof sig - 1; ++i) {\n> -            sig[i] = readb(off + i);\n> +            sig[i] = qtest_readb(qts, off + i);\n>          }\n> \n>          if (!memcmp(sig, \"RSD PTR \", sizeof sig)) {\n> @@ -52,14 +52,15 @@ uint32_t acpi_find_rsdp_address(void)\n>      return off;\n>  }\n> \n> -void acpi_parse_rsdp_table(uint32_t addr, AcpiRsdpDescriptor *rsdp_table)\n> +void acpi_parse_rsdp_table(QTestState *qts, uint32_t addr,\n> +                           AcpiRsdpDescriptor *rsdp_table)\n>  {\n> -    ACPI_READ_FIELD(rsdp_table->signature, addr);\n> +    ACPI_READ_FIELD(qts, rsdp_table->signature, addr);\n>      ACPI_ASSERT_CMP64(rsdp_table->signature, \"RSD PTR \");\n> \n> -    ACPI_READ_FIELD(rsdp_table->checksum, addr);\n> -    ACPI_READ_ARRAY(rsdp_table->oem_id, addr);\n> -    ACPI_READ_FIELD(rsdp_table->revision, addr);\n> -    ACPI_READ_FIELD(rsdp_table->rsdt_physical_address, addr);\n> -    ACPI_READ_FIELD(rsdp_table->length, addr);\n> +    ACPI_READ_FIELD(qts, rsdp_table->checksum, addr);\n> +    ACPI_READ_ARRAY(qts, rsdp_table->oem_id, addr);\n> +    ACPI_READ_FIELD(qts, rsdp_table->revision, addr);\n> +    ACPI_READ_FIELD(qts, rsdp_table->rsdt_physical_address, addr);\n> +    ACPI_READ_FIELD(qts, rsdp_table->length, addr);\n>  }\n> diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c\n> index bde62bf1cf..75b29df493 100644\n> --- a/tests/bios-tables-test.c\n> +++ b/tests/bios-tables-test.c\n> @@ -77,7 +77,7 @@ static void free_test_data(test_data *data)\n> \n>  static void test_acpi_rsdp_address(test_data *data)\n>  {\n> -    uint32_t off = acpi_find_rsdp_address();\n> +    uint32_t off = acpi_find_rsdp_address(global_qtest);\n>      g_assert_cmphex(off, <, 0x100000);\n>      data->rsdp_addr = off;\n>  }\n> @@ -87,7 +87,7 @@ static void test_acpi_rsdp_table(test_data *data)\n>      AcpiRsdpDescriptor *rsdp_table = &data->rsdp_table;\n>      uint32_t addr = data->rsdp_addr;\n> \n> -    acpi_parse_rsdp_table(addr, rsdp_table);\n> +    acpi_parse_rsdp_table(global_qtest, addr, rsdp_table);\n> \n>      /* rsdp checksum is not for the whole table, but for the first 20 bytes */\n>      g_assert(!acpi_calc_checksum((uint8_t *)rsdp_table, 20));\n> @@ -102,7 +102,7 @@ static void test_acpi_rsdt_table(test_data *data)\n>      uint8_t checksum;\n> \n>      /* read the header */\n> -    ACPI_READ_TABLE_HEADER(rsdt_table, addr);\n> +    ACPI_READ_TABLE_HEADER(global_qtest, rsdt_table, addr);\n>      ACPI_ASSERT_CMP(rsdt_table->signature, \"RSDT\");\n> \n>      /* compute the table entries in rsdt */\n> @@ -112,7 +112,7 @@ static void test_acpi_rsdt_table(test_data *data)\n> \n>      /* get the addresses of the tables pointed by rsdt */\n>      tables = g_new0(uint32_t, tables_nr);\n> -    ACPI_READ_ARRAY_PTR(tables, tables_nr, addr);\n> +    ACPI_READ_ARRAY_PTR(global_qtest, tables, tables_nr, addr);\n> \n>      checksum = acpi_calc_checksum((uint8_t *)rsdt_table, rsdt_table->length) +\n>                 acpi_calc_checksum((uint8_t *)tables,\n> @@ -128,63 +128,64 @@ static void test_acpi_fadt_table(test_data *data)\n>  {\n>      AcpiFadtDescriptorRev3 *fadt_table = &data->fadt_table;\n>      uint32_t addr;\n> +    QTestState *qts = global_qtest;\n> \n>      /* FADT table comes first */\n>      addr = data->rsdt_tables_addr[0];\n> -    ACPI_READ_TABLE_HEADER(fadt_table, addr);\n> +    ACPI_READ_TABLE_HEADER(qts, fadt_table, addr);\n> \n> -    ACPI_READ_FIELD(fadt_table->firmware_ctrl, addr);\n> -    ACPI_READ_FIELD(fadt_table->dsdt, addr);\n> -    ACPI_READ_FIELD(fadt_table->model, addr);\n> -    ACPI_READ_FIELD(fadt_table->reserved1, addr);\n> -    ACPI_READ_FIELD(fadt_table->sci_int, addr);\n> -    ACPI_READ_FIELD(fadt_table->smi_cmd, addr);\n> -    ACPI_READ_FIELD(fadt_table->acpi_enable, addr);\n> -    ACPI_READ_FIELD(fadt_table->acpi_disable, addr);\n> -    ACPI_READ_FIELD(fadt_table->S4bios_req, addr);\n> -    ACPI_READ_FIELD(fadt_table->reserved2, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm1a_evt_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm1b_evt_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm1a_cnt_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm1b_cnt_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm2_cnt_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm_tmr_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->gpe0_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->gpe1_blk, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm1_evt_len, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm1_cnt_len, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm2_cnt_len, addr);\n> -    ACPI_READ_FIELD(fadt_table->pm_tmr_len, addr);\n> -    ACPI_READ_FIELD(fadt_table->gpe0_blk_len, addr);\n> -    ACPI_READ_FIELD(fadt_table->gpe1_blk_len, addr);\n> -    ACPI_READ_FIELD(fadt_table->gpe1_base, addr);\n> -    ACPI_READ_FIELD(fadt_table->reserved3, addr);\n> -    ACPI_READ_FIELD(fadt_table->plvl2_lat, addr);\n> -    ACPI_READ_FIELD(fadt_table->plvl3_lat, addr);\n> -    ACPI_READ_FIELD(fadt_table->flush_size, addr);\n> -    ACPI_READ_FIELD(fadt_table->flush_stride, addr);\n> -    ACPI_READ_FIELD(fadt_table->duty_offset, addr);\n> -    ACPI_READ_FIELD(fadt_table->duty_width, addr);\n> -    ACPI_READ_FIELD(fadt_table->day_alrm, addr);\n> -    ACPI_READ_FIELD(fadt_table->mon_alrm, addr);\n> -    ACPI_READ_FIELD(fadt_table->century, addr);\n> -    ACPI_READ_FIELD(fadt_table->boot_flags, addr);\n> -    ACPI_READ_FIELD(fadt_table->reserved, addr);\n> -    ACPI_READ_FIELD(fadt_table->flags, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->reset_register, addr);\n> -    ACPI_READ_FIELD(fadt_table->reset_value, addr);\n> -    ACPI_READ_FIELD(fadt_table->arm_boot_flags, addr);\n> -    ACPI_READ_FIELD(fadt_table->minor_revision, addr);\n> -    ACPI_READ_FIELD(fadt_table->x_facs, addr);\n> -    ACPI_READ_FIELD(fadt_table->x_dsdt, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xpm1a_event_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xpm1b_event_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xpm1a_control_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xpm1b_control_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xpm2_control_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xpm_timer_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xgpe0_block, addr);\n> -    ACPI_READ_GENERIC_ADDRESS(fadt_table->xgpe1_block, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->firmware_ctrl, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->dsdt, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->model, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->reserved1, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->sci_int, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->smi_cmd, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->acpi_enable, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->acpi_disable, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->S4bios_req, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->reserved2, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm1a_evt_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm1b_evt_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm1a_cnt_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm1b_cnt_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm2_cnt_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm_tmr_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->gpe0_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->gpe1_blk, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm1_evt_len, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm1_cnt_len, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm2_cnt_len, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->pm_tmr_len, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->gpe0_blk_len, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->gpe1_blk_len, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->gpe1_base, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->reserved3, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->plvl2_lat, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->plvl3_lat, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->flush_size, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->flush_stride, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->duty_offset, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->duty_width, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->day_alrm, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->mon_alrm, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->century, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->boot_flags, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->reserved, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->flags, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->reset_register, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->reset_value, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->arm_boot_flags, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->minor_revision, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->x_facs, addr);\n> +    ACPI_READ_FIELD(qts, fadt_table->x_dsdt, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xpm1a_event_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xpm1b_event_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xpm1a_control_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xpm1b_control_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xpm2_control_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xpm_timer_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xgpe0_block, addr);\n> +    ACPI_READ_GENERIC_ADDRESS(qts, fadt_table->xgpe1_block, addr);\n> \n>      ACPI_ASSERT_CMP(fadt_table->signature, \"FACP\");\n>      g_assert(!acpi_calc_checksum((uint8_t *)fadt_table, fadt_table->length));\n> @@ -195,13 +196,13 @@ static void test_acpi_facs_table(test_data *data)\n>      AcpiFacsDescriptorRev1 *facs_table = &data->facs_table;\n>      uint32_t addr = data->fadt_table.firmware_ctrl;\n> \n> -    ACPI_READ_FIELD(facs_table->signature, addr);\n> -    ACPI_READ_FIELD(facs_table->length, addr);\n> -    ACPI_READ_FIELD(facs_table->hardware_signature, addr);\n> -    ACPI_READ_FIELD(facs_table->firmware_waking_vector, addr);\n> -    ACPI_READ_FIELD(facs_table->global_lock, addr);\n> -    ACPI_READ_FIELD(facs_table->flags, addr);\n> -    ACPI_READ_ARRAY(facs_table->resverved3, addr);\n> +    ACPI_READ_FIELD(global_qtest, facs_table->signature, addr);\n> +    ACPI_READ_FIELD(global_qtest, facs_table->length, addr);\n> +    ACPI_READ_FIELD(global_qtest, facs_table->hardware_signature, addr);\n> +    ACPI_READ_FIELD(global_qtest, facs_table->firmware_waking_vector, addr);\n> +    ACPI_READ_FIELD(global_qtest, facs_table->global_lock, addr);\n> +    ACPI_READ_FIELD(global_qtest, facs_table->flags, addr);\n> +    ACPI_READ_ARRAY(global_qtest, facs_table->resverved3, addr);\n> \n>      ACPI_ASSERT_CMP(facs_table->signature, \"FACS\");\n>  }\n> @@ -210,11 +211,11 @@ static void test_dst_table(AcpiSdtTable *sdt_table, uint32_t addr)\n>  {\n>      uint8_t checksum;\n> \n> -    ACPI_READ_TABLE_HEADER(&sdt_table->header, addr);\n> +    ACPI_READ_TABLE_HEADER(global_qtest, &sdt_table->header, addr);\n> \n>      sdt_table->aml_len = sdt_table->header.length - sizeof(AcpiTableHeader);\n>      sdt_table->aml = g_malloc0(sdt_table->aml_len);\n> -    ACPI_READ_ARRAY_PTR(sdt_table->aml, sdt_table->aml_len, addr);\n> +    ACPI_READ_ARRAY_PTR(global_qtest, sdt_table->aml, sdt_table->aml_len, addr);\n> \n>      checksum = acpi_calc_checksum((uint8_t *)sdt_table,\n>                                    sizeof(AcpiTableHeader)) +\n> @@ -492,32 +493,32 @@ static bool smbios_ep_table_ok(test_data *data)\n>      struct smbios_21_entry_point *ep_table = &data->smbios_ep_table;\n>      uint32_t addr = data->smbios_ep_addr;\n> \n> -    ACPI_READ_ARRAY(ep_table->anchor_string, addr);\n> +    ACPI_READ_ARRAY(global_qtest, ep_table->anchor_string, addr);\n>      if (memcmp(ep_table->anchor_string, \"_SM_\", 4)) {\n>          return false;\n>      }\n> -    ACPI_READ_FIELD(ep_table->checksum, addr);\n> -    ACPI_READ_FIELD(ep_table->length, addr);\n> -    ACPI_READ_FIELD(ep_table->smbios_major_version, addr);\n> -    ACPI_READ_FIELD(ep_table->smbios_minor_version, addr);\n> -    ACPI_READ_FIELD(ep_table->max_structure_size, addr);\n> -    ACPI_READ_FIELD(ep_table->entry_point_revision, addr);\n> -    ACPI_READ_ARRAY(ep_table->formatted_area, addr);\n> -    ACPI_READ_ARRAY(ep_table->intermediate_anchor_string, addr);\n> +    ACPI_READ_FIELD(global_qtest, ep_table->checksum, addr);\n> +    ACPI_READ_FIELD(global_qtest, ep_table->length, addr);\n> +    ACPI_READ_FIELD(global_qtest, ep_table->smbios_major_version, addr);\n> +    ACPI_READ_FIELD(global_qtest, ep_table->smbios_minor_version, addr);\n> +    ACPI_READ_FIELD(global_qtest, ep_table->max_structure_size, addr);\n> +    ACPI_READ_FIELD(global_qtest, ep_table->entry_point_revision, addr);\n> +    ACPI_READ_ARRAY(global_qtest, ep_table->formatted_area, addr);\n> +    ACPI_READ_ARRAY(global_qtest, ep_table->intermediate_anchor_string, addr);\n>      if (memcmp(ep_table->intermediate_anchor_string, \"_DMI_\", 5)) {\n>          return false;\n>      }\n> -    ACPI_READ_FIELD(ep_table->intermediate_checksum, addr);\n> -    ACPI_READ_FIELD(ep_table->structure_table_length, addr);\n> +    ACPI_READ_FIELD(global_qtest, ep_table->intermediate_checksum, addr);\n> +    ACPI_READ_FIELD(global_qtest, ep_table->structure_table_length, addr);\n>      if (ep_table->structure_table_length == 0) {\n>          return false;\n>      }\n> -    ACPI_READ_FIELD(ep_table->structure_table_address, addr);\n> -    ACPI_READ_FIELD(ep_table->number_of_structures, addr);\n> +    ACPI_READ_FIELD(global_qtest, ep_table->structure_table_address, addr);\n> +    ACPI_READ_FIELD(global_qtest, ep_table->number_of_structures, addr);\n>      if (ep_table->number_of_structures == 0) {\n>          return false;\n>      }\n> -    ACPI_READ_FIELD(ep_table->smbios_bcd_revision, addr);\n> +    ACPI_READ_FIELD(global_qtest, ep_table->smbios_bcd_revision, addr);\n>      if (acpi_calc_checksum((uint8_t *)ep_table, sizeof *ep_table) ||\n>          acpi_calc_checksum((uint8_t *)ep_table + 0x10,\n>                             sizeof *ep_table - 0x10)) {\n> diff --git a/tests/vmgenid-test.c b/tests/vmgenid-test.c\n> index 4bdc8a15e7..73473162d0 100644\n> --- a/tests/vmgenid-test.c\n> +++ b/tests/vmgenid-test.c\n> @@ -50,15 +50,15 @@ static uint32_t acpi_find_vgia(void)\n>      boot_sector_test(global_qtest);\n> \n>      /* Tables should be initialized now. */\n> -    rsdp_offset = acpi_find_rsdp_address();\n> +    rsdp_offset = acpi_find_rsdp_address(global_qtest);\n> \n>      g_assert_cmphex(rsdp_offset, <, RSDP_ADDR_INVALID);\n> \n> -    acpi_parse_rsdp_table(rsdp_offset, &rsdp_table);\n> +    acpi_parse_rsdp_table(global_qtest, rsdp_offset, &rsdp_table);\n> \n>      rsdt = rsdp_table.rsdt_physical_address;\n>      /* read the header */\n> -    ACPI_READ_TABLE_HEADER(&rsdt_table, rsdt);\n> +    ACPI_READ_TABLE_HEADER(global_qtest, &rsdt_table, rsdt);\n>      ACPI_ASSERT_CMP(rsdt_table.signature, \"RSDT\");\n> \n>      /* compute the table entries in rsdt */\n> @@ -68,21 +68,21 @@ static uint32_t acpi_find_vgia(void)\n> \n>      /* get the addresses of the tables pointed by rsdt */\n>      tables = g_new0(uint32_t, tables_nr);\n> -    ACPI_READ_ARRAY_PTR(tables, tables_nr, rsdt);\n> +    ACPI_READ_ARRAY_PTR(global_qtest, tables, tables_nr, rsdt);\n> \n>      for (i = 0; i < tables_nr; i++) {\n> -        ACPI_READ_TABLE_HEADER(&ssdt_table, tables[i]);\n> +        ACPI_READ_TABLE_HEADER(global_qtest, &ssdt_table, tables[i]);\n>          if (!strncmp((char *)ssdt_table.oem_table_id, \"VMGENID\", 7)) {\n>              /* the first entry in the table should be VGIA\n>               * That's all we need\n>               */\n> -            ACPI_READ_FIELD(vgid_table.name_op, tables[i]);\n> +            ACPI_READ_FIELD(global_qtest, vgid_table.name_op, tables[i]);\n>              g_assert(vgid_table.name_op == 0x08);  /* name */\n> -            ACPI_READ_ARRAY(vgid_table.vgia, tables[i]);\n> +            ACPI_READ_ARRAY(global_qtest, vgid_table.vgia, tables[i]);\n>              g_assert(memcmp(vgid_table.vgia, \"VGIA\", 4) == 0);\n> -            ACPI_READ_FIELD(vgid_table.val_op, tables[i]);\n> +            ACPI_READ_FIELD(global_qtest, vgid_table.val_op, tables[i]);\n>              g_assert(vgid_table.val_op == 0x0C);  /* dword */\n> -            ACPI_READ_FIELD(vgid_table.vgia_val, tables[i]);\n> +            ACPI_READ_FIELD(global_qtest, vgid_table.vgia_val, tables[i]);\n>              /* The GUID is written at a fixed offset into the fw_cfg file\n>               * in order to implement the \"OVMF SDT Header probe suppressor\"\n>               * see docs/specs/vmgenid.txt for more details\n> -- \n> 2.13.5\n>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx01.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx01.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=mst@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xpcbV1lF0z9rxl\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  8 Sep 2017 22:49:42 +1000 (AEST)","from localhost ([::1]:45299 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dqIj6-000377-7R\n\tfor incoming@patchwork.ozlabs.org; Fri, 08 Sep 2017 08:49:40 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:50605)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <mst@redhat.com>) id 1dqIiT-000354-82\n\tfor qemu-devel@nongnu.org; Fri, 08 Sep 2017 08:49:03 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <mst@redhat.com>) id 1dqIiQ-0001OK-LC\n\tfor qemu-devel@nongnu.org; Fri, 08 Sep 2017 08:49:01 -0400","from mx1.redhat.com ([209.132.183.28]:39162)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <mst@redhat.com>) id 1dqIiQ-0001Ne-9m\n\tfor qemu-devel@nongnu.org; Fri, 08 Sep 2017 08:48:58 -0400","from smtp.corp.redhat.com\n\t(int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 52E5B81DEF;\n\tFri,  8 Sep 2017 12:48:57 +0000 (UTC)","from redhat.com (ovpn-120-144.rdu2.redhat.com [10.10.120.144])\n\tby smtp.corp.redhat.com (Postfix) with SMTP id 2FEF15C8B7;\n\tFri,  8 Sep 2017 12:48:56 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 52E5B81DEF","Date":"Fri, 8 Sep 2017 15:48:55 +0300","From":"\"Michael S. Tsirkin\" <mst@redhat.com>","To":"Eric Blake <eblake@redhat.com>","Message-ID":"<20170908154847-mutt-send-email-mst@kernel.org>","References":"<20170901180340.30009-1-eblake@redhat.com>\n\t<20170901180340.30009-24-eblake@redhat.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170901180340.30009-24-eblake@redhat.com>","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.16","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.25]);\n\tFri, 08 Sep 2017 12:48:57 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"Re: [Qemu-devel] [PATCH v6 23/29] tests/acpi-utils: Drop dependence\n\ton global_qtest","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"pbonzini@redhat.com, Ben Warren <ben@skyportsystems.com>,\n\tqemu-devel@nongnu.org, armbru@redhat.com,\n\tIgor Mammedov <imammedo@redhat.com>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}}]