On 12.03.2008 14:29, Martin Trautmann wrote:
In-Reply-To: 47D7CFC6.5070203@gmx.net
On 2008-03-12 13:42, Carl-Daniel Hailfinger wrote:
On 12.03.2008 06:53, Martin Trautmann wrote:
Jordan Crouse wrote:
There are some other people on this list who are also interested in supporting the GX and 5535, I'll let them speak up.
Here I am. Personally, I got some major trouble how to understand coreboot:
- Migration from v2 to v3: Is there any help and docu how code should be
ported from v2 to v3 - or is v3 that much cleaner (that means completely new and different) so that it would be better to write new code from scratch?
Reading the design document in the v3 tree and the mainboard specific code for one mainboard will give you a pretty good overview of the v3 structure (and to some extent, code quality).
Ah, thanks. I checked http://www.coreboot.org/Documentation#Port_Guides - v2/v1 only http://www.coreboot.org/Development_Guidelines - general only http://www.coreboot.org/Developer_Manual - "It currently covers coreboot v2" http://www.coreboot.org/Coreboot_Options - does not name a version, but http://www.coreboot.org/Welcome_to_coreboot references it as [[corebootv2 Options]]
http://coreboot.org/viewvc/trunk/ shows v1 and v2 only
http://www.coreboot.org/Download_coreboot names "There is an archive of snapshots available at qa.coreboot.org" - which is v2 only!?
http://coreboot.org/viewvc/?root=coreboot-v3 has a link to download a specific revision as tarball.
I may obtain v3 docu by subversion only? I had checked coreboot-v3/doc/ which does not hold that much info. It's mainly a newboot.lyx
Did I miss the essential v3 docu anywhere, e.g. as .pdf?
doc/newboot.lyx can be converted to pdf and it is THE coreboot v3 design doc. It may be missing some recent developments, but most of the contents are pretty up-to-date and the design described there has not changed.
The architecture of v3 is completely different from v2 and porting means a lot of refactoring. Depending on how baroque the old code is, you might want to work from existing v3 code instead (this is especially true for GX and CS5535 code).
I hope so - but the only info I know up to now are the makefiles for
coreboot-v3/ -> northbridge/amd/geodelx/ southbridge/amd/cs5536/ arch/x86/ -> geodelx and probably several from mainboard/ according to http://www.coreboot.org/Supported_Motherboards#Motherboards_supported_in_cor...
There's one so called tutorial http://www.coreboot.org/PC_Engines_ALIX1.C_Build_Tutorial which does not teach me very much.
The "Tutorial" is a misnomer and I'll probably rename all those "tutorials" which are just verbose status pages to "status".
The best I found is http://www.coreboot.org/AMD_Geode_Porting_Guide
... but that's still far away from any docu that would teach me how to build a new port for v3.
newboot.lyx should have most of the info you need. If anything is missing, please describe what you are missing there so that we can improve the doc.
- BIOS decompiler: Is there any BIOS decompiler which would tell me the
current operations which have to be done?
There are some tools to analyze proprietary BIOS images, but the person doing the analysis is not allowed to use the results to write code because it would violate clean room principles. The best advice I can give is to avoid touching/analyzing proprietary BIOS code/images, especially if hardware documentation is readily available.
There's much of docu (too much for the beginning) for the GX2 and CS5535, but none for its bios and this special board from AMD.
Which special board are you referring to? And why would you want to read documentation for any other BIOSes for Geode? Besides that, there is quite some documentation available for ROM porting to the Geode GX. Hint: Google for "geoderom gx" and the first hit is already what you may be looking for.
Regards, Carl-Daniel