<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/kvm/x86_emulate.c, branch master</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=master</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2008-01-30T16:01:18Z</updated>
<entry>
<title>KVM: Move arch dependent files to new directory arch/x86/kvm/</title>
<updated>2008-01-30T16:01:18Z</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-12-16T09:02:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=edf884172e9828c6234b254208af04655855038d'/>
<id>urn:sha1:edf884172e9828c6234b254208af04655855038d</id>
<content type='text'>
This paves the way for multiple architecture support.  Note that while
ioapic.c could potentially be shared with ia64, it is also moved.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: Portability: Introduce kvm_vcpu_arch</title>
<updated>2008-01-30T15:58:09Z</updated>
<author>
<name>Zhang Xiantao</name>
<email>xiantao.zhang@intel.com</email>
</author>
<published>2007-12-13T15:50:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ad312c7c79f781c822e37effe41307503a2bb85b'/>
<id>urn:sha1:ad312c7c79f781c822e37effe41307503a2bb85b</id>
<content type='text'>
Move all the architecture-specific fields in kvm_vcpu into a new struct
kvm_vcpu_arch.

Signed-off-by: Zhang Xiantao &lt;xiantao.zhang@intel.com&gt;
Acked-by: Carsten Otte &lt;cotte@de.ibm.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86 emulator: Fix stack instructions on 64-bit mode</title>
<updated>2008-01-30T15:53:19Z</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-12-06T16:14:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6e3d5dfbad4d8c29bdf8ed160f91f955f0efc12b'/>
<id>urn:sha1:6e3d5dfbad4d8c29bdf8ed160f91f955f0efc12b</id>
<content type='text'>
Stack instructions are always 64-bit on 64-bit mode; many of the
emulated stack instructions did not take that into account.  Fix by
adding a 'Stack' bitflag and setting the operand size appropriately
during the decode stage (except for 'push r/m', which is in a group
with a few other instructions, so it gets its own treatment).

This fixes random crashes on Vista x64.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86 emulator: fix eflags preparation for emulation</title>
<updated>2008-01-30T15:53:19Z</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-12-06T14:15:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e934c9c1c8742872a53efb84966d9c1d7b8c8e24'/>
<id>urn:sha1:e934c9c1c8742872a53efb84966d9c1d7b8c8e24</id>
<content type='text'>
We prepare eflags for the emulated instruction, then clobber it with an 'andl'.
Fix by popping eflags as the last thing in the sequence.

Patch taken from Xen (16143:959b4b92b6bf)

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: Replace #GP injection by the generalized exception queue</title>
<updated>2008-01-30T15:53:18Z</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-11-25T12:12:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c1a5d4f990ce034bcb19aebbb910c07019e60f6b'/>
<id>urn:sha1:c1a5d4f990ce034bcb19aebbb910c07019e60f6b</id>
<content type='text'>
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86 emulator: unify four switch statements into two</title>
<updated>2008-01-30T15:53:16Z</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-11-27T17:30:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=018a98db74d4cc8967cfc570197b14bcbdddb579'/>
<id>urn:sha1:018a98db74d4cc8967cfc570197b14bcbdddb579</id>
<content type='text'>
Unify the special instruction switch with the regular instruction switch,
and the two byte special instruction switch with the regular two byte
instruction switch.  That makes it much easier to find an instruction or
the place an instruction needs to be added in.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86 emulator: unify two switches</title>
<updated>2008-01-30T15:53:16Z</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-11-27T17:14:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=111de5d60c589bca02b49dce076ca588618e0d1c'/>
<id>urn:sha1:111de5d60c589bca02b49dce076ca588618e0d1c</id>
<content type='text'>
The rep prefix cleanup left two switch () statements next to each other.
Unify them.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86 emulator: Move rep processing before instruction execution</title>
<updated>2008-01-30T15:53:15Z</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-11-27T17:05:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b9fa9d6bc6ac617170c4cf21ca764eb187618c0d'/>
<id>urn:sha1:b9fa9d6bc6ac617170c4cf21ca764eb187618c0d</id>
<content type='text'>
Currently rep processing is handled somewhere in the middle of instruction
processing.  Move it to a sensible place.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86 emulator: cmps instruction</title>
<updated>2008-01-30T15:53:15Z</updated>
<author>
<name>Guillaume Thouvenin</name>
<email>guillaume.thouvenin@ext.bull.net</email>
</author>
<published>2007-11-26T12:49:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d7e5117a2568f7407e98ca85155511ecfe4f0631'/>
<id>urn:sha1:d7e5117a2568f7407e98ca85155511ecfe4f0631</id>
<content type='text'>
Add emulation for the cmps instruction.  This lets OpenBSD boot on kvm.

Signed-off-by: Guillaume Thouvenin &lt;guillaume.thouvenin@ext.bull.net&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86 emulator: Rename 'cr2' to 'memop'</title>
<updated>2008-01-30T15:53:15Z</updated>
<author>
<name>Sheng Yang</name>
<email>sheng.yang@intel.com</email>
</author>
<published>2007-11-16T08:29:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e8d8d7fe8877c594c08f40cc7c013626cfe3e9cc'/>
<id>urn:sha1:e8d8d7fe8877c594c08f40cc7c013626cfe3e9cc</id>
<content type='text'>
Previous patches have removed the dependency on cr2; we can now stop passing
it to the emulator and rename uses to 'memop'.

Signed-off-by: Sheng Yang &lt;sheng.yang@intel.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
</feed>
