Re: 2.6.8-rc4-mm1 doesn't boot

From: Bjorn Helgaas (bjorn.helgaas_at_hp.com)
Date: 08/12/04

  • Next message: haiquy_at_yahoo.com: "Problem report. USB flash disk problem with 2.6.7"
    To: Len Brown <len.brown@intel.com>
    Date:	Thu, 12 Aug 2004 15:50:15 -0600
    
    

    On Wednesday 11 August 2004 3:32 pm, Len Brown wrote:
    > I've never understood this floppy IRQ6 business.
    > Apparently it requests IRQ6, but doesn't show up in /proc/interrupts

    floppy_init() requests IRQ6, but then frees it before returning. It
    looks like the driver only holds onto it while the device is actually
    open, which explains why it doesn't usually show up in /proc/interrupts.

    Len later wrote:
    > I assert it is a BIOS bug for the BIOS to set LNKD to
    > IRQ6 if there is a floppy present and enabled; but fair
    > game if there is no floppy. Though perhaps floppy.c
    > doesn't understand that.

    Adrian has the floppies disabled in the BIOS, so maybe it's
    legit to use IRQ6 for the NIC PCI interrupt. But floppy.c
    doesn't check for anything like that as far as I can see.

    The fact that floppy.c seems to be able to poke the controller
    and get an interrupt back (with "pci=routeirq") suggests to me
    that the floppy controller responds even when disabled in the
    BIOS, and that it actually expects IRQ6 to be level-triggered,
    but the BIOS is leaving it configured as edge-triggered.

    I suspect that the patch below will "fix" it. I suppose we could
    use a DMI-based quirk to poke this. But it still feels like a
    better solution would be to change floppy.c to:

            if (ACPI && (no floppy in ACPI namespace))
                    return -ENODEV
            <poke around as we do today>

    --- 2.6.8-rc4-mm1/arch/i386/kernel/dmi_scan.c.orig 2004-08-12 15:04:59.302833471 -0600
    +++ 2.6.8-rc4-mm1/arch/i386/kernel/dmi_scan.c 2004-08-12 15:05:08.475684921 -0600
    @@ -21,7 +21,7 @@
             u16 handle;
     };
     
    -#undef DMI_DEBUG
    +#define DMI_DEBUG 1
     
     #ifdef DMI_DEBUG
     #define dmi_printk(x) printk x
    --- 2.6.8-rc4-mm1/arch/i386/pci/irq.c.orig 2004-08-10 16:23:45.801962683 -0600
    +++ 2.6.8-rc4-mm1/arch/i386/pci/irq.c 2004-08-12 15:23:35.494226047 -0600
    @@ -953,6 +953,17 @@
     
     static int __init pcibios_irq_init(void)
     {
    + unsigned int irq = 6;
    + unsigned char mask = 1 << (irq & 7);
    + unsigned int port = 0x4d0 + (irq >> 3);
    + unsigned char val = inb(port);
    +
    + printk("%s: PIC edge/level control 0x%x\n", __FUNCTION__, val);
    + if (!(val & mask)) {
    + printk("%s: changing IRQ6 to level (0x%x)\n", __FUNCTION__, val | mask);
    + outb(val | mask, port);
    + }
    +
             DBG("PCI: IRQ init\n");
     
             if (pcibios_enable_irq || raw_pci_ops == NULL)
    --- 2.6.8-rc4-mm1/drivers/block/floppy.c.orig 2004-08-12 11:20:49.326435733 -0600
    +++ 2.6.8-rc4-mm1/drivers/block/floppy.c 2004-08-12 15:28:07.282308655 -0600
    @@ -1743,6 +1743,7 @@
             int do_print;
             unsigned long f;
     
    + printk("%s\n", __FUNCTION__);
             lasthandler = handler;
             interruptjiffies = jiffies;
     
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: haiquy_at_yahoo.com: "Problem report. USB flash disk problem with 2.6.7"

    Relevant Pages

    • Re: 2.6.8-rc4-mm1 doesnt boot
      ... > floppy_initrequests IRQ6, but then frees it before returning. ... >> I assert it is a BIOS bug for the BIOS to set LNKD to ... >> game if there is no floppy. ... Linux from setting the device to that IRQ even if we wanted to. ...
      (Linux-Kernel)
    • Re: RAID Setup and DP35DP?
      ... BIOS 0262 "removed floppy menu screen for boards that don't support it" ... ... Thus I want to specify RAID now in the BIOS as Intel strongly recommends, ... All this I did OK last week with a Vista install, but that week taught me that I strongly want to be running WinXP instead. ...
      (comp.sys.intel)
    • Re: OT: USB sub-system: more observations and some conclusions
      ... Before you run off to flash the bios of the windows machine, go to Sourceforge and get the ClamAV program for Windows and update it with the latest AV file. ... Recently I used it to copy a flashbios file onto a floppy to flash up-date another computer. ... Formatting and copying worked OK. ...
      (comp.os.os2.setup.misc)
    • Re: RAID Setup and DP35DP?
      ... Is there any option in the BIOS regarding floppy drives? ... install process is now dead to the install process. ...
      (comp.sys.intel)
    • Re: How can I flash the Bios with out a flopy drive?
      ... I use live update and it offers me a bios upgrade that will allow faster socket A processors. ... But it only allows bios flash from floppy in Dos not from windows because I'm using NTFS. ... That whole area of USB bootability is somewhat fraught, I know of at least a ...
      (uk.comp.homebuilt)