Hi!
This patch improves previous proposal and adds:
- save/restore global registers across client interface calls. Since OS kernel generally has it's own idea of what the ABI is we have to follow this requirement.
- adjust stack to allow using unoptimized openbios build with linux kernel. Linux provides only 128 bytes on stack which is not enough to save arguments by code generated with gcc -O0
- fix switch_to so it actually could be used to switch to client image. context pointer must be volatile to prevent gcc optimizing out stores to it.
Signed-off-by: igor.v.kovalenko@gmail.com