diff options
author | Avi Kivity <avi@qumranet.com> | 2007-10-31 11:21:06 +0200 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-01-30 17:52:59 +0200 |
commit | 9f1ef3f8f5f8ade2561d969181b152c225b82a3e (patch) | |
tree | 1070f885c4412ed9594809f55515f2d1b719dee4 | |
parent | 33615aa956521923eab0552994b5961cd3034042 (diff) |
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 <avi@qumranet.com>
-rw-r--r-- | drivers/kvm/x86_emulate.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c index 884e4a2e47e6..b352a6c4d4a2 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: |