public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Fernando Lopez-Lezcano <nando@ccrma.Stanford.EDU>
Cc: linux-kernel@vger.kernel.org, Karsten Wiese <annabellesgarden@yahoo.de>
Subject: Re: 2.6.13-rc7-rt4, fails to build
Date: Tue, 30 Aug 2005 08:28:11 +0200	[thread overview]
Message-ID: <20050830062811.GA6516@elte.hu> (raw)
In-Reply-To: <1125364522.7630.108.camel@cmn37.stanford.edu>


* Fernando Lopez-Lezcano <nando@ccrma.Stanford.EDU> wrote:

> I still get the error, it is happening in the _smp_ build, I don't 
> know what's wrong...
> 
> arch/i386/mach-generic/built-in.o(.text+0x1183): In function
> `es7000_rename_gsi':
> arch/i386/mach-generic/../mach-es7000/es7000plat.c:68: undefined
> reference to `nr_ioapic_registers'
> make: *** [.tmp_vmlinux1] Error 1
> 
> I'm attaching the .config I'm using for the smp build. 

ok, managed to reproduce it with this .config. It's an effect of the 
IOAPIC_CACHE code. I have fixed it with the patch below (which is also 
in 2.6.13-rt2), and the resulting kernel builds & boots fine. Karsten, 
does it look sane to you?

	Ingo

Index: linux/arch/i386/kernel/io_apic.c
===================================================================
--- linux.orig/arch/i386/kernel/io_apic.c
+++ linux/arch/i386/kernel/io_apic.c
@@ -143,6 +141,10 @@ struct ioapic_data_struct {
 
 static struct ioapic_data_struct *ioapic_data[MAX_IO_APICS];
 
+int nr_ioapic_registers(int apic)
+{
+	return ioapic_data[apic]->nr_registers;
+}
 
 static inline unsigned int __raw_io_apic_read(struct ioapic_data_struct *ioapic, unsigned int reg)
 {
Index: linux/arch/i386/mach-es7000/es7000plat.c
===================================================================
--- linux.orig/arch/i386/mach-es7000/es7000plat.c
+++ linux/arch/i386/mach-es7000/es7000plat.c
@@ -65,7 +65,7 @@ es7000_rename_gsi(int ioapic, int gsi)
 	if (!base) {
 		int i;
 		for (i = 0; i < nr_ioapics; i++)
-			base += nr_ioapic_registers[i];
+			base += nr_ioapic_registers(i);
 	}
 
 	if (!ioapic && (gsi < 16)) 
Index: linux/include/asm-i386/io_apic.h
===================================================================
--- linux.orig/include/asm-i386/io_apic.h
+++ linux/include/asm-i386/io_apic.h
@@ -101,7 +101,7 @@ union IO_APIC_reg_03 {
  * # of IO-APICs and # of IRQ routing registers
  */
 extern int nr_ioapics;
-extern int nr_ioapic_registers[MAX_IO_APICS];
+extern int nr_ioapic_registers(int apic);
 
 enum ioapic_irq_destination_types {
 	dest_Fixed = 0,
 

  parent reply	other threads:[~2005-08-30  6:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-29  1:02 2.6.13-rc7-rt4, fails to build Fernando Lopez-Lezcano
2005-08-29  8:35 ` Ingo Molnar
2005-08-29 16:57   ` Fernando Lopez-Lezcano
2005-08-30  5:48     ` Ingo Molnar
2005-08-30 19:47       ` Fernando Lopez-Lezcano
2005-08-30 20:59         ` Alan Cox
2005-08-30  1:15   ` Fernando Lopez-Lezcano
2005-08-30  1:45     ` Lee Revell
2005-08-30  1:58       ` Fernando Lopez-Lezcano
2005-08-30  6:28     ` Ingo Molnar [this message]
2005-08-30  9:50       ` Karsten Wiese

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=20050830062811.GA6516@elte.hu \
    --to=mingo@elte.hu \
    --cc=annabellesgarden@yahoo.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nando@ccrma.Stanford.EDU \
    /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