summaryrefslogtreecommitdiff
path: root/EdkShellBinPkg/GenBin/Shell_HotFix.diff
diff options
context:
space:
mode:
Diffstat (limited to 'EdkShellBinPkg/GenBin/Shell_HotFix.diff')
-rw-r--r--EdkShellBinPkg/GenBin/Shell_HotFix.diff325
1 files changed, 0 insertions, 325 deletions
diff --git a/EdkShellBinPkg/GenBin/Shell_HotFix.diff b/EdkShellBinPkg/GenBin/Shell_HotFix.diff
deleted file mode 100644
index 2bff57c..0000000
--- a/EdkShellBinPkg/GenBin/Shell_HotFix.diff
+++ /dev/null
@@ -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 ();