Added buffer_overflow target for cheriot only (not sencha)
- Contains both CLI version and stand-alone
Bypass-Presubmit-Reason: Quick submit for CES
Change-Id: I2b10b75e1e3f5bc3e68cdc90b8b12d141cc19390
diff --git a/platforms/sencha/cheriot-buffer_overflow.mk b/platforms/sencha/cheriot-buffer_overflow.mk
new file mode 100644
index 0000000..8fd9594
--- /dev/null
+++ b/platforms/sencha/cheriot-buffer_overflow.mk
@@ -0,0 +1,35 @@
+BUFFER_OVERFLOW_DIR := $(CHERIOT_OUT_DIR)
+BUFFER_OVERFLOW := $(BUFFER_OVERFLOW_DIR)/buffer_overflow-firmware
+BUFFER_OVERFLOW_SRC_DIR := ${ROOTDIR}/hw/matcha/sw/device/cheriot/buffer_overflow
+
+cheriot-buffer_overflow: renode cheriot_sim
+ ${MAKE} \
+ CHERIOT_BOARD=sail \
+ CHERIOT_OUT_DIR="${BUFFER_OVERFLOW_DIR}" \
+ CHERIOT_FIRMWARE_SRC_DIR=$(BUFFER_OVERFLOW_SRC_DIR) \
+ CHERIOT_FIRMWARE_RELEASE=$(BUFFER_OVERFLOW) \
+ $(BUFFER_OVERFLOW)
+ $(RENODE_CMD) -e "\
+ \$$cheriot_elf =@${BUFFER_OVERFLOW_DIR}/release/cheriot/cheriot/release/buffer_overflow-firmware; \
+ i @${CHERIOT_RESC_RELEASE}; \
+ pause; sysbus.cpu1 IsHalted false; start"
+
+cheriot-buffer_overflow+cli: renode cheriot_sim
+ ${MAKE} \
+ CHERIOT_BOARD=sail \
+ CHERIOT_OUT_DIR="${BUFFER_OVERFLOW_DIR}" \
+ CHERIOT_FIRMWARE_SRC_DIR=$(BUFFER_OVERFLOW_SRC_DIR) \
+ CHERIOT_FIRMWARE_RELEASE=$(BUFFER_OVERFLOW) \
+ $(BUFFER_OVERFLOW)
+ $(RENODE_CMD) -e "\
+ \$$cheriot_elf =@${BUFFER_OVERFLOW_DIR}/release/cheriot/cheriot/release/buffer_overflow-firmware; \
+ \$$cli_port = 4567; \
+ \$$wait_for_cli = true; \
+ i @${CHERIOT_RESC_RELEASE}; \
+ pause; sysbus.cpu1 IsHalted false; start"
+
+## Cleans all build artifacts for cheriot-rtos examples
+cheriot-buffer_overflow-clean:
+ rm -rf ${BUFFER_OVERFLOW_DIR}
+
+.PHONY:: cheriot-buffer_overflow cheriot-buffer_overflow+cli
diff --git a/platforms/sencha/cheriot.mk b/platforms/sencha/cheriot.mk
index 369473a..87595e0 100644
--- a/platforms/sencha/cheriot.mk
+++ b/platforms/sencha/cheriot.mk
@@ -142,6 +142,7 @@
cheriot: cheriot-bundle-debug cheriot-bundle-release
include $(ROOTDIR)/build/platforms/sencha/cheriot-examples.mk
+include $(ROOTDIR)/build/platforms/sencha/cheriot-buffer_overflow.mk
include $(ROOTDIR)/build/platforms/sencha/cheriot-tests.mk
.PHONY:: cheriot cheriot_check cheriot-clean