summaryrefslogtreecommitdiffhomepage
path: root/dev/ZWM
diff options
context:
space:
mode:
Diffstat (limited to 'dev/ZWM')
-rw-r--r--dev/ZWM/.keepme0
-rw-r--r--dev/ZWM/Sources/zwm_main.cxx32
-rw-r--r--dev/ZWM/zwm.json22
3 files changed, 54 insertions, 0 deletions
diff --git a/dev/ZWM/.keepme b/dev/ZWM/.keepme
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/dev/ZWM/.keepme
diff --git a/dev/ZWM/Sources/zwm_main.cxx b/dev/ZWM/Sources/zwm_main.cxx
new file mode 100644
index 00000000..38d441bd
--- /dev/null
+++ b/dev/ZWM/Sources/zwm_main.cxx
@@ -0,0 +1,32 @@
+/* -------------------------------------------
+
+ Copyright ZKA Technologies.
+
+ FILE: IFSMain.cxx
+ PURPOSE: HPFS IFS entrypoint.
+
+------------------------------------------- */
+
+#include <DDK/KernelStd.h>
+#include <cstdint>
+
+static uint32_t cGPUIndexHW = 0U;
+static struct DDK_OBJECT_MANIFEST* cGPUObject = nullptr;
+
+/** @brief ZWM main, ZWM acts a proxy to the Installed GPU Driver. */
+int32_t ModuleMain(void)
+{
+ int index_gpu = 0;
+ struct DDK_OBJECT_MANIFEST* gpu_object = nullptr;
+
+ while (!gpu_object)
+ {
+ gpu_object = KernelGetObject(index_gpu, "GPU_OBJECT");
+ ++index_gpu;
+ }
+
+ cGPUIndexHW = index_gpu;
+ cGPUObject = gpu_object;
+
+ return 0;
+}
diff --git a/dev/ZWM/zwm.json b/dev/ZWM/zwm.json
new file mode 100644
index 00000000..2f759c56
--- /dev/null
+++ b/dev/ZWM/zwm.json
@@ -0,0 +1,22 @@
+{
+ "compiler_path": "x86_64-w64-mingw32-g++",
+ "compiler_std": "c++20",
+ "headers_path": ["../"],
+ "sources_path": ["Sources/*.cxx"],
+ "output_name": "zwm.sys",
+ "compiler_flags": [
+ "-fPIC",
+ "-ffreestanding",
+ "-shared",
+ "-fno-rtti",
+ "-fno-exceptions",
+ "-Wl,--subsystem=17"
+ ],
+ "cpp_macros": [
+ "__ZWM_IMPL__",
+ "__NEWOSKRNL__",
+ "cZWMVersion=0x0100",
+ "cZWMVersionHighest=0x0100",
+ "cZWMVersionLowest=0x0100"
+ ]
+}