L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
L4vbus::Icu Class Reference

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< Vbusbus_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 262 of file vbus.

Member Enumeration Documentation

◆ 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 266 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]icuCapability slot where the L4::Icu capability shall be stored.
Return values
0Success.
otherwiseIPC error.

Definition at line 287 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: