> Below is the commit, it needed a small amount of massaging to apply the > void * -> unsigned long * change in the x86/bitops topic.
So you need to change this line > +#define CONST_MASK_ADDR BITOP_ADDR(addr + (nr>>3)) to be #define CONST_MASK_ADDR BITOP_ADDR((void *)addr + (nr>>3)) or something like this. Otherwise it will get wrong address in set_bit > -static inline void set_bit(int nr, volatile unsigned long *addr) > +static inline void set_bit(unsigned int nr, volatile unsigned long *addr) > { > - asm volatile(LOCK_PREFIX "bts %1,%0" : ADDR : "Ir" (nr) : "memory"); > + if (IS_IMMEDIATE(nr)) > + asm volatile(LOCK_PREFIX "orb %1,%0" : CONST_MASK_ADDR : "i" > (CONST_MASK) : "memory"); > + else > + asm volatile(LOCK_PREFIX "bts %1,%0" : ADDR : "Ir" (nr) : > "memory"); > } _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/virtualization