public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Wu, Hao A" <hao.a.wu@intel.com>
To: devel@edk2.groups.io
Cc: Hao A Wu <hao.a.wu@intel.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Leif Lindholm <leif.lindholm@linaro.org>,
	Michael D Kinney <michael.d.kinney@intel.com>
Subject: [edk2-platforms][PATCH v1 06/16] Hisilicon/D0x: Use StatusCode Router & Handler in MdeModulePkg
Date: Tue, 14 May 2019 10:08:21 +0800	[thread overview]
Message-ID: <20190514020831.7728-9-hao.a.wu@intel.com> (raw)
In-Reply-To: <20190514020831.7728-1-hao.a.wu@intel.com>

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1800

This commit adopts a similar approach to edk2 commit
a6d594c5fabd8da2273d2794826ec086cf9c3c04.

Currently, Hisilicon platforms use modules from under
"IntelFrameworkModulePkg/Universal/StatusCode/", which produce
EFI_PEI_PROGRESS_CODE_PPI and EFI_STATUS_CODE_PROTOCOL directly, and write
the status codes, as they are reported, to the serial port or to a memory
buffer. This is called "handling" the status codes.

MdeModulePkg offers a PEIM under
"MdeModulePkg/Universal/ReportStatusCodeRouter/Pei" that produces both
EFI_PEI_PROGRESS_CODE_PPI and EFI_PEI_RSC_HANDLER_PPI, and a runtime DXE
driver under "MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe"
that produces both EFI_STATUS_CODE_PROTOCOL and EFI_RSC_HANDLER_PROTOCOL.

MdeModulePkg also offers status code handler modules under
MdeModulePkg/Universal/StatusCodeHandler/ that depend on
EFI_PEI_RSC_HANDLER_PPI and EFI_RSC_HANDLER_PROTOCOL, respectively.

The StatusCodeHandler modules register themselves with
ReportStatusCodeRouter through EFI_PEI_RSC_HANDLER_PPI /
EFI_RSC_HANDLER_PROTOCOL. When another module reports a status code
through EFI_PEI_PROGRESS_CODE_PPI / EFI_STATUS_CODE_PROTOCOL, it reaches
the phase-matching ReportStatusCodeRouter module first, which in turn
passes the status code to the pre-registered, phase-matching
StatusCodeHandler module.

The status code handling in the StatusCodeHandler modules is identical to
the one currently provided by the IntelFrameworkModulePkg modules. Replace
the IntelFrameworkModulePkg modules with the MdeModulePkg ones, so we can
decrease our dependency on IntelFrameworkModulePkg.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Signed-off-by: Hao A Wu <hao.a.wu@intel.com>
---
 Platform/Hisilicon/D03/D03.dsc | 6 ++++--
 Platform/Hisilicon/D05/D05.dsc | 6 ++++--
 Platform/Hisilicon/D06/D06.dsc | 6 ++++--
 Platform/Hisilicon/D03/D03.fdf | 6 ++++--
 Platform/Hisilicon/D05/D05.fdf | 6 ++++--
 Platform/Hisilicon/D06/D06.fdf | 6 ++++--
 6 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/Platform/Hisilicon/D03/D03.dsc b/Platform/Hisilicon/D03/D03.dsc
index 7e8cb59641..a3c3ae5aa6 100644
--- a/Platform/Hisilicon/D03/D03.dsc
+++ b/Platform/Hisilicon/D03/D03.dsc
@@ -303,7 +303,8 @@
 
   Platform/Hisilicon/D03/MemoryInitPei/MemoryInitPeim.inf
   ArmPkg/Drivers/CpuPei/CpuPei.inf
-  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
+  MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
+  MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
   MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
   MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
 
@@ -376,7 +377,8 @@
   ArmPkg/Drivers/TimerDxe/TimerDxe.inf
 
   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
-  IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
+  MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
+  MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
   #
   #ACPI
   #
diff --git a/Platform/Hisilicon/D05/D05.dsc b/Platform/Hisilicon/D05/D05.dsc
index 1d3a054d29..e285d1a3ce 100644
--- a/Platform/Hisilicon/D05/D05.dsc
+++ b/Platform/Hisilicon/D05/D05.dsc
@@ -439,7 +439,8 @@
 
   Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf
   ArmPkg/Drivers/CpuPei/CpuPei.inf
-  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
+  MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
+  MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
   MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
   MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
 
