* Ronald G Minnich <[EMAIL PROTECTED]> [020417 04:00]:
> > i stripped down inthandler.c so testbios branches into the
> > specific intXX_handler function. This works fine, but leads
> > to the next problem, which has already been discussed on this list.
> 
> I sleazed it out to keep things simple. I have int handler stuff from the
> X11 stuff that just does direct I/O. In the program I do an iopl(3) (you
> probably saw this)
 
Next thing i was wondering about is the calls to setup_int() and
finish_int(). What exactly are these there for? Looks like interrupts
are planned to be executed with a 'different set' of x86 registers.
Is this needed vor running the thing in vm86 mode later on?

> I think we just stick with direct I/O, but in linuxbios we can always call
> linuxbios functions (see src/bios/bioscall.c for int1a support that has
> been tested and works).
 
Maybe it makes sense to make this configurable during compile time. If
this works, I could finally get rid of the crappy commercial x86
emulation used in Milo.

> > Has anyone played with loading several elf payloads in a row?
> 
> this begins to look perilously like an operating system ... several elf
> payloads in a row ... oh boy. It worries me.

It don't need to. This is a pretty common way of having firmware
configurable. AMI and Award do the same thing, using lh5 packed 
payload files melted together. They have utilities merging or extracting
those. If a motherboard has onboard vga, you just add the vga bios to
the image and you're done. 
 
> if we go down the path this far we ought to see about putting a really
> small OS in there. It's a shame linux no longer qualifies as a "really
> small" OS.

The Linux way has served pretty good up to now. So did etherboot. But as 
all software, operating systems are mostly written to solve a certain
problem set, thus often not including "slim kernel with small polling
drivers". 
Therefore in long term I want to get the OpenBIOS evaluator far enough 
to be executed as payload. This will then be capable of intializing 
components. And yes, there are quite some nv, ati, permedia2 cards
supported by this as well. If not, a slim and generic vga-testbios can
solve this. This evaluator exists and is capable of executing fcode
bytecode already, but it's currently being redesigned to be a lot
smaller (<20k executable)

Best regards,
  Stefan Reinauer
  
-- 
Ok hex 4666 dup negate do i 4000 dup 2* negate do " *" 0 dup 2dup 1e 0 do
 2swap * e >>a 2* 5 pick + -rot - j + dup dup * e >>a rot dup dup * e >>a 
  rot swap 2dup + 10000 > if 3drop 3drop "  " 0 dup 2dup leave then loop 
              2drop 2drop type 268 +loop cr drop 5de +loop

Reply via email to