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