1
0
mirror of https://github.com/taigrr/gopher-os synced 2025-01-18 04:43:13 -08:00
Achilleas Anagnostopoulos d7028ed73d acpi: test the parser against actual AML dumps
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
2018-03-09 07:14:09 +00:00
2017-07-06 06:13:13 +01:00
2017-09-18 09:45:41 +02:00
2017-08-08 23:42:25 +01:00
2017-08-08 23:57:54 +01:00
2017-03-23 06:50:13 +00:00
2017-08-08 23:34:24 +01:00

gopher-os

Build Status codecov Go Report Card License: MIT

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?

80x25 (stadard 8x16 font): 80x25 with standard 8x16 font

1024x768 (10x18 font): 1024x768x32 with 10x18 font

2560x1600 (14x28 font): retina mode (2560x1600) with 14x28 font

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.

Description
A proof of concept OS kernel written in Go
Readme 773 KiB
Languages
Go 84.9%
ASL 10.2%
Assembly 4%
Makefile 0.9%