From: kfraser@localhost.localdomain Date: Fri, 10 Nov 2006 14:53:00 +0000 (+0000) Subject: Revert 12361:32f7b40ace426d3acdf26c21c20cb6b4562d9f10. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15567^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=afb74c597365821d7e515d1b7d51066ffe9edd3d;p=xen.git Revert 12361:32f7b40ace426d3acdf26c21c20cb6b4562d9f10. We should support the XENMEM_memory_map hypercall properly to fix this issue. Signed-off-by: Keir Fraser --- diff --git a/linux-2.6-xen-sparse/arch/x86_64/kernel/e820-xen.c b/linux-2.6-xen-sparse/arch/x86_64/kernel/e820-xen.c index a3dd2d98df..333a9a26f4 100644 --- a/linux-2.6-xen-sparse/arch/x86_64/kernel/e820-xen.c +++ b/linux-2.6-xen-sparse/arch/x86_64/kernel/e820-xen.c @@ -583,20 +583,15 @@ void __init setup_memory_region(void) * the boot process we know we have plenty slack space. */ struct e820entry map[E820MAX]; - unsigned long arg = DOMID_SELF; memmap.nr_entries = E820MAX; set_xen_guest_handle(memmap.buffer, map); rc = HYPERVISOR_memory_op(XENMEM_memory_map, &memmap); - if (rc == -ENOSYS) { + if ( rc == -ENOSYS ) { memmap.nr_entries = 1; map[0].addr = 0ULL; - rc = HYPERVISOR_memory_op(XENMEM_maximum_reservation, &arg); - if (rc < 0) - map[0].size = xen_start_info->nr_pages << PAGE_SHIFT; - else - map[0].size = rc << PAGE_SHIFT; + map[0].size = xen_start_info->nr_pages << PAGE_SHIFT; /* 8MB slack (to balance backend allocations). */ map[0].size += 8 << 20; map[0].type = E820_RAM; diff --git a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_post.h b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_post.h index 2ea18f44eb..7314dedbde 100644 --- a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_post.h +++ b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/setup_arch_post.h @@ -13,7 +13,6 @@ static char * __init machine_specific_memory_setup(void) { int rc; struct xen_memory_map memmap; - unsigned long arg = DOMID_SELF; /* * This is rather large for a stack variable but this early in * the boot process we know we have plenty slack space. @@ -24,14 +23,9 @@ static char * __init machine_specific_memory_setup(void) set_xen_guest_handle(memmap.buffer, map); rc = HYPERVISOR_memory_op(XENMEM_memory_map, &memmap); - if (rc == -ENOSYS) { + if ( rc == -ENOSYS ) { memmap.nr_entries = 1; map[0].addr = 0ULL; - rc = HYPERVISOR_memory_op(XENMEM_maximum_reservation, &arg); - if (rc < 0) - map[0].size = PFN_PHYS(xen_start_info->nr_pages); - else - map[0].size = PFN_PHYS(rc); map[0].size = PFN_PHYS(xen_start_info->nr_pages); /* 8MB slack (to balance backend allocations). */ map[0].size += 8ULL << 20;