- Timestamp:
- Jun 13, 2009 9:23:51 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/CPUMR0A.asm
r20538 r20540 124 124 ENDPROC cpumR0SaveHostRestoreGuestFPUState 125 125 126 126 127 %ifndef RT_ARCH_AMD64 127 128 %ifdef VBOX_WITH_64_BITS_GUESTS … … 136 137 BEGINPROC cpumR0SaveHostFPUState 137 138 mov xDX, dword [esp + 4] 139 pushf ; The darwin kernel can get upset or upset things if an 140 cli ; interrupt occurs while we're doing fxsave/fxrstor/cr0. 138 141 139 142 ; Switch the state. … … 148 151 149 152 mov cr0, xCX ; and restore old CR0 again ;; @todo optimize this. 153 popf 150 154 xor eax, eax 151 155 ret … … 154 158 %endif 155 159 %endif 160 156 161 157 162 ;; … … 295 300 %else 296 301 mov xCX, dword [esp + 4] 302 %endif 303 pushf ; Just to be on the safe side. 304 cli 297 305 %ifdef VBOX_WITH_HYBRID_32BIT_KERNEL 298 306 cmp byte [NAME(g_fCPUMIs64bitHost)], 0 … … 302 310 .legacy_mode: 303 311 %endif ; VBOX_WITH_HYBRID_32BIT_KERNEL 304 %endif305 312 306 313 ; … … 317 324 318 325 .done: 326 popf 319 327 ret 320 328 … … 352 360 %else 353 361 mov xCX, dword [esp + 4] 362 %endif 363 pushf ; Just to be on the safe side. 364 cli 354 365 %ifdef VBOX_WITH_HYBRID_32BIT_KERNEL 355 366 cmp byte [NAME(g_fCPUMIs64bitHost)], 0 … … 359 370 .legacy_mode: 360 371 %endif ; VBOX_WITH_HYBRID_32BIT_KERNEL 361 %endif362 372 363 373 ; … … 374 384 375 385 .done: 386 popf 376 387 ret 377 388
Note:
See TracChangeset
for help on using the changeset viewer.