sim:config: Refactor cpu2 --> ML Core Split the single test core (springbok) vs. shodan integrated ML core with separated vec_controlblock setting (wMMUs and IRQs) Change-Id: I68d8d2bd0aa97230612cab3d8a398317b9806f7d
diff --git a/platforms/ml_core.repl b/platforms/ml_core.repl new file mode 100644 index 0000000..7a0ad98 --- /dev/null +++ b/platforms/ml_core.repl
@@ -0,0 +1,29 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// *************************************************** +// ML Core +// *************************************************** + +cpu2: CPU.SpringbokRiscV32 @ sysbus + hartId: 2 + +// TODO(b/196910893): Revert the temporary change on DMEM memory later +//RAM_VEC_DMEM [‘h3400_0000 - ‘h34FF_FFFF) 16MB RAM for Vector core Data +ram_vec_dmem: Memory.MappedMemory @ sysbus 0x34000000 + size: 0x01000000 + +//RAM_VEC_CSR [‘h3800_0000 - ‘h3800_0FFF) 4KB RAM for SMC core data storage +ram_vec_csr: Memory.MappedMemory @ sysbus 0x38000000 + size: 0x00001000
diff --git a/platforms/shodan.repl b/platforms/shodan.repl index e6fcc2e..6431e45 100644 --- a/platforms/shodan.repl +++ b/platforms/shodan.repl
@@ -1,6 +1,6 @@ using "sim/config/platforms/smc.repl" using "sim/config/platforms/secure.repl" -using "sim/config/platforms/springbok.repl" +using "sim/config/platforms/ml_core.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,7 +27,12 @@ rtirq_B -> smc_plic@11 // kTopMatchaPlicIrqIdMailboxSmcRtirq eirq_B -> smc_plic@12 // kTopMatchaPlicIrqIdMailboxSmcEirq -vec_controlblock : +vec_controlblock : CPU.SpringbokRiscV32_ControlBlock @ sysbus 0x47000000 + core: cpu2 + mmuNumWindows: 6 // See: go/shodan-vc-memory + mmuVirtualWindowSize: 0x1000000 + mmuMemorySize: 0x1000000 + mmuRangeStart: 0x34000000 HostReqIRQ -> smc_plic@13 // kTopMatchaPlicIrqIdVcTopHostReq @ top_matcha.h FinishIRQ -> smc_plic@14 // kTopMatchaPlicIrqIdVcTopFinish @ top_matcha.h InstructionFaultIRQ -> smc_plic@15 // kTopMatchaPlicIrqIdVcTopInstructionFault @ top_matcha.h
diff --git a/platforms/springbok.repl b/platforms/springbok.repl index 348b678..37fc388 100644 --- a/platforms/springbok.repl +++ b/platforms/springbok.repl
@@ -13,24 +13,14 @@ // limitations under the License. // *************************************************** -// Springbok +// Springbok single test core (no mmu enabled) // *************************************************** -cpu2: CPU.SpringbokRiscV32 @ sysbus - hartId: 2 - -// TODO(b/196910893): Revert the temporary change on DMEM memory later -//RAM_VEC_DMEM [‘h3400_0000 - ‘h34FF_FFFF) 16MB RAM for Vector core Data -ram_vec_dmem: Memory.MappedMemory @ sysbus 0x34000000 - size: 0x01000000 - -//RAM_VEC_CSR [‘h3800_0000 - ‘h3800_0FFF) 4KB RAM for SMC core data storage -ram_vec_csr: Memory.MappedMemory @ sysbus 0x38000000 - size: 0x00001000 +using "sim/config/platforms/ml_core.repl" vec_controlblock : CPU.SpringbokRiscV32_ControlBlock @ sysbus 0x47000000 core: cpu2 - mmuNumWindows: 6 // See: go/shodan-vc-memory + mmuNumWindows: 1 mmuVirtualWindowSize: 0x1000000 mmuMemorySize: 0x1000000 mmuRangeStart: 0x34000000