![]() | ||||||||||
Messages in this thread |
> > Bad idea, phys_to_virt(x) translates to (PAGE_OFFSET | x). You do not
> > want call overhead on single instruction. (Which is probably exactly
> > as long as call instruction).
>
> Do the calculation using inline assembler, collect the addresses of the
> add instructions in a special ELF section. Patch the add instructions
> on startup and free the section.
That's roughly what we do in btfixup on sparc32. The problem is modules:
you'd either had to add some callback called when insmodding, or export
the PAGE_OFFSET number somehow to userland and let insmod do that.
Cheers,
Jakub
___________________________________________________________________
Jakub Jelinek | jj@sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
Ultralinux - first 64bit OS to take full power of the UltraSparc
Linux version 2.1.89 on a sparc64 machine (498.80 BogoMips).
___________________________________________________________________
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
| |||||||||
| Last update: 2005-03-22 12:41 [from the cache] ©2003-2008 | ||||||||||