|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC 27/29] build: convert HAS_GICV3 use to Kconfig
Use the Kconfig generated CONFIG_HAS_GICV3 defines in the code base.
Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx>
---
xen/arch/arm/Kconfig | 4 ++++
xen/arch/arm/Makefile | 2 +-
xen/arch/arm/Rules.mk | 2 --
xen/arch/arm/vgic.c | 2 +-
xen/include/asm-arm/domain.h | 3 ++-
xen/include/asm-arm/gic.h | 4 ++--
xen/include/asm-arm/vgic.h | 2 +-
7 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index f100f17..01744c7 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -28,6 +28,10 @@ config ARCH_DEFCONFIG
default "arch/arm/arm32_defconfig" if ARM_32
default "arch/arm/arm64_defconfig" if ARM_64
+# Select HAS_GICV3 if Generic Interrupt Connect (GICv3) is supported
+config HAS_GICV3
+ bool
+
source "common/Kconfig"
source "drivers/Kconfig"
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 1ef39f7..cc23520 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -13,7 +13,7 @@ obj-y += sysctl.o
obj-y += domain_build.o
obj-y += gic.o gic-v2.o
obj-$(CONFIG_ARM_32) += gic-hip04.o
-obj-$(HAS_GICV3) += gic-v3.o
+obj-$(CONFIG_HAS_GICV3) += gic-v3.o
obj-y += io.o
obj-y += irq.o
obj-y += kernel.o
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index 2158bd8..4947e64 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -32,8 +32,6 @@ ifneq ($(call cc-option,$(CC),-fvisibility=hidden,n),n)
CFLAGS += -DGCC_HAS_VISIBILITY_ATTRIBUTE
endif
-CFLAGS-$(HAS_GICV3) += -DHAS_GICV3
-
EARLY_PRINTK := n
ifeq ($(debug),y)
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index a6835a8..a00fb89 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -83,7 +83,7 @@ int domain_vgic_init(struct domain *d, unsigned int nr_spis)
switch ( d->arch.vgic.version )
{
-#ifdef HAS_GICV3
+#ifdef CONFIG_HAS_GICV3
case GIC_V3:
if ( vgic_v3_init(d) )
return -ENODEV;
diff --git a/xen/include/asm-arm/domain.h b/xen/include/asm-arm/domain.h
index b89727e..4dd72ed 100644
--- a/xen/include/asm-arm/domain.h
+++ b/xen/include/asm-arm/domain.h
@@ -102,7 +102,8 @@ struct arch_domain
struct pending_irq *pending_irqs;
/* Base address for guest GIC */
paddr_t dbase; /* Distributor base address */
-#ifdef HAS_GICV3
+ paddr_t cbase; /* CPU base address */
+#ifdef CONFIG_HAS_GICV3
/* GIC V3 addressing */
/* List of contiguous occupied by the redistributors */
struct vgic_rdist_region {
diff --git a/xen/include/asm-arm/gic.h b/xen/include/asm-arm/gic.h
index 6d53f97..4dbd651 100644
--- a/xen/include/asm-arm/gic.h
+++ b/xen/include/asm-arm/gic.h
@@ -162,7 +162,7 @@
#define DT_MATCH_GIC_V3 DT_MATCH_COMPATIBLE("arm,gic-v3")
-#ifdef HAS_GICV3
+#ifdef CONFIG_HAS_GICV3
/*
* GICv3 registers that needs to be saved/restored
*/
@@ -190,7 +190,7 @@ struct gic_v2 {
*/
union gic_state_data {
struct gic_v2 v2;
-#ifdef HAS_GICV3
+#ifdef CONFIG_HAS_GICV3
struct gic_v3 v3;
#endif
};
diff --git a/xen/include/asm-arm/vgic.h b/xen/include/asm-arm/vgic.h
index 96839f0..1fa7c61 100644
--- a/xen/include/asm-arm/vgic.h
+++ b/xen/include/asm-arm/vgic.h
@@ -238,7 +238,7 @@ extern void vgic_free_virq(struct domain *d, unsigned int
virq);
void vgic_v2_setup_hw(paddr_t dbase, paddr_t cbase, paddr_t vbase);
-#ifdef HAS_GICV3
+#ifdef CONFIG_HAS_GICV3
struct rdist_region;
void vgic_v3_setup_hw(paddr_t dbase,
unsigned int nr_rdist_regions,
--
2.4.9
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |