Skip to content

Commit

Permalink
Merge feature/dxgkrnl/5.10 (5937795)
Browse files Browse the repository at this point in the history
* msft/feature/dxgkrnl/5.10:
  Allow killing a process waiting for a VM bus message reply
  drivers: hv: dxgkrnl: Implement support for mapping guest pages on the host.
  drivers: hv: dxgkrnl: Implement DXGSYNCFILE
  drivers: hv: dxgkrnl: Implementation of submit command, paging and hardware queue.
  drivers: hv: dxgkrnl: Seal the shared resource object when dxgk_share_objects is called.
  drivers: hv: dxgkrnl: Implement sharing resources and sync objects
  drivers: hv: dxgkrnl: Implement operations with GPU sync objects
  drivers: hv: dxgkrnl: Implement creation/destruction of GPU allocations/resources
  drivers: hv: dxgkrnl: Driver initialization and creation of dxgadapter
  • Loading branch information
tyhicks committed Mar 2, 2022
2 parents 47667ef + 5937795 commit 7fb380b
Show file tree
Hide file tree
Showing 20 changed files with 16,826 additions and 0 deletions.
6 changes: 6 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -8189,6 +8189,12 @@ F: Documentation/devicetree/bindings/mtd/ti,am654-hbmc.txt
F: drivers/mtd/hyperbus/
F: include/linux/mtd/hyperbus.h

Hyper-V vGPU DRIVER
M: Iouri Tarassov <[email protected]>
L: [email protected]
S: Supported
F: drivers/hv/dxgkrnl/

HYPERVISOR VIRTUAL CONSOLE DRIVER
L: [email protected]
S: Odd Fixes
Expand Down
2 changes: 2 additions & 0 deletions drivers/hv/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,6 @@ config HYPERV_BALLOON
help
Select this option to enable Hyper-V Balloon driver.

source "drivers/hv/dxgkrnl/Kconfig"

endmenu
1 change: 1 addition & 0 deletions drivers/hv/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
obj-$(CONFIG_HYPERV) += hv_vmbus.o
obj-$(CONFIG_HYPERV_UTILS) += hv_utils.o
obj-$(CONFIG_HYPERV_BALLOON) += hv_balloon.o
obj-$(CONFIG_DXGKRNL) += dxgkrnl/

CFLAGS_hv_trace.o = -I$(src)
CFLAGS_hv_balloon.o = -I$(src)
Expand Down
28 changes: 28 additions & 0 deletions drivers/hv/dxgkrnl/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#
# dxgkrnl configuration
#

config DXGKRNL
tristate "Microsoft Paravirtualized GPU support"
depends on HYPERV
depends on 64BIT || COMPILE_TEST
select DMA_SHARED_BUFFER
select SYNC_FILE
help
This driver supports paravirtualized virtual compute devices, exposed
by Microsoft Hyper-V when Linux is running inside of a virtual machine
hosted by Windows. The virtual machines needs to be configured to use
host compute adapters. The driver name is dxgkrnl.

An example of such virtual machine is a Windows Subsystem for
Linux container. When such container is instantiated, the Windows host
assigns compatible host GPU adapters to the container. The corresponding
virtual GPU devices appear on the PCI bus in the container. These
devices are enumerated and accessed by this driver.

Communications with the driver are done by using the Microsoft libdxcore
library, which translates the D3DKMT interface
<https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/d3dkmthk/>
to the driver IOCTLs. The virtual GPU devices are paravirtualized,
which means that access to the hardware is done in the host. The driver
communicates with the host using Hyper-V VM bus communication channels.
5 changes: 5 additions & 0 deletions drivers/hv/dxgkrnl/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# SPDX-License-Identifier: GPL-2.0
# Makefile for the Linux video drivers.

obj-$(CONFIG_DXGKRNL) += dxgkrnl.o
dxgkrnl-y := dxgmodule.o hmgr.o misc.o dxgadapter.o ioctl.o dxgvmbus.o dxgprocess.o dxgsyncfile.o
Loading

0 comments on commit 7fb380b

Please sign in to comment.