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

hmcdrv_mod.c (1228B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 *    HMC Drive DVD Module
      4 *
      5 *    Copyright IBM Corp. 2013
      6 *    Author(s): Ralf Hoppe (rhoppe@de.ibm.com)
      7 */
      8
      9#define KMSG_COMPONENT "hmcdrv"
     10#define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
     11
     12#include <linux/kernel.h>
     13#include <linux/module.h>
     14#include <linux/moduleparam.h>
     15#include <linux/stat.h>
     16
     17#include "hmcdrv_ftp.h"
     18#include "hmcdrv_dev.h"
     19#include "hmcdrv_cache.h"
     20
     21MODULE_LICENSE("GPL");
     22MODULE_AUTHOR("Copyright 2013 IBM Corporation");
     23MODULE_DESCRIPTION("HMC drive DVD access");
     24
     25/*
     26 * module parameter 'cachesize'
     27 */
     28static size_t hmcdrv_mod_cachesize = HMCDRV_CACHE_SIZE_DFLT;
     29module_param_named(cachesize, hmcdrv_mod_cachesize, ulong, S_IRUGO);
     30
     31/**
     32 * hmcdrv_mod_init() - module init function
     33 */
     34static int __init hmcdrv_mod_init(void)
     35{
     36	int rc = hmcdrv_ftp_probe(); /* perform w/o cache */
     37
     38	if (rc)
     39		return rc;
     40
     41	rc = hmcdrv_cache_startup(hmcdrv_mod_cachesize);
     42
     43	if (rc)
     44		return rc;
     45
     46	rc = hmcdrv_dev_init();
     47
     48	if (rc)
     49		hmcdrv_cache_shutdown();
     50
     51	return rc;
     52}
     53
     54/**
     55 * hmcdrv_mod_exit() - module exit function
     56 */
     57static void __exit hmcdrv_mod_exit(void)
     58{
     59	hmcdrv_dev_exit();
     60	hmcdrv_cache_shutdown();
     61}
     62
     63module_init(hmcdrv_mod_init);
     64module_exit(hmcdrv_mod_exit);