-#------------------------------------------------------------------------------
-#*
-#* Copyright 2009, Intel Corporation
-#* All rights reserved. This program and the accompanying materials
-#* are licensed and made available under the terms and conditions of the BSD License
-#* which accompanies this distribution. The full text of the license may be found at
-#* http://opensource.org/licenses/bsd-license.php
-#*
-#* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#*
-#*
-#------------------------------------------------------------------------------
-
-
-
+#------------------------------------------------------------------------------\r
+#*\r
+#* Copyright 2009, Intel Corporation\r
+#* All rights reserved. This program and the accompanying materials\r
+#* are licensed and made available under the terms and conditions of the BSD License\r
+#* which accompanies this distribution. The full text of the license may be found at\r
+#* http://opensource.org/licenses/bsd-license.php\r
+#*\r
+#* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#*\r
+#*\r
+#------------------------------------------------------------------------------\r
+\r
+\r
+\r
#\r
# Float control word initial value: \r
# all exceptions masked, double-precision, round-to-nearest\r
# Multimedia-extensions control word:\r
# all exceptions masked, round-to-nearest, flush to zero for masked underflow\r
#\r
-ASM_PFX(mMmxControlWord): .long 0x01F80
-
-#
+ASM_PFX(mMmxControlWord): .long 0x01F80\r
+\r
+#\r
# Initializes floating point units for requirement of UEFI specification.\r
#\r
# This function initializes floating-point control word to 0x027F (all exceptions\r
# masked,double-precision, round-to-nearest) and multimedia-extensions control word\r
# (if supported) to 0x1F80 (all exceptions masked, round-to-nearest, flush to zero\r
-# for masked underflow).
-#
-ASM_GLOBAL ASM_PFX(InitializeFloatingPointUnits)
-ASM_PFX(InitializeFloatingPointUnits):
+# for masked underflow).\r
+#\r
+ASM_GLOBAL ASM_PFX(InitializeFloatingPointUnits)\r
+ASM_PFX(InitializeFloatingPointUnits):\r
+\r
+ pushl %ebx\r
+\r
#\r
# Initialize floating point units\r
#\r
cpuid\r
btl $25, %edx\r
jnc Done\r
-
- #
- # Set OSFXSR bit 9 in CR4
- #
- movl %cr4, %eax
- or $200, %eax
- movl %eax, %cr4
-
+ \r
+ #\r
+ # Set OSFXSR bit 9 in CR4\r
+ #\r
+ movl %cr4, %eax \r
+ or $200, %eax\r
+ movl %eax, %cr4\r
+ \r
#\r
# The processor should support SSE instruction and we can use\r
# ldmxcsr instruction\r
#\r
- ldmxcsr ASM_PFX(mMmxControlWord)
-
-Done:
- ret
-
-#END
-
+ ldmxcsr ASM_PFX(mMmxControlWord)\r
+\r
+Done:\r
+ popl %ebx\r
+\r
+ ret\r
+\r
+#END\r
+\r