[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 7/7] tests/fw_cfg: Run the tests on big-endian targets
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH 7/7] tests/fw_cfg: Run the tests on big-endian targets |
Date: |
Fri, 4 Oct 2019 00:54:37 +0200 |
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é <address@hidden>
---
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) +=
tests/display-vga-test$(EXESUF)
check-qtest-ppc64-y += tests/numa-test$(EXESUF)
check-qtest-ppc64-$(CONFIG_IVSHMEM_DEVICE) += tests/ivshmem-test$(EXESUF)
check-qtest-ppc64-y += tests/cpu-plug-test$(EXESUF)
+check-qtest-ppc64-y += tests/fw_cfg-test$(EXESUF)
check-qtest-sh4-$(CONFIG_ISA_TESTDEV) = tests/endianness-test$(EXESUF)
@@ -250,6 +251,7 @@ check-qtest-sh4eb-$(CONFIG_ISA_TESTDEV) =
tests/endianness-test$(EXESUF)
check-qtest-sparc-y += tests/prom-env-test$(EXESUF)
check-qtest-sparc-y += tests/m48t59-test$(EXESUF)
check-qtest-sparc-y += tests/boot-serial-test$(EXESUF)
+check-qtest-sparc-y += tests/fw_cfg-test$(EXESUF)
check-qtest-sparc64-$(CONFIG_ISA_TESTDEV) = tests/endianness-test$(EXESUF)
check-qtest-sparc64-y += 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 *opaque)
int main(int argc, char **argv)
{
+ const char *arch = qtest_get_arch();
QTestCtx *ctx = g_new(QTestCtx, 1);
int ret;
g_test_init(&argc, &argv, NULL);
- ctx->machine_name = "pc";
- ctx->fw_cfg = pc_fw_cfg_init();
+ if (g_str_equal(arch, "i386") || g_str_equal(arch, "x86_64")) {
+ ctx->machine_name = "pc";
+ ctx->fw_cfg = pc_fw_cfg_init();
+ } else if (g_str_equal(arch, "sparc")) {
+ ctx->machine_name = "SS-5";
+ ctx->fw_cfg = mm_fw_cfg_init(0xd00000510ULL);
+ } else if (g_str_equal(arch, "ppc64")) {
+ ctx->machine_name = "mac99";
+ ctx->fw_cfg = mm_fw_cfg_init(0xf0000510);
+ }
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);
+ 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 = g_test_run();
g_free(ctx->fw_cfg);
--
2.20.1
- [PATCH 2/7] tests/libqos/fw_cfg: Document mm_fw_cfg_init to drop mm_fw_cfg_uninit, (continued)
- [PATCH 2/7] tests/libqos/fw_cfg: Document mm_fw_cfg_init to drop mm_fw_cfg_uninit, Philippe Mathieu-Daudé, 2019/10/03
- [PATCH 3/7] tests/libqos/fw_cfg: Document pc_fw_cfg_init to drop pc_fw_cfg_uninit, Philippe Mathieu-Daudé, 2019/10/03
- [PATCH 4/7] tests/fw_cfg: Let the tests use a context, Philippe Mathieu-Daudé, 2019/10/03
- [PATCH 5/7] tests/libqos/fw_cfg: Pass QTestState as argument, Philippe Mathieu-Daudé, 2019/10/03
- [PATCH 6/7] tests/fw_cfg: Declare one QFWCFG for all tests, Philippe Mathieu-Daudé, 2019/10/03
- [PATCH 7/7] tests/fw_cfg: Run the tests on big-endian targets,
Philippe Mathieu-Daudé <=
- Re: [PATCH 7/7] tests/fw_cfg: Run the tests on big-endian targets, Laurent Vivier, 2019/10/04
- Re: [PATCH 7/7] tests/fw_cfg: Run the tests on big-endian targets, Philippe Mathieu-Daudé, 2019/10/04
- Re: [PATCH 7/7] tests/fw_cfg: Run the tests on big-endian targets, Laurent Vivier, 2019/10/04
- Re: [PATCH 7/7] tests/fw_cfg: Run the tests on big-endian targets, Philippe Mathieu-Daudé, 2019/10/04
- Re: [PATCH 7/7] tests/fw_cfg: Run the tests on big-endian targets, Laurent Vivier, 2019/10/04
- Re: [PATCH 7/7] tests/fw_cfg: Run the tests on big-endian targets, Philippe Mathieu-Daudé, 2019/10/04
- Re: [PATCH 7/7] tests/fw_cfg: Run the tests on big-endian targets, Thomas Huth, 2019/10/07
Re: [PATCH 0/7] fw_cfg: Run tests on big-endian, no-reply, 2019/10/03