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

upcall.h (6869B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * (C) 2001 Clemson University and The University of Chicago
      4 *
      5 * See COPYING in top-level directory.
      6 */
      7
      8#ifndef __UPCALL_H
      9#define __UPCALL_H
     10
     11/*
     12 * Sanitized this header file to fix
     13 * 32-64 bit interaction issues between
     14 * client-core and device
     15 */
     16struct orangefs_io_request_s {
     17	__s32 __pad1;
     18	__s32 buf_index;
     19	__s32 count;
     20	__s32 __pad2;
     21	__s64 offset;
     22	struct orangefs_object_kref refn;
     23	enum ORANGEFS_io_type io_type;
     24	__s32 readahead_size;
     25};
     26
     27struct orangefs_lookup_request_s {
     28	__s32 sym_follow;
     29	__s32 __pad1;
     30	struct orangefs_object_kref parent_refn;
     31	char d_name[ORANGEFS_NAME_MAX];
     32};
     33
     34struct orangefs_create_request_s {
     35	struct orangefs_object_kref parent_refn;
     36	struct ORANGEFS_sys_attr_s attributes;
     37	char d_name[ORANGEFS_NAME_MAX];
     38};
     39
     40struct orangefs_symlink_request_s {
     41	struct orangefs_object_kref parent_refn;
     42	struct ORANGEFS_sys_attr_s attributes;
     43	char entry_name[ORANGEFS_NAME_MAX];
     44	char target[ORANGEFS_NAME_MAX];
     45};
     46
     47struct orangefs_getattr_request_s {
     48	struct orangefs_object_kref refn;
     49	__u32 mask;
     50	__u32 __pad1;
     51};
     52
     53struct orangefs_setattr_request_s {
     54	struct orangefs_object_kref refn;
     55	struct ORANGEFS_sys_attr_s attributes;
     56};
     57
     58struct orangefs_remove_request_s {
     59	struct orangefs_object_kref parent_refn;
     60	char d_name[ORANGEFS_NAME_MAX];
     61};
     62
     63struct orangefs_mkdir_request_s {
     64	struct orangefs_object_kref parent_refn;
     65	struct ORANGEFS_sys_attr_s attributes;
     66	char d_name[ORANGEFS_NAME_MAX];
     67};
     68
     69struct orangefs_readdir_request_s {
     70	struct orangefs_object_kref refn;
     71	__u64 token;
     72	__s32 max_dirent_count;
     73	__s32 buf_index;
     74};
     75
     76struct orangefs_readdirplus_request_s {
     77	struct orangefs_object_kref refn;
     78	__u64 token;
     79	__s32 max_dirent_count;
     80	__u32 mask;
     81	__s32 buf_index;
     82	__s32 __pad1;
     83};
     84
     85struct orangefs_rename_request_s {
     86	struct orangefs_object_kref old_parent_refn;
     87	struct orangefs_object_kref new_parent_refn;
     88	char d_old_name[ORANGEFS_NAME_MAX];
     89	char d_new_name[ORANGEFS_NAME_MAX];
     90};
     91
     92struct orangefs_statfs_request_s {
     93	__s32 fs_id;
     94	__s32 __pad1;
     95};
     96
     97struct orangefs_truncate_request_s {
     98	struct orangefs_object_kref refn;
     99	__s64 size;
    100};
    101
    102struct orangefs_ra_cache_flush_request_s {
    103	struct orangefs_object_kref refn;
    104};
    105
    106struct orangefs_fs_mount_request_s {
    107	char orangefs_config_server[ORANGEFS_MAX_SERVER_ADDR_LEN];
    108};
    109
    110struct orangefs_fs_umount_request_s {
    111	__s32 id;
    112	__s32 fs_id;
    113	char orangefs_config_server[ORANGEFS_MAX_SERVER_ADDR_LEN];
    114};
    115
    116struct orangefs_getxattr_request_s {
    117	struct orangefs_object_kref refn;
    118	__s32 key_sz;
    119	__s32 __pad1;
    120	char key[ORANGEFS_MAX_XATTR_NAMELEN];
    121};
    122
    123struct orangefs_setxattr_request_s {
    124	struct orangefs_object_kref refn;
    125	struct ORANGEFS_keyval_pair keyval;
    126	__s32 flags;
    127	__s32 __pad1;
    128};
    129
    130struct orangefs_listxattr_request_s {
    131	struct orangefs_object_kref refn;
    132	__s32 requested_count;
    133	__s32 __pad1;
    134	__u64 token;
    135};
    136
    137struct orangefs_removexattr_request_s {
    138	struct orangefs_object_kref refn;
    139	__s32 key_sz;
    140	__s32 __pad1;
    141	char key[ORANGEFS_MAX_XATTR_NAMELEN];
    142};
    143
    144struct orangefs_op_cancel_s {
    145	__u64 op_tag;
    146};
    147
    148struct orangefs_fsync_request_s {
    149	struct orangefs_object_kref refn;
    150};
    151
    152enum orangefs_param_request_type {
    153	ORANGEFS_PARAM_REQUEST_SET = 1,
    154	ORANGEFS_PARAM_REQUEST_GET = 2
    155};
    156
    157enum orangefs_param_request_op {
    158	ORANGEFS_PARAM_REQUEST_OP_ACACHE_TIMEOUT_MSECS = 1,
    159	ORANGEFS_PARAM_REQUEST_OP_ACACHE_HARD_LIMIT = 2,
    160	ORANGEFS_PARAM_REQUEST_OP_ACACHE_SOFT_LIMIT = 3,
    161	ORANGEFS_PARAM_REQUEST_OP_ACACHE_RECLAIM_PERCENTAGE = 4,
    162	ORANGEFS_PARAM_REQUEST_OP_PERF_TIME_INTERVAL_SECS = 5,
    163	ORANGEFS_PARAM_REQUEST_OP_PERF_HISTORY_SIZE = 6,
    164	ORANGEFS_PARAM_REQUEST_OP_PERF_RESET = 7,
    165	ORANGEFS_PARAM_REQUEST_OP_NCACHE_TIMEOUT_MSECS = 8,
    166	ORANGEFS_PARAM_REQUEST_OP_NCACHE_HARD_LIMIT = 9,
    167	ORANGEFS_PARAM_REQUEST_OP_NCACHE_SOFT_LIMIT = 10,
    168	ORANGEFS_PARAM_REQUEST_OP_NCACHE_RECLAIM_PERCENTAGE = 11,
    169	ORANGEFS_PARAM_REQUEST_OP_STATIC_ACACHE_TIMEOUT_MSECS = 12,
    170	ORANGEFS_PARAM_REQUEST_OP_STATIC_ACACHE_HARD_LIMIT = 13,
    171	ORANGEFS_PARAM_REQUEST_OP_STATIC_ACACHE_SOFT_LIMIT = 14,
    172	ORANGEFS_PARAM_REQUEST_OP_STATIC_ACACHE_RECLAIM_PERCENTAGE = 15,
    173	ORANGEFS_PARAM_REQUEST_OP_CLIENT_DEBUG = 16,
    174	ORANGEFS_PARAM_REQUEST_OP_CCACHE_TIMEOUT_SECS = 17,
    175	ORANGEFS_PARAM_REQUEST_OP_CCACHE_HARD_LIMIT = 18,
    176	ORANGEFS_PARAM_REQUEST_OP_CCACHE_SOFT_LIMIT = 19,
    177	ORANGEFS_PARAM_REQUEST_OP_CCACHE_RECLAIM_PERCENTAGE = 20,
    178	ORANGEFS_PARAM_REQUEST_OP_CAPCACHE_TIMEOUT_SECS = 21,
    179	ORANGEFS_PARAM_REQUEST_OP_CAPCACHE_HARD_LIMIT = 22,
    180	ORANGEFS_PARAM_REQUEST_OP_CAPCACHE_SOFT_LIMIT = 23,
    181	ORANGEFS_PARAM_REQUEST_OP_CAPCACHE_RECLAIM_PERCENTAGE = 24,
    182	ORANGEFS_PARAM_REQUEST_OP_TWO_MASK_VALUES = 25,
    183	ORANGEFS_PARAM_REQUEST_OP_READAHEAD_SIZE = 26,
    184	ORANGEFS_PARAM_REQUEST_OP_READAHEAD_COUNT = 27,
    185	ORANGEFS_PARAM_REQUEST_OP_READAHEAD_COUNT_SIZE = 28,
    186	ORANGEFS_PARAM_REQUEST_OP_READAHEAD_READCNT = 29,
    187};
    188
    189struct orangefs_param_request_s {
    190	enum orangefs_param_request_type type;
    191	enum orangefs_param_request_op op;
    192	union {
    193		__s64 value64;
    194		__s32 value32[2];
    195	} u;
    196	char s_value[ORANGEFS_MAX_DEBUG_STRING_LEN];
    197};
    198
    199enum orangefs_perf_count_request_type {
    200	ORANGEFS_PERF_COUNT_REQUEST_ACACHE = 1,
    201	ORANGEFS_PERF_COUNT_REQUEST_NCACHE = 2,
    202	ORANGEFS_PERF_COUNT_REQUEST_CAPCACHE = 3,
    203};
    204
    205struct orangefs_perf_count_request_s {
    206	enum orangefs_perf_count_request_type type;
    207	__s32 __pad1;
    208};
    209
    210struct orangefs_fs_key_request_s {
    211	__s32 fsid;
    212	__s32 __pad1;
    213};
    214
    215/* 2.9.6 */
    216struct orangefs_features_request_s {
    217	__u64 features;
    218};
    219
    220struct orangefs_upcall_s {
    221	__s32 type;
    222	__u32 uid;
    223	__u32 gid;
    224	int pid;
    225	int tgid;
    226	/* Trailers unused but must be retained for protocol compatibility. */
    227	__s64 trailer_size;
    228	char *trailer_buf;
    229
    230	union {
    231		struct orangefs_io_request_s io;
    232		struct orangefs_lookup_request_s lookup;
    233		struct orangefs_create_request_s create;
    234		struct orangefs_symlink_request_s sym;
    235		struct orangefs_getattr_request_s getattr;
    236		struct orangefs_setattr_request_s setattr;
    237		struct orangefs_remove_request_s remove;
    238		struct orangefs_mkdir_request_s mkdir;
    239		struct orangefs_readdir_request_s readdir;
    240		struct orangefs_readdirplus_request_s readdirplus;
    241		struct orangefs_rename_request_s rename;
    242		struct orangefs_statfs_request_s statfs;
    243		struct orangefs_truncate_request_s truncate;
    244		struct orangefs_ra_cache_flush_request_s ra_cache_flush;
    245		struct orangefs_fs_mount_request_s fs_mount;
    246		struct orangefs_fs_umount_request_s fs_umount;
    247		struct orangefs_getxattr_request_s getxattr;
    248		struct orangefs_setxattr_request_s setxattr;
    249		struct orangefs_listxattr_request_s listxattr;
    250		struct orangefs_removexattr_request_s removexattr;
    251		struct orangefs_op_cancel_s cancel;
    252		struct orangefs_fsync_request_s fsync;
    253		struct orangefs_param_request_s param;
    254		struct orangefs_perf_count_request_s perf_count;
    255		struct orangefs_fs_key_request_s fs_key;
    256		struct orangefs_features_request_s features;
    257	} req;
    258};
    259
    260#endif /* __UPCALL_H */