Bug 219620

Summary: [REGRESSION, BISECTED] Xen dom0 PVH broken with 6.12.6
Product: Virtualization Reporter: Alex Zenla (alex)
Component: XenAssignee: virtualization_xen
Status: NEW ---    
Severity: blocking CC: alex
Priority: P3    
Hardware: Intel   
OS: Linux   
Kernel Version: 6.12.6 Subsystem:
Regression: Yes Bisected commit-id: 42d50bb38a691ea8ac459b4f966f7e66f939c147

Description Alex Zenla 2024-12-21 12:24:50 UTC
The recent hypercall page changes breaks dom0=pvh on 6.12.6. When booting with dom0=pvh, 6.12.6 reboots a second after Xen hands off control. dom0=pv boots properly, but dom0=pvh does not.

A bisection indicates that commit f7c3fdad0a474062d566aae3289d490d7e702d30 (x86/xen: don't do PV iret hypercall through hypercall page) works, but commit 42d50bb38a691ea8ac459b4f966f7e66f939c147 (x86/xen: use new hypercall functions instead of hypercall page) does not boot.

panic=0, xen noreboot, earlyprintk=xen are not sufficient for debugging the problem, so it appears to happen very early, which aligns with changes that are as fundamental like hypercalls.
Comment 1 Alex Zenla 2024-12-21 12:26:14 UTC
Xen version: 4.19.0 (from Fedora 41)
Kernel version: 6.12.6
Comment 2 Alex Zenla 2024-12-21 12:43:43 UTC
This issue has been reproduced on the following setups:

- A desktop system with an Intel i9-14900KS / external NVIDIA GPU (not in use)
- A server system with an Intel E5-2660 v4 (512GB of RAM, blade system)

This indicates the problem is widespread.
Comment 3 Alex Zenla 2024-12-21 15:19:42 UTC
Testing indicates that the crash happens in __static_call_update_early

Confirmed that domU PVH works fine, but dom0 PVH is broken.