summaryrefslogtreecommitdiffhomepage
path: root/Private/DriverKit
diff options
context:
space:
mode:
authorAmlal <amlalelmahrouss@icloud.com>2024-05-11 06:43:54 +0000
committerAmlal <amlalelmahrouss@icloud.com>2024-05-11 06:43:54 +0000
commitca675beb41dba8d7d16c5793b55d1672f38be3b4 (patch)
treec995ada42729ac2059a0ed87a4539d1a7e10b14a /Private/DriverKit
parent2b4a4792abf51487ab4a16106f9376f43acf381a (diff)
parentbc57a29a24b98b00ba17710ba84ec2188ab73504 (diff)
Merged in MHR-23 (pull request #12)
MHR-23: Merge work.
Diffstat (limited to 'Private/DriverKit')
-rw-r--r--Private/DriverKit/KernelCall.c24
-rw-r--r--Private/DriverKit/KernelDev.c31
-rw-r--r--Private/DriverKit/KernelDev.h32
-rw-r--r--Private/DriverKit/KernelDispatchCall.S21
-rw-r--r--Private/DriverKit/KernelPrint.c28
-rw-r--r--Private/DriverKit/KernelPrint.h18
-rw-r--r--Private/DriverKit/KernelStd.h22
-rw-r--r--Private/DriverKit/KernelStdCxx.cc24
-rw-r--r--Private/DriverKit/KernelString.c30
-rw-r--r--Private/DriverKit/KernelString.h16
10 files changed, 0 insertions, 246 deletions
diff --git a/Private/DriverKit/KernelCall.c b/Private/DriverKit/KernelCall.c
deleted file mode 100644
index 494ac0bc..00000000
--- a/Private/DriverKit/KernelCall.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- Purpose: Kernel Definitions.
-
-------------------------------------------- */
-
-#include <DriverKit/KernelStd.h>
-#include <stdarg.h>
-
-DK_EXTERN __attribute__((naked)) void __kernelDispatchCall(int32_t cnt, ...);
-
-DK_EXTERN void* kernelCall(const char* kernelRpcName, int32_t cnt, ...) {
- if (!kernelRpcName || cnt == 0) return NIL;
-
- va_list arg;
- va_start(arg, cnt);
-
- __kernelDispatchCall(cnt, arg);
-
- va_end(arg);
-
-}
diff --git a/Private/DriverKit/KernelDev.c b/Private/DriverKit/KernelDev.c
deleted file mode 100644
index e8c041af..00000000
--- a/Private/DriverKit/KernelDev.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- Purpose: Kernel Text I/O.
-
-------------------------------------------- */
-
-#include <DriverKit/KernelDev.h>
-
-/// @brief Open a new binary device from path.
-DK_EXTERN kernelDeviceRef kernelOpenBinaryDevice(const char* devicePath) {
- if (!devicePath) return NIL;
-
- return kernelCall("OpenBinaryDevice", 1, devicePath);
-}
-
-/// @brief Open a new character device from path.
-DK_EXTERN kernelDeviceRef kernelOpenCharDevice(const char* devicePath) {
- if (!devicePath) return NIL;
-
- return kernelCall("OpenCharDevice", 1, devicePath);
-}
-
-/// @brief Close any device.
-/// @param device valid device.
-DK_EXTERN void kernelCloseDevice(kernelDeviceRef device) {
- if (!device) return;
-
- kernelCall("CloseDevice", 1, device);
-}
diff --git a/Private/DriverKit/KernelDev.h b/Private/DriverKit/KernelDev.h
deleted file mode 100644
index 8b6888f0..00000000
--- a/Private/DriverKit/KernelDev.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- Purpose: Kernel Devices.
-
-------------------------------------------- */
-
-#pragma once
-
-#include <DriverKit/KernelStd.h>
-
-struct _kernelDevice;
-
-/// @brief Kernel Device driver.
-typedef struct _kernelDevice {
- char name[255]; // the device name. Could be /./DEVICE_NAME/
- int32_t(*read)(); // read from device.
- int32_t(*write)(); // write to device.
- struct _kernelDevice* (*open)(const char* path); // open device.
- void (*close)(struct _kernelDevice* dev); // close device.
-} kernelDevice,* kernelDeviceRef;
-
-/// @brief Open a new binary device from path.
-DK_EXTERN kernelDeviceRef kernelOpenBinaryDevice(const char* devicePath);
-
-/// @brief Open a new character device from path.
-DK_EXTERN kernelDeviceRef kernelOpenCharDevice(const char* devicePath);
-
-/// @brief Close any device.
-/// @param device valid device.
-DK_EXTERN void kernelCloseDevice(kernelDeviceRef device);
diff --git a/Private/DriverKit/KernelDispatchCall.S b/Private/DriverKit/KernelDispatchCall.S
deleted file mode 100644
index 64b6663e..00000000
--- a/Private/DriverKit/KernelDispatchCall.S
+++ /dev/null
@@ -1,21 +0,0 @@
-.globl __kernelDispatchCall
-
-.section .text
-
-/* Really simple function, takes our va-list,
- and brings it to the trap handler in the kernel. */
-
-#ifdef __x86_64__
-
-__kernelDispatchCall:
- int $0x33
- ret
-
-#elif defined(__powerpc64__)
-
-__kernelDispatchCall:
- /* There is no specific interrupt request id for a system call in POWER. */
- sc
- blr
-
-#endif
diff --git a/Private/DriverKit/KernelPrint.c b/Private/DriverKit/KernelPrint.c
deleted file mode 100644
index 5ca09ccf..00000000
--- a/Private/DriverKit/KernelPrint.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- Purpose: Kernel Text I/O.
-
-------------------------------------------- */
-
-#include <DriverKit/KernelPrint.h>
-
-DK_EXTERN void kernelPrintChar(const char ch) {
- kernelCall("WriteCharacter", 1, ch);
-}
-
-/// @brief print string to UART.
-/// @param message UART to transmit.
-DK_EXTERN void kernelPrintStr(const char* message) {
- if (!message) return;
- if (*message == 0) return;
-
- size_t index = 0;
- size_t len = kernelStringLength(message);
-
- while (index < len) {
- kernelPrintChar(message[index]);
- ++index;
- }
-}
diff --git a/Private/DriverKit/KernelPrint.h b/Private/DriverKit/KernelPrint.h
deleted file mode 100644
index 36e55442..00000000
--- a/Private/DriverKit/KernelPrint.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- Purpose: Kernel Text I/O.
-
-------------------------------------------- */
-
-#pragma once
-
-#include <DriverKit/KernelString.h>
-
-/// @brief print character into UART.
-DK_EXTERN void kernelPrintChar(const char ch);
-
-/// @brief print string to UART.
-/// @param message UART to transmit.
-DK_EXTERN void kernelPrintStr(const char* message);
diff --git a/Private/DriverKit/KernelStd.h b/Private/DriverKit/KernelStd.h
deleted file mode 100644
index 3344630e..00000000
--- a/Private/DriverKit/KernelStd.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- Purpose: Kernel Definitions.
-
-------------------------------------------- */
-
-#pragma once
-
-#if defined(__cplusplus)
-#define DK_EXTERN extern "C"
-#define NIL nullptr
-#else
-#define DK_EXTERN extern
-#define NIL NULL
-#endif // defined(__cplusplus)
-
-#include <stdint.h>
-#include <stddef.h>
-
-DK_EXTERN void* kernelCall(const char* kernelRpcName, int32_t cnt, ...);
diff --git a/Private/DriverKit/KernelStdCxx.cc b/Private/DriverKit/KernelStdCxx.cc
deleted file mode 100644
index 79d41a72..00000000
--- a/Private/DriverKit/KernelStdCxx.cc
+++ /dev/null
@@ -1,24 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- Purpose: Driver C++ Definitions.
-
-------------------------------------------- */
-
-#include <DriverKit/KernelStd.h>
-
-void* operator new(size_t sz) {
- if (!sz) ++sz;
-
- auto ptr = kernelCall("NewKernelHeap", 1, sz);
- kernelCall("KernelHeapProtect", 1, ptr);
-
- return ptr;
-}
-
-void operator delete(void* ptr) noexcept {
- if (!ptr) return;
-
- kernelCall("DeleteKernelHeap", 1,ptr);
-}
diff --git a/Private/DriverKit/KernelString.c b/Private/DriverKit/KernelString.c
deleted file mode 100644
index 0bb45b16..00000000
--- a/Private/DriverKit/KernelString.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- Purpose: Kernel Strings.
-
-------------------------------------------- */
-
-#include <DriverKit/KernelString.h>
-
-DK_EXTERN size_t kernelStringLength(const char* str) {
- size_t index = 0;
-
- while (str[index] != 0) {
- ++index;
- }
-
- return index;
-}
-
-DK_EXTERN int kernelStringCopy(char* dst, const char* src, size_t len) {
- size_t index = 0;
-
- while (index != len) {
- dst[index] = src[index];
- ++index;
- }
-
- return index;
-}
diff --git a/Private/DriverKit/KernelString.h b/Private/DriverKit/KernelString.h
deleted file mode 100644
index 8e189d26..00000000
--- a/Private/DriverKit/KernelString.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- Purpose: Kernel Strings.
-
-------------------------------------------- */
-
-#pragma once
-
-#include <DriverKit/KernelStd.h>
-
-/// @brief DriverKit equivalent of POSIX's string.h.
-
-DK_EXTERN size_t kernelStringLength(const char* str);
-DK_EXTERN int kernelStringCopy(char* dst, const char* src, size_t len);