[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 30/34] target-s390x: add a cpu_mmu_idx_to_asc functio
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PULL 30/34] target-s390x: add a cpu_mmu_idx_to_asc function |
Date: |
Fri, 5 Jun 2015 01:42:00 +0200 |
From: Aurelien Jarno <address@hidden>
Use constants to define the MMU indexes, and add a function to do
the reverse conversion of cpu_mmu_index.
Signed-off-by: Aurelien Jarno <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
---
target-s390x/cpu.h | 25 ++++++++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
index adb9a84..584e74b 100644
--- a/target-s390x/cpu.h
+++ b/target-s390x/cpu.h
@@ -302,15 +302,20 @@ static inline CPU_DoubleU *get_freg(CPUS390XState *cs,
int nr)
#define CR0_LOWPROT 0x0000000010000000ULL
#define CR0_EDAT 0x0000000000800000ULL
+/* MMU */
+#define MMU_PRIMARY_IDX 0
+#define MMU_SECONDARY_IDX 1
+#define MMU_HOME_IDX 2
+
static inline int cpu_mmu_index (CPUS390XState *env)
{
switch (env->psw.mask & PSW_MASK_ASC) {
case PSW_ASC_PRIMARY:
- return 0;
+ return MMU_PRIMARY_IDX;
case PSW_ASC_SECONDARY:
- return 1;
+ return MMU_SECONDARY_IDX;
case PSW_ASC_HOME:
- return 2;
+ return MMU_HOME_IDX;
case PSW_ASC_ACCREG:
/* Fallthrough: access register mode is not yet supported */
default:
@@ -318,6 +323,20 @@ static inline int cpu_mmu_index (CPUS390XState *env)
}
}
+static inline uint64_t cpu_mmu_idx_to_asc(int mmu_idx)
+{
+ switch (mmu_idx) {
+ case MMU_PRIMARY_IDX:
+ return PSW_ASC_PRIMARY;
+ case MMU_SECONDARY_IDX:
+ return PSW_ASC_SECONDARY;
+ case MMU_HOME_IDX:
+ return PSW_ASC_HOME;
+ default:
+ abort();
+ }
+}
+
static inline void cpu_get_tb_cpu_state(CPUS390XState* env, target_ulong *pc,
target_ulong *cs_base, int *flags)
{
--
1.7.12.4
- [Qemu-devel] [PULL 08/34] target-s390x: implement STCKC helper, (continued)
- [Qemu-devel] [PULL 08/34] target-s390x: implement STCKC helper, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 06/34] target-s390x: simplify SCKC helper, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 07/34] target-s390x: streamline STCK helper, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 04/34] target-s390x: remove unused helpers, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 05/34] target-s390x: add a tod2time function, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 02/34] target-s390x: fix CC computation for LOAD POSITIVE instructions, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 09/34] target-s390x: implement STPT helper, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 14/34] target-s390x: silence NaNs for LOAD LENGTHENED and LOAD ROUNDED, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 16/34] target-s390x: move a few instructions to the correct facility, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 20/34] target-s390x: change CHRL and CGHRL format to RIL-b, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 30/34] target-s390x: add a cpu_mmu_idx_to_asc function,
Alexander Graf <=
- [Qemu-devel] [PULL 12/34] target-s390x: fix MMU index computation, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 11/34] target-s390x: fix PSW value on dynamical exception from helpers, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 15/34] target-s390x: detect tininess before rounding for FP operations, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 03/34] target-s390x: optimize (negative-) abs computation, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 01/34] target-s390x: fix CC computation for EX instruction, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 24/34] target-s390x: implement TRANSLATE AND TEST instruction, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 13/34] target-s390x: define default NaN values, Alexander Graf, 2015/06/04
- [Qemu-devel] [PULL 33/34] target-s390x: fix MVC instruction when areas overlap, Alexander Graf, 2015/06/04