Bug 1117 - ACPI options tree inaccessible when SMP off
Summary: ACPI options tree inaccessible when SMP off
Status: CLOSED CODE_FIX
Alias: None
Product: ACPI
Classification: Unclassified
Component: Config-Processors (show other bugs)
Hardware: i386 Linux
: P2 blocking
Assignee: Len Brown
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-08-16 12:29 UTC by D Bandopadhyay
Modified: 2004-03-03 21:59 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.0-test3-bk3
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
lspci.txt (1.15 KB, text/plain)
2003-08-16 12:31 UTC, D Bandopadhyay
Details
/usr/src/linux-2.6.0-test3-bk3/.config (22.96 KB, text/plain)
2003-08-16 12:32 UTC, D Bandopadhyay
Details
dmesg.txt (9.08 KB, text/plain)
2003-08-16 12:32 UTC, D Bandopadhyay
Details

Description D Bandopadhyay 2003-08-16 12:29:41 UTC
Distribution: Gentoo GNU/Linux
Hardware Environment: Dell Inspiron 8100
Software Environment: XFree 4.3.0
Problem Description: ACPI options tree inaccessible when SMP off

Steps to reproduce:
(1) make menuconfig on a fresh source tree
(2) turn smp off
(3) try to enter the acpi options tree which is not possible since it is locked

Hello

I just migrated my 2.6.0-test3-bk1 config to 2.6.0-test3-bk3 and then found that
I could not get into ACPI at all.  So I hacked around and found that I could
only get into ACPI to turn it on when SMP was enabled.  Disabling it somehow
disabled ACPI completely and I couldn't even get into its options using 'make
menuconfig'.  I've marked this as blocking as lack of good power management  can
be hazardous to laptop hardware.  I've attached useful data to this bug.

Many thanks
Comment 1 D Bandopadhyay 2003-08-16 12:31:47 UTC
Created attachment 657 [details]
lspci.txt
Comment 2 D Bandopadhyay 2003-08-16 12:32:19 UTC
Created attachment 658 [details]
/usr/src/linux-2.6.0-test3-bk3/.config
Comment 3 D Bandopadhyay 2003-08-16 12:32:51 UTC
Created attachment 659 [details]
dmesg.txt
Comment 4 Martin J. Bligh 2003-08-16 19:33:37 UTC
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
Comment 5 D Bandopadhyay 2003-08-17 00:59:24 UTC
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?
Comment 6 D Bandopadhyay 2003-08-17 01:29:31 UTC
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.
Comment 7 D Bandopadhyay 2003-08-17 05:58:40 UTC
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.
Comment 8 Jason Stubbs 2003-08-17 18:13:09 UTC
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 
  
  
Comment 9 Len Brown 2003-08-21 09:52:36 UTC
fixed in latest 2.4.22 patch -- will appear in the 2.4 and 2.6 trees shortly. 
 
Comment 10 D Bandopadhyay 2003-08-22 01:55:27 UTC
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.
Comment 11 D Bandopadhyay 2003-09-07 10:23:03 UTC
This has been fixed.  Please close!

Note You need to log in before you can comment on or make changes to this bug.