public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* System hang by loading FmpDxexxx.efi.
@ 2022-05-27  5:29 gordontcp
  0 siblings, 0 replies; only message in thread
From: gordontcp @ 2022-05-27  5:29 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1205 bytes --]

System hang by loading FmpDxexxx.efi.

Hi all,

I built FmpDevicePkg in tianocore/edk2. Then, I load FmpDxexxx.eif in EmulatorX64 and Minnow Board. It both crashed. I traced the code and found out it hang at follows:

1. PcdGetBool (PcdTestKeyUsed);

2. PcdSetBoolS (PcdTestKeyUsed, TRUE);

Detail as follows:

\edk2\FmpDevicePkg\FmpDxe\ DetectTestKey.c

DetectTestKey (

VOID

)

{

….

// If PcdTestKeyUsed is already TRUE, then skip test key detection

//

TestKeyUsed = PcdGetBool (PcdTestKeyUsed);  --> system hang

..

// If test key detected or an error occurred checking for the test key, then

// set PcdTestKeyUsed to TRUE.

//

if (TestKeyUsed) {

DEBUG ((DEBUG_INFO, "FmpDxe(%s): Test key detected in PcdFmpDevicePkcs7CertBufferXdr.\n", mImageIdName));

PcdSetBoolS (PcdTestKeyUsed, TRUE); --> system hang

I modified \MdeModulePkg\MdeModulePkg.dec from

[PcdsDynamic, PcdsDynamicEx]

gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed|FALSE|BOOLEAN|0x00030003

as below:

[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]

gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed|FALSE|BOOLEAN|0x00030003

It worked fine.

Is it a bug of edk2?

[-- Attachment #2: Type: text/html, Size: 10630 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-05-27  5:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-27  5:29 System hang by loading FmpDxexxx.efi gordontcp

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