From a55dda98b32cb3482578a6693a3eef521bf185c8 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Tue, 27 Aug 2013 08:46:37 -0600 Subject: [PATCH] Add hooks to select Cortex-A8 --- arch/arm/Kconfig | 10 ++++++++-- arch/arm/include/irq.h | 2 +- arch/arm/src/Makefile | 6 +++++- arch/arm/src/common/up_internal.h | 4 ++-- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4c723f8542..483f9bd924 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -178,11 +178,17 @@ config ARCH_CORTEXA5 select ARCH_IRQPRIO select ARCH_HAVE_MMU +config ARCH_CORTEXA8 + bool + default n + select ARCH_IRQPRIO + select ARCH_HAVE_MMU + config ARCH_FAMILY string default "arm" if ARCH_ARM7TDMI || ARCH_ARM926EJS || ARCH_ARM920T default "armv6-m" if ARCH_CORTEXM0 - default "armv7-a" if ARCH_CORTEXA5 + default "armv7-a" if ARCH_CORTEXA5 || ARCH_CORTEXA8 default "armv7-m" if ARCH_CORTEXM3 || ARCH_CORTEXM4 config ARCH_CHIP @@ -305,7 +311,7 @@ config DEBUG_HARDFAULT if ARCH_CORTEXM0 source arch/arm/src/armv6-m/Kconfig endif -if ARCH_CORTEXA5 +if ARCH_CORTEXA5 || ARCH_CORTEXA8 source arch/arm/src/armv7-a/Kconfig endif if ARCH_CORTEXM3 || ARCH_CORTEXM4 diff --git a/arch/arm/include/irq.h b/arch/arm/include/irq.h index 794fd07f91..27b39f95b0 100644 --- a/arch/arm/include/irq.h +++ b/arch/arm/include/irq.h @@ -56,7 +56,7 @@ * save structure and irqsave()/irqrestore() macros) */ -#if defined(CONFIG_ARCH_CORTEXA5) +#if defined(CONFIG_ARCH_CORTEXA5) || defined(CONFIG_ARCH_CORTEXA8) # include #elif defined(CONFIG_ARCH_CORTEXM3) || defined(CONFIG_ARCH_CORTEXM4) # include diff --git a/arch/arm/src/Makefile b/arch/arm/src/Makefile index 0f5f1014c7..2819474e06 100644 --- a/arch/arm/src/Makefile +++ b/arch/arm/src/Makefile @@ -36,7 +36,10 @@ -include $(TOPDIR)/Make.defs -include chip/Make.defs -ifeq ($(CONFIG_ARCH_CORTEXA5),y) # Cortex-A5 is ARMv7 +ifeq ($(CONFIG_ARCH_CORTEXA5),y) # Cortex-A5 is ARMv7-A +ARCH_SUBDIR = armv7-a +else +ifeq ($(CONFIG_ARCH_CORTEXA8),y) # Cortex-A8 is ARMv7-A ARCH_SUBDIR = armv7-a else ifeq ($(CONFIG_ARCH_CORTEXM3),y) # Cortex-M3 is ARMv7-M @@ -53,6 +56,7 @@ endif endif endif endif +endif ifeq ($(CONFIG_WINDOWS_NATIVE),y) ARCH_SRCDIR = $(TOPDIR)\arch\$(CONFIG_ARCH)\src diff --git a/arch/arm/src/common/up_internal.h b/arch/arm/src/common/up_internal.h index df5ad67a8e..b39f456d07 100644 --- a/arch/arm/src/common/up_internal.h +++ b/arch/arm/src/common/up_internal.h @@ -138,7 +138,7 @@ * register save/restore. */ -#elif defined(CONFIG_ARCH_CORTEXA5) +#elif defined(CONFIG_ARCH_CORTEXA5) || defined(CONFIG_ARCH_CORTEXA8) /* If the floating point unit is present and enabled, then save the * floating point registers as well as normal ARM registers. @@ -330,7 +330,7 @@ int up_memfault(int irq, FAR void *context); * back-ported to the ARM7 and ARM9 families). */ -#elif defined(CONFIG_ARCH_CORTEXA5) +#elif defined(CONFIG_ARCH_CORTEXA5) || defined(CONFIG_ARCH_CORTEXA8) /* Interrupt dispatch */