SHEL4
authorhfang <hfang@0aefa8ac-fc23-0410-b7a3-bf826d37e4c2>
Thu, 9 Feb 2006 08:05:29 +0000 (08:05 +0000)
committerhfang <hfang@0aefa8ac-fc23-0410-b7a3-bf826d37e4c2>
Thu, 9 Feb 2006 08:05:29 +0000 (08:05 +0000)
git-svn-id: https://efi-shell.tianocore.org/svn/efi-shell/trunk/Shell@16 0aefa8ac-fc23-0410-b7a3-bf826d37e4c2

16 files changed:
Library/EfiShellLib.inf
Library/IO.c
Library/Misc.c
Library/Str.c
Library/X64/efilibplat.h [new file with mode: 0644]
Shell.inf
edit/libMenuBar.c
err/err.c
hexedit/libMenuBar.c
inc/shelltypes.h
newshell/FakeHii.c
newshell/FakeHii.h
shellenv/cmddisp.c
shellenv/marg.c
shellenv/parsecmd.c
ver/Ver.inf

index 9648b5c..1407b44 100644 (file)
@@ -58,6 +58,10 @@ COMPONENT_TYPE  = LIBRARY
   EBC\math.c
   EBC\initplat.c
   
+[sources.x64]
+  ipf\math.c
+  ia32\initplat.c
+
 [includes.common]
   .
   ..\Inc
