[PATCH v7 03/11] x86/ACPI: annotate assembly function/data with type and size

Jan Beulich posted 11 patches 1 month, 3 weeks ago
[PATCH v7 03/11] x86/ACPI: annotate assembly function/data with type and size
Posted by Jan Beulich 1 month, 3 weeks ago
Use the generic framework from xen/linkage.h.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v7: Make do_suspend_lowlevel() a single function.
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
@@ -43,7 +43,7 @@ ENTRY(do_suspend_lowlevel)
          *
          * Everything else, including the stack, needs restoring.
          */
-ENTRY(s3_resume)
+LABEL(s3_resume)
         lgdt    boot_gdtr(%rip)
 
         mov     saved_cr0(%rip), %rax
@@ -132,6 +132,7 @@ ENTRY(s3_resume)
         pop     %rbx
         pop     %rbp
         ret
+END(do_suspend_lowlevel)
 
 .data
         .align 16
@@ -142,5 +143,4 @@ saved_cr0:      .quad   0
 saved_ssp:      .quad   0
 #endif
 
-GLOBAL(saved_magic)
-        .long   0x9abcdef0
+ASM_INT(saved_magic, 0x9abcdef0)
Re: [PATCH v7 03/11] x86/ACPI: annotate assembly function/data with type and size
Posted by Andrew Cooper 1 month, 3 weeks ago
On 01/10/2024 4:14 pm, Jan Beulich wrote:
> Use the generic framework from xen/linkage.h.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> although...

> ---
> v7: Make do_suspend_lowlevel() a single function.
> 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
> @@ -43,7 +43,7 @@ ENTRY(do_suspend_lowlevel)
>           *
>           * Everything else, including the stack, needs restoring.
>           */
> -ENTRY(s3_resume)
> +LABEL(s3_resume)
>          lgdt    boot_gdtr(%rip)
>  
>          mov     saved_cr0(%rip), %rax
> @@ -132,6 +132,7 @@ ENTRY(s3_resume)
>          pop     %rbx
>          pop     %rbp
>          ret
> +END(do_suspend_lowlevel)
>  
>  .data
>          .align 16
> @@ -142,5 +143,4 @@ saved_cr0:      .quad   0
>  saved_ssp:      .quad   0
>  #endif

... we do need something for these 3 variables, or they want to move
into a C file.

~Andrew
Re: [PATCH v7 03/11] x86/ACPI: annotate assembly function/data with type and size
Posted by Jan Beulich 1 month, 2 weeks ago
On 01.10.2024 18:51, Andrew Cooper wrote:
> On 01/10/2024 4:14 pm, Jan Beulich wrote:
>> Use the generic framework from xen/linkage.h.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> although...

Thanks.

>> @@ -132,6 +132,7 @@ ENTRY(s3_resume)
>>          pop     %rbx
>>          pop     %rbp
>>          ret
>> +END(do_suspend_lowlevel)
>>  
>>  .data
>>          .align 16
>> @@ -142,5 +143,4 @@ saved_cr0:      .quad   0
>>  saved_ssp:      .quad   0
>>  #endif
> 
> ... we do need something for these 3 variables, or they want to move
> into a C file.

We have DATA_LOCAL(). Moving to a C file would be odd, as they're not used
outside of this file (and hence aren't global).

Jan