gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::Clint::ClintRegisters Class Reference

MMIO Registers 0x0000 - 0x3FFF: msip (write-through to misc reg file) ...: reserved[0] 0x4000 - 0xBFF7: mtimecmp ...: reserved[1] 0xBFF8: mtime (read-only) More...

#include <clint.hh>

Inheritance diagram for gem5::Clint::ClintRegisters:
gem5::RegisterBank< ByteOrder::little > gem5::RegisterBankBase

Public Member Functions

 ClintRegisters (const std::string &name, Addr base, Clint *clint)
 
void init ()
 
- Public Member Functions inherited from gem5::RegisterBank< ByteOrder::little >
void setDebugFlag (const ::gem5::debug::SimpleFlag &flag)
 
constexpr RegisterBank (const std::string &new_name, Addr new_base)
 
virtual ~RegisterBank ()
 
void addRegisters (std::initializer_list< RegisterAdder > adders)
 
void addRegistersAt (std::initializer_list< RegisterAdder > adders)
 
void addRegister (RegisterAdder reg)
 
Addr base () const
 
Addr size () const
 
const std::string & name () const
 
virtual void read (Addr addr, void *buf, Addr bytes)
 
virtual void write (Addr addr, const void *buf, Addr bytes)
 
virtual void reset ()
 

Public Attributes

const Addr mtimecmpStart = 0x4000
 
const Addr mtimeStart = 0xBFF8
 
const Addr maxBankSize = 0xC000
 
std::vector< Register32msip
 
std::vector< Register64mtimecmp
 
Register64 mtime = {"mtime", 0}
 
std::vector< RegisterRaz > reserved
 
Clintclint
 

Additional Inherited Members

- Public Types inherited from gem5::RegisterBank< ByteOrder::little >
using Register8
 
using Register8LE
 
using Register8BE
 
using Register16
 
using Register16LE
 
using Register16BE
 
using Register32
 
using Register32LE
 
using Register32BE
 
using Register64
 
using Register64LE
 
using Register64BE
 
- Static Public Member Functions inherited from gem5::RegisterBank< ByteOrder::little >
static constexpr Data readWithMask (const Data &value, const Data &bitmask)
 
static constexpr Data writeWithMask (const Data &old, const Data &value, const Data &bitmask)
 

Detailed Description

MMIO Registers 0x0000 - 0x3FFF: msip (write-through to misc reg file) ...: reserved[0] 0x4000 - 0xBFF7: mtimecmp ...: reserved[1] 0xBFF8: mtime (read-only)

Definition at line 103 of file clint.hh.

Constructor & Destructor Documentation

◆ ClintRegisters()

gem5::Clint::ClintRegisters::ClintRegisters ( const std::string & name,
Addr base,
Clint * clint )
inline

Definition at line 115 of file clint.hh.

Member Function Documentation

◆ init()

Member Data Documentation

◆ clint

Clint* gem5::Clint::ClintRegisters::clint

Definition at line 119 of file clint.hh.

Referenced by init().

◆ maxBankSize

const Addr gem5::Clint::ClintRegisters::maxBankSize = 0xC000

Definition at line 108 of file clint.hh.

Referenced by init().

◆ msip

std::vector<Register32> gem5::Clint::ClintRegisters::msip

Definition at line 110 of file clint.hh.

Referenced by init(), gem5::Clint::serialize(), and gem5::Clint::unserialize().

◆ mtime

Register64 gem5::Clint::ClintRegisters::mtime = {"mtime", 0}

◆ mtimecmp

std::vector<Register64> gem5::Clint::ClintRegisters::mtimecmp

◆ mtimecmpStart

const Addr gem5::Clint::ClintRegisters::mtimecmpStart = 0x4000

Definition at line 106 of file clint.hh.

Referenced by init().

◆ mtimeStart

const Addr gem5::Clint::ClintRegisters::mtimeStart = 0xBFF8

Definition at line 107 of file clint.hh.

Referenced by init().

◆ reserved

std::vector<RegisterRaz> gem5::Clint::ClintRegisters::reserved

Definition at line 113 of file clint.hh.

Referenced by init().


The documentation for this class was generated from the following files:

Generated on Tue Jun 18 2024 16:24:10 for gem5 by doxygen 1.11.0