[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] dom0: Fix bad pte at booting time
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1223543473 -3600 # Node ID 75622c7943a9ae52cec513946615a0f8651ecbfd # Parent 92094d768241532377ff6a88448118338a398ee0 dom0: Fix bad pte at booting time Backport upstream kernel patch to fix Dom0's bad pte bug. - In Dom0 kernel, at boot time, system will call bt_ioremap() to do mappings for the Boot Time Fix Memory region. Also system will call bt_iounmap() to unmap the memory region by setting phys=3D0. In this case, system will encounter pte_ERROR(). This patch backports the upstream kernel patch by Ingo Molnar <mingo@xxxxxxx>, with commit: 70c9f590ffc3f959cc81c1a3cecb6b8133caf35d Signed-off-by: Dongxiao Xu <dongxiao.xu@xxxxxxxxx> --- arch/x86_64/mm/init-xen.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -r 92094d768241 -r 75622c7943a9 arch/x86_64/mm/init-xen.c --- a/arch/x86_64/mm/init-xen.c Wed Oct 08 14:13:52 2008 +0100 +++ b/arch/x86_64/mm/init-xen.c Thu Oct 09 10:11:13 2008 +0100 @@ -274,7 +274,7 @@ static __init void set_pte_phys(unsigned new_pte = __pte(0); pte = pte_offset_kernel(pmd, vaddr); - if (!pte_none(*pte) && + if (!pte_none(*pte) && pte_val(new_pte) && __pte_val(*pte) != (__pte_val(new_pte) & __supported_pte_mask)) pte_ERROR(*pte); set_pte(pte, new_pte); @@ -325,7 +325,7 @@ static __init void set_pte_phys_ma(unsig new_pte = pfn_pte_ma(phys >> PAGE_SHIFT, prot); pte = pte_offset_kernel(pmd, vaddr); - if (!pte_none(*pte) && + if (!pte_none(*pte) && pte_val(new_pte) && #ifdef CONFIG_ACPI /* __acpi_map_table() fails to properly call clear_fixmap() */ (vaddr < __fix_to_virt(FIX_ACPI_END) || _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |