C# 클래스 Emul8.Peripherals.CPU.TranslationCPU

상속: IGPIOReceiver, IControllableCPU, IDisposable, IDisassemblable
파일 보기 프로젝트 열기: emul8/emul8 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
ClockSource Emul8.Time.BaseClockSource
InvalidInterruptNumberException Exception
machine Emul8.Core.Machine

Private Properties

프로퍼티 타입 설명
AdjustBlockSize void
Allocate System.IntPtr
BlitArray void
CheckCpuThreadId void
CheckHalted bool
CheckIfOnSynchronizedThread void
CpuLoop void
DeactivateHooks void
ExecuteHooks void
Free void
FreeState void
GetCpuIndex int
GetSymbolName string
HandleRamSetup void
HandleStepping void
IClockSource Emul8.Time.ClockEntry
IClockSource IEnumerable
IClockSource bool
Init void
InitDisas void
InitInterruptEvents void
InnerPause void
InvalidateTbInOtherCpus void
InvokeHalted void
InvokeInCpuThreadSafely void
IsBlockBeginEventEnabled uint
IsInstructionCountEnabled uint
IsIoAccessed int
LogAsCpu void
LogDisassembly void
ObtainPauseGuard CpuThreadPauseGuard
OnBlockBegin void
OnTranslationBlockFetch void
OnTranslationCacheSizeChange void
PrepareState void
ReactivateHooks void
ReadByteFromBus uint
ReadDoubleWordFromBus uint
ReadWordFromBus uint
Reallocate IntPtr
RebuildMemoryMappings void
RegisterMemoryChecked void
ReportAbort void
RestoreState void
SetMaximumBlockSize void
SetPCFromEntryPoint void
SubmitTranslationCacheSizeUpdate void
TouchHostBlock void
TrySetDisassembler bool
UpdateInstructionCounter void
UpdateTranslationCacheSize void
ValidateMemoryRangeAndThrow void
WriteByteToBus void
WriteDoubleWordToBus void
WriteWordToBus void

공개 메소드들

