From 7b4bd3577a31d0f0adc7371840642791ae1567f4 Mon Sep 17 00:00:00 2001 From: Amlal Date: Fri, 24 Jan 2025 10:38:36 +0100 Subject: ADD: Open version, with important changes kept out. Signed-off-by: Amlal --- dev/Kernel/HALKit/AMD64/HalCommonAPI.asm | 82 ++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 dev/Kernel/HALKit/AMD64/HalCommonAPI.asm (limited to 'dev/Kernel/HALKit/AMD64/HalCommonAPI.asm') diff --git a/dev/Kernel/HALKit/AMD64/HalCommonAPI.asm b/dev/Kernel/HALKit/AMD64/HalCommonAPI.asm new file mode 100644 index 00000000..8f6b242b --- /dev/null +++ b/dev/Kernel/HALKit/AMD64/HalCommonAPI.asm @@ -0,0 +1,82 @@ +;; /* +;; * ======================================================== +;; * +;; * ZKA +;; * Copyright (C) 2024, Amlal EL Mahrouss, all rights reserved., all rights reserved. +;; * +;; * ======================================================== +;; */ + +section .text + +extern rt_wait_400ns + +global rt_out8 +global rt_out16 +global rt_out32 + +global rt_in8 +global rt_in16 +global rt_in32 + +rt_out8: + mov al, dl + mov dx, cx + out dx, al + ret + +rt_out16: + mov ax, dx + mov dx, cx + out dx, ax + ret + +rt_out32: + mov eax, edx + mov edx, ecx + out dx, eax + ret + +rt_in8: + mov dx, cx + in al, dx + ret + +rt_in16: + mov edx, ecx + in ax, dx + ret + +rt_in32: + mov rdx, rcx + in eax, dx + ret + +extern hal_system_call_enter +global mp_system_call_handler + +mp_system_call_handler: + + push r8 + push r9 + push r10 + push r11 + push r12 + push r13 + push r14 + push r15 + + jmp hal_system_call_enter + + pop r15 + pop r14 + pop r13 + pop r12 + pop r11 + pop r10 + pop r9 + pop r8 + + o64 sysret + +[bits 16] -- cgit v1.2.3