On 10/6/21 11:55 AM, Philippe Mathieu-Daudé wrote: > On 10/4/21 10:19, Paolo Bonzini wrote: >> On 02/10/21 14:53, Philippe Mathieu-Daudé wrote: >>> Only declare sev_enabled() and sev_es_enabled() when CONFIG_SEV is >>> set, to allow the compiler to elide unused code. Remove unnecessary >>> stubs. >>> >>> Signed-off-by: Philippe Mathieu-Daudé <philmd@xxxxxxxxxx> >>> --- >>> include/sysemu/sev.h | 14 +++++++++++++- >>> target/i386/sev_i386.h | 3 --- >>> target/i386/cpu.c | 16 +++++++++------- >>> target/i386/sev-stub.c | 36 ------------------------------------ >>> target/i386/meson.build | 2 +- >>> 5 files changed, 23 insertions(+), 48 deletions(-) >>> delete mode 100644 target/i386/sev-stub.c >>> >>> diff --git a/include/sysemu/sev.h b/include/sysemu/sev.h >>> index a329ed75c1c..f5c625bb3b3 100644 >>> --- a/include/sysemu/sev.h >>> +++ b/include/sysemu/sev.h >>> @@ -14,9 +14,21 @@ >>> #ifndef QEMU_SEV_H >>> #define QEMU_SEV_H >>> -#include "sysemu/kvm.h" >>> +#ifndef CONFIG_USER_ONLY >>> +#include CONFIG_DEVICES /* CONFIG_SEV */ >>> +#endif >>> +#ifdef CONFIG_SEV >>> bool sev_enabled(void); >>> +bool sev_es_enabled(void); >>> +#else >>> +#define sev_enabled() 0 >>> +#define sev_es_enabled() 0 >>> +#endif >> This means that sev.h can only be included from target-specific files. >> >> An alternative could be: >> >> #ifdef NEED_CPU_H >> # include CONFIG_DEVICES > <command-line>: fatal error: x86_64-linux-user-config-devices.h: No such > file or directory > >> #endif >> >> #if defined NEED_CPU_H && !defined CONFIG_SEV >> # define sev_enabled() 0 >> # define sev_es_enabled() 0 >> #else >> bool sev_enabled(void); >> bool sev_es_enabled(void); >> #endif >> >> ... but in fact sysemu/sev.h _is_ only used from x86-specific files. So >> should it be moved to include/hw/i386, and even merged with >> target/i386/sev_i386.h? Do we need two files? > No clue, I don't think we need. Brijesh? Sorry for the late reply, we do not need two files and it can be easily merged. thanks