[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [IA64] SMP_HOST: Alloc vhpt from domheap
# HG changeset patch # User awilliam@xxxxxxxxxxx # Node ID 21f633fd90e47ca099042bf8f04c924b6fbab557 # Parent 6c43118bdba8d4316ddfffbea7a53f0b2f128ab3 [IA64] SMP_HOST: Alloc vhpt from domheap It's more reasonable to alloc vhpt from domheap, instead of xenheap. Signed-off-by: Anthony Xu <anthony.xu@xxxxxxxxx> diff -r 6c43118bdba8 -r 21f633fd90e4 xen/arch/ia64/xen/vhpt.c --- a/xen/arch/ia64/xen/vhpt.c Fri Feb 24 22:41:08 2006 +++ b/xen/arch/ia64/xen/vhpt.c Mon Feb 27 20:16:16 2006 @@ -121,7 +121,8 @@ void vhpt_init(void) { - unsigned long vhpt_total_size, vhpt_alignment, vhpt_imva; + unsigned long vhpt_total_size, vhpt_alignment; + struct page_info *page; #if !VHPT_ENABLED return; #endif @@ -134,12 +135,13 @@ * from domain heap when each domain is created. Assume xen buddy * allocator can provide natural aligned page by order? */ - vhpt_imva = alloc_xenheap_pages(VHPT_SIZE_LOG2 - PAGE_SHIFT); - if (!vhpt_imva) { +// vhpt_imva = alloc_xenheap_pages(VHPT_SIZE_LOG2 - PAGE_SHIFT); + page = alloc_domheap_pages(NULL, VHPT_SIZE_LOG2 - PAGE_SHIFT, 0); + if (!page) { printf("vhpt_init: can't allocate VHPT!\n"); while(1); } - vhpt_paddr = __pa(vhpt_imva); + vhpt_paddr = page_to_maddr(page); vhpt_pend = vhpt_paddr + vhpt_total_size - 1; printf("vhpt_init: vhpt paddr=%p, end=%p\n",vhpt_paddr,vhpt_pend); vhpt_pte = pte_val(pfn_pte(vhpt_paddr >> PAGE_SHIFT, PAGE_KERNEL)); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |