diff options
Diffstat (limited to 'src/libDDK')
| -rw-r--r-- | src/libDDK/DriverKit/ObjectKit/Base.hpp (renamed from src/libDDK/DriverKit/ObjectKit/Base.h) | 5 | ||||
| -rw-r--r-- | src/libDDK/DriverKit/ObjectKit/Checksum.hpp (renamed from src/libDDK/DriverKit/ObjectKit/Checksum.h) | 12 | ||||
| -rw-r--r-- | src/libDDK/DriverKit/ObjectKit/DriverKit.hpp (renamed from src/libDDK/DriverKit/ObjectKit/DriverKit.h) | 8 | ||||
| -rw-r--r-- | src/libDDK/src/CxxABI.cpp | 9 | ||||
| -rw-r--r-- | src/libDDK/src/DDKVersion.cpp (renamed from src/libDDK/src/Version.cpp) | 6 | ||||
| -rw-r--r-- | src/libDDK/src/KernelAllocator.cpp (renamed from src/libDDK/src/Allocator.cpp) | 4 | ||||
| -rw-r--r-- | src/libDDK/src/KernelCall.cpp | 8 | ||||
| -rw-r--r-- | src/libDDK/src/KernelDevice.cpp (renamed from src/libDDK/src/Device.cpp) | 6 | ||||
| -rw-r--r-- | src/libDDK/src/KernelDriverBase.cpp (renamed from src/libDDK/src/DriverBase.cpp) | 4 | ||||
| -rw-r--r-- | src/libDDK/src/KernelIO.cpp (renamed from src/libDDK/src/IO.cpp) | 6 | ||||
| -rw-r--r-- | src/libDDK/src/KernelString.cpp (renamed from src/libDDK/src/String.cpp) | 0 |
11 files changed, 35 insertions, 33 deletions
diff --git a/src/libDDK/DriverKit/ObjectKit/Base.h b/src/libDDK/DriverKit/ObjectKit/Base.hpp index bf557352..869e6ec1 100644 --- a/src/libDDK/DriverKit/ObjectKit/Base.h +++ b/src/libDDK/DriverKit/ObjectKit/Base.hpp @@ -10,7 +10,7 @@ #define DDK_DRIVER_IMPL \ final: \ - public \ + public \ ::Kernel::DDK::IDriverBase /// @author Amlal El Mahrouss @@ -29,6 +29,7 @@ class IDriverBase { IDriverBase& operator=(const IDriverBase&) = default; IDriverBase(const IDriverBase&) = default; +public: using PtrType = void*; virtual constexpr bool IsCastable() { return false; } @@ -41,7 +42,7 @@ class IDriverBase { /// @author @amlel-el-mahrouss template <typename Driver> concept IsValidDriver = requires(Driver drv) { - {drv.IsActive() && drv.Type() > kInvalidType}; + { drv.IsActive() && drv.Type() > kInvalidType }; }; } // namespace Kernel::DDK diff --git a/src/libDDK/DriverKit/ObjectKit/Checksum.h b/src/libDDK/DriverKit/ObjectKit/Checksum.hpp index 927bbb77..d1973161 100644 --- a/src/libDDK/DriverKit/ObjectKit/Checksum.h +++ b/src/libDDK/DriverKit/ObjectKit/Checksum.hpp @@ -6,11 +6,12 @@ #ifndef DRIVERKIT_CHECKSUM_H #define DRIVERKIT_CHECKSUM_H -#include <DriverKit/ObjectKit/Base.h> +#include <DriverKit/ObjectKit/Base.hpp> namespace Kernel::DDK { -using IndexableBlob = char*; +using Blob = char*; +using IndexableBlob = Blob; using Indexable = char; /// @note This uses the FNV 64-bit variant. @@ -22,19 +23,18 @@ inline uintptr_t rtl_checksum(const IndexableBlob path) { const uintptr_t kFNVPrime = 0x100000001b3ULL; uintptr_t hash = kFNVSeed; - IndexableBlob path_ = path; while (*path_) { - hash ^= (Indexable) (*path_++); + hash ^= (Indexable) (*path_); + ++path_; + hash *= kFNVPrime; } return hash; } -using Blob = void*; - } // namespace Kernel::DDK #endif diff --git a/src/libDDK/DriverKit/ObjectKit/DriverKit.h b/src/libDDK/DriverKit/ObjectKit/DriverKit.hpp index 3fc883fa..a5604c77 100644 --- a/src/libDDK/DriverKit/ObjectKit/DriverKit.h +++ b/src/libDDK/DriverKit/ObjectKit/DriverKit.hpp @@ -3,10 +3,10 @@ // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/ne-foss-org/nekernel -#ifndef DRIVERKIT_DDK_H -#define DRIVERKIT_DDK_H +#ifndef DRIVERKIT_OBJECTKIT_DDK_H +#define DRIVERKIT_OBJECTKIT_DDK_H -#include <DriverKit/ObjectKit/Base.h> -#include <DriverKit/ObjectKit/Checksum.h> +#include <DriverKit/ObjectKit/Base.hpp> +#include <DriverKit/ObjectKit/Checksum.hpp> #endif diff --git a/src/libDDK/src/CxxABI.cpp b/src/libDDK/src/CxxABI.cpp index f1fc5034..4c5bda38 100644 --- a/src/libDDK/src/CxxABI.cpp +++ b/src/libDDK/src/CxxABI.cpp @@ -12,7 +12,9 @@ void* operator new(size_t sz) { return ::kalloc(sz); } -void operator delete(void* ptr) { ::kfree(ptr); } +void operator delete(void* ptr) { + ::kfree(ptr); +} void* operator new[](size_t sz) { if (!sz) ++sz; @@ -20,5 +22,6 @@ void* operator new[](size_t sz) { return ::kalloc(sz); } -void operator delete[](void* ptr) { ::kfree(ptr); } - +void operator delete[](void* ptr) { + ::kfree(ptr); +} diff --git a/src/libDDK/src/Version.cpp b/src/libDDK/src/DDKVersion.cpp index 5e60fbc4..eb65da89 100644 --- a/src/libDDK/src/Version.cpp +++ b/src/libDDK/src/DDKVersion.cpp @@ -7,15 +7,15 @@ #include <DriverKit/DriverKit.h>
#ifndef kDDKVersionHighest
-#define kDDKVersionHighest 1
+#define kDDKVersionHighest 0x010000
#endif // !kDDKVersionHighest
#ifndef kDDKVersionLowest
-#define kDDKVersionLowest 1
+#define kDDKVersionLowest 0x010000
#endif // !kDDKVersionLowest
#ifndef kDDKVersion
-#define kDDKVersion 1
+#define kDDKVersion 0x010000
#endif // !kDDKVersion
uint32_t kApiVersionHighest = kDDKVersionHighest;
diff --git a/src/libDDK/src/Allocator.cpp b/src/libDDK/src/KernelAllocator.cpp index f350ab22..f2dd7b45 100644 --- a/src/libDDK/src/Allocator.cpp +++ b/src/libDDK/src/KernelAllocator.cpp @@ -14,7 +14,7 @@ DDK_EXTERN void* kalloc(size_t sz) { if (!sz) ++sz; - void* ptr = ke_call_dispatch("mm_alloc_ptr", 1, &sz, sizeof(size_t)); + void* ptr = ::ke_call_dispatch("mm_alloc_ptr", 1, &sz, sizeof(size_t)); return ptr; } @@ -26,5 +26,5 @@ DDK_EXTERN void* kalloc(size_t sz) { DDK_EXTERN void kfree(void* ptr) { if (!ptr) return; - ke_call_dispatch("mm_free_ptr", 1, ptr, 0); + ::ke_call_dispatch("mm_free_ptr", 1, ptr, 0); } diff --git a/src/libDDK/src/KernelCall.cpp b/src/libDDK/src/KernelCall.cpp index bbaded64..43e4b79f 100644 --- a/src/libDDK/src/KernelCall.cpp +++ b/src/libDDK/src/KernelCall.cpp @@ -40,14 +40,14 @@ static uint64_t ddk_fnv_64(const char* path) { /// @retval nil Kernel call failed, call KernelLastError(void) 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(ddk_fnv_64(name), cnt, data, sz); + return ::__ke_call_dispatch(ddk_fnv_64(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_dispatch("ke_set_syscall", slot, (ptr_t) slotFn, 1); + ::ke_call_dispatch("ke_set_syscall", slot, (ptr_t) slotFn, 1); } /// @brief Get a Kernel object. @@ -56,7 +56,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_dispatch("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; @@ -70,5 +70,5 @@ DDK_EXTERN struct DDK_OBJECT_MANIFEST* ke_get_obj(const int slot, const char* na /// @return property's object. DDK_EXTERN void* ke_set_obj(const int slot, const struct DDK_OBJECT_MANIFEST* ddk_ptr) { if (ddk_ptr == nil) return nil; - return ke_call_dispatch("cfkit_set_kobj", slot, (void*) ddk_ptr, 1); + return ::ke_call_dispatch("cfkit_set_kobj", slot, (void*) ddk_ptr, 1); } diff --git a/src/libDDK/src/Device.cpp b/src/libDDK/src/KernelDevice.cpp index 6390f05c..50a2c9a8 100644 --- a/src/libDDK/src/Device.cpp +++ b/src/libDDK/src/KernelDevice.cpp @@ -11,8 +11,8 @@ DDK_EXTERN DDK_DEVICE_PTR kopen_dev(const char* devicePath) { if (nil == devicePath) return nil; - return (DDK_DEVICE_PTR) ke_call_dispatch("dk_open_dev", 1, (void*) devicePath, - kstrlen(devicePath)); + return (DDK_DEVICE_PTR)::ke_call_dispatch("dk_open_dev", 1, (void*) devicePath, + kstrlen(devicePath)); } /// @brief Close any device. @@ -20,6 +20,6 @@ DDK_EXTERN DDK_DEVICE_PTR kopen_dev(const char* devicePath) { DDK_EXTERN BOOL kclose_dev(DDK_DEVICE_PTR device) { if (nil == device) return NO; - ke_call_dispatch("dk_close_dev", 1, device, sizeof(DDK_DEVICE)); + ::ke_call_dispatch("dk_close_dev", 1, device, sizeof(DDK_DEVICE)); return YES; } diff --git a/src/libDDK/src/DriverBase.cpp b/src/libDDK/src/KernelDriverBase.cpp index 37b138a0..67fd7466 100644 --- a/src/libDDK/src/DriverBase.cpp +++ b/src/libDDK/src/KernelDriverBase.cpp @@ -3,6 +3,4 @@ // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/ne-foss-org/nekernel -#include <DriverKit/ObjectKit/Base.h> - - +#include <DriverKit/ObjectKit/Base.hpp> diff --git a/src/libDDK/src/IO.cpp b/src/libDDK/src/KernelIO.cpp index fc247e15..e978525d 100644 --- a/src/libDDK/src/IO.cpp +++ b/src/libDDK/src/KernelIO.cpp @@ -13,7 +13,7 @@ DDK_EXTERN void kputc(const char ch) { assembled[0] = ch; assembled[1] = 0; - ke_call_dispatch("ke_put_string", 2, assembled, 2); + ::ke_call_dispatch("ke_put_string", 2, assembled, 2); } /// @brief print string to UART. @@ -23,10 +23,10 @@ DDK_EXTERN void kprint(const char* message) { if (*message == '\0') return; size_t index = 0; - size_t len = kstrlen(message); + size_t len = ::kstrlen(message); while (index < len) { - kputc(message[index]); + ::kputc(message[index]); ++index; } } diff --git a/src/libDDK/src/String.cpp b/src/libDDK/src/KernelString.cpp index 7aee7495..7aee7495 100644 --- a/src/libDDK/src/String.cpp +++ b/src/libDDK/src/KernelString.cpp |
