public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for shadowing all microcode.
@ 2020-08-12  7:54 Aaron Li
  2020-09-23  6:24 ` Ni, Ray
  0 siblings, 1 reply; 7+ messages in thread
From: Aaron Li @ 2020-08-12  7:54 UTC (permalink / raw)
  To: devel; +Cc: Ray Ni, Rangasai V Chaganty, Siyuan Fu

This patch is to add a PCD PcdShadowAllMicrocode to support shadowing
all microcode patch to memory.

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2891

Signed-off-by: Aaron Li <aaron.li@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
---
 Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c   | 4 ++++
 Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.inf | 3 +++
 Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec                            | 7 +++++++
 3 files changed, 14 insertions(+)

diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c
index 8d6574f66794..5c7ee6910c8e 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c
@@ -132,6 +132,10 @@ IsMicrocodePatchNeedLoad (
   CPU_MICROCODE_EXTENDED_TABLE           *ExtendedTable;
   UINTN                                  Index;
 
+  if (FeaturePcdGet (PcdShadowAllMicrocode)) {
+    return TRUE;
+  }
+
   //
   // Check the 'ProcessorSignature' and 'ProcessorFlags' in microcode patch header.
   //
diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.inf b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.inf
index 019400ab31da..581780add891 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.inf
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.inf
@@ -39,5 +39,8 @@ [Guids]
   gEdkiiMicrocodeShadowInfoHobGuid
   gEdkiiMicrocodeStorageTypeFlashGuid
 
+[Pcd]
+  gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode
+
 [Depex]
   TRUE
diff --git a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
index e4a7fec3a3ea..3a12fe99fac6 100644
--- a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
+++ b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
@@ -76,6 +76,13 @@ [Protocols]
   # Include/Protocol/PlatformDeviceSecurityPolicy.h
   gEdkiiDeviceSecurityPolicyProtocolGuid = {0x7ea41a99, 0x5e32, 0x4c97, {0x88, 0xc4, 0xd6, 0xe7, 0x46, 0x84, 0x9, 0xd4}}
 
+[PcdsFeatureFlag]
+  ## Indicates if all microcode update patches shall be shadowed to memory.
+  #   TRUE  - All microcode patches will be shadowed.<BR>
+  #   FALSE - Only the microcode for current present processors will be shadowed.<BR>
+  # @Prompt Shadow all microcode update patches.
+  gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode|FALSE|BOOLEAN|0x00000006
+
 [PcdsFixedAtBuild, PcdsPatchableInModule]
   ## Error code for VTd error.<BR><BR>
   #  EDKII_ERROR_CODE_VTD_ERROR = (EFI_IO_BUS_UNSPECIFIED | (EFI_OEM_SPECIFIC | 0x00000000)) = 0x02008000<BR>
-- 
2.23.0.windows.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for shadowing all microcode.
  2020-08-12  7:54 [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for shadowing all microcode Aaron Li
@ 2020-09-23  6:24 ` Ni, Ray
  2020-09-24  1:37   ` Aaron Li
  0 siblings, 1 reply; 7+ messages in thread
From: Ni, Ray @ 2020-09-23  6:24 UTC (permalink / raw)
  To: Li, Aaron, devel@edk2.groups.io; +Cc: Chaganty, Rangasai V, Fu, Siyuan

MpInitLib already contains logic to shadow microcode to memory.
Is this still needed?

> -----Original Message-----
> From: Li, Aaron <aaron.li@intel.com>
> Sent: Wednesday, August 12, 2020 3:55 PM
> To: devel@edk2.groups.io
> Cc: Ni, Ray <ray.ni@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>
> Subject: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for
> shadowing all microcode.
> 
> This patch is to add a PCD PcdShadowAllMicrocode to support shadowing
> all microcode patch to memory.
> 
> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2891
> 
> Signed-off-by: Aaron Li <aaron.li@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Siyuan Fu <siyuan.fu@intel.com>
> ---
> 
> Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c
> | 4 ++++
> 
> Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.i
> nf | 3 +++
>  Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec                            | 7 +++++++
>  3 files changed, 14 insertions(+)
> 
> diff --git
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> .c
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> .c
> index 8d6574f66794..5c7ee6910c8e 100644
> ---
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> .c
> +++
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> .c
> @@ -132,6 +132,10 @@ IsMicrocodePatchNeedLoad (
>    CPU_MICROCODE_EXTENDED_TABLE           *ExtendedTable;
> 
>    UINTN                                  Index;
> 
> 
> 
> +  if (FeaturePcdGet (PcdShadowAllMicrocode)) {
> 
> +    return TRUE;
> 
> +  }
> 
> +
> 
>    //
> 
>    // Check the 'ProcessorSignature' and 'ProcessorFlags' in microcode patch
> header.
> 
>    //
> 
> diff --git
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> .inf
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> .inf
> index 019400ab31da..581780add891 100644
> ---
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> .inf
> +++
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> .inf
> @@ -39,5 +39,8 @@ [Guids]
>    gEdkiiMicrocodeShadowInfoHobGuid
> 
>    gEdkiiMicrocodeStorageTypeFlashGuid
> 
> 
> 
> +[Pcd]
> 
> +  gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode
> 
> +
> 
>  [Depex]
> 
>    TRUE
> 
> diff --git a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> index e4a7fec3a3ea..3a12fe99fac6 100644
> --- a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> +++ b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> @@ -76,6 +76,13 @@ [Protocols]
>    # Include/Protocol/PlatformDeviceSecurityPolicy.h
> 
>    gEdkiiDeviceSecurityPolicyProtocolGuid = {0x7ea41a99, 0x5e32, 0x4c97,
> {0x88, 0xc4, 0xd6, 0xe7, 0x46, 0x84, 0x9, 0xd4}}
> 
> 
> 
> +[PcdsFeatureFlag]
> 
> +  ## Indicates if all microcode update patches shall be shadowed to memory.
> 
> +  #   TRUE  - All microcode patches will be shadowed.<BR>
> 
> +  #   FALSE - Only the microcode for current present processors will be
> shadowed.<BR>
> 
> +  # @Prompt Shadow all microcode update patches.
> 
> +
> gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode|FALSE|BOOLEAN|0x
> 00000006
> 
> +
> 
>  [PcdsFixedAtBuild, PcdsPatchableInModule]
> 
>    ## Error code for VTd error.<BR><BR>
> 
>    #  EDKII_ERROR_CODE_VTD_ERROR = (EFI_IO_BUS_UNSPECIFIED |
> (EFI_OEM_SPECIFIC | 0x00000000)) = 0x02008000<BR>
> 
> --
> 2.23.0.windows.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for shadowing all microcode.
  2020-09-23  6:24 ` Ni, Ray
@ 2020-09-24  1:37   ` Aaron Li
  2020-09-24  8:56     ` Ni, Ray
  0 siblings, 1 reply; 7+ messages in thread
From: Aaron Li @ 2020-09-24  1:37 UTC (permalink / raw)
  To: Ni, Ray, devel@edk2.groups.io; +Cc: Chaganty, Rangasai V, Fu, Siyuan

Hi Ray,

Accroding to https://edk2.groups.io/g/devel/files/Designs/2020/0214/Support%20the%202nd%20Microcode%20FV%20Flash%20Region.pdf
The ShadowMicrocodePei provide a FIT based shadow microcode ppi to MpInitLib. It's needed.


Best,
Aaron

> -----Original Message-----
> From: Ni, Ray <ray.ni@intel.com>
> Sent: Wednesday, September 23, 2020 2:25 PM
> To: Li, Aaron <aaron.li@intel.com>; devel@edk2.groups.io
> Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Fu, Siyuan
> <siyuan.fu@intel.com>
> Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD
> for shadowing all microcode.
> 
> MpInitLib already contains logic to shadow microcode to memory.
> Is this still needed?
> 
> > -----Original Message-----
> > From: Li, Aaron <aaron.li@intel.com>
> > Sent: Wednesday, August 12, 2020 3:55 PM
> > To: devel@edk2.groups.io
> > Cc: Ni, Ray <ray.ni@intel.com>; Chaganty, Rangasai V
> > <rangasai.v.chaganty@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>
> > Subject: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for
> > shadowing all microcode.
> >
> > This patch is to add a PCD PcdShadowAllMicrocode to support shadowing
> > all microcode patch to memory.
> >
> > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2891
> >
> > Signed-off-by: Aaron Li <aaron.li@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
> > Cc: Siyuan Fu <siyuan.fu@intel.com>
> > ---
> >
> >
> Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodeP
> ei.c
> > | 4 ++++
> >
> >
> Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodeP
> ei.i
> > nf | 3 +++
> >  Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec                            | 7 +++++++
> >  3 files changed, 14 insertions(+)
> >
> > diff --git
> >
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> ePei
> > .c
> >
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> ePei
> > .c
> > index 8d6574f66794..5c7ee6910c8e 100644
> > ---
> >
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> ePei
> > .c
> > +++
> >
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> ePei
> > .c
> > @@ -132,6 +132,10 @@ IsMicrocodePatchNeedLoad (
> >    CPU_MICROCODE_EXTENDED_TABLE           *ExtendedTable;
> >
> >    UINTN                                  Index;
> >
> >
> >
> > +  if (FeaturePcdGet (PcdShadowAllMicrocode)) {
> >
> > +    return TRUE;
> >
> > +  }
> >
> > +
> >
> >    //
> >
> >    // Check the 'ProcessorSignature' and 'ProcessorFlags' in microcode patch
> > header.
> >
> >    //
> >
> > diff --git
> >
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> ePei
> > .inf
> >
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> ePei
> > .inf
> > index 019400ab31da..581780add891 100644
> > ---
> >
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> ePei
> > .inf
> > +++
> >
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> ePei
> > .inf
> > @@ -39,5 +39,8 @@ [Guids]
> >    gEdkiiMicrocodeShadowInfoHobGuid
> >
> >    gEdkiiMicrocodeStorageTypeFlashGuid
> >
> >
> >
> > +[Pcd]
> >
> > +  gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode
> >
> > +
> >
> >  [Depex]
> >
> >    TRUE
> >
> > diff --git a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > index e4a7fec3a3ea..3a12fe99fac6 100644
> > --- a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > +++ b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > @@ -76,6 +76,13 @@ [Protocols]
> >    # Include/Protocol/PlatformDeviceSecurityPolicy.h
> >
> >    gEdkiiDeviceSecurityPolicyProtocolGuid = {0x7ea41a99, 0x5e32, 0x4c97,
> > {0x88, 0xc4, 0xd6, 0xe7, 0x46, 0x84, 0x9, 0xd4}}
> >
> >
> >
> > +[PcdsFeatureFlag]
> >
> > +  ## Indicates if all microcode update patches shall be shadowed to
> memory.
> >
> > +  #   TRUE  - All microcode patches will be shadowed.<BR>
> >
> > +  #   FALSE - Only the microcode for current present processors will be
> > shadowed.<BR>
> >
> > +  # @Prompt Shadow all microcode update patches.
> >
> > +
> >
> gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode|FALSE|BOOLEAN|
> 0x
> > 00000006
> >
> > +
> >
> >  [PcdsFixedAtBuild, PcdsPatchableInModule]
> >
> >    ## Error code for VTd error.<BR><BR>
> >
> >    #  EDKII_ERROR_CODE_VTD_ERROR = (EFI_IO_BUS_UNSPECIFIED |
> > (EFI_OEM_SPECIFIC | 0x00000000)) = 0x02008000<BR>
> >
> > --
> > 2.23.0.windows.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for shadowing all microcode.
  2020-09-24  1:37   ` Aaron Li
@ 2020-09-24  8:56     ` Ni, Ray
  2020-10-13  2:05       ` Siyuan, Fu
  0 siblings, 1 reply; 7+ messages in thread
From: Ni, Ray @ 2020-09-24  8:56 UTC (permalink / raw)
  To: Li, Aaron, devel@edk2.groups.io; +Cc: Chaganty, Rangasai V, Fu, Siyuan

Aaron,
I understand the requirement now.
Can we avoid adding new PCD but re-interpret the ShadowMicrocode() parameter to achieve the same result?

For example, we can say when CpuIdCount is 0 and MicrocodeCpuId == NULL, it means all microcode need to be shadowed.

The benefit is: platform can use the single interface to control the behavior.

Thanks,
Ray

> -----Original Message-----
> From: Li, Aaron <aaron.li@intel.com>
> Sent: Thursday, September 24, 2020 9:38 AM
> To: Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io
> Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Fu, Siyuan
> <siyuan.fu@intel.com>
> Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for
> shadowing all microcode.
> 
> Hi Ray,
> 
> Accroding to
> https://edk2.groups.io/g/devel/files/Designs/2020/0214/Support%20the%202nd
> %20Microcode%20FV%20Flash%20Region.pdf
> The ShadowMicrocodePei provide a FIT based shadow microcode ppi to
> MpInitLib. It's needed.
> 
> 
> Best,
> Aaron
> 
> > -----Original Message-----
> > From: Ni, Ray <ray.ni@intel.com>
> > Sent: Wednesday, September 23, 2020 2:25 PM
> > To: Li, Aaron <aaron.li@intel.com>; devel@edk2.groups.io
> > Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Fu, Siyuan
> > <siyuan.fu@intel.com>
> > Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD
> > for shadowing all microcode.
> >
> > MpInitLib already contains logic to shadow microcode to memory.
> > Is this still needed?
> >
> > > -----Original Message-----
> > > From: Li, Aaron <aaron.li@intel.com>
> > > Sent: Wednesday, August 12, 2020 3:55 PM
> > > To: devel@edk2.groups.io
> > > Cc: Ni, Ray <ray.ni@intel.com>; Chaganty, Rangasai V
> > > <rangasai.v.chaganty@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>
> > > Subject: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for
> > > shadowing all microcode.
> > >
> > > This patch is to add a PCD PcdShadowAllMicrocode to support shadowing
> > > all microcode patch to memory.
> > >
> > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2891
> > >
> > > Signed-off-by: Aaron Li <aaron.li@intel.com>
> > > Cc: Ray Ni <ray.ni@intel.com>
> > > Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
> > > Cc: Siyuan Fu <siyuan.fu@intel.com>
> > > ---
> > >
> > >
> > Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodeP
> > ei.c
> > > | 4 ++++
> > >
> > >
> > Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodeP
> > ei.i
> > > nf | 3 +++
> > >  Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec                            | 7
> +++++++
> > >  3 files changed, 14 insertions(+)
> > >
> > > diff --git
> > >
> > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > ePei
> > > .c
> > >
> > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > ePei
> > > .c
> > > index 8d6574f66794..5c7ee6910c8e 100644
> > > ---
> > >
> > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > ePei
> > > .c
> > > +++
> > >
> > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > ePei
> > > .c
> > > @@ -132,6 +132,10 @@ IsMicrocodePatchNeedLoad (
> > >    CPU_MICROCODE_EXTENDED_TABLE           *ExtendedTable;
> > >
> > >    UINTN                                  Index;
> > >
> > >
> > >
> > > +  if (FeaturePcdGet (PcdShadowAllMicrocode)) {
> > >
> > > +    return TRUE;
> > >
> > > +  }
> > >
> > > +
> > >
> > >    //
> > >
> > >    // Check the 'ProcessorSignature' and 'ProcessorFlags' in microcode patch
> > > header.
> > >
> > >    //
> > >
> > > diff --git
> > >
> > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > ePei
> > > .inf
> > >
> > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > ePei
> > > .inf
> > > index 019400ab31da..581780add891 100644
> > > ---
> > >
> > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > ePei
> > > .inf
> > > +++
> > >
> > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > ePei
> > > .inf
> > > @@ -39,5 +39,8 @@ [Guids]
> > >    gEdkiiMicrocodeShadowInfoHobGuid
> > >
> > >    gEdkiiMicrocodeStorageTypeFlashGuid
> > >
> > >
> > >
> > > +[Pcd]
> > >
> > > +  gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode
> > >
> > > +
> > >
> > >  [Depex]
> > >
> > >    TRUE
> > >
> > > diff --git a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > index e4a7fec3a3ea..3a12fe99fac6 100644
> > > --- a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > +++ b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > @@ -76,6 +76,13 @@ [Protocols]
> > >    # Include/Protocol/PlatformDeviceSecurityPolicy.h
> > >
> > >    gEdkiiDeviceSecurityPolicyProtocolGuid = {0x7ea41a99, 0x5e32, 0x4c97,
> > > {0x88, 0xc4, 0xd6, 0xe7, 0x46, 0x84, 0x9, 0xd4}}
> > >
> > >
> > >
> > > +[PcdsFeatureFlag]
> > >
> > > +  ## Indicates if all microcode update patches shall be shadowed to
> > memory.
> > >
> > > +  #   TRUE  - All microcode patches will be shadowed.<BR>
> > >
> > > +  #   FALSE - Only the microcode for current present processors will be
> > > shadowed.<BR>
> > >
> > > +  # @Prompt Shadow all microcode update patches.
> > >
> > > +
> > >
> > gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode|FALSE|BOOLEAN|
> > 0x
> > > 00000006
> > >
> > > +
> > >
> > >  [PcdsFixedAtBuild, PcdsPatchableInModule]
> > >
> > >    ## Error code for VTd error.<BR><BR>
> > >
> > >    #  EDKII_ERROR_CODE_VTD_ERROR = (EFI_IO_BUS_UNSPECIFIED |
> > > (EFI_OEM_SPECIFIC | 0x00000000)) = 0x02008000<BR>
> > >
> > > --
> > > 2.23.0.windows.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for shadowing all microcode.
  2020-09-24  8:56     ` Ni, Ray
