• Juergen Gross's avatar
    xen: fix dom0 boot on huge systems · 468ff43f
    Juergen Gross authored
    commit 01bd2ac2 upstream.
    
    Commit f7c90c2a ("x86/xen: don't write ptes directly in 32-bit
    PV guests") introduced a regression for booting dom0 on huge systems
    with lots of RAM (in the TB range).
    
    Reason is that on those hosts the p2m list needs to be moved early in
    the boot process and this requires temporary page tables to be created.
    Said commit modified xen_set_pte_init() to use a hypercall for writing
    a PTE, but this requires the page table being in the direct mapped
    area, which is not the case for the temporary page tables used in
    xen_relocate_p2m().
    
    As the page tables are completely written before being linked to the
    actual address space instead of set_pte() a plain write to memory can
    be used in xen_relocate_p2m().
    
    Fixes: f7c90c2a ("x86/xen: don't write ptes directly in 32-bit PV guests")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
    Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
    Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    468ff43f
mmu_pv.c 68.4 KB