Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a0a54d37 authored by Russell King's avatar Russell King
Browse files

Revert "ARM: 6944/1: mm: allow ASID 0 to be allocated to tasks"



This reverts commit 45b95235.

Will Deacon reports that:

 In 52af9c6c ("ARM: 6943/1: mm: use TTBR1 instead of reserved context ID")
 I updated the ASID rollover code to use only the kernel page tables
 whilst updating the ASID.

 Unfortunately, the code to restore the user page tables was part of a
 later patch which isn't yet in mainline, so this leaves the code
 quite broken.

We're also in the process of eliminating __ARCH_WANT_INTERRUPTS_ON_CTXSW
from ARM, so lets revert these until we can properly sort out what we're
doing with the context switching.

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 07989b7a
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ static void reset_context(void *info)
		return;

	smp_rmb();
	asid = cpu_last_asid + cpu;
	asid = cpu_last_asid + cpu + 1;

	flush_context();
	set_mm_context(mm, asid);
@@ -143,13 +143,13 @@ void __new_context(struct mm_struct *mm)
	 * to start a new version and flush the TLB.
	 */
	if (unlikely((asid & ~ASID_MASK) == 0)) {
		asid = cpu_last_asid + smp_processor_id();
		asid = cpu_last_asid + smp_processor_id() + 1;
		flush_context();
#ifdef CONFIG_SMP
		smp_wmb();
		smp_call_function(reset_context, NULL, 1);
#endif
		cpu_last_asid += NR_CPUS - 1;
		cpu_last_asid += NR_CPUS;
	}

	set_mm_context(mm, asid);