Files
OpenCellular/include
Vincent Palatin b42dd73603 core: add chip-specific memory regions definition mechanism
When a chip has special/non-contiguous SRAM physical memory region,
rather than extending the generic linker file ad nauseam, define a
mechanism to declare a chip specific list of those regions.

To do so, a chip must declare the CONFIG_CHIP_MEMORY_REGIONS
configuration and have a memory_regions.inc with the list of regions.

The special-purpose preprocessed chip/<chip_name>/memory_regions.inc
file has one region declaration per line using the following macro:
REGION(name, attributes, start_address, size)

Each region will get a proper MEMORY entry and a section in the linker
file.
the __SECTION(region_name) helper is provided as a convenience to
declare variable in a specific region.

Note: those 'special' regions are NOT cleared at startup contrary to
.bss.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>

BRANCH=none
BUG=b:67081508
TEST=on ZerbleBarn, along with the following CLs, run the firmware with
large arrays in special AHB memory regions.

Change-Id: I3f156ef6e5feb4a6a0b2ae2468bae8a20483f17c
Reviewed-on: https://chromium-review.googlesource.com/946368
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
2018-03-05 23:48:28 -08:00
..
2017-02-17 04:09:37 -08:00
2017-01-07 13:29:52 -08:00
2016-05-26 16:17:26 -07:00
2013-12-17 21:27:53 +00:00
2017-11-17 20:18:38 -08:00
2018-02-08 23:42:33 -08:00
2017-12-18 20:32:58 -08:00
2015-07-27 22:19:16 +00:00
2014-02-08 00:14:48 +00:00
2013-10-25 20:12:49 +00:00
2015-06-10 18:24:05 +00:00
2018-01-23 05:25:08 -08:00
2015-05-27 03:58:16 +00:00
2017-12-28 12:35:08 -08:00
2015-05-27 03:58:16 +00:00
2013-06-26 09:08:23 -07:00
2017-12-07 05:09:28 -08:00
2018-02-05 23:05:39 -08:00
2011-12-07 19:10:02 +00:00
2016-11-08 17:11:28 -08:00
2017-06-02 10:38:57 -07:00
2012-10-25 14:12:11 -07:00
2017-07-28 17:45:13 -07:00
2015-06-18 19:07:00 +00:00
2017-10-10 22:13:43 -07:00
2015-06-18 19:07:00 +00:00
2018-02-09 05:24:46 -08:00
2016-11-15 17:41:53 -08:00
2018-01-08 17:22:48 -08:00
2016-11-08 17:11:28 -08:00
2015-09-16 14:49:46 -07:00
2017-02-23 11:36:21 -08:00
2017-06-29 10:37:40 -07:00
2017-06-29 10:37:40 -07:00
2015-06-18 19:07:00 +00:00
2018-02-24 01:22:46 -08:00
2017-09-22 10:18:50 -07:00
2017-10-31 21:49:24 -07:00
2015-01-20 20:56:43 +00:00