diff options
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) +} |