From: mita@miraclelinux.com (Akinobu Mita)
To: Grant Grundler <iod00d@hp.com>
Cc: Linux Kernel Development <linux-kernel@vger.kernel.org>,
linux-ia64@vger.kernel.org
Subject: [PATCH 10/12] generic ext2_{set,clear,test,find_first_zero,find_next_zero}_bit()
Date: Thu, 26 Jan 2006 03:38:06 +0000 [thread overview]
Message-ID: <20060126033806.GI11138@miraclelinux.com> (raw)
In-Reply-To: <20060126032713.GA9984@miraclelinux.com>
This patch introduces the C-language equivalents of the functions below:
int ext2_set_bit(int nr, volatile unsigned long *addr);
int ext2_clear_bit(int nr, volatile unsigned long *addr);
int ext2_test_bit(int nr, const volatile unsigned long *addr);
unsigned long ext2_find_first_zero_bit(const unsigned long *addr,
unsigned long size);
HAVE_ARCH_EXT2_NON_ATOMIC_BITOPS is defined when the architecture has
its own
version of these functions.
unsinged long ext2_find_next_zero_bit(const unsigned long *addr,
unsigned long size);
This code largely copied from:
include/asm-powerpc/bitops.h
include/asm-parisc/bitops.h
Index: 2.6-git/include/asm-generic/bitops.h
=================================--- 2.6-git.orig/include/asm-generic/bitops.h 2006-01-25 19:14:11.000000000 +0900
+++ 2.6-git/include/asm-generic/bitops.h 2006-01-25 19:14:11.000000000 +0900
@@ -5,6 +5,7 @@
#define BITOP_MASK(nr) (1UL << ((nr) % BITS_PER_LONG))
#define BITOP_WORD(nr) ((nr) / BITS_PER_LONG)
+#define BITOP_LE_SWIZZLE ((BITS_PER_LONG-1) & ~0x7)
#ifndef HAVE_ARCH_ATOMIC_BITOPS
@@ -510,6 +511,140 @@
#endif /* HAVE_ARCH_HWEIGHT64_BITOPS */
+#ifndef HAVE_ARCH_EXT2_NON_ATOMIC_BITOPS
+
+#include <asm/byteorder.h>
+
+#if defined(__LITTLE_ENDIAN)
+
+static __inline__ int generic_test_le_bit(unsigned long nr,
+ __const__ unsigned long *addr)
+{
+ __const__ unsigned char *tmp = (__const__ unsigned char *) addr;
+ return (tmp[nr >> 3] >> (nr & 7)) & 1;
+}
+
+#define generic___set_le_bit(nr, addr) __set_bit(nr, addr)
+#define generic___clear_le_bit(nr, addr) __clear_bit(nr, addr)
+
+#define generic_test_and_set_le_bit(nr, addr) test_and_set_bit(nr, addr)
+#define generic_test_and_clear_le_bit(nr, addr) test_and_clear_bit(nr, addr)
+
+#define generic___test_and_set_le_bit(nr, addr) __test_and_set_bit(nr, addr)
+#define generic___test_and_clear_le_bit(nr, addr) __test_and_clear_bit(nr, addr)
+
+#define generic_find_next_zero_le_bit(addr, size, offset) find_next_zero_bit(addr, size, offset)
+
+#elif defined(__BIG_ENDIAN)
+
+static __inline__ int generic_test_le_bit(unsigned long nr,
+ __const__ unsigned long *addr)
+{
+ __const__ unsigned char *tmp = (__const__ unsigned char *) addr;
+ return (tmp[nr >> 3] >> (nr & 7)) & 1;
+}
+
+#define generic___set_le_bit(nr, addr) \
+ __set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
+#define generic___clear_le_bit(nr, addr) \
+ __clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
+
+#define generic_test_and_set_le_bit(nr, addr) \
+ test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
+#define generic_test_and_clear_le_bit(nr, addr) \
+ test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
+
+#define generic___test_and_set_le_bit(nr, addr) \
+ __test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
+#define generic___test_and_clear_le_bit(nr, addr) \
+ __test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
+
+/* include/linux/byteorder does not support "unsigned long" type */
+static inline unsigned long ext2_swabp(const unsigned long * x)
+{
+#if BITS_PER_LONG = 64
+ return (unsigned long) __swab64p((u64 *) x);
+#elif BITS_PER_LONG = 32
+ return (unsigned long) __swab32p((u32 *) x);
+#else
+#error BITS_PER_LONG not defined
+#endif
+}
+
+/* include/linux/byteorder doesn't support "unsigned long" type */
+static inline unsigned long ext2_swab(const unsigned long y)
+{
+#if BITS_PER_LONG = 64
+ return (unsigned long) __swab64((u64) y);
+#elif BITS_PER_LONG = 32
+ return (unsigned long) __swab32((u32) y);
+#else
+#error BITS_PER_LONG not defined
+#endif
+}
+
+static __inline__ unsigned long generic_find_next_zero_le_bit(const unsigned long *addr,
+ unsigned long size, unsigned long offset)
+{
+ const unsigned long *p = addr + BITOP_WORD(offset);
+ unsigned long result = offset & ~(BITS_PER_LONG - 1);
+ unsigned long tmp;
+
+ if (offset >= size)
+ return size;
+ size -= result;
+ offset &= (BITS_PER_LONG - 1UL);
+ if (offset) {
+ tmp = ext2_swabp(p++);
+ tmp |= (~0UL >> (BITS_PER_LONG - offset));
+ if (size < BITS_PER_LONG)
+ goto found_first;
+ if (~tmp)
+ goto found_middle;
+ size -= BITS_PER_LONG;
+ result += BITS_PER_LONG;
+ }
+
+ while (size & ~(BITS_PER_LONG - 1)) {
+ if (~(tmp = *(p++)))
+ goto found_middle_swap;
+ result += BITS_PER_LONG;
+ size -= BITS_PER_LONG;
+ }
+ if (!size)
+ return result;
+ tmp = ext2_swabp(p);
+found_first:
+ tmp |= ~0UL << size;
+ if (tmp = ~0UL) /* Are any bits zero? */
+ return result + size; /* Nope. Skip ffz */
+found_middle:
+ return result + ffz(tmp);
+
+found_middle_swap:
+ return result + ffz(ext2_swab(tmp));
+}
+#else
+#error "Please fix <asm/byteorder.h>"
+#endif
+
+#define generic_find_first_zero_le_bit(addr, size) \
+ generic_find_next_zero_le_bit((addr), (size), 0)
+
+#define ext2_set_bit(nr,addr) \
+ generic___test_and_set_le_bit((nr),(unsigned long *)(addr))
+#define ext2_clear_bit(nr,addr) \
+ generic___test_and_clear_le_bit((nr),(unsigned long *)(addr))
+
+#define ext2_test_bit(nr,addr) \
+ generic_test_le_bit((nr),(unsigned long *)(addr))
+#define ext2_find_first_zero_bit(addr, size) \
+ generic_find_first_zero_le_bit((unsigned long *)(addr), (size))
+#define ext2_find_next_zero_bit(addr, size, off) \
+ generic_find_next_zero_le_bit((unsigned long *)(addr), (size), (off))
+
+#endif /* HAVE_ARCH_EXT2_NON_ATOMIC_BITOPS */
+
#endif /* __KERNEL__ */
#endif /* _ASM_GENERIC_BITOPS_H */
WARNING: multiple messages have this Message-ID (diff)
From: mita@miraclelinux.com (Akinobu Mita)
To: Grant Grundler <iod00d@hp.com>
Cc: Linux Kernel Development <linux-kernel@vger.kernel.org>,
linux-ia64@vger.kernel.org
Subject: [PATCH 10/12] generic ext2_{set,clear,test,find_first_zero,find_next_zero}_bit()
Date: Thu, 26 Jan 2006 12:38:06 +0900 [thread overview]
Message-ID: <20060126033806.GI11138@miraclelinux.com> (raw)
In-Reply-To: <20060126032713.GA9984@miraclelinux.com>
This patch introduces the C-language equivalents of the functions below:
int ext2_set_bit(int nr, volatile unsigned long *addr);
int ext2_clear_bit(int nr, volatile unsigned long *addr);
int ext2_test_bit(int nr, const volatile unsigned long *addr);
unsigned long ext2_find_first_zero_bit(const unsigned long *addr,
unsigned long size);
HAVE_ARCH_EXT2_NON_ATOMIC_BITOPS is defined when the architecture has
its own
version of these functions.
unsinged long ext2_find_next_zero_bit(const unsigned long *addr,
unsigned long size);
This code largely copied from:
include/asm-powerpc/bitops.h
include/asm-parisc/bitops.h
Index: 2.6-git/include/asm-generic/bitops.h
===================================================================
--- 2.6-git.orig/include/asm-generic/bitops.h 2006-01-25 19:14:11.000000000 +0900
+++ 2.6-git/include/asm-generic/bitops.h 2006-01-25 19:14:11.000000000 +0900
@@ -5,6 +5,7 @@
#define BITOP_MASK(nr) (1UL << ((nr) % BITS_PER_LONG))
#define BITOP_WORD(nr) ((nr) / BITS_PER_LONG)
+#define BITOP_LE_SWIZZLE ((BITS_PER_LONG-1) & ~0x7)
#ifndef HAVE_ARCH_ATOMIC_BITOPS
@@ -510,6 +511,140 @@
#endif /* HAVE_ARCH_HWEIGHT64_BITOPS */
+#ifndef HAVE_ARCH_EXT2_NON_ATOMIC_BITOPS
+
+#include <asm/byteorder.h>
+
+#if defined(__LITTLE_ENDIAN)
+
+static __inline__ int generic_test_le_bit(unsigned long nr,
+ __const__ unsigned long *addr)
+{
+ __const__ unsigned char *tmp = (__const__ unsigned char *) addr;
+ return (tmp[nr >> 3] >> (nr & 7)) & 1;
+}
+
+#define generic___set_le_bit(nr, addr) __set_bit(nr, addr)
+#define generic___clear_le_bit(nr, addr) __clear_bit(nr, addr)
+
+#define generic_test_and_set_le_bit(nr, addr) test_and_set_bit(nr, addr)
+#define generic_test_and_clear_le_bit(nr, addr) test_and_clear_bit(nr, addr)
+
+#define generic___test_and_set_le_bit(nr, addr) __test_and_set_bit(nr, addr)
+#define generic___test_and_clear_le_bit(nr, addr) __test_and_clear_bit(nr, addr)
+
+#define generic_find_next_zero_le_bit(addr, size, offset) find_next_zero_bit(addr, size, offset)
+
+#elif defined(__BIG_ENDIAN)
+
+static __inline__ int generic_test_le_bit(unsigned long nr,
+ __const__ unsigned long *addr)
+{
+ __const__ unsigned char *tmp = (__const__ unsigned char *) addr;
+ return (tmp[nr >> 3] >> (nr & 7)) & 1;
+}
+
+#define generic___set_le_bit(nr, addr) \
+ __set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
+#define generic___clear_le_bit(nr, addr) \
+ __clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
+
+#define generic_test_and_set_le_bit(nr, addr) \
+ test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
+#define generic_test_and_clear_le_bit(nr, addr) \
+ test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
+
+#define generic___test_and_set_le_bit(nr, addr) \
+ __test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
+#define generic___test_and_clear_le_bit(nr, addr) \
+ __test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
+
+/* include/linux/byteorder does not support "unsigned long" type */
+static inline unsigned long ext2_swabp(const unsigned long * x)
+{
+#if BITS_PER_LONG == 64
+ return (unsigned long) __swab64p((u64 *) x);
+#elif BITS_PER_LONG == 32
+ return (unsigned long) __swab32p((u32 *) x);
+#else
+#error BITS_PER_LONG not defined
+#endif
+}
+
+/* include/linux/byteorder doesn't support "unsigned long" type */
+static inline unsigned long ext2_swab(const unsigned long y)
+{
+#if BITS_PER_LONG == 64
+ return (unsigned long) __swab64((u64) y);
+#elif BITS_PER_LONG == 32
+ return (unsigned long) __swab32((u32) y);
+#else
+#error BITS_PER_LONG not defined
+#endif
+}
+
+static __inline__ unsigned long generic_find_next_zero_le_bit(const unsigned long *addr,
+ unsigned long size, unsigned long offset)
+{
+ const unsigned long *p = addr + BITOP_WORD(offset);
+ unsigned long result = offset & ~(BITS_PER_LONG - 1);
+ unsigned long tmp;
+
+ if (offset >= size)
+ return size;
+ size -= result;
+ offset &= (BITS_PER_LONG - 1UL);
+ if (offset) {
+ tmp = ext2_swabp(p++);
+ tmp |= (~0UL >> (BITS_PER_LONG - offset));
+ if (size < BITS_PER_LONG)
+ goto found_first;
+ if (~tmp)
+ goto found_middle;
+ size -= BITS_PER_LONG;
+ result += BITS_PER_LONG;
+ }
+
+ while (size & ~(BITS_PER_LONG - 1)) {
+ if (~(tmp = *(p++)))
+ goto found_middle_swap;
+ result += BITS_PER_LONG;
+ size -= BITS_PER_LONG;
+ }
+ if (!size)
+ return result;
+ tmp = ext2_swabp(p);
+found_first:
+ tmp |= ~0UL << size;
+ if (tmp == ~0UL) /* Are any bits zero? */
+ return result + size; /* Nope. Skip ffz */
+found_middle:
+ return result + ffz(tmp);
+
+found_middle_swap:
+ return result + ffz(ext2_swab(tmp));
+}
+#else
+#error "Please fix <asm/byteorder.h>"
+#endif
+
+#define generic_find_first_zero_le_bit(addr, size) \
+ generic_find_next_zero_le_bit((addr), (size), 0)
+
+#define ext2_set_bit(nr,addr) \
+ generic___test_and_set_le_bit((nr),(unsigned long *)(addr))
+#define ext2_clear_bit(nr,addr) \
+ generic___test_and_clear_le_bit((nr),(unsigned long *)(addr))
+
+#define ext2_test_bit(nr,addr) \
+ generic_test_le_bit((nr),(unsigned long *)(addr))
+#define ext2_find_first_zero_bit(addr, size) \
+ generic_find_first_zero_le_bit((unsigned long *)(addr), (size))
+#define ext2_find_next_zero_bit(addr, size, off) \
+ generic_find_next_zero_le_bit((unsigned long *)(addr), (size), (off))
+
+#endif /* HAVE_ARCH_EXT2_NON_ATOMIC_BITOPS */
+
#endif /* __KERNEL__ */
#endif /* _ASM_GENERIC_BITOPS_H */
next prev parent reply other threads:[~2006-01-26 3:38 UTC|newest]
Thread overview: 265+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-25 11:26 [PATCH 0/6] RFC: use include/asm-generic/bitops.h Akinobu Mita
2006-01-25 11:26 ` Akinobu Mita
2006-01-25 11:26 ` Akinobu Mita
2006-01-25 11:26 ` Akinobu Mita
2006-01-25 11:26 ` Akinobu Mita
2006-01-25 11:28 ` [PATCH 1/6] {set,clear,test}_bit() related cleanup Akinobu Mita
2006-01-25 11:28 ` Akinobu Mita
2006-01-25 11:28 ` Akinobu Mita
2006-01-25 11:28 ` Akinobu Mita
2006-01-25 11:28 ` Akinobu Mita
2006-01-25 11:46 ` Andi Kleen
2006-01-25 11:46 ` Andi Kleen
2006-01-26 16:14 ` Pavel Machek
2006-01-26 16:14 ` Pavel Machek
2006-01-26 16:14 ` Pavel Machek
2006-01-26 16:14 ` Pavel Machek
2006-01-26 16:14 ` Pavel Machek
2006-01-26 16:47 ` Russell King
2006-01-26 16:47 ` Russell King
2006-01-26 16:47 ` Russell King
2006-01-26 16:47 ` Russell King
2006-01-26 16:47 ` Russell King
2006-01-26 19:14 ` Paul Jackson
2006-01-26 19:14 ` Paul Jackson
2006-01-26 19:14 ` Paul Jackson
2006-01-25 11:30 ` [PATCH 2/6] use non atomic operations for minix_*_bit() and ext2_*_bit() Akinobu Mita
2006-01-25 11:30 ` Akinobu Mita
2006-01-25 11:30 ` Akinobu Mita
2006-01-25 11:30 ` Akinobu Mita
2006-01-25 11:30 ` Akinobu Mita
2006-01-25 11:32 ` [PATCH 3/6] C-language equivalents of include/asm-*/bitops.h Akinobu Mita
2006-01-25 11:32 ` Akinobu Mita
2006-01-25 11:32 ` Akinobu Mita
2006-01-25 11:32 ` Akinobu Mita
2006-01-25 11:32 ` Akinobu Mita
2006-01-25 11:54 ` Keith Owens
2006-01-25 11:54 ` Keith Owens
2006-01-25 11:54 ` Keith Owens
2006-01-25 11:54 ` Keith Owens
2006-01-25 11:54 ` Keith Owens
2006-01-25 11:54 ` Keith Owens
2006-01-26 2:13 ` Akinobu Mita
2006-01-26 2:13 ` Akinobu Mita
2006-01-26 2:13 ` Akinobu Mita
2006-01-26 2:13 ` Akinobu Mita
2006-01-26 2:13 ` Akinobu Mita
2006-01-26 2:19 ` Akinobu Mita
2006-01-25 20:02 ` Russell King
2006-01-25 20:02 ` Russell King
2006-01-25 20:02 ` Russell King
2006-01-25 20:02 ` Russell King
2006-01-25 20:02 ` Russell King
2006-01-25 20:59 ` Grant Grundler
2006-01-25 20:59 ` Grant Grundler
2006-01-26 3:27 ` Akinobu Mita
2006-01-26 3:27 ` Akinobu Mita
2006-01-26 3:29 ` [PATCH 1/12] generic *_bit() Akinobu Mita
2006-01-26 3:29 ` Akinobu Mita
2006-02-01 15:11 ` Chen, Kenneth W
2006-02-01 15:11 ` Chen, Kenneth W
2006-02-01 18:02 ` Christoph Hellwig
2006-02-01 18:02 ` Christoph Hellwig
2006-02-01 18:07 ` Chen, Kenneth W
2006-02-01 18:07 ` Chen, Kenneth W
2006-02-01 19:19 ` Russell King
2006-02-01 19:19 ` Russell King
2006-02-03 10:24 ` Geert Uytterhoeven
2006-02-03 10:24 ` Geert Uytterhoeven
2006-02-03 10:27 ` Russell King
2006-02-03 10:27 ` Russell King
2006-02-01 19:39 ` Grant Grundler
2006-02-01 19:39 ` Grant Grundler
2006-02-02 22:43 ` Paul Mackerras
2006-02-02 22:43 ` Paul Mackerras
2006-02-01 19:25 ` Chen, Kenneth W
2006-02-01 19:25 ` Chen, Kenneth W
2006-02-01 19:35 ` Russell King
2006-02-01 19:35 ` Russell King
2006-02-01 21:41 ` Chen, Kenneth W
2006-02-01 21:41 ` Chen, Kenneth W
2006-02-01 22:09 ` Grant Grundler
2006-02-01 22:09 ` Grant Grundler
2006-02-01 22:49 ` Anton Altaparmakov
2006-02-01 22:49 ` Anton Altaparmakov
2006-02-02 0:08 ` Grant Grundler
2006-02-02 0:08 ` Grant Grundler
2006-02-02 8:52 ` Anton Altaparmakov
2006-02-02 8:52 ` Anton Altaparmakov
2006-02-02 10:13 ` Andreas Schwab
2006-02-02 10:13 ` Andreas Schwab
2006-02-03 17:07 ` Luck, Tony
2006-02-03 17:07 ` Luck, Tony
2006-01-26 3:30 ` [PATCH 2/12] generic __ffs() Akinobu Mita
2006-01-26 3:30 ` Akinobu Mita
2006-01-26 3:31 ` [PATCH 3/12] generic ffz() Akinobu Mita
2006-01-26 3:31 ` Akinobu Mita
2006-01-26 8:21 ` Michael Tokarev
2006-01-26 8:21 ` Michael Tokarev
2006-01-27 6:39 ` [PATCH] parisc: add ()-pair in __ffs() Akinobu Mita
2006-01-27 6:39 ` Akinobu Mita
2006-01-26 3:32 ` [PATCH 4/12] generic fls() and fls64() Akinobu Mita
2006-01-26 3:32 ` Akinobu Mita
2006-01-26 3:33 ` [PATCH 5/12] generic find_{next,first}{,_zero}_bit() Akinobu Mita
2006-01-26 3:33 ` Akinobu Mita
2006-01-26 3:34 ` [PATCH 6/12] generic sched_find_first_bit() Akinobu Mita
2006-01-26 3:34 ` Akinobu Mita
2006-01-26 3:35 ` [PATCH 7/12] generic ffs() Akinobu Mita
2006-01-26 3:35 ` Akinobu Mita
2006-01-26 3:36 ` [PATCH 8/12] generic hweight{32,16,8}() Akinobu Mita
2006-01-26 3:36 ` Akinobu Mita
2006-01-26 7:12 ` Balbir Singh
2006-01-26 7:24 ` Balbir Singh
2006-01-26 10:04 ` Rutger Nijlunsing
2006-01-26 10:04 ` Rutger Nijlunsing
2006-01-27 4:55 ` Akinobu Mita
2006-01-27 4:55 ` Akinobu Mita
2006-01-27 5:40 ` Balbir Singh
2006-01-27 5:52 ` Balbir Singh
2006-01-27 6:40 ` Akinobu Mita
2006-01-27 6:40 ` Akinobu Mita
2006-01-31 11:14 ` Balbir Singh
2006-01-31 11:26 ` Balbir Singh
2006-01-26 18:57 ` Bryan O'Sullivan
2006-01-26 18:57 ` Bryan O'Sullivan
2006-01-27 4:43 ` Akinobu Mita
2006-01-27 4:43 ` Akinobu Mita
2006-01-27 5:23 ` Bryan O'Sullivan
2006-01-27 5:23 ` Bryan O'Sullivan
2006-01-31 16:49 ` linux
2006-01-31 16:49 ` linux
2006-01-31 18:14 ` Grant Grundler
2006-01-31 18:14 ` Grant Grundler
2006-02-02 9:34 ` Balbir Singh
2006-02-02 9:46 ` Balbir Singh
2006-01-26 3:36 ` [PATCH 9/12] generic hweight64() Akinobu Mita
2006-01-26 3:36 ` Akinobu Mita
2006-01-26 7:05 ` Balbir Singh
2006-01-26 7:17 ` Balbir Singh
2006-01-26 3:38 ` Akinobu Mita [this message]
2006-01-26 3:38 ` [PATCH 10/12] generic ext2_{set,clear,test,find_first_zero,find_next_zero}_bit() Akinobu Mita
2006-01-26 3:38 ` [PATCH 11/12] generic ext2_{set,clear}_bit_atomic() Akinobu Mita
2006-01-26 3:38 ` Akinobu Mita
2006-01-26 3:39 ` [PATCH 12/12] generic minix_{test,set,test_and_clear,test,find_first_zero}_bit() Akinobu Mita
2006-01-26 3:39 ` Akinobu Mita
2006-01-25 23:25 ` [PATCH 3/6] C-language equivalents of include/asm-*/bitops.h Ian Molton
2006-01-25 23:25 ` Ian Molton
2006-01-26 0:06 ` Richard Henderson
2006-01-26 0:06 ` Richard Henderson
2006-01-26 4:34 ` Edgar Toernig
2006-01-26 4:34 ` Edgar Toernig
2006-01-26 4:34 ` Edgar Toernig
2006-01-26 17:30 ` Richard Henderson
2006-01-26 17:30 ` Richard Henderson
2006-01-26 17:30 ` Richard Henderson
2006-01-26 8:55 ` Russell King
2006-01-26 8:55 ` Russell King
2006-01-26 16:18 ` [parisc-linux] " Grant Grundler
2006-01-26 16:18 ` Grant Grundler
2006-01-26 16:18 ` Grant Grundler
2006-01-26 16:18 ` Grant Grundler
2006-01-26 16:30 ` [parisc-linux] Re: [PATCH 3/6] C-language equivalents of Nicolas Pitre
2006-01-26 16:30 ` [parisc-linux] Re: [PATCH 3/6] C-language equivalents of include/asm-*/bitops.h Nicolas Pitre
2006-01-26 16:30 ` Nicolas Pitre
2006-01-27 0:28 ` [parisc-linux] Re: [PATCH 3/6] C-language equivalents of John David Anglin
2006-01-27 0:28 ` John David Anglin
2006-01-27 0:28 ` John David Anglin
2006-01-27 0:28 ` John David Anglin
2006-01-27 0:28 ` John David Anglin
2006-01-26 16:40 ` [parisc-linux] Re: [PATCH 3/6] C-language equivalents of include/asm-*/bitops.h Russell King
2006-01-26 16:40 ` Russell King
2006-01-26 16:40 ` Russell King
2006-01-26 16:40 ` Russell King
2006-01-26 16:40 ` Russell King
2006-01-26 22:55 ` Grant Grundler
2006-01-26 23:04 ` Grant Grundler
2006-01-26 23:04 ` Grant Grundler
2006-01-26 22:55 ` Grant Grundler
2006-01-26 22:55 ` Grant Grundler
2006-01-26 23:03 ` Russell King
2006-01-26 23:03 ` Russell King
2006-01-26 23:03 ` Russell King
2006-01-29 7:12 ` Stuart Brady
2006-01-29 7:12 ` Stuart Brady
2006-01-30 4:03 ` [parisc-linux] Re: [PATCH 3/6] C-language equivalents of David S. Miller
2006-01-30 4:03 ` [parisc-linux] Re: [PATCH 3/6] C-language equivalents of include/asm-*/bitops.h David S. Miller
2006-01-30 4:03 ` [parisc-linux] Re: [PATCH 3/6] C-language equivalents of David S. Miller
2006-01-30 4:03 ` [parisc-linux] Re: [PATCH 3/6] C-language equivalents of include/asm-*/bitops.h David S. Miller
2006-01-30 4:03 ` David S. Miller
2006-01-30 17:06 ` Ralf Baechle
2006-01-30 17:06 ` Ralf Baechle
2006-01-30 19:50 ` Stuart Brady
2006-01-30 19:50 ` Stuart Brady
2006-01-30 23:02 ` [parisc-linux] Re: [PATCH 3/6] C-language equivalents of David S. Miller
2006-01-30 23:02 ` [parisc-linux] Re: [PATCH 3/6] C-language equivalents of include/asm-*/bitops.h David S. Miller
2006-01-30 23:02 ` David S. Miller
2006-01-27 12:51 ` Hirokazu Takata
2006-01-27 12:51 ` Hirokazu Takata
2006-01-27 12:51 ` Hirokazu Takata
2006-01-27 12:51 ` Hirokazu Takata
2006-01-27 12:51 ` Hirokazu Takata
2006-01-30 3:29 ` Akinobu Mita
2006-01-30 3:29 ` Akinobu Mita
2006-01-30 3:29 ` Akinobu Mita
2006-01-30 3:29 ` Akinobu Mita
2006-01-30 3:29 ` Akinobu Mita
2006-01-25 11:33 ` [PATCH 4/6] use include/asm-generic/bitops for each architecture Akinobu Mita
2006-01-26 1:49 ` Akinobu Mita
2006-01-26 1:49 ` Akinobu Mita
2006-01-26 1:49 ` Akinobu Mita
2006-01-26 1:49 ` Akinobu Mita
2006-01-26 1:49 ` Akinobu Mita
2006-01-26 2:37 ` Grant Grundler
2006-01-27 13:04 ` [PATCH 4/6] use include/asm-generic/bitops for each Hirokazu Takata
2006-01-27 13:04 ` [PATCH 4/6] use include/asm-generic/bitops for each architecture Hirokazu Takata
2006-01-27 13:04 ` [PATCH 4/6] use include/asm-generic/bitops for each Hirokazu Takata
2006-01-27 13:04 ` [PATCH 4/6] use include/asm-generic/bitops for each architecture Hirokazu Takata
2006-01-27 13:04 ` Hirokazu Takata
2006-01-30 3:15 ` Akinobu Mita
2006-01-30 3:15 ` Akinobu Mita
2006-01-30 3:15 ` Akinobu Mita
2006-01-30 3:15 ` Akinobu Mita
2006-01-30 3:15 ` Akinobu Mita
2006-01-25 11:34 ` [PATCH 5/6] fix warning on test_ti_thread_flag() Akinobu Mita
2006-01-25 11:34 ` Akinobu Mita
2006-01-25 11:34 ` Akinobu Mita
2006-01-25 11:34 ` Akinobu Mita
2006-01-25 11:34 ` Akinobu Mita
2006-01-25 12:28 ` Geert Uytterhoeven
2006-01-25 12:28 ` Geert Uytterhoeven
2006-01-25 12:28 ` Geert Uytterhoeven
2006-01-25 17:08 ` Chen, Kenneth W
2006-01-25 17:08 ` Chen, Kenneth W
2006-01-25 17:08 ` Chen, Kenneth W
2006-01-25 17:08 ` Chen, Kenneth W
2006-01-25 17:19 ` Geert Uytterhoeven
2006-01-25 17:19 ` Geert Uytterhoeven
2006-01-25 17:19 ` Geert Uytterhoeven
2006-01-25 20:02 ` Chen, Kenneth W
2006-01-25 20:02 ` Chen, Kenneth W
2006-01-25 20:02 ` Chen, Kenneth W
2006-01-25 20:02 ` Chen, Kenneth W
2006-01-26 3:50 ` Akinobu Mita
2006-01-26 3:50 ` Akinobu Mita
2006-01-26 3:50 ` Akinobu Mita
2006-01-26 3:50 ` Akinobu Mita
2006-01-26 4:12 ` Paul Mackerras
2006-01-26 4:12 ` Paul Mackerras
2006-01-26 4:12 ` Paul Mackerras
2006-01-26 4:12 ` Paul Mackerras
2006-01-25 22:28 ` Paul Mackerras
2006-01-25 22:28 ` Paul Mackerras
2006-01-25 22:28 ` Paul Mackerras
2006-01-25 22:28 ` Paul Mackerras
2006-01-25 22:28 ` Paul Mackerras
2006-01-25 22:28 ` Paul Mackerras
2006-01-26 0:04 ` David S. Miller
2006-01-26 0:04 ` David S. Miller
2006-01-26 0:04 ` David S. Miller
2006-01-26 0:04 ` David S. Miller
2006-01-26 0:04 ` David S. Miller
2006-01-25 11:35 ` [PATCH 6/6] remove unused generic bitops in include/linux/bitops.h Akinobu Mita
2006-01-25 11:35 ` Akinobu Mita
2006-01-25 11:35 ` Akinobu Mita
2006-01-25 11:35 ` Akinobu Mita
2006-01-25 11:35 ` Akinobu Mita
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060126033806.GI11138@miraclelinux.com \
--to=mita@miraclelinux.com \
--cc=iod00d@hp.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.