blob: 54c713103bfb653823b3ad4c5b4e39c83e59e4fb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
extern timer_tick
global scheduler_timer_asm
scheduler_timer_asm:
cli
push qword 0
push qword 32
push r15
push r14
push r13
push r12
push r11
push r10
push r9
push r8
push rbp
push rdi
push rsi
push rdx
push rcx
push rbx
push rax
mov rax,cr3
push rax
mov rdi,rsp
xor rbp,rbp
call timer_tick
pop rax
mov cr3,rax
pop rax
pop rbx
pop rcx
pop rdx
pop rsi
pop rdi
pop rbp
pop r8
pop r9
pop r10
pop r11
pop r12
pop r13
pop r14
pop r15
add rsp,16
iretq
|