diff options
Diffstat (limited to 'dev/kernel')
| -rw-r--r-- | dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc | 25 | ||||
| -rw-r--r-- | dev/kernel/src/FileMgr.cc | 2 | ||||
| -rw-r--r-- | dev/kernel/src/IDylibObject.cc | 4 | ||||
| -rw-r--r-- | dev/kernel/src/IPEFDylibObject.cc | 2 | ||||
| -rw-r--r-- | dev/kernel/src/KernelProcessScheduler.cc | 4 | ||||
| -rw-r--r-- | dev/kernel/src/MemoryMgr.cc | 3 | ||||
| -rw-r--r-- | dev/kernel/src/ThreadLocalStorage.cc | 2 |
7 files changed, 25 insertions, 17 deletions
diff --git a/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc index f74db6c0..8d053d8b 100644 --- a/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc +++ b/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc @@ -252,8 +252,11 @@ SizeT drv_get_size_ahci() } /// @brief Enable Host and probe using the IDENTIFY command. -STATIC Void ahci_enable_and_probe() +STATIC BOOL ahci_enable_and_probe() { + if (kSATAHba->Cap == 0x0) + return NO; + kSATAHba->Ports[kSATAIndex].Cmd &= ~kHBAPxCmdFre; kSATAHba->Ports[kSATAIndex].Cmd &= ~kHBAPxCmdST; @@ -324,6 +327,8 @@ STATIC Void ahci_enable_and_probe() } drv_compute_disk_ahci(); + + return YES; } /// @brief Initializes an AHCI disk. @@ -372,22 +377,24 @@ STATIC Bool drv_std_init_ahci(UInt16& pi, BOOL& atapi) kSATAIndex = ahci_index; kSATAHba = mem_ahci; - ahci_enable_and_probe(); + if (ahci_enable_and_probe()) + { + err_global_get() = kErrorSuccess; - err_global_get() = kErrorSuccess; - - return YES; + return YES; + } } else if (atapi && kSATAPISignature == mem_ahci->Ports[ahci_index].Sig) { kSATAIndex = ahci_index; kSATAHba = mem_ahci; - ahci_enable_and_probe(); - - err_global_get() = kErrorSuccess; + if (ahci_enable_and_probe()) + { + err_global_get() = kErrorSuccess; - return YES; + return YES; + } } ports_implemented >>= 1; diff --git a/dev/kernel/src/FileMgr.cc b/dev/kernel/src/FileMgr.cc index 67c15e64..1a1ee6b8 100644 --- a/dev/kernel/src/FileMgr.cc +++ b/dev/kernel/src/FileMgr.cc @@ -7,8 +7,10 @@ #include <KernelKit/FileMgr.h> #include <NewKit/Utils.h> +/***********************************************************************************/ /// @file FileMgr.cc //! @brief File System Manager API. +/***********************************************************************************/ namespace Kernel { diff --git a/dev/kernel/src/IDylibObject.cc b/dev/kernel/src/IDylibObject.cc index 92907859..ef4d5ecf 100644 --- a/dev/kernel/src/IDylibObject.cc +++ b/dev/kernel/src/IDylibObject.cc @@ -1,7 +1,7 @@ /* * ======================================================== * - * neoskrnl + * NeKernel * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. * * ======================================================== @@ -10,6 +10,4 @@ #include <KernelKit/IDylibObject.h> #include <KernelKit/DebugOutput.h> -#include <KernelKit/ProcessScheduler.h> - using namespace Kernel; diff --git a/dev/kernel/src/IPEFDylibObject.cc b/dev/kernel/src/IPEFDylibObject.cc index 39c99263..a42d267a 100644 --- a/dev/kernel/src/IPEFDylibObject.cc +++ b/dev/kernel/src/IPEFDylibObject.cc @@ -1,7 +1,7 @@ /* * ======================================================== * - * neoskrnl +* NeKernel * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. * * ======================================================== diff --git a/dev/kernel/src/KernelProcessScheduler.cc b/dev/kernel/src/KernelProcessScheduler.cc index 2a2384e2..58137545 100644 --- a/dev/kernel/src/KernelProcessScheduler.cc +++ b/dev/kernel/src/KernelProcessScheduler.cc @@ -2,8 +2,8 @@ Copyright (C) 2025, Amlal El Mahrouss, all rights reserved. - FILE: UserProcessScheduler.cc - PURPOSE: Low level/Ring-3 Process scheduler. + FILE: KernelProcessScheduler.cc + PURPOSE: Privileged/Ring-0 process scheduler. ------------------------------------------- */ diff --git a/dev/kernel/src/MemoryMgr.cc b/dev/kernel/src/MemoryMgr.cc index b064bafb..5c483ed5 100644 --- a/dev/kernel/src/MemoryMgr.cc +++ b/dev/kernel/src/MemoryMgr.cc @@ -108,7 +108,8 @@ namespace Kernel if (!ptr_heap || new_sz < 1) return nullptr; - kout << "This function is not implemented by NeOSKrnl, please use the BSD's realloc instead.\r"; + kout << "This function is not implemented by the kernel itself.\r"; + ke_panic(RUNTIME_CHECK_INVALID); return nullptr; diff --git a/dev/kernel/src/ThreadLocalStorage.cc b/dev/kernel/src/ThreadLocalStorage.cc index 314e7583..79d2ef5f 100644 --- a/dev/kernel/src/ThreadLocalStorage.cc +++ b/dev/kernel/src/ThreadLocalStorage.cc @@ -1,7 +1,7 @@ /* * ======================================================== * - * neoskrnl +* NeKernel * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. * * ======================================================== |
