http://linux-acpi.bkbits.net/linux-acpi-test-mm
len.brown@intel.com|ChangeSet|20041019173618|51329 len.brown

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/10/20 23:54:44-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# sound/drivers/mpu401/mpu401.c
#   2004/10/20 23:54:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# include/asm-x86_64/acpi.h
#   2004/10/20 23:54:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/char/ipmi/ipmi_si_intf.c
#   2004/10/20 23:54:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/10/20 23:54:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/io_apic.c
#   2004/10/20 23:54:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/Kconfig
#   2004/10/20 23:54:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/Kconfig
#   2004/10/20 23:54:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/20 23:54:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/19 20:24:45-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# drivers/char/ipmi/ipmi_si_intf.c
#   2004/10/19 20:24:39-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/acpi/processor.c
#   2004/10/19 20:24:39-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/Makefile
#   2004/10/19 20:24:39-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
#   2004/10/19 20:24:39-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/cpu/cpufreq/powernow-k8.c
#   2004/10/19 20:24:39-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/19 16:50:42-07:00 akpm@bix.(none) 
#   Merge http://linux-acpi.bkbits.net/linux-acpi-test-mm
#   into bix.(none):/usr/src/bk-acpi
# 
# include/asm-i386/io_apic.h
#   2004/10/19 16:50:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/10/19 16:50:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/Makefile
#   2004/10/19 16:50:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/Kconfig
#   2004/10/19 16:50:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/io_apic.c
#   2004/10/19 16:50:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/Kconfig
#   2004/10/19 16:50:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/19 16:50:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/19 16:48:59-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# include/asm-x86_64/mpspec.h
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# include/asm-i386/mpspec.h
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# include/asm-i386/io_apic.h
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/char/ipmi/ipmi_si_intf.c
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/mpparse.c
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/Makefile
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/Kconfig
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/ia64/kernel/acpi.c
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/mpparse.c
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/io_apic.c
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/acpi/boot.c
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/Kconfig
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/19 16:48:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/19 13:36:18-04:00 len.brown@intel.com 
#   Merge intel.com:/home/lenb/bk/26-latest-test
#   into intel.com:/home/lenb/bk/26-latest-mm
# 
# drivers/acpi/processor.c
#   2004/10/19 13:36:14-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/19 13:36:14-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/19 12:51:26-04:00 len.brown@intel.com 
#   Merge
# 
# Documentation/kernel-parameters.txt
#   2004/10/19 12:51:21-04:00 len.brown@intel.com +0 -0
#   SCCS merged
# 
# drivers/acpi/sleep/main.c
#   2004/10/19 12:49:04-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# drivers/acpi/processor.c
#   2004/10/19 12:49:04-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/19 12:22:10-04:00 len.brown@intel.com 
#   Merge intel.com:/home/lenb/bk/26-latest-test
#   into intel.com:/home/lenb/bk/26-latest-mm
# 
# include/asm-i386/io_apic.h
#   2004/10/19 12:22:03-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/10/19 12:22:03-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/Makefile
#   2004/10/19 12:22:03-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/Kconfig
#   2004/10/19 12:22:03-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/io_apic.c
#   2004/10/19 12:22:02-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/Kconfig
#   2004/10/19 12:22:02-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/18 16:28:17-04:00 len.brown@intel.com 
#   [ACPI] add module parameters: processor.c2=[0,1] processor.c3=[0,1]
#   to disable/enable C2 or C3
#   blacklist entries for R40e and Medion 41700
#   http://bugme.osdl.org/show_bug.cgi?id=3549
#   
#   from Andi Kleen
# 
# drivers/acpi/processor.c
#   2004/10/18 16:28:11-04:00 len.brown@intel.com +39 -0
#   module parameters: processor.c2=[0,1] processor.c3=[0,1]
#   to disable/enable C2 or C3
#   blacklist entry for R40e and Medion to disable c2/c3 using above
# 
# Documentation/kernel-parameters.txt
#   2004/10/18 16:28:11-04:00 len.brown@intel.com +5 -0
#   module parameters: processor.c2=[0,1] processor.c3=[0,1]
#   to disable/enable C2 or C3
# 
# ChangeSet
#   2004/10/18 14:47:59-04:00 len.brown@intel.com 
#   [ACPI] firmware wakeup address is physical, not virtual (David Shaohua Li)
#   http://bugzilla.kernel.org/show_bug.cgi?id=3390
# 
# drivers/acpi/sleep/main.c
#   2004/10/18 14:47:51-04:00 len.brown@intel.com +4 -1
#   firmware wakeup address is physical, not virtual
# 
# ChangeSet
#   2004/10/15 21:58:18-07:00 akpm@bix.(none) 
#   Merge http://linux-acpi.bkbits.net/linux-acpi-test-mm
#   into bix.(none):/usr/src/bk-acpi
# 
# arch/i386/kernel/io_apic.c
#   2004/10/15 21:58:15-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/14 14:05:31-04:00 len.brown@intel.com 
#   Merge intel.com:/home/lenb/bk/26-latest-test
#   into intel.com:/home/lenb/bk/26-latest-mm
# 
# arch/i386/kernel/io_apic.c
#   2004/10/14 14:05:27-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/10 22:09:40-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# arch/i386/kernel/io_apic.c
#   2004/10/10 22:09:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/10 04:34:32-04:00 len.brown@intel.com 
#   Merge intel.com:/home/lenb/src/26-latest-dominik
#   into intel.com:/home/lenb/bk/26-latest-mm
# 
# drivers/acpi/acpi_ksyms.c
#   2004/10/10 04:34:29-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/10 04:25:57-04:00 len.brown@intel.com 
#   EXPORT_SYMBOL(acpi_os_write_port);
#   EXPORT_SYMBOL(acpi_fadt_is_v1);
# 
# drivers/acpi/acpi_ksyms.c
#   2004/10/10 04:24:53-04:00 len.brown@intel.com +3 -0
#   EXPORT_SYMBOL(acpi_os_write_port);
#   EXPORT_SYMBOL(acpi_fadt_is_v1);
# 
# ChangeSet
#   2004/10/09 14:14:38-07:00 akpm@bix.(none) 
#   Merge http://linux-acpi.bkbits.net/linux-acpi-test-mm
#   into bix.(none):/usr/src/bk-acpi
# 
# include/asm-x86_64/mpspec.h
#   2004/10/09 14:14:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/acpi/Kconfig
#   2004/10/09 14:14:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/Makefile
#   2004/10/09 14:14:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/10/09 14:14:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/io_apic.c
#   2004/10/09 14:14:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/Kconfig
#   2004/10/09 14:14:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/ia64/kernel/setup.c
#   2004/10/09 14:14:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/ia64/kernel/acpi.c
#   2004/10/09 14:14:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/setup.c
#   2004/10/09 14:14:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/dmi_scan.c
#   2004/10/09 14:14:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/Kconfig
#   2004/10/09 14:14:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/09 14:14:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/09 14:13:26-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# drivers/acpi/osl.c
#   2004/10/09 14:13:21-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/acpi/Kconfig
#   2004/10/09 14:13:21-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/10/09 14:13:21-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/io_apic.c
#   2004/10/09 14:13:21-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/dmi_scan.c
#   2004/10/09 14:13:21-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/09 14:13:21-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/08 18:51:45-04:00 len.brown@intel.com 
#   Merge intel.com:/home/lenb/src/26-latest-dev
#   into intel.com:/home/lenb/bk/26-latest-mm
# 
# drivers/acpi/Kconfig
#   2004/10/08 18:51:41-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/10/08 18:51:41-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/08 18:44:00-04:00 len.brown@intel.com 
#   Merge intel.com:/home/lenb/src/26-latest-dominik
#   into intel.com:/home/lenb/bk/26-latest-mm
# 
# arch/x86_64/kernel/io_apic.c
#   2004/10/08 18:43:56-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/08 18:43:56-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/08 18:01:04-04:00 len.brown@intel.com 
#   Merge intel.com:/home/lenb/bk/26-latest-ref
#   into intel.com:/home/lenb/bk/26-latest-mm
# 
# drivers/Makefile
#   2004/10/08 18:01:00-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/10/08 18:01:00-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/io_apic.c
#   2004/10/08 18:01:00-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/Kconfig
#   2004/10/08 18:01:00-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/ia64/kernel/setup.c
#   2004/10/08 18:01:00-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/ia64/kernel/acpi.c
#   2004/10/08 18:01:00-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/setup.c
#   2004/10/08 18:01:00-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/08 18:01:00-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/08 16:55:44-04:00 len.brown@intel.com 
#   [ACPI] Notify SMM of cpufreq
#   http://marc.theaimsgroup.com/?l=acpi4linux&m=109428989121089&w=2
#   
#   Signed-off-by: Dominik Brodowski <linux@brodo.de>
# 
# include/acpi/processor.h
#   2004/09/04 05:07:43-04:00 len.brown@intel.com +4 -0
#   Notify SMM of cpufreq
# 
# include/acpi/actbl.h
#   2004/09/04 05:07:43-04:00 len.brown@intel.com +2 -0
#   Notify SMM of cpufreq
# 
# drivers/acpi/tables/tbconvrt.c
#   2004/09/04 05:07:43-04:00 len.brown@intel.com +8 -2
#   Notify SMM of cpufreq
# 
# drivers/acpi/processor.c
#   2004/09/04 05:07:43-04:00 len.brown@intel.com +79 -8
#   Notify SMM of cpufreq
# 
# arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
#   2004/09/04 05:07:43-04:00 len.brown@intel.com +3 -0
#   Notify SMM of cpufreq
# 
# arch/i386/kernel/cpu/cpufreq/powernow-k8.c
#   2004/09/04 05:07:43-04:00 len.brown@intel.com +4 -0
#   Notify SMM of cpufreq
# 
# arch/i386/kernel/cpu/cpufreq/powernow-k7.c
#   2004/09/04 05:07:43-04:00 len.brown@intel.com +3 -0
#   Notify SMM of cpufreq
# 
# arch/i386/kernel/cpu/cpufreq/acpi.c
#   2004/09/04 05:07:43-04:00 len.brown@intel.com +3 -1
#   Notify SMM of cpufreq
# 
# ChangeSet
#   2004/10/08 11:48:09-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-acpi
# 
# arch/ia64/kernel/setup.c
#   2004/10/08 11:48:05-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/ia64/kernel/acpi.c
#   2004/10/08 11:48:05-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/06 20:25:56-07:00 akpm@bix.(none) 
#   Merge http://linux-acpi.bkbits.net/linux-acpi-test-mm
#   into bix.(none):/usr/src/bk-acpi
# 
# include/asm-x86_64/mpspec.h
#   2004/10/06 20:25:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/acpi/osl.c
#   2004/10/06 20:25:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/Makefile
#   2004/10/06 20:25:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/10/06 20:25:53-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/io_apic.c
#   2004/10/06 20:25:52-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/x86_64/Kconfig
#   2004/10/06 20:25:52-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/ia64/kernel/acpi.c
#   2004/10/06 20:25:52-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/setup.c
#   2004/10/06 20:25:52-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/kernel/dmi_scan.c
#   2004/10/06 20:25:52-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# arch/i386/Kconfig
#   2004/10/06 20:25:52-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/06 20:25:52-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/09/17 00:29:39-04:00 len.brown@intel.com 
#   Merge intel.com:/home/lenb/bk/26-latest-test
#   into intel.com:/home/lenb/bk/linux-acpi-test-mm
# 
# drivers/Makefile
#   2004/09/17 00:29:35-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/Kconfig
#   2004/09/17 00:29:35-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/dmi_scan.c
#   2004/09/17 00:29:35-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/Kconfig
#   2004/09/17 00:29:35-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/09/10 16:26:55-04:00 len.brown@intel.com 
#   Merge intel.com:/home/lenb/bk/26-latest-test
#   into intel.com:/home/lenb/bk/linux-acpi-test-mm
# 
# include/asm-x86_64/mpspec.h
#   2004/09/10 16:26:50-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# drivers/Makefile
#   2004/09/10 16:26:50-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/09/10 16:26:50-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/ia64/kernel/acpi.c
#   2004/09/10 16:26:50-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/09/02 03:39:43-04:00 len.brown@intel.com 
#   Merge intel.com:/home/lenb/bk/26-latest-test
#   into intel.com:/home/lenb/bk/linux-acpi-test-mm
# 
# include/linux/acpi.h
#   2004/09/02 03:39:35-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# include/acpi/acpi_drivers.h
#   2004/09/02 03:39:35-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# drivers/acpi/Kconfig
#   2004/09/02 03:39:35-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/io_apic.c
#   2004/09/02 03:39:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/io_apic.c
#   2004/09/02 03:39:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/dmi_scan.c
#   2004/09/02 03:39:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/acpi/boot.c
#   2004/09/02 03:39:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/09/02 03:25:49-04:00 len.brown@intel.com 
#   merge
# 
# arch/x86_64/Kconfig
#   2004/09/02 03:25:42-04:00 len.brown@intel.com +1 -0
#   merge
# 
# sound/drivers/mpu401/mpu401.c
#   2004/09/02 03:20:35-04:00 len.brown@intel.com +3 -3
#   Auto merged
# 
# include/asm-x86_64/mpspec.h
#   2004/09/02 03:20:35-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# include/asm-x86_64/acpi.h
#   2004/09/02 03:20:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# include/asm-i386/fixmap.h
#   2004/09/02 03:20:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# include/asm-i386/acpi.h
#   2004/09/02 03:20:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# drivers/char/ipmi/ipmi_si_intf.c
#   2004/09/02 03:20:34-04:00 len.brown@intel.com +1 -2
#   Auto merged
# 
# drivers/Makefile
#   2004/09/02 03:20:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/09/02 03:20:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/Makefile
#   2004/09/02 03:20:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/setup.c
#   2004/09/02 03:20:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/io_apic.c
#   2004/09/02 03:20:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/acpi/boot.c
#   2004/09/02 03:20:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/Makefile
#   2004/09/02 03:20:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/Kconfig
#   2004/09/02 03:20:34-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/09/02 03:00:54-04:00 len.brown@intel.com 
#   Merge intel.com:/home/lenb/bk/26-latest-test
#   into intel.com:/home/lenb/bk/linux-acpi-test-mm
# 
# sound/drivers/mpu401/mpu401.c
#   2004/09/02 03:00:50-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/setup.c
#   2004/09/02 03:00:50-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/io_apic.c
#   2004/09/02 03:00:50-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/Makefile
#   2004/09/02 03:00:49-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/09/01 20:28:43-04:00 len.brown@intel.com 
#   Cset exclude: len.brown@intel.com|ChangeSet|20040817220851|52337
# 
# arch/i386/kernel/dmi_scan.c
#   2004/09/01 20:28:41-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# ChangeSet
#   2004/09/01 20:26:54-04:00 len.brown@intel.com 
#   Cset exclude: len.brown@intel.com|ChangeSet|20040826050001|40089
# 
# sound/drivers/mpu401/mpu401.c
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# include/linux/acpi.h
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# include/asm-i386/mpspec.h
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# include/asm-i386/io_apic.h
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# include/asm-i386/fixmap.h
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# drivers/acpi/acpi_ksyms.c
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# drivers/acpi/Makefile
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# drivers/acpi/Kconfig
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# drivers/Makefile
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/x86_64/Kconfig
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/ia64/kernel/setup.c
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/ia64/kernel/acpi.c
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/i386/kernel/setup.c
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/i386/kernel/mpparse.c
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/i386/kernel/io_apic.c
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/i386/kernel/dmi_scan.c
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/i386/kernel/acpi/Makefile
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/i386/kernel/Makefile
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/i386/Kconfig
#   2004/09/01 20:26:43-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# include/asm-x86_64/mpspec.h
#   2004/09/01 20:26:42-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# include/asm-x86_64/io_apic.h
#   2004/09/01 20:26:42-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# include/asm-x86_64/acpi.h
#   2004/09/01 20:26:42-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# include/asm-i386/acpi.h
#   2004/09/01 20:26:42-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# include/acpi/acpi_drivers.h
#   2004/09/01 20:26:42-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# include/acpi/acpi_bus.h
#   2004/09/01 20:26:42-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# drivers/char/ipmi/ipmi_si_intf.c
#   2004/09/01 20:26:42-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/x86_64/kernel/setup.c
#   2004/09/01 20:26:42-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/x86_64/kernel/mpparse.c
#   2004/09/01 20:26:42-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/x86_64/kernel/io_apic.c
#   2004/09/01 20:26:42-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/x86_64/kernel/acpi/Makefile
#   2004/09/01 20:26:42-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/x86_64/kernel/Makefile
#   2004/09/01 20:26:42-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# arch/i386/kernel/acpi/boot.c
#   2004/09/01 20:26:42-04:00 len.brown@intel.com +0 -0
#   Exclude
# 
# ChangeSet
#   2004/08/27 01:25:27-04:00 len.brown@intel.com 
#   Merge intel.com:/home/lenb/bk/26-latest-test
#   into intel.com:/home/lenb/bk/linux-acpi-test-mm
# 
# include/asm-i386/acpi.h
#   2004/08/27 01:25:23-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/acpi/boot.c
#   2004/08/27 01:25:23-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/Makefile
#   2004/08/27 01:25:23-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/26 01:04:55-04:00 len.brown@intel.com 
#   merge
# 
# arch/x86_64/Kconfig
#   2004/08/26 01:04:50-04:00 len.brown@intel.com +0 -1
#   merge
# 
# include/asm-x86_64/mpspec.h
#   2004/08/26 01:01:12-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# include/asm-x86_64/acpi.h
#   2004/08/26 01:01:12-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# include/asm-i386/fixmap.h
#   2004/08/26 01:01:12-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# include/asm-i386/acpi.h
#   2004/08/26 01:01:12-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# drivers/char/ipmi/ipmi_si_intf.c
#   2004/08/26 01:01:12-04:00 len.brown@intel.com +0 -3
#   Auto merged
# 
# drivers/Makefile
#   2004/08/26 01:01:12-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/setup.c
#   2004/08/26 01:01:12-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/x86_64/kernel/Makefile
#   2004/08/26 01:01:12-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/io_apic.c
#   2004/08/26 01:01:12-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/kernel/Makefile
#   2004/08/26 01:01:12-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
# arch/i386/Kconfig
#   2004/08/26 01:01:12-04:00 len.brown@intel.com +0 -0
#   Auto merged
# 
diff -Nru a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
--- a/Documentation/kernel-parameters.txt	2004-10-21 14:09:35 -07:00
+++ b/Documentation/kernel-parameters.txt	2004-10-21 14:09:35 -07:00
@@ -960,6 +960,11 @@
 			(param: profile step/bucket size as a power of 2 for
 				statistical time based profiling)
 
