1using "./cortex-r52_smp.repl"
2
3cpu2: CPU.ARMv8R @ sysbus
4    cpuType: "cortex-r52"
5    genericInterruptController: gic
6    cpuId: 2
7
8cpu3: CPU.ARMv8R @ sysbus
9    cpuType: "cortex-r52"
10    genericInterruptController: gic
11    cpuId: 3
12
13gic: @ {
14        sysbus new Bus.BusMultiRegistration { address: 0xAF000000; size: 0x10000; region: "distributor" };
15        sysbus new IRQControllers.ArmGicRedistributorRegistration { attachedCPU: cpu;  address: 0xAF100000 };
16        sysbus new IRQControllers.ArmGicRedistributorRegistration { attachedCPU: cpu1; address: 0xAF120000 };
17        sysbus new IRQControllers.ArmGicRedistributorRegistration { attachedCPU: cpu2; address: 0xAF140000 };
18        sysbus new IRQControllers.ArmGicRedistributorRegistration { attachedCPU: cpu3; address: 0xAF160000 }
19    }
20    [8-11]  -> cpu2@[0-3]
21    [12-15] -> cpu3@[0-3]
22
23timer2: Timers.ARM_GenericTimer @ cpu2
24    frequency: 100000000
25    EL1PhysicalTimerIRQ -> gic#2@30
26    EL1VirtualTimerIRQ -> gic#2@27
27    NonSecureEL2PhysicalTimerIRQ -> gic#2@26
28
29timer3: Timers.ARM_GenericTimer @ cpu3
30    frequency: 100000000
31    EL1PhysicalTimerIRQ -> gic#3@30
32    EL1VirtualTimerIRQ -> gic#3@27
33    NonSecureEL2PhysicalTimerIRQ -> gic#3@26
34
35uart2: UART.PL011 @ sysbus 0x9c0b0000
36    -> gic@7
37
38uart3: UART.PL011 @ sysbus 0x9c0c0000
39    -> gic@8