|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 3/7] xen/arm64: head: Add missing isb in setup_fixmap()
Hi, On 21/06/2023 10:33, Michal Orzel wrote: On 19/06/2023 19:01, Julien Grall wrote: Thanks. To clarify, shall I add it in each patch or only this one? When it comes to essential isb() after dsb() in arm64 head.S, I can see that we are missing one in enable_mmu() after TLB invalidation. On HW without FEAT_ETS the TLB is "guaranteed to be complete after the execution of DSB by that PE, followed by a Context synchronization event", so I view isb as necessary there. While there is no ISB directly after DSB NSH, there are one right after MSR. I don't think we need one before because nothing will use the TLBs between before the ISB.
/*
* The state of the TLBs is unknown before turning on the MMU.
* Flush them to avoid stale one.
*/
tlbi alle2 /* Flush hypervisor TLBs */
dsb nsh
/* Write Xen's PT's paddr into TTBR0_EL2 */
load_paddr x0, boot_pgtable
msr TTBR0_EL2, x0
isb
We could also introduce (just like for arm32) flush_xen_tlb_local macro and use it there + remove opencoding it. That would be good. But I don't think this is necessary here (see above). Cheers, -- Julien Grall
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |