def main

bend-osdev-acpi@0.1.1.0 · check.bend:277

import bend-osdev-acpi@0.1.1.0/check.bend as Check
import Base
import bend-osdev-word64@0.1.1.0/word64.bend as W
import bend-osdev-bytes@0.1.1.0/bytes.bend as B
import bend-osdev-acpi@0.1.1.0/header.bend as H
import bend-osdev-acpi@0.1.1.0/rsdp.bend as P
import bend-osdev-acpi@0.1.1.0/fadt.bend as F
import bend-osdev-acpi@0.1.1.0/madt.bend as M
import bend-osdev-acpi@0.1.1.0/hpet.bend as Hp
import bend-osdev-acpi@0.1.1.0/mcfg.bend as Mc
import bend-osdev-acpi@0.1.1.0/slit.bend as Sl
import bend-osdev-acpi@0.1.1.0/registry.bend as R
import bend-osdev-acpi@0.1.1.0/acpi.bend as A
import bend-osdev-acpi@0.1.1.0/aml_pkglength.bend as K
import bend-osdev-acpi@0.1.1.0/aml_name.bend as N
import bend-osdev-acpi@0.1.1.0/aml_term.bend as T
import bend-osdev-acpi@0.1.1.0/aml_value.bend as V
import bend-osdev-acpi@0.1.1.0/aml_host.bend as Hs
import bend-osdev-acpi@0.1.1.0/aml.bend as Am
import bend-osdev-acpi@0.1.1.0/aml_device.bend as Dv
import bend-osdev-acpi@0.1.1.0/example.bend as X

277def main() -> IO(Unit):
278  +mem = X.AcpiExample.memory()
279  +s = sys()
280  +madt_o = M.AcpiMadt.build(X.AcpiExample.madt())
281  +rsdp_o = P.AcpiRsdp.build(X.AcpiExample.rsdp())
282  do IO<Unit>:
283    IO.print("rsdp at " ++ mn(P.AcpiRsdp.find(B.Octets.append(B.Octets.zeros(16n), rsdp_o))))
284    IO.print(rsdp(P.AcpiRsdp.parse(rsdp_o)))
285    IO.print(rsdp(P.AcpiRsdp.parse(poke(rsdp_o, 10n, 0))))
286    IO.print(tables(A.AcpiTables.load(~A.AcpiMemImage, ~A.AcpiMemImage.read, mem, X.AcpiExample.rsdp_address())))
287    IO.print(tables(A.AcpiTables.load_with(~A.AcpiMemImage, ~A.AcpiMemImage.read, ~R.AcpiNoExt, ~R.AcpiNoExt.parse, A.AcpiLoadOptions{False{}, R.AcpiRegistry.empty()}, mem, X.AcpiExample.rsdp_address())))
288    IO.print(madt(M.AcpiMadt.parse(madt_o)))
289    IO.print(sdt(H.AcpiSdt.check(madt_o)))
290    IO.print(sdt(H.AcpiSdt.check(poke(madt_o, 40n, 7))))
291    IO.print(sdt(H.AcpiSdt.check(B.Octets.take(30n, madt_o))))
292    IO.print(fadt(F.AcpiFadt.parse(F.AcpiFadt.build(X.AcpiExample.fadt()))))
293    IO.print(hpet(Hp.AcpiHpet.parse(Hp.AcpiHpet.build(X.AcpiExample.hpet()))))
294    IO.print(mcfg(Mc.AcpiMcfg.parse(Mc.AcpiMcfg.build(X.AcpiExample.mcfg()))))
295    IO.print(slit(Sl.AcpiSlit.parse(Sl.AcpiSlit.build(X.AcpiExample.slit()))))
296    IO.print(B.Octets.hex(K.AmlPkgLength.encode(63)) ++ " " ++ B.Octets.hex(K.AmlPkgLength.encode(64)) ++ " " ++ B.Octets.hex(K.AmlPkgLength.encode(4095)) ++ " " ++ B.Octets.hex(K.AmlPkgLength.encode(4096)) ++ " " ++ B.Octets.hex(K.AmlPkgLength.encode(268435455)))
297    IO.print(B.Octets.hex(N.AmlName.encode(N.AmlName.of_text("\\_SB.PCI0.LPCB"))) ++ " " ++ B.Octets.hex(N.AmlName.encode(N.AmlName.of_text("^^_STA"))))
298    IO.print(B.Octets.hex(T.AmlT.encode1(T.AmlT.name("_HID", T.AmlT.eisaid("PNP0A03")))) ++ " " ++ Dv.AmlEisaId.text(T.AmlT.eisaid_value("PNP0C0F")))
299    IO.print(String.join(devs(s, Dv.AmlDevice.list(Am.AmlSystem.ns(Hs.AmlMemHost, s))), ", "))
300    IO.print(crs(Dv.AmlDevice.crs(~Hs.AmlMemHost, ~Hs.AmlMemHost.io, s, "\\_SB_.PCI0", 1000n)))
301    IO.print(crs(Dv.AmlDevice.crs(~Hs.AmlMemHost, ~Hs.AmlMemHost.io, s, "\\_SB_.LNKA", 1000n)))
302    IO.print(log(s, "\\_SB_.LNKA._CRS"))
303    IO.print(prt(Dv.AmlDevice.prt(~Hs.AmlMemHost, ~Hs.AmlMemHost.io, s, "\\_SB_.PCI0", 1000n)))
304    IO.print(ev(s, "\\_TZ_.TZ00._TMP", Nil{}, 1000n))
305    IO.print(ev(s, "\\_SB_.SUM_", [V.AmlInt{W.W64.from_u32(100)}], 100000n))
306    IO.print(ev(s, "\\_SB_.OSYS", Nil{}, 1000n))
307    IO.print(note(s, "\\_SB_.PCI0.LPCB.EC0_._Q01"))
308    IO.print(ev(s, "\\_SB_.SPIN", Nil{}, 1000n))
309    IO.print(ev(s, "\\_SB_.NONE", Nil{}, 1000n))
310    IO.print(narrow())

Uses (76)

Used by (0)

No other definition uses this definition.