diff options
| author | heyuanjie87 <[email protected]> | 2024-07-11 11:46:26 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-07-11 11:46:26 +0800 |
| commit | 908f8034732a3fbe485f54e7543dc1934410a990 (patch) | |
| tree | 970bd82852e948817df050f18b6bf7772b313a30 /components/mm | |
| parent | 6180dabab3f83c36677901631ebdc4038a99cae4 (diff) | |
feat: support ARCH_REMAP_KERNEL on libcpu/c906 (#9123) (#9171)riscv64
feat: [libcpu/c906] support ARCH_REMAP_KERNEL
This change was necessary to enable the remapping of the kernel image to
a high virtual address region on the c906 platform.
Changes:
- Introduced new configuration options `ARCH_REMAP_KERNEL`, and
`ARCH_USING_ASID` under the `ARCH_RISCV64` section.
- Updated MMU initialization and switching functions to incorporate
remapping handling.
- Modified page table setup for proper memory attribute settings.
- Added support for early memory setup, kernel remapping
- Added conditional compilation for ASID support in the `rt_aspace` struct,
since this is not enable currently for most architecture.
Signed-off-by: Shell <[email protected]>
Co-authored-by: Shell <[email protected]>
Diffstat (limited to 'components/mm')
| -rw-r--r-- | components/mm/mm_aspace.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/components/mm/mm_aspace.h b/components/mm/mm_aspace.h index ff1429c305..8ce310804d 100644 --- a/components/mm/mm_aspace.h +++ b/components/mm/mm_aspace.h @@ -49,7 +49,11 @@ typedef struct rt_aspace struct rt_mutex bst_lock; struct rt_mem_obj *private_object; + +#ifdef ARCH_USING_ASID rt_uint64_t asid; +#endif /* ARCH_USING_ASID */ + } *rt_aspace_t; typedef struct rt_varea |
