From 5d4a0dbc91d4e25002a2c35a3b9b5c3edfb284c2 Mon Sep 17 00:00:00 2001 From: xli24 Date: Fri, 30 Jul 2010 05:38:39 +0000 Subject: [PATCH] Handle gEfiStatusCodeDataTypeStringGuid in status code drivers. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10717 6f19259b-4bc3-4df7-8a09-765794883524 --- .../StatusCode/Pei/SerialStatusCodeWorker.c | 13 ++++++++++++- .../Universal/StatusCode/Pei/StatusCodePei.inf | 2 +- .../StatusCode/RuntimeDxe/SerialStatusCodeWorker.c | 13 ++++++++++++- .../StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf | 2 +- 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/SerialStatusCodeWorker.c b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/SerialStatusCodeWorker.c index 59ad7a01d9..24afa1f2d2 100644 --- a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/SerialStatusCodeWorker.c +++ b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/SerialStatusCodeWorker.c @@ -1,7 +1,7 @@ /** @file Serial I/O status code reporting worker. - Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.
+ Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
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 @@ -126,6 +126,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. diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf index b29067d612..55163fae16 100644 --- a/IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf +++ b/IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf @@ -55,7 +55,7 @@ [Guids] gMemoryStatusCodeRecordGuid ## SOMETIMES_CONSUMES ## HOB - + gEfiStatusCodeDataTypeStringGuid ## CONSUMES [Ppis] gEfiPeiStatusCodePpiGuid ## PRODUCES diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/SerialStatusCodeWorker.c b/IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/SerialStatusCodeWorker.c index 3f50368755..2bba8b64f5 100644 --- a/IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/SerialStatusCodeWorker.c +++ b/IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/SerialStatusCodeWorker.c @@ -1,7 +1,7 @@ /** @file Serial I/O status code reporting worker. - Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.
+ Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
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 @@ -124,6 +124,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. diff --git a/IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf b/IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf index e1f42f4d34..2ea015f8d9 100644 --- a/IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf +++ b/IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf @@ -66,7 +66,7 @@ gEfiStatusCodeDataTypeDebugGuid ## SOMETIMES_CONSUMES (Needed if Data Hub is supported for status code.) gMemoryStatusCodeRecordGuid ## CONSUMES ## HOB gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event - + gEfiStatusCodeDataTypeStringGuid ## CONSUMES [Protocols] gEfiStatusCodeRuntimeProtocolGuid ## PRODUCES -- 2.39.2