Commit 80ec4e91 authored by Matthew Wilcox's avatar Matthew Wilcox Committed by Linus Torvalds

[PATCH] parisc: register usage documentation update

Register usage documentation update
Committed-by: default avatarRandolph Chung <tausq@parisc-linux.org>
parent 3613a63f
...@@ -35,8 +35,8 @@ CR31 (TR 7) Temporary register, used in various places ...@@ -35,8 +35,8 @@ CR31 (TR 7) Temporary register, used in various places
SR0 temporary space register SR0 temporary space register
SR4-SR7 set to 0 SR4-SR7 set to 0
SR1 temporary space register SR1 temporary space register
SR2 unused SR2 kernel should not clobber this
SR3 used for userspace accesses (current process)* SR3 used for userspace accesses (current process)
Space Registers (user mode) Space Registers (user mode)
...@@ -78,13 +78,8 @@ Shadow Registers used by interruption handler code ...@@ -78,13 +78,8 @@ Shadow Registers used by interruption handler code
TOC enable bit 1 TOC enable bit 1
========================================================================= =========================================================================
Info from John Marvin: Register usage notes, originally from John Marvin, with some additional
notes from Randolph Chung.
From: "John Marvin" <jsm@udlkern.fc.hp.com>
To: randolf@tausq.org
Subject: Re: parisc asm questions
[...]
For the general registers: For the general registers:
...@@ -111,9 +106,10 @@ that you should be aware of: ...@@ -111,9 +106,10 @@ that you should be aware of:
don't care about the values that were passed in anymore. don't care about the values that were passed in anymore.
r28,r29: are ret0 and ret1. They are what you pass return values 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 in. r28 is the primary return. When returning small structures
under what circumstances stuff is returned in r29 (millicode r29 may also be used to pass data back to the caller.
perhaps).
r30: stack pointer
r31: the ble instruction puts the return pointer in here. r31: the ble instruction puts the return pointer in here.
...@@ -123,6 +119,3 @@ r3-r18,r27,r30 need to be saved and restored. r3-r18 are just ...@@ -123,6 +119,3 @@ r3-r18,r27,r30 need to be saved and restored. r3-r18 are just
used to make references to global variables easier. r30 is used to make references to global variables easier. r30 is
the stack pointer. the stack pointer.
John
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment