From mboxrd@z Thu Jan 1 00:00:00 1970 From: Clément Léger Date: Tue, 24 Oct 2023 15:26:52 +0200 Subject: [PATCH v2 2/5] riscv: Use SYM_*() assembly macros instead of deprecated ones In-Reply-To: <20231024132655.730417-1-cleger@rivosinc.com> References: <20231024132655.730417-1-cleger@rivosinc.com> Message-ID: <20231024132655.730417-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 | 3 +-- arch/riscv/lib/memset.S | 6 +++--- arch/riscv/lib/uaccess.S | 11 +++++----- arch/riscv/purgatory/entry.S | 16 ++++----------- 17 files changed, 60 insertions(+), 74 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..cb3e2e7ef0ba 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 @@ -312,7 +311,7 @@ SYM_FUNC_START_WEAK(memmove) .Lreturn_from_memmove: ret -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..5bcf3af903da 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,6 @@ size purgatory_start .data -.globl riscv_kernel_entry -riscv_kernel_entry: - .quad 0 -size riscv_kernel_entry +SYM_DATA(riscv_kernel_entry, .quad 0) .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 64E76C00A8F for ; Tue, 24 Oct 2023 13:28:09 +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=RPO+cO0z4Gbik5NZcyTzqtPBU+routmLT3bu5cXsScc=; b=u/6ErYEuhE0kOF Lm2uVindI9yDpgG2cTopz9dJ70a+5eDIPvrtQtOZ5JQ43ClUHjTA4A4sm+4CDDHKMiwLXft/Dbkkd 8cKI3EIMDfpW7eX9NFFWNQ/gCnX9DorhG95ZxEGQR3XrcwLbBly3GCVZvs4IIdy6yoA7bIw8yz1mL 4FGSBdihgSeonQB1mbsodwBSlYxSxdy2GizDaETL3l5crMKwA/cUXDakM9NHRmwY/Du8VFeDRP75g 3ZVsxcPfzj6ZZAYp0w6xuS+bYUtTrpchdcmEIA0aIC7k1CSnn1DidxttluDfwGcywQlCNXUh7fm4D 3wEM6c7V5wga/hA4mE+A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qvHRy-009wpy-0i; Tue, 24 Oct 2023 13:28:02 +0000 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qvHRr-009wjk-0S for linux-riscv@lists.infradead.org; Tue, 24 Oct 2023 13:27:58 +0000 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-32da4180ca2so924274f8f.1 for ; Tue, 24 Oct 2023 06:27:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1698154073; x=1698758873; 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=A/+uKo63vBqjkKXskB2aK0p7JjevqsJxXi89r6PoD1g=; b=P32vhIGBYkIg8c51inLJzxIQKpQ/iRoptOErShs0b4C77xx5C02WQ/lNxoHQoz4YYa 6Yjh2wtb0XLTwn6wP3eNaRGlP9x58GPUD22f1xrAmPzvSaynJXUpO/Uq9qFpuN3mn1Mw W0Bg8i4yVx5elXNaFs0ogxiQVToIRjsVQ7PGZ7BL/Pd/bUJsNLeybP1tYsr6+lS+sc/l 6zOB/QdOus+Us4RAfRxII02P9d74Tbb3PV/ToeMuLpVqtZtP0EWI2mludLJpv03l4X2x CF2aZ0sH3io6ye23FyhqqNqSpvmzrWhwofW0ndxanKJLuyVt0Dy5ZEJAIDnLIxFa/lM9 4QAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698154073; x=1698758873; 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=A/+uKo63vBqjkKXskB2aK0p7JjevqsJxXi89r6PoD1g=; b=YHXCVvpwAYrJy8lOr3VAkNfNRIfwcTx07KNK5wjZUFTHqHptrFxqUkg837eYvUvV7t fN7bxwQGcvUM/zSgzhgC30bxJpjYWv5NCYZuILbiEs7hv/GUB2mQwTWgTmikTShhhmb8 A+T3puNnjyq4+4XGx/d0VBEBuALOohMHSPs9v+FmqEEp8caaXQQy7dgGDMURgA7ZVV09 YvoNWv/EUEK7GP9BPR9EXq5HyN9cvEiO3Tr/TxX3yJD88qOZ4IzCkcGFlRC1dKU/fZ/J e50tkcInT9iXiYHC/3fAN4PNS4j+o+Yr3FlNNmpbL1dHzhuLPtTnNyY3F0pxDo6YmEqx K05A== X-Gm-Message-State: AOJu0YzXr+RNLAcJ8I0zm+qexquPQs7JdtKVd5EOAGFmyk5PtUpAPDCL jnFydDOAOEGcoJGFlpk7EXZmsQ== X-Google-Smtp-Source: AGHT+IHLMv7XwMPcxCJvAk39w0B94lKJnffDpoMogxi1oPxY9b5kIqxITd2qHYBNGv0MVHWM5SxZhw== X-Received: by 2002:adf:a34b:0:b0:32d:c217:8307 with SMTP id d11-20020adfa34b000000b0032dc2178307mr9220137wrb.5.1698154073071; Tue, 24 Oct 2023 06:27:53 -0700 (PDT) Received: from carbon-x1.. ([2a01:e0a:999:a3a0:597d:e2c5:6741:bac9]) by smtp.gmail.com with ESMTPSA id c17-20020a5d4151000000b0032d87b13240sm10034964wrq.73.2023.10.24.06.27.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Oct 2023 06:27:52 -0700 (PDT) From: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= To: Paul Walmsley , Palmer Dabbelt , Albert Ou , Anup Patel , Atish Patra , Andrew Jones 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 v2 2/5] riscv: Use SYM_*() assembly macros instead of deprecated ones Date: Tue, 24 Oct 2023 15:26:52 +0200 Message-ID: <20231024132655.730417-3-cleger@rivosinc.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231024132655.730417-1-cleger@rivosinc.com> References: <20231024132655.730417-1-cleger@rivosinc.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231024_062755_193671_602FA14A X-CRM114-Status: GOOD ( 17.57 ) 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 IHwgIDMgKy0tCiBhcmNoL3Jpc2N2L2xpYi9tZW1zZXQuUyAgICAgICAgICAgICAgICAgICAgICAg fCAgNiArKystLS0KIGFyY2gvcmlzY3YvbGliL3VhY2Nlc3MuUyAgICAgICAgICAgICAgICAgICAg ICB8IDExICsrKysrLS0tLS0KIGFyY2gvcmlzY3YvcHVyZ2F0b3J5L2VudHJ5LlMgICAgICAgICAg ICAgICAgICB8IDE2ICsrKystLS0tLS0tLS0tLQogMTcgZmlsZXMgY2hhbmdlZCwgNjAgaW5zZXJ0 aW9ucygrKSwgNzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwv Y29weS11bmFsaWduZWQuUyBiL2FyY2gvcmlzY3Yva2VybmVsL2NvcHktdW5hbGlnbmVkLlMKaW5k ZXggY2ZkZWNmYmFhZDYyLi4yYjNkOTM5OGMxMTMgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3Yva2Vy bmVsL2NvcHktdW5hbGlnbmVkLlMKKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvY29weS11bmFsaWdu ZWQuUwpAQCAtOSw3ICs5LDcgQEAKIC8qIHZvaWQgX19yaXNjdl9jb3B5X3dvcmRzX3VuYWxpZ25l ZCh2b2lkICosIGNvbnN0IHZvaWQgKiwgc2l6ZV90KSAqLwogLyogUGVyZm9ybXMgYSBtZW1jcHkg d2l0aG91dCBhbGlnbmluZyBidWZmZXJzLCB1c2luZyB3b3JkIGxvYWRzIGFuZCBzdG9yZXMuICov CiAvKiBOb3RlOiBUaGUgc2l6ZSBpcyB0cnVuY2F0ZWQgdG8gYSBtdWx0aXBsZSBvZiA4ICogU1pS RUcgKi8KLUVOVFJZKF9fcmlzY3ZfY29weV93b3Jkc191bmFsaWduZWQpCitTWU1fRlVOQ19TVEFS VChfX3Jpc2N2X2NvcHlfd29yZHNfdW5hbGlnbmVkKQogCWFuZGkgIGE0LCBhMiwgfigoOCpTWlJF RyktMSkKIAliZXF6ICBhNCwgMmYKIAlhZGQgICBhMywgYTEsIGE0CkBAIC0zNiwxMiArMzYsMTIg QEAgRU5UUlkoX19yaXNjdl9jb3B5X3dvcmRzX3VuYWxpZ25lZCkKIAogMjoKIAlyZXQKLUVORChf X3Jpc2N2X2NvcHlfd29yZHNfdW5hbGlnbmVkKQorU1lNX0ZVTkNfRU5EKF9fcmlzY3ZfY29weV93 b3Jkc191bmFsaWduZWQpCiAKIC8qIHZvaWQgX19yaXNjdl9jb3B5X2J5dGVzX3VuYWxpZ25lZCh2 b2lkICosIGNvbnN0IHZvaWQgKiwgc2l6ZV90KSAqLwogLyogUGVyZm9ybXMgYSBtZW1jcHkgd2l0 aG91dCBhbGlnbmluZyBidWZmZXJzLCB1c2luZyBvbmx5IGJ5dGUgYWNjZXNzZXMuICovCiAvKiBO b3RlOiBUaGUgc2l6ZSBpcyB0cnVuY2F0ZWQgdG8gYSBtdWx0aXBsZSBvZiA4ICovCi1FTlRSWShf X3Jpc2N2X2NvcHlfYnl0ZXNfdW5hbGlnbmVkKQorU1lNX0ZVTkNfU1RBUlQoX19yaXNjdl9jb3B5 X2J5dGVzX3VuYWxpZ25lZCkKIAlhbmRpIGE0LCBhMiwgfig4LTEpCiAJYmVxeiBhNCwgMmYKIAlh ZGQgIGEzLCBhMSwgYTQKQEAgLTY4LDQgKzY4LDQgQEAgRU5UUlkoX19yaXNjdl9jb3B5X2J5dGVz X3VuYWxpZ25lZCkKIAogMjoKIAlyZXQKLUVORChfX3Jpc2N2X2NvcHlfYnl0ZXNfdW5hbGlnbmVk KQorU1lNX0ZVTkNfRU5EKF9fcmlzY3ZfY29weV9ieXRlc191bmFsaWduZWQpCmRpZmYgLS1naXQg YS9hcmNoL3Jpc2N2L2tlcm5lbC9mcHUuUyBiL2FyY2gvcmlzY3Yva2VybmVsL2ZwdS5TCmluZGV4 IGRkMjIwNTQ3M2RlNy4uNjIwMWFmY2Q2YjQ1IDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2tlcm5l bC9mcHUuUworKysgYi9hcmNoL3Jpc2N2L2tlcm5lbC9mcHUuUwpAQCAtMTksNyArMTksNyBAQAog I2luY2x1ZGUgPGFzbS9jc3IuaD4KICNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KIAotRU5U UlkoX19mc3RhdGVfc2F2ZSkKK1NZTV9GVU5DX1NUQVJUKF9fZnN0YXRlX3NhdmUpCiAJbGkgIGEy LCAgVEFTS19USFJFQURfRjAKIAlhZGQgYTAsIGEwLCBhMgogCWxpIHQxLCBTUl9GUwpAQCAtNjAs OSArNjAsOSBAQCBFTlRSWShfX2ZzdGF0ZV9zYXZlKQogCXN3IHQwLCBUQVNLX1RIUkVBRF9GQ1NS X0YwKGEwKQogCWNzcmMgQ1NSX1NUQVRVUywgdDEKIAlyZXQKLUVORFBST0MoX19mc3RhdGVfc2F2 ZSkKK1NZTV9GVU5DX0VORChfX2ZzdGF0ZV9zYXZlKQogCi1FTlRSWShfX2ZzdGF0ZV9yZXN0b3Jl KQorU1lNX0ZVTkNfU1RBUlQoX19mc3RhdGVfcmVzdG9yZSkKIAlsaSAgYTIsICBUQVNLX1RIUkVB RF9GMAogCWFkZCBhMCwgYTAsIGEyCiAJbGkgdDEsIFNSX0ZTCkBAIC0xMDMsNCArMTAzLDQgQEAg RU5UUlkoX19mc3RhdGVfcmVzdG9yZSkKIAlmc2NzciB0MAogCWNzcmMgQ1NSX1NUQVRVUywgdDEK IAlyZXQKLUVORFBST0MoX19mc3RhdGVfcmVzdG9yZSkKK1NZTV9GVU5DX0VORChfX2ZzdGF0ZV9y ZXN0b3JlKQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvaGVhZC5TIGIvYXJjaC9yaXNj di9rZXJuZWwvaGVhZC5TCmluZGV4IDdlMWI4M2YxOGE1MC4uNTZmNzhlYzMwNGM2IDEwMDY0NAot LS0gYS9hcmNoL3Jpc2N2L2tlcm5lbC9oZWFkLlMKKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvaGVh ZC5TCkBAIC0xOCw3ICsxOCw3IEBACiAjaW5jbHVkZSAiZWZpLWhlYWRlci5TIgogCiBfX0hFQUQK LUVOVFJZKF9zdGFydCkKK1NZTV9DT0RFX1NUQVJUKF9zdGFydCkKIAkvKgogCSAqIEltYWdlIGhl YWRlciBleHBlY3RlZCBieSBMaW51eCBib290LWxvYWRlcnMuIFRoZSBpbWFnZSBoZWFkZXIgZGF0 YQogCSAqIHN0cnVjdHVyZSBpcyBkZXNjcmliZWQgaW4gYXNtL2ltYWdlLmguCkBAIC0xOTEsOSAr MTkxLDkgQEAgc2Vjb25kYXJ5X3N0YXJ0X3NiaToKIAl3ZmkKIAlqIC5Mc2Vjb25kYXJ5X3BhcmsK IAotRU5EKF9zdGFydCkKK1NZTV9DT0RFX0VORChfc3RhcnQpCiAKLUVOVFJZKF9zdGFydF9rZXJu ZWwpCitTWU1fQ09ERV9TVEFSVChfc3RhcnRfa2VybmVsKQogCS8qIE1hc2sgYWxsIGludGVycnVw dHMgKi8KIAljc3J3IENTUl9JRSwgemVybwogCWNzcncgQ1NSX0lQLCB6ZXJvCkBAIC0zNTMsMTAg KzM1MywxMCBAQCBFTlRSWShfc3RhcnRfa2VybmVsKQogCXRhaWwgLkxzZWNvbmRhcnlfc3RhcnRf Y29tbW9uCiAjZW5kaWYgLyogQ09ORklHX1JJU0NWX0JPT1RfU1BJTldBSVQgKi8KIAotRU5EKF9z dGFydF9rZXJuZWwpCitTWU1fQ09ERV9FTkQoX3N0YXJ0X2tlcm5lbCkKIAogI2lmZGVmIENPTkZJ R19SSVNDVl9NX01PREUKLUVOVFJZKHJlc2V0X3JlZ3MpCitTWU1fQ09ERV9TVEFSVF9MT0NBTChy ZXNldF9yZWdzKQogCWxpCXNwLCAwCiAJbGkJZ3AsIDAKIAlsaQl0cCwgMApAQCAtNDU0LDUgKzQ1 NCw1IEBAIEVOVFJZKHJlc2V0X3JlZ3MpCiAuTHJlc2V0X3JlZ3NfZG9uZV92ZWN0b3I6CiAjZW5k aWYgLyogQ09ORklHX1JJU0NWX0lTQV9WICovCiAJcmV0Ci1FTkQocmVzZXRfcmVncykKK1NZTV9D T0RFX0VORChyZXNldF9yZWdzKQogI2VuZGlmIC8qIENPTkZJR19SSVNDVl9NX01PREUgKi8KZGlm ZiAtLWdpdCBhL2FyY2gvcmlzY3Yva2VybmVsL2hpYmVybmF0ZS1hc20uUyBiL2FyY2gvcmlzY3Yv a2VybmVsL2hpYmVybmF0ZS1hc20uUwppbmRleCBkNjk4ZGQ3ZGY2MzcuLmQwNDBkY2Y0YWRkNCAx MDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvaGliZXJuYXRlLWFzbS5TCisrKyBiL2FyY2gv cmlzY3Yva2VybmVsL2hpYmVybmF0ZS1hc20uUwpAQCAtMjEsNyArMjEsNyBAQAogICoKICAqIEFs d2F5cyByZXR1cm5zIDAKICAqLwotRU5UUlkoX19oaWJlcm5hdGVfY3B1X3Jlc3VtZSkKK1NZTV9G VU5DX1NUQVJUKF9faGliZXJuYXRlX2NwdV9yZXN1bWUpCiAJLyogc3dpdGNoIHRvIGhpYmVybmF0 ZWQgaW1hZ2UncyBwYWdlIHRhYmxlLiAqLwogCWNzcncgQ1NSX1NBVFAsIHMwCiAJc2ZlbmNlLnZt YQpAQCAtMzQsNyArMzQsNyBAQCBFTlRSWShfX2hpYmVybmF0ZV9jcHVfcmVzdW1lKQogCW12CWEw LCB6ZXJvCiAKIAlyZXQKLUVORChfX2hpYmVybmF0ZV9jcHVfcmVzdW1lKQorU1lNX0ZVTkNfRU5E KF9faGliZXJuYXRlX2NwdV9yZXN1bWUpCiAKIC8qCiAgKiBQcmVwYXJlIHRvIHJlc3RvcmUgdGhl IGltYWdlLgpAQCAtNDIsNyArNDIsNyBAQCBFTkQoX19oaWJlcm5hdGVfY3B1X3Jlc3VtZSkKICAq IGExOiBzYXRwIG9mIHRlbXBvcmFyeSBwYWdlIHRhYmxlcy4KICAqIGEyOiBjcHVfcmVzdW1lLgog ICovCi1FTlRSWShoaWJlcm5hdGVfcmVzdG9yZV9pbWFnZSkKK1NZTV9GVU5DX1NUQVJUKGhpYmVy bmF0ZV9yZXN0b3JlX2ltYWdlKQogCW12CXMwLCBhMAogCW12CXMxLCBhMQogCW12CXMyLCBhMgpA QCAtNTAsNyArNTAsNyBAQCBFTlRSWShoaWJlcm5hdGVfcmVzdG9yZV9pbWFnZSkKIAlSRUdfTAlh MSwgcmVsb2NhdGVkX3Jlc3RvcmVfY29kZQogCiAJanIJYTEKLUVORChoaWJlcm5hdGVfcmVzdG9y ZV9pbWFnZSkKK1NZTV9GVU5DX0VORChoaWJlcm5hdGVfcmVzdG9yZV9pbWFnZSkKIAogLyoKICAq IFRoZSBiZWxvdyBjb2RlIHdpbGwgYmUgZXhlY3V0ZWQgZnJvbSBhICdzYWZlJyBwYWdlLgpAQCAt NTgsNyArNTgsNyBAQCBFTkQoaGliZXJuYXRlX3Jlc3RvcmVfaW1hZ2UpCiAgKiBiYWNrIHRvIHRo ZSBvcmlnaW5hbCBtZW1vcnkgbG9jYXRpb24uIEZpbmFsbHksIGl0IGp1bXBzIHRvIF9faGliZXJu YXRlX2NwdV9yZXN1bWUoKQogICogdG8gcmVzdG9yZSB0aGUgQ1BVIGNvbnRleHQuCiAgKi8KLUVO VFJZKGhpYmVybmF0ZV9jb3JlX3Jlc3RvcmVfY29kZSkKK1NZTV9GVU5DX1NUQVJUKGhpYmVybmF0 ZV9jb3JlX3Jlc3RvcmVfY29kZSkKIAkvKiBzd2l0Y2ggdG8gdGVtcCBwYWdlIHRhYmxlLiAqLwog CWNzcncgc2F0cCwgczEKIAlzZmVuY2Uudm1hCkBAIC03Myw0ICs3Myw0IEBAIEVOVFJZKGhpYmVy bmF0ZV9jb3JlX3Jlc3RvcmVfY29kZSkKIAlibmV6CXM0LCAuTGNvcHkKIAogCWpyCXMyCi1FTkQo aGliZXJuYXRlX2NvcmVfcmVzdG9yZV9jb2RlKQorU1lNX0ZVTkNfRU5EKGhpYmVybmF0ZV9jb3Jl X3Jlc3RvcmVfY29kZSkKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yva2VybmVsL21jb3VudC1keW4u UyBiL2FyY2gvcmlzY3Yva2VybmVsL21jb3VudC1keW4uUwppbmRleCA2NjliODY5N2FhMzguLjU4 ZGQ5NmEyYTE1MyAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvbWNvdW50LWR5bi5TCisr KyBiL2FyY2gvcmlzY3Yva2VybmVsL21jb3VudC1keW4uUwpAQCAtODIsNyArODIsNyBAQAogCS5l bmRtCiAjZW5kaWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNFX1dJVEhfUkVHUyAqLwogCi1FTlRS WShmdHJhY2VfY2FsbGVyKQorU1lNX0ZVTkNfU1RBUlQoZnRyYWNlX2NhbGxlcikKIAlTQVZFX0FC SQogCiAJYWRkaQlhMCwgdDAsIC1GRU5UUllfUkFfT0ZGU0VUCkBAIC05MSw4ICs5MSw3IEBAIEVO VFJZKGZ0cmFjZV9jYWxsZXIpCiAJbXYJYTEsIHJhCiAJbXYJYTMsIHNwCiAKLWZ0cmFjZV9jYWxs OgotCS5nbG9iYWwgZnRyYWNlX2NhbGwKK1NZTV9JTk5FUl9MQUJFTChmdHJhY2VfY2FsbCwgU1lN X0xfR0xPQkFMKQogCWNhbGwJZnRyYWNlX3N0dWIKIAogI2lmZGVmIENPTkZJR19GVU5DVElPTl9H UkFQSF9UUkFDRVIKQEAgLTEwMiwxNiArMTAxLDE1IEBAIGZ0cmFjZV9jYWxsOgogI2lmZGVmIEhB VkVfRlVOQ1RJT05fR1JBUEhfRlBfVEVTVAogCW12CWEyLCBzMAogI2VuZGlmCi1mdHJhY2VfZ3Jh cGhfY2FsbDoKLQkuZ2xvYmFsIGZ0cmFjZV9ncmFwaF9jYWxsCitTWU1fSU5ORVJfTEFCRUwoZnRy YWNlX2dyYXBoX2NhbGwsIFNZTV9MX0dMT0JBTCkKIAljYWxsCWZ0cmFjZV9zdHViCiAjZW5kaWYK IAlSRVNUT1JFX0FCSQogCWpyIHQwCi1FTkRQUk9DKGZ0cmFjZV9jYWxsZXIpCitTWU1fRlVOQ19F TkQoZnRyYWNlX2NhbGxlcikKIAogI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRV9XSVRIX1JF R1MKLUVOVFJZKGZ0cmFjZV9yZWdzX2NhbGxlcikKK1NZTV9GVU5DX1NUQVJUKGZ0cmFjZV9yZWdz X2NhbGxlcikKIAlTQVZFX0FMTAogCiAJYWRkaQlhMCwgdDAsIC1GRU5UUllfUkFfT0ZGU0VUCkBA IC0xMjAsOCArMTE4LDcgQEAgRU5UUlkoZnRyYWNlX3JlZ3NfY2FsbGVyKQogCW12CWExLCByYQog CW12CWEzLCBzcAogCi1mdHJhY2VfcmVnc19jYWxsOgotCS5nbG9iYWwgZnRyYWNlX3JlZ3NfY2Fs bAorU1lNX0lOTkVSX0xBQkVMKGZ0cmFjZV9yZWdzX2NhbGwsIFNZTV9MX0dMT0JBTCkKIAljYWxs CWZ0cmFjZV9zdHViCiAKICNpZmRlZiBDT05GSUdfRlVOQ1RJT05fR1JBUEhfVFJBQ0VSCkBAIC0x MzEsMTIgKzEyOCwxMSBAQCBmdHJhY2VfcmVnc19jYWxsOgogI2lmZGVmIEhBVkVfRlVOQ1RJT05f R1JBUEhfRlBfVEVTVAogCW12CWEyLCBzMAogI2VuZGlmCi1mdHJhY2VfZ3JhcGhfcmVnc19jYWxs OgotCS5nbG9iYWwgZnRyYWNlX2dyYXBoX3JlZ3NfY2FsbAorU1lNX0lOTkVSX0xBQkVMKGZ0cmFj ZV9ncmFwaF9yZWdzX2NhbGwsIFNZTV9MX0dMT0JBTCkKIAljYWxsCWZ0cmFjZV9zdHViCiAjZW5k aWYKIAogCVJFU1RPUkVfQUxMCiAJanIgdDAKLUVORFBST0MoZnRyYWNlX3JlZ3NfY2FsbGVyKQor U1lNX0ZVTkNfRU5EKGZ0cmFjZV9yZWdzX2NhbGxlcikKICNlbmRpZiAvKiBDT05GSUdfRFlOQU1J Q19GVFJBQ0VfV0lUSF9SRUdTICovCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC9tY291 bnQuUyBiL2FyY2gvcmlzY3Yva2VybmVsL21jb3VudC5TCmluZGV4IGFiNGRkMDU5NGZlNy4uYjRk ZDllZDY4NDllIDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2tlcm5lbC9tY291bnQuUworKysgYi9h cmNoL3Jpc2N2L2tlcm5lbC9tY291bnQuUwpAQCAtNjEsNyArNjEsNyBAQCBTWU1fVFlQRURfRlVO Q19TVEFSVChmdHJhY2Vfc3R1Yl9ncmFwaCkKIAlyZXQKIFNZTV9GVU5DX0VORChmdHJhY2Vfc3R1 Yl9ncmFwaCkKIAotRU5UUlkocmV0dXJuX3RvX2hhbmRsZXIpCitTWU1fRlVOQ19TVEFSVChyZXR1 cm5fdG9faGFuZGxlcikKIC8qCiAgKiBPbiBpbXBsZW1lbnRpbmcgdGhlIGZyYW1lIHBvaW50IHRl c3QsIHRoZSBpZGVhbCB3YXkgaXMgdG8gY29tcGFyZSB0aGUKICAqIHMwIChmcmFtZSBwb2ludGVy LCBpZiBlbmFibGVkKSBvbiBlbnRyeSBhbmQgdGhlIHNwIChzdGFjayBwb2ludGVyKSBvbiByZXR1 cm4uCkBAIC03NiwxMSArNzYsMTEgQEAgRU5UUlkocmV0dXJuX3RvX2hhbmRsZXIpCiAJbXYJYTIs IGEwCiAJUkVTVE9SRV9SRVRfQUJJX1NUQVRFCiAJamFscglhMgotRU5EUFJPQyhyZXR1cm5fdG9f aGFuZGxlcikKK1NZTV9GVU5DX0VORChyZXR1cm5fdG9faGFuZGxlcikKICNlbmRpZgogCiAjaWZu ZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQotRU5UUlkoTUNPVU5UX05BTUUpCitTWU1fRlVOQ19T VEFSVChNQ09VTlRfTkFNRSkKIAlsYQl0NCwgZnRyYWNlX3N0dWIKICNpZmRlZiBDT05GSUdfRlVO Q1RJT05fR1JBUEhfVFJBQ0VSCiAJbGEJdDAsIGZ0cmFjZV9ncmFwaF9yZXR1cm4KQEAgLTEyNiw2 ICsxMjYsNiBAQCBFTlRSWShNQ09VTlRfTkFNRSkKIAlqYWxyCXQ1CiAJUkVTVE9SRV9BQklfU1RB VEUKIAlyZXQKLUVORFBST0MoTUNPVU5UX05BTUUpCitTWU1fRlVOQ19FTkQoTUNPVU5UX05BTUUp CiAjZW5kaWYKIEVYUE9SVF9TWU1CT0woTUNPVU5UX05BTUUpCmRpZmYgLS1naXQgYS9hcmNoL3Jp c2N2L2tlcm5lbC9wcm9iZXMvcmV0aG9va190cmFtcG9saW5lLlMgYi9hcmNoL3Jpc2N2L2tlcm5l bC9wcm9iZXMvcmV0aG9va190cmFtcG9saW5lLlMKaW5kZXggMjFiYWM5MmExNzBhLi5mMmNkODNk OWIwZjAgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3Yva2VybmVsL3Byb2Jlcy9yZXRob29rX3RyYW1w b2xpbmUuUworKysgYi9hcmNoL3Jpc2N2L2tlcm5lbC9wcm9iZXMvcmV0aG9va190cmFtcG9saW5l LlMKQEAgLTc1LDcgKzc1LDcgQEAKIAlSRUdfTCB4MzEsIFBUX1Q2KHNwKQogCS5lbmRtCiAKLUVO VFJZKGFyY2hfcmV0aG9va190cmFtcG9saW5lKQorU1lNX0NPREVfU1RBUlQoYXJjaF9yZXRob29r X3RyYW1wb2xpbmUpCiAJYWRkaSBzcCwgc3AsIC0oUFRfU0laRV9PTl9TVEFDSykKIAlzYXZlX2Fs bF9iYXNlX3JlZ3MKIApAQCAtOTAsNCArOTAsNCBAQCBFTlRSWShhcmNoX3JldGhvb2tfdHJhbXBv bGluZSkKIAlhZGRpIHNwLCBzcCwgUFRfU0laRV9PTl9TVEFDSwogCiAJcmV0Ci1FTkRQUk9DKGFy Y2hfcmV0aG9va190cmFtcG9saW5lKQorU1lNX0NPREVfRU5EKGFyY2hfcmV0aG9va190cmFtcG9s aW5lKQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvc3VzcGVuZF9lbnRyeS5TIGIvYXJj aC9yaXNjdi9rZXJuZWwvc3VzcGVuZF9lbnRyeS5TCmluZGV4IGY3OTYwYzdjNWY5ZS4uYTU5YzRj OTAzNjk2IDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2tlcm5lbC9zdXNwZW5kX2VudHJ5LlMKKysr IGIvYXJjaC9yaXNjdi9rZXJuZWwvc3VzcGVuZF9lbnRyeS5TCkBAIC0xNiw3ICsxNiw3IEBACiAJ LmFsdG1hY3JvCiAJLm9wdGlvbiBub3JlbGF4CiAKLUVOVFJZKF9fY3B1X3N1c3BlbmRfZW50ZXIp CitTWU1fRlVOQ19TVEFSVChfX2NwdV9zdXNwZW5kX2VudGVyKQogCS8qIFNhdmUgcmVnaXN0ZXJz IChleGNlcHQgQTAgYW5kIFQwLVQ2KSAqLwogCVJFR19TCXJhLCAoU1VTUEVORF9DT05URVhUX1JF R1MgKyBQVF9SQSkoYTApCiAJUkVHX1MJc3AsIChTVVNQRU5EX0NPTlRFWFRfUkVHUyArIFBUX1NQ KShhMCkKQEAgLTU3LDcgKzU3LDcgQEAgRU5UUlkoX19jcHVfc3VzcGVuZF9lbnRlcikKIAogCS8q IFJldHVybiB0byBDIGNvZGUgKi8KIAlyZXQKLUVORChfX2NwdV9zdXNwZW5kX2VudGVyKQorU1lN X0ZVTkNfRU5EKF9fY3B1X3N1c3BlbmRfZW50ZXIpCiAKIFNZTV9UWVBFRF9GVU5DX1NUQVJUKF9f Y3B1X3Jlc3VtZV9lbnRlcikKIAkvKiBMb2FkIHRoZSBnbG9iYWwgcG9pbnRlciAqLwpkaWZmIC0t Z2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvdmRzby9mbHVzaF9pY2FjaGUuUyBiL2FyY2gvcmlzY3Yv a2VybmVsL3Zkc28vZmx1c2hfaWNhY2hlLlMKaW5kZXggODJmOTdkNjdjMjNlLi44Zjg4NDIyN2U4 YmMgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3Yva2VybmVsL3Zkc28vZmx1c2hfaWNhY2hlLlMKKysr IGIvYXJjaC9yaXNjdi9rZXJuZWwvdmRzby9mbHVzaF9pY2FjaGUuUwpAQCAtOCw3ICs4LDcgQEAK IAogCS50ZXh0CiAvKiBpbnQgX192ZHNvX2ZsdXNoX2ljYWNoZSh2b2lkICpzdGFydCwgdm9pZCAq ZW5kLCB1bnNpZ25lZCBsb25nIGZsYWdzKTsgKi8KLUVOVFJZKF9fdmRzb19mbHVzaF9pY2FjaGUp CitTWU1fRlVOQ19TVEFSVChfX3Zkc29fZmx1c2hfaWNhY2hlKQogCS5jZmlfc3RhcnRwcm9jCiAj aWZkZWYgQ09ORklHX1NNUAogCWxpIGE3LCBfX05SX3Jpc2N2X2ZsdXNoX2ljYWNoZQpAQCAtMTks NCArMTksNCBAQCBFTlRSWShfX3Zkc29fZmx1c2hfaWNhY2hlKQogI2VuZGlmCiAJcmV0CiAJLmNm aV9lbmRwcm9jCi1FTkRQUk9DKF9fdmRzb19mbHVzaF9pY2FjaGUpCitTWU1fRlVOQ19FTkQoX192 ZHNvX2ZsdXNoX2ljYWNoZSkKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yva2VybmVsL3Zkc28vZ2V0 Y3B1LlMgYi9hcmNoL3Jpc2N2L2tlcm5lbC92ZHNvL2dldGNwdS5TCmluZGV4IGJiMGMwNWUyZmZi YS4uOWMxYmQ1MzE5MDdmIDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2tlcm5lbC92ZHNvL2dldGNw dS5TCisrKyBiL2FyY2gvcmlzY3Yva2VybmVsL3Zkc28vZ2V0Y3B1LlMKQEAgLTgsMTEgKzgsMTEg QEAKIAogCS50ZXh0CiAvKiBpbnQgX192ZHNvX2dldGNwdSh1bnNpZ25lZCAqY3B1LCB1bnNpZ25l ZCAqbm9kZSwgdm9pZCAqdW51c2VkKTsgKi8KLUVOVFJZKF9fdmRzb19nZXRjcHUpCitTWU1fRlVO Q19TVEFSVChfX3Zkc29fZ2V0Y3B1KQogCS5jZmlfc3RhcnRwcm9jCiAJLyogRm9yIG5vdywganVz dCBkbyB0aGUgc3lzY2FsbC4gKi8KIAlsaSBhNywgX19OUl9nZXRjcHUKIAllY2FsbAogCXJldAog CS5jZmlfZW5kcHJvYwotRU5EUFJPQyhfX3Zkc29fZ2V0Y3B1KQorU1lNX0ZVTkNfRU5EKF9fdmRz b19nZXRjcHUpCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC92ZHNvL3J0X3NpZ3JldHVy bi5TIGIvYXJjaC9yaXNjdi9rZXJuZWwvdmRzby9ydF9zaWdyZXR1cm4uUwppbmRleCAxMDQzOGM3 YzYyNmEuLjNkYzAyMmFhODkzMSAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvdmRzby9y dF9zaWdyZXR1cm4uUworKysgYi9hcmNoL3Jpc2N2L2tlcm5lbC92ZHNvL3J0X3NpZ3JldHVybi5T CkBAIC03LDEwICs3LDEwIEBACiAjaW5jbHVkZSA8YXNtL3VuaXN0ZC5oPgogCiAJLnRleHQKLUVO VFJZKF9fdmRzb19ydF9zaWdyZXR1cm4pCitTWU1fRlVOQ19TVEFSVChfX3Zkc29fcnRfc2lncmV0 dXJuKQogCS5jZmlfc3RhcnRwcm9jCiAJLmNmaV9zaWduYWxfZnJhbWUKIAlsaSBhNywgX19OUl9y dF9zaWdyZXR1cm4KIAllY2FsbAogCS5jZmlfZW5kcHJvYwotRU5EUFJPQyhfX3Zkc29fcnRfc2ln cmV0dXJuKQorU1lNX0ZVTkNfRU5EKF9fdmRzb19ydF9zaWdyZXR1cm4pCmRpZmYgLS1naXQgYS9h cmNoL3Jpc2N2L2tlcm5lbC92ZHNvL3N5c19od3Byb2JlLlMgYi9hcmNoL3Jpc2N2L2tlcm5lbC92 ZHNvL3N5c19od3Byb2JlLlMKaW5kZXggNGU3MDQxNDZjNzdhLi43N2U1N2Y4MzA1MjEgMTAwNjQ0 Ci0tLSBhL2FyY2gvcmlzY3Yva2VybmVsL3Zkc28vc3lzX2h3cHJvYmUuUworKysgYi9hcmNoL3Jp c2N2L2tlcm5lbC92ZHNvL3N5c19od3Byb2JlLlMKQEAgLTUsMTEgKzUsMTEgQEAKICNpbmNsdWRl IDxhc20vdW5pc3RkLmg+CiAKIC50ZXh0Ci1FTlRSWShyaXNjdl9od3Byb2JlKQorU1lNX0ZVTkNf U1RBUlQocmlzY3ZfaHdwcm9iZSkKIAkuY2ZpX3N0YXJ0cHJvYwogCWxpIGE3LCBfX05SX3Jpc2N2 X2h3cHJvYmUKIAllY2FsbAogCXJldAogCiAJLmNmaV9lbmRwcm9jCi1FTkRQUk9DKHJpc2N2X2h3 cHJvYmUpCitTWU1fRlVOQ19FTkQocmlzY3ZfaHdwcm9iZSkKZGlmZiAtLWdpdCBhL2FyY2gvcmlz Y3YvbGliL21lbWNweS5TIGIvYXJjaC9yaXNjdi9saWIvbWVtY3B5LlMKaW5kZXggMWE0MGQwMWE5 NTQzLi40NGUwMDllYzVmZWYgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3YvbGliL21lbWNweS5TCisr KyBiL2FyY2gvcmlzY3YvbGliL21lbWNweS5TCkBAIC03LDggKzcsNyBAQAogI2luY2x1ZGUgPGFz bS9hc20uaD4KIAogLyogdm9pZCAqbWVtY3B5KHZvaWQgKiwgY29uc3Qgdm9pZCAqLCBzaXplX3Qp ICovCi1FTlRSWShfX21lbWNweSkKLVdFQUsobWVtY3B5KQorU1lNX0ZVTkNfU1RBUlQoX19tZW1j cHkpCiAJbW92ZSB0NiwgYTAgIC8qIFByZXNlcnZlIHJldHVybiB2YWx1ZSAqLwogCiAJLyogRGVm ZXIgdG8gYnl0ZS1vcmllbnRlZCBjb3B5IGZvciBzbWFsbCBzaXplcyAqLwpAQCAtMTA1LDYgKzEw NCw3IEBAIFdFQUsobWVtY3B5KQogCWJsdHUgYTEsIGEzLCA1YgogNjoKIAlyZXQKLUVORChfX21l bWNweSkKK1NZTV9GVU5DX0VORChfX21lbWNweSkKK1NZTV9GVU5DX0FMSUFTX1dFQUsobWVtY3B5 LCBfX21lbWNweSkKIFNZTV9GVU5DX0FMSUFTKF9fcGlfbWVtY3B5LCBfX21lbWNweSkKIFNZTV9G VU5DX0FMSUFTKF9fcGlfX19tZW1jcHksIF9fbWVtY3B5KQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNj di9saWIvbWVtbW92ZS5TIGIvYXJjaC9yaXNjdi9saWIvbWVtbW92ZS5TCmluZGV4IDE5MzBiMzg4 YzNhMC4uY2IzZTJlN2VmMGJhIDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2xpYi9tZW1tb3ZlLlMK KysrIGIvYXJjaC9yaXNjdi9saWIvbWVtbW92ZS5TCkBAIC03LDcgKzcsNiBAQAogI2luY2x1ZGUg PGFzbS9hc20uaD4KIAogU1lNX0ZVTkNfU1RBUlQoX19tZW1tb3ZlKQotU1lNX0ZVTkNfU1RBUlRf V0VBSyhtZW1tb3ZlKQogCS8qCiAJICogUmV0dXJucwogCSAqICAgYTAgLSBkZXN0CkBAIC0zMTIs NyArMzExLDcgQEAgU1lNX0ZVTkNfU1RBUlRfV0VBSyhtZW1tb3ZlKQogLkxyZXR1cm5fZnJvbV9t ZW1tb3ZlOgogCXJldAogCi1TWU1fRlVOQ19FTkQobWVtbW92ZSkKIFNZTV9GVU5DX0VORChfX21l bW1vdmUpCitTWU1fRlVOQ19BTElBU19XRUFLKG1lbW1vdmUsIF9fbWVtbW92ZSkKIFNZTV9GVU5D X0FMSUFTKF9fcGlfbWVtbW92ZSwgX19tZW1tb3ZlKQogU1lNX0ZVTkNfQUxJQVMoX19waV9fX21l bW1vdmUsIF9fbWVtbW92ZSkKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbGliL21lbXNldC5TIGIv YXJjaC9yaXNjdi9saWIvbWVtc2V0LlMKaW5kZXggMzRjNTM2MGM2NzA1Li4zNWYzNThlNzBiZGIg MTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3YvbGliL21lbXNldC5TCisrKyBiL2FyY2gvcmlzY3YvbGli L21lbXNldC5TCkBAIC04LDggKzgsNyBAQAogI2luY2x1ZGUgPGFzbS9hc20uaD4KIAogLyogdm9p ZCAqbWVtc2V0KHZvaWQgKiwgaW50LCBzaXplX3QpICovCi1FTlRSWShfX21lbXNldCkKLVdFQUso bWVtc2V0KQorU1lNX0ZVTkNfU1RBUlQoX19tZW1zZXQpCiAJbW92ZSB0MCwgYTAgIC8qIFByZXNl cnZlIHJldHVybiB2YWx1ZSAqLwogCiAJLyogRGVmZXIgdG8gYnl0ZS1vcmllbnRlZCBmaWxsIGZv ciBzbWFsbCBzaXplcyAqLwpAQCAtMTEwLDQgKzEwOSw1IEBAIFdFQUsobWVtc2V0KQogCWJsdHUg dDAsIGEzLCA1YgogNjoKIAlyZXQKLUVORChfX21lbXNldCkKK1NZTV9GVU5DX0VORChfX21lbXNl dCkKK1NZTV9GVU5DX0FMSUFTX1dFQUsobWVtc2V0LCBfX21lbXNldCkKZGlmZiAtLWdpdCBhL2Fy Y2gvcmlzY3YvbGliL3VhY2Nlc3MuUyBiL2FyY2gvcmlzY3YvbGliL3VhY2Nlc3MuUwppbmRleCAw OWI0N2ViYWNmMmUuLjNhYjQzOGYzMGQxMyAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9saWIvdWFj Y2Vzcy5TCisrKyBiL2FyY2gvcmlzY3YvbGliL3VhY2Nlc3MuUwpAQCAtMTAsOCArMTAsNyBAQAog CV9hc21fZXh0YWJsZQkxMDBiLCBcbGJsCiAJLmVuZG0KIAotRU5UUlkoX19hc21fY29weV90b191 c2VyKQotRU5UUlkoX19hc21fY29weV9mcm9tX3VzZXIpCitTWU1fRlVOQ19TVEFSVChfX2FzbV9j b3B5X3RvX3VzZXIpCiAKIAkvKiBFbmFibGUgYWNjZXNzIHRvIHVzZXIgbWVtb3J5ICovCiAJbGkg dDYsIFNSX1NVTQpAQCAtMTgxLDEzICsxODAsMTMgQEAgRU5UUlkoX19hc21fY29weV9mcm9tX3Vz ZXIpCiAJY3NyYyBDU1JfU1RBVFVTLCB0NgogCXN1YiBhMCwgdDUsIGEwCiAJcmV0Ci1FTkRQUk9D KF9fYXNtX2NvcHlfdG9fdXNlcikKLUVORFBST0MoX19hc21fY29weV9mcm9tX3VzZXIpCitTWU1f RlVOQ19FTkQoX19hc21fY29weV90b191c2VyKQogRVhQT1JUX1NZTUJPTChfX2FzbV9jb3B5X3Rv X3VzZXIpCitTWU1fRlVOQ19BTElBUyhfX2FzbV9jb3B5X2Zyb21fdXNlciwgX19hc21fY29weV90 b191c2VyKQogRVhQT1JUX1NZTUJPTChfX2FzbV9jb3B5X2Zyb21fdXNlcikKIAogCi1FTlRSWShf X2NsZWFyX3VzZXIpCitTWU1fRlVOQ19TVEFSVChfX2NsZWFyX3VzZXIpCiAKIAkvKiBFbmFibGUg YWNjZXNzIHRvIHVzZXIgbWVtb3J5ICovCiAJbGkgdDYsIFNSX1NVTQpAQCAtMjMzLDUgKzIzMiw1 IEBAIEVOVFJZKF9fY2xlYXJfdXNlcikKIAljc3JjIENTUl9TVEFUVVMsIHQ2CiAJc3ViIGEwLCBh MywgYTAKIAlyZXQKLUVORFBST0MoX19jbGVhcl91c2VyKQorU1lNX0ZVTkNfRU5EKF9fY2xlYXJf dXNlcikKIEVYUE9SVF9TWU1CT0woX19jbGVhcl91c2VyKQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNj di9wdXJnYXRvcnkvZW50cnkuUyBiL2FyY2gvcmlzY3YvcHVyZ2F0b3J5L2VudHJ5LlMKaW5kZXgg MDE5NGY0NTU0MTMwLi41YmNmM2FmOTAzZGEgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3YvcHVyZ2F0 b3J5L2VudHJ5LlMKKysrIGIvYXJjaC9yaXNjdi9wdXJnYXRvcnkvZW50cnkuUwpAQCAtNywxNSAr NywxMSBAQAogICogQXV0aG9yOiBMaSBaaGVuZ3l1IChsaXpoZW5neXUzQGh1YXdlaS5jb20pCiAg KgogICovCi0KLS5tYWNybwlzaXplLCBzeW06cmVxCi0JLnNpemUgXHN5bSwgLiAtIFxzeW0KLS5l bmRtCisjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgogCiAudGV4dAogCi0uZ2xvYmwgcHVyZ2F0 b3J5X3N0YXJ0Ci1wdXJnYXRvcnlfc3RhcnQ6CitTWU1fQ09ERV9TVEFSVChwdXJnYXRvcnlfc3Rh cnQpCiAKIAlsbGEJc3AsIC5Mc3RhY2sKIAltdglzMCwgYTAJLyogVGhlIGhhcnRpZCBvZiB0aGUg Y3VycmVudCBoYXJ0ICovCkBAIC0yOCw4ICsyNCw3IEBAIHB1cmdhdG9yeV9zdGFydDoKIAltdglh MSwgczEKIAlsZAlhMiwgcmlzY3Zfa2VybmVsX2VudHJ5CiAJanIJYTIKLQotc2l6ZSBwdXJnYXRv cnlfc3RhcnQKK1NZTV9DT0RFX0VORChwdXJnYXRvcnlfc3RhcnQpCiAKIC5hbGlnbiA0CiAJLnJl cHQJMjU2CkBAIC0zOSw5ICszNCw2IEBAIHNpemUgcHVyZ2F0b3J5X3N0YXJ0CiAKIC5kYXRhCiAK LS5nbG9ibCByaXNjdl9rZXJuZWxfZW50cnkKLXJpc2N2X2tlcm5lbF9lbnRyeToKLQkucXVhZAkw Ci1zaXplIHJpc2N2X2tlcm5lbF9lbnRyeQorU1lNX0RBVEEocmlzY3Zfa2VybmVsX2VudHJ5LCAu cXVhZCAwKQogCiAuZW5kCi0tIAoyLjQyLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LXJpc2N2Cg== 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 D6C33C25B48 for ; Tue, 24 Oct 2023 13:37:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234680AbjJXNhr (ORCPT ); Tue, 24 Oct 2023 09:37:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48794 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234688AbjJXNh0 (ORCPT ); Tue, 24 Oct 2023 09:37:26 -0400 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DEA7A6A72 for ; Tue, 24 Oct 2023 06:27:54 -0700 (PDT) Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-32da42b8225so920777f8f.0 for ; Tue, 24 Oct 2023 06:27:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1698154073; x=1698758873; 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=A/+uKo63vBqjkKXskB2aK0p7JjevqsJxXi89r6PoD1g=; b=Lz5pvg6v5u7X2luiJiqT2aOIxqRXu4u7G+qg7uI0GCu2bITXeLTvbhL4SfMypSIJTz Y3/siJrA5MbM01U9v3scGACknLZFGJ+nsFf32geter+udLSe5QBjzXZjSSOdf53BGO6w OK9FUn21O1Yipgh8VYKDj+iS1j3xqS0XydHukkKxPmXBT/0EwJGLpfOIzG+xHgTFzR9e lcoTpJNeyoeZI9M05BW/1ewe6hJIdLdnJ2hnM3TQrn5gCF1/j/V/XkO5aWPZOHSUBPae xBqBG6RriWlyQn6PUcprfc3bwPxw29Tx/Dwu+A8x8xqt6I2AfQqnhtUGKqo/9NJBUJbn 0Qag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698154073; x=1698758873; 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=A/+uKo63vBqjkKXskB2aK0p7JjevqsJxXi89r6PoD1g=; b=CcObqVRZDSsEqtI1CGpQkQTpKiL/cSqiEApQWBreCztU20t2mHK8BzQwRJP6xa/jCk R1nT7OVOly+F1Abd/C4hLGVoUNzlRXjwS45FvxAbcLqKXuSleCiPynIpyhEKWQdSKAsN Kd30jjryiUBjfb9LfclahRG7A0QTK/2OeMqIAlBTlmbs/G9ZtENscZpg09xTPoOGvbrK nhWNnlk7CQkc9nFUHIkDOBkRgUzmCurGC0J80KKR+CNLNsXhrzFEmlUMAXoQPzNiVg0h wGbPFnBK1zWrESe+Zukw5TaeHLa8vMmSOVkmTqjP1gOFNIlfC/8ItXYn+kgrl3lz9cNl IGaw== X-Gm-Message-State: AOJu0Yxkr65Z+rLUwvTLtz0tM69ceKeFx+DBSeegScznIYCCGFXBotph +ohKRVJ3los/mFtI8QJwpMqbAg== X-Google-Smtp-Source: AGHT+IHLMv7XwMPcxCJvAk39w0B94lKJnffDpoMogxi1oPxY9b5kIqxITd2qHYBNGv0MVHWM5SxZhw== X-Received: by 2002:adf:a34b:0:b0:32d:c217:8307 with SMTP id d11-20020adfa34b000000b0032dc2178307mr9220137wrb.5.1698154073071; Tue, 24 Oct 2023 06:27:53 -0700 (PDT) Received: from carbon-x1.. ([2a01:e0a:999:a3a0:597d:e2c5:6741:bac9]) by smtp.gmail.com with ESMTPSA id c17-20020a5d4151000000b0032d87b13240sm10034964wrq.73.2023.10.24.06.27.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Oct 2023 06:27:52 -0700 (PDT) From: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= To: Paul Walmsley , Palmer Dabbelt , Albert Ou , Anup Patel , Atish Patra , Andrew Jones 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 v2 2/5] riscv: Use SYM_*() assembly macros instead of deprecated ones Date: Tue, 24 Oct 2023 15:26:52 +0200 Message-ID: <20231024132655.730417-3-cleger@rivosinc.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231024132655.730417-1-cleger@rivosinc.com> References: <20231024132655.730417-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 | 3 +-- arch/riscv/lib/memset.S | 6 +++--- arch/riscv/lib/uaccess.S | 11 +++++----- arch/riscv/purgatory/entry.S | 16 ++++----------- 17 files changed, 60 insertions(+), 74 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..cb3e2e7ef0ba 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 @@ -312,7 +311,7 @@ SYM_FUNC_START_WEAK(memmove) .Lreturn_from_memmove: ret -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..5bcf3af903da 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,6 @@ size purgatory_start .data -.globl riscv_kernel_entry -riscv_kernel_entry: - .quad 0 -size riscv_kernel_entry +SYM_DATA(riscv_kernel_entry, .quad 0) .end -- 2.42.0