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

unwinder.h (856B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _LINUX_UNWINDER_H
      3#define _LINUX_UNWINDER_H
      4
      5#include <asm/stacktrace.h>
      6
      7struct unwinder {
      8	const char *name;
      9	struct list_head list;
     10	int rating;
     11	void (*dump)(struct task_struct *, struct pt_regs *,
     12		     unsigned long *, const struct stacktrace_ops *, void *);
     13};
     14
     15extern int unwinder_init(void);
     16extern int unwinder_register(struct unwinder *);
     17
     18extern void unwind_stack(struct task_struct *, struct pt_regs *,
     19			 unsigned long *, const struct stacktrace_ops *,
     20			 void *);
     21
     22extern void stack_reader_dump(struct task_struct *, struct pt_regs *,
     23			      unsigned long *, const struct stacktrace_ops *,
     24			      void *);
     25
     26/*
     27 * Used by fault handling code to signal to the unwinder code that it
     28 * should switch to a different unwinder.
     29 */
     30extern int unwinder_faulted;
     31
     32#endif /* _LINUX_UNWINDER_H */