Use the generic framework from xen/linkage.h.
Signed-off-by: Jan Beulich <[email protected]>
---
The .Lsuspend_err label is used in a cross-function manner here, but
it's not clear to me what - if anything - to do about this.
---
v6: New.
--- a/xen/arch/x86/acpi/wakeup_prot.S
+++ b/xen/arch/x86/acpi/wakeup_prot.S
@@ -7,7 +7,7 @@
.text
.code64
-ENTRY(do_suspend_lowlevel)
+FUNC(do_suspend_lowlevel)
push %rbp
push %rbx
push %r12
@@ -32,6 +32,7 @@ ENTRY(do_suspend_lowlevel)
/* It seems we didn't suspend. Get out of here. */
jmp .Lsuspend_err
+END(do_suspend_lowlevel)
/*
* do_suspend_lowlevel() is arranged to behave as a regular function
@@ -43,7 +44,7 @@ ENTRY(do_suspend_lowlevel)
*
* Everything else, including the stack, needs restoring.
*/
-ENTRY(s3_resume)
+FUNC(s3_resume)
lgdt boot_gdtr(%rip)
mov saved_cr0(%rip), %rax
@@ -132,6 +133,7 @@ ENTRY(s3_resume)
pop %rbx
pop %rbp
ret
+END(s3_resume)
.data
.align 16
@@ -142,5 +144,4 @@ saved_cr0: .quad 0
saved_ssp: .quad 0
#endif
-GLOBAL(saved_magic)
- .long 0x9abcdef0
+ASM_INT(saved_magic, 0x9abcdef0)