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