summaryrefslogtreecommitdiffhomepage
path: root/dev
diff options
context:
space:
mode:
authorAmlal <amlal@nekernel.org>2025-08-13 23:56:41 +0200
committerAmlal <amlal@nekernel.org>2025-08-13 23:56:41 +0200
commitbb432453ab609ca7e8dc8e991775329d10a29e7b (patch)
treecea449ab68c412e6bd33ef4aedf8c912b55b3ade /dev
parentd720fa31aaf728b63c95575843f42a575c63765f (diff)
feat! Breaking changes in the DDK.
Signed-off-by: Amlal <amlal@nekernel.org>
Diffstat (limited to 'dev')
-rw-r--r--dev/ddk/DriverKit/ddk.h (renamed from dev/ddk/DDKKit/ddk.h)4
-rw-r--r--dev/ddk/DriverKit/dev.h (renamed from dev/ddk/DDKKit/dev.h)2
-rw-r--r--dev/ddk/DriverKit/io.h (renamed from dev/ddk/DDKKit/io.h)2
-rw-r--r--dev/ddk/DriverKit/macros.h (renamed from dev/ddk/DDKKit/macros.h)0
-rw-r--r--dev/ddk/DriverKit/net.h (renamed from dev/ddk/DDKKit/net.h)2
-rw-r--r--dev/ddk/DriverKit/str.h (renamed from dev/ddk/DDKKit/str.h)2
-rw-r--r--dev/ddk/docs/SPECIFICATION_DDK.md2
-rw-r--r--dev/ddk/src/ddk_abi_cxx.cc (renamed from dev/ddk/src/ddk_rt_cxx.cc)6
-rw-r--r--dev/ddk/src/ddk_alloc.c6
-rw-r--r--dev/ddk/src/ddk_dev.c8
-rw-r--r--dev/ddk/src/ddk_io.c4
-rw-r--r--dev/ddk/src/ddk_kernel_call.c23
-rw-r--r--dev/ddk/src/ddk_kernel_call_dispatch.S4
-rw-r--r--dev/ddk/src/ddk_str.c4
-rw-r--r--dev/ddk/src/ddk_ver.c4
-rw-r--r--dev/kernel/DmaKit/DmaPool.h1
-rw-r--r--dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc4
-rw-r--r--dev/libSystem/docs/SPECIFICATION_SYSCALLS.md2
18 files changed, 41 insertions, 39 deletions
diff --git a/dev/ddk/DDKKit/ddk.h b/dev/ddk/DriverKit/ddk.h
index 5a8929da..254137f9 100644
--- a/dev/ddk/DDKKit/ddk.h
+++ b/dev/ddk/DriverKit/ddk.h
@@ -9,7 +9,7 @@
#pragma once
-#include <DDKKit/macros.h>
+#include <DriverKit/macros.h>
struct DDK_STATUS_STRUCT;
struct DDK_OBJECT_MANIFEST;
@@ -35,7 +35,7 @@ struct DDK_STATUS_STRUCT DDK_FINAL {
/// @param dat data argument pointer.
/// @param sz sz of whole data argument pointer.
/// @return result of call
-DDK_EXTERN void* ke_call(const char* name, int32_t cnt, void* dat, size_t sz);
+DDK_EXTERN void* ke_call_dispatch(const char* name, int32_t cnt, void* dat, size_t sz);
/// @brief add a system call.
/// @param slot system call slot id.
diff --git a/dev/ddk/DDKKit/dev.h b/dev/ddk/DriverKit/dev.h
index 59fb48b5..adb1c1d0 100644
--- a/dev/ddk/DDKKit/dev.h
+++ b/dev/ddk/DriverKit/dev.h
@@ -9,7 +9,7 @@
#pragma once
-#include <DDKKit/ddk.h>
+#include <DriverKit/ddk.h>
struct _DDK_DEVICE;
diff --git a/dev/ddk/DDKKit/io.h b/dev/ddk/DriverKit/io.h
index 28396608..805696e6 100644
--- a/dev/ddk/DDKKit/io.h
+++ b/dev/ddk/DriverKit/io.h
@@ -8,7 +8,7 @@
#pragma once
-#include <DDKKit/str.h>
+#include <DriverKit/str.h>
/// @brief print character into UART.
DDK_EXTERN void kputc(const char ch);
diff --git a/dev/ddk/DDKKit/macros.h b/dev/ddk/DriverKit/macros.h
index 9b7b3d50..9b7b3d50 100644
--- a/dev/ddk/DDKKit/macros.h
+++ b/dev/ddk/DriverKit/macros.h
diff --git a/dev/ddk/DDKKit/net.h b/dev/ddk/DriverKit/net.h
index ea85dee7..63f89367 100644
--- a/dev/ddk/DDKKit/net.h
+++ b/dev/ddk/DriverKit/net.h
@@ -9,7 +9,7 @@
#pragma once
-#include <DDKKit/macros.h>
+#include <DriverKit/macros.h>
struct DDK_NET_MANIFEST;
diff --git a/dev/ddk/DDKKit/str.h b/dev/ddk/DriverKit/str.h
index fbf6506d..b2c0ce72 100644
--- a/dev/ddk/DDKKit/str.h
+++ b/dev/ddk/DriverKit/str.h
@@ -8,7 +8,7 @@
#pragma once
-#include <DDKKit/ddk.h>
+#include <DriverKit/ddk.h>
/// @brief DDK equivalent of POSIX's string.h
/// @file str.h
diff --git a/dev/ddk/docs/SPECIFICATION_DDK.md b/dev/ddk/docs/SPECIFICATION_DDK.md
index 57710d1f..d7d333d3 100644
--- a/dev/ddk/docs/SPECIFICATION_DDK.md
+++ b/dev/ddk/docs/SPECIFICATION_DDK.md
@@ -5,7 +5,7 @@
===================================
- Programming Language: C/C++
-- Build System: Make/BTB
+- Build System: Make/NeBuild
- Purpose: Driver Tool Kit, which you link against ddk.sys
===================================
diff --git a/dev/ddk/src/ddk_rt_cxx.cc b/dev/ddk/src/ddk_abi_cxx.cc
index 3d57e2b9..fc590c0e 100644
--- a/dev/ddk/src/ddk_rt_cxx.cc
+++ b/dev/ddk/src/ddk_abi_cxx.cc
@@ -1,12 +1,14 @@
/* -------------------------------------------
+ DDK
Copyright Amlal El Mahrouss.
- Purpose: DDK C++ runtime.
+ Author: Amlal El Mahrouss
+ Purpose: DDK C++ ABI.
------------------------------------------- */
-#include <DDKKit/ddk.h>
+#include <DriverKit/ddk.h>
void* operator new(size_t sz) {
return ::kalloc(sz);
diff --git a/dev/ddk/src/ddk_alloc.c b/dev/ddk/src/ddk_alloc.c
index 0b428b15..08527f4d 100644
--- a/dev/ddk/src/ddk_alloc.c
+++ b/dev/ddk/src/ddk_alloc.c
@@ -6,7 +6,7 @@
------------------------------------------- */
-#include <DDKKit/ddk.h>
+#include <DriverKit/ddk.h>
/**
\brief Allocates a new heap on the Kernel's side.
@@ -16,7 +16,7 @@
DDK_EXTERN void* kalloc(size_t sz) {
if (!sz) ++sz;
- void* ptr = ke_call("mm_alloc_ptr", 1, &sz, sizeof(size_t));
+ void* ptr = ke_call_dispatch("mm_alloc_ptr", 1, &sz, sizeof(size_t));
return ptr;
}
@@ -28,5 +28,5 @@ DDK_EXTERN void* kalloc(size_t sz) {
DDK_EXTERN void kfree(void* ptr) {
if (!ptr) return;
- ke_call("mm_free_ptr", 1, ptr, 0);
+ ke_call_dispatch("mm_free_ptr", 1, ptr, 0);
}
diff --git a/dev/ddk/src/ddk_dev.c b/dev/ddk/src/ddk_dev.c
index 4cd7dcdd..32ec2442 100644
--- a/dev/ddk/src/ddk_dev.c
+++ b/dev/ddk/src/ddk_dev.c
@@ -6,14 +6,14 @@
------------------------------------------- */
-#include <DDKKit/dev.h>
-#include <DDKKit/str.h>
+#include <DriverKit/dev.h>
+#include <DriverKit/str.h>
/// @brief Open a new binary device from path.
DDK_EXTERN DDK_DEVICE_PTR open(const char* devicePath) {
if (!devicePath) return nil;
- return ke_call("dk_open_dev", 1, (void*) devicePath, kstrlen(devicePath));
+ return ke_call_dispatch("dk_open_dev", 1, (void*) devicePath, kstrlen(devicePath));
}
/// @brief Close any device.
@@ -21,6 +21,6 @@ DDK_EXTERN DDK_DEVICE_PTR open(const char* devicePath) {
DDK_EXTERN BOOL close(DDK_DEVICE_PTR device) {
if (!device) return NO;
- ke_call("dk_close_dev", 1, device, sizeof(DDK_DEVICE));
+ ke_call_dispatch("dk_close_dev", 1, device, sizeof(DDK_DEVICE));
return YES;
}
diff --git a/dev/ddk/src/ddk_io.c b/dev/ddk/src/ddk_io.c
index ba6d4e55..c6cdd457 100644
--- a/dev/ddk/src/ddk_io.c
+++ b/dev/ddk/src/ddk_io.c
@@ -6,14 +6,14 @@
------------------------------------------- */
-#include <DDKKit/io.h>
+#include <DriverKit/io.h>
DDK_EXTERN void kputc(const char ch) {
char assembled[2] = {0};
assembled[0] = ch;
assembled[1] = 0;
- ke_call("ke_put_string", 1, assembled, 1);
+ ke_call_dispatch("ke_put_string", 1, assembled, 1);
}
/// @brief print string to UART.
diff --git a/dev/ddk/src/ddk_kernel_call.c b/dev/ddk/src/ddk_kernel_call.c
index 10f31e18..95d2e577 100644
--- a/dev/ddk/src/ddk_kernel_call.c
+++ b/dev/ddk/src/ddk_kernel_call.c
@@ -1,36 +1,37 @@
/* -------------------------------------------
+ DDK
Copyright Amlal El Mahrouss.
- Purpose: DDK Kernel call.
+ Author: Amlal El Mahrouss
+ Purpose: DDK kernel dispatch system.
------------------------------------------- */
-#include <DDKKit/ddk.h>
+#include <DriverKit/ddk.h>
#include <stdarg.h>
/// @brief this is an internal call, do not use it.
-DDK_EXTERN ATTRIBUTE(naked) void* ke_call_dispatch(const char* name, int32_t cnt, void* data,
+DDK_EXTERN ATTRIBUTE(naked) void* __ke_call_dispatch(const char* name, int32_t cnt, void* data,
size_t sz);
-/// @brief Interupt Kernel and call it's RPC.
+/// @brief Interrupt Kernel and call it's RPC.
/// @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)
-DDK_EXTERN void* ke_call(const char* name, int32_t cnt, void* data, size_t sz) {
- if (!name || *name == 0 || cnt == 0) return nil;
-
- return ke_call_dispatch(name, cnt, data, sz);
+DDK_EXTERN void* ke_call_dispatch(const char* name, int32_t cnt, void* data, size_t sz) {
+ if (name == nil || *name == 0 || data == nil || cnt == 0) return nil;
+ return __ke_call_dispatch(name, cnt, data, sz);
}
/// @brief Add system call.
/// @param slot system call slot
/// @param slotFn, syscall slot.
DDK_EXTERN void ke_set_syscall(const int slot, void (*slotFn)(void* a0)) {
- ke_call("ke_set_syscall", slot, slotFn, 1);
+ ke_call_dispatch("ke_set_syscall", slot, slotFn, 1);
}
/// @brief Get a Kernel object.
@@ -39,7 +40,7 @@ DDK_EXTERN void ke_set_syscall(const int slot, void (*slotFn)(void* a0)) {
/// @return Object manifest.
DDK_EXTERN struct DDK_OBJECT_MANIFEST* ke_get_obj(const int slot, const char* name) {
struct DDK_OBJECT_MANIFEST* manifest =
- (struct DDK_OBJECT_MANIFEST*) ke_call("cfkit_get_kobj", slot, (void*) name, 1);
+ (struct DDK_OBJECT_MANIFEST*) ke_call_dispatch("cfkit_get_kobj", slot, (void*) name, 1);
if (!manifest) return nil;
@@ -52,5 +53,5 @@ DDK_EXTERN struct DDK_OBJECT_MANIFEST* ke_get_obj(const int slot, const char* na
/// @param ddk_pr pointer to a object's DDK_OBJECT_MANIFEST.
/// @return property's object.
DDK_EXTERN void* ke_set_obj(const int slot, const struct DDK_OBJECT_MANIFEST* ddk_pr) {
- return ke_call("cfkit_set_kobj", slot, (void*) ddk_pr, 1);
+ return ke_call_dispatch("cfkit_set_kobj", 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
index 9b32d0c2..c66d9d49 100644
--- a/dev/ddk/src/ddk_kernel_call_dispatch.S
+++ b/dev/ddk/src/ddk_kernel_call_dispatch.S
@@ -3,7 +3,7 @@
compiler: gnu
*/
-.globl ke_call_dispatch
+.globl __ke_call_dispatch
.text
@@ -13,7 +13,7 @@
#if defined(__DDK_AMD64__)
/* args rcx, rdx, r8, r9 */
-ke_call_dispatch:
+__ke_call_dispatch:
int $0x33
ret
diff --git a/dev/ddk/src/ddk_str.c b/dev/ddk/src/ddk_str.c
index d50a5d03..514cddc7 100644
--- a/dev/ddk/src/ddk_str.c
+++ b/dev/ddk/src/ddk_str.c
@@ -2,11 +2,11 @@
Copyright Amlal El Mahrouss.
- Purpose: DDK Strings.
+ Purpose: DDK String API.
------------------------------------------- */
-#include <DDKKit/str.h>
+#include <DriverKit/str.h>
DDK_EXTERN size_t kstrlen(const char* in) {
if (in == nil) return 0;
diff --git a/dev/ddk/src/ddk_ver.c b/dev/ddk/src/ddk_ver.c
index 41c6c612..9be3134e 100644
--- a/dev/ddk/src/ddk_ver.c
+++ b/dev/ddk/src/ddk_ver.c
@@ -2,11 +2,11 @@
Copyright Amlal El Mahrouss.
- Purpose: DDK version symbols.
+ Purpose: DDK version system.
------------------------------------------- */
-#include <DDKKit/ddk.h>
+#include <DriverKit/ddk.h>
#ifndef kDDKVersionHighest
#define kDDKVersionHighest 1
diff --git a/dev/kernel/DmaKit/DmaPool.h b/dev/kernel/DmaKit/DmaPool.h
index db12eb25..99f43725 100644
--- a/dev/kernel/DmaKit/DmaPool.h
+++ b/dev/kernel/DmaKit/DmaPool.h
@@ -29,7 +29,6 @@
#define kNeDMABestAlign (8)
#endif
-
namespace Kernel {
/// @brief DMA pool base pointer, here we're sure that AHCI or whatever tricky standard sees it.
inline UInt8* kDmaPoolPtr = (UInt8*) kNeDMAPoolStart;
diff --git a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
index 4a667549..64f146f3 100644
--- a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
+++ b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
@@ -32,10 +32,9 @@
#include <modules/ACPI/ACPIFactoryInterface.h>
#include <modules/CoreGfx/TextGfx.h>
-/// @note: _hal_switch_context is internal
-
///////////////////////////////////////////////////////////////////////////////////////
+/// @note: _hal_switch_context is internal.
/// @brief The **HAL** namespace.
///////////////////////////////////////////////////////////////////////////////////////
@@ -70,6 +69,7 @@ struct HAL_APIC_MADT final SDT_OBJECT {
UInt8 List[1]; // Records List
};
+/// @brief Local APIC Descriptor Table.
struct LAPIC final {
UInt8 Type;
UInt8 Length;
diff --git a/dev/libSystem/docs/SPECIFICATION_SYSCALLS.md b/dev/libSystem/docs/SPECIFICATION_SYSCALLS.md
index b4b11c8c..89f61498 100644
--- a/dev/libSystem/docs/SPECIFICATION_SYSCALLS.md
+++ b/dev/libSystem/docs/SPECIFICATION_SYSCALLS.md
@@ -3,7 +3,7 @@
===================================
- **Programming Language**: C / C++
-- **Build System**: Make / BTB (Build the Build)
+- **Build System**: Make / NeBuild
- **Purpose**: System Call Interface (SCI) for NeKernel
===================================