aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-03-19 21:16:20 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-19 21:16:20 -0400
commite4d806377b069881f930089bf880918d3ad555ab (patch)
treeed03416ddaa770bed16880ffea32b9b71dd5c7c7 /arch/sh
parentb50df7d1fb37eb6aea87590b391d7111fde87121 (diff)
parent3f7581d66ece6b7ff643c8c817bfbd72cdbe9077 (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.h7
-rw-r--r--arch/sh/mm/uncached.c9
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
69static inline int
70pmb_bolt_mapping(unsigned long virt, phys_addr_t phys,
71 unsigned long size, pgprot_t prot)
72{
73 return -EINVAL;
74}
75
69static inline void __iomem * 76static inline void __iomem *
70pmb_remap_caller(phys_addr_t phys, unsigned long size, 77pmb_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 @@
15unsigned long cached_to_uncached = SZ_512M; 17unsigned long cached_to_uncached = SZ_512M;
16unsigned long uncached_size = SZ_512M; 18unsigned long uncached_size = SZ_512M;
17unsigned long uncached_start, uncached_end; 19unsigned long uncached_start, uncached_end;
20EXPORT_SYMBOL(uncached_start);
21EXPORT_SYMBOL(uncached_end);
18 22
19int virt_addr_uncached(unsigned long kaddr) 23int 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}
27EXPORT_SYMBOL(virt_addr_uncached);
23 28
24void __init uncached_init(void) 29void __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