
In message 200211201114.gAKBEss01326@dagobert.svc.sysgo.de you wrote:
What do you mean with "stack to copy"?
The standard method for the x86 to implement a syscall is through a "gate", which is also a mechanism to switch to a higher protection level. Since caller and callee run at different protection levels, they use
OK, understood.
But this is not what U-Boot needs.
Does that mean that the caller always runs at the same protection level as U-Boot?
Right.
If so, then I think that a syscall mechanism for the x86 through gates would be overkill. But then, OTOH, why use syscalls at all ? A simple jump table could do the same thing, and do it portably.
You may remember that we used a jump table attached to the global data in early versions of PPCBoot. I didn't like this. The nice thing about the syscall trap on PPC is that you can easily put a "jump table" at a well-known location, so that a standalone application can access certain services (those explicitely exported by U-Boot using the syscall interface) without depending on a special software version.
I have to admit that I did not think about other architectures at the time we implemented this.
Best regards,
Wolfgang Denk