On Sun, 17 Jan 2021 at 19:24, Philippe Mathieu-Daudé <f4...@amsat.org> wrote: > > 'vmstate_dummy' is special and only used for user-mode. Rename > it to something more specific. > It was introduced restricted to user-mode in commit c71c3e99b8 > ("Add a vmstate_dummy struct for CONFIG_USER_ONLY") but this > restriction was later removed in commit 6afc14e92ac ("migration: > Fix warning caused by missing declaration of vmstate_dummy"). > Avoid the missing declaration warning by adding a stub for the > symbol, and restore the #ifdef'ry.
So what is the actual use of vmstate_dummy ? I had a grep through and as far as I can see the points where vmstate_cpu_common is used are all in softmmu-only code. I tried this patch and QEMU seems to compile OK: diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index 140fa32a5e3..a827417a4d8 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -1131,8 +1131,6 @@ bool target_words_bigendian(void); #ifdef CONFIG_SOFTMMU extern const VMStateDescription vmstate_cpu_common; -#else -#define vmstate_cpu_common vmstate_dummy #endif #define VMSTATE_CPU() { \ diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h index 075ee800960..8df7b69f389 100644 --- a/include/migration/vmstate.h +++ b/include/migration/vmstate.h @@ -194,8 +194,6 @@ struct VMStateDescription { const VMStateDescription **subsections; }; -extern const VMStateDescription vmstate_dummy; - extern const VMStateInfo vmstate_info_bool; extern const VMStateInfo vmstate_info_int8; diff --git a/stubs/vmstate.c b/stubs/vmstate.c index cc4fe41dfc2..8513d9204e4 100644 --- a/stubs/vmstate.c +++ b/stubs/vmstate.c @@ -1,8 +1,6 @@ #include "qemu/osdep.h" #include "migration/vmstate.h" -const VMStateDescription vmstate_dummy = {}; - int vmstate_register_with_alias_id(VMStateIf *obj, uint32_t instance_id, const VMStateDescription *vmsd, thanks -- PMM