summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/UserProcessScheduler.cc
AgeCommit message (Collapse)Author
2025-06-10security: fix: memory-leak on `ups-alloc-tree`, and mismatch inAmlal El Mahrouss
traversal. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-06-10fix: security: UAF on the `ups-allocation-tree`Amlal El Mahrouss
credits: - @0xf00sec who reported the issue. - @amlel-el-mahrouss who implemented the patch. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-06-10fix: UserProcessScheduler security patches.Amlal El Mahrouss
These patches are regarding: - Thread safety (exit code global has been removed.) - Code quality, in `SpawnDylib` - In memory allocation checks too. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-06-01feat: Be more flexible when the OS is not SMP-aware.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-30refactor: Format codebase and fix warning in UserProcessScheduler.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-30global: architectural changes, see commit details.Amlal El Mahrouss
refactor: Refactor libSystem, user frameworks, and preparing for OpenMSG. feat: Jail info client structure (libSystem) feat: Document what the RTime is doing starting from line 504. feat: use `int 50` instead of `syscall` for now. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-30refactor: Refactor IDeviceObject to DeviceInterface and its usages.Amlal El Mahrouss
refactor: Cleanup UPS (UserProcessScheduler) implementation. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-05-29feat: UserProcessScheduler: reset UTime when exiting.Amlal El Mahrouss
feat: drawio: Rename OS_DESIGN to SYSTEM_DESIGN. 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-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-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-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-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-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-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-01kernel: HeFS: did progress on IND allocation.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-05-01kernel: scheduler and pef code mgr improvements.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-30kernel: keep track of cr3 in AMD HAL/HEL.Amlal
why? To keep track of it, avoid security issues in the future. Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-30kernel, sched: worked on a pending ticket (process rebalancing)Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-27dev, kernel: AHCI support and HeFS improvements, alongside scheduler ↵Amlal
allocation tree fix. Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-27dev: fixes and improvements, codebase formating too.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-26dev, kernel: saving work in progress code regarding scheduler and filesystem.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-25dev: better .clang-format, ran format command.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-25dev, boot, kernel: improvements, and fixing the VEPM formatter.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-24dev, kernel: scheduler: fix compiler error.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-24dev, kernel: scheduler: fully implement traversal and cleanup.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-24dev, kernel: early user_heap_tree rework of the scheduler's heap system.Amlal
Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-24dev, kernel: scheduler and heap related work.Amlal
- Replacing USER_HEAP_LIST with HEAP_HEAP_TREE. - Reworked Signal struct. - Add Team spinner inside ARM64 HAL too. Signed-off-by: Amlal <amlal@nekernel.org>
2025-04-24dev, kernel: scheduler, timer: hw timer and scheduler improvements.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-23dev, kernel: necessary refactors regarding future changes.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-23dev, kernel: scheduler and disk swap refactors.Amlal El Mahrouss
Details: - Reworked SCSI groundwork to prepare for a Generic SCSI driver. - Refatored scheduler's code with the new coding style for structs. - Add Leak and LeakBlob inside PROCESS_IMAGE struct. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-22dev, kernel: WiP changes done to kernel and SysChk module.Amlal El Mahrouss
- Getting SysChk to work again. - Refactor scheduler. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-22dev, kernel: Milestone towards 0.0.2, see details.Amlal El Mahrouss
Details: - Added support for 512 process teams (kTeams array). - New SwitchTeam() API in UserProcessScheduler. - Kernel main loop rotates active team every 200ms. - Renamed syscall tables for clarity (kSyscalls → kSysCalls, etc.). - Replaced kKernelMaxSystemCalls with kMaxDispatchCallCount. - Updated call sites to match new naming. - Bumped format version to 0x0101. - Added reserved fields to HEFS_BOOT_NODE for future use. - Changed inode indexing logic to operate on (start, size) pairs. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-22kernel, {fs,sched}: User RT scheduler fixes and HeFS advancements regarding ↵Amlal El Mahrouss
the B-Tree. - RT Scheduler fixed. - B-Tree improved. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-21dev, kernel: Made HeFS use a RB-Tree traversal algorithm.Amlal El Mahrouss
- ran format command. - a variation of a red-black tree traversal, with customized fallback mechanism. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-21dev, scheduler: removed unused header included by extension.Amlal El Mahrouss
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
2025-04-21dev, sched: scheduler security patches.Amlal El Mahrouss
- Regarding process spawning and process exit safer with boundary checks and pointer checks. - Made the method HasMP smarter, with assert as kHandoverHeader is expected to be valid. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>