2
0

fdc.h 827 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef HW_FDC_H
  2. #define HW_FDC_H
  3. #include "isa.h"
  4. #include "blockdev.h"
  5. /* fdc.c */
  6. #define MAX_FD 2
  7. static inline ISADevice *fdctrl_init_isa(DriveInfo **fds)
  8. {
  9. ISADevice *dev;
  10. dev = isa_try_create("isa-fdc");
  11. if (!dev) {
  12. return NULL;
  13. }
  14. if (fds[0]) {
  15. qdev_prop_set_drive_nofail(&dev->qdev, "driveA", fds[0]->bdrv);
  16. }
  17. if (fds[1]) {
  18. qdev_prop_set_drive_nofail(&dev->qdev, "driveB", fds[1]->bdrv);
  19. }
  20. qdev_init_nofail(&dev->qdev);
  21. return dev;
  22. }
  23. void fdctrl_init_sysbus(qemu_irq irq, int dma_chann,
  24. target_phys_addr_t mmio_base, DriveInfo **fds);
  25. void sun4m_fdctrl_init(qemu_irq irq, target_phys_addr_t io_base,
  26. DriveInfo **fds, qemu_irq *fdc_tc);
  27. void fdc_get_bs(BlockDriverState *bs[], ISADevice *dev);
  28. #endif