public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86 emulator: Add opcodes 0xb9-0xbf (mov r,imm)
@ 2008-07-31 13:31 Mohammed Gamal
  2008-08-06 15:01 ` Mohammed Gamal
  2008-08-11 11:12 ` Avi Kivity
  0 siblings, 2 replies; 3+ messages in thread
From: Mohammed Gamal @ 2008-07-31 13:31 UTC (permalink / raw)
  To: kvm; +Cc: avi, riel

The emulator only supported opcode 0xb8 for mov r,imm. However 0xb9-0xbf 
are also mov r,imm. This patch adds support for these instructions.

Signed-off-by: Mohammed Gamal <m.gamal005@gmail.com>

---
 arch/x86/kvm/x86_emulate.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kvm/x86_emulate.c b/arch/x86/kvm/x86_emulate.c
index 005f1db..4c7ca7f 100644
--- a/arch/x86/kvm/x86_emulate.c
+++ b/arch/x86/kvm/x86_emulate.c
@@ -156,7 +156,9 @@ static u16 opcode_table[256] = {
 	ByteOp | ImplicitOps | String, ImplicitOps | String,
 	/* 0xB0 - 0xBF */
 	0, 0, 0, 0, 0, 0, 0, 0,
-	DstReg | SrcImm | Mov, 0, 0, 0, 0, 0, 0, 0,
+	DstReg | SrcImm | Mov, DstReg | SrcImm | Mov, DstReg | SrcImm | Mov, 
+	DstReg | SrcImm | Mov, DstReg | SrcImm | Mov, DstReg | SrcImm | Mov, 
+	DstReg | SrcImm | Mov, DstReg | SrcImm | Mov,
 	/* 0xC0 - 0xC7 */
 	ByteOp | DstMem | SrcImm | ModRM, DstMem | SrcImmByte | ModRM,
 	0, ImplicitOps | Stack, 0, 0,
@@ -1660,7 +1662,7 @@ special_insn:
 	case 0xae ... 0xaf:	/* scas */
 		DPRINTF("Urk! I don't handle SCAS.\n");
 		goto cannot_emulate;
-	case 0xb8: /* mov r, imm */
+	case 0xb8 ... 0xbf: /* mov r, imm */
 		goto mov;
 	case 0xc0 ... 0xc1:
 		emulate_grp2(ctxt);
-- 
1.5.4.3



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] x86 emulator: Add opcodes 0xb9-0xbf (mov r,imm)
  2008-07-31 13:31 [PATCH] x86 emulator: Add opcodes 0xb9-0xbf (mov r,imm) Mohammed Gamal
@ 2008-08-06 15:01 ` Mohammed Gamal
  2008-08-11 11:12 ` Avi Kivity
  1 sibling, 0 replies; 3+ messages in thread
From: Mohammed Gamal @ 2008-08-06 15:01 UTC (permalink / raw)
  To: kvm; +Cc: avi, riel

On Thu, Jul 31, 2008 at 4:31 PM, Mohammed Gamal <m.gamal005@gmail.com> wrote:
> The emulator only supported opcode 0xb8 for mov r,imm. However 0xb9-0xbf
> are also mov r,imm. This patch adds support for these instructions.
>
> Signed-off-by: Mohammed Gamal <m.gamal005@gmail.com>
>
> ---
>  arch/x86/kvm/x86_emulate.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/kvm/x86_emulate.c b/arch/x86/kvm/x86_emulate.c
> index 005f1db..4c7ca7f 100644
> --- a/arch/x86/kvm/x86_emulate.c
> +++ b/arch/x86/kvm/x86_emulate.c
> @@ -156,7 +156,9 @@ static u16 opcode_table[256] = {
>        ByteOp | ImplicitOps | String, ImplicitOps | String,
>        /* 0xB0 - 0xBF */
>        0, 0, 0, 0, 0, 0, 0, 0,
> -       DstReg | SrcImm | Mov, 0, 0, 0, 0, 0, 0, 0,
> +       DstReg | SrcImm | Mov, DstReg | SrcImm | Mov, DstReg | SrcImm | Mov,
> +       DstReg | SrcImm | Mov, DstReg | SrcImm | Mov, DstReg | SrcImm | Mov,
> +       DstReg | SrcImm | Mov, DstReg | SrcImm | Mov,
>        /* 0xC0 - 0xC7 */
>        ByteOp | DstMem | SrcImm | ModRM, DstMem | SrcImmByte | ModRM,
>        0, ImplicitOps | Stack, 0, 0,
> @@ -1660,7 +1662,7 @@ special_insn:
>        case 0xae ... 0xaf:     /* scas */
>                DPRINTF("Urk! I don't handle SCAS.\n");
>                goto cannot_emulate;
> -       case 0xb8: /* mov r, imm */
> +       case 0xb8 ... 0xbf: /* mov r, imm */
>                goto mov;
>        case 0xc0 ... 0xc1:
>                emulate_grp2(ctxt);
> --
> 1.5.4.3
>
>
>

Sorry for the typo, it adds instruction opcodes (0xb8-0xbf)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] x86 emulator: Add opcodes 0xb9-0xbf (mov r,imm)
  2008-07-31 13:31 [PATCH] x86 emulator: Add opcodes 0xb9-0xbf (mov r,imm) Mohammed Gamal
  2008-08-06 15:01 ` Mohammed Gamal
@ 2008-08-11 11:12 ` Avi Kivity
  1 sibling, 0 replies; 3+ messages in thread
From: Avi Kivity @ 2008-08-11 11:12 UTC (permalink / raw)
  To: Mohammed Gamal; +Cc: kvm, riel

Mohammed Gamal wrote:
> The emulator only supported opcode 0xb8 for mov r,imm. However 0xb9-0xbf 
> are also mov r,imm. This patch adds support for these instructions.
>   

Looks good, but I'd like to merge this together with a testcase.

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-08-11 11:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-31 13:31 [PATCH] x86 emulator: Add opcodes 0xb9-0xbf (mov r,imm) Mohammed Gamal
2008-08-06 15:01 ` Mohammed Gamal
2008-08-11 11:12 ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox