diff --git a/include/hw/s390x/sclp.h b/include/hw/s390x/sclp.h index ba28d1dd0e..30a40eafe3 100644 --- a/include/hw/s390x/sclp.h +++ b/include/hw/s390x/sclp.h @@ -98,11 +98,14 @@ typedef struct SCCBHeader { } QEMU_PACKED SCCBHeader; #define SCCB_DATA_LEN (SCCB_SIZE - sizeof(SCCBHeader)) +#define SCCB_CPU_FEATURE_LEN 6 /* CPU information */ typedef struct CPUEntry { uint8_t address; - uint8_t reserved0[13]; + uint8_t reserved0; + uint8_t features[SCCB_CPU_FEATURE_LEN]; + uint8_t reserved2[6]; uint8_t type; uint8_t reserved1; } QEMU_PACKED CPUEntry; @@ -118,10 +121,13 @@ typedef struct ReadInfo { uint8_t loadparm[8]; /* 24-31 */ uint8_t _reserved3[48 - 32]; /* 32-47 */ uint64_t facilities; /* 48-55 */ - uint8_t _reserved0[100 - 56]; + uint8_t _reserved0[80 - 56]; /* 56-79 */ + uint8_t conf_char[96 - 80]; /* 80-95 */ + uint8_t _reserved4[100 - 96]; /* 96-99 */ uint32_t rnsize2; uint64_t rnmax2; - uint8_t _reserved4[120-112]; /* 112-119 */ + uint8_t _reserved6[116 - 112]; /* 112-115 */ + uint8_t conf_char_ext[120 - 116]; /* 116-119 */ uint16_t highest_cpu; uint8_t _reserved5[128 - 122]; /* 122-127 */ struct CPUEntry entries[0];