@ 2020-10-13  2:05       ` Siyuan, Fu
  2020-10-13  2:46         ` Ni, Ray
  0 siblings, 1 reply; 7+ messages in thread
From: Siyuan, Fu @ 2020-10-13  2:05 UTC (permalink / raw)
  To: Ni, Ray, Li, Aaron, devel@edk2.groups.io; +Cc: Chaganty, Rangasai V

> -----Original Message-----
> From: Ni, Ray <ray.ni@intel.com>
> Sent: 2020年9月24日 16:56
> To: Li, Aaron <aaron.li@intel.com>; devel@edk2.groups.io
> Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Fu, Siyuan
> <siyuan.fu@intel.com>
> Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for
> shadowing all microcode.
> 
> Aaron,
> I understand the requirement now.
> Can we avoid adding new PCD but re-interpret the ShadowMicrocode()
> parameter to achieve the same result?
> 
> For example, we can say when CpuIdCount is 0 and MicrocodeCpuId == NULL, it
> means all microcode need to be shadowed.
> 
> The benefit is: platform can use the single interface to control the behavior.

Hi, Ray

It's the platform PEIM (the ShadowMicrocode() function itself) to decide which
Microcode it should shadow to memory, not the caller. So we can't use the input
Parameter to control the behavior.

Thanks.
Siyuan

