[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] x86/CPU/AMD: Don't print reset reason in VMs


  • To: Yazen Ghannam <yazen.ghannam@xxxxxxx>
  • From: Jason Andryuk <jason.andryuk@xxxxxxx>
  • Date: Wed, 4 Nov 2026 12:16:59 -0500
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2a9nj85GgAHRcrZfTxnIuENU34xXt0EJ0rqjSE+rjYc=; b=qmxpId/FXSCN/ig/EI/pNfYF7ecYAaAHB/fK8puXOW0UMbCi230yiiWmXYWmOykO+0/+k2PbZft/JDWWcORAsS4D6bAq2gqnEK2qrIdgOPSkSfP+mQO7pRlIOiwYoPluxKqoaeNMVo3ECwcsitsuZmb2jES5y2FuIp0Bd1KBVFTQAXMtbSkRLTRTuy/7oSC9OzKfU1eM5tBsryNenIgw8+UMMwA9PVe16yK31oMFWPGzZalrMlVFdkn3By/nFnAVISG69PkxxR7/sXPCrTEX2zXbCRZZi4Xdkfw4l+2U95pYSZcEUzV679UT6whEWJNtJCYq5Pb6knJLaP/8KrA3sw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VH5SvwdhM20PrtB8ZjETjQgaJSn31TGQtmxGSLaFYHj4r6w1QQfO0DiJ1PcmQmfIbwjDwThNbdujMA9xIcd9R4BU4ICesuZz+Navw6U5DaOlKYeQ5MNLEuA3sWiZsqdP+VpWnYcMFK81oN+Mf/JiwsPnPE83Wz6m7k/6V/T4aZd5g8fJy14Viwk/Adrg5zOYXdx4pp7Sgwm8/tnT89G2mcOVYYKb91b3aRsv0nqicON8wWQqJrJFGpELZupxzGaRKrRjol9udLNSXnjsDbhId1JTZ3f6idHWg6gVv6K0cJuDbUuxn+e6TR02gQer/OSazvzqZvOJrfgSC98GWwndTA==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Cc: Thomas Gleixner <tglx@xxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, Borislav Petkov <bp@xxxxxxxxx>, Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>, <x86@xxxxxxxxxx>, "H. Peter Anvin" <hpa@xxxxxxxxx>, Mario Limonciello <mario.limonciello@xxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Ariadne Conill <ariadne@ariadne.space>, Sean Christopherson <seanjc@xxxxxxxxxx>, "Juergen Gross" <jgross@xxxxxxxx>, <stable@xxxxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>
  • Delivery-date: Wed, 04 Nov 2026 17:17:29 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 2026-11-04 10:18, Yazen Ghannam wrote:
On Tue, Nov 03, 2026 at 08:30:25PM -0500, Jason Andryuk wrote:
print_s5_reset_status_mmio() expects to read FCH MMIO on baremetal.  VMs
don't have emulated FCH registers, so there is nothing to check.  Add an
early exit when running on a hypervisor.

The real motivation is Xen PV domUs can't boot on Zen CPUs.  PV domUs
PTE contain system physical addresses - they don't have concept of guest
physical addresses.  domUs can only map physical addresses they are
assigned, so a domU fails to map the FCH MMIO addresses.  However
set_pte() does not return failure, so ioremap() returns a pointer while
the PTEs are unpopulated.  print_s5_reset_status_mmio() faults when
reading through the pointer, breaking the boot.  This change fixes Xen
PV domUs booting on Zen CPUs.

dom0 can map the FCH MMIO, but it has X86_FEATURE_HYPERVISOR set.  With
this change, it no longer prints the reset reason.

Fixes: ab8131028710 ("x86/CPU/AMD: Print the reason for the last reset")
Cc: stable@xxxxxxxxxxxxxxx
Suggested-by: Borislav Petkov <bp@xxxxxxxxx>
Signed-off-by: Jason Andryuk <jason.andryuk@xxxxxxx>
---
dom0 could work, but that would require a xen_initial_domain() check.

I've wondered about a different approach:  We can't directly check for a
device for the FCH_PM_BASE memory, but maybe we could check for a PCI
ISA Bridge with PCI_VENDOR_ID_AMD.  That might be close enough to
indicate real hardware?  But it would still be a heuristic, so I'm not
sure how much better that would be.

Maybe, I had an older version that used the smbus device / i2c driver.
https://lore.kernel.org/all/20230407203720.18184-1-yazen.ghannam@xxxxxxx/

Is this available in dom0?

lspci shows 00:14.0 FCH SMBus Controller
Kernel driver in use: piix4_smbus
Kernel modules: i2c_piix4, sp5100_tco

so, yes, it seems so.

---
  arch/x86/kernel/cpu/amd.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 40463bad1078..580ccc2ce5fc 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -1357,7 +1357,8 @@ static __init int print_s5_reset_status_mmio(void)
        u32 value;
        int i;
- if (!cpu_feature_enabled(X86_FEATURE_ZEN))
+       if (!cpu_feature_enabled(X86_FEATURE_ZEN) ||
+           cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
                return 0;
addr = ioremap(FCH_PM_BASE + FCH_PM_S5_RESET_STATUS, sizeof(value));
--

Reviewed-by: Yazen Ghannam <yazen.ghannam@xxxxxxx>
Thanks,
Jason



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.