mirror of https://github.com/acidanthera/audk.git
Retire GenBin directory since we have created EdkShellPkg and its own DSC file to generate Shell binaries in this package.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5686 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
2c3a2aea51
commit
d1a44d08c1
|
@ -1,146 +0,0 @@
|
||||||
#/** @file
|
|
||||||
# This package build validate file is used to generate the shell binaries in this package.
|
|
||||||
# It depends on EdkCompatibilityPkg, Edk Shell source packge & BaseTools package.
|
|
||||||
#
|
|
||||||
# Copyright (c) 2008. Intel Corporation
|
|
||||||
#
|
|
||||||
# All rights reserved. This program and the accompanying materials
|
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
|
||||||
# http://opensource.org/licenses/bsd-license.php
|
|
||||||
#
|
|
||||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
||||||
#
|
|
||||||
#**/
|
|
||||||
|
|
||||||
[Defines]
|
|
||||||
PLATFORM_NAME = EdkShellPkg
|
|
||||||
PLATFORM_GUID = 761BEE8B-58E3-4014-B8F5-0214A8DFA7EE
|
|
||||||
PLATFORM_VERSION = 1.04
|
|
||||||
DSC_SPECIFICATION = 0x00010005
|
|
||||||
OUTPUT_DIRECTORY = Build/EdkShellPkg
|
|
||||||
SUPPORTED_ARCHITECTURES = IA32|IPF|X64
|
|
||||||
BUILD_TARGETS = DEBUG|RELEASE
|
|
||||||
SKUID_IDENTIFIER = DEFAULT
|
|
||||||
|
|
||||||
[Libraries]
|
|
||||||
#
|
|
||||||
# Libraries common to PEI and DXE
|
|
||||||
#
|
|
||||||
EdkCompatibilityPkg/Foundation/Efi/Guid/EfiGuidLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Framework/Guid/EdkFrameworkGuidLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Guid/EdkGuidLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIA64Lib/CpuIA64Lib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/CustomizedDecompress/CustomizedDecompress.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/Dxe/Hob/HobLib.inf
|
|
||||||
#
|
|
||||||
# PEI libraries
|
|
||||||
#
|
|
||||||
EdkCompatibilityPkg/Foundation/Framework/Ppi/EdkFrameworkPpiLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/Pei/Hob/PeiHobLib.inf
|
|
||||||
#
|
|
||||||
# DXE libraries
|
|
||||||
#
|
|
||||||
EdkCompatibilityPkg/Foundation/Core/Dxe/ArchProtocol/ArchProtocolLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Framework/Protocol/EdkFrameworkProtocolLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Protocol/EdkProtocolLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/Dxe/Graphics/Graphics.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/EfiIfrSupportLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiEfiIfrSupportLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/Dxe/Print/PrintLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/Dxe/EfiScriptLib/EfiScriptLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.inf
|
|
||||||
#
|
|
||||||
# Print/Graphics Library consume SetupBrowser Print Protocol
|
|
||||||
#
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/Dxe/PrintLite/PrintLib.inf
|
|
||||||
EdkCompatibilityPkg/Foundation/Library/Dxe/GraphicsLite/Graphics.inf
|
|
||||||
#
|
|
||||||
# Shell Library
|
|
||||||
#
|
|
||||||
EdkCompatibilityPkg/Shell/Library/EfiShellLib.inf
|
|
||||||
|
|
||||||
|
|
||||||
[Components]
|
|
||||||
#
|
|
||||||
# Shell.inf & ShellFull.inf can not be included at once to avoid over
|
|
||||||
#
|
|
||||||
EdkCompatibilityPkg/Shell/Shell.inf
|
|
||||||
EdkCompatibilityPkg/Shell/ShellFull.inf
|
|
||||||
EdkCompatibilityPkg/Shell/attrib/attrib.inf
|
|
||||||
EdkCompatibilityPkg/Shell/cls/cls.inf
|
|
||||||
EdkCompatibilityPkg/Shell/comp/comp.inf
|
|
||||||
EdkCompatibilityPkg/Shell/cp/cp.inf
|
|
||||||
EdkCompatibilityPkg/Shell/date/date.inf
|
|
||||||
EdkCompatibilityPkg/Shell/dblk/dblk.inf
|
|
||||||
EdkCompatibilityPkg/Shell/devices/devices.inf
|
|
||||||
EdkCompatibilityPkg/Shell/DeviceTree/devicetree.inf
|
|
||||||
EdkCompatibilityPkg/Shell/dmem/dmem.inf
|
|
||||||
EdkCompatibilityPkg/Shell/dmpstore/dmpstore.inf
|
|
||||||
EdkCompatibilityPkg/Shell/drivers/drivers.inf
|
|
||||||
EdkCompatibilityPkg/Shell/drvcfg/drvcfg.inf
|
|
||||||
EdkCompatibilityPkg/Shell/drvdiag/drvdiag.inf
|
|
||||||
EdkCompatibilityPkg/Shell/edit/edit.inf
|
|
||||||
EdkCompatibilityPkg/Shell/EfiCompress/compress.inf
|
|
||||||
EdkCompatibilityPkg/Shell/EfiDecompress/Decompress.inf
|
|
||||||
EdkCompatibilityPkg/Shell/err/err.inf
|
|
||||||
EdkCompatibilityPkg/Shell/guid/guid.inf
|
|
||||||
EdkCompatibilityPkg/Shell/hexedit/hexedit.inf
|
|
||||||
EdkCompatibilityPkg/Shell/IfConfig/IfConfig.inf
|
|
||||||
EdkCompatibilityPkg/Shell/IpConfig/IpConfig.inf
|
|
||||||
EdkCompatibilityPkg/Shell/load/load.inf
|
|
||||||
EdkCompatibilityPkg/Shell/LoadPciRom/LoadPciRom.inf
|
|
||||||
EdkCompatibilityPkg/Shell/ls/ls.inf
|
|
||||||
EdkCompatibilityPkg/Shell/mem/mem.inf
|
|
||||||
EdkCompatibilityPkg/Shell/memmap/memmap.inf
|
|
||||||
EdkCompatibilityPkg/Shell/mkdir/mkdir.inf
|
|
||||||
EdkCompatibilityPkg/Shell/mm/mm.inf
|
|
||||||
EdkCompatibilityPkg/Shell/mode/mode.inf
|
|
||||||
EdkCompatibilityPkg/Shell/mount/mount.inf
|
|
||||||
EdkCompatibilityPkg/Shell/mv/mv.inf
|
|
||||||
EdkCompatibilityPkg/Shell/newshell/nshell.inf
|
|
||||||
EdkCompatibilityPkg/Shell/openinfo/openinfo.inf
|
|
||||||
EdkCompatibilityPkg/Shell/pci/pci.inf
|
|
||||||
EdkCompatibilityPkg/Shell/Ping/Ping.inf
|
|
||||||
EdkCompatibilityPkg/Shell/reset/reset.inf
|
|
||||||
EdkCompatibilityPkg/Shell/rm/rm.inf
|
|
||||||
EdkCompatibilityPkg/Shell/sermode/sermode.inf
|
|
||||||
EdkCompatibilityPkg/Shell/SmbiosView/Smbiosview.inf
|
|
||||||
EdkCompatibilityPkg/Shell/stall/stall.inf
|
|
||||||
EdkCompatibilityPkg/Shell/TelnetMgmt/TelnetMgmt.inf
|
|
||||||
EdkCompatibilityPkg/Shell/time/time.inf
|
|
||||||
EdkCompatibilityPkg/Shell/touch/touch.inf
|
|
||||||
EdkCompatibilityPkg/Shell/type/type.inf
|
|
||||||
EdkCompatibilityPkg/Shell/tzone/timezone.inf
|
|
||||||
EdkCompatibilityPkg/Shell/unload/unload.inf
|
|
||||||
EdkCompatibilityPkg/Shell/ver/Ver.inf
|
|
||||||
EdkCompatibilityPkg/Shell/vol/Vol.inf
|
|
||||||
|
|
||||||
[BuildOptions]
|
|
||||||
*_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32
|
|
||||||
*_*_IA32_ASM_FLAGS = /DEFI32
|
|
||||||
*_*_IA32_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32
|
|
||||||
*_*_IA32_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32
|
|
||||||
*_*_IA32_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32
|
|
||||||
|
|
||||||
*_*_X64_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64
|
|
||||||
*_*_X64_ASM_FLAGS = /DEFIX64
|
|
||||||
*_*_X64_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64
|
|
||||||
*_*_X64_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64
|
|
||||||
*_*_X64_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64
|
|
||||||
|
|
||||||
*_*_IPF_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
|
|
||||||
*_*_IPF_ASM_FLAGS =
|
|
||||||
*_*_IPF_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
|
|
||||||
*_*_IPF_APP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
|
|
||||||
*_*_IPF_PP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64
|
|
||||||
|
|
|
@ -1,325 +0,0 @@
|
||||||
diff -urN --binary -a -x CVS Oldv1.5/Application/Shell/Library/EfiShellLib.h Newv1.5/Application/Shell/Library/EfiShellLib.h
|
|
||||||
--- Oldv1.5/Application/Shell/Library/EfiShellLib.h 2008-06-10 13:46:56.000000000 +0800
|
|
||||||
+++ Newv1.5/Application/Shell/Library/EfiShellLib.h 2008-07-09 11:45:28.026417300 +0800
|
|
||||||
@@ -174,22 +174,23 @@
|
|
||||||
//
|
|
||||||
// Environment variable name constants
|
|
||||||
//
|
|
||||||
-#define VarLanguageCodes L"LangCodes"
|
|
||||||
-#define VarLanguage L"Lang"
|
|
||||||
-#define VarTimeout L"Timeout"
|
|
||||||
-#define VarConsoleIn L"ConIn"
|
|
||||||
-#define VarConsoleOut L"ConOut"
|
|
||||||
-#define VarErrorOut L"ErrOut"
|
|
||||||
-#define VarBootOption L"Boot%04x"
|
|
||||||
-#define VarBootOrder L"BootOrder"
|
|
||||||
-#define VarBootNext L"BootNext"
|
|
||||||
-#define VarBootCurrent L"BootCurrent"
|
|
||||||
-#define VarDriverOption L"Driver%04x"
|
|
||||||
-#define VarDriverOrder L"DriverOrder"
|
|
||||||
-#define VarConsoleInpDev L"ConInDev"
|
|
||||||
-#define VarConsoleOutDev L"ConOutDev"
|
|
||||||
-#define VarErrorOutDev L"ErrOutDev"
|
|
||||||
-#define LanguageCodeEnglish "eng"
|
|
||||||
+#define VarLanguageCodes L"LangCodes"
|
|
||||||
+#define VarLanguage L"Lang"
|
|
||||||
+#define VarTimeout L"Timeout"
|
|
||||||
+#define VarConsoleIn L"ConIn"
|
|
||||||
+#define VarConsoleOut L"ConOut"
|
|
||||||
+#define VarErrorOut L"ErrOut"
|
|
||||||
+#define VarBootOption L"Boot%04x"
|
|
||||||
+#define VarBootOrder L"BootOrder"
|
|
||||||
+#define VarBootNext L"BootNext"
|
|
||||||
+#define VarBootCurrent L"BootCurrent"
|
|
||||||
+#define VarDriverOption L"Driver%04x"
|
|
||||||
+#define VarDriverOrder L"DriverOrder"
|
|
||||||
+#define VarConsoleInpDev L"ConInDev"
|
|
||||||
+#define VarConsoleOutDev L"ConOutDev"
|
|
||||||
+#define VarErrorOutDev L"ErrOutDev"
|
|
||||||
+#define LanguageCodeEnglish "eng"
|
|
||||||
+#define PlatformLanguageCodeEnglish "en-US"
|
|
||||||
|
|
||||||
#define ISO_639_2_ENTRY_SIZE 3
|
|
||||||
#define RFC_3066_ENTRY_SIZE 12
|
|
||||||
@@ -333,4 +334,10 @@
|
|
||||||
IN CHAR8 *LangCode
|
|
||||||
);
|
|
||||||
|
|
||||||
+CHAR8 *
|
|
||||||
+ExtractSupportedLanguage (
|
|
||||||
+ IN CONST CHAR8 *SupportedLanguages,
|
|
||||||
+ IN CONST CHAR8 *Language
|
|
||||||
+ );
|
|
||||||
+
|
|
||||||
#endif
|
|
||||||
diff -urN --binary -a -x CVS Oldv1.5/Application/Shell/Library/Misc.c Newv1.5/Application/Shell/Library/Misc.c
|
|
||||||
--- Oldv1.5/Application/Shell/Library/Misc.c 2008-06-10 13:46:56.000000000 +0800
|
|
||||||
+++ Newv1.5/Application/Shell/Library/Misc.c 2008-07-09 11:45:28.088917700 +0800
|
|
||||||
@@ -2271,3 +2271,76 @@
|
|
||||||
}
|
|
||||||
return Lang;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+CHAR8 *
|
|
||||||
+ExtractSupportedLanguage (
|
|
||||||
+ IN CONST CHAR8 *SupportedLanguages,
|
|
||||||
+ IN CONST CHAR8 *Language
|
|
||||||
+ )
|
|
||||||
+/*++
|
|
||||||
+
|
|
||||||
+ Routine Description:
|
|
||||||
+
|
|
||||||
+ This function matches the major language code (first two characters) in the
|
|
||||||
+ SupportedLanguages. The first language code in the SupportedLanguages that
|
|
||||||
+ matches first two characters of the input Language is returned. If there is no
|
|
||||||
+ such match, then NULL is returned.
|
|
||||||
+
|
|
||||||
+ Arguments:
|
|
||||||
+
|
|
||||||
+ SupportedLanguages - A Null-terminated ASCII string that contains one
|
|
||||||
+ or more supported language codes.
|
|
||||||
+
|
|
||||||
+ LangCode - A pointer to a Null-terminated ASCII string
|
|
||||||
+ array indicating the RFC 3066 language.
|
|
||||||
+
|
|
||||||
+ Returns:
|
|
||||||
+
|
|
||||||
+ The RFC3066 language code that matches the major language.
|
|
||||||
+
|
|
||||||
+--*/
|
|
||||||
+{
|
|
||||||
+ CONST CHAR8 *CurrentLanguage;
|
|
||||||
+ CHAR8 *SupportedLanguage;
|
|
||||||
+ UINTN LanguageLen;
|
|
||||||
+
|
|
||||||
+ CurrentLanguage = SupportedLanguages;
|
|
||||||
+
|
|
||||||
+ while (CurrentLanguage != '\0') {
|
|
||||||
+ //
|
|
||||||
+ // Search till the end of current language.
|
|
||||||
+ //
|
|
||||||
+ LanguageLen = 0;
|
|
||||||
+ while (CurrentLanguage[LanguageLen] != ';' && CurrentLanguage[LanguageLen] != '\0') {
|
|
||||||
+ LanguageLen++;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ //
|
|
||||||
+ // should use AsciiStrnCmp(CurrentLanguage, Language, 2) == 0
|
|
||||||
+ //
|
|
||||||
+ if ((CurrentLanguage[0] == Language[0]) && (CurrentLanguage[1] == Language[1])) {
|
|
||||||
+ //
|
|
||||||
+ // Match the major language code, then return a new copy of
|
|
||||||
+ // NULL-terminated SupportedLanguage.
|
|
||||||
+ //
|
|
||||||
+ SupportedLanguage = AllocatePool (LanguageLen + 1);
|
|
||||||
+ CopyMem (SupportedLanguage, (VOID *) CurrentLanguage, LanguageLen);
|
|
||||||
+
|
|
||||||
+ SupportedLanguage[LanguageLen] = '\0';
|
|
||||||
+
|
|
||||||
+ return SupportedLanguage;
|
|
||||||
+ }
|
|
||||||
+ //
|
|
||||||
+ // Make CurrentLangue point to the next candiate language code.
|
|
||||||
+ //
|
|
||||||
+ CurrentLanguage += LanguageLen;
|
|
||||||
+ if (*CurrentLanguage == ';') {
|
|
||||||
+ CurrentLanguage++;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return NULL;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
diff -urN --binary -a -x CVS Oldv1.5/Application/Shell/SmbiosView/PrintInfo.c Newv1.5/Application/Shell/SmbiosView/PrintInfo.c
|
|
||||||
--- Oldv1.5/Application/Shell/SmbiosView/PrintInfo.c 2007-11-26 14:01:00.000000000 +0800
|
|
||||||
+++ Newv1.5/Application/Shell/SmbiosView/PrintInfo.c 2008-07-09 12:36:07.646190700 +0800
|
|
||||||
@@ -1779,7 +1779,7 @@
|
|
||||||
//
|
|
||||||
// MaxSize is determined by follow formula
|
|
||||||
//
|
|
||||||
- MaxSize = 1 << Size;
|
|
||||||
+ MaxSize = (UINTN) 1 << Size;
|
|
||||||
PrintToken (STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_MB), HiiHandle, MaxSize);
|
|
||||||
|
|
||||||
if (Option >= SHOW_DETAIL) {
|
|
||||||
diff -urN --binary -a -x CVS Oldv1.5/Application/Shell/SmbiosView/Smbios.h Newv1.5/Application/Shell/SmbiosView/Smbios.h
|
|
||||||
--- Oldv1.5/Application/Shell/SmbiosView/Smbios.h 2006-03-07 16:20:46.000000000 +0800
|
|
||||||
+++ Newv1.5/Application/Shell/SmbiosView/Smbios.h 2008-07-09 10:29:41.548254500 +0800
|
|
||||||
@@ -34,11 +34,6 @@
|
|
||||||
|
|
||||||
extern EFI_HII_HANDLE HiiHandle;
|
|
||||||
|
|
||||||
-#define EFI_SMBIOS_TABLE_GUID \
|
|
||||||
- { \
|
|
||||||
- 0xeb9d2d31, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d \
|
|
||||||
- }
|
|
||||||
|
|
||||||
-extern EFI_GUID gEfiSmbiosTableGuid;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
diff -urN --binary -a -x CVS Oldv1.5/Application/Shell/drivers/drivers.c Newv1.5/Application/Shell/drivers/drivers.c
|
|
||||||
--- Oldv1.5/Application/Shell/drivers/drivers.c 2008-05-26 13:22:52.000000000 +0800
|
|
||||||
+++ Newv1.5/Application/Shell/drivers/drivers.c 2008-07-09 12:36:16.552668700 +0800
|
|
||||||
@@ -130,6 +130,7 @@
|
|
||||||
UINTN StringIndex;
|
|
||||||
UINTN Index;
|
|
||||||
CHAR8 *Language;
|
|
||||||
+ CHAR8 *PlatformLanguage;
|
|
||||||
UINTN DriverImageHandleCount;
|
|
||||||
EFI_HANDLE *DriverImageHandleBuffer;
|
|
||||||
UINTN HandleIndex;
|
|
||||||
@@ -152,6 +153,7 @@
|
|
||||||
SHELL_VAR_CHECK_PACKAGE ChkPck;
|
|
||||||
|
|
||||||
Language = NULL;
|
|
||||||
+ PlatformLanguage = NULL;
|
|
||||||
DriverImageHandleCount = 0;
|
|
||||||
DriverImageHandleBuffer = NULL;
|
|
||||||
IsHelp = FALSE;
|
|
||||||
@@ -241,7 +243,7 @@
|
|
||||||
goto Done;
|
|
||||||
}
|
|
||||||
|
|
||||||
- Language = LibGetVariableLang ();
|
|
||||||
+ Language = LibGetVariable (L"Lang", &gEfiGlobalVariableGuid);
|
|
||||||
if (Language == NULL) {
|
|
||||||
Language = (CHAR8 *)AllocateZeroPool(strlena(LanguageCodeEnglish) + 1);
|
|
||||||
if (Language == NULL) {
|
|
||||||
@@ -250,6 +252,15 @@
|
|
||||||
strcpya(Language, LanguageCodeEnglish);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ PlatformLanguage = LibGetVariable (L"PlatformLang", &gEfiGlobalVariableGuid);
|
|
||||||
+ if (PlatformLanguage == NULL) {
|
|
||||||
+ PlatformLanguage = (CHAR8 *)AllocateZeroPool(strlena(PlatformLanguageCodeEnglish) + 1);
|
|
||||||
+ if (PlatformLanguage == NULL) {
|
|
||||||
+ return EFI_OUT_OF_RESOURCES;
|
|
||||||
+ }
|
|
||||||
+ strcpya(PlatformLanguage, PlatformLanguageCodeEnglish);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
Item = LibCheckVarGetFlag (&ChkPck, L"-l");
|
|
||||||
if (Item) {
|
|
||||||
if (Language != NULL) {
|
|
||||||
@@ -314,14 +325,6 @@
|
|
||||||
EFI_OPEN_PROTOCOL_GET_PROTOCOL
|
|
||||||
);
|
|
||||||
|
|
||||||
- ComponentName = NULL;
|
|
||||||
- ComponentName2 = NULL;
|
|
||||||
- Status = LibGetComponentNameProtocol (
|
|
||||||
- DriverImageHandleBuffer[Index],
|
|
||||||
- &ComponentName,
|
|
||||||
- &ComponentName2
|
|
||||||
- );
|
|
||||||
-
|
|
||||||
DiagnosticsStatus = BS->OpenProtocol (
|
|
||||||
DriverImageHandleBuffer[Index],
|
|
||||||
&gEfiDriverDiagnostics2ProtocolGuid,
|
|
||||||
@@ -418,37 +421,73 @@
|
|
||||||
} else {
|
|
||||||
PrintToken (STRING_TOKEN (STR_SHELLENV_PROTID_ONE_VAR_D), HiiHandle, NumberOfChildren);
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- Status = EFI_SUCCESS;
|
|
||||||
+
|
|
||||||
DriverName = L"<UNKNOWN>";
|
|
||||||
- SupportedLanguage = NULL;
|
|
||||||
- if (ComponentName != NULL) {
|
|
||||||
- if (ComponentName->GetDriverName != NULL) {
|
|
||||||
- SupportedLanguage = LibConvertSupportedLanguage (ComponentName->SupportedLanguages, Language);
|
|
||||||
+ Status = BS->OpenProtocol (
|
|
||||||
+ DriverImageHandleBuffer[Index],
|
|
||||||
+ &gEfiComponentName2ProtocolGuid,
|
|
||||||
+ (VOID **) &ComponentName2,
|
|
||||||
+ NULL,
|
|
||||||
+ NULL,
|
|
||||||
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL
|
|
||||||
+ );
|
|
||||||
+ if (!EFI_ERROR (Status)) {
|
|
||||||
+ //
|
|
||||||
+ // Driver has Component Name 2 Protocol is available, we get the
|
|
||||||
+ // driver name var RFC 3066 language code
|
|
||||||
+ //
|
|
||||||
+ Status = ComponentName2->GetDriverName (
|
|
||||||
+ ComponentName2,
|
|
||||||
+ PlatformLanguage,
|
|
||||||
+ &DriverName
|
|
||||||
+ );
|
|
||||||
+ if (EFI_ERROR (Status)) {
|
|
||||||
+ //
|
|
||||||
+ // Current RFC3066 language code fails, we then extract the supported
|
|
||||||
+ // language from Component Name 2 protocol interface.
|
|
||||||
+ //
|
|
||||||
+ SupportedLanguage = ExtractSupportedLanguage(ComponentName2->SupportedLanguages, Language);
|
|
||||||
+ if (SupportedLanguage != NULL) {
|
|
||||||
+ Status = ComponentName2->GetDriverName (
|
|
||||||
+ ComponentName2,
|
|
||||||
+ SupportedLanguage,
|
|
||||||
+ &DriverName
|
|
||||||
+ );
|
|
||||||
+ FreePool(SupportedLanguage);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ if (EFI_ERROR (Status)) {
|
|
||||||
+ //
|
|
||||||
+ // In case Component Name 2 protocol is not available or some error occurs
|
|
||||||
+ // when getting driver name from Component Name 2 protocol, we get driver
|
|
||||||
+ // name from Component Name protocol.
|
|
||||||
+ //
|
|
||||||
+ Status = BS->OpenProtocol (
|
|
||||||
+ DriverImageHandleBuffer[Index],
|
|
||||||
+ &gEfiComponentNameProtocolGuid,
|
|
||||||
+ (VOID **) &ComponentName,
|
|
||||||
+ NULL,
|
|
||||||
+ NULL,
|
|
||||||
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL
|
|
||||||
+ );
|
|
||||||
+ if (!EFI_ERROR (Status)) {
|
|
||||||
Status = ComponentName->GetDriverName (
|
|
||||||
ComponentName,
|
|
||||||
- SupportedLanguage,
|
|
||||||
+ Language,
|
|
||||||
&DriverName
|
|
||||||
);
|
|
||||||
}
|
|
||||||
- } else if (ComponentName2 != NULL) {
|
|
||||||
- if (ComponentName2->GetDriverName != NULL) {
|
|
||||||
- SupportedLanguage = LibConvertSupportedLanguage (ComponentName2->SupportedLanguages, Language);
|
|
||||||
- Status = ComponentName2->GetDriverName (
|
|
||||||
- ComponentName2,
|
|
||||||
- SupportedLanguage,
|
|
||||||
- &DriverName
|
|
||||||
- );
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
- if (SupportedLanguage != NULL) {
|
|
||||||
- FreePool (SupportedLanguage);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
+ //
|
|
||||||
+ // Fails to get driver name from either Component Name 2 & Component Name
|
|
||||||
+ // Protocol, we show "<UNKNOWN>" string as driver name.
|
|
||||||
+ //
|
|
||||||
DriverName = L"<UNKNOWN>";
|
|
||||||
}
|
|
||||||
|
|
||||||
+
|
|
||||||
for (StringIndex = 0; StringIndex < StrLen (DriverName) && StringIndex < 35; StringIndex++) {
|
|
||||||
FormattedDriverName[StringIndex] = DriverName[StringIndex];
|
|
||||||
}
|
|
||||||
@@ -491,6 +530,10 @@
|
|
||||||
FreePool (Language);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (PlatformLanguage != NULL) {
|
|
||||||
+ FreePool (PlatformLanguage);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
ShellCloseHandleEnumerator ();
|
|
||||||
LibCheckVarFreeVarList (&ChkPck);
|
|
||||||
LibUnInitializeStrings ();
|
|
Loading…
Reference in New Issue