+	processor.c2=	[HW, ACPI]
+	processor.c3=	[HW, ACPI]
+			0 - disable C2 or C3 idle power saving state.
+			1 - enable C2 or C3 (default unless DMI blacklist entry)
+
 	prompt_ramdisk=	[RAM] List of RAM disks to prompt for floppy disk
 			before loading.
 			See Documentation/ramdisk.txt.
diff -Nru a/arch/i386/kernel/cpu/cpufreq/acpi.c b/arch/i386/kernel/cpu/cpufreq/acpi.c
--- a/arch/i386/kernel/cpu/cpufreq/acpi.c	2004-10-21 14:09:35 -07:00
+++ b/arch/i386/kernel/cpu/cpufreq/acpi.c	2004-10-21 14:09:35 -07:00
@@ -428,7 +428,9 @@
 	if (result) {
 		goto err_freqfree;
 	}
-		
+
+	/* notify BIOS that we exist */
+	acpi_processor_notify_smm(THIS_MODULE);
 
 	printk(KERN_INFO "cpufreq: CPU%u - ACPI performance management activated.\n",
 	       cpu);
diff -Nru a/arch/i386/kernel/cpu/cpufreq/powernow-k7.c b/arch/i386/kernel/cpu/cpufreq/powernow-k7.c
--- a/arch/i386/kernel/cpu/cpufreq/powernow-k7.c	2004-10-21 14:09:35 -07:00
+++ b/arch/i386/kernel/cpu/cpufreq/powernow-k7.c	2004-10-21 14:09:35 -07:00
@@ -400,6 +400,9 @@
 	powernow_table[i].frequency = CPUFREQ_TABLE_END;
 	powernow_table[i].index = 0;
 
