[coreboot] [commit] r5914 - trunk/util/mkelfImage/linux-i386

repository service svn at coreboot.org
Tue Oct 5 20:22:01 CEST 2010


Author: stuge
Date: Tue Oct  5 20:22:00 2010
New Revision: 5914
URL: https://tracker.coreboot.org/trac/coreboot/changeset/5914

Log:
mkelfImage: set kernel_alignment so 2.6.31+ work

The kernel initialization code as of boot protocol 2.10 is now reading the
kernel_alignment field.  With the field left unset the kernel attempts to
align things to 4GB which is unlikely to work, so change the alignment to
the kernel's normal value of 16MB so newer kernels processed by mkelfImage
will boot.

Signed-off-by: "Eric W. Biederman" <ebiederm at xmission.com>
Acked-by: Stefan Reinauer <stepan at coresystems.de>
Acked-by: Peter Stuge <peter at stuge.se>

Modified:
   trunk/util/mkelfImage/linux-i386/convert_params.c

Modified: trunk/util/mkelfImage/linux-i386/convert_params.c
==============================================================================
--- trunk/util/mkelfImage/linux-i386/convert_params.c	Tue Oct  5 20:21:58 2010	(r5913)
+++ trunk/util/mkelfImage/linux-i386/convert_params.c	Tue Oct  5 20:22:00 2010	(r5914)
@@ -178,7 +178,10 @@
         uint32_t cmd_line_ptr;                  /* 0x228 */
         /* 2.03+ */
         uint32_t initrd_addr_max;               /* 0x22c */
-	uint8_t  reserved15[0x2d0 - 0x230];     /* 0x230 */
+	/* 2.05+ */
+	uint32_t kernel_alignment;		/* 0x230 */
+	uint8_t  relocateable_kernel;		/* 0x234 */
+	uint8_t  reserved15[0x2d0 - 0x235];     /* 0x235 */
 
 	struct e820entry e820_map[E820MAX];	/* 0x2d0 */
 	uint8_t  reserved16[688];		/* 0x550 */
@@ -1512,6 +1515,9 @@
 	/* No loader flags */
 	info->real_mode->loader_flags = 0;
 
+	/* Set it to 16M, instead of 0 which means 4G */
+	info->real_mode->kernel_alignment = 16*1024*1024;
+
 	/* Ramdisk address and size ... */
 	info->real_mode->initrd_start = 0;
 	info->real_mode->initrd_size = 0;




More information about the coreboot mailing list