summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel')
-rw-r--r--dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc25
-rw-r--r--dev/kernel/src/FileMgr.cc2
-rw-r--r--dev/kernel/src/IDylibObject.cc4
-rw-r--r--dev/kernel/src/IPEFDylibObject.cc2
-rw-r--r--dev/kernel/src/KernelProcessScheduler.cc4
-rw-r--r--dev/kernel/src/MemoryMgr.cc3
-rw-r--r--dev/kernel/src/ThreadLocalStorage.cc2
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.
*
* ========================================================