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

Commit Graph

  • 1a7aca464e
    Merge pull request #71 from achilleasa/implement-and-use-spinlocks master Achilleas Anagnostopoulos 2018-06-16 08:01:40 +01:00
  • 66d1750e4e makefile: move GOOS envvar to correct location and add linter exception Achilleas Anagnostopoulos 2018-06-16 07:34:13 +01:00
  • 3662f64907 pmm: guard AllocFrame/FreeFrame access with a spinlock Achilleas Anagnostopoulos 2018-06-15 23:02:57 +01:00
  • 50cabf1d95 sync: implement spinlock primitive Achilleas Anagnostopoulos 2018-06-15 22:59:02 +01:00
  • eb0ef4bcc0
    Merge pull request #70 from achilleasa/use-consistent-naming-for-arch Achilleas Anagnostopoulos 2018-06-01 09:10:31 +01:00
  • c692bcd329 makefile: rename arch/x86_64 to arch/amd64 and cleanup targets Achilleas Anagnostopoulos 2018-05-31 21:43:48 +01:00
  • 0b1429c115
    Merge pull request #69 from achilleasa/refactor-gate-handling Achilleas Anagnostopoulos 2018-06-01 09:00:33 +01:00
  • bd16555c83 makefile: add deadcode linter exclusion rules for the gate package Achilleas Anagnostopoulos 2018-06-01 08:28:44 +01:00
  • 7deeab3cbc vmm: switch exception handling to use the new gate package Achilleas Anagnostopoulos 2018-05-31 21:22:29 +01:00
  • 7b12fbd940 gate: provide cleaner implementation of arch-specific gate management code Achilleas Anagnostopoulos 2018-05-31 21:21:59 +01:00
  • 2b8bf98b55 irq: remove old interrupt handling implementation Achilleas Anagnostopoulos 2018-05-31 21:21:04 +01:00
  • 3bf13b5fbe rt0: remove interrupt routing code Achilleas Anagnostopoulos 2018-05-31 21:17:36 +01:00
  • ea1139f129
    Merge pull request #68 from achilleasa/re-arrange-packages Achilleas Anagnostopoulos 2018-05-28 08:23:27 +01:00
  • 8b3e64035e makefile: use GOCACHE=off when running tests Achilleas Anagnostopoulos 2018-05-28 08:11:01 +01:00
  • e67e2644e2 mm: refactor package layout for the memory management code Achilleas Anagnostopoulos 2018-05-28 08:10:50 +01:00
  • 340b129e37 multiboot: move package outside the kernel package Achilleas Anagnostopoulos 2018-05-27 08:07:19 +01:00
  • 170e2449d5
    Merge pull request #67 from achilleasa/preserve-xmm-regs-when-handling-exceptions Achilleas Anagnostopoulos 2018-04-28 11:21:07 +01:00
  • fd862d0d15 rt0_64: preserve XMM registers when calling gate handlers Achilleas Anagnostopoulos 2018-04-27 20:13:57 +01:00
  • f1cf7466c7 Revert "kfmt: fix bug where calls to copy() resulted in garbage being copied" Achilleas Anagnostopoulos 2018-04-27 19:26:08 +01:00
  • 8f04deadc1 kfmt: fix bug where calls to copy() resulted in garbage being copied Achilleas Anagnostopoulos 2018-03-28 07:25:52 +01:00
  • 2826507371 docs: add GH issue template Achilleas Anagnostopoulos 2018-03-23 20:23:50 +00:00
  • f87c295416 docs: improve layout of CI badges Achilleas Anagnostopoulos 2018-03-23 20:05:18 +00:00
  • c88c72657d
    Merge pull request #66 from achilleasa/ensure-kernel-builds-with-different-go-versions Achilleas Anagnostopoulos 2018-03-23 19:53:53 +00:00
  • b39cdd5bd4 docs: add badges for matrix builds and update build instructions Achilleas Anagnostopoulos 2018-03-23 08:36:27 +00:00
  • bb81bb3550 ci: run matrix build with go 1.7.x - 1.x Achilleas Anagnostopoulos 2018-03-19 08:56:19 +00:00
  • c0f92f4454 makefile: tweak build script to compile kernel using go 1.10 Achilleas Anagnostopoulos 2018-03-23 07:17:12 +00:00
  • ce9a397008 bootstrap: add extra cgo stub symbols for go 1.8 Achilleas Anagnostopoulos 2018-03-22 08:00:17 +00:00
  • 8d0c44921b goruntime: split bootstrap symbols into conditionally compiled files Achilleas Anagnostopoulos 2018-03-23 07:20:22 +00:00
  • 4e3567f8a1 tools: update offsets tool to work with go versions 1.7 - 1.10 Achilleas Anagnostopoulos 2018-03-19 09:01:34 +00:00
  • c0b9f62f78
    Merge pull request #65 from achilleasa/fix-kernel-elf-section-mapping-bug Achilleas Anagnostopoulos 2018-03-22 19:17:34 +00:00
  • 76f7869f57 vmm: fix some lint warnings (error not checked) Achilleas Anagnostopoulos 2018-03-22 08:09:58 +00:00
  • d082a7473a vmm: handle mapping of kernel ELF sections that are not page aligned Achilleas Anagnostopoulos 2018-03-22 08:01:22 +00:00
  • cc699b3d15
    Update STATUS.md Achilleas Anagnostopoulos 2018-03-12 06:42:30 +00:00
  • 972cf64bca lint: fix lint warnings Achilleas Anagnostopoulos 2018-03-11 17:38:41 +00:00
  • 3bfbf6389e lint: add "gofmt -s" to the linter list Achilleas Anagnostopoulos 2018-03-11 17:38:20 +00:00
  • b46598cb67
    Merge pull request #63 from achilleasa/reimplement-aml-parser Achilleas Anagnostopoulos 2018-03-11 15:39:42 +00:00
  • f57aa9433d acpi: fix bugs discovered by fuzzing Achilleas Anagnostopoulos 2018-03-08 08:37:25 +00:00
  • ddbddd2ea2 acpi: add Makefile target for fuzzing and AML parser fuzzer Achilleas Anagnostopoulos 2018-03-06 19:19:36 +00:00
  • d7028ed73d acpi: test the parser against actual AML dumps Achilleas Anagnostopoulos 2018-03-06 08:49:52 +00:00
  • 9dd9ab9add acpi: add helper method to pretty-print AML object trees Achilleas Anagnostopoulos 2018-03-06 08:20:21 +00:00
  • fe6c8f7293 acpi: implement AML multi-pass parser Achilleas Anagnostopoulos 2018-03-06 08:19:43 +00:00
  • 98fe98bc83 acpi: implement reader abstraction for AML in-memory byte-streams Achilleas Anagnostopoulos 2018-02-27 08:51:20 +00:00
  • b00fff0e39 acpi: define tree-based structure for storing parsed AML entities Achilleas Anagnostopoulos 2018-02-27 08:49:32 +00:00
  • 851011f957 acpi: define parser tables for decoding AML opcodes Achilleas Anagnostopoulos 2018-02-27 08:38:55 +00:00
  • ca1682c431 acpi: define helper functions for working with opcode groups Achilleas Anagnostopoulos 2018-02-27 08:37:55 +00:00
  • b1e959ec4d acpi: define list of AML opcodes Achilleas Anagnostopoulos 2018-02-27 08:14:42 +00:00
  • a06b1aa21f
    Merge pull request #62 from achilleasa/remove-broken-aml-parser-impl Achilleas Anagnostopoulos 2018-02-25 08:35:42 +00:00
  • 80bd263fc9 acpi: remove broken AML parser implementation Achilleas Anagnostopoulos 2018-02-25 08:32:33 +00:00
  • 3396b997e7
    Merge pull request #61 from achilleasa/refactor-aml-parser-into-multiple-packages Achilleas Anagnostopoulos 2018-01-06 10:53:44 +00:00
  • c09798622b acpi: provide more robust implementation for parsing AML method bodies Achilleas Anagnostopoulos 2018-01-06 10:35:26 +00:00
  • 10ba4f7ad6 acpi: implement LazyRefResolver for entities that use lazy symbol references Achilleas Anagnostopoulos 2017-12-29 09:11:09 +00:00
  • 41eae61c9f acpi: update AML parser to use the new entities Achilleas Anagnostopoulos 2017-12-29 09:12:08 +00:00
  • e7f203f06a acpi: move stream reader implementation into parser pkg Achilleas Anagnostopoulos 2017-12-17 16:12:01 +00:00
  • d1eb0b6d4d acpi: move parser opcode table into the parser pkg Achilleas Anagnostopoulos 2017-12-16 08:19:22 +00:00
  • 7e419ae20e acpi: move entity visitor code to the entity pkg Achilleas Anagnostopoulos 2017-12-17 16:59:08 +00:00
  • 38143ab510 acpi: refactor scope lookup code and move it into the entity pkg Achilleas Anagnostopoulos 2017-12-29 09:10:16 +00:00
  • 17842763e9 acpi: move entities to the entity pkg, export them and add missing entities Achilleas Anagnostopoulos 2017-12-16 07:45:37 +00:00
  • be6cd181b1 acpi: support compilation of logic operators to VM opcodes implement-aml-vm Achilleas Anagnostopoulos 2017-12-31 07:40:53 +00:00
  • b80c337bc7 acpi: support compilation of arithmetic and assignment operators to VM opcodes Achilleas Anagnostopoulos 2017-12-30 18:22:11 +00:00
  • 6f39b2af55 acpi: add scaffolding code for the AML method to OS VM bytecode compiler Achilleas Anagnostopoulos 2017-12-28 06:08:17 +00:00
  • 3cdc10be24 acpi: define structs for holding the AML VM bytecode Achilleas Anagnostopoulos 2017-12-25 18:44:53 +00:00
  • 3a3b980eaa acpi: implement LazyRefResolver for entities that use lazy symbol references Achilleas Anagnostopoulos 2017-12-29 09:11:09 +00:00
  • b278ce626b acpi: update AML parser to use the new entities Achilleas Anagnostopoulos 2017-12-29 09:12:08 +00:00
  • 12ad177381 acpi: move stream reader implementation into parser pkg Achilleas Anagnostopoulos 2017-12-17 16:12:01 +00:00
  • 782778cbea acpi: move parser opcode table into the parser pkg Achilleas Anagnostopoulos 2017-12-16 08:19:22 +00:00
  • bd14d52b60 acpi: move entity visitor code to the entity pkg Achilleas Anagnostopoulos 2017-12-17 16:59:08 +00:00
  • 89882545f2 acpi: refactor scope lookup code and move it into the entity pkg Achilleas Anagnostopoulos 2017-12-29 09:10:16 +00:00
  • 44896b1680 acpi: move entities to the entity pkg, export them and add missing entities Achilleas Anagnostopoulos 2017-12-16 07:45:37 +00:00
  • 89923eb481 acpi: move AML opcode definitions into the entity pkg Achilleas Anagnostopoulos 2017-12-16 08:15:43 +00:00
  • ef88921fb9 acpi: refactor block exec code and add support for stack traces implement-aml-interpreter Achilleas Anagnostopoulos 2017-12-08 08:47:15 +00:00
  • 540986cb0b acpi: add VM-support for method invocations Achilleas Anagnostopoulos 2017-12-04 08:46:43 +00:00
  • ad6c7ee991 acpi: add VM-support for while/if/elseif/else blocks Achilleas Anagnostopoulos 2017-11-26 17:31:14 +00:00
  • 2be5b9d224 acpi: add VM-support for AML bitwise opcodes Achilleas Anagnostopoulos 2017-11-22 08:46:36 +00:00
  • 38b2a3e4e2 acpi: add VM-support for AML arithmetic opcodes Achilleas Anagnostopoulos 2017-11-21 08:21:11 +00:00
  • a172621af7 acpi: implement string <=> int converter Achilleas Anagnostopoulos 2017-11-27 07:25:33 +00:00
  • d6a825fc02 acpi: implement AML helpers for detecting argument types Achilleas Anagnostopoulos 2017-11-27 07:24:43 +00:00
  • dfaf068735 acpi: implement vmStore/Copy for local/method args and references Achilleas Anagnostopoulos 2017-11-12 09:58:57 +00:00
  • 1a2d075aa2 acpi: implement minimal helper for reading AML operand values Achilleas Anagnostopoulos 2017-10-30 08:59:30 +00:00
  • fd2f4a72ad acpi: instanciate AML interpreter when the ACPI driver is initialized Achilleas Anagnostopoulos 2017-10-16 07:05:48 +01:00
  • 63c69fe8d3 acpi: implement internal VM method for executing AML blocks Achilleas Anagnostopoulos 2017-10-16 07:02:00 +01:00
  • 718006f4e4 acpi: define AML opcode jumptable and populate with placeholder function Achilleas Anagnostopoulos 2017-10-16 06:58:05 +01:00
  • 1d5d1dc3ec acpi: implement VM entity lookup and visit wrappers Achilleas Anagnostopoulos 2017-10-13 17:59:10 +01:00
  • 64f3dae485 acpi: define VM type and structs to maintain execution state Achilleas Anagnostopoulos 2017-10-11 19:58:00 +01:00
  • 61597cff56
    Merge pull request #60 from achilleasa/improve-handling-of-fwd-decls-in-aml-parser Achilleas Anagnostopoulos 2017-12-03 11:14:48 +00:00
  • 692155b44b acpi: refine post-parse entity processing rules Achilleas Anagnostopoulos 2017-12-03 10:25:21 +00:00
  • 70c798f40a acpi: add pre-process step to capture arg counts for all function decls Achilleas Anagnostopoulos 2017-12-03 10:21:40 +00:00
  • 7983394390 acpi: implement resolver interface for methodInvocation entities Achilleas Anagnostopoulos 2017-12-03 10:17:41 +00:00
  • 0a05164703 acpi: change scopeVisit to visit entities in a visited entity's arglist Achilleas Anagnostopoulos 2017-11-30 06:27:09 +00:00
  • d9bd6f104e acpi: fix linter warnings for unhandled errors in AML parser Achilleas Anagnostopoulos 2017-11-25 09:57:43 +00:00
  • 61449a15a1 lint: enable check for proper handling of return values Achilleas Anagnostopoulos 2017-11-22 07:03:56 +00:00
  • 4aa2600b65 Merge pull request #59 from achilleasa/place-linter-deps-in-build-folder Achilleas Anagnostopoulos 2017-10-25 07:43:05 +01:00
  • 11baa1e8f5 Prepend build folder to GOPATH before building/testing/linting Achilleas Anagnostopoulos 2017-10-25 06:59:58 +01:00
  • 0f85d4be53 Merge pull request #53 from achilleasa/implement-aml-parser Achilleas Anagnostopoulos 2017-09-30 16:44:09 +01:00
  • 61a033e2ad acpi: tweak parser and add tests for parser errors Achilleas Anagnostopoulos 2017-09-30 07:38:21 +01:00
  • d020045887 acpi: tag entities with the handle of the table that defines them Achilleas Anagnostopoulos 2017-09-27 17:24:47 +01:00
  • 2a84c75d8e acpi: implement AML parser for all AML opcodes in the ACPI 6.2 spec Achilleas Anagnostopoulos 2017-09-06 10:47:57 +01:00
  • 4dd7c0b077 acpi: implement functions for working with AML scopes Achilleas Anagnostopoulos 2017-09-01 06:40:19 +01:00
  • 130e11507c acpi: define structs for basic AML entities Achilleas Anagnostopoulos 2017-08-30 13:34:28 +01:00
  • 5171822ba6 acpi: define mappings and helpers for AML opcodes Achilleas Anagnostopoulos 2017-08-28 11:46:13 +01:00
  • 93125caa8a acpi: implement memory-based reader for AML byte-code streams Achilleas Anagnostopoulos 2017-08-28 09:28:00 +01:00