aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArvind Sankar <[email protected]>2020-02-02 12:13:50 -0500
committerArd Biesheuvel <[email protected]>2020-02-22 23:37:37 +0100
commitcae0e431a02cd63fecaf677ae166f184644125a7 (patch)
treebc1c810dc236591c3d11ee07d604a25706f8bebe
parent32d009137a5646947d450da6fa641a1f4dc1e42c (diff)
x86/boot: Clear direction and interrupt flags in startup_64
startup_32 already clears these flags on entry, do it in startup_64 as well for consistency. The direction flag in particular is not specified to be cleared in the boot protocol documentation, and we currently call into C code (paging_prepare) without explicitly clearing it. Signed-off-by: Arvind Sankar <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ard Biesheuvel <[email protected]>
-rw-r--r--arch/x86/boot/compressed/head_64.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
index 27eb2a6786db..69cc6c68741e 100644
--- a/arch/x86/boot/compressed/head_64.S
+++ b/arch/x86/boot/compressed/head_64.S
@@ -264,6 +264,9 @@ SYM_CODE_START(startup_64)
* and command line.
*/
+ cld
+ cli
+
/* Setup data segments. */
xorl %eax, %eax
movl %eax, %ds