cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

rseq-ppc-thread-pointer.h (517B)


      1/* SPDX-License-Identifier: LGPL-2.1-only OR MIT */
      2/*
      3 * rseq-ppc-thread-pointer.h
      4 *
      5 * (C) Copyright 2021 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      6 */
      7
      8#ifndef _RSEQ_PPC_THREAD_POINTER
      9#define _RSEQ_PPC_THREAD_POINTER
     10
     11#ifdef __cplusplus
     12extern "C" {
     13#endif
     14
     15static inline void *rseq_thread_pointer(void)
     16{
     17#ifdef __powerpc64__
     18	register void *__result asm ("r13");
     19#else
     20	register void *__result asm ("r2");
     21#endif
     22	asm ("" : "=r" (__result));
     23	return __result;
     24}
     25
     26#ifdef __cplusplus
     27}
     28#endif
     29
     30#endif