]> err.no Git - linux-2.6/commitdiff
[POWERPC] pseries: phyp dump: Inform kdump when phyp-dump is loaded
authorManish Ahuja <ahuja@austin.ibm.com>
Sat, 22 Mar 2008 00:40:53 +0000 (11:40 +1100)
committerPaul Mackerras <paulus@samba.org>
Tue, 25 Mar 2008 21:44:07 +0000 (08:44 +1100)
This adds /sys/kernel/phyp_dump_active so that kdump init scripts may
look for it and take appropriate action if this file is found.  This
file is only created when phyp_dump has been registered.

Signed-off-by: Manish Ahuja <mahuja@us.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/pseries/phyp_dump.c

index f80f8606c6b8b34d6c11f100e61d863d2598eaeb..7ddd10526ceaf868d793ca905a11a4a5413d1066 100644 (file)
@@ -182,6 +182,18 @@ static void print_dump_header(const struct phyp_dump_header *ph)
 #endif
 }
 
+static ssize_t show_phyp_dump_active(struct kobject *kobj,
+                       struct kobj_attribute *attr, char *buf)
+{
+
+       /* create filesystem entry so kdump is phyp-dump aware */
+       return sprintf(buf, "%lx\n", phyp_dump_info->phyp_dump_at_boot);
+}
+
+static struct kobj_attribute pdl = __ATTR(phyp_dump_active, 0600,
+                                       show_phyp_dump_active,
+                                       NULL);
+
 static void register_dump_area(struct phyp_dump_header *ph, unsigned long addr)
 {
        int rc;
@@ -204,7 +216,13 @@ static void register_dump_area(struct phyp_dump_header *ph, unsigned long addr)
                printk(KERN_ERR "phyp-dump: unexpected error (%d) on "
                                                "register\n", rc);
                print_dump_header(ph);
+               return;
        }
+
+       rc = sysfs_create_file(kernel_kobj, &pdl.attr);
+       if (rc)
+               printk(KERN_ERR "phyp-dump: unable to create sysfs"
+                               " file (%d)\n", rc);
 }
 
 static