diff options
| author | Amlal <amlalelmahrouss@icloud.com> | 2024-12-17 10:42:10 +0100 |
|---|---|---|
| committer | Amlal <amlalelmahrouss@icloud.com> | 2024-12-17 10:42:10 +0100 |
| commit | 03902f82edb1bac41631a3c2aeac866089ccaef8 (patch) | |
| tree | 06ac75fdd12446915091a5307981459f048a9d5c | |
| parent | 83cf6299a17d60ece650baa05069f657f783c911 (diff) | |
Kernel: Lots of fixes and improvements on the kernel's KWindow and Filesystem.
| -rw-r--r-- | dev/Modules/FB/Accessibility.h | 10 | ||||
| -rw-r--r-- | dev/Modules/FB/KWindow.h | 22 | ||||
| -rw-r--r-- | dev/SCIKit/SCI.h | 25 | ||||
| -rw-r--r-- | dev/ZKAKit/HALKit/AMD64/HalKernelMain.cc | 8 | ||||
| -rw-r--r-- | dev/ZKAKit/HALKit/ARM64/HalKernelMain.cc | 4 | ||||
| -rw-r--r-- | dev/ZKAKit/KernelKit/CodeMgr.h | 8 | ||||
| -rw-r--r-- | dev/ZKAKit/KernelKit/IPEFDLLObject.h | 4 | ||||
| -rw-r--r-- | dev/ZKAKit/KernelKit/UserProcessScheduler.h | 2 | ||||
| -rw-r--r-- | dev/ZKAKit/src/FS/NeFS.cc | 24 | ||||
| -rw-r--r-- | dev/ZKAKit/src/IPEFDLLObject.cc | 10 | ||||
| -rw-r--r-- | dev/ZKAKit/src/KernelMain.cc | 58 | ||||
| -rw-r--r-- | dev/ZKAKit/src/User.cc | 15 | ||||
| -rw-r--r-- | dev/ZKAKit/src/UserProcessScheduler.cc | 12 |
13 files changed, 111 insertions, 91 deletions
diff --git a/dev/Modules/FB/Accessibility.h b/dev/Modules/FB/Accessibility.h index 5b1ecbe3..843ad9a7 100644 --- a/dev/Modules/FB/Accessibility.h +++ b/dev/Modules/FB/Accessibility.h @@ -26,18 +26,12 @@ namespace CG public: ZKA_COPY_DELETE(UIAccessibilty); - STATIC UIAccessibilty& The() - { - STATIC UIAccessibilty the; - return the; - } - - Int64 Width() noexcept + static Int64 Width() noexcept { return kHandoverHeader->f_GOP.f_Width; } - Int64 Height() noexcept + static Int64 Height() noexcept { return kHandoverHeader->f_GOP.f_Height; } diff --git a/dev/Modules/FB/KWindow.h b/dev/Modules/FB/KWindow.h index 06cdd62e..a6d239b3 100644 --- a/dev/Modules/FB/KWindow.h +++ b/dev/Modules/FB/KWindow.h @@ -55,7 +55,7 @@ namespace CG { cg_init(); - CGDrawInRegion(cg_color(0x45, 0x00, 0x06), CG::UIAccessibilty::The().Height(), CG::UIAccessibilty::The().Width(), + CGDrawInRegion(cg_color(0x45, 0x00, 0x06), CG::UIAccessibilty::Height(), CG::UIAccessibilty::Width(), 0, 0); cg_fini(); @@ -150,11 +150,13 @@ namespace CG wnd[index]->w_needs_repaint = false; - if (UIAccessibilty::The().Width() < wnd[index]->w_x) + kcout << "Begin paint\r"; + + if (UIAccessibilty::Width() < wnd[index]->w_x) { - if ((wnd[index]->w_x - UIAccessibilty::The().Width()) > 1) + if ((wnd[index]->w_x - UIAccessibilty::Width()) > 1) { - wnd[index]->w_x -= wnd[index]->w_x - UIAccessibilty::The().Width(); + wnd[index]->w_x -= wnd[index]->w_x - UIAccessibilty::Width(); } else { @@ -162,11 +164,11 @@ namespace CG } } - if (UIAccessibilty::The().Height() < wnd[index]->w_y) + if (UIAccessibilty::Height() < wnd[index]->w_y) { - if ((wnd[index]->w_y - UIAccessibilty::The().Height()) > 1) + if ((wnd[index]->w_y - UIAccessibilty::Height()) > 1) { - wnd[index]->w_y -= wnd[index]->w_y - UIAccessibilty::The().Width(); + wnd[index]->w_y -= wnd[index]->w_y - UIAccessibilty::Width(); } else { @@ -174,11 +176,11 @@ namespace CG } } - ++cnt; - // Draw fake controls, just for the looks of it (WINDOW ONLY) if (wnd[index]->w_type == kWndFlagWindow) { + kcout << "Begin paint window\r"; + CGDrawBitMapInRegion(wnd[index]->display_ptr, wnd[index]->w_h, wnd[index]->w_w, wnd[index]->w_y, wnd[index]->w_x); CGDrawInRegion(cg_color(0xFF, 0xFF, 0xFF), wnd[index]->w_w, FLATCONTROLS_HEIGHT, wnd[index]->w_y, wnd[index]->w_x); @@ -234,6 +236,8 @@ namespace CG CGDrawWindowList(&wnd[index]->w_child_elements[child], 1); } + ++cnt; + cg_fini(); } diff --git a/dev/SCIKit/SCI.h b/dev/SCIKit/SCI.h index 7d200950..0eea032a 100644 --- a/dev/SCIKit/SCI.h +++ b/dev/SCIKit/SCI.h @@ -75,16 +75,29 @@ IMPORT_C UInt64 IoTellFile(_Input SCIObject file_desc); IMPORT_C UInt64 IoSeekFile(_Input SCIObject file_desc, UInt64 file_offset);
// ------------------------------------------------------------------------
-// TLS API.
+// Process API.
// ------------------------------------------------------------------------
-/// @brief Installs the Thread Information Block and Global Information Block inside the current process.
+/// @brief Spawns a Thread Information Block and Global Information Block inside the current process.
/// @param void.
/// @return > 0 error ocurred or already present, = 0 success.
-IMPORT_C UInt32 RtlTlsInstall(Void);
+IMPORT_C UInt32 RtlSpawnIB(Void);
+
+/// @brief Spawns a process with a unique pid (stored as UIntPtr).
+/// @param process_path process filesystem path.
+/// @return > 0 process was created.
+IMPORT_C UIntPtr RtlSpawnProcess(const Char* process_path, SizeT argc, Char** argv, Char** envp, SizeT envp_len);
+
+/// @brief Exits a process with an exit_code.
+/// @return if it has succeeded true, otherwise false.
+IMPORT_C Bool RtlExitProcess(UIntPtr handle, UIntPtr exit_code);
+
+/// @brief Get current PID of process.
+/// @return Current process ID.
+IMPORT_C UIntPtr RtlCurrentPID(Void);
// ------------------------------------------------------------------------
-// Memory Management API.
+// Memory Manager API.
// ------------------------------------------------------------------------
/// @brief Creates a new heap from the process's address space.
@@ -114,7 +127,7 @@ IMPORT_C VoidPtr MmCopyMemory(_Input VoidPtr dest, _Input VoidPtr src, _Input Si IMPORT_C VoidPtr MmFillMemory(_Input VoidPtr dest, _Input SizeT len, _Input UInt8 value);
// ------------------------------------------------------------------------
-// Error handling API.
+// Error API.
// ------------------------------------------------------------------------
IMPORT_C SInt32 ErrGetLastError(Void);
@@ -137,7 +150,7 @@ IMPORT_C Void ThrExitMainThread(_Input SInt32 exit_code); IMPORT_C Void ThrExitThread(_Input ThreadObject thread, _Input SInt32 exit_code);
/// @brief Thread procedure function type.
-typedef Void (*thread_proc_kind)(Void);
+typedef Void (*thread_proc_kind)(int argc, char** argv);
/// @brief Creates a thread.
/// @param procedure the thread procedure.
diff --git a/dev/ZKAKit/HALKit/AMD64/HalKernelMain.cc b/dev/ZKAKit/HALKit/AMD64/HalKernelMain.cc index d68c0541..d6fe8a14 100644 --- a/dev/ZKAKit/HALKit/AMD64/HalKernelMain.cc +++ b/dev/ZKAKit/HALKit/AMD64/HalKernelMain.cc @@ -18,16 +18,16 @@ EXTERN_C Kernel::VoidPtr kInterruptVectorTable[]; EXTERN_C Kernel::VoidPtr mp_user_switch_proc; EXTERN_C Kernel::Char mp_user_switch_proc_stack_begin[]; -EXTERN_C Kernel::rtl_main_kind __CTOR_LIST__[]; +EXTERN_C Kernel::rtl_ctor_kind __CTOR_LIST__[]; EXTERN_C Kernel::VoidPtr __DTOR_LIST__; -EXTERN_C Kernel::Void gsh_dll_main(Kernel::Void); +EXTERN_C Kernel::Void rtl_kernel_main(Kernel::SizeT argc, char** argv, char** envp, Kernel::SizeT envp_len); STATIC Kernel::Void hal_init_cxx_ctors() { for (Kernel::SizeT index = 0UL; __CTOR_LIST__[index] != __DTOR_LIST__; ++index) { - Kernel::rtl_main_kind constructor_cxx = (Kernel::rtl_main_kind)__CTOR_LIST__[index]; + Kernel::rtl_ctor_kind constructor_cxx = (Kernel::rtl_ctor_kind)__CTOR_LIST__[index]; constructor_cxx(); } } @@ -86,7 +86,7 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept { CG::CGDrawBackground(); - Kernel::rtl_create_process(gsh_dll_main, "GSh"); + rtl_kernel_main(0, nullptr, nullptr, 0); if (kHandoverHeader->f_HardwareTables.f_MultiProcessingEnabled) Kernel::HAL::mp_get_cores(kHandoverHeader->f_HardwareTables.f_VendorPtr); diff --git a/dev/ZKAKit/HALKit/ARM64/HalKernelMain.cc b/dev/ZKAKit/HALKit/ARM64/HalKernelMain.cc index b3a18663..c7c642ff 100644 --- a/dev/ZKAKit/HALKit/ARM64/HalKernelMain.cc +++ b/dev/ZKAKit/HALKit/ARM64/HalKernelMain.cc @@ -19,7 +19,7 @@ #include <CFKit/Property.h> Kernel::Void hal_real_init(Kernel::Void) noexcept; -EXTERN_C Kernel::Void gsh_dll_main(Kernel::Void); +EXTERN_C Kernel::Void rtl_kernel_main(Kernel::SizeT argc, char** argv, char** envp, Kernel::SizeT envp_len); EXTERN_C void hal_init_platform( Kernel::HEL::BootInfoHeader* handover_hdr) @@ -49,7 +49,7 @@ EXTERN_C void hal_init_platform( CG::CGDrawBackground(); - Kernel::rtl_create_process(gsh_dll_main, "GSh"); + rtl_kernel_main(0, nullptr, nullptr, 0); while (YES) { 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}; diff --git a/dev/ZKAKit/src/FS/NeFS.cc b/dev/ZKAKit/src/FS/NeFS.cc index eb2b293f..c062d16a 100644 --- a/dev/ZKAKit/src/FS/NeFS.cc +++ b/dev/ZKAKit/src/FS/NeFS.cc @@ -717,11 +717,15 @@ bool NeFileSystemParser::WriteCatalog(_Input _Output NFS_CATALOG_STRUCT* catalog } /// @brief -/// @param catalogName the catalog name. +/// @param catalog_name the catalog name. /// @return the newly found catalog. -_Output NFS_CATALOG_STRUCT* NeFileSystemParser::FindCatalog(_Input const Char* catalogName, +_Output NFS_CATALOG_STRUCT* NeFileSystemParser::FindCatalog(_Input const Char* catalog_name, Lba& out_lba) { + if (!catalog_name || + *catalog_name == 0) + return nullptr; + kcout << "Start finding catalog...\r"; NFS_ROOT_PARTITION_BLOCK fs_buf{0}; @@ -751,13 +755,13 @@ _Output NFS_CATALOG_STRUCT* NeFileSystemParser::FindCatalog(_Input const Char* c drive.fInput(&drive.fPacket); - if (!StringBuilder::Equals(catalogName, NeFileSystemHelper::Root())) + if (!StringBuilder::Equals(catalog_name, NeFileSystemHelper::Root())) { Char parentName[kNeFSNodeNameLen] = {0}; - for (SizeT indexFill = 0; indexFill < rt_string_len(catalogName); ++indexFill) + for (SizeT indexFill = 0; indexFill < rt_string_len(catalog_name); ++indexFill) { - parentName[indexFill] = catalogName[indexFill]; + parentName[indexFill] = catalog_name[indexFill]; } SizeT indexReverseCopy = rt_string_len(parentName); @@ -807,7 +811,7 @@ NeFSSearchThroughCatalogList: NFS_CATALOG_STRUCT* catalog = (NFS_CATALOG_STRUCT*)&temporary_catalog; - if (StringBuilder::Equals(catalogName, catalog->Name)) + if (StringBuilder::Equals(catalog_name, catalog->Name)) { /// ignore unallocated catalog, break if (!(catalog->Flags & kNeFSFlagCreated)) @@ -870,17 +874,17 @@ Boolean NeFileSystemParser::CloseCatalog(_Input _Output NFS_CATALOG_STRUCT* cata /// @brief Mark catalog as removed. /// @param catalog The catalog structure. /// @return if the catalog was removed or not. -Boolean NeFileSystemParser::RemoveCatalog(_Input const Char* catalogName) +Boolean NeFileSystemParser::RemoveCatalog(_Input const Char* catalog_name) { - if (!catalogName || - StringBuilder::Equals(catalogName, NeFileSystemHelper::Root())) + if (!catalog_name || + StringBuilder::Equals(catalog_name, NeFileSystemHelper::Root())) { err_local_get() = kErrorInternal; return false; } Lba out_lba = 0; - auto catalog = this->FindCatalog(catalogName, out_lba); + auto catalog = this->FindCatalog(catalog_name, out_lba); if (out_lba >= kNeFSCatalogStartAddress || catalog->Flags & kNeFSFlagCreated) diff --git a/dev/ZKAKit/src/IPEFDLLObject.cc b/dev/ZKAKit/src/IPEFDLLObject.cc index aa2fe78d..a7d80081 100644 --- a/dev/ZKAKit/src/IPEFDLLObject.cc +++ b/dev/ZKAKit/src/IPEFDLLObject.cc @@ -18,11 +18,11 @@ Revision History: - 01/02/24: Reworked dll ABI, expect a rtl_init_dll and - rtl_fini_dll (amlel) 15/02/24: Breaking changes, changed the name of the + 01/02/24: Reworked dll ABI, expect a rtl_init_dylib and + rtl_fini_dylib (amlel) 15/02/24: Breaking changes, changed the name of the routines. (amlel) - 07/28/24: Replace rt_library_free with rtl_fini_dll + 07/28/24: Replace rt_library_free with rtl_fini_dylib 10/8/24: FIX: Fix log comment. @@ -39,7 +39,7 @@ using namespace Kernel; /** @brief Library initializer. */ /***********************************************************************************/ -EXTERN_C IDLL rtl_init_dll(UserProcess* header) +EXTERN_C IDLL rtl_init_dylib(UserProcess* header) { IDLL dll_obj = tls_new_class<IPEFDLLObject>(); @@ -83,7 +83,7 @@ EXTERN_C IDLL rtl_init_dll(UserProcess* header) /** @param successful Reports if successful or not. */ /***********************************************************************************/ -EXTERN_C Void rtl_fini_dll(UserProcess* header, IDLL dll_obj, Bool* successful) +EXTERN_C Void rtl_fini_dylib(UserProcess* header, IDLL dll_obj, Bool* successful) { MUST_PASS(successful); diff --git a/dev/ZKAKit/src/KernelMain.cc b/dev/ZKAKit/src/KernelMain.cc index 6832cd9d..aa1638c7 100644 --- a/dev/ZKAKit/src/KernelMain.cc +++ b/dev/ZKAKit/src/KernelMain.cc @@ -50,58 +50,58 @@ namespace Kernel::Detail for (Kernel::SizeT dirIndx = 0UL; dirIndx < kFolderCount; ++dirIndx) { - auto catalogDir = fNeFS->GetParser()->GetCatalog(kFolderStr[dirIndx]); + auto catalog_folder = fNeFS->GetParser()->GetCatalog(kFolderStr[dirIndx]); - if (catalogDir) + if (catalog_folder) { kcout << "newoskrnl: Already exists.\r"; CG::CGDrawStringToWnd(kKernelWnd, "MinOSKrnl: Catalog already exists...", 10 + (10 * (dirIndx + 1)), 10, RGB(0, 0, 0)); - delete catalogDir; + delete catalog_folder; continue; } - catalogDir = fNeFS->GetParser()->CreateCatalog(kFolderStr[dirIndx], 0, + catalog_folder = fNeFS->GetParser()->CreateCatalog(kFolderStr[dirIndx], 0, kNeFSCatalogKindDir); - NFS_FORK_STRUCT theFork{0}; + NFS_FORK_STRUCT fork_folder{0}; const Kernel::Char* kSrcFolderName = kFolderInfo; - Kernel::rt_copy_memory((Kernel::VoidPtr)(kSrcFolderName), theFork.ForkName, + Kernel::rt_copy_memory((Kernel::VoidPtr)(kSrcFolderName), fork_folder.ForkName, Kernel::rt_string_len(kSrcFolderName)); - Kernel::rt_copy_memory((Kernel::VoidPtr)(catalogDir->Name), - theFork.CatalogName, - Kernel::rt_string_len(catalogDir->Name)); + Kernel::rt_copy_memory((Kernel::VoidPtr)(catalog_folder->Name), + fork_folder.CatalogName, + Kernel::rt_string_len(catalog_folder->Name)); - theFork.DataSize = kNeFSForkSize; - theFork.ResourceId = 0; - theFork.ResourceKind = Kernel::kNeFSRsrcForkKind; - theFork.Kind = Kernel::kNeFSDataForkKind; + fork_folder.DataSize = kNeFSForkSize; + fork_folder.ResourceId = 0; + fork_folder.ResourceKind = Kernel::kNeFSRsrcForkKind; + fork_folder.Kind = Kernel::kNeFSDataForkKind; - Kernel::KString metadataFolder(kNeFSSectorSz); + Kernel::KString folder_metadata(kNeFSSectorSz); - metadataFolder += + folder_metadata += "<!properties/>\r<p>Kind: folder</p>\r<p>Created by: system</p>\r<p>Edited by: " "system</p>\r<p>Volume Type: Zeta</p>\r"; - metadataFolder += "<p>Path: "; - metadataFolder += kFolderStr[dirIndx]; - metadataFolder += "</p>\r"; + folder_metadata += "<p>Path: "; + folder_metadata += kFolderStr[dirIndx]; + folder_metadata += "</p>\r"; - const Kernel::SizeT metadataSz = kNeFSSectorSz; + const Kernel::SizeT kMetaDataSz = kNeFSSectorSz; - fNeFS->GetParser()->CreateFork(catalogDir, theFork); + fNeFS->GetParser()->CreateFork(catalog_folder, fork_folder); fNeFS->GetParser()->WriteCatalog( - catalogDir, true, (Kernel::VoidPtr)(metadataFolder.CData()), - metadataSz, kFolderInfo); + catalog_folder, true, (Kernel::VoidPtr)(folder_metadata.CData()), + kMetaDataSz, kFolderInfo); CG::CGDrawStringToWnd(kKernelWnd, "MinOSKrnl: Catalog has been created...", 10 + (10 * (dirIndx + 1)), 10, RGB(0, 0, 0)); - delete catalogDir; + delete catalog_folder; } } @@ -159,23 +159,21 @@ namespace Kernel::Detail /// @brief Application entrypoint. /// @param Void /// @return Void -EXTERN_C Kernel::Void gsh_dll_main(Kernel::Void) +EXTERN_C Kernel::Void rtl_kernel_main(Kernel::SizeT argc, char** argv, char** envp, Kernel::SizeT envp_len) { Kernel::IFilesystemMgr::Mount(new Kernel::NeFileSystemMgr()); - Kernel::Detail::FilesystemInstaller installer; - CG::CGDrawBackground(); - - kKernelWnd = CG::CGCreateWindow(CG::kWndFlagWindow, "ZKA | System Build: " KERNEL_VERSION, "Window", 20, 20, 800, 600); + kKernelWnd = CG::CGCreateWindow(CG::kWndFlagWindow, "ZKA | System Build: " KERNEL_VERSION, "Window", 10, 10, 1280, 720); if (kKernelWnd) { kKernelWnd->w_sub_type = CG::kWndFlagCloseControlSelect; - kKernelWnd->w_x = 10; - kKernelWnd->w_y = 10; + kKernelWnd->w_child_count = 0; kKernelWnd->w_needs_repaint = Yes; CG::CGDrawWindowList(&kKernelWnd, 1); + + Kernel::Detail::FilesystemInstaller installer; } } diff --git a/dev/ZKAKit/src/User.cc b/dev/ZKAKit/src/User.cc index 0cd0a90e..d45c8e1b 100644 --- a/dev/ZKAKit/src/User.cc +++ b/dev/ZKAKit/src/User.cc @@ -20,7 +20,8 @@ #define kStdUserType (0xCE) #define kSuperUserType (0xEC) -/// BUGS: 0 +/// @file User.cc +/// @brief User support (or also called ) namespace Kernel { @@ -34,7 +35,7 @@ namespace Kernel if (!password || !user) return 1; - kcout << "Hashing user password...\r"; + kcout << "cred_construct_token: Hashing user password...\r"; for (Size i_pass = 0; i_pass < length; ++i_pass) { @@ -46,7 +47,7 @@ namespace Kernel password[i_pass] = cur_chr | (user->IsStdUser() ? kStdUserType : kSuperUserType); } - kcout << "DONE: hashed user password.\r"; + kcout << "cred_construct_token: Hashed user password.\r"; return 0; } @@ -101,7 +102,7 @@ namespace Kernel delete[] password; password = nullptr; - kcout << "Saved password successfully...\r"; + kcout << "User::Save: Saved password successfully...\r"; return Yes; } @@ -130,16 +131,16 @@ namespace Kernel return No; } - kcout << "Validating hashed passwords...\r"; + kcout << "User::Matches: Validating hashed passwords...\r"; // now check if the password matches. if (rt_string_cmp(password, this->mUserToken, rt_string_len(this->mUserToken)) == 0) { - kcout << "Password is valid.\r"; + kcout << "User::Matches: Password is valid.\r"; return Yes; } - kcout << "Password isn't valid.\r"; + kcout << "User::Matches: Password isn't valid.\r"; return No; } diff --git a/dev/ZKAKit/src/UserProcessScheduler.cc b/dev/ZKAKit/src/UserProcessScheduler.cc index 360625e4..637eb151 100644 --- a/dev/ZKAKit/src/UserProcessScheduler.cc +++ b/dev/ZKAKit/src/UserProcessScheduler.cc @@ -255,14 +255,14 @@ namespace Kernel { Bool success = false; - rtl_fini_dll(this, reinterpret_cast<IPEFDLLObject*>(this->PefDLLDelegate), &success); + rtl_fini_dylib(this, reinterpret_cast<IPEFDLLObject*>(this->DylibDelegate), &success); if (!success) { ke_stop(RUNTIME_CHECK_PROCESS); } - this->PefDLLDelegate = nullptr; + this->DylibDelegate = nullptr; } if (this->StackReserve) @@ -314,10 +314,10 @@ namespace Kernel // Create heap according to type of process-> if (process->Kind == UserProcess::kExectuableDLLKind) { - process->PefDLLDelegate = rtl_init_dll(process); - MUST_PASS(process->PefDLLDelegate); + process->DylibDelegate = rtl_init_dylib(process); + MUST_PASS(process->DylibDelegate); - kcout << "Create DLL Delegate for: " << process->Name << endl; + kcout << "Created Library Interface for process: " << process->Name << endl; } process->StackReserve = new UInt8[process->StackSize]; @@ -334,7 +334,7 @@ namespace Kernel return -kErrorProcessFault; } - kcout << "Create stack reserve for: " << process->Name << endl; + kcout << "Created Reserved Stack for process: " << process->Name << endl; ProcessID pid = mTeam.mProcessCount; |
