Arch specific notes — Alpha
The Alpha port uses the alpha
keyword. It focuses upon HP (formerly Compaq
(formerly DEC)) hardware. This covers from ev4
(known as 21064) through
ev7z
(known as 21364a).
Alpha kernel and userland ABIs
All Alpha systems use a pure 64 bit kernel and a pure 64 bit userland.
All Alpha systems support both little and big endian — however, Linux only uses little endian.
Additional Alpha keywording requirements
It is generally expected that anyone who does keywording for Alpha should be on
the alpha@
alias. However the Alpha team is happy if maintainers keyword
their packages when they have access to Alpha hardware, although the team would
like to know about it.
Alpha instruction set and performance notes
There are six basic Alpha instructions set standards:
-
ev4
orev45
. Theev4
was the first Alpha processor of the Alpha family. It featured one integer pipeline and one floating-point pipeline. Theev45
is a modifiedev4
with double both Data and Instruction cache (D-Cache and I-Cache respectively); it also featured a division optimization. -
ev5
is an evolution of theev45
. The number of pipelines was doubled and the floating-point pipelines run in 9 stages rather than in 10. Theev5
supports 3 cache levels. -
ev56
added the BWX extension to load/store data in 8 or 16 bit quanta. -
pca56
added a new set, MVI (Motion Video Instructions), aimed to accelerate video and audio calculations. -
ev6
supports all extensions supported by thepca56
and a new set, FIX, meant to move data between integer and floating-point registers and for square root. -
ev67
is an evolution of theev6
, in addition it supports a new set. CIX adds instructions for counting and finding bits.
When no -mcpu
option is passed to gcc
it defaults to the processor on
which the compiler was built.
The -mieee
flag should always be used unless you have a deep knowledge
of the Alpha architecture, so the comments on
Not filtering variables are
really important on Alpha.
Notes on Alpha and PIC
General Position Independent Code policy also applies to Alpha. In fact, Alpha systems complain loudly if you try to link PIC and non-PIC code. Usually this results in errors during the compilation aborting emerge.