From: Avi Kivity Date: Wed, 31 Oct 2007 09:21:06 +0000 (+0200) Subject: KVM: Simplify decode_register_operand() calling convention X-Git-Tag: v2.6.25-rc1~1138^2~170 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9f1ef3f8f5f8ade2561d969181b152c225b82a3e;p=linux-2.6 KVM: Simplify decode_register_operand() calling convention Now that rex_prefix is part of the decode cache, there is no need to pass it along. Signed-off-by: Avi Kivity --- diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c index 884e4a2e47..b352a6c4d4 100644 --- a/drivers/kvm/x86_emulate.c +++ b/drivers/kvm/x86_emulate.c @@ -518,10 +518,10 @@ static int test_cc(unsigned int condition, unsigned int flags) static void decode_register_operand(struct operand *op, struct decode_cache *c, - int highbyte_regs, int inhibit_bytereg) { unsigned reg = c->modrm_reg; + int highbyte_regs = c->rex_prefix == 0; if (!(c->d & ModRM)) reg = (c->b & 7) | ((c->rex_prefix & 1) << 3); @@ -837,7 +837,7 @@ modrm_done: case SrcNone: break; case SrcReg: - decode_register_operand(&c->src, c, c->rex_prefix == 0, 0); + decode_register_operand(&c->src, c, 0); break; case SrcMem16: c->src.bytes = 2; @@ -895,7 +895,7 @@ modrm_done: /* Special instructions do their own operand decoding. */ return 0; case DstReg: - decode_register_operand(&c->dst, c, c->rex_prefix == 0, + decode_register_operand(&c->dst, c, c->twobyte && (c->b == 0xb6 || c->b == 0xb7)); break; case DstMem: