Hello, On 28 March 2012 19:02, Avi Kivity <avi@xxxxxxxxxx> wrote: >> > 0: 0f 2b 07 movntps %xmm0,(%edi) > 3: 0f 2b 4f 10 movntps %xmm1,0x10(%edi) > 7: 0f 2b 57 20 movntps %xmm2,0x20(%edi) > b: 0f 2b 5f 30 movntps %xmm3,0x30(%edi) > > Please try the attached patch. > The attached patch applies to Debian kernel source with way too much fuzz. They don't have IIP but DIP in there, not sure what that means. Or maybe it applies to completely different table? --- /home/hramrach/Downloads/0001-KVM-x86-emulator-implement-movntps.patch 2012-03-28 19:07:34.000000000 +0200 +++ patch 2012-03-28 19:30:27.000000000 +0200 @@ -1,22 +1,6 @@ -From 49e5d97bd85e5097c5846e239201cc71a77e32bc Mon Sep 17 00:00:00 2001 -From: Avi Kivity <avi@xxxxxxxxxx> -Date: Wed, 28 Mar 2012 18:59:48 +0200 -Subject: [PATCH] KVM: x86 emulator: implement movntps - -Used to write to framebuffers (by at least Icaros). - -Note: lacks #GP on unaligned writes. - -Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> ---- - arch/x86/kvm/emulate.c | 7 ++++++- - 1 files changed, 6 insertions(+), 1 deletions(-) - -diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c -index 8375622..11c700a 100644 ---- a/arch/x86/kvm/emulate.c -+++ b/arch/x86/kvm/emulate.c -@@ -3418,6 +3418,10 @@ static int check_perm_out(struct x86_emulate_ctxt *ctxt) +--- arch/x86/kvm/emulate.c.orig 2012-03-22 23:54:26.000000000 +0100 ++++ arch/x86/kvm/emulate.c 2012-03-28 19:29:51.000000000 +0200 +@@ -3165,6 +3165,10 @@ N, N, N, I(Sse, em_movdqu), }; @@ -27,16 +11,13 @@ static struct opcode opcode_table[256] = { /* 0x00 - 0x07 */ I6ALU(Lock, em_add), -@@ -3549,7 +3553,8 @@ static int check_perm_out(struct x86_emulate_ctxt *ctxt) - IIP(ModRM | SrcMem | Priv | Op3264, em_cr_write, cr_write, check_cr_write), - IIP(ModRM | SrcMem | Priv | Op3264, em_dr_write, dr_write, check_dr_write), +@@ -3296,7 +3300,8 @@ + DIP(ModRM | SrcMem | Priv | Op3264, cr_write, check_cr_write), + DIP(ModRM | SrcMem | Priv | Op3264, dr_write, check_dr_write), N, N, N, N, - N, N, N, N, N, N, N, N, + N, N, N, GP(ModRM | DstMem | SrcReg | Sse | Mov, &pfx_vmovntpx), + N, N, N, N, /* 0x30 - 0x3F */ - II(ImplicitOps | Priv, em_wrmsr, wrmsr), + DI(ImplicitOps | Priv, wrmsr), IIP(ImplicitOps, em_rdtsc, rdtsc, check_rdtsc), --- -1.7.9 - -- 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