33#include "ws_attributes.h"
64#if defined(_M_IX86) || defined(_M_X64)
66ws_cpuid(uint32_t *CPUInfo, uint32_t selector)
70 CPUInfo[0] = CPUInfo[1] = CPUInfo[2] = CPUInfo[3] = 0;
71 __cpuid((
int *) CPUInfo, selector);
77ws_cpuid(uint32_t *CPUInfo _U_,
int selector _U_)
84#elif defined(__GNUC__)
86#if defined(__x86_64__)
88ws_cpuid(uint32_t *CPUInfo,
int selector)
90 __asm__ __volatile__(
"cpuid"
99#elif defined(__i386__)
101ws_cpuid(uint32_t *CPUInfo _U_,
int selector _U_)
130ws_cpuid(uint32_t *CPUInfo _U_,
int selector _U_)
140ws_cpuid(uint32_t *CPUInfo _U_,
int selector _U_)
151 if (!ws_cpuid(CPUInfo, 1))
155 return (CPUInfo[2] & (1 << 20));