Hyper-V: TLB flush enlightment using hypercallCurrently FreeBSD uses IPI based TLB flushing for remoteTLB flushing. Hyper-V allows hypercalls to flush local andremote TLB. The use of Hyper-V hype
Hyper-V: TLB flush enlightment using hypercallCurrently FreeBSD uses IPI based TLB flushing for remoteTLB flushing. Hyper-V allows hypercalls to flush local andremote TLB. The use of Hyper-V hypercalls gives significantperformance improvement in TLB operations.This patch set during test has shown near to 40 percentTLB performance improvement.Also this patch adds rep hypercall implementation as well.Reviewed by: whu, kibTested by: whuAuthored-by: Souradeep Chakrabarti <[email protected]>Co-Authored-by: Erni Sri Satya Vennela <[email protected]>MFC after: 1 weekSponsored by: MicrosoftDifferential Revision: https://reviews.freebsd.org/D45521(cherry picked from commit 2b887687edc25bb4553f0d8a1183f454a85d413d)
show more ...
sys: Remove $FreeBSD$: one-line sh patternRemove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final)This is the last part for ARM64 Hyper-V enablement. This includescommone files and make file changes to enable the ARM64 FreeBSDgues
arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final)This is the last part for ARM64 Hyper-V enablement. This includescommone files and make file changes to enable the ARM64 FreeBSDguest on Hyper-V. With this patch, it should be able to buildthe ARM64 image and install it on Hyper-V.Reviewed by: emaste, andrew, whuTested by: Souradeep Chakrabarti <[email protected]>Sponsored by: MicrosoftDifferential Revision: https://reviews.freebsd.org/D36744
Fix some modules to export more used symbolsand remove non-present symbols that are now reported by kmod_syms.awk.Reviewed by: emasteSponsored by: The FreeBSD FoundationMFC after: 1 weekDiffer
Fix some modules to export more used symbolsand remove non-present symbols that are now reported by kmod_syms.awk.Reviewed by: emasteSponsored by: The FreeBSD FoundationMFC after: 1 weekDifferential revision: https://reviews.freebsd.org/D32878
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, kibMFC after: 2 weeksSponsored by: The FreeBSD FoundationDifferential Revision: https://reviews.freebsd.org/D30577
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
12