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

pcc.h (807B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * PCC (Platform Communications Channel) methods
      4 */
      5
      6#ifndef _PCC_H
      7#define _PCC_H
      8
      9#include <linux/mailbox_controller.h>
     10#include <linux/mailbox_client.h>
     11
     12struct pcc_mbox_chan {
     13	struct mbox_chan *mchan;
     14	u64 shmem_base_addr;
     15	u64 shmem_size;
     16	u32 latency;
     17	u32 max_access_rate;
     18	u16 min_turnaround_time;
     19};
     20
     21#define MAX_PCC_SUBSPACES	256
     22#ifdef CONFIG_PCC
     23extern struct pcc_mbox_chan *
     24pcc_mbox_request_channel(struct mbox_client *cl, int subspace_id);
     25extern void pcc_mbox_free_channel(struct pcc_mbox_chan *chan);
     26#else
     27static inline struct pcc_mbox_chan *
     28pcc_mbox_request_channel(struct mbox_client *cl, int subspace_id)
     29{
     30	return ERR_PTR(-ENODEV);
     31}
     32static inline void pcc_mbox_free_channel(struct pcc_mbox_chan *chan) { }
     33#endif
     34
     35#endif /* _PCC_H */