From patchwork Tue Oct 1 15:13:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13818252 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 6B97CCEACD5 for ; Tue, 1 Oct 2024 15:13:44 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.808222.1220061 (Exim 4.92) (envelope-from ) id 1sveZA-0004e1-Ho; Tue, 01 Oct 2024 15:13:32 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 808222.1220061; Tue, 01 Oct 2024 15:13:32 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sveZA-0004du-E6; Tue, 01 Oct 2024 15:13:32 +0000 Received: by outflank-mailman (input) for mailman id 808222; Tue, 01 Oct 2024 15:13:31 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sveZ8-0004dm-Vz for xen-devel@lists.xenproject.org; Tue, 01 Oct 2024 15:13:30 +0000 Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [2a00:1450:4864:20::533]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id b70f189b-8007-11ef-a0ba-8be0dac302b0; Tue, 01 Oct 2024 17:13:29 +0200 (CEST) Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-5c8a2579d94so1558032a12.0 for ; Tue, 01 Oct 2024 08:13:29 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5c88248ac03sm6322625a12.70.2024.10.01.08.13.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Oct 2024 08:13:28 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: b70f189b-8007-11ef-a0ba-8be0dac302b0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1727795609; x=1728400409; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=MFMsW/wRbAntN1ywNrqdWfg/vYh1ksc4dUgSKs8Nz/g=; b=C74fy+M5qWT+Wp/qu5uwiw/PAgn9EtntkNjQ/1PX/7TlAMlCjAKhXRThztwqceHbAl Hox+/JFdytGw8bqpo6lnD/mQKgvIjO98jAnoQXrUDTTmLTPc24j4930zbpae3AYBh+x7 0GlHJNr9YF1+NLFE1DoZgAxVn797PFw8qGVcWkdM1j8Zz9kVmR2BS5vMqGKOCIOoKM9A qrMkQ5PVxNI5SujjolkU3XJeyd1rHbHuzbwjxvacLgOyWdSGkYuaWzCBjWjkVgv+FDJM VS2JczWauQ2WhLuChRydkL4zh0UyXftrQRfM1qQ9je7X9nNWJL3ake5zWqe8WyQdBWJP OVFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727795609; x=1728400409; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=MFMsW/wRbAntN1ywNrqdWfg/vYh1ksc4dUgSKs8Nz/g=; b=cwWr1/XO+zj2zBuTHnsj6DzgwjlrI6F5mZF+bdl41GcqbGAoH5p+NaxYfsN8j4IrdB f8nDtGv1XWaMe8VLGGUDwELelQ3RZtYRyEoY8wImb/reBn4zaVS2TDRoenLNyUFwedbx TjNxEOBgrimhb7+JoijLS7XW+yD+lgdJaoa3rThQAtn9gzW4ePQOAAv6IwxYBjfJrqR1 iGWKw7Vwcucv9G/iTCCP1l6qNgZbscKQ58p9vQvz855O5mbZkxLfY4JMJQQmb+zTpAe/ /VjrKl+5yqf1a2UhAsBclwp8nJErBqNvg22tnIiDSfxVq6FCcJvF3jx/7iTxERq+agNe lpuA== X-Gm-Message-State: AOJu0YxUgKdi6YKfKgkKwQiQUWDltiUGTBsJUvkwnRYjgCGaM9jUADzq TFJf1NjV84HqDV43W5JTLJ+TFgMUQUE8rhJDfJl9Z+ya3xKiFKkyKEdAv2eI77yyugZOVMuTdzs = X-Google-Smtp-Source: AGHT+IF06nAhQG8jhYQjzfuEodRaIskf0J+EBXEzZkU3KoNpcmp++Qo7IYv2rGM1Zl99zwK+tnYlJw== X-Received: by 2002:a05:6402:3605:b0:5c8:75e1:da28 with SMTP id 4fb4d7f45d1cf-5c882602bfdmr12488368a12.22.1727795609002; Tue, 01 Oct 2024 08:13:29 -0700 (PDT) Message-ID: Date: Tue, 1 Oct 2024 17:13:27 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v7 01/11] common: honor CONFIG_CC_SPLIT_SECTIONS also for assembly functions From: Jan Beulich To: "xen-devel@lists.xenproject.org" References: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Content-Language: en-US Cc: Andrew Cooper , =?utf-8?q?Roger_Pau_Monn?= =?utf-8?q?=C3=A9?= , Julien Grall , Stefano Stabellini , Volodymyr Babchuk , Bertrand Marquis , Michal Orzel , Shawn Anastasio , Oleksii Kurochko Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Leverage the new infrastructure in xen/linkage.h to also switch to per- function sections (when configured), deriving the specific name from the "base" section in use at the time FUNC() is invoked. Signed-off-by: Jan Beulich --- TBD: Since we use .subsection in UNLIKELY_START(), a perhaps not really wanted side effect of this change is that respective out-of-line code now moves much closer to its original (invoking) code. TBD: Of course something with the same overall effect, but less impactful might do in Config.mk. E.g. $(filter-out -D%,$(3)) instead of $(firstword (3)). In fact Roger wants the detection to be in Kconfig, for LIVEPATCH to depend on it. Yet the whole underlying discussion there imo would first need settling (and therefore reviving). Note that we'd need to split DATA() in order to separate r/w and r/o contributions. Further splitting might be needed to also support more advanced attributes (e.g. merge), hence why this isn't done right here. Sadly while a new section's name can be derived from the presently in use, its attributes cannot be. Perhaps the only thing we can do is give DATA() a 2nd mandatory parameter. Then again I guess most data definitions could be moved to C anyway. --- v7: Override SYM_PUSH_SECTION() in arch/x86/indirect-thunk.S. Re-base, notably to deal with fallout from fba250ae604e ("xen/arm64: head: Add missing code symbol annotations"). v6: Deal with x86'es entry_PF() and entry_int82() falling through to the next "function". Re-base. v5: Re-base over changes earlier in the series. v4: Re-base. v2: Make detection properly fail on old gas (by adjusting cc-option-add-closure). --- a/Config.mk +++ b/Config.mk @@ -102,7 +102,7 @@ cc-option = $(shell if $(1) $(2:-Wno-%=- # Usage: $(call cc-option-add CFLAGS,CC,-march=winchip-c6) cc-option-add = $(eval $(call cc-option-add-closure,$(1),$(2),$(3))) define cc-option-add-closure - ifneq ($$(call cc-option,$$($(2)),$(3),n),n) + ifneq ($$(call cc-option,$$($(2)),$(firstword $(3)),n),n) $(1) += $(3) endif endef --- a/xen/Makefile +++ b/xen/Makefile @@ -412,6 +412,9 @@ AFLAGS += -D__ASSEMBLY__ $(call cc-option-add,AFLAGS,CC,-Wa$$(comma)--noexecstack) +# Check to see whether the assembler supports the --sectname-subst option. +$(call cc-option-add,AFLAGS,CC,-Wa$$(comma)--sectname-subst -DHAVE_AS_SECTNAME_SUBST) + LDFLAGS-$(call ld-option,--warn-rwx-segments) += --no-warn-rwx-segments CFLAGS += $(CFLAGS-y) --- a/xen/arch/arm/arm64/head.S +++ b/xen/arch/arm/arm64/head.S @@ -90,7 +90,7 @@ * 4K-aligned address. */ -FUNC(start) +LABEL(start) /* * DO NOT MODIFY. Image header expected by Linux boot-loaders. */ @@ -224,7 +224,7 @@ section_table: .align 5 #endif /* CONFIG_ARM_EFI */ -FUNC_LOCAL(real_start) +LABEL_LOCAL(real_start) /* BSS should be zeroed when booting without EFI */ mov x26, #0 /* x26 := skip_zero_bss */ --- a/xen/arch/arm/xen.lds.S +++ b/xen/arch/arm/xen.lds.S @@ -152,6 +152,9 @@ SECTIONS .init.text : { _sinittext = .; *(.init.text) +#ifdef CONFIG_CC_SPLIT_SECTIONS + *(.init.text.*) +#endif _einittext = .; . = ALIGN(PAGE_SIZE); /* Avoid mapping alt insns executable */ *(.altinstr_replacement) --- a/xen/arch/ppc/xen.lds.S +++ b/xen/arch/ppc/xen.lds.S @@ -99,6 +99,9 @@ SECTIONS DECL_SECTION(.init.text) { _sinittext = .; *(.init.text) +#ifdef CONFIG_CC_SPLIT_SECTIONS + *(.init.text.*) +#endif _einittext = .; . = ALIGN(PAGE_SIZE); /* Avoid mapping alt insns executable */ } :text --- a/xen/arch/riscv/xen.lds.S +++ b/xen/arch/riscv/xen.lds.S @@ -96,6 +96,9 @@ SECTIONS .init.text : { _sinittext = .; *(.init.text) +#ifdef CONFIG_CC_SPLIT_SECTIONS + *(.init.text.*) +#endif _einittext = .; . = ALIGN(PAGE_SIZE); /* Avoid mapping alt insns executable */ } :text --- a/xen/arch/x86/indirect-thunk.S +++ b/xen/arch/x86/indirect-thunk.S @@ -11,6 +11,10 @@ #include +/* Section placement is done explicitly here; override the respective macro. */ +#undef SYM_PUSH_SECTION +#define SYM_PUSH_SECTION(name, attr) + .macro IND_THUNK_RETPOLINE reg:req call 1f int3 --- a/xen/arch/x86/x86_64/compat/entry.S +++ b/xen/arch/x86/x86_64/compat/entry.S @@ -31,6 +31,9 @@ FUNC(entry_int82) mov %rsp, %rdi call do_entry_int82 +#ifdef CONFIG_CC_SPLIT_SECTIONS + jmp compat_test_all_events +#endif END(entry_int82) /* %rbx: struct vcpu */ --- a/xen/arch/x86/x86_64/entry.S +++ b/xen/arch/x86/x86_64/entry.S @@ -771,6 +771,9 @@ END(common_interrupt) FUNC(entry_PF) ENDBR64 movb $X86_EXC_PF, EFRAME_entry_vector(%rsp) +#ifdef CONFIG_CC_SPLIT_SECTIONS + jmp handle_exception +#endif END(entry_PF) /* No special register assumptions. */ FUNC(handle_exception, 0) @@ -1084,8 +1087,11 @@ FUNC(entry_NMI) ENDBR64 pushq $0 movb $X86_EXC_NMI, EFRAME_entry_vector(%rsp) +#ifdef CONFIG_CC_SPLIT_SECTIONS + jmp handle_ist_exception +#endif END(entry_NMI) - +/* No special register assumptions. */ FUNC(handle_ist_exception) ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP SAVE_ALL --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -82,6 +82,9 @@ SECTIONS . = ALIGN(PAGE_SIZE); _stextentry = .; *(.text.entry) +#ifdef CONFIG_CC_SPLIT_SECTIONS + *(.text.entry.*) +#endif . = ALIGN(PAGE_SIZE); _etextentry = .; @@ -201,6 +204,9 @@ SECTIONS #endif _sinittext = .; *(.init.text) +#ifdef CONFIG_CC_SPLIT_SECTIONS + *(.init.text.*) +#endif *(.text.startup) _einittext = .; /* --- a/xen/include/xen/linkage.h +++ b/xen/include/xen/linkage.h @@ -18,6 +18,14 @@ #define SYM_ALIGN(align...) .balign align +#if defined(HAVE_AS_SECTNAME_SUBST) && defined(CONFIG_CC_SPLIT_SECTIONS) +# define SYM_PUSH_SECTION(name, attr) \ + .pushsection %S.name, attr, %progbits; \ + .equ .Lsplit_section, 1 +#else +# define SYM_PUSH_SECTION(name, attr) +#endif + #define SYM_L_GLOBAL(name) .globl name; .hidden name #define SYM_L_WEAK(name) .weak name #define SYM_L_LOCAL(name) /* nothing */ @@ -32,7 +40,14 @@ SYM_ALIGN(align); \ name: -#define END(name) .size name, . - name +#define END(name) \ + .size name, . - name; \ + .ifdef .Lsplit_section; \ + .if .Lsplit_section; \ + .popsection; \ + .equ .Lsplit_section, 0; \ + .endif; \ + .endif /* * CODE_FILL in particular may need to expand to nothing (e.g. for RISC-V), in @@ -47,6 +62,7 @@ #endif #define FUNC(name, align...) \ + SYM_PUSH_SECTION(name, "ax"); \ SYM(name, FUNC, GLOBAL, DO_CODE_ALIGN(align)) #define LABEL(name, align...) \ SYM(name, NONE, GLOBAL, DO_CODE_ALIGN(align)) @@ -54,6 +70,7 @@ SYM(name, DATA, GLOBAL, LASTARG(DATA_ALIGN, ## align), DATA_FILL) #define FUNC_LOCAL(name, align...) \ + SYM_PUSH_SECTION(name, "ax"); \ SYM(name, FUNC, LOCAL, DO_CODE_ALIGN(align)) #define LABEL_LOCAL(name, align...) \ SYM(name, NONE, LOCAL, DO_CODE_ALIGN(align)) From patchwork Tue Oct 1 15:13:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13818253 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 E3E6DCEACDD for ; Tue, 1 Oct 2024 15:14:11 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.808226.1220071 (Exim 4.92) (envelope-from ) id 1sveZd-00056d-Oh; Tue, 01 Oct 2024 15:14:01 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 808226.1220071; Tue, 01 Oct 2024 15:14:01 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sveZd-00056W-Ly; Tue, 01 Oct 2024 15:14:01 +0000 Received: by outflank-mailman (input) for mailman id 808226; Tue, 01 Oct 2024 15:14:00 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sveZc-00051V-3l for xen-devel@lists.xenproject.org; Tue, 01 Oct 2024 15:14:00 +0000 Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [2a00:1450:4864:20::132]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id c7c10f49-8007-11ef-99a2-01e77a169b0f; Tue, 01 Oct 2024 17:13:57 +0200 (CEST) Received: by mail-lf1-x132.google.com with SMTP id 2adb3069b0e04-5398996acbeso4945424e87.1 for ; Tue, 01 Oct 2024 08:13:57 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5c88240bcb3sm6323501a12.35.2024.10.01.08.13.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Oct 2024 08:13:56 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: c7c10f49-8007-11ef-99a2-01e77a169b0f DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1727795637; x=1728400437; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=yPkRVBGZm7hqHqqgHn2aC/nE9IDDfzz/HhzgGNJprN4=; b=f0yyIbKng5kJaIDgnms1znujSKYqd7vWaCrFE58zRKVOfwROOYbe0FG78OReVlbQC1 SdfgCpHzjX72eP4Dfe9SDQfZkB+OJF+hGBuGDPl9QD3HjyqDIDFSrojPDx6js1SGjcc5 LLADotXl/MuG3W8wrsy0xCA840tWBEKCnUtJu5pUqh3K9wiUAnK7tVQtPuTFDMkBhy6S SdN9XyPkaUUIq778E32vBBWEczUq/7HvUC6PTMrLMv/eTndqTNvasRb39wvKCjbCXolb aQEibl7zRFokWEXCb82UvXGtqdfI/95W5I4ivSu/IKIpNTdsMcQRmiKUrnhaIP74NIwF +MDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727795637; x=1728400437; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=yPkRVBGZm7hqHqqgHn2aC/nE9IDDfzz/HhzgGNJprN4=; b=Ah7htXyAeG9ad1Db9Dys+q9abXJ/5qNbNzJu6OW8ikvolimd3bPR9XEgmrEtl/9mBm Krv1pl3ahbwyatugc16B5jRnEiXC3CBfFNlVjqP6V3Ny8/Fh4FsVB5LgXFqwsA1vxGmW MhnPWRIJ3AKtybYFs67FFZrEX8dncMAOKGN+a1jFSzB8JLzOy/k2qVkwoimyI8dFVghn LCrduHrPS+shX8GH9uzzxT/i2o8hnYWk5YjsXyVDHIjqnht/YP9DD8QiQZNmfbvgdrTi UeGO08oLh6V5lVcGDVRKN1g5PsurLs3h2m+RCmWKoJH9w9bGcvAJSqpQg2FXG9hkB4Lb LavQ== X-Gm-Message-State: AOJu0YwKizJpgPPgA96GdciUzKdVmZ4LGGBehg4cO07dlmFfp8Wmws4z 4UueSZcCjjnmrfKn6CoBsFXhpObMo8eP0z4CBp6+aL4Zm7pEnyrbkgOOk+inlWfG10UkkBndp7c = X-Google-Smtp-Source: AGHT+IHlf3KR50LBsw4IisozyncxHhCUhdtsw8e0/KASYpXc0CkFV5Lw8NG96xYbDimz+GTf6EYVAw== X-Received: by 2002:a05:6512:1155:b0:536:568f:c5ed with SMTP id 2adb3069b0e04-5389fc32b18mr7568777e87.1.1727795637058; Tue, 01 Oct 2024 08:13:57 -0700 (PDT) Message-ID: Date: Tue, 1 Oct 2024 17:13:55 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v7 02/11] VMX: convert entry point annotations From: Jan Beulich To: "xen-devel@lists.xenproject.org" References: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Content-Language: en-US Cc: Andrew Cooper , =?utf-8?q?Roger_Pau_Monn?= =?utf-8?q?=C3=A9?= Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Use the generic framework from xen/linkage.h. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- v6: New. --- a/xen/arch/x86/hvm/vmx/entry.S +++ b/xen/arch/x86/hvm/vmx/entry.S @@ -24,7 +24,7 @@ #define VMRESUME .byte 0x0f,0x01,0xc3 #define VMLAUNCH .byte 0x0f,0x01,0xc2 -ENTRY(vmx_asm_vmexit_handler) +FUNC(vmx_asm_vmexit_handler) SAVE_ALL mov %cr2,%rax @@ -187,7 +187,7 @@ UNLIKELY_END(realmode) call vmx_vmentry_failure jmp .Lvmx_process_softirqs -ENTRY(vmx_asm_do_vmentry) +LABEL(vmx_asm_do_vmentry) GET_CURRENT(bx) jmp .Lvmx_do_vmentry @@ -205,6 +205,4 @@ ENTRY(vmx_asm_do_vmentry) sti call do_softirq jmp .Lvmx_do_vmentry - - .type vmx_asm_vmexit_handler, @function - .size vmx_asm_vmexit_handler, . - vmx_asm_vmexit_handler +END(vmx_asm_vmexit_handler) From patchwork Tue Oct 1 15:14:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13818254 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 83493CEACDD for ; Tue, 1 Oct 2024 15:14:40 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.808230.1220081 (Exim 4.92) (envelope-from ) id 1svea7-0005bv-1I; Tue, 01 Oct 2024 15:14:31 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 808230.1220081; Tue, 01 Oct 2024 15:14:31 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1svea6-0005bo-Up; Tue, 01 Oct 2024 15:14:30 +0000 Received: by outflank-mailman (input) for mailman id 808230; Tue, 01 Oct 2024 15:14:29 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1svea5-0004dm-I5 for xen-devel@lists.xenproject.org; Tue, 01 Oct 2024 15:14:29 +0000 Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [2a00:1450:4864:20::631]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id da5d649d-8007-11ef-a0ba-8be0dac302b0; Tue, 01 Oct 2024 17:14:29 +0200 (CEST) Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-a8a7b1c2f2bso925675966b.0 for ; Tue, 01 Oct 2024 08:14:29 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a98f03d2d09sm98861766b.142.2024.10.01.08.14.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Oct 2024 08:14:28 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: da5d649d-8007-11ef-a0ba-8be0dac302b0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1727795668; x=1728400468; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=b1sMHq5SkOLfKERWmUNKjj0SjILhRkZ7SZvJKkcD0p8=; b=K+fNZCDLSaROg2g7ct8gy4SPAz4r6YI43y+FMs8VFMYmEWPGg0btJh3zOgcuqn3Bmi u4pFWGAgbipygFkKINDCj+OhNNDeNsjhB7eyWXwfmnHf0FpkOGBuuvvKisQhj95ss5pc /FB4+hF9Mz+xDV+aFoSSL9ULBKrxK4JvtLG5z0erxkBxV85mh8TjWSeOYF20Q/ij9Rph Z0LMqgDVMwhoGFZKPWQYqLSCMvHIA/SjsSsSJJohqn5NknqZ4As+hM0q6U2GsuOZUY3i NNpnv1ZPwWji9+LWwuB7lnMJLBCTn2hXjZAM7G4VV0dyQmpU6+/DyYrjrtnEBZWCHTLR rpGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727795668; x=1728400468; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=b1sMHq5SkOLfKERWmUNKjj0SjILhRkZ7SZvJKkcD0p8=; b=vON2NyeQDMm2CWs4ZVl+tzb7j63dT93QHKQrlyEHSxVR2SvR3MelRJ+mdTNvyVUQIR Opi8iguCPPgPnp/gNrtByfxpfTxYMzyMoQ2tll1nWPyDuSE0j7+h+KK3HYxNLqBvPrti FVU5gqeUH+B+z1jAbIX5dsAHZVhjYFMnmRAXTuZ4tVtGdNsBgA4f1y1FeTo3ZvGhIyJ8 nLrlSJuVC1WXbeu5LsJq8paT8hp3cWuvRaUqBiAi9+wSIHCeKklYI4jX9C/LJDVPacZX hwVaqKc+bFpOrSk57R7dzPZUQAblEHKAUiHLs6ufXifYoa3yq7lC+NccMV6yQzLqpDa8 /NAQ== X-Gm-Message-State: AOJu0YwIHWPq+85OLEu0p0fvvq/N88DdUAuRD6LFWnwGq1MEunMQjEZG Q8t8/NyubvrjDuYquptZ0BPBhoO52sDxpoZdczwkdmS+7qv5hXyaUe0NvltfPDNFz7dpasiQDXQ = X-Google-Smtp-Source: AGHT+IH3vPayacs67JqhwZPHClOh3KvjoiHo+KWHRNUAlmyuxDfmeDMTzhLKW/7A+aiULAqmoZ2RLw== X-Received: by 2002:a17:907:9493:b0:a8d:4db8:9eed with SMTP id a640c23a62f3a-a93c4a67777mr1601806866b.51.1727795668395; Tue, 01 Oct 2024 08:14:28 -0700 (PDT) Message-ID: <4f828e91-aa90-4b44-b778-234812e4f8e1@suse.com> Date: Tue, 1 Oct 2024 17:14:27 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v7 03/11] x86/ACPI: annotate assembly function/data with type and size From: Jan Beulich To: "xen-devel@lists.xenproject.org" References: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Content-Language: en-US Cc: Andrew Cooper , =?utf-8?q?Roger_Pau_Monn?= =?utf-8?q?=C3=A9?= Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Use the generic framework from xen/linkage.h. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper although... --- v7: Make do_suspend_lowlevel() a single function. v6: New. --- a/xen/arch/x86/acpi/wakeup_prot.S +++ b/xen/arch/x86/acpi/wakeup_prot.S @@ -7,7 +7,7 @@ .text .code64 -ENTRY(do_suspend_lowlevel) +FUNC(do_suspend_lowlevel) push %rbp push %rbx push %r12 @@ -43,7 +43,7 @@ ENTRY(do_suspend_lowlevel) * * Everything else, including the stack, needs restoring. */ -ENTRY(s3_resume) +LABEL(s3_resume) lgdt boot_gdtr(%rip) mov saved_cr0(%rip), %rax @@ -132,6 +132,7 @@ ENTRY(s3_resume) pop %rbx pop %rbp ret +END(do_suspend_lowlevel) .data .align 16 @@ -142,5 +143,4 @@ saved_cr0: .quad 0 saved_ssp: .quad 0 #endif -GLOBAL(saved_magic) - .long 0x9abcdef0 +ASM_INT(saved_magic, 0x9abcdef0) From patchwork Tue Oct 1 15:15:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13818258 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 08AFDCEACD5 for ; Tue, 1 Oct 2024 15:15:17 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.808236.1220091 (Exim 4.92) (envelope-from ) id 1sveai-0006Ec-C3; Tue, 01 Oct 2024 15:15:08 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 808236.1220091; Tue, 01 Oct 2024 15:15:08 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sveai-0006EV-97; Tue, 01 Oct 2024 15:15:08 +0000 Received: by outflank-mailman (input) for mailman id 808236; Tue, 01 Oct 2024 15:15:07 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sveah-000652-Fi for xen-devel@lists.xenproject.org; Tue, 01 Oct 2024 15:15:07 +0000 Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [2a00:1450:4864:20::630]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id f06c1a44-8007-11ef-99a2-01e77a169b0f; Tue, 01 Oct 2024 17:15:06 +0200 (CEST) Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-a8a789c4fc5so1141308466b.0 for ; Tue, 01 Oct 2024 08:15:06 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a93c29481edsm723426566b.131.2024.10.01.08.15.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Oct 2024 08:15:05 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: f06c1a44-8007-11ef-99a2-01e77a169b0f DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1727795705; x=1728400505; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=rufSU9IFyOi2Hu7y05gtjyGOO2lB8zNytXCa+p88a/8=; b=eArXq2/ZvPLJZ9BmLXPKk7I/Pllh8f3sG99FBFNGu0GDIGRv10lH+oc/8V24nBXCZk 0KDYK0+JVTe48P1DpEfeRpCK2gxVZAorDWCbOJyql8XlN6ySjbeGcX9GMA4Bflj/vaPf Z+XsBN6jQH4rzezGbUMhuQWJPDHqzqYBwmn5ktibKcfNpcvaCY1v1EaPGRS1Y6nm4Hpv gaVgesvfNdBlZKdP1jcJaw66E0+pehMUQcbmRgEsOr7n10CkvSty3gTzaHxD5PFdCn7j sxgg8QIPQ3pnJGAxC+az+UfFR49Usa3bt+B1/bBsvF9MLz7RtCUWqXRo7R9SLsMWZJNZ jO2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727795705; x=1728400505; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rufSU9IFyOi2Hu7y05gtjyGOO2lB8zNytXCa+p88a/8=; b=nIpHxcZLu0JY+Wr/HcUl+5Dh/FUNw36/UzWbTIyB4fH4ryaqusepC16O7mhle8WQ0b Nj3liu0aB47z65i3cUaq5oZVAyTMSXGb3/ZSHIQjIH5YhNCk66CIwybmADg/OOxl6pRM VFYY9cqbWT9SAoUmtCcXkUkgpQyy/xg+ClW2XcSj5GX6DG+CKII0wDe9RK08WwQehVhA AAd6873T2qMxuMZDMt4/Umj4lssLZhhGOZ/BD6071AIj4GFEHlOsjpjQFkPSKlw2UXlk Rd4XvwcCPi4YZQBBDY2Br+qljvhAN8nuEzDhdC0j1cOI9NqkDdUOSazaccyfRZstYeF8 dHQw== X-Gm-Message-State: AOJu0Yw/KHZnlClM2La/ewWSbVDmuzXuDdOskYW+Vox1UFObBTrEOk8N LEwxjLBrcrvPXdkzc+UXz3c46101/2wOGORrc+qM+rXlNUQmByLOTzLNAjQmFwxk8nakmIE4+Vw = X-Google-Smtp-Source: AGHT+IHd/zr4PPoUeuPQMUipHdxm8EYs/MIwjHh9EhCFeRC1P/5NbxohnSK5+Dl64gnvHUT0/tp/3w== X-Received: by 2002:a17:907:3e85:b0:a8d:505a:5458 with SMTP id a640c23a62f3a-a967bf10f20mr463446266b.10.1727795705438; Tue, 01 Oct 2024 08:15:05 -0700 (PDT) Message-ID: <6b66c48e-241e-4a8f-9221-4693e92f50ba@suse.com> Date: Tue, 1 Oct 2024 17:15:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v7 04/11] x86/kexec: convert entry point annotations From: Jan Beulich To: "xen-devel@lists.xenproject.org" References: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Content-Language: en-US Cc: Andrew Cooper Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Use the generic framework from xen/linkage.h. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- v7: Use alternative approach, un-defining CONFIG_CC_SPLIT_SECTIONS. v6: New. --- a/xen/arch/x86/x86_64/kexec_reloc.S +++ b/xen/arch/x86/x86_64/kexec_reloc.S @@ -13,6 +13,9 @@ .file __FILE__ +/* All contents of .text.kexec wants to be kept together. */ +#undef CONFIG_CC_SPLIT_SECTIONS + #include #include @@ -21,10 +24,9 @@ #include .section .text.kexec, "ax", @progbits - .align PAGE_SIZE .code64 -ENTRY(kexec_reloc) +FUNC(kexec_reloc, PAGE_SIZE) /* %rdi - code page maddr */ /* %rsi - page table maddr */ /* %rdx - indirection page maddr */ @@ -91,8 +93,9 @@ ENTRY(kexec_reloc) push $0x10 push %rax lretq +END(kexec_reloc) -relocate_pages: +FUNC_LOCAL(relocate_pages) /* %rdi - indirection page maddr */ pushq %rbx @@ -138,10 +141,11 @@ relocate_pages: .L_done: popq %rbx ret +END(relocate_pages) .code32 -compatibility_mode: +FUNC_LOCAL(compatibility_mode) /* Setup some sane segments. */ movl $0x0008, %eax movl %eax, %ds @@ -168,39 +172,29 @@ compatibility_mode: /* Call the image entry point. This should never return. */ call *%ebp ud2 +END(compatibility_mode) - .align 4 -compat_mode_gdt_desc: +DATA_LOCAL(compat_mode_gdt_desc, 4) .word .Lcompat_mode_gdt_end - compat_mode_gdt -1 .quad 0x0000000000000000 /* set in call_32_bit above */ +END(compat_mode_gdt_desc) - .type compat_mode_gdt_desc, @object - .size compat_mode_gdt_desc, . - compat_mode_gdt_desc - - .align 8 -compat_mode_gdt: +DATA_LOCAL(compat_mode_gdt, 8) .quad 0x0000000000000000 /* null */ .quad 0x00cf93000000ffff /* 0x0008 ring 0 data */ .quad 0x00cf9b000000ffff /* 0x0010 ring 0 code, compatibility */ .Lcompat_mode_gdt_end: +END(compat_mode_gdt) - .type compat_mode_gdt, @object - .size compat_mode_gdt, . - compat_mode_gdt - -compat_mode_idt: +DATA_LOCAL(compat_mode_idt) .word 0 /* limit */ .long 0 /* base */ - - .type compat_mode_idt, @object - .size compat_mode_idt, . - compat_mode_idt +END(compat_mode_idt) /* * 16 words of stack are more than enough. */ - .align 8 -reloc_stack: +DATA_LOCAL(reloc_stack, 8) .fill 16,8,0 .Lreloc_stack_base: - - .type reloc_stack, @object - .size reloc_stack, . - reloc_stack +END(reloc_stack) From patchwork Tue Oct 1 15:15:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13818259 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 527A8CEACD5 for ; Tue, 1 Oct 2024 15:15:38 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.808237.1220101 (Exim 4.92) (envelope-from ) id 1sveb3-0006gr-KG; Tue, 01 Oct 2024 15:15:29 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 808237.1220101; Tue, 01 Oct 2024 15:15:29 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sveb3-0006gk-GK; Tue, 01 Oct 2024 15:15:29 +0000 Received: by outflank-mailman (input) for mailman id 808237; Tue, 01 Oct 2024 15:15:28 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sveb2-0006cV-2K for xen-devel@lists.xenproject.org; Tue, 01 Oct 2024 15:15:28 +0000 Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com [2a00:1450:4864:20::12f]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id fd274737-8007-11ef-a0ba-8be0dac302b0; Tue, 01 Oct 2024 17:15:27 +0200 (CEST) Received: by mail-lf1-x12f.google.com with SMTP id 2adb3069b0e04-53994aadb66so2440231e87.2 for ; Tue, 01 Oct 2024 08:15:27 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5c88249479csm6308383a12.86.2024.10.01.08.15.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Oct 2024 08:15:26 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: fd274737-8007-11ef-a0ba-8be0dac302b0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1727795727; x=1728400527; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=GYaugTRe75GrNYlcI6QrJSs2uMegyQOi+KXTpy3i8Tw=; b=QwQlJklQKo6iJlVO4oi0ZV3djjDHI3PGg2kn/DWk/AsNs2KeXOLrXbkVaAPWoo6iiL Q5cnCIrMC2Cz2hUWhr4mulE/tOPy0Dnbnw9xkLrZOPJKJPaI9gBsNVLLYxzH4TvkSXDP TjAeIayPbrY10XnlbnH4vydxfE75t+LyMBzWEzv6CqmoXMwQksosMRlXwU9ZvTrrEJx9 K3QYFStDkAKn9QAMuVNq50+nij9EVQNeSsg0uj7uuYw/QzRO1De9/O29aDnqE9kI58E1 9YpM/SEiWjamXQ3QJ4q07d6YTTJiLRncqhZ49NNN7wC6u3hH5Bt2d0LzOPiMjf9lkKun NmxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727795727; x=1728400527; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GYaugTRe75GrNYlcI6QrJSs2uMegyQOi+KXTpy3i8Tw=; b=A/o3Nv9jkUCqUu5YJrhHzNUuR8+TWQi9JIOsOLXGe7gZGOXt6lXFlR50ijN+cZzqm8 2vkMH+MB8hLmo9DHRUHzSLbQO1HQ9mTaVmRihc0dMA93GjZi313IEL5BW6Hw2+o2sj2i ZkNm4W+XxkkLk9gFSLPBvot8C1c6sLNQBhH2hOdJmAaD2SGMwH22aahmt38IZ7ttiZKc 0guWoBRRMvVaIwevR27YRTdRZoftwpUw/6svRo25kpUU0xCBYemYjVb6hke/YKAKE4Ud x7A9IITmQoGPgxMuYw/kJ9wXiTrm0QuJ98ICLrgDm9/GF4d8kMsW2xBWYrxtifWYrhRa FJ0Q== X-Gm-Message-State: AOJu0Yz4LCq2KrxReA1TZYF66arPd3/j32nEbPRT1UlPsZKYvvXpEp5q UemVx09hi1K98fw56tSCJRU96+pxhOy9zE7UKOV2MxW8j7UY4aiBoBCbOb7JNWfPRLrvpDKVcNo = X-Google-Smtp-Source: AGHT+IHXAI56HklnkMwoY6mg2bHEa4L3szOMSLOUcGhzrytzQ9v7xzmhFml2k6/vrt0EB2aX27EL6g== X-Received: by 2002:ac2:4f01:0:b0:52f:c27b:d572 with SMTP id 2adb3069b0e04-5389fc7d5bbmr8083293e87.59.1727795726701; Tue, 01 Oct 2024 08:15:26 -0700 (PDT) Message-ID: <165b8dcb-0fa9-42f3-a7cf-16136ed78921@suse.com> Date: Tue, 1 Oct 2024 17:15:26 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v7 05/11] x86: convert dom_crash_sync_extable() annotation From: Jan Beulich To: "xen-devel@lists.xenproject.org" References: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Content-Language: en-US Cc: Andrew Cooper , =?utf-8?q?Roger_Pau_Monn?= =?utf-8?q?=C3=A9?= Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> ... to that from the generic framework in xen/linkage.h. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- v7: Split from larger patch. --- a/xen/arch/x86/x86_64/entry.S +++ b/xen/arch/x86/x86_64/entry.S @@ -624,7 +624,7 @@ domain_crash_page_fault_0x8: ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP movq %rsi,%rdi call show_page_walk -ENTRY(dom_crash_sync_extable) +LABEL(dom_crash_sync_extable, 0) ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP # Get out of the guest-save area of the stack. GET_STACK_END(ax) From patchwork Tue Oct 1 15:15:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13818260 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 A102ACEACD5 for ; Tue, 1 Oct 2024 15:16:06 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.808243.1220111 (Exim 4.92) (envelope-from ) id 1svebV-0007F2-Sy; Tue, 01 Oct 2024 15:15:57 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 808243.1220111; Tue, 01 Oct 2024 15:15:57 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1svebV-0007Ev-P9; Tue, 01 Oct 2024 15:15:57 +0000 Received: by outflank-mailman (input) for mailman id 808243; Tue, 01 Oct 2024 15:15:56 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1svebU-0006cV-RY for xen-devel@lists.xenproject.org; Tue, 01 Oct 2024 15:15:56 +0000 Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com [2a00:1450:4864:20::136]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 0e75d128-8008-11ef-a0ba-8be0dac302b0; Tue, 01 Oct 2024 17:15:56 +0200 (CEST) Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-537a399e06dso6505097e87.1 for ; Tue, 01 Oct 2024 08:15:56 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a93c299aca5sm729826066b.224.2024.10.01.08.15.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Oct 2024 08:15:55 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 0e75d128-8008-11ef-a0ba-8be0dac302b0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1727795756; x=1728400556; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=sjsBqq7ERY0I9Pp9VoYjNgavFM9yKqdiMFCtPcKDqbg=; b=IuBv05IGNrT/veMfo9wpWIup1x89loxU5JWxWqeczPFVTWg03Ruezokr28PaDKUrgF hSyRgM19eNrwnEcPQrfgPE88Gpx6QUwT58CH0yvzer/xxhKX46+uAyyFiZKjP+rnDKca uJ1j/UYP5nlq0UH8ortmGVgpfoe4E2kJ97zyISJaZRDwsDHnNR7BQrTmUQ6sSoWPUliQ ns5L/F0Of9Wdbnm3FDLW0BnADd0gJa1OfBDlnfW4RBJQ6zabgPBOQJcEUPFBgGaWsGm/ SiN4ctTH0k/oGqecegZbdkooo3CddGeJ3ELLugHov4bOO8kiQmB4/XdW1Lv3kqKtnWXs 9lxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727795756; x=1728400556; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sjsBqq7ERY0I9Pp9VoYjNgavFM9yKqdiMFCtPcKDqbg=; b=ATB5h3b8TiSc/t3r7z1uYFxWts493k1PM9WUjmyuFxvckigLMOpKwIpwoL6vGYT+ee FBN6ub3xmzb74tBDDnVitWTayaKxjYGe5W8EZlr8NmV+kvuc7vcvL6xCKjYUuPhBA+WJ N741/K7H7BxNMHCRnZZGwut94asSYTgwu/Rkz40/QbaKBUshF2zlf1bSViY9pBe8ObzY Ifhy6l2qQqWxEJ/CKkMq/4iskur45UiM3jm112Nf9FYubig2Vgxj+3KmQl9aNsb37ltd r7bWhU5i0h/BvALngcfgN1nO8xtyBRa6bFmyA7Q4txiWLt8cXFcv8neMyAIQFEPh2m59 76sg== X-Gm-Message-State: AOJu0Ywli16MeLwiv+AsVsvA9nQ5MC+0Pr7Ks9Hvl7kxlQAn0g9JO9zN ENjXhcqYkjDdOwZGNo06iFmE/LMSg171H9WqyJoFaLb2nO8FJRqp5152Y7C01sgJN7jARTQ6QoY = X-Google-Smtp-Source: AGHT+IHq5yhz7ot9y7JTTyL6KR2Wcrx/BJ+S0h8LRDuZX50qvlrPYnDnE9WmfuzmRniHPmQ6xKa2rA== X-Received: by 2002:a05:6512:3b8d:b0:52b:bf8e:ffea with SMTP id 2adb3069b0e04-5389fc6429dmr9702674e87.40.1727795755726; Tue, 01 Oct 2024 08:15:55 -0700 (PDT) Message-ID: Date: Tue, 1 Oct 2024 17:15:54 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v7 06/11] x86: move ENTRY(), GLOBAL(), and ALIGN From: Jan Beulich To: "xen-devel@lists.xenproject.org" References: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Content-Language: en-US Cc: Andrew Cooper , =?utf-8?q?Roger_Pau_Monn?= =?utf-8?q?=C3=A9?= Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> ... to boot code, limiting their scope and thus allowing to drop respective #undef-s from the linker script. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- An obvious alternative would be to convert boot code right away too, but I think this has lower priority for now. --- v7: Re-base. v6: New. --- a/xen/arch/x86/boot/head.S +++ b/xen/arch/x86/boot/head.S @@ -10,6 +10,15 @@ #include #include +#define ALIGN .align CONFIG_FUNCTION_ALIGNMENT, CODE_FILL +#define ENTRY(name) \ + ALIGN; \ + GLOBAL(name) +#define GLOBAL(name) \ + .globl name; \ + .hidden name; \ + name: + .section .text.header, "ax", @progbits .code32 --- a/xen/arch/x86/include/asm/config.h +++ b/xen/arch/x86/include/asm/config.h @@ -42,14 +42,6 @@ /* Linkage for x86 */ #ifdef __ASSEMBLY__ #define CODE_FILL 0x90 -#define ALIGN .align CONFIG_FUNCTION_ALIGNMENT, CODE_FILL -#define ENTRY(name) \ - ALIGN; \ - GLOBAL(name) -#define GLOBAL(name) \ - .globl name; \ - .hidden name; \ - name: #endif #define NR_hypercalls 64 --- a/xen/arch/x86/x86_64/entry.S +++ b/xen/arch/x86/x86_64/entry.S @@ -1260,7 +1260,7 @@ FUNC_LOCAL(autogen_stubs, 0) /* Automati .if vec >= FIRST_IRQ_VECTOR #endif - ALIGN + .align CONFIG_FUNCTION_ALIGNMENT, CODE_FILL 1: ENDBR64 pushq $0 --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -5,8 +5,6 @@ #include #include #include -#undef ENTRY -#undef ALIGN #ifdef EFI From patchwork Tue Oct 1 15:16:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13818261 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 888EFCEACDD for ; Tue, 1 Oct 2024 15:16:35 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.808248.1220121 (Exim 4.92) (envelope-from ) id 1svebx-0007mS-4d; Tue, 01 Oct 2024 15:16:25 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 808248.1220121; Tue, 01 Oct 2024 15:16:25 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1svebx-0007mL-1C; Tue, 01 Oct 2024 15:16:25 +0000 Received: by outflank-mailman (input) for mailman id 808248; Tue, 01 Oct 2024 15:16:23 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1svebv-000652-84 for xen-devel@lists.xenproject.org; Tue, 01 Oct 2024 15:16:23 +0000 Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com [2a00:1450:4864:20::632]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 1d7b5849-8008-11ef-99a2-01e77a169b0f; Tue, 01 Oct 2024 17:16:21 +0200 (CEST) Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-a8d3cde1103so787256666b.2 for ; Tue, 01 Oct 2024 08:16:21 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a93c277726asm740564466b.10.2024.10.01.08.16.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Oct 2024 08:16:20 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 1d7b5849-8008-11ef-99a2-01e77a169b0f DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1727795781; x=1728400581; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=BX0i4gwb1cYoJ/9L+SuI1WkYU5iQtnN3mUAMKMP97s4=; b=RCkpJqD4xIV3qoz9o5TYKwjnm6t33RQWWkza3RWRzEF1hQcxJU9wTthbP6YanWda+t +V8pilSc/1PqCXhxfGdMStfqQugAm4Gatm2juCzebHNb8fjicE4aovikizZHlDXbHk9X MtI+D24URGl9Q6yiP3T201EQXVRIJGCVt4CJVHGwQEUwQuxZ/5ZsjgAQ2FbIcQ5rsiEh cfj7yYJytA8lGJ82N68cT4+RKruAhOEBRTf6TRt3dhCkTw7rP5dveDs+tvcStNjClkkY VI5ziaf6mUMFHzltTpeHW44onGSy37zbp6mr1JpNrGjcZrfQR1DBc0nEDILyRGWpDpm2 g6AA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727795781; x=1728400581; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=BX0i4gwb1cYoJ/9L+SuI1WkYU5iQtnN3mUAMKMP97s4=; b=H6zTR5fVCdmBRuwwcTHV88QmJZ1LKt5IKopOHp3PwZ3uYLKKONSw9XWRlKJAzlnnHM cJVThlzwkdVgcsjOF+5Sw9rFFVeJlfduexoGZzMLp2GHzmHEVzjeBZ9Ho4LKtDHQvOJc jv9KKwZGC2aBjOw/clUmzWAesmWNOCFCwRtUZJv5VR3RBPUu1NkgjzjmcOGUBvoTG8nQ VJgebEyPSy3sIkU8Zv5FaAT7TmgFNCFo2uEDEer4JsyomDQwJ6GFwewgFVaVbAwsfizy MrVXN6ifpeF7zqGLBIi95KQwzjxbdqVsRTaS2WqphV0aO4qsu4FEJkFJaNneXl2dVAFg OjMQ== X-Gm-Message-State: AOJu0Yxm+4DMmvdeSe0qrc8CC0LCZ3Mtb9lykVj8iBsIeilZws1tJ/7w 1YbbC8BtQ4lvC5LJXHpvUudyIm7QHMhIrXS/FaJp+aRessRYn/u7571HevxU0X4XQXuR4ujqsc4 = X-Google-Smtp-Source: AGHT+IGSYutHKb4XFDRcmSZy3Dt2qYEdryrw5csvUvdUfLvAN9tiw5+P5gaQxuPH47XeibDLk3EvaA== X-Received: by 2002:a17:907:1c17:b0:a90:13b6:3ece with SMTP id a640c23a62f3a-a93c49044a8mr1865128966b.15.1727795780961; Tue, 01 Oct 2024 08:16:20 -0700 (PDT) Message-ID: <658f0a05-742e-44ed-bf3f-bd6bb8c694a7@suse.com> Date: Tue, 1 Oct 2024 17:16:19 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v7 07/11] Arm32: use new-style entry annotations for library code From: Jan Beulich To: "xen-devel@lists.xenproject.org" References: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Content-Language: en-US Cc: Julien Grall , Stefano Stabellini , Volodymyr Babchuk , Bertrand Marquis , Michal Orzel Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> No functional change, albeit all globals now become hidden, and aliasing symbols (__aeabi_{u,}idiv) as well as __memzero lose their function-ness and size. Signed-off-by: Jan Beulich --- If the function-ness is important, some new construct would need inventing. Not setting size for the aliases may even be desirable, as I'm uncertain whether it is really legal in ELF that two entities overlap in space. I fear I'm breaking __memzero(), as I don't understand the purpose of the ".word 0" next to where the FUNC_LOCAL() appears. --- v7: New. --- a/xen/arch/arm/arm32/lib/findbit.S +++ b/xen/arch/arm/arm32/lib/findbit.S @@ -20,7 +20,7 @@ * Purpose : Find a 'zero' bit * Prototype: int find_first_zero_bit(void *addr, unsigned int maxbit); */ -ENTRY(_find_first_zero_bit_le) +FUNC(_find_first_zero_bit_le) teq r1, #0 beq 3f mov r2, #0 @@ -35,13 +35,13 @@ ENTRY(_find_first_zero_bit_le) blo 1b 3: mov r0, r1 @ no free bits mov pc, lr -ENDPROC(_find_first_zero_bit_le) +END(_find_first_zero_bit_le) /* * Purpose : Find next 'zero' bit * Prototype: int find_next_zero_bit(void *addr, unsigned int maxbit, int offset) */ -ENTRY(_find_next_zero_bit_le) +FUNC(_find_next_zero_bit_le) cmp r1, r2 bls 3b ands ip, r2, #7 @@ -55,13 +55,13 @@ ENTRY(_find_next_zero_bit_le) orr r2, r2, #7 @ if zero, then no bits here add r2, r2, #1 @ align bit pointer b 2b @ loop for next bit -ENDPROC(_find_next_zero_bit_le) +END(_find_next_zero_bit_le) /* * Purpose : Find a 'one' bit * Prototype: int find_first_bit(const unsigned long *addr, unsigned int maxbit); */ -ENTRY(_find_first_bit_le) +FUNC(_find_first_bit_le) teq r1, #0 beq 3f mov r2, #0 @@ -76,13 +76,13 @@ ENTRY(_find_first_bit_le) blo 1b 3: mov r0, r1 @ no free bits mov pc, lr -ENDPROC(_find_first_bit_le) +END(_find_first_bit_le) /* * Purpose : Find next 'one' bit * Prototype: int find_next_zero_bit(void *addr, unsigned int maxbit, int offset) */ -ENTRY(_find_next_bit_le) +FUNC(_find_next_bit_le) cmp r1, r2 bls 3b ands ip, r2, #7 @@ -95,11 +95,11 @@ ENTRY(_find_next_bit_le) orr r2, r2, #7 @ if zero, then no bits here add r2, r2, #1 @ align bit pointer b 2b @ loop for next bit -ENDPROC(_find_next_bit_le) +END(_find_next_bit_le) #ifdef __ARMEB__ -ENTRY(_find_first_zero_bit_be) +FUNC(_find_first_zero_bit_be) teq r1, #0 beq 3f mov r2, #0 @@ -114,9 +114,9 @@ ENTRY(_find_first_zero_bit_be) blo 1b 3: mov r0, r1 @ no free bits mov pc, lr -ENDPROC(_find_first_zero_bit_be) +END(_find_first_zero_bit_be) -ENTRY(_find_next_zero_bit_be) +FUNC(_find_next_zero_bit_be) cmp r1, r2 bls 3b ands ip, r2, #7 @@ -131,9 +131,9 @@ ENTRY(_find_next_zero_bit_be) orr r2, r2, #7 @ if zero, then no bits here add r2, r2, #1 @ align bit pointer b 2b @ loop for next bit -ENDPROC(_find_next_zero_bit_be) +END(_find_next_zero_bit_be) -ENTRY(_find_first_bit_be) +FUNC(_find_first_bit_be) teq r1, #0 beq 3f mov r2, #0 @@ -148,9 +148,9 @@ ENTRY(_find_first_bit_be) blo 1b 3: mov r0, r1 @ no free bits mov pc, lr -ENDPROC(_find_first_bit_be) +END(_find_first_bit_be) -ENTRY(_find_next_bit_be) +FUNC(_find_next_bit_be) cmp r1, r2 bls 3b ands ip, r2, #7 @@ -164,7 +164,7 @@ ENTRY(_find_next_bit_be) orr r2, r2, #7 @ if zero, then no bits here add r2, r2, #1 @ align bit pointer b 2b @ loop for next bit -ENDPROC(_find_next_bit_be) +END(_find_next_bit_be) #endif --- a/xen/arch/arm/arm32/lib/lib1funcs.S +++ b/xen/arch/arm/arm32/lib/lib1funcs.S @@ -201,8 +201,8 @@ along with this program; see the file CO .endm -ENTRY(__udivsi3) -ENTRY(__aeabi_uidiv) +FUNC(__udivsi3) +LABEL(__aeabi_uidiv) UNWIND(.fnstart) subs r2, r1, #1 @@ -228,10 +228,9 @@ UNWIND(.fnstart) mov pc, lr UNWIND(.fnend) -ENDPROC(__udivsi3) -ENDPROC(__aeabi_uidiv) +END(__udivsi3) -ENTRY(__umodsi3) +FUNC(__umodsi3) UNWIND(.fnstart) subs r2, r1, #1 @ compare divisor with 1 @@ -247,10 +246,10 @@ UNWIND(.fnstart) mov pc, lr UNWIND(.fnend) -ENDPROC(__umodsi3) +END(__umodsi3) -ENTRY(__divsi3) -ENTRY(__aeabi_idiv) +FUNC(__divsi3) +LABEL(__aeabi_idiv) UNWIND(.fnstart) cmp r1, #0 @@ -289,10 +288,9 @@ UNWIND(.fnstart) mov pc, lr UNWIND(.fnend) -ENDPROC(__divsi3) -ENDPROC(__aeabi_idiv) +END(__divsi3) -ENTRY(__modsi3) +FUNC(__modsi3) UNWIND(.fnstart) cmp r1, #0 @@ -314,11 +312,11 @@ UNWIND(.fnstart) mov pc, lr UNWIND(.fnend) -ENDPROC(__modsi3) +END(__modsi3) #ifdef CONFIG_AEABI -ENTRY(__aeabi_uidivmod) +FUNC(__aeabi_uidivmod) UNWIND(.fnstart) UNWIND(.save {r0, r1, ip, lr} ) @@ -330,9 +328,9 @@ UNWIND(.save {r0, r1, ip, lr} ) mov pc, lr UNWIND(.fnend) -ENDPROC(__aeabi_uidivmod) +END(__aeabi_uidivmod) -ENTRY(__aeabi_idivmod) +FUNC(__aeabi_idivmod) UNWIND(.fnstart) UNWIND(.save {r0, r1, ip, lr} ) stmfd sp!, {r0, r1, ip, lr} @@ -343,9 +341,9 @@ UNWIND(.save {r0, r1, ip, lr} ) mov pc, lr UNWIND(.fnend) -ENDPROC(__aeabi_idivmod) +END(__aeabi_idivmod) -ENTRY(__aeabi_uldivmod) +FUNC(__aeabi_uldivmod) UNWIND(.fnstart) UNWIND(.save {lr} ) sub sp, sp, #8 @@ -357,9 +355,9 @@ UNWIND(.save {lr} ) mov pc, lr UNWIND(.fnend) -ENDPROC(__aeabi_uldivmod) +END(__aeabi_uldivmod) -ENTRY(__aeabi_ldivmod) +FUNC(__aeabi_ldivmod) UNWIND(.fnstart) UNWIND(.save {lr} ) sub sp, sp, #16 @@ -371,10 +369,10 @@ UNWIND(.save {lr} ) mov pc, lr UNWIND(.fnend) -ENDPROC(__aeabi_ldivmod) +END(__aeabi_ldivmod) #endif -Ldiv0: +FUNC_LOCAL(Ldiv0) UNWIND(.fnstart) UNWIND(.pad #4) UNWIND(.save {lr}) @@ -383,4 +381,4 @@ UNWIND(.save {lr}) mov r0, #0 @ About as wrong as it could be. ldr pc, [sp], #8 UNWIND(.fnend) -ENDPROC(Ldiv0) +END(Ldiv0) --- a/xen/arch/arm/arm32/lib/lshrdi3.S +++ b/xen/arch/arm/arm32/lib/lshrdi3.S @@ -34,8 +34,8 @@ along with this program; see the file CO #define ah r1 #endif -ENTRY(__lshrdi3) -ENTRY(__aeabi_llsr) +FUNC(__lshrdi3) +LABEL(__aeabi_llsr) subs r3, r2, #32 rsb ip, r2, #32 @@ -47,5 +47,4 @@ ENTRY(__aeabi_llsr) mov ah, ah, lsr r2 mov pc, lr -ENDPROC(__lshrdi3) -ENDPROC(__aeabi_llsr) +END(__lshrdi3) --- a/xen/arch/arm/arm32/lib/memchr.S +++ b/xen/arch/arm/arm32/lib/memchr.S @@ -12,8 +12,7 @@ #include "assembler.h" .text - .align 5 -ENTRY(memchr) +FUNC(memchr, 32) and r1, r1, #0xff 1: subs r2, r2, #1 bmi 2f @@ -23,4 +22,4 @@ ENTRY(memchr) sub r0, r0, #1 2: movne r0, #0 mov pc, lr -ENDPROC(memchr) +END(memchr) --- a/xen/arch/arm/arm32/lib/memcpy.S +++ b/xen/arch/arm/arm32/lib/memcpy.S @@ -54,8 +54,8 @@ /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */ -ENTRY(memcpy) +FUNC(memcpy) #include "copy_template.S" -ENDPROC(memcpy) +END(memcpy) --- a/xen/arch/arm/arm32/lib/memmove.S +++ b/xen/arch/arm/arm32/lib/memmove.S @@ -24,7 +24,7 @@ * occurring in the opposite direction. */ -ENTRY(memmove) +FUNC(memmove) subs ip, r0, r1 cmphi r2, ip @@ -194,4 +194,4 @@ ENTRY(memmove) 18: backward_copy_shift push=24 pull=8 -ENDPROC(memmove) +END(memmove) --- a/xen/arch/arm/arm32/lib/memset.S +++ b/xen/arch/arm/arm32/lib/memset.S @@ -12,9 +12,8 @@ #include "assembler.h" .text - .align 5 -ENTRY(memset) +FUNC(memset, 32) and r1, r1, #0xff ands r3, r0, #3 @ 1 unaligned? mov ip, r0 @ preserve r0 as return value @@ -120,4 +119,4 @@ ENTRY(memset) strb r1, [ip], #1 @ 1 add r2, r2, r3 @ 1 (r2 = r2 - (4 - r3)) b 1b -ENDPROC(memset) +END(memset) --- a/xen/arch/arm/arm32/lib/memzero.S +++ b/xen/arch/arm/arm32/lib/memzero.S @@ -10,7 +10,7 @@ #include "assembler.h" .text - .align 5 +FUNC_LOCAL(_memzero_, 32) .word 0 /* * Align the pointer in r0. r3 contains the number of bytes that we are @@ -29,7 +29,7 @@ * memzero again. */ -ENTRY(__memzero) +LABEL(__memzero) mov r2, #0 @ 1 ands r3, r0, #3 @ 1 unaligned? bne 1b @ 1 @@ -121,4 +121,4 @@ ENTRY(__memzero) tst r1, #1 @ 1 a byte left over strneb r2, [r0], #1 @ 1 mov pc, lr @ 1 -ENDPROC(__memzero) +END(_memzero_) --- a/xen/arch/arm/arm32/lib/strchr.S +++ b/xen/arch/arm/arm32/lib/strchr.S @@ -14,8 +14,7 @@ #include "assembler.h" .text - .align 5 -ENTRY(strchr) +FUNC(strchr, 32) and r1, r1, #0xff 1: ldrb r2, [r0], #1 teq r2, r1 @@ -25,4 +24,4 @@ ENTRY(strchr) movne r0, #0 subeq r0, r0, #1 mov pc, lr -ENDPROC(strchr) +END(strchr) --- a/xen/arch/arm/arm32/lib/strrchr.S +++ b/xen/arch/arm/arm32/lib/strrchr.S @@ -12,8 +12,7 @@ #include "assembler.h" .text - .align 5 -ENTRY(strrchr) +FUNC(strrchr, 32) and r1, r1, #0xff mov r3, #0 1: ldrb r2, [r0], #1 @@ -23,4 +22,4 @@ ENTRY(strrchr) bne 1b mov r0, r3 mov pc, lr -ENDPROC(strrchr) +END(strrchr) From patchwork Tue Oct 1 15:16:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13818262 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 49E34CEACD5 for ; Tue, 1 Oct 2024 15:16:56 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.808250.1220131 (Exim 4.92) (envelope-from ) id 1svecG-0008QA-GQ; Tue, 01 Oct 2024 15:16:44 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 808250.1220131; Tue, 01 Oct 2024 15:16:44 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1svecG-0008Q3-CN; Tue, 01 Oct 2024 15:16:44 +0000 Received: by outflank-mailman (input) for mailman id 808250; Tue, 01 Oct 2024 15:16:43 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1svecF-0006cV-0f for xen-devel@lists.xenproject.org; Tue, 01 Oct 2024 15:16:43 +0000 Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [2a00:1450:4864:20::62a]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 29de12a4-8008-11ef-a0ba-8be0dac302b0; Tue, 01 Oct 2024 17:16:42 +0200 (CEST) Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-a910860e4dcso64690766b.3 for ; Tue, 01 Oct 2024 08:16:42 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a93c27773c0sm736022166b.1.2024.10.01.08.16.41 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Oct 2024 08:16:41 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 29de12a4-8008-11ef-a0ba-8be0dac302b0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1727795802; x=1728400602; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=kDmhaPLV1KBtugpOb/drJdwa74rwyXxXKWWSRWQJz04=; b=gF6krIrkP04Jda1lqW/drHBWTGFao1i/PTzNje2T5bOgta03uVvNVlqmhpYoYD/PyY zSxmRYU6KfWJYoTvHRwSOK3O36jcH3Je5UtXAOZS/bNxR74zjeVHOml2coPMolirkr1D fPrKx3ihExfS5gH1UjFKjUTkzWSgNLnmfFxsb4GC5IACbcclLSTzJqgaUP+l8gmwaYup v8U7wXG58Nl5QFO2M2KSDw6K5FEKwsyLK/KHyfjTtrSAq84gEF88l7kACnRGld8QZHB0 aeFB+mWpKSGc1XPpPdMLiD8yWcbNmTUu1VRzFzZnVreTAknkydt+reWes4nSnckwt8JF XTIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727795802; x=1728400602; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=kDmhaPLV1KBtugpOb/drJdwa74rwyXxXKWWSRWQJz04=; b=jySsXXIG5N00sZzCMdCHvDFjZpIhWsNqd/Q0HQM0QZqhtmboStw857lspcxcX+bHjW giiZ6Yz1NI8SWd6K97LsV5K1YZm0FdhesTU8gPpMHutCiSWSE9YT4Dw4ceYcI6Vi3jOA h0RM6LW0Pn8ZlKsi74Qu9OhtwIBvSJLxAZQZgPQfTmY7fqIvq4c3tVz5GR0UrK0wkMbQ NvoPwh62kc+GAeWw4Wi2ZOkSa2IQIB4Gwv4JynY1yW6DhAwcCdLV3/lk1I8ly/gGwFwW cI+3ZWvmPIZLPeaiVXgwOpCjS1DDAX+zOcGlb3kXQmOzq3QQ4lCVp5bf7HU7LJr0CmPP YptA== X-Gm-Message-State: AOJu0Yy75Fa3nWLD7MRcTczyp38odbCCUiSowdA97uP3ooM2cFGpmnIx q6y/8i596y+CsdQ9a4pkFHavlPEr1AjIb0NDi/1yf7yjtk2p4rRldejopTnjWs6Idisr5RmdHcw = X-Google-Smtp-Source: AGHT+IHOnm+9ZIJSbtd230MU90VUrqhjUsU9nVNxewRyh0vxzPstKQDAAw2vZdHSfRUktn4qz3+ZIg== X-Received: by 2002:a17:906:f59b:b0:a83:94bd:d913 with SMTP id a640c23a62f3a-a93c48e80d3mr1803406266b.10.1727795801661; Tue, 01 Oct 2024 08:16:41 -0700 (PDT) Message-ID: <7edbc094-6b3a-47f0-92b7-879ca1d76548@suse.com> Date: Tue, 1 Oct 2024 17:16:40 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v7 08/11] Arm32: use new-style entry annotations for MMU code From: Jan Beulich To: "xen-devel@lists.xenproject.org" References: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Locally override SYM_PUSH_SECTION() to retain the intended section association. Signed-off-by: Jan Beulich --- v7: New. --- a/xen/arch/arm/arm32/mmu/head.S +++ b/xen/arch/arm/arm32/mmu/head.S @@ -160,6 +160,13 @@ .endm .section .text.idmap, "ax", %progbits +/* + * Code below wants to all live in the section established above. Annotations + * from xen/linkage.h therefore may not switch sections (honoring + * CONFIG_CC_SPLIT_SECTIONS). Override the respective macro. + */ +#undef SYM_PUSH_SECTION +#define SYM_PUSH_SECTION(name, attr) /* * Rebuild the boot pagetable's first-level entries. The structure @@ -174,7 +181,7 @@ * * Clobbers r0 - r5 */ -create_page_tables: +FUNC_LOCAL(create_page_tables) /* Prepare the page-tables for mapping Xen */ mov_w r0, XEN_VIRT_START @@ -263,7 +270,7 @@ use_temporary_mapping: mov r12, #1 /* r12 := temporary mapping created */ mov pc, lr -ENDPROC(create_page_tables) +END(create_page_tables) /* * Turn on the Data Cache and the MMU. The function will return @@ -276,7 +283,7 @@ ENDPROC(create_page_tables) * * Clobbers r0 - r5 */ -enable_mmu: +FUNC_LOCAL(enable_mmu) PRINT("- Turning on paging -\r\n") /* @@ -346,7 +353,7 @@ enable_mmu: teq r12, #0 beq remove_identity_mapping b remove_temporary_mapping -ENDPROC(enable_mmu) +END(enable_mmu) /* * Switch to the runtime mapping. The logic depends on whether the @@ -366,7 +373,7 @@ ENDPROC(enable_mmu) * * Clobbers r0 - r4 */ -switch_to_runtime_mapping: +FUNC_LOCAL(switch_to_runtime_mapping) /* * Jump to the runtime mapping if the virt and phys are not * clashing @@ -411,7 +418,7 @@ ready_to_switch: PRINT_ID("- Jumping to runtime address -\r\n") mov pc, lr -ENDPROC(switch_to_runtime_mapping) +END(switch_to_runtime_mapping) /* * Enable mm (turn on the data cache and the MMU) for secondary CPUs. @@ -428,7 +435,7 @@ ENDPROC(switch_to_runtime_mapping) * * Clobbers r0 - r6 */ -ENTRY(enable_secondary_cpu_mm) +FUNC(enable_secondary_cpu_mm) mov r6, lr bl create_page_tables @@ -456,7 +463,7 @@ ENTRY(enable_secondary_cpu_mm) /* Return to the virtual address requested by the caller. */ mov pc, r6 -ENDPROC(enable_secondary_cpu_mm) +END(enable_secondary_cpu_mm) /* * Enable mm (turn on the data cache and the MMU) for the boot CPU. @@ -474,7 +481,7 @@ ENDPROC(enable_secondary_cpu_mm) * * Clobbers r0 - r6 */ -ENTRY(enable_boot_cpu_mm) +FUNC(enable_boot_cpu_mm) mov r6, lr #ifdef CONFIG_EARLY_PRINTK @@ -491,7 +498,7 @@ ENTRY(enable_boot_cpu_mm) /* Address in the runtime mapping to jump to after the MMU is enabled */ mov lr, r6 b enable_mmu -ENDPROC(enable_boot_cpu_mm) +END(enable_boot_cpu_mm) /* * Remove the 1:1 map from the page-tables. It is not easy to keep track @@ -503,7 +510,7 @@ ENDPROC(enable_boot_cpu_mm) * * Clobbers r0 - r3 */ -remove_identity_mapping: +FUNC_LOCAL(remove_identity_mapping) PRINT("- Removing the identity mapping -\r\n") /* r2:r3 := invalid page-table entry */ @@ -518,14 +525,14 @@ remove_identity_mapping: flush_xen_tlb_local r0 mov pc, lr -ENDPROC(remove_identity_mapping) +END(remove_identity_mapping) /* * Remove the temporary mapping of Xen starting at TEMPORARY_XEN_VIRT_START. * * Clobbers r0 - r3 */ -remove_temporary_mapping: +FUNC_LOCAL(remove_temporary_mapping) PRINT("- Removing the temporary mapping -\r\n") /* r2:r3 := invalid page-table entry */ @@ -541,13 +548,14 @@ remove_temporary_mapping: flush_xen_tlb_local r0 mov pc, lr -ENDPROC(remove_temporary_mapping) +END(remove_temporary_mapping) /* Fail-stop */ -fail: PRINT("- Boot failed -\r\n") +FUNC_LOCAL(fail) + PRINT("- Boot failed -\r\n") 1: wfe b 1b -ENDPROC(fail) +END(fail) /* * Switch TTBR @@ -555,7 +563,7 @@ ENDPROC(fail) * * TODO: This code does not comply with break-before-make. */ -ENTRY(switch_ttbr) +FUNC(switch_ttbr) dsb /* Ensure the flushes happen before * continuing */ isb /* Ensure synchronization with previous @@ -579,4 +587,4 @@ ENTRY(switch_ttbr) isb mov pc, lr -ENDPROC(switch_ttbr) +END(switch_ttbr) From patchwork Tue Oct 1 15:17:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13818271 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 C206DCEACDD for ; Tue, 1 Oct 2024 15:28:21 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.808279.1220165 (Exim 4.92) (envelope-from ) id 1svenD-0004Cj-TX; Tue, 01 Oct 2024 15:28:03 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 808279.1220165; Tue, 01 Oct 2024 15:28:03 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1svenD-0004Cf-QG; Tue, 01 Oct 2024 15:28:03 +0000 Received: by outflank-mailman (input) for mailman id 808279; Tue, 01 Oct 2024 15:28:02 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1svecd-0006cV-Oe for xen-devel@lists.xenproject.org; Tue, 01 Oct 2024 15:17:07 +0000 Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com [2a00:1450:4864:20::136]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 38ca8408-8008-11ef-a0ba-8be0dac302b0; Tue, 01 Oct 2024 17:17:07 +0200 (CEST) Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-53991d05416so3255659e87.2 for ; Tue, 01 Oct 2024 08:17:07 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a93c27c7237sm726038666b.81.2024.10.01.08.17.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Oct 2024 08:17:06 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 38ca8408-8008-11ef-a0ba-8be0dac302b0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1727795827; x=1728400627; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=lu1GiGzAFS51pwrdfGOQ2MVzi5IX7VZ3x23jbu0DltE=; b=J84oErtiXB4nCwPxvON+mIK9PjO7NimHfm37YV2u7LSFhCKentiYDRD5mWk7T7F2wS vSekOxFkLjJiZn0KtKm8CKNk/sKqmujs+MhX1OLb+/3SYlHcR/bq5zplmFydZpgRk9Q8 W40BSWFLlTSB4LG2NRMH+nyJjZofVTXZgqfpvdZW0MDKbruHTW/SdsiToiE9gXnbZnUX ACKKfBk4Xx36us24uoFaXxzRNLr6qLyUF+jrSuf+x8cOh1hPrfzD7hIZKyLM3vfD8T+t WHhQQHnkFzWpZE358Q4AsZmEAh7uCtaJukr1a4WuvviX6bo6Bgi8dT52WQXpk/W1Y50e HyLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727795827; x=1728400627; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=lu1GiGzAFS51pwrdfGOQ2MVzi5IX7VZ3x23jbu0DltE=; b=VlRjZqZ8fHtE6HxVgOhh4IuADdcWHWZLkgseIHHJK87DanOxXcmqHCGvXn3t4JdfVs iriR7O9DC6XEcMz+c4G0zRTiYyuBtbo9htfuWFO8g/a41SdpuuvDQ/OKULW8NgKnS6Z7 yqpvGwq5zPJG8/OL7+knfrejbMwRxK+K114iuDEGhAcjFMsg4DUgSKPRKzWe/OH/7n2H b0BEBHQAxVwEGWa7NLWAgLj7/JC8ihgIOu0fFdnIu3mfq4ScCn6jP34mcgmsucK7vAqx K4BmDu1ffkgzjFKa4nt+lUvjl6ZGq1KoNUc6ZFQ4+5aFay97UrD5wlQFgzZkL3I2xXli UvUQ== X-Gm-Message-State: AOJu0Yy/3WiT25dYQ7jAgnWqUqDf1LgEohCPoqjYyEpKhUrQUQafNJPF HJoBlqfHGxz4YlASMMktgeicet1JBcK3Iu/eNl0bKoqxm5W1SnmhRXf4WhnXGVSXB9kV0G6cGpw = X-Google-Smtp-Source: AGHT+IH1yhA3GKtrE6RLkZbejkuaUwppYDkJvGUPZMdydy8S+YzLIM08SNZmB+jcjU3iU8V428hzSA== X-Received: by 2002:a05:6512:ba3:b0:539:8fcd:520 with SMTP id 2adb3069b0e04-5398fcd0637mr7453767e87.36.1727795826770; Tue, 01 Oct 2024 08:17:06 -0700 (PDT) Message-ID: <74c761c9-41b1-4397-aec2-95558d53a7cc@suse.com> Date: Tue, 1 Oct 2024 17:17:05 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v7 09/11] Arm32: use new-style entry annotations for entry code From: Jan Beulich To: "xen-devel@lists.xenproject.org" References: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Content-Language: en-US Cc: Julien Grall , Stefano Stabellini , Volodymyr Babchuk , Bertrand Marquis , Michal Orzel Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Signed-off-by: Jan Beulich --- Should the GLOBAL()s also be replaced? --- v7: New. --- a/xen/arch/arm/arm32/entry.S +++ b/xen/arch/arm/arm32/entry.S @@ -31,7 +31,7 @@ * r4: Set to a non-zero value if a pending Abort exception took place. * Otherwise, it will be set to zero. */ -prepare_context_from_guest: +FUNC_LOCAL(prepare_context_from_guest) #ifdef CONFIG_ARM32_HARDEN_BRANCH_PREDICTOR /* * Restore vectors table to the default as it may have been @@ -140,7 +140,7 @@ abort_guest_exit_end: skip_check: b enter_hypervisor_from_guest_preirq -ENDPROC(prepare_context_from_guest) +END(prepare_context_from_guest) /* * Macro to define a trap entry. @@ -362,13 +362,13 @@ trap_irq: trap_fiq: vector fiq -return_from_trap: +LABEL_LOCAL(return_from_trap) /* * Restore the stack pointer from r11. It was saved on exception * entry (see __DEFINE_TRAP_ENTRY). */ mov sp, r11 -ENTRY(return_to_new_vcpu32) +LABEL(return_to_new_vcpu32) ldr r11, [sp, #UREGS_cpsr] and r11, #PSR_MODE_MASK cmp r11, #PSR_MODE_HYP @@ -426,6 +426,7 @@ return_to_hypervisor: clrex eret sb +END(return_from_trap) /* * struct vcpu *__context_switch(struct vcpu *prev, struct vcpu *next) @@ -435,12 +436,13 @@ return_to_hypervisor: * * Returns prev in r0 */ -ENTRY(__context_switch) +FUNC(__context_switch) add ip, r0, #VCPU_arch_saved_context stmia ip!, {r4 - sl, fp, sp, lr} /* Save register state */ add r4, r1, #VCPU_arch_saved_context ldmia r4, {r4 - sl, fp, sp, pc} /* Load registers and return */ +END(__context_switch) /* * Local variables: From patchwork Tue Oct 1 15:17:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13818272 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 006E0CEACD5 for ; Tue, 1 Oct 2024 15:28:43 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.808287.1220176 (Exim 4.92) (envelope-from ) id 1svenj-0004uw-7j; Tue, 01 Oct 2024 15:28:35 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 808287.1220176; Tue, 01 Oct 2024 15:28:35 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1svenj-0004up-4j; Tue, 01 Oct 2024 15:28:35 +0000 Received: by outflank-mailman (input) for mailman id 808287; Tue, 01 Oct 2024 15:28:33 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sved6-0006cV-1a for xen-devel@lists.xenproject.org; Tue, 01 Oct 2024 15:17:36 +0000 Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [2a00:1450:4864:20::631]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 49877fcf-8008-11ef-a0ba-8be0dac302b0; Tue, 01 Oct 2024 17:17:35 +0200 (CEST) Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-a8d3cde1103so787445166b.2 for ; Tue, 01 Oct 2024 08:17:35 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a93d4bd51f3sm597889266b.92.2024.10.01.08.17.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Oct 2024 08:17:34 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 49877fcf-8008-11ef-a0ba-8be0dac302b0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1727795855; x=1728400655; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=Igjx5Ygf4iYuyInfSXDjG9RY29JPrQg7L1HnVgD7deI=; b=dBI7iHPNDsztPyOvK3J2YMEo87VbKPTH/HgSWexiycU0pHuqZxnJzSLZ0o+Hq1nss5 nWMfFZCSkfYzGVo2kG5NvTHUwS9NTL+NYAyW9ledGh0c8AdA42lndZIZfmM2pEME+E4r shpWbvfJVQqYmhaWDrGm9w2/NpvlnW2TU2befRhoK1RyX8WGlqTCw9UvIJvD7VJEfKZs d9SyRCzVVjy999nkyWFwQNoiW1nTRtKLXdwi39ZiVPusdTn+ui6tcIOom6xb6zpzlWeT 0IWEMpHpW+jJXmne08teCyJqm6bCDStJHEDmD8cP1vam8Smz4INStmPOGg/fePhUFf9D oEzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727795855; x=1728400655; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Igjx5Ygf4iYuyInfSXDjG9RY29JPrQg7L1HnVgD7deI=; b=v6/sksA1KB9ZotLe9fVmS22VIJ4uTNW/cQ2LhK3scJbnyPVAt6DdbSL8RzFjYBQaLV uHJq6nllw9LX/59XeaYQWUCX0WnkbAV4JqV+RW4JgXmI9nn7jVBTLfudUZ2QbmzvExxS hoaFNJTwVUxe3U9TUoT5MaNGtq9bYMPj88pwxBgt6o12EFS88tQA3SfZ5uU7Vt/cdk/g hj/rLDJt+cce5Sl8WZFXoFz4zy1NcHCcpqJcDmNUkxDffBV40IRQML7luLuwNyXCw2qD AtG4DuMVlaPM2Q7DnEJLmx6k1qODjJOgi6XX8HTql18HvBBloHCjPd8dePsQAsW299FU Rpvw== X-Gm-Message-State: AOJu0YzyyiqaoE9dHMEapXshL7AFcCoMD5WS9W8qHFlzClwNvjQJOI1m mK5JR6IxXs/ktH9c48+o+3a0dI+y+jRCj5ULJGFkAegrLfek7bVCEdVWPca7yn9gkpxp4Cvj0y0 = X-Google-Smtp-Source: AGHT+IHUFohKlSuI+zxUu88VfpkhFnhONkrYvQLcLjxd1JMRQR50w3ULY7OkI2Th4nvtVFFNC2377w== X-Received: by 2002:a17:907:9349:b0:a7a:3928:3529 with SMTP id a640c23a62f3a-a93c48e80b2mr1975647566b.13.1727795854922; Tue, 01 Oct 2024 08:17:34 -0700 (PDT) Message-ID: <01eb936e-71f4-43b3-b753-5b8a6ecf5d66@suse.com> Date: Tue, 1 Oct 2024 17:17:34 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v7 10/11] Arm32: use new-style entry annotations in head.S From: Jan Beulich To: "xen-devel@lists.xenproject.org" References: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Content-Language: en-US Cc: Julien Grall , Stefano Stabellini , Volodymyr Babchuk , Bertrand Marquis , Michal Orzel Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Locally override SYM_PUSH_SECTION() to retain the intended section association. Signed-off-by: Jan Beulich --- v7: New. --- a/xen/arch/arm/arm32/head.S +++ b/xen/arch/arm/arm32/head.S @@ -48,13 +48,20 @@ .section .text.header, "ax", %progbits .arm +/* + * Code below wants to all live in the section established above. Annotations + * from xen/linkage.h therefore may not switch sections (honoring + * CONFIG_CC_SPLIT_SECTIONS). Override the respective macro. + */ +#undef SYM_PUSH_SECTION +#define SYM_PUSH_SECTION(name, attr) /* * This must be the very first address in the loaded image. * It should be linked at XEN_VIRT_START, and loaded at any * 4K-aligned address. */ -GLOBAL(start) +FUNC(start) /* * zImage magic header, see: * http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html#d0e309 @@ -104,9 +111,9 @@ primary_switched: mov r0, r8 /* r0 := paddr(FDT) */ mov_w r1, start_xen b launch -ENDPROC(start) +END(start) -GLOBAL(init_secondary) +FUNC(init_secondary) cpsid aif /* Disable all interrupts */ /* Find out where we are */ @@ -142,7 +149,7 @@ secondary_switched: /* Jump to C world */ mov_w r1, start_secondary b launch -ENDPROC(init_secondary) +END(init_secondary) /* * Check if the CPU supports virtualization extensions and has been booted @@ -154,7 +161,7 @@ ENDPROC(init_secondary) * * Clobbers r0 - r3 */ -check_cpu_mode: +FUNC_LOCAL(check_cpu_mode) /* Check that this CPU has Hyp mode */ mrc CP32(r0, ID_PFR1) and r0, r0, #0xf000 /* Bits 12-15 define virt extensions */ @@ -174,14 +181,14 @@ check_cpu_mode: PRINT("- Xen must be entered in NS Hyp mode -\r\n") PRINT("- Please update the bootloader -\r\n") b fail -ENDPROC(check_cpu_mode) +END(check_cpu_mode) /* * Zero BSS * * Clobbers r0 - r3 */ -zero_bss: +FUNC_LOCAL(zero_bss) PRINT("- Zero BSS -\r\n") mov_w r0, __bss_start /* r0 := vaddr(__bss_start) */ mov_w r1, __bss_end /* r1 := vaddr(__bss_end) */ @@ -192,9 +199,9 @@ zero_bss: blo 1b mov pc, lr -ENDPROC(zero_bss) +END(zero_bss) -cpu_init: +FUNC_LOCAL(cpu_init) PRINT("- Setting up control registers -\r\n") mov r5, lr /* r5 := return address */ @@ -235,7 +242,7 @@ cpu_init_done: isb mov pc, r5 /* Return address is in r5 */ -ENDPROC(cpu_init) +END(cpu_init) /* * Setup the initial stack and jump to the C world @@ -246,7 +253,7 @@ ENDPROC(cpu_init) * * Clobbers r3 */ -launch: +FUNC_LOCAL(launch) mov_w r3, init_data add r3, #INITINFO_stack /* Find the boot-time stack */ ldr sp, [r3] @@ -255,13 +262,14 @@ launch: /* Jump to C world */ bx r1 -ENDPROC(launch) +END(launch) /* Fail-stop */ -fail: PRINT("- Boot failed -\r\n") +FUNC_LOCAL(fail) + PRINT("- Boot failed -\r\n") 1: wfe b 1b -ENDPROC(fail) +END(fail) #ifdef CONFIG_EARLY_PRINTK /* @@ -272,14 +280,14 @@ ENDPROC(fail) * * Clobbers r0 - r3 */ -init_uart: +FUNC_LOCAL(init_uart) mov_w r11, CONFIG_EARLY_UART_BASE_ADDRESS #ifdef CONFIG_EARLY_UART_INIT early_uart_init r11, r1, r2 #endif PRINT("- UART enabled -\r\n") mov pc, lr -ENDPROC(init_uart) +END(init_uart) /* * Print early debug messages. @@ -288,14 +296,14 @@ ENDPROC(init_uart) * r11: Early UART base address * Clobbers r0-r1 */ -ENTRY(asm_puts) +FUNC(asm_puts) early_uart_ready r11, r1 ldrb r1, [r0], #1 /* Load next char */ teq r1, #0 /* Exit on nul */ moveq pc, lr early_uart_transmit r11, r1 b asm_puts -ENDPROC(asm_puts) +END(asm_puts) /* * Print a 32-bit number in hex. @@ -304,7 +312,7 @@ ENDPROC(asm_puts) * r11: Early UART base address * Clobbers r0-r3 */ -ENTRY(asm_putn) +FUNC(asm_putn) adr_l r1, hex mov r3, #8 1: @@ -316,18 +324,19 @@ ENTRY(asm_putn) subs r3, r3, #1 bne 1b mov pc, lr -ENDPROC(asm_putn) +END(asm_putn) RODATA_SECT(.rodata.idmap, hex, "0123456789abcdef") #endif /* CONFIG_EARLY_PRINTK */ /* This provides a C-API version of __lookup_processor_type */ -ENTRY(lookup_processor_type) +FUNC(lookup_processor_type) stmfd sp!, {r4, lr} bl __lookup_processor_type mov r0, r1 ldmfd sp!, {r4, pc} +END(lookup_processor_type) /* * Read processor ID register (CP#15, CR0), and Look up in the linker-built @@ -338,7 +347,7 @@ ENTRY(lookup_processor_type) * r1: proc_info pointer * Clobbers r2-r4 */ -__lookup_processor_type: +FUNC_LOCAL(__lookup_processor_type) mrc CP32(r0, MIDR) /* r0 := our cpu id */ adr_l r1, __proc_info_start adr_l r2, __proc_info_end @@ -354,7 +363,7 @@ __lookup_processor_type: mov r1, #0 2: mov pc, lr -ENDPROC(__lookup_processor_type) +END(__lookup_processor_type) /* * Local variables: From patchwork Tue Oct 1 15:18:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13818263 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 79D19CEACD5 for ; Tue, 1 Oct 2024 15:18:19 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.808254.1220141 (Exim 4.92) (envelope-from ) id 1svedb-0001DA-PK; Tue, 01 Oct 2024 15:18:07 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 808254.1220141; Tue, 01 Oct 2024 15:18:07 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1svedb-0001D3-Mh; Tue, 01 Oct 2024 15:18:07 +0000 Received: by outflank-mailman (input) for mailman id 808254; Tue, 01 Oct 2024 15:18:06 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sveda-0001Ce-QN for xen-devel@lists.xenproject.org; Tue, 01 Oct 2024 15:18:06 +0000 Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [2a00:1450:4864:20::52d]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 5bb4648a-8008-11ef-a0ba-8be0dac302b0; Tue, 01 Oct 2024 17:18:06 +0200 (CEST) Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-5c8952f7f95so3115911a12.0 for ; Tue, 01 Oct 2024 08:18:05 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5c8ad571a92sm928966a12.51.2024.10.01.08.18.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Oct 2024 08:18:04 -0700 (PDT) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 5bb4648a-8008-11ef-a0ba-8be0dac302b0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1727795885; x=1728400685; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=e60l8OM3J3mEWjrRG/wj+VAi+SfyVlJ4UmMEasaEyyg=; b=dePLSNEsS96r8zqVwiEy9Rx7nPpg8B0vg/W94O+vRHWxOdjHzKIG47C9P+PnZA1VnE V1OBoKM9wET0Cu4TAL9yaHS8vUcDNP/GE+fU8rP+g9AhsGZskQK2sViCcDsZ1UizejTo 8lQYyhCrWYvk0jxhuYTQwlNGzfIcUMMDyVMFaBJB+4lh6TSE+xYWXIylI4PVv5B7+YyS 0J2atldS8P+2CsmRWIUkaHXcU5EVTJOyR+qI7WESoxUDedRCjHVtKvgu+/VCnJvE2FuD elPKgoSJ+SagmT4ch3Hbz6Xg9fhKspG6yQaPwzfnn4MWSjZfbMeuonEzm/r4G9Pivyb3 BFtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727795885; x=1728400685; h=content-transfer-encoding:in-reply-to:autocrypt:cc:content-language :references:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=e60l8OM3J3mEWjrRG/wj+VAi+SfyVlJ4UmMEasaEyyg=; b=gcTfwjw51HTMVOLbwg6Jb1/cuMNNm+QW1/OkfBzAuXzbrxt6lmEH5fAeHjiETSj06v dFd/3fXhwYcvbk7B9cleR3g6cVs1D8FShXhjqhD2SaaJM/X4uGBu4+3TCQtMEj4ipdHG c738vnTWmMoBSqjv+ibuFEVRa4Puj1Js/Da2VKZGSl2AsQIa+3wBq5xfQwRfeQH8nug7 IBOHdH8ksGIrthgT84BMmwm4jbmIvIu5IkOfTw8sYyDbaHYwR4osB3AEktFNgH4TTgVx Qs/Xg2F/3odnLvI2Wr55TBoGl/FzedyQUyaNTFRmXsFsAnGgajTVm8oS330V6AOOXrrS ZePw== X-Gm-Message-State: AOJu0YzYxkciiLho7Jjtu/1h4R9X0tnz2YfYLCqfcn3Ow3cXm0/Vbd/S FlDwKY82h7ThL05CBOxg7OuQb9/wye/c7EzHtAR4jgeRvHWbzwUTg7Goy4QdIuWgkd1RUQanN4A = X-Google-Smtp-Source: AGHT+IGTJBIaSZgiJPEF9LAypFy2KxDlEDBhqAZMPtPgmQ0OlaNYU5UV30P3VinNj93wIdCp46NojQ== X-Received: by 2002:a05:6402:1e92:b0:5c8:9861:a2aa with SMTP id 4fb4d7f45d1cf-5c89861a5c0mr4560235a12.21.1727795885361; Tue, 01 Oct 2024 08:18:05 -0700 (PDT) Message-ID: <07da5e97-42f6-49cc-8309-5ea64e2d3567@suse.com> Date: Tue, 1 Oct 2024 17:18:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v7 11/11] Arm: purge ENTRY(), ENDPROC(), and ALIGN From: Jan Beulich To: "xen-devel@lists.xenproject.org" References: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> Content-Language: en-US Cc: Julien Grall , Stefano Stabellini , Volodymyr Babchuk , Bertrand Marquis , Michal Orzel Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <98590a41-cee7-4ba3-a723-4e3ee3b55357@suse.com> They're no longer used. This also makes it unnecessary to #undef two of them in the linker script. Signed-off-by: Jan Beulich --- v7: New. --- a/xen/arch/arm/include/asm/config.h +++ b/xen/arch/arm/include/asm/config.h @@ -53,17 +53,9 @@ /* Linkage for ARM */ #ifdef __ASSEMBLY__ -#define ALIGN .balign CONFIG_FUNCTION_ALIGNMENT -#define ENTRY(name) \ - .globl name; \ - ALIGN; \ - name: #define GLOBAL(name) \ .globl name; \ name: -#define ENDPROC(name) \ - .type name, %function; \ - END(name) #endif #include --- a/xen/arch/arm/xen.lds.S +++ b/xen/arch/arm/xen.lds.S @@ -6,8 +6,6 @@ #include #include #include -#undef ENTRY -#undef ALIGN ENTRY(start)