Handle gEfiStatusCodeDataTypeStringGuid in status code handler drivers.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10716 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
xli24
2010-07-30 05:35:19 +00:00
parent 133238cb10
commit 96a2516355
9 changed files with 49 additions and 7 deletions

View File

@ -129,6 +129,17 @@ SerialStatusCodeReportWorker (
Value, Value,
Instance Instance
); );
} else if (CompareGuid (&Data->Type, &gEfiStatusCodeDataTypeStringGuid) &&
((EFI_STATUS_CODE_STRING_DATA *) Data)->StringType == EfiStringAscii) {
//
// EFI_STATUS_CODE_STRING_DATA
//
CharCount = AsciiSPrint (
Buffer,
sizeof (Buffer),
"%a\n\r",
((EFI_STATUS_CODE_STRING_DATA *) Data)->String.Ascii
);
} else { } else {
// //
// Code type is not defined. // Code type is not defined.

View File

@ -30,6 +30,7 @@
#include <Library/PcdLib.h> #include <Library/PcdLib.h>
#include <Library/PeiServicesLib.h> #include <Library/PeiServicesLib.h>
#include <Library/PeimEntryPoint.h> #include <Library/PeimEntryPoint.h>
#include <Library/BaseMemoryLib.h>
/** /**
Convert status code value and extended data to readable ASCII string, send string to serial I/O device. Convert status code value and extended data to readable ASCII string, send string to serial I/O device.

View File

@ -46,10 +46,12 @@
ReportStatusCodeLib ReportStatusCodeLib
PrintLib PrintLib
DebugLib DebugLib
BaseMemoryLib
[Guids] [Guids]
gMemoryStatusCodeRecordGuid ## SOMETIMES_CONSUMES ## HOB gMemoryStatusCodeRecordGuid ## SOMETIMES_CONSUMES ## HOB
gEfiStatusCodeDataTypeStringGuid ## CONSUMES
[Ppis] [Ppis]
gEfiPeiRscHandlerPpiGuid ## CONSUMES gEfiPeiRscHandlerPpiGuid ## CONSUMES

View File

@ -1,7 +1,7 @@
/** @file /** @file
Serial I/O status code reporting worker. Serial I/O status code reporting worker.
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License 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 which accompanies this distribution. The full text of the license may be found at
@ -125,6 +125,17 @@ SerialStatusCodeReportWorker (
Value, Value,
Instance Instance
); );
} else if (CompareGuid (&Data->Type, &gEfiStatusCodeDataTypeStringGuid) &&
((EFI_STATUS_CODE_STRING_DATA *) Data)->StringType == EfiStringAscii) {
//
// EFI_STATUS_CODE_STRING_DATA
//
CharCount = AsciiSPrint (
Buffer,
sizeof (Buffer),
"%a\n\r",
((EFI_STATUS_CODE_STRING_DATA *) Data)->String.Ascii
);
} else { } else {
// //
// Code type is not defined. // Code type is not defined.

View File

@ -1,7 +1,7 @@
/** @file /** @file
Internal include file for Status Code Handler Driver. Internal include file for Status Code Handler Driver.
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License 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 which accompanies this distribution. The full text of the license may be found at
@ -23,6 +23,7 @@
#include <Guid/EventGroup.h> #include <Guid/EventGroup.h>
#include <Library/SynchronizationLib.h> #include <Library/SynchronizationLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h> #include <Library/DebugLib.h>
#include <Library/ReportStatusCodeLib.h> #include <Library/ReportStatusCodeLib.h>
#include <Library/PrintLib.h> #include <Library/PrintLib.h>

View File

@ -49,11 +49,13 @@
ReportStatusCodeLib ReportStatusCodeLib
DebugLib DebugLib
SynchronizationLib SynchronizationLib
BaseMemoryLib
[Guids] [Guids]
gMemoryStatusCodeRecordGuid ## CONSUMES ## HOB gMemoryStatusCodeRecordGuid ## CONSUMES ## HOB
gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event
gEfiEventExitBootServicesGuid ## CONSUMES ## Event gEfiEventExitBootServicesGuid ## CONSUMES ## Event
gEfiStatusCodeDataTypeStringGuid ## CONSUMES
[Protocols] [Protocols]
gEfiRscHandlerProtocolGuid ## CONSUMES gEfiRscHandlerProtocolGuid ## CONSUMES

View File

@ -1,7 +1,7 @@
/** @file /** @file
Serial I/O status code reporting worker. Serial I/O status code reporting worker.
Copyright (c) 2009, Intel Corporation. All rights reserved.<BR> Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License 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 which accompanies this distribution. The full text of the license may be found at
@ -125,6 +125,17 @@ SerialStatusCodeReportWorker (
Value, Value,
Instance Instance
); );
} else if (CompareGuid (&Data->Type, &gEfiStatusCodeDataTypeStringGuid) &&
((EFI_STATUS_CODE_STRING_DATA *) Data)->StringType == EfiStringAscii) {
//
// EFI_STATUS_CODE_STRING_DATA
//
CharCount = AsciiSPrint (
Buffer,
sizeof (Buffer),
"%a\n\r",
((EFI_STATUS_CODE_STRING_DATA *) Data)->String.Ascii
);
} else { } else {
// //
// Code type is not defined. // Code type is not defined.

View File

@ -30,6 +30,7 @@
#include <Library/SmmServicesTableLib.h> #include <Library/SmmServicesTableLib.h>
#include <Library/SerialPortLib.h> #include <Library/SerialPortLib.h>
#include <Library/MemoryAllocationLib.h> #include <Library/MemoryAllocationLib.h>
#include <Library/BaseMemoryLib.h>
// //
// Runtime memory status code worker definition // Runtime memory status code worker definition

View File

@ -48,9 +48,11 @@
DebugLib DebugLib
SynchronizationLib SynchronizationLib
MemoryAllocationLib MemoryAllocationLib
BaseMemoryLib
[Guids] [Guids]
gMemoryStatusCodeRecordGuid ## CONSUMES ## HOB gMemoryStatusCodeRecordGuid ## CONSUMES ## HOB
gEfiStatusCodeDataTypeStringGuid ## CONSUMES
[Protocols] [Protocols]
gEfiSmmRscHandlerProtocolGuid ## CONSUMES gEfiSmmRscHandlerProtocolGuid ## CONSUMES