From patchwork Thu Apr 17 13:09:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 881852 Delivered-To: patch@linaro.org Received: by 2002:a5d:474d:0:b0:38f:210b:807b with SMTP id o13csp306372wrs; Thu, 17 Apr 2025 06:11:06 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUNJe+ubDVd+Z6CoGoanh6YQ4HZusgzuXe8OrGnVOlNO1KBNj+qjAuu3l6xHd58FT7F60YpWw==@linaro.org X-Google-Smtp-Source: AGHT+IEkrVpe+nLM4UQf34S05LlZnQC5kvHDv3sdvsM+qkKC/mrJys/LWKwUPQXET/kQXEtDNg0S X-Received: by 2002:a05:6214:124f:b0:6e8:f568:22e8 with SMTP id 6a1803df08f44-6f2b2f2ffadmr84455096d6.15.1744895466688; Thu, 17 Apr 2025 06:11:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1744895466; cv=none; d=google.com; s=arc-20240605; b=ChzHnWDdvhlp68Zr0JCTZv3Xy/LBRAZZBykMYvq7ELQA7nAaYKUAiNBAXZJu/EY0ul 2Ia3yzXCn7HJKlqvrXjkkAR7czj6namoZ1WJzF75+AgV2cK2ycq/8YGCuYOEalBDxdoy VPae3n+vI6GZqsP0NUqkQTDbWQPcLMePrEdmVsVqdlzHKrHg0TbaXPjwq2sXhjzt63fD cOIIuBSYivqAGGdUnvxG71xya4GEVuPpA0jUV/m/ZTMc5Iss5OXpqkeonFOrQVqQ7lqY f8ys490uqzV2wgSEzbUBhIogQWX0H+EkltMHopsUqIly/fi91gJ2XzAe3ls1PdKvpesQ flqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=3LSiEResFhtBUnjPfL11WGVWKJwbPc3LTYNgceKSoZ8=; fh=ZXDWg7hKG7Hj19AbRuutTLw+Zvn/B9RsGUUw/YagpFI=; b=W8+HkAnwr0R5Ly54mzwmUxXrpnngfrZ1fezMMqoPggvWWw43hXju8evO4FZWFNGevQ 2KMj+b1jb2rDHlvtJ+vQkZbJX6/Xd0/+LqFRzXokIXYRqldCDC+36uybzQWVq0HlfvWI Mvl6ctf/bMaE301lA6kx4ZWA6/8ls85jOhA02Nc3SKr0tt+wA95DzD7UkS1w6Enhr1Kc a7u7779IR79/e1yhSl/1vvFnAPbHGbXHF20whohdB2b//qt6FGD1CYxI1wB2YMwc9vYx NN0X++HRIEPOzAYL1Tq/Uqb9PV6oLtShRIr7ONL1NhwwK0la122f5PWYSAgleKBwH8TO sUJg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="mwrBI/cN"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c7a8a41946si1500750585a.625.2025.04.17.06.11.06 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 17 Apr 2025 06:11:06 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="mwrBI/cN"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u5P0j-0005Xs-Jo; Thu, 17 Apr 2025 09:10:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5P0U-0005Pp-Kb for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:20 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u5P0R-0007rr-Ea for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:18 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-391342fc0b5so625230f8f.3 for ; Thu, 17 Apr 2025 06:10:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1744895411; x=1745500211; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3LSiEResFhtBUnjPfL11WGVWKJwbPc3LTYNgceKSoZ8=; b=mwrBI/cN7MVV7Z8nK/fKEWDEmZjNED0OTZ/MMqNrfKmeO9Rnm6+1w/7MAFIXC7hFqs Fm4ZVTkO/l04gVWQ9LXHtMczo55IeUDn+5aIi1gVNNK/FX3uX8xBL7sLKCYy20OFdMzE psUHtW0m2QWpgDwHacRVmoZT2PllQ7k4Q70pqxySJzT/uua/OztyxxDGRTdvM9pT5WC9 7qk8i7dQrUVIH/mLRXcNeJZRnHYqNtnPhKTnd5i+BTYtMHnb8p+/Xei82PYT1oh4SAUw 4MrwdIytzqGWbnOe1LkdlLylrzFs7Ol1cAUT4zGKuHsvLJS4i/Kd0ZxfuurxdTHlKODR at8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744895411; x=1745500211; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3LSiEResFhtBUnjPfL11WGVWKJwbPc3LTYNgceKSoZ8=; b=V+TP96WBRACY/zUl8EiXMC2cBbBtXcIM5IYA32dfwZHEGk+sY/M8egheSGlNbFKXte WJekHjzO8bd3zelT1z405iJVdC0bWMOlYLmEsr2TZel4D+ufJrMHmog1hZkkdCZUZIWT qWE/mNEM6oVFGrYkPTRPfsMw37Ja3P23oBKTohUgIQhO7HIzh4PhLquaBcv+zyw1eKoZ pEu4uSI5krEP/BCq/oW+e/p0B57AShqjBOhVWagYyiMbe77NjOhSvk83nyZH3qiaPExI rS8qaaokHV38Oio+eCZqqGiZfx+9tqRADk9Sk8n7LQJ9lpwsZRTfXF04uEUKOa2LBKhU A2ug== X-Gm-Message-State: AOJu0YwXdd4uZEc4eOTmStEKn3iSdg6WFxXKtMotOxbXYsf1sLRcMW4U IKplj19DSSwqlgjQrjf61AF5s1iopyyBFO1+T8pJm4hcE5mwcr1m2PqyWmFszXkNnQ/wOne7EG9 R X-Gm-Gg: ASbGncvp7GB9wF4Ka91ULNDaSL3TCIYznZE+/SYZ0foDALlfnWtsz0VoCaANHUIQKL2 3Y6mkwW+Dm20MAJpXLbfDZ/av64RbVh7IL9efkRD1G8uJeNenKT8wxzQZ6PYQv2H2vuOToivLe6 1yM9IDOaT0e1UaZXnttYM0QrAx2W2+CJOe4SGgsY+AJH8GBfIAoVaTVxXtWxpzms5z3LeTq9rnY gY0dOOaLC5pi6rVPF0z0EzqXDVXKW3ZbOJu3OrUsFMpZJKKuuSF58Bc45wIQRDeWaZxaizfdMjo BIiHM8eDA/de9wAvodbX7mFRh6DPHcwCnTb+AyFz0dgF0Vv12rmxa2HRxuqNxwRdG8+N+56wcnb Xt5/+B/ySrkg9p8E= X-Received: by 2002:a5d:64c8:0:b0:39c:16a0:feef with SMTP id ffacd0b85a97d-39ee5b98dc2mr5610586f8f.38.1744895410868; Thu, 17 Apr 2025 06:10:10 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39eaf43ce30sm20629741f8f.62.2025.04.17.06.10.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 17 Apr 2025 06:10:10 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , =?utf-8?q?Philippe_Mat?= =?utf-8?q?hieu-Daud=C3=A9?= Subject: [PATCH 1/8] linux-user/elfload: Use target_needs_bswap() Date: Thu, 17 Apr 2025 15:09:57 +0200 Message-ID: <20250417131004.47205-2-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250417131004.47205-1-philmd@linaro.org> References: <20250417131004.47205-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Check whether we need to swap at runtime using target_needs_bswap(). Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- linux-user/elfload.c | 63 +++++++++++++++++++++++++++----------------- 1 file changed, 39 insertions(+), 24 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 99811af5e7b..fbfdec2f17c 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -12,6 +12,7 @@ #include "exec/page-protection.h" #include "exec/mmap-lock.h" #include "exec/translation-block.h" +#include "exec/tswap.h" #include "user/guest-base.h" #include "user-internals.h" #include "signal-common.h" @@ -2122,9 +2123,12 @@ static inline void memcpy_fromfs(void * to, const void * from, unsigned long n) memcpy(to, from, n); } -#if HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN static void bswap_ehdr(struct elfhdr *ehdr) { + if (!target_needs_bswap()) { + return; + } + bswap16s(&ehdr->e_type); /* Object file type */ bswap16s(&ehdr->e_machine); /* Architecture */ bswap32s(&ehdr->e_version); /* Object file version */ @@ -2142,8 +2146,11 @@ static void bswap_ehdr(struct elfhdr *ehdr) static void bswap_phdr(struct elf_phdr *phdr, int phnum) { - int i; - for (i = 0; i < phnum; ++i, ++phdr) { + if (!target_needs_bswap()) { + return; + } + + for (int i = 0; i < phnum; ++i, ++phdr) { bswap32s(&phdr->p_type); /* Segment type */ bswap32s(&phdr->p_flags); /* Segment flags */ bswaptls(&phdr->p_offset); /* Segment file offset */ @@ -2157,8 +2164,11 @@ static void bswap_phdr(struct elf_phdr *phdr, int phnum) static void bswap_shdr(struct elf_shdr *shdr, int shnum) { - int i; - for (i = 0; i < shnum; ++i, ++shdr) { + if (!target_needs_bswap()) { + return; + } + + for (int i = 0; i < shnum; ++i, ++shdr) { bswap32s(&shdr->sh_name); bswap32s(&shdr->sh_type); bswaptls(&shdr->sh_flags); @@ -2174,6 +2184,10 @@ static void bswap_shdr(struct elf_shdr *shdr, int shnum) static void bswap_sym(struct elf_sym *sym) { + if (!target_needs_bswap()) { + return; + } + bswap32s(&sym->st_name); bswaptls(&sym->st_value); bswaptls(&sym->st_size); @@ -2183,6 +2197,10 @@ static void bswap_sym(struct elf_sym *sym) #ifdef TARGET_MIPS static void bswap_mips_abiflags(Mips_elf_abiflags_v0 *abiflags) { + if (!target_needs_bswap()) { + return; + } + bswap16s(&abiflags->version); bswap32s(&abiflags->ases); bswap32s(&abiflags->isa_ext); @@ -2190,15 +2208,6 @@ static void bswap_mips_abiflags(Mips_elf_abiflags_v0 *abiflags) bswap32s(&abiflags->flags2); } #endif -#else -static inline void bswap_ehdr(struct elfhdr *ehdr) { } -static inline void bswap_phdr(struct elf_phdr *phdr, int phnum) { } -static inline void bswap_shdr(struct elf_shdr *shdr, int shnum) { } -static inline void bswap_sym(struct elf_sym *sym) { } -#ifdef TARGET_MIPS -static inline void bswap_mips_abiflags(Mips_elf_abiflags_v0 *abiflags) { } -#endif -#endif #ifdef USE_ELF_CORE_DUMP static int elf_core_dump(int, const CPUArchState *); @@ -3144,11 +3153,11 @@ static bool parse_elf_properties(const ImageSource *src, * The contents of a valid PT_GNU_PROPERTY is a sequence of uint32_t. * Swap most of them now, beyond the header and namesz. */ -#if HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN - for (int i = 4; i < n / 4; i++) { - bswap32s(note.data + i); + if (target_needs_bswap()) { + for (int i = 4; i < n / 4; i++) { + bswap32s(note.data + i); + } } -#endif /* * Note that nhdr is 3 words, and that the "name" described by namesz @@ -4000,9 +4009,12 @@ struct target_elf_prpsinfo { char pr_psargs[ELF_PRARGSZ]; /* initial part of arg list */ }; -#if HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN static void bswap_prstatus(struct target_elf_prstatus *prstatus) { + if (!target_needs_bswap()) { + return; + } + prstatus->pr_info.si_signo = tswap32(prstatus->pr_info.si_signo); prstatus->pr_info.si_code = tswap32(prstatus->pr_info.si_code); prstatus->pr_info.si_errno = tswap32(prstatus->pr_info.si_errno); @@ -4020,6 +4032,10 @@ static void bswap_prstatus(struct target_elf_prstatus *prstatus) static void bswap_psinfo(struct target_elf_prpsinfo *psinfo) { + if (!target_needs_bswap()) { + return; + } + psinfo->pr_flag = tswapal(psinfo->pr_flag); psinfo->pr_uid = tswap16(psinfo->pr_uid); psinfo->pr_gid = tswap16(psinfo->pr_gid); @@ -4031,15 +4047,14 @@ static void bswap_psinfo(struct target_elf_prpsinfo *psinfo) static void bswap_note(struct elf_note *en) { + if (!target_needs_bswap()) { + return; + } + bswap32s(&en->n_namesz); bswap32s(&en->n_descsz); bswap32s(&en->n_type); } -#else -static inline void bswap_prstatus(struct target_elf_prstatus *p) { } -static inline void bswap_psinfo(struct target_elf_prpsinfo *p) {} -static inline void bswap_note(struct elf_note *en) { } -#endif /* HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN */ /* * Calculate file (dump) size of given memory region. From patchwork Thu Apr 17 13:09:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 881857 Delivered-To: patch@linaro.org Received: by 2002:a5d:474d:0:b0:38f:210b:807b with SMTP id o13csp306673wrs; Thu, 17 Apr 2025 06:11:36 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX8tFPnV33iH7XAzBoaooYq1Hvx6DVZJYJwy0Xe0Gqo/0rryy/lDlCTalphz1xs+HyYS+A5Rw==@linaro.org X-Google-Smtp-Source: AGHT+IHhu6OhLBSfbVaFCfDPSA5L+kMnZDweVfIeq26h1m/on4r/tjY615q/znjlheTZzAM7+9L8 X-Received: by 2002:a05:622a:110:b0:476:7ff5:cc27 with SMTP id d75a77b69052e-47ad81369d4mr77265621cf.51.1744895496277; Thu, 17 Apr 2025 06:11:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1744895496; cv=none; d=google.com; s=arc-20240605; b=PMowc2/xPu1njsdMzt15mOPgM01MKjLerLh3R51j3wLTxZwixYf5Xid9Va/a4H+d2N iehDRIk0xm+1scQMt5g41XEx5Z9AyDT792jb+eF1buo5D7Ads9U2PmhRkZ6ihs8AJIxJ rx3PkRNXYqXCjhzAh3nG0jHKo7XgqATnT4vjeGg4ZGyYSzfp5opTVZE0H3pyOO4B9NgV T4yw6oq+CcqWAfOcrFv/sPLZ+qUY+lqyoUcAlH5Hdcaex8WYC+szSSo6/wdQJ5G5EBEk Vq5Vsez2unzY6bdQMHeuVUun8oiUySqIjgyz8e2FJ55e2JvJ8IHtTpbXnl6UcD2MVREZ dypw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Uw5NN7Xo5UOrJyhClnps6dKALo3bScAPHLwVEEE8AFY=; fh=ZXDWg7hKG7Hj19AbRuutTLw+Zvn/B9RsGUUw/YagpFI=; b=ZobKdQ8fna76+B6XAs8fRZelimio44wVWGCWbSK6wDgfbBKWK4kEtdmTvheu6Rwqxz Cb0Qocr+eUfSxlyBcxLL5EwJC5X06sne/6vmOQ9YjUegIIFXTVMiyfQ9N+AMGp6MzvJq NGVniYGpeYCi4SiMqIhDHZJZeDQ8Eh7gAH+ge372rw5aKVhHuOVJTp5sVrTbijjTfNac ENwT2HR5s634Ee56sxGTBP5FK/P7I1jOVm03hFYI8vgt6QlJbBtLMheIgm2wpoAUKABP 3GbFBRjytHGxpl0Y9OP8R/7MjUtjz0EOFLN38grvkyxwbmqxF/WQka4fAi5QUDqeJHFU FaAw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bVN3uCWA; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-4796edbd709si163526531cf.252.2025.04.17.06.11.36 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 17 Apr 2025 06:11:36 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bVN3uCWA; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u5P0p-0005ft-2B; Thu, 17 Apr 2025 09:10:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5P0Z-0005TW-81 for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:24 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u5P0V-0007tx-ON for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:22 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-43cf848528aso5880675e9.2 for ; Thu, 17 Apr 2025 06:10:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1744895415; x=1745500215; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Uw5NN7Xo5UOrJyhClnps6dKALo3bScAPHLwVEEE8AFY=; b=bVN3uCWA6o/P4xnhLY/AI6/kxPGoRfRi3wl03rh7l1mfJ4/VW8x1qd7wjRHkL6uGWj perX4v51F6E6grVda2KgshTRE/xWQrh6KT2Fj9ymkNSnuOAWG46IaTE0NvZjTHXS0Ljt 1pCv2nkdUm+ynnCMQXQDnTtPdJIBzO+7m+6itnoDo1ltbyvihsSz0MQmhWZvM1OV+JxY VHyfAmhng0SjMTq7haMn1DznqrUOKjDJRig9MRDZVRtH6dJZJJfPfnPhEmVOimHYh/vG HaHAfNsoC4wMrOwM1R4H1PiBL0s5T7xcDcT5Gz5wl7VegLMF3fj72ONVJNtBYrmyBjRX n3gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744895415; x=1745500215; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Uw5NN7Xo5UOrJyhClnps6dKALo3bScAPHLwVEEE8AFY=; b=JWUGE99Oo9X/06iB9adg7sajrI+D7mp1FXpqNB6nsrD3YOH1NgwPyVkTGateAhn3Mo q4Yw3Qj3mMGcY431Z9AkvyP32e9+ltZrbbJUdWBaehMtr8b21hBRSbLit+qg3GLdTfwh 4T6C12Zh1J/P3zq3tb3T97XdYAJLS/MtiRTYUedXstN1fNH4ALU8hxFLv1WjKYzqv7oo f3niXeZ1lq15NzHLcziWEAbVdfJyj0FOHCf+rbBwDPeALSWhbDAPjBL+liPg4z3QrjWf mTqNDEgGhma81+yQTsx5wgyubN/xfiXQHWACm4HIZyadtIPfzaPsRw3/b7b95MMuTOOM njsg== X-Gm-Message-State: AOJu0YxqS1cLvjVx4qIvWF1caVlnN23ty8O/ZujOBy4vNj7mJLmZaGog 0BH8qe/RiZSVes6yZS52oQjr4prC1lW7ubNa+pjZuqa866tSavCanJjXncvpi25/TmlJoINlLNt X X-Gm-Gg: ASbGncuLt0AL9v2dkXk6QE6zHhDzBQ8BLnpt8sMhugV8YqhtHKU6t2jOMiObI4DzRuf BYVgNdVUxBKEWx5eUgTjyRy58lnEU1DRIa8bElH2igWJWlc14sFBnGB2/q3HpIGJTPJgFnWxsiT p0nPp6IRHJO3zBZqQNhZQrXr7ysCyzD2jiWisYkzGSvL1NqK+0ync45Bn2hpVRR68qsMNKMu34j JLkmxFbNYWTw3Qj2UpLxLq4ykwGEP/7OZAVOtuxT9fWGXenq3wgxf/27sN5TJBiZZvzNwRMa+J8 zDn9In1R83HqwgwBeHbhrFsygAPmUisbvuXcBw7W/xP+TAvuGgOTS86eOwn+X7TBCRaJK5XsPF9 ES3xV9F49TgKCJT8= X-Received: by 2002:a05:600c:4f8e:b0:43d:fa:1f9a with SMTP id 5b1f17b1804b1-4405d6cea58mr56540255e9.30.1744895415445; Thu, 17 Apr 2025 06:10:15 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4405b4d3453sm52906815e9.16.2025.04.17.06.10.14 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 17 Apr 2025 06:10:14 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , =?utf-8?q?Philippe_Mat?= =?utf-8?q?hieu-Daud=C3=A9?= Subject: [PATCH 2/8] accel/kvm: Use target_needs_bswap() Date: Thu, 17 Apr 2025 15:09:58 +0200 Message-ID: <20250417131004.47205-3-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250417131004.47205-1-philmd@linaro.org> References: <20250417131004.47205-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Check whether we need to swap at runtime using target_needs_bswap(). Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- accel/kvm/kvm-all.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 7c5d1a98bc4..28a32afb209 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -33,6 +33,7 @@ #include "system/cpus.h" #include "system/accel-blocker.h" #include "qemu/bswap.h" +#include "exec/tswap.h" #include "system/memory.h" #include "system/ram_addr.h" #include "qemu/event_notifier.h" @@ -1319,21 +1320,21 @@ bool kvm_hwpoisoned_mem(void) static uint32_t adjust_ioeventfd_endianness(uint32_t val, uint32_t size) { -#if HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN - /* The kernel expects ioeventfd values in HOST_BIG_ENDIAN - * endianness, but the memory core hands them in target endianness. - * For example, PPC is always treated as big-endian even if running - * on KVM and on PPC64LE. Correct here. - */ - switch (size) { - case 2: - val = bswap16(val); - break; - case 4: - val = bswap32(val); - break; + if (target_needs_bswap()) { + /* The kernel expects ioeventfd values in HOST_BIG_ENDIAN + * endianness, but the memory core hands them in target endianness. + * For example, PPC is always treated as big-endian even if running + * on KVM and on PPC64LE. Correct here, swapping back. + */ + switch (size) { + case 2: + val = bswap16(val); + break; + case 4: + val = bswap32(val); + break; + } } -#endif return val; } From patchwork Thu Apr 17 13:09:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 881860 Delivered-To: patch@linaro.org Received: by 2002:a5d:474d:0:b0:38f:210b:807b with SMTP id o13csp307320wrs; Thu, 17 Apr 2025 06:12:39 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX/BwJyu4UWXJ3sBT/Lyyto2Wn9SEdqIIA7XtSlzYgFHRg0wttO1o1hYJ0qr/qKJbDwmcHB5w==@linaro.org X-Google-Smtp-Source: AGHT+IGoPOUgyTFlW76u8bCHk9gfLvtDg1g0lZcAWgkVSk8kt5O0LBYNSGHFTzdVnV07A1ueWe3v X-Received: by 2002:ad4:4eaa:0:b0:6e2:481b:7cd9 with SMTP id 6a1803df08f44-6f2b2f94b57mr98059276d6.25.1744895558927; Thu, 17 Apr 2025 06:12:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1744895558; cv=none; d=google.com; s=arc-20240605; b=VYFJq3hzRH5xC3uuDhDiEPLOzG9k3uqLaa7b3X7Dw+NSCN2XseEZ0rHXChMwMtrUVs fku7XlqQo3cd/JyZXDO00uzCkgWYaTsVS6WXbpPFObvnfyIafOtb5n+iusJbutqFW2Aa XvAxnFsxKcKlE6dP+2s+EHsFq2Xc/JkhfzUwZVVRyi9r2MO8r+hwIucLux7XmspY2XKr 9aqmbP4emJyzkp6YMabeZSb4NrbxYpjSguJTcMikLrTrbp0+QwC6DOW5mhU5FXgIuebd D5ka31bVvazqFkhcTldJ+QSDKggqUnnfXOdinXXeffMQeT7F5JhmoQuJuxcgCxG7Azl1 mdcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=guXhwwIF4sCNRuBen3+R6Ruwzx2W7ttUqiq/qsuOdWE=; fh=ZXDWg7hKG7Hj19AbRuutTLw+Zvn/B9RsGUUw/YagpFI=; b=SppevKSE3kLz9WsrliubAZNSwO1PxqEObusoHXdH7Yv+LSN6zOycfEHhk/FxJTAAun wJrFxgW+SQaZG0mlM2sqdu13FT/XNcV108YK2CEvJlWsQy5TFx83ktQWJLjKDmiLV+Fe wbVuvVFHm8RnGlObKtIv/Hg3BHQGuJG9bkEbTZ2IiFHb41a4WecMfYrZyIooZb7YNu/x GAsUekWpYkVA+w0ghBn72sMoWdxlmR0Lz8TraUC+9IkoV0f9w1H4GMCfuIc7tGdR06Vt P8b3HiZsz9S0QD9yM+MxA2YIscq/eVcHAVR8gzLMyHqvgStDP1tQpZgUQeDRIIEQtcKG 5ezQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Y9w0hIK6; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6f0de9dcb1esi178830656d6.200.2025.04.17.06.12.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 17 Apr 2025 06:12:38 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Y9w0hIK6; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u5P0r-0005hV-UO; Thu, 17 Apr 2025 09:10:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5P0b-0005Ve-FL for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:25 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u5P0Y-0007vJ-TD for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:24 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-43cfebc343dso5970675e9.2 for ; Thu, 17 Apr 2025 06:10:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1744895420; x=1745500220; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=guXhwwIF4sCNRuBen3+R6Ruwzx2W7ttUqiq/qsuOdWE=; b=Y9w0hIK6dEnfiUVnIUJRbYzUf+xrqNolML5w8fwhBQRmLCrK9yaFvBPsjZVYLqRWji 8SDnsShxdOyupBET/Cn4VXL9FuGr2uV3B/NL0CVbgmG3DeDs5dKZ+WVaVISgN7+ZD0+d tGHE6sJdAxse6d9PXMStKQoFW6ajXx0HlldF5Kd702UklDR0m5rGwV6++njCYZInR/8/ ouniAPSij972cvqzTCHLRQ8/8MyyiYwC2u2lA75ji6eKVDfDlnoEdg9W9S49UfRXZosc aeQ2LAeZw6viufT2W15I25/p185ifxRpr3D6a4aW86RNy1ifxBiWV4B8LWRiMz01Sh62 mXiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744895420; x=1745500220; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=guXhwwIF4sCNRuBen3+R6Ruwzx2W7ttUqiq/qsuOdWE=; b=s9HT/Af+zwz5DS5hwNGt64BAolg6krlmYzLOAyvyWdWDOKRcs1bc/MJYoTj+D8RlQx vpyKHdtzzbHAdEi9rXnDrwtIxa437A3JOh8cMJnkNRFXXW1jQRC5utNDej/WQoi1J4AB 4L3Q4H+N670czpS5ywxZnP6LbkxlC8dxQepeNC5Yh27iidrVN0nsslwOln5XSTLN8Uu7 itVd/9DXCV/lUTgZijaoWGb4TWPFXoZAzLbN3t8cM3ZupwlnnqysBNtSD3qOkSr0gV6P l0klsUGDzHPFzKh0enbBvlIyURNOJO9kJx0o0pOHlI2sFGIOEwWQCthM+A0GwA/1ttcT 29eA== X-Gm-Message-State: AOJu0YwejLsY1zIZlS0WXc7zsb+7eP3iMcirNjhsD7J2vll9mfXiWAF8 55uzxxDoZyZPEycRW2iMQuEFLTcTmSP8LqCpKN1GKQ+A83/6hTXW4GCfXD4ygZw7fFevAZRFp3H L X-Gm-Gg: ASbGnctyEhEnIig/y9dqI3wchauFPBlFiOVapwE0M4Fkqk/Wg8n0B3ccPfM3DZG6mTI ECdegJJwQPRfe9MGCxWYFxtHSkBWCX3vsevfOG3jv7enEkyMjhCNttlBWTZuSnjJM1RxnHbSrKC yT4MrjvYLzhDPdRa8aaauGDvg18ZpIBGH1BSnN2Q5GUlyEL+wIZPDYFpkeT5t9cd3s1AX/U9Bbz pfMNSzLZCU1pCQlzaVwkubTUf45+OzTnu95ONG13uKaUNy6UPkXFCwAJFhPg7FUKh7TqxIaX/HJ 5FGlQWljq+ZrjhulJ3U4fgdFuk5xr3GcKZQaqM69yFG5TQTOtr4VtfcVgdbpA7drxXiWBjAIzKX Wmg2jCZW8NfflwhM= X-Received: by 2002:a05:6000:22c1:b0:391:47d8:de3a with SMTP id ffacd0b85a97d-39ee5bb103dmr5246169f8f.53.1744895419956; Thu, 17 Apr 2025 06:10:19 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39eaf445270sm19831668f8f.81.2025.04.17.06.10.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 17 Apr 2025 06:10:19 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , =?utf-8?q?Philippe_Mat?= =?utf-8?q?hieu-Daud=C3=A9?= Subject: [PATCH 3/8] target/mips: Check CPU endianness at runtime using env_is_bigendian() Date: Thu, 17 Apr 2025 15:09:59 +0200 Message-ID: <20250417131004.47205-4-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250417131004.47205-1-philmd@linaro.org> References: <20250417131004.47205-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Since CPU endianness can be toggled at runtime before resetting, checking the endianness at build time preprocessing the TARGET_BIG_ENDIAN definition isn't correct. We have to call mips_env_is_bigendian() to get the CPU endianness at runtime. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- target/mips/tcg/msa_helper.c | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/target/mips/tcg/msa_helper.c b/target/mips/tcg/msa_helper.c index 14de4a71ff6..e349344647c 100644 --- a/target/mips/tcg/msa_helper.c +++ b/target/mips/tcg/msa_helper.c @@ -8212,7 +8212,6 @@ void helper_msa_ffint_u_df(CPUMIPSState *env, uint32_t df, uint32_t wd, /* Element-by-element access macros */ #define DF_ELEMENTS(df) (MSA_WRLEN / DF_BITS(df)) -#if TARGET_BIG_ENDIAN static inline uint64_t bswap16x4(uint64_t x) { uint64_t m = 0x00ff00ff00ff00ffull; @@ -8223,7 +8222,6 @@ static inline uint64_t bswap32x2(uint64_t x) { return ror64(bswap64(x), 32); } -#endif void helper_msa_ld_b(CPUMIPSState *env, uint32_t wd, target_ulong addr) @@ -8252,10 +8250,10 @@ void helper_msa_ld_h(CPUMIPSState *env, uint32_t wd, */ d0 = cpu_ldq_le_data_ra(env, addr + 0, ra); d1 = cpu_ldq_le_data_ra(env, addr + 8, ra); -#if TARGET_BIG_ENDIAN - d0 = bswap16x4(d0); - d1 = bswap16x4(d1); -#endif + if (mips_env_is_bigendian(env)) { + d0 = bswap16x4(d0); + d1 = bswap16x4(d1); + } pwd->d[0] = d0; pwd->d[1] = d1; } @@ -8273,10 +8271,10 @@ void helper_msa_ld_w(CPUMIPSState *env, uint32_t wd, */ d0 = cpu_ldq_le_data_ra(env, addr + 0, ra); d1 = cpu_ldq_le_data_ra(env, addr + 8, ra); -#if TARGET_BIG_ENDIAN - d0 = bswap32x2(d0); - d1 = bswap32x2(d1); -#endif + if (mips_env_is_bigendian(env)) { + d0 = bswap32x2(d0); + d1 = bswap32x2(d1); + } pwd->d[0] = d0; pwd->d[1] = d1; } @@ -8339,10 +8337,10 @@ void helper_msa_st_h(CPUMIPSState *env, uint32_t wd, /* Store 8 bytes at a time. See helper_msa_ld_h. */ d0 = pwd->d[0]; d1 = pwd->d[1]; -#if TARGET_BIG_ENDIAN - d0 = bswap16x4(d0); - d1 = bswap16x4(d1); -#endif + if (mips_env_is_bigendian(env)) { + d0 = bswap16x4(d0); + d1 = bswap16x4(d1); + } cpu_stq_le_data_ra(env, addr + 0, d0, ra); cpu_stq_le_data_ra(env, addr + 8, d1, ra); } @@ -8360,10 +8358,10 @@ void helper_msa_st_w(CPUMIPSState *env, uint32_t wd, /* Store 8 bytes at a time. See helper_msa_ld_w. */ d0 = pwd->d[0]; d1 = pwd->d[1]; -#if TARGET_BIG_ENDIAN - d0 = bswap32x2(d0); - d1 = bswap32x2(d1); -#endif + if (mips_env_is_bigendian(env)) { + d0 = bswap32x2(d0); + d1 = bswap32x2(d1); + } cpu_stq_le_data_ra(env, addr + 0, d0, ra); cpu_stq_le_data_ra(env, addr + 8, d1, ra); } From patchwork Thu Apr 17 13:10:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 881854 Delivered-To: patch@linaro.org Received: by 2002:a5d:474d:0:b0:38f:210b:807b with SMTP id o13csp306479wrs; Thu, 17 Apr 2025 06:11:16 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXl3VxnrW6IFDE1ZwbxFrFIokoCpmG2KQo3w785rv/iU/7rBq91OZ8/5/xa+wzWtU52gzXrjQ==@linaro.org X-Google-Smtp-Source: AGHT+IEpGB8BhwORKJ0Io6K/GVmVCSl+wJqSfBBo8jepcPWtPzfK8ZasTCzV8Xy0jmGHHu0SE6cc X-Received: by 2002:ad4:5e8b:0:b0:6d8:b115:76a6 with SMTP id 6a1803df08f44-6f2b2df3612mr85619596d6.0.1744895476557; Thu, 17 Apr 2025 06:11:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1744895476; cv=none; d=google.com; s=arc-20240605; b=T2ZDqxn+IvEMZNgovi77qGVGdEcu4xhZcv5YRJ8fLn8PbgYNXxRSq7jR5etDmHB9zs OQnmZNw+YzhGRtzMbUABRax5PaicOl2EEwitfKavIy0MoiBA0Zgz+o0Mdsg8DsySwAtM 4I52MK0OO/W8rXJha81Cd8p2hZSgiNaKfsSfymVDr3q83O1CircPcnHapABnUL9Ndxge Z7m6byk2ap4JAV8CqTOOlSWCNMLlXdbO6aGLteHLwa2QXH299JkdXzQVf8/b2r+M5jwD J6kNlhGmH5c526xzowXD7SgM+wYNyTS3ewyM54AUlLCSbnj76fov+N1VF/Yvrmp3bZJX hq/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=PXZTsvplbDk/j8Hq5OCc8Z4OLE0QxnnIYztC0n6Y2e8=; fh=ZXDWg7hKG7Hj19AbRuutTLw+Zvn/B9RsGUUw/YagpFI=; b=YjUgHa5+e423DOFrPV7mUH5k2ZW/rBhZNWckFTnhI1z322Hcn/ZuxfopwFG+KdFTsb V8NguiQ75BdhFIBss8fWaTZKZEq8uDmB6Slzd5u2XfQI+Po+aBtOaHXURaWZrJTI9F4m OJz64Tt5RdDHeJKN4Qsm3TVRq+22hqaIW+uv37nRLI2cT4p1WpH3LH18mQFbAu20e03P NXXR0oRVKj11/N4ermf7aSeVSP3Xv/DkchZ4L4FaVCaDYcY4ld8+j1uS4fNKud83ifOz F/gfwlsjbpr/vkvrrRZIYhUFBb2oNQHmcZdQr2SUkCW3MfjCJJxOhrIUWRb92b9WM4ra 0OlA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fHpY5MwL; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6f2b09f73besi42596976d6.285.2025.04.17.06.11.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 17 Apr 2025 06:11:16 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fHpY5MwL; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u5P1C-0005k7-1p; Thu, 17 Apr 2025 09:11:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5P0g-0005Xu-Q5 for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:31 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u5P0d-0007w2-Kh for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:29 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3914aba1ce4so544983f8f.2 for ; Thu, 17 Apr 2025 06:10:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1744895425; x=1745500225; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PXZTsvplbDk/j8Hq5OCc8Z4OLE0QxnnIYztC0n6Y2e8=; b=fHpY5MwLdE931IqqQvYrR+Fre+zvKqtHg5fQjnq8INE62vA79rBMYg63bVtpzt1Z7d gCmXnCldGy+0AEgA5EudAY1LuEE19f++4nCnF+uDH/e0d2tQUngSmJTMLOk68K6w+YNL Zcg4Z629XjN4Xnbkbj47/pHn4wIHDacXgx+a88tCxXsPB3EzM+sbigHfZXA/6i320rfh 6XTq8NL990D70MZ7UhX+rAPbkM+rPLtFgfXNw/Zh+ESD2WbsxW/52a4LJJCGthlLie31 /atZprsR9VcqjSM5NvbQy3ydRGvGiu/B4Zmwe5AQAub2aYTtJsasKYIbOD96sjfPAf4x Z2EQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744895425; x=1745500225; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PXZTsvplbDk/j8Hq5OCc8Z4OLE0QxnnIYztC0n6Y2e8=; b=F3FnpyqD08szY2Suw0TGoYgo31bwmoyZW8BAKzvn0WdYAmYgygZx+kCfkazoGimzV8 d6+++xh8IK0hvotmUKQSVdgBjnmmVKR9HGnmLMlZ/Squ1xZJks4+r8+roi2xzbEfpajg qHwXYFt/0qGU7w58WVpESzgBwRSGFB+cjOPK+ll0lFP4TrlvPEzT6LxvqljJEQFEHMDE UKehL8g7pSZrlGnOww17xxEMG6H+dfiTtIAOdLWFWdNCFh8stEz8tkjRbh0t1DG4tKgz kzCsm7tCJNQlp+LTuQ9jcMOQ66RzXkStXI6NRwSTooqumdnsiHBVnqlm1jJrNa38JO+A JGBQ== X-Gm-Message-State: AOJu0YzJWNylPAC8EiHWo8qj3dDiP5/BoziN3uFxJUKuhEcnfVtzRDIi wOzCJXOrpLmO5kuWaD7tJ83n4xR6a2U2OoYy/qddBzer1RdqyXRUlkW+lrX140IegWdHV4MNgic s X-Gm-Gg: ASbGncs9opRa2fFosCl2UieaGUsAsHBdK5BIo75vk0J/hXpXowOqAsrQnixqZgvixqr Bq14MtG6lJNQfPkkTQdQx+bIVUvs8dDLiAN6yCGW3nWlb4xIXjToXINiU09vzytdaFcKGkefnRP zPjd//Xk0XvIiTuGBZjWg0HWIAItX6DZjdsnbBR6px0qjzJe8eHmoK31dMY8Fq+m42c4aXoQkTx GCEB7ah2+jSog3mVSVuy6sHFApel8P+29llnRDsQNbem7M034nyCrHXJ80fuNN7Td/65H+3E6fi yb28ctDIpYn9NtiUqXLrLDC3FSTG5rd9YWvrDCUX0QRzpTkq+ZGl0xSCBT0hy7B07XJZz3z6aPU th81whPup+cfZG7I= X-Received: by 2002:a5d:64e2:0:b0:39d:724f:a8a0 with SMTP id ffacd0b85a97d-39ee5ba03e4mr4945023f8f.58.1744895424613; Thu, 17 Apr 2025 06:10:24 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4405b50b897sm53357105e9.26.2025.04.17.06.10.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 17 Apr 2025 06:10:24 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , =?utf-8?q?Philippe_Mat?= =?utf-8?q?hieu-Daud=C3=A9?= Subject: [PATCH 4/8] target/ppc: Evaluate TARGET_BIG_ENDIAN at compile time Date: Thu, 17 Apr 2025 15:10:00 +0200 Message-ID: <20250417131004.47205-5-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250417131004.47205-1-philmd@linaro.org> References: <20250417131004.47205-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Rather than evaluating TARGET_BIG_ENDIAN at preprocessing time via #ifdef'ry, do it in C at compile time Signed-off-by: Philippe Mathieu-Daudé --- target/ppc/cpu_init.c | 12 ++++++------ target/ppc/mem_helper.c | 6 +----- target/ppc/translate.c | 6 +----- 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c index 077991ed535..bbab411a07c 100644 --- a/target/ppc/cpu_init.c +++ b/target/ppc/cpu_init.c @@ -7262,14 +7262,14 @@ static void ppc_cpu_reset_hold(Object *obj, ResetType type) #if defined(TARGET_PPC64) msr |= (target_ulong)1 << MSR_TM; /* Transactional memory */ #endif -#if !TARGET_BIG_ENDIAN - msr |= (target_ulong)1 << MSR_LE; /* Little-endian user mode */ - if (!((env->msr_mask >> MSR_LE) & 1)) { - fprintf(stderr, "Selected CPU does not support little-endian.\n"); - exit(1); + if (!TARGET_BIG_ENDIAN) { + msr |= (target_ulong)1 << MSR_LE; /* Little-endian user mode */ + if (!((env->msr_mask >> MSR_LE) & 1)) { + fprintf(stderr, "Selected CPU does not support little-endian.\n"); + exit(1); + } } #endif -#endif #if defined(TARGET_PPC64) if (mmu_is_64bit(env->mmu_model)) { diff --git a/target/ppc/mem_helper.c b/target/ppc/mem_helper.c index d7e8d678f4b..cc3ed29a35b 100644 --- a/target/ppc/mem_helper.c +++ b/target/ppc/mem_helper.c @@ -32,11 +32,7 @@ static inline bool needs_byteswap(const CPUPPCState *env) { -#if TARGET_BIG_ENDIAN - return FIELD_EX64(env->msr, MSR, LE); -#else - return !FIELD_EX64(env->msr, MSR, LE); -#endif + return TARGET_BIG_ENDIAN ^ FIELD_EX64(env->msr, MSR, LE); } /*****************************************************************************/ diff --git a/target/ppc/translate.c b/target/ppc/translate.c index 399107d319a..828b850b40e 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -213,11 +213,7 @@ struct DisasContext { /* Return true iff byteswap is needed in a scalar memop */ static inline bool need_byteswap(const DisasContext *ctx) { -#if TARGET_BIG_ENDIAN - return ctx->le_mode; -#else - return !ctx->le_mode; -#endif + return TARGET_BIG_ENDIAN ^ ctx->le_mode; } /* True when active word size < size of target_long. */ From patchwork Thu Apr 17 13:10:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 881856 Delivered-To: patch@linaro.org Received: by 2002:a5d:474d:0:b0:38f:210b:807b with SMTP id o13csp306581wrs; Thu, 17 Apr 2025 06:11:27 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXf+uVm2ZLTmlGuQSXlOuE+cFn/YY3M2yyQQv5IPdCKTDxUdEeB//Wb2rhMXpLUgpAU1bPL/Q==@linaro.org X-Google-Smtp-Source: AGHT+IG9brT12V4zkwayDVVVUw8Sg7I29KSGR2MStQEtOYllmHEOPd1nl2+S2ggOvwRfBsJ374sJ X-Received: by 2002:a05:6214:5015:b0:6ed:1095:e9cc with SMTP id 6a1803df08f44-6f2ba915a37mr46047236d6.8.1744895487508; Thu, 17 Apr 2025 06:11:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1744895487; cv=none; d=google.com; s=arc-20240605; b=gT2IMJQLQ/bHBvV38xkPNyGOHMcYeP3WC94TjG67iJysQqTg43yUxYu+UpghiSpnsj 0P8KlepcAGHbaq1kVhBUl+FVtRuAG9HL40ZpN4YAsyGKawiDAEtUKI5kwXFnShCh0AGK oZ0QJlDRrtwdXMmq6JLoOjKQ/7B94zEn5X4SA0ALRt5TrqNq/ebmctsv087TIj9kPKNd tzfs6YmYbsV2BFkCzuJT7taoFuNf0o5eQ0hbi5LPnMqgAr7NijYHMgygYm9zynoJFKcZ KrzPRhqRhnS3cgGY6kjU/8kck6BPGTMVtpzzpjOPwT+T5skgZ3/DXZp6lHF378yz8hw4 OXuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=XCjGM8gwQ/EmIYgFRxP35ULYOynfX81xOLUnM2jN7fw=; fh=ZXDWg7hKG7Hj19AbRuutTLw+Zvn/B9RsGUUw/YagpFI=; b=cCn+n4D0HwE8Ee1ZHug05hu9usoybwN2zBPhpqKCk/oXj78PrM8ns8211SIhi4queI NuW8rofSSAr0tAISEFYdQQdJ0hHg1ICLpK7utVdtRTagt3k8prP2/gYD2mtpOUoic+6k 0jqUr5ZIRmSpi3QtOUhLOuAxtkY/eXza0h4Vz+NHcdUjMggte7EWhYPQlBNLXIO8Qcju pXW5iRZFxYW/E9wP5hpg/Kd/Oank2bu60tRvegs4Di6ArMnbiGdHOlyh7blkFJ3asNOK 0pdArRq7t25/Pd5r2ey79+ZcjdJdoJRDi0/uDvwXDqNJb+ck7GU8d7AynYLsjBR2Boea kItQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=s573tsHa; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6f2b3f8c5ffsi35280186d6.413.2025.04.17.06.11.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 17 Apr 2025 06:11:27 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=s573tsHa; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u5P1U-0005xc-1t; Thu, 17 Apr 2025 09:11:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5P0j-0005dL-Ni for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:34 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u5P0h-0007wd-7s for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:32 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-43d04ea9d9aso3611295e9.3 for ; Thu, 17 Apr 2025 06:10:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1744895429; x=1745500229; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XCjGM8gwQ/EmIYgFRxP35ULYOynfX81xOLUnM2jN7fw=; b=s573tsHamaVdsCET+qrHl9ao9vGH3uEMRD/Nlp1mdlnbjr8dPl5O2vj5+oLty6oCCx YLHYM1flD0HhaDNmVTKYt7uuxCSd5MUqzR3f6XpLvM5RP64IhvHkmctSdm+1l28W2A2Q +v6Y8GMbkXW2aX0bwYoh24dPz9Ix6XVJ/y2FKQ1vqgQ+7C5C+o+qFXS0Ah20TV8mUW5K apCQYFgzTOEWBkd81JxG+5TpcO+Y9PqQ20SCMXo096hzvP0gUQCDTbH3LeIzbYfMfi8z X+xhceN/61jrpbw10IhTE5RXr3lD8IZ56oC1M5Znw47Z+8Z3itMoWuwzOLshS/xm7Npv V/6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744895429; x=1745500229; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XCjGM8gwQ/EmIYgFRxP35ULYOynfX81xOLUnM2jN7fw=; b=dPbFavMIPJCuzVUx/yqGeGmnqepQZXU8DOPv9tXq4xDMYq+YFK360zEvwb5zRjNgLO BmBq5oIgm7FsZwNRQrMZ8xht4rdUPRHeALrfSKj9gI3icwrp8xuYpHoRH+fUDMd27Vsq 6WJlALAfbx3ZWyxVAxkuVDiC/NWZ3eMnIZTS6uu6hktcBs6d20cRvR3SeYukhBmnWYEL ZJLxJzuedqmj4WJVEQiPdUSyAJl4lyQojPxdc2Uc8DxDeiI2tIF39gd0Ux3XeWJH7vb+ DO13TvbnyH3ySNt9mwPV8Th/Gs7k/BmGVskNTSSdv6CGDGmZLCjo4gEVUCjvvs1k+m9h vlHg== X-Gm-Message-State: AOJu0Yyh/mhDlT3VFHpBoSi9C9D3IahhdNwI3zVmFlk7H4BOtcZr3hEm 9X2jkTlHzVgV5tKl83fYBHl5me+/JjcG6utVc/D931v3T0sA/1Wo3zMt5ptGnTAIEjdAtkjFdT5 c X-Gm-Gg: ASbGnct9o3m2q5MYDs8uv4kqzruZjg+v7lSN4RGx0gGeBwhqnxtZNEqUbai9qgXnoqf Sz30hxdXEKH8aphcqSxdhiY5vFdHFffLzyTosZBvU0fvVN5j6ydebe8gXCBQ3lw9sxB1QZxziSW FXpuROaob1h59i3FYV1qhTq7mNN0IOyDHJuzfdOSQxqNbO+2eugMcJ9rGlMVwKQWiOvJkMIBIqk vUou+mbDMMuDNHxfdzWPB1lmemC77pSei9TkZ/3lto6XeYzW2z/ZFMBs5IU+RMwi6jv+Qx2oqvW Pz46mCxmBDlTj/Zo4iRfjOQyJBaw77WDqN1CnphtWiqhxG7xZuRKCnQVMcJ+tIUvFkbHmLrf0+q 0lsm/kYveKOjJ5vk= X-Received: by 2002:a05:600c:5107:b0:43c:eeee:b70a with SMTP id 5b1f17b1804b1-4405d6aaeb9mr46089045e9.22.1744895429160; Thu, 17 Apr 2025 06:10:29 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39eaf4457a6sm20402214f8f.98.2025.04.17.06.10.28 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 17 Apr 2025 06:10:28 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , =?utf-8?q?Philippe_Mat?= =?utf-8?q?hieu-Daud=C3=A9?= Subject: [PATCH 5/8] target/xtensa: Evaluate TARGET_BIG_ENDIAN at compile time Date: Thu, 17 Apr 2025 15:10:01 +0200 Message-ID: <20250417131004.47205-6-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250417131004.47205-1-philmd@linaro.org> References: <20250417131004.47205-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Rather than evaluating TARGET_BIG_ENDIAN at preprocessing time via #ifdef'ry, do it in C at compile time Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- target/xtensa/translate.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c index 5ebd4a512c9..2af83c07c2e 100644 --- a/target/xtensa/translate.c +++ b/target/xtensa/translate.c @@ -1395,11 +1395,11 @@ static void translate_bbi(DisasContext *dc, const OpcodeArg arg[], const uint32_t par[]) { TCGv_i32 tmp = tcg_temp_new_i32(); -#if TARGET_BIG_ENDIAN - tcg_gen_andi_i32(tmp, arg[0].in, 0x80000000u >> arg[1].imm); -#else - tcg_gen_andi_i32(tmp, arg[0].in, 0x00000001u << arg[1].imm); -#endif + if (TARGET_BIG_ENDIAN) { + tcg_gen_andi_i32(tmp, arg[0].in, 0x80000000u >> arg[1].imm); + } else { + tcg_gen_andi_i32(tmp, arg[0].in, 0x00000001u << arg[1].imm); + } gen_brcondi(dc, par[0], tmp, 0, arg[2].imm); } From patchwork Thu Apr 17 13:10:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 881855 Delivered-To: patch@linaro.org Received: by 2002:a5d:474d:0:b0:38f:210b:807b with SMTP id o13csp306527wrs; Thu, 17 Apr 2025 06:11:22 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV5Lgpl/PAYK63q+Poo1uBHdu7s9xjHGJ0IOfUhLaROWJI6d7/+t+W+EbfcKCfkzdNo3/kDZQ==@linaro.org X-Google-Smtp-Source: AGHT+IEbwpVt/kUHac/tq9kvVqsBZNwBe3ZRAQCt207K7WfOjWf3+SPuhFHA4BanasXXkfPI8Avk X-Received: by 2002:a05:6214:124f:b0:6e8:f568:22e8 with SMTP id 6a1803df08f44-6f2b2f2ffadmr84470206d6.15.1744895481902; Thu, 17 Apr 2025 06:11:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1744895481; cv=none; d=google.com; s=arc-20240605; b=AQOjv8RwZ65yWT26E7GdGaDO8ceL/DVU2L5gO+RIyAzFOGcc/6S2GhfK3O05jShO+D UTj93XT6UmdTh0PhG7lzLw7iU1IfmRPP3T7b414BdoZKsMaCkLpqvu1vq9ZS4pTvPZwU GjLmUBJ9+tlJJacAdHOk4G6N6sg3/ueVgr+YiqGzlIKxYaJDbjA6NkNusTN40g12a0K3 1PalbzcilzlbXHhFwrczOo3fPm/gwv+7MqO7l+3PUzAqqJBHVHPMHzll6HzQOwNfBp9N JQh8CcrCGKv67bU1EWLdlJjalWRztZaAgw1cUNTNe6op9wyMGy4Ih1MgoyKsv5viTlVP GYLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=TpvzKS4fhMbrSGoMDkIuIIpRkQ7Sei208LhlRgunzTI=; fh=ZXDWg7hKG7Hj19AbRuutTLw+Zvn/B9RsGUUw/YagpFI=; b=kBefThiyOe2or4qDaltFYRWaSeKpY25b5k+//ru/KzRYh2x2MTx+liecyHexgcECVK G7WzFUdUdD9EaK0Czx4l5GC/GdYbhHbmExAo7H5Oax5EQAk5p3mIbWn/0tJgOdml42l5 qPuw2ZWf5mk7FsrOWTXSJW5kuPA5OaZRc7ZKV0W69/XpX+bLfpf/DSrIe37E2zFftRlS VcmntfNMCiLQYRB7OjGexKKNlzKpwxf2dTKofwx2E/ltFIStNnQKKIl82uDO4+nn5Ja9 rfg04hjbtx94rK7ayREwV2jCrIiqwANhnN2ARG6IngJ76oL4D9ImDJ3k2VXIObyV5ZQ2 JP+g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=aLn8u6Fd; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6f0de95fe93si176623866d6.36.2025.04.17.06.11.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 17 Apr 2025 06:11:21 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=aLn8u6Fd; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u5P1J-0005oZ-LE; Thu, 17 Apr 2025 09:11:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5P0o-0005gY-3Q for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:38 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u5P0m-0007xA-3b for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:37 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4394a0c65fcso7377465e9.1 for ; Thu, 17 Apr 2025 06:10:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1744895434; x=1745500234; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TpvzKS4fhMbrSGoMDkIuIIpRkQ7Sei208LhlRgunzTI=; b=aLn8u6FdjZvoJr09gy6YXppAEtbKymcc+ATFzdSCNHGHB9WOVCX84pjvvlM9YN54Ln 24CquWdYD9zMPZ2bSVkNRPBEJIAz5h+B4p9NhbAH8owIqDOY5ZdnYg4vvE4OmXZOgYXm CJ5YeiPbVVpY4JNdnJn0b2z2SL3HGZQm+cNZjP4GwOW02L5naaLmfluV+vqiSUlo5OSM FTkNZiOvvl3SxeAT7p01QPCIPbSigCYEo+ZHxjGikeWI2vFQ93ldQCVjw6lbqKvrOwPk SfpN3CAsbKHswKwPhCimX9oH0fmgG2bA9lyq6EU8bSzyX5ibaaW/aP0rRHNepW2mwUAf YXBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744895434; x=1745500234; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TpvzKS4fhMbrSGoMDkIuIIpRkQ7Sei208LhlRgunzTI=; b=vWT+nn33rNfqylmLE7X4TtGcGqUUdemmagYzg/bBBrt3fo8oT4SYgNQbUUJL9MORjc dEiB332M6XwyDFgRi3pEc+XFaDkIXFeVsLiZhdmMaCOevIUzXvx3CErYbBdUxYN/WWut VtQDfs+CxXadY24cIm+IScu7iduf6r1kgsGo5o7XCvQ34uLK6bshiSsNPO1kcH0Eb9s/ nkw5CJ6t5tpU2KZLpPXkorRmHB2M0dMKa9cVpLr4gmzrM/I/+Acf1UDXoYExnbO4kLE9 yWd4AE+CFngOJeMrI2Hdx0DNKYli9Q56MYOcS2q8awxSfDQ0kS06lY4dekW5SrifVVoL v5iQ== X-Gm-Message-State: AOJu0YzB59ZfFTU68Sr6eU3DLcrcn6vU+MSnk3ME4GT5HAO/7AQ12+/p O7krlLr9x5D2IWkoqyvCIM2Y5K209UDAhf5SczLubvtRM3N+wP2Qd4oMsntzWQsby2fATCGQpzz 6 X-Gm-Gg: ASbGncsdkLfSpbbh1c85ubmDHNq46rniIfJlp0dNb/y8rKlWm7LMSCfCYDOJVy3GMBF EG9UKxT6ouGRHFz5s/2to9mk6czzLrZkSsyA1UvKzcbcCtGZFEcH/6PzYIqwOjEKRhZoFoJJCQR iNLY9ACFz5WdGZlHTfpli5UR+/wCzdB9iphhygbJYzDGwA239u81OrSJc+rQ0FGec3wVUARHHV7 TyAQ7362sMEc/WNDeCFZ24+eA0KEwMXmgtWwpuCVBX17Sxk7NsNwbzSYWr7dJEaX09ae+eds1I/ mUYxM7BvcCBgXGUB4A2kX5p2YNrfFiRr12y9ThVphJ1N13J/vsLrwka90rjtJMEqkrw/+IsE46l qYuAwY4U/WKf/v5o= X-Received: by 2002:a05:600c:4e09:b0:43d:300f:fa4a with SMTP id 5b1f17b1804b1-4405d616b9cmr60431365e9.12.1744895433897; Thu, 17 Apr 2025 06:10:33 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4405b5a98c3sm52930925e9.38.2025.04.17.06.10.32 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 17 Apr 2025 06:10:33 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , =?utf-8?q?Philippe_Mat?= =?utf-8?q?hieu-Daud=C3=A9?= Subject: [PATCH 6/8] hw/mips: Evaluate TARGET_BIG_ENDIAN at compile time Date: Thu, 17 Apr 2025 15:10:02 +0200 Message-ID: <20250417131004.47205-7-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250417131004.47205-1-philmd@linaro.org> References: <20250417131004.47205-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Rather than evaluating TARGET_BIG_ENDIAN at preprocessing time via #ifdef'ry, do it in C at compile time Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- hw/mips/jazz.c | 10 +++------- hw/mips/malta.c | 21 ++++++--------------- hw/mips/mipssim.c | 10 +++------- 3 files changed, 12 insertions(+), 29 deletions(-) diff --git a/hw/mips/jazz.c b/hw/mips/jazz.c index 1700c3765de..34879334037 100644 --- a/hw/mips/jazz.c +++ b/hw/mips/jazz.c @@ -59,12 +59,6 @@ enum jazz_model_e { JAZZ_PICA61, }; -#if TARGET_BIG_ENDIAN -#define BIOS_FILENAME "mips_bios.bin" -#else -#define BIOS_FILENAME "mipsel_bios.bin" -#endif - static void main_cpu_reset(void *opaque) { MIPSCPU *cpu = opaque; @@ -168,6 +162,8 @@ static void mips_jazz_init_net(IOMMUMemoryRegion *rc4030_dma_mr, static void mips_jazz_init(MachineState *machine, enum jazz_model_e jazz_model) { + const char *bios_name = TARGET_BIG_ENDIAN ? "mips_bios.bin" + : "mipsel_bios.bin"; MemoryRegion *address_space = get_system_memory(); char *filename; int bios_size, n; @@ -245,7 +241,7 @@ static void mips_jazz_init(MachineState *machine, memory_region_add_subregion(address_space, 0xfff00000LL, bios2); /* load the BIOS image. */ - filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, machine->firmware ?: BIOS_FILENAME); + filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, machine->firmware ?: bios_name); if (filename) { bios_size = load_image_targphys(filename, 0xfff00000LL, MAGNUM_BIOS_SIZE); diff --git a/hw/mips/malta.c b/hw/mips/malta.c index 8e9cea70b13..cbdbb210568 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -94,12 +94,6 @@ typedef struct { bool display_inited; } MaltaFPGAState; -#if TARGET_BIG_ENDIAN -#define BIOS_FILENAME "mips_bios.bin" -#else -#define BIOS_FILENAME "mipsel_bios.bin" -#endif - #define TYPE_MIPS_MALTA "mips-malta" OBJECT_DECLARE_SIMPLE_TYPE(MaltaState, MIPS_MALTA) @@ -383,11 +377,7 @@ static uint64_t malta_fpga_read(void *opaque, hwaddr addr, /* STATUS Register */ case 0x00208: -#if TARGET_BIG_ENDIAN - val = 0x00000012; -#else - val = 0x00000010; -#endif + val = TARGET_BIG_ENDIAN ? 0x00000012 : 0x00000010; break; /* JMPRS Register */ @@ -1177,9 +1167,12 @@ void mips_malta_init(MachineState *machine) target_long bios_size = FLASH_SIZE; /* Load firmware from flash. */ if (!dinfo) { + const char *bios_name = TARGET_BIG_ENDIAN ? "mips_bios.bin" + : "mipsel_bios.bin"; + /* Load a BIOS image. */ filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, - machine->firmware ?: BIOS_FILENAME); + machine->firmware ?: bios_name); if (filename) { bios_size = load_image_targphys(filename, FLASH_ADDRESS, BIOS_SIZE); @@ -1197,8 +1190,7 @@ void mips_malta_init(MachineState *machine) * In little endian mode the 32bit words in the bios are swapped, * a neat trick which allows bi-endian firmware. */ -#if !TARGET_BIG_ENDIAN - { + if (!TARGET_BIG_ENDIAN) { uint32_t *end, *addr; const size_t swapsize = MIN(bios_size, 0x3e0000); addr = rom_ptr(FLASH_ADDRESS, swapsize); @@ -1211,7 +1203,6 @@ void mips_malta_init(MachineState *machine) addr++; } } -#endif } /* diff --git a/hw/mips/mipssim.c b/hw/mips/mipssim.c index b6dabf2893a..46ab7f86c7f 100644 --- a/hw/mips/mipssim.c +++ b/hw/mips/mipssim.c @@ -46,12 +46,6 @@ #define BIOS_SIZE (4 * MiB) -#if TARGET_BIG_ENDIAN -#define BIOS_FILENAME "mips_bios.bin" -#else -#define BIOS_FILENAME "mipsel_bios.bin" -#endif - static struct _loaderparams { int ram_size; const char *kernel_filename; @@ -143,6 +137,8 @@ mips_mipssim_init(MachineState *machine) const char *kernel_filename = machine->kernel_filename; const char *kernel_cmdline = machine->kernel_cmdline; const char *initrd_filename = machine->initrd_filename; + const char *bios_name = TARGET_BIG_ENDIAN ? "mips_bios.bin" + : "mipsel_bios.bin"; char *filename; MemoryRegion *address_space_mem = get_system_memory(); MemoryRegion *isa = g_new(MemoryRegion, 1); @@ -179,7 +175,7 @@ mips_mipssim_init(MachineState *machine) /* Map the BIOS / boot exception handler. */ memory_region_add_subregion(address_space_mem, 0x1fc00000LL, bios); /* Load a BIOS / boot exception handler image. */ - filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, machine->firmware ?: BIOS_FILENAME); + filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, machine->firmware ?: bios_name); if (filename) { bios_size = load_image_targphys(filename, 0x1fc00000LL, BIOS_SIZE); g_free(filename); From patchwork Thu Apr 17 13:10:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 881859 Delivered-To: patch@linaro.org Received: by 2002:a5d:474d:0:b0:38f:210b:807b with SMTP id o13csp307033wrs; Thu, 17 Apr 2025 06:12:11 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWmB1Z+h5CPfyDUDbK3rfoPQhBrUdQlgouQro5Ro1U+GpPcRY0e5dnYUMvpZ8s8IvbIGfC5PA==@linaro.org X-Google-Smtp-Source: AGHT+IFzBX9AiQx28wgMFM6RJGPDwLsUIklOnklOMv9YhZu7/fR6qWODRbN4dT32PF/+yqfc4yd8 X-Received: by 2002:a05:6214:5097:b0:6ea:d393:962a with SMTP id 6a1803df08f44-6f2b2f23faamr85940466d6.1.1744895531610; Thu, 17 Apr 2025 06:12:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1744895531; cv=none; d=google.com; s=arc-20240605; b=ijYTH1WMaBS4DdQZ7glHbledKGjAFcIGglaxJrJCqTnAp0agp5YJbFfbPvNGiMsAoA FBQIFzO6rx+l84PkWtc6i3xLb76eGym1ivwXe4N62Ah4pAONmw+lZ52gvDLb9FhXLf4V ogfKVMf2X2XpSFTQK3b/fQAd0+OgXfxyQgSQ3nS6Lmvfpm3dwOeEQCA4O7iuU7i9C41N 6G665DM7vKcl0UVToxSmbTi+kz9bqH15gKIkDTABV4YCJ3Opf5df1UteLQtLuc4CqKPg pAc1dP7VQjGPtQo7t4ZRNfIFOJRIkJczPrHVXEfMlCqVs+re21NkWiNpcYcZcrXmPUFR UNRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Qdv1Q8OqgsTLOugo6mmCmTGNXh3d6gbPE71uRqE0Aik=; fh=ZXDWg7hKG7Hj19AbRuutTLw+Zvn/B9RsGUUw/YagpFI=; b=XcZf5NxdKRU+3nfG5vkW2wk4oQaSe5oGM5xSXgmU66GJNXm9CTu26NkF0gyRJsFU4m Mir2mvZ3WGrSI1CGhPvzLFl8e6nGofRA3lOZSK7cQPnU2ameLoouQNr9QgI2ePbtiYuf e7IZJkvDDzpSXvWjwm328KqhrHy67lXwu9fMR05GnVqgTTR+M5H+9elkexU91iqvzwei ySCkwp4kGaDimec7fJ1Jv3YsUhCiCDZ1RZWdyOGkQ98hkdDpWOZm5mw83tpAChdtFIN6 uFuGvWah4uob4cVK0OpLkWEVJvqNLgLVCywMtdnoMkqM5jYPQGl3joIDgObCSuNzbFtR ZPew==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JaYB4M5n; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6f0de9dcf12si177359606d6.233.2025.04.17.06.12.11 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 17 Apr 2025 06:12:11 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JaYB4M5n; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u5P20-0006l7-Iw; Thu, 17 Apr 2025 09:11:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5P0u-0005hq-Hh for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:47 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u5P0r-0007xu-Kz for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:44 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-43cf848528aso5885655e9.2 for ; Thu, 17 Apr 2025 06:10:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1744895439; x=1745500239; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Qdv1Q8OqgsTLOugo6mmCmTGNXh3d6gbPE71uRqE0Aik=; b=JaYB4M5nPkvv34GOCdzYgtOLnIcq7TdsEWG88SPPvDYhXjjdC+ZDB0H1z7DCVvHXZ/ PcvUqIW4Xz4cNmKl0PLyJMRFCwRhpoqW6PjrE7mIU7EA7PNjrqfkaZnIMbZJk8NUoNZy ERBpEoQakQ8BVZ8mK/ASYbPs3zzkJRjwn41h5uQtj0NNb6OHzT9Hox9SRQjDAKqSxD7x WtpIRt6p9FOLqoMfFlEOWxHwMIAjEbZVOv4RbIydJ4936GCSzUqlyyAjT01FBgg1RsWj OXRjA2rA9snyl+tHJopRsjoVYoiWisJlF1vI3Ao798obfxlMQR8q07Qdmq53iU4ofUIy aqMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744895439; x=1745500239; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Qdv1Q8OqgsTLOugo6mmCmTGNXh3d6gbPE71uRqE0Aik=; b=tTQg/3k/Poqyl5m7AD2N3ZAYWO6qWQCcyRhPgQ80G9/qX3wdVVYhP+elJCfakuuDRZ OgTGuNE4PkKhGkOa240wcHbrVab/POqthyxPwL/eD5/KCAY4Q/JYyVL5aO4LGcVARYar JUJA6V/lYkBgec8XM+5IY/pePigdqBJ/IU2ckURT/62upBdQKC/ZD4lYZMro1ogJqvYl 3ZL3sC1+c2o3qOyYrBcFyfe7QWT2fcVVyT6Q1mySMIhCbO5VPHaQPdNeLHzPKEzvxOqS vN1cBtJiQqwq6rLfPzvSxxqZouGi0tAY5njBhY+b2hq9j/XkVsZfZWC7jHIYr1mknyWO XLFQ== X-Gm-Message-State: AOJu0Ywnm7k/sM2Rk6kc06jG2rL312n+NyHYn9Bhpa+uup2ofcEu1wSy LwcbylQXmXxKFVIpg3ocRsIOigzpKEnofoPv2z/5gMVukuuUPobkABdyFSZK5onvPKWdFyApfoH A X-Gm-Gg: ASbGncsm41CCKvB84dRo1JRHvXcgOL9ciXEW5ppc9yfoUIhgLqV5JcgPd8FmUGzVnol EotbZSS9WH91tGHVYMidyJ/ufzG3OruvLzPLJ37yBVmnDWMdJ/c156Gb8WxcTm9/QTxFDuW9eM0 z9xCaC86h/Hbmh56m7xLsMu1gHWY12oDxAx9AsLycLV3YVr6vsD1+m/Cnto6e8Pivo0xea4ovEc 6xQ+WtIdjebLCm1UnqE4zr5h6sg8EGqwu0eiSRTu9YVgckv0uuOWY/qBU1BxblFoM6M79ejxRku rQngJ0KGwzq36oDYnEupdHK10eE9HXK1JOyIXLXVE2u1+1TKzqyX43LLzbo7pbFlZsHanHNGzAW u9D1bvOqFBZcOZyo= X-Received: by 2002:a05:600c:3ecb:b0:43c:fa24:873e with SMTP id 5b1f17b1804b1-4405d625054mr63801305e9.13.1744895438894; Thu, 17 Apr 2025 06:10:38 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4405b5abc3fsm54034405e9.37.2025.04.17.06.10.37 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 17 Apr 2025 06:10:38 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , =?utf-8?q?Philippe_Mat?= =?utf-8?q?hieu-Daud=C3=A9?= Subject: [PATCH 7/8] hw/microblaze: Evaluate TARGET_BIG_ENDIAN at compile time Date: Thu, 17 Apr 2025 15:10:03 +0200 Message-ID: <20250417131004.47205-8-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250417131004.47205-1-philmd@linaro.org> References: <20250417131004.47205-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Rather than evaluating TARGET_BIG_ENDIAN at preprocessing time via #ifdef'ry, do it in C at compile time Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- hw/microblaze/petalogix_ml605_mmu.c | 12 ++++++------ hw/microblaze/xlnx-zynqmp-pmu.c | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c index c887c7a99ed..bea6b689fd1 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -218,12 +218,12 @@ petalogix_ml605_init(MachineState *machine) static void petalogix_ml605_machine_init(MachineClass *mc) { -#if TARGET_BIG_ENDIAN - mc->desc = "PetaLogix linux refdesign for xilinx ml605 (big endian)"; - mc->deprecation_reason = "big endian support is not tested"; -#else - mc->desc = "PetaLogix linux refdesign for xilinx ml605 (little endian)"; -#endif + if (TARGET_BIG_ENDIAN) { + mc->desc = "PetaLogix linux refdesign for xilinx ml605 (big endian)"; + mc->deprecation_reason = "big endian support is not tested"; + } else { + mc->desc = "PetaLogix linux refdesign for xilinx ml605 (little endian)"; + } mc->init = petalogix_ml605_init; } diff --git a/hw/microblaze/xlnx-zynqmp-pmu.c b/hw/microblaze/xlnx-zynqmp-pmu.c index 0922c652957..2efacc53feb 100644 --- a/hw/microblaze/xlnx-zynqmp-pmu.c +++ b/hw/microblaze/xlnx-zynqmp-pmu.c @@ -181,12 +181,12 @@ static void xlnx_zynqmp_pmu_init(MachineState *machine) static void xlnx_zynqmp_pmu_machine_init(MachineClass *mc) { -#if TARGET_BIG_ENDIAN - mc->desc = "Xilinx ZynqMP PMU machine (big endian)"; - mc->deprecation_reason = "big endian support is not tested"; -#else - mc->desc = "Xilinx ZynqMP PMU machine (little endian)"; -#endif + if (TARGET_BIG_ENDIAN) { + mc->desc = "Xilinx ZynqMP PMU machine (big endian)"; + mc->deprecation_reason = "big endian support is not tested"; + } else { + mc->desc = "Xilinx ZynqMP PMU machine (little endian)"; + } mc->init = xlnx_zynqmp_pmu_init; } From patchwork Thu Apr 17 13:10:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 881858 Delivered-To: patch@linaro.org Received: by 2002:a5d:474d:0:b0:38f:210b:807b with SMTP id o13csp306960wrs; Thu, 17 Apr 2025 06:12:05 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUkGMXIsPFTUOnxixPbGw1pFD2L9vgBli/j6FO9sgIk01GDieo5dTiHU4N2JxynjUN78EtEJw==@linaro.org X-Google-Smtp-Source: AGHT+IHJS3paKjp0bcne7FloobWu7AhPO6rQvjhzwcb1KV0oGq1UFV83/RMsgiyjAcjVL4XB8AJo X-Received: by 2002:a05:620a:469f:b0:7c3:c869:1aff with SMTP id af79cd13be357-7c918fed554mr680395285a.16.1744895524822; Thu, 17 Apr 2025 06:12:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1744895524; cv=none; d=google.com; s=arc-20240605; b=aSEBsTeyOvc9amqfQ0lMAuPAqBkjQkR1zxet9EP9B7zq302oQOgEGylv/MHWF4wqim ADVsrx/d9r22qLg0srXL+2Zwh00ictuRKEgbm5ad0aqOovKkp5wtPEB16YDCacZlnX6F 26g3jL6oUmo/iWV11MTiugfDt4AwVcClYlfj76/BLN9aoijKXDTc4sCmorPAfGFG3VaZ /cs4duHwOS6/vuFiKqes/ghcPNp+fjvc4bmCnUAiGGmq8M2lMhlBYgjqi20GbNuKaID4 OnfDueR5kMIo1fkxjbvsXb5TxN8cY25XbsOOHvzPLsrVUN6UXpc/J/d9ufAL/qrEMJA6 ENlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=+KjVHOR8bZyQPFDZiY73GKKuG9sQW4JTgljoEvbnw6g=; fh=ZXDWg7hKG7Hj19AbRuutTLw+Zvn/B9RsGUUw/YagpFI=; b=K3zuA4M/pbSh8CIVLz3We/qivtKDblBkaqoodKHdX6OKiph1ArWSqqM374JAsXjaOI odmrl8T43ZpVHPq+5+Iy1X9hKwE4y3govMHROty4eMvGoHBBUFSa+G+7kJh3oVcGgJLz rXL6YzX8lLPTU/pr2WHaQJ0luH4IUSsUmMb7ccs2abA/nOPA6VDuYJOwB8KbplH5vPHS f3hg553ymcAPl/lANR8BBGy6C4UJMZ/AlgxUyCa7GuhxUoA8UGMpvkANSPadklOBTqYZ Y6ah89A5OPk/yuug8kyXVVon7pTzBSYErxWoLnrHNzRFV2emy80ztJtqxjEiDyllFP3N mxQg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vaa4SuHc; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c7a8a0d030si1571422685a.409.2025.04.17.06.12.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 17 Apr 2025 06:12:04 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vaa4SuHc; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u5P1o-0006W0-99; Thu, 17 Apr 2025 09:11:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5P0y-0005iX-KX for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:53 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u5P0w-0007yb-Py for qemu-devel@nongnu.org; Thu, 17 Apr 2025 09:10:48 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-391342fc0b5so626045f8f.3 for ; Thu, 17 Apr 2025 06:10:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1744895443; x=1745500243; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+KjVHOR8bZyQPFDZiY73GKKuG9sQW4JTgljoEvbnw6g=; b=vaa4SuHcDYBPhWZ3HyLa9xrar1Buj5AijrlhM74tpVl0BDunM27hgD1VShEM0U8qpZ Dnz1RVzldi7i0mPMLeJW1EMmRQib3UPW5Vu0TgFT6ra1YJzT/xeX4n8gU8uJMTzsw++f Ew/1sc4XWmjMmKOLX4sbXGND2sTAPCdWF+ZwIEE/o05cvw9PnyvdME2ywUCFMMik1604 l9uEwMLI1HxB3YPFXRUrptt9i4jD1ZATXCNQ5L8Emhh5Kd51K4HNtZwSgnz2aEfW9U6P B5xauOlugD+2fY2M4gzh9czCrvkOPT/o5HxTZoHjh7q3TR5CbX2PhANyjuNGf4H3bLix Y3fA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744895443; x=1745500243; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+KjVHOR8bZyQPFDZiY73GKKuG9sQW4JTgljoEvbnw6g=; b=HYkGQVp5SabK5roCBh6inkLO80H2VjplIAr4gPo61JRrgitkdLSWpD3wU2iNI6+4W+ z/vuUzXel06CJuo5WChbKg67DpKoEgKhXKDIdEzPpujE2KbWi7DBBihpxgGb7Pmu6AQo 26DQuAd+JeZqaOevfYgw0uoQ4bjjsOURYZsQctody5kI1kli081VLRv0O8fBbsV6ToE4 LyCo0XQhfC3+pLMKM2nmVT5uWkKOQPBErvRm+FIGZS2TtrYHLd4H/286TD2AHDuq++qd Oo0fLI9P3nEx7SKlaqL3gfWYvAALep7LwXZ47688egPgWb44a9QfVk4D/P3ZA22fcC+e ICkA== X-Gm-Message-State: AOJu0YxM6NLAVOIsexaOhke+AMhOh7Tz6Ufch5AFVJikGuFZugWYJOyW dCHPvMpp3a+v9l0QMuV1J5/N5W6v5vZx94i5imv8cwRTFns3MMDqD+nHWsbqFTsA3Zor+w8NZZ7 k X-Gm-Gg: ASbGncsG7vw+Vm6GbglfM9ja105b8tAQhRjuPLFaSCVkxRtEUjStj+j762YSuPRoQpP gJEqbCYUkI6rxnISj7uDGHcjMgavbCqjLGfQYJ8pQlet/tPDbeNbWNzfjihhYY2DjtZMUlg/7fU T7QJMKvTMnO7nV86mHzWQOTl+D7JN9f+Z3LnaJBYXpqBBJ98RO50JMUfH6ckLcG9G7WBaGHcm92 x4Pe9Y5TOAyq2GXnoROhT2dJf6FMazwBfL7PtahGhplyleQ2zKJ3D9FIbSViDUv39M9NiTEncka xyQYb6Kk+SjusjfVp7oGYUwiySu6WezF1+Ue9Ssqz9fkbohTNDRmRrY85gQsFs5+T20YOXbqToq Haps0a6bgSC4bwm4= X-Received: by 2002:a5d:588b:0:b0:39e:db6a:4744 with SMTP id ffacd0b85a97d-39ee5b36643mr4900202f8f.32.1744895443530; Thu, 17 Apr 2025 06:10:43 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-44043529fdbsm50566085e9.1.2025.04.17.06.10.42 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 17 Apr 2025 06:10:43 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , =?utf-8?q?Philippe_Mat?= =?utf-8?q?hieu-Daud=C3=A9?= Subject: [PATCH 8/8] gdbstub/helpers: Evaluate TARGET_BIG_ENDIAN at compile time Date: Thu, 17 Apr 2025 15:10:04 +0200 Message-ID: <20250417131004.47205-9-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250417131004.47205-1-philmd@linaro.org> References: <20250417131004.47205-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Rather than evaluating TARGET_BIG_ENDIAN at preprocessing time via #ifdef'ry, do it in C at compile time Signed-off-by: Philippe Mathieu-Daudé Acked-by: Alex Bennée --- include/gdbstub/helpers.h | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/include/gdbstub/helpers.h b/include/gdbstub/helpers.h index 6f7cc48adcb..c33d5dfca3e 100644 --- a/include/gdbstub/helpers.h +++ b/include/gdbstub/helpers.h @@ -56,17 +56,10 @@ static inline int gdb_get_reg128(GByteArray *buf, uint64_t val_hi, uint64_t val_lo) { uint64_t to_quad; -#if TARGET_BIG_ENDIAN - to_quad = tswap64(val_hi); + to_quad = tswap64(TARGET_BIG_ENDIAN ? val_hi : val_lo); g_byte_array_append(buf, (uint8_t *) &to_quad, 8); - to_quad = tswap64(val_lo); + to_quad = tswap64(TARGET_BIG_ENDIAN ? val_lo : val_hi); g_byte_array_append(buf, (uint8_t *) &to_quad, 8); -#else - to_quad = tswap64(val_lo); - g_byte_array_append(buf, (uint8_t *) &to_quad, 8); - to_quad = tswap64(val_hi); - g_byte_array_append(buf, (uint8_t *) &to_quad, 8); -#endif return 16; }