[kvm-unit-tests PATCH v3 4/6] s390x: sclp: Use sclp_feat_check directly to read DIAG318 feature bit

Christoph Schlameuss
2026-04-21T11:45:46Z

---
lib/s390x/sclp.c | 2 +-
lib/s390x/sclp.h | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/lib/s390x/sclp.c b/lib/s390x/sclp.c
index d624872cba60..ad2ba99ee1e1 100644
--- a/lib/s390x/sclp.c
+++ b/lib/s390x/sclp.c
@@ -186,7 +186,7 @@ void sclp_facilities_setup(void)

if (read_info->offset_cpu <= 134)
return;
- sclp_facilities.has_diag318 = read_info->byte_134_diag318;
+ sclp_facilities.has_diag318 = sclp_feat_check(134, SCLP_FEAT_134_BIT_DIAG318);
}

/* Perform service call. Return 0 on success, non-zero otherwise. */
diff --git a/lib/s390x/sclp.h b/lib/s390x/sclp.h
index 42a2f2e9f25a..87af429b5798 100644
--- a/lib/s390x/sclp.h
+++ b/lib/s390x/sclp.h
@@ -144,6 +144,7 @@ struct sclp_facilities {
#define SCLP_FEAT_116_BIT_ESCA 4
#define SCLP_FEAT_117_BIT_PFMFI 1
#define SCLP_FEAT_117_BIT_IBS 2
+#define SCLP_FEAT_134_BIT_DIAG318 0

typedef struct ReadInfo {
SCCBHeader h;
@@ -169,8 +170,6 @@ typedef struct ReadInfo {
uint8_t _reserved5[124 - 122]; /* 122-123 */
uint32_t hmfai;
uint8_t reserved7[134 - 128]; /* 128-133 */
- uint8_t byte_134_diag318 : 1;
- uint8_t : 7;
/*
* At the end of the ReadInfo, there are also the CPU entries (see
* struct CPUEntry). When the Extended-Length SCCB (ELS) feature is

--
2.53.0