Re: How to identity processor architecture

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Pravin Shedage wrote:
Hi,

This C program might help you.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <sys/utsname.h>

int main()
{
    struct utsname *buf = NULL;



    buf = malloc(sizeof(struct utsname));
    if (buf == NULL) {
        fprintf(stderr,"Memory Allocation Error: %s \n", strerror(errno));
        exit(-1);
    }

    if (uname(buf) < 0) {
        fprintf(stderr,"UName Error: %s \n", strerror(errno));
        exit(-1);
    }

    printf ("Processor arch =:>) %s \n", buf->machine);

    return 0;
}




On Thu, Jan 27, 2011 at 4:45 PM, Henry Gebhardt <hsggebhardt@xxxxxxxxxxxxxx> wrote:
On Thu, Jan 27, 2011 at 03:23:28PM +0530, prabhu wrote:
> Any C programming technique apart from using this /proc/cpuinfo detail?

What about using the machine field of uname(2):

  $ man 2 uname

Quoting from that man page:

  [...] the operating system  presumably  knows  its name,  release
  and version.   It also knows what hardware it runs on.

Perhaps a downside, it returns the machine type as a string.  Does that
do what you want?

I also find "man linux32" rather interesting:

   setarch  -  change reported architecture in new program environment
   and set personality flags

Might be useful for testing.


Greetings,
Henry


Both Ideas give the  Kernel architecture not cpu architecture.

You can get exact cpu architecture through lshw command.

*-cpu
          product: Intel(R) Pentium(R) Dual  CPU  E2160  @ 1.80GHz
          vendor: Intel Corp.
          physical id: 1
          bus info: cpu@0
          version: 6.15.13
          serial: 0000-06FD-0000-0000-0000-0000
          size: 1200MHz
          capacity: 1200MHz
          width: 64 bits
          capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx x86-64 constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm cpufreq
          configuration: id=1
        *-logicalcpu:0
             description: Logical CPU
             physical id: 1.1
             width: 64 bits
             capabilities: logical
        *-logicalcpu:1
             description: Logical CPU
             physical id: 1.2
             width: 64 bits
             capabilities: logical


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



--


Thanks & Regards,
---------PraviN---------



_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux