#include <pci_bridge.hpp>

Public Member Functions | |
| virtual | ~pci_bridge (void) |
| Empty virtual destructor to enforce derived virtual destructors. | |
| virtual int | reset (void)=0 |
| Resets the bridge and all registered PCI devices as when powering up the machine. | |
| virtual int | register_device (pci_device *device)=0 |
| Registers the PCI device at this bridge. | |
| virtual int | unregister_device (const pci_device *device)=0 |
| Unregisters the PCI device. | |
| virtual pci_device * | get_device (pci_devfn devfn) const =0 |
| Returns the device at the specified bus location or NULL, if this slot is empty. | |
| virtual const search_result | search_ioregion (enum pci_ioregion::type type, l4_gpa_t base, l4_gpa_t size=1) const =0 |
| Searchs an I/O region and returns it in a search_result struct. | |
Classes | |
| struct | search_result |
| Result type for search region functions. More... | |
Defines everything a machine (or annother bridge) needs to know about its (inner) bridge.
| virtual int pci_bridge::register_device | ( | pci_device * | device | ) | [pure virtual] |
Registers the PCI device at this bridge.
Registered devices are automatically freed when the bridge is destroyed.
Implemented in pci_bridge_base.
| virtual const search_result pci_bridge::search_ioregion | ( | enum pci_ioregion::type | type, | |
| l4_gpa_t | base, | |||
| l4_gpa_t | size = 1 | |||
| ) | const [pure virtual] |
Searchs an I/O region and returns it in a search_result struct.
base & size are I/O space addresses (ports) or guest physical addresses depending on the type to search for.
Implemented in pci_bridge_base.