def hst.go
bend-osdev-acpi@0.1.1.0 · aml_host.bend:75
import bend-osdev-acpi@0.1.1.0/aml_host.bend as AmlHost
import Base
import bend-osdev-word64@0.1.1.0/word64.bend as W
import bend-osdev-acpi@0.1.1.0/error.bend as E
75def hst.go(h: AmlMemHost, op: AmlHostOp) -> Result<&2, &2, E.AcpiError, AmlHostAns<AmlMemHost>>:
76 match h op:
77 case AmlMemHost{+m, log} AmlHRead{AmlAccess{+s, +a, +w}}:
78 Done{AmlHostAns{AmlMemHost{m, Con{AmlHRead{AmlAccess{s, a, w}}, log}}, hst.rd(Nat.div(w, 8n), m, s, a, 0n, W.W64.zero())}}
79 case AmlMemHost{m, log} AmlHWrite{AmlAccess{+s, +a, +w}, +v}:
80 Done{AmlHostAns{AmlMemHost{hst.wr(Nat.div(w, 8n), m, s, a, v), Con{AmlHWrite{AmlAccess{s, a, w}, v}, log}}, v}}