Index: kernel/arch/ia32/src/cpu/cpu.c
===================================================================
--- kernel/arch/ia32/src/cpu/cpu.c	(revision b1c57a828cb73794beb6a309f5ec0199ca75ecc2)
+++ kernel/arch/ia32/src/cpu/cpu.c	(revision 4928165de7cf0ac048c2faf57cbe0209de03919c)
@@ -72,20 +72,10 @@
 void fpu_disable(void)
 {
-	asm volatile (
-		"mov %%cr0, %%eax\n"
-		"or $8, %%eax\n"
-		"mov %%eax, %%cr0\n"
-		::: "%eax"
-	);
+	write_cr0(read_cr0() & ~CR0_TS); 
 }
 
 void fpu_enable(void)
 {
-	asm volatile (
-		"mov %%cr0, %%eax\n"
-		"and $0xffFFffF7, %%eax\n"
-		"mov %%eax,%%cr0\n"
-		::: "%eax"
-	);
+	write_cr0(read_cr0() | CR0_TS); 
 }
 
@@ -115,5 +105,5 @@
 			"mov %[help], %%cr4\n"
 			: [help] "+r" (help)
-			: [mask] "i" (CR4_OSFXSR_MASK | CR4_OSXMMEXCPT_MASK)
+			: [mask] "i" (CR4_OSFXSR | CR4_OSXMMEXCPT)
 		);
 	}
