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
On Wednesday 12 March 2008, Martin Trautmann Added some documentation links he dug up.
Thanks for the predig you did for me. I'll go and check out the Docu's.
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.
What MB are you working on Martin? Are you doing it for hobby purposes or for your work? Congrats on the critter. Always a blast and more than worth the time to invest in them.
Frans Grotepass wrote:
What MB are you working on Martin?
It's a DecTOP, formerly known as AMD PIC. You may get four computers for $199 (plus some ridiculous costs for delivery) from Data Evolution. German users shared an order of 100 devices.
Are you doing it for hobby purposes or for your work?
Just a hobby - a low cost home server, maybe for Web, maybe for measurement purposes. It did not get Ethernet, but USB1 only.
CU, Martin
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
Carl-Daniel Hailfinger wrote:
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.
Is there any special need for this source format? People might be able to install anything for pdf creation - but I'm still in the process to install Qt 4, which is required by lyx, which is required to format the .lyx file. Ok, it's possible to read the source format itself. But it would be easier to have some ready and much more common format here. I don't know whether I would be able to run lyx at all on the system itself (GX2, 500 MHz, 128 MB RAM) - and it takes 100 MB source files for installation...
The "Tutorial" is a misnomer and I'll probably rename all those "tutorials" which are just verbose status pages to "status".
This would be much more appropriate.
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.
Thanks, I'll do so
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?
The AMD Personal Internet Communicator (PIC, now sold as DecTOP).
The sticker says: PIC-1MM, Technology By Advanced Micro Devices, Inc.
And why would you want to read documentation for any other BIOSes for Geode?
Converting from LX to GX should be easier than to do everything from scratch.
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.
That's a good starting point, as soon as someone knows how to put this info into coreboot.
Thanks, Martin
On 12.03.2008 20:29, Martin Trautmann wrote:
Carl-Daniel Hailfinger wrote:
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.
Is there any special need for this source format? People might be able to install anything for pdf creation - but I'm still in the process to install Qt 4, which is required by lyx, which is required to format the .lyx file. Ok, it's possible to read the source format itself. But it would be easier to have some ready and much more common format here. I don't know whether I would be able to run lyx at all on the system itself (GX2, 500 MHz, 128 MB RAM) - and it takes 100 MB source files for installation...
Basically, LyX is a graphical frontend for LaTeX. Depending on the LyX version you use, it requires Qt 3 or Qt 4. Maybe we can put a generated pdf somewhere in the wiki.
Regards, Carl-Daniel
On Wed, Mar 12, 2008 at 02:59:29PM +0100, Carl-Daniel Hailfinger wrote:
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".
Please don't. Those pages should all be Tutorial+Status, but some are in TODO state and only contain a status table so far (which is more important anyway IMO, the building of coreboot is pretty much the same for most boards).
But ideally, there should be more/extended board-specific information in addition to the status table for each board, of course.
Uwe.
On 12.03.2008 21:27, Uwe Hermann wrote:
On Wed, Mar 12, 2008 at 02:59:29PM +0100, Carl-Daniel Hailfinger wrote:
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".
Please don't. Those pages should all be Tutorial+Status, but some are in TODO state and only contain a status table so far (which is more important anyway IMO, the building of coreboot is pretty much the same for most boards).
This is about truth in advertising. If a link for a board in v3 is called "Tutorial" and all it has is the v2 status, the link is completely worthless and we might as well remove the link. I will not rename the pages, but the misleading links need to be fixed.
But ideally, there should be more/extended board-specific information in addition to the status table for each board, of course.
So why not be honest with the reader in the first place and call the glorified status pages "Status"?
Regards, Carl-Daniel