summaryrefslogtreecommitdiffhomepage
path: root/DDK
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-07-26 09:18:51 +0200
committerAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-07-26 09:18:51 +0200
commit14769b940725a9e323d237179e812ccfdae08382 (patch)
tree67892a70fc54e30373442acaae6a4058ce3a983e /DDK
parent31f1293d3192e0910906858aded1aca88c6ef4c5 (diff)
[IMP] DDK compiles as a DLL now.
[IMP] DDK versioning symbols. [UPD] manifest.json of NetBoot has been updated. [UPD] update OS-Design.drawio to replace launcher to UI and CF and CG at the same level, SCI is the lowest level of abstraction as it should be. Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'DDK')
-rw-r--r--DDK/KernelAlloc.c2
-rw-r--r--DDK/KernelCall.c2
-rw-r--r--DDK/KernelCxxRt.cxx2
-rw-r--r--DDK/KernelDev.c2
-rw-r--r--DDK/KernelDev.h2
-rw-r--r--DDK/KernelPrint.c2
-rw-r--r--DDK/KernelPrint.h2
-rw-r--r--DDK/KernelStd.h15
-rw-r--r--DDK/KernelString.c2
-rw-r--r--DDK/KernelString.h2
-rw-r--r--DDK/KernelVersion.c21
-rw-r--r--DDK/x86_64.make14
12 files changed, 56 insertions, 12 deletions
diff --git a/DDK/KernelAlloc.c b/DDK/KernelAlloc.c
index 17e49d6a..1eadd4e2 100644
--- a/DDK/KernelAlloc.c
+++ b/DDK/KernelAlloc.c
@@ -2,7 +2,7 @@
Copyright ZKA Technologies
- Purpose: Standard library.
+ Purpose: DDK allocator.
------------------------------------------- */
diff --git a/DDK/KernelCall.c b/DDK/KernelCall.c
index 18d544ef..ffc2ded6 100644
--- a/DDK/KernelCall.c
+++ b/DDK/KernelCall.c
@@ -2,7 +2,7 @@
Copyright ZKA Technologies
- Purpose: Kernel Definitions.
+ Purpose: DDK kernel call.
------------------------------------------- */
diff --git a/DDK/KernelCxxRt.cxx b/DDK/KernelCxxRt.cxx
index 8a5f4c66..08fab7b9 100644
--- a/DDK/KernelCxxRt.cxx
+++ b/DDK/KernelCxxRt.cxx
@@ -2,7 +2,7 @@
Copyright ZKA Technologies
- Purpose: Driver C++ Definitions.
+ Purpose: DDK C++ runtime.
------------------------------------------- */
diff --git a/DDK/KernelDev.c b/DDK/KernelDev.c
index a7c29b9e..07a64bdd 100644
--- a/DDK/KernelDev.c
+++ b/DDK/KernelDev.c
@@ -2,7 +2,7 @@
Copyright ZKA Technologies
- Purpose: Kernel Text I/O.
+ Purpose: DDK Text I/O.
------------------------------------------- */
diff --git a/DDK/KernelDev.h b/DDK/KernelDev.h
index c97c2acc..d7c13a13 100644
--- a/DDK/KernelDev.h
+++ b/DDK/KernelDev.h
@@ -2,7 +2,7 @@
Copyright ZKA Technologies
- Purpose: Kernel Devices.
+ Purpose: DDK Devices.
------------------------------------------- */
diff --git a/DDK/KernelPrint.c b/DDK/KernelPrint.c
index ad14fbf5..eee90e3c 100644
--- a/DDK/KernelPrint.c
+++ b/DDK/KernelPrint.c
@@ -2,7 +2,7 @@
Copyright ZKA Technologies
- Purpose: Kernel Text I/O.
+ Purpose: DDK Text I/O.
------------------------------------------- */
diff --git a/DDK/KernelPrint.h b/DDK/KernelPrint.h
index c7101107..25b702e1 100644
--- a/DDK/KernelPrint.h
+++ b/DDK/KernelPrint.h
@@ -2,7 +2,7 @@
Copyright ZKA Technologies
- Purpose: Kernel Text I/O.
+ Purpose: DDK Text I/O.
------------------------------------------- */
diff --git a/DDK/KernelStd.h b/DDK/KernelStd.h
index af7bb306..5d8af8cd 100644
--- a/DDK/KernelStd.h
+++ b/DDK/KernelStd.h
@@ -2,7 +2,7 @@
Copyright ZKA Technologies
- Purpose: Kernel Definitions.
+ Purpose: DDK Definitions.
------------------------------------------- */
@@ -44,11 +44,20 @@ DK_EXTERN void* kernelCall(const char* kernelRpcName, int32_t cnt, void* dat, si
/// @param slotFn, syscall slot.
DK_EXTERN void kernelAddSyscall(const int slot, void (*slotFn)(void* a0));
-/// @brief allocate ptr.
+/// @brief allocate heap ptr.
/// @param sz size of ptr.
/// @return the pointer allocated or **nil**.
DK_EXTERN void* kernelAlloc(size_t sz);
-/// @brief allocate ptr.
+/// @brief free heap ptr.
/// @param pointer to free
DK_EXTERN void kernelFree(void*);
+
+/// @brief The highest API version of the DDK.
+DK_EXTERN int32_t c_api_version_highest;
+
+/// @brief The lowest API version of the DDK.
+DK_EXTERN int32_t c_api_version_least;
+
+/// @brief c_api_version_least+c_api_version_highest combined version.
+DK_EXTERN int32_t c_api_version; \ No newline at end of file
diff --git a/DDK/KernelString.c b/DDK/KernelString.c
index 52e71e0f..2cb6adcc 100644
--- a/DDK/KernelString.c
+++ b/DDK/KernelString.c
@@ -2,7 +2,7 @@
Copyright ZKA Technologies
- Purpose: Kernel Strings.
+ Purpose: DDK Strings.
------------------------------------------- */
diff --git a/DDK/KernelString.h b/DDK/KernelString.h
index 0d244dc8..dd6fdce6 100644
--- a/DDK/KernelString.h
+++ b/DDK/KernelString.h
@@ -2,7 +2,7 @@
Copyright ZKA Technologies
- Purpose: Kernel Strings.
+ Purpose: DDK Strings.
------------------------------------------- */
diff --git a/DDK/KernelVersion.c b/DDK/KernelVersion.c
new file mode 100644
index 00000000..0f27d345
--- /dev/null
+++ b/DDK/KernelVersion.c
@@ -0,0 +1,21 @@
+/* -------------------------------------------
+
+ Copyright ZKA Technologies
+
+ Purpose: DDK versioning.
+
+------------------------------------------- */
+
+#include <KernelStd.h>
+
+#ifndef cDDKVersionHighest
+#define cDDKVersionHighest 1
+#endif // cDDKVersionHighest
+
+#ifndef cDDKVersionLowest
+#define cDDKVersionLowest 1
+#endif // cDDKVersionLowest
+
+int32_t c_api_version_highest = cDDKVersionHighest;
+int32_t c_api_version_least = cDDKVersionLowest;
+int32_t c_api_version = cDDKVersionHighest | cDDKVersionLowest; \ No newline at end of file
diff --git a/DDK/x86_64.make b/DDK/x86_64.make
new file mode 100644
index 00000000..61cafeee
--- /dev/null
+++ b/DDK/x86_64.make
@@ -0,0 +1,14 @@
+##################################################
+# (C) ZKA Technologies, all rights reserved.
+# This is the DDK's makefile.
+##################################################
+
+CC=x86_64-w64-mingw32-gcc
+INC=-I./ -I../
+FLAGS=-ffreestanding -shared -std=c17 -std=c++20 -fno-rtti -fno-exceptions -D__DDK_AMD64__ -Wl,--subsystem=17
+VERSION=-DcDDKVersionLowest=1 -DcDDKVersionHighest=1
+OUTPUT=libDDK.dll
+
+.PHONY: all
+all:
+ $(CC) $(INC) $(FLAGS) $(VERSION) $(wildcard *.c) $(wildcard *.S) $(wildcard *.cxx) -o $(OUTPUT) \ No newline at end of file