gem5 v24.0.0.0
Loading...
Searching...
No Matches
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.
 
KvmKernelGickernelGic
 Kernel GIC device.
 

Private Types

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

Private Member Functions

void fromGicToKvm ()
 Multiplexing implementation.
 
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 ( ) const
overrideprotected

Definition at line 409 of file gic.cc.

◆ clearInt()

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

Definition at line 377 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 398 of file gic.cc.

References DPRINTF.

◆ drain()

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

Definition at line 319 of file gic.cc.

◆ drainResume()

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

Definition at line 328 of file gic.cc.

References gem5::X86ISA::system, gem5::KvmVM::validEnvironment(), and gem5::ArmISA::vm.

◆ fromGicToKvm()

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

Multiplexing implementation.

Definition at line 420 of file gic.cc.

◆ fromKvmToGic()

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

Definition at line 428 of file gic.cc.

References gem5::X86ISA::system.

◆ read()

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

Definition at line 346 of file gic.cc.

References panic.

◆ sendInt()

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

Definition at line 366 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 388 of file gic.cc.

References DPRINTF.

◆ startup()

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

Definition at line 302 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 356 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 Tue Jun 18 2024 16:24:12 for gem5 by doxygen 1.11.0