Software APIs
dif_rv_plic_autogen.h File Reference

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.
 

Detailed Description

RV_PLIC Device Interface Functions

Definition in file dif_rv_plic_autogen.h.


Data Structure Documentation

◆ dif_rv_plic

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 Documentation

◆ dif_rv_plic_t

typedef struct dif_rv_plic dif_rv_plic_t

A handle to rv_plic.

This type should be treated as opaque by users.

Enumeration Type Documentation

◆ 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.

Function Documentation

◆ dif_rv_plic_alert_force()

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.

Parameters
rv_plicA rv_plic handle.
alertThe alert to force.
Returns
The result of the operation.

Definition at line 63 of file dif_rv_plic_autogen.c.

◆ dif_rv_plic_get_dt()

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.

Parameters
rv_plicA rv_plic handle.
[out]dtDT handle.
Returns
kDifBadArg if the DIF has no DT information, kDifOk otherwise.

Definition at line 53 of file dif_rv_plic_autogen.c.

◆ dif_rv_plic_init()

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.

Parameters
base_addrThe MMIO base address of the rv_plic peripheral.
[out]rv_plicOut param for the initialized handle.
Returns
The result of the operation.

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.

◆ dif_rv_plic_init_from_dt()

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.

Parameters
dtThe devicetable description of the device.
[out]rv_plicOut param for the initialized handle.
Returns
The result of the operation.

Definition at line 40 of file dif_rv_plic_autogen.c.