[PATCH 12/16] xen/dom0: add XEN_DOM0 config option

From: Jeremy Fitzhardinge
Date: Tue May 12 2009 - 23:13:01 EST


Allow dom0 to be configured. Requires more patches to do something useful.
Also announce whether we're running dom0 as part of xen boot message.

[ Impact: add Kconfig to enable XEN_DOM0 ]

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>
---
arch/x86/xen/Kconfig | 26 ++++++++++++++++++++++++++
arch/x86/xen/enlighten.c | 6 ++++--
2 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig
index b83e119..fe69286 100644
--- a/arch/x86/xen/Kconfig
+++ b/arch/x86/xen/Kconfig
@@ -36,3 +36,29 @@ config XEN_DEBUG_FS
help
Enable statistics output and various tuning options in debugfs.
Enabling this option may incur a significant performance overhead.
+
+config XEN_DOM0
+ bool "Enable Xen privileged domain support"
+ depends on XEN && X86_IO_APIC && ACPI
+ help
+ The Xen hypervisor requires a privileged domain ("dom0") to
+ actually manage the machine, provide devices drivers, etc.
+ This option enables dom0 support. A dom0 kernel can also
+ run as an unprivileged domU kernel, or a kernel running
+ native on bare hardware.
+
+# Dummy symbol since people have come to rely on the PRIVILEGED_GUEST
+# name in tools.
+config XEN_PRIVILEGED_GUEST
+ def_bool XEN_DOM0
+
+config XEN_PCI_PASSTHROUGH
+ bool #"Enable support for Xen PCI passthrough devices"
+ depends on XEN && PCI
+ help
+ Enable support for passing PCI devices through to
+ unprivileged domains. (COMPLETELY UNTESTED)
+
+config XEN_DOM0_PCI
+ def_bool y
+ depends on XEN_DOM0 && PCI
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 79b9b84..784971d 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -172,9 +172,11 @@ static void __init xen_banner(void)

printk(KERN_INFO "Booting paravirtualized kernel on %s\n",
pv_info.name);
- printk(KERN_INFO "Xen version: %d.%d%s%s\n",
+ printk(KERN_INFO "Xen version: %d.%d%s%s%s\n",
version >> 16, version & 0xffff, extra.extraversion,
- xen_feature(XENFEAT_mmu_pt_update_preserve_ad) ? " (preserve-AD)" : "");
+ xen_feature(XENFEAT_mmu_pt_update_preserve_ad) ?
+ " (preserve-AD)" : "",
+ xen_initial_domain() ? " (dom0)" : "");
}

static __read_mostly unsigned int cpuid_leaf1_edx_mask = ~0;
--
1.6.0.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/