[PATCH] hw/s390x: Include missing 'cpu.h' header

Philippe Mathieu-Daudé posted 1 patch 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240322162822.7391-1-philmd@linaro.org
Maintainers: Halil Pasic <pasic@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, Thomas Huth <thuth@redhat.com>, Eric Farman <farman@linux.ibm.com>, Richard Henderson <richard.henderson@linaro.org>, David Hildenbrand <david@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>
hw/s390x/s390-virtio-hcall.h | 2 ++
hw/s390x/s390-stattrib.c     | 1 +
2 files changed, 3 insertions(+)
[PATCH] hw/s390x: Include missing 'cpu.h' header
Posted by Philippe Mathieu-Daudé 1 month ago
"cpu.h" is implicitly included. Include it explicitly to
avoid the following error when refactoring headers:

  hw/s390x/s390-stattrib.c:86:40: error: use of undeclared identifier 'TARGET_PAGE_SIZE'
      len = sac->peek_stattr(sas, addr / TARGET_PAGE_SIZE, buflen, vals);
                                         ^
  hw/s390x/s390-stattrib.c:94:58: error: use of undeclared identifier 'TARGET_PAGE_MASK'
                     addr / TARGET_PAGE_SIZE, len, addr & ~TARGET_PAGE_MASK);
                                                         ^
  hw/s390x/s390-stattrib.c:224:40: error: use of undeclared identifier 'TARGET_PAGE_BITS'
          qemu_put_be64(f, (start_gfn << TARGET_PAGE_BITS) | STATTR_FLAG_MORE);
                                         ^
  In file included from hw/s390x/s390-virtio-ccw.c:17:
  hw/s390x/s390-virtio-hcall.h:22:27: error: unknown type name 'CPUS390XState'
  int s390_virtio_hypercall(CPUS390XState *env);
                            ^

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/s390x/s390-virtio-hcall.h | 2 ++
 hw/s390x/s390-stattrib.c     | 1 +
 2 files changed, 3 insertions(+)

diff --git a/hw/s390x/s390-virtio-hcall.h b/hw/s390x/s390-virtio-hcall.h
index 9800c4b351..3ae6d6ae3a 100644
--- a/hw/s390x/s390-virtio-hcall.h
+++ b/hw/s390x/s390-virtio-hcall.h
@@ -13,6 +13,7 @@
 #define HW_S390_VIRTIO_HCALL_H
 
 #include "standard-headers/asm-s390/virtio-ccw.h"
+#include "cpu.h"
 
 /* The only thing that we need from the old kvm_virtio.h file */
 #define KVM_S390_VIRTIO_NOTIFY 0
@@ -20,4 +21,5 @@
 typedef int (*s390_virtio_fn)(const uint64_t *args);
 void s390_register_virtio_hypercall(uint64_t code, s390_virtio_fn fn);
 int s390_virtio_hypercall(CPUS390XState *env);
+
 #endif /* HW_S390_VIRTIO_HCALL_H */
diff --git a/hw/s390x/s390-stattrib.c b/hw/s390x/s390-stattrib.c
index c483b62a9b..aaf48ac73f 100644
--- a/hw/s390x/s390-stattrib.c
+++ b/hw/s390x/s390-stattrib.c
@@ -19,6 +19,7 @@
 #include "exec/ram_addr.h"
 #include "qapi/error.h"
 #include "qapi/qmp/qdict.h"
+#include "cpu.h"
 
 /* 512KiB cover 2GB of guest memory */
 #define CMMA_BLOCK_SIZE  (512 * KiB)
-- 
2.41.0


