[PATCH] NOMMU: Implement /proc/pid/maps for NOMMU

Implement /proc/pid/maps for NOMMU by reading the vm_area_list attached to
current->mm->context.vmlist.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
David Howells
2006-09-27 01:50:19 -07:00
committed by Linus Torvalds
parent d00c7b9937
commit dbf8685c8e
5 changed files with 80 additions and 20 deletions
+14 -6
View File
@@ -33,19 +33,15 @@
#include "internal.h"
/*
* display a list of all the VMAs the kernel knows about
* - nommu kernals have a single flat list
* display a single VMA to a sequenced file
*/
static int nommu_vma_list_show(struct seq_file *m, void *v)
int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma)
{
struct vm_area_struct *vma;
unsigned long ino = 0;
struct file *file;
dev_t dev = 0;
int flags, len;
vma = rb_entry((struct rb_node *) v, struct vm_area_struct, vm_rb);
flags = vma->vm_flags;
file = vma->vm_file;
@@ -78,6 +74,18 @@ static int nommu_vma_list_show(struct seq_file *m, void *v)
return 0;
}
/*
* display a list of all the VMAs the kernel knows about
* - nommu kernals have a single flat list
*/
static int nommu_vma_list_show(struct seq_file *m, void *v)
{
struct vm_area_struct *vma;
vma = rb_entry((struct rb_node *) v, struct vm_area_struct, vm_rb);
return nommu_vma_show(m, vma);
}
static void *nommu_vma_list_start(struct seq_file *m, loff_t *_pos)
{
struct rb_node *_rb;