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

bpf-prologue.h (906B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Copyright (C) 2015, He Kuang <hekuang@huawei.com>
      4 * Copyright (C) 2015, Huawei Inc.
      5 */
      6#ifndef __BPF_PROLOGUE_H
      7#define __BPF_PROLOGUE_H
      8
      9#include <linux/compiler.h>
     10#include <linux/filter.h>
     11#include "probe-event.h"
     12
     13#define BPF_PROLOGUE_MAX_ARGS 3
     14#define BPF_PROLOGUE_START_ARG_REG BPF_REG_3
     15#define BPF_PROLOGUE_FETCH_RESULT_REG BPF_REG_2
     16
     17#ifdef HAVE_BPF_PROLOGUE
     18int bpf__gen_prologue(struct probe_trace_arg *args, int nargs,
     19		      struct bpf_insn *new_prog, size_t *new_cnt,
     20		      size_t cnt_space);
     21#else
     22#include <errno.h>
     23
     24static inline int
     25bpf__gen_prologue(struct probe_trace_arg *args __maybe_unused,
     26		  int nargs __maybe_unused,
     27		  struct bpf_insn *new_prog __maybe_unused,
     28		  size_t *new_cnt,
     29		  size_t cnt_space __maybe_unused)
     30{
     31	if (!new_cnt)
     32		return -EINVAL;
     33	*new_cnt = 0;
     34	return -ENOTSUP;
     35}
     36#endif
     37#endif /* __BPF_PROLOGUE_H */