static void dma_reset(DeviceState *d) { DMAState *s = SPARC32_DMA(d); memset(s->dmaregs, 0, DMA_SIZE); s->dmaregs[0] = DMA_VER; }
static void sparc32_dma_realize(DeviceState *dev, Error **errp) { DMAState *s = SPARC32_DMA(dev); int reg_size; reg_size = s->is_ledma ? DMA_ETH_SIZE : DMA_SIZE; memory_region_init_io(&s->iomem, OBJECT(dev), &dma_mem_ops, s, "dma", reg_size); }
static void sparc32_dma_init(Object *obj) { DeviceState *dev = DEVICE(obj); DMAState *s = SPARC32_DMA(obj); SysBusDevice *sbd = SYS_BUS_DEVICE(obj); sysbus_init_irq(sbd, &s->irq); sysbus_init_mmio(sbd, &s->iomem); qdev_init_gpio_in(dev, dma_set_irq, 1); qdev_init_gpio_out(dev, s->gpio, 2); }
static int sparc32_dma_init1(SysBusDevice *sbd) { DeviceState *dev = DEVICE(sbd); DMAState *s = SPARC32_DMA(dev); int reg_size; sysbus_init_irq(sbd, &s->irq); reg_size = s->is_ledma ? DMA_ETH_SIZE : DMA_SIZE; memory_region_init_io(&s->iomem, OBJECT(s), &dma_mem_ops, s, "dma", reg_size); sysbus_init_mmio(sbd, &s->iomem); qdev_init_gpio_in(dev, dma_set_irq, 1); qdev_init_gpio_out(dev, s->gpio, 2); return 0; }