]> err.no Git - linux-2.6/commitdiff
KVM: x86 emulator: initialize src.val and dst.val for register operands
authorAvi Kivity <avi@qumranet.com>
Mon, 14 Apr 2008 20:27:07 +0000 (23:27 +0300)
committerAvi Kivity <avi@qumranet.com>
Sun, 27 Apr 2008 15:21:33 +0000 (18:21 +0300)
This lets us treat the case where mod == 3 in the same manner as other cases.

Signed-off-by: Avi Kivity <avi@qumranet.com>
arch/x86/kvm/x86_emulate.c

index f59ed93f5d24258d0da1b053e6f0ef04a134907d..8e1b32f2cd5e0efa89d79b30ec8e11eb9573e0cb 100644 (file)
@@ -1001,6 +1001,7 @@ done_prefixes:
                 */
                if ((c->d & ModRM) && c->modrm_mod == 3) {
                        c->src.type = OP_REG;
+                       c->src.val = c->modrm_val;
                        break;
                }
                c->src.type = OP_MEM;
@@ -1044,6 +1045,7 @@ done_prefixes:
        case DstMem:
                if ((c->d & ModRM) && c->modrm_mod == 3) {
                        c->dst.type = OP_REG;
+                       c->dst.val = c->dst.orig_val = c->modrm_val;
                        break;
                }
                c->dst.type = OP_MEM;