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: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
This commit is contained in:
parent
c3798062f1
commit
33a847502b
|
@ -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 */
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue