boot/arm-trusted-firmware: support debug mode
PATCH 1/1 boot/arm-trusted-firmware: support debug mode
When the trusted firmware is built with debug support (DEBUG defined), the generated images are located at a specific path. The non debug images are located in generated directory build/<platform>/release/ while the debug images are located in generated directory build/<platform>/debug/.
This change introduces boolean BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG to define whether the release or debug configuration is used to build trusted firmware. Note that enabling trusted firmware debug support, i.e BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="... DEBUG=1 ..." without enabling BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG will fail since buildroot will get generated files from the wrong path.
--- boot/arm-trusted-firmware/Config.in | 7 +++++++ boot/arm-trusted-firmware/arm-trusted-firmware.mk | 6 ++++++ 2 files changed, 13 insertions(+)
boot/arm-trusted-firmware/Config.in +7 -0
@@ -94,4 +94,11 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES Additional parameters for the ATF build E.G. 'DEBUG=1 LOG_LEVEL=20' +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG + bool "Debug mode of the trusted firmware" + default n + help + Enable this directive if trusted firmware is built in debug + mode. + endif
boot/arm-trusted-firmware/arm-trusted-firmware.mk +6 -0
@@ -25,7 +25,13 @@ endif ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM)) + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += DEBUG=1 +ARM_TRUSTED_FIRMWARE_IMG_DIR = $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/debug +else ARM_TRUSTED_FIRMWARE_IMG_DIR = $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release +endif ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ CROSS_COMPILE="$(TARGET_CROSS)" \
Signature · 1 line
1.9.1
PATCH 1/1 boot/arm-trusted-firmware: support debug mode
Hello,
Quoted 6 lines · Etienne Carriere
When the trusted firmware is built with debug support (DEBUG defined), the generated images are located at a specific path. The non debug images are located in generated directory build/<platform>/release/ while the debug images are located in generated directory build/<platform>/debug/.
Quoted 8 lines
This change introduces boolean
BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUGto define whether the release or debug configuration is used to build trusted firmware. Note that enabling trusted firmware debug support, i.e BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="... DEBUG=1 ..." without enablingBR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUGwill fail since buildroot will get generated files from the wrong path.Signed-off-by Etienne Carriere <[email protected]>
What is this debug mode doing exactly ?
We already have a global BR2_ENABLE_DEBUG option to enable building with debugging symbols. I am wondering if we should use that option as well, or like you did, introduce a separate option. Perhaps for something like ATF, that is very low-level and HW-specific, a separate debug option is OK.
boot/arm-trusted-firmware/Config.in config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES · line 99
Quoted 3 lines
boot/arm-trusted-firmware/Config.in +3
-0+config BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG + bool "Debug mode of the trusted firmware" + default n
"default n" is not needed, since it's the default. Not need to resend just for that, we can fixup when applying.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH 1/1 boot/arm-trusted-firmware: support debug mode
Quoted 17 lines · Thomas Petazzoni
Hello,
Quoted 13 lines · Etienne Carriere
When the trusted firmware is built with debug support (DEBUG defined), the generated images are located at a specific path. The non debug images are located in generated directory build/<platform>/release/ while the debug images are located in generated directory build/<platform>/debug/.
This change introduces boolean
BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUGto define whether the release or debug configuration is used to build trusted firmware. Note that enabling trusted firmware debug support, i.e BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="... DEBUG=1 ..." without enablingBR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUGwill fail since buildroot will get generated files from the wrong path.
Quoted 3 lines
Quoted 1 line
Signed-off-by Etienne Carriere <[email protected]>What is this debug mode doing exactly ?
Hello Thomas,
This enable few debug support in ATF: disable compilation optims, generate debug symbols, enable assertions, increase trace level. ... and it also makes the generates boot binary images be located at a specific path (compared to when not in debug mode).
Quoted 5 lines
We already have a global
BR2_ENABLE_DEBUGoption to enable building with debugging symbols. I am wondering if we should use that option as well, or like you did, introduce a separate option. Perhaps for something like ATF, that is very low-level and HW-specific, a separate debug option is OK.
I think this feature is quite specific to people interested in want happens during the boot stages and/or the ATF specific runtime services.
One may want specific ATF traces without forcing debug mode for the whole system.
Yet I not that used the BR conventions and habits and I let you decide whether such debug should be driven from the BR generic debug directive or not.
I have no strong opinion on this.
Quoted 6 lines
boot/arm-trusted-firmware/Config.in config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES · line 99
Quoted 3 lines
boot/arm-trusted-firmware/Config.in +3
-0+config BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG + bool "Debug mode of the trusted firmware" + default n"default n" is not needed, since it's the default. Not need to resend just for that, we can fixup when applying.
Ok. Feel free to fix straight if you agree with the other changes.
regards,
etienne
Quoted 7 lines
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com