On 26/3/24 11:57, Markus Armbruster wrote:
Philippe Mathieu-Daudé <phi...@linaro.org> writes:
"target/foo/cpu-qom.h" can not use any target specific definitions.
Currently "target/i386/cpu-qom.h" defines TYPE_X86_CPU depending
on the i386/x86_64 build type. This doesn't scale in a heterogeneous
context where we need to access both types concurrently.
In order to do that, introduce the new I386_CPU / X86_64_CPU
types, both inheriting a common TYPE_X86_CPU base type.
Keep the current "base" and "max" CPU types as 32 or 64-bit,
depending on the binary built.
Adapt the cpu-plug-test, since the 'base' architecture is now
common to both 32/64-bit x86 targets.
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Acked-by: Richard Henderson <richard.hender...@linaro.org>
[...]
diff --git a/tests/qtest/cpu-plug-test.c b/tests/qtest/cpu-plug-test.c
index 7f5dd5f85a..97316d131f 100644
--- a/tests/qtest/cpu-plug-test.c
+++ b/tests/qtest/cpu-plug-test.c
@@ -90,7 +90,7 @@ static void add_pc_test_case(const char *mname)
data->machine = g_strdup(mname);
data->cpu_model = "Haswell"; /* 1.3+ theoretically */
data->device_model = g_strdup_printf("%s-%s-cpu", data->cpu_model,
- qtest_get_arch());
+ qtest_get_base_arch());
data->sockets = 1;
data->cores = 3;
data->threads = 2;
Doesn't build for me:
../tests/qtest/cpu-plug-test.c: In function ‘add_pc_test_case’:
../tests/qtest/cpu-plug-test.c:93:42: error: implicit declaration of function
‘qtest_get_base_arch’; did you mean ‘qtest_get_arch’?
[-Werror=implicit-function-declaration]
93 | qtest_get_base_arch());
| ^~~~~~~~~~~~~~~~~~~
| qtest_get_arch
../tests/qtest/cpu-plug-test.c:93:42: error: nested extern declaration of
‘qtest_get_base_arch’ [-Werror=nested-externs]
../tests/qtest/cpu-plug-test.c:92:47: error: format ‘%s’ expects argument of
type ‘char *’, but argument 3 has type ‘int’ [-Werror=format=]
92 | data->device_model = g_strdup_printf("%s-%s-cpu", data->cpu_model,
| ~^
| |
| char *
| %d
93 | qtest_get_base_arch());
| ~~~~~~~~~~~~~~~~~~~~~
| |
| int
Sorry, I forgot to mention this series is based on:
https://lore.kernel.org/qemu-devel/20231010074952.79165-1-phi...@linaro.org/
"qtest: Introduce qtest_get_base_arch() and qtest_get_arch_bits()"