From db90ad3dbb495c010c685b0ad25399326a5d954f Mon Sep 17 00:00:00 2001 From: PMheart <17109513+PMheart@users.noreply.github.com> Date: Thu, 7 Jan 2021 17:57:53 +0800 Subject: [PATCH] ocvalidate: `PickerAudioAssist` requires `AudioSupport` in `UEFI->Audio` to be enabled. --- Utilities/ocvalidate/README.md | 1 + Utilities/ocvalidate/ValidateMisc.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/Utilities/ocvalidate/README.md b/Utilities/ocvalidate/README.md index 52ab7d37..562ba6d7 100644 --- a/Utilities/ocvalidate/README.md +++ b/Utilities/ocvalidate/README.md @@ -65,6 +65,7 @@ Utility to validate whether a `config.plist` matches requirements and convention #### Boot - HibernateMode: Only `None`, `Auto`, `RTC`, or `NVRAM` are accepted. - PickerMode: Only `Builtin`, `External`, or `Apple` are accepted. +- `PickerAudioAssist` requires `AudioSupport` in `UEFI->Audio` to be enabled. #### Security - AuthRestart: If enabled, `VirtualSMC.kext` should be present in `Kernel->Add`. - BootProtect: Only `None`, `Bootstrap`, or `BootstrapShort` are accepted. When set to the latter two, `RequestBootVarRouting` should be enabled in `UEFI->Quirks`. diff --git a/Utilities/ocvalidate/ValidateMisc.c b/Utilities/ocvalidate/ValidateMisc.c index e6252caa..b907a229 100644 --- a/Utilities/ocvalidate/ValidateMisc.c +++ b/Utilities/ocvalidate/ValidateMisc.c @@ -148,14 +148,18 @@ CheckMiscBoot ( { UINT32 ErrorCount; OC_MISC_CONFIG *UserMisc; + OC_UEFI_CONFIG *UserUefi; UINT32 ConsoleAttributes; CONST CHAR8 *HibernateMode; UINT32 PickerAttributes; CONST CHAR8 *PickerMode; CONST CHAR8 *PickerVariant; + BOOLEAN IsPickerAudioAssistEnabled; + BOOLEAN IsAudioSupportEnabled; ErrorCount = 0; UserMisc = &Config->Misc; + UserUefi = &Config->Uefi; ConsoleAttributes = UserMisc->Boot.ConsoleAttributes; if ((ConsoleAttributes & ~0x7FU) != 0) { @@ -195,6 +199,13 @@ CheckMiscBoot ( ++ErrorCount; } + IsPickerAudioAssistEnabled = UserMisc->Boot.PickerAudioAssist; + IsAudioSupportEnabled = UserUefi->Audio.AudioSupport; + if (IsPickerAudioAssistEnabled && !IsAudioSupportEnabled) { + DEBUG ((DEBUG_WARN, "Misc->Boot->PickerAudioAssist is enabled, but UEFI->Audio->AudioSupport is not enabled altogether!\n")); + ++ErrorCount; + } + return ErrorCount; }