From patchwork Thu Feb 6 13:10:37 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: 862500 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp118774wrv; Thu, 6 Feb 2025 05:12:47 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUUAYCKgPIvVd/LQbAilFPNwh1wB/OGEBTAURMdmpc0AbKY2CGuDzhAr38CU1nBRPomuHQu7g==@linaro.org X-Google-Smtp-Source: AGHT+IHMRKjW+UevResQqaUi3wpSWVfLRyWqk827L/7DmWWqKB4j76gEQorSSlwu6JdwkMQ1Ib8V X-Received: by 2002:a05:6102:80b:b0:4ba:70c4:f016 with SMTP id ada2fe7eead31-4ba70c4f0e7mr1566400137.16.1738847567311; Thu, 06 Feb 2025 05:12:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847567; cv=none; d=google.com; s=arc-20240605; b=GFoAPeHN/JiBj4FV3hgPi7XAWlzYGMw3UPOxMyMLCtiIBBALM5STXLlb5MxocuGgoh zN+ZHeacJi35stvi+ubj5xAcAZUr+6GwRvBU1nuQLRzRhB2yqYMGig4uy1UYYZw6tfc5 L+vqsIkZqCQU3w52pjHXoAOZaDZoo8n5mWHlJc8zmFNI1TrgvwzyNuDgyYBd2JjyEe3L dgbG/pG3vlvu2J81i1wDv5nkrtb42egzG/ZL7FbN8w04X87MgGKbUtKvTe/InSkedPGg 3cHUEoP/8LynVx3oWl2a1X4imlgned74W2HBxALUIjk83e71Y6BvFy3aujboaXPuLEWB b4BA== 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=503eeF5KhCNoQH5RB4G8vUQc3vp07cA9yV4AIGoAB5A=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=LgR2YDpaapT7R08XF6Ox+GJvUU9cbfWSRE4RW3laYmYZvNnKpkeDuKbwCo4FwuoA0x gaANA53VEy+ZeOwHjcJyBs0Hnlr7XF/BwcCzTty5cJzmxZLKHbpsQSzJHUM7ATL78Nr5 OWQddlpWzUQ+xhRodIeeBOtrYAkyeZU3jU1R1uereIX+XRQNjtcb290f66rQVzSEVXxj MaoYfVJsrzu/HvhBaHMKEcvaKaWOaTAAJxcPtuZeJQ144ySJ1Bz+vkiGOUGhIAX+Ih1b +c7SaT92Y987U2ZHzJlBNP50LsPAwG+GEpnqIW95COrCqYmS2wBaX9Bqa0KymCwMejug se2g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Of55DvB6; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ada2fe7eead31-4ba77923867si190446137.638.2025.02.06.05.12.47 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:12:47 -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=Of55DvB6; 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 1tg1es-0004z1-Dg; Thu, 06 Feb 2025 08:11:06 -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 1tg1eq-0004yI-Me for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:04 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tg1eo-00080O-P6 for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:04 -0500 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-43690d4605dso5890725e9.0 for ; Thu, 06 Feb 2025 05:11:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847460; x=1739452260; 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=503eeF5KhCNoQH5RB4G8vUQc3vp07cA9yV4AIGoAB5A=; b=Of55DvB6vd+SPEzGdUwkBcgo7J8Nav2wQvUKPeQsIDYWx+PRr6iNZ8tCKqwFxDWqTi 1Fyysh14Ee+2FfJtIEMrovg6VQAZXswYSw4r5eIdEPZj1oxPhwMsCDqKO/HbfpPRLUGc kS50brSJTW+wr6x5xGq2Byb73GhiUBq4g4n4tmnZiNgsBnRD6QnMqM2I6NbY30FB8LBJ pazOejYnyhN2hukS0+oPgTcwebgEWE0TrtVD7y8o5hdNbbGfmj8NuC+J0QJTZRt/O1yX cJQ2R++uqqAQer9Pwlo71Xh3wKbv5DE3VzH9iUANsdNtPN1V6aqVtISxYI7QZqcH5JAY RTcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847460; x=1739452260; 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=503eeF5KhCNoQH5RB4G8vUQc3vp07cA9yV4AIGoAB5A=; b=rlYy/VrX6RBaRfhVaA+497Z4CzKZJEeo2yC45z3CkPJcU2dy+pNvb3+QRJSkag3+Gg 8VP/KXMXNr1uHIWrgaX1xJm0JENTOu39KRC1iPb7TpxsSz7hk4q3tSA8DPksMnOa0m0H wb6MC0NhB3jSCgtnBBe03zPjKBgMOI5ETQnJA1pPersxXI4vtX7HXIpT5T6FY2MBKSHo DGvY3K0MOeTRUu5r0fLc66UGTRP7OTXkIaPB0kKhLh5xLVBgIAd6+gIFQP6NYA3tjat9 EZs/Ypcp7BTtRgPeWNc3+N3CZtrnAUhRvNEmv4+Z7mC9ppo25QDp1JNX6tc/ImtIyf7d xJMg== X-Gm-Message-State: AOJu0YwAiWhMf33w08QnGSgZdp+xHxKUceUmREq5sIUMY9+ZnEC/z6SD 5f0YkX33dtJLN9MOHOhruFt2Nfqmnp4S8rPp6gGYRMSz28J8cDqWY8/46ZPO+ZkebSF91mnxkNA DX3A= X-Gm-Gg: ASbGncuNZTLloXJHtsWak6BOOqArte2m7bCc6lBljDzE7beeeWCLgxCbUgQ32OFjCl/ kCPZzU/MOyvyigVNoR0sUTRJLPO5zNd3+HfHYcgRpe0+sQHDQydr0hy8689C8BruiI1Ngyzy/px 7ACgfscVijyCFdGsP9vm9gaBevuFoBDxhIZ2wIjCQFYPLzv9hofDX8g0cO3itq1WGPLkRcg9t4l hqPK3WpB5DlA6SE/d+iysh5QSf4XPbNU/7Of4PCBXhldPMKjNdZcxK3pTbxAPQeETzLPcigaVgU Dyyzr/o7zqsmlTK/fzCKYlofmqw7I714oQ2EA4lTRV2MzX/lxvBeptV2lRiA9oGXGw== X-Received: by 2002:a05:600c:3595:b0:430:563a:b20a with SMTP id 5b1f17b1804b1-4390d4347ddmr70713625e9.11.1738847459396; Thu, 06 Feb 2025 05:10:59 -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-38dbdd35742sm1685808f8f.21.2025.02.06.05.10.58 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:10:58 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 01/16] hw/intc/xilinx_intc: Make device endianness configurable Date: Thu, 6 Feb 2025 14:10:37 +0100 Message-ID: <20250206131052.30207-2-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/intc/xilinx_intc.c | 52 +++++++++++++++++------- hw/microblaze/petalogix_ml605_mmu.c | 1 + hw/microblaze/petalogix_s3adsp1800_mmu.c | 1 + 3 files changed, 40 insertions(+), 14 deletions(-) diff --git a/hw/intc/xilinx_intc.c b/hw/intc/xilinx_intc.c index 6930f83907a..cd79ac4d4ff 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 @@ -49,6 +52,7 @@ struct XpsIntc { SysBusDevice parent_obj; + bool little_endian_model; MemoryRegion mmio; qemu_irq parent_irq; @@ -140,18 +144,29 @@ 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, + .endianness = DEVICE_BIG_ENDIAN, + .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_BIG_ENDIAN, + [1].endianness = DEVICE_LITTLE_ENDIAN, }; static void irq_handler(void *opaque, int irq, int level) @@ -174,13 +189,21 @@ 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); + + memory_region_init_io(&p->mmio, OBJECT(dev), + &pic_ops[p->little_endian_model], + p, "xlnx.xps-intc", + R_MAX * 4); +} + static const Property xilinx_intc_properties[] = { + DEFINE_PROP_BOOL("little-endian", XpsIntc, little_endian_model, true), DEFINE_PROP_UINT32("kind-of-intr", XpsIntc, c_kind_of_intr, 0), }; @@ -188,6 +211,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..cf3b9574db3 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_bit(dev, "little-endian", true); 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..0506497ad0a 100644 --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c @@ -95,6 +95,7 @@ petalogix_s3adsp1800_init(MachineState *machine) 64 * KiB, 1, 0x89, 0x18, 0x0000, 0x0, 1); dev = qdev_new("xlnx.xps-intc"); + qdev_prop_set_bit(dev, "little-endian", !TARGET_BIG_ENDIAN); qdev_prop_set_uint32(dev, "kind-of-intr", 1 << ETHLITE_IRQ | 1 << UARTLITE_IRQ); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); From patchwork Thu Feb 6 13:10:38 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: 862503 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp118872wrv; Thu, 6 Feb 2025 05:12:59 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUYgUvXGVZ34obtzJ/1dQmDP7SzC+vYkYv7GRM4YMf/4IXNx3ucSB5vR6M1zsHdbpYUM6bAgQ==@linaro.org X-Google-Smtp-Source: AGHT+IGJNaUJWXta8oQPtmOSW4UOa8Vn9EB4BpBjarBWMOWzZjmukVGI69aT8KBoB6LoF2QT9bKD X-Received: by 2002:a05:620a:319d:b0:7b6:d5cb:43b7 with SMTP id af79cd13be357-7c039ff3620mr835825685a.26.1738847579234; Thu, 06 Feb 2025 05:12:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847579; cv=none; d=google.com; s=arc-20240605; b=YoGX1b1E/WkieYg9Sm0yWze2tp8tJqKHkfAOgJzZ5Jr0FMr02vE++A88RKzGbioHYO 5zDTE2ESo+tyQe4/I/mALaRZb+OG7hCaJZlA1P6wqN/FxLleZDD5IuxXUvxPHrASt3jo OftKnUBUrholaQmfZk9eDLmOjoe6nGpxtXjvFwhOpd5reSZfZypTguwvo2NbTIkkg6no fDzDgGNTReOXon04PzfOWFI6DNtISntGnHLz3XZCBt0GkDJVkJruUSXnrmI9O4TMZUU9 AKfsDDoDMB86MKv8hBms9VOP9XD2RSnL0fhYHKBc9aPmgZnAqSragGl/xRHVV6A7Ibha e8Ow== 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=aMtXKyt7uU3QP4JcjRIhfj9cVUwd73AKtJN/LO4r3Xo=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=evgtSQnS3+Ys3mU6tSuK89vn/WNFHF8rkzNwKAwQ0X9F5yqnPf4TfB4zmNBkRfv9k1 swsRL3iWmRH0L2hK5R4ameTYWGygvriBtQnHO9k2/yMl1tjU29pchnQn7z1NlACHkUA5 0yVk0QliHp1XRP4eEb7QNzTlnRpAVaCDiufskbeVMgLVoR/ob77/S1e79uB/zPpQSr6N NpEpO4qRXgRZW/mUHYa9E7FJDTEAV2wzuJNXKT/tWAZMyPbt63jFrDi3X7BvePIGqlE2 FRXl9Z5FWTUqeaeqEhkc/nUayvUcyNYr8WX7yMj8ZmOC8fqxem0cx+d4X4OylqZVHZyW I5eQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=YnOfVrhj; 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-7c041eb5d44si112614485a.398.2025.02.06.05.12.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:12:59 -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=YnOfVrhj; 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 1tg1ew-00050E-9p; Thu, 06 Feb 2025 08:11: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 1tg1eu-0004zg-Nv for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:08 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tg1es-00081R-BJ for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:08 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4361e89b6daso5561945e9.3 for ; Thu, 06 Feb 2025 05:11:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847464; x=1739452264; 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=aMtXKyt7uU3QP4JcjRIhfj9cVUwd73AKtJN/LO4r3Xo=; b=YnOfVrhjS2NJiEJ97Uj/yCRBXFRu5wdQ7kHC5/8cXPFI9bSWMxz+wF5AUephpLaeDS ym1TzdINnmoFCRt2Z/fr8HJZx61/odvriex/7IYdPIvZ11i7t/u78/7ZODOei5CGsV3U sdIJcy5qsKCZFaEHOxEb1KZeTyrWkguaghPovpYtMEA1dFaO9ZcNTx9JH3CRVKiSIM9k fwYY2UR553gRmkQdd1hokx9vswWcsx9j3OMwj0NjOqHpzV89Rko4AhGDYEpWXf32T16y 0CpU5Txa+zA+Pfv7r5DAAOKJojkb012rWIGcdKfz8hGk6OyYXYK9YNstKVr0nc4pFy+1 PcQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847464; x=1739452264; 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=aMtXKyt7uU3QP4JcjRIhfj9cVUwd73AKtJN/LO4r3Xo=; b=LzZe5rvFxRUq+FCT9tDAmP8sgceKUvUqEp6OlyTfgTOb5ctMREIrkp+oRwsqXL6QIX Bk2YEEr4bkvqLOtP51wfoIisQazzRCT1eFwOWQ3M1k9osLzqGjpZHIYf1FNmJleERkTP NkyQKP3Gwvnko5iZrfG6w7+hX3L/yFoWmTTOvc/oyivSV6psZAhT3/v3KnrN5XYjLrGZ +8CLmzBxNObkRniimy7rDlNBg9gfBcNSzAjm5hZOAFra8d92BwuwIYcbglchyLJr/S7K 6VCaeB6JEKEvDHahekFV7ktHgMxtBewYT4tuQk6O/z7El7OXEllGrfwnwaJoAzOx2dGr PQsg== X-Gm-Message-State: AOJu0Yy7b0AV04owYRHdPeL/7RUot9yTXPN5SpOmnnemXD91GYLxNHAq CDeOsJ3TWRMIH8niwYKNVPCXFhQThg6GdWzPjqqVoyNlf8HNIT6tRERZJ5KJPjKhvRJutZLh1JW bIDg= X-Gm-Gg: ASbGncv94gUEjxRMoz4JkRx8aWHcMxACxutI8H/mS8lJhcBEHeAkdZsE4T6KlICpfOe LoUxtBKNF5XyGFpbEznAMZr63S0uSomFO/qbqxNCGUUVswjtNtt+D7jZRp4elwxYD6fjPFEjJwr YUNxClsEk6nn8c3NcCvP1LGpVhCGqWBse3sKUPmi3oClwBVHHVeNz9UCKvgGBzaZmYKqQdIV6xD 6b39JzmZjqDGdTvcmyjMf92ujz33LN3J/ivFkYreZvQ4ki+qP9bmkzgbtzz2DIjQ2yntnpEmS5s V3L50CZu28simP9R1rRH25MBSq6ZfaoApD7g8HUUTased2USDGQ0Rogcfe6xehLy6A== X-Received: by 2002:a05:600c:45d2:b0:434:e2ea:fc94 with SMTP id 5b1f17b1804b1-4390d4360cbmr70444175e9.11.1738847464446; Thu, 06 Feb 2025 05:11:04 -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-38dbde0fd2esm1689324f8f.73.2025.02.06.05.11.03 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:11:03 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 02/16] hw/net/xilinx_ethlite: Make device endianness configurable Date: Thu, 6 Feb 2025 14:10:38 +0100 Message-ID: <20250206131052.30207-3-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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 Reviewed-by: Richard Henderson --- hw/microblaze/petalogix_s3adsp1800_mmu.c | 1 + hw/net/xilinx_ethlite.c | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c index 0506497ad0a..fbf52ba8f2f 100644 --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c @@ -121,6 +121,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_bit(dev, "little-endian", !TARGET_BIG_ENDIAN); 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..103e53831a7 100644 --- a/hw/net/xilinx_ethlite.c +++ b/hw/net/xilinx_ethlite.c @@ -90,6 +90,7 @@ struct XlnxXpsEthLite NICState *nic; NICConf conf; + bool little_endian_model; uint32_t c_tx_pingpong; uint32_t c_rx_pingpong; unsigned int port_index; /* dual port RAM index */ @@ -183,10 +184,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 +196,9 @@ static const MemoryRegionOps eth_porttx_ops = { .min_access_size = 4, .max_access_size = 4, }, + }, + [0].endianness = DEVICE_BIG_ENDIAN, + [1].endianness = DEVICE_LITTLE_ENDIAN, }; static uint64_t port_rx_read(void *opaque, hwaddr addr, unsigned int size) @@ -232,10 +236,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 +248,9 @@ static const MemoryRegionOps eth_portrx_ops = { .min_access_size = 4, .max_access_size = 4, }, + }, + [0].endianness = DEVICE_BIG_ENDIAN, + [1].endianness = DEVICE_LITTLE_ENDIAN, }; static bool eth_can_rx(NetClientState *nc) @@ -328,7 +335,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[s->little_endian_model], 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 +347,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[s->little_endian_model], 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 +370,7 @@ static void xilinx_ethlite_init(Object *obj) } static const Property xilinx_ethlite_properties[] = { + DEFINE_PROP_BOOL("little-endian", XlnxXpsEthLite, little_endian_model, true), 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), From patchwork Thu Feb 6 13:10:39 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: 862506 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp119112wrv; Thu, 6 Feb 2025 05:13:27 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXOaL85wNMyeFOnMVvRhP2AVVSMsB7/E37ueq7+sceA5VY+RZuRHR/Ovdb3IXTg9nAdRwlryw==@linaro.org X-Google-Smtp-Source: AGHT+IGLQGSOlJfN9LjaeYFa/i8jn0+f2gGC/zfEDIXY6YcXhJjC3E/ziCkUGFxwrLp+lCGsMjir X-Received: by 2002:a05:6102:3f4c:b0:4b2:af6e:5fef with SMTP id ada2fe7eead31-4ba4789000emr4389353137.9.1738847607667; Thu, 06 Feb 2025 05:13:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847607; cv=none; d=google.com; s=arc-20240605; b=D6ctNv9Ngtho4EfE7SpnBjgRTvrOCmd+6WToVkNX8JP0M2X1l4b2rmNJcAwHUjNBRr exp5eRjg391SyNljHeZeyLNXDOoEWVJTrgubXxCZJDLJcVa+Aj5nX2tXw9DaiDUwVxbx TN+ywUzFrefMz4tIa2moziD4L/bJLyWGj+JMLQr5gy3wT6QIEB35nDsmUkIdGdBUCSox xLzuDjpnCU3zVv3R1KOz4BUv0vE1RgDFAK25QkVyA5OkOIQrGz1pfrZO3RZJ6njg1yoc meCJjV1ey5UTW4wQSgSiw0TjU60Rr1cLBoIFxf54oFhLvebxLhekAGIIqJ9gFcvA/46s EdDg== 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=4hjV9qje+F9WM+1u7JaIIDgc7g6v/WUaxTXGCOTYvnI=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=VssDSjZSzKRUQc/QY4M9KtwNffwAMY2CNiuu2gn4Tp/v5UAQHY8pwXXz55RFEWu2zY nu5JMi2oohxYoOAk0VUPGAEFZ4D7ztEs79TY60+owMPBcDHiVAtJ0XbsHYmxj3aCrjes V/PQk75zhMB2E1VbxPXcTaYePyEI39eJP0wTzjjobUDDmUx7RUvomgJqBTIEKv6/DEyL lbRbcQp6rbVJUjEu0Kp9uxczQ6zoKo5htcTKyyvMJLcoZEnQO0yEmZonlWYM/Bu2Na9a Wm6GIrKjWLimrfzCIbGzAKpKCMM2c4OcaV0Or2wbkaHqw05NFReldMOvZH6h8gvimH0W si3g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vDFtTl9c; 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 a1e0cc1a2514c-866f97ba72dsi145639241.98.2025.02.06.05.13.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:13: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=vDFtTl9c; 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 1tg1f7-00052p-9R; Thu, 06 Feb 2025 08:11:21 -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 1tg1ez-00050h-Ms for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:13 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tg1ex-00082Q-Cv for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:13 -0500 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-436345cc17bso6243505e9.0 for ; Thu, 06 Feb 2025 05:11:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847469; x=1739452269; 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=4hjV9qje+F9WM+1u7JaIIDgc7g6v/WUaxTXGCOTYvnI=; b=vDFtTl9cLjF3W12hmvrpTXgy6i1fKQSUh5Ac69JywwRisbOPuaGp9A2EL6BiQq1lJL 3Ciz8mU/14SBo53ZEgSEkBTHs0A8wv4S6x6TE1bA7NiEK+UMXmkQDma2QcAFj9qKYjP+ YzxoEmgwksulXEws4tfnvz+ZpCjiSiQWX3xWK2SfRRW/eqiKSHHoQntEW1fCydR+cNqi BJwS8ErSEd3PVhFC6BmK/4PuGUI/Wy+DVl2ZdpKOA2QZFAHln85/V0+yVSF6u99QtYta oZiGbiJXK74UX3IqPd3qXJKKUB5so3OjVphMOozfjCYatHqq3fjFREP/eywabVW3tXQ4 kuew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847469; x=1739452269; 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=4hjV9qje+F9WM+1u7JaIIDgc7g6v/WUaxTXGCOTYvnI=; b=NjsPgwfnC3x8sK3VjAqssvc6X4Re2q2XUh8m5gCN6frO1oCceOwtt03Er7nqfH1iBj qphmD/LWA0uj9jXWyrRiEJOM3NwpPR4Uw9sDJROWaGiDRssx8eoVgmN66w9HPXR+MXgy /rDAUAuKc3J8itj4qMQmbAIHOixwwiZ8Xd/SJYaLG/Knq30QpytAdU/OM/wdVqEj59vP 28NJS8e5w+gnDoJitDnishJYiObuojDmmVWpZ3gGikzoffunh/kvz50ImmqMk5u+QWEI bHjF5bKAB2KoETY6e0BlLNP80BNAzaxxNt+IBkKkuNscFYW2+PuM/5Uo50hzYpmjG8QS wWyQ== X-Gm-Message-State: AOJu0Yyizam/yWE2NLHnmjArlIw2eBks64o+5SXOsyUOGWjJpGaVx0LN FQTHHMTMk2V0jjZVfYkBp8zV3ccpMblGMK34ZemEzXhaIFIism4Oe5UJY+qkpumfUO24j4u8qm/ snRY= X-Gm-Gg: ASbGnctWd/MjQBdGQOadUyV6iChirXN+d4S5Dt9rq+sinIchameYjARcO/6a650nNI6 fyTfL3FO0QhKVJ5SlXlohPI3P3oYLbIvwG9r00NQcCKppSZNi8rprB+HBXYW/NtihCvLlnj4bL0 kfG305uUXnJML+CxeywyDxYBHmX28Viw8J3L0R68ft/V0r4mq3JlXm7ogsaHR5LgEg9e0TenCbb slgKUC2AVsQbw9KhU4fGc1ujWx/gsiSs89aa+72iMvDF15Ml0i2h/2JWmJ8YLgVRw9VE5cPRRDQ 8jc/Af/EW/v9DJgkyuJPbfKCqlwYA6fEDzO2qk1+ayfQiG3JGn/SGRi5GU8Q5QMANg== X-Received: by 2002:a05:600c:512a:b0:434:f3a1:b214 with SMTP id 5b1f17b1804b1-4390d56cd58mr50851855e9.28.1738847469434; Thu, 06 Feb 2025 05:11:09 -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-38dc5839877sm254030f8f.3.2025.02.06.05.11.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:11:08 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 03/16] hw/timer/xilinx_timer: Make device endianness configurable Date: Thu, 6 Feb 2025 14:10:39 +0100 Message-ID: <20250206131052.30207-4-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/microblaze/petalogix_ml605_mmu.c | 1 + hw/microblaze/petalogix_s3adsp1800_mmu.c | 1 + hw/ppc/virtex_ml507.c | 1 + hw/timer/xilinx_timer.c | 35 +++++++++++++++--------- 4 files changed, 25 insertions(+), 13 deletions(-) diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c index cf3b9574db3..bbda70aa93b 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_bit(dev, "little-endian", true); 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 fbf52ba8f2f..9d4316b4036 100644 --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c @@ -114,6 +114,7 @@ petalogix_s3adsp1800_init(MachineState *machine) /* 2 timers at irq 2 @ 62 Mhz. */ dev = qdev_new("xlnx.xps-timer"); + qdev_prop_set_bit(dev, "little-endian", !TARGET_BIG_ENDIAN); 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 23238119273..f87c221d076 100644 --- a/hw/ppc/virtex_ml507.c +++ b/hw/ppc/virtex_ml507.c @@ -230,6 +230,7 @@ static void virtex_init(MachineState *machine) /* 2 timers at irq 2 @ 62 Mhz. */ dev = qdev_new("xlnx.xps-timer"); + qdev_prop_set_bit(dev, "little-endian", false); 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/timer/xilinx_timer.c b/hw/timer/xilinx_timer.c index 6595cf5f517..d942ac226e6 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 @@ -69,6 +72,7 @@ struct XpsTimerState { SysBusDevice parent_obj; + bool little_endian_model; MemoryRegion mmio; qemu_irq irq; uint8_t one_timer_only; @@ -189,18 +193,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_BIG_ENDIAN, + [1].endianness = DEVICE_LITTLE_ENDIAN, }; static void timer_hit(void *opaque) @@ -233,8 +240,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->little_endian_model], t, + "xlnx.xps-timer", R_MAX * 4 * num_timers(t)); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &t->mmio); } @@ -247,6 +255,7 @@ static void xilinx_timer_init(Object *obj) } static const Property xilinx_timer_properties[] = { + DEFINE_PROP_BOOL("little-endian", XpsTimerState, little_endian_model, true), DEFINE_PROP_UINT32("clock-frequency", XpsTimerState, freq_hz, 62 * 1000000), DEFINE_PROP_UINT8("one-timer-only", XpsTimerState, one_timer_only, 0), }; From patchwork Thu Feb 6 13:10:40 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: 862498 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp118391wrv; Thu, 6 Feb 2025 05:12:04 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWFC5HhawRd6iku189jKTl2Z1PfERI1XlpwGTeRG/bbnc+bd+UNEJ+pD5t4Ma2s7xc8l70/9w==@linaro.org X-Google-Smtp-Source: AGHT+IEu2roZl5PHWR07jFWN1mfOI7mjVOhhSVVJovlWCa4n8y3VcaOiR3mpbYGGjYcvPLvfuxg+ X-Received: by 2002:a05:6214:418a:b0:6e2:4ad7:24c8 with SMTP id 6a1803df08f44-6e42fb23793mr88962226d6.2.1738847524508; Thu, 06 Feb 2025 05:12:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847524; cv=none; d=google.com; s=arc-20240605; b=JMFy1ydbx90vRBB787I2T87G0GY3Bow66+/4ynB8Ire677dlZfFwFs9iOZQxlZt7+1 1C4WT6dmSBFwmvfsAG0AKGzA5id3tC8JtdKORJGYXEie3JQhDwv6y4zHeHZeNU9wiWNs 0yYIfG+CPRBqjdUPWDZiLO3jBjYtHT+SgJiJPe5R1JKUoVgX9WpJc3HY0zN0D2n7Vpos oi43mFStv+PLUeR0v1dLBnM+74P//iHL36uosH204koWm2ea18VDQz4X2GIZ13HShkC7 Q/a67mzPqS2wVkEJjBR02LzMly5wu1pNNEPRNiI1sfcB0lU8WNmmGFy2AChpTfrwFGF9 nZNw== 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=4b8oiIF0V/wXvMZ/KNd/Z66f59JylUbcAbl8fgf5Kk8=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=IFOfruErEHIVM0+1OeHNEbqgkxwSBCSodr8vfEnipTd6YedWbYkhDdBManmTZV0j0A 5z1BYwr+DBDvaX8GUyH3EvfEUfv1LJTsl03CLUcVJ2C+CBPVwvLbv7ZP5EkWrpNz1DY9 TtPg9d+Hr1u7bAsiv67aBmeFCPX+gZvlIrWWxbw0pDRLJl05lbAMYvrCWTp3cUmo2n2D Fzg1U+O/MNLMmrrJtCcw2hu+qWDG3Gr3tBpINt1a4QSIjhwGWjXFFWM6LK/yWkO3aDw8 yOYWH/Mwunt924hIQlqAjEAhKUs2os6qXFs6C+kRjKl6T2mKs8sGxwwmBojvMyyKdBrZ E6yw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mjYRV3Y6; 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-6e43ba2c329si11792146d6.7.2025.02.06.05.12.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:12:04 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mjYRV3Y6; 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 1tg1fB-00054X-C9; Thu, 06 Feb 2025 08:11:25 -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 1tg1f4-000525-Bg for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:18 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tg1f2-00083W-Md for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:18 -0500 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-436a03197b2so5841905e9.2 for ; Thu, 06 Feb 2025 05:11:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847475; x=1739452275; 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=4b8oiIF0V/wXvMZ/KNd/Z66f59JylUbcAbl8fgf5Kk8=; b=mjYRV3Y6lnFjkafNBX8KR92OKIZKPC/yzeO8SE0SZ2sbIUzfoI7Z/K0SwWMLIE/5D8 mc13ctKCVkB2Y+HEo3xZyXne0FOMGF9UqielHUEeIup8g2EpjubPigThNN2Z20cjbd8H WOT1ehO8XrYpZFcK4IKXe1sEaFGhTkUw8uRwRKhzxdy3bkXsoNZTl1yxb4wzVSIspSus XMM9xkkPe4K1vjddFwyQ4Sab5qjgwbqSg7iuoi76nLQB75Hoft4q72ZyogdIQroAsFQJ Fx9w3+alZmLpQrGr3R24rjUeG/tiJiyCQJQ+f7VcXotbrYHEtOfPU0QrU5IorM3YWSMF heVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847475; x=1739452275; 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=4b8oiIF0V/wXvMZ/KNd/Z66f59JylUbcAbl8fgf5Kk8=; b=QcNREhfOKwDI/fVIx24liY77e1e6KU6QaBrAM+32iW/MWMSX8qrPQGPmDF0yf+3LQu lPq2uh5zhi6oSoh0YcruP/sCXBJ8AGtkovBPbWbcHMv3UjpeMDMxMR2DRsGvKgFB84Mp TbLxdkNEe8wo3giGbzhPR+tdy2AocI2WtEdSGmX7vXvVui6TX5NtGHth/XxUjAfA3XAX 9wHiqiNT9tqZWAmQ/sR5UXHpN3gaoxvfKKgD8TM+0xh+xUqdcmnU+EOcEqJaQ7oPTc/V fYnh6Ruyx6O2FTaXkgzlb1FHBdXon/Ds2kDJm1EiyqojWpbzrUFnVAqT+NLAS3TPK2cN ZbSA== X-Gm-Message-State: AOJu0Ywyxz+RBKeTTWeXavgeXrYrxf1FxMsBC9Ph3QUNIrFyGgD4JeU8 bXm0tW2UFjdyndui5OZj7EFoHSK+pb30kjDS/y+S+s1AgNAhnDgdZykBN0uChVxN+VWaJEfZ+hv JDic= X-Gm-Gg: ASbGncuWd0zxMgZof9mTjLT5lmOx5ZMzfexL5pXSTkUR4T0gMdIKMNnzsysI3cLlEhN PGocb9R5iCkU7OIyI0o7TnYqXEK7YI6RWJmHEKg/N7bvSyUVGNtxAzGuQF63E851XYQrb+cMLXu jmMjmYaSny8h/PsiKESZuvtqdNDzy081U0XNCIF5bSFzqaFcPUgHWawAgT9rY9SEwEoZ+2fVTio aiJIBqN03F3djeLDhFxGdh2DhW65sJfBTHWnZmetUBx0Z8OT8OzXYoSS+sHhQQ8fnSaAM250V9Q VB+hc5tF0ajGHxy4xhVqr3yRimPAiljUgRhQ1R8J8JS7SE6aMfmGZSB5q1G2vIfnCw== X-Received: by 2002:a5d:64ab:0:b0:386:4a16:dad7 with SMTP id ffacd0b85a97d-38db48867c7mr5008176f8f.10.1738847474803; Thu, 06 Feb 2025 05:11:14 -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-4390d93379fsm56516865e9.5.2025.02.06.05.11.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:11:14 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 04/16] hw/char/xilinx_uartlite: Make device endianness configurable Date: Thu, 6 Feb 2025 14:10:40 +0100 Message-ID: <20250206131052.30207-5-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org 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. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/char/xilinx_uartlite.c | 27 ++++++++++++++---------- hw/microblaze/petalogix_s3adsp1800_mmu.c | 1 + 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/hw/char/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c index 56955e0d74a..948da4263b9 100644 --- a/hw/char/xilinx_uartlite.c +++ b/hw/char/xilinx_uartlite.c @@ -57,6 +57,7 @@ struct XilinxUARTLite { SysBusDevice parent_obj; + bool little_endian_model; MemoryRegion mmio; CharBackend chr; qemu_irq irq; @@ -166,17 +167,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_BIG_ENDIAN, + [1].endianness = DEVICE_LITTLE_ENDIAN, }; static const Property xilinx_uartlite_properties[] = { + DEFINE_PROP_BOOL("little-endian", XilinxUARTLite, little_endian_model, true), DEFINE_PROP_CHR("chardev", XilinxUARTLite, chr), }; @@ -214,6 +219,9 @@ static void xilinx_uartlite_realize(DeviceState *dev, Error **errp) { XilinxUARTLite *s = XILINX_UARTLITE(dev); + memory_region_init_io(&s->mmio, OBJECT(dev), + &uart_ops[s->little_endian_model], + 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 +231,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 9d4316b4036..96aed4ed1a3 100644 --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c @@ -107,6 +107,7 @@ petalogix_s3adsp1800_init(MachineState *machine) } dev = qdev_new(TYPE_XILINX_UARTLITE); + qdev_prop_set_bit(dev, "little-endian", !TARGET_BIG_ENDIAN); 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 Thu Feb 6 13:10:41 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: 862509 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp119327wrv; Thu, 6 Feb 2025 05:13:49 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXpHmz3XJ4VGV+pz2MQ47eZGjp69TAoiZnARBCNJwEcVEkbJLNQNt+CM2Ucs5A9mi2Xu1uczw==@linaro.org X-Google-Smtp-Source: AGHT+IH0ZKRhT6RjT0ciAMPiGH1aZysvm3tRD4UJXo/1f3loX6gP/3pJmqE09ttVezejayfbSfnk X-Received: by 2002:a05:620a:319e:b0:7b6:d939:f958 with SMTP id af79cd13be357-7c039ff722cmr864700685a.25.1738847628908; Thu, 06 Feb 2025 05:13:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847628; cv=none; d=google.com; s=arc-20240605; b=UoKA6ARQSl/Df4+z7tqyCfM1CiY8Ny9MyHvgqIp/TAmHcbCfb+WQl2eMjeK48VgDOW mudYor87tQTMlpohkfyTgR4OSbIpYFy/aozLEwosA15WlKa88P7YgmwP5PjatqagRO5R ioouC9TR48bMbfN+oWK/CHKb27bOR+ntuAhvXjYoW4LxDo9PNOmHdvJFKTQHgEBbWR8s Sk8qyO9XOZWOdVoRH3VYMYClUwlWbk0oiJNbgG9E8TQip8HnGM5KaRE7xRBzuw1Y0ti6 48w076XiQPJqh+ISHYh4LoBL4sZ3kC96kcte0aNvQjLUH+r6RRiDfeGutVQjAj7P8FcA JEEA== 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=X20R65gi2tCckItv1V/R89183LZ1ZNOLWFw83d9B9RI=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=TP9Jsu5Nddsj4ORxqRRxQ1+5c15pD959XKynj9g6sbKT04s79vlCEPoN+U1kTX8gxV 8wfOmH9jwshN/XvjF0cyX5a2HFB5TIRaP68jcPbczNc7YbTknk71XMKobq4Uq+m4D9v4 XNPa7SVn4potSZ6ARyNoYl7PG99ZLe174jTF+THbThOl0psr3qFYOhasJOZyXxZyap21 56qEegvXi1tqgSoDSfRjmrmoUfWjoOif/7H+J0Jg2St+viSpGjmZUfAfbYrEJzsWdvJz y3Kyx3hGIRoDErSI97hPa1TVNb26N+KsnCpBn52Q5je10KZRRzPWzXOw+03RV65mbH6D L1hA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZswQIY0X; 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-7c041df4115si115854685a.115.2025.02.06.05.13.48 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:13:48 -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=ZswQIY0X; 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 1tg1fD-000557-Ps; Thu, 06 Feb 2025 08:11:27 -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 1tg1fB-00054Y-GZ for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:25 -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 1tg1f8-000856-7d for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:24 -0500 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-38dbcf418f5so339235f8f.1 for ; Thu, 06 Feb 2025 05:11:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847480; x=1739452280; 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=X20R65gi2tCckItv1V/R89183LZ1ZNOLWFw83d9B9RI=; b=ZswQIY0Xica2E3W2WGNaXzqh+KYYVESzI4FPNjMdT7C7k/xwIr24qFS5FK/Fvyhjuy gF/RoCczIthkE+KGKtf5bJcwj1byLnoaEbelSjoO8zsdSrgG0zJ73yguYrHTzXkkfFdn ttQSNvCQlgZqFXLnhqPYKfFN5JyVuxzMJaZ5UFCuYQT+mk/jIoYD4FNivyxkoa6C9qIC PVm1E4fuCaAo+4epL9XStP7vqz+ebYjktz94/KDkhgpE4wFNfes3L69AadQVIiYkWvte YfdADTlJHHDfgdmAnq3U2B9kh/rQXNJm8k9EwNOLW/5+m2I0jRvfHvwKkdM/+D2U700F QN4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847480; x=1739452280; 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=X20R65gi2tCckItv1V/R89183LZ1ZNOLWFw83d9B9RI=; b=DnEto8oUUwJUlo8cbZchrHQnKfgn8dJueuQGGX+VMRYkzfIO+PS0Y262mKE9BD4xqR EotqyS8ZD5sF/YIs+4rZvqRj/aVTdU+RVpR7Rle0IosbrSqc/Puy626o8OpwPHGshXjY GhP2RSnA5asdxB55I8nUQ2LmRrn9NnTJKNp0Ydp7GFh57l4KrpZMwYUjTHUDU4gDy+rr prxKbdIJ8zvTcc/AZAEMiOyD+L+Qt3cojXpDYZLKUcIB+cQDZlB36XwKz4ininWOj5dA +cmWkf6VxP6YtZuVjlmMILzQbWwu9yXl7atGX+i8sZplix0KeO11oPJptlThl3AUldvX CVMA== X-Gm-Message-State: AOJu0YzxCj07/yXhSOr9Z2K2jGqrE+pejXMdGyrM2pwgk7+keP1/sGOG XGQldSmsYCYZNPr/jIbS+gNrSp+T9GPSoLaYqHsv21PMBNBZkBwGpWL9d3SOz/fRepzqcaIx0VO bN1Q= X-Gm-Gg: ASbGncvY6XgIaaQjrxopELJgqekv9MLnUif/U39Sbw1VLy7YkPGh1N/fyFSmMMzrWWY KdUtdfhyN6PB3CJ2tmafQGNa631OQgR13WqB6OlEW8oDZzAqZgaHplyR/RvkQdZ3iN6KRhPhGNF Fwl88r072rh3/yz8nSlmFeOrkxmxDSf1QR1n+f/DwESBtV3wySB9U72tWGtMcDSlK0C4JqxIHnG tDBVHG4XyqwTdCcer6DHOuFLJTLojH/90FyvPKMkKigSwZ08j2qjEkImzzdJRgnKEGs9kLz5a57 g10wDVEdWf5bwGsdsd3M9/QMVHf45d0TssV2a/rmcgHZXF1NKlRtBrCFLpD00HO25w== X-Received: by 2002:a5d:47a9:0:b0:38d:bcf1:1011 with SMTP id ffacd0b85a97d-38dbcf11476mr1847306f8f.29.1738847479735; Thu, 06 Feb 2025 05:11:19 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38dbde1e034sm1672874f8f.89.2025.02.06.05.11.18 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:11:19 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 05/16] hw/ssi/xilinx_spi: Make device endianness configurable Date: Thu, 6 Feb 2025 14:10:41 +0100 Message-ID: <20250206131052.30207-6-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Replace the DEVICE_NATIVE_ENDIAN MemoryRegionOps by a pair of DEVICE_LITTLE_ENDIAN / DEVICE_BIG_ENDIAN. Add the "little-endian" property to select the device endianness, defaulting to little endian. Set the proper endianness on the single machine using the device. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/microblaze/petalogix_ml605_mmu.c | 1 + hw/ssi/xilinx_spi.c | 24 +++++++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c index bbda70aa93b..a795c6385b4 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_bit(dev, "little-endian", true); 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..299004ff36d 100644 --- a/hw/ssi/xilinx_spi.c +++ b/hw/ssi/xilinx_spi.c @@ -83,6 +83,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(XilinxSPI, XILINX_SPI) struct XilinxSPI { SysBusDevice parent_obj; + bool little_endian_model; MemoryRegion mmio; qemu_irq irq; @@ -313,14 +314,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_BIG_ENDIAN, + [1].endianness = DEVICE_LITTLE_ENDIAN, }; static void xilinx_spi_realize(DeviceState *dev, Error **errp) @@ -339,7 +343,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->little_endian_model], s, "xilinx-spi", R_MAX * 4); sysbus_init_mmio(sbd, &s->mmio); @@ -362,6 +367,7 @@ static const VMStateDescription vmstate_xilinx_spi = { }; static const Property xilinx_spi_properties[] = { + DEFINE_PROP_BOOL("little-endian", XilinxSPI, little_endian_model, true), DEFINE_PROP_UINT8("num-ss-bits", XilinxSPI, num_cs, 1), }; From patchwork Thu Feb 6 13:10:42 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: 862512 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp119464wrv; Thu, 6 Feb 2025 05:14:05 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCX95e/qU9Ivn8CmA83HDXmyO9eSVUTpyrKBxfArTbJkM47Hqa9Z5bWlesIrlkh1owBbv6b21Q==@linaro.org X-Google-Smtp-Source: AGHT+IGgM9CJu33FqImCsJ95iQ+3OU40JOvApNq4hTK49yWES59lMK0z6wnFncYeepS4AcZWPfYF X-Received: by 2002:a05:6122:ecc:b0:515:ed1b:e6dd with SMTP id 71dfb90a1353d-51f0c0c886dmr3890230e0c.0.1738847644909; Thu, 06 Feb 2025 05:14:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847644; cv=none; d=google.com; s=arc-20240605; b=fPTtMJJJFtWlIPKtUJCi120RDd3+3taART+2rMHbx6IwjX/UrzOQ9RZcR3mvLCma52 xuXtz4OBwPZAZ2T0+nEFzjveVHJjcBWUTkHFF8Ggz/QSXfnP8gI9M1gfMND2+wknXVrT Z99+KOT7e5jAHB9LiDYux/o91rT9Sy/cAZv5qcOH9OHvWXpcQoC5QgahTDoGGZdIiPrE 4qQ4Jue9muxHmzTNxXVhETGXvTsq3L6BEFvYudy6i0HXN/QzPhlmRGdDFyf27ekMNYhm oBsxPaM/llRGpg82RMdvKZc74RuWLekHLWlUc9KDk+lsctEgs2HR99NIq1rCHsceKWIv xZHg== 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=r3g08ohEQSqeyZw6xIdCyqqo2uAlLNUZF1ZoGaNfqHI=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=Hp7bW23Kh5LUjbur4LFOxO11xpTusTVLC6f+OICKqEMNeZIK7IiRjCvT4MhCI87Z+u tUyzGnePZk6NVpjURXoKKZCEC4TGNwS5f4+EDHwNPGe2/xEsve2a0DD4lhvoruAkJBZY 3gah3wBfbiFsirLIAQAHfFotdmEKypgFz8xGDpPaIysd7W0aAPyfbV7PtF2uh416DRBc 54I/cabVgFDyAzzRF26c63TSJOdicVEa/lsmAPygo5kw3e7/5heZGRvsujVTZVWlD34W hcX9aTXpNGJu8EGT1ITKfenrvcvoaP+B26pszXMTmL3/l/eooPnTvaPfYXc5CuQus1QG KMXA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=QvmxTOgH; 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 71dfb90a1353d-51f22738119si150430e0c.44.2025.02.06.05.14.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:14:04 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=QvmxTOgH; 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 1tg1fH-00056n-Fg; Thu, 06 Feb 2025 08:11:31 -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 1tg1fF-00055p-Ag for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:29 -0500 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tg1fD-000867-9A for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:29 -0500 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-38da66ce63bso464645f8f.3 for ; Thu, 06 Feb 2025 05:11:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847485; x=1739452285; 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=r3g08ohEQSqeyZw6xIdCyqqo2uAlLNUZF1ZoGaNfqHI=; b=QvmxTOgHTmAnid7oFxuDWaPFcHlU2zS29pjJEd/IT9nt8opTgzn1iM4zLvrB1VJznB eVSyakxaSmy4Jf5KcR7B2pq0YBxjq2Yl2xDUOWUMUHGAtN7hKtYDfMhUPmpkC8hf/p7Q HMReITs2ey6oDclumUerK7ePjvAl39WWfoFS+HMnkLOUL3O1pEzpH3+VcyoTm1xAhsaS sp3+KCo569pTd2Vda9I+PGyODCpvrC/bPXqAl5KVe00PB/R/m7RmynGtVVWoquIqLXD6 LpQ2+4cljAKJFtBCdtIYJvbBWiPxEKCwh8YtpCXRY2FLj7ALuLxCuViQ4KvWxHJgtEkT zsRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847485; x=1739452285; 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=r3g08ohEQSqeyZw6xIdCyqqo2uAlLNUZF1ZoGaNfqHI=; b=Q0oo/odD/LI6wF1DGSTFAlqe0KZrG+ylz0V4PXL7VzarXpQDhGGIXb9jbwo/E9i0/B KaOmJ4FYRH8jzGnTfIzo/uAfNkvGlq+VrI4R6k4RCqUgi9bHvyhHJ3/N/jCuulkd7E2x ByxZ7Rwcf3SiR1nYCq53BmHFdpl9kw+IZm+1amjfudJsVT8HW7l8VskgaSRVLk3kfwYp IO2mwTxD0LQZX6DqDQuwHL9+UUqXCeaVj4tpccSQ2Q+rAsGfY9XqjP9tx2C+7yGCiZMC dcRGzsDrYmiJja2e2PdCcy99KBqZeTo2wBjuBEQr3b77os0s+096I1OY3vPKZPQmWpsz n3Jg== X-Gm-Message-State: AOJu0YxLVCFqVJfBr084fLF3n6d/7qVNBORASJvJBsACj6cGq399ZktI Cx6fIlp9u/wyGPklt20LCPtrKfl7laSXEGWRiweY+OjmqrB9oOT70NdhCuRvT5TvIr6LeIyt+BU M9YU= X-Gm-Gg: ASbGncueRks0EhOqK1lMBUj9Fz3p+XJFxO7nvHTA03osdJ8vo+JE7xs9186VElC2/fY hcVl/swEiqHsr6orn3jwZcBfxm2tmvYv29EuyafzePRbrDKoO7uX2mK40PmJW7xkohsFqcO0lrY JnMAck09Uvm6m7FzyBhae0HlPPdF2SrOiRadEjEwV2k8JfS1EaiZiND9DJEfp3YD/5Iv1P79AvK tTXiWzFx/L2gqsImZG85iDUQ3+VeoZcYfMiByPBFe4IpVYfLhg1VmXwg3Cx96KlQ5cVRWg37xza VkVGkmsPXvgtJudtsC6oZO0nUslffMBIt+lEbAWWXHFjNG1KK17hp4mg2Xomu6p80g== X-Received: by 2002:a05:6000:1546:b0:385:f249:c336 with SMTP id ffacd0b85a97d-38db48db20emr4823198f8f.45.1738847485416; Thu, 06 Feb 2025 05:11:25 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4390d94d685sm54977725e9.13.2025.02.06.05.11.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:11:24 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 06/16] hw/arm/xlnx-zynqmp: Use &error_abort for programming errors Date: Thu, 6 Feb 2025 14:10:42 +0100 Message-ID: <20250206131052.30207-7-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=philmd@linaro.org; helo=mail-wr1-x42e.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 When a property value is static (not provided by QMP or CLI), error shouldn't happen, otherwise it is a programming error. Therefore simplify and use &error_abort as this can't fail. Reported-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Anton Johansson --- hw/arm/xlnx-zynqmp.c | 38 ++++++++++++-------------------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c index bd5b0dd5e76..d6022ff2d3d 100644 --- a/hw/arm/xlnx-zynqmp.c +++ b/hw/arm/xlnx-zynqmp.c @@ -689,16 +689,10 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) * - SDIO Specification Version 3.0 * - eMMC Specification Version 4.51 */ - if (!object_property_set_uint(sdhci, "sd-spec-version", 3, errp)) { - return; - } - if (!object_property_set_uint(sdhci, "capareg", SDHCI_CAPABILITIES, - errp)) { - return; - } - if (!object_property_set_uint(sdhci, "uhs", UHS_I, errp)) { - return; - } + object_property_set_uint(sdhci, "sd-spec-version", 3, &error_abort); + object_property_set_uint(sdhci, "capareg", SDHCI_CAPABILITIES, + &error_abort); + object_property_set_uint(sdhci, "uhs", UHS_I, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(sdhci), errp)) { return; } @@ -763,14 +757,10 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) xlnx_zynqmp_create_unimp_mmio(s); for (i = 0; i < XLNX_ZYNQMP_NUM_GDMA_CH; i++) { - if (!object_property_set_uint(OBJECT(&s->gdma[i]), "bus-width", 128, - errp)) { - return; - } - if (!object_property_set_link(OBJECT(&s->gdma[i]), "dma", - OBJECT(system_memory), errp)) { - return; - } + object_property_set_uint(OBJECT(&s->gdma[i]), "bus-width", 128, + &error_abort); + object_property_set_link(OBJECT(&s->gdma[i]), "dma", + OBJECT(system_memory), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->gdma[i]), errp)) { return; } @@ -811,10 +801,8 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) sysbus_connect_irq(SYS_BUS_DEVICE(&s->qspi_dma), 0, qdev_get_gpio_in(DEVICE(&s->qspi_irq_orgate), 0)); - if (!object_property_set_link(OBJECT(&s->qspi), "stream-connected-dma", - OBJECT(&s->qspi_dma), errp)) { - return; - } + object_property_set_link(OBJECT(&s->qspi), "stream-connected-dma", + OBJECT(&s->qspi_dma), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->qspi), errp)) { return; } @@ -833,10 +821,8 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) } for (i = 0; i < XLNX_ZYNQMP_NUM_USB; i++) { - if (!object_property_set_link(OBJECT(&s->usb[i].sysbus_xhci), "dma", - OBJECT(system_memory), errp)) { - return; - } + object_property_set_link(OBJECT(&s->usb[i].sysbus_xhci), "dma", + OBJECT(system_memory), &error_abort); qdev_prop_set_uint32(DEVICE(&s->usb[i].sysbus_xhci), "intrs", 4); qdev_prop_set_uint32(DEVICE(&s->usb[i].sysbus_xhci), "slots", 2); From patchwork Thu Feb 6 13:10:43 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: 862501 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp118789wrv; Thu, 6 Feb 2025 05:12:48 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWzu2X+nCdR7PDjTAYtTD6By8hm78ut7bcPNa+VR/PO3IpStWoD06/A7wRq8l85/7i4QXln/A==@linaro.org X-Google-Smtp-Source: AGHT+IEbHloW6hnbspaWXH+jLEIRFDzwkDOgb+tdKCrTbsZHLrL8DzXz4ynTG5PP29FxxqzJpx0p X-Received: by 2002:a05:6122:3288:b0:517:167a:5cc6 with SMTP id 71dfb90a1353d-51f0c4d0708mr3627672e0c.6.1738847568538; Thu, 06 Feb 2025 05:12:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847568; cv=none; d=google.com; s=arc-20240605; b=j00cEWP84M6NBpJ/jAxaF7x5TSY0+Uf96n0irMiicm1OZm6LW0Zt86psWhwXjAkk/l lvTbmnSK0MzXKXYWnlvEp6x+nRUTWae60btwhr91uA0eBN+5dTVSgEr0YP+1x56Y0ogI g0BdwXz89n81zW/+7MOhnVTdF6toojZUnZv8OBH+vs3tDAUCIj675JjwTJuJ/yF6l7pN NIQUTXEunF1Gc/8fQ74w2wV1kucteVVyZztiMN/nT0NaUfJPlKdO5Am1ZX5+caLa/t8s QgzAItoNTUGEhtS9FjZbn+y8UCtNb5FobBSGBM2W+j6lRFoggOseAYfiXgqL8ahHwe7R 483g== 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=O4Wc+wPX9caPrybWTx+kUBv1XRxmKkHkBF0nt6GWIO0=; fh=yr00bVLnV7iYVNSWexO0aOtyC2jzRd2HPdRwJdA+ngc=; b=gDdQdBxDUjl1hXmdY62auCF88aoq9eHYpHYNVu9RvwXMopGtMwJScMyRJZgXrc4ZvV 8ifr4sLz9nE5p7Krf3FoUaYeoRSLB6KuA2QDM+tqY42A461hFEV/kcN5v23IAFGkQm3R WTqZ6N9PfTNt2xbIyueMW/smOsQ8Eq3lhbEvNRBjlX+h8sn0OMigjJKJkU5l07WgOWJN bU1RR9ksYps+4OuX4XSHMwjBaF0rFTPtxttvxOyL9vP1t42QVseus7/R4FPrWlKaN5KJ I8xHpbYhDp4uTabylimrPLpa0pq/Zq9+sQiqJLWmbB4czXAwJuEdLuVAqbVAkUNwvKMF n/PQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="C6TN/k7w"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ada2fe7eead31-4ba7765a5acsi185048137.38.2025.02.06.05.12.48 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:12:48 -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="C6TN/k7w"; 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 1tg1fM-00059Q-U2; Thu, 06 Feb 2025 08:11:36 -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 1tg1fL-00058e-KJ for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:35 -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 1tg1fI-00087j-J4 for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:35 -0500 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-38db3a3cf1cso377995f8f.2 for ; Thu, 06 Feb 2025 05:11:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847490; x=1739452290; 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=O4Wc+wPX9caPrybWTx+kUBv1XRxmKkHkBF0nt6GWIO0=; b=C6TN/k7wyJRBUUNtr+JwXDYgT6uQmla4SAQlH9c29e8WyDULavNpTNkUPyeQjClo12 z2YJdnEi0D1J6msyWsZ1ZfjSdKhZBi9Fp49XSaaTSA7wlKxr9DoCBcQRmm+8CpoYNQpY 2TT4lwYGkD+3PYUCj9Guxgn9uirQ8nuAvQO4rG2T5fpG0b4kvh6GGv1R0jqtAb3DzAwY vcwy0osi8eiMb3RGuPP575hu5lzhQoKAxKpzbT9fKcQwt/9WwmN5sAhJeZcBI5E9nbVY ex0ZihQGkSeHywzJXKLvGOP51ekB4KgnBhTsRUoZRp4nB1wY+07dZ4PRg9X6mVlzZ86c lapw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847490; x=1739452290; 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=O4Wc+wPX9caPrybWTx+kUBv1XRxmKkHkBF0nt6GWIO0=; b=Tk48eDCUa+/C7Ne+sWZnRn9oPu55ZXwOJ0cRA9sfwmJzum4ae1gZnIJE/rL+asZ4H2 7PbXt4UrQwXVf4FzIwMdO96vRWJ6i8FH1Tyw/3bP/kookWFFB51oNnxdcRjLv4DmQ2wW cgJPPE11zo6sl4IBigIMgeQ3b3+ystjMX1U5JEs2NNCGP19nOSeLHFLX6fC+QqxVzdC1 skQBuyyC0YWDrYphlHCTjajHAKNj1Od0QrB4nRHREqhKP5VCgqZvgS3eiO81sL7nNjaz 6K5FVS7MQr+7sB2UB8/u3d67enWgUP07f8GJ31odLui2tDmE7M7QYReZ/7UkM1robmSI h34w== X-Gm-Message-State: AOJu0YzQuf9Kjto53YArzHG51edRjxNR1I7Gt+PZRf+wU2Ihmqi8gTZ7 7h3Bo3uJWzSNkl0LuR2oDmVUJouigN4v0jmqClKZSk5WJw42aZqH4u5A7W8xUfx0lDpmGO10G12 awjs= X-Gm-Gg: ASbGncs7UAwWvjSRGiC2XtWS7CrgqX1X+WRaoGCfweoJXg1gY0iU7XN+6bqUtCxIz3a X1a5zdRM3RanNqAFjX8B5aiHW3vLHUfW7t024yx/FqN3OeRqIEQTSWJzK8tCemFzqRH33q0MHbd DAb3XvlJurJAMyvdZA57KVm2eIBoq6xyFWXy3lGVMVIBL+n5kEu0bfGXk16uSEwROJipmEX3vAW AnnQ+lxCs8c7/njPGZCfd+B3DTBM103OjnBk/pdLfrbUtzgmZ/bhP0lWz6q/0DrDGkKcS2pJrvd Iy25oV4arDf/GFgeKfwQ0kdzBo8q5cxwCBeThGMZSriUta6SInaCM19FCjQgSd/ExQ== X-Received: by 2002:a5d:648d:0:b0:38d:b998:1a2c with SMTP id ffacd0b85a97d-38db9981b07mr2650665f8f.34.1738847490504; Thu, 06 Feb 2025 05:11: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-38dbdd539c4sm1677915f8f.42.2025.02.06.05.11.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:11:29 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= , Alistair Francis Subject: [PATCH v5 07/16] target/microblaze: Explode MO_TExx -> MO_TE | MO_xx Date: Thu, 6 Feb 2025 14:10:43 +0100 Message-ID: <20250206131052.30207-8-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-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=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 Extract the implicit MO_TE definition in order to replace it by runtime variable in the next commit. Mechanical change using: $ for n in UW UL UQ UO SW SL SQ; do \ sed -i -e "s/MO_TE$n/MO_TE | MO_$n/" \ $(git grep -l MO_TE$n target/microblaze); \ done Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis --- target/microblaze/translate.c | 36 +++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 24005f05b21..86efabb83b5 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -780,13 +780,13 @@ static bool trans_lbui(DisasContext *dc, arg_typeb *arg) static bool trans_lhu(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_TEUW, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_TE | MO_UW, dc->mem_index, false); } static bool trans_lhur(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_TEUW, dc->mem_index, true); + return do_load(dc, arg->rd, addr, MO_TE | MO_UW, dc->mem_index, true); } static bool trans_lhuea(DisasContext *dc, arg_typea *arg) @@ -798,26 +798,26 @@ static bool trans_lhuea(DisasContext *dc, arg_typea *arg) return true; #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_TEUW, MMU_NOMMU_IDX, false); + return do_load(dc, arg->rd, addr, MO_TE | MO_UW, MMU_NOMMU_IDX, false); #endif } static bool trans_lhui(DisasContext *dc, arg_typeb *arg) { TCGv addr = compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_load(dc, arg->rd, addr, MO_TEUW, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_TE | MO_UW, dc->mem_index, false); } static bool trans_lw(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_TEUL, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_TE | MO_UL, dc->mem_index, false); } static bool trans_lwr(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_TEUL, dc->mem_index, true); + return do_load(dc, arg->rd, addr, MO_TE | MO_UL, dc->mem_index, true); } static bool trans_lwea(DisasContext *dc, arg_typea *arg) @@ -829,14 +829,14 @@ static bool trans_lwea(DisasContext *dc, arg_typea *arg) return true; #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_TEUL, MMU_NOMMU_IDX, false); + return do_load(dc, arg->rd, addr, MO_TE | MO_UL, MMU_NOMMU_IDX, false); #endif } static bool trans_lwi(DisasContext *dc, arg_typeb *arg) { TCGv addr = compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_load(dc, arg->rd, addr, MO_TEUL, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_TE | MO_UL, dc->mem_index, false); } static bool trans_lwx(DisasContext *dc, arg_typea *arg) @@ -846,7 +846,7 @@ static bool trans_lwx(DisasContext *dc, arg_typea *arg) /* lwx does not throw unaligned access errors, so force alignment */ tcg_gen_andi_tl(addr, addr, ~3); - tcg_gen_qemu_ld_i32(cpu_res_val, addr, dc->mem_index, MO_TEUL); + tcg_gen_qemu_ld_i32(cpu_res_val, addr, dc->mem_index, MO_TE | MO_UL); tcg_gen_mov_tl(cpu_res_addr, addr); if (arg->rd) { @@ -930,13 +930,13 @@ static bool trans_sbi(DisasContext *dc, arg_typeb *arg) static bool trans_sh(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_TEUW, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_TE | MO_UW, dc->mem_index, false); } static bool trans_shr(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_TEUW, dc->mem_index, true); + return do_store(dc, arg->rd, addr, MO_TE | MO_UW, dc->mem_index, true); } static bool trans_shea(DisasContext *dc, arg_typea *arg) @@ -948,26 +948,26 @@ static bool trans_shea(DisasContext *dc, arg_typea *arg) return true; #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_TEUW, MMU_NOMMU_IDX, false); + return do_store(dc, arg->rd, addr, MO_TE | MO_UW, MMU_NOMMU_IDX, false); #endif } static bool trans_shi(DisasContext *dc, arg_typeb *arg) { TCGv addr = compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_store(dc, arg->rd, addr, MO_TEUW, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_TE | MO_UW, dc->mem_index, false); } static bool trans_sw(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_TEUL, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_TE | MO_UL, dc->mem_index, false); } static bool trans_swr(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_TEUL, dc->mem_index, true); + return do_store(dc, arg->rd, addr, MO_TE | MO_UL, dc->mem_index, true); } static bool trans_swea(DisasContext *dc, arg_typea *arg) @@ -979,14 +979,14 @@ static bool trans_swea(DisasContext *dc, arg_typea *arg) return true; #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_TEUL, MMU_NOMMU_IDX, false); + return do_store(dc, arg->rd, addr, MO_TE | MO_UL, MMU_NOMMU_IDX, false); #endif } static bool trans_swi(DisasContext *dc, arg_typeb *arg) { TCGv addr = compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_store(dc, arg->rd, addr, MO_TEUL, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_TE | MO_UL, dc->mem_index, false); } static bool trans_swx(DisasContext *dc, arg_typea *arg) @@ -1015,7 +1015,7 @@ static bool trans_swx(DisasContext *dc, arg_typea *arg) tcg_gen_atomic_cmpxchg_i32(tval, cpu_res_addr, cpu_res_val, reg_for_write(dc, arg->rd), - dc->mem_index, MO_TEUL); + dc->mem_index, MO_TE | MO_UL); tcg_gen_brcond_i32(TCG_COND_NE, cpu_res_val, tval, swx_fail); From patchwork Thu Feb 6 13:10:44 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: 862505 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp118963wrv; Thu, 6 Feb 2025 05:13:09 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCU5D7jlLn/Gkgvq83ohypBlaZE/ml5/nCEJ14b+i4nX8Cjo4EzY6V72GPQHsP/Xv7Sg/2XVTA==@linaro.org X-Google-Smtp-Source: AGHT+IFywOTCJZGCa/fKgjyGYlWhLVbWLuahDGC36cRIBNTzpRzym0pqM3gCfw7XxeKLoAALkD5m X-Received: by 2002:ac8:7fc4:0:b0:46d:faa2:b6e0 with SMTP id d75a77b69052e-47028168976mr91104511cf.18.1738847589679; Thu, 06 Feb 2025 05:13:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847589; cv=none; d=google.com; s=arc-20240605; b=PniM4i5xLkeWI4ZP4g/5VCZqWI6J31aNzp9exy+2XuSMQNeJVfEf103nnYMf9ejoHV EMpXYgUuHSliQWStaJOTjOTCsxCTXxozD0BKK2j71+iYvrtmo4xdv4m3HeOUSWmLwCCz ZG6O52Kd4IjaZiwSnGW8QEpWlXQa3wVG2+Wsi15gm1fINaT+IBL3iEweiHtIVZ50mdki aF34MZc/EXWPFv6/G2kYsqENCfI8ybWiwJuO2uIEOhaZi9zQf+yToAlpyixXd6C9oUHh qJm+B9/9IW3JKPadwUBz516hLShuuWE5WIl0ZEknm6EnMb8D1rS7jebxArIIqIUGqCuQ 1fjA== 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=V8KqGQ9zIkCuNT2EkzNy15iA5VEmYGDpqhCWVedzzZA=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=DyKnazpEoOW41BWOaFO6tQx6Mr0w21uEsFgejZuAE8NlctE3hDtuUqMXyspCWLuzyq E7ygkaWz31KybJah/HSkbXrZrcsFROBzHrdLmAvSlHwsVKQ5diuMUtvhCIYajIE2gBf1 RblPKjT5ztmzN1zhgQo7S0sjWs0oCB1tSKCsTLIwtgAjBdNbuotQvS3Uk1nJWskKhdev 073es/wtMi3V44kidq8NlwLoX1mZnpOfcFkKVSKjeKk++o9IOKRt4F7bGWGk3u8e+2RM SPBz383AO4vvuNw2FrX//LOs6ems0RfgVxJXO1y9BV5sJcBImp27OtyZr5FFqS42hC7/ beLg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=EshzQQPo; 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-4714927ba8fsi11026461cf.4.2025.02.06.05.13.09 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:13:09 -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=EshzQQPo; 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 1tg1fS-0005EA-0v; Thu, 06 Feb 2025 08:11:42 -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 1tg1fP-0005C2-9c for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:39 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tg1fN-00088e-At for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:38 -0500 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4361f664af5so9793535e9.1 for ; Thu, 06 Feb 2025 05:11:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847495; x=1739452295; 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=V8KqGQ9zIkCuNT2EkzNy15iA5VEmYGDpqhCWVedzzZA=; b=EshzQQPoPeg8YzMvPK1lpDDOjJ+VGHLSFevlqfRyOJZ6K8gq+FeC4Xotl5HVOdNVd+ Bm3tC6WY4bq5Mu/uhJsc5i+JrHzQqjlCezLTO8YZuzxyZYNnkTeRx0Q4e0EEK0bC00fg FEX0VF6wsJ5r5RqSSvUuP61fiFyWK+BZP3GKUfGjXbGeZccORfJoNbyH1TjsLHf5j+WU 1DfDjlWGxZh14SLFpD91L3iS545BHMV7Fz8JwZYk8ZbN0aF6fkC3GJujojGM6rTpSfGI ts3ZMRYBanj5UqazvhR/s7g+rz9qcuInhpl2y14fyr5TpQQnharurFBi4PqLOnHXc4aX vPxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847495; x=1739452295; 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=V8KqGQ9zIkCuNT2EkzNy15iA5VEmYGDpqhCWVedzzZA=; b=rdARv1NO4Y10J4DYxiZepap0EY7IjiWOAvHJQUI//p5SZ6av0qaJtoVgKO0XmwJNpT q38iRD37KM8DRoaMFReslgBV7ic1PSgqi52iOULEI1u+zKenQDOaVC9CrjwOey7Rt0JP VNtJM9RtV5BTmr4r8zJex6AAtypIG9mQXxJtiymelnlE1Gj4BECkJ3Ui5Hv7Xovy9RJz bGi5QmwG64gO66yi90Jg3inCj9oimi2tpDia9VC31jfAS3Tt9Odwdxd2rjFmnN24aLIo c81eOzprmqkpRZHfvCfWBOvXW2pfOBoblpgs5GSHQAi+fPPKc8nIcJo7CeN8V+GkMooB Disg== X-Gm-Message-State: AOJu0YxZMDDMOPnByOaDaXXJu7n+AhTG9RaSruPj/HbUBuG4CYZbxZiC SERgTYTVLqy4VrkGWx+jFR2bcn9BwbBMMPVsndJFUnPSr0UyILUsAggJsy4qn3ZH19T/1mZE2pE ui/8= X-Gm-Gg: ASbGnctBXcSmeBfrZasd/1ODawcOpfsbFvZNPAHn47QOFuuLf2Tx8Aj/4fynfKDp+mu 63USE3j871Oir9ueHhpeUbetbE6twYrPhXbw3CCO/3iT3ymSRtb+w2SpAFi4Db/hQ+i5qM0H8JI DYqs3rlgslK4GvbV2FROi4OpoWm9HvolSMUpX29APxaM1OzKk6cGdS27wqOv29nWOm+korj7b+A NFthlK7I4cdxWeYbifQ7p5cVpbnfSQYgCoO58BXLk6+nmL+Os74SDGu1Ux6TbCigL9J7mqUGoD4 T9wQ7furAEF/9m3rHMv1s4B5OMZ2pI20zJpsoYhd528XseP1iC3hPK+rWlq9SGeyIw== X-Received: by 2002:a05:600c:83ca:b0:434:f218:e1a8 with SMTP id 5b1f17b1804b1-439133fe7abmr21066925e9.19.1738847495448; Thu, 06 Feb 2025 05:11: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-4391dcb0eacsm18832295e9.23.2025.02.06.05.11.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:11:35 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 08/16] target/microblaze: Set MO_TE once in do_load() / do_store() Date: Thu, 6 Feb 2025 14:10:44 +0100 Message-ID: <20250206131052.30207-9-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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 All callers of do_load() / do_store() set MO_TE flag. Set it once in the callees. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- target/microblaze/translate.c | 36 +++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 86efabb83b5..0d51b2c468c 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -713,6 +713,8 @@ static bool do_load(DisasContext *dc, int rd, TCGv addr, MemOp mop, { MemOp size = mop & MO_SIZE; + mop |= MO_TE; + /* * When doing reverse accesses we need to do two things. * @@ -780,13 +782,13 @@ static bool trans_lbui(DisasContext *dc, arg_typeb *arg) static bool trans_lhu(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_TE | MO_UW, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_UW, dc->mem_index, false); } static bool trans_lhur(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_TE | MO_UW, dc->mem_index, true); + return do_load(dc, arg->rd, addr, MO_UW, dc->mem_index, true); } static bool trans_lhuea(DisasContext *dc, arg_typea *arg) @@ -798,26 +800,26 @@ static bool trans_lhuea(DisasContext *dc, arg_typea *arg) return true; #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_TE | MO_UW, MMU_NOMMU_IDX, false); + return do_load(dc, arg->rd, addr, MO_UW, MMU_NOMMU_IDX, false); #endif } static bool trans_lhui(DisasContext *dc, arg_typeb *arg) { TCGv addr = compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_load(dc, arg->rd, addr, MO_TE | MO_UW, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_UW, dc->mem_index, false); } static bool trans_lw(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_TE | MO_UL, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_UL, dc->mem_index, false); } static bool trans_lwr(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_TE | MO_UL, dc->mem_index, true); + return do_load(dc, arg->rd, addr, MO_UL, dc->mem_index, true); } static bool trans_lwea(DisasContext *dc, arg_typea *arg) @@ -829,14 +831,14 @@ static bool trans_lwea(DisasContext *dc, arg_typea *arg) return true; #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_TE | MO_UL, MMU_NOMMU_IDX, false); + return do_load(dc, arg->rd, addr, MO_UL, MMU_NOMMU_IDX, false); #endif } static bool trans_lwi(DisasContext *dc, arg_typeb *arg) { TCGv addr = compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_load(dc, arg->rd, addr, MO_TE | MO_UL, dc->mem_index, false); + return do_load(dc, arg->rd, addr, MO_UL, dc->mem_index, false); } static bool trans_lwx(DisasContext *dc, arg_typea *arg) @@ -863,6 +865,8 @@ static bool do_store(DisasContext *dc, int rd, TCGv addr, MemOp mop, { MemOp size = mop & MO_SIZE; + mop |= MO_TE; + /* * When doing reverse accesses we need to do two things. * @@ -930,13 +934,13 @@ static bool trans_sbi(DisasContext *dc, arg_typeb *arg) static bool trans_sh(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_TE | MO_UW, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_UW, dc->mem_index, false); } static bool trans_shr(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_TE | MO_UW, dc->mem_index, true); + return do_store(dc, arg->rd, addr, MO_UW, dc->mem_index, true); } static bool trans_shea(DisasContext *dc, arg_typea *arg) @@ -948,26 +952,26 @@ static bool trans_shea(DisasContext *dc, arg_typea *arg) return true; #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_TE | MO_UW, MMU_NOMMU_IDX, false); + return do_store(dc, arg->rd, addr, MO_UW, MMU_NOMMU_IDX, false); #endif } static bool trans_shi(DisasContext *dc, arg_typeb *arg) { TCGv addr = compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_store(dc, arg->rd, addr, MO_TE | MO_UW, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_UW, dc->mem_index, false); } static bool trans_sw(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_TE | MO_UL, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_UL, dc->mem_index, false); } static bool trans_swr(DisasContext *dc, arg_typea *arg) { TCGv addr = compute_ldst_addr_typea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_TE | MO_UL, dc->mem_index, true); + return do_store(dc, arg->rd, addr, MO_UL, dc->mem_index, true); } static bool trans_swea(DisasContext *dc, arg_typea *arg) @@ -979,14 +983,14 @@ static bool trans_swea(DisasContext *dc, arg_typea *arg) return true; #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_TE | MO_UL, MMU_NOMMU_IDX, false); + return do_store(dc, arg->rd, addr, MO_UL, MMU_NOMMU_IDX, false); #endif } static bool trans_swi(DisasContext *dc, arg_typeb *arg) { TCGv addr = compute_ldst_addr_typeb(dc, arg->ra, arg->imm); - return do_store(dc, arg->rd, addr, MO_TE | MO_UL, dc->mem_index, false); + return do_store(dc, arg->rd, addr, MO_UL, dc->mem_index, false); } static bool trans_swx(DisasContext *dc, arg_typea *arg) From patchwork Thu Feb 6 13:10:45 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: 862504 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp118946wrv; Thu, 6 Feb 2025 05:13:07 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUC4p0bcsT+897YogVDyQEKUJ2lSjXiV/ph8h5efeeSNf6vfzBX40rBazvTgc/sb3iCvR1nnA==@linaro.org X-Google-Smtp-Source: AGHT+IF3v1tLb77/kq/CMjLyTG+VAwjFA6Z7FLVhxIsbznjrqu9HN0aVaBQtR3cIIsvP7tCpNAyv X-Received: by 2002:a05:622a:1805:b0:467:6508:2385 with SMTP id d75a77b69052e-470282debeamr77354591cf.34.1738847586707; Thu, 06 Feb 2025 05:13:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847586; cv=none; d=google.com; s=arc-20240605; b=HU19PI/FfCfidvPSkzgS1/gv6+rnlX2nhETnfk2nlahTZj8WPBvx0uKqOKG851ZeNL /uGcyrWDML2v4IUWKm07m6NCMRdpu4G3VNK6y57Hsz6cgPOFIG3zeSHrTY/9TI6Q87kI Q/1OYZOVAyIaFtgr0Fwp4Gi7AqtM2fS4Y9vXmclE96pSYoNHUTRMqjcYA7XtbrcNmskk 2d/vXAJwa5yTwdi1zwFd+si57atFtjC5pGG1enAsaZTUWFsBaNLVA32GttVwdMJOKM+g sWdiMxJuqqZOu3OBTnhVJ/vo5FTPjLS3bCALaaCAxqjv5m0XngG90ohPH1nNBMc+xnhh LyZw== 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=RCLsw1b6jyw8lyUUykKTmpsXr484uY+OOog3P2Qta5M=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=aZ+Izdzu7c9zcQfTPen9IlBMJK9o+xpJbmszoeCmPchNbOY7ggo06XFr9FkGYrLO42 sZ9rumo4buafRmo7H+IYNV4/Vm55xxPZvoqps+YvBc7AfDcRrZ6mMR7fhh4PcvC4qfTc 6rwsU5NiTmpGWyCsNBsoIOkAAQ0p4Q5ap92QRsZ1QlAKOqFfAn4wr8mCWBAc6Ib4grn1 nxYo5bEKk1O354Ds3bcYpS/XRQ0PfSg6v8a6pxEch5bzJrFKeZDVpG+31K8DKQZztKXe KzS/mg/N603aKGjOau5pcj17SW50hdnPanbHT/Kl/anbqol+x5sDdEOuPZkRqUynOTwT X9fw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="J/gMcN0r"; 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-47153b91e71si10752051cf.414.2025.02.06.05.13.06 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:13:06 -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="J/gMcN0r"; 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 1tg1fV-0005Fp-Gp; Thu, 06 Feb 2025 08:11:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tg1fT-0005F4-Vi for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:43 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tg1fS-00089z-EW for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:43 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-43618283d48so6149395e9.1 for ; Thu, 06 Feb 2025 05:11:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847500; x=1739452300; 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=RCLsw1b6jyw8lyUUykKTmpsXr484uY+OOog3P2Qta5M=; b=J/gMcN0rxw7o9NZXkGy2Yq7WbyLOvfDqz9PtSGMpGuNY7/HFFkXgvJ6/mucCL4z1ON bu1q4JnnogYfOLzmqE7vxgHUplnVvIEGeNGnnnsZxJJaoebFgv4n5fJ38Mk/KTLEyPKK 4WVi6+k2nHdWPM5Hg21IxTzdUrlCtRnvkHVwvju1Fc5pl9Aw516qRqjFEyq5OaRRQ/Dt wJ+hzEtqEO4ahzhCBh7/nIyHSyWAXEbeQlFfPzyDxR0pvgZLAnyCkh6DBWKTEiUXVo0I SzqMnmVOFslr9NZ0/elBHerQX2KmyfhSXkaK2I5PVyc4O3qNZJUsHY+Ul3hQavPsv2B9 yJMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847500; x=1739452300; 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=RCLsw1b6jyw8lyUUykKTmpsXr484uY+OOog3P2Qta5M=; b=F7X7MfkCnn7Bkyt3s/NqkR0kgjLmNue+k0rExaqo+5S/CtYCWA07QCP11dxqkkix+c Arc2Df2+d39tLRJwMScGE5QSmsHt2JEX3ZeHxKssItBLnzi/Sp6viqEXXHlB2CaH/F+r qLy3No39fdM8FguEWnOpS/AZUoz11iTeU3YBygDCRxq/2K2RGJPyrGzk1pM0uGGja/0d fx/bAp7wvhi/ZQo2uDB39Ia8I+jOOYKX9Q1yQMIPjenvHh+mVeglAvW6d4hXmdSIhaAX tVRj29xZbDI2UDhVpAw+bzIU0z8aUnQvKJ8Vm6ViWDM9SriaRGeK1BbUcInQxDbCR75u 3PIA== X-Gm-Message-State: AOJu0YzZSbbUlqbQSnF1k2sEq1V6DkAodlQy5TOeueodcZx3uNf4bavH 71ePQ496Caa6UtQLRSuENabAXEACg/JNAL9Ixm07OVnsQhgXgIGo3dmCKDvH7T+nyHLmCv4Wx80 kMBE= X-Gm-Gg: ASbGncvxqBViHFFxo+9g4fhx/nMBwUJ6QNfHFXR2ZxW+ACu78fVHJ7cBTHxCHTUjywo VCqLPt4y06DOFY1r7azsN3xqGAhxw8DfkMst6wWp6PS8BiE5dYyn2MiG5N496n0Y9FsUSAaj52h jeCBkI/aMqengQcOahduVHokr/gM3kgqcodh4yzuLiv9xN+oRLK1sfmkHLK79hcQWHKdATVtLCk uc3VfS1pwZAMEQq/oCLu7Ivdy7Q+/0smvZOYIqng6vzMu6WcuogMvqTicJb6riaQR6WMAV/baKV 3BMDbvYRZVvglzt6g9GQHVaL9Kc6sAk092mf/YnMW9xdgSEMmQJYtr6iLwOuoAvqRQ== X-Received: by 2002:a5d:6d89:0:b0:38d:b7b0:70aa with SMTP id ffacd0b85a97d-38db7b072c4mr4191790f8f.26.1738847500357; Thu, 06 Feb 2025 05:11: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-38dbdd539c4sm1678293f8f.42.2025.02.06.05.11.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:11:39 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 09/16] target/microblaze: Introduce mo_endian() helper Date: Thu, 6 Feb 2025 14:10:45 +0100 Message-ID: <20250206131052.30207-10-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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 mo_endian() returns the target endianness, currently static. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- target/microblaze/translate.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 0d51b2c468c..b5389d65b2e 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -708,12 +708,17 @@ static void record_unaligned_ess(DisasContext *dc, int rd, } #endif +static inline MemOp mo_endian(DisasContext *dc) +{ + return MO_TE; +} + static bool do_load(DisasContext *dc, int rd, TCGv addr, MemOp mop, int mem_index, bool rev) { MemOp size = mop & MO_SIZE; - mop |= MO_TE; + mop |= mo_endian(dc); /* * When doing reverse accesses we need to do two things. @@ -848,7 +853,8 @@ static bool trans_lwx(DisasContext *dc, arg_typea *arg) /* lwx does not throw unaligned access errors, so force alignment */ tcg_gen_andi_tl(addr, addr, ~3); - tcg_gen_qemu_ld_i32(cpu_res_val, addr, dc->mem_index, MO_TE | MO_UL); + tcg_gen_qemu_ld_i32(cpu_res_val, addr, dc->mem_index, + mo_endian(dc) | MO_UL); tcg_gen_mov_tl(cpu_res_addr, addr); if (arg->rd) { @@ -865,7 +871,7 @@ static bool do_store(DisasContext *dc, int rd, TCGv addr, MemOp mop, { MemOp size = mop & MO_SIZE; - mop |= MO_TE; + mop |= mo_endian(dc); /* * When doing reverse accesses we need to do two things. @@ -1019,7 +1025,7 @@ static bool trans_swx(DisasContext *dc, arg_typea *arg) tcg_gen_atomic_cmpxchg_i32(tval, cpu_res_addr, cpu_res_val, reg_for_write(dc, arg->rd), - dc->mem_index, MO_TE | MO_UL); + dc->mem_index, mo_endian(dc) | MO_UL); tcg_gen_brcond_i32(TCG_COND_NE, cpu_res_val, tval, swx_fail); From patchwork Thu Feb 6 13:10:46 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: 862499 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp118746wrv; Thu, 6 Feb 2025 05:12:42 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUgS/+gJMfRg8pwTD9So6Bw1fBHAdkxjBQXvRDCMuyyknT+lO4vdll6qvuRmo4FfrGx387dtw==@linaro.org X-Google-Smtp-Source: AGHT+IFw2uPNtZShtyEBlD44XDTVlESse+N3PrPsMaTg4flhoxFO6BA+fMCcHS9zfKSCOg63Exx/ X-Received: by 2002:a05:620a:254c:b0:7be:7f67:3475 with SMTP id af79cd13be357-7c03a029ad8mr899415785a.50.1738847561715; Thu, 06 Feb 2025 05:12:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847561; cv=none; d=google.com; s=arc-20240605; b=XdHKyqCkTMb/woQ4vwstuNWY63uT5+Y07OnH1WF6NjUl0Mfd0pxDdMYh1UZ+zdOkXA HLTXfPXS/UA8/DpSnZJ7pcnPGVoJCGpvbl1Tu4d1sTfRsP3A6TfVOixg8pEPINdHowlT sZrN6VmFoxruaskDOZA6BGYN6Q8QUe/rJ1TGAyrv2jyTgYhZ74RrQXghsqF1BnbQ2yN6 Zsu2MDt4fdpOwaUTwWxIYRjVb4vFsJPWNXB6OUVTt5I/Q0BBOTIpi+I1wdD553fXbhFj wQ61C7p3lQGJQw5WxiubqWHYSPf7hcWAkEqdq8JLWlGsXC57bG8iyGf/MNzfkMg8/Mw1 +WKw== 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=kVKpviLMTY/xpsQ4Un5x7Zpm8oUwtOVraYJxurTn7aE=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=e8bF/WgiJFZ0Gb7Vu7Gu4VPCfAKEC7XO1sDPfeUk25845wnXi8HlwGYriJn8dkRY6m tQwwtEgaP/kvjcvEsn4nma27zSRNrQPzYGEHIIJ/mzmivPi9GwgUN7RaD14rMChi2p9r cDI9riYsQmycqrrXOdbE5eqNZh/PFb3xtxlRvcvgAhjDVB4iD+rY1X+uH3HzRpw57gnf YzMTHsDDXBXvgIY4COT0M11UTlEx5seXYV0YNInqwDD0Q6T5gUg7OvLAp/p6hG/WZXJ3 yHJ+L00ZVlzViAlrRA57hP0n12xvbE6rsdfUXtxUCB2RgeQ9KLHAgn6rfSbZr4IgNwKb fGPQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="O/rH5PaK"; 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-7c041df47adsi114324385a.46.2025.02.06.05.12.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:12:41 -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="O/rH5PaK"; 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 1tg1fc-0005gZ-CC; Thu, 06 Feb 2025 08:11:52 -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 1tg1fZ-0005UE-O5 for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:49 -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 1tg1fY-0008Bc-0D for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:49 -0500 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-436341f575fso9966805e9.1 for ; Thu, 06 Feb 2025 05:11:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847505; x=1739452305; 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=kVKpviLMTY/xpsQ4Un5x7Zpm8oUwtOVraYJxurTn7aE=; b=O/rH5PaKAAxRes30yKUK3bnXR3DoMWE8Fo9RdQlNKIpYPCyvm9GDEhrRWkWGICB0ed FvuxO/0BhhkUlYkmXmJKwNmS0mJ/p5sIHywpAMlW3EkRbk1Cm8TKhKdb5zag/e8NaGif SXPV2An6t9kBT0inlhC/5RCt2SAZOFS8rmdPJ7owJpb/m8RK9d8a9bh2n7Ejw4+MRsfY dYTX1c4g+nRal+qFRqzBwsjRV3MZSfJB20w1+KjK58DVnDAXENKLi3J+g8n1zK6a61rP 9EUXyj4IKwwkZ7TezI56sReIct/Cda30PQJI6DFwcQczPUCeySmy8SMdbdr7hC4eVzkr VlRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847505; x=1739452305; 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=kVKpviLMTY/xpsQ4Un5x7Zpm8oUwtOVraYJxurTn7aE=; b=hUT5PRn5uvTokdJRK4oP1xlqLTg0FHJrppgEaWaVEFEff5mYEj0SvcRDkqhLCnb5xk srw0UjD+pI+Ddwlmc5dYiVi6LbSp1z+x1ij39JYdHF4pvzppH0a5Ijq8+/H/7hMQevRt vV2rxp7oxYk1aGWeAPISCvRL4w94q+vIJ4adLMyb9tYDZMaeYcQ6X6RJDhZTgVoQ4+z0 zaxDu0ytfQ9s3WWZsg/V9V6UtsZ9TqoRC38JCyITQn84FPrmOVfVL+q+TGpquCJNKvmW xM10izsyQL/xqfODLWhblAFuG9WF07x8264UioSAl7uvrdSL0QHmwMws/UJ8WXGijzJS dnnA== X-Gm-Message-State: AOJu0YwA4KwmH8OiBYUNbZqc5ClGrl7KGWzdfjFRk1MeBf/snQOw58g1 PDhow4GPNKwm8R9NfjfXJxYBcy0gJ5RVUu/0bCYd2LP0U+SQfWkHqSiJUsSdj7sT0Oum7cmbINm bCE0= X-Gm-Gg: ASbGnctT+/MaNlGT72xkothtaN6Cant+pYMb3hRjrkcyEwedm+4WncPWUATBMe/1k9+ fC4ONtojiaz9SyWYS51KwcZ5p9hcAUlskOhUvbXwABiD2WFXrbRDhW34LGol/q3qed1mDmHBHIQ ju5svhxz2otGxfVzgOjjOXkhjmhzvZ4+Y8VIGv2bZ5Yb2qDr8tYsFXVSoEaUzKtdojZAPj38sQD BMfZTxctH0GAHOUlfLFQ4vc6S+af60TfLtrlz9/u6jJt3AbywS3B3JOJljIxGqCAu5r7K4+Da20 yFK4xyLCdcvzushK6TvIR3uhYM9NydBZfAkwUhJn10EWilFUmsxZnjIT/0TUSAO1Ew== X-Received: by 2002:a05:600c:4514:b0:430:57e8:3c7e with SMTP id 5b1f17b1804b1-4390d576214mr59974545e9.28.1738847505262; Thu, 06 Feb 2025 05:11: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-4391dfd84b9sm18709055e9.39.2025.02.06.05.11.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:11:44 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 10/16] target/microblaze: Consider endianness while translating code Date: Thu, 6 Feb 2025 14:10:46 +0100 Message-ID: <20250206131052.30207-11-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-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=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 Consider the CPU ENDI bit, swap instructions when the CPU endianness doesn't match the binary one. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- target/microblaze/cpu.h | 7 +++++++ target/microblaze/translate.c | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/target/microblaze/cpu.h b/target/microblaze/cpu.h index f6879eee352..e44ddd53078 100644 --- a/target/microblaze/cpu.h +++ b/target/microblaze/cpu.h @@ -414,6 +414,13 @@ void mb_translate_code(CPUState *cs, TranslationBlock *tb, /* Ensure there is no overlap between the two masks. */ QEMU_BUILD_BUG_ON(MSR_TB_MASK & IFLAGS_TB_MASK); +static inline bool mb_cpu_is_big_endian(CPUState *cs) +{ + MicroBlazeCPU *cpu = MICROBLAZE_CPU(cs); + + return !cpu->cfg.endi; +} + static inline void cpu_get_tb_cpu_state(CPUMBState *env, vaddr *pc, uint64_t *cs_base, uint32_t *flags) { diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index b5389d65b2e..b54e5ac4b2f 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -710,7 +710,7 @@ static void record_unaligned_ess(DisasContext *dc, int rd, static inline MemOp mo_endian(DisasContext *dc) { - return MO_TE; + return dc->cfg->endi ? MO_LE : MO_BE; } static bool do_load(DisasContext *dc, int rd, TCGv addr, MemOp mop, @@ -1647,7 +1647,8 @@ static void mb_tr_translate_insn(DisasContextBase *dcb, CPUState *cs) dc->tb_flags_to_set = 0; - ir = translator_ldl(cpu_env(cs), &dc->base, dc->base.pc_next); + ir = translator_ldl_swap(cpu_env(cs), &dc->base, dc->base.pc_next, + mb_cpu_is_big_endian(cs) != TARGET_BIG_ENDIAN); if (!decode(dc, ir)) { trap_illegal(dc, true); } From patchwork Thu Feb 6 13:10:47 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: 862508 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp119311wrv; Thu, 6 Feb 2025 05:13:46 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXINPuwzop7BgEg6cl2Ie6IOrSFrWGPM5htXLi76dozRQMabQTQk9jxeQ2ZvAUvC64tpjIU3w==@linaro.org X-Google-Smtp-Source: AGHT+IH/X/yCiZjTEbmuNJH2N9RWOseXBfFobP2Tv3pcGAdrlYQszs8IN5mkv4qd7A5eBWDhRcrU X-Received: by 2002:a05:620a:40c9:b0:7b6:e47a:8e14 with SMTP id af79cd13be357-7c03a016a76mr1136760685a.35.1738847626685; Thu, 06 Feb 2025 05:13:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847626; cv=none; d=google.com; s=arc-20240605; b=REXwNxbZ56MazvF51UBt1h3ErFor9Kg6gD82w9//nbMioGCBzz1M3R0tPC7ExaM6ey et3wxK3vMERgkyy3t1rUylcEZ5HOa8ybbx3k7aSe35QD9zy0fZSrOixQ0Hjiu0ExGqLR eN2EE48yMdpofADkLZSZKHhppEIgJb7jZ9crW7agmGcNke0d9njwzdlI/M+LRyrkG/iy wceFFdnVhjxYBrVG90H+y0mOWf6TP+hE1mycm/SwWKERBU9gRH0jKw+1EqBZK4yywA5r xAu2VXoEX7LHF3GoN/a7WUCIVjde7gZski8mpCkHtye/PYDwgSsKRybEPtTCVv9DOCnC fqKA== 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=Y5yL8FD/exSYKs1rjCaM0CVY1gRhFjhBlCLpvUbDQjM=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=Jwa+HRJhw8c44z6RTXD42DuVW3p33v3Tg2/aD+WQq4mS6y3zBvQpcNwY8rVUgbDpdp SChAJI5Le/opnohh7plZzop0ZgtM6gaxZLHxNaCiJK2ombo9046pYEnvjDG2ifCO0jfg FYNVvUzjV578/f6wRWcb0rfHx+gG6QZhyNy5GPNRxW+bLVEmH9fWcxoFZtl1nVJq2YD1 Pu50/94eI75fuu/OkZEcMJsaHzUfe5unfZXIgMJ/ht0umeMWMY1+/uw3DQHHqaBxCaVs m3lC5PDvuWCAzZ8ueg57015pwyW2bTWS/OWhKEiactUQubBRK/Xoj3OjIAuLX4zPthbJ dv6g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vVR3F3iB; 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-7c041e09fdasi110429385a.142.2025.02.06.05.13.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:13:46 -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=vVR3F3iB; 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 1tg1fm-0005vb-9q; Thu, 06 Feb 2025 08:12:02 -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 1tg1fe-0005jJ-Br for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:54 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tg1fc-0008D4-Aa for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:53 -0500 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-38dae70f5d9so414925f8f.1 for ; Thu, 06 Feb 2025 05:11:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847510; x=1739452310; 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=Y5yL8FD/exSYKs1rjCaM0CVY1gRhFjhBlCLpvUbDQjM=; b=vVR3F3iBasdjciRsJQWA2uKaG/TtfHkLoBXGOoqxQBga6RCwd4Mjg1ZU1Ob5gLDFvX fRB8NHE3LJ3q1+VRi7lmbANARVWYupD88nE5lpjDq+w77bRc6WLvylwyFe2J0CyaC82X jjfCZiZvt3f8q0wdflJmWvBP5FrEqLGZPqhRDFchATvwTH0FbAj5HQq0ykP2ebh2HEpp cdC17g3jMvQdV3CgQq9TWyKcj+X68p1gBU6l9Fc/ejEk9sra7vunYDw29VcphE+/wvXX N3m72f2Cdt1CO/WPnzDX3tNqEf5ndBuxl8VCGFvRUiuZjj1ShLl1speG0z9Qpb6DDbsr 4g7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847510; x=1739452310; 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=Y5yL8FD/exSYKs1rjCaM0CVY1gRhFjhBlCLpvUbDQjM=; b=W2mVHHEBEKsG3RWBBy0T1eiG9xS/l524zf2EtBXBNKSjFcmQRWMMFomgge9EeUsdhp IUzl0ieRoZmwJO0vY048+Zw+0slDcfi2Fz7iqsRtOlzXqHo8XC6FXvlT8gWT9KDz8omN JkM5lcl+qyaBhgNCtVKJozGiQv4QpGbf58m3IGboTInHeVDQWCW44Ph4DQmsxwJ1LA// MZt0fL6R4q7j5cqU8cr/ppD+hBb498lflprtXTs4gJ9etenBeCdjBOkvREBW6UQ5imQN aueGj8cC7iMTYfFxargVGL2sIFRxPp2z70jY/pO1WwXUn8eTQOjAOgIiQYWUmBOKnfGR bQQw== X-Gm-Message-State: AOJu0Yw4chVECv5ZMA7LtiB3XGEfnwAEcb8tZ3TDm2m9VcMWDLiUqQUT 9vZ6SGf8TSsbgHdINJPSIspD+Fm0jLcTS0GzMLK4M2nRK/TcfcoIioFd0f2/lOxSNoZUEH0bjzk oi8U= X-Gm-Gg: ASbGncuvYJcCGYAFZ8Zb9RqdmA8CbNhu8DCwRBfiseryPg6Op9s7TMwzHZCKxe9W7rm CVmELn0KOBb+pIB6vdwgBIIdsAGhd8PCwJGLj2p30XyU58focBbBoIOnLYEsk816cPOZHu/dYvt HugGIBonoDKtR0ENAaQH0bPw9PHg+GkFbNewEWbQ0JybLxSB04hXDdjPbUIi33HHDD9hWs0sxZk 5GvwDMw1HrCgKLRM4AtD48mHhJCwzTJaCFbIWykyIB0enGVUIb/AB/ZS1R5sN7fwUcOWiWr6fnA 1jeb4MyHrPNHZpBcLHVOR+KZi8AvYd/pPTOoBsw3l6M61fQ0wMGOihz/KZlBtGgsog== X-Received: by 2002:a5d:6d8c:0:b0:38d:c2d4:2399 with SMTP id ffacd0b85a97d-38dc2d425admr1321247f8f.41.1738847510203; Thu, 06 Feb 2025 05:11: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 5b1f17b1804b1-4390d94d802sm57701525e9.12.2025.02.06.05.11.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:11:49 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 11/16] hw/microblaze: Support various endianness for s3adsp1800 machines Date: Thu, 6 Feb 2025 14:10:47 +0100 Message-ID: <20250206131052.30207-12-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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 an abstract machine parent class which defines the 'little_endian' property. Duplicate the current machine, which endian is tied to the binary endianness, to one big endian and a little endian machine; updating the machine description. Keep the current default machine for each binary. 'petalogix-s3adsp1800' machine is aliased as: - 'petalogix-s3adsp1800-be' on big-endian binary, - 'petalogix-s3adsp1800-le' on little-endian one. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé --- hw/microblaze/petalogix_s3adsp1800_mmu.c | 62 +++++++++++++++++++----- 1 file changed, 51 insertions(+), 11 deletions(-) diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c index 96aed4ed1a3..aea727eb7ee 100644 --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c @@ -55,8 +55,17 @@ #define ETHLITE_IRQ 1 #define UARTLITE_IRQ 3 +typedef struct PetalogixS3adsp1800MachineClass { + MachineClass parent_obj; + + bool little_endian; +} PetalogixS3adsp1800MachineClass; + #define TYPE_PETALOGIX_S3ADSP1800_MACHINE \ - MACHINE_TYPE_NAME("petalogix-s3adsp1800") + MACHINE_TYPE_NAME("petalogix-s3adsp1800-common") +DECLARE_CLASS_CHECKERS(PetalogixS3adsp1800MachineClass, + PETALOGIX_S3ADSP1800_MACHINE, + TYPE_PETALOGIX_S3ADSP1800_MACHINE) static void petalogix_s3adsp1800_init(MachineState *machine) @@ -71,11 +80,13 @@ petalogix_s3adsp1800_init(MachineState *machine) MemoryRegion *phys_ram = g_new(MemoryRegion, 1); qemu_irq irq[32]; MemoryRegion *sysmem = get_system_memory(); + PetalogixS3adsp1800MachineClass *pmc; + pmc = PETALOGIX_S3ADSP1800_MACHINE_GET_CLASS(machine); cpu = MICROBLAZE_CPU(object_new(TYPE_MICROBLAZE_CPU)); object_property_set_str(OBJECT(cpu), "version", "7.10.d", &error_abort); object_property_set_bool(OBJECT(cpu), "little-endian", - !TARGET_BIG_ENDIAN, &error_abort); + pmc->little_endian, &error_abort); qdev_realize(DEVICE(cpu), NULL, &error_abort); /* Attach emulated BRAM through the LMB. */ @@ -95,7 +106,7 @@ petalogix_s3adsp1800_init(MachineState *machine) 64 * KiB, 1, 0x89, 0x18, 0x0000, 0x0, 1); dev = qdev_new("xlnx.xps-intc"); - qdev_prop_set_bit(dev, "little-endian", !TARGET_BIG_ENDIAN); + qdev_prop_set_bit(dev, "little-endian", pmc->little_endian); qdev_prop_set_uint32(dev, "kind-of-intr", 1 << ETHLITE_IRQ | 1 << UARTLITE_IRQ); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); @@ -107,7 +118,7 @@ petalogix_s3adsp1800_init(MachineState *machine) } dev = qdev_new(TYPE_XILINX_UARTLITE); - qdev_prop_set_bit(dev, "little-endian", !TARGET_BIG_ENDIAN); + qdev_prop_set_bit(dev, "little-endian", pmc->little_endian); 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); @@ -115,7 +126,7 @@ petalogix_s3adsp1800_init(MachineState *machine) /* 2 timers at irq 2 @ 62 Mhz. */ dev = qdev_new("xlnx.xps-timer"); - qdev_prop_set_bit(dev, "little-endian", !TARGET_BIG_ENDIAN); + qdev_prop_set_bit(dev, "little-endian", pmc->little_endian); 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); @@ -123,7 +134,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_bit(dev, "little-endian", !TARGET_BIG_ENDIAN); + qdev_prop_set_bit(dev, "little-endian", pmc->little_endian); 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); @@ -133,26 +144,55 @@ petalogix_s3adsp1800_init(MachineState *machine) create_unimplemented_device("xps_gpio", GPIO_BASEADDR, 0x10000); - microblaze_load_kernel(cpu, !TARGET_BIG_ENDIAN, ddr_base, ram_size, + microblaze_load_kernel(cpu, pmc->little_endian, ddr_base, ram_size, machine->initrd_filename, BINARY_DEVICE_TREE_FILE, NULL); } -static void petalogix_s3adsp1800_machine_class_init(ObjectClass *oc, void *data) +static void petalogix_s3adsp1800_machine_class_init(ObjectClass *oc, + bool little_endian) { MachineClass *mc = MACHINE_CLASS(oc); + PetalogixS3adsp1800MachineClass *pmc = PETALOGIX_S3ADSP1800_MACHINE_CLASS(oc); - mc->desc = "PetaLogix linux refdesign for xilinx Spartan 3ADSP1800"; mc->init = petalogix_s3adsp1800_init; - mc->is_default = true; + pmc->little_endian = little_endian; + mc->desc = little_endian + ? "PetaLogix linux refdesign for xilinx Spartan 3ADSP1800 (little endian)" + : "PetaLogix linux refdesign for xilinx Spartan 3ADSP1800 (big endian)"; + if (little_endian == !TARGET_BIG_ENDIAN) { + mc->is_default = true; + mc->alias = "petalogix-s3adsp1800"; + } +} + +static void petalogix_s3adsp1800_machine_class_init_be(ObjectClass *oc, void *data) +{ + petalogix_s3adsp1800_machine_class_init(oc, false); +} + +static void petalogix_s3adsp1800_machine_class_init_le(ObjectClass *oc, void *data) +{ + petalogix_s3adsp1800_machine_class_init(oc, true); } static const TypeInfo petalogix_s3adsp1800_machine_types[] = { { .name = TYPE_PETALOGIX_S3ADSP1800_MACHINE, .parent = TYPE_MACHINE, - .class_init = petalogix_s3adsp1800_machine_class_init, + .abstract = true, + .class_size = sizeof(PetalogixS3adsp1800MachineClass), + }, + { + .name = MACHINE_TYPE_NAME("petalogix-s3adsp1800-be"), + .parent = TYPE_PETALOGIX_S3ADSP1800_MACHINE, + .class_init = petalogix_s3adsp1800_machine_class_init_be, + }, + { + .name = MACHINE_TYPE_NAME("petalogix-s3adsp1800-le"), + .parent = TYPE_PETALOGIX_S3ADSP1800_MACHINE, + .class_init = petalogix_s3adsp1800_machine_class_init_le, }, }; From patchwork Thu Feb 6 13:10:48 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: 862511 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp119450wrv; Thu, 6 Feb 2025 05:14:03 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWt+Th77bch715/cTdROc8sNnJIVLKtbkFIaMT5ZO5ijTCDT8Jrs3p07bN6xAtXUal9wGEBTg==@linaro.org X-Google-Smtp-Source: AGHT+IEF2N1s85trKlW6jhC5Py/28Z6HxA1ukLSuQB7uCZ8jFxKgeu7hVsYCcJkr5kL6CXxrwOmg X-Received: by 2002:a05:6122:4004:b0:518:8753:34a6 with SMTP id 71dfb90a1353d-51f0c50a8b0mr3923234e0c.10.1738847643267; Thu, 06 Feb 2025 05:14:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847643; cv=none; d=google.com; s=arc-20240605; b=i5hP/uM58MdHeJgBvZLvjGqK3J653uWHedc5IsnlBSiPSEv5jZzwtrwsVgOx621eq4 zOVfWTf7FWIriiqaqBeFJ4pPopFhVq23p/UbK17ZUlbr3MhU8as+xDw6sq1UsKSYkUa0 c71o4QqahWwVlWQuz2M/TN76CfEQYOBI+Rkn4phyjA9VkS4BX5pAnG7TOnGVeBP7ZzAj BEVcJwvfarsRHBxkOxLZh8NyWn4Fe03zUFGKHxuIL11MvgkKnN8YFjmjsOT8KTETPwQu Ove4CiNFr29TtUBxNqNn/LqLfugaQ4/Ig7WytCQobY/pcLKuWhtGSKoi9v55Je+tfMyd qMkQ== 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=2lrz/Z9U2Uf5jpDeQ6Q5rMzyggw9C9+W1C5t50i9qAk=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=TY7/BFp4yx4elVPD4aILtEu6PO/5FUwJmfunBu16tuABbq3NPDppFPPnjsneGtukLH 5FknedmJxv5ZFiDC1LJcKKao75cgYOGV1QKfSCt4CyRZGJ16+wpCLcZhbK83LwYSaRJw 7Ev7LQ08zA3UEdzLP5USjYxtRXiDL5gmDXTvJ85BQgTfyDXYPPBGSN3T5M97LB1njk95 Pql/S5mAbfU8vlFrLcTa9T4dJTvGb7bBBrKXvqrcFxR9qvM9jjlRyChxB3Yb5P/2BgFE D9jzOm+pP79DBJ9tANaNC1uZpppLDP8lvdfJJFdWj5JtpWs8z/TqTWP4/oTCMMtex3qQ uGHg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GQwzIgtA; 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 71dfb90a1353d-51f2296948dsi162177e0c.188.2025.02.06.05.14.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:14:03 -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=GQwzIgtA; 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 1tg1fy-00065x-Dj; Thu, 06 Feb 2025 08:12:16 -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 1tg1fj-0005r2-3e for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:59 -0500 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tg1fh-0008EK-5H for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:11:58 -0500 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-38dbcf418f5so339670f8f.1 for ; Thu, 06 Feb 2025 05:11:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847515; x=1739452315; 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=2lrz/Z9U2Uf5jpDeQ6Q5rMzyggw9C9+W1C5t50i9qAk=; b=GQwzIgtAAYkXR04+4dUt94hxV2Ur+ZcAsEoU8gReSCvMMGenXDFOUozVlWo1ZM0dNK Q4ITZ10nfcLSjyIQ8AQN/ODeq3DgpyoQGYLBQOtAW3wzT9Z3UX+Z66/vSStRb00TsKeq DOlFWX8pEGxtqLYhpt9tuKJISwqXq+uXSj59sOaQo1llZglplllj5DPaSow2UcVbb1gK lhV8lV8KtDti46kAZIRV+2Aqmts4tWm4Elmkv9A/kxIGVwUnI05M56hHNEMpGNHYDizU kP0fiIBfLTMpMmr3LLZ/64HrQg8lCyqTHGRlPv4Z/2tzFjrRSXOOElz7f+WeOGZbABn4 Sh4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847515; x=1739452315; 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=2lrz/Z9U2Uf5jpDeQ6Q5rMzyggw9C9+W1C5t50i9qAk=; b=A2vfQ7NVAR4eE8dYChmqX8d42YUKGnRiNrx77SZSZX49vn7p3IZg0GdPlzmu5DVeX9 5HZ/YAe0QU8ns7LwkVg6zxY4d6U0n8gaL6TKZiEqRe7zC80f62TIzuHCKmfZvXBPZ4s+ wNQYPKn6mu2C4gYhlEOH+wFhd5Dnn25CIzes5YRNbCBcSmWvqeVhAdwT4q8wAYdiy2ON 36o0lLJfAcbYNfu5RL1LKCrOj0gULK6Wh3j8U97kXwpH6OVD3rc/aYXxZeDbNZIXpIlT bvdQZXSKvvcXzEhNnoaexMDZWeQVMJRg+jm/T+BxpfxLtkQ14a6Sy5SQX0ja3we0xT9i qfsw== X-Gm-Message-State: AOJu0YxOc71Dh7Dwf2dufW1qtFI89c2qK0RbxYK/RHc6/GMA7nUWyG0I 0bJkNYdgkgjP8hlgtQ8a2K+pEkqsZuAF1BLqkEmFJ8BxZNU7W5WimrOsjcYcJ8omBgDURPnfOwH kDL8= X-Gm-Gg: ASbGncvjrVFOvnfX0ItpkHjXkwPxmzX+WL2mdoo6C24UrKf+hEohmAJZUtCm1arBjFH 9ZhGwfL5T5yrGm/cGdMFz0eYJoBXSaH+Tfal4CQ3z0VWW6B+tUvclF0IQUdViDW0m8GvammH8/+ v1kRrLxRnh/+mx/yZwmajQ60r9qaXW+Uor6ByVkoz5yh7zLzztj1IwGFtMKTlpReQo/O2jakJW8 LwqGhQbtLfy1tfypbrcFfo3Dwn/n951ELbiEwNY/mANTCpuTQ8VfnYCKMggpmEOBtQJKntY1z4k VojxJnSqTQsGolnjpW6Ha88fYH/eRFtT5z72cAxGq8SRKvP+tF+DCnoPBlA2prFU0Q== X-Received: by 2002:adf:f342:0:b0:382:51ae:7569 with SMTP id ffacd0b85a97d-38db48a9824mr4189755f8f.18.1738847515103; Thu, 06 Feb 2025 05:11:55 -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-4390daf4438sm56023825e9.25.2025.02.06.05.11.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:11:54 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 12/16] tests/functional: Explicit endianness of microblaze assets Date: Thu, 6 Feb 2025 14:10:48 +0100 Message-ID: <20250206131052.30207-13-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=philmd@linaro.org; helo=mail-wr1-x429.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 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 --- 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 Thu Feb 6 13:10:49 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: 862513 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp120292wrv; Thu, 6 Feb 2025 05:15:47 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVOAFd13KimNFWcq6rt49CXHhaOO435Yta3fbbxZYCMUhV2Yds/lIeelflqC5c084iLOpbx7Q==@linaro.org X-Google-Smtp-Source: AGHT+IFOlLr+TnOMRTvb2itWSnsXnqS2/2MyWHOB0mJVmqkxEzoKsOBBtQhS631xtjuytSRMV30Z X-Received: by 2002:a05:620a:f06:b0:7b6:cb4c:10e8 with SMTP id af79cd13be357-7c039f7980dmr772620285a.11.1738847636230; Thu, 06 Feb 2025 05:13:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847636; cv=none; d=google.com; s=arc-20240605; b=YbPzHvJ1RGWr4Pqal3IBjs1RS65rpWtQl0xfHte5dpQupaaGPVovS36EKhLPHxI+F/ jRuGCpxgKeMkZDpskhvxMPH3U6Nu2Ts0r/pVXi4HoNxgANKNoOuWY4q4qqNLuAvoFSrA 26n73mt05El5N8vGvnciGwA1vNf8QEZvf36JZe66WXEp21JdcvalFcRNuWFtLZavCYXt yuggYpjDCIKnWsFMDKdOX6BO7b21KICyufW4M32mrMxgq8QH6Zhk2D2yJLnXvLBj3ycn 3QCARzcot6x4ESN5Q+o8Jr1GY7/R+VPgDvUv/1GQ8Slr2+VyzejNonE1qMS27o1I56ga Phfg== 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=x7ZKmE4pAQbvMAY+EPowVqHDnkT3H+9xilMSzO1l4tA=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=Ss9XhYxZEjBHR7K/KcC2KcIRmUwYtuQbZdB8KUov2aq2lzpRmcMNBGUcgCCIeQ+mRr tAAExgAxcdgOYuO0lqmTZQegzf+004N2MCmGjyTb2nIETVqimxvJPpGqncNbI8OidDfn aFVlA1pQHXaV7XZ2FPybTCEl4UAjUqmJe1EJ+e5/4a2uddoJ0MAk+f3VlF48JlpjAOCO W5B1WbwctaodeRK/Gik2DlSMGq2G+YBN3WAM4AAbSgQybjUg+7WihLmq3h8O0UtZ/nki CkOrjp5ePT9d+cXvOOszTnYbLBjli1NmRHgBKNydrxV8rPkwqZDGEMIsAj2l/PxggedH rsMg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Cg8ZJB3Z; 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-7c041df4493si115735985a.6.2025.02.06.05.13.56 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:13:56 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Cg8ZJB3Z; 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 1tg1g5-0006Qd-4I; Thu, 06 Feb 2025 08:12:24 -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 1tg1fo-0005yl-20 for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:12:04 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tg1fm-0008Fg-2T for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:12:03 -0500 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-43622267b2eso8949725e9.0 for ; Thu, 06 Feb 2025 05:12:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847520; x=1739452320; 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=x7ZKmE4pAQbvMAY+EPowVqHDnkT3H+9xilMSzO1l4tA=; b=Cg8ZJB3ZAbT1fnRhl+okfcm3D1zqZ6pGs+bX9A8bu+PgqDDL7QkRcDcwdz9aQB9uRl FmAaWRbu7ZC/uA6xgNeIQxzyEVNHNJJgVg9fM8tfhmbWn7O3nd4xNWvbFIZlG534bN8w LFrhA3rt1jCbX+rSbcRlQa03AVNQDhmb5idYQXdr8I9qQ8owGqjrI87IjfT3eqmGgx5q Ajyav9/OAWM9ODSdJDmOwqB5CjSe8uAfBXR4GD8NyZX2lB8eYkFS8i3Yx71ak5/j3J1K v/K35iSaBUEqPJYIzkTFP+HrBqKBnA+/CwpvI0Qgp4ia5ZxTefGlE8selObZbe3HAxcS zRrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847520; x=1739452320; 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=x7ZKmE4pAQbvMAY+EPowVqHDnkT3H+9xilMSzO1l4tA=; b=dY+9fNxqhZFkEVz5n5UL8s/j9nmqcNDnUKM+91O8Cc5MuqeRufJiI9g2iQBrwt5QdF qa2j5Zxey9iux9vWfWtUHDfpvrYFnpbiKcI0jrpFaXmj/OaQkDBFPq+QPaRs9Icqtmej 4KaBiI0KbJdep3rp0F1os/4v4wKO85ZF/TxQZ3k4U654GPurbcpoJ5OybpXNppJ9eNsR vgFSq3+btAMsFllhINJWiKd2qXm4UdRgWpQHLz/SdcL0M+yHERPiZP9/tDL5BapJq+xh nGgvSS2CoOXe/eCZGU1Rd6ZtmDWqXPSkBGW4yCxx9hWikIjUpK3GsSzkuvuKPgntpNNH aaUg== X-Gm-Message-State: AOJu0YwjNn3a2xYlxWVNCzl/0/bf+8aYOfoobwIBD5Z0KAZZ9H9hjiEF dOyFfIOiUGjZJdbAD3m87QHPMW3CCDIHbut7cXYlN3wRoJ3Jys6zshQMQry8GERQCeC+cn4kscc K8BE= X-Gm-Gg: ASbGncvaRaHf9joRmo676lu9hjJTS2vJuLIJX2rJ9js1zF5XxyNaEGwc9Jy+kKzafQj 8gkwkuxSVoB4S1qQLyjxxVGvugGjx1Br+AcQFxh13eskI6OVvGR4wHvKqmMWyNVJQuchN9RZW4K DkiHMeXzzfaRrTv91eAcZl7xliokHsiezPUMo/8IeHkzerR+GyW5u8/X0ghB64liOehGGxwmgSF 8bEL6saUKQ0jPAU3iJSnuzKb9b3M7WRplTiZZOqPVH1gvxaSlGT5uJ1nIhklvpvOrjE93l4ZVvo BlxSAGwmfWbpE2jhTwAgYIvoxr94uccfWghF9Yfk7GqLHW/GF4qCtCMIk9TQ14dfzQ== X-Received: by 2002:a05:600c:3b0f:b0:434:e9ee:c2d with SMTP id 5b1f17b1804b1-4390d56c256mr44772755e9.26.1738847519976; Thu, 06 Feb 2025 05:11:59 -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-4391dfc8a4asm19220435e9.32.2025.02.06.05.11.58 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:11:59 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 13/16] tests/functional: Allow microblaze tests to take a machine name argument Date: Thu, 6 Feb 2025 14:10:49 +0100 Message-ID: <20250206131052.30207-14-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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 Make microblaze tests a bit more generic. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth --- 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 Thu Feb 6 13:10: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: 862507 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp119303wrv; Thu, 6 Feb 2025 05:13:46 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCW6GTz5BvHVB5CNdj4GmXo14416mYtelm3HPEztlXU/vi2QxGukxYAh7IgwSUAxXZH1LtvZ3A==@linaro.org X-Google-Smtp-Source: AGHT+IG3fiIWXNQXtclK/zluYVLvqwvdTFZOjudTx5lIbvqEh178vDK+KRVM0PXkecumGgQE2i0T X-Received: by 2002:a05:6102:334d:b0:4b1:1b24:7241 with SMTP id ada2fe7eead31-4ba479470b7mr4143884137.15.1738847626090; Thu, 06 Feb 2025 05:13:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847626; cv=none; d=google.com; s=arc-20240605; b=NqLBxbsPhyoUTovP8wr4JA97M/ABhUTNv0kcL+KEHQPvLTjiauayrPbg06w2a6XUx7 KuNZx10y7vfUCxuEu6c48/ugGUITQi0fyj/kDcDans7uFH2zAuMffDZYItY5oTj/E2OR OsYtCkTfEmOrYIKNPyj5cyKVTJycrambpcFTle4zQ+vLSczOwmlLEwr2q1GcTzHo+GS8 Azo9n+c2oNjnG0rA5n3mX2GPcNUPaqfJ5kqE4QAG69A8esIxJQhUcT0Ws4k9eG9W3yek Am87sY6uo5v5AiQdkvbrQ/0uUvLhs7H5Tqy9CyGt21+NZqmheGmHXyRfZqEWDjp4dtw1 xHuA== 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=Ca93GC7mN6YPt3WWqji2t66DsugWAK2ak9CpDn3N/CI=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=MZuJ1ciG17BrsIfhDZ7IEJgpc6YgNNIGo1GOYJ450grtb27D2kWfnWkvBlbqdBwYeP +V4btFl3M6rkS7Lg0Wy6OYBxkh/x6nR57N69ZEj6L9YYNMvhokvw0cWrJxfA3pq1h9Kx tTj7w0E61XG4eQo3H+dXXpppn4eVKeNjTdLw5pHcsMNRrGd7Op8hsqi8M5Up13yHH5zw L2hKBgL+2snXbxVn010JCDN5yniDbRCKV620mwqdsUO0kt/Icxvo/25oD4VZeO/kmgmp GGZMLWrLdez3N+Bt62oJlJSIniqK3oSdj9FkeLLSOWa1v2C05Qg3vB10IKfC00ZRxKrd XGYg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=RURTQN8c; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ada2fe7eead31-4ba7765ff9csi163295137.89.2025.02.06.05.13.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:13:46 -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=RURTQN8c; 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 1tg1gL-0006kR-TF; Thu, 06 Feb 2025 08:12:38 -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 1tg1fs-00061f-QN for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:12:14 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tg1fr-0008H5-AJ for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:12:08 -0500 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-43675b1155bso9710415e9.2 for ; Thu, 06 Feb 2025 05:12:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847525; x=1739452325; 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=Ca93GC7mN6YPt3WWqji2t66DsugWAK2ak9CpDn3N/CI=; b=RURTQN8ctGT83eS/AVxCTh1cuivsavHE4nwcjcBi26kl/blahsMr3RoFSqr74nVmxy yZjSXeLWTuP6QBuRXNDAagNNspzOfJngGmvnZz28jZkRkrQaMtfxOSRhYsZ6fMm5wQ4s kh2T3sjT2jQGVeWJ72eSUvjsPg1w6nBapRk5uoCZ2ltqV+LTNectb8ZGxGZqETZI4VWw 4go2bRxQcuJ5D9rJnueOzv+Or3130Uld3sENmuPkojKJD70jcgiq8iYvBeFZuweSl8gX 6R50iUXJAg3DNWQdmvgZXMvsv3xPlORd5+AC5IdKu5QWDlwJ8l3BAjgnC4OTkGn9tnWv fqIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847525; x=1739452325; 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=Ca93GC7mN6YPt3WWqji2t66DsugWAK2ak9CpDn3N/CI=; b=dCFGKnvCRZoy8jP99e97JTpDQ4s9hyeU7WpACqG6ZErv9TBD4ptCI1BYj+6f4WZ6OM q5k4z7w8T2aUKM4KmzE7UXfObrQzBO3gHPaARKdXdBDAF3hBzPs7url6Di7ealKXAoXa lUCfVGgYZwFeSa5CZ1belXF6qPRvh2HRthYW8UP0jVwdGw9Hz5lCXH7BxWnSky35DrkX wWBkCl6zr5KIEpanHBA9UVe9kZFg8XolPTBvuAIV4nfB33ddmv39ofip2HwdprEMWkub jHA1LBQNht+SI3bNWQo8SMR3bn4lu0czQg7hNd/YLfNFs8lQxKYWBufyXiN4Mgbo7ZbK 0STg== X-Gm-Message-State: AOJu0YwPHa3YH3cSaIP1w7ch/IoR2mQCFSsR06pd8OxF7hgdBjsp9GZY 6/Y01rUVuTpCsv9fEz1LFFgTB4TJftjP81iEXrXKJxLxRnnml0EtrzvBkp/7jhJnuNLKLjUQ96a XFEA= X-Gm-Gg: ASbGnctKrbk059JtAYaxpAHie72Egv/bFaJKQivhVSYY+D4xDDGZudD1s/iW9b0hzHr ViIUj2cwjqxV0QRvf/qay4gnHsJNsBJZF31Ml8XbRD4fsp1L8iknVMj99L3MMANkLnD0peioJ0X mgZxK/YkfDGxOAG7SYrOeCAIsnSKzP5qb2Z1I2DqHdw1qtzWQqqKTp24PpyT75V77TAAhqrR/LL zCKNn14VCmAbGrho0iLBdAIrPSgjpyicWbP25fGZIooDgtroaz0NvI05AUcj5W273hz86EzEWIp HRNuo5bV9aWgrVYACWupUI2qAoT9My40kDJ0brFmfAqdYuqDeWVZPs58Ke1D9wcvLQ== X-Received: by 2002:a05:600c:3511:b0:434:a202:7a0d with SMTP id 5b1f17b1804b1-4390d569890mr50269095e9.22.1738847524879; Thu, 06 Feb 2025 05:12:04 -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-38dbdd1af14sm1703873f8f.8.2025.02.06.05.12.03 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:12:04 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 14/16] tests/functional: Remove sleep() kludges from microblaze tests Date: Thu, 6 Feb 2025 14:10:50 +0100 Message-ID: <20250206131052.30207-15-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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 --- 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 Thu Feb 6 13:10: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: 862510 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp119368wrv; Thu, 6 Feb 2025 05:13:54 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVmsdT/IOWFhKxUN9dAGkopzzaS2bT11MNMrSv8C7daFGEpg4g2ROy1dXPaAZynB7JkXVqqZw==@linaro.org X-Google-Smtp-Source: AGHT+IGnOFvMftvz3wqx8cBHP86PFPqKndG/s3Q4L6m3igawk0zZpMef5CeTm61hknoUZ/wVdTwo X-Received: by 2002:a05:620a:3197:b0:7b7:142d:53c9 with SMTP id af79cd13be357-7c03a028be6mr1058816585a.53.1738847634487; Thu, 06 Feb 2025 05:13:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847634; cv=none; d=google.com; s=arc-20240605; b=QVrsSSXOTGEBkCo1QE8XyrYa0A7zZ+aVcgW8nO6BSZyzVccrL1voTHO7fFTw8605NT lKv0lUrtBXCW26x23ShJ8ZZY7Kb5pKMGTBKoOtiNIIwl50GEDZcDg/WBN9sn5h5O6Gkj /FNRryXMhnd42nhavEaAUVpIeIMuyrI8QRhT1RgolD5eeTCqI8IZqsZMu79VQ47nZ+tD 21OBxmoBD7HmYHINfJss9iBy8PCacdnSQaREpjGbhg+rQDCwHEsAlQoVOUObUz/aakBm BetQlXmMPIX7HD8AR72zkd1oOrwTyUTjwUhD1sQaL4lQEQPoxHQeTihoes9WgwNhjDCw XkkA== 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=YeunrBTdlxarEESrVvUOHeU40/m+EAzAKhgKeitt+so=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=fBkWxw2WzwqqQmM8ncMchk67Dmtj7hSIUn4zhprN/b14o/top7IRf8yS4TRg23iR+t p23iAFx5Sh/4vqACE5VuEEimbmLCj50at7bEUR+rRQsX1r0WpK3NOo2sCoD1ohqBqAGl l6v/MFtfQnGTmAbO8GTi1rGzzepN034+b4gww0thJPQKijhPI0IPAmRjasrNu1BxJkZP 2cFxHvHXwlCMimZbeIWTD41UAjbYDxm2n+owA1VxK69/giTo5ZztrvwiYIqyK3SMnOll J7jubQLfyfUah9YRxp4hW/M9+LC8qtZK6i/PsATN0DzTdf5hglYOBHjqjSSGOYsSOgJz 4mLQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dss3fVcm; 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-7c041ed03a1si112241485a.469.2025.02.06.05.13.54 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:13:54 -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=dss3fVcm; 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 1tg1gK-0006ju-UF; Thu, 06 Feb 2025 08:12:37 -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 1tg1g3-0006QW-BV for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:12:20 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tg1g0-0008JU-IT for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:12:19 -0500 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-436345cc17bso6253545e9.0 for ; Thu, 06 Feb 2025 05:12:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847530; x=1739452330; 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=YeunrBTdlxarEESrVvUOHeU40/m+EAzAKhgKeitt+so=; b=dss3fVcmHATTQ1/Bp3Wb77WX4Mh7qATOZMRhrok0CI4Y63kkcplkBPlHxT7Y4UZEAH 2ATEZeKct4xC3Ymnd3IN9oxiHR4I30xcVie3b0mnnZ/Nh/f+PYnIcxaJGSowRfuW0B20 gFHJLjShQUbTr+D7b1F3oxfVfAxpFdU3knNPytt8s2b0G5fWM727/VkrbIwLmqyLxGFF AVC53Nf5QV4C+j1JAZdbU/6E3W1AVaL047E35LjdUJgnDH5R2YBApws8vf+uSxXq7ND9 a7gygurW6PiBjBwaoQE90dI9pXCJXt1ccNdqplEOxsIX7lMdmrwtwprZh+Gj0Om+Pe7m cycA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847530; x=1739452330; 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=YeunrBTdlxarEESrVvUOHeU40/m+EAzAKhgKeitt+so=; b=NmM30i0l+CRzICChEEWBk2C2Ko9ogrBsES/mQLiVUStyD3RclfQKjYC31qDEWz9Tls Pg4/eoDib12+OXu77ZhHwi/cXTpM+Jp+9DLLXCl8dVRZu6lvc5C83iVMLNQdt2J4CqcQ a3zL85VX9XZRUDoJvka4I1BA3PfZQbcmbglJDvlonhgxRQOJHcWEkTssGD92CprGvvK9 LYRZ3kFsC+hIVuPHIfq0fgs0IEzNoHDPcV1E7jU2KuOuUSXp3P7bQqgyAFMm2afuMRbn HlIOPFA0V4zm524QLVxj8urKNLzKh0QhQCYutHNl60rSRZBjZZMeuXvo4j38BWE9dRAy f+XQ== X-Gm-Message-State: AOJu0YxAeE3hKIrWteroffgwwJ9Nq0LPpiqY1iZfYixrbuH8FRRyTSdy iXAdU8ahLtWvig+8ee2nxRAdVcRRiaNQ0d/kv5foH2HcMAkLhZj56a7IkM9RdF7ZIQR5IbzCl26 huTA= X-Gm-Gg: ASbGnctlPQhAuAg8P/iEldI8h2qM6vSNoowSIVsDfwHJ+iIWcd0/S5CsCpluGDWcBHJ 06O2lnFNHg7izSemveBHh8umySJPLWnusJmFbC3px9VtZYue2Yxkg0ymxVoSgnKI5nH9NnM5qIm F7JjIS6w4kqwWUL7oVkNqD+kwmRxk20c7hO78C+BDKdiSC4EujlW6G9rG8YSFX9H+AEen67qVWu OyaXrxAysmYhbdiW0I7OSkSBhd+FyXLXu5KbBuHUHnELU1eCCK59D9iPFwVgLaQkdumzFTW5llk r5HSnyXt0FMDHakoa1doP1RbU5DzK5PH5k/Yq0JOxZ4pl5tdO2Fmi/ztf2jNLlQbHg== X-Received: by 2002:a5d:64e5:0:b0:382:6f3:a20f with SMTP id ffacd0b85a97d-38db48a9dcemr5085557f8f.11.1738847529776; Thu, 06 Feb 2025 05:12:09 -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-4391dcb0e92sm18665985e9.24.2025.02.06.05.12.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:12:09 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 15/16] tests/functional: Have microblaze tests inherit common parent class Date: Thu, 6 Feb 2025 14:10:51 +0100 Message-ID: <20250206131052.30207-16-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=philmd@linaro.org; helo=mail-wm1-x32b.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 --- .../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') From patchwork Thu Feb 6 13:10: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: 862502 Delivered-To: patch@linaro.org Received: by 2002:a5d:51d2:0:b0:385:e875:8a9e with SMTP id n18csp118861wrv; Thu, 6 Feb 2025 05:12:59 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWe8+1otc4G70E8FXKO93yym3A/6aC0XX8sDAyvTnZTJJHSFlBxeGB2Syfh45RyRdWM1Grh1g==@linaro.org X-Google-Smtp-Source: AGHT+IECGJnCWvqB/H/C7qT3rxOHOh4QggypsLpa4ETtVYOKnDZbJznLKg2BrHO7o+eWc5CvR6zh X-Received: by 2002:ac8:7fcf:0:b0:466:8f68:a606 with SMTP id d75a77b69052e-470282bffb3mr76884801cf.40.1738847578774; Thu, 06 Feb 2025 05:12:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1738847578; cv=none; d=google.com; s=arc-20240605; b=UnIdshm+NIufA9bjGAzSSiEFfYh4XsTPreOWBPnUKdhaktAZzXG40LWNAAJWyebaQU /wN4wTg9knz/GYedfIPmLTY3AA1qOrea/qvb+h+xbUBl4Is6IW7xPSOFo8TcFOBBGVKC EtrvUUvOdirFLWmDx2CGPu/kYTFhK7+KxlYcGM2WWrbvrqgtkqEii32VxXCXv8A3rA7g CzrR87Oxa98X3T5M9KGeZkqVyll9y7xP27+bng0u2Fb80Po6zwe/Qwx+MIsfUQDJqboc uk3fs+oIbsH0ZPnj6p47G5gFl2R0vJ/Bv4xlVNjgCd31v2+i2TVMSxextizt3k7IpIhk fXwA== 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=hMQdRRrCFa2XKkm20U6l+ugNhicvq3yi9IWDRqRTfeM=; fh=7NsVx5R+L140HvZ0es4udPXCD2KdHoHcZm3kdyNBbE4=; b=i0paihLkZ7u8CRlM8tZgANAe/Omsx5k+JXFWnk80HmYD9lKJ7XFZZihkcdewJgSwVC 4x9bTEfcB8Fzvoj1cvuaI0cB8E6Q8/BH02jlnYLELjJrppejp0hbLAqim/zdhIHTO989 zQ6at+hB7s/mfGOr8jW2DYa/H29JW5M24/qmRIinx0U0ZgpThvH5bmJlUTDsLWilz3xS aVo/Pedyi8fhwrevsLSyjBpOzr6PElN9DNveNbSqegsgo0lddfgyKyea/CG7ttWvxVSg 9HSeTTRxfwtzo0YVTif1DxKCzrusPKzs8Y451Eh1ahlfA4uBWwIgY3l5EqHvuBu0/aq+ GkDQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=A2C8wMyc; 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-47153b92684si10249421cf.425.2025.02.06.05.12.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Feb 2025 05:12:58 -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=A2C8wMyc; 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 1tg1gS-0007Im-F5; Thu, 06 Feb 2025 08:12:44 -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 1tg1g4-0006Sh-VB for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:12:21 -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 1tg1g2-0008Js-Tn for qemu-devel@nongnu.org; Thu, 06 Feb 2025 08:12:20 -0500 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-38daf09d37fso603758f8f.1 for ; Thu, 06 Feb 2025 05:12:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738847535; x=1739452335; 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=hMQdRRrCFa2XKkm20U6l+ugNhicvq3yi9IWDRqRTfeM=; b=A2C8wMycZQ0bisIPP5F3dHfKQOaePUih41hqPFGsuyH5dj8W3B3pZ8iZB1/b2AAFTW JOuKLGoEMWV9+9UXKShghGkuxMVyHV0vEKd3WSr5YJx4PS1I2Q03mQk4yrGlwyXlixYj vpxZoWRdBauUSguwX0z38l2SF0SjTQQchl7wLCQHahocFTy9lZ1GUZn3TO9Oh24jVBCf mpuIbTS+jnKwcs7xYV6cmIaSs2VUHzDqV8YCFxQJQlguAOY5VhI3xl9uFO8yrug1Webu 7gw9NWq8CraectTB401HXFpq9hXNYOPZvUeMO4sPrk5pr8wzEkA4wvONTxwaJYlbb5hu cctg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738847535; x=1739452335; 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=hMQdRRrCFa2XKkm20U6l+ugNhicvq3yi9IWDRqRTfeM=; b=Z27BdNiDcvhKudFN97npHP8nLQ5wKjIKzzQeH2Ffo7TXV7ZdjTiIggTiIX5YpAbCPC O9SaRjrstirCfTC1ruYvLfv0ZrjxTkiEHmoDsx/BX0FUYjA00ElzRXzGaG6oz12seE7Y G5dAu9JgwWkHrbWpqQbhQ/vldWylnxosZYyLqMtjNdVbmxlMNGVxKysUN4NopuvlOod2 iwf7eoCSXRx57GBlAgfLRw7K6+i0gYBe+V5YxekjWKTHuMj/+nqUh/Qtjc0sOWYGGb8E rQ26ivPtYsL125zmmpbZykZ8xRkIc/XeG+HrVM89diaGGycWt7Wq/xmdlaUcr/bgfGKR utyg== X-Gm-Message-State: AOJu0YyNZGKyOXqwUAW6peK0CZnVYQTU2NwdyvkM5x7c10R4P3Ld/O9K yQOc/8kvavvVxKXH1k8pCgieDhMT+rBeuWp4CHIm4NXBoGMGAiIUOOy6pCWM6fPFnV+54Uu56wt w2C0= X-Gm-Gg: ASbGncv7KVKWtxGTGIKJes7H9VYXfAev+0r/zcesTi+78WJwJCT1DpK+MIHjf+p5REP qLi2MKpTtd/a8IEBTwBllgeoppcmCwCP/rvtRFOgE6S0rfY5At5q1+LbpJe9JjJa+nih1Uvzdxh E6kMGvbn1Y+urv3WHCtcVxVVtdTFj8DLfsbYjOPICex4WLcjC7bM0GvoIVc/g1jgCgV8YWFJNeV PdLCmvGg0ibVGT+P400L7wJKvK6O985vWFKhYAwfDbsKcQjvrN0nqM3GFPuOw0g07i/vqJb42SM hHKdo7MifX81WjFrxNtRAYk9khcvqiEKhgp3VRvisEx1gMuUwFqFmqvXr0JQ7rnU6Q== X-Received: by 2002:a05:6000:402b:b0:38d:baf7:8d3a with SMTP id ffacd0b85a97d-38dbaf796f2mr2396029f8f.7.1738847534724; Thu, 06 Feb 2025 05:12:14 -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-38dbde0fd18sm1712274f8f.72.2025.02.06.05.12.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 06 Feb 2025 05:12:14 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, Anton Johansson , Jason Wang , Paolo Bonzini , Alistair Francis , Thomas Huth , Richard Henderson , Peter Maydell , "Edgar E. Iglesias" , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PATCH v5 16/16] tests/functional: Run cross-endian microblaze tests Date: Thu, 6 Feb 2025 14:10:52 +0100 Message-ID: <20250206131052.30207-17-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250206131052.30207-1-philmd@linaro.org> References: <20250206131052.30207-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 Ensure microblaze machines can run cross-endianness by running all tests on all machines. Reviewed-by: Thomas Huth Signed-off-by: Philippe Mathieu-Daudé --- tests/functional/test_microblaze_s3adsp1800.py | 6 ++++++ tests/functional/test_microblazeel_s3adsp1800.py | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/tests/functional/test_microblaze_s3adsp1800.py b/tests/functional/test_microblaze_s3adsp1800.py index 177c8a685bc..c18b132ff5f 100755 --- a/tests/functional/test_microblaze_s3adsp1800.py +++ b/tests/functional/test_microblaze_s3adsp1800.py @@ -60,5 +60,11 @@ class MicroblazeBigEndianMachine(MicroblazeMachine): def test_microblaze_s3adsp1800_legacy_be(self): self.do_ballerina_be_test('petalogix-s3adsp1800') + def test_microblaze_s3adsp1800_be(self): + self.do_ballerina_be_test('petalogix-s3adsp1800-be') + + def test_microblaze_s3adsp1800_le(self): + self.do_xmaton_le_test('petalogix-s3adsp1800-le') + if __name__ == '__main__': QemuSystemTest.main() diff --git a/tests/functional/test_microblazeel_s3adsp1800.py b/tests/functional/test_microblazeel_s3adsp1800.py index 56645bd0bb2..b10944bbb0c 100755 --- a/tests/functional/test_microblazeel_s3adsp1800.py +++ b/tests/functional/test_microblazeel_s3adsp1800.py @@ -16,5 +16,11 @@ class MicroblazeLittleEndianMachine(MicroblazeMachine): def test_microblaze_s3adsp1800_legacy_le(self): self.do_xmaton_le_test('petalogix-s3adsp1800') + def test_microblaze_s3adsp1800_le(self): + self.do_xmaton_le_test('petalogix-s3adsp1800-le') + + def test_microblaze_s3adsp1800_be(self): + self.do_ballerina_be_test('petalogix-s3adsp1800-be') + if __name__ == '__main__': QemuSystemTest.main()