From patchwork Sat Sep 25 15:19:57 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: build service results for r5841 Date: Sat, 25 Sep 2010 15:19:57 -0000 From: Patrick Georgi X-Patchwork-Id: 1977 Message-Id: <4C9E131D.6090707@georgi-clan.de> To: coreboot@coreboot.org Am 25.09.2010 16:40, schrieb repository service: > Change Log: > Make globals in romstage break the build, so we don't have to > wonder why variables in .data or .bss (both somewhere in ROM space) > are wrong. Instant proof that this test is useful :-) Digging through these boards, the culprit is static u8 swaplist[] = { 0xFF, CONFIG_HT_CHAIN_UNITID_BASE, CONFIG_HT_CHAIN_END_UNITID_BASE, 0xFF }; in src/northbridge/amd/amdht/ht_wrapper.c's static BOOL AMD_CB_ManualBUIDSwapList (u8 node, u8 link, u8 **List). This is put in .data, as it might be modified by some other user of the pointer. As far as I can see, it isn't, so that choice is harmless. I made it const, as well as its users, and the tree compiles, but feedback on the approach of the patch and/or testing is _very_ welcome. Signed-off-by: Patrick Georgi Acked-by: Stefan Reinauer Index: src/northbridge/amd/amdht/h3finit.c =================================================================== --- src/northbridge/amd/amdht/h3finit.c (Revision 5841) +++ src/northbridge/amd/amdht/h3finit.c (Arbeitskopie) @@ -899,7 +899,7 @@ u32 unitIDcnt; SBDFO currentPtr; u8 depth; - u8 *pSwapPtr; + const u8 *pSwapPtr; SBDFO lastSBDFO = ILLEGAL_SBDFO; u8 lastLink = 0; Index: src/northbridge/amd/amdht/h3finit.h =================================================================== --- src/northbridge/amd/amdht/h3finit.h (Revision 5841) +++ src/northbridge/amd/amdht/h3finit.h (Arbeitskopie) @@ -195,7 +195,7 @@ * * --------------------------------------------------------------------------------------- */ - BOOL (*AMD_CB_ManualBUIDSwapList)(u8 Node, u8 Link, u8 **List); + BOOL (*AMD_CB_ManualBUIDSwapList)(u8 Node, u8 Link, const u8 **List); /**---------------------------------------------------------------------------------------- * Index: src/northbridge/amd/amdht/ht_wrapper.c =================================================================== --- src/northbridge/amd/amdht/ht_wrapper.c (Revision 5841) +++ src/northbridge/amd/amdht/ht_wrapper.c (Arbeitskopie) @@ -117,9 +117,9 @@ * @param[out] BOOL result = true to use a manual list * false to initialize the link automatically */ -static BOOL AMD_CB_ManualBUIDSwapList (u8 node, u8 link, u8 **List) +static BOOL AMD_CB_ManualBUIDSwapList (u8 node, u8 link, const u8 **List) { - static u8 swaplist[] = { 0xFF, CONFIG_HT_CHAIN_UNITID_BASE, CONFIG_HT_CHAIN_END_UNITID_BASE, 0xFF }; + static const u8 swaplist[] = { 0xFF, CONFIG_HT_CHAIN_UNITID_BASE, CONFIG_HT_CHAIN_END_UNITID_BASE, 0xFF }; /* If the BUID was adjusted in early_ht we need to do the manual override */ if ((CONFIG_HT_CHAIN_UNITID_BASE != 0) && (CONFIG_HT_CHAIN_END_UNITID_BASE != 0)) { printk(BIOS_DEBUG, "AMD_CB_ManualBUIDSwapList()\n");