[COMMIT] Baremetal environment

steven james pyro at linuxlabs.com
Sat May 17 09:17:00 CEST 2003


Greetings,

I have committed a few cleanups to baremetal to make the environment a bit
more useful.

The lib directory contains a new startup function in _main.c which locates
the top of RAM using the linuxbios table and checks for a signature
there. If absent, it moves the stack to high ram, and initializes a simple
structure containing pointers to the lbmemory structs in the table, and
the highest address of freely usable ram. 

Bounce buffers and such are allocated by subtracting from the dree RAM
value. 

When an additional baremetal program is run, it will detect the existant
structure and use its values. Together, this allows for arbitrary stacking
of payloads and safely returning to the calling payload.

A 'terminal payload' such as a kernel elf image may simply ignore all of
that and do what it wants.

This is still subject to change, and amounts to a platform for discussion
and a little practical exprimentation.

G'day,
sjames


-- 
-------------------------steven james, director of research, linux labs
... ........ ..... ....                    230 peachtree st nw ste 2701
the original linux labs                             atlanta.ga.us 30303
      -since 1995                              http://www.linuxlabs.com
                                   office 404.577.7747 fax 404.577.7743
-----------------------------------------------------------------------





More information about the coreboot mailing list