[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 17/22] target/arm: Use get_phys_addr_with_struct for stage2
From: |
Richard Henderson |
Subject: |
[PATCH 17/22] target/arm: Use get_phys_addr_with_struct for stage2 |
Date: |
Mon, 23 Jan 2023 14:00:22 -1000 |
This fixes a bug in which we failed to initialize
the result attributes properly after the memset.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/ptw.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/target/arm/ptw.c b/target/arm/ptw.c
index eaa47f6b62..3205339957 100644
--- a/target/arm/ptw.c
+++ b/target/arm/ptw.c
@@ -32,12 +32,6 @@ typedef struct S1Translate {
void *out_host;
} S1Translate;
-static bool get_phys_addr_lpae(CPUARMState *env, S1Translate *ptw,
- uint64_t address,
- MMUAccessType access_type,
- GetPhysAddrResult *result, ARMMMUFaultInfo *fi)
- __attribute__((nonnull));
-
static bool get_phys_addr_with_struct(CPUARMState *env, S1Translate *ptw,
target_ulong address,
MMUAccessType access_type,
@@ -2854,12 +2848,7 @@ static bool get_phys_addr_twostage(CPUARMState *env,
S1Translate *ptw,
cacheattrs1 = result->cacheattrs;
memset(result, 0, sizeof(*result));
- if (arm_feature(env, ARM_FEATURE_PMSA)) {
- ret = get_phys_addr_pmsav8(env, ipa, access_type,
- ptw->in_mmu_idx, s2walk_secure, result, fi);
- } else {
- ret = get_phys_addr_lpae(env, ptw, ipa, access_type, result, fi);
- }
+ ret = get_phys_addr_with_struct(env, ptw, ipa, access_type, result, fi);
fi->s2addr = ipa;
/* Combine the S1 and S2 perms. */
--
2.34.1
- [PATCH 04/22] target/arm: Update SCR and HCR for RME, (continued)
- [PATCH 04/22] target/arm: Update SCR and HCR for RME, Richard Henderson, 2023/01/23
- [PATCH 07/22] target/arm: Introduce ARMSecuritySpace, Richard Henderson, 2023/01/23
- [PATCH 08/22] include/exec/memattrs: Add two bits of space to MemTxAttrs, Richard Henderson, 2023/01/23
- [PATCH 09/22] target/arm: Adjust the order of Phys and Stage2 ARMMMUIdx, Richard Henderson, 2023/01/23
- [PATCH 10/22] target/arm: Introduce ARMMMUIdx_Phys_{Realm,Root}, Richard Henderson, 2023/01/23
- [PATCH 12/22] target/arm: NSTable is RES0 for the RME EL3 regime, Richard Henderson, 2023/01/23
- [PATCH 11/22] target/arm: Pipe ARMSecuritySpace through ptw.c, Richard Henderson, 2023/01/23
- [PATCH 13/22] target/arm: Handle Block and Page bits for security space, Richard Henderson, 2023/01/23
- [PATCH 14/22] target/arm: Handle no-execute for Realm and Root regimes, Richard Henderson, 2023/01/23
- [PATCH 16/22] target/arm: Move s1_is_El0 into S1Translate, Richard Henderson, 2023/01/23
- [PATCH 17/22] target/arm: Use get_phys_addr_with_struct for stage2,
Richard Henderson <=
- [PATCH 15/22] target/arm: Use get_phys_addr_with_struct in S1_ptw_translate, Richard Henderson, 2023/01/23
- [PATCH 18/22] target/arm: Add GPC syndrome, Richard Henderson, 2023/01/23
- [PATCH 19/22] target/arm: Implement GPC exceptions, Richard Henderson, 2023/01/23
- [PATCH 20/22] target/arm: Implement the granule protection check, Richard Henderson, 2023/01/23
- [PATCH 21/22] target/arm: Enable RME for -cpu max, Richard Henderson, 2023/01/23
- [RFC PATCH 22/22] hw/arm/virt: Add some memory for Realm Management Monitor, Richard Henderson, 2023/01/23