PFSENSE for Intel EM64 processing



  • I have been running pfsense now for about 6 months and I wanted to say that I am very impressed. I do have a huge question though since pfsense comes in either standard 32 bit or AMD 64bit version. As of now, I amusing the AMD 64 bit version since I am using an old Intel 3rd Generation Core i5 processor which is a quad core CPU. In terms of the windows operating system, if you run an Intel CPU that is 64 bit capable, windows will install EM64 coding. For AMD the 64bit is installation uses different coding. So, I was curious if there will ever be a EM64 version which can take advantage of Intel Hyper Threading. To my knowledge, and I may be wrong, AMD 64 uses a different type of hyper threading. Either way, no having an EM64 version to means that if using an Intel processor with AMD64, hyper threading may not be taken advantage of. I am aware that my i5 does not have hyper threading but sooner or later, I will acquire and an Intel core processor that does and will put it into my router.

    Just a curiosity! I'm no expert here so my understanding may be wrong.



  • HT is specifically stated as supported in i386 at this link https://www.freebsd.org/releases/10.1R/hardware.html#proc, and also supports EM64T in general, whether its safe to assume HT in EM64T is specifically supported is hard to tell from the literature, but the literature does suggest it support EM64T instruction sets based on my interpretation of whats written.

    
        All multi-core Intel® Xeon™ processors except Sossaman have EM64T support.
    
        The single-core Intel® Xeon™ processors “Nocona”, “Irwindale”, “Potomac”, and “Cranford” have EM64T support.
    
        All Intel® Core™ 2 (not Core™ Duo) and later processors
    
        All Intel® Core™ i range of processors
    
        All Intel® Pentium® D processors
    
        All Intel® Centrino® Duo and Centrino® Pro platforms
    
        Intel® Pentium® 4s and Celeron® Ds using the “Cedar Mill” core have EM64T support.
    
        Some Intel® Pentium® 4s and Celeron® Ds using the “Prescott” core have EM64T support. See the Intel Processor Spec Finder for the definitive answer about EM64T support in Intel processors. 
    
    Intel® EM64T is an extended version of IA-32 (x86) and different from Intel® IA-64 (Itanium) architecture, which FreeBSD/ia64 supports. Some Intel®'s old documentation refers to Intel® EM64T as “64-bit extension technology” or “IA-32e”.
    
    Both Uniprocessor (UP) and Symmetric Multi-processor (SMP) configurations are supported.
    
    In many respects, FreeBSD/amd64 is similar to FreeBSD/i386, in terms of drivers supported. Generally, drivers that already function correctly on other 64-bit platforms should work. 
    


  • Not to be argumentative, but why is the 64bit version listed as AMD64?



  • I've asked that question myself.  :)

    https://en.wikipedia.org/wiki/X86-64
    _The original specification was created by AMD and released in 2000, and has been implemented by AMD, Intel and VIA. Various names are used for the instruction set; prior to the launch, x86-64 and x86_64 were used, while upon the release AMD named it AMD64.[3] Intel initially used the names IA-32e and EM64T before finally settling on "Intel 64" for its implementation. Some in the industry, including Apple,[4][5][6] use x86-64 and x86_64, while others, notably Sun Microsystems[7] (now Oracle Corporation) and Microsoft,[8] use x64 while the BSD family of OSs and several Linux distributions[9][10] use AMD64.

    The AMD K8 processor was the first to implement the architecture; this was the first significant addition to the x86 architecture designed by a company other than Intel. Intel was forced to follow suit and introduced a modified NetBurst family which was fully software-compatible with AMD's design and specification. VIA Technologies introduced x86-64 in their VIA Isaiah architecture, with the VIA Nano.

    The x86-64 specification is distinct from the Intel Itanium (formerly IA-64) architecture, which is not compatible on the native instruction set level with the x86 architecture._



  • makes sense now. So the naming for the pfsense version is strictly because of AMD.



  • I would expect so, but not the official authority on this, best to ask ESF for official confirmation.


  • Banned

    @jbhowlesr:

    In terms of the windows operating system, if you run an Intel CPU that is 64 bit capable, windows will install EM64 coding. For AMD the 64bit is installation uses different coding.

    Eeeee, whut?! Sounds like you are confusing this with the dead Itanium crap?



  • almost every software vendor/developer on the planet uses 'AMD64' to point out that its designed for a modern 64-bit cpu. (also known as x64, x86_64 )

    https://en.wikipedia.org/wiki/X86-64#Industry_naming_conventions