[PATCH v5 16/31] KVM: s390: Move PGM code definitions to asm/kvm_host.h

From: Steffen Eiden

Date: Fri Jul 31 2026 - 09:20:21 EST


Move the PGM definitions from kvm_host_s390.h (back) to kvm_host.h so
they can be used by a second KVM implementation.

No functional change.

Signed-off-by: Steffen Eiden <seiden@xxxxxxxxxxxxx>
---
arch/s390/include/asm/kvm_host.h | 57 +++++++++++++++++++++++++++
arch/s390/include/asm/kvm_host_s390.h | 57 ---------------------------
2 files changed, 57 insertions(+), 57 deletions(-)

diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h
index e76ceee11ef5..147325978225 100644
--- a/arch/s390/include/asm/kvm_host.h
+++ b/arch/s390/include/asm/kvm_host.h
@@ -5,4 +5,61 @@

#include <asm/kvm_host_s390.h>

+#define PGM_OPERATION 0x01
+#define PGM_PRIVILEGED_OP 0x02
+#define PGM_EXECUTE 0x03
+#define PGM_PROTECTION 0x04
+#define PGM_ADDRESSING 0x05
+#define PGM_SPECIFICATION 0x06
+#define PGM_DATA 0x07
+#define PGM_FIXED_POINT_OVERFLOW 0x08
+#define PGM_FIXED_POINT_DIVIDE 0x09
+#define PGM_DECIMAL_OVERFLOW 0x0a
+#define PGM_DECIMAL_DIVIDE 0x0b
+#define PGM_HFP_EXPONENT_OVERFLOW 0x0c
+#define PGM_HFP_EXPONENT_UNDERFLOW 0x0d
+#define PGM_HFP_SIGNIFICANCE 0x0e
+#define PGM_HFP_DIVIDE 0x0f
+#define PGM_SEGMENT_TRANSLATION 0x10
+#define PGM_PAGE_TRANSLATION 0x11
+#define PGM_TRANSLATION_SPEC 0x12
+#define PGM_SPECIAL_OPERATION 0x13
+#define PGM_OPERAND 0x15
+#define PGM_TRACE_TABEL 0x16
+#define PGM_VECTOR_PROCESSING 0x1b
+#define PGM_SPACE_SWITCH 0x1c
+#define PGM_HFP_SQUARE_ROOT 0x1d
+#define PGM_PC_TRANSLATION_SPEC 0x1f
+#define PGM_AFX_TRANSLATION 0x20
+#define PGM_ASX_TRANSLATION 0x21
+#define PGM_LX_TRANSLATION 0x22
+#define PGM_EX_TRANSLATION 0x23
+#define PGM_PRIMARY_AUTHORITY 0x24
+#define PGM_SECONDARY_AUTHORITY 0x25
+#define PGM_LFX_TRANSLATION 0x26
+#define PGM_LSX_TRANSLATION 0x27
+#define PGM_ALET_SPECIFICATION 0x28
+#define PGM_ALEN_TRANSLATION 0x29
+#define PGM_ALE_SEQUENCE 0x2a
+#define PGM_ASTE_VALIDITY 0x2b
+#define PGM_ASTE_SEQUENCE 0x2c
+#define PGM_EXTENDED_AUTHORITY 0x2d
+#define PGM_LSTE_SEQUENCE 0x2e
+#define PGM_ASTE_INSTANCE 0x2f
+#define PGM_STACK_FULL 0x30
+#define PGM_STACK_EMPTY 0x31
+#define PGM_STACK_SPECIFICATION 0x32
+#define PGM_STACK_TYPE 0x33
+#define PGM_STACK_OPERATION 0x34
+#define PGM_ASCE_TYPE 0x38
+#define PGM_REGION_FIRST_TRANS 0x39
+#define PGM_REGION_SECOND_TRANS 0x3a
+#define PGM_REGION_THIRD_TRANS 0x3b
+#define PGM_SECURE_STORAGE_ACCESS 0x3d
+#define PGM_NON_SECURE_STORAGE_ACCESS 0x3e
+#define PGM_SECURE_STORAGE_VIOLATION 0x3f
+#define PGM_MONITOR 0x40
+#define PGM_PER 0x80
+#define PGM_CRYPTO_OPERATION 0x119
+
#endif /* ASM_KVM_HOST_H */
diff --git a/arch/s390/include/asm/kvm_host_s390.h b/arch/s390/include/asm/kvm_host_s390.h
index 3c592e4bb883..9e4d7ed53078 100644
--- a/arch/s390/include/asm/kvm_host_s390.h
+++ b/arch/s390/include/asm/kvm_host_s390.h
@@ -150,63 +150,6 @@ struct kvm_vcpu_stat {
u64 signal_exits;
};

