Merge "Add renode_kelvin library into kelvin_sim target"
diff --git a/platforms/nexus/kelvin.mk b/platforms/nexus/kelvin.mk
index e27e504..94ac8f8 100644
--- a/platforms/nexus/kelvin.mk
+++ b/platforms/nexus/kelvin.mk
@@ -100,9 +100,11 @@
# Use /tmp as the bazel tmpfs to unblock CI
kelvin_sim: | $(KELVIN_SIM_OUT_DIR)
cd "$(KELVIN_SIM_SRC_DIR)" && \
- bazel build --sandbox_tmpfs_path=/tmp //sim:kelvin_sim
+ bazel build --sandbox_tmpfs_path=/tmp //sim:kelvin_sim \
+ //sim/renode:renode_kelvin
cd "$(KELVIN_SIM_SRC_DIR)/bazel-bin" && \
- cp -f sim/kelvin_sim "$(KELVIN_SIM_OUT_DIR)"
+ cp -f sim/kelvin_sim "$(KELVIN_SIM_OUT_DIR)" && \
+ cp -f sim/renode/librenode_kelvin.so "$(KELVIN_SIM_OUT_DIR)"
## Clean Kelvin ISS
#
diff --git a/platforms/nexus/setup.sh b/platforms/nexus/setup.sh
index 3d03417..0cf98a4 100644
--- a/platforms/nexus/setup.sh
+++ b/platforms/nexus/setup.sh
@@ -91,11 +91,9 @@
# Run the Bin program with renode
local bin_file=$(realpath $1)
local command="start;"
- if [[ "$2" == "debug" ]]; then
- command="machine StartGdbServer 3333;"
- fi
- (cd "${ROOTDIR}" && renode -e "\$bin=@${bin_file}; i @sim/config/kelvin.resc; \
- ${command} sysbus.vec_controlblock WriteDoubleWord 0xc 0" \
+ # TODO(hcindyl): Use vec_controlblock
+ (cd "${ROOTDIR}" && renode -e "\$bin=@${bin_file}; i @sim/config/kelvin_external_cpu.resc; \
+ ${command} sysbus.cpu2 PC 0; sysbus.cpu2 IsHalted false" \
--disable-xwt --console)
}
diff --git a/platforms/shodan/kelvin.mk b/platforms/shodan/kelvin.mk
index bbfe9ff..80cca4a 100644
--- a/platforms/shodan/kelvin.mk
+++ b/platforms/shodan/kelvin.mk
@@ -88,9 +88,11 @@
# Use /tmp as the bazel tmpfs to unblock CI
kelvin_sim: | $(KELVIN_SIM_OUT_DIR)
cd "$(KELVIN_SIM_SRC_DIR)" && \
- bazel build --sandbox_tmpfs_path=/tmp //sim:kelvin_sim
+ bazel build --sandbox_tmpfs_path=/tmp //sim:kelvin_sim \
+ //sim/renode:renode_kelvin
cd "$(KELVIN_SIM_SRC_DIR)/bazel-bin" && \
- cp -f sim/kelvin_sim "$(KELVIN_SIM_OUT_DIR)"
+ cp -f sim/kelvin_sim "$(KELVIN_SIM_OUT_DIR)" && \
+ cp -f sim/renode/librenode_kelvin.so "$(KELVIN_SIM_OUT_DIR)"
## Clean Kelvin ISS
#
diff --git a/platforms/shodan/setup.sh b/platforms/shodan/setup.sh
index 02cb66b..1e81060 100644
--- a/platforms/shodan/setup.sh
+++ b/platforms/shodan/setup.sh
@@ -110,11 +110,9 @@
# Run the Bin program with renode
local bin_file=$(realpath $1)
local command="start;"
- if [[ "$2" == "debug" ]]; then
- command="machine StartGdbServer 3333;"
- fi
- (cd "${ROOTDIR}" && renode -e "\$bin=@${bin_file}; i @sim/config/kelvin.resc; \
- ${command} sysbus.vec_controlblock WriteDoubleWord 0xc 0" \
+ # TODO(hcindyl): Use vec_controlblock
+ (cd "${ROOTDIR}" && renode -e "\$bin=@${bin_file}; i @sim/config/kelvin_external_cpu.resc; \
+ ${command} sysbus.cpu2 PC 0; sysbus.cpu2 IsHalted false" \
--disable-xwt --console)
}