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

npe.h (1026B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __IXP4XX_NPE_H
      3#define __IXP4XX_NPE_H
      4
      5#include <linux/kernel.h>
      6#include <linux/regmap.h>
      7
      8extern const char *npe_names[];
      9
     10struct npe_regs {
     11	u32 exec_addr, exec_data, exec_status_cmd, exec_count;
     12	u32 action_points[4];
     13	u32 watchpoint_fifo, watch_count;
     14	u32 profile_count;
     15	u32 messaging_status, messaging_control;
     16	u32 mailbox_status, /*messaging_*/ in_out_fifo;
     17};
     18
     19struct npe {
     20	struct npe_regs __iomem *regs;
     21	struct regmap *rmap;
     22	int id;
     23	int valid;
     24};
     25
     26
     27static inline const char *npe_name(struct npe *npe)
     28{
     29	return npe_names[npe->id];
     30}
     31
     32int npe_running(struct npe *npe);
     33int npe_send_message(struct npe *npe, const void *msg, const char *what);
     34int npe_recv_message(struct npe *npe, void *msg, const char *what);
     35int npe_send_recv_message(struct npe *npe, void *msg, const char *what);
     36int npe_load_firmware(struct npe *npe, const char *name, struct device *dev);
     37struct npe *npe_request(unsigned id);
     38void npe_release(struct npe *npe);
     39
     40#endif /* __IXP4XX_NPE_H */