struct ppc_pci_io ppc_pci_io;
EXPORT_SYMBOL(ppc_pci_io);
#endif
- watchdog_enable_hardlockup_detector(false);
+
+ #ifdef CONFIG_HARDLOCKUP_DETECTOR
+ u64 hw_nmi_get_sample_period(int watchdog_thresh)
+ {
+ return ppc_proc_freq * watchdog_thresh;
+ }
+
+ /*
+ * The hardlockup detector breaks PMU event based branches and is likely
+ * to get false positives in KVM guests, so disable it by default.
+ */
+ static int __init disable_hardlockup_detector(void)
+ {
++ hardlockup_detector_disable();
+
+ return 0;
+ }
+ early_initcall(disable_hardlockup_detector);
+ #endif
GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown")
-CC := $(CROSS_COMPILE)$(CC)
CFLAGS := -Wall -O2 -flto -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR) $(CFLAGS)
-export CC CFLAGS
+export CFLAGS
- TARGETS = pmu copyloops mm tm primitives stringloops
+ SUB_DIRS = pmu copyloops mm tm primitives stringloops vphn switch_endian
endif
- all: $(TARGETS)
+ all: $(SUB_DIRS)
- $(TARGETS):
+ $(SUB_DIRS):
$(MAKE) -k -C $@ all
-run_tests: all
+include ../lib.mk
+
+override define RUN_TESTS
- @for TARGET in $(TARGETS); do \
+ @for TARGET in $(SUB_DIRS); do \
$(MAKE) -C $$TARGET run_tests; \
done;
- @for TARGET in $(TARGETS); do \
+endef
+
+override define INSTALL_RULE
- @for TARGET in $(TARGETS); do \
++ @for TARGET in $(SUB_DIRS); do \
+ $(MAKE) -C $$TARGET install; \
+ done;
+endef
+
+override define EMIT_TESTS
++ @for TARGET in $(SUB_DIRS); do \
+ $(MAKE) -s -C $$TARGET emit_tests; \
+ done;
+endef
clean:
- @for TARGET in $(TARGETS); do \
+ @for TARGET in $(SUB_DIRS); do \
$(MAKE) -C $$TARGET clean; \
done;
rm -f tags
tags:
find . -name '*.c' -o -name '*.h' | xargs ctags
- .PHONY: tags $(TARGETS)
-.PHONY: all run_tests clean tags $(SUB_DIRS)
++.PHONY: tags $(SUB_DIRS)
- TEST_PROGS := tm-resched-dscr
-PROGS := tm-resched-dscr tm-syscall
++TEST_PROGS := tm-resched-dscr tm-syscall
-all: $(PROGS)
+all: $(TEST_PROGS)
-$(PROGS): ../harness.c
+$(TEST_PROGS): ../harness.c
-run_tests: all
- @-for PROG in $(PROGS); do \
- ./$$PROG; \
- done;
+ tm-syscall: tm-syscall-asm.S
+ tm-syscall: CFLAGS += -mhtm
+
+include ../../lib.mk
clean:
- rm -f $(PROGS) *.o
-
-.PHONY: all run_tests clean
+ rm -f $(TEST_PROGS) *.o