RISC-V: ACLINT Model

The AIA device is part of the RISC-V models. It is available in libTEMUAIA.so.

Loading the Plugin

import AIA

Configuration

@AIA Reference

Properties

Name Type Description

Class

*void

Class object

Component

*void

Pointer to component object if part of component

LocalName

*char

Local name (in component, if applicable)

LogMessageFlags

uint64_t

Per-object log message suppression flags

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

ObjectID

uint64_t

Unique ObjectID.

ReplayLoggingFlags

uint64_t

Replay-time category logging flags

TimeSource

*void

Time source object

Commands

Name Description

delete

Dispose instance of @AIA

new

Create new instance of AIA

Command new Arguments

Name Type Required Description

name

string

yes

Name of object to create

AIA Reference

Properties

Name Type Description

Class

*void

Class object

Component

*void

Pointer to component object if part of component

LocalName

*char

Local name (in component, if applicable)

LogMessageFlags

uint64_t

Per-object log message suppression flags

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

ObjectID

uint64_t

Unique ObjectID.

ReplayLoggingFlags

uint64_t

Replay-time category logging flags

TimeSource

*void

Time source object

config.IMSICHartStride

uint32_t

config.Trace

uint8_t

irqCtrl

[temu_IfaceRef; 8]/ <unknown>

CPUs IrqCtrlIface references

Interfaces

Name Type Description

APLICMemAccessIface

MemAccessIface

APLIC Memory access interface.

AiaCsrIface

temu::AiaCsrIface

AIA CSR access interface for the CPUs

ApbIface

ApbIface

APB P&P interface.

DeviceIface

DeviceIface

Device interface.

IMSICMemAccessIface

MemAccessIface

IMSIC Memory access interface.

IrqClientIface

IrqClientIface

Interface for CPUs to ack/re-request interrupts

IrqIface

IrqCtrlIface

Interface for interrupt sources (e.g. UARTs etc)

Ports

Prop Iface Description

irqCtrl

IrqClientIface

AIA IrqClientIface <→ CPU IrqCtrlIface port

Commands

Name Description

delete

Dispose instance of AIA

raiseExternalIrq

Raise a interrupt

Command raiseExternalIrq Arguments

Name Type Required Description

srcidx

int

yes

Interrupt source

Limitations

No limitations are documented at this point.