alder_lake_bios/Oem/L05/FeatureCommon/InsydeL05ModulePkg/Include/L05WmiSetupUnderOsDefinition.h

241 lines
9.9 KiB
C

/** @file
;******************************************************************************
;* Copyright (c) 2019, 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.
;*
;******************************************************************************
*/
#ifndef _L05_WMI_SETUP_UNDER_OS_H_
#define _L05_WMI_SETUP_UNDER_OS_H_
#define L05_WMI_BUFFER_MAX_SIZE_BIT 8192 // 1024 Byte
#define L05_WMI_BUFFER_MAX_SIZE (L05_WMI_BUFFER_MAX_SIZE_BIT >> 3) //L05_WMI_BUFFER_MAX_SIZE(Byte) = L05_WMI_BUFFER_MAX_SIZE_BIT / 8
#define L05_WMI_SETUP_ITEM_ENABLE 0x00
#define L05_WMI_SETUP_ITEM_DISABLE 0x01
#define L05_WMI_BOOT_MODE_UEFI 0x00
#define L05_WMI_BOOT_MODE_LEGACY_SUPPORT 0x01
#define WMI_SETUP_UNDER_OS_NULL_STR ""
#define WMI_SETUP_UNDER_OS_ENTER_STR "Enter"
//
// Object ID
//
#define L05_BIOS_SETTING_A0 0xA0
#define L05_SET_BIOS_SETTING_A1 0xA1
#define L05_SAVE_BIOS_SETTINGS_A2 0xA2
#define L05_DISCARD_BIOS_SETTINGS_A3 0xA3
#define L05_LOAD_DEFAULT_SETTINGS_A4 0xA4
#define L05_BIOS_PASSWORD_SETTINGS_A5 0xA5
#define L05_SET_BIOS_PASSWORD_A6 0xA6
#define L05_GET_BIOS_SELECTIONS_A7 0xA7
//
// WMI Return Status
//
#define L05_WMI_SUCCESS 0x00
#define L05_WMI_NOT_SUPPORTED 0x01
#define L05_WMI_INVALID_PARAMETER 0x02
#define L05_WMI_ACCESS_DENIED 0x03
#define L05_WMI_SYSTEM_BUSY 0x04
#pragma pack (1)
typedef enum {
L05WmiSetupItemInit = 0x00,
L05WmiSetupItemSave,
L05WmiSetupItemDiscard,
L05WmiSetupItemLoadDefault,
} L05_WMI_SETUP_ITEM_ACTION;
//
// Need map PASSWORD_TYPE for SystemAdminType & SystemUserType
//
typedef enum {
WmiSystemAdminType = 0x00,
WmiSystemUserType,
WmiHddUserType,
WmiHddMasterType,
WmiHddMaxType,
WmiPasswoedMaxType,
} WMI_PASSWORD_TYPE;
typedef enum {
WmiAsciiEncoding = 0x00,
WmiScancodeEncoding,
WmiPasswoedMaxEncoding,
} WMI_PASSWORD_ENCODING;
typedef enum {
WmiUsLanguage = 0x00,
WmiFrLanguage,
WmiGrLanguage,
WmiPasswoedMaxLanguage,
} WMI_PASSWORD_LANGUAGE;
typedef enum {
WmiHddPasswordCurrentSection = 0x00,
WmiHddPasswordNewSection,
WmiHddPasswordMaxSection,
} WMI_HDD_PASSWORD_TABLE_SECTION;
typedef struct {
UINT16 BootOption;
CHAR8 *BootDescription;
} L05_WMI_BOOT_DESCRIPTION;
typedef struct {
//
// Configuration Page
//
BOOLEAN L05LenovoCloudServicesValid;
UINT8 L05LenovoCloudServices;
BOOLEAN L05UefiWifiNetworkBootValid;
UINT8 L05UefiWifiNetworkBoot;
BOOLEAN L05UsbLegacyValid;
UINT8 L05UsbLegacy;
BOOLEAN L05WirelessLanValid;
UINT8 L05WirelessLan;
BOOLEAN L05SataControllerModeValid;
UINT8 L05SataControllerMode;
UINT8 L05VmdControllerValid;
UINT8 L05VmdController;
BOOLEAN L05GraphicsDeviceValid;
UINT8 L05GraphicsDevice;
BOOLEAN L05IntelVtValid;
UINT8 L05IntelVt;
BOOLEAN L05IntelVtdValid;
UINT8 L05IntelVtd;
BOOLEAN L05AmdVTechnologyValid;
UINT8 L05AmdVTechnology;
BOOLEAN L05IntelHyperThreadingValid;
UINT8 L05IntelHyperThreading;
BOOLEAN L05BiosBackFlashValid;
UINT8 L05BiosBackFlash;
BOOLEAN L05HotKeyModeValid;
UINT8 L05HotKeyMode;
BOOLEAN L05FoolProofFnCtrlValid;
UINT8 L05FoolProofFnCtrl;
BOOLEAN L05DptfValid;
UINT8 L05Dptf;
BOOLEAN L05IntelRapidStartValid;
UINT8 L05IntelRapidStart;
BOOLEAN L05AlwaysOnUsbValid;
UINT8 L05AlwaysOnUsb;
BOOLEAN L05ChargeInBatteryModeValid;
UINT8 L05ChargeInBatteryMode;
BOOLEAN L05RestoreDefaultOverclockingValid;
UINT8 L05RestoreDefaultOverclocking;
BOOLEAN L05WakeOnVoiceValid;
UINT8 L05WakeOnVoice;
BOOLEAN L05UltraQuietModeValid;
UINT8 L05UltraQuietMode;
//
// Security Page
//
BOOLEAN L05PowerOnPasswordValid;
UINT8 L05PowerOnPassword;
BOOLEAN L05ClearUserPasswordValid;
UINT8 L05ClearUserPassword;
BOOLEAN L05IntelPttValid;
UINT8 L05IntelPtt;
BOOLEAN L05ClearIntelPttKeyValid;
UINT8 L05ClearIntelPttKey;
BOOLEAN L05AmdPspValid;
UINT8 L05AmdPsp;
BOOLEAN L05ClearAmdPspKeyValid;
UINT8 L05ClearAmdPspKey;
BOOLEAN L05SecurityChipValid;
UINT8 L05SecurityChip;
BOOLEAN L05ClearSecurityChipKeyValid;
UINT8 L05ClearSecurityChipKey;
BOOLEAN L05DeviceGuardValid;
UINT8 L05DeviceGuard;
//
// I/O Port Access Submenu
//
BOOLEAN L05EthernetLanValid;
UINT8 L05EthernetLan;
BOOLEAN L05WirelessWanValid;
UINT8 L05WirelessWan;
BOOLEAN L05BluetoothValid;
UINT8 L05Bluetooth;
BOOLEAN L05UsbPortValid;
UINT8 L05UsbPort;
BOOLEAN L05MemoryCardSlotValid;
UINT8 L05MemoryCardSlot;
BOOLEAN L05SmartCardSlotValid;
UINT8 L05SmartCardSlot;
BOOLEAN L05IntegratedCameraValid;
UINT8 L05IntegratedCamera;
BOOLEAN L05MicrophoneValid;
UINT8 L05Microphone;
BOOLEAN L05FingerprintReaderValid;
UINT8 L05FingerprintReader;
BOOLEAN L05ThunderboltValid;
UINT8 L05Thunderbolt;
BOOLEAN L05NfcDeviceValid;
UINT8 L05NfcDevice;
//
// Intel (R) SGX Submenu
//
BOOLEAN L05IntelSgxValid;
UINT8 L05IntelSgx;
//
// Security Page
//
BOOLEAN L05SecureBootValid;
UINT8 L05SecureBoot;
BOOLEAN L05SecureBootStatusValid;
UINT8 L05SecureBootStatus;
BOOLEAN L05PlatformModeValid;
UINT8 L05PlatformMode;
BOOLEAN L05SecureBootModeValid;
UINT8 L05SecureBootMode;
BOOLEAN L05ResetToSetupModeValid;
UINT8 L05ResetToSetupMode;
BOOLEAN L05RestoreFactoryKeysValid;
UINT8 L05RestoreFactoryKeys;
//
// Boot Page
//
BOOLEAN L05BootModeValid;
UINT8 L05BootMode;
BOOLEAN L05BootPriorityValid;
UINT8 L05BootPriority;
BOOLEAN L05FastBootValid;
UINT8 L05FastBoot;
BOOLEAN L05UsbBootValid;
UINT8 L05UsbBoot;
BOOLEAN L05PxeBootToLanValid;
UINT8 L05PxeBootToLan;
BOOLEAN L05PxeIpv4FirstValid;
UINT8 L05PxeIpv4First;
BOOLEAN L05EfiBootOrderValid;
UINT16 *L05EfiBootOrder;
UINT16 L05EfiBootOrderCount;
L05_WMI_BOOT_DESCRIPTION *L05WmiEfiBootDescription;
BOOLEAN L05LegacyBootOrderValid;
UINT16 *L05LegacyBootOrder;
UINT16 L05LegacyBootOrderCount;
L05_WMI_BOOT_DESCRIPTION *L05WmiLegacyBootDescription;
//
// Exit Page
//
BOOLEAN L05OsOptimizedDefaultValid;
UINT8 L05OsOptimizedDefault;
} L05_WMI_SETUP_ITEM;
#pragma pack ()
#endif