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 this recent patch: commit c1fe190c06723322f2dfac31d3b982c581e434ef Author: Michael Neuling <mi...@neuling.org> powerpc: Add force enable of DAWR on P9 option This builds dawr_force_enable in always via a new file. Signed-off-by: Michael Neuling <mi...@neuling.org> --- arch/powerpc/kernel/Makefile | 2 +- arch/powerpc/kernel/dawr.c | 11 +++++++++++ arch/powerpc/kernel/hw_breakpoint.c | 3 --- 3 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 arch/powerpc/kernel/dawr.c diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index 0ea6c4aa3a..48a20ef5be 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile @@ -49,7 +49,7 @@ obj-y := cputable.o ptrace.o syscalls.o \ signal.o sysfs.o cacheinfo.o time.o \ prom.o traps.o setup-common.o \ udbg.o misc.o io.o misc_$(BITS).o \ - of_platform.o prom_parse.o + of_platform.o prom_parse.o dawr.o obj-$(CONFIG_PPC64) += setup_64.o sys_ppc32.o \ signal_64.o ptrace32.o \ paca.o nvram_64.o firmware.o diff --git a/arch/powerpc/kernel/dawr.c b/arch/powerpc/kernel/dawr.c new file mode 100644 index 0000000000..ca343efd23 --- /dev/null +++ b/arch/powerpc/kernel/dawr.c @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0+ +// +// DAWR global variables +// +// Copyright 2019, Michael Neuling, IBM Corporation. + +#include <linux/types.h> +#include <linux/export.h> + +bool dawr_force_enable; +EXPORT_SYMBOL_GPL(dawr_force_enable); diff --git a/arch/powerpc/kernel/hw_breakpoint.c b/arch/powerpc/kernel/hw_breakpoint.c index da307dd93e..78a17454f4 100644 --- a/arch/powerpc/kernel/hw_breakpoint.c +++ b/arch/powerpc/kernel/hw_breakpoint.c @@ -381,9 +381,6 @@ void hw_breakpoint_pmu_read(struct perf_event *bp) /* TODO */ } -bool dawr_force_enable; -EXPORT_SYMBOL_GPL(dawr_force_enable); - static ssize_t dawr_write_file_bool(struct file *file, const char __user *user_buf, size_t count, loff_t *ppos) -- 2.21.0