#5116 platform-3.1 CPU ID on Windows/UNIX FAILED

obsolete: 8.5.12
closed-invalid
Jan Nijtmans
5
2012-09-27
2012-09-27
Matthias Kraft
No

Tcl: 8.5.12
OS: Solaris 5.10 on AMD64

Doing a

$ sh .../tcl8.5/unix/configure --enable-64bit --prefix=`pwd`/..
$ make test

gives one failing test case:

==== platform-3.1 CPU ID on Windows/UNIX FAILED
==== Contents of test case:

set cpudata [testcpuid 0]
binary format iii [lindex $cpudata 1] [lindex $cpudata 3] [lindex $cpudata 2]

---- Result was:
�� )D
---- Result should have been (regexp matching):
^(?:AuthenticAMD|CentaurHauls|CyrixInstead|GenuineIntel)$
==== platform-3.1 FAILED

Discussion

1 2 > >> (Page 1 of 2)
  • Jan Nijtmans
    Jan Nijtmans
    2012-09-27

    • assigned_to: mdejong --> nijtmans
     
  • Jan Nijtmans
    Jan Nijtmans
    2012-09-27

    Interesting. Exactly what processor does this machine have?

     
  • Matthias Kraft
    Matthias Kraft
    2012-09-27

    Forgot to mention that the expected result should have been "AuthenticAMD" (according to kstat)!

     
  • Matthias Kraft
    Matthias Kraft
    2012-09-27

    • assigned_to: nijtmans --> mdejong
     
  • Matthias Kraft
    Matthias Kraft
    2012-09-27

    kstat -m cpu_info

     
    Attachments
    • assigned_to: mdejong --> nijtmans
     
  • Matthias Kraft
    Matthias Kraft
    2012-09-27

    Is the attached kstat-output enough, or do you want something else?

     
  • Jan Nijtmans
    Jan Nijtmans
    2012-09-27

    According to what I can find, I would expect "AuthenticAMD" as well.
    See:
    <http://support.amd.com/us/Embedded_TechDocs/25481.pdf>

     
  • Jan Nijtmans
    Jan Nijtmans
    2012-09-27

    > http://docs.oracle.com/cd/E19082-01/819-2254/6n4iaouu6/index.html
    That page is about the cpuid device, not about the cpuid assembler instruction.
    Part of this page:
    >The device is useful to enable low-level configuration information to
    > be extracted from the CPU without having to write any assembler code
    > to invoke the cpuid instruction directly.
    Well, Tcl now contains the assembler code which invokes the cpuid
    instruction directly, so it should simply work..

    It will need some debugging. The assembler code is
    borrowed from: <http://en.wikipedia.org/wiki/CPUID>
    and can be found in unix/tclUnixCompat.c:990-995.

     
1 2 > >> (Page 1 of 2)