From: Hervé Poussineau Date: Wed, 3 Feb 2016 16:28:55 +0000 (-0500) Subject: i8257: pass ISA bus to DMA_init() function X-Git-Tag: v2.6.0-rc0~148^2~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=57146941924a4189b14cbc1c87478b2ffef31943;p=thirdparty%2Fqemu.git i8257: pass ISA bus to DMA_init() function i8257 DMA controller exists on one ISA bus, so let's specify it at initialization. Signed-off-by: Hervé Poussineau Message-id: 1453843944-26833-3-git-send-email-hpoussin@reactos.org Signed-off-by: John Snow --- diff --git a/hw/dma/i82374.c b/hw/dma/i82374.c index 031a3f566db..6c0f975df06 100644 --- a/hw/dma/i82374.c +++ b/hw/dma/i82374.c @@ -123,7 +123,7 @@ static void i82374_realize(DeviceState *dev, Error **errp) portio_list_add(&s->port_list, isa_address_space_io(&s->parent_obj), s->iobase); - DMA_init(1); + DMA_init(isa_bus_from_device(ISA_DEVICE(dev)), 1); memset(s->commands, 0, sizeof(s->commands)); } diff --git a/hw/dma/i8257.c b/hw/dma/i8257.c index 1ff6c4da711..bb6945a2c57 100644 --- a/hw/dma/i8257.c +++ b/hw/dma/i8257.c @@ -589,7 +589,7 @@ static const VMStateDescription vmstate_dma = { } }; -void DMA_init(int high_page_enable) +void DMA_init(ISABus *bus, int high_page_enable) { dma_init2(&dma_controllers[0], 0x00, 0, 0x80, high_page_enable ? 0x480 : -1); dma_init2(&dma_controllers[1], 0xc0, 1, 0x88, high_page_enable ? 0x488 : -1); diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 942ac0659a9..b28bac4b660 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1542,7 +1542,7 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi, port92 = isa_create_simple(isa_bus, "port92"); port92_init(port92, &a20_line[1]); - DMA_init(0); + DMA_init(isa_bus, 0); for(i = 0; i < MAX_FD; i++) { fd[i] = drive_get(IF_FLOPPY, 0, i); diff --git a/hw/mips/mips_fulong2e.c b/hw/mips/mips_fulong2e.c index 6748d894785..184c4044549 100644 --- a/hw/mips/mips_fulong2e.c +++ b/hw/mips/mips_fulong2e.c @@ -366,7 +366,7 @@ static void mips_fulong2e_init(MachineState *machine) /* init other devices */ pit = pit_init(isa_bus, 0x40, 0, NULL); - DMA_init(0); + DMA_init(isa_bus, 0); /* Super I/O */ isa_create_simple(isa_bus, "i8042"); diff --git a/hw/mips/mips_jazz.c b/hw/mips/mips_jazz.c index 62527fdbe87..a199b9d18ab 100644 --- a/hw/mips/mips_jazz.c +++ b/hw/mips/mips_jazz.c @@ -225,7 +225,7 @@ static void mips_jazz_init(MachineState *machine, /* ISA devices */ i8259 = i8259_init(isa_bus, env->irq[4]); isa_bus_irqs(isa_bus, i8259); - DMA_init(0); + DMA_init(isa_bus, 0); pit = pit_init(isa_bus, 0x40, 0, NULL); pcspk_init(isa_bus, pit); diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c index c5da83fde83..c04aa2b8cca 100644 --- a/hw/mips/mips_malta.c +++ b/hw/mips/mips_malta.c @@ -1166,7 +1166,7 @@ void mips_malta_init(MachineState *machine) smbus_eeprom_init(smbus, 8, smbus_eeprom_buf, smbus_eeprom_size); g_free(smbus_eeprom_buf); pit = pit_init(isa_bus, 0x40, 0, NULL); - DMA_init(0); + DMA_init(isa_bus, 0); /* Super I/O */ isa_create_simple(isa_bus, "i8042"); diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index 1fcec4478f2..9c078d5639d 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -112,7 +112,7 @@ void DMA_hold_DREQ (int nchan) {} void DMA_release_DREQ (int nchan) {} void DMA_schedule(void) {} -void DMA_init(int high_page_enable) +void DMA_init(ISABus *bus, int high_page_enable) { } diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index 124c3768973..d356717c084 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -115,7 +115,7 @@ void DMA_hold_DREQ (int nchan) {} void DMA_release_DREQ (int nchan) {} void DMA_schedule(void) {} -void DMA_init(int high_page_enable) +void DMA_init(ISABus *bus, int high_page_enable) { } diff --git a/include/hw/isa/isa.h b/include/hw/isa/isa.h index de3cd3d38a6..4af87303a40 100644 --- a/include/hw/isa/isa.h +++ b/include/hw/isa/isa.h @@ -113,7 +113,7 @@ int DMA_write_memory (int nchan, void *buf, int pos, int size); void DMA_hold_DREQ (int nchan); void DMA_release_DREQ (int nchan); void DMA_schedule(void); -void DMA_init(int high_page_enable); +void DMA_init(ISABus *bus, int high_page_enable); void DMA_register_channel (int nchan, DMA_transfer_handler transfer_handler, void *opaque);