Difference between pages "Install/Configuring" and "Subarches"

(Difference between pages)
(/etc/fstab)
 
(corei7)
 
Line 1: Line 1:
<noinclude>
+
{{:Install/Header}}
{{InstallPart|the process of configuring your Funtoo Linux system}}
+
= Funtoo Linux Sub-Architectures =
</noinclude>
+
__NOTITLE__
=== Configuring your system ===
+
This page provides an overview of Funtoo Linux sub-architectures (also called ''subarches'',) designed for quick and easy reference. While this information is available in other places, such as Wikipedia, it often takes some time to study and cross-reference the various articles to get a good understanding of each type of sub-architecture, and this information generally isn't all collected neatly in one place. That is the purpose of this page. When possible, links to more detailed Wikipedia pages are provided. You are encouraged to help maintain this page as well as the Wikipedia articles referenced here.
As is expected from a Linux distribution, Funtoo Linux has its share of configuration files. The one file you are absolutely required to edit in order to ensure that Funtoo Linux boots successfully is <code>/etc/fstab</code>. The others are optional. Here are a list of files that you should consider editing:
+
{{TableStart}}
+
<tr class="active"><th>File</th>
+
<th>Do I need to change it?</th>
+
<th>Description</th>
+
</tr><tr  class="danger">
+
<td><code>/etc/fstab</code></td>
+
<td>'''YES - required'''</td>
+
<td>Mount points for all filesystems to be used at boot time. This file must reflect your disk partition setup. We'll guide you through modifying this file below.</td>
+
</tr><tr>
+
<td><code>/etc/localtime</code></td>
+
<td>''Maybe - recommended''</td>
+
<td>Your timezone, which will default to UTC if not set. This should be a symbolic link to something located under /usr/share/zoneinfo (e.g. /usr/share/zoneinfo/America/Montreal) </td>
+
</tr><tr>
+
<td><code>/etc/make.conf</code> (symlink) - also known as:<br/><code>/etc/portage/make.conf</code></td>
+
<td>''Maybe - recommended''</td>
+
<td>Parameters used by gcc (compiler), portage, and make. It's a good idea to set MAKEOPTS. This is covered later in this document.</td>
+
</tr><tr>
+
<td><code>/etc/conf.d/hostname</code></td>
+
<td>''Maybe - recommended''</td>
+
<td>Used to set system hostname. Set the <code>hostname</code> variable to the fully-qualified (with dots, ie. <code>foo.funtoo.org</code>) name if you have one. Otherwise, set to the local system hostname (without dots, ie. <code>foo</code>). Defaults to <code>localhost</code> if not set.</td>
+
</tr><tr>
+
<td><code>/etc/hosts</code></td>
+
<td>''No''</td>
+
<td> You no longer need to manually set the hostname in this file. This file is automatically generated by <code>/etc/init.d/hostname</code>.</td>
+
</tr><tr>
+
<td><code>/etc/conf.d/keymaps</code></td>
+
<td>Optional</td>
+
<td>Keyboard mapping configuration file (for console pseudo-terminals). Set if you have a non-US keyboard. See [[Funtoo Linux Localization]].</td>
+
</tr><tr>
+
<td><code>/etc/conf.d/hwclock</code></td>
+
<td>Optional</td>
+
<td>How the time of the battery-backed hardware clock of the system is interpreted (UTC or local time). Linux uses the battery-backed hardware clock to initialize the system clock when the system is booted.</td>
+
</tr><tr>
+
<td><code>/etc/conf.d/modules</code></td>
+
<td>Optional</td>
+
<td>Kernel modules to load automatically at system startup. Typically not required. See [[Additional Kernel Resources]] for more info.</td>
+
</tr><tr>
+
<td><code>/etc/conf.d/consolefont</code></td>
+
<td>Optional</td>
+
<td>Allows you to specify the default console font. To apply this font, enable the consolefont service by running rc-update add consolefont.</td>
+
</tr><tr>
+
<td><code>profiles</code></td>
+
<td>Optional</td>
+
<td>Some useful portage settings that may help speed up intial configuration.</td>
+
</tr>
+
{{TableEnd}}
+
  
