aboutsummaryrefslogtreecommitdiff
path: root/arch/microblaze/mm
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2009-07-21 12:48:01 +0200
committerMichal Simek <monstr@monstr.eu>2009-07-27 09:03:15 +0200
commit3863dbceac7e69642b95f43de1c12c6236fdbe5b (patch)
treed6e9a0d01784ca1c9e321971a3571fe2bf8b17dc /arch/microblaze/mm
parent94ad8eb854cbc1cf875a318f9b97314ddc6b1560 (diff)
downloadlinux-3863dbceac7e69642b95f43de1c12c6236fdbe5b.tar.gz
microblaze: Support unaligned address for put/get_user macros
This patch add support for cases where load/store instruction in put/get_user macro gets unaligned pointer to data and this address is not valid. I prevent all cases which can failed. I had to disable first stage of unaligned handler which is used only for noMMU kernel and the whole work is done when interrupt is enabled. You have enable HW support for detect unaligned access in Microblaze. This patch fixed three LTP tests: getpeername01, getsockname01, socketpair01 Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze/mm')
-rw-r--r--arch/microblaze/mm/fault.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/microblaze/mm/fault.c b/arch/microblaze/mm/fault.c
index 398c7611735..d9d249a66ff 100644
--- a/arch/microblaze/mm/fault.c
+++ b/arch/microblaze/mm/fault.c
@@ -69,7 +69,7 @@ static int store_updates_sp(struct pt_regs *regs)
* It is called from do_page_fault above and from some of the procedures
* in traps.c.
*/
-static void bad_page_fault(struct pt_regs *regs, unsigned long address, int sig)
+void bad_page_fault(struct pt_regs *regs, unsigned long address, int sig)
{
const struct exception_table_entry *fixup;
/* MS: no context */