Commit Graph

10 Commits

Author SHA1 Message Date
45b9dc8be9 Kernel: Make ACPI \\_OSI return true for Linux 2024-04-17 02:19:35 +03:00
49b7467840 Kernel: Simplify AML method invocation API 2024-04-17 01:20:58 +03:00
7707e01352 Kernel: AML add flag to force absolute lookup for ACPI namespace 2024-04-16 17:38:23 +03:00
f1b2d7530d Kernel: Rework AML namespace and object hierarchy
Remove tree-like structure from AML. This allows more spec compliant
parsing of named objects inside not yet declared devices.

This also allows AML to be run thread safely. All object adds/removes
are now guarded by a mutex.
2024-04-16 16:47:45 +03:00
74940ed33c Kernel: Cleanup AML code and fix bugs
I can enter ACPI mode on my own laptop!
2024-04-12 16:03:14 +03:00
93ddee5956 Kernel: Implement locking for AML
Now global lock uses the actual global lock. Currenly if no lock
can be acquired, we just panic the kernel so that I remember to
implement it properly once AML is running concurrently.
2024-04-11 01:48:46 +03:00
5be38d0702 Kernel: My AML parser can now enable ACPI mode on QEMU! 2024-04-10 03:05:27 +03:00
ff203d8d34 Kernel: Implement more AML method invocation stuff
Method invocation is starting to come together. This implemenetation
can interpret some of the qemu's functions to enter ACPI mode.

PCI config space access is currently the one thing is between
entering ACPI mode.
2024-04-10 01:52:14 +03:00
23fa39121c Kernel: Start working on AML method evaluations
Also fix namespace lookup and scope creations.
2024-04-09 18:37:51 +03:00
b16e65168f Kernel: Rewrite whole AML parser
Now AML parsing is actually done while respecting namespaces and
scopes. I implemented the minimal functionality to parse qemu's AML.

Next step is to implement AML interpreting and then we can drop lai
as a dependency.
2024-04-09 01:16:07 +03:00