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

2019-05-27 Thread ming . huang
I have tested this patch simply, it can boot to OS sucessfully.

Thanks.

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

View/Reply Online (#41419): https://edk2.groups.io/g/devel/message/41419
Mute This Topic: https://groups.io/mt/31614327/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



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

2019-05-21 Thread Ni, Ray
> -Original Message-
> From: devel@edk2.groups.io  On Behalf Of Wu, Hao
> A
> Sent: Monday, May 20, 2019 4:50 PM
> To: devel@edk2.groups.io; ard.biesheu...@linaro.org; Leif Lindholm
> 
> Cc: Kinney, Michael D 
> Subject: Re: [edk2-devel] [edk2-platforms][PATCH v1 06/16] Hisilicon/D0x:
> Use StatusCode Router & Handler in MdeModulePkg
> 
> > -Original Message-
> > From: devel@edk2.groups.io [mailto:devel@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 
> > 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?

All,
We don't expect the no-one-own-testing blocks this patch series commit.
If we haven't received test result by start of next week, we would like
have an exception to push the patch series.

If we receive test results before that, we will continue working with
community to refine the patch to pass the test. (I think the possibility
of test failure is quite low. Similar changes have already been made
to OvmfPkg back to year 2016.)

Thanks,
Ray


> 
> Best Regards,
> Hao Wu
> 
> >
> > >
> > > > Cc: Ard Biesheuvel 
> > > > Cc: Leif Lindholm 
> > > > Cc: Michael D Kinney 
> > > > Signed-off-by: Hao A Wu 
> > > > ---
> > > >  Platform/Hisilicon/D03/D03.dsc | 6 --
> > > >  Platform/Hisilicon/D05/D05.dsc | 6 --
> > > >  Platform/Hisilicon/D06/D06.dsc | 6 --
> > > >  Platform/Hisilicon/D03/D03.fdf | 6 --

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

2019-05-20 Thread Wu, Hao A
> -Original Message-
> From: devel@edk2.groups.io [mailto:devel@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 
> 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 
> > > Cc: Leif Lindholm 
> > > Cc: Michael D Kinney 
> > > Signed-off-by: Hao A Wu 
> > > ---
> > >  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/Statu

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

2019-05-17 Thread Ard Biesheuvel
On Wed, 15 May 2019 at 21:47, Leif Lindholm  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 
> > Cc: Leif Lindholm 
> > Cc: Michael D Kinney 
> > Signed-off-by: Hao A Wu 
> > ---
> >  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
> > +  
> > 

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

2019-05-15 Thread Leif Lindholm
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.

/
Leif

> Cc: Ard Biesheuvel 
> Cc: Leif Lindholm 
> Cc: Michael D Kinney 
> Signed-off-by: Hao A Wu 
> ---
>  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
> 

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

2019-05-13 Thread Wu, Hao A
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 
Cc: Leif Lindholm 
Cc: Michael D Kinney 
Signed-off-by: Hao A Wu 
---
 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
-