[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