NOVA User-Level Environment
Version testbox/changed-memory-timing-317-g320d8b5
|
A helper for PCI config space access. More...
#include <hostpci.h>
Public Types | |
enum | { BAR0 = 4, MAX_BAR = 6, BAR_TYPE_MASK = 0x6, BAR_TYPE_32B = 0x0, BAR_TYPE_64B = 0x4, BAR_IO = 0x1, BAR_IO_MASK = 0xFFFFFFFCU, BAR_MEM_MASK = 0xFFFFFFF0U, CAP_MSI = 0x05U, CAP_MSIX = 0x11U, CAP_PCIE = 0x10U } |
Public Member Functions | |
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) |
Private Attributes | |
DBus< MessageHwPciConfig > & | _bus_pcicfg |
DBus< MessageHostOp > & | _bus_hostop |
A helper for PCI config space access.
anonymous enum |
|
inline |
|
inline |
Get the base and the type of a bar.
|
inline |
Determines BAR size.
You should probably disable interrupt delivery from this device, while querying BAR sizes.
|
inline |
|
inline |
|
inline |
Induce the number of the bars from the header-type.
|
inline |
Find the position of a legacy PCI capability.
|
inline |
Find the position of an extended PCI capability.
|
inline |
Returns the gsi and enables them.
|
inline |
Program the nr-th MSI/MSI-X vector of the given device.
|
inline |
Scan the PCI root bus for bridges.
|
inline |
Searches for a given device and returns the bdf of it.
|
private |
|
private |