-#define PGM_OPERATION 0x01
-#define PGM_PRIVILEGED_OP 0x02
-#define PGM_EXECUTE 0x03
-#define PGM_PROTECTION 0x04
-#define PGM_ADDRESSING 0x05
-#define PGM_SPECIFICATION 0x06
-#define PGM_DATA 0x07
-#define PGM_FIXED_POINT_OVERFLOW 0x08
-#define PGM_FIXED_POINT_DIVIDE 0x09
-#define PGM_DECIMAL_OVERFLOW 0x0a
-#define PGM_DECIMAL_DIVIDE 0x0b
-#define PGM_HFP_EXPONENT_OVERFLOW 0x0c
-#define PGM_HFP_EXPONENT_UNDERFLOW 0x0d
-#define PGM_HFP_SIGNIFICANCE 0x0e
-#define PGM_HFP_DIVIDE 0x0f
-#define PGM_SEGMENT_TRANSLATION 0x10
-#define PGM_PAGE_TRANSLATION 0x11
-#define PGM_TRANSLATION_SPEC 0x12
-#define PGM_SPECIAL_OPERATION 0x13
-#define PGM_OPERAND 0x15
-#define PGM_TRACE_TABEL 0x16
-#define PGM_VECTOR_PROCESSING 0x1b
-#define PGM_SPACE_SWITCH 0x1c
-#define PGM_HFP_SQUARE_ROOT 0x1d
-#define PGM_PC_TRANSLATION_SPEC 0x1f
-#define PGM_AFX_TRANSLATION 0x20
-#define PGM_ASX_TRANSLATION 0x21
-#define PGM_LX_TRANSLATION 0x22
-#define PGM_EX_TRANSLATION 0x23
-#define PGM_PRIMARY_AUTHORITY 0x24
-#define PGM_SECONDARY_AUTHORITY 0x25
-#define PGM_LFX_TRANSLATION 0x26
-#define PGM_LSX_TRANSLATION 0x27
-#define PGM_ALET_SPECIFICATION 0x28
-#define PGM_ALEN_TRANSLATION 0x29
-#define PGM_ALE_SEQUENCE 0x2a
-#define PGM_ASTE_VALIDITY 0x2b
-#define PGM_ASTE_SEQUENCE 0x2c
-#define PGM_EXTENDED_AUTHORITY 0x2d
-#define PGM_LSTE_SEQUENCE 0x2e
-#define PGM_ASTE_INSTANCE 0x2f
-#define PGM_STACK_FULL 0x30
-#define PGM_STACK_EMPTY 0x31
-#define PGM_STACK_SPECIFICATION 0x32
-#define PGM_STACK_TYPE 0x33
-#define PGM_STACK_OPERATION 0x34
-#define PGM_ASCE_TYPE 0x38
-#define PGM_REGION_FIRST_TRANS 0x39
-#define PGM_REGION_SECOND_TRANS 0x3a
-#define PGM_REGION_THIRD_TRANS 0x3b
-#define PGM_SECURE_STORAGE_ACCESS 0x3d
-#define PGM_NON_SECURE_STORAGE_ACCESS 0x3e
-#define PGM_SECURE_STORAGE_VIOLATION 0x3f
-#define PGM_MONITOR 0x40
-#define PGM_PER 0x80
-#define PGM_CRYPTO_OPERATION 0x119
-
/* irq types in ascend order of priorities */
enum irq_types {
IRQ_PEND_SET_PREFIX = 0,
--
2.53.0