+	/* notify BIOS that we exist */
+	acpi_processor_notify_smm(THIS_MODULE);
+
 	return 0;
 
 err2:
diff -Nru a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
--- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c	2004-10-21 14:09:35 -07:00
+++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c	2004-10-21 14:09:35 -07:00
@@ -777,6 +777,10 @@
 	data->numps = data->acpi_data.state_count;
 	print_basics(data);
 	powernow_k8_acpi_pst_values(data, 0);
+
+	/* notify BIOS that we exist */
+	acpi_processor_notify_smm(THIS_MODULE);
+
 	return 0;
 
 err_out_mem:
diff -Nru a/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c b/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
--- a/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c	2004-10-21 14:09:35 -07:00
+++ b/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c	2004-10-21 14:09:35 -07:00
@@ -428,6 +428,9 @@
 			centrino_model->op_points[i].frequency = CPUFREQ_ENTRY_INVALID;
 	}
 
+	/* notify BIOS that we exist */
+	acpi_processor_notify_smm(THIS_MODULE);
+
 	return 0;
 
  err_kfree_all:
diff -Nru a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig
--- a/arch/x86_64/Kconfig	2004-10-21 14:09:35 -07:00
+++ b/arch/x86_64/Kconfig	2004-10-21 14:09:35 -07:00
@@ -170,7 +170,7 @@
 	bool
 	depends on SMP && !MK8
 	default y
-
+       
 config MATH_EMULATION
 	bool
 
diff -Nru a/drivers/acpi/acpi_ksyms.c b/drivers/acpi/acpi_ksyms.c
--- a/drivers/acpi/acpi_ksyms.c	2004-10-21 14:09:35 -07:00
+++ b/drivers/acpi/acpi_ksyms.c	2004-10-21 14:09:35 -07:00
@@ -102,6 +102,8 @@
 EXPORT_SYMBOL(acpi_os_printf);
 EXPORT_SYMBOL(acpi_os_sleep);
 EXPORT_SYMBOL(acpi_os_stall);
+EXPORT_SYMBOL(acpi_os_read_port);
+EXPORT_SYMBOL(acpi_os_write_port);
 EXPORT_SYMBOL(acpi_os_signal);
 EXPORT_SYMBOL(acpi_os_queue_for_execution);
 EXPORT_SYMBOL(acpi_os_signal_semaphore);
@@ -125,6 +127,7 @@
 #ifdef CONFIG_ACPI_BUS
 
 EXPORT_SYMBOL(acpi_fadt);
+EXPORT_SYMBOL(acpi_fadt_is_v1);
 EXPORT_SYMBOL(acpi_walk_namespace);
 EXPORT_SYMBOL(acpi_root_dir);
 EXPORT_SYMBOL(acpi_bus_get_device);
