summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README.md20
-rw-r--r--dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc4
-rw-r--r--dev/kernel/HALKit/AMD64/Processor.h2
-rw-r--r--dev/kernel/HALKit/POWER/Processor.h2
-rw-r--r--dev/kernel/StorageKit/AHCI.h2
-rw-r--r--dev/kernel/src/DriveMgr.cc16
-rw-r--r--docs/svg/OS_DESIGN.pngbin0 -> 22504 bytes
7 files changed, 27 insertions, 19 deletions
diff --git a/README.md b/README.md
index f3d7b5d9..8f683c08 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,15 @@
[![License: GPL-3.0](https://img.shields.io/badge/license-GPL--3.0-blue.svg)](LICENSE)
[![QEMU Tested](https://img.shields.io/badge/QEMU-Tested-success)](#)
-## Notice for Documentation:
+## Brief:
+
+A kernel for engineers who want a custom solution for their stack, written mostly in C++ it aims to provide a base for other projects/products.
+
+## User Friendly Diagram:
+
+![Diagram](docs/svg/OS_DESIGN.png)
+
+## Notice for Doxygen:
Use the doxygen command to build documentation.
<br/>
@@ -23,18 +31,18 @@ A documentation regarding building, and developing for NeKernel is available her
## Notice for Contributors:
-- You must mount the contents to the nekernel-esp.img prior running! Otherwise the emulator won't find a valid ESP.
-- Always use `format.sh` before commiting and pushing your code!
+- You must mount the contents to the nekernel-esp.img prior running!
+ - It depends mostly on how your platform manages them, so have a look at it.
-## Quick Install:
+- Run `format.sh` before commiting, it formats the code according to the .clang-format.
-Clone the repository:
+## Getting Started:
```sh
git clone git@github.com:amlel-el-mahrouss/nekernel.git
cd nekernel
./setup_amd64.sh
-./debug_ata.sh # Generic ATA PIO target
+./debug_ata_x64.sh # Generic ATA PIO target
```
###### Copyright (C) 2024-2025 Amlal El Mahrouss, All rights reserved.
diff --git a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
index a59d43af..f839884e 100644
--- a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
+++ b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
@@ -45,8 +45,8 @@ namespace Kernel::HAL
};
STATIC PROCESS_APIC_MADT* kMADTBlock = nullptr;
- STATIC Bool kSMPAware = false;
- STATIC Int64 kSMPCount = 0;
+ STATIC Bool kSMPAware = false;
+ STATIC Int64 kSMPCount = 0;
STATIC UIntPtr kApicBaseAddress = 0UL;
diff --git a/dev/kernel/HALKit/AMD64/Processor.h b/dev/kernel/HALKit/AMD64/Processor.h
index 082f6d76..eff0292b 100644
--- a/dev/kernel/HALKit/AMD64/Processor.h
+++ b/dev/kernel/HALKit/AMD64/Processor.h
@@ -30,7 +30,7 @@
#include <HALKit/AMD64/CPUID.h>
-#define rtl_nop_op() asm volatile("nop")
+#define rtl_nop_op() asm volatile("nop")
/// @brief Maximum entries of the interrupt descriptor table.
#define kKernelIdtSize (0x100)
diff --git a/dev/kernel/HALKit/POWER/Processor.h b/dev/kernel/HALKit/POWER/Processor.h
index 8200e466..507805c7 100644
--- a/dev/kernel/HALKit/POWER/Processor.h
+++ b/dev/kernel/HALKit/POWER/Processor.h
@@ -11,7 +11,7 @@
#include <NewKit/Defines.h>
#include <NewKit/Utils.h>
-#define rtl_nop_op() asm volatile("mr 0, 0")
+#define rtl_nop_op() asm volatile("mr 0, 0")
#define kHalPPCAlignment __attribute__((aligned(4)))
namespace Kernel::HAL
diff --git a/dev/kernel/StorageKit/AHCI.h b/dev/kernel/StorageKit/AHCI.h
index d6aeaee8..7e2eaf68 100644
--- a/dev/kernel/StorageKit/AHCI.h
+++ b/dev/kernel/StorageKit/AHCI.h
@@ -32,7 +32,7 @@ namespace Kernel
Void SetPortsImplemented(const UInt16& pi);
const UInt32& GetIndex();
-
+
Void SetIndex(const UInt32& drv);
public:
diff --git a/dev/kernel/src/DriveMgr.cc b/dev/kernel/src/DriveMgr.cc
index 3b0dd9ee..c83e63c8 100644
--- a/dev/kernel/src/DriveMgr.cc
+++ b/dev/kernel/src/DriveMgr.cc
@@ -144,10 +144,10 @@ namespace Kernel
rt_copy_memory((VoidPtr)kBlankDrive, trait.fName, rt_string_len(kBlankDrive));
trait.fKind = kInvalidDrive;
- trait.fInput = io_drv_unimplemented;
- trait.fOutput = io_drv_unimplemented;
- trait.fVerify = io_drv_unimplemented;
- trait.fInit = io_drv_unimplemented;
+ trait.fInput = io_drv_unimplemented;
+ trait.fOutput = io_drv_unimplemented;
+ trait.fVerify = io_drv_unimplemented;
+ trait.fInit = io_drv_unimplemented;
trait.fProtocol = io_drv_kind;
kout << "Construct: " << trait.fName << "\r";
@@ -220,10 +220,10 @@ namespace Kernel
MUST_PASS(trait.fName[0] != 0);
- trait.fVerify = io_drv_unimplemented;
- trait.fOutput = io_drv_output;
- trait.fInput = io_drv_input;
- trait.fInit = io_drv_init;
+ trait.fVerify = io_drv_unimplemented;
+ trait.fOutput = io_drv_output;
+ trait.fInput = io_drv_input;
+ trait.fInit = io_drv_init;
trait.fProtocol = io_drv_kind;
kout << "Detecting partition scheme of: " << trait.fName << ".\r";
diff --git a/docs/svg/OS_DESIGN.png b/docs/svg/OS_DESIGN.png
new file mode 100644
index 00000000..05fbee16
--- /dev/null
+++ b/docs/svg/OS_DESIGN.png
Binary files differ