On 09/04/2012 06:13 PM, Julien Grall wrote: > This patch replaces all register_ioport* with the new memory API. It permits > to use the new Memory stuff like listener. >
> @@ -200,8 +212,11 @@ static void pm_io_space_update(PIIX4PMState *s) > > /* XXX: need to improve memory and ioport allocation */ > PIIX4_DPRINTF("PM: mapping to 0x%x\n", pm_io_base); > - iorange_init(&s->ioport, &pm_iorange_ops, pm_io_base, 64); > - ioport_register(&s->ioport); > + > + memory_region_set_address(&s->pm_io, pm_io_base); > + memory_region_set_enabled(&s->pm_io, true); > + } else { > + memory_region_set_enabled(&s->pm_io, false); > } > } > The entire if () can be simplified to pm_io_base = le32_to_cpu(*(uint32_t *)(s->dev.config + 0x40)); pm_io_base &= 0xffc0; memory_region_transaction_begin() memory_region_set_enabled(&s->pm_io, s->dev.config[0x80] & 1); memory_region_set_address(&s->pm_io, pm_io_base); memory_region_transaction_commit(); -- error compiling committee.c: too many arguments to function