powerpc/inst: Move ppc_inst_t definition in asm/reg.h

Because of circular inclusion of asm/hw_breakpoint.h, we
need to move definition of asm/reg.h outside of inst.h
so that asm/hw_breakpoint.h gets it without including
asm/inst.h

Also remove asm/inst.h from asm/uprobes.h as it's not
needed anymore.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/4b79f1491118af96b1ac0735e74aeca02ea4c04e.1638208156.git.christophe.leroy@csgroup.eu
This commit is contained in:
Christophe Leroy 2021-11-29 18:49:40 +01:00 committed by Michael Ellerman
parent 07b863aef5
commit 9b307576f3
4 changed files with 13 additions and 11 deletions

View file

@ -10,7 +10,6 @@
#define _PPC_BOOK3S_64_HW_BREAKPOINT_H
#include <asm/cpu_has_feature.h>
#include <asm/inst.h>
#ifdef __KERNEL__
struct arch_hw_breakpoint {

View file

@ -3,6 +3,7 @@
#define _ASM_POWERPC_INST_H
#include <asm/ppc-opcode.h>
#include <asm/reg.h>
#define ___get_user_instr(gu_op, dest, ptr) \
({ \
@ -35,13 +36,6 @@
*/
#if defined(CONFIG_PPC64) || defined(__CHECKER__)
typedef struct {
u32 val;
#ifdef CONFIG_PPC64
u32 suffix;
#endif
} __packed ppc_inst_t;
static inline u32 ppc_inst_val(ppc_inst_t x)
{
return x.val;
@ -50,8 +44,6 @@ static inline u32 ppc_inst_val(ppc_inst_t x)
#define ppc_inst(x) ((ppc_inst_t){ .val = (x) })
#else
typedef u32 ppc_inst_t;
static inline u32 ppc_inst_val(ppc_inst_t x)
{
return x;

View file

@ -1366,6 +1366,18 @@
/* Macros for setting and retrieving special purpose registers */
#ifndef __ASSEMBLY__
#if defined(CONFIG_PPC64) || defined(__CHECKER__)
typedef struct {
u32 val;
#ifdef CONFIG_PPC64
u32 suffix;
#endif
} __packed ppc_inst_t;
#else
typedef u32 ppc_inst_t;
#endif
#define mfmsr() ({unsigned long rval; \
asm volatile("mfmsr %0" : "=r" (rval) : \
: "memory"); rval;})

View file

@ -11,7 +11,6 @@
#include <linux/notifier.h>
#include <asm/probes.h>
#include <asm/inst.h>
typedef ppc_opcode_t uprobe_opcode_t;