Re: [RFC PATCH 1/1] x86/VMBus: DMA transfer with encrypted memory in Coco VM
Aneesh Kumar K.V <[email protected]> Mon, 03 Aug 2026 14:34:45 +0530
| Newsgroups | org.kernel.vger.linux-hyperv,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Tianyu Lan <[email protected]> writes: > In CoCo VMs, system memory is encrypted by default. > Device drivers typically rely on the DMA core's > SWIOTLB as a bounce buffer for DMA operations, providing > decrypted memory that can be shared between the guest and > host. > > For PCI devices with T-Disp support and Confidential > VMBus devices (https://lkml.org/lkml/2026/7/27/1733) can > perform DMA transfers directly with private/encrypted > memory in a CoCo VM. > > To support DMA transfer with encrypted memory, Hyper-V > DMA ops are introduced and bypass some API which may > use swiotlb as bounce buffer. > > The DMA ops used is global data structure(see get_arch_ > dma_ops() and get_dma_ops() for details). There is no > need to set up for each device individually. > Can we use __DMA_ATTR_ALLOC_CC_SHARED instead of checking hyperv_private_memory_dma(dev) directly? Also, would it be possible to encapsulate this logic in something like force_dma_encrypted(dev)? Looking at functions such as hyperv_dma_alloc_coherent(), how does this differ from dma_direct_alloc()? -aneesh