From 86e9f87ec895a0beb5de35fd82e504ac9347e999 Mon Sep 17 00:00:00 2001 From: Lee Leahy Date: Tue, 19 Nov 2013 02:37:37 +0000 Subject: [PATCH] Enable the build command override the .DSC file contents to enable debug output and specify which debug messages are displayed. An example: build -a IA32 -a X64 -t VS2008x86 -p AppPkg/AppPkg.dsc -b DEBUG -D DEBUG_ENABLE_OUTPUT=TRUE -D DEBUG_PROPERTY_MASK=0x27 -D DEBUG_PRINT_ERROR_LEVEL=0xFCF00040 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Lee Leahy Reviewed-by: Daryl McDaniel git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14859 6f19259b-4bc3-4df7-8a09-765794883524 --- AppPkg/AppPkg.dsc | 23 +++++++++++++++-------- StdLib/StdLib.dsc | 18 +++++++++++++++--- 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/AppPkg/AppPkg.dsc b/AppPkg/AppPkg.dsc index 23ebf47733..d0aac2c509 100644 --- a/AppPkg/AppPkg.dsc +++ b/AppPkg/AppPkg.dsc @@ -27,11 +27,18 @@ BUILD_TARGETS = DEBUG|RELEASE SKUID_IDENTIFIER = DEFAULT +# +# Debug output control +# + DEFINE DEBUG_ENABLE_OUTPUT = FALSE # Set to TRUE to enable debug output + DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x80000040 # Flags to control amount of debug output + DEFINE DEBUG_PROPERTY_MASK = 0 + [PcdsFeatureFlag] [PcdsFixedAtBuild] - gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x00 - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000040 + gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|$(DEBUG_PROPERTY_MASK) + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL) [PcdsFixedAtBuild.IPF] @@ -53,12 +60,12 @@ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf - # - # To enable debugging: - # Enable ONE of the following DebugLib instances, as appropriate for your platform. - # - DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf + !if $(DEBUG_ENABLE_OUTPUT) + DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf + DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf + !else ## DEBUG_ENABLE_OUTPUT + DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf + !endif ## DEBUG_ENABLE_OUTPUT DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf diff --git a/StdLib/StdLib.dsc b/StdLib/StdLib.dsc index f9f28b872b..b0309e2bf3 100644 --- a/StdLib/StdLib.dsc +++ b/StdLib/StdLib.dsc @@ -29,11 +29,18 @@ BUILD_TARGETS = DEBUG|RELEASE SKUID_IDENTIFIER = DEFAULT +# +# Debug output control +# + DEFINE DEBUG_ENABLE_OUTPUT = FALSE # Set to TRUE to enable debug output + DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x80000000 # Flags to control amount of debug output + DEFINE DEBUG_PROPERTY_MASK = 0x0f + [PcdsFeatureFlag] [PcdsFixedAtBuild] - gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000 + gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|$(DEBUG_PROPERTY_MASK) + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL) [PcdsFixedAtBuild.IPF] @@ -55,7 +62,12 @@ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf - DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf + !if $(DEBUG_ENABLE_OUTPUT) + DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf + DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf + !else ## DEBUG_ENABLE_OUTPUT + DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf + !endif ## DEBUG_ENABLE_OUTPUT DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -- 2.39.2