Commit c0b34672 authored by Michael Ellerman's avatar Michael Ellerman
Browse files

Merge branch 'topic/ppc-kvm' into next

Merge the DAWR series, which touches arch code and KVM code and may need
to be merged into the kvm-ppc tree.
parents 34a286a4 96541531
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -464,9 +464,8 @@ static inline void cpu_feature_keys_init(void) { }
	    CPU_FTR_DSCR | CPU_FTR_SAO  | \
	    CPU_FTR_STCX_CHECKS_ADDRESS | CPU_FTR_POPCNTB | CPU_FTR_POPCNTD | \
	    CPU_FTR_CFAR | CPU_FTR_HVMODE | CPU_FTR_VMX_COPY | \
	    CPU_FTR_DBELL | CPU_FTR_HAS_PPR | CPU_FTR_DAWR | \
	    CPU_FTR_ARCH_207S | CPU_FTR_TM_COMP | CPU_FTR_ARCH_300 | \
	    CPU_FTR_PKEY)
	    CPU_FTR_DBELL | CPU_FTR_HAS_PPR | CPU_FTR_ARCH_207S | \
	    CPU_FTR_TM_COMP | CPU_FTR_ARCH_300 | CPU_FTR_PKEY)
#define CPU_FTRS_POWER9_DD1 ((CPU_FTRS_POWER9 | CPU_FTR_POWER9_DD1) & \
			     (~CPU_FTR_SAO))
#define CPU_FTRS_POWER9_DD2_0 CPU_FTRS_POWER9
+1 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ static inline int debugger_fault_handler(struct pt_regs *regs) { return 0; }

void set_breakpoint(struct arch_hw_breakpoint *brk);
void __set_breakpoint(struct arch_hw_breakpoint *brk);
bool ppc_breakpoint_available(void);
#ifdef CONFIG_PPC_ADV_DEBUG_REGS
extern void do_send_trap(struct pt_regs *regs, unsigned long address,
			 unsigned long error_code, int brkpt);
+1 −0
Original line number Diff line number Diff line
@@ -88,6 +88,7 @@
#define H_P8		-61
#define H_P9		-62
#define H_TOO_BIG	-64
#define H_UNSUPPORTED	-67
#define H_OVERLAP	-68
#define H_INTERRUPT	-69
#define H_BAD_DATA	-70
+3 −0
Original line number Diff line number Diff line
@@ -713,6 +713,9 @@ static __init void cpufeatures_cpu_quirks(void)
	else if ((version & 0xffffefff) == 0x004e0202)
		cur_cpu_spec->cpu_features |= CPU_FTR_P9_TM_HV_ASSIST |
			CPU_FTR_P9_TM_XER_SO_BUG;

	if ((version & 0xffff0000) == 0x004e0000)
		cur_cpu_spec->cpu_features &= ~(CPU_FTR_DAWR);
}

static void __init cpufeatures_setup_finished(void)
+3 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@
#include <asm/hw_breakpoint.h>
#include <asm/processor.h>
#include <asm/sstep.h>
#include <asm/debug.h>
#include <linux/uaccess.h>

/*
@@ -171,6 +172,8 @@ int arch_validate_hwbkpt_settings(struct perf_event *bp)
	 * HW_BREAKPOINT_ALIGN by rounding off to the lower address, the
	 * 'symbolsize' should satisfy the check below.
	 */
	if (!ppc_breakpoint_available())
		return -ENODEV;
	length_max = 8; /* DABR */
	if (cpu_has_feature(CPU_FTR_DAWR)) {
		length_max = 512 ; /* 64 doublewords */
Loading