You've already forked DasharoModulePkg
mirror of
https://github.com/Dasharo/DasharoModulePkg.git
synced 2026-03-06 14:50:17 -08:00
Library/DasharoSystemFeaturesUiLib: add PS2 Controller option
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
This commit is contained in:
@@ -16,12 +16,14 @@ STATIC CHAR16 mMeModeEfiVar[] = L"MeMode";
|
||||
STATIC CHAR16 mNetworkBootEfiVar[] = L"NetworkBoot";
|
||||
STATIC CHAR16 mUsbStackEfiVar[] = L"UsbDriverStack";
|
||||
STATIC CHAR16 mUsbMassStorageEfiVar[] = L"UsbMassStorage";
|
||||
STATIC CHAR16 mPs2ControllerEfiVar[] = L"Ps2Controller";
|
||||
STATIC BOOLEAN mUsbStackDefault = TRUE;
|
||||
STATIC BOOLEAN mUsbMassStorageDefault = TRUE;
|
||||
STATIC BOOLEAN mLockBiosDefault = TRUE;
|
||||
STATIC BOOLEAN mSmmBwpDefault = FALSE;
|
||||
STATIC BOOLEAN mNetworkBootDefault = FALSE;
|
||||
STATIC UINT8 mMeModeDefault = ME_MODE_ENABLE;
|
||||
STATIC BOOLEAN mPs2ControllerDefault = FALSE;
|
||||
|
||||
STATIC DASHARO_SYSTEM_FEATURES_PRIVATE_DATA mDasharoSystemFeaturesPrivate = {
|
||||
DASHARO_SYSTEM_FEATURES_PRIVATE_DATA_SIGNATURE,
|
||||
@@ -236,6 +238,30 @@ DasharoSystemFeaturesUiLibConstructor (
|
||||
return Status;
|
||||
}
|
||||
|
||||
BufferSize = sizeof (mDasharoSystemFeaturesPrivate.DasharoFeaturesData.Ps2Controller);
|
||||
Status = gRT->GetVariable (
|
||||
mPs2ControllerEfiVar,
|
||||
&gDasharoSystemFeaturesGuid,
|
||||
NULL,
|
||||
&BufferSize,
|
||||
&mDasharoSystemFeaturesPrivate.DasharoFeaturesData.Ps2Controller
|
||||
);
|
||||
|
||||
if (Status == EFI_NOT_FOUND) {
|
||||
Status = gRT->SetVariable (
|
||||
mPs2ControllerEfiVar,
|
||||
&gDasharoSystemFeaturesGuid,
|
||||
EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,
|
||||
sizeof (mPs2ControllerDefault),
|
||||
&mPs2ControllerDefault
|
||||
);
|
||||
mDasharoSystemFeaturesPrivate.DasharoFeaturesData.Ps2Controller = mPs2ControllerDefault;
|
||||
}
|
||||
|
||||
if (EFI_ERROR(Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -500,6 +526,19 @@ DasharoSystemFeaturesRouteConfig (
|
||||
}
|
||||
}
|
||||
|
||||
if (Private->DasharoFeaturesData.Ps2Controller != DasharoFeaturesData.Ps2Controller) {
|
||||
Status = gRT->SetVariable (
|
||||
mPs2ControllerEfiVar,
|
||||
&gDasharoSystemFeaturesGuid,
|
||||
EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,
|
||||
sizeof (DasharoFeaturesData.Ps2Controller),
|
||||
&DasharoFeaturesData.Ps2Controller
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
|
||||
Private->DasharoFeaturesData = DasharoFeaturesData;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -12,13 +12,14 @@ SPDX-License-Identifier: BSD-2-Clause
|
||||
#define DASHARO_SYSTEM_FEATURES_GUID \
|
||||
{ 0xd15b327e, 0xff2d, 0x4fc1, {0xab, 0xf6, 0xc1, 0x2b, 0xd0, 0x8c, 0x13, 0x59} }
|
||||
|
||||
#define DASHARO_SYSTEM_FEATURES_FORM_ID 0x1000
|
||||
#define DASHARO_SECURITY_OPTIONS_FORM_ID 0x1001
|
||||
#define DASHARO_NETWORK_OPTIONS_FORM_ID 0x1002
|
||||
#define DASHARO_USB_CONFIGURATION_FORM_ID 0x1003
|
||||
#define DASHARO_INTEL_ME_OPTIONS_FORM_ID 0x1004
|
||||
#define DASHARO_SYSTEM_FEATURES_FORM_ID 0x1000
|
||||
#define DASHARO_SECURITY_OPTIONS_FORM_ID 0x1001
|
||||
#define DASHARO_NETWORK_OPTIONS_FORM_ID 0x1002
|
||||
#define DASHARO_USB_CONFIGURATION_FORM_ID 0x1003
|
||||
#define DASHARO_INTEL_ME_OPTIONS_FORM_ID 0x1004
|
||||
#define DASHARO_CHIPSET_CONFIGURATION_FORM_ID 0x1005
|
||||
|
||||
#define DASHARO_FEATURES_DATA_VARSTORE_ID 0x0001
|
||||
#define DASHARO_FEATURES_DATA_VARSTORE_ID 0x0001
|
||||
|
||||
typedef struct {
|
||||
BOOLEAN LockBios;
|
||||
@@ -27,6 +28,7 @@ typedef struct {
|
||||
BOOLEAN UsbStack;
|
||||
BOOLEAN UsbMassStorage;
|
||||
UINT8 MeMode;
|
||||
BOOLEAN Ps2Controller;
|
||||
} DASHARO_FEATURES_DATA;
|
||||
|
||||
#define ME_MODE_ENABLE 0
|
||||
|
||||
@@ -26,6 +26,9 @@
|
||||
#string STR_DASHARO_USB_CONFIGURATION_TITLE #language en-US "USB Configuration"
|
||||
#string STR_DASHARO_USB_CONFIGURATION_HELP #language en-US "USB-related options"
|
||||
|
||||
#string STR_DASHARO_CHIPSET_CONFIGURATION_TITLE #language en-US "Chipset Configuration"
|
||||
#string STR_DASHARO_CHIPSET_CONFIGURATION_HELP #language en-US "Chipset-related options"
|
||||
|
||||
#string STR_LOCK_BIOS_PROMPT #language en-US "Lock the BIOS boot medium"
|
||||
#string STR_LOCK_BIOS_HELP #language en-US "Locks the recovery partition of vboot"
|
||||
|
||||
@@ -54,3 +57,6 @@
|
||||
#string STR_ME_MODE_ENABLE #language en-US "Enabled"
|
||||
#string STR_ME_MODE_DISABLE_HECI #language en-US "Disabled (Soft)"
|
||||
#string STR_ME_MODE_DISABLE_HAP #language en-US "Disabled (HAP)"
|
||||
|
||||
#string STR_PS2_CONTROLLER_ENABLE_PROMPT #language en-US "Enable PS2 Controller"
|
||||
#string STR_PS2_CONTROLLER_ENABLE_HELP #language en-US "Enables/disables the PS2 Controller. When enabled, PS/2 keyboards and mice will be detected in the firmware and operating system."
|
||||
|
||||
@@ -38,6 +38,10 @@ formset
|
||||
prompt = STRING_TOKEN(STR_DASHARO_INTEL_ME_OPTIONS_TITLE),
|
||||
help = STRING_TOKEN(STR_DASHARO_INTEL_ME_OPTIONS_HELP);
|
||||
|
||||
goto DASHARO_CHIPSET_CONFIGURATION_FORM_ID,
|
||||
prompt = STRING_TOKEN(STR_DASHARO_CHIPSET_CONFIGURATION_TITLE),
|
||||
help = STRING_TOKEN(STR_DASHARO_CHIPSET_CONFIGURATION_HELP);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_EMPTY_STRING);
|
||||
subtitle text = STRING_TOKEN(STR_EMPTY_STRING);
|
||||
subtitle text = STRING_TOKEN(STR_EXIT_STRING);
|
||||
@@ -126,4 +130,20 @@ formset
|
||||
subtitle text = STRING_TOKEN(STR_EXIT_STRING);
|
||||
endform;
|
||||
|
||||
form formid = DASHARO_CHIPSET_CONFIGURATION_FORM_ID,
|
||||
title = STRING_TOKEN(STR_DASHARO_CHIPSET_CONFIGURATION_TITLE);
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_EMPTY_STRING);
|
||||
|
||||
checkbox varid = FeaturesData.Ps2Controller,
|
||||
prompt = STRING_TOKEN(STR_PS2_CONTROLLER_ENABLE_PROMPT),
|
||||
help = STRING_TOKEN(STR_PS2_CONTROLLER_ENABLE_HELP),
|
||||
flags = INTERACTIVE,
|
||||
endcheckbox;
|
||||
|
||||
subtitle text = STRING_TOKEN(STR_EMPTY_STRING);
|
||||
subtitle text = STRING_TOKEN(STR_EMPTY_STRING);
|
||||
subtitle text = STRING_TOKEN(STR_EXIT_STRING);
|
||||
endform;
|
||||
|
||||
endformset;
|
||||
|
||||
Reference in New Issue
Block a user