aboutsummaryrefslogtreecommitdiff
path: root/package/rpi-firmware
diff options
context:
space:
mode:
authorGravatar Yann E. MORIN <yann.morin.1998@free.fr>2015-07-01 19:40:28 +0200
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-07-02 11:01:55 +0200
commitd16b32a40164f6bb2a9334ad7dcb6ab8ba95e172 (patch)
tree19de53bb64a82a4f18c2ebfccce0f58c6aeae8e9 /package/rpi-firmware
parent0a035206d106cab85301917205f649cfdbb92da6 (diff)
downloadbuildroot-d16b32a40164f6bb2a9334ad7dcb6ab8ba95e172.tar.gz
buildroot-d16b32a40164f6bb2a9334ad7dcb6ab8ba95e172.tar.bz2
package/rpi-firmware: add option to install vcdbg
vcdbg is a tool to help debug the communication with the GPU. It comes as a binary-only, and in two flavours: one for the hard floating point ABI, one for the software floating point ABI. Unfortunately, we have no source code for that tool, only a binary that was dynamically linked with glibc and libraries from rpi-userland. So, just install that executable, and let's hope there is no symbol issue at runtime. Note: vcdbg needs glibc, threads and !static. Since glibc already implies threads and !static, we only need to depend on glibc. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc; Floris Bos <bos@je-eigen-domein.nl> Cc: Pascal de Bruijn <pmjdebruijn@pcode.nl> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/rpi-firmware')
-rw-r--r--package/rpi-firmware/Config.in11
-rw-r--r--package/rpi-firmware/rpi-firmware.mk7
2 files changed, 18 insertions, 0 deletions
diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in
index a060b4e33f..405674f423 100644
--- a/package/rpi-firmware/Config.in
+++ b/package/rpi-firmware/Config.in
@@ -65,4 +65,15 @@ config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
Say 'y' here if you need to load one or more of the DTB overlays,
to support HATs (Hardware Attached on Top, add-on modules).
+config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG
+ bool "vcdbg"
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+ depends on BR2_INSTALL_LIBSTDCPP # rpi-userland
+ select BR2_PACKAGE_RPI_USERLAND
+ help
+ Install vcdbg, to help debug communication with the GPU.
+
+comment "vcdbg needs an (e)glibc toolchain w/ C++"
+ depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP
+
endif # BR2_PACKAGE_RPI_FIRMWARE
diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
index 56d692514f..1ef15aa5c1 100644
--- a/package/rpi-firmware/rpi-firmware.mk
+++ b/package/rpi-firmware/rpi-firmware.mk
@@ -29,6 +29,13 @@ define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
endef
endif
+ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG),y)
+define RPI_FIRMWARE_INSTALL_TARGET_CMDS
+ $(INSTALL) -d -m 0700 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/bin/vcdbg \
+ $(TARGET_DIR)/usr/sbin/vcdbg
+endef
+endif # INSTALL_VCDBG
+
define RPI_FIRMWARE_INSTALL_IMAGES_CMDS
$(INSTALL) -D -m 0644 $(@D)/boot/bootcode.bin $(BINARIES_DIR)/rpi-firmware/bootcode.bin
$(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf