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

285 Commits

Author SHA1 Message Date
Achilleas Anagnostopoulos
70c798f40a acpi: add pre-process step to capture arg counts for all function decls
Since the ACPI standard allows forward function declarations this step
is required so we can properly parse the argument list for function
invocations. Contrary to other AML entities, method invocations do not
include any sort of pkgLength information so unless we track the
expected argument count for each function, our parser will not be able
to figure out where the argument list ends.
2017-12-03 10:21:40 +00:00
Achilleas Anagnostopoulos
7983394390 acpi: implement resolver interface for methodInvocation entities 2017-12-03 10:17:41 +00:00
Achilleas Anagnostopoulos
0a05164703 acpi: change scopeVisit to visit entities in a visited entity's arglist 2017-12-01 08:01:17 +00:00
Achilleas Anagnostopoulos
d9bd6f104e acpi: fix linter warnings for unhandled errors in AML parser 2017-11-27 07:15:11 +00:00
Achilleas Anagnostopoulos
61449a15a1 lint: enable check for proper handling of return values 2017-11-22 07:03:56 +00:00
Achilleas Anagnostopoulos
4aa2600b65 Merge pull request #59 from achilleasa/place-linter-deps-in-build-folder
Prepend build folder to GOPATH before building/testing/linting
2017-10-25 07:43:05 +01:00
Achilleas Anagnostopoulos
11baa1e8f5 Prepend build folder to GOPATH before building/testing/linting 2017-10-25 07:33:24 +01:00
Achilleas Anagnostopoulos
0f85d4be53 Merge pull request #53 from achilleasa/implement-aml-parser
Implement AML parser
2017-09-30 16:44:09 +01:00
Achilleas Anagnostopoulos
61a033e2ad acpi: tweak parser and add tests for parser errors 2017-09-30 16:40:53 +01:00
Achilleas Anagnostopoulos
d020045887 acpi: tag entities with the handle of the table that defines them
This allows us to implement the Unload opcode which given a handle,
removes all entities that are tagged by it.
2017-09-30 16:36:26 +01:00
Achilleas Anagnostopoulos
2a84c75d8e acpi: implement AML parser for all AML opcodes in the ACPI 6.2 spec 2017-09-30 16:36:22 +01:00
Achilleas Anagnostopoulos
4dd7c0b077 acpi: implement functions for working with AML scopes
The scope resolution rules are specified in page 252 of the ACPI 6.2
spec.
2017-09-30 16:25:34 +01:00
Achilleas Anagnostopoulos
130e11507c acpi: define structs for basic AML entities 2017-09-30 16:25:29 +01:00
Achilleas Anagnostopoulos
5171822ba6 acpi: define mappings and helpers for AML opcodes 2017-09-30 14:08:55 +01:00
Achilleas Anagnostopoulos
93125caa8a acpi: implement memory-based reader for AML byte-code streams 2017-09-30 13:45:30 +01:00
Achilleas Anagnostopoulos
4e985c91c6 Merge pull request #56 from achilleasa/update-vagrantfile
vagrantfile: include gcc and binutils in the list of installed packages
2017-09-24 10:12:48 +01:00
Achilleas Anagnostopoulos
41d245d331 vagrantfile: include gcc and binutils in the list of installed packages 2017-09-24 10:06:35 +01:00
Achilleas Anagnostopoulos
52be87b67f Merge pull request #54 from dvrkps/patch-1
travis: update go version
2017-09-19 19:08:46 +01:00
Davor Kapsa
04a097bf4f travis: update go version 2017-09-18 09:45:41 +02:00
Achilleas Anagnostopoulos
14aef16459 Merge pull request #52 from achilleasa/detect-acpi-support-and-enumerate-acpi-tables
Detect ACPI support and enumerate ACPI tables
2017-08-28 07:49:00 +01:00
Achilleas Anagnostopoulos
7d959af0a9 acpi: import and register ACPI driver with hal 2017-08-28 07:28:31 +01:00
Achilleas Anagnostopoulos
78d5fac550 acpi: probe for RSDT and enumerate/map other ACPI tables (inc. DSDT) 2017-08-28 07:28:31 +01:00
Achilleas Anagnostopoulos
49dfc5c9de acpi: define structs for standard header and various ACPI tables 2017-08-28 07:28:27 +01:00
Achilleas Anagnostopoulos
7bcaf0ee8d vmm: implement identity mapping function for contiguous physical mem regions
vmm.IdentityMapRegion can be used by device drivers that want to
establish an identity mapping for a contiguous physical memory block in
order to access some hardware or table.
2017-08-28 07:28:04 +01:00
Achilleas Anagnostopoulos
0a271b206b pmm: implement FrameFromAddress
This is equivalent to vmm.PageFromAddress but returns back a pmm.Frame
2017-08-28 07:28:04 +01:00
Achilleas Anagnostopoulos
324022187d Merge pull request #51 from achilleasa/fix-vga-text-palette-mapping
Map EGA color indices to correct DAC entries for VGA HW
2017-08-19 11:07:28 +01:00
Achilleas Anagnostopoulos
d17298acaa vga_text: Map EGA color indices to correct DAC entries for the VGA hw 2017-08-19 10:33:38 +01:00
Achilleas Anagnostopoulos
08c845a9ac Use the correct CI env name 2017-08-08 23:57:54 +01:00
Achilleas Anagnostopoulos
9838f468a7 Fix minor typo in BUILD.md 2017-08-08 23:42:25 +01:00
Achilleas Anagnostopoulos
301024eb89 Merge pull request #49 from achilleasa/improve-readme
Improve documentation
2017-08-08 23:38:27 +01:00
Achilleas Anagnostopoulos
b5bd7da046 Update readme 2017-08-08 23:34:24 +01:00
Achilleas Anagnostopoulos
63e9f40d47 Add build guide 2017-08-08 23:34:19 +01:00
Achilleas Anagnostopoulos
c778693de0 Merge pull request #48 from achilleasa/vbox-make-target
Add Makefile target for running gopher-os ISO using vbox
2017-08-08 23:24:15 +01:00
Achilleas Anagnostopoulos
cb0f7312cf Add vbox run target to the Makefile and rename run target to run-qemu 2017-08-08 23:11:59 +01:00
Achilleas Anagnostopoulos
2549dc9837 Add contributing and status markdown files 2017-08-08 22:56:58 +01:00
Achilleas Anagnostopoulos
4b25971cef Merge pull request #47 from achilleasa/order-based-driver-probing
Order based driver detection/loading
2017-07-18 08:37:58 +01:00
Achilleas Anagnostopoulos
b53912757c Refactor hal code to use preferred driver detection order 2017-07-18 08:27:50 +01:00
Achilleas Anagnostopoulos
1ef27b3226 Update device drivers to use the device.RegisterDriver 2017-07-18 08:26:56 +01:00
Achilleas Anagnostopoulos
d180348116 Define DriverInfo and registration helpers 2017-07-18 08:23:43 +01:00
Achilleas Anagnostopoulos
a86a1bd8cd Merge pull request #46 from boomshroom/patch-1
Check grub on non-dpkg systems.
2017-07-17 07:36:30 +01:00
me
93e2985473 Check grub on non-dpkg systems.
Also makes checking for grub-mkrescure more in line with the check for xorriso.
2017-07-16 21:32:25 -07:00
Achilleas Anagnostopoulos
37e32d9960 Provide correct implementation for cpu.FlushTLBEntry
The previous version worked under qemu (or qemu does not implement TLB
caching) but caused an unrecoverable page fault when running under
virtualbox.
2017-07-15 17:25:04 +01:00
Achilleas Anagnostopoulos
a05c135355 Merge pull request #45 from achilleasa/enable-support-for-defer
Enable support for defer
2017-07-14 08:11:37 +01:00
Achilleas Anagnostopoulos
66d471f442 Defer kernel panic when Kmain returns 2017-07-14 08:05:59 +01:00
Achilleas Anagnostopoulos
ccba8877ce Enable support for deferred calls 2017-07-14 08:05:54 +01:00
Achilleas Anagnostopoulos
9567f259bd Set m.curg = g0 2017-07-14 07:45:56 +01:00
Achilleas Anagnostopoulos
bc52b65615 Merge pull request #44 from achilleasa/implement-vesa-fb-console-driver
Implement vesa fb console driver with support for bitmap fonts and logos
2017-07-14 06:16:52 +01:00
Achilleas Anagnostopoulos
16ad4c856e Set framebuffer tag in multiboot header and add vesa grub menu entries 2017-07-13 23:35:20 +01:00
Achilleas Anagnostopoulos
eaeae85600 Implement LogoSetter interface for vesa fb driver 2017-07-13 23:35:20 +01:00
Achilleas Anagnostopoulos
c7fc9f0ac9 Add gopher logos (64, 96 and 128 pixels tall)
The gopher images were obtained from: https://github.com/golang-samples/gopher-vector
2017-07-13 23:35:20 +01:00