Messages in this thread | | | Date | Wed, 19 Sep 2012 09:31:35 -0700 | From | John Stultz <> | Subject | Re: [PATCH 0/6][RFC] Rework vsyscall to avoid truncation/rounding issue in timekeeping core |
| |
On 09/18/2012 09:50 PM, Richard Cochran wrote: > On Tue, Sep 18, 2012 at 11:29:50AM -0700, John Stultz wrote: >> I believe its mostly historical, but on some architectures that >> history has become an established ABI, making it technical. > Fine, but what do you mean by "ABI?" Are you talking about magic > addresses for functions? On powerpc, I mean magic addresses where userland can find structures that it can use to calculate time.
On ia64 I mean the fsyscall method (which is arch specific).
> Without knowing the dirty details, what I imagine is a jump/branch > from the arch-specific code into the common implementation. > > Can that be done? In the two cases above, what you suggest unfortunately isn't possible (at least to my understanding - arch maintainers jump in to correct me).
With powerpc, there is no arch specific kernel code involved, its just a data structure the kernel exports that is accessible to userland. The execution logic lives in userland libraries, or sometimes application code itself.
With ia64's fsyscall, its a special mode that limits what you can do and which registers you access. So you couldn't just jump to other code while in that mode.
But maybe someone has a neat idea on how to get around this?
thanks -john
| |