From: kfraser@localhost.localdomain Date: Fri, 9 Feb 2007 18:19:24 +0000 (+0000) Subject: [HVM] Fill in mmio decode gaps for Grp1 immediate opcodes. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15337 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=50cdf11efc6399a99e06bf6e6ee1522cad34bcf5;p=xen.git [HVM] Fill in mmio decode gaps for Grp1 immediate opcodes. Signed-off-by: Keir Fraser --- diff --git a/xen/arch/x86/hvm/platform.c b/xen/arch/x86/hvm/platform.c index 1c8e4c11c4..8eb73f53e6 100644 --- a/xen/arch/x86/hvm/platform.c +++ b/xen/arch/x86/hvm/platform.c @@ -513,14 +513,30 @@ static int mmio_decode(int address_bytes, unsigned char *opcode, mmio_op->operand[1] = mk_operand(size_reg, 0, 0, MEMORY); switch ( ins_subtype ) { - case 7: /* cmp $imm, m32/16 */ - mmio_op->instr = INSTR_CMP; + case 0: /* add $imm, m32/16 */ + mmio_op->instr = INSTR_ADD; return DECODE_success; case 1: /* or $imm, m32/16 */ mmio_op->instr = INSTR_OR; return DECODE_success; + case 4: /* and $imm, m32/16 */ + mmio_op->instr = INSTR_AND; + return DECODE_success; + + case 5: /* sub $imm, m32/16 */ + mmio_op->instr = INSTR_SUB; + return DECODE_success; + + case 6: /* xor $imm, m32/16 */ + mmio_op->instr = INSTR_XOR; + return DECODE_success; + + case 7: /* cmp $imm, m32/16 */ + mmio_op->instr = INSTR_CMP; + return DECODE_success; + default: printk("%x/%x, This opcode isn't handled yet!\n", *opcode, ins_subtype);