* SVSM: Updated Linux and QEMU branches available for testing
@ 2026-08-27 16:17 Jörg Rödel
2026-08-31 8:41 ` Liam Merwick
0 siblings, 1 reply; 9+ messages in thread
From: Jörg Rödel @ 2026-08-27 16:17 UTC (permalink / raw)
To: coconut-svsm, linux-coco
Hi,
I just pushed out new branches for COCONUT-SVSMs downstream Linux and QEMU
changes. The new branches need to be used together, as there have been rebases
which changed parts of the user-space interface. For Linux the branch is:
https://github.com/coconut-svsm/linux/tree/svsm-v7.2
For QEMU:
https://github.com/coconut-svsm/qemu/tree/svsm-v7.2
These new branches bring a set of changes and new features:
- KVM planes patches rebased to v7.2
- QEMU patches rewritten on v11.1.0
- Support for KVM planes with in-kernel IOAPIC/PIC/PIT/RTC
- Support for PCI device assignment with KVM planes
- Use of version 2 of the direct-VMSA patch-set
The last point deserves closer attention, as it will lead to a breaking change
going forward. The new version of the direct-VMSA patch-set requires a valid
VMSA GPA to be passed to KVM. The currently used GPA (0xFFFF_FFFF_F000) is NOT
a valid GPA.
For now QEMU will fall back to legacy behavior when it finds an invalid GPA in
the IGVM file, so everything keeps booting as ususal, except that the launch
measurement will not match anymore.
This can be easily fixed in the SVSM and I have a draft-PR open for that:
https://github.com/coconut-svsm/svsm/pull/1209
This PR moves the VMSA page into guest memory for QEMU, just like it is on
Hyper-V. The problem with that PR is that is breaks all existing Linux/QEMU
combinations, as they all have strict checks for the VMSA GPA to be a
0xFFFF_FFFF_F000.
My plan forward here is to switch to the new 7.2-based branches after everyone
had enough time to test them. After switching there will be even more time for
everyone else to switch over to the new downstream code. And only after that we
will merge PR #1209.
This is not an ideal situation and I'd like to have avoided more breaking
changes. But in this case I believe it is justified as avoiding this needs ugly
changes in the KVM direct-vmsa patch-set.
With that in mind I wish everyone happy testing. Please report any issues you
might find so that they can be fixed.
Regards,
Joerg
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: SVSM: Updated Linux and QEMU branches available for testing
2026-08-27 16:17 SVSM: Updated Linux and QEMU branches available for testing Jörg Rödel
@ 2026-08-31 8:41 ` Liam Merwick
2026-08-31 15:24 ` Jörg Rödel
0 siblings, 1 reply; 9+ messages in thread
From: Liam Merwick @ 2026-08-31 8:41 UTC (permalink / raw)
To: Jörg Rödel, coconut-svsm, linux-coco; +Cc: liam.merwick
On 27/08/2026 17:17, Jörg Rödel wrote:
> Hi, I just pushed out new branches for COCONUT-SVSMs downstream Linux
> and QEMU changes. The new branches need to be used together, as there
> have been rebases which changed parts of the user-space interface. For
> Linux the branch is: https: //github. com/coconut-svsm/linux/tree/svsm-v7. 2
>
On a system that was running the 7.1 branches, I've upgraded the host
kernel and qemu to the 7.2 branches and am now getting CPU stalls in
the guest (and eventual boot hang).
I'm using ./scripts/launch_guest.sh (and 2026.08-devel)
One thing I've noticed with kvm_stat is that the top host functions are
Event Total %Total CurAvg/s
kvm_set_irq 2304824 22.2 2095
kvm_ioapic_set_irq 2304824 22.2 2095
kvm_pic_set_irq 2304768 22.2 2095
kvm_exit 626814 6.0 159
kvm_entry 626814 6.0 159
kvm_vmgexit_exit 299778 2.9 105
kvm_vmgexit_enter 299777 2.9 105
(...)
Are there any new kernel boot args needed for host or guest kernels?
I've confirmed that regular SEV-SNP guest (VMPL0) still launches OK
with the same components. I've also tried dropping the last
Regards,
Liam
FWIW, sample guest stall stack.
[ 1230.794758] INFO: task kworker/u16:0:12 blocked for more than 122
seconds.
[ 1230.796595] Not tainted 7.2.0-0.svsm.6.el9uek.rc.x86_64 #1
[ 1230.798135] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[ 1230.800083] task:kworker/u16:0 state:D stack:0 pid:12
tgid:12 ppid:2 task_flags:0x4208060 flags:0x00080000
[ 1230.802818] Workqueue: async async_run_entry_fn
[ 1230.803993] Call Trace:
[ 1230.804646] <TASK>
[ 1230.805250] __schedule+0x2b1/0x6d0
[ 1230.806178] schedule+0x27/0xa0
[ 1230.807014] async_synchronize_cookie_domain+0x125/0x16c
[ 1230.808354] ? __pfx_autoremove_wake_function+0x10/0x10
[ 1230.809708] async_port_probe+0x3d/0x60 [libata]
[ 1230.810923] async_run_entry_fn+0x34/0x140
[ 1230.812009] process_one_work+0x196/0x35e
[ 1230.813054] worker_thread+0x1af/0x330
[ 1230.814039] ? __pfx_worker_thread+0x10/0x10
[ 1230.815144] kthread+0xe3/0x120
[ 1230.815982] ? __pfx_kthread+0x10/0x10
[ 1230.816956] ret_from_fork+0x1ab/0x270
[ 1230.817961] ? __pfx_kthread+0x10/0x10
[ 1230.818949] ret_from_fork_asm+0x1a/0x30
[ 1230.819973] </TASK>
> Hi,
>
> I just pushed out new branches for COCONUT-SVSMs downstream Linux and QEMU
> changes. The new branches need to be used together, as there have been rebases
> which changed parts of the user-space interface. For Linux the branch is:
>
> https://github.com/coconut-svsm/linux/tree/svsm-v7.2
>
> For QEMU:
>
> https://github.com/coconut-svsm/qemu/tree/svsm-v7.2
>
> These new branches bring a set of changes and new features:
>
> - KVM planes patches rebased to v7.2
>
> - QEMU patches rewritten on v11.1.0
>
> - Support for KVM planes with in-kernel IOAPIC/PIC/PIT/RTC
>
> - Support for PCI device assignment with KVM planes
>
> - Use of version 2 of the direct-VMSA patch-set
>
> The last point deserves closer attention, as it will lead to a breaking change
> going forward. The new version of the direct-VMSA patch-set requires a valid
> VMSA GPA to be passed to KVM. The currently used GPA (0xFFFF_FFFF_F000) is NOT
> a valid GPA.
>
> For now QEMU will fall back to legacy behavior when it finds an invalid GPA in
> the IGVM file, so everything keeps booting as ususal, except that the launch
> measurement will not match anymore.
>
> This can be easily fixed in the SVSM and I have a draft-PR open for that:
>
> https://github.com/coconut-svsm/svsm/pull/1209
>
> This PR moves the VMSA page into guest memory for QEMU, just like it is on
> Hyper-V. The problem with that PR is that is breaks all existing Linux/QEMU
> combinations, as they all have strict checks for the VMSA GPA to be a
> 0xFFFF_FFFF_F000.
>
> My plan forward here is to switch to the new 7.2-based branches after everyone
> had enough time to test them. After switching there will be even more time for
> everyone else to switch over to the new downstream code. And only after that we
> will merge PR #1209.
>
> This is not an ideal situation and I'd like to have avoided more breaking
> changes. But in this case I believe it is justified as avoiding this needs ugly
> changes in the KVM direct-vmsa patch-set.
>
> With that in mind I wish everyone happy testing. Please report any issues you
> might find so that they can be fixed.
>
> Regards,
>
> Joerg
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: SVSM: Updated Linux and QEMU branches available for testing
2026-08-31 8:41 ` Liam Merwick
@ 2026-08-31 15:24 ` Jörg Rödel
2026-09-01 0:58 ` Liam Merwick
0 siblings, 1 reply; 9+ messages in thread
From: Jörg Rödel @ 2026-08-31 15:24 UTC (permalink / raw)
To: Liam Merwick; +Cc: coconut-svsm, linux-coco
Hi Liam,
On Mon, Aug 31, 2026 at 09:41:13AM +0100, Liam Merwick wrote:
>
> On 27/08/2026 17:17, Jörg Rödel wrote:
> > Hi, I just pushed out new branches for COCONUT-SVSMs downstream Linux
> > and QEMU changes. The new branches need to be used together, as there
> > have been rebases which changed parts of the user-space interface. For
> > Linux the branch is:
> > https: //github. com/coconut-svsm/linux/tree/svsm-v7. 2
> >
>
>
> On a system that was running the 7.1 branches, I've upgraded the host
> kernel and qemu to the 7.2 branches and am now getting CPU stalls in
> the guest (and eventual boot hang).
>
> I'm using ./scripts/launch_guest.sh (and 2026.08-devel)
>
> One thing I've noticed with kvm_stat is that the top host functions are
>
> Event Total %Total CurAvg/s
> kvm_set_irq 2304824 22.2 2095
> kvm_ioapic_set_irq 2304824 22.2 2095
> kvm_pic_set_irq 2304768 22.2 2095
> kvm_exit 626814 6.0 159
> kvm_entry 626814 6.0 159
> kvm_vmgexit_exit 299778 2.9 105
> kvm_vmgexit_enter 299777 2.9 105
> (...)
Thanks for testing the new branches. Can you please share your exact
launch_guest.sh command line? Also, what type of guest image are you running,
something I can download as well?
-Joerg
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: SVSM: Updated Linux and QEMU branches available for testing
2026-08-31 15:24 ` Jörg Rödel
@ 2026-09-01 0:58 ` Liam Merwick
2026-09-01 6:48 ` Jörg Rödel
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Liam Merwick @ 2026-09-01 0:58 UTC (permalink / raw)
To: Jörg Rödel; +Cc: coconut-svsm, linux-coco
Hi Jörg,
On 31/08/2026 16:24, Jörg Rödel wrote:
> Hi Liam, On Mon, Aug 31, 2026 at 09: 41: 13AM +0100, Liam Merwick wrote:
> > > On 27/08/2026 17: 17, Jörg Rödel wrote: > > Hi, I just pushed out
> new branches for COCONUT-SVSMs downstream Linux > > and QEMU changes.
> The new branches
>
> Hi Liam,
>
> On Mon, Aug 31, 2026 at 09:41:13AM +0100, Liam Merwick wrote:
>>
>> On 27/08/2026 17:17, Jörg Rödel wrote:
>> > Hi, I just pushed out new branches for COCONUT-SVSMs downstream Linux
>> > and QEMU changes. The new branches need to be used together, as there
>> > have been rebases which changed parts of the user-space interface. For
>> > Linux the branch is:
>> > https: //github. com/coconut-svsm/linux/tree/svsm-v7. 2
>> >
>>
>>
>> On a system that was running the 7.1 branches, I've upgraded the host
>> kernel and qemu to the 7.2 branches and am now getting CPU stalls in
>> the guest (and eventual boot hang).
>>
>> I'm using ./scripts/launch_guest.sh (and 2026.08-devel)
>>
>> One thing I've noticed with kvm_stat is that the top host functions are
>>
>> Event Total %Total CurAvg/s
>> kvm_set_irq 2304824 22.2 2095
>> kvm_ioapic_set_irq 2304824 22.2 2095
>> kvm_pic_set_irq 2304768 22.2 2095
>> kvm_exit 626814 6.0 159
>> kvm_entry 626814 6.0 159
>> kvm_vmgexit_exit 299778 2.9 105
>> kvm_vmgexit_enter 299777 2.9 105
>> (...)
>
> Thanks for testing the new branches. Can you please share your exact
> launch_guest.sh command line? Also, what type of guest image are you running,
> something I can download as well?
>
In a svsm repo, at tag v2026.08-devel where I've built svsm with
FW_FILE pointing to the svsm edk2 repo at tag
db97fa0a4b29 ("OvmfPkg/PlatformPei: Initialize
PcdConfidentialComputingGuestAttr early")
[ I tried both DEBUG and RELEASE builds ] and qemu is built from
the svsm-v7.2 branch.
./scripts/launch_guest.sh --qemu
/root/src/coconut/qemu/build/qemu-system-x86_64 -i bin/coconut-qemu.igvm
--image ./resolute-server-cloudimg-amd64.img
Initially I was using OL9 in the guest but I reproduced it with an
unmodified Ubuntu 26.04 [1]
Regards,
Liam
[1]
https://cloud-images.ubuntu.com/resolute/current/resolute-server-cloudimg-amd64.img
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: SVSM: Updated Linux and QEMU branches available for testing
2026-09-01 0:58 ` Liam Merwick
@ 2026-09-01 6:48 ` Jörg Rödel
2026-09-01 7:07 ` Jörg Rödel
2026-09-01 23:00 ` Liam Merwick
2 siblings, 0 replies; 9+ messages in thread
From: Jörg Rödel @ 2026-09-01 6:48 UTC (permalink / raw)
To: Liam Merwick; +Cc: coconut-svsm, linux-coco
Hi Liam,
On Tue, Sep 01, 2026 at 01:58:34AM +0100, Liam Merwick wrote:
> ./scripts/launch_guest.sh --qemu
> /root/src/coconut/qemu/build/qemu-system-x86_64 -i bin/coconut-qemu.igvm
> --image ./resolute-server-cloudimg-amd64.img
I found the issue, it is in the interaction between QEMU and the
launch_guest.sh script. The script does no longer detect that the device-plane=
property is available and does not add it to the command line. This explains
why IOAPIC IRQs (and also other IRQs) do not get through to Linux anymore.
I will prepare and push a fix.
-Joerg
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: SVSM: Updated Linux and QEMU branches available for testing
2026-09-01 0:58 ` Liam Merwick
2026-09-01 6:48 ` Jörg Rödel
@ 2026-09-01 7:07 ` Jörg Rödel
2026-09-01 23:00 ` Liam Merwick
2 siblings, 0 replies; 9+ messages in thread
From: Jörg Rödel @ 2026-09-01 7:07 UTC (permalink / raw)
To: Liam Merwick; +Cc: coconut-svsm, linux-coco
On Tue, Sep 01, 2026 at 01:58:34AM +0100, Liam Merwick wrote:
> ./scripts/launch_guest.sh --qemu
> /root/src/coconut/qemu/build/qemu-system-x86_64 -i bin/coconut-qemu.igvm
> --image ./resolute-server-cloudimg-amd64.img
I updated the QEMU branch with a fix. The launch_guest.sh script can now detect
that the device-plane property is available and adds it to the command line.
Can you please test the fix? It fixed the issue on my side.
-Joerg
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: SVSM: Updated Linux and QEMU branches available for testing
2026-09-01 0:58 ` Liam Merwick
2026-09-01 6:48 ` Jörg Rödel
2026-09-01 7:07 ` Jörg Rödel
@ 2026-09-01 23:00 ` Liam Merwick
2026-09-02 9:18 ` Jörg Rödel
2 siblings, 1 reply; 9+ messages in thread
From: Liam Merwick @ 2026-09-01 23:00 UTC (permalink / raw)
To: Jörg Rödel; +Cc: coconut-svsm, linux-coco
On 01/09/2026 01:58, Liam Merwick wrote:
> Hi Jörg, On 31/08/2026 16: 24, Jörg Rödel wrote: > Hi Liam, On Mon, Aug
> 31, 2026 at 09: 41: 13AM +0100, Liam Merwick wrote: > > > On 27/08/2026
> 17: 17, Jörg Rödel wrote: > > Hi, I just pushed out > new branches for
> COCONUT-SVSMs
>
> Hi Jörg,
>
> On 31/08/2026 16:24, Jörg Rödel wrote:
>> Hi Liam, On Mon, Aug 31, 2026 at 09: 41: 13AM +0100, Liam Merwick wrote:
>> > > On 27/08/2026 17: 17, Jörg Rödel wrote: > > Hi, I just pushed out
>> new branches for COCONUT-SVSMs downstream Linux > > and QEMU changes.
>> The new branches
>>
>> Hi Liam,
>>
>> On Mon, Aug 31, 2026 at 09:41:13AM +0100, Liam Merwick wrote:
>>>
>>> On 27/08/2026 17:17, Jörg Rödel wrote:
>>> > Hi, I just pushed out new branches for COCONUT-SVSMs downstream Linux
>>> > and QEMU changes. The new branches need to be used together, as there
>>> > have been rebases which changed parts of the user-space interface. For
>>> > Linux the branch is:
>>> > https: //github. com/coconut-svsm/linux/tree/svsm-v7. 2
>>> >
>>>
>>>
>>> On a system that was running the 7.1 branches, I've upgraded the host
>>> kernel and qemu to the 7.2 branches and am now getting CPU stalls in
>>> the guest (and eventual boot hang).
>>>
>>> I'm using ./scripts/launch_guest.sh (and 2026.08-devel)
>>>
>>> One thing I've noticed with kvm_stat is that the top host functions are
>>>
>>> Event Total %Total CurAvg/s
>>> kvm_set_irq 2304824 22.2 2095
>>> kvm_ioapic_set_irq 2304824 22.2 2095
>>> kvm_pic_set_irq 2304768 22.2 2095
>>> kvm_exit 626814 6.0 159
>>> kvm_entry 626814 6.0 159
>>> kvm_vmgexit_exit 299778 2.9 105
>>> kvm_vmgexit_enter 299777 2.9 105
>>> (...)
>>
>> Thanks for testing the new branches. Can you please share your exact
>> launch_guest.sh command line? Also, what type of guest image are you running,
>> something I can download as well?
Another data point. The machine I encountered this issue is a Genoa
machine. I did a fresh install on a Turin and another Genoa and those
do not reproduce the issue - the latest SVSM branches work on those.
On the problematic Genoa, switching back to the 7.1 based kernel/qemu
combo works. This machine has been running SNP/SVSM for a while so not
a fully clean config - it could have accumulated some setting that is
incompatible but I don't see anything yet in /proc/cmdline, etc.
Regards,
Liam
>>
> In a svsm repo, at tag v2026.08-devel where I've built svsm with
> FW_FILE pointing to the svsm edk2 repo at tag
> db97fa0a4b29 ("OvmfPkg/PlatformPei: Initialize
> PcdConfidentialComputingGuestAttr early")
> [ I tried both DEBUG and RELEASE builds ] and qemu is built from
> the svsm-v7.2 branch.
>
>
> ./scripts/launch_guest.sh --qemu
> /root/src/coconut/qemu/build/qemu-system-x86_64 -i bin/coconut-qemu.igvm
> --image ./resolute-server-cloudimg-amd64.img
>
> Initially I was using OL9 in the guest but I reproduced it with an
> unmodified Ubuntu 26.04 [1]
>
> Regards,
> Liam
>
> [1]
> https://cloud-images.ubuntu.com/resolute/current/resolute-server-cloudimg-amd64.img
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: SVSM: Updated Linux and QEMU branches available for testing
2026-09-01 23:00 ` Liam Merwick
@ 2026-09-02 9:18 ` Jörg Rödel
2026-09-02 13:54 ` Liam Merwick
0 siblings, 1 reply; 9+ messages in thread
From: Jörg Rödel @ 2026-09-02 9:18 UTC (permalink / raw)
To: Liam Merwick; +Cc: coconut-svsm, linux-coco
Hi Liam,
On Wed, Sep 02, 2026 at 12:00:54AM +0100, Liam Merwick wrote:
> Another data point. The machine I encountered this issue is a Genoa
> machine. I did a fresh install on a Turin and another Genoa and those
> do not reproduce the issue - the latest SVSM branches work on those.
I pushed a fix to the svsm-v7.2 branch of
https://github.com/coconut-svsm/qemu
Did you test with this latest version of QEMU on the failing Genoa machine? For
reference, the HEAD points at commit 5c1c05b2c3aa0dd1248e0cf58e401626e30887f8.
-Joerg
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: SVSM: Updated Linux and QEMU branches available for testing
2026-09-02 9:18 ` Jörg Rödel
@ 2026-09-02 13:54 ` Liam Merwick
0 siblings, 0 replies; 9+ messages in thread
From: Liam Merwick @ 2026-09-02 13:54 UTC (permalink / raw)
To: Jörg Rödel; +Cc: coconut-svsm, linux-coco
On 02/09/2026 10:18, Jörg Rödel wrote:
> Hi Liam, On Wed, Sep 02, 2026 at 12: 00: 54AM +0100, Liam Merwick wrote:
> > Another data point. The machine I encountered this issue is a Genoa >
> machine. I did a fresh install on a Turin and another Genoa and those >
> do not reproduce
>
> Hi Liam,
>
> On Wed, Sep 02, 2026 at 12:00:54AM +0100, Liam Merwick wrote:
>> Another data point. The machine I encountered this issue is a Genoa
>> machine. I did a fresh install on a Turin and another Genoa and those
>> do not reproduce the issue - the latest SVSM branches work on those.
>
> I pushed a fix to the svsm-v7.2 branch of
>
> https://github.com/coconut-svsm/qemu
>
> Did you test with this latest version of QEMU on the failing Genoa machine? For
> reference, the HEAD points at commit 5c1c05b2c3aa0dd1248e0cf58e401626e30887f8.
>
Yes, thanks. With this QEMU fix everything works correctly.
Regards,
Liam
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-09-02 13:54 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-27 16:17 SVSM: Updated Linux and QEMU branches available for testing Jörg Rödel
2026-08-31 8:41 ` Liam Merwick
2026-08-31 15:24 ` Jörg Rödel
2026-09-01 0:58 ` Liam Merwick
2026-09-01 6:48 ` Jörg Rödel
2026-09-01 7:07 ` Jörg Rödel
2026-09-01 23:00 ` Liam Merwick
2026-09-02 9:18 ` Jörg Rödel
2026-09-02 13:54 ` Liam Merwick
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox