x86/paravirt: Move the Xen-only pv_cpu_ops under the PARAVIRT_XXL umbrella
[linux-2.6-block.git] / arch / x86 / kernel / platform-quirks.c
CommitLineData
b2441318 1// SPDX-License-Identifier: GPL-2.0
8d152e7a
LR
2#include <linux/kernel.h>
3#include <linux/init.h>
4
5#include <asm/setup.h>
6#include <asm/bios_ebda.h>
7
8void __init x86_early_init_platform_quirks(void)
9{
93ffa9a4 10 x86_platform.legacy.i8042 = X86_LEGACY_I8042_EXPECTED_PRESENT;
8d152e7a 11 x86_platform.legacy.rtc = 1;
e348caef 12 x86_platform.legacy.warm_reset = 1;
edce2121 13 x86_platform.legacy.reserve_bios_regions = 0;
80dfd83d 14 x86_platform.legacy.devices.pnpbios = 1;
8d152e7a
LR
15
16 switch (boot_params.hdr.hardware_subarch) {
1330e3bc 17 case X86_SUBARCH_PC:
edce2121 18 x86_platform.legacy.reserve_bios_regions = 1;
1330e3bc 19 break;
8d152e7a 20 case X86_SUBARCH_XEN:
93ffa9a4
DT
21 x86_platform.legacy.devices.pnpbios = 0;
22 x86_platform.legacy.rtc = 0;
23 break;
8d152e7a 24 case X86_SUBARCH_INTEL_MID:
a50b22a7 25 case X86_SUBARCH_CE4100:
f6935b7b 26 x86_platform.legacy.devices.pnpbios = 0;
8d152e7a 27 x86_platform.legacy.rtc = 0;
93ffa9a4 28 x86_platform.legacy.i8042 = X86_LEGACY_I8042_PLATFORM_ABSENT;
8d152e7a
LR
29 break;
30 }
31
32 if (x86_platform.set_legacy_features)
33 x86_platform.set_legacy_features();
34}
80dfd83d 35
f79b1c57
RB
36bool __init x86_pnpbios_disabled(void)
37{
38 return x86_platform.legacy.devices.pnpbios == 0;
39}
40
80dfd83d
LR
41#if defined(CONFIG_PNPBIOS)
42bool __init arch_pnpbios_disabled(void)
43{
f79b1c57 44 return x86_pnpbios_disabled();
80dfd83d
LR
45}
46#endif