diff -Nru a/drivers/acpi/processor.c b/drivers/acpi/processor.c
--- a/drivers/acpi/processor.c	2004-10-21 14:09:35 -07:00
+++ b/drivers/acpi/processor.c	2004-10-21 14:09:35 -07:00
@@ -39,6 +39,8 @@
 #include <linux/cpufreq.h>
 #include <linux/proc_fs.h>
 #include <linux/seq_file.h>
+#include <linux/dmi.h>
+#include <linux/moduleparam.h>
 
 #include <asm/io.h>
 #include <asm/system.h>
@@ -99,6 +101,8 @@
 			},
 };
 
+static int c2 = -1;
+static int c3 = -1;
 
 struct acpi_processor_errata {
 	u8			smp;
@@ -140,6 +144,8 @@
 
 static struct acpi_processor	*processors[NR_CPUS];
 static struct acpi_processor_errata errata;
+module_param_named(c2, c2, bool, 0);
+module_param_named(c3, c3, bool, 0);
 static void (*pm_idle_save)(void);
 
 
@@ -656,6 +662,11 @@
 		else if (errata.smp)
 			ACPI_DEBUG_PRINT((ACPI_DB_INFO,
 				"C2 not supported in SMP mode\n"));
+
+
+		else if (!c2) 
+			printk(KERN_INFO "C2 disabled\n");
+
 		/*
 		 * Otherwise we've met all of our C2 requirements.
 		 * Normalize the C2 latency to expidite policy.
@@ -711,6 +722,9 @@
 			ACPI_DEBUG_PRINT((ACPI_DB_INFO,
 				"C3 not supported on PIIX4 with Type-F DMA\n"));
 		}
+		else if (!c3)
+			printk(KERN_INFO "C3 disabled\n");
+
 		/*
 		 * Otherwise we've met all of our C3 requirements.  
 		 * Normalize the C2 latency to expidite policy.  Enable
@@ -767,7 +781,10 @@
  * policy is adjusted accordingly.
  */
 
-static int acpi_processor_ppc_is_init = 0;
+#define PPC_REGISTERED   1
+#define PPC_IN_USE       2
+
+static int acpi_processor_ppc_status = 0;
 
 static int acpi_processor_ppc_notifier(struct notifier_block *nb, 
 	unsigned long event,
@@ -825,6 +842,10 @@
 	 * (e.g. 0 = states 0..n; 1 = states 1..n; etc.
 	 */
 	status = acpi_evaluate_integer(pr->handle, "_PPC", NULL, &ppc);
+
+	if (status != AE_NOT_FOUND)
+		acpi_processor_ppc_status |= PPC_IN_USE;
+
 	if(ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
 		ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Error evaluating _PPC\n"));
 		return_VALUE(-ENODEV);
@@ -849,17 +870,17 @@
 
 static void acpi_processor_ppc_init(void) {
 	if (!cpufreq_register_notifier(&acpi_ppc_notifier_block, CPUFREQ_POLICY_NOTIFIER))
-		acpi_processor_ppc_is_init = 1;
+		acpi_processor_ppc_status |= PPC_REGISTERED;
 	else
 		printk(KERN_DEBUG "Warning: Processor Platform Limit not supported.\n");
 }
 
 
 static void acpi_processor_ppc_exit(void) {
-	if (acpi_processor_ppc_is_init)
+	if (acpi_processor_ppc_status & PPC_REGISTERED)
 		cpufreq_unregister_notifier(&acpi_ppc_notifier_block, CPUFREQ_POLICY_NOTIFIER);
 
-	acpi_processor_ppc_is_init = 0;
+	acpi_processor_ppc_status &= ~PPC_REGISTERED;
 }
 
 /*
@@ -1079,6 +1100,73 @@
 }
 
 
+int acpi_processor_notify_smm(struct module *calling_module) {
+	acpi_status		status;
+	static int		is_done = 0;
+
+	ACPI_FUNCTION_TRACE("acpi_processor_notify_smm");
+
+	if (!(acpi_processor_ppc_status & PPC_REGISTERED))
+		return_VALUE(-EBUSY);
+
+	if (!try_module_get(calling_module))
+		return_VALUE(-EINVAL);
+
+	/* is_done is set to negative if an error occured,
+	 * and to postitive if _no_ error occured, but SMM
+	 * was already notified. This avoids double notification
+	 * which might lead to unexpected results...
+	 */
+	if (is_done > 0) {
+		module_put(calling_module);
+		return_VALUE(0);
+	}
+	else if (is_done < 0) {
+		module_put(calling_module);
+		return_VALUE(is_done);
+	}
+
+	is_done = -EIO;
+
+	/* Can't write pstate_cnt to smi_cmd if either value is zero */
+	if ((!acpi_fadt.smi_cmd) ||
+	    (!acpi_fadt.pstate_cnt)) {
+		ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+			"No SMI port or pstate_cnt\n"));
+		module_put(calling_module);
+		return_VALUE(0);
+	}
+
+	ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Writing pstate_cnt [0x%x] to smi_cmd [0x%x]\n", acpi_fadt.pstate_cnt, acpi_fadt.smi_cmd));
+
+	/* FADT v1 doesn't support pstate_cnt, many BIOS vendors use
+	 * it anyway, so we need to support it... */
+	if (acpi_fadt_is_v1) {
+		ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Using v1.0 FADT reserved value for pstate_cnt\n"));
+	}
+
+	status = acpi_os_write_port (acpi_fadt.smi_cmd,
+				     (u32) acpi_fadt.pstate_cnt, 8);
+	if (ACPI_FAILURE (status)) {
+		ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
+				  "Failed to write pstate_cnt [0x%x] to "
+				  "smi_cmd [0x%x]\n", acpi_fadt.pstate_cnt, acpi_fadt.smi_cmd));
+		module_put(calling_module);
+		return_VALUE(status);
+	}
+
+	/* Success. If there's no _PPC, we need to fear nothing, so
+	 * we can allow the cpufreq driver to be rmmod'ed. */
+	is_done = 1;
+
+	if (!(acpi_processor_ppc_status & PPC_IN_USE))
+		module_put(calling_module);
+
+	return_VALUE(0);
+}
+EXPORT_SYMBOL(acpi_processor_notify_smm);
+
+
 #ifdef CONFIG_X86_ACPI_CPUFREQ_PROC_INTF
 /* /proc/acpi/processor/../performance interface (DEPRECATED) */
 
