summaryrefslogtreecommitdiffhomepage
path: root/dev/zka/src
diff options
context:
space:
mode:
authorAmlal <amlal.elmahrouss@icloud.com>2024-10-26 21:55:26 +0200
committerAmlal <amlal.elmahrouss@icloud.com>2024-10-26 21:55:26 +0200
commitd2682692ba4b5261335f8fe61c91d34b19fc6e6c (patch)
tree77379dbc797d1dbd53b387386148b137af175c75 /dev/zka/src
parent6dcf5b87da65de2254d6102f567183eaeca03088 (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.cc3
-rw-r--r--dev/zka/src/NeFS+FileMgr.cc4
-rw-r--r--dev/zka/src/PEFCodeMgr.cc2
-rw-r--r--dev/zka/src/User.cc13
-rw-r--r--dev/zka/src/UserProcessScheduler.cc3
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;
}
}