* [PATCH] KVM: x86 emulator: implement 'movnti mem, reg'
@ 2007-10-15 9:20 Yang, Sheng
[not found] ` <DB3BD37E3533EE46BED2FBA80995557F97021F-wq7ZOvIWXbM/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Yang, Sheng @ 2007-10-15 9:20 UTC (permalink / raw)
To: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
[-- Attachment #1: Type: text/plain, Size: 1467 bytes --]
>From 1b7892787f1b619a52e52275cf41248f1131d1b6 Mon Sep 17 00:00:00 2001
From: Sheng Yang <sheng.yang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Date: Mon, 15 Oct 2007 14:24:20 +0800
Subject: [PATCH] KVM: x86 emulator: implement 'movnti mem, reg'
Implement emulation of instruction:
movnti m32/m64, r32/r64
opcode: 0x0f 0xc3
Signed-off-by: Sheng Yang <sheng.yang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
drivers/kvm/x86_emulate.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c
index fa33fcd..e974ace 100644
--- a/drivers/kvm/x86_emulate.c
+++ b/drivers/kvm/x86_emulate.c
@@ -212,7 +212,8 @@ static u16 twobyte_table[256] = {
0, 0, ByteOp | DstReg | SrcMem | ModRM | Mov,
DstReg | SrcMem16 | ModRM | Mov,
/* 0xC0 - 0xCF */
- 0, 0, 0, 0, 0, 0, 0, ImplicitOps | ModRM, 0, 0, 0, 0, 0, 0, 0,
0,
+ 0, 0, 0, DstMem | SrcReg | ModRM | Mov, 0, 0, 0, ImplicitOps |
ModRM,
+ 0, 0, 0, 0, 0, 0, 0, 0,
/* 0xD0 - 0xDF */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0xE0 - 0xEF */
@@ -1686,6 +1687,11 @@ twobyte_insn:
c->dst.val = (c->d & ByteOp) ? (s8) c->src.val :
(s16)
c->src.val;
break;
+ case 0xc3: /* movnti */
+ c->dst.bytes = c->op_bytes;
+ c->dst.val = (c->op_bytes == 4) ? (u32) c->src.val :
+ (u64)
c->src.val;
+ break;
}
goto writeback;
--
1.5.2
Thanks
Yang, Sheng
[-- Attachment #2: 0001-KVM-x86-emulator-implement-movnti-mem-reg.patch --]
[-- Type: application/octet-stream, Size: 1336 bytes --]
From 1b7892787f1b619a52e52275cf41248f1131d1b6 Mon Sep 17 00:00:00 2001
From: Sheng Yang <sheng.yang@intel.com>
Date: Mon, 15 Oct 2007 14:24:20 +0800
Subject: [PATCH] KVM: x86 emulator: implement 'movnti mem, reg'
Implement emulation of instruction:
movnti m32/m64, r32/r64
opcode: 0x0f 0xc3
Signed-off-by: Sheng Yang <sheng.yang@intel.com>
---
drivers/kvm/x86_emulate.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c
index fa33fcd..e974ace 100644
--- a/drivers/kvm/x86_emulate.c
+++ b/drivers/kvm/x86_emulate.c
@@ -212,7 +212,8 @@ static u16 twobyte_table[256] = {
0, 0, ByteOp | DstReg | SrcMem | ModRM | Mov,
DstReg | SrcMem16 | ModRM | Mov,
/* 0xC0 - 0xCF */
- 0, 0, 0, 0, 0, 0, 0, ImplicitOps | ModRM, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, DstMem | SrcReg | ModRM | Mov, 0, 0, 0, ImplicitOps | ModRM,
+ 0, 0, 0, 0, 0, 0, 0, 0,
/* 0xD0 - 0xDF */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0xE0 - 0xEF */
@@ -1686,6 +1687,11 @@ twobyte_insn:
c->dst.val = (c->d & ByteOp) ? (s8) c->src.val :
(s16) c->src.val;
break;
+ case 0xc3: /* movnti */
+ c->dst.bytes = c->op_bytes;
+ c->dst.val = (c->op_bytes == 4) ? (u32) c->src.val :
+ (u64) c->src.val;
+ break;
}
goto writeback;
--
1.5.2
[-- Attachment #3: Type: text/plain, Size: 314 bytes --]
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
[-- Attachment #4: Type: text/plain, Size: 186 bytes --]
_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/kvm-devel
^ permalink raw reply related [flat|nested] 5+ messages in thread[parent not found: <DB3BD37E3533EE46BED2FBA80995557F97021F-wq7ZOvIWXbM/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>]
* Re: [PATCH] KVM: x86 emulator: implement 'movnti mem, reg' [not found] ` <DB3BD37E3533EE46BED2FBA80995557F97021F-wq7ZOvIWXbM/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org> @ 2007-10-15 9:38 ` Avi Kivity [not found] ` <47133500.2000408-atKUWr5tajBWk0Htik3J/w@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Avi Kivity @ 2007-10-15 9:38 UTC (permalink / raw) To: Yang, Sheng; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Yang, Sheng wrote: > >From 1b7892787f1b619a52e52275cf41248f1131d1b6 Mon Sep 17 00:00:00 2001 > From: Sheng Yang <sheng.yang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > Date: Mon, 15 Oct 2007 14:24:20 +0800 > Subject: [PATCH] KVM: x86 emulator: implement 'movnti mem, reg' > > Implement emulation of instruction: > movnti m32/m64, r32/r64 > opcode: 0x0f 0xc3 > Applied, thanks. I vaguely remember something about a guest hitting this... which one is it? I'll push this for 2.6.24 if it's a real life issue. -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <47133500.2000408-atKUWr5tajBWk0Htik3J/w@public.gmane.org>]
* Re: [PATCH] KVM: x86 emulator: implement 'movnti mem, reg' [not found] ` <47133500.2000408-atKUWr5tajBWk0Htik3J/w@public.gmane.org> @ 2007-10-15 9:43 ` Yang, Sheng [not found] ` <DB3BD37E3533EE46BED2FBA80995557F970230-wq7ZOvIWXbM/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Yang, Sheng @ 2007-10-15 9:43 UTC (permalink / raw) To: Avi Kivity; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Yeah :) Linux guest 2.6.16 x86_64 crashed when trying to get IP, for this 'movnti' haven't been implement yet. Avi Kivity wrote: > Yang, Sheng wrote: >>> From 1b7892787f1b619a52e52275cf41248f1131d1b6 Mon Sep 17 00:00:00 2001 >> From: Sheng Yang <sheng.yang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> >> Date: Mon, 15 Oct 2007 14:24:20 +0800 >> Subject: [PATCH] KVM: x86 emulator: implement 'movnti mem, reg' >> >> Implement emulation of instruction: >> movnti m32/m64, r32/r64 >> opcode: 0x0f 0xc3 >> > > Applied, thanks. > > I vaguely remember something about a guest hitting this... which one is it? > > I'll push this for 2.6.24 if it's a real life issue. Thanks Yang, Sheng ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <DB3BD37E3533EE46BED2FBA80995557F970230-wq7ZOvIWXbM/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>]
* Re: [PATCH] KVM: x86 emulator: implement 'movnti mem, reg' [not found] ` <DB3BD37E3533EE46BED2FBA80995557F970230-wq7ZOvIWXbM/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org> @ 2007-10-15 9:44 ` Avi Kivity [not found] ` <47133685.20609-atKUWr5tajBWk0Htik3J/w@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Avi Kivity @ 2007-10-15 9:44 UTC (permalink / raw) To: Yang, Sheng; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Yang, Sheng wrote: > Yeah :) > > Linux guest 2.6.16 x86_64 crashed when trying to get IP, for this > 'movnti' haven't been implement yet. > > So, it was using movnti for mmio into the nic registers? > Avi Kivity wrote: > >> Yang, Sheng wrote: >> >>>> From 1b7892787f1b619a52e52275cf41248f1131d1b6 Mon Sep 17 00:00:00 >>>> > 2001 > >>> From: Sheng Yang <sheng.yang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> >>> Date: Mon, 15 Oct 2007 14:24:20 +0800 >>> Subject: [PATCH] KVM: x86 emulator: implement 'movnti mem, reg' >>> >>> Implement emulation of instruction: >>> movnti m32/m64, r32/r64 >>> opcode: 0x0f 0xc3 >>> >>> >> Applied, thanks. >> >> I vaguely remember something about a guest hitting this... which one >> > is it? > >> I'll push this for 2.6.24 if it's a real life issue. >> > > Thanks > Yang, Sheng > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > kvm-devel mailing list > kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > https://lists.sourceforge.net/lists/listinfo/kvm-devel > -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <47133685.20609-atKUWr5tajBWk0Htik3J/w@public.gmane.org>]
* Re: [PATCH] KVM: x86 emulator: implement 'movnti mem, reg' [not found] ` <47133685.20609-atKUWr5tajBWk0Htik3J/w@public.gmane.org> @ 2007-10-15 9:53 ` Yang, Sheng 0 siblings, 0 replies; 5+ messages in thread From: Yang, Sheng @ 2007-10-15 9:53 UTC (permalink / raw) To: Avi Kivity; +Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Avi Kivity wrote: > Yang, Sheng wrote: >> Yeah :) >> >> Linux guest 2.6.16 x86_64 crashed when trying to get IP, for this >> 'movnti' haven't been implement yet. >> >> > > So, it was using movnti for mmio into the nic registers? Yeah, it's a mmio operation. > > >> Avi Kivity wrote: >> >>> Yang, Sheng wrote: >>> >>>>> From 1b7892787f1b619a52e52275cf41248f1131d1b6 Mon Sep 17 00:00:00 >>>>> >> 2001 >> >>>> From: Sheng Yang <sheng.yang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> >>>> Date: Mon, 15 Oct 2007 14:24:20 +0800 >>>> Subject: [PATCH] KVM: x86 emulator: implement 'movnti mem, reg' >>>> >>>> Implement emulation of instruction: >>>> movnti m32/m64, r32/r64 >>>> opcode: 0x0f 0xc3 >>>> >>>> >>> Applied, thanks. >>> >>> I vaguely remember something about a guest hitting this... which one >>> >> is it? >> >>> I'll push this for 2.6.24 if it's a real life issue. >>> >> >> Thanks >> Yang, Sheng >> >> ------------------------------------------------------------------------ - >> This SF.net email is sponsored by: Splunk Inc. >> Still grepping through log files to find problems? Stop. >> Now Search log events and configuration files using AJAX and a browser. >> Download your FREE copy of Splunk now >> http://get.splunk.com/ >> _______________________________________________ >> kvm-devel mailing list >> kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org >> https://lists.sourceforge.net/lists/listinfo/kvm-devel Thanks Yang, Sheng ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-10-15 9:53 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-15 9:20 [PATCH] KVM: x86 emulator: implement 'movnti mem, reg' Yang, Sheng
[not found] ` <DB3BD37E3533EE46BED2FBA80995557F97021F-wq7ZOvIWXbM/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-10-15 9:38 ` Avi Kivity
[not found] ` <47133500.2000408-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-15 9:43 ` Yang, Sheng
[not found] ` <DB3BD37E3533EE46BED2FBA80995557F970230-wq7ZOvIWXbM/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-10-15 9:44 ` Avi Kivity
[not found] ` <47133685.20609-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-15 9:53 ` Yang, Sheng
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox