[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 13/16] target-s390x: add a cpu_mmu_idx_to_asc fun
From: |
Aurelien Jarno |
Subject: |
[Qemu-devel] [PATCH v2 13/16] target-s390x: add a cpu_mmu_idx_to_asc function |
Date: |
Wed, 3 Jun 2015 23:09:53 +0200 |
Use constants to define the MMU indexes, and add a function to do
the reverse conversion of cpu_mmu_index.
Cc: Alexander Graf <address@hidden>
Cc: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <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)
{
--
2.1.4
- [Qemu-devel] [PATCH v2 00/16] fixes and improvements, Aurelien Jarno, 2015/06/03
- [Qemu-devel] [PATCH v2 05/16] target-s390x: move SET DFP ROUNDING MODE to the correct facility, Aurelien Jarno, 2015/06/03
- [Qemu-devel] [PATCH v2 03/16] target-s390x: change CHRL and CGHRL format to RIL-b, Aurelien Jarno, 2015/06/03
- [Qemu-devel] [PATCH v2 02/16] target-s390x: fix CLGIT instruction, Aurelien Jarno, 2015/06/03
- [Qemu-devel] [PATCH v2 14/16] target-s390x: support non current ASC in s390_cpu_handle_mmu_fault, Aurelien Jarno, 2015/06/03
- [Qemu-devel] [PATCH v2 04/16] target-s390x: move STORE CLOCK FAST to the correct facility, Aurelien Jarno, 2015/06/03
- [Qemu-devel] [PATCH v2 13/16] target-s390x: add a cpu_mmu_idx_to_asc function,
Aurelien Jarno <=
- [Qemu-devel] [PATCH v2 07/16] target-s390x: implement TRANSLATE AND TEST instruction, Aurelien Jarno, 2015/06/03
- [Qemu-devel] [PATCH v2 10/16] target-s390x: implement miscellaneous-instruction-extensions facility, Aurelien Jarno, 2015/06/03
- [Qemu-devel] [PATCH v2 15/16] target-s390x: use softmmu functions for mvcp/mvcs, Aurelien Jarno, 2015/06/03
- [Qemu-devel] [PATCH v2 08/16] target-s390x: implement TRANSLATE EXTENDED instruction, Aurelien Jarno, 2015/06/03
- [Qemu-devel] [PATCH v2 16/16] target-s390x: fix MVC instruction when areas overlap, Aurelien Jarno, 2015/06/03
- [Qemu-devel] [PATCH v2 06/16] target-s390x: implement LOAD FP INTEGER instructions, Aurelien Jarno, 2015/06/03