summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src
AgeCommit message (Collapse)Author
2025-05-27feat: Assign ThreadID to APIC's ProcessID when initialzing APs.Amlal El Mahrouss
refactor: Cleanup copyright headers and source code. feat: Add PrinterNetworkDevice, and DBGNetworkDevice. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-27refactor: rename mm_make_ptr_flags to mm_set_ptr_flags.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-26feat!: Add IFS layer within DriveMgr, and IFS API.Amlal El Mahrouss
also: - Use ThreadID in AP system. - Refactor kernel according to new IFS layer. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-25kernel!: lots of changes, see commit details.Amlal El Mahrouss
refactor(hal): unify file naming and drop redundant architecture suffixes feat(build): rename kernel and bootloader to 'ne_kernel' and 'ne_bootz' refactor(memory): replace mm_get_phys_address with mm_get_page_addr feat(bitmap): track bitmap allocator usage and add out-of-memory error fix(heap): correct heap magic naming and alignment logic chore(fs): downgrade HeFS disk size check to warning chore(tools): clean up formatting in 'ping' and 'manual' docs(design): update OS_DESIGN.drawio to reflect Hypr86 and new layout Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-24feat(nekit)!: Change dbg_break_point to DBG_TRAP.Amlal El Mahrouss
BREAKING CHANGE: renamed symbol to match the codebase's macro style. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-23feat(kernel/libSystem): Lots of improvements, see below.Amlal El Mahrouss
what: - Reworked NetworkDevice. - Reworked RTL8139 driver. - Don't assert fCleanup on NetworkDevice destructor. - Add new Ref types in libSystem. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-23refactor(kernel): Refactor HeapMgr functions.Amlal El Mahrouss
what: - mm_new_ptr is now mm_alloc_ptr. - mm_delete_ptr is now mm_free_ptr. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-23feat!(Kernel): Improvements on the BitMapMgr, HTS, and UPS.Amlal El Mahrouss
other: - Add ZXD header file. - Reworking AMD64 interrupts. - Improved HTS's design implementation. - Improved UPS's balancing implementation. breaking changes: - Rename MemoryMgr to HeapMgr. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-23feat!(kernel): Rename NewKit to NeKit.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-21feat(kernel): Architectural changes, and introducing a kKernelVM.Amlal El Mahrouss
see code for more details. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-20wip: feat(kernel): Add stub for ring-3 switch on the AP side of theAmlal El Mahrouss
scheduling system. why? - To let the code run in user mode, as specified in the design. next: - Debug the #06 interrupt when switching to task. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-19feat(kernel, sched): Architectural improvements, and cleaned upAmlal El Mahrouss
the codebase from previous implementations that didn't work/scale well. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-18feat(sched_desgin): better architecture for the HTS.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-18dev(sched): Improvements and work in progress fixes.Amlal El Mahrouss
what? - The main algorithm got improved for real time tasks, and SMP usage. - The SMP usage was present before, I just reintroduced it after realizing that it won't scale well from what I have right now. - Also removed weird implementations quirks from previous sketch. - Such as the core 0 being reserved for the boot core. - Also moved FS init code after IDT initalization. - To avoid weird FS format behavior. - Wrap HPET signature in a macro. next? - Work on the HAL's userspace transition mechanism. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-17feat(kernel): don't schedule process when it's under signals such as:Amlal El Mahrouss
ABRT, KILL, TRAP. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-16feat(kernel): Better UPS and interrupt system too.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-16feat(kernel): User doesn't store the password directly anymore, it is hashedAmlal El Mahrouss
under a 64-bit FNV algorithm. why? - Better security, so that we're sure that no one else knows about the password. also: - Rename super to MGMT (Management), as it manages a NeKernel machine. - Added a copy of cxxdrv in the nekernel source tree. - Working on the custom manual parser for NeKernel. (PoC) Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-16feat(kernel/ap): Improved and fixed the AP boot flow, also made sure that ↵Amlal El Mahrouss
the segment loading for the long mode stub works. TODO: - Stack pointer shall be set when jumping to AP routine. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-15feat(kernel/sched): fixes and improvements on the scheduler'sAmlal El Mahrouss
implementation. why? - The previous one wasn't entierly correct on some parts. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-15feat(kernel/sched): fix overengineered and duplicate switch on ::RunAmlal El Mahrouss
method. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-15feat(kernel): improved scheduler and kernel main code.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-15feat(kernel): pushing the fixes regarding the scheduler, and working onAmlal El Mahrouss
making the LAPIC work correctly. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-15feat(kernel): Finalizing the first version of the user scheduler.Amlal El Mahrouss
other: - Removed DmaPool into its own Kit. - ApplicationProcessor unit has been cleaned up. - Rename functions of MemoryMgr. - Use KIB instead of MIBs of stack. - Cleanup parts of the scheduler, and hw scheduler. - Use UD handler for INT 6. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-14feat(kernel): Filesystem fixes, and others.Amlal El Mahrouss
what? - Add simple generic RTL8139 NIC driver, to be used within a NK device. - Update IVT accordingly. - Comment ARM's AP GIC init function, to tell what it's actually doing. - Cleanup Kernel Main, removed the useless pre_init_scheduler function. - Prepare new FileMgr with HeFileSystemMgr. - Fallback to NeFS when trying to format a fileysstem. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-13feat(kernel): see below for the commit's details.Amlal El Mahrouss
what? - UserProcessScheduler and CoreProcessScheduler have been extended for FILE_TREE and also HEAP_TREE structures. - DDK device's API will use dk_ calls instead of sk_ calls. - SIGTRAP and Interrupt handlers have been fixed to handle when no process is being run, and the kernel is instead raising the interrupt. - Add file for HeFS formating in DiskImage.fwrk - Replace generic handler with breakpoint handler in int 3. why? - These changes are bug fixes and improvements. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-12feat: sched, tooling: improving and laying foundations for the futureAmlal El Mahrouss
milestones and objectives, such as: driver loading (ifs.sys, ddk.sys, user.sys), and better tooling for application development. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-12dev(kernel:HeFS): fix warning in FileSystemParser file, and updated theAmlal El Mahrouss
specification document. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-11dev(kernel:HeFS): Cleanup filesystem and AHCI driver.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-11feat(kernel/hefs): Fixed the shortcomings and issues of HeFS.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-11feat(kernel): HeFS TeX specs have been updated, and cleaned up the official ↵Amlal
filesystem implementation, with a bootinfo.cfg being added too. why: - The LaTeX specs were outdated, some elements had to be reseen. also: - Removed useless part of the logger, for the panic message. Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-11fix(dev): emergency patches.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-11dev(feat:kernel): Working Core Layer of HeFS (Write/Read)Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-10dev(kernel/HeFS): code cleanup, and improvements on the FS driver code.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-10dev(kernel): saving changes regarding HeFS, and also for the 0.0.2e2 release.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-10dev(kernel): feat: AHCI driver improvements against 'disk hangs', and HeFS ↵Amlal
has been improved with better traversal, and inode/ind allocation. Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-09dev(kernel, tooling): better code quality inside the codebase and more ↵Amlal
checks inside the kernel, and cli. also: - make use _NeMain for the mk_fwrk tool. Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-08meta(kernel): saving changes to avoid loss.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-08feat(tooling): update HeFS headers, and better HeFS tooling.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-07feat(kernel): HeFS fixes, AHCI improvements, and MBCI tweaks.Amlal
why? - Some parts were causing issues on the filesystem. - The slot probe code was naive. - Made the current MBCI implementation clearer. Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-07feat(modules/MBCI): Finalize MBCI base module.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-06dev(kernel): Fix typo of `kHeFSDefaultVoluneName` to ↵Amlal El Mahrouss
`kHeFSDefaultVolumeName` in HeFS.
2025-05-06feat(HeFS): Filesystem fixes and optimizations.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-06feat(kernel/HeFS): move sz_out out of the loop, to avoid it being reset.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-06dev(fix): Use VEPM in DriveMgr, to avoid unformatted disk error.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-06feat(kernel): Working on the last parts of HeFS V1, which will act as the ↵Amlal
base layer of the filesystem. Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-05feat(kernel): new HeFS version, scheduler allocation tree improvements and ↵0.0.2e1Amlal
reintroduce VEPM. why? - The extents structure on HeFS has to be clearer. - The allocation tracker group has to be organized according to pointer size. - VEPM was scraped because HeFS took time, so now I can focus on it now. Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-05feat(kernel): add .filetest to check if filesystem works correctly.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-05feat(kernel): remove usage of `left` inside `hefsi_rotate_tree`Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-05fs:HeFS: Filesystem fixes.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-05feat(HeFS): Improving implementation and its quirks.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>