On Thu, 6 Oct 2022 at 21:58, Richard Henderson <richard.hender...@linaro.org> wrote: > > On 10/6/22 11:55, Peter Maydell wrote: > > On Thu, 6 Oct 2022 at 19:20, Richard Henderson > > <richard.hender...@linaro.org> wrote: > >> > >> On 10/6/22 08:22, Peter Maydell wrote: > >>> Yeah, cleared-at-start is fine. But here we're also relying on > >>> the stage 2 call to get_phys_addr_lpae() not setting it to 1, > >>> because we pass that the same 'result' pointer, not a fresh one. > >> > >> I clear it first: that patch is already merged: > >> > >> memset(result, 0, sizeof(*result)); > >> ret = get_phys_addr_lpae(env, ipa, access_type, s2_mmu_idx, > >> is_el0, result, fi); > > > > Yes, but that doesn't help if this ^^^ get_phys_addr_lpae() > > call sets result->attrs.secure = true. > > Ok, sure, let's make the write to .secure be unconditional. > I've split this out into a new patch 2 for clarity.
If you can send that extra patch out, I can take it plus 1..20 from this series into target-arm.next, so your next revision of this series can be smaller. thanks -- PMM