gem5  v22.0.0.1
Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
gem5::MuxingKvmGic< Types > Class Template Reference

#include <gic.hh>

Inheritance diagram for gem5::MuxingKvmGic< Types >:

Public Member Functions

 MuxingKvmGic (const Params &p)
 
void startup () override
 
DrainState drain () override
 
void drainResume () override
 
Tick read (PacketPtr pkt) override
 
Tick write (PacketPtr pkt) override
 
void sendInt (uint32_t num) override
 
void clearInt (uint32_t num) override
 
void sendPPInt (uint32_t num, uint32_t cpu) override
 
void clearPPInt (uint32_t num, uint32_t cpu) override
 

Protected Member Functions

bool blockIntUpdate () const override
 

Protected Attributes

Systemsystem
 System this interrupt controller belongs to. More...
 
KvmKernelGickernelGic
 Kernel GIC device. More...
 

Private Types

using SimGic = typename Types::SimGic
 
using KvmGic = typename Types::KvmGic
 
using Params = typename Types::Params
 

Private Member Functions

void fromGicToKvm ()
 Multiplexing implementation. More...
 
void fromKvmToGic ()
 

Private Attributes

bool usingKvm
 

Detailed Description

template<class Types>
class gem5::MuxingKvmGic< Types >

Definition at line 266 of file gic.hh.

Member Typedef Documentation

◆ KvmGic

template<class Types >
using gem5::MuxingKvmGic< Types >::KvmGic = typename Types::KvmGic
private

Definition at line 269 of file gic.hh.

◆ Params

template<class Types >
using gem5::MuxingKvmGic< Types >::Params = typename Types::Params
private

Definition at line 270 of file gic.hh.

◆ SimGic

template<class Types >
using gem5::MuxingKvmGic< Types >::SimGic = typename Types::SimGic
private

Definition at line 268 of file gic.hh.

Constructor & Destructor Documentation

◆ MuxingKvmGic()

template<class Types >
gem5::MuxingKvmGic< Types >::MuxingKvmGic ( const Params p)

Member Function Documentation

◆ blockIntUpdate()

template<class Types >
bool gem5::MuxingKvmGic< Types >::blockIntUpdate
overrideprotected

Definition at line 400 of file gic.cc.

◆ clearInt()

template<class Types >
void gem5::MuxingKvmGic< Types >::clearInt ( uint32_t  num)
override

Definition at line 368 of file gic.cc.

References DPRINTF.

◆ clearPPInt()

template<class Types >
void gem5::MuxingKvmGic< Types >::clearPPInt ( uint32_t  num,
uint32_t  cpu 
)
override

Definition at line 389 of file gic.cc.

References DPRINTF.

◆ drain()

template<class Types >
DrainState gem5::MuxingKvmGic< Types >::drain
override

Definition at line 310 of file gic.cc.

◆ drainResume()

template<class Types >
void gem5::MuxingKvmGic< Types >::drainResume
override

Definition at line 319 of file gic.cc.

References gem5::X86ISA::system, and gem5::ArmISA::vm.

◆ fromGicToKvm()

template<class Types >
void gem5::MuxingKvmGic< Types >::fromGicToKvm
private

Multiplexing implementation.

Definition at line 411 of file gic.cc.

◆ fromKvmToGic()

template<class Types >
void gem5::MuxingKvmGic< Types >::fromKvmToGic
private

Definition at line 419 of file gic.cc.

References gem5::X86ISA::system.

◆ read()

template<class Types >
Tick gem5::MuxingKvmGic< Types >::read ( PacketPtr  pkt)
override

Definition at line 337 of file gic.cc.

References panic.

◆ sendInt()

template<class Types >
void gem5::MuxingKvmGic< Types >::sendInt ( uint32_t  num)
override

Definition at line 357 of file gic.cc.

References DPRINTF.

◆ sendPPInt()

template<class Types >
void gem5::MuxingKvmGic< Types >::sendPPInt ( uint32_t  num,
uint32_t  cpu 
)
override

Definition at line 379 of file gic.cc.

References DPRINTF.

◆ startup()

template<class Types >
void gem5::MuxingKvmGic< Types >::startup
override

Definition at line 293 of file gic.cc.

References gem5::X86ISA::system, and gem5::ArmISA::vm.

◆ write()

template<class Types >
Tick gem5::MuxingKvmGic< Types >::write ( PacketPtr  pkt)
override

Definition at line 347 of file gic.cc.

References panic.

Member Data Documentation

◆ kernelGic

template<class Types >
KvmKernelGic* gem5::MuxingKvmGic< Types >::kernelGic
protected

Kernel GIC device.

Definition at line 298 of file gic.hh.

Referenced by gem5::MuxingKvmGic< Types >::MuxingKvmGic().

◆ system

template<class Types >
System& gem5::MuxingKvmGic< Types >::system
protected

System this interrupt controller belongs to.

Definition at line 295 of file gic.hh.

Referenced by gem5::MuxingKvmGic< Types >::MuxingKvmGic().

◆ usingKvm

template<class Types >
bool gem5::MuxingKvmGic< Types >::usingKvm
private

Definition at line 301 of file gic.hh.


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

Generated on Sat Jun 18 2022 08:13:18 for gem5 by doxygen 1.8.17