xtensa/esp32[s2|c3|c6|h2]: fix sched_[lock|unlock] boot crash

Move the code to iram0 since sched_lock/sched_unlock is called in
the early boot phase.
This commit is contained in:
Tiago Medicci Serrano
2025-01-31 15:38:57 -03:00
committed by Xiang Xiao
parent e043658d1e
commit 08fe636001
4 changed files with 21 additions and 0 deletions
@@ -74,6 +74,8 @@ SECTIONS
*(.iram1.*)
*libsched.a:irq_dispatch.*(.text .text.* .literal .literal.*)
*libsched.a:sched_lock.*(.text .text.* .literal .literal.*)
*libsched.a:sched_unlock.*(.text .text.* .literal .literal.*)
*libarch.a:*(.text.esprv_intc_int_get_type .literal.esprv_intc_int_get_type)
*libarch.a:*riscv_doirq.*(.text .text.* .literal .literal.*)
@@ -194,6 +196,8 @@ SECTIONS
*(.dram1.*)
*libsched.a:irq_dispatch.*(.rodata .rodata.*)
*libsched.a:sched_lock.*(.rodata .rodata.*)
*libsched.a:sched_unlock.*(.rodata .rodata.*)
*libarch.a:*(.rodata.esprv_intc_int_get_type)
*libarch.a:*riscv_doirq.*(.rodata .rodata.*)
@@ -74,6 +74,8 @@ SECTIONS
*(.iram1.*)
*libsched.a:irq_dispatch.*(.text .text.* .literal .literal.*)
*libsched.a:sched_lock.*(.text .text.* .literal .literal.*)
*libsched.a:sched_unlock.*(.text .text.* .literal .literal.*)
*libarch.a:*(.text.esprv_intc_int_get_type .literal.esprv_intc_int_get_type)
*libarch.a:*riscv_doirq.*(.text .text.* .literal .literal.*)
@@ -218,6 +220,8 @@ SECTIONS
*(.dram1.*)
*libsched.a:irq_dispatch.*(.rodata .rodata.*)
*libsched.a:sched_lock.*(.rodata .rodata.*)
*libsched.a:sched_unlock.*(.rodata .rodata.*)
*libarch.a:*(.rodata.esprv_intc_int_get_type)
*libarch.a:*riscv_doirq.*(.rodata .rodata.*)
@@ -74,6 +74,8 @@ SECTIONS
*(.iram1.*)
*libsched.a:irq_dispatch.*(.text .text.* .literal .literal.*)
*libsched.a:sched_lock.*(.text .text.* .literal .literal.*)
*libsched.a:sched_unlock.*(.text .text.* .literal .literal.*)
*libarch.a:*(.text.esprv_intc_int_get_type .literal.esprv_intc_int_get_type)
*libarch.a:*riscv_doirq.*(.text .text.* .literal .literal.*)
@@ -213,6 +215,8 @@ SECTIONS
*(.dram1.*)
*libsched.a:irq_dispatch.*(.rodata .rodata.*)
*libsched.a:sched_lock.*(.rodata .rodata.*)
*libsched.a:sched_unlock.*(.rodata .rodata.*)
*libarch.a:*(.rodata.esprv_intc_int_get_type)
*libarch.a:*riscv_doirq.*(.rodata .rodata.*)
@@ -172,6 +172,11 @@ SECTIONS
*libarch.a:*cpu_region_protect.*(.text .text.* .literal .literal.*)
*libc.a:sq_remlast.*(.literal .text .literal.* .text.*)
*libsched.a:irq_dispatch.*(.text .text.* .literal .literal.*)
*libsched.a:sched_lock.*(.text .text.* .literal .literal.*)
*libsched.a:sched_unlock.*(.text .text.* .literal .literal.*)
*(.wifirxiram .wifirxiram.*)
*(.wifi0iram .wifi0iram.*)
*(.wifiorslpiram .wifiorslpiram.*)
@@ -319,6 +324,10 @@ SECTIONS
*libarch.a:*log_noos.*(.rodata .rodata.*)
*libarch.a:*cpu_region_protect.*(.rodata .rodata.*)
*libsched.a:irq_dispatch.*(.rodata .rodata.*)
*libsched.a:sched_lock.*(.rodata .rodata.*)
*libsched.a:sched_unlock.*(.rodata .rodata.*)
. = ALIGN(4);
_edata = ABSOLUTE(.);
_data_end = ABSOLUTE(.);