diff options
| -rw-r--r-- | arch/sparc64/kernel/process.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c index c04dd1e23968..92b3948a0a78 100644 --- a/arch/sparc64/kernel/process.c +++ b/arch/sparc64/kernel/process.c @@ -424,10 +424,10 @@ void flush_thread(void) struct thread_info *t = current_thread_info(); if (t->task->mm) { + unsigned long pgd_cache = 0UL; if (test_thread_flag(TIF_32BIT)) { struct mm_struct *mm = t->task->mm; pgd_t *pgd0 = &mm->pgd[0]; - unsigned long pgd_cache; if (pgd_none(*pgd0)) { pmd_t *page = pmd_alloc_one_fast(NULL, 0); @@ -436,13 +436,13 @@ void flush_thread(void) pgd_set(pgd0, page); } pgd_cache = pgd_val(*pgd0) << 11UL; - __asm__ __volatile__("stxa %0, [%1] %2\n\t" - "membar #Sync" - : /* no outputs */ - : "r" (pgd_cache), - "r" (TSB_REG), - "i" (ASI_DMMU)); } + __asm__ __volatile__("stxa %0, [%1] %2\n\t" + "membar #Sync" + : /* no outputs */ + : "r" (pgd_cache), + "r" (TSB_REG), + "i" (ASI_DMMU)); } set_thread_wsaved(0); |
