summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/StatusCodeHandler/Smm
diff options
context:
space:
mode:
authorxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>2010-07-30 05:35:19 +0000
committerxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>2010-07-30 05:35:19 +0000
commit96a2516355feae4bf10009fe28722c689af7a3e6 (patch)
treef49c5633cd367d9da3938f656dee49652d84c973 /MdeModulePkg/Universal/StatusCodeHandler/Smm
parent133238cb100776a62e354849af593eb665515e64 (diff)
downloadedk2-platforms-96a2516355feae4bf10009fe28722c689af7a3e6.tar.xz
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
Diffstat (limited to 'MdeModulePkg/Universal/StatusCodeHandler/Smm')
-rw-r--r--MdeModulePkg/Universal/StatusCodeHandler/Smm/SerialStatusCodeWorker.c13
-rw-r--r--MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.h1
-rw-r--r--MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf4
3 files changed, 16 insertions, 2 deletions
diff --git a/MdeModulePkg/Universal/StatusCodeHandler/Smm/SerialStatusCodeWorker.c b/MdeModulePkg/Universal/StatusCodeHandler/Smm/SerialStatusCodeWorker.c
index 9c6a5b153d..408511ef97 100644
--- a/MdeModulePkg/Universal/StatusCodeHandler/Smm/SerialStatusCodeWorker.c
+++ b/MdeModulePkg/Universal/StatusCodeHandler/Smm/SerialStatusCodeWorker.c
@@ -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.
diff --git a/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.h b/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.h
index bf364c80dd..0dd0060dab 100644
--- a/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.h
+++ b/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.h
@@ -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
diff --git a/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf b/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf
index 69f6099e55..e56106a81a 100644
--- a/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf
+++ b/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf
@@ -48,9 +48,11 @@
DebugLib
SynchronizationLib
MemoryAllocationLib
-
+ BaseMemoryLib
+
[Guids]
gMemoryStatusCodeRecordGuid ## CONSUMES ## HOB
+ gEfiStatusCodeDataTypeStringGuid ## CONSUMES
[Protocols]
gEfiSmmRscHandlerProtocolGuid ## CONSUMES