L4Re - L4 Runtime Environment
L4vbus PCI functions
+ Collaboration diagram for L4vbus PCI functions:

Functions

int l4vbus_pci_cfg_read (l4_cap_idx_t vbus, l4vbus_device_handle_t handle, l4_uint32_t bus, l4_uint32_t devfn, l4_uint32_t reg, l4_uint32_t *value, l4_uint32_t width)
 Read from the vPCI configuration space using the PCI root bridge. More...
 
int l4vbus_pci_cfg_write (l4_cap_idx_t vbus, l4vbus_device_handle_t handle, l4_uint32_t bus, l4_uint32_t devfn, l4_uint32_t reg, l4_uint32_t value, l4_uint32_t width)
 Write to the vPCI configuration space using the PCI root bridge. More...
 
int l4vbus_pci_irq_enable (l4_cap_idx_t vbus, l4vbus_device_handle_t handle, l4_uint32_t bus, l4_uint32_t devfn, int pin, unsigned char *trigger, unsigned char *polarity)
 Enable PCI interrupt for a specific device using the PCI root bridge. More...
 
int l4vbus_pcidev_cfg_read (l4_cap_idx_t vbus, l4vbus_device_handle_t handle, l4_uint32_t reg, l4_uint32_t *value, l4_uint32_t width)
 Read from the device's vPCI configuration space. More...
 
int l4vbus_pcidev_cfg_write (l4_cap_idx_t vbus, l4vbus_device_handle_t handle, l4_uint32_t reg, l4_uint32_t value, l4_uint32_t width)
 Write to the device's vPCI configuration space. More...
 
int l4vbus_pcidev_irq_enable (l4_cap_idx_t vbus, l4vbus_device_handle_t handle, unsigned char *trigger, unsigned char *polarity)
 Enable the device's PCI interrupt. More...
 

Detailed Description

Function Documentation

◆ l4vbus_pci_cfg_read()

int l4vbus_pci_cfg_read ( l4_cap_idx_t  vbus,
l4vbus_device_handle_t  handle,
l4_uint32_t  bus,
l4_uint32_t  devfn,
l4_uint32_t  reg,
l4_uint32_t value,
l4_uint32_t  width 
)

Read from the vPCI configuration space using the PCI root bridge.

Parameters
vbusCapability of the system bus
handleDevice handle of the PCI root bridge
busBus number
devfnDevice id (upper 16bit) and function (lower 16bit)
regRegister in configuration space to read
[out]valueValue that has been read
widthWidth to read in bits (e.g. 8, 16, 32)
Returns
0 on success, else failure

◆ l4vbus_pci_cfg_write()

int l4vbus_pci_cfg_write ( l4_cap_idx_t  vbus,
l4vbus_device_handle_t  handle,
l4_uint32_t  bus,
l4_uint32_t  devfn,
l4_uint32_t  reg,
l4_uint32_t  value,
l4_uint32_t  width 
)

Write to the vPCI configuration space using the PCI root bridge.

Parameters
vbusCapability of the system bus
handleDevice handle of the PCI root bridge
busBus number
devfnDevice id (upper 16bit) and function (lower 16bit)
regRegister in configuration space to write
valueValue to write
widthWidth to write in bits (e.g. 8, 16, 32)
Returns
0 on success, else failure

◆ l4vbus_pci_irq_enable()

int l4vbus_pci_irq_enable ( l4_cap_idx_t  vbus,
l4vbus_device_handle_t  handle,
l4_uint32_t  bus,
l4_uint32_t  devfn,
int  pin,
unsigned char *  trigger,
unsigned char *  polarity 
)

Enable PCI interrupt for a specific device using the PCI root bridge.

Parameters
vbusCapability of the system bus
handleDevice handle of the PCI root bridge
busBus number
devfnDevice id (upper 16bit) and function (lower 16bit)
pinInterrupt pin (normally as reported in configuration register INTR)
[out]triggerFalse if interrupt is level-triggered
[out]polarityTrue if interrupt is of low polarity
Returns
On success: Interrupt line to be used, else failure

◆ l4vbus_pcidev_cfg_read()

int l4vbus_pcidev_cfg_read ( l4_cap_idx_t  vbus,
l4vbus_device_handle_t  handle,
l4_uint32_t  reg,
l4_uint32_t value,
l4_uint32_t  width 
)

Read from the device's vPCI configuration space.

Parameters
vbusCapability of the system bus
handleDevice handle of the PCI device
regRegister in configuration space to read
[out]valueValue that has been read
widthWidth to read in bits (e.g. 8, 16, 32)
Returns
0 on success, else failure

◆ l4vbus_pcidev_cfg_write()

int l4vbus_pcidev_cfg_write ( l4_cap_idx_t  vbus,
l4vbus_device_handle_t  handle,
l4_uint32_t  reg,
l4_uint32_t  value,
l4_uint32_t  width 
)

Write to the device's vPCI configuration space.

Parameters
vbusCapability of the system bus
handleDevice handle of the PCI device
regRegister in configuration space to write
valueValue to write
widthWidth to write in bits (e.g. 8, 16, 32)
Returns
0 on success, else failure

◆ l4vbus_pcidev_irq_enable()

int l4vbus_pcidev_irq_enable ( l4_cap_idx_t  vbus,
l4vbus_device_handle_t  handle,
unsigned char *  trigger,
unsigned char *  polarity 
)

Enable the device's PCI interrupt.

Parameters
vbusCapability of the system bus
handleDevice handle of the PCI device
[out]triggerFalse if interrupt is level-triggered
[out]polarityTrue if interrupt is of low polarity
Returns
On success: Interrupt line to be used, else failure