This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/19214] New: Family and model identification for AMD CPU's are incorrect.


https://sourceware.org/bugzilla/show_bug.cgi?id=19214

            Bug ID: 19214
           Summary: Family and model identification for AMD CPU's are
                    incorrect.
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
          Assignee: unassigned at sourceware dot org
          Reporter: amit.pawar at amd dot com
                CC: drepper.fsp at gmail dot com
  Target Milestone: ---

Currently family and model detection for AMD CPU's are incorrect in GLBIC.. 

When tested on "AMD Phenom(tm)" processor, GLIBC trunk identifies family=15 and
model=5 but the output of "cat /proc/cpuinfo" shows family=16 and model=5. This
case is only seen when family value >= 15. Similarly for family=15, GLIBC
incorrectly identifies model nos.

---------------------
Breakpoint 1, __libc_start_main (main=0x400490 <main>, argc=1,
argv=0x7fffffffe0e8, init=0x4005a0 <__libc_csu_init>,
    fini=0x400610 <__libc_csu_fini>, rtld_fini=0x7ffff7de90f0 <_dl_fini>,
stack_end=0x7fffffffe0d8) at ../csu/libc-start.c:134
134     {
(gdb) p __get_cpu_features()
$1 = (const struct cpu_features *) 0x7ffff7ffccf0 <_rtld_local_ro+112>
(gdb) p $1[0]
$2 = {kind = arch_kind_amd, max_cpuid = 5, cpuid = {{eax = 1052499, ebx =
33818624, ecx = 8396809, edx = 395049983}, {eax = 0, ebx = 0,
      ecx = 0, edx = 0}, {eax = 1052499, ebx = 536878593, ecx = 538623, edx =
4023647231}}, family = 15, model = 5, feature = {49152}}
(gdb) quit
A debugging session is active.

        Inferior 1 [process 20352] will be killed.

Quit anyway? (y or n) y
user@HP-ProBook-6455b:~$ cat /proc/cpuinfo | grep  family
cpu family      : 16
cpu family      : 16
cpu family      : 16
cpu family      : 16
--------------------------

In future it may help in choosing the right string and memory routines based on
family and model values.

Document (link http://support.amd.com/TechDocs/25481.pdf) containing page no 10
describes the correct way of computing the AMD CPU family and models values.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]