diff options
author | Adin Scannell <ascannell@google.com> | 2021-02-02 12:01:12 -0800 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-02-02 12:03:26 -0800 |
commit | f884ea13b713143ff9978092ddb352c159346167 (patch) | |
tree | 8d1e6f11343908824e6003f1ac2b0b159f26de70 /pkg/ring0/gen_offsets | |
parent | d6d169320cd40d0910955debc9b0c91877b53900 (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/BUILD | 40 | ||||
-rw-r--r-- | pkg/ring0/gen_offsets/main.go | 24 |
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) +} |