# This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/03/30 17:03:57-05:00 len.brown@intel.com # [ACPI] allow building ACPI w/ CMPXCHG when CONFIG_M386=y # http://bugzilla.kernel.org/show_bug.cgi?id=2391 # # include/asm-i386/system.h # 2004/03/30 17:02:15-05:00 len.brown@intel.com +1 -4 # allow building ACPI w/ CMPXCHG when CONFIG_M386=y # # include/asm-i386/acpi.h # 2004/03/30 17:02:15-05:00 len.brown@intel.com +0 -9 # allow building ACPI w/ CMPXCHG when CONFIG_M386=y # # arch/i386/kernel/acpi.c # 2004/03/30 17:02:15-05:00 len.brown@intel.com +4 -0 # allow building ACPI w/ CMPXCHG when CONFIG_M386=y # diff -Nru a/arch/i386/kernel/acpi.c b/arch/i386/kernel/acpi.c --- a/arch/i386/kernel/acpi.c Tue Mar 30 17:03:59 2004 +++ b/arch/i386/kernel/acpi.c Tue Mar 30 17:03:59 2004 @@ -590,6 +590,10 @@ +#ifndef __HAVE_ARCH_CMPXCHG +#warning ACPI uses CMPXCHG, i486 and later hardware +#endif + /* -------------------------------------------------------------------------- Low-Level Sleep Support -------------------------------------------------------------------------- */ diff -Nru a/include/asm-i386/acpi.h b/include/asm-i386/acpi.h --- a/include/asm-i386/acpi.h Tue Mar 30 17:03:59 2004 +++ b/include/asm-i386/acpi.h Tue Mar 30 17:03:59 2004 @@ -52,15 +52,6 @@ #define ACPI_ENABLE_IRQS() __sti() #define ACPI_FLUSH_CPU_CACHE() wbinvd() -/* - * A brief explanation as GNU inline assembly is a bit hairy - * %0 is the output parameter in EAX ("=a") - * %1 and %2 are the input parameters in ECX ("c") - * and an immediate value ("i") respectively - * All actual register references are preceded with "%%" as in "%%edx" - * Immediate values in the assembly are preceded by "$" as in "$0x1" - * The final asm parameter are the operation altered non-output registers. - */ static inline int __acpi_acquire_global_lock (unsigned int *lock) diff -Nru a/include/asm-i386/system.h b/include/asm-i386/system.h --- a/include/asm-i386/system.h Tue Mar 30 17:03:59 2004 +++ b/include/asm-i386/system.h Tue Mar 30 17:03:59 2004 @@ -238,6 +238,7 @@ #ifdef CONFIG_X86_CMPXCHG #define __HAVE_ARCH_CMPXCHG 1 +#endif static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size) @@ -270,10 +271,6 @@ ((__typeof__(*(ptr)))__cmpxchg((ptr),(unsigned long)(o),\ (unsigned long)(n),sizeof(*(ptr)))) -#else -/* Compiling for a 386 proper. Is it worth implementing via cli/sti? */ -#endif - /* * Force strict CPU ordering. * And yes, this is required on UP too when we're talking