Management (APM) specification. If both ACPI and APM support
are configured, whichever is loaded first shall be used.
+ Add "acpi=off" to the kernel command line to disable this feature.
+ (Try "man bootparam" or see the documentation of your boot loader
+ about how to pass options to the kernel at boot time.)
+
+ ----------
+
The ACPI SourceForge project contains the latest source code,
documentation, tools, mailing list subscription, and other
information. This project is available at:
available at:
<http://www.acpi.info>
-CONFIG_ACPI_BOOT
- This option enables the use of ACPI tables for obtaining various
- boot-time configuration information such as system processors,
- memory, and interrupt routing.
-
- ACPI tables supercede legacy BIOS interfaces. For example, the
- Multiple APIC Description Table (MADT) defined by the ACPI
- Specification is a replacement for the MP Configuration Table
- defined by the MultiProcessor Specification (MPS).
-
- You can disable this feature on IA32 systems by adding "acpi_boot=off"
- to your kernel command line. (Try "man bootparam" or see the
- documentation of your boot loader about how to pass options to the
- kernel at boot time.)
-
- IA64 systems do not support legacy BIOS interfaces and thus rely
- on ACPI tables to boot the system. No kernel command line options
- are supported.
-
-CONFIG_ACPI_INTERPRETER
- The ACPI Interpreter (a.k.a. ACPI Core Subsystem) provides the
- fundamental services required to parse the ACPI namespace, evaluate
- control methods, and manage ACPI hardware and events. This
- subsystem exposes kernel interfaces allowing higher level software
- to manipulate ACPI defined hardware and software interfaces.
-
- Add "acpi=off" to the kernel command line to disable this feature.
- (Try "man bootparam" or see the documentation of your boot loader
- about how to pass options to the kernel at boot time.)
+CONFIG_ACPI_HT_ONLY
+ This option enables limited ACPI support -- just enough to
+ enumerate processors from the ACPI Multiple APIC Description
+ Table (MADT). Note that ACPI supports both logical (e.g. Hyper-
+ Threading) and physical processors, where the MultiProcessor
+ Specification (MPS) table only supports physical processors.
- Note that this option will enlarge your kernel by about 100K.
+ Full ACPI support (CONFIG_ACPI) is preferred. Use this option
+ only if you wish to limit ACPI's role to processor enumeration.
-CONFIG_ACPI_BUS
- The ACPI Bus driver enumerates and manages devices in the ACPI
- namespace in a manner similar to other bus drivers (e.g. PCI).
- All ACPI device drivers rely on its services.
+ There is no command-line option to disable this, but the kernel
+ will fall back to the MPS table if the MADT is not present.
CONFIG_ACPI_AC
This driver adds support for the AC Adapter object, which indicates
- whether a system is on AC, or not. Typically, only laptops have
- this object, since desktops are always on AC.
+ whether a system is on AC, or not. Typically, only mobile systems
+ have this object, since desktops are always on AC.
CONFIG_ACPI_BATTERY
This driver adds support for battery information through
- /proc/acpi/battery. If you have a laptop with a battery, say Y.
+ /proc/acpi/battery. If you have a mobile system with a battery,
+ say Y.
CONFIG_ACPI_BUTTON
This driver registers for events based on buttons, such as the
down the system. Until then, you can cat it, and see output when
a button is pressed.
-CONFIG_ACPI_DEBUG
- The ACPI driver can optionally report errors with a great deal
- of verbosity. Saying Y enables these statements. This will increase
- your kernel size by around 50K.
-
CONFIG_ACPI_EC
This driver is required on some systems for the proper operation of
- the battery and thermal drivers. If you are compiling for a laptop,
- say Y.
-
-CONFIG_ACPI_PCI
- This option enables ACPI-based enumeration and configuration of PCI
- root bridge devices, including PCI interrupt routing (_PRT) support.
- This is required on platforms that no longer support legacy tables
- (e.g. MPS/PIR) or have erroneous table entries.
+ the battery and thermal drivers. If you are compiling for a
+ mobile system, say Y.
CONFIG_ACPI_PROCESSOR
This driver installs ACPI as the idle handler for Linux, and uses
This driver will enable your system to shut down using ACPI, and
dump your ACPI DSDT table using /proc/acpi/dsdt.
-CONFIG_ACPI_SLEEP
- Enables low-level sleep support, allowing the platform to enter
- and exit the S1-S4 states. Note that although the platform may
- support this capability, full sleep support will not be viable
- until drivers properly save/restore hardware context. (In other
- words, use at your own risk!)
+CONFIG_ACPI_DEBUG
+ The ACPI driver can optionally report errors with a great deal
+ of verbosity. Saying Y enables these statements. This will increase
+ your kernel size by around 50K.
+
#
# ACPI Configuration
#
+
if [ "$CONFIG_X86" = "y" ]; then
+
mainmenu_option next_comment
comment 'ACPI Support'
- dep_bool 'ACPI Support' CONFIG_ACPI $CONFIG_PCI
+ bool 'ACPI Support' CONFIG_ACPI
if [ "$CONFIG_ACPI" = "y" ]; then
- define_bool CONFIG_ACPI_BOOT y
- define_bool CONFIG_ACPI_BUS y
- define_bool CONFIG_ACPI_EC y
- define_bool CONFIG_ACPI_INTERPRETER y
- define_bool CONFIG_ACPI_PCI y
- define_bool CONFIG_ACPI_POWER y
- define_bool CONFIG_ACPI_SLEEP y
- define_bool CONFIG_ACPI_SYSTEM y
- tristate ' AC Adapter' CONFIG_ACPI_AC
- tristate ' Battery' CONFIG_ACPI_BATTERY
- tristate ' Button' CONFIG_ACPI_BUTTON
- tristate ' Fan' CONFIG_ACPI_FAN
- tristate ' Processor' CONFIG_ACPI_PROCESSOR
- dep_tristate ' Thermal Zone' CONFIG_ACPI_THERMAL $CONFIG_ACPI_PROCESSOR
- bool ' Debug Statements' CONFIG_ACPI_DEBUG
+ if [ "$CONFIG_X86_LOCAL_APIC" = "y" ]; then
+ bool 'CPU Enumeration Only' CONFIG_ACPI_HT_ONLY
+ fi
+
+ if [ "$CONFIG_ACPI_HT_ONLY" = "y" ]; then
+ define_bool CONFIG_ACPI_BOOT y
+ else
+ define_bool CONFIG_ACPI_BOOT y
+ define_bool CONFIG_ACPI_BUS y
+ define_bool CONFIG_ACPI_INTERPRETER y
+ define_bool CONFIG_ACPI_EC y
+ define_bool CONFIG_ACPI_POWER y
+ if [ "$CONFIG_PCI" = "y" ]; then
+ define_bool CONFIG_ACPI_PCI y
+ fi
+ define_bool CONFIG_ACPI_SLEEP y
+ define_bool CONFIG_ACPI_SYSTEM y
+ tristate ' AC Adapter' CONFIG_ACPI_AC
+ tristate ' Battery' CONFIG_ACPI_BATTERY
+ tristate ' Button' CONFIG_ACPI_BUTTON
+ tristate ' Fan' CONFIG_ACPI_FAN
+ tristate ' Processor' CONFIG_ACPI_PROCESSOR
+ dep_tristate ' Thermal Zone' CONFIG_ACPI_THERMAL $CONFIG_ACPI_PROCESSOR
+ bool ' Debug Statements' CONFIG_ACPI_DEBUG
+ fi
fi
+
endmenu
+
fi
+
if [ "$CONFIG_IA64" = "y" ]; then
+
+ if [ "$CONFIG_IA64_SGI_SN" = "y" ]; then
+ mainmenu_option next_comment
+ comment 'ACPI Support'
+ define_bool CONFIG_ACPI y
+ define_bool CONFIG_ACPI_EFI y
+ define_bool CONFIG_ACPI_BOOT y
+ define_bool CONFIG_ACPI_BUS n
+ define_bool CONFIG_ACPI_INTERPRETER n
+ define_bool CONFIG_ACPI_PCI n
+ define_bool CONFIG_ACPI_POWER n
+ define_bool CONFIG_ACPI_SYSTEM n
+ define_bool CONFIG_ACPI_BUTTON n
+ define_bool CONFIG_ACPI_FAN n
+ define_bool CONFIG_ACPI_PROCESSOR n
+ define_bool CONFIG_ACPI_THERMAL n
+ endmenu
+ fi
+
if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
mainmenu_option next_comment
comment 'ACPI Support'
+ if [ "$CONFIG_PCI" = "y" ]; then
+ define_bool CONFIG_ACPI_PCI y
+ fi
define_bool CONFIG_ACPI y
define_bool CONFIG_ACPI_EFI y
define_bool CONFIG_ACPI_BOOT y
define_bool CONFIG_ACPI_BUS y
define_bool CONFIG_ACPI_INTERPRETER y
- define_bool CONFIG_ACPI_PCI y
define_bool CONFIG_ACPI_POWER y
define_bool CONFIG_ACPI_SYSTEM y
tristate ' Button' CONFIG_ACPI_BUTTON
bool ' Debug Statements' CONFIG_ACPI_DEBUG
endmenu
fi
+
fi
# Makefile for the Linux ACPI interpreter
#
+O_TARGET := acpi.o
+
export ACPI_CFLAGS
ACPI_CFLAGS := -D_LINUX -I$(CURDIR)/include
#
# ACPI Boot-Time Table Parsing
#
-obj-$(CONFIG_ACPI_BOOT) += acpi_tables.o
+obj-$(CONFIG_ACPI_BOOT) += tables.o
#
# ACPI Core Subsystem (Interpreter)
#
-obj-$(CONFIG_ACPI_INTERPRETER) += acpi_osl.o acpi_utils.o \
+obj-$(CONFIG_ACPI_INTERPRETER) += osl.o utils.o \
dispatcher/ events/ executer/ hardware/ \
namespace/ parser/ resources/ tables/ \
utilities/
#
# ACPI Bus and Device Drivers
#
-obj-$(CONFIG_ACPI_BUS) += acpi_bus.o
-obj-$(CONFIG_ACPI_AC) += acpi_ac.o
-obj-$(CONFIG_ACPI_BATTERY) += acpi_battery.o
-obj-$(CONFIG_ACPI_BUTTON) += acpi_button.o
-obj-$(CONFIG_ACPI_EC) += acpi_ec.o
-obj-$(CONFIG_ACPI_FAN) += acpi_fan.o
-obj-$(CONFIG_ACPI_PCI) += acpi_pci_root.o acpi_pci_link.o
-obj-$(CONFIG_ACPI_POWER) += acpi_power.o
-obj-$(CONFIG_ACPI_PROCESSOR) += acpi_processor.o
-obj-$(CONFIG_ACPI_THERMAL) += acpi_thermal.o
-obj-$(CONFIG_ACPI_SYSTEM) += acpi_system.o
+obj-$(CONFIG_ACPI_BUS) += bus.o
+obj-$(CONFIG_ACPI_AC) += ac.o
+obj-$(CONFIG_ACPI_BATTERY) += battery.o
+obj-$(CONFIG_ACPI_BUTTON) += button.o
+obj-$(CONFIG_ACPI_EC) += ec.o
+obj-$(CONFIG_ACPI_FAN) += fan.o
+obj-$(CONFIG_ACPI_PCI) += pci_root.o pci_link.o pci_irq.o pci_bind.o
+obj-$(CONFIG_ACPI_POWER) += power.o
+obj-$(CONFIG_ACPI_PROCESSOR) += processor.o
+obj-$(CONFIG_ACPI_THERMAL) += thermal.o
+obj-$(CONFIG_ACPI_SYSTEM) += system.o
include $(TOPDIR)/Rules.make