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.Core.Structure.Registers; 9 10 namespace Antmicro.Renode.Peripherals.IRQControllers 11 { 12 public class MiV_CoreLevelInterruptor : CoreLevelInterruptor, IKnownSize 13 { MiV_CoreLevelInterruptor(IMachine machine, long frequency, uint prescaler = 1, int numberOfTargets = 1)14 public MiV_CoreLevelInterruptor(IMachine machine, long frequency, uint prescaler = 1, int numberOfTargets = 1) 15 : base(machine, frequency, numberOfTargets, prescaler) 16 { 17 // we are extending the existing register map defined by the base class 18 AddRegister((long)Registers.Prescaler, 19 new DoubleWordRegister(this).WithValueField(0, 32, FieldMode.Read, valueProviderCallback: _ => prescaler)); 20 } 21 22 private enum Registers : long 23 { 24 Prescaler = 0x5000 25 } 26 } 27 } 28