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

vdso.h (540B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * Author: Huacai Chen <chenhuacai@loongson.cn>
      4 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
      5 */
      6
      7#ifndef __ASSEMBLY__
      8
      9#include <asm/asm.h>
     10#include <asm/page.h>
     11
     12static inline unsigned long get_vdso_base(void)
     13{
     14	unsigned long addr;
     15
     16	__asm__(
     17	" la.pcrel %0, _start\n"
     18	: "=r" (addr)
     19	:
     20	:);
     21
     22	return addr;
     23}
     24
     25static inline const struct vdso_data *get_vdso_data(void)
     26{
     27	return (const struct vdso_data *)(get_vdso_base() - PAGE_SIZE);
     28}
     29
     30#endif /* __ASSEMBLY__ */