diff options
| author | David S. Miller <davem@sunset.davemloft.net> | 2006-11-30 00:16:21 -0500 |
|---|---|---|
| committer | David S. Miller <davem@sunset.davemloft.net> | 2006-12-10 05:39:51 -0500 |
| commit | a2c1e064c45f5126625121f58afa423e13c55efc (patch) | |
| tree | b895fdd8f89396e05bfab134f3f9e4b18a44f055 | |
| parent | c449c38b5df1fad556ea210deb6cff3b27323e49 (diff) | |
[SPARC64]: Run ctrl-alt-del action for sun4v powerdown request.
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | arch/sparc64/kernel/traps.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c index ec7a60142bec..ad67784292db 100644 --- a/arch/sparc64/kernel/traps.c +++ b/arch/sparc64/kernel/traps.c | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | */ | 10 | */ |
| 11 | 11 | ||
| 12 | #include <linux/module.h> | 12 | #include <linux/module.h> |
| 13 | #include <linux/sched.h> /* for jiffies */ | 13 | #include <linux/sched.h> |
| 14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
| 15 | #include <linux/kallsyms.h> | 15 | #include <linux/kallsyms.h> |
| 16 | #include <linux/signal.h> | 16 | #include <linux/signal.h> |
| @@ -1873,6 +1873,16 @@ void sun4v_resum_error(struct pt_regs *regs, unsigned long offset) | |||
| 1873 | 1873 | ||
| 1874 | put_cpu(); | 1874 | put_cpu(); |
| 1875 | 1875 | ||
| 1876 | if (ent->err_type == SUN4V_ERR_TYPE_WARNING_RES) { | ||
| 1877 | /* If err_type is 0x4, it's a powerdown request. Do | ||
| 1878 | * not do the usual resumable error log because that | ||
| 1879 | * makes it look like some abnormal error. | ||
| 1880 | */ | ||
| 1881 | printk(KERN_INFO "Power down request...\n"); | ||
| 1882 | kill_cad_pid(SIGINT, 1); | ||
| 1883 | return; | ||
| 1884 | } | ||
| 1885 | |||
| 1876 | sun4v_log_error(regs, &local_copy, cpu, | 1886 | sun4v_log_error(regs, &local_copy, cpu, |
| 1877 | KERN_ERR "RESUMABLE ERROR", | 1887 | KERN_ERR "RESUMABLE ERROR", |
| 1878 | &sun4v_resum_oflow_cnt); | 1888 | &sun4v_resum_oflow_cnt); |
