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

lib.h (961B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copyright 2014, Michael Ellerman, IBM Corp.
      4 */
      5
      6#ifndef __SELFTESTS_POWERPC_PMU_LIB_H
      7#define __SELFTESTS_POWERPC_PMU_LIB_H
      8
      9#include <stdbool.h>
     10#include <stdio.h>
     11#include <stdint.h>
     12#include <string.h>
     13#include <unistd.h>
     14
     15union pipe {
     16	struct {
     17		int read_fd;
     18		int write_fd;
     19	};
     20	int fds[2];
     21};
     22
     23extern int bind_to_cpu(int cpu);
     24extern int kill_child_and_wait(pid_t child_pid);
     25extern int wait_for_child(pid_t child_pid);
     26extern int sync_with_child(union pipe read_pipe, union pipe write_pipe);
     27extern int wait_for_parent(union pipe read_pipe);
     28extern int notify_parent(union pipe write_pipe);
     29extern int notify_parent_of_error(union pipe write_pipe);
     30extern pid_t eat_cpu(int (test_function)(void));
     31extern bool require_paranoia_below(int level);
     32
     33struct addr_range {
     34	uint64_t first, last;
     35};
     36
     37extern struct addr_range libc, vdso;
     38
     39int parse_proc_maps(void);
     40
     41#endif /* __SELFTESTS_POWERPC_PMU_LIB_H */