@@ -509,7 +510,8 @@
   ArmPkg/Drivers/TimerDxe/TimerDxe.inf
 
   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
-  IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
+  MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
+  MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
   #
   #ACPI
   #
diff --git a/Platform/Hisilicon/D06/D06.dsc b/Platform/Hisilicon/D06/D06.dsc
index c1cd13b6c7..0c12181a38 100644
--- a/Platform/Hisilicon/D06/D06.dsc
+++ b/Platform/Hisilicon/D06/D06.dsc
@@ -255,7 +255,8 @@
   ArmPlatformPkg/PlatformPei/PlatformPeim.inf
 
   ArmPkg/Drivers/CpuPei/CpuPei.inf
-  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
+  MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
+  MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
   MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
   MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
 
@@ -317,7 +318,8 @@
   ArmPkg/Drivers/TimerDxe/TimerDxe.inf
 
   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
-  IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
+  MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
+  MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
   #
   #ACPI
   #
diff --git a/Platform/Hisilicon/D03/D03.fdf b/Platform/Hisilicon/D03/D03.fdf
index 3f07b2e577..f7024f400d 100644
--- a/Platform/Hisilicon/D03/D03.fdf
+++ b/Platform/Hisilicon/D03/D03.fdf
@@ -199,7 +199,8 @@ READ_LOCK_STATUS   = TRUE
   INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
   INF FatPkg/EnhancedFatDxe/Fat.inf
   INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-  INF IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
+  INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
+  INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
 
   #
   # Usb Support
@@ -329,7 +330,8 @@ READ_LOCK_STATUS   = TRUE
   INF Platform/Hisilicon/D03/MemoryInitPei/MemoryInitPeim.inf
   INF ArmPkg/Drivers/CpuPei/CpuPei.inf
   INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
-  INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
+  INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
+  INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
   INF Platform/Hisilicon/D03/EarlyConfigPeim/EarlyConfigPeimD03.inf
 
   INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
diff --git a/Platform/Hisilicon/D05/D05.fdf b/Platform/Hisilicon/D05/D05.fdf
index 9632aea4b0..76c04b2740 100644
--- a/Platform/Hisilicon/D05/D05.fdf
+++ b/Platform/Hisilicon/D05/D05.fdf
@@ -203,7 +203,8 @@ READ_LOCK_STATUS   = TRUE
   INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
   INF FatPkg/EnhancedFatDxe/Fat.inf
   INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-  INF IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
+  INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
+  INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
 
   #
   # Usb Support
@@ -351,7 +352,8 @@ READ_LOCK_STATUS   = TRUE
   INF Platform/Hisilicon/D05/MemoryInitPei/MemoryInitPeim.inf
   INF ArmPkg/Drivers/CpuPei/CpuPei.inf
   INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
-  INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
+  INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
+  INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
   INF Platform/Hisilicon/D05/EarlyConfigPeim/EarlyConfigPeimD05.inf
 
   INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
diff --git a/Platform/Hisilicon/D06/D06.fdf b/Platform/Hisilicon/D06/D06.fdf
index e402628a1b..fb26881300 100644
--- a/Platform/Hisilicon/D06/D06.fdf
+++ b/Platform/Hisilicon/D06/D06.fdf
@@ -204,7 +204,8 @@ READ_LOCK_STATUS   = TRUE
   INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
   INF FatPkg/EnhancedFatDxe/Fat.inf
   INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-  INF IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
+  INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
+  INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
 
   #
   # Usb Support
@@ -345,7 +346,8 @@ READ_LOCK_STATUS   = TRUE
   INF Platform/Hisilicon/D06/MemoryInitPei/MemoryInitPeim.inf
   INF ArmPkg/Drivers/CpuPei/CpuPei.inf
   INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
-  INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
+  INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
+  INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
   INF Platform/Hisilicon/D06/EarlyConfigPeim/EarlyConfigPeimD06.inf
 
   INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
