Recently the 3 projects using the new AMD reference code have been
authorScott Duplichan <scott@notabs.org>
Tue, 19 Apr 2011 01:36:24 +0000 (01:36 +0000)
committerStefan Reinauer <stepan@openbios.org>
Tue, 19 Apr 2011 01:36:24 +0000 (01:36 +0000)
failing the check for globals (or statics) in romstage. This causes
ASRock E350M1, AMD Inagua, and AMD Persimmon builds to fail with the
message "Do not use global variables in romstage". The message is
working as intended. It is detecting data declared as 'static' when
'static const' was intended. The code executes correctly because it
never tries to modify the data.

To make reference code updates easy, it is probably best to avoid
modifying the AMD provided code if possible. The following change
bypasses the "Do not use global variables in romstage" check for
the AMD reference code only.

Signed-off-by: Scott Duplichan <scott@notabs.org>
Acked-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6516 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/arch/x86/init/bootblock.ld

index edba8e6f61e618e2a660fd0e444f4667a90c8420..eab64cf8d819ab80fb58b2708d4971c85c6d87bc 100644 (file)
@@ -49,5 +49,6 @@ SECTIONS
                *(.comment.*)
                *(.note.*)
        }
-       _bogus = ASSERT((SIZEOF(.bss) + SIZEOF(.data)) == 0, "Do not use global variables in romstage");
+
+       _bogus = ASSERT((SIZEOF(.bss) + SIZEOF(.data)) == 0 || CONFIG_AMD_AGESA, "Do not use global variables in romstage");
 }