ia64/xen-unstable

changeset 13898:ad9bbd103034

[HVM] Fill in mmio decode gaps for Grp1 immediate opcodes.
Signed-off-by: Keir Fraser <keir@xensource.com>
author kfraser@localhost.localdomain
date Fri Feb 09 18:19:24 2007 +0000 (2007-02-09)
parents c67a4115a471
children 81c4f90695a8 df25547d7638
files xen/arch/x86/hvm/platform.c
line diff
     1.1 --- a/xen/arch/x86/hvm/platform.c	Fri Feb 09 17:38:33 2007 +0000
     1.2 +++ b/xen/arch/x86/hvm/platform.c	Fri Feb 09 18:19:24 2007 +0000
     1.3 @@ -513,14 +513,30 @@ static int mmio_decode(int address_bytes
     1.4          mmio_op->operand[1] = mk_operand(size_reg, 0, 0, MEMORY);
     1.5  
     1.6          switch ( ins_subtype ) {
     1.7 -        case 7: /* cmp $imm, m32/16 */
     1.8 -            mmio_op->instr = INSTR_CMP;
     1.9 +        case 0: /* add $imm, m32/16 */
    1.10 +            mmio_op->instr = INSTR_ADD;
    1.11              return DECODE_success;
    1.12  
    1.13          case 1: /* or $imm, m32/16 */
    1.14              mmio_op->instr = INSTR_OR;
    1.15              return DECODE_success;
    1.16  
    1.17 +        case 4: /* and $imm, m32/16 */
    1.18 +            mmio_op->instr = INSTR_AND;
    1.19 +            return DECODE_success;
    1.20 +
    1.21 +        case 5: /* sub $imm, m32/16 */
    1.22 +            mmio_op->instr = INSTR_SUB;
    1.23 +            return DECODE_success;
    1.24 +
    1.25 +        case 6: /* xor $imm, m32/16 */
    1.26 +            mmio_op->instr = INSTR_XOR;
    1.27 +            return DECODE_success;
    1.28 +
    1.29 +        case 7: /* cmp $imm, m32/16 */
    1.30 +            mmio_op->instr = INSTR_CMP;
    1.31 +            return DECODE_success;
    1.32 +
    1.33          default:
    1.34              printk("%x/%x, This opcode isn't handled yet!\n",
    1.35                     *opcode, ins_subtype);