-- 
2.12.0.windows.1


  parent reply	other threads:[~2019-05-14  2:08 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-14  2:08 [edk2-platforms][PATCH v1 00/16] Drop IntelFramework[Module]Pkg dependency Wu, Hao A
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 01/16] Platform/AMD: Use Lzma decompress lib in MdeModulePkg Wu, Hao A
2019-05-17 15:20   ` Ard Biesheuvel
2019-05-14  2:08 ` [PATCH 1/2] Platform/BeagleBoard: Use ReportStatusCodeLib " Wu, Hao A
2019-05-14  2:09   ` [edk2-devel] " Wu, Hao A
2019-05-14 15:13   ` Leif Lindholm
2019-05-15  0:30     ` [edk2-devel] " Wu, Hao A
2019-05-14  2:08 ` [PATCH 2/2] Platform/BeagleBoard: Drop the consume of PcdShellFile Wu, Hao A
2019-05-14  2:09   ` [edk2-devel] " Wu, Hao A
2019-05-14 15:13   ` Leif Lindholm
2019-05-17 15:25     ` Ard Biesheuvel
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 02/16] Platform/BeagleBoard: Use ReportStatusCodeLib in MdeModulePkg Wu, Hao A
2019-05-15 19:44   ` [edk2-devel] " Leif Lindholm
2019-05-17 15:24   ` Ard Biesheuvel
2019-05-17 16:02     ` Leif Lindholm
2019-05-17 16:05       ` Ard Biesheuvel
2019-05-17 16:11         ` Ard Biesheuvel
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 03/16] Platform/BeagleBoard: Drop the consume of PcdShellFile Wu, Hao A
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 04/16] Hisilicon/D0x: Use Lzma decompress lib in MdeModulePkg Wu, Hao A
2019-05-17 15:26   ` [edk2-devel] " Ard Biesheuvel
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 05/16] Hisilicon/D0x: Drop the consume of GenericBdsLib & PlatformBdsLib Wu, Hao A
2019-05-17 15:27   ` [edk2-devel] " Ard Biesheuvel
2019-05-14  2:08 ` Wu, Hao A [this message]
2019-05-15 19:47   ` [edk2-platforms][PATCH v1 06/16] Hisilicon/D0x: Use StatusCode Router & Handler in MdeModulePkg Leif Lindholm
2019-05-17 15:33     ` Ard Biesheuvel
2019-05-20  8:49       ` [edk2-devel] " Wu, Hao A
2019-05-22  3:27         ` Ni, Ray
2019-05-27 12:11       ` ming.huang
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 07/16] Hisilicon/D06: Drop the consume of PcdShellFile Wu, Hao A
2019-05-17 15:34   ` Ard Biesheuvel
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 08/16] Silicon/Hisilicon: Use Lzma decompress lib in MdeModulePkg Wu, Hao A
2019-05-17 15:37   ` Ard Biesheuvel
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 09/16] Silicon/Hisilicon: Use ReportStatusCodeLib (DXE) " Wu, Hao A
2019-05-15 19:48   ` [edk2-devel] " Leif Lindholm
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 10/16] Silicon/Hisilicon: Use DebugLib (DXE_RUNTIME_DRIVER) " Wu, Hao A
2019-05-17 15:41   ` Ard Biesheuvel
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 11/16] Silicon/Hisilicon/Smbios: Drop IntelFramework[Module]Pkg dependency Wu, Hao A
2019-05-17 15:43   ` Ard Biesheuvel
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 12/16] Silicon/Hisilicon/PlatformIntelBdsLib: Remove Hisilicon PlatformBdsLib Wu, Hao A
2019-05-17 15:43   ` Ard Biesheuvel
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 13/16] Platform/LeMaker: Use Lzma decompress lib in MdeModulePkg Wu, Hao A
2019-05-17 15:44   ` Ard Biesheuvel
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 14/16] Platform/LeMaker: Use ReportStatusCodeLib " Wu, Hao A
2019-05-15 19:51   ` Leif Lindholm
2019-05-17 15:45   ` Ard Biesheuvel
2019-05-17 16:04     ` Leif Lindholm
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 15/16] Platform/SoftIron: Use Lzma decompress lib " Wu, Hao A
2019-05-17 15:45   ` Ard Biesheuvel
2019-05-14  2:08 ` [edk2-platforms][PATCH v1 16/16] Platform/SoftIron: Use ReportStatusCodeLib " Wu, Hao A
2019-05-17 15:46   ` Ard Biesheuvel
2019-05-17 16:04     ` Leif Lindholm
2019-05-14  2:10 ` [edk2-devel] [edk2-platforms][PATCH v1 00/16] Drop IntelFramework[Module]Pkg dependency Wu, Hao A
2019-05-15 20:01 ` Leif Lindholm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190514020831.7728-9-hao.a.wu@intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox