<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/kvm/kvm_main.c, branch linux-2.6.23.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.23.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.23.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2007-12-14T17:50:56Z</updated>
<entry>
<title>KVM: Skip pio instruction when it is emulated, not executed</title>
<updated>2007-12-14T17:50:56Z</updated>
<author>
<name>Avi Kivity</name>
</author>
<published>2007-12-02T11:18:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e86704982a2c88a3bb2d4571de928928d5f9e574'/>
<id>urn:sha1:e86704982a2c88a3bb2d4571de928928d5f9e574</id>
<content type='text'>
patch 0967b7bf1c22b55777aba46ff616547feed0b141 in mainline.

If we defer updating rip until pio instructions are executed, we have a
problem with reset:  a pio reset updates rip, and when the instruction
completes we skip the emulated instruction, pointing rip somewhere completely
unrelated.

Fix by updating rip when we see decode the instruction, not after emulation.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>KVM: SVM: Fix FPU leak while emulating clts</title>
<updated>2007-12-14T17:50:56Z</updated>
<author>
<name>Amit Shah</name>
</author>
<published>2007-12-02T11:18:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c5c1366253addd6691d620f18f7e660c4e11b08d'/>
<id>urn:sha1:c5c1366253addd6691d620f18f7e660c4e11b08d</id>
<content type='text'>
patch 404fb881b82cf0cf6981832f8d31a7484e4dee81 in mainline.

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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>KVM: Fix hang on uniprocessor</title>
<updated>2007-12-14T17:50:56Z</updated>
<author>
<name>Marko Kohtala</name>
</author>
<published>2007-12-02T11:18:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=86a1b7f0192d2f66a302a681fd76ce701f711953'/>
<id>urn:sha1:86a1b7f0192d2f66a302a681fd76ce701f711953</id>
<content type='text'>
This is not in mainline, as it was fixed differently in that tree.

first_cpu(cpus) returns the only CPU when NR_CPUS is 1 regardless of
the cpus mask. Therefore we avoid a kernel hang in
KVM_SET_MEMORY_REGION ioctl on uniprocessor by not entering the loop at
all.

Signed-off-by: Marko Kohtala &lt;marko.kohtala@gmail.com&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>KVM: Avoid calling smp_call_function_single() with interrupts disabled</title>
<updated>2007-08-19T17:13:49Z</updated>
<author>
<name>Avi Kivity</name>
</author>
<published>2007-08-19T12:57:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6ec8a856e4097d42ece9b0b9459bbca1586f13d7'/>
<id>urn:sha1:6ec8a856e4097d42ece9b0b9459bbca1586f13d7</id>
<content type='text'>
When taking a cpu down, we need to hardware_disable() it.
Unfortunately, the CPU_DYING notifier is called with interrupts
disabled, which means we can't use smp_call_function_single().

Fortunately, the CPU_DYING notifier is always called on the dying cpu,
so we don't need to use the function at all and can simply call
hardware_disable() directly.

Tested-by: Paolo Ornati &lt;ornati@fastwebnet.it&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>KVM: Fix removal of nx capability from guest cpuid</title>
<updated>2007-07-25T11:31:13Z</updated>
<author>
<name>Avi Kivity</name>
</author>
<published>2007-07-25T06:22:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4c981b43d7ec18818754bf85b829865abd0ce340'/>
<id>urn:sha1:4c981b43d7ec18818754bf85b829865abd0ce340</id>
<content type='text'>
Testing the wrong bit caused kvm not to disable nx on the guest when it is
disabled on the host (an mmu optimization relies on the nx bits being the
same in the guest and host).

This allows Windows to boot when nx is disabled on te host (e.g. when
host pae is disabled).

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>Revert "KVM: Avoid useless memory write when possible"</title>
<updated>2007-07-25T11:30:56Z</updated>
<author>
<name>Avi Kivity</name>
</author>
<published>2007-07-23T15:33:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7cfa4b0a43286b1da3afa4f5f99d52e65a8f30fc'/>
<id>urn:sha1:7cfa4b0a43286b1da3afa4f5f99d52e65a8f30fc</id>
<content type='text'>
This reverts commit a3c870bdce4d34332ebdba7eb9969592c4c6b243.  While it
does save useless updates, it (probably) defeats the fork detector, causing
a massive performance loss.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: Fix unlikely kvm_create vs decache_vcpus_on_cpu race</title>
<updated>2007-07-25T11:29:34Z</updated>
<author>
<name>Rusty Russell</name>
</author>
<published>2007-07-23T07:08:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5e58cfe41c7e5902c32bb7f62993d43fb4c48ccf'/>
<id>urn:sha1:5e58cfe41c7e5902c32bb7f62993d43fb4c48ccf</id>
<content type='text'>
We add the kvm to the vm_list before initializing the vcpu mutexes,
which can be mutex_trylock()'ed by decache_vcpus_on_cpu().

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: Correctly handle writes crossing a page boundary</title>
<updated>2007-07-25T11:29:17Z</updated>
<author>
<name>Avi Kivity</name>
</author>
<published>2007-07-22T15:48:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b0fcd903e6f3f47189baddf3fe085bdf78c9644c'/>
<id>urn:sha1:b0fcd903e6f3f47189baddf3fe085bdf78c9644c</id>
<content type='text'>
Writes that are contiguous in virtual memory may not be contiguous in
physical memory; so split writes that straddle a page boundary.

Thanks to Aurelien for reporting the bug, patient testing, and a fix
to this very patch.

Signed-off-by: Aurelien Jarno &lt;aurelien@aurel32.net&gt;
Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: x86 emulator: implement rdmsr and wrmsr</title>
<updated>2007-07-20T17:16:29Z</updated>
<author>
<name>Avi Kivity</name>
</author>
<published>2007-07-17T11:20:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=35f3f28613bc7263949db23a4c7078e425810c8c'/>
<id>urn:sha1:35f3f28613bc7263949db23a4c7078e425810c8c</id>
<content type='text'>
Allow real-mode emulation of rdmsr and wrmsr.  This allows smp Windows to
boot, presumably for its sipi trampoline.

Signed-off-by: Avi Kivity &lt;avi@qumranet.com&gt;
</content>
</entry>
<entry>
<title>KVM: Fix memory slot management functions for guest smp</title>
<updated>2007-07-20T17:16:29Z</updated>
<author>
<name>Avi Kivity</name>
</author>
<published>2007-07-17T10:04:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=90cb0529dd230548a7f0d6b315997be854caea1b'/>
<id>urn:sha1:90cb0529dd230548a7f0d6b315997be854caea1b</id>
<content type='text'>
The memory slot management functions were oriented against vcpu 0, where
they should be kvm-wide.  This causes hangs starting X on guest smp.

Fix by making the functions (and resultant tail in the mmu) non-vcpu-specific.
Unfortunately this reduces the efficiency of the mmu object cache a bit.  We
may have to revisit this later.

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