[PATCH 0/8] Fix 8xx MMU/TLB

Rex Feany RFeany at mrv.com
Fri Oct 16 03:56:50 EST 2009


arch/powerpc/kernel/head_8xx.o: In function `FixupDAR':
/home/rfeany/src/lnxnm/linux-dev/arch/powerpc/kernel/head_8xx.S:576: undefined reference to `DARfix'

With all of your patches applied I have this problem:

open("/proc/mounts", O_RDONLY)          = 3
fstat64(0x3, 0x7fc6ad58)                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x3001f000
read(3, 0x3001f000, 1024)               = -1 EFAULT (Bad address)
exit_group(0)                           = ?

but it works fine with /dev/zero:

open("/dev/zero", O_RDONLY)             = 3
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x30001000
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024

If I revert "8xx: start using dcbX instructions in various copy
routines" then it works again. I think it is the cache instructions
added to __copy_tofrom_user: reading from /dev/zero is OK (it uses
__clear_user, no dcbX), but copy_to_user() fails.

It seems stable with all but the dcbX patch applied. I haven't been able
to crash it yet, anyway :)

take care!
/rex.


More information about the Linuxppc-dev mailing list