1 // Copyright 2016 The Fuchsia Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include <lib/zx/vmo.h>
6 #include <lib/zx/bti.h>
7
8 #include <zircon/syscalls.h>
9
10 namespace zx {
11
create(uint64_t size,uint32_t options,vmo * result)12 zx_status_t vmo::create(uint64_t size, uint32_t options, vmo* result) {
13 return zx_vmo_create(size, options, result->reset_and_get_address());
14 }
15
create_contiguous(const bti & bti,size_t size,uint32_t alignment_log2,vmo * result)16 zx_status_t vmo::create_contiguous(
17 const bti& bti, size_t size, uint32_t alignment_log2, vmo* result) {
18 return zx_vmo_create_contiguous(bti.get(), size, alignment_log2,
19 result->reset_and_get_address());
20 }
21
create_physical(const resource & resource,zx_paddr_t paddr,size_t size,vmo * result)22 zx_status_t vmo::create_physical(
23 const resource& resource, zx_paddr_t paddr, size_t size, vmo* result) {
24 return zx_vmo_create_physical(resource.get(), paddr, size, result->reset_and_get_address());
25 }
26
27 } // namespace zx
28