svn commit: r184146 - in head/sys: amd64/amd64 amd64/include
i386/i386 i386/include
Jung-uk Kim
jkim at FreeBSD.org
Wed Oct 22 15:42:02 UTC 2008
On Wednesday 22 October 2008 11:01 am, John Baldwin wrote:
> On Tuesday 21 October 2008 08:01:53 pm Jung-uk Kim wrote:
> > Author: jkim
> > Date: Wed Oct 22 00:01:53 2008
> > New Revision: 184146
> > URL: http://svn.freebsd.org/changeset/base/184146
> >
> > Log:
> > Set kern.timecounter.invariant_tsc to 1 for AMD CPU family 10h
> > and higher even if BIOS does not advertise it.
> >
> > Modified:
> > head/sys/amd64/amd64/identcpu.c
> > head/sys/amd64/include/specialreg.h
> > head/sys/i386/i386/identcpu.c
> > head/sys/i386/include/specialreg.h
> >
> > Modified: head/sys/amd64/amd64/identcpu.c
>
> ===================================================================
>===========
>
> > --- head/sys/amd64/amd64/identcpu.c Tue Oct 21 23:36:28
> > 2008 (r184145) +++ head/sys/amd64/amd64/identcpu.c Wed Oct 22
> > 00:01:53 2008 (r184146) @@ -348,7 +348,9 @@ printcpuinfo(void)
> > cpu_feature &= ~CPUID_HTT;
> >
> > if (!tsc_is_invariant &&
> > - (amd_pminfo & AMDPM_TSC_INVARIANT)) {
> > + (strcmp(cpu_vendor, "AuthenticAMD") == 0 &&
> > + ((amd_pminfo & AMDPM_TSC_INVARIANT) != 0 ||
> > + AMD64_CPU_FAMILY(cpu_id) >= 0x10))) {
> > tsc_is_invariant = 1;
> > printf("\n P-state invariant TSC");
> > }
>
> Perhaps a simpler approach might be to just set AMDPM_TSC_INVARIANT
> for AMD64_CPU_FAMILY(cpu_id) >= 0x10?
It seems Athlon X2 (Family 0Fh, Model 6Bh, Stepping G2) that I bought
also has invariant TSC although it is not advertised by CPUID. If
BIOS manufacturer decide to set the bit later, it should be honored
IMO.
Jung-uk Kim
More information about the svn-src-all
mailing list