rt-thread-official/libcpu/aarch64/common
Shell fe2b124345 feat: arm64 ASID support
Support for ARM64 ASID to enhance virtual memory management efficiency
by reducing the need for TLB flushes during address space switches.
These changes improve performance especially for multi-process systems.

Changes:
- Added `ARCH_USING_ASID` configuration in `libcpu/aarch64/Kconfig`.
- Defined ASID-related constants in `mmu.h`.
- Updated `TLBI_ARG` macro to include ASID manipulation.
- Implemented ASID allocation mechanism with spinlock synchronization.
- Enhanced TLB invalidation to support ASID-specific operations.
- Modified `rt_hw_aspace_switch` to use ASIDs when switching address spaces.
- Adjusted debug logging and function documentation to reflect ASID usage.
- Refactored AArch64 MMU and TLB handling for ASID integration.

Signed-off-by: Shell <smokewood@qq.com>
2024-11-24 13:44:34 -05:00
..
include feat: arm64 ASID support 2024-11-24 13:44:34 -05:00
mp feat: arm64: update thread self on sp-switch 2024-10-11 00:09:01 -04:00
up feat: smart: user space context optimization 2024-09-19 23:02:39 -04:00
SConscript [format] cleanup libcpu/aarch64 (#8950) 2024-06-28 00:23:09 +08:00
atomic_aarch64.c [libcpu/aarch64]修改atomic实现 2024-09-03 18:14:06 -04:00
backtrace.c [libcpu/arm64] feat: Trimming General Context 2024-07-18 17:41:48 +08:00
cache.S [fixup] add cache maintenance ops; 2023-02-21 08:48:49 +08:00
cache_ops.c [format] cleanup libcpu/aarch64 (#8950) 2024-06-28 00:23:09 +08:00
cpu.c [format] cleanup libcpu/aarch64 (#8950) 2024-06-28 00:23:09 +08:00
cpu_gcc.S [format] cleanup libcpu/aarch64 (#8950) 2024-06-28 00:23:09 +08:00
cpu_psci.c [libcpu][aarch64] 使用设备树对CPU进行初始化 (#8221) 2023-11-28 14:20:11 +08:00
cpu_spin_table.c [libcpu][aarch64] 使用设备树对CPU进行初始化 (#8221) 2023-11-28 14:20:11 +08:00
cpuport.c [DM] Extended drivers MISC interface 2024-09-06 17:45:03 -04:00
exception.c Sync dfs lwp (#8123) 2023-10-17 13:07:59 +08:00
gic.c [fix]:修复GICv2、GICv3中断触发模式设置无效的问题 (#7358) 2023-04-24 17:06:31 +08:00
gicv3.c [bsp/phytium]中断相关修改 (#8742) 2024-04-11 00:09:17 +08:00
gtimer.c 🐞 fix(ktime): fix wrong boottime 2023-07-27 11:35:29 +08:00
hypercall.c [smart/aarch64] code sync (#6750) 2022-12-20 17:49:37 +08:00
interrupt.c [components][drivers] fix posix tty, and add more baudrate (#8683) 2024-04-01 21:23:04 +08:00
mmu.c feat: arm64 ASID support 2024-11-24 13:44:34 -05:00
psci.c [DM/FIXUP] remove some redundant INIT_EXPORT 2024-11-18 15:03:23 +08:00
setup.c [libcpu] fix No memory higher than 1 GB is mapped 2024-11-17 21:13:07 -05:00
smccc.S [smart/aarch64] code sync (#6750) 2022-12-20 17:49:37 +08:00
stack.c [libcpu/arm64] feat: Trimming General Context 2024-07-18 17:41:48 +08:00
stack_gcc.S [libcpu/arm64] feat: Trimming General Context 2024-07-18 17:41:48 +08:00
startup_gcc.S [format] cleanup libcpu/aarch64 (#8950) 2024-06-28 00:23:09 +08:00
trap.c feat: Added rt_interrupt_context* family for nested interrupt handling 2024-11-03 10:08:45 +08:00
vector_gcc.S feat: smart: user space context optimization 2024-09-19 23:02:39 -04:00