On 18/10/2018 10:03, peng.hao2@xxxxxxxxxx wrote: >>> + /* register rtc 0x70 port as coalesced_pio */ >>> + memory_region_set_flush_coalesced(&s->io); >>> + memory_region_init_io(&s->coalesced_io, OBJECT(s), &cmos_ops, >>> + s, "rtc1", 1); >>> + isa_register_ioport(isadev, &s->coalesced_io, base); >> I think instead of isa_register_ioport you can use >> memory_region_add_subregion, so that s->coalesced_io is added below s->io? >> > isa_register_ioport also called memory_region_add_subregion. > modify code like this: > //isa_register_ioport(isadev, &s->coalesced_io, base); > memory_region_add_subregion(get_system_io(),0x70,&s->coalesced_io); > The regional distribution before and after code modification is consistent. Right, but I'd rather add s->coalesced_io subregion as a subregion of s->io at offset 0. Paolo > 0000000000000070-0000000000000070 (prio 0, i/o): rtc1 > 0000000000000070-0000000000000071 (prio 0, i/o): rtc