From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.93; helo=mga11.intel.com; envelope-from=zailiang.sun@intel.com; receiver=edk2-devel@lists.01.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 2B39121B02822 for ; Fri, 1 Feb 2019 20:58:34 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Feb 2019 20:58:33 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,551,1539673200"; d="scan'208";a="135247665" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga001.jf.intel.com with ESMTP; 01 Feb 2019 20:58:33 -0800 Received: from fmsmsx113.amr.corp.intel.com (10.18.116.7) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 1 Feb 2019 20:58:32 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX113.amr.corp.intel.com (10.18.116.7) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 1 Feb 2019 20:58:32 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.102]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.172]) with mapi id 14.03.0415.000; Sat, 2 Feb 2019 12:58:30 +0800 From: "Sun, Zailiang" To: "Wei, David" , "Qian, Yi" , "edk2-devel@lists.01.org" Thread-Topic: [Patch V2] edk2-platforms/devel-IntelAtomProcessorE3900: Enable tracehub Thread-Index: AQHUurLwLhZ38zKKa0C1UQHOF23FfKXLa1WAgACHAfA= Date: Sat, 2 Feb 2019 04:58:30 +0000 Message-ID: <7CB7EF03E15B5D48981329A508747A9850C2AF2E@SHSMSX104.ccr.corp.intel.com> References: <20190202045056.6364-1-yi.qian@intel.com> <89954A0B46707A448411A627AD4EEE3473C17C39@SHSMSX101.ccr.corp.intel.com> In-Reply-To: <89954A0B46707A448411A627AD4EEE3473C17C39@SHSMSX101.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [Patch V2] edk2-platforms/devel-IntelAtomProcessorE3900: Enable tracehub X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Feb 2019 04:58:34 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Zailiang Sun -----Original Message----- From: Wei, David=20 Sent: Saturday, February 02, 2019 12:55 PM To: Qian, Yi ; edk2-devel@lists.01.org Cc: Sun, Zailiang Subject: RE: [Patch V2] edk2-platforms/devel-IntelAtomProcessorE3900: Enabl= e tracehub Reviewed-by: David Wei Regards, David Intel Firmware Development -----Original Message----- From: Qian, Yi Sent: Saturday, February 2, 2019 12:51 PM To: edk2-devel@lists.01.org Cc: Qian, Yi ; Wei, David ; Sun, Za= iliang Subject: [Patch V2] edk2-platforms/devel-IntelAtomProcessorE3900: Enable tr= acehub https://bugzilla.tianocore.org/show_bug.cgi?id=3D1508 Expose npk related setup options and convey right settings to fsp upd for t= racehub enabling. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yi Qian CC: David Wei CC: Zailiang Sun --- Platform/BroxtonPlatformPkg/BuildBxtBios.bat = | 4 ++-- Platform/BroxtonPlatformPkg/Common/Include/Guid/SetupVariable.h = | 19 +++++++++++++++++++ Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspSaPol= icyInitLib.c | 43 ++++++++++++++++++++++++++++++------------- Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Debug= Config.vfi | 141 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++= +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++= ++++++++++ Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/VfrSt= rings.uni | Bin 306466 -> 320330 bytes 5 files changed, 192 insertions(+), 15 deletions(-) diff --git a/Platform/BroxtonPlatformPkg/BuildBxtBios.bat b/Platform/Broxto= nPlatformPkg/BuildBxtBios.bat index 9bd71198e5..492eb1cd3c 100644 --- a/Platform/BroxtonPlatformPkg/BuildBxtBios.bat +++ b/Platform/BroxtonPlatformPkg/BuildBxtBios.bat @@ -523,7 +523,7 @@ if not exist "%STITCH_PATH%\FlashMap.h" ( call :FindVariableInFile _PCD_VALUE_PcdFlashNvStorageSize 3 NvS= torageSize "%STITCH_PATH%\FlashMap.h" :: Find image offset as opposed to memory offset del /f /q temp.pcd >NUL 2>&1 - PowerShell ([uint32]$env:NvStorageBase - [uint32]$env:BaseAddress) > t= emp.pcd + PowerShell ([uint64]$env:NvStorageBase - [uint64]$env:BaseAddress) + > temp.pcd set /p VpdOffset=3DNUL 2>&1 :: Force the variables we care about into DEC string format @@ -566,7 = +566,7 @@ if not exist "%WORKSPACE%\%PLATFORM_PATH%\PlatformDsc\Defines.dsc= " ( echo - BLD_IBBM_SIZE =3D %BldIbbmSize% :: Find magic number del /f /q temp.pcd >NUL 2>&1 - PowerShell ([uint32]$env:CarBaseAddress + [uint32]$env:BldRamDataSize = + [uint32]$env:FspRamDataSize + [uint32]$env:FspEmpDataSize + [uint32]$env:= BldIbbmSize) > temp.pcd + PowerShell ([uint64]$env:CarBaseAddress +=20 + [uint64]$env:BldRamDataSize + [uint64]$env:FspRamDataSize +=20 + [uint64]$env:FspEmpDataSize + [uint64]$env:BldIbbmSize) > temp.pcd set /p FspBaseAddress=3DNUL 2>&1 call :ForceToHex FspBaseAddress diff --git a/Platform/BroxtonPlatformPkg/Common/Include/Guid/SetupVariable.= h b/Platform/BroxtonPlatformPkg/Common/Include/Guid/SetupVariable.h index 2d81068778..de4c70d819 100644 --- a/Platform/BroxtonPlatformPkg/Common/Include/Guid/SetupVariable.h +++ b/Platform/BroxtonPlatformPkg/Common/Include/Guid/SetupVariable.h @@ -908,6 +908,25 @@ typedef struct { UINT8 PkgCStateDemotion; UINT8 PkgCStateUnDemotion; =20 + // + // NPK debug Options + // + UINT8 NpkEn; + UINT8 FwTraceEn; + UINT8 FwTraceDestination; + UINT8 RecoverDump; + UINT32 Msc0Size; + UINT8 Msc0Wrap; + UINT32 Msc1Size; + UINT8 Msc1Wrap; + UINT8 PtiMode; + UINT8 PtiTraining; + UINT8 PtiSpeed; + UINT8 NpkDCIEn; + UINT8 PunitMlvl; + UINT8 PmcMlvl; + UINT8 SwTraceEn; + UINT8 ProcTraceMemSize; UINT8 ProcTraceEnable; UINT8 ProcTraceOutputScheme; diff --git a/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib= /PeiFspSaPolicyInitLib.c b/Platform/BroxtonPlatformPkg/Common/Library/PeiFs= pPolicyInitLib/PeiFspSaPolicyInitLib.c index 2fb3bd9d3e..0863706645 100644 --- a/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFsp= SaPolicyInitLib.c +++ b/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/Pei +++ FspSaPolicyInitLib.c @@ -155,19 +155,36 @@ PeiFspSaPolicyInitPreMem ( FspmUpd->FspmConfig.Igd =3D SystemConfiguration->Igd; FspmUpd->FspmConfig.PrimaryVideoAdaptor =3D SystemConfiguration->Prima= ryVideoAdaptor; =20 - FspmUpd->FspmConfig.FwTraceEn =3D 1; - FspmUpd->FspmConfig.FwTraceDestination =3D 4; - FspmUpd->FspmConfig.RecoverDump =3D 0; - FspmUpd->FspmConfig.Msc0Size =3D 0; - FspmUpd->FspmConfig.Msc0Wrap =3D 1; - FspmUpd->FspmConfig.Msc1Size =3D 0; - FspmUpd->FspmConfig.Msc1Wrap =3D 1; - FspmUpd->FspmConfig.PtiMode =3D 1; - FspmUpd->FspmConfig.PtiTraining =3D 0; - FspmUpd->FspmConfig.PtiSpeed =3D 2; - FspmUpd->FspmConfig.PunitMlvl =3D 1; - FspmUpd->FspmConfig.PmcMlvl =3D 1; - FspmUpd->FspmConfig.SwTraceEn =3D 0; + FspmUpd->FspmConfig.NpkEn =3D SystemConfiguration->NpkEn; = ///< 0-disabled, 1-enabled, 2-debugger, 3-auto=09 + FspmUpd->FspmConfig.FwTraceEn =3D SystemConfiguration->FwTrac= eEn; + FspmUpd->FspmConfig.FwTraceDestination =3D SystemConfiguration->FwTrac= eDestination; + FspmUpd->FspmConfig.RecoverDump =3D SystemConfiguration->Recove= rDump; + FspmUpd->FspmConfig.Msc0Size =3D SystemConfiguration->Msc0Si= ze; + FspmUpd->FspmConfig.Msc0Wrap =3D SystemConfiguration->Msc0Wr= ap; + FspmUpd->FspmConfig.Msc1Size =3D SystemConfiguration->Msc1Si= ze; + FspmUpd->FspmConfig.Msc1Wrap =3D SystemConfiguration->Msc1Wr= ap; + FspmUpd->FspmConfig.PtiMode =3D SystemConfiguration->PtiMod= e; + FspmUpd->FspmConfig.PtiTraining =3D SystemConfiguration->PtiTra= ining; + FspmUpd->FspmConfig.PtiSpeed =3D SystemConfiguration->PtiSpe= ed; + FspmUpd->FspmConfig.PunitMlvl =3D SystemConfiguration->PunitM= lvl; + FspmUpd->FspmConfig.PmcMlvl =3D SystemConfiguration->PmcMlv= l; + FspmUpd->FspmConfig.SwTraceEn =3D SystemConfiguration->SwTrac= eEn; + + DEBUG ((DEBUG_INFO, "NpkEn: %x\n", FspmUpd->FspmConfig.NpkEn)); + DEBUG ((DEBUG_INFO, "FwTraceEn: %x\n", FspmUpd->FspmConfig.FwTraceEn)); + DEBUG ((DEBUG_INFO, "FwTraceDestination: %x\n", FspmUpd->FspmConfig.FwTra= ceDestination)); + DEBUG ((DEBUG_INFO, "RecoverDump: %x\n", FspmUpd->FspmConfig.RecoverDump)= ); + DEBUG ((DEBUG_INFO, "Msc0Size: %x\n", FspmUpd->FspmConfig.Msc0Size)); + DEBUG ((DEBUG_INFO, "Msc0Wrap: %x\n", FspmUpd->FspmConfig.Msc0Wrap)); + DEBUG ((DEBUG_INFO, "Msc1Size: %x\n", FspmUpd->FspmConfig.Msc1Size)); + DEBUG ((DEBUG_INFO, "Msc1Wrap: %x\n", FspmUpd->FspmConfig.Msc1Wrap)); + DEBUG ((DEBUG_INFO, "PtiMode: %x\n", FspmUpd->FspmConfig.PtiMode)); + DEBUG ((DEBUG_INFO, "PtiTraining: %x\n", FspmUpd->FspmConfig.PtiTraining)= ); + DEBUG ((DEBUG_INFO, "PtiSpeed: %x\n", FspmUpd->FspmConfig.PtiSpeed)); + DEBUG ((DEBUG_INFO, "PunitMlvl: %x\n", FspmUpd->FspmConfig.PunitMlvl)); + DEBUG ((DEBUG_INFO, "PmcMlvl: %x\n", FspmUpd->FspmConfig.PmcMlvl)); + DEBUG ((DEBUG_INFO, "SwTraceEn: %x\n", +FspmUpd->FspmConfig.SwTraceEn)); +=09 } =20 DEBUG ((DEBUG_INFO, "Wrapper-PeiFspSaPolicyInitPreMem - End\n")); diff -= -git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe= /DebugConfig.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/Plat= formSetupDxe/DebugConfig.vfi index 235ce44371..16460a71ac 100644 --- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/= DebugConfig.vfi +++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupD +++ xe/DebugConfig.vfi @@ -159,6 +159,147 @@ form formid =3D DEBUG_CONFIGURATION_FORM_ID, flags =3D INTERACTIVE, key =3D 0x1239; //KEY_DATA_CLEAR_KEYS; =20 + subtitle text =3D STRING_TOKEN(STR_NULL_STRING); + =20 + goto DEBUG_NPK_FORM_ID, + prompt =3D STRING_TOKEN(STR_DEBUG_NPK_TITLE), + help =3D STRING_TOKEN(STR_DEBUG_NPK_HELP); =20 endform; =20 + // + // NPK Configuration + // + form formid =3D DEBUG_NPK_FORM_ID, + title =3D STRING_TOKEN(STR_DEBUG_NPK_TITLE); + + oneof varid =3D Setup.NpkEn, + prompt =3D STRING_TOKEN(STR_NPK_ENABLE_PROMPT), + help =3D STRING_TOKEN(STR_NPK_ENABLE_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D R= ESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D R= ESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DEBUGGER), value =3D 2, flags =3D R= ESET_REQUIRED; + option text =3D STRING_TOKEN(STR_AUTO), value =3D 3, flags =3D D= EFAULT | MANUFACTURING | RESET_REQUIRED; + endoneof; + + suppressif ideqval Setup.NpkEn =3D=3D 2; + + oneof varid =3D Setup.FwTraceEn, + prompt =3D STRING_TOKEN(STR_NPK_FWEN_PROMPT), + help =3D STRING_TOKEN(STR_NPK_FWEN_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D R= ESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D D= EFAULT | MANUFACTURING |RESET_REQUIRED; + endoneof; + + oneof varid =3D Setup.SwTraceEn, + prompt =3D STRING_TOKEN(STR_NPK_SWEN_PROMPT), + help =3D STRING_TOKEN(STR_NPK_SWEN_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D = DEFAULT | MANUFACTURING |RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D R= ESET_REQUIRED; + endoneof; + + oneof varid =3D Setup.FwTraceDestination, + prompt =3D STRING_TOKEN(STR_NPK_FWDESTINATION_PROMPT), + help =3D STRING_TOKEN(STR_NPK_FWDESTINATION_HELP), + option text =3D STRING_TOKEN(STR_MEMORY0), value =3D 1, flags =3D R= ESET_REQUIRED; + option text =3D STRING_TOKEN(STR_PTI), value =3D 4, flags =3D D= EFAULT | MANUFACTURING | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_USB3), value =3D 2, flags =3D R= ESET_REQUIRED; + option text =3D STRING_TOKEN(STR_BSSB), value =3D 3, flags =3D R= ESET_REQUIRED; + endoneof; + + oneof varid =3D Setup.RecoverDump, + prompt =3D STRING_TOKEN(STR_NPK_RECOVERY_DUMP_PROMPT), + help =3D STRING_TOKEN(STR_NPK_RECOVERY_DUMP_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D D= EFAULT | MANUFACTURING |RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D R= ESET_REQUIRED; + endoneof; + + oneof varid =3D Setup.Msc0Size, + prompt =3D STRING_TOKEN(STR_NPK_MSC0SIZE_PROMPT), + help =3D STRING_TOKEN(STR_NPK_MSC0SIZE_HELP), + option text =3D STRING_TOKEN(STR_NONE), value =3D 0, flags =3D = DEFAULT | MANUFACTURING | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_1MB), value =3D 1, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_8MB), value =3D 8, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_64MB), value =3D 64, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_128MB), value =3D 128, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_256MB), value =3D 256, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_512MB), value =3D 512, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_1GB), value =3D 1024, flags =3D = RESET_REQUIRED; + endoneof; + oneof varid =3D Setup.Msc0Wrap, + prompt =3D STRING_TOKEN(STR_NPK_MSC0WRAP_PROMPT), + help =3D STRING_TOKEN(STR_NPK_MSC0WRAP_HELP), + option text =3D STRING_TOKEN(STR_NOWRAP), value =3D 0, flags =3D RE= SET_REQUIRED; + option text =3D STRING_TOKEN(STR_WRAP), value =3D 1, flags =3D DE= FAULT | MANUFACTURING | RESET_REQUIRED; + endoneof; + oneof varid =3D Setup.Msc1Size, + prompt =3D STRING_TOKEN(STR_NPK_MSC1SIZE_PROMPT), + help =3D STRING_TOKEN(STR_NPK_MSC1SIZE_HELP), + option text =3D STRING_TOKEN(STR_NONE), value =3D 0, flags =3D = DEFAULT | MANUFACTURING | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_1MB), value =3D 1, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_8MB), value =3D 8, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_64MB), value =3D 64, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_128MB), value =3D 128, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_256MB), value =3D 256, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_512MB), value =3D 512, flags =3D = RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_1GB), value =3D 1024, flags =3D = RESET_REQUIRED; + endoneof; + oneof varid =3D Setup.Msc1Wrap, + prompt =3D STRING_TOKEN(STR_NPK_MSC1WRAP_PROMPT), + help =3D STRING_TOKEN(STR_NPK_MSC1WRAP_HELP), + option text =3D STRING_TOKEN(STR_NOWRAP), value =3D 0, flags =3D RE= SET_REQUIRED; + option text =3D STRING_TOKEN(STR_WRAP), value =3D 1, flags =3D DE= FAULT | MANUFACTURING | RESET_REQUIRED; + endoneof; + + oneof varid =3D Setup.PtiMode, + prompt =3D STRING_TOKEN(STR_NPK_PTIMODE_PROMPT), + help =3D STRING_TOKEN(STR_NPK_PTIMODE_HELP), + option text =3D STRING_TOKEN(STR_OFF), value =3D 4, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_X4), value =3D 1, flags =3D DEFAU= LT | MANUFACTURING | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_X8), value =3D 2, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_X16), value =3D 8, flags =3D RESET= _REQUIRED; + endoneof; + + oneof varid =3D Setup.PtiTraining, + prompt =3D STRING_TOKEN(STR_NPK_PTITRAINING_PROMPT), + help =3D STRING_TOKEN(STR_NPK_PTITRAINING_HELP), + option text =3D STRING_TOKEN(STR_OFF), value =3D 0, flags =3D DEFAU= LT | MANUFACTURING | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_1), value =3D 1, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_2), value =3D 2, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_3), value =3D 3, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_4), value =3D 4, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_5), value =3D 5, flags =3D RESET= _REQUIRED; + option text =3D STRING_TOKEN(STR_6), value =3D 6, flags =3D RESET= _REQUIRED; + endoneof; + + oneof varid =3D Setup.PtiSpeed, + prompt =3D STRING_TOKEN(STR_NPK_PTISPEED_PROMPT), + help =3D STRING_TOKEN(STR_NPK_PTISPEED_HELP), + option text =3D STRING_TOKEN(STR_FULL), value =3D 0, flags =3D R= ESET_REQUIRED; + option text =3D STRING_TOKEN(STR_HALF), value =3D 1, flags =3D R= ESET_REQUIRED; + option text =3D STRING_TOKEN(STR_QUARTER), value =3D 2, flags =3D D= EFAULT | MANUFACTURING | RESET_REQUIRED; + endoneof; + + oneof varid =3D Setup.PunitMlvl, + prompt =3D STRING_TOKEN(STR_PUINT_MESSAGE_LEVEL_PROMPT), + help =3D STRING_TOKEN(STR_PUINT_MESSAGE_LEVEL_HELP), + option text =3D STRING_TOKEN(STR_DEBUG_MESSAGE_LEVEL_0), value =3D 0= , flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DEBUG_MESSAGE_LEVEL_1), value =3D 1= , flags =3D DEFAULT | MANUFACTURING | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DEBUG_MESSAGE_LEVEL_2), value =3D 2= , flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DEBUG_MESSAGE_LEVEL_3), value =3D 3= , flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DEBUG_MESSAGE_LEVEL_4), value =3D 4= , flags =3D RESET_REQUIRED; + endoneof; + + oneof varid =3D Setup.PmcMlvl, + prompt =3D STRING_TOKEN(STR_PMC_MESSAGE_LEVEL_PROMPT), + help =3D STRING_TOKEN(STR_PMC_MESSAGE_LEVEL_HELP), + option text =3D STRING_TOKEN(STR_DEBUG_MESSAGE_LEVEL_0), value =3D 0= , flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DEBUG_MESSAGE_LEVEL_1), value =3D 1= , flags =3D DEFAULT | MANUFACTURING | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DEBUG_MESSAGE_LEVEL_2), value =3D 2= , flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DEBUG_MESSAGE_LEVEL_3), value =3D 3= , flags =3D RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_DEBUG_MESSAGE_LEVEL_4), value =3D 4= , flags =3D RESET_REQUIRED; + endoneof; + + endif; + + endform; //End of DEBUG_NPK_FORM_ID diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSe= tupDxe/VfrStrings.uni b/Platform/BroxtonPlatformPkg/Common/PlatformSettings= /PlatformSetupDxe/VfrStrings.uni index bb53da281824b22ebff1c370df87c7e0409b1fb9..3debc2856aa54861345c1d42d74= 4298d6206ceca 100644 GIT binary patch delta 3971 zcmbVP+fS576rb;#4-u8Zx}nxkbQe(6ZDAJ#K}}_4mrJ=3D{1lq(4B3e@J3fhNOXiQ8S zW5KD;lWD0hHfdU{ZETvRkv{lfjm9QT6Vs%SSQBh2;6Gr0XTEQ5u-qB~yEAjnZ_ed+ z&K$mYwEpfL``|h4ocEI)bTRB&7o#?XEyH`|Cf^n=3D zqB%sb%VnKw>)RvG|WH@ZeK>xWJ&klKORH5UU`ZRaJ-FKvFKKnxG$i7MCX*b{*7vo2UmZXRaE ztO-&>TrZRE=3DURF^tsSfZVlAvy&fep8`CEeFhzm-~NkcCaM`8@o6PN0V5GUgSxTs;u zxuhT(^TGFe+*ih`WXoP{pR!{6d{`gAPbzOIQbDg3+=3Di%d%qu1z?30PBHTUxI5Vy^8 z=3D1aa#UK%kf$VD-8=3Dp|bnZa)!>v>Wu8>~(TjEj%xm%fvc;M{JF9!XZ7UwJmc0b-qK6 zjq9b--L0+RIZznMb@F;vFTGE=3DUk-nux#RZ3@p`u3%16BEL?yP0ShJ{}E~DEw)A|6y zYVM!Gw^o(!c?Y~xH*~P~U^Zl8)V>^Q&=3DrLj z5{nP0ds!9pDRC7UG5nE{ViGXE_o~`QcVBrz=3DtAM%^LAp$KC=3D%eel0hj(@Bd zh}+5OP7-tAs7(c80H1wiD8%|%C+o4$k{3afH}d%|#o&qa?i{P$qaYp&AhP4Qg-F+r zy8;Dj56_nySt?_1i{96Y0-Q;i#~Gx$A5a9=3DC--G)X<{aOO+?z=3D@`YRTlWB^!u1bh@ zs)j)xE)S4bvnt_itfWqbzJ%T&h7z1I`zbG_1{CW7mB2Yg^gsWxHuJ5`(aAJ<@n7yE z$+$eW)7qYW?3AxQ4M6+q}mnpEdsX;5uRvuf84NHQu5>HtP7;1_{ zkjb+onNTxJlgYCJGA#rc5i}3Ev1mT#z$`x>CiG(YSP8WCw5g6PAAZf#L{05BG4@${ z0=3D+ZTOS?gfKp}@qiyH^g&hcWv@j0@TX{}j~UNBC_rm|+#hN>an%<|PEKs-_h`N0E^ z9N(+g2HwipX69kp<{^N-Id3#kuTa~07D=3Ds#(Y(BYNTVLcPaf%6Vk~{<#(-7k``iwC z({JD%SU}tJ*OJ<`_qkL2bh$wlG5AVdN)@UY{MOv$NPt=3DJo6Z^oaw1bR)abxqR+KS&I}r7Vp3Ty@J1({^5T#&fF&GO9b(&u>U5Xoe|RpW zbGKejS+kj$s7G^e!%v`~BV@hT3_sNt3Td9Ss?lP+A{BBn!!RFTQFzC&bzt6dpx8pV zvzIj|_d?LN+wjQ3PR*B8iq79b;RqKb$hEbA^dd(M)|e%axb(c_T6CQjbe~f&6|+{j zmZUJp7D3?vtC8d1^D;6yxmt~J{V+p~e-RqvnTGS$#5BLJ%gmelD`*{Nhpa~}hL3Hu zUU+Q7X>e@2l$xFuCQD_ol9`PziaxVNn4n;nF|*Bq3!m9mhG%uEM&zRiLqh}e%7?j{ zT^9b1C+l|d)|B}}w<(*YWUuCGS@uA1=3DYaT0-#b@71LLRzV@el(yck%ju=3D1g?bRzpy zl#xR{NGnErwm1(^J>$m1XhJmj)7{=3DyGf8%O?`^Yk9HjqKg^|+N|nTgLsUQ^ za+1`N;la2{gowaWp;0plXfp>zMI|k|nW3mSRR3~qjDQVgky=3Df?o+Br&>FM@R?5Y$` z{HAX5g1YRmnEb_~lx-p93Miv+(Ry5qsnVNc>TU?>(p5er1(WnL5WLs9i#k)1#YvU- iQmB`((k1<_9W+e8H-@gC!x?$w1y8>9^K*Xe$NvDx+=3Di$C delta 46 zcmV+}0MY--#uK925`csOgaWh!#_yA$^ca^=3DOaTO!&>933w=3Dfz6xB{1q8vzct