[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] hvm: Fix max_mapped_pfn when using 2MB super pages.
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1213347409 -3600 # Node ID 02b6977de4b5bcc173183e3f4aa836cd36f76160 # Parent 8a0415fac759d0336107b0917b45c1dd9a55755d hvm: Fix max_mapped_pfn when using 2MB super pages. Fixes booting Linux guest allocated more than 4G memory. - The p2m table will track the max_mapped_pfn, and while doing p2m_gfn_to_mfn(), if the gfn is higher than max_mapped_pfn, the function will return _mfn(INVALID_MFN). This makes the Linux guest kernel panic. Signed-off-by: Xu Dongxiao <dongxiao.xu@xxxxxxxxx> --- xen/arch/x86/mm/p2m.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -r 8a0415fac759 -r 02b6977de4b5 xen/arch/x86/mm/p2m.c --- a/xen/arch/x86/mm/p2m.c Fri Jun 13 09:54:03 2008 +0100 +++ b/xen/arch/x86/mm/p2m.c Fri Jun 13 09:56:49 2008 +0100 @@ -323,7 +323,7 @@ p2m_set_entry(struct domain *d, unsigned /* Track the highest gfn for which we have ever had a valid mapping */ if ( mfn_valid(mfn) && (gfn > d->arch.p2m->max_mapped_pfn) ) - d->arch.p2m->max_mapped_pfn = gfn; + d->arch.p2m->max_mapped_pfn = gfn + (1UL << page_order) - 1; if ( iommu_enabled && (is_hvm_domain(d) || need_iommu(d)) ) { _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |