Lines Matching refs:addr
64 uintptr_t addr = (uintptr_t)start; in fuchsia_pages_map() local
65 if (addr < pages_base) in fuchsia_pages_map()
67 offset = addr - pages_base; in fuchsia_pages_map()
96 static zx_status_t fuchsia_pages_free(void* addr, size_t size) { in fuchsia_pages_free() argument
97 uintptr_t ptr = (uintptr_t)addr; in fuchsia_pages_free()
101 static void* fuchsia_pages_trim(void* ret, void* addr, size_t size, in fuchsia_pages_trim() argument
106 pages_unmap(addr, leadsize); in fuchsia_pages_trim()
115 pages_map(void *addr, size_t size, bool *commit) in pages_map() argument
129 ret = VirtualAlloc(addr, size, MEM_RESERVE | (*commit ? MEM_COMMIT : 0), in pages_map()
132 ret = fuchsia_pages_map(addr, size); in pages_map()
141 ret = mmap(addr, size, prot, mmap_flags, -1, 0); in pages_map()
147 else if (addr != NULL && ret != addr) { in pages_map()
155 assert(ret == NULL || (addr == NULL && ret != addr) in pages_map()
156 || (addr != NULL && ret == addr)); in pages_map()
161 pages_unmap(void *addr, size_t size) in pages_unmap() argument
164 if (VirtualFree(addr, 0, MEM_RELEASE) == 0) in pages_unmap()
166 zx_status_t status = fuchsia_pages_free(addr, size); in pages_unmap()
169 if (munmap(addr, size) == -1) in pages_unmap()
194 pages_trim(void *addr, size_t alloc_size, size_t leadsize, size_t size, in pages_trim() argument
197 void *ret = (void *)((uintptr_t)addr + leadsize); in pages_trim()
204 pages_unmap(addr, alloc_size); in pages_trim()
213 return fuchsia_pages_trim(ret, addr, size, alloc_size, leadsize); in pages_trim()
219 pages_unmap(addr, leadsize); in pages_trim()
228 pages_commit_impl(void *addr, size_t size, bool commit) in pages_commit_impl() argument
234 return (commit ? (addr != VirtualAlloc(addr, size, MEM_COMMIT, in pages_commit_impl()
235 PAGE_READWRITE)) : (!VirtualFree(addr, size, MEM_DECOMMIT))); in pages_commit_impl()
241 void *result = mmap(addr, size, prot, mmap_flags | MAP_FIXED, in pages_commit_impl()
245 if (result != addr) { in pages_commit_impl()
259 pages_commit(void *addr, size_t size) in pages_commit() argument
261 return (pages_commit_impl(addr, size, true)); in pages_commit()
265 pages_decommit(void *addr, size_t size) in pages_decommit() argument
267 return (pages_commit_impl(addr, size, false)); in pages_decommit()
271 pages_purge_lazy(void *addr, size_t size) in pages_purge_lazy() argument
277 VirtualAlloc(addr, size, MEM_RESET, PAGE_READWRITE); in pages_purge_lazy()
279 madvise(addr, size, MADV_FREE); in pages_purge_lazy()
287 pages_purge_forced(void *addr, size_t size) in pages_purge_forced() argument
293 return (madvise(addr, size, MADV_DONTNEED) != 0); in pages_purge_forced()
300 pages_huge(void *addr, size_t size) in pages_huge() argument
302 assert(HUGEPAGE_ADDR2BASE(addr) == addr); in pages_huge()
306 return (madvise(addr, size, MADV_HUGEPAGE) != 0); in pages_huge()
313 pages_nohuge(void *addr, size_t size) in pages_nohuge() argument
315 assert(HUGEPAGE_ADDR2BASE(addr) == addr); in pages_nohuge()
319 return (madvise(addr, size, MADV_NOHUGEPAGE) != 0); in pages_nohuge()