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

3 Commits

Author SHA1 Message Date
Achilleas Anagnostopoulos
f57aa9433d acpi: fix bugs discovered by fuzzing 2018-03-09 07:14:12 +00:00
Achilleas Anagnostopoulos
9dd9ab9add acpi: add helper method to pretty-print AML object trees 2018-03-09 07:08:36 +00:00
Achilleas Anagnostopoulos
b00fff0e39 acpi: define tree-based structure for storing parsed AML entities
ACPI entity definitions form a tree whose roots are a sequence of
pre-defined namespace objects. The parser stores all AML entities using
a space-optimized structure (Object). These objects are organized into a
tree via the ObjectTree structure.

Instead of storing pointers to other objects (i.e. siblings, children or
parent), objects use uint32 indices to objects managed by the
ObjectTree. This has the nice advantage of reducing the memory
requirements for our tree in half when running on 64-bits (4-bytes per
index vs 8-bytes per pointer) while also allowing us to recycle objects
that are explicitly freed by the parser.
2018-03-09 07:08:31 +00:00