cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

dummy.c (946B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * Dummy DMA ops that always fail.
      4 */
      5#include <linux/dma-map-ops.h>
      6
      7static int dma_dummy_mmap(struct device *dev, struct vm_area_struct *vma,
      8		void *cpu_addr, dma_addr_t dma_addr, size_t size,
      9		unsigned long attrs)
     10{
     11	return -ENXIO;
     12}
     13
     14static dma_addr_t dma_dummy_map_page(struct device *dev, struct page *page,
     15		unsigned long offset, size_t size, enum dma_data_direction dir,
     16		unsigned long attrs)
     17{
     18	return DMA_MAPPING_ERROR;
     19}
     20
     21static int dma_dummy_map_sg(struct device *dev, struct scatterlist *sgl,
     22		int nelems, enum dma_data_direction dir,
     23		unsigned long attrs)
     24{
     25	return -EINVAL;
     26}
     27
     28static int dma_dummy_supported(struct device *hwdev, u64 mask)
     29{
     30	return 0;
     31}
     32
     33const struct dma_map_ops dma_dummy_ops = {
     34	.mmap                   = dma_dummy_mmap,
     35	.map_page               = dma_dummy_map_page,
     36	.map_sg                 = dma_dummy_map_sg,
     37	.dma_supported          = dma_dummy_supported,
     38};