This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / kernel / vserver / vci_config.h
1
2 enum {
3         VCI_KCBIT_LEGACY = 1,
4         VCI_KCBIT_LEGACYNET,
5         VCI_KCBIT_NGNET,
6
7         VCI_KCBIT_PROC_SECURE,
8         VCI_KCBIT_HARDCPU,
9         VCI_KCBIT_HARDCPU_IDLE,
10
11         VCI_KCBIT_DEBUG = 16,
12         VCI_KCBIT_HISTORY = 20,
13         VCI_KCBIT_TAGXID = 24,
14 };
15
16
17 static inline uint32_t vci_kernel_config(void)
18 {
19         return
20         /* various legacy options */
21 #ifdef  CONFIG_VSERVER_LEGACY
22         (1 << VCI_KCBIT_LEGACY) |
23 #endif
24 #ifdef  CONFIG_VSERVER_LEGACYNET
25         (1 << VCI_KCBIT_LEGACYNET) |
26 #endif
27
28         /* configured features */
29 #ifdef  CONFIG_VSERVER_PROC_SECURE
30         (1 << VCI_KCBIT_PROC_SECURE) |
31 #endif
32 #ifdef  CONFIG_VSERVER_HARDCPU
33         (1 << VCI_KCBIT_HARDCPU) |
34 #endif
35 #ifdef  CONFIG_VSERVER_HARDCPU_IDLE
36         (1 << VCI_KCBIT_HARDCPU_IDLE) |
37 #endif
38
39         /* debug options */
40 #ifdef  CONFIG_VSERVER_DEBUG
41         (1 << VCI_KCBIT_DEBUG) |
42 #endif
43 #ifdef  CONFIG_VSERVER_HISTORY
44         (1 << VCI_KCBIT_HISTORY) |
45 #endif
46
47         /* inode xid tagging */
48 #if     defined(CONFIG_INOXID_NONE)
49         (0 << VCI_KCBIT_TAGXID) |
50 #elif   defined(CONFIG_INOXID_UID16)
51         (1 << VCI_KCBIT_TAGXID) |
52 #elif   defined(CONFIG_INOXID_GID16)
53         (2 << VCI_KCBIT_TAGXID) |
54 #elif   defined(CONFIG_INOXID_UGID24)
55         (3 << VCI_KCBIT_TAGXID) |
56 #elif   defined(CONFIG_INOXID_INTERN)
57         (4 << VCI_KCBIT_TAGXID) |
58 #elif   defined(CONFIG_INOXID_RUNTIME)
59         (5 << VCI_KCBIT_TAGXID) |
60 #else
61         (7 << VCI_KCBIT_TAGXID) |
62 #endif
63         0;
64 }
65