On Wed, 6 Oct 1999, Kevin P. Lawton wrote:

> Sounds interesting.  Would the guest OS see and be able to drive
> the parallel hardware as normal using ppdev?  I'm not familiar with
> it.

The idea is that we'd trap things like outb's at 0x378 (or whichever base
address we choose) and turn them into ioctls on /dev/parport0.  If we have
a virtual DMA controller too we can write blocks of data to /dev/parport0
and save time (if the guest OS driver uses DMA).

Similarly for FIFOs: lots of parallel port chips have a 16-byte FIFO.  We
can say that our virtual parallel port does too, and then we at least can
write in blocks of 16 bytes.

The slow bit, I think, is switching from 'just trapped an I/O insn' to
a mode in which 'perform ioctl on dev' is possible.  Thinking about it
some more though, we'd be in the monitor once the I/O insn is trapped
wouldn't we?  In that case we could use parport directly
(parport_write_data etc.).

> Does VMware directly use the parallel port IO ports after the probing?

Yes.  I think it blocks some out and pretends that the underlying hardware
is quite simple, to save the guest OS thinking that it can set up a DMA
transfer or anything.  That way their code can work with most all of the
hardware that's out there.

Tim.
*/

Reply via email to