Home
last modified time | relevance | path

Searched refs:aspace (Results 1 – 17 of 17) sorted by relevance

/libcpu/aarch64/common/include/
A Dtlb.h51 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 Dmmu.h109 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 Dmmu.c64 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 Dasid.c54 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 Dtlb.h36 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 Dmmu.h60 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 Dbacktrace.c80 if (this_lwp == lwp && rt_hw_mmu_v2p(((rt_lwp_t)lwp)->aspace, fp) != ARCH_MAP_FAILED) in rt_hw_backtrace_frame_unwind()
A Dtrap.c219 if (lwp && rt_aspace_fault_try_fix(lwp->aspace, &msg)) in handle_user()
/libcpu/aarch64/common/
A Dmmu.c312 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 Dtrap.c138 if (rt_aspace_fault_try_fix(lwp->aspace, &msg)) in user_fault_fixable()
/libcpu/arm/cortex-a/
A Dmmu.c175 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 Dmmu.h111 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 Dtlb.h37 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 Dtrap.c61 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 Driscv_mmu.h108 void rt_hw_asid_switch_pgtbl(struct rt_aspace *aspace, rt_ubase_t pgtbl);
/libcpu/risc-v/t-head/c908/
A Driscv_mmu.h121 void rt_hw_asid_switch_pgtbl(struct rt_aspace *aspace, rt_ubase_t pgtbl);
/libcpu/risc-v/t-head/c906/
A Driscv_mmu.h128 void rt_hw_asid_switch_pgtbl(struct rt_aspace *aspace, rt_ubase_t pgtbl);

Completed in 21 milliseconds