blob: 01b159781d96c2781517c25d3594e38e7d87c87f [file] [log] [blame]
Luis R. Rodriguez8d152e72016-04-13 17:04:34 -07001#include <linux/kernel.h>
2#include <linux/init.h>
3
4#include <asm/setup.h>
5#include <asm/bios_ebda.h>
6
7void __init x86_early_init_platform_quirks(void)
8{
9 x86_platform.legacy.rtc = 1;
Luis R. Rodriguez1330e3b2016-04-13 17:04:36 -070010 x86_platform.legacy.ebda_search = 0;
Luis R. Rodriguez8d152e72016-04-13 17:04:34 -070011
12 switch (boot_params.hdr.hardware_subarch) {
Luis R. Rodriguez1330e3b2016-04-13 17:04:36 -070013 case X86_SUBARCH_PC:
14 x86_platform.legacy.ebda_search = 1;
15 break;
Luis R. Rodriguez8d152e72016-04-13 17:04:34 -070016 case X86_SUBARCH_XEN:
17 case X86_SUBARCH_LGUEST:
18 case X86_SUBARCH_INTEL_MID:
19 x86_platform.legacy.rtc = 0;
20 break;
21 }
22
23 if (x86_platform.set_legacy_features)
24 x86_platform.set_legacy_features();
25}