mirror of
git://code.qt.io/qt/qt5.git
synced 2026-01-04 05:57:42 +08:00
This makes the qemu virtualize the target rather than emulating it. Virtualization allows few times better performance in tests. Change-Id: I7a5f7e3e2b04c52034325459ef05bfc0dce5d0b7 Reviewed-by: Simo Fält <simo.falt@qt.io> (cherry picked from commitecff7e6ddc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit8fb747f92e)
59 lines
2.1 KiB
Bash
Executable File
59 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (C) 2023 The Qt Company Ltd.
|
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
|
|
# Setup bridge if not exist for VxWorks QEMU
|
|
if ! ip link show br0 >/dev/null 2>&1; then
|
|
sudo brctl addbr br0
|
|
sudo brctl stp br0 off
|
|
sudo ifconfig br0 172.31.1.1 netmask 255.255.255.0 promisc up
|
|
sudo tunctl -u qt -t tap0
|
|
sudo ifconfig tap0 promisc up
|
|
sudo brctl addif br0 tap0
|
|
fi
|
|
|
|
[ $# -eq 1 ] || echo "Supply parameter which emulator to start <arm|intel>"
|
|
TYPE=$1
|
|
|
|
QEMU_LOG_PATH="/home/qt/work/vxworks_qemu_log.txt"
|
|
if [ "$TYPE" = "arm" ] || [ "$TYPE" = "" ]; then
|
|
$VXWORKS_QEMU/bin/qemu-system-arm \
|
|
-machine sabrelite \
|
|
-smp 4 \
|
|
-m 1G \
|
|
-nographic \
|
|
-monitor none \
|
|
-serial null \
|
|
-serial pipe:/tmp/guest \
|
|
-kernel /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/uVxWorks \
|
|
-dtb /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/imx6q-sabrelite.dtb \
|
|
-append "enet(0,0)host:vxWorks h=172.31.1.1 g=172.31.1.1 e=172.31.1.10 u=target pw=vxTarget s=/romfs/startup_script.txt" \
|
|
-nic "tap,ifname=tap0,script=no" >"${QEMU_LOG_PATH}" 2>&1 &
|
|
elif [ "$TYPE" = "intel" ]; then
|
|
$VXWORKS_QEMU/bin/qemu-system-x86_64 \
|
|
-M q35 \
|
|
-smp 8 \
|
|
-m 8G \
|
|
-cpu "Skylake-Client" \
|
|
-enable-kvm \
|
|
-monitor none \
|
|
-nographic \
|
|
-serial null \
|
|
-serial pipe:/tmp/guest \
|
|
-kernel "/opt/itl_generic_skylake_VIP_QEMU/default/vxWorks" \
|
|
-append "sysbootline:gei(0,0)host:vxWorks h=172.31.1.1 g=172.31.1.1 e=172.31.1.10 u=target pw=vxTarget s=/romfs/startup_script.txt" \
|
|
-nic tap,ifname=tap0,script=no,downscript=no >"${QEMU_LOG_PATH}" 2>&1 &
|
|
fi
|
|
|
|
for _ in $(seq 30)
|
|
do
|
|
status=$(ssh -o BatchMode=yes -o HostKeyAlgorithms=+ssh-rsa -o ConnectTimeout=1 "${VXWORKS_SSH}" echo emulator up) || true
|
|
if [[ $status == *"emulator up"* ]] ; then
|
|
echo "VXWORKS QEMU SSH server up"
|
|
break
|
|
else
|
|
echo "Waiting VXWORKS QEMU SSH server"
|
|
sleep 1
|
|
fi
|
|
done
|