Lines Matching +full:channel +full:- +full:mux +full:- +full:b
1 # SPDX-License-Identifier: Apache-2.0
23 NAMES qemu-system-${QEMU_binary_suffix}
28 qemu-system-${QEMU_binary_suffix}
32 # We need to set up uefi-run and OVMF environment
35 find_program(UEFI NAMES uefi-run REQUIRED)
41 list(APPEND UEFI -b ${OVMF_FD_PATH} -q ${QEMU})
50 set(QEMU_FLAGS -pidfile)
61 # Redirect console to a pseudo-tty, used for running automated tests.
62 list(APPEND QEMU_FLAGS -chardev pty,id=con,mux=on)
65 list(APPEND QEMU_FLAGS -chardev pipe,id=con,mux=on,path=${QEMU_PIPE})
68 list(APPEND PRE_QEMU_COMMANDS_FOR_${target} COMMAND ${CMAKE_COMMAND} -E touch ${QEMU_PIPE})
72 list(APPEND QEMU_FLAGS -chardev stdio,id=con,mux=on)
76 list(APPEND QEMU_FLAGS -serial chardev:con)
81 -semihosting-config enable=on,target=auto,chardev=con
86 list(APPEND QEMU_FLAGS -mon chardev=con,mode=readline)
91 -icount shift=${CONFIG_QEMU_ICOUNT_SHIFT},align=off,sleep=on
92 -rtc clock=vm)
95 -icount shift=${CONFIG_QEMU_ICOUNT_SHIFT},align=off,sleep=off
96 -rtc clock=vm)
107 list(APPEND QEMU_FLAGS -serial unix:/tmp/bt-server-bredr)
137 -serial none
141 -serial pipe:/tmp/hub/ip-stack-node${QEMU_PIPE_ID}
142 -pidfile qemu-node${QEMU_PIPE_ID}.pid
145 set(PIPE_NODE_IN /tmp/hub/ip-stack-node${QEMU_PIPE_ID}.in)
146 set(PIPE_NODE_OUT /tmp/hub/ip-stack-node${QEMU_PIPE_ID}.out)
154 COMMAND ${CMAKE_COMMAND} -E remove -f ${pipes}
158 COMMAND ${CMAKE_COMMAND} -E make_directory /tmp/hub
177 -serial pipe:/tmp/ip-stack-${target}
178 -pidfile qemu-${target}.pid
193 -serial ${ppp_path}
203 -serial ${tmp_file}
211 set(PIPE_SERVER_IN /tmp/ip-stack-server.in)
212 set(PIPE_SERVER_OUT /tmp/ip-stack-server.out)
213 set(PIPE_CLIENT_IN /tmp/ip-stack-client.in)
214 set(PIPE_CLIENT_OUT /tmp/ip-stack-client.out)
224 COMMAND ${CMAKE_COMMAND} -E remove -f ${pipes}
240 COMMAND ${CMAKE_COMMAND} -E create_symlink ${PIPE_SERVER_IN} ${PIPE_CLIENT_OUT}
241 COMMAND ${CMAKE_COMMAND} -E create_symlink ${PIPE_SERVER_OUT} ${PIPE_CLIENT_IN}
254 # NET_TOOLS has been set to the net-tools repo path
255 # net-tools/monitor_15_4 has been built beforehand
257 set_ifndef(NET_TOOLS ${ZEPHYR_BASE}/../tools/net-tools) # Default if not set
260 #Disable Ctrl-C to ensure that users won't accidentally exit
270 /tmp/ip-stack-server
271 /tmp/ip-stack-client
276 # Re-enable Ctrl-C.
279 # Kill the monitor_15_4 sub-process
280 COMMAND pkill -P $$$$
287 list(APPEND QEMU_FLAGS -object can-bus,id=canbus0)
292 -object can-host-socketcan,id=canhost0,if=${CONFIG_CAN_QEMU_IFACE_NAME},canbus=canbus0)
296 # Emulate a single-channel Kvaser PCIcan card connected to CAN bus 0
297 list(APPEND QEMU_FLAGS -device kvaser_pci,canbus=canbus0)
302 # QEMU doesn't like 64-bit ELF files. Since we don't use any >4GB
303 # addresses, converting it to 32-bit is safe enough for emulation.
307 -O elf32-i386
309 ${ZEPHYR_BINARY_DIR}/zephyr-qemu.elf
317 # (for more details, refer to the issue zephyrproject-rtos/sdk-ng#168)
321 -j .locore
322 ${ZEPHYR_BINARY_DIR}/zephyr-qemu.elf
323 ${ZEPHYR_BINARY_DIR}/zephyr-qemu-locore.elf
324 2>&1 | grep -iv \"empty loadable segment detected\" || true
331 -R .locore
332 ${ZEPHYR_BINARY_DIR}/zephyr-qemu.elf
333 ${ZEPHYR_BINARY_DIR}/zephyr-qemu-main.elf
334 2>&1 | grep -iv \"empty loadable segment detected\" || true
343 set(QEMU_KERNEL_FILE "${ZEPHYR_BINARY_DIR}/zephyr-qemu-locore.elf")
346 "-device;loader,file=${ZEPHYR_BINARY_DIR}/zephyr-qemu-main.elf"
353 -device ivshmem-doorbell,vectors=${CONFIG_IVSHMEM_MSI_X_VECTORS},chardev=ivshmem
354 -chardev socket,path=/tmp/ivshmem_socket,id=ivshmem
358 -device ivshmem-plain,memdev=hostmem
359 …-object memory-backend-file,size=${CONFIG_QEMU_IVSHMEM_PLAIN_MEM_SIZE}M,share,mem-path=/dev/shm/iv…
370 NAMES qemu-img
375 qemu-img
380 -drive file=${ZEPHYR_BINARY_DIR}/nvme_disk.img,if=none,id=nvm1
381 -device nvme,serial=deadbeef,drive=nvm1
403 list(APPEND QEMU_SMP_FLAGS -smp cpus=${CONFIG_MP_MAX_NUM_CPUS})
418 list(APPEND MORE_FLAGS_FOR_debugserver_qemu -S)
421 list(APPEND MORE_FLAGS_FOR_debugserver_qemu -gdb "${CONFIG_QEMU_GDBSERVER_LISTEN_DEV}")
426 # it), or set QEMU_KERNEL_OPTION if they want to replace the "-kernel
430 list(APPEND QEMU_UEFI_OPTION --)
432 set(QEMU_KERNEL_OPTION "-kernel;${QEMU_KERNEL_FILE}")
434 set(QEMU_KERNEL_OPTION "-kernel;$<TARGET_FILE:${logical_target_for_zephyr_elf}>")