help with asm code?

Benjamin Herrenschmidt benh at kernel.crashing.org
Wed Apr 21 10:17:45 EST 2004


> I then have some code that wants to load up one of these values and use
> it as an offset into another struct.  Coming into the following stretch
> of code, r6 contains the entry number within hrt_ak_offsets, and r4
> contains the base address of the other struct.
>
>
> 	lis	r5,hrt_ak_offsets at ha
> 	addi	r5,r5,hrt_ak_offsets at l
> 	lbzx	r6,r6,r5
> 	add	r10,r4,r6
>
>
> I'm having a small problem, in that when I run this code it hangs my
> kernel.  Any ideas what's wrong?  The values in r6 and r5 seem to match
> what I expect, but when I do the lbzx it dies.

I don't know for sure, maybe you MMU context is wrong at the time ?
(Assuming a 32 bits kernel, a 64 bits kernel need more instructions
to load the address)

How do you know it dies there and not elsewhere ?


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-dev mailing list