summaryrefslogtreecommitdiff
path: root/chip/ish/aontaskfw/ish_aontask.ld.in
diff options
context:
space:
mode:
authorDenis Brockus <dbrockus@chromium.org>2019-06-18 10:24:34 -0600
committerCommit Bot <commit-bot@chromium.org>2019-06-18 21:23:07 +0000
commit47253f9f4b3968c3bd8e1a731e730fe2aab614c6 (patch)
tree825b095fe7b46aafdd0203e598c1fcbf076c209f /chip/ish/aontaskfw/ish_aontask.ld.in
parentefbdc0df890dc45ef7baddc85a1649e9dd2983d8 (diff)
downloadchrome-ec-47253f9f4b3968c3bd8e1a731e730fe2aab614c6.tar.gz
ish: snowball linker cleanup
Change AON_ROM references to be AON_PERSISTENT, these are not readonly Use the linker to set a snowball structure in the right place so we do not have to maintain hardcoded addresses in the register file BUG=b:132690500 BRANCH=none TEST=make buildall -j and check map location of snowball to be correct Change-Id: I4983a078fbd067b9c7ec9f0c49f962a4cb1581b7 Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1664593 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Diffstat (limited to 'chip/ish/aontaskfw/ish_aontask.ld.in')
-rw-r--r--chip/ish/aontaskfw/ish_aontask.ld.in22
1 files changed, 20 insertions, 2 deletions
diff --git a/chip/ish/aontaskfw/ish_aontask.ld.in b/chip/ish/aontaskfw/ish_aontask.ld.in
index a839146a92..b5361432a2 100644
--- a/chip/ish/aontaskfw/ish_aontask.ld.in
+++ b/chip/ish/aontaskfw/ish_aontask.ld.in
@@ -7,8 +7,8 @@
ENTRY(ish_aon_main);
-#define SRAM_START CONFIG_AON_RAM_BASE
-#define SRAM_RW_LEN (CONFIG_AON_RAM_SIZE - CONFIG_AON_ROM_SIZE)
+#define SRAM_START CONFIG_AON_RAM_BASE
+#define SRAM_RW_LEN (CONFIG_AON_RAM_SIZE - CONFIG_AON_PERSISTENT_SIZE)
/* reserved stack size */
#define STACK_SIZE (256)
@@ -32,10 +32,23 @@ ENTRY(ish_aon_main);
* loader.
*/
+/**
+ * Snowball data
+ */
+#if defined(CHIP_FAMILY_ISH3)
+/* on ISH3, reused ISH2PMC IPC message registers */
+#define SNOWBALL_BASE IPC_ISH2PMC_MSG_BASE
+#else
+/* from ISH4, used reserved rom part of AON memory */
+#define SNOWBALL_BASE (CONFIG_AON_PERSISTENT_BASE + 256)
+#endif
+#define SNOWBALL_LEN (4*32)
+
MEMORY
{
/* leave STACK_SIZE bytes in the end of memory for stack */
RAM : ORIGIN = SRAM_START, LENGTH = RAM_LEN
+ SNOWBALL : ORIGIN = SNOWBALL_BASE, LENGTH = SNOWBALL_LEN
}
SECTIONS
@@ -46,6 +59,11 @@ SECTIONS
KEEP(*(.data.aon_share))
} > RAM
+ .data.snowball : AT(SNOWBALL_BASE)
+ {
+ KEEP(*(.data.snowball))
+ } > SNOWBALL
+
.data :
{
*(.data)