Commit Graph

782 Commits

Author SHA1 Message Date
363e100493 Saving processor features in the processor control block
Fixed correct AMD Family 25 model detection
Fixed procedure for saving processor vendor name (previously corrupted)
Added a debugging print of the processor identification
2024-05-06 17:55:37 +02:00
243aacc9c1 Cleanup thread context initialization code 2024-05-06 16:57:29 +02:00
cf0d23b6fe Correct a typo causing page fault during int handling after switching to new kernel stack 2024-05-06 16:47:12 +02:00
e4155ee008 Lower runlevel to APC before initializing idle process 2024-05-05 21:48:58 +02:00
c98ad3862b Use kernel boot stack for the idle thread 2024-05-05 21:47:48 +02:00
07d7e06b2b Flush keyboard buffer out of any keystrokes before waiting for user input 2024-05-05 15:29:20 +02:00
40e0dd8c5e Mask LVTERR first to prevent local APIC errors 2024-05-05 15:24:17 +02:00
5a013e3ab5 Properly free memory after reading a file 2024-04-30 12:27:27 +02:00
e86313603a Correct path to cmake file 2024-04-30 12:19:38 +02:00
7a62ce3feb Enable Bochs-based emulation 2024-04-30 12:16:19 +02:00
ecf62ff231 Add OVMF firmware and VGA Bios suitable for use with Bochs 2024-04-30 11:57:35 +02:00
99ff358287 Don't mess with input string 2024-04-30 10:31:17 +02:00
c4d5b5bb25 Truncate memory descriptor to 4GB only with PML2 2024-04-29 23:59:17 +02:00
763bade115 Use correct string formatting when printing page mapping 2024-04-29 23:57:09 +02:00
0756eb9b29 Allocate memory before copying a buffer 2024-04-29 22:39:32 +02:00
ab618f95b9 Use dedicated GUID for DUMMYOS boot protocol 2024-04-29 13:48:01 +02:00
a4bb5a8ecc Correct formatting 2024-04-29 12:35:32 +02:00
170b11f7a2 Change OS boot identifier, to be able to load both 'dummy' and 'xtos' modules at the same time 2024-04-29 12:31:18 +02:00
a6b8f97fbb Remove empty line 2024-04-29 08:40:07 +02:00
6b8184aa04 Fix code formatting 2024-04-29 08:38:45 +02:00
e80927c5d3 Fix undefined behavior and NULL pointer in boot loader OS list renderer 2024-04-27 00:42:25 +02:00
22693a48d3 Rework trap handling assembly code 2024-04-23 15:07:08 +02:00
a36c02fde8 Use common name for EFLAGS and RFLAGS, regardless the CPU architecture 2024-04-21 22:35:06 +02:00
30a2cb9849 Update timers support 2024-04-21 13:57:55 +02:00
331c5bfeda Rework initial timer support 2024-04-20 23:15:57 +02:00
12ce7aae3f Correct formatting 2024-04-19 23:59:21 +02:00
9f2279f28f Use common way of setting initial runlevel across architectures 2024-04-19 23:56:33 +02:00
5539d98572 Raise to HIGH runlevel before switching the stack 2024-04-19 23:55:26 +02:00
3aa0413756 Use common routine to set runlevel 2024-04-19 23:52:21 +02:00
28c89986fb Tweaks to AMD64 architecture support 2024-04-19 23:37:39 +02:00
b30d15719c Temporarily comment out thread code related to trap frame 2024-04-19 16:59:57 +02:00
51df6c3acb Update trap handler to allow access to the registers 2024-04-19 16:54:55 +02:00
92ee74b494 Rework trap handling to access registers 2024-04-19 16:52:37 +02:00
cf408519ad Initialize AMD64 segments properly 2024-04-17 20:02:27 +02:00
8aa33874ff Initialize CS segment on i686 architecture 2024-04-17 18:27:57 +02:00
7011d456e9 Fix loading CS segment for AMD64 architecture 2024-04-17 16:48:18 +02:00
b31aa82872 Fix loading CS segment for i686 architecture 2024-04-17 16:46:03 +02:00
9d4751abee Remove useless assembler options 2024-04-14 11:37:11 +02:00
ffda2fd8a9 Update toolchain settings 2024-04-14 11:18:31 +02:00
befa211aa7 Add PFN related structures and definitions 2024-04-08 19:03:58 +02:00
7193e698f1 Store page map level 2024-04-07 17:49:24 +02:00
388ac1a8c2 Properly, recursively self map page tables on i686 architecture 2024-04-07 17:11:14 +02:00
7c9233c9a2 Copy memory descriptor to fix i686 compiler error 2024-04-07 10:51:14 +02:00
0af3a01acf Pass compatible pointer type to fix compiler warning 2024-04-07 10:50:21 +02:00
e82c3cbf18 Fix function prototypes 2024-04-07 10:37:27 +02:00
bfcf9bc61a Add PFN_NUMBER type definition 2024-04-07 10:33:53 +02:00
cf8bac9fbe Initial memory manager initialization code 2024-04-07 10:27:30 +02:00
04e22c127e Initial memory manager initialization code 2024-04-07 10:26:12 +02:00
42a1373612 Do not pre-allocate memory 2024-04-06 11:28:02 +02:00
1305672875 Properly, recursively self map page tables; currently only for AMD64 and PML4 2024-04-05 00:26:41 +02:00