d23017779fb015393e9f09aef48b4c5f2cc8dee1
[tpg/acess2.git] / Kernel / arch / x86_64 / include / common.inc.asm
1
2 %define INITIAL_KSTACK_SIZE     8
3
4 %macro SAVE_GPR 1
5         mov [%1-0x08], r15
6         mov [%1-0x10], r14
7         mov [%1-0x18], r13
8         mov [%1-0x20], r12
9         mov [%1-0x28], r11
10         mov [%1-0x30], r10
11         mov [%1-0x38], r9
12         mov [%1-0x40], r8
13         mov [%1-0x48], rdi
14         mov [%1-0x50], rsi
15         mov [%1-0x58], rbp
16         mov [%1-0x60], rsp
17         mov [%1-0x68], rbx
18         mov [%1-0x70], rdx
19         mov [%1-0x78], rcx
20         mov [%1-0x80], rax
21 %endmacro
22
23 %macro PUSH_GPR 0
24         SAVE_GPR rsp
25         sub rsp, 0x80
26 %endmacro
27
28 %macro RESTORE_GPR 1
29         mov r15, [%1-0x08]
30         mov r14, [%1-0x10]
31         mov r13, [%1-0x18]
32         mov r12, [%1-0x20]
33         mov r11, [%1-0x28]
34         mov r10, [%1-0x30]
35         mov r9,  [%1-0x38]
36         mov r8,  [%1-0x40]
37         mov rdi, [%1-0x48]
38         mov rsi, [%1-0x50]
39         mov rbp, [%1-0x58]
40         ;mov rsp, [%1-0x60]
41         mov rbx, [%1-0x68]
42         mov rdx, [%1-0x70]
43         mov rcx, [%1-0x78]
44         mov rax, [%1-0x80]
45 %endmacro
46
47 %macro POP_GPR  0
48         add rsp, 0x80
49         RESTORE_GPR rsp
50 %endmacro

UCC git Repository :: git.ucc.asn.au