Commit Graph

101 Commits

Author SHA1 Message Date
dc6fd148fc Reserve more pages for SMP trampoline 2023-04-23 06:28:12 +03:00
89d747e52c Update timing implementation 2023-04-23 05:30:58 +03:00
fa4713fdff Fix kernel crash after an interrupt occurs on the BSP 2023-04-11 11:30:37 +03:00
046c693a52 Use an enum to specify what ist to use 2023-04-11 11:28:35 +03:00
70e11f17e7 Implement std::atomic and remove the old implementation Atomic and rename vector.hpp to vector 2023-04-10 05:29:41 +03:00
b4dbf2c281 QoL and bug fixes 2023-04-10 03:11:46 +03:00
98c137566d Replace __attribute__ with a macro from types.h 2023-04-07 05:22:14 +03:00
540152a339 Add support for 2MB and 1GB map 2023-04-07 01:39:11 +03:00
76239ec4ad Add Get() function for every cpuid struct 2023-04-06 18:36:16 +03:00
5e5819e3be Fix compilation issues 2023-04-06 18:11:01 +03:00
d2c241fcb6 Wrong block comment for nasm files 2023-04-04 02:21:14 +03:00
25256d81a8 Added license headers to all project files 2023-04-04 02:19:05 +03:00
93afcd2210 QoL improvements 2023-03-27 20:11:32 +03:00
9ce301907a QoL improvements 2023-03-24 16:22:42 +02:00
6c1e2e50a4 Add GetKernelStack 2023-03-23 23:21:50 +02:00
86c290f830 Remove broken code 2023-03-23 23:21:34 +02:00
6b01a21a71 Change Interrupts::Handler 2023-03-23 20:48:09 +02:00
115557a551 For Virtual() use KernelPageTable as page table 2023-03-20 00:11:10 +02:00
ac88a1edb7 Zero tss stack tables 2023-03-06 03:21:06 +02:00
5c91f23527 x32 is now compiling 2023-03-04 21:17:19 +02:00
207eb77160 Debug messages 2023-03-03 16:14:13 +02:00
75883030ad Renamed "interrupts.hpp" to "ints.hpp" 2023-02-28 12:58:09 +02:00
65dfa325e9 Optimize 2023-02-27 22:20:02 +02:00
62e9d7b9c9 fixme 2023-02-24 10:15:05 +02:00
c817be50ff Put CPU namespaces in separate files to make cpu.hpp smaller 2023-02-22 01:48:38 +02:00
73e5f13d35 Signal all cores to stop on exception 2023-02-19 00:51:44 +02:00
0f1f66668b Optimize smp GetCurrentCPU() 2023-02-15 07:13:25 +02:00
2c714bbcbc Optimize GetCurrentCPU 2023-02-14 16:07:02 +02:00
4501826025 Kernel now uses SSE instructions properly 2023-01-03 06:36:15 +02:00
e53bc14240 Fixed tasking SSE 2022-12-29 02:05:07 +02:00
0ac4fa3e14 APIC timer should tick every 1ms 2022-12-24 06:24:26 +02:00
873b2e0051 VirtualBox now works with SMP enabled 2022-12-21 21:46:25 +02:00
cddf0426e3 Fixed compiler warnings 2022-12-21 20:05:57 +02:00
48e8f0c513 Updated TaskStateSegment structure 2022-12-21 05:13:59 +02:00
0a2e8f7154 Updated bitmap command 2022-12-20 00:47:46 +02:00
eab80c215c Fixed wrong stack pointer & new tss command for crash screen 2022-12-07 04:15:20 +02:00
f86777a856 KPT global variable 2022-12-06 09:30:09 +02:00
0289054900 Changed a lot of files. Summary: profiler support; "SafeFunction"; UnlockDeadLock kernel config; Code optimization & more 2022-11-28 08:25:37 +02:00
fa921fe626 Update files 2022-11-18 06:46:43 +02:00
1a6665fd67 Not useful 2022-11-18 05:25:33 +02:00
35c4c3bbd5 Check if CPU 0 is active too 2022-11-17 19:10:21 +02:00
2571c4f539 Added ubsan 2022-11-17 03:33:18 +02:00
c2628019b7 Syscalls working as expected 2022-11-15 15:09:52 +02:00
3542dfca8b Code fixes and stability 2022-11-15 01:50:07 +02:00
08ab104eb1 Runtime stuff 2022-11-11 04:41:12 +02:00
77081b4e1e Stability fixes (i hope); attempt to implement argc, argv, envp, auxv; Syscalls 2022-11-10 07:09:32 +02:00
3e5c2bcacd If empty, set default 2022-11-07 11:27:35 +02:00
3c4d67fa48 Do not trace icr registers 2022-11-07 06:13:23 +02:00
5624b82b0f Rewrite tss 2022-11-07 01:41:47 +02:00
971f4b2b27 SetKernelStack should have no_stack_protector attribute 2022-11-06 05:04:57 +02:00