mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-11 08:18:47 +00:00
650b55b707
For powerpc64, redefine the ppc_inst type so both word and prefixed instructions can be represented. On powerpc32 the type will remain the same. Update places which had assumed instructions to be 4 bytes long. Signed-off-by: Jordan Niethe <jniethe5@gmail.com> Reviewed-by: Alistair Popple <alistair@popple.id.au> [mpe: Rework the get_user_inst() macros to be parameterised, and don't assign to the dest if an error occurred. Use CONFIG_PPC64 not __powerpc64__ in a few places. Address other comments from Christophe. Fix some sparse complaints.] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200506034050.24806-24-jniethe5@gmail.com
37 lines
819 B
C
37 lines
819 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
#ifndef _ASM_UPROBES_H
|
|
#define _ASM_UPROBES_H
|
|
/*
|
|
* User-space Probes (UProbes) for powerpc
|
|
*
|
|
* Copyright IBM Corporation, 2007-2012
|
|
*
|
|
* Adapted from the x86 port by Ananth N Mavinakayanahalli <ananth@in.ibm.com>
|
|
*/
|
|
|
|
#include <linux/notifier.h>
|
|
#include <asm/probes.h>
|
|
#include <asm/inst.h>
|
|
|
|
typedef ppc_opcode_t uprobe_opcode_t;
|
|
|
|
#define MAX_UINSN_BYTES 8
|
|
#define UPROBE_XOL_SLOT_BYTES (MAX_UINSN_BYTES)
|
|
|
|
/* The following alias is needed for reference from arch-agnostic code */
|
|
#define UPROBE_SWBP_INSN BREAKPOINT_INSTRUCTION
|
|
#define UPROBE_SWBP_INSN_SIZE 4 /* swbp insn size in bytes */
|
|
|
|
struct arch_uprobe {
|
|
union {
|
|
struct ppc_inst insn;
|
|
struct ppc_inst ixol;
|
|
};
|
|
};
|
|
|
|
struct arch_uprobe_task {
|
|
unsigned long saved_trap_nr;
|
|
};
|
|
|
|
#endif /* _ASM_UPROBES_H */
|