Xenomai API
2.5.6.1
|
00001 #ifndef _XENO_NUCLEUS_VDSO_H 00002 #define _XENO_NUCLEUS_VDSO_H 00003 00026 #include <nucleus/types.h> 00027 00028 /* 00029 * Data shared between Xenomai kernel/userland and the Linux kernel/userland 00030 * on the global semaphore heap. The features element indicates which data are 00031 * shared. Notice that struct xnvdso may only grow, but never shrink. 00032 */ 00033 struct xnvdso { 00034 unsigned long long features; 00035 00036 /* Embed domain specific structures that describe the 00037 * shared data here */ 00038 }; 00039 00040 /* 00041 * For each shared feature, add a flag below. For now, the set is still 00042 * empty. 00043 */ 00044 /* 00045 #define XNVDSO_FEAT_A 0x0000000000000001ULL 00046 #define XNVDSO_FEAT_B 0x0000000000000002ULL 00047 #define XNVDSO_FEAT_C 0x0000000000000004ULL 00048 #define XNVDSO_FEATURES (XNVDSO_FEAT_A | XNVDSO_FEAT_B | XVDSO_FEAT_C) 00049 */ 00050 #define XNVDSO_FEAT_DROP_U_MODE 0x0000000000000001ULL 00051 #define XNVDSO_FEATURES (XNVDSO_FEAT_DROP_U_MODE) 00052 00053 extern struct xnvdso *nkvdso; 00054 00055 static inline int xnvdso_test_feature(unsigned long long feature) 00056 { 00057 return testbits(nkvdso->features, feature); 00058 } 00059 00060 extern void xnheap_init_vdso(void); 00061 #endif /* _XENO_NUCLEUS_VDSO_H */