Move bakery algorithm implementation out of coherent memory
This patch moves the bakery locks out of coherent memory to normal memory.
This implies that the lock information needs to be placed on a separate cache
line for each cpu. Hence the bakery_lock_info_t structure is allocated in the
per-cpu data so as to minimize memory wastage. A similar platform per-cpu
data is introduced for the platform locks.

As a result of the above changes, the bakery lock api is completely changed.
Earlier, a reference to the lock structure was passed to the lock implementation.
Now a unique-id (essentially an index into the per-cpu data array) and an offset
into the per-cpu data for bakery_info_t needs to be passed to the lock
implementation.

Change-Id: I1e76216277448713c6c98b4c2de4fb54198b39e0
1 parent 5b1cd43 commit 8c5fe0b5b9f1666b4ddd8f5849de80249cdebe40
@Soby Mathew Soby Mathew authored on 8 Jan 2015
Dan Handley committed on 22 Jan 2015
Showing 18 changed files
View
Makefile
View
bl31/bl31.mk
View
include/bl31/cpu_data.h
View
include/bl31/services/psci.h
View
include/lib/bakery_lock.h
View
lib/locks/bakery/bakery_lock.c 100644 → 0
View
lib/locks/bakery/bakery_lock_coherent.c 0 → 100644
View
lib/locks/bakery/bakery_lock_normal.c 0 → 100644
View
plat/fvp/drivers/pwrc/fvp_pwrc.c
View
plat/fvp/fvp_private.h
View
plat/fvp/include/platform_def.h
View
plat/juno/include/platform_def.h
View
plat/juno/juno_private.h
View
plat/juno/mhu.c
View
plat/juno/platform.mk
View
services/std_svc/psci/psci_common.c
View
services/std_svc/psci/psci_private.h
View
services/std_svc/psci/psci_setup.c