x86/vdso: Enable x86 to use common headers
Enable x86 to use only the common headers in the implementation of the vDSO library. Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lkml.kernel.org/r/20200320145351.32292-24-vincenzo.frascino@arm.com
This commit is contained in:
parent
c135fc875c
commit
abc22418db
@ -26,6 +26,7 @@ struct vm86;
|
|||||||
#include <asm/fpu/types.h>
|
#include <asm/fpu/types.h>
|
||||||
#include <asm/unwind_hints.h>
|
#include <asm/unwind_hints.h>
|
||||||
#include <asm/vmxfeatures.h>
|
#include <asm/vmxfeatures.h>
|
||||||
|
#include <asm/vdso/processor.h>
|
||||||
|
|
||||||
#include <linux/personality.h>
|
#include <linux/personality.h>
|
||||||
#include <linux/cache.h>
|
#include <linux/cache.h>
|
||||||
@ -677,17 +678,6 @@ static inline unsigned int cpuid_edx(unsigned int op)
|
|||||||
return edx;
|
return edx;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
|
|
||||||
static __always_inline void rep_nop(void)
|
|
||||||
{
|
|
||||||
asm volatile("rep; nop" ::: "memory");
|
|
||||||
}
|
|
||||||
|
|
||||||
static __always_inline void cpu_relax(void)
|
|
||||||
{
|
|
||||||
rep_nop();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This function forces the icache and prefetched instruction stream to
|
* This function forces the icache and prefetched instruction stream to
|
||||||
* catch up with reality in two very specific cases:
|
* catch up with reality in two very specific cases:
|
||||||
|
23
arch/x86/include/asm/vdso/processor.h
Normal file
23
arch/x86/include/asm/vdso/processor.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2020 ARM Ltd.
|
||||||
|
*/
|
||||||
|
#ifndef __ASM_VDSO_PROCESSOR_H
|
||||||
|
#define __ASM_VDSO_PROCESSOR_H
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
|
||||||
|
/* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
|
||||||
|
static __always_inline void rep_nop(void)
|
||||||
|
{
|
||||||
|
asm volatile("rep; nop" ::: "memory");
|
||||||
|
}
|
||||||
|
|
||||||
|
static __always_inline void cpu_relax(void)
|
||||||
|
{
|
||||||
|
rep_nop();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
|
#endif /* __ASM_VDSO_PROCESSOR_H */
|
Loading…
Reference in New Issue
Block a user