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>
This commit is contained in:
parent
33615aa956
commit
9f1ef3f8f5
1 changed files with 3 additions and 3 deletions
|
@ -518,10 +518,10 @@ static int test_cc(unsigned int condition, unsigned int flags)
|
||||||
|
|
||||||
static void decode_register_operand(struct operand *op,
|
static void decode_register_operand(struct operand *op,
|
||||||
struct decode_cache *c,
|
struct decode_cache *c,
|
||||||
int highbyte_regs,
|
|
||||||
int inhibit_bytereg)
|
int inhibit_bytereg)
|
||||||
{
|
{
|
||||||
unsigned reg = c->modrm_reg;
|
unsigned reg = c->modrm_reg;
|
||||||
|
int highbyte_regs = c->rex_prefix == 0;
|
||||||
|
|
||||||
if (!(c->d & ModRM))
|
if (!(c->d & ModRM))
|
||||||
reg = (c->b & 7) | ((c->rex_prefix & 1) << 3);
|
reg = (c->b & 7) | ((c->rex_prefix & 1) << 3);
|
||||||
|
@ -837,7 +837,7 @@ modrm_done:
|
||||||
case SrcNone:
|
case SrcNone:
|
||||||
break;
|
break;
|
||||||
case SrcReg:
|
case SrcReg:
|
||||||
decode_register_operand(&c->src, c, c->rex_prefix == 0, 0);
|
decode_register_operand(&c->src, c, 0);
|
||||||
break;
|
break;
|
||||||
case SrcMem16:
|
case SrcMem16:
|
||||||
c->src.bytes = 2;
|
c->src.bytes = 2;
|
||||||
|
@ -895,7 +895,7 @@ modrm_done:
|
||||||
/* Special instructions do their own operand decoding. */
|
/* Special instructions do their own operand decoding. */
|
||||||
return 0;
|
return 0;
|
||||||
case DstReg:
|
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));
|
c->twobyte && (c->b == 0xb6 || c->b == 0xb7));
|
||||||
break;
|
break;
|
||||||
case DstMem:
|
case DstMem:
|
||||||
|
|
Reference in a new issue