Statistics
| Branch: | Revision:

root / hw / fdc.h @ 2850ca9e

History | View | Annotate | Download (845 Bytes)

1
#ifndef HW_FDC_H
2
#define HW_FDC_H
3

    
4
#include "isa.h"
5
#include "blockdev.h"
6

    
7
/* fdc.c */
8
#define MAX_FD 2
9

    
10
static inline ISADevice *fdctrl_init_isa(ISABus *bus, DriveInfo **fds)
11
{
12
    ISADevice *dev;
13

    
14
    dev = isa_try_create(bus, "isa-fdc");
15
    if (!dev) {
16
        return NULL;
17
    }
18

    
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);
26

    
27
    return dev;
28
}
29

    
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);
34
void fdc_get_bs(BlockDriverState *bs[], ISADevice *dev);
35

    
36
#endif