[edk2-devel] [edk2-platforms][PATCH v1 06/16] Hisilicon/D0x: Use StatusCode Router & Handler in MdeModulePkg

Ard Biesheuvel ard.biesheuvel at linaro.org
Fri May 17 15:33:45 UTC 2019


On Wed, 15 May 2019 at 21:47, Leif Lindholm <leif.lindholm at linaro.org> wrote:
>
> On Tue, May 14, 2019 at 10:08:21AM +0800, Hao A Wu wrote:
> > 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.
>
> I would like to have Ard's opinion on this (and he should be back
> Friday), and probably testing on the platforms. I say this because I
> intend to push the trivial patches today, but not this one.
>


I think this change is fine, but it should be tested on actual
hardware before it can be committed.

>
> > Cc: Ard Biesheuvel <ard.biesheuvel at linaro.org>
> > Cc: Leif Lindholm <leif.lindholm at linaro.org>
> > Cc: Michael D Kinney <michael.d.kinney at intel.com>
> > Signed-off-by: Hao A Wu <hao.a.wu at 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
> >

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#40932): https://edk2.groups.io/g/devel/message/40932
Mute This Topic: https://groups.io/mt/31614327/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list