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)
committerIan Jackson <iwj@xenproject.org>
Fri, 26 Mar 2021 17:02:55 +0000 (17:02 +0000)
commite680cc48b7184d3489873d6776f84ba1fc238ced
treee8f8b2da555c60de7816af41a2b919b2da79ad25
parent8bfceeed789e4394a9c45403a19f29909f2b2641
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. Until we can figure out what the actual issue there
is, skip this new part of HPET setup by default. Introduce a "hpet"
command line option to allow enabling this on hardware where it's really
needed for Xen to boot successfully (i.e. where the PIT doesn't drive
the timer interrupt).

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.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Ian Jackson <iwj@xenproject.org>
Release-Acked-by: Ian Jackson <iwj@xenproject.org>
docs/misc/xen-command-line.pandoc
xen/arch/x86/hpet.c