What is trampoline.S for?

Uwe Dannowski Uwe.Dannowski at ira.uka.de
Thu Mar 9 20:18:14 CET 2006


On 03/08/06 19:43, BVK Groups wrote:
>     I found out that CHACMOS is mapping trampoline.S at that address. 
> I What is this trampoline.S is for?  I tried to understand
> trampoline.S code, but i couldn't.  I didnt find any FAQ entry
> regarding this.  Can anyone please help me here?

My interpretation of trampoline.S in CHACMOS follows:

In CHACMOS, the code in trampoline.S is mapped into newly created
address spaces at address 0.  CHACMOS starts the initial thread in those 
address spaces at address 0.  The code in trampoline.S implements a tiny
server that waits for IPC messages from the root task.  The functions 
that can be invoked are (function number in dw0, parameters in dw1+dw2):
  0) receive a string message
  1) zero-fill a region
  2) change the pager of the initial thread in the address space
  3) jump to an address
This allows populating the address space and configuring the initial
thread before launching the actual application code for that address
space.


Uwe




More information about the l4-hackers mailing list