From: Matthew Wilcox <willy@debian.org>
To: john stultz <johnstul@us.ibm.com>
Cc: Go Taniguchi <go@turbolinux.co.jp>,
willy@debian.org, Andrew Morton <akpm@osdl.org>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: 2.6.3-mm3 hangs on boot x440 (scsi?)
Date: Thu, 26 Feb 2004 23:15:50 +0000 [thread overview]
Message-ID: <20040226231550.GY25779@parcelfarce.linux.theplanet.co.uk> (raw)
In-Reply-To: <1077836576.2857.168.camel@cog.beaverton.ibm.com>
On Thu, Feb 26, 2004 at 03:02:56PM -0800, john stultz wrote:
> On Thu, 2004-02-26 at 13:26, john stultz wrote:
> > On Thu, 2004-02-26 at 06:40, Go Taniguchi wrote:
> > > Hi,
> > >
> > > Andrew Morton wrote:
> > > > john stultz <johnstul@us.ibm.com> wrote:
> > > >>I went back to 2.6.3-mm1 (as it was a smaller diff) and the problem was
> > > >>there as well.
> > >
> > > Problem patch is expanded-pci-config-space.patch.
> > > x440 can not enable acpi by dmi_scan.
> > > expanded-pci-config-space.patch need acpi support.
> > > So, kernel can not get x440's xAPIC interrupt.
> >
> > Wow, thanks for that analysis Go! I'll test it here to confirm.
>
> Yep, I've confirmed that backing out the expanded-pci-config-space patch
> solves it. Thanks again, Go, for hunting that down!
>
> Matthew, any ideas why the patch fails if the system has an ACPI
> blacklist entry?
Hrm. I was just asked to break out some of the ACPI code rearrangement
from the rest of the patch. Can you try this patch instead of the
expanded-pci-config-space.patch and tell me whether it continues to fail
for you?
I don't understand why it should make a difference though. It looks
to me like the current code will also fail to call the HPET code if the
bios is blacklisted.
Index: arch/i386/kernel/acpi/boot.c
===================================================================
RCS file: /var/cvs/linux-2.6/arch/i386/kernel/acpi/boot.c,v
retrieving revision 1.10
diff -u -p -r1.10 boot.c
--- a/arch/i386/kernel/acpi/boot.c 17 Feb 2004 12:51:46 -0000 1.10
+++ b/arch/i386/kernel/acpi/boot.c 26 Feb 2004 16:34:12 -0000
@@ -398,55 +398,10 @@ acpi_find_rsdp (void)
return rsdp_phys;
}
-/*
- * acpi_boot_init()
- * called from setup_arch(), always.
- * 1. maps ACPI tables for later use
- * 2. enumerates lapics
- * 3. enumerates io-apics
- *
- * side effects:
- * acpi_lapic = 1 if LAPIC found
- * acpi_ioapic = 1 if IOAPIC found
- * if (acpi_lapic && acpi_ioapic) smp_found_config = 1;
- * if acpi_blacklisted() acpi_disabled = 1;
- * acpi_irq_model=...
- * ...
- *
- * return value: (currently ignored)
- * 0: success
- * !0: failure
- */
-int __init
-acpi_boot_init (void)
+static int acpi_apic_setup(void)
{
- int result = 0;
-
- if (acpi_disabled && !acpi_ht)
- return 1;
-
- /*
- * The default interrupt routing model is PIC (8259). This gets
- * overriden if IOAPICs are enumerated (below).
- */
- acpi_irq_model = ACPI_IRQ_MODEL_PIC;
-
- /*
- * Initialize the ACPI boot-time table parser.
- */
- result = acpi_table_init();
- if (result) {
- acpi_disabled = 1;
- return result;
- }
-
- result = acpi_blacklisted();
- if (result) {
- printk(KERN_WARNING PREFIX "BIOS listed in blacklist, disabling ACPI support\n");
- acpi_disabled = 1;
- return result;
- }
+ int result;
#ifdef CONFIG_X86_LOCAL_APIC
@@ -506,24 +461,17 @@ acpi_boot_init (void)
acpi_lapic = 1;
-#endif /*CONFIG_X86_LOCAL_APIC*/
+#endif /* CONFIG_X86_LOCAL_APIC */
#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
/*
* I/O APIC
- * --------
*/
- /*
- * ACPI interpreter is required to complete interrupt setup,
- * so if it is off, don't enumerate the io-apics with ACPI.
- * If MPS is present, it will handle them,
- * otherwise the system will stay in PIC mode
- */
- if (acpi_disabled || acpi_noirq) {
+ if (acpi_noirq) {
return 1;
- }
+ }
/*
* if "noapic" boot option, don't look for IO-APICs
@@ -538,8 +486,7 @@ acpi_boot_init (void)
if (!result) {
printk(KERN_ERR PREFIX "No IOAPIC entries present\n");
return -ENODEV;
- }
- else if (result < 0) {
+ } else if (result < 0) {
printk(KERN_ERR PREFIX "Error parsing IOAPIC entry\n");
return result;
}
@@ -576,9 +523,71 @@ acpi_boot_init (void)
}
#endif
+ return 0;
+}
+
+/*
+ * acpi_boot_init()
+ * called from setup_arch(), always.
+ * 1. maps ACPI tables for later use
+ * 2. enumerates lapics
+ * 3. enumerates io-apics
+ *
+ * side effects:
+ * acpi_lapic = 1 if LAPIC found
+ * acpi_ioapic = 1 if IOAPIC found
+ * if (acpi_lapic && acpi_ioapic) smp_found_config = 1;
+ * if acpi_blacklisted() acpi_disabled = 1;
+ * acpi_irq_model=...
+ * ...
+ *
+ * return value: (currently ignored)
+ * 0: success
+ * !0: failure
+ */
+
+int __init
+acpi_boot_init (void)
+{
+ int result, error;
+
+ if (acpi_disabled && !acpi_ht)
+ return 1;
+
+ /*
+ * The default interrupt routing model is PIC (8259). This gets
+ * overriden if IOAPICs are enumerated (below).
+ */
+ acpi_irq_model = ACPI_IRQ_MODEL_PIC;
+
+ /*
+ * Initialize the ACPI boot-time table parser.
+ */
+ result = acpi_table_init();
+ if (result) {
+ acpi_disabled = 1;
+ return result;
+ }
+
+ result = acpi_blacklisted();
+ if (result) {
+ printk(KERN_WARNING PREFIX "BIOS listed in blacklist, disabling ACPI support\n");
+ acpi_disabled = 1;
+ return result;
+ }
+
+ error = acpi_apic_setup();
+
#ifdef CONFIG_HPET_TIMER
- acpi_table_parse(ACPI_HPET, acpi_parse_hpet);
+ result = acpi_table_parse(ACPI_HPET, acpi_parse_hpet);
+ if (result < 0) {
+ printk(KERN_ERR PREFIX "Error %d parsing HPET\n", result);
+ if (!error)
+ error = result;
+ } else if (result > 1) {
+ printk(KERN_WARNING PREFIX "Multiple HPET tables exist\n");
+ }
#endif
- return 0;
+ return error;
}
--
"Next the statesmen will invent cheap lies, putting the blame upon
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince
himself that the war is just, and will thank God for the better sleep
he enjoys after this process of grotesque self-deception." -- Mark Twain
next prev parent reply other threads:[~2004-02-26 23:17 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-02-23 1:22 2.6.3-mm3 Andrew Morton
2004-02-23 1:43 ` 2.6.3-mm3 Nick Piggin
2004-02-23 1:55 ` 2.6.3-mm3 Andrew Morton
2004-02-23 2:02 ` 2.6.3-mm3 Nick Piggin
2004-02-23 2:51 ` 2.6.3-mm3 Nick Piggin
2004-02-23 3:04 ` 2.6.3-mm3 Nick Piggin
2004-02-23 8:08 ` 2.6.3-mm3 Nick Piggin
2004-02-23 8:48 ` [PATCH] vm-fix-all_zones_ok (was Re: 2.6.3-mm3) Nick Piggin
2004-02-23 8:59 ` Andrew Morton
2004-02-23 9:21 ` Nick Piggin
2004-02-23 9:24 ` Andrew Morton
2004-02-23 16:23 ` Bill Davidsen
2004-02-23 22:47 ` Chris Wedgwood
2004-02-24 4:11 ` Nick Piggin
2004-02-24 9:12 ` Chris Wedgwood
2004-02-24 9:22 ` Andrew Morton
2004-02-24 9:30 ` Chris Wedgwood
2004-02-24 9:37 ` Andrew Morton
2004-02-24 20:55 ` Rik van Riel
2004-02-24 22:36 ` Andrew Morton
2004-02-24 22:41 ` Rik van Riel
2004-02-23 2:19 ` 2.6.3-mm3 Christoph Hellwig
2004-02-23 2:52 ` 2.6.3-mm3 Joshua Kwan
2004-02-23 3:34 ` 2.6.3-mm3 Joshua Kwan
2004-02-23 18:09 ` [patch] 2.6.3-mm3: ALSA miXart driver doesn't compile Adrian Bunk
2004-02-23 18:58 ` 2.6.3-mm3 (compile stats) John Cherry
2004-02-23 20:00 ` Sam Ravnborg
2004-02-24 22:22 ` 2.6.3-mm3 Mike Fedyk
2004-02-24 22:30 ` 2.6.3-mm3 Andrew Morton
2004-02-25 21:27 ` 2.6.3-mm3 Mike Fedyk
2004-02-26 1:06 ` 2.6.3-mm3 Nick Piggin
2004-02-26 1:18 ` 2.6.3-mm3 Marc-Christian Petersen
2004-02-26 1:28 ` 2.6.3-mm3 Mike Fedyk
2004-02-26 1:32 ` 2.6.3-mm3 Mike Fedyk
2004-02-26 1:52 ` 2.6.3-mm3 Nick Piggin
2004-02-26 2:34 ` 2.6.3-mm3 Mike Fedyk
2004-02-26 2:40 ` 2.6.3-mm3 Nick Piggin
2004-02-26 2:48 ` 2.6.3-mm3 Mike Fedyk
2004-02-26 3:05 ` 2.6.3-mm3 Nick Piggin
2004-02-26 3:19 ` 2.6.3-mm3 Mike Fedyk
2004-02-26 3:29 ` 2.6.3-mm3 Nick Piggin
2004-02-26 4:08 ` 2.6.3-mm3 Mike Fedyk
2004-02-26 4:56 ` 2.6.3-mm3 Mike Fedyk
2004-02-27 19:02 ` 2.6.3-mm3 Mike Fedyk
2004-02-27 21:57 ` 2.6.3-mm3 Nick Piggin
2004-02-25 0:26 ` 2.6.3-mm3 hangs on boot x440 (scsi?) john stultz
2004-02-25 1:06 ` Andrew Morton
2004-02-25 1:22 ` john stultz
2004-02-25 1:27 ` john stultz
2004-02-25 1:48 ` Andrew Morton
2004-02-25 22:15 ` john stultz
2004-02-26 14:40 ` Go Taniguchi
2004-02-26 21:26 ` john stultz
2004-02-26 23:02 ` john stultz
2004-02-26 23:15 ` Matthew Wilcox [this message]
2004-02-27 0:14 ` john stultz
2004-02-27 0:58 ` john stultz
2004-02-27 2:25 ` john stultz
2004-02-25 1:15 ` [PATCH 2.6.3-mm3] serialize_writeback_fdatawait patch Daniel McNeil
2004-02-25 1:43 ` Andrew Morton
2004-02-25 22:56 ` Daniel McNeil
2004-02-25 2:51 ` 2.6.3-mm3 Mike Fedyk
2004-02-25 3:09 ` 2.6.3-mm3 Andrew Morton
2004-02-25 3:34 ` 2.6.3-mm3 Mike Fedyk
2004-02-25 10:47 ` 2.6.3-mm3 sometimes freeze on "sync" Helge Hafting
2004-02-25 9:39 ` Andrew Morton
2004-02-26 8:49 ` Helge Hafting
2004-02-27 14:49 ` Alexander Hoogerhuis
2004-02-27 23:34 ` 2.6.3-mm3 john stultz
2004-02-28 0:06 ` 2.6.3-mm3 Andrew Morton
2004-02-28 2:48 ` 2.6.3-mm3 (ioremap failure w/ _X86_4G and _NUMA) john stultz
2004-02-28 3:18 ` Dave Hansen
2004-02-28 4:34 ` Martin J. Bligh
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=20040226231550.GY25779@parcelfarce.linux.theplanet.co.uk \
--to=willy@debian.org \
--cc=akpm@osdl.org \
--cc=go@turbolinux.co.jp \
--cc=johnstul@us.ibm.com \
--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
all inboxes | Powered by JetHome®