クラス Onikiri::PPC64Linux::PPC64Info

#include <PPC64Info.h>

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

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

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

Public メソッド

virtual int GetAddressSpaceBitSize ()
virtual int GetInstructionWordBitSize ()
virtual ISA_TYPE GetISAType ()
virtual int GetMaxDstRegCount ()
virtual int GetMaxMemoryAccessByteSize ()
virtual int GetMaxOpInfoCountPerPC ()
virtual int GetMaxSrcRegCount ()
virtual int GetRegisterCount ()
virtual int GetRegisterSegmentCount ()
virtual int GetRegisterSegmentID (int regNum)
virtual int GetRegisterWordBitSize ()
virtual bool IsLittleEndian ()

Static Public 変数

static const int InstructionWordBitSize = 32
static const int MAX_MEMORY_ACCESS_WIDTH = 8
static const int MaxDstRegCount = 3
static const int MaxImmCount = 4
static const int MaxSrcRegCount = 4
static const int REG_ADDRESS = 76
static const int REG_CA = 75
static const int REG_COUNT = 73
static const int REG_CR0 = 64
static const int REG_FPSCR = 74
static const int REG_LINK = 72
static const int RegisterCount = 32 + 32 + 8 + 2 + 2 + 1

説明

PPC64Info.h41 行で定義されています。


関数

int PPC64Info::GetAddressSpaceBitSize (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

PPC64Info.cpp84 行で定義されています。

00085 {
00086     return 64;
00087 }

int PPC64Info::GetInstructionWordBitSize (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

PPC64Info.cpp69 行で定義されています。

参照先 InstructionWordBitSize.

00070 {
00071     return InstructionWordBitSize;
00072 }

ISA_TYPE PPC64Info::GetISAType (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

PPC64Info.cpp40 行で定義されています。

参照先 Onikiri::ISA_PPC64.

00041 {
00042     return ISA_PPC64;
00043 }

int PPC64Info::GetMaxDstRegCount (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

PPC64Info.cpp94 行で定義されています。

参照先 MaxDstRegCount.

00095 {
00096     return MaxDstRegCount;
00097 }

int PPC64Info::GetMaxMemoryAccessByteSize (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

PPC64Info.cpp104 行で定義されています。

参照先 MAX_MEMORY_ACCESS_WIDTH.

00105 {
00106     return MAX_MEMORY_ACCESS_WIDTH;
00107 }

int PPC64Info::GetMaxOpInfoCountPerPC (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

PPC64Info.cpp99 行で定義されています。

参照先 Onikiri::PPC64Linux::PPC64ConverterTraits::MaxOpInfoDefs.

00100 {
00101     return PPC64ConverterTraits::MaxOpInfoDefs;
00102 }

int PPC64Info::GetMaxSrcRegCount (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

PPC64Info.cpp89 行で定義されています。

参照先 MaxSrcRegCount.

00090 {
00091     return MaxSrcRegCount;
00092 }

int PPC64Info::GetRegisterCount (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

PPC64Info.cpp79 行で定義されています。

参照先 RegisterCount.

00080 {
00081     return RegisterCount;
00082 }

int PPC64Info::GetRegisterSegmentCount (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

PPC64Info.cpp64 行で定義されています。

00065 {
00066     return 6;
00067 }

int PPC64Info::GetRegisterSegmentID ( int  regNum  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

PPC64Info.cpp45 行で定義されています。

参照先 ASSERTRegisterCount.

00046 {
00047     const int segmentRange[] = {
00048          0,     // Int
00049         32,     // FP
00050         64,     // CR
00051         72,     // SPR
00052         74,     // Flag
00053         76,     // ADDR
00054         77      // +1
00055     };
00056     const int nElems = sizeof(segmentRange)/sizeof(segmentRange[0]);
00057 
00058     ASSERT(0 <= regNum && regNum < RegisterCount, "regNum out of bound");
00059     ASSERT(segmentRange[nElems-1] == RegisterCount);
00060 
00061     return static_cast<int>( upper_bound(segmentRange, segmentRange+nElems, regNum) - segmentRange ) - 1;
00062 }

int PPC64Info::GetRegisterWordBitSize (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

PPC64Info.cpp74 行で定義されています。

00075 {
00076     return 64;
00077 }

bool PPC64Info::IsLittleEndian (  )  [virtual]

Onikiri::ISAInfoIFを実装しています。

PPC64Info.cpp109 行で定義されています。

00110 {
00111     return false;
00112 }


変数

const int Onikiri::PPC64Linux::PPC64Info::InstructionWordBitSize = 32 [static]

PPC64Info.h44 行で定義されています。

参照元 GetInstructionWordBitSize().

const int Onikiri::PPC64Linux::PPC64Info::MAX_MEMORY_ACCESS_WIDTH = 8 [static]

PPC64Info.h68 行で定義されています。

参照元 GetMaxMemoryAccessByteSize().

const int Onikiri::PPC64Linux::PPC64Info::MaxDstRegCount = 3 [static]

PPC64Info.h46 行で定義されています。

参照元 GetMaxDstRegCount().

const int Onikiri::PPC64Linux::PPC64Info::MaxImmCount = 4 [static]

PPC64Info.h47 行で定義されています。

const int Onikiri::PPC64Linux::PPC64Info::MaxSrcRegCount = 4 [static]

PPC64Info.h45 行で定義されています。

参照元 GetMaxSrcRegCount().

const int Onikiri::PPC64Linux::PPC64Info::REG_ADDRESS = 76 [static]

PPC64Info.h64 行で定義されています。

const int Onikiri::PPC64Linux::PPC64Info::REG_CA = 75 [static]

PPC64Info.h63 行で定義されています。

const int Onikiri::PPC64Linux::PPC64Info::REG_COUNT = 73 [static]

PPC64Info.h59 行で定義されています。

const int Onikiri::PPC64Linux::PPC64Info::REG_CR0 = 64 [static]

PPC64Info.h56 行で定義されています。

const int Onikiri::PPC64Linux::PPC64Info::REG_FPSCR = 74 [static]

PPC64Info.h61 行で定義されています。

参照元 Onikiri::PPC64Linux::PPC64LinuxLoader::GetInitialRegValue().

const int Onikiri::PPC64Linux::PPC64Info::REG_LINK = 72 [static]

PPC64Info.h58 行で定義されています。

const int Onikiri::PPC64Linux::PPC64Info::RegisterCount = 32 + 32 + 8 + 2 + 2 + 1 [static]

PPC64Info.h54 行で定義されています。

参照元 GetRegisterCount()GetRegisterSegmentID().


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