834 Commits

Author SHA1 Message Date
Alex
52f506e882
Remove multiboot2 boot code 2023-04-27 05:06:07 +03:00
Alex
5893030f32
Update TODO 2023-04-25 05:30:38 +03:00
Alex
920cc9e74a
Wrong SMBIOSProcessorInformation structure 2023-04-25 05:30:28 +03:00
Alex
c1eaabf97b
Bug fixes 2023-04-25 05:14:12 +03:00
Alex
299c919d1d
Add UserTime and KernelTime tracker 2023-04-25 05:12:58 +03:00
Alex
03b667f5c0
Fix i386 and aarch64 compilation issues 2023-04-23 07:55:27 +03:00
Alex
efc16409a6
QoL improvements 2023-04-23 07:51:05 +03:00
Alex
cd0a470e1d
Fix a bug where GetCurrentProcess returned null inside DSDT 2023-04-23 07:50:09 +03:00
Alex
f41faf0fea
Display seconds since boot in kernel messages 2023-04-23 07:33:14 +03:00
Alex
8471126696
Change "GetMillisecondsSinceClassCreation" to "GetNanosecondsSinceClassCreation" 2023-04-23 07:29:08 +03:00
Alex
fcbb298077
Fix compiler warnings 2023-04-23 07:02:24 +03:00
Alex
a73a49094c
Add TSC timer stub 2023-04-23 06:29:31 +03:00
Alex
dc6fd148fc
Reserve more pages for SMP trampoline 2023-04-23 06:28:12 +03:00
Alex
89d747e52c
Update timing implementation 2023-04-23 05:30:58 +03:00
Alex
7e201e0958
Update kernelctl syscall 2023-04-21 18:53:09 +03:00
Alex
1eb41e4977
Update init envp 2023-04-21 18:35:58 +03:00
Alex
d76585cce3
Implement file syscalls 2023-04-21 18:32:43 +03:00
Alex
dc7b1fc4c9
Rework virtual filesystem implementation 2023-04-21 18:32:20 +03:00
Alex
f2eab6c64f
Fix elf loading 2023-04-21 17:47:09 +03:00
Alex
96a27f7bc8
Update syscall doc functions 2023-04-21 17:46:11 +03:00
Alex
41bdbada31
Update todo 2023-04-20 04:07:07 +03:00
Alex
0eb8ba0f69
Fix bug causing vector removal to skip elements 2023-04-20 03:24:23 +03:00
Alex
ad1bcdab47
Better debug info 2023-04-19 00:50:29 +03:00
Alex
ecc19f4df0
Reserve all pages and then unreserve available pages 2023-04-19 00:50:09 +03:00
Alex
b15f738e16
Optimize RNG functions 2023-04-16 22:05:02 +03:00
Alex
37f5b77421
Organize driver binding files 2023-04-11 12:41:50 +03:00
Alex
411b468f71
Optimize memory usage 2023-04-11 12:06:32 +03:00
Alex
c563bb395e
Default scheduler should be multi 2023-04-11 11:54:17 +03:00
Alex
db2de2948e
Rename kernel files 2023-04-11 11:47:53 +03:00
Alex
69bfc7d9ed
Kernel processes should have IsCritical flag enabled by default 2023-04-11 11:42:12 +03:00
Alex
fa4713fdff
Fix kernel crash after an interrupt occurs on the BSP 2023-04-11 11:30:37 +03:00
Alex
046c693a52
Use an enum to specify what ist to use 2023-04-11 11:28:35 +03:00
Alex
78f4bdd6a8
Refactored code to use {} initialization instead of dynamic allocation with 'new' in disk manager class 2023-04-10 06:24:44 +03:00
Alex
41dafe32fb
Move all std related headers to "include_std" 2023-04-10 06:08:58 +03:00
Alex
e414804445
Test assert macro 2023-04-10 06:08:30 +03:00
Alex
c8157a828a
Sleep between frames to have a constant frame rate 2023-04-10 06:08:12 +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
b4dbf2c281
QoL and bug fixes 2023-04-10 03:11:46 +03:00
Alex
25aa9ff6a6
Fix compilation issues on i386 and aarch64 2023-04-07 05:27:02 +03:00
Alex
98c137566d
Replace __attribute__ with a macro from types.h 2023-04-07 05:22:14 +03:00
Alex
7fa3e91a53
Optimize memory mapping 2023-04-07 05:12:48 +03:00
Alex
540152a339
Add support for 2MB and 1GB map 2023-04-07 01:39:11 +03:00
Alex
5becc15ed7
Fix ubsan blacklist 2023-04-07 01:38:31 +03:00
Alex
76239ec4ad
Add Get() function for every cpuid struct 2023-04-06 18:36:16 +03:00
Alex
9b84d0147d
Add 2MB and 1GB PAGE_SIZE macro 2023-04-06 18:17:56 +03:00
Alex
5e5819e3be
Fix compilation issues 2023-04-06 18:11:01 +03:00
Alex
78d785f1c6
Move hypervisor cpuid structs to a separate file 2023-04-06 18:03:05 +03:00
Alex
250b01b928
Update AMD's cpuid unions based on #40332 (Vol. 3 Appendix E.3) 2023-04-06 18:02:24 +03:00
Alex
b8186bb3d9
Make rsp to be at physical address 2023-04-04 21:08:45 +03:00
Alex
b265b4aced
Make aarch64 compilable 2023-04-04 19:36:45 +03:00