<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/virt, branch v2.6.35.6</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: Keep slot ID in memory slot structure</title>
<updated>2010-09-27T00:18:32+00:00</updated>
<author>
<name>Avi Kivity</name>
<email>avi@redhat.com</email>
</author>
<published>2010-09-17T16:13:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1be501980f140e5a6698999df9c7c6124c14810f'/>
<id>1be501980f140e5a6698999df9c7c6124c14810f</id>
<content type='text'>
commit e36d96f7cfaa71870c407131eb4fbd38ea285c01 upstream.

May be used for distinguishing between internal and user slots, or for sorting
slots in size order.

Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
Cc: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit e36d96f7cfaa71870c407131eb4fbd38ea285c01 upstream.

May be used for distinguishing between internal and user slots, or for sorting
slots in size order.

Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
Cc: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: read apic-&gt;irr with ioapic lock held</title>
<updated>2010-06-10T17:29:03+00:00</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2010-06-02T14:26:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=07dc7263b99e4ddad2b4c69765a428ccb7d48938'/>
<id>07dc7263b99e4ddad2b4c69765a428ccb7d48938</id>
<content type='text'>
Read ioapic-&gt;irr inside ioapic-&gt;lock protected section.

KVM-Stable-Tag
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Read ioapic-&gt;irr inside ioapic-&gt;lock protected section.

KVM-Stable-Tag
Signed-off-by: Marcelo Tosatti &lt;mtosatti@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: Let vcpu structure alignment be determined at runtime</title>
<updated>2010-05-19T08:36:29+00:00</updated>
<author>
<name>Avi Kivity</name>
<email>avi@redhat.com</email>
</author>
<published>2010-04-28T12:39:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0ee75bead83da4791e5cbf659806c54d8ee40f12'/>
<id>0ee75bead83da4791e5cbf659806c54d8ee40f12</id>
<content type='text'>
vmx and svm vcpus have different contents and therefore may have different
alignmment requirements.  Let each specify its required alignment.

Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
vmx and svm vcpus have different contents and therefore may have different
alignmment requirements.  Let each specify its required alignment.

Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2010-05-18T14:22:37+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-05-18T14:22:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8123d8f17d8ba9d67e556688e4f025456ca97842'/>
<id>8123d8f17d8ba9d67e556688e4f025456ca97842</id>
<content type='text'>
* 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86/amd-iommu: Add amd_iommu=off command line option
  iommu-api: Remove iommu_{un}map_range functions
  x86/amd-iommu: Implement -&gt;{un}map callbacks for iommu-api
  x86/amd-iommu: Make amd_iommu_iova_to_phys aware of multiple page sizes
  x86/amd-iommu: Make iommu_unmap_page and fetch_pte aware of page sizes
  x86/amd-iommu: Make iommu_map_page and alloc_pte aware of page sizes
  kvm: Change kvm_iommu_map_pages to map large pages
  VT-d: Change {un}map_range functions to implement {un}map interface
  iommu-api: Add -&gt;{un}map callbacks to iommu_ops
  iommu-api: Add iommu_map and iommu_unmap functions
  iommu-api: Rename -&gt;{un}map function pointers to -&gt;{un}map_range
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86/amd-iommu: Add amd_iommu=off command line option
  iommu-api: Remove iommu_{un}map_range functions
  x86/amd-iommu: Implement -&gt;{un}map callbacks for iommu-api
  x86/amd-iommu: Make amd_iommu_iova_to_phys aware of multiple page sizes
  x86/amd-iommu: Make iommu_unmap_page and fetch_pte aware of page sizes
  x86/amd-iommu: Make iommu_map_page and alloc_pte aware of page sizes
  kvm: Change kvm_iommu_map_pages to map large pages
  VT-d: Change {un}map_range functions to implement {un}map interface
  iommu-api: Add -&gt;{un}map callbacks to iommu_ops
  iommu-api: Add iommu_map and iommu_unmap functions
  iommu-api: Rename -&gt;{un}map function pointers to -&gt;{un}map_range
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: Remove test-before-set optimization for dirty bits</title>
<updated>2010-05-17T09:19:13+00:00</updated>
<author>
<name>Takuya Yoshikawa</name>
<email>yoshikawa.takuya@oss.ntt.co.jp</email>
</author>
<published>2010-04-23T08:48:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d14769377a247d4e7b570592a090474c8a059938'/>
<id>d14769377a247d4e7b570592a090474c8a059938</id>
<content type='text'>
As Avi pointed out, testing bit part in mark_page_dirty() was important
in the days of shadow paging, but currently EPT and NPT has already become
common and the chance of faulting a page more that once per iteration is
small. So let's remove the test bit to avoid extra access.

Signed-off-by: Takuya Yoshikawa &lt;yoshikawa.takuya@oss.ntt.co.jp&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As Avi pointed out, testing bit part in mark_page_dirty() was important
in the days of shadow paging, but currently EPT and NPT has already become
common and the chance of faulting a page more that once per iteration is
small. So let's remove the test bit to avoid extra access.

Signed-off-by: Takuya Yoshikawa &lt;yoshikawa.takuya@oss.ntt.co.jp&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: do not call hardware_disable() on CPU_UP_CANCELED</title>
<updated>2010-05-17T09:18:04+00:00</updated>
<author>
<name>Lai Jiangshan</name>
<email>laijs@cn.fujitsu.com</email>
</author>
<published>2010-04-17T09:00:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=66cbff59a16017234ea6c80ecddfc17b27a83504'/>
<id>66cbff59a16017234ea6c80ecddfc17b27a83504</id>
<content type='text'>
When CPU_UP_CANCELED, hardware_enable() has not been called at the CPU
which is going up because raw_notifier_call_chain(CPU_ONLINE)
has not been called for this cpu.

Drop the handling for CPU_UP_CANCELED.

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>
When CPU_UP_CANCELED, hardware_enable() has not been called at the CPU
which is going up because raw_notifier_call_chain(CPU_ONLINE)
has not been called for this cpu.

Drop the handling for CPU_UP_CANCELED.

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: 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: limit the number of pages per memory slot</title>
<updated>2010-05-17T09:17:41+00:00</updated>
<author>
<name>Takuya Yoshikawa</name>
<email>yoshikawa.takuya@oss.ntt.co.jp</email>
</author>
<published>2010-04-13T13:47:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=660c22c425cbe14badfb3b0a0206862577701ab7'/>
<id>660c22c425cbe14badfb3b0a0206862577701ab7</id>
<content type='text'>
This patch limits the number of pages per memory slot to make
us free from extra care about type issues.

Signed-off-by: Takuya Yoshikawa &lt;yoshikawa.takuya@oss.ntt.co.jp&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 limits the number of pages per memory slot to make
us free from extra care about type issues.

Signed-off-by: Takuya Yoshikawa &lt;yoshikawa.takuya@oss.ntt.co.jp&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
