[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH 03/10] PPC: e500: msync is 440 only, e500 has real syn
From: |
Alexander Graf |
Subject: |
[Qemu-ppc] [PATCH 03/10] PPC: e500: msync is 440 only, e500 has real sync |
Date: |
Wed, 25 Jan 2012 18:27:31 +0100 |
The e500 CPUs don't use 440's msync which falls on the same opcode IDs,
but instead use the real powerpc sync instruction. This is important,
since the invalid mask differs between the two.
Signed-off-by: Alexander Graf <address@hidden>
---
target-ppc/translate.c | 3 +--
target-ppc/translate_init.c | 6 +++---
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index 66eae30..18d52a9 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -8579,8 +8579,7 @@ GEN_HANDLER(wrteei, 0x1F, 0x03, 0x05, 0x000E7C01,
PPC_WRTEE),
GEN_HANDLER(dlmzb, 0x1F, 0x0E, 0x02, 0x00000000, PPC_440_SPEC),
GEN_HANDLER_E(mbar, 0x1F, 0x16, 0x1a, 0x001FF801,
PPC_BOOKE, PPC2_BOOKE206),
-GEN_HANDLER_E(msync, 0x1F, 0x16, 0x12, 0x03FFF801,
- PPC_BOOKE, PPC2_BOOKE206),
+GEN_HANDLER(msync, 0x1F, 0x16, 0x12, 0x03FFF801, PPC_BOOKE),
GEN_HANDLER2_E(icbt_440, "icbt", 0x1F, 0x16, 0x00, 0x03E00001,
PPC_BOOKE, PPC2_BOOKE206),
GEN_HANDLER(lvsl, 0x1f, 0x06, 0x00, 0x00000001, PPC_ALTIVEC),
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index f5fcd1e..b14a98c 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -4371,7 +4371,7 @@ static void init_proc_e300 (CPUPPCState *env)
PPC_WRTEE | PPC_RFDI | \
PPC_CACHE | PPC_CACHE_LOCK | PPC_CACHE_ICBI | \
PPC_CACHE_DCBZ | PPC_CACHE_DCBA | \
- PPC_MEM_TLBSYNC | PPC_TLBIVAX)
+ PPC_MEM_TLBSYNC | PPC_TLBIVAX | PPC_MEM_SYNC)
#define POWERPC_INSNS2_e500v1 (PPC2_BOOKE206)
#define POWERPC_MSRM_e500v1 (0x000000000606FF30ULL)
#define POWERPC_MMU_e500v1 (POWERPC_MMU_BOOKE206)
@@ -4390,7 +4390,7 @@ static void init_proc_e300 (CPUPPCState *env)
PPC_WRTEE | PPC_RFDI | \
PPC_CACHE | PPC_CACHE_LOCK | PPC_CACHE_ICBI | \
PPC_CACHE_DCBZ | PPC_CACHE_DCBA | \
- PPC_MEM_TLBSYNC | PPC_TLBIVAX)
+ PPC_MEM_TLBSYNC | PPC_TLBIVAX | PPC_MEM_SYNC)
#define POWERPC_INSNS2_e500v2 (PPC2_BOOKE206)
#define POWERPC_MSRM_e500v2 (0x000000000606FF30ULL)
#define POWERPC_MMU_e500v2 (POWERPC_MMU_BOOKE206)
@@ -4411,7 +4411,7 @@ static void init_proc_e300 (CPUPPCState *env)
PPC_FLOAT | PPC_FLOAT_FRES | \
PPC_FLOAT_FRSQRTE | PPC_FLOAT_FSEL | \
PPC_FLOAT_STFIWX | PPC_WAIT | \
- PPC_MEM_TLBSYNC | PPC_TLBIVAX)
+ PPC_MEM_TLBSYNC | PPC_TLBIVAX | PPC_MEM_SYNC)
#define POWERPC_INSNS2_e500mc (PPC2_BOOKE206)
#define POWERPC_MSRM_e500mc (0x000000001402FB36ULL)
#define POWERPC_MMU_e500mc (POWERPC_MMU_BOOKE206)
--
1.6.0.2
- [Qemu-ppc] [PATCH 00/10] Make -cpu e500mc useful in TCG v3, Alexander Graf, 2012/01/25
- [Qemu-ppc] [PATCH 07/10] PPC: booke206: Check for min/max TLB entry size, Alexander Graf, 2012/01/25
- [Qemu-ppc] [PATCH 04/10] PPC: rename msync to msync_4xx, Alexander Graf, 2012/01/25
- [Qemu-ppc] [PATCH 09/10] PPC: booke206: Check for TLB overrun, Alexander Graf, 2012/01/25
- [Qemu-ppc] [PATCH 02/10] PPC: e500mc: add missing IVORs to bitmap, Alexander Graf, 2012/01/25
- [Qemu-ppc] [PATCH 03/10] PPC: e500: msync is 440 only, e500 has real sync,
Alexander Graf <=
- [Qemu-ppc] [PATCH 08/10] PPC: booke206: Implement tlbilx, Alexander Graf, 2012/01/25
- [Qemu-ppc] [PATCH 10/10] PPC: booke206: move avail check to tlbwe, Alexander Graf, 2012/01/25
- [Qemu-ppc] [PATCH 01/10] PPC: Add IVOR 38-42, Alexander Graf, 2012/01/25
- [Qemu-ppc] [PATCH 06/10] PPC: booke: add tlbnps handling, Alexander Graf, 2012/01/25
- [Qemu-ppc] [PATCH 05/10] PPC: booke206: allow NULL raddr in ppcmas_tlb_check, Alexander Graf, 2012/01/25