How to identity processor architecture

Enrico Granata egranata at ucsd.edu
Thu Jan 27 03:22:57 EST 2011


Enrico Granata
Computer Science & Engineering Department (EBU3B) - Room 3240
office phone 858 534 9914
University of California, San Diego

On Jan 27, 2011, at 12:20 AM, prabhu wrote:

> Mandeep Sandhu wrote:
>> 
>>> I guess a 64bit processor does need 64bit addresses to reference memory. But
>>> at the same time, if 32 bit programs are to run unmodified on 64 bit
>>> architectures there needs to be ways in which 32bit pointers can still work.
>>> So, I am almost 100% sure that compiling 32bit code, even on a 64bit
>>> processor, should yield 4 for sizeof(void*)
>>>     
>> 
>> You are 100% right. Tried this on  2 laptops:
>> 
>> printf("Is this a %s-bit machine?\n", ((sizeof(void*) == 4) ? "32" : "64"));
>> 
>> 32-Bit ubuntu (10.10) on 64-bit proc:
>> "Is this a 32-bit machine?"
>> 
>> 64-Bit ubuntu (10.10) on 64-bit proc:
>> "Is this a 64-bit machine?"
>> 
>> Regards,
>> -mandeep
>>   
> 
> Hi Mandeep,
> 
> Thanks a lot.
> 
> So is there any other way available to identify the processor architecture using c code?? . The program needs to return correct 
> processor architecture(32bit or 64bit) irrespective to the OS architecture.
> 
> Thanks,
> Prabhu
>>> Enrico Granata
>>> Computer Science & Engineering Department (EBU3B) - Room 3240
>>> office phone 858 534 9914
>>> University of California, San Diego
>>> 
>>> _______________________________________________
>>> Kernelnewbies mailing list
>>> Kernelnewbies at kernelnewbies.org
>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>> 
>>> 
>>>     
>> 
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>> 
>> 
>>   
> 

Someone already hinted at it, I guess:

>  64-bit processors  have lm ("long mode") in the flags section of cpuinfo whereas   32-bit processors have not.
> regards
> Dharmvir Kumar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110127/6bbf5427/attachment.html 


More information about the Kernelnewbies mailing list