Message ID | 20231010092901.99189-10-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | target: Make 'cpu-qom.h' really target agnostic | expand |
On 10/10/23 02:28, Philippe Mathieu-Daudé wrote: > TARGET_DEFAULT_CPU_TYPE depends on the TARGET_X86_64 definition > which is target specific. Such target specific definition taint > "cpu-qom.h". > > Since "cpu-qom.h" must be target agnostic, remove this target > specific definition uses by inlining TARGET_DEFAULT_CPU_TYPE in > the two machines using it. > > "target/i386/cpu-qom.h" is now fully target agnostic. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > target/i386/cpu.h | 6 ------ > hw/i386/microvm.c | 6 +++++- > hw/i386/pc.c | 6 +++++- > 3 files changed, 10 insertions(+), 8 deletions(-) > > diff --git a/target/i386/cpu.h b/target/i386/cpu.h > index 862e4f1ff5..7c976971c7 100644 > --- a/target/i386/cpu.h > +++ b/target/i386/cpu.h > @@ -2243,12 +2243,6 @@ uint64_t cpu_get_tsc(CPUX86State *env); > > #define CPU_RESOLVING_TYPE TYPE_X86_CPU > > -#ifdef TARGET_X86_64 > -#define TARGET_DEFAULT_CPU_TYPE X86_CPU_TYPE_NAME("qemu64") > -#else > -#define TARGET_DEFAULT_CPU_TYPE X86_CPU_TYPE_NAME("qemu32") > -#endif > - > #define cpu_list x86_cpu_list This isn't cpu-qom.h, so the entire patch description is off... r~
diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 862e4f1ff5..7c976971c7 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -2243,12 +2243,6 @@ uint64_t cpu_get_tsc(CPUX86State *env); #define CPU_RESOLVING_TYPE TYPE_X86_CPU -#ifdef TARGET_X86_64 -#define TARGET_DEFAULT_CPU_TYPE X86_CPU_TYPE_NAME("qemu64") -#else -#define TARGET_DEFAULT_CPU_TYPE X86_CPU_TYPE_NAME("qemu32") -#endif - #define cpu_list x86_cpu_list /* MMU modes definitions */ diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c index b9c93039e2..281bf0c364 100644 --- a/hw/i386/microvm.c +++ b/hw/i386/microvm.c @@ -650,7 +650,11 @@ static void microvm_class_init(ObjectClass *oc, void *data) mc->has_hotpluggable_cpus = false; mc->auto_enable_numa_with_memhp = false; mc->auto_enable_numa_with_memdev = false; - mc->default_cpu_type = TARGET_DEFAULT_CPU_TYPE; +#ifdef TARGET_X86_64 + mc->default_cpu_type = X86_CPU_TYPE_NAME("qemu64"); +#else + mc->default_cpu_type = X86_CPU_TYPE_NAME("qemu32"); +#endif mc->nvdimm_supported = false; mc->default_ram_id = "microvm.ram"; diff --git a/hw/i386/pc.c b/hw/i386/pc.c index aad7e8ccd1..2f7c0c1bdb 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1818,7 +1818,11 @@ static void pc_machine_class_init(ObjectClass *oc, void *data) hc->plug = pc_machine_device_plug_cb; hc->unplug_request = pc_machine_device_unplug_request_cb; hc->unplug = pc_machine_device_unplug_cb; - mc->default_cpu_type = TARGET_DEFAULT_CPU_TYPE; +#ifdef TARGET_X86_64 + mc->default_cpu_type = X86_CPU_TYPE_NAME("qemu64"); +#else + mc->default_cpu_type = X86_CPU_TYPE_NAME("qemu32"); +#endif mc->nvdimm_supported = true; mc->smp_props.dies_supported = true; mc->default_ram_id = "pc.ram";
TARGET_DEFAULT_CPU_TYPE depends on the TARGET_X86_64 definition which is target specific. Such target specific definition taint "cpu-qom.h". Since "cpu-qom.h" must be target agnostic, remove this target specific definition uses by inlining TARGET_DEFAULT_CPU_TYPE in the two machines using it. "target/i386/cpu-qom.h" is now fully target agnostic. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- target/i386/cpu.h | 6 ------ hw/i386/microvm.c | 6 +++++- hw/i386/pc.c | 6 +++++- 3 files changed, 10 insertions(+), 8 deletions(-)