# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1171045164 0
# Node ID ad9bbd103034cfd566e2801cfd8d51813f1b0f95
# Parent c67a4115a4719de76316c1f5b213b79531ee1500
[HVM] Fill in mmio decode gaps for Grp1 immediate opcodes.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
xen/arch/x86/hvm/platform.c | 24 ++++++++++++++++++++----
1 files changed, 20 insertions(+), 4 deletions(-)
diff -r c67a4115a471 -r ad9bbd103034 xen/arch/x86/hvm/platform.c
--- a/xen/arch/x86/hvm/platform.c Fri Feb 09 17:38:33 2007 +0000
+++ b/xen/arch/x86/hvm/platform.c Fri Feb 09 18:19:24 2007 +0000
@@ -513,12 +513,28 @@ static int mmio_decode(int address_bytes
mmio_op->operand[1] = mk_operand(size_reg, 0, 0, MEMORY);
switch ( ins_subtype ) {
+ 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;
-
- case 1: /* or $imm, m32/16 */
- mmio_op->instr = INSTR_OR;
return DECODE_success;
default:
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|