]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
sh: Fix up proc ASIDs for CPU-local ASID cache accessors.
authorPaul Mundt <lethal@linux-sh.org>
Wed, 21 Nov 2007 08:07:46 +0000 (17:07 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 28 Jan 2008 04:18:53 +0000 (13:18 +0900)
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/kernel/process_64.c

index 92d01465eb87a916653e7b995e1dab98fa176611..2dd97eecb44c2d9abe360e2ef87e276837f1dc96 100644 (file)
@@ -27,6 +27,7 @@
 #include <linux/io.h>
 #include <asm/uaccess.h>
 #include <asm/pgtable.h>
+#include <asm/mmu_context.h>
 
 struct task_struct *last_task_used_math = NULL;
 
@@ -674,17 +675,14 @@ asids_proc_info(char *buf, char **start, off_t fpos, int length, int *eof, void
        read_lock(&tasklist_lock);
        for_each_process(p) {
                int pid = p->pid;
-               struct mm_struct *mm;
-               if (!pid) continue;
-               mm = p->mm;
-               if (mm) {
-                       unsigned long asid, context;
-                       context = mm->context;
-                       asid = (context & 0xff);
-                       len += sprintf(buf+len, "%5d : %02lx\n", pid, asid);
-               } else {
+
+               if (!pid)
+                       continue;
+               if (p->mm)
+                       len += sprintf(buf+len, "%5d : %02lx\n", pid,
+                                      asid_cache(smp_processor_id()));
+               else
                        len += sprintf(buf+len, "%5d : (none)\n", pid);
-               }
        }
        read_unlock(&tasklist_lock);
        *eof = 1;