[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 10/16] parallel: Convert to isa_register_portio_list
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH 10/16] parallel: Convert to isa_register_portio_list. |
Date: |
Tue, 23 Aug 2011 17:13:49 -0700 |
Signed-off-by: Richard Henderson <address@hidden>
---
hw/parallel.c | 47 ++++++++++++++++++++++++++++-------------------
1 files changed, 28 insertions(+), 19 deletions(-)
diff --git a/hw/parallel.c b/hw/parallel.c
index ecbc8c3..8494d94 100644
--- a/hw/parallel.c
+++ b/hw/parallel.c
@@ -448,6 +448,29 @@ static void parallel_reset(void *opaque)
static const int isa_parallel_io[MAX_PARALLEL_PORTS] = { 0x378, 0x278, 0x3bc };
+static const MemoryRegionPortio isa_parallel_portio_hw_list[] = {
+ { 0, 8, 1,
+ .read = parallel_ioport_read_hw,
+ .write = parallel_ioport_write_hw },
+ { 4, 1, 2,
+ .read = parallel_ioport_eppdata_read_hw2,
+ .write = parallel_ioport_eppdata_write_hw2 },
+ { 4, 1, 4,
+ .read = parallel_ioport_eppdata_read_hw4,
+ .write = parallel_ioport_eppdata_write_hw4 },
+ { 0x400, 8, 1,
+ .read = parallel_ioport_ecp_read,
+ .write = parallel_ioport_ecp_write },
+ PORTIO_END_OF_LIST(),
+};
+
+static const MemoryRegionPortio isa_parallel_portio_sw_list[] = {
+ { 0, 8, 1,
+ .read = parallel_ioport_read_sw,
+ .write = parallel_ioport_write_sw },
+ PORTIO_END_OF_LIST(),
+};
+
static int parallel_isa_initfn(ISADevice *dev)
{
static int index;
@@ -478,25 +501,11 @@ static int parallel_isa_initfn(ISADevice *dev)
s->status = dummy;
}
- if (s->hw_driver) {
- register_ioport_write(base, 8, 1, parallel_ioport_write_hw, s);
- register_ioport_read(base, 8, 1, parallel_ioport_read_hw, s);
- isa_init_ioport_range(dev, base, 8);
-
- register_ioport_write(base+4, 1, 2, parallel_ioport_eppdata_write_hw2,
s);
- register_ioport_read(base+4, 1, 2, parallel_ioport_eppdata_read_hw2,
s);
- register_ioport_write(base+4, 1, 4, parallel_ioport_eppdata_write_hw4,
s);
- register_ioport_read(base+4, 1, 4, parallel_ioport_eppdata_read_hw4,
s);
- isa_init_ioport(dev, base+4);
- register_ioport_write(base+0x400, 8, 1, parallel_ioport_ecp_write, s);
- register_ioport_read(base+0x400, 8, 1, parallel_ioport_ecp_read, s);
- isa_init_ioport_range(dev, base+0x400, 8);
- }
- else {
- register_ioport_write(base, 8, 1, parallel_ioport_write_sw, s);
- register_ioport_read(base, 8, 1, parallel_ioport_read_sw, s);
- isa_init_ioport_range(dev, base, 8);
- }
+ isa_register_portio_list(dev, base,
+ (s->hw_driver
+ ? &isa_parallel_portio_hw_list[0]
+ : &isa_parallel_portio_sw_list[0]),
+ s, "parallel");
return 0;
}
--
1.7.4.4
- [Qemu-devel] [PATCH 00/16] isa_register_portio_list, v2, Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 01/16] fixup: merge with last sm501 patch, Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 02/16] fixup: merge with last arm_sysctl patch, Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 03/16] isa: Tidy support code for isabus_get_fw_dev_path., Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 04/16] isa: Add isa_register_portio_list()., Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 05/16] fdc: Convert to isa_register_portio_list., Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 06/16] gus: Convert to isa_register_portio_list., Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 07/16] m48t59: Convert to isa_register_ioport., Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 09/16] ne2000: Convert to isa_register_ioport., Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 10/16] parallel: Convert to isa_register_portio_list.,
Richard Henderson <=
- [Qemu-devel] [PATCH 11/16] sb16: Convert to isa_register_portio_list., Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 08/16] rtc: Convert to isa_register_ioport., Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 13/16] pc: Convert port92 to isa_register_ioport., Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 12/16] vga: Convert to isa_register_portio_list., Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 15/16] ide: Convert to isa_register_portio_list., Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 16/16] isa: Remove isa_init_ioport_range and isa_init_ioport., Richard Henderson, 2011/08/23
- [Qemu-devel] [PATCH 14/16] vmport: Convert to isa_register_ioport., Richard Henderson, 2011/08/23
- Re: [Qemu-devel] [PATCH 00/16] isa_register_portio_list, v2, Avi Kivity, 2011/08/24
- Re: [Qemu-devel] [PATCH 00/16] isa_register_portio_list, v2, malc, 2011/08/24