Porting Linuxbios to Via P4m266A

Bryan E. Chafy bchafy at ccs.neu.edu
Mon Feb 28 18:38:07 CET 2005

> I think a two computer solution might be easier.  If one can get early
> serial on the target machine, then a small romcc program could read
> commands from the serial port, execute them, and transmit back the
> results.  (I think I even saw an email from someone that did this in pure
> assembler.)

Do you mean llshell?

> Then, a specially modified emulator could run the original bios on a second
> machine, forwarding memory reads/writes and io reads/writes through the
> serial port to the target machine.

It should be possible to create a sort of emulator/redirector that executes
most of the stock bios code in an emulator environment (say bochs), but
redirects all in's, out's & memory accesses to the target
hardware via serial. (llshell on the target
can already do this part).  Eventually, youd end up with a trace of commands
that init the ram among other things. 

Although one gotcha would be anything that's timing related.  Memory/IO access
proxied through the serial port would also be orders of magnatude slower.
When the DRAM test completes, we'll all be dead :)
Also, rom bios code memory references would have to be excluded as well
as anything that could upset the serial port.
What about handling stuff like cpu/mmu state transitions
(ie real mode to protected mode to unreal mode, etc)?  Cache?
Perhaps the proxied memory access could be limited to just a certain range
(if known).

If you use llshell, note that the current version doesnt support amd's
64bit registers/addressing yet.  p4/32bit is ok.

More information about the coreboot mailing list