Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp4276149imm; Fri, 18 May 2018 02:18:08 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoR8CxQLm/GD2M6CutD4Ol/YPSyNLe1xCRerfKzhkMjIFkuHeaSXDtHqY8oRR1B+Jb4A7nL X-Received: by 2002:a65:52c8:: with SMTP id z8-v6mr6930867pgp.46.1526635088766; Fri, 18 May 2018 02:18:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526635088; cv=none; d=google.com; s=arc-20160816; b=kKf+p47Te/JjMMfG9MyleZ/A8m8OooOwo0H4qlAjUc7xZVxPOW6A8GPtRyom9GKJbF HfNdhiWJJ8TPHUQHTRlksOUq4jn1gzfaLufy6a98dFMtPPPbdTt7X+VDfiZESoOheKQp khZRGlzlWxA1mJhGw3Kfe1wCpPttbd4NcIFPsmrL7ak2mU0IkfsBRKQ1PnJUXKf8STZS CxoSoCn16OaOUuTFEq1/bdvxHqORYzFOQtwEh1SAoFLJWkmbQPVu3bdF0vkEvrjt2AvY g+4wjXTuBJZe9ru3LFgp5/PkfezB/Y69F7f2RpumMHsTO2wTpHkNSMC2fVMeWBY8YfH9 YtHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=KH/chlDuFyAsUunyyJzF2MlH6RtRk6wIwHqGXjW8Y3c=; b=OwTn/DcOt25LlvQ161pXUc+xgy3MmBdDHOOt1YvbG46M51FXWfadt7+yHmjgUnBp2A NfRBTANcOtLzAnHqGFv2UZDpguZCif4dgSEKrDJ+if0ildmU1+8FGTrvn1yeoeO/+g1v Qgm4yFxAeSX0oddT3URdI2D/omQ5LEZGE8ggSyN/ULIzKWVdBY7dXv8t84tKSMiSK8A5 4s1HcJvRxgdwBfpF/exNeN3I3jr0vld2pfeUd+mhc6EuxL14SZbDW4SDiUHISOUNwsGY Y7+9mhqxuS99fvtAfKsRQcxIZDMgP188uiDB7ADXhWTBhlv2xNAoceaR5JG74lNB8gKI Picg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b34-v6si7094807pld.272.2018.05.18.02.17.54; Fri, 18 May 2018 02:18:08 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753120AbeERJRa (ORCPT + 99 others); Fri, 18 May 2018 05:17:30 -0400 Received: from mx2.suse.de ([195.135.220.15]:45325 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753056AbeERJRZ (ORCPT ); Fri, 18 May 2018 05:17:25 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 9F732AF3C; Fri, 18 May 2018 09:17:23 +0000 (UTC) From: Jiri Slaby To: mingo@redhat.com Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Jiri Slaby Subject: [PATCH v6 00/28] New macros for assembler symbols Date: Fri, 18 May 2018 11:16:53 +0200 Message-Id: <20180518091721.7604-1-jslaby@suse.cz> X-Mailer: git-send-email 2.16.3 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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