]>
Commit | Line | Data |
---|---|---|
845773ab IY |
1 | #ifndef HW_FDC_H |
2 | #define HW_FDC_H | |
3 | ||
63ffb564 | 4 | #include "isa.h" |
d288c7ba BS |
5 | #include "blockdev.h" |
6 | ||
87ecb68b PB |
7 | /* fdc.c */ |
8 | #define MAX_FD 2 | |
87ecb68b | 9 | |
34d4260e | 10 | static inline ISADevice *fdctrl_init_isa(DriveInfo **fds) |
63ffb564 BS |
11 | { |
12 | ISADevice *dev; | |
87ecb68b | 13 | |
17801c78 BS |
14 | dev = isa_try_create("isa-fdc"); |
15 | if (!dev) { | |
34d4260e | 16 | return NULL; |
17801c78 | 17 | } |
34d4260e | 18 | |
63ffb564 BS |
19 | if (fds[0]) { |
20 | qdev_prop_set_drive_nofail(&dev->qdev, "driveA", fds[0]->bdrv); | |
21 | } | |
22 | if (fds[1]) { | |
23 | qdev_prop_set_drive_nofail(&dev->qdev, "driveB", fds[1]->bdrv); | |
24 | } | |
25 | qdev_init_nofail(&dev->qdev); | |
34d4260e KW |
26 | |
27 | return dev; | |
63ffb564 | 28 | } |
845773ab | 29 | |
63ffb564 BS |
30 | void fdctrl_init_sysbus(qemu_irq irq, int dma_chann, |
31 | target_phys_addr_t mmio_base, DriveInfo **fds); | |
32 | void sun4m_fdctrl_init(qemu_irq irq, target_phys_addr_t io_base, | |
33 | DriveInfo **fds, qemu_irq *fdc_tc); | |
34d4260e KW |
34 | void fdc_get_bs(BlockDriverState *bs[], ISADevice *dev); |
35 | ||
845773ab | 36 | #endif |