On Sat, Mar 2, 2013 at 2:07 AM, Paul Menzel < paulepanter@users.sourceforge.net> wrote:
Dear coreboot folks,
please take a look at the following difference of two files.
$ diff -u src/southbridge/amd/cimx/sb{8,9}00/late.c --- src/southbridge/amd/cimx/sb800/late.c 2013-03-02
08:52:51.313654244 +0100 +++ src/southbridge/amd/cimx/sb900/late.c 2013-03-02 08:51:52.157327591 +0100
...
So changes are mainly,
- Different capitalization of file names.
- Different function names (sb800 vs. sb900).
- Different comments.
- Changes to the SB800 file which have not been ported to the SB900
file.
So looking at the lspci output,
00:14.5 USB controller: Advanced Micro Devices [AMD] nee ATI
SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
Linux drivers(?) seem to use the same code for SB7x0/SB8x0/SB9x0 too. So I just assume that they are indeed very similar.
Should not we do the same? Especially because of item 4., that fixes get ported to all generations.
If that is unfeasible at least spelling of filenames should be kept consistent in my opinion.
Those seem to be from AGESA/CIMX. For better or worse, it models the vendor's internal code development processes so that coreboot gets code drops like the commercial BIOS vendors. I guess AMD developed the SB900 separately from the SB800 to utilize chipset-specific debug features, and then sanitized the code prior to releasing it.
You're right to point out the problems with this model, but in general I suspect it's best to simply accept the ugly parts rather than diverge from whatever AMD uses internally.
For more info about AGESA/CIMX and coreboot, see http://blogs.amd.com/work/2011/02/28/technical-details-coreboot/