aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/hyperv/vmbus
Commit message (Collapse)AuthorAgeFilesLines
* Remove residual blank line at start of MakefileWarner Losh2024-07-151-1/+0
| | | | | | | This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
* Hyper-V: TLB flush enlightment using hypercallSouradeep Chakrabarti2024-06-071-2/+2
| | | | | | | | | | | | | | | | | | | | Currently FreeBSD uses IPI based TLB flushing for remote TLB flushing. Hyper-V allows hypercalls to flush local and remote TLB. The use of Hyper-V hypercalls gives significant performance improvement in TLB operations. This patch set during test has shown near to 40 percent TLB performance improvement. Also this patch adds rep hypercall implementation as well. Reviewed by: whu, kib Tested by: whu Authored-by: Souradeep Chakrabarti <schakrabarti@microsoft.com> Co-Authored-by: Erni Sri Satya Vennela <ernis@microsoft.com> MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D45521
* sys: Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-161-1/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final)Souradeep Chakrabarti2022-10-271-3/+8
| | | | | | | | | | | | This is the last part for ARM64 Hyper-V enablement. This includes commone files and make file changes to enable the ARM64 FreeBSD guest on Hyper-V. With this patch, it should be able to build the ARM64 image and install it on Hyper-V. Reviewed by: emaste, andrew, whu Tested by: Souradeep Chakrabarti <schakrabarti@microsoft.com> Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D36744
* Fix some modules to export more used symbolsKonstantin Belousov2021-11-181-0/+2
| | | | | | | | | and remove non-present symbols that are now reported by kmod_syms.awk. Reviewed by: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D32878
* hyperv: Fix vmbus after the i386 4/4 splitMark Johnston2021-06-081-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | The vmbus ISR needs to live in a trampoline. Dynamically allocating a trampoline at driver initialization time poses some difficulties due to the fact that the KENTER macro assumes that the offset relative to tramp_idleptd is fixed at static link time. Another problem is that native_lapic_ipi_alloc() uses setidt(), which assumes a fixed trampoline offset. Rather than fight this, move the Hyper-V ISR to i386/exception.s. Add a new HYPERV kernel option to make this optional, and configure it by default on i386. This is sufficient to make use of vmbus(4) after the 4/4 split. Note that vmbus cannot be loaded dynamically and both the HYPERV option and device must be configured together. I think this is not too onerous a requirement, since vmbus(4) was previously non-functional. Reported by: Harry Schmalzbauer <freebsd@omnilan.de> Tested by: Harry Schmalzbauer <freebsd@omnilan.de> Reviewed by: whu, kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D30577
* Move most of the contents of opt_compat.h to opt_global.h.Brooks Davis2018-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | | opt_compat.h is mentioned in nearly 180 files. In-progress network driver compabibility improvements may add over 100 more so this is closer to "just about everywhere" than "only some files" per the guidance in sys/conf/options. Keep COMPAT_LINUX32 in opt_compat.h as it is confined to a subset of sys/compat/linux/*.c. A fake _COMPAT_LINUX option ensure opt_compat.h is created on all architectures. Move COMPAT_LINUXKPI to opt_dontuse.h as it is only used to control the set of compiled files. Reviewed by: kib, cem, jhb, jtl Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14941 Notes: svn path=/head/; revision=332122
* Rename assym.s to assym.incEd Maste2018-03-201-2/+2
| | | | | | | | | | | | assym is only to be included by other .s files, and should never actually be assembled by itself. Reviewed by: imp, bdrewery (earlier) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D14180 Notes: svn path=/head/; revision=331254
* Move assym.s to DPSRCS in vmbus moduleEd Maste2018-03-171-2/+2
| | | | | | | | assym.s is only to be included by other .s files, and should not actually be assembled by itself. Notes: svn path=/head/; revision=331096
* hyperv/vmbus: Reorganize vmbus device treeSepherosa Ziehau2017-05-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | For GEN1 Hyper-V, vmbus is attached to pcib0, which contains the resources for PCI passthrough and SR-IOV. There is no acpi_syscontainer0 on GEN1 Hyper-V. For GEN2 Hyper-V, vmbus is attached to acpi_syscontainer0, which contains the resources for PCI passthrough and SR-IOV. There is no pcib0 on GEN2 Hyper-V. The ACPI VMBUS device now only holds its _CRS, which is empty as of this commit; its existence is mainly for upward compatibility. Device tree structure is suggested by jhb@. Tested-by: dexuan@ Collabrated-wth: dexuan@ MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D10565 Notes: svn path=/head/; revision=318136
* sys/modules: normalize .CURDIR-relative paths to SRCTOPEnji Cooper2017-03-041-4/+4
| | | | | | | | | | | This simplifies make output/logic Tested with: `cd sys/modules; make ALL_MODULES=` on amd64 MFC after: 1 month Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=314651
* hyperv/pcib: Fix the build for some kernel configsDexuan Cui2016-11-181-1/+1
| | | | | | | | | | | | | Add the dependency on pci explicitly for the pcib and vmbus drivers. The related Makefiles are updated accordingly too. Reviewed by: sephe Approved by: sephe (mentor) MFC after: 1 week Sponsored by: Microsoft Notes: svn path=/head/; revision=308793
* hyperv/vmbus: Add missing vmbus_if.c to module build.Sepherosa Ziehau2016-09-301-0/+1
| | | | | | | | | MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8067 Notes: svn path=/head/; revision=306484
* hyperv/vmbus: Add APIs for various types of transactions.Sepherosa Ziehau2016-08-111-1/+2
| | | | | | | | | | Reviewed by: Jun Su <junsu microsoft com> MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7456 Notes: svn path=/head/; revision=303947
* opt_apic.h is only used on i386.Bryan Drewery2016-07-271-1/+4
| | | | | | | | MFC after: 3 days Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=303415
* hyperv/vmbus: Rename cleaned up bufring codeSepherosa Ziehau2016-07-271-2/+2
| | | | | | | | | MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7318 Notes: svn path=/head/; revision=303379
* hyperv/vmbus: Rename laundered vmbus channel codeSepherosa Ziehau2016-07-191-2/+2
| | | | | | | | | MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D7232 Notes: svn path=/head/; revision=303023
* hyperv/vmbus: Merge hv_channel_mgmt.c into hv_channel.cSepherosa Ziehau2016-07-151-1/+0
| | | | | | | | | MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D7126 Notes: svn path=/head/; revision=302864
* hyperv/vmbus: Merge hv_connection.c into hv_channel.cSepherosa Ziehau2016-07-131-1/+0
| | | | | | | | | MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D7004 Notes: svn path=/head/; revision=302692
* hyperv/vmbus: Rework vmbus version accessing.Sepherosa Ziehau2016-07-121-1/+1
| | | | | | | | | | | | Instead of global variable, vmbus version is accessed through a vmbus DEVMETHOD now. MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D6953 Notes: svn path=/head/; revision=302629
* hyperv: Move machine dependent bits into machine dependent files.Sepherosa Ziehau2016-06-061-0/+1
| | | | | | | | | MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D6701 Notes: svn path=/head/; revision=301483
* hyperv: Rename some cleaned up/almost cleaned up filesSepherosa Ziehau2016-06-011-7/+6
| | | | | | | | MFC after: 1 week Sponsored by: Microsoft OSTC Notes: svn path=/head/; revision=301113
* hyperv: Add helpers for busdma(9) operationSepherosa Ziehau2016-05-231-1/+2
| | | | | | | | | MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D6443 Notes: svn path=/head/; revision=300478
* hyperv: Deprecate HYPERV option by moving Hyper-V IDT vector into vmbusSepherosa Ziehau2016-04-151-3/+12
| | | | | | | | | | Submitted by: Jun Su <junsu microsoft com> Reviewed by: jhb, kib, sephe Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5910 Notes: svn path=/head/; revision=298022
* Unbreak `make depend` with sys/modules/hyperv/vmbus after r293870Enji Cooper2016-01-141-1/+1
| | | | | | | Pointyhat to: sephe Notes: svn path=/head/; revision=293877
* hyperv: implement an event timerSepherosa Ziehau2016-01-141-0/+1
| | | | | | | | | | | Submitted by: Howard Su <howard0su@gmail.com> Reviewed by: delphij, royger, adrian Approved by: adrian (mentor) Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D4676 Notes: svn path=/head/; revision=293873
* Fix make depend, apply a bit of style.Ulrich Spörlein2013-09-281-3/+3
| | | | | | | | Approved by: re (marius) Reviewed by: grehan Notes: svn path=/head/; revision=255923
* Microsoft have changed their policy on how the hyper-v code willPeter Grehan2013-07-171-6/+5
| | | | | | | | | | | | | be pulled into FreeBSD. From now, FreeBSD will be considered the upstream repo. First step: move the drivers away from the contrib area and into the base system. A follow-on commit will include the drivers in the amd64 GENERIC kernel. Notes: svn path=/projects/hyperv/; revision=253411
* make glue to hook up the hyperv kmods to the build.Peter Grehan2013-06-151-0/+21
Modified from the original Microsoft versions to pull code/headers in from the sys/contrib/dev directory. Notes: svn path=/projects/hyperv/; revision=251777