From 1d11af21c2474bf64e1c882c252345bb51deb15b Mon Sep 17 00:00:00 2001 From: Achilleas Anagnostopoulos Date: Sat, 17 Jun 2017 06:55:52 +0100 Subject: [PATCH] Move bootmem allocator in a sub-pkg --- .../bootmem.go} | 15 ++++++++------- .../bootmem_test.go} | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) rename kernel/mem/pmm/{bootmem_allocator.go => allocator/bootmem.go} (88%) rename kernel/mem/pmm/{bootmem_allocator_test.go => allocator/bootmem_test.go} (99%) diff --git a/kernel/mem/pmm/bootmem_allocator.go b/kernel/mem/pmm/allocator/bootmem.go similarity index 88% rename from kernel/mem/pmm/bootmem_allocator.go rename to kernel/mem/pmm/allocator/bootmem.go index fe3af20..e3880cb 100644 --- a/kernel/mem/pmm/bootmem_allocator.go +++ b/kernel/mem/pmm/allocator/bootmem.go @@ -1,10 +1,11 @@ -package pmm +package allocator import ( "github.com/achilleasa/gopher-os/kernel" "github.com/achilleasa/gopher-os/kernel/hal/multiboot" "github.com/achilleasa/gopher-os/kernel/kfmt/early" "github.com/achilleasa/gopher-os/kernel/mem" + "github.com/achilleasa/gopher-os/kernel/mem/pmm" ) var ( @@ -13,8 +14,8 @@ var ( // advanced memory allocator. EarlyAllocator BootMemAllocator - errBootAllocUnsupportedPageSize = &kernel.Error{Module: "pmm.BootMemAllocator", Message: "allocator only support allocation requests of order(0)"} - errBootAllocOutOfMemory = &kernel.Error{Module: "pmm.BootMemAllocator", Message: "out of memory"} + errBootAllocUnsupportedPageSize = &kernel.Error{Module: "boot_mem_alloc", Message: "allocator only support allocation requests of order(0)"} + errBootAllocOutOfMemory = &kernel.Error{Module: "boot_mem_alloc", Message: "out of memory"} ) // BootMemAllocator implements a rudimentary physical memory allocator which is used @@ -64,9 +65,9 @@ func (alloc *BootMemAllocator) Init() { // // AllocFrame returns an error if no more memory can be allocated or when the // requested page order is > 0. -func (alloc *BootMemAllocator) AllocFrame(order mem.PageOrder) (Frame, *kernel.Error) { +func (alloc *BootMemAllocator) AllocFrame(order mem.PageOrder) (pmm.Frame, *kernel.Error) { if order > 0 { - return InvalidFrame, errBootAllocUnsupportedPageSize + return pmm.InvalidFrame, errBootAllocUnsupportedPageSize } var ( @@ -102,11 +103,11 @@ func (alloc *BootMemAllocator) AllocFrame(order mem.PageOrder) (Frame, *kernel.E }) if foundPageIndex == -1 { - return InvalidFrame, errBootAllocOutOfMemory + return pmm.InvalidFrame, errBootAllocOutOfMemory } alloc.allocCount++ alloc.lastAllocIndex = foundPageIndex - return Frame(foundPageIndex), nil + return pmm.Frame(foundPageIndex), nil } diff --git a/kernel/mem/pmm/bootmem_allocator_test.go b/kernel/mem/pmm/allocator/bootmem_test.go similarity index 99% rename from kernel/mem/pmm/bootmem_allocator_test.go rename to kernel/mem/pmm/allocator/bootmem_test.go index a7319d7..df531da 100644 --- a/kernel/mem/pmm/bootmem_allocator_test.go +++ b/kernel/mem/pmm/allocator/bootmem_test.go @@ -1,4 +1,4 @@ -package pmm +package allocator import ( "testing"