Thread (1 message) 1 message, 1 author, 2012-06-22

arm erratas (config options)

From: Måns Rullgård <hidden>
Date: 2012-06-22 12:57:23

Russell King - ARM Linux [off-list ref] writes:
On Fri, Jun 22, 2012 at 12:05:44PM +0200, Alexander Holler wrote:
quoted
E.g. /proc/cpuinfo talks about variant and revision while all the help  
texts for the erratas are talking about rNpM (which I would translate to  
"revision" and "patch level", without knowing the real meanings).
rNpM is a hardware thing.  On the test chips which ARM Ltd supply on
their platforms, it's marked on the case.  With SoC vendors, the only
way to know this definitively is to ask them.
The N and M values are contained in the main ID register on any core
with a standard CP15 system control interface.  Occasionally, an
implementation will have incorrect values here, e.g. (some?) Samsung
Exynos4 chips, and don't ask me how that happens, but most of the time
these values are reliable.

The fields in /proc/cpuinfo are indeed populated from the ID register.
The raw value of the ID register is also printed to the kernel log early
on.
quoted
This makes it necessary to translate "variant" to 'r' and "revision" to  
'p', which isn't really obvious (because most people would translate  
"revision" to 'r' and would wonder how to find the value for 'p' in  
/proc/cpuinfo or somewhere else).
The variant and revision are terms used in the ARM ARM (or was used at
some point) which don't always reflect the rNpM marking on the package.
Sometimes, a hardware change is made which updates the rNpM but doesn't
update the ID registers.  So they can't be relied upon.
The ARM ARM refers to the version fields in the main ID register as
"variant" and "revision" without assigning any specific meaning to
them beyond noting that "typically, [the variant] field distinguishes
between different product variants, or major revisions of a product."

The rNpM versioning scheme is commonly used by ARM, not only for CPU
cores.  The mapping of these versions to ID register fields is
unfortunately a little confusing, as you have noted.

-- 
M?ns Rullg?rd
mans at mansr.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help