103 Commits

Author SHA1 Message Date
Alex
41db477173
Update kernel 2023-06-10 13:11:25 +03:00
Alex
d527121883
Add implementation for GDT & IDT on x32 and QoL fixes 2023-05-17 03:28:57 +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
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
93afcd2210
QoL improvements 2023-03-27 20:11:32 +03:00
Alex
9ce301907a
QoL improvements 2023-03-24 16:22: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
115557a551
For Virtual() use KernelPageTable as page table 2023-03-20 00:11:10 +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
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
e53bc14240
Fixed tasking SSE 2022-12-29 02:05:07 +02:00
Alex
0ac4fa3e14
APIC timer should tick every 1ms 2022-12-24 06:24:26 +02:00
Alex
873b2e0051
VirtualBox now works with SMP enabled 2022-12-21 21:46:25 +02:00
Alex
cddf0426e3
Fixed compiler warnings 2022-12-21 20:05:57 +02:00
Alex
48e8f0c513
Updated TaskStateSegment structure 2022-12-21 05:13:59 +02:00
Alex
0a2e8f7154
Updated bitmap command 2022-12-20 00:47:46 +02:00
Alex
eab80c215c
Fixed wrong stack pointer & new tss command for crash screen 2022-12-07 04:15:20 +02:00
Alex
f86777a856
KPT global variable 2022-12-06 09:30:09 +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
fa921fe626
Update files 2022-11-18 06:46:43 +02:00
Alex
1a6665fd67
Not useful 2022-11-18 05:25:33 +02:00
Alex
35c4c3bbd5
Check if CPU 0 is active too 2022-11-17 19:10:21 +02:00
Alex
2571c4f539
Added ubsan 2022-11-17 03:33:18 +02:00
Alex
c2628019b7
Syscalls working as expected 2022-11-15 15:09:52 +02:00
Alex
3542dfca8b
Code fixes and stability 2022-11-15 01:50:07 +02:00
Alex
08ab104eb1
Runtime stuff 2022-11-11 04:41:12 +02:00
Alex
77081b4e1e
Stability fixes (i hope); attempt to implement argc, argv, envp, auxv; Syscalls 2022-11-10 07:09:32 +02:00
Alex
3e5c2bcacd
If empty, set default 2022-11-07 11:27:35 +02:00
Alex
3c4d67fa48
Do not trace icr registers 2022-11-07 06:13:23 +02:00