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

nx_debugfs.c (1876B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2/*
      3 * debugfs routines supporting the Power 7+ Nest Accelerators driver
      4 *
      5 * Copyright (C) 2011-2012 International Business Machines Inc.
      6 *
      7 * Author: Kent Yoder <yoder1@us.ibm.com>
      8 */
      9
     10#include <linux/device.h>
     11#include <linux/kobject.h>
     12#include <linux/string.h>
     13#include <linux/debugfs.h>
     14#include <linux/module.h>
     15#include <linux/init.h>
     16#include <linux/crypto.h>
     17#include <crypto/hash.h>
     18#include <asm/vio.h>
     19
     20#include "nx_csbcpb.h"
     21#include "nx.h"
     22
     23#ifdef CONFIG_DEBUG_FS
     24
     25/*
     26 * debugfs
     27 *
     28 * For documentation on these attributes, please see:
     29 *
     30 * Documentation/ABI/testing/debugfs-pfo-nx-crypto
     31 */
     32
     33void nx_debugfs_init(struct nx_crypto_driver *drv)
     34{
     35	struct dentry *root;
     36
     37	root = debugfs_create_dir(NX_NAME, NULL);
     38	drv->dfs_root = root;
     39
     40	debugfs_create_u32("aes_ops", S_IRUSR | S_IRGRP | S_IROTH,
     41			   root, &drv->stats.aes_ops.counter);
     42	debugfs_create_u32("sha256_ops", S_IRUSR | S_IRGRP | S_IROTH,
     43			   root, &drv->stats.sha256_ops.counter);
     44	debugfs_create_u32("sha512_ops", S_IRUSR | S_IRGRP | S_IROTH,
     45			   root, &drv->stats.sha512_ops.counter);
     46	debugfs_create_u64("aes_bytes", S_IRUSR | S_IRGRP | S_IROTH,
     47			   root, &drv->stats.aes_bytes.counter);
     48	debugfs_create_u64("sha256_bytes", S_IRUSR | S_IRGRP | S_IROTH,
     49			   root, &drv->stats.sha256_bytes.counter);
     50	debugfs_create_u64("sha512_bytes", S_IRUSR | S_IRGRP | S_IROTH,
     51			   root, &drv->stats.sha512_bytes.counter);
     52	debugfs_create_u32("errors", S_IRUSR | S_IRGRP | S_IROTH,
     53			   root, &drv->stats.errors.counter);
     54	debugfs_create_u32("last_error", S_IRUSR | S_IRGRP | S_IROTH,
     55			   root, &drv->stats.last_error.counter);
     56	debugfs_create_u32("last_error_pid", S_IRUSR | S_IRGRP | S_IROTH,
     57			   root, &drv->stats.last_error_pid.counter);
     58}
     59
     60void
     61nx_debugfs_fini(struct nx_crypto_driver *drv)
     62{
     63	debugfs_remove_recursive(drv->dfs_root);
     64}
     65
     66#endif