Re: [PATCH 3/5] hw/s390x/pv: Simplify s390_is_pv() for user emulation

2022-12-17 Thread Philippe Mathieu-Daudé

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

2022-12-16 Thread Philippe Mathieu-Daudé
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