<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/virt/kvm/iommu.c, branch v3.0.98</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>KVM: unmap pages from the iommu when slots are removed</title>
<updated>2012-05-07T15:56:35+00:00</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2012-04-27T21:54:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a674bcab9066a2b2541d8276f5e9ff86f50ce13e'/>
<id>a674bcab9066a2b2541d8276f5e9ff86f50ce13e</id>
<content type='text'>
commit 32f6daad4651a748a58a3ab6da0611862175722f upstream.

We've been adding new mappings, but not destroying old mappings.
This can lead to a page leak as pages are pinned using
get_user_pages, but only unpinned with put_page if they still
exist in the memslots list on vm shutdown.  A memslot that is
destroyed while an iommu domain is enabled for the guest will
therefore result in an elevated page reference count that is
never cleared.

Additionally, without this fix, the iommu is only programmed
with the first translation for a gpa.  This can result in
peer-to-peer errors if a mapping is destroyed and replaced by a
new mapping at the same gpa as the iommu will still be pointing
to the original, pinned memory address.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 32f6daad4651a748a58a3ab6da0611862175722f upstream.

We've been adding new mappings, but not destroying old mappings.
This can lead to a page leak as pages are pinned using
get_user_pages, but only unpinned with put_page if they still
exist in the memslots list on vm shutdown.  A memslot that is
destroyed while an iommu domain is enabled for the guest will
therefore result in an elevated page reference count that is
never cleared.

Additionally, without this fix, the iommu is only programmed
with the first translation for a gpa.  This can result in
peer-to-peer errors if a mapping is destroyed and replaced by a
new mapping at the same gpa as the iommu will still be pointing
to the original, pinned memory address.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: Use u64 for frame data types</title>
<updated>2010-08-02T03:39:44+00:00</updated>
<author>
<name>Joerg Roedel</name>
<email>joerg.roedel@amd.com</email>
</author>
<published>2010-07-01T14:00:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5689cc53fa9d09b5bf41b1b1a7c90bd6c112ab40'/>
<id>5689cc53fa9d09b5bf41b1b1a7c90bd6c112ab40</id>
<content type='text'>
For 32bit machines where the physical address width is
larger than the virtual address width the frame number types
in KVM may overflow. Fix this by changing them to u64.

[sfr: fix build on 32-bit ppc]

Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Signed-off-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For 32bit machines where the physical address width is
larger than the virtual address width the frame number types
in KVM may overflow. Fix this by changing them to u64.

[sfr: fix build on 32-bit ppc]

Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Signed-off-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: Fix IOMMU memslot reference warning</title>
<updated>2010-08-01T07:47:29+00:00</updated>
<author>
<name>Sheng Yang</name>
<email>sheng@linux.intel.com</email>
</author>
<published>2010-07-01T07:00:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=95c87e2b4460a488ec7ce42f273893e410ab385a'/>
<id>95c87e2b4460a488ec7ce42f273893e410ab385a</id>
<content type='text'>
This patch fixes the following warning.

===================================================
[ INFO: suspicious rcu_dereference_check() usage. ]
---------------------------------------------------
include/linux/kvm_host.h:259 invoked rcu_dereference_check() without
protection!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 0
no locks held by qemu-system-x86/29679.

