diff options
author | Konrad Eisele <konrad@gaisler.com> | 2009-08-16 20:13:31 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-17 21:32:10 -0400 |
commit | 0fd7ef1fe0e6e70c7851ce65a2eb8a8d3f49147e (patch) | |
tree | 5acde580b44e055ce38660bd4185f0da2f1f6468 /arch/sparc/mm | |
parent | 97fb58fa9bb509b49090a1c62ed1b660d518c66b (diff) |
sparc,leon: Introduce the sparc-leon CPU type.
Add sparc_leon enum, M_LEON|M_LEON3_SOC machine. Add compilation of
leon.c in mm and kernel
if CONFIG_SPARC_LEON is defined. Add sparc_leon dependent
initialization to switch statements + head.S.
Signed-off-by: Konrad Eisele <konrad@gaisler.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/mm')
-rw-r--r-- | arch/sparc/mm/Makefile | 1 | ||||
-rw-r--r-- | arch/sparc/mm/init_32.c | 4 | ||||
-rw-r--r-- | arch/sparc/mm/loadmmu.c | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/arch/sparc/mm/Makefile b/arch/sparc/mm/Makefile index 681abe0a4594..79836a7dd00c 100644 --- a/arch/sparc/mm/Makefile +++ b/arch/sparc/mm/Makefile | |||
@@ -11,6 +11,7 @@ obj-$(CONFIG_SPARC32) += loadmmu.o | |||
11 | obj-y += generic_$(BITS).o | 11 | obj-y += generic_$(BITS).o |
12 | obj-$(CONFIG_SPARC32) += extable.o btfixup.o srmmu.o iommu.o io-unit.o | 12 | obj-$(CONFIG_SPARC32) += extable.o btfixup.o srmmu.o iommu.o io-unit.o |
13 | obj-$(CONFIG_SPARC32) += hypersparc.o viking.o tsunami.o swift.o | 13 | obj-$(CONFIG_SPARC32) += hypersparc.o viking.o tsunami.o swift.o |
14 | obj-$(CONFIG_SPARC_LEON)+= leon_mm.o | ||
14 | 15 | ||
15 | # Only used by sparc64 | 16 | # Only used by sparc64 |
16 | obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o | 17 | obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o |
diff --git a/arch/sparc/mm/init_32.c b/arch/sparc/mm/init_32.c index 26bb3919ff1f..54114ad0bdee 100644 --- a/arch/sparc/mm/init_32.c +++ b/arch/sparc/mm/init_32.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <asm/pgalloc.h> /* bug in asm-generic/tlb.h: check_pgt_cache */ | 34 | #include <asm/pgalloc.h> /* bug in asm-generic/tlb.h: check_pgt_cache */ |
35 | #include <asm/tlb.h> | 35 | #include <asm/tlb.h> |
36 | #include <asm/prom.h> | 36 | #include <asm/prom.h> |
37 | #include <asm/leon.h> | ||
37 | 38 | ||
38 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); | 39 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); |
39 | 40 | ||
@@ -326,6 +327,9 @@ void __init paging_init(void) | |||
326 | sparc_unmapped_base = 0xe0000000; | 327 | sparc_unmapped_base = 0xe0000000; |
327 | BTFIXUPSET_SETHI(sparc_unmapped_base, 0xe0000000); | 328 | BTFIXUPSET_SETHI(sparc_unmapped_base, 0xe0000000); |
328 | break; | 329 | break; |
330 | case sparc_leon: | ||
331 | leon_init(); | ||
332 | /* fall through */ | ||
329 | case sun4m: | 333 | case sun4m: |
330 | case sun4d: | 334 | case sun4d: |
331 | srmmu_paging_init(); | 335 | srmmu_paging_init(); |
diff --git a/arch/sparc/mm/loadmmu.c b/arch/sparc/mm/loadmmu.c index 652be05acbea..82ec8f666036 100644 --- a/arch/sparc/mm/loadmmu.c +++ b/arch/sparc/mm/loadmmu.c | |||
@@ -33,6 +33,7 @@ void __init load_mmu(void) | |||
33 | break; | 33 | break; |
34 | case sun4m: | 34 | case sun4m: |
35 | case sun4d: | 35 | case sun4d: |
36 | case sparc_leon: | ||
36 | ld_mmu_srmmu(); | 37 | ld_mmu_srmmu(); |
37 | break; | 38 | break; |
38 | default: | 39 | default: |