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

Nate DeSimone nathaniel.l.desimone at intel.com
Wed Dec 9 10:30:05 UTC 2020


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 at intel.com>
> Sent: Thursday, November 19, 2020 9:23 PM
> To: devel at edk2.groups.io
> Cc: Chiu, Chasel <chasel.chiu at intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone at 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 at intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone at intel.com>
> Signed-off-by: Heng Luo <heng.luo at 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/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list