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

Vbus Interrupt controller API. More...

`#include <vbus>`

Inheritance diagram for L4vbus::Icu:
Collaboration diagram for L4vbus::Icu:

## Public Types

enum | Src_types { Src_dev_handle = L4VBUS_ICU_SRC_DEV_HANDLE }
| Flags that can be used with the ICU on a vbus device. More...

## Public Member Functions

int | vicu (L4::Cap< L4::Icu > icu) const
| Request an L4::Icu capability for this Vbus's virtual ICU.
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

Vbus Interrupt controller API.

Every Vbus contains a virtual interrupt control unit that manages the IRQs of the devices on the bus. This class provides access to a capability to an L4::Icu object which can then be used to interface with the IRQs.

See also
  L4::Icu

Definition at line 260 of file vbus.

## Member Enumeration Documentation

## Src_types

enum L4vbus::Icu::Src_types

Flags that can be used with the ICU on a vbus device.

Enumerator
Src_dev_handle | Flag to denote that the value should be interpreted as a device handle. This flag may be used in the source parameter in L4::Icu::msi_info() to denote that the ICU should interpret the source ID as a device handle.

Definition at line 264 of file vbus.

## Member Function Documentation

## vicu()

int L4vbus::Icu::vicu | ( | L4::Cap< L4::Icu > | icu | ) | const

inline

Request an L4::Icu capability for this Vbus's virtual ICU.

Parameters

  [out] | icu | Capability slot where the L4::Icu capability shall be stored.

Return values

  0 | Success.
  otherwise | IPC error.

Definition at line 285 of file vbus.

References L4vbus::Device::_bus, L4vbus::Device::_dev, L4::Cap_base::cap(), and l4vbus_vicu_get_cap().

Here is the call graph for this function:

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

- l4/vbus/vbus