stack backtrace:
Pid: 29679, comm: qemu-system-x86 Not tainted 2.6.35-rc3+ #200
Call Trace:
 [&lt;ffffffff810a224e&gt;] lockdep_rcu_dereference+0xa8/0xb1
 [&lt;ffffffffa018a06f&gt;] kvm_iommu_unmap_memslots+0xc9/0xde [kvm]
 [&lt;ffffffffa018a0c4&gt;] kvm_iommu_unmap_guest+0x40/0x4e [kvm]
 [&lt;ffffffffa018f772&gt;] kvm_arch_destroy_vm+0x1a/0x186 [kvm]
 [&lt;ffffffffa01800d0&gt;] kvm_put_kvm+0x110/0x167 [kvm]
 [&lt;ffffffffa0180ecc&gt;] kvm_vcpu_release+0x18/0x1c [kvm]
 [&lt;ffffffff81156f5d&gt;] fput+0x22a/0x3a0
 [&lt;ffffffff81152288&gt;] filp_close+0xb4/0xcd
 [&lt;ffffffff8106599f&gt;] put_files_struct+0x1b7/0x36b
 [&lt;ffffffff81065830&gt;] ? put_files_struct+0x48/0x36b
 [&lt;ffffffff8131ee59&gt;] ? do_raw_spin_unlock+0x118/0x160
 [&lt;ffffffff81065bc0&gt;] exit_files+0x6d/0x75
 [&lt;ffffffff81068348&gt;] do_exit+0x47d/0xc60
 [&lt;ffffffff8177e7b5&gt;] ? _raw_spin_unlock_irq+0x30/0x36
 [&lt;ffffffff81068bfa&gt;] do_group_exit+0xcf/0x134
 [&lt;ffffffff81080790&gt;] get_signal_to_deliver+0x732/0x81d
 [&lt;ffffffff81095996&gt;] ? cpu_clock+0x4e/0x60
 [&lt;ffffffff81002082&gt;] do_notify_resume+0x117/0xc43
 [&lt;ffffffff810a2fa3&gt;] ? trace_hardirqs_on+0xd/0xf
 [&lt;ffffffff81080d79&gt;] ? sys_rt_sigtimedwait+0x2b5/0x3bf
 [&lt;ffffffff8177d9f2&gt;] ? trace_hardirqs_off_thunk+0x3a/0x3c
 [&lt;ffffffff81003221&gt;] ? sysret_signal+0x5/0x3d
 [&lt;ffffffff8100343b&gt;] int_signal+0x12/0x17

Signed-off-by: Sheng Yang &lt;sheng@linux.intel.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes the following warning.

===================================================
[ INFO: suspicious rcu_dereference_check() usage. ]
---------------------------------------------------
include/linux/kvm_host.h:259 invoked rcu_dereference_check() without
protection!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 0
no locks held by qemu-system-x86/29679.

stack backtrace:
Pid: 29679, comm: qemu-system-x86 Not tainted 2.6.35-rc3+ #200
Call Trace:
 [&lt;ffffffff810a224e&gt;] lockdep_rcu_dereference+0xa8/0xb1
 [&lt;ffffffffa018a06f&gt;] kvm_iommu_unmap_memslots+0xc9/0xde [kvm]
 [&lt;ffffffffa018a0c4&gt;] kvm_iommu_unmap_guest+0x40/0x4e [kvm]
 [&lt;ffffffffa018f772&gt;] kvm_arch_destroy_vm+0x1a/0x186 [kvm]
 [&lt;ffffffffa01800d0&gt;] kvm_put_kvm+0x110/0x167 [kvm]
 [&lt;ffffffffa0180ecc&gt;] kvm_vcpu_release+0x18/0x1c [kvm]
 [&lt;ffffffff81156f5d&gt;] fput+0x22a/0x3a0
 [&lt;ffffffff81152288&gt;] filp_close+0xb4/0xcd
 [&lt;ffffffff8106599f&gt;] put_files_struct+0x1b7/0x36b
 [&lt;ffffffff81065830&gt;] ? put_files_struct+0x48/0x36b
 [&lt;ffffffff8131ee59&gt;] ? do_raw_spin_unlock+0x118/0x160
 [&lt;ffffffff81065bc0&gt;] exit_files+0x6d/0x75
 [&lt;ffffffff81068348&gt;] do_exit+0x47d/0xc60
 [&lt;ffffffff8177e7b5&gt;] ? _raw_spin_unlock_irq+0x30/0x36
 [&lt;ffffffff81068bfa&gt;] do_group_exit+0xcf/0x134
 [&lt;ffffffff81080790&gt;] get_signal_to_deliver+0x732/0x81d
 [&lt;ffffffff81095996&gt;] ? cpu_clock+0x4e/0x60
 [&lt;ffffffff81002082&gt;] do_notify_resume+0x117/0xc43
 [&lt;ffffffff810a2fa3&gt;] ? trace_hardirqs_on+0xd/0xf
 [&lt;ffffffff81080d79&gt;] ? sys_rt_sigtimedwait+0x2b5/0x3bf
 [&lt;ffffffff8177d9f2&gt;] ? trace_hardirqs_off_thunk+0x3a/0x3c
 [&lt;ffffffff81003221&gt;] ? sysret_signal+0x5/0x3d
 [&lt;ffffffff8100343b&gt;] int_signal+0x12/0x17

