diff options
| author | Masahiro Yamada <[email protected]> | 2020-01-08 20:08:44 +0900 |
|---|---|---|
| committer | Bin Meng <[email protected]> | 2020-02-04 01:19:26 +0800 |
| commit | 0d67fac29f3187e67f4fd3ef15f73e91be2fad12 (patch) | |
| tree | 589bdf17151a0301e8170e0753dd04256984c2a6 | |
| parent | a6302b7085ce12cb967234e19f2ac2c2320528f1 (diff) | |
x86: use invd instead of wbinvd in real mode start code
I do not know why the boot code immediately after the system reset
should write-back the cache content. I think the cache invalidation
should be enough.
I tested this commit with qemu-x86_defconfig, and it worked for me.
Signed-off-by: Masahiro Yamada <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Reviewed-by: Bin Meng <[email protected]>
Tested-by: Bin Meng <[email protected]>
| -rw-r--r-- | arch/x86/cpu/start.S | 2 | ||||
| -rw-r--r-- | arch/x86/cpu/start16.S | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S index 01524635e9c..26cf995db2d 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 - wbinvd + invd /* * 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 54f4ff6662a..292e7505081 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 - wbinvd + invd /* load the temporary Global Descriptor Table */ data32 cs lidt idt_ptr |
