]> xenbits.xensource.com Git - people/andrewcoop/xen-test-framework.git/commit
XTF: Use fastcall by default for 32bit devel
authorAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 13 Sep 2024 14:41:46 +0000 (15:41 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 13 Sep 2024 17:42:29 +0000 (18:42 +0100)
commitc9a5e404e70c21c7621db4b8cabdf68261db7e1c
tree3e686f4559e1b4b69daccb6aeecd92833b0e4eee
parent2499e95956dee530e9481423846f446153f3b2f1
XTF: Use fastcall by default for 32bit

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>
arch/x86/entry_32.S
arch/x86/hvm/head.S
arch/x86/pv/head.S
build/common.mk
tests/memop-seg/asm.S
tests/nmi-taskswitch-priv/main.c