There are now three smaller patches attached:
Much nicer! Thanks.
(1) Changes specific to this board. Fairly small changes from AMD Tilapia. Requires (2) to work.
From your mainboard's Kconfig:
+config DIMM_SUPPORT + hex + default 0x0004 + depends on CPU_AMD_SOCKET_AM3
This really worries me. You shouldn't need to change the type of memory on the Socket. I looked at your board online, and they suggest that your board supports socket AM2, AM2+, and AM3. That seems like it breaks our model. I thought AM2 was DDR2 and AM3 was DDR3.
Anyone want to chip in here? Marc? Stefan? ... Anyone?
(2) Small, hopefully non-intrusive, patches to generic code that are required to prevent hangups/crashes on this board.
I think these could be reduced further. I'd like to see the ISA fix be a Kconfig option in the sb700 Kconfig file. Something like SB700_SKIP_ISA_DMA_INIT which defaults to n. Then in your board you select it. It shouldn't print anything at all when it isn't selected, and probably just one "skipping" message when it is selected.
Returning the value from the watchdog was good for debugging, but I don't think it's something that should be committed.
In general, the fewer changes the better!
(3) Multiboot table patch required to get UMA and high coreboot tables locations to Grub and Linux. Independent of (1) and (2).
Do we need to dump the tables? It seems like generating them from the coreboot tables is nearly trivial. After you've debugged your code, I don't think anyone needs to see that debug output.
Thanks, Myles