1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2016 Intel Corporation 3 */ 4 5 #ifndef _CAT_H 6 #define _CAT_H 7 8 /** 9 * @file 10 * PQoS CAT 11 */ 12 13 #include <stdint.h> 14 #include <string.h> 15 16 #include <rte_lcore.h> 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 /* L3 cache allocation class of service data structure */ 23 struct cat_config { 24 rte_cpuset_t cpumask; /* CPUs bitmask */ 25 int cdp; /* data & code masks used if true */ 26 union { 27 uint64_t mask; /* capacity bitmask (CBM) */ 28 struct { 29 uint64_t data_mask; /* data capacity bitmask (CBM) */ 30 uint64_t code_mask; /* code capacity bitmask (CBM) */ 31 }; 32 }; 33 }; 34 35 int cat_init(int argc, char **argv); 36 37 void cat_exit(void); 38 39 #ifdef __cplusplus 40 } 41 #endif 42 43 #endif /* _CAT_H */ 44