메소드 설명
AddHook ( uint addr, Action hook ) : void
ClearHookAtBlockBegin ( ) : void
ClearPageAccessViaIo ( long address ) : void
ClearTranslationCache ( bool skipSync = false ) : void
DisassembleBlock ( uint addr, uint flags ) : string
Dispose ( ) : void
DisposeInner ( bool silent = false ) : void
EnterSingleStepModeSafely ( Emul8.Peripherals.CPU.HaltArguments args ) : void
GetRegisterUnsafe ( int register ) : uint
GetRegisters ( ) : int[]
GetRegistersValues ( ) : ].string[

Gets the registers values.

IClockSource ( System.Action action ) : void
IClockSource ( System.Action handler, Action visitor ) : void
IClockSource ( System.Action handler, ClockEntry>.Func visitor, Func factorIfNonExistant ) : void
IClockSource ( Emul8.Time.ClockEntry entry ) : void
IClockSource ( IEnumerable entries ) : void
InitFromElf ( ELF elf ) : void
InitFromUImage ( UImage uImage ) : void
IsSetEvent ( int number ) : bool
LogFunctionNames ( bool value ) : void
MapMemory ( IMappedSegment segment ) : void
MeasureExecutionRate ( ) : void
OnGPIO ( int number, bool value ) : void
Pause ( ) : void
RemoveAllHooks ( ) : void
RemoveHook ( uint addr, Action hook ) : void
RemoveHooksAt ( uint addr ) : void
Reset ( ) : void
Resume ( ) : void
SetHookAtBlockBegin ( uint>.Action hook ) : void
SetPageAccessViaIo ( long address ) : void
SetRegisterUnsafe ( int register, uint value ) : void
Start ( ) : void
StartGdbServer ( int port ) : void
Step ( int count = 1 ) : void
StopGdbServer ( ) : void
SymbolLookup ( uint addr ) : Symbol
TranslateAddress ( uint logicalAddress ) : uint
UnmapMemory ( Range range ) : void
UpdateContext ( ) : void

보호된 메소드들

메소드 설명
AfterLoad ( IntPtr statePtr ) : void
BeforeSave ( IntPtr statePtr ) : void
DecodeInterrupt ( int number ) : Interrupt
DoLookupSymbolInner ( uint offset ) : Symbol
ExtendWaitHandlers ( WaitHandle handle ) : void
InitializeRegisters ( ) : void
ResetInterruptEvent ( int number ) : void
TranslationCPU ( string cpuType, Emul8.Core.Machine machine, Endianess endianness ) : System

비공개 메소드들

메소드 설명
AdjustBlockSize ( ) : void
Allocate ( int size ) : IntPtr
BlitArray ( IntPtr targetPointer, dynamic structures ) : void
CheckCpuThreadId ( ) : void
CheckHalted ( ) : bool
CheckIfOnSynchronizedThread ( ) : void
CpuLoop ( ) : void
DeactivateHooks ( uint address ) : void
ExecuteHooks ( uint address ) : void
Free ( IntPtr pointer ) : void
FreeState ( ) : void
GetCpuIndex ( ) : int
GetSymbolName ( uint offset ) : string
HandleRamSetup ( ) : void
HandleStepping ( bool force = false ) : void
IClockSource ( System.Action handler ) : Emul8.Time.ClockEntry
IClockSource ( ) : IEnumerable
IClockSource ( System.Action handler ) : bool
Init ( ) : void
InitDisas ( ) : void
InitInterruptEvents ( ) : void
InnerPause ( HaltArguments haltArgs ) : void
InvalidateTbInOtherCpus ( IntPtr start, IntPtr end ) : void
InvokeHalted ( HaltArguments arguments ) : void
InvokeInCpuThreadSafely ( Action a ) : void
IsBlockBeginEventEnabled ( ) : uint
IsInstructionCountEnabled ( ) : uint
IsIoAccessed ( uint address ) : int
LogAsCpu ( int level, string s ) : void
LogDisassembly ( uint pc, uint count, uint flags ) : void
ObtainPauseGuard ( bool forReading, long address ) : CpuThreadPauseGuard
OnBlockBegin ( uint address, uint size ) : void
OnTranslationBlockFetch ( uint offset ) : void
OnTranslationCacheSizeChange ( int realSize ) : void
PrepareState ( ) : void
ReactivateHooks ( ) : void
ReadByteFromBus ( uint offset ) : uint
ReadDoubleWordFromBus ( uint offset ) : uint
ReadWordFromBus ( uint offset ) : uint
Reallocate ( IntPtr oldPointer, int newSize ) : IntPtr
RebuildMemoryMappings ( ) : void
RegisterMemoryChecked ( long offset, long size ) : void
ReportAbort ( string message ) : void
RestoreState ( ) : void
SetMaximumBlockSize ( uint value, bool skipSync = false ) : void
SetPCFromEntryPoint ( uint entryPoint ) : void
SubmitTranslationCacheSizeUpdate ( ) : void
TouchHostBlock ( uint offset ) : void
TrySetDisassembler ( string type ) : bool
UpdateInstructionCounter ( int value ) : void
UpdateTranslationCacheSize ( int sizeAtThatTime ) : void
ValidateMemoryRangeAndThrow ( uint startAddress, uint uintSize ) : void
WriteByteToBus ( uint offset, uint value ) : void
WriteDoubleWordToBus ( uint offset, uint value ) : void
WriteWordToBus ( uint offset, uint value ) : void

메소드 상세

AddHook() 공개 메소드

public AddHook ( uint addr, Action hook ) : void
addr uint
hook Action
리턴 void

AfterLoad() 보호된 메소드

protected AfterLoad ( IntPtr statePtr ) : void
statePtr System.IntPtr
리턴 void

BeforeSave() 보호된 메소드

protected BeforeSave ( IntPtr statePtr ) : void
statePtr System.IntPtr
리턴 void

ClearHookAtBlockBegin() 공개 메소드

public ClearHookAtBlockBegin ( ) : void
리턴 void

ClearPageAccessViaIo() 공개 메소드

public ClearPageAccessViaIo ( long address ) : void
address long
리턴 void

ClearTranslationCache() 공개 메소드

public ClearTranslationCache ( bool skipSync = false ) : void
skipSync bool
리턴 void

DecodeInterrupt() 보호된 추상적인 메소드

protected abstract DecodeInterrupt ( int number ) : Interrupt
number int
리턴 Interrupt

DisassembleBlock() 공개 메소드

public DisassembleBlock ( uint addr, uint flags ) : string
addr uint
flags uint
리턴 string

Dispose() 공개 메소드

public Dispose ( ) : void
리턴 void

DisposeInner() 공개 메소드

public DisposeInner ( bool silent = false ) : void
silent bool
리턴 void

DoLookupSymbolInner() 보호된 메소드

protected DoLookupSymbolInner ( uint offset ) : Symbol
offset uint
리턴 Symbol

EnterSingleStepModeSafely() 공개 메소드

public EnterSingleStepModeSafely ( Emul8.Peripherals.CPU.HaltArguments args ) : void
args Emul8.Peripherals.CPU.HaltArguments
리턴 void

ExtendWaitHandlers() 보호된 메소드

protected ExtendWaitHandlers ( WaitHandle handle ) : void
handle System.Threading.WaitHandle
리턴 void

GetRegisterUnsafe() 공개 추상적인 메소드

public abstract GetRegisterUnsafe ( int register ) : uint
register int
리턴 uint

GetRegisters() 공개 추상적인 메소드

public abstract GetRegisters ( ) : int[]
리턴 int[]

GetRegistersValues() 공개 메소드

Gets the registers values.
public GetRegistersValues ( ) : ].string[
리턴 ].string[

IClockSource() 공개 메소드

public IClockSource ( System.Action action ) : void
action System.Action
리턴 void

IClockSource() 공개 메소드

public IClockSource ( System.Action handler, Action visitor ) : void
handler System.Action
visitor Action
리턴 void

IClockSource() 공개 메소드

public IClockSource ( System.Action handler, ClockEntry>.Func visitor, Func factorIfNonExistant ) : void
handler System.Action
visitor ClockEntry>.Func
factorIfNonExistant Func
리턴 void

IClockSource() 공개 메소드

public IClockSource ( Emul8.Time.ClockEntry entry ) : void
entry Emul8.Time.ClockEntry
리턴 void

IClockSource() 공개 메소드

public IClockSource ( IEnumerable entries ) : void
entries IEnumerable
리턴 void

InitFromElf() 공개 메소드

public InitFromElf ( ELF elf ) : void
elf ELF
리턴 void

InitFromUImage() 공개 메소드

public InitFromUImage ( UImage uImage ) : void
uImage UImage
리턴 void

InitializeRegisters() 보호된 메소드

protected InitializeRegisters ( ) : void
리턴 void

IsSetEvent() 공개 메소드

public IsSetEvent ( int number ) : bool
number int
리턴 bool

LogFunctionNames() 공개 메소드

public LogFunctionNames ( bool value ) : void
value bool
리턴 void

MapMemory() 공개 메소드

public MapMemory ( IMappedSegment segment ) : void
segment IMappedSegment
리턴 void

MeasureExecutionRate() 공개 메소드

public MeasureExecutionRate ( ) : void
리턴 void

OnGPIO() 공개 메소드

public OnGPIO ( int number, bool value ) : void
number int
value bool
리턴 void

Pause() 공개 메소드

public Pause ( ) : void
리턴 void

RemoveAllHooks() 공개 메소드

public RemoveAllHooks ( ) : void
리턴 void

RemoveHook() 공개 메소드

public RemoveHook ( uint addr, Action hook ) : void
addr uint
hook Action
리턴 void

RemoveHooksAt() 공개 메소드

public RemoveHooksAt ( uint addr ) : void
addr uint
리턴 void

Reset() 공개 메소드

public Reset ( ) : void
리턴 void

ResetInterruptEvent() 보호된 메소드

protected ResetInterruptEvent ( int number ) : void
number int
리턴 void

Resume() 공개 메소드

public Resume ( ) : void
리턴 void

SetHookAtBlockBegin() 공개 메소드

public SetHookAtBlockBegin ( uint>.Action hook ) : void
hook uint>.Action
리턴 void

SetPageAccessViaIo() 공개 메소드

public SetPageAccessViaIo ( long address ) : void
address long
리턴 void

SetRegisterUnsafe() 공개 추상적인 메소드

public abstract SetRegisterUnsafe ( int register, uint value ) : void
register int
value uint
리턴 void

Start() 공개 메소드

public Start ( ) : void
리턴 void

StartGdbServer() 공개 메소드

public StartGdbServer ( int port ) : void
port int
리턴 void

Step() 공개 메소드

public Step ( int count = 1 ) : void
count int
리턴 void

StopGdbServer() 공개 메소드

public StopGdbServer ( ) : void
리턴 void

SymbolLookup() 공개 메소드

public SymbolLookup ( uint addr ) : Symbol
addr uint
리턴 Symbol

TranslateAddress() 공개 메소드

public TranslateAddress ( uint logicalAddress ) : uint
logicalAddress uint
리턴 uint

TranslationCPU() 보호된 메소드

protected TranslationCPU ( string cpuType, Emul8.Core.Machine machine, Endianess endianness ) : System
cpuType string
machine Emul8.Core.Machine
endianness Endianess
리턴 System

UnmapMemory() 공개 메소드

public UnmapMemory ( Range range ) : void
range Range
리턴 void

UpdateContext() 공개 메소드

public UpdateContext ( ) : void
리턴 void

프로퍼티 상세

ClockSource 보호되어 있는 프로퍼티

protected BaseClockSource,Emul8.Time ClockSource
리턴 Emul8.Time.BaseClockSource

InvalidInterruptNumberException 보호되어 있는 정적으로 프로퍼티

protected static Exception InvalidInterruptNumberException
리턴 Exception

machine 보호되어 있는 프로퍼티

protected Machine,Emul8.Core machine
리턴 Emul8.Core.Machine