Signed-off-by: Sheng Yang &lt;sheng@linux.intel.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: Update Red Hat copyrights</title>
<updated>2010-08-01T07:35:51+00:00</updated>
<author>
<name>Avi Kivity</name>
<email>avi@redhat.com</email>
</author>
<published>2010-05-23T15:37:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=221d059d15f1c8bd070a63fd45cd8d2598af5f99'/>
<id>221d059d15f1c8bd070a63fd45cd8d2598af5f99</id>
<content type='text'>
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: Fix order passed to iommu_unmap</title>
<updated>2010-06-09T15:48:38+00:00</updated>
<author>
<name>Jan Kiszka</name>
<email>jan.kiszka@siemens.com</email>
</author>
<published>2010-05-26T19:36:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=05b782ab951a896d7da41775999821f692dc9e01'/>
<id>05b782ab951a896d7da41775999821f692dc9e01</id>
<content type='text'>
This is obviously a left-over from the the old interface taking the
size. Apparently a mostly harmless issue with the current iommu_unmap
implementation.

Signed-off-by: Jan Kiszka &lt;jan.kiszka@siemens.com&gt;
Acked-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is obviously a left-over from the the old interface taking the
size. Apparently a mostly harmless issue with the current iommu_unmap
implementation.

Signed-off-by: Jan Kiszka &lt;jan.kiszka@siemens.com&gt;
Acked-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'kvm-updates/2.6.35' of git://git.kernel.org/pub/scm/virt/kvm/kvm</title>
<updated>2010-05-22T00:16:21+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-05-22T00:16:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=98edb6ca4174f17a64890a02f44c211c8b44fb3c'/>
<id>98edb6ca4174f17a64890a02f44c211c8b44fb3c</id>
<content type='text'>
* 'kvm-updates/2.6.35' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (269 commits)
  KVM: x86: Add missing locking to arch specific vcpu ioctls
  KVM: PPC: Add missing vcpu_load()/vcpu_put() in vcpu ioctls
  KVM: MMU: Segregate shadow pages with different cr0.wp
  KVM: x86: Check LMA bit before set_efer
  KVM: Don't allow lmsw to clear cr0.pe
  KVM: Add cpuid.txt file
  KVM: x86: Tell the guest we'll warn it about tsc stability
  x86, paravirt: don't compute pvclock adjustments if we trust the tsc
  x86: KVM guest: Try using new kvm clock msrs
  KVM: x86: export paravirtual cpuid flags in KVM_GET_SUPPORTED_CPUID
  KVM: x86: add new KVMCLOCK cpuid feature
  KVM: x86: change msr numbers for kvmclock
  x86, paravirt: Add a global synchronization point for pvclock
  x86, paravirt: Enable pvclock flags in vcpu_time_info structure
  KVM: x86: Inject #GP with the right rip on efer writes
  KVM: SVM: Don't allow nested guest to VMMCALL into host
  KVM: x86: Fix exception reinjection forced to true
  KVM: Fix wallclock version writing race
  KVM: MMU: Don't read pdptrs with mmu spinlock held in mmu_alloc_roots
  KVM: VMX: enable VMXON check with SMX enabled (Intel TXT)
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'kvm-updates/2.6.35' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (269 commits)
  KVM: x86: Add missing locking to arch specific vcpu ioctls
  KVM: PPC: Add missing vcpu_load()/vcpu_put() in vcpu ioctls
  KVM: MMU: Segregate shadow pages with different cr0.wp
  KVM: x86: Check LMA bit before set_efer
  KVM: Don't allow lmsw to clear cr0.pe
  KVM: Add cpuid.txt file
  KVM: x86: Tell the guest we'll warn it about tsc stability
  x86, paravirt: don't compute pvclock adjustments if we trust the tsc
  x86: KVM guest: Try using new kvm clock msrs
  KVM: x86: export paravirtual cpuid flags in KVM_GET_SUPPORTED_CPUID
  KVM: x86: add new KVMCLOCK cpuid feature
  KVM: x86: change msr numbers for kvmclock
  x86, paravirt: Add a global synchronization point for pvclock
  x86, paravirt: Enable pvclock flags in vcpu_time_info structure
  KVM: x86: Inject #GP with the right rip on efer writes
  KVM: SVM: Don't allow nested guest to VMMCALL into host
  KVM: x86: Fix exception reinjection forced to true
  KVM: Fix wallclock version writing race
  KVM: MMU: Don't read pdptrs with mmu spinlock held in mmu_alloc_roots
  KVM: VMX: enable VMXON check with SMX enabled (Intel TXT)
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: use the correct RCU API for PROVE_RCU=y</title>
<updated>2010-05-17T09:18:01+00:00</updated>
<author>
<name>Lai Jiangshan</name>
<email>laijs@cn.fujitsu.com</email>
</author>
<published>2010-04-19T09:41:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=90d83dc3d49f5101addae962ccc1b4aff66b68d8'/>
<id>90d83dc3d49f5101addae962ccc1b4aff66b68d8</id>
<content type='text'>
The RCU/SRCU API have already changed for proving RCU usage.

