summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal <amlal@zka.com>2024-07-24 20:48:25 +0200
committerAmlal <amlal@zka.com>2024-07-24 20:48:25 +0200
commit43981bf8ecacb5f95070fa4ff502941d9e3251b4 (patch)
tree8ebafc93e88bccd1b4054fd13c31a43fb735c79e
parenta4f908c4d3d0c8d5a3578bf81028986405e96937 (diff)
[MHR-36]: Removed HAL directory, replaced with Samples directory.
Signed-off-by: Amlal <amlal@zka.com>
-rw-r--r--DDK/KernelAlloc.c10
-rw-r--r--Drivers/Hello/CheckStack.c18
-rw-r--r--Drivers/Hello/Main.c131
-rw-r--r--Drivers/Hello/x86_64.mk51
-rw-r--r--Drivers/SampleDriver/DriverRsrc.rsrc25
-rw-r--r--Drivers/SampleDriver/compile_flags.txt3
-rw-r--r--Drivers/VideoDrv/CheckStck.c11
-rw-r--r--Drivers/VideoDrv/DriverRsrc.rsrc25
-rw-r--r--Drivers/VideoDrv/Main.cxx22
-rw-r--r--Drivers/VideoDrv/compile_flags.txt3
-rw-r--r--Drivers/VideoDrv/x86_64.make51
-rw-r--r--Kernel/riscv64-cb.make (renamed from Drivers/.gitkeep)0
-rw-r--r--Samples/.gitkeep0
-rw-r--r--Samples/SampleHAL/CheckStck.c (renamed from Drivers/SampleDriver/CheckStck.c)0
-rw-r--r--Samples/SampleHAL/DriverRsrc.rsrc (renamed from Drivers/Hello/DriverRsrc.rsrc)8
-rw-r--r--Samples/SampleHAL/Main.c (renamed from Drivers/SampleDriver/Main.c)0
-rw-r--r--Samples/SampleHAL/compile_flags.txt (renamed from Drivers/Hello/compile_flags.txt)0
-rw-r--r--Samples/SampleHAL/x86_64.mk (renamed from Drivers/SampleDriver/x86_64.mk)4
18 files changed, 15 insertions, 347 deletions
diff --git a/DDK/KernelAlloc.c b/DDK/KernelAlloc.c
index 6f31ae1c..17e49d6a 100644
--- a/DDK/KernelAlloc.c
+++ b/DDK/KernelAlloc.c
@@ -8,16 +8,24 @@
#include <DDK/KernelStd.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("NewHeap", 1, &sz, sizeof(size_t));
- kernelCall("ProtectHeap", 1, ptr, sz);
return ptr;
}
+/**
+ \brief Frees a pointer from the heap.
+ \param ptr the pointer to free.
+*/
DK_EXTERN void kernelFree(void* ptr)
{
if (!ptr) return;
diff --git a/Drivers/Hello/CheckStack.c b/Drivers/Hello/CheckStack.c
deleted file mode 100644
index c1af3218..00000000
--- a/Drivers/Hello/CheckStack.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/* -------------------------------------------
-
- Copyright ZKA Technologies
-
-------------------------------------------- */
-
-#include <DDK/KernelString.h>
-#include <DDK/KernelPrint.h>
-#include <DDK/KernelDev.h>
-
-///! @brief Raised when we get out of bounds. Abort here.
-void ___chkstk_ms(void)
-{
- kernelPrintStr("Hello: KeStop needs to be raised...\r");
-
- char* in = "__chkstk_ms on " __FILE__;
- kernelCall("KeStop", 0, in, kernelStringLength(in));
-}
diff --git a/Drivers/Hello/Main.c b/Drivers/Hello/Main.c
deleted file mode 100644
index 10feda48..00000000
--- a/Drivers/Hello/Main.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/* -------------------------------------------
-
- Copyright ZKA Technologies
-
-------------------------------------------- */
-
-#include <DDK/KernelString.h>
-#include <DDK/KernelPrint.h>
-#include <DDK/KernelDev.h>
-
-struct HelloMasterConfigHeader;
-struct HelloMasterConfigHeaderInput;
-
-struct HelloMasterConfigHeaderInput
-{
- size_t fSizeOfOutput;
- struct HelloMasterConfigHeader* fOutput;
-};
-
-/// @file Hello.c
-/// @brief Zero configuration protocol, a much more better protocol for zero configuration.
-
-#define cHMCHMaxDataLength (1024)
-
-typedef struct HelloMasterConfigHeader
-{
- int64_t fMagic;
- int64_t fVersion;
- int64_t fSourceAddress;
- size_t fDataLength;
- wchar_t fUTF16Data[cHMCHMaxDataLength];
-} __attribute__((packed)) HelloMasterConfigHeader;
-
-#define cHMCHDeviceLen 255
-
-static kernelDeviceRef cDev = nil;
-static char* cDeviceUUID = nil; // 3ed40738-c7d6-4b59-afdf-3c104b05fbf
-static HelloMasterConfigHeader* cHeader = nil;
-
-/// @brief Link to master device to attribute DHCP lease.
-static void __hello_link_device(void* a0)
-{
- kernelPrintStr("Hello: linking...\r");
-
- if (!cDev)
- {
- // open raw network device.
- cDev = kernelOpenDevice("BROADCAST:\\");
- }
-
- cDev->write("+LINK", kernelStringLength("+LINK"));
- cDev->wait();
-
- cDev->write((void*)cDeviceUUID, kernelStringLength(cDeviceUUID));
- cDev->wait();
-
- if (cHeader)
- {
- kernelFree(cHeader);
- cHeader = nil;
- }
-
- cHeader = cDev->read(nil, sizeof(HelloMasterConfigHeader));
-}
-
-static void __hello_get_hmch(void* a0)
-{
- if (a0 == nil)
- return;
-
- kernelPrintStr("Hello: returning header...\r");
-
- struct HelloMasterConfigHeaderInput* in = a0;
- in->fOutput = cHeader;
- in->fSizeOfOutput = sizeof(in->fOutput);
-}
-
-static void __hello_unlink_device(void* a0)
-{
- kernelPrintStr("Hello: unlinking...\r");
-
- if (cDev)
- {
- cDev->write("+UNLINK", kernelStringLength("+UNLINK"));
- cDev->wait();
-
- /// here is my uuid and my config header. Please disconnect me.
- cDev->write((void*)cDeviceUUID, kernelStringLength(cDeviceUUID));
- cDev->write(cHeader, sizeof(cHeader));
-
- cDev->wait();
-
- kernelCloseDevice(cDev);
- cDev = nil;
- }
-
- if (cDeviceUUID)
- {
- kernelFree((void*)cDeviceUUID);
- cDeviceUUID = nil;
- }
-
- cDev = nil;
-}
-
-int __at_enter(void)
-{
- kernelPrintStr("Hello: starting up Helloconf...\r");
-
- cDeviceUUID = kernelAlloc(sizeof(char) * cHMCHDeviceLen);
-
- kernelAddSyscall(0, __hello_link_device);
- kernelAddSyscall(1, __hello_unlink_device);
- kernelAddSyscall(2, __hello_get_hmch);
-
- return 0;
-}
-
-int __at_exit(void)
-{
- kernelPrintStr("Hello: starting up Helloconf...\r");
-
- // first unlink.
- __hello_unlink_device(nil);
-
- // then unregister syscalls.
- kernelAddSyscall(0, nil);
- kernelAddSyscall(1, nil);
-
- return 0;
-}
diff --git a/Drivers/Hello/x86_64.mk b/Drivers/Hello/x86_64.mk
deleted file mode 100644
index 4ddb7e5b..00000000
--- a/Drivers/Hello/x86_64.mk
+++ /dev/null
@@ -1,51 +0,0 @@
-##################################################
-# (C) ZKA Technologies, all rights reserved.
-# This is the sample driver makefile.
-##################################################
-
-CC_GNU=x86_64-w64-mingw32-gcc
-LD_GNU=x86_64-w64-mingw32-ld
-
-WINDRES=x86_64-w64-mingw32-windres
-
-ADD_FILE=touch
-COPY=cp
-HTTP_GET=wget
-
-LD_FLAGS=-e __at_enter --subsystem=17
-
-OBJ=*.o
-
-REM=rm
-REM_FLAG=-f
-
-FLAG_ASM=-f win64
-FLAG_GNU=-fshort-wchar -D__DDK_AMD64__ -mgeneral-regs-only -mno-red-zone -D__KERNEL__ \
- -DEFI_FUNCTION_WRAPPER -I../ -I../../ -I./ -c -ffreestanding -std=c17 -D__HAVE_MAHROUSS_APIS__ -D__MAHROUSS__ -D__BOOTLOADER__ -I./
-
-.PHONY: invalid-recipe
-invalid-recipe:
- @echo "invalid-recipe: Use make all instead."
-
-.PHONY: all
-all: compile-amd64
- $(LD_GNU) $(OBJ) $(LD_FLAGS) -o Hello.exe
-
-ifneq ($(DEBUG_SUPPORT), )
-DEBUG = -D__DEBUG__
-endif
-
-.PHONY: compile-amd64
-compile-amd64:
- $(WINDRES) DriverRsrc.rsrc -O coff -o DriverRsrc.o
- $(CC_GNU) $(FLAG_GNU) $(DEBUG) $(wildcard *.c) $(wildcard ../../DDK/*.cc) $(wildcard ../../DDK/*.c) $(wildcard ../../DDK/*.S)
-
-.PHONY: clean
-clean:
- $(REM) $(REM_FLAG) $(OBJ) Hello.exe
-
-.PHONY: help
-help:
- @echo "=== HELP ==="
- @echo "clean: Clean driver."
- @echo "compile-amd64: Build driver."
diff --git a/Drivers/SampleDriver/DriverRsrc.rsrc b/Drivers/SampleDriver/DriverRsrc.rsrc
deleted file mode 100644
index 2161fe29..00000000
--- a/Drivers/SampleDriver/DriverRsrc.rsrc
+++ /dev/null
@@ -1,25 +0,0 @@
-1 ICON "../../Icons/main.ico"
-
-1 VERSIONINFO
-FILEVERSION 1,0,0,0
-PRODUCTVERSION 1,0,0,0
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "080904E4"
- BEGIN
- VALUE "CompanyName", "ZKA Technologies"
- VALUE "FileDescription", "New OS driver."
- VALUE "FileVersion", "1.00"
- VALUE "InternalName", "SampleDriver"
- VALUE "LegalCopyright", "Copyright ZKA Technologies, all rights reserved."
- VALUE "OriginalFilename", "SampleDriver.exe"
- VALUE "ProductName", "SampleDriver"
- VALUE "ProductVersion", "1.00"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x809, 1252
- END
-END
diff --git a/Drivers/SampleDriver/compile_flags.txt b/Drivers/SampleDriver/compile_flags.txt
deleted file mode 100644
index 10bdb71e..00000000
--- a/Drivers/SampleDriver/compile_flags.txt
+++ /dev/null
@@ -1,3 +0,0 @@
--I../../
--I../../Kernel
--std=c++20
diff --git a/Drivers/VideoDrv/CheckStck.c b/Drivers/VideoDrv/CheckStck.c
deleted file mode 100644
index dd280ae8..00000000
--- a/Drivers/VideoDrv/CheckStck.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* -------------------------------------------
-
- Copyright ZKA Technologies
-
-------------------------------------------- */
-
-///! @brief Use this to check your stack, if using MinGW/MSVC/MPCC.
-void ___chkstk_ms(void)
-{
- (void)0;
-}
diff --git a/Drivers/VideoDrv/DriverRsrc.rsrc b/Drivers/VideoDrv/DriverRsrc.rsrc
deleted file mode 100644
index 0ed948d1..00000000
--- a/Drivers/VideoDrv/DriverRsrc.rsrc
+++ /dev/null
@@ -1,25 +0,0 @@
-1 ICON "../../Icons/main.ico"
-
-1 VERSIONINFO
-FILEVERSION 1,0,0,0
-PRODUCTVERSION 1,0,0,0
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "080904E4"
- BEGIN
- VALUE "CompanyName", "ZKA Technologies"
- VALUE "FileDescription", "CG HW video driver."
- VALUE "FileVersion", "1.00"
- VALUE "InternalName", "SampleDriver"
- VALUE "LegalCopyright", "2024 Copyright ZKA Technologies, all rights reserved."
- VALUE "OriginalFilename", "VideoDrv.exe"
- VALUE "ProductName", "VideoDrv"
- VALUE "ProductVersion", "1.00"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x809, 1252
- END
-END
diff --git a/Drivers/VideoDrv/Main.cxx b/Drivers/VideoDrv/Main.cxx
deleted file mode 100644
index 25c13b8e..00000000
--- a/Drivers/VideoDrv/Main.cxx
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -------------------------------------------
-
- Copyright ZKA Technologies
-
-------------------------------------------- */
-
-#include <DDK/KernelString.h>
-#include <DDK/KernelPrint.h>
-
-#include <Modules/CoreCG/CoreCG.hxx>
-
-DK_EXTERN int __at_enter(void)
-{
- kernelPrintStr("VideoDrv: Starting GPU...\r");
- return 0;
-}
-
-DK_EXTERN int __at_exit(void)
-{
- kernelPrintStr("VideoDrv: Shutting GPU...\r");
- return 0;
-}
diff --git a/Drivers/VideoDrv/compile_flags.txt b/Drivers/VideoDrv/compile_flags.txt
deleted file mode 100644
index 10bdb71e..00000000
--- a/Drivers/VideoDrv/compile_flags.txt
+++ /dev/null
@@ -1,3 +0,0 @@
--I../../
--I../../Kernel
--std=c++20
diff --git a/Drivers/VideoDrv/x86_64.make b/Drivers/VideoDrv/x86_64.make
deleted file mode 100644
index b455c557..00000000
--- a/Drivers/VideoDrv/x86_64.make
+++ /dev/null
@@ -1,51 +0,0 @@
-##################################################
-# (C) ZKA Technologies, all rights reserved.
-# This is the sample driver makefile.
-##################################################
-
-CC_GNU=x86_64-w64-mingw32-gcc
-LD_GNU=x86_64-w64-mingw32-ld
-
-WINDRES=x86_64-w64-mingw32-windres
-
-ADD_FILE=touch
-COPY=cp
-HTTP_GET=wget
-
-LD_FLAGS=-e __at_enter --subsystem=17
-
-OBJ=*.o
-
-
-REM=rm
-REM_FLAG=-f
-
-FLAG_ASM=-f win64
-FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -mgeneral-regs-only -mno-red-zone -D__KERNEL__ -DEFI_FUNCTION_WRAPPER -I../ -I../../ -I./ -c -ffreestanding -std=c17 -D__HAVE_MAHROUSS_APIS__ -D__MAHROUSS__ -D__BOOTLOADER__ -I./
-
-.PHONY: invalid-recipe
-invalid-recipe:
- @echo "invalid-recipe: Use make all instead."
-
-.PHONY: all
-all: compile-amd64
- $(LD_GNU) $(OBJ) $(LD_FLAGS) -o VideoDrv.exe
-
-ifneq ($(DEBUG_SUPPORT), )
-DEBUG = -D__DEBUG__
-endif
-
-.PHONY: compile-amd64
-compile-amd64:
- $(WINDRES) DriverRsrc.rsrc -O coff -o DriverRsrc.o
- $(CC_GNU) $(FLAG_GNU) $(DEBUG) $(wildcard *.cxx) $(wildcard *.c) $(wildcard ../../DDK/*.c) $(wildcard ../../DDK/*.S)
-
-.PHONY: clean
-clean:
- $(REM) $(REM_FLAG) $(OBJ) VideoDrv.exe
-
-.PHONY: help
-help:
- @echo "=== HELP ==="
- @echo "clean: Clean driver."
- @echo "compile-amd64: Build driver."
diff --git a/Drivers/.gitkeep b/Kernel/riscv64-cb.make
index e69de29b..e69de29b 100644
--- a/Drivers/.gitkeep
+++ b/Kernel/riscv64-cb.make
diff --git a/Samples/.gitkeep b/Samples/.gitkeep
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/Samples/.gitkeep
diff --git a/Drivers/SampleDriver/CheckStck.c b/Samples/SampleHAL/CheckStck.c
index 54b6bc5d..54b6bc5d 100644
--- a/Drivers/SampleDriver/CheckStck.c
+++ b/Samples/SampleHAL/CheckStck.c
diff --git a/Drivers/Hello/DriverRsrc.rsrc b/Samples/SampleHAL/DriverRsrc.rsrc
index 9a90f62b..c478f7b6 100644
--- a/Drivers/Hello/DriverRsrc.rsrc
+++ b/Samples/SampleHAL/DriverRsrc.rsrc
@@ -9,12 +9,12 @@ BEGIN
BLOCK "080904E4"
BEGIN
VALUE "CompanyName", "ZKA Technologies"
- VALUE "FileDescription", "New OS Zeroconf driver."
+ VALUE "FileDescription", "ZKA HAL."
VALUE "FileVersion", "1.00"
- VALUE "InternalName", "Bonjour."
+ VALUE "InternalName", "SampleHAL"
VALUE "LegalCopyright", "Copyright ZKA Technologies, all rights reserved."
- VALUE "OriginalFilename", "Bonjour.exe"
- VALUE "ProductName", "Bonjour."
+ VALUE "OriginalFilename", "SampleHAL.exe"
+ VALUE "ProductName", "SampleHAL"
VALUE "ProductVersion", "1.00"
END
END
diff --git a/Drivers/SampleDriver/Main.c b/Samples/SampleHAL/Main.c
index 6b54742f..6b54742f 100644
--- a/Drivers/SampleDriver/Main.c
+++ b/Samples/SampleHAL/Main.c
diff --git a/Drivers/Hello/compile_flags.txt b/Samples/SampleHAL/compile_flags.txt
index 10bdb71e..10bdb71e 100644
--- a/Drivers/Hello/compile_flags.txt
+++ b/Samples/SampleHAL/compile_flags.txt
diff --git a/Drivers/SampleDriver/x86_64.mk b/Samples/SampleHAL/x86_64.mk
index 736d8edf..2fa20d1a 100644
--- a/Drivers/SampleDriver/x86_64.mk
+++ b/Samples/SampleHAL/x86_64.mk
@@ -29,7 +29,7 @@ invalid-recipe:
.PHONY: all
all: compile-amd64
- $(LD_GNU) $(OBJ) $(LD_FLAGS) -o SampleDriver.exe
+ $(LD_GNU) $(OBJ) $(LD_FLAGS) -o SampleHAL.exe
ifneq ($(DEBUG_SUPPORT), )
DEBUG = -D__DEBUG__
@@ -42,7 +42,7 @@ compile-amd64:
.PHONY: clean
clean:
- $(REM) $(REM_FLAG) $(OBJ) SampleDriver.exe
+ $(REM) $(REM_FLAG) $(OBJ) SampleHAL.exe
.PHONY: help
help: