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

uprobes.h (1017B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2#ifndef _ASM_UPROBES_H
      3#define _ASM_UPROBES_H
      4/*
      5 * User-space Probes (UProbes) for x86
      6 *
      7 * Copyright (C) IBM Corporation, 2008-2011
      8 * Authors:
      9 *	Srikar Dronamraju
     10 *	Jim Keniston
     11 */
     12
     13#include <linux/notifier.h>
     14
     15typedef u8 uprobe_opcode_t;
     16
     17#define MAX_UINSN_BYTES			  16
     18#define UPROBE_XOL_SLOT_BYTES		 128	/* to keep it cache aligned */
     19
     20#define UPROBE_SWBP_INSN		0xcc
     21#define UPROBE_SWBP_INSN_SIZE		   1
     22
     23struct uprobe_xol_ops;
     24
     25struct arch_uprobe {
     26	union {
     27		u8			insn[MAX_UINSN_BYTES];
     28		u8			ixol[MAX_UINSN_BYTES];
     29	};
     30
     31	const struct uprobe_xol_ops	*ops;
     32
     33	union {
     34		struct {
     35			s32	offs;
     36			u8	ilen;
     37			u8	opc1;
     38		}			branch;
     39		struct {
     40			u8	fixups;
     41			u8	ilen;
     42		} 			defparam;
     43		struct {
     44			u8	reg_offset;	/* to the start of pt_regs */
     45			u8	ilen;
     46		}			push;
     47	};
     48};
     49
     50struct arch_uprobe_task {
     51#ifdef CONFIG_X86_64
     52	unsigned long			saved_scratch_register;
     53#endif
     54	unsigned int			saved_trap_nr;
     55	unsigned int			saved_tf;
     56};
     57
     58#endif	/* _ASM_UPROBES_H */