70 Commits

Author SHA1 Message Date
EnderIce2
96daa43d38
Update kernel 2024-01-19 06:47:42 +02:00
Alex
889e1522a3
Restructured and rewritten entire codebase 2023-10-09 01:16:24 +03:00
Alex
446a571018
Tasking is now working under 32-bit 2023-09-07 04:22:34 +03:00
Alex
6d95cd5261
Rework for APIC & added support for x2APIC 2023-08-31 01:07:55 +03:00
Alex
8898791257
Update kernel code 2023-08-22 06:21:17 +03:00
Alex
2c51e4432f
Update kernel 2023-08-06 04:53:14 +03:00
Alex
85c0de688d
Fix sleep syscall 2023-06-11 01:36:39 +03:00
Alex
41db477173
Update kernel 2023-06-10 13:11:25 +03:00
Alex
061363d85d
Fix fork() syscall 2023-05-22 00:43:45 +03:00
Alex
80980ecfaf
Move drivers to kernel 2023-05-19 07:27:42 +03:00
Alex
b68c8c18a5
Implement mb2 stub support 2023-05-09 04:57:17 +03:00
Alex
7d939c001b
Add process cwd 2023-05-05 19:40:01 +03:00
Alex
b0e0415b3e
Track which core was used to schedule 2023-05-05 18:45:28 +03:00
Alex
533b945e84
Save/Restore shadow GS too while scheduling tasks 2023-05-04 22:39:37 +03:00
Alex
61aea6aa8d
fork() stub and QoL improvements 2023-05-03 06:37:39 +03:00
Alex
299c919d1d
Add UserTime and KernelTime tracker 2023-04-25 05:12:58 +03:00
Alex
fcbb298077
Fix compiler warnings 2023-04-23 07:02:24 +03:00
Alex
70e11f17e7
Implement std::atomic and remove the old implementation Atomic and rename vector.hpp to vector 2023-04-10 05:29:41 +03:00
Alex
4e20d4d9f4
Enable compilation of project on AArch64 architecture 2023-04-04 16:06:54 +03:00
Alex
25256d81a8
Added license headers to all project files 2023-04-04 02:19:05 +03:00
Alex
bb862bf600
Move PEXIT and TEXIT to task.hpp 2023-03-27 20:37:58 +03:00
Alex
1266764aec
Process cleanup should be done by a thread 2023-03-27 02:50:57 +03:00
Alex
f86f3d9293
Rename std functions to match the standard 2023-03-23 04:56:49 +02:00
Alex
5c91f23527
x32 is now compiling 2023-03-04 21:17:19 +02:00
Alex
75883030ad
Renamed "interrupts.hpp" to "ints.hpp" 2023-02-28 12:58:09 +02:00
Alex
df24131e48
Added last task ticks counter 2023-02-27 17:44:10 +02:00
Alex
51b0e3b5a8
Changed scheduler priorities 2023-02-15 07:21:08 +02:00
Alex
47a10df568
Added GetSchedulerTicks() 2023-02-14 03:52:42 +02:00
Alex
b104511241
Added GetProcessByID and GetThreadByID 2023-02-07 04:55:26 +02:00
Alex
a592b85ce5
Updated kernel (tl;dr: improved filesystem, tasking, loading files, etc..) 2023-02-06 19:35:44 +02:00
Alex
1297aecc8a
Added "DoNotCreatePageTable" boolean to CreateProcess 2023-01-09 17:19:06 +02:00
Alex
4501826025
Kernel now uses SSE instructions properly 2023-01-03 06:36:15 +02:00
Alex
3f166b97c7
Improved shutting down procedure 2022-12-29 05:25:43 +02:00
Alex
e53bc14240
Fixed tasking SSE 2022-12-29 02:05:07 +02:00
Alex
0942fb4cd3
Implemented sleep for threads🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉 2022-12-24 06:22:50 +02:00
Alex
a9dacd1d21
Renamed "Tracker" to "MemMgr" because it could be used for shared memory and more useful features 2022-12-24 01:51:55 +02:00
Alex
985d614be2
Compiles on x86 but everything is broken 2022-12-21 02:11:49 +02:00
Alex
a677f3c159
Updated types 2022-12-21 00:43:51 +02:00
Alex
3828186c56
RIP history implementation for broken stacks 2022-12-14 14:21:48 +02:00
Alex
ab7f20d5f5
Implemented memory tracker 2022-12-11 14:34:24 +02:00
Alex
a56f633709
Improved symbol table + every process have one allocated 2022-12-10 06:01:01 +02:00
Alex
1317dc53fa
Updated argv and envp in tasking 2022-12-08 10:35:05 +02:00
Alex
1bb97f19fd
Apply code from memory-test branch 2022-12-05 23:20:06 +02:00
Alex
0289054900
Changed a lot of files. Summary: profiler support; "SafeFunction"; UnlockDeadLock kernel config; Code optimization & more 2022-11-28 08:25:37 +02:00
Alex
eaaf8427dc
Stack guard implementation 2022-11-21 03:20:13 +02:00
Alex
2571c4f539
Added ubsan 2022-11-17 03:33:18 +02:00
Alex
9fdad650b9
Trying to fix user stack 2022-11-16 16:04:09 +02:00
Alex
3542dfca8b
Code fixes and stability 2022-11-15 01:50:07 +02:00
Alex
62ded83a9b
Typo 2022-11-14 16:12:35 +02:00
Alex
042bce48a0
Kernel & User time stub 2022-11-14 07:42:37 +02:00