From 03902f82edb1bac41631a3c2aeac866089ccaef8 Mon Sep 17 00:00:00 2001 From: Amlal Date: Tue, 17 Dec 2024 10:42:10 +0100 Subject: Kernel: Lots of fixes and improvements on the kernel's KWindow and Filesystem. --- dev/ZKAKit/KernelKit/CodeMgr.h | 8 +++++++- dev/ZKAKit/KernelKit/IPEFDLLObject.h | 4 ++-- dev/ZKAKit/KernelKit/UserProcessScheduler.h | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) (limited to 'dev/ZKAKit/KernelKit') diff --git a/dev/ZKAKit/KernelKit/CodeMgr.h b/dev/ZKAKit/KernelKit/CodeMgr.h index 1db51449..1c157e93 100644 --- a/dev/ZKAKit/KernelKit/CodeMgr.h +++ b/dev/ZKAKit/KernelKit/CodeMgr.h @@ -21,7 +21,13 @@ namespace Kernel { /// @brief Main process entrypoint. - typedef void (*rtl_main_kind)(void); + typedef void (*rtl_main_kind)(SizeT argc, char** argv, char** envp, SizeT envp_len); + + /// @brief C++ Constructor entrypoint. + typedef void(*rtl_ctor_kind)(void); + + /// @brief C++ Destructor entrypoint. + typedef void(*rtl_dtor_kind)(void); /// @brief Executes a new process from a function. Kernel code only. /// @note This sets up a new stack, anything on the main function that calls the Kernel will not be accessible. diff --git a/dev/ZKAKit/KernelKit/IPEFDLLObject.h b/dev/ZKAKit/KernelKit/IPEFDLLObject.h index e1a302e5..f82cb0e5 100644 --- a/dev/ZKAKit/KernelKit/IPEFDLLObject.h +++ b/dev/ZKAKit/KernelKit/IPEFDLLObject.h @@ -99,8 +99,8 @@ namespace Kernel typedef IPEFDLLObject* IDLL; - EXTERN_C IDLL rtl_init_dll(UserProcess* header); - EXTERN_C Void rtl_fini_dll(UserProcess* header, IDLL lib, Bool* successful); + EXTERN_C IDLL rtl_init_dylib(UserProcess* header); + EXTERN_C Void rtl_fini_dylib(UserProcess* header, IDLL lib, Bool* successful); } // namespace Kernel #endif /* ifndef __KERNELKIT_SHARED_OBJECT_H__ */ diff --git a/dev/ZKAKit/KernelKit/UserProcessScheduler.h b/dev/ZKAKit/KernelKit/UserProcessScheduler.h index 6c2b2837..ab4c4ff1 100644 --- a/dev/ZKAKit/KernelKit/UserProcessScheduler.h +++ b/dev/ZKAKit/KernelKit/UserProcessScheduler.h @@ -163,7 +163,7 @@ namespace Kernel UInt8* StackReserve{nullptr}; UserProcessImage Image; SizeT StackSize{kSchedMaxStackSz}; - IDLLObject* PefDLLDelegate{nullptr}; + IDLLObject* DylibDelegate{nullptr}; SizeT MemoryCursor{0}; SizeT MemoryLimit{kSchedMaxMemoryLimit}; -- cgit v1.2.3