On Mon, Sep 8, 2008 at 9:00 AM, Stefan Reinauer stepan@coresystems.de wrote:
roughly: asm volatile ("movl newstack, %eax\n movl %eax, %esp\n")
and your entire call chain and all automatics on the stack are gone. And you can't return from disable_car.
Moving the stack in the general case won't work. Better to call another function -- i.e. disable_car never returns -- that's we do do in v2 today.
We could set up a relocation mapping. That's what FILO does to cope with this issue.
It seems kind of complex and it is very architecture dependent. If we assume there is no return from disable_car, life is very much simpler.
ron