summaryrefslogtreecommitdiffhomepage
path: root/dev/ddk/src
diff options
context:
space:
mode:
Diffstat (limited to 'dev/ddk/src')
-rw-r--r--dev/ddk/src/ddk_alloc.c36
-rw-r--r--dev/ddk/src/ddk_dev.c29
-rw-r--r--dev/ddk/src/ddk_io.c42
-rw-r--r--dev/ddk/src/ddk_kernel_call.c60
-rw-r--r--dev/ddk/src/ddk_kernel_call_dispatch.S36
-rw-r--r--dev/ddk/src/ddk_rt_cxx.cc29
-rw-r--r--dev/ddk/src/ddk_str.c39
-rw-r--r--dev/ddk/src/ddk_ver.c25
8 files changed, 0 insertions, 296 deletions
diff --git a/dev/ddk/src/ddk_alloc.c b/dev/ddk/src/ddk_alloc.c
deleted file mode 100644
index 441c2c83..00000000
--- a/dev/ddk/src/ddk_alloc.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -------------------------------------------
-
- Copyright ZKA Web Services Co.
-
- Purpose: DDK allocator.
-
-------------------------------------------- */
-
-#include <ddk/ddk.h>
-
-/**
- \brief Allocates a new heap on the Kernel's side.
- \param sz the size of the heap block.
- \return the newly allocated pointer.
-*/
-DK_EXTERN void* KernelAlloc(size_t sz)
-{
- if (!sz)
- ++sz;
-
- void* ptr = KernelCall("MmNew", 1, &sz, sizeof(size_t));
-
- return ptr;
-}
-
-/**
- \brief Frees a pointer from the heap.
- \param ptr the pointer to free.
-*/
-DK_EXTERN void KernelFree(void* ptr)
-{
- if (!ptr)
- return;
-
- KernelCall("MmDelete", 1, ptr, 0);
-}
diff --git a/dev/ddk/src/ddk_dev.c b/dev/ddk/src/ddk_dev.c
deleted file mode 100644
index 3cc28117..00000000
--- a/dev/ddk/src/ddk_dev.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -------------------------------------------
-
- Copyright ZKA Web Services Co.
-
- Purpose: DDK Text I/O.
-
-------------------------------------------- */
-
-#include <ddk/dev.h>
-#include <ddk/str.h>
-
-/// @brief Open a new binary device from path.
-DK_EXTERN KERNEL_DEVICE_PTR KernelOpenDevice(const char* devicePath)
-{
- if (!devicePath)
- return nil;
-
- return KernelCall("RtlOpenDevice", 1, (void*)devicePath, KernelStringLength(devicePath));
-}
-
-/// @brief Close any device.
-/// @param device valid device.
-DK_EXTERN void KernelCloseDevice(KERNEL_DEVICE_PTR device)
-{
- if (!device)
- return;
-
- KernelCall("RtlCloseDevice", 1, device, sizeof(KERNEL_DEVICE));
-}
diff --git a/dev/ddk/src/ddk_io.c b/dev/ddk/src/ddk_io.c
deleted file mode 100644
index 84d08e2e..00000000
--- a/dev/ddk/src/ddk_io.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -------------------------------------------
-
- Copyright ZKA Web Services Co.
-
- Purpose: DDK Text I/O.
-
-------------------------------------------- */
-
-#include <ddk/io.h>
-
-DK_EXTERN void KernelPrintChar(const char msg_ch)
-{
- char assembled[2] = {0};
-
- assembled[0] = msg_ch;
-
- if (msg_ch != 0)
- {
- assembled[1] = 0;
- }
-
- KernelCall("SrWriteCharacter", 1, assembled, 1);
-}
-
-/// @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/dev/ddk/src/ddk_kernel_call.c b/dev/ddk/src/ddk_kernel_call.c
deleted file mode 100644
index 2a310dc6..00000000
--- a/dev/ddk/src/ddk_kernel_call.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* -------------------------------------------
-
- Copyright ZKA Web Services Co.
-
- Purpose: DDK Kernel call.
-
-------------------------------------------- */
-
-#include <ddk/ddk.h>
-#include <stdarg.h>
-
-/// @brief this is an internal call, do not use it.
-DK_EXTERN ATTRIBUTE(naked) void* __KernelCallDispatch(const char* name, int32_t cnt, void* data, size_t sz);
-
-/// @brief Interupt Kernel
-/// @param KernelRpcName RPC name
-/// @param cnt number of elements in **data** pointer.
-/// @param data data pointer.
-/// @param sz The size of the whole data pointer.
-/// @retval void* Kernel call was successful.
-/// @retval nil Kernel call failed, call KernelLastError(void)
-DK_EXTERN void* KernelCall(const char* name, int32_t cnt, void* data, size_t sz)
-{
- if (!name || *name == 0 || cnt == 0)
- return nil;
-
- return __KernelCallDispatch(name, cnt, data, sz);
-}
-
-/// @brief Add system call.
-/// @param slot system call slot
-/// @param slotFn, syscall slot.
-DK_EXTERN void KernelAddSyscall(const int slot, void (*slotFn)(void* a0))
-{
- KernelCall("IntAddSyscall", slot, slotFn, 1);
-}
-
-/// @brief Get a Kernel property.
-/// @param slot property id (always 0)
-/// @param name the object's name.
-/// @return The manifest structure.
-DK_EXTERN struct DDK_OBJECT_MANIFEST* KernelGetObject(const int slot, const char* name)
-{
- struct DDK_OBJECT_MANIFEST* manifest = (struct DDK_OBJECT_MANIFEST*)KernelCall("RtlGetObject", slot, (void*)name, 1);
-
- if (!manifest)
- return nil;
-
- return manifest;
-}
-
-/// @brief Set a Kernel property.
-/// @param slot property id (always 0)
-/// @param name the object's name.
-/// @param ddk_pr pointer to a object's DDK_OBJECT_MANIFEST.
-/// @return property's object.
-DK_EXTERN void* KernelSetObject(const int slot, const struct DDK_OBJECT_MANIFEST* ddk_pr)
-{
- return KernelCall("RtlSetObject", slot, (void*)ddk_pr, 1);
-}
diff --git a/dev/ddk/src/ddk_kernel_call_dispatch.S b/dev/ddk/src/ddk_kernel_call_dispatch.S
deleted file mode 100644
index 3a9a57b5..00000000
--- a/dev/ddk/src/ddk_kernel_call_dispatch.S
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- lang: asm
- compiler: gnu
- */
-
-.globl __KernelCallDispatch
-
-.text
-
-/* Really simple function, takes our va-list,
- and brings it to the trap handler in the Kernel. */
-
-#ifdef __DDK_AMD64__
-
-/* args rcx, rdx, r8, r9 */
-__KernelCallDispatch:
- int $0x33
- ret
-
-#elif defined(__DDK_POWER64__)
-
-/* args r8, r9, r10, r11 */
-__KernelCallDispatch:
- /* There is no specific interrupt request id for a system call in POWER. */
- sc
- blr
-
-#elif defined(__DDK_ARM64__)
-
-/* args x0, x8, x9, x10, x11 is kept to tell that this is a Kernel call */
-__KernelCallDispatch:
- /* There is no specific interrupt request id for a system call in ARM64 as well. */
- mov x9, #0x33
- svc #0
-
-#endif
diff --git a/dev/ddk/src/ddk_rt_cxx.cc b/dev/ddk/src/ddk_rt_cxx.cc
deleted file mode 100644
index 8ca2464c..00000000
--- a/dev/ddk/src/ddk_rt_cxx.cc
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -------------------------------------------
-
- Copyright ZKA Web Services Co.
-
- Purpose: DDK C++ runtime.
-
-------------------------------------------- */
-
-#include <ddk/ddk.h>
-
-void* operator new(size_t sz)
-{
- return KernelAlloc(sz);
-}
-
-void operator delete(void* ptr)
-{
- KernelFree(ptr);
-}
-
-void* operator new[](size_t sz)
-{
- return KernelAlloc(sz);
-}
-
-void operator delete[](void* ptr)
-{
- KernelFree(ptr);
-}
diff --git a/dev/ddk/src/ddk_str.c b/dev/ddk/src/ddk_str.c
deleted file mode 100644
index 5b368d39..00000000
--- a/dev/ddk/src/ddk_str.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -------------------------------------------
-
- Copyright ZKA Web Services Co.
-
- Purpose: DDK Strings.
-
-------------------------------------------- */
-
-#include <ddk/str.h>
-
-DK_EXTERN size_t KernelStringLength(const char* in)
-{
- if (in == nil)
- return 0;
- if (*in == 0)
- return 0;
-
- size_t index = 0;
-
- while (in[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/dev/ddk/src/ddk_ver.c b/dev/ddk/src/ddk_ver.c
deleted file mode 100644
index 826cd3f8..00000000
--- a/dev/ddk/src/ddk_ver.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* -------------------------------------------
-
- Copyright ZKA Web Services Co.
-
- Purpose: DDK versioning.
-
-------------------------------------------- */
-
-#include <ddk/ddk.h>
-
-#ifndef cDDKVersionHighest
-#define cDDKVersionHighest 1
-#endif // !cDDKVersionHighest
-
-#ifndef cDDKVersionLowest
-#define cDDKVersionLowest 1
-#endif // !cDDKVersionLowest
-
-#ifndef cDDKVersion
-#define cDDKVersion 1
-#endif // !cDDKVersion
-
-int32_t c_api_version_highest = cDDKVersionHighest;
-int32_t c_api_version_least = cDDKVersionLowest;
-int32_t c_api_version = cDDKVersion;