| # |
| # Copyright (c) 2017 Intel Corporation |
| # Copyright (c) 2016 Cadence Design Systems, Inc. |
| # SPDX-License-Identifier: Apache-2.0 |
| # |
| |
| |
| # Abstraction of 'run' goal with xtsc-run |
| |
| ifneq (${QEMU_PTY},) |
| # By default xt-sim uses pty, do nothing |
| else |
| # We use QEMU_PIPE in order to avoid unnecessary changes in other scripts |
| # We are anyway emulating a QEMU behavior |
| ifneq (${QEMU_PIPE},) |
| # Send console output to a pipe, used for running automated sanity tests |
| XTRUN_FLAGS += > ${QEMU_PIPE} |
| endif |
| endif |
| |
| xtsc-run:run |
| run:zephyr |
| ${Q}echo "***** Running simulation for Xtensa core \"${CONFIG_SOC}\" *****" |
| $(if ${QEMU_PIPE},,@echo "To exit from XTSC-RUN enter: 'CTRL+c'") |
| @echo '[XTSC-RUN] CPU: ${CONFIG_SOC}' |
| ${Q}test -f ${XTSC_INC} || ( \ |
| echo '*** Error: $@ requires valid XTSC include file in \ |
| "$${CONFIG_XTENSA_XTSC_INC}"' && \ |
| exit 1 \ |
| ) |
| ${Q}sed -e 's@\(-core_program=\).*@\1${CURDIR}/zephyr.elf@' \ |
| < ${XTSC_INC} > ${XTSC_INC_FILE} |
| ifneq (${QEMU_PIPE},) |
| # Create a named pipe |
| mkfifo ${QEMU_PIPE} |
| endif |
| # Run cycle accurate simulation with SystemC extension |
| # Ignore errors in order to be able to remove the named pipe at simulation end |
| -${Q}cd ${XTSC_WORK_DIR} && \ |
| $(dir ${CROSS_COMPILE})xtsc-run \ |
| $(if ${XTSC_TRACE},-set_core_parm=SimClients="trace \ |
| ${CURDIR}/${XTSC_TRACE}") \ |
| -include=${CURDIR}/${XTSC_INC_FILE} \ |
| $(if ${XTSC_DEBUG},-xxdebug) \ |
| ${XTRUN_FLAGS} ${XTRUN_EXTRA_FLAGS} |
| ifneq (${QEMU_PIPE},) |
| # Remove the named pipe |
| ${RM} ${QEMU_PIPE} |
| endif |
| |
| .PHONY: run xtsc-run |