150 Commits

Author SHA1 Message Date
Alex
7811c21971
Kernel is now able to boot from mb2 2023-05-08 00:27:12 +03:00
Alex
c4798a69b1
Update code 2023-04-30 21:38:20 +03:00
Alex
abb9ff0517
Update linkers 2023-04-30 21:26:57 +03:00
Alex
2fbb8e3df2
Add multiboot stub (currently broken) 2023-04-30 20:01:38 +03:00
Alex
52f506e882
Remove multiboot2 boot code 2023-04-27 05:06:07 +03:00
Alex
c1eaabf97b
Bug fixes 2023-04-25 05:14:12 +03:00
Alex
03b667f5c0
Fix i386 and aarch64 compilation issues 2023-04-23 07:55:27 +03:00
Alex
cd0a470e1d
Fix a bug where GetCurrentProcess returned null inside DSDT 2023-04-23 07:50:09 +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
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
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
98c137566d
Replace __attribute__ with a macro from types.h 2023-04-07 05:22:14 +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
5e5819e3be
Fix compilation issues 2023-04-06 18:11:01 +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
Alex
f81922f63d
Move syscall handler to SystemCalls.cpp 2023-04-04 03:25:25 +03:00
Alex
d2c241fcb6
Wrong block comment for nasm files 2023-04-04 02:21:14 +03:00
Alex
25256d81a8
Added license headers to all project files 2023-04-04 02:19:05 +03:00
Alex
28b0a393bf
Add FramebufferType 2023-03-30 19:23:55 +03:00
Alex
9e21c5326b
Support i386 2023-03-29 03:02:49 +03:00
Alex
93afcd2210
QoL improvements 2023-03-27 20:11:32 +03:00
Alex
028115a1b0
Boot screen & change shutting down/rebooting procedure 2023-03-25 12:05:33 +02:00
Alex
9ce301907a
QoL improvements 2023-03-24 16:22:42 +02:00
Alex
7391a283a3
Use physical address for Kernel.FileBase 2023-03-23 23:26:42 +02:00
Alex
6c1e2e50a4
Add GetKernelStack 2023-03-23 23:21:50 +02:00
Alex
86c290f830
Remove broken code 2023-03-23 23:21:34 +02:00
Alex
6b01a21a71
Change Interrupts::Handler 2023-03-23 20:48:09 +02:00
Alex
f86f3d9293
Rename std functions to match the standard 2023-03-23 04:56:49 +02:00
Alex
c23385a243
Add more tables to ACPI SearchTables() 2023-03-22 20:23:38 +02:00
Alex
115557a551
For Virtual() use KernelPageTable as page table 2023-03-20 00:11:10 +02:00
Alex
bac24e520e
Move bootloader code to a separate directory 2023-03-19 21:59:38 +02:00
Alex
ac88a1edb7
Zero tss stack tables 2023-03-06 03:21:06 +02:00
Alex
5c91f23527
x32 is now compiling 2023-03-04 21:17:19 +02:00
Alex
207eb77160
Debug messages 2023-03-03 16:14:13 +02:00
Alex
75883030ad
Renamed "interrupts.hpp" to "ints.hpp" 2023-02-28 12:58:09 +02:00
Alex
65dfa325e9
Optimize 2023-02-27 22:20:02 +02:00
Alex
392ebc9be2
Renamed "__no_instrument_function" 2023-02-27 22:19:40 +02:00
Alex
62e9d7b9c9
fixme 2023-02-24 10:15:05 +02:00
Alex
c817be50ff
Put CPU namespaces in separate files to make cpu.hpp smaller 2023-02-22 01:48:38 +02:00
Alex
73e5f13d35
Signal all cores to stop on exception 2023-02-19 00:51:44 +02:00
Alex
0f1f66668b
Optimize smp GetCurrentCPU() 2023-02-15 07:13:25 +02:00
Alex
2c714bbcbc
Optimize GetCurrentCPU 2023-02-14 16:07:02 +02:00
Alex
4501826025
Kernel now uses SSE instructions properly 2023-01-03 06:36:15 +02:00
Alex
ffdbc6e598
Call BeforeShutdown before shutting down 2022-12-29 05:03:59 +02:00
Alex
e53bc14240
Fixed tasking SSE 2022-12-29 02:05:07 +02:00