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
55 #define __xn_feat_smp_mask __xn_feat_smp
57 #define __xn_feat_smp_mask __xn_feat_nosmp
60 #define __xn_feat_fastsynch_mask __xn_feat_fastsynch
63 #define __xn_feat_generic_mask \
64 (__xn_feat_smp_mask | __xn_feat_fastsynch_mask)
70 #define __xn_feat_generic_man_mask \
71 (__xn_feat_fastsynch | __xn_feat_nofastsynch | __xn_feat_nosmp)
74 const char *get_generic_feature_label(
unsigned int feature)
81 case __xn_feat_fastsynch:
83 case __xn_feat_nofastsynch:
85 case __xn_feat_control:
92 static inline int check_abi_revision(
unsigned long abirev)
94 return abirev == XENOMAI_ABI_REV;