/** @file Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include #include #include #include #include #include #include #include BOOLEAN IsDevicePathExist ( IN EFI_DEVICE_PATH_PROTOCOL *DevicePathTarget ); CHAR16 *mConsoleVariableList[] = { L"ConIn", L"ConInDev", L"ConOut", L"ConOutDev", L"ErrOut", L"ErrOutDev", }; VOID DumpDevicePath ( IN CHAR16 *Name, IN EFI_DEVICE_PATH *DevicePath, IN UINTN Size ) { CHAR16 *Str; Str = ConvertDevicePathToText(DevicePath, TRUE, TRUE); DEBUG ((DEBUG_INFO, "%s: %s\n", Name, Str)); if (Str != NULL) { FreePool (Str); } } EFI_STATUS TestPointCheckConsoleVariable ( VOID ) { VOID *Variable; UINTN Size; UINTN Index; EFI_STATUS Status; BOOLEAN Result; Result = TRUE; DEBUG ((DEBUG_INFO, "==== TestPointCheckConsoleVariable - Enter\n")); for (Index = 0; Index < sizeof(mConsoleVariableList)/sizeof(mConsoleVariableList[0]); Index++) { Status = GetVariable2 (mConsoleVariableList[Index], &gEfiGlobalVariableGuid, &Variable, &Size); if (!EFI_ERROR(Status)) { DumpDevicePath (mConsoleVariableList[Index], Variable, Size); if (!IsDevicePathExist (Variable)) { DEBUG ((DEBUG_ERROR, "DevicePath not found!\n")); Result = FALSE; TestPointLibAppendErrorString ( PLATFORM_TEST_POINT_ROLE_PLATFORM_IBV, NULL, TEST_POINT_BYTE4_READY_TO_BOOT_UEFI_CONSOLE_VARIABLE_FUNCTIONAL_ERROR_CODE \ TEST_POINT_READY_TO_BOOT \ TEST_POINT_BYTE4_READY_TO_BOOT_UEFI_CONSOLE_VARIABLE_FUNCTIONAL_ERROR_STRING ); } } } DEBUG ((DEBUG_INFO, "==== TestPointCheckConsoleVariable - Exit\n")); if (Result) { return EFI_SUCCESS; } else { return EFI_INVALID_PARAMETER; } }