Merge "Update kelvin renode script to properly support debugging"
diff --git a/platforms/nexus.repl b/platforms/nexus.repl
index 5a26874..bb1386a 100644
--- a/platforms/nexus.repl
+++ b/platforms/nexus.repl
@@ -1,6 +1,6 @@
-using "sim/config/platforms/smc.repl"
+using "sim/config/platforms/nexus_smc.repl"
 using "sim/config/platforms/secure.repl"
-using "sim/config/platforms/nexus_ml_core.repl"
+using "sim/config/platforms/kelvin.repl"
 
 // To model the TLUL mailbox spec, we need a Renode peripheral that listens
 // to address ranges for both endpoints of the mailbox. This is the current
@@ -27,15 +27,6 @@
     rtirq_B -> smc_plic@11 // kTopMatchaPlicIrqIdMailboxSmcRtirq
     eirq_B  -> smc_plic@12 // kTopMatchaPlicIrqIdMailboxSmcEirq
 
-vec_controlblock : CPU.KelvinRiscV32_ControlBlock @ sysbus 0x5C000000
-    core: cpu2
-    tcmSize:       0x00400000
-    tcmRangeStart: 0x5A000000
-    HostReqIRQ -> smc_plic@13           // kTopMatchaPlicIrqIdVcTopHostReq @ top_matcha.h
-    FinishIRQ -> smc_plic@14            // kTopMatchaPlicIrqIdVcTopFinish @ top_matcha.h
-    InstructionFaultIRQ -> smc_plic@15  // kTopMatchaPlicIrqIdVcTopInstructionFault @ top_matcha.h
-    DataFaultIRQ -> smc_plic@16         // kTopMatchaPlicIrqIdVcTopDataFault @ top_matcha.h
-
 // ISP               [‘h4200_0000 - ‘h4200_FFFF)  64KB ISP registers
 // DMA Ctrl          [‘h4201_0000 - ‘h4201_FFFF)  64KB DMA control interface
 // DSP Ctrl          [‘h4202_0000 - ‘h4202_FFFF)  64KB Audio DSP control interface
diff --git a/platforms/nexus_smc.repl b/platforms/nexus_smc.repl
new file mode 100644
index 0000000..23ba3c4
--- /dev/null
+++ b/platforms/nexus_smc.repl
@@ -0,0 +1,26 @@
+// ***************************************************
+// Nexus-specific SMC
+// ***************************************************
+
+using "sim/config/platforms/smc.repl"
+
+// Remember to update hart_is_mc in rom_crt.S if this changes.
+ram_smc: @ sysbus 0x50000000
+    size: 0x380000
+
+// SMC Specific Peripherals start at 0x54000000
+
+// Control block for the SMC, lets us pause/restart the core at an arbitrary PC.
+smc_control: @ sysbus 0x54020000
+    cpu: cpu1
+
+uart5: @ sysbus 0x54000000
+
+// RV_TIMER_SMC, timer for Cantrip kernel.
+timer_smc: @ sysbus 0x54010000
+    frequency: 2500000
+
+// Timer for Cantrip software timer service.
+timer_smc_sw: @ sysbus 0x54011000
+    frequency: 2500000
+