[PATCH 2/2] support loading kernels/initrds > 6MB

Scott Moser ssmoser at us.ibm.com
Sat Oct 6 01:07:48 EST 2007


  move the tftp load space and use prom_claim_chunk to claim the memory.
  Growing kernels mean that the 6MB that was allotted is not enough.
  The Fedora 7 kernel is now at 7.3MB.

  I've successfully tested loading of these larger kernels on this on my
  power5 and power6 systems and JS2[12] blades.

diff --git a/second/fs_of.c b/second/fs_of.c
index d0b2e5b..2c27a18 100644
--- a/second/fs_of.c
+++ b/second/fs_of.c
@@ -44,9 +44,8 @@
 #include "errors.h"
 #include "debug.h"
 
-#define LOAD_BUFFER_POS		0x600000
-/* this cannot be safely increased any further */
-#define LOAD_BUFFER_SIZE	0x600000
+#define LOAD_BUFFER_POS		0x1000000
+#define LOAD_BUFFER_SIZE	0x1000000
 
 static int of_open(struct boot_file_t* file, const char* dev_name,
 		   struct partition_t* part, const char* file_name);
@@ -207,7 +206,9 @@ of_net_open(struct boot_file_t* file, const char* dev_name,
 	  return FILE_ERR_BAD_FSYS;
      }
 
-     file->buffer = prom_claim((void *)LOAD_BUFFER_POS, LOAD_BUFFER_SIZE, 0);
+
+     file->buffer = prom_claim_chunk((void *)LOAD_BUFFER_POS,
+                                     LOAD_BUFFER_SIZE, 0);
      if (file->buffer == (void *)-1) {
 	  prom_printf("Can't claim memory for TFTP download\n");
 	  prom_close(file->of_device);




More information about the Yaboot-devel mailing list