97 lines
3.5 KiB
Diff
97 lines
3.5 KiB
Diff
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||
|
Date: Wed, 17 Mar 2021 10:56:20 +0100
|
||
|
Subject: s390x: move S390_ADAPTER_SUPPRESSIBLE
|
||
|
|
||
|
Git-commit: d4c603d7be2e4173252c5b55e62d30ddd26edaca
|
||
|
References: bsc#1181103
|
||
|
|
||
|
The definition S390_ADAPTER_SUPPRESSIBLE was moved to "cpu.h", per
|
||
|
suggestion of Thomas Huth. From interface design perspective, IMHO, not
|
||
|
a good thing as it belongs to the public interface of
|
||
|
css_register_io_adapters(). We did this because CONFIG_KVM requeires
|
||
|
NEED_CPU_H and Thomas, and other commenters did not like the
|
||
|
consequences of that.
|
||
|
|
||
|
Moving the interrupt related declarations to s390_flic.h was suggested
|
||
|
by Cornelia Huck.
|
||
|
|
||
|
Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
|
||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||
|
Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
|
||
|
Tested-by: Halil Pasic <pasic@linux.ibm.com>
|
||
|
Message-Id: <20210317095622.2839895-2-kraxel@redhat.com>
|
||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||
|
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||
|
---
|
||
|
include/hw/s390x/css.h | 7 -------
|
||
|
include/hw/s390x/s390_flic.h | 3 +++
|
||
|
target/s390x/cpu.h | 9 ++++++---
|
||
|
3 files changed, 9 insertions(+), 10 deletions(-)
|
||
|
|
||
|
diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h
|
||
|
index 08c869ab0afc18f34fb28056ce29..7858666307a1baaf2586dce56c07 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 e91b15d2d6af5feb2e7e7284bfbd..3907a13d07664bad96d466b3d20a 100644
|
||
|
--- a/include/hw/s390x/s390_flic.h
|
||
|
+++ b/include/hw/s390x/s390_flic.h
|
||
|
@@ -134,6 +134,9 @@ void s390_flic_init(void);
|
||
|
S390FLICState *s390_get_flic(void);
|
||
|
QEMUS390FLICState *s390_get_qemu_flic(S390FLICState *fs);
|
||
|
S390FLICStateClass *s390_get_flic_class(S390FLICState *fs);
|
||
|
+void s390_crw_mchk(void);
|
||
|
+void s390_io_interrupt(uint16_t subchannel_id, uint16_t subchannel_nr,
|
||
|
+ uint32_t io_int_parm, uint32_t io_int_word);
|
||
|
bool ais_needed(void *opaque);
|
||
|
|
||
|
#endif /* HW_S390_FLIC_H */
|
||
|
diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
|
||
|
index 60d434d5edd55c59cfe7e345967c..b434b905c0ae337c62ddcc9d7e34 100644
|
||
|
--- a/target/s390x/cpu.h
|
||
|
+++ b/target/s390x/cpu.h
|
||
|
@@ -40,6 +40,12 @@
|
||
|
|
||
|
#define S390_MAX_CPUS 248
|
||
|
|
||
|
+#ifndef CONFIG_KVM
|
||
|
+#define S390_ADAPTER_SUPPRESSIBLE 0x01
|
||
|
+#else
|
||
|
+#define S390_ADAPTER_SUPPRESSIBLE KVM_S390_ADAPTER_SUPPRESSIBLE
|
||
|
+#endif
|
||
|
+
|
||
|
typedef struct PSW {
|
||
|
uint64_t mask;
|
||
|
uint64_t addr;
|
||
|
@@ -806,9 +812,6 @@ int cpu_s390x_signal_handler(int host_signum, void *pinfo, void *puc);
|
||
|
|
||
|
|
||
|
/* interrupt.c */
|
||
|
-void s390_crw_mchk(void);
|
||
|
-void s390_io_interrupt(uint16_t subchannel_id, uint16_t subchannel_nr,
|
||
|
- uint32_t io_int_parm, uint32_t io_int_word);
|
||
|
#define RA_IGNORED 0
|
||
|
void s390_program_interrupt(CPUS390XState *env, uint32_t code, uintptr_t ra);
|
||
|
/* service interrupts are floating therefore we must not pass an cpustate */
|