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

Wu, Hao A hao.a.wu at intel.com
Mon May 20 08:49:35 UTC 2019


> -----Original Message-----
> From: devel at edk2.groups.io [mailto:devel at edk2.groups.io] On Behalf Of Ard
> Biesheuvel
> Sent: Friday, May 17, 2019 11:34 PM
> To: Leif Lindholm
> Cc: Wu, Hao A; edk2-devel-groups-io; Kinney, Michael D
> Subject: Re: [edk2-devel] [edk2-platforms][PATCH v1 06/16] Hisilicon/D0x: Use
> StatusCode Router & Handler in MdeModulePkg
> 
> 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.

Hello Ard and Leif,

Do you know who might be able to help on testing this patch?

Best Regards,
Hao Wu

> 
> >
> > > 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/ReportStatusCodeRout
> erPei.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/StatusCodeRunti
> meDxe.inf
> > > +
> MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatus
> CodeRouterRuntimeDxe.inf
> > > +
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandler
> RuntimeDxe.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/ReportStatusCodeRout
> erPei.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/StatusCodeRunti
> meDxe.inf
> > > +
> MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatus
> CodeRouterRuntimeDxe.inf
> > > +
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandler
> RuntimeDxe.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/ReportStatusCodeRout
> erPei.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/StatusCodeRunti
> meDxe.inf
> > > +
> MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatus
> CodeRouterRuntimeDxe.inf
> > > +
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandler
> RuntimeDxe.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/StatusCodeRunti
> meDxe.inf
> > > +  INF
> MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatus
> CodeRouterRuntimeDxe.inf
> > > +  INF
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandler
> RuntimeDxe.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/ReportStatusCodeRout
> erPei.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/StatusCodeRunti
> meDxe.inf
> > > +  INF
> MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatus
> CodeRouterRuntimeDxe.inf
> > > +  INF
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandler
> RuntimeDxe.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/ReportStatusCodeRout
> erPei.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/StatusCodeRunti
> meDxe.inf
> > > +  INF
> MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatus
> CodeRouterRuntimeDxe.inf
> > > +  INF
> MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandler
> RuntimeDxe.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/ReportStatusCodeRout
> erPei.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 (#41037): https://edk2.groups.io/g/devel/message/41037
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