changeset 9671:768b0f6696fd

When running test 5 in Memtest86+ v1.65, I got a "this opcode is not
supported", so I decided to add it. It's a compare operation, and it's
just the opposite of the already supported one (opcode 0x39), so it's
nothing spectacular. Why there's a page-fault when this instruction gets
executed, I haven't got a clue, but I have a feeling that Memtest86 is
doing something wrong :-( However, this fix may help some other code to
run too...

With this, Test 5 passes all the way through without crashing. I did see
some occassional memory errors in some other tests, and I'm not 100%
sure whether those are caused by the system or they are "real" memory
errors. At some time in the future I may get round to memory testing my
target system...

Signed off by: Mats Petersson (mats.petersson@amd.com).=20
author kaf24@firebug.cl.cam.ac.uk
date Tue Apr 11 10:41:08 2006 +0100 (2006-04-11)
parents 4c8311699685
children 4d4b41264b84
files xen/arch/x86/hvm/platform.c
line diff
     1.1 --- a/xen/arch/x86/hvm/platform.c	Tue Apr 11 10:40:03 2006 +0100
     1.2 +++ b/xen/arch/x86/hvm/platform.c	Tue Apr 11 10:41:08 2006 +0100
     1.3 @@ -401,6 +401,11 @@ static int hvm_decode(int realmode, unsi
     1.4          GET_OP_SIZE_FOR_NONEBYTE(instr->op_size);
     1.5          return reg_mem(instr->op_size, opcode, instr, rex);
     1.7 +    case 0x3B: /* cmp m32/16, r32/16 */
     1.8 +        instr->instr = INSTR_CMP;
     1.9 +        GET_OP_SIZE_FOR_NONEBYTE(instr->op_size);
    1.10 +        return mem_reg(instr->op_size, opcode, instr, rex);
    1.11 +
    1.12      case 0x80:
    1.13      case 0x81:
    1.14          {