From dda0383bbb5c3cac33c28cdd4e793cc4a165cae8 Mon Sep 17 00:00:00 2001 From: Will Deacon Date: Fri, 24 Aug 2012 15:21:52 +0100 Subject: [PATCH] --- yaml --- r: 322628 b: refs/heads/master c: ae3790b8a916429be5fa61da95992929e6b34d64 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/mm/context.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 84f164fa5420..28a1b6c38201 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dbece45894d3ab1baac15a96dc4e1e8e23f64a93 +refs/heads/master: ae3790b8a916429be5fa61da95992929e6b34d64 diff --git a/trunk/arch/arm/mm/context.c b/trunk/arch/arm/mm/context.c index 119bc52ab93e..4e07eec1270d 100644 --- a/trunk/arch/arm/mm/context.c +++ b/trunk/arch/arm/mm/context.c @@ -63,10 +63,11 @@ static int contextidr_notifier(struct notifier_block *unused, unsigned long cmd, pid = task_pid_nr(thread->task) << ASID_BITS; asm volatile( " mrc p15, 0, %0, c13, c0, 1\n" - " bfi %1, %0, #0, %2\n" - " mcr p15, 0, %1, c13, c0, 1\n" + " and %0, %0, %2\n" + " orr %0, %0, %1\n" + " mcr p15, 0, %0, c13, c0, 1\n" : "=r" (contextidr), "+r" (pid) - : "I" (ASID_BITS)); + : "I" (~ASID_MASK)); isb(); return NOTIFY_OK;