]> git.baikalelectronics.ru Git - kernel.git/commit
microblaze: Support unaligned address for put/get_user macros
authorMichal Simek <monstr@monstr.eu>
Tue, 21 Jul 2009 10:48:01 +0000 (12:48 +0200)
committerMichal Simek <monstr@monstr.eu>
Mon, 27 Jul 2009 07:03:15 +0000 (09:03 +0200)
commite064b53854e612e327ae23c8133ac96173c2b712
treed6e9a0d01784ca1c9e321971a3571fe2bf8b17dc
parenta491e56d885242bf6b2d33f1dbec93cb24dfa5ee
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>
arch/microblaze/kernel/hw_exception_handler.S
arch/microblaze/mm/fault.c