On Thu, 25 Sept 2025 at 09:38, Peter Maydell <[email protected]> wrote: > > On Tue, 9 Sept 2025 at 23:11, Yubin Zou <[email protected]> wrote: > > > > From: Titus Rwantare <[email protected]> > > > > Adds the windowing registers without address translation > > > > Signed-off-by: Titus Rwantare <[email protected]> > > --- > > hw/pci-host/npcm_pcierc.c | 223 > > +++++++++++++++++++++++++++++++++++++- > > include/hw/pci-host/npcm_pcierc.h | 77 ++++++++++++- > > 2 files changed, 297 insertions(+), 3 deletions(-) > > > > diff --git a/hw/pci-host/npcm_pcierc.c b/hw/pci-host/npcm_pcierc.c > > index > > 3afe92e264f6ce4312e94f05b5e908840008df64..bffdec71acaba6562856b3bdd8aec07c3c153323 > > 100644 > > --- a/hw/pci-host/npcm_pcierc.c > > +++ b/hw/pci-host/npcm_pcierc.c > > @@ -16,6 +16,193 @@ > > #include "qom/object.h" > > #include "trace.h" > > > > +/* Map enabled windows to a memory subregion */ > > +static void npcm_pcierc_map_enabled(NPCMPCIERCState *s, NPCMPCIEWindow *w) > > +{ > > + MemoryRegion *system = get_system_memory(); > > > + /* TODO: set subregion to target translation address */ > > + /* add subregion starting at the window source address */ > > + if (!memory_region_is_mapped(&w->mem)) { > > + memory_region_init(&w->mem, OBJECT(s), name, size); > > + memory_region_add_subregion(system, bar, &w->mem); > > + } > > This looks weird. Generally devices should not map themselves > into the system address space, although some of our older > pci-host devices do for historical reasons. Should we > be modelling this some other way? > > thanks > -- PMM
I can update this. What devices are doing it the new way? -Titus
