SR0 temporary space register
SR4-SR7 set to 0
SR1 temporary space register
-SR2 unused
-SR3 used for userspace accesses (current process)*
+SR2 kernel should not clobber this
+SR3 used for userspace accesses (current process)
Space Registers (user mode)
TOC enable bit 1
=========================================================================
-Info from John Marvin:
-
-From: "John Marvin" <jsm@udlkern.fc.hp.com>
-To: randolf@tausq.org
-Subject: Re: parisc asm questions
-
-[...]
+Register usage notes, originally from John Marvin, with some additional
+notes from Randolph Chung.
For the general registers:
don't care about the values that were passed in anymore.
r28,r29: are ret0 and ret1. They are what you pass return values
- in. r28 is the primary return. I'm not sure I remember
- under what circumstances stuff is returned in r29 (millicode
- perhaps).
+ in. r28 is the primary return. When returning small structures
+ r29 may also be used to pass data back to the caller.
+
+ r30: stack pointer
r31: the ble instruction puts the return pointer in here.
used to make references to global variables easier. r30 is
the stack pointer.
-John
-
-