- running the vga bios through a year old testbios takes somewhere in the
order of 30 seconds (not actually timed it). I appreciate that a lot of effort has gone into improving the efficiency of the emulator, but even if it is twice as efficicient then we are talking 15 seconds or so to emulate the bios. I dont think that this is acceptable as a linuxbios boot time.
Nick,
Were the debugging printfs in the In's and out's active? If so that _really_ slows it down. Try it with them commented out.
In most cases VGA biosen are not bounded by execution speed but rather by the small delays peppered through the code. VGA bioses spend a lot of time spinning waiting for bits to toggle. In many of these cases the 3 to 4x slowdown you get from the emulator dosn't matter.
The old testbios you are using also suffers from some timer issues. Depending on how the bios does the access it my read the timer directly and then wait for the timer value to be > x. If any kind of printf is active in the emulator during these reads the time has a high likelyhood of "wrapping."
What I found with one bios I was working with was that the timer checks were wapping and the time routines would only exit when the wapped value ended up being larger than the compare value. This caused my bios exectution time to be up in the order that you are seeing.
30 seconds for testbios is way too long something else is up.
-- Richard A. Smith