Fix some modules to export more used symbols(cherry picked from commit 5bb3134a8c21cb87b30e135ef168483f0333dabb)
hyperv: Fix vmbus after the i386 4/4 splitThe vmbus ISR needs to live in a trampoline. Dynamically allocating atrampoline at driver initialization time poses some difficulties due tothe fact tha
hyperv: Fix vmbus after the i386 4/4 splitThe vmbus ISR needs to live in a trampoline. Dynamically allocating atrampoline at driver initialization time poses some difficulties due tothe fact that the KENTER macro assumes that the offset relative totramp_idleptd is fixed at static link time. Another problem is thatnative_lapic_ipi_alloc() uses setidt(), which assumes a fixed trampolineoffset.Rather than fight this, move the Hyper-V ISR to i386/exception.s. Add anew HYPERV kernel option to make this optional, and configure it bydefault on i386. This is sufficient to make use of vmbus(4) after the4/4 split. Note that vmbus cannot be loaded dynamically and both theHYPERV option and device must be configured together. I think this isnot too onerous a requirement, since vmbus(4) was previouslynon-functional.Reported by: Harry Schmalzbauer <[email protected]>Tested by: Harry Schmalzbauer <[email protected]>Reviewed by: whu, kibSponsored by: The FreeBSD Foundation(cherry picked from commit 97993d1ebf592ac6689a498d5d0d2afb46758680)
show more ...
Move most of the contents of opt_compat.h to opt_global.h.opt_compat.h is mentioned in nearly 180 files. In-progress networkdriver compabibility improvements may add over 100 more so this isclose
Move most of the contents of opt_compat.h to opt_global.h.opt_compat.h is mentioned in nearly 180 files. In-progress networkdriver compabibility improvements may add over 100 more so this iscloser to "just about everywhere" than "only some files" per theguidance in sys/conf/options.Keep COMPAT_LINUX32 in opt_compat.h as it is confined to a subset ofsys/compat/linux/*.c. A fake _COMPAT_LINUX option ensure opt_compat.his created on all architectures.Move COMPAT_LINUXKPI to opt_dontuse.h as it is only used to control theset of compiled files.Reviewed by: kib, cem, jhb, jtlSponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D14941
Rename assym.s to assym.incassym is only to be included by other .s files, and should neveractually be assembled by itself.Reviewed by: imp, bdrewery (earlier)Sponsored by: The FreeBSD Foundati
Rename assym.s to assym.incassym is only to be included by other .s files, and should neveractually be assembled by itself.Reviewed by: imp, bdrewery (earlier)Sponsored by: The FreeBSD FoundationDifferential Revision: https://reviews.freebsd.org/D14180
Move assym.s to DPSRCS in vmbus moduleassym.s is only to be included by other .s files, and should notactually be assembled by itself.
hyperv/vmbus: Reorganize vmbus device treeFor GEN1 Hyper-V, vmbus is attached to pcib0, which contains theresources for PCI passthrough and SR-IOV. There is noacpi_syscontainer0 on GEN1 Hyper-V.
hyperv/vmbus: Reorganize vmbus device treeFor GEN1 Hyper-V, vmbus is attached to pcib0, which contains theresources for PCI passthrough and SR-IOV. There is noacpi_syscontainer0 on GEN1 Hyper-V.For GEN2 Hyper-V, vmbus is attached to acpi_syscontainer0, whichcontains the resources for PCI passthrough and SR-IOV. There isno pcib0 on GEN2 Hyper-V.The ACPI VMBUS device now only holds its _CRS, which is empty asof 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 weekSponsored by: MicrosoftDifferential Revision: https://reviews.freebsd.org/D10565
sys/modules: normalize .CURDIR-relative paths to SRCTOPThis simplifies make output/logicTested with: `cd sys/modules; make ALL_MODULES=` on amd64MFC after: 1 monthSponsored by: Dell EMC Isilon
hyperv/pcib: Fix the build for some kernel configsAdd the dependency on pci explicitly for the pcib and vmbus drivers.The related Makefiles are updated accordingly too.Reviewed by: sepheApprove
hyperv/pcib: Fix the build for some kernel configsAdd the dependency on pci explicitly for the pcib and vmbus drivers.The related Makefiles are updated accordingly too.Reviewed by: sepheApproved by: sephe (mentor)MFC after: 1 weekSponsored by: Microsoft
hyperv/vmbus: Add missing vmbus_if.c to module build.MFC after: 1 weekSponsored by: MicrosoftDifferential Revision: https://reviews.freebsd.org/D8067
hyperv/vmbus: Add APIs for various types of transactions.Reviewed by: Jun Su <junsu microsoft com>MFC after: 1 weekSponsored by: MicrosoftDifferential Revision: https://reviews.freebsd.org/D7456
opt_apic.h is only used on i386.MFC after: 3 daysSponsored by: EMC / Isilon Storage Division
hyperv/vmbus: Rename cleaned up bufring codeMFC after: 1 weekSponsored by: MicrosoftDifferential Revision: https://reviews.freebsd.org/D7318
hyperv/vmbus: Rename laundered vmbus channel codeMFC after: 1 weekSponsored by: Microsoft OSTCDifferential Revision: https://reviews.freebsd.org/D7232
hyperv/vmbus: Merge hv_channel_mgmt.c into hv_channel.cMFC after: 1 weekSponsored by: Microsoft OSTCDifferential Revision: https://reviews.freebsd.org/D7126
hyperv/vmbus: Merge hv_connection.c into hv_channel.cMFC after: 1 weekSponsored by: Microsoft OSTCDifferential Revision: https://reviews.freebsd.org/D7004
hyperv/vmbus: Rework vmbus version accessing.Instead of global variable, vmbus version is accessed througha vmbus DEVMETHOD now.MFC after: 1 weekSponsored by: Microsoft OSTCDifferential Revisi
hyperv/vmbus: Rework vmbus version accessing.Instead of global variable, vmbus version is accessed througha vmbus DEVMETHOD now.MFC after: 1 weekSponsored by: Microsoft OSTCDifferential Revision: https://reviews.freebsd.org/D6953
hyperv: Move machine dependent bits into machine dependent files.MFC after: 1 weekSponsored by: Microsoft OSTCDifferential Revision: https://reviews.freebsd.org/D6701
hyperv: Rename some cleaned up/almost cleaned up filesMFC after: 1 weekSponsored by: Microsoft OSTC
hyperv: Add helpers for busdma(9) operationMFC after: 1 weekSponsored by: Microsoft OSTCDifferential Revision: https://reviews.freebsd.org/D6443
hyperv: Deprecate HYPERV option by moving Hyper-V IDT vector into vmbusSubmitted by: Jun Su <junsu microsoft com>Reviewed by: jhb, kib, sepheSponsored by: Microsoft OSTCDifferential Revision: ht
hyperv: Deprecate HYPERV option by moving Hyper-V IDT vector into vmbusSubmitted by: Jun Su <junsu microsoft com>Reviewed by: jhb, kib, sepheSponsored by: Microsoft OSTCDifferential Revision: https://reviews.freebsd.org/D5910
Unbreak `make depend` with sys/modules/hyperv/vmbus after r293870Pointyhat to: sephe
hyperv: implement an event timerSubmitted by: Howard Su <[email protected]>Reviewed by: delphij, royger, adrianApproved by: adrian (mentor)Sponsored by: Microsoft OSTCDifferential Revisio
hyperv: implement an event timerSubmitted by: Howard Su <[email protected]>Reviewed by: delphij, royger, adrianApproved by: adrian (mentor)Sponsored by: Microsoft OSTCDifferential Revision: https://reviews.freebsd.org/D4676
Fix make depend, apply a bit of style.Approved by: re (marius)Reviewed by: grehan
Microsoft have changed their policy on how the hyper-v code willbe pulled into FreeBSD. From now, FreeBSD will be considered theupstream repo.First step: move the drivers away from the contrib ar
Microsoft have changed their policy on how the hyper-v code willbe pulled into FreeBSD. From now, FreeBSD will be considered theupstream repo.First step: move the drivers away from the contrib area and intothe base system.A follow-on commit will include the drivers in the amd64 GENERIC kernel.
make glue to hook up the hyperv kmods to the build.Modified from the original Microsoft versions to pullcode/headers in from the sys/contrib/dev directory.