diff options
author | Petri Savolainen <petri.savolainen@nokia.com> | 2016-01-13 15:21:38 +0200 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2016-02-08 20:45:23 +0300 |
commit | 59128f5dc4cc831f569567917069b20ab045771e (patch) | |
tree | f8f426c66d660b41e6cbb72acfa09f9119ab4206 /platform/linux-generic/arch/x86 | |
parent | 1613ad9696c742df2cc2dd487a715c77034592b8 (diff) |
linux-generic: cpu: implemented pause
Implemented pause as an inline function in a cpu arch dependent
header file.
Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com>
Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Conflicts:
platform/linux-generic/Makefile.am
Diffstat (limited to 'platform/linux-generic/arch/x86')
-rw-r--r-- | platform/linux-generic/arch/x86/odp/cpu_arch.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/platform/linux-generic/arch/x86/odp/cpu_arch.h b/platform/linux-generic/arch/x86/odp/cpu_arch.h new file mode 100644 index 000000000..997a95475 --- /dev/null +++ b/platform/linux-generic/arch/x86/odp/cpu_arch.h @@ -0,0 +1,27 @@ +/* Copyright (c) 2016, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef ODP_PLAT_CPU_ARCH_H_ +#define ODP_PLAT_CPU_ARCH_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +static inline void odp_cpu_pause(void) +{ +#ifdef __SSE2__ + __asm__ __volatile__ ("pause"); +#else + __asm__ __volatile__ ("rep; nop"); +#endif +} + +#ifdef __cplusplus +} +#endif + +#endif |