Displaying 1 result from an estimated 1 matches for "do_wbinvd".
2007 Jan 04
2
Automatically choose between 32-bit and 64-bit kernel
...vsd
;
-; Check if we're 386 (as opposed to 486+); if so we need to blank out
-; the WBINVD instruction
+; Determine if we're running on a 64-bit CPU
;
-; We check for 486 by setting EFLAGS.AC
+; First, check if we're 386. If so, we need to blank out the WBINVD
instruction
;
-%if DO_WBINVD
pushfd ; Save the good flags
pushfd
pop eax
@@ -69,6 +67,47 @@
;
; 386 - Looks like we better blot out the WBINVD instruction
;
+%if DO_WBINVD
mov byte [try_wbinvd],0c3h ; Near RET
-is_486:
%endif ; DO_WBINVD
+ jmp is_32bit
+is_486:
+;
+; Check if this CPU supports...