]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EmbeddedPkg/Ebl/HwDebug.c
ARM Packages: Fixed missing braces (the warning was disabled by GCC)
[mirror_edk2.git] / EmbeddedPkg / Ebl / HwDebug.c
index 6ffbaf11704ac70f3db821a515f937c465793ee3..c87d1c4d1ab6dcac8349d3179482b84be8826517 100644 (file)
@@ -1,10 +1,10 @@
 /** @file\r
   Basic command line parser for EBL (Embedded Boot Loader)\r
 \r
-  Copyright (c) 2007, Intel Corporation<BR>\r
-  Portions copyright (c) 2008-2009, Apple Inc. All rights reserved.\r
+  Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>\r
+  Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
 \r
-  All rights reserved. This program and the accompanying materials\r
+  This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
   http://opensource.org/licenses/bsd-license.php\r
 /**\r
   Dump memory\r
 \r
-  Argv[0] - "md"\r
+  Argv[0] - "md"[.#] # is optional width 1, 2, 4, or 8. Default 1\r
   Argv[1] - Hex Address to dump\r
   Argv[2] - Number of hex bytes to dump (0x20 is default)\r
-  Argv[3] - [1|2|4|8] byte width of the dump\r
 \r
-  md 0x123445678 50 4 ; Dump 0x50 4 byte quantities starting at 0x123445678\r
-  md 0x123445678 40   ; Dump 0x40 1 byte quantities starting at 0x123445678\r
-  md 0x123445678      ; Dump 0x20 1 byte quantities starting at 0x123445678\r
+  md.4 0x123445678 50 ; Dump 0x50 4 byte quantities starting at 0x123445678\r
+  md   0x123445678 40 ; Dump 0x40 1 byte quantities starting at 0x123445678\r
+  md   0x123445678    ; Dump 0x20 1 byte quantities starting at 0x123445678\r
 \r
   @param  Argc   Number of command arguments in Argv\r
   @param  Argv   Array of strings that represent the parsed command line. \r
-                 Argv[0] is the comamnd name\r
+                 Argv[0] is the command name\r
 \r
   @return EFI_SUCCESS\r
 \r
@@ -48,21 +47,20 @@ EblMdCmd (
 {\r
   STATIC UINT8  *Address = NULL;\r
   STATIC UINTN  Length   = 0x20;\r
-  STATIC UINTN  Width    = 1;\r
+  STATIC UINTN  Width;\r
 \r
-  switch (Argc)\r
-  {\r
-    case 4:\r
-      Width = AsciiStrHexToUintn(Argv[3]);\r
+  Width = WidthFromCommandName (Argv[0], 1);\r
+\r
+  switch (Argc) {\r
     case 3:\r
       Length = AsciiStrHexToUintn(Argv[2]);\r
     case 2:\r
-      Address = (UINT8 *)AsciiStrHexToUintn(Argv[1]);\r
+      Address = (UINT8 *)AsciiStrHexToUintn (Argv[1]);\r
     default:\r
       break;\r
   }\r
 \r
-  OutputData(Address, Length, Width, (UINTN)Address);\r
+  OutputData (Address, Length, Width, (UINTN)Address);\r
 \r
   Address += Length;\r
   \r
@@ -73,20 +71,19 @@ EblMdCmd (
 /**\r
   Fill Memory with data\r
 \r
-  Argv[0] - "mfill"\r
+  Argv[0] - "mfill"[.#] # is optional width 1, 2, 4, or 8. Default 4\r
   Argv[1] - Hex Address to fill\r
   Argv[2] - Data to write (0x00 is default)\r
   Argv[3] - Number of units to dump.\r
-  Argv[4] - [1|2|4|8] byte width of the dump\r
 \r
-  mf 0x123445678 aa 1 100 ; Start at 0x123445678 and write aa (1 byte) to the next 100 bytes\r
-  mf 0x123445678 aa 4 100 ; Start at 0x123445678 and write aa (4 byte) to the next 400 bytes\r
+  mf.1 0x123445678 aa 100 ; Start at 0x123445678 and write aa (1 byte) to the next 100 bytes\r
+  mf.4 0x123445678 aa 100 ; Start at 0x123445678 and write aa (4 byte) to the next 400 bytes\r
   mf 0x123445678 aa       ; Start at 0x123445678 and write aa (4 byte) to the next 1 byte\r
   mf 0x123445678          ; Start at 0x123445678 and write 00 (4 byte) to the next 1 byte\r
 \r
   @param  Argc   Number of command arguments in Argv\r
   @param  Argv   Array of strings that represent the parsed command line. \r
-                 Argv[0] is the comamnd name\r
+                 Argv[0] is the command name\r
 \r
   @return EFI_SUCCESS\r
 \r
@@ -107,18 +104,19 @@ EblMfillCmd (
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
+  Width = WidthFromCommandName (Argv[0], 4);\r
+\r
   Address = AsciiStrHexToUintn (Argv[1]);\r
   Data    = (Argc > 2) ? (UINT32)AsciiStrHexToUintn (Argv[2]) : 0;\r
-  Width   = (Argc > 3) ? AsciiStrHexToUintn (Argv[3]) : 4;\r
-  Length  = (Argc > 4) ? AsciiStrHexToUintn (Argv[4]) : 1;\r
+  Length  = (Argc > 3) ? AsciiStrHexToUintn (Argv[3]) : 1;\r
 \r
   for (EndAddress = Address + (Length * Width); Address < EndAddress; Address += Width) {\r
     if (Width == 4) {\r
       MmioWrite32 (Address, Data);\r
     } else if (Width == 2) {\r
-      MmioWrite32 (Address, (UINT16)Data);\r
+      MmioWrite16 (Address, (UINT16)Data);\r
     } else {\r
-      MmioWrite32 (Address, (UINT8)Data);\r
+      MmioWrite8 (Address, (UINT8)Data);\r
     }\r
   }\r
   \r
@@ -165,7 +163,7 @@ CHAR8 *gPciSerialClassCodes[] = {
 \r
   @param  Argc   Number of command arguments in Argv\r
   @param  Argv   Array of strings that represent the parsed command line. \r
-                 Argv[0] is the comamnd name\r
+                 Argv[0] is the command name\r
 \r
   @return EFI_SUCCESS\r
 \r
@@ -257,7 +255,7 @@ EblPciCmd (
         Pci->GetLocation (Pci, &Seg, &Bus, &Dev, &Func);\r
         if ((Bus == BusArg) && (Dev == DevArg) && (Func == FuncArg)) {\r
           // Only print Segment if it is non zero. If you only have one PCI segment it is \r
-          // redundent to print it out\r
+          // redundant to print it out\r
           if (Seg != 0) {\r
             AsciiPrint ("Seg:%d ", Seg);\r
           }\r
@@ -299,10 +297,12 @@ EblPciCmd (
 \r
 \r
 GLOBAL_REMOVE_IF_UNREFERENCED const EBL_COMMAND_TABLE mCmdPciDebugTemplate[] = {\r
-  "pci",\r
-  " [bus] [dev] [func]; Dump PCI",\r
-  NULL,\r
-  EblPciCmd\r
+  {\r
+    "pci",\r
+    " [bus] [dev] [func]; Dump PCI",\r
+    NULL,\r
+    EblPciCmd\r
+  }\r
 };\r
 \r
 \r
@@ -310,13 +310,13 @@ GLOBAL_REMOVE_IF_UNREFERENCED const EBL_COMMAND_TABLE mCmdHwDebugTemplate[] =
 {\r
   {\r
     "md",\r
-    " [Addr] [Len] [1|2|4]; Memory Dump from Addr Len bytes",\r
+    "[.{1|2|4}] [Addr] [Len] [1|2|4]; Memory Dump from Addr Len bytes",\r
     NULL,\r
     EblMdCmd\r
   },\r
   {\r
     "mfill",\r
-    " Addr Len [data] [1|2|4]; Memory Fill Addr Len*(1|2|4) bytes of data(0)",\r
+    "[.{1|2|4}] Addr Len [data]; Memory Fill Addr Len*(1|2|4) bytes of data(0)",\r
     NULL,\r
     EblMfillCmd\r
   },\r