protected TranslationCPU(string cpuType, Machine machine, EndiannessEnum endianness) { if(cpuType == null) { throw new RecoverableException(new ArgumentNullException("cpuType")); } Endianness = endianness; PerformanceInMips = 100; currentCountThreshold = 5000; this.cpuType = cpuType; ClockSource = new BaseClockSource(); ClockSource.NumberOfEntriesChanged += (oldValue, newValue) => { if(oldValue > newValue) { Misc.Swap(ref oldValue, ref newValue); } if(oldValue == 0 && newValue != 0) { ClearTranslationCache(); } }; this.translationCacheSize = DefaultTranslationCacheSize; this.machine = machine; started = false; isHalted = false; translationCacheSync = new object(); pumpingModeSync = new object(); InitializeRegisters(); InitInterruptEvents(); Init(); InitDisas(); }
public CortexM(string cpuType, Machine machine, NVIC nvic, EndiannessEnum endianness = EndiannessEnum.LittleEndian) : base(cpuType, machine, endianness) { if (nvic == null) { throw new RecoverableException(new ArgumentNullException("nvic")); } this.nvic = nvic; nvic.AttachCPU(this); Init(); }
public void SetEndianness(EndiannessEnum enum33_0) { switch (enum33_0) { case EndiannessEnum.const_1: this._reverseEndianness = false; return; case EndiannessEnum.const_2: this._reverseEndianness = true; return; default: this._reverseEndianness = false; this.bool_1 = true; return; } }
public Stream26(byte[] byte_0, EndiannessEnum enum33_0) { this._stream = new Stream27(byte_0); this.SetEndianness(enum33_0); }
public Stream26(Stream stream_1, EndiannessEnum enum33_0) { this._stream = stream_1; this.SetEndianness(enum33_0); }
public Arm(string cpuType, Machine machine, EndiannessEnum endianness = EndiannessEnum.LittleEndian) : base(cpuType, machine, endianness) { }
public Sparc(string cpuType, Machine machine, EndiannessEnum endianness = EndiannessEnum.BigEndian): base(cpuType, machine, endianness) { Init(); }
public CortexA7(Machine machine, GIC gic, long genericTimerCompareValue, EndiannessEnum endianness = EndiannessEnum.LittleEndian) : base("cortex-a15", machine, endianness) { genericTimer = new CortexAGenericTimer(machine, gic, genericTimerCompareValue); }
public PowerPc(string cpuType, Machine machine, EndiannessEnum endianness = EndiannessEnum.BigEndian): base(cpuType, machine, endianness) { irqSync = new object(); machine.ObtainClockSource().AddClockEntry( new ClockEntry(long.MaxValue/2, ClockEntry.FrequencyToRatio(this, 128000000), DecrementerHandler, false, Direction.Descending)); }
public PowerPc(string cpuType, Machine machine, EndiannessEnum endianness = EndiannessEnum.BigEndian) : base(cpuType, machine, endianness) { irqSync = new object(); machine.ObtainClockSource().AddClockEntry( new ClockEntry(long.MaxValue / 2, ClockEntry.FrequencyToRatio(this, 128000000), DecrementerHandler, false, Direction.Descending)); }
public Sparc(string cpuType, Machine machine, EndiannessEnum endianness = EndiannessEnum.BigEndian) : base(cpuType, machine, endianness) { Init(); }
public Stream26(EndiannessEnum enum33_0) { this._stream = new Stream27(); this.bool_1 = false; this.SetEndianness(enum33_0); }