• Jiri Slaby's avatar
    x86/asm/suspend: Get rid of bogus_64_magic · 559ceeed
    Jiri Slaby authored
    bogus_64_magic is only a dead-end loop. There is no need for an
    out-of-order function (and unannotated local label), so just handle it
    in-place and also store 0xbad-m-a-g-i-c to %rcx beforehand, in case
    someone is inspecting registers.
    
    Here a qemu+gdb example:
    
      Remote debugging using localhost:1235
      wakeup_long64 () at arch/x86/kernel/acpi/wakeup_64.S:26
      26              jmp 1b
      (gdb) info registers
      rax            0x123456789abcdef0       1311768467463790320
      rbx            0x0      0
      rcx            0xbad6d61676963  3286910041024867
      		 ^^^^^^^^^^^^^^^
    
     [ bp: Add the gdb example. ]
    Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Len Brown <lenb@kernel.org>
    Cc: linux-pm@vger.kernel.org
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: x86-ml <x86@kernel.org>
    Link: https://lkml.kernel.org/r/20190906075550.23435-1-jslaby@suse.cz
    559ceeed
wakeup_64.S 2.93 KB