18 #ifndef _COBALT_UAPI_ASM_GENERIC_FEATURES_H 19 #define _COBALT_UAPI_ASM_GENERIC_FEATURES_H 21 #include <linux/types.h> 23 #define XNFEAT_STRING_LEN 64 25 struct cobalt_featinfo {
40 char feat_all_s[XNFEAT_STRING_LEN];
41 char feat_man_s[XNFEAT_STRING_LEN];
42 char feat_req_s[XNFEAT_STRING_LEN];
43 char feat_mis_s[XNFEAT_STRING_LEN];
45 struct cobalt_featinfo_archdep feat_arch;
48 #define __xn_feat_smp 0x80000000 49 #define __xn_feat_nosmp 0x40000000 50 #define __xn_feat_fastsynch 0x20000000 51 #define __xn_feat_nofastsynch 0x10000000 52 #define __xn_feat_control 0x08000000 53 #define __xn_feat_prioceiling 0x04000000 56 #define __xn_feat_smp_mask __xn_feat_smp 58 #define __xn_feat_smp_mask __xn_feat_nosmp 67 #define __xn_feat_fastsynch_mask __xn_feat_fastsynch 70 #define __xn_feat_generic_mask \ 71 (__xn_feat_smp_mask | \ 72 __xn_feat_fastsynch_mask | \ 73 __xn_feat_prioceiling) 82 #define __xn_feat_generic_man_mask \ 83 (__xn_feat_fastsynch | \ 84 __xn_feat_nofastsynch | \ 86 __xn_feat_prioceiling) 89 const char *get_generic_feature_label(
unsigned int feature)
96 case __xn_feat_fastsynch:
98 case __xn_feat_nofastsynch:
100 case __xn_feat_control:
102 case __xn_feat_prioceiling:
103 return "prioceiling";
109 static inline int check_abi_revision(
unsigned long abirev)
111 return abirev == XENOMAI_ABI_REV;