summaryrefslogtreecommitdiffstats
path: root/arch/alpha/kernel/irq_alpha.c
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2006-10-08 15:44:38 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-08 21:32:36 +0200
commit4fa1970a23bf8fc68e86b65a87c32556e20a6be6 (patch)
treeb6b46dd929623c302b3c3732cbeb5dbff2f7e95f /arch/alpha/kernel/irq_alpha.c
parent[PATCH] alpha pt_regs cleanups: handle_irq() (diff)
downloadlinux-4fa1970a23bf8fc68e86b65a87c32556e20a6be6.tar.xz
linux-4fa1970a23bf8fc68e86b65a87c32556e20a6be6.zip
[PATCH] alpha pt_regs cleanups: machine_check()
do set_irq_regs() in caller, kill pt_regs argument. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/alpha/kernel/irq_alpha.c')
-rw-r--r--arch/alpha/kernel/irq_alpha.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/alpha/kernel/irq_alpha.c b/arch/alpha/kernel/irq_alpha.c
index 51d66b7f99e3..6dd126b8be85 100644
--- a/arch/alpha/kernel/irq_alpha.c
+++ b/arch/alpha/kernel/irq_alpha.c
@@ -72,7 +72,9 @@ do_entInt(unsigned long type, unsigned long vector,
set_irq_regs(old_regs);
return;
case 2:
- alpha_mv.machine_check(vector, la_ptr, regs);
+ old_regs = set_irq_regs(regs);
+ alpha_mv.machine_check(vector, la_ptr);
+ set_irq_regs(old_regs);
return;
case 3:
old_regs = set_irq_regs(regs);
@@ -125,8 +127,7 @@ struct mcheck_info __mcheck_info;
void
process_mcheck_info(unsigned long vector, unsigned long la_ptr,
- struct pt_regs *regs, const char *machine,
- int expected)
+ const char *machine, int expected)
{
struct el_common *mchk_header;
const char *reason;
@@ -153,7 +154,7 @@ process_mcheck_info(unsigned long vector, unsigned long la_ptr,
mchk_header = (struct el_common *)la_ptr;
printk(KERN_CRIT "%s machine check: vector=0x%lx pc=0x%lx code=0x%x\n",
- machine, vector, regs->pc, mchk_header->code);
+ machine, vector, get_irq_regs()->pc, mchk_header->code);
switch (mchk_header->code) {
/* Machine check reasons. Defined according to PALcode sources. */
@@ -194,7 +195,7 @@ process_mcheck_info(unsigned long vector, unsigned long la_ptr,
printk(KERN_CRIT "machine check type: %s%s\n",
reason, mchk_header->retry ? " (retryable)" : "");
- dik_show_regs(regs, NULL);
+ dik_show_regs(get_irq_regs(), NULL);
#ifdef CONFIG_VERBOSE_MCHECK
if (alpha_verbose_mcheck > 1) {