lkml.org 
[lkml]   [2005]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [RFC][PATCH 5/7] Common code for the activemem map
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 <hari@in.ibm.com>
---

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);
_
\
 
 \ /
  Last update: 2005-04-06 13:30    [W:0.040 / U:0.596 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site