summaryrefslogtreecommitdiff
path: root/arch/microblaze/mm
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2009-07-21 10:48:01 (GMT)
committerMichal Simek <monstr@monstr.eu>2009-07-27 07:03:15 (GMT)
commit3863dbceac7e69642b95f43de1c12c6236fdbe5b (patch)
treed6e9a0d01784ca1c9e321971a3571fe2bf8b17dc /arch/microblaze/mm
parent94ad8eb854cbc1cf875a318f9b97314ddc6b1560 (diff)
downloadlinux-fsl-qoriq-3863dbceac7e69642b95f43de1c12c6236fdbe5b.tar.xz
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 398c761..d9d249a 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 */