EnderIce2
86a119ea51
scheduler: Fix page table switch for scheduler
...
The userspace process may map pages where the kernel has allocated data and cause a crash.
This patch fixes this issue by having a separate IRQ handler which sets the kernel page table at the start of SchedulerInterruptHandler() and restores it in SchedulerHandlerStub() function.
2024-11-17 03:11:20 +02:00
EnderIce2
725f22cd43
Add ExceptionFrame structure
2024-02-15 22:08:11 +02:00
EnderIce2
b0575ba4f2
Rename "SafeFunction" macro to "NoSecurityAnalysis"
2024-02-04 04:31:30 +02:00
EnderIce2
69c61037ed
Remove __naked attribute from Stop() function
2024-02-04 04:05:34 +02:00
EnderIce2
bb946ea568
Fix CPU functions for aarch64
2024-02-04 04:04:30 +02:00
EnderIce2
fc8027a377
Add additional general purpose registers to TrapFrame struct
2024-02-04 03:45:45 +02:00
EnderIce2
96daa43d38
Update kernel
2024-01-19 06:47:42 +02:00
Alex
889e1522a3
Restructured and rewritten entire codebase
2023-10-09 01:16:24 +03:00
Alex
446a571018
Tasking is now working under 32-bit
2023-09-07 04:22:34 +03:00
Alex
c5c76d3f9d
Various QoL changes
2023-09-03 19:24:14 +03:00
Alex
6d95cd5261
Rework for APIC & added support for x2APIC
2023-08-31 01:07:55 +03:00
Alex
bef0897442
Fix 32-bit compilation
2023-08-23 16:59:21 +03:00
Alex
ef3b761d4f
Removal of NASM support and migration of .asm files to .s
2023-08-11 04:57:32 +03:00
Alex
2c51e4432f
Update kernel
2023-08-06 04:53:14 +03:00
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
06e34ab57f
Remove EFER from x32
2023-05-13 07:40:05 +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
76239ec4ad
Add Get() function for every cpuid struct
2023-04-06 18:36:16 +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
49c627589c
CheckSIMD should use flags
2023-03-27 16:32:42 +03:00
Alex
981534ea47
Document ID inside RFLAGS
2023-03-25 11:58:11 +02:00
Alex
5c91f23527
x32 is now compiling
2023-03-04 21:17:19 +02:00
Alex
65dfa325e9
Optimize
2023-02-27 22:20:02 +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
4501826025
Kernel now uses SSE instructions properly
2023-01-03 06:36:15 +02:00
Alex
450fe4f0ac
Check SIMD implementation
2023-01-03 01:35:40 +02:00
Alex
e53bc14240
Fixed tasking SSE
2022-12-29 02:05:07 +02:00
Alex
cddf0426e3
Fixed compiler warnings
2022-12-21 20:05:57 +02:00
Alex
985d614be2
Compiles on x86 but everything is broken
2022-12-21 02:11:49 +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
c2628019b7
Syscalls working as expected
2022-11-15 15:09:52 +02:00
Alex
cabdc5263e
Kernel now compiles on x32
2022-11-14 14:54:18 +02:00
Alex
dc5b6498f9
Improved crash screen
2022-11-11 04:42:28 +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
776f6d71b0
implemented fxsr
2022-11-06 04:55:01 +02:00
Alex
0c428efc93
Added "no_stack_protector" to functions inside cpu.hpp
2022-11-04 05:30:24 +02:00
Alex
99606bed00
Added Counter() function to CPU
2022-11-01 01:54:15 +02:00
Alex
a245fb009c
Fixed compilation failing on i386
2022-10-28 09:06:09 +03:00
Alex
400a715e94
fxsave/fxrstor stub
2022-10-28 03:28:52 +03:00
Alex
e371e7a21b
Added cpuid 0x40000000 struct
2022-10-28 02:55:15 +03:00
Alex
e4b7fa4244
Fixed cpuid structs
2022-10-28 02:37:55 +03:00
Alex
978f238aba
Updated cpuid structures
2022-10-27 22:36:21 +03:00
Alex
23adc45711
Updated cpu related stuff
2022-10-27 17:44:08 +03:00
Alex
8fd53ea9b2
Improved CPU functions
2022-10-27 03:18:24 +03:00
Alex
e489d49917
Renamed enums
2022-10-25 19:16:45 +03:00
Alex
eb65bd1896
Added APIC_BASE structure
2022-10-23 03:10:43 +03:00