summaryrefslogtreecommitdiff
path: root/target/linux/brcm47xx/patches-3.14/152-Revert-MIPS-Delete-unused-function-add_temporary_ent.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm47xx/patches-3.14/152-Revert-MIPS-Delete-unused-function-add_temporary_ent.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.14/152-Revert-MIPS-Delete-unused-function-add_temporary_ent.patch107
1 files changed, 0 insertions, 107 deletions
diff --git a/target/linux/brcm47xx/patches-3.14/152-Revert-MIPS-Delete-unused-function-add_temporary_ent.patch b/target/linux/brcm47xx/patches-3.14/152-Revert-MIPS-Delete-unused-function-add_temporary_ent.patch
deleted file mode 100644
index 7d81016..0000000
--- a/target/linux/brcm47xx/patches-3.14/152-Revert-MIPS-Delete-unused-function-add_temporary_ent.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From d377732c8c9aac14ccb900b65678558b0fb8f0f3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
-Date: Thu, 17 Jul 2014 23:26:32 +0200
-Subject: [PATCH 152/153] Revert "MIPS: Delete unused function
- add_temporary_entry."
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This reverts commit d7a887a73dec6c387b02a966a71aac767bbd9ce6.
-
-Function add_temporary_entry is needed by bcm47xx to support highmem. We
-need to add a temporary entry to check for amount of RAM.
-The only change made in this revert was replacing (ENTER|EXIT)_CRITICAL.
-
-Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
-Cc: linux-mips@linux-mips.org
-Cc: Hauke Mehrtens <hauke@hauke-m.de>
-Patchwork: https://patchwork.linux-mips.org/patch/7395/
-Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
----
- arch/mips/include/asm/pgtable-32.h | 10 ++++++++
- arch/mips/mm/tlb-r4k.c | 47 ++++++++++++++++++++++++++++++++++++++
- 2 files changed, 57 insertions(+)
-
---- a/arch/mips/include/asm/pgtable-32.h
-+++ b/arch/mips/include/asm/pgtable-32.h
-@@ -19,6 +19,16 @@
- #include <asm-generic/pgtable-nopmd.h>
-
- /*
-+ * - add_temporary_entry() add a temporary TLB entry. We use TLB entries
-+ * starting at the top and working down. This is for populating the
-+ * TLB before trap_init() puts the TLB miss handler in place. It
-+ * should be used only for entries matching the actual page tables,
-+ * to prevent inconsistencies.
-+ */
-+extern int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1,
-+ unsigned long entryhi, unsigned long pagemask);
-+
-+/*
- * Basically we have the same two-level (which is the logical three level
- * Linux page table layout folded) page tables as the i386. Some day
- * when we have proper page coloring support we can have a 1% quicker
---- a/arch/mips/mm/tlb-r4k.c
-+++ b/arch/mips/mm/tlb-r4k.c
-@@ -411,6 +411,51 @@ int __init has_transparent_hugepage(void
-
- #endif /* CONFIG_TRANSPARENT_HUGEPAGE */
-
-+/*
-+ * Used for loading TLB entries before trap_init() has started, when we
-+ * don't actually want to add a wired entry which remains throughout the
-+ * lifetime of the system
-+ */
-+
-+static int temp_tlb_entry __cpuinitdata;
-+
-+__init int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1,
-+ unsigned long entryhi, unsigned long pagemask)
-+{
-+ int ret = 0;
-+ unsigned long flags;
-+ unsigned long wired;
-+ unsigned long old_pagemask;
-+ unsigned long old_ctx;
-+
-+ local_irq_save(flags);
-+ /* Save old context and create impossible VPN2 value */
-+ old_ctx = read_c0_entryhi();
-+ old_pagemask = read_c0_pagemask();
-+ wired = read_c0_wired();
-+ if (--temp_tlb_entry < wired) {
-+ printk(KERN_WARNING
-+ "No TLB space left for add_temporary_entry\n");
-+ ret = -ENOSPC;
-+ goto out;
-+ }
-+
-+ write_c0_index(temp_tlb_entry);
-+ write_c0_pagemask(pagemask);
-+ write_c0_entryhi(entryhi);
-+ write_c0_entrylo0(entrylo0);
-+ write_c0_entrylo1(entrylo1);
-+ mtc0_tlbw_hazard();
-+ tlb_write_indexed();
-+ tlbw_use_hazard();
-+
-+ write_c0_entryhi(old_ctx);
-+ write_c0_pagemask(old_pagemask);
-+out:
-+ local_irq_restore(flags);
-+ return ret;
-+}
-+
- static int ntlb;
- static int __init set_ntlb(char *str)
- {
-@@ -448,6 +493,8 @@ void tlb_init(void)
- write_c0_pagegrain(pg);
- }
-
-+ temp_tlb_entry = current_cpu_data.tlbsize - 1;
-+
- /* From this point on the ARC firmware is dead. */
- local_flush_tlb_all();
-