#ifndef HW_FDC_H #define HW_FDC_H #include "isa.h" #include "blockdev.h" /* fdc.c */ #define MAX_FD 2 static inline ISADevice *fdctrl_init_isa(ISABus *bus, DriveInfo **fds) { ISADevice *dev; dev = isa_try_create(bus, "isa-fdc"); if (!dev) { return NULL; } if (fds[0]) { qdev_prop_set_drive_nofail(&dev->qdev, "driveA", fds[0]->bdrv); } if (fds[1]) { qdev_prop_set_drive_nofail(&dev->qdev, "driveB", fds[1]->bdrv); } qdev_init_nofail(&dev->qdev); return dev; } void fdctrl_init_sysbus(qemu_irq irq, int dma_chann, target_phys_addr_t mmio_base, DriveInfo **fds); void sun4m_fdctrl_init(qemu_irq irq, target_phys_addr_t io_base, DriveInfo **fds, qemu_irq *fdc_tc); void fdc_get_bs(BlockDriverState *bs[], ISADevice *dev); #endif