diff options
| author | Amlal <amlal.elmahrouss@icloud.com> | 2024-10-26 21:55:26 +0200 |
|---|---|---|
| committer | Amlal <amlal.elmahrouss@icloud.com> | 2024-10-26 21:55:26 +0200 |
| commit | d2682692ba4b5261335f8fe61c91d34b19fc6e6c (patch) | |
| tree | 77379dbc797d1dbd53b387386148b137af175c75 /dev/zka/src | |
| parent | 6dcf5b87da65de2254d6102f567183eaeca03088 (diff) | |
FIX: Improved kernel code and finding the root cause of the GPF and Double Fault.
(Mostly includes KernelKit changes, also CompilerKit has changed regarding versioning)
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/zka/src')
| -rw-r--r-- | dev/zka/src/HardwareThreadScheduler.cc | 3 | ||||
| -rw-r--r-- | dev/zka/src/NeFS+FileMgr.cc | 4 | ||||
| -rw-r--r-- | dev/zka/src/PEFCodeMgr.cc | 2 | ||||
| -rw-r--r-- | dev/zka/src/User.cc | 13 | ||||
| -rw-r--r-- | dev/zka/src/UserProcessScheduler.cc | 3 |
5 files changed, 13 insertions, 12 deletions
diff --git a/dev/zka/src/HardwareThreadScheduler.cc b/dev/zka/src/HardwareThreadScheduler.cc index c1d06531..ddfd0ee7 100644 --- a/dev/zka/src/HardwareThreadScheduler.cc +++ b/dev/zka/src/HardwareThreadScheduler.cc @@ -41,6 +41,7 @@ namespace Kernel } //! @brief is the thread busy? + //! @return whether the thread is busy or not. Bool HardwareThread::IsBusy() noexcept { STATIC Int64 busy_timer = 0U; @@ -51,6 +52,8 @@ namespace Kernel fBusy = No; } + ++busy_timer; + return fBusy; } diff --git a/dev/zka/src/NeFS+FileMgr.cc b/dev/zka/src/NeFS+FileMgr.cc index dcc9c3b2..858b4ee0 100644 --- a/dev/zka/src/NeFS+FileMgr.cc +++ b/dev/zka/src/NeFS+FileMgr.cc @@ -172,7 +172,7 @@ namespace Kernel ZKA_UNUSED(flags); if ((reinterpret_cast<NFS_CATALOG_STRUCT*>(node))->Kind == kNeFSCatalogKindFile) - fImpl->WriteCatalog(reinterpret_cast<NFS_CATALOG_STRUCT*>(node), (flags & cFileFlagRsrc ? true : false), data, size, + fImpl->WriteCatalog(reinterpret_cast<NFS_CATALOG_STRUCT*>(node), (flags & kFileFlagRsrc ? true : false), data, size, name); } @@ -190,7 +190,7 @@ namespace Kernel ZKA_UNUSED(flags); if ((reinterpret_cast<NFS_CATALOG_STRUCT*>(node))->Kind == kNeFSCatalogKindFile) - return fImpl->ReadCatalog(reinterpret_cast<NFS_CATALOG_STRUCT*>(node), (flags & cFileFlagRsrc ? true : false), sz, + return fImpl->ReadCatalog(reinterpret_cast<NFS_CATALOG_STRUCT*>(node), (flags & kFileFlagRsrc ? true : false), sz, name); return nullptr; diff --git a/dev/zka/src/PEFCodeMgr.cc b/dev/zka/src/PEFCodeMgr.cc index 44c14b42..7065cdda 100644 --- a/dev/zka/src/PEFCodeMgr.cc +++ b/dev/zka/src/PEFCodeMgr.cc @@ -55,7 +55,7 @@ namespace Kernel PEFLoader::PEFLoader(const Char* path) : fCachedBlob(nullptr), fBad(false), fFatBinary(false) { - fFile.New(const_cast<Char*>(path), cRestrictRB); + fFile.New(const_cast<Char*>(path), kRestrictRB); fPath = StringBuilder::Construct(path).Leak(); auto cPefHeader = "PEF_CONTAINER"; diff --git a/dev/zka/src/User.cc b/dev/zka/src/User.cc index 80a14041..55ef0c60 100644 --- a/dev/zka/src/User.cc +++ b/dev/zka/src/User.cc @@ -11,15 +11,14 @@ */ #include <KernelKit/User.h> - #include <KernelKit/LPC.h> #include <NewKit/Stop.h> #include <KernelKit/FileMgr.h> #include <KernelKit/UserProcessScheduler.h> #include <KernelKit/Heap.h> -#define cStdUser (0xCEEF) -#define cSuperUser (0xECCF) +#define kStdUserType (0xCEEF) +#define kSuperUserType (0xECCF) /// BUGS: 0 @@ -35,19 +34,19 @@ namespace Kernel if (!password || !user) return -1; - kcout << "Constructing password...\r"; + kcout << "Hashing password...\r"; for (Size i_pass = 0; i_pass < length; ++i_pass) { - Char cur_chr = in_password[i_pass]; + Char& cur_chr = in_password[i_pass]; if (cur_chr == 0) break; - password[i_pass] = cur_chr + (user->IsStdUser() ? cStdUser : cSuperUser); + password[i_pass] = cur_chr + (user->IsStdUser() ? kStdUserType : kSuperUserType); } - kcout << "Done constructing password...\r"; + kcout << "Done hashing password!\r"; return 0; } diff --git a/dev/zka/src/UserProcessScheduler.cc b/dev/zka/src/UserProcessScheduler.cc index 844afa5d..090faf32 100644 --- a/dev/zka/src/UserProcessScheduler.cc +++ b/dev/zka/src/UserProcessScheduler.cc @@ -451,8 +451,7 @@ namespace Kernel } else { - if (process.Status == ProcessStatusKind::kRunning) - --process.PTime; + --process.PTime; } } |
