diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-19 21:16:20 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-19 21:16:20 -0400 |
commit | e4d806377b069881f930089bf880918d3ad555ab (patch) | |
tree | ed03416ddaa770bed16880ffea32b9b71dd5c7c7 /arch/sh | |
parent | b50df7d1fb37eb6aea87590b391d7111fde87121 (diff) | |
parent | 3f7581d66ece6b7ff643c8c817bfbd72cdbe9077 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
serial: sh-sci: remove duplicated #include
sh: Export uncached helper symbols.
sh: Fix up NUMA build for 29-bit.
serial: sh-sci: Fix build failure for non-sh architectures.
sh: Fix up uncached offset for legacy 29-bit mode.
sh: Support CPU affinity masks for INTC controllers.
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/include/asm/mmu.h | 7 | ||||
-rw-r--r-- | arch/sh/mm/uncached.c | 9 |
2 files changed, 16 insertions, 0 deletions
diff --git a/arch/sh/include/asm/mmu.h b/arch/sh/include/asm/mmu.h index 19fe84550b49..56e4418c19b9 100644 --- a/arch/sh/include/asm/mmu.h +++ b/arch/sh/include/asm/mmu.h | |||
@@ -66,6 +66,13 @@ int pmb_unmap(void __iomem *addr); | |||
66 | 66 | ||
67 | #else | 67 | #else |
68 | 68 | ||
69 | static inline int | ||
70 | pmb_bolt_mapping(unsigned long virt, phys_addr_t phys, | ||
71 | unsigned long size, pgprot_t prot) | ||
72 | { | ||
73 | return -EINVAL; | ||
74 | } | ||
75 | |||
69 | static inline void __iomem * | 76 | static inline void __iomem * |
70 | pmb_remap_caller(phys_addr_t phys, unsigned long size, | 77 | pmb_remap_caller(phys_addr_t phys, unsigned long size, |
71 | pgprot_t prot, void *caller) | 78 | pgprot_t prot, void *caller) |
diff --git a/arch/sh/mm/uncached.c b/arch/sh/mm/uncached.c index cf20a5c5136a..8a4eca551fc0 100644 --- a/arch/sh/mm/uncached.c +++ b/arch/sh/mm/uncached.c | |||
@@ -1,6 +1,8 @@ | |||
1 | #include <linux/init.h> | 1 | #include <linux/init.h> |
2 | #include <linux/module.h> | ||
2 | #include <asm/sizes.h> | 3 | #include <asm/sizes.h> |
3 | #include <asm/page.h> | 4 | #include <asm/page.h> |
5 | #include <asm/addrspace.h> | ||
4 | 6 | ||
5 | /* | 7 | /* |
6 | * This is the offset of the uncached section from its cached alias. | 8 | * This is the offset of the uncached section from its cached alias. |
@@ -15,15 +17,22 @@ | |||
15 | unsigned long cached_to_uncached = SZ_512M; | 17 | unsigned long cached_to_uncached = SZ_512M; |
16 | unsigned long uncached_size = SZ_512M; | 18 | unsigned long uncached_size = SZ_512M; |
17 | unsigned long uncached_start, uncached_end; | 19 | unsigned long uncached_start, uncached_end; |
20 | EXPORT_SYMBOL(uncached_start); | ||
21 | EXPORT_SYMBOL(uncached_end); | ||
18 | 22 | ||
19 | int virt_addr_uncached(unsigned long kaddr) | 23 | int virt_addr_uncached(unsigned long kaddr) |
20 | { | 24 | { |
21 | return (kaddr >= uncached_start) && (kaddr < uncached_end); | 25 | return (kaddr >= uncached_start) && (kaddr < uncached_end); |
22 | } | 26 | } |
27 | EXPORT_SYMBOL(virt_addr_uncached); | ||
23 | 28 | ||
24 | void __init uncached_init(void) | 29 | void __init uncached_init(void) |
25 | { | 30 | { |
31 | #ifdef CONFIG_29BIT | ||
32 | uncached_start = P2SEG; | ||
33 | #else | ||
26 | uncached_start = memory_end; | 34 | uncached_start = memory_end; |
35 | #endif | ||
27 | uncached_end = uncached_start + uncached_size; | 36 | uncached_end = uncached_start + uncached_size; |
28 | } | 37 | } |
29 | 38 | ||