Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-18 Thread Paolo Bonzini
Il 17/03/2014 18:38, H. Peter Anvin ha scritto: I'm not sure what you mean with "valid real mode selectors"; the normal case in big real mode is that either CS = SS = 0 or CS = SS = . I mean "valid according to the VMX spec" for running in vm86 mode: base = selector << 4, limit = 0x,

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-18 Thread Paolo Bonzini
Il 17/03/2014 18:38, H. Peter Anvin ha scritto: I'm not sure what you mean with valid real mode selectors; the normal case in big real mode is that either CS = SS = 0 or CS = SS = some program base address. I mean valid according to the VMX spec for running in vm86 mode: base = selector 4,

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-17 Thread H. Peter Anvin
On 03/17/2014 10:01 AM, Paolo Bonzini wrote: > the emulator). > > If CS and possibly SS are valid real mode selectors, it should be > possible to run big real mode at almost-full speed, taking exits only > for memory accesses via other segment registers. It is on my todo list, > but not very

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-17 Thread Paolo Bonzini
Il 17/03/2014 16:16, H. Peter Anvin ha scritto: After seeing the sheer number of one-off additions, I'm wondering if going through the opcode map systematically and see what is still missing might not be a bad idea. Memory access instructions always need emulation, but there aren't that

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-17 Thread H. Peter Anvin
After seeing the sheer number of one-off additions, I'm wondering if going through the opcode map systematically and see what is still missing might not be a bad idea. On March 17, 2014 2:30:43 AM PDT, Paolo Bonzini wrote: >Il 15/03/2014 23:42, H. Peter Anvin ha scritto: >> Stupid question...

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-17 Thread Paolo Bonzini
Il 15/03/2014 23:39, H. Peter Anvin ha scritto: MOVAPS, MOVAPD, and MOVDQA are the same operation. They may, architecturally, have different performance characteristics, but nothing that would affect an emulator. In fact MOVAPS and MOVAPD are implemented the same way in this patch:

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-17 Thread Paolo Bonzini
Il 15/03/2014 21:01, Igor Mammedov ha scritto: MS HCK test fails on 32-bit Windows 8.1 due to missing MOVAPS instruction emulation, this series adds it and while at it, it adds emulation of MOVAPD which is trivial to implement on top of MOVAPS. Igor Mammedov (2): KVM: x86 emulator: emulate

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-17 Thread Paolo Bonzini
Il 15/03/2014 23:42, H. Peter Anvin ha scritto: Stupid question... what instructions do NOT need emulsion in KVM? It would seem that at least anything that touches memory would? Yes, indeed. Anything that touches memory can be used on MMIO and then needs emulation. Paolo On March 15,

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-17 Thread Paolo Bonzini
Il 15/03/2014 23:42, H. Peter Anvin ha scritto: Stupid question... what instructions do NOT need emulsion in KVM? It would seem that at least anything that touches memory would? Yes, indeed. Anything that touches memory can be used on MMIO and then needs emulation. Paolo On March 15,

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-17 Thread Paolo Bonzini
Il 15/03/2014 21:01, Igor Mammedov ha scritto: MS HCK test fails on 32-bit Windows 8.1 due to missing MOVAPS instruction emulation, this series adds it and while at it, it adds emulation of MOVAPD which is trivial to implement on top of MOVAPS. Igor Mammedov (2): KVM: x86 emulator: emulate

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-17 Thread Paolo Bonzini
Il 15/03/2014 23:39, H. Peter Anvin ha scritto: MOVAPS, MOVAPD, and MOVDQA are the same operation. They may, architecturally, have different performance characteristics, but nothing that would affect an emulator. In fact MOVAPS and MOVAPD are implemented the same way in this patch:

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-17 Thread H. Peter Anvin
After seeing the sheer number of one-off additions, I'm wondering if going through the opcode map systematically and see what is still missing might not be a bad idea. On March 17, 2014 2:30:43 AM PDT, Paolo Bonzini pbonz...@redhat.com wrote: Il 15/03/2014 23:42, H. Peter Anvin ha scritto:

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-17 Thread Paolo Bonzini
Il 17/03/2014 16:16, H. Peter Anvin ha scritto: After seeing the sheer number of one-off additions, I'm wondering if going through the opcode map systematically and see what is still missing might not be a bad idea. Memory access instructions always need emulation, but there aren't that

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-17 Thread H. Peter Anvin
On 03/17/2014 10:01 AM, Paolo Bonzini wrote: the emulator). If CS and possibly SS are valid real mode selectors, it should be possible to run big real mode at almost-full speed, taking exits only for memory accesses via other segment registers. It is on my todo list, but not very high.

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-15 Thread H. Peter Anvin
Stupid question... what instructions do NOT need emulsion in KVM? It would seem that at least anything that touches memory would? On March 15, 2014 1:01:58 PM PDT, Igor Mammedov wrote: >MS HCK test fails on 32-bit Windows 8.1 due to missing MOVAPS >instruction emulation, this series adds it and

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-15 Thread H. Peter Anvin
MOVAPS, MOVAPD, and MOVDQA are the same operation. They may, architecturally, have different performance characteristics, but nothing that would affect an emulator. On March 15, 2014 1:01:58 PM PDT, Igor Mammedov wrote: >MS HCK test fails on 32-bit Windows 8.1 due to missing MOVAPS

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-15 Thread H. Peter Anvin
MOVAPS, MOVAPD, and MOVDQA are the same operation. They may, architecturally, have different performance characteristics, but nothing that would affect an emulator. On March 15, 2014 1:01:58 PM PDT, Igor Mammedov imamm...@redhat.com wrote: MS HCK test fails on 32-bit Windows 8.1 due to missing

Re: [PATCH 0/2] KVM: x86 emulator: emulate MOVAPS and MOVAPD SSE instructions

2014-03-15 Thread H. Peter Anvin
Stupid question... what instructions do NOT need emulsion in KVM? It would seem that at least anything that touches memory would? On March 15, 2014 1:01:58 PM PDT, Igor Mammedov imamm...@redhat.com wrote: MS HCK test fails on 32-bit Windows 8.1 due to missing MOVAPS instruction emulation, this