All dumps are located in the tabletest package. The DSDT/SSDT dumps were obtained by running an aml dump tool inside a virtualbox instance. The dumps were disassembled using the iasl tool (version 20180105) from Intel's reference ACPICA implementation. The parser-testsuite dumps were written by hand to ensure that all possible happy-paths in the parser were followed and then compiled into AML using the same iasl tool. The added TestParser function attempts to parse various sets of AML dumps and then uses the object tree pretty-printer to obtain a dump of the tree. The dump is then compared to an expected value (.exp files are also placed in the tabletest package). The test code supports passing the "-aml-regenerate-parser-exp-files" flag to update the exp files: go test -run TestParser -aml-regenerate-parser-exp-files
gopher-os
The goal of this project is to build a 64-bit POSIX-compliant tick-less kernel with a Linux-compatible syscall implementation using Go.
This project is not about building yet another OS but rather exists to serve as proof that Go is indeed a suitable tool for writing low level code that runs at ring-0.
Note: This project is still in the early stages of development and is not yet
in a usable state. In fact, if you build the ISO and boot it, the kernel will
eventually panic with a Kmain returned
error.
To find out more about the current project status and feature roadmap take a look at the status page.
Building and running gopher-os
TLDR version: make run-qemu
or make run-vbox
.
A detailed guide about building, running and debugging gopher-os on Linux/OSX as well as the list of supported boot command line options are available here.
How does it look?
Contributing
gopher-os is Open Source. Feel free to contribute! To get started take a look at the contributing guide.
Licence
gopher-os is distributed under the MIT license.