> 
> Thanks,
> Ray
> 
> > -----Original Message-----
> > From: Li, Aaron <aaron.li@intel.com>
> > Sent: Thursday, September 24, 2020 9:38 AM
> > To: Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io
> > Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Fu, Siyuan
> > <siyuan.fu@intel.com>
> > Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for
> > shadowing all microcode.
> >
> > Hi Ray,
> >
> > Accroding to
> >
> https://edk2.groups.io/g/devel/files/Designs/2020/0214/Support%20the%202n
> d
> > %20Microcode%20FV%20Flash%20Region.pdf
> > The ShadowMicrocodePei provide a FIT based shadow microcode ppi to
> > MpInitLib. It's needed.
> >
> >
> > Best,
> > Aaron
> >
> > > -----Original Message-----
> > > From: Ni, Ray <ray.ni@intel.com>
> > > Sent: Wednesday, September 23, 2020 2:25 PM
> > > To: Li, Aaron <aaron.li@intel.com>; devel@edk2.groups.io
> > > Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Fu, Siyuan
> > > <siyuan.fu@intel.com>
> > > Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD
> > > for shadowing all microcode.
> > >
> > > MpInitLib already contains logic to shadow microcode to memory.
> > > Is this still needed?
> > >
> > > > -----Original Message-----
> > > > From: Li, Aaron <aaron.li@intel.com>
> > > > Sent: Wednesday, August 12, 2020 3:55 PM
> > > > To: devel@edk2.groups.io
> > > > Cc: Ni, Ray <ray.ni@intel.com>; Chaganty, Rangasai V
> > > > <rangasai.v.chaganty@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>
> > > > Subject: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for
> > > > shadowing all microcode.
> > > >
> > > > This patch is to add a PCD PcdShadowAllMicrocode to support shadowing
> > > > all microcode patch to memory.
> > > >
> > > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2891
> > > >
> > > > Signed-off-by: Aaron Li <aaron.li@intel.com>
> > > > Cc: Ray Ni <ray.ni@intel.com>
> > > > Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
> > > > Cc: Siyuan Fu <siyuan.fu@intel.com>
> > > > ---
> > > >
> > > >
> > > Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodeP
> > > ei.c
> > > > | 4 ++++
> > > >
> > > >
> > > Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodeP
> > > ei.i
> > > > nf | 3 +++
> > > >  Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec                            | 7
> > +++++++
> > > >  3 files changed, 14 insertions(+)
> > > >
> > > > diff --git
> > > >
> > > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > ePei
> > > > .c
> > > >
> > > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > ePei
> > > > .c
> > > > index 8d6574f66794..5c7ee6910c8e 100644
> > > > ---
> > > >
> > > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > ePei
> > > > .c
> > > > +++
> > > >
> > > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > ePei
> > > > .c
> > > > @@ -132,6 +132,10 @@ IsMicrocodePatchNeedLoad (
> > > >    CPU_MICROCODE_EXTENDED_TABLE           *ExtendedTable;
> > > >
> > > >    UINTN                                  Index;
> > > >
> > > >
> > > >
> > > > +  if (FeaturePcdGet (PcdShadowAllMicrocode)) {
> > > >
> > > > +    return TRUE;
> > > >
> > > > +  }
> > > >
> > > > +
> > > >
> > > >    //
> > > >
> > > >    // Check the 'ProcessorSignature' and 'ProcessorFlags' in microcode
> patch
> > > > header.
> > > >
> > > >    //
> > > >
> > > > diff --git
> > > >
> > > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > ePei
> > > > .inf
> > > >
> > > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > ePei
> > > > .inf
> > > > index 019400ab31da..581780add891 100644
> > > > ---
> > > >
> > > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > ePei
> > > > .inf
> > > > +++
> > > >
> > > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > ePei
> > > > .inf
> > > > @@ -39,5 +39,8 @@ [Guids]
> > > >    gEdkiiMicrocodeShadowInfoHobGuid
> > > >
> > > >    gEdkiiMicrocodeStorageTypeFlashGuid
> > > >
> > > >
> > > >
> > > > +[Pcd]
> > > >
> > > > +  gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode
> > > >
> > > > +
> > > >
> > > >  [Depex]
> > > >
> > > >    TRUE
> > > >
> > > > diff --git a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > > b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > > index e4a7fec3a3ea..3a12fe99fac6 100644
> > > > --- a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > > +++ b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > > @@ -76,6 +76,13 @@ [Protocols]
> > > >    # Include/Protocol/PlatformDeviceSecurityPolicy.h
> > > >
> > > >    gEdkiiDeviceSecurityPolicyProtocolGuid = {0x7ea41a99, 0x5e32, 0x4c97,
> > > > {0x88, 0xc4, 0xd6, 0xe7, 0x46, 0x84, 0x9, 0xd4}}
> > > >
> > > >
> > > >
> > > > +[PcdsFeatureFlag]
> > > >
> > > > +  ## Indicates if all microcode update patches shall be shadowed to
> > > memory.
> > > >
> > > > +  #   TRUE  - All microcode patches will be shadowed.<BR>
> > > >
> > > > +  #   FALSE - Only the microcode for current present processors will be
> > > > shadowed.<BR>
> > > >
> > > > +  # @Prompt Shadow all microcode update patches.
> > > >
> > > > +
> > > >
> > > gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode|FALSE|BOOLEAN|
> > > 0x
> > > > 00000006
> > > >
> > > > +
> > > >
> > > >  [PcdsFixedAtBuild, PcdsPatchableInModule]
> > > >
> > > >    ## Error code for VTd error.<BR><BR>
> > > >
> > > >    #  EDKII_ERROR_CODE_VTD_ERROR = (EFI_IO_BUS_UNSPECIFIED |
> > > > (EFI_OEM_SPECIFIC | 0x00000000)) = 0x02008000<BR>
> > > >
> > > > --
> > > > 2.23.0.windows.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for shadowing all microcode.
  2020-10-13  2:05       ` Siyuan, Fu
@ 2020-10-13  2:46         ` Ni, Ray
  2020-10-15  1:35           ` Aaron Li
  0 siblings, 1 reply; 7+ messages in thread
From: Ni, Ray @ 2020-10-13  2:46 UTC (permalink / raw)
  To: Fu, Siyuan, Li, Aaron, devel@edk2.groups.io; +Cc: Chaganty, Rangasai V

Reviewed-by: Ray Ni <ray.ni@intel.com>

> -----Original Message-----
> From: Fu, Siyuan <siyuan.fu@intel.com>
> Sent: Tuesday, October 13, 2020 10:06 AM
> To: Ni, Ray <ray.ni@intel.com>; Li, Aaron <aaron.li@intel.com>; devel@edk2.groups.io
> Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>
> Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for shadowing all microcode.
> 
> > -----Original Message-----
> > From: Ni, Ray <ray.ni@intel.com>
> > Sent: 2020年9月24日 16:56
> > To: Li, Aaron <aaron.li@intel.com>; devel@edk2.groups.io
> > Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Fu, Siyuan
> > <siyuan.fu@intel.com>
> > Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for
> > shadowing all microcode.
> >
> > Aaron,
> > I understand the requirement now.
> > Can we avoid adding new PCD but re-interpret the ShadowMicrocode()
> > parameter to achieve the same result?
> >
> > For example, we can say when CpuIdCount is 0 and MicrocodeCpuId == NULL, it
> > means all microcode need to be shadowed.
> >
> > The benefit is: platform can use the single interface to control the behavior.
> 
> Hi, Ray
> 
> It's the platform PEIM (the ShadowMicrocode() function itself) to decide which
> Microcode it should shadow to memory, not the caller. So we can't use the input
> Parameter to control the behavior.
> 
> Thanks.
> Siyuan
> 
> >
> > Thanks,
> > Ray
> >
> > > -----Original Message-----
> > > From: Li, Aaron <aaron.li@intel.com>
> > > Sent: Thursday, September 24, 2020 9:38 AM
> > > To: Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io
> > > Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Fu, Siyuan
> > > <siyuan.fu@intel.com>
> > > Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for
> > > shadowing all microcode.
> > >
> > > Hi Ray,
> > >
> > > Accroding to
> > >
> > https://edk2.groups.io/g/devel/files/Designs/2020/0214/Support%20the%202n
> > d
> > > %20Microcode%20FV%20Flash%20Region.pdf
> > > The ShadowMicrocodePei provide a FIT based shadow microcode ppi to
> > > MpInitLib. It's needed.
> > >
> > >
> > > Best,
> > > Aaron
> > >
> > > > -----Original Message-----
> > > > From: Ni, Ray <ray.ni@intel.com>
> > > > Sent: Wednesday, September 23, 2020 2:25 PM
> > > > To: Li, Aaron <aaron.li@intel.com>; devel@edk2.groups.io
> > > > Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Fu, Siyuan
> > > > <siyuan.fu@intel.com>
> > > > Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD
> > > > for shadowing all microcode.
> > > >
> > > > MpInitLib already contains logic to shadow microcode to memory.
> > > > Is this still needed?
> > > >
> > > > > -----Original Message-----
> > > > > From: Li, Aaron <aaron.li@intel.com>
> > > > > Sent: Wednesday, August 12, 2020 3:55 PM
> > > > > To: devel@edk2.groups.io
> > > > > Cc: Ni, Ray <ray.ni@intel.com>; Chaganty, Rangasai V
> > > > > <rangasai.v.chaganty@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>
> > > > > Subject: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for
> > > > > shadowing all microcode.
> > > > >
> > > > > This patch is to add a PCD PcdShadowAllMicrocode to support shadowing
> > > > > all microcode patch to memory.
> > > > >
> > > > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2891
> > > > >
> > > > > Signed-off-by: Aaron Li <aaron.li@intel.com>
> > > > > Cc: Ray Ni <ray.ni@intel.com>
> > > > > Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
> > > > > Cc: Siyuan Fu <siyuan.fu@intel.com>
> > > > > ---
> > > > >
> > > > >
> > > > Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodeP
> > > > ei.c
> > > > > | 4 ++++
> > > > >
> > > > >
> > > > Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodeP
> > > > ei.i
> > > > > nf | 3 +++
> > > > >  Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec                            | 7
> > > +++++++
> > > > >  3 files changed, 14 insertions(+)
> > > > >
> > > > > diff --git
> > > > >
> > > > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > ePei
> > > > > .c
> > > > >
> > > > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > ePei
> > > > > .c
> > > > > index 8d6574f66794..5c7ee6910c8e 100644
> > > > > ---
> > > > >
> > > > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > ePei
> > > > > .c
> > > > > +++
> > > > >
> > > > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > ePei
> > > > > .c
> > > > > @@ -132,6 +132,10 @@ IsMicrocodePatchNeedLoad (
> > > > >    CPU_MICROCODE_EXTENDED_TABLE           *ExtendedTable;
> > > > >
> > > > >    UINTN                                  Index;
> > > > >
> > > > >
> > > > >
> > > > > +  if (FeaturePcdGet (PcdShadowAllMicrocode)) {
> > > > >
> > > > > +    return TRUE;
> > > > >
> > > > > +  }
> > > > >
> > > > > +
> > > > >
> > > > >    //
> > > > >
> > > > >    // Check the 'ProcessorSignature' and 'ProcessorFlags' in microcode
> > patch
> > > > > header.
> > > > >
> > > > >    //
> > > > >
> > > > > diff --git
> > > > >
> > > > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > ePei
> > > > > .inf
> > > > >
> > > > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > ePei
> > > > > .inf
> > > > > index 019400ab31da..581780add891 100644
> > > > > ---
> > > > >
> > > > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > ePei
> > > > > .inf
> > > > > +++
> > > > >
> > > > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > ePei
> > > > > .inf
> > > > > @@ -39,5 +39,8 @@ [Guids]
> > > > >    gEdkiiMicrocodeShadowInfoHobGuid
> > > > >
> > > > >    gEdkiiMicrocodeStorageTypeFlashGuid
> > > > >
> > > > >
> > > > >
> > > > > +[Pcd]
> > > > >
> > > > > +  gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode
> > > > >
> > > > > +
> > > > >
> > > > >  [Depex]
> > > > >
> > > > >    TRUE
> > > > >
> > > > > diff --git a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > > > b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > > > index e4a7fec3a3ea..3a12fe99fac6 100644
> > > > > --- a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > > > +++ b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > > > @@ -76,6 +76,13 @@ [Protocols]
> > > > >    # Include/Protocol/PlatformDeviceSecurityPolicy.h
> > > > >
> > > > >    gEdkiiDeviceSecurityPolicyProtocolGuid = {0x7ea41a99, 0x5e32, 0x4c97,
> > > > > {0x88, 0xc4, 0xd6, 0xe7, 0x46, 0x84, 0x9, 0xd4}}
> > > > >
> > > > >
> > > > >
> > > > > +[PcdsFeatureFlag]
> > > > >
> > > > > +  ## Indicates if all microcode update patches shall be shadowed to
> > > > memory.
> > > > >
> > > > > +  #   TRUE  - All microcode patches will be shadowed.<BR>
> > > > >
> > > > > +  #   FALSE - Only the microcode for current present processors will be
> > > > > shadowed.<BR>
> > > > >
> > > > > +  # @Prompt Shadow all microcode update patches.
> > > > >
> > > > > +
> > > > >
> > > > gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode|FALSE|BOOLEAN|
> > > > 0x
> > > > > 00000006
> > > > >
> > > > > +
> > > > >
> > > > >  [PcdsFixedAtBuild, PcdsPatchableInModule]
> > > > >
> > > > >    ## Error code for VTd error.<BR><BR>
> > > > >
> > > > >    #  EDKII_ERROR_CODE_VTD_ERROR = (EFI_IO_BUS_UNSPECIFIED |
> > > > > (EFI_OEM_SPECIFIC | 0x00000000)) = 0x02008000<BR>
> > > > >
> > > > > --
> > > > > 2.23.0.windows.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for shadowing all microcode.
  2020-10-13  2:46         ` Ni, Ray
