Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 33a84750 authored by Jeremy Fitzhardinge's avatar Jeremy Fitzhardinge
Browse files

xen: defer building p2m mfn structures until kernel is mapped



When building mfn parts of p2m structure, we rely on being able to
use mfn_to_virt, which in turn requires kernel to be mapped into
the linear area (which is distinct from the kernel image mapping
on 64-bit).  Defer calling xen_build_mfn_list_list() until after
xen_setup_kernel_pagetable();

Signed-off-by: default avatarJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
parent c3798062
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1178,6 +1178,9 @@ asmlinkage void __init xen_start_kernel(void)
	xen_raw_console_write("mapping kernel into physical memory\n");
	pgd = xen_setup_kernel_pagetable(pgd, xen_start_info->nr_pages);

	/* Allocate and initialize top and mid mfn levels for p2m structure */
	xen_build_mfn_list_list();

	init_mm.pgd = pgd;

	/* keep using Xen gdt for now; no urgent need to change it */
+0 −3
Original line number Diff line number Diff line
@@ -374,9 +374,6 @@ void __init xen_build_dynamic_phys_to_machine(void)

		p2m_top[topidx][mididx] = &mfn_list[pfn];
	}

	/* Allocate and initialize top and mid mfn levels */
	xen_build_mfn_list_list();
}

unsigned long get_phys_to_machine(unsigned long pfn)