]> xenbits.xensource.com Git - xen.git/commit
x86: Support indirect thunks from assembly code
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 18 Dec 2017 13:54:25 +0000 (13:54 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 16 Jan 2018 17:45:50 +0000 (17:45 +0000)
commit7c508612f7a5096b4819d4ef2ce566e01bd66c0c
tree095f66e389e4c53233e0790df8f15675ceb4a97c
parent3659f0f4bcc6ca08103d1a7ae4e97535ecc978be
x86: Support indirect thunks from assembly code

Introduce INDIRECT_CALL and INDIRECT_JMP which either degrade to a normal
indirect branch, or dispatch to the __x86_indirect_thunk_* symbols.

Update all the manual indirect branches in to use the new thunks.  The
indirect branches in the early boot and kexec path are left intact as we can't
use the compiled-in thunks at those points.

This is part of XSA-254.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/Rules.mk
xen/arch/x86/Rules.mk
xen/arch/x86/boot/trampoline.S
xen/arch/x86/extable.c
xen/arch/x86/pv/emul-priv-op.c
xen/arch/x86/x86_64/entry.S
xen/arch/x86/x86_emulate/x86_emulate.c
xen/common/wait.c
xen/include/asm-x86/asm_defns.h
xen/include/asm-x86/indirect_thunk_asm.h [new file with mode: 0644]