Commit Graph

446 Commits

Author SHA1 Message Date
39d8f82caf Define MM_HARDWARE_POOL_PAGE_COUNT
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 11s
Builds / ExectOS (amd64, release) (push) Failing after 9s
Builds / ExectOS (i686, release) (push) Failing after 8s
Builds / ExectOS (i686, debug) (push) Failing after 11s
2025-08-08 21:44:33 +02:00
9badf36ce0 Add ring indicator field to CPPORT structure
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 46s
Builds / ExectOS (amd64, debug) (push) Successful in 48s
Builds / ExectOS (i686, release) (push) Successful in 42s
Builds / ExectOS (i686, debug) (push) Successful in 43s
2025-08-05 23:25:30 +02:00
9eae01cc98 Disable built-in compiler functions
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 46s
Builds / ExectOS (amd64, debug) (push) Successful in 47s
Builds / ExectOS (i686, release) (push) Successful in 40s
Builds / ExectOS (i686, debug) (push) Successful in 44s
2025-07-29 18:20:20 +02:00
2ca708fe43 Define stack alignment required by the architecture's ABI
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 1m3s
Builds / ExectOS (i686) (push) Successful in 1m1s
2025-07-28 17:53:50 +02:00
e0125dda54 Use virtual FAT disk images
All checks were successful
Builds / ExectOS (i686) (push) Successful in 1m8s
Builds / ExectOS (amd64) (push) Successful in 1m49s
2025-01-24 09:19:59 +01:00
7b8f4f15cc Add APIC Logical Destination Register (LDR) shifts and correct APIC delivery mode values
All checks were successful
Builds / ExectOS (i686) (push) Successful in 6m22s
Builds / ExectOS (amd64) (push) Successful in 23s
2024-07-23 20:14:06 +02:00
088940424d Fix data types and rename some fields to avoid confusion
All checks were successful
Builds / ExectOS (i686) (push) Successful in 36s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-07-16 16:28:12 +02:00
ceb36ae8ec Add PAGES_TO_SIZE macro definition
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 34s
2024-07-13 15:39:08 +02:00
94076b7471 Separate image base address per architecture
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 37s
Builds / ExectOS (i686) (push) Successful in 35s
2024-07-10 22:42:48 +02:00
ebc2607446 Update compiler optimization flags
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 37s
Builds / ExectOS (i686) (push) Successful in 35s
2024-07-10 17:57:29 +02:00
3804786e89 All ACPI related structures should be packed
All checks were successful
Builds / ExectOS (i686) (push) Successful in 38s
Builds / ExectOS (amd64) (push) Successful in 40s
2024-07-07 22:13:34 +02:00
6bcf3e134f Unify naming convention and switch to ULONG in memory map related routines
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 1m35s
Builds / ExectOS (i686) (push) Successful in 1m33s
2024-07-06 22:59:10 +02:00
156cb7bcac Refactor system resources to be able to distinguish if requested resource does not exist or if it is locked and cannot be reused
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 28s
Builds / ExectOS (i686) (push) Failing after 28s
2024-06-22 18:54:34 +02:00
906e09fd9f Refactor COM port support, to get rid of global variables in library
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 37s
Builds / ExectOS (i686) (push) Successful in 36s
2024-06-12 18:02:29 +02:00
91e8a86ee2 Implement kernel undefined behavior sanitizer support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 34s
2024-06-12 16:19:24 +02:00
c7e96184e6 Correct typo
All checks were successful
Builds / ExectOS (i686) (push) Successful in 47s
Builds / ExectOS (amd64) (push) Successful in 49s
2024-06-12 16:11:38 +02:00
bd7d4f5a0d Fix function type mismatch undefined behavior when calling through a pointer
All checks were successful
Builds / ExectOS (i686) (push) Successful in 35s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-06-09 22:26:01 +02:00
3097ff6250 Get rid of NULL pointer dereference
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 37s
Builds / ExectOS (i686) (push) Successful in 37s
2024-06-09 12:45:01 +02:00
2f16f4f613 Traverse Local x2APIC structures to find all processors
All checks were successful
Builds / ExectOS (i686) (push) Successful in 34s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-06-07 23:05:12 +02:00
f36b59c961 Store processor identities in system info structure
All checks were successful
Builds / ExectOS (i686) (push) Successful in 1m13s
Builds / ExectOS (amd64) (push) Successful in 1m14s
2024-06-07 20:19:56 +02:00
86bc2042e5 Cleanup XTDK headers
All checks were successful
Builds / ExectOS (i686) (push) Successful in 35s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-06-06 23:09:03 +02:00
92e861ebae Cleanup APIC related headers
All checks were successful
Builds / ExectOS (i686) (push) Successful in 39s
Builds / ExectOS (amd64) (push) Successful in 43s
2024-06-06 21:50:20 +02:00
4212453cf5 Fix APIC initialization code
All checks were successful
Builds / ExectOS (i686) (push) Successful in 35s
Builds / ExectOS (amd64) (push) Successful in 37s
2024-06-06 16:49:08 +02:00
ef65bceccd Initialize legacy PIC and mask all interrupts
All checks were successful
Builds / ExectOS (i686) (push) Successful in 37s
Builds / ExectOS (amd64) (push) Successful in 37s
2024-06-05 16:08:54 +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
de709162e3 ACPI_RSDT structure does not need to be packed
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 37s
Builds / ExectOS (i686) (push) Successful in 35s
2024-06-03 22:27:36 +02:00
5d2d409d0f Add more XTSTATUS status codes
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 36s
Builds / ExectOS (i686) (push) Successful in 35s
2024-06-03 22:14:58 +02:00
9124574bc5 Fixes and improvements to ACPI related structures and definitions
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 38s
Builds / ExectOS (i686) (push) Successful in 35s
2024-06-03 21:17:31 +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
6b1ccc4ce5 Do not hardcode PML shift values
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 35s
2024-05-27 22:26:05 +02:00
7f8846f23d Map memory for hardware layer on i686
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 34s
2024-05-27 22:17:30 +02:00
70d1295919 Do not support non-PAE systems
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 30s
2024-05-24 23:47:29 +02:00
03ba3b5583 Add missing forward references for APIC related structures
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 33s
2024-05-24 23:41:27 +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
143803aad9 PPE needs PAE on i686
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 46s
2024-05-22 23:09:30 +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
4db5425238 Add PHYSICAL_ADDRESS type definition
Some checks failed
Builds / ExectOS (i686) (push) Failing after 39s
Builds / ExectOS (amd64) (push) Successful in 41s
2024-05-22 18:52:57 +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
500498508e Rename PACK definition
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 48s
Builds / ExectOS (i686) (push) Successful in 47s
2024-05-20 15:34:15 +02:00
ac33b86c3d Implement AcGetAcpiTable() routine
All checks were successful
Builds / ExectOS (i686) (push) Successful in 53s
Builds / ExectOS (amd64) (push) Successful in 55s
2024-05-19 23:45:28 +02:00
4931f1b9a3 Cleanup loader information block after switching to system resources
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 41s
2024-05-18 17:32:56 +02:00
c17f6a95d4 Use relative path in debug output
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 40s
2024-05-18 17:30:11 +02:00
1e2efce26a Add a system resources list to the initialization block
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 43s
Builds / ExectOS (i686) (push) Successful in 41s
2024-05-16 23:20:57 +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
f74a5521ba Update KPROCESS and KTHREAD structure definitions
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 39s
Builds / ExectOS (i686) (push) Successful in 37s
2024-05-14 19:44:10 +02:00
efef3cb80d Cleanup EFLAGS related definitions
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 38s
Builds / ExectOS (i686) (push) Successful in 37s
2024-05-14 16:22:10 +02:00