]> git.ozlabs.org Git - yaboot.git/blobdiff - second/yaboot.c
git-archimport-id: pnasrat@redhat.com/yaboot--devel--1.3--patch-1
[yaboot.git] / second / yaboot.c
index cf920a1646f2f5ae4290c64120ba5c7934b33871..2c616c3863b791076641c3d3c1edb146de746b36 100644 (file)
@@ -963,7 +963,7 @@ yaboot_text_ui(void)
                    prom_perror(result, params.rd.file);
               }
               else {
-#define INITRD_CHUNKSIZE 0x400000
+#define INITRD_CHUNKSIZE 0x100000
                    initrd_base = prom_claim(loadinfo.base+loadinfo.memsize, INITRD_CHUNKSIZE, 0);
                    if (initrd_base == (void *)-1) {
                         prom_printf("Claim failed for initrd memory\n");
@@ -979,6 +979,7 @@ yaboot_text_ui(void)
                              initrd_more = prom_claim(initrd_want, INITRD_CHUNKSIZE, 0);
                              if (initrd_more != initrd_want) {
                                   prom_printf("Claim failed for initrd memory at %p rc=%p\n",initrd_want,initrd_more);
+                                  prom_pause();
                                   break;
                              }
                              initrd_read = file.fs->read(&file, INITRD_CHUNKSIZE, initrd_more);
@@ -1161,7 +1162,7 @@ load_elf32(struct boot_file_t *file, loadinfo_t *loadinfo)
           loadaddr = KERNELADDR;
      } else {
           flat_vmlinux = 0;
-          loadaddr = e->e_entry;
+          loadaddr = loadinfo->load_loc;
      }
 
      /* On some systems, loadaddr may already be claimed, so try some