cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

platform-quirks.c (1131B)


      1// SPDX-License-Identifier: GPL-2.0
      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{
     10	x86_platform.legacy.i8042 = X86_LEGACY_I8042_EXPECTED_PRESENT;
     11	x86_platform.legacy.rtc = 1;
     12	x86_platform.legacy.warm_reset = 1;
     13	x86_platform.legacy.reserve_bios_regions = 0;
     14	x86_platform.legacy.devices.pnpbios = 1;
     15
     16	switch (boot_params.hdr.hardware_subarch) {
     17	case X86_SUBARCH_PC:
     18		x86_platform.legacy.reserve_bios_regions = 1;
     19		break;
     20	case X86_SUBARCH_XEN:
     21		x86_platform.legacy.devices.pnpbios = 0;
     22		x86_platform.legacy.rtc = 0;
     23		break;
     24	case X86_SUBARCH_INTEL_MID:
     25	case X86_SUBARCH_CE4100:
     26		x86_platform.legacy.devices.pnpbios = 0;
     27		x86_platform.legacy.rtc = 0;
     28		x86_platform.legacy.i8042 = X86_LEGACY_I8042_PLATFORM_ABSENT;
     29		break;
     30	}
     31
     32	if (x86_platform.set_legacy_features)
     33		x86_platform.set_legacy_features();
     34}
     35
     36bool __init x86_pnpbios_disabled(void)
     37{
     38	return x86_platform.legacy.devices.pnpbios == 0;
     39}
     40
     41#if defined(CONFIG_PNPBIOS)
     42bool __init arch_pnpbios_disabled(void)
     43{
     44	return x86_pnpbios_disabled();
     45}
     46#endif