diff options
author | whu <whu@FreeBSD.org> | 2015-04-29 10:12:34 +0000 |
---|---|---|
committer | whu <whu@FreeBSD.org> | 2015-04-29 10:12:34 +0000 |
commit | 0b81a496572c1f07b5403b35bdf7d54c37e4367e (patch) | |
tree | 9002551ef1d373d143b1a55b2f835913b5458fa1 /sys/amd64/amd64/apic_vector.S | |
parent | 699d6a9776809c40d52be400e3bb86875c38d859 (diff) | |
download | FreeBSD-src-0b81a496572c1f07b5403b35bdf7d54c37e4367e.zip FreeBSD-src-0b81a496572c1f07b5403b35bdf7d54c37e4367e.tar.gz |
Microsoft vmbus, storage and other related driver enhancements for HyperV.
- Vmbus multi channel support.
- Vector interrupt support.
- Signal optimization.
- Storvsc driver performance improvement.
- Scatter and gather support for storvsc driver.
- Minor bug fix for KVP driver.
Thanks royger, jhb and delphij from FreeBSD community for the reviews
and comments. Also thanks Hovy Xu from NetApp for the contributions to
the storvsc driver.
PR: 195238
Submitted by: whu
Reviewed by: royger, jhb, delphij
Approved by: royger
MFC after: 2 weeks
Relnotes: yes
Sponsored by: Microsoft OSTC
Diffstat (limited to 'sys/amd64/amd64/apic_vector.S')
-rw-r--r-- | sys/amd64/amd64/apic_vector.S | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sys/amd64/amd64/apic_vector.S b/sys/amd64/amd64/apic_vector.S index c3aac33..4455cab 100644 --- a/sys/amd64/amd64/apic_vector.S +++ b/sys/amd64/amd64/apic_vector.S @@ -174,6 +174,22 @@ IDTVEC(xen_intr_upcall) jmp doreti #endif +#ifdef HYPERV +/* + * This is the Hyper-V vmbus channel direct callback interrupt. + * Only used when it is running on Hyper-V. + */ + .text + SUPERALIGN_TEXT +IDTVEC(hv_vmbus_callback) + PUSH_FRAME + FAKE_MCOUNT(TF_RIP(%rsp)) + movq %rsp, %rdi + call hv_vector_handler + MEXITCOUNT + jmp doreti +#endif + #ifdef SMP /* * Global address space TLB shootdown. |