[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 16/21] target/arm: Use get_phys_addr_with_struct for stage2
From: |
Richard Henderson |
Subject: |
[PATCH v2 16/21] target/arm: Use get_phys_addr_with_struct for stage2 |
Date: |
Mon, 20 Feb 2023 13:26:21 -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 d4027ce763..a797750f9b 100644
--- a/target/arm/ptw.c
+++ b/target/arm/ptw.c
@@ -37,12 +37,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,
@@ -2862,12 +2856,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, is_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 v2 08/21] target/arm: Adjust the order of Phys and Stage2 ARMMMUIdx, (continued)
- [PATCH v2 08/21] target/arm: Adjust the order of Phys and Stage2 ARMMMUIdx, Richard Henderson, 2023/02/20
- [PATCH v2 09/21] target/arm: Introduce ARMMMUIdx_Phys_{Realm,Root}, Richard Henderson, 2023/02/20
- [PATCH v2 10/21] target/arm: Pipe ARMSecuritySpace through ptw.c, Richard Henderson, 2023/02/20
- [PATCH v2 11/21] target/arm: NSTable is RES0 for the RME EL3 regime, Richard Henderson, 2023/02/20
- [PATCH v2 12/21] target/arm: Handle Block and Page bits for security space, Richard Henderson, 2023/02/20
- [PATCH v2 13/21] target/arm: Handle no-execute for Realm and Root regimes, Richard Henderson, 2023/02/20
- [PATCH v2 14/21] target/arm: Use get_phys_addr_with_struct in S1_ptw_translate, Richard Henderson, 2023/02/20
- [PATCH v2 15/21] target/arm: Move s1_is_el0 into S1Translate, Richard Henderson, 2023/02/20
- [PATCH v2 19/21] target/arm: Implement the granule protection check, Richard Henderson, 2023/02/20
- [PATCH v2 18/21] target/arm: Implement GPC exceptions, Richard Henderson, 2023/02/20
- [PATCH v2 16/21] target/arm: Use get_phys_addr_with_struct for stage2,
Richard Henderson <=
- [NOTFORMERGE PATCH v2 20/21] target/arm: Enable RME for -cpu max, Richard Henderson, 2023/02/20
- [PATCH v2 17/21] target/arm: Add GPC syndrome, Richard Henderson, 2023/02/20
- [NOTFORMERGE PATCH v2 21/21] hw/arm/virt: Add some memory for Realm Management Monitor, Richard Henderson, 2023/02/20