Loading arch/blackfin/kernel/kgdb_test.c +21 −23 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <asm/blackfin.h> /* Symbols are here for kgdb test to poke directly */ static char cmdline[256]; static size_t len; Loading @@ -27,11 +28,10 @@ void kgdb_l1_test(void) __attribute__((l1_text)); void kgdb_l1_test(void) { printk(KERN_ALERT "L1(before change) : data variable addr = 0x%p, data value is %d\n", &num1, num1); printk(KERN_ALERT "L1 : code function addr = 0x%p\n", kgdb_l1_test); pr_alert("L1(before change) : data variable addr = 0x%p, data value is %d\n", &num1, num1); pr_alert("L1 : code function addr = 0x%p\n", kgdb_l1_test); num1 = num1 + 10; printk(KERN_ALERT "L1(after change) : data variable addr = 0x%p, data value is %d\n", &num1, num1); return ; pr_alert("L1(after change) : data variable addr = 0x%p, data value is %d\n", &num1, num1); } #endif Loading @@ -42,11 +42,10 @@ void kgdb_l2_test(void) __attribute__((l2)); void kgdb_l2_test(void) { printk(KERN_ALERT "L2(before change) : data variable addr = 0x%p, data value is %d\n", &num2, num2); printk(KERN_ALERT "L2 : code function addr = 0x%p\n", kgdb_l2_test); pr_alert("L2(before change) : data variable addr = 0x%p, data value is %d\n", &num2, num2); pr_alert("L2 : code function addr = 0x%p\n", kgdb_l2_test); num2 = num2 + 20; printk(KERN_ALERT "L2(after change) : data variable addr = 0x%p, data value is %d\n", &num2, num2); return ; pr_alert("L2(after change) : data variable addr = 0x%p, data value is %d\n", &num2, num2); } #endif Loading @@ -54,12 +53,13 @@ void kgdb_l2_test(void) int kgdb_test(char *name, int len, int count, int z) { printk(KERN_ALERT "kgdb name(%d): %s, %d, %d\n", len, name, count, z); pr_alert("kgdb name(%d): %s, %d, %d\n", len, name, count, z); count = z; return count; } static ssize_t kgdb_test_proc_read(struct file *file, char __user *buf, static ssize_t kgdb_test_proc_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) { kgdb_test("hello world!", 12, 0x55, 0x10); Loading @@ -73,14 +73,11 @@ static ssize_t kgdb_test_proc_read(struct file *file, char __user *buf, return 0; } static ssize_t kgdb_test_proc_write(struct file *file, const char __user *buffer, size_t count, loff_t *pos) static ssize_t kgdb_test_proc_write(struct file *file, const char __user *buffer, size_t count, loff_t *pos) { if (count >= 256) len = 255; else len = count; len = min_t(size_t, 255, count); memcpy(cmdline, buffer, count); cmdline[len] = 0; Loading @@ -100,6 +97,7 @@ static int __init kgdbtest_init(void) entry = proc_create("kgdbtest", 0, NULL, &kgdb_test_proc_fops); if (entry == NULL) return -ENOMEM; return 0; } Loading Loading
arch/blackfin/kernel/kgdb_test.c +21 −23 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <asm/blackfin.h> /* Symbols are here for kgdb test to poke directly */ static char cmdline[256]; static size_t len; Loading @@ -27,11 +28,10 @@ void kgdb_l1_test(void) __attribute__((l1_text)); void kgdb_l1_test(void) { printk(KERN_ALERT "L1(before change) : data variable addr = 0x%p, data value is %d\n", &num1, num1); printk(KERN_ALERT "L1 : code function addr = 0x%p\n", kgdb_l1_test); pr_alert("L1(before change) : data variable addr = 0x%p, data value is %d\n", &num1, num1); pr_alert("L1 : code function addr = 0x%p\n", kgdb_l1_test); num1 = num1 + 10; printk(KERN_ALERT "L1(after change) : data variable addr = 0x%p, data value is %d\n", &num1, num1); return ; pr_alert("L1(after change) : data variable addr = 0x%p, data value is %d\n", &num1, num1); } #endif Loading @@ -42,11 +42,10 @@ void kgdb_l2_test(void) __attribute__((l2)); void kgdb_l2_test(void) { printk(KERN_ALERT "L2(before change) : data variable addr = 0x%p, data value is %d\n", &num2, num2); printk(KERN_ALERT "L2 : code function addr = 0x%p\n", kgdb_l2_test); pr_alert("L2(before change) : data variable addr = 0x%p, data value is %d\n", &num2, num2); pr_alert("L2 : code function addr = 0x%p\n", kgdb_l2_test); num2 = num2 + 20; printk(KERN_ALERT "L2(after change) : data variable addr = 0x%p, data value is %d\n", &num2, num2); return ; pr_alert("L2(after change) : data variable addr = 0x%p, data value is %d\n", &num2, num2); } #endif Loading @@ -54,12 +53,13 @@ void kgdb_l2_test(void) int kgdb_test(char *name, int len, int count, int z) { printk(KERN_ALERT "kgdb name(%d): %s, %d, %d\n", len, name, count, z); pr_alert("kgdb name(%d): %s, %d, %d\n", len, name, count, z); count = z; return count; } static ssize_t kgdb_test_proc_read(struct file *file, char __user *buf, static ssize_t kgdb_test_proc_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) { kgdb_test("hello world!", 12, 0x55, 0x10); Loading @@ -73,14 +73,11 @@ static ssize_t kgdb_test_proc_read(struct file *file, char __user *buf, return 0; } static ssize_t kgdb_test_proc_write(struct file *file, const char __user *buffer, size_t count, loff_t *pos) static ssize_t kgdb_test_proc_write(struct file *file, const char __user *buffer, size_t count, loff_t *pos) { if (count >= 256) len = 255; else len = count; len = min_t(size_t, 255, count); memcpy(cmdline, buffer, count); cmdline[len] = 0; Loading @@ -100,6 +97,7 @@ static int __init kgdbtest_init(void) entry = proc_create("kgdbtest", 0, NULL, &kgdb_test_proc_fops); if (entry == NULL) return -ENOMEM; return 0; } Loading