From: Julien Grall Date: Fri, 20 May 2022 12:09:27 +0000 (+0100) Subject: xen/arm32: mm: Re-implement setup_xenheap_mappings() using map_pages_to_xen() X-Git-Tag: archive/raspbian/4.17.0-1+rpi1^2~33^2~596 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=aafcc54689de010fb2964a282fab7ce27b225328;p=xen.git xen/arm32: mm: Re-implement setup_xenheap_mappings() using map_pages_to_xen() Now that map_pages_to_xen() has been extended to support 2MB mappings, we can replace the create_mappings() call by map_pages_to_xen() call. Signed-off-by: Julien Grall Reviewed-by: Stefano Stabellini --- diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index 03f970e4d1..47c2111c36 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -825,7 +825,12 @@ void mmu_init_secondary_cpu(void) void __init setup_xenheap_mappings(unsigned long base_mfn, unsigned long nr_mfns) { - create_mappings(xen_second, XENHEAP_VIRT_START, base_mfn, nr_mfns, MB(32)); + int rc; + + rc = map_pages_to_xen(XENHEAP_VIRT_START, _mfn(base_mfn), nr_mfns, + PAGE_HYPERVISOR_RW | _PAGE_BLOCK); + if ( rc ) + panic("Unable to setup the xenheap mappings.\n"); /* Record where the xenheap is, for translation routines. */ xenheap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;