1 // 2 // Copyright (c) 2010-2025 Antmicro 3 // 4 // This file is licensed under the MIT License. 5 // Full license text is available in 'licenses/MIT.txt'. 6 // 7 using Antmicro.Renode.Core; 8 using Antmicro.Renode.Peripherals.CPU; 9 using ELFSharp.ELF; 10 11 namespace Antmicro.Renode.Peripherals.SystemC 12 { 13 public partial class SystemCCortexMCPU : SystemCCPU 14 { SystemCCortexMCPU(IMachine machine, string address, int port, string cpuType, Endianess endianess = Endianess.LittleEndian, CpuBitness bitness = CpuBitness.Bits32, int timeSyncPeriodUS = 1000, bool disableTimeoutCheck = false)15 public SystemCCortexMCPU(IMachine machine, string address, int port, string cpuType, Endianess endianess = Endianess.LittleEndian, CpuBitness bitness = CpuBitness.Bits32, int timeSyncPeriodUS = 1000, bool disableTimeoutCheck = false) 16 : base(machine, address, port, cpuType, endianess, bitness, timeSyncPeriodUS, disableTimeoutCheck) 17 { 18 // Intentionally left blank 19 } 20 21 [Register] 22 public override RegisterValue PC 23 { 24 get => GetRegisterValue32((int)SystemCCortexMRegisters.PC); 25 set => SetRegisterValue32((int)SystemCCortexMRegisters.PC, value); 26 } 27 28 [Register] 29 public RegisterValue SP 30 { 31 get => GetRegisterValue32((int)SystemCCortexMRegisters.SP); 32 set => SetRegisterValue32((int)SystemCCortexMRegisters.SP, value); 33 } 34 35 public override string Architecture { get { return "arm-m"; } } 36 } 37 } 38