summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorTing Shen <phoenixshen@google.com>2021-02-26 16:07:21 +0800
committerCommit Bot <commit-bot@chromium.org>2021-03-03 05:40:59 +0000
commit09b4da98b5bc1d83237033d8d683d21f6cb0d3f2 (patch)
treeb9baa84458e80d2633d081708456092e711d5d02 /core
parent985116ae9a038e958792accfee864176432effd1 (diff)
downloadchrome-ec-09b4da98b5bc1d83237033d8d683d21f6cb0d3f2.tar.gz
core/riscv-rv32i: rearrange symbols in ILM
The symbol `current_image_data` must be located in a static place, so EC-RO can always find the required information inside EC-RW. Move the symbol to a lower offset to make it's location not affected by future code change. BUG=b:181203269 TEST=1) bootable on hayato 2) ec.RW.smap: 80080000 T __flash_dma_start 80080000 t __startup 80080004 t __irq 80080008 t __ec_intc 80080080 T eflash_sig 80080090 T current_image_data 80080090 T __image_data_offset 800800c0 T __entry_irq_0 ... 800800fc T __entry_irq_15 80080100 T __entry_syscall 80080104 t __irq_isr BRANCH=none Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: Iaf05ed8f758d99981eec432afbe404ac2c469dec Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2722051 Reviewed-by: Dino Li <dino.li@ite.corp-partner.google.com> Reviewed-by: Eric Yilun Lin <yllin@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org> Auto-Submit: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'core')
-rw-r--r--core/riscv-rv32i/init.S40
1 files changed, 21 insertions, 19 deletions
diff --git a/core/riscv-rv32i/init.S b/core/riscv-rv32i/init.S
index f81890bd5e..5715478356 100644
--- a/core/riscv-rv32i/init.S
+++ b/core/riscv-rv32i/init.S
@@ -29,6 +29,26 @@ __startup:
__irq:
j __irq_isr /* interrupts / exceptions */
+.align 2
+__ec_intc:
+ vector irq_0 /* INT GROUP 0 */
+ vector irq_1 /* INT GROUP 1 */
+ vector irq_2 /* INT GROUP 2 */
+ vector irq_3 /* INT GROUP 3 */
+ vector irq_4 /* INT GROUP 4 */
+ vector irq_5 /* INT GROUP 5 */
+ vector irq_6 /* INT GROUP 6 */
+ vector irq_7 /* INT GROUP 7 */
+ vector irq_8 /* INT GROUP 8 */
+ vector irq_9 /* INT GROUP 9 */
+ vector irq_10 /* INT GROUP 10 */
+ vector irq_11 /* INT GROUP 11 */
+ vector irq_12 /* INT GROUP 12 */
+ vector irq_13 /* INT GROUP 13 */
+ vector irq_14 /* INT GROUP 14 */
+ vector irq_15 /* INT GROUP 15 */
+ vector syscall /* system call (emulate INT GROUP 16) */
+
#ifdef CHIP_FAMILY_IT8XXX2
/*
* E-flash signature used to enable specific function after power-on reset.
@@ -65,27 +85,9 @@ eflash_sig:
/* flags: internal oscillator + implicit location */
#endif /* CHIP_FAMILY_IT8XXX2 */
-.align 2
-__ec_intc:
- vector irq_0 /* INT GROUP 0 */
- vector irq_1 /* INT GROUP 1 */
- vector irq_2 /* INT GROUP 2 */
- vector irq_3 /* INT GROUP 3 */
- vector irq_4 /* INT GROUP 4 */
- vector irq_5 /* INT GROUP 5 */
- vector irq_6 /* INT GROUP 6 */
- vector irq_7 /* INT GROUP 7 */
- vector irq_8 /* INT GROUP 8 */
- vector irq_9 /* INT GROUP 9 */
- vector irq_10 /* INT GROUP 10 */
- vector irq_11 /* INT GROUP 11 */
- vector irq_12 /* INT GROUP 12 */
- vector irq_13 /* INT GROUP 13 */
- vector irq_14 /* INT GROUP 14 */
- vector irq_15 /* INT GROUP 15 */
- vector syscall /* system call (emulate INT GROUP 16) */
.align 2
+.section .text.vectirq
__irq_isr:
/* save t2 to scratch register */
csrw mscratch, t2