[PATCH v1] Revert "x86: use invd instead of wbinvd in real mode start code"
Masahiro Yamada
masahiroy at kernel.org
Tue Feb 18 01:45:34 CET 2020
Hi Andy,
On Tue, Feb 18, 2020 at 12:30 AM Andy Shevchenko
<andriy.shevchenko at linux.intel.com> wrote:
>
> 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.
>
> (*) om Intel Edison board.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> ---
> arch/x86/cpu/start.S | 2 +-
> arch/x86/cpu/start16.S | 2 +-
Reverting arch/x86/cpu/start.S is enough, isn't it?
arch/x86/cpu/start16.S is not compiled for the
Edison board.
start16.S is the start of the Real Mode,
and we are sure no program was running before
U-Boot.
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S
> index 26cf995db2..01524635e9 100644
> --- a/arch/x86/cpu/start.S
> +++ b/arch/x86/cpu/start.S
> @@ -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.
> diff --git a/arch/x86/cpu/start16.S b/arch/x86/cpu/start16.S
> index 292e750508..54f4ff6662 100644
> --- a/arch/x86/cpu/start16.S
> +++ b/arch/x86/cpu/start16.S
> @@ -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
> --
> 2.25.0
>
--
Best Regards
Masahiro Yamada
More information about the U-Boot
mailing list