Re: [PATCH] x86 emulator: Add stc instruction (opcode 0xf9)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 05, 2010 at 03:42:49PM +0300, Mohammed Gamal wrote:
> Signed-off-by: Mohammed Gamal <m.gamal005@xxxxxxxxx>
> ---
>  arch/x86/kvm/emulate.c |    6 +++++-
>  1 files changed, 5 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
> index f0f4a43..f345df0 100644
> --- a/arch/x86/kvm/emulate.c
> +++ b/arch/x86/kvm/emulate.c
> @@ -2269,7 +2269,7 @@ static struct opcode opcode_table[256] = {
>  	N, N, N, N,
>  	D(ImplicitOps | Priv), D(ImplicitOps), G(ByteOp, group3), G(0, group3),
>  	/* 0xF8 - 0xFF */
> -	D(ImplicitOps), N, D(ImplicitOps), D(ImplicitOps),
> +	D(ImplicitOps), D(ImplicitOps), D(ImplicitOps), D(ImplicitOps),
>  	D(ImplicitOps), D(ImplicitOps), G(0, group4), G(0, group5),
>  };
>  
> @@ -3129,6 +3129,10 @@ special_insn:
>  		ctxt->eflags &= ~EFLG_CF;
>  		c->dst.type = OP_NONE;	/* Disable writeback. */
>  		break;
> +	case 0xf9: /* stc */
> +		ctxt->eflags |= EFLG_CF;
> +		c->dst.type = OP_NONE;	/* Disable writeback */
With "disable writeback when decode dest operand" patch (which should be
applied already) this is no longer needed.

> +		break;
>  	case 0xfa: /* cli */
>  		if (emulator_bad_iopl(ctxt, ops)) {
>  			emulate_gp(ctxt, 0);
> -- 
> 1.7.0.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
			Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux