mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
s390x/css: Introduce an ESW struct
The Interrupt Response Block is comprised of several other structures concatenated together, but only the 12-byte Subchannel-Status Word (SCSW) is defined as a proper struct. Everything else is a simple array of 32-bit words. Let's define a proper struct for the 20-byte Extended-Status Word (ESW) so that we can make good decisions about the sense data that would go into the ECW area for virtual vs passthrough devices. [CH: adapted ESW definition to build with mingw, as discussed] Signed-off-by: Eric Farman <farman@linux.ibm.com> Message-Id: <20210617232537.1337506-2-farman@linux.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
parent
10b81272b3
commit
3fdc622ad7
2 changed files with 24 additions and 7 deletions
|
@ -123,10 +123,20 @@ typedef struct SCHIB {
|
|||
uint8_t mda[4];
|
||||
} QEMU_PACKED SCHIB;
|
||||
|
||||
/* format-0 extended-status word */
|
||||
typedef struct ESW {
|
||||
uint32_t word0; /* subchannel logout for format 0 */
|
||||
uint32_t erw;
|
||||
uint64_t word2; /* failing-storage address for format 0 */
|
||||
uint32_t word4; /* secondary-CCW address for format 0 */
|
||||
} QEMU_PACKED ESW;
|
||||
|
||||
#define ESW_ERW_SENSE 0x01000000
|
||||
|
||||
/* interruption response block */
|
||||
typedef struct IRB {
|
||||
SCSW scsw;
|
||||
uint32_t esw[5];
|
||||
ESW esw;
|
||||
uint32_t ecw[8];
|
||||
uint32_t emw[8];
|
||||
} IRB;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue