summaryrefslogtreecommitdiffhomepage
path: root/Private/Source
diff options
context:
space:
mode:
authoramlal <amlal@el-mahrouss-logic.com>2024-03-13 23:14:42 +0100
committeramlal <amlal@el-mahrouss-logic.com>2024-03-13 23:14:42 +0100
commit448f60533fbdb814a8b6fee1baa825a8a9dc041a (patch)
tree30132a3aeff8a98edc0e9e925ab503bf5079e8dc /Private/Source
parent4c6afd78863f7c5858931843d9a17723cf8f3ddd (diff)
Kernel: See below.
- Fix interrupts, it's only assembly code now, remove HalInterruptHandlerAMD64.cxx. - Improve documentation for FileManager.cxx - Improve diagnostics for KernelCheck. (Everything is ready for the AHCI driver!) Signed-off-by: amlal <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Private/Source')
-rw-r--r--Private/Source/FileManager.cxx6
-rw-r--r--Private/Source/KernelCheck.cxx21
2 files changed, 22 insertions, 5 deletions
diff --git a/Private/Source/FileManager.cxx b/Private/Source/FileManager.cxx
index addd5e02..0e5499d6 100644
--- a/Private/Source/FileManager.cxx
+++ b/Private/Source/FileManager.cxx
@@ -18,8 +18,8 @@ static IFilesystemManager* kMounted = nullptr;
/// @return The mounted filesystem.
IFilesystemManager* IFilesystemManager::GetMounted() { return kMounted; }
-/// @brief Unmount drive
-/// @return the unmounted drive.
+/// @brief Unmount filesystem.
+/// @return the unmounted filesystem.
IFilesystemManager* IFilesystemManager::Unmount() {
if (kMounted) {
auto mount = kMounted;
@@ -31,7 +31,7 @@ IFilesystemManager* IFilesystemManager::Unmount() {
return nullptr;
}
-/// @brief Mount filesystem
+/// @brief Mount filesystem.
/// @param pMount the filesystem to mount.
/// @return if it succeeded true, otherwise false.
bool IFilesystemManager::Mount(IFilesystemManager* pMount) {
diff --git a/Private/Source/KernelCheck.cxx b/Private/Source/KernelCheck.cxx
index ae8326a5..593190e1 100644
--- a/Private/Source/KernelCheck.cxx
+++ b/Private/Source/KernelCheck.cxx
@@ -27,35 +27,52 @@ void ke_stop(const HCore::Int &id) {
switch (id) {
case RUNTIME_CHECK_PROCESS: {
kcout << "*** CAUSE: RUNTIME_CHECK_PROCESS *** \r\n";
+ kcout << "*** WHAT: BAD DRIVER. *** \r\n";
break;
}
case RUNTIME_CHECK_ACPI: {
kcout << "*** CAUSE: RUNTIME_CHECK_ACPI *** \r\n";
+ kcout << "*** WHAT: ACPI DEFECT. *** \r\n";
break;
}
case RUNTIME_CHECK_POINTER: {
kcout << "*** CAUSE: RUNTIME_CHECK_POINTER *** \r\n";
+ kcout << "*** WHAT: BAD POINTER. *** \r\n";
break;
}
case RUNTIME_CHECK_BAD_BEHAVIOR: {
kcout << "*** CAUSE: RUNTIME_CHECK_BAD_BEHAVIOR *** \r\n";
+ kcout << "*** WHAT: KERNEL BECAME UNSTABLE. *** \r\n";
break;
}
case RUNTIME_CHECK_BOOTSTRAP: {
kcout << "*** CAUSE: RUNTIME_CHECK_BOOTSTRAP *** \r\n";
+ kcout << "*** WHAT: BAD BOOT. *** \r\n";
break;
}
case RUNTIME_CHECK_HANDSHAKE: {
kcout << "*** CAUSE: RUNTIME_CHECK_HANDSHAKE *** \r\n";
+ kcout << "*** WHAT: BAD HANDSHAKE. *** \r\n";
break;
}
- case RUNTIME_CHECK_LD: {
- kcout << "*** CAUSE: RUNTIME_CHECK_LD *** \r\n";
+ case RUNTIME_CHECK_IPC: {
+ kcout << "*** CAUSE: RUNTIME_CHECK_IPC *** \r\n";
+ kcout << "*** WHAT: RICH CALL VIOLATION. *** \r\n";
break;
}
case RUNTIME_CHECK_INVALID_PRIVILEGE: {
kcout << "*** CAUSE: RUNTIME_CHECK_INVALID_PRIVILEGE *** \r\n";
+ kcout << "*** WHAT: RING-0 POLICY VIOLATION. *** \r\n";
break;
+ case RUNTIME_CHECK_UNEXCPECTED: {
+ kcout << "*** CAUSE: RUNTIME_CHECK_UNEXCPECTED *** \r\n";
+ kcout << "*** WHAT: CATASROPHIC FAILURE! *** \r\n";
+ break;
+ }
+ default: {
+ kcout << "*** CAUSE: RUNTIME_CHECK_GENERIC *** \r\n";
+ break;
+ }
}
};