public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: William Lee Irwin III <wli@holomorphy.com>
To: Phil Brunner <pbrunner1@earthlink.net>
Cc: Andrew Morton <akpm@osdl.org>, linux-kernel@vger.kernel.org
Subject: Re: 2.6.7-rc3-mm1
Date: Wed, 9 Jun 2004 19:52:21 -0700	[thread overview]
Message-ID: <20040610025221.GT1444@holomorphy.com> (raw)
In-Reply-To: <40C7C310.1010009@earthlink.net>

[-- Attachment #1: Type: text/plain, Size: 490 bytes --]

Andrew Morton wrote:
>>ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.7-rc3/2.6.7-rc3-mm1/
>>

On Wed, Jun 09, 2004 at 07:10:24PM -0700, Phil Brunner wrote:
> Could not compile with CONFIG_X86_IO_APIC=y. Function call to 
> (undefined) mp_register_gsi in arch/i386/kernel/acpi/boot.c is the problem.
> Code in arch/i386/kernel/mpparse.c may be the appropriate function 
> definition (?).

Please apply the following 3 patches applied in order and run with them:


-- wli

[-- Attachment #2: 01-physical_broadcast_fixes.patch --]
[-- Type: text/plain, Size: 3484 bytes --]

Index: mm1-2.6.7-rc3/arch/i386/kernel/mpparse.c
===================================================================
--- mm1-2.6.7-rc3.orig/arch/i386/kernel/mpparse.c	2004-06-09 07:11:51.335601000 -0700
+++ mm1-2.6.7-rc3/arch/i386/kernel/mpparse.c	2004-06-09 07:42:04.221000000 -0700
@@ -107,7 +107,7 @@
 #ifdef CONFIG_X86_NUMAQ
 static int MP_valid_apicid(int apicid, int version)
 {
-	return hweight_long(i & 0xf) == 1 && (i >> 4) != 0xf;
+	return hweight_long(apicid & 0xf) == 1 && (apicid >> 4) != 0xf;
 }
 #else
 static int MP_valid_apicid(int apicid, int version)
@@ -207,7 +207,7 @@
 	num_processors++;
 	ver = m->mpc_apicver;
 
-	if (MP_valid_apicid(m->mpc_apicid, ver))
+	if (MP_valid_apicid(apicid, ver))
 		MP_mark_version_physids(ver);
 	else {
 		printk(KERN_WARNING "Processor #%d INVALID. (Max ID: %d).\n",
@@ -871,7 +871,7 @@
 	MP_processor_info(&processor);
 }
 
-#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
+#if defined(CONFIG_X86_IO_APIC) && (defined(CONFIG_ACPI_INTERPRETER) || defined(CONFIG_ACPI_BOOT))
 
 #define MP_ISA_BUS		0
 #define MP_MAX_IOAPIC_PIN	127
@@ -1103,5 +1103,5 @@
 		    active_high_low == ACPI_ACTIVE_HIGH ? 0 : 1);
 }
 
-#endif /*CONFIG_X86_IO_APIC && CONFIG_ACPI_INTERPRETER*/
+#endif /*CONFIG_X86_IO_APIC && (CONFIG_ACPI_INTERPRETER || CONFIG_ACPI_BOOT)*/
 #endif /*CONFIG_ACPI_BOOT*/
Index: mm1-2.6.7-rc3/arch/i386/kernel/io_apic.c
===================================================================
--- mm1-2.6.7-rc3.orig/arch/i386/kernel/io_apic.c	2004-06-09 07:11:51.323603000 -0700
+++ mm1-2.6.7-rc3/arch/i386/kernel/io_apic.c	2004-06-09 07:30:06.936044000 -0700
@@ -722,7 +722,7 @@
 
 __setup("pirq=", ioapic_pirq_setup);
 
-static int get_physical_broadcast(void)
+int get_physical_broadcast(void)
 {
 	unsigned int lvr, version;
 	lvr = apic_read(APIC_LVR);
Index: mm1-2.6.7-rc3/include/asm-i386/mach-default/mach_apic.h
===================================================================
--- mm1-2.6.7-rc3.orig/include/asm-i386/mach-default/mach_apic.h	2004-06-09 07:11:51.513574000 -0700
+++ mm1-2.6.7-rc3/include/asm-i386/mach-default/mach_apic.h	2004-06-09 07:42:51.696783000 -0700
@@ -79,7 +79,10 @@
 
 static inline int cpu_present_to_apicid(int mps_cpu)
 {
-	return  mps_cpu;
+	if (mps_cpu < get_physical_broadcast())
+		return  mps_cpu;
+	else
+		return BAD_APICID;
 }
 
 static inline physid_mask_t apicid_to_cpu_present(int phys_apicid)
Index: mm1-2.6.7-rc3/include/asm-i386/mach-visws/mach_apic.h
===================================================================
--- mm1-2.6.7-rc3.orig/include/asm-i386/mach-visws/mach_apic.h	2004-06-09 07:11:51.635555000 -0700
+++ mm1-2.6.7-rc3/include/asm-i386/mach-visws/mach_apic.h	2004-06-09 07:29:30.131639000 -0700
@@ -60,7 +60,10 @@
 
 static inline int cpu_present_to_apicid(int mps_cpu)
 {
-	return mps_cpu;
+	if (mps_cpu < get_physical_broadcast())
+		return mps_cpu;
+	else
+		return BAD_APICID;
 }
 
 static inline physid_mask_t apicid_to_cpu_present(int apicid)
Index: mm1-2.6.7-rc3/include/asm-i386/apic.h
===================================================================
--- mm1-2.6.7-rc3.orig/include/asm-i386/apic.h	2004-06-07 12:15:12.000000000 -0700
+++ mm1-2.6.7-rc3/include/asm-i386/apic.h	2004-06-09 07:29:54.104995000 -0700
@@ -41,6 +41,8 @@
 	do { } while ( apic_read( APIC_ICR ) & APIC_ICR_BUSY );
 }
 
+int get_physical_broadcast(void);
+
 #ifdef CONFIG_X86_GOOD_APIC
 # define FORCE_READ_AROUND_WRITE 0
 # define apic_read_around(x)

[-- Attachment #3: 02-remove_mp_mark_version_physids.patch --]
[-- Type: text/plain, Size: 1451 bytes --]

Index: mm1-2.6.7-rc3/arch/i386/kernel/mpparse.c
===================================================================
--- mm1-2.6.7-rc3.orig/arch/i386/kernel/mpparse.c	2004-06-09 07:42:04.221000000 -0700
+++ mm1-2.6.7-rc3/arch/i386/kernel/mpparse.c	2004-06-09 07:54:51.703325000 -0700
@@ -119,16 +119,6 @@
 }
 #endif
 
-static void MP_mark_version_physids(int version)
-{
-	int i;
-
-	for (i = 0; i < MAX_APICS; ++i) {
-		if (!MP_valid_apicid(i, version))
-			physid_set(i, phys_cpu_present_map);
-	}
-}
-
 void __init MP_processor_info (struct mpc_config_processor *m)
 {
  	int ver, apicid;
@@ -207,9 +197,7 @@
 	num_processors++;
 	ver = m->mpc_apicver;
 
-	if (MP_valid_apicid(apicid, ver))
-		MP_mark_version_physids(ver);
-	else {
+	if (!MP_valid_apicid(apicid, ver)) {
 		printk(KERN_WARNING "Processor #%d INVALID. (Max ID: %d).\n",
 			m->mpc_apicid, MAX_APICS);
 		--num_processors;
Index: mm1-2.6.7-rc3/arch/i386/mach-visws/mpparse.c
===================================================================
--- mm1-2.6.7-rc3.orig/arch/i386/mach-visws/mpparse.c	2004-06-09 07:11:51.380594000 -0700
+++ mm1-2.6.7-rc3/arch/i386/mach-visws/mpparse.c	2004-06-09 07:57:04.521134000 -0700
@@ -75,14 +75,6 @@
 			m->mpc_apicid);
 		ver = 0x10;
 	}
-	if (ver >= 0x14)
-		physid_set(0xff, phys_cpu_present_map);
-	else {
-		int i;
-
-		for (i = 0xf; i < MAX_APICS; ++i)
-			physid_set(i, phys_cpu_present_map);
-	}
 	apic_version[m->mpc_apicid] = ver;
 }
 

[-- Attachment #4: 03-mach_default_compile.patch --]
[-- Type: text/plain, Size: 1650 bytes --]

Index: mm1-2.6.7-rc3/include/asm-i386/mach-default/mach_apic.h
===================================================================
--- mm1-2.6.7-rc3.orig/include/asm-i386/mach-default/mach_apic.h	2004-06-09 08:08:00.000000000 -0700
+++ mm1-2.6.7-rc3/include/asm-i386/mach-default/mach_apic.h	2004-06-09 08:10:17.000000000 -0700
@@ -2,6 +2,7 @@
 #define __ASM_MACH_APIC_H
 
 #include <mach_apicdef.h>
+#include <asm/smp.h>
 
 #define APIC_DFR_VALUE	(APIC_DFR_FLAT)
 
Index: mm1-2.6.7-rc3/arch/i386/kernel/io_apic.c
===================================================================
--- mm1-2.6.7-rc3.orig/arch/i386/kernel/io_apic.c	2004-06-09 08:08:00.000000000 -0700
+++ mm1-2.6.7-rc3/arch/i386/kernel/io_apic.c	2004-06-09 08:13:05.000000000 -0700
@@ -722,17 +722,6 @@
 
 __setup("pirq=", ioapic_pirq_setup);
 
-int get_physical_broadcast(void)
-{
-	unsigned int lvr, version;
-	lvr = apic_read(APIC_LVR);
-	version = GET_APIC_VERSION(lvr);
-	if (version >= 0x14)
-		return 0xff;
-	else
-		return 0xf;
-}
-
 /*
  * Find the IRQ entry number of a certain pin.
  */
Index: mm1-2.6.7-rc3/arch/i386/kernel/apic.c
===================================================================
--- mm1-2.6.7-rc3.orig/arch/i386/kernel/apic.c	2004-06-09 08:06:44.000000000 -0700
+++ mm1-2.6.7-rc3/arch/i386/kernel/apic.c	2004-06-09 08:13:27.000000000 -0700
@@ -80,6 +80,17 @@
 	apic_write_around(APIC_LVT0, v);
 }
 
+int get_physical_broadcast(void)
+{
+	unsigned int lvr, version;
+	lvr = apic_read(APIC_LVR);
+	version = GET_APIC_VERSION(lvr);
+	if (version >= 0x14)
+		return 0xff;
+	else
+		return 0xf;
+}
+
 int get_maxlvt(void)
 {
 	unsigned int v, ver, maxlvt;

  parent reply	other threads:[~2004-06-10  2:52 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-09  8:50 2.6.7-rc3-mm1 Andrew Morton
2004-06-09 11:25 ` 2.6.7-rc3-mm1 Eric BEGOT
2004-06-09 13:13   ` 2.6.7-rc3-mm1 Zwane Mwaikambo
2004-06-09 13:36     ` 2.6.7-rc3-mm1 William Lee Irwin III
2004-06-09 13:42       ` 2.6.7-rc3-mm1 William Lee Irwin III
2004-06-09 13:43       ` 2.6.7-rc3-mm1 Zwane Mwaikambo
2004-06-09 14:48         ` 2.6.7-rc3-mm1 William Lee Irwin III
2004-06-09 14:58           ` 2.6.7-rc3-mm1 William Lee Irwin III
2004-06-09 15:16             ` 2.6.7-rc3-mm1 William Lee Irwin III
     [not found]             ` <40C73198.4080700@yahoo.fr>
2004-06-09 15:50               ` 2.6.7-rc3-mm1 William Lee Irwin III
2004-06-09 16:35 ` 2.6.7-rc3-mm1 Norberto Bensa
2004-06-09 17:05   ` 2.6.7-rc3-mm1 William Lee Irwin III
2004-06-09 17:46     ` 2.6.7-rc3-mm1 Norberto Bensa
2004-06-10  3:38     ` 2.6.7-rc3-mm1 Norberto Bensa
2004-06-09 17:59 ` 2.6.7-rc3-mm1 William Lee Irwin III
2004-06-09 19:50   ` 2.6.7-rc3-mm1 William Lee Irwin III
2004-06-09 23:44 ` 2.6.7-rc3-mm1 (compile stats) John Cherry
2004-06-10  2:10 ` 2.6.7-rc3-mm1 Phil Brunner
2004-06-10  2:22   ` 2.6.7-rc3-mm1 Andrew Morton
2004-06-10  2:52   ` William Lee Irwin III [this message]
2004-06-10  8:59     ` 2.6.7-rc3-mm1 Phil Brunner
2004-06-10  5:16 ` 2.6.7-rc3-mm1 Clemens Schwaighofer
2004-06-10  5:31   ` 2.6.7-rc3-mm1 William Lee Irwin III
2004-06-10  6:54     ` 2.6.7-rc3-mm1 Clemens Schwaighofer
2004-06-11  4:36 ` 2.6.7-rc3-mm1 Paul Jackson
2004-06-11  5:47   ` 2.6.7-rc3-mm1 Andrew Morton
2004-06-11  5:53     ` 2.6.7-rc3-mm1 Paul Jackson
  -- strict thread matches above, loose matches on Subject: below --
2004-06-09 15:33 2.6.7-rc3-mm1 Peter Maas
2004-06-09 15:52 ` 2.6.7-rc3-mm1 William Lee Irwin III
2004-06-09 20:03 2.6.7-rc3-mm1 Nguyen, Tom L
2004-06-10  0:51 2.6.7-rc3-mm1 Nguyen, Tom L
     [not found] <2576k-4hW-13@gated-at.bofh.it>
     [not found] ` <25LZK-88C-17@gated-at.bofh.it>
2004-06-11 10:48   ` 2.6.7-rc3-mm1 Andi Kleen
2004-06-11 11:32     ` 2.6.7-rc3-mm1 Paul Jackson

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=20040610025221.GT1444@holomorphy.com \
    --to=wli@holomorphy.com \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbrunner1@earthlink.net \
    /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