From patchwork Sun Feb 16 21:00:53 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: 865546 Delivered-To: patch@linaro.org Received: by 2002:a5d:64e6:0:b0:38f:210b:807b with SMTP id g6csp828829wri; Sun, 16 Feb 2025 13:02:04 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVv4G/mFn2m0tiuqaxjhvTNmZ0BSQ5TAIOZ7Re0wtqZgLZSuJJe8wbC0BXCdq8ufQmjIrDEcA==@linaro.org X-Google-Smtp-Source: AGHT+IFHnX1YNa5ZRrK8QFaBKda45h6Y/fIzczC16UdpbTEyMuWCuzKdhms7Ua4s1HuFYNoRxA7x X-Received: by 2002:a05:6214:262c:b0:6e6:64e8:28e7 with SMTP id 6a1803df08f44-6e66ccc37b5mr108822006d6.15.1739739724611; Sun, 16 Feb 2025 13:02:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739739724; cv=none; d=google.com; s=arc-20240605; b=TNCkbhHMl50tPsgp2oZ7LfhAZEzuVprvSJW/8MEL0s0RcmHnj7QvLOCUVk1psKMmyI gJtLMOygjkHO48e4F95E2LJqvtGQXd4o77GzD7+IrYM6S2xGZisBjg5am75GkVP/1RSE 7uz0HDrVjHJR+APJZLHyanFI6dSOESXO1QpYtMbJsdqhvck2ZI/dOHDcrzdpO1lBVE20 dRlOT31bH7Oy3GM4pNWty7s2O5lUY4HDQ/0RC0DJSJ43R/V+6ZXwdfyJK908TaNAxIsB oAW+ay450kc/FajEix5h8bGn1mx+Z/E3ztgWzSUZgcBYV9SKZbQK0TGeBcUKIRyAFwGB Rr9g== 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=VkyzUhB3/r5FKmFNHJ6alO+UuiYZhYCsq602cNE3EOo=; fh=xs1bPNNS/e6JGFP7mynqP9bv1OXG6y++byoPRUwwWic=; b=fxM7Vr5/yVBYOfkiYRJ5rnmtyZjimuQ4DScepvBDQrzUxe3T2JxPWyTEEvdQGj2NOG kjLaZyAeITfZ1ElP0dum90U7FtepjdM0ZXCIQ9OF/EGEb44HYqPL67VKe0UnusqhVLIv dkpt4KY8Qyyg0evYTWZcR9KA4MDA5W/hT2XwXE5808O/sUwuNzeXx7BOuDSGSyVzp8Vy QWzWlebjY1ft8mZlnkWnBYNsQvFkkb4gYOtFDxiX7oAcyw15owVMtV2ZxuP80mS2DQOJ CkiYhtPt/k5LLxaNk7S5dW9Yy2EmBFKFcsjFJVShCKbUP0SVLQEXVQF2CsvfUGi31XJZ 5QIQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jymf0gLw; 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-6e65d9a8bacsi74775766d6.215.2025.02.16.13.02.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 Feb 2025 13:02:04 -0800 (PST) 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=jymf0gLw; 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 1tjllO-0002x3-Uf; Sun, 16 Feb 2025 16:01:20 -0500 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 1tjllK-0002vt-1D for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:14 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tjllI-0007tb-Cy for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:13 -0500 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4395f66a639so21898585e9.0 for ; Sun, 16 Feb 2025 13:01:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739739670; x=1740344470; 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=VkyzUhB3/r5FKmFNHJ6alO+UuiYZhYCsq602cNE3EOo=; b=jymf0gLwQMEy7QfHBPrwjW0GTc1jwHr0dsDGUfij0vI4bgeNsiJzy/B6XePN1Vj3Ui ovxkToQPSetMY5KWvVmneNTaqGhR0l9NrXHazT3z+xXXhvmMEMuochewsXoocwU+vC1H rwt18fiv3GDXP3NBlaZdgd82vM62UUgNuu3i+ewE2LU+G7+GCnwiqf1daQBhGg/aQLd3 uD+BM2a1p9o0CG2ccu6CmqSBs4BtMDrWsfNIr98P6+i2vHUhYH6Z8i2FdHU5J8/f257Z FScQDeXQ/FOaFrBqRe28Tzk1nOqFrAbNhith7c2yPfLWT/lPhplgVdlZqE+umCcKRjFF augA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739739670; x=1740344470; 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=VkyzUhB3/r5FKmFNHJ6alO+UuiYZhYCsq602cNE3EOo=; b=a9bMG7p0MGB06AWWzAMNwev+URY8pPo/pxNHyNpUJp6HBP3blgZTJ445HmMhqBRCuX DB/8qCWYP8nc1q8ON6I1qJnUTd+VhdslceUWBZQDp5oucrXnpod6M3d6RsV4KO6obMX+ 0R1nfkeg24OE0azy4kdwRWIIcPh3+cOCMijc/3JP/s/TQCOrMjjhp3F/CFYzr3tMRC61 +Y/KaUiSPmolU1ZWba7PrcAmB7wKNjHK8kDKznJ2D+9WL+l7lyBODsui+Sp6XfAuhGAW 4426YzxRChr49kXW0y4K0C73WFZGRlBsiber0s+JD697dvPM6esc7RwcncX9ydJUIi2q nt7w== X-Gm-Message-State: AOJu0Yz+cgnFSIADlXy2+wE8Zj5gYUdsja9pNcApHn6yG2bt/r5xnQ4u to0QVy1h4pc7xNatJ6vJZRwSBdyIJd06QeNVgsQ8v+RqEhH+jtPe6wdVO2o8wwRbJCnhyZwK73f 6sz4= X-Gm-Gg: ASbGncsSxqO5KPh9uiGK8vD3EYAN8dv3UEB1Jjp8DDr/WG84lx/wrzRE1TaztoopVZk PiPa7mPbtr1tirMeW1o8nHZgOcDjpwuqBfhGFPkKiG09Au2lPtHWVSG8BjUmJ7Pe7DaAi7OP5u3 RarrRC+Yjs2gWC7TGmxNP7BBY4zIofglC0SE5EH6ynn7ltQZvw/oFELlmfQjWGl6Q70wtFGvOfo b/p8IwTduxAS5Kx8C6BecdGJ6Vtfjq+ivyH/tbdqTg6li2zz6RmEANM2cUsfJYkrK7Gu2MXWK9n j5Ypwm/oV38sd74PozStKEI2JI5iR8BWNZ/P9+80ASPJtTz9ueUiBCe5ZrYUmSKGUaQ4L8M= X-Received: by 2002:a5d:4a91:0:b0:38f:2ef1:dd2b with SMTP id ffacd0b85a97d-38f33f2f2d5mr4541276f8f.22.1739739670333; Sun, 16 Feb 2025 13:01:10 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38f259d94acsm10599645f8f.75.2025.02.16.13.01.09 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 16 Feb 2025 13:01:09 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Thomas Huth , Markus Armbruster , Richard Henderson Subject: [PULL 29/39] hw/qdev-properties-system: Introduce EndianMode QAPI enum Date: Sun, 16 Feb 2025 22:00:53 +0100 Message-ID: <20250216210103.70235-2-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250216210103.70235-1-philmd@linaro.org> References: <20250216210103.70235-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.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 Introduce the EndianMode type and the DEFINE_PROP_ENDIAN() macros. Endianness can be BIG, LITTLE or unspecified (default). Reviewed-by: Thomas Huth Acked-by: Markus Armbruster Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20250213122217.62654-2-philmd@linaro.org> --- qapi/common.json | 14 ++++++++++++++ include/hw/qdev-properties-system.h | 7 +++++++ hw/core/qdev-properties-system.c | 11 +++++++++++ 3 files changed, 32 insertions(+) diff --git a/qapi/common.json b/qapi/common.json index 6ffc7a37890..0e3a0bbbfb0 100644 --- a/qapi/common.json +++ b/qapi/common.json @@ -212,3 +212,17 @@ ## { 'struct': 'HumanReadableText', 'data': { 'human-readable-text': 'str' } } + +## +# @EndianMode: +# +# @unspecified: Endianness not specified +# +# @little: Little endianness +# +# @big: Big endianness +# +# Since: 10.0 +## +{ 'enum': 'EndianMode', + 'data': [ 'unspecified', 'little', 'big' ] } diff --git a/include/hw/qdev-properties-system.h b/include/hw/qdev-properties-system.h index 7ec37f6316c..ead4dfc2f02 100644 --- a/include/hw/qdev-properties-system.h +++ b/include/hw/qdev-properties-system.h @@ -30,6 +30,7 @@ extern const PropertyInfo qdev_prop_pcie_link_speed; extern const PropertyInfo qdev_prop_pcie_link_width; extern const PropertyInfo qdev_prop_cpus390entitlement; extern const PropertyInfo qdev_prop_iothread_vq_mapping_list; +extern const PropertyInfo qdev_prop_endian_mode; #define DEFINE_PROP_PCI_DEVFN(_n, _s, _f, _d) \ DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_pci_devfn, int32_t) @@ -97,4 +98,10 @@ extern const PropertyInfo qdev_prop_iothread_vq_mapping_list; DEFINE_PROP(_name, _state, _field, qdev_prop_iothread_vq_mapping_list, \ IOThreadVirtQueueMappingList *) +#define DEFINE_PROP_ENDIAN(_name, _state, _field, _default) \ + DEFINE_PROP_UNSIGNED(_name, _state, _field, _default, \ + qdev_prop_endian_mode, EndianMode) +#define DEFINE_PROP_ENDIAN_NODEFAULT(_name, _state, _field) \ + DEFINE_PROP_ENDIAN(_name, _state, _field, ENDIAN_MODE_UNSPECIFIED) + #endif diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c index a96675beb0d..89f954f569e 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -1283,3 +1283,14 @@ const PropertyInfo qdev_prop_iothread_vq_mapping_list = { .set = set_iothread_vq_mapping_list, .release = release_iothread_vq_mapping_list, }; + +/* --- Endian modes */ + +const PropertyInfo qdev_prop_endian_mode = { + .name = "EndianMode", + .description = "Endian mode, big/little/unspecified", + .enum_table = &EndianMode_lookup, + .get = qdev_propinfo_get_enum, + .set = qdev_propinfo_set_enum, + .set_default_value = qdev_propinfo_set_default_value_enum, +}; From patchwork Sun Feb 16 21:00:54 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: 865553 Delivered-To: patch@linaro.org Received: by 2002:a5d:64e6:0:b0:38f:210b:807b with SMTP id g6csp829376wri; Sun, 16 Feb 2025 13:03:18 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVwK+YGOmgMWMMUfqgQ1CPUvgKA7I8Lg8SmsSTWCvqUr/n+6C87d1Mk2SeqbF6g3S+xIdiJ8Q==@linaro.org X-Google-Smtp-Source: AGHT+IFtNT0rR83yepE55+IxDyOkrNftcXsVR+7BrOQSixCPMT7HsuxQuVa4ZgkGPdjD4Sfm2DF7 X-Received: by 2002:a05:620a:269a:b0:7c0:815a:86c with SMTP id af79cd13be357-7c08a986164mr975234485a.12.1739739798292; Sun, 16 Feb 2025 13:03:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739739798; cv=none; d=google.com; s=arc-20240605; b=VRsvdw05BGTfLWopDb5jp0djqKyUMX/j0p/FjGS4ghmSXgaj/VA6FL/dBCNpbH/IBc oBSPoMq1ysyYL61YQQx7lXY406vvPD/rawtPyllYJi+T9LsQePaeAxjUAcdcA8tQ0ePm GzFxBvm7ONpMn+cnDtiHc+sXWjalTS8ifcdbflFW0LtWDO6gN25MSXjLFCnLxObpLDbA 34RAJbQBL4CzQxPSsoBupvlo8vTYXCHtD3G8G/wGjfWUDy3XRiLnq6Xci9dnT7MCBbfc rX3nw7VY1LzKj8QvGu4lB08ZzfVOze+gIuNK92eECcOhLDrYE+/qTA+LkgnJnrP+T0+n i+3Q== 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=8IMvfO4o/agm7L6NLc4FG/zYA2UrHgmzt/pzSV5lev0=; fh=PGfEOx04XnvL/8Nun0MfKnWqAt99bm+Sh5MxcMxSB00=; b=UWeO6C4gxeItVF8k8uxzVOkIJBTXc22RmdaIraHjctLb0+vTSYpNg0jBaAdFckhkFK QkUKGsJehnbuTEuCrrki73SsRnhCM0+MeveJeXvP/r9SaWoQX5satvlUhLwSCP0qACFn lHSTn1d5SObdw32Z18mwUomaEEnia+KvXVsBlz292eigsuwkj38BVmsRIUWKcQ5bceOX vPC42ojjMYbYSRr5mL8rQ/7RfgOQAwoBS07OdPP7tDv2VbTXQeo5mQ7mJewnUFF6ewyX a6n2oK+eW9lClQ38VNQ86RXkiHWVoao0bl1R16EX9OG1sXYoq+P5rBD7DJ8SmUN+4Acf ie3Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=rTsU7nOE; 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-7c09a29279fsi117628885a.638.2025.02.16.13.03.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 Feb 2025 13:03:18 -0800 (PST) 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=rTsU7nOE; 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 1tjllm-0002z3-Q9; Sun, 16 Feb 2025 16:01:43 -0500 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 1tjllP-0002xO-ID for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:20 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tjllN-0007u3-Cj for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:19 -0500 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-38a25d4b9d4so2347043f8f.0 for ; Sun, 16 Feb 2025 13:01:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739739675; x=1740344475; 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=8IMvfO4o/agm7L6NLc4FG/zYA2UrHgmzt/pzSV5lev0=; b=rTsU7nOEbjG7XzLA6GxEllDFyqmWojnwyeHs7k/AlzE6hnZT9Oh0H7c3VvVbk6u8Oo uD1aAzHCBy3ndzeMX1dVgSv8Y+R7bPDhp4xtaLQzCrSE1jSa6YLxi0QImCYtATSt64Mp 4ZWW2f7R6vZDhi8WpgmOCAGqYAkqTGfx5esz9Y4ym84SwXJMubbeHdZsqRwpsgxLxoA9 IZ3tPzWW/acRP7seWN+p8Hi8vX2/lHpyPC9KvMmX0BJPI6rjFrwkH6isU0cTvHRyL8Ia hlYMvtvguTukCgdgW9UPOlUvSUvAUtVAQyKFnTYmMhw3PjPka72mUfTr/ZywPVzmh3l8 ZSVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739739675; x=1740344475; 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=8IMvfO4o/agm7L6NLc4FG/zYA2UrHgmzt/pzSV5lev0=; b=moSBtI7sFoxAAF6PJhFa2rwnZUGE1dQ8cs+B6vfVhZZY0QGy1XLUi1U7PBcBIVTiZo d9mu6OLGC11p/D+IILUL4xmGk3ULJt3FGl2XxfxLGhkUs9YUHOj8GO+VNjWSjEBbK5Ah Oxh9SZTt3Z4rdaW1EJBRsjVa/d9KjJYqAXbWY/Y/YpE/WanHOpC/NvNrlPbj+B2P6ZWO A1wqfZH1gyioRhXtEJmIzNO2GHEX7MhT7LI+gWVrHRc5n/8Nv75fBrqQaIAN45wArGmu ggp0rYtIlCzlwstoU57kDgug76lxhdIoSeoF0jlKkLxNs62sHlYmBFkjdrSx/LIG7i7T CrtA== X-Gm-Message-State: AOJu0Yyv5gC2qGj1lcLcQHhonFicWa8dLnIyeD8nIvHEhDxPnAy9WbNI bqdalsFNl2tAm7IkRL8rmhZbeEqBCed21pmFXidi4DT2ETTmE181GuemwaqiFBOf+6C+yhNkgpt wc/o= X-Gm-Gg: ASbGncurwmhWmd6sVn3xJuWB8Gx5xuk94LSBBZHJhneP/z2lppFo7cldTLMCLBWBGd8 95VAVvPz7D3I4C0tVkpgeGRIGNg7Oqv0Ngm1oZ/SwhoYCHSWW32t2KzJyS3W4b2Pjyay38xUfU6 MJ8iFD7Eij60IKRaO6wL/0ZDjuByEgwjUkwkf5i6Bc0lu8DeK7eTk+kSyH2RDMmJpu2KwcOPJ6h 0H/zwlJTF6dYKFJqf/45QMCNHngSLYEWfMNbb2B8f3itjlralqFpBn1rtrnSTlh2hWZ5tO7xbKE gh77nIjwslC4Qv0yk6rqaI6v5SqviHwuHYU9T8/BRQQaKnMoQms93u63Dfa3ZpI90V7VupM= X-Received: by 2002:a5d:6d81:0:b0:38d:d0ca:fbd5 with SMTP id ffacd0b85a97d-38f33f44dd0mr4790198f8f.22.1739739675135; Sun, 16 Feb 2025 13:01:15 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-439618a98cesm102363335e9.37.2025.02.16.13.01.14 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 16 Feb 2025 13:01:14 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Thomas Huth , Richard Henderson Subject: [PULL 30/39] hw/intc/xilinx_intc: Make device endianness configurable Date: Sun, 16 Feb 2025 22:00:54 +0100 Message-ID: <20250216210103.70235-3-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250216210103.70235-1-philmd@linaro.org> References: <20250216210103.70235-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=philmd@linaro.org; helo=mail-wr1-x433.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 Replace the DEVICE_NATIVE_ENDIAN MemoryRegionOps by a pair of DEVICE_LITTLE_ENDIAN / DEVICE_BIG_ENDIAN. Add the "endianness" property to select the device endianness. This property is unspecified by default, and machines need to set it explicitly. Set the proper endianness for each machine using the device. Reviewed-by: Thomas Huth Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20250213122217.62654-3-philmd@linaro.org> --- hw/intc/xilinx_intc.c | 59 ++++++++++++++++++------ hw/microblaze/petalogix_ml605_mmu.c | 3 ++ hw/microblaze/petalogix_s3adsp1800_mmu.c | 3 ++ hw/ppc/virtex_ml507.c | 1 + hw/riscv/microblaze-v-generic.c | 1 + 5 files changed, 53 insertions(+), 14 deletions(-) diff --git a/hw/intc/xilinx_intc.c b/hw/intc/xilinx_intc.c index 6930f83907a..ab1c4a32221 100644 --- a/hw/intc/xilinx_intc.c +++ b/hw/intc/xilinx_intc.c @@ -3,6 +3,9 @@ * * Copyright (c) 2009 Edgar E. Iglesias. * + * https://docs.amd.com/v/u/en-US/xps_intc + * DS572: LogiCORE IP XPS Interrupt Controller (v2.01a) + * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights @@ -23,10 +26,12 @@ */ #include "qemu/osdep.h" +#include "qapi/error.h" #include "hw/sysbus.h" #include "qemu/module.h" #include "hw/irq.h" #include "hw/qdev-properties.h" +#include "hw/qdev-properties-system.h" #include "qom/object.h" #define D(x) @@ -49,6 +54,7 @@ struct XpsIntc { SysBusDevice parent_obj; + EndianMode model_endianness; MemoryRegion mmio; qemu_irq parent_irq; @@ -140,18 +146,28 @@ static void pic_write(void *opaque, hwaddr addr, update_irq(p); } -static const MemoryRegionOps pic_ops = { - .read = pic_read, - .write = pic_write, - .endianness = DEVICE_NATIVE_ENDIAN, - .impl = { - .min_access_size = 4, - .max_access_size = 4, +static const MemoryRegionOps pic_ops[2] = { + [0 ... 1] = { + .read = pic_read, + .write = pic_write, + .impl = { + .min_access_size = 4, + .max_access_size = 4, + }, + .valid = { + /* + * All XPS INTC registers are accessed through the PLB interface. + * The base address for these registers is provided by the + * configuration parameter, C_BASEADDR. Each register is 32 bits + * although some bits may be unused and is accessed on a 4-byte + * boundary offset from the base address. + */ + .min_access_size = 4, + .max_access_size = 4, + }, }, - .valid = { - .min_access_size = 4, - .max_access_size = 4 - } + [0].endianness = DEVICE_LITTLE_ENDIAN, + [1].endianness = DEVICE_BIG_ENDIAN, }; static void irq_handler(void *opaque, int irq, int level) @@ -174,13 +190,27 @@ static void xilinx_intc_init(Object *obj) qdev_init_gpio_in(DEVICE(obj), irq_handler, 32); sysbus_init_irq(SYS_BUS_DEVICE(obj), &p->parent_irq); - - memory_region_init_io(&p->mmio, obj, &pic_ops, p, "xlnx.xps-intc", - R_MAX * 4); sysbus_init_mmio(SYS_BUS_DEVICE(obj), &p->mmio); } +static void xilinx_intc_realize(DeviceState *dev, Error **errp) +{ + XpsIntc *p = XILINX_INTC(dev); + + if (p->model_endianness == ENDIAN_MODE_UNSPECIFIED) { + error_setg(errp, TYPE_XILINX_INTC " property 'endianness'" + " must be set to 'big' or 'little'"); + return; + } + + memory_region_init_io(&p->mmio, OBJECT(dev), + &pic_ops[p->model_endianness == ENDIAN_MODE_BIG], + p, "xlnx.xps-intc", + R_MAX * 4); +} + static const Property xilinx_intc_properties[] = { + DEFINE_PROP_ENDIAN_NODEFAULT("endianness", XpsIntc, model_endianness), DEFINE_PROP_UINT32("kind-of-intr", XpsIntc, c_kind_of_intr, 0), }; @@ -188,6 +218,7 @@ static void xilinx_intc_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); + dc->realize = xilinx_intc_realize; device_class_set_props(dc, xilinx_intc_properties); } diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c index 8b44be75a22..a876aeb0bba 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -80,6 +80,8 @@ petalogix_ml605_init(MachineState *machine) MemoryRegion *phys_lmb_bram = g_new(MemoryRegion, 1); MemoryRegion *phys_ram = g_new(MemoryRegion, 1); qemu_irq irq[32]; + EndianMode endianness = TARGET_BIG_ENDIAN ? ENDIAN_MODE_BIG + : ENDIAN_MODE_LITTLE; /* init CPUs */ cpu = MICROBLAZE_CPU(object_new(TYPE_MICROBLAZE_CPU)); @@ -111,6 +113,7 @@ petalogix_ml605_init(MachineState *machine) dev = qdev_new("xlnx.xps-intc"); + qdev_prop_set_enum(dev, "endianness", endianness); qdev_prop_set_uint32(dev, "kind-of-intr", 1 << TIMER_IRQ); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, INTC_BASEADDR); diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c index 2c0d8c34cd2..15cabe11777 100644 --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c @@ -71,6 +71,8 @@ petalogix_s3adsp1800_init(MachineState *machine) MemoryRegion *phys_ram = g_new(MemoryRegion, 1); qemu_irq irq[32]; MemoryRegion *sysmem = get_system_memory(); + EndianMode endianness = TARGET_BIG_ENDIAN ? ENDIAN_MODE_BIG + : ENDIAN_MODE_LITTLE; cpu = MICROBLAZE_CPU(object_new(TYPE_MICROBLAZE_CPU)); object_property_set_str(OBJECT(cpu), "version", "7.10.d", &error_abort); @@ -95,6 +97,7 @@ petalogix_s3adsp1800_init(MachineState *machine) 64 * KiB, 1, 0x89, 0x18, 0x0000, 0x0, 1); dev = qdev_new("xlnx.xps-intc"); + qdev_prop_set_enum(dev, "endianness", endianness); qdev_prop_set_uint32(dev, "kind-of-intr", 1 << ETHLITE_IRQ | 1 << UARTLITE_IRQ); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c index 23238119273..df8f9644829 100644 --- a/hw/ppc/virtex_ml507.c +++ b/hw/ppc/virtex_ml507.c @@ -217,6 +217,7 @@ static void virtex_init(MachineState *machine) cpu_irq = qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT); dev = qdev_new("xlnx.xps-intc"); + qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_BIG); qdev_prop_set_uint32(dev, "kind-of-intr", 0); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, INTC_BASEADDR); diff --git a/hw/riscv/microblaze-v-generic.c b/hw/riscv/microblaze-v-generic.c index 26788a1824a..ebdd461ae98 100644 --- a/hw/riscv/microblaze-v-generic.c +++ b/hw/riscv/microblaze-v-generic.c @@ -79,6 +79,7 @@ static void mb_v_generic_init(MachineState *machine) memory_region_add_subregion(sysmem, ddr_base, phys_ram); dev = qdev_new("xlnx.xps-intc"); + qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_LITTLE); qdev_prop_set_uint32(dev, "kind-of-intr", 1 << UARTLITE_IRQ); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); From patchwork Sun Feb 16 21:00:55 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: 865555 Delivered-To: patch@linaro.org Received: by 2002:a5d:64e6:0:b0:38f:210b:807b with SMTP id g6csp829425wri; Sun, 16 Feb 2025 13:03:28 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUzl/M/5WwwvjOVmhXVMegTtPiKciYqHJkaWfWpjP/ocOWQtKK5RT6BRSkGzg7UfChpKiqdlA==@linaro.org X-Google-Smtp-Source: AGHT+IFVX5CzGFEXJMGqg/rHoHFXLoxCBtL7zsXeJ641RUHI8OCZdAZFh3/JHQAJWVOisFAwZmx8 X-Received: by 2002:a05:620a:2948:b0:7b6:edd0:d754 with SMTP id af79cd13be357-7c08a9862fcmr969263785a.9.1739739807754; Sun, 16 Feb 2025 13:03:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739739807; cv=none; d=google.com; s=arc-20240605; b=U3JCp4UZF2ALjGaRkIlqyaA01uiMYtjErVqhJXt2Hz0QpnxqlNwV5U/rq7dhUr/lyZ oZx9srhcgc75D4+SJAkdocrX8MSpGdrVOPO7RsX1fC5xUzv7UVY2DXo7emsbn1LaM77T XCKz93Pe5GKwEvG1HyRdP5uHZPM8rNrATzxoEymFhVZlcA8p9jK278/4zrv4QKVYrj3S UW2Oxc4yGpsTcwXA5xFljNIWREIfxNPt1W/sc3jqpmNSvtfDKGBrYemZExtLrwfW+8jk 1+kDJ90+BGAhP6vOt6GDfNGiEXxzsPRlxGtHtv828Q4MN6T+ydB4faoR4Lv1uEZvVl1/ /dZA== 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=Wrm+gmtrLNVt14xuZM8s4Q4nLZI3fouuzjwm1bbZKOw=; fh=PGfEOx04XnvL/8Nun0MfKnWqAt99bm+Sh5MxcMxSB00=; b=JGuHX/kNUF2WP1ZaI/AkD8a4JJQwXUC7JwgVltPgxwxmq1V7vfbkiqCAMmpfEVRucp 3l4utZLPI8HD+0gQqOLXwp/UzeAYCr9rhmFdVjT7re/88g7M9xWPwievs8RkLfqb+Zi4 97MVX6C0l+n3Tjm6O21nBmiODXKTy0Oj7390RkfoQ6Hw25djto9OIh9tf/MiWaWGJ7bj HIAHwMMoPljplW0UjhOoG1C7XMJPCq5Z7EhgepohYSK4/lsrjGndJVvieBI0ulXWYvS5 0i6wX+zW9CcwqA3tMsETNN1sbuAZ7tzGqpWKQmVNAvnrillzvPNWL5yIqJsMPizONMLx d0Lg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JYPxXBzi; 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-7c09df5e41csi84005885a.414.2025.02.16.13.03.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 Feb 2025 13:03:27 -0800 (PST) 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=JYPxXBzi; 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 1tjllp-0002zt-AJ; Sun, 16 Feb 2025 16:01:45 -0500 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 1tjllV-0002xr-He for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:34 -0500 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tjllR-0007uR-Se for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:23 -0500 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-38f3913569fso532506f8f.1 for ; Sun, 16 Feb 2025 13:01:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739739680; x=1740344480; 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=Wrm+gmtrLNVt14xuZM8s4Q4nLZI3fouuzjwm1bbZKOw=; b=JYPxXBziNvH2WB3W1tVnmXQ0m0lrULhxA0UruLvJPdIYJEm9usg5AB1cBQg6gIwdRM rIWj5au+GgegiypBTWrLODq1LA0os65NxaOcV7vCtml5gwEB1oVEvZfDWtOkr/AQEZD2 iIQNUxhqEH5Tb4JnjwSylgQyU1lGzeK2ATwwzvHj/3vON1/FjL3REAZ4onPRGG88SXfD 1ysYGp6fWufZ7wJwJ4FsAMTB2PU0dkYpNRxPVcQw9f3c9Tx2IcfH/wdGsWB68ca7hRM6 e3Lryapgg14Zqu7QoHwHz64BjVSJFMZFK4Tdw27LgzxCLCZ28VxMFa1PWBmn0lSGTEmt 7Z4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739739680; x=1740344480; 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=Wrm+gmtrLNVt14xuZM8s4Q4nLZI3fouuzjwm1bbZKOw=; b=BgxgjnQ7ZE57t/W0Lj+h+WBm7qjQZtSsLxG/Vw9dkuJeaAhmasGxAo2t5FrlNiRBXl 9Kki9uDRN+ufoMaaYT85tEIu53nENhOiagLUDpclbHyLu16yUyYu04AtZco1UiQwtE1/ msnZ3THnFagt9NFsKz/tP/lI3HAD8g+mfWLVSZgWWYF6Z9WDT/MLz7EYyZg/1HycbgqW L/YrsDoWakvxbNjatF1vY4f8AqmngUgMYXLkHbKyz2anvA3lxJbaV/Am127UP613kSKi O20zzkPiM0PAhhbLf077/02YpPV6Up64G936/qOrC2M9oKr6ee/uVoUtXBotak4i+l+8 Z0pg== X-Gm-Message-State: AOJu0YyFqVWmg/LmeV8hFpSYGQiSkKssxU2TaWY+gkC1SAOAF57cdbX2 QDZg01TbY8DgT4Ted7kPpzl8D17k5Y/t/94T05+fQOFhzKJVqmQsH0OoLsy80HDdqoEOK6myGC8 ISAw= X-Gm-Gg: ASbGncsJ+6f9ORB/NbzAA9UB+VI6ORtgH3JjN8fOcTXs8wBghk9+EKgzJMxOXay963S E4gRjOtrzDFiUZNymayKqPTWd/34DCwTIt8LJOqXNT5v2eCBGft7rulHQBdvGjcGGOU8Jw1Wuvv jsMADZNVMD1YeLSDj0wV8SDREotZrQn/2e2+0Tn7oLsPs/n0zG8OgY4x1c1BXFFhP+90NuWoToH qzQIPd1WcPqaU6cEoXDSdEPhPByDGJxx5/wrCRmOF9Zlm3N5l+SXDqRjd5S64OvNf5l9GHNIyfH Il8X1ObKpPZp4sBb/jnZEQroXMSnqvDuaXxvbArRmEoLmtWWFH4X3aZLKgZfJKiKk/M2Hhg= X-Received: by 2002:a5d:59c8:0:b0:38e:dcd1:3366 with SMTP id ffacd0b85a97d-38f24d74705mr14170000f8f.20.1739739679799; Sun, 16 Feb 2025 13:01:19 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4398872fa85sm312805e9.28.2025.02.16.13.01.18 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 16 Feb 2025 13:01:19 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Thomas Huth , Richard Henderson Subject: [PULL 31/39] hw/net/xilinx_ethlite: Make device endianness configurable Date: Sun, 16 Feb 2025 22:00:55 +0100 Message-ID: <20250216210103.70235-4-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250216210103.70235-1-philmd@linaro.org> References: <20250216210103.70235-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.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 Replace the DEVICE_NATIVE_ENDIAN MemoryRegionOps by a pair of DEVICE_LITTLE_ENDIAN / DEVICE_BIG_ENDIAN. Add the "endianness" property to select the device endianness. This property is unspecified by default, and machines need to set it explicitly. Set the proper endianness for each machine using the device. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Reviewed-by: Richard Henderson Message-Id: <20250213122217.62654-4-philmd@linaro.org> --- hw/microblaze/petalogix_s3adsp1800_mmu.c | 1 + hw/net/xilinx_ethlite.c | 29 +++++++++++++++++++----- hw/riscv/microblaze-v-generic.c | 1 + 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c index 15cabe11777..d419dc49a25 100644 --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c @@ -123,6 +123,7 @@ petalogix_s3adsp1800_init(MachineState *machine) sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq[TIMER_IRQ]); dev = qdev_new("xlnx.xps-ethernetlite"); + qdev_prop_set_enum(dev, "endianness", endianness); qemu_configure_nic_device(dev, true, NULL); qdev_prop_set_uint32(dev, "tx-ping-pong", 0); qdev_prop_set_uint32(dev, "rx-ping-pong", 0); diff --git a/hw/net/xilinx_ethlite.c b/hw/net/xilinx_ethlite.c index 14bf2b2e17a..15d9b95aa80 100644 --- a/hw/net/xilinx_ethlite.c +++ b/hw/net/xilinx_ethlite.c @@ -34,6 +34,7 @@ #include "hw/sysbus.h" #include "hw/irq.h" #include "hw/qdev-properties.h" +#include "hw/qdev-properties-system.h" #include "hw/misc/unimp.h" #include "net/net.h" #include "trace.h" @@ -85,6 +86,7 @@ struct XlnxXpsEthLite { SysBusDevice parent_obj; + EndianMode model_endianness; MemoryRegion container; qemu_irq irq; NICState *nic; @@ -183,10 +185,10 @@ static void port_tx_write(void *opaque, hwaddr addr, uint64_t value, } } -static const MemoryRegionOps eth_porttx_ops = { +static const MemoryRegionOps eth_porttx_ops[2] = { + [0 ... 1] = { .read = port_tx_read, .write = port_tx_write, - .endianness = DEVICE_NATIVE_ENDIAN, .impl = { .min_access_size = 4, .max_access_size = 4, @@ -195,6 +197,9 @@ static const MemoryRegionOps eth_porttx_ops = { .min_access_size = 4, .max_access_size = 4, }, + }, + [0].endianness = DEVICE_LITTLE_ENDIAN, + [1].endianness = DEVICE_BIG_ENDIAN, }; static uint64_t port_rx_read(void *opaque, hwaddr addr, unsigned int size) @@ -232,10 +237,10 @@ static void port_rx_write(void *opaque, hwaddr addr, uint64_t value, } } -static const MemoryRegionOps eth_portrx_ops = { +static const MemoryRegionOps eth_portrx_ops[2] = { + [0 ... 1] = { .read = port_rx_read, .write = port_rx_write, - .endianness = DEVICE_NATIVE_ENDIAN, .impl = { .min_access_size = 4, .max_access_size = 4, @@ -244,6 +249,9 @@ static const MemoryRegionOps eth_portrx_ops = { .min_access_size = 4, .max_access_size = 4, }, + }, + [0].endianness = DEVICE_LITTLE_ENDIAN, + [1].endianness = DEVICE_BIG_ENDIAN, }; static bool eth_can_rx(NetClientState *nc) @@ -300,6 +308,14 @@ static NetClientInfo net_xilinx_ethlite_info = { static void xilinx_ethlite_realize(DeviceState *dev, Error **errp) { XlnxXpsEthLite *s = XILINX_ETHLITE(dev); + unsigned ops_index; + + if (s->model_endianness == ENDIAN_MODE_UNSPECIFIED) { + error_setg(errp, TYPE_XILINX_ETHLITE " property 'endianness'" + " must be set to 'big' or 'little'"); + return; + } + ops_index = s->model_endianness == ENDIAN_MODE_BIG ? 1 : 0; memory_region_init(&s->container, OBJECT(dev), "xlnx.xps-ethernetlite", 0x2000); @@ -328,7 +344,7 @@ static void xilinx_ethlite_realize(DeviceState *dev, Error **errp) BUFSZ_MAX, &error_abort); memory_region_add_subregion(&s->container, 0x0800 * i, &s->port[i].txbuf); memory_region_init_io(&s->port[i].txio, OBJECT(dev), - ð_porttx_ops, s, + ð_porttx_ops[ops_index], s, i ? "ethlite.tx[1]io" : "ethlite.tx[0]io", 4 * TX_MAX); memory_region_add_subregion(&s->container, i ? A_TX_BASE1 : A_TX_BASE0, @@ -340,7 +356,7 @@ static void xilinx_ethlite_realize(DeviceState *dev, Error **errp) memory_region_add_subregion(&s->container, 0x1000 + 0x0800 * i, &s->port[i].rxbuf); memory_region_init_io(&s->port[i].rxio, OBJECT(dev), - ð_portrx_ops, s, + ð_portrx_ops[ops_index], s, i ? "ethlite.rx[1]io" : "ethlite.rx[0]io", 4 * RX_MAX); memory_region_add_subregion(&s->container, i ? A_RX_BASE1 : A_RX_BASE0, @@ -363,6 +379,7 @@ static void xilinx_ethlite_init(Object *obj) } static const Property xilinx_ethlite_properties[] = { + DEFINE_PROP_ENDIAN_NODEFAULT("endianness", XlnxXpsEthLite, model_endianness), DEFINE_PROP_UINT32("tx-ping-pong", XlnxXpsEthLite, c_tx_pingpong, 1), DEFINE_PROP_UINT32("rx-ping-pong", XlnxXpsEthLite, c_rx_pingpong, 1), DEFINE_NIC_PROPERTIES(XlnxXpsEthLite, conf), diff --git a/hw/riscv/microblaze-v-generic.c b/hw/riscv/microblaze-v-generic.c index ebdd461ae98..a21fdfbe6db 100644 --- a/hw/riscv/microblaze-v-generic.c +++ b/hw/riscv/microblaze-v-generic.c @@ -120,6 +120,7 @@ static void mb_v_generic_init(MachineState *machine) /* Emaclite */ dev = qdev_new("xlnx.xps-ethernetlite"); + qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_LITTLE); qemu_configure_nic_device(dev, true, NULL); qdev_prop_set_uint32(dev, "tx-ping-pong", 0); qdev_prop_set_uint32(dev, "rx-ping-pong", 0); From patchwork Sun Feb 16 21:00:56 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: 865554 Delivered-To: patch@linaro.org Received: by 2002:a5d:64e6:0:b0:38f:210b:807b with SMTP id g6csp829400wri; Sun, 16 Feb 2025 13:03:22 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWN1VQxoz6BNwN+Q/9ZNA44qBuejUbtfSScMTiZsbx7qPBI/YAt1nTuT6bkjLM/Elb7PVUtew==@linaro.org X-Google-Smtp-Source: AGHT+IEQXqNISyxj5oI6F79VKn6PJegmzovG2FGPAfmROE96xBLhsflIUhfbcU1zCGd+TDmY/Y79 X-Received: by 2002:a05:622a:c6:b0:46f:d928:2db6 with SMTP id d75a77b69052e-471c011264amr207919971cf.7.1739739801986; Sun, 16 Feb 2025 13:03:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739739801; cv=none; d=google.com; s=arc-20240605; b=bqPeLbcwqQUPrU9L7hTqlFI3/L/mkRjiQhhmXIw4l7y9QW4uLqOo2ZoPiIjX56r/RE Wi6ZI9t0DcMzphQWsm1b6wOJrg1QQrSLbYAXOgvPLY62vmYHLvhXcncHuyG+Pb4Ey0e0 e/LmlBlur+ResWimTYOl3U7WJZS4ZDU1DbX/+Xdibqbgpy+OlSlpoHscrrCFKQDSQm7r TgK59PHQMuWIGjGMkZxRAPeRJCBsMty7eGPBMiIbeEyc0ESDBBZuCB/vQjeg90V4Jj+z pd3EhOj1kvPCbuNPygFIm+sl759f/EX+VpyH3BSa+KHSeoUjH78gJ4B/3Y+D/cRo9KEb gCXg== 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=e4BWG0UyJBMGuNS/Yd69+AKuKZVB4ktl8qLDFtIcsAU=; fh=PGfEOx04XnvL/8Nun0MfKnWqAt99bm+Sh5MxcMxSB00=; b=RePtoz178rYXixzGzuvacOHXj/vC0nyDUrzsGY/1blLMK8XwN81KcHZVu5UekmzmB2 oQcnRk8m9vr3Vmg/h4D2izGLovZaNKdMe/uTI3pPtKYQYNqpm4pdnrQlVPAg3vYb0i5/ IKXs0YoJySaqbYmRLKBDOHWXoGGZU7srY5wnq5akGMGt/TLoPzJqkXIoNEX78k4lxJZ6 ucMTdd2KxAZdeKnOTHC8dojQimCsur4vFrQBcWaomZf14v481+iMKOTvYFIo+i8/lCsK OMGVI5z4pPWjOTIT5cZYG1wWUMJpjERtHIk69W3+qSbNL2wkeqf8UHwwtZkuie17nEu9 MlJQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=r6md0mql; 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-471f20851b9si5576891cf.268.2025.02.16.13.03.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 Feb 2025 13:03:21 -0800 (PST) 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=r6md0mql; 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 1tjlln-0002zq-KU; Sun, 16 Feb 2025 16:01:43 -0500 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 1tjlla-0002yB-Ft for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:39 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tjllX-0007uw-Mk for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:29 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-43963935585so36581005e9.0 for ; Sun, 16 Feb 2025 13:01:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739739685; x=1740344485; 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=e4BWG0UyJBMGuNS/Yd69+AKuKZVB4ktl8qLDFtIcsAU=; b=r6md0mqlP3aLLP9jSi6zD3jaj7rlcWdFWNcdI7mvP+RVyzBldhsNxVTkWJOkE1zj/7 pl8F6n4x0n1avFOr+QILBgj56mtsE4qDfbvSlUrmFurdxfEufLgU2JdhqL8VgWJANjOy 7Zzzqn8IYJLk1ss9a8gmPFnTc4OkFOuSuTKcxwjR21EGx4d2KHaitsHuaJkl6kcuqq9y X3s7seri0w98UlA81IsRXrSE0Bmt+8u/HLmjwUV/RAEegCA2CdXxqphieGEUfZayzyZZ PWcZQDYHC82WXNVV6EGAZ/Gl5UTM85sDuIl8iWmfBoZlyl8EumFBAcus3HANw71diMcv fdTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739739685; x=1740344485; 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=e4BWG0UyJBMGuNS/Yd69+AKuKZVB4ktl8qLDFtIcsAU=; b=ivGzhcd1YtVjBgnu8q1K7pWPYXNqqwXDRSKn6zoULmN7kHxVUTaolEtIuMjNry0b5/ S4AsknqxHTHFr5pRSaOYk6Mj6YIzlsRk0orDSORYWS0sO6D/zJgkH4ILRz+nOOTC3kO8 QoLN0dwxg6zSLwZK7bsFYmHovfig9j2ygh58TyNeSB2Tlp56rCPGTL7YIlQJ6aBb30uM pHK/q9oJKj2axW+COgVhmzcIu1kwjhGAMyEz8zZ2QnQpgnWX7c9cqitPlszN18hVcEex 9+IMTOYhOBKaWySckKjLDO3JRUrKKxtpTr3M9aGP6Som2P+QwArwyHok6eKiitOnm757 SWLg== X-Gm-Message-State: AOJu0Yw2On7KWBXkceJwWGKtxnS1I3bXCQ3SfKcpmJR3kuN0tz8NjRSK Ux7GGs6VwlyCIh1GVFlcj0BjkMc57xus5P6+C8bYUv7LROEUcK2mWlWausMtwRGvWYgChJ8I2BR xAy4= X-Gm-Gg: ASbGncs6y5h6yGAaIPrkpJE2ECsWQPV56uG6en94pH2eN950tSAuUnOyFm5zdPK9hwA K9bn+vMzg0KukrylLfti+GZtLpMu9ty5mc55pk+WCoHtiKDS8JLg2lEtFqR2M+yhHPe4az3EcFE 4nJ0VmfSTIxjj/c5l68BaTLWcQpG3kcrVH+AcV0s8ynMFGFf7ioTdr300b+RbU2lFtyFzAvcW9u 3UyO9AQoT70fBQTiwulNYFFHpBwoAljMFgHE9CeG/QeTx1TJJykLnGSlNvT0R44BOlSqTFRWUkv hEUPCPGvxSEErMcRNi71FHNTYNFApmFgtzWSilB0D1Rev/DLn2bBv4/15h9EMTJABqTY3oU= X-Received: by 2002:a05:6000:188c:b0:38d:c557:1147 with SMTP id ffacd0b85a97d-38f33f4e5bbmr7555699f8f.51.1739739685581; Sun, 16 Feb 2025 13:01:25 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38f25915688sm10599309f8f.57.2025.02.16.13.01.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 16 Feb 2025 13:01:24 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Thomas Huth , Richard Henderson Subject: [PULL 32/39] hw/timer/xilinx_timer: Make device endianness configurable Date: Sun, 16 Feb 2025 22:00:56 +0100 Message-ID: <20250216210103.70235-5-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250216210103.70235-1-philmd@linaro.org> References: <20250216210103.70235-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.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 Replace the DEVICE_NATIVE_ENDIAN MemoryRegionOps by a pair of DEVICE_LITTLE_ENDIAN / DEVICE_BIG_ENDIAN. Add the "endianness" property to select the device endianness. This property is unspecified by default, and machines need to set it explicitly. Set the proper endianness for each machine using the device. Reviewed-by: Thomas Huth Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20250213122217.62654-5-philmd@linaro.org> --- hw/microblaze/petalogix_ml605_mmu.c | 1 + hw/microblaze/petalogix_s3adsp1800_mmu.c | 1 + hw/ppc/virtex_ml507.c | 1 + hw/riscv/microblaze-v-generic.c | 2 ++ hw/timer/xilinx_timer.c | 43 +++++++++++++++++------- 5 files changed, 35 insertions(+), 13 deletions(-) diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c index a876aeb0bba..984287fdc53 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -129,6 +129,7 @@ petalogix_ml605_init(MachineState *machine) /* 2 timers at irq 2 @ 100 Mhz. */ dev = qdev_new("xlnx.xps-timer"); + qdev_prop_set_enum(dev, "endianness", endianness); qdev_prop_set_uint32(dev, "one-timer-only", 0); qdev_prop_set_uint32(dev, "clock-frequency", 100 * 1000000); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c index d419dc49a25..caaea222a8c 100644 --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c @@ -116,6 +116,7 @@ petalogix_s3adsp1800_init(MachineState *machine) /* 2 timers at irq 2 @ 62 Mhz. */ dev = qdev_new("xlnx.xps-timer"); + qdev_prop_set_enum(dev, "endianness", endianness); qdev_prop_set_uint32(dev, "one-timer-only", 0); qdev_prop_set_uint32(dev, "clock-frequency", 62 * 1000000); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c index df8f9644829..a01354d991d 100644 --- a/hw/ppc/virtex_ml507.c +++ b/hw/ppc/virtex_ml507.c @@ -231,6 +231,7 @@ static void virtex_init(MachineState *machine) /* 2 timers at irq 2 @ 62 Mhz. */ dev = qdev_new("xlnx.xps-timer"); + qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_BIG); qdev_prop_set_uint32(dev, "one-timer-only", 0); qdev_prop_set_uint32(dev, "clock-frequency", 62 * 1000000); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); diff --git a/hw/riscv/microblaze-v-generic.c b/hw/riscv/microblaze-v-generic.c index a21fdfbe6db..3c79f5733b2 100644 --- a/hw/riscv/microblaze-v-generic.c +++ b/hw/riscv/microblaze-v-generic.c @@ -104,6 +104,7 @@ static void mb_v_generic_init(MachineState *machine) /* 2 timers at irq 0 @ 100 Mhz. */ dev = qdev_new("xlnx.xps-timer"); + qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_LITTLE); qdev_prop_set_uint32(dev, "one-timer-only", 0); qdev_prop_set_uint32(dev, "clock-frequency", 100000000); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); @@ -112,6 +113,7 @@ static void mb_v_generic_init(MachineState *machine) /* 2 timers at irq 3 @ 100 Mhz. */ dev = qdev_new("xlnx.xps-timer"); + qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_LITTLE); qdev_prop_set_uint32(dev, "one-timer-only", 0); qdev_prop_set_uint32(dev, "clock-frequency", 100000000); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); diff --git a/hw/timer/xilinx_timer.c b/hw/timer/xilinx_timer.c index 6595cf5f517..4620528f985 100644 --- a/hw/timer/xilinx_timer.c +++ b/hw/timer/xilinx_timer.c @@ -3,6 +3,9 @@ * * Copyright (c) 2009 Edgar E. Iglesias. * + * DS573: https://docs.amd.com/v/u/en-US/xps_timer + * LogiCORE IP XPS Timer/Counter (v1.02a) + * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights @@ -23,10 +26,12 @@ */ #include "qemu/osdep.h" +#include "qapi/error.h" #include "hw/sysbus.h" #include "hw/irq.h" #include "hw/ptimer.h" #include "hw/qdev-properties.h" +#include "hw/qdev-properties-system.h" #include "qemu/log.h" #include "qemu/module.h" #include "qom/object.h" @@ -69,6 +74,7 @@ struct XpsTimerState { SysBusDevice parent_obj; + EndianMode model_endianness; MemoryRegion mmio; qemu_irq irq; uint8_t one_timer_only; @@ -189,18 +195,21 @@ timer_write(void *opaque, hwaddr addr, timer_update_irq(t); } -static const MemoryRegionOps timer_ops = { - .read = timer_read, - .write = timer_write, - .endianness = DEVICE_NATIVE_ENDIAN, - .impl = { - .min_access_size = 4, - .max_access_size = 4, +static const MemoryRegionOps timer_ops[2] = { + [0 ... 1] = { + .read = timer_read, + .write = timer_write, + .impl = { + .min_access_size = 4, + .max_access_size = 4, + }, + .valid = { + .min_access_size = 4, + .max_access_size = 4, + }, }, - .valid = { - .min_access_size = 4, - .max_access_size = 4 - } + [0].endianness = DEVICE_LITTLE_ENDIAN, + [1].endianness = DEVICE_BIG_ENDIAN, }; static void timer_hit(void *opaque) @@ -220,6 +229,12 @@ static void xilinx_timer_realize(DeviceState *dev, Error **errp) XpsTimerState *t = XILINX_TIMER(dev); unsigned int i; + if (t->model_endianness == ENDIAN_MODE_UNSPECIFIED) { + error_setg(errp, TYPE_XILINX_TIMER " property 'endianness'" + " must be set to 'big' or 'little'"); + return; + } + /* Init all the ptimers. */ t->timers = g_malloc0(sizeof t->timers[0] * num_timers(t)); for (i = 0; i < num_timers(t); i++) { @@ -233,8 +248,9 @@ static void xilinx_timer_realize(DeviceState *dev, Error **errp) ptimer_transaction_commit(xt->ptimer); } - memory_region_init_io(&t->mmio, OBJECT(t), &timer_ops, t, "xlnx.xps-timer", - R_MAX * 4 * num_timers(t)); + memory_region_init_io(&t->mmio, OBJECT(t), + &timer_ops[t->model_endianness == ENDIAN_MODE_BIG], + t, "xlnx.xps-timer", R_MAX * 4 * num_timers(t)); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &t->mmio); } @@ -247,6 +263,7 @@ static void xilinx_timer_init(Object *obj) } static const Property xilinx_timer_properties[] = { + DEFINE_PROP_ENDIAN_NODEFAULT("endianness", XpsTimerState, model_endianness), DEFINE_PROP_UINT32("clock-frequency", XpsTimerState, freq_hz, 62 * 1000000), DEFINE_PROP_UINT8("one-timer-only", XpsTimerState, one_timer_only, 0), }; From patchwork Sun Feb 16 21:00: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: 865557 Delivered-To: patch@linaro.org Received: by 2002:a5d:64e6:0:b0:38f:210b:807b with SMTP id g6csp829491wri; Sun, 16 Feb 2025 13:03:37 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUvxYw6SWLi800xiecHBJObyrEDE7D4aIhaLq7UBjLgvizkW665eD0LzDWxcV9eSzIqYFsmOg==@linaro.org X-Google-Smtp-Source: AGHT+IEnxEt5q5wHmTHo4SLDdcbE6RxFHYHt5q5bnaPCrrn6nLb9m1kqMrCBPO+ahdmRftmkEAIH X-Received: by 2002:ac8:7e8f:0:b0:471:9bf6:a941 with SMTP id d75a77b69052e-471dbd07eb7mr107433021cf.14.1739739817217; Sun, 16 Feb 2025 13:03:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739739817; cv=none; d=google.com; s=arc-20240605; b=N8yd3P4XcxIbnkIjTs+XX9VVXqbK3YylskfWbziKaK8i9TtbitPoi8/W0LX5yMpzAf 6i+5kKSw/SaZdAAq3IQu05E4dO9/gkiCMstfeuF2gDQwV8N1iApisoj0JwJBfJNsxDuR cJ2aw8lWWeXAGv9KqWWq14exYVvq//bsJP9YDjgTWlrTPzCz74rClXquGXao4RYWxjdW SVwerG9urFhYCVaJ+JnFQlKvY3FXlixmKySWsCI5ELdU2NQVA8kMlS6uOg0IGtpc5Hv/ UeG66FpZJ1Y1fq4xuuudV608aYM2uwi+7zqbqrbsTA/ioAyhkVdBSDstxwZHc5AXPg9O xlQw== 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=vcyVI0kPFXhH981sg+d29nPiWvZ9LL1zDe7HaHRgPOQ=; fh=PGfEOx04XnvL/8Nun0MfKnWqAt99bm+Sh5MxcMxSB00=; b=Mwnu0Bji+J1ZI78GIsc66fb8ucf5yVGFjrzwGm1NAJ4TRfryderulj9oef//Qri8UY wZl9CqdV6xm1zwM4OhkVvhstswCxhcdrV3zhmeTmake2uSpalW33J5f3hoLA0UqzzF27 4R55/14Zn4ZW+J8UCYkn1Y4S79XpUZNLER5cc5Eueltr2yDabYakC5PtNq7NRRXnztKy sQyCkn1iQK8l8HXAx2qY8wxGGx1VSWCICmZM1jd868w7+8LDoQCo0GKRtdDRH/yNgyGL 8VBcCnM0TYM6orCU9eTNqysQ9+TnTMmeOGNMxbdgF5DZlqCPqqLLIsL0ge8opFo9+HsQ 6cng==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=wmXjjD6I; 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-471ef29c821si10365341cf.269.2025.02.16.13.03.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 Feb 2025 13:03:37 -0800 (PST) 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=wmXjjD6I; 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 1tjllp-000307-Uu; Sun, 16 Feb 2025 16:01:45 -0500 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 1tjllg-0002yW-F4 for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:39 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tjllc-0007vB-CR for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:35 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-4396a4d5e3bso21810905e9.3 for ; Sun, 16 Feb 2025 13:01:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739739690; x=1740344490; 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=vcyVI0kPFXhH981sg+d29nPiWvZ9LL1zDe7HaHRgPOQ=; b=wmXjjD6I3wCUhgRib1v1ewxQrQMxh9AOtG4m+ZoQOqOrATKTBXdIDYVdWTwhIQlYNa ylLT+5luSRxd+XKDPljujUNoK2YJ9hv6LmixozpJbuWKzbPyltxZ1Zzzt3ZiOzr6B9rX ybiC9T3h7eAP6i511//mzyZMcyuJx2joKN8mVMO6rqVWYqa4iw5YOpAud7h6uhxNQNyZ XnjahJLeMouIiLA4Phnu+oLSKeDLM27MvexDa2z+skV39isRrMG3hXq4b1bxiNW4QU3A n6Y7qscwGeO3QeNKwjS1ZAulIF9IjBZNigIcIYAYg+xkMmt5b9os9yq2KX3jAL/HpxnD 9PsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739739690; x=1740344490; 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=vcyVI0kPFXhH981sg+d29nPiWvZ9LL1zDe7HaHRgPOQ=; b=V/WA8GztHRFe9BlZgMSP42cy87qDchkHB5YY1vVG3q+ImOBAAXBU8fxbqZM88thTjV CUEOwCPDt5oo+llP2+TpkukbGcStLCeYRYnJ4Aitpn6f1F2FbqB+zpypM/aPSJMHQl3d H7S2ck7VVnx+gxvXnbDFmOIHHlkTaYthlYM1qgFjuSal9E9fl/BwIM1SCFpCSlNMoFeA EMlpVqkXi/pYXXgYWLzpyF15cMe4MxfDY3XDFTwxBqZdKl9iOs/DskWabH4ygqjXM2jt rkaPT9RElcTnxEoz9NomHTvmeSItMak9eiYuLCtor1onp+SzyctVjYOrOOnZGbS9GdbX sJrg== X-Gm-Message-State: AOJu0YyAAjpr7DJA+s41t12A1Nh1oHu2QquJNTi3PUvTvwbXBpkxnM6a OpYdE1PjXloiNeWGLJPkUOov3bMXqBR35njbmhraMMJgt7fLZEBHOlvf9rsDks+UiWJA046v5qj 23A0= X-Gm-Gg: ASbGncua1lQTWZGs3UctBE5hI+ULQVdYLmcYWYRJ74UcJwz7z7qZW/t7iNfb7IvX0YZ 1kU+7DzmS9vwnFIhBAOGSw2BvrMVEC1SBd/TF+G0rOq/DW6f6jyo9D7rJFWxYw1qXimBePxiUVN I6spVrzbWWWefgpPHGwyoSFBIB6gZ6c1ymjeaAak483eWJhX0rPKYpk8Xv3y1AfvjJvaBKVGt4G suzbCrB9BPerL2Jq0+MLzmtcfPR4d44CBFLBaNN4Ck2z2hvmfy3X2w+g9EJeY7IPFNlRHmKfU8b p6AKIPxxlJn2z+cRXUZrriOuEieyIHyMLHU5R1Az6UqEx2pkag179klKMRtnxf7GyvzyrFw= X-Received: by 2002:a05:600c:310e:b0:439:57bb:2aa with SMTP id 5b1f17b1804b1-4396e6aa7d3mr84051405e9.11.1739739690378; Sun, 16 Feb 2025 13:01:30 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43961884e88sm101602185e9.26.2025.02.16.13.01.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 16 Feb 2025 13:01:29 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Thomas Huth , Richard Henderson Subject: [PULL 33/39] hw/char/xilinx_uartlite: Make device endianness configurable Date: Sun, 16 Feb 2025 22:00:57 +0100 Message-ID: <20250216210103.70235-6-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250216210103.70235-1-philmd@linaro.org> References: <20250216210103.70235-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.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 Replace the DEVICE_NATIVE_ENDIAN MemoryRegionOps by a pair of DEVICE_LITTLE_ENDIAN / DEVICE_BIG_ENDIAN. Add the "endianness" property to select the device endianness. This property is unspecified by default, and machines need to set it explicitly. Set the proper endianness for each machine using the device. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Reviewed-by: Richard Henderson Message-Id: <20250213122217.62654-6-philmd@linaro.org> --- hw/char/xilinx_uartlite.c | 34 ++++++++++++++++-------- hw/microblaze/petalogix_s3adsp1800_mmu.c | 1 + hw/riscv/microblaze-v-generic.c | 1 + 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/hw/char/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c index 56955e0d74a..4037c937eeb 100644 --- a/hw/char/xilinx_uartlite.c +++ b/hw/char/xilinx_uartlite.c @@ -24,6 +24,7 @@ #include "qemu/osdep.h" #include "qemu/log.h" +#include "qapi/error.h" #include "hw/char/xilinx_uartlite.h" #include "hw/irq.h" #include "hw/qdev-properties.h" @@ -57,6 +58,7 @@ struct XilinxUARTLite { SysBusDevice parent_obj; + EndianMode model_endianness; MemoryRegion mmio; CharBackend chr; qemu_irq irq; @@ -166,17 +168,21 @@ uart_write(void *opaque, hwaddr addr, uart_update_irq(s); } -static const MemoryRegionOps uart_ops = { - .read = uart_read, - .write = uart_write, - .endianness = DEVICE_NATIVE_ENDIAN, - .valid = { - .min_access_size = 1, - .max_access_size = 4 - } +static const MemoryRegionOps uart_ops[2] = { + [0 ... 1] = { + .read = uart_read, + .write = uart_write, + .valid = { + .min_access_size = 1, + .max_access_size = 4, + }, + }, + [0].endianness = DEVICE_LITTLE_ENDIAN, + [1].endianness = DEVICE_BIG_ENDIAN, }; static const Property xilinx_uartlite_properties[] = { + DEFINE_PROP_ENDIAN_NODEFAULT("endianness", XilinxUARTLite, model_endianness), DEFINE_PROP_CHR("chardev", XilinxUARTLite, chr), }; @@ -214,6 +220,15 @@ static void xilinx_uartlite_realize(DeviceState *dev, Error **errp) { XilinxUARTLite *s = XILINX_UARTLITE(dev); + if (s->model_endianness == ENDIAN_MODE_UNSPECIFIED) { + error_setg(errp, TYPE_XILINX_UARTLITE " property 'endianness'" + " must be set to 'big' or 'little'"); + return; + } + + memory_region_init_io(&s->mmio, OBJECT(dev), + &uart_ops[s->model_endianness == ENDIAN_MODE_BIG], + s, "xlnx.xps-uartlite", R_MAX * 4); qemu_chr_fe_set_handlers(&s->chr, uart_can_rx, uart_rx, uart_event, NULL, s, NULL, true); } @@ -223,9 +238,6 @@ static void xilinx_uartlite_init(Object *obj) XilinxUARTLite *s = XILINX_UARTLITE(obj); sysbus_init_irq(SYS_BUS_DEVICE(obj), &s->irq); - - memory_region_init_io(&s->mmio, obj, &uart_ops, s, - "xlnx.xps-uartlite", R_MAX * 4); sysbus_init_mmio(SYS_BUS_DEVICE(obj), &s->mmio); } diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c index caaea222a8c..bdba2006b72 100644 --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c @@ -109,6 +109,7 @@ petalogix_s3adsp1800_init(MachineState *machine) } dev = qdev_new(TYPE_XILINX_UARTLITE); + qdev_prop_set_enum(dev, "endianness", endianness); qdev_prop_set_chr(dev, "chardev", serial_hd(0)); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, UARTLITE_BASEADDR); diff --git a/hw/riscv/microblaze-v-generic.c b/hw/riscv/microblaze-v-generic.c index 3c79f5733b2..d8e67906d26 100644 --- a/hw/riscv/microblaze-v-generic.c +++ b/hw/riscv/microblaze-v-generic.c @@ -92,6 +92,7 @@ static void mb_v_generic_init(MachineState *machine) /* Uartlite */ dev = qdev_new(TYPE_XILINX_UARTLITE); + qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_LITTLE); qdev_prop_set_chr(dev, "chardev", serial_hd(0)); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, UARTLITE_BASEADDR); From patchwork Sun Feb 16 21:00: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: 865556 Delivered-To: patch@linaro.org Received: by 2002:a5d:64e6:0:b0:38f:210b:807b with SMTP id g6csp829466wri; Sun, 16 Feb 2025 13:03:33 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUEt8Kwk9z9+x7qXmvyqrRBGtqdiqCC3Nz/GrVTUgChd2MxMmriX6ieqp6w+uteTp+aQ2M+Mw==@linaro.org X-Google-Smtp-Source: AGHT+IHImAsMYUNtv8+T+LW1jPGdA7NJR5qq7jO81tzUJkZTX+ExhejeLdb10OYvrVYs4lg/TssC X-Received: by 2002:a05:620a:c44:b0:7c0:5b5d:c82b with SMTP id af79cd13be357-7c07a8f8fe4mr2189730885a.28.1739739812840; Sun, 16 Feb 2025 13:03:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739739812; cv=none; d=google.com; s=arc-20240605; b=Rt1gz3YEAtPjhKwOTOowtS33SmclNDycL57s6bxpSqo7F25STRdZduN0dJ10IhwiP4 7qpM0t4c1rYYY4OrfxUzUa3wuENB9rk1984ticBG0tZjrHizOUBnXiZ0C2SJ/4bv93xG bxAM8YaDH8WmeXnZMW3prGGSV7bzXPAN7rrNsPLxTIPNtg0kj9f3TWYsYSQqiMCVDFZF +g3RA9PC0Bg6uT0rJdrnhyZgKfaxrb7NLbgg61XPGYj9UXJgb1/dNKgnx330q1rk5PN5 o3pzQjjyd4cNBp+IjdwTjtNoD+s1s41tk6V/D88hR7Rskh4lwMvBj2DsFFh+r6Y029lh wILA== 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=vfEBMGQlHGIDpJ2OyiHkFlkYNwQ8cqs09byUGKzTQhU=; fh=PGfEOx04XnvL/8Nun0MfKnWqAt99bm+Sh5MxcMxSB00=; b=ZjuIb+Rtm5OtLOLCRPrbIrKCt4K0dYc8FvwbCEsTssdNoi9Al0L/KTmUIUYrhVJWwL liiwoSa2QDVVr6s0C/A9tg83Q4jpTjHkY+Dku+0wtuuRSc/fGW3RBbLdiEjsM0jVbZjd +uSeYArlEhtBN6pMfwDhzdDEqbE5nGVKPmfdH8oImAcMCUvCUT/DDMCNOhhCpVVUX7An odYzKflxp6wm4CD6S+wn3CdgKKe9myFfS28HtRQ3v3FiEIitJ1J2NE4TGVi6gkVJGfTH WHucziAiCzV+wVVs0OGwwjrLXAn9zdUcDU1xexX55Abtx0z/wMU7ELIzjGpNb6FSISX8 4U2w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vEnu6a22; 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-7c07c8ba446si739298885a.529.2025.02.16.13.03.32 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 Feb 2025 13:03:32 -0800 (PST) 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=vEnu6a22; 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 1tjllv-00038K-Ep; Sun, 16 Feb 2025 16:01:51 -0500 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 1tjllk-0002zG-QH for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:41 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tjlli-0007vf-P7 for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:40 -0500 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4397dff185fso4880415e9.2 for ; Sun, 16 Feb 2025 13:01:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739739696; x=1740344496; 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=vfEBMGQlHGIDpJ2OyiHkFlkYNwQ8cqs09byUGKzTQhU=; b=vEnu6a22dQuBi+7XDgWpBRHWKMLJoxz0tNc4NpRLRndog5wp5RNIEql7c2FLxvj05V QbNEiCXj5dYXAQ7nTA2nnePobLMROXISf1B8mLhJRA9X1c126FL1CssqO4skMpe1knU1 fPiZKUXYqSuyMdfzSYDkwFH9qyUiYKdF1K8RIfabNh4VbVZHJIyRf4jqyaNfiYYgeWc5 AKu7ebf8wdX94D3vzKywoEQX2kQCJUH7psdAUOuswb8pNkzXkxe9+z/Bwc2W67DtyNjh cxxLcLPnaCUeFff3xEUGwTohq0n0xuLHx8pbsDSp7rhXDeG7tDf6fhIB6G693fP7Dotp AkUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739739696; x=1740344496; 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=vfEBMGQlHGIDpJ2OyiHkFlkYNwQ8cqs09byUGKzTQhU=; b=aAjeNfkhJy6iR/fvfxxsA+afoNrW8OnqyuCfeurx4oucSVJPjmHQcm1tP0tRauFa28 deFqFWJVrOWDSD6Kf8AT33hgzfqIQjZ7UjjiXo4XUyBEWmDsHBw87O26huVTCSZW3tp2 69caVEoIbs4NbHojUX9EOuTI4+dzKVI7/0FmIxxx1ovIQ9fj2hYA6IasomUzRSE3haJm WfXuvID33rnnPY7V1jb4m9PqcIbfu5hVhboIAfLwwzqUO8F+gB5Gu8wm4+eHO4uha1r/ nNbPGGQHzkrLrHYKBFtfWH8hCJ7lGHFz3CS8a9JG16f6M1udhNeoz4h0YdlrSna14BUJ AwJg== X-Gm-Message-State: AOJu0Yy2bF3eR40htkZwVqzC47lJMGlsGq6riVMIx014Sc2u2lJLD4JC 4rUpI5ZTRJIc1NVPXj21YOaf89CBNYBIYWc9bgZuqLq+zEIDjxK5UiwGtYo6C2wT8SvE8xp1I+p KOT0= X-Gm-Gg: ASbGncuss6uLcXB87ZRTKYXP7bJ+yVggMUiD6elA7euESLP4dE4PkmTgnmFFvkPt96A Mcxz/Huc23ABETd5tRKjUwxs6nxTHFk8lkC9hWxQC2Bz2nZ1bSqtgpDqbOrvbGcCxkWaup+VIcw ufLeXQfV1gavT2FhYu8DbVLYRzW6VNAZUW7KyLHIMmPovHumXZyHVic8N5AtmTlhnIlrQXyI9vp jFd6LsvRckkq3yGXWlfWXtHX7kKK63PcjjllxMVo3XXXWvXmc7puaQBhZHekgKk6IgdNPT11sQN D7kjRtqDYulADdnvpKZ4Lr/Cfd3GQPMi5kDyly2mQ1VUyz3nfaA6bygQf7fFeh6/37D2+uA= X-Received: by 2002:a05:600c:4711:b0:439:60ef:ce88 with SMTP id 5b1f17b1804b1-4396e710d27mr71140195e9.23.1739739696083; Sun, 16 Feb 2025 13:01:36 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43961884f48sm101910905e9.30.2025.02.16.13.01.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 16 Feb 2025 13:01:34 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Thomas Huth , Richard Henderson Subject: [PULL 34/39] hw/ssi/xilinx_spi: Make device endianness configurable Date: Sun, 16 Feb 2025 22:00:58 +0100 Message-ID: <20250216210103.70235-7-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250216210103.70235-1-philmd@linaro.org> References: <20250216210103.70235-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.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 Replace the DEVICE_NATIVE_ENDIAN MemoryRegionOps by a pair of DEVICE_LITTLE_ENDIAN / DEVICE_BIG_ENDIAN. Add the "endianness" property to select the device endianness. This property is unspecified by default, and machines need to set it explicitly. Set the proper endianness on the single machine using the device. Reviewed-by: Thomas Huth Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20250213122217.62654-7-philmd@linaro.org> --- hw/microblaze/petalogix_ml605_mmu.c | 1 + hw/ssi/xilinx_spi.c | 32 +++++++++++++++++++++-------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c index 984287fdc53..21ad215e442 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -177,6 +177,7 @@ petalogix_ml605_init(MachineState *machine) SSIBus *spi; dev = qdev_new("xlnx.xps-spi"); + qdev_prop_set_enum(dev, "endianness", endianness); qdev_prop_set_uint8(dev, "num-ss-bits", NUM_SPI_FLASHES); busdev = SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(busdev, &error_fatal); diff --git a/hw/ssi/xilinx_spi.c b/hw/ssi/xilinx_spi.c index fd1ff12eb1d..be5baa6b350 100644 --- a/hw/ssi/xilinx_spi.c +++ b/hw/ssi/xilinx_spi.c @@ -25,6 +25,7 @@ */ #include "qemu/osdep.h" +#include "qapi/error.h" #include "hw/sysbus.h" #include "migration/vmstate.h" #include "qemu/module.h" @@ -32,6 +33,7 @@ #include "hw/irq.h" #include "hw/qdev-properties.h" +#include "hw/qdev-properties-system.h" #include "hw/ssi/ssi.h" #include "qom/object.h" @@ -83,6 +85,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(XilinxSPI, XILINX_SPI) struct XilinxSPI { SysBusDevice parent_obj; + EndianMode model_endianness; MemoryRegion mmio; qemu_irq irq; @@ -313,14 +316,17 @@ done: xlx_spi_update_irq(s); } -static const MemoryRegionOps spi_ops = { - .read = spi_read, - .write = spi_write, - .endianness = DEVICE_NATIVE_ENDIAN, - .valid = { - .min_access_size = 4, - .max_access_size = 4 - } +static const MemoryRegionOps spi_ops[2] = { + [0 ... 1] = { + .read = spi_read, + .write = spi_write, + .valid = { + .min_access_size = 4, + .max_access_size = 4, + }, + }, + [0].endianness = DEVICE_LITTLE_ENDIAN, + [1].endianness = DEVICE_BIG_ENDIAN, }; static void xilinx_spi_realize(DeviceState *dev, Error **errp) @@ -329,6 +335,12 @@ static void xilinx_spi_realize(DeviceState *dev, Error **errp) XilinxSPI *s = XILINX_SPI(dev); int i; + if (s->model_endianness == ENDIAN_MODE_UNSPECIFIED) { + error_setg(errp, TYPE_XILINX_SPI " property 'endianness'" + " must be set to 'big' or 'little'"); + return; + } + DB_PRINT("\n"); s->spi = ssi_create_bus(dev, "spi"); @@ -339,7 +351,8 @@ static void xilinx_spi_realize(DeviceState *dev, Error **errp) sysbus_init_irq(sbd, &s->cs_lines[i]); } - memory_region_init_io(&s->mmio, OBJECT(s), &spi_ops, s, + memory_region_init_io(&s->mmio, OBJECT(s), + &spi_ops[s->model_endianness == ENDIAN_MODE_BIG], s, "xilinx-spi", R_MAX * 4); sysbus_init_mmio(sbd, &s->mmio); @@ -362,6 +375,7 @@ static const VMStateDescription vmstate_xilinx_spi = { }; static const Property xilinx_spi_properties[] = { + DEFINE_PROP_ENDIAN_NODEFAULT("endianness", XilinxSPI, model_endianness), DEFINE_PROP_UINT8("num-ss-bits", XilinxSPI, num_cs, 1), }; From patchwork Sun Feb 16 21:00: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: 865551 Delivered-To: patch@linaro.org Received: by 2002:a5d:64e6:0:b0:38f:210b:807b with SMTP id g6csp829235wri; Sun, 16 Feb 2025 13:02:56 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCV9bMxOtHuh867taVGotTid9xqF+nY2A7uw1wPkNfa81887zgb/LLL/GUQr8yXgMnwWoAbH5Q==@linaro.org X-Google-Smtp-Source: AGHT+IFBJrrgkKAukIDcpOQF21hSWQqzymznjuanZ2UIJorwpdhAFSm48J5vOy2B49/7z/c06tle X-Received: by 2002:a05:620a:4507:b0:7c0:7818:855c with SMTP id af79cd13be357-7c08aaa8affmr1255112285a.36.1739739776351; Sun, 16 Feb 2025 13:02:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739739776; cv=none; d=google.com; s=arc-20240605; b=K2PAIUuHV/Ez0F8ScegQf6LbXOO7WLbx4v9srSEdDkNqpE6cCf/7456dyUEoUXDzOV lfZpBwx69g+S5j59/gY2lp+blkfAnvjxcmP2RX/AFfjw/o3GU2nTLkGSaLJ2BZ4qcEkD QwmN6p4MMMVV4R65+0wZpepkWmAs58Zm4Etfg1RmMWMCmVeumHA8byGJg8MGJ9bctllR DBA14w0acdY9SkiFDGO1KmQfQtCCnp2Rvy769gSOVMPHL1VCgmO27n7dl0uL1tF3ZArG reF5fpnm/P0wbyfeKaaGPXiVyijjGSOYo8/Ch90XyBRpgRtdZFOzgLts7NZH5KXHA0fY zSWA== 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=qJwgdqfoiqcp812qbGPk+LMQEiqNtZxxYhjHZRh2Muo=; fh=qtn8prgQtzf5IzCNvLChUZDElvNECP6ej9YfjQeBz3I=; b=gG7XOgsiFWlE4OrV5mrB9p/kA1wP26D95PZaWQ2GQ/J7HSs6KBYSQmMfwoeV0NKj3S O5CreKmCcocYY/zgky7dIRmT2NmwtK2su7dcMAZaWbfBDZhnFjGZ8aZn7pXvynsxYxox ZJ2Z8Z8suVu9jJcjNZD7pU3zLwCRZKofKCjnTOLfu/VKEyso8frf/9BuPANakV9kAFKW 6vHsaeD4emyYWRe/mxJjhTrDYQ9zzaXUKR4AIlO3UGHvfGy/kwGZ0ERy70XCSB/j4h+z E9lgacva+GkdIq29/pOHSDRPr/4W+8tpA91CRWZUpsLY8fTNg4hSHSVsbWKjcMAf3nNQ AL6w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="Dnom/MtS"; 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-7c07c8740d0si757339685a.211.2025.02.16.13.02.56 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 Feb 2025 13:02:56 -0800 (PST) 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="Dnom/MtS"; 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 1tjllz-0003BV-1d; Sun, 16 Feb 2025 16:01:55 -0500 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 1tjllp-0002zu-BQ for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:45 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tjllm-0007vy-Q8 for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:45 -0500 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-4395dddb07dso39107645e9.2 for ; Sun, 16 Feb 2025 13:01:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739739701; x=1740344501; 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=qJwgdqfoiqcp812qbGPk+LMQEiqNtZxxYhjHZRh2Muo=; b=Dnom/MtSjBxxIQ0j3pzuLeBIrQzK8UM9lsc17Y3DuL7RmkXqdCe5oMKzsr97qQDmN9 YQm6X/M0zjR446ExNs2m84HzNpi5rypN2hY1Q22+nI+dzt+75KiU4LquTvakRWh8fcEi BdzRLUtQfy5a6TGZRAiJQN/qq+2V9ZTuBM9g5U4P2Pd17elLJYruCRDwiZmVgPeamvIx 95S4D+Pg8GQ2VsDl3qrDcvLWHx91aoNiAiJZwgV48BTe/WbQvsykw9LxCw2nHYyUdE89 +CQZM8AUle5aA+Z3FjW6jjTX9Cn9aeU1sIfpUXU5pElSLR41EHZXCS2eJhXsSih8n5Jh 0PaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739739701; x=1740344501; 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=qJwgdqfoiqcp812qbGPk+LMQEiqNtZxxYhjHZRh2Muo=; b=m0h+cy57qL4phkol9bvb359hm3SFXrFxLPREg88a6mL0+U9qB3Qgr8wCy3vJawCe4e /z7F4uf5WnewDP8QUFJVCpAqb3r2VWaiG6swEpFHHy9pQvU/Hp6T9K/gpPXSBK3a600W Z09ypZOIVrB7B/q49xbO7glEFvWyEDaTcluuQpftiBfB3qFZYP4v6X0O6F6qzhL4ANGG 4LtWenYS5gefeF2iZ6A2LnjAyW+WLxA6jAZJRB41cgRaKr9ZTH+0asJDXN+WAZ4FqaT4 +bjfDJH98MZt0AMGcDs07FzIKKVVHAfeuzGXX94I9SYOTUoFbKVahghnhNZ6g5gprA4f 5Ipw== X-Gm-Message-State: AOJu0Yzt5GI+9kjjcOyKuWTxXB+tAh8yNUhSPugQVmpl7CvbZipHWMao helyVzOUy0vIEibJXGWdfDWGqdAJJ4yX1vvu6zKjJgObhQoLu6qWuXqzlFW26q2OVZK0lYYzX9v GIAw= X-Gm-Gg: ASbGnctvFnt+Sx568K70JEv3BBmTdtexOiLklwV/Kq/3aWH+InG6qhkXE6EIftFpwOB neIn33tw957RPjQDUC6/S5Huj0FdBySZKJp4Q+tlcVVFODVpd7aAhxofhmfeEgc79rGQk+eMspE R144He3T0Hwq8pzXW31IiIibt5n375pnAV2+j7QMlGLWeqHls+REF0m1R+YT+p9jBz5vBOKsQPM 5mNsRlLei9Ax76iNcTqJaoSnZRfl1IP7eL/aNvfqkhG9PmTbR059xpssJFqqZ6KLiSBMkDG1HVr w6Wm72aET3JMjGt7cFRp4PQS77BQqYwl0hpflhWB3sOiXziCRxueEvOVs5YYB2PYApLWB6M= X-Received: by 2002:a05:600c:444c:b0:439:6925:4d28 with SMTP id 5b1f17b1804b1-4396e6d8176mr72029875e9.4.1739739700761; Sun, 16 Feb 2025 13:01:40 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4395a06d1f2sm133472305e9.18.2025.02.16.13.01.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 16 Feb 2025 13:01:40 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 35/39] hw/arm: Mark Allwinner Technology devices as little-endian Date: Sun, 16 Feb 2025 22:00:59 +0100 Message-ID: <20250216210103.70235-8-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250216210103.70235-1-philmd@linaro.org> References: <20250216210103.70235-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.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 These devices are only used by the ARM targets, which are only built as little-endian. Therefore the DEVICE_NATIVE_ENDIAN definition expand to DEVICE_LITTLE_ENDIAN (besides, the DEVICE_BIG_ENDIAN case isn't tested). Simplify directly using DEVICE_LITTLE_ENDIAN. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20250212113938.38692-2-philmd@linaro.org> --- hw/arm/allwinner-a10.c | 2 +- hw/arm/allwinner-h3.c | 8 ++++---- hw/arm/allwinner-r40.c | 2 +- hw/i2c/allwinner-i2c.c | 2 +- hw/intc/allwinner-a10-pic.c | 2 +- hw/misc/allwinner-a10-ccm.c | 2 +- hw/misc/allwinner-a10-dramc.c | 2 +- hw/misc/allwinner-cpucfg.c | 2 +- hw/misc/allwinner-h3-ccu.c | 2 +- hw/misc/allwinner-h3-dramc.c | 6 +++--- hw/misc/allwinner-h3-sysctrl.c | 2 +- hw/misc/allwinner-r40-ccu.c | 2 +- hw/misc/allwinner-r40-dramc.c | 10 +++++----- hw/misc/allwinner-sid.c | 2 +- hw/misc/allwinner-sramc.c | 2 +- hw/net/allwinner-sun8i-emac.c | 2 +- hw/net/allwinner_emac.c | 2 +- hw/rtc/allwinner-rtc.c | 2 +- hw/sd/allwinner-sdhost.c | 2 +- hw/ssi/allwinner-a10-spi.c | 2 +- hw/timer/allwinner-a10-pit.c | 2 +- hw/watchdog/allwinner-wdt.c | 2 +- 22 files changed, 31 insertions(+), 31 deletions(-) diff --git a/hw/arm/allwinner-a10.c b/hw/arm/allwinner-a10.c index a829913f1b5..f1b399759a1 100644 --- a/hw/arm/allwinner-a10.c +++ b/hw/arm/allwinner-a10.c @@ -158,7 +158,7 @@ static void aw_a10_realize(DeviceState *dev, Error **errp) /* FIXME use a qdev chardev prop instead of serial_hd() */ serial_mm_init(get_system_memory(), AW_A10_UART0_REG_BASE, 2, qdev_get_gpio_in(dev, 1), - 115200, serial_hd(0), DEVICE_NATIVE_ENDIAN); + 115200, serial_hd(0), DEVICE_LITTLE_ENDIAN); for (size_t i = 0; i < AW_A10_NUM_USB; i++) { g_autofree char *bus = g_strdup_printf("usb-bus.%zu", i); diff --git a/hw/arm/allwinner-h3.c b/hw/arm/allwinner-h3.c index 2efced3f66a..1b1afa4fb6f 100644 --- a/hw/arm/allwinner-h3.c +++ b/hw/arm/allwinner-h3.c @@ -408,19 +408,19 @@ static void allwinner_h3_realize(DeviceState *dev, Error **errp) /* UART0. For future clocktree API: All UARTS are connected to APB2_CLK. */ serial_mm_init(get_system_memory(), s->memmap[AW_H3_DEV_UART0], 2, qdev_get_gpio_in(DEVICE(&s->gic), AW_H3_GIC_SPI_UART0), - 115200, serial_hd(0), DEVICE_NATIVE_ENDIAN); + 115200, serial_hd(0), DEVICE_LITTLE_ENDIAN); /* UART1 */ serial_mm_init(get_system_memory(), s->memmap[AW_H3_DEV_UART1], 2, qdev_get_gpio_in(DEVICE(&s->gic), AW_H3_GIC_SPI_UART1), - 115200, serial_hd(1), DEVICE_NATIVE_ENDIAN); + 115200, serial_hd(1), DEVICE_LITTLE_ENDIAN); /* UART2 */ serial_mm_init(get_system_memory(), s->memmap[AW_H3_DEV_UART2], 2, qdev_get_gpio_in(DEVICE(&s->gic), AW_H3_GIC_SPI_UART2), - 115200, serial_hd(2), DEVICE_NATIVE_ENDIAN); + 115200, serial_hd(2), DEVICE_LITTLE_ENDIAN); /* UART3 */ serial_mm_init(get_system_memory(), s->memmap[AW_H3_DEV_UART3], 2, qdev_get_gpio_in(DEVICE(&s->gic), AW_H3_GIC_SPI_UART3), - 115200, serial_hd(3), DEVICE_NATIVE_ENDIAN); + 115200, serial_hd(3), DEVICE_LITTLE_ENDIAN); /* DRAMC */ sysbus_realize(SYS_BUS_DEVICE(&s->dramc), &error_fatal); diff --git a/hw/arm/allwinner-r40.c b/hw/arm/allwinner-r40.c index 47b3180f0ec..cef6e4d18c2 100644 --- a/hw/arm/allwinner-r40.c +++ b/hw/arm/allwinner-r40.c @@ -492,7 +492,7 @@ static void allwinner_r40_realize(DeviceState *dev, Error **errp) serial_mm_init(get_system_memory(), addr, 2, qdev_get_gpio_in(DEVICE(&s->gic), uart_irqs[i]), - 115200, serial_hd(i), DEVICE_NATIVE_ENDIAN); + 115200, serial_hd(i), DEVICE_LITTLE_ENDIAN); } /* I2C */ diff --git a/hw/i2c/allwinner-i2c.c b/hw/i2c/allwinner-i2c.c index 16f1d6d40e7..66d6431c508 100644 --- a/hw/i2c/allwinner-i2c.c +++ b/hw/i2c/allwinner-i2c.c @@ -407,7 +407,7 @@ static const MemoryRegionOps allwinner_i2c_ops = { .write = allwinner_i2c_write, .valid.min_access_size = 1, .valid.max_access_size = 4, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, }; static const VMStateDescription allwinner_i2c_vmstate = { diff --git a/hw/intc/allwinner-a10-pic.c b/hw/intc/allwinner-a10-pic.c index c0f30092cd6..93a604f7a04 100644 --- a/hw/intc/allwinner-a10-pic.c +++ b/hw/intc/allwinner-a10-pic.c @@ -135,7 +135,7 @@ static void aw_a10_pic_write(void *opaque, hwaddr offset, uint64_t value, static const MemoryRegionOps aw_a10_pic_ops = { .read = aw_a10_pic_read, .write = aw_a10_pic_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, }; static const VMStateDescription vmstate_aw_a10_pic = { diff --git a/hw/misc/allwinner-a10-ccm.c b/hw/misc/allwinner-a10-ccm.c index 575b0189524..6ca1daaff8a 100644 --- a/hw/misc/allwinner-a10-ccm.c +++ b/hw/misc/allwinner-a10-ccm.c @@ -147,7 +147,7 @@ static void allwinner_a10_ccm_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_a10_ccm_ops = { .read = allwinner_a10_ccm_read, .write = allwinner_a10_ccm_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/misc/allwinner-a10-dramc.c b/hw/misc/allwinner-a10-dramc.c index a7c58fa6d06..badc4c56eb7 100644 --- a/hw/misc/allwinner-a10-dramc.c +++ b/hw/misc/allwinner-a10-dramc.c @@ -114,7 +114,7 @@ static void allwinner_a10_dramc_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_a10_dramc_ops = { .read = allwinner_a10_dramc_read, .write = allwinner_a10_dramc_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/misc/allwinner-cpucfg.c b/hw/misc/allwinner-cpucfg.c index 022f63ddf34..a4f7a011419 100644 --- a/hw/misc/allwinner-cpucfg.c +++ b/hw/misc/allwinner-cpucfg.c @@ -217,7 +217,7 @@ static void allwinner_cpucfg_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_cpucfg_ops = { .read = allwinner_cpucfg_read, .write = allwinner_cpucfg_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/misc/allwinner-h3-ccu.c b/hw/misc/allwinner-h3-ccu.c index 92e579a9918..e765f4c54b4 100644 --- a/hw/misc/allwinner-h3-ccu.c +++ b/hw/misc/allwinner-h3-ccu.c @@ -155,7 +155,7 @@ static void allwinner_h3_ccu_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_h3_ccu_ops = { .read = allwinner_h3_ccu_read, .write = allwinner_h3_ccu_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/misc/allwinner-h3-dramc.c b/hw/misc/allwinner-h3-dramc.c index 13bba26d0e4..c4f3eb92747 100644 --- a/hw/misc/allwinner-h3-dramc.c +++ b/hw/misc/allwinner-h3-dramc.c @@ -219,7 +219,7 @@ static void allwinner_h3_dramphy_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_h3_dramcom_ops = { .read = allwinner_h3_dramcom_read, .write = allwinner_h3_dramcom_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, @@ -230,7 +230,7 @@ static const MemoryRegionOps allwinner_h3_dramcom_ops = { static const MemoryRegionOps allwinner_h3_dramctl_ops = { .read = allwinner_h3_dramctl_read, .write = allwinner_h3_dramctl_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, @@ -241,7 +241,7 @@ static const MemoryRegionOps allwinner_h3_dramctl_ops = { static const MemoryRegionOps allwinner_h3_dramphy_ops = { .read = allwinner_h3_dramphy_read, .write = allwinner_h3_dramphy_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/misc/allwinner-h3-sysctrl.c b/hw/misc/allwinner-h3-sysctrl.c index 40059e8cb0c..32a0ceb01a3 100644 --- a/hw/misc/allwinner-h3-sysctrl.c +++ b/hw/misc/allwinner-h3-sysctrl.c @@ -78,7 +78,7 @@ static void allwinner_h3_sysctrl_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_h3_sysctrl_ops = { .read = allwinner_h3_sysctrl_read, .write = allwinner_h3_sysctrl_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/misc/allwinner-r40-ccu.c b/hw/misc/allwinner-r40-ccu.c index 005a15b2dae..8f37a9213c0 100644 --- a/hw/misc/allwinner-r40-ccu.c +++ b/hw/misc/allwinner-r40-ccu.c @@ -129,7 +129,7 @@ static void allwinner_r40_ccu_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_r40_ccu_ops = { .read = allwinner_r40_ccu_read, .write = allwinner_r40_ccu_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/misc/allwinner-r40-dramc.c b/hw/misc/allwinner-r40-dramc.c index 97c3664e3a3..96e1848c21f 100644 --- a/hw/misc/allwinner-r40-dramc.c +++ b/hw/misc/allwinner-r40-dramc.c @@ -297,7 +297,7 @@ static void allwinner_r40_dramphy_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_r40_dramcom_ops = { .read = allwinner_r40_dramcom_read, .write = allwinner_r40_dramcom_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, @@ -308,7 +308,7 @@ static const MemoryRegionOps allwinner_r40_dramcom_ops = { static const MemoryRegionOps allwinner_r40_dramctl_ops = { .read = allwinner_r40_dramctl_read, .write = allwinner_r40_dramctl_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, @@ -319,7 +319,7 @@ static const MemoryRegionOps allwinner_r40_dramctl_ops = { static const MemoryRegionOps allwinner_r40_dramphy_ops = { .read = allwinner_r40_dramphy_read, .write = allwinner_r40_dramphy_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, @@ -358,7 +358,7 @@ static void allwinner_r40_detect_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_r40_detect_ops = { .read = allwinner_r40_detect_read, .write = allwinner_r40_detect_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, @@ -393,7 +393,7 @@ static uint64_t allwinner_r40_dualrank_detect_read(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_r40_dualrank_detect_ops = { .read = allwinner_r40_dualrank_detect_read, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/misc/allwinner-sid.c b/hw/misc/allwinner-sid.c index 042b747f30b..2bb81f9c540 100644 --- a/hw/misc/allwinner-sid.c +++ b/hw/misc/allwinner-sid.c @@ -99,7 +99,7 @@ static void allwinner_sid_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_sid_ops = { .read = allwinner_sid_read, .write = allwinner_sid_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/misc/allwinner-sramc.c b/hw/misc/allwinner-sramc.c index a20b0b4c5cb..51df5e45aa2 100644 --- a/hw/misc/allwinner-sramc.c +++ b/hw/misc/allwinner-sramc.c @@ -104,7 +104,7 @@ static void allwinner_sramc_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_sramc_ops = { .read = allwinner_sramc_read, .write = allwinner_sramc_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/net/allwinner-sun8i-emac.c b/hw/net/allwinner-sun8i-emac.c index ff44554e957..5adb41dc469 100644 --- a/hw/net/allwinner-sun8i-emac.c +++ b/hw/net/allwinner-sun8i-emac.c @@ -784,7 +784,7 @@ static void allwinner_sun8i_emac_set_link(NetClientState *nc) static const MemoryRegionOps allwinner_sun8i_emac_mem_ops = { .read = allwinner_sun8i_emac_read, .write = allwinner_sun8i_emac_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/net/allwinner_emac.c b/hw/net/allwinner_emac.c index 3eb9e09dc5c..47f1e7f086c 100644 --- a/hw/net/allwinner_emac.c +++ b/hw/net/allwinner_emac.c @@ -421,7 +421,7 @@ static void aw_emac_set_link(NetClientState *nc) static const MemoryRegionOps aw_emac_mem_ops = { .read = aw_emac_read, .write = aw_emac_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/rtc/allwinner-rtc.c b/hw/rtc/allwinner-rtc.c index a19e4310bb1..fd8355a8676 100644 --- a/hw/rtc/allwinner-rtc.c +++ b/hw/rtc/allwinner-rtc.c @@ -259,7 +259,7 @@ static void allwinner_rtc_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_rtc_ops = { .read = allwinner_rtc_read, .write = allwinner_rtc_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/sd/allwinner-sdhost.c b/hw/sd/allwinner-sdhost.c index ee5c5c78a81..03980d27168 100644 --- a/hw/sd/allwinner-sdhost.c +++ b/hw/sd/allwinner-sdhost.c @@ -761,7 +761,7 @@ static void allwinner_sdhost_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_sdhost_ops = { .read = allwinner_sdhost_read, .write = allwinner_sdhost_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, diff --git a/hw/ssi/allwinner-a10-spi.c b/hw/ssi/allwinner-a10-spi.c index 3eb50b44ac5..d2f6bb9cdc7 100644 --- a/hw/ssi/allwinner-a10-spi.c +++ b/hw/ssi/allwinner-a10-spi.c @@ -502,7 +502,7 @@ static const MemoryRegionOps allwinner_a10_spi_ops = { .write = allwinner_a10_spi_write, .valid.min_access_size = 1, .valid.max_access_size = 4, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, }; static const VMStateDescription allwinner_a10_spi_vmstate = { diff --git a/hw/timer/allwinner-a10-pit.c b/hw/timer/allwinner-a10-pit.c index ddaf2128c2d..da3d7173ef5 100644 --- a/hw/timer/allwinner-a10-pit.c +++ b/hw/timer/allwinner-a10-pit.c @@ -185,7 +185,7 @@ static void a10_pit_write(void *opaque, hwaddr offset, uint64_t value, static const MemoryRegionOps a10_pit_ops = { .read = a10_pit_read, .write = a10_pit_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, }; static const Property a10_pit_properties[] = { diff --git a/hw/watchdog/allwinner-wdt.c b/hw/watchdog/allwinner-wdt.c index 1bfec41ff8b..78f4f9d6f67 100644 --- a/hw/watchdog/allwinner-wdt.c +++ b/hw/watchdog/allwinner-wdt.c @@ -275,7 +275,7 @@ static void allwinner_wdt_write(void *opaque, hwaddr offset, static const MemoryRegionOps allwinner_wdt_ops = { .read = allwinner_wdt_read, .write = allwinner_wdt_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, From patchwork Sun Feb 16 21:01: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: 865548 Delivered-To: patch@linaro.org Received: by 2002:a5d:64e6:0:b0:38f:210b:807b with SMTP id g6csp828890wri; Sun, 16 Feb 2025 13:02:12 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCW52EQiQI/aeTpeYgLgSFRul9UACGbPaMKnofAU/KliLhs+Ot2kqPf9JT6Zp8SQ9lwKdaDUTg==@linaro.org X-Google-Smtp-Source: AGHT+IH3ll4S/TmsrfbUSaMxTDQXurjLzZwrWgS4G5RfeIdoCWHOpp0hlq6KTMxNPkYhdda80dkv X-Received: by 2002:a05:620a:3728:b0:7c0:5eea:a70f with SMTP id af79cd13be357-7c08aaccd4emr970186985a.58.1739739732659; Sun, 16 Feb 2025 13:02:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739739732; cv=none; d=google.com; s=arc-20240605; b=Xdlhz9svn4qtLWg2FXjlYkZOp9nN2UfNoNIdnT9s2ZiySBNHOELT9lYEI6byAf1hxa cpfxrJH+UZsOX8XvTrVF/MlaJuXZ5wTTKQCAtil3/NuHKCCSuq9B3ShuYlHjMrU8laRM PShEpnDT4hHubU4wGVELHxnbpMB6a/Uic+TfqaSBD6dmISW7VyQ9gKH7t6zEgC3g/uD7 zwam16EsROYFXtPkYMsuct04Bb56lrzPWsBQMq24SHggM4ODyL2cI3C1CO2Xd/VkXnfR 9raz9DtexAN9/O9Evf6QfXEchbuFXr5qapdMRnuWDqLSF4MxzFOhYF+GV4Hp63LhSr4b MIdA== 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=f2SZToQUGAon9B+NPJXa9k1BqlC2qKJH86P1xDJbKio=; fh=qtn8prgQtzf5IzCNvLChUZDElvNECP6ej9YfjQeBz3I=; b=NjR8J42wh8bpVdqCAOocQGy171xTfFFEWFlht5P3ABTWJ2PcAftIjOC7wqt5aD6obN v8oaPGgKrjs8Fwd+Am+XLL9MxqamXLVagzN09O8VWtkOkSHVsB21JMyD8i2hwe+qZGab q2CtVOugVbxC6BHxtl/xRUk/ExDIEHCyWoWBEtme2BMlJreeSUaGpx7NE006Q/I/pJYT 31DTm0t14X4tyhQ9mndK11Yg6upsdfgHFiDgE9UFXQcRJLQv7trSZstuczg/Ks5q3NXg cTsQoOEAmiDfSorynnx8Tv4KDx/hiti/vc4+TUUVBXnAX2kceUGYqFIPz6T9DligRrdY ymTQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=MjPXibZr; 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-7c0964d321esi151758585a.535.2025.02.16.13.02.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 Feb 2025 13:02:12 -0800 (PST) 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=MjPXibZr; 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 1tjllz-0003FU-Q2; Sun, 16 Feb 2025 16:01:58 -0500 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 1tjllu-00037x-KQ for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:50 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tjlls-0007wH-1C for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:49 -0500 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-43963935585so36582625e9.0 for ; Sun, 16 Feb 2025 13:01:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739739706; x=1740344506; 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=f2SZToQUGAon9B+NPJXa9k1BqlC2qKJH86P1xDJbKio=; b=MjPXibZrEzX6WvzpTo/cupGjFvP6w9YrsM4BJapAH8PHKk+Bp2lcnrv7cgsZCloXbF KHo5w18RJa/nzXjuY6AP2/bxtmQXqFXvvjL+fT6/DuIU7x0ctYABSKqUaFw3RS8KLI+P KkcgcfUnMbhbDincJ6fSeQFDQVzizHwWsgu20knyAo9XREmKdNNvgwRRKCgYbqYKH9Yn KE6RRbE63SLy7/zMBUB1D1TCHTbO/L3LWkdUmDtt9gn0DecUW8CDCTmUit/h8ooj6d68 tprYlYP2HxEMfeDkKnFyuQzAELQ4EOpTW77xYRmYwd1j0pjfU2AX+fm4hHq7X4G7cU3Y /qYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739739706; x=1740344506; 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=f2SZToQUGAon9B+NPJXa9k1BqlC2qKJH86P1xDJbKio=; b=u3LLw3PYCAeAWPeZ/ZV+juUjoECCtAoKjsfaxNSRbBMK4AP4iPSVRRmDV4aTJZI0zI 5X6/qxT3Di2mj5IJNYGxG7QSY6bg38BU+NYfU0bPxTqXTwm74c6uK6pgmOyhAML0MkMv r/YRTCt56MBTZNgMxwkZrLLYY+FzCPz8X2hSCCIqnlOBt7AiMV3fTZCLr54dE0nDRdOC JI2c8agHGQgqJropWw+7psHIqZZ7MXJqhtEEZ2woZbNGRxp/TuCJCxiI0GK0hREFy/r5 atmdtyYVIY2LnvjsfM0cg/bC42EKhrNyGKI7S7pg7BB9lqnbGI8cFPx8+cm/otw/Rna2 MudQ== X-Gm-Message-State: AOJu0YzQooIeoDYs+UqQAwNLcYufHRpmmSF6L2TFQ9aAiFisFArWklQh NnRK6qCEXs/IUWJnfgHNfeMjItU05QvD4cu6UhWueNHo0/UFmyCmZ3VPgq3CPOQ2mpGL/0VWeBc uIXQ= X-Gm-Gg: ASbGncum9Z8wYOMRJwoNXv/aR7p6GQHLcTZ8aSKVp/e9nk1HThxmq2AV90uXsHnjga0 3/1QVhKfu1MDPvbgQirDPmbH9I6POS8eLERHmOtD+ap24mHySf2Lzh1CXfIeutHkvIU2fJNGC9A oRIqDdZ0ZTJshM2OI2UZT/V353k6uRlsIL2e84TGmTgV8KOpF/Jv16dfV097OOEoX/YrjvfcK5D v05Ii3YtY8wVjtap90g8e4tzTrpGwJyMK2q5zyVn2z3Y5ycEqIYgSFwIxvMkMgqLTb6QiLOryvp wLg33A5kPiwOqAximnrr5NSLvPAK67ShiQ/mP6bjhzPh2+vQ5B7Qb6aFGURmHTIDi17YljM= X-Received: by 2002:a05:600c:4711:b0:439:60ef:ce88 with SMTP id 5b1f17b1804b1-4396e710d27mr71142705e9.23.1739739706082; Sun, 16 Feb 2025 13:01:46 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-439618264a3sm102167645e9.23.2025.02.16.13.01.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 16 Feb 2025 13:01:44 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 36/39] hw/mips: Mark Boston machine devices as little-endian Date: Sun, 16 Feb 2025 22:01:00 +0100 Message-ID: <20250216210103.70235-9-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250216210103.70235-1-philmd@linaro.org> References: <20250216210103.70235-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.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 The Boston machine is only built as little-endian. Therefore the DEVICE_NATIVE_ENDIAN definition expand to DEVICE_LITTLE_ENDIAN (besides, the DEVICE_BIG_ENDIAN case isn't tested). Simplify directly using DEVICE_LITTLE_ENDIAN. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20250212113938.38692-3-philmd@linaro.org> --- hw/mips/boston.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/mips/boston.c b/hw/mips/boston.c index 364c328032a..4690b254dda 100644 --- a/hw/mips/boston.c +++ b/hw/mips/boston.c @@ -220,7 +220,7 @@ static void boston_lcd_write(void *opaque, hwaddr addr, static const MemoryRegionOps boston_lcd_ops = { .read = boston_lcd_read, .write = boston_lcd_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, }; static uint64_t boston_platreg_read(void *opaque, hwaddr addr, @@ -299,7 +299,7 @@ static void boston_platreg_write(void *opaque, hwaddr addr, static const MemoryRegionOps boston_platreg_ops = { .read = boston_platreg_read, .write = boston_platreg_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, }; static void mips_boston_instance_init(Object *obj) @@ -758,7 +758,7 @@ static void boston_mach_init(MachineState *machine) s->uart = serial_mm_init(sys_mem, boston_memmap[BOSTON_UART].base, 2, get_cps_irq(&s->cps, 3), 10000000, - serial_hd(0), DEVICE_NATIVE_ENDIAN); + serial_hd(0), DEVICE_LITTLE_ENDIAN); lcd = g_new(MemoryRegion, 1); memory_region_init_io(lcd, NULL, &boston_lcd_ops, s, "boston-lcd", 0x8); From patchwork Sun Feb 16 21:01: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: 865550 Delivered-To: patch@linaro.org Received: by 2002:a5d:64e6:0:b0:38f:210b:807b with SMTP id g6csp829205wri; Sun, 16 Feb 2025 13:02:51 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUD0HN7iN79E3VZuUb10eje5loxUE3Jh1luhC6KzUoaXfvGdb+hASGmyEYxD/tD67ca6TdH+A==@linaro.org X-Google-Smtp-Source: AGHT+IGttyc+CBh30mZSMZroD9JezwoHeBc6su/1E93WTR3fmNannGbbnVaznu574k6NfpXWqyGx X-Received: by 2002:a05:6214:e84:b0:6e2:55b5:91d1 with SMTP id 6a1803df08f44-6e66cbef786mr108418676d6.0.1739739771612; Sun, 16 Feb 2025 13:02:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739739771; cv=none; d=google.com; s=arc-20240605; b=fNnpc53lNRZaznaleGljjTb2lEyTVJoe1XbAqoIi3vRiK3o8VK2LCfKwbnVHxs4T2c E835rM66npQOrWdsoBiggB8okSVHkD6Et/akl69R5OmRaFuPFS7CutLARx/m1BYNfx2c AiQzOwp/hFJPuTbqBwfWQv6AisST3dw/GdACo/DwSkVPD2xRdwGs6GQFjan3bpotlZJs GNsb1uDV7PXixd/5iEQ7UKW0dlgXVuTEr96HoBkvmx37rzDWXqS+Bq6kkl2MIa+cxQL7 PQddo3ByR8KdcdY8aIxLExtznFVLPQQuP05sa1AkpKFjD7dYCWJx8nLtivDGC4DeTIou fjpQ== 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=cGBjSRjjs0GVgebNeH/me8dl0WzvlQD2wvlUH4yfoyo=; fh=qtn8prgQtzf5IzCNvLChUZDElvNECP6ej9YfjQeBz3I=; b=PfIKzHzkGo4j4pB3o6eSXyJPVOwKiSHnn7YoE7lN1jf9H2PkKWNSyZcVfGl5jthgG6 Ulm06W1O5K6I4EN2+aQ3t1shorPP29fen2kStCwjy/YT1YA1/tnDeCoL5mXJujMLJwqy h5wg5cLR6CXzT78RVwODeW6d1xexRU/CPsfenaBF+ESD0aHnD+MOQoU7DXSLkUNqqIJH mNoAPIQR+lfa6RNS9D8x/du5olLM3qULi9GzBA/YJQu1zJB3wUmWw1mI/S6lFjdOPkOo LCK/V/VFoKaMzuZbNJNCgdCh7Juv8VUJy7+9F78r/5pX6Er7i4H4DBlnSff27vMQ8GEW A8kg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CpvqOj05; 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-6e66d7a022csi36664666d6.290.2025.02.16.13.02.51 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 Feb 2025 13:02:51 -0800 (PST) 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=CpvqOj05; 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 1tjlmC-0003Uu-Hf; Sun, 16 Feb 2025 16:02:09 -0500 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 1tjllz-0003G8-VJ for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:58 -0500 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 1tjlly-0007wb-7B for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:01:55 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4395dddb07dso39108685e9.2 for ; Sun, 16 Feb 2025 13:01:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739739711; x=1740344511; 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=cGBjSRjjs0GVgebNeH/me8dl0WzvlQD2wvlUH4yfoyo=; b=CpvqOj058UEylZPXKNkKotvRYyF4ZllA8P9DwtX3gyrvM92UJr4DqwSFofV/na29mI yY6Fg1WThiSGTSkiwl2J5ILTyPYV0aL04hdH0EoDshV6maQWr7QP5DGKaLH1EsCYqenH kmRQWxgHtdXevzna5CEWUbI7/GS5XYIClXEA+bjZo6seM+oCReQdccDoG5j4HuSlV0h5 tW0axBW7SpWkGKQ+HcKIX10H6/0YxHNVLZGeOePVAtAojvEzb2wKfEjBa/q1wK8sYbsi YW6qqIGzppu7KRlxVqOnFRkikfd2N8eWGzlghCW2aiI6rZN+wvupi5Y6i6Oz9B7sxbZq bYIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739739711; x=1740344511; 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=cGBjSRjjs0GVgebNeH/me8dl0WzvlQD2wvlUH4yfoyo=; b=XGP+jIazLm9FX6eGZ93Fw3tVgZ7yxpkyLbT/i2nMjZ7BgkKnSCGl/0pyOQ6QCmv8/h 6J7nIWRUejUj8Z/rDm0iP0qNZCce9sHXYPn4WoIGNUuNua8aX+oCDU0ajJ08lamDHYVy F92A7DpVYOJP9RKkDB3GCqp9cyfed4JJh8ZzVK17ZfXblSLGpqvkLN2PDInVN7eiZEjk AuKMmlHhTTHkrS7NoINnLQo2pux3FJeZEHfucmYQL6G52ThJOdYCmaVsYihqjARUdU7w ykPzHEBlwhZJYKQn+KIAuSte/zkj1je2DwpfjQfLEPGb+jn9IksvRP9BG7XK/qin0yhk osbQ== X-Gm-Message-State: AOJu0YysLPrivJLsQLwTmhwwB3Y1RfH07giLnerSrZIcozcwoHUYUUO4 nPzDeThBKYXTIjNlqfrIGqEaBc+ohMI+qS8WEjR3fXAP1YgHETYNNOGkYhCn+6RZMR3wYXieD5z iW5w= X-Gm-Gg: ASbGncvcTY1zFPdsNzkOzLJuuWpDeSHCqq/J0rjiUlyIyZjcuh3WBt9/n298a4GyKBB v9CQzB082Bull/v6T/j8ugLamZLRO1rs6aRI+q0lsal5BLG/f8FwPWIUGpzFrMsoC8OTZYaVw6m R2ecyHP14DDBG+9wtS9gXg0d7pcIvAnD8aTogpbn5kyJOpZIR1yWAAmCsecOocqnB1PUQfskEoB sUxuzJ7x1nwhdcYqnqMGmtiWnMESOaP4/S4/KQ7Pnu5JK1JT9GukUbCKWGPeYQkiBUMPiB5dB6v 1rLisEWW/FxI2aq/2la4aFRqSpKbGCKzPRNwYZQ3rUNiACk0+6etfOKCLm3Ekgqk0XSEMPg= X-Received: by 2002:a05:600c:1e23:b0:439:8346:506b with SMTP id 5b1f17b1804b1-4398346535emr12923435e9.19.1739739711465; Sun, 16 Feb 2025 13:01:51 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43984924201sm10830115e9.6.2025.02.16.13.01.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 16 Feb 2025 13:01:51 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 37/39] hw/mips: Mark Loonson3 Virt machine devices as little-endian Date: Sun, 16 Feb 2025 22:01:01 +0100 Message-ID: <20250216210103.70235-10-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250216210103.70235-1-philmd@linaro.org> References: <20250216210103.70235-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 The Loonson3 Virt machine is only built as little-endian. Therefore the DEVICE_NATIVE_ENDIAN definition expand to DEVICE_LITTLE_ENDIAN (besides, the DEVICE_BIG_ENDIAN case isn't tested). Simplify directly using DEVICE_LITTLE_ENDIAN. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20250212113938.38692-4-philmd@linaro.org> --- hw/mips/loongson3_virt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/mips/loongson3_virt.c b/hw/mips/loongson3_virt.c index 831fddb1bd7..db1cc513147 100644 --- a/hw/mips/loongson3_virt.c +++ b/hw/mips/loongson3_virt.c @@ -144,7 +144,7 @@ static void loongson3_pm_write(void *opaque, hwaddr addr, static const MemoryRegionOps loongson3_pm_ops = { .read = loongson3_pm_read, .write = loongson3_pm_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 1, .max_access_size = 1 @@ -560,7 +560,7 @@ static void mips_loongson3_virt_init(MachineState *machine) serial_mm_init(address_space_mem, virt_memmap[VIRT_UART].base, 0, qdev_get_gpio_in(liointc, UART_IRQ), 115200, serial_hd(0), - DEVICE_NATIVE_ENDIAN); + DEVICE_LITTLE_ENDIAN); sysbus_create_simple("goldfish_rtc", virt_memmap[VIRT_RTC].base, qdev_get_gpio_in(liointc, RTC_IRQ)); From patchwork Sun Feb 16 21:01: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: 865552 Delivered-To: patch@linaro.org Received: by 2002:a5d:64e6:0:b0:38f:210b:807b with SMTP id g6csp829370wri; Sun, 16 Feb 2025 13:03:17 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCX+SOvyKEIMM78UBJo6aDSe5xF4LCoRbrehT9oHBcABuFD7Lcxg6gszWg7v7hXKicVETzKXbA==@linaro.org X-Google-Smtp-Source: AGHT+IH4/6gd6Zj2Wg+6dgXqmn8PqBHMY2YsbUUe4RP/AsMFE3A42izFmq8M1nLcOFrhDoBgfSNw X-Received: by 2002:a05:6214:d67:b0:6d8:9abb:3c28 with SMTP id 6a1803df08f44-6e66cd19c36mr99472776d6.29.1739739797082; Sun, 16 Feb 2025 13:03:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739739797; cv=none; d=google.com; s=arc-20240605; b=P59hUVZtA9kKs4+A4qaIguSqnO9cx3uanQMh/VehCzTarh2aUDIrxi2up85ca9aOJg /IuST+ESdj4zcps8Wd2AX4CN7UJgf3Uy75OYgqcjAONO97Lw1pkHobDG9K303ZOM/eEq MAmLNXp0EHjJBJF7yGn0B/Bj/08Wxf/R3bEVw3G+hI2MD8MQFugDThHKnnzYAqETjCBQ iSHQJfRj88T3YJIxtY9GF7nIQ0O2Ps4tQmFK3CzAlkN2+q3KDqzl+zxgdpKK0GhBU0Id bAfbD5lf6Gbv35SBxcP4bXVC2slerNE9aW8/rJhRMBBEEf1kWRQ9pE5MW6GrU8wTvR6B ZVjg== 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=EoUEir+L/Lwibe4TspeNvCoRQYIzBlRMRbwzJOivCrE=; fh=qtn8prgQtzf5IzCNvLChUZDElvNECP6ej9YfjQeBz3I=; b=eMPPMR2NwIIL90tqPMXPHrJTBwtG3cpnmqAJ2inILoI5rm35hAiBMA+DhYVH2881Dx C0YY7tiyVUJvcPkEOZTERipd390MRmdvlbRDfTXu0VK04y8hT2PFG3tRzOyHpb9FeLGE Jr84NY6d2Xck4ZLDmE5qmmWuMMX9tDxTfwH7Pj/Lyy970nlN1adbrGIHoQ6Va49uxZOr fgX2c8/2fLgLVveSRMlb5Ax6vY/gpp2f0ZU6YqcpwIyolZhF5m7HhC8nf0lvqbK1y3tW oz9OIu0Yr3iGLT4XRSVS041XDz1CTi1L7MKEQXKHFbL6wo3Zm487B9or2e2uBXPjsqTe kaVA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=pZQItYlD; 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-6e65d9a8be9si76752036d6.168.2025.02.16.13.03.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 Feb 2025 13:03:17 -0800 (PST) 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=pZQItYlD; 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 1tjlmE-0003cy-I0; Sun, 16 Feb 2025 16:02:10 -0500 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 1tjlm4-0003S5-HD for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:02:01 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tjlm2-0007xK-P6 for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:02:00 -0500 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-38dcac27bcbso2857593f8f.0 for ; Sun, 16 Feb 2025 13:01:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739739716; x=1740344516; 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=EoUEir+L/Lwibe4TspeNvCoRQYIzBlRMRbwzJOivCrE=; b=pZQItYlDfY0i7Rp6xKgQ4nIRWGQ4AxBdeQ0P//K6pVbg5dU1ohsRFewWGWQ/0JrJG0 NfQxCQBK7e/gxAskdQAcLt3vm8GBJSSuUPLXidwqoV2HxxO4Gjzt20+HZsLXDcNzy+Ir vrUiW0R5obtrR/tIT5erXhehXmC6K3YBe1v4rSwP83J6OODjLvKiyOVp8YI7KrbqmUSy qhX2bvNXBsJ1bMWKpytRf+QKc2O/943G5bNYl0Y8ssHNtX+ze49okJKAZSJhSq9wFrZM yMF/AXSp4j2DdlnmSrorBUyRW8SXSWk8SGOx81lfdHNREnGz4iiveR5rcCHCy1aiDvxC mJdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739739716; x=1740344516; 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=EoUEir+L/Lwibe4TspeNvCoRQYIzBlRMRbwzJOivCrE=; b=RgtHMJMLPjAIAcy1zaDiuEj4Lg/sjk2+OIS2dfKmOIvdlCqSeTpg/ENGtEVWyUYWZM K7lUUCSiQYGsncNLgLdQoZjULMNZVVu6u2jV3HkTbGIEcyq/X5eo9VkryYyeCytekrF9 vy7muTfQ1iFT/bH3TqUGOKeNqPzmhvZCIzPp7xSKSYg5d+FFofQY+vUUL/KTKT/U6/8z x/VgQRD70Cdkb0qXOMy/mS8/cH2sES4VDghnKcv5IC5/unL6BB8sDq7ZIq8Nns252LQB LCSAczTFDv1xCWj4iRNbn0N28JE7Qf258hAfjmkP8hDkp3AtkDAHO62932lUsX8OyBhE gVeg== X-Gm-Message-State: AOJu0YwAT/Z7+2ZwXh4DoDLSKkfoiPh41v8I7pdwP8FmG04vUL6lv6k4 zMJ2Wr/+2HxTXPRoafRo7/pipVv8KqgxWfzENQZAAp9icu+ZR0gV2PmCejC1oL7YuosknEE6lNR ziz4= X-Gm-Gg: ASbGncuyulWrY5Ud9n5MQLmBDcsant2eaMiUePpk3MLmmHik1ins52VoKvxJdOMAKyL nroEBGQaWIWPbmqEQwxx0i9cUZrbUursfDjVL2LJ7+crVuOCa31K9nu1u0Rw/bDVTIoexjmVsAl Yq9XpL9oCbuDlhN3pZHOtNMstBeTwuy5D3IHWCVuScZgqZnDszxZFSstoyNMv/D6qgwo99XROPG DjfHQzz743JCYSXtlQScv2AfuAR2KvZ6AjS2zap6a3YIFyqD61HgXQC3VbaZ4uk+7wJTt19Pxg1 7rqbELUG6z8IDY81vax3NBTjzMzy+MvsFk6d/GpDGpAJlCpBTqlZY/3FZm7EgGdi1pbO6rI= X-Received: by 2002:a05:6000:1f8d:b0:38d:b028:d906 with SMTP id ffacd0b85a97d-38f33c20f7cmr6473292f8f.21.1739739716276; Sun, 16 Feb 2025 13:01:56 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38f259d65bcsm10498204f8f.65.2025.02.16.13.01.55 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 16 Feb 2025 13:01:55 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 38/39] hw/pci-host: Mark versatile regions as little-endian Date: Sun, 16 Feb 2025 22:01:02 +0100 Message-ID: <20250216210103.70235-11-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250216210103.70235-1-philmd@linaro.org> References: <20250216210103.70235-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=philmd@linaro.org; helo=mail-wr1-x433.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 This device is only used by the ARM targets, which are only built as little-endian. Therefore the DEVICE_NATIVE_ENDIAN definition expand to DEVICE_LITTLE_ENDIAN (besides, the DEVICE_BIG_ENDIAN case isn't tested). Simplify directly using DEVICE_LITTLE_ENDIAN. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20250212113938.38692-5-philmd@linaro.org> --- hw/pci-host/versatile.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/pci-host/versatile.c b/hw/pci-host/versatile.c index c3fbf4cbf94..33a8ceb3b54 100644 --- a/hw/pci-host/versatile.c +++ b/hw/pci-host/versatile.c @@ -246,7 +246,7 @@ static uint64_t pci_vpb_reg_read(void *opaque, hwaddr addr, static const MemoryRegionOps pci_vpb_reg_ops = { .read = pci_vpb_reg_read, .write = pci_vpb_reg_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid = { .min_access_size = 4, .max_access_size = 4, @@ -312,7 +312,7 @@ static uint64_t pci_vpb_config_read(void *opaque, hwaddr addr, static const MemoryRegionOps pci_vpb_config_ops = { .read = pci_vpb_config_read, .write = pci_vpb_config_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, }; static int pci_vpb_map_irq(PCIDevice *d, int irq_num) From patchwork Sun Feb 16 21:01: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: 865549 Delivered-To: patch@linaro.org Received: by 2002:a5d:64e6:0:b0:38f:210b:807b with SMTP id g6csp829059wri; Sun, 16 Feb 2025 13:02:34 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUnrH+vgUZT+hukwKwfVNoBuP2mLGKWkt3FWTN+bgNyEvFnVs5/YEBg6GCTCdb5ZxAcCEjDoQ==@linaro.org X-Google-Smtp-Source: AGHT+IEYL1l2NB6aJINi9LWCtxHkpCBbDk4k/uO1UURSUQCBN2AygouDJLxsrhRSuPh9K96QCr/z X-Received: by 2002:a05:6102:c4f:b0:4b2:485b:e151 with SMTP id ada2fe7eead31-4bd3fc9b9fbmr3238269137.10.1739739754446; Sun, 16 Feb 2025 13:02:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739739754; cv=none; d=google.com; s=arc-20240605; b=gbC5oUHx13/CDbbXYnB45hhQIRnTWqqqfL+UD2a7nMwhXeJyYaoBP9Mg8XT/ml0Jc8 COLl3bIiMJy8UwLzYfIkSWgmr6T+xtTmoe6+KRRg/wOgCSVaX8LJUrTBx8waELaF0w41 icbZ+49EvenK8VyhbQRsohLW2H1rSW78WCuw2hq5W3EKKxlh2ObrsB9FkWwqjSbAB0Wv W1Dp4E3tpVf79XJ1F+k+rz+S47Z66DUkuFmryuO5CF8FmI8F8niV4SvL8mrmTPHH6Fl1 YPtdMgXbl24SkImJot4nsunn4FrMJqmFJQrusp3EV2xUVkFdZziZACq9zsLGXTZoYYEV wLQw== 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=mX8deahLJd9g/czOO8F+DTVRecS9AsmpyHYz1+koZZ0=; fh=aXETIGYeAgM1J3LDQut/nU/cyAKB/dZ6roXL1xiw0KI=; b=e4eTV2Hcuie1n25yn9/AsX5rQiTSmqpshS6d3xI+r/aXrp2oWaddGxjlIOup7xCoys TczNdt/ZBs66zr7pLjwAeeT0Rf1iCpb3mkZWBS71kg7MDq8Vmlc0NmyC8qpxj9OZ9TM2 Z4Y1QTGjI3vnmarYMmTgVLoS6EhpniSBv3Xqlm5i2RATojrwk/lpOD5UbNzmv+ZsMmWm YKL+b2EHY6qnYAYfArWOS0ZcdQHQWRu6LhKlef+18IWaRydunGa20spkdCHw37xjijvu dSEFNThMOAy2LcHaVuc/uZuKUY+YsmO6i9mnZRrarln+QiVV+WpNlvR6WvJq+U6pIEuh Ivzg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZzxqfvIw; 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 ada2fe7eead31-4bd368e1560si991620137.340.2025.02.16.13.02.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 Feb 2025 13:02:34 -0800 (PST) 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=ZzxqfvIw; 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 1tjlmF-0003gT-CJ; Sun, 16 Feb 2025 16:02:11 -0500 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 1tjlm9-0003YO-2S for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:02:08 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tjlm7-0007xk-IX for qemu-devel@nongnu.org; Sun, 16 Feb 2025 16:02:04 -0500 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-38dcac27bcbso2857620f8f.0 for ; Sun, 16 Feb 2025 13:02:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739739722; x=1740344522; 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=mX8deahLJd9g/czOO8F+DTVRecS9AsmpyHYz1+koZZ0=; b=ZzxqfvIwCUff/A50ax3KHIBt7kzq1SvTXvItWtY8Y3YAeJzfUDADS2s+gx3I381DT3 JGdFG/jehFiQXygr5patrWhIFvaMuovAyVmFkEuhr4wWuy2zcQ4WEAbSDW7XaSxKaXYo jB9h73aMZIP/ksw062MAipbdPIIvPT8LkZBNYXe1Ro881Pl27cgS3kpBTyO/fqbO4iG5 8Ekp1bPuG1pmFa36boNbhbuJWcvmwIi1bE8RSzCRGdm3tEQx2Ty8B4SOpEoOCwRbe5tN lprTxMSgINDlaFrrs4NKSYqYWeDnwsOtRjlbWf2swwLX3BNnyl41yhS24LSBMlIa6A9a 73EQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739739722; x=1740344522; 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=mX8deahLJd9g/czOO8F+DTVRecS9AsmpyHYz1+koZZ0=; b=YaNsJA+gdJeqD2Hk16u+UADXP8J4OuJ8RFedoZvup8q/+g/gyzY2WRXUc9TJGJ2ZK7 jECAjGuaTYijzDGDCHhrfnKc1BS3mZsRm3kNFMScgWAeZpXa0gHeIUh1YcIDSLqIBHlW X81e1gAs/h4Uy+imqGDQ3EbF7qxeFZh+r3qCBz5dV6bEmRpWFSEMubzspOvO12kY3Qtt YNc0YByHep1M+8O0A4LYL4mY6m10bMPJ+NLCIpr5MoKyBpFtN+fG1rx/DEYABH3qg6Qi H4KYXVpAW5Z1jdFv7YjCTDw7lRAFYgqRpylyIxDneYn/ZuHYVi9zGaxKRU7avun3hFbr TZsA== X-Gm-Message-State: AOJu0YzM5ZUKW3kE0iwPlu7/3nWqXErrhEmxsxhA64lKaMsjYVPUtLpC ObDLDE6j9Pi2imtiwncHOl9lLptiegFXRN+ys/JIMtUzmpHcedQ7XYL1saKTq1tbenanhMLbSyd bo4A= X-Gm-Gg: ASbGnctxG5cyC9hQ5S0cR+2zgsS9V+tWCke5pXf4YR3FVRe+QYXdiR17xA8wxzk+9u8 m5EUofp8PWfpJbXUP1NZo5aobZcFmBbenflcFNsm1jiGLg4VSuejVMNyBNq43q/WKRDlc0X7+4I Cgvx3P1yFliFur2O0Wpo4QcHKnr+8pe069n4ELUiwYo/bmmjbQIO+BlNsWw0s5aD+OntWwuwEVv 0LExpmV8QMJy6dkQ0BBIoNzLhEWbk7+V3Z5ZHdArt/z40bF24BJkAOmUKnrDlwkuI312WpcNaPP Sk4dobsLs9/6BDhGkX0kAoXL25cn009uyDoN3puoSRWkOrFGSDQtj+hDQyTHiIZOYrwDHtY= X-Received: by 2002:a5d:5889:0:b0:38d:b8fd:591f with SMTP id ffacd0b85a97d-38f24ce76d0mr16806733f8f.5.1739739721676; Sun, 16 Feb 2025 13:02:01 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38f259f8115sm10579717f8f.92.2025.02.16.13.02.00 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 16 Feb 2025 13:02:01 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Keith Packard , Richard Henderson , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= Subject: [PULL 39/39] hw/rx: Allow execution without either bios or kernel Date: Sun, 16 Feb 2025 22:01:03 +0100 Message-ID: <20250216210103.70235-12-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250216210103.70235-1-philmd@linaro.org> References: <20250216210103.70235-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.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 From: Keith Packard Users can use -device loader to get an ELF file loaded to memory, so we don't need to require one of these options. Signed-off-by: Keith Packard Reviewed-by: Richard Henderson Message-ID: <20250215021654.1786679-2-keithp@keithp.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/rx/rx-gdbsim.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/hw/rx/rx-gdbsim.c b/hw/rx/rx-gdbsim.c index 88c8f12c101..4afd77efd56 100644 --- a/hw/rx/rx-gdbsim.c +++ b/hw/rx/rx-gdbsim.c @@ -110,9 +110,6 @@ static void rx_gdbsim_init(MachineState *machine) if (!kernel_filename) { if (machine->firmware) { rom_add_file_fixed(machine->firmware, RX62N_CFLASH_BASE, 0); - } else if (!qtest_enabled()) { - error_report("No bios or kernel specified"); - exit(1); } }