Commit Graph

117 Commits

Author SHA1 Message Date
8898791257 Update kernel code 2023-08-22 06:21:17 +03:00
2c51e4432f Update kernel 2023-08-06 04:53:14 +03:00
85c0de688d Fix sleep syscall 2023-06-11 01:36:39 +03:00
41db477173 Update kernel 2023-06-10 13:11:25 +03:00
061363d85d Fix fork() syscall 2023-05-22 00:43:45 +03:00
d527121883 Add implementation for GDT & IDT on x32 and QoL fixes 2023-05-17 03:28:57 +03:00
816e5461c9 Fix type sizes 2023-05-13 07:40:07 +03:00
b0e0415b3e Track which core was used to schedule 2023-05-05 18:45:28 +03:00
d472fddb61 Check if the thread pointer is valid before accessing it's data 2023-05-04 22:42:14 +03:00
533b945e84 Save/Restore shadow GS too while scheduling tasks 2023-05-04 22:39:37 +03:00
61aea6aa8d fork() stub and QoL improvements 2023-05-03 06:37:39 +03:00
299c919d1d Add UserTime and KernelTime tracker 2023-04-25 05:12:58 +03:00
fcbb298077 Fix compiler warnings 2023-04-23 07:02:24 +03:00
89d747e52c Update timing implementation 2023-04-23 05:30:58 +03:00
0eb8ba0f69 Fix bug causing vector removal to skip elements 2023-04-20 03:24:23 +03:00
69bfc7d9ed Kernel processes should have IsCritical flag enabled by default 2023-04-11 11:42:12 +03:00
70e11f17e7 Implement std::atomic and remove the old implementation Atomic and rename vector.hpp to vector 2023-04-10 05:29:41 +03:00
b4dbf2c281 QoL and bug fixes 2023-04-10 03:11:46 +03:00
540152a339 Add support for 2MB and 1GB map 2023-04-07 01:39:11 +03:00
76239ec4ad Add Get() function for every cpuid struct 2023-04-06 18:36:16 +03:00
5e5819e3be Fix compilation issues 2023-04-06 18:11:01 +03:00
4e20d4d9f4 Enable compilation of project on AArch64 architecture 2023-04-04 16:06:54 +03:00
25256d81a8 Added license headers to all project files 2023-04-04 02:19:05 +03:00
9e21c5326b Support i386 2023-03-29 03:02:49 +03:00
1266764aec Process cleanup should be done by a thread 2023-03-27 02:50:57 +03:00
2d03d629dc Check if CreateThread() has a valid parent 2023-03-25 12:00:00 +02:00
6b01a21a71 Change Interrupts::Handler 2023-03-23 20:48:09 +02:00
f86f3d9293 Rename std functions to match the standard 2023-03-23 04:56:49 +02:00
2d3b89bd33 Allocate argv and envp 2023-03-22 21:18:35 +02:00
ac0c9505f3 Replace SmartCriticalSection with SmartLock 2023-03-20 01:27:34 +02:00
d7c9b7ab02 Prevent dangling pointer 2023-03-14 06:24:02 +02:00
2e9a04f5e7 Moved smart lock 2023-03-06 03:20:23 +02:00
5c91f23527 x32 is now compiling 2023-03-04 21:17:19 +02:00
65dfa325e9 Optimize 2023-02-27 22:20:02 +02:00
392ebc9be2 Renamed "__no_instrument_function" 2023-02-27 22:19:40 +02:00
81512f2b57 Wrong calculation for last task ticks 2023-02-27 17:57:52 +02:00
df24131e48 Added last task ticks counter 2023-02-27 17:44:10 +02:00
5e72d81a8f Simple CPU affinity system 2023-02-25 03:58:11 +02:00
c817be50ff Put CPU namespaces in separate files to make cpu.hpp smaller 2023-02-22 01:48:38 +02:00
419b5bee0d Replaced "__sync_synchronize" with "__sync" 2023-02-18 04:13:49 +02:00
0fb62e52d2 Use correct instruction 2023-02-18 04:11:59 +02:00
95a78ef939 CurrentThread/Process should be atomic 2023-02-18 04:10:41 +02:00
4506648cd6 mem* check operations now tell where it failed 2023-02-15 07:14:18 +02:00
47a10df568 Added GetSchedulerTicks() 2023-02-14 03:52:42 +02:00
9416bd5cb9 Fixed kernel hang on IPC wait 2023-02-13 16:16:09 +02:00
5bbef13d6a Updated IPC 2023-02-10 16:30:45 +02:00
5ab15645ca Updated on screen debug task manager 2023-02-10 05:45:11 +02:00
4d0050c90d Schedule() should fire faster 2023-02-10 05:44:48 +02:00
b104511241 Added GetProcessByID and GetThreadByID 2023-02-07 04:55:26 +02:00
a23d999183 IPC stub 2023-02-07 03:22:44 +02:00