hv: config: add an option to disable mce on psc workaround

Add a option MCE_ON_PSC_WORKAROUND_DISABLED to disable the software
workaround for the issue Machine Check Error on Page Size Change.

Tracked-On: #4101
Signed-off-by: Binbin Wu <binbin.wu@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
Binbin Wu 2019-11-13 10:09:44 +08:00 committed by wenlingz
parent 192859ee02
commit 0570993b40
2 changed files with 18 additions and 2 deletions

View File

@ -21,10 +21,10 @@ config LOGICAL_PARTITION
help help
This scenario will run two pre-launched VMs. This scenario will run two pre-launched VMs.
config INDUSTRY config INDUSTRY
bool "Industry VMs" bool "Industry VMs"
help help
This scenario is a typical scenario for industry usage with 4 VMs: This scenario is a typical scenario for industry usage with 4 VMs:
one pre-launched SOS VM, one post-launched Standard VM for HMI, one or two one pre-launched SOS VM, one post-launched Standard VM for HMI, one or two
post-launched RT VM for real-time control. post-launched RT VM for real-time control.
@ -304,3 +304,12 @@ config UEFI_OS_LOADER_NAME
Name of the UEFI bootloader that starts the Service VM. This is Name of the UEFI bootloader that starts the Service VM. This is
typically the systemd-boot or Grub bootloader but could be any other typically the systemd-boot or Grub bootloader but could be any other
UEFI executable. UEFI executable.
config MCE_ON_PSC_WORKAROUND_DISABLED
bool "Force to disable software workaround for Machine Check Error on Page Size Change"
default n
help
By default, software workaround for Machine Check Error on Page Size Change is
conditionally applied to the models that may be affected by the issue. However,
the software workaround has negative impact on performance. If all the guest OS
kernels are trusted, this option may be set for performance.

View File

@ -185,6 +185,12 @@ void set_fs_base(void)
} }
#endif #endif
#ifdef CONFIG_MCE_ON_PSC_WORKAROUND_DISABLED
bool is_ept_force_4k_ipage(void)
{
return false;
}
#else
bool is_ept_force_4k_ipage(void) bool is_ept_force_4k_ipage(void)
{ {
bool force_4k_ipage = true; bool force_4k_ipage = true;
@ -229,3 +235,4 @@ bool is_ept_force_4k_ipage(void)
return force_4k_ipage; return force_4k_ipage;
} }
#endif