[solved] How to tell whether CPU supports x64?
Tait
freebsd at t41t.com
Fri Mar 18 11:02:52 UTC 2011
The original system...
I said (on 2011/03/17):
> CPU: Intel(R) Xeon(TM) CPU 2.40GHz (2387.76-MHz 686-class CPU)
> Origin = "GenuineIntel" Id = 0xf29 Stepping = 9
> Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
> Features2=0x4400<CNTX-ID,<b14>>
> Logical CPUs per core: 2
> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
> cpu0 (BSP): APIC ID: 0
> cpu1 (AP): APIC ID: 1
Adam Vande More <amvandemore_gmail.com> replied (on 2011/03/17):
> On Thu, Mar 17, 2011 at 5:14 PM, Ilya Kazakevich <kazakevichilya_gmail.com>wrote:
> > Afaik there should be "LM" in "AMD features" output. Even for Intel. Grep
> > your dmesg.boot for LM.
>
> yes that is correct, LM stands for Long Mode which indicates amd64 support.
> If your CPU doesn't list it, it's either a 32 bit only CPU, or it's a bug.
Thanks everyone for the assistance. There is no LM feature in
dmesg.boot for the system in question, although a different system
reports:
CPU: Intel(R) Xeon(R) CPU E5520 @ 2.27GHz (2261.03-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x106a5 Stepping = 5
Features=0x1781fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,MMX,FXSR,SSE,SSE2,HTT>
Features2=0x80182201<SSE3,SSSE3,CX16,SSE4.1,SSE4.2,<b31>>
AMD Features=0x20100000<NX,LM>
AMD Features2=0x1<LAHF>
Cores per package: 16
Logical CPUs per core: 2
The Intel site does say the E5520 supports x64. It seems the lack of LM
in the original system does in fact mean it's a 32-bit only processor.
John Levine <johnl_iecc.com> replied (on 2011/03/17):
> Looking at the Intel web site, the only Xeon I see that runs at 2.4GHz
> and has two cores with two threads is the Xeon 3060, which does indeed
> provide the 64 bit instruction set.
I looked at the ark.intel.com site hoping to find what processor
would report Id = 0xf29 Stepping = 9. I had no luck. I think the
dual processors is because of HyperThreading, as indicated by the
HTT feature, and that it's actually only a single core.
Devin Teske <dteske_vicor.com> replied (on 2011/03/17):
> I wrote this for the job (please, suggestions/comments very welcome):
> #include <stdio.h> /* printf(3) */
> #include <stdlib.h> /* EXIT_SUCCESS exit(3) */
> ...
I tried the program, and it reports "x86_64 support: NO" on both the
original system, and the one above that appears to be x64-capable
(although it is running the i386 install, which may be why?).
Again, thanks all for the help.
More information about the freebsd-questions
mailing list