/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _CRIS_PGALLOC_H #define _CRIS_PGALLOC_H #include <linux/threads.h> #include <linux/mm.h> #define pmd_populate_kernel(mm, pmd, pte) pmd_set(pmd, pte) #define pmd_populate(mm, pmd, pte) pmd_set(pmd, page_address(pte)) #define pmd_pgtable(pmd) pmd_page(pmd) /* * Allocate and free page tables. */ static inline pgd_t *pgd_alloc (struct mm_struct *mm) { return (pgd_t *)get_zeroed_page(GFP_KERNEL); } static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) { free_page((unsigned long)pgd); } static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address) { pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO); return pte; } static inline pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long address) { struct page *pte; pte = alloc_pages(GFP_KERNEL|__GFP_ZERO, 0); if (!pte) return NULL; if (!pgtable_page_ctor(pte)) { __free_page(pte); return NULL; } return pte; } static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) { free_page((unsigned long)pte); } static inline void pte_free(struct mm_struct *mm, pgtable_t pte) { pgtable_page_dtor(pte); __free_page(pte); } #define __pte_free_tlb(tlb,pte,address) \ do { \ pgtable_page_dtor(pte); \ tlb_remove_page((tlb), pte); \ } while (0) #define check_pgt_cache() do { } while (0) #endif
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Kbuild | File | 729 B | 0644 |
|
asm-offsets.h | File | 35 B | 0644 |
|
axisflashmap.h | File | 1.92 KB | 0644 |
|
bitops.h | File | 1.27 KB | 0644 |
|
bug.h | File | 108 B | 0644 |
|
bugs.h | File | 300 B | 0644 |
|
cache.h | File | 133 B | 0644 |
|
cacheflush.h | File | 1.3 KB | 0644 |
|
checksum.h | File | 2.01 KB | 0644 |
|
delay.h | File | 537 B | 0644 |
|
dma-mapping.h | File | 399 B | 0644 |
|
dma.h | File | 458 B | 0644 |
|
eshlibld.h | File | 3.49 KB | 0644 |
|
etraxi2c.h | File | 1019 B | 0644 |
|
fasttimer.h | File | 1.12 KB | 0644 |
|
fb.h | File | 244 B | 0644 |
|
ftrace.h | File | 12 B | 0644 |
|
hw_irq.h | File | 53 B | 0644 |
|
io.h | File | 732 B | 0644 |
|
irq.h | File | 194 B | 0644 |
|
irqflags.h | File | 27 B | 0644 |
|
mmu.h | File | 155 B | 0644 |
|
mmu_context.h | File | 927 B | 0644 |
|
page.h | File | 2.52 KB | 0644 |
|
pci.h | File | 1.05 KB | 0644 |
|
pgalloc.h | File | 1.36 KB | 0644 |
|
pgtable.h | File | 9.58 KB | 0644 |
|
processor.h | File | 1.82 KB | 0644 |
|
ptrace.h | File | 393 B | 0644 |
|
segment.h | File | 148 B | 0644 |
|
serial.h | File | 211 B | 0644 |
|
shmparam.h | File | 232 B | 0644 |
|
signal.h | File | 505 B | 0644 |
|
stacktrace.h | File | 213 B | 0644 |
|
string.h | File | 508 B | 0644 |
|
swab.h | File | 159 B | 0644 |
|
switch_to.h | File | 449 B | 0644 |
|
termios.h | File | 1.71 KB | 0644 |
|
thread_info.h | File | 2.47 KB | 0644 |
|
timex.h | File | 433 B | 0644 |
|
tlb.h | File | 453 B | 0644 |
|
tlbflush.h | File | 1.09 KB | 0644 |
|
uaccess.h | File | 9.59 KB | 0644 |
|
ucontext.h | File | 322 B | 0644 |
|
unaligned.h | File | 345 B | 0644 |
|
unistd.h | File | 972 B | 0644 |
|
user.h | File | 2.14 KB | 0644 |
|