All checks were successful
Build documentation / build-and-deploy (push) Successful in 49s
56 lines
4.6 KiB
C
56 lines
4.6 KiB
C
#ifndef _KERNEL_AMD64_REGSASM_H
|
|
#define _KERNEL_AMD64_REGSASM_H
|
|
|
|
#define push_regs \
|
|
pushq % rax; \
|
|
pushq % rcx; \
|
|
pushq % rdx; \
|
|
pushq % rsi; \
|
|
pushq % rdi; \
|
|
pushq % rbp; \
|
|
pushq % rbx; \
|
|
pushq % r8; \
|
|
pushq % r9; \
|
|
pushq % r10; \
|
|
pushq % r11; \
|
|
pushq % r12; \
|
|
pushq % r13; \
|
|
pushq % r14; \
|
|
pushq % r15;
|
|
|
|
#define pop_regs \
|
|
popq % r15; \
|
|
popq % r14; \
|
|
popq % r13; \
|
|
popq % r12; \
|
|
popq % r11; \
|
|
popq % r10; \
|
|
popq % r9; \
|
|
popq % r8; \
|
|
popq % rbx; \
|
|
popq % rbp; \
|
|
popq % rdi; \
|
|
popq % rsi; \
|
|
popq % rdx; \
|
|
popq % rcx; \
|
|
popq % rax;
|
|
|
|
#define pop_regs_skip_rax \
|
|
popq % r15; \
|
|
popq % r14; \
|
|
popq % r13; \
|
|
popq % r12; \
|
|
popq % r11; \
|
|
popq % r10; \
|
|
popq % r9; \
|
|
popq % r8; \
|
|
popq % rbx; \
|
|
popq % rbp; \
|
|
popq % rdi; \
|
|
popq % rsi; \
|
|
popq % rdx; \
|
|
popq % rcx; \
|
|
addq $8, % rsp
|
|
|
|
#endif // _KERNEL_AMD64_REGSASM_H
|