Hi, a rebased and refined version of my CPUID cleanup series. This should now apply on top of git head. Compared to the last post this leaves out the bits already done by John Cooper's patch. Also I added a separate patch to deal with an accidently removed line (patch 3/13).
This patchset cleans up the CPUID handling code in QEMU. The biggest change is obviously the move of the CPUID function to a separate file (cpuid.c). This helps to split up a rather large source file, which's name (helper.c) is also a bit misleading. Additionally the rest of the patches beautifies or simplifies some code. Feature additions are: 5/13: add missing CPUID feature bit names (updated) 8/13: -cpu host propagates more CPUID leafs, so that the cache topology will be visibile in the guest 9/13: add CPUID feature bit trimming for TCG: Features not supported by the emulator will be masked out. 10/13: always show all CPU types: also expose the newer (64bit) CPU types for the i386 emulator. 64bit features will be masked out due to 9/13. 11/13: add kvm32 CPU model: Per popular request add a counterpart to kvm64 describing a basic hardware virtualization capable CPU for migration purposes. 13/13: Set the feature bits of qemu{32,64} to the set supported by TCG. The last patch is actually debatable, as it changes the default CPUID bits seen by guest. On the other hand it is only consequent to do so, as qemu{32,64} are meant to be artifical CPUs. More details in the commit messages. Please review, comment and apply. Regards, Andre.