@ 2020-10-15  1:35           ` Aaron Li
  0 siblings, 0 replies; 7+ messages in thread
From: Aaron Li @ 2020-10-15  1:35 UTC (permalink / raw)
  To: Ni, Ray, Fu, Siyuan, devel@edk2.groups.io; +Cc: Chaganty, Rangasai V

Hi Ray,

Could you please help to push this patch to edk2-platform?
Thanks.


Best,
Aaron

> -----Original Message-----
> From: Ni, Ray <ray.ni@intel.com>
> Sent: Tuesday, October 13, 2020 10:47 AM
> To: Fu, Siyuan <siyuan.fu@intel.com>; Li, Aaron <aaron.li@intel.com>;
> devel@edk2.groups.io
> Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>
> Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD
> for shadowing all microcode.
> 
> Reviewed-by: Ray Ni <ray.ni@intel.com>
> 
> > -----Original Message-----
> > From: Fu, Siyuan <siyuan.fu@intel.com>
> > Sent: Tuesday, October 13, 2020 10:06 AM
> > To: Ni, Ray <ray.ni@intel.com>; Li, Aaron <aaron.li@intel.com>;
> devel@edk2.groups.io
> > Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>
> > Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD
> for shadowing all microcode.
> >
> > > -----Original Message-----
> > > From: Ni, Ray <ray.ni@intel.com>
> > > Sent: 2020年9月24日 16:56
> > > To: Li, Aaron <aaron.li@intel.com>; devel@edk2.groups.io
> > > Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Fu, Siyuan
> > > <siyuan.fu@intel.com>
> > > Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add
> PCD for
> > > shadowing all microcode.
> > >
> > > Aaron,
> > > I understand the requirement now.
> > > Can we avoid adding new PCD but re-interpret the ShadowMicrocode()
> > > parameter to achieve the same result?
> > >
> > > For example, we can say when CpuIdCount is 0 and MicrocodeCpuId ==
> NULL, it
> > > means all microcode need to be shadowed.
> > >
> > > The benefit is: platform can use the single interface to control the
> behavior.
> >
> > Hi, Ray
> >
> > It's the platform PEIM (the ShadowMicrocode() function itself) to decide
> which
> > Microcode it should shadow to memory, not the caller. So we can't use the
> input
> > Parameter to control the behavior.
> >
> > Thanks.
> > Siyuan
> >
> > >
> > > Thanks,
> > > Ray
> > >
> > > > -----Original Message-----
> > > > From: Li, Aaron <aaron.li@intel.com>
> > > > Sent: Thursday, September 24, 2020 9:38 AM
> > > > To: Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io
> > > > Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Fu, Siyuan
> > > > <siyuan.fu@intel.com>
> > > > Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add
> PCD for
> > > > shadowing all microcode.
> > > >
> > > > Hi Ray,
> > > >
> > > > Accroding to
> > > >
> > >
> https://edk2.groups.io/g/devel/files/Designs/2020/0214/Support%20the%20
> 2n
> > > d
> > > > %20Microcode%20FV%20Flash%20Region.pdf
> > > > The ShadowMicrocodePei provide a FIT based shadow microcode ppi to
> > > > MpInitLib. It's needed.
> > > >
> > > >
> > > > Best,
> > > > Aaron
> > > >
> > > > > -----Original Message-----
> > > > > From: Ni, Ray <ray.ni@intel.com>
> > > > > Sent: Wednesday, September 23, 2020 2:25 PM
> > > > > To: Li, Aaron <aaron.li@intel.com>; devel@edk2.groups.io
> > > > > Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Fu,
> Siyuan
> > > > > <siyuan.fu@intel.com>
> > > > > Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei:
> Add PCD
> > > > > for shadowing all microcode.
> > > > >
> > > > > MpInitLib already contains logic to shadow microcode to memory.
> > > > > Is this still needed?
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Li, Aaron <aaron.li@intel.com>
> > > > > > Sent: Wednesday, August 12, 2020 3:55 PM
> > > > > > To: devel@edk2.groups.io
> > > > > > Cc: Ni, Ray <ray.ni@intel.com>; Chaganty, Rangasai V
> > > > > > <rangasai.v.chaganty@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>
> > > > > > Subject: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add
> PCD for
> > > > > > shadowing all microcode.
> > > > > >
> > > > > > This patch is to add a PCD PcdShadowAllMicrocode to support
> shadowing
> > > > > > all microcode patch to memory.
> > > > > >
> > > > > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2891
> > > > > >
> > > > > > Signed-off-by: Aaron Li <aaron.li@intel.com>
> > > > > > Cc: Ray Ni <ray.ni@intel.com>
> > > > > > Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
> > > > > > Cc: Siyuan Fu <siyuan.fu@intel.com>
> > > > > > ---
> > > > > >
> > > > > >
> > > > >
> Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodeP
> > > > > ei.c
> > > > > > | 4 ++++
> > > > > >
> > > > > >
> > > > >
> Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodeP
> > > > > ei.i
> > > > > > nf | 3 +++
> > > > > >  Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec                            | 7
> > > > +++++++
> > > > > >  3 files changed, 14 insertions(+)
> > > > > >
> > > > > > diff --git
> > > > > >
> > > > >
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > > ePei
> > > > > > .c
> > > > > >
> > > > >
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > > ePei
> > > > > > .c
> > > > > > index 8d6574f66794..5c7ee6910c8e 100644
> > > > > > ---
> > > > > >
> > > > >
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > > ePei
> > > > > > .c
> > > > > > +++
> > > > > >
> > > > >
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > > ePei
> > > > > > .c
> > > > > > @@ -132,6 +132,10 @@ IsMicrocodePatchNeedLoad (
> > > > > >    CPU_MICROCODE_EXTENDED_TABLE           *ExtendedTable;
> > > > > >
> > > > > >    UINTN                                  Index;
> > > > > >
> > > > > >
> > > > > >
> > > > > > +  if (FeaturePcdGet (PcdShadowAllMicrocode)) {
> > > > > >
> > > > > > +    return TRUE;
> > > > > >
> > > > > > +  }
> > > > > >
> > > > > > +
> > > > > >
> > > > > >    //
> > > > > >
> > > > > >    // Check the 'ProcessorSignature' and 'ProcessorFlags' in
> microcode
> > > patch
> > > > > > header.
> > > > > >
> > > > > >    //
> > > > > >
> > > > > > diff --git
> > > > > >
> > > > >
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > > ePei
> > > > > > .inf
> > > > > >
> > > > >
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > > ePei
> > > > > > .inf
> > > > > > index 019400ab31da..581780add891 100644
> > > > > > ---
> > > > > >
> > > > >
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > > ePei
> > > > > > .inf
> > > > > > +++
> > > > > >
> > > > >
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod
> > > > > ePei
> > > > > > .inf
> > > > > > @@ -39,5 +39,8 @@ [Guids]
> > > > > >    gEdkiiMicrocodeShadowInfoHobGuid
> > > > > >
> > > > > >    gEdkiiMicrocodeStorageTypeFlashGuid
> > > > > >
> > > > > >
> > > > > >
> > > > > > +[Pcd]
> > > > > >
> > > > > > +  gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode
> > > > > >
> > > > > > +
> > > > > >
> > > > > >  [Depex]
> > > > > >
> > > > > >    TRUE
> > > > > >
> > > > > > diff --git a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > > > > b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > > > > index e4a7fec3a3ea..3a12fe99fac6 100644
> > > > > > --- a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > > > > +++ b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec
> > > > > > @@ -76,6 +76,13 @@ [Protocols]
> > > > > >    # Include/Protocol/PlatformDeviceSecurityPolicy.h
> > > > > >
> > > > > >    gEdkiiDeviceSecurityPolicyProtocolGuid = {0x7ea41a99, 0x5e32,
> 0x4c97,
> > > > > > {0x88, 0xc4, 0xd6, 0xe7, 0x46, 0x84, 0x9, 0xd4}}
> > > > > >
> > > > > >
> > > > > >
> > > > > > +[PcdsFeatureFlag]
> > > > > >
> > > > > > +  ## Indicates if all microcode update patches shall be shadowed to
> > > > > memory.
> > > > > >
> > > > > > +  #   TRUE  - All microcode patches will be shadowed.<BR>
> > > > > >
> > > > > > +  #   FALSE - Only the microcode for current present processors will
> be
> > > > > > shadowed.<BR>
> > > > > >
> > > > > > +  # @Prompt Shadow all microcode update patches.
> > > > > >
> > > > > > +
> > > > > >
> > > > >
> gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode|FALSE|BOOLEAN|
> > > > > 0x
> > > > > > 00000006
> > > > > >
> > > > > > +
> > > > > >
> > > > > >  [PcdsFixedAtBuild, PcdsPatchableInModule]
> > > > > >
> > > > > >    ## Error code for VTd error.<BR><BR>
> > > > > >
> > > > > >    #  EDKII_ERROR_CODE_VTD_ERROR = (EFI_IO_BUS_UNSPECIFIED
> |
> > > > > > (EFI_OEM_SPECIFIC | 0x00000000)) = 0x02008000<BR>
> > > > > >
> > > > > > --
> > > > > > 2.23.0.windows.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-10-15  1:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-12  7:54 [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for shadowing all microcode Aaron Li
2020-09-23  6:24 ` Ni, Ray
2020-09-24  1:37   ` Aaron Li
2020-09-24  8:56     ` Ni, Ray
2020-10-13  2:05       ` Siyuan, Fu
2020-10-13  2:46         ` Ni, Ray
2020-10-15  1:35           ` Aaron Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox