blob: 2afe05159d67540e27476f5945df2e2915d841c2 [file] [log] [blame]
# Copyright 2019 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT
# TODO(fxbug.dev/54160) Keep in sync with BUILD.gn
zx_library("vm") {
kernel = true
sources = [
"bootalloc.cc",
"bootreserve.cc",
"kstack.cc",
"page.cc",
"page_queues.cc",
"page_source.cc",
"physmap.cc",
"pinned_vm_object.cc",
"pmm.cc",
"pmm_arena.cc",
"pmm_checker.cc",
"pmm_node.cc",
"scanner.cc",
"vm.cc",
"vm_address_region.cc",
"vm_address_region_or_mapping.cc",
"vm_aspace.cc",
"vm_cow_pages.cc",
"vm_mapping.cc",
"vm_object.cc",
"vm_object_paged.cc",
"vm_object_physical.cc",
"vm_page_list.cc",
"vmm.cc",
]
deps = [
"$zx/kernel/lib/cmdline",
"$zx/kernel/lib/console",
"$zx/kernel/lib/counters",
"$zx/kernel/lib/fbl",
"$zx/kernel/lib/init",
"$zx/kernel/lib/ktl",
"$zx/kernel/lib/ktrace",
"$zx/kernel/lib/user_copy",
"$zx/kernel/lib/userabi",
"$zx/system/ulib/pretty",
# TODO: testonly
":tests",
]
public_deps = [
# <vm/vm_page_list.h> has #include <ktl/unique_ptr.h>.
"$zx/kernel/lib/ktl:headers",
# <vm/vm_object.h> has #include <fbl/name.h>.
"$zx/kernel/lib/fbl:headers",
# <vm/vm_object.h> has #include <lib/user_copy/user_ptr.h>.
"$zx/kernel/lib/user_copy:headers",
# <vm/vm_aspace.h> has #include <lib/crypto/prng.h>
"$zx/kernel/lib/crypto:headers",
]
}
source_set("tests") {
sources = [
"unittests/aspace_unittest.cc",
"unittests/pmm_unittest.cc",
"unittests/test_helper.cc",
"unittests/vmo_unittest.cc",
"unittests/vmpl_unittest.cc",
]
deps = [ "$zx/kernel/lib/unittest" ]
}