include/hw/s390x/css.h | 7 ------- include/hw/s390x/s390_flic.h | 7 +++++++ 2 files changed, 7 insertions(+), 7 deletions(-)
Not all s390x devices require to have access to the CPU internals.
To reduce the include dependencies on "s390x/css.h", move the
S390_ADAPTER_SUPPRESSIBLE definition to "s390x/s390_flic.h".
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
include/hw/s390x/css.h | 7 -------
include/hw/s390x/s390_flic.h | 7 +++++++
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h
index 08c869ab0a..7858666307 100644
--- a/include/hw/s390x/css.h
+++ b/include/hw/s390x/css.h
@@ -12,7 +12,6 @@
#ifndef CSS_H
#define CSS_H
-#include "cpu.h"
#include "hw/s390x/adapter.h"
#include "hw/s390x/s390_flic.h"
#include "hw/s390x/ioinst.h"
@@ -233,12 +232,6 @@ uint32_t css_get_adapter_id(CssIoAdapterType type, uint8_t isc);
void css_register_io_adapters(CssIoAdapterType type, bool swap, bool maskable,
uint8_t flags, Error **errp);
-#ifndef CONFIG_KVM
-#define S390_ADAPTER_SUPPRESSIBLE 0x01
-#else
-#define S390_ADAPTER_SUPPRESSIBLE KVM_S390_ADAPTER_SUPPRESSIBLE
-#endif
-
#ifndef CONFIG_USER_ONLY
SubchDev *css_find_subch(uint8_t m, uint8_t cssid, uint8_t ssid,
uint16_t schid);
diff --git a/include/hw/s390x/s390_flic.h b/include/hw/s390x/s390_flic.h
index 4687ecfe83..6bf9d73728 100644
--- a/include/hw/s390x/s390_flic.h
+++ b/include/hw/s390x/s390_flic.h
@@ -17,6 +17,13 @@
#include "hw/s390x/adapter.h"
#include "hw/virtio/virtio.h"
#include "qemu/queue.h"
+#include "cpu.h"
+
+#ifndef CONFIG_KVM
+#define S390_ADAPTER_SUPPRESSIBLE 0x01
+#else
+#define S390_ADAPTER_SUPPRESSIBLE KVM_S390_ADAPTER_SUPPRESSIBLE
+#endif
/*
* Reserve enough gsis to accommodate all virtio devices.
--
2.21.3
On Wed, 15 Jul 2020 15:18:45 +0200 Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > Not all s390x devices require to have access to the CPU internals. > > To reduce the include dependencies on "s390x/css.h", move the > S390_ADAPTER_SUPPRESSIBLE definition to "s390x/s390_flic.h". But css.h is not 'CPU internals', it is the main I/O subsystem? > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > include/hw/s390x/css.h | 7 ------- > include/hw/s390x/s390_flic.h | 7 +++++++ > 2 files changed, 7 insertions(+), 7 deletions(-) > > diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h > index 08c869ab0a..7858666307 100644 > --- a/include/hw/s390x/css.h > +++ b/include/hw/s390x/css.h > @@ -12,7 +12,6 @@ > #ifndef CSS_H > #define CSS_H > > -#include "cpu.h" FWIW, we should just be able to remove this #include... > #include "hw/s390x/adapter.h" > #include "hw/s390x/s390_flic.h" > #include "hw/s390x/ioinst.h" > @@ -233,12 +232,6 @@ uint32_t css_get_adapter_id(CssIoAdapterType type, uint8_t isc); > void css_register_io_adapters(CssIoAdapterType type, bool swap, bool maskable, > uint8_t flags, Error **errp); > > -#ifndef CONFIG_KVM > -#define S390_ADAPTER_SUPPRESSIBLE 0x01 > -#else > -#define S390_ADAPTER_SUPPRESSIBLE KVM_S390_ADAPTER_SUPPRESSIBLE > -#endif > - > #ifndef CONFIG_USER_ONLY > SubchDev *css_find_subch(uint8_t m, uint8_t cssid, uint8_t ssid, > uint16_t schid); > diff --git a/include/hw/s390x/s390_flic.h b/include/hw/s390x/s390_flic.h > index 4687ecfe83..6bf9d73728 100644 > --- a/include/hw/s390x/s390_flic.h > +++ b/include/hw/s390x/s390_flic.h > @@ -17,6 +17,13 @@ > #include "hw/s390x/adapter.h" > #include "hw/virtio/virtio.h" > #include "qemu/queue.h" > +#include "cpu.h" ...and we do not need it here AFAICS. > + > +#ifndef CONFIG_KVM > +#define S390_ADAPTER_SUPPRESSIBLE 0x01 > +#else > +#define S390_ADAPTER_SUPPRESSIBLE KVM_S390_ADAPTER_SUPPRESSIBLE > +#endif > > /* > * Reserve enough gsis to accommodate all virtio devices. Whether the definition of S390_ADAPTER_SUPPRESSIBLE belongs into css.h or s390_flic.h is probably a matter of taste: the definition of an I/O adapter is in css.h, and registration of an adapter is done via the FLIC. I think removing the cpu.h include might already do what you wanted to do?
On 7/16/20 1:11 PM, Cornelia Huck wrote: > On Wed, 15 Jul 2020 15:18:45 +0200 > Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > >> Not all s390x devices require to have access to the CPU internals. >> >> To reduce the include dependencies on "s390x/css.h", move the >> S390_ADAPTER_SUPPRESSIBLE definition to "s390x/s390_flic.h". > > But css.h is not 'CPU internals', it is the main I/O subsystem? I meant devices using the main I/O subsystem don't need to have access to the CPU internals (CPUS390XState and s390_cpu* helpers). > >> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> >> --- >> include/hw/s390x/css.h | 7 ------- >> include/hw/s390x/s390_flic.h | 7 +++++++ >> 2 files changed, 7 insertions(+), 7 deletions(-) >> >> diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h >> index 08c869ab0a..7858666307 100644 >> --- a/include/hw/s390x/css.h >> +++ b/include/hw/s390x/css.h >> @@ -12,7 +12,6 @@ >> #ifndef CSS_H >> #define CSS_H >> >> -#include "cpu.h" > > FWIW, we should just be able to remove this #include... Odd it was not working yesterday (missing CONFIG_KVM) but today it works. > >> #include "hw/s390x/adapter.h" >> #include "hw/s390x/s390_flic.h" >> #include "hw/s390x/ioinst.h" >> @@ -233,12 +232,6 @@ uint32_t css_get_adapter_id(CssIoAdapterType type, uint8_t isc); >> void css_register_io_adapters(CssIoAdapterType type, bool swap, bool maskable, >> uint8_t flags, Error **errp); >> >> -#ifndef CONFIG_KVM >> -#define S390_ADAPTER_SUPPRESSIBLE 0x01 >> -#else >> -#define S390_ADAPTER_SUPPRESSIBLE KVM_S390_ADAPTER_SUPPRESSIBLE >> -#endif >> - >> #ifndef CONFIG_USER_ONLY >> SubchDev *css_find_subch(uint8_t m, uint8_t cssid, uint8_t ssid, >> uint16_t schid); >> diff --git a/include/hw/s390x/s390_flic.h b/include/hw/s390x/s390_flic.h >> index 4687ecfe83..6bf9d73728 100644 >> --- a/include/hw/s390x/s390_flic.h >> +++ b/include/hw/s390x/s390_flic.h >> @@ -17,6 +17,13 @@ >> #include "hw/s390x/adapter.h" >> #include "hw/virtio/virtio.h" >> #include "qemu/queue.h" >> +#include "cpu.h" > > ...and we do not need it here AFAICS. > >> + >> +#ifndef CONFIG_KVM >> +#define S390_ADAPTER_SUPPRESSIBLE 0x01 >> +#else >> +#define S390_ADAPTER_SUPPRESSIBLE KVM_S390_ADAPTER_SUPPRESSIBLE >> +#endif >> >> /* >> * Reserve enough gsis to accommodate all virtio devices. > > Whether the definition of S390_ADAPTER_SUPPRESSIBLE belongs into css.h > or s390_flic.h is probably a matter of taste: the definition of an I/O > adapter is in css.h, and registration of an adapter is done via the > FLIC. > > I think removing the cpu.h include might already do what you wanted to > do? Yes :) Thanks!
© 2016 - 2024 Red Hat, Inc.