diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-03-12 05:52:28 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-03-12 05:52:28 +0100 |
| commit | 182f9d9e6ce671970391c72f5b90c66d11efbb70 (patch) | |
| tree | 6bd86ef6bd300d80c98984c058a7a2949fb5b52d | |
| parent | c24971c61795971982ccc12e7dfc59ec6326e77f (diff) | |
ADD: Scheduler bug fixes, and working on deadlock prevention.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
| -rw-r--r-- | dev/Kernel/HALKit/AMD64/Storage/AHCI.cc | 2 | ||||
| -rw-r--r-- | dev/Kernel/NetworkKit/MAC.h | 3 | ||||
| -rw-r--r-- | dev/Kernel/src/FS/NeFS.cc | 2 | ||||
| -rw-r--r-- | dev/Kernel/src/Network/IPCAddr.cc | 34 | ||||
| -rw-r--r-- | dev/Kernel/src/Network/MACAddressGetter.cc | 2 | ||||
| -rw-r--r-- | dev/Kernel/src/UserProcessScheduler.cc | 4 | ||||
| -rw-r--r-- | dev/Mod/AHCI/AHCI.h | 2 | ||||
| -rw-r--r-- | dev/Mod/NVME/NVME.h | 2 |
8 files changed, 25 insertions, 26 deletions
diff --git a/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc b/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc index 6b115eef..bb37fd11 100644 --- a/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc +++ b/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc @@ -268,7 +268,7 @@ STATIC Bool drv_std_init_ahci(UInt16& pi, BOOL atapi) kSATAHba->Ports[kSATAIndex].Cmd |= kHBAPxCmdFre; kSATAHba->Ports[kSATAIndex].Cmd |= kHBAPxCmdST; - + drv_compute_disk_ahci(); break; diff --git a/dev/Kernel/NetworkKit/MAC.h b/dev/Kernel/NetworkKit/MAC.h index 407dfd8d..f7283708 100644 --- a/dev/Kernel/NetworkKit/MAC.h +++ b/dev/Kernel/NetworkKit/MAC.h @@ -21,7 +21,7 @@ namespace NeOS class MacAddressGetter final { public: - MacAddressGetter() = default; + MacAddressGetter() = default; ~MacAddressGetter() = default; NE_COPY_DEFAULT(MacAddressGetter); @@ -31,7 +31,6 @@ namespace NeOS private: Array<WideChar, kMACAddrLen> fMacAddress; - }; } // namespace NeOS diff --git a/dev/Kernel/src/FS/NeFS.cc b/dev/Kernel/src/FS/NeFS.cc index 45fc15fa..150249d9 100644 --- a/dev/Kernel/src/FS/NeFS.cc +++ b/dev/Kernel/src/FS/NeFS.cc @@ -166,7 +166,7 @@ _Output BOOL NeFileSystemParser::CreateFork(_Input NEFS_FORK_STRUCT& the_fork) /***********************************************************************************/ _Output NEFS_FORK_STRUCT* NeFileSystemParser::FindFork(_Input NEFS_CATALOG_STRUCT* catalog, _Input const Char* name, - _Input Boolean is_data) + _Input Boolean is_data) { auto& drive = kMountpoint.A(); NEFS_FORK_STRUCT* the_fork = nullptr; diff --git a/dev/Kernel/src/Network/IPCAddr.cc b/dev/Kernel/src/Network/IPCAddr.cc index f18d9e42..75a54a36 100644 --- a/dev/Kernel/src/Network/IPCAddr.cc +++ b/dev/Kernel/src/Network/IPCAddr.cc @@ -10,23 +10,23 @@ namespace NeOS { - bool IPC_ADDR::operator==(const IPC_ADDR& addr) noexcept - { - return addr.UserProcessID == this->UserProcessID && addr.UserProcessTeam == this->UserProcessTeam; - } + bool IPC_ADDR::operator==(const IPC_ADDR& addr) noexcept + { + return addr.UserProcessID == this->UserProcessID && addr.UserProcessTeam == this->UserProcessTeam; + } - bool IPC_ADDR::operator==(IPC_ADDR& addr) noexcept - { - return addr.UserProcessID == this->UserProcessID && addr.UserProcessTeam == this->UserProcessTeam; - } + bool IPC_ADDR::operator==(IPC_ADDR& addr) noexcept + { + return addr.UserProcessID == this->UserProcessID && addr.UserProcessTeam == this->UserProcessTeam; + } - bool IPC_ADDR::operator!=(const IPC_ADDR& addr) noexcept - { - return addr.UserProcessID != this->UserProcessID || addr.UserProcessTeam != this->UserProcessTeam; - } + bool IPC_ADDR::operator!=(const IPC_ADDR& addr) noexcept + { + return addr.UserProcessID != this->UserProcessID || addr.UserProcessTeam != this->UserProcessTeam; + } - bool IPC_ADDR::operator!=(IPC_ADDR& addr) noexcept - { - return addr.UserProcessID != this->UserProcessID || addr.UserProcessTeam != this->UserProcessTeam; - } -} + bool IPC_ADDR::operator!=(IPC_ADDR& addr) noexcept + { + return addr.UserProcessID != this->UserProcessID || addr.UserProcessTeam != this->UserProcessTeam; + } +} // namespace NeOS diff --git a/dev/Kernel/src/Network/MACAddressGetter.cc b/dev/Kernel/src/Network/MACAddressGetter.cc index 47d3350f..627bcd34 100644 --- a/dev/Kernel/src/Network/MACAddressGetter.cc +++ b/dev/Kernel/src/Network/MACAddressGetter.cc @@ -10,6 +10,6 @@ namespace NeOS { Array<WideChar, kMACAddrLen>& MacAddressGetter::AsBytes() { - return this->fMacAddress; + return this->fMacAddress; } } // namespace NeOS diff --git a/dev/Kernel/src/UserProcessScheduler.cc b/dev/Kernel/src/UserProcessScheduler.cc index a6eaff3f..95885ee5 100644 --- a/dev/Kernel/src/UserProcessScheduler.cc +++ b/dev/Kernel/src/UserProcessScheduler.cc @@ -135,7 +135,7 @@ namespace NeOS ProcessMemoryHeapList* entry = this->ProcessMemoryHeap; ProcessMemoryHeapList* prev_entry = nullptr; - while (!entry) + while (entry) { if (entry->MemoryEntry == nullptr) break; // chose to break here, when we get an already allocated memory entry for our needs. @@ -228,7 +228,6 @@ namespace NeOS mm_delete_heap(memory_heap_list); - memory_heap_list = nullptr; memory_heap_list = next; } @@ -344,6 +343,7 @@ namespace NeOS } process.StackReserve = new UInt8[process.StackSize]; + rt_set_memory(process.StackReserve, 0, process.StackSize); if (!process.StackReserve) { diff --git a/dev/Mod/AHCI/AHCI.h b/dev/Mod/AHCI/AHCI.h index 11f2346a..9e534a1a 100644 --- a/dev/Mod/AHCI/AHCI.h +++ b/dev/Mod/AHCI/AHCI.h @@ -282,7 +282,7 @@ typedef struct HbaCmdHeader final NeOS::UInt8 Reserved0 : 1; // Reserved NeOS::UInt8 Pmp : 4; // Port multiplier port - NeOS::UInt16 Prdtl; // Physical region descriptor table length in entries + NeOS::UInt16 Prdtl; // Physical region descriptor table length in entries NeOS::UInt32 Prdbc; // Physical region descriptor byte count transferred NeOS::UInt32 Ctba; // Command table descriptor base address diff --git a/dev/Mod/NVME/NVME.h b/dev/Mod/NVME/NVME.h index 3adadc98..5f8608f7 100644 --- a/dev/Mod/NVME/NVME.h +++ b/dev/Mod/NVME/NVME.h @@ -52,7 +52,7 @@ namespace NeOS kIdentifyNVME = 0x06, kReadNVME = 0x02, kWriteNVME = 0x01, - kCountNVME = 5, + kCountNVME = 5, }; /// @brief Creates an admin command for a DMA operation. |
