1config X86_64
2	def_bool y
3
4config X86
5	def_bool y
6	select ACPI
7	select ACPI_LEGACY_TABLES_LOOKUP
8	select ARCH_SUPPORTS_INT128
9	select COMPAT
10	select CORE_PARKING
11	select HAS_ALTERNATIVE
12	select HAS_CPUFREQ
13	select HAS_EHCI
14	select HAS_EX_TABLE
15	select HAS_GDBSX
16	select HAS_IOPORTS
17	select HAS_KEXEC
18	select HAS_MEM_ACCESS
19	select HAS_MEM_PAGING
20	select HAS_MEM_SHARING
21	select HAS_NS16550
22	select HAS_PASSTHROUGH
23	select HAS_PCI
24	select HAS_PDX
25	select HAS_UBSAN
26	select NUMA
27
28config ARCH_DEFCONFIG
29	string
30	default "arch/x86/configs/x86_64_defconfig"
31
32menu "Architecture Features"
33
34source "arch/Kconfig"
35
36config PV
37	def_bool y
38
39config PV_LINEAR_PT
40       bool "Support for PV linear pagetables"
41       depends on PV
42       default y
43       ---help---
44         Linear pagetables (also called "recursive pagetables") refers
45         to the practice of a guest operating system having pagetable
46         entries pointing to other pagetables of the same level (i.e.,
47         allowing L2 PTEs to point to other L2 pages).  Some operating
48         systems use it as a simple way to consistently map the current
49         process's pagetables into its own virtual address space.
50
51         Linux and MiniOS don't use this technique.  NetBSD and Novell
52         Netware do; there may be other custom operating systems which
53         do.  If you're certain you don't plan on having PV guests
54         which use this feature, turning it off can reduce the attack
55         surface.
56
57         If unsure, say Y.
58
59config HVM
60	def_bool y
61
62config SHADOW_PAGING
63        bool "Shadow Paging"
64        default y
65        ---help---
66
67          Shadow paging is a software alternative to hardware paging support
68          (Intel EPT, AMD NPT).
69
70          It is required for:
71            * Running HVM guests on hardware lacking hardware paging support
72              (First-generation Intel VT-x or AMD SVM).
73            * Live migration of PV guests.
74
75          Under a small number of specific workloads, shadow paging may be
76          deliberately used as a performance optimisation.
77
78          If unsure, say Y.
79
80config BIGMEM
81	bool "big memory support"
82	default n
83	---help---
84	  Allows Xen to support up to 123Tb of memory.
85
86	  This requires enlarging struct page_info as well as shrinking
87	  the always accessible direct mapped memory range.
88
89	  If unsure, say N.
90
91config HVM_FEP
92	bool "HVM Forced Emulation Prefix support" if EXPERT = "y"
93	default DEBUG
94	---help---
95
96	  Compiles in a feature that allows HVM guest to arbitrarily
97	  exercise the instruction emulator.
98
99	  This feature can only be enabled during boot time with
100	  appropriate hypervisor command line option. Please read
101	  hypervisor command line documentation before trying to use
102	  this feature.
103
104	  This is strictly for testing purposes, and not appropriate
105	  for use in production.
106
107	  If unsure, say N.
108
109config TBOOT
110	def_bool y
111	prompt "Xen tboot support" if EXPERT = "y"
112	depends on X86
113	select CRYPTO
114	---help---
115	  Allows support for Trusted Boot using the Intel(R) Trusted Execution
116	  Technology (TXT)
117
118	  If unsure, say Y.
119
120config XEN_GUEST
121	def_bool n
122	prompt "Xen Guest"
123	---help---
124	  Support for Xen detecting when it is running under Xen.
125
126	  If unsure, say N.
127
128config PVH_GUEST
129	def_bool n
130	prompt "PVH Guest"
131	depends on XEN_GUEST
132	---help---
133	  Support booting using the PVH ABI.
134
135	  If unsure, say N.
136
137config PV_SHIM
138	def_bool n
139	prompt "PV Shim"
140	depends on PV && XEN_GUEST
141	---help---
142	  Build Xen with a mode which acts as a shim to allow PV guest to run
143	  in an HVM/PVH container. This mode can only be enabled with command
144	  line option.
145
146	  If unsure, say N.
147
148config PV_SHIM_EXCLUSIVE
149	def_bool n
150	prompt "PV Shim Exclusive"
151	depends on PV_SHIM
152	---help---
153	  Build Xen in a way which unconditionally assumes PV_SHIM mode.  This
154	  option is only intended for use when building a dedicated PV Shim
155	  firmware, and will not function correctly in other scenarios.
156
157	  If unsure, say N.
158endmenu
159
160source "common/Kconfig"
161
162source "drivers/Kconfig"
163