#include <VirtualMemory.h>
Onikiri::EmulatorUtility::TLBのコラボレーション図
Public メソッド | |
void | Flush () |
bool | Lookup (u64 addr, PageTableEntry *entry) const |
TLB (int offsetBits) | |
void | Write (u64 addr, const PageTableEntry &entry) |
~TLB () | |
Protected 変数 | |
u64 | m_addr |
u64 | m_addrMask |
PageTableEntry | m_body |
u64 | m_offsetBits |
bool | m_valid |
VirtualMemory.h の 67 行で定義されています。
TLB::TLB | ( | int | offsetBits | ) |
VirtualMemory.cpp の 60 行で定義されています。
参照先 m_addr・m_addrMask・m_body・m_offsetBits・m_valid.
00061 { 00062 memset( &m_body, 0, sizeof(m_body) ); 00063 m_addr = 0; 00064 m_valid = false; 00065 00066 m_offsetBits = offsetBits; 00067 m_addrMask = shttl::mask( m_offsetBits, 64 - m_offsetBits ); 00068 }
TLB::~TLB | ( | ) |
void TLB::Flush | ( | ) |
VirtualMemory.cpp の 95 行で定義されています。
参照先 m_valid.
参照元 Onikiri::EmulatorUtility::PageTable::AddMap()・Onikiri::EmulatorUtility::PageTable::CopyMap()・Onikiri::EmulatorUtility::PageTable::RemoveMap().
00096 { 00097 m_valid = false; 00098 }
Here is the caller graph for this function:
bool TLB::Lookup | ( | u64 | addr, | |
PageTableEntry * | entry | |||
) | const |
VirtualMemory.cpp の 74 行で定義されています。
参照先 m_addr・m_addrMask・m_body・m_valid.
参照元 Onikiri::EmulatorUtility::PageTable::GetMap()・Onikiri::EmulatorUtility::PageTable::IsMapped()・Onikiri::EmulatorUtility::PageTable::TargetToHost().
00075 { 00076 #ifndef ENABLED_EMULATOR_UTILITY_TLB 00077 return false; 00078 #endif 00079 00080 if( m_valid && m_addr == ( addr & m_addrMask ) ){ 00081 *entry = m_body; 00082 return true; 00083 } 00084 00085 return false; 00086 }
Here is the caller graph for this function:
void TLB::Write | ( | u64 | addr, | |
const PageTableEntry & | entry | |||
) |
VirtualMemory.cpp の 88 行で定義されています。
参照先 m_addr・m_addrMask・m_body・m_valid.
参照元 Onikiri::EmulatorUtility::PageTable::GetMap()・Onikiri::EmulatorUtility::PageTable::SetMap()・Onikiri::EmulatorUtility::PageTable::TargetToHost().
00089 { 00090 m_addr = addr & m_addrMask; 00091 m_body = entry; 00092 m_valid = true; 00093 }
Here is the caller graph for this function:
u64 Onikiri::EmulatorUtility::TLB::m_addr [protected] |
u64 Onikiri::EmulatorUtility::TLB::m_addrMask [protected] |
PageTableEntry Onikiri::EmulatorUtility::TLB::m_body [protected] |
u64 Onikiri::EmulatorUtility::TLB::m_offsetBits [protected] |
bool Onikiri::EmulatorUtility::TLB::m_valid [protected] |