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 <masahiroy@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
a6302b7085
commit
0d67fac29f
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user