target/arm/ptw: Drop S1Translate::out_secure
We only use S1Translate::out_secure in two places, where we are setting up MemTxAttrs for a page table load. We can use arm_space_is_secure(ptw->out_space) instead, which guarantees that we're setting the MemTxAttrs secure and space fields consistently, and allows us to drop the out_secure field in S1Translate entirely. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20230807141514.19075-12-peter.maydell@linaro.org
This commit is contained in:
parent
6279f6dcdb
commit
b02f5e06bc
@ -63,7 +63,6 @@ typedef struct S1Translate {
|
||||
* Stage 2 is indicated by in_mmu_idx set to ARMMMUIdx_Stage2{,_S}.
|
||||
*/
|
||||
bool in_s1_is_el0;
|
||||
bool out_secure;
|
||||
bool out_rw;
|
||||
bool out_be;
|
||||
ARMSecuritySpace out_space;
|
||||
@ -553,7 +552,6 @@ static bool S1_ptw_translate(CPUARMState *env, S1Translate *ptw,
|
||||
pte_attrs = s2.cacheattrs.attrs;
|
||||
ptw->out_host = NULL;
|
||||
ptw->out_rw = false;
|
||||
ptw->out_secure = s2.f.attrs.secure;
|
||||
ptw->out_space = s2.f.attrs.space;
|
||||
} else {
|
||||
#ifdef CONFIG_TCG
|
||||
@ -572,7 +570,6 @@ static bool S1_ptw_translate(CPUARMState *env, S1Translate *ptw,
|
||||
ptw->out_phys = full->phys_addr | (addr & ~TARGET_PAGE_MASK);
|
||||
ptw->out_rw = full->prot & PAGE_WRITE;
|
||||
pte_attrs = full->pte_attrs;
|
||||
ptw->out_secure = full->attrs.secure;
|
||||
ptw->out_space = full->attrs.space;
|
||||
#else
|
||||
g_assert_not_reached();
|
||||
@ -630,8 +627,8 @@ static uint32_t arm_ldl_ptw(CPUARMState *env, S1Translate *ptw,
|
||||
} else {
|
||||
/* Page tables are in MMIO. */
|
||||
MemTxAttrs attrs = {
|
||||
.secure = ptw->out_secure,
|
||||
.space = ptw->out_space,
|
||||
.secure = arm_space_is_secure(ptw->out_space),
|
||||
};
|
||||
AddressSpace *as = arm_addressspace(cs, attrs);
|
||||
MemTxResult result = MEMTX_OK;
|
||||
@ -676,8 +673,8 @@ static uint64_t arm_ldq_ptw(CPUARMState *env, S1Translate *ptw,
|
||||
} else {
|
||||
/* Page tables are in MMIO. */
|
||||
MemTxAttrs attrs = {
|
||||
.secure = ptw->out_secure,
|
||||
.space = ptw->out_space,
|
||||
.secure = arm_space_is_secure(ptw->out_space),
|
||||
};
|
||||
AddressSpace *as = arm_addressspace(cs, attrs);
|
||||
MemTxResult result = MEMTX_OK;
|
||||
|
Loading…
Reference in New Issue
Block a user