From patchwork Wed Feb 12 12:36:50 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: 864452 Delivered-To: patch@linaro.org Received: by 2002:a5d:4cc5:0:b0:38f:210b:807b with SMTP id c5csp95356wrt; Wed, 12 Feb 2025 04:39:11 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWy3yVLt12Ni6RUySaK5zwxwmn1Uks3GUW/PrRdUEj7SA4dQ5kdqgVIHatk5VqSWJ/wpXLYRw==@linaro.org X-Google-Smtp-Source: AGHT+IE+Ve5bYnsz5nzoXjjGb/UoKcbiNwJWIBcEO7BFkDJhTl/xp0Bt9NPaSr0MibbXaGCyVUp8 X-Received: by 2002:a05:622a:1356:b0:471:89dc:2cf with SMTP id d75a77b69052e-471b06086e1mr40911241cf.1.1739363951408; Wed, 12 Feb 2025 04:39:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739363951; cv=none; d=google.com; s=arc-20240605; b=NfMz7Nt60T5X96NukB6t9g7k4GAwsgsy1kAYfO+364Lzj8lJTZ0Xu28d6bOBf3tyS2 8msQJSahJLsgZRABH1OoDepEVkjP1zEN4OS/COyvkVbRmqByNqdH2Xzd8OOLxcl902Gv TKbRJi+JjGzXwKBdmo2EIat5hKEVSuR19R1vrHcE36XrLH7hXoSgzsAiJMhJ2NIVNa9K B1ZTlN3yjiXKBiQD/69wBHrRySKEPZgcmlj2tTtE2uTkqIG5E0X/ewFAuPrgcoIqxMl4 kdSmbxclYkKYMI68X5fDy+RYcwd+leaEJRwDpudouUqojNNddt+AEyibGvPkXEvuB8bO cT6g== 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=cvDaF3GKG76GRCi7eSTTtcTkqo3eY1cM/gGguFUqtkI=; fh=HlENWry5pBMj1xy+XPJJKz1+KJ8prrg3FvBcv7/VjNo=; b=lMVndmgB7atwOMa0lPfi/6LpqnfsFxn+WUixvYAx9qBr3uXm1psVJIwqDmfYjEwF8a 5So5zwbG37xYjW0XY9fCuOKPrxaRv3pP10J7pBFP0J/JkieqaO9Pxxwp2ev0tqDJq1cC WPuQRehA8zxsGCZjAoKww2wa10vjs5KL2BkJJKyKtm4rO31G6CdDV2MG8co/IXSqqNqT FejdbsAW710SrdDN96Vgp1iiJhonHpMP4ZqLU4g64hw0TGUhvk0SQdy4OGBpEPKLeygq VUtk3UzUI0azEyQO3Wm57I6hEiRVIXzTX2RiK3gXhp33djwTRGYPMzwQ+dI9MFKAcVT0 yFFg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=hk6EH+Bq; 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-47194f52772si62696481cf.483.2025.02.12.04.39.11 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 12 Feb 2025 04:39:11 -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=hk6EH+Bq; 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 1tiC0F-0003yl-9G; Wed, 12 Feb 2025 07:38:07 -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 1tiBzW-0003RB-FW for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:23 -0500 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tiBzN-0000Ow-F2 for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:16 -0500 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4394829ef0fso4937655e9.0 for ; Wed, 12 Feb 2025 04:37:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739363826; x=1739968626; 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=cvDaF3GKG76GRCi7eSTTtcTkqo3eY1cM/gGguFUqtkI=; b=hk6EH+Bqi0lq4psoQrxuSFd5s7/MjK95JhOzeIMIJYgf8vy2oBQZZ17ZPuUQoq2Gc5 N/6DjVJx1KYnUqJSrJnvmnrRdHw0qB6Ow6W+kWaxiUiz5WDw+s9ZdNDEUXfZiLw3OodG czpiMM6Br/UAkhzkHLDE4EbQIVRbCSX0+D4y0ousgz3+4OonsnQhxdQ79R15oU+5zDSt 8XSbR2IVDzOVbyZ5Q+tQT0c0KHOVdX36Ksxhw7mZbc4V2TZCHv3CpWPrrRFCNIoAxHUt 4prUIAIR/XDuKqV7O9dO9glJBIx44BkLPf+28nIIWZ/oUhxi+Gqi24n+eVrXtl6+ouk4 fRaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739363826; x=1739968626; 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=cvDaF3GKG76GRCi7eSTTtcTkqo3eY1cM/gGguFUqtkI=; b=MEs3q0tWCzbivHS5soV1Bvd9ZkW3RY5RQ6CQ3omshByqsUp1tClKo/6plU9IWUUOTt 7HXA0QZa1vv20uXJc+YI4VmWNiIhrMReJYMgNhLneYyQrGKEsSLlXV0zAeka8LrdL+of 06jic3J2D25Id2/+iL43cDe2EgUaqTGM/UUCGzCR9ogzLLmChNRCWUzdk2PQKN4ldmse JMD5Ce3YUTLHhrHH+Y1efi+1NtrNl4l+IE7IjwoXtL+CWFfRfPP0/vk0iOPfzdqHhREl okGDMU7W0ryH2H5RyEBv+4nYIlzqF7nUmUIs2iP/0NN7zyzxgiOsbA79vg40lqtCUCi7 5+gA== X-Gm-Message-State: AOJu0Yyu7tfiSYDeWZ4J0F5EL5YX/vOwt3d9lApgz47Vdq+k8tjju+CM Q/3+1mMIVlYXeSWbOoG1KnUr5+DZmBBJrqgSPq5DE8r4Yyu/o1oeK6CDNnac6SzT5NdtxHjUti2 9lVk= X-Gm-Gg: ASbGncsoWLmMhMcBB5Pt8SZdt0fS30FdItT2dNQPlzDRqR0kRwKzm4iISvYmHHTgKLD KQZvFz7QkxXGzJRY+G02va//Wb/JTHn1rqJzpLOq13uercCSPkPv7XcnnQpikiU86POeRi95k1M 3Naljk9h6wzyK+xgEEUZ12FslGI6FdldzMnnJmPhvwrUrne05s6vbpH5x55axKrCtczn7YlGYPr bN7GpZUj+YT3Ft15VAX9xq4K0ZphJSdi3PJbiMk1niJmqutG68dB1k0U0wWjHVaSzgI7Ty3lmaN E3LAwY/TUcURKDg647Ha/+mmKJYixxtvqcgDK9UM2KTEMraNvxsW8R15hdgTcNEpoA== X-Received: by 2002:a05:600c:1508:b0:439:5b5c:e03b with SMTP id 5b1f17b1804b1-4395b5ce0d2mr15307345e9.6.1739363826533; Wed, 12 Feb 2025 04:37:06 -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-4395a04f208sm18657015e9.6.2025.02.12.04.37.05 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 12 Feb 2025 04:37:06 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, Thomas Huth , qemu-arm@nongnu.org, Richard Henderson , qemu-ppc@nongnu.org, Sai Pavan Boddu , Markus Armbruster , "Edgar E. Iglesias" , Alistair Francis , =?utf-8?q?Daniel_P=2E_Berrang?= =?utf-8?q?=C3=A9?= , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= Subject: [PATCH v7 01/10] hw/qdev-properties-system: Introduce EndianMode QAPI enum Date: Wed, 12 Feb 2025 13:36:50 +0100 Message-ID: <20250212123659.52764-2-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250212123659.52764-1-philmd@linaro.org> References: <20250212123659.52764-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 Signed-off-by: Philippe Mathieu-Daudé --- qapi/common.json | 16 ++++++++++++++++ include/hw/qdev-properties-system.h | 7 +++++++ hw/core/qdev-properties-system.c | 11 +++++++++++ 3 files changed, 34 insertions(+) diff --git a/qapi/common.json b/qapi/common.json index 6ffc7a37890..33d8df19f67 100644 --- a/qapi/common.json +++ b/qapi/common.json @@ -212,3 +212,19 @@ ## { 'struct': 'HumanReadableText', 'data': { 'human-readable-text': 'str' } } + +## +# @EndianMode: +# +# An enumeration of three options: little, big, and unspecified +# +# @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 Wed Feb 12 12:36:51 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: 864453 Delivered-To: patch@linaro.org Received: by 2002:a5d:4cc5:0:b0:38f:210b:807b with SMTP id c5csp95450wrt; Wed, 12 Feb 2025 04:39:25 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUD0SgcVqOnSrKhhLvtJc0GbJzeSwB2Y+XMLK5Vek+NOvHpdV3akrkmm0L/EeHNIZmbhNCUaQ==@linaro.org X-Google-Smtp-Source: AGHT+IHJTPg3+D2JQcdmB/bH8XCGrds+2yCPluvZnWtxqoksrppn8x9l8A//FySCz2gYZiX8gW22 X-Received: by 2002:a05:620a:618c:b0:7b6:ce6e:229c with SMTP id af79cd13be357-7c06fcd4f01mr494850285a.55.1739363965205; Wed, 12 Feb 2025 04:39:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739363965; cv=none; d=google.com; s=arc-20240605; b=ISTRxkPCkJA8ehdBjgX/lV0zsDaOiz9D+PiUJpwueZK4mxqM+ITJGaTSbM27DV7nxk tmuDPErkX9YGe34v11A8o/CdOx7GuhxARR84+XAUbCGkGdAVs+Gq9J/RjeFQVJtgxNc/ 34eZ9nxy4io2LYBxWoZocGFh43Q85OlPnokPFnTR/NvpU1+QZ5fgMlKT11Ob2aB8qj5W MeTfbR+0bwognq+u+Sd14AOWGMvW8Yinv0EcU8/nng7Y49B45qClrQfJyj0mgYFToj06 wEqEcnzznWyHf8phJiNJw/udguqgOTVff3ddqvdbka//fK7m/9S6hg9WiEfsDsFlRjWd 35FA== 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=HqvweuXzxTEGE7Ytky6rwqFAbfXEcGIETL91y68eY3A=; fh=HlENWry5pBMj1xy+XPJJKz1+KJ8prrg3FvBcv7/VjNo=; b=Jr4TDJx/oQ+ZxbY//NuVW5bgET8hBpZ4zvcD9C78VSVNTwQewyBw0LYJ/xxlYc80r1 uXdkjCIvLW+yLAPDtj8il/b9IASMQ+EwBWAAT2u7GiOhcBbAB9lQGOjYKobrcu1wJwFb y759zy2l05z4tbwjAiMf9YjQDikc87v7DHBFi4cgHABeRYt/2Z2IKJTyyuf7Tfx3YeLD dzgIZxnWx3+p4mtKCLFUmBZ85VmKT/YkkmGc6chGFAojYuGT5lGsOmy5wOQEoYByqAk9 AW0SN2z8vByO/W+9IQENL393I+eJLh4uQ9aKoDrSS+RY5LCGJbv0NnRiRhvJRFYIhV7E JlNA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OHHgMdZw; 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-7c0506f1b67si896303285a.353.2025.02.12.04.39.25 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 12 Feb 2025 04:39:25 -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=OHHgMdZw; 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 1tiC0H-00045c-VU; Wed, 12 Feb 2025 07:38: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 1tiBza-0003T4-G5 for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:26 -0500 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tiBzN-0000Pv-Us for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:19 -0500 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-38dd9b3419cso2061985f8f.0 for ; Wed, 12 Feb 2025 04:37:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739363831; x=1739968631; 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=HqvweuXzxTEGE7Ytky6rwqFAbfXEcGIETL91y68eY3A=; b=OHHgMdZwoUKLE/JJEzE3xpTlFA8hf70P6l+44A6cArOiPblCbAO/nOFXgkj5YPQ2pB cFYAWv/HOmXeT6usjE0iZlwLyu0GOyHdEsg8QCmhyLoU9CQGvFNr5q/5mjA17YQEpvJd 2g6pMqBGtL7kMRiwu0fHcnnV9g6KVSDHWQCzD5RdjigguRXc20sIXj5kP6vo+A/8+5t7 pbpQTVIriFs/vw3YUaSu78HG3P2hu+FQC2wVpoXPmln80bM5fxLYTu7f6rAL9+TsDPhx FBPjg+QjDux6v6k2iCiOD1wycVUdYjsawiG6AnqKi0ZTvzXRT0VLrxT6MI7mSVzIYnPG whPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739363831; x=1739968631; 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=HqvweuXzxTEGE7Ytky6rwqFAbfXEcGIETL91y68eY3A=; b=QXpeLeTJWdUb129aA2sb7ENs2hHwBnu9q/R/UwVv9HI1oHnLMYZv0mixC3FF2OIuYa w1AoaBORvvfOBoEoy7cRUlCyi3+47Y40Yv1rgAvICztgPQ9XhP9PGFMW5tyIJ2eMQmow SiiA8dJUn+wHZG5reA2d7kF2rAv4dcLXsfXgyleBvRLjivNh+eNJ734Y6lGxz2dHcJzo FoccYiX2w7OJZr36j435FLWFCjU9L5ACtl+HNz25cK3GUqH5efyhK/8N3NHHoqgzkVUU n4+KnOFR4FjSwTwPRTcPtkapzuJ7JrIfw0wApA4Y92CrT/vgOQlyIKkgTe7Q/fpoYVkD qa3Q== X-Gm-Message-State: AOJu0YymqzFAhVz5c3/87fpig/rxobFqkWuCeZgcqZK4OP1jvOgG6ko0 o1kK8Zgf1f9rQ1uBTOENRFPVGEdv3CuSu+ZFGIm7JoNbnuIS+p7xR7geVOeSlfTjxacFIqodksR AylM= X-Gm-Gg: ASbGncs3EYYTLtDEvmc442awzcvHwLfqm5pTv07xtzu7PwIQj7kMGvt18glhpR+KdK5 mzQgkVX4Ar2AxtUOFkcgTS40CxrwSiFoa1aMwjDntvbZF9Zb9Yt7KccpLs8CAldt1NAuehao3RB 86I15/BStGpb6kf5wtVQEKMAYKUzi3KdI4vqglk4AEDCrDoNwnejCGKSw2glPt5KC6Aw0IfsC39 wC7GhQuWF8Xg/xJwfVhFNcO+oeMMDix9alkEVUjrHW/wjnSRgzkjTE/3cO6icPvZ3wjTuOx8dEH XU3DXX2pX/ZgsoylQR0iUY1Yfk0+zOpuEcPRmySPnjXJ24wl1CozVULxpf/EBfZhZA== X-Received: by 2002:a5d:6d0d:0:b0:38d:e3fd:1990 with SMTP id ffacd0b85a97d-38dea354aafmr2995134f8f.0.1739363831289; Wed, 12 Feb 2025 04:37:11 -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-38dc73c2e00sm15487467f8f.57.2025.02.12.04.37.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 12 Feb 2025 04:37:10 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, Thomas Huth , qemu-arm@nongnu.org, Richard Henderson , qemu-ppc@nongnu.org, Sai Pavan Boddu , Markus Armbruster , "Edgar E. Iglesias" , Alistair Francis , =?utf-8?q?Daniel_P=2E_Berrang?= =?utf-8?q?=C3=A9?= , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= Subject: [PATCH v7 02/10] hw/intc/xilinx_intc: Make device endianness configurable Date: Wed, 12 Feb 2025 13:36:51 +0100 Message-ID: <20250212123659.52764-3-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250212123659.52764-1-philmd@linaro.org> References: <20250212123659.52764-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.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=unavailable 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 "little-endian" property to select the device endianness, defaulting to little endian. Set the proper endianness for each machine using the device. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth --- hw/intc/xilinx_intc.c | 59 ++++++++++++++++++------ hw/microblaze/petalogix_ml605_mmu.c | 1 + hw/microblaze/petalogix_s3adsp1800_mmu.c | 3 ++ hw/ppc/virtex_ml507.c | 1 + hw/riscv/microblaze-v-generic.c | 1 + 5 files changed, 51 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..55398cc67d1 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -111,6 +111,7 @@ petalogix_ml605_init(MachineState *machine) dev = qdev_new("xlnx.xps-intc"); + qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_LITTLE); 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 Wed Feb 12 12:36:52 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: 864456 Delivered-To: patch@linaro.org Received: by 2002:a5d:4cc5:0:b0:38f:210b:807b with SMTP id c5csp95528wrt; Wed, 12 Feb 2025 04:39:37 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXj2h+xvmWlMZVKY71KzwDxdvK3+TwJ0Nq7xU1PeX3wOjwcAyZpGks2oD2diD6czvtye667Xw==@linaro.org X-Google-Smtp-Source: AGHT+IGxiz0XdKuCB745hVwqPvRr08mXU/89pcJUHB2OGmtwocTnqMlPYGlY+JiYnyJcYoZuFQgm X-Received: by 2002:a05:622a:1ba8:b0:471:ba98:a1d3 with SMTP id d75a77b69052e-471ba98a28emr10032001cf.11.1739363977527; Wed, 12 Feb 2025 04:39:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739363977; cv=none; d=google.com; s=arc-20240605; b=gMhbNz6JcJRYjJ6GZxNq7Ag+g6PECnhWefze7uJgxsbXZ1Hfi1oHppercD8revj20M C+DG9zxR0l5A/oDcFMdnf0ElJsr7lWEIFLV2few5piS+0eeRppF3klX8DDlr+YVY3/q1 it5H7LSbVrOEE1ZcmKemfRtP2QtlMzgfwmyCKvOl7yFoOxl9NtDTisLEr5lqWL1gB83n WTF9YDqCYCFM4fkz5N6nZ99zGOANl7KSqHD5fHytfptJSiJ2OaqhhqA5sQNwREGo9V14 TB6AtSsOcDKbBGpKUNBhplYDBuNAv2Rm/6DrzRJjrckHlisytJXlJDRs+4BwE46pQWj9 vM+A== 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=bl4sjYgd+6H7eHNUlupuE7g4cuSiaY2xksyCAoSPYXk=; fh=HlENWry5pBMj1xy+XPJJKz1+KJ8prrg3FvBcv7/VjNo=; b=cOX4icfY/ObEZp65ZAWDc5djwJyTmESiVZdxrZx3KbbcXZcvBGDL2XbSv7jC0M8CNx gPTsQgO+74+llMn4icSgQmj4CVG0UxCeT4TK9l29xYZrPjWwFRvUu1I5EanQ6VwQ4tVs K3JOeLxyPSBHCs6cTRN5HxGhSzbRh72qt2mHHp2rNsVL9hgfURceeuLtfmQLjrbucJ2J S7LkK1vmMzZ7QcKT7jraNtuDatZsP5+RSH1bat28XXLG9A5faosL9hfs56sBPzeHAZxl AK4E7WtqpvztjqW+OayrbfhARA8ldXynb8K5QxUa+soCeT+rSqxLHh0hMrwyfs8BGr5b +uZQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="NtX/E9KA"; 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-47187b2c91bsi75667181cf.62.2025.02.12.04.39.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 12 Feb 2025 04:39: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="NtX/E9KA"; 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 1tiC0M-0004DM-OU; Wed, 12 Feb 2025 07:38:14 -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 1tiBze-0003XI-Pa for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:35 -0500 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tiBza-0000RI-2V for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:30 -0500 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-38dd011ff8bso4002439f8f.0 for ; Wed, 12 Feb 2025 04:37:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739363837; x=1739968637; 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=bl4sjYgd+6H7eHNUlupuE7g4cuSiaY2xksyCAoSPYXk=; b=NtX/E9KAs0RYGsnGrV82wwSYBvrf7bKAa650zTx8/anJioq0SSFctH7FQSI+0gz6UH 5yxUYAgh+AT8exCgFePR0xSkqs5iIXoNzZ3WHsZkxEmuL5lcC1TP0WM0tkvrKRKA1axV BcGUFD5jXD4/wE8wdSETYxREwyCoj7L65h2keXfiiHx3UhtaZvq5En6xGpWRJa37sxkf UWpgaUQW+n2qC0xj+owPkPvIOvS16nyzFg8nTe8g3zxGj8zKPxRk/0+j/OqTI1Nx1adO fMA8YGNcAdlI+xDzvkt8GY0Z+wESTS3pqfZRUPs7iN+yQDXKCMTKNpMIWxoVMD/Gyu1d kKXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739363837; x=1739968637; 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=bl4sjYgd+6H7eHNUlupuE7g4cuSiaY2xksyCAoSPYXk=; b=KYSecj44zTQ65GhCeTolnbNFg/YAo9TTRTRFafTLJXP7b8sLqipdJy/2j95XqzNGhS /YqPC0gFZqVEc6qryVmlXeAroi+siW3tsK9YbNapU/pPBCjUX8uti7orXRvKLGsN9d3B m7jUGSrisW1D3+alcMrPdut5pRDCq4Z4e3jThPgoRn8FFdZuX8QUpg8UfDl8eIt6CbD3 QHvj24sKjPvvDYzZRbhYGgjpH+mT9OUrJzLsUy2cEdwb4P9viuA9zt4C9CpxJd8n9a5y bt95gBuLBtnUNyHvb8BCkO/ivu4g9Ykfvf4VHl7dqTnaZRh4oTmOSiv/eXdd+4dWsoRT lg+g== X-Gm-Message-State: AOJu0YwnNdCuuBz9ApbW+ErUkIp9P41hSXYsrJppB2RMGE0gJ+ysCoZU Nc8iSx8RWQFWjXlM6vdQmmZ0GAVc2ggDuMSg8vPac97lrHbtn4tzZ8CJE2QIOqt2WRE0VWSlIRs zejc= X-Gm-Gg: ASbGncvAoMEO2bmCjLO1W9KZVr1InCOSr5vNjYvJV4k4PFIgVZ7fMBGOPNVFbzDzZWA YsL2qyN5qeJXgf2Zkcix90p1QmalHX7TOatrHo9ZhWMUGYBUsXBD4rHw+3StQP5uhD3FknkM48i BjIa2B51dGu8AzPnyc2xikV0+2pnPCp9fm/84QmytPDS5bW2FX6X1fUfaACau/V184/pah1n/un 60dew7x7zlQrWOUn100jv0q6UDPQCGOJ9kQ9B+Wyu1Mh2d7QTbF79WkODwIHjcDRzr9v7JUja6l ynNfYpV9E8FODcYKvOVntpewTraAFfY0Patsgf0DjDbNXXRJ6rYjpWuOs1PL59siUg== X-Received: by 2002:a5d:59ab:0:b0:38d:d8b2:ceef with SMTP id ffacd0b85a97d-38dea2709b9mr2593018f8f.13.1739363836237; Wed, 12 Feb 2025 04:37:16 -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-38dd2750829sm12277708f8f.7.2025.02.12.04.37.15 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 12 Feb 2025 04:37:15 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, Thomas Huth , qemu-arm@nongnu.org, Richard Henderson , qemu-ppc@nongnu.org, Sai Pavan Boddu , Markus Armbruster , "Edgar E. Iglesias" , Alistair Francis , =?utf-8?q?Daniel_P=2E_Berrang?= =?utf-8?q?=C3=A9?= , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= Subject: [PATCH v7 03/10] hw/net/xilinx_ethlite: Make device endianness configurable Date: Wed, 12 Feb 2025 13:36:52 +0100 Message-ID: <20250212123659.52764-4-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250212123659.52764-1-philmd@linaro.org> References: <20250212123659.52764-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.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 "little-endian" property to select the device endianness, defaulting to little endian. Set the proper endianness on the single machine using the device. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth --- 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 Wed Feb 12 12:36: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: 864457 Delivered-To: patch@linaro.org Received: by 2002:a5d:4cc5:0:b0:38f:210b:807b with SMTP id c5csp95608wrt; Wed, 12 Feb 2025 04:39:49 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXvHpkdDbrOtLVrZ4SPW97BnDXVbzVwDSX5OITwKld2Pzk4XlWgtkLeiVR6wvfS94TnfIWsGQ==@linaro.org X-Google-Smtp-Source: AGHT+IEPpqRGZts0hFpS7oII7PiWzMMjncBFWPEMnxhpFR1Brb+viOt0wZomrzlKM/DgYBTNDCdK X-Received: by 2002:a05:622a:344:b0:467:681c:425f with SMTP id d75a77b69052e-471b060871amr37786081cf.4.1739363989125; Wed, 12 Feb 2025 04:39:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739363989; cv=none; d=google.com; s=arc-20240605; b=i8ELmhIhUPJ6D5KcLQq3jvu637bjjYLiKCERw21F+1o6Dljz/MRy+2Rgph1PcI9WhN cnPAsMbNXv0KSh5KFumqRVvmfBYLl8Tixtm5ogBAHrWdLos6XcYm1Eyb0K+vPj3fc1Lt tsDEQk2aLB/WMu0K6RVfXlGiddv+mPXl1fSoyj4F5jLSJ/OtEDGQ/n7lezuYiDJZRKI6 rlpC2lNiErubgAXVhgZ1OczVN9c9Lu5SYoaMhZkMJQdI58N+HuXaRbET5lo+zJaMYGz+ 2NCGDaEVBsmM3zOMQ6+B/WCLG/CLIktJgGeBMljlIXsx+FEMrjjUEDFh8dmepOZt67bz kgOA== 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=QFruT4KVXTm4i3uwBDbgytCPbkHFAf9gJzDNsjzYXEo=; fh=HlENWry5pBMj1xy+XPJJKz1+KJ8prrg3FvBcv7/VjNo=; b=BTFdXg5a9Mx10AwjyTscgkJo+gyZ1zCyAfPAeF6+IV2yf3kTGeJMm1lKuYU5MYctJF IB+x5pB+111+LesHab3NWloggxxcQE4tNhWnm5WTTYLTXc3lfpf97DoXRKvBKkTpPe4F ozej6KhqYxIBsZPvH0UaBGePTKmh04iDwtqiOGTyhOBu/kDJ8aRvPbvB15bJCR/RDM0I urkuKDXwl2YyuVHE0jn5ngm5sLK6ccEEaqPvtf0z5SsF9gYkgDnK5R63zYfFj0HQCcz1 71DS6B4Wlk+Hyy2U8LSOQekdkAgzZJl7DZ4Rrd/+fRRjun1V61lKRcXeuYv6ceHC5Nmm GBWA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="AeHPp/9N"; 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-471919ae740si65419111cf.307.2025.02.12.04.39.48 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 12 Feb 2025 04:39:49 -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="AeHPp/9N"; 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 1tiC0J-000490-Im; Wed, 12 Feb 2025 07:38: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 1tiBzd-0003Ws-M9 for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:33 -0500 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tiBzZ-0000SW-VD for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:29 -0500 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-38dc6d55ebaso522723f8f.1 for ; Wed, 12 Feb 2025 04:37:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739363841; x=1739968641; 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=QFruT4KVXTm4i3uwBDbgytCPbkHFAf9gJzDNsjzYXEo=; b=AeHPp/9N40PBWU454nfa7dB8oSqCCtamR7fJC8Pb4iZyb+SqbNpnEAuHaEnKXXh88q 9wqSUQh8KpbeQojkd4kKqcBeh/61Rvj5o20bGDTqkyyeS1Q12+AIaSxncmLpmWdewb+i H94uaLSInUbNK7p7LkhJLuQtXSSjLjOEbCA5lnswwsrZYd+D9tk+6vTcFwNv1Rqi4CWZ I0K0DeJbY0QYpwuW7BrGgVmmn2+nQR2OdJUYGgB0fIiXHpbfhOUptjeeE19IVNBi4hdl 5kgglmWwcqpfweQciGA/V/rwETp1KZ57JwvmVUQqbqH2VhTZVgCwp8eDLWReLM/wP7uV wUMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739363841; x=1739968641; 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=QFruT4KVXTm4i3uwBDbgytCPbkHFAf9gJzDNsjzYXEo=; b=TnOL2FMNnMLHWMAwLDeE2SV1/dAZHPbO+ojAb8OymJlhjSR1syiRVD9rVanlFrteaB Q1Rxngv9l1aKhHoN9CpRvz6WlmzWTxznxzdPYqjrJuzwCGpYRy+lJKAVkl7I4UF0aUoE XzFN9F4rfI0XxLiknYPtwbMwVhAtVmpOnLWOkXd+i1eKP9WPDIToLm609BgLTm1GNjND WwnCljjr8pTMvXgnRfNZMsmbSvIwfGuKpJaqJGoydNKk0Xs5xv8CEhcIG1PeWfN9CJ3s BIHG6jUckK7apOErWVMR+wkBK2RElrpjUL04uU8GeNT8PuOAnooSxIJOhZY1ly5f4KI7 yZgA== X-Gm-Message-State: AOJu0Yy8G59tG3WUlSy8micYdMGm9pRMyn15zJq4xjILMtOFqTY26Fic apFQfs/0XffiEzYcD+7cgWhsWXuv1NydA03KZzOzX54DT+vxHUzY1qXm5bdNEIIbE4MIhJw+NhF 3xcc= X-Gm-Gg: ASbGncsGM2kQuta1WA23NjjrQZi3TKde+cJ1GQ+4xQX1/ovauMHdeHIeLWp5qjUgdsx kdGVDDEYqgqaSOHRqJ2m3gY4WQO605VnRTrbSkBzfkCACPN1awuA4n3s7ZJZBqVzEvhugU3Cc0T 7e1PAPg3Zmkky9x2JwSaJvjwhSff3dsn0wrjd8FgmbYhKUArH7Rzhb+hJdY0MQcq0WbrpeAZK8q PkABFHia875yAhvlgvzTF3rzt2BwodZan5yU3Nr/xRdS9BDQUCrHPAZ6OxIisTIAwAEM2TEIJlP uF3DrJdodUO2YB0TN55UA2QQR7OW3we5Cgh+TKAc25oSYOjfMIFX+QuNPb7wJyJCfg== X-Received: by 2002:a05:6000:178d:b0:38d:ba8e:7327 with SMTP id ffacd0b85a97d-38dea1e118dmr2417523f8f.8.1739363841252; Wed, 12 Feb 2025 04:37:21 -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-38dc5839877sm15724670f8f.3.2025.02.12.04.37.20 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 12 Feb 2025 04:37:20 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, Thomas Huth , qemu-arm@nongnu.org, Richard Henderson , qemu-ppc@nongnu.org, Sai Pavan Boddu , Markus Armbruster , "Edgar E. Iglesias" , Alistair Francis , =?utf-8?q?Daniel_P=2E_Berrang?= =?utf-8?q?=C3=A9?= , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= Subject: [PATCH v7 04/10] hw/timer/xilinx_timer: Make device endianness configurable Date: Wed, 12 Feb 2025 13:36:53 +0100 Message-ID: <20250212123659.52764-5-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250212123659.52764-1-philmd@linaro.org> References: <20250212123659.52764-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.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 "little-endian" property to select the device endianness, defaulting to little endian. Set the proper endianness for each machine using the device. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth --- 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 55398cc67d1..490640e9428 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -127,6 +127,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", ENDIAN_MODE_LITTLE); 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 Wed Feb 12 12:36: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: 864454 Delivered-To: patch@linaro.org Received: by 2002:a5d:4cc5:0:b0:38f:210b:807b with SMTP id c5csp95474wrt; Wed, 12 Feb 2025 04:39:27 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWo7fUk3ziXxlD3SLGz7XKb5TjIJ9J57O6GP7+Z7HNSu5h6BaWJNiwxAOIkaeYkvY+FUzS6bw==@linaro.org X-Google-Smtp-Source: AGHT+IElSik4GlmBoujYppSC1VbAIPUal+qhmtLfkdJo1UimVizuhxPjXAe3VxeEKu5kXO/rqgU2 X-Received: by 2002:a05:620a:4805:b0:7b6:d28b:42b4 with SMTP id af79cd13be357-7c06fc696c8mr466939685a.19.1739363967578; Wed, 12 Feb 2025 04:39:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739363967; cv=none; d=google.com; s=arc-20240605; b=RlCtPMly0iBMwfCOjQzMaq/Qorl8xs/6TtOYl5fj+O9veqmNRvJgK9KqB/pemM5H3u EQrWmdMLGpoam3lvr3WGTVBjqijbCGqpTOA8q26exVJ4sylIkeOUbAILhu8P5XPU18Q6 1jb+SoACBx6w2+mWEyVGq4bJx39LD8OzY0B8aGrW3THoTINbskZZS7tzVGBflh1xYrB/ yzhw0kUk/HJqBnVTAdYV98HazhQlx+qmH9nM3LzTm5ODI9agweYiLNaNCJYD6Sn+BkOn PJsL93w8ciyUFAb0TjBxM/EBkBFpwHRgEm+gAi3ajnmfH6MFcdctBhY6aHDj0Ck6qHfk BaTg== 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=y0Jylw0uyNdhLEP5WPnDbQTvuZQEAz9gJDHH7wlCJhk=; fh=HlENWry5pBMj1xy+XPJJKz1+KJ8prrg3FvBcv7/VjNo=; b=J9BjfaINybC8VCu10zUa+74DcjRVUJzcXfw1hdQ0sbcw795EdQQWH5IjL8DD5qRAi8 8lt+mDudLwVB/o2Rp1ksrN4lbWDER7h7h/5gExTSwafiFpe/JuTXVUfuaFtye9MCWd3N 4CioTWcPN0bfODI3rKBbEnORrn11AEufj/6w4+Q4XTNsBgqPsGF5DQAaOsIMhKkvgxmp AXbGUTNqyHkroicUyMJXvureUOip0rN5zfG51kK9L0Oh8xq51xkYnMOXcjgw+lCwlZtV cJqh6juryFjGKXA6QNPENk+3d9fwCevqrrASz1x4TX9xHfd64L7AstSBUkKMWaPsl48p deWA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=EzwZOshH; 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-7c060558f52si586724985a.478.2025.02.12.04.39.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 12 Feb 2025 04:39: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=EzwZOshH; 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 1tiC0K-00049p-2W; Wed, 12 Feb 2025 07:38:12 -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 1tiBzk-0003b5-C6 for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:37 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tiBzc-0000VT-DP for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:34 -0500 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-38f1e8efe82so501912f8f.0 for ; Wed, 12 Feb 2025 04:37:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739363846; x=1739968646; 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=y0Jylw0uyNdhLEP5WPnDbQTvuZQEAz9gJDHH7wlCJhk=; b=EzwZOshHJrK3He2qWz3WQ2jWrW+Y6mXfQ+FJQB+mVxSo/S1cxkC7yPyFrZtEcFu4oZ AMHOx+03eOUNOE7zPSWBGq3EcOJE+gCTRW4kdXjTs9dleoD3QaHz7cl/cl2/xMJ5Xz3B nitsIRQwXy12pSnAY0di9D4JLPmIrI0opnACk2Ba8vIhn1WEJA6HYTtEtbRVOr49f7fQ Mxu4yWdLpqxOlAshm3M9DlEhdnEgV6wNq9x0GVV1QNgPclX6wDlFYtlx4BAGQkKd4Bbx NZID3EkfyM4Yb+kTShMLIm3qIBtziX1oy056tCPmRg0yUen8lSAFj1x57lQyey1U2b17 xSoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739363846; x=1739968646; 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=y0Jylw0uyNdhLEP5WPnDbQTvuZQEAz9gJDHH7wlCJhk=; b=OblS4mMgJOYyAhGq9BO8HLgk58DTFvA5LGY03TK5w6YaNoOo8CzZFerysuhhzwJlYc 77CipH2u5ca1RsxOZvctLo7j3iNCneBZ4gJg9+j1W4Ln+FW7h0wzxG7ZnKh2o5+kRLHk SpuiPJoCjdBhYsuAqhA+NSxY9e1/S2k9gpjYaIFLKsod9K/Ww+efZY4FWJLJwA8EemLi G9JiCqkBlZu6oT+vmpUddF7p6+91u/qaVc5IuRu8gA+tTWXjQUIJqmVlQNfBzby+Mpp4 sDBAnMIk/UwHBAjVwxqqlZmNhiU1aKCZPBnGYLWV2HQYsQI4Edgz6eOtt30IRtkMYkPI kLxw== X-Gm-Message-State: AOJu0YwSpJsKvqbKbZsKImfJdCpGAws7sfR9qxi09jcEjsYPTuJVGv2D PvGSL0Wdi0sgj12FjNvkUAeZ9TfKR4+FDmo4ghpbgv+/ea6ikhZu5kxI7H4stxPwtfW5rZ9hVoQ KApw= X-Gm-Gg: ASbGncuMQ8sizu9lmYI9ov61wdSy/nxdvGYEh6RVAPcZy6m200Y7apxJFNSnkKEh9/T +sWUv+ksXJAK0Pu1M8D1K8vXoAkReIm0KY1VUSx9wQeFPCvKoIhXZuwNW3++BxlBdSaHjle8RPm XJJRqwDhlpeQbzIwTPhnJfKruHtp+seS1LCqq8EdgZJ9jQQkm0hX32hZB1WWKFUboMYwZSSFF+q KDXhMyRexh+wDdOEjHUC9x+mZ6zzx5tnvBegRS9xkzA+0444sNa9uPaosXCqH6m5liJe6yv6fKQ NuVYFtLyXBcQQOuu+AWMyXf9RchR4kSZGn5dhlKa0N6SL1s72pkT+CiYTGUpnNuGEA== X-Received: by 2002:a5d:4b4c:0:b0:38d:dd43:8be5 with SMTP id ffacd0b85a97d-38dea265c8cmr2058738f8f.15.1739363846146; Wed, 12 Feb 2025 04:37:26 -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-38dbde0fd0dsm17238125f8f.75.2025.02.12.04.37.25 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 12 Feb 2025 04:37:25 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, Thomas Huth , qemu-arm@nongnu.org, Richard Henderson , qemu-ppc@nongnu.org, Sai Pavan Boddu , Markus Armbruster , "Edgar E. Iglesias" , Alistair Francis , =?utf-8?q?Daniel_P=2E_Berrang?= =?utf-8?q?=C3=A9?= , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= Subject: [PATCH v7 05/10] hw/char/xilinx_uartlite: Make device endianness configurable Date: Wed, 12 Feb 2025 13:36:54 +0100 Message-ID: <20250212123659.52764-6-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250212123659.52764-1-philmd@linaro.org> References: <20250212123659.52764-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 "little-endian" property to select the device endianness, defaulting to little endian. Set the proper endianness on the single machine using the device. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth --- 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 Wed Feb 12 12:36: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: 864460 Delivered-To: patch@linaro.org Received: by 2002:a5d:4cc5:0:b0:38f:210b:807b with SMTP id c5csp96414wrt; Wed, 12 Feb 2025 04:41:53 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWNaopbSE7E2VfVCJy04S50NfkCNqV7RnsbyfvB2GikIfD+O9m/foDgNLKRIdy6yPfMaSW8+A==@linaro.org X-Google-Smtp-Source: AGHT+IEctITEZx3w5G0KbS3AsdgsSaRYcf9HW3+7bdX2H0znfAzVWXFWH2ufxUV/EaQE0e1adycc X-Received: by 2002:a05:6214:240f:b0:6e4:227b:c2b0 with SMTP id 6a1803df08f44-6e46ed8ae09mr52625756d6.22.1739364113599; Wed, 12 Feb 2025 04:41:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739364113; cv=none; d=google.com; s=arc-20240605; b=F0WLI+UYsyxaSDA4UdqOTNp2kG7wkSvCl+DEUfltCoUqOTNKdeRhTF1LhcrJd0WctD uyPoj44RARh3sdqsdhbwxkZAN/RXcZDq2ekSCA/ZAe9BriAJykTW9u5eOhxlWTngsPzw aQVKMLhpfOp3BTnp7ltWmS4BTvc1VzkdxADFcsyJES3BtLZdgw/wIFPDY7BSTUBFKeN2 J+wGefyVUsREBCbvlP527zmCdzfcZIU7+1MJ9zh+NrkKOrFHdzK7j7NfYoGtsJ32UyyV Wd1K/I0mvdindPXSnz3+xfPoQbP1uEi39YiKJo8mOZpV6ZtDMlxG5rt+k+qdP1XsvI5F 4yOg== 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=IWUW6vMOmCPzMRvR9U3A14f86L3fegXfbhL6iARH54I=; fh=HlENWry5pBMj1xy+XPJJKz1+KJ8prrg3FvBcv7/VjNo=; b=eUAbN8wwIHziOJtZqdc0zIbua2/0MpSMDRRU+9XnZEmAafEGPAQYj8FnZHtIUl73CY F7Su3Uq70qkZvMxszlTjwwaPKWxJEtZGouhH/HKBdR9uKUjIuoCC0EPALf7115Ts0UZM 2kbr5uSsBfjWEyycTPbwt1qIX7zakq1WR7NoNrc3/wXQBJuZJkvm7bBSG8qoVnSH11af 5fVKG53wba9MZ2hyrwWskqMJDiXWuTgj+hvRgXqzEf6Vzz06GkdNc225YQQZA9pZ/YKY 9rgD2o1Y/r0enuC32CrrVpt7SluFftm+4+BP03n6uFvHK09JiyR6d7I9008/G/mR5sVA AhNg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gNS3ViJb; 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-6e43ba2cd17si131976896d6.13.2025.02.12.04.41.53 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 12 Feb 2025 04:41:53 -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=gNS3ViJb; 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 1tiC1e-0005iz-LU; Wed, 12 Feb 2025 07:39:34 -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 1tiBzp-0003ec-TI for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:46 -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 1tiBzj-0000YR-Mn for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:40 -0500 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-4394a0c65fcso31428715e9.1 for ; Wed, 12 Feb 2025 04:37:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739363851; x=1739968651; 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=IWUW6vMOmCPzMRvR9U3A14f86L3fegXfbhL6iARH54I=; b=gNS3ViJbvhPyJqtrW3bJa/BpXQLrQ+QKyoUpaUFcZ4/hfOO+a53gNGqu2x9JUKMzBW e+OlgMtkxkGyThoLV86FNRjOThpP+DcXkdSlIIM9JyULKqHsbtM1w3NnhXaoO285I+K1 0ZqJqw5fq+oCHrq1yJtXDTQbEkvFIE/OlfdeOA9AGHCtJka8b8LwR2EoKcze8HyFW+Ho kMdizkE0pRg2REWr8iKJzUIzUPT4X2819pBGt8HjEGhBHa1GoTgW0qnCIlBcUSE5JrsG phUf9+C+VOap1Jy8Gg1M9gNoszFbg5cGDeyH7Lj8Q9CSRDlXTJAjF2UiywW+TeLTgXNN nheg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739363851; x=1739968651; 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=IWUW6vMOmCPzMRvR9U3A14f86L3fegXfbhL6iARH54I=; b=Jy79kAz/QDAdkk2NGlOT32wggaxtDgMeDb1b+MUbgrqB1WYQVHxjLm0rOUko2QKwKg XX3kr1pV4pe0bHSQ0tpM3UERDuS+amXljjS2ETyj8dX1rkvOdSxwThTOYLNlNTz2FaQC zWAcbMeIVyMfNj9cmK3p7fbv5hyqNLZSyeifw+xNpndaDD2i7dsaO+tp4s3V/jc5/HS4 iFp+Y3ThEjZjiDt2ruUI/SY0PxwbkDFJEiX8NKChWHranwlrikcgNSNpj7TsqWi9K9g8 HU0m4r5wOIpbXROFAOg/ZX9M5VX4EV1blfQ/UpA72uutNZTnEb/2kT5PrFfFr7SNu8BX GVMA== X-Gm-Message-State: AOJu0YyjzyOylHdc0G+Y/MLiKZEDINIkE0rroydZleK6GwV/a0oY0jnk YCnUBTRra0tnkcP5Au/vpODtFLGf8uJnL+44kzG50CbDcKLoRAh+YQj02od5w1583z+Wn/4y2Ac 08mY= X-Gm-Gg: ASbGncuRf1LjVHeqBjIwPHULJ0Mez7e+F5130b3eRCXWRnJZy98LfDzRUZcCiiK+2rL lZjeZprBV8hgFRJcZj69ZrOLvowpMlitzbJxk2XlvAwy03bGhkIRGyGTSIyB/xHURbgmPNjjkrN BzgXR7qcjT6c3p6Hr3rZpmJiRhLbBW7HwyThWsEqX042UnrOKcVzsZD5BDGr5CUMuDk4spcrNd/ zsIeyHmLppB2r89t4I8AVGxNfjHVKlH6QorC5UisRUBYORp0R1cktiF3byZ9drdZjXnrEACaaPg FYO6fEWP35AbZLpDowiEdsFWaUKbqia1kPGuozSzVdBS3uLIpoV+GIVIa2M1b9ttJA== X-Received: by 2002:a5d:6d0b:0:b0:38d:cab2:91db with SMTP id ffacd0b85a97d-38dea251ff6mr2485464f8f.6.1739363850914; Wed, 12 Feb 2025 04:37: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 ffacd0b85a97d-38f21ea3246sm444419f8f.81.2025.02.12.04.37.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 12 Feb 2025 04:37:30 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, Thomas Huth , qemu-arm@nongnu.org, Richard Henderson , qemu-ppc@nongnu.org, Sai Pavan Boddu , Markus Armbruster , "Edgar E. Iglesias" , Alistair Francis , =?utf-8?q?Daniel_P=2E_Berrang?= =?utf-8?q?=C3=A9?= , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= Subject: [PATCH v7 06/10] hw/ssi/xilinx_spi: Make device endianness configurable Date: Wed, 12 Feb 2025 13:36:55 +0100 Message-ID: <20250212123659.52764-7-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250212123659.52764-1-philmd@linaro.org> References: <20250212123659.52764-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=unavailable 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 "little-endian" property to select the device endianness, defaulting to little endian. Set the proper endianness on the single machine using the device. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth --- 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 490640e9428..b34edf13796 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -175,6 +175,7 @@ petalogix_ml605_init(MachineState *machine) SSIBus *spi; dev = qdev_new("xlnx.xps-spi"); + qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_LITTLE); 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 Wed Feb 12 12:36: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: 864458 Delivered-To: patch@linaro.org Received: by 2002:a5d:4cc5:0:b0:38f:210b:807b with SMTP id c5csp96297wrt; Wed, 12 Feb 2025 04:41:38 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUt1odnnJBMTne9dZXnbXDPPs3f8SLXSJZmvj4NnbJOKUrDJCbpTLJ81lQvxgFO6fx7DKiNMA==@linaro.org X-Google-Smtp-Source: AGHT+IHuS8k9E6PyHxcly3OENS6c5HFs3zveuAmftpQgTX3+GV0EyIBWeSwGDgkuD3XDz9u1UyKb X-Received: by 2002:ad4:574e:0:b0:6e4:3459:de83 with SMTP id 6a1803df08f44-6e46ed7729fmr45264236d6.2.1739364098011; Wed, 12 Feb 2025 04:41:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739364097; cv=none; d=google.com; s=arc-20240605; b=Qcjncp3WSBEkBnJUPR0117lsNvXgxU3VxMsbNZzFrywwxRoAccyiIbeboaS9p2VfVz Rxuuecz2HxshsnhmdA4btC1v1DsSmuBvWpSP/JqPTidU3aTQG5FKJ2sTtg6WaoNkUztL 0aw0ACfjbahMcF7zrGr63fo6XAPyh7CLHDj8oltdPJ5g/aU7yFpVcgZuxdOOWjal6O6i Np3KWzxpf0hMgClqZ6itAJ4572Xi810KBuc+9ZJSUjSdqQPkEpAaZjrU++Q1nvgL8oJP W6Y5vn64F8UelKbE9shc115wxPW29oYaFAINJHE7u5aU01/9WehzvUEcHwNprTMHN8jL unZQ== 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=GAgkBkMy3/LPbRfDSn29phwowCLY9R3s4x7aKYfP9pA=; fh=HlENWry5pBMj1xy+XPJJKz1+KJ8prrg3FvBcv7/VjNo=; b=g5yUi8Dg0uEy1idLwUUnp1EfqifJZZlRO17Kf5yOcEWFxAzrOBd9mOtzFQcpfSyRn+ yUHLTLt3MyS2K2yk6ptWStrPDBTtqC0msgTFZl+0cuA0WCC9qgHCcwkE2asU8fs8HIAy KuC6ISbkGzBZh1jhBtoAGE6HwWZJwMUXH9ahmp/Vx5+zU4UqnFNQsTvxCvedjuPRWaAS eTgZ+KLrDCDRi2tk6+w3GBqWJb3WhnovDtB7XCA/3SbQ0MJoXINDxGHe11KU4C0VCozG 9N7/Ji8n6YcI5XvtgckrPHs+BIhjbpt/7WgSTXPpbDUe0dNqPiw5N8EitQbfTD9wqitw qn/g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=XZk06a5L; 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-6e4504503aasi98776916d6.210.2025.02.12.04.41.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 12 Feb 2025 04:41: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=XZk06a5L; 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 1tiC1u-0006ju-Mr; Wed, 12 Feb 2025 07:39: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 1tiBzv-0003fL-Rh for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:49 -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 1tiBzp-0000bn-Gw for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:43 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4395f66a639so188165e9.0 for ; Wed, 12 Feb 2025 04:37:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739363856; x=1739968656; 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=GAgkBkMy3/LPbRfDSn29phwowCLY9R3s4x7aKYfP9pA=; b=XZk06a5LksGzrzvk05Zp1fCIsI092A2bH71fDhoRuICcOpTIEL2yC7DT6fat/cz/ss sRK/CIBl6cEj1RHqNaFJaOULFMrRXWJEnsdpWzJDnEzIM7enNzTzLZsqzpg3zzV9AI+S PUMuxomEkuUHmd6T+Apq1zqP7prGMxDxqX1v/b2biz+LExEW4+kVcKKt9NNDa/WyDgJW 69/86ImH2V5wIRcBUmdUEO8HliUWmyTfziGHal1i3BG5mNW1+V/8AkKYpb6IVYkaTSCJ AE6rAjwoutTayUHmiUteKjPjtL2cwkm/aYwaSu6yv9L/0KrLph2igm4Rgd4hZBEV9gsh 2UfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739363856; x=1739968656; 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=GAgkBkMy3/LPbRfDSn29phwowCLY9R3s4x7aKYfP9pA=; b=crD9yupLWM89sn38E7RX4XTZijDS1FyliRz8CED0xcCrRM9ZcZvJfoZN3EcZ7DIOWC gUyyIsmfI0nPnpaMXoR2a89kx45Bg447XwF/0dWQRnymXjVB76/d3RCmdlDOYlDkEWfu 7eVngSnTtMY6bfs4oYf8jQNDT3ULnkg5ffkb91FNn2UF7m9IjsD6dbyhlpAY0EwpNMt/ iEF5wtKMx1FTxHkuEbAlpU2pSulNjdaJpwAcM+tuKzX1sUHToDn8TDY0e0jAGvdXolXk gasTvYMrVo2HiFqTYg/Q+jFVVDr+LH8RGXwi0nHjvoDJ2WFPCVvCXJJYzFcoqVftVfus 0AmQ== X-Gm-Message-State: AOJu0YzFnppllMw70X9CrYTL8lTX4NMFdIMmFj6gslv1+zy/mzN0KRKi xeic+OBhdoqG475iOBxmSbNPXXhY7ecgNeCeipUPPycBuntwNN4Nm2KcRauga0FPLVk+P6c/v+q KawQ= X-Gm-Gg: ASbGnctEC70z9FLa6hJctFQm1HcWoa+/btuivxbaLla6vSw2hsc9BC3bcf0tR1kJNft Ok6wci06lsaq350VMeFn0OCI1e8Xp1qLvCF4zJVR8tRSD7Lf1m2sE0EPy8jqEPDTMyngQAg1rwA vpQK7UL17xmyNt6aUg/mWA3BU9EnAI6GxunqpgHVxydeEqI7ApafK5MKKqwuxsCot30qLfoNb9u QU4ze12yDdS6VMK0HVmTw60OeAymgXWarGY9e4QA0saGLUhMqIhiruZYFBbycEVziZVCwymOea2 aB1ry7KeUmTebPf+B4VJoqpN5gc9rA60hx3W2vwbfBcPmODtMz7S6aGTHQMQupvTGA== X-Received: by 2002:a05:600c:1c84:b0:434:fa55:eb56 with SMTP id 5b1f17b1804b1-43958169fa4mr33286795e9.7.1739363855846; Wed, 12 Feb 2025 04:37:35 -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-4395a056151sm19008975e9.16.2025.02.12.04.37.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 12 Feb 2025 04:37:35 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, Thomas Huth , qemu-arm@nongnu.org, Richard Henderson , qemu-ppc@nongnu.org, Sai Pavan Boddu , Markus Armbruster , "Edgar E. Iglesias" , Alistair Francis , =?utf-8?q?Daniel_P=2E_Berrang?= =?utf-8?q?=C3=A9?= , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= Subject: [PATCH v7 07/10] tests/functional: Explicit endianness of microblaze assets Date: Wed, 12 Feb 2025 13:36:56 +0100 Message-ID: <20250212123659.52764-8-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250212123659.52764-1-philmd@linaro.org> References: <20250212123659.52764-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 The archive used in test_microblaze_s3adsp1800.py (testing a big-endian target) contains a big-endian kernel. Rename using the _BE suffix. Similarly, the archive in test_microblazeel_s3adsp1800 (testing a little-endian target) contains a little-endian kernel. Rename using _LE suffix. These changes will help when adding cross-endian kernel tests. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Reviewed-by: Thomas Huth Message-Id: <20250206131052.30207-13-philmd@linaro.org> --- tests/functional/test_microblaze_s3adsp1800.py | 6 +++--- tests/functional/test_microblazeel_s3adsp1800.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/functional/test_microblaze_s3adsp1800.py b/tests/functional/test_microblaze_s3adsp1800.py index 2c4464bd05a..fac364b1ea9 100755 --- a/tests/functional/test_microblaze_s3adsp1800.py +++ b/tests/functional/test_microblaze_s3adsp1800.py @@ -15,14 +15,14 @@ class MicroblazeMachine(QemuSystemTest): timeout = 90 - ASSET_IMAGE = Asset( + ASSET_IMAGE_BE = Asset( ('https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/' 'day17.tar.xz'), '3ba7439dfbea7af4876662c97f8e1f0cdad9231fc166e4861d17042489270057') - def test_microblaze_s3adsp1800(self): + def test_microblaze_s3adsp1800_be(self): self.set_machine('petalogix-s3adsp1800') - self.archive_extract(self.ASSET_IMAGE) + self.archive_extract(self.ASSET_IMAGE_BE) self.vm.set_console() self.vm.add_args('-kernel', self.scratch_file('day17', 'ballerina.bin')) diff --git a/tests/functional/test_microblazeel_s3adsp1800.py b/tests/functional/test_microblazeel_s3adsp1800.py index c382afe6bfa..5d353dba5d2 100755 --- a/tests/functional/test_microblazeel_s3adsp1800.py +++ b/tests/functional/test_microblazeel_s3adsp1800.py @@ -17,14 +17,14 @@ class MicroblazeelMachine(QemuSystemTest): timeout = 90 - ASSET_IMAGE = Asset( + ASSET_IMAGE_LE = Asset( ('http://www.qemu-advent-calendar.org/2023/download/day13.tar.gz'), 'b9b3d43c5dd79db88ada495cc6e0d1f591153fe41355e925d791fbf44de50c22') - def test_microblazeel_s3adsp1800(self): + def test_microblazeel_s3adsp1800_le(self): self.require_netdev('user') self.set_machine('petalogix-s3adsp1800') - self.archive_extract(self.ASSET_IMAGE) + self.archive_extract(self.ASSET_IMAGE_LE) self.vm.set_console() self.vm.add_args('-kernel', self.scratch_file('day13', 'xmaton.bin')) tftproot = self.scratch_file('day13') From patchwork Wed Feb 12 12:36: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: 864459 Delivered-To: patch@linaro.org Received: by 2002:a5d:4cc5:0:b0:38f:210b:807b with SMTP id c5csp96343wrt; Wed, 12 Feb 2025 04:41:44 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCX05hHsYTIjuWgt1duW+umvBdK466doW7JDdgnFAMiEZmAzz3XCfT7PYXbuL8UX4dHi9u6sUA==@linaro.org X-Google-Smtp-Source: AGHT+IEfW1aZjVBDw0jjBWh4JLXCnZdWnl0Se6XKbL/hqA+vPBnae4vTqx5blW8H5m6YzAy8N9CE X-Received: by 2002:a05:622a:244b:b0:471:a079:a506 with SMTP id d75a77b69052e-471afdfba9fmr47119491cf.2.1739364104792; Wed, 12 Feb 2025 04:41:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739364104; cv=none; d=google.com; s=arc-20240605; b=QjugZk5g0BaocNOiOhZSqXntWwPo/R0FtED1aDd+zO340KXixbpeJL1zDOhPGI97bW 6ynf3xFlFzmZzZZrgIDSLwm4jkxvy5JisTEJtJGdh32UWOjxGzedw0hO/YD9LsIfmf5S aicqnQrIupWCLkov39W4oKTxsxRxFIGDvQcT2MKDZO59drMtHPh2SP1GptC7xGKD0lu4 1abWedi12EEBen/RM2fHNrIjjXtyW1Xo1YTm34pU0P1Xu/k9CC3m0VfMvHTDzAGAWMs6 7PSEF9oi7crJGyJHyyVr3SnPXdOqp4msMkLPh8Rjk9ZrzN7rDrHKpeSgXepXJzqH2aU1 FVPQ== 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=03rJTTNBd3cp6/LXAuK3umtC787I9nHxNQm0tFuSG4M=; fh=HlENWry5pBMj1xy+XPJJKz1+KJ8prrg3FvBcv7/VjNo=; b=eV1phIbrRNpPXXrxQTVBZgS208Meuan6DCUiKdra/90flCq3PlFBdYs54ipgzr5fkw K2XDEK0URC5vsbtwXn18a2Q9ylIYDunBIiStF59QPZlexZBrVJ+giX3ASdhrMb9nz/An 4SazeKrPSrUUNg6XEvJ0QTOmGCl+JWxlaAeuUCTYNjmGfGcYyXTH1pFVskGmpDm4Dcv1 iLl4TCdvfINBQXnTaSvqjERL0ujrv7OZrtnB562fsFC4ws/Cj356UxBlMaMPIiBdxdlE nAQmEiW8RzDgIXK7+ICeOmGlcXJD4FrjxSafdzwad2z5//MPmdNVVmQ79pU+xDvxRBQj s3fA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CKvdeYlw; 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-4719f64ce1bsi40487241cf.533.2025.02.12.04.41.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 12 Feb 2025 04:41:44 -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=CKvdeYlw; 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 1tiC3Q-0000Kr-9U; Wed, 12 Feb 2025 07:41:26 -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 1tiC03-0003it-Jr for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:58 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tiBzv-0000dO-Pc for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:37:51 -0500 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-4361e89b6daso47055575e9.3 for ; Wed, 12 Feb 2025 04:37:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739363861; x=1739968661; 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=03rJTTNBd3cp6/LXAuK3umtC787I9nHxNQm0tFuSG4M=; b=CKvdeYlwJMI2BNNu3xsP4O4azVu0WKlyUgLaFK6GE9iWxXOPt0MtM4m8qloKltuVK9 u9/b26kAFb0U2pFs7PKFqKFK4tRqPFHutdzVbjGVmNFEmt9yfJgbMwkzJifwnkJmYw9l HWDoC67JJt6tMSTmuF1lZqk+HTZliVhnHwAaW2Q0hi01FtA9KKweU4MJj93Dla6fUS1c WszeussVKZIDrHiRn5i6SsW/8uf/+Z3XrKKceopaiHaqUxQNqA+GametzC3b5yRx17Io 6888Jc8QG2wrmTbHtrIeemqwfv2Bnm6qQD+YSROMyhKtCoX4YKJKfXzvVuycKk5hpMAj 2cQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739363861; x=1739968661; 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=03rJTTNBd3cp6/LXAuK3umtC787I9nHxNQm0tFuSG4M=; b=QlUj+S38bhCW3oYdDQoJU9Z72QRe3oxdZXqaNZ/ANHBd5eOX1MGL5AfumnlLtYCII0 aAtTUJngqZxY6zaCd+swELwUDlt1UpmNrzX/IhCOzE+OSVPefk2rzP6FCMiAfRzbuOgz Xz0BX67YuaT153/YgTM1I+KwlqOTYQaYDIBxLTSYmb3fESk+iZOk+rPRylhkvbaZ94L8 it2nO2jJQqmPVrqf61Dwuyqcu0Bmj9/f/spHUd9NYDZdXUlWjSuJ4OI/xTjDTw+VWRRB mtndU2lR+MIIPBxKemE6nY1IT99wIitKtNgJTrV3UKwOnti5krVx+um1muUFCI19nqYz Spdg== X-Gm-Message-State: AOJu0YzC0oAquceNWvf+8I+QUlGkts5h9VU6YN/ElZ9UISr5+qm6Ik2P FpTwyE9HT4aLG0Q2JjcpUSqSltFiItC/G/+AxgPwtSb0HypNZ+Xr1+LWm2d1w6qoJt0bWxCGJE7 yhk0= X-Gm-Gg: ASbGncu9gRDMup8cKzdNPQhrLbSWyBPlyNpiDr9gR1vfLAesSfySpr414HrWOUx/pIR M6QRZtJy8QsMxm6m5jCnbbReanKl4lu4SwtuN1lBGihfK5VThOxWlpviJ9cQ9i+N/fkEbjHYRt0 Qg/2WwbPzOdpuZArweK7xH0mzMBbj0K86ufwT+BhVX9lARsCBkgZwfS6noY/JcBGbSq2aPg0KSj uJ2bpOIZyvSBUJxyT765i+KUPpt6nB/+2fJZsyyZ9jpZnx4ZJ5+R3zsLWd9EA00jNWy+y5RgiaU A03GYiJr+PSx7jI6XiLIH6gPCxe5n7nBQl5VOWw36/OcD+CuRc+mpplJ+IrFQwPewQ== X-Received: by 2002:a05:6000:1f8f:b0:38d:cdac:fc02 with SMTP id ffacd0b85a97d-38dea256d2fmr2139711f8f.4.1739363860684; Wed, 12 Feb 2025 04:37: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 ffacd0b85a97d-38dcaf3e4bcsm14359226f8f.41.2025.02.12.04.37.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 12 Feb 2025 04:37:40 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, Thomas Huth , qemu-arm@nongnu.org, Richard Henderson , qemu-ppc@nongnu.org, Sai Pavan Boddu , Markus Armbruster , "Edgar E. Iglesias" , Alistair Francis , =?utf-8?q?Daniel_P=2E_Berrang?= =?utf-8?q?=C3=A9?= , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= Subject: [PATCH v7 08/10] tests/functional: Allow microblaze tests to take a machine name argument Date: Wed, 12 Feb 2025 13:36:57 +0100 Message-ID: <20250212123659.52764-9-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250212123659.52764-1-philmd@linaro.org> References: <20250212123659.52764-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=philmd@linaro.org; helo=mail-wm1-x329.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 Make microblaze tests a bit more generic. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Message-Id: <20250206131052.30207-14-philmd@linaro.org> --- tests/functional/test_microblaze_s3adsp1800.py | 7 +++++-- tests/functional/test_microblazeel_s3adsp1800.py | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/tests/functional/test_microblaze_s3adsp1800.py b/tests/functional/test_microblaze_s3adsp1800.py index fac364b1ea9..c4226f49cf3 100755 --- a/tests/functional/test_microblaze_s3adsp1800.py +++ b/tests/functional/test_microblaze_s3adsp1800.py @@ -20,8 +20,8 @@ class MicroblazeMachine(QemuSystemTest): 'day17.tar.xz'), '3ba7439dfbea7af4876662c97f8e1f0cdad9231fc166e4861d17042489270057') - def test_microblaze_s3adsp1800_be(self): - self.set_machine('petalogix-s3adsp1800') + def do_ballerina_be_test(self, machine): + self.set_machine(machine) self.archive_extract(self.ASSET_IMAGE_BE) self.vm.set_console() self.vm.add_args('-kernel', @@ -34,5 +34,8 @@ def test_microblaze_s3adsp1800_be(self): # message, that's why we don't test for a later string here. This # needs some investigation by a microblaze wizard one day... + def test_microblaze_s3adsp1800_legacy_be(self): + self.do_ballerina_be_test('petalogix-s3adsp1800') + if __name__ == '__main__': QemuSystemTest.main() diff --git a/tests/functional/test_microblazeel_s3adsp1800.py b/tests/functional/test_microblazeel_s3adsp1800.py index 5d353dba5d2..715ef3f79ac 100755 --- a/tests/functional/test_microblazeel_s3adsp1800.py +++ b/tests/functional/test_microblazeel_s3adsp1800.py @@ -21,9 +21,9 @@ class MicroblazeelMachine(QemuSystemTest): ('http://www.qemu-advent-calendar.org/2023/download/day13.tar.gz'), 'b9b3d43c5dd79db88ada495cc6e0d1f591153fe41355e925d791fbf44de50c22') - def test_microblazeel_s3adsp1800_le(self): + def do_xmaton_le_test(self, machine): self.require_netdev('user') - self.set_machine('petalogix-s3adsp1800') + self.set_machine(machine) self.archive_extract(self.ASSET_IMAGE_LE) self.vm.set_console() self.vm.add_args('-kernel', self.scratch_file('day13', 'xmaton.bin')) @@ -38,5 +38,8 @@ def test_microblazeel_s3adsp1800_le(self): 'tftp -g -r xmaton.png 10.0.2.2 ; md5sum xmaton.png', '821cd3cab8efd16ad6ee5acc3642a8ea') + def test_microblaze_s3adsp1800_legacy_le(self): + self.do_xmaton_le_test('petalogix-s3adsp1800') + if __name__ == '__main__': QemuSystemTest.main() From patchwork Wed Feb 12 12:36: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: 864461 Delivered-To: patch@linaro.org Received: by 2002:a5d:4cc5:0:b0:38f:210b:807b with SMTP id c5csp96557wrt; Wed, 12 Feb 2025 04:42:15 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWsezIrgD0tncFEex+6vXwCClcpcRbqHGnEneVqCHVtyHb/cvKeqhCCbGYnQrvAtgCq0KWxuA==@linaro.org X-Google-Smtp-Source: AGHT+IFdKY9mHlrHdJZKC+a1jNIwpM4DbU4mvlJyQcJrR6gu5cast1iCcAkGo3f48+qqX1YhyMce X-Received: by 2002:ad4:5d4e:0:b0:6e4:2bc8:fb79 with SMTP id 6a1803df08f44-6e46f889945mr45700106d6.21.1739364135101; Wed, 12 Feb 2025 04:42:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739364135; cv=none; d=google.com; s=arc-20240605; b=V8yb4MpSd0wMisYJSmERgVVhjyWkdaNqI0ehCsATQspX0IYOxjnWHqYoLl3xDKnH/P x93UfayXBb0FxONSckd/XTVhOBgm/JBi4Lhk4ieK/eJ+SrJ8bR1L909FDgRZprHiMg1N mke/sgmKV0CE/YUQbyDuRx/blb8wdXJbEQIyyaLKrGGJlJqa14XZJgOAIx9fmp0eHI2w NGz/YmKT63+FzK2hOmH+5Cg5BfYls7NGnoKKnq3GVsJMQxoU62bctyHVd7TUDdExOzZg 42Wy0pmDc8fb45E3599u1WYlOPhQ0UOCrSqe9DqB0js6jQr1NY316Wp4XY9nyZuqK4WQ ioaA== 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=reXXm8X+zlZP2Y6yVzIRnVkTJgqUEMG013HELmRkQIw=; fh=HlENWry5pBMj1xy+XPJJKz1+KJ8prrg3FvBcv7/VjNo=; b=KiqCf+c8oiLgLv2/HdED/XvtDJHOrSPZUnJ3AiEEtYzlEYXphBI+OTmNNFHV/+home Rwh0pGyeT/uCi7Q29Di0wvbXkAAS0K8g644fmUdiRtXYwxB8ozlDm4f7Wvrx/K6qKZPj M8Ys5QcY5HKHr6oKnWi74LvIsetEVpLtXcui3oNNG3OzQW7cbqRDNZEnGC9oHVWAB7Oq 2tYFyVJyjCJN2LQD2m9Q6JJCYYlLFBLyjBIzzGxEwrzoo+Tbwk9JDnkri3L3KNtm/Bkt Hdce49cJoOV+B3TOT44vUZfpvgtimGFOEtgvV1YlAkPVjYxtVYM+RS3y5HFevHjDgBmg fJXA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="xk6/5GDM"; 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-6e658a0df0esi5991466d6.217.2025.02.12.04.42.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 12 Feb 2025 04:42:15 -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="xk6/5GDM"; 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 1tiC1t-0006fA-IU; Wed, 12 Feb 2025 07:39:49 -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 1tiC0F-0003z5-1d for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:38:07 -0500 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tiC0A-0000fo-SW for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:38:06 -0500 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-43957634473so11228295e9.0 for ; Wed, 12 Feb 2025 04:37:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739363865; x=1739968665; 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=reXXm8X+zlZP2Y6yVzIRnVkTJgqUEMG013HELmRkQIw=; b=xk6/5GDM4lginpeM5piaDxAyRepcRwowY6vEhprL7rMCybL3l67LLtVWfMDERPpUAF vFxngLZyE50IcQF1kplfVs802dYs2Ph9cwqFaDciDdF06La+SU1iaGj32wxQXw+OigFI 2nJdX6CandphjrsYNiGCn3RzGvZtdTIUKLmRLKqWXf4SrXUespjRwRHphqpy24Rzqazz jIy1J8luKqSzsZ9ONkk847de8YzI+oSH6I2oGNubPcMjeNPCXoR5a7mzia7xYj+Uvffj Ky7sIrybCSF1fdhfxjHqERckxgAQOl0M+25iusXZu04kGaabOtrNVVMwVyQ7Fk0G6fQy hYIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739363865; x=1739968665; 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=reXXm8X+zlZP2Y6yVzIRnVkTJgqUEMG013HELmRkQIw=; b=phHgyuoLcLAmWaAorwZIBi5oxG2pMdD3O06zjTCa0WsvG7q89cdyMsu+oAgy+y/MVQ ZfoDduU/3gcQPkolqqkjT86d7h7LY7tfw2MtZoKxdVb9Cc86XFBQFCHTqULFFHt4EmrC 5iV0zr+kU/eP8it6iAgwWdEup5aoqVxP291ejA2IJld3ja3oBBVmQbzgkMIWrezhd/2r Ye5xULCBztkwRWmTx27JZ+5YPdCCq3QcQ8WuXJN4YCwsZC6NO211r2cW3J7yMyAa9Am1 qiE6dg/7KDf3tYpe6p0AAPgE6Gh5/3VzQGpvKflMFz497Vv5kbiWBIxHPmiawYbxfzYM e6bQ== X-Gm-Message-State: AOJu0YxqISJQHmcL6T0GudmECt38vOb7j/qvzvM5LkZ4Du4YzOO7wbwI mNjoS6cTokgkyzGD0eAa0EnEC+EOPPdwhaBzJjdOgMrydKUinueSqpCFg+8czF5bmXT0NhuXzSt 7QGg= X-Gm-Gg: ASbGncs9yD00bz4/zHV2P3D1x5e7rSXNlpQQjvq8mL4o4YeFyb6AASJe25P+7YViT70 WhKDLwUKJc3DPjeMpiJiK3AiJGRUCEmwbLsJuoCd7QByeHMpiShhFocf4oPc9QBmtz7/WGrNoT4 LluYfl8cqUh8Z+cdtT7ALVgWojCmbB7NLgrOhF6mxg6M4JrUvOO5egYE7pKyWlDWwmqXCe5jdCg yq7+RWu+VdhYAAZSixLAvgNe5kVZEvQdPUVVEAD0dyd5hJXqQwf2CT1j965sTKeYbI3mm7I1qb5 C2eukS8lKwlP5o6lxMAYDH/p9aLxNo//uFh9nzwrqEb0qN09+Rsoe7didEg3p7rrOw== X-Received: by 2002:a05:6000:d0a:b0:38d:d18d:262f with SMTP id ffacd0b85a97d-38dea2880a1mr2229435f8f.26.1739363865520; Wed, 12 Feb 2025 04:37:45 -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-4395a06d22csm18950785e9.22.2025.02.12.04.37.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 12 Feb 2025 04:37:45 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, Thomas Huth , qemu-arm@nongnu.org, Richard Henderson , qemu-ppc@nongnu.org, Sai Pavan Boddu , Markus Armbruster , "Edgar E. Iglesias" , Alistair Francis , =?utf-8?q?Daniel_P=2E_Berrang?= =?utf-8?q?=C3=A9?= , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= Subject: [PATCH v7 09/10] tests/functional: Remove sleep() kludges from microblaze tests Date: Wed, 12 Feb 2025 13:36:58 +0100 Message-ID: <20250212123659.52764-10-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250212123659.52764-1-philmd@linaro.org> References: <20250212123659.52764-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.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=unavailable 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 Commit f0ec14c78c4 ("tests/avocado: Fix console data loss") fixed QEMUMachine's problem with console, we don't need to use the sleep() kludges. Suggested-by: Thomas Huth Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Reviewed-by: Richard Henderson Message-Id: <20250206131052.30207-15-philmd@linaro.org> --- tests/functional/test_microblazeel_s3adsp1800.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tests/functional/test_microblazeel_s3adsp1800.py b/tests/functional/test_microblazeel_s3adsp1800.py index 715ef3f79ac..60aab4a45e8 100755 --- a/tests/functional/test_microblazeel_s3adsp1800.py +++ b/tests/functional/test_microblazeel_s3adsp1800.py @@ -7,8 +7,7 @@ # This work is licensed under the terms of the GNU GPL, version 2 or # later. See the COPYING file in the top-level directory. -import time -from qemu_test import exec_command, exec_command_and_wait_for_pattern +from qemu_test import exec_command_and_wait_for_pattern from qemu_test import QemuSystemTest, Asset from qemu_test import wait_for_console_pattern @@ -31,9 +30,8 @@ def do_xmaton_le_test(self, machine): self.vm.add_args('-nic', f'user,tftp={tftproot}') self.vm.launch() wait_for_console_pattern(self, 'QEMU Advent Calendar 2023') - time.sleep(0.1) - exec_command(self, 'root') - time.sleep(0.1) + wait_for_console_pattern(self, 'buildroot login:') + exec_command_and_wait_for_pattern(self, 'root', '#') exec_command_and_wait_for_pattern(self, 'tftp -g -r xmaton.png 10.0.2.2 ; md5sum xmaton.png', '821cd3cab8efd16ad6ee5acc3642a8ea') From patchwork Wed Feb 12 12:36: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: 864455 Delivered-To: patch@linaro.org Received: by 2002:a5d:4cc5:0:b0:38f:210b:807b with SMTP id c5csp95509wrt; Wed, 12 Feb 2025 04:39:34 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUT8DnDz4pkb1o02z5mGgw0AoQtn3teOirmz+00Q+MGYQddW/11KwwD0xpdaeH/0wvm8gsu4g==@linaro.org X-Google-Smtp-Source: AGHT+IHMQ3aE9phSt/Bw5AiceZfUbp2zrt48OzLQXPNPpd6Y8fn3vZ1DfZIJhylui7LyIiTaPLTB X-Received: by 2002:a05:622a:1e18:b0:471:bb6f:5799 with SMTP id d75a77b69052e-471bb6f5e49mr9120571cf.35.1739363974053; Wed, 12 Feb 2025 04:39:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739363974; cv=none; d=google.com; s=arc-20240605; b=ku6kKNkAG9PBznfuOYchOSLx+Y10K5VlunLx/EONeymTOROaf7RHAQ2lz3Wpipqr0a CnbGcAvYIXA85cSQ05IAlkyYGDoD4pZaewTmN7FiAPB1WecBAqvdmNooACjPcuzKgyFx 9cz0O/sr/Eef7nCUDSVejkkuiB3XU6TGPl0JVwHONHYP5i0gFTqWv5NNSC/sTlb7OmqN zBXgxBBiDHWLWHzawOA47xSJGLxRhteyABUhzTWqqUpTygtfuXbSvSpBh8OJpkNOY7se S5xrnDH4t+NK06nOdSn4WpmDi0L8EuP0O/YgMYIcJxjQd9kxTOcP2hrR493VPsRM6FqQ tEfg== 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=b9KWIiGOWq55nxx0C4B7NMOGhhvAoCPOGFcu0xxlyb8=; fh=HlENWry5pBMj1xy+XPJJKz1+KJ8prrg3FvBcv7/VjNo=; b=EdRCw2Eq95iLXBA3FO0k6TOUtULiy5lepajYworQj+nQG4D7WZN7AXmjke0LosIeWU mLaH1PueDxb6QpSfd8MU7ftswqFWmerowuXFF7L7qzHhg6veyqhfq2fiHMeiMq3s7OSl JjyOHplT7qKqfrps4ClKhoOUbVZ3jGv1BJ6yfjzdhjuNZhMo3lnYbz5sSz4Nt2ewv0Cy 0WJudr12WsxITaUpMvUK13MrBEvLaLDJiodIGylW3uACH4C/JVNG5LMIQYgC48aavw6o WdlcMCi0WmDlfOzJMQK95ifD0W1Okw14FrtG3kLQjL6rPW7EsAZoKY21tZbMPJ104nRv KuMQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Zacuj7DS; 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-471b84d8341si8219311cf.257.2025.02.12.04.39.33 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 12 Feb 2025 04:39: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=Zacuj7DS; 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 1tiC11-0004kt-Fc; Wed, 12 Feb 2025 07:38: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 1tiC0D-0003v6-Hn for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:38:05 -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 1tiC0A-0000ip-O0 for qemu-devel@nongnu.org; Wed, 12 Feb 2025 07:38:05 -0500 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-38dd14c99c3so2530230f8f.3 for ; Wed, 12 Feb 2025 04:37:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739363870; x=1739968670; 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=b9KWIiGOWq55nxx0C4B7NMOGhhvAoCPOGFcu0xxlyb8=; b=Zacuj7DS+BGVYQG9fnH5CQ2ChWJV1w2TcxjsKri85l9gUhxtORdcc7bm3UUGl1fUYp oZlNqMMwI64Uv20u78VPSZ0Mv8g7qyfbYc2CCJdzJ/GisugZcX0k/Vjd/I+uhFoBM5j7 JgN5rlefydXqmX22r6saDKd5ysyNO3maD76AYL/B4OWzboxNDHwKJtthiq6nD9mt+Pe+ 90mYgVK4awdOv2yaWGt8hhTi9Smo8jbiAVyNHndePI4XCMFi02ZVWVcIJUaQMzs2mxLD Tz+hHZJy9Es4X5kOfH4eNntSjj9aBCmJ+b85HTKiKD4+iFbCG9lkIDWtb98h9g/jRjrA 6Icw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739363870; x=1739968670; 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=b9KWIiGOWq55nxx0C4B7NMOGhhvAoCPOGFcu0xxlyb8=; b=Fqjll/T12ItbjBu/vV3Rh5LY9sp6BNOVf6Jb/erioCC4CCTu4jvjWrJPz8xXcEF0Ne +Ww+ZAXvsOPrAsI4imNfVCb+Uy72xscL90CYt4pG3C5A10BkejO2x28dH+uyC6qRbYld PX4SL0gOUudHCiEJfEtrzxDY6qBvGVqAmmm6PuwP3EBieiNyBBTdTJckYxPX8pfcWgP6 Bhfm+OzBLm2L9/enCzoe9k5GpKWKGr14cSrvy3ymsdmtm6jKSyOlLKpAeGqq4twYuqGX p2NQOPv93LZAoDjpvgeMyTi7zwTNt2/d9HOUk/PExxnrDG04iswSk4Dv2bbjK+WNwsSI LvhA== X-Gm-Message-State: AOJu0YyearC+VzeTNpxLGIEuCTxJ08sIX15vtM0XNA5DVa1JiOyD4r/m HUqxkxxy14LCLPY+jEYfWg8qLKUd7lE5VVp+VPPyRTME2M6PLYxFDRI3Tmq20+KabONl3Dm/7dw jZCI= X-Gm-Gg: ASbGncvxU6x6kChKQ5nspuD4K2c59eTss19KLcffnzSmGVa30Frmjd6nE3GDMq9LJ50 4/1vTFQDmbXvjLQ6X2JPovdTfW0jvMg6Dcm2cF3ExzMDRs8012aFTnENlZvOmez8W1Il0g1TUSd dqo+ewqq3YF8OKQf8TDpMNBO7JL0NSsFRMb74uVF754wo/5NlejzbqNVrV5nlhFUO/HoGvGN04b UgDQICuFtQOX9pKo3bqOug/4OTb70284IX46JyVsU8Tj44a2zCjzztSdAeV8KtV9Kg2gwB3JdTs b0XL80urdRvhrb7hgUgyyPMn8nEZOc/fcC6bEVLqyAX3GZrJsUyJLqnUD/B+eUOvKA== X-Received: by 2002:a5d:64cf:0:b0:38d:b57e:7202 with SMTP id ffacd0b85a97d-38dea28d854mr2723465f8f.31.1739363870257; Wed, 12 Feb 2025 04:37:50 -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-38f221c4145sm322697f8f.85.2025.02.12.04.37.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 12 Feb 2025 04:37:49 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, Thomas Huth , qemu-arm@nongnu.org, Richard Henderson , qemu-ppc@nongnu.org, Sai Pavan Boddu , Markus Armbruster , "Edgar E. Iglesias" , Alistair Francis , =?utf-8?q?Daniel_P=2E_Berrang?= =?utf-8?q?=C3=A9?= , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= Subject: [PATCH v7 10/10] tests/functional: Have microblaze tests inherit common parent class Date: Wed, 12 Feb 2025 13:36:59 +0100 Message-ID: <20250212123659.52764-11-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250212123659.52764-1-philmd@linaro.org> References: <20250212123659.52764-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=unavailable 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 Have the MicroblazeMachine class being common to both MicroblazeBigEndianMachine and MicroblazeLittleEndianMachine classes. Move the xmaton and ballerina tests to the parent class. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Message-Id: <20250206131052.30207-16-philmd@linaro.org> --- .../functional/test_microblaze_s3adsp1800.py | 23 +++++++++++++++ .../test_microblazeel_s3adsp1800.py | 29 ++----------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/tests/functional/test_microblaze_s3adsp1800.py b/tests/functional/test_microblaze_s3adsp1800.py index c4226f49cf3..177c8a685bc 100755 --- a/tests/functional/test_microblaze_s3adsp1800.py +++ b/tests/functional/test_microblaze_s3adsp1800.py @@ -7,6 +7,7 @@ # This work is licensed under the terms of the GNU GPL, version 2 or # later. See the COPYING file in the top-level directory. +from qemu_test import exec_command_and_wait_for_pattern from qemu_test import QemuSystemTest, Asset from qemu_test import wait_for_console_pattern @@ -20,6 +21,10 @@ class MicroblazeMachine(QemuSystemTest): 'day17.tar.xz'), '3ba7439dfbea7af4876662c97f8e1f0cdad9231fc166e4861d17042489270057') + ASSET_IMAGE_LE = Asset( + ('http://www.qemu-advent-calendar.org/2023/download/day13.tar.gz'), + 'b9b3d43c5dd79db88ada495cc6e0d1f591153fe41355e925d791fbf44de50c22') + def do_ballerina_be_test(self, machine): self.set_machine(machine) self.archive_extract(self.ASSET_IMAGE_BE) @@ -34,6 +39,24 @@ def do_ballerina_be_test(self, machine): # message, that's why we don't test for a later string here. This # needs some investigation by a microblaze wizard one day... + def do_xmaton_le_test(self, machine): + self.require_netdev('user') + self.set_machine(machine) + self.archive_extract(self.ASSET_IMAGE_LE) + self.vm.set_console() + self.vm.add_args('-kernel', self.scratch_file('day13', 'xmaton.bin')) + tftproot = self.scratch_file('day13') + self.vm.add_args('-nic', f'user,tftp={tftproot}') + self.vm.launch() + wait_for_console_pattern(self, 'QEMU Advent Calendar 2023') + wait_for_console_pattern(self, 'buildroot login:') + exec_command_and_wait_for_pattern(self, 'root', '#') + exec_command_and_wait_for_pattern(self, + 'tftp -g -r xmaton.png 10.0.2.2 ; md5sum xmaton.png', + '821cd3cab8efd16ad6ee5acc3642a8ea') + +class MicroblazeBigEndianMachine(MicroblazeMachine): + def test_microblaze_s3adsp1800_legacy_be(self): self.do_ballerina_be_test('petalogix-s3adsp1800') diff --git a/tests/functional/test_microblazeel_s3adsp1800.py b/tests/functional/test_microblazeel_s3adsp1800.py index 60aab4a45e8..56645bd0bb2 100755 --- a/tests/functional/test_microblazeel_s3adsp1800.py +++ b/tests/functional/test_microblazeel_s3adsp1800.py @@ -7,34 +7,11 @@ # This work is licensed under the terms of the GNU GPL, version 2 or # later. See the COPYING file in the top-level directory. -from qemu_test import exec_command_and_wait_for_pattern -from qemu_test import QemuSystemTest, Asset -from qemu_test import wait_for_console_pattern +from qemu_test import QemuSystemTest +from test_microblaze_s3adsp1800 import MicroblazeMachine -class MicroblazeelMachine(QemuSystemTest): - - timeout = 90 - - ASSET_IMAGE_LE = Asset( - ('http://www.qemu-advent-calendar.org/2023/download/day13.tar.gz'), - 'b9b3d43c5dd79db88ada495cc6e0d1f591153fe41355e925d791fbf44de50c22') - - def do_xmaton_le_test(self, machine): - self.require_netdev('user') - self.set_machine(machine) - self.archive_extract(self.ASSET_IMAGE_LE) - self.vm.set_console() - self.vm.add_args('-kernel', self.scratch_file('day13', 'xmaton.bin')) - tftproot = self.scratch_file('day13') - self.vm.add_args('-nic', f'user,tftp={tftproot}') - self.vm.launch() - wait_for_console_pattern(self, 'QEMU Advent Calendar 2023') - wait_for_console_pattern(self, 'buildroot login:') - exec_command_and_wait_for_pattern(self, 'root', '#') - exec_command_and_wait_for_pattern(self, - 'tftp -g -r xmaton.png 10.0.2.2 ; md5sum xmaton.png', - '821cd3cab8efd16ad6ee5acc3642a8ea') +class MicroblazeLittleEndianMachine(MicroblazeMachine): def test_microblaze_s3adsp1800_legacy_le(self): self.do_xmaton_le_test('petalogix-s3adsp1800')