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

mconsole_kern.h (968B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Copyright (C) 2001, 2002 Jeff Dike (jdike@karaya.com)
      4 */
      5
      6#ifndef __MCONSOLE_KERN_H__
      7#define __MCONSOLE_KERN_H__
      8
      9#include <linux/list.h>
     10#include "mconsole.h"
     11
     12struct mconsole_entry {
     13	struct list_head list;
     14	struct mc_request request;
     15};
     16
     17/* All these methods are called in process context. */
     18struct mc_device {
     19	struct list_head list;
     20	char *name;
     21	int (*config)(char *, char **);
     22	int (*get_config)(char *, char *, int, char **);
     23	int (*id)(char **, int *, int *);
     24	int (*remove)(int, char **);
     25};
     26
     27#define CONFIG_CHUNK(str, size, current, chunk, end) \
     28do { \
     29	current += strlen(chunk); \
     30	if(current >= size) \
     31		str = NULL; \
     32	if(str != NULL){ \
     33		strcpy(str, chunk); \
     34		str += strlen(chunk); \
     35	} \
     36	if(end) \
     37		current++; \
     38} while(0)
     39
     40#ifdef CONFIG_MCONSOLE
     41
     42extern void mconsole_register_dev(struct mc_device *new);
     43
     44#else
     45
     46static inline void mconsole_register_dev(struct mc_device *new)
     47{
     48}
     49
     50#endif
     51
     52#endif