|
OSAPI
0.29
Open System API
|
10 #ifndef OSAPI_MACHINE_TYPE_CPU_H_
11 #define OSAPI_MACHINE_TYPE_CPU_H_
23 #include "common/types/common_type_cpu.h"
26 #include "machine/machine_platform.h"
27 #include "machine/cpu/type/machine_type_features.h"
28 #include "machine/cpu/type/machine_type_endian.h"
29 #include "machine/cpu/type/machine_type_arch.h"
30 #include "machine/cpu/type/machine_type_vendor.h"
31 #include "machine/cpu/type/machine_type_vm.h"
40 osapi_static_assert( OSAPI_MACHINE_CPU_FEATURE_MAX > osapi_machine_cpu_feature_max,
" CPU error: Number of features exceeds maximum" );
54 char oem [ OSAPI_MACHINE_CPU_SIZE_VENDORID ];
55 char family [ OSAPI_MACHINE_CPU_SIZE_FAMILY ];
56 char model_id [ OSAPI_MACHINE_CPU_SIZE_MODEL ];
58 char level [ OSAPI_MACHINE_CPU_SIZE_REVISION ];
59 char virt [ OSAPI_MACHINE_CPU_SIZE_VIRTUAL ];
char family[OSAPI_MACHINE_CPU_SIZE_FAMILY]
NAme of CPU family.
Definition: machine_type_cpu.h:55
uint8_t canary
Sanity checks.
Definition: machine_type_cpu.h:68
A generic CPU type.
Definition: machine_type_cpu.h:66
char model_name[OSAPI_MACHINE_CPU_SIZE_MODELNAME]
CPU Model Name.
Definition: machine_type_cpu.h:57
CPU ID information (For CPUs that support it)
Definition: machine_type_cpu.h:52
Define a type for CPU features.
Definition: machine_type_features.h:42
t_cpu_ncores ncores
Number of cores per CPU.
Definition: machine_type_cpu.h:82
char model_id[OSAPI_MACHINE_CPU_SIZE_MODEL]
CPU Model ID.
Definition: machine_type_cpu.h:56
Machine CPU summary information.
Definition: machine_type_cpu.h:78
t_cpu_feature_list features
The CPU supported features.
Definition: machine_type_cpu.h:70
char oem[OSAPI_MACHINE_CPU_SIZE_VENDORID]
Name of OEM company.
Definition: machine_type_cpu.h:54
char virt[OSAPI_MACHINE_CPU_SIZE_VIRTUAL]
CPU virtualization name/type.
Definition: machine_type_cpu.h:59
t_cpu_info info
CPU information (assumes all CPUs with the same info)
Definition: machine_type_cpu.h:80
t_cpu_nlogical ncpus_present
Present Logical CPUs in the system.
Definition: machine_type_cpu.h:83
t_cpu_nlogical ncpus_available
Available Logical CPUs in the system.
Definition: machine_type_cpu.h:84
t_cpu_nsocket sockets
Number of sockets in the system.
Definition: machine_type_cpu.h:85
t_cpu_info info
The CPU generic information.
Definition: machine_type_cpu.h:69
t_cpu_endian endianess
CPU architecture endianness.
Definition: machine_type_cpu.h:86
char level[OSAPI_MACHINE_CPU_SIZE_REVISION]
CPU revision level (stepping)
Definition: machine_type_cpu.h:58
t_cpu_nthreads nthreads
Number of threads per core.
Definition: machine_type_cpu.h:81