summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/memmap/BUILD
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/sentry/memmap/BUILD')
-rw-r--r--pkg/sentry/memmap/BUILD71
1 files changed, 71 insertions, 0 deletions
diff --git a/pkg/sentry/memmap/BUILD b/pkg/sentry/memmap/BUILD
new file mode 100644
index 000000000..7525fea45
--- /dev/null
+++ b/pkg/sentry/memmap/BUILD
@@ -0,0 +1,71 @@
+package(licenses = ["notice"]) # Apache 2.0
+
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+load("//tools/go_generics:defs.bzl", "go_template_instance")
+load("//tools/go_stateify:defs.bzl", "go_stateify")
+
+go_stateify(
+ name = "memmap_state",
+ srcs = [
+ "mappable_range.go",
+ "mapping_set.go",
+ "mapping_set_impl.go",
+ ],
+ out = "memmap_state.go",
+ package = "memmap",
+)
+
+go_template_instance(
+ name = "mappable_range",
+ out = "mappable_range.go",
+ package = "memmap",
+ prefix = "Mappable",
+ template = "//pkg/segment:generic_range",
+ types = {
+ "T": "uint64",
+ },
+)
+
+go_template_instance(
+ name = "mapping_set_impl",
+ out = "mapping_set_impl.go",
+ package = "memmap",
+ prefix = "Mapping",
+ template = "//pkg/segment:generic_set",
+ types = {
+ "Key": "uint64",
+ "Range": "MappableRange",
+ "Value": "MappingsOfRange",
+ "Functions": "mappingSetFunctions",
+ },
+)
+
+go_library(
+ name = "memmap",
+ srcs = [
+ "mappable_range.go",
+ "mapping_set.go",
+ "mapping_set_impl.go",
+ "memmap.go",
+ "memmap_state.go",
+ ],
+ importpath = "gvisor.googlesource.com/gvisor/pkg/sentry/memmap",
+ visibility = ["//pkg/sentry:internal"],
+ deps = [
+ "//pkg/log",
+ "//pkg/refs",
+ "//pkg/sentry/context",
+ "//pkg/sentry/platform",
+ "//pkg/sentry/usermem",
+ "//pkg/state",
+ "//pkg/syserror",
+ ],
+)
+
+go_test(
+ name = "memmap_test",
+ size = "small",
+ srcs = ["mapping_set_test.go"],
+ embed = [":memmap"],
+ deps = ["//pkg/sentry/usermem"],
+)