vserver 2.0 rc7
[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_LEGACY_VERSION,
12
13         VCI_KCBIT_DEBUG = 16,
14         VCI_KCBIT_HISTORY = 20,
15         VCI_KCBIT_TAGXID = 24,
16 };
17
18
19 static inline uint32_t vci_kernel_config(void)
20 {
21         return
22         /* various legacy options */
23 #ifdef  CONFIG_VSERVER_LEGACY
24         (1 << VCI_KCBIT_LEGACY) |
25 #endif
26 #ifdef  CONFIG_VSERVER_LEGACYNET
27         (1 << VCI_KCBIT_LEGACYNET) |
28 #endif
29 #ifdef  CONFIG_VSERVER_LEGACY_VERSION
30         (1 << VCI_KCBIT_LEGACY_VERSION) |
31 #endif
32
33         /* configured features */
34 #ifdef  CONFIG_VSERVER_PROC_SECURE
35         (1 << VCI_KCBIT_PROC_SECURE) |
36 #endif
37 #ifdef  CONFIG_VSERVER_HARDCPU
38         (1 << VCI_KCBIT_HARDCPU) |
39 #endif
40 #ifdef  CONFIG_VSERVER_HARDCPU_IDLE
41         (1 << VCI_KCBIT_HARDCPU_IDLE) |
42 #endif
43
44         /* debug options */
45 #ifdef  CONFIG_VSERVER_DEBUG
46         (1 << VCI_KCBIT_DEBUG) |
47 #endif
48 #ifdef  CONFIG_VSERVER_HISTORY
49         (1 << VCI_KCBIT_HISTORY) |
50 #endif
51
52         /* inode xid tagging */
53 #if     defined(CONFIG_INOXID_NONE)
54         (0 << VCI_KCBIT_TAGXID) |
55 #elif   defined(CONFIG_INOXID_UID16)
56         (1 << VCI_KCBIT_TAGXID) |
57 #elif   defined(CONFIG_INOXID_GID16)
58         (2 << VCI_KCBIT_TAGXID) |
59 #elif   defined(CONFIG_INOXID_UGID24)
60         (3 << VCI_KCBIT_TAGXID) |
61 #elif   defined(CONFIG_INOXID_INTERN)
62         (4 << VCI_KCBIT_TAGXID) |
63 #elif   defined(CONFIG_INOXID_RUNTIME)
64         (5 << VCI_KCBIT_TAGXID) |
65 #else
66         (7 << VCI_KCBIT_TAGXID) |
67 #endif
68         0;
69 }
70