On Tue, 24 Jan 2023 at 00:06, Richard Henderson
<[email protected]> wrote:
>
> Add input and output space members to S1Translate.
> Set and adjust them in S1_ptw_translate, and the
> various points at which we drop secure state.
> Initialize the space in get_phys_addr; for now
> leave get_phys_addr_with_secure considering only
> secure vs non-secure spaces.
>
> Signed-off-by: Richard Henderson <[email protected]>
> ---
> @@ -2825,11 +2850,12 @@ static bool get_phys_addr_with_struct(CPUARMState
> *env, S1Translate *ptw,
> ARMMMUIdx s1_mmu_idx;
>
> /*
> - * The page table entries may downgrade secure to non-secure, but
> - * cannot upgrade an non-secure translation regime's attributes
> - * to secure.
> + * The page table entries may downgrade secure to NonSecure, but
"Secure" (just for consistency of capitalization)
> + * cannot upgrade a NonSecure translation regime's attributes
> + * to Secure or Realm.
> */
> result->f.attrs.secure = is_secure;
> + result->f.attrs.space = ptw->in_space;
>
> switch (mmu_idx) {
> case ARMMMUIdx_Phys_S:
Otherwise
Reviewed-by: Peter Maydell <[email protected]>
thanks
-- PMM