[LinuxBIOS] one last note

Hamish Guthrie hamish at prodigi.ch
Mon Jan 23 17:31:07 CET 2006

Just to clarify how the VSA stuff works - I am using it sucessfully with 
GX1 and the code for GX2 is very similar.

Firstly, the VSA code is supplied in binary form only, and the code is 
owned by AMD, and AMD are quite happy for this to be included with a 
LinuxBIOS implementation (this has been cleared with them). Also, the 
VGA BIOS written by Elpin systems can be used royalty free on the Geode 
processors (also been cleared with AMD).

The issue is that each VSA module (there are a number of them), has 
real-mode initialization code which has to be called in real mode (well 
it is actually best to do it in flat mode), but it is 16-bit code. Also, 
the VGA BIOS REQUIRES that the VGA VSA module is loaded. Also, the 
framebuffer driver and the X drivers use calls to the VGA BIOS, so to 
get all of that stuff running without the VSA is a no-no.

As a dirty hack I have done an implementation for the GX1 which uses a 
thing called Xpress Loader - this is loader code which basically gets 
all the hardware running - detects RAM and loads all of the VSA modules. 
Xpress Loader was written by National Semiconductor and now belongs to 
AMD, and is provided free of charge to anyone who wants to use it. This 
has also been cleared with AMD.

All I have then done is to create a stripped down version of LinuxBIOS 
in the V2 tree which skips all of the low-level init, does the PCI 
enumerations etc., and then uses whatever loader you want to load the 
kernel and boot into Linux.

The boot process is therefore as follows:

Initial boot vectors to the modified Xpress Loader code.
Xpress loader inits RAM, a couple of other bits and pieces, installs the 
VSA modules, initializes the VSA modules, installs the VGA bios, and 
enters text mode.
Finally Xpress Loader vectors to the stripped down LinuxBIOS which 
switches into protected mode and then does it's magic.


Stefan Reinauer wrote:
> * Richard Smith <smithbone at gmail.com> [060123 14:29]:
>>The GX2 of course would be a much higher performance part but we
>>aren't quite convinced we need that yet.
>>I really dislike the thought of dealing with all that VSA crap.
> We should remember there was a VSA implementation floating around
> lately that has not been approved by AMD yet.
> The question is whether a VSA loader helps any since it probably won't
> allow us to put VSA modules in our source tree anyways. Are those
> modules owned by legacy bios vendors, similar to ACPI?
> Stefan

Hamish Guthrie
Guthrie Consulting
Bueglgrond 86
7550 Scuol
TEL: +41 81 862 2613
FAX: +41 81 862 2640
EMAIL: hamish at prodigi.ch

More information about the coreboot mailing list