[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 04/10] parallel: Allow to reconfigure ISA IRQ
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [RFC 04/10] parallel: Allow to reconfigure ISA IRQ |
Date: |
Mon, 6 Jun 2011 18:20:53 +0200 |
Signed-off-by: Andreas Färber <address@hidden>
---
hw/isa.h | 1 +
hw/parallel.c | 13 +++++++++++++
2 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/hw/isa.h b/hw/isa.h
index 2bd8c82..54698b5 100644
--- a/hw/isa.h
+++ b/hw/isa.h
@@ -43,6 +43,7 @@ void isa_mmio_init(target_phys_addr_t base,
target_phys_addr_t size);
/* parallel.c */
void parallel_isa_reconfigure_iobase(ISADevice *dev, uint32_t base);
+void parallel_isa_reconfigure_irq(ISADevice *dev, uint32_t isairq);
/* dma.c */
int DMA_get_channel_mode (int nchan);
diff --git a/hw/parallel.c b/hw/parallel.c
index 5cb3856..a64e7c5 100644
--- a/hw/parallel.c
+++ b/hw/parallel.c
@@ -493,6 +493,18 @@ void parallel_isa_reconfigure_iobase(ISADevice *dev,
uint32_t base)
}
}
+void parallel_isa_reconfigure_irq(ISADevice *dev, uint32_t isairq)
+{
+ ISAParallelState *isa = DO_UPCAST(ISAParallelState, dev, dev);
+ ParallelState *s = &isa->state;
+
+ if (isairq != isa->isairq) {
+ isa_discard_irq(dev, isa->isairq);
+ isa->isairq = isairq;
+ isa_init_irq(dev, &s->irq, isa->isairq);
+ }
+}
+
static const int isa_parallel_io[MAX_PARALLEL_PORTS] = { 0x378, 0x278, 0x3bc };
static int parallel_isa_initfn(ISADevice *dev)
@@ -516,6 +528,7 @@ static int parallel_isa_initfn(ISADevice *dev)
index++;
isa_init_irq(dev, &s->irq, isa->isairq);
+
qemu_register_reset(parallel_reset, s);
if (qemu_chr_ioctl(s->chr, CHR_IOCTL_PP_READ_STATUS, &dummy) == 0) {
--
1.7.5.3
- [Qemu-devel] [RFC 00/10] ISA reconfigurability, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 01/10] isa: Allow to un-assign I/O ports, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 02/10] isa: Allow to un-associate an IRQ, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 03/10] parallel: Allow to reconfigure ISA I/O base, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 04/10] parallel: Allow to reconfigure ISA IRQ,
Andreas Färber <=
- [Qemu-devel] [RFC 05/10] serial: Allow to reconfigure ISA I/O base, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 06/10] serial: Allow to reconfigure ISA IRQ, Andreas Färber, 2011/06/06
- [Qemu-devel] [PATCH v2 07/10] fdc: Parametrize ISA base, IRQ and DMA, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 08/10] fdc: Allow to reconfigure ISA I/O base, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 09/10] ide: Allow to reconfigure ISA I/O base, Andreas Färber, 2011/06/06
- [Qemu-devel] [RFC 10/10] prep: Add pc87312 Super I/O emulation, Andreas Färber, 2011/06/06
- Re: [Qemu-devel] [RFC 05/10] serial: Allow to reconfigure ISA I/O base, Richard Henderson, 2011/06/06
- Re: [Qemu-devel] [RFC 05/10] serial: Allow to reconfigure ISA I/O base, Andreas Färber, 2011/06/06
Re: [Qemu-devel] [RFC 00/10] ISA reconfigurability, Gerd Hoffmann, 2011/06/07