Commit Graph

325 Commits

Author SHA1 Message Date
76e1fc6099
Enable hardware layer initialization code
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 34s
2024-06-04 21:36:09 +02:00
7b29897efb
Initialize ACPI Timer
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 34s
2024-06-04 21:04:09 +02:00
7704e5d399
Initial kernel ACPI support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 37s
Builds / ExectOS (i686) (push) Successful in 36s
2024-06-04 16:24:13 +02:00
c289dab514
Add ACPI resource type
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 35s
2024-06-02 21:36:59 +02:00
6176ca38a8
Cleanup hardware allocation memory pool related code
Some checks failed
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Failing after 32s
2024-06-02 17:29:31 +02:00
abb65b99fe
HlPool manages hardware related memory
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 1m39s
Builds / ExectOS (i686) (push) Successful in 1m36s
2024-06-02 17:01:45 +02:00
a7c4f6c2aa
Fix MmMapHalMemory() not using the ReturnAddress for calculating virtual address
All checks were successful
Builds / ExectOS (i686) (push) Successful in 36s
Builds / ExectOS (amd64) (push) Successful in 39s
2024-05-26 10:50:31 +02:00
4a275b3dec
Just skip unsupported system resources
All checks were successful
Builds / ExectOS (i686) (push) Successful in 50s
Builds / ExectOS (amd64) (push) Successful in 52s
2024-05-26 00:09:31 +02:00
94a40501d4
Mask APIC ICR0 and disable APIC interrupts for initialization time by raising APIC TPR
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 49s
Builds / ExectOS (i686) (push) Successful in 48s
2024-05-24 23:39:06 +02:00
b4588d5b4c
Make ExectOS only run on processors which support PAE
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 55s
Builds / ExectOS (i686) (push) Successful in 53s
2024-05-24 16:30:39 +02:00
5221db2e63
Rename LOADER_MEMORY_MAPPING structure to more meaningful LOADER_MEMORY_DESCRIPTOR
All checks were successful
Builds / ExectOS (i686) (push) Successful in 2m8s
Builds / ExectOS (amd64) (push) Successful in 2m11s
2024-05-23 19:00:50 +02:00
edbc2cc045
Initialize architecture specific hardware extensions
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 45s
2024-05-22 22:53:29 +02:00
609538b9be
Implement MmpGetPdeAddress() and MmpGetPteAddress() routines for i686 architecture as well as MmpMemoryExtensionEnabled() for checking PAE/LA57 support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 51s
Builds / ExectOS (i686) (push) Successful in 50s
2024-05-22 22:47:28 +02:00
03727a61d3
Implement hardware layer pool memory management
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 46s
Builds / ExectOS (i686) (push) Failing after 44s
2024-05-22 18:51:09 +02:00
2103b2dafd
Make sure frame buffer is initialized before drawing
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 50s
Builds / ExectOS (i686) (push) Successful in 49s
2024-05-18 16:57:38 +02:00
d2014a5e82
Use HlpRGBColor() internally
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 41s
2024-05-17 23:29:03 +02:00
811b173387
Re-enable interrupts only if they were enabled previously
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 40s
2024-05-17 23:24:04 +02:00
740df726e9
Implement ArInterruptsEnabled() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 40s
Builds / ExectOS (i686) (push) Successful in 39s
2024-05-17 23:19:25 +02:00
5591e1b377
Fix ArGetCpuFlags() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 40s
Builds / ExectOS (i686) (push) Successful in 38s
2024-05-17 23:16:16 +02:00
41bc673694
Initialize framebuffer device based on a system resource provided by boot loader
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 41s
Builds / ExectOS (i686) (push) Successful in 38s
2024-05-17 22:37:42 +02:00
8a15d46198
Initialize system resource as soon as possible
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 48s
Builds / ExectOS (i686) (push) Successful in 46s
2024-05-17 22:31:29 +02:00
74c1b03a6b
Implement a system resources management routines
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 10m17s
Builds / ExectOS (i686) (push) Failing after 10m15s
2024-05-16 23:08:59 +02:00
9f1a4f0ced
Compose the AMD family and model IDs according to the AMD CPUID manual, section 2
All checks were successful
Builds / ExectOS (i686) (push) Successful in 39s
Builds / ExectOS (amd64) (push) Successful in 41s
2024-05-14 19:39:07 +02:00
2a8cc7397e
Implement ArGetCpuFlags() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 38s
Builds / ExectOS (i686) (push) Successful in 38s
2024-05-14 16:26:02 +02:00
01d127f49e
Consider not initialized list as empty, what prevents page faults
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 57s
Builds / ExectOS (i686) (push) Successful in 55s
2024-05-14 15:53:21 +02:00
60a9e4b534
Rename source file with fb-related stuff, fix build
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 43s
Builds / ExectOS (i686) (push) Successful in 41s
2024-05-13 15:59:24 +02:00
086d9ed7e2
Rename source file with fb-related stuff
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 33s
Builds / ExectOS (i686) (push) Failing after 32s
2024-05-13 15:55:39 +02:00
78424385fc
Convert RGB colors to FrameBuffer format
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 55s
Builds / ExectOS (i686) (push) Successful in 54s
2024-05-13 08:51:27 +02:00
e311cad8f7
Allow to clear framebuffer screen with any, custom background color
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 44s
Builds / ExectOS (i686) (push) Successful in 42s
2024-05-12 22:43:06 +02:00
3d08be4fac
Refactor kernel startup code
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 1m7s
Builds / ExectOS (i686) (push) Successful in 1m4s
2024-05-12 09:06:24 +02:00
eeeb9d6ed7
Update PoInitializeProcessorControlBlock() routine and corresponding structures
All checks were successful
Builds / ExectOS (i686) (push) Successful in 50s
Builds / ExectOS (amd64) (push) Successful in 53s
2024-05-09 22:12:50 +02:00
c34b6ff6c1
Take CPU number from processor block
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 50s
Builds / ExectOS (i686) (push) Successful in 48s
2024-05-08 21:59:18 +02:00
38b0b2ac7d
Use correct stack when using preallocated processor structures
All checks were successful
Builds / ExectOS (i686) (push) Successful in 49s
Builds / ExectOS (amd64) (push) Successful in 50s
2024-05-08 15:57:24 +02:00
3c3a756771
Allow to initialize CPU with allocated processor structures
All checks were successful
Builds / ExectOS (i686) (push) Successful in 35s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-05-08 00:02:47 +02:00
fb099a1988
Preallocate buffer for all supported CPUs
All checks were successful
Builds / ExectOS (i686) (push) Successful in 36s
Builds / ExectOS (amd64) (push) Successful in 38s
2024-05-07 23:47:58 +02:00
b65ff2a767
Implement MmAllocateProcessorStructures() routine as a temporary hack to get a buffer for AP initialization
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 44s
2024-05-07 23:30:11 +02:00
8d6d27651c
Implement KeGetCurrentProcessorNumber() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 34s
2024-05-07 18:52:43 +02:00
f66e9aea9e
Store CPU number and mask interrupts in processor block
All checks were successful
Builds / ExectOS (i686) (push) Successful in 33s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-05-07 16:21:38 +02:00
ac0b8ab36a
Allow to specify CPU number when initializing (A)PIC
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 41s
2024-05-07 16:16:49 +02:00
2c384d780f
Fix storing CPU vendor name in PRCB
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 48s
Builds / ExectOS (i686) (push) Successful in 45s
2024-05-06 20:01:19 +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
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
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
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
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