Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 163549
b: refs/heads/master
c: 4aa5ac4
h: refs/heads/master
i:
  163547: c0d29b4
v: v3
  • Loading branch information
Matt Fleming authored and Paul Mundt committed Aug 29, 2009
1 parent a400ae5 commit 04c3144
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 7 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: e79d57479c86e388051244e1f17851a0e63d1ff0
refs/heads/master: 4aa5ac4ef44dd8c986241c54298abd7910b78b3f
2 changes: 1 addition & 1 deletion trunk/arch/sh/include/asm/system_32.h
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ do { \
#endif

int handle_unaligned_access(insn_size_t instruction, struct pt_regs *regs,
struct mem_access *ma);
struct mem_access *ma, int);

asmlinkage void do_address_error(struct pt_regs *regs,
unsigned long writeaccess,
Expand Down
3 changes: 2 additions & 1 deletion trunk/arch/sh/kernel/io_trapped.c
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,8 @@ int handle_trapped_io(struct pt_regs *regs, unsigned long address)
return 0;
}

tmp = handle_unaligned_access(instruction, regs, &trapped_io_access);
tmp = handle_unaligned_access(instruction, regs,
&trapped_io_access, 1);
set_fs(oldfs);
return tmp == 0;
}
9 changes: 5 additions & 4 deletions trunk/arch/sh/kernel/traps_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@ static inline int handle_delayslot(struct pt_regs *regs,
#define SH_PC_12BIT_OFFSET(instr) ((((signed short)(instr<<4))>>3) + 4)

int handle_unaligned_access(insn_size_t instruction, struct pt_regs *regs,
struct mem_access *ma)
struct mem_access *ma, int expected)
{
u_int rm;
int ret, index;
Expand All @@ -458,7 +458,7 @@ int handle_unaligned_access(insn_size_t instruction, struct pt_regs *regs,
rm = regs->regs[index];

/* shout about fixups */
if (printk_ratelimit())
if (!expected && printk_ratelimit())
printk(KERN_NOTICE "Fixing up unaligned %s access "
"in \"%s\" pid=%d pc=0x%p ins=0x%04hx\n",
user_mode(regs) ? "userspace" : "kernel",
Expand Down Expand Up @@ -657,7 +657,7 @@ asmlinkage void do_address_error(struct pt_regs *regs,

set_fs(USER_DS);
tmp = handle_unaligned_access(instruction, regs,
&user_mem_access);
&user_mem_access, 0);
set_fs(oldfs);

if (tmp==0)
Expand Down Expand Up @@ -694,7 +694,8 @@ asmlinkage void do_address_error(struct pt_regs *regs,
die("insn faulting in do_address_error", regs, 0);
}

handle_unaligned_access(instruction, regs, &user_mem_access);
handle_unaligned_access(instruction, regs,
&user_mem_access, 0);
set_fs(oldfs);
}
}
Expand Down

0 comments on commit 04c3144

Please sign in to comment.