@@ -1235,7 +1323,7 @@
 
 	ACPI_FUNCTION_TRACE("acpi_processor_register_performance");
 
-	if (!acpi_processor_ppc_is_init)
+	if (!(acpi_processor_ppc_status & PPC_REGISTERED))
 		return_VALUE(-EINVAL);
 
 	down(&performance_sem);
@@ -1276,9 +1364,6 @@
 
 	ACPI_FUNCTION_TRACE("acpi_processor_unregister_performance");
 
-	if (!acpi_processor_ppc_is_init)
-		return_VOID;
-
 	down(&performance_sem);
 
 	pr = processors[cpu];
@@ -2448,6 +2533,29 @@
 	return_VALUE(0);
 }
 
+/* IBM ThinkPad R40e crashes mysteriously when going into C2 or C3. 
+   For now disable this. Probably a bug somewhere else. */
+static int no_c2c3(struct dmi_system_id *id)
+{
+	printk(KERN_INFO 
+	       "%s detected - C2,C3 disabled. Overwrite with \"processor.c2=1 processor.c3=1\n\"",
+	       id->ident);
+	if (c2 == -1) 
+		c2 = 0;
+	if (c3 == -1) 
+		c3 = 0; 
+	return 0;
+}
+
+static struct dmi_system_id __initdata processor_dmi_table[] = { 
+	{ no_c2c3, "IBM ThinkPad R40e", {
+	  DMI_MATCH(DMI_BIOS_VENDOR,"IBM"),
+	  DMI_MATCH(DMI_BIOS_VERSION,"1SET60WW") }},
+	{ no_c2c3, "Medion 41700", {
+	  DMI_MATCH(DMI_BIOS_VENDOR,"Phoenix Technologies LTD"),
+	  DMI_MATCH(DMI_BIOS_VERSION,"R01-A1J") }},
+	{},
+};
 
 static int __init
 acpi_processor_init (void)
