| #ifndef HW_PARALLEL_H |
| #define HW_PARALLEL_H |
| |
| #include "exec/ioport.h" |
| #include "exec/memory.h" |
| #include "hw/isa/isa.h" |
| #include "hw/irq.h" |
| #include "chardev/char-fe.h" |
| #include "chardev/char.h" |
| |
| typedef struct ParallelState { |
| MemoryRegion iomem; |
| uint8_t dataw; |
| uint8_t datar; |
| uint8_t status; |
| uint8_t control; |
| qemu_irq irq; |
| int irq_pending; |
| CharBackend chr; |
| int hw_driver; |
| int epp_timeout; |
| uint32_t last_read_offset; /* For debugging */ |
| /* Memory-mapped interface */ |
| int it_shift; |
| PortioList portio_list; |
| } ParallelState; |
| |
| void parallel_hds_isa_init(ISABus *bus, int n); |
| |
| bool parallel_mm_init(MemoryRegion *address_space, |
| hwaddr base, int it_shift, qemu_irq irq, |
| Chardev *chr); |
| |
| #endif |