Commit Graph

447 Commits

Author SHA1 Message Date
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
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
c576f7f8f2 Provide pixel information to the kernel
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 41s
Builds / ExectOS (i686) (push) Successful in 40s
2024-05-12 22:28:06 +02:00
615a1457bf Fixes to FbpGetPixelInformation() and FbpGetColorMask() routines
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 44s
2024-05-12 22:20:22 +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
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
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
276eb77862 Update KPROCESSOR_BLOCK structure
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 33s
2024-05-07 16:20:40 +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
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