@@ -2473,6 +2581,8 @@
 	acpi_thermal_cpufreq_init();
 
 	acpi_processor_ppc_init();
+
+	dmi_check_system(processor_dmi_table); 
 
 	return_VALUE(0);
 }
diff -Nru a/drivers/acpi/sleep/main.c b/drivers/acpi/sleep/main.c
--- a/drivers/acpi/sleep/main.c	2004-10-21 14:09:35 -07:00
+++ b/drivers/acpi/sleep/main.c	2004-10-21 14:09:35 -07:00
@@ -1,6 +1,7 @@
 /*
  * sleep.c - ACPI sleep support.
  *
+ * Copyright (c) 2004 David Shaohua Li <shaohua.li@intel.com>
  * Copyright (c) 2000-2003 Patrick Mochel
  * Copyright (c) 2003 Open Source Development Lab
  *
@@ -13,6 +14,7 @@
 #include <linux/dmi.h>
 #include <linux/device.h>
 #include <linux/suspend.h>
+#include <asm/io.h>
 #include <acpi/acpi_bus.h>
 #include <acpi/acpi_drivers.h>
 #include "sleep.h"
@@ -56,7 +58,8 @@
 		if (!acpi_wakeup_address)
 			return -EFAULT;
 		acpi_set_firmware_waking_vector(
-			(acpi_physical_address) acpi_wakeup_address);
+			(acpi_physical_address) virt_to_phys(
+				(void *)acpi_wakeup_address));
 	}
 	ACPI_FLUSH_CPU_CACHE();
 	acpi_enable_wakeup_device_prep(acpi_state);
diff -Nru a/drivers/acpi/tables/tbconvrt.c b/drivers/acpi/tables/tbconvrt.c
--- a/drivers/acpi/tables/tbconvrt.c	2004-10-21 14:09:35 -07:00
+++ b/drivers/acpi/tables/tbconvrt.c	2004-10-21 14:09:35 -07:00
@@ -50,6 +50,8 @@
 	 ACPI_MODULE_NAME    ("tbconvrt")
 
 
+u8 acpi_fadt_is_v1;
+
 /*******************************************************************************
  *
  * FUNCTION:    acpi_tb_get_table_count
@@ -212,6 +214,7 @@
 
 	/* ACPI 1.0 FACS */
 	/* The BIOS stored FADT should agree with Revision 1.0 */
+	acpi_fadt_is_v1 = 1;
 
 	/*
 	 * Copy the table header and the common part of the tables.
@@ -240,9 +243,12 @@
 	/*
 	 * Processor Performance State Control. This is the value OSPM writes to
 	 * the SMI_CMD register to assume processor performance state control
-	 * responsibility. There isn't any equivalence in 1.0, leave it zeroed.
+	 * responsibility. There isn't any equivalence in 1.0, but as many 1.x
+	 * ACPI tables contain _PCT and _PSS we also keep this value, unless
+	 * acpi_strict is set.
 	 */
-	local_fadt->pstate_cnt = 0;
+	if (acpi_strict)
+		local_fadt->pstate_cnt = 0;
 
 	/*
 	 * Support for the _CST object and C States change notification.
diff -Nru a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
--- a/drivers/char/ipmi/ipmi_si_intf.c	2004-10-21 14:09:35 -07:00
+++ b/drivers/char/ipmi/ipmi_si_intf.c	2004-10-21 14:09:35 -07:00
@@ -1331,7 +1331,7 @@
 static int acpi_failure = 0;
 
 /* For GPE-type interrupts. */
-u32 ipmi_acpi_gpe(void *context)
+void ipmi_acpi_gpe(void *context)
 {
 	struct smi_info *smi_info = context;
 	unsigned long   flags;
@@ -1355,8 +1355,6 @@
 	smi_event_handler(smi_info, 0);
  out:
 	spin_unlock_irqrestore(&(smi_info->si_lock), flags);
-
-	return ACPI_INTERRUPT_HANDLED;
 }
 
 static int acpi_gpe_irq_setup(struct smi_info *info)
diff -Nru a/include/acpi/actbl.h b/include/acpi/actbl.h
--- a/include/acpi/actbl.h	2004-10-21 14:09:35 -07:00
+++ b/include/acpi/actbl.h	2004-10-21 14:09:35 -07:00
@@ -330,6 +330,8 @@
 #include "actbl1.h"   /* Acpi 1.0 table definitions */
 #include "actbl2.h"   /* Acpi 2.0 table definitions */
 
+extern u8 acpi_fadt_is_v1; /* is set to 1 if FADT is revision 1,
+			    * needed for certain workarounds */
 
 #pragma pack(1)
 /*
diff -Nru a/include/acpi/processor.h b/include/acpi/processor.h
--- a/include/acpi/processor.h	2004-10-21 14:09:35 -07:00
+++ b/include/acpi/processor.h	2004-10-21 14:09:35 -07:00
@@ -140,4 +140,8 @@
 	struct acpi_processor_performance * performance,
 	unsigned int cpu);
 
+/* note: this locks both the calling module and the processor module
+         if a _PPC object exists, rmmod is disallowed then */
+int acpi_processor_notify_smm(struct module *calling_module);
+
 #endif
