|  | # | 
|  | # 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 |