> On 20 May 2022, at 13:09, Julien Grall <jul...@xen.org> wrote: > > From: Wei Liu <wei.l...@citrix.com> > > The basic idea is like Persistent Kernel Map (PKMAP) in Linux. We > pre-populate all the relevant page tables before the system is fully > set up. > > We will need it on Arm in order to rework the arm64 version of > xenheap_setup_mappings() as we may need to use pages allocated from > the boot allocator before they are effectively mapped. > > This infrastructure is not lock-protected therefore can only be used > before smpboot. After smpboot, map_domain_page() has to be used. > > This is based on the x86 version [1] that was originally implemented > by Wei Liu. > > The PMAP infrastructure is implemented in common code with some > arch helpers to set/clear the page-table entries and convertion > between a fixmap slot to a virtual address... > > As mfn_to_xen_entry() now needs to be exported, take the opportunity > to swich the parameter attr from unsigned to unsigned int. > > [1] > <e92da4ad6015b6089737fcccba3ec1d6424649a5.1588278317.git.hongy...@amazon.com> > > Signed-off-by: Wei Liu <wei.l...@citrix.com> > Signed-off-by: Hongyan Xia <hongy...@amazon.com> > [julien: Adapted for Arm] > Signed-off-by: Julien Grall <jgr...@amazon.com>
Hi Julien, with ASSERT(!in_irq()) in pmap_unmap(const void *p) as you previously say. Reviewed-by: Luca Fancellu <luca.fance...@arm.com> I’ve also tested patches up to this one, start/destroying/connecting-to few guests and no problem. Tested-by: Luca Fancellu <luca.fance...@arm.com>