Hi,

attached patch changes the bootblock generation for CBFS images.
It uses coreboot.rom (padded and all), but defaults to smaller fallback/normal 
image sizes.
It requires changes to each CBFS aware mainboard config (and requires adaption 
on conversion), but it fixes using normal image (as the offsets are calculated 
correctly).

I tried to get rid of ROM_IMAGE_SIZE and friends, but that'll have to wait 
until non-CBFS images are gone - maintaining two separate build configurations 
in a single build system isn't fun.

If this gets accepted, I'll propose a patch for the (few) CBFS boards, and 
commit them together.

Signed-off-by: Patrick Georgi <[email protected]>


Patrick
Index: src/config/nofailovercalculation.lb
===================================================================
--- src/config/nofailovercalculation.lb	(Revision 1768)
+++ src/config/nofailovercalculation.lb	(Revision 1769)
@@ -6,8 +6,13 @@
 	default ROM_SECTION_SIZE   = FALLBACK_SIZE
 	default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE )
 else
-	default ROM_SECTION_SIZE   = ( ROM_SIZE - FALLBACK_SIZE )
-	default ROM_SECTION_OFFSET = 0
+	if CONFIG_CBFS
+		default ROM_SECTION_SIZE   = FALLBACK_SIZE
+		default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE - FALLBACK_SIZE )
+	else
+		default ROM_SECTION_SIZE   = ( ROM_SIZE - FALLBACK_SIZE )
+		default ROM_SECTION_OFFSET = 0
+	end
 end
 
 ##
Index: src/config/failovercalculation.lb
===================================================================
--- src/config/failovercalculation.lb	(Revision 1768)
+++ src/config/failovercalculation.lb	(Revision 1769)
@@ -10,8 +10,13 @@
 	default ROM_SECTION_SIZE   = FALLBACK_SIZE
 	default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE - FAILOVER_SIZE )
     else
-	default ROM_SECTION_SIZE   = ( ROM_SIZE - FALLBACK_SIZE - FAILOVER_SIZE )
-	default ROM_SECTION_OFFSET = 0
+	if CONFIG_CBFS
+		default ROM_SECTION_SIZE   = FALLBACK_SIZE
+		default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE - FALLBACK_SIZE - FAILOVER_SIZE )
+	else
+		default ROM_SECTION_SIZE   = ( ROM_SIZE - FALLBACK_SIZE - FAILOVER_SIZE )
+		default ROM_SECTION_OFFSET = 0
+	end
     end
 end
 
Index: src/config/nofailovercalculation128.lb
===================================================================
--- src/config/nofailovercalculation128.lb	(Revision 1768)
+++ src/config/nofailovercalculation128.lb	(Revision 1769)
@@ -6,8 +6,13 @@
 	default ROM_SECTION_SIZE   = FALLBACK_SIZE
 	default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE )
 else
-	default ROM_SECTION_SIZE   = ( ROM_SIZE - FALLBACK_SIZE )
-	default ROM_SECTION_OFFSET = 0
+	if CONFIG_CBFS
+		default ROM_SECTION_SIZE   = FALLBACK_SIZE
+		default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE - FALLBACK_SIZE )
+	else
+		default ROM_SECTION_SIZE   = ( ROM_SIZE - FALLBACK_SIZE )
+		default ROM_SECTION_OFFSET = 0
+	end
 end
 
 ##
Index: util/newconfig/config.g
===================================================================
--- util/newconfig/config.g	(Revision 1768)
+++ util/newconfig/config.g	(Revision 1769)
@@ -2297,7 +2297,7 @@
 		# build the bootblock here.
 		file.write("\n\tcat")
 		for j in i.roms:
-			file.write(" %s/coreboot.strip " % j)
+			file.write(" %s/coreboot.rom " % j)
 		file.write("> %s.bootblock\n\n" %i.name)
 		file.write("\t./cbfstool %s create %s %s %s.bootblock\n"
 			   %(i.name, romsize, bootblocksize, i.name))
-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to