Public Member Functions |
void | read_all_bars (unsigned bdf, unsigned long *base, unsigned long *size) |
void | read_all_vf_bars (unsigned bdf, unsigned vf_no, unsigned long *base, unsigned long *size) |
| Read all vf bars.
|
bool | receive (MessageIOIn &msg) |
bool | receive (MessageIOOut &msg) |
bool | receive (MessagePciConfig &msg) |
bool | receive (MessageIrq &msg) |
bool | receive (MessageIrqNotify &msg) |
bool | receive (MessageMem &msg) |
bool | receive (MessageMemRegion &msg) |
bool | receive (MessageLegacy &msg) |
| DirectPciDevice (Motherboard &mb, unsigned hbdf, unsigned guestbdf, bool assign, bool use_irqs=true, unsigned parent_bdf=0, unsigned vf_no=0, bool map=true) |
| StaticReceiver () |
void | debug_dump () |
| Device (const char *debug_name) |
unsigned long long | vf_bar_base_size (unsigned bdf, unsigned vf_no, unsigned no, unsigned long long &size, bool *is64bit=0) |
| Return the base and size of a VF BAR (inside a SR-IOV capability).
|
unsigned | vf_bdf (unsigned parent_bdf, unsigned vf_no) |
| Compute BDF of a particular VF.
|
unsigned | vf_device_id (unsigned parent_bdf) |
| HostVfPci (DBus< MessageHwPciConfig > &bus_pcicfg, DBus< MessageHostOp > &bus_hostop) |
unsigned | conf_read (unsigned bdf, unsigned dword) |
void | conf_write (unsigned bdf, unsigned dword, unsigned value) |
unsigned | count_bars (unsigned bdf) |
| Induce the number of the bars from the header-type.
|
unsigned | search_device (unsigned theclass, unsigned subclass, unsigned instance) |
| Searches for a given device and returns the bdf of it.
|
unsigned | search_bridge (unsigned dst) |
| Scan the PCI root bus for bridges.
|
unsigned | get_gsi_msi (DBus< MessageHostOp > &bus_hostop, unsigned bdf, unsigned nr, void *msix_table=0) |
| Program the nr-th MSI/MSI-X vector of the given device.
|
unsigned | get_gsi (DBus< MessageHostOp > &bus_hostop, DBus< MessageAcpi > &bus_acpi, unsigned bdf, unsigned nr, bool level=false, void *msix_table=0) |
| Returns the gsi and enables them.
|
unsigned | find_cap (unsigned bdf, unsigned char id) |
| Find the position of a legacy PCI capability.
|
unsigned | find_extended_cap (unsigned bdf, unsigned short id) |
| Find the position of an extended PCI capability.
|
unsigned long long | bar_base (unsigned bdf, unsigned bar, unsigned *type=0) |
| Get the base and the type of a bar.
|
unsigned long long | bar_size (unsigned bdf, unsigned bar, bool *is64bit=0) |
| Determines BAR size.
|
| HostPci (DBus< MessageHwPciConfig > &bus_pcicfg, DBus< MessageHostOp > &bus_hostop) |
Directly assign a host PCI device to the guest.
State: testing Features: pcicfgspace, ioport operations, memory read/write, host irq, mem-alloc, DMA remapping Missing: MSI, MSI-X Documentation: PCI spec v.2.2