parallel.h 733 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef HW_PARALLEL_H
  2. #define HW_PARALLEL_H
  3. #include "exec/memory.h"
  4. #include "hw/isa/isa.h"
  5. #include "hw/irq.h"
  6. #include "chardev/char-fe.h"
  7. #include "chardev/char.h"
  8. typedef struct ParallelState {
  9. MemoryRegion iomem;
  10. uint8_t dataw;
  11. uint8_t datar;
  12. uint8_t status;
  13. uint8_t control;
  14. qemu_irq irq;
  15. int irq_pending;
  16. CharBackend chr;
  17. int hw_driver;
  18. int epp_timeout;
  19. uint32_t last_read_offset; /* For debugging */
  20. /* Memory-mapped interface */
  21. int it_shift;
  22. } ParallelState;
  23. void parallel_hds_isa_init(ISABus *bus, int n);
  24. bool parallel_mm_init(MemoryRegion *address_space,
  25. hwaddr base, int it_shift, qemu_irq irq,
  26. Chardev *chr);
  27. #endif