クラス Onikiri::PPC64Linux::PPC64LinuxLoader

#include <PPC64LinuxLoader.h>

Onikiri::PPC64Linux::PPC64LinuxLoaderに対する継承グラフ

Inheritance graph
[凡例]
Onikiri::PPC64Linux::PPC64LinuxLoaderのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public メソッド

virtual u64 GetInitialRegValue (int index) const
 PPC64LinuxLoader ()
virtual ~PPC64LinuxLoader ()

Protected メソッド

virtual u64 CalculateEntryPoint (EmulatorUtility::MemorySystem *memory, const EmulatorUtility::ElfReader &elfReader)
virtual void CalculateOthers (EmulatorUtility::MemorySystem *memory, const EmulatorUtility::ElfReader &elfReader)

説明

PPC64LinuxLoader.h42 行で定義されています。


コンストラクタとデストラクタ

PPC64LinuxLoader::PPC64LinuxLoader (  ) 

PPC64LinuxLoader.cpp52 行で定義されています。

00053     : Linux64Loader(MACHINE_PPC64)  // machine = PPC64
00054 {
00055 }

PPC64LinuxLoader::~PPC64LinuxLoader (  )  [virtual]

PPC64LinuxLoader.cpp57 行で定義されています。

00058 {
00059 }


関数

u64 PPC64LinuxLoader::CalculateEntryPoint ( EmulatorUtility::MemorySystem memory,
const EmulatorUtility::ElfReader elfReader 
) [protected, virtual]

Onikiri::EmulatorUtility::Linux64Loaderを再定義しています。

PPC64LinuxLoader.cpp81 行で定義されています。

参照先 Onikiri::EmulatorUtility::ElfReader::GetEntryPoint()Onikiri::EmulatorUtility::MemorySystem::ReadMemory().

00082 {
00083     // ELFGg|Cg_startfXNv^i[Coffset 0|C^i[
00084     //return memory->ReadMemory(elfReader.GetEntryPoint(), 8);
00085     EmuMemAccess access( elfReader.GetEntryPoint(), 8 );
00086     memory->ReadMemory( &access );
00087     return access.value;
00088 }

関数の呼び出しグラフ:

void PPC64LinuxLoader::CalculateOthers ( EmulatorUtility::MemorySystem memory,
const EmulatorUtility::ElfReader elfReader 
) [protected, virtual]

Onikiri::EmulatorUtility::Linux64Loaderを再定義しています。

PPC64LinuxLoader.cpp91 行で定義されています。

参照先 Onikiri::EmulatorUtility::ElfReader::GetEntryPoint()Onikiri::EmulatorUtility::MemorySystem::ReadMemory().

00092 {
00093     // fXNv^offset 8toc
00094     //m_startTocPointer = memory->ReadMemory(elfReader.GetEntryPoint()+8, 8);
00095 
00096     EmuMemAccess access( elfReader.GetEntryPoint()+8, 8 );
00097     memory->ReadMemory( &access );
00098     m_startTocPointer = access.value;
00099 }

関数の呼び出しグラフ:

u64 PPC64LinuxLoader::GetInitialRegValue ( int  index  )  const [virtual]

Onikiri::EmulatorUtility::Linux64Loaderを実装しています。

PPC64LinuxLoader.cpp61 行で定義されています。

参照先 Onikiri::EmulatorUtility::Linux64Loader::GetInitialSp()Onikiri::PPC64Linux::PPC64Info::REG_FPSCR.

00062 {
00063     const int STACK_POINTER_REGNUM = 1;
00064     const int TOC_POINTER_REGNUM = 2;
00065     const int TLS_POINTER_REGNUM = 13;
00066 
00067     switch (index) {
00068     case STACK_POINTER_REGNUM:
00069         return GetInitialSp();
00070     case TOC_POINTER_REGNUM:
00071         return m_startTocPointer;
00072     case PPC64Info::REG_FPSCR:
00073         return 0;
00074     case TLS_POINTER_REGNUM:
00075         // <TODO>
00076     default:
00077         return 0;
00078     }
00079 }

関数の呼び出しグラフ:


このクラスの説明は次のファイルから生成されました:
Onikiri2に対してTue Jun 18 15:32:47 2013に生成されました。  doxygen 1.4.7