WIP: feat: Add CPU vendor and features identification #4

Closed
Ghost wants to merge 2 commits from (deleted):prcb-cpu-features into master
First-time contributor

Add CPU features and fix CPU vendor.

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.
Add CPU features and fix CPU vendor. 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.
Ghost added 1 commit 2023-11-23 23:30:07 +01:00
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.
Ghost changed title from feat: Add CPU vendor and features identification to WIP: feat: Add CPU vendor and features identification 2023-11-23 23:30:14 +01:00
Ghost requested review from belliash 2023-11-23 23:30:28 +01:00
Owner

I don't see any reason, why you have closed #2 and opened this PR. I have reviewed your proposed changes and I have asked for some changes, which should be done in #2. Afterwards it's easy for me to check what was done originally, what changes I have requested for, and what was fixed. I am not going to review this once again from scratch.

I don't see any reason, why you have closed #2 and opened this PR. I have reviewed your proposed changes and I have asked for some changes, which should be done in #2. Afterwards it's easy for me to check what was done originally, what changes I have requested for, and what was fixed. I am not going to review this once again from scratch.
belliash closed this pull request 2023-11-23 23:54:08 +01:00

Pull request closed

Sign in to join this conversation.
No description provided.