summaryrefslogtreecommitdiffhomepage
path: root/dev/LibCompiler/AAL/CPU/amd64.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-04-19 17:33:26 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-04-19 17:33:26 +0200
commitbefde76cfa46c766e81f74eb5ac65d3dae2dde87 (patch)
tree45b2f9fd6b3f9605c2747485bd24483192f99e73 /dev/LibCompiler/AAL/CPU/amd64.h
parent3afc481dc64a07fe7fcaff9ce7a12a492c3ec8e7 (diff)
dev, LibCompiler, tooling: refactor and separate components into modules
(cppdrv, cxxdrv) Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/LibCompiler/AAL/CPU/amd64.h')
-rw-r--r--dev/LibCompiler/AAL/CPU/amd64.h58
1 files changed, 0 insertions, 58 deletions
diff --git a/dev/LibCompiler/AAL/CPU/amd64.h b/dev/LibCompiler/AAL/CPU/amd64.h
deleted file mode 100644
index 0717dc1..0000000
--- a/dev/LibCompiler/AAL/CPU/amd64.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -------------------------------------------
-
- Copyright (C) 2024-2025 Amlal EL Mahrous, all rights reserved
-
-------------------------------------------- */
-
-#pragma once
-
-#include <LibCompiler/Defines.h>
-
-// @brief AMD64 support.
-// @file CPU/amd64.hpp
-
-#define kAsmOpcodeDecl(__NAME, __OPCODE) {.fName = __NAME, .fOpcode = __OPCODE},
-
-typedef char i64_character_t;
-typedef uint8_t i64_byte_t;
-typedef uint16_t i64_hword_t;
-typedef uint32_t i64_word_t;
-
-#define kAsmRegisterPrefix "r"
-
-struct CpuOpcodeAMD64
-{
- std::string fName;
- i64_byte_t fPrefixBytes[4];
- i64_hword_t fOpcode;
- i64_hword_t fModReg;
- i64_word_t fDisplacment;
- i64_word_t fImmediate;
-};
-
-/// these two are edge cases
-#define kAsmIntOpcode 0xCC
-#define kasmIntOpcodeAlt 0xCD
-
-#define kAsmJumpOpcode 0x0F80
-#define kJumpLimit 30
-#define kJumpLimitStandard 0xE3
-#define kJumpLimitStandardLimit 0xEB
-
-inline std::vector<CpuOpcodeAMD64> kOpcodesAMD64 = {
- kAsmOpcodeDecl("int", 0xCD)
- kAsmOpcodeDecl("into", 0xCE)
- kAsmOpcodeDecl("intd", 0xF1)
- kAsmOpcodeDecl("int3", 0xC3)
- kAsmOpcodeDecl("iret", 0xCF)
- kAsmOpcodeDecl("retf", 0xCB)
- kAsmOpcodeDecl("retn", 0xC3)
- kAsmOpcodeDecl("ret", 0xC3)
- kAsmOpcodeDecl("sti", 0xfb)
- kAsmOpcodeDecl("cli", 0xfa)
- kAsmOpcodeDecl("hlt", 0xf4)
- kAsmOpcodeDecl("nop", 0x90)
- kAsmOpcodeDecl("mov", 0x48)
- kAsmOpcodeDecl("call", 0xFF)};
-
-#define kAsmRegisterLimit 16