summaryrefslogtreecommitdiffhomepage
path: root/pkg/ring0/gen_offsets
diff options
context:
space:
mode:
authorAdin Scannell <ascannell@google.com>2021-02-02 12:01:12 -0800
committergVisor bot <gvisor-bot@google.com>2021-02-02 12:03:26 -0800
commitf884ea13b713143ff9978092ddb352c159346167 (patch)
tree8d1e6f11343908824e6003f1ac2b0b159f26de70 /pkg/ring0/gen_offsets
parentd6d169320cd40d0910955debc9b0c91877b53900 (diff)
Move ring0 package.
This allows the package to serve as a general purpose ring0 support package, as opposed to being bound to specific sentry platforms. Updates #5039 PiperOrigin-RevId: 355220044
Diffstat (limited to 'pkg/ring0/gen_offsets')
-rw-r--r--pkg/ring0/gen_offsets/BUILD40
-rw-r--r--pkg/ring0/gen_offsets/main.go24
2 files changed, 64 insertions, 0 deletions
diff --git a/pkg/ring0/gen_offsets/BUILD b/pkg/ring0/gen_offsets/BUILD
new file mode 100644
index 000000000..15b93d61c
--- /dev/null
+++ b/pkg/ring0/gen_offsets/BUILD
@@ -0,0 +1,40 @@
+load("//tools:defs.bzl", "go_binary")
+load("//tools/go_generics:defs.bzl", "go_template_instance")
+
+package(licenses = ["notice"])
+
+go_template_instance(
+ name = "defs_impl_arm64",
+ out = "defs_impl_arm64.go",
+ package = "main",
+ template = "//pkg/ring0:defs_arm64",
+)
+
+go_template_instance(
+ name = "defs_impl_amd64",
+ out = "defs_impl_amd64.go",
+ package = "main",
+ template = "//pkg/ring0:defs_amd64",
+)
+
+go_binary(
+ name = "gen_offsets",
+ srcs = [
+ "defs_impl_amd64.go",
+ "defs_impl_arm64.go",
+ "main.go",
+ ],
+ # Use the libc malloc to avoid any extra dependencies. This is required to
+ # pass the sentry deps test.
+ system_malloc = True,
+ visibility = [
+ "//pkg/ring0:__pkg__",
+ "//pkg/sentry/platform/kvm:__pkg__",
+ ],
+ deps = [
+ "//pkg/cpuid",
+ "//pkg/ring0/pagetables",
+ "//pkg/sentry/arch",
+ "//pkg/usermem",
+ ],
+)
diff --git a/pkg/ring0/gen_offsets/main.go b/pkg/ring0/gen_offsets/main.go
new file mode 100644
index 000000000..a4927da2f
--- /dev/null
+++ b/pkg/ring0/gen_offsets/main.go
@@ -0,0 +1,24 @@
+// Copyright 2018 The gVisor Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Binary gen_offsets is a helper for generating offset headers.
+package main
+
+import (
+ "os"
+)
+
+func main() {
+ Emit(os.Stdout)
+}