root/drivers/iommu/iommu-debugfs.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. iommu_debugfs_setup

   1 // SPDX-License-Identifier: GPL-2.0
   2 /*
   3  * IOMMU debugfs core infrastructure
   4  *
   5  * Copyright (C) 2018 Advanced Micro Devices, Inc.
   6  *
   7  * Author: Gary R Hook <gary.hook@amd.com>
   8  */
   9 
  10 #include <linux/pci.h>
  11 #include <linux/iommu.h>
  12 #include <linux/debugfs.h>
  13 
  14 struct dentry *iommu_debugfs_dir;
  15 EXPORT_SYMBOL_GPL(iommu_debugfs_dir);
  16 
  17 /**
  18  * iommu_debugfs_setup - create the top-level iommu directory in debugfs
  19  *
  20  * Provide base enablement for using debugfs to expose internal data of an
  21  * IOMMU driver. When called, this function creates the
  22  * /sys/kernel/debug/iommu directory.
  23  *
  24  * Emit a strong warning at boot time to indicate that this feature is
  25  * enabled.
  26  *
  27  * This function is called from iommu_init; drivers may then use
  28  * iommu_debugfs_dir to instantiate a vendor-specific directory to be used
  29  * to expose internal data.
  30  */
  31 void iommu_debugfs_setup(void)
  32 {
  33         if (!iommu_debugfs_dir) {
  34                 iommu_debugfs_dir = debugfs_create_dir("iommu", NULL);
  35                 pr_warn("\n");
  36                 pr_warn("*************************************************************\n");
  37                 pr_warn("**     NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE    **\n");
  38                 pr_warn("**                                                         **\n");
  39                 pr_warn("**  IOMMU DebugFS SUPPORT HAS BEEN ENABLED IN THIS KERNEL  **\n");
  40                 pr_warn("**                                                         **\n");
  41                 pr_warn("** This means that this kernel is built to expose internal **\n");
  42                 pr_warn("** IOMMU data structures, which may compromise security on **\n");
  43                 pr_warn("** your system.                                            **\n");
  44                 pr_warn("**                                                         **\n");
  45                 pr_warn("** If you see this message and you are not debugging the   **\n");
  46                 pr_warn("** kernel, report this immediately to your vendor!         **\n");
  47                 pr_warn("**                                                         **\n");
  48                 pr_warn("**     NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE    **\n");
  49                 pr_warn("*************************************************************\n");
  50         }
  51 }

/* [<][>][^][v][top][bottom][index][help] */