def aml.start

bend-osdev-acpi@0.1.1.0 · aml.bend:135

import bend-osdev-acpi@0.1.1.0/aml.bend as Aml
import Base
import bend-osdev-bytes@0.1.1.0/bytes.bend as B
import bend-osdev-acpi@0.1.1.0/error.bend as E
import bend-osdev-acpi@0.1.1.0/aml_value.bend as V
import bend-osdev-acpi@0.1.1.0/aml_ns.bend as S
import bend-osdev-acpi@0.1.1.0/aml_host.bend as Hs
import bend-osdev-acpi@0.1.1.0/aml_interp.bend as I

135def aml.start(~H: Data, ~io: H -> Hs.AmlHostOp -> Result<&2, &2, E.AcpiError, Hs.AmlHostAns<H>>, o: Maybe<&2, S.AmlObject>, +p: String, args: List<&2, V.AmlValue>, +w: I.AmlWorld<H>) -> I.AmlMachine<H>:
136  match o:
137    case Some{S.AmlOMethod{n, f, +body}}:
138      +code = B.Octets.to_list(body)
139      I.AmlMachine{I.AmlMExec{}, I.AmlCur{code, B.len.fast(code)}, [I.AmlFTop{}], I.in.with_ctx(H, w, aml.ctx(p, args))}
140    case _:
141      aml.read(H, I.in.read_obj(~H, ~io, w, p, o), w)

Uses (20)

Used by (1)