Home
last modified time | relevance | path

Searched defs:pte (Results 1 – 25 of 406) sorted by relevance

12345678910>>...17

/kernel/linux/linux-5.10/arch/powerpc/include/asm/nohash/
Dpgtable.h43 static inline int pte_write(pte_t pte) in pte_write()
48 static inline int pte_read(pte_t pte) { return 1; } in pte_read()
49 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty()
50 static inline int pte_special(pte_t pte) { return pte_val(pte) & _PAGE_SPECIAL; } in pte_special()
51 static inline int pte_none(pte_t pte) { return (pte_val(pte) & ~_PTE_NONE_MASK) == 0; } in pte_none()
52 static inline bool pte_hashpte(pte_t pte) { return false; } in pte_hashpte()
53 static inline bool pte_ci(pte_t pte) { return pte_val(pte) & _PAGE_NO_CACHE; } in pte_ci()
54 static inline bool pte_exec(pte_t pte) { return pte_val(pte) & _PAGE_EXEC; } in pte_exec()
62 static inline int pte_protnone(pte_t pte) in pte_protnone()
73 static inline int pte_present(pte_t pte) in pte_present()
[all …]
/kernel/linux/linux-5.10/arch/mips/include/asm/
Dpgtable.h137 # define pte_none(pte) (!(((pte).pte_high) & ~_PAGE_GLOBAL)) argument
139 # define pte_none(pte) (!(((pte).pte_low | (pte).pte_high) & ~_PAGE_GLOBAL)) argument
142 #define pte_present(pte) ((pte).pte_low & _PAGE_PRESENT) argument
143 #define pte_no_exec(pte) ((pte).pte_low & _PAGE_NO_EXEC) argument
145 static inline void set_pte(pte_t *ptep, pte_t pte)
188 #define pte_none(pte) (!(pte_val(pte) & ~_PAGE_GLOBAL)) argument
189 #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) argument
190 #define pte_no_exec(pte) (pte_val(pte) & _PAGE_NO_EXEC) argument
276 static inline int pte_special(pte_t pte)
281 static inline pte_t pte_mkspecial(pte_t pte)
[all …]
/kernel/linux/linux-5.10/arch/m68k/include/asm/
Dmcf_pgtable.h159 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) in pte_modify()
172 #define __pte_page(pte) ((unsigned long) (pte_val(pte) & PAGE_MASK)) argument
175 static inline int pte_none(pte_t pte) in pte_none()
180 static inline int pte_present(pte_t pte) in pte_present()
191 #define pte_pagenr(pte) ((__pte_page(pte) - PAGE_OFFSET) >> PAGE_SHIFT) argument
192 #define pte_page(pte) virt_to_page(__pte_page(pte)) argument
213 static inline int pte_read(pte_t pte) in pte_read()
218 static inline int pte_write(pte_t pte) in pte_write()
223 static inline int pte_exec(pte_t pte) in pte_exec()
228 static inline int pte_dirty(pte_t pte) in pte_dirty()
[all …]
Dsun3_pgtable.h105 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) in pte_modify()
113 #define __pte_page(pte) \ argument
121 static inline int pte_none (pte_t pte) { return !pte_val (pte); } in pte_none()
122 static inline int pte_present (pte_t pte) { return pte_val (pte) & SUN3_PAGE_VALID; } in pte_present()
128 #define pte_pfn(pte) (pte_val(pte) & SUN3_PAGE_PGNUM_MASK) argument
132 #define pte_page(pte) virt_to_page(__pte_page(pte)) argument
158 static inline int pte_write(pte_t pte) { return pte_val(pte) & SUN3_PAGE_WRITEABLE; } in pte_write()
159 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & SUN3_PAGE_MODIFIED; } in pte_dirty()
160 static inline int pte_young(pte_t pte) { return pte_val(pte) & SUN3_PAGE_ACCESSED; } in pte_young()
162 static inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) &= ~SUN3_PAGE_WRITEABLE; return pte; } in pte_wrprotect()
[all …]
Dmotorola_pgtable.h114 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) in pte_modify()
130 #define __pte_page(pte) ((unsigned long)__va(pte_val(pte) & PAGE_MASK)) argument
135 #define pte_none(pte) (!pte_val(pte)) argument
136 #define pte_present(pte) (pte_val(pte) & (_PAGE_PRESENT | _PAGE_PROTNONE)) argument
139 #define pte_page(pte) virt_to_page(__va(pte_val(pte))) argument
140 #define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT) argument
174 static inline int pte_write(pte_t pte) { return !(pte_val(pte) & _PAGE_RONLY); } in pte_write()
175 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty()
176 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young()
178 static inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) |= _PAGE_RONLY; return pte; } in pte_wrprotect()
[all …]
/kernel/linux/linux-5.10/arch/arm/include/asm/
Dpgtable.h62 #define pte_ERROR(pte) __pte_error(__FILE__, __LINE__, pte) argument
181 #define pte_pfn(pte) ((pte_val(pte) & PHYS_MASK) >> PAGE_SHIFT) argument
184 #define pte_page(pte) pfn_to_page(pte_pfn(pte)) argument
189 #define pte_isset(pte, val) ((u32)(val) == (val) ? pte_val(pte) & (val) \ argument
191 #define pte_isclear(pte, val) (!(pte_val(pte) & (val))) argument
193 #define pte_none(pte) (!pte_val(pte)) argument
194 #define pte_present(pte) (pte_isset((pte), L_PTE_PRESENT)) argument
195 #define pte_valid(pte) (pte_isset((pte), L_PTE_VALID)) argument
196 #define pte_accessible(mm, pte) (mm_tlb_flush_pending(mm) ? pte_present(pte) : pte_valid(pte)) argument
197 #define pte_write(pte) (pte_isclear((pte), L_PTE_RDONLY)) argument
[all …]
/kernel/linux/linux-5.10/arch/hexagon/include/asm/
Dpgtable.h163 #define pte_mkhuge(pte) __pte((pte_val(pte) & ~0x3) | HVM_HUGEPAGE_SIZE) argument
172 #define pte_present_exec_user(pte) \ argument
251 static inline int pte_none(pte_t pte) in pte_none()
259 static inline int pte_present(pte_t pte) in pte_present()
271 static inline pte_t pte_mkold(pte_t pte) in pte_mkold()
278 static inline pte_t pte_mkyoung(pte_t pte) in pte_mkyoung()
285 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean()
292 static inline pte_t pte_mkdirty(pte_t pte) in pte_mkdirty()
299 static inline int pte_young(pte_t pte) in pte_young()
305 static inline int pte_dirty(pte_t pte) in pte_dirty()
[all …]
/kernel/linux/linux-5.10/arch/powerpc/include/asm/book3s/32/
Dpgtable.h20 static inline bool pte_user(pte_t pte) in pte_user()
348 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) >> 3 }) argument
352 static inline int pte_write(pte_t pte) { return !!(pte_val(pte) & _PAGE_RW);} in pte_write()
353 static inline int pte_read(pte_t pte) { return 1; } in pte_read()
354 static inline int pte_dirty(pte_t pte) { return !!(pte_val(pte) & _PAGE_DIRTY); } in pte_dirty()
355 static inline int pte_young(pte_t pte) { return !!(pte_val(pte) & _PAGE_ACCESSED); } in pte_young()
356 static inline int pte_special(pte_t pte) { return !!(pte_val(pte) & _PAGE_SPECIAL); } in pte_special()
357 static inline int pte_none(pte_t pte) { return (pte_val(pte) & ~_PTE_NONE_MASK) == 0; } in pte_none()
358 static inline bool pte_exec(pte_t pte) { return pte_val(pte) & _PAGE_EXEC; } in pte_exec()
360 static inline int pte_present(pte_t pte) in pte_present()
[all …]
/kernel/linux/linux-5.10/arch/um/include/asm/
Dpgtable.h124 static inline int pte_none(pte_t pte) in pte_none()
133 static inline int pte_read(pte_t pte) in pte_read()
139 static inline int pte_exec(pte_t pte){ in pte_exec()
144 static inline int pte_write(pte_t pte) in pte_write()
150 static inline int pte_dirty(pte_t pte) in pte_dirty()
155 static inline int pte_young(pte_t pte) in pte_young()
160 static inline int pte_newpage(pte_t pte) in pte_newpage()
165 static inline int pte_newprot(pte_t pte) in pte_newprot()
176 static inline pte_t pte_mknewprot(pte_t pte) in pte_mknewprot()
182 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean()
[all …]
/kernel/linux/linux-5.10/arch/sparc/include/asm/
Dpgtable_64.h251 pte_t pte = pfn_pte(page_nr, pgprot); in pfn_pmd() local
259 static inline unsigned long pte_pfn(pte_t pte) in pte_pfn()
280 static inline pte_t pte_modify(pte_t pte, pgprot_t prot) in pte_modify()
341 pte_t pte = __pte(pmd_val(pmd)); in pmd_modify() local
401 static inline pte_t pte_mkhuge(pte_t pte) in pte_mkhuge()
406 static inline bool is_default_hugetlb_pte(pte_t pte) in is_default_hugetlb_pte()
426 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkhuge() local
435 static inline bool is_hugetlb_pte(pte_t pte) in is_hugetlb_pte()
441 static inline pte_t pte_mkdirty(pte_t pte) in pte_mkdirty()
465 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean()
[all …]
/kernel/linux/linux-5.10/arch/openrisc/include/asm/
Dpgtable.h233 static inline int pte_read(pte_t pte) { return pte_val(pte) & _PAGE_READ; } in pte_read()
234 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; } in pte_write()
235 static inline int pte_exec(pte_t pte) { return pte_val(pte) & _PAGE_EXEC; } in pte_exec()
236 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty()
237 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young()
239 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect()
245 static inline pte_t pte_rdprotect(pte_t pte) in pte_rdprotect()
251 static inline pte_t pte_exprotect(pte_t pte) in pte_exprotect()
257 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean()
263 static inline pte_t pte_mkold(pte_t pte) in pte_mkold()
[all …]
/kernel/linux/linux-5.10/arch/s390/include/asm/
Dhugetlb.h63 pte_t pte, int dirty) in huge_ptep_set_access_flags()
76 pte_t pte = huge_ptep_get_and_clear(mm, addr, ptep); in huge_ptep_set_wrprotect() local
85 static inline int huge_pte_none(pte_t pte) in huge_pte_none()
90 static inline int huge_pte_write(pte_t pte) in huge_pte_write()
95 static inline int huge_pte_dirty(pte_t pte) in huge_pte_dirty()
100 static inline pte_t huge_pte_mkwrite(pte_t pte) in huge_pte_mkwrite()
105 static inline pte_t huge_pte_mkdirty(pte_t pte) in huge_pte_mkdirty()
110 static inline pte_t huge_pte_wrprotect(pte_t pte) in huge_pte_wrprotect()
115 static inline pte_t huge_pte_modify(pte_t pte, pgprot_t newprot) in huge_pte_modify()
/kernel/linux/linux-5.10/arch/nios2/include/asm/
Dpgtable.h105 static inline int pte_write(pte_t pte) \ in pte_write()
107 static inline int pte_dirty(pte_t pte) \ in pte_dirty()
109 static inline int pte_young(pte_t pte) \ in pte_young()
123 static inline int pte_none(pte_t pte) in pte_none()
128 static inline int pte_present(pte_t pte) \ in pte_present()
135 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect()
141 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean()
147 static inline pte_t pte_mkold(pte_t pte) in pte_mkold()
153 static inline pte_t pte_mkwrite(pte_t pte) in pte_mkwrite()
159 static inline pte_t pte_mkdirty(pte_t pte) in pte_mkdirty()
[all …]
/kernel/linux/linux-5.10/arch/microblaze/include/asm/
Dpgtable.h38 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) argument
278 #define pte_none(pte) ((pte_val(pte) & ~_PTE_NONE_MASK) == 0) argument
279 #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) argument
302 static inline int pte_read(pte_t pte) { return pte_val(pte) & _PAGE_USER; } in pte_read()
303 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_RW; } in pte_write()
304 static inline int pte_exec(pte_t pte) { return pte_val(pte) & _PAGE_EXEC; } in pte_exec()
305 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty()
306 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young()
308 static inline void pte_uncache(pte_t pte) { pte_val(pte) |= _PAGE_NO_CACHE; } in pte_uncache()
309 static inline void pte_cache(pte_t pte) { pte_val(pte) &= ~_PAGE_NO_CACHE; } in pte_cache()
[all …]
/kernel/linux/linux-5.10/include/asm-generic/
Dpgtable_uffd.h5 static __always_inline int pte_uffd_wp(pte_t pte) in pte_uffd_wp()
15 static __always_inline pte_t pte_mkuffd_wp(pte_t pte) in pte_mkuffd_wp()
25 static __always_inline pte_t pte_clear_uffd_wp(pte_t pte) in pte_clear_uffd_wp()
35 static __always_inline pte_t pte_swp_mkuffd_wp(pte_t pte) in pte_swp_mkuffd_wp()
40 static __always_inline int pte_swp_uffd_wp(pte_t pte) in pte_swp_uffd_wp()
45 static __always_inline pte_t pte_swp_clear_uffd_wp(pte_t pte) in pte_swp_clear_uffd_wp()
Dhugetlb.h10 static inline unsigned long huge_pte_write(pte_t pte) in huge_pte_write()
15 static inline unsigned long huge_pte_dirty(pte_t pte) in huge_pte_dirty()
20 static inline pte_t huge_pte_mkwrite(pte_t pte) in huge_pte_mkwrite()
25 static inline pte_t huge_pte_mkdirty(pte_t pte) in huge_pte_mkdirty()
30 static inline pte_t huge_pte_modify(pte_t pte, pgprot_t newprot) in huge_pte_modify()
54 pte_t *ptep, pte_t pte) in set_huge_pte_at()
77 static inline int huge_pte_none(pte_t pte) in huge_pte_none()
84 static inline pte_t huge_pte_wrprotect(pte_t pte) in huge_pte_wrprotect()
116 pte_t pte, int dirty) in huge_ptep_set_access_flags()
/kernel/linux/linux-5.10/arch/powerpc/kvm/
Dbook3s_mmu_hpte.c56 void kvmppc_mmu_hpte_cache_map(struct kvm_vcpu *vcpu, struct hpte_cache *pte) in kvmppc_mmu_hpte_cache_map()
97 struct hpte_cache *pte = container_of(head, struct hpte_cache, rcu_head); in free_pte_rcu() local
101 static void invalidate_pte(struct kvm_vcpu *vcpu, struct hpte_cache *pte) in invalidate_pte()
135 struct hpte_cache *pte; in kvmppc_mmu_pte_flush_all() local
154 struct hpte_cache *pte; in kvmppc_mmu_pte_flush_page() local
173 struct hpte_cache *pte; in kvmppc_mmu_pte_flush_long() local
216 struct hpte_cache *pte; in kvmppc_mmu_pte_vflush_short() local
237 struct hpte_cache *pte; in kvmppc_mmu_pte_vflush_64k() local
259 struct hpte_cache *pte; in kvmppc_mmu_pte_vflush_long() local
301 struct hpte_cache *pte; in kvmppc_mmu_pte_pflush() local
[all …]
/kernel/linux/linux-5.10/arch/csky/include/asm/
Dpgtable.h38 #define pte_none(pte) (!(pte_val(pte) & ~_PAGE_GLOBAL)) argument
39 #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) argument
54 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) argument
104 static inline void set_pte(pte_t *p, pte_t pte) in set_pte()
161 static inline int pte_read(pte_t pte) in pte_read()
166 static inline int pte_write(pte_t pte) in pte_write()
171 static inline int pte_dirty(pte_t pte) in pte_dirty()
176 static inline int pte_young(pte_t pte) in pte_young()
181 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect()
187 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean()
[all …]
/kernel/linux/linux-5.10/arch/powerpc/include/asm/book3s/64/
Dpgtable.h357 #define pte_pagesize_index(mm, addr, pte) MMU_PAGE_4K argument
398 static inline int __pte_write(pte_t pte) in __pte_write()
405 static inline bool pte_savedwrite(pte_t pte) in pte_savedwrite()
418 static inline bool pte_savedwrite(pte_t pte) in pte_savedwrite()
424 static inline int pte_write(pte_t pte) in pte_write()
429 static inline int pte_read(pte_t pte) in pte_read()
488 static inline int pte_dirty(pte_t pte) in pte_dirty()
493 static inline int pte_young(pte_t pte) in pte_young()
498 static inline int pte_special(pte_t pte) in pte_special()
503 static inline bool pte_exec(pte_t pte) in pte_exec()
[all …]
/kernel/linux/linux-5.10/arch/arm64/include/asm/
Dpgtable.h72 static inline phys_addr_t __pte_to_phys(pte_t pte) in __pte_to_phys()
82 #define __pte_to_phys(pte) (pte_val(pte) & PTE_ADDR_MASK) argument
86 #define pte_pfn(pte) (__pte_to_phys(pte) >> PAGE_SHIFT) argument
90 #define pte_none(pte) (!pte_val(pte)) argument
92 #define pte_page(pte) (pfn_to_page(pte_pfn(pte))) argument
97 #define pte_present(pte) (!!(pte_val(pte) & (PTE_VALID | PTE_PROT_NONE))) argument
98 #define pte_young(pte) (!!(pte_val(pte) & PTE_AF)) argument
99 #define pte_special(pte) (!!(pte_val(pte) & PTE_SPECIAL)) argument
100 #define pte_write(pte) (!!(pte_val(pte) & PTE_WRITE)) argument
101 #define pte_user_exec(pte) (!(pte_val(pte) & PTE_UXN)) argument
[all …]
/kernel/linux/linux-5.10/arch/xtensa/include/asm/
Dpgtable.h250 # define pte_none(pte) (pte_val(pte) == (_PAGE_CA_INVALID | _PAGE_USER)) argument
252 # define pte_present(pte) ((pte_val(pte) & _PAGE_CA_MASK) != _PAGE_CA_INVALID) argument
254 # define pte_present(pte) \ argument
266 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITABLE; } in pte_write()
267 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty()
268 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young()
270 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect()
272 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean()
274 static inline pte_t pte_mkold(pte_t pte) in pte_mkold()
276 static inline pte_t pte_mkdirty(pte_t pte) in pte_mkdirty()
[all …]
/kernel/linux/linux-5.10/arch/x86/include/asm/
Dpgtable.h65 #define set_pte(ptep, pte) native_set_pte(ptep, pte) argument
67 #define set_pte_atomic(ptep, pte) \ argument
124 static inline int pte_dirty(pte_t pte) in pte_dirty()
158 static inline int pte_young(pte_t pte) in pte_young()
183 static inline int pte_write(pte_t pte) in pte_write()
188 static inline int pte_huge(pte_t pte) in pte_huge()
193 static inline int pte_global(pte_t pte) in pte_global()
198 static inline int pte_exec(pte_t pte) in pte_exec()
203 static inline int pte_special(pte_t pte) in pte_special()
212 static inline unsigned long pte_pfn(pte_t pte) in pte_pfn()
[all …]
/kernel/linux/linux-5.10/arch/powerpc/mm/
Dpgtable.c40 static inline int pte_looks_normal(pte_t pte) in pte_looks_normal()
52 static struct page *maybe_pte_to_page(pte_t pte) in maybe_pte_to_page()
73 static pte_t set_pte_filter_hash(pte_t pte) in set_pte_filter_hash()
94 static pte_t set_pte_filter_hash(pte_t pte) { return pte; } in set_pte_filter_hash()
102 static inline pte_t set_pte_filter(pte_t pte) in set_pte_filter()
133 static pte_t set_access_flags_filter(pte_t pte, struct vm_area_struct *vma, in set_access_flags_filter()
179 pte_t pte) in set_pte_at()
230 pte_t pte, int dirty) in huge_ptep_set_access_flags()
270 void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte) in set_huge_pte_at()
/kernel/linux/linux-5.10/arch/alpha/include/asm/
Dpgtable.h209 #define pte_pfn(pte) (pte_val(pte) >> 32) argument
210 #define pte_page(pte) pfn_to_page(pte_pfn(pte)) argument
221 { pte_t pte; pte_val(pte) = (PHYS_TWIDDLE(physpfn) << 32) | pgprot_val(pgprot); return pte; } in pfn_pte() local
223 extern inline pte_t pte_modify(pte_t pte, pgprot_t newprot) in pte_modify()
247 extern inline int pte_none(pte_t pte) { return !pte_val(pte); } in pte_none()
248 extern inline int pte_present(pte_t pte) { return pte_val(pte) & _PAGE_VALID; } in pte_present()
268 extern inline int pte_write(pte_t pte) { return !(pte_val(pte) & _PAGE_FOW); } in pte_write()
269 extern inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty()
270 extern inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young()
272 extern inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) |= _PAGE_FOW; return pte; } in pte_wrprotect()
[all …]
/kernel/linux/linux-5.10/arch/riscv/include/asm/
Dpgtable.h212 static inline unsigned long pte_pfn(pte_t pte) in pte_pfn()
227 static inline int pte_present(pte_t pte) in pte_present()
232 static inline int pte_none(pte_t pte) in pte_none()
237 static inline int pte_write(pte_t pte) in pte_write()
242 static inline int pte_exec(pte_t pte) in pte_exec()
247 static inline int pte_huge(pte_t pte) in pte_huge()
253 static inline int pte_dirty(pte_t pte) in pte_dirty()
258 static inline int pte_young(pte_t pte) in pte_young()
263 static inline int pte_special(pte_t pte) in pte_special()
270 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect()
[all …]

12345678910>>...17