| # |
| # Copyright (c) 2017 Intel Corporation |
| # Copyright (c) 2016 Cadence Design Systems, Inc. |
| # SPDX-License-Identifier: Apache-2.0 |
| # |
| |
| # Abstraction of 'run' goal with xt-run |
| ifneq (${QEMU_PTY},) |
| # By default xt-sim uses pty, do nothing |
| endif |
| |
| run: zephyr |
| @echo "**** Running simulation for Xtensa core \"${CONFIG_SOC}\" ****" |
| $(if ${QEMU_PIPE},,@echo "To exit from XT-RUN enter: 'CTRL+c'") |
| @echo '[XT-RUN] CPU: ${CONFIG_SOC}' |
| # Run the emulator in the background and leave a PID file for |
| # sanitycheck |
| ifneq ($(QEMU_PIPE),) |
| # Use the existing interface that we set up for QEMU: |
| # 1) A pair of pipe for console input and output, named |
| # $(QEMU_PIPE).in and $(QEMU_PIPE).out. The extensions are implicit |
| # in QEMU's -seral pipe:.... argument. |
| # 2) A PID file so that sanitycheck can kill the emulator |
| ${Q} ${XTRUN} ${XTRUN_FLAGS} ${XTRUN_EXTRA_FLAGS} ${O}/${KERNEL_ELF_NAME} \ |
| < ${QEMU_PIPE}.in > ${QEMU_PIPE}.out & echo $$! > qemu.pid |
| # Wait until the emulator terminates (for any reason) |
| $(Q) cat qemu.pid | xargs $(srctree)/scripts/waitpid |
| else |
| ${Q} ${XTRUN} ${XTRUN_FLAGS} ${XTRUN_EXTRA_FLAGS} ${O}/${KERNEL_ELF_NAME} |
| endif |
| |
| .PHONY: run |