From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=FC/sDeiw; spf=pass (domain: linaro.org, ip: 209.85.166.194, mailfrom: ard.biesheuvel@linaro.org) Received: from mail-it1-f194.google.com (mail-it1-f194.google.com [209.85.166.194]) by groups.io with SMTP; Fri, 17 May 2019 08:33:58 -0700 Received: by mail-it1-f194.google.com with SMTP id q132so12596593itc.5 for ; Fri, 17 May 2019 08:33:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=pcD7Fy14vMdlusux2zu9VJ3vOO0Atx+3CXJ4CRtHGqQ=; b=FC/sDeiwK6nYb19/mcTGFFHaYs5a9Bl98zgzrUc5KX6otefA+YOPMI2sfSw4s2dtGD HIMuIuiQFWXo17B4yWCfOc2lA9rBU/P8gZTkvO/nbw/kkwjOlq5839QejQNMIuJdWMoU DUdmOw5shlCHsxuLo/pexOOjMTKiSKJDj0zPheB4UF8dUSggEwYLLMesIvAyqgZm3pME xdZA5dVD5QpiQfY9sjsrXUL30fO1bx0skYyeGIO3xPXG2XUp5VoC9b0C3GIjNivFdg2y BB6OO0hVIJF32PzfBMl744vtMOSTu/QLjs2wKEwvaFw7dixUSDQrfiV6+bpLKJypo1jW 8bbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pcD7Fy14vMdlusux2zu9VJ3vOO0Atx+3CXJ4CRtHGqQ=; b=QH7FcdNEfHehKbgdRdPu5EzhaY/MmxqN74yd6CwU8VF0NwQ6KtU6AbIHirwfbh4WtO jo/xuoFkd/CxafYQSmB8Xnvgut9LKh96mXcByKKi+iRu9K7Co4eA3kt/YnbKFGnIVm1H asxnY3ixUMFuaZY5Dh/yuVleosuxOqo/PVnun2XeYqIJmQIOIcW3J7WLLGzTALO+JalI RXMsxn+mKQvK7eowb0Ywh4NldkC057X6bnZy3/PKv0jQYf1V2zpWDO/pPsWN8JScpQ8p 3Js2rJo9j7eS7yS8R7lF+NfEyuLPA925bXZGA1tQ1raY3JESiY8RW0WhhRltY8YnXGK2 VnEw== X-Gm-Message-State: APjAAAX2yY8zHL6C71tVefmR85U7XGWbTlwWhqIdChG+C08EVofv/s8s Lm82GKdWV8LB/G1t4/W4ph/+LD56e8VKHXVyY50Ycw== X-Google-Smtp-Source: APXvYqxKVD2bs/w75e+Jau5s8T+r8lE1tBb1c0gLDiwjV/ju7tTVo/KNV9XuRKJJgyAwAu+i8pD2+LRf/RBdcr8EW7c= X-Received: by 2002:a24:d00e:: with SMTP id m14mr17112141itg.153.1558107238142; Fri, 17 May 2019 08:33:58 -0700 (PDT) MIME-Version: 1.0 References: <20190514020831.7728-1-hao.a.wu@intel.com> <20190514020831.7728-9-hao.a.wu@intel.com> <20190515194721.pzgeburqedolqcs6@bivouac.eciton.net> In-Reply-To: <20190515194721.pzgeburqedolqcs6@bivouac.eciton.net> From: "Ard Biesheuvel" Date: Fri, 17 May 2019 17:33:45 +0200 Message-ID: Subject: Re: [edk2-platforms][PATCH v1 06/16] Hisilicon/D0x: Use StatusCode Router & Handler in MdeModulePkg To: Leif Lindholm Cc: Hao A Wu , edk2-devel-groups-io , Michael D Kinney Content-Type: text/plain; charset="UTF-8" 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 > > + 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 > >