KVM: Fix cpuid iteration on multiple leaves per eac
authorNitin A Kamble <nitin.a.kamble@intel.com>
Wed, 5 Nov 2008 23:56:21 +0000 (15:56 -0800)
committerAvi Kivity <avi@redhat.com>
Wed, 31 Dec 2008 14:52:24 +0000 (16:52 +0200)
commit0fdf8e59faa5c60e9d77c8e14abe3a0f8bfcf586
tree4dba778281a62ab4c4927092a5017acef4fb0d7b
parent0853d2c1d849ef69884d2447d90d04007590b72b
KVM: Fix cpuid iteration on multiple leaves per eac

The code to traverse the cpuid data array list for counting type of leaves is
currently broken.

This patches fixes the 2 things in it.

 1. Set the 1st counting entry's flag KVM_CPUID_FLAG_STATE_READ_NEXT. Without
    it the code will never find a valid entry.

 2. Also the stop condition in the for loop while looking for the next unflaged
    entry is broken. It needs to stop when it find one matching entry;
    and in the case of count of 1, it will be the same entry found in this
    iteration.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/x86.c