Fix relocation of __PERCPU_BAKERY_LOCK_SIZE__
authorVikram Kanigiri <vikram.kanigiri@arm.com>
Thu, 24 Sep 2015 14:45:43 +0000 (15:45 +0100)
committerAchin Gupta <achin.gupta@arm.com>
Fri, 25 Sep 2015 15:35:10 +0000 (16:35 +0100)
commit7173f5f61866d525b9786d31a01f105f58e90c72
tree4ca4fd3e6801e3b544870c14a883cd7d936e715d
parenta6ef882c0e29f9459a927106fab36ea31587bf9a
Fix relocation of __PERCPU_BAKERY_LOCK_SIZE__

When a platform port does not define PLAT_PERCPU_BAKERY_LOCK_SIZE, the total
memory that should be allocated per-cpu to accommodate all bakery locks is
calculated by the linker in bl31.ld.S. The linker stores this value in the
__PERCPU_BAKERY_LOCK_SIZE__ linker symbol. The runtime value of this symbol is
different from the link time value as the symbol is relocated into the current
section (.bss). This patch fixes this issue by marking the symbol as ABSOLUTE
which allows it to retain its correct value even at runtime.

The description of PLAT_PERCPU_BAKERY_LOCK_SIZE in the porting-guide.md has been
made clearer as well.

Change-Id: Ia0cfd42f51deaf739d792297e60cad5c6e6e610b
bl31/bl31.ld.S
docs/porting-guide.md