alpha 2.4.11-pre3: fix bootp initrd

From: Richard Henderson (rth@dot.cygnus.com)
Date: Thu Oct 04 2001 - 20:18:53 EST


>From Jay Estabrook:

At some point the bootp image builder broke wrt initrd.

There is a definition of INITRD_SIZE in <asm/system.h>
that defines how the running kernel gets hold of this
size, which conflicts with the INITRD_SIZE used in the
bootstrap code.

So rename the variable in the bootstrap code.

r~

diff -rup 2.4.10-dist/arch/alpha/boot/Makefile 2.4.10/arch/alpha/boot/Makefile
--- 2.4.10-dist/arch/alpha/boot/Makefile Mon Sep 25 12:36:09 2000
+++ 2.4.10/arch/alpha/boot/Makefile Thu Oct 4 16:05:16 2001
@@ -59,7 +59,7 @@ ksize.h: vmlinux.nh dummy
         echo "#define KERNEL_SIZE `ls -l vmlinux.nh | awk '{print $$5}'`" > $@T
 ifdef INITRD
         [ -f $(INITRD) ] || exit 1
- echo "#define INITRD_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
+ echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
 endif
         cmp -s $@T $@ || mv -f $@T $@
         rm -f $@T
diff -rup 2.4.10-dist/arch/alpha/boot/bootp.c 2.4.10/arch/alpha/boot/bootp.c
--- 2.4.10-dist/arch/alpha/boot/bootp.c Mon Jun 19 17:59:32 2000
+++ 2.4.10/arch/alpha/boot/bootp.c Thu Oct 4 16:05:16 2001
@@ -147,7 +147,7 @@ start_kernel(void)
          */
         static long nbytes;
         static char envval[256] __attribute__((aligned(8)));
-#ifdef INITRD_SIZE
+#ifdef INITRD_IMAGE_SIZE
         static unsigned long initrd_start;
 #endif
 
@@ -164,7 +164,7 @@ start_kernel(void)
         }
         pal_init();
 
-#ifdef INITRD_SIZE
+#ifdef INITRD_IMAGE_SIZE
         /* The initrd must be page-aligned. See below for the
            cause of the magic number 5. */
         initrd_start = ((START_ADDR + 5*KERNEL_SIZE) | (PAGE_SIZE-1)) + 1;
@@ -192,17 +192,17 @@ start_kernel(void)
          *
          * Sigh... */
 
-#ifdef INITRD_SIZE
- load(initrd_start, KERNEL_ORIGIN+KERNEL_SIZE, INITRD_SIZE);
+#ifdef INITRD_IMAGE_SIZE
+ load(initrd_start, KERNEL_ORIGIN+KERNEL_SIZE, INITRD_IMAGE_SIZE);
 #endif
         load(START_ADDR+(4*KERNEL_SIZE), KERNEL_ORIGIN, KERNEL_SIZE);
         load(START_ADDR, START_ADDR+(4*KERNEL_SIZE), KERNEL_SIZE);
 
         memset((char*)ZERO_PGE, 0, PAGE_SIZE);
         strcpy((char*)ZERO_PGE, envval);
-#ifdef INITRD_SIZE
+#ifdef INITRD_IMAGE_SIZE
         ((long *)(ZERO_PGE+256))[0] = initrd_start;
- ((long *)(ZERO_PGE+256))[1] = INITRD_SIZE;
+ ((long *)(ZERO_PGE+256))[1] = INITRD_IMAGE_SIZE;
 #endif
 
         runkernel();
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Oct 07 2001 - 21:00:35 EST