def Aml.boot

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

import bend-osdev-acpi@0.1.1.0/aml.bend as Aml
import Base
import bend-osdev-acpi@0.1.1.0/error.bend as E
import bend-osdev-acpi@0.1.1.0/dsdt.bend as D
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

195# the namespace of a machine's tables: the DSDT, then each SSDT, each
196# loaded in at most n steps; the integer width is the DSDT's (the first
197# table's)
198def Aml.boot(~H: Data, ~io: H -> Hs.AmlHostOp -> Result<&2, &2, E.AcpiError, Hs.AmlHostAns<H>>, opts: I.AmlOptions, host: H, ts: List<&2, D.AcpiAml>, +n: Nat) -> Result<&2, &2, E.AcpiError, AmlSystem<H>>:
199  match ts:
200    case Nil{}:
201      Done{AmlSystem.new(H, opts, True{}, host)}
202    case Con{+t, rest}:
203      aml.boot.go(~H, ~io, Con{t, rest}, n, Done{AmlSystem.new(H, opts, D.AcpiAml.wide(t), host)})

Uses (13)

Used by (1)