enable -q/-v/-d interface for EfiRom, GenVtf and TianoCompress tool and use the commo...
authorhtao <htao@7335b38e-4728-0410-8992-fb3ffe349368>
Thu, 27 Sep 2007 09:29:57 +0000 (09:29 +0000)
committerhtao <htao@7335b38e-4728-0410-8992-fb3ffe349368>
Thu, 27 Sep 2007 09:29:57 +0000 (09:29 +0000)
git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@775 7335b38e-4728-0410-8992-fb3ffe349368

Source/C/EfiRom/EfiRom.c
Source/C/EfiRom/EfiRom.h
Source/C/GenVtf/GenVtf.c
Source/C/TianoCompress/TianoCompress.c
Source/C/TianoCompress/TianoCompress.h

index 1fe65b7..5044f67 100644 (file)
@@ -88,7 +88,7 @@ Returns:
   }\r
   \r
   if (mOptions.Verbose) {\r
-    fprintf (stdout, "%s tool start.\n", UTILITY_NAME);\r
+    VerboseMsg("%s tool start.\n", UTILITY_NAME);\r
     }  \r
   //\r
   // If dumping an image, then do that and quit\r
@@ -153,13 +153,13 @@ Returns:
     Size = 0;\r
     if (FList->FileFlags & FILE_FLAG_EFI) {\r
       if (mOptions.Verbose) {\r
-        fprintf (stdout, "Processing EFI file    %s\n", FList->FileName);\r
+        VerboseMsg("Processing EFI file    %s\n", FList->FileName);\r
       }\r
 \r
       Status = ProcessEfiFile (FptrOut, FList, mOptions.VendId, mOptions.DevId, &Size);\r
     } else if (FList->FileFlags & FILE_FLAG_BINARY) {\r
       if (mOptions.Verbose) {\r
-        fprintf (stdout, "Processing binary file %s\n", FList->FileName);\r
+        VerboseMsg("Processing binary file %s\n", FList->FileName);\r
       }\r
 \r
       Status = ProcessBinFile (FptrOut, FList, &Size);\r
@@ -169,7 +169,7 @@ Returns:
     }\r
 \r
     if (mOptions.Verbose) {\r
-      fprintf (stdout, "  Output size = 0x%X\n", Size);\r
+      VerboseMsg("  Output size = 0x%X\n", Size);\r
     }\r
 \r
     if (Status != STATUS_SUCCESS) {\r
@@ -206,7 +206,7 @@ BailOut:
   }\r
   }\r
   if (mOptions.Verbose) {\r
-    fprintf (stdout, "%s tool done with return code is 0x%x.\n", UTILITY_NAME, GetUtilityStatus ());  \r
+    VerboseMsg("%s tool done with return code is 0x%x.\n", UTILITY_NAME, GetUtilityStatus ());\r
   }\r
 \r
   return GetUtilityStatus (); \r
@@ -265,7 +265,7 @@ Returns:
   fseek (InFptr, 0, SEEK_END);\r
   FileSize = ftell (InFptr);\r
   if (mOptions.Verbose) {\r
-    fprintf (stdout, "  File size   = 0x%X\n", FileSize);\r
+    VerboseMsg("  File size   = 0x%X\n", FileSize);\r
   }\r
 \r
   fseek (InFptr, 0, SEEK_SET);\r
@@ -366,7 +366,9 @@ Returns:
   }\r
 \r
   Buffer[FileSize - 1] = (UINT8) ((~ByteCheckSum) + 1);\r
-  fprintf (stdout, "Checksum = %02x\n", (UINT32) Buffer[FileSize - 1]);\r
+  if (mOptions.Verbose) {\r
+    VerboseMsg("  Checksum = %02x\n\n", (UINT32) Buffer[FileSize - 1]);\r
+  }\r
 \r
   //\r
   // Now copy the input file contents out to the output file\r
@@ -487,7 +489,7 @@ Returns:
 \r
   HeaderSize = sizeof (PCI_DATA_STRUCTURE) + HeaderPadBytes + sizeof (EFI_PCI_EXPANSION_ROM_HEADER);\r
   if (mOptions.Verbose) {\r
-    fprintf (stdout, "  File size   = 0x%X\n", FileSize);\r
+    VerboseMsg("  File size   = 0x%X\n", FileSize);\r
   }\r
   //\r
   // Allocate memory for the entire file (in case we have to compress), then\r
