tbot
tbot copied to clipboard
OpenSBI
For the RISC-V Maixduino board I will need to first build U-Boot and then OpenSBI passing U-Boot as payload:
prepare:
test -d opensbi || git clone -v \
https://github.com/riscv/opensbi.git
sbi:
cd opensbi && make \
PLATFORM=kendryte/k210 \
FW_PAYLOAD=y \
FW_PAYLOAD_OFFSET=0x20000 \
FW_PAYLOAD_PATH=../u-boot/u-boot-dtb.bin
kflash/kflash.py -p $(TTY) -b 1500000 -B maixduino \
opensbi/build/platform/kendryte/k210/firmware/fw_payload.bin
picocom -b 115200 --send-cmd "sz -vv" $(TTY)
Other RISC-V boards will require to first build OpenSBI and then pass its location to the U-Boot build process (cf. doc/board/emulation/qemu-riscv.rst).
Similar requirements exist for Trusted Firmware on boards like Pine64 A64 LTS where you have to provide TF-A as environment variable BL31.
Should an OpenSBI build testcase be added to tbot or do you consider such work out of scope for your project?
Should an OpenSBI build testcase be added to tbot or do you consider such work out of scope for your project?
My stance on any kind of testcase addition is this: If it looks even remotely useful for others, please do consider adding it to upstream! I've created the tbot_contrib
module for exactly this purpose. For me, one of the primary goals of this project is to provide a large set of reusable "testcases"/utilities which others can use to quickly build automation for their workflow/test-setup.
So just feel free to send a PR with whatever testcases you have :)
Other RISC-V boards will require to first build OpenSBI and then pass its location to the U-Boot build process (cf. doc/board/emulation/qemu-riscv.rst).
Similar requirements exist for Trusted Firmware on boards like Pine64 A64 LTS where you have to provide TF-A as environment variable BL31.
Right, this will need some changes to the uboot build testcases. As their design did not really prove itself I am planning a rework here anyway. Adding this feature to my list of requirements ...
If you need this working now, let me know, I can prepare some kind of workaround/hack.