From ab0668e3a0762397f9b98a9d3eb81ba688670aad Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Wed, 18 Jan 2023 20:08:56 -0500 Subject: [PATCH] Update guest input and CAN configuration for QEMU+KVM demo Changes: - Tweak agl-qemu-runner to make CAN options configurable. - Update the IVI guest image agl-qemu-runner configurations to enable an emulated PCI CAN device mapped to the host can0. - Update the IVI guest image agl-qemu-runner configurations to change the input device to a USB passthrough corresponding to the bottom USB 2.0 connector of the 2x stack on the reference hardware, so that a USB touchscreen can be used for demos. Bug-AGL: SPEC-4618 Change-Id: I6b690377f5fe0a481e283d7370cbb165478ee8eb Signed-off-by: Scott Murray (cherry picked from commit 0eb0e7ad872bc03cbc8af5c95bfe0219ebf06bfd) --- recipes-config/qemu-config/files/agl-demo-platform.conf | 7 ++++++- .../qemu-config/files/agl-ivi-demo-platform-flutter.conf | 7 ++++++- recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/recipes-config/qemu-config/files/agl-demo-platform.conf b/recipes-config/qemu-config/files/agl-demo-platform.conf index 70c716f3d..7ff32bc18 100644 --- a/recipes-config/qemu-config/files/agl-demo-platform.conf +++ b/recipes-config/qemu-config/files/agl-demo-platform.conf @@ -1,7 +1,12 @@ QEMU_TASKSET_CPUS="0-3" QEMU_SMP_OPT="-smp 4" QEMU_MEM_OPT="-m 4G" -QEMU_INPUT_OPT="-device virtio-tablet-device" +# With touchscreen plugged into the bottom connector of the 2x USB 2.0 +# on the reference hardware +QEMU_INPUT_OPT="-device qemu-xhci -usb -device usb-host,hostbus=5,hostport=1" +# Fallback for touchscreen or other pointing device plugged in elsewhere +#QEMU_INPUT_OPT="-device virtio-tablet-device" QEMU_AUDIO_OPT="-audiodev alsa,id=agl -device intel-hda -device hda-duplex,audiodev=agl" QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:02,netdev=net0" +QEMU_CAN_OPT="-object can-bus,id=canbus0 -object can-host-socketcan,id=canhost0,if=can0,canbus=canbus0 -device kvaser_pci,canbus=canbus0" QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080" diff --git a/recipes-config/qemu-config/files/agl-ivi-demo-platform-flutter.conf b/recipes-config/qemu-config/files/agl-ivi-demo-platform-flutter.conf index 70c716f3d..7ff32bc18 100644 --- a/recipes-config/qemu-config/files/agl-ivi-demo-platform-flutter.conf +++ b/recipes-config/qemu-config/files/agl-ivi-demo-platform-flutter.conf @@ -1,7 +1,12 @@ QEMU_TASKSET_CPUS="0-3" QEMU_SMP_OPT="-smp 4" QEMU_MEM_OPT="-m 4G" -QEMU_INPUT_OPT="-device virtio-tablet-device" +# With touchscreen plugged into the bottom connector of the 2x USB 2.0 +# on the reference hardware +QEMU_INPUT_OPT="-device qemu-xhci -usb -device usb-host,hostbus=5,hostport=1" +# Fallback for touchscreen or other pointing device plugged in elsewhere +#QEMU_INPUT_OPT="-device virtio-tablet-device" QEMU_AUDIO_OPT="-audiodev alsa,id=agl -device intel-hda -device hda-duplex,audiodev=agl" QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:02,netdev=net0" +QEMU_CAN_OPT="-object can-bus,id=canbus0 -object can-host-socketcan,id=canhost0,if=can0,canbus=canbus0 -device kvaser_pci,canbus=canbus0" QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080" diff --git a/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh b/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh index 6bf2cc4f9..ab3a02c91 100755 --- a/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh +++ b/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh @@ -66,5 +66,6 @@ qemu-system-${arch} \ -device virtio-gpu-gl-device \ -display sdl,gl=on -vga std \ ${QEMU_AUDIO_OPT} \ + ${QEMU_CAN_OPT} \ ${QEMU_EXTRA_OPT} \ -full-screen -- 2.16.6