summaryrefslogtreecommitdiffhomepage
path: root/Kernel/Sources
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-06 07:05:10 +0200
committerAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-06 07:05:10 +0200
commitbf63a6eeec618d4d3240943e54e8e4ce9f564405 (patch)
tree1d91396a2584c46e6d33c3e0677f64511b5a22ce /Kernel/Sources
parenteb4f3414d2ca4ff518481afdd7b391f1c440fa9e (diff)
[WIP] Fixing DLL 0x08 and 0xD faults.
Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Kernel/Sources')
-rw-r--r--Kernel/Sources/Heap.cxx10
-rw-r--r--Kernel/Sources/KernelCheck.cxx4
-rw-r--r--Kernel/Sources/MP.cxx20
-rw-r--r--Kernel/Sources/ProcessScheduler.cxx18
4 files changed, 26 insertions, 26 deletions
diff --git a/Kernel/Sources/Heap.cxx b/Kernel/Sources/Heap.cxx
index 75285cf8..72c0b77c 100644
--- a/Kernel/Sources/Heap.cxx
+++ b/Kernel/Sources/Heap.cxx
@@ -30,11 +30,11 @@ namespace Kernel
/// | HIB | ADDRESS |
struct PACKED HEAP_INFORMATION_BLOCK final
{
- ///! @brief 32-bit value which contains the magic number of the executable.
+ ///! @brief 32-bit value which contains the magic number of the heap.
UInt32 fMagic;
- ///! @brief Boolean value which tells if the pointer is allocated.
+ ///! @brief Boolean value which tells if the heap is allocated.
Boolean fPresent;
- ///! @brief 32-bit CRC checksum
+ ///! @brief 32-bit CRC checksum.
UInt32 fCRC32;
/// @brief 64-bit pointer size.
SizeT fTargetPtrSize;
@@ -95,7 +95,7 @@ namespace Kernel
/// @param sz size of pointer
/// @param rw read write (true to enable it)
/// @param user is it accesible by user processes?
- /// @return the pointer
+ /// @return The newly allocated pointer.
VoidPtr mm_new_ke_heap(const SizeT sz, const bool rw, const bool user)
{
Detail::mm_alloc_init_timeout();
@@ -210,7 +210,7 @@ namespace Kernel
/// @brief Check if pointer is a valid kernel pointer.
/// @param heapPtr the pointer
/// @return if it exists.
- Boolean ke_is_valid_heap(VoidPtr heapPtr)
+ Boolean mm_is_valid_heap(VoidPtr heapPtr)
{
if (kHeapCount < 1)
return false;
diff --git a/Kernel/Sources/KernelCheck.cxx b/Kernel/Sources/KernelCheck.cxx
index 0fcc742f..cd8e8ef9 100644
--- a/Kernel/Sources/KernelCheck.cxx
+++ b/Kernel/Sources/KernelCheck.cxx
@@ -19,13 +19,13 @@
#define CopyMem(dst, src, sz) Kernel::rt_copy_memory((Kernel::VoidPtr)src, (Kernel::VoidPtr)dst, sz)
#define MoveMem(dst, src, sz) Kernel::rt_copy_memory((Kernel::VoidPtr)src, (Kernel::VoidPtr)dst, sz)
+#define cWebsiteMacro "https://zka-tech.nl/hulp"
+
#include <BootKit/Vendor/Qr.hxx>
/* Each error code is attributed with an ID, which will prompt a string onto the
* screen. Wait for debugger... */
-#define cWebsiteMacro "https://zka-tech.nl/hulp"
-
namespace Kernel
{
void ke_stop(const Kernel::Int& id)
diff --git a/Kernel/Sources/MP.cxx b/Kernel/Sources/MP.cxx
index 265f622c..f4b7db41 100644
--- a/Kernel/Sources/MP.cxx
+++ b/Kernel/Sources/MP.cxx
@@ -120,7 +120,7 @@ namespace Kernel
//! @brief Constructor and destructor
///! @brief Default constructor.
- MPCoreScheduler::MPCoreScheduler()
+ HardwareThreadScheduler::HardwareThreadScheduler()
{
StringView strCoreName(512);
strCoreName += "\\Class\\Smp\\MPClass";
@@ -132,17 +132,17 @@ namespace Kernel
}
///! @brief Default destructor.
- MPCoreScheduler::~MPCoreScheduler() = default;
+ HardwareThreadScheduler::~HardwareThreadScheduler() = default;
/// @brief Shared singleton function
- Ref<MPCoreScheduler> MPCoreScheduler::The()
+ Ref<HardwareThreadScheduler> HardwareThreadScheduler::The()
{
- static MPCoreScheduler manager;
+ static HardwareThreadScheduler manager;
return {manager};
}
/// @brief Get Stack Frame of Core
- HAL::StackFramePtr MPCoreScheduler::Leak() noexcept
+ HAL::StackFramePtr HardwareThreadScheduler::Leak() noexcept
{
if (fThreadList[fCurrentThread].Leak() &&
ProcessHelper::TheCurrentPID() ==
@@ -153,7 +153,7 @@ namespace Kernel
}
/// @brief Finds and switch to a free core.
- bool MPCoreScheduler::Switch(HAL::StackFramePtr stack)
+ bool HardwareThreadScheduler::Switch(HAL::StackFramePtr stack)
{
if (stack == nullptr)
return false;
@@ -203,7 +203,7 @@ namespace Kernel
* @param idx the index
* @return the reference to the hardware thread.
*/
- Ref<HardwareThread*> MPCoreScheduler::operator[](const SizeT& idx)
+ Ref<HardwareThread*> HardwareThreadScheduler::operator[](const SizeT& idx)
{
if (idx == 0)
{
@@ -233,7 +233,7 @@ namespace Kernel
* Check if thread pool isn't empty.
* @return
*/
- MPCoreScheduler::operator bool() noexcept
+ HardwareThreadScheduler::operator bool() noexcept
{
return !fThreadList.Empty();
}
@@ -242,14 +242,14 @@ namespace Kernel
* Reverse operator bool
* @return
*/
- bool MPCoreScheduler::operator!() noexcept
+ bool HardwareThreadScheduler::operator!() noexcept
{
return fThreadList.Empty();
}
/// @brief Returns the amount of core present.
/// @return the number of cores.
- SizeT MPCoreScheduler::Count() noexcept
+ SizeT HardwareThreadScheduler::Count() noexcept
{
return fThreadList.Count();
}
diff --git a/Kernel/Sources/ProcessScheduler.cxx b/Kernel/Sources/ProcessScheduler.cxx
index 7c839a74..cacdd060 100644
--- a/Kernel/Sources/ProcessScheduler.cxx
+++ b/Kernel/Sources/ProcessScheduler.cxx
@@ -395,29 +395,29 @@ namespace Kernel
if (!the_stack || new_pid < 0)
return false;
- for (SizeT index = 0UL; index < MPCoreScheduler::The().Leak().Count(); ++index)
+ for (SizeT index = 0UL; index < HardwareThreadScheduler::The().Leak().Count(); ++index)
{
- if (MPCoreScheduler::The().Leak()[index].Leak()->Kind() == kInvalidHart)
+ if (HardwareThreadScheduler::The().Leak()[index].Leak()->Kind() == kInvalidHart)
continue;
- if (MPCoreScheduler::The().Leak()[index].Leak()->StackFrame() == the_stack)
+ if (HardwareThreadScheduler::The().Leak()[index].Leak()->StackFrame() == the_stack)
{
- MPCoreScheduler::The().Leak()[index].Leak()->Busy(false);
+ HardwareThreadScheduler::The().Leak()[index].Leak()->Busy(false);
continue;
}
- if (MPCoreScheduler::The().Leak()[index].Leak()->IsBusy())
+ if (HardwareThreadScheduler::The().Leak()[index].Leak()->IsBusy())
continue;
- if (MPCoreScheduler::The().Leak()[index].Leak()->Kind() !=
+ if (HardwareThreadScheduler::The().Leak()[index].Leak()->Kind() !=
ThreadKind::kHartBoot &&
- MPCoreScheduler::The().Leak()[index].Leak()->Kind() !=
+ HardwareThreadScheduler::The().Leak()[index].Leak()->Kind() !=
ThreadKind::kHartSystemReserved)
{
- MPCoreScheduler::The().Leak()[index].Leak()->Busy(true);
+ HardwareThreadScheduler::The().Leak()[index].Leak()->Busy(true);
ProcessHelper::TheCurrentPID() = new_pid;
- return MPCoreScheduler::The().Leak()[index].Leak()->Switch(the_stack);
+ return HardwareThreadScheduler::The().Leak()[index].Leak()->Switch(the_stack);
}
}