On Wed, Mar 10, 2021 at 09:11:40PM +0100, Philippe Mathieu-Daudé wrote: > >> /* ISA bus: IO space at 0x90000000, mem space at 0x91000000 */ > >> - memory_region_init(isa_io, NULL, "isa-io", 0x00010000); > >> memory_region_init(isa_mem, NULL, "isa-mem", 0x01000000); > >> - memory_region_add_subregion(address_space, 0x90000000, isa_io); > >> + memory_region_add_subregion(address_space, 0x90000000, > >> get_system_io()); > > > > The old code has an alias created just for adding subregion into > > address_space: > > > > - /* ISA IO space at 0x90000000 */ > > - memory_region_init_alias(isa, NULL, "isa_mmio", > > - get_system_io(), 0, 0x01000000); > > - memory_region_add_subregion(address_space, 0x90000000, isa); > > - isa_mem_base = 0x11000000; > > > > While you didn't revert that part. Maybe that's the issue? > > Hmm I'll have a look. This is not the series I'm working on, which > is much bigger and not ready for posting yet. I simply looked for > something similar (a bus mapped into sysbus) and remembered the > ISA bus from Jazz machines. I'll see if I can find a better PoC.
Yeah no worry - it's just that I feel one memory_region_init_alias() call is probably missing in your huge series somewhere, so that you'll take that alias MR as subregion rather than the real MR (which is the root of one AS). -- Peter Xu