Hi,
I have been following with interest discussions from Ramesh Bios and others relating to the Geode processor. I have a few boards here with GX1's with the CX5530 and PC97307/PC97317 superio, and am getting started with getting LinuxBIOS onto those boards.
I have a board booting up to the point of attempting to load an ELF image, at which point it craps out! This is using the v1 code tree. My project would appear to be a long-term one and I was wondering if it would not be beneficial to all to port all of the GX1 related code to LinuxBIOS v2. Ramesh, I saw in one of your posts that you had mentioned willingness to start working on this - if you have started, maybe we could work together on this?
I have had a brief look at the code in question to attempt to see why the elfboot code is failing, but have not found a logical reason yet. The one scarry debug message I get is the following:
Welcome to elfboot, the open sourced starter. January 2002, Eric Biederman. Version 1.2
null
op: 0x07 eax:0x00000000 ebx:0x00000000 ecx:0x00000000 edx:0x00000000 op: 0x08 eax:0x00000000 ebx:0x00000000 ecx:0x00000000 edx:0x00000000 op: 0x09 eax:0x00000000 ebx:0x00000000 ecx:0x00000000 edx:0x00000000 op: 0x0a eax:0x00000000 ebx:0x00000000 ecx:0x00000000 edx:0x00000000 ... ... ...
It would appear as though the null is being printed out by the stream->init() call in the elfboot function in $(TOP)/lib/elfboot.c. I have had a further look into the code and do not see anywhere where the init function pointer within the stream struct in question is initialised.
I have noticed in v2 that there is a completely different code interface to the stream stuff, and rather than patching broken code, maybe it is a good idea to look at moving the working GX1 code to v2.
I have not looked at the v2 tree much, and am sure there is a learning curve to start porting the stuff across. Any pointers as to where there may be some docs relating to the porting process?
Thanks in advance
Hamish -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.9.3 - Release Date: 05.04.2005
I have noticed in v2 that there is a completely different code interface to the stream stuff, and rather than patching broken code, maybe it is a good idea to look at moving the working GX1 code to v2.
It's not just a good idea its _required_. No active development has been going on in the V1 tree for a long time which means none of the linuxbios developers have been working with that code.
V2 is better than V1 in almost all cases. And where its not it needs to be fixed. V1 is a dead end street. Its deprecated and largely unsupported.
So if you want any real support from most of the developers on this list you will have to move to V2.
Now thats not to say we won't answer questions about v1 its just most of the developers haven't looked at that code in a long while and we forget easily.
Now unfortunately there still isn't much info on porting to V2. There's lots of stuff on the wiki but not much with starting a low level port.
The only real documentation is the V2 code. If you want I can send you my 440bx patch for V2 which only has the raw framework in it. If you model your port after whats done in that patch you will get a V2 framework that will boot and display serial stuff (once you add support for your serial ports). You will then have to do all the RAM init, etc. but that should be enough to get you started.
move to V2.
V1 is just wasting your time.
ron