13#ifndef __L4_UTIL_CPU_H
14#define __L4_UTIL_CPU_H
53 unsigned long *eax,
unsigned long *ebx,
54 unsigned long *ecx,
unsigned long *edx);
60 __asm__ __volatile__ (
"rep; nop");
68 asm volatile(
"pushl %%ebx \t\n"
71 "movl %%eax, %%ebx \t\n"
72 "xorl $0x200000, %%eax \t\n"
77 "xorl %%ebx, %%eax \t\n"
85 return eax & 0x200000;
90 unsigned long *eax,
unsigned long *ebx,
91 unsigned long *ecx,
unsigned long *edx)
93 asm volatile(
"pushl %%ebx \t\n"
95 "mov %%ebx, %%esi \t\n"
107 unsigned long dummy, capability;
L4 compiler related defines.
#define __END_DECLS
End section with C types and functions.
#define L4_INLINE
L4 Inline function attribute.
#define __BEGIN_DECLS
Start section with C types and functions.
void l4util_cpu_cpuid(unsigned long mode, unsigned long *eax, unsigned long *ebx, unsigned long *ecx, unsigned long *edx)
Generic CPUID access function.
unsigned int l4util_cpu_capabilities_nocheck(void)
Returns the CPU capabilities.
unsigned int l4util_cpu_capabilities(void)
Returns the CPU capabilities if the "cpuid" instruction is available.
int l4util_cpu_has_cpuid(void)
Check whether the CPU supports the "cpuid" instruction.