[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 75/96] target/ppc/mmu_common.c: Remove pte_update_flags()
From: |
Nicholas Piggin |
Subject: |
[PULL 75/96] target/ppc/mmu_common.c: Remove pte_update_flags() |
Date: |
Fri, 26 Jul 2024 09:53:48 +1000 |
From: BALATON Zoltan <balaton@eik.bme.hu>
This function is used only once, its return value is ignored and one
of its parameter is a return value from a previous call. It is better
to inline it in the caller and remove it.
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
target/ppc/mmu_common.c | 41 +++++++++++++----------------------------
1 file changed, 13 insertions(+), 28 deletions(-)
diff --git a/target/ppc/mmu_common.c b/target/ppc/mmu_common.c
index e3537c63c0..c4902b7632 100644
--- a/target/ppc/mmu_common.c
+++ b/target/ppc/mmu_common.c
@@ -119,39 +119,14 @@ static int ppc6xx_tlb_pte_check(mmu_ctx_t *ctx,
target_ulong pte0,
}
}
-static int pte_update_flags(mmu_ctx_t *ctx, target_ulong *pte1p,
- int ret, MMUAccessType access_type)
-{
- int store = 0;
-
- /* Update page flags */
- if (!(*pte1p & 0x00000100)) {
- /* Update accessed flag */
- *pte1p |= 0x00000100;
- store = 1;
- }
- if (!(*pte1p & 0x00000080)) {
- if (access_type == MMU_DATA_STORE && ret == 0) {
- /* Update changed flag */
- *pte1p |= 0x00000080;
- store = 1;
- } else {
- /* Force page fault for first write access */
- ctx->prot &= ~PAGE_WRITE;
- }
- }
-
- return store;
-}
-
/* Software driven TLB helpers */
static int ppc6xx_tlb_check(CPUPPCState *env, mmu_ctx_t *ctx,
target_ulong eaddr, MMUAccessType access_type)
{
ppc6xx_tlb_t *tlb;
- int nr, best, way;
- int ret;
+ target_ulong *pte1p;
+ int nr, best, way, ret;
best = -1;
ret = -1; /* No TLB found */
@@ -204,7 +179,17 @@ done:
" prot=%01x ret=%d\n",
ctx->raddr & TARGET_PAGE_MASK, ctx->prot, ret);
/* Update page flags */
- pte_update_flags(ctx, &env->tlb.tlb6[best].pte1, ret, access_type);
+ pte1p = &env->tlb.tlb6[best].pte1;
+ *pte1p |= 0x00000100; /* Update accessed flag */
+ if (!(*pte1p & 0x00000080)) {
+ if (access_type == MMU_DATA_STORE && ret == 0) {
+ /* Update changed flag */
+ *pte1p |= 0x00000080;
+ } else {
+ /* Force page fault for first write access */
+ ctx->prot &= ~PAGE_WRITE;
+ }
+ }
}
#if defined(DUMP_PAGE_TABLES)
if (qemu_loglevel_mask(CPU_LOG_MMU)) {
--
2.45.2
- [PULL 67/96] target/ppc/mmu_common.c: Remove single use local variable, (continued)
- [PULL 67/96] target/ppc/mmu_common.c: Remove single use local variable, Nicholas Piggin, 2024/07/25
- [PULL 68/96] target/ppc/mmu_common.c: Remove single use local variable, Nicholas Piggin, 2024/07/25
- [PULL 63/96] target/ppc: Update VMX storage access insns to use tcg_gen_qemu_ld/st_i128., Nicholas Piggin, 2024/07/25
- [PULL 64/96] target/ppc : Update VSX storage access insns to use tcg_gen_qemu _ld/st_i128., Nicholas Piggin, 2024/07/25
- [PULL 69/96] target/ppc/mmu_common.c: Remove another single use local variable, Nicholas Piggin, 2024/07/25
- [PULL 70/96] target/ppc/mmu_common.c: Remove yet another single use local variable, Nicholas Piggin, 2024/07/25
- [PULL 71/96] target/ppc/mmu_common.c: Return directly in ppc6xx_tlb_pte_check(), Nicholas Piggin, 2024/07/25
- [PULL 73/96] target/ppc/mmu_common.c: Remove unused field from mmu_ctx_t, Nicholas Piggin, 2024/07/25
- [PULL 72/96] target/ppc/mmu_common.c: Simplify ppc6xx_tlb_pte_check(), Nicholas Piggin, 2024/07/25
- [PULL 74/96] target/ppc/mmu_common.c: Remove hash field from mmu_ctx_t, Nicholas Piggin, 2024/07/25
- [PULL 75/96] target/ppc/mmu_common.c: Remove pte_update_flags(),
Nicholas Piggin <=
- [PULL 76/96] target/ppc/mmu_common.c: Remove nx field from mmu_ctx_t, Nicholas Piggin, 2024/07/25
- [PULL 77/96] target/ppc/mmu_common.c: Convert local variable to bool, Nicholas Piggin, 2024/07/25
- [PULL 79/96] target/ppc/mmu_common.c: Simplify a switch statement, Nicholas Piggin, 2024/07/25
- [PULL 78/96] target/ppc/mmu_common.c: Remove single use local variable, Nicholas Piggin, 2024/07/25
- [PULL 80/96] target/ppc/mmu_common.c: Inline and remove ppc6xx_tlb_pte_check(), Nicholas Piggin, 2024/07/25
- [PULL 81/96] target/ppc/mmu_common.c: Remove ptem field from mmu_ctx_t, Nicholas Piggin, 2024/07/25
- [PULL 82/96] target/ppc: Add function to get protection key for hash32 MMU, Nicholas Piggin, 2024/07/25
- [PULL 83/96] target/ppc/mmu-hash32.c: Inline and remove ppc_hash32_pte_prot(), Nicholas Piggin, 2024/07/25
- [PULL 84/96] target/ppc/mmu_common.c: Init variable in function that relies on it, Nicholas Piggin, 2024/07/25
- [PULL 85/96] target/ppc/mmu_common.c: Remove key field from mmu_ctx_t, Nicholas Piggin, 2024/07/25