From: Andi Kleen <ak@muc.de>
To: "Kosta Porotchkin" <kporotchkin@gmx.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: IO APIC error
Date: 03 May 2002 01:57:45 +0200 [thread overview]
Message-ID: <m3bsbycdc6.fsf@averell.firstfloor.org> (raw)
In-Reply-To: <007a01c1f234$d7214eb0$a396a8c0@compaq12xl510a>
"Kosta Porotchkin" <kporotchkin@gmx.net> writes:
>1. For some reason the "dmesg" is not displaying an early kernel messages.
>The log started somewhere from CPU #2 initialization (which is third CPU -
>Two Xeons are recognized as four processors, it is normal). I stopped this
>kernel in debugger and got some messages from MP table parsing procedure
>which were not included in "dmesg" output:
Increase the buffer in kernel/printk.c
>3. The things are going wrong during the test phase (i.e. after the "testing
>the IO APIC....................." is printed). IO APIC #2 register #00 reads
>02008000, which is wrong according to the chipset specification - should be
>02000000. That is the reason I got the warning "unexpected IO-APIC, please
>mail to linux-smp@vger.kernel.org". Let's said that the platform I using is
>pretty new and some hardware errors may happen, so I am less worry about
>this particular message. The most strange thing is the readings from the
>rest of IO APICs. The IO APIC #3 reads physical ID 4, #4 also 4, both # 5
>and #8 has 08000000 in their register #00. How it can be?
It's possible that the mptable is wrong. Windows uses ACPI to find
the IO-APIC, so the mptable is often not well tested. It may help
to change the MP support in the BIOS setup from 1.4 to 1.1.
> 4. When I tried to understand the source code, I found that all the IO APIC
> operations are done trough the fixed memory addresses (io_apic_read() and
> io_apic_write() in io_apic.h). I am sure, I do not understand the boot
> process enough for asking my questions, but probably someone from Linux
> community will help me to solve this problem. Why the fixed addresses are
> used? Shouldn't we use the base address provided by BIOS in MP table for
> each IO APIC?
The MP table contains physical addresses. Linux kernel uses virtual
addresses. The physical addresses are mapped to the fixed virtual
addresses in init_apic_mappings().
-Andi
prev parent reply other threads:[~2002-05-02 23:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-02 23:44 IO APIC error Kosta Porotchkin
2002-05-02 23:57 ` Andi Kleen [this message]
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=m3bsbycdc6.fsf@averell.firstfloor.org \
--to=ak@muc.de \
--cc=kporotchkin@gmx.net \
--cc=linux-kernel@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