From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 689B8E7C4C4 for ; Wed, 4 Oct 2023 14:34:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242856AbjJDOez (ORCPT ); Wed, 4 Oct 2023 10:34:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42866 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242693AbjJDOew (ORCPT ); Wed, 4 Oct 2023 10:34:52 -0400 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 93707C9 for ; Wed, 4 Oct 2023 07:34:47 -0700 (PDT) Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-406532c49dcso4962885e9.0 for ; Wed, 04 Oct 2023 07:34:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1696430086; x=1697034886; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MXaQMk+JK+X4zHvl3kz5vwePkrXa+tZKqfSL/BnIpXk=; b=CjdUiRYnAKSV411/i9j9BL+R+nTjnXgGTcWRkNRA4tgoMjY9pbFc2Y1p1XW5OyFHqv BCbszCvBARE5pyHJGJQPBo7HzKdxWAAGJJYivVnzJy0zDN2KB596hEC3FBnkGj40SGbu psDoWgHFnKFuEusIuYYyOSxexy38tQQ0FfTkXydVXbTW2K4SNlpkdwawct1FRRadCmRr cwsaDc7w4gEuMQV0QqFH+oLGDl9gRoe8OovD9VZLcFR85Sulhv4C6ha9SfIhlXGkctEs fM6d+EhSrrsqe2YqDVfgSlkHJfAeHW/mgQts9zgu4u6ImeY551WP32BiNOnNjwMMDA56 TkmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696430086; x=1697034886; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MXaQMk+JK+X4zHvl3kz5vwePkrXa+tZKqfSL/BnIpXk=; b=Ch5bT/Sfe8Cxx5sMlv1j3rVRI1DvsL0LdTIk2UNbzhtcnCssLvLlTwYd20WAYAQjzE iOsuK4OdQmP9ipx/uemSU1/RsfuGWadkfCgEsRtLzfAItJqOwxmAJG2aF5EvmZ6HkzMF z+oisT5Lj6uPTVYDSSG7lkpF9YxmuGOw3lhilD/w1hc18+MFWfW8o9hWVLhhvz7ZS3e9 TiivUgF/JtlypZZPvnxfgftnb6MiCooW4iVkOc/4ovsmqmN/ltQ4EBAKOn87B3FuWhhf vJa6TqXz1nJ6UTHlAp2FPdXbhI4N3EpsHEBT1eYWwVUyy21fhnhe7zoa/OnMJGGc4RSl iTbg== X-Gm-Message-State: AOJu0YyU68PUQqWgsRpiv3e7FjIR+JM8wBrx/TO4LLrNl4ayV9gTJmkN kF3zL/94UL8pD77bCAT5byS0Kw== X-Google-Smtp-Source: AGHT+IHeHQizcr6bYBpFTLOBtKJ/gLmCeLQ799Wow3B1XmwQI4OLxlf76vgvP+Md1mxcPz4/Hf1iDQ== X-Received: by 2002:a05:600c:1c1f:b0:405:38d1:621 with SMTP id j31-20020a05600c1c1f00b0040538d10621mr2495809wms.3.1696430085709; Wed, 04 Oct 2023 07:34:45 -0700 (PDT) Received: from carbon-x1.. ([2a01:e0a:999:a3a0:9474:8d75:5115:42cb]) by smtp.gmail.com with ESMTPSA id t20-20020a1c7714000000b00401e32b25adsm1686205wmi.4.2023.10.04.07.34.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 07:34:45 -0700 (PDT) From: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= To: Paul Walmsley , Palmer Dabbelt , Albert Ou , Anup Patel , Atish Patra Cc: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org Subject: [PATCH 2/5] riscv: Use SYM_*() assembly macros instead of deprecated ones Date: Wed, 4 Oct 2023 16:30:51 +0200 Message-ID: <20231004143054.482091-3-cleger@rivosinc.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231004143054.482091-1-cleger@rivosinc.com> References: <20231004143054.482091-1-cleger@rivosinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org ENTRY()/END()/WEAK() macros are deprecated and we should make use of the new SYM_*() macros [1] for better annotation of symbols. Replace the deprecated ones with the new ones and fix wrong usage of END()/ENDPROC() to correctly describe the symbols. [1] https://docs.kernel.org/core-api/asm-annotations.html Signed-off-by: Clément Léger --- arch/riscv/kernel/copy-unaligned.S | 8 ++++---- arch/riscv/kernel/fpu.S | 8 ++++---- arch/riscv/kernel/head.S | 12 +++++------ arch/riscv/kernel/hibernate-asm.S | 12 +++++------ arch/riscv/kernel/mcount-dyn.S | 20 ++++++++----------- arch/riscv/kernel/mcount.S | 8 ++++---- arch/riscv/kernel/probes/rethook_trampoline.S | 4 ++-- arch/riscv/kernel/suspend_entry.S | 4 ++-- arch/riscv/kernel/vdso/flush_icache.S | 4 ++-- arch/riscv/kernel/vdso/getcpu.S | 4 ++-- arch/riscv/kernel/vdso/rt_sigreturn.S | 4 ++-- arch/riscv/kernel/vdso/sys_hwprobe.S | 4 ++-- arch/riscv/lib/memcpy.S | 6 +++--- arch/riscv/lib/memmove.S | 2 +- arch/riscv/lib/memset.S | 6 +++--- arch/riscv/lib/uaccess.S | 11 +++++----- arch/riscv/purgatory/entry.S | 16 +++++---------- 17 files changed, 61 insertions(+), 72 deletions(-) diff --git a/arch/riscv/kernel/copy-unaligned.S b/arch/riscv/kernel/copy-unaligned.S index cfdecfbaad62..2b3d9398c113 100644 --- a/arch/riscv/kernel/copy-unaligned.S +++ b/arch/riscv/kernel/copy-unaligned.S @@ -9,7 +9,7 @@ /* void __riscv_copy_words_unaligned(void *, const void *, size_t) */ /* Performs a memcpy without aligning buffers, using word loads and stores. */ /* Note: The size is truncated to a multiple of 8 * SZREG */ -ENTRY(__riscv_copy_words_unaligned) +SYM_FUNC_START(__riscv_copy_words_unaligned) andi a4, a2, ~((8*SZREG)-1) beqz a4, 2f add a3, a1, a4 @@ -36,12 +36,12 @@ ENTRY(__riscv_copy_words_unaligned) 2: ret -END(__riscv_copy_words_unaligned) +SYM_FUNC_END(__riscv_copy_words_unaligned) /* void __riscv_copy_bytes_unaligned(void *, const void *, size_t) */ /* Performs a memcpy without aligning buffers, using only byte accesses. */ /* Note: The size is truncated to a multiple of 8 */ -ENTRY(__riscv_copy_bytes_unaligned) +SYM_FUNC_START(__riscv_copy_bytes_unaligned) andi a4, a2, ~(8-1) beqz a4, 2f add a3, a1, a4 @@ -68,4 +68,4 @@ ENTRY(__riscv_copy_bytes_unaligned) 2: ret -END(__riscv_copy_bytes_unaligned) +SYM_FUNC_END(__riscv_copy_bytes_unaligned) diff --git a/arch/riscv/kernel/fpu.S b/arch/riscv/kernel/fpu.S index dd2205473de7..6201afcd6b45 100644 --- a/arch/riscv/kernel/fpu.S +++ b/arch/riscv/kernel/fpu.S @@ -19,7 +19,7 @@ #include #include -ENTRY(__fstate_save) +SYM_FUNC_START(__fstate_save) li a2, TASK_THREAD_F0 add a0, a0, a2 li t1, SR_FS @@ -60,9 +60,9 @@ ENTRY(__fstate_save) sw t0, TASK_THREAD_FCSR_F0(a0) csrc CSR_STATUS, t1 ret -ENDPROC(__fstate_save) +SYM_FUNC_END(__fstate_save) -ENTRY(__fstate_restore) +SYM_FUNC_START(__fstate_restore) li a2, TASK_THREAD_F0 add a0, a0, a2 li t1, SR_FS @@ -103,4 +103,4 @@ ENTRY(__fstate_restore) fscsr t0 csrc CSR_STATUS, t1 ret -ENDPROC(__fstate_restore) +SYM_FUNC_END(__fstate_restore) diff --git a/arch/riscv/kernel/head.S b/arch/riscv/kernel/head.S index 7e1b83f18a50..56f78ec304c6 100644 --- a/arch/riscv/kernel/head.S +++ b/arch/riscv/kernel/head.S @@ -18,7 +18,7 @@ #include "efi-header.S" __HEAD -ENTRY(_start) +SYM_CODE_START(_start) /* * Image header expected by Linux boot-loaders. The image header data * structure is described in asm/image.h. @@ -191,9 +191,9 @@ secondary_start_sbi: wfi j .Lsecondary_park -END(_start) +SYM_CODE_END(_start) -ENTRY(_start_kernel) +SYM_CODE_START(_start_kernel) /* Mask all interrupts */ csrw CSR_IE, zero csrw CSR_IP, zero @@ -353,10 +353,10 @@ ENTRY(_start_kernel) tail .Lsecondary_start_common #endif /* CONFIG_RISCV_BOOT_SPINWAIT */ -END(_start_kernel) +SYM_CODE_END(_start_kernel) #ifdef CONFIG_RISCV_M_MODE -ENTRY(reset_regs) +SYM_CODE_START_LOCAL(reset_regs) li sp, 0 li gp, 0 li tp, 0 @@ -454,5 +454,5 @@ ENTRY(reset_regs) .Lreset_regs_done_vector: #endif /* CONFIG_RISCV_ISA_V */ ret -END(reset_regs) +SYM_CODE_END(reset_regs) #endif /* CONFIG_RISCV_M_MODE */ diff --git a/arch/riscv/kernel/hibernate-asm.S b/arch/riscv/kernel/hibernate-asm.S index d698dd7df637..d040dcf4add4 100644 --- a/arch/riscv/kernel/hibernate-asm.S +++ b/arch/riscv/kernel/hibernate-asm.S @@ -21,7 +21,7 @@ * * Always returns 0 */ -ENTRY(__hibernate_cpu_resume) +SYM_FUNC_START(__hibernate_cpu_resume) /* switch to hibernated image's page table. */ csrw CSR_SATP, s0 sfence.vma @@ -34,7 +34,7 @@ ENTRY(__hibernate_cpu_resume) mv a0, zero ret -END(__hibernate_cpu_resume) +SYM_FUNC_END(__hibernate_cpu_resume) /* * Prepare to restore the image. @@ -42,7 +42,7 @@ END(__hibernate_cpu_resume) * a1: satp of temporary page tables. * a2: cpu_resume. */ -ENTRY(hibernate_restore_image) +SYM_FUNC_START(hibernate_restore_image) mv s0, a0 mv s1, a1 mv s2, a2 @@ -50,7 +50,7 @@ ENTRY(hibernate_restore_image) REG_L a1, relocated_restore_code jr a1 -END(hibernate_restore_image) +SYM_FUNC_END(hibernate_restore_image) /* * The below code will be executed from a 'safe' page. @@ -58,7 +58,7 @@ END(hibernate_restore_image) * back to the original memory location. Finally, it jumps to __hibernate_cpu_resume() * to restore the CPU context. */ -ENTRY(hibernate_core_restore_code) +SYM_FUNC_START(hibernate_core_restore_code) /* switch to temp page table. */ csrw satp, s1 sfence.vma @@ -73,4 +73,4 @@ ENTRY(hibernate_core_restore_code) bnez s4, .Lcopy jr s2 -END(hibernate_core_restore_code) +SYM_FUNC_END(hibernate_core_restore_code) diff --git a/arch/riscv/kernel/mcount-dyn.S b/arch/riscv/kernel/mcount-dyn.S index 669b8697aa38..58dd96a2a153 100644 --- a/arch/riscv/kernel/mcount-dyn.S +++ b/arch/riscv/kernel/mcount-dyn.S @@ -82,7 +82,7 @@ .endm #endif /* CONFIG_DYNAMIC_FTRACE_WITH_REGS */ -ENTRY(ftrace_caller) +SYM_FUNC_START(ftrace_caller) SAVE_ABI addi a0, t0, -FENTRY_RA_OFFSET @@ -91,8 +91,7 @@ ENTRY(ftrace_caller) mv a1, ra mv a3, sp -ftrace_call: - .global ftrace_call +SYM_INNER_LABEL(ftrace_call, SYM_L_GLOBAL) call ftrace_stub #ifdef CONFIG_FUNCTION_GRAPH_TRACER @@ -102,16 +101,15 @@ ftrace_call: #ifdef HAVE_FUNCTION_GRAPH_FP_TEST mv a2, s0 #endif -ftrace_graph_call: - .global ftrace_graph_call +SYM_INNER_LABEL(ftrace_graph_call, SYM_L_GLOBAL) call ftrace_stub #endif RESTORE_ABI jr t0 -ENDPROC(ftrace_caller) +SYM_FUNC_END(ftrace_caller) #ifdef CONFIG_DYNAMIC_FTRACE_WITH_REGS -ENTRY(ftrace_regs_caller) +SYM_FUNC_START(ftrace_regs_caller) SAVE_ALL addi a0, t0, -FENTRY_RA_OFFSET @@ -120,8 +118,7 @@ ENTRY(ftrace_regs_caller) mv a1, ra mv a3, sp -ftrace_regs_call: - .global ftrace_regs_call +SYM_INNER_LABEL(ftrace_regs_call, SYM_L_GLOBAL) call ftrace_stub #ifdef CONFIG_FUNCTION_GRAPH_TRACER @@ -131,12 +128,11 @@ ftrace_regs_call: #ifdef HAVE_FUNCTION_GRAPH_FP_TEST mv a2, s0 #endif -ftrace_graph_regs_call: - .global ftrace_graph_regs_call +SYM_INNER_LABEL(ftrace_graph_regs_call, SYM_L_GLOBAL) call ftrace_stub #endif RESTORE_ALL jr t0 -ENDPROC(ftrace_regs_caller) +SYM_FUNC_END(ftrace_regs_caller) #endif /* CONFIG_DYNAMIC_FTRACE_WITH_REGS */ diff --git a/arch/riscv/kernel/mcount.S b/arch/riscv/kernel/mcount.S index ab4dd0594fe7..b4dd9ed6849e 100644 --- a/arch/riscv/kernel/mcount.S +++ b/arch/riscv/kernel/mcount.S @@ -61,7 +61,7 @@ SYM_TYPED_FUNC_START(ftrace_stub_graph) ret SYM_FUNC_END(ftrace_stub_graph) -ENTRY(return_to_handler) +SYM_FUNC_START(return_to_handler) /* * On implementing the frame point test, the ideal way is to compare the * s0 (frame pointer, if enabled) on entry and the sp (stack pointer) on return. @@ -76,11 +76,11 @@ ENTRY(return_to_handler) mv a2, a0 RESTORE_RET_ABI_STATE jalr a2 -ENDPROC(return_to_handler) +SYM_FUNC_END(return_to_handler) #endif #ifndef CONFIG_DYNAMIC_FTRACE -ENTRY(MCOUNT_NAME) +SYM_FUNC_START(MCOUNT_NAME) la t4, ftrace_stub #ifdef CONFIG_FUNCTION_GRAPH_TRACER la t0, ftrace_graph_return @@ -126,6 +126,6 @@ ENTRY(MCOUNT_NAME) jalr t5 RESTORE_ABI_STATE ret -ENDPROC(MCOUNT_NAME) +SYM_FUNC_END(MCOUNT_NAME) #endif EXPORT_SYMBOL(MCOUNT_NAME) diff --git a/arch/riscv/kernel/probes/rethook_trampoline.S b/arch/riscv/kernel/probes/rethook_trampoline.S index 21bac92a170a..f2cd83d9b0f0 100644 --- a/arch/riscv/kernel/probes/rethook_trampoline.S +++ b/arch/riscv/kernel/probes/rethook_trampoline.S @@ -75,7 +75,7 @@ REG_L x31, PT_T6(sp) .endm -ENTRY(arch_rethook_trampoline) +SYM_CODE_START(arch_rethook_trampoline) addi sp, sp, -(PT_SIZE_ON_STACK) save_all_base_regs @@ -90,4 +90,4 @@ ENTRY(arch_rethook_trampoline) addi sp, sp, PT_SIZE_ON_STACK ret -ENDPROC(arch_rethook_trampoline) +SYM_CODE_END(arch_rethook_trampoline) diff --git a/arch/riscv/kernel/suspend_entry.S b/arch/riscv/kernel/suspend_entry.S index f7960c7c5f9e..a59c4c903696 100644 --- a/arch/riscv/kernel/suspend_entry.S +++ b/arch/riscv/kernel/suspend_entry.S @@ -16,7 +16,7 @@ .altmacro .option norelax -ENTRY(__cpu_suspend_enter) +SYM_FUNC_START(__cpu_suspend_enter) /* Save registers (except A0 and T0-T6) */ REG_S ra, (SUSPEND_CONTEXT_REGS + PT_RA)(a0) REG_S sp, (SUSPEND_CONTEXT_REGS + PT_SP)(a0) @@ -57,7 +57,7 @@ ENTRY(__cpu_suspend_enter) /* Return to C code */ ret -END(__cpu_suspend_enter) +SYM_FUNC_END(__cpu_suspend_enter) SYM_TYPED_FUNC_START(__cpu_resume_enter) /* Load the global pointer */ diff --git a/arch/riscv/kernel/vdso/flush_icache.S b/arch/riscv/kernel/vdso/flush_icache.S index 82f97d67c23e..8f884227e8bc 100644 --- a/arch/riscv/kernel/vdso/flush_icache.S +++ b/arch/riscv/kernel/vdso/flush_icache.S @@ -8,7 +8,7 @@ .text /* int __vdso_flush_icache(void *start, void *end, unsigned long flags); */ -ENTRY(__vdso_flush_icache) +SYM_FUNC_START(__vdso_flush_icache) .cfi_startproc #ifdef CONFIG_SMP li a7, __NR_riscv_flush_icache @@ -19,4 +19,4 @@ ENTRY(__vdso_flush_icache) #endif ret .cfi_endproc -ENDPROC(__vdso_flush_icache) +SYM_FUNC_END(__vdso_flush_icache) diff --git a/arch/riscv/kernel/vdso/getcpu.S b/arch/riscv/kernel/vdso/getcpu.S index bb0c05e2ffba..9c1bd531907f 100644 --- a/arch/riscv/kernel/vdso/getcpu.S +++ b/arch/riscv/kernel/vdso/getcpu.S @@ -8,11 +8,11 @@ .text /* int __vdso_getcpu(unsigned *cpu, unsigned *node, void *unused); */ -ENTRY(__vdso_getcpu) +SYM_FUNC_START(__vdso_getcpu) .cfi_startproc /* For now, just do the syscall. */ li a7, __NR_getcpu ecall ret .cfi_endproc -ENDPROC(__vdso_getcpu) +SYM_FUNC_END(__vdso_getcpu) diff --git a/arch/riscv/kernel/vdso/rt_sigreturn.S b/arch/riscv/kernel/vdso/rt_sigreturn.S index 10438c7c626a..3dc022aa8931 100644 --- a/arch/riscv/kernel/vdso/rt_sigreturn.S +++ b/arch/riscv/kernel/vdso/rt_sigreturn.S @@ -7,10 +7,10 @@ #include .text -ENTRY(__vdso_rt_sigreturn) +SYM_FUNC_START(__vdso_rt_sigreturn) .cfi_startproc .cfi_signal_frame li a7, __NR_rt_sigreturn ecall .cfi_endproc -ENDPROC(__vdso_rt_sigreturn) +SYM_FUNC_END(__vdso_rt_sigreturn) diff --git a/arch/riscv/kernel/vdso/sys_hwprobe.S b/arch/riscv/kernel/vdso/sys_hwprobe.S index 4e704146c77a..77e57f830521 100644 --- a/arch/riscv/kernel/vdso/sys_hwprobe.S +++ b/arch/riscv/kernel/vdso/sys_hwprobe.S @@ -5,11 +5,11 @@ #include .text -ENTRY(riscv_hwprobe) +SYM_FUNC_START(riscv_hwprobe) .cfi_startproc li a7, __NR_riscv_hwprobe ecall ret .cfi_endproc -ENDPROC(riscv_hwprobe) +SYM_FUNC_END(riscv_hwprobe) diff --git a/arch/riscv/lib/memcpy.S b/arch/riscv/lib/memcpy.S index 1a40d01a9543..44e009ec5fef 100644 --- a/arch/riscv/lib/memcpy.S +++ b/arch/riscv/lib/memcpy.S @@ -7,8 +7,7 @@ #include /* void *memcpy(void *, const void *, size_t) */ -ENTRY(__memcpy) -WEAK(memcpy) +SYM_FUNC_START(__memcpy) move t6, a0 /* Preserve return value */ /* Defer to byte-oriented copy for small sizes */ @@ -105,6 +104,7 @@ WEAK(memcpy) bltu a1, a3, 5b 6: ret -END(__memcpy) +SYM_FUNC_END(__memcpy) +SYM_FUNC_ALIAS_WEAK(memcpy, __memcpy) SYM_FUNC_ALIAS(__pi_memcpy, __memcpy) SYM_FUNC_ALIAS(__pi___memcpy, __memcpy) diff --git a/arch/riscv/lib/memmove.S b/arch/riscv/lib/memmove.S index 1930b388c3a0..5130033e3e02 100644 --- a/arch/riscv/lib/memmove.S +++ b/arch/riscv/lib/memmove.S @@ -7,7 +7,6 @@ #include SYM_FUNC_START(__memmove) -SYM_FUNC_START_WEAK(memmove) /* * Returns * a0 - dest @@ -314,5 +313,6 @@ SYM_FUNC_START_WEAK(memmove) SYM_FUNC_END(memmove) SYM_FUNC_END(__memmove) +SYM_FUNC_ALIAS_WEAK(memmove, __memmove) SYM_FUNC_ALIAS(__pi_memmove, __memmove) SYM_FUNC_ALIAS(__pi___memmove, __memmove) diff --git a/arch/riscv/lib/memset.S b/arch/riscv/lib/memset.S index 34c5360c6705..35f358e70bdb 100644 --- a/arch/riscv/lib/memset.S +++ b/arch/riscv/lib/memset.S @@ -8,8 +8,7 @@ #include /* void *memset(void *, int, size_t) */ -ENTRY(__memset) -WEAK(memset) +SYM_FUNC_START(__memset) move t0, a0 /* Preserve return value */ /* Defer to byte-oriented fill for small sizes */ @@ -110,4 +109,5 @@ WEAK(memset) bltu t0, a3, 5b 6: ret -END(__memset) +SYM_FUNC_END(__memset) +SYM_FUNC_ALIAS_WEAK(memset, __memset) diff --git a/arch/riscv/lib/uaccess.S b/arch/riscv/lib/uaccess.S index 09b47ebacf2e..3ab438f30d13 100644 --- a/arch/riscv/lib/uaccess.S +++ b/arch/riscv/lib/uaccess.S @@ -10,8 +10,7 @@ _asm_extable 100b, \lbl .endm -ENTRY(__asm_copy_to_user) -ENTRY(__asm_copy_from_user) +SYM_FUNC_START(__asm_copy_to_user) /* Enable access to user memory */ li t6, SR_SUM @@ -181,13 +180,13 @@ ENTRY(__asm_copy_from_user) csrc CSR_STATUS, t6 sub a0, t5, a0 ret -ENDPROC(__asm_copy_to_user) -ENDPROC(__asm_copy_from_user) +SYM_FUNC_END(__asm_copy_to_user) EXPORT_SYMBOL(__asm_copy_to_user) +SYM_FUNC_ALIAS(__asm_copy_from_user, __asm_copy_to_user) EXPORT_SYMBOL(__asm_copy_from_user) -ENTRY(__clear_user) +SYM_FUNC_START(__clear_user) /* Enable access to user memory */ li t6, SR_SUM @@ -233,5 +232,5 @@ ENTRY(__clear_user) csrc CSR_STATUS, t6 sub a0, a3, a0 ret -ENDPROC(__clear_user) +SYM_FUNC_END(__clear_user) EXPORT_SYMBOL(__clear_user) diff --git a/arch/riscv/purgatory/entry.S b/arch/riscv/purgatory/entry.S index 0194f4554130..7befa276fb01 100644 --- a/arch/riscv/purgatory/entry.S +++ b/arch/riscv/purgatory/entry.S @@ -7,15 +7,11 @@ * Author: Li Zhengyu (lizhengyu3@huawei.com) * */ - -.macro size, sym:req - .size \sym, . - \sym -.endm +#include .text -.globl purgatory_start -purgatory_start: +SYM_CODE_START(purgatory_start) lla sp, .Lstack mv s0, a0 /* The hartid of the current hart */ @@ -28,8 +24,7 @@ purgatory_start: mv a1, s1 ld a2, riscv_kernel_entry jr a2 - -size purgatory_start +SYM_CODE_END(purgatory_start) .align 4 .rept 256 @@ -39,9 +34,8 @@ size purgatory_start .data -.globl riscv_kernel_entry -riscv_kernel_entry: +SYM_DATA_START(riscv_kernel_entry) .quad 0 -size riscv_kernel_entry +SYM_DATA_END(riscv_kernel_entry) .end -- 2.42.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9481FE7C4C5 for ; Wed, 4 Oct 2023 14:35:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=CuZiKLooa88vWGcWuC07qHsuIiHOIX2WfBZelmzCkf8=; b=RSQHLWAqVfeAkA 3qLymt3mC35V8/5T4XHT+ztp6AdswzlFPyxULAbiVXcquZCkax14VG2+GR42n7q0TBwYeCKf2Re0E wOZ3gW0agyzd/DlXCQ4d2832XEZaOtB1AyrVS6V3ZO9dpS0wXeZJOwy/uYVPrRfGzIbTSYgXHcMDX fJzdpFSpoUC7s5e6ZFrihUMjRkZXp8DG6HeDLp6gEOslzTcxL2Yl216V2M1ou1QlAir+0SrzbRTUR ZZlKxH59odfTbwSYrVvN8Ya8RH+qkx6bnwLgWsdev+HCGzKej8zybTiyX1HgHdyP+lBTu7H/TmC2X uC2DO86kIrBBaGV2Yj4g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qo2xj-000EOo-1B; Wed, 04 Oct 2023 14:34:55 +0000 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qo2xd-000EJK-2N for linux-riscv@lists.infradead.org; Wed, 04 Oct 2023 14:34:52 +0000 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-406553f6976so4960885e9.1 for ; Wed, 04 Oct 2023 07:34:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1696430086; x=1697034886; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MXaQMk+JK+X4zHvl3kz5vwePkrXa+tZKqfSL/BnIpXk=; b=nA5rSAFFLRzKKJeJba3qd5Ns3aBB5qTW4uwZatnuWuaOKeMMnbemKtNr+nO3/vU6yd wHXXZcfb+j/eTRe0jjJLBOaJwam8+HMpJay9xQg8l+7IdNUtwlOxgQDHDGCj0G9H/PVM t4/TZzk0bRrW7p9V2crp94P1OCf0lQh6NI4OAk1rqoMKd+Kv748JsoDQTQ8uwpTPDLUH YB7Y4xV/hu1jtuVN94QdPsVafyS7PiIjXkqAk9Pfb/E+MpHYdfVM+jVTf0P79i12W97w z90XzGCTJuJldrquMCSRxs/rBdEhqhG02GahDCfnlbWKJjPTFFuEVkVZ0ZHuLHOU3CMz QeMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696430086; x=1697034886; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MXaQMk+JK+X4zHvl3kz5vwePkrXa+tZKqfSL/BnIpXk=; b=LzYn8NTKSimxzdAcHRmNImlBSdGyzbaleqWZvSLIvbof3JTZaRrpBz4hPv/ODy5LQO bu1BM9HZRjqUalEGNd8P4mUXHyjQt3DMxRC6d3RfuhBC/wkdaEn7eCo92cl1K/TI8oPZ bwqmc7wGNg09lNIeW3nniNGtpeuB6Z7nfAsOobBuyQz7SN9osRaIlNVJBsUpLX4SmMWr upH2HI3o44XZmC5+xZSrs9rW4dlsiBj3XzWH8wFdOLbw5LeDItMsn7mg1EeZzHH6X3ea wjxeutpHMzUAcopRoY6hnF/027qBH3L/uh54g1y5TKozeVmwJMeLzEHxEKBlEBeIleVf Nl5Q== X-Gm-Message-State: AOJu0YwW6EV2RUt8FX+wX4NEIoCzvDUVH5Eux8qiOK4upNztq56ixUs7 ddOVovTwhyl9UnIOvWUMY7ltRw== X-Google-Smtp-Source: AGHT+IHeHQizcr6bYBpFTLOBtKJ/gLmCeLQ799Wow3B1XmwQI4OLxlf76vgvP+Md1mxcPz4/Hf1iDQ== X-Received: by 2002:a05:600c:1c1f:b0:405:38d1:621 with SMTP id j31-20020a05600c1c1f00b0040538d10621mr2495809wms.3.1696430085709; Wed, 04 Oct 2023 07:34:45 -0700 (PDT) Received: from carbon-x1.. ([2a01:e0a:999:a3a0:9474:8d75:5115:42cb]) by smtp.gmail.com with ESMTPSA id t20-20020a1c7714000000b00401e32b25adsm1686205wmi.4.2023.10.04.07.34.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 07:34:45 -0700 (PDT) From: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= To: Paul Walmsley , Palmer Dabbelt , Albert Ou , Anup Patel , Atish Patra Cc: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org Subject: [PATCH 2/5] riscv: Use SYM_*() assembly macros instead of deprecated ones Date: Wed, 4 Oct 2023 16:30:51 +0200 Message-ID: <20231004143054.482091-3-cleger@rivosinc.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231004143054.482091-1-cleger@rivosinc.com> References: <20231004143054.482091-1-cleger@rivosinc.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231004_073449_832407_B148EF93 X-CRM114-Status: GOOD ( 18.37 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org RU5UUlkoKS9FTkQoKS9XRUFLKCkgbWFjcm9zIGFyZSBkZXByZWNhdGVkIGFuZCB3ZSBzaG91bGQg bWFrZSB1c2Ugb2YgdGhlCm5ldyBTWU1fKigpIG1hY3JvcyBbMV0gZm9yIGJldHRlciBhbm5vdGF0 aW9uIG9mIHN5bWJvbHMuIFJlcGxhY2UgdGhlCmRlcHJlY2F0ZWQgb25lcyB3aXRoIHRoZSBuZXcg b25lcyBhbmQgZml4IHdyb25nIHVzYWdlIG9mIEVORCgpL0VORFBST0MoKQp0byBjb3JyZWN0bHkg ZGVzY3JpYmUgdGhlIHN5bWJvbHMuCgpbMV0gaHR0cHM6Ly9kb2NzLmtlcm5lbC5vcmcvY29yZS1h cGkvYXNtLWFubm90YXRpb25zLmh0bWwKClNpZ25lZC1vZmYtYnk6IENsw6ltZW50IEzDqWdlciA8 Y2xlZ2VyQHJpdm9zaW5jLmNvbT4KLS0tCiBhcmNoL3Jpc2N2L2tlcm5lbC9jb3B5LXVuYWxpZ25l ZC5TICAgICAgICAgICAgfCAgOCArKysrLS0tLQogYXJjaC9yaXNjdi9rZXJuZWwvZnB1LlMgICAg ICAgICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KIGFyY2gvcmlzY3Yva2VybmVsL2hlYWQu UyAgICAgICAgICAgICAgICAgICAgICB8IDEyICsrKysrLS0tLS0tCiBhcmNoL3Jpc2N2L2tlcm5l bC9oaWJlcm5hdGUtYXNtLlMgICAgICAgICAgICAgfCAxMiArKysrKy0tLS0tLQogYXJjaC9yaXNj di9rZXJuZWwvbWNvdW50LWR5bi5TICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKystLS0tLS0t LS0tLQogYXJjaC9yaXNjdi9rZXJuZWwvbWNvdW50LlMgICAgICAgICAgICAgICAgICAgIHwgIDgg KysrKy0tLS0KIGFyY2gvcmlzY3Yva2VybmVsL3Byb2Jlcy9yZXRob29rX3RyYW1wb2xpbmUuUyB8 ICA0ICsrLS0KIGFyY2gvcmlzY3Yva2VybmVsL3N1c3BlbmRfZW50cnkuUyAgICAgICAgICAgICB8 ICA0ICsrLS0KIGFyY2gvcmlzY3Yva2VybmVsL3Zkc28vZmx1c2hfaWNhY2hlLlMgICAgICAgICB8 ICA0ICsrLS0KIGFyY2gvcmlzY3Yva2VybmVsL3Zkc28vZ2V0Y3B1LlMgICAgICAgICAgICAgICB8 ICA0ICsrLS0KIGFyY2gvcmlzY3Yva2VybmVsL3Zkc28vcnRfc2lncmV0dXJuLlMgICAgICAgICB8 ICA0ICsrLS0KIGFyY2gvcmlzY3Yva2VybmVsL3Zkc28vc3lzX2h3cHJvYmUuUyAgICAgICAgICB8 ICA0ICsrLS0KIGFyY2gvcmlzY3YvbGliL21lbWNweS5TICAgICAgICAgICAgICAgICAgICAgICB8 ICA2ICsrKy0tLQogYXJjaC9yaXNjdi9saWIvbWVtbW92ZS5TICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGFyY2gvcmlzY3YvbGliL21lbXNldC5TICAgICAgICAgICAgICAgICAgICAgICB8 ICA2ICsrKy0tLQogYXJjaC9yaXNjdi9saWIvdWFjY2Vzcy5TICAgICAgICAgICAgICAgICAgICAg IHwgMTEgKysrKystLS0tLQogYXJjaC9yaXNjdi9wdXJnYXRvcnkvZW50cnkuUyAgICAgICAgICAg ICAgICAgIHwgMTYgKysrKystLS0tLS0tLS0tCiAxNyBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRp b25zKCspLCA3MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC9j b3B5LXVuYWxpZ25lZC5TIGIvYXJjaC9yaXNjdi9rZXJuZWwvY29weS11bmFsaWduZWQuUwppbmRl eCBjZmRlY2ZiYWFkNjIuLjJiM2Q5Mzk4YzExMyAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9rZXJu ZWwvY29weS11bmFsaWduZWQuUworKysgYi9hcmNoL3Jpc2N2L2tlcm5lbC9jb3B5LXVuYWxpZ25l ZC5TCkBAIC05LDcgKzksNyBAQAogLyogdm9pZCBfX3Jpc2N2X2NvcHlfd29yZHNfdW5hbGlnbmVk KHZvaWQgKiwgY29uc3Qgdm9pZCAqLCBzaXplX3QpICovCiAvKiBQZXJmb3JtcyBhIG1lbWNweSB3 aXRob3V0IGFsaWduaW5nIGJ1ZmZlcnMsIHVzaW5nIHdvcmQgbG9hZHMgYW5kIHN0b3Jlcy4gKi8K IC8qIE5vdGU6IFRoZSBzaXplIGlzIHRydW5jYXRlZCB0byBhIG11bHRpcGxlIG9mIDggKiBTWlJF RyAqLwotRU5UUlkoX19yaXNjdl9jb3B5X3dvcmRzX3VuYWxpZ25lZCkKK1NZTV9GVU5DX1NUQVJU KF9fcmlzY3ZfY29weV93b3Jkc191bmFsaWduZWQpCiAJYW5kaSAgYTQsIGEyLCB+KCg4KlNaUkVH KS0xKQogCWJlcXogIGE0LCAyZgogCWFkZCAgIGEzLCBhMSwgYTQKQEAgLTM2LDEyICszNiwxMiBA QCBFTlRSWShfX3Jpc2N2X2NvcHlfd29yZHNfdW5hbGlnbmVkKQogCiAyOgogCXJldAotRU5EKF9f cmlzY3ZfY29weV93b3Jkc191bmFsaWduZWQpCitTWU1fRlVOQ19FTkQoX19yaXNjdl9jb3B5X3dv cmRzX3VuYWxpZ25lZCkKIAogLyogdm9pZCBfX3Jpc2N2X2NvcHlfYnl0ZXNfdW5hbGlnbmVkKHZv aWQgKiwgY29uc3Qgdm9pZCAqLCBzaXplX3QpICovCiAvKiBQZXJmb3JtcyBhIG1lbWNweSB3aXRo b3V0IGFsaWduaW5nIGJ1ZmZlcnMsIHVzaW5nIG9ubHkgYnl0ZSBhY2Nlc3Nlcy4gKi8KIC8qIE5v dGU6IFRoZSBzaXplIGlzIHRydW5jYXRlZCB0byBhIG11bHRpcGxlIG9mIDggKi8KLUVOVFJZKF9f cmlzY3ZfY29weV9ieXRlc191bmFsaWduZWQpCitTWU1fRlVOQ19TVEFSVChfX3Jpc2N2X2NvcHlf Ynl0ZXNfdW5hbGlnbmVkKQogCWFuZGkgYTQsIGEyLCB+KDgtMSkKIAliZXF6IGE0LCAyZgogCWFk ZCAgYTMsIGExLCBhNApAQCAtNjgsNCArNjgsNCBAQCBFTlRSWShfX3Jpc2N2X2NvcHlfYnl0ZXNf dW5hbGlnbmVkKQogCiAyOgogCXJldAotRU5EKF9fcmlzY3ZfY29weV9ieXRlc191bmFsaWduZWQp CitTWU1fRlVOQ19FTkQoX19yaXNjdl9jb3B5X2J5dGVzX3VuYWxpZ25lZCkKZGlmZiAtLWdpdCBh L2FyY2gvcmlzY3Yva2VybmVsL2ZwdS5TIGIvYXJjaC9yaXNjdi9rZXJuZWwvZnB1LlMKaW5kZXgg ZGQyMjA1NDczZGU3Li42MjAxYWZjZDZiNDUgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3Yva2VybmVs L2ZwdS5TCisrKyBiL2FyY2gvcmlzY3Yva2VybmVsL2ZwdS5TCkBAIC0xOSw3ICsxOSw3IEBACiAj aW5jbHVkZSA8YXNtL2Nzci5oPgogI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgogCi1FTlRS WShfX2ZzdGF0ZV9zYXZlKQorU1lNX0ZVTkNfU1RBUlQoX19mc3RhdGVfc2F2ZSkKIAlsaSAgYTIs ICBUQVNLX1RIUkVBRF9GMAogCWFkZCBhMCwgYTAsIGEyCiAJbGkgdDEsIFNSX0ZTCkBAIC02MCw5 ICs2MCw5IEBAIEVOVFJZKF9fZnN0YXRlX3NhdmUpCiAJc3cgdDAsIFRBU0tfVEhSRUFEX0ZDU1Jf RjAoYTApCiAJY3NyYyBDU1JfU1RBVFVTLCB0MQogCXJldAotRU5EUFJPQyhfX2ZzdGF0ZV9zYXZl KQorU1lNX0ZVTkNfRU5EKF9fZnN0YXRlX3NhdmUpCiAKLUVOVFJZKF9fZnN0YXRlX3Jlc3RvcmUp CitTWU1fRlVOQ19TVEFSVChfX2ZzdGF0ZV9yZXN0b3JlKQogCWxpICBhMiwgIFRBU0tfVEhSRUFE X0YwCiAJYWRkIGEwLCBhMCwgYTIKIAlsaSB0MSwgU1JfRlMKQEAgLTEwMyw0ICsxMDMsNCBAQCBF TlRSWShfX2ZzdGF0ZV9yZXN0b3JlKQogCWZzY3NyIHQwCiAJY3NyYyBDU1JfU1RBVFVTLCB0MQog CXJldAotRU5EUFJPQyhfX2ZzdGF0ZV9yZXN0b3JlKQorU1lNX0ZVTkNfRU5EKF9fZnN0YXRlX3Jl c3RvcmUpCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC9oZWFkLlMgYi9hcmNoL3Jpc2N2 L2tlcm5lbC9oZWFkLlMKaW5kZXggN2UxYjgzZjE4YTUwLi41NmY3OGVjMzA0YzYgMTAwNjQ0Ci0t LSBhL2FyY2gvcmlzY3Yva2VybmVsL2hlYWQuUworKysgYi9hcmNoL3Jpc2N2L2tlcm5lbC9oZWFk LlMKQEAgLTE4LDcgKzE4LDcgQEAKICNpbmNsdWRlICJlZmktaGVhZGVyLlMiCiAKIF9fSEVBRAot RU5UUlkoX3N0YXJ0KQorU1lNX0NPREVfU1RBUlQoX3N0YXJ0KQogCS8qCiAJICogSW1hZ2UgaGVh ZGVyIGV4cGVjdGVkIGJ5IExpbnV4IGJvb3QtbG9hZGVycy4gVGhlIGltYWdlIGhlYWRlciBkYXRh CiAJICogc3RydWN0dXJlIGlzIGRlc2NyaWJlZCBpbiBhc20vaW1hZ2UuaC4KQEAgLTE5MSw5ICsx OTEsOSBAQCBzZWNvbmRhcnlfc3RhcnRfc2JpOgogCXdmaQogCWogLkxzZWNvbmRhcnlfcGFyawog Ci1FTkQoX3N0YXJ0KQorU1lNX0NPREVfRU5EKF9zdGFydCkKIAotRU5UUlkoX3N0YXJ0X2tlcm5l bCkKK1NZTV9DT0RFX1NUQVJUKF9zdGFydF9rZXJuZWwpCiAJLyogTWFzayBhbGwgaW50ZXJydXB0 cyAqLwogCWNzcncgQ1NSX0lFLCB6ZXJvCiAJY3NydyBDU1JfSVAsIHplcm8KQEAgLTM1MywxMCAr MzUzLDEwIEBAIEVOVFJZKF9zdGFydF9rZXJuZWwpCiAJdGFpbCAuTHNlY29uZGFyeV9zdGFydF9j b21tb24KICNlbmRpZiAvKiBDT05GSUdfUklTQ1ZfQk9PVF9TUElOV0FJVCAqLwogCi1FTkQoX3N0 YXJ0X2tlcm5lbCkKK1NZTV9DT0RFX0VORChfc3RhcnRfa2VybmVsKQogCiAjaWZkZWYgQ09ORklH X1JJU0NWX01fTU9ERQotRU5UUlkocmVzZXRfcmVncykKK1NZTV9DT0RFX1NUQVJUX0xPQ0FMKHJl c2V0X3JlZ3MpCiAJbGkJc3AsIDAKIAlsaQlncCwgMAogCWxpCXRwLCAwCkBAIC00NTQsNSArNDU0 LDUgQEAgRU5UUlkocmVzZXRfcmVncykKIC5McmVzZXRfcmVnc19kb25lX3ZlY3RvcjoKICNlbmRp ZiAvKiBDT05GSUdfUklTQ1ZfSVNBX1YgKi8KIAlyZXQKLUVORChyZXNldF9yZWdzKQorU1lNX0NP REVfRU5EKHJlc2V0X3JlZ3MpCiAjZW5kaWYgLyogQ09ORklHX1JJU0NWX01fTU9ERSAqLwpkaWZm IC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvaGliZXJuYXRlLWFzbS5TIGIvYXJjaC9yaXNjdi9r ZXJuZWwvaGliZXJuYXRlLWFzbS5TCmluZGV4IGQ2OThkZDdkZjYzNy4uZDA0MGRjZjRhZGQ0IDEw MDY0NAotLS0gYS9hcmNoL3Jpc2N2L2tlcm5lbC9oaWJlcm5hdGUtYXNtLlMKKysrIGIvYXJjaC9y aXNjdi9rZXJuZWwvaGliZXJuYXRlLWFzbS5TCkBAIC0yMSw3ICsyMSw3IEBACiAgKgogICogQWx3 YXlzIHJldHVybnMgMAogICovCi1FTlRSWShfX2hpYmVybmF0ZV9jcHVfcmVzdW1lKQorU1lNX0ZV TkNfU1RBUlQoX19oaWJlcm5hdGVfY3B1X3Jlc3VtZSkKIAkvKiBzd2l0Y2ggdG8gaGliZXJuYXRl ZCBpbWFnZSdzIHBhZ2UgdGFibGUuICovCiAJY3NydyBDU1JfU0FUUCwgczAKIAlzZmVuY2Uudm1h CkBAIC0zNCw3ICszNCw3IEBAIEVOVFJZKF9faGliZXJuYXRlX2NwdV9yZXN1bWUpCiAJbXYJYTAs IHplcm8KIAogCXJldAotRU5EKF9faGliZXJuYXRlX2NwdV9yZXN1bWUpCitTWU1fRlVOQ19FTkQo X19oaWJlcm5hdGVfY3B1X3Jlc3VtZSkKIAogLyoKICAqIFByZXBhcmUgdG8gcmVzdG9yZSB0aGUg aW1hZ2UuCkBAIC00Miw3ICs0Miw3IEBAIEVORChfX2hpYmVybmF0ZV9jcHVfcmVzdW1lKQogICog YTE6IHNhdHAgb2YgdGVtcG9yYXJ5IHBhZ2UgdGFibGVzLgogICogYTI6IGNwdV9yZXN1bWUuCiAg Ki8KLUVOVFJZKGhpYmVybmF0ZV9yZXN0b3JlX2ltYWdlKQorU1lNX0ZVTkNfU1RBUlQoaGliZXJu YXRlX3Jlc3RvcmVfaW1hZ2UpCiAJbXYJczAsIGEwCiAJbXYJczEsIGExCiAJbXYJczIsIGEyCkBA IC01MCw3ICs1MCw3IEBAIEVOVFJZKGhpYmVybmF0ZV9yZXN0b3JlX2ltYWdlKQogCVJFR19MCWEx LCByZWxvY2F0ZWRfcmVzdG9yZV9jb2RlCiAKIAlqcglhMQotRU5EKGhpYmVybmF0ZV9yZXN0b3Jl X2ltYWdlKQorU1lNX0ZVTkNfRU5EKGhpYmVybmF0ZV9yZXN0b3JlX2ltYWdlKQogCiAvKgogICog VGhlIGJlbG93IGNvZGUgd2lsbCBiZSBleGVjdXRlZCBmcm9tIGEgJ3NhZmUnIHBhZ2UuCkBAIC01 OCw3ICs1OCw3IEBAIEVORChoaWJlcm5hdGVfcmVzdG9yZV9pbWFnZSkKICAqIGJhY2sgdG8gdGhl IG9yaWdpbmFsIG1lbW9yeSBsb2NhdGlvbi4gRmluYWxseSwgaXQganVtcHMgdG8gX19oaWJlcm5h dGVfY3B1X3Jlc3VtZSgpCiAgKiB0byByZXN0b3JlIHRoZSBDUFUgY29udGV4dC4KICAqLwotRU5U UlkoaGliZXJuYXRlX2NvcmVfcmVzdG9yZV9jb2RlKQorU1lNX0ZVTkNfU1RBUlQoaGliZXJuYXRl X2NvcmVfcmVzdG9yZV9jb2RlKQogCS8qIHN3aXRjaCB0byB0ZW1wIHBhZ2UgdGFibGUuICovCiAJ Y3NydyBzYXRwLCBzMQogCXNmZW5jZS52bWEKQEAgLTczLDQgKzczLDQgQEAgRU5UUlkoaGliZXJu YXRlX2NvcmVfcmVzdG9yZV9jb2RlKQogCWJuZXoJczQsIC5MY29weQogCiAJanIJczIKLUVORCho aWJlcm5hdGVfY29yZV9yZXN0b3JlX2NvZGUpCitTWU1fRlVOQ19FTkQoaGliZXJuYXRlX2NvcmVf cmVzdG9yZV9jb2RlKQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvbWNvdW50LWR5bi5T IGIvYXJjaC9yaXNjdi9rZXJuZWwvbWNvdW50LWR5bi5TCmluZGV4IDY2OWI4Njk3YWEzOC4uNThk ZDk2YTJhMTUzIDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2tlcm5lbC9tY291bnQtZHluLlMKKysr IGIvYXJjaC9yaXNjdi9rZXJuZWwvbWNvdW50LWR5bi5TCkBAIC04Miw3ICs4Miw3IEBACiAJLmVu ZG0KICNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0VfV0lUSF9SRUdTICovCiAKLUVOVFJZ KGZ0cmFjZV9jYWxsZXIpCitTWU1fRlVOQ19TVEFSVChmdHJhY2VfY2FsbGVyKQogCVNBVkVfQUJJ CiAKIAlhZGRpCWEwLCB0MCwgLUZFTlRSWV9SQV9PRkZTRVQKQEAgLTkxLDggKzkxLDcgQEAgRU5U UlkoZnRyYWNlX2NhbGxlcikKIAltdglhMSwgcmEKIAltdglhMywgc3AKIAotZnRyYWNlX2NhbGw6 Ci0JLmdsb2JhbCBmdHJhY2VfY2FsbAorU1lNX0lOTkVSX0xBQkVMKGZ0cmFjZV9jYWxsLCBTWU1f TF9HTE9CQUwpCiAJY2FsbAlmdHJhY2Vfc3R1YgogCiAjaWZkZWYgQ09ORklHX0ZVTkNUSU9OX0dS QVBIX1RSQUNFUgpAQCAtMTAyLDE2ICsxMDEsMTUgQEAgZnRyYWNlX2NhbGw6CiAjaWZkZWYgSEFW RV9GVU5DVElPTl9HUkFQSF9GUF9URVNUCiAJbXYJYTIsIHMwCiAjZW5kaWYKLWZ0cmFjZV9ncmFw aF9jYWxsOgotCS5nbG9iYWwgZnRyYWNlX2dyYXBoX2NhbGwKK1NZTV9JTk5FUl9MQUJFTChmdHJh Y2VfZ3JhcGhfY2FsbCwgU1lNX0xfR0xPQkFMKQogCWNhbGwJZnRyYWNlX3N0dWIKICNlbmRpZgog CVJFU1RPUkVfQUJJCiAJanIgdDAKLUVORFBST0MoZnRyYWNlX2NhbGxlcikKK1NZTV9GVU5DX0VO RChmdHJhY2VfY2FsbGVyKQogCiAjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFX1dJVEhfUkVH UwotRU5UUlkoZnRyYWNlX3JlZ3NfY2FsbGVyKQorU1lNX0ZVTkNfU1RBUlQoZnRyYWNlX3JlZ3Nf Y2FsbGVyKQogCVNBVkVfQUxMCiAKIAlhZGRpCWEwLCB0MCwgLUZFTlRSWV9SQV9PRkZTRVQKQEAg LTEyMCw4ICsxMTgsNyBAQCBFTlRSWShmdHJhY2VfcmVnc19jYWxsZXIpCiAJbXYJYTEsIHJhCiAJ bXYJYTMsIHNwCiAKLWZ0cmFjZV9yZWdzX2NhbGw6Ci0JLmdsb2JhbCBmdHJhY2VfcmVnc19jYWxs CitTWU1fSU5ORVJfTEFCRUwoZnRyYWNlX3JlZ3NfY2FsbCwgU1lNX0xfR0xPQkFMKQogCWNhbGwJ ZnRyYWNlX3N0dWIKIAogI2lmZGVmIENPTkZJR19GVU5DVElPTl9HUkFQSF9UUkFDRVIKQEAgLTEz MSwxMiArMTI4LDExIEBAIGZ0cmFjZV9yZWdzX2NhbGw6CiAjaWZkZWYgSEFWRV9GVU5DVElPTl9H UkFQSF9GUF9URVNUCiAJbXYJYTIsIHMwCiAjZW5kaWYKLWZ0cmFjZV9ncmFwaF9yZWdzX2NhbGw6 Ci0JLmdsb2JhbCBmdHJhY2VfZ3JhcGhfcmVnc19jYWxsCitTWU1fSU5ORVJfTEFCRUwoZnRyYWNl X2dyYXBoX3JlZ3NfY2FsbCwgU1lNX0xfR0xPQkFMKQogCWNhbGwJZnRyYWNlX3N0dWIKICNlbmRp ZgogCiAJUkVTVE9SRV9BTEwKIAlqciB0MAotRU5EUFJPQyhmdHJhY2VfcmVnc19jYWxsZXIpCitT WU1fRlVOQ19FTkQoZnRyYWNlX3JlZ3NfY2FsbGVyKQogI2VuZGlmIC8qIENPTkZJR19EWU5BTUlD X0ZUUkFDRV9XSVRIX1JFR1MgKi8KZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yva2VybmVsL21jb3Vu dC5TIGIvYXJjaC9yaXNjdi9rZXJuZWwvbWNvdW50LlMKaW5kZXggYWI0ZGQwNTk0ZmU3Li5iNGRk OWVkNjg0OWUgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3Yva2VybmVsL21jb3VudC5TCisrKyBiL2Fy Y2gvcmlzY3Yva2VybmVsL21jb3VudC5TCkBAIC02MSw3ICs2MSw3IEBAIFNZTV9UWVBFRF9GVU5D X1NUQVJUKGZ0cmFjZV9zdHViX2dyYXBoKQogCXJldAogU1lNX0ZVTkNfRU5EKGZ0cmFjZV9zdHVi X2dyYXBoKQogCi1FTlRSWShyZXR1cm5fdG9faGFuZGxlcikKK1NZTV9GVU5DX1NUQVJUKHJldHVy bl90b19oYW5kbGVyKQogLyoKICAqIE9uIGltcGxlbWVudGluZyB0aGUgZnJhbWUgcG9pbnQgdGVz dCwgdGhlIGlkZWFsIHdheSBpcyB0byBjb21wYXJlIHRoZQogICogczAgKGZyYW1lIHBvaW50ZXIs IGlmIGVuYWJsZWQpIG9uIGVudHJ5IGFuZCB0aGUgc3AgKHN0YWNrIHBvaW50ZXIpIG9uIHJldHVy bi4KQEAgLTc2LDExICs3NiwxMSBAQCBFTlRSWShyZXR1cm5fdG9faGFuZGxlcikKIAltdglhMiwg YTAKIAlSRVNUT1JFX1JFVF9BQklfU1RBVEUKIAlqYWxyCWEyCi1FTkRQUk9DKHJldHVybl90b19o YW5kbGVyKQorU1lNX0ZVTkNfRU5EKHJldHVybl90b19oYW5kbGVyKQogI2VuZGlmCiAKICNpZm5k ZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCi1FTlRSWShNQ09VTlRfTkFNRSkKK1NZTV9GVU5DX1NU QVJUKE1DT1VOVF9OQU1FKQogCWxhCXQ0LCBmdHJhY2Vfc3R1YgogI2lmZGVmIENPTkZJR19GVU5D VElPTl9HUkFQSF9UUkFDRVIKIAlsYQl0MCwgZnRyYWNlX2dyYXBoX3JldHVybgpAQCAtMTI2LDYg KzEyNiw2IEBAIEVOVFJZKE1DT1VOVF9OQU1FKQogCWphbHIJdDUKIAlSRVNUT1JFX0FCSV9TVEFU RQogCXJldAotRU5EUFJPQyhNQ09VTlRfTkFNRSkKK1NZTV9GVU5DX0VORChNQ09VTlRfTkFNRSkK ICNlbmRpZgogRVhQT1JUX1NZTUJPTChNQ09VTlRfTkFNRSkKZGlmZiAtLWdpdCBhL2FyY2gvcmlz Y3Yva2VybmVsL3Byb2Jlcy9yZXRob29rX3RyYW1wb2xpbmUuUyBiL2FyY2gvcmlzY3Yva2VybmVs L3Byb2Jlcy9yZXRob29rX3RyYW1wb2xpbmUuUwppbmRleCAyMWJhYzkyYTE3MGEuLmYyY2Q4M2Q5 YjBmMCAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvcHJvYmVzL3JldGhvb2tfdHJhbXBv bGluZS5TCisrKyBiL2FyY2gvcmlzY3Yva2VybmVsL3Byb2Jlcy9yZXRob29rX3RyYW1wb2xpbmUu UwpAQCAtNzUsNyArNzUsNyBAQAogCVJFR19MIHgzMSwgUFRfVDYoc3ApCiAJLmVuZG0KIAotRU5U UlkoYXJjaF9yZXRob29rX3RyYW1wb2xpbmUpCitTWU1fQ09ERV9TVEFSVChhcmNoX3JldGhvb2tf dHJhbXBvbGluZSkKIAlhZGRpIHNwLCBzcCwgLShQVF9TSVpFX09OX1NUQUNLKQogCXNhdmVfYWxs X2Jhc2VfcmVncwogCkBAIC05MCw0ICs5MCw0IEBAIEVOVFJZKGFyY2hfcmV0aG9va190cmFtcG9s aW5lKQogCWFkZGkgc3AsIHNwLCBQVF9TSVpFX09OX1NUQUNLCiAKIAlyZXQKLUVORFBST0MoYXJj aF9yZXRob29rX3RyYW1wb2xpbmUpCitTWU1fQ09ERV9FTkQoYXJjaF9yZXRob29rX3RyYW1wb2xp bmUpCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC9zdXNwZW5kX2VudHJ5LlMgYi9hcmNo L3Jpc2N2L2tlcm5lbC9zdXNwZW5kX2VudHJ5LlMKaW5kZXggZjc5NjBjN2M1ZjllLi5hNTljNGM5 MDM2OTYgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3Yva2VybmVsL3N1c3BlbmRfZW50cnkuUworKysg Yi9hcmNoL3Jpc2N2L2tlcm5lbC9zdXNwZW5kX2VudHJ5LlMKQEAgLTE2LDcgKzE2LDcgQEAKIAku YWx0bWFjcm8KIAkub3B0aW9uIG5vcmVsYXgKIAotRU5UUlkoX19jcHVfc3VzcGVuZF9lbnRlcikK K1NZTV9GVU5DX1NUQVJUKF9fY3B1X3N1c3BlbmRfZW50ZXIpCiAJLyogU2F2ZSByZWdpc3RlcnMg KGV4Y2VwdCBBMCBhbmQgVDAtVDYpICovCiAJUkVHX1MJcmEsIChTVVNQRU5EX0NPTlRFWFRfUkVH UyArIFBUX1JBKShhMCkKIAlSRUdfUwlzcCwgKFNVU1BFTkRfQ09OVEVYVF9SRUdTICsgUFRfU1Ap KGEwKQpAQCAtNTcsNyArNTcsNyBAQCBFTlRSWShfX2NwdV9zdXNwZW5kX2VudGVyKQogCiAJLyog UmV0dXJuIHRvIEMgY29kZSAqLwogCXJldAotRU5EKF9fY3B1X3N1c3BlbmRfZW50ZXIpCitTWU1f RlVOQ19FTkQoX19jcHVfc3VzcGVuZF9lbnRlcikKIAogU1lNX1RZUEVEX0ZVTkNfU1RBUlQoX19j cHVfcmVzdW1lX2VudGVyKQogCS8qIExvYWQgdGhlIGdsb2JhbCBwb2ludGVyICovCmRpZmYgLS1n aXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC92ZHNvL2ZsdXNoX2ljYWNoZS5TIGIvYXJjaC9yaXNjdi9r ZXJuZWwvdmRzby9mbHVzaF9pY2FjaGUuUwppbmRleCA4MmY5N2Q2N2MyM2UuLjhmODg0MjI3ZThi YyAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvdmRzby9mbHVzaF9pY2FjaGUuUworKysg Yi9hcmNoL3Jpc2N2L2tlcm5lbC92ZHNvL2ZsdXNoX2ljYWNoZS5TCkBAIC04LDcgKzgsNyBAQAog CiAJLnRleHQKIC8qIGludCBfX3Zkc29fZmx1c2hfaWNhY2hlKHZvaWQgKnN0YXJ0LCB2b2lkICpl bmQsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpOyAqLwotRU5UUlkoX192ZHNvX2ZsdXNoX2ljYWNoZSkK K1NZTV9GVU5DX1NUQVJUKF9fdmRzb19mbHVzaF9pY2FjaGUpCiAJLmNmaV9zdGFydHByb2MKICNp ZmRlZiBDT05GSUdfU01QCiAJbGkgYTcsIF9fTlJfcmlzY3ZfZmx1c2hfaWNhY2hlCkBAIC0xOSw0 ICsxOSw0IEBAIEVOVFJZKF9fdmRzb19mbHVzaF9pY2FjaGUpCiAjZW5kaWYKIAlyZXQKIAkuY2Zp X2VuZHByb2MKLUVORFBST0MoX192ZHNvX2ZsdXNoX2ljYWNoZSkKK1NZTV9GVU5DX0VORChfX3Zk c29fZmx1c2hfaWNhY2hlKQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvdmRzby9nZXRj cHUuUyBiL2FyY2gvcmlzY3Yva2VybmVsL3Zkc28vZ2V0Y3B1LlMKaW5kZXggYmIwYzA1ZTJmZmJh Li45YzFiZDUzMTkwN2YgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3Yva2VybmVsL3Zkc28vZ2V0Y3B1 LlMKKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvdmRzby9nZXRjcHUuUwpAQCAtOCwxMSArOCwxMSBA QAogCiAJLnRleHQKIC8qIGludCBfX3Zkc29fZ2V0Y3B1KHVuc2lnbmVkICpjcHUsIHVuc2lnbmVk ICpub2RlLCB2b2lkICp1bnVzZWQpOyAqLwotRU5UUlkoX192ZHNvX2dldGNwdSkKK1NZTV9GVU5D X1NUQVJUKF9fdmRzb19nZXRjcHUpCiAJLmNmaV9zdGFydHByb2MKIAkvKiBGb3Igbm93LCBqdXN0 IGRvIHRoZSBzeXNjYWxsLiAqLwogCWxpIGE3LCBfX05SX2dldGNwdQogCWVjYWxsCiAJcmV0CiAJ LmNmaV9lbmRwcm9jCi1FTkRQUk9DKF9fdmRzb19nZXRjcHUpCitTWU1fRlVOQ19FTkQoX192ZHNv X2dldGNwdSkKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yva2VybmVsL3Zkc28vcnRfc2lncmV0dXJu LlMgYi9hcmNoL3Jpc2N2L2tlcm5lbC92ZHNvL3J0X3NpZ3JldHVybi5TCmluZGV4IDEwNDM4Yzdj NjI2YS4uM2RjMDIyYWE4OTMxIDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2tlcm5lbC92ZHNvL3J0 X3NpZ3JldHVybi5TCisrKyBiL2FyY2gvcmlzY3Yva2VybmVsL3Zkc28vcnRfc2lncmV0dXJuLlMK QEAgLTcsMTAgKzcsMTAgQEAKICNpbmNsdWRlIDxhc20vdW5pc3RkLmg+CiAKIAkudGV4dAotRU5U UlkoX192ZHNvX3J0X3NpZ3JldHVybikKK1NZTV9GVU5DX1NUQVJUKF9fdmRzb19ydF9zaWdyZXR1 cm4pCiAJLmNmaV9zdGFydHByb2MKIAkuY2ZpX3NpZ25hbF9mcmFtZQogCWxpIGE3LCBfX05SX3J0 X3NpZ3JldHVybgogCWVjYWxsCiAJLmNmaV9lbmRwcm9jCi1FTkRQUk9DKF9fdmRzb19ydF9zaWdy ZXR1cm4pCitTWU1fRlVOQ19FTkQoX192ZHNvX3J0X3NpZ3JldHVybikKZGlmZiAtLWdpdCBhL2Fy Y2gvcmlzY3Yva2VybmVsL3Zkc28vc3lzX2h3cHJvYmUuUyBiL2FyY2gvcmlzY3Yva2VybmVsL3Zk c28vc3lzX2h3cHJvYmUuUwppbmRleCA0ZTcwNDE0NmM3N2EuLjc3ZTU3ZjgzMDUyMSAxMDA2NDQK LS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvdmRzby9zeXNfaHdwcm9iZS5TCisrKyBiL2FyY2gvcmlz Y3Yva2VybmVsL3Zkc28vc3lzX2h3cHJvYmUuUwpAQCAtNSwxMSArNSwxMSBAQAogI2luY2x1ZGUg PGFzbS91bmlzdGQuaD4KIAogLnRleHQKLUVOVFJZKHJpc2N2X2h3cHJvYmUpCitTWU1fRlVOQ19T VEFSVChyaXNjdl9od3Byb2JlKQogCS5jZmlfc3RhcnRwcm9jCiAJbGkgYTcsIF9fTlJfcmlzY3Zf aHdwcm9iZQogCWVjYWxsCiAJcmV0CiAKIAkuY2ZpX2VuZHByb2MKLUVORFBST0MocmlzY3ZfaHdw cm9iZSkKK1NZTV9GVU5DX0VORChyaXNjdl9od3Byb2JlKQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNj di9saWIvbWVtY3B5LlMgYi9hcmNoL3Jpc2N2L2xpYi9tZW1jcHkuUwppbmRleCAxYTQwZDAxYTk1 NDMuLjQ0ZTAwOWVjNWZlZiAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9saWIvbWVtY3B5LlMKKysr IGIvYXJjaC9yaXNjdi9saWIvbWVtY3B5LlMKQEAgLTcsOCArNyw3IEBACiAjaW5jbHVkZSA8YXNt L2FzbS5oPgogCiAvKiB2b2lkICptZW1jcHkodm9pZCAqLCBjb25zdCB2b2lkICosIHNpemVfdCkg Ki8KLUVOVFJZKF9fbWVtY3B5KQotV0VBSyhtZW1jcHkpCitTWU1fRlVOQ19TVEFSVChfX21lbWNw eSkKIAltb3ZlIHQ2LCBhMCAgLyogUHJlc2VydmUgcmV0dXJuIHZhbHVlICovCiAKIAkvKiBEZWZl ciB0byBieXRlLW9yaWVudGVkIGNvcHkgZm9yIHNtYWxsIHNpemVzICovCkBAIC0xMDUsNiArMTA0 LDcgQEAgV0VBSyhtZW1jcHkpCiAJYmx0dSBhMSwgYTMsIDViCiA2OgogCXJldAotRU5EKF9fbWVt Y3B5KQorU1lNX0ZVTkNfRU5EKF9fbWVtY3B5KQorU1lNX0ZVTkNfQUxJQVNfV0VBSyhtZW1jcHks IF9fbWVtY3B5KQogU1lNX0ZVTkNfQUxJQVMoX19waV9tZW1jcHksIF9fbWVtY3B5KQogU1lNX0ZV TkNfQUxJQVMoX19waV9fX21lbWNweSwgX19tZW1jcHkpCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2 L2xpYi9tZW1tb3ZlLlMgYi9hcmNoL3Jpc2N2L2xpYi9tZW1tb3ZlLlMKaW5kZXggMTkzMGIzODhj M2EwLi41MTMwMDMzZTNlMDIgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3YvbGliL21lbW1vdmUuUwor KysgYi9hcmNoL3Jpc2N2L2xpYi9tZW1tb3ZlLlMKQEAgLTcsNyArNyw2IEBACiAjaW5jbHVkZSA8 YXNtL2FzbS5oPgogCiBTWU1fRlVOQ19TVEFSVChfX21lbW1vdmUpCi1TWU1fRlVOQ19TVEFSVF9X RUFLKG1lbW1vdmUpCiAJLyoKIAkgKiBSZXR1cm5zCiAJICogICBhMCAtIGRlc3QKQEAgLTMxNCw1 ICszMTMsNiBAQCBTWU1fRlVOQ19TVEFSVF9XRUFLKG1lbW1vdmUpCiAKIFNZTV9GVU5DX0VORCht ZW1tb3ZlKQogU1lNX0ZVTkNfRU5EKF9fbWVtbW92ZSkKK1NZTV9GVU5DX0FMSUFTX1dFQUsobWVt bW92ZSwgX19tZW1tb3ZlKQogU1lNX0ZVTkNfQUxJQVMoX19waV9tZW1tb3ZlLCBfX21lbW1vdmUp CiBTWU1fRlVOQ19BTElBUyhfX3BpX19fbWVtbW92ZSwgX19tZW1tb3ZlKQpkaWZmIC0tZ2l0IGEv YXJjaC9yaXNjdi9saWIvbWVtc2V0LlMgYi9hcmNoL3Jpc2N2L2xpYi9tZW1zZXQuUwppbmRleCAz NGM1MzYwYzY3MDUuLjM1ZjM1OGU3MGJkYiAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9saWIvbWVt c2V0LlMKKysrIGIvYXJjaC9yaXNjdi9saWIvbWVtc2V0LlMKQEAgLTgsOCArOCw3IEBACiAjaW5j bHVkZSA8YXNtL2FzbS5oPgogCiAvKiB2b2lkICptZW1zZXQodm9pZCAqLCBpbnQsIHNpemVfdCkg Ki8KLUVOVFJZKF9fbWVtc2V0KQotV0VBSyhtZW1zZXQpCitTWU1fRlVOQ19TVEFSVChfX21lbXNl dCkKIAltb3ZlIHQwLCBhMCAgLyogUHJlc2VydmUgcmV0dXJuIHZhbHVlICovCiAKIAkvKiBEZWZl ciB0byBieXRlLW9yaWVudGVkIGZpbGwgZm9yIHNtYWxsIHNpemVzICovCkBAIC0xMTAsNCArMTA5 LDUgQEAgV0VBSyhtZW1zZXQpCiAJYmx0dSB0MCwgYTMsIDViCiA2OgogCXJldAotRU5EKF9fbWVt c2V0KQorU1lNX0ZVTkNfRU5EKF9fbWVtc2V0KQorU1lNX0ZVTkNfQUxJQVNfV0VBSyhtZW1zZXQs IF9fbWVtc2V0KQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9saWIvdWFjY2Vzcy5TIGIvYXJjaC9y aXNjdi9saWIvdWFjY2Vzcy5TCmluZGV4IDA5YjQ3ZWJhY2YyZS4uM2FiNDM4ZjMwZDEzIDEwMDY0 NAotLS0gYS9hcmNoL3Jpc2N2L2xpYi91YWNjZXNzLlMKKysrIGIvYXJjaC9yaXNjdi9saWIvdWFj Y2Vzcy5TCkBAIC0xMCw4ICsxMCw3IEBACiAJX2FzbV9leHRhYmxlCTEwMGIsIFxsYmwKIAkuZW5k bQogCi1FTlRSWShfX2FzbV9jb3B5X3RvX3VzZXIpCi1FTlRSWShfX2FzbV9jb3B5X2Zyb21fdXNl cikKK1NZTV9GVU5DX1NUQVJUKF9fYXNtX2NvcHlfdG9fdXNlcikKIAogCS8qIEVuYWJsZSBhY2Nl c3MgdG8gdXNlciBtZW1vcnkgKi8KIAlsaSB0NiwgU1JfU1VNCkBAIC0xODEsMTMgKzE4MCwxMyBA QCBFTlRSWShfX2FzbV9jb3B5X2Zyb21fdXNlcikKIAljc3JjIENTUl9TVEFUVVMsIHQ2CiAJc3Vi IGEwLCB0NSwgYTAKIAlyZXQKLUVORFBST0MoX19hc21fY29weV90b191c2VyKQotRU5EUFJPQyhf X2FzbV9jb3B5X2Zyb21fdXNlcikKK1NZTV9GVU5DX0VORChfX2FzbV9jb3B5X3RvX3VzZXIpCiBF WFBPUlRfU1lNQk9MKF9fYXNtX2NvcHlfdG9fdXNlcikKK1NZTV9GVU5DX0FMSUFTKF9fYXNtX2Nv cHlfZnJvbV91c2VyLCBfX2FzbV9jb3B5X3RvX3VzZXIpCiBFWFBPUlRfU1lNQk9MKF9fYXNtX2Nv cHlfZnJvbV91c2VyKQogCiAKLUVOVFJZKF9fY2xlYXJfdXNlcikKK1NZTV9GVU5DX1NUQVJUKF9f Y2xlYXJfdXNlcikKIAogCS8qIEVuYWJsZSBhY2Nlc3MgdG8gdXNlciBtZW1vcnkgKi8KIAlsaSB0 NiwgU1JfU1VNCkBAIC0yMzMsNSArMjMyLDUgQEAgRU5UUlkoX19jbGVhcl91c2VyKQogCWNzcmMg Q1NSX1NUQVRVUywgdDYKIAlzdWIgYTAsIGEzLCBhMAogCXJldAotRU5EUFJPQyhfX2NsZWFyX3Vz ZXIpCitTWU1fRlVOQ19FTkQoX19jbGVhcl91c2VyKQogRVhQT1JUX1NZTUJPTChfX2NsZWFyX3Vz ZXIpCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L3B1cmdhdG9yeS9lbnRyeS5TIGIvYXJjaC9yaXNj di9wdXJnYXRvcnkvZW50cnkuUwppbmRleCAwMTk0ZjQ1NTQxMzAuLjdiZWZhMjc2ZmIwMSAxMDA2 NDQKLS0tIGEvYXJjaC9yaXNjdi9wdXJnYXRvcnkvZW50cnkuUworKysgYi9hcmNoL3Jpc2N2L3B1 cmdhdG9yeS9lbnRyeS5TCkBAIC03LDE1ICs3LDExIEBACiAgKiBBdXRob3I6IExpIFpoZW5neXUg KGxpemhlbmd5dTNAaHVhd2VpLmNvbSkKICAqCiAgKi8KLQotLm1hY3JvCXNpemUsIHN5bTpyZXEK LQkuc2l6ZSBcc3ltLCAuIC0gXHN5bQotLmVuZG0KKyNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+ CiAKIC50ZXh0CiAKLS5nbG9ibCBwdXJnYXRvcnlfc3RhcnQKLXB1cmdhdG9yeV9zdGFydDoKK1NZ TV9DT0RFX1NUQVJUKHB1cmdhdG9yeV9zdGFydCkKIAogCWxsYQlzcCwgLkxzdGFjawogCW12CXMw LCBhMAkvKiBUaGUgaGFydGlkIG9mIHRoZSBjdXJyZW50IGhhcnQgKi8KQEAgLTI4LDggKzI0LDcg QEAgcHVyZ2F0b3J5X3N0YXJ0OgogCW12CWExLCBzMQogCWxkCWEyLCByaXNjdl9rZXJuZWxfZW50 cnkKIAlqcglhMgotCi1zaXplIHB1cmdhdG9yeV9zdGFydAorU1lNX0NPREVfRU5EKHB1cmdhdG9y eV9zdGFydCkKIAogLmFsaWduIDQKIAkucmVwdAkyNTYKQEAgLTM5LDkgKzM0LDggQEAgc2l6ZSBw dXJnYXRvcnlfc3RhcnQKIAogLmRhdGEKIAotLmdsb2JsIHJpc2N2X2tlcm5lbF9lbnRyeQotcmlz Y3Zfa2VybmVsX2VudHJ5OgorU1lNX0RBVEFfU1RBUlQocmlzY3Zfa2VybmVsX2VudHJ5KQogCS5x dWFkCTAKLXNpemUgcmlzY3Zfa2VybmVsX2VudHJ5CitTWU1fREFUQV9FTkQocmlzY3Zfa2VybmVs X2VudHJ5KQogCiAuZW5kCi0tIAoyLjQyLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LXJpc2N2Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Clément Léger Date: Wed, 4 Oct 2023 16:30:51 +0200 Subject: [PATCH 2/5] riscv: Use SYM_*() assembly macros instead of deprecated ones In-Reply-To: <20231004143054.482091-1-cleger@rivosinc.com> References: <20231004143054.482091-1-cleger@rivosinc.com> Message-ID: <20231004143054.482091-3-cleger@rivosinc.com> List-Id: To: kvm-riscv@lists.infradead.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit ENTRY()/END()/WEAK() macros are deprecated and we should make use of the new SYM_*() macros [1] for better annotation of symbols. Replace the deprecated ones with the new ones and fix wrong usage of END()/ENDPROC() to correctly describe the symbols. [1] https://docs.kernel.org/core-api/asm-annotations.html Signed-off-by: Cl?ment L?ger --- arch/riscv/kernel/copy-unaligned.S | 8 ++++---- arch/riscv/kernel/fpu.S | 8 ++++---- arch/riscv/kernel/head.S | 12 +++++------ arch/riscv/kernel/hibernate-asm.S | 12 +++++------ arch/riscv/kernel/mcount-dyn.S | 20 ++++++++----------- arch/riscv/kernel/mcount.S | 8 ++++---- arch/riscv/kernel/probes/rethook_trampoline.S | 4 ++-- arch/riscv/kernel/suspend_entry.S | 4 ++-- arch/riscv/kernel/vdso/flush_icache.S | 4 ++-- arch/riscv/kernel/vdso/getcpu.S | 4 ++-- arch/riscv/kernel/vdso/rt_sigreturn.S | 4 ++-- arch/riscv/kernel/vdso/sys_hwprobe.S | 4 ++-- arch/riscv/lib/memcpy.S | 6 +++--- arch/riscv/lib/memmove.S | 2 +- arch/riscv/lib/memset.S | 6 +++--- arch/riscv/lib/uaccess.S | 11 +++++----- arch/riscv/purgatory/entry.S | 16 +++++---------- 17 files changed, 61 insertions(+), 72 deletions(-) diff --git a/arch/riscv/kernel/copy-unaligned.S b/arch/riscv/kernel/copy-unaligned.S index cfdecfbaad62..2b3d9398c113 100644 --- a/arch/riscv/kernel/copy-unaligned.S +++ b/arch/riscv/kernel/copy-unaligned.S @@ -9,7 +9,7 @@ /* void __riscv_copy_words_unaligned(void *, const void *, size_t) */ /* Performs a memcpy without aligning buffers, using word loads and stores. */ /* Note: The size is truncated to a multiple of 8 * SZREG */ -ENTRY(__riscv_copy_words_unaligned) +SYM_FUNC_START(__riscv_copy_words_unaligned) andi a4, a2, ~((8*SZREG)-1) beqz a4, 2f add a3, a1, a4 @@ -36,12 +36,12 @@ ENTRY(__riscv_copy_words_unaligned) 2: ret -END(__riscv_copy_words_unaligned) +SYM_FUNC_END(__riscv_copy_words_unaligned) /* void __riscv_copy_bytes_unaligned(void *, const void *, size_t) */ /* Performs a memcpy without aligning buffers, using only byte accesses. */ /* Note: The size is truncated to a multiple of 8 */ -ENTRY(__riscv_copy_bytes_unaligned) +SYM_FUNC_START(__riscv_copy_bytes_unaligned) andi a4, a2, ~(8-1) beqz a4, 2f add a3, a1, a4 @@ -68,4 +68,4 @@ ENTRY(__riscv_copy_bytes_unaligned) 2: ret -END(__riscv_copy_bytes_unaligned) +SYM_FUNC_END(__riscv_copy_bytes_unaligned) diff --git a/arch/riscv/kernel/fpu.S b/arch/riscv/kernel/fpu.S index dd2205473de7..6201afcd6b45 100644 --- a/arch/riscv/kernel/fpu.S +++ b/arch/riscv/kernel/fpu.S @@ -19,7 +19,7 @@ #include #include -ENTRY(__fstate_save) +SYM_FUNC_START(__fstate_save) li a2, TASK_THREAD_F0 add a0, a0, a2 li t1, SR_FS @@ -60,9 +60,9 @@ ENTRY(__fstate_save) sw t0, TASK_THREAD_FCSR_F0(a0) csrc CSR_STATUS, t1 ret -ENDPROC(__fstate_save) +SYM_FUNC_END(__fstate_save) -ENTRY(__fstate_restore) +SYM_FUNC_START(__fstate_restore) li a2, TASK_THREAD_F0 add a0, a0, a2 li t1, SR_FS @@ -103,4 +103,4 @@ ENTRY(__fstate_restore) fscsr t0 csrc CSR_STATUS, t1 ret -ENDPROC(__fstate_restore) +SYM_FUNC_END(__fstate_restore) diff --git a/arch/riscv/kernel/head.S b/arch/riscv/kernel/head.S index 7e1b83f18a50..56f78ec304c6 100644 --- a/arch/riscv/kernel/head.S +++ b/arch/riscv/kernel/head.S @@ -18,7 +18,7 @@ #include "efi-header.S" __HEAD -ENTRY(_start) +SYM_CODE_START(_start) /* * Image header expected by Linux boot-loaders. The image header data * structure is described in asm/image.h. @@ -191,9 +191,9 @@ secondary_start_sbi: wfi j .Lsecondary_park -END(_start) +SYM_CODE_END(_start) -ENTRY(_start_kernel) +SYM_CODE_START(_start_kernel) /* Mask all interrupts */ csrw CSR_IE, zero csrw CSR_IP, zero @@ -353,10 +353,10 @@ ENTRY(_start_kernel) tail .Lsecondary_start_common #endif /* CONFIG_RISCV_BOOT_SPINWAIT */ -END(_start_kernel) +SYM_CODE_END(_start_kernel) #ifdef CONFIG_RISCV_M_MODE -ENTRY(reset_regs) +SYM_CODE_START_LOCAL(reset_regs) li sp, 0 li gp, 0 li tp, 0 @@ -454,5 +454,5 @@ ENTRY(reset_regs) .Lreset_regs_done_vector: #endif /* CONFIG_RISCV_ISA_V */ ret -END(reset_regs) +SYM_CODE_END(reset_regs) #endif /* CONFIG_RISCV_M_MODE */ diff --git a/arch/riscv/kernel/hibernate-asm.S b/arch/riscv/kernel/hibernate-asm.S index d698dd7df637..d040dcf4add4 100644 --- a/arch/riscv/kernel/hibernate-asm.S +++ b/arch/riscv/kernel/hibernate-asm.S @@ -21,7 +21,7 @@ * * Always returns 0 */ -ENTRY(__hibernate_cpu_resume) +SYM_FUNC_START(__hibernate_cpu_resume) /* switch to hibernated image's page table. */ csrw CSR_SATP, s0 sfence.vma @@ -34,7 +34,7 @@ ENTRY(__hibernate_cpu_resume) mv a0, zero ret -END(__hibernate_cpu_resume) +SYM_FUNC_END(__hibernate_cpu_resume) /* * Prepare to restore the image. @@ -42,7 +42,7 @@ END(__hibernate_cpu_resume) * a1: satp of temporary page tables. * a2: cpu_resume. */ -ENTRY(hibernate_restore_image) +SYM_FUNC_START(hibernate_restore_image) mv s0, a0 mv s1, a1 mv s2, a2 @@ -50,7 +50,7 @@ ENTRY(hibernate_restore_image) REG_L a1, relocated_restore_code jr a1 -END(hibernate_restore_image) +SYM_FUNC_END(hibernate_restore_image) /* * The below code will be executed from a 'safe' page. @@ -58,7 +58,7 @@ END(hibernate_restore_image) * back to the original memory location. Finally, it jumps to __hibernate_cpu_resume() * to restore the CPU context. */ -ENTRY(hibernate_core_restore_code) +SYM_FUNC_START(hibernate_core_restore_code) /* switch to temp page table. */ csrw satp, s1 sfence.vma @@ -73,4 +73,4 @@ ENTRY(hibernate_core_restore_code) bnez s4, .Lcopy jr s2 -END(hibernate_core_restore_code) +SYM_FUNC_END(hibernate_core_restore_code) diff --git a/arch/riscv/kernel/mcount-dyn.S b/arch/riscv/kernel/mcount-dyn.S index 669b8697aa38..58dd96a2a153 100644 --- a/arch/riscv/kernel/mcount-dyn.S +++ b/arch/riscv/kernel/mcount-dyn.S @@ -82,7 +82,7 @@ .endm #endif /* CONFIG_DYNAMIC_FTRACE_WITH_REGS */ -ENTRY(ftrace_caller) +SYM_FUNC_START(ftrace_caller) SAVE_ABI addi a0, t0, -FENTRY_RA_OFFSET @@ -91,8 +91,7 @@ ENTRY(ftrace_caller) mv a1, ra mv a3, sp -ftrace_call: - .global ftrace_call +SYM_INNER_LABEL(ftrace_call, SYM_L_GLOBAL) call ftrace_stub #ifdef CONFIG_FUNCTION_GRAPH_TRACER @@ -102,16 +101,15 @@ ftrace_call: #ifdef HAVE_FUNCTION_GRAPH_FP_TEST mv a2, s0 #endif -ftrace_graph_call: - .global ftrace_graph_call +SYM_INNER_LABEL(ftrace_graph_call, SYM_L_GLOBAL) call ftrace_stub #endif RESTORE_ABI jr t0 -ENDPROC(ftrace_caller) +SYM_FUNC_END(ftrace_caller) #ifdef CONFIG_DYNAMIC_FTRACE_WITH_REGS -ENTRY(ftrace_regs_caller) +SYM_FUNC_START(ftrace_regs_caller) SAVE_ALL addi a0, t0, -FENTRY_RA_OFFSET @@ -120,8 +118,7 @@ ENTRY(ftrace_regs_caller) mv a1, ra mv a3, sp -ftrace_regs_call: - .global ftrace_regs_call +SYM_INNER_LABEL(ftrace_regs_call, SYM_L_GLOBAL) call ftrace_stub #ifdef CONFIG_FUNCTION_GRAPH_TRACER @@ -131,12 +128,11 @@ ftrace_regs_call: #ifdef HAVE_FUNCTION_GRAPH_FP_TEST mv a2, s0 #endif -ftrace_graph_regs_call: - .global ftrace_graph_regs_call +SYM_INNER_LABEL(ftrace_graph_regs_call, SYM_L_GLOBAL) call ftrace_stub #endif RESTORE_ALL jr t0 -ENDPROC(ftrace_regs_caller) +SYM_FUNC_END(ftrace_regs_caller) #endif /* CONFIG_DYNAMIC_FTRACE_WITH_REGS */ diff --git a/arch/riscv/kernel/mcount.S b/arch/riscv/kernel/mcount.S index ab4dd0594fe7..b4dd9ed6849e 100644 --- a/arch/riscv/kernel/mcount.S +++ b/arch/riscv/kernel/mcount.S @@ -61,7 +61,7 @@ SYM_TYPED_FUNC_START(ftrace_stub_graph) ret SYM_FUNC_END(ftrace_stub_graph) -ENTRY(return_to_handler) +SYM_FUNC_START(return_to_handler) /* * On implementing the frame point test, the ideal way is to compare the * s0 (frame pointer, if enabled) on entry and the sp (stack pointer) on return. @@ -76,11 +76,11 @@ ENTRY(return_to_handler) mv a2, a0 RESTORE_RET_ABI_STATE jalr a2 -ENDPROC(return_to_handler) +SYM_FUNC_END(return_to_handler) #endif #ifndef CONFIG_DYNAMIC_FTRACE -ENTRY(MCOUNT_NAME) +SYM_FUNC_START(MCOUNT_NAME) la t4, ftrace_stub #ifdef CONFIG_FUNCTION_GRAPH_TRACER la t0, ftrace_graph_return @@ -126,6 +126,6 @@ ENTRY(MCOUNT_NAME) jalr t5 RESTORE_ABI_STATE ret -ENDPROC(MCOUNT_NAME) +SYM_FUNC_END(MCOUNT_NAME) #endif EXPORT_SYMBOL(MCOUNT_NAME) diff --git a/arch/riscv/kernel/probes/rethook_trampoline.S b/arch/riscv/kernel/probes/rethook_trampoline.S index 21bac92a170a..f2cd83d9b0f0 100644 --- a/arch/riscv/kernel/probes/rethook_trampoline.S +++ b/arch/riscv/kernel/probes/rethook_trampoline.S @@ -75,7 +75,7 @@ REG_L x31, PT_T6(sp) .endm -ENTRY(arch_rethook_trampoline) +SYM_CODE_START(arch_rethook_trampoline) addi sp, sp, -(PT_SIZE_ON_STACK) save_all_base_regs @@ -90,4 +90,4 @@ ENTRY(arch_rethook_trampoline) addi sp, sp, PT_SIZE_ON_STACK ret -ENDPROC(arch_rethook_trampoline) +SYM_CODE_END(arch_rethook_trampoline) diff --git a/arch/riscv/kernel/suspend_entry.S b/arch/riscv/kernel/suspend_entry.S index f7960c7c5f9e..a59c4c903696 100644 --- a/arch/riscv/kernel/suspend_entry.S +++ b/arch/riscv/kernel/suspend_entry.S @@ -16,7 +16,7 @@ .altmacro .option norelax -ENTRY(__cpu_suspend_enter) +SYM_FUNC_START(__cpu_suspend_enter) /* Save registers (except A0 and T0-T6) */ REG_S ra, (SUSPEND_CONTEXT_REGS + PT_RA)(a0) REG_S sp, (SUSPEND_CONTEXT_REGS + PT_SP)(a0) @@ -57,7 +57,7 @@ ENTRY(__cpu_suspend_enter) /* Return to C code */ ret -END(__cpu_suspend_enter) +SYM_FUNC_END(__cpu_suspend_enter) SYM_TYPED_FUNC_START(__cpu_resume_enter) /* Load the global pointer */ diff --git a/arch/riscv/kernel/vdso/flush_icache.S b/arch/riscv/kernel/vdso/flush_icache.S index 82f97d67c23e..8f884227e8bc 100644 --- a/arch/riscv/kernel/vdso/flush_icache.S +++ b/arch/riscv/kernel/vdso/flush_icache.S @@ -8,7 +8,7 @@ .text /* int __vdso_flush_icache(void *start, void *end, unsigned long flags); */ -ENTRY(__vdso_flush_icache) +SYM_FUNC_START(__vdso_flush_icache) .cfi_startproc #ifdef CONFIG_SMP li a7, __NR_riscv_flush_icache @@ -19,4 +19,4 @@ ENTRY(__vdso_flush_icache) #endif ret .cfi_endproc -ENDPROC(__vdso_flush_icache) +SYM_FUNC_END(__vdso_flush_icache) diff --git a/arch/riscv/kernel/vdso/getcpu.S b/arch/riscv/kernel/vdso/getcpu.S index bb0c05e2ffba..9c1bd531907f 100644 --- a/arch/riscv/kernel/vdso/getcpu.S +++ b/arch/riscv/kernel/vdso/getcpu.S @@ -8,11 +8,11 @@ .text /* int __vdso_getcpu(unsigned *cpu, unsigned *node, void *unused); */ -ENTRY(__vdso_getcpu) +SYM_FUNC_START(__vdso_getcpu) .cfi_startproc /* For now, just do the syscall. */ li a7, __NR_getcpu ecall ret .cfi_endproc -ENDPROC(__vdso_getcpu) +SYM_FUNC_END(__vdso_getcpu) diff --git a/arch/riscv/kernel/vdso/rt_sigreturn.S b/arch/riscv/kernel/vdso/rt_sigreturn.S index 10438c7c626a..3dc022aa8931 100644 --- a/arch/riscv/kernel/vdso/rt_sigreturn.S +++ b/arch/riscv/kernel/vdso/rt_sigreturn.S @@ -7,10 +7,10 @@ #include .text -ENTRY(__vdso_rt_sigreturn) +SYM_FUNC_START(__vdso_rt_sigreturn) .cfi_startproc .cfi_signal_frame li a7, __NR_rt_sigreturn ecall .cfi_endproc -ENDPROC(__vdso_rt_sigreturn) +SYM_FUNC_END(__vdso_rt_sigreturn) diff --git a/arch/riscv/kernel/vdso/sys_hwprobe.S b/arch/riscv/kernel/vdso/sys_hwprobe.S index 4e704146c77a..77e57f830521 100644 --- a/arch/riscv/kernel/vdso/sys_hwprobe.S +++ b/arch/riscv/kernel/vdso/sys_hwprobe.S @@ -5,11 +5,11 @@ #include .text -ENTRY(riscv_hwprobe) +SYM_FUNC_START(riscv_hwprobe) .cfi_startproc li a7, __NR_riscv_hwprobe ecall ret .cfi_endproc -ENDPROC(riscv_hwprobe) +SYM_FUNC_END(riscv_hwprobe) diff --git a/arch/riscv/lib/memcpy.S b/arch/riscv/lib/memcpy.S index 1a40d01a9543..44e009ec5fef 100644 --- a/arch/riscv/lib/memcpy.S +++ b/arch/riscv/lib/memcpy.S @@ -7,8 +7,7 @@ #include /* void *memcpy(void *, const void *, size_t) */ -ENTRY(__memcpy) -WEAK(memcpy) +SYM_FUNC_START(__memcpy) move t6, a0 /* Preserve return value */ /* Defer to byte-oriented copy for small sizes */ @@ -105,6 +104,7 @@ WEAK(memcpy) bltu a1, a3, 5b 6: ret -END(__memcpy) +SYM_FUNC_END(__memcpy) +SYM_FUNC_ALIAS_WEAK(memcpy, __memcpy) SYM_FUNC_ALIAS(__pi_memcpy, __memcpy) SYM_FUNC_ALIAS(__pi___memcpy, __memcpy) diff --git a/arch/riscv/lib/memmove.S b/arch/riscv/lib/memmove.S index 1930b388c3a0..5130033e3e02 100644 --- a/arch/riscv/lib/memmove.S +++ b/arch/riscv/lib/memmove.S @@ -7,7 +7,6 @@ #include SYM_FUNC_START(__memmove) -SYM_FUNC_START_WEAK(memmove) /* * Returns * a0 - dest @@ -314,5 +313,6 @@ SYM_FUNC_START_WEAK(memmove) SYM_FUNC_END(memmove) SYM_FUNC_END(__memmove) +SYM_FUNC_ALIAS_WEAK(memmove, __memmove) SYM_FUNC_ALIAS(__pi_memmove, __memmove) SYM_FUNC_ALIAS(__pi___memmove, __memmove) diff --git a/arch/riscv/lib/memset.S b/arch/riscv/lib/memset.S index 34c5360c6705..35f358e70bdb 100644 --- a/arch/riscv/lib/memset.S +++ b/arch/riscv/lib/memset.S @@ -8,8 +8,7 @@ #include /* void *memset(void *, int, size_t) */ -ENTRY(__memset) -WEAK(memset) +SYM_FUNC_START(__memset) move t0, a0 /* Preserve return value */ /* Defer to byte-oriented fill for small sizes */ @@ -110,4 +109,5 @@ WEAK(memset) bltu t0, a3, 5b 6: ret -END(__memset) +SYM_FUNC_END(__memset) +SYM_FUNC_ALIAS_WEAK(memset, __memset) diff --git a/arch/riscv/lib/uaccess.S b/arch/riscv/lib/uaccess.S index 09b47ebacf2e..3ab438f30d13 100644 --- a/arch/riscv/lib/uaccess.S +++ b/arch/riscv/lib/uaccess.S @@ -10,8 +10,7 @@ _asm_extable 100b, \lbl .endm -ENTRY(__asm_copy_to_user) -ENTRY(__asm_copy_from_user) +SYM_FUNC_START(__asm_copy_to_user) /* Enable access to user memory */ li t6, SR_SUM @@ -181,13 +180,13 @@ ENTRY(__asm_copy_from_user) csrc CSR_STATUS, t6 sub a0, t5, a0 ret -ENDPROC(__asm_copy_to_user) -ENDPROC(__asm_copy_from_user) +SYM_FUNC_END(__asm_copy_to_user) EXPORT_SYMBOL(__asm_copy_to_user) +SYM_FUNC_ALIAS(__asm_copy_from_user, __asm_copy_to_user) EXPORT_SYMBOL(__asm_copy_from_user) -ENTRY(__clear_user) +SYM_FUNC_START(__clear_user) /* Enable access to user memory */ li t6, SR_SUM @@ -233,5 +232,5 @@ ENTRY(__clear_user) csrc CSR_STATUS, t6 sub a0, a3, a0 ret -ENDPROC(__clear_user) +SYM_FUNC_END(__clear_user) EXPORT_SYMBOL(__clear_user) diff --git a/arch/riscv/purgatory/entry.S b/arch/riscv/purgatory/entry.S index 0194f4554130..7befa276fb01 100644 --- a/arch/riscv/purgatory/entry.S +++ b/arch/riscv/purgatory/entry.S @@ -7,15 +7,11 @@ * Author: Li Zhengyu (lizhengyu3 at huawei.com) * */ - -.macro size, sym:req - .size \sym, . - \sym -.endm +#include .text -.globl purgatory_start -purgatory_start: +SYM_CODE_START(purgatory_start) lla sp, .Lstack mv s0, a0 /* The hartid of the current hart */ @@ -28,8 +24,7 @@ purgatory_start: mv a1, s1 ld a2, riscv_kernel_entry jr a2 - -size purgatory_start +SYM_CODE_END(purgatory_start) .align 4 .rept 256 @@ -39,9 +34,8 @@ size purgatory_start .data -.globl riscv_kernel_entry -riscv_kernel_entry: +SYM_DATA_START(riscv_kernel_entry) .quad 0 -size riscv_kernel_entry +SYM_DATA_END(riscv_kernel_entry) .end -- 2.42.0