-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Paul Mundt
committed
Dec 22, 2008
1 parent
36dee80
commit 9222bbc
Showing
6 changed files
with
82 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: 4d1f3bbec49a080cae753aaa44dc1fc7277b3e50 | ||
refs/heads/master: a99d6fde69dd9c73ac0b4e42a77ed1ebc714e56a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
/* | ||
* debugfs ops for process ASIDs | ||
* | ||
* Copyright (C) 2000, 2001 Paolo Alberelli | ||
* Copyright (C) 2003 - 2008 Paul Mundt | ||
* Copyright (C) 2003, 2004 Richard Curnow | ||
* | ||
* Provides a debugfs file that lists out the ASIDs currently associated | ||
* with the processes. | ||
* | ||
* In the SH-5 case, if the DM.PC register is examined through the debug | ||
* link, this shows ASID + PC. To make use of this, the PID->ASID | ||
* relationship needs to be known. This is primarily for debugging. | ||
* | ||
* This file is subject to the terms and conditions of the GNU General Public | ||
* License. See the file "COPYING" in the main directory of this archive | ||
* for more details. | ||
*/ | ||
#include <linux/init.h> | ||
#include <linux/module.h> | ||
#include <linux/debugfs.h> | ||
#include <linux/seq_file.h> | ||
#include <linux/spinlock.h> | ||
#include <asm/processor.h> | ||
#include <asm/mmu_context.h> | ||
|
||
static int asids_seq_show(struct seq_file *file, void *iter) | ||
{ | ||
struct task_struct *p; | ||
|
||
read_lock(&tasklist_lock); | ||
|
||
for_each_process(p) { | ||
int pid = p->pid; | ||
|
||
if (unlikely(!pid)) | ||
continue; | ||
|
||
if (p->mm) | ||
seq_printf(file, "%5d : %02x\n", pid, | ||
cpu_asid(smp_processor_id(), p->mm)); | ||
else | ||
seq_printf(file, "%5d : (none)\n", pid); | ||
} | ||
|
||
read_unlock(&tasklist_lock); | ||
|
||
return 0; | ||
} | ||
|
||
static int asids_debugfs_open(struct inode *inode, struct file *file) | ||
{ | ||
return single_open(file, asids_seq_show, inode->i_private); | ||
} | ||
|
||
static const struct file_operations asids_debugfs_fops = { | ||
.owner = THIS_MODULE, | ||
.open = asids_debugfs_open, | ||
.read = seq_read, | ||
.llseek = seq_lseek, | ||
.release = single_release, | ||
}; | ||
|
||
static int __init asids_debugfs_init(void) | ||
{ | ||
struct dentry *asids_dentry; | ||
|
||
asids_dentry = debugfs_create_file("asids", S_IRUSR, sh_debugfs_root, | ||
NULL, &asids_debugfs_fops); | ||
if (!asids_dentry) | ||
return -ENOMEM; | ||
if (IS_ERR(asids_dentry)) | ||
return PTR_ERR(asids_dentry); | ||
|
||
return 0; | ||
} | ||
module_init(asids_debugfs_init); | ||
|
||
MODULE_LICENSE("GPL v2"); |