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

iommu-debugfs.c (2071B)


      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
     14struct dentry *iommu_debugfs_dir;
     15EXPORT_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 */
     31void 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}