Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1606408

Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START for data

From Jiri Slaby <jslaby@suse.cz>
Newsgroups linux.kernel
Subject Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START for data
Date 2017-03-22 13:10 +0100
Message-ID <tnNfs-2bK-17@gated-at.bofh.it> (permalink)
References <tlyNB-3TH-33@gated-at.bofh.it> <tn4Ln-4J7-5@gated-at.bofh.it> <tn4Lp-4J7-47@gated-at.bofh.it> <tnsNI-4r2-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

Hi,

On 03/21/2017, 03:08 PM, Pavel Machek wrote:
>> -ENTRY(saved_rbp)	.quad	0
>> -ENTRY(saved_rsi)	.quad	0
>> -ENTRY(saved_rdi)	.quad	0
>> -ENTRY(saved_rbx)	.quad	0
>> +SYM_DATA_START(saved_rbp)		.quad	0
>> +SYM_DATA_START(saved_rsi)		.quad	0
>> +SYM_DATA_START(saved_rdi)		.quad	0
>> +SYM_DATA_START(saved_rbx)		.quad	0
> 
> Does it make sense to call it SYM_DATA_*START* when there's no
> corresponding end?
> 
> Plus... it looks like saved_rsi (and friends) are only used inside
> wakeup_64.S. Could we just delete the "ENTRY" annotations?


So, now I have:

=== linkage.h ===

/* SYM_DATA_SIMPLE -- start+end wrapper around simple global data */
#ifndef SYM_DATA_SIMPLE
#define SYM_DATA_SIMPLE(name, data)                             \
        SYM_DATA_START(name) ASM_NL                             \
        data ASM_NL                                             \
        SYM_DATA_END(name)
#endif

/* SYM_DATA_SIMPLE_LOCAL -- start+end wrapper around simple local data */
#ifndef SYM_DATA_SIMPLE_LOCAL
#define SYM_DATA_SIMPLE_LOCAL(name, data)                       \
        SYM_DATA_START_LOCAL(name) ASM_NL                       \
        data ASM_NL                                             \
        SYM_DATA_END(name)
#endif

=== wakeup_64.S ===

SYM_DATA_SIMPLE_LOCAL(saved_rbp, .quad 0)
SYM_DATA_SIMPLE_LOCAL(saved_rsi, .quad 0)
SYM_DATA_SIMPLE_LOCAL(saved_rdi, .quad 0)
SYM_DATA_SIMPLE_LOCAL(saved_rbx, .quad 0)

SYM_DATA_SIMPLE_LOCAL(saved_rip, .quad 0)
SYM_DATA_SIMPLE_LOCAL(saved_rsp, .quad 0)

SYM_DATA_SIMPLE_LOCAL(saved_magic, .quad 0)

=== original ===

    10: 0000000000000060     0 NOTYPE  GLOBAL DEFAULT    3 saved_magic
    11: 0000000000000050     0 NOTYPE  GLOBAL DEFAULT    3 saved_rsp
    12: 0000000000000030     0 NOTYPE  GLOBAL DEFAULT    3 saved_rbx
    13: 0000000000000020     0 NOTYPE  GLOBAL DEFAULT    3 saved_rdi
    14: 0000000000000010     0 NOTYPE  GLOBAL DEFAULT    3 saved_rsi
    15: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT    3 saved_rbp
    16: 0000000000000040     0 NOTYPE  GLOBAL DEFAULT    3 saved_rip

=== new ===

     4: 0000000000000030     8 OBJECT  LOCAL  DEFAULT    3 saved_magic
     6: 0000000000000028     8 OBJECT  LOCAL  DEFAULT    3 saved_rsp
     7: 0000000000000018     8 OBJECT  LOCAL  DEFAULT    3 saved_rbx
     8: 0000000000000010     8 OBJECT  LOCAL  DEFAULT    3 saved_rdi
     9: 0000000000000008     8 OBJECT  LOCAL  DEFAULT    3 saved_rsi
    10: 0000000000000000     8 OBJECT  LOCAL  DEFAULT    3 saved_rbp
    11: 0000000000000020     8 OBJECT  LOCAL  DEFAULT    3 saved_rip

=== EOF ===

BTW, ENTRY() aligned the data to 2^4 = 16 as we can see in the original.
But I see no point aligning data like this.

