Commit Graph

400 Commits

Author SHA1 Message Date
19f2a78d35 linux: Move everything to ./subsystem/linux/* 2024-11-20 03:49:15 +02:00
23301b8c1b memory: Kernel threads require more memory for stack
Threads will now use 128 KiB
2024-11-18 03:27:06 +02:00
86a119ea51 scheduler: Fix page table switch for scheduler
The userspace process may map pages where the kernel has allocated data and cause a crash.

This patch fixes this issue by having a separate IRQ handler which sets the kernel page table at the start of SchedulerInterruptHandler() and restores it in SchedulerHandlerStub() function.
2024-11-17 03:11:20 +02:00
ab6529f6e6 memory: Add kernel stack manager 2024-10-30 02:28:49 +02:00
99292467ed task: Remove redundant code
NewLock(SchedulerLock);
2024-10-26 03:54:46 +03:00
29896bb0a4 memory: Refactor SwapPT class 2024-10-26 03:25:36 +03:00
f57ad7fc81 task: Implement new process state
Added "Frozen" for vfork implementation.
2024-10-20 03:00:34 +03:00
d9517a5cab api: Add documentation to RingBuffer class 2024-10-19 01:44:48 +03:00
5054243bc6 linux: Implement sched_setaffinity() and sched_getaffinity() syscalls 2024-10-16 16:50:15 +03:00
acabadaaab linux: Correct struct linux_dirent64 variables 2024-10-16 02:10:34 +03:00
396ad681ba tty: Fix kcon & tty implementation; Add stub ptmx 2024-10-13 13:00:22 +03:00
f48032658f vfs: Fix GetRoot(), CacheRecursiveSearch() and root identifier 2024-10-13 02:33:46 +03:00
7cf35ec984 api: Add "KernelData" variable inside Inode structure 2024-10-13 02:30:13 +03:00
3ca2463834 vfs: Implement GetName() & GetPath() in FileNode class 2024-10-13 02:25:29 +03:00
93e8e3f354 linux: Fix broken process limits implementation 2024-10-13 02:19:26 +03:00
85b6fdef80 Implement Virtual Terminal and fix /dev/kcon 2024-09-22 13:17:19 +03:00
6f8e486740 Add debug message for GetBinaryType 2024-09-22 13:10:05 +03:00
021d6fdd6b Update kernel api 2024-08-27 17:24:20 +03:00
9bdb83c346 Reformat comments in interrupts.hpp 2024-08-19 09:42:28 +03:00
31dca2e9a6 Remove unused SmartHeap class 2024-08-13 07:37:20 +03:00
51ea074b60 Fix driver implementation 2024-07-07 03:14:54 +03:00
bd7c44ae74 Update ELF header 2024-05-20 05:41:26 +03:00
5329c92791 Return proper errno for null inode operations 2024-05-19 11:28:22 +03:00
042a5f8d4a Fix missing member initialization 2024-05-19 08:55:52 +03:00
6801475243 Refactor filesystem & stl code 2024-05-18 07:42:01 +03:00
fd292305f6 Refactor lock related code 2024-04-10 06:25:55 +03:00
daccdaeeae Implement process resource limits 2024-04-02 05:52:43 +03:00
91ca38fd77 Rename struct "stat" to "kstat" 2024-04-01 04:49:06 +03:00
a49e5e9913 Remove redundant file operation functions 2024-04-01 04:36:11 +03:00
bbb67b6a88 Refactor USTAR class and comments in FAT header 2024-04-01 04:33:36 +03:00
e3f2912d59 Add stub F_DUPFD_CLOEXEC and add more cases in linux_fcntl 2024-04-01 01:12:37 +03:00
473821bfa8 Implement process file mode creation mask 2024-04-01 00:47:33 +03:00
a3b3ab76a7 Fix stat in linux 2024-03-31 21:42:10 +03:00
eb3c6f42d6 Fix data type definitions 2024-03-31 21:03:44 +03:00
147027b613 Add linux_getrusage and linux_setitimer syscall implementation 2024-03-28 00:16:32 +02:00
3dc1981820 Implement VirtualAllocation class 2024-03-27 19:51:15 +02:00
d7cc1f5c47 Add ptr_t class to types.h 2024-03-27 18:21:17 +02:00
3d1ecc3db0 Rework signal handling code 2024-03-25 23:21:27 +02:00
ab8ca388bb Add GetThread() function to PCB class 2024-03-25 15:12:21 +02:00
49ef1dc454 Refactor stack expansion and stack fork implementation 2024-03-21 02:09:48 +02:00
b35045e7ca Refactor memory allocation implementation and add KernelReserve flag to memory mappings 2024-03-19 03:57:30 +02:00
1bd58a309f Refactor Check and CheckRegion functions in virtual.hpp 2024-03-19 03:52:44 +02:00
f009f181b0 Refactor code to use tab spaces 2024-03-13 18:09:42 +02:00
d247dcd4a3 Update CR8 structure 2024-03-13 18:08:20 +02:00
2ffd8e3c34 Refactor gsTCB struct for debugging and update usage in related files 2024-03-13 03:41:12 +02:00
0c0ee01f35 Add Flags field to gsTCB struct 2024-03-10 22:05:22 +02:00
7c4adccf8d Fix stack align 2024-03-05 00:47:08 +02:00
c2b595452e Add InitTrampoline and HasPendingSignal function 2024-03-03 23:58:05 +02:00
d3a16469ad Revise PID and TID generation to align with standards 2024-03-02 00:51:06 +02:00
525a102f20 Implement GetIdle function in Custom scheduler 2024-03-02 00:16:18 +02:00