[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] assumptions when hvm guest uses string instructions on MMIO memory



>I'm wondering if the assumptions currently made are appropriate:
>
>- movs assumes that either address is not in MMIO space (What if the
>  guest uses it e.g. on video memory for scrolling?)
>- stos and lods assume that the mmio memory is physically contiguous,
>  while movs doesn't (and even ins/outs for PIO don't, although I'm
>  not clear why, as it still seems to be assumed that the memory
>  accessed is not in MMIO space)

- What if the non-MMIO address of MOVS is also in a not present page?

>Likewise I find it at least strange that all the I/O related
>hvm_copy_{from,to}_guest_virt invocations have their return value
>cast to void instead of forcing page faults into the guest. While I
>can see the point for single datum instructions (the CPU supposedly
>did the checking, except perhaps for ins/outs), movs where the
>non-mmio address crosses a page boundary and lods/stos because
>they're not being broken up would still seem to cause issues. Even
>in the single datum case I think it would be much more consistent
>to force a fault into the guest rather than silently ignoring any
>problems.

Thanks, Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.