<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/virt, branch v3.1.1</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/virt?h=v3.1.1</id>
<link rel='self' href='https://git.amat.us/linux/atom/virt?h=v3.1.1'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-07-24T08:50:42Z</updated>
<entry>
<title>KVM: IOMMU: Disable device assignment without interrupt remapping</title>
<updated>2011-07-24T08:50:42Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2011-07-14T19:27:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3f68b0318bbbd61bf08478ab99a149f0d9e5156e'/>
<id>urn:sha1:3f68b0318bbbd61bf08478ab99a149f0d9e5156e</id>
<content type='text'>
IOMMU interrupt remapping support provides a further layer of
isolation for device assignment by preventing arbitrary interrupt
block DMA writes by a malicious guest from reaching the host.  By
default, we should require that the platform provides interrupt
remapping support, with an opt-in mechanism for existing behavior.

Both AMD IOMMU and Intel VT-d2 hardware support interrupt
remapping, however we currently only have software support on
the Intel side.  Users wishing to re-enable device assignment
when interrupt remapping is not supported on the platform can
use the "allow_unsafe_assigned_interrupts=1" module option.

[avi: break long lines]

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: MMU: mmio page fault support</title>
<updated>2011-07-24T08:50:40Z</updated>
<author>
<name>Xiao Guangrong</name>
<email>xiaoguangrong@cn.fujitsu.com</email>
</author>
<published>2011-07-11T19:33:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ce88decffd17bf9f373cc233c961ad2054965667'/>
<id>urn:sha1:ce88decffd17bf9f373cc233c961ad2054965667</id>
<content type='text'>
The idea is from Avi:

