law rsdt_whole

bend-osdev-acpi@0.1.2.0 · LAWS_whole.bend:101

import bend-osdev-acpi@0.1.2.0/LAWS_whole.bend as LAWSWhole
import Base
import bend-osdev-word64@0.1.1.1/word64.bend as W
import bend-osdev-bytes@0.1.1.1/bytes.bend as B
import bend-osdev-acpi@0.1.2.0/error.bend as E
import bend-osdev-acpi@0.1.2.0/header.bend as H
import bend-osdev-acpi@0.1.2.0/rsdt.bend as R
import bend-osdev-acpi@0.1.2.0/LAWS_tables.bend as TL

101# The RSDT: each address's low 32 bits
102law rsdt_whole:
103  for +h0: H.AcpiHeader
104  for +oem6b: {B.Octets.len(H.AcpiHeader.oem_id(h0)) == 6n : Nat}
105  for +tid8b: {B.Octets.len(H.AcpiHeader.oem_table_id(h0)) == 8n : Nat}
106  for +cid4b: {B.Octets.len(H.AcpiHeader.creator_id(h0)) == 4n : Nat}
107  for +rev8b: {B.byte(H.AcpiHeader.revision(h0)) == H.AcpiHeader.revision(h0) : U32}
108  for +xs: List<&2, W.W64>
109  for +z: U32
110  for +fit: {Nat.is_le(B.Octets.len(R.AcpiRsdt.build(h0, xs)), U32.to_nat(z)) == True{} : Bool}
111  {R.AcpiRsdt.parse(R.AcpiRsdt.build(h0, xs)) == Done{R.AcpiSdtList{acpilaw.written(B.Octets.of_string("RSDT"), h0, R.AcpiRsdt.build(h0, xs)), TL.acpilaw.low32(xs)}} : Result<&2, &2, E.AcpiError, R.AcpiSdtList>}

Uses (39)

Used by (0)

No other definition uses this definition.