Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 9542
b: refs/heads/master
c: d70ddac
h: refs/heads/master
v: v3
  • Loading branch information
Richard Henderson authored and Linus Torvalds committed Oct 2, 2005
1 parent ac22acc commit 6e20aab
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b620cc2cd80393b9a0f9a76806cb7f9e91671dac
refs/heads/master: d70ddac1bf3a8b102996588010ca87018c3a4a04
1 change: 1 addition & 0 deletions trunk/arch/alpha/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ entUna:
stq $26, 208($sp)
stq $27, 216($sp)
stq $28, 224($sp)
mov $sp, $19
stq $gp, 232($sp)
lda $8, 0x3fff
stq $31, 248($sp)
Expand Down
15 changes: 7 additions & 8 deletions trunk/arch/alpha/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -446,16 +446,15 @@ struct unaligned_stat {


/* Macro for exception fixup code to access integer registers. */
#define una_reg(r) (regs.regs[(r) >= 16 && (r) <= 18 ? (r)+19 : (r)])
#define una_reg(r) (regs->regs[(r) >= 16 && (r) <= 18 ? (r)+19 : (r)])


asmlinkage void
do_entUna(void * va, unsigned long opcode, unsigned long reg,
unsigned long a3, unsigned long a4, unsigned long a5,
struct allregs regs)
struct allregs *regs)
{
long error, tmp1, tmp2, tmp3, tmp4;
unsigned long pc = regs.pc - 4;
unsigned long pc = regs->pc - 4;
const struct exception_table_entry *fixup;

unaligned[0].count++;
Expand Down Expand Up @@ -636,7 +635,7 @@ do_entUna(void * va, unsigned long opcode, unsigned long reg,
printk("Forwarding unaligned exception at %lx (%lx)\n",
pc, newpc);

(&regs)->pc = newpc;
regs->pc = newpc;
return;
}

Expand All @@ -650,7 +649,7 @@ do_entUna(void * va, unsigned long opcode, unsigned long reg,
current->comm, current->pid);

printk("pc = [<%016lx>] ra = [<%016lx>] ps = %04lx\n",
pc, una_reg(26), regs.ps);
pc, una_reg(26), regs->ps);
printk("r0 = %016lx r1 = %016lx r2 = %016lx\n",
una_reg(0), una_reg(1), una_reg(2));
printk("r3 = %016lx r4 = %016lx r5 = %016lx\n",
Expand All @@ -670,10 +669,10 @@ do_entUna(void * va, unsigned long opcode, unsigned long reg,
una_reg(22), una_reg(23), una_reg(24));
printk("r25= %016lx r27= %016lx r28= %016lx\n",
una_reg(25), una_reg(27), una_reg(28));
printk("gp = %016lx sp = %p\n", regs.gp, &regs+1);
printk("gp = %016lx sp = %p\n", regs->gp, regs+1);

dik_show_code((unsigned int *)pc);
dik_show_trace((unsigned long *)(&regs+1));
dik_show_trace((unsigned long *)(regs+1));

if (test_and_set_thread_flag (TIF_DIE_IF_KERNEL)) {
printk("die_if_kernel recursion detected.\n");
Expand Down

0 comments on commit 6e20aab

Please sign in to comment.