public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* panic during boot: 2.5.53 on alpha
@ 2002-12-27  1:48 Jason Papadopoulos
  2002-12-27 11:37 ` Ivan Kokshaysky
  0 siblings, 1 reply; 3+ messages in thread
From: Jason Papadopoulos @ 2002-12-27  1:48 UTC (permalink / raw)
  To: linux-kernel


Hello. I'm a 2.5 newbie, and hopefully someone can tell me what I'm doing wrong here.

Turning off module support lets the 2.5.53 kernel compile on an Alpha, but
when booting on a DS10 the kernel claims that the argument to "root=" is
invalid, fails to mount the root filesystem, and panics. 

The 2.2 and 2.4 kernels all worked fine with "root=/dev/hda3". The machine
has a single IDE drive; /boot is mounted on hda1, /tmp on hda2, and / on hda3.
The gzipped vmlinux and System.map are both in /boot.

There were some patches for 2.5.52 posted last week for Alpha, but most of the
patch contents were to enable module support which I don't care about at the
moment. 

Apologies if this is a known issue, or if it's just something dumb that I'm doing. I can provide my config file if anyone's interested.

Thanks in advance,
jasonp




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: panic during boot: 2.5.53 on alpha
  2002-12-27  1:48 panic during boot: 2.5.53 on alpha Jason Papadopoulos
@ 2002-12-27 11:37 ` Ivan Kokshaysky
  0 siblings, 0 replies; 3+ messages in thread
From: Ivan Kokshaysky @ 2002-12-27 11:37 UTC (permalink / raw)
  To: Jason Papadopoulos; +Cc: linux-kernel

On Thu, Dec 26, 2002 at 08:48:55PM -0500, Jason Papadopoulos wrote:
> Turning off module support lets the 2.5.53 kernel compile on an Alpha, but
> when booting on a DS10 the kernel claims that the argument to "root=" is
> invalid, fails to mount the root filesystem, and panics. 
> 
> The 2.2 and 2.4 kernels all worked fine with "root=/dev/hda3". The machine
> has a single IDE drive; /boot is mounted on hda1, /tmp on hda2, and / on hda3.
> The gzipped vmlinux and System.map are both in /boot.

The 2.5 is known to have problems with certain IDE chipsets.
Please try appended patch.

Ivan.

--- 2.5.53/drivers/pci/quirks.c	Tue Dec 24 16:13:22 2002
+++ linux/drivers/pci/quirks.c	Fri Dec 27 14:17:43 2002
@@ -536,6 +536,48 @@ static void __init quirk_mediagx_master(
 }
 
 /*
+ * As per PCI spec, ignore base address registers 0-3 of the IDE controllers
+ * running in Compatible mode (bits 0 and 2 in the ProgIf for primary and
+ * secondary channels respectively). If the device reports Compatible mode
+ * but does use BAR0-3 for address decoding, we assume that firmware has
+ * programmed these BARs with standard values (0x1f0,0x3f4 and 0x170,0x374).
+ * Exceptions (if they exist) must be handled in chip/architecture specific
+ * fixups.
+ */ 
+static void __devinit
+quirk_ide_bases(struct pci_dev *dev)
+{
+	struct resource *res;
+	int first_bar = 2, last_bar = 0;
+
+	if ((dev->class >> 8) != PCI_CLASS_STORAGE_IDE)
+		return;
+
+	res = &dev->resource[0];
+
+	/* primary channel: ProgIf bit 0, BAR0, BAR1 */
+	if (!(dev->class & 1) && (res[0].flags || res[1].flags)) { 
+		res[0].start = res[0].end = res[0].flags = 0;
+		res[1].start = res[1].end = res[1].flags = 0;
+		first_bar = 0;
+		last_bar = 1;
+	}
+
+	/* secondary channel: ProgIf bit 2, BAR2, BAR3 */
+	if (!(dev->class & 4) && (res[2].flags || res[3].flags)) { 
+		res[2].start = res[2].end = res[2].flags = 0;
+		res[3].start = res[3].end = res[3].flags = 0;
+		last_bar = 3;
+	}
+
+	if (!last_bar)
+		return;
+
+	printk(KERN_INFO "PCI: Ignoring BAR%d-%d of IDE controller %s\n",
+	       first_bar, last_bar, dev->slot_name);
+}
+
+/*
  *  The main table of quirks.
  */
 
@@ -577,6 +619,7 @@ static struct pci_fixup pci_fixups[] __d
 	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_AL,	PCI_DEVICE_ID_AL_M7101,		quirk_ali7101_acpi },
  	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82371SB_2,	quirk_piix3_usb },
 	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82371AB_2,	quirk_piix3_usb },
+	{ PCI_FIXUP_HEADER,	PCI_ANY_ID,		PCI_ANY_ID,			quirk_ide_bases },
 	{ PCI_FIXUP_FINAL,	PCI_ANY_ID,		PCI_ANY_ID,			quirk_cardbus_legacy },
 
 #ifdef CONFIG_X86_IO_APIC 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: panic during boot: 2.5.53 on alpha
@ 2002-12-27 16:04 Jason Papadopoulos
  0 siblings, 0 replies; 3+ messages in thread
From: Jason Papadopoulos @ 2002-12-27 16:04 UTC (permalink / raw)
  To: linux-kernel


> The 2.5 is known to have problems with certain IDE chipsets.
> Please try appended patch.

After the patch is applied, the kernel finishes initializing the IDE
chipset and then hangs; every so often the message "hda: lost interrupt"
gets printed. For the record, the controller here is an ALI 1543.

On another note, I'm not subscribed to linux-kernel; I read it through
one of the web archives. Is there any resource I can use that will avoid
HTML-mangling the patches that are posted? It's getting really annoying
having to manually clean up posted code.

Thanks,
jasonp

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-12-27 15:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-12-27  1:48 panic during boot: 2.5.53 on alpha Jason Papadopoulos
2002-12-27 11:37 ` Ivan Kokshaysky
  -- strict thread matches above, loose matches on Subject: below --
2002-12-27 16:04 Jason Papadopoulos

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox