diff options
author | Haibo Xu <haibo.xu@arm.com> | 2018-11-27 12:45:04 -0800 |
---|---|---|
committer | Shentubot <shentubot@google.com> | 2018-11-27 12:46:39 -0800 |
commit | 9e0f13237793897c805f75af163006049b37e784 (patch) | |
tree | 1447e0956804582ef5d9fd0284281ce783011164 /pkg/sentry/platform/procid | |
parent | 071aeea9d3ff783b2946ef291b1c440aa9b21b88 (diff) |
Add procid support for arm64 platform
Change-Id: I7c3db8dfdf95a125d7384c1d67c3300dbb99a47e
PiperOrigin-RevId: 223039923
Diffstat (limited to 'pkg/sentry/platform/procid')
-rw-r--r-- | pkg/sentry/platform/procid/BUILD | 1 | ||||
-rw-r--r-- | pkg/sentry/platform/procid/procid_arm64.s | 29 |
2 files changed, 30 insertions, 0 deletions
diff --git a/pkg/sentry/platform/procid/BUILD b/pkg/sentry/platform/procid/BUILD index d3398d1e8..20c8bc02c 100644 --- a/pkg/sentry/platform/procid/BUILD +++ b/pkg/sentry/platform/procid/BUILD @@ -7,6 +7,7 @@ go_library( srcs = [ "procid.go", "procid_amd64.s", + "procid_arm64.s", ], importpath = "gvisor.googlesource.com/gvisor/pkg/sentry/platform/procid", visibility = ["//pkg/sentry:internal"], diff --git a/pkg/sentry/platform/procid/procid_arm64.s b/pkg/sentry/platform/procid/procid_arm64.s new file mode 100644 index 000000000..be65d0db0 --- /dev/null +++ b/pkg/sentry/platform/procid/procid_arm64.s @@ -0,0 +1,29 @@ +// Copyright 2018 Google LLC +// +// 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. + +// +build arm64 +// +build go1.8 +// +build !go1.12 + +#include "textflag.h" + +TEXT ·Current(SB),NOSPLIT,$0-8 + // The offset specified here is the m_procid offset for Go1.8+. + // Changes to this offset should be caught by the tests, and major + // version changes require an explicit tag change above. + MOVD g, R0 // g + MOVD 48(R0), R0 // g_m (may change in future versions) + MOVD 72(R0), R0 // m_procid (may change in future versions) + MOVD R0, ret+0(FP) + RET |