diff options
| author | Amlal <amlal@zka.com> | 2024-07-20 08:43:16 +0200 |
|---|---|---|
| committer | Amlal <amlal@zka.com> | 2024-07-20 08:43:16 +0200 |
| commit | 650fee520f526d9cd5ffa75735bd94d5140dd247 (patch) | |
| tree | 5967c57a2e754c0f46bccfba40a915a680dcaa10 /DDK | |
| parent | 81b284cacb03b34ae259c485ac874b02c8ecba69 (diff) | |
[IMP] See below.
- Revoke OTA flag for now inside bootloader (newosldr #4)
- Rework Comm as SCI (System Call Interface) (newoskrnl #3)
- Rework and fix some parts of the scheduler (newoskrnl #2)
- Return from thread when region is zero (newosldr #1)
- Separate allocation functions and c++ runtime from each other. (DDK #5)
- Rename kHartStandard to kStandard (newoskrnl #6)
Signed-off-by: Amlal <amlal@zka.com>
Diffstat (limited to 'DDK')
| -rw-r--r-- | DDK/KernelAlloc.c (renamed from DDK/KernelStdCxx.cc) | 14 | ||||
| -rw-r--r-- | DDK/KernelCxxRt.cxx | 29 |
2 files changed, 31 insertions, 12 deletions
diff --git a/DDK/KernelStdCxx.cc b/DDK/KernelAlloc.c index be5c438d..6f31ae1c 100644 --- a/DDK/KernelStdCxx.cc +++ b/DDK/KernelAlloc.c @@ -2,27 +2,17 @@ Copyright ZKA Technologies - Purpose: Driver C++ Definitions. + Purpose: Standard library. ------------------------------------------- */ #include <DDK/KernelStd.h> -void* operator new(size_t sz) -{ - return kernelAlloc(sz); -} - -void operator delete(void* ptr) noexcept -{ - kernelFree(ptr); -} - DK_EXTERN void* kernelAlloc(size_t sz) { if (!sz) ++sz; - auto ptr = kernelCall("NewHeap", 1, &sz, sizeof(size_t)); + void* ptr = kernelCall("NewHeap", 1, &sz, sizeof(size_t)); kernelCall("ProtectHeap", 1, ptr, sz); return ptr; diff --git a/DDK/KernelCxxRt.cxx b/DDK/KernelCxxRt.cxx new file mode 100644 index 00000000..8a5f4c66 --- /dev/null +++ b/DDK/KernelCxxRt.cxx @@ -0,0 +1,29 @@ +/* ------------------------------------------- + + Copyright ZKA Technologies + + Purpose: Driver C++ Definitions. + +------------------------------------------- */ + +#include <DDK/KernelStd.h> + +void* operator new(size_t sz) +{ + return kernelAlloc(sz); +} + +void operator delete(void* ptr) +{ + kernelFree(ptr); +} + +void* operator new[](size_t sz) +{ + return kernelAlloc(sz); +} + +void operator delete[](void* ptr) +{ + kernelFree(ptr); +} |
