RISC-V: ACLINT Model

The Aclint device is part of the RISC-V models. It is available in libTEMUAclint.so.

Loading the Plugin

import Aclint

Configuration

@Aclint 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 @Aclint

new

Create new instance of Aclint

Command new Arguments

Name Type Required Description

name

string

yes

Name of object to create

Aclint 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.littleEndian

uint8_t

Endianess of memory interface.

config.logInterrupts

uint8_t

config.traceEvents

uint8_t

config.traceReads

uint8_t

config.traceWrites

uint8_t

cyclesLastMtimeUpdate

uint64_t

irqCtrl

[temu_IfaceRef; 8]/ <unknown>

Upstream interrupt controllers (e.g. processor)

msip

[uint32_t; 8]

machine software interrupt pending register

mtime

[uint64_t; 8]

Machine-level time counter

mtimecmp

[uint64_t; 8]

HART index x machine-level time compare

pnp.bar

uint32_t

pnp.config

uint32_t

Interfaces

Name Type Description

AclintCsrIface

temu::AclintCsrIface

ApbIface

ApbIface

DeviceIface

DeviceIface

MemAccessIface

MemAccessIface

ObjectIface

ObjectIface

RegisterIface

temu::RegisterIface

Auto-generated Register Interface Impl.

ResetIface

ResetIface

Registers

Register support is currently experimental!

Register Bank Regs

Register msip
Description

machine software interrupt pending register

Reset value

0x00000000

Warm reset mask

0x00000001

Diagram
Field Mask Reset Description

MSIP

0x00000001

0x0

Machine mode software interrupt

Register msip
Description

machine software interrupt pending register

Reset value

0x00000000

Warm reset mask

0x00000001

Diagram
Field Mask Reset Description

MSIP

0x00000001

0x0

Machine mode software interrupt

Register msip
Description

machine software interrupt pending register

Reset value

0x00000000

Warm reset mask

0x00000001

Diagram
Field Mask Reset Description

MSIP

0x00000001

0x0

Machine mode software interrupt

Register msip
Description

machine software interrupt pending register

Reset value

0x00000000

Warm reset mask

0x00000001

Diagram
Field Mask Reset Description

MSIP

0x00000001

0x0

Machine mode software interrupt

Register msip
Description

machine software interrupt pending register

Reset value

0x00000000

Warm reset mask

0x00000001

Diagram
Field Mask Reset Description

MSIP

0x00000001

0x0

Machine mode software interrupt

Register msip
Description

machine software interrupt pending register

Reset value

0x00000000

Warm reset mask

0x00000001

Diagram
Field Mask Reset Description

MSIP

0x00000001

0x0

Machine mode software interrupt

Register msip
Description

machine software interrupt pending register

Reset value

0x00000000

Warm reset mask

0x00000001

Diagram
Field Mask Reset Description

MSIP

0x00000001

0x0

Machine mode software interrupt

Register msip
Description

machine software interrupt pending register

Reset value

0x00000000

Warm reset mask

0x00000001

Diagram
Field Mask Reset Description

MSIP

0x00000001

0x0

Machine mode software interrupt

Register mtimecmp
Description

HART index x machine-level time compare

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIMECMP

0x0000000000000000

-

M-timer compare value

Register mtimecmp
Description

HART index x machine-level time compare

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIMECMP

0x0000000000000000

-

M-timer compare value

Register mtimecmp
Description

HART index x machine-level time compare

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIMECMP

0x0000000000000000

-

M-timer compare value

Register mtimecmp
Description

HART index x machine-level time compare

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIMECMP

0x0000000000000000

-

M-timer compare value

Register mtimecmp
Description

HART index x machine-level time compare

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIMECMP

0x0000000000000000

-

M-timer compare value

Register mtimecmp
Description

HART index x machine-level time compare

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIMECMP

0x0000000000000000

-

M-timer compare value

Register mtimecmp
Description

HART index x machine-level time compare

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIMECMP

0x0000000000000000

-

M-timer compare value

Register mtimecmp
Description

HART index x machine-level time compare

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIMECMP

0x0000000000000000

-

M-timer compare value

Register mtime
Description

Machine-level time counter

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIME

0x0000000000000000

-

M-timer value

Register mtime
Description

Machine-level time counter

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIME

0x0000000000000000

-

M-timer value

Register mtime
Description

Machine-level time counter

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIME

0x0000000000000000

-

M-timer value

Register mtime
Description

Machine-level time counter

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIME

0x0000000000000000

-

M-timer value

Register mtime
Description

Machine-level time counter

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIME

0x0000000000000000

-

M-timer value

Register mtime
Description

Machine-level time counter

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIME

0x0000000000000000

-

M-timer value

Register mtime
Description

Machine-level time counter

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIME

0x0000000000000000

-

M-timer value

Register mtime
Description

Machine-level time counter

Reset value

0x0000000000000000

Warm reset mask

0x0000000000000000

Diagram
Field Mask Reset Description

MTIME

0x0000000000000000

-

M-timer value

Commands

Name Description

delete

Dispose instance of Aclint

Limitations

No limitations are documented at this point.