Kernel: Implement barebones AML parser

This implements only parsing for AML in qemu. InvokeMethods are not
parsed since number of arguments to Methods is not yet known.

Parsing AML uses multiple kilobytes of stack space, so I increased
boot stack size by a lot :D

I am not sure where my own AML is going, but this is good start if
I decide to implement full ACPI on my own.

This code is very much just ugly macro expansion.

Qemu has 2 DefPackage elements that I am not able to parse. Package
data ends while there should be still multiple elements.
This commit is contained in:
2024-04-07 02:54:02 +03:00
parent e0011d22f2
commit e7ef7a9e55
17 changed files with 2472 additions and 3 deletions

View File

@@ -54,7 +54,7 @@ bananboot_end:
.section .bss, "aw", @nobits
boot_stack_bottom:
.skip 4096 * 4
.skip 4096 * 64
boot_stack_top:
.global g_kernel_cmdline