diff options
author | tychon <tychon@FreeBSD.org> | 2015-04-01 00:15:31 +0000 |
---|---|---|
committer | tychon <tychon@FreeBSD.org> | 2015-04-01 00:15:31 +0000 |
commit | b3c521e85228b0e74f7983ca41489dfafd7a424d (patch) | |
tree | db6cabf68a19dd36f98777d6764af82f1969b8c0 /sys/amd64/vmm/vmm.c | |
parent | cbabb678cae1bc20311261fcd38ceb4a0cc319a9 (diff) | |
download | FreeBSD-src-b3c521e85228b0e74f7983ca41489dfafd7a424d.zip FreeBSD-src-b3c521e85228b0e74f7983ca41489dfafd7a424d.tar.gz |
Fix "MOVS" instruction memory to MMIO emulation. Currently updates to
%rdi, %rsi, etc are inadvertently bypassed along with the check to
see if the instruction needs to be repeated per the 'rep' prefix.
Add "MOVS" instruction support for the 'MMIO to MMIO' case.
Reviewed by: neel
Diffstat (limited to 'sys/amd64/vmm/vmm.c')
-rw-r--r-- | sys/amd64/vmm/vmm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 42a275b..6bd5bce 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -2332,7 +2332,7 @@ vm_copy_setup(struct vm *vm, int vcpuid, struct vm_guest_paging *paging, remaining = len; while (remaining > 0) { KASSERT(nused < num_copyinfo, ("insufficient vm_copyinfo")); - error = vmm_gla2gpa(vm, vcpuid, paging, gla, prot, &gpa); + error = vm_gla2gpa(vm, vcpuid, paging, gla, prot, &gpa); if (error) return (error); off = gpa & PAGE_MASK; |