Re: want to clarify powerpc assembly conventions in head.S and entry.S

From: Chris Friesen
Date: Sun Apr 11 2004 - 00:16:51 EST


Benjamin Herrenschmidt wrote:
On Sat, 2004-04-10 at 17:41, Chris Friesen wrote:

According to the docs I read, r0 and r3-12 are caller-saves. They seem
to be saved in EXCEPTION_PROLOG_2 (head.S) and restored in
ret_from_except() (entry.S). Thus, if I add code in entry.S I should be
able to use any of those registers, without having to worry about
restoring them myself--correct?

Yes. For interrupts or faults that's right. Syscalls are a bit special
though.

You knew this was coming... What's special about syscalls? There's the r3 thing, but other than that...

Thanks for your help with this stuff. As I've been slowly wrapping my head around it I've been continuously wishing for some kind of design rules document describing the various paths through the assembly code, along with register conventions and such. I eventually did find the conventions linked off the penguinppc website, but it was not obvious from just reading the code or the ppc stuff in the Documentation directory.

Chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/