73c768ba0e
Merge branch 'master' into prcb-cpu-features
2023-11-26 18:53:01 +01:00
e886baa0d8
Fix reading from and writting to APIC registers
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-26 16:57:40 +01:00
5b48525b1d
Increase commit hash to 10 characters to match Gitea
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-26 16:26:22 +01:00
0e6844e2fa
Fix page fault on accessing initial thread frame
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 24s
2023-11-26 14:14:54 +01:00
96a19d23b3
Fix i686 build by setting APIC transformation tables static
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-26 00:38:20 +01:00
ba6e68e1b5
Fix a bug that caused overwritting a value read from CR8 with a default value
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-26 00:33:46 +01:00
bed49fa0ac
Fix function prototypes using fastcall and stdcall calling convensions
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-25 23:25:44 +01:00
e245754d95
Add running level management support
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 14s
2023-11-25 23:14:15 +01:00
4701351bd7
Add missing SYNC_LEVEL definition
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-25 22:14:45 +01:00
5204d8bc2f
Correct (A)PIC related source file description
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-25 19:23:18 +01:00
14a966043e
Add missing Interrupt request level definitions
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-25 18:50:59 +01:00
0e6bf984a5
Add APIC vector definitions
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-25 18:33:01 +01:00
55cc62f5a0
Rename KIRQL to KRUNLEVEL type
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-25 00:32:55 +01:00
236927fba0
Move APIC related routines
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-24 22:45:29 +01:00
a270c08dcf
feat: Add CPU vendor and features identification
...
Add functionality to identify the CPU vendor and features using the CPUID instruction.
The CPU vendor information is stored in the Processor Control Block (PRCB),
including the vendor name and a corresponding enumeration.
CPU features are also retrieved and stored in the PRCB.
Previously, the CPU vendor was not properly stored in the PRCB, caused by a missing type cast.
Using Rtl functions to copy the CPU vendor name to the PRCB.
Details:
- Introduced functions `ArpSetCpuVendor` and `ArpSetCpuFeatures` to set CPU vendor and features, respectively.
- Modified `ArpIdentifyProcessor` to call the new functions for vendor and features identification.
- Added `CPU_FEATURES` structure to `KPROCESSOR_CONTROL_BLOCK` structure to store CPU features.
Tests:
- Tested x86_64 on QEMU. Verified that the CPU vendor and features are correctly identified and stored in the PRCB.
2023-11-23 23:26:39 +01:00
3c4ebe12e1
POSIX compliant stream redirection
...
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 25s
Reviewed-on: #1
Reviewed-by: Rafal Kupiec <belliash@noreply.codingworkshop.git>
Co-authored-by: Pedro Valadés <perikiyoxd@gmail.com>
Co-committed-by: Pedro Valadés <perikiyoxd@gmail.com>
2023-11-23 23:26:26 +01:00
a01ccff6dc
POSIX compliant stream redirection
...
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 26s
Reviewed-on: #1
Reviewed-by: Rafal Kupiec <belliash@noreply.codingworkshop.git>
Co-authored-by: PerikiyoXD <perikiyoxd@gmail.com>
Co-committed-by: PerikiyoXD <perikiyoxd@gmail.com>
2023-11-23 17:02:30 +01:00
c526e63b7a
Add EFI Framework MP services protocol related structures
Builds / ExectOS (amd64) (push) Successful in 46s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-23 15:38:32 +01:00
1cb21a81dd
Rename HlInitializeDisplay() to HlInitializeFrameBuffer()
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-22 20:36:05 +01:00
f28c870192
Implement KeHaltSystem() routine
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 44s
2023-11-22 19:24:14 +01:00
d7e6d319cf
Update XTOS ideas
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-22 19:22:51 +01:00
d8403d01f5
Verify kernel and boot loader compatibility
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-22 17:22:57 +01:00
c66ea77a8b
Enable ASM, C and CXX compilers
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-20 23:52:49 +01:00
c4143c63f9
Enable LLVM MASM Assembly
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-20 23:30:44 +01:00
d2fb0a6830
Update ideas file
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-20 16:44:21 +01:00
1eecad21db
Implement HlReadApicRegister() and HlWriteApicRegister() routines for basic APIC support
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-20 15:26:03 +01:00
a3c28cee73
Initial XTLDR APIC support, finds and maps base APIC address for kernel
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-20 15:18:22 +01:00
3d0a48df26
Give qemu direct access to the terminal
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-19 20:41:21 +01:00
575b842d05
Add APIC Registers address map (APIC_REGISTER enumeration list)
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-19 00:57:27 +01:00
0c3268acd1
Export registers read/write related routines
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-19 00:46:51 +01:00
42b7c3698c
Add missing I/O register routines forward references
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-19 00:41:21 +01:00
12f946c92d
Fixes to I/O registers related routines
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-19 00:39:52 +01:00
71d0608643
Implement ArGetStackPointer() routine
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-19 00:09:16 +01:00
83c692bfcb
Fix publishing artifacts
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-18 13:55:26 +01:00
b2f0584cb9
Archive libraries and symbols
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-18 13:49:52 +01:00
cb2ce9be83
Set libraries target directory
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-18 13:34:52 +01:00
64ffe0d7d7
Add EFI task priority levels
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-17 00:11:30 +01:00
71e7adadbd
Correct typo
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-17 00:10:54 +01:00
d083d00ab1
Add EFI MP services protocol structures
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-16 23:06:01 +01:00
a2af4841da
Move all globals into separate file
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-16 17:39:12 +01:00
1a932468a2
Add some DPC related stubs
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-16 14:53:54 +01:00
ec4a0fcb70
Add missing KepRetireDpcList() routine forward reference
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-15 23:19:20 +01:00
5b6f3b0244
Mark user mode threads as not yet supported
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-15 20:41:28 +01:00
35aa26e0e9
Add missing documentation comment block
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-15 15:50:33 +01:00
5d27473bb0
Fix i686 build
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-15 15:34:04 +01:00
d35dd4fce3
Save processor state during kernel initialization
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-15 15:00:38 +01:00
ccd0514416
Implement more CPU-related routines
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-15 14:52:18 +01:00
f0c20074c6
Prefer xbuild over ninja
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-14 15:35:07 +01:00
e664b953a0
Take advantage of the 'xbuild' command (requires XTChain 2.8.5)
Builds / ExectOS (amd64) (push) Successful in 3m50s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-14 15:01:51 +01:00
fc85e0674b
Let KeGetCurrentProcessorControlBlock() use CurrentPrcb field and correct comments
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-13 15:36:50 +01:00