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}