Lines Matching full:ps

11 static struct pa_block *pa_space_find_block(struct pa_space *ps, uint64_t pa)  in pa_space_find_block()  argument
15 for (i = 0; i < ps->block_nr; i++) { in pa_space_find_block()
16 if (ps->block[i].paddr <= pa && in pa_space_find_block()
17 pa < ps->block[i].paddr + ps->block[i].size) { in pa_space_find_block()
18 return ps->block + i; in pa_space_find_block()
25 static void *pa_space_resolve(struct pa_space *ps, uint64_t pa) in pa_space_resolve() argument
27 struct pa_block *block = pa_space_find_block(ps, pa); in pa_space_resolve()
36 static bool pa_space_read64(struct pa_space *ps, uint64_t pa, uint64_t *value) in pa_space_read64() argument
38 uint64_t *resolved = pa_space_resolve(ps, pa); in pa_space_read64()
73 void pa_space_create(struct pa_space *ps, QEMU_Elf *qemu_elf) in pa_space_create() argument
80 ps->block_nr = 0; in pa_space_create()
84 ps->block_nr++; in pa_space_create()
88 ps->block = g_new(struct pa_block, ps->block_nr); in pa_space_create()
92 ps->block[block_i] = (struct pa_block) { in pa_space_create()
98 pa_block_align(&ps->block[block_i]); in pa_space_create()
99 block_i = ps->block[block_i].size ? (block_i + 1) : block_i; in pa_space_create()
103 ps->block_nr = block_i; in pa_space_create()
106 void pa_space_destroy(struct pa_space *ps) in pa_space_destroy() argument
108 ps->block_nr = 0; in pa_space_destroy()
109 g_free(ps->block); in pa_space_destroy()
117 void va_space_create(struct va_space *vs, struct pa_space *ps, uint64_t dtb) in va_space_create() argument
119 vs->ps = ps; in va_space_create()
127 return pa_space_read64(vs->ps, pa, value); in get_pml4e()
136 return pa_space_read64(vs->ps, pdpte_paddr, value); in get_pdpi()
154 return pa_space_read64(vs->ps, pgd_entry, value); in get_pgd()
172 return pa_space_read64(vs->ps, pgd_val, value); in get_pte()
239 return pa_space_resolve(vs->ps, pa); in va_space_resolve()