Loading...
Searching...
No Matches
L4vbus::Pci_dev Class Reference
L4Re C++ Interface » Vbus API

A PCI device. More...

`#include <vbus_pci>`

Inheritance diagram for L4vbus::Pci_dev:
Collaboration diagram for L4vbus::Pci_dev:

## Public Member Functions

int | cfg_read (l4_uint32_t reg, l4_uint32_t *value, l4_uint32_t width) const
| Read from the device's vPCI configuration space.
int | cfg_write (l4_uint32_t reg, l4_uint32_t value, l4_uint32_t width) const
| Write to the device's vPCI configuration space.
int | irq_enable (unsigned char *trigger, unsigned char *polarity) const
| Enable the device's PCI interrupt.
Public Member Functions inherited from L4vbus::Device
| Device ()
| Construct a new vbus device using the NULL device L4VBUS_NULL.
| Device (L4::Cap< Vbus > bus, l4vbus_device_handle_t dev)
| Construct a new vbus device using a device handle.
L4::Cap< Vbus > | bus_cap () const
| Access the Vbus capability of the underlying virtual bus.
l4vbus_device_handle_t | dev_handle () const
| Access the device handle of this device.
int | device_by_hid (Device *child, char const *hid, int depth=L4VBUS_MAX_DEPTH, l4vbus_device_t *devinfo=0) const
| Find a device by the hardware interface identifier (HID).
int | next_device (Device *child, int depth=L4VBUS_MAX_DEPTH, l4vbus_device_t *devinfo=0) const
| Find next child following child.
int | device (l4vbus_device_t *devinfo) const
| Obtain detailed information about a Vbus device.
int | get_resource (unsigned res_idx, l4vbus_resource_t *res) const
| Obtain the resource description of an individual device resource.
int | is_compatible (char const *cid) const
| Check if the given device has a compatibility ID (CID) or HID that matches cid.
bool | operator== (Device const &o) const
| Test if two devices are the same Vbus device.
bool | operator!= (Device const &o) const
| Test if two Vbus devices are not the same.
Public Member Functions inherited from L4vbus::Pm< Device >
int | pm_suspend () const
| Suspend the device.
int | pm_resume () const
| Resume the device.

## Additional Inherited Members

Protected Attributes inherited from L4vbus::Device
L4::Cap< Vbus > | _bus
| The Vbus capability where this device is located on.
l4vbus_device_handle_t | _dev
| The device handle for this device.

## Detailed Description

A PCI device.

Definition at line 93 of file vbus_pci.

## Member Function Documentation

## cfg_read()

int L4vbus::Pci_dev::cfg_read | ( | l4_uint32_t | reg,
|  | l4_uint32_t * | value,
|  | l4_uint32_t | width ) const

inline

Read from the device's vPCI configuration space.

Parameters

  | reg | Register in configuration space to read
  [out] | value | Value that has been read
  | width | Width to read in bits (e.g. 8, 16, 32)

Returns
  0 on success, else failure

Definition at line 105 of file vbus_pci.

References L4vbus::Device::_dev, L4vbus::Device::bus_cap(), and l4vbus_pcidev_cfg_read().

Here is the call graph for this function:

## cfg_write()

int L4vbus::Pci_dev::cfg_write | ( | l4_uint32_t | reg,
|  | l4_uint32_t | value,
|  | l4_uint32_t | width ) const

inline

Write to the device's vPCI configuration space.

Parameters

  reg | Register in configuration space to write
  value | Value to write
  width | Width to write in bits (e.g. 8, 16, 32)

Returns
  0 on success, else failure

Definition at line 121 of file vbus_pci.

References L4vbus::Device::_dev, L4vbus::Device::bus_cap(), and l4vbus_pcidev_cfg_write().

Here is the call graph for this function:

## irq_enable()

int L4vbus::Pci_dev::irq_enable | ( | unsigned char * | trigger,
|  | unsigned char * | polarity ) const

inline

Enable the device's PCI interrupt.

Parameters

  [out] | trigger | False if interrupt is level-triggered
  [out] | polarity | True if interrupt is of low polarity

Returns
  On success: Interrupt line to be used, else failure

Definition at line 137 of file vbus_pci.

References L4vbus::Device::_dev, L4vbus::Device::bus_cap(), and l4vbus_pcidev_irq_enable().

Here is the call graph for this function:

The documentation for this class was generated from the following file:

- l4/vbus/vbus_pci