Q: Register usage in mpc860 ports
Franz Sirl
Franz.Sirl-kernel at lauterbach.com
Sat May 22 02:36:16 EST 1999
At 17:35 21.05.99 , Jim Chapman wrote:
>I am porting LinuxPPC to a custom embedded mpc860 board. I am starting
>with the mbx port and using home-built egcs-1.1.2 tools on a Linux
>host, using the instructions in
>http://members.home.com/mmporter/cross.html
>
>There seem to be register usage conflicts in the MMU TLB handlers. The
>code tries to use location 0 (according to the comment) to store a
>couple of register values, e.g. in arch/ppc/kernel/head.S
>
>InstructionTLBMiss:
> mtspr M_TW, r20 /* Save a couple of working registers */
> mfcr r20
> stw r20, 0(r0)
> stw r21, 4(r0)
>
>However, I am finding that r0 isn't zero when the MMU exceptions are
>taken. Instead, it points to somewhere in the text or data segment. I
>hacked the code to save r20 & r21 to a specific memory location and that
>fixed that particular problem.
r0 represents 0 in a number of PPC instructions, lookup stw in your PPC
assembler book.
Franz.
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check http://lists.linuxppc.org/ ]]
[[ and http://www.linuxppc.org/ for useful information before posting. ]]
More information about the Linuxppc-dev
mailing list