1
0
mirror of https://github.com/taigrr/gopher-os synced 2025-01-18 04:43:13 -08:00

7 Commits

Author SHA1 Message Date
Achilleas Anagnostopoulos
e67e2644e2 mm: refactor package layout for the memory management code
Summary of changes:
- kernel/mem renamed to kernel/mm
- consolidated page/frame defs into one file which now lives in the
kernel/mm package and is referenced by both pmm and vmm pkgs
- consolidated parts of the vmm code (e.g. PDT+PTE)
- memcopy/memset helpers moved to the kernel package
- physical allocators moved to the kernel/mm/pmm package
- break vmm -> pmm pkg dependency by moving AllocFrame() into the mm
package.
2018-05-28 08:16:26 +01:00
Achilleas Anagnostopoulos
8d0c44921b goruntime: split bootstrap symbols into conditionally compiled files
Due to some changes in the runtime init functions between go 1.7 and
later versions (e.g. runtime.modulesInit() defined after go 1.7), the
kernel code that bootstraps the go runtime had to be split into separate
files which are conditionally compiled using +build flags.
2018-03-23 07:22:32 +00:00
Achilleas Anagnostopoulos
ccba8877ce Enable support for deferred calls 2017-07-14 08:05:54 +01:00
Achilleas Anagnostopoulos
9d2e53bac4 Redirect runtime.init to an empty stub 2017-07-13 00:08:35 +01:00
Achilleas Anagnostopoulos
dc37e86421 Run the init() function for all kernel packages and their dependencies
Things like error messages (e.g in the io pkg) are actually allocated
when init() is executed. Unless we trigger a call to init(), values like
this will be nil causing various problems when we try to use functions
from the stdlib.
2017-07-07 06:25:24 +01:00
Achilleas Anagnostopoulos
40521f8626 Ensure that the memory returned by sysAlloc is always zeroed 2017-07-05 16:50:59 +01:00
Achilleas Anagnostopoulos
8dfc5d4e92 Use pwd as a workspace; move sources to src/gopheros and rewrite imports
By setting up pwd as a Go workspace, we can trim import paths from
something like "github.com/achilleasa/gopher-os/kernel" to just
"kernel".

These changes make forking easier and also allows us to move the code to
a different git hosting provider without having to rewrite the imports.
2017-07-01 20:37:09 +01:00