zephyr/arch/arm64/core
Jaxson Han c57fa2c231 arch: arm64: Fix the cache coherence issue
Accessing mem before mmu or mpu init will cause a cache coherence issue.
To avoid such a problem, move the safe exception stack init function
after the mmu or mpu is initiated.

Also change the data section attribute from INNER_SHAREABLE to
OUTER_SHAREABLE. Otherwise there will be a cache coherence issue during
the memory regions switch. Because we are using background region to do
the regions switch, and the default background region is
OUTER_SHAREABLE, if we use INNER_SHAREABLE as the foreground region,
then we have to flush all cache regions to make sure the cached values
are right. However, flushing all regions is too heavy, so we set
OUTER_SHAREABLE to fix this issue.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2023-09-22 09:25:12 +02:00
..
cortex_r dt: Make zephyr,memory-attr a capabilities bitmask 2023-09-15 12:46:54 +02:00
offsets arm64: Add frame-pointer based stack unwinding 2023-07-13 17:04:05 +02:00
xen xen: add Kconfig option for Zephyr on Dom0less setups 2023-09-18 10:43:45 +01:00
boot.h arm64: decrustify and extend SMP boot code 2021-04-19 11:00:05 -04:00
CMakeLists.txt xen: refactor Xen hypervisor Kconfig options 2023-09-15 11:15:00 +01:00
coredump.c arch: arm64: add support for coredump 2023-07-03 09:32:26 +02:00
cpu_idle.S asm: update files with <zephyr/...> include prefix 2022-05-09 12:45:29 -04:00
fatal.c arch: move exc_handle.h under zephyr/arch/common 2023-08-31 09:19:19 -04:00
fpu.c arch: arm64: Use atomic for fpu_owner pointer 2023-06-08 09:35:11 -04:00
fpu.S asm: update files with <zephyr/...> include prefix 2022-05-09 12:45:29 -04:00
header.S asm: update files with <zephyr/...> include prefix 2022-05-09 12:45:29 -04:00
irq_init.c arch: migrate includes to <zephyr/...> 2022-05-06 19:57:22 +02:00
irq_manage.c arch: migrate includes to <zephyr/...> 2022-05-06 19:57:22 +02:00
irq_offload.c arch: migrate includes to <zephyr/...> 2022-05-06 19:57:22 +02:00
isr_wrapper.S arch: arm64: Update current stack limit on every context switch 2023-03-14 10:49:22 +01:00
Kconfig xen: refactor Xen hypervisor Kconfig options 2023-09-15 11:15:00 +01:00
macro_priv.inc arm64: Add comment that arch_curr_cpu and get_cpu must be synced 2022-11-02 16:08:00 -05:00
mmu.c arm64: mmu: add Non-cacheable normal memory mapping support 2023-08-28 11:41:51 +02:00
mmu.h arm64: improve CONFIG_MAX_XLAT_TABLES default value 2021-04-12 22:13:38 -04:00
mmu.S arch/arm64: Implement ASID support in ARM64 MMU 2022-12-13 17:21:11 +09:00
prep_c.c arm64: core/prep_c.c func prototype before function itself 2023-08-23 10:02:54 +02:00
reset.c arch: arm64: arm_mpu: enable d-cache 2023-09-01 13:23:26 +02:00
reset.S arm64: Set FP to NULL before jumping to C code 2023-07-14 09:33:00 +00:00
semihost.c semihosting: fix inline assembly output dependency 2022-04-24 19:46:15 +02:00
smccc-call.S asm: update files with <zephyr/...> include prefix 2022-05-09 12:45:29 -04:00
smp.c arch: arm64: Fix the cache coherence issue 2023-09-22 09:25:12 +02:00
switch.S kernel/sched: Rename/redocument wait_for_switch() -> z_sched_switch_spin() 2023-05-26 17:09:35 -04:00
thread.c arch: remove wait_q.h include 2023-09-12 12:55:36 -04:00
tls.c arch: migrate includes to <zephyr/...> 2022-05-06 19:57:22 +02:00
userspace.S asm: update files with <zephyr/...> include prefix 2022-05-09 12:45:29 -04:00
vector_table.S arm64: Add frame-pointer based stack unwinding 2023-07-13 17:04:05 +02:00