Check.main: def of bend-osdev-acpi@0.1.1.0 Import: import bend-osdev-acpi@0.1.1.0/check.bend as Check Lines 277-310 of bend-osdev-acpi@0.1.1.0/check.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&start_line=277&end_line=310 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 def main() -> IO(Unit): +mem = X.AcpiExample.memory() +s = sys() +madt_o = M.AcpiMadt.build(X.AcpiExample.madt()) +rsdp_o = P.AcpiRsdp.build(X.AcpiExample.rsdp()) do IO: IO.print("rsdp at " ++ mn(P.AcpiRsdp.find(B.Octets.append(B.Octets.zeros(16n), rsdp_o)))) IO.print(rsdp(P.AcpiRsdp.parse(rsdp_o))) IO.print(rsdp(P.AcpiRsdp.parse(poke(rsdp_o, 10n, 0)))) IO.print(tables(A.AcpiTables.load(~A.AcpiMemImage, ~A.AcpiMemImage.read, mem, X.AcpiExample.rsdp_address()))) 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()))) IO.print(madt(M.AcpiMadt.parse(madt_o))) IO.print(sdt(H.AcpiSdt.check(madt_o))) IO.print(sdt(H.AcpiSdt.check(poke(madt_o, 40n, 7)))) IO.print(sdt(H.AcpiSdt.check(B.Octets.take(30n, madt_o)))) IO.print(fadt(F.AcpiFadt.parse(F.AcpiFadt.build(X.AcpiExample.fadt())))) IO.print(hpet(Hp.AcpiHpet.parse(Hp.AcpiHpet.build(X.AcpiExample.hpet())))) IO.print(mcfg(Mc.AcpiMcfg.parse(Mc.AcpiMcfg.build(X.AcpiExample.mcfg())))) IO.print(slit(Sl.AcpiSlit.parse(Sl.AcpiSlit.build(X.AcpiExample.slit())))) 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))) 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")))) IO.print(B.Octets.hex(T.AmlT.encode1(T.AmlT.name("_HID", T.AmlT.eisaid("PNP0A03")))) ++ " " ++ Dv.AmlEisaId.text(T.AmlT.eisaid_value("PNP0C0F"))) IO.print(String.join(devs(s, Dv.AmlDevice.list(Am.AmlSystem.ns(Hs.AmlMemHost, s))), ", ")) IO.print(crs(Dv.AmlDevice.crs(~Hs.AmlMemHost, ~Hs.AmlMemHost.io, s, "\\_SB_.PCI0", 1000n))) IO.print(crs(Dv.AmlDevice.crs(~Hs.AmlMemHost, ~Hs.AmlMemHost.io, s, "\\_SB_.LNKA", 1000n))) IO.print(log(s, "\\_SB_.LNKA._CRS")) IO.print(prt(Dv.AmlDevice.prt(~Hs.AmlMemHost, ~Hs.AmlMemHost.io, s, "\\_SB_.PCI0", 1000n))) IO.print(ev(s, "\\_TZ_.TZ00._TMP", Nil{}, 1000n)) IO.print(ev(s, "\\_SB_.SUM_", [V.AmlInt{W.W64.from_u32(100)}], 100000n)) IO.print(ev(s, "\\_SB_.OSYS", Nil{}, 1000n)) IO.print(note(s, "\\_SB_.PCI0.LPCB.EC0_._Q01")) IO.print(ev(s, "\\_SB_.SPIN", Nil{}, 1000n)) IO.print(ev(s, "\\_SB_.NONE", Nil{}, 1000n)) IO.print(narrow()) Uses (76): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.bind https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.print https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.append https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.join https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Unit https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/acpi.bend&name=AcpiLoadOptions https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/acpi.bend&name=AcpiMemImage https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/acpi.bend&name=AcpiMemImage.read https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/acpi.bend&name=AcpiTables.load https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/acpi.bend&name=AcpiTables.load_with https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml.bend&name=AmlSystem.ns https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_device.bend&name=AmlDevice.crs https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_device.bend&name=AmlDevice.list https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_device.bend&name=AmlDevice.prt https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_device.bend&name=AmlEisaId.text https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_host.bend&name=AmlMemHost https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_host.bend&name=AmlMemHost.io https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=AmlName.encode https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_name.bend&name=AmlName.of_text https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_pkglength.bend&name=AmlPkgLength.encode https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_term.bend&name=AmlT.eisaid https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_term.bend&name=AmlT.eisaid_value https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_term.bend&name=AmlT.encode1 https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_term.bend&name=AmlT.name https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/aml_value.bend&name=AmlValue https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=crs https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=devs https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=ev https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=fadt https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=hpet https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=log https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=madt https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=mcfg https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=mn https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=narrow https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=note https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=poke https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=prt https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=rsdp https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=sdt https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=slit https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=sys https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/check.bend&name=tables https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/example.bend&name=AcpiExample.fadt https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/example.bend&name=AcpiExample.hpet https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/example.bend&name=AcpiExample.madt https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/example.bend&name=AcpiExample.mcfg https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/example.bend&name=AcpiExample.memory https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/example.bend&name=AcpiExample.rsdp https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/example.bend&name=AcpiExample.rsdp_address https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/example.bend&name=AcpiExample.slit https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/fadt.bend&name=AcpiFadt.build https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/fadt.bend&name=AcpiFadt.parse https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/header.bend&name=AcpiSdt.check https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/hpet.bend&name=AcpiHpet.build https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/hpet.bend&name=AcpiHpet.parse https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/madt.bend&name=AcpiMadt.build https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/madt.bend&name=AcpiMadt.parse https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/mcfg.bend&name=AcpiMcfg.build https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/mcfg.bend&name=AcpiMcfg.parse https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/registry.bend&name=AcpiNoExt https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/registry.bend&name=AcpiNoExt.parse https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/registry.bend&name=AcpiRegistry.empty https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/rsdp.bend&name=AcpiRsdp.build https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/rsdp.bend&name=AcpiRsdp.find https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/rsdp.bend&name=AcpiRsdp.parse https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/slit.bend&name=AcpiSlit.build https://jend.leeeet.dev/definition.txt?path=bend-osdev-acpi@0.1.1.0/slit.bend&name=AcpiSlit.parse https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.append https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.hex https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.take https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.zeros https://jend.leeeet.dev/definition.txt?path=bend-osdev-word64@0.1.1.0/word64.bend&name=W64.from_u32