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

View file

@ -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.*)

View file

@ -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.*)

View file

@ -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.*)

View file

@ -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(.);