From: Glauber de Oliveira Costa This patch uses the already-existant wbinvd() macro to replace raw assembly to perform this very same task in some .c files Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Andrew Morton --- arch/x86_64/kernel/tce.c | 2 +- arch/x86_64/mm/pageattr.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff -puN arch/x86_64/kernel/tce.c~x86_64-use-wbinvd-macro-instead-of-raw-inline-assembly-in-c-files arch/x86_64/kernel/tce.c --- a/arch/x86_64/kernel/tce.c~x86_64-use-wbinvd-macro-instead-of-raw-inline-assembly-in-c-files +++ a/arch/x86_64/kernel/tce.c @@ -42,7 +42,7 @@ static inline void flush_tce(void* tcead if (cpu_has_clflush) asm volatile("clflush (%0)" :: "r" (tceaddr)); else - asm volatile("wbinvd":::"memory"); + wbinvd(); } void tce_build(struct iommu_table *tbl, unsigned long index, diff -puN arch/x86_64/mm/pageattr.c~x86_64-use-wbinvd-macro-instead-of-raw-inline-assembly-in-c-files arch/x86_64/mm/pageattr.c --- a/arch/x86_64/mm/pageattr.c~x86_64-use-wbinvd-macro-instead-of-raw-inline-assembly-in-c-files +++ a/arch/x86_64/mm/pageattr.c @@ -76,7 +76,7 @@ static void flush_kernel_map(void *arg) /* When clflush is available always use it because it is much cheaper than WBINVD. */ if (!cpu_has_clflush) - asm volatile("wbinvd" ::: "memory"); + wbinvd(); else list_for_each_entry(pg, l, lru) { void *adr = page_address(pg); cache_flush_page(adr); _