def main
import bend-osdev-acpi@0.1.1.0/check.bend as Checkimport 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.