Patchwork More helpful error if cbfs header magic is 0xffffffff

login
register
about
Submitter Patrick Georgi
Date 2009-11-11 12:55:30
Message ID <4AFAB442.8070404@georgi-clan.de>
Download mbox | patch
Permalink /patch/551/
State Accepted
Commit r4933
Headers show

Comments

Patrick Georgi - 2009-11-11 12:55:30
Hi,

attached patch hopefully helps track down issues related to late 
enable_rom calls.
If the CBFS header magic is 0xffffffff, chances are that this is because 
the lower parts of the ROM aren't mapped yet. Point to 
http://www.coreboot.org/Infrastructure_Projects#CBFS, which provides 
some description and a nice table (Thanks Uwe!) about the current status.


Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Carl-Daniel Hailfinger - 2009-11-11 13:35:14
On 11.11.2009 13:55, Patrick Georgi wrote:
> attached patch hopefully helps track down issues related to late
> enable_rom calls.
> If the CBFS header magic is 0xffffffff, chances are that this is
> because the lower parts of the ROM aren't mapped yet. Point to
> http://www.coreboot.org/Infrastructure_Projects#CBFS, which provides
> some description and a nice table (Thanks Uwe!) about the current status.
>
>
> Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>

Wouldn't this cause the warning to be printed multiple times if a
contiguous section is all 0xff?

Regards,
Carl-Daniel
Peter Stuge - 2009-11-11 14:58:35
Patrick Georgi wrote:
> attached patch hopefully helps track down issues related to late
> enable_rom calls.
>
> Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>

Acked-by: Peter Stuge <peter@stuge.se>
Patrick Georgi - 2009-11-11 19:31:37
Am 11.11.2009 14:35, schrieb Carl-Daniel Hailfinger:
> Wouldn't this cause the warning to be printed multiple times if a
> contiguous section is all 0xff?
>    
That test merely validates the master header. If that one is wrong, CBFS 
goes boom, without any further lookup.
And even if it printed the message multiple times: This is a panic 
scenario. As long as the message gets out, it's fine.


Patrick

Patch

Index: src/lib/cbfs.c
===================================================================
--- src/lib/cbfs.c	(revision 4930)
+++ src/lib/cbfs.c	(working copy)
@@ -66,6 +66,10 @@ 
 	printk_spew("magic is %08x\n", ntohl(header->magic));
 	if (ntohl(header->magic) != CBFS_HEADER_MAGIC) {
 		printk_err("ERROR: No valid CBFS header found!\n");
+		if (header->magic == 0xffffffff) {
+			printk_err("Maybe the ROM isn't entirely mapped yet?\n"
+				"See (and report to) http://www.coreboot.org/Infrastructure_Projects#CBFS\n");
+		}
 		return NULL;
 	}