summaryrefslogtreecommitdiff
path: root/hw/parallel.c
diff options
context:
space:
mode:
authorGleb Natapov <gleb@redhat.com>2010-12-08 13:34:56 +0200
committerBlue Swirl <blauwirbel@gmail.com>2010-12-11 21:27:46 +0000
commitdee41d58ef7b874fd8a07e9e0ae4ef6e7fe624fc (patch)
treebf50e58bad6dda3e9e334ebd57373b7bdc3b8d17 /hw/parallel.c
parent21150814d9f0d40b77f8ec54e716505b85b87e6b (diff)
downloadqemu-dee41d58ef7b874fd8a07e9e0ae4ef6e7fe624fc.tar.gz
Keep track of ISA ports ISA device is using in qdev.
Store all io ports used by device in ISADevice structure. Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw/parallel.c')
-rw-r--r--hw/parallel.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/parallel.c b/hw/parallel.c
index 00005c4314..ce311aa424 100644
--- a/hw/parallel.c
+++ b/hw/parallel.c
@@ -481,16 +481,21 @@ static int parallel_isa_initfn(ISADevice *dev)
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);
}
return 0;
}