Re: What do the noapic/nolapic kernel arguments do?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 22, 2008 at 1:43 AM, Mayank Kaushik <mayank.utexas@xxxxxxxxx> wrote:
> Hi everyone,
>
> I have been reading Chapter 9 of the Intel Processor Manuals, Vol 3A
> (System Programming Guide), which details the APIC.
> I have noticed that we often have to add the noapic and nolapic
> arguments to the kernel command line to make devices like the wireless
> card work. The explanation for these options simply stated that this
> is to overcome "buggy bios implementations".
>
> Can someone here explain what could possibly be the bug in the bios
> that necessitates the use of these arguments? Further, what does the
> kernel do differently when it sees these arguments?
>
> Thanks for your help,
> Mayank
>
> --

For an example of CPU bugs, check the revision guide for AMD processor:

http://www.datasheetcatalog.org/datasheet/AdvancedMicroDevices/mXuuwq.pdf

And from page 11 to the end are all the different Erratum nos:

and specifically for erratum #22:

inside kernel source code drivers/pci/quirks.c:

/*
 * The AMD io apic can hang the box when an apic irq is masked.
 * We check all revs >= B0 (yet not in the pre production!) as the bug
 * is currently marked NoFix
 *
 * We have multiple reports of hangs with this chipset that went away with
 * noapic specified. For the moment we assume it's the erratum. We may be wrong
 * of course. However the advice is demonstrably good even if so..
 */
static void __devinit quirk_amd_ioapic(struct pci_dev *dev)
{
        if (dev->revision >= 0x02) {
                dev_warn(&dev->dev, "I/O APIC: AMD Erratum #22 may be
present. In the event of instability try\n");
                dev_warn(&dev->dev, "        : booting with the
\"noapic\" option\n");
        }
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD,
PCI_DEVICE_ID_AMD_VIPER_7410,   quirk_amd_ioapic);

The above is the rectification for the error, basically by setting
noapic option u overcome the error.

Just an example.


-- 
Regards,
Peter Teoh

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux