All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jslaby@suse.cz>
To: mingo@redhat.com
Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
	Jiri Slaby <jslaby@suse.cz>
Subject: [PATCH v6 00/28] New macros for assembler symbols
Date: Fri, 18 May 2018 11:16:53 +0200	[thread overview]
Message-ID: <20180518091721.7604-1-jslaby@suse.cz> (raw)

This series introduces new macros for assembly as was discussed [1].
The macros are introduced in the first patch of the series. The rest
of patches start using these new macros in x86, converting *all* uses
of the old macros to the new ones throughout the last patch. With
every last user of some old macro, the macro is immediatelly made
forbidden for x86.

When this settles down, conversion of other architectures can be done
too.

For introduction, documentation, use and examples, please see
Documentation/asm-annotations.rst from the first patch of the series.

[1] https://lkml.org/lkml/2017/3/1/742


Jiri Slaby (28):
  linkage: new macros for assembler symbols
  x86/asm/suspend: drop ENTRY from local data
  x86/asm/suspend: use SYM_DATA for data
  x86/asm: annotate relocate_kernel
  x86/asm/entry: annotate THUNKs
  x86/asm: annotate local pseudo-functions
  x86/asm/crypto: annotate local functions
  x86/boot/compressed: annotate local functions
  x86/asm: annotate aliases
  x86/asm/entry: annotate interrupt symbols properly
  x86/asm/head: annotate data appropriatelly
  x86/boot/compressed: annotate data appropriatelly
  um: annotate data appropriatelly
  xen/pvh: annotate data appropriatelly
  x86/asm/purgatory: start using annotations
  x86/asm: do not annotate functions by GLOBAL
  x86/asm: use SYM_INNER_LABEL instead of GLOBAL
  x86/asm/realmode: use SYM_DATA_* instead of GLOBAL
  x86/asm: kill the last GLOBAL user and remove the macro
  x86/asm: make some functions local
  x86/asm/ftrace: mark function_hook as function
  x86_64/asm: add ENDs to some functions and relabel with SYM_CODE_*
  x86_64/asm: change all ENTRY+END to SYM_CODE_*
  x86_64/asm: change all ENTRY+ENDPROC to SYM_FUNC_*
  x86_32/asm: add ENDs to some functions and relabel with SYM_CODE_*
  x86_32/asm: change all ENTRY+END to SYM_CODE_*
  x86_32/asm: change all ENTRY+ENDPROC to SYM_FUNC_*
  x86/asm: replace WEAK uses by SYM_INNER_LABEL

 Documentation/asm-annotations.rst                  | 217 ++++++++++++++++++
 arch/x86/boot/compressed/efi_stub_32.S             |   4 +-
 arch/x86/boot/compressed/efi_thunk_64.S            |  33 +--
 arch/x86/boot/compressed/head_32.S                 |  15 +-
 arch/x86/boot/compressed/head_64.S                 |  60 ++---
 arch/x86/boot/compressed/mem_encrypt.S             |  14 +-
 arch/x86/boot/copy.S                               |  16 +-
 arch/x86/boot/pmjump.S                             |   8 +-
 arch/x86/crypto/aes-i586-asm_32.S                  |   8 +-
 arch/x86/crypto/aes-x86_64-asm_64.S                |   4 +-
 arch/x86/crypto/aes_ctrby8_avx-x86_64.S            |  12 +-
 arch/x86/crypto/aesni-intel_asm.S                  | 114 +++++-----
 arch/x86/crypto/aesni-intel_avx-x86_64.S           |  24 +-
 arch/x86/crypto/blowfish-x86_64-asm_64.S           |  16 +-
 arch/x86/crypto/camellia-aesni-avx-asm_64.S        |  44 ++--
 arch/x86/crypto/camellia-aesni-avx2-asm_64.S       |  44 ++--
 arch/x86/crypto/camellia-x86_64-asm_64.S           |  16 +-
 arch/x86/crypto/cast5-avx-x86_64-asm_64.S          |  24 +-
 arch/x86/crypto/cast6-avx-x86_64-asm_64.S          |  32 +--
 arch/x86/crypto/chacha20-avx2-x86_64.S             |   4 +-
 arch/x86/crypto/chacha20-ssse3-x86_64.S            |   8 +-
 arch/x86/crypto/crc32-pclmul_asm.S                 |   4 +-
 arch/x86/crypto/crc32c-pcl-intel-asm_64.S          |   4 +-
 arch/x86/crypto/crct10dif-pcl-asm_64.S             |   4 +-
 arch/x86/crypto/des3_ede-asm_64.S                  |   8 +-
 arch/x86/crypto/ghash-clmulni-intel_asm.S          |  12 +-
 arch/x86/crypto/poly1305-avx2-x86_64.S             |   4 +-
 arch/x86/crypto/poly1305-sse2-x86_64.S             |   8 +-
 arch/x86/crypto/salsa20-i586-asm_32.S              |   4 +-
 arch/x86/crypto/salsa20-x86_64-asm_64.S            |   4 +-
 arch/x86/crypto/serpent-avx-x86_64-asm_64.S        |  32 +--
 arch/x86/crypto/serpent-avx2-asm_64.S              |  32 +--
 arch/x86/crypto/serpent-sse2-i586-asm_32.S         |   8 +-
 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S       |   8 +-
 arch/x86/crypto/sha1-mb/sha1_mb_mgr_flush_avx2.S   |   8 +-
 arch/x86/crypto/sha1-mb/sha1_mb_mgr_submit_avx2.S  |   4 +-
 arch/x86/crypto/sha1-mb/sha1_x8_avx2.S             |   4 +-
 arch/x86/crypto/sha1_avx2_x86_64_asm.S             |   4 +-
 arch/x86/crypto/sha1_ni_asm.S                      |   4 +-
 arch/x86/crypto/sha1_ssse3_asm.S                   |   4 +-
 arch/x86/crypto/sha256-avx-asm.S                   |   4 +-
 arch/x86/crypto/sha256-avx2-asm.S                  |   4 +-
 .../crypto/sha256-mb/sha256_mb_mgr_flush_avx2.S    |   8 +-
 .../crypto/sha256-mb/sha256_mb_mgr_submit_avx2.S   |   4 +-
 arch/x86/crypto/sha256-mb/sha256_x8_avx2.S         |   4 +-
 arch/x86/crypto/sha256-ssse3-asm.S                 |   4 +-
 arch/x86/crypto/sha256_ni_asm.S                    |   4 +-
 arch/x86/crypto/sha512-avx-asm.S                   |   4 +-
 arch/x86/crypto/sha512-avx2-asm.S                  |   4 +-
 .../crypto/sha512-mb/sha512_mb_mgr_flush_avx2.S    |   8 +-
 .../crypto/sha512-mb/sha512_mb_mgr_submit_avx2.S   |   4 +-
 arch/x86/crypto/sha512-mb/sha512_x4_avx2.S         |   4 +-
 arch/x86/crypto/sha512-ssse3-asm.S                 |   4 +-
 arch/x86/crypto/twofish-avx-x86_64-asm_64.S        |  32 +--
 arch/x86/crypto/twofish-i586-asm_32.S              |   8 +-
 arch/x86/crypto/twofish-x86_64-asm_64-3way.S       |   8 +-
 arch/x86/crypto/twofish-x86_64-asm_64.S            |   8 +-
 arch/x86/entry/entry_32.S                          | 155 ++++++-------
 arch/x86/entry/entry_64.S                          | 107 ++++-----
 arch/x86/entry/entry_64_compat.S                   |  16 +-
 arch/x86/entry/thunk_32.S                          |   4 +-
 arch/x86/entry/thunk_64.S                          |   8 +-
 arch/x86/entry/vdso/vdso32/system_call.S           |   2 +-
 arch/x86/include/asm/linkage.h                     |   4 -
 arch/x86/kernel/acpi/wakeup_32.S                   |  11 +-
 arch/x86/kernel/acpi/wakeup_64.S                   |  25 ++-
 arch/x86/kernel/ftrace_32.S                        |  23 +-
 arch/x86/kernel/ftrace_64.S                        |  42 ++--
 arch/x86/kernel/head_32.S                          |  60 ++---
 arch/x86/kernel/head_64.S                          | 106 ++++-----
 arch/x86/kernel/relocate_kernel_32.S               |  13 +-
 arch/x86/kernel/relocate_kernel_64.S               |  13 +-
 arch/x86/kernel/verify_cpu.S                       |   4 +-
 arch/x86/lib/atomic64_386_32.S                     |   4 +-
 arch/x86/lib/atomic64_cx8_32.S                     |  32 +--
 arch/x86/lib/checksum_32.S                         |  16 +-
 arch/x86/lib/clear_page_64.S                       |  12 +-
 arch/x86/lib/cmpxchg16b_emu.S                      |   4 +-
 arch/x86/lib/cmpxchg8b_emu.S                       |   4 +-
 arch/x86/lib/copy_page_64.S                        |   8 +-
 arch/x86/lib/copy_user_64.S                        |  16 +-
 arch/x86/lib/csum-copy_64.S                        |   4 +-
 arch/x86/lib/getuser.S                             |  24 +-
 arch/x86/lib/hweight.S                             |   8 +-
 arch/x86/lib/iomap_copy_64.S                       |   4 +-
 arch/x86/lib/memcpy_64.S                           |  20 +-
 arch/x86/lib/memmove_64.S                          |   8 +-
 arch/x86/lib/memset_64.S                           |  16 +-
 arch/x86/lib/msr-reg.S                             |   8 +-
 arch/x86/lib/putuser.S                             |  20 +-
 arch/x86/lib/retpoline.S                           |   4 +-
 arch/x86/lib/rwsem.S                               |  24 +-
 arch/x86/math-emu/div_Xsig.S                       |   4 +-
 arch/x86/math-emu/div_small.S                      |   4 +-
 arch/x86/math-emu/mul_Xsig.S                       |  12 +-
 arch/x86/math-emu/polynom_Xsig.S                   |   4 +-
 arch/x86/math-emu/reg_norm.S                       |   8 +-
 arch/x86/math-emu/reg_round.S                      |   4 +-
 arch/x86/math-emu/reg_u_add.S                      |   4 +-
 arch/x86/math-emu/reg_u_div.S                      |   4 +-
 arch/x86/math-emu/reg_u_mul.S                      |   4 +-
 arch/x86/math-emu/reg_u_sub.S                      |   4 +-
 arch/x86/math-emu/round_Xsig.S                     |   8 +-
 arch/x86/math-emu/shr_Xsig.S                       |   4 +-
 arch/x86/math-emu/wm_shrx.S                        |   8 +-
 arch/x86/math-emu/wm_sqrt.S                        |   4 +-
 arch/x86/mm/mem_encrypt_boot.S                     |   8 +-
 arch/x86/platform/efi/efi_stub_32.S                |   4 +-
 arch/x86/platform/efi/efi_stub_64.S                |   4 +-
 arch/x86/platform/efi/efi_thunk_64.S               |  16 +-
 arch/x86/platform/olpc/xo1-wakeup.S                |   3 +-
 arch/x86/power/hibernate_asm_32.S                  |   6 +-
 arch/x86/power/hibernate_asm_64.S                  |  14 +-
 arch/x86/purgatory/entry64.S                       |  21 +-
 arch/x86/purgatory/setup-x86_64.S                  |  14 +-
 arch/x86/purgatory/stack.S                         |   7 +-
 arch/x86/realmode/rm/header.S                      |   8 +-
 arch/x86/realmode/rm/reboot.S                      |  13 +-
 arch/x86/realmode/rm/stack.S                       |  14 +-
 arch/x86/realmode/rm/trampoline_32.S               |  16 +-
 arch/x86/realmode/rm/trampoline_64.S               |  29 +--
 arch/x86/realmode/rm/trampoline_common.S           |   4 +-
 arch/x86/realmode/rm/wakeup_asm.S                  |  15 +-
 arch/x86/realmode/rmpiggy.S                        |  10 +-
 arch/x86/um/vdso/vdso.S                            |   6 +-
 arch/x86/xen/xen-asm.S                             |  20 +-
 arch/x86/xen/xen-asm_32.S                          |   7 +-
 arch/x86/xen/xen-asm_64.S                          |  34 +--
 arch/x86/xen/xen-head.S                            |   8 +-
 arch/x86/xen/xen-pvh.S                             |  15 +-
 include/linux/linkage.h                            | 247 ++++++++++++++++++++-
 131 files changed, 1459 insertions(+), 982 deletions(-)
 create mode 100644 Documentation/asm-annotations.rst

-- 
2.16.3

             reply	other threads:[~2018-05-18  9:17 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-18  9:16 Jiri Slaby [this message]
2018-05-18  9:16 ` [PATCH v6 01/28] linkage: new macros for assembler symbols Jiri Slaby
2018-05-18  9:16   ` Jiri Slaby
2018-05-18  9:16 ` [PATCH v6 02/28] x86/asm/suspend: drop ENTRY from local data Jiri Slaby
2018-05-18 10:03   ` Rafael J. Wysocki
2018-05-19 19:42   ` Pavel Machek
2018-05-18  9:16 ` [PATCH v6 03/28] x86/asm/suspend: use SYM_DATA for data Jiri Slaby
2018-05-18 10:03   ` Rafael J. Wysocki
2018-05-19 19:42   ` Pavel Machek
2018-05-18  9:16 ` [PATCH v6 04/28] x86/asm: annotate relocate_kernel Jiri Slaby
2018-05-18  9:16 ` [PATCH v6 05/28] x86/asm/entry: annotate THUNKs Jiri Slaby
2018-05-18  9:16 ` [PATCH v6 06/28] x86/asm: annotate local pseudo-functions Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 07/28] x86/asm/crypto: annotate local functions Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 08/28] x86/boot/compressed: " Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 09/28] x86/asm: annotate aliases Jiri Slaby
2018-05-18  9:17   ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 10/28] x86/asm/entry: annotate interrupt symbols properly Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 11/28] x86/asm/head: annotate data appropriatelly Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 12/28] x86/boot/compressed: " Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 13/28] um: " Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 14/28] xen/pvh: " Jiri Slaby
2018-05-18  9:17   ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 15/28] x86/asm/purgatory: start using annotations Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 16/28] x86/asm: do not annotate functions by GLOBAL Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 17/28] x86/asm: use SYM_INNER_LABEL instead of GLOBAL Jiri Slaby
2018-05-18 19:41   ` Andy Lutomirski
2018-05-19  7:44     ` Ingo Molnar
2018-05-21  7:13     ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 18/28] x86/asm/realmode: use SYM_DATA_* " Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 19/28] x86/asm: kill the last GLOBAL user and remove the macro Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 20/28] x86/asm: make some functions local Jiri Slaby
2018-05-18  9:17   ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 21/28] x86/asm/ftrace: mark function_hook as function Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 22/28] x86_64/asm: add ENDs to some functions and relabel with SYM_CODE_* Jiri Slaby
2018-05-18  9:17   ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 23/28] x86_64/asm: change all ENTRY+END to SYM_CODE_* Jiri Slaby
2018-05-18  9:17   ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 24/28] x86_64/asm: change all ENTRY+ENDPROC to SYM_FUNC_* Jiri Slaby
2018-05-18  9:17   ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 25/28] x86_32/asm: add ENDs to some functions and relabel with SYM_CODE_* Jiri Slaby
2018-05-18  9:17 ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 26/28] x86_32/asm: change all ENTRY+END to SYM_CODE_* Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 27/28] x86_32/asm: change all ENTRY+ENDPROC to SYM_FUNC_* Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 28/28] x86/asm: replace WEAK uses by SYM_INNER_LABEL Jiri Slaby

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180518091721.7604-1-jslaby@suse.cz \
    --to=jslaby@suse.cz \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.