def res.large
bend-osdev-acpi@0.1.1.0 · aml_resource.bend:201
import bend-osdev-acpi@0.1.1.0/aml_resource.bend as AmlResource
import Base
import bend-osdev-bytes@0.1.1.0/bytes.bend as B
import bend-osdev-acpi@0.1.1.0/fields.bend as F
201def res.large(+t: Nat, +d: B.Octets) -> AmlResource:
202 match t:
203 case 5n:
204 AmlRMem32{F.AcpiF.u8(d, 0n), F.AcpiF.u32(d, 1n), F.AcpiF.u32(d, 5n), F.AcpiF.u32(d, 9n), F.AcpiF.u32(d, 13n)}
205 case 6n:
206 AmlRMem32Fixed{F.AcpiF.u8(d, 0n), F.AcpiF.u32(d, 1n), F.AcpiF.u32(d, 5n)}
207 case 7n:
208 res.addr(32, 4n, d)
209 case 8n:
210 res.addr(16, 2n, d)
211 case 10n:
212 res.addr(64, 8n, d)
213 case 9n:
214 AmlRExtIrq{F.AcpiF.u8(d, 0n), res.irqs(U32.to_nat(F.AcpiF.u8(d, 1n)), d, 2n)}
215 case _:
216 AmlROther{U32.add(128, U32.from_nat(t)), d}