[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] Revert "Revert "xen/arm: Allocate memory for dom0 from the bottom with the 1:1 Workaround""
commit d6ca80e03cc062c984401aefba5e277a9d9139a0 Author: Ian Campbell <ian.campbell@xxxxxxxxxx> AuthorDate: Thu Apr 3 17:54:34 2014 +0100 Commit: Ian Campbell <ian.campbell@xxxxxxxxxx> CommitDate: Thu Apr 3 17:55:35 2014 +0100 Revert "Revert "xen/arm: Allocate memory for dom0 from the bottom with the 1:1 Workaround"" This reverts commit 1be5c1947fd52f5faaf6b678a829d47b0ec88bfd, effectively reinstating 6c21cb36e263de2db8716b477157a5b6cd531e1e. Without this booting dom0 on systems with >4GB of RAM is broken because the guest gets allocated a memory range which it cannot access. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- xen/arch/arm/domain_build.c | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index a0b73d2..502db84 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -69,12 +69,19 @@ static void allocate_memory_11(struct domain *d, struct kernel_info *kinfo) { paddr_t start; paddr_t size; - struct page_info *pg; + struct page_info *pg = NULL; unsigned int order = get_order_from_bytes(dom0_mem); int res; paddr_t spfn; + unsigned int bits; + + for ( bits = PAGE_SHIFT + 1; bits < PADDR_BITS; bits++ ) + { + pg = alloc_domheap_pages(d, order, MEMF_bits(bits)); + if ( pg != NULL ) + break; + } - pg = alloc_domheap_pages(d, order, 0); if ( !pg ) panic("Failed to allocate contiguous memory for dom0"); -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |