[parisc-linux] ldcw in __pthread_acquire
LaMont Jones
lamont@hp.com
Mon, 18 Dec 2000 07:49:32 -0700
> Since hppa its apparently 2 clocks to the syscall the numbers are apparently
> different.
Actually, the sequence consists of:
libc_stub:
bl gateway_page_addr
...
gateway_page_addr:
gate .+8
...
...
And we find ourselves in kernel mode after 2 branches (unconditional
and pre-computed ==> predict correctly) and two delay slots. At that
point we have kernel data structures at our fingertips, but have in no
way done a complete 'syscall' entry - those are (at least on hp-ux) a
bit more expensive... (It also means that kernel vs user detection in
traps code needs to look at the priv level, not the stack pointer...)
lamont