[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] string mmio/pio across page boundaries
When preparing arguments for send_mmio_req() or send_pio_req() in hvm where a single iteration crosses a page boundary, the value to be written is copied from guest memory, but I can't see where the value read is copied to guest memory. Is this case simply missing? Also, a long while back the logic to calculate when wrapping occurs was changed with two subsequent patches. As I'm looking at the code now it seems like - only the first patch got applied to handle_mmio() (i.e., the logic is still broken - neither patch got applied to {svm,vmx}_io_instruction(). Further, there is a comment in handle_mmio() now saying "We need to make sure we advance to the point where the next request will be on a different page. If we're going down, that means advancing until one byte before the start of the page, hence +1." This wasn't applied similarly to {svm,vmx}_io_instruction(). And the actual code seems wrong: If e.g. addr is on a page boundary, count will become zero. I would think that the +1 must be outside of the division. Was this intentional in some way? Otherwise, I'll prepare a patch to address all of these. Thanks, Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |