RV_PLIC Device Interface Functions More...
#include <stdbool.h>#include <stdint.h>#include "sw/device/lib/base/macros.h"#include "sw/device/lib/base/mmio.h"#include "sw/device/lib/dif/dif_base.h"#include "hw/top/dt/rv_plic.h"Go to the source code of this file.
Data Structures | |
| struct | dif_rv_plic |
| A handle to rv_plic. More... | |
Typedefs | |
| typedef struct dif_rv_plic | dif_rv_plic_t |
| A handle to rv_plic. | |
| typedef enum dif_rv_plic_alert | dif_rv_plic_alert_t |
| A rv_plic alert type. | |
Enumerations | |
| enum | dif_rv_plic_alert { kDifRvPlicAlertFatalFault = 0 } |
| A rv_plic alert type. More... | |
Functions | |
| OT_WARN_UNUSED_RESULT dif_result_t | dif_rv_plic_init (mmio_region_t base_addr, dif_rv_plic_t *rv_plic) |
| Creates a new handle for a(n) rv_plic peripheral. | |
| OT_WARN_UNUSED_RESULT dif_result_t | dif_rv_plic_init_from_dt (dt_rv_plic_t dt, dif_rv_plic_t *rv_plic) |
| Creates a new handle for a(n) rv_plic peripheral. | |
| OT_WARN_UNUSED_RESULT dif_result_t | dif_rv_plic_get_dt (const dif_rv_plic_t *rv_plic, dt_rv_plic_t *dt) |
| Get the DT handle from this DIF. | |
| OT_WARN_UNUSED_RESULT dif_result_t | dif_rv_plic_alert_force (const dif_rv_plic_t *rv_plic, dif_rv_plic_alert_t alert) |
| Forces a particular alert, causing it to be escalated as if the hardware had raised it. | |
RV_PLIC Device Interface Functions
Definition in file dif_rv_plic_autogen.h.
| struct dif_rv_plic |
A handle to rv_plic.
This type should be treated as opaque by users.
Definition at line 38 of file dif_rv_plic_autogen.h.
| Data Fields | ||
|---|---|---|
| mmio_region_t | base_addr | The base address for the rv_plic hardware registers. |
| dt_rv_plic_t | dt |
The instance, set to kDtRvPlicCount if not initialized through dif_rv_plic_init_from_dt. |
| typedef struct dif_rv_plic dif_rv_plic_t |
A handle to rv_plic.
This type should be treated as opaque by users.
| enum dif_rv_plic_alert |
A rv_plic alert type.
| Enumerator | |
|---|---|
| kDifRvPlicAlertFatalFault | This fatal alert is triggered when a fatal TL-UL bus integrity fault is detected. |
Definition at line 99 of file dif_rv_plic_autogen.h.
| OT_WARN_UNUSED_RESULT dif_result_t dif_rv_plic_alert_force | ( | const dif_rv_plic_t * | rv_plic, |
| dif_rv_plic_alert_t | alert ) |
Forces a particular alert, causing it to be escalated as if the hardware had raised it.
| rv_plic | A rv_plic handle. |
| alert | The alert to force. |
Definition at line 63 of file dif_rv_plic_autogen.c.
| OT_WARN_UNUSED_RESULT dif_result_t dif_rv_plic_get_dt | ( | const dif_rv_plic_t * | rv_plic, |
| dt_rv_plic_t * | dt ) |
Get the DT handle from this DIF.
If this DIF was initialized by dif_rv_plic_init_from_dt(dt, ..) then this function will return dt. Otherwise it will return an error.
| rv_plic | A rv_plic handle. | |
| [out] | dt | DT handle. |
kDifBadArg if the DIF has no DT information, kDifOk otherwise. Definition at line 53 of file dif_rv_plic_autogen.c.
| OT_WARN_UNUSED_RESULT dif_result_t dif_rv_plic_init | ( | mmio_region_t | base_addr, |
| dif_rv_plic_t * | rv_plic ) |
Creates a new handle for a(n) rv_plic peripheral.
This function does not actuate the hardware.
| base_addr | The MMIO base address of the rv_plic peripheral. | |
| [out] | rv_plic | Out param for the initialized handle. |
DEPRECATED This function exists solely for the transition to dt-based DIFs and will be removed in the future.
Definition at line 26 of file dif_rv_plic_autogen.c.
| OT_WARN_UNUSED_RESULT dif_result_t dif_rv_plic_init_from_dt | ( | dt_rv_plic_t | dt, |
| dif_rv_plic_t * | rv_plic ) |
Creates a new handle for a(n) rv_plic peripheral.
This function does not actuate the hardware.
| dt | The devicetable description of the device. | |
| [out] | rv_plic | Out param for the initialized handle. |
Definition at line 40 of file dif_rv_plic_autogen.c.