Trying one more time; sorry (again) if someone receives this in duplicate.


diff --git a/arch/x86/kernel/relocate_kernel_64.S 
b/arch/x86/kernel/relocate_kernel_64.S
index 56cab1bb25f5..085eef5c3904 100644
--- a/arch/x86/kernel/relocate_kernel_64.S
+++ b/arch/x86/kernel/relocate_kernel_64.S
@@ -148,9 +148,10 @@ SYM_CODE_START_LOCAL_NOALIGN(identity_mapped)
         */
        movl    $X86_CR4_PAE, %eax
        testq   $X86_CR4_LA57, %r13
-       jz      1f
+       jz      .Lno_la57
        orl     $X86_CR4_LA57, %eax
-1:
+.Lno_la57:
+
        movq    %rax, %cr4

If we are cleaning up this code... the above can simply be:

        andl $(X86_CR4_PAE | X86_CR4_LA54), %r13
        movq %r13, %cr4

%r13 is dead afterwards, and the PAE bit *will* be set in %r13 anyway.

        -hpa


Reply via email to