rt-thread-official/components/lwp
Shell 65c9947225
[libcpu] rv64: support for ARCH_REMAP_KERNEL (#9067)
* [libcpu] support for ARCH_REMAP_KERNEL

These changes introduce support for the ARCH_REMAP_KERNEL configuration,
which isolates kernel space in high virtual address regions. This feature
is necessary to enhance memory protection and management by segregating
user and kernel spaces more effectively.

Changes:
- Updated conditional macros to check for ARCH_REMAP_KERNEL instead of
  ARCH_KERNEL_IN_HIGH_VA in board initialization files to reflect the new
  configuration option.
- Modified qemu-virt64-riscv Kconfig and SConstruct files to include and
  utilize ARCH_REMAP_KERNEL.
- Created a new linker script `link_smart.lds` for smart linking in qemu-virt64-riscv.
- Updated rtconfig.py to use a more flexible execution path setup.
- Enhanced user address space definitions in `lwp_arch.h` to support the
  new virtual address mappings.
- Adjusted kernel memory initialization and mapping logic in `c906/mmu.c`
  and `virt64/mmu.c` to account for high virtual address regions.
- Added Kconfig option to enable ARCH_REMAP_KERNEL for RISCV64 architectures.
- Enhanced memory setup functions to support new mapping scheme, including
  updates to early page table setup and address relocation logic.

These modifications ensure that the system can utilize high memory
addresses for the kernel, improving memory isolation and system stability.

Signed-off-by: Shell <smokewood@qq.com>

* fixup: CI run failed

* bsp: default config without using smart

* fixup: static checks

* restore rt_hw_mmu_kernel_map_init for D1

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-06-18 11:15:59 +08:00
..
arch [libcpu] rv64: support for ARCH_REMAP_KERNEL (#9067) 2024-06-18 11:15:59 +08:00
terminal [smart] add FIONREAD ioctl support for tty (#8996) 2024-05-28 09:56:10 +08:00
Kconfig [smart] add CPU/thread usage tracing config (#8947) 2024-06-04 00:06:41 +08:00
SConscript sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
libc_musl.h sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
lwp.c [smart] add CPU/thread usage tracing config (#8947) 2024-06-04 00:06:41 +08:00
lwp.h [smart] fixup of script execution (#9009) 2024-05-31 17:32:19 +08:00
lwp_arch_comm.h sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
lwp_args.c [smart] fixup of script execution (#9009) 2024-05-31 17:32:19 +08:00
lwp_args.h [smart] fixup of script execution (#9009) 2024-05-31 17:32:19 +08:00
lwp_avl.c [rtdef] use lower-case to define attributes (#6728) 2022-12-11 13:12:03 -05:00
lwp_avl.h sync branch rt-smart. (#6641) 2022-12-03 12:07:44 +08:00
lwp_dbg.c sync branch rt-smart. (#6641) 2022-12-03 12:07:44 +08:00
lwp_dbg.h [component/lwp] support more feature of signal from IEEE Std 1003.1-2017 (#7828) 2023-07-20 00:02:41 +08:00
lwp_elf.c [smart] fixup of script execution (#9009) 2024-05-31 17:32:19 +08:00
lwp_elf.h sync branch rt-smart. (#6641) 2022-12-03 12:07:44 +08:00
lwp_futex.c sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
lwp_futex_internal.h 🎯 Sync smart & scheduler codes (#8537) 2024-02-23 17:49:15 +08:00
lwp_futex_table.c 🎯 Sync smart & scheduler codes (#8537) 2024-02-23 17:49:15 +08:00
lwp_internal.c [fixup] aarch64 UMP compiler error (#8677) 2024-03-30 17:58:38 +08:00
lwp_internal.h [smart] fixup of script execution (#9009) 2024-05-31 17:32:19 +08:00
lwp_ipc.c 🎯 Sync smart & scheduler codes (#8537) 2024-02-23 17:49:15 +08:00
lwp_ipc.h fix rt_channel lock. (#8244) 2023-11-10 21:37:07 +08:00
lwp_ipc_internal.h sync branch rt-smart. (#6641) 2022-12-03 12:07:44 +08:00
lwp_itimer.c 🎯 Sync smart & scheduler codes (#8537) 2024-02-23 17:49:15 +08:00
lwp_jobctrl.c sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
lwp_mm.c sync branch rt-smart. (#6641) 2022-12-03 12:07:44 +08:00
lwp_mm.h sync branch rt-smart. (#6641) 2022-12-03 12:07:44 +08:00
lwp_pgrp.c sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
lwp_pid.c [lwp]list_process can print tid (#8991) 2024-05-31 17:30:46 +08:00
lwp_pid.h sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
lwp_session.c sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
lwp_shm.c Sync dfs lwp (#8123) 2023-10-17 13:07:59 +08:00
lwp_shm.h sync branch rt-smart. (#6641) 2022-12-03 12:07:44 +08:00
lwp_signal.c sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
lwp_signal.h sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
lwp_sys_socket.h sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
lwp_syscall.c [smart] fixup of script execution (#9009) 2024-05-31 17:32:19 +08:00
lwp_syscall.h sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
lwp_tid.c sync smart & dfs (#8672) 2024-03-28 23:42:56 +08:00
lwp_user_mm.c [smart] fixup of script execution (#9009) 2024-05-31 17:32:19 +08:00
lwp_user_mm.h [mm] precise & readable mm fault type (#9047) 2024-06-07 21:34:03 +08:00
page.h [rt-smart] kernel virtual memory management layer (#6809) 2023-01-08 21:08:55 -05:00
syscall_generic.h Sync dfs lwp (#8123) 2023-10-17 13:07:59 +08:00