summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRussell King <rmk@flint.arm.linux.org.uk>2004-12-17 21:48:57 +0000
committerRussell King <rmk@flint.arm.linux.org.uk>2004-12-17 21:48:57 +0000
commit2440e271a0a8ea5ab3362aea9023673b1147c789 (patch)
tree606d86da960f6157463aee8b42ab65b65150ef4c /include
parentc5c0f92168b621dcc2f52ab469ff70755576984a (diff)
[ARM] Clean up vector support code.
Rather than working out where the vector page is mapped, always map the vector page at the high vectors location, and conditionally handle the coherency issues with the low vector mapping if present.
Diffstat (limited to 'include')
-rw-r--r--include/asm-arm/mach/map.h7
-rw-r--r--include/asm-arm/system.h4
2 files changed, 6 insertions, 5 deletions
diff --git a/include/asm-arm/mach/map.h b/include/asm-arm/mach/map.h
index 2a75545a2d04..0dbac30ed127 100644
--- a/include/asm-arm/mach/map.h
+++ b/include/asm-arm/mach/map.h
@@ -21,9 +21,10 @@ struct meminfo;
#define MT_DEVICE 0
#define MT_CACHECLEAN 1
#define MT_MINICLEAN 2
-#define MT_VECTORS 3
-#define MT_MEMORY 4
-#define MT_ROM 5
+#define MT_LOW_VECTORS 3
+#define MT_HIGH_VECTORS 4
+#define MT_MEMORY 5
+#define MT_ROM 6
extern void create_memmap_holes(struct meminfo *);
extern void memtable_init(struct meminfo *);
diff --git a/include/asm-arm/system.h b/include/asm-arm/system.h
index 53cd8d3a08f2..77d0dcf0b713 100644
--- a/include/asm-arm/system.h
+++ b/include/asm-arm/system.h
@@ -128,9 +128,9 @@ extern unsigned long cr_alignment; /* defined in entry-armv.S */
extern unsigned int user_debug;
#if __LINUX_ARM_ARCH__ >= 4
-#define vectors_base() ((cr_alignment & CR_V) ? 0xffff0000 : 0)
+#define vectors_high() (cr_alignment & CR_V)
#else
-#define vectors_base() (0)
+#define vectors_high() (0)
#endif
#define mb() __asm__ __volatile__ ("" : : : "memory")