blob: 19d200fac7ccfb200f25ff1a6522d16e20414952 [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
import("//build/zircon/migrated_targets.gni")
zx_library("vm") {
kernel = true
sources = [
"bootalloc.cc",
"bootreserve.cc",
"kstack.cc",
"page.cc",
"page_queues.cc",
"page_source.cc",
"page_state.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 = [
"//zircon/kernel/lib/boot-options",
"//zircon/kernel/lib/cmdline",
"//zircon/kernel/lib/console",
"//zircon/kernel/lib/counters",
"//zircon/kernel/lib/fbl",
"//zircon/kernel/lib/init",
"//zircon/kernel/lib/ktl",
"//zircon/kernel/lib/ktrace",
"//zircon/kernel/lib/user_copy",
"//zircon/kernel/lib/userabi",
"//zircon/system/ulib/pretty",
# TODO: testonly
":tests",
]
public_deps = [
# <vm/vm_page_list.h> has #include <ktl/unique_ptr.h>.
"//zircon/kernel/lib/ktl:headers",
# <vm/vm_object.h> has #include <fbl/name.h>.
"//zircon/kernel/lib/fbl:headers",
# <vm/vm_object.h> has #include <lib/user_copy/user_ptr.h>.
"//zircon/kernel/lib/user_copy:headers",
# <vm/vm_aspace.h> has #include <lib/crypto/prng.h>
"//zircon/kernel/lib/crypto:headers",
# "pmm_arena.h" has #include <lib/zx/status.h>.
"//zircon/system/ulib/zxc: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 = [ "//zircon/kernel/lib/unittest" ]
}