Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
... then it is 64-bit. The thing to look for is "48 bits virtual", don't worry about the "physical". And don't worry that you're seeing 48 bits listed and not 64. A 64-bit CPU can address a 48 bit virtual address space.
/proc/cpuinfo in my box does not give address sizes for this machine and, hence, likely for any other one. But I know the CPU is Intel Celeron D, bearing 'SL8HH' on the microprocessor top. And this page,
Whether this tells the CPU is 32 bits I don't know. One thing is the electrical bus width and another one the register width, a processor being called 64-bit (resp. 32-bit) depending on the register bit, I think. For example, in 64 bits, the AX,BX,CX,DX,SP,BP,SI,DI registers are 64-bit registers.
Furthermore, I had in my hands the Pentium I electrical specifications and by them I came to know its data bus consists of 64 lines, that is, it has a 64-bit wide data bus.
Post 2 gave an easy answer if you happen to have the lscpu program installed.
Post 3 gave a really robust answer (not easy for it to fail or be wrong). But I guess you didn't quite understand it or ignored it.
Post #4, I'm not so sure of. On a 64-bit kernel it acts as described. But I'm not sure with a 32-bit kernel if it would distinguish a 32-bit from 64-bit CPU.
Post #5, really just tells you whether the kernel is 64-bit not whether the CPU is 64-bit.
Quote:
Originally Posted by cwizardone
It will also give you the CPU information, e.g.,
It doesn't help anyone for you to repeat your mistake after corrected by someone who knows better.
If you have a 64-bit kernel (as you showed) then of course you have a 64-bit CPU. But we are assuming the OP has a 32-bit kernel and doesn't know whether the CPU is 64-bit.
uname running under a 32-bit kernel cannot tell you whether you have a 64-bit CPU. What you think is CPU info within uname -a is not really what you think.
Quote:
Originally Posted by stf92
/proc/cpuinfo in my box does not give address sizes for this machine and, hence, likely for any other one.
Try one of the other methods suggested, especially looking for the lm on the flags line in /proc/cpuinfo. lm stands for "long mode". It tells you the CPU is able to run a 64-bit kernel and it is information that is available even if you happen to be running a 32-bit kernel on that CPU.
Quote:
Originally Posted by stf92
One thing is the electrical bus width and another one the register width, a processor being called 64-bit (resp. 32-bit) depending on the register bit, I think. For example, in 64 bits, the AX,BX,CX,DX,SP,BP,SI,DI registers are 64-bit registers.
An x86 CPU is called 64-bit if those registers (the ones that can be used for virtual addresses) are 64-bit.
An x86 CPU has a lot of different buses and their sizes vary by model and none of that is responsible for the official bit-size of the processor.
The bit size measures the virtual address size, which is 32-bits when running a 32-bit kernel and is 64-bits (though only 48 independent bits) when running a 64-bit kernel.
A 32-bit CPU cannot run a 64-bit kernel. A 64-bit CPU can run either a 32-bit kernel or a 64-bit kernel.
Firstly, I do not need to be lectured. I think it is you who does not care reading the posts, namely post #7. I gave very specific information, which can resumed in this: the CPU sSpec is SL8HH.
given that SL8HH corresponds to processor number 315. There it says:
Quote:
Instruction set: 32-bit
That is, I am here being informed by Intel itself. I repeat. Don't come to me with sermons. LQ is not an oracle nor does it intend to be one (as far as I know).
[It seems you read that post after all, while I was writing mine]
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.