[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 15/20] target/ppc: fix ISI fault cause for Radix MMU
From: |
Cédric Le Goater |
Subject: |
[PULL 15/20] target/ppc: fix ISI fault cause for Radix MMU |
Date: |
Tue, 15 Mar 2022 07:37:31 +0100 |
From: Leandro Lupori <leandro.lupori@eldorado.org.br>
Fix Instruction Storage Interrupt (ISI) fault cause for Radix MMU,
when caused by missing PAGE_EXEC permission, to be
SRR1_NOEXEC_GUARD instead of DSISR_PROTFAULT.
This matches POWER9 hardware behavior.
Fixes: d5fee0bbe68 ("target/ppc: Implement ISA V3.00 radix page fault handler")
Signed-off-by: Leandro Lupori <leandro.lupori@eldorado.org.br>
Message-Id: <20220309192756.145283-1-leandro.lupori@eldorado.org.br>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
target/ppc/mmu-radix64.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/target/ppc/mmu-radix64.c b/target/ppc/mmu-radix64.c
index 67c38f065ba2..5414fd63c10f 100644
--- a/target/ppc/mmu-radix64.c
+++ b/target/ppc/mmu-radix64.c
@@ -204,7 +204,8 @@ static bool ppc_radix64_check_prot(PowerPCCPU *cpu,
MMUAccessType access_type,
/* Check if requested access type is allowed */
need_prot = prot_for_access_type(access_type);
if (need_prot & ~*prot) { /* Page Protected for that Access */
- *fault_cause |= DSISR_PROTFAULT;
+ *fault_cause |= access_type == MMU_INST_FETCH ? SRR1_NOEXEC_GUARD :
+ DSISR_PROTFAULT;
return true;
}
--
2.34.1
- [PULL 06/20] avocado/boot_linux_console.py: check TCG accel in test_ppc_g3beige(), (continued)
- [PULL 06/20] avocado/boot_linux_console.py: check TCG accel in test_ppc_g3beige(), Cédric Le Goater, 2022/03/15
- [PULL 14/20] avocado/ppc_virtex_ml507.py: check TCG accel in test_ppc_virtex_ml507(), Cédric Le Goater, 2022/03/15
- [PULL 03/20] avocado/boot_linux_console.py: check for tcg in test_ppc_powernv8/9, Cédric Le Goater, 2022/03/15
- [PULL 11/20] avocado/ppc_bamboo.py: check TCG accel in test_ppc_bamboo(), Cédric Le Goater, 2022/03/15
- [PULL 02/20] qtest/meson.build: check CONFIG_TCG for boot-serial-test in qtests_ppc, Cédric Le Goater, 2022/03/15
- [PULL 10/20] avocado/ppc_74xx.py: check TCG accel for all tests, Cédric Le Goater, 2022/03/15
- [PULL 09/20] avocado/ppc_405.py: check TCG accel in test_ppc_ref405ep(), Cédric Le Goater, 2022/03/15
- [PULL 18/20] ppc/pnv: Introduce a pnv-phb5 device to match root port, Cédric Le Goater, 2022/03/15
- [PULL 12/20] avocado/ppc_mpc8544ds.py: check TCG accel in test_ppc_mpc8544ds(), Cédric Le Goater, 2022/03/15
- [PULL 08/20] avocado/ppc_405.py: remove test_ppc_taihu(), Cédric Le Goater, 2022/03/15
- [PULL 15/20] target/ppc: fix ISI fault cause for Radix MMU,
Cédric Le Goater <=
- [PULL 05/20] avocado/replay_kernel.py: make tcg-icount check in run_vm(), Cédric Le Goater, 2022/03/15
- [PULL 19/20] ppc/pnv: Always create the PHB5 PEC devices, Cédric Le Goater, 2022/03/15
- [PULL 07/20] avocado/boot_linux_console.py: check TCG accel in test_ppc_mac99(), Cédric Le Goater, 2022/03/15
- [PULL 16/20] target/ppc: fix xxspltw for big endian hosts, Cédric Le Goater, 2022/03/15
- [PULL 04/20] avocado/boot_linux_console.py: check tcg accel in test_ppc64_e500, Cédric Le Goater, 2022/03/15
- Re: [PULL 00/20] ppc fixes for 7.0, Peter Maydell, 2022/03/15