Subject: Re: NetBSD/bebox 1.5?
To: David Brownlee <abs@netbsd.org>
From: Leo Weppelman <leo@wau.mis.ah.nl>
List: port-bebox
Date: 11/13/2000 21:42:23
Let me try to answer this before it sinks further into my mailbox...

On Thu, Nov 09, 2000 at 10:48:17AM +0000, David Brownlee wrote:
> 	I believe the people on port-atari are hitting the same issues
> 	with initialising pci graphics cards, and were looking at an x86
> 	emulator in the kernel to run the cards' BIOS. Maybe someone on
> 	port-atari could comment further? (Apologies for crosspost).

I have posted a bit on tech-kern about this. The ideas are for from ironed
out yet. What I did until now is:
   - take the x86e emulator from ftp://ftp.scitechsoft.com/devel/x86emu/
     and adopt it a bit to a) run in user mode with support of a simple
     PCI access driver and b) run stand-alone as a part of the boot sequence.
     Case 'a' is only useful for development cq. debugging. Case 'b' is more
     usable, but since it is still about 400KB, you can't just stick it in
     a bootblock :-(
   - Add an option to the boot-loader that allows you run a stand-alone
     program from the root filesystem.

The basic emulator is in a library. Around it is some fluff to provide access
to the PCI bus (config, mem and I/O space). There is also some code to
temporarely map the BIOS of the card and copy it into the emulator workspace.
This works for Tseng 6100 cards and my S3Trio. I am working on the Mach64,
but somehow I can't get the bios mapped properly.
In my opinion, using some kind of emulator is the only sane way to activate
VGA cards. Trying to figure out how to initialize all the different cards
can easily be a daytime job (a prety frustrating one I think).
Anyway, if someone is interested in all this, I can create a diff between my
sources and the orginal and you can play with it. It is all pretty premature
at the moment.

Leo.