> On 20 May 2022, at 13:09, Julien Grall <[email protected]> wrote:
> 
> From: Wei Liu <[email protected]>
> 
> 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 <[email protected]>
> Signed-off-by: Hongyan Xia <[email protected]>
> [julien: Adapted for Arm]
> Signed-off-by: Julien Grall <[email protected]>

Hi Julien,

with ASSERT(!in_irq()) in pmap_unmap(const void *p) as you previously say.

Reviewed-by: Luca Fancellu <[email protected]>

I’ve also tested patches up to this one, start/destroying/connecting-to few 
guests
and no problem.

Tested-by: Luca Fancellu <[email protected]>



Reply via email to