On Fri, Jun 20, 2014 at 11:54:14AM -0700, H. Peter Anvin wrote:
> No, it has to be cpu_has() -- the dynamic, CPU-specific version.

Ok, sry, but I have to ask: why cpu_has? Why not boot_cpu_has and thus
static_cpu_has_safe?

At
        if (this_cpu->c_init)
                this_cpu->c_init(c)

time in identify_cpu() when we execute init_amd(), we have run
generic_identify(c) which would have done get_cpu_cap() already and
boot_cpu_data.x86_capability[1] would have cpuid_edx(0x80000001) where
X86_FEATURE_MP bit would be set too.

Oh, and this happens after the first clearing

        /* Clear/Set all flags overriden by options, after probe */

but this won't clear it. And we're before the building of the common
feature set at the end of identify_cpu(). But even that doesn't matter
in this case because this bit will be set in CPUID on every core and
thus remain set in boot_cpu_data.

Bah, so what am I missing?

Thanks.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to