win-pvdrivers

view xenpci/i386/tpr_emulate.asm @ 804:6ea80e94e8cf

Added tag 0.11.0.218 for changeset bbc6c94b9621
author James Harper <james.harper@bendigoit.com.au>
date Sun Jun 27 16:15:21 2010 +1000 (2010-06-27)
parents 6a2d1517e10c
children
line source
2 .586P
3 .model flat
5 public _MoveTprToEax@0
6 public _MoveTprToEcx@0
7 public _MoveTprToEdx@0
8 public _MoveTprToEsi@0
9 public _PushTpr@0
10 public _MoveEaxToTpr@0
11 public _MoveEbxToTpr@0
12 public _MoveEcxToTpr@0
13 public _MoveEdxToTpr@0
14 public _MoveEsiToTpr@0
15 public _MoveConstToTpr@4
16 public _MoveZeroToTpr@0
18 extern _ReadTpr@0 : near
19 extern _WriteTpr@4 : near
20 .code
22 _MoveTprToEax@0 proc
23 pushfd
24 cli
25 push ecx
26 push edx
27 call _ReadTpr@0
28 pop edx
29 pop ecx
30 popfd
31 ret
32 _MoveTprToEax@0 endp
34 _MoveTprToEcx@0 proc
35 pushfd
36 cli
37 push eax
38 push edx
39 call _ReadTpr@0
40 mov ecx, eax
41 pop edx
42 pop eax
43 popfd
44 ret
45 _MoveTprToEcx@0 endp
47 _MoveTprToEdx@0 proc
48 pushfd
49 cli
50 push eax
51 push ecx
52 call _ReadTpr@0
53 mov edx, eax
54 pop ecx
55 pop eax
56 popfd
57 ret
58 _MoveTprToEdx@0 endp
60 _MoveTprToEsi@0 proc
61 pushfd
62 cli
63 push eax
64 push ecx
65 push edx
66 call _ReadTpr@0
67 mov esi, eax
68 pop edx
69 pop ecx
70 pop eax
71 popfd
72 ret
73 _MoveTprToEsi@0 endp
75 _PushTpr@0 proc
76 sub esp, 4
77 pushfd
78 cli
79 push eax
80 push ecx
81 push edx
82 mov eax, dword ptr [esp + 20]
83 mov dword ptr [esp + 16], eax
84 call _ReadTpr@0
85 mov dword ptr [esp + 20], eax
86 pop edx
87 pop ecx
88 pop eax
89 popfd
90 ret
91 _PushTpr@0 endp
93 _MoveEaxToTpr@0 proc
94 pushfd
95 cli
96 push eax
97 push ecx
98 push edx
99 push eax
100 call _WriteTpr@4
101 pop edx
102 pop ecx
103 pop eax
104 popfd
105 ret
106 _MoveEaxToTpr@0 endp
108 _MoveEbxToTpr@0 proc
109 pushfd
110 cli
111 push eax
112 push ecx
113 push edx
114 push ebx
115 call _WriteTpr@4
116 pop edx
117 pop ecx
118 pop eax
119 popfd
120 ret
121 _MoveEbxToTpr@0 endp
123 _MoveEcxToTpr@0 proc
124 pushfd
125 cli
126 push eax
127 push ecx
128 push edx
129 push ecx
130 call _WriteTpr@4
131 pop edx
132 pop ecx
133 pop eax
134 popfd
135 ret
136 _MoveEcxToTpr@0 endp
138 _MoveEdxToTpr@0 proc
139 pushfd
140 cli
141 push eax
142 push ecx
143 push edx
144 push edx
145 call _WriteTpr@4
146 pop edx
147 pop ecx
148 pop eax
149 popfd
150 ret
151 _MoveEdxToTpr@0 endp
153 _MoveEsiToTpr@0 proc
154 pushfd
155 cli
156 push eax
157 push ecx
158 push edx
159 push esi
160 call _WriteTpr@4
161 pop edx
162 pop ecx
163 pop eax
164 popfd
165 ret
166 _MoveEsiToTpr@0 endp
168 _MoveConstToTpr@4 proc
169 pushfd
170 cli
171 push eax
172 push ecx
173 push edx
174 mov eax, [esp + 20]
175 push eax
176 call _WriteTpr@4
177 pop edx
178 pop ecx
179 pop eax
180 popfd
181 ret 4
182 _MoveConstToTpr@4 endp
184 _MoveZeroToTpr@0 proc
185 pushfd
186 cli
187 push eax
188 push ecx
189 push edx
190 push 0
191 call _WriteTpr@4
192 pop edx
193 pop ecx
194 pop eax
195 popfd
196 ret
197 _MoveZeroToTpr@0 endp
199 END