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;
next prev parent reply other threads:[~2004-06-10 2:52 UTC|newest]
Thread overview: 35+ 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 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 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 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.