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; }