From d8793bd53041f7ed779effe966eca41fa26215b7 Mon Sep 17 00:00:00 2001 From: Achilleas Anagnostopoulos Date: Thu, 6 Jul 2017 06:56:22 +0100 Subject: [PATCH] Move kernel panic implementation to the kfmt package --- src/gopheros/kernel/{ => kfmt}/panic.go | 9 +++++---- src/gopheros/kernel/{ => kfmt}/panic_test.go | 5 +++-- 2 files changed, 8 insertions(+), 6 deletions(-) rename src/gopheros/kernel/{ => kfmt}/panic.go (87%) rename src/gopheros/kernel/{ => kfmt}/panic_test.go (96%) diff --git a/src/gopheros/kernel/panic.go b/src/gopheros/kernel/kfmt/panic.go similarity index 87% rename from src/gopheros/kernel/panic.go rename to src/gopheros/kernel/kfmt/panic.go index a326266..5ff9cb5 100644 --- a/src/gopheros/kernel/panic.go +++ b/src/gopheros/kernel/kfmt/panic.go @@ -1,6 +1,7 @@ -package kernel +package kfmt import ( + "gopheros/kernel" "gopheros/kernel/cpu" "gopheros/kernel/kfmt/early" ) @@ -9,7 +10,7 @@ var ( // cpuHaltFn is mocked by tests and is automatically inlined by the compiler. cpuHaltFn = cpu.Halt - errRuntimePanic = &Error{Module: "rt", Message: "unknown cause"} + errRuntimePanic = &kernel.Error{Module: "rt", Message: "unknown cause"} ) // Panic outputs the supplied error (if not nil) to the console and halts the @@ -17,10 +18,10 @@ var ( // for calls to panic() (resolved via runtime.gopanic) //go:redirect-from runtime.gopanic func Panic(e interface{}) { - var err *Error + var err *kernel.Error switch t := e.(type) { - case *Error: + case *kernel.Error: err = t case string: panicString(t) diff --git a/src/gopheros/kernel/panic_test.go b/src/gopheros/kernel/kfmt/panic_test.go similarity index 96% rename from src/gopheros/kernel/panic_test.go rename to src/gopheros/kernel/kfmt/panic_test.go index 68bfad8..e8ceacf 100644 --- a/src/gopheros/kernel/panic_test.go +++ b/src/gopheros/kernel/kfmt/panic_test.go @@ -1,8 +1,9 @@ -package kernel +package kfmt import ( "bytes" "errors" + "gopheros/kernel" "gopheros/kernel/cpu" "gopheros/kernel/driver/video/console" "gopheros/kernel/hal" @@ -23,7 +24,7 @@ func TestPanic(t *testing.T) { t.Run("with *kernel.Error", func(t *testing.T) { cpuHaltCalled = false fb := mockTTY() - err := &Error{Module: "test", Message: "panic test"} + err := &kernel.Error{Module: "test", Message: "panic test"} Panic(err)