Message ID | 20230131115326.12454-12-shentey@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | PC and ICH9 cleanups | expand |
Am 31. Januar 2023 11:53:17 UTC schrieb Bernhard Beschow <shentey@gmail.com>: >In pc_q35.c the PCI host bridge's io and memory space is initialized >with get_system_memory() and get_system_io() respectively. Therefore, >using pci_address_space() and pci_address_space_io() is equivalent. Self-NACK: pci_address_space() != get_system_memory(). Please ignore this patch. This patch can be omitted from the series w/o any syntactic or semantic conflicts. I'll omit it in v3. >All >in all this makes the LPC function respect whatever memory spaces the >PCI bus was set up with. > >Signed-off-by: Bernhard Beschow <shentey@gmail.com> >--- > hw/isa/lpc_ich9.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > >diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c >index 9ab966ef88..1b7e5585b3 100644 >--- a/hw/isa/lpc_ich9.c >+++ b/hw/isa/lpc_ich9.c >@@ -506,10 +506,10 @@ static void ich9_lpc_rcba_update(ICH9LPCState *lpc, uint32_t rcba_old) > uint32_t rcba = pci_get_long(lpc->d.config + ICH9_LPC_RCBA); > > if (rcba_old & ICH9_LPC_RCBA_EN) { >- memory_region_del_subregion(get_system_memory(), &lpc->rcrb_mem); >+ memory_region_del_subregion(pci_address_space(&lpc->d), &lpc->rcrb_mem); > } > if (rcba & ICH9_LPC_RCBA_EN) { >- memory_region_add_subregion_overlap(get_system_memory(), >+ memory_region_add_subregion_overlap(pci_address_space(&lpc->d), > rcba & ICH9_LPC_RCBA_BA_MASK, > &lpc->rcrb_mem, 1); > } >@@ -695,7 +695,7 @@ static void ich9_lpc_realize(PCIDevice *d, Error **errp) > return; > } > >- isa_bus = isa_bus_new(DEVICE(d), get_system_memory(), get_system_io(), >+ isa_bus = isa_bus_new(dev, pci_address_space(d), pci_address_space_io(d), > errp); > if (!isa_bus) { > return;
diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index 9ab966ef88..1b7e5585b3 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -506,10 +506,10 @@ static void ich9_lpc_rcba_update(ICH9LPCState *lpc, uint32_t rcba_old) uint32_t rcba = pci_get_long(lpc->d.config + ICH9_LPC_RCBA); if (rcba_old & ICH9_LPC_RCBA_EN) { - memory_region_del_subregion(get_system_memory(), &lpc->rcrb_mem); + memory_region_del_subregion(pci_address_space(&lpc->d), &lpc->rcrb_mem); } if (rcba & ICH9_LPC_RCBA_EN) { - memory_region_add_subregion_overlap(get_system_memory(), + memory_region_add_subregion_overlap(pci_address_space(&lpc->d), rcba & ICH9_LPC_RCBA_BA_MASK, &lpc->rcrb_mem, 1); } @@ -695,7 +695,7 @@ static void ich9_lpc_realize(PCIDevice *d, Error **errp) return; } - isa_bus = isa_bus_new(DEVICE(d), get_system_memory(), get_system_io(), + isa_bus = isa_bus_new(dev, pci_address_space(d), pci_address_space_io(d), errp); if (!isa_bus) { return;
In pc_q35.c the PCI host bridge's io and memory space is initialized with get_system_memory() and get_system_io() respectively. Therefore, using pci_address_space() and pci_address_space_io() is equivalent. All in all this makes the LPC function respect whatever memory spaces the PCI bus was set up with. Signed-off-by: Bernhard Beschow <shentey@gmail.com> --- hw/isa/lpc_ich9.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)