diff options
Diffstat (limited to 'winsup/cygwin/cpuid.h')
-rw-r--r-- | winsup/cygwin/cpuid.h | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/winsup/cygwin/cpuid.h b/winsup/cygwin/cpuid.h deleted file mode 100644 index 7053b4d9d..000000000 --- a/winsup/cygwin/cpuid.h +++ /dev/null @@ -1,67 +0,0 @@ -/* cpuid.h: Define cpuid instruction - - Copyright 2003, 2012, 2014 Red Hat, Inc. - -This file is part of Cygwin. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -#ifndef CPUID_H -#define CPUID_H - -static inline void __attribute ((always_inline)) -cpuid (uint32_t *a, uint32_t *b, uint32_t *c, uint32_t *d, uint32_t ain, - uint32_t cin = 0) -{ - asm volatile ("cpuid" - : "=a" (*a), "=b" (*b), "=c" (*c), "=d" (*d) - : "a" (ain), "c" (cin)); -} - -#ifdef __x86_64__ -static inline bool __attribute ((always_inline)) -can_set_flag (register uint32_t long flag) -{ - register uint32_t long r1, r2; - - asm volatile ("pushfq\n" - "popq %0\n" - "movq %0, %1\n" - "xorq %2, %0\n" - "pushq %0\n" - "popfq\n" - "pushfq\n" - "popq %0\n" - "pushq %1\n" - "popfq\n" - : "=&r" (r1), "=&r" (r2) - : "ir" (flag) - ); - return ((r1 ^ r2) & flag) != 0; -} -#else -static inline bool __attribute ((always_inline)) -can_set_flag (register uint32_t flag) -{ - register uint32_t r1, r2; - - asm volatile ("pushfl\n" - "popl %0\n" - "movl %0, %1\n" - "xorl %2, %0\n" - "pushl %0\n" - "popfl\n" - "pushfl\n" - "popl %0\n" - "pushl %1\n" - "popfl\n" - : "=&r" (r1), "=&r" (r2) - : "ir" (flag) - ); - return ((r1 ^ r2) & flag) != 0; -} -#endif - -#endif // !CPUID_H |