From: "Alex Bennée" <alex.bennee@linaro.org>
To: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Cc: "Akihiko Odaki" <akihiko.odaki@daynix.com>,
"Huang Rui" <ray.huang@amd.com>,
"Marc-André Lureau" <marcandre.lureau@gmail.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Michael S . Tsirkin" <mst@redhat.com>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Antonio Caggiano" <quic_acaggian@quicinc.com>,
"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
"Robert Beckett" <bob.beckett@collabora.com>,
"Gert Wollny" <gert.wollny@collabora.com>,
qemu-devel@nongnu.org,
"Gurchetan Singh" <gurchetansingh@chromium.org>,
ernunes@redhat.com, "Alyssa Ross" <hi@alyssa.is>,
"Roger Pau Monné" <roger.pau@citrix.com>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Stefano Stabellini" <stefano.stabellini@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"Xenia Ragiadakou" <xenia.ragiadakou@amd.com>,
"Pierre-Eric Pelloux-Prayer" <pierre-eric.pelloux-prayer@amd.com>,
"Honglei Huang" <honglei1.huang@amd.com>,
"Julia Zhang" <julia.zhang@amd.com>,
"Chen Jiqian" <Jiqian.Chen@amd.com>,
"Yiwei Zhang" <zzyiwei@chromium.org>
Subject: Re: [PATCH v12 00/13] Support blob memory and venus on qemu
Date: Wed, 05 Jun 2024 15:47:22 +0100 [thread overview]
Message-ID: <874ja7fnut.fsf@draig.linaro.org> (raw)
In-Reply-To: <6bc5a3fc-8fbc-4449-a5e6-cd654655be35@collabora.com> (Dmitry Osipenko's message of "Mon, 27 May 2024 02:46:09 +0300")
Dmitry Osipenko <dmitry.osipenko@collabora.com> writes:
> On 5/22/24 12:00, Alex Bennée wrote:
>> Dmitry Osipenko <dmitry.osipenko@collabora.com> writes:
>>
>>> On 5/21/24 17:57, Alex Bennée wrote:
>>>> Alex Bennée <alex.bennee@linaro.org> writes:
>>>>
>>>>> Dmitry Osipenko <dmitry.osipenko@collabora.com> writes:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> This series enables Vulkan Venus context support on virtio-gpu.
>>>>>>
>>>>>> All virglrender and almost all Linux kernel prerequisite changes
>>>>>> needed by Venus are already in upstream. For kernel there is a pending
>>>>>> KVM patchset that fixes mapping of compound pages needed for DRM drivers
>>>>>> using TTM [1], othewrwise hostmem blob mapping will fail with a KVM error
>>>>>> from Qemu.
>>>>>>
>>>>>> [1] https://lore.kernel.org/kvm/20240229025759.1187910-1-stevensd@google.com/
>>>>>>
>>>>>> You'll need to use recent Mesa version containing patch that removes
>>>>>> dependency on cross-device feature from Venus that isn't supported by
>>>>>> Qemu [2].
>>>>>>
>>>>>> [2] https://gitlab.freedesktop.org/mesa/mesa/-/commit/087e9a96d13155e26987befae78b6ccbb7ae242b
>>>>>>
>>>>>> Example Qemu cmdline that enables Venus:
>>>>>>
>>>>>> qemu-system-x86_64 -device virtio-vga-gl,hostmem=4G,blob=true,venus=true \
>>>>>> -machine q35,accel=kvm,memory-backend=mem1 \
>>>>>> -object memory-backend-memfd,id=mem1,size=8G -m 8G
>>>>>
>>>>> What is the correct device for non-x86 guests? We have virtio-gpu-gl-pci
>>>>> but when doing that I get:
>>>>>
>>>>> -device virtio-gpu-gl-pci,hostmem=4G,blob=true,venus=true
>>>>> qemu-system-aarch64: -device virtio-gpu-gl-pci,hostmem=4G,blob=true,venus=true: opengl is not available
>>>>>
>>>>> According to 37f86af087 (virtio-gpu: move virgl realize + properties):
>>>>>
>>>>> Drop the virgl property, the virtio-gpu-gl-device has virgl enabled no
>>>>> matter what. Just use virtio-gpu-device instead if you don't want
>>>>> enable virgl and opengl. This simplifies the logic and reduces the test
>>>>> matrix.
>>>>>
>>>>> but that's not a good solution because that needs virtio-mmio and there
>>>>> are reasons to have a PCI device (for one thing no ambiguity about
>>>>> discovery).
>>>>
>>>> Oops my mistake forgetting:
>>>>
>>>> --display gtk,gl=on
>>>>
>>>> Although I do see a lot of eglMakeContext failures.
>>>
>>> Please post the full Qemu cmdline you're using
>>
>> With:
>>
>> ./qemu-system-aarch64 \
>> -machine type=virt,virtualization=on,pflash0=rom,pflash1=efivars \
>> -cpu neoverse-n1 \
>> -smp 4 \
>> -accel tcg \
>> -device virtio-net-pci,netdev=unet \
>> -device virtio-scsi-pci \
>> -device scsi-hd,drive=hd \
>> -netdev user,id=unet,hostfwd=tcp::2222-:22 \
>> -blockdev driver=raw,node-name=hd,file.driver=host_device,file.filename=/dev/zen-ssd2/trixie-arm64,discard=unmap \
>> -serial mon:stdio \
>> -blockdev node-name=rom,driver=file,filename=(pwd)/pc-bios/edk2-aarch64-code.fd,read-only=true \
>> -blockdev node-name=efivars,driver=file,filename=$HOME/images/qemu-arm64-efivars \
>> -m 8192 \
>> -object memory-backend-memfd,id=mem,size=8G,share=on \
>> -device virtio-gpu-gl-pci,hostmem=4G,blob=true,venus=true \
>> -display gtk,gl=on,show-cursor=on -vga none \
>> -device qemu-xhci -device usb-kbd -device usb-tablet
>>
>> I get a boot up with a lot of:
>>
>>
>> (qemu:1545322): Gdk-WARNING **: 09:26:09.470: eglMakeCurrent failed
>>
>> (qemu:1545322): Gdk-WARNING **: 09:26:09.470: eglMakeCurrent failed
>>
>> (qemu:1545322): Gdk-WARNING **: 09:26:09.470: eglMakeCurrent failed
>>
>> (qemu:1545322): Gdk-WARNING **: 09:26:09.470: eglMakeCurrent failed
>>
>> In the guest I run:
>>
>> meson devenv -C /root/lsrc/graphics/mesa.git/build fish
>>
>> to bring in the latest Mesa (with virtio enabled). Running vulkaninfo
>> reports two cards:
>>
>> ==========
>> VULKANINFO
>> ==========
>>
>> Vulkan Instance Version: 1.3.280
>>
>>
>> Instance Extensions: count = 14
>> -------------------------------
>> VK_EXT_debug_report : extension revision 10
>> VK_EXT_debug_utils : extension revision 2
>> VK_EXT_headless_surface : extension revision 1
>> VK_KHR_device_group_creation : extension revision 1
>> VK_KHR_external_fence_capabilities : extension revision 1
>> VK_KHR_external_memory_capabilities : extension revision 1
>> VK_KHR_external_semaphore_capabilities : extension revision 1
>> VK_KHR_get_physical_device_properties2 : extension revision 2
>> VK_KHR_get_surface_capabilities2 : extension revision 1
>> VK_KHR_portability_enumeration : extension revision 1
>> VK_KHR_surface : extension revision 25
>> VK_KHR_surface_protected_capabilities : extension revision 1
>> VK_KHR_wayland_surface : extension revision 6
>> VK_LUNARG_direct_driver_loading : extension revision 1
>>
>> Instance Layers: count = 2
>> --------------------------
>> VK_LAYER_MESA_device_select Linux device selection layer 1.3.211 version 1
>> VK_LAYER_MESA_overlay Mesa Overlay layer 1.3.211
>> version 1
>>
>> Devices:
>> ========
>> GPU0:
>> apiVersion = 1.3.230
>> driverVersion = 24.1.99
>> vendorID = 0x8086
>> deviceID = 0xa780
>> deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
>> deviceName = Virtio-GPU Venus (Intel(R) Graphics (RPL-S))
>> driverID = DRIVER_ID_MESA_VENUS
>> driverName = venus
>> driverInfo = Mesa 24.2.0-devel (git-0b582449f0)
>> conformanceVersion = 1.3.0.0
>> deviceUUID = 29d2e940-a1a0-3054-0f9a-9f7dec52a084
>> driverUUID = 3694c390-f245-612a-12ce-7d3a99127622
>> GPU1:
>> apiVersion = 1.2.0
>> driverVersion = 24.1.99
>> vendorID = 0x10005
>> deviceID = 0x0000
>> deviceType = PHYSICAL_DEVICE_TYPE_CPU
>> deviceName = Virtio-GPU Venus (llvmpipe (LLVM 15.0.6, 256 bits))
>> driverID = DRIVER_ID_MESA_VENUS
>> driverName = venus
>> driverInfo = Mesa 24.2.0-devel (git-0b582449f0)
>> conformanceVersion = 1.3.0.0
>> deviceUUID = 5fb5c03f-c537-f0fe-a7e6-9cd5866acb8d
>> driverUUID = 3694c390-f245-612a-12ce-7d3a99127622
>>
>> Running weston and then vkcube-wayland reports its selecting "GPU 0:
>> Virtio-GPU Venus (Intel(R) Graphics (RPL-S))" but otherwise produces no
>> output.
>>
>> If I run with "-display sdl,gl=on,show-cursor=on" and the same other
>> command line options the results for vulkaninfo are the same. However
>> vkcube-wayland gets a little further and draws the initial cube on the
>> screen before locking up with:
>>
>> MESA-VIRTIO: debug: stuck in fence wait with iter at xxxx
>>
>> where xxxx grows each time it prints. On shutting down I see some virgl
>> errors interspersed with the systemd logs:
>>
>> [drm:virtio_gpu_dequeue_ctrl_func [virtio_gpu]] *ERROR* response 0x1200 (command 0x209)
>> [ OK ] Stopped systemd-logind.service - User Login Management.
>> virtio_gpu_virgl_process_cmd: ctrl 0x209, error 0x1200
>> [ 475.257111] [drm:virtio_gpu_dequeue_ctrl_func [virtio_gpu]] *ERROR* response 0x1200 (command 0x209)
>> [drm:virtio_gpu_dequeue_ctrl_func [virtio_gpu]] *ERROR* response 0x1200 (command 0x209)
>> [ OK ] Stopped target network-online.target - Network is Online.
>> [ OK ] Stopped target remote-fs.target - Remote File Systems.
>> [ OK ] Stopped NetworkManager-wait-online…vice - Network Manager Wait Online.
>> Stopping avahi-daemon.service - Avahi mDNS/DNS-SD Stack...
>> Stopping cups.service - CUPS Scheduler...
>> Stopping user-runtime-dir@0.servic…er Runtime Directory /run/user/0...
>> [ OK ] Stopped avahi-daemon.service - Avahi mDNS/DNS-SD Stack.
>> [ OK ] Stopped cups.service - CUPS Scheduler.
>> virtio_gpu_virgl_process_cmd: ctrl 0x209, error 0x1200
>> [ 475.357543] [drm:virtio_gpu_dequeue_ctrl_func [virtio_gpu]] *ERROR* response 0x1200 (command 0x209)
>> [drm:virtio_gpu_dequeue_ctrl_func [virtio_gpu]] *ERROR* response 0x1200 (command 0x209)
>> [ OK ] Stopped target network.target - Network.
>> [ OK ] Stopped target nss-user-lookup.target - User and Group Name Lookups.
>> Stopping NetworkManager.service - Network Manager...
>> Stopping networking.service - Raise network interfaces...
>> Stopping wpa_supplicant.service - WPA supplicant...
>> [ OK ] Stopped wpa_supplicant.service - WPA supplicant.
>> virtio_gpu_virgl_process_cmd: ctrl 0x209, error 0x1200
>> [ 493.585261] [drm:virtio_gpu_dequeue_ctrl_func [virtio_gpu]] *ERROR* response 0x1200 (command 0x209)
>> [drm:virtio_gpu_dequeue_ctrl_func [virtio_gpu]] *ERROR* response 0x1200 (command 0x209)
>>
>
> I've reproduced this with qemu-system-aarch64. Vkcube works for a second
> and then stops, Qemu compeltely gets frozen after closing and re-running
> vkcube. Doesn't feel like this is a problem with venus, but with arm64.
> For now don't know where is the bug, will take a closer look.
I'm guessing some sort of resource leak, if I run vkcube-wayland in the
guest it complains about being stuck on a fence with the iterator going
up. However on the host I see:
virtio_gpu_fence_ctrl fence 0x13f1, type 0x207
virtio_gpu_fence_ctrl fence 0x13f2, type 0x207
virtio_gpu_fence_resp fence 0x13f1
virtio_gpu_fence_resp fence 0x13f2
virtio_gpu_fence_ctrl fence 0x13f3, type 0x207
virtio_gpu_fence_ctrl fence 0x13f4, type 0x207
virtio_gpu_fence_resp fence 0x13f3
virtio_gpu_fence_resp fence 0x13f4
virtio_gpu_fence_ctrl fence 0x13f5, type 0x207
virtio_gpu_fence_ctrl fence 0x13f6, type 0x207
virtio_gpu_fence_resp fence 0x13f5
virtio_gpu_fence_resp fence 0x13f6
virtio_gpu_fence_ctrl fence 0x13f7, type 0x207
virtio_gpu_fence_ctrl fence 0x13f8, type 0x207
virtio_gpu_fence_resp fence 0x13f7
virtio_gpu_fence_resp fence 0x13f8
virtio_gpu_fence_ctrl fence 0x13f9, type 0x204
virtio_gpu_fence_resp fence 0x13f9
which looks like its going ok. However when I git Ctrl-C in the guest it
kills QEMU:
virtio_gpu_fence_ctrl fence 0x13fc, type 0x207
virtio_gpu_fence_ctrl fence 0x13fd, type 0x207
virtio_gpu_fence_ctrl fence 0x13fe, type 0x204
virtio_gpu_fence_ctrl fence 0x13ff, type 0x207
virtio_gpu_fence_ctrl fence 0x1400, type 0x207
virtio_gpu_fence_resp fence 0x13fc
virtio_gpu_fence_resp fence 0x13fd
virtio_gpu_fence_resp fence 0x13fe
virtio_gpu_fence_resp fence 0x13ff
virtio_gpu_fence_resp fence 0x1400
qemu-system-aarch64: ../../subprojects/virglrenderer/src/virglrenderer.c:1282: virgl_renderer_resource_unmap: Assertion `!ret' failed.
fish: Job 1, './qemu-system-aarch64 \' terminated by signal -machine type=virt,virtuali… ( -cpu neoverse-n1 \)
fish: Job -smp 4 \, ' -accel tcg \' terminated by signal -device virtio-net-pci,netd… ( -device virtio-scsi-pci \)
fish: Job -device scsi-hd,drive=hd \, ' -netdev user,id=unet,hostfw…' terminated by signal -blockdev driver=raw,node-n… ( -serial mon:stdio \)
fish: Job -blockdev node-name=rom,dri…, ' -blockdev node-name=efivars…' terminated by signal -m 8192 \ ( -object memory-backend-memf…)
fish: Job -device virtio-gpu-gl-pci,h…, ' -display sdl,gl=on,show-cur…' terminated by signal -device qemu-xhci -device u… ( -kernel /home/alex/lsrc/lin…)
fish: Job -d guest_errors,unimp,trace…, 'SIGABRT' terminated by signal Abort ()
The backtrace (and the 18G size of the core file!) indicates a leak:
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1 0x00007f0fa68a9e8f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 0x00007f0fa685afb2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007f0fa6845472 in __GI_abort () at ./stdlib/abort.c:79
#4 0x00007f0fa6845395 in __assert_fail_base
(fmt=0x7f0fa69b9a90 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55c3e1b0762d "!ret", file=file@entry=0x55c3e1d306f0 "../../subprojects/virglrenderer/src/virglrenderer.c", line=line@entry=1282, function=function@entry=0x55c3e1d30910 <__PRETTY_FUNCTION__.2> "virgl_renderer_resource_unmap") at ./assert/assert.c:92
#5 0x00007f0fa6853eb2 in __GI___assert_fail
(assertion=assertion@entry=0x55c3e1b0762d "!ret", file=file@entry=0x55c3e1d306f0 "../../subprojects/virglrenderer/src/virglrenderer.c", line=line@entry=1282, function=function@entry=0x55c3e1d30910 <__PRETTY_FUNCTION__.2> "virgl_renderer_resource_unmap") at ./assert/assert.c:101
#6 0x000055c3e1958b50 in virgl_renderer_resource_unmap (res_handle=<optimized out>) at ../../subprojects/virglrenderer/src/virglrenderer.c:1282
#7 0x000055c3e13d8507 in virtio_gpu_virgl_unmap_resource_blob (g=g@entry=0x55c3e5fed600, res=0x55c3e6e67b60, cmd_suspended=cmd_suspended@entry=0x7ffd5d720aaf)
at ../../hw/display/virtio-gpu-virgl.c:188
#8 0x000055c3e13d9af4 in virgl_cmd_resource_unmap_blob (cmd_suspended=0x7ffd5d720aaf, cmd=0x55c3e5bd9710, g=0x55c3e5fed600) at ../../hw/display/virtio-gpu-virgl.c:797
#9 virtio_gpu_virgl_process_cmd (g=0x55c3e5fed600, cmd=0x55c3e5bd9710) at ../../hw/display/virtio-gpu-virgl.c:979
#10 0x000055c3e13d6019 in virtio_gpu_process_cmdq (g=0x55c3e5fed600) at ../../hw/display/virtio-gpu.c:1055
#11 0x000055c3e190c646 in aio_bh_poll (ctx=ctx@entry=0x55c3e4c03710) at ../../util/async.c:218
#12 0x000055c3e18f562e in aio_dispatch (ctx=0x55c3e4c03710) at ../../util/aio-posix.c:423
#13 0x000055c3e190c2ce in aio_ctx_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../../util/async.c:360
#14 0x00007f0fa8b047a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x000055c3e190db78 in glib_pollfds_poll () at ../../util/main-loop.c:287
#16 os_host_main_loop_wait (timeout=1882878) at ../../util/main-loop.c:310
#17 main_loop_wait (nonblocking=nonblocking@entry=0) at ../../util/main-loop.c:589
#18 0x000055c3e1348ac9 in qemu_main_loop () at ../../system/runstate.c:796
#19 0x000055c3e174f786 in qemu_default_main () at ../../system/main.c:37
#20 0x00007f0fa684624a in __libc_start_call_main (main=main@entry=0x55c3e10286e0 <main>, argc=argc@entry=47, argv=argv@entry=0x7ffd5d720f18)
at ../sysdeps/nptl/libc_start_call_main.h:58
#21 0x00007f0fa6846305 in __libc_start_main_impl
(main=0x55c3e10286e0 <main>, argc=47, argv=0x7ffd5d720f18, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd5d720f08)
at ../csu/libc-start.c:360
#22 0x000055c3e102a3f1 in _start ()
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
next prev parent reply other threads:[~2024-06-05 14:47 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-19 21:26 [PATCH v12 00/13] Support blob memory and venus on qemu Dmitry Osipenko
2024-05-19 21:27 ` [PATCH v12 01/13] virtio-gpu: Unrealize GL device Dmitry Osipenko
2024-05-22 10:32 ` Alex Bennée
2024-05-19 21:27 ` [PATCH v12 02/13] virtio-gpu: Handle virtio_gpu_virgl_init() failure Dmitry Osipenko
2024-05-22 12:37 ` Alex Bennée
2024-05-19 21:27 ` [PATCH v12 03/13] virtio-gpu: Use pkgconfig version to decide which virgl features are available Dmitry Osipenko
2024-05-22 12:48 ` Alex Bennée
2024-05-26 23:57 ` Dmitry Osipenko
2024-05-19 21:27 ` [PATCH v12 04/13] virtio-gpu: Support context-init feature with virglrenderer Dmitry Osipenko
2024-05-19 21:27 ` [PATCH v12 05/13] virtio-gpu: Don't require udmabuf when blobs and virgl are enabled Dmitry Osipenko
2024-05-19 21:27 ` [PATCH v12 06/13] virtio-gpu: Add virgl resource management Dmitry Osipenko
2024-05-19 21:27 ` [PATCH v12 07/13] virtio-gpu: Support blob scanout using dmabuf fd Dmitry Osipenko
2024-05-19 21:27 ` [PATCH v12 08/13] virtio-gpu: Support suspension of commands processing Dmitry Osipenko
2024-05-19 21:27 ` [PATCH v12 09/13] virtio-gpu: Handle resource blob commands Dmitry Osipenko
2024-05-20 3:50 ` Akihiko Odaki
2024-05-19 21:27 ` [PATCH v12 10/13] virtio-gpu: Move fence_poll timer to VirtIOGPUGL Dmitry Osipenko
2024-05-20 3:51 ` Akihiko Odaki
2024-05-22 0:03 ` Dmitry Osipenko
2024-05-19 21:27 ` [PATCH v12 11/13] virtio-gpu: Move print_stats " Dmitry Osipenko
2024-05-19 21:27 ` [PATCH v12 12/13] virtio-gpu: Register capsets dynamically Dmitry Osipenko
2024-05-23 7:12 ` Manos Pitsidianakis
2024-05-19 21:27 ` [PATCH v12 13/13] virtio-gpu: Support Venus context Dmitry Osipenko
2024-05-23 7:18 ` Manos Pitsidianakis
2024-05-23 23:33 ` Dmitry Osipenko
2024-05-21 13:15 ` [PATCH v12 00/13] Support blob memory and venus on qemu Alex Bennée
2024-05-21 14:57 ` Alex Bennée
2024-05-22 0:02 ` Dmitry Osipenko
2024-05-22 9:00 ` Alex Bennée
2024-05-26 23:46 ` Dmitry Osipenko
2024-05-27 0:52 ` Dmitry Osipenko
2024-06-05 14:47 ` Alex Bennée [this message]
2024-06-05 16:29 ` Dmitry Osipenko
2024-06-05 17:37 ` Alex Bennée
2024-05-27 0:07 ` Dmitry Osipenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874ja7fnut.fsf@draig.linaro.org \
--to=alex.bennee@linaro.org \
--cc=Jiqian.Chen@amd.com \
--cc=akihiko.odaki@daynix.com \
--cc=alexander.deucher@amd.com \
--cc=bob.beckett@collabora.com \
--cc=christian.koenig@amd.com \
--cc=dgilbert@redhat.com \
--cc=dmitry.osipenko@collabora.com \
--cc=ernunes@redhat.com \
--cc=gert.wollny@collabora.com \
--cc=gurchetansingh@chromium.org \
--cc=hi@alyssa.is \
--cc=honglei1.huang@amd.com \
--cc=julia.zhang@amd.com \
--cc=kraxel@redhat.com \
--cc=marcandre.lureau@gmail.com \
--cc=mst@redhat.com \
--cc=philmd@linaro.org \
--cc=pierre-eric.pelloux-prayer@amd.com \
--cc=qemu-devel@nongnu.org \
--cc=quic_acaggian@quicinc.com \
--cc=ray.huang@amd.com \
--cc=roger.pau@citrix.com \
--cc=sstabellini@kernel.org \
--cc=stefano.stabellini@amd.com \
--cc=xenia.ragiadakou@amd.com \
--cc=zzyiwei@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).