I got the following dmesg when PROVE_RCU=y because we used incorrect API.
This patch coverts rcu_deference() to srcu_dereference() or family API.

===================================================
[ INFO: suspicious rcu_dereference_check() usage. ]
---------------------------------------------------
arch/x86/kvm/mmu.c:3020 invoked rcu_dereference_check() without protection!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 0
2 locks held by qemu-system-x86/8550:
 #0:  (&amp;kvm-&gt;slots_lock){+.+.+.}, at: [&lt;ffffffffa011a6ac&gt;] kvm_set_memory_region+0x29/0x50 [kvm]
 #1:  (&amp;(&amp;kvm-&gt;mmu_lock)-&gt;rlock){+.+...}, at: [&lt;ffffffffa012262d&gt;] kvm_arch_commit_memory_region+0xa6/0xe2 [kvm]

stack backtrace:
Pid: 8550, comm: qemu-system-x86 Not tainted 2.6.34-rc4-tip-01028-g939eab1 #27
Call Trace:
 [&lt;ffffffff8106c59e&gt;] lockdep_rcu_dereference+0xaa/0xb3
 [&lt;ffffffffa012f6c1&gt;] kvm_mmu_calculate_mmu_pages+0x44/0x7d [kvm]
 [&lt;ffffffffa012263e&gt;] kvm_arch_commit_memory_region+0xb7/0xe2 [kvm]
 [&lt;ffffffffa011a5d7&gt;] __kvm_set_memory_region+0x636/0x6e2 [kvm]
 [&lt;ffffffffa011a6ba&gt;] kvm_set_memory_region+0x37/0x50 [kvm]
 [&lt;ffffffffa015e956&gt;] vmx_set_tss_addr+0x46/0x5a [kvm_intel]
 [&lt;ffffffffa0126592&gt;] kvm_arch_vm_ioctl+0x17a/0xcf8 [kvm]
 [&lt;ffffffff810a8692&gt;] ? unlock_page+0x27/0x2c
 [&lt;ffffffff810bf879&gt;] ? __do_fault+0x3a9/0x3e1
 [&lt;ffffffffa011b12f&gt;] kvm_vm_ioctl+0x364/0x38d [kvm]
 [&lt;ffffffff81060cfa&gt;] ? up_read+0x23/0x3d
 [&lt;ffffffff810f3587&gt;] vfs_ioctl+0x32/0xa6
 [&lt;ffffffff810f3b19&gt;] do_vfs_ioctl+0x495/0x4db
 [&lt;ffffffff810e6b2f&gt;] ? fget_light+0xc2/0x241
 [&lt;ffffffff810e416c&gt;] ? do_sys_open+0x104/0x116
 [&lt;ffffffff81382d6d&gt;] ? retint_swapgs+0xe/0x13
 [&lt;ffffffff810f3ba6&gt;] sys_ioctl+0x47/0x6a
 [&lt;ffffffff810021db&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Lai Jiangshan &lt;laijs@cn.fujitsu.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The RCU/SRCU API have already changed for proving RCU usage.

I got the following dmesg when PROVE_RCU=y because we used incorrect API.
This patch coverts rcu_deference() to srcu_dereference() or family API.

===================================================
[ INFO: suspicious rcu_dereference_check() usage. ]
---------------------------------------------------
arch/x86/kvm/mmu.c:3020 invoked rcu_dereference_check() without protection!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 0
2 locks held by qemu-system-x86/8550:
 #0:  (&amp;kvm-&gt;slots_lock){+.+.+.}, at: [&lt;ffffffffa011a6ac&gt;] kvm_set_memory_region+0x29/0x50 [kvm]
 #1:  (&amp;(&amp;kvm-&gt;mmu_lock)-&gt;rlock){+.+...}, at: [&lt;ffffffffa012262d&gt;] kvm_arch_commit_memory_region+0xa6/0xe2 [kvm]

stack backtrace:
Pid: 8550, comm: qemu-system-x86 Not tainted 2.6.34-rc4-tip-01028-g939eab1 #27
Call Trace:
 [&lt;ffffffff8106c59e&gt;] lockdep_rcu_dereference+0xaa/0xb3
 [&lt;ffffffffa012f6c1&gt;] kvm_mmu_calculate_mmu_pages+0x44/0x7d [kvm]
 [&lt;ffffffffa012263e&gt;] kvm_arch_commit_memory_region+0xb7/0xe2 [kvm]
 [&lt;ffffffffa011a5d7&gt;] __kvm_set_memory_region+0x636/0x6e2 [kvm]
 [&lt;ffffffffa011a6ba&gt;] kvm_set_memory_region+0x37/0x50 [kvm]
 [&lt;ffffffffa015e956&gt;] vmx_set_tss_addr+0x46/0x5a [kvm_intel]
 [&lt;ffffffffa0126592&gt;] kvm_arch_vm_ioctl+0x17a/0xcf8 [kvm]
 [&lt;ffffffff810a8692&gt;] ? unlock_page+0x27/0x2c
 [&lt;ffffffff810bf879&gt;] ? __do_fault+0x3a9/0x3e1
 [&lt;ffffffffa011b12f&gt;] kvm_vm_ioctl+0x364/0x38d [kvm]
 [&lt;ffffffff81060cfa&gt;] ? up_read+0x23/0x3d
 [&lt;ffffffff810f3587&gt;] vfs_ioctl+0x32/0xa6
 [&lt;ffffffff810f3b19&gt;] do_vfs_ioctl+0x495/0x4db
 [&lt;ffffffff810e6b2f&gt;] ? fget_light+0xc2/0x241
 [&lt;ffffffff810e416c&gt;] ? do_sys_open+0x104/0x116
 [&lt;ffffffff81382d6d&gt;] ? retint_swapgs+0xe/0x13
 [&lt;ffffffff810f3ba6&gt;] sys_ioctl+0x47/0x6a
 [&lt;ffffffff810021db&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Lai Jiangshan &lt;laijs@cn.fujitsu.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>kvm: Change kvm_iommu_map_pages to map large pages</title>
<updated>2010-03-07T17:01:11+00:00</updated>
<author>
<name>Joerg Roedel</name>
<email>joerg.roedel@amd.com</email>
</author>
<published>2010-01-11T15:38:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fcd95807fb61e67d602610e7ff7129ed769e9fee'/>
<id>fcd95807fb61e67d602610e7ff7129ed769e9fee</id>
<content type='text'>
This patch changes the implementation of of
kvm_iommu_map_pages to map the pages with the host page size
into the io virtual address space.

Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Acked-By: Avi Kivity &lt;avi@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch changes the implementation of of
kvm_iommu_map_pages to map the pages with the host page size
into the io virtual address space.

Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Acked-By: Avi Kivity &lt;avi@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: enable PCI multiple-segments for pass-through device</title>
<updated>2010-03-01T15:36:06+00:00</updated>
<author>
<name>Zhai, Edwin</name>
<email>edwin.zhai@intel.com</email>
</author>
<published>2010-01-29T06:38:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ab9f4ecbb6d39a18e300a0d10a4968c37404aa76'/>
<id>ab9f4ecbb6d39a18e300a0d10a4968c37404aa76</id>
<content type='text'>
Enable optional parameter (default 0) - PCI segment (or domain) besides
BDF, when assigning PCI device to guest.

Signed-off-by: Zhai Edwin &lt;edwin.zhai@intel.com&gt;
Acked-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enable optional parameter (default 0) - PCI segment (or domain) besides
BDF, when assigning PCI device to guest.

Signed-off-by: Zhai Edwin &lt;edwin.zhai@intel.com&gt;
Acked-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: introduce kvm-&gt;srcu and convert kvm_set_memory_region to SRCU update</title>
<updated>2010-03-01T15:35:44+00:00</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2009-12-23T16:35:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bc6678a33d9b952981a8e44a4f876c3ad64ca4d8'/>
<id>bc6678a33d9b952981a8e44a4f876c3ad64ca4d8</id>
<content type='text'>
Use two steps for memslot deletion: mark the slot invalid (which stops
instantiation of new shadow pages for that slot, but allows destruction),
then instantiate the new empty slot.

Also simplifies kvm_handle_hva locking.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use two steps for memslot deletion: mark the slot invalid (which stops
instantiation of new shadow pages for that slot, but allows destruction),
then instantiate the new empty slot.

Also simplifies kvm_handle_hva locking.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
