Remove variables from .data section
authorDan Handley <dan.handley@arm.com>
Wed, 23 Apr 2014 12:47:06 +0000 (13:47 +0100)
committerDan Handley <dan.handley@arm.com>
Tue, 6 May 2014 16:55:38 +0000 (17:55 +0100)
commit625de1d4f04b30383354bee944d0a7ca3dba1e67
tree3a9c8494e30f1d7475dbc69edef172a37f036594
parent408c37682a0233c8c4fa88700b603f0b09d6361f
Remove variables from .data section

Update code base to remove variables from the .data section,
mainly by using const static data where possible and adding
the const specifier as required. Most changes are to the IO
subsystem, including the framework APIs. The FVP power
management code is also affected.

Delay initialization of the global static variable,
next_image_type in bl31_main.c, until it is realy needed.
Doing this moves the variable from the .data to the .bss
section.

Also review the IO interface for inconsistencies, using
uintptr_t where possible instead of void *. Remove the
io_handle and io_dev_handle typedefs, which were
unnecessary, replacing instances with uintptr_t.

Fixes ARM-software/tf-issues#107.

Change-Id: I085a62197c82410b566e4698e5590063563ed304
18 files changed:
bl31/bl31_main.c
common/bl_common.c
drivers/io/io_fip.c
drivers/io/io_memmap.c
drivers/io/io_semihosting.c
include/drivers/io_driver.h
include/drivers/io_fip.h
include/drivers/io_memmap.h
include/drivers/io_semihosting.h
include/lib/io_storage.h
include/lib/semihosting.h
lib/io_storage.c
lib/semihosting/semihosting.c
plat/fvp/plat_io_storage.c
plat/fvp/plat_pm.c
plat/fvp/platform.h
services/std_svc/psci/psci_common.c
services/std_svc/psci/psci_private.h