On Tuesday 04 May 2010, Takuya Yoshikawa wrote:
Although we can use *_le_bit() helpers to treat bitmaps le arranged,Does this work correctly if your user space is 32 bits (i.e. unsigned long
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() .
is different size in user space and kernel) in both big- and little-endian
systems?
I'm not sure about all the details, but I think you cannot in general share
bitmaps between user space and kernel because of this.