Hi, At Ingo's request, here it goes a new patchset, that actually applies ontop of the x86 tree (mm branch). Besides this issue, I've also included a patch that remove the cr8 references, as Andi suggested.
Glauber de Oliveira Costa
2007-Dec-05 09:53 UTC
[PATCH 1/9] remove volatile keyword from clflush.
the p parameter is an explicit memory reference, and is enough to prevent gcc to being nasty here. The volatile seems completely not needed. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/system_32.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/include/asm-x86/system_32.h b/include/asm-x86/system_32.h index ef84688..27e106d 100644 --- a/include/asm-x86/system_32.h +++ b/include/asm-x86/system_32.h @@ -161,7 +161,7 @@ static inline void native_wbinvd(void) asm volatile("wbinvd": : :"memory"); } -static inline void clflush(volatile void *__p) +static inline void clflush(void *__p) { asm volatile("clflush %0" : "+m" (*(char __force *)__p)); } -- 1.4.4.2
This patch finishes the unification of system.h file. i386 needs a constant to be defined, and it is defined inside an ifdef Other than that, pretty much nothing but includes are left in the arch specific headers, and they are deleted. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> --- include/asm-x86/system.h | 10 ++++++++-- include/asm-x86/system_32.h | 15 --------------- include/asm-x86/system_64.h | 10 ---------- 3 files changed, 8 insertions(+), 27 deletions(-) diff --git a/include/asm-x86/system.h b/include/asm-x86/system.h index fd2abfd..9460db4 100644 --- a/include/asm-x86/system.h +++ b/include/asm-x86/system.h @@ -2,8 +2,12 @@ #define _ASM_X86_SYSTEM_H_ #include <asm/asm.h> +#include <asm/segment.h> +#include <asm/cpufeature.h> +#include <asm/cmpxchg.h> #include <linux/kernel.h> +#include <linux/irqflags.h> #ifdef CONFIG_X86_32 #define AT_VECTOR_SIZE_ARCH 2 /* entries in ARCH_DLINFO */ @@ -34,7 +38,10 @@ extern struct task_struct *FASTCALL(__switch_to(struct task_struct *prev, "2" (prev), "d" (next)); \ } while (0) -# include "system_32.h" +/* + * disable hlt during certain critical i/o operations + */ +#define HAVE_DISABLE_HLT #else #define __SAVE(reg, offset) "movq %%" #reg ",(14-" #offset ")*8(%%rsp)\n\t" #define __RESTORE(reg, offset) "movq (14-" #offset ")*8(%%rsp),%%" #reg "\n\t" @@ -69,7 +76,6 @@ extern struct task_struct *FASTCALL(__switch_to(struct task_struct *prev, [thread_info] "i" (offsetof(struct task_struct, stack)), \ [pda_pcurrent] "i" (offsetof(struct x8664_pda, pcurrent)) \ : "memory", "cc" __EXTRA_CLOBBER) -# include "system_64.h" #endif #ifdef __KERNEL__ diff --git a/include/asm-x86/system_32.h b/include/asm-x86/system_32.h deleted file mode 100644 index 83af464..0000000 --- a/include/asm-x86/system_32.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef __ASM_SYSTEM_H -#define __ASM_SYSTEM_H - -#include <asm/segment.h> -#include <asm/cpufeature.h> -#include <asm/cmpxchg.h> - -#include <linux/irqflags.h> - -/* - * disable hlt during certain critical i/o operations - */ -#define HAVE_DISABLE_HLT - -#endif diff --git a/include/asm-x86/system_64.h b/include/asm-x86/system_64.h deleted file mode 100644 index 8d2059f..0000000 --- a/include/asm-x86/system_64.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef __ASM_SYSTEM_H -#define __ASM_SYSTEM_H - -#include <asm/segment.h> -#include <asm/cmpxchg.h> - - -#include <linux/irqflags.h> - -#endif -- 1.4.4.2
* Glauber de Oliveira Costa <gcosta@redhat.com> wrote:> At Ingo's request, here it goes a new patchset, that actually applies > ontop of the x86 tree (mm branch). Besides this issue, I've also > included a patch that remove the cr8 references, as Andi suggested.thanks - i've picked them up. Ingo