Re: [RFC][PATCH 5/7] Common code for the activemem map

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Regards, Hari
---

This patch provides the arch independent code to create the
activemem view in the proc file system. /proc/activemem
reflects the RAM resources that are in use by the kernel. If
the system has been booted with mem= or memmap= options, then
this view will reflect the truncated map.
---

Signed-off-by: Hariprasad Nellitheertha <[email protected]>
---

 linux-2.6.12-rc1-hari/kernel/resource.c |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+)

diff -puN kernel/resource.c~activemem-common kernel/resource.c
--- linux-2.6.12-rc1/kernel/resource.c~activemem-common	2005-03-23 17:48:12.000000000 +0530
+++ linux-2.6.12-rc1-hari/kernel/resource.c	2005-03-23 17:48:12.000000000 +0530
@@ -48,6 +48,15 @@ struct resource physmem_resource = {
 
 EXPORT_SYMBOL(physmem_resource);
 
+struct resource activemem_resource = {
+	.name	= "Active mem",
+	.start	= 0ULL,
+	.end	= ~0ULL,
+	.flags	= IORESOURCE_MEM,
+};
+
+EXPORT_SYMBOL(activemem_resource);
+
 static DEFINE_RWLOCK(resource_lock);
 
 #ifdef CONFIG_PROC_FS
@@ -137,6 +146,16 @@ static int physmem_open(struct inode *in
 	return res;
 }
 
+static int activemem_open(struct inode *inode, struct file *file)
+{
+	int res = seq_open(file, &resource_op);
+	if (!res) {
+		struct seq_file *m = file->private_data;
+		m->private = &activemem_resource;
+	}
+	return res;
+}
+
 static struct file_operations proc_ioports_operations = {
 	.open		= ioports_open,
 	.read		= seq_read,
@@ -158,6 +177,13 @@ static struct file_operations proc_physm
 	.release	= seq_release,
 };
 
+static struct file_operations proc_activemem_operations = {
+	.open		= activemem_open,
+	.read		= seq_read,
+	.llseek		= seq_lseek,
+	.release	= seq_release,
+};
+
 static int __init ioresources_init(void)
 {
 	struct proc_dir_entry *entry;
@@ -171,6 +197,9 @@ static int __init ioresources_init(void)
 	entry = create_proc_entry("physmem", 0, NULL);
 	if (entry)
 		entry->proc_fops = &proc_physmem_operations;
+	entry = create_proc_entry("activemem", 0, NULL);
+	if (entry)
+		entry->proc_fops = &proc_activemem_operations;
 	return 0;
 }
 __initcall(ioresources_init);
_

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux