Bug 1117
Summary: | ACPI options tree inaccessible when SMP off | ||
---|---|---|---|
Product: | ACPI | Reporter: | D Bandopadhyay (dhruba) |
Component: | Config-Processors | Assignee: | Len Brown (lenb) |
Status: | CLOSED CODE_FIX | ||
Severity: | blocking | CC: | acpi-bugzilla |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.0-test3-bk3 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
lspci.txt
/usr/src/linux-2.6.0-test3-bk3/.config dmesg.txt |
Description
D Bandopadhyay
2003-08-16 12:29:41 UTC
Created attachment 657 [details]
lspci.txt
Created attachment 658 [details]
/usr/src/linux-2.6.0-test3-bk3/.config
Created attachment 659 [details]
dmesg.txt
Looks like it depends on a local apic. Whether this is a good idea or not, I'll leave to Andy to decide, but ... can you try turning on local apic support (which SMP probably does automatically, but you should be able to turn on explicitly in UP mode as well), and confirm that is the problem? config ACPI_HT bool "ACPI Processor Enumeration for HT" depends on (X86 && X86_LOCAL_APIC) default y config ACPI bool "Full ACPI Support" depends on !X86_VISWS depends on !IA64_HP_SIM depends on IA64 || (X86 && ACPI_HT) default y That is correct. From my testing it is evident that ACPI options are accessible with SMP off but with Local APIC on. However, my machine (laptop) does not have a Local APIC but requires ACPI so it would be nice not to have the former but have the latter. What are the reasons for tying in APIC with ACPI? When Local APIC is enabled ACPI appears as 'ACPI Processor Enumeration for HT'. This is misleading as in my case there is only a single CPU (without local APIC) and as such there is no hyperthreading. Here is what dmesg says with APIC enabled:- Dell Inspiron with broken BIOS detected. Refusing to enable the local APIC. Also, with 'Local APIC support on uniprocessors' enabled and 'IO-APIC support on uniprocessors' disabled the compilation (make) of the kernel fails with the following error message:- CC arch/i386/kernel/mpparse.o arch/i386/kernel/mpparse.c: In function `mp_config_ioapic_for_sci': arch/i386/kernel/mpparse.c:1065: warning: implicit declaration of function `mp_find_ioapic' arch/i386/kernel/mpparse.c:1067: `mp_ioapic_routing' undeclared (first use in this function) arch/i386/kernel/mpparse.c:1067: (Each undeclared identifier is reported only once arch/i386/kernel/mpparse.c:1067: for each function it appears in.) arch/i386/kernel/mpparse.c:1069: warning: implicit declaration of function `io_apic_set_pci_routing' arch/i386/kernel/mpparse.c: In function `mp_parse_prt': arch/i386/kernel/mpparse.c:1113: `mp_ioapic_routing' undeclared (first use in this function) make[1]: *** [arch/i386/kernel/mpparse.o] Error 1 make: *** [arch/i386/kernel] Error 2 If the latter option is enabled, the kernel compiles fine. I removed the dependency of ACPI_HT from ACPI (below), removed SMP & APIC from my kernel config, recompiled and everything is running fine. Seems to me that the dependency was added incorrectly. config ACPI bool "Full ACPI Support" depends on !X86_VISWS depends on !IA64_HP_SIM #depends on IA64 || (X86 && ACPI_HT) depends on IA64 || X86 default y fixed in latest 2.4.22 patch -- will appear in the 2.4 and 2.6 trees shortly. Hello. Thanks for looking at my problem. From my use of bk-9 it is evident that the ACPI tree is accessible when both SMP and Local APIC are turned off which is good. However, the label for ACPI root node is still "ACPI Processor Enumeration for HT". To me this does not seem right and should only be the case if SMP was turned on. Admittedly, now new single intel processors can hyperthread so that may justify it. However, in my case there is no HT with a single processor. Anyway, the problem of ACPI tree being inaccessible has already been solved so please take initiative to deal with this bug as you wish. With regards. This has been fixed. Please close! |