|
From: | Marko Kohtala |
Subject: | Re: [Qemu-devel] [PATCH] parport EPP support for Linux |
Date: | Mon, 5 Feb 2007 08:06:07 +0200 |
Fabrice Bellard:
Marko Kohtala wrote: Hi. With the attached patch I am able to use Kodak Advantix FD 300 APS scanner from Win98 when hosted under Linux ix86. It adds EPP support and fixes some register bits to match real hw so port identification works better. I tried to separate the linux dependencies with #ifdef __linux__, but can not test this does not break compilation for other ports of qemu. I don't understand why you need a #ifdef __linux__ in parallel.c.
Normally, the qemu >character device should suffice to do the appropriate abstraction. I did not find appropriate abstraction. Linux parallel device needs to do a read() on the device. A read() on the parallel port device executes EPP read cycle on the parallel port to read from the device attached to it. Poll() does not execute such cycles, but it only signals read if the port makes an interrupt, and therefore the current poll() based character device abstraction does not work. So there are few read() and write() calls in the code. Also the parallel port device IEEE mode settings use some constants from linux/parport.h. These are needed to tell the device execute EPP data or address cycles on reads and writes. I am too new with qemu to say how to develop the qemu character device abstraction for these requirements. Marko
[Prev in Thread] | Current Thread | [Next in Thread] |