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

cache.h (1171B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/* $Id: cache.h,v 1.6 2004/03/11 18:08:05 lethal Exp $
      3 *
      4 * include/asm-sh/cache.h
      5 *
      6 * Copyright 1999 (C) Niibe Yutaka
      7 * Copyright 2002, 2003 (C) Paul Mundt
      8 */
      9#ifndef __ASM_SH_CACHE_H
     10#define __ASM_SH_CACHE_H
     11
     12#include <linux/init.h>
     13#include <cpu/cache.h>
     14
     15#define L1_CACHE_BYTES		(1 << L1_CACHE_SHIFT)
     16
     17#define __read_mostly __section(".data..read_mostly")
     18
     19#ifndef __ASSEMBLY__
     20struct cache_info {
     21	unsigned int ways;		/* Number of cache ways */
     22	unsigned int sets;		/* Number of cache sets */
     23	unsigned int linesz;		/* Cache line size (bytes) */
     24
     25	unsigned int way_size;		/* sets * line size */
     26
     27	/*
     28	 * way_incr is the address offset for accessing the next way
     29	 * in memory mapped cache array ops.
     30	 */
     31	unsigned int way_incr;
     32	unsigned int entry_shift;
     33	unsigned int entry_mask;
     34
     35	/*
     36	 * Compute a mask which selects the address bits which overlap between
     37	 * 1. those used to select the cache set during indexing
     38	 * 2. those in the physical page number.
     39	 */
     40	unsigned int alias_mask;
     41	unsigned int n_aliases;		/* Number of aliases */
     42
     43	unsigned long flags;
     44};
     45#endif /* __ASSEMBLY__ */
     46#endif /* __ASM_SH_CACHE_H */