Re: [PATCH 3/5] hw/s390x/pv: Simplify s390_is_pv() for user emulation
On 16/12/22 23:04, Philippe Mathieu-Daudé wrote: Protected Virtualization is irrelevant in user emulation. Signed-off-by: Philippe Mathieu-Daudé --- include/hw/s390x/pv.h | 8 1 file changed, 8 insertions(+) diff --git a/include/hw/s390x/pv.h b/include/hw/s390x/pv.h index 5bca5bcaf1..a4814ce303 100644 --- a/include/hw/s390x/pv.h +++ b/include/hw/s390x/pv.h @@ -12,6 +12,12 @@ #ifndef HW_S390_PV_H #define HW_S390_PV_H +#ifdef CONFIG_USER_ONLY + +static inline bool s390_is_pv(void) { return false; } This change is because I'm trying to get ride of: ../target/s390x/cpu_features.c: In function ‘s390_fill_feat_block’: ../target/s390x/cpu_features.c:112:10: error: implicit declaration of function ‘s390_is_pv’ [-Werror=implicit-function-declaration] 112 | if (!s390_is_pv()) { | ^~ ../target/s390x/cpu_features.c:112:10: error: nested extern declaration of ‘s390_is_pv’ [-Werror=nested-externs] ../target/s390x/cpu_models.c: In function ‘s390_has_feat’: ../target/s390x/cpu_models.c:239:9: error: implicit declaration of function ‘s390_is_pv’ [-Werror=implicit-function-declaration] 239 | if (s390_is_pv()) { | ^~ ../target/s390x/cpu_models.c:239:9: error: nested extern declaration of ‘s390_is_pv’ [-Werror=nested-externs] without including in common code. Common code shouldn't include hw/ header... I'll respin guarding more code against CONFIG_USER_ONLY.
[PATCH 3/5] hw/s390x/pv: Simplify s390_is_pv() for user emulation
Protected Virtualization is irrelevant in user emulation. Signed-off-by: Philippe Mathieu-Daudé --- include/hw/s390x/pv.h | 8 1 file changed, 8 insertions(+) diff --git a/include/hw/s390x/pv.h b/include/hw/s390x/pv.h index 5bca5bcaf1..a4814ce303 100644 --- a/include/hw/s390x/pv.h +++ b/include/hw/s390x/pv.h @@ -12,6 +12,12 @@ #ifndef HW_S390_PV_H #define HW_S390_PV_H +#ifdef CONFIG_USER_ONLY + +static inline bool s390_is_pv(void) { return false; } + +#else /* !CONFIG_USER_ONLY */ + #include "sysemu/kvm.h" #ifdef CONFIG_KVM @@ -79,4 +85,6 @@ static inline int kvm_s390_dump_completion_data(void *buff) { return 0; } int s390_pv_kvm_init(ConfidentialGuestSupport *cgs, Error **errp); int s390_pv_init(ConfidentialGuestSupport *cgs, Error **errp); +#endif /* CONFIG_USER_ONLY */ + #endif /* HW_S390_PV_H */ -- 2.38.1