diff options
| author | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-08-06 07:05:10 +0200 |
|---|---|---|
| committer | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-08-06 07:05:10 +0200 |
| commit | bf63a6eeec618d4d3240943e54e8e4ce9f564405 (patch) | |
| tree | 1d91396a2584c46e6d33c3e0677f64511b5a22ce /Kernel/Sources | |
| parent | eb4f3414d2ca4ff518481afdd7b391f1c440fa9e (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.cxx | 10 | ||||
| -rw-r--r-- | Kernel/Sources/KernelCheck.cxx | 4 | ||||
| -rw-r--r-- | Kernel/Sources/MP.cxx | 20 | ||||
| -rw-r--r-- | Kernel/Sources/ProcessScheduler.cxx | 18 |
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); } } |
