The boot params region needs to be placed using the machine
address not the physical address. This is because it represents
an area of memory that is reserved in the hypervisor and it is
critical that the same area of machine memory is not trampled
over during kexec.

Signed-off-by: Simon Horman <[EMAIL PROTECTED]>

Index: x/arch/ia64/kernel/setup.c
===================================================================
--- x/arch/ia64/kernel/setup.c  2007-05-16 18:26:30.000000000 +0900
+++ x/arch/ia64/kernel/setup.c  2007-05-16 18:26:37.000000000 +0900
@@ -340,7 +340,7 @@ reserve_memory (void)
                efi_memmap_res.start = ia64_boot_param->efi_memmap;
                 efi_memmap_res.end = efi_memmap_res.start +
                         ia64_boot_param->efi_memmap_size;
-                boot_param_res.start = __pa(ia64_boot_param);
+                boot_param_res.start = kexec_virt_to_phys(ia64_boot_param);
                 boot_param_res.end = boot_param_res.start +
                         sizeof(*ia64_boot_param);
        }

-- 

-- 
Horms
  H: http://www.vergenet.net/~horms/
  W: http://www.valinux.co.jp/en/


_______________________________________________
Xen-ia64-devel mailing list
[email protected]
http://lists.xensource.com/xen-ia64-devel

Reply via email to