// SPDX-FileCopyrightText: 2014 Helge Deller // // SPDX-License-Identifier: LGPL-2.1-or-later #ifndef _URCU_ARCH_HPPA_H #define _URCU_ARCH_HPPA_H /* * arch/hppa.h: definitions for hppa architecture */ #include #include #include #ifdef __cplusplus extern "C" { #endif #include #include /* * On Linux, define the membarrier system call number if not yet available in * the system headers. */ #if (defined(__linux__) && !defined(__NR_membarrier)) #define __NR_membarrier 343 #endif #define HAS_CAA_GET_CYCLES typedef unsigned long caa_cycles_t; static inline caa_cycles_t caa_get_cycles(void) { caa_cycles_t cycles; asm volatile("mfctl 16, %0" : "=r" (cycles)); return cycles; } #ifdef __cplusplus } #endif #include #endif /* _URCU_ARCH_HPPA_H */