How to identity processor architecture
prabhu
prabhum at msys-tech.com
Thu Jan 27 07:33:53 EST 2011
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 at googlemail.com <mailto:hsggebhardt at googlemail.com>> 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 at 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 at kernelnewbies.org
> <mailto:Kernelnewbies at kernelnewbies.org>
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
>
>
>
> --
>
>
> Thanks & Regards,
> ---------PraviN---------
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110127/e8f6faf3/attachment.html
More information about the Kernelnewbies
mailing list