gem5  v21.1.0.2
Public Attributes | List of all members
gem5::PlicOutput Struct Reference

NOTE: This implementation of CLINT is based on the SiFive U54MC datasheet: https://sifive.cdn.prismic.io/sifive/fab000f6- 0e07-48d0-9602-e437d5367806_sifive_U54MC_rtl_ full_20G1.03.00_manual.pdf. More...

#include <plic.hh>

Public Attributes

std::vector< uint32_t > maxID
 
std::vector< uint32_t > maxPriority
 

Detailed Description

NOTE: This implementation of CLINT is based on the SiFive U54MC datasheet: https://sifive.cdn.prismic.io/sifive/fab000f6- 0e07-48d0-9602-e437d5367806_sifive_U54MC_rtl_ full_20G1.03.00_manual.pdf.

PLIC Latency Model MMIO changed (aside from threshold) => update internal states => calculate new output => schedule update (3 cycles delay) => update output & schedule next update => update xEIP lines

threshold changed => update xEIP lines

This ensures cycle-accurate values for MMIO accesses and xEIP lines

NOTE: check pending bit when returning maxID to avoid claiming by multiple contexts. Note that pending bits are not propagated through the 3-cycle delay.

TODO:

Definition at line 91 of file plic.hh.

Member Data Documentation

◆ maxID

std::vector<uint32_t> gem5::PlicOutput::maxID

◆ maxPriority

std::vector<uint32_t> gem5::PlicOutput::maxPriority

Definition at line 94 of file plic.hh.

Referenced by gem5::Plic::serialize(), gem5::Plic::unserialize(), and gem5::Plic::updateInt().


The documentation for this struct was generated from the following file:

Generated on Tue Sep 21 2021 12:27:58 for gem5 by doxygen 1.8.17