| We could cache the result of a miss in an spte by using a reserved bit, and
| checking the page fault error code (or seeing if we get an ept violation or
| ept misconfiguration), so if we get repeated mmio on a page, we don't need to
| search the slot list/tree.
| (https://lkml.org/lkml/2011/2/22/221)

When the page fault is caused by mmio, we cache the info in the shadow page
table, and also set the reserved bits in the shadow page table, so if the mmio
is caused again, we can quickly identify it and emulate it directly

Searching mmio gfn in memslots is heavy since we need to walk all memeslots, it
can be reduced by this feature, and also avoid walking guest page table for
soft mmu.

[jan: fix operator precedence issue]

Signed-off-by: Xiao Guangrong &lt;xiaoguangrong@cn.fujitsu.com&gt;
Signed-off-by: Jan Kiszka &lt;jan.kiszka@siemens.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: MMU: filter out the mmio pfn from the fault pfn</title>
<updated>2011-07-24T08:50:34Z</updated>
<author>
<name>Xiao Guangrong</name>
<email>xiaoguangrong@cn.fujitsu.com</email>
</author>
<published>2011-07-11T19:28:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fce92dce79dbf5fff39c7ac2fb149729d79b7a39'/>
<id>urn:sha1:fce92dce79dbf5fff39c7ac2fb149729d79b7a39</id>
<content type='text'>
If the page fault is caused by mmio, the gfn can not be found in memslots, and
'bad_pfn' is returned on gfn_to_hva path, so we can use 'bad_pfn' to identify
the mmio page fault.
And, to clarify the meaning of mmio pfn, we return fault page instead of bad
page when the gfn is not allowd to prefetch

Signed-off-by: Xiao Guangrong &lt;xiaoguangrong@cn.fujitsu.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: introduce kvm_read_guest_cached</title>
<updated>2011-07-12T10:17:01Z</updated>
<author>
<name>Gleb Natapov</name>
<email>gleb@redhat.com</email>
</author>
<published>2011-07-11T19:28:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e03b644fe68b1c6401465b02724d261538dba10f'/>
<id>urn:sha1:e03b644fe68b1c6401465b02724d261538dba10f</id>
<content type='text'>
Introduce kvm_read_guest_cached() function in addition to write one we
already have.

[ by glauber: export function signature in kvm header ]

Signed-off-by: Gleb Natapov &lt;gleb@redhat.com&gt;
Signed-off-by: Glauber Costa &lt;glommer@redhat.com&gt;
Acked-by: Rik van Riel &lt;riel@redhat.com&gt;
Tested-by: Eric Munson &lt;emunson@mgebm.net&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Fix off-by-one in overflow check of KVM_ASSIGN_SET_MSIX_NR</title>
<updated>2011-07-12T10:16:18Z</updated>
<author>
<name>Jan Kiszka</name>
<email>jan.kiszka@siemens.com</email>
</author>
<published>2011-06-11T10:23:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9f3191aec595ef9f3c80bc96664fd7aef57ef5be'/>
<id>urn:sha1:9f3191aec595ef9f3c80bc96664fd7aef57ef5be</id>
<content type='text'>
KVM_MAX_MSIX_PER_DEV implies that up to that many MSI-X entries can be
requested. But the kernel so far rejected already the upper limit.

Signed-off-by: Jan Kiszka &lt;jan.kiszka@siemens.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Add compat ioctl for KVM_SET_SIGNAL_MASK</title>
<updated>2011-07-12T10:16:17Z</updated>
<author>
<name>Alexander Graf</name>
<email>agraf@suse.de</email>
</author>
<published>2011-06-08T00:45:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1dda606c5f94b14a8f36c220d1d8844bab68a720'/>
<id>urn:sha1:1dda606c5f94b14a8f36c220d1d8844bab68a720</id>
<content type='text'>
KVM has an ioctl to define which signal mask should be used while running
inside VCPU_RUN. At least for big endian systems, this mask is different
on 32-bit and 64-bit systems (though the size is identical).

Add a compat wrapper that converts the mask to whatever the kernel accepts,
allowing 32-bit kvm user space to set signal masks.

This patch fixes qemu with --enable-io-thread on ppc64 hosts when running
32-bit user land.

Signed-off-by: Alexander Graf &lt;agraf@suse.de&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: Clean up error handling during VCPU creation</title>
<updated>2011-07-12T08:45:08Z</updated>
<author>
<name>Jan Kiszka</name>
<email>jan.kiszka@siemens.com</email>
</author>
<published>2011-05-23T08:33:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d780592b99d7d8a5ff905f6bacca519d4a342c76'/>
<id>urn:sha1:d780592b99d7d8a5ff905f6bacca519d4a342c76</id>
<content type='text'>
So far kvm_arch_vcpu_setup is responsible for freeing the vcpu struct if
it fails. Move this confusing resonsibility back into the hands of
kvm_vm_ioctl_create_vcpu. Only kvm_arch_vcpu_setup of x86 is affected,
all other archs cannot fail.

Signed-off-by: Jan Kiszka &lt;jan.kiszka@siemens.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: use __copy_to_user/__clear_user to write guest page</title>
<updated>2011-07-12T08:45:03Z</updated>
<author>
<name>Xiao Guangrong</name>
<email>xiaoguangrong@cn.fujitsu.com</email>
</author>
<published>2011-05-15T15:22:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8b0cedff040b652f3d36b1368778667581b0c140'/>
<id>urn:sha1:8b0cedff040b652f3d36b1368778667581b0c140</id>
<content type='text'>
Simply use __copy_to_user/__clear_user to write guest page since we have
already verified the user address when the memslot is set

Signed-off-by: Xiao Guangrong &lt;xiaoguangrong@cn.fujitsu.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'kvm-updates/3.0' of git://git.kernel.org/pub/scm/virt/kvm/kvm</title>
<updated>2011-06-08T02:06:28Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-06-08T02:06:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=58a9a36b5444cbd921cdfc8ddd344d9983cc2c7b'/>
<id>urn:sha1:58a9a36b5444cbd921cdfc8ddd344d9983cc2c7b</id>
<content type='text'>
* 'kvm-updates/3.0' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: Initialize kvm before registering the mmu notifier
  KVM: x86: use proper port value when checking io instruction permission
  KVM: add missing void __user * cast to access_ok() call
</content>
</entry>
<entry>
<title>KVM: Initialize kvm before registering the mmu notifier</title>
<updated>2011-06-06T08:27:52Z</updated>
<author>
<name>Mike Waychison</name>
<email>mikew@google.com</email>
</author>
<published>2011-06-03T20:04:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=74b5c5bfff429f464c38dd49af41d75cf0e7dc26'/>
<id>urn:sha1:74b5c5bfff429f464c38dd49af41d75cf0e7dc26</id>
<content type='text'>
It doesn't make sense to ever see a half-initialized kvm structure on
mmu notifier callbacks.  Previously, 85722cda changed the ordering to
ensure that the mmu_lock was initialized before mmu notifier
registration, but there is still a race where the mmu notifier could
come in and try accessing other portions of struct kvm before they are
intialized.

Solve this by moving the mmu notifier registration to occur after the
structure is completely initialized.

Google-Bug-Id: 452199
Signed-off-by: Mike Waychison &lt;mikew@google.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
</entry>
</feed>
