From patchwork Mon Dec 11 13:16:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?SsO8cmdlbiBHcm/Dnw==?= X-Patchwork-Id: 13487206 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 8B1E5C4167B for ; Mon, 11 Dec 2023 13:16:35 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.651785.1017615 (Exim 4.92) (envelope-from ) id 1rCg95-0005eB-WE; Mon, 11 Dec 2023 13:16:28 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 651785.1017615; Mon, 11 Dec 2023 13:16:27 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rCg95-0005e4-TX; Mon, 11 Dec 2023 13:16:27 +0000 Received: by outflank-mailman (input) for mailman id 651785; Mon, 11 Dec 2023 13:16:26 +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 1rCg94-0005MG-R0 for xen-devel@lists.xenproject.org; Mon, 11 Dec 2023 13:16:26 +0000 Received: from smtp-out2.suse.de (smtp-out2.suse.de [2a07:de40:b251:101:10:150:64:2]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 7c2cf8f7-9827-11ee-9b0f-b553b5be7939; Mon, 11 Dec 2023 14:16:25 +0100 (CET) Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id B425C1FB92; Mon, 11 Dec 2023 13:16:24 +0000 (UTC) Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 795FC134B0; Mon, 11 Dec 2023 13:16:24 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap2.dmz-prg2.suse.org with ESMTPSA id n1BaHKgLd2XEUgAAn2gu4w (envelope-from ); Mon, 11 Dec 2023 13:16:24 +0000 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: 7c2cf8f7-9827-11ee-9b0f-b553b5be7939 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1702300584; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SgbXdYtzORxNSYsY9wikbAOanF5hYSOrLFRs1h5WPMc=; b=FqUpU3knHx6djprnV03piggikbpTI4HAh19/UxmXoSnlaDyy3pj/V0UVX3ivmL/VdAbfhG hYX0Q7omJZlRAd1mVDHmP0EUMamtCZ1TPcZxXZPBEddv2a+u4M/UmS+tME/AEI9dHt8J1M y2zoG9ak7Nygr0Pr9lcS/43z6TlSHwk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1702300584; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SgbXdYtzORxNSYsY9wikbAOanF5hYSOrLFRs1h5WPMc=; b=FqUpU3knHx6djprnV03piggikbpTI4HAh19/UxmXoSnlaDyy3pj/V0UVX3ivmL/VdAbfhG hYX0Q7omJZlRAd1mVDHmP0EUMamtCZ1TPcZxXZPBEddv2a+u4M/UmS+tME/AEI9dHt8J1M y2zoG9ak7Nygr0Pr9lcS/43z6TlSHwk= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Stefano Stabellini , Julien Grall , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk , Julien Grall Subject: [PATCH v3 1/3] xen/arm: set -mno-unaligned-access compiler option for Arm32 Date: Mon, 11 Dec 2023 14:16:14 +0100 Message-Id: <20231211131616.1839-2-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20231211131616.1839-1-jgross@suse.com> References: <20231211131616.1839-1-jgross@suse.com> MIME-Version: 1.0 Authentication-Results: smtp-out2.suse.de; none X-Spamd-Result: default: False [-0.30 / 50.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_MISSING_CHARSET(2.50)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; REPLY(-4.00)[]; BROKEN_CONTENT_TYPE(1.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; RCVD_COUNT_THREE(0.00)[3]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-0.20)[-1.000]; RCPT_COUNT_SEVEN(0.00)[8]; MID_CONTAINS_FROM(1.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email]; FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_ALL(0.00)[] As the hypervisor is disabling unaligned accesses for Arm32, set the -mno-unaligned-access compiler option for building. This will prohibit unaligned accesses when e.g. accessing 2- or 4-byte data items in packed data structures. Backport: 4.15+ Signed-off-by: Juergen Gross Acked-by: Julien Grall --- V2: - new patch --- xen/arch/arm/arch.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/xen/arch/arm/arch.mk b/xen/arch/arm/arch.mk index 58db76c4e1..022dcda192 100644 --- a/xen/arch/arm/arch.mk +++ b/xen/arch/arm/arch.mk @@ -7,6 +7,7 @@ $(call cc-option-add,CFLAGS,CC,-Wnested-externs) # Prevent floating-point variables from creeping into Xen. CFLAGS-$(CONFIG_ARM_32) += -msoft-float CFLAGS-$(CONFIG_ARM_32) += -mcpu=cortex-a15 +CFLAGS-$(CONFIG_ARM_32) += -mno-unaligned-access CFLAGS-$(CONFIG_ARM_64) += -mcpu=generic CFLAGS-$(CONFIG_ARM_64) += -mgeneral-regs-only # No fp registers etc From patchwork Mon Dec 11 13:16:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?SsO8cmdlbiBHcm/Dnw==?= X-Patchwork-Id: 13487207 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 E1C95C4167B for ; Mon, 11 Dec 2023 13:16:41 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.651786.1017625 (Exim 4.92) (envelope-from ) id 1rCg9B-0005xP-8y; Mon, 11 Dec 2023 13:16:33 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 651786.1017625; Mon, 11 Dec 2023 13:16:33 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rCg9B-0005xI-59; Mon, 11 Dec 2023 13:16:33 +0000 Received: by outflank-mailman (input) for mailman id 651786; Mon, 11 Dec 2023 13:16: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 1rCg99-0005vq-RO for xen-devel@lists.xenproject.org; Mon, 11 Dec 2023 13:16:31 +0000 Received: from smtp-out1.suse.de (smtp-out1.suse.de [2a07:de40:b251:101:10:150:64:1]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 7f8548d9-9827-11ee-98e8-6d05b1d4d9a1; Mon, 11 Dec 2023 14:16:30 +0100 (CET) Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 531D4223CE; Mon, 11 Dec 2023 13:16:30 +0000 (UTC) Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 14DE5134B0; Mon, 11 Dec 2023 13:16:30 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap2.dmz-prg2.suse.org with ESMTPSA id OM/RA64Ld2XMUgAAn2gu4w (envelope-from ); Mon, 11 Dec 2023 13:16:30 +0000 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: 7f8548d9-9827-11ee-98e8-6d05b1d4d9a1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1702300590; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HcRuni7yfSoZg5Lwx25GUDWH7ewqyMT8SLWLauip6Wo=; b=uJKrHbD0SDRzdM/CkOOSccwKIRhu9iF0eINhYWuYNXPcCGPVC4I6EEoTzElmZFHRUMu4vc IGnbcG7SYuT2/8MSeXm5CIV7nXOKmb1k/kNuah5uJ6g7z5pNMuSNmRvdEr/yLtaaisVapS FjC9uQtPCM4dbx23Vkbp9Vv8CCv4/og= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1702300590; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HcRuni7yfSoZg5Lwx25GUDWH7ewqyMT8SLWLauip6Wo=; b=uJKrHbD0SDRzdM/CkOOSccwKIRhu9iF0eINhYWuYNXPcCGPVC4I6EEoTzElmZFHRUMu4vc IGnbcG7SYuT2/8MSeXm5CIV7nXOKmb1k/kNuah5uJ6g7z5pNMuSNmRvdEr/yLtaaisVapS FjC9uQtPCM4dbx23Vkbp9Vv8CCv4/og= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Andrew Cooper , George Dunlap , Jan Beulich , Julien Grall , Stefano Stabellini , Wei Liu , Arnd Bergmann Subject: [PATCH v3 2/3] xen: make include/xen/unaligned.h usable on all architectures Date: Mon, 11 Dec 2023 14:16:15 +0100 Message-Id: <20231211131616.1839-3-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20231211131616.1839-1-jgross@suse.com> References: <20231211131616.1839-1-jgross@suse.com> MIME-Version: 1.0 Authentication-Results: smtp-out1.suse.de; none X-Spamd-Result: default: False [-3.30 / 50.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_MISSING_CHARSET(2.50)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; REPLY(-4.00)[]; BROKEN_CONTENT_TYPE(1.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; RCVD_COUNT_THREE(0.00)[3]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-0.20)[-1.000]; RCPT_COUNT_SEVEN(0.00)[9]; MID_CONTAINS_FROM(1.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email]; FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_ALL(0.00)[]; BAYES_HAM(-3.00)[100.00%] Instead of defining get_unaligned() and put_unaligned() in a way that is only supporting architectures allowing unaligned accesses, use the same approach as the Linux kernel and let the compiler do the decision how to generate the code for probably unaligned data accesses. Update include/xen/unaligned.h from include/asm-generic/unaligned.h of the Linux kernel. The generated code has been checked to be the same on x86. Modify the Linux variant to not use underscore prefixed identifiers, avoid unneeded parentheses and drop the 24-bit accessors. Signed-off-by: Arnd Bergmann Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 803f4e1eab7a Signed-off-by: Juergen Gross Acked-by: Jan Beulich --- V2: - drop 24-bit accessors (Jan Beulich) - avoid underscore prefixed identifiers (Jan Beulich) - drop unneeded parentheses (Jan Beulich) V3: - drop trailing underscores in names (Andrew Cooper) - keep existing function sequence and types (Andrew Cooper) --- xen/include/xen/unaligned.h | 53 +++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/xen/include/xen/unaligned.h b/xen/include/xen/unaligned.h index 0a2b16d05d..3eda0ece11 100644 --- a/xen/include/xen/unaligned.h +++ b/xen/include/xen/unaligned.h @@ -1,12 +1,4 @@ -/* - * This header can be used by architectures where unaligned accesses work - * without faulting, and at least reasonably efficiently. Other architectures - * will need to have a custom asm/unaligned.h. - */ -#ifndef __ASM_UNALIGNED_H__ -#error "xen/unaligned.h should not be included directly - include asm/unaligned.h instead" -#endif - +/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __XEN_UNALIGNED_H__ #define __XEN_UNALIGNED_H__ @@ -15,67 +7,82 @@ #include #endif -#define get_unaligned(p) (*(p)) -#define put_unaligned(val, p) (*(p) = (val)) +/* + * This is the most generic implementation of unaligned accesses + * and should work almost anywhere. + */ + +#define get_unaligned_t(type, ptr) ({ \ + const struct { type x; } __packed *ptr_ = (typeof(ptr_))(ptr); \ + ptr_->x; \ +}) + +#define put_unaligned_t(type, val, ptr) do { \ + struct { type x; } __packed *ptr_ = (typeof(ptr_))(ptr); \ + ptr_->x = val; \ +} while (0) + +#define get_unaligned(ptr) get_unaligned_t(typeof(*(ptr)), ptr) +#define put_unaligned(val, ptr) put_unaligned_t(typeof(*(ptr)), val, ptr) static inline uint16_t get_unaligned_be16(const void *p) { - return be16_to_cpup(p); + return be16_to_cpu(get_unaligned_t(__be16, p)); } static inline void put_unaligned_be16(uint16_t val, void *p) { - *(__force __be16*)p = cpu_to_be16(val); + put_unaligned_t(__be16, cpu_to_be16(val), p); } static inline uint32_t get_unaligned_be32(const void *p) { - return be32_to_cpup(p); + return be32_to_cpu(get_unaligned_t(__be32, p)); } static inline void put_unaligned_be32(uint32_t val, void *p) { - *(__force __be32*)p = cpu_to_be32(val); + put_unaligned_t(__be32, cpu_to_be32(val), p); } static inline uint64_t get_unaligned_be64(const void *p) { - return be64_to_cpup(p); + return be64_to_cpu(get_unaligned_t(__be64, p)); } static inline void put_unaligned_be64(uint64_t val, void *p) { - *(__force __be64*)p = cpu_to_be64(val); + put_unaligned_t(__be64, cpu_to_be64(val), p); } static inline uint16_t get_unaligned_le16(const void *p) { - return le16_to_cpup(p); + return le16_to_cpu(get_unaligned_t(__le16, p)); } static inline void put_unaligned_le16(uint16_t val, void *p) { - *(__force __le16*)p = cpu_to_le16(val); + put_unaligned_t(__le16, cpu_to_le16(val), p); } static inline uint32_t get_unaligned_le32(const void *p) { - return le32_to_cpup(p); + return le32_to_cpu(get_unaligned_t(__le32, p)); } static inline void put_unaligned_le32(uint32_t val, void *p) { - *(__force __le32*)p = cpu_to_le32(val); + put_unaligned_t(__le32, cpu_to_le32(val), p); } static inline uint64_t get_unaligned_le64(const void *p) { - return le64_to_cpup(p); + return le64_to_cpu(get_unaligned_t(__le64, p)); } static inline void put_unaligned_le64(uint64_t val, void *p) { - *(__force __le64*)p = cpu_to_le64(val); + put_unaligned_t(__le64, cpu_to_le64(val), p); } #endif /* __XEN_UNALIGNED_H__ */ From patchwork Mon Dec 11 13:16:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?SsO8cmdlbiBHcm/Dnw==?= X-Patchwork-Id: 13487208 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 5E7C3C4167B for ; Mon, 11 Dec 2023 13:16:49 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.651787.1017635 (Exim 4.92) (envelope-from ) id 1rCg9H-0006Jc-Gw; Mon, 11 Dec 2023 13:16:39 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 651787.1017635; Mon, 11 Dec 2023 13:16:39 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rCg9H-0006JO-Dc; Mon, 11 Dec 2023 13:16:39 +0000 Received: by outflank-mailman (input) for mailman id 651787; Mon, 11 Dec 2023 13:16:38 +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 1rCg9G-0005MG-6y for xen-devel@lists.xenproject.org; Mon, 11 Dec 2023 13:16:38 +0000 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 82e8c21a-9827-11ee-9b0f-b553b5be7939; Mon, 11 Dec 2023 14:16:36 +0100 (CET) Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id EC187223CE; Mon, 11 Dec 2023 13:16:35 +0000 (UTC) Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id ABCFD134B0; Mon, 11 Dec 2023 13:16:35 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap2.dmz-prg2.suse.org with ESMTPSA id N0eqKLMLd2XVUgAAn2gu4w (envelope-from ); Mon, 11 Dec 2023 13:16:35 +0000 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: 82e8c21a-9827-11ee-9b0f-b553b5be7939 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1702300596; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nBJS0i1q7hgxVXtg1Vp5RKK5sLWDTbrts9y24YukrYE=; b=UCYFiMm079+1G7FL4ka0wvGa9QNp7mkzQX6c1NeFx69eMT/Kws7xBcEMjKnAi1BXfve8kf zShqCZDLnnTZGRvdY668UVArxIRz127/YKRYD+n3d1o0gR9LRN4cz8zWCMEtIiUn+Vz8uD benrFxES1KI0W1gzERtQ/khJhDOxDsc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1702300595; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nBJS0i1q7hgxVXtg1Vp5RKK5sLWDTbrts9y24YukrYE=; b=u2M7SjEX9DgZcRqpryNoboEC90tqjvmh3O5dva/pALuzOBAKfyxo4BHKMGbH1HM/keYKBU ZEQxDTffZM0ne1BJEmM1s814qiVH9wU/Aqm85xQN+l5Jv8txfSyOo+IY/OkZuwNDcR0KMO UELHxgfa5Xq15dj+hYpxYRkUYIzazvs= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Jan Beulich , Andrew Cooper , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Wei Liu , George Dunlap , Julien Grall , Stefano Stabellini Subject: [PATCH v3 3/3] xen: remove asm/unaligned.h Date: Mon, 11 Dec 2023 14:16:16 +0100 Message-Id: <20231211131616.1839-4-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20231211131616.1839-1-jgross@suse.com> References: <20231211131616.1839-1-jgross@suse.com> MIME-Version: 1.0 Authentication-Results: smtp-out1.suse.de; none X-Spamd-Result: default: False [-3.30 / 50.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_MISSING_CHARSET(2.50)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; REPLY(-4.00)[]; BROKEN_CONTENT_TYPE(1.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; RCVD_COUNT_THREE(0.00)[3]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-0.20)[-1.000]; RCPT_COUNT_SEVEN(0.00)[9]; MID_CONTAINS_FROM(1.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email]; FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_ALL(0.00)[]; BAYES_HAM(-3.00)[100.00%] With include/xen/unaligned.h now dealing properly with unaligned accesses for all architectures, asm/unaligned.h can be removed and users can be switched to include xen/unaligned.h instead. Signed-off-by: Juergen Gross Reviewed-by: Jan Beulich --- xen/arch/x86/include/asm/unaligned.h | 6 ------ xen/common/lz4/defs.h | 2 +- xen/common/lzo.c | 2 +- xen/common/unlzo.c | 2 +- xen/common/xz/private.h | 2 +- xen/common/zstd/mem.h | 2 +- xen/lib/xxhash32.c | 2 +- xen/lib/xxhash64.c | 2 +- 8 files changed, 7 insertions(+), 13 deletions(-) delete mode 100644 xen/arch/x86/include/asm/unaligned.h diff --git a/xen/arch/x86/include/asm/unaligned.h b/xen/arch/x86/include/asm/unaligned.h deleted file mode 100644 index 6070801d4a..0000000000 --- a/xen/arch/x86/include/asm/unaligned.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef __ASM_UNALIGNED_H__ -#define __ASM_UNALIGNED_H__ - -#include - -#endif /* __ASM_UNALIGNED_H__ */ diff --git a/xen/common/lz4/defs.h b/xen/common/lz4/defs.h index 10609f5a53..6d81113266 100644 --- a/xen/common/lz4/defs.h +++ b/xen/common/lz4/defs.h @@ -10,7 +10,7 @@ #ifdef __XEN__ #include -#include +#include #else static inline u16 get_unaligned_le16(const void *p) diff --git a/xen/common/lzo.c b/xen/common/lzo.c index a87c76dded..cc03f0f554 100644 --- a/xen/common/lzo.c +++ b/xen/common/lzo.c @@ -97,7 +97,7 @@ #ifdef __XEN__ #include #include -#include +#include #else #define get_unaligned_le16(_p) (*(u16 *)(_p)) #endif diff --git a/xen/common/unlzo.c b/xen/common/unlzo.c index 74056778eb..bdcefa95b3 100644 --- a/xen/common/unlzo.c +++ b/xen/common/unlzo.c @@ -34,7 +34,7 @@ #ifdef __XEN__ #include -#include +#include #else static inline u16 get_unaligned_be16(const void *p) diff --git a/xen/common/xz/private.h b/xen/common/xz/private.h index e6814250e8..2299705378 100644 --- a/xen/common/xz/private.h +++ b/xen/common/xz/private.h @@ -13,7 +13,7 @@ #ifdef __XEN__ #include #include -#include +#include #else static inline u32 get_unaligned_le32(const void *p) diff --git a/xen/common/zstd/mem.h b/xen/common/zstd/mem.h index 2acae6a8ed..ae1e305126 100644 --- a/xen/common/zstd/mem.h +++ b/xen/common/zstd/mem.h @@ -23,7 +23,7 @@ #ifdef __XEN__ #include /* memcpy */ #include /* size_t, ptrdiff_t */ -#include +#include #endif /*-**************************************** diff --git a/xen/lib/xxhash32.c b/xen/lib/xxhash32.c index e8d403e5ce..32efa651c5 100644 --- a/xen/lib/xxhash32.c +++ b/xen/lib/xxhash32.c @@ -42,7 +42,7 @@ #include #include #include -#include +#include /*-************************************* * Macros diff --git a/xen/lib/xxhash64.c b/xen/lib/xxhash64.c index 481e76fbcf..1858e236fe 100644 --- a/xen/lib/xxhash64.c +++ b/xen/lib/xxhash64.c @@ -43,7 +43,7 @@ #include #include #include -#include +#include #endif /*-*************************************