Hi,

I have been toying with incorporating Etherboot into LinuxBIOS. The thought
process for this is the following:

The devices I am playing with may start being manufactured in quite large
volume. The flash devices I am using are SMD devices directly on the PCB.
When it comes to production programming of these devices, doing it via a
network is a fine way to go. Also, in the (OK I know unlikely) event that
part of the flash device becomes corrupt, it would be nice to be able to
just plug it inot a network and reflash it.

The mechanism for this is as follows:

A small flash device will be 'plugged' into the board using a bed of nails.
This device will have LinuxBIOS in it, with a slightly modified etherboot
module. It will try to find a Linux Kernel (Which it won't find), and will
then kick off etherboot, which will grab a kernel off a server, load some
software from the server and then program the flash devices on the board.

I have hit a bit of a problem and am looking for some PMode guru's out
there.

In Etherboot, we need some timer mechanism to do reasonable timeouts etc. If
I were using a pentium cpu, this would be really easy, just using RDTSC, but
of course I am not (486 core). OK so now I am left with using a timer with
an ISR. I have never set up an IDT or an ISR at this level in PMODE from
within GAS.

Can anyone help!

What I want to do is to set up a valid IDT in start32.S (no idea how to do
this correctly), set up the PIT (easy), write an ISR to handle a 'clock
tick' (never done this in GAS in PMODE), and then make sure that it all
locates and runs correctly.

TIA

Hamish


Reply via email to