@@ -9,86 +9,7 @@ static COMMON_HANDLER_MUTEX: Mutex<()> = Mutex::new(());
9
9
macro_rules! create_fn {
10
10
( $name: ident, $i: expr) => {
11
11
extern "x86-interrupt" fn $name( stack_frame: InterruptStackFrame ) {
12
- unsafe {
13
- asm!( r#"
14
- push rax
15
- push rbx
16
- push rcx
17
- push rdx
18
- push rsi
19
- push rdi
20
- push rbp
21
- push rsp
22
- push r8
23
- push r9
24
- push r10
25
- push r11
26
- push r12
27
- push r13
28
- push r14
29
- push r15
30
-
31
- sub rsp, 256
32
- movups [rsp + 16 * 0], xmm0
33
- movups [rsp + 16 * 1], xmm1
34
- movups [rsp + 16 * 2], xmm2
35
- movups [rsp + 16 * 3], xmm3
36
- movups [rsp + 16 * 4], xmm4
37
- movups [rsp + 16 * 5], xmm5
38
- movups [rsp + 16 * 6], xmm6
39
- movups [rsp + 16 * 7], xmm7
40
- movups [rsp + 16 * 8], xmm8
41
- movups [rsp + 16 * 9], xmm9
42
- movups [rsp + 16 * 10], xmm10
43
- movups [rsp + 16 * 11], xmm11
44
- movups [rsp + 16 * 12], xmm12
45
- movups [rsp + 16 * 13], xmm13
46
- movups [rsp + 16 * 14], xmm14
47
- movups [rsp + 16 * 15], xmm15
48
- "# ) ;
49
-
50
- unsafe { ( COMMON_HANDLER ) ( stack_frame, $i) } ;
51
-
52
- asm!( r#"
53
-
54
-
55
- movups xmm0, [rsp + 16 * 0]
56
- movups xmm1, [rsp + 16 * 1]
57
- movups xmm2, [rsp + 16 * 2]
58
- movups xmm3, [rsp + 16 * 3]
59
- movups xmm4, [rsp + 16 * 4]
60
- movups xmm5, [rsp + 16 * 5]
61
- movups xmm6, [rsp + 16 * 6]
62
- movups xmm7, [rsp + 16 * 7]
63
- movups xmm8, [rsp + 16 * 8]
64
- movups xmm9, [rsp + 16 * 9]
65
- movups xmm10, [rsp + 16 * 10]
66
- movups xmm11, [rsp + 16 * 11]
67
- movups xmm12, [rsp + 16 * 12]
68
- movups xmm13, [rsp + 16 * 13]
69
- movups xmm14, [rsp + 16 * 14]
70
- movups xmm15, [rsp + 16 * 15]
71
- add rsp, 16 * 16
72
-
73
- pop r15
74
- pop r14
75
- pop r13
76
- pop r12
77
- pop r11
78
- pop r10
79
- pop r9
80
- pop r8
81
- pop rsp
82
- pop rbp
83
- pop rdi
84
- pop rsi
85
- pop rdx
86
- pop rcx
87
- pop rbx
88
- pop rax
89
-
90
- "# ) ;
91
- }
12
+ unsafe { ( COMMON_HANDLER ) ( stack_frame, $i) } ;
92
13
}
93
14
} ;
94
15
}
0 commit comments