def in.apply.code

bend-osdev-acpi@0.1.1.0 · aml_interp.bend:1916

import bend-osdev-acpi@0.1.1.0/aml_interp.bend as AmlInterp
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
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

1916def in.apply.code(~H: Data, ~io: H -> Hs.AmlHostOp -> Result<&2, &2, E.AcpiError, Hs.AmlHostAns<H>>, +code: Nat, args: List<&2, V.AmlValue>, c: AmlCur, fs: List<&2, AmlFrame>, +w: AmlWorld<H>) -> AmlMachine<H>:
1917  match code:
1918    case 6n:
1919      in.ap.alias(~H, ~io, args, c, fs, w)
1920    case 8n:
1921      in.ap.name(~H, ~io, args, c, fs, w)
1922    case 21n:
1923      in.ap.external(~H, ~io, args, c, fs, w)
1924    case 112n:
1925      in.ap.store(~H, ~io, args, c, fs, w)
1926    case 113n:
1927      in.val.give(H, in.refof(args), c, fs, w)
1928    case 114n:
1929      in.ap.int2(~H, ~io, 114n, args, c, fs, w)
1930    case 115n:
1931      in.ap.concat(~H, ~io, args, c, fs, w)
1932    case 116n:
1933      in.ap.int2(~H, ~io, 116n, args, c, fs, w)
1934    case 117n:
1935      in.ap.incdec(~H, ~io, True{}, args, c, fs, w)
1936    case 118n:
1937      in.ap.incdec(~H, ~io, False{}, args, c, fs, w)
1938    case 119n:
1939      in.ap.int2(~H, ~io, 119n, args, c, fs, w)
1940    case 120n:
1941      in.ap.div(~H, ~io, args, c, fs, w)
1942    case 121n:
1943      in.ap.int2(~H, ~io, 121n, args, c, fs, w)
1944    case 122n:
1945      in.ap.int2(~H, ~io, 122n, args, c, fs, w)
1946    case 123n:
1947      in.ap.int2(~H, ~io, 123n, args, c, fs, w)
1948    case 124n:
1949      in.ap.int2(~H, ~io, 124n, args, c, fs, w)
1950    case 125n:
1951      in.ap.int2(~H, ~io, 125n, args, c, fs, w)
1952    case 126n:
1953      in.ap.int2(~H, ~io, 126n, args, c, fs, w)
1954    case 127n:
1955      in.ap.int2(~H, ~io, 127n, args, c, fs, w)
1956    case 128n:
1957      in.ap.int1(~H, ~io, 128n, args, c, fs, w)
1958    case 129n:
1959      in.ap.int1(~H, ~io, 129n, args, c, fs, w)
1960    case 130n:
1961      in.ap.int1(~H, ~io, 130n, args, c, fs, w)
1962    case 131n:
1963      in.ap.deref(~H, ~io, args, c, fs, w)
1964    case 133n:
1965      in.ap.int2(~H, ~io, 133n, args, c, fs, w)
1966    case 134n:
1967      in.ap.notify(~H, ~io, args, c, fs, w)
1968    case 135n:
1969      in.ap.size(~H, ~io, args, c, fs, w)
1970    case 136n:
1971      in.ap.index(~H, ~io, args, c, fs, w)
1972    case 138n:
1973      in.ap.create(~H, ~io, 138n, args, c, fs, w)
1974    case 139n:
1975      in.ap.create(~H, ~io, 139n, args, c, fs, w)
1976    case 140n:
1977      in.ap.create(~H, ~io, 140n, args, c, fs, w)
1978    case 141n:
1979      in.ap.create(~H, ~io, 141n, args, c, fs, w)
1980    case 142n:
1981      in.ap.otype(~H, ~io, args, c, fs, w)
1982    case 143n:
1983      in.ap.create(~H, ~io, 143n, args, c, fs, w)
1984    case 144n:
1985      in.ap.logic(~H, ~io, 144n, args, c, fs, w)
1986    case 145n:
1987      in.ap.logic(~H, ~io, 145n, args, c, fs, w)
1988    case 146n:
1989      in.ap.logic(~H, ~io, 146n, args, c, fs, w)
1990    case 147n:
1991      in.ap.logic(~H, ~io, 147n, args, c, fs, w)
1992    case 148n:
1993      in.ap.logic(~H, ~io, 148n, args, c, fs, w)
1994    case 149n:
1995      in.ap.logic(~H, ~io, 149n, args, c, fs, w)
1996    case 150n:
1997      in.ap.conv(~H, ~io, 150n, args, c, fs, w)
1998    case 153n:
1999      in.ap.conv(~H, ~io, 153n, args, c, fs, w)
2000    case 157n:
2001      in.ap.copy(~H, ~io, args, c, fs, w)
2002    case 164n:
2003      in.ap.ret(~H, ~io, args, c, fs, w)
2004    case 257n:
2005      in.ap.mutex(~H, ~io, args, c, fs, w)
2006    case 258n:
2007      in.ap.mutex(~H, ~io, args, c, fs, w)
2008    case 274n:
2009      in.ap.condref(~H, ~io, args, c, fs, w)
2010    case 275n:
2011      in.ap.create(~H, ~io, 275n, args, c, fs, w)
2012    case 289n:
2013      in.ap.sleep(~H, ~io, 10, args, c, fs, w)
2014    case 290n:
2015      in.ap.sleep(~H, ~io, 10000, args, c, fs, w)
2016    case 291n:
2017      in.give(H, V.AmlInt{W.W64.zero()}, c, fs, w)
2018    case 293n:
2019      in.give(H, V.AmlInt{W.W64.zero()}, c, fs, w)
2020    case 304n:
2021      in.give(H, V.AmlInt{W.W64.from_u32(2)}, c, fs, w)
2022    case 306n:
2023      in.ap.fatal(~H, ~io, args, c, fs, w)
2024    case 307n:
2025      in.give(H, V.AmlInt{in.clock(H, w)}, c, fs, w)
2026    case 384n:
2027      in.ap.region(~H, ~io, args, c, fs, w)
2028    case _:
2029      AmlMachine{AmlMFail{E.AcpiAmlBadOpcode{U32.from_nat(code)}}, c, fs, w}

Uses (44)

Used by (1)