diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2017-01-19 13:51:48 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-01-20 08:48:03 -0500 |
commit | d058fa7e98ff01a4b4750a2210fc19906db3cbe1 (patch) | |
tree | 2050b48f9bcbcbf3df9526e02afbbee45d53ab22 /drivers/hv | |
parent | 8de8af7e0873c4fdac2205327dff922819e16657 (diff) |
Drivers: hv: vmbus: Move the crash notification function
As part of the effort to separate out architecture specific code, move the
crash notification function.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hv')
-rw-r--r-- | drivers/hv/hyperv_vmbus.h | 10 | ||||
-rw-r--r-- | drivers/hv/vmbus_drv.c | 25 |
2 files changed, 0 insertions, 35 deletions
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h index a7e35c842fed..59eb28c45ff5 100644 --- a/drivers/hv/hyperv_vmbus.h +++ b/drivers/hv/hyperv_vmbus.h | |||
@@ -40,16 +40,6 @@ | |||
40 | */ | 40 | */ |
41 | #define HV_UTIL_NEGO_TIMEOUT 55 | 41 | #define HV_UTIL_NEGO_TIMEOUT 55 |
42 | 42 | ||
43 | #define HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE 0x400 | ||
44 | |||
45 | #define HV_X64_MSR_CRASH_P0 0x40000100 | ||
46 | #define HV_X64_MSR_CRASH_P1 0x40000101 | ||
47 | #define HV_X64_MSR_CRASH_P2 0x40000102 | ||
48 | #define HV_X64_MSR_CRASH_P3 0x40000103 | ||
49 | #define HV_X64_MSR_CRASH_P4 0x40000104 | ||
50 | #define HV_X64_MSR_CRASH_CTL 0x40000105 | ||
51 | |||
52 | #define HV_CRASH_CTL_CRASH_NOTIFY (1ULL << 63) | ||
53 | 43 | ||
54 | /* Define version of the synthetic interrupt controller. */ | 44 | /* Define version of the synthetic interrupt controller. */ |
55 | #define HV_SYNIC_VERSION (1) | 45 | #define HV_SYNIC_VERSION (1) |
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c index 565bdd16134a..8e81346114d4 100644 --- a/drivers/hv/vmbus_drv.c +++ b/drivers/hv/vmbus_drv.c | |||
@@ -56,31 +56,6 @@ static struct completion probe_event; | |||
56 | 56 | ||
57 | static int hyperv_cpuhp_online; | 57 | static int hyperv_cpuhp_online; |
58 | 58 | ||
59 | static void hyperv_report_panic(struct pt_regs *regs) | ||
60 | { | ||
61 | static bool panic_reported; | ||
62 | |||
63 | /* | ||
64 | * We prefer to report panic on 'die' chain as we have proper | ||
65 | * registers to report, but if we miss it (e.g. on BUG()) we need | ||
66 | * to report it on 'panic'. | ||
67 | */ | ||
68 | if (panic_reported) | ||
69 | return; | ||
70 | panic_reported = true; | ||
71 | |||
72 | wrmsrl(HV_X64_MSR_CRASH_P0, regs->ip); | ||
73 | wrmsrl(HV_X64_MSR_CRASH_P1, regs->ax); | ||
74 | wrmsrl(HV_X64_MSR_CRASH_P2, regs->bx); | ||
75 | wrmsrl(HV_X64_MSR_CRASH_P3, regs->cx); | ||
76 | wrmsrl(HV_X64_MSR_CRASH_P4, regs->dx); | ||
77 | |||
78 | /* | ||
79 | * Let Hyper-V know there is crash data available | ||
80 | */ | ||
81 | wrmsrl(HV_X64_MSR_CRASH_CTL, HV_CRASH_CTL_CRASH_NOTIFY); | ||
82 | } | ||
83 | |||
84 | static int hyperv_panic_event(struct notifier_block *nb, unsigned long val, | 59 | static int hyperv_panic_event(struct notifier_block *nb, unsigned long val, |
85 | void *args) | 60 | void *args) |
86 | { | 61 | { |