From nobody Mon Apr 29 16:06:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+104040+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104040+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1683239797; cv=none; d=zohomail.com; s=zohoarc; b=c9rK1Tdx+LDTp8oJvg64owWF5vqOb7q2Wkqu4dEioQgaFcmnElaAXxQHMaGHAzV98x6nDW/2peEIPOYasLvocOnH6DGnR5KpY0HYR9qSCmyrpoo/BQb9r/N3j7CtJ6dq+Zb9PnsIZwUocJ4bs7ikTBvbRi0svz3AL4h4rUJwMAc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683239797; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=BMBqDmwcPh9FK+MwdJ2oaxizaxwZDBmIKjRGX621l1M=; b=hHte2cdpAH7KpDwOn18xyC9Z2rtEMzUoU+e/oNLSpF8Tsxc+yJFk2WStpH19BGQbbbTwjQTyxg9OjKvaEWAwI/LrCAvi4YyQoMIkkzoyCmuPM6yW1pX8tyZT6kJRUA9vRy5k8w8Xn0IwrRpC48yBvpxkoZoM4NdIW8Gqv823Si0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+104040+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683239796869106.27068145277815; Thu, 4 May 2023 15:36:36 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id VUpfYY1788612xA3KNDcS6F2; Thu, 04 May 2023 15:36:36 -0700 X-Received: from mail-qk1-f176.google.com (mail-qk1-f176.google.com [209.85.222.176]) by mx.groups.io with SMTP id smtpd.web10.14267.1683239795907479324 for ; Thu, 04 May 2023 15:36:36 -0700 X-Received: by mail-qk1-f176.google.com with SMTP id af79cd13be357-74e07c2ee30so53211185a.1 for ; Thu, 04 May 2023 15:36:35 -0700 (PDT) X-Gm-Message-State: 59R3dMEh9N9WWD2CxrlxYFJlx1787277AA= X-Google-Smtp-Source: ACHHUZ7QCRoi140Er/DydS0ri6OthVA4KFNa4GQ5z01cnV+JBskk8i8aZrF+k00Y2X4zfi6RzHqY9w== X-Received: by 2002:a05:6214:766:b0:5ef:4bdd:42ed with SMTP id f6-20020a056214076600b005ef4bdd42edmr14399617qvz.50.1683239794676; Thu, 04 May 2023 15:36:34 -0700 (PDT) X-Received: from aturtleortwo-benjamindomain.sec.9e.network ([2607:f2c0:e98c:e:84d2:bf5:61d2:8ed1]) by smtp.gmail.com with ESMTPSA id u12-20020a0cdd0c000000b0061b62c15351sm86051qvk.90.2023.05.04.15.36.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 May 2023 15:36:34 -0700 (PDT) From: "Benjamin Doron" To: devel@edk2.groups.io Cc: Guo Dong , Ray Ni , Sean Rhodes , James Lu , Gua Guo Subject: [edk2-devel] [PATCH] UefiPayloadPkg: Use clearer debug flags with more flexibility Date: Thu, 4 May 2023 18:36:22 -0400 Message-Id: <20230504223622.77792-1-benjamin.doron00@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,benjamin.doron00@gmail.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683239796; bh=bxABM4ODS2ahISxsnC56+KAH6CFbdX4Ea0HrujhGuLw=; h=Cc:Date:From:Reply-To:Subject:To; b=oAzCdXTRGA6M89cVBJ4R82iMn7gcyt9cFrQQjRoMZVgfHFsED2+utE91xIpF1hci+D5 Yjbe8pT4SvCQ96+wMu2MY8Yd2DB2KSSmfn+wW/qjnw1Z+hNxMPp3pGP9DbMqbf3js44wo gGlbgt69UUKTzjEcblKqm6exA/wk7lrjcrA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683239797575100002 Content-Type: text/plain; charset="utf-8" The default behaviour is that RELEASE builds have all DebugLib macros removed by MDEPKG_NDEBUG. Currently, UefiPayloadPkg has been using USE_CBMEM_FOR_CONSOLE to disable this behaviour, but it's unclear that this option changes DEBUG build behaviour too. Therefore, add a new build flag, RELEASE_LOGGING, that can be used to set the logging behaviour. The USE_CBMEM_FOR_CONSOLE flag only selects the library and options specific to it. For instance, logs can only be retrieved when the boot completes, so do not produce a CPU breakpoint or deadloop in this case. There are also cases where the platform builder may want behaviour or information from the DEBUG_CODE macros. Therefore, separate this into another build flag. Bitwise ORs enable this flexibility. Cc: Guo Dong Cc: Ray Ni Cc: Sean Rhodes Cc: James Lu Cc: Gua Guo Signed-off-by: Benjamin Doron --- UefiPayloadPkg/UefiPayloadPkg.dsc | 44 +++++++++++++++++++------------ 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayload= Pkg.dsc index 998d22290922..360ea71b149d 100644 --- a/UefiPayloadPkg/UefiPayloadPkg.dsc +++ b/UefiPayloadPkg/UefiPayloadPkg.dsc @@ -26,7 +26,6 @@ FLASH_DEFINITION =3D UefiPayloadPkg/UefiPayloadPkg.fdf PCD_DYNAMIC_AS_DYNAMICEX =3D TRUE =20 - DEFINE SOURCE_DEBUG_ENABLE =3D FALSE DEFINE PS2_KEYBOARD_ENABLE =3D FALSE DEFINE RAM_DISK_ENABLE =3D FALSE DEFINE SIO_BUS_ENABLE =3D FALSE @@ -40,7 +39,6 @@ DEFINE PS2_MOUSE_ENABLE =3D TRUE DEFINE CRYPTO_PROTOCOL_SUPPORT =3D FALSE DEFINE SD_MMC_TIMEOUT =3D 1000000 - DEFINE USE_CBMEM_FOR_CONSOLE =3D FALSE DEFINE BOOTSPLASH_IMAGE =3D FALSE DEFINE NVME_ENABLE =3D TRUE =20 @@ -101,6 +99,15 @@ # [Vendor] [Device] [----ClockR= ate---] [------------Offset-----------] [Bar] [Stride] [RxFifo] [TxFifo] = [Rsvd] [Vendor] DEFINE PCI_SERIAL_PARAMETERS =3D {0xff,0xff, 0x00,0x00, 0x0,0x20,= 0x1c,0x00, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x00, 0x01, 0x0,0x0, 0x0,0x0= , 0x0,0x0, 0xff,0xff} =20 + # + # Debug options + # + DEFINE RELEASE_LOGGING =3D FALSE + DEFINE USE_CBMEM_FOR_CONSOLE =3D FALSE + DEFINE ENABLE_DEBUG_CODE =3D FALSE + + DEFINE SOURCE_DEBUG_ENABLE =3D FALSE + # # Shell options: [BUILD_SHELL, MIN_BIN, NONE, UEFI_BIN] # @@ -135,7 +142,7 @@ =20 [BuildOptions] *_*_*_CC_FLAGS =3D -D DISABLE_NEW_DEPRECATED_INTERFACES -!if $(USE_CBMEM_FOR_CONSOLE) =3D=3D FALSE +!if $(RELEASE_LOGGING) =3D=3D FALSE GCC:RELEASE_*_*_CC_FLAGS =3D -DMDEPKG_NDEBUG INTEL:RELEASE_*_*_CC_FLAGS =3D /D MDEPKG_NDEBUG MSFT:RELEASE_*_*_CC_FLAGS =3D /D MDEPKG_NDEBUG @@ -436,6 +443,21 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE =20 + # + # Build the PcdDebugPropertyMask from build flags + # + gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x03 +!if $(ENABLE_DEBUG_CODE) =3D=3D TRUE + gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|(gEfiMdePkgTokenSpaceGuid.= PcdDebugPropertyMask | 0x04) +!endif +!if $(USE_CBMEM_FOR_CONSOLE) =3D=3D FALSE + !if $(SOURCE_DEBUG_ENABLE) =3D=3D TRUE + gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|(gEfiMdePkgTokenSpaceGui= d.PcdDebugPropertyMask | 0x10) + !else + gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|(gEfiMdePkgTokenSpaceGui= d.PcdDebugPropertyMask | 0x28) + !endif +!endif + gUefiPayloadPkgTokenSpaceGuid.PcdPcdDriverFile|{ 0x57, 0x72, 0xcf, 0x80,= 0xab, 0x87, 0xf9, 0x47, 0xa3, 0xfe, 0xD5, 0x0B, 0x76, 0xd8, 0x95, 0x41 } =20 !if $(SOURCE_DEBUG_ENABLE) @@ -484,20 +506,8 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c= , 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0= x31 } gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -!if $(USE_CBMEM_FOR_CONSOLE) =3D=3D FALSE - !if $(SOURCE_DEBUG_ENABLE) - gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17 - !else - gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F - !endif -!else - !if $(TARGET) =3D=3D DEBUG - gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x07 - !else - gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x03 - !endif -!endif gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|$(MAX_SIZE_N= ON_POPULATE_CAPSULE) + # # The following parameters are set by Library/PlatformHookLib # @@ -541,7 +551,7 @@ gUefiCpuPkgTokenSpaceGuid.PcdCpuApLoopMode|1 gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress|0x0 gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize|0x0 -!if ($(TARGET) =3D=3D DEBUG || $(USE_CBMEM_FOR_CONSOLE) =3D=3D TRUE) +!if ($(TARGET) =3D=3D DEBUG || $(RELEASE_LOGGING) =3D=3D TRUE) gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE !else gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE --=20 2.39.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104040): https://edk2.groups.io/g/devel/message/104040 Mute This Topic: https://groups.io/mt/98694669/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-