summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRussell King <rmk@flint.arm.linux.org.uk>2003-09-16 21:46:00 +0100
committerRussell King <rmk@flint.arm.linux.org.uk>2003-09-16 21:46:00 +0100
commit295864f7b9d3ddf461b29bd25e28baedecea112b (patch)
tree3d06adcab36add30cc34a5f611d2840b27843a60 /include
parentaa26ae6fda34d420535172763afa642f092c7649 (diff)
[ARM] Update ARM CPU support.
Move ARM CPU configuration to arch/arm/mm. Seperate out the selection of the abort, cache handling, optimised page copying and TLB handling from the Makefile, and move it into the configuration system. This allows us to select the correct files in arch/arm/mm and pick the appropriate definitions in include/asm-arm/* based upon a config symbol rather than a bunch of configuration symbols. Also add ARM1020E, ARM1022 and ARM1026 CPU support.
Diffstat (limited to 'include')
-rw-r--r--include/asm-arm/glue.h15
-rw-r--r--include/asm-arm/page.h12
-rw-r--r--include/asm-arm/pgtable.h4
-rw-r--r--include/asm-arm/proc-fns.h32
-rw-r--r--include/asm-arm/tlbflush.h12
5 files changed, 46 insertions, 29 deletions
diff --git a/include/asm-arm/glue.h b/include/asm-arm/glue.h
index a29d70176c75..932f523d92dd 100644
--- a/include/asm-arm/glue.h
+++ b/include/asm-arm/glue.h
@@ -58,7 +58,7 @@
# endif
#endif
-#if defined(CONFIG_CPU_ARM720T)
+#ifdef CONFIG_CPU_ABRT_LV4T
# ifdef CPU_ABORT_HANDLER
# define MULTI_ABORT 1
# else
@@ -66,7 +66,7 @@
# endif
#endif
-#if defined(CONFIG_CPU_SA110) || defined(CONFIG_CPU_SA1100)
+#ifdef CONFIG_CPU_ABRT_EV4
# ifdef CPU_ABORT_HANDLER
# define MULTI_ABORT 1
# else
@@ -74,8 +74,7 @@
# endif
#endif
-#if defined(CONFIG_CPU_ARM920T) || defined(CONFIG_CPU_ARM922T) || \
- defined(CONFIG_CPU_ARM1020)
+#ifdef CONFIG_CPU_ABRT_EV4T
# ifdef CPU_ABORT_HANDLER
# define MULTI_ABORT 1
# else
@@ -83,19 +82,19 @@
# endif
#endif
-#if defined(CONFIG_CPU_ARM926T)
+#ifdef CONFIG_CPU_ABRT_EV5TJ
# ifdef CPU_ABORT_HANDLER
# define MULTI_ABORT 1
# else
-# define CPU_ABORT_HANDLER v5tej_early_abort
+# define CPU_ABORT_HANDLER v5tj_early_abort
# endif
#endif
-#if defined(CONFIG_CPU_XSCALE)
+#ifdef CONFIG_CPU_ABORT_EV5T
# ifdef CPU_ABORT_HANDLER
# define MULTI_ABORT 1
# else
-# define CPU_ABORT_HANDLER xscale_abort
+# define CPU_ABORT_HANDLER v5t_early_abort
# endif
#endif
diff --git a/include/asm-arm/page.h b/include/asm-arm/page.h
index 94aeae2a4fb1..ef71276a0b43 100644
--- a/include/asm-arm/page.h
+++ b/include/asm-arm/page.h
@@ -44,7 +44,7 @@
#undef _USER
#undef MULTI_USER
-#if defined(CONFIG_CPU_ARM610) || defined(CONFIG_CPU_ARM710)
+#ifdef CONFIG_CPU_COPY_V3
# ifdef _USER
# define MULTI_USER 1
# else
@@ -52,7 +52,7 @@
# endif
#endif
-#if defined(CONFIG_CPU_ARM720T)
+#ifdef CONFIG_CPU_COPY_V4WT
# ifdef _USER
# define MULTI_USER 1
# else
@@ -60,9 +60,7 @@
# endif
#endif
-#if defined(CONFIG_CPU_ARM920T) || defined(CONFIG_CPU_ARM922T) || \
- defined(CONFIG_CPU_ARM926T) || defined(CONFIG_CPU_SA110) || \
- defined(CONFIG_CPU_ARM1020)
+#ifdef CONFIG_CPU_COPY_V4WB
# ifdef _USER
# define MULTI_USER 1
# else
@@ -70,7 +68,7 @@
# endif
#endif
-#if defined(CONFIG_CPU_SA1100)
+#ifdef CONFIG_CPU_SA1100
# ifdef _USER
# define MULTI_USER 1
# else
@@ -78,7 +76,7 @@
# endif
#endif
-#if defined(CONFIG_CPU_XSCALE)
+#ifdef CONFIG_CPU_XSCALE
# ifdef _USER
# define MULTI_USER 1
# else
diff --git a/include/asm-arm/pgtable.h b/include/asm-arm/pgtable.h
index 473b238e6fbc..5b23a0a59778 100644
--- a/include/asm-arm/pgtable.h
+++ b/include/asm-arm/pgtable.h
@@ -106,6 +106,7 @@ extern void __pgd_error(const char *file, int line, unsigned long val);
/*
* - extended small page/tiny page
*/
+#define PTE_EXT_AP_MASK (3 << 4)
#define PTE_EXT_AP_UNO_SRO (0 << 4)
#define PTE_EXT_AP_UNO_SRW (1 << 4)
#define PTE_EXT_AP_URO_SRW (2 << 4)
@@ -115,12 +116,11 @@ extern void __pgd_error(const char *file, int line, unsigned long val);
/*
* - small page
*/
+#define PTE_SMALL_AP_MASK (0xff << 4)
#define PTE_SMALL_AP_UNO_SRO (0x00 << 4)
#define PTE_SMALL_AP_UNO_SRW (0x55 << 4)
#define PTE_SMALL_AP_URO_SRW (0xaa << 4)
#define PTE_SMALL_AP_URW_SRW (0xff << 4)
-#define PTE_AP_READ PTE_SMALL_AP_URO_SRW
-#define PTE_AP_WRITE PTE_SMALL_AP_UNO_SRW
/*
* "Linux" PTE definitions.
diff --git a/include/asm-arm/proc-fns.h b/include/asm-arm/proc-fns.h
index 9fcc8a89080c..954da4fb4a04 100644
--- a/include/asm-arm/proc-fns.h
+++ b/include/asm-arm/proc-fns.h
@@ -26,7 +26,6 @@
*/
#ifdef CONFIG_CPU_32
-# define CPU_INCLUDE_NAME "asm/cpu-multi32.h"
# ifdef CONFIG_CPU_ARM610
# ifdef CPU_NAME
# undef MULTI_CPU
@@ -99,6 +98,30 @@
# define CPU_NAME cpu_arm1020
# endif
# endif
+# ifdef CONFIG_CPU_ARM1020E
+# ifdef CPU_NAME
+# undef MULTI_CPU
+# define MULTI_CPU
+# else
+# define CPU_NAME cpu_arm1020e
+# endif
+# endif
+# ifdef CONFIG_CPU_ARM1022
+# ifdef CPU_NAME
+# undef MULTI_CPU
+# define MULTI_CPU
+# else
+# define CPU_NAME cpu_arm1022
+# endif
+# endif
+# ifdef CONFIG_CPU_ARM1026
+# ifdef CPU_NAME
+# undef MULTI_CPU
+# define MULTI_CPU
+# else
+# define CPU_NAME cpu_arm1026
+# endif
+# endif
# ifdef CONFIG_CPU_XSCALE
# ifdef CPU_NAME
# undef MULTI_CPU
@@ -110,11 +133,10 @@
#endif
#ifndef MULTI_CPU
-#undef CPU_INCLUDE_NAME
-#define CPU_INCLUDE_NAME "asm/cpu-single.h"
+#include "asm/cpu-single.h"
+#else
+#include "asm/cpu-multi32.h"
#endif
-#include CPU_INCLUDE_NAME
-
#endif /* __KERNEL__ */
#endif /* __ASM_PROCFNS_H */
diff --git a/include/asm-arm/tlbflush.h b/include/asm-arm/tlbflush.h
index 6fdcc6ffeb0c..1a908d30a18b 100644
--- a/include/asm-arm/tlbflush.h
+++ b/include/asm-arm/tlbflush.h
@@ -52,7 +52,7 @@
#define v3_tlb_flags (TLB_V3_FULL | TLB_V3_PAGE)
-#if defined(CONFIG_CPU_ARM610) || defined(CONFIG_CPU_ARM710)
+#ifdef CONFIG_CPU_TLB_V3
# define v3_possible_flags v3_tlb_flags
# define v3_always_flags v3_tlb_flags
# ifdef _TLB
@@ -67,7 +67,7 @@
#define v4_tlb_flags (TLB_V4_U_FULL | TLB_V4_U_PAGE)
-#if defined(CONFIG_CPU_ARM720T)
+#ifdef CONFIG_CPU_TLB_V4WT
# define v4_possible_flags v4_tlb_flags
# define v4_always_flags v4_tlb_flags
# ifdef _TLB
@@ -84,9 +84,7 @@
TLB_V4_I_FULL | TLB_V4_D_FULL | \
TLB_V4_I_PAGE | TLB_V4_D_PAGE)
-#if defined(CONFIG_CPU_ARM920T) || defined(CONFIG_CPU_ARM922T) || \
- defined(CONFIG_CPU_ARM926T) || defined(CONFIG_CPU_ARM1020) || \
- defined(CONFIG_CPU_XSCALE)
+#ifdef CONFIG_CPU_TLB_V4WBI
# define v4wbi_possible_flags v4wbi_tlb_flags
# define v4wbi_always_flags v4wbi_tlb_flags
# ifdef _TLB
@@ -103,7 +101,7 @@
TLB_V4_I_FULL | TLB_V4_D_FULL | \
TLB_V4_D_PAGE)
-#if defined(CONFIG_CPU_SA110) || defined(CONFIG_CPU_SA1100)
+#ifdef CONFIG_CPU_TLB_V4WB
# define v4wb_possible_flags v4wb_tlb_flags
# define v4wb_always_flags v4wb_tlb_flags
# ifdef _TLB
@@ -121,7 +119,7 @@
TLB_V6_I_PAGE | TLB_V6_D_PAGE | \
TLB_V6_I_ASID | TLB_V6_D_ASID)
-#if defined(CONFIG_CPU_V6)
+#ifdef CONFIG_CPU_TLB_V6
# define v6wbi_possible_flags v6wbi_tlb_flags
# define v6wbi_always_flags v6wbi_tlb_flags
# ifdef _TLB