aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/sys-x86_64
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/sys-x86_64')
-rw-r--r--arch/um/sys-x86_64/stub.S21
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/um/sys-x86_64/stub.S b/arch/um/sys-x86_64/stub.S
index 31c14925716b..957f2eff32ca 100644
--- a/arch/um/sys-x86_64/stub.S
+++ b/arch/um/sys-x86_64/stub.S
@@ -13,3 +13,24 @@ syscall_stub:
13 or %rcx, %rbx 13 or %rcx, %rbx
14 movq %rax, (%rbx) 14 movq %rax, (%rbx)
15 int3 15 int3
16
17 .globl batch_syscall_stub
18batch_syscall_stub:
19 movq $(UML_CONFIG_STUB_DATA >> 32), %rbx
20 salq $32, %rbx
21 movq $(UML_CONFIG_STUB_DATA & 0xffffffff), %rcx
22 or %rcx, %rbx
23 movq %rbx, %rsp
24again: pop %rax
25 cmpq $0, %rax
26jz done
27 pop %rdi
28 pop %rsi
29 pop %rdx
30 pop %r10
31 pop %r8
32 pop %r9
33 syscall
34 mov %rax, (%rbx)
35 jmp again
36done: int3