mirror of https://github.com/xqemu/xqemu.git
i8254: Convert to MemoryRegion
Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
beae397945
commit
60ea6aa8fc
16
hw/i8254.c
16
hw/i8254.c
|
@ -55,6 +55,7 @@ typedef struct PITChannelState {
|
|||
|
||||
typedef struct PITState {
|
||||
ISADevice dev;
|
||||
MemoryRegion ioports;
|
||||
uint32_t irq;
|
||||
uint32_t iobase;
|
||||
PITChannelState channels[3];
|
||||
|
@ -506,6 +507,16 @@ void hpet_pit_enable(void)
|
|||
pit_load_count(s, 0);
|
||||
}
|
||||
|
||||
static const MemoryRegionPortio pit_portio[] = {
|
||||
{ 0, 4, 1, .write = pit_ioport_write },
|
||||
{ 0, 3, 1, .read = pit_ioport_read },
|
||||
PORTIO_END_OF_LIST()
|
||||
};
|
||||
|
||||
static const MemoryRegionOps pit_ioport_ops = {
|
||||
.old_portio = pit_portio
|
||||
};
|
||||
|
||||
static int pit_initfn(ISADevice *dev)
|
||||
{
|
||||
PITState *pit = DO_UPCAST(PITState, dev, dev);
|
||||
|
@ -516,9 +527,8 @@ static int pit_initfn(ISADevice *dev)
|
|||
s->irq_timer = qemu_new_timer_ns(vm_clock, pit_irq_timer, s);
|
||||
s->irq = isa_get_irq(pit->irq);
|
||||
|
||||
register_ioport_write(pit->iobase, 4, 1, pit_ioport_write, pit);
|
||||
register_ioport_read(pit->iobase, 3, 1, pit_ioport_read, pit);
|
||||
isa_init_ioport(dev, pit->iobase);
|
||||
memory_region_init_io(&pit->ioports, &pit_ioport_ops, pit, "pit", 4);
|
||||
isa_register_ioport(dev, &pit->ioports, pit->iobase);
|
||||
|
||||
qdev_set_legacy_instance_id(&dev->qdev, pit->iobase, 2);
|
||||
|
||||
|
|
Loading…
Reference in New Issue