From b57ed0b88ca8543af14b2232a6b05ad4e0aa207c Mon Sep 17 00:00:00 2001 From: Avi Kivity Date: Thu, 7 Jun 2012 17:04:36 +0300 Subject: [PATCH] --- yaml --- r: 315875 b: refs/heads/master c: 510425ff3344df03a1f94bce49e659ae302e0d34 h: refs/heads/master i: 315873: ef304275df2e431769712e02e85b0cb76c8135ef 315871: d9d2e013929396e72f2acbb8c46fc4b378914491 v: v3 --- [refs] | 2 +- trunk/arch/x86/kvm/emulate.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index a5785e0d6b4a..b2d298c55999 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 79d5b4c3cd809c770d4bf9812635647016c56011 +refs/heads/master: 510425ff3344df03a1f94bce49e659ae302e0d34 diff --git a/trunk/arch/x86/kvm/emulate.c b/trunk/arch/x86/kvm/emulate.c index fe4340f62137..24c84251648b 100644 --- a/trunk/arch/x86/kvm/emulate.c +++ b/trunk/arch/x86/kvm/emulate.c @@ -2997,6 +2997,8 @@ static int em_lgdt(struct x86_emulate_ctxt *ctxt) struct desc_ptr desc_ptr; int rc; + if (ctxt->mode == X86EMUL_MODE_PROT64) + ctxt->op_bytes = 8; rc = read_descriptor(ctxt, ctxt->src.addr.mem, &desc_ptr.size, &desc_ptr.address, ctxt->op_bytes); @@ -3024,6 +3026,8 @@ static int em_lidt(struct x86_emulate_ctxt *ctxt) struct desc_ptr desc_ptr; int rc; + if (ctxt->mode == X86EMUL_MODE_PROT64) + ctxt->op_bytes = 8; rc = read_descriptor(ctxt, ctxt->src.addr.mem, &desc_ptr.size, &desc_ptr.address, ctxt->op_bytes);