Am 29.09.2009 um 06:25 schrieb Avi Kivity <avi@xxxxxxxxxx>:
On 09/29/2009 11:17 AM, Alexander Graf wrote:
On 29.09.2009, at 11:14, Avi Kivity wrote:
On 09/29/2009 10:18 AM, Alexander Graf wrote:
With big endian userspace, we can't quite figure out if a pointer
is 32 bit (shifted>> 32) or 64 bit when we read a 64 bit pointer.
This is what happens with dirty logging. To get the pointer
interpreted
correctly, I just make it bounce twice, but admittedly that is not
ideal.
I'm open for suggestions here.
How about adding a new union member to struct kvm_dirty_log:
__u64 dirty_bitmap_virt;
And modifying userspace to write to that one?
Yes - old userspace will still build and work (we don't remove the
old field) on little endian or BE32, new userspace will work on all
flavours. We need new userspace anyway to take advantage of dirty
logging.
Uh, the dirty logging bits are in place already IIRC :)
But yes, sounds like the cleaner way to do it.
Alex
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html