[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 28/32] target/ppc/mmu-hash32.c: Drop a local variable
|
From: |
BALATON Zoltan |
|
Subject: |
[PATCH v5 28/32] target/ppc/mmu-hash32.c: Drop a local variable |
|
Date: |
Thu, 09 May 2024 22:26:03 +0200 (CEST) |
In ppc_hash32_xlate() the value of need_prop is checked in two places
but precalculating it does not help because when we reach the first
check we always return and not reach the second place so the value
will only be used once. We can drop the local variable and calculate
it when needed, which makes these checks using it similar to other
places with such checks.
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
---
target/ppc/mmu-hash32.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/target/ppc/mmu-hash32.c b/target/ppc/mmu-hash32.c
index 960751a50e..b5d7aeed4e 100644
--- a/target/ppc/mmu-hash32.c
+++ b/target/ppc/mmu-hash32.c
@@ -347,7 +347,6 @@ bool ppc_hash32_xlate(PowerPCCPU *cpu, vaddr eaddr,
MMUAccessType access_type,
hwaddr pte_offset;
ppc_hash_pte32_t pte;
int prot;
- int need_prot;
hwaddr raddr;
/* There are no hash32 large pages. */
@@ -361,13 +360,11 @@ bool ppc_hash32_xlate(PowerPCCPU *cpu, vaddr eaddr,
MMUAccessType access_type,
return true;
}
- need_prot = prot_for_access_type(access_type);
-
/* 2. Check Block Address Translation entries (BATs) */
if (env->nb_BATs != 0) {
raddr = ppc_hash32_bat_lookup(cpu, eaddr, access_type, protp, mmu_idx);
if (raddr != -1) {
- if (need_prot & ~*protp) {
+ if (prot_for_access_type(access_type) & ~*protp) {
if (guest_visible) {
if (access_type == MMU_INST_FETCH) {
cs->exception_index = POWERPC_EXCP_ISI;
@@ -435,7 +432,7 @@ bool ppc_hash32_xlate(PowerPCCPU *cpu, vaddr eaddr,
MMUAccessType access_type,
prot = ppc_hash32_pte_prot(mmu_idx, sr, pte);
- if (need_prot & ~prot) {
+ if (prot_for_access_type(access_type) & ~prot) {
/* Access right violation */
qemu_log_mask(CPU_LOG_MMU, "PTE access rejected\n");
if (guest_visible) {
--
2.30.9
- [PATCH v5 20/32] target/ppc/mmu_common.c: Remove BookE from direct store handling, (continued)
- [PATCH v5 20/32] target/ppc/mmu_common.c: Remove BookE from direct store handling, BALATON Zoltan, 2024/05/09
- [PATCH v5 17/32] target/ppc/mmu_common.c: Don't use mmu_ctx_t in mmubooke_get_physical_address(), BALATON Zoltan, 2024/05/09
- [PATCH v5 09/32] target/ppc/mmu_common.c: Eliminate ret from mmu6xx_get_physical_address(), BALATON Zoltan, 2024/05/09
- [PATCH v5 15/32] target/ppc/mmu_common.c: Replace hard coded constants in ppc_jumbo_xlate(), BALATON Zoltan, 2024/05/09
- [PATCH v5 16/32] target/ppc/mmu_common.c: Don't use mmu_ctx_t for mmu40x_get_physical_address(), BALATON Zoltan, 2024/05/09
- [PATCH v5 23/32] target/ppc/mmu_common.c: Move mmu_ctx_t type to mmu_common.c, BALATON Zoltan, 2024/05/09
- [PATCH v5 21/32] target/ppc/mmu_common.c: Split off BookE handling from ppc_jumbo_xlate(), BALATON Zoltan, 2024/05/09
- [PATCH v5 24/32] target/ppc/mmu_common.c: Simplify ppc_booke_xlate() part 1, BALATON Zoltan, 2024/05/09
- [PATCH v5 25/32] target/ppc/mmu_common.c: Simplify ppc_booke_xlate() part 2, BALATON Zoltan, 2024/05/09
- [PATCH v5 26/32] target/ppc: Remove id_tlbs flag from CPU env, BALATON Zoltan, 2024/05/09
- [PATCH v5 28/32] target/ppc/mmu-hash32.c: Drop a local variable,
BALATON Zoltan <=
- [PATCH v5 29/32] target/ppc/mmu-radix64.c: Drop a local variable, BALATON Zoltan, 2024/05/09
- [PATCH v5 32/32] target/ppc/mmu_common.c: Remove work around for spurious warnings, BALATON Zoltan, 2024/05/09
- [PATCH v5 30/32] target/ppc: Add a function to check for page protection bit, BALATON Zoltan, 2024/05/09
- [PATCH v5 31/32] target/ppc: Move out BookE and related MMU functions from mmu_common.c, BALATON Zoltan, 2024/05/09
- [PATCH v5 27/32] target/ppc: Split off common embedded TLB init, BALATON Zoltan, 2024/05/09
- Re: [PATCH v5 00/32] Misc PPC exception and BookE MMU clean ups, BALATON Zoltan, 2024/05/10