#!/bin/bash set -u TESTBENCH="../verilator/obj_dir/VCore" OPENSBI_BIN="${OPENSBI_BIN:-../../opensbi/build/platform/generic/firmware/fw_payload.elf}" TIMEOUT_SECONDS="${TIMEOUT_SECONDS:-10}" if [ ! -x "$TESTBENCH" ]; then echo "Error: Testbench not found. Run 'make -C sim/verilator compile' first." exit 1 fi if [ ! -f "$OPENSBI_BIN" ]; then echo "Error: OpenSBI payload not found: $OPENSBI_BIN" echo "Set OPENSBI_BIN to a firmware ELF path." exit 2 fi echo "Running OpenSBI payload: $OPENSBI_BIN" timeout "${TIMEOUT_SECONDS}s" "$TESTBENCH" "$OPENSBI_BIN" exitcode=$? if [ "$exitcode" -eq 124 ]; then echo "OpenSBI run timed out" exit 124 fi exit "$exitcode"