@@ 1,153 0,0 @@
-/*
- * Copyright (C) 2020 Scoopta
- * This file is part of NekOS
- * NekOS is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- NekOS is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with NekOS. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <aml.h>
-
-#include <printf.h>
-
-enum aml_op {
- AML_OP_ZERO,
- AML_OP_ONE,
- AML_OP_ALIAS = 0x6,
- AML_OP_NAME = 0x8,
- AML_OP_BYTE_PREFIX = 0xA,
- AML_OP_WORD_PREFIX,
- AML_OP_DWORD_PREFIX,
- AML_OP_STRING_PREFIX,
- AML_OP_QWORD_PREFIX,
- AML_OP_SCOPE = 0x10,
- AML_OP_BUFFER,
- AML_OP_PACKAGE,
- AML_OP_VAR_PACKAGE,
- AML_OP_METHOD,
- AML_OP_EXTERNAL,
- AML_OP_DUAL_NAME_PREFIX = 0x2E,
- AML_OP_MULTI_NAME_PREFIX,
- AML_OP_EXT_OP_PREFIX = 0x5B,
- AML_OP_ROOT_CHAR,
- AML_OP_PARENT_PREFIX_CHAR = 0x5E,
- AML_OP_NAME_CHAR,
- AML_OP_LOCAL0,
- AML_OP_LOCAL1,
- AML_OP_LOCAL2,
- AML_OP_LOCAL3,
- AML_OP_LOCAL4,
- AML_OP_LOCAL5,
- AML_OP_LOCAL6,
- AML_OP_LOCAL7,
- AML_OP_ARG0,
- AML_OP_ARG1,
- AML_OP_ARG2,
- AML_OP_ARG3,
- AML_OP_ARG4,
- AML_OP_ARG5,
- AML_OP_ARG6,
- AML_OP_STORE = 0x70,
- AML_OP_REF,
- AML_OP_ADD,
- AML_OP_CONCAT,
- AML_OP_SUBTRACT,
- AML_OP_INCREMENT,
- AML_OP_DECREMENT,
- AML_OP_MULTIPLY,
- AML_OP_DIVIDE,
- AML_OP_SHIFT_LEFT,
- AML_OP_SHIFT_RIGHT,
- AML_OP_AND,
- AML_OP_NAND,
- AML_OP_OR,
- AML_OP_NOR,
- AML_OP_XOR,
- AML_OP_NOT,
- AML_OP_FIND_SET_LEFT_BIT,
- AML_OP_FIND_SET_RIGHT_BIT,
- AML_OP_DEREF,
- AML_OP_CONCAT_RES,
- AML_OP_MOD,
- AML_OP_NOTIFY,
- AML_OP_SIZE_OF,
- AML_OP_INDEX,
- AML_OP_MATCH,
- AML_OP_CREATE_DWORD_FIELD,
- AML_OP_CREATE_WORD_FIELD,
- AML_OP_CREATE_BYTE_FIELD,
- AML_OP_CREATE_BIT_FIELD,
- AML_OP_OBJECT_TYPE,
- AML_OP_CREATE_QWORD_FIELD,
- AML_OP_LAND,
- AML_OP_LOR,
- AML_OP_LNOT,
- AML_OP_LNOT_EQUAL,
- AML_OP_LLESS_EQUAL,
- AML_OP_LGREATER_EQUAL,
- AML_OP_LLESS,
- AML_OP_TO_BUFFER,
- AML_OP_TO_DECIMAL_STRING,
- AML_OP_TO_HEX_STRING,
- AML_OP_TO_INTEGER,
- AML_OP_TO_STRING = 0x9C,
- AML_OP_COPY_OBJECT,
- AML_OP_MID,
- AML_OP_CONTINUE,
- AML_OP_IF,
- AML_OP_ELSE,
- AML_OP_WHILE,
- AML_OP_NOOP,
- AML_OP_RETURN,
- AML_OP_BREAK,
- AML_OP_BREAK_POINT = 0xCC,
- AML_OP_ONES = 0xFF
-};
-
-enum aml_op_ext {
- AML_OP_EXT_MUTEX,
- AML_OP_EXT_EVENT,
- AML_OP_EXT_COND_REF = 0x12,
- AML_OP_EXT_CREATE_FIELD,
- AML_OP_EXT_LOAD_TABLE = 0x1F,
- AML_OP_EXT_LOAD,
- AML_OP_EXT_STALL,
- AML_OP_EXT_SLEEP,
- AML_OP_EXT_ACQUIRE,
- AML_OP_EXT_SIGNAL,
- AML_OP_EXT_WAIT,
- AML_OP_EXT_RESET,
- AML_OP_EXT_RELEASE,
- AML_OP_EXT_FROM_BCD,
- AML_OP_EXT_TO_BCD,
- AML_OP_EXT_RESERVED,
- AML_OP_EXT_REVISION = 0x30,
- AML_OP_EXT_DEBUG,
- AML_OP_EXT_FATAL,
- AML_OP_EXT_TIMER,
- AML_OP_EXT_OP_REGION = 0x80,
- AML_OP_EXT_FIELD,
- AML_OP_EXT_DEVICE,
- AML_OP_EXT_PROCESSOR,
- AML_OP_EXT_POWER_RES,
- AML_OP_EXT_THERMAL_ZONE,
- AML_OP_EXT_INDEX_FIELD,
- AML_OP_EXT_BANK_FIELD,
- AML_OP_EXT_DATA_REGION,
-};
-
-void aml_exec(uint8_t* aml, uint64_t size) {
- kprintf("Word pfx 0x%X\n", AML_OP_WORD_PREFIX);
-// for(uint64_t count = 0; count < size; ++count) {
-//
-// }
-}