]> xenbits.xensource.com Git - xen.git/commit
x86/hpet: Don't enable legacy replacement mode unconditionally
authorJan Beulich <jbeulich@suse.com>
Wed, 24 Mar 2021 10:34:32 +0000 (11:34 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 15 Apr 2021 17:25:40 +0000 (18:25 +0100)
commitb53173e7cdafb7a318a239d557478fd73734a86a
tree871ed35e4fadebc92bd3625a07c2e252f6e4ad8e
parent238168b5bcd27fec97704f6295fa5bf7a442eb6f
x86/hpet: Don't enable legacy replacement mode unconditionally

Commit e1de4c196a2e ("x86/timer: Fix boot on Intel systems using ITSSPRC
static PIT clock gating") was reported to cause boot failures on certain
AMD Ryzen systems.

Refine the fix to do nothing in the default case, and only attempt to
configure legacy replacement mode if IRQ0 is found to not be working.  If
legacy replacement mode doesn't help, undo it before falling back to other IRQ
routing configurations.

In addition, introduce a "hpet" command line option so this heuristic
can be overridden.  Since it makes little sense to introduce just
"hpet=legacy-replacement", also allow for a boolean argument as well as
"broadcast" to replace the separate "hpetbroadcast" option.

Reported-by: Frédéric Pierret frederic.pierret@qubes-os.org
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Frédéric Pierret <frederic.pierret@qubes-os.org>
docs/misc/xen-command-line.pandoc
xen/arch/x86/hpet.c
xen/arch/x86/io_apic.c
xen/include/asm-x86/hpet.h