[PATCH v4 00/14] x86: remove paravirt_enabled

From: Luis R. Rodriguez
Date: Wed Apr 06 2016 - 20:06:59 EST


Now that Andy's ASM paravirt_enabled() use is merged all we need is to address
the rest of the C code uses. This completes that work by providing proper
semantics for platform legacy settings and quirks as suggested by Ingo, this in
turn can also be extended later for benefit of further processing of ACPI
5.2.9.3 IA-PC Boot Architecture flags, which we currently don't take much
advantage of. For instance the ACPI_FADT_NO_VGA can later be leveraged by bare
metal x86 *and* HVMLite, as HVMLite seems to plan to set this.

Also, hpa has noted both Intel MID and CE4100 can make use of disabling
pnpbios, we can do that separately after this, but it should now be a
trivial change, generic given this quirk stuff is all generic now.

This patches goes tested by 0-day, except for the last patch, for some reason
the branch that included that patch has had testing delayed for quite a
while now, but I can't think of anything there that should break anything.

I've also just run time tested this on bare metal only so far.

Luis R. Rodriguez (14):
x86/boot: enumerate documentation for the x86 hardware_subarch
x86/xen: use X86_SUBARCH_XEN for PV guest boots
tools/lguest: make lguest launcher use X86_SUBARCH_LGUEST explicitly
x86/rtc: replace paravirt rtc check with platform legacy quirk
x86, ACPI: move ACPI_FADT_NO_CMOS_RTC check to ACPI boot code
x86/init: use a platform legacy quirk for ebda
tools/lguest: force disable tboot and apm
apm32: remove paravirt_enabled() use
x86/tboot: remove paravirt_enabled()
x86/cpu/intel: remove not needed paravirt_enabled() for f00f work
around
pnpbios: replace paravirt_enabled() check with legacy device check
x86, ACPI: parse ACPI_FADT_LEGACY_DEVICES
x86/init: rename ebda code file
x86/paravirt: remove paravirt_enabled()

arch/x86/Makefile | 3 ++-
arch/x86/include/asm/paravirt.h | 11 ---------
arch/x86/include/asm/paravirt_types.h | 6 -----
arch/x86/include/asm/processor.h | 2 --
arch/x86/include/asm/x86_init.h | 42 +++++++++++++++++++++++++++++++++++
arch/x86/include/uapi/asm/bootparam.h | 36 +++++++++++++++++++++++++++++-
arch/x86/kernel/Makefile | 6 ++++-
arch/x86/kernel/acpi/boot.c | 9 ++++++++
arch/x86/kernel/apm_32.c | 2 +-
arch/x86/kernel/cpu/intel.c | 2 +-
arch/x86/kernel/{head.c => ebda.c} | 2 +-
arch/x86/kernel/head32.c | 2 ++
arch/x86/kernel/head64.c | 1 +
arch/x86/kernel/kvm.c | 8 -------
arch/x86/kernel/paravirt.c | 1 -
arch/x86/kernel/platform-quirks.c | 32 ++++++++++++++++++++++++++
arch/x86/kernel/rtc.c | 15 ++-----------
arch/x86/kernel/tboot.c | 6 -----
arch/x86/lguest/boot.c | 3 ---
arch/x86/xen/enlighten.c | 5 +----
drivers/pnp/pnpbios/core.c | 3 ++-
include/linux/pnp.h | 2 ++
tools/lguest/lguest.c | 10 +++++++--
23 files changed, 146 insertions(+), 63 deletions(-)
rename arch/x86/kernel/{head.c => ebda.c} (98%)
create mode 100644 arch/x86/kernel/platform-quirks.c

--
2.7.2