alder_lake_bios/Oem/L05/FeatureCommon/InsydeL05ModulePkg/WmiSetupUnderOsSmm/WmiSetupUnderOsItem.c

181 lines
15 KiB
C

/** @file
;******************************************************************************
;* Copyright (c) 2018, Insyde Software Corp. All Rights Reserved.
;*
;* You may not reproduce, distribute, publish, display, perform, modify, adapt,
;* transmit, broadcast, present, recite, release, license or otherwise exploit
;* any part of this publication in any form, by any means, without the prior
;* written permission of Insyde Software Corporation.
;*
;******************************************************************************
*/
#include "WmiSetupUnderOsSmm.h"
//
// Select String List
//
CHAR8 * mEnableDisableStrList[] = {
"Enable", "Disable"
};
#ifdef L05_SHOW_RAID_OPTION_ENABLE
CHAR8 * mSATAControllerStrList[] = {
"AHCI", "RAID"
};
#else
CHAR8 * mSATAControllerStrList[] = {
"AHCI"
};
#endif
CHAR8 * mGraphicsDeviceStrList[] = {
"Switchable Graphics", "UMA Graphics"
};
CHAR8 * mIntelSgxStrList[] = {
"Software Controlled", "Enable", "Disable"
};
CHAR8 * mPlatformModeStrList[] = {
"User Mode", "Setup Mode"
};
CHAR8 * mSecureBootModeStrList[] = {
"Standard", "Custom"
};
CHAR8 * mBootModeStrList[] = {
"UEFI", "Legacy Support"
};
CHAR8 * mBootPriorityStrList[] = {
"UEFI First", "Legacy First"
};
//
// BIOS Config Enumerate Map
//
WMI_BIOS_CONFIG_DATA_MAP mWmiBiosConfigEnumMap[] = {
// BiosConfigItemName, ConfigValue, ScuAccessLevel, ConfigDataType, L05WmiSetupItemValid, L05WmiSetupItem
//
// Configuration Page
//
#ifdef L05_NOTEBOOK_CLOUD_BOOT_ENABLE
{"LenovoCloudServices", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05LenovoCloudServicesValid, &mL05WmiSetupItem.L05LenovoCloudServices },
#endif
#ifdef L05_NOTEBOOK_CLOUD_BOOT_WIFI_ENABLE
{"WiFiLenovoCloudServices", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05UefiWifiNetworkBootValid, &mL05WmiSetupItem.L05UefiWifiNetworkBoot },
#endif
{"USBLegacy", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05UsbLegacyValid, &mL05WmiSetupItem.L05UsbLegacy },
{"WirelessLAN", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05WirelessLanValid, &mL05WmiSetupItem.L05WirelessLan },
{"SATAControllerMode", NULL, UserReadOnly, SATAControllerType, &mL05WmiSetupItem.L05SataControllerModeValid, &mL05WmiSetupItem.L05SataControllerMode },
{"IntelVMDController", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05VmdControllerValid, &mL05WmiSetupItem.L05VmdController },
{"GraphicsDevice", NULL, UserReadOnly, GraphicsDeviceType, &mL05WmiSetupItem.L05GraphicsDeviceValid, &mL05WmiSetupItem.L05GraphicsDevice },
{"Intel(R)VirtualizationTechnology", NULL, UserReadOnly, IntelVtType, &mL05WmiSetupItem.L05IntelVtValid, &mL05WmiSetupItem.L05IntelVt },
{"Intel(R)VT-dFeature", NULL, UserReadOnly, IntelVtdType, &mL05WmiSetupItem.L05IntelVtdValid, &mL05WmiSetupItem.L05IntelVtd },
{"AMDV(TM)Technology", NULL, UserReadOnly, AmdVType, &mL05WmiSetupItem.L05AmdVTechnologyValid, &mL05WmiSetupItem.L05AmdVTechnology },
{"Intel(R)Hyper-ThreadingTechnology", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05IntelHyperThreadingValid, &mL05WmiSetupItem.L05IntelHyperThreading },
{"BIOSBackFlash", NULL, UserReadOnly, BiosBackFlashType, &mL05WmiSetupItem.L05BiosBackFlashValid, &mL05WmiSetupItem.L05BiosBackFlash },
{"HotkeyMode", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05HotKeyModeValid, &mL05WmiSetupItem.L05HotKeyMode },
{"FoolProofFnCtrl", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05FoolProofFnCtrlValid, &mL05WmiSetupItem.L05FoolProofFnCtrl },
{"AlwaysOnUSB", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05AlwaysOnUsbValid, &mL05WmiSetupItem.L05AlwaysOnUsb },
{"ChargeInBatteryMode", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05ChargeInBatteryModeValid, &mL05WmiSetupItem.L05ChargeInBatteryMode },
{"RestoreDefaultOverclocking", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05RestoreDefaultOverclockingValid, &mL05WmiSetupItem.L05RestoreDefaultOverclocking},
{"WakeOnVoice", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05WakeOnVoiceValid, &mL05WmiSetupItem.L05WakeOnVoice },
{"UltraQuietMode", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05UltraQuietModeValid, &mL05WmiSetupItem.L05UltraQuietMode },
//
// Security Page
//
{"PowerOnPassword", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05PowerOnPasswordValid, &mL05WmiSetupItem.L05PowerOnPassword },
// {"ClearUserPassword", NULL, UserReadOnly, ClearUserPasswordType, &mL05WmiSetupItem.L05ClearUserPasswordValid, &mL05WmiSetupItem.L05ClearUserPassword },
{"IntelPlatformTrustTechnology", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05IntelPttValid, &mL05WmiSetupItem.L05IntelPtt },
// {"ClearIntelPTTKey", NULL, UserReadOnly, ClearIntelPttKeyType, &mL05WmiSetupItem.L05ClearIntelPttKeyValid, &mL05WmiSetupItem.L05ClearIntelPttKey },
{"AMDPlatformSecurityProcessor", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05AmdPspValid, &mL05WmiSetupItem.L05AmdPsp },
// {"ClearAMDPSPKey", NULL, UserReadOnly, ClearAmdPspKeyType, &mL05WmiSetupItem.L05ClearAmdPspKeyValid, &mL05WmiSetupItem.L05ClearAmdPspKey },
{"SecurityChip", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05SecurityChipValid, &mL05WmiSetupItem.L05SecurityChip },
// {"ClearSecurityChipKey", NULL, UserReadOnly, ClearSecurityChipKeyType, &mL05WmiSetupItem.L05ClearSecurityChipKeyValid, &mL05WmiSetupItem.L05ClearSecurityChipKey },
{"DeviceGuard", NULL, UserReadOnly, DeviceGuardType, &mL05WmiSetupItem.L05DeviceGuardValid, &mL05WmiSetupItem.L05DeviceGuard },
//
// I/O Port Access Submenu
//
#ifdef L05_SMB_BIOS_ENABLE
{"EthernetLAN", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05EthernetLanValid, &mL05WmiSetupItem.L05EthernetLan },
{"WirelessWAN", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05WirelessWanValid, &mL05WmiSetupItem.L05WirelessWan },
{"Bluetooth", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05BluetoothValid, &mL05WmiSetupItem.L05Bluetooth },
{"USBPort", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05UsbPortValid, &mL05WmiSetupItem.L05UsbPort },
{"MemoryCardSlot", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05MemoryCardSlotValid, &mL05WmiSetupItem.L05MemoryCardSlot },
{"SmartCardSlot", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05SmartCardSlotValid, &mL05WmiSetupItem.L05SmartCardSlot },
{"IntegratedCamera", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05IntegratedCameraValid, &mL05WmiSetupItem.L05IntegratedCamera },
{"Microphone", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05MicrophoneValid, &mL05WmiSetupItem.L05Microphone },
{"FingerprintReader", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05FingerprintReaderValid, &mL05WmiSetupItem.L05FingerprintReader },
{"Thunderbolt(TM)", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05ThunderboltValid, &mL05WmiSetupItem.L05Thunderbolt },
{"NFCDevice", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05NfcDeviceValid, &mL05WmiSetupItem.L05NfcDevice },
#endif
//
// Intel (R) SGX Submenu
//
{"IntelSGX", NULL, UserReadOnly, IntelSgxType, &mL05WmiSetupItem.L05IntelSgxValid, &mL05WmiSetupItem.L05IntelSgx },
//
// Security Page
//
{"SecureBoot", NULL, UserReadOnly, SecureBootType, &mL05WmiSetupItem.L05SecureBootValid, &mL05WmiSetupItem.L05SecureBoot },
// {"SecureBootStatus", NULL, ReadOnly, EnableDisableType, &mL05WmiSetupItem.L05SecureBootStatusValid, &mL05WmiSetupItem.L05SecureBootStatus },
// {"PlatformMode", NULL, ReadOnly, PlatformModeType, &mL05WmiSetupItem.L05PlatformModeValid, &mL05WmiSetupItem.L05PlatformMode },
// {"SecureBootMode", NULL, ReadOnly, SecureBootModeType, &mL05WmiSetupItem.L05SecureBootModeValid, &mL05WmiSetupItem.L05SecureBootMode },
// {"ResetToSetupMode", NULL, UserReadOnly, ResetToSetupModeType, &mL05WmiSetupItem.L05ResetToSetupModeValid, &mL05WmiSetupItem.L05ResetToSetupMode },
// {"RestoreFactoryKeys", NULL, UserReadOnly, RestoreFactoryKeysType, &mL05WmiSetupItem.L05RestoreFactoryKeysValid, &mL05WmiSetupItem.L05RestoreFactoryKeys },
//
// Boot Page
//
#ifdef L05_LEGACY_SUPPORT
{"BootMode", NULL, UserReadOnly, BootModeType, &mL05WmiSetupItem.L05BootModeValid, &mL05WmiSetupItem.L05BootMode },
#endif
{"BootPriority", NULL, UserReadOnly, BootPriorityType, &mL05WmiSetupItem.L05BootPriorityValid, &mL05WmiSetupItem.L05BootPriority },
{"FastBoot", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05FastBootValid, &mL05WmiSetupItem.L05FastBoot },
{"USBBoot", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05UsbBootValid, &mL05WmiSetupItem.L05UsbBoot },
{"PXEBootToLAN", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05PxeBootToLanValid, &mL05WmiSetupItem.L05PxeBootToLan },
{"IPV4PXEFirst", NULL, UserReadOnly, EnableDisableType, &mL05WmiSetupItem.L05PxeIpv4FirstValid, &mL05WmiSetupItem.L05PxeIpv4First },
{"EFI-BootOrder", NULL, UserReadOnly, EfiBootOrderType, &mL05WmiSetupItem.L05EfiBootOrderValid, NULL },
{"Legacy-BootOrder", NULL, UserReadOnly, LegacyBootOrderType, &mL05WmiSetupItem.L05LegacyBootOrderValid, NULL },
//
// Exit Page
//
//#ifdef L05_LEGACY_SUPPORT
// {"OSOptimizedDefaults", NULL, UserReadOnly, OsOptimizedDefaultsType, &mL05WmiSetupItem.L05OsOptimizedDefaultValid, &mL05WmiSetupItem.L05OsOptimizedDefault },
//#endif
};
//
// Select String List Map
//
WMI_SELECT_STR_LIST_MAP mWmiSelectStrListMap[] = {
// ConfigDataType, SelectStrList, SelectStrCount
{EnableDisableType, mEnableDisableStrList, (sizeof (mEnableDisableStrList) / sizeof (CHAR8 *))},
{SATAControllerType, mSATAControllerStrList, (sizeof (mSATAControllerStrList) / sizeof (CHAR8 *))},
{GraphicsDeviceType, mGraphicsDeviceStrList, (sizeof (mGraphicsDeviceStrList) / sizeof (CHAR8 *))},
{IntelVtType, mEnableDisableStrList, (sizeof (mEnableDisableStrList) / sizeof (CHAR8 *))},
{IntelVtdType, mEnableDisableStrList, (sizeof (mEnableDisableStrList) / sizeof (CHAR8 *))},
{AmdVType, mEnableDisableStrList, (sizeof (mEnableDisableStrList) / sizeof (CHAR8 *))},
{BiosBackFlashType, mEnableDisableStrList, (sizeof (mEnableDisableStrList) / sizeof (CHAR8 *))},
{DeviceGuardType, mEnableDisableStrList, (sizeof (mEnableDisableStrList) / sizeof (CHAR8 *))},
{IntelSgxType, mIntelSgxStrList, (sizeof (mIntelSgxStrList) / sizeof (CHAR8 *))},
{SecureBootType, mEnableDisableStrList, (sizeof (mEnableDisableStrList) / sizeof (CHAR8 *))},
{PlatformModeType, mPlatformModeStrList, (sizeof (mPlatformModeStrList) / sizeof (CHAR8 *))},
{SecureBootModeType, mSecureBootModeStrList, (sizeof (mSecureBootModeStrList) / sizeof (CHAR8 *))},
{BootModeType, mBootModeStrList, (sizeof (mBootModeStrList) / sizeof (CHAR8 *))},
{BootPriorityType, mBootPriorityStrList, (sizeof (mBootPriorityStrList) / sizeof (CHAR8 *))},
{OsOptimizedDefaultsType, mEnableDisableStrList, (sizeof (mEnableDisableStrList) / sizeof (CHAR8 *))},
};
//
// Map List Count
//
UINT16 mWmiBiosConfigEnumMapListCount = sizeof (mWmiBiosConfigEnumMap) / sizeof (WMI_BIOS_CONFIG_DATA_MAP);
UINT16 mWmiSelectStrListMapListCount = sizeof (mWmiSelectStrListMap) / sizeof (WMI_SELECT_STR_LIST_MAP);