https://bugzilla.novell.com/show_bug.cgi?id=162076

           Summary: "apic" or "noapic" needed to boot install CD -- Clevo
                    M540N Core Duo Laptop
           Product: SUSE Linux 10.1
           Version: Beta 8
          Platform: PC
        OS/Version: SuSE Linux 10.1
            Status: NEW
          Severity: Critical
          Priority: P5 - None
         Component: Kernel
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
         QAContact: [EMAIL PROTECTED]


The SL 10.1 BETA8 install CD does not boot on a Clevo M540N Core Duo Laptop
without either the "apic" or "noapic" cmdline flags manually added.

The installed kernel boots with or without any of these options.
But the installation process remembers whichever option was
used to get the install CD booted, so the installed system will
'remember' the workaround if it needs it or not.  Eg. if "noapic"
was used, the result may be the odd-bird of an SMP system
running in XT-PIC mode.

The failure goes away if the SuSE specific option on the installer
kernel CONFIG_X86_APIC_OFF is disabled.  There are multiple issues
related to this failure.

First, dmi_num_cpus == 1 on a dual-core laptop is not a reliable
method of determining if the installed kernel will be running SMP
(and thus using the IOAPIC).  The ACPI MADT is the only reliable
method on a modern system to enumerate all the logical processors.
Note that with DMI, HT-enalbed single-package systems will have
the same issue as this multi-core system.

Second, the DMI BIOS Vendor = "Intel*" is not a sufficient method
to determine if the system is an Intel chip-set based system --
where the IOAPIC is expected to work.  While boards that are Intel
products will match this string, other boards with all Intel parts
on them can be seen with OEM names such as IBM, Dell, Acer, TOSHIBA.
In the case of the Clevo M540N, the core BIOS vendor, Phoenix, is listed
as the BIOS vendor.  The PCI.vendor_id is probably a better way
to go to identify the system hardware if that is available.

The 3rd issue here is a bug in the current Clevo M540N BIOS DMI info:
BIOS Information
        Vendor: Phoenix Technologies NAPA0001.86C.0049.D.06022217490000
        Version: 02/22/06
        Release Date: <BAD INDEX>

Here the Version has the date, but the Date is not readable,
so Linux gets a BIOS date at the year 0, and prints this message:

 "IO/L-APIC disabled because your old system seems to be old\n");
                printk(KERN_INFO "overwrite with \"apic\"\n");

The 4th issue is that when Linux prints this message, it disables
the LAPIC with enable_local_apic = -1; but it neglects to
disable the IOAPIC.  This confuses the heck out of the interrupt
code later on, which can fail in a variety of ways.
I found that skip_ioapic_setup=1; in dmi-check_apic()
was sufficient to make the system come up in noapic mode --
even though it shouldn't have been coming up in that mode
in the first place.

The Clevo M540N booted off the CD hanged here:
udevd_event[1095]: wait_for_sysfs: waiting  for
/sys/devices/pci0000:00/0000:00:1f:1/ide0.0/bus failed

But depending on the kernel and the system configuration,
the failure may look different.  This system failed to talk
to its PCI SATA drive -- but a legacy IDE drive probably
would have worked.  Other systems could have other devices
fail depending on if they have interrupts mapped to the
legacy or the IOAPIC IRQs.

Thanks to Andi Kleen for sending me the .config for the installer
kernel and SuSE's CONFIG_X86_APIC_OFF patch so I could isolate this.


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
acpi-bugzilla mailing list
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to