[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v7 04/28] build: use generated Kconfig options for Xen



Switches the build system to rely on the options and flags generated by
Kconfig to control what gets built and how. Follow on patches will
convert items to be prefixed with CONFIG_. Additionally remove a #define
that resulted in a redefined variable when building for arm.

CC: Ian Campbell <ian.campbell@xxxxxxxxxx>
CC: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx>
CC: Keir Fraser <keir@xxxxxxx>
CC: Jan Beulich <jbeulich@xxxxxxxx>
CC: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx>
---
 xen/Makefile                       | 9 ++++++++-
 xen/Rules.mk                       | 2 ++
 xen/drivers/passthrough/arm/smmu.c | 4 ----
 xen/include/xen/config.h           | 2 ++
 4 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 1d2c814..6cc0dc6 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -34,6 +34,8 @@ default: build
 .PHONY: dist
 dist: install
 
+build:: include/config/auto.conf
+
 .PHONY: build install uninstall clean distclean cscope TAGS tags MAP gtags
 build install uninstall debug clean distclean cscope TAGS tags MAP gtags::
 ifneq ($(XEN_TARGET_ARCH),x86_32)
@@ -236,9 +238,14 @@ kconfig := silentoldconfig oldconfig config menuconfig 
defconfig \
 $(kconfig):
        $(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig 
ARCH=$(XEN_TARGET_ARCH) $@
 
-include/config/%.conf: include/config/auto.conf.cmd
+include/config/%.conf: include/config/auto.conf.cmd .config
        $(Q)$(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig 
ARCH=$(XEN_TARGET_ARCH) silentoldconfig
 
 # Allow people to just run `make` as before and not force them to configure
 $(KCONFIG_CONFIG):
        $(Q)$(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig 
ARCH=$(XEN_TARGET_ARCH) defconfig
+
+# Break the dependency chain for the first run
+include/config/auto.conf.cmd: ;
+
+-include $(BASEDIR)/include/config/auto.conf.cmd
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 02db110..d696206 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -12,6 +12,8 @@ frame_pointer ?= n
 lto           ?= n
 kexec         ?= y
 
+-include $(BASEDIR)/include/config/auto.conf
+
 include $(XEN_ROOT)/Config.mk
 
 # Hardcoded configuration implications and dependencies.
diff --git a/xen/drivers/passthrough/arm/smmu.c 
b/xen/drivers/passthrough/arm/smmu.c
index bb08827..62da087 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -196,10 +196,6 @@ static inline int pci_for_each_dma_alias(struct pci_dev 
*pdev,
 #define PHYS_MASK_SHIFT                PADDR_BITS
 typedef paddr_t phys_addr_t;
 
-#ifdef CONFIG_ARM_64
-# define CONFIG_64BIT
-#endif
-
 #define VA_BITS                0       /* Only used for configuring stage-1 
input size */
 
 /* The macro ACCESS_ONCE start to be replaced in Linux in favor of
diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
index 89a590e..595e8cf 100644
--- a/xen/include/xen/config.h
+++ b/xen/include/xen/config.h
@@ -7,6 +7,8 @@
 #ifndef __XEN_CONFIG_H__
 #define __XEN_CONFIG_H__
 
+#include <generated/autoconf.h>
+
 #ifndef __ASSEMBLY__
 #include <xen/compiler.h>
 #endif
-- 
2.4.10


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.