thanks,
-- 
js
suse labs

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [RFC] linkage: new macros for functions and data Ingo Molnar <mingo@kernel.org> - 2017-03-16 09:10 +0100
  Re: [RFC] linkage: new macros for functions and data Jiri Slaby <jslaby@suse.cz> - 2017-03-16 09:20 +0100
    [PATCH v2 07/10] x86: assembly, annotate aliases Jiri Slaby <jslaby@suse.cz> - 2017-03-20 13:40 +0100
    [PATCH v2 04/10] x86: boot, annotate functions properly Jiri Slaby <jslaby@suse.cz> - 2017-03-20 13:40 +0100
    [PATCH v2 09/10] x86: entry, annotate interrupt symbols properly Jiri Slaby <jslaby@suse.cz> - 2017-03-20 13:40 +0100
    [PATCH v2 03/10] x86: assembly, use SYM_FUNC_END for functions Jiri Slaby <jslaby@suse.cz> - 2017-03-20 13:40 +0100
      Re: [PATCH v2 03/10] x86: assembly, use SYM_FUNC_END for functions Josh Poimboeuf <jpoimboe@redhat.com> - 2017-03-21 15:50 +0100
        Re: [PATCH v2 03/10] x86: assembly, use SYM_FUNC_END for functions Ingo Molnar <mingo@kernel.org> - 2017-03-22 08:40 +0100
      Re: [PATCH v2 03/10] x86: assembly, use SYM_FUNC_END for functions Josh Poimboeuf <jpoimboe@redhat.com> - 2017-03-22 15:30 +0100
        Re: [PATCH v2 03/10] x86: assembly, use SYM_FUNC_END for functions Jiri Slaby <jslaby@suse.cz> - 2017-03-22 17:00 +0100
    [PATCH v2 05/10] x86: kernel+lib, annotate local functions Jiri Slaby <jslaby@suse.cz> - 2017-03-20 13:40 +0100
    [PATCH v2 08/10] x86: entry, annotate THUNKs Jiri Slaby <jslaby@suse.cz> - 2017-03-20 13:40 +0100
    [PATCH v2 06/10] x86: crypto, annotate local functions Jiri Slaby <jslaby@suse.cz> - 2017-03-20 13:40 +0100
    [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START for data Jiri Slaby <jslaby@suse.cz> - 2017-03-20 13:40 +0100
      Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START  for data Josh Poimboeuf <jpoimboe@redhat.com> - 2017-03-20 14:40 +0100
        Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START for  data Jiri Slaby <jslaby@suse.cz> - 2017-03-20 16:50 +0100
          Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START  for data Josh Poimboeuf <jpoimboe@redhat.com> - 2017-03-20 17:10 +0100
      Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START  for data Pavel Machek <pavel@ucw.cz> - 2017-03-21 15:20 +0100
        Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START  for data Ingo Molnar <mingo@kernel.org> - 2017-03-22 08:30 +0100
          Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START for  data Jiri Slaby <jslaby@suse.cz> - 2017-03-22 08:50 +0100
            Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START  for data Ingo Molnar <mingo@kernel.org> - 2017-03-22 08:50 +0100
              Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START  for data Josh Poimboeuf <jpoimboe@redhat.com> - 2017-03-22 15:20 +0100
                Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START for  data Jiri Slaby <jslaby@suse.cz> - 2017-03-22 16:10 +0100
                Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START  for data Josh Poimboeuf <jpoimboe@redhat.com> - 2017-03-22 16:40 +0100
                Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START  for data Ingo Molnar <mingo@kernel.org> - 2017-03-23 08:40 +0100
                Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START  for data Josh Poimboeuf <jpoimboe@redhat.com> - 2017-03-23 14:30 +0100
        Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START for  data Jiri Slaby <jslaby@suse.cz> - 2017-03-22 13:10 +0100
          Re: [PATCH v2 02/10] x86: assembly, FUNC_START for fn, DATA_START  for data Pavel Machek <pavel@ucw.cz> - 2017-03-22 17:00 +0100
    [RFC v2 10/10] x86: boot, extract efi_pe_entry from startup_64 Jiri Slaby <jslaby@suse.cz> - 2017-03-20 13:40 +0100
    [PATCH v2 01/10] linkage: new macros for assembler symbols Jiri Slaby <jslaby@suse.cz> - 2017-03-20 13:40 +0100

csiph-web