aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/coldfire/patches/060-m547x_8x_move_memmap.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/coldfire/patches/060-m547x_8x_move_memmap.patch')
-rw-r--r--target/linux/coldfire/patches/060-m547x_8x_move_memmap.patch152
1 files changed, 0 insertions, 152 deletions
diff --git a/target/linux/coldfire/patches/060-m547x_8x_move_memmap.patch b/target/linux/coldfire/patches/060-m547x_8x_move_memmap.patch
deleted file mode 100644
index 01d7a6ea99..0000000000
--- a/target/linux/coldfire/patches/060-m547x_8x_move_memmap.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-From 961a1f1ccbb2121a4e650cd64ca1f5c15b232e18 Mon Sep 17 00:00:00 2001
-From: Kurt Mahan <kmahan@freescale.com>
-Date: Thu, 29 May 2008 22:03:08 -0600
-Subject: [PATCH] Update M547x/M548x memory map.
-
-- Move internal memory
- 0xF0000000 MBAR
- 0xF1000000 MMUBAR
- 0xF3000000 RAMBAR0
- 0xF3001000 RAMBAR1
-
-- Move KMAP area
- 0xD0000000 -> 0xDFFFFFFF
-
-- Update pagefault code for KMAP area
-
-LTIBName: m547x-8x-move-memmap
-Signed-off-by: Kurt Mahan <kmahan@freescale.com>
----
- arch/m68k/coldfire/head.S | 2 +-
- arch/m68k/mm/cf-mmu.c | 20 ++++++++++----------
- arch/m68k/mm/kmap.c | 18 +++++++++++++++---
- include/asm-m68k/coldfire.h | 8 ++++----
- include/asm-m68k/pgtable.h | 4 ++--
- 5 files changed, 32 insertions(+), 20 deletions(-)
-
---- a/arch/m68k/coldfire/head.S
-+++ b/arch/m68k/coldfire/head.S
-@@ -87,7 +87,7 @@
- #else
- #if defined(CONFIG_M54455)
- #elif defined(CONFIG_M547X_8X)
--#define ACR0_DEFAULT #0xE000C040 /* ACR0 default value */
-+#define ACR0_DEFAULT #0xF00FC040 /* ACR0 default value */
- #define ACR1_DEFAULT #0x000FA008 /* ACR1 default value */
- #define ACR2_DEFAULT #0x00000000 /* ACR2 default value */
- #define ACR3_DEFAULT #0x000FA008 /* ACR3 default value */
---- a/arch/m68k/mm/cf-mmu.c
-+++ b/arch/m68k/mm/cf-mmu.c
-@@ -35,11 +35,9 @@
- #include <asm/coldfire.h>
- #include <asm/tlbflush.h>
-
--#if PAGE_OFFSET == CONFIG_SDRAM_BASE
--#define KERNRAM(x) ((x >= PAGE_OFFSET) && (x < (PAGE_OFFSET + CONFIG_SDRAM_SIZE)))
--#else
--#define KERNRAM(x) (x >= PAGE_OFFSET)
--#endif
-+#define KMAPAREA(x) ((x >= KMAP_START) && ( x < KMAP_END))
-+
-+#undef DEBUG
-
- mm_context_t next_mmu_context;
- unsigned long context_map[LAST_CONTEXT / BITS_PER_LONG + 1];
-@@ -162,7 +160,7 @@ int cf_tlb_miss(struct pt_regs *regs, in
- mmuar = ( dtlb ) ? regs->mmuar
- : regs->pc + (extension_word * sizeof(long));
-
-- mm = (!user_mode(regs) && KERNRAM(mmuar)) ? &init_mm : current->mm;
-+ mm = (!user_mode(regs) && KMAPAREA(mmuar)) ? &init_mm : current->mm;
-
- if (!mm) {
- local_irq_restore(flags);
-@@ -181,7 +179,7 @@ int cf_tlb_miss(struct pt_regs *regs, in
- return (-1);
- }
-
-- pte = (KERNRAM(mmuar)) ? pte_offset_kernel(pmd, mmuar)
-+ pte = (KMAPAREA(mmuar)) ? pte_offset_kernel(pmd, mmuar)
- : pte_offset_map(pmd, mmuar);
- if (pte_none(*pte) || !pte_present(*pte)) {
- local_irq_restore(flags);
-@@ -198,7 +196,7 @@ int cf_tlb_miss(struct pt_regs *regs, in
-
- set_pte(pte, pte_mkyoung(*pte));
- asid = mm->context & 0xff;
-- if (!pte_dirty(*pte) && !KERNRAM(mmuar))
-+ if (!pte_dirty(*pte) && !KMAPAREA(mmuar))
- set_pte(pte, pte_wrprotect(*pte));
-
- *MMUTR = (mmuar & PAGE_MASK) | (asid << CF_ASID_MMU_SHIFT)
-@@ -216,8 +214,10 @@ int cf_tlb_miss(struct pt_regs *regs, in
-
- asm("nop");
-
-- /*printk("cf_tlb_miss: va=%lx, pa=%lx\n", (mmuar & PAGE_MASK),
-- (pte_val(*pte) & PAGE_MASK));*/
-+#ifdef DEBUG
-+ printk("cf_tlb_miss: va=%lx, pa=%lx\n", (mmuar & PAGE_MASK),
-+ (pte_val(*pte) & PAGE_MASK));
-+#endif
- local_irq_restore(flags);
- return (0);
- }
---- a/arch/m68k/mm/kmap.c
-+++ b/arch/m68k/mm/kmap.c
-@@ -135,10 +135,22 @@ void __iomem *__ioremap(unsigned long ph
-
- #ifdef CONFIG_M54455
- if (physaddr >= 0xf0000000) {
-- /* short circuit mappings for xf0000000 */
--#ifdef DEBUG
-- printk(KERN_INFO "ioremap: short circuiting 0x%lx mapping\n", physaddr);
-+ /*
-+ * On the M5445x processors an ACR is setup to map
-+ * the 0xF0000000 range into kernel memory as
-+ * non-cacheable.
-+ */
-+ return (void __iomem *)physaddr;
-+ }
- #endif
-+
-+#ifdef CONFIG_M547X_8X
-+ if (physaddr >= 0xf0000000) {
-+ /*
-+ * On the M547x/M548x processors an ACR is setup to map
-+ * the 0xF0000000 range into kernel memory as
-+ * non-cacheable.
-+ */
- return (void __iomem *)physaddr;
- }
- #endif
---- a/include/asm-m68k/coldfire.h
-+++ b/include/asm-m68k/coldfire.h
-@@ -6,10 +6,10 @@
- #define MCF_RAMBAR1 0x40000000
- #define MCF_SRAM 0x80000000
- #elif defined(CONFIG_M547X_8X)
--#define MCF_MBAR 0xE0000000
--#define MCF_MMUBAR 0xE1000000
--#define MCF_RAMBAR0 0xE3000000
--#define MCF_RAMBAR1 0xE3001000
-+#define MCF_MBAR 0xF0000000
-+#define MCF_MMUBAR 0xF1000000
-+#define MCF_RAMBAR0 0xF3000000
-+#define MCF_RAMBAR1 0xF3001000
- #endif
-
- #define MCF_CLK CONFIG_MCFCLK
---- a/include/asm-m68k/pgtable.h
-+++ b/include/asm-m68k/pgtable.h
-@@ -73,8 +73,8 @@
- #define KMAP_START 0x0DC00000
- #define KMAP_END 0x0E000000
- #elif defined(CONFIG_COLDFIRE)
--#define KMAP_START 0xe0000000
--#define KMAP_END 0xf0000000
-+#define KMAP_START 0xd0000000
-+#define KMAP_END 0xe0000000
- #else
- #define KMAP_START 0xd0000000
- #define KMAP_END 0xf0000000