Kvm-ia64 Development Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [RFC][PATCH resend 8/12] asm-generic: bitops: introduce le bit
@ 2010-05-04 13:05 Takuya Yoshikawa
  2010-05-04 15:03 ` [RFC][PATCH resend 8/12] asm-generic: bitops: introduce le bit offset macro Arnd Bergmann
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Takuya Yoshikawa @ 2010-05-04 13:05 UTC (permalink / raw)
  To: kvm-ia64

Although we can use *_le_bit() helpers to treat bitmaps le arranged,
having le bit offset calculation as a seperate macro gives us more freedom.

For example, KVM has le arranged dirty bitmaps for VGA, live-migration
and they are used in user space too. To avoid bitmap copies between kernel
and user space, we want to update the bitmaps in user space directly.
To achive this, le bit offset with *_user() functions help us a lot.

So let us use the le bit offset calculation part by defining it as a new
macro: generic_le_bit_offset() .

Signed-off-by: Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
CC: Arnd Bergmann <arnd@arndb.de>
---
 include/asm-generic/bitops/le.h |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/include/asm-generic/bitops/le.h b/include/asm-generic/bitops/le.h
index 80e3bf1..ee445fb 100644
--- a/include/asm-generic/bitops/le.h
+++ b/include/asm-generic/bitops/le.h
@@ -9,6 +9,8 @@
 
 #if defined(__LITTLE_ENDIAN)
 
+#define generic_le_bit_offset(nr)	(nr)
+
 #define generic_test_le_bit(nr, addr) test_bit(nr, addr)
 #define generic___set_le_bit(nr, addr) __set_bit(nr, addr)
 #define generic___clear_le_bit(nr, addr) __clear_bit(nr, addr)
@@ -25,6 +27,8 @@
 
 #elif defined(__BIG_ENDIAN)
 
+#define generic_le_bit_offset(nr)	((nr) ^ BITOP_LE_SWIZZLE)
+
 #define generic_test_le_bit(nr, addr) \
 	test_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 #define generic___set_le_bit(nr, addr) \
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-05-10 12:09 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-04 13:05 [RFC][PATCH resend 8/12] asm-generic: bitops: introduce le bit Takuya Yoshikawa
2010-05-04 15:03 ` [RFC][PATCH resend 8/12] asm-generic: bitops: introduce le bit offset macro Arnd Bergmann
2010-05-04 16:08 ` [RFC][PATCH resend 8/12] asm-generic: bitops: introduce le bit Avi Kivity
2010-05-05  2:59 ` Takuya Yoshikawa
2010-05-06 13:38 ` [RFC][PATCH resend 8/12] asm-generic: bitops: introduce le bit offset macro Arnd Bergmann
2010-05-10 11:46 ` [RFC][PATCH resend 8/12] asm-generic: bitops: introduce le bit Takuya Yoshikawa
2010-05-10 12:01 ` Avi Kivity
2010-05-10 12:01 ` [RFC][PATCH resend 8/12] asm-generic: bitops: introduce le bit offset macro Arnd Bergmann
2010-05-10 12:09 ` [RFC][PATCH resend 8/12] asm-generic: bitops: introduce le bit Takuya Yoshikawa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox