/kvm-unit-tests/lib/x86/ |
H A D | vm.h | 29 struct pte_search find_pte_level(pgd_t *cr3, void *virt, 31 pteval_t *get_pte(pgd_t *cr3, void *virt); 32 pteval_t *get_pte_level(pgd_t *cr3, void *virt, int pte_level); 35 void *virt, 39 pteval_t *install_large_page(pgd_t *cr3, phys_addr_t phys, void *virt); 40 void install_pages(pgd_t *cr3, phys_addr_t phys, size_t len, void *virt); 41 bool any_present_pages(pgd_t *cr3, void *virt, size_t len); 67 void walk_pte(void *virt, size_t len, pte_callback_t callback);
|
H A D | vm.c | 11 void *virt, in install_pte() argument 20 offset = PGDIR_OFFSET((uintptr_t)virt, level); in install_pte() 35 offset = PGDIR_OFFSET((uintptr_t)virt, level); in install_pte() 44 struct pte_search find_pte_level(pgd_t *cr3, void *virt, in find_pte_level() argument 56 offset = ((uintptr_t)virt >> shift) & PGDIR_MASK; in find_pte_level() 77 pteval_t *get_pte(pgd_t *cr3, void *virt) in get_pte() argument 81 search = find_pte_level(cr3, virt, 1); in get_pte() 90 pteval_t *get_pte_level(pgd_t *cr3, void *virt, int pte_level) in get_pte_level() argument 94 search = find_pte_level(cr3, virt, pte_level); in get_pte_level() 98 pteval_t *install_large_page(pgd_t *cr3, phys_addr_t phys, void *virt) in install_large_page() argument [all …]
|
/kvm-unit-tests/x86/ |
H A D | asyncpf.c | 56 void* virt; variable 80 install_pte(phys_to_virt(read_cr3()), 1, virt, phys | PT_PRESENT_MASK | PT_WRITABLE_MASK, 0); in handle_interrupt() 91 virt = (void*)((ulong)(buf+i) & ~(PAGE_SIZE-1)); in handle_pf() 98 phys = virt_to_pte_phys(phys_to_virt(read_cr3()), virt); in handle_pf() 99 install_pte(phys_to_virt(read_cr3()), 1, virt, phys, 0); in handle_pf()
|
H A D | access.c | 172 void *virt; member 200 typedef void (*walk_fn)(pt_element_t *ptep, int level, unsigned long virt); 203 static unsigned long walk_va(ac_test_t *at, int min_level, unsigned long virt, in walk_va() argument 211 unsigned int index = PT_INDEX(virt, i); in walk_va() 217 callback(ptep, i, virt); in walk_va() 228 static void walk_ptes(ac_test_t *at, unsigned long virt, unsigned long end, in walk_ptes() argument 233 for ( ; virt < end; virt = ALIGN_DOWN(virt + page_size, page_size)) in walk_ptes() 234 page_size = walk_va(at, 1, virt, callback, true); in walk_ptes() 250 static void clear_user_mask(pt_element_t *ptep, int level, unsigned long virt) in clear_user_mask() argument 255 invlpg((void*)virt); in clear_user_mask() [all …]
|
/kvm-unit-tests/lib/ppc64/ |
H A D | mmu.c | 92 pteval_t *install_page(pgd_t *pgtable, phys_addr_t phys, void *virt) in install_page() argument 97 return install_page_prot(pgtable, phys, (uintptr_t)virt, in install_page() 132 phys_addr_t virt_to_pte_phys(pgd_t *pgtable, void *virt) in virt_to_pte_phys() argument 140 pteval = follow_pte(pgtable, (uintptr_t)virt); in virt_to_pte_phys() 142 install_page(pgtable, (phys_addr_t)(unsigned long)virt, virt); in virt_to_pte_phys() 143 return (phys_addr_t)(unsigned long)virt; in virt_to_pte_phys() 152 ((phys_addr_t)(unsigned long)virt & ~mask); in virt_to_pte_phys()
|
/kvm-unit-tests/lib/ |
H A D | vmalloc.h | 25 extern phys_addr_t virt_to_pte_phys(pgd_t *pgtable, void *virt); 27 extern pteval_t *install_page(pgd_t *pgtable, phys_addr_t phys, void *virt);
|
/kvm-unit-tests/lib/arm/ |
H A D | mmu.c | 109 pteval_t *install_page(pgd_t *pgtable, phys_addr_t phys, void *virt) in install_page() argument 111 return install_page_prot(pgtable, phys, (uintptr_t)virt, in install_page() 149 phys_addr_t virt_to_pte_phys(pgd_t *pgtable, void *virt) in virt_to_pte_phys() argument 154 pteval = follow_pte(pgtable, (uintptr_t)virt); in virt_to_pte_phys() 156 install_page(pgtable, (phys_addr_t)(unsigned long)virt, virt); in virt_to_pte_phys() 157 return (phys_addr_t)(unsigned long)virt; in virt_to_pte_phys() 166 ((phys_addr_t)(unsigned long)virt & ~mask); in virt_to_pte_phys()
|
/kvm-unit-tests/lib/x86/asm/ |
H A D | io.h | 49 static inline unsigned long virt_to_phys(const void *virt) in virt_to_phys() argument 51 return (unsigned long)virt; in virt_to_phys()
|
/kvm-unit-tests/lib/riscv/ |
H A D | mmu.c | 76 pteval_t *install_page(pgd_t *pgtable, phys_addr_t phys, void *virt) in install_page() argument 79 uintptr_t vaddr = (uintptr_t)virt & PAGE_MASK; in install_page() 180 phys_addr_t virt_to_pte_phys(pgd_t *pgtable, void *virt) in virt_to_pte_phys() argument 182 uintptr_t vaddr = (uintptr_t)virt; in virt_to_pte_phys() 198 return pteval_to_phys_addr(pte_val(*ptep)) | offset_in_page(virt); in virt_to_pte_phys()
|