From: "Earle R. Nietzel" <nietzel@rhinobox.org>
To: linux-smp <linux-smp@vger.kernel.org>
Subject: How does an UNEXPECTED_IO_APIC happen?
Date: 17 Apr 2003 14:58:01 +0200 [thread overview]
Message-ID: <1050584281.3616.34.camel@home> (raw)
How does an UNEXPECTED_IO_APIC happen?
(as of 2.4.20)
Probably everyone has seen this common message among who has new
hardware or
hardware that is not very common.
"An unexpected IO-APIC was found."
The most common questions that are askes as a result are:
Many people will ask what does this mean? Is something broke? Is my
system not stable because of this? Does this affect my performance? How
can I fix this?
To answer all of those questions with just one answer:
This message does not identify that something is broke, or that a system
is unstable, or that it could affect your performance what it does do is
allow kernel programmers (most likely Ingo Molnar) to see what types of
hardware (motherboards) are out there and to create a known list (the
vanilla list).
How does your hardware get onto the list?
That I do not know and the maintainer (Ingo Molnar) would be the person
to ask.
How does an UNEXPECTED_IO_APIC happen?
The IO_APIC is read into 3 structures that are each 32 bits (u32) and
are packed with different fields:
register#00 = 0x02000000
|||-----
rIr
eDe
s s
1 2
res1 is 4 bits (reserved)
ID is 4 bits
res2 is the remaining 24 bits (reserved)
register#01 = 0x00178020
|-|-|-|-
r e Prv
e n Ree
s t Qsr
1 r 2s
i i
e o
s n
res1 is 8 bits (reserved)
entries is 8 bits
*PRQ is 1 bit (the 16th bit)
*res2 is 7 bits (reserved)
version is 8 bits
(*PRQ and reserved make up 8 bits with PRQ being the first)
register#02 = 0x00000000
|||-----
rar
ere
sbs
1i2
t
r
a
t
i
o
n
res1 is 4 bits (reserved)
arbitration is 4 bits
res2 is the remaining 24 bits (reserved)
After reading each IO_APIC they are examined, for example:
On my SuperMicro X5DAE (Dual Xeon 2.4G, Intel E7505):
IO APIC #2......
.... register #00: 02000000
....... : physical APIC id: 02
.... register #01: 00178020
....... : max redirection entries: 0017
....... : PRQ implemented: 1
....... : IO APIC version: 0020
.... register #02: 00000000
....... : arbitration: 00
IO APIC #3......
.... register #00: 03000000
....... : physical APIC id: 03
.... register #01: 00178020
....... : max redirection entries: 0017
....... : PRQ implemented: 1
....... : IO APIC version: 0020
.... register #02: 03000000
....... : arbitration: 03
IO APIC #4......
.... register #00: 04000000
....... : physical APIC id: 04
.... register #01: 00178020
....... : max redirection entries: 0017
....... : PRQ implemented: 1
....... : IO APIC version: 0020
.... register #02: 04000000
....... : arbitration: 04
The rules for generating an UNEXPECTED_IO_APIC are:
1)If any value other than 0 is found in the reserved bit areas (res1 ||
res2) of the 3 registers it is considered an unexpected IO_APIC.
2)In register#01 if the entries field contains any other value except:
0x0f (older (Neptune) boards)
0x17 (typical ISA+PCI boards)
0x1b (Compaq Proliant boards)
0x1f (dual Xeon boards)
0x22 (bigger Xeon boards)
0x2E (?)
0x3F (?)
3)In register#01 if the version field contains any other value except:
0x01 (82489DX IO-APICs)
0x02 (VIA)
0x10 (oldest IO-APICs)
0x11 (Pentium/Pro IO-APICs)
0x13 (Xeon IO-APICs)
0x20 (Intel P64H [82806 AA])
--
Earle R. Nietzel <nietzel@rhinobox.org>
next reply other threads:[~2003-04-17 12:58 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-17 12:58 Earle R. Nietzel [this message]
2003-04-17 17:16 ` How does an UNEXPECTED_IO_APIC happen? Randy.Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1050584281.3616.34.camel@home \
--to=nietzel@rhinobox.org \
--cc=linux-smp@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox