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!?
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?
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 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.
- Hardware info: would I need the circuit plans of a board in order to
know what is available? I got e.g. several ports on my board which could be GPIO, LPC, LVDS, ...
In theory, all those settings should be done in the mainboard dts. However, there may be some settings which can not yet be done in the dts and the recommended course of action would be to make them dts-aware. Having board schematics eases porting somewhat, but most of the board bringup (except specialized functions like those you mentioned and IRQ routing) should be easily doable without schematics.
That's what I hope for the first steps...
- 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.
I got two other higher priority tasks at the moment (new born baby and a house to build), but I hope that I may find some time to learn more here. Any help is welcome where to look first for a starting point of v3.
Thanks, Martin