On Sun, 2005-03-27 at 02:15 -0500, Jon Smirl wrote:
On Sat, 26 Mar 2005 23:15:08 -0700, Li-Ta Lo ollie@lanl.gov wrote:
On Sat, 2005-03-26 at 14:36 -0500, Jon Smirl wrote:
Currently they don't use Ben's VGA arbiter which isn't ready yet. When finished these app will automatically be triggered on driver load as part of the hotplug process.
The source to vm86 is from the linux BIOS project where is has been worked on to make it substantially smaller. I like to keep everyone on the same source code base if possible.
Once we get these cleaned up and working I'm hoping to get them added to the klibc project. Once in klibc, klibc is schedule to go into the kernel sooner or later.
They are both partially working but fail part way through the posting process. I've been playing with them a couple of days and I can't figure out why they are failing. They are both failing for different reasons. Can anyone help?
Which version of x86emu are you using? The larger one from XF86 or the reduced version from Paulo?
The one from linux BIOS cvs: linuxbios/src/devices/emulator/x86emu
Actually, the code on the LinuxBIOS cvs may be the reduced version by Paulo, depending on when you check it out. Paulo's version has some bug such that it may fail to init the hardware. I did commited some fix to the CVS I got from him. But there are some fixed not commited dur to the CVS -> TLA transition.
I didn't follow the discussion on LKML about integrating the emulator, what was the conclusion. Got O.K. from Linus?
The emulator is going to run in user space. When the driver loads it uses a hotplug event to trigger the posting app.
Linux is being changed currently to support early user space. Early user space is active as soon as it is feasible. It runs things from initramfs. The video driver and the reset program will be on the initramfs. When the hardware is detected the driver will be loaded. The driver will then trigger hotplug which will cause the reset. This will occur as early in the boot process as possible. Much earlier than current user space.
Klibc is the C library for initramfs. The plan is to integrate it into the kernel tree even though it runs in user space. The reset app would then go into that part of the tree.
Many other parts of the kernel are being moved to this model where large piece of the driver run in user space. Another example is iSCSI support.
Note that the reset program needs to run on a recent kernel. Check /sys/bus/pci/devices/0000:01:00.0/rom and make sure it is there. If not you need a more recent kernel.
How recent should that be? 2.6.11?
Did you try to link the emulator with GLIBC than klibc? Do they have the same behavior?
Ollie