From 471871f5cd47b9e2368d9f9a6007281d1cf62aec Mon Sep 17 00:00:00 2001 From: Mateusz Holenko Date: Wed, 5 Feb 2020 10:32:34 +0100 Subject: [PATCH] build-renode: Allow to boot Linux from flash --- scripts/build-renode.sh | 31 +++++++++++++++++++++++++------ third_party/litex-renode | 2 +- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/scripts/build-renode.sh b/scripts/build-renode.sh index 322767ba4..843651468 100755 --- a/scripts/build-renode.sh +++ b/scripts/build-renode.sh @@ -39,6 +39,7 @@ case $CPU in ;; esac +LITEX_RENODE="$TOP_DIR/third_party/litex-renode" LITEX_CONFIG_FILE="$TARGET_BUILD_DIR/test/csr.csv" if [ ! -f "$LITEX_CONFIG_FILE" ]; then make firmware @@ -75,12 +76,30 @@ RENODE_RESC="$RENODE_SCRIPTS_DIR/litex_buildenv.resc" RENODE_REPL="$RENODE_SCRIPTS_DIR/litex_buildenv.repl" mkdir -p $RENODE_SCRIPTS_DIR -python $TOP_DIR/third_party/litex-renode/generate-renode-scripts.py $LITEX_CONFIG_FILE \ - --repl "$RENODE_REPL" \ - --resc "$RENODE_RESC" \ - --bios-binary "$TARGET_BUILD_DIR/software/bios/bios.bin" \ - --firmware-binary "$TARGET_BUILD_DIR/software/$FIRMWARE/firmware.bin" \ - --configure-network ${TAP_INTERFACE:-""} + +KERNEL_FLASH_OFFSET=`python $LITEX_RENODE/litex-config-parser.py $LITEX_CONFIG_FILE --constant kernel_image_flash_offset` +ROOTFS_FLASH_OFFSET=`python $LITEX_RENODE/litex-config-parser.py $LITEX_CONFIG_FILE --constant rootfs_image_flash_offset` +DTB_FLASH_OFFSET=`python $LITEX_RENODE/litex-config-parser.py $LITEX_CONFIG_FILE --constant device_tree_image_flash_offset` +EMULATOR_FLASH_OFFSET=`python $LITEX_RENODE/litex-config-parser.py $LITEX_CONFIG_FILE --constant emulator_image_flash_offset` + +if [ "$FIRMWARE" == "linux" ]; then + python $LITEX_RENODE/generate-renode-scripts.py $LITEX_CONFIG_FILE \ + --repl "$RENODE_REPL" \ + --resc "$RENODE_RESC" \ + --bios-binary "$TARGET_BUILD_DIR/software/bios/bios.bin" \ + --flash-binary "$TARGET_BUILD_DIR/software/linux/firmware.bin:$KERNEL_FLASH_OFFSET" \ + --flash-binary "$TARGET_BUILD_DIR/software/linux/riscv32-rootfs.cpio:$ROOTFS_FLASH_OFFSET"\ + --flash-binary "$TARGET_BUILD_DIR/software/linux/rv32.dtb:$DTB_FLASH_OFFSET" \ + --flash-binary "$TARGET_BUILD_DIR/emulator/emulator.bin:$EMULATOR_FLASH_OFFSET" \ + --configure-network ${TAP_INTERFACE:-""} +else + python $LITEX_RENODE/generate-renode-scripts.py $LITEX_CONFIG_FILE \ + --repl "$RENODE_REPL" \ + --resc "$RENODE_RESC" \ + --bios-binary "$TARGET_BUILD_DIR/software/bios/bios.bin" \ + --firmware-binary "$TARGET_BUILD_DIR/software/$FIRMWARE/firmware.bin" \ + --configure-network ${TAP_INTERFACE:-""} +fi # 1. include the generated script # 2. set additional parameters diff --git a/third_party/litex-renode b/third_party/litex-renode index 70e884e88..69e142d66 160000 --- a/third_party/litex-renode +++ b/third_party/litex-renode @@ -1 +1 @@ -Subproject commit 70e884e88c25d997ea5e3dd1e2a8bb08f0d02f90 +Subproject commit 69e142d6647efbf491ad9caa129dde55b07cdde6