index 75c109f..9bd440a 100644 (file)
@@ -448,7 +448,7 @@ Returns:
 {
   VA_LIST           args;
   CHAR16            *StringPtr;
-  UINT16            StringSize;
+  UINT            StringSize;
   EFI_HII_PROTOCOL  *Hii;
   UINTN             Value;
   EFI_STATUS        Status;
index 815cdce..575bac1 100644 (file)
@@ -539,7 +539,7 @@ Returns:
   //
   // Get all the forms associated with this HiiHandle
   //
-  Status = Hii->GetForms (Hii, HiiHandle, 0, (UINT16 *) &DataLength, RawData);
+  Status = Hii->GetForms (Hii, HiiHandle, 0, &DataLength, RawData);
 
   if (EFI_ERROR (Status)) {
     FreePool (RawData);
@@ -554,7 +554,7 @@ Returns:
     //
     // Get all the forms associated with this HiiHandle
     //
-    Status = Hii->GetForms (Hii, HiiHandle, 0, (UINT16 *) &DataLength, RawData);
+    Status = Hii->GetForms (Hii, HiiHandle, 0, &DataLength, RawData);
   }
 
   OldData = RawData;
@@ -1263,7 +1263,7 @@ Returns:
 --*/
 {
   EFI_STATUS        Status;
-  UINT16            StringSize;
+  UINT            StringSize;
   EFI_HII_PROTOCOL  *HiiProt;
 
   ASSERT (String);
index 5bc44bb..7b175be 100644 (file)
@@ -280,7 +280,7 @@ StrChr (
 {
   ASSERT (Str != NULL);
   
-  for (; *Str != (char) c; ++Str) {
+  for (; *Str != c; ++Str) {
     if (*Str == '\0') {
       return NULL;
     }
diff --git a/Library/X64/efilibplat.h b/Library/X64/efilibplat.h
new file mode 100644 (file)
index 0000000..90659b4
--- /dev/null
@@ -0,0 +1,37 @@
+/*++
+
+Copyright (c) 2005, 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.             
+
+Module Name:
+
+    efilibplat.h
+
+Abstract:
+
+    EFI to compile bindings
+
+
+
+Revision History
+
+--*/
+
+#ifndef _EFI_LIB_PLAT_H
+#define _EFI_LIB_PLAT_H
+
+VOID
+InitializeLibPlatform (
+  IN EFI_HANDLE           ImageHandle,
+  IN EFI_SYSTEM_TABLE     *SystemTable
+  );
+
+#define MIN_ALIGNMENT_SIZE  8
+
+#endif
index 04fecfd..b46b345 100644 (file)
--- a/Shell.inf
+++ b/Shell.inf
@@ -179,6 +179,11 @@ COMPONENT_TYPE       = APPLICATION
   Library\EBC\math.c
   Library\EBC\initplat.c
 
+[sources.x64]
+  ver\ia32\ver32.c
+  Library\ipf\math.c
+  Library\ia32\initplat.c
+
 [includes.common]
   .
   .\Inc
index d30c4ed..32e5c05 100644 (file)
@@ -188,7 +188,7 @@ MainMenuBarRefresh (
   UINTN                 Width;
   CHAR16                *NameString;
   CHAR16                *FunctionKeyString;
-  UINT16                BufferSize;
+  UINT                BufferSize;
   EFI_STATUS            Status;
 
   //
index 4cf0f64..58341c4 100644 (file)
--- a/err/err.c
+++ b/err/err.c
@@ -85,7 +85,13 @@ _DumpGlobalMask (
   VOID
   )
 {
-  UPDATE_DEBUG_MASK ();
+  VOID  *Variable; 
+  Variable = LibGetVariable (L"EFIDebug", &gEfiGlobalVariableGuid); 
+  if (NULL == Variable) { 
+    EFIDebug = EFI_D_ERROR; 
+  } else { 
+    EFIDebug = *(UINTN *) Variable; 
+  } 
   PrintErrMsg (EFIDebug);
 }
 
index 580b49c..99ab564 100644 (file)
@@ -221,7 +221,7 @@ Returns:
   UINTN                 Index;
   CHAR16                *NameString;
   CHAR16                *FunctionKeyString;
-  UINT16                BufferSize;
+  UINT                BufferSize;
   EFI_STATUS            Status;
 
   //
index 4a64af4..1b6cc38 100644 (file)
@@ -178,4 +178,8 @@ typedef struct {
   SHELLCMD_GET_LINE_HELP    GetLineHelp;
 } COMMAND;
 
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
 #endif
index 9fed8d2..383cb08 100644 (file)
@@ -1051,7 +1051,7 @@ FakeHiiGetString (
   IN STRING_REF                         Token,
   IN BOOLEAN                            Raw,
   IN CHAR16                             *LanguageString,
-  IN OUT UINT16                         *BufferLength,
+  IN OUT UINT                         *BufferLength,
   OUT EFI_STRING                        StringBuffer
   )
 /*++
@@ -1252,7 +1252,7 @@ LangNotFound:
 
     Count = Count * sizeof (CHAR16);;
 
-    if (*BufferLength >= Count) {
+    if (*BufferLength >= (UINTN)Count) {
       //
       // Copy the string to the user's buffer
       //
@@ -1287,10 +1287,10 @@ LangNotFound:
         Count = Count * 2;
       }
 
-      *BufferLength = (UINT16) Count;
+      *BufferLength = (UINTN) Count;
       return EFI_SUCCESS;
     } else {
-      *BufferLength = (UINT16) Count;
+      *BufferLength = (UINTN) Count;
       return EFI_BUFFER_TOO_SMALL;
     }
 
@@ -1408,7 +1408,7 @@ FakeHiiGetForms (
   IN     EFI_HII_PROTOCOL   *This,
   IN     EFI_HII_HANDLE     Handle,
   IN     EFI_FORM_ID        FormId,
-  IN OUT UINT16             *BufferLength,
+  IN OUT UINT             *BufferLength,
   OUT    UINT8              *Buffer
   )
 /*++
index 3808ec8..3b3dce4 100644 (file)
@@ -181,7 +181,7 @@ FakeHiiGetString (
   IN STRING_REF                             Token,
   IN BOOLEAN                                Raw,
   IN CHAR16                                 *LanguageString,
-  IN OUT UINT16                             *BufferLength,
+  IN OUT UINT                             *BufferLength,
   OUT EFI_STRING                            StringBuffer
   );
 
@@ -197,7 +197,7 @@ FakeHiiGetForms (
   IN     EFI_HII_PROTOCOL   *This,
   IN     EFI_HII_HANDLE     Handle,
   IN     EFI_FORM_ID        FormId,
-  IN OUT UINT16             *BufferLength,
+  IN OUT UINT             *BufferLength,
   OUT    UINT8              *Buffer
   );
 
index ad1a684..2e8c321 100644 (file)
@@ -244,12 +244,6 @@ OpeninfoMain (
   IN EFI_SYSTEM_TABLE   *SystemTable
   );
 
-EFI_STATUS
-DriversMain (
-  IN EFI_HANDLE               ImageHandle,
-  IN EFI_SYSTEM_TABLE         *SystemTable
-  );
-
 EFI_STATUS
 DrvcfgMain (
   IN EFI_HANDLE               ImageHandle,
index 48fe50a..81566cc 100644 (file)
@@ -1109,10 +1109,10 @@ CheckValidFileName (
   )
 {
   EFI_STATUS  Status;
-  UINTN       Index;
-  UINTN       Index1;
-  UINTN       Pos;
-  UINTN       Len;
+  INTN        Index;
+  INTN        Index1;
+  INTN        Pos;
+  INTN        Len;
 
   Status = EFI_SUCCESS;
   //
index c810bf5..337ac03 100644 (file)
@@ -948,39 +948,52 @@ OnMetPersentageSign (
   }
 
   if (EFI_NOT_FOUND == Status) {
-    if (IsInBatch && IsDigit (VarName[0])) {
-      Status = VarSubstitute (
-                VarName,
-                VAR_TYPE_POSITION,
-                SEnvBatchIsActive (),
-                tp
-                );
-    }
-
-    if (IsInBatch && IsAlpha (VarName[0])) {
-      Status = VarSubstitute (
-                VarName,
-                VAR_TYPE_INDEX,
-                SEnvBatchIsActive (),
-                tp
-                );
-    }
-
-    if (!EFI_ERROR (Status)) {
-      //
-      // We got here, it means either substitution of %n or %x succeeded,
-      // step over it and continue.
-      //
-      *Current += 2;
-    } else if (EFI_NOT_FOUND == Status) {
-      Status = EFI_SUCCESS;
+    if (IsInBatch) {
       if (IsDigit (VarName[0])) {
+        Status = VarSubstitute (
+                  VarName,
+                  VAR_TYPE_POSITION,
+                  SEnvBatchIsActive (),
+                  tp
+                  );
+      }
+  
+      if (IsAlpha (VarName[0])) {
+        Status = VarSubstitute (
+                  VarName,
+                  VAR_TYPE_INDEX,
+                  SEnvBatchIsActive (),
+                  tp
+                  );
+      }
+  
+      if (!EFI_ERROR (Status)) {
+        //
+        // We got here, it means either substitution of %n or %x succeeded,
+        // step over it and continue.
+        //
         *Current += 2;
-      } else if (0 == *tmp || !ValidChar) {
-        (*Current)++;
-      } else {
-        *Current = tmp + 1;
+      } else if (EFI_NOT_FOUND == Status) {
+        Status = EFI_SUCCESS;
+        if (IsDigit (VarName[0])) {
+          *Current += 2;
+        } else if (0 == *tmp || !ValidChar) {
+          (*Current)++;
+        } else {
+          *Current = tmp + 1;
+        }
+      }
+    } else {
+      if (0 == *tmp || !ValidChar)
+      {
+        tmp = *Current + 1; 
+      }
+      while((*Current) < tmp)
+      {
+        InsertChar2ArgPart(**Current, tp);
+        (*Current) ++;
       }
+      Status = EFI_SUCCESS;
     }
   } else {
     *Current = tmp + 1;
index b82e1c5..4cb4d1b 100644 (file)
@@ -45,7 +45,7 @@ COMPONENT_TYPE       = APPLICATION
    Ver.c
    Ver.h 
    
-[sources.ia32]
+[sources.ia32|x64]
    ia32\ver32.c
 
 [sources.ipf]