]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
x86/kexec: Use named labels in swap_pages in relocate_kernel_64.S
authorDavid Woodhouse <dwmw@amazon.co.uk>
Thu, 5 Dec 2024 15:05:09 +0000 (15:05 +0000)
committerIngo Molnar <mingo@kernel.org>
Fri, 6 Dec 2024 09:41:58 +0000 (10:41 +0100)
Make the code a little more readable.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Kai Huang <kai.huang@intel.com>
Cc: Baoquan He <bhe@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Eric Biederman <ebiederm@xmission.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Link: https://lore.kernel.org/r/20241205153343.3275139-4-dwmw2@infradead.org
arch/x86/kernel/relocate_kernel_64.S

index 92478e2e254f415c5242669facda59c6be8a05b7..fea650f926066b6e2bd64a82ba00900a7f4b03e3 100644 (file)
@@ -279,31 +279,31 @@ SYM_CODE_START_LOCAL_NOALIGN(swap_pages)
        movq    %rdi, %rcx      /* Put the indirection_page in %rcx */
        xorl    %edi, %edi
        xorl    %esi, %esi
-       jmp     1f
+       jmp     .Lstart         /* Should start with an indirection record */
 
-0:     /* top, read another word for the indirection page */
+.Lloop:        /* top, read another word for the indirection page */
 
        movq    (%rbx), %rcx
        addq    $8,     %rbx
-1:
+.Lstart:
        testb   $0x1,   %cl   /* is it a destination page? */
-       jz      2f
+       jz      .Lnotdest
        movq    %rcx,   %rdi
        andq    $0xfffffffffffff000, %rdi
-       jmp     0b
-2:
+       jmp     .Lloop
+.Lnotdest:
        testb   $0x2,   %cl   /* is it an indirection page? */
-       jz      2f
+       jz      .Lnotind
        movq    %rcx,   %rbx
        andq    $0xfffffffffffff000, %rbx
-       jmp     0b
-2:
+       jmp     .Lloop
+.Lnotind:
        testb   $0x4,   %cl   /* is it the done indicator? */
-       jz      2f
-       jmp     3f
-2:
+       jz      .Lnotdone
+       jmp     .Ldone
+.Lnotdone:
        testb   $0x8,   %cl   /* is it the source indicator? */
-       jz      0b            /* Ignore it otherwise */
+       jz      .Lloop        /* Ignore it otherwise */
        movq    %rcx,   %rsi  /* For ever source page do a copy */
        andq    $0xfffffffffffff000, %rsi
 
@@ -328,8 +328,8 @@ SYM_CODE_START_LOCAL_NOALIGN(swap_pages)
        rep ; movsq
 
        lea     PAGE_SIZE(%rax), %rsi
-       jmp     0b
-3:
+       jmp     .Lloop
+.Ldone:
        ANNOTATE_UNRET_SAFE
        ret
        int3