bitops.h (920c634aff6cb66e7f352668521eb1313897e93c) | bitops.h (7b9f71f974a12740e79e918cfd58c2fce0b5b580) |
---|---|
1/* 2 * PowerPC atomic bit operations. 3 * 4 * Merged version by David Gibson <david@gibson.dropbear.id.au>. 5 * Based on ppc64 versions by: Dave Engebretsen, Todd Inglett, Don 6 * Reed, Pat McCarthy, Peter Bergner, Anton Blanchard. They 7 * originally took it from the ppc32 code. 8 * --- 37 unchanged lines hidden (view full) --- 46#include <asm/asm-compat.h> 47#include <asm/synch.h> 48 49/* PPC bit number conversion */ 50#define PPC_BITLSHIFT(be) (BITS_PER_LONG - 1 - (be)) 51#define PPC_BIT(bit) (1UL << PPC_BITLSHIFT(bit)) 52#define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) 53 | 1/* 2 * PowerPC atomic bit operations. 3 * 4 * Merged version by David Gibson <david@gibson.dropbear.id.au>. 5 * Based on ppc64 versions by: Dave Engebretsen, Todd Inglett, Don 6 * Reed, Pat McCarthy, Peter Bergner, Anton Blanchard. They 7 * originally took it from the ppc32 code. 8 * --- 37 unchanged lines hidden (view full) --- 46#include <asm/asm-compat.h> 47#include <asm/synch.h> 48 49/* PPC bit number conversion */ 50#define PPC_BITLSHIFT(be) (BITS_PER_LONG - 1 - (be)) 51#define PPC_BIT(bit) (1UL << PPC_BITLSHIFT(bit)) 52#define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) 53 |
54/* Put a PPC bit into a "normal" bit position */ 55#define PPC_BITEXTRACT(bits, ppc_bit, dst_bit) \ 56 ((((bits) >> PPC_BITLSHIFT(ppc_bit)) & 1) << (dst_bit)) 57 |
|
54#include <asm/barrier.h> 55 56/* Macro for generating the ***_bits() functions */ 57#define DEFINE_BITOP(fn, op, prefix) \ 58static __inline__ void fn(unsigned long mask, \ 59 volatile unsigned long *_p) \ 60{ \ 61 unsigned long old; \ --- 256 unchanged lines hidden --- | 58#include <asm/barrier.h> 59 60/* Macro for generating the ***_bits() functions */ 61#define DEFINE_BITOP(fn, op, prefix) \ 62static __inline__ void fn(unsigned long mask, \ 63 volatile unsigned long *_p) \ 64{ \ 65 unsigned long old; \ --- 256 unchanged lines hidden --- |