aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/hyperv
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/hyperv')
-rw-r--r--sys/dev/hyperv/input/hv_kbdc.c2
-rw-r--r--sys/dev/hyperv/utilities/hv_kvp.c2
-rw-r--r--sys/dev/hyperv/utilities/hv_snapshot.c2
-rw-r--r--sys/dev/hyperv/vmbus/amd64/vmbus_vector.S2
-rw-r--r--sys/dev/hyperv/vmbus/x86/hyperv_reg.h6
-rw-r--r--sys/dev/hyperv/vmbus/x86/vmbus_x86.c3
6 files changed, 13 insertions, 4 deletions
diff --git a/sys/dev/hyperv/input/hv_kbdc.c b/sys/dev/hyperv/input/hv_kbdc.c
index 4f098a99a06b..dc5435b25ff2 100644
--- a/sys/dev/hyperv/input/hv_kbdc.c
+++ b/sys/dev/hyperv/input/hv_kbdc.c
@@ -515,7 +515,7 @@ static device_method_t kbd_methods[] = {
DEVMETHOD(device_probe, hv_kbd_probe),
DEVMETHOD(device_attach, hv_kbd_attach),
DEVMETHOD(device_detach, hv_kbd_detach),
- { 0, 0 }
+ DEVMETHOD_END
};
static driver_t kbd_driver = {HVKBD_DRIVER_NAME , kbd_methods, sizeof(hv_kbd_sc)};
diff --git a/sys/dev/hyperv/utilities/hv_kvp.c b/sys/dev/hyperv/utilities/hv_kvp.c
index d8ab583d69fa..587e2154f37f 100644
--- a/sys/dev/hyperv/utilities/hv_kvp.c
+++ b/sys/dev/hyperv/utilities/hv_kvp.c
@@ -905,7 +905,7 @@ static device_method_t kvp_methods[] = {
DEVMETHOD(device_probe, hv_kvp_probe),
DEVMETHOD(device_attach, hv_kvp_attach),
DEVMETHOD(device_detach, hv_kvp_detach),
- { 0, 0 }
+ DEVMETHOD_END
};
static driver_t kvp_driver = { "hvkvp", kvp_methods, sizeof(hv_kvp_sc)};
diff --git a/sys/dev/hyperv/utilities/hv_snapshot.c b/sys/dev/hyperv/utilities/hv_snapshot.c
index 9426544a0700..d8b8df8d8581 100644
--- a/sys/dev/hyperv/utilities/hv_snapshot.c
+++ b/sys/dev/hyperv/utilities/hv_snapshot.c
@@ -1046,7 +1046,7 @@ static device_method_t vss_methods[] = {
DEVMETHOD(device_probe, hv_vss_probe),
DEVMETHOD(device_attach, hv_vss_attach),
DEVMETHOD(device_detach, hv_vss_detach),
- { 0, 0 }
+ DEVMETHOD_END
};
static driver_t vss_driver = { "hvvss", vss_methods, sizeof(hv_vss_sc)};
diff --git a/sys/dev/hyperv/vmbus/amd64/vmbus_vector.S b/sys/dev/hyperv/vmbus/amd64/vmbus_vector.S
index a15041ae7e32..f7479dc1f6f8 100644
--- a/sys/dev/hyperv/vmbus/amd64/vmbus_vector.S
+++ b/sys/dev/hyperv/vmbus/amd64/vmbus_vector.S
@@ -40,3 +40,5 @@
movq %rsp, %rdi
call vmbus_handle_intr
jmp doreti
+
+ .section .note.GNU-stack,"",%progbits
diff --git a/sys/dev/hyperv/vmbus/x86/hyperv_reg.h b/sys/dev/hyperv/vmbus/x86/hyperv_reg.h
index 0597a1fea953..e7560d00f25e 100644
--- a/sys/dev/hyperv/vmbus/x86/hyperv_reg.h
+++ b/sys/dev/hyperv/vmbus/x86/hyperv_reg.h
@@ -45,4 +45,10 @@
#define CPUID_LEAF_HV_IDENTITY 0x40000002
#define CPUID_LEAF_HV_FEATURES 0x40000003
#define CPUID_LEAF_HV_RECOMMENDS 0x40000004
+
+#define CPUID_LEAF_HV_STACK_INTERFACE 0x40000081
+#define HYPERV_STACK_INTERFACE_EAX_SIG 0x31235356 /* "VS#1" */
+#define CPUID_LEAF_HV_STACK_PROPERTIES 0x40000082
+#define HYPERV_PROPERTIES_EXT_DEST_ID 0x00000004
+
#endif /* !_HYPERV_REG_H_ */
diff --git a/sys/dev/hyperv/vmbus/x86/vmbus_x86.c b/sys/dev/hyperv/vmbus/x86/vmbus_x86.c
index 0ed3b1b5f9d9..130ea5bf556b 100644
--- a/sys/dev/hyperv/vmbus/x86/vmbus_x86.c
+++ b/sys/dev/hyperv/vmbus/x86/vmbus_x86.c
@@ -151,7 +151,8 @@ vmbus_setup_intr1(struct vmbus_softc *sc)
* free IDT vector for Hyper-V ISR and set it up.
*/
sc->vmbus_idtvec = lapic_ipi_alloc(
- pti ? IDTVEC(vmbus_isr_pti) : IDTVEC(vmbus_isr));
+ pti ? IDTVEC(vmbus_isr_pti) : IDTVEC(vmbus_isr),
+ vmbus_handle_intr);
if (sc->vmbus_idtvec < 0) {
#if defined(__amd64__) && defined(KLD_MODULE)
pmap_pti_remove_kva(VMBUS_ISR_ADDR, VMBUS_ISR_ADDR + PAGE_SIZE);