If you're installing an English version of Funtoo Linux, you're in luck as most of the configuration files can be used as-is. If you're installing for another locale, don't worry. We will walk you through the necessary configuration steps on the [[Funtoo Linux Localization]] page, and if needed, there's always plenty of friendly, helpful support. (See [[#Community portal|Community]])
+
== 64-bit Suport (Generic) ==
  
Let's go ahead and see what we have to do. Use <code>nano -w <name_of_file></code> to edit files -- the "<code>-w</code>" disables word-wrapping, which is handy when editing configuration files. You can copy and paste from the examples.
+
=== generic_64 ===
 +
<console>
 +
CFLAGS: -mtune=generic -O2 -pipe
 +
CHOST: x86_64-pc-linux-gnu
 +
USE: mmx sse sse2
 +
</console>
  
{{fancywarning|It's important to edit your <code>/etc/fstab</code> file before you reboot! You will need to modify both the "fs" and "type" columns to match the settings for your partitions and filesystems that you created with <code>gdisk</code> or <code>fdisk</code>. Skipping this step may prevent Funtoo Linux from booting successfully.}}
+
The '''generic_64''' subarch is designed to support 64-bit PC-compatible CPUs, such as the [[Wikipedia:AMD_K8|AMD K8-series processors]], which were introduced in late 2003. They were notable as the first processors that supported the [[Wikipedia:X86-64|AMD64 (also called X86-64) 64-bit instruction set]] for PC-compatible systems, which was introduced as a backwards-compatible 64-bit alternative to Intel's IA-64 architecture. Intel followed suit and also began supporting this 64-bit instruction set, which they called "[[Wikipedia:X86-64#Intel_64|Intel 64]]", by releasing X86-64 64-bit compatible CPUs from mid-2004 onwards (See [[Wikipedia:X86-64#Intel_64_implementations|Intel 64 implementations]].)
  
==== /etc/fstab ====
+
AMD desktop 64-bit CPUs include the Athlon 64, Athlon 64 FX, Athlon 64 X2, Athlon X2, Turion 64, Turion 64 X2 and Sempron series processors. AMD server processors were released under the Opteron brand and have codenames SledgeHammer, Venus, Troy, Athens, Denmark, Italy, Egypt, Santa Ana and Santa Rosa. All Opterons released through late 2006 were based on the K8 microarchitecture with original X86-64 instructions.
  
<code>/etc/fstab</code> is used by the <code>mount</code> command which is ran when your system boots. Statements of this file inform <code>mount</code> about partitions to be mounted and how they are mounted. In order for the system to boot properly, you must edit <code>/etc/fstab</code> and ensure that it reflects the partition configuration you used earlier:
+
== 64-bit AMD Processors ==
  
 +
=== amd64-k10 ===
 
<console>
 
<console>
(chroot) # ##i##nano -w /etc/fstab
+
CFLAGS: -march=amdfam10 -O2 -pipe
 +
CHOST: x86_64-pc-linux-gnu
 +
USE: mmx sse sse2 sse3 3dnow 3dnowext
 
</console>
 
</console>
  
You can use arrow keys to move around and hit Control-X to exit. If you want to save your changes, type "<code>Y</code>" when asked if you want to save the modified buffer, or hit Control-O before closing <code>nano</code>. Otherwise your changes will be discarded.
+
The '''amd64-k10''' subarch provides support for the [[Wikipedia:AMD_10h|AMD Family 10h processors]], which were released in late 2007 as a successor to the AMD K8 series processors.
  
<pre>
+
Desktop amd64-k10 CPUs include [[Wikipedia:AMD Phenom|AMD Phenom]], [[Wikipedia:AMD_10h#Phenom_II_Models|AMD Phenom II]] and [[Wikipedia:AMD_10h#Athlon_II_Models|AMD Athlon II]]. Server CPUs include Opterons with codenames Budapest, Barcelona, Suzuka, Shanghai, Istanbul, Lisbon, and Magny-Cours. A full listing of amd64-k10 Opteron models [[Wikipedia:List_of_AMD_Opteron_microprocessors#K10_based_Opterons|can be found here]].
# The root filesystem should have a pass number of either 0 or 1.
+
# All other filesystems should have a pass number of 0 or greater than 1.
+
#
+
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
+
#
+
# See the manpage fstab(5) for more information.
+
#
+
# <fs>     <mountpoint>  <type>  <opts>        <dump/pass>
+
  
/dev/sda1    /boot        ext2    noauto,noatime 1 2
+
=== amd64-bulldozer ===
/dev/sda2    none          swap    sw            0 0
+
<console>
/dev/sda3    /            ext4    noatime        0 1
+
CFLAGS: -march=bdver1 -O2 -pipe
#/dev/cdrom  /mnt/cdrom    auto    noauto,ro      0 0
+
CHOST: x86_64-pc-linux-gnu
</pre>
+
USE: mmx sse sse2 sse3 sse4 3dnow 3dnowext
 +
</console>
  
{{Note|If you're using UEFI to boot, change the <code>/dev/sda1</code> line so it says <code>vfat</code> instead of <code>ext2</code>. Similarly, make sure that the <code>/dev/sda3</code> line specifies either <code>xfs</code> or <code>ext4</code>, depending on which filesystem you chose at filesystem-creation time.}}
+
The '''amd64-bulldozer''' subarch supports the [[Wikipedia:Bulldozer (microarchitecture)|AMD bulldozer microarchitecture]] CPUs, which were released from late 2011 through the first quarter of 2012 as a replacement for the [[Wikipedia:AMD_10h|K10 microarchitecture]] CPUs.
 +
Bulldozer desktop CPUs use the [[Wikipedia:Socket_AM3+|AM3+ socket]] and server CPUs use the  [[Wikipedia:Socket_G34|G34 socket]].
  
==== /etc/localtime ====
+
Desktop bulldozer CPUs include the [[Wikipedia:List_of_AMD_FX_microprocessors#.22Zambezi.22_.2832_nm_SOI.29|Zambezi FX-series CPUs]]. Server bulldozer CPUs include Opterons with codenames Zurich (Opteron 3200-series), Valencia (Opteron 4200-series) and Interlagos (Opteron 6200 series). A complete list of Opteron models [[Wikipedia:http://en.wikipedia.org/wiki/Opteron#Opteron_.2832_nm_SOI.29-_First_Generation_Bulldozer_Microarchitecture|can be found here.]].
  
<code>/etc/localtime</code> is used to specify the timezone that your machine is in, and defaults to UTC. If you would like your Funtoo Linux system to use local time, you should replace <code>/etc/localtime</code> with a symbolic link to the timezone that you wish to use.  
+
=== amd64-piledriver ===
 +
<console>
 +
CFLAGS: -march=bdver2 -O2 -pipe
 +
CHOST: x86_64-pc-linux-gnu
 +
USE: mmx sse sse2 sse3 sse4 3dnow 3dnowext
 +
</console>
 +
 
 +
The '''amd64-piledriver''' subarch supports the [[Wikipedia:Piledriver (microarchitecture)|AMD Piledriver microarchitecture]] produced by AMD from mid-2012 through 2015, which is the successor to the [[Wikipedia:Bulldozer (microarchitecture)|AMD bulldozer microarchitecture]].
 +
Piledriver CPUs and APUs are available that use the [[Wikipedia:FM2 Socket|FM2 socket]]. Desktop Piledriver CPUs use the [[Wikipedia:Socket_AM3+|AM3+ socket]]. Server Piledriver CPUs use a variety of sockets, including [[Wikipedia:Socket_AM3+|AM3+]], [[Wikipedia:Socket_C32|C32]] and [[Wikipedia:Socket_G34|G34]].
 +
 
 +
Desktop piledriver CPU and APUs include FX-series with codename Vishera (FX-8350, FX-8370),  [[Wikipedia:List_of_AMD_accelerated_processing_unit_microprocessors#Virgo:_.22Trinity.22_.282012.2C_32_nm.29|A-series with codename Trinity]] (A6-5400K, A10-5800K) and [[Wikipedia:http://en.wikipedia.org/wiki/List_of_AMD_accelerated_processing_unit_microprocessors#.22Richland.22_.282013.2C_32_nm.29_2|A-series with codename Richland]].
 +
 
 +
Server piledriver CPUs include Opterons with codenames Delhi (Opteron 3300-series, [[Wikipedia:Socket_AM3+|AM3+]]), Seoul (Opteron 4300-series, [[Wikipedia:Socket_C32|C32]])  and Abu Dhabi (Opteron 6300-series, [[Wikipedia:Socket_G34|G34]]). A full listing of Opteron models [[Wikipedia:Opteron#Opteron_.2832_nm_SOI.29_-_Piledriver_Microarchitecture|is available here]].
 +
 
 +
Piledriver adds several new instructions over bulldozer, so AMD bulldozer systems cannot run amd64-piledriver-optimized stages. However, this subarch is  instruction-compatible with its successor, the, so amd64-piledriver stages can run on amd64-steamroller systems, and vice versa.
  
 +
=== amd64-steamroller ===
 
<console>
 
<console>
(chroot) # ##i##ln -sf /usr/share/zoneinfo/MST7MDT /etc/localtime
+
CFLAGS: -march=bdver3 -O2 -pipe
 +
CHOST: x86_64-pc-linux-gnu
 +
USE: mmx sse sse2 sse3 sse4 3dnow 3dnowext
 
</console>
 
</console>
  
The above sets the timezone to Mountain Standard Time (with daylight savings). Type <code>ls /usr/share/zoneinfo</code> to see what timezones are available. There are also sub-directories containing timezones described by location.
+
The '''amd64-steamroller''' subarch supports the [[Wikipedia:Steamroller (microarchitecture)|AMD steamroller microarchitecture]], produced from early 2014. It is the successor to the [[Wikipedia:Piledriver (microarchitecture)|AMD Piledriver microarchitecture]].
 +
Steamroller APUs are available that use the [[Wikipedia:FM2+ Socket|FM2+ socket]] and  [[Wikipedia:Socket_FP3|FP3 socket]] (mobile.)
  
==== /etc/make.conf ====
+
Desktop steamroller APUs include the [[Wikipedia:AMD_Accelerated_Processing_Unit#Steamroller_architecture_.282014.29:_Kaveri|A-Series with codename Kaveri]], such as the quad-core AMD A10-7850K APU. Steamroller APUs are also available in mobile versions. Server steamroller APUs will include the Berlin APUs, which are expected to be released some time in 2015.
  
MAKEOPTS can be used to define how many parallel compilations should occur when you compile a package, which can speed up compilation significantly. A rule of thumb is the number of CPUs (or CPU threads) in your system plus one. If for example you have a dual core processor without [[wikipedia:Hyper-threading|hyper-threading]], then you would set MAKEOPTS to 3:
+
Amd64-steamroller subarches are instruction-compatible with amd64-piledriver, but add new instructions over amd64-bulldozer.
  
<pre>
+
=== amd64-jaguar ===
MAKEOPTS="-j3"
+
<console>
</pre>
+
CFLAGS: -march=btver2 -O2 -pipe
 +
CHOST: x86_64-pc-linux-gnu
 +
USE: mmx sse sse2 sse3 sse4 3dnow 3dnowext
 +
</console>
 +
 
 +
The '''amd64-jaguar''' (also called AMD Family 16h) subarch supports the  [[Wikipedia:Jaguar (microarchitecture)|AMD jaguar microarchitecture]], which is targeted at low-power devices, including notebooks, tablets and small form-factor desktops and servers. It is perhaps most well-known for being the microarchitecture used for the [[Wikipedia:Playstation 4|Playstation 4]] and [[Wikipedia:Xbox One|Xbox One]], which each use custom 8-core Jaguar APUs.
 +
Socketed Jaguar APUs use the [[Wikipedia:AM1 Socket|AM1 socket]], and  [[Wikipedia:Socket_FT3|FT3 socket]] for mobile devices. G-series [[Wikipedia:System_on_a_chip|"system on a chip" (SoC)]] APUs are available for non-socketed devices such as tablets and embedded system boards.
 +
 
 +
Desktop Jaguar APUs include the [[Wikipedia:List_of_AMD_accelerated_processing_unit_microprocessors#.22Kabini.22.2C_.22Temash.22_.282013.2C_28_nm.29|Kabini A-series APUs and Temash E-series APUs]], such as the Athlon 5150 and 5350 APUs, and Sempron 2650 and 3850.
 +
 
 +
Amd64-jaguar subarches use the MOVBE instruction which is not available on amd64-bulldozer, amd64-piledriver or amd64-steamroller. They are thus not instruction-compatible with any of these subarches.
  
If you are unsure about how many processors/threads you have then use nproc to help you.
+
== 64-bit Intel Processors ==
 +
=== core2_64 ===
 
<console>
 
<console>
(chroot) # ##i##nproc
+
CFLAGS: -march=core2 -O2 -pipe
16
+
CHOST: x86_64-pc-linux-gnu
 +
USE: mmx sse sse2 sse3 ssse3
 
</console>
 
</console>
  
Set MAKEOPTS to this number plus one:
+
The '''core2_64''' subarch supports 64-bit-capable [[Wikipedia:Intel_Core_2|Intel Core 2 Processors]], which includes ''some'' processors of the [[Wikipedia:Intel Core (microarchitecture)|Core]] and all processors of the [[Wikipedia:Penryn_(microarchitecture)|Penryn]] microarchitecture. All "Core 2" branded processors are 64-bit-capable. These processors were introduced in July of 2006 and were phased out in July of 2011, in favor of  [[Wikipedia:Nehalem_(microarchitecture)|Nehalem-based]] processors.
  
<pre>
+
For a full list of 64-bit capable Core 2 processors, [http://ark.intel.com/search/advanced?s=t&FamilyText=Legacy%20Intel%C2%AE%20Core%E2%84%A22%20Processor&InstructionSet=64-bit see this link].
MAKEOPTS="-j17"
+
</pre>
+
  
USE flags define what functionality is enabled when packages are built. It is not recommended to add a lot of them during installation; you should wait until you have a working, bootable system before changing your USE flags. A USE flag prefixed with a minus ("<code>-</code>") sign tells Portage not to use the flag when compiling. A Funtoo guide to USE flags will be available in the future. For now, you can find out more information about USE flags in the [http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=2&chap=2 Gentoo Handbook].
+
The 64-bit capable ''Core 2''-branded CPUs include: "Conroe"/"Allendale" (dual-core for desktops), "Merom" (dual-core for laptops), "Merom-L" (single-core for laptops), "Kentsfield" (quad-core for desktops), and the updated variants named "Wolfdale" (dual-core for desktops), "Penryn" (dual-core for laptops), and "Yorkfield" (quad-core for desktops). (Note: ''For the server and workstation "Woodcrest", "Tigerton", "Harpertown" and "Dunnington" CPUs see the [[Wikipedia:Xeon|Xeon]] brand''.)
  
LINGUAS tells Portage which local language to compile the system and applications in (those who use LINGUAS variable like OpenOffice). It is not usually necessary to set this if you use English. If you want another language such as French (fr) or German (de), set LINGUAS appropriately:
+
=== corei7 ===
 +
<console>
 +
CFLAGS: -march=corei7 -O2 -pipe
 +
CHOST: x86_64-pc-linux-gnu
 +
USE: mmx sse sse2 sse3 ssse3 sse4
 +
</console>
  
<pre>
+
Beginning in November 2008, Intel launched the first Core i7 processor, codenamed [[Wikipedia:Bloomfield_(microprocessor)|Bloomfield]], based on the [[Wikipedia:Nehalem_(microarchitecture)|Nehalem]] microarchitecture. With this launch, they also added to and modified the conventions of the [[Wikipedia:Intel_Core|Intel Core]] branding scheme. '''(Not to be confused with the [[Wikipedia:Intel Core (microarchitecture)|Intel Core microarchitecture]], which has only been supported by the processors sold under the Core2 brand. See [[Subarches#core2_64|core2_64]].)'''. This new naming scheme distinguishes between grades of processors rather than microarchitectures or design. Therefore, the '''corei7''' subarch supports the [[Wikipedia:Nehalem_(microarchitecture)|Nehalem]], [[Wikipedia:Westmere_(microarchitecture)|Westmere]], [[Wikipedia:Sandy_Bridge_(microarchitecture)|Sandy Bridge]],  [[Wikipedia:Ivy_Bridge_(microarchitecture)|Ivy Bridge]], and [[Wikipedia:Haswell_(microarchitecture)|Haswell]] microarchitectures under the follow brand names:
LINGUAS="fr"
+
</pre>
+
  
==== /etc/conf.d/hwclock ====
+
* Intel Core i3 (entry-level consumer)
If you dual-boot with Windows, you'll need to edit this file and change the value of '''clock''' from '''UTC''' to '''local''', because Windows will set your hardware clock to local time every time you boot Windows. Otherwise you normally wouldn't need to edit this file.
+
* Intel Core i5 (mainstream consumer)
 +
* Intel Corei7 (high-end consumer/business)
 +
* Intel Xeon (business server/workstation)
 +
 
 +
=== atom_64 ===
 
<console>
 
<console>
(chroot) # ##i##nano -w /etc/conf.d/hwclock
+
CFLAGS: -O2 -fomit-frame-pointer -march=atom -pipe -mno-movbe
 +
CHOST: x86_64-pc-linux-gnu
 +
USE: mmx sse sse2 sse3
 
</console>
 
</console>
  
==== Localization ====
+
The Intel Atom Processor is the common name for Intel's  [[Wikipedia:Bonnell_(microarchitecture)|Bonnell microarchitecture]],  which represents a partial revival of the principles used in earlier Intel designs such as P5 and the i486, with the sole purpose of enhancing the performance per watt ratio.  Successor to the [[Wikipedia:Stealey_(microprocessor)|Intel A100 series (Stealey)]], which was derived from the [[Wikipedia:Pentium_M|Pentium M]], the Intel Atom has been produced since 2008. Targeted at low-power devices, Atom processors can be found in a wide range of notebooks, tablets and small form-factor desktops and servers.
 +
 
 +
The '''atom_64''' sub-architecture supports 64-bit capable Intel Atom CPUs.  The first 64-bit capable Intel Atom CPUs were the Intel Atom 230 and 330, released in late 2008. However, Intel also continued to produce new 32-bit Atom Processors after this date. For example, the Atom N2xx series Atom Diamondville models cannot support 64-bit operation, while the 2xx and 3xx Diamondville, Pineview, Cedarview and Centerton can. A full list of 64-bit capable Intel Atom Processors [http://ark.intel.com/search/advanced?s=t&FamilyText=Intel%C2%AE%20Atom%E2%84%A2%20Processor&InstructionSet=64-bit can be seen here.]
 +
 
 +
{{Important|For 64-bit support to be functional, a 64-bit capable Atom Processor must be paired ''with a processor, chipset, and BIOS'' that all support [[Wikipedia:X86-64#Intel_64|Intel 64]]. If not all hardware supports 64-bit, then you must use the '''atom_32''' subarch instead.}}
  
By default, Funtoo Linux is configured with Unicode (UTF-8) enabled, and for the US English locale and keyboard. If you would like to configure your system to use a non-English locale or keyboard, see [[Funtoo Linux Localization]].
+
{{:Install/Footer}}

Revision as of 19:33, November 19, 2014

Funtoo Linux Sub-Architectures

This page provides an overview of Funtoo Linux sub-architectures (also called subarches,) designed for quick and easy reference. While this information is available in other places, such as Wikipedia, it often takes some time to study and cross-reference the various articles to get a good understanding of each type of sub-architecture, and this information generally isn't all collected neatly in one place. That is the purpose of this page. When possible, links to more detailed Wikipedia pages are provided. You are encouraged to help maintain this page as well as the Wikipedia articles referenced here.

64-bit Suport (Generic)

generic_64

CFLAGS: -mtune=generic -O2 -pipe
CHOST: x86_64-pc-linux-gnu
USE: mmx sse sse2

The generic_64 subarch is designed to support 64-bit PC-compatible CPUs, such as the AMD K8-series processors, which were introduced in late 2003. They were notable as the first processors that supported the AMD64 (also called X86-64) 64-bit instruction set for PC-compatible systems, which was introduced as a backwards-compatible 64-bit alternative to Intel's IA-64 architecture. Intel followed suit and also began supporting this 64-bit instruction set, which they called "Intel 64", by releasing X86-64 64-bit compatible CPUs from mid-2004 onwards (See Intel 64 implementations.)

AMD desktop 64-bit CPUs include the Athlon 64, Athlon 64 FX, Athlon 64 X2, Athlon X2, Turion 64, Turion 64 X2 and Sempron series processors. AMD server processors were released under the Opteron brand and have codenames SledgeHammer, Venus, Troy, Athens, Denmark, Italy, Egypt, Santa Ana and Santa Rosa. All Opterons released through late 2006 were based on the K8 microarchitecture with original X86-64 instructions.

64-bit AMD Processors

amd64-k10

CFLAGS: -march=amdfam10 -O2 -pipe
CHOST: x86_64-pc-linux-gnu
USE: mmx sse sse2 sse3 3dnow 3dnowext

The amd64-k10 subarch provides support for the AMD Family 10h processors, which were released in late 2007 as a successor to the AMD K8 series processors.

Desktop amd64-k10 CPUs include AMD Phenom, AMD Phenom II and AMD Athlon II. Server CPUs include Opterons with codenames Budapest, Barcelona, Suzuka, Shanghai, Istanbul, Lisbon, and Magny-Cours. A full listing of amd64-k10 Opteron models can be found here.

amd64-bulldozer

CFLAGS: -march=bdver1 -O2 -pipe
CHOST: x86_64-pc-linux-gnu
USE: mmx sse sse2 sse3 sse4 3dnow 3dnowext

The amd64-bulldozer subarch supports the AMD bulldozer microarchitecture CPUs, which were released from late 2011 through the first quarter of 2012 as a replacement for the K10 microarchitecture CPUs. Bulldozer desktop CPUs use the AM3+ socket and server CPUs use the G34 socket.

Desktop bulldozer CPUs include the Zambezi FX-series CPUs. Server bulldozer CPUs include Opterons with codenames Zurich (Opteron 3200-series), Valencia (Opteron 4200-series) and Interlagos (Opteron 6200 series). A complete list of Opteron models can be found here..

amd64-piledriver

CFLAGS: -march=bdver2 -O2 -pipe
CHOST: x86_64-pc-linux-gnu
USE: mmx sse sse2 sse3 sse4 3dnow 3dnowext

The amd64-piledriver subarch supports the AMD Piledriver microarchitecture produced by AMD from mid-2012 through 2015, which is the successor to the AMD bulldozer microarchitecture. Piledriver CPUs and APUs are available that use the FM2 socket. Desktop Piledriver CPUs use the AM3+ socket. Server Piledriver CPUs use a variety of sockets, including AM3+, C32 and G34.

Desktop piledriver CPU and APUs include FX-series with codename Vishera (FX-8350, FX-8370), A-series with codename Trinity (A6-5400K, A10-5800K) and A-series with codename Richland.

Server piledriver CPUs include Opterons with codenames Delhi (Opteron 3300-series, AM3+), Seoul (Opteron 4300-series, C32) and Abu Dhabi (Opteron 6300-series, G34). A full listing of Opteron models is available here.

Piledriver adds several new instructions over bulldozer, so AMD bulldozer systems cannot run amd64-piledriver-optimized stages. However, this subarch is instruction-compatible with its successor, the, so amd64-piledriver stages can run on amd64-steamroller systems, and vice versa.

amd64-steamroller

CFLAGS: -march=bdver3 -O2 -pipe
CHOST: x86_64-pc-linux-gnu
USE: mmx sse sse2 sse3 sse4 3dnow 3dnowext

The amd64-steamroller subarch supports the AMD steamroller microarchitecture, produced from early 2014. It is the successor to the AMD Piledriver microarchitecture. Steamroller APUs are available that use the FM2+ socket and FP3 socket (mobile.)

Desktop steamroller APUs include the A-Series with codename Kaveri, such as the quad-core AMD A10-7850K APU. Steamroller APUs are also available in mobile versions. Server steamroller APUs will include the Berlin APUs, which are expected to be released some time in 2015.

Amd64-steamroller subarches are instruction-compatible with amd64-piledriver, but add new instructions over amd64-bulldozer.

amd64-jaguar

CFLAGS: -march=btver2 -O2 -pipe
CHOST: x86_64-pc-linux-gnu
USE: mmx sse sse2 sse3 sse4 3dnow 3dnowext

The amd64-jaguar (also called AMD Family 16h) subarch supports the AMD jaguar microarchitecture, which is targeted at low-power devices, including notebooks, tablets and small form-factor desktops and servers. It is perhaps most well-known for being the microarchitecture used for the Playstation 4 and Xbox One, which each use custom 8-core Jaguar APUs. Socketed Jaguar APUs use the AM1 socket, and FT3 socket for mobile devices. G-series "system on a chip" (SoC) APUs are available for non-socketed devices such as tablets and embedded system boards.

Desktop Jaguar APUs include the Kabini A-series APUs and Temash E-series APUs, such as the Athlon 5150 and 5350 APUs, and Sempron 2650 and 3850.

Amd64-jaguar subarches use the MOVBE instruction which is not available on amd64-bulldozer, amd64-piledriver or amd64-steamroller. They are thus not instruction-compatible with any of these subarches.

64-bit Intel Processors

core2_64

CFLAGS: -march=core2 -O2 -pipe
CHOST: x86_64-pc-linux-gnu
USE: mmx sse sse2 sse3 ssse3

The core2_64 subarch supports 64-bit-capable Intel Core 2 Processors, which includes some processors of the Core and all processors of the Penryn microarchitecture. All "Core 2" branded processors are 64-bit-capable. These processors were introduced in July of 2006 and were phased out in July of 2011, in favor of Nehalem-based processors.

For a full list of 64-bit capable Core 2 processors, see this link.

The 64-bit capable Core 2-branded CPUs include: "Conroe"/"Allendale" (dual-core for desktops), "Merom" (dual-core for laptops), "Merom-L" (single-core for laptops), "Kentsfield" (quad-core for desktops), and the updated variants named "Wolfdale" (dual-core for desktops), "Penryn" (dual-core for laptops), and "Yorkfield" (quad-core for desktops). (Note: For the server and workstation "Woodcrest", "Tigerton", "Harpertown" and "Dunnington" CPUs see the Xeon brand.)

corei7

CFLAGS: -march=corei7 -O2 -pipe
CHOST: x86_64-pc-linux-gnu
USE: mmx sse sse2 sse3 ssse3 sse4

Beginning in November 2008, Intel launched the first Core i7 processor, codenamed Bloomfield, based on the Nehalem microarchitecture. With this launch, they also added to and modified the conventions of the Intel Core branding scheme. (Not to be confused with the Intel Core microarchitecture, which has only been supported by the processors sold under the Core2 brand. See core2_64.). This new naming scheme distinguishes between grades of processors rather than microarchitectures or design. Therefore, the corei7 subarch supports the Nehalem, Westmere, Sandy Bridge, Ivy Bridge, and Haswell microarchitectures under the follow brand names:

  • Intel Core i3 (entry-level consumer)
  • Intel Core i5 (mainstream consumer)
  • Intel Corei7 (high-end consumer/business)
  • Intel Xeon (business server/workstation)

atom_64

CFLAGS: -O2 -fomit-frame-pointer -march=atom -pipe -mno-movbe
CHOST: x86_64-pc-linux-gnu
USE: mmx sse sse2 sse3

The Intel Atom Processor is the common name for Intel's Bonnell microarchitecture, which represents a partial revival of the principles used in earlier Intel designs such as P5 and the i486, with the sole purpose of enhancing the performance per watt ratio. Successor to the Intel A100 series (Stealey), which was derived from the Pentium M, the Intel Atom has been produced since 2008. Targeted at low-power devices, Atom processors can be found in a wide range of notebooks, tablets and small form-factor desktops and servers.

The atom_64 sub-architecture supports 64-bit capable Intel Atom CPUs. The first 64-bit capable Intel Atom CPUs were the Intel Atom 230 and 330, released in late 2008. However, Intel also continued to produce new 32-bit Atom Processors after this date. For example, the Atom N2xx series Atom Diamondville models cannot support 64-bit operation, while the 2xx and 3xx Diamondville, Pineview, Cedarview and Centerton can. A full list of 64-bit capable Intel Atom Processors can be seen here.

Important

For 64-bit support to be functional, a 64-bit capable Atom Processor must be paired with a processor, chipset, and BIOS that all support Intel 64. If not all hardware supports 64-bit, then you must use the atom_32 subarch instead.