Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) /******************************************************************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  * Module Name: psopinfo - AML opcode information functions and dispatch tables
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6)  * Copyright (C) 2000 - 2020, Intel Corp.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8)  *****************************************************************************/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) #include <acpi/acpi.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) #include "accommon.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) #include "acparser.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) #include "acopcode.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) #include "amlcode.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) #define _COMPONENT          ACPI_PARSER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) ACPI_MODULE_NAME("psopinfo")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) static const u8 acpi_gbl_argument_count[] =
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)     { 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 6 };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) /*******************************************************************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24)  * FUNCTION:    acpi_ps_get_opcode_info
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26)  * PARAMETERS:  opcode              - The AML opcode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28)  * RETURN:      A pointer to the info about the opcode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30)  * DESCRIPTION: Find AML opcode description based on the opcode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31)  *              NOTE: This procedure must ALWAYS return a valid pointer!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33)  ******************************************************************************/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) const struct acpi_opcode_info *acpi_ps_get_opcode_info(u16 opcode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) #ifdef ACPI_DEBUG_OUTPUT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 	const char *opcode_name = "Unknown AML opcode";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 	ACPI_FUNCTION_NAME(ps_get_opcode_info);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 	/*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 	 * Detect normal 8-bit opcode or extended 16-bit opcode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	if (!(opcode & 0xFF00)) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 		/* Simple (8-bit) opcode: 0-255, can't index beyond table  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 		return (&acpi_gbl_aml_op_info
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 			[acpi_gbl_short_op_index[(u8)opcode]]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 	if (((opcode & 0xFF00) == AML_EXTENDED_OPCODE) &&
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	    (((u8)opcode) <= MAX_EXTENDED_OPCODE)) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 		/* Valid extended (16-bit) opcode */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 		return (&acpi_gbl_aml_op_info
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 			[acpi_gbl_long_op_index[(u8)opcode]]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) #if defined ACPI_ASL_COMPILER && defined ACPI_DEBUG_OUTPUT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) #include "asldefine.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	switch (opcode) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	case AML_RAW_DATA_BYTE:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 		opcode_name = "-Raw Data Byte-";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	case AML_RAW_DATA_WORD:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 		opcode_name = "-Raw Data Word-";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	case AML_RAW_DATA_DWORD:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 		opcode_name = "-Raw Data Dword-";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 	case AML_RAW_DATA_QWORD:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 		opcode_name = "-Raw Data Qword-";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 	case AML_RAW_DATA_BUFFER:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 		opcode_name = "-Raw Data Buffer-";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	case AML_RAW_DATA_CHAIN:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 		opcode_name = "-Raw Data Buffer Chain-";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	case AML_PACKAGE_LENGTH:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 		opcode_name = "-Package Length-";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	case AML_UNASSIGNED_OPCODE:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 		opcode_name = "-Unassigned Opcode-";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 	case AML_DEFAULT_ARG_OP:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 		opcode_name = "-Default Arg-";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 	default:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 	/* Unknown AML opcode */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 	ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "%s [%4.4X]\n", opcode_name, opcode));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 	return (&acpi_gbl_aml_op_info[_UNK]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) /*******************************************************************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)  * FUNCTION:    acpi_ps_get_opcode_name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)  * PARAMETERS:  opcode              - The AML opcode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)  * RETURN:      A pointer to the name of the opcode (ASCII String)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)  *              Note: Never returns NULL.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)  * DESCRIPTION: Translate an opcode into a human-readable string
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125)  ******************************************************************************/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) const char *acpi_ps_get_opcode_name(u16 opcode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) #if defined(ACPI_DISASSEMBLER) || defined (ACPI_DEBUG_OUTPUT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 	const struct acpi_opcode_info *op;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 	op = acpi_ps_get_opcode_info(opcode);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 	/* Always guaranteed to return a valid pointer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 	return (op->name);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 	return ("OpcodeName unavailable");
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) /*******************************************************************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)  * FUNCTION:    acpi_ps_get_argument_count
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)  * PARAMETERS:  op_type             - Type associated with the AML opcode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)  * RETURN:      Argument count
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153)  * DESCRIPTION: Obtain the number of expected arguments for an AML opcode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)  ******************************************************************************/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) u8 acpi_ps_get_argument_count(u32 op_type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 	if (op_type <= AML_TYPE_EXEC_6A_0T_1R) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 		return (acpi_gbl_argument_count[op_type]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 	return (0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)  * This table is directly indexed by the opcodes It returns
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169)  * an index into the opcode table (acpi_gbl_aml_op_info)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) const u8 acpi_gbl_short_op_index[256] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) /*              0     1     2     3     4     5     6     7  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) /*              8     9     A     B     C     D     E     F  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) /* 0x00 */ 0x00, 0x01, _UNK, _UNK, _UNK, _UNK, 0x02, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) /* 0x08 */ 0x03, _UNK, 0x04, 0x05, 0x06, 0x07, 0x6E, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) /* 0x10 */ 0x08, 0x09, 0x0a, 0x6F, 0x0b, 0x81, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) /* 0x18 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) /* 0x20 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) /* 0x28 */ _UNK, _UNK, _UNK, _UNK, _UNK, 0x63, _PFX, _PFX,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) /* 0x30 */ 0x67, 0x66, 0x68, 0x65, 0x69, 0x64, 0x6A, 0x7D,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) /* 0x38 */ 0x7F, 0x80, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) /* 0x40 */ _UNK, _ASC, _ASC, _ASC, _ASC, _ASC, _ASC, _ASC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) /* 0x48 */ _ASC, _ASC, _ASC, _ASC, _ASC, _ASC, _ASC, _ASC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) /* 0x50 */ _ASC, _ASC, _ASC, _ASC, _ASC, _ASC, _ASC, _ASC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) /* 0x58 */ _ASC, _ASC, _ASC, _UNK, _PFX, _UNK, _PFX, _ASC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) /* 0x60 */ 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) /* 0x68 */ 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) /* 0x70 */ 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) /* 0x78 */ 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) /* 0x80 */ 0x2b, 0x2c, 0x2d, 0x2e, 0x70, 0x71, 0x2f, 0x30,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) /* 0x88 */ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x72,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) /* 0x90 */ 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x73, 0x74,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) /* 0x98 */ 0x75, 0x76, _UNK, _UNK, 0x77, 0x78, 0x79, 0x7A,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) /* 0xA0 */ 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x60, 0x61,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) /* 0xA8 */ 0x62, 0x82, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) /* 0xB0 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) /* 0xB8 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) /* 0xC0 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) /* 0xC8 */ _UNK, _UNK, _UNK, _UNK, 0x44, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) /* 0xD0 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) /* 0xD8 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) /* 0xE0 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) /* 0xE8 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) /* 0xF0 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) /* 0xF8 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, 0x45,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209)  * This table is indexed by the second opcode of the extended opcode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210)  * pair. It returns an index into the opcode table (acpi_gbl_aml_op_info)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) const u8 acpi_gbl_long_op_index[NUM_EXTENDED_OPCODE] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) /*              0     1     2     3     4     5     6     7  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) /*              8     9     A     B     C     D     E     F  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) /* 0x00 */ _UNK, 0x46, 0x47, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) /* 0x08 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) /* 0x10 */ _UNK, _UNK, 0x48, 0x49, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) /* 0x18 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, 0x7B,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) /* 0x20 */ 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) /* 0x28 */ 0x52, 0x53, 0x54, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) /* 0x30 */ 0x55, 0x56, 0x57, 0x7e, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) /* 0x38 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) /* 0x40 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) /* 0x48 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) /* 0x50 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) /* 0x58 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) /* 0x60 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) /* 0x68 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) /* 0x70 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) /* 0x78 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) /* 0x80 */ 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) /* 0x88 */ 0x7C,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) };