Re: [X86] Move the AMD64 specific parts out of setup_64.c

From: Pavel Machek
Date: Fri May 23 2008 - 09:21:50 EST


Hi!

> Create a separate amd_64.c file in the cpu/ dir for
> the useful parts to live in.
>

> +#define ENABLE_C1E_MASK 0x18000000
> +#define CPUID_PROCESSOR_SIGNATURE 1
> +#define CPUID_XFAM 0x0ff00000
> +#define CPUID_XFAM_K8 0x00000000
> +#define CPUID_XFAM_10H 0x00100000
> +#define CPUID_XFAM_11H 0x00200000
> +#define CPUID_XMOD 0x000f0000
> +#define CPUID_XMOD_REV_F 0x00040000
> +
> +/* AMD systems with C1E don't have a working lAPIC timer. Check for that. */
> +static __cpuinit int amd_apic_timer_broken(void)
> +{
> + u32 lo, hi, eax = cpuid_eax(CPUID_PROCESSOR_SIGNATURE);
> +
> + switch (eax & CPUID_XFAM) {
> + case CPUID_XFAM_K8:
> + if ((eax & CPUID_XMOD) < CPUID_XMOD_REV_F)
> + break;
> + case CPUID_XFAM_10H:
> + case CPUID_XFAM_11H:
> + rdmsr(MSR_K8_ENABLE_C1E, lo, hi);
> + if (lo & ENABLE_C1E_MASK)
> + return 1;
> + break;
> + default:
> + /* err on the side of caution */
> + return 1;
> + }
> + return 0;
> +}

This needs to be done in 32-bit kernel, too, right?

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/