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