1 #ifndef __SYSCALL_DECODE__
2 #define __SYSCALL_DECODE__
5 #define SYSCALL_DISPATCH_HCALL 0x5CA11
6 #define SYSCALL_SETUP_HCALL 0x5CA12
7 #define SYSCALL_CLEANUP_HCALL 0x5CA13
9 #define NUM_SYSCALLS 256
11 #define NUM_SAVE_REGS 16
12 #define SYSCALL_ENTRY_OFFSET (NUM_SAVE_REGS*8)
18 movq %rbp, 16(%rdi); \
19 movq %rsp, 24(%rdi); \
20 movq %rbx, 32(%rdi); \
21 movq %rdx, 40(%rdi); \
22 movq %rcx, 48(%rdi); \
23 movq %rax, 56(%rdi); \
26 movq %r10, 80(%rdi); \
27 movq %r11, 88(%rdi); \
28 movq %r12, 96(%rdi); \
29 movq %r13, 104(%rdi); \
30 movq %r14, 112(%rdi); \
31 movq %r15, 120(%rdi); \
35 movq 16(%rdi), %rbp; \
36 movq 24(%rdi), %rsp; \
37 movq 32(%rdi), %rbx; \
38 movq 40(%rdi), %rdx; \
39 movq 48(%rdi), %rcx; \
40 movq 56(%rdi), %rax; \
43 movq 80(%rdi), %r10; \
44 movq 88(%rdi), %r11; \
45 movq 96(%rdi), %r12; \
46 movq 104(%rdi),%r13; \
47 movq 112(%rdi),%r14; \
48 movq 120(%rdi),%r15; \
51 /* align on word boundary with nops */
52 #define ALIGN .align 8, 0x90
66 #include <linux/types.h>