From 8051ac7985a2cef1e561fdf1f4258ae640d3735b Mon Sep 17 00:00:00 2001 From: kavsrf Date: Sat, 28 Jan 2017 23:24:00 +0300 Subject: DcsDriver config key supported (install/remove dirver) --- Library/CommonLib/EfiVar.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Library') diff --git a/Library/CommonLib/EfiVar.c b/Library/CommonLib/EfiVar.c index 2a6e59e..fad6eb5 100644 --- a/Library/CommonLib/EfiVar.c +++ b/Library/CommonLib/EfiVar.c @@ -80,7 +80,11 @@ BootOrderInsert( UINTN i; UINTN j; res = EfiGetVar(OrderVarName, &gEfiGlobalVariableGuid, &varBootOrder, &varBootOrderSize, &varBootOrderAttr); - if (EFI_ERROR(res)) return res; + if (EFI_ERROR(res)) { + res = EfiSetVar(OrderVarName, &gEfiGlobalVariableGuid, &value, 2, + EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS); + return res; + } BootOrderCount = varBootOrderSize / sizeof(UINT16); varBootOrderNew = MEM_ALLOC((BootOrderCount + 1) * sizeof(UINT16)); if (BootOrderCount < index) index = BootOrderCount - 1; -- cgit v1.2.3