Update ia64 patch to 2.5.72-030619
[linux-flexiantxendom0-3.2.10.git] / arch / ia64 / boot / bootloader.c
index 090f25b..593667c 100644 (file)
@@ -55,6 +55,9 @@ struct disk_stat {
 
 #include "../kernel/fw-emu.c"
 
+/* This needs to be defined because lib/string.c:strlcat() calls it in case of error... */
+asm (".global printk; printk = 0");
+
 /*
  * Set a break point on this function so that symbols are available to set breakpoints in
  * the kernel being debugged.
@@ -181,10 +184,10 @@ _start (void)
                        continue;
 
                req.len = elf_phdr->p_filesz;
-               req.addr = __pa(elf_phdr->p_vaddr);
+               req.addr = __pa(elf_phdr->p_paddr);
                ssc(fd, 1, (long) &req, elf_phdr->p_offset, SSC_READ);
                ssc((long) &stat, 0, 0, 0, SSC_WAIT_COMPLETION);
-               memset((char *)__pa(elf_phdr->p_vaddr) + elf_phdr->p_filesz, 0,
+               memset((char *)__pa(elf_phdr->p_paddr) + elf_phdr->p_filesz, 0,
                       elf_phdr->p_memsz - elf_phdr->p_filesz);
        }
        ssc(fd, 0, 0, 0, SSC_CLOSE);