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}}

Uses (11)

Used by (1)