Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: TLS register access trapping failure on Orion



On Sat, Feb 11, 2012 at 10:52:06AM -0600, Jonathan A. Kollasch wrote:
> 
> I'm running a recent -current evbarm on my Marvell Orion box (HP MV2120).
> All pthreaded processes segfault due to __lwp_getprivate_fast() returning
> a NULL pointer.  Further debugging shows that netbsd:cp15_trapper() never
> executes.

I've installed Debian Squeeze on the machine in question for testing.

Executing under Linux user mode:

        mrc p15, 0, r0, c13, c0, 0      // results in r0 being set to 0
        mcr p15, 0, r0, c13, c0, 0      // results in Linux kernel page fault.

        mrc p15, 0, r0, c13, c0, 1      // r0 set to previous mcr value
        mcr p15, 0, r0, c13, c0, 1      // sets value to r0, persistent between 
processes

        mrc p15, 0, r0, c13, c0, 2      // r0 set to 0
        mcr p15, 0, r0, c13, c0, 2      // no noticeable effect

        mrc p15, 0, r0, c13, c0, 3      // r0 set to 0
        mcr p15, 0, r0, c13, c0, 3      // no noticeable effect

        mrc p15, 0, r0, c13, c0, 4      // r0 set to 0
        mcr p15, 0, r0, c13, c0, 4      // no noticeable effect

Practically identical behavior is observed when these instructions are
executed in NetBSD userland.

        Jonathan Kollasch


Home | Main Index | Thread Index | Old Index