From nobody Wed May 8 09:50:10 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1570143549; cv=none; d=zoho.com; s=zohoarc; b=YIWCuAuJ4EsCzbEU2zcUh/9p2rtCnnicSfE9Jrj5jtEreIwBnJXHRxgQGinGGwvxj3/WTqTGne8efLVp45469+XErBX/DezbxNPADyEORNNU8HZ4UrBNfIM+kIxUUiHdBoh2Oib19OHzw7lGMAjNAI+sACuuTrlys3kyr9p11aw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1570143549; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=gvX77gsBeUzRPiKlKG3sJY0R5taq7vGgu54OSztWi2A=; b=TU24D7gNxUXOggy9ybR49JNB5H1i7uf+idhjLETKkYjvgqqd79jlfEa6071gotvrFm5HMX42levSsv+zJSZbVuPTKAzrd6iG1fr7tR9Wb2MKyZ0nGUalKpkUgT8pCPT8SVY1XB51BbmK7R/x2yNAoaFoTaSlWN7mNSkFaEgrDyY= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 157014354943511.023995566265285; Thu, 3 Oct 2019 15:59:09 -0700 (PDT) Received: from localhost ([::1]:40726 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGA3r-00050m-OC for importer@patchew.org; Thu, 03 Oct 2019 18:59:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40653) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iG9zv-0003Uj-R0 for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iG9zu-0007hp-I1 for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:54:59 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41852) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iG9zu-0007f2-CB for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:54:58 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 89D0210DCC95; Thu, 3 Oct 2019 22:54:57 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-21.brq.redhat.com [10.40.204.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F2856600C4; Thu, 3 Oct 2019 22:54:53 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 1/7] tests/libqos/fw_cfg: Document io_fw_cfg_init to drop io_fw_cfg_uninit Date: Fri, 4 Oct 2019 00:54:31 +0200 Message-Id: <20191003225437.16651-2-philmd@redhat.com> In-Reply-To: <20191003225437.16651-1-philmd@redhat.com> References: <20191003225437.16651-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mx1.redhat.com [10.5.110.64]); Thu, 03 Oct 2019 22:54:57 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Li Qiang , Gerd Hoffmann , Stefan Hajnoczi , Paolo Bonzini , Laszlo Ersek Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Document io_fw_cfg_init() return value must be released with g_free(). Directly calling g_free() we don't really need io_fw_cfg_uninit(): remove it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Laszlo Ersek --- tests/libqos/fw_cfg.c | 5 ----- tests/libqos/fw_cfg.h | 11 +++++++++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/tests/libqos/fw_cfg.c b/tests/libqos/fw_cfg.c index 1f46258f96..37c3f2cf4d 100644 --- a/tests/libqos/fw_cfg.c +++ b/tests/libqos/fw_cfg.c @@ -157,8 +157,3 @@ QFWCFG *io_fw_cfg_init(QTestState *qts, uint16_t base) =20 return fw_cfg; } - -void io_fw_cfg_uninit(QFWCFG *fw_cfg) -{ - g_free(fw_cfg); -} diff --git a/tests/libqos/fw_cfg.h b/tests/libqos/fw_cfg.h index 13325cc4ff..15604040bd 100644 --- a/tests/libqos/fw_cfg.h +++ b/tests/libqos/fw_cfg.h @@ -36,8 +36,15 @@ size_t qfw_cfg_get_file(QFWCFG *fw_cfg, const char *file= name, =20 QFWCFG *mm_fw_cfg_init(QTestState *qts, uint64_t base); void mm_fw_cfg_uninit(QFWCFG *fw_cfg); +/** + * io_fw_cfg_init(): + * @qts: The #QTestState that will be referred to by the QFWCFG object. + * @base: The I/O address of the fw_cfg device in the guest. + * + * Returns a newly allocated QFWCFG object which must be released + * with a call to g_free() when no longer required. + */ QFWCFG *io_fw_cfg_init(QTestState *qts, uint16_t base); -void io_fw_cfg_uninit(QFWCFG *fw_cfg); =20 static inline QFWCFG *pc_fw_cfg_init(QTestState *qts) { @@ -46,7 +53,7 @@ static inline QFWCFG *pc_fw_cfg_init(QTestState *qts) =20 static inline void pc_fw_cfg_uninit(QFWCFG *fw_cfg) { - io_fw_cfg_uninit(fw_cfg); + g_free(fw_cfg); } =20 #endif --=20 2.20.1 From nobody Wed May 8 09:50:10 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1570143575; cv=none; d=zoho.com; s=zohoarc; b=f8O4dB7nAzo2nbnpcYIGriDXvepPzZ3BnVo9R61NoODECKU4ehN2z+UPZPTGuxjCn/yogArbxWbT0q36mPjYg4qZg1bg8iHDvLK6yUkunJjUId5rowZcAujv0KW0v4f1l5x4kZW90YnZoYiRMMX+Ph5km91pl9AVi6dUpARijM0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1570143575; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=ULdfqMxfVxgG15OeEVE9Wqxjr+jU3Xwrh4tCfAO76CA=; b=ch1B1l7HPx58sieAdFkVAt4U7ed/acK0ckx6eZ6c0f65iDIJWUF5vyelWSkjj0OX0ncZ5SJvqKtgQG/r478poPkvwyieKUIyyg5JfBzu5vZzE48AUzUUfTiUdAOMA40S1TsccaxOaAdlUYlEVe77vY4k1ANDC8s17Hqt4jtha5A= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1570143575007194.70148129194695; Thu, 3 Oct 2019 15:59:35 -0700 (PDT) Received: from localhost ([::1]:40728 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGA4L-0005Al-4e for importer@patchew.org; Thu, 03 Oct 2019 18:59:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40682) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iG9zz-0003Z1-Cv for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iG9zy-0007nM-BW for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50218) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iG9zy-0007n5-6L for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:02 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6B46D300C72A; Thu, 3 Oct 2019 22:55:01 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-21.brq.redhat.com [10.40.204.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 12123600C4; Thu, 3 Oct 2019 22:54:57 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 2/7] tests/libqos/fw_cfg: Document mm_fw_cfg_init to drop mm_fw_cfg_uninit Date: Fri, 4 Oct 2019 00:54:32 +0200 Message-Id: <20191003225437.16651-3-philmd@redhat.com> In-Reply-To: <20191003225437.16651-1-philmd@redhat.com> References: <20191003225437.16651-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.45]); Thu, 03 Oct 2019 22:55:01 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Li Qiang , Gerd Hoffmann , Stefan Hajnoczi , Paolo Bonzini , Laszlo Ersek Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Document mm_fw_cfg_init() return value must be released with g_free(). mm_fw_cfg_uninit() was never used, remove it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Laszlo Ersek --- tests/libqos/fw_cfg.c | 5 ----- tests/libqos/fw_cfg.h | 10 +++++++++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/libqos/fw_cfg.c b/tests/libqos/fw_cfg.c index 37c3f2cf4d..ddeec821db 100644 --- a/tests/libqos/fw_cfg.c +++ b/tests/libqos/fw_cfg.c @@ -126,11 +126,6 @@ QFWCFG *mm_fw_cfg_init(QTestState *qts, uint64_t base) return fw_cfg; } =20 -void mm_fw_cfg_uninit(QFWCFG *fw_cfg) -{ - g_free(fw_cfg); -} - static void io_fw_cfg_select(QFWCFG *fw_cfg, uint16_t key) { qtest_outw(fw_cfg->qts, fw_cfg->base, key); diff --git a/tests/libqos/fw_cfg.h b/tests/libqos/fw_cfg.h index 15604040bd..3247fd4000 100644 --- a/tests/libqos/fw_cfg.h +++ b/tests/libqos/fw_cfg.h @@ -34,8 +34,16 @@ uint64_t qfw_cfg_get_u64(QFWCFG *fw_cfg, uint16_t key); size_t qfw_cfg_get_file(QFWCFG *fw_cfg, const char *filename, void *data, size_t buflen); =20 +/** + * mm_fw_cfg_init(): + * @qts: The #QTestState that will be referred to by the QFWCFG object. + * @base: The MMIO base address of the fw_cfg device in the guest. + * + * Returns a newly allocated QFWCFG object which must be released + * with a call to g_free() when no longer required. + */ QFWCFG *mm_fw_cfg_init(QTestState *qts, uint64_t base); -void mm_fw_cfg_uninit(QFWCFG *fw_cfg); + /** * io_fw_cfg_init(): * @qts: The #QTestState that will be referred to by the QFWCFG object. --=20 2.20.1 From nobody Wed May 8 09:50:10 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1570143883; cv=none; d=zoho.com; s=zohoarc; b=F01kBoc+NmGnNCPOMYtVwMys/uT2JiL4csCaNJlF5osLP2gcRSIyKHcFmSuduZBKNECBqS/jEgAXjV0xCWQZRnhNX/PNzTLwk25Z78a4G0CF39e19MAM9O8ZhOIDpfzBzyKtNoxWcSsc+gkDVPeP0OlTJmVjpLzkvt9MwWkF4vI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1570143883; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=JcK8Iijz2Jn5XYb61nkPg3fIH7Xb+K0S5xugTO4yHQY=; b=iRP9K4lXbbQ/d6DaziDHk/0hgWiGxNVyWgwfEem+U8uIJZnglPGIv9UCut0v1+jGQoEJD2vdHoebp8jG1nbKrmRKnf2XJ20X388fLU66+09tTlnTt8zFtX8+D8H0Rk1aWlMClcD2deZBgktNiGU0CVDmdeDwbFWdKd/EL/LaUcs= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 157014388371736.73659681097217; Thu, 3 Oct 2019 16:04:43 -0700 (PDT) Received: from localhost ([::1]:40766 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGA9D-00009d-3X for importer@patchew.org; Thu, 03 Oct 2019 19:04:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40915) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGA0H-0003li-QL for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iGA0F-00085X-Fc for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:43480) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iGA0D-00084X-E8 for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:18 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E61D43086E23; Thu, 3 Oct 2019 22:55:15 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-21.brq.redhat.com [10.40.204.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E22A2600C4; Thu, 3 Oct 2019 22:55:01 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 3/7] tests/libqos/fw_cfg: Document pc_fw_cfg_init to drop pc_fw_cfg_uninit Date: Fri, 4 Oct 2019 00:54:33 +0200 Message-Id: <20191003225437.16651-4-philmd@redhat.com> In-Reply-To: <20191003225437.16651-1-philmd@redhat.com> References: <20191003225437.16651-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Thu, 03 Oct 2019 22:55:15 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Li Qiang , Gerd Hoffmann , Stefan Hajnoczi , Paolo Bonzini , Laszlo Ersek Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Document pc_fw_cfg_init() return value must be released with g_free(). Directly calling g_free() we don't really need pc_fw_cfg_uninit(): remove it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Laszlo Ersek --- tests/fw_cfg-test.c | 22 +++++++++++----------- tests/libqos/fw_cfg.h | 14 +++++++++----- tests/libqos/malloc-pc.c | 2 +- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c index 1d3147f821..53ae82f7c8 100644 --- a/tests/fw_cfg-test.c +++ b/tests/fw_cfg-test.c @@ -36,7 +36,7 @@ static void test_fw_cfg_signature(void) buf[4] =3D 0; =20 g_assert_cmpstr(buf, =3D=3D, "QEMU"); - pc_fw_cfg_uninit(fw_cfg); + g_free(fw_cfg); qtest_quit(s); } =20 @@ -52,7 +52,7 @@ static void test_fw_cfg_id(void) id =3D qfw_cfg_get_u32(fw_cfg, FW_CFG_ID); g_assert((id =3D=3D 1) || (id =3D=3D 3)); - pc_fw_cfg_uninit(fw_cfg); + g_free(fw_cfg); qtest_quit(s); } =20 @@ -73,7 +73,7 @@ static void test_fw_cfg_uuid(void) qfw_cfg_get(fw_cfg, FW_CFG_UUID, buf, 16); g_assert(memcmp(buf, uuid, sizeof(buf)) =3D=3D 0); =20 - pc_fw_cfg_uninit(fw_cfg); + g_free(fw_cfg); qtest_quit(s); =20 } @@ -88,7 +88,7 @@ static void test_fw_cfg_ram_size(void) =20 g_assert_cmpint(qfw_cfg_get_u64(fw_cfg, FW_CFG_RAM_SIZE), =3D=3D, ram_= size); =20 - pc_fw_cfg_uninit(fw_cfg); + g_free(fw_cfg); qtest_quit(s); } =20 @@ -102,7 +102,7 @@ static void test_fw_cfg_nographic(void) =20 g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_NOGRAPHIC), =3D=3D, 0); =20 - pc_fw_cfg_uninit(fw_cfg); + g_free(fw_cfg); qtest_quit(s); } =20 @@ -116,7 +116,7 @@ static void test_fw_cfg_nb_cpus(void) =20 g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_NB_CPUS), =3D=3D, nb_cp= us); =20 - pc_fw_cfg_uninit(fw_cfg); + g_free(fw_cfg); qtest_quit(s); } =20 @@ -129,7 +129,7 @@ static void test_fw_cfg_max_cpus(void) fw_cfg =3D pc_fw_cfg_init(s); =20 g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_MAX_CPUS), =3D=3D, max_= cpus); - pc_fw_cfg_uninit(fw_cfg); + g_free(fw_cfg); qtest_quit(s); } =20 @@ -158,7 +158,7 @@ static void test_fw_cfg_numa(void) =20 g_free(node_mask); g_free(cpu_mask); - pc_fw_cfg_uninit(fw_cfg); + g_free(fw_cfg); qtest_quit(s); } =20 @@ -171,7 +171,7 @@ static void test_fw_cfg_boot_menu(void) fw_cfg =3D pc_fw_cfg_init(s); =20 g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_MENU), =3D=3D, boo= t_menu); - pc_fw_cfg_uninit(fw_cfg); + g_free(fw_cfg); qtest_quit(s); } =20 @@ -190,7 +190,7 @@ static void test_fw_cfg_reboot_timeout(void) g_assert_cmpint(filesize, =3D=3D, sizeof(reboot_timeout)); reboot_timeout =3D le32_to_cpu(reboot_timeout); g_assert_cmpint(reboot_timeout, =3D=3D, 15); - pc_fw_cfg_uninit(fw_cfg); + g_free(fw_cfg); qtest_quit(s); } =20 @@ -209,7 +209,7 @@ static void test_fw_cfg_splash_time(void) g_assert_cmpint(filesize, =3D=3D, sizeof(splash_time)); splash_time =3D le16_to_cpu(splash_time); g_assert_cmpint(splash_time, =3D=3D, 12); - pc_fw_cfg_uninit(fw_cfg); + g_free(fw_cfg); qtest_quit(s); } =20 diff --git a/tests/libqos/fw_cfg.h b/tests/libqos/fw_cfg.h index 3247fd4000..6316f4c354 100644 --- a/tests/libqos/fw_cfg.h +++ b/tests/libqos/fw_cfg.h @@ -54,14 +54,18 @@ QFWCFG *mm_fw_cfg_init(QTestState *qts, uint64_t base); */ QFWCFG *io_fw_cfg_init(QTestState *qts, uint16_t base); =20 +/** + * pc_fw_cfg_init(): + * @qts: The #QTestState that will be referred to by the QFWCFG object. + * + * This function is specific to the PC machine (X86). + * + * Returns a newly allocated QFWCFG object which must be released + * with a call to g_free() when no longer required. + */ static inline QFWCFG *pc_fw_cfg_init(QTestState *qts) { return io_fw_cfg_init(qts, 0x510); } =20 -static inline void pc_fw_cfg_uninit(QFWCFG *fw_cfg) -{ - g_free(fw_cfg); -} - #endif diff --git a/tests/libqos/malloc-pc.c b/tests/libqos/malloc-pc.c index 6f92ce4135..949a99361d 100644 --- a/tests/libqos/malloc-pc.c +++ b/tests/libqos/malloc-pc.c @@ -29,5 +29,5 @@ void pc_alloc_init(QGuestAllocator *s, QTestState *qts, Q= AllocOpts flags) alloc_init(s, flags, 1 << 20, MIN(ram_size, 0xE0000000), PAGE_SIZE); =20 /* clean-up */ - pc_fw_cfg_uninit(fw_cfg); + g_free(fw_cfg); } --=20 2.20.1 From nobody Wed May 8 09:50:10 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1570143810; cv=none; d=zoho.com; s=zohoarc; b=jyFf5vsFNGnJ3X2p09kDnuStt5e6IDPnRZ5RVLBco1WQjLCo5iDinSOoXo1xrUZqsduZFwjdTKFZ+7cq762lfk2GpzTxP6s52xb1UezoGnK+DrCG9ZQC2A9ATZtiibl7BU33wnGgD8979vKPX3n96XR/n/sJea8SaTygw9fhP5A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1570143810; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=W+iMzoGuk2dI4qgXxp44GM2/vxdb7Z7wmqX1J4hlgME=; b=YKKac9PaD4f+4zGEIwC99GOHCo3UJ+mG4u0jCkrPHIes7v7niwknMI/FKRx3NXCXL8e7HILxBEnfZb1BzhPKnf2ChQBRm5WR9VMglM01EEL4M0rzJocTyiGP4T1xlG6uXrUVy7WYTakl4jIZYnBkUzVYj1O6rAjN7rHzWXDpXUg= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 15701438109402.7024231514477606; Thu, 3 Oct 2019 16:03:30 -0700 (PDT) Received: from localhost ([::1]:40762 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGA89-0008Fg-Da for importer@patchew.org; Thu, 03 Oct 2019 19:03:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40988) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGA0L-0003qT-Ey for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iGA0J-0008A1-SZ for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:25 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41264) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iGA0J-00086Z-KT for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:23 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6B4B93B717; Thu, 3 Oct 2019 22:55:21 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-21.brq.redhat.com [10.40.204.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 800FB600C4; Thu, 3 Oct 2019 22:55:16 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 4/7] tests/fw_cfg: Let the tests use a context Date: Fri, 4 Oct 2019 00:54:34 +0200 Message-Id: <20191003225437.16651-5-philmd@redhat.com> In-Reply-To: <20191003225437.16651-1-philmd@redhat.com> References: <20191003225437.16651-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 03 Oct 2019 22:55:21 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Li Qiang , Gerd Hoffmann , Stefan Hajnoczi , Paolo Bonzini , Laszlo Ersek Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Introduce the local QTestCtx structure, and register the tests with qtest_add_data_func(ctx). For now the context only contains the machine name (which is fixed to the 'pc' machine, since this test only runs on the x86 architecture). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Laszlo Ersek --- tests/fw_cfg-test.c | 93 ++++++++++++++++++++++++++++----------------- 1 file changed, 59 insertions(+), 34 deletions(-) diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c index 53ae82f7c8..77a833d50e 100644 --- a/tests/fw_cfg-test.c +++ b/tests/fw_cfg-test.c @@ -23,13 +23,18 @@ static uint16_t max_cpus =3D 1; static uint64_t nb_nodes =3D 0; static uint16_t boot_menu =3D 0; =20 -static void test_fw_cfg_signature(void) +typedef struct { + const char *machine_name; +} QTestCtx; + +static void test_fw_cfg_signature(const void *opaque) { + QTestCtx *ctx =3D (QTestCtx *)opaque; QFWCFG *fw_cfg; QTestState *s; char buf[5]; =20 - s =3D qtest_init(""); + s =3D qtest_initf("-M %s", ctx->machine_name); fw_cfg =3D pc_fw_cfg_init(s); =20 qfw_cfg_get(fw_cfg, FW_CFG_SIGNATURE, buf, 4); @@ -40,13 +45,14 @@ static void test_fw_cfg_signature(void) qtest_quit(s); } =20 -static void test_fw_cfg_id(void) +static void test_fw_cfg_id(const void *opaque) { + QTestCtx *ctx =3D (QTestCtx *)opaque; QFWCFG *fw_cfg; QTestState *s; uint32_t id; =20 - s =3D qtest_init(""); + s =3D qtest_initf("-M %s", ctx->machine_name); fw_cfg =3D pc_fw_cfg_init(s); =20 id =3D qfw_cfg_get_u32(fw_cfg, FW_CFG_ID); @@ -56,8 +62,9 @@ static void test_fw_cfg_id(void) qtest_quit(s); } =20 -static void test_fw_cfg_uuid(void) +static void test_fw_cfg_uuid(const void *opaque) { + QTestCtx *ctx =3D (QTestCtx *)opaque; QFWCFG *fw_cfg; QTestState *s; =20 @@ -67,7 +74,7 @@ static void test_fw_cfg_uuid(void) 0x8a, 0xcb, 0x81, 0xc6, 0xea, 0x54, 0xf2, 0xd8, }; =20 - s =3D qtest_init("-uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8"); + s =3D qtest_initf("-M %s -uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8", = ctx->machine_name); fw_cfg =3D pc_fw_cfg_init(s); =20 qfw_cfg_get(fw_cfg, FW_CFG_UUID, buf, 16); @@ -78,12 +85,13 @@ static void test_fw_cfg_uuid(void) =20 } =20 -static void test_fw_cfg_ram_size(void) +static void test_fw_cfg_ram_size(const void *opaque) { + QTestCtx *ctx =3D (QTestCtx *)opaque; QFWCFG *fw_cfg; QTestState *s; =20 - s =3D qtest_init(""); + s =3D qtest_initf("-M %s", ctx->machine_name); fw_cfg =3D pc_fw_cfg_init(s); =20 g_assert_cmpint(qfw_cfg_get_u64(fw_cfg, FW_CFG_RAM_SIZE), =3D=3D, ram_= size); @@ -92,12 +100,13 @@ static void test_fw_cfg_ram_size(void) qtest_quit(s); } =20 -static void test_fw_cfg_nographic(void) +static void test_fw_cfg_nographic(const void *opaque) { + QTestCtx *ctx =3D (QTestCtx *)opaque; QFWCFG *fw_cfg; QTestState *s; =20 - s =3D qtest_init(""); + s =3D qtest_initf("-M %s", ctx->machine_name); fw_cfg =3D pc_fw_cfg_init(s); =20 g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_NOGRAPHIC), =3D=3D, 0); @@ -106,12 +115,13 @@ static void test_fw_cfg_nographic(void) qtest_quit(s); } =20 -static void test_fw_cfg_nb_cpus(void) +static void test_fw_cfg_nb_cpus(const void *opaque) { + QTestCtx *ctx =3D (QTestCtx *)opaque; QFWCFG *fw_cfg; QTestState *s; =20 - s =3D qtest_init(""); + s =3D qtest_initf("-M %s", ctx->machine_name); fw_cfg =3D pc_fw_cfg_init(s); =20 g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_NB_CPUS), =3D=3D, nb_cp= us); @@ -120,12 +130,13 @@ static void test_fw_cfg_nb_cpus(void) qtest_quit(s); } =20 -static void test_fw_cfg_max_cpus(void) +static void test_fw_cfg_max_cpus(const void *opaque) { + QTestCtx *ctx =3D (QTestCtx *)opaque; QFWCFG *fw_cfg; QTestState *s; =20 - s =3D qtest_init(""); + s =3D qtest_initf("-M %s", ctx->machine_name); fw_cfg =3D pc_fw_cfg_init(s); =20 g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_MAX_CPUS), =3D=3D, max_= cpus); @@ -133,14 +144,15 @@ static void test_fw_cfg_max_cpus(void) qtest_quit(s); } =20 -static void test_fw_cfg_numa(void) +static void test_fw_cfg_numa(const void *opaque) { + QTestCtx *ctx =3D (QTestCtx *)opaque; QFWCFG *fw_cfg; QTestState *s; uint64_t *cpu_mask; uint64_t *node_mask; =20 - s =3D qtest_init(""); + s =3D qtest_initf("-M %s", ctx->machine_name); fw_cfg =3D pc_fw_cfg_init(s); =20 g_assert_cmpint(qfw_cfg_get_u64(fw_cfg, FW_CFG_NUMA), =3D=3D, nb_nodes= ); @@ -162,12 +174,13 @@ static void test_fw_cfg_numa(void) qtest_quit(s); } =20 -static void test_fw_cfg_boot_menu(void) +static void test_fw_cfg_boot_menu(const void *opaque) { + QTestCtx *ctx =3D (QTestCtx *)opaque; QFWCFG *fw_cfg; QTestState *s; =20 - s =3D qtest_init(""); + s =3D qtest_initf("-M %s", ctx->machine_name); fw_cfg =3D pc_fw_cfg_init(s); =20 g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_MENU), =3D=3D, boo= t_menu); @@ -175,14 +188,15 @@ static void test_fw_cfg_boot_menu(void) qtest_quit(s); } =20 -static void test_fw_cfg_reboot_timeout(void) +static void test_fw_cfg_reboot_timeout(const void *opaque) { + QTestCtx *ctx =3D (QTestCtx *)opaque; QFWCFG *fw_cfg; QTestState *s; uint32_t reboot_timeout =3D 0; size_t filesize; =20 - s =3D qtest_init("-boot reboot-timeout=3D15"); + s =3D qtest_initf("-M %s -boot reboot-timeout=3D15", ctx->machine_name= ); fw_cfg =3D pc_fw_cfg_init(s); =20 filesize =3D qfw_cfg_get_file(fw_cfg, "etc/boot-fail-wait", @@ -194,14 +208,15 @@ static void test_fw_cfg_reboot_timeout(void) qtest_quit(s); } =20 -static void test_fw_cfg_splash_time(void) +static void test_fw_cfg_splash_time(const void *opaque) { + QTestCtx *ctx =3D (QTestCtx *)opaque; QFWCFG *fw_cfg; QTestState *s; uint16_t splash_time =3D 0; size_t filesize; =20 - s =3D qtest_init("-boot splash-time=3D12"); + s =3D qtest_initf("-M %s -boot splash-time=3D12", ctx->machine_name); fw_cfg =3D pc_fw_cfg_init(s); =20 filesize =3D qfw_cfg_get_file(fw_cfg, "etc/boot-menu-wait", @@ -215,25 +230,35 @@ static void test_fw_cfg_splash_time(void) =20 int main(int argc, char **argv) { + QTestCtx *ctx =3D g_new(QTestCtx, 1); + int ret; + g_test_init(&argc, &argv, NULL); =20 - qtest_add_func("fw_cfg/signature", test_fw_cfg_signature); - qtest_add_func("fw_cfg/id", test_fw_cfg_id); - qtest_add_func("fw_cfg/uuid", test_fw_cfg_uuid); - qtest_add_func("fw_cfg/ram_size", test_fw_cfg_ram_size); - qtest_add_func("fw_cfg/nographic", test_fw_cfg_nographic); - qtest_add_func("fw_cfg/nb_cpus", test_fw_cfg_nb_cpus); + ctx->machine_name =3D "pc"; + + qtest_add_data_func("fw_cfg/signature", ctx, test_fw_cfg_signature); + qtest_add_data_func("fw_cfg/id", ctx, test_fw_cfg_id); + qtest_add_data_func("fw_cfg/uuid", ctx, test_fw_cfg_uuid); + qtest_add_data_func("fw_cfg/ram_size", ctx, test_fw_cfg_ram_size); + qtest_add_data_func("fw_cfg/nographic", ctx, test_fw_cfg_nographic); + qtest_add_data_func("fw_cfg/nb_cpus", ctx, test_fw_cfg_nb_cpus); #if 0 qtest_add_func("fw_cfg/machine_id", test_fw_cfg_machine_id); qtest_add_func("fw_cfg/kernel", test_fw_cfg_kernel); qtest_add_func("fw_cfg/initrd", test_fw_cfg_initrd); qtest_add_func("fw_cfg/boot_device", test_fw_cfg_boot_device); #endif - qtest_add_func("fw_cfg/max_cpus", test_fw_cfg_max_cpus); - qtest_add_func("fw_cfg/numa", test_fw_cfg_numa); - qtest_add_func("fw_cfg/boot_menu", test_fw_cfg_boot_menu); - qtest_add_func("fw_cfg/reboot_timeout", test_fw_cfg_reboot_timeout); - qtest_add_func("fw_cfg/splash_time", test_fw_cfg_splash_time); + qtest_add_data_func("fw_cfg/max_cpus", ctx, test_fw_cfg_max_cpus); + qtest_add_data_func("fw_cfg/numa", ctx, test_fw_cfg_numa); + qtest_add_data_func("fw_cfg/boot_menu", ctx, test_fw_cfg_boot_menu); + qtest_add_data_func("fw_cfg/reboot_timeout", ctx, + test_fw_cfg_reboot_timeout); + qtest_add_data_func("fw_cfg/splash_time", ctx, test_fw_cfg_splash_time= ); =20 - return g_test_run(); + ret =3D g_test_run(); + + g_free(ctx); + + return ret; } --=20 2.20.1 From nobody Wed May 8 09:50:10 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1570144306; cv=none; d=zoho.com; s=zohoarc; b=cJFnMQqHw+hhR+vXg/seE72dbAWHpYdZDrVoD+6L6wJyIj82igcoI7fzrNfGZA05nc/9rte6+P1WUZA+FeLrH7Ip5I/0atI8VpdeJT3Dq3n8n50RCtB6CsDPSu5qTeE0RxYmfcECrfSLwHMy8/IgEsPwXA0PXQ6rpoe7+r3W96Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1570144306; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=ybopEWT7MWYr+XZvfpCpLtOxHOgBMTJGFd5xDFnLNWE=; b=Yo3N+MT3Cdl6IiMzS+xsoLqiBvYbC4GU65zcDuFfkiUK9QgzxyrsSQW8X5MPKHx6KLlCGWPuHIn5gbC4AuU3D7Qw/uQhbTUZD8KwIrsIPs/8NWR75ptlMJbj108kZuy6o1CwDgigl2FZDdl7a9EltP+q6UNkJQwp2kyreyyq+kQ= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1570144306096420.3884421641086; Thu, 3 Oct 2019 16:11:46 -0700 (PDT) Received: from localhost ([::1]:40926 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGAG2-0004aS-L8 for importer@patchew.org; Thu, 03 Oct 2019 19:11:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41139) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGA0U-000435-2x for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iGA0R-0008KI-AF for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:33 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34190) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iGA0R-0008J5-1M for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:31 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 440254E926; Thu, 3 Oct 2019 22:55:30 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-21.brq.redhat.com [10.40.204.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0C5BC600C4; Thu, 3 Oct 2019 22:55:21 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 5/7] tests/libqos/fw_cfg: Pass QTestState as argument Date: Fri, 4 Oct 2019 00:54:35 +0200 Message-Id: <20191003225437.16651-6-philmd@redhat.com> In-Reply-To: <20191003225437.16651-1-philmd@redhat.com> References: <20191003225437.16651-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 03 Oct 2019 22:55:30 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Li Qiang , Gerd Hoffmann , Stefan Hajnoczi , Paolo Bonzini , Laszlo Ersek Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Since a QFWCFG object is not tied to a particular test, we can call *_fw_cfg_init() once before creating QTests and use the same for all the tests, then release the object with g_free() once all the tests are run. Refactor the qfw_cfg* API to take QTestState as argument. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Laszlo Ersek --- tests/boot-order-test.c | 12 ++++---- tests/fw_cfg-test.c | 49 ++++++++++++++++---------------- tests/libqos/fw_cfg.c | 61 ++++++++++++++++++++-------------------- tests/libqos/fw_cfg.h | 30 +++++++++----------- tests/libqos/malloc-pc.c | 4 +-- 5 files changed, 77 insertions(+), 79 deletions(-) diff --git a/tests/boot-order-test.c b/tests/boot-order-test.c index a725bce729..e2d1b7940f 100644 --- a/tests/boot-order-test.c +++ b/tests/boot-order-test.c @@ -134,9 +134,9 @@ static void test_prep_boot_order(void) =20 static uint64_t read_boot_order_pmac(QTestState *qts) { - QFWCFG *fw_cfg =3D mm_fw_cfg_init(qts, 0xf0000510); + QFWCFG *fw_cfg =3D mm_fw_cfg_init(0xf0000510); =20 - return qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_DEVICE); + return qfw_cfg_get_u16(qts, fw_cfg, FW_CFG_BOOT_DEVICE); } =20 static const boot_order_test test_cases_fw_cfg[] =3D { @@ -159,9 +159,9 @@ static void test_pmac_newworld_boot_order(void) =20 static uint64_t read_boot_order_sun4m(QTestState *qts) { - QFWCFG *fw_cfg =3D mm_fw_cfg_init(qts, 0xd00000510ULL); + QFWCFG *fw_cfg =3D mm_fw_cfg_init(0xd00000510ULL); =20 - return qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_DEVICE); + return qfw_cfg_get_u16(qts, fw_cfg, FW_CFG_BOOT_DEVICE); } =20 static void test_sun4m_boot_order(void) @@ -171,9 +171,9 @@ static void test_sun4m_boot_order(void) =20 static uint64_t read_boot_order_sun4u(QTestState *qts) { - QFWCFG *fw_cfg =3D io_fw_cfg_init(qts, 0x510); + QFWCFG *fw_cfg =3D io_fw_cfg_init(0x510); =20 - return qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_DEVICE); + return qfw_cfg_get_u16(qts, fw_cfg, FW_CFG_BOOT_DEVICE); } =20 static void test_sun4u_boot_order(void) diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c index 77a833d50e..6fb52a4d08 100644 --- a/tests/fw_cfg-test.c +++ b/tests/fw_cfg-test.c @@ -35,9 +35,9 @@ static void test_fw_cfg_signature(const void *opaque) char buf[5]; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(s); + fw_cfg =3D pc_fw_cfg_init(); =20 - qfw_cfg_get(fw_cfg, FW_CFG_SIGNATURE, buf, 4); + qfw_cfg_get(s, fw_cfg, FW_CFG_SIGNATURE, buf, 4); buf[4] =3D 0; =20 g_assert_cmpstr(buf, =3D=3D, "QEMU"); @@ -53,9 +53,9 @@ static void test_fw_cfg_id(const void *opaque) uint32_t id; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(s); + fw_cfg =3D pc_fw_cfg_init(); =20 - id =3D qfw_cfg_get_u32(fw_cfg, FW_CFG_ID); + id =3D qfw_cfg_get_u32(s, fw_cfg, FW_CFG_ID); g_assert((id =3D=3D 1) || (id =3D=3D 3)); g_free(fw_cfg); @@ -75,9 +75,9 @@ static void test_fw_cfg_uuid(const void *opaque) }; =20 s =3D qtest_initf("-M %s -uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8", = ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(s); + fw_cfg =3D pc_fw_cfg_init(); =20 - qfw_cfg_get(fw_cfg, FW_CFG_UUID, buf, 16); + qfw_cfg_get(s, fw_cfg, FW_CFG_UUID, buf, 16); g_assert(memcmp(buf, uuid, sizeof(buf)) =3D=3D 0); =20 g_free(fw_cfg); @@ -92,9 +92,9 @@ static void test_fw_cfg_ram_size(const void *opaque) QTestState *s; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(s); + fw_cfg =3D pc_fw_cfg_init(); =20 - g_assert_cmpint(qfw_cfg_get_u64(fw_cfg, FW_CFG_RAM_SIZE), =3D=3D, ram_= size); + g_assert_cmpint(qfw_cfg_get_u64(s, fw_cfg, FW_CFG_RAM_SIZE), =3D=3D, r= am_size); =20 g_free(fw_cfg); qtest_quit(s); @@ -107,9 +107,9 @@ static void test_fw_cfg_nographic(const void *opaque) QTestState *s; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(s); + fw_cfg =3D pc_fw_cfg_init(); =20 - g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_NOGRAPHIC), =3D=3D, 0); + g_assert_cmpint(qfw_cfg_get_u16(s, fw_cfg, FW_CFG_NOGRAPHIC), =3D=3D, = 0); =20 g_free(fw_cfg); qtest_quit(s); @@ -122,9 +122,9 @@ static void test_fw_cfg_nb_cpus(const void *opaque) QTestState *s; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(s); + fw_cfg =3D pc_fw_cfg_init(); =20 - g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_NB_CPUS), =3D=3D, nb_cp= us); + g_assert_cmpint(qfw_cfg_get_u16(s, fw_cfg, FW_CFG_NB_CPUS), =3D=3D, nb= _cpus); =20 g_free(fw_cfg); qtest_quit(s); @@ -137,9 +137,9 @@ static void test_fw_cfg_max_cpus(const void *opaque) QTestState *s; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(s); + fw_cfg =3D pc_fw_cfg_init(); =20 - g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_MAX_CPUS), =3D=3D, max_= cpus); + g_assert_cmpint(qfw_cfg_get_u16(s, fw_cfg, FW_CFG_MAX_CPUS), =3D=3D, m= ax_cpus); g_free(fw_cfg); qtest_quit(s); } @@ -153,15 +153,15 @@ static void test_fw_cfg_numa(const void *opaque) uint64_t *node_mask; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(s); + fw_cfg =3D pc_fw_cfg_init(); =20 - g_assert_cmpint(qfw_cfg_get_u64(fw_cfg, FW_CFG_NUMA), =3D=3D, nb_nodes= ); + g_assert_cmpint(qfw_cfg_get_u64(s, fw_cfg, FW_CFG_NUMA), =3D=3D, nb_no= des); =20 cpu_mask =3D g_new0(uint64_t, max_cpus); node_mask =3D g_new0(uint64_t, nb_nodes); =20 - qfw_cfg_read_data(fw_cfg, cpu_mask, sizeof(uint64_t) * max_cpus); - qfw_cfg_read_data(fw_cfg, node_mask, sizeof(uint64_t) * nb_nodes); + qfw_cfg_read_data(s, fw_cfg, cpu_mask, sizeof(uint64_t) * max_cpus); + qfw_cfg_read_data(s, fw_cfg, node_mask, sizeof(uint64_t) * nb_nodes); =20 if (nb_nodes) { g_assert(cpu_mask[0] & 0x01); @@ -181,9 +181,10 @@ static void test_fw_cfg_boot_menu(const void *opaque) QTestState *s; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(s); + fw_cfg =3D pc_fw_cfg_init(); =20 - g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_MENU), =3D=3D, boo= t_menu); + g_assert_cmpint(qfw_cfg_get_u16(s, fw_cfg, FW_CFG_BOOT_MENU), + =3D=3D, boot_menu); g_free(fw_cfg); qtest_quit(s); } @@ -197,9 +198,9 @@ static void test_fw_cfg_reboot_timeout(const void *opaq= ue) size_t filesize; =20 s =3D qtest_initf("-M %s -boot reboot-timeout=3D15", ctx->machine_name= ); - fw_cfg =3D pc_fw_cfg_init(s); + fw_cfg =3D pc_fw_cfg_init(); =20 - filesize =3D qfw_cfg_get_file(fw_cfg, "etc/boot-fail-wait", + filesize =3D qfw_cfg_get_file(s, fw_cfg, "etc/boot-fail-wait", &reboot_timeout, sizeof(reboot_timeout)); g_assert_cmpint(filesize, =3D=3D, sizeof(reboot_timeout)); reboot_timeout =3D le32_to_cpu(reboot_timeout); @@ -217,9 +218,9 @@ static void test_fw_cfg_splash_time(const void *opaque) size_t filesize; =20 s =3D qtest_initf("-M %s -boot splash-time=3D12", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(s); + fw_cfg =3D pc_fw_cfg_init(); =20 - filesize =3D qfw_cfg_get_file(fw_cfg, "etc/boot-menu-wait", + filesize =3D qfw_cfg_get_file(s, fw_cfg, "etc/boot-menu-wait", &splash_time, sizeof(splash_time)); g_assert_cmpint(filesize, =3D=3D, sizeof(splash_time)); splash_time =3D le16_to_cpu(splash_time); diff --git a/tests/libqos/fw_cfg.c b/tests/libqos/fw_cfg.c index ddeec821db..d25a367194 100644 --- a/tests/libqos/fw_cfg.c +++ b/tests/libqos/fw_cfg.c @@ -18,46 +18,47 @@ #include "qemu/bswap.h" #include "hw/nvram/fw_cfg.h" =20 -void qfw_cfg_select(QFWCFG *fw_cfg, uint16_t key) +void qfw_cfg_select(QTestState *qts, QFWCFG *fw_cfg, uint16_t key) { - fw_cfg->select(fw_cfg, key); + fw_cfg->select(qts, fw_cfg, key); } =20 -void qfw_cfg_read_data(QFWCFG *fw_cfg, void *data, size_t len) +void qfw_cfg_read_data(QTestState *qts, QFWCFG *fw_cfg, void *data, size_t= len) { - fw_cfg->read(fw_cfg, data, len); + fw_cfg->read(qts, fw_cfg, data, len); } =20 -void qfw_cfg_get(QFWCFG *fw_cfg, uint16_t key, void *data, size_t len) +void qfw_cfg_get(QTestState *qts, QFWCFG *fw_cfg, uint16_t key, + void *data, size_t len) { - qfw_cfg_select(fw_cfg, key); - qfw_cfg_read_data(fw_cfg, data, len); + qfw_cfg_select(qts, fw_cfg, key); + qfw_cfg_read_data(qts, fw_cfg, data, len); } =20 -uint16_t qfw_cfg_get_u16(QFWCFG *fw_cfg, uint16_t key) +uint16_t qfw_cfg_get_u16(QTestState *qts, QFWCFG *fw_cfg, uint16_t key) { uint16_t value; - qfw_cfg_get(fw_cfg, key, &value, sizeof(value)); + qfw_cfg_get(qts, fw_cfg, key, &value, sizeof(value)); return le16_to_cpu(value); } =20 -uint32_t qfw_cfg_get_u32(QFWCFG *fw_cfg, uint16_t key) +uint32_t qfw_cfg_get_u32(QTestState *qts, QFWCFG *fw_cfg, uint16_t key) { uint32_t value; - qfw_cfg_get(fw_cfg, key, &value, sizeof(value)); + qfw_cfg_get(qts, fw_cfg, key, &value, sizeof(value)); return le32_to_cpu(value); } =20 -uint64_t qfw_cfg_get_u64(QFWCFG *fw_cfg, uint16_t key) +uint64_t qfw_cfg_get_u64(QTestState *qts, QFWCFG *fw_cfg, uint16_t key) { uint64_t value; - qfw_cfg_get(fw_cfg, key, &value, sizeof(value)); + qfw_cfg_get(qts, fw_cfg, key, &value, sizeof(value)); return le64_to_cpu(value); } =20 -static void mm_fw_cfg_select(QFWCFG *fw_cfg, uint16_t key) +static void mm_fw_cfg_select(QTestState *qts, QFWCFG *fw_cfg, uint16_t key) { - qtest_writew(fw_cfg->qts, fw_cfg->base, key); + qtest_writew(qts, fw_cfg->base, key); } =20 /* @@ -72,8 +73,8 @@ static void mm_fw_cfg_select(QFWCFG *fw_cfg, uint16_t key) * necessary in total. And, while the caller's buffer has been fully * populated, it has received only a starting slice of the fw_cfg file. */ -size_t qfw_cfg_get_file(QFWCFG *fw_cfg, const char *filename, - void *data, size_t buflen) +size_t qfw_cfg_get_file(QTestState *qts, QFWCFG *fw_cfg, const char *filen= ame, + void *data, size_t buflen) { uint32_t count; uint32_t i; @@ -82,11 +83,11 @@ size_t qfw_cfg_get_file(QFWCFG *fw_cfg, const char *fil= ename, FWCfgFile *pdir_entry; size_t filesize =3D 0; =20 - qfw_cfg_get(fw_cfg, FW_CFG_FILE_DIR, &count, sizeof(count)); + qfw_cfg_get(qts, fw_cfg, FW_CFG_FILE_DIR, &count, sizeof(count)); count =3D be32_to_cpu(count); dsize =3D sizeof(uint32_t) + count * sizeof(struct fw_cfg_file); filesbuf =3D g_malloc(dsize); - qfw_cfg_get(fw_cfg, FW_CFG_FILE_DIR, filesbuf, dsize); + qfw_cfg_get(qts, fw_cfg, FW_CFG_FILE_DIR, filesbuf, dsize); pdir_entry =3D (FWCfgFile *)(filesbuf + sizeof(uint32_t)); for (i =3D 0; i < count; ++i, ++pdir_entry) { if (!strcmp(pdir_entry->name, filename)) { @@ -96,7 +97,7 @@ size_t qfw_cfg_get_file(QFWCFG *fw_cfg, const char *filen= ame, if (len > buflen) { len =3D buflen; } - qfw_cfg_get(fw_cfg, sel, data, len); + qfw_cfg_get(qts, fw_cfg, sel, data, len); break; } } @@ -104,49 +105,49 @@ size_t qfw_cfg_get_file(QFWCFG *fw_cfg, const char *f= ilename, return filesize; } =20 -static void mm_fw_cfg_read(QFWCFG *fw_cfg, void *data, size_t len) +static void mm_fw_cfg_read(QTestState *qts, QFWCFG *fw_cfg, + void *data, size_t len) { uint8_t *ptr =3D data; int i; =20 for (i =3D 0; i < len; i++) { - ptr[i] =3D qtest_readb(fw_cfg->qts, fw_cfg->base + 2); + ptr[i] =3D qtest_readb(qts, fw_cfg->base + 2); } } =20 -QFWCFG *mm_fw_cfg_init(QTestState *qts, uint64_t base) +QFWCFG *mm_fw_cfg_init(uint64_t base) { QFWCFG *fw_cfg =3D g_malloc0(sizeof(*fw_cfg)); =20 fw_cfg->base =3D base; - fw_cfg->qts =3D qts; fw_cfg->select =3D mm_fw_cfg_select; fw_cfg->read =3D mm_fw_cfg_read; =20 return fw_cfg; } =20 -static void io_fw_cfg_select(QFWCFG *fw_cfg, uint16_t key) +static void io_fw_cfg_select(QTestState *qts, QFWCFG *fw_cfg, uint16_t key) { - qtest_outw(fw_cfg->qts, fw_cfg->base, key); + qtest_outw(qts, fw_cfg->base, key); } =20 -static void io_fw_cfg_read(QFWCFG *fw_cfg, void *data, size_t len) +static void io_fw_cfg_read(QTestState *qts, QFWCFG *fw_cfg, + void *data, size_t len) { uint8_t *ptr =3D data; int i; =20 for (i =3D 0; i < len; i++) { - ptr[i] =3D qtest_inb(fw_cfg->qts, fw_cfg->base + 1); + ptr[i] =3D qtest_inb(qts, fw_cfg->base + 1); } } =20 -QFWCFG *io_fw_cfg_init(QTestState *qts, uint16_t base) +QFWCFG *io_fw_cfg_init(uint16_t base) { QFWCFG *fw_cfg =3D g_malloc0(sizeof(*fw_cfg)); =20 fw_cfg->base =3D base; - fw_cfg->qts =3D qts; fw_cfg->select =3D io_fw_cfg_select; fw_cfg->read =3D io_fw_cfg_read; =20 diff --git a/tests/libqos/fw_cfg.h b/tests/libqos/fw_cfg.h index 6316f4c354..e560cd02ac 100644 --- a/tests/libqos/fw_cfg.h +++ b/tests/libqos/fw_cfg.h @@ -20,52 +20,48 @@ typedef struct QFWCFG QFWCFG; struct QFWCFG { uint64_t base; - QTestState *qts; - void (*select)(QFWCFG *fw_cfg, uint16_t key); - void (*read)(QFWCFG *fw_cfg, void *data, size_t len); + void (*select)(QTestState *qts, QFWCFG *fw_cfg, uint16_t key); + void (*read)(QTestState *qts, QFWCFG *fw_cfg, void *data, size_t len); }; =20 -void qfw_cfg_select(QFWCFG *fw_cfg, uint16_t key); -void qfw_cfg_read_data(QFWCFG *fw_cfg, void *data, size_t len); -void qfw_cfg_get(QFWCFG *fw_cfg, uint16_t key, void *data, size_t len); -uint16_t qfw_cfg_get_u16(QFWCFG *fw_cfg, uint16_t key); -uint32_t qfw_cfg_get_u32(QFWCFG *fw_cfg, uint16_t key); -uint64_t qfw_cfg_get_u64(QFWCFG *fw_cfg, uint16_t key); -size_t qfw_cfg_get_file(QFWCFG *fw_cfg, const char *filename, +void qfw_cfg_select(QTestState *qts, QFWCFG *fw_cfg, uint16_t key); +void qfw_cfg_read_data(QTestState *qts, QFWCFG *fw_cfg, void *data, size_t= len); +void qfw_cfg_get(QTestState *qts, QFWCFG *fw_cfg, uint16_t key, void *data= , size_t len); +uint16_t qfw_cfg_get_u16(QTestState *qts, QFWCFG *fw_cfg, uint16_t key); +uint32_t qfw_cfg_get_u32(QTestState *qts, QFWCFG *fw_cfg, uint16_t key); +uint64_t qfw_cfg_get_u64(QTestState *qts, QFWCFG *fw_cfg, uint16_t key); +size_t qfw_cfg_get_file(QTestState *qts, QFWCFG *fw_cfg, const char *filen= ame, void *data, size_t buflen); =20 /** * mm_fw_cfg_init(): - * @qts: The #QTestState that will be referred to by the QFWCFG object. * @base: The MMIO base address of the fw_cfg device in the guest. * * Returns a newly allocated QFWCFG object which must be released * with a call to g_free() when no longer required. */ -QFWCFG *mm_fw_cfg_init(QTestState *qts, uint64_t base); +QFWCFG *mm_fw_cfg_init(uint64_t base); =20 /** * io_fw_cfg_init(): - * @qts: The #QTestState that will be referred to by the QFWCFG object. * @base: The I/O address of the fw_cfg device in the guest. * * Returns a newly allocated QFWCFG object which must be released * with a call to g_free() when no longer required. */ -QFWCFG *io_fw_cfg_init(QTestState *qts, uint16_t base); +QFWCFG *io_fw_cfg_init(uint16_t base); =20 /** * pc_fw_cfg_init(): - * @qts: The #QTestState that will be referred to by the QFWCFG object. * * This function is specific to the PC machine (X86). * * Returns a newly allocated QFWCFG object which must be released * with a call to g_free() when no longer required. */ -static inline QFWCFG *pc_fw_cfg_init(QTestState *qts) +static inline QFWCFG *pc_fw_cfg_init(void) { - return io_fw_cfg_init(qts, 0x510); + return io_fw_cfg_init(0x510); } =20 #endif diff --git a/tests/libqos/malloc-pc.c b/tests/libqos/malloc-pc.c index 949a99361d..4932ae092d 100644 --- a/tests/libqos/malloc-pc.c +++ b/tests/libqos/malloc-pc.c @@ -23,9 +23,9 @@ void pc_alloc_init(QGuestAllocator *s, QTestState *qts, QAllocOpts flags) { uint64_t ram_size; - QFWCFG *fw_cfg =3D pc_fw_cfg_init(qts); + QFWCFG *fw_cfg =3D pc_fw_cfg_init(); =20 - ram_size =3D qfw_cfg_get_u64(fw_cfg, FW_CFG_RAM_SIZE); + ram_size =3D qfw_cfg_get_u64(qts, fw_cfg, FW_CFG_RAM_SIZE); alloc_init(s, flags, 1 << 20, MIN(ram_size, 0xE0000000), PAGE_SIZE); =20 /* clean-up */ --=20 2.20.1 From nobody Wed May 8 09:50:10 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1570145002; cv=none; d=zoho.com; s=zohoarc; b=LbXY7IxtDOMR2ih5rEvWahIRY3CPxfupotseIOxWowYnStKKicq97p4YKuKz6lropHTPS9YKUhBRJQc46r2iOx6FKovRN13Wk78r6twcfkAldspswNNZBzfIdHMeRTqGCYDFQVG1e/lMeSfVGUyTQLFhuOKbH1udKBTZgBbjMG8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1570145002; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=DagvnQyVeYM36ffz5TrhomFSLUx05KBU31To1QH0joY=; b=GNEqFsiAmhKRKlf1DsKt5LdED61ccmJnn8/S+XrztbGCB0+afnWVleaZuRXFCBV0KeVKC44xCtiCQE/Er97iwud9BLR+HMWpFFaWG7e0eI8IpN7P0z6vHCRZQu4uHs79JPZEx65BnfsmACMAKD0m79iG2+h+3ZmUNYPjLcPdEm8= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1570145002782641.3418040895903; Thu, 3 Oct 2019 16:23:22 -0700 (PDT) Received: from localhost ([::1]:40998 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGARL-0004nX-0E for importer@patchew.org; Thu, 03 Oct 2019 19:23:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41208) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGA0o-0004Ae-T2 for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iGA0m-0008Si-7l for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:54 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34362) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iGA0h-0008Pi-Nk for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:49 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3B5E1308404E; Thu, 3 Oct 2019 22:55:37 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-21.brq.redhat.com [10.40.204.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D1725600C4; Thu, 3 Oct 2019 22:55:30 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 6/7] tests/fw_cfg: Declare one QFWCFG for all tests Date: Fri, 4 Oct 2019 00:54:36 +0200 Message-Id: <20191003225437.16651-7-philmd@redhat.com> In-Reply-To: <20191003225437.16651-1-philmd@redhat.com> References: <20191003225437.16651-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Thu, 03 Oct 2019 22:55:37 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Li Qiang , Gerd Hoffmann , Stefan Hajnoczi , Paolo Bonzini , Laszlo Ersek Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" It is pointless to create/remove a QFWCFG object for each test. Move it to the test context and create/remove it only once. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Laszlo Ersek --- tests/fw_cfg-test.c | 74 +++++++++++++++++---------------------------- 1 file changed, 27 insertions(+), 47 deletions(-) diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c index 6fb52a4d08..12dbaf4e67 100644 --- a/tests/fw_cfg-test.c +++ b/tests/fw_cfg-test.c @@ -25,47 +25,42 @@ static uint16_t boot_menu =3D 0; =20 typedef struct { const char *machine_name; + QFWCFG *fw_cfg; } QTestCtx; =20 static void test_fw_cfg_signature(const void *opaque) { QTestCtx *ctx =3D (QTestCtx *)opaque; - QFWCFG *fw_cfg; QTestState *s; char buf[5]; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(); =20 - qfw_cfg_get(s, fw_cfg, FW_CFG_SIGNATURE, buf, 4); + qfw_cfg_get(s, ctx->fw_cfg, FW_CFG_SIGNATURE, buf, 4); buf[4] =3D 0; - g_assert_cmpstr(buf, =3D=3D, "QEMU"); - g_free(fw_cfg); + qtest_quit(s); } =20 static void test_fw_cfg_id(const void *opaque) { QTestCtx *ctx =3D (QTestCtx *)opaque; - QFWCFG *fw_cfg; QTestState *s; uint32_t id; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(); =20 - id =3D qfw_cfg_get_u32(s, fw_cfg, FW_CFG_ID); + id =3D qfw_cfg_get_u32(s, ctx->fw_cfg, FW_CFG_ID); g_assert((id =3D=3D 1) || (id =3D=3D 3)); - g_free(fw_cfg); + qtest_quit(s); } =20 static void test_fw_cfg_uuid(const void *opaque) { QTestCtx *ctx =3D (QTestCtx *)opaque; - QFWCFG *fw_cfg; QTestState *s; =20 uint8_t buf[16]; @@ -75,12 +70,10 @@ static void test_fw_cfg_uuid(const void *opaque) }; =20 s =3D qtest_initf("-M %s -uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8", = ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(); =20 - qfw_cfg_get(s, fw_cfg, FW_CFG_UUID, buf, 16); + qfw_cfg_get(s, ctx->fw_cfg, FW_CFG_UUID, buf, 16); g_assert(memcmp(buf, uuid, sizeof(buf)) =3D=3D 0); =20 - g_free(fw_cfg); qtest_quit(s); =20 } @@ -88,80 +81,71 @@ static void test_fw_cfg_uuid(const void *opaque) static void test_fw_cfg_ram_size(const void *opaque) { QTestCtx *ctx =3D (QTestCtx *)opaque; - QFWCFG *fw_cfg; QTestState *s; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(); =20 - g_assert_cmpint(qfw_cfg_get_u64(s, fw_cfg, FW_CFG_RAM_SIZE), =3D=3D, r= am_size); + g_assert_cmpint(qfw_cfg_get_u64(s, ctx->fw_cfg, FW_CFG_RAM_SIZE), + =3D=3D, ram_size); =20 - g_free(fw_cfg); qtest_quit(s); } =20 static void test_fw_cfg_nographic(const void *opaque) { QTestCtx *ctx =3D (QTestCtx *)opaque; - QFWCFG *fw_cfg; QTestState *s; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(); =20 - g_assert_cmpint(qfw_cfg_get_u16(s, fw_cfg, FW_CFG_NOGRAPHIC), =3D=3D, = 0); + g_assert_cmpint(qfw_cfg_get_u16(s, ctx->fw_cfg, FW_CFG_NOGRAPHIC), =3D= =3D, 0); =20 - g_free(fw_cfg); qtest_quit(s); } =20 static void test_fw_cfg_nb_cpus(const void *opaque) { QTestCtx *ctx =3D (QTestCtx *)opaque; - QFWCFG *fw_cfg; QTestState *s; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(); =20 - g_assert_cmpint(qfw_cfg_get_u16(s, fw_cfg, FW_CFG_NB_CPUS), =3D=3D, nb= _cpus); + g_assert_cmpint(qfw_cfg_get_u16(s, ctx->fw_cfg, FW_CFG_NB_CPUS), + =3D=3D, nb_cpus); =20 - g_free(fw_cfg); qtest_quit(s); } =20 static void test_fw_cfg_max_cpus(const void *opaque) { QTestCtx *ctx =3D (QTestCtx *)opaque; - QFWCFG *fw_cfg; QTestState *s; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(); =20 - g_assert_cmpint(qfw_cfg_get_u16(s, fw_cfg, FW_CFG_MAX_CPUS), =3D=3D, m= ax_cpus); - g_free(fw_cfg); + g_assert_cmpint(qfw_cfg_get_u16(s, ctx->fw_cfg, FW_CFG_MAX_CPUS), + =3D=3D, max_cpus); + qtest_quit(s); } =20 static void test_fw_cfg_numa(const void *opaque) { QTestCtx *ctx =3D (QTestCtx *)opaque; - QFWCFG *fw_cfg; QTestState *s; uint64_t *cpu_mask; uint64_t *node_mask; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(); =20 - g_assert_cmpint(qfw_cfg_get_u64(s, fw_cfg, FW_CFG_NUMA), =3D=3D, nb_no= des); + g_assert_cmpint(qfw_cfg_get_u64(s, ctx->fw_cfg, FW_CFG_NUMA), + =3D=3D, nb_nodes); =20 cpu_mask =3D g_new0(uint64_t, max_cpus); node_mask =3D g_new0(uint64_t, nb_nodes); =20 - qfw_cfg_read_data(s, fw_cfg, cpu_mask, sizeof(uint64_t) * max_cpus); - qfw_cfg_read_data(s, fw_cfg, node_mask, sizeof(uint64_t) * nb_nodes); + qfw_cfg_read_data(s, ctx->fw_cfg, cpu_mask, sizeof(uint64_t) * max_cpu= s); + qfw_cfg_read_data(s, ctx->fw_cfg, node_mask, sizeof(uint64_t) * nb_nod= es); =20 if (nb_nodes) { g_assert(cpu_mask[0] & 0x01); @@ -170,62 +154,56 @@ static void test_fw_cfg_numa(const void *opaque) =20 g_free(node_mask); g_free(cpu_mask); - g_free(fw_cfg); + qtest_quit(s); } =20 static void test_fw_cfg_boot_menu(const void *opaque) { QTestCtx *ctx =3D (QTestCtx *)opaque; - QFWCFG *fw_cfg; QTestState *s; =20 s =3D qtest_initf("-M %s", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(); =20 - g_assert_cmpint(qfw_cfg_get_u16(s, fw_cfg, FW_CFG_BOOT_MENU), + g_assert_cmpint(qfw_cfg_get_u16(s, ctx->fw_cfg, FW_CFG_BOOT_MENU), =3D=3D, boot_menu); - g_free(fw_cfg); + qtest_quit(s); } =20 static void test_fw_cfg_reboot_timeout(const void *opaque) { QTestCtx *ctx =3D (QTestCtx *)opaque; - QFWCFG *fw_cfg; QTestState *s; uint32_t reboot_timeout =3D 0; size_t filesize; =20 s =3D qtest_initf("-M %s -boot reboot-timeout=3D15", ctx->machine_name= ); - fw_cfg =3D pc_fw_cfg_init(); =20 - filesize =3D qfw_cfg_get_file(s, fw_cfg, "etc/boot-fail-wait", + filesize =3D qfw_cfg_get_file(s, ctx->fw_cfg, "etc/boot-fail-wait", &reboot_timeout, sizeof(reboot_timeout)); g_assert_cmpint(filesize, =3D=3D, sizeof(reboot_timeout)); reboot_timeout =3D le32_to_cpu(reboot_timeout); g_assert_cmpint(reboot_timeout, =3D=3D, 15); - g_free(fw_cfg); + qtest_quit(s); } =20 static void test_fw_cfg_splash_time(const void *opaque) { QTestCtx *ctx =3D (QTestCtx *)opaque; - QFWCFG *fw_cfg; QTestState *s; uint16_t splash_time =3D 0; size_t filesize; =20 s =3D qtest_initf("-M %s -boot splash-time=3D12", ctx->machine_name); - fw_cfg =3D pc_fw_cfg_init(); =20 - filesize =3D qfw_cfg_get_file(s, fw_cfg, "etc/boot-menu-wait", + filesize =3D qfw_cfg_get_file(s, ctx->fw_cfg, "etc/boot-menu-wait", &splash_time, sizeof(splash_time)); g_assert_cmpint(filesize, =3D=3D, sizeof(splash_time)); splash_time =3D le16_to_cpu(splash_time); g_assert_cmpint(splash_time, =3D=3D, 12); - g_free(fw_cfg); + qtest_quit(s); } =20 @@ -237,6 +215,7 @@ int main(int argc, char **argv) g_test_init(&argc, &argv, NULL); =20 ctx->machine_name =3D "pc"; + ctx->fw_cfg =3D pc_fw_cfg_init(); =20 qtest_add_data_func("fw_cfg/signature", ctx, test_fw_cfg_signature); qtest_add_data_func("fw_cfg/id", ctx, test_fw_cfg_id); @@ -259,6 +238,7 @@ int main(int argc, char **argv) =20 ret =3D g_test_run(); =20 + g_free(ctx->fw_cfg); g_free(ctx); =20 return ret; --=20 2.20.1 From nobody Wed May 8 09:50:10 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1570144620; cv=none; d=zoho.com; s=zohoarc; b=ITDXiaOTqu7jf5Nolxt3T46Cu8ztB5mXz1XKXDlkEAnPIOndvH/mJ19IVGDb5WLbkgSX/r0gd4eI6VRHZg+7fEKTXv3RZAOFh/lm3f3g3/B4vU6h7pD9GHfp9wVECdf5QQSHaquCOpVub8naZdNsHN+w9wRkEI35tC7Fu2fb+eg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1570144620; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=U4uhe5JCNkh/4G675niCegWswvanxk+GZBdJrN9yD3E=; b=m1NI3ZFevZhSN6X4tbRwdrzvXse+HitW9kj5eP8CIr0CtGR9+dmkBBYsnPa4xlBpxYqZGX6y150SfnzgcNjdgRESVaBCOsxF+zt5KsydkjbJuHDwlaR0nELW8G1Q+bSMRagOsEuR4NcvtXv5eDoe+0f7sJxglKeex+d+ptPLJRg= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1570144620308464.54175660999704; Thu, 3 Oct 2019 16:17:00 -0700 (PDT) Received: from localhost ([::1]:40960 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGALC-0000QP-AS for importer@patchew.org; Thu, 03 Oct 2019 19:16:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41211) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGA0o-0004BE-Vg for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iGA0n-0008TN-Im for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:54 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45248) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iGA0k-0008QZ-1N for qemu-devel@nongnu.org; Thu, 03 Oct 2019 18:55:52 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5EFBFC057F23; Thu, 3 Oct 2019 22:55:42 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-21.brq.redhat.com [10.40.204.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DC4AD600C4; Thu, 3 Oct 2019 22:55:37 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 7/7] tests/fw_cfg: Run the tests on big-endian targets Date: Fri, 4 Oct 2019 00:54:37 +0200 Message-Id: <20191003225437.16651-8-philmd@redhat.com> In-Reply-To: <20191003225437.16651-1-philmd@redhat.com> References: <20191003225437.16651-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 03 Oct 2019 22:55:42 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Li Qiang , Gerd Hoffmann , Stefan Hajnoczi , Paolo Bonzini , Laszlo Ersek Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" We have been restricting our fw_cfg tests to the PC machine, which is a little-endian architecture. The fw_cfg device is also used on the SPARC and PowerPC architectures, which can run in big-endian configuration. Since we want to be sure our device does not regress regardless the endianess used, enable this test one these targets. The NUMA selector is X86 specific, restrict it to this arch. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/Makefile.include | 2 ++ tests/fw_cfg-test.c | 18 +++++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/tests/Makefile.include b/tests/Makefile.include index 3543451ed3..322bdb36ff 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -242,6 +242,7 @@ check-qtest-ppc64-$(CONFIG_VGA) +=3D tests/display-vga-= test$(EXESUF) check-qtest-ppc64-y +=3D tests/numa-test$(EXESUF) check-qtest-ppc64-$(CONFIG_IVSHMEM_DEVICE) +=3D tests/ivshmem-test$(EXESUF) check-qtest-ppc64-y +=3D tests/cpu-plug-test$(EXESUF) +check-qtest-ppc64-y +=3D tests/fw_cfg-test$(EXESUF) =20 check-qtest-sh4-$(CONFIG_ISA_TESTDEV) =3D tests/endianness-test$(EXESUF) =20 @@ -250,6 +251,7 @@ check-qtest-sh4eb-$(CONFIG_ISA_TESTDEV) =3D tests/endia= nness-test$(EXESUF) check-qtest-sparc-y +=3D tests/prom-env-test$(EXESUF) check-qtest-sparc-y +=3D tests/m48t59-test$(EXESUF) check-qtest-sparc-y +=3D tests/boot-serial-test$(EXESUF) +check-qtest-sparc-y +=3D tests/fw_cfg-test$(EXESUF) =20 check-qtest-sparc64-$(CONFIG_ISA_TESTDEV) =3D tests/endianness-test$(EXESU= F) check-qtest-sparc64-y +=3D tests/prom-env-test$(EXESUF) diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c index 12dbaf4e67..39bbc9647e 100644 --- a/tests/fw_cfg-test.c +++ b/tests/fw_cfg-test.c @@ -209,13 +209,22 @@ static void test_fw_cfg_splash_time(const void *opaqu= e) =20 int main(int argc, char **argv) { + const char *arch =3D qtest_get_arch(); QTestCtx *ctx =3D g_new(QTestCtx, 1); int ret; =20 g_test_init(&argc, &argv, NULL); =20 - ctx->machine_name =3D "pc"; - ctx->fw_cfg =3D pc_fw_cfg_init(); + if (g_str_equal(arch, "i386") || g_str_equal(arch, "x86_64")) { + ctx->machine_name =3D "pc"; + ctx->fw_cfg =3D pc_fw_cfg_init(); + } else if (g_str_equal(arch, "sparc")) { + ctx->machine_name =3D "SS-5"; + ctx->fw_cfg =3D mm_fw_cfg_init(0xd00000510ULL); + } else if (g_str_equal(arch, "ppc64")) { + ctx->machine_name =3D "mac99"; + ctx->fw_cfg =3D mm_fw_cfg_init(0xf0000510); + } =20 qtest_add_data_func("fw_cfg/signature", ctx, test_fw_cfg_signature); qtest_add_data_func("fw_cfg/id", ctx, test_fw_cfg_id); @@ -230,12 +239,15 @@ int main(int argc, char **argv) qtest_add_func("fw_cfg/boot_device", test_fw_cfg_boot_device); #endif qtest_add_data_func("fw_cfg/max_cpus", ctx, test_fw_cfg_max_cpus); - qtest_add_data_func("fw_cfg/numa", ctx, test_fw_cfg_numa); qtest_add_data_func("fw_cfg/boot_menu", ctx, test_fw_cfg_boot_menu); qtest_add_data_func("fw_cfg/reboot_timeout", ctx, test_fw_cfg_reboot_timeout); qtest_add_data_func("fw_cfg/splash_time", ctx, test_fw_cfg_splash_time= ); =20 + if (g_str_equal(arch, "i386") || g_str_equal(arch, "x86_64")) { + qtest_add_data_func("fw_cfg/numa", ctx, test_fw_cfg_numa); + } + ret =3D g_test_run(); =20 g_free(ctx->fw_cfg); --=20 2.20.1