+ unsigned int *msr_ext_cpuid_mask)You have to check the family too.
+{
+ unsigned int msr, msr_ext;
+
+ msr = msr_ext = 0;
+
+ switch (c->x86_model) {
+And please use rdmsrl(), rdmsr() is so 90ies
+ return msr;
+}
+
+static void __cpuinit intel_mask_cpu_caps(struct cpuinfo_x86 *c)
+{
+ u32 low, high;
+ unsigned int msr_cpuid_mask, msr_ext_cpuid_mask;
+
+ msr_cpuid_mask = intel_cpuid_mask_msr(c,&msr_ext_cpuid_mask);
+ if (msr_cpuid_mask) {
+ set_cpu_cap(c, X86_FEATURE_CPUIDMASK);
+
+ rdmsr(msr_cpuid_mask, low, high);
Other than that patch looks good. I presume it will be useful for
other things than just migration too.
-Andi