This passes up to 3 parameters in registers, rather than on the stack. Most
transformations are easy.
The exec_user() infrastructure took two parameters on the stack and used an
ad-hoc %eax/%ecx arrangement with %edx as a scratch register. Fastcall uses
%eax/%edx, so switch the scratch regsiter to %ecx instead.
memop-seg was already using %eax, and needs a bit of care now that addr isn't
on the stack. However, it does remove the need for stack_adj which simplifies
the result.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>