From: Oliver Kurth Date: Thu, 28 Mar 2019 19:43:00 +0000 (-0700) Subject: Common header file change not directly applicable to open-vm-tools. X-Git-Tag: stable-11.0.0~158 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f2e134e40bd7fab478f4f1545db8f09b39e2d3dc;p=thirdparty%2Fopen-vm-tools.git Common header file change not directly applicable to open-vm-tools. --- diff --git a/open-vm-tools/lib/include/vm_basic_asm.h b/open-vm-tools/lib/include/vm_basic_asm.h index 66dbe7c25..bdb094ac7 100644 --- a/open-vm-tools/lib/include/vm_basic_asm.h +++ b/open-vm-tools/lib/include/vm_basic_asm.h @@ -905,7 +905,7 @@ RDTSC(void) * * {Clear,Set,Test}Bit{32,64} -- * - * Sets or clears a specified single bit in the provided variable. + * Sets tests or clears a specified single bit in the provided variable. * * The index input value specifies which bit to modify and is 0-based. * Index is truncated by hardware to a 5-bit or 6-bit offset for the @@ -919,37 +919,15 @@ RDTSC(void) */ static INLINE void -SetBit32(uint32 *var, uint32 index) +SetBit32(uint32 *var, unsigned index) { -#if defined(__GNUC__) && defined(VM_X86_ANY) - __asm__ ( - "bts %1, %0" - : "+mr" (*var) - : "rI" (index) - : "cc" - ); -#elif defined(_MSC_VER) - _bittestandset((long *)var, index); -#else - *var |= (1 << index); -#endif + *var |= 1 << index; } static INLINE void -ClearBit32(uint32 *var, uint32 index) +ClearBit32(uint32 *var, unsigned index) { -#if defined(__GNUC__) && defined(VM_X86_ANY) - __asm__ ( - "btr %1, %0" - : "+mr" (*var) - : "rI" (index) - : "cc" - ); -#elif defined(_MSC_VER) - _bittestandreset((long *)var, index); -#else *var &= ~(1 << index); -#endif } static INLINE void @@ -965,21 +943,9 @@ ClearBit64(uint64 *var, unsigned index) } static INLINE Bool -TestBit32(const uint32 *var, uint32 index) +TestBit32(const uint32 *var, unsigned index) { -#if defined(__GNUC__) && defined(VM_X86_ANY) - Bool bit; - __asm__ ( - "bt %[index], %[var] \n" - "setc %[bit]" - : [bit] "=qQm" (bit) - : [index] "rI" (index), [var] "r" (*var) - : "cc" - ); - return bit; -#else return (*var & (1 << index)) != 0; -#endif } static INLINE Bool