aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>2012-02-09 11:33:28 +0000
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>2012-02-09 11:33:28 +0000
commit4e60158364638028e95855b5fdfd8e68cd70b225 (patch)
tree473cc8da58a7041b67de5162b01e03c023a80174
parent3487e40ba447dcff5d303cb68350b7879692185b (diff)
downloadxen-4e60158364638028e95855b5fdfd8e68cd70b225.tar.gz
xen-4e60158364638028e95855b5fdfd8e68cd70b225.tar.bz2
xen-4e60158364638028e95855b5fdfd8e68cd70b225.zip
xen/common/Makefile: introduce HAS_{CPUFREQ,PCI,PASSTHROUGH,NS16550,KEXEC}
- make the compilation of ns16550.c depend upon HAS_NS16550; - make the compilation of cpufreq depend upon HAS_CPUFREQ; - make the compilation of pci depend upon HAS_PCI; - make the compilation of passthrough depend upon HAS_PASSTHROUGH; - make the compilation of kexec depend upon HAS_KEXEC. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> Acked-by: Keir Fraser <keir@xen.org> Committed-by: Ian Campbell <ian.campbell@citrix.com> --- xen/arch/ia64/Rules.mk | 5 +++++ xen/arch/x86/Rules.mk | 5 +++++ xen/common/Makefile | 2 +- xen/common/shutdown.c | 4 ++++ xen/drivers/Makefile | 6 +++--- xen/drivers/char/Makefile | 2 +- xen/drivers/char/console.c | 4 ++++ xen/include/asm-ia64/config.h | 1 + xen/include/asm-x86/config.h | 1 + 9 files changed, 25 insertions(+), 5 deletions(-)
-rw-r--r--xen/arch/ia64/Rules.mk5
-rw-r--r--xen/arch/x86/Rules.mk5
-rw-r--r--xen/common/Makefile2
-rw-r--r--xen/common/shutdown.c4
-rw-r--r--xen/drivers/Makefile6
-rw-r--r--xen/drivers/char/Makefile2
-rw-r--r--xen/drivers/char/console.c4
-rw-r--r--xen/include/asm-ia64/config.h1
-rw-r--r--xen/include/asm-x86/config.h1
9 files changed, 25 insertions, 5 deletions
diff --git a/xen/arch/ia64/Rules.mk b/xen/arch/ia64/Rules.mk
index bef11c3196..054b4def94 100644
--- a/xen/arch/ia64/Rules.mk
+++ b/xen/arch/ia64/Rules.mk
@@ -4,6 +4,11 @@
ia64 := y
HAS_ACPI := y
HAS_VGA := y
+HAS_CPUFREQ := y
+HAS_PCI := y
+HAS_PASSTHROUGH := y
+HAS_NS16550 := y
+HAS_KEXEC := y
xenoprof := y
no_warns ?= n
vti_debug ?= n
diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index 9fc6d42f9f..65275af9e8 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -3,6 +3,11 @@
HAS_ACPI := y
HAS_VGA := y
+HAS_CPUFREQ := y
+HAS_PCI := y
+HAS_PASSTHROUGH := y
+HAS_NS16550 := y
+HAS_KEXEC := y
xenoprof := y
#
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 1d85e6586f..9249845832 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -8,7 +8,7 @@ obj-y += grant_table.o
obj-y += irq.o
obj-y += kernel.o
obj-y += keyhandler.o
-obj-y += kexec.o
+obj-$(HAS_KEXEC) += kexec.o
obj-y += lib.o
obj-y += memory.o
obj-y += multicall.o
diff --git a/xen/common/shutdown.c b/xen/common/shutdown.c
index e356e86591..b18ef5de6c 100644
--- a/xen/common/shutdown.c
+++ b/xen/common/shutdown.c
@@ -6,7 +6,9 @@
#include <xen/delay.h>
#include <xen/shutdown.h>
#include <xen/console.h>
+#ifdef CONFIG_KEXEC
#include <xen/kexec.h>
+#endif
#include <asm/debugger.h>
#include <public/sched.h>
@@ -58,7 +60,9 @@ void dom0_shutdown(u8 reason)
case SHUTDOWN_watchdog:
{
printk("Domain 0 shutdown: watchdog rebooting machine.\n");
+#ifdef CONFIG_KEXEC
kexec_crash();
+#endif
machine_restart(0);
break; /* not reached */
}
diff --git a/xen/drivers/Makefile b/xen/drivers/Makefile
index eb4fb61554..7239375331 100644
--- a/xen/drivers/Makefile
+++ b/xen/drivers/Makefile
@@ -1,6 +1,6 @@
subdir-y += char
-subdir-y += cpufreq
-subdir-y += pci
-subdir-y += passthrough
+subdir-$(HAS_CPUFREQ) += cpufreq
+subdir-$(HAS_PCI) += pci
+subdir-$(HAS_PASSTHROUGH) += passthrough
subdir-$(HAS_ACPI) += acpi
subdir-$(HAS_VGA) += video
diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
index ded9a94cc1..19250c8810 100644
--- a/xen/drivers/char/Makefile
+++ b/xen/drivers/char/Makefile
@@ -1,3 +1,3 @@
obj-y += console.o
-obj-y += ns16550.o
+obj-$(HAS_NS16550) += ns16550.o
obj-y += serial.o
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index dc9b9c58cd..64a99a67f6 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -22,7 +22,9 @@
#include <xen/guest_access.h>
#include <xen/shutdown.h>
#include <xen/vga.h>
+#ifdef CONFIG_KEXEC
#include <xen/kexec.h>
+#endif
#include <asm/debugger.h>
#include <asm/div64.h>
#include <xen/hypercall.h> /* for do_console_io */
@@ -963,7 +965,9 @@ void panic(const char *fmt, ...)
debugger_trap_immediate();
+#ifdef CONFIG_KEXEC
kexec_crash();
+#endif
if ( opt_noreboot )
{
diff --git a/xen/include/asm-ia64/config.h b/xen/include/asm-ia64/config.h
index 01734879a8..6e9fc98d0e 100644
--- a/xen/include/asm-ia64/config.h
+++ b/xen/include/asm-ia64/config.h
@@ -20,6 +20,7 @@
#define CONFIG_EFI
#define CONFIG_EFI_PCDP
#define CONFIG_SERIAL_SGI_L1_CONSOLE
+#define CONFIG_KEXEC 1
#define CONFIG_XENOPROF 1
#define CONFIG_XEN_SMP
diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h
index 18d0a052c1..28f5e2941f 100644
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -49,6 +49,7 @@
#define CONFIG_HOTPLUG_CPU 1
#define CONFIG_XENOPROF 1
+#define CONFIG_KEXEC 1
#define HZ 100