[{"id":1766810,"web_url":"http://patchwork.ozlabs.org/comment/1766810/","msgid":"<4e98d25b-6f75-10f9-cbed-c2f26a1082f2@redhat.com>","list_archive_url":null,"date":"2017-09-12T09:26:25","subject":"Re: [Qemu-devel] [PATCH v7 24/38] 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 11.09.2017 19:20, 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> bios-tables-test no longer depends on global_qtest, now that it\n> passes explicit state through the testsuite data; an assert\n> proves this fact (although we will get rid of it later, once\n> global_qtest is gone).\n> \n> Signed-off-by: Eric Blake <eblake@redhat.com>\n[...]\n> diff --git a/tests/vmgenid-test.c b/tests/vmgenid-test.c\n> index 0ea98b86d7..970c6274fd 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\nI'd maybe use a local \"QTestState *qts = global_qtest;\" at the beginning\nof this function instead, and then use \"qts\" instead of \"global_qtest in\nthis function ... then we have to only touch one line later instead of\nchanging all lines with \"global_qtest\" again.\n\nAny way:\nReviewed-by: Thomas Huth <thuth@redhat.com>","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=thuth@redhat.com"],"Received":["from lists.gnu.org (unknown [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 3xrzwC1xmvz9sNw\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 12 Sep 2017 19:27:19 +1000 (AEST)","from localhost ([::1]:34499 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 1drhTH-0006tA-Bc\n\tfor incoming@patchwork.ozlabs.org; Tue, 12 Sep 2017 05:27:07 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:46960)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <thuth@redhat.com>) id 1drhSl-0006r5-Ob\n\tfor qemu-devel@nongnu.org; Tue, 12 Sep 2017 05:26:36 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <thuth@redhat.com>) id 1drhSi-0005wu-La\n\tfor qemu-devel@nongnu.org; Tue, 12 Sep 2017 05:26:35 -0400","from mx1.redhat.com ([209.132.183.28]:52880)\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 1drhSi-0005us-Ci\n\tfor qemu-devel@nongnu.org; Tue, 12 Sep 2017 05:26:32 -0400","from smtp.corp.redhat.com\n\t(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])\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 607F581DE9;\n\tTue, 12 Sep 2017 09:26:31 +0000 (UTC)","from [10.40.204.137] (ovpn-204-137.brq.redhat.com [10.40.204.137])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id DB79677D52;\n\tTue, 12 Sep 2017 09:26:26 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 607F581DE9","To":"Eric Blake <eblake@redhat.com>, qemu-devel@nongnu.org","References":"<20170911172022.4738-1-eblake@redhat.com>\n\t<20170911172022.4738-25-eblake@redhat.com>","From":"Thomas Huth <thuth@redhat.com>","Message-ID":"<4e98d25b-6f75-10f9-cbed-c2f26a1082f2@redhat.com>","Date":"Tue, 12 Sep 2017 11:26:25 +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":"<20170911172022.4738-25-eblake@redhat.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.12","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.25]);\n\tTue, 12 Sep 2017 09:26:31 +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 v7 24/38] 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, Igor Mammedov <imammedo@redhat.com>,\n\tarmbru@redhat.com, Ben Warren <ben@skyportsystems.com>,\n\t\"Michael S. Tsirkin\" <mst@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>"}}]