397 Commits

Author SHA1 Message Date
Alex
f1dc3868ca
Add support for multiboot2 2023-05-10 21:50:11 +03:00
Alex
79c6a5096d
Add ROUND_UP and ROUND_DOWN 2023-05-10 21:49:28 +03:00
Alex
b68c8c18a5
Implement mb2 stub support 2023-05-09 04:57:17 +03:00
Alex
198742526c
Remove unnecessary code 2023-05-08 05:32:44 +03:00
Alex
404be92d43
Rewrite the linker script 2023-05-08 05:15:56 +03:00
Alex
1df78907fc
Add PathIsRelative() 2023-05-05 20:02:53 +03:00
Alex
7d939c001b
Add process cwd 2023-05-05 19:40:01 +03:00
Alex
50a0857524
Implement file seek 2023-05-05 19:19:05 +03:00
Alex
b0e0415b3e
Track which core was used to schedule 2023-05-05 18:45:28 +03:00
Alex
59ebcdfa8e
Print backtrace on deadlocks 2023-05-05 18:21:31 +03:00
Alex
72918cdc18
Rewrite syscall stub and SyscallsFrame structure 2023-05-05 17:33:33 +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
5e81421ec6
Add Elf32_Phdr 2023-04-28 23:06:48 +03:00
Alex
299c919d1d
Add UserTime and KernelTime tracker 2023-04-25 05:12:58 +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
89d747e52c
Update timing implementation 2023-04-23 05:30:58 +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
411b468f71
Optimize memory usage 2023-04-11 12:06:32 +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
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
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
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
f69f29c5bb
Implementation for userspace interpreter 2023-03-31 17:36:34 +03:00
Alex
eae6006d25
Add Virtual::GetPhysical() 2023-03-31 17:30:33 +03:00
Alex
43af65b21e
Implement strcasecmp, wcslen and wcsrtombs 2023-03-30 19:57:12 +03:00
Alex
09e549fdb7
Add stub headers 2023-03-30 19:53:58 +03:00
Alex
28b0a393bf
Add FramebufferType 2023-03-30 19:23:55 +03:00
Alex
bb862bf600
Move PEXIT and TEXIT to task.hpp 2023-03-27 20:37:58 +03:00
Alex
678744f65d
Fix kernel mapping 2023-03-27 20:30:19 +03:00
Alex
98677c7b5b
Unhook interrupts from every driver on crash 2023-03-27 20:30:03 +03:00
Alex
93afcd2210
QoL improvements 2023-03-27 20:11:32 +03:00
Alex
49c627589c
CheckSIMD should use flags 2023-03-27 16:32:42 +03:00
Alex
1266764aec
Process cleanup should be done by a thread 2023-03-27 02:50:57 +03:00
Alex
f4641e21fe
Refactor driver file creation to use structured binding 2023-03-26 21:20:12 +03:00
Alex
c6da67a7a3
Add SetDoNotScroll 2023-03-26 21:16:02 +03:00