|
@@ -106,33 +106,6 @@ static void __init check_hlt(void)
|
|
|
pr_cont("OK\n");
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * Most 386 processors have a bug where a POPAD can lock the
|
|
|
- * machine even from user space.
|
|
|
- */
|
|
|
-
|
|
|
-static void __init check_popad(void)
|
|
|
-{
|
|
|
-#ifndef CONFIG_X86_POPAD_OK
|
|
|
- int res, inp = (int) &res;
|
|
|
-
|
|
|
- pr_info("Checking for popad bug... ");
|
|
|
- __asm__ __volatile__(
|
|
|
- "movl $12345678,%%eax; movl $0,%%edi; pusha; popa; movl (%%edx,%%edi),%%ecx "
|
|
|
- : "=&a" (res)
|
|
|
- : "d" (inp)
|
|
|
- : "ecx", "edi");
|
|
|
- /*
|
|
|
- * If this fails, it means that any user program may lock the
|
|
|
- * CPU hard. Too bad.
|
|
|
- */
|
|
|
- if (res != 12345678)
|
|
|
- pr_cont("Buggy\n");
|
|
|
- else
|
|
|
- pr_cont("OK\n");
|
|
|
-#endif
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* Check whether we are able to run this kernel safely on SMP.
|
|
|
*
|
|
@@ -157,7 +130,6 @@ void __init check_bugs(void)
|
|
|
#endif
|
|
|
check_config();
|
|
|
check_hlt();
|
|
|
- check_popad();
|
|
|
init_utsname()->machine[1] =
|
|
|
'0' + (boot_cpu_data.x86 > 6 ? 6 : boot_cpu_data.x86);
|
|
|
alternative_instructions();
|