@@ -532,7 +534,7 @@ Returns:
     // Now compute the size, then swap buffer pointers.\r
     //\r
     if (mOptions.Verbose) {\r
-      fprintf (stdout, "  Comp size   = 0x%X\n", CompressedFileSize);\r
+      VerboseMsg("  Comp size   = 0x%X\n", CompressedFileSize);\r
     }\r
 \r
     TotalSize         = CompressedFileSize + HeaderSize;\r
@@ -816,7 +818,7 @@ Returns:
 \r
   *SubSystem = OptionalHdr.Subsystem;\r
   if (mOptions.Verbose) {\r
-    fprintf (stdout, "  Got subsystem = 0x%X from image\n", (int) *SubSystem);\r
+    VerboseMsg("  Got subsystem = 0x%X from image\n", (int) *SubSystem);\r
   }\r
   //\r
   // Good to go\r
@@ -902,7 +904,6 @@ Returns:
   //\r
   // Process until no more arguments\r
   //\r
-  //__asm int 3;\r
   while (Argc > 0) {\r
     if ((Argv[0][0] == '-') || (Argv[0][0] == '/')) {\r
       //\r
@@ -917,7 +918,6 @@ Returns:
         //\r
         // Make sure there's another parameter\r
         //\r
-        //printf("\nvendor id specified!\n");\r
         if (Argc > 1) {\r
           Options->VendId       = (UINT16) strtol (Argv[1], NULL, 16);\r
           Options->VendIdValid  = 1;\r
@@ -998,16 +998,14 @@ Returns:
           return 1;\r
         }\r
         if (DebugLevel>=5 && DebugLevel<=9) {\r
-          DebugMode = TRUE;\r
+          Options->Debug = TRUE;\r
         } else {\r
-          DebugMode = FALSE;\r
+          Options->Debug = FALSE;\r
         }\r
-        Argv++;\r
-      } else if ((stricmp (Argv[0], "-quiet") == 0) || (stricmp (Argv[0], "-q") == 0)) {\r
-        QuietMode = TRUE;\r
-        //Argv++;\r
-        //Argc--;\r
-      } else if ((stricmp (Argv[0], "-dump") == 0) || (stricmp (Argv[0], "-d") == 0)) {\r
+        Argc--;\r
+      } else if ((stricmp (Argv[0], "--quiet") == 0) || (stricmp (Argv[0], "-q") == 0)) {\r
+        Options->Quiet = TRUE;\r
+      } else if ((stricmp (Argv[0], "--dump") == 0) || (stricmp (Argv[0], "-d") == 0)) {\r
         //\r
         // -dump for dumping a ROM image. In this case, say that the device id\r
         // and vendor id are valid so we don't have to specify bogus ones on the\r
@@ -1239,7 +1237,7 @@ Returns:
             Show this help message and exit.\n");\r
   fprintf (stdout, "  -q, --quiet\n\\r
             Disable all messages except FATAL ERRORS.\n");\r
-  fprintf (stdout, "  --debug [#]\n\\r
+  fprintf (stdout, "  --debug [#,0-9]\n\\r
             Enable debug messages at level #.\n");  \r
 }\r
 \r
@@ -1322,17 +1320,20 @@ Returns:
     //\r
     if (mOptions.Pci23 == 1) {\r
     if (fread (&PciDs23, sizeof (PciDs23), 1, InFptr) != 1) {\r
-      Error (NULL, 0, 3001, "Not supported", "Failed to read PCI data structure from file");\r
+      Error (NULL, 0, 3001, "Not supported", "Failed to read PCI data structure from file %s", InFile->FileName);\r
       goto BailOut;\r
     }\r
     } else {\r
     if (fread (&PciDs30, sizeof (PciDs30), 1, InFptr) != 1) {\r
-      Error (NULL, 0, 3001, "Not supported", "Failed to read PCI data structure from file");\r
+      Error (NULL, 0, 3001, "Not supported", "Failed to read PCI data structure from file %s", InFile->FileName);\r
       goto BailOut;\r
     }\r
     }\r
+    if (mOptions.Verbose) {\r
+      VerboseMsg("Read PCI data structure from file %s", InFile->FileName);\r
+    }\r
 \r
-    fprintf (stdout, "  PCI Data Structure\n");\r
+    //fprintf (stdout, "  PCI Data Structure\n");\r
     if (mOptions.Pci23 == 1) {\r
     fprintf (\r
       stdout,\r
index 42acd7d..cdcf357 100644 (file)
@@ -82,8 +82,6 @@ Abstract:
 // global variables\r
 //\r
 UINTN DebugLevel = 0;\r
-BOOLEAN DebugMode = FALSE;\r
-BOOLEAN QuietMode = FALSE;\r
 \r
 //\r
 // Use this linked list structure to keep track of all the filenames\r
index 1178657..547249f 100644 (file)
@@ -363,7 +363,7 @@ Returns:
         VtfInfo->LocationType = SECOND_VTF;\r
       } else {\r
         VtfInfo->LocationType = NONE;\r
-        printf ("\nWARN: Unknown location for component %s\n", VtfInfo->CompName);\r
+        Warning(UTILITY_NAME, 0, 0001, "Unknown location for component", VtfInfo->CompName);\r
       }\r
     } else if (strnicmp (*TokenStr, "COMP_TYPE", 9) == 0) {\r
       TokenStr++;\r
@@ -2636,8 +2636,19 @@ Returns:
     }\r
   }\r
 \r
+//\r
+// All Parameters has been parsed, now set the message print level\r
+//\r
+  if (QuietMode) {\r
+    SetPrintLevel(40);\r
+  } else if (VerboseMode) {\r
+    SetPrintLevel(15);\r
+  } else if (DebugMode) {\r
+    SetPrintLevel(DebugLevel);\r
+  }\r
+  \r
   if (VerboseMode) {\r
-    fprintf (stdout, "%s tool start.\n", UTILITY_NAME);\r
+    VerboseMsg("%s tool start.\n", UTILITY_NAME);\r
   }\r
 \r
   if (VTF_OUTPUT == FALSE) {\r
@@ -2653,7 +2664,7 @@ Returns:
   // Call the GenVtfImage\r
   //\r
   if (DebugMode) {\r
-    fprintf(stdout, "Start to generate the VTF image\n");\r
+    DebugMsg(UTILITY_NAME, 0, DebugLevel, "Start to generate the VTF image\n");\r
   }\r
   Status = GenerateVtfImage (StartAddress1, FwVolSize1, StartAddress2, FwVolSize2, VtfFP);\r
 \r
@@ -2682,13 +2693,14 @@ Returns:
     }\r
 ERROR:\r
   if (VerboseMode) {\r
-    fprintf (stdout, "%s tool done with return code is 0x%x.\n", UTILITY_NAME, GetUtilityStatus ());  \r
+    VerboseMsg("%s tool done with return code is 0x%x.\n", UTILITY_NAME, GetUtilityStatus ());\r
   }\r
 \r
   return GetUtilityStatus ();     \r
   }\r
   if (DebugMode) {\r
-    fprintf(stdout, "VTF image generated successful\n");\r
+    //fprintf(stdout, "VTF image generated successful\n");\r
+    DebugMsg(UTILITY_NAME, 0, DebugLevel, "VTF image generated successful\n");\r
   }\r
   return 0;\r
 }\r
index 02dce90..2f6e56b 100644 (file)
@@ -1710,7 +1710,7 @@ Returns:
             Show this help message and exit.\n");\r
   fprintf (stdout, "  -q, --quiet\n\\r
          Disable all messages except FATAL ERRORS.\n");\r
-  fprintf (stdout, "  -d, --debug [#]\n\\r
+  fprintf (stdout, "  -d, --debug [#,0-9]\n\\r
          Enable debug messages at level #.\n");  \r
 }\r
 \r
@@ -1862,22 +1862,28 @@ Returns:
   }\r
 \r
 //\r
-// All Parameters has been parsed\r
-// \r
+// All Parameters has been parsed, now set the message print level\r
+//\r
+  if (QuietMode) {\r
+    SetPrintLevel(40);\r
+  } else if (VerboseMode) {\r
+    SetPrintLevel(15);\r
+  } else if (DebugMode) {\r
+    SetPrintLevel(DebugLevel);\r
+  }\r
+  \r
   if (VerboseMode) {\r
-    fprintf (stdout, "%s tool start.\n", UTILITY_NAME);\r
+    VerboseMsg("%s tool start.\n", UTILITY_NAME);\r
    }\r
   Scratch = (SCRATCH_DATA *)malloc(sizeof(SCRATCH_DATA));\r
   if (Scratch == NULL) {\r
     Error(NULL, 0, 4001, "Resource:", "Memory cannot be allocated!");\r
-    //return 1;\r
     goto ERROR;\r
   }\r
     \r
   InputFile = fopen (InputFileName, "rb");\r
   if (InputFile == NULL) {\r
     Error(NULL, 0, 0001, "Error opening input file", InputFileName);\r
-    //return 1;\r
     goto ERROR;\r
   }\r
         \r
@@ -1912,9 +1918,11 @@ Returns:
     if (InputFile != NULL) {\r
       fclose (InputFile);\r
       }\r
-      //return EFI_ABORTED;\r
       goto ERROR;\r
       }\r
+    } else {\r
+      OutputFileName = DEFAULT_OUTPUT_FILE;\r
+      OutputFile = fopen (OutputFileName, "wb");\r
     }\r
     \r
   if (ENCODE) {\r
@@ -1922,7 +1930,7 @@ Returns:
   // First call TianoCompress to get DstSize\r
   //\r
   if (DebugMode) {\r
-    fprintf(stdout, "Encoding\n");\r
+    DebugMsg(UTILITY_NAME, 0, DebugLevel, "Encoding");\r
   }\r
   Status = TianoCompress ((UINT8 *)FileBuffer, InputLength, OutBuffer, &DstSize);\r
   \r
@@ -1940,17 +1948,21 @@ Returns:
   }\r
 \r
   fwrite(OutBuffer,(size_t)DstSize, 1, OutputFile);\r
+  free(Scratch);\r
   free(FileBuffer);\r
   free(OutBuffer);\r
 \r
   if (DebugMode) {\r
-    fprintf(stdout, "Encoding successful\n");\r
+    DebugMsg(UTILITY_NAME, 0, DebugLevel, "Encoding Successful!\n");\r
+  }\r
+  if (VerboseMode) {\r
+    VerboseMsg("Encoding successful\n");\r
   }\r
   return 0;  \r
   }\r
   else if (DECODE) {\r
   if (DebugMode) {\r
-    fprintf(stdout, "Decoding\n");\r
+    DebugMsg(UTILITY_NAME, 0, DebugLevel, "Decoding\n");\r
   }\r
   //\r
   // Get Compressed file original size\r
@@ -1969,7 +1981,6 @@ Returns:
 \r
   Status = Decompress((VOID *)FileBuffer, (VOID *)OutBuffer, (VOID *)Scratch, 2);\r
   if (Status != EFI_SUCCESS) {\r
-    //Error(NULL, 0, 0008, "Error decompressing file: %s", InputFileName);\r
    goto ERROR;         \r
   }\r
 \r
@@ -1979,7 +1990,11 @@ Returns:
   free(OutBuffer);\r
 \r
   if (DebugMode) {\r
-    fprintf(stdout, "Decoding successful\n");\r
+    DebugMsg(UTILITY_NAME, 0, DebugLevel, "Encoding successful!\n");\r
+  }\r
+  \r
+  if (VerboseMode) {\r
+    VerboseMsg("Decoding successful\n");\r
   }\r
   return 0;\r
   }\r
@@ -1987,16 +2002,16 @@ Returns:
 ERROR:\r
   if (DebugMode) {\r
     if (ENCODE) {\r
-      fprintf(stdout, "Encoding Error\n");\r
+      DebugMsg(UTILITY_NAME, 0, DebugLevel, "Encoding Error\n");\r
     } else if (DECODE) {\r
-      fprintf(stdout, "Decoding Error\n");\r
+      DebugMsg(UTILITY_NAME, 0, DebugLevel, "Decoding Error\n");\r
     }\r
   }\r
   free(Scratch);\r
   free(FileBuffer);\r
   free(OutBuffer);\r
   if (VerboseMode) {\r
-    fprintf (stdout, "%s tool done with return code is 0x%x.\n", UTILITY_NAME, GetUtilityStatus ());  \r
+    VerboseMsg("%s tool done with return code is 0x%x.\n", UTILITY_NAME, GetUtilityStatus ());\r
   }\r
   return GetUtilityStatus ();\r
 }\r
index 6b2b167..4fc48c3 100644 (file)
 #include <stdio.h>\r
 #include <assert.h>\r
 #include <Common/UefiBaseTypes.h>\r
+\r
+\r
 //\r
 // Decompression algorithm begins here\r
 //\r
 #define UTILITY_NAME "TianoCompress"\r
 #define UTILITY_MAJOR_VERSION 0\r
 #define UTILITY_MINOR_VERSION 1\r
+\r
+//\r
+// Default output file name\r
+//\r
+#define DEFAULT_OUTPUT_FILE "file.tmp"\r
+\r
 #define BITBUFSIZ 32\r
 #define MAXMATCH  256\r
 #define THRESHOLD 3\r