kernel_optimize_test/arch
Andre Przywara bd22f5cfcf KVM: move and fix substitue search for missing CPUID entries
If KVM cannot find an exact match for a requested CPUID leaf, the
code will try to find the closest match instead of simply confessing
it's failure.
The implementation was meant to satisfy the CPUID specification, but
did not properly check for extended and standard leaves and also
didn't account for the index subleaf.
Beside that this rule only applies to CPUID intercepts, which is not
the only user of the kvm_find_cpuid_entry() function.

So fix this algorithm and call it from kvm_emulate_cpuid().
This fixes a crash of newer Linux kernels as KVM guests on
AMD Bulldozer CPUs, where bogus values were returned in response to
a CPUID intercept.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2011-04-06 13:15:56 +03:00
..
alpha genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
arm Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-03-30 09:35:52 -07:00
avr32 avr32: Fix missing irq namespace conversion 2011-03-30 15:38:03 +02:00
blackfin Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-03-30 09:35:52 -07:00
cris genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
frv genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
h8300 genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
ia64 [IA64] fix build warning: argument 1 of 'irqd_irq_disabled' 2011-04-01 10:56:03 -07:00
m32r genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
m68k genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
microblaze Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze 2011-04-04 17:54:46 -07:00
mips mips: vr41xx: Use irdq_irq_disabled() 2011-03-29 14:48:07 +02:00
mn10300 genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
parisc genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
powerpc powerpc/pseries: Fix build without CONFIG_HOTPLUG_CPU 2011-04-05 16:22:11 +10:00
s390 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 2011-03-25 17:47:04 -07:00
score genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
sh genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2011-04-01 08:54:14 -07:00
tile genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
um genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
unicore32 Merge branch 'unicore32' of git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32 2011-04-04 08:33:21 -07:00
x86 KVM: move and fix substitue search for missing CPUID entries 2011-04-06 13:15:56 +03:00
xtensa genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
.gitignore
Kconfig oprofile, s390: Cleanups 2011-03-16 14:30:40 +01:00