Revert "x86: use invd instead of wbinvd in real mode start code"
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 17 Feb 2020 15:30:12 +0000 (17:30 +0200)
committerBin Meng <bmeng.cn@gmail.com>
Thu, 5 Mar 2020 10:19:40 +0000 (18:19 +0800)
This reverts commit 0d67fac29f3187e67f4fd3ef15f73e91be2fad12.

As real hardware testing (*) shows the above mentioned commit
breaks U-Boot on it. Revert for the upcoming release. We may get
more information in the future and optimize the code accordingly.

(*) on Intel Edison board.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: fix a typo in the commit message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/cpu/start.S
arch/x86/cpu/start16.S

index 26cf995..0152463 100644 (file)
@@ -50,7 +50,7 @@ _x86boot_start:
        movl    %cr0, %eax
        orl     $(X86_CR0_NW | X86_CR0_CD), %eax
        movl    %eax, %cr0
-       invd
+       wbinvd
 
        /*
         * Zero the BIST (Built-In Self Test) value since we don't have it.
index 292e750..54f4ff6 100644 (file)
@@ -28,7 +28,7 @@ start16:
        movl    %cr0, %eax
        orl     $(X86_CR0_NW | X86_CR0_CD), %eax
        movl    %eax, %cr0
-       invd
+       wbinvd
 
        /* load the temporary Global Descriptor Table */
 data32 cs      lidt    idt_ptr