frv: fix kernel/user segment handling in NOMMU mode
authorDavid Howells <dhowells@redhat.com>
Tue, 6 Apr 2010 21:35:09 +0000 (14:35 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 7 Apr 2010 15:38:05 +0000 (08:38 -0700)
commit08dc179b9b00cfbed006ae6f5d0e471ef79dc69c
treee16cc9ee894fdd78e6a427abc68060067c34f0fc
parentea56f411ec2d4d8689eb7f3bcd24e860acf87c47
frv: fix kernel/user segment handling in NOMMU mode

In NOMMU mode, the FRV segment handling is broken because KERNEL_DS ==
USER_DS.  This causes tests of the following sort:

/* don't pin down non-user-based iovecs */
if (segment_eq(get_fs(), KERNEL_DS))
return NULL;

to malfunction.

To fix this, make USER_DS the top of RAM instead of the top of the non-IO
address space, and make KERNEL_DS one more than the top of the non-IO
address space.

Also get rid of FRV's __addr_ok() as nothing uses it.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/frv/include/asm/segment.h
arch/frv/include/asm/uaccess.h