s390/ctlreg: add control register bits
authorHeiko Carstens <hca@linux.ibm.com>
Mon, 11 Sep 2023 19:40:12 +0000 (21:40 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Tue, 19 Sep 2023 11:26:57 +0000 (13:26 +0200)
Instead of having only masks for specific bit locations within control
registers, also define the bit numbers and use them to define the
masks.

The bit defines can be used to convert plain numbers to defines.

Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/ctlreg.h

index 76ed70cca43c3a56fd95530361a227bca3ceb184..6d4b85f2b541c6d9482222abe9d573d08d7d7f8e 100644 (file)
 
 #include <linux/bits.h>
 
-#define CR0_TRANSACTIONAL_EXECUTION    BIT(63 - 8)
-#define CR0_CLOCK_COMPARATOR_SIGN      BIT(63 - 10)
-#define CR0_CRYPTOGRAPHY_COUNTER       BIT(63 - 13)
-#define CR0_PAI_EXTENSION              BIT(63 - 14)
-#define CR0_CPUMF_EXTRACTION_AUTH      BIT(63 - 15)
-#define CR0_WARNING_TRACK              BIT(63 - 30)
-#define CR0_LOW_ADDRESS_PROTECTION     BIT(63 - 35)
-#define CR0_FETCH_PROTECTION_OVERRIDE  BIT(63 - 38)
-#define CR0_STORAGE_PROTECTION_OVERRIDE        BIT(63 - 39)
-#define CR0_EDAT                       BIT(63 - 40)
-#define CR0_INSTRUCTION_EXEC_PROTECTION        BIT(63 - 43)
-#define CR0_VECTOR                     BIT(63 - 46)
-#define CR0_MALFUNCTION_ALERT_SUBMASK  BIT(63 - 48)
-#define CR0_EMERGENCY_SIGNAL_SUBMASK   BIT(63 - 49)
-#define CR0_EXTERNAL_CALL_SUBMASK      BIT(63 - 50)
-#define CR0_CLOCK_COMPARATOR_SUBMASK   BIT(63 - 52)
-#define CR0_CPU_TIMER_SUBMASK          BIT(63 - 53)
-#define CR0_SERVICE_SIGNAL_SUBMASK     BIT(63 - 54)
-#define CR0_UNUSED_56                  BIT(63 - 56)
-#define CR0_INTERRUPT_KEY_SUBMASK      BIT(63 - 57)
-#define CR0_MEASUREMENT_ALERT_SUBMASK  BIT(63 - 58)
-#define CR0_ETR_SUBMASK                        BIT(63 - 59)
-#define CR0_IUCV                       BIT(63 - 62)
-
-#define CR2_MIO_ADDRESSING             BIT(63 - 58)
-#define CR2_GUARDED_STORAGE            BIT(63 - 59)
-
-#define CR14_UNUSED_32                 BIT(63 - 32)
-#define CR14_UNUSED_33                 BIT(63 - 33)
-#define CR14_CHANNEL_REPORT_SUBMASK    BIT(63 - 35)
-#define CR14_RECOVERY_SUBMASK          BIT(63 - 36)
-#define CR14_DEGRADATION_SUBMASK       BIT(63 - 37)
-#define CR14_EXTERNAL_DAMAGE_SUBMASK   BIT(63 - 38)
-#define CR14_WARNING_SUBMASK           BIT(63 - 39)
+#define CR0_TRANSACTIONAL_EXECUTION_BIT                (63 - 8)
+#define CR0_CLOCK_COMPARATOR_SIGN_BIT          (63 - 10)
+#define CR0_CRYPTOGRAPHY_COUNTER_BIT           (63 - 13)
+#define CR0_PAI_EXTENSION_BIT                  (63 - 14)
+#define CR0_CPUMF_EXTRACTION_AUTH_BIT          (63 - 15)
+#define CR0_WARNING_TRACK_BIT                  (63 - 30)
+#define CR0_LOW_ADDRESS_PROTECTION_BIT         (63 - 35)
+#define CR0_FETCH_PROTECTION_OVERRIDE_BIT      (63 - 38)
+#define CR0_STORAGE_PROTECTION_OVERRIDE_BIT    (63 - 39)
+#define CR0_EDAT_BIT                           (63 - 40)
+#define CR0_INSTRUCTION_EXEC_PROTECTION_BIT    (63 - 43)
+#define CR0_VECTOR_BIT                         (63 - 46)
+#define CR0_MALFUNCTION_ALERT_SUBMASK_BIT      (63 - 48)
+#define CR0_EMERGENCY_SIGNAL_SUBMASK_BIT       (63 - 49)
+#define CR0_EXTERNAL_CALL_SUBMASK_BIT          (63 - 50)
+#define CR0_CLOCK_COMPARATOR_SUBMASK_BIT       (63 - 52)
+#define CR0_CPU_TIMER_SUBMASK_BIT              (63 - 53)
+#define CR0_SERVICE_SIGNAL_SUBMASK_BIT         (63 - 54)
+#define CR0_UNUSED_56_BIT                      (63 - 56)
+#define CR0_INTERRUPT_KEY_SUBMASK_BIT          (63 - 57)
+#define CR0_MEASUREMENT_ALERT_SUBMASK_BIT      (63 - 58)
+#define CR0_ETR_SUBMASK_BIT                    (63 - 59)
+#define CR0_IUCV_BIT                           (63 - 62)
+
+#define CR0_TRANSACTIONAL_EXECUTION            BIT(CR0_TRANSACTIONAL_EXECUTION_BIT)
+#define CR0_CLOCK_COMPARATOR_SIGN              BIT(CR0_CLOCK_COMPARATOR_SIGN_BIT)
+#define CR0_CRYPTOGRAPHY_COUNTER               BIT(CR0_CRYPTOGRAPHY_COUNTER_BIT)
+#define CR0_PAI_EXTENSION                      BIT(CR0_PAI_EXTENSION_BIT)
+#define CR0_CPUMF_EXTRACTION_AUTH              BIT(CR0_CPUMF_EXTRACTION_AUTH_BIT)
+#define CR0_WARNING_TRACK                      BIT(CR0_WARNING_TRACK_BIT)
+#define CR0_LOW_ADDRESS_PROTECTION             BIT(CR0_LOW_ADDRESS_PROTECTION_BIT)
+#define CR0_FETCH_PROTECTION_OVERRIDE          BIT(CR0_FETCH_PROTECTION_OVERRIDE_BIT)
+#define CR0_STORAGE_PROTECTION_OVERRIDE                BIT(CR0_STORAGE_PROTECTION_OVERRIDE_BIT)
+#define CR0_EDAT                               BIT(CR0_EDAT_BIT)
+#define CR0_INSTRUCTION_EXEC_PROTECTION                BIT(CR0_INSTRUCTION_EXEC_PROTECTION_BIT)
+#define CR0_VECTOR                             BIT(CR0_VECTOR_BIT)
+#define CR0_MALFUNCTION_ALERT_SUBMASK          BIT(CR0_MALFUNCTION_ALERT_SUBMASK_BIT)
+#define CR0_EMERGENCY_SIGNAL_SUBMASK           BIT(CR0_EMERGENCY_SIGNAL_SUBMASK_BIT)
+#define CR0_EXTERNAL_CALL_SUBMASK              BIT(CR0_EXTERNAL_CALL_SUBMASK_BIT)
+#define CR0_CLOCK_COMPARATOR_SUBMASK           BIT(CR0_CLOCK_COMPARATOR_SUBMASK_BIT)
+#define CR0_CPU_TIMER_SUBMASK                  BIT(CR0_CPU_TIMER_SUBMASK_BIT)
+#define CR0_SERVICE_SIGNAL_SUBMASK             BIT(CR0_SERVICE_SIGNAL_SUBMASK_BIT)
+#define CR0_UNUSED_56                          BIT(CR0_UNUSED_56_BIT)
+#define CR0_INTERRUPT_KEY_SUBMASK              BIT(CR0_INTERRUPT_KEY_SUBMASK_BIT)
+#define CR0_MEASUREMENT_ALERT_SUBMASK          BIT(CR0_MEASUREMENT_ALERT_SUBMASK_BIT)
+#define CR0_ETR_SUBMASK                                BIT(CR0_ETR_SUBMASK_BIT)
+#define CR0_IUCV                               BIT(CR0_IUCV_BIT)
+
+#define CR2_MIO_ADDRESSING_BIT                 (63 - 58)
+#define CR2_GUARDED_STORAGE_BIT                        (63 - 59)
+
+#define CR2_MIO_ADDRESSING                     BIT(CR2_MIO_ADDRESSING_BIT)
+#define CR2_GUARDED_STORAGE                    BIT(CR2_GUARDED_STORAGE_BIT)
+
+#define CR14_UNUSED_32_BIT                     (63 - 32)
+#define CR14_UNUSED_33_BIT                     (63 - 33)
+#define CR14_CHANNEL_REPORT_SUBMASK_BIT                (63 - 35)
+#define CR14_RECOVERY_SUBMASK_BIT              (63 - 36)
+#define CR14_DEGRADATION_SUBMASK_BIT           (63 - 37)
+#define CR14_EXTERNAL_DAMAGE_SUBMASK_BIT       (63 - 38)
+#define CR14_WARNING_SUBMASK_BIT               (63 - 39)
+
+#define CR14_UNUSED_32                         BIT(CR14_UNUSED_32_BIT)
+#define CR14_UNUSED_33                         BIT(CR14_UNUSED_33_BIT)
+#define CR14_CHANNEL_REPORT_SUBMASK            BIT(CR14_CHANNEL_REPORT_SUBMASK_BIT)
+#define CR14_RECOVERY_SUBMASK                  BIT(CR14_RECOVERY_SUBMASK_BIT)
+#define CR14_DEGRADATION_SUBMASK               BIT(CR14_DEGRADATION_SUBMASK_BIT)
+#define CR14_EXTERNAL_DAMAGE_SUBMASK           BIT(CR14_EXTERNAL_DAMAGE_SUBMASK_BIT)
+#define CR14_WARNING_SUBMASK                   BIT(CR14_WARNING_SUBMASK_BIT)
 
 #ifndef __ASSEMBLY__