Home
last modified time | relevance | path

Searched refs:pmd (Results 1 – 11 of 11) sorted by relevance

/kvm-unit-tests/lib/arm/asm/
H A Dpgtable.h31 #define pmd_none(pmd) (!pmd_val(pmd)) argument
35 #define pmd_valid(pmd) (pmd_val(pmd) & PMD_SECT_VALID) argument
38 #define pmd_huge(pmd) \ argument
39 ((pmd_val(pmd) & PMD_TYPE_MASK) == PMD_TYPE_SECT)
69 #define pmd_free(pmd) free_page(pmd) argument
73 pmd_t *pmd = alloc_page(); in pmd_alloc_one() local
74 return pmd; in pmd_alloc_one()
86 static inline pte_t *pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument
88 return pgtable_va(pmd_val(pmd) & PHYS_MASK & (s32)PAGE_MASK); in pmd_page_vaddr()
93 #define pte_offset(pmd, addr) \ argument
[all …]
H A Dpage.h23 typedef struct { pmdval_t pmd; } pmd_t; member
28 #define pmd_val(x) ((x).pmd)
/kvm-unit-tests/lib/s390x/
H A Dmmu.c69 pmd_t *pmd; in get_pmd() local
72 pmd = pmd_alloc(pud, vaddr); in get_pmd()
73 return pmd; in get_pmd()
81 static inline pte_t *get_pte(pmd_t *pmd, uintptr_t vaddr) in get_pte() argument
85 assert(!pmd_large(*pmd)); in get_pte()
86 pte = pte_alloc(pmd, vaddr); in get_pte()
96 static void split_pmd(pmd_t *pmd, uintptr_t va) in split_pmd() argument
98 phys_addr_t pa = pmd_val(*pmd) & SEGMENT_ENTRY_SFAA; in split_pmd()
102 assert(pmd_large(*pmd)); in split_pmd()
104 prot = pmd_val(*pmd) & (SEGMENT_ENTRY_IEP | SEGMENT_ENTRY_P); in split_pmd()
[all …]
/kvm-unit-tests/lib/arm64/asm/
H A Dpgtable.h34 #define pmd_none(pmd) (!pmd_val(pmd)) argument
39 #define pmd_valid(pmd) (pmd_val(pmd) & PMD_SECT_VALID) argument
42 #define pmd_huge(pmd) \ argument
43 ((pmd_val(pmd) & PMD_TYPE_MASK) == PMD_TYPE_SECT)
67 static inline pte_t *pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument
69 return pgtable_va(pmd_val(pmd) & PHYS_MASK & (s32)PAGE_MASK); in pmd_page_vaddr()
77 #define pmd_free(pmd) free_page(pmd) argument
81 pmd_t *pmd = alloc_page(); in pmd_alloc_one() local
82 return pmd; in pmd_alloc_one()
95 #define pmd_free(pmd) argument
[all …]
H A Dpage.h49 typedef struct { pmdval_t pmd; } pmd_t; member
55 #define pmd_val(x) ((x).pmd)
/kvm-unit-tests/lib/ppc64/asm/
H A Dpgtable.h28 #define pmd_none(pmd) (!pmd_val(pmd)) argument
33 #define pmd_valid(pmd) (pmd_val(pmd) & cpu_to_be64(_PAGE_VALID)) argument
36 #define pmd_huge(pmd) false argument
48 static inline pte_t *pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument
50 return pgtable_va(be64_to_cpu(pmd_val(pmd)) & PHYS_MASK & ~0xfffULL); in pmd_page_vaddr()
60 #define pte_offset(pmd, addr) (pmd_page_vaddr(*(pmd)) + pte_index(addr)) argument
89 #define pmd_free(pmd) free(pmd) argument
93 pmd_t *pmd = memalign_pages(sz, sz); in pmd_alloc_one() local
94 memset(pmd, 0, sz); in pmd_alloc_one()
95 return pmd; in pmd_alloc_one()
[all …]
H A Dpage.h36 typedef struct { pmdval_t pmd; } pmd_t; member
42 #define pmd_val(x) ((x).pmd)
/kvm-unit-tests/lib/s390x/asm/
H A Dpgtable.h122 #define pte_offset(pmd, addr) ((pte_t *)pmd_addr(*(pmd)) + pte_index(addr)) argument
176 pmd_t *pmd = alloc_pages(SEGMENT_TABLE_ORDER); in pmd_alloc_one() local
180 pmd_val(pmd[i]) = SEGMENT_ENTRY_TT_SEGMENT | SEGMENT_ENTRY_I; in pmd_alloc_one()
181 return pmd; in pmd_alloc_one()
187 pmd_t *pmd = pmd_alloc_one(); in pmd_alloc() local
188 pud_val(*pud) = __pa(pmd) | REGION_ENTRY_TT_REGION3 | in pmd_alloc()
204 static inline pte_t *pte_alloc(pmd_t *pmd, unsigned long addr) in pte_alloc() argument
206 if (pmd_none(*pmd)) { in pte_alloc()
208 pmd_val(*pmd) = __pa(pte) | SEGMENT_ENTRY_TT_SEGMENT; in pte_alloc()
210 return pte_offset(pmd, addr); in pte_alloc()
H A Dpage.h23 typedef struct { pmdval_t pmd; } pmd_t; member
29 #define pmd_val(x) ((x).pmd)
/kvm-unit-tests/lib/arm/
H A Dmmu.c85 pmd_t *pmd = pmd_alloc(pud, vaddr); in get_pte() local
86 pte_t *pte = pte_alloc(pmd, vaddr); in get_pte()
125 pmd_t *pmd; in follow_pte() local
136 pmd = pmd_offset(pud, vaddr); in follow_pte()
137 if (!pmd_valid(*pmd)) in follow_pte()
139 if (pmd_huge(*pmd)) in follow_pte()
140 return &pmd_val(*pmd); in follow_pte()
142 pte = pte_offset(pmd, vaddr); in follow_pte()
190 pmd_t *pmd; in mmu_set_range_sect() local
199 pmd = pmd_alloc(pud, vaddr); in mmu_set_range_sect()
[all …]
/kvm-unit-tests/lib/ppc64/
H A Dmmu.c63 pmd_t *pmd = pmd_alloc(pud, vaddr); in get_pte() local
64 pte_t *pte = pte_alloc(pmd, vaddr); in get_pte()
108 pmd_t *pmd; in follow_pte() local
119 pmd = pmd_offset(pud, vaddr); in follow_pte()
120 if (!pmd_valid(*pmd)) in follow_pte()
122 if (pmd_huge(*pmd)) in follow_pte()
123 return &pmd_val(*pmd); in follow_pte()
125 pte = pte_offset(pmd, vaddr); in follow_pte()