/root/src/xen/xen/include/public/features.h
Line | Count | Source (jump to first uncovered line) |
1 | | /****************************************************************************** |
2 | | * features.h |
3 | | * |
4 | | * Feature flags, reported by XENVER_get_features. |
5 | | * |
6 | | * Permission is hereby granted, free of charge, to any person obtaining a copy |
7 | | * of this software and associated documentation files (the "Software"), to |
8 | | * deal in the Software without restriction, including without limitation the |
9 | | * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
10 | | * sell copies of the Software, and to permit persons to whom the Software is |
11 | | * furnished to do so, subject to the following conditions: |
12 | | * |
13 | | * The above copyright notice and this permission notice shall be included in |
14 | | * all copies or substantial portions of the Software. |
15 | | * |
16 | | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
17 | | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
18 | | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
19 | | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
20 | | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
21 | | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
22 | | * DEALINGS IN THE SOFTWARE. |
23 | | * |
24 | | * Copyright (c) 2006, Keir Fraser <keir@xensource.com> |
25 | | */ |
26 | | |
27 | | #ifndef __XEN_PUBLIC_FEATURES_H__ |
28 | | #define __XEN_PUBLIC_FEATURES_H__ |
29 | | |
30 | | /* |
31 | | * `incontents 200 elfnotes_features XEN_ELFNOTE_FEATURES |
32 | | * |
33 | | * The list of all the features the guest supports. They are set by |
34 | | * parsing the XEN_ELFNOTE_FEATURES and XEN_ELFNOTE_SUPPORTED_FEATURES |
35 | | * string. The format is the feature names (as given here without the |
36 | | * "XENFEAT_" prefix) separated by '|' characters. |
37 | | * If a feature is required for the kernel to function then the feature name |
38 | | * must be preceded by a '!' character. |
39 | | * |
40 | | * Note that if XEN_ELFNOTE_SUPPORTED_FEATURES is used, then in the |
41 | | * XENFEAT_dom0 MUST be set if the guest is to be booted as dom0, |
42 | | */ |
43 | | |
44 | | /* |
45 | | * If set, the guest does not need to write-protect its pagetables, and can |
46 | | * update them via direct writes. |
47 | | */ |
48 | 1 | #define XENFEAT_writable_page_tables 0 |
49 | | |
50 | | /* |
51 | | * If set, the guest does not need to write-protect its segment descriptor |
52 | | * tables, and can update them via direct writes. |
53 | | */ |
54 | | #define XENFEAT_writable_descriptor_tables 1 |
55 | | |
56 | | /* |
57 | | * If set, translation between the guest's 'pseudo-physical' address space |
58 | | * and the host's machine address space are handled by the hypervisor. In this |
59 | | * mode the guest does not need to perform phys-to/from-machine translations |
60 | | * when performing page table operations. |
61 | | */ |
62 | 1 | #define XENFEAT_auto_translated_physmap 2 |
63 | | |
64 | | /* If set, the guest is running in supervisor mode (e.g., x86 ring 0). */ |
65 | | #define XENFEAT_supervisor_mode_kernel 3 |
66 | | |
67 | | /* |
68 | | * If set, the guest does not need to allocate x86 PAE page directories |
69 | | * below 4GB. This flag is usually implied by auto_translated_physmap. |
70 | | */ |
71 | 0 | #define XENFEAT_pae_pgdir_above_4gb 4 |
72 | | |
73 | | /* x86: Does this Xen host support the MMU_PT_UPDATE_PRESERVE_AD hypercall? */ |
74 | 0 | #define XENFEAT_mmu_pt_update_preserve_ad 5 |
75 | | |
76 | | /* x86: Does this Xen host support the MMU_{CLEAR,COPY}_PAGE hypercall? */ |
77 | 0 | #define XENFEAT_highmem_assist 6 |
78 | | |
79 | | /* |
80 | | * If set, GNTTABOP_map_grant_ref honors flags to be placed into guest kernel |
81 | | * available pte bits. |
82 | | */ |
83 | 0 | #define XENFEAT_gnttab_map_avail_bits 7 |
84 | | |
85 | | /* x86: Does this Xen host support the HVM callback vector type? */ |
86 | 1 | #define XENFEAT_hvm_callback_vector 8 |
87 | | |
88 | | /* x86: pvclock algorithm is safe to use on HVM */ |
89 | 1 | #define XENFEAT_hvm_safe_pvclock 9 |
90 | | |
91 | | /* x86: pirq can be used by HVM guests */ |
92 | 0 | #define XENFEAT_hvm_pirqs 10 |
93 | | |
94 | | /* operation as Dom0 is supported */ |
95 | 1 | #define XENFEAT_dom0 11 |
96 | | |
97 | | /* Xen also maps grant references at pfn = mfn. |
98 | | * This feature flag is deprecated and should not be used. |
99 | | #define XENFEAT_grant_map_identity 12 |
100 | | */ |
101 | | |
102 | | /* Guest can use XENMEMF_vnode to specify virtual node for memory op. */ |
103 | 1 | #define XENFEAT_memory_op_vnode_supported 13 |
104 | | |
105 | | /* arm: Hypervisor supports ARM SMC calling convention. */ |
106 | | #define XENFEAT_ARM_SMCCC_supported 14 |
107 | | |
108 | 0 | #define XENFEAT_NR_SUBMAPS 1 |
109 | | |
110 | | #endif /* __XEN_PUBLIC_FEATURES_H__ */ |
111 | | |
112 | | /* |
113 | | * Local variables: |
114 | | * mode: C |
115 | | * c-file-style: "BSD" |
116 | | * c-basic-offset: 4 |
117 | | * tab-width: 4 |
118 | | * indent-tabs-mode: nil |
119 | | * End: |
120 | | */ |