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,
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 {
//
// Code type is not defined.

View File

@ -30,6 +30,7 @@
#include <Library/PcdLib.h>
#include <Library/PeiServicesLib.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.

View File

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

View File

@ -1,7 +1,7 @@
/** @file
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
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
@ -125,6 +125,17 @@ SerialStatusCodeReportWorker (
Value,
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 {
//
// Code type is not defined.

View File

@ -1,7 +1,7 @@
/** @file
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
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
@ -23,6 +23,7 @@
#include <Guid/EventGroup.h>
#include <Library/SynchronizationLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
#include <Library/ReportStatusCodeLib.h>
#include <Library/PrintLib.h>

View File

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

View File

@ -1,7 +1,7 @@
/** @file
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
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
@ -125,6 +125,17 @@ SerialStatusCodeReportWorker (
Value,
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 {
//
// Code type is not defined.

View File

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

View File

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