| /libcpu/aarch64/common/include/ |
| A D | tlb.h | 51 static inline void rt_hw_tlb_invalidate_aspace(rt_aspace_t aspace) in rt_hw_tlb_invalidate_aspace() argument 60 "isb\n" ::"r"(TLBI_ARG(0ul, aspace->asid)) in rt_hw_tlb_invalidate_aspace() 67 static inline void rt_hw_tlb_invalidate_page(rt_aspace_t aspace, void *start) in rt_hw_tlb_invalidate_page() argument 78 static inline void rt_hw_tlb_invalidate_range(rt_aspace_t aspace, void *start, in rt_hw_tlb_invalidate_range() argument 83 rt_hw_tlb_invalidate_page(aspace, start); in rt_hw_tlb_invalidate_range() 87 rt_hw_tlb_invalidate_aspace(aspace); in rt_hw_tlb_invalidate_range()
|
| A D | mmu.h | 109 void rt_hw_mmu_setup(struct rt_aspace *aspace, struct mem_desc *mdesc, 112 int rt_hw_mmu_map_init(rt_aspace_t aspace, void *v_address, size_t size, size_t *vtable, size_t pv_… 113 void *rt_hw_mmu_map(struct rt_aspace *aspace, void *v_addr, void *p_addr, 115 void rt_hw_mmu_unmap(struct rt_aspace *aspace, void *v_addr, size_t size); 116 void rt_hw_aspace_switch(struct rt_aspace *aspace); 117 void *rt_hw_mmu_v2p(struct rt_aspace *aspace, void *vaddr); 211 int rt_hw_mmu_control(struct rt_aspace *aspace, void *vaddr, size_t size,
|
| /libcpu/risc-v/common64/ |
| A D | mmu.c | 64 current_mmu_table = aspace->page_table; in rt_hw_aspace_switch() 73 current_mmu_table = aspace->page_table; in rt_hw_aspace_switch() 192 MM_PGTBL_LOCK(aspace); in rt_hw_mmu_map() 194 MM_PGTBL_UNLOCK(aspace); in rt_hw_mmu_map() 200 MM_PGTBL_LOCK(aspace); in rt_hw_mmu_map() 202 MM_PGTBL_UNLOCK(aspace); in rt_hw_mmu_map() 326 if (!aspace->page_table) in rt_hw_mmu_unmap() 334 MM_PGTBL_LOCK(aspace); in rt_hw_mmu_unmap() 336 MM_PGTBL_UNLOCK(aspace); in rt_hw_mmu_unmap() 396 if ((!aspace) || (!vtable)) in rt_hw_mmu_map_init() [all …]
|
| A D | asid.c | 54 static rt_uint64_t _asid_acquire(rt_aspace_t aspace) in _asid_acquire() argument 56 if ((aspace->asid ^ global_asid_generation) >> ASID_BITS) // not same generation in _asid_acquire() 60 aspace->asid = global_asid_generation | next_asid; in _asid_acquire() 70 aspace->asid = global_asid_generation | next_asid; in _asid_acquire() 75 return aspace->asid & ASID_MASK; in _asid_acquire() 78 void rt_hw_asid_switch_pgtbl(struct rt_aspace *aspace, rt_ubase_t pgtbl) in rt_hw_asid_switch_pgtbl() argument 80 rt_uint64_t asid = _asid_acquire(aspace); in rt_hw_asid_switch_pgtbl()
|
| A D | tlb.h | 36 static inline void rt_hw_tlb_invalidate_aspace(rt_aspace_t aspace) in rt_hw_tlb_invalidate_aspace() argument 42 static inline void rt_hw_tlb_invalidate_page(rt_aspace_t aspace, void *start) in rt_hw_tlb_invalidate_page() argument 47 static inline void rt_hw_tlb_invalidate_range(rt_aspace_t aspace, void *start, in rt_hw_tlb_invalidate_range() argument 53 rt_hw_tlb_invalidate_page(aspace, start); in rt_hw_tlb_invalidate_range() 57 rt_hw_tlb_invalidate_aspace(aspace); in rt_hw_tlb_invalidate_range()
|
| A D | mmu.h | 60 int rt_hw_mmu_map_init(rt_aspace_t aspace, void *v_address, rt_ubase_t size, 62 void rt_hw_mmu_setup(rt_aspace_t aspace, struct mem_desc *mdesc, int desc_nr); 63 void *rt_hw_mmu_map(rt_aspace_t aspace, void *v_addr, void *p_addr, size_t size, 65 void rt_hw_mmu_unmap(rt_aspace_t aspace, void *v_addr, size_t size); 66 void rt_hw_aspace_switch(rt_aspace_t aspace); 67 void *rt_hw_mmu_v2p(rt_aspace_t aspace, void *vaddr); 69 int rt_hw_mmu_control(struct rt_aspace *aspace, void *vaddr, size_t size,
|
| A D | backtrace.c | 80 if (this_lwp == lwp && rt_hw_mmu_v2p(((rt_lwp_t)lwp)->aspace, fp) != ARCH_MAP_FAILED) in rt_hw_backtrace_frame_unwind()
|
| A D | trap.c | 219 if (lwp && rt_aspace_fault_try_fix(lwp->aspace, &msg)) in handle_user()
|
| /libcpu/aarch64/common/ |
| A D | mmu.c | 312 MM_PGTBL_LOCK(aspace); in rt_hw_mmu_map() 314 MM_PGTBL_UNLOCK(aspace); in rt_hw_mmu_map() 349 if (!aspace->page_table) in rt_hw_mmu_unmap() 356 MM_PGTBL_LOCK(aspace); in rt_hw_mmu_unmap() 359 MM_PGTBL_UNLOCK(aspace); in rt_hw_mmu_unmap() 380 asid_to = aspace->asid; in _aspace_get_asid() 398 aspace->asid = asid_to; in _aspace_get_asid() 430 if (aspace != &rt_kernel_space) in rt_hw_aspace_switch() 536 if (!aspace || !vtable) in rt_hw_mmu_map_init() 768 cur_lv_tbl = aspace->page_table; in _query() [all …]
|
| A D | trap.c | 138 if (rt_aspace_fault_try_fix(lwp->aspace, &msg)) in user_fault_fixable()
|
| /libcpu/arm/cortex-a/ |
| A D | mmu.c | 175 if (!aspace || !vtable) in rt_hw_mmu_map_init() 246 mmu_l1 = (size_t*)aspace->page_table + l1_off; in rt_hw_mmu_ioremap_init() 394 void rt_hw_mmu_unmap(rt_aspace_t aspace, void *v_addr, size_t size) in rt_hw_mmu_unmap() argument 399 if (!aspace->page_table) in rt_hw_mmu_unmap() 407 _kenrel_unmap_4K(aspace->page_table, v_addr); in rt_hw_mmu_unmap() 414 void rt_hw_aspace_switch(rt_aspace_t aspace) in rt_hw_aspace_switch() argument 416 if (aspace != &rt_kernel_space) in rt_hw_aspace_switch() 418 void *pgtbl = aspace->page_table; in rt_hw_aspace_switch() 427 void *rt_hw_mmu_v2p(rt_aspace_t aspace, void* v_addr) in rt_hw_mmu_v2p() argument 436 RT_ASSERT(aspace); in rt_hw_mmu_v2p() [all …]
|
| A D | mmu.h | 111 int rt_hw_mmu_ioremap_init(struct rt_aspace *aspace, void *v_address, size_t size); 114 void rt_hw_mmu_setup(struct rt_aspace *aspace, struct mem_desc *mdesc, int desc_nr); 116 int rt_hw_mmu_map_init(struct rt_aspace *aspace, void *v_address, size_t size, size_t *vtable, size… 117 void *rt_hw_mmu_map(struct rt_aspace *aspace, void *v_addr, void *p_addr, size_t size, size_t attr); 118 void rt_hw_mmu_unmap(struct rt_aspace *aspace, void *v_addr, size_t size); 120 void rt_hw_aspace_switch(struct rt_aspace *aspace); 123 void *rt_hw_mmu_v2p(struct rt_aspace *aspace, void *vaddr); 126 int rt_hw_mmu_control(struct rt_aspace *aspace, void *vaddr, size_t size, enum rt_mmu_cntl cmd);
|
| A D | tlb.h | 37 static inline void rt_hw_tlb_invalidate_aspace(rt_aspace_t aspace) in rt_hw_tlb_invalidate_aspace() argument 42 static inline void rt_hw_tlb_invalidate_range(rt_aspace_t aspace, void *start, in rt_hw_tlb_invalidate_range() argument
|
| A D | trap.c | 61 if (lwp && rt_aspace_fault_try_fix(lwp->aspace, &msg)) in check_data_abort() 84 if (lwp && rt_aspace_fault_try_fix(lwp->aspace, &msg)) in check_prefetch_abort()
|
| /libcpu/risc-v/virt64/ |
| A D | riscv_mmu.h | 108 void rt_hw_asid_switch_pgtbl(struct rt_aspace *aspace, rt_ubase_t pgtbl);
|
| /libcpu/risc-v/t-head/c908/ |
| A D | riscv_mmu.h | 121 void rt_hw_asid_switch_pgtbl(struct rt_aspace *aspace, rt_ubase_t pgtbl);
|
| /libcpu/risc-v/t-head/c906/ |
| A D | riscv_mmu.h | 128 void rt_hw_asid_switch_pgtbl(struct rt_aspace *aspace, rt_ubase_t pgtbl);
|