powerpc: Fix compile issue with force DAWR
If you compile with KVM but without CONFIG_HAVE_HW_BREAKPOINT you fail at linking with: arch/powerpc/kvm/book3s_hv_rmhandlers.o:(.text+0x708): undefined reference to `dawr_force_enable' This was caused by commitc1fe190c06
("powerpc: Add force enable of DAWR on P9 option"). This moves a bunch of code around to fix this. It moves a lot of the DAWR code in a new file and creates a new CONFIG_PPC_DAWR to enable compiling it. Fixes:c1fe190c06
("powerpc: Add force enable of DAWR on P9 option") Signed-off-by: Michael Neuling <mikey@neuling.org> [mpe: Minor formatting in set_dawr()] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:

committed by
Michael Ellerman

parent
548c54acba
commit
a278e7ea60
@@ -90,18 +90,25 @@ static inline void hw_breakpoint_disable(void)
|
||||
extern void thread_change_pc(struct task_struct *tsk, struct pt_regs *regs);
|
||||
int hw_breakpoint_handler(struct die_args *args);
|
||||
|
||||
extern int set_dawr(struct arch_hw_breakpoint *brk);
|
||||
#else /* CONFIG_HAVE_HW_BREAKPOINT */
|
||||
static inline void hw_breakpoint_disable(void) { }
|
||||
static inline void thread_change_pc(struct task_struct *tsk,
|
||||
struct pt_regs *regs) { }
|
||||
|
||||
#endif /* CONFIG_HAVE_HW_BREAKPOINT */
|
||||
|
||||
|
||||
#ifdef CONFIG_PPC_DAWR
|
||||
extern bool dawr_force_enable;
|
||||
static inline bool dawr_enabled(void)
|
||||
{
|
||||
return dawr_force_enable;
|
||||
}
|
||||
|
||||
#else /* CONFIG_HAVE_HW_BREAKPOINT */
|
||||
static inline void hw_breakpoint_disable(void) { }
|
||||
static inline void thread_change_pc(struct task_struct *tsk,
|
||||
struct pt_regs *regs) { }
|
||||
int set_dawr(struct arch_hw_breakpoint *brk);
|
||||
#else
|
||||
static inline bool dawr_enabled(void) { return false; }
|
||||
#endif /* CONFIG_HAVE_HW_BREAKPOINT */
|
||||
static inline int set_dawr(struct arch_hw_breakpoint *brk) { return -1; }
|
||||
#endif
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _PPC_BOOK3S_64_HW_BREAKPOINT_H */
|
||||
|
Reference in New Issue
Block a user