opnsense-src/sys/modules/hyperv/vmbus/Makefile
Souradeep Chakrabarti 2b887687ed Hyper-V: TLB flush enlightment using hypercall
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
2024-06-07 07:56:07 +00:00

44 lines
958 B
Makefile

.PATH: ${SRCTOP}/sys/dev/hyperv/vmbus \
${SRCTOP}/sys/dev/hyperv/vmbus/${MACHINE_CPUARCH} \
${SRCTOP}/sys/dev/hyperv/vmbus/x86
KMOD= hv_vmbus
SRCS= hyperv.c \
hyperv_busdma.c \
hyperv_machdep.c \
vmbus.c \
vmbus_br.c \
vmbus_chan.c \
vmbus_if.c \
vmbus_res.c \
vmbus_xact.c
.if ${MACHINE_CPUARCH} == "amd64"
SRCS+= vmbus_vector.S hyperv_mmu.c
.endif
.if ${MACHINE_CPUARCH} != "aarch64"
SRCS+= vmbus_et.c hyperv_x86.c vmbus_x86.c
.else
SRC+= hyperv_aarch64.c vmbus_aarch64.c
.endif
SRCS+= acpi_if.h bus_if.h device_if.h opt_acpi.h pci_if.h pcib_if.h vmbus_if.h
# XXX: for assym.inc
SRCS+= opt_kstack_pages.h opt_nfs.h opt_hwpmc_hooks.h
.if ${MACHINE_CPUARCH} == "i386"
SRCS+= opt_apic.h
.endif
DPSRCS= assym.inc
vmbus_vector.o:
${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \
${.IMPSRC} -o ${.TARGET}
CFLAGS+= -I${SRCTOP}/sys/dev/hyperv/include \
-I${SRCTOP}/sys/dev/hyperv/vmbus
EXPORT_SYMS= YES
.include <bsd.kmod.mk>