summaryrefslogtreecommitdiffstats
path: root/arch/tile/kernel/hvglue_trace.c
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@ezchip.com>2015-05-04 23:26:35 +0200
committerChris Metcalf <cmetcalf@ezchip.com>2015-05-11 17:22:31 +0200
commite5701b74ccfdbbb0b4d9abcc7d0c569bf5e5375b (patch)
tree12fd2d5402bea262d4a191504f3ad25b5263ae3a /arch/tile/kernel/hvglue_trace.c
parentdrivers/tty/hvc/hvc_tile.c: properly return -EAGAIN (diff)
downloadlinux-e5701b74ccfdbbb0b4d9abcc7d0c569bf5e5375b.tar.xz
linux-e5701b74ccfdbbb0b4d9abcc7d0c569bf5e5375b.zip
tile: support delivering NMIs for multicore backtrace
A new hypervisor service was added some time ago (MDE 4.2.1 or later, or MDE 4.3 or later) that allows cores to request NMIs to be delivered to other cores. Use this facility to deliver a request that causes a backtrace to be generated on each core, and hook it into the magic SysRq functionality. Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com>
Diffstat (limited to 'arch/tile/kernel/hvglue_trace.c')
-rw-r--r--arch/tile/kernel/hvglue_trace.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/tile/kernel/hvglue_trace.c b/arch/tile/kernel/hvglue_trace.c
index 85c74ad29312..add0d71395c6 100644
--- a/arch/tile/kernel/hvglue_trace.c
+++ b/arch/tile/kernel/hvglue_trace.c
@@ -75,6 +75,7 @@
#define hv_get_ipi_pte _hv_get_ipi_pte
#define hv_set_pte_super_shift _hv_set_pte_super_shift
#define hv_console_set_ipi _hv_console_set_ipi
+#define hv_send_nmi _hv_send_nmi
#include <hv/hypervisor.h>
#undef hv_init
#undef hv_install_context
@@ -134,6 +135,7 @@
#undef hv_get_ipi_pte
#undef hv_set_pte_super_shift
#undef hv_console_set_ipi
+#undef hv_send_nmi
/*
* Provide macros based on <linux/syscalls.h> to provide a wrapper
@@ -264,3 +266,5 @@ HV_WRAP9(int, hv_flush_remote, HV_PhysAddr, cache_pa,
HV_VirtAddr, tlb_va, unsigned long, tlb_length,
unsigned long, tlb_pgsize, unsigned long*, tlb_cpumask,
HV_Remote_ASID*, asids, int, asidcount)
+HV_WRAP3(HV_NMI_Info, hv_send_nmi, HV_Coord, tile, unsigned long, info,
+ __hv64, flags)