public ArmRegister this[TArmRegisterBank aBank, TArmRegisterType aType] { get { ArmRegisterCollection bank = this[aBank]; return(bank[aType]); } }
public ArmRegister this[TArmRegisterBank aBank, string aName] { get { ArmRegisterCollection bank = this[aBank]; return(bank[aName]); } }
public ArmRegisterCollection this[TArmRegisterBank aBank] { get { ArmRegisterCollection ret = iBanks[aBank]; return(ret); } }
/// <summary> /// Internal constructor called by CIRegisterListForThread which sets a thread up as a parent /// of the register list. /// </summary> internal CIRegisterList(CIContainer aContainer, CIElement aParent, TArmRegisterBank aBank) : base(aContainer, aParent) { iCollection = new ArmRegisterCollection(aBank); iCollection.Tag = this; iCollection.BackingStore = this; // Restrict children base.AddSupportedChildType(typeof(CIRegister)); base.AddSupportedChildType(typeof(CrashItemLib.Crash.Messages.CIMessage)); }
public static string BankAsString(TArmRegisterBank aBank) { string ret = string.Empty; // switch (aBank) { default: case TArmRegisterBank.ETypeUnknown: case TArmRegisterBank.ETypeCommon: ret = string.Empty; break; case TArmRegisterBank.ETypeException: ret = "EXC"; break; case TArmRegisterBank.ETypeCoProcessor: ret = "COP"; break; case TArmRegisterBank.ETypeAbort: ret = "ABT"; break; case TArmRegisterBank.ETypeFastInterrupt: ret = "FIQ"; break; case TArmRegisterBank.ETypeInterrupt: ret = "IRQ"; break; case TArmRegisterBank.ETypeSupervisor: ret = "SVC"; break; case TArmRegisterBank.ETypeSystem: ret = "SYS"; break; case TArmRegisterBank.ETypeUndefined: ret = "UND"; break; case TArmRegisterBank.ETypeUser: ret = "USR"; break; } // return(ret); }
public static string BankAsStringLong(TArmRegisterBank aBank) { string ret = string.Empty; // switch (aBank) { default: case TArmRegisterBank.ETypeUnknown: case TArmRegisterBank.ETypeCommon: ret = string.Empty; break; case TArmRegisterBank.ETypeException: ret = "Exception"; break; case TArmRegisterBank.ETypeCoProcessor: ret = "Co-processor"; break; case TArmRegisterBank.ETypeAbort: ret = "Abort"; break; case TArmRegisterBank.ETypeFastInterrupt: ret = "Fast Interrupt"; break; case TArmRegisterBank.ETypeInterrupt: ret = "Interrupt"; break; case TArmRegisterBank.ETypeSupervisor: ret = "Supervisor"; break; case TArmRegisterBank.ETypeSystem: ret = "System"; break; case TArmRegisterBank.ETypeUndefined: ret = "Undefined"; break; case TArmRegisterBank.ETypeUser: ret = "User"; break; } // return(ret); }
public CIRegisterList this[TArmRegisterBank aType] { get { return(iRegisters[aType]); } set { if (iRegisters.ContainsKey(aType)) { iRegisters[aType] = value; } else { Add(value); } } }
private ArmRegisterCollection CreateCollection(TArmRegisterBank aBank, ArmRegisterCollection aLinkedWith) { ArmRegisterCollection ret = null; // if (iBackingStore != null) { ret = iBackingStore.ARMBSCreate(aBank, aLinkedWith); } else { ret = new ArmRegisterCollection(aBank, aLinkedWith); } // return(ret); }
private ArmRegisterCollection AddBank(TArmRegisterBank aBank, ArmRegisterCollection aLinkedWith, params TArmRegisterType[] aExtraRegs) { ArmRegisterCollection regSet = CreateCollection(aBank, aLinkedWith); iBanks.Add(aBank, regSet); // Create bank specific registers string bankName = ArmRegisterBankUtils.BankAsString(aBank); regSet.Add("R13_" + bankName, 0); regSet.Add("R14_" + bankName, 0); regSet.Add("SPSR_" + bankName, 0); // Create custom registers foreach (TArmRegisterType custom in aExtraRegs) { string name = ArmRegister.GetTypeName(custom) + "_" + bankName; regSet.Add(name, 0); } return(regSet); }
public static uint MakeStatusRegisterValue(TArmRegisterBank aBank) { uint val = 0; // switch (aBank) { case TArmRegisterBank.ETypeUser: case TArmRegisterBank.ETypeFastInterrupt: case TArmRegisterBank.ETypeInterrupt: case TArmRegisterBank.ETypeSupervisor: case TArmRegisterBank.ETypeAbort: case TArmRegisterBank.ETypeUndefined: case TArmRegisterBank.ETypeSystem: val = (uint)aBank; break; default: break; } // return(val); }
public static TArmRegisterBank ExtractBank(uint aValue) { uint val = aValue & KBankMask; TArmRegisterBank bank = (TArmRegisterBank)val; // switch (bank) { case TArmRegisterBank.ETypeUser: case TArmRegisterBank.ETypeFastInterrupt: case TArmRegisterBank.ETypeInterrupt: case TArmRegisterBank.ETypeSupervisor: case TArmRegisterBank.ETypeAbort: case TArmRegisterBank.ETypeUndefined: case TArmRegisterBank.ETypeSystem: break; default: bank = TArmRegisterBank.ETypeUndefined; break; } // return(bank); }
private ArmRegisterCollection AddBank(TArmRegisterBank aBank) { return(AddBank(aBank, null)); }
public ArmRegisterCollection(TArmRegisterBank aBank) : this(aBank, null) { }
public bool Contains(TArmRegisterBank aType) { return(iRegisters.ContainsKey(aType)); }
public void Add(TArmRegisterBank aType) { this[aType] = new CIRegisterList(Container, aType); }
private ArmRegisterCollection AddBank(TArmRegisterBank aBank, ArmRegisterCollection aLinkedWith) { TArmRegisterType[] empty = new TArmRegisterType[] { }; return(AddBank(aBank, aLinkedWith, empty)); }
protected ArmETRegisterCollection(TArmRegisterBank aBank) : base(aBank) { AddDefaults(); }
private ArmRegisterCollection CreateCollection(TArmRegisterBank aBank) { return(CreateCollection(aBank, null)); }
public ArmRegisterCollection(TArmRegisterBank aBank, ArmRegisterCollection aLinkedWith) { iBank = aBank; iLinkedWith = aLinkedWith; }
public bool Available(TArmRegisterBank aType) { bool ret = iBanks.ContainsKey(aType); return(ret); }