ide.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef HW_IDE_H
  2. #define HW_IDE_H
  3. #include "isa.h"
  4. #include "pci/pci.h"
  5. #include "memory.h"
  6. #define MAX_IDE_DEVS 2
  7. /* ide-isa.c */
  8. ISADevice *isa_ide_init(ISABus *bus, int iobase, int iobase2, int isairq,
  9. DriveInfo *hd0, DriveInfo *hd1);
  10. /* ide-pci.c */
  11. void pci_cmd646_ide_init(PCIBus *bus, DriveInfo **hd_table,
  12. int secondary_ide_enabled);
  13. PCIDevice *pci_piix3_xen_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn);
  14. PCIDevice *pci_piix3_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn);
  15. PCIDevice *pci_piix4_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn);
  16. void vt82c686b_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn);
  17. /* ide-macio.c */
  18. MemoryRegion *pmac_ide_init (DriveInfo **hd_table, qemu_irq irq,
  19. void *dbdma, int channel, qemu_irq dma_irq);
  20. /* ide-mmio.c */
  21. void mmio_ide_init (hwaddr membase, hwaddr membase2,
  22. MemoryRegion *address_space,
  23. qemu_irq irq, int shift,
  24. DriveInfo *hd0, DriveInfo *hd1);
  25. int ide_get_geometry(BusState *bus, int unit,
  26. int16_t *cyls, int8_t *heads, int8_t *secs);
  27. int ide_get_bios_chs_trans(BusState *bus, int unit);
  28. /* ide/core.c */
  29. void ide_drive_get(DriveInfo **hd, int max_bus);
  30. #endif /* HW_IDE_H */