Message ID | 20200925140751.31381-1-jgross@suse.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 9d2fff3f7af3e02c600af88c64ae53140e2d0bd5 |
Headers | show |
Series | [v2] x86/xen: disable Firmware First mode for correctable memory errors | expand |
On 9/25/20 10:07 AM, Juergen Gross wrote: > When running as Xen dom0 the kernel isn't responsible for selecting the > error handling mode, this should be handled by the hypervisor. > > So disable setting FF mode when running as Xen pv guest. Not doing so > might result in boot splats like: > > [ 7.509696] HEST: Enabling Firmware First mode for corrected errors. > [ 7.510382] mce: [Firmware Bug]: Ignoring request to disable invalid MCA bank 2. > [ 7.510383] mce: [Firmware Bug]: Ignoring request to disable invalid MCA bank 3. > [ 7.510384] mce: [Firmware Bug]: Ignoring request to disable invalid MCA bank 4. > [ 7.510384] mce: [Firmware Bug]: Ignoring request to disable invalid MCA bank 5. > [ 7.510385] mce: [Firmware Bug]: Ignoring request to disable invalid MCA bank 6. > [ 7.510386] mce: [Firmware Bug]: Ignoring request to disable invalid MCA bank 7. > [ 7.510386] mce: [Firmware Bug]: Ignoring request to disable invalid MCA bank 8. > > Reason is that the HEST ACPI table contains the real number of MCA > banks, while the hypervisor is emulating only 2 banks for guests. > > Cc: stable@vger.kernel.org > Signed-off-by: Juergen Gross <jgross@suse.com> > Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Applied to for-linus-5.10 -boris
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c index 22e741e0b10c..351ac1a9a119 100644 --- a/arch/x86/xen/enlighten_pv.c +++ b/arch/x86/xen/enlighten_pv.c @@ -1376,6 +1376,15 @@ asmlinkage __visible void __init xen_start_kernel(void) x86_init.mpparse.get_smp_config = x86_init_uint_noop; xen_boot_params_init_edd(); + +#ifdef CONFIG_ACPI + /* + * Disable selecting "Firmware First mode" for correctable + * memory errors, as this is the duty of the hypervisor to + * decide. + */ + acpi_disable_cmcff = 1; +#endif } if (!boot_params.screen_info.orig_video_isVGA)