From: Johannes Erdfelt <johannes@erdfelt.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Joel Jaeggli <joelja@darkwing.uoregon.edu>,
"Nadav Har'El" <nyh@math.technion.ac.il>,
linux-kernel@vger.kernel.org, agmon@techunix.technion.ac.il
Subject: Re: SMP possible with AMD CPUs?
Date: Wed, 1 Aug 2001 22:16:41 -0400 [thread overview]
Message-ID: <20010801221640.H784@sventech.com> (raw)
In-Reply-To: <Pine.LNX.4.33.0108011318120.19875-100000@twin.uoregon.edu> <E15S6NY-00086O-00@the-village.bc.nu>
In-Reply-To: <E15S6NY-00086O-00@the-village.bc.nu>; from alan@lxorguk.ukuu.org.uk on Thu, Aug 02, 2001 at 01:30:19AM +0100
[-- Attachment #1: Type: text/plain, Size: 586 bytes --]
On Thu, Aug 02, 2001, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> > the combination of the athlon mp and the amd 761 chipset will do
> > multiprocessor support without trouble... you will want to use 2.4 becuase
> > lots of devices on the boards aren't supported by 2.2...
>
> Athlon SMP will actually not always work with 2.2. Quite a few folks
> reported problems and patches for 2.2.20pre fixes that and broke other
> stuff so got reverted.
>
> 2.4 seems to do the job nicely
I sent you a new patch which fixes the problem.
Here's the original with the new patch as well.
JE
[-- Attachment #2: athlon-smp-1.patch --]
[-- Type: text/plain, Size: 1608 bytes --]
Index: linux/arch/i386/kernel/io_apic.c
diff -u linux/arch/i386/kernel/io_apic.c:1.2.12.2 linux/arch/i386/kernel/io_apic.c:1.2.12.3
--- linux/arch/i386/kernel/io_apic.c:1.2.12.2 Thu Sep 28 01:20:08 2000
+++ linux/arch/i386/kernel/io_apic.c Tue Apr 3 15:37:29 2001
@@ -205,8 +205,6 @@
* We disable IO-APIC IRQs by setting their 'destination CPU mask' to
* zero. Trick by Ramesh Nalluri.
*/
-DO_ACTION( disable, 1, &= 0x00ffffff, io_apic_sync(entry->apic))/* destination = 0x00 */
-DO_ACTION( enable, 1, |= 0xff000000, ) /* destination = 0xff */
DO_ACTION( mask, 0, |= 0x00010000, io_apic_sync(entry->apic))/* mask = 1 */
DO_ACTION( unmask, 0, &= 0xfffeffff, ) /* mask = 0 */
@@ -649,7 +647,7 @@
entry.delivery_mode = dest_LowestPrio;
entry.dest_mode = 1; /* logical delivery */
entry.mask = 0; /* enable IRQ */
- entry.dest.logical.logical_dest = 0; /* but no route */
+ entry.dest.logical.logical_dest = 0xff; /* but no route */
idx = find_irq_entry(apic,pin,mp_INT);
if (idx == -1) {
@@ -1066,13 +1064,10 @@
static void enable_edge_ioapic_irq(unsigned int irq)
{
self_IPI(irq);
- enable_IO_APIC_irq(irq);
+ unmask_IO_APIC_irq(irq);
}
-static void disable_edge_ioapic_irq(unsigned int irq)
-{
- disable_IO_APIC_irq(irq);
-}
+static void disable_edge_ioapic_irq(unsigned int irq) { /* nothing */ }
/*
* Starting up a edge-triggered IO-APIC interrupt is
@@ -1298,7 +1293,7 @@
#endif
pin1 = find_timer_pin(mp_INT);
pin2 = find_timer_pin(mp_ExtINT);
- enable_IO_APIC_irq(0);
+ unmask_IO_APIC_irq(0);
if (!timer_irq_works()) {
if (pin1 != -1)
[-- Attachment #3: athlon-smp-2.patch --]
[-- Type: text/plain, Size: 1052 bytes --]
Index: linux/arch/i386/kernel/io_apic.c
diff -u linux/arch/i386/kernel/io_apic.c:1.2.12.3 linux/arch/i386/kernel/io_apic.c:1.2.12.4
--- linux/arch/i386/kernel/io_apic.c:1.2.12.3 Tue Apr 3 15:37:29 2001
+++ linux/arch/i386/kernel/io_apic.c Thu May 17 10:30:20 2001
@@ -204,6 +204,8 @@
/*
* We disable IO-APIC IRQs by setting their 'destination CPU mask' to
* zero. Trick by Ramesh Nalluri.
+ * Not anymore. This causes problems on some IO-APIC's, notably AMD 760MP's
+ * So we do it a more 2.4 kind of way now which should be safer -jerdfelt
*/
DO_ACTION( mask, 0, |= 0x00010000, io_apic_sync(entry->apic))/* mask = 1 */
DO_ACTION( unmask, 0, &= 0xfffeffff, ) /* mask = 0 */
@@ -646,8 +648,8 @@
entry.delivery_mode = dest_LowestPrio;
entry.dest_mode = 1; /* logical delivery */
- entry.mask = 0; /* enable IRQ */
- entry.dest.logical.logical_dest = 0xff; /* but no route */
+ entry.mask = 1; /* disable IRQ */
+ entry.dest.logical.logical_dest = 0xff;
idx = find_irq_entry(apic,pin,mp_INT);
if (idx == -1) {
next prev parent reply other threads:[~2001-08-02 2:16 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-08-01 20:04 SMP possible with AMD CPUs? Nadav Har'El
2001-08-01 20:10 ` Johannes Erdfelt
2001-08-02 4:34 ` William T Wilson
2001-08-02 4:47 ` Johannes Erdfelt
2001-08-01 20:22 ` Joel Jaeggli
2001-08-02 0:30 ` Alan Cox
2001-08-02 1:55 ` Paul G. Allen
2001-08-02 2:16 ` Johannes Erdfelt [this message]
2001-08-02 12:18 ` Alan Cox
2001-08-02 14:11 ` Stephen Torri
2001-08-02 2:45 ` Paul G. Allen
2001-08-02 14:48 ` Alan Cox
2001-08-02 13:48 ` Paul Jakma
2001-08-02 1:11 ` Luigi Genoni
2001-08-02 3:37 ` idalton
2001-08-02 8:08 ` Agus Budy Wuysang
2001-08-02 9:38 ` Paul G. Allen
2001-08-02 10:54 ` Paul G. Allen
2001-08-02 11:50 ` Roger Abrahamsson
[not found] <no.id>
2001-08-02 12:24 ` Alan Cox
2001-08-03 7:07 ` Eric W. Biederman
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=20010801221640.H784@sventech.com \
--to=johannes@erdfelt.com \
--cc=agmon@techunix.technion.ac.il \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=joelja@darkwing.uoregon.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=nyh@math.technion.ac.il \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.