From: "Benjamin Herrenschmidt" <benh@kernel.crashing.org>
To: <Administrator@vger.kernel.org>
Cc: "linuxppc-dev list" <linuxppc-dev@lists.linuxppc.org>,
"Linux Kernel list" <linux-kernel@vger.kernel.org>
Subject: Re: want to clarify powerpc assembly conventions inhead.S and entry.S
Date: Tue, 13 Apr 2004 00:30:40 +0100 [thread overview]
Message-ID: <000001c420e6$2a8da7b0$d100000a@sbs2003.local> (raw)
In-Reply-To: <407AA848.2000008@nortelnetworks.com>
On Tue, 2004-04-13 at 00:31, Chris Friesen wrote:
> Benjamin Herrenschmidt wrote:
> >>You knew this was coming... What's special about syscalls? There's the
> >>r3 thing, but other than that...
> >
> > The whole codepath is a bit different, there's the syscall trace,
> > we can avoid saving much more registers are syscalls are function
> > calls and so can clobber the non volatiles, etc...
>
> It appears that we always enter the kernel via "transfer_to_handler",
> and return via "ret_from_except". Is this true? (I'm running on at
> least a 74xx chip.)
ret_from_syscall for syscalls, hash_page also has a different
return to userland path, and load_up_{fpu,altivec} have their own
retturn path.
On ppc32 currently, the entry is almost always the same except for
hash_page and load_up_{fpu,altivec}
> I want to insert two new bits of code, one that gets called before the
> exception handler when we drop from userspace to kernelspace, and one as
> late as possible before going back to userspace. I need to catch
> syscalls, interrupts, exceptions, everything.
>
> The entry one I planned on putting in "transfer_to_handler", just before
> "addi r11,r1,STACK_FRAME_OVERHEAD".
>
> I was planning on putting the exit one just after the "restore_user"
> label. Will this catch all possible returns to userspace?
No.
Ben.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
next prev parent reply other threads:[~2004-04-12 23:28 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-10 7:41 want to clarify powerpc assembly conventions in head.S " Chris Friesen
2004-04-10 10:05 ` Benjamin Herrenschmidt
2004-04-11 5:14 ` Chris Friesen
2004-04-11 5:25 ` Benjamin Herrenschmidt
2004-04-12 14:31 ` Chris Friesen
2004-04-12 22:54 ` Benjamin Herrenschmidt
2004-04-13 4:06 ` Chris Friesen
2004-04-13 4:31 ` Chris Friesen
2004-04-12 23:30 ` Benjamin Herrenschmidt [this message]
2004-04-12 15:01 ` Chris Friesen
2004-04-11 6:00 ` want to clarify powerpc assembly conventions in head.Sand entry.S Benjamin Herrenschmidt
2004-04-11 5:45 ` want to clarify powerpc assembly conventions in head.S and entry.S Chris Friesen
2004-04-13 15:10 ` Segher Boessenkool
2004-04-13 15:45 ` Segher Boessenkool
2004-04-10 10:30 ` want to clarify powerpc assembly conventions in head.S andentry.S Benjamin Herrenschmidt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='000001c420e6$2a8da7b0$d100000a@sbs2003.local' \
--to=benh@kernel.crashing.org \
--cc=Administrator@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.linuxppc.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®