Add CPU features and fix CPU vendor #2

Closed
Ghost wants to merge 5 commits from (deleted):prcb-cpu-features into master

5 Commits

Author SHA1 Message Date
289b1bdebc
Rework _CPU_FEATURES structure 2023-11-27 22:04:31 +01:00
323c173abe
Merge branch 'master' into prcb-cpu-features 2023-11-27 19:11:34 +01:00
73c768ba0e
Merge branch 'master' into prcb-cpu-features 2023-11-26 18:53:01 +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
a01ccff6dc
POSIX compliant stream redirection
All checks were successful
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