gem5  v22.0.0.2
Public Member Functions | Static Protected Member Functions | List of all members
gem5::Gicv3Registers Class Referenceabstract

#include <gic_v3.hh>

Inheritance diagram for gem5::Gicv3Registers:
gem5::Gicv3 gem5::KvmKernelGicV3

Public Member Functions

virtual uint32_t readDistributor (Addr daddr)=0
 
virtual uint32_t readRedistributor (const ArmISA::Affinity &aff, Addr daddr)=0
 
virtual RegVal readCpu (const ArmISA::Affinity &aff, ArmISA::MiscRegIndex misc_reg)=0
 
virtual void writeDistributor (Addr daddr, uint32_t data)=0
 
virtual void writeRedistributor (const ArmISA::Affinity &aff, Addr daddr, uint32_t data)=0
 
virtual void writeCpu (const ArmISA::Affinity &aff, ArmISA::MiscRegIndex misc_reg, RegVal data)=0
 

Static Protected Member Functions

static void copyDistRegister (Gicv3Registers *from, Gicv3Registers *to, Addr daddr)
 
static void copyRedistRegister (Gicv3Registers *from, Gicv3Registers *to, const ArmISA::Affinity &aff, Addr daddr)
 
static void copyCpuRegister (Gicv3Registers *from, Gicv3Registers *to, const ArmISA::Affinity &aff, ArmISA::MiscRegIndex misc_reg)
 
static void clearRedistRegister (Gicv3Registers *to, const ArmISA::Affinity &aff, Addr daddr)
 
static void copyRedistRange (Gicv3Registers *from, Gicv3Registers *to, const ArmISA::Affinity &aff, Addr daddr, size_t size)
 
static void copyDistRange (Gicv3Registers *from, Gicv3Registers *to, Addr daddr, size_t size)
 
static void clearDistRange (Gicv3Registers *to, Addr daddr, size_t size)
 

Detailed Description

Definition at line 57 of file gic_v3.hh.

Member Function Documentation

◆ clearDistRange()

void gem5::Gicv3Registers::clearDistRange ( Gicv3Registers to,
Addr  daddr,
size_t  size 
)
staticprotected

Definition at line 124 of file gic_v3.cc.

References gem5::ArmISA::a, and gem5::PowerISA::to.

Referenced by gem5::Gicv3Distributor::copy().

◆ clearRedistRegister()

void gem5::Gicv3Registers::clearRedistRegister ( Gicv3Registers to,
const ArmISA::Affinity &  aff,
Addr  daddr 
)
staticprotected

Definition at line 98 of file gic_v3.cc.

References gem5::PowerISA::to.

Referenced by gem5::Gicv3Redistributor::copy().

◆ copyCpuRegister()

void gem5::Gicv3Registers::copyCpuRegister ( Gicv3Registers from,
Gicv3Registers to,
const ArmISA::Affinity &  aff,
ArmISA::MiscRegIndex  misc_reg 
)
staticprotected

◆ copyDistRange()

void gem5::Gicv3Registers::copyDistRange ( Gicv3Registers from,
Gicv3Registers to,
Addr  daddr,
size_t  size 
)
staticprotected

Definition at line 115 of file gic_v3.cc.

References gem5::ArmISA::a, copyDistRegister(), and gem5::PowerISA::to.

Referenced by gem5::Gicv3Distributor::copy().

◆ copyDistRegister()

void gem5::Gicv3Registers::copyDistRegister ( Gicv3Registers from,
Gicv3Registers to,
Addr  daddr 
)
staticprotected

◆ copyRedistRange()

void gem5::Gicv3Registers::copyRedistRange ( Gicv3Registers from,
Gicv3Registers to,
const ArmISA::Affinity &  aff,
Addr  daddr,
size_t  size 
)
staticprotected

Definition at line 105 of file gic_v3.cc.

References gem5::ArmISA::a, copyRedistRegister(), and gem5::PowerISA::to.

Referenced by gem5::Gicv3Redistributor::copy().

◆ copyRedistRegister()

void gem5::Gicv3Registers::copyRedistRegister ( Gicv3Registers from,
Gicv3Registers to,
const ArmISA::Affinity &  aff,
Addr  daddr 
)
staticprotected

◆ readCpu()

virtual RegVal gem5::Gicv3Registers::readCpu ( const ArmISA::Affinity &  aff,
ArmISA::MiscRegIndex  misc_reg 
)
pure virtual

Implemented in gem5::Gicv3, and gem5::KvmKernelGicV3.

Referenced by copyCpuRegister().

◆ readDistributor()

virtual uint32_t gem5::Gicv3Registers::readDistributor ( Addr  daddr)
pure virtual

Implemented in gem5::Gicv3, and gem5::KvmKernelGicV3.

Referenced by copyDistRegister().

◆ readRedistributor()

virtual uint32_t gem5::Gicv3Registers::readRedistributor ( const ArmISA::Affinity &  aff,
Addr  daddr 
)
pure virtual

Implemented in gem5::Gicv3, and gem5::KvmKernelGicV3.

Referenced by copyRedistRegister().

◆ writeCpu()

virtual void gem5::Gicv3Registers::writeCpu ( const ArmISA::Affinity &  aff,
ArmISA::MiscRegIndex  misc_reg,
RegVal  data 
)
pure virtual

Implemented in gem5::Gicv3, and gem5::KvmKernelGicV3.

◆ writeDistributor()

virtual void gem5::Gicv3Registers::writeDistributor ( Addr  daddr,
uint32_t  data 
)
pure virtual

Implemented in gem5::Gicv3, and gem5::KvmKernelGicV3.

◆ writeRedistributor()

virtual void gem5::Gicv3Registers::writeRedistributor ( const ArmISA::Affinity &  aff,
Addr  daddr,
uint32_t  data 
)
pure virtual

Implemented in gem5::Gicv3, and gem5::KvmKernelGicV3.


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

Generated on Thu Jul 28 2022 13:33:03 for gem5 by doxygen 1.8.17