diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2011-09-04 16:50:55 +0300 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2011-09-19 21:22:30 +0300 |
commit | 7df32ca08ad0afdac623e43a99984c26177468f0 (patch) | |
tree | 971c4a48a90fc03a1ae3b3c743fd59d8bbbc1907 /hw/pci_internals.h | |
parent | 778d1799397e1353b69f16547d359f944fb49ea6 (diff) |
pci: implement bridge filtering
Support bridge filtering on top of the memory
API as suggested by Avi Kivity:
Create a memory region for the bridge's address space. This region is
not directly added to system_memory or its descendants. Devices under
the bridge see this region as its pci_address_space(). The region is
as large as the entire address space - it does not take into account
any windows.
For each of the three windows (pref, non-pref, vga), create an alias
with the appropriate start and size. Map the alias into the bridge's
parent's pci_address_space(), as subregions.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/pci_internals.h')
-rw-r--r-- | hw/pci_internals.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/pci_internals.h b/hw/pci_internals.h index 10b4adf4dc..71c8b51fd0 100644 --- a/hw/pci_internals.h +++ b/hw/pci_internals.h @@ -41,6 +41,9 @@ struct PCIBridge { /* private member */ PCIBus sec_bus; + MemoryRegion alias_pref_mem; + MemoryRegion alias_mem; + MemoryRegion alias_io; pci_map_irq_fn map_irq; const char *bus_name; }; |