diff options
| author | Amlal <amlalelmahrouss@icloud.com> | 2024-06-06 10:27:55 +0000 |
|---|---|---|
| committer | Amlal <amlalelmahrouss@icloud.com> | 2024-06-06 10:27:55 +0000 |
| commit | 4e75e05a20ddd0dbca982e8f3bc2ea8043ed3a3f (patch) | |
| tree | 95409c0e32b644578b94a5c230417da684d79dc9 /DDK/KernelStdCxx.cc | |
| parent | f5081a8f9a8537ad5be5d639955cd1d0e68a9e1d (diff) | |
| parent | 9994b8f3f88131f41be1061fb0947177e66dc7b0 (diff) | |
Merged in MHR-23 (pull request #14)
Draft: MHR-23
Diffstat (limited to 'DDK/KernelStdCxx.cc')
| -rw-r--r-- | DDK/KernelStdCxx.cc | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/DDK/KernelStdCxx.cc b/DDK/KernelStdCxx.cc new file mode 100644 index 00000000..7d8c9ff3 --- /dev/null +++ b/DDK/KernelStdCxx.cc @@ -0,0 +1,24 @@ +/* ------------------------------------------- + + Copyright SoftwareLabs + + Purpose: Driver C++ Definitions. + +------------------------------------------- */ + +#include <DDK/KernelStd.h> + +void* operator new(size_t sz) { + if (!sz) ++sz; + + auto ptr = kernelCall("NewKernelHeap", 1, sz); + kernelCall("ProtectKernelHeap", 1, ptr); + + return ptr; +} + +void operator delete(void* ptr) noexcept { + if (!ptr) return; + + kernelCall("DeleteKernelHeap", 1,ptr); +} |
