[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.