exectos/sdk/xtdk
PerikiyoXD 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
..
amd64 feat: Add CPU vendor and features identification 2023-11-23 23:26:39 +01:00
i686 feat: Add CPU vendor and features identification 2023-11-23 23:26:39 +01:00
exfuncs.h Implement ExCompleteRundownProtection() and ExReInitializeRundownProtection() routines and add stub for ExWaitForRundownProtectionRelease() 2023-11-05 09:50:04 +01:00
extypes.h Implement ExCompleteRundownProtection() and ExReInitializeRundownProtection() routines and add stub for ExWaitForRundownProtectionRelease() 2023-11-05 09:50:04 +01:00
hlfuncs.h Cleanup HL subsystem headers 2023-10-28 22:56:04 +02:00
hltypes.h Add APIC Registers address map (APIC_REGISTER enumeration list) 2023-11-19 00:57:27 +01:00
iotypes.h Cleanup data types 2023-01-09 23:07:21 +01:00
kefuncs.h Add some DPC related stubs 2023-11-16 14:53:54 +01:00
ketypes.h Add KLOCK_QUEUE_HANDLE structure definition 2023-11-11 11:36:22 +01:00
ldrtypes.h XTDK contains headers uniquely identified 2023-01-05 23:28:43 +01:00
potypes.h Add Deferred Procedure Call (DPC) and processor power state related structures 2023-02-27 19:58:47 +01:00
pstypes.h Initial process and thread related structures 2023-02-08 23:56:29 +01:00
README.md Import readme for XTDK 2023-05-18 21:00:35 +02:00
rtlfuncs.h Add missing I/O register routines forward references 2023-11-19 00:41:21 +01:00
rtltypes.h XTDK contains headers uniquely identified 2023-01-05 23:28:43 +01:00
xtbase.h Initialize thread context for i686 2023-03-15 23:05:18 +01:00
xtdebug.h Use more generic name for this macro use pointer used behind it will point to kernel debugger after it gets initialized 2023-02-07 19:37:44 +01:00
xtdefs.h Define max ULONG type limit 2023-11-11 09:41:44 +01:00
xtfw.h Verify kernel and boot loader compatibility 2023-11-22 17:22:57 +01:00
xtglyph.h XTDK contains headers uniquely identified 2023-01-05 23:28:43 +01:00
xtimage.h Add XT native kernel subsystem to the PE/COFF image support 2023-01-06 16:16:26 +01:00
xtkmapi.h Cleanup XTDK and XTOSKRNL headers 2023-10-29 09:58:47 +01:00
xtstatus.h Initial implementation of the thread initialization 2023-02-23 20:11:21 +01:00
xtstruct.h Add EFI Framework MP services protocol related structures 2023-11-23 15:38:32 +01:00
xttarget.h Code formatting 2023-01-11 15:39:36 +01:00
xttypes.h XTDK contains headers uniquely identified 2023-01-05 23:28:43 +01:00
xtuefi.h Add EFI Framework MP services protocol related structures 2023-11-23 15:38:32 +01:00

XT Development Kit (XTDK)

The XTDK, or XT Development Kit is a comprehensive set of headers designed to facilitate the development of both kernel mode drivers and native XT applications. It includes two main headers: xtkmapi.h and xtumapi.h.

The xtkmapi.h header is primarily used for kernel mode development, specifically for building drivers. It provides developers with the necessary definitions and functions required to interact with the kernel and access system resources. With this header, developers can write efficient and secure kernel mode drivers for the XT operating system.

The xtumapi.h header is tailored for user mode development. It encompasses all the essential components needed for creating user mode applications on the XT platform. This header exposes the definitions and public functions exported by XTOS, allowing developers to leverage the capabilities of the operating system and build powerful user mode applications.

By utilizing XTDK, developers can harness the full potential of the XT operating system and seamlessly write both kernel mode drivers and user mode applications. The provided headers streamline the development process by offering a standardized set of functions and definitions, reducing the complexity and effort required to create software for the XT platform.