Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
cpuid.h
Go to the documentation of this file.
1#ifndef __HAL__CPU__CPUID_H_
2#define __HAL__CPU__CPUID_H_
3
4#include <type.h>
5
6enum {
38
69};
70
71void cpuid(uint32_t leaf, uint32_t subleaf, uint32_t* eax, uint32_t* ebx,
72 uint32_t* ecx, uint32_t* edx);
73int cpuid_get_model(void);
75int cpuid_get_bsp_id(void);
76
77#endif //__HAL__CPU__CPUID_H_
boolean_t cpuid_check_apic(void)
Definition cpuid.c:31
@ CPUID_FEAT_EDX_TM
Definition cpuid.h:66
@ CPUID_FEAT_ECX_RDRAND
Definition cpuid.h:36
@ CPUID_FEAT_ECX_TSC
Definition cpuid.h:30
@ CPUID_FEAT_EDX_IA64
Definition cpuid.h:67
@ CPUID_FEAT_ECX_EST
Definition cpuid.h:14
@ CPUID_FEAT_EDX_DS
Definition cpuid.h:58
@ CPUID_FEAT_ECX_DS_CPL
Definition cpuid.h:11
@ CPUID_FEAT_EDX_CLFLUSH
Definition cpuid.h:57
@ CPUID_FEAT_ECX_HYPERVISOR
Definition cpuid.h:37
@ CPUID_FEAT_EDX_TSC
Definition cpuid.h:43
@ CPUID_FEAT_ECX_DCA
Definition cpuid.h:24
@ CPUID_FEAT_EDX_PAE
Definition cpuid.h:45
@ CPUID_FEAT_EDX_CX8
Definition cpuid.h:47
@ CPUID_FEAT_ECX_F16C
Definition cpuid.h:35
@ CPUID_FEAT_ECX_OSXSAVE
Definition cpuid.h:33
@ CPUID_FEAT_ECX_X2APIC
Definition cpuid.h:27
@ CPUID_FEAT_ECX_PCID
Definition cpuid.h:23
@ CPUID_FEAT_EDX_FXSR
Definition cpuid.h:61
@ CPUID_FEAT_ECX_SSSE3
Definition cpuid.h:16
@ CPUID_FEAT_EDX_PSE
Definition cpuid.h:42
@ CPUID_FEAT_EDX_MTRR
Definition cpuid.h:50
@ CPUID_FEAT_EDX_VME
Definition cpuid.h:40
@ CPUID_FEAT_ECX_XTPR
Definition cpuid.h:21
@ CPUID_FEAT_ECX_SSE4_1
Definition cpuid.h:25
@ CPUID_FEAT_EDX_SEP
Definition cpuid.h:49
@ CPUID_FEAT_EDX_DE
Definition cpuid.h:41
@ CPUID_FEAT_EDX_MSR
Definition cpuid.h:44
@ CPUID_FEAT_ECX_MONITOR
Definition cpuid.h:10
@ CPUID_FEAT_ECX_VMX
Definition cpuid.h:12
@ CPUID_FEAT_ECX_POPCNT
Definition cpuid.h:29
@ CPUID_FEAT_ECX_AVX
Definition cpuid.h:34
@ CPUID_FEAT_EDX_APIC
Definition cpuid.h:48
@ CPUID_FEAT_ECX_AES
Definition cpuid.h:31
@ CPUID_FEAT_ECX_PDCM
Definition cpuid.h:22
@ CPUID_FEAT_EDX_PSE36
Definition cpuid.h:55
@ CPUID_FEAT_ECX_FMA
Definition cpuid.h:19
@ CPUID_FEAT_ECX_XSAVE
Definition cpuid.h:32
@ CPUID_FEAT_EDX_CMOV
Definition cpuid.h:53
@ CPUID_FEAT_ECX_SSE3
Definition cpuid.h:7
@ CPUID_FEAT_ECX_DTES64
Definition cpuid.h:9
@ CPUID_FEAT_ECX_PCLMUL
Definition cpuid.h:8
@ CPUID_FEAT_EDX_PSN
Definition cpuid.h:56
@ CPUID_FEAT_EDX_SSE
Definition cpuid.h:62
@ CPUID_FEAT_EDX_SSE2
Definition cpuid.h:63
@ CPUID_FEAT_ECX_SMX
Definition cpuid.h:13
@ CPUID_FEAT_EDX_FPU
Definition cpuid.h:39
@ CPUID_FEAT_EDX_PAT
Definition cpuid.h:54
@ CPUID_FEAT_ECX_SSE4_2
Definition cpuid.h:26
@ CPUID_FEAT_ECX_MOVBE
Definition cpuid.h:28
@ CPUID_FEAT_EDX_MMX
Definition cpuid.h:60
@ CPUID_FEAT_EDX_HTT
Definition cpuid.h:65
@ CPUID_FEAT_EDX_MCA
Definition cpuid.h:52
@ CPUID_FEAT_ECX_TM2
Definition cpuid.h:15
@ CPUID_FEAT_ECX_CX16
Definition cpuid.h:20
@ CPUID_FEAT_EDX_MCE
Definition cpuid.h:46
@ CPUID_FEAT_EDX_PBE
Definition cpuid.h:68
@ CPUID_FEAT_EDX_SS
Definition cpuid.h:64
@ CPUID_FEAT_EDX_ACPI
Definition cpuid.h:59
@ CPUID_FEAT_ECX_SDBG
Definition cpuid.h:18
@ CPUID_FEAT_EDX_PGE
Definition cpuid.h:51
@ CPUID_FEAT_ECX_CID
Definition cpuid.h:17
int cpuid_get_model(void)
Definition cpuid.c:21
int cpuid_get_bsp_id(void)
Definition cpuid.c:37
void cpuid(uint32_t leaf, uint32_t subleaf, uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx)
Definition cpuid.c:4
unsigned int uint32_t
Definition type.h:19
uint8_t boolean_t
Definition type.h:89