Re: [PATCH] hw/s390x: Include missing 'cpu.h' header
Posted by Philippe Mathieu-Daudé 1 week, 4 days ago
On 22/3/24 17:28, Philippe Mathieu-Daudé wrote:
> "cpu.h" is implicitly included. Include it explicitly to
> avoid the following error when refactoring headers:
> 
>    hw/s390x/s390-stattrib.c:86:40: error: use of undeclared identifier 'TARGET_PAGE_SIZE'
>        len = sac->peek_stattr(sas, addr / TARGET_PAGE_SIZE, buflen, vals);
>                                           ^
>    hw/s390x/s390-stattrib.c:94:58: error: use of undeclared identifier 'TARGET_PAGE_MASK'
>                       addr / TARGET_PAGE_SIZE, len, addr & ~TARGET_PAGE_MASK);
>                                                           ^
>    hw/s390x/s390-stattrib.c:224:40: error: use of undeclared identifier 'TARGET_PAGE_BITS'
>            qemu_put_be64(f, (start_gfn << TARGET_PAGE_BITS) | STATTR_FLAG_MORE);
>                                           ^
>    In file included from hw/s390x/s390-virtio-ccw.c:17:
>    hw/s390x/s390-virtio-hcall.h:22:27: error: unknown type name 'CPUS390XState'
>    int s390_virtio_hypercall(CPUS390XState *env);
>                              ^
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/s390x/s390-virtio-hcall.h | 2 ++
>   hw/s390x/s390-stattrib.c     | 1 +
>   2 files changed, 3 insertions(+)

Patch queued via hw-misc, thanks.

Re: [PATCH] hw/s390x: Include missing 'cpu.h' header
Posted by Eric Farman 1 month ago
On Fri, 2024-03-22 at 17:28 +0100, Philippe Mathieu-Daudé wrote:
> "cpu.h" is implicitly included. Include it explicitly to
> avoid the following error when refactoring headers:
> 
>   hw/s390x/s390-stattrib.c:86:40: error: use of undeclared identifier
> 'TARGET_PAGE_SIZE'
>       len = sac->peek_stattr(sas, addr / TARGET_PAGE_SIZE, buflen,
> vals);
>                                          ^
>   hw/s390x/s390-stattrib.c:94:58: error: use of undeclared identifier
> 'TARGET_PAGE_MASK'
>                      addr / TARGET_PAGE_SIZE, len, addr &
> ~TARGET_PAGE_MASK);
>                                                          ^
>   hw/s390x/s390-stattrib.c:224:40: error: use of undeclared
> identifier 'TARGET_PAGE_BITS'
>           qemu_put_be64(f, (start_gfn << TARGET_PAGE_BITS) |
> STATTR_FLAG_MORE);
>                                          ^
>   In file included from hw/s390x/s390-virtio-ccw.c:17:
>   hw/s390x/s390-virtio-hcall.h:22:27: error: unknown type name
> 'CPUS390XState'
>   int s390_virtio_hypercall(CPUS390XState *env);
>                             ^
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>  hw/s390x/s390-virtio-hcall.h | 2 ++
>  hw/s390x/s390-stattrib.c     | 1 +
>  2 files changed, 3 insertions(+)

These aren't the only implicit users of cpu.h in hw/s390x/ but if this
solves one problem, then that's good.

Acked-by: Eric Farman <farman@linux.ibm.com>
Re: [PATCH] hw/s390x: Include missing 'cpu.h' header
Posted by Thomas Huth 1 month ago
On 22/03/2024 17.28, Philippe Mathieu-Daudé wrote:
> "cpu.h" is implicitly included. Include it explicitly to
> avoid the following error when refactoring headers:
> 
>    hw/s390x/s390-stattrib.c:86:40: error: use of undeclared identifier 'TARGET_PAGE_SIZE'
>        len = sac->peek_stattr(sas, addr / TARGET_PAGE_SIZE, buflen, vals);
>                                           ^
>    hw/s390x/s390-stattrib.c:94:58: error: use of undeclared identifier 'TARGET_PAGE_MASK'
>                       addr / TARGET_PAGE_SIZE, len, addr & ~TARGET_PAGE_MASK);
>                                                           ^
>    hw/s390x/s390-stattrib.c:224:40: error: use of undeclared identifier 'TARGET_PAGE_BITS'
>            qemu_put_be64(f, (start_gfn << TARGET_PAGE_BITS) | STATTR_FLAG_MORE);
>                                           ^
>    In file included from hw/s390x/s390-virtio-ccw.c:17:
>    hw/s390x/s390-virtio-hcall.h:22:27: error: unknown type name 'CPUS390XState'
>    int s390_virtio_hypercall(CPUS390XState *env);
>                              ^
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/s390x/s390-virtio-hcall.h | 2 ++
>   hw/s390x/s390-stattrib.c     | 1 +
>   2 files changed, 3 insertions(+)


Reviewed-by: Thomas Huth <thuth@redhat.com>