[LinuxBIOS] [v3][PATCH] stage0 and stage1 cleanup and improvements.

Marc Jones marc.jones at amd.com
Thu Jul 19 21:59:04 CEST 2007



Marc Jones wrote:
> This patch gets Geode LX into initram. It also cleans up some of the 
> generic stage0 and stage1 code for getting through CAR and initram.
> 
> At this point I need some help. We get into initram but I think that 
> there is a link problem where the first function call to post_code() is 
> past the beginning of the ROM.
> 
> I see the following:
> lar finds normal/initram at 0xFFFC4B20
> The call to 0xFFFC4B20 works and we are executing initram.
> The call to post_code() is to 0xFFF427d4 <--- BAD!
> 
> Also, There aren't any map files being generated. I think that they 
> would be helpful in debugging stuff like this. Any volunteers better at 
> makefiles than I am?
> 


Looking at the map file initram knows where post_code() should be but is 
different from where the code calls.
initram.map:
00080000 T main
...
ffffdcb4 A post_code
...

I have dumped the code at ffffdcb4 and it is post_code().

I think that the linker knows where the stage0 code is supposed to be 
but it is linking to it with relative addresses instead of absolute??? 
It needs to link relative to initram functions and absolute to stage0.
Any one else have any thoughts?

Marc



-- 
Marc Jones
Senior Software Engineer
(970) 226-9684 Office
mailto:Marc.Jones at amd.com
http://www.amd.com/embeddedprocessors






More information about the coreboot mailing list