aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-mips/mach-generic
diff options
context:
space:
mode:
authorFranck Bui-Huu <fbuihuu@gmail.com>2007-06-04 11:46:31 -0400
committerRalf Baechle <ralf@linux-mips.org>2007-07-10 12:32:57 -0400
commit09bb9ce15f6e0daba70b7e6978f233ffe2d356eb (patch)
treed2b69fa3c61744da997251eb4a2a1ccab9bdc4e0 /include/asm-mips/mach-generic
parent69ed25b895b01216b392b60ad3b99d1274e1afa8 (diff)
[MIPS] Allow generic spaces.h to be included by platform specific ones
Before this patch, when a platform needed to customize one constant in spaces.h, they need to redefine all of them. Now they can just redefine one constant and include the generic file header at the end: #include <asm/mach-generic/spaces.h> This patch doesn't allow to redefine CAC_BASE, IO_BASE and UNCAC_BASE for 32 bits platforms because there's no need to do so. This will avoid some macro duplications. It's important specially if we'll add complex macros. Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> delete mode 100644 include/asm-mips/mach-ip32/spaces.h
Diffstat (limited to 'include/asm-mips/mach-generic')
-rw-r--r--include/asm-mips/mach-generic/spaces.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/asm-mips/mach-generic/spaces.h b/include/asm-mips/mach-generic/spaces.h
index 0ae9997bc9a8..9a3c521047b8 100644
--- a/include/asm-mips/mach-generic/spaces.h
+++ b/include/asm-mips/mach-generic/spaces.h
@@ -16,13 +16,18 @@
16#define CAC_BASE 0x80000000 16#define CAC_BASE 0x80000000
17#define IO_BASE 0xa0000000 17#define IO_BASE 0xa0000000
18#define UNCAC_BASE 0xa0000000 18#define UNCAC_BASE 0xa0000000
19
20#ifndef MAP_BASE
19#define MAP_BASE 0xc0000000 21#define MAP_BASE 0xc0000000
22#endif
20 23
21/* 24/*
22 * This handles the memory map. 25 * This handles the memory map.
23 * We handle pages at KSEG0 for kernels with 32 bit address space. 26 * We handle pages at KSEG0 for kernels with 32 bit address space.
24 */ 27 */
28#ifndef PAGE_OFFSET
25#define PAGE_OFFSET 0x80000000UL 29#define PAGE_OFFSET 0x80000000UL
30#endif
26 31
27/* 32/*
28 * Memory above this physical address will be considered highmem. 33 * Memory above this physical address will be considered highmem.
@@ -38,11 +43,13 @@
38/* 43/*
39 * This handles the memory map. 44 * This handles the memory map.
40 */ 45 */
46#ifndef PAGE_OFFSET
41#ifdef CONFIG_DMA_NONCOHERENT 47#ifdef CONFIG_DMA_NONCOHERENT
42#define PAGE_OFFSET 0x9800000000000000UL 48#define PAGE_OFFSET 0x9800000000000000UL
43#else 49#else
44#define PAGE_OFFSET 0xa800000000000000UL 50#define PAGE_OFFSET 0xa800000000000000UL
45#endif 51#endif
52#endif
46 53
47/* 54/*
48 * Memory above this physical address will be considered highmem. 55 * Memory above this physical address will be considered highmem.
@@ -53,14 +60,25 @@
53#define HIGHMEM_START (1UL << 59UL) 60#define HIGHMEM_START (1UL << 59UL)
54#endif 61#endif
55 62
63#ifndef CAC_BASE
56#ifdef CONFIG_DMA_NONCOHERENT 64#ifdef CONFIG_DMA_NONCOHERENT
57#define CAC_BASE 0x9800000000000000UL 65#define CAC_BASE 0x9800000000000000UL
58#else 66#else
59#define CAC_BASE 0xa800000000000000UL 67#define CAC_BASE 0xa800000000000000UL
60#endif 68#endif
69#endif
70
71#ifndef IO_BASE
61#define IO_BASE 0x9000000000000000UL 72#define IO_BASE 0x9000000000000000UL
73#endif
74
75#ifndef UNCAC_BASE
62#define UNCAC_BASE 0x9000000000000000UL 76#define UNCAC_BASE 0x9000000000000000UL
77#endif
78
79#ifndef MAP_BASE
63#define MAP_BASE 0xc000000000000000UL 80#define MAP_BASE 0xc000000000000000UL
81#endif
64 82
65#define TO_PHYS(x) ( ((x) & TO_PHYS_MASK)) 83#define TO_PHYS(x) ( ((x) & TO_PHYS_MASK))
66#define TO_CAC(x) (CAC_BASE | ((x) & TO_PHYS_MASK)) 84#define TO_CAC(x) (CAC_BASE | ((x) & TO_PHYS_MASK))