33#include "ws_attributes.h"
49#if defined(_M_IX86) || defined(_M_X64)
51ws_cpuid(uint32_t *CPUInfo, uint32_t selector)
55 CPUInfo[0] = CPUInfo[1] = CPUInfo[2] = CPUInfo[3] = 0;
56 __cpuid((
int *) CPUInfo, selector);
62ws_cpuid(uint32_t *CPUInfo _U_,
int selector _U_)
69#elif defined(__GNUC__)
71#if defined(__x86_64__)
73ws_cpuid(uint32_t *CPUInfo,
int selector)
75 __asm__ __volatile__(
"cpuid"
84#elif defined(__i386__)
86ws_cpuid(uint32_t *CPUInfo _U_,
int selector _U_)
115ws_cpuid(uint32_t *CPUInfo _U_,
int selector _U_)
125ws_cpuid(uint32_t *CPUInfo _U_,
int selector _U_)
136 if (!ws_cpuid(CPUInfo, 1))
140 return (CPUInfo[2] & (1 << 20));