[edk2-devel] [PATCH] UpXtreme: Enable USB DCI debug

Heng Luo posted 1 patch 3 years, 4 months ago
Failed in applying to current master (apply log)
Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdateLib/PeiPchPolicyUpdatePreMem.c                    | 1 -
Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiCpuPolicyBoardConfig.c              | 5 +++++
Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c        | 7 +++++++
Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf            | 1 +
Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c | 6 ++++++
Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf     | 1 +
6 files changed, 20 insertions(+), 1 deletion(-)
[edk2-devel] [PATCH] UpXtreme: Enable USB DCI debug
Posted by Heng Luo 3 years, 4 months ago
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3081

Allow to debug BIOS via DCI cable.

Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Signed-off-by: Heng Luo <heng.luo@intel.com>
---
 Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdateLib/PeiPchPolicyUpdatePreMem.c                    | 1 -
 Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiCpuPolicyBoardConfig.c              | 5 +++++
 Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c        | 7 +++++++
 Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf            | 1 +
 Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c | 6 ++++++
 Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf     | 1 +
 6 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdateLib/PeiPchPolicyUpdatePreMem.c b/Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdateLib/PeiPchPolicyUpdatePreMem.c
index 2d48b09175..ac5b583f89 100644
--- a/Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdateLib/PeiPchPolicyUpdatePreMem.c
+++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdateLib/PeiPchPolicyUpdatePreMem.c
@@ -83,7 +83,6 @@ UpdatePeiPchPolicyPreMem (
   Status = GetConfigBlock ((VOID *) SiPreMemPolicy, &gIshPreMemConfigGuid, (VOID *) &IshPreMemConfig);
   ASSERT_EFI_ERROR (Status);
 
-  DciPreMemConfig->DciUsb3TypecUfpDbg = 2;
   PchTraceHubPreMemConfig->MemReg0Size = 3;
   PchTraceHubPreMemConfig->MemReg1Size = 3;
   //
diff --git a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiCpuPolicyBoardConfig.c b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiCpuPolicyBoardConfig.c
index d1d1920823..d4c5136c0a 100644
--- a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiCpuPolicyBoardConfig.c
+++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiCpuPolicyBoardConfig.c
@@ -44,6 +44,11 @@ UpdatePeiCpuPolicyBoardConfig (
   Status = GetConfigBlock ((VOID *) SiPolicyPpi, &gCpuConfigGuid, (VOID *) &CpuConfig);
   ASSERT_EFI_ERROR (Status);
 
+  //
+  //Enable processor debug features
+  //
+  CpuConfig->DebugInterfaceEnable = 1;
+
   return Status;
 }
 
diff --git a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
index 01bb75525b..c79718f4ee 100644
--- a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
+++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
@@ -25,12 +25,19 @@ UpdatePeiPchPolicyBoardConfigPreMem (
 {
   EFI_STATUS                         Status;
   PCH_GENERAL_PREMEM_CONFIG          *PchGeneralPreMemConfig;
+  PCH_DCI_PREMEM_CONFIG              *DciPreMemConfig;
 
   DEBUG((DEBUG_INFO, "Updating PCH Policy by board config in Pre Mem\n"));
 
   Status = GetConfigBlock ((VOID *) SiPreMemPolicyPpi, &gPchGeneralPreMemConfigGuid, (VOID *) &PchGeneralPreMemConfig);
   ASSERT_EFI_ERROR (Status);
 
+  Status = GetConfigBlock ((VOID *) SiPreMemPolicyPpi, &gDciPreMemConfigGuid, (VOID *) &DciPreMemConfig);
+  ASSERT_EFI_ERROR (Status);
+
+  DciPreMemConfig->PlatformDebugConsent = 3;
+  DciPreMemConfig->DciUsb3TypecUfpDbg = 1;
+
   return Status;
 }
 
diff --git a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
index aaf0abbf04..affb322c59 100644
--- a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
+++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
@@ -54,6 +54,7 @@
   gPchGeneralConfigGuid                         ## CONSUMES
   gEfiTpmDeviceInstanceTpm20DtpmGuid
   gEfiTpmDeviceInstanceTpm12Guid
+  gDciPreMemConfigGuid
 
 [Ppis]
   gEfiPeiReadOnlyVariable2PpiGuid               ## CONSUMES
diff --git a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
index 00cf73dfd9..5d75bc5e1c 100644
--- a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
+++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
@@ -25,12 +25,18 @@ UpdatePeiPchPolicyBoardConfigPreMem (
 {
   EFI_STATUS                         Status;
   PCH_GENERAL_PREMEM_CONFIG          *PchGeneralPreMemConfig;
+  PCH_DCI_PREMEM_CONFIG              *DciPreMemConfig;
 
   DEBUG((DEBUG_INFO, "Updating PCH Policy by board config in Pre Mem\n"));
 
   Status = GetConfigBlock ((VOID *) SiPreMemPolicyPpi, &gPchGeneralPreMemConfigGuid, (VOID *) &PchGeneralPreMemConfig);
   ASSERT_EFI_ERROR (Status);
 
+  Status = GetConfigBlock ((VOID *) SiPreMemPolicyPpi, &gDciPreMemConfigGuid, (VOID *) &DciPreMemConfig);
+  ASSERT_EFI_ERROR (Status);
+
+  DciPreMemConfig->DciUsb3TypecUfpDbg = 2;
+
   return Status;
 }
 
diff --git a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
index 15ef223050..5de11d62e4 100644
--- a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
+++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
@@ -54,6 +54,7 @@
   gPchGeneralConfigGuid                         ## CONSUMES
   gEfiTpmDeviceInstanceTpm20DtpmGuid
   gEfiTpmDeviceInstanceTpm12Guid
+  gDciPreMemConfigGuid
 
 [Ppis]
   gEfiPeiReadOnlyVariable2PpiGuid               ## CONSUMES
-- 
2.24.0.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#67741): https://edk2.groups.io/g/devel/message/67741
Mute This Topic: https://groups.io/mt/78383406/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] UpXtreme: Enable USB DCI debug
Posted by Nate DeSimone 3 years, 3 months ago
Hi Heng,

Please add a DynamicEx PCD to control the enable/disable of DCI to WhiskeyLakeOpenBoardPkg. It is probably not a good idea from a security standpoint to have the default configuration leave JTAG enabled and open. Other than that, look's good!

Thanks,
Nate

> -----Original Message-----
> From: Luo, Heng <heng.luo@intel.com>
> Sent: Thursday, November 19, 2020 9:23 PM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>
> Subject: [PATCH] UpXtreme: Enable USB DCI debug
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3081
> 
> Allow to debug BIOS via DCI cable.
> 
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Signed-off-by: Heng Luo <heng.luo@intel.com>
> ---
> 
> Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdateLi
> b/PeiPchPolicyUpdatePreMem.c                    | 1 -
> 
> Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoar
> dConfigLib/PeiCpuPolicyBoardConfig.c              | 5 +++++
> 
> Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoar
> dConfigLib/PeiPchPolicyBoardConfigPreMem.c        | 7 +++++++
> 
> Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoar
> dConfigLib/PeiPolicyBoardConfigLib.inf            | 1 +
> 
> Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPol
> icyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c | 6 ++++++
> 
> Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPol
> icyBoardConfigLib/PeiPolicyBoardConfigLib.inf     | 1 +
>  6 files changed, 20 insertions(+), 1 deletion(-)
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdate
> Lib/PeiPchPolicyUpdatePreMem.c
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdate
> Lib/PeiPchPolicyUpdatePreMem.c
> index 2d48b09175..ac5b583f89 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdate
> Lib/PeiPchPolicyUpdatePreMem.c
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdate
> Lib/PeiPchPolicyUpdatePreMem.c
> @@ -83,7 +83,6 @@ UpdatePeiPchPolicyPreMem (
>    Status = GetConfigBlock ((VOID *) SiPreMemPolicy,
> &gIshPreMemConfigGuid, (VOID *) &IshPreMemConfig);
> 
>    ASSERT_EFI_ERROR (Status);
> 
> 
> 
> -  DciPreMemConfig->DciUsb3TypecUfpDbg = 2;
> 
>    PchTraceHubPreMemConfig->MemReg0Size = 3;
> 
>    PchTraceHubPreMemConfig->MemReg1Size = 3;
> 
>    //
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> ardConfigLib/PeiCpuPolicyBoardConfig.c
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> ardConfigLib/PeiCpuPolicyBoardConfig.c
> index d1d1920823..d4c5136c0a 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> ardConfigLib/PeiCpuPolicyBoardConfig.c
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> ardConfigLib/PeiCpuPolicyBoardConfig.c
> @@ -44,6 +44,11 @@ UpdatePeiCpuPolicyBoardConfig (
>    Status = GetConfigBlock ((VOID *) SiPolicyPpi, &gCpuConfigGuid, (VOID *)
> &CpuConfig);
> 
>    ASSERT_EFI_ERROR (Status);
> 
> 
> 
> +  //
> 
> +  //Enable processor debug features
> 
> +  //
> 
> +  CpuConfig->DebugInterfaceEnable = 1;
> 
> +
> 
>    return Status;
> 
>  }
> 
> 
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> ardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> ardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> index 01bb75525b..c79718f4ee 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> ardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> ardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> @@ -25,12 +25,19 @@ UpdatePeiPchPolicyBoardConfigPreMem (
>  {
> 
>    EFI_STATUS                         Status;
> 
>    PCH_GENERAL_PREMEM_CONFIG          *PchGeneralPreMemConfig;
> 
> +  PCH_DCI_PREMEM_CONFIG              *DciPreMemConfig;
> 
> 
> 
>    DEBUG((DEBUG_INFO, "Updating PCH Policy by board config in Pre
> Mem\n"));
> 
> 
> 
>    Status = GetConfigBlock ((VOID *) SiPreMemPolicyPpi,
> &gPchGeneralPreMemConfigGuid, (VOID *) &PchGeneralPreMemConfig);
> 
>    ASSERT_EFI_ERROR (Status);
> 
> 
> 
> +  Status = GetConfigBlock ((VOID *) SiPreMemPolicyPpi,
> &gDciPreMemConfigGuid, (VOID *) &DciPreMemConfig);
> 
> +  ASSERT_EFI_ERROR (Status);
> 
> +
> 
> +  DciPreMemConfig->PlatformDebugConsent = 3;
> 
> +  DciPreMemConfig->DciUsb3TypecUfpDbg = 1;
> 
> +
> 
>    return Status;
> 
>  }
> 
> 
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> ardConfigLib/PeiPolicyBoardConfigLib.inf
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> ardConfigLib/PeiPolicyBoardConfigLib.inf
> index aaf0abbf04..affb322c59 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> ardConfigLib/PeiPolicyBoardConfigLib.inf
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> ardConfigLib/PeiPolicyBoardConfigLib.inf
> @@ -54,6 +54,7 @@
>    gPchGeneralConfigGuid                         ## CONSUMES
> 
>    gEfiTpmDeviceInstanceTpm20DtpmGuid
> 
>    gEfiTpmDeviceInstanceTpm12Guid
> 
> +  gDciPreMemConfigGuid
> 
> 
> 
>  [Ppis]
> 
>    gEfiPeiReadOnlyVariable2PpiGuid               ## CONSUMES
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> PolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> PolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> index 00cf73dfd9..5d75bc5e1c 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> PolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> PolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> @@ -25,12 +25,18 @@ UpdatePeiPchPolicyBoardConfigPreMem (
>  {
> 
>    EFI_STATUS                         Status;
> 
>    PCH_GENERAL_PREMEM_CONFIG          *PchGeneralPreMemConfig;
> 
> +  PCH_DCI_PREMEM_CONFIG              *DciPreMemConfig;
> 
> 
> 
>    DEBUG((DEBUG_INFO, "Updating PCH Policy by board config in Pre
> Mem\n"));
> 
> 
> 
>    Status = GetConfigBlock ((VOID *) SiPreMemPolicyPpi,
> &gPchGeneralPreMemConfigGuid, (VOID *) &PchGeneralPreMemConfig);
> 
>    ASSERT_EFI_ERROR (Status);
> 
> 
> 
> +  Status = GetConfigBlock ((VOID *) SiPreMemPolicyPpi,
> &gDciPreMemConfigGuid, (VOID *) &DciPreMemConfig);
> 
> +  ASSERT_EFI_ERROR (Status);
> 
> +
> 
> +  DciPreMemConfig->DciUsb3TypecUfpDbg = 2;
> 
> +
> 
>    return Status;
> 
>  }
> 
> 
> 
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> PolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> PolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
> index 15ef223050..5de11d62e4 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> PolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> PolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
> @@ -54,6 +54,7 @@
>    gPchGeneralConfigGuid                         ## CONSUMES
> 
>    gEfiTpmDeviceInstanceTpm20DtpmGuid
> 
>    gEfiTpmDeviceInstanceTpm12Guid
> 
> +  gDciPreMemConfigGuid
> 
> 
> 
>  [Ppis]
> 
>    gEfiPeiReadOnlyVariable2PpiGuid               ## CONSUMES
> 
> --
> 2.24.0.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#68543): https://edk2.groups.io/g/devel/message/68543
Mute This Topic: https://groups.io/mt/78383406/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] UpXtreme: Enable USB DCI debug
Posted by Heng Luo 3 years, 3 months ago
Thank Nate, I will send out patch V2 for review.

> -----Original Message-----
> From: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>
> Sent: Wednesday, December 9, 2020 6:30 PM
> To: Luo, Heng <heng.luo@intel.com>; devel@edk2.groups.io
> Cc: Chiu, Chasel <chasel.chiu@intel.com>
> Subject: RE: [PATCH] UpXtreme: Enable USB DCI debug
> 
> Hi Heng,
> 
> Please add a DynamicEx PCD to control the enable/disable of DCI to
> WhiskeyLakeOpenBoardPkg. It is probably not a good idea from a security
> standpoint to have the default configuration leave JTAG enabled and open.
> Other than that, look's good!
> 
> Thanks,
> Nate
> 
> > -----Original Message-----
> > From: Luo, Heng <heng.luo@intel.com>
> > Sent: Thursday, November 19, 2020 9:23 PM
> > To: devel@edk2.groups.io
> > Cc: Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L
> > <nathaniel.l.desimone@intel.com>
> > Subject: [PATCH] UpXtreme: Enable USB DCI debug
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3081
> >
> > Allow to debug BIOS via DCI cable.
> >
> > Cc: Chasel Chiu <chasel.chiu@intel.com>
> > Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> > Signed-off-by: Heng Luo <heng.luo@intel.com>
> > ---
> >
> >
> Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdateLi
> > b/PeiPchPolicyUpdatePreMem.c                    | 1 -
> >
> >
> Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoar
> > dConfigLib/PeiCpuPolicyBoardConfig.c              | 5 +++++
> >
> >
> Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoar
> > dConfigLib/PeiPchPolicyBoardConfigPreMem.c        | 7 +++++++
> >
> >
> Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBoar
> > dConfigLib/PeiPolicyBoardConfigLib.inf            | 1 +
> >
> >
> Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPol
> > icyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c | 6 ++++++
> >
> >
> Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/PeiPol
> > icyBoardConfigLib/PeiPolicyBoardConfigLib.inf     | 1 +
> >  6 files changed, 20 insertions(+), 1 deletion(-)
> >
> > diff --git
> > a/Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdat
> > e
> > Lib/PeiPchPolicyUpdatePreMem.c
> > b/Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdat
> > e
> > Lib/PeiPchPolicyUpdatePreMem.c
> > index 2d48b09175..ac5b583f89 100644
> > ---
> > a/Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdat
> > e
> > Lib/PeiPchPolicyUpdatePreMem.c
> > +++
> > b/Platform/Intel/WhiskeylakeOpenBoardPkg/Policy/Library/PeiPolicyUpdat
> > e
> > Lib/PeiPchPolicyUpdatePreMem.c
> > @@ -83,7 +83,6 @@ UpdatePeiPchPolicyPreMem (
> >    Status = GetConfigBlock ((VOID *) SiPreMemPolicy,
> > &gIshPreMemConfigGuid, (VOID *) &IshPreMemConfig);
> >
> >    ASSERT_EFI_ERROR (Status);
> >
> >
> >
> > -  DciPreMemConfig->DciUsb3TypecUfpDbg = 2;
> >
> >    PchTraceHubPreMemConfig->MemReg0Size = 3;
> >
> >    PchTraceHubPreMemConfig->MemReg1Size = 3;
> >
> >    //
> >
> > diff --git
> >
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> > ardConfigLib/PeiCpuPolicyBoardConfig.c
> >
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> > ardConfigLib/PeiCpuPolicyBoardConfig.c
> > index d1d1920823..d4c5136c0a 100644
> > ---
> >
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> > ardConfigLib/PeiCpuPolicyBoardConfig.c
> > +++
> >
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> > ardConfigLib/PeiCpuPolicyBoardConfig.c
> > @@ -44,6 +44,11 @@ UpdatePeiCpuPolicyBoardConfig (
> >    Status = GetConfigBlock ((VOID *) SiPolicyPpi, &gCpuConfigGuid,
> > (VOID *) &CpuConfig);
> >
> >    ASSERT_EFI_ERROR (Status);
> >
> >
> >
> > +  //
> >
> > +  //Enable processor debug features
> >
> > +  //
> >
> > +  CpuConfig->DebugInterfaceEnable = 1;
> >
> > +
> >
> >    return Status;
> >
> >  }
> >
> >
> >
> > diff --git
> >
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> > ardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> >
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> > ardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> > index 01bb75525b..c79718f4ee 100644
> > ---
> >
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> > ardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> > +++
> >
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> > ardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> > @@ -25,12 +25,19 @@ UpdatePeiPchPolicyBoardConfigPreMem (  {
> >
> >    EFI_STATUS                         Status;
> >
> >    PCH_GENERAL_PREMEM_CONFIG          *PchGeneralPreMemConfig;
> >
> > +  PCH_DCI_PREMEM_CONFIG              *DciPreMemConfig;
> >
> >
> >
> >    DEBUG((DEBUG_INFO, "Updating PCH Policy by board config in Pre
> > Mem\n"));
> >
> >
> >
> >    Status = GetConfigBlock ((VOID *) SiPreMemPolicyPpi,
> > &gPchGeneralPreMemConfigGuid, (VOID *) &PchGeneralPreMemConfig);
> >
> >    ASSERT_EFI_ERROR (Status);
> >
> >
> >
> > +  Status = GetConfigBlock ((VOID *) SiPreMemPolicyPpi,
> > &gDciPreMemConfigGuid, (VOID *) &DciPreMemConfig);
> >
> > +  ASSERT_EFI_ERROR (Status);
> >
> > +
> >
> > +  DciPreMemConfig->PlatformDebugConsent = 3;
> >
> > +  DciPreMemConfig->DciUsb3TypecUfpDbg = 1;
> >
> > +
> >
> >    return Status;
> >
> >  }
> >
> >
> >
> > diff --git
> >
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> > ardConfigLib/PeiPolicyBoardConfigLib.inf
> >
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> > ardConfigLib/PeiPolicyBoardConfigLib.inf
> > index aaf0abbf04..affb322c59 100644
> > ---
> >
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> > ardConfigLib/PeiPolicyBoardConfigLib.inf
> > +++
> >
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/Library/PeiPolicyBo
> > ardConfigLib/PeiPolicyBoardConfigLib.inf
> > @@ -54,6 +54,7 @@
> >    gPchGeneralConfigGuid                         ## CONSUMES
> >
> >    gEfiTpmDeviceInstanceTpm20DtpmGuid
> >
> >    gEfiTpmDeviceInstanceTpm12Guid
> >
> > +  gDciPreMemConfigGuid
> >
> >
> >
> >  [Ppis]
> >
> >    gEfiPeiReadOnlyVariable2PpiGuid               ## CONSUMES
> >
> > diff --git
> > a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> > PolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> > b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> > PolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> > index 00cf73dfd9..5d75bc5e1c 100644
> > ---
> > a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> > PolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> > +++
> > b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> > PolicyBoardConfigLib/PeiPchPolicyBoardConfigPreMem.c
> > @@ -25,12 +25,18 @@ UpdatePeiPchPolicyBoardConfigPreMem (  {
> >
> >    EFI_STATUS                         Status;
> >
> >    PCH_GENERAL_PREMEM_CONFIG          *PchGeneralPreMemConfig;
> >
> > +  PCH_DCI_PREMEM_CONFIG              *DciPreMemConfig;
> >
> >
> >
> >    DEBUG((DEBUG_INFO, "Updating PCH Policy by board config in Pre
> > Mem\n"));
> >
> >
> >
> >    Status = GetConfigBlock ((VOID *) SiPreMemPolicyPpi,
> > &gPchGeneralPreMemConfigGuid, (VOID *) &PchGeneralPreMemConfig);
> >
> >    ASSERT_EFI_ERROR (Status);
> >
> >
> >
> > +  Status = GetConfigBlock ((VOID *) SiPreMemPolicyPpi,
> > &gDciPreMemConfigGuid, (VOID *) &DciPreMemConfig);
> >
> > +  ASSERT_EFI_ERROR (Status);
> >
> > +
> >
> > +  DciPreMemConfig->DciUsb3TypecUfpDbg = 2;
> >
> > +
> >
> >    return Status;
> >
> >  }
> >
> >
> >
> > diff --git
> > a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> > PolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
> > b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> > PolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
> > index 15ef223050..5de11d62e4 100644
> > ---
> > a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> > PolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
> > +++
> > b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/Library/Pei
> > PolicyBoardConfigLib/PeiPolicyBoardConfigLib.inf
> > @@ -54,6 +54,7 @@
> >    gPchGeneralConfigGuid                         ## CONSUMES
> >
> >    gEfiTpmDeviceInstanceTpm20DtpmGuid
> >
> >    gEfiTpmDeviceInstanceTpm12Guid
> >
> > +  gDciPreMemConfigGuid
> >
> >
> >
> >  [Ppis]
> >
> >    gEfiPeiReadOnlyVariable2PpiGuid               ## CONSUMES
> >
> > --
> > 2.24.0.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#68746): https://edk2.groups.io/g/devel/message/68746
Mute This Topic: https://groups.io/mt/78383406/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-