Messages in this thread | | | Subject | Re: want to clarify powerpc assembly conventions in head.S and entry.S | From | Benjamin Herrenschmidt <> | Date | Tue, 13 Apr 2004 08:54:19 +1000 |
| |
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.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |