14 Commits
Author SHA1 Message Date
Undefine 1895e5e413 LibACPI: Finalize an operand by moving the object into the frame
This avoids a copy.
2026-11-07 13:27:30 +01:00
UndefineandRatcheT2497 1b1cd99667 LibACPI: Add support for reading ProcessorOp
While this opcode is deprecated, it is still widely used and we need to
support it.

Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
UndefineandRatcheT2497 d597448c4e LibACPI: Add support for packages
Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
Undefine 96df4d227a LibACPI: Allow repeating an operand over a count
Do this similarly to repeating over a byte count.
2026-11-01 15:08:28 +01:00
UndefineandRatcheT2497 e55777838d LibACPI: Add support for reading MutexOp
Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
UndefineandRatcheT2497 901266253a LibACPI: Add support for buffers
Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
UndefineandRatcheT2497 7150a99e75 LibACPI: Add support for strings
Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
UndefineandRatcheT2497 afbe9b228c LibACPI: Add support for reading DeviceOp
Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
UndefineandRatcheT2497 70f7715bca LibACPI: Add support for reading methods
For now just create a node, but don't actually do anything with the
body as it's not needed for now.

Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
UndefineandRatcheT2497 c9e5fa6ada LibACPI: Support reading OpRegionOp and FieldOp
Those two always come in pairs so lets do it in one commit. This
doesn't yet support evaluating fields as it's not yet needed and would
require setting up callbacks from the interpreter.

Co-authored-by: RatcheT2497 <[email protected]>
2026-11-01 15:08:28 +01:00
Undefine 3b0289a11c LibACPI: Make OpcodeFrame start point to right after the opcode
This makes some math later easier and less error prone since some
opcodes have two bytes.
2026-11-01 15:08:28 +01:00
Undefine e8b902135b LibACPI: Add a finish_operand variant without an actual operand
Sometimes reading an operand doesn't produce an operand, but a node or
something else.
2026-11-01 15:08:28 +01:00
Undefine ea03a27ac6 LibACPI: Allow repeating an operand over a byte count
Some opcodes encode how many bytes a list of something takes, this
will be needed very soon.
2026-11-01 15:08:28 +01:00
UndefineandRatcheT2497 95ab8a7e1a LibACPI: Add a skeleton of a AML interpreter
This a simple skeleton for a non recursive AML parser + interpreter.
For now it support very little stuff, only a couple of opcodes but that
is enough to load a very very simple AML table.

Co-authored-by: RatcheT2497 <[email protected]>
2026-10-28 18:13:04 +01:00