diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-18 09:18:55 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-18 09:18:55 +0200 |
| commit | 95f1448a371f563071a755b9ed507cd64d70ed5b (patch) | |
| tree | e728a7c260e3daa02eaf82c89ec384183be170d4 /dev/kernel/HALKit | |
| parent | 7bfa36c2215e13097bb5ddcb15d2a8a476102b55 (diff) | |
kernel, boot: improvements and tweaks on the kernel's filesystems.
- HeFS requires a 4gb disk at minimum now.
- make_app fully supports STEPS.
- Errata of NeFS.tex, add HeFS.tex.
- Better boot flow.
- New filesystems for FileMgr.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/HALKit')
| -rw-r--r-- | dev/kernel/HALKit/AMD64/HalKernelMain.cc | 13 | ||||
| -rw-r--r-- | dev/kernel/HALKit/AMD64/Processor.h | 14 | ||||
| -rw-r--r-- | dev/kernel/HALKit/ARM64/Processor.h | 2 |
3 files changed, 15 insertions, 14 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalKernelMain.cc b/dev/kernel/HALKit/AMD64/HalKernelMain.cc index b716279d..1d2689eb 100644 --- a/dev/kernel/HALKit/AMD64/HalKernelMain.cc +++ b/dev/kernel/HALKit/AMD64/HalKernelMain.cc @@ -4,7 +4,6 @@ ------------------------------------------- */ -#include "modules/CoreGfx/CoreGfx.h" #include <StorageKit/AHCI.h> #include <ArchKit/ArchKit.h> #include <KernelKit/ProcessScheduler.h> @@ -19,12 +18,11 @@ #include <FirmwareKit/EFI/API.h> #include <FirmwareKit/EFI/EFI.h> - EXTERN_C Kernel::VoidPtr kInterruptVectorTable[]; EXTERN_C Kernel::VoidPtr mp_user_switch_proc; EXTERN_C Kernel::Char mp_user_switch_proc_stack_begin[]; -STATIC Kernel::Void hal_init_scheduler_team() +STATIC Kernel::Void hal_pre_init_scheduler() { for (Kernel::SizeT i = 0U; i < Kernel::UserProcessScheduler::The().CurrentTeam().AsArray().Count(); ++i) { @@ -52,8 +50,6 @@ EXTERN_C Int32 hal_init_platform( fw_init_efi((EfiSystemTable*)handover_hdr->f_FirmwareCustomTables[1]); Boot::ExitBootServices(handover_hdr->f_HardwareTables.f_ImageKey, handover_hdr->f_HardwareTables.f_ImageHandle); - hal_init_scheduler_team(); - /************************************** */ /* INITIALIZE BIT MAP. */ /************************************** */ @@ -92,6 +88,8 @@ EXTERN_C Int32 hal_init_platform( EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept { + hal_pre_init_scheduler(); + Kernel::NeFS::fs_init_nefs(); Kernel::HAL::mp_init_cores(kHandoverHeader->f_HardwareTables.f_VendorPtr); @@ -103,5 +101,8 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept idt_loader.Load(idt_reg); - dbg_break_point(); + while (YES) + { + ; + } } diff --git a/dev/kernel/HALKit/AMD64/Processor.h b/dev/kernel/HALKit/AMD64/Processor.h index b813e1d9..f2e9c2ea 100644 --- a/dev/kernel/HALKit/AMD64/Processor.h +++ b/dev/kernel/HALKit/AMD64/Processor.h @@ -68,13 +68,13 @@ namespace Kernel::HAL /// @brief Memory Manager mapping flags. enum { - kMMFlagsInvalid = 1 << 0, - kMMFlagsPresent = 1 << 1, - kMMFlagsWr = 1 << 2, - kMMFlagsUser = 1 << 3, - kMMFlagsNX = 1 << 4, - kMMFlagsPCD = 1 << 5, - kMMFlagsCount = 4, + kMMFlagsInvalid = 1 << 0, + kMMFlagsPresent = 1 << 1, + kMMFlagsWr = 1 << 2, + kMMFlagsUser = 1 << 3, + kMMFlagsNX = 1 << 4, + kMMFlagsPCD = 1 << 5, + kMMFlagsCount = 4, }; struct PACKED Register64 final diff --git a/dev/kernel/HALKit/ARM64/Processor.h b/dev/kernel/HALKit/ARM64/Processor.h index 4cead7ea..3a04bed1 100644 --- a/dev/kernel/HALKit/ARM64/Processor.h +++ b/dev/kernel/HALKit/ARM64/Processor.h @@ -28,7 +28,7 @@ namespace Kernel::HAL kMMFlagsWr = 1 << 1, kMMFlagsUser = 1 << 2, kMMFlagsNX = 1 << 3, - kMMFlagsPCD = 1 << 4, + kMMFlagsPCD = 1 << 4, kMMFlagsCount = 4, }; |
