]> git.ozlabs.org Git - yaboot.git/blobdiff - second/yaboot.c
Use prom_claim_chunk to allocate malloc area
[yaboot.git] / second / yaboot.c
index edb11c19dd02e981000a899467aedf000d3a56d3..765c7bf46618d47a4d67872349360ac70461c147 100644 (file)
@@ -177,7 +177,6 @@ yaboot_start (unsigned long r3, unsigned long r4, unsigned long r5)
 {
      int result;
      void* malloc_base = NULL;
-     unsigned long addr;
      prom_handle root;
 
      /* OF seems to do it, but I'm not very confident */
@@ -187,10 +186,7 @@ yaboot_start (unsigned long r3, unsigned long r4, unsigned long r5)
      prom_init ((prom_entry) r5);
 
      /* Allocate some memory for malloc'ator */
-     for (addr = MALLOCADDR; addr <= MALLOCADDR * 16 ;addr+=0x100000) {
-         malloc_base = prom_claim((void *)addr, MALLOCSIZE, 0);
-         if (malloc_base != (void *)-1) break;
-     }
+     malloc_base = prom_claim_chunk((void *)MALLOCADDR, MALLOCSIZE, 0);
      if (malloc_base == (void *)-1) {
          prom_printf("Can't claim malloc buffer (%d bytes at 0x%08x)\n",
                      MALLOCSIZE, MALLOCADDR);
@@ -985,7 +981,7 @@ int get_params(struct boot_param_t* params)
 
            /* check if user seted to use a initrd file from boot console */
            if (!definitrd && p != manualinitrd) {
-               if (manualinitrd[0] != "/" && (prom_get_devtype(defdevice_bak) != FILE_DEVICE_NET)) {
+               if (manualinitrd[0] != '/' && (prom_get_devtype(defdevice_bak) != FILE_DEVICE_NET)) {
                    strcpy(initrdpath, "/");
                    strcat(initrdpath, manualinitrd);
                } else