x86/head_64: Use TESTB instead of TESTL in secondary_startup_64_no_verify()
authorUros Bizjak <ubizjak@gmail.com>
Thu, 9 Nov 2023 20:09:56 +0000 (21:09 +0100)
committerBorislav Petkov (AMD) <bp@alien8.de>
Wed, 13 Dec 2023 12:35:38 +0000 (13:35 +0100)
There is no need to use TESTL when checking the least-significant bit
with a TEST instruction. Use TESTB, which is three bytes shorter:

   f6 05 00 00 00 00 01    testb  $0x1,0x0(%rip)

vs:

   f7 05 00 00 00 00 01    testl  $0x1,0x0(%rip)
   00 00 00

for the same effect.

No functional changes intended.

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20231109201032.4439-1-ubizjak@gmail.com
arch/x86/kernel/head_64.S

index 086a2c3..1f79d80 100644 (file)
@@ -182,7 +182,7 @@ SYM_INNER_LABEL(secondary_startup_64_no_verify, SYM_L_GLOBAL)
        /* Enable PAE mode, PSE, PGE and LA57 */
        orl     $(X86_CR4_PAE | X86_CR4_PSE | X86_CR4_PGE), %ecx
 #ifdef CONFIG_X86_5LEVEL
-       testl   $1, __pgtable_l5_enabled(%rip)
+       testb   $1, __pgtable_l5_enabled(%rip)
        jz      1f
        orl     $X86_CR4_LA57, %ecx
 1: