summaryrefslogtreecommitdiff
path: root/doc/develop
diff options
context:
space:
mode:
authorOvidiu Panait <ovpanait@gmail.com>2022-09-13 21:31:26 +0300
committerTom Rini <trini@konsulko.com>2022-10-07 04:05:17 +0300
commit181cbd4017305142eb26df0aa065b8bb95921f83 (patch)
tree33a6ca7b87da1f7ac5c39e4166bc1e7d4611445b /doc/develop
parenta70c75cabae12a81d512b240d60413df294246eb (diff)
downloadu-boot-181cbd4017305142eb26df0aa065b8bb95921f83.tar.xz
common/board_f: remove XTRN_DECLARE_GLOBAL_DATA_PTR dead code
The XTRN_DECLARE_GLOBAL_DATA_PTR declarations in ppc code are permanently commented out, so there are no users for this macro: #if 1 #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r2") #else /* We could use plain global data, but the resulting code is bigger */ #define XTRN_DECLARE_GLOBAL_DATA_PTR extern #define DECLARE_GLOBAL_DATA_PTR XTRN_DECLARE_GLOBAL_DATA_PTR \ gd_t *gd #endif Remove all references to this macro, but add a documentation note regarding the possibility of using plain global data for the GD pointer. Signed-off-by: Ovidiu Panait <ovpanait@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'doc/develop')
-rw-r--r--doc/develop/global_data.rst5
1 files changed, 5 insertions, 0 deletions
diff --git a/doc/develop/global_data.rst b/doc/develop/global_data.rst
index 2ac893de49..d143f27eed 100644
--- a/doc/develop/global_data.rst
+++ b/doc/develop/global_data.rst
@@ -36,6 +36,11 @@ On most architectures the global data pointer is stored in a register.
The sandbox, x86_64, and Xtensa are notable exceptions.
+Current implementation uses a register for the GD pointer because this results
+in smaller code. However, using plain global data for the GD pointer would be
+possible too (and simpler, as it does not require the reservation of a specific
+register for it), but the resulting code is bigger.
+
Clang for ARM does not support assigning a global register. When using Clang
gd is defined as an inline function using assembly code. This adds a few bytes
to the code size.