<feed xmlns='http://www.w3.org/2005/Atom'>
<title>litmus2008.git/drivers/kvm, branch master</title>
<subtitle>[ARCHIVE] Old LITMUS^RT 2008 version (for reference).</subtitle>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus2008.git/'/>
<entry>
<title>KVM: SVM: Fix FPU leak while emulating clts</title>
<updated>2007-11-27T13:38:18+00:00</updated>
<author>
<name>Amit Shah</name>
<email>amit.shah@qumranet.com</email>
</author>
<published>2007-11-19T15:57:35+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus2008.git/commit/?id=404fb881b82cf0cf6981832f8d31a7484e4dee81'/>
<id>404fb881b82cf0cf6981832f8d31a7484e4dee81</id>
<content type='text'>
The clts code didn't use set_cr0 properly, so our lazy FPU
processing wasn't being done by the clts instruction at all.

(this isn't called on Intel as the hardware does the decode for us)

Signed-off-by: Amit Shah &lt;amit.shah@qumranet.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The clts code didn't use set_cr0 properly, so our lazy FPU
processing wasn't being done by the clts instruction at all.

(this isn't called on Intel as the hardware does the decode for us)

Signed-off-by: Amit Shah &lt;amit.shah@qumranet.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: SVM: Unload guest fpu on vcpu_put()</title>
<updated>2007-11-27T13:33:10+00:00</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-11-27T13:33:10+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus2008.git/commit/?id=8d379a7c069179a98616c9cac6bb2a06a500de49'/>
<id>8d379a7c069179a98616c9cac6bb2a06a500de49</id>
<content type='text'>
Not unloading the guest fpu can cause fpu leaks from guest to guest (or host
to guest).

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Not unloading the guest fpu can cause fpu leaks from guest to guest (or host
to guest).

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: x86 emulator: Use emulator_write_emulated and not emulator_write_std</title>
<updated>2007-11-27T13:28:29+00:00</updated>
<author>
<name>Amit Shah</name>
<email>amit.shah@qumranet.com</email>
</author>
<published>2007-11-18T16:55:40+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus2008.git/commit/?id=00b2ef475d4728ca53a2bc788c7978042907e354'/>
<id>00b2ef475d4728ca53a2bc788c7978042907e354</id>
<content type='text'>
emulator_write_std() is not implemented, and calling write_emulated should
work just as well in place of write_std.

Fixes emulator failures with the push r/m instruction.

Signed-off-by: Amit Shah &lt;amit.shah@qumranet.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
emulator_write_std() is not implemented, and calling write_emulated should
work just as well in place of write_std.

Fixes emulator failures with the push r/m instruction.

Signed-off-by: Amit Shah &lt;amit.shah@qumranet.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: x86 emulator: fix the saving of of the eip value</title>
<updated>2007-11-27T13:10:45+00:00</updated>
<author>
<name>Izik Eidus</name>
<email>izike@qumranet.com</email>
</author>
<published>2007-11-11T12:46:34+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus2008.git/commit/?id=2a738e20a11b44219aa83073d625ff1a7004e463'/>
<id>2a738e20a11b44219aa83073d625ff1a7004e463</id>
<content type='text'>
this make sure that no matter what is the operand size,
all the value of the eip will be saved

Signed-off-by: Izik Eidus &lt;izike@qumranet.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this make sure that no matter what is the operand size,
all the value of the eip will be saved

Signed-off-by: Izik Eidus &lt;izike@qumranet.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: x86 emulator: fix JMP_REL</title>
<updated>2007-11-27T13:08:22+00:00</updated>
<author>
<name>Izik Eidus</name>
<email>izike@qumranet.com</email>
</author>
<published>2007-11-11T12:40:48+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus2008.git/commit/?id=e826ec9ae2baf9980402e85f0bbe1dac53ceb110'/>
<id>e826ec9ae2baf9980402e85f0bbe1dac53ceb110</id>
<content type='text'>
Change JMP_REL to call to register_address_increment(): the operands size
should not effect the calculation of the eip, instead the ad_bytes should
affect it.

Signed-off-by: Izik Eidus &lt;izike@qumranet.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change JMP_REL to call to register_address_increment(): the operands size
should not effect the calculation of the eip, instead the ad_bytes should
affect it.

Signed-off-by: Izik Eidus &lt;izike@qumranet.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: SVM: Intercept the 'invd' and 'wbinvd' instructions</title>
<updated>2007-11-08T10:05:45+00:00</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-10-28T14:11:58+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus2008.git/commit/?id=cf5a94d1331b411b84414c13e43f578260942d6b'/>
<id>cf5a94d1331b411b84414c13e43f578260942d6b</id>
<content type='text'>
'invd' can destroy host data, and 'wbinvd' allows the guest to induce
long (milliseconds) latencies.

Noted by Ben Serebrin.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'invd' can destroy host data, and 'wbinvd' allows the guest to induce
long (milliseconds) latencies.

Noted by Ben Serebrin.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: x86 emulator: invd instruction</title>
<updated>2007-11-08T10:05:44+00:00</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-10-28T14:09:18+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus2008.git/commit/?id=651a3e29b3d19418d7a8a9787906061f9be7cc5f'/>
<id>651a3e29b3d19418d7a8a9787906061f9be7cc5f</id>
<content type='text'>
Emulate the 'invd' instruction (opcode 0f 08).

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Emulate the 'invd' instruction (opcode 0f 08).

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: SVM: Defer nmi processing until switch to host state is complete</title>
<updated>2007-11-08T10:05:43+00:00</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-11-07T15:14:18+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus2008.git/commit/?id=56ba47ddbd5af7918bf1acdbe3deb979d0dcd64b'/>
<id>56ba47ddbd5af7918bf1acdbe3deb979d0dcd64b</id>
<content type='text'>
If we stgi() too soon, nmis can reach the processor even though interrupts
are disabled, catching it in a half-switched state.  Delay the stgi() until
we're done switching.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we stgi() too soon, nmis can reach the processor even though interrupts
are disabled, catching it in a half-switched state.  Delay the stgi() until
we're done switching.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: SVM: Fix SMP with kernel apic</title>
<updated>2007-11-08T10:05:36+00:00</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-11-07T10:57:23+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus2008.git/commit/?id=70433389ccfe2719ef5cd539d04172260294f0f5'/>
<id>70433389ccfe2719ef5cd539d04172260294f0f5</id>
<content type='text'>
AP processor needs to reset to the SIPI vector, not normal INIT.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
AP processor needs to reset to the SIPI vector, not normal INIT.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: x86 emulator: fix 'push imm8' emulation</title>
<updated>2007-11-08T08:42:04+00:00</updated>
<author>
<name>Avi Kivity</name>
<email>avi@qumranet.com</email>
</author>
<published>2007-10-26T12:16:56+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus2008.git/commit/?id=1e35d3c4a7a9682256c887a1388cf3faefdf53df'/>
<id>1e35d3c4a7a9682256c887a1388cf3faefdf53df</id>
<content type='text'>
'push imm8' found itself in the wrong switch somehow, so it is never executed.

This fixes Windows 2003 installation.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'push imm8' found itself in the wrong switch somehow, so it is never executed.

This fixes Windows 2003 installation.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
