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

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

 



On Sat, May 24, 2008 at 11:12 AM, Peter Teoh <htmldeveloper@xxxxxxxxx> wrote:
> On Sat, May 24, 2008 at 11:06 AM, Peter Teoh <htmldeveloper@xxxxxxxxx> wrote:
>> 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) {
>
> Sorry, the revision guide URL above is for 3.09, and so it listed
> erratum 1 to 92...with missing numbers in between, one of them is
> #22....but since the kernel source mentioned revision >= 2, so the
> erratum must be described in another revision guide...not sure
> where....but the idea is the same....keep searching....and new
> features in the CPU sometimes cannot be relied on.....
>
>>                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.
>>


I think I found it .... there are many different revision guide with
erratum #22:

AMD-766
Peripheral Bus Controller
Revision Guide

http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/23615.pdf

22 Multiprocessor System May Hang While in FULL APIC Mode and IOAPIC
Interrupt is
   Masked

-- 
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