]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/DxeIpl/SerialStatusCode.c
Add GCC assember for DxeIpl module
[mirror_edk2.git] / DuetPkg / DxeIpl / SerialStatusCode.c
index 02cc4d47cdd0e6b3942483306c378a7a30503124..4c5badf8f5385a82b0a8e47f5860e9db88533f80 100644 (file)
@@ -648,7 +648,7 @@ Returns:
   // Wait for the serail port to be ready.\r
   //\r
   do {\r
-    Data = CpuIoRead8 (gComBase + LSR_OFFSET);\r
+    Data = CpuIoRead8 ((UINT16) (gComBase + LSR_OFFSET));\r
   } while ((Data & LSR_TXRDY) == 0);\r
     \r
   CpuIoWrite8 (gComBase, Character);\r
@@ -656,7 +656,7 @@ Returns:
 \r
 VOID\r
 DebugSerialPrint (\r
-  IN UINT8    *OutputString\r
+  IN CHAR8    *OutputString\r
   )\r
 /*++\r
 \r
@@ -674,10 +674,6 @@ Returns:
 \r
 --*/\r
 {\r
-  EFI_STATUS  Status;\r
-\r
-  Status = EFI_SUCCESS;\r
-\r
   for ( ; *OutputString != 0; OutputString++) {\r
     DebugSerialWrite (*OutputString);\r
   }\r
@@ -720,7 +716,8 @@ Returns:
 \r
   Buffer[0] = '\0';\r
 \r
-  if (ReportStatusCodeExtractAssertInfo (CodeType, Value, Data, &Filename, &Description, &LineNumber)) {\r
+  if (Data != NULL && \r
+      ReportStatusCodeExtractAssertInfo (CodeType, Value, Data, &Filename, &Description, &LineNumber)) {\r
     //\r
     // Processes PEI_ASSERT ()\r
     //\r
@@ -733,7 +730,8 @@ Returns:
       Description\r
       );\r
 \r
-  } else if (ReportStatusCodeExtractDebugInfo (Data, &ErrorLevel, &Marker, &Format)) {\r
+  } else if (Data != NULL &&\r
+             ReportStatusCodeExtractDebugInfo (Data, &ErrorLevel, &Marker, &Format)) {\r
     //\r
     // Process PEI_DEBUG () macro to Serial\r
     //\r
@@ -867,19 +865,19 @@ Returns:
   // Set communications format\r
   //\r
   OutputData = (UINT8)((DLAB << 7) | ((gBreakSet << 6) | ((gParity << 3) | ((gStop << 2) | Data))));\r
-  CpuIoWrite8 (gComBase + LCR_OFFSET, OutputData);\r
+  CpuIoWrite8 ((UINT16) (gComBase + LCR_OFFSET), OutputData);\r
 \r
   //\r
   // Configure baud rate\r
   //\r
-  CpuIoWrite8 (gComBase + BAUD_HIGH_OFFSET, (UINT8)(Divisor >> 8));\r
-  CpuIoWrite8 (gComBase + BAUD_LOW_OFFSET, (UINT8)(Divisor & 0xff));\r
+  CpuIoWrite8 ((UINT16) (gComBase + BAUD_HIGH_OFFSET), (UINT8)(Divisor >> 8));\r
+  CpuIoWrite8 ((UINT16) (gComBase + BAUD_LOW_OFFSET), (UINT8)(Divisor & 0xff));\r
 \r
   //\r
   // Switch back to bank 0\r
   //\r
   OutputData = (UINT8)((~DLAB<<7)|((gBreakSet<<6)|((gParity<<3)|((gStop<<2)| Data))));\r
-  CpuIoWrite8 (gComBase + LCR_OFFSET, OutputData);\r
+  CpuIoWrite8 ((UINT16) (gComBase + LCR_OFFSET), OutputData);\r
 \r
   *ReportStatusCode = SerialReportStatusCode;\r
 }\r