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

arpc.h (1298B)


      1/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
      2/*
      3 * Copyright(c) 2016 Google Inc. All rights reserved.
      4 * Copyright(c) 2016 Linaro Ltd. All rights reserved.
      5 */
      6
      7#ifndef __ARPC_H
      8#define __ARPC_H
      9
     10/* APBridgeA RPC (ARPC) */
     11
     12enum arpc_result {
     13	ARPC_SUCCESS		= 0x00,
     14	ARPC_NO_MEMORY		= 0x01,
     15	ARPC_INVALID		= 0x02,
     16	ARPC_TIMEOUT		= 0x03,
     17	ARPC_UNKNOWN_ERROR	= 0xff,
     18};
     19
     20struct arpc_request_message {
     21	__le16	id;		/* RPC unique id */
     22	__le16	size;		/* Size in bytes of header + payload */
     23	__u8	type;		/* RPC type */
     24	__u8	data[];	/* ARPC data */
     25} __packed;
     26
     27struct arpc_response_message {
     28	__le16	id;		/* RPC unique id */
     29	__u8	result;		/* Result of RPC */
     30} __packed;
     31
     32/* ARPC requests */
     33#define ARPC_TYPE_CPORT_CONNECTED		0x01
     34#define ARPC_TYPE_CPORT_QUIESCE			0x02
     35#define ARPC_TYPE_CPORT_CLEAR			0x03
     36#define ARPC_TYPE_CPORT_FLUSH			0x04
     37#define ARPC_TYPE_CPORT_SHUTDOWN		0x05
     38
     39struct arpc_cport_connected_req {
     40	__le16 cport_id;
     41} __packed;
     42
     43struct arpc_cport_quiesce_req {
     44	__le16 cport_id;
     45	__le16 peer_space;
     46	__le16 timeout;
     47} __packed;
     48
     49struct arpc_cport_clear_req {
     50	__le16 cport_id;
     51} __packed;
     52
     53struct arpc_cport_flush_req {
     54	__le16 cport_id;
     55} __packed;
     56
     57struct arpc_cport_shutdown_req {
     58	__le16 cport_id;
     59	__le16 timeout;
     60	__u8 phase;
     61} __packed;
     62
     63#endif	/* __ARPC_H */