Revision ee6847d1 hw/fdc.c

b/hw/fdc.c
511 511
    /* Floppy drives */
512 512
    fdrive_t drives[MAX_FD];
513 513
    int reset_sensei;
514
    uint32_t strict_io;
515
    uint32_t mem_mapped;
514 516
};
515 517

  
516 518
static uint32_t fdctrl_read (void *opaque, uint32_t reg)
......
1898 1900
    fdctrl_t *fdctrl;
1899 1901

  
1900 1902
    dev = qdev_create(NULL, "fdc");
1901
    qdev_set_prop_int(dev, "strict_io", 0);
1902
    qdev_set_prop_int(dev, "mem_mapped", mem_mapped);
1903
    qdev_set_prop_int(dev, "sun4m", 0);
1903
    qdev_prop_set_uint32(dev, "strict_io", 0);
1904
    qdev_prop_set_uint32(dev, "mem_mapped", mem_mapped);
1905
    qdev_prop_set_uint32(dev, "sun4m", 0);
1904 1906
    qdev_init(dev);
1905 1907
    s = sysbus_from_qdev(dev);
1906 1908
    sysbus_connect_irq(s, 0, irq);
......
1931 1933
    fdctrl_t *fdctrl;
1932 1934

  
1933 1935
    dev = qdev_create(NULL, "fdc");
1934
    qdev_set_prop_int(dev, "strict_io", 1);
1935
    qdev_set_prop_int(dev, "mem_mapped", 1);
1936
    qdev_set_prop_int(dev, "sun4m", 1);
1936
    qdev_prop_set_uint32(dev, "strict_io", 1);
1937
    qdev_prop_set_uint32(dev, "mem_mapped", 1);
1938
    qdev_prop_set_uint32(dev, "sun4m", 1);
1937 1939
    qdev_init(dev);
1938 1940
    s = sysbus_from_qdev(dev);
1939 1941
    sysbus_connect_irq(s, 0, irq);
......
1953 1955

  
1954 1956
    sysbus_init_irq(dev, &s->irq);
1955 1957
    qdev_init_gpio_in(&dev->qdev, fdctrl_handle_tc, 1);
1956
    if (qdev_get_prop_int(&dev->qdev, "strict_io", 0)) {
1958
    if (s->strict_io) {
1957 1959
        io = cpu_register_io_memory(fdctrl_mem_read_strict,
1958 1960
                                    fdctrl_mem_write_strict, s);
1959 1961
    } else {
......
1967 1969
    .init = fdc_init1,
1968 1970
    .qdev.name  = "fdc",
1969 1971
    .qdev.size  = sizeof(fdctrl_t),
1970
    .qdev.props = (DevicePropList[]) {
1971
        {.name = "io_base", .type = PROP_TYPE_INT},
1972
        {.name = "strict_io", .type = PROP_TYPE_INT},
1973
        {.name = "mem_mapped", .type = PROP_TYPE_INT},
1974
        {.name = "sun4m", .type = PROP_TYPE_INT},
1975
        {.name = NULL}
1972
    .qdev.props = (Property[]) {
1973
        {
1974
            .name = "io_base",
1975
            .info = &qdev_prop_uint32,
1976
            .offset = offsetof(fdctrl_t, io_base),
1977
        },
1978
        {
1979
            .name = "strict_io",
1980
            .info = &qdev_prop_uint32,
1981
            .offset = offsetof(fdctrl_t, strict_io),
1982
        },
1983
        {
1984
            .name = "mem_mapped",
1985
            .info = &qdev_prop_uint32,
1986
            .offset = offsetof(fdctrl_t, mem_mapped),
1987
        },
1988
        {
1989
            .name = "sun4m",
1990
            .info = &qdev_prop_uint32,
1991
            .offset = offsetof(fdctrl_t, sun4m),
1992
        },
1993
        {/* end of properties */}
1976 1994
    }
1977 1995
};
1978 1996

  

Also available in: Unified diff