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

hpidebug.c (1350B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2/************************************************************************
      3
      4    AudioScience HPI driver
      5    Copyright (C) 1997-2011  AudioScience Inc. <support@audioscience.com>
      6
      7
      8Debug macro translation.
      9
     10************************************************************************/
     11
     12#include "hpi_internal.h"
     13#include "hpidebug.h"
     14
     15/* Debug level; 0 quiet; 1 informative, 2 debug, 3 verbose debug.  */
     16int hpi_debug_level = HPI_DEBUG_LEVEL_DEFAULT;
     17
     18void hpi_debug_init(void)
     19{
     20	printk(KERN_INFO "debug start\n");
     21}
     22
     23int hpi_debug_level_set(int level)
     24{
     25	int old_level;
     26
     27	old_level = hpi_debug_level;
     28	hpi_debug_level = level;
     29	return old_level;
     30}
     31
     32int hpi_debug_level_get(void)
     33{
     34	return hpi_debug_level;
     35}
     36
     37void hpi_debug_message(struct hpi_message *phm, char *sz_fileline)
     38{
     39	if (phm) {
     40		printk(KERN_DEBUG "HPI_MSG%d,%d,%d,%d,%d\n", phm->version,
     41			phm->adapter_index, phm->obj_index, phm->function,
     42			phm->u.c.attribute);
     43	}
     44
     45}
     46
     47void hpi_debug_data(u16 *pdata, u32 len)
     48{
     49	u32 i;
     50	int j;
     51	int k;
     52	int lines;
     53	int cols = 8;
     54
     55	lines = DIV_ROUND_UP(len, cols);
     56	if (lines > 8)
     57		lines = 8;
     58
     59	for (i = 0, j = 0; j < lines; j++) {
     60		printk(KERN_DEBUG "%p:", (pdata + i));
     61
     62		for (k = 0; k < cols && i < len; i++, k++)
     63			printk(KERN_CONT "%s%04x", k == 0 ? "" : " ", pdata[i]);
     64
     65		printk(KERN_CONT "\n");
     66	}
     67}