summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/platform/ring0
diff options
context:
space:
mode:
authorAdin Scannell <ascannell@google.com>2018-06-11 18:16:13 -0700
committerShentubot <shentubot@google.com>2018-06-11 18:17:15 -0700
commit41f766893ab804cd2d3ccfd782d97c022e987f79 (patch)
treee6405de1ff6561dad78e8155c100e5f8fc21aeed /pkg/sentry/platform/ring0
parent1397a413b49d6036f2586e85c8074aa3d4d6c6fa (diff)
Minor ring0 interface cleanup.
- Remove unused methods. - Provide declaration for asm function. PiperOrigin-RevId: 200146850 Change-Id: Ic455c96ffe0d2e78ef15f824eb65d7de705b054a
Diffstat (limited to 'pkg/sentry/platform/ring0')
-rw-r--r--pkg/sentry/platform/ring0/kernel.go23
-rw-r--r--pkg/sentry/platform/ring0/lib_amd64.go3
2 files changed, 7 insertions, 19 deletions
diff --git a/pkg/sentry/platform/ring0/kernel.go b/pkg/sentry/platform/ring0/kernel.go
index b0471ab9a..62e67005e 100644
--- a/pkg/sentry/platform/ring0/kernel.go
+++ b/pkg/sentry/platform/ring0/kernel.go
@@ -14,27 +14,13 @@
package ring0
-// New creates a new kernel.
+// Init initializes a new kernel.
//
// N.B. that constraints on KernelOpts must be satisfied.
//
-// Init must have been called.
-func New(opts KernelOpts) *Kernel {
- k := new(Kernel)
+//go:nosplit
+func (k *Kernel) Init(opts KernelOpts) {
k.init(opts)
- return k
-}
-
-// NewCPU creates a new CPU associated with this Kernel.
-//
-// Note that execution of the new CPU must begin at Start, with constraints as
-// documented. Initialization is not completed by this method alone.
-//
-// See also Init.
-func (k *Kernel) NewCPU() *CPU {
- c := new(CPU)
- c.Init(k)
- return c
}
// Halt halts execution.
@@ -56,8 +42,7 @@ func defaultSyscall() { Halt() }
//go:nosplit
func defaultException(Vector) { Halt() }
-// Init allows the initialization of a CPU from a kernel without allocation.
-// The same constraints as NewCPU apply.
+// Init initializes a new CPU.
//
// Init allows embedding in other objects.
func (c *CPU) Init(k *Kernel) {
diff --git a/pkg/sentry/platform/ring0/lib_amd64.go b/pkg/sentry/platform/ring0/lib_amd64.go
index de2842b5a..989e3e383 100644
--- a/pkg/sentry/platform/ring0/lib_amd64.go
+++ b/pkg/sentry/platform/ring0/lib_amd64.go
@@ -64,6 +64,9 @@ func wrgsmsr(addr uintptr)
// writeCR3 writes the CR3 value.
func writeCR3(phys uintptr)
+// readCR3 reads the current CR3 value.
+func readCR3() uintptr
+
// readCR2 reads the current CR2 value.
func readCR2() uintptr