From nobody Fri Apr 3 16:05:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284775; cv=none; d=zohomail.com; s=zohoarc; b=AIKY5Y9llkQbhNK2ptR6miPJtH/kJv97OhpAzeIPDJQ9LSo8p7dJZs9JW3C5kjLuOHGAMhyDQhKyVWxTp7aNmE/S10oWs0eMX0dlFyqstmdP0I9WcX61FHplgIGUyzgblZQ0CPRo/fFj/gkTQBl3bIkEOA49ITCXbKKXXqqMGoE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284775; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=/9xlo3DkgERVht39wnMqkq+rDYCD0wv9BKJFxhIWcEo=; b=TaXWXtNZGQ4LYn0WqzFgmTVQG6G3a7A3c0AMQY+LUQj70m2XTIaORftaSeFlXkhOHLZKKyIxEzDxp0jrUxSmRBmBR4b4u6uEEpMNNdvDuSFLKDvYQOChbb/kT0fHUAQCPWXubfEdrGTCga/lJ7hQc37E2Q/Soytos2ZsX0DVSSw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284775692476.3982459271957; Mon, 23 Mar 2026 09:52:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iW0-0001MH-KA; Mon, 23 Mar 2026 12:52:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iVz-0001M6-2n for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:52:31 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iVx-0000SC-7v for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:52:30 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-4853e1ce427so31644805e9.3 for ; Mon, 23 Mar 2026 09:52:28 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486fe032a55sm561676355e9.7.2026.03.23.09.52.26 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:52:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284747; x=1774889547; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=/9xlo3DkgERVht39wnMqkq+rDYCD0wv9BKJFxhIWcEo=; b=NoatmngrbjRQP9M0QWgB5lftYVGNyQ7sENF/VesqMS8Ak4nb/zX4q9CNV38l4Zhs8s dJta2StBT8cm5bhI8eRBU/3DtH7MI3Bp0niK3BY0kr1wmDrShDM/QtDUb5EBMx6m5Ptg 1vnmxVAu1Njl/fnDecvbVG7t2HiiBdh/IhADOpx/tx8er0nsDMr8QTM2g7jrOPy3TrHB 4IUUtEvzxap7ezqGq2hsJ7iCxGzrHp66qXgl41b26Ag2t27cvo+TKaRABJ1Vl2ul2U1A Sa300s2NsgH1vxl2cSUEWiZyNqYwCJr3NuhWKv5gEi6PQwuEuUhkVZ8+RvTgjEmv2TO7 2HoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284747; x=1774889547; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=/9xlo3DkgERVht39wnMqkq+rDYCD0wv9BKJFxhIWcEo=; b=CHNWGKybPCw+xoNOzSrrT5eBhhxUQsNk6rYhGV7otPj2ukVdShGXOhgDNPBPxq8CLW XZyp+CYywfavDSJUFGCLYWBjs+g1m+FMncC2SQDCpqz24q+h7OhjxSPXff5b+IkCpSN2 BV14ig+bO6hPNwfMjiNiymSMLkhyjeGM9fYOSQKg2F0bZM7/br0nywhOmpwqH2U9MGFa dD+pyjn6F46Wy42qMvhQotzm0ALBDIXGjWtyjek7v2zhuyO49GR4RIMz8z1v+o12BK3b YTp/PKqJUoVvdmX5Y6le+pNcNlYG2B8xkgOkZnTygBNgVsFp1GITvqV9kbjX4haOm/CU f11A== X-Gm-Message-State: AOJu0YxcajaKAabs6zyhB1j8M8ZIoCj2IvQwy1eEqFOre1zn9bnwSnKT ME0c9cQgo4doxtR109L2qWWCaLbS6CV0nRgnkmmXj8jMHFWVEGLd3CY5HQqW7yX8fRwIM+AxWNP Mh7UR4hY= X-Gm-Gg: ATEYQzyLyKWp1Wj0Eo6ECtelQMKWZ4umB6vWp9YrkI9vF37hh1uKU7OHVKzl/NCxFK4 gvY779b4TVKKGdDEoG8OhBYhOzdA57JpqI4a1JbkvJZ5ADwWVjqsa0xWhvxzWj5yUiDf3hYC66p ZZwacxnltmdwTp6So67/w6SgQuJKEY1bnNaicNXff5rJ3KI9AYUSqG+FK2SEc+Z7I5Hfmj7rQ5L S+sHp+JOke9ewLGtDeDM5yRYLSTnKgYIbSUPpQX+7Aiuh5EqSTL2PLx9QMAp3BYqjIW52Xdl3/G qpe/gZzPnMWlKf2md/Pk9n56PiqdFxHo9kdsf3XdTzlO7NL1mVEDC3pLw3jKd0qp+/D/eVFaMyW POA4SSLccmomnCmCzqsWh8D4avfakUeNz+CodpEpx02bgUeuaPqF/7Kp/PXfNX1Hcn+b3UuqW+6 DxuKqDvK8CcUUiK3QClVwEZ03zCJCHeCiFtP4myhjRe2kfgIWDETnhULGUbA7flngBjdFqUVQN X-Received: by 2002:a05:600c:45c7:b0:485:3fd1:9936 with SMTP id 5b1f17b1804b1-486fede721amr166888905e9.5.1774284747041; Mon, 23 Mar 2026 09:52:27 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 01/27] hw/riscv: Mark RISC-V specific peripherals as little-endian Date: Mon, 23 Mar 2026 17:51:52 +0100 Message-ID: <20260323165218.96607-2-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284778045154100 These devices are only used by the RISC-V targets, which are only built as little-endian. Therefore the DEVICE_NATIVE_ENDIAN definition expand to DEVICE_LITTLE_ENDIAN (besides, the DEVICE_BIG_ENDIAN case isn't tested). Simplify directly using DEVICE_LITTLE_ENDIAN. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-Id: <20260318103122.97244-2-philmd@linaro.org> --- hw/char/ibex_uart.c | 2 +- hw/char/shakti_uart.c | 2 +- hw/char/sifive_uart.c | 2 +- hw/misc/sifive_e_aon.c | 2 +- hw/misc/sifive_e_prci.c | 2 +- hw/misc/sifive_u_otp.c | 2 +- hw/misc/sifive_u_prci.c | 2 +- hw/riscv/riscv-iommu.c | 2 +- hw/sd/cadence_sdhci.c | 2 +- hw/timer/ibex_timer.c | 2 +- hw/timer/sifive_pwm.c | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/hw/char/ibex_uart.c b/hw/char/ibex_uart.c index 127d219df3c..26ed1aea140 100644 --- a/hw/char/ibex_uart.c +++ b/hw/char/ibex_uart.c @@ -470,7 +470,7 @@ static void fifo_trigger_update(void *opaque) static const MemoryRegionOps ibex_uart_ops =3D { .read =3D ibex_uart_read, .write =3D ibex_uart_write, - .endianness =3D DEVICE_NATIVE_ENDIAN, + .endianness =3D DEVICE_LITTLE_ENDIAN, .impl.min_access_size =3D 4, .impl.max_access_size =3D 4, }; diff --git a/hw/char/shakti_uart.c b/hw/char/shakti_uart.c index 2d1bc9cb8e2..d38920a03a0 100644 --- a/hw/char/shakti_uart.c +++ b/hw/char/shakti_uart.c @@ -103,7 +103,7 @@ static void shakti_uart_write(void *opaque, hwaddr addr, static const MemoryRegionOps shakti_uart_ops =3D { .read =3D shakti_uart_read, .write =3D shakti_uart_write, - .endianness =3D DEVICE_NATIVE_ENDIAN, + .endianness =3D DEVICE_LITTLE_ENDIAN, .impl =3D {.min_access_size =3D 1, .max_access_size =3D 4}, .valid =3D {.min_access_size =3D 1, .max_access_size =3D 4}, }; diff --git a/hw/char/sifive_uart.c b/hw/char/sifive_uart.c index 4c30fbf5685..b4de662d616 100644 --- a/hw/char/sifive_uart.c +++ b/hw/char/sifive_uart.c @@ -236,7 +236,7 @@ static void fifo_trigger_update(void *opaque) static const MemoryRegionOps sifive_uart_ops =3D { .read =3D sifive_uart_read, .write =3D sifive_uart_write, - .endianness =3D DEVICE_NATIVE_ENDIAN, + .endianness =3D DEVICE_LITTLE_ENDIAN, .valid =3D { .min_access_size =3D 4, .max_access_size =3D 4 diff --git a/hw/misc/sifive_e_aon.c b/hw/misc/sifive_e_aon.c index e78f4f56725..ff2a7c18235 100644 --- a/hw/misc/sifive_e_aon.c +++ b/hw/misc/sifive_e_aon.c @@ -250,7 +250,7 @@ sifive_e_aon_write(void *opaque, hwaddr addr, static const MemoryRegionOps sifive_e_aon_ops =3D { .read =3D sifive_e_aon_read, .write =3D sifive_e_aon_write, - .endianness =3D DEVICE_NATIVE_ENDIAN, + .endianness =3D DEVICE_LITTLE_ENDIAN, .impl =3D { .min_access_size =3D 4, .max_access_size =3D 4 diff --git a/hw/misc/sifive_e_prci.c b/hw/misc/sifive_e_prci.c index 400664aabae..a4a60e7b406 100644 --- a/hw/misc/sifive_e_prci.c +++ b/hw/misc/sifive_e_prci.c @@ -75,7 +75,7 @@ static void sifive_e_prci_write(void *opaque, hwaddr addr, static const MemoryRegionOps sifive_e_prci_ops =3D { .read =3D sifive_e_prci_read, .write =3D sifive_e_prci_write, - .endianness =3D DEVICE_NATIVE_ENDIAN, + .endianness =3D DEVICE_LITTLE_ENDIAN, .valid =3D { .min_access_size =3D 4, .max_access_size =3D 4 diff --git a/hw/misc/sifive_u_otp.c b/hw/misc/sifive_u_otp.c index 7205374bc39..cececd4f7a8 100644 --- a/hw/misc/sifive_u_otp.c +++ b/hw/misc/sifive_u_otp.c @@ -187,7 +187,7 @@ static void sifive_u_otp_write(void *opaque, hwaddr add= r, static const MemoryRegionOps sifive_u_otp_ops =3D { .read =3D sifive_u_otp_read, .write =3D sifive_u_otp_write, - .endianness =3D DEVICE_NATIVE_ENDIAN, + .endianness =3D DEVICE_LITTLE_ENDIAN, .valid =3D { .min_access_size =3D 4, .max_access_size =3D 4 diff --git a/hw/misc/sifive_u_prci.c b/hw/misc/sifive_u_prci.c index f51588623ab..4674d5925ea 100644 --- a/hw/misc/sifive_u_prci.c +++ b/hw/misc/sifive_u_prci.c @@ -112,7 +112,7 @@ static void sifive_u_prci_write(void *opaque, hwaddr ad= dr, static const MemoryRegionOps sifive_u_prci_ops =3D { .read =3D sifive_u_prci_read, .write =3D sifive_u_prci_write, - .endianness =3D DEVICE_NATIVE_ENDIAN, + .endianness =3D DEVICE_LITTLE_ENDIAN, .valid =3D { .min_access_size =3D 4, .max_access_size =3D 4 diff --git a/hw/riscv/riscv-iommu.c b/hw/riscv/riscv-iommu.c index 225394ea838..c3c9ed6469a 100644 --- a/hw/riscv/riscv-iommu.c +++ b/hw/riscv/riscv-iommu.c @@ -2375,7 +2375,7 @@ static MemTxResult riscv_iommu_mmio_read(void *opaque= , hwaddr addr, static const MemoryRegionOps riscv_iommu_mmio_ops =3D { .read_with_attrs =3D riscv_iommu_mmio_read, .write_with_attrs =3D riscv_iommu_mmio_write, - .endianness =3D DEVICE_NATIVE_ENDIAN, + .endianness =3D DEVICE_LITTLE_ENDIAN, .impl =3D { .min_access_size =3D 4, .max_access_size =3D 8, diff --git a/hw/sd/cadence_sdhci.c b/hw/sd/cadence_sdhci.c index d576855a1a8..8476baf67fb 100644 --- a/hw/sd/cadence_sdhci.c +++ b/hw/sd/cadence_sdhci.c @@ -122,7 +122,7 @@ static void cadence_sdhci_write(void *opaque, hwaddr ad= dr, uint64_t val, static const MemoryRegionOps cadence_sdhci_ops =3D { .read =3D cadence_sdhci_read, .write =3D cadence_sdhci_write, - .endianness =3D DEVICE_NATIVE_ENDIAN, + .endianness =3D DEVICE_LITTLE_ENDIAN, .impl =3D { .min_access_size =3D 4, .max_access_size =3D 4, diff --git a/hw/timer/ibex_timer.c b/hw/timer/ibex_timer.c index ee186521893..0f12531934d 100644 --- a/hw/timer/ibex_timer.c +++ b/hw/timer/ibex_timer.c @@ -234,7 +234,7 @@ static void ibex_timer_write(void *opaque, hwaddr addr, static const MemoryRegionOps ibex_timer_ops =3D { .read =3D ibex_timer_read, .write =3D ibex_timer_write, - .endianness =3D DEVICE_NATIVE_ENDIAN, + .endianness =3D DEVICE_LITTLE_ENDIAN, .impl.min_access_size =3D 4, .impl.max_access_size =3D 4, }; diff --git a/hw/timer/sifive_pwm.c b/hw/timer/sifive_pwm.c index 780eaa50799..4f4f566cd4b 100644 --- a/hw/timer/sifive_pwm.c +++ b/hw/timer/sifive_pwm.c @@ -388,7 +388,7 @@ static void sifive_pwm_reset(DeviceState *dev) static const MemoryRegionOps sifive_pwm_ops =3D { .read =3D sifive_pwm_read, .write =3D sifive_pwm_write, - .endianness =3D DEVICE_NATIVE_ENDIAN, + .endianness =3D DEVICE_LITTLE_ENDIAN, }; =20 static const VMStateDescription vmstate_sifive_pwm =3D { --=20 2.53.0 From nobody Fri Apr 3 16:05:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284779; cv=none; d=zohomail.com; s=zohoarc; b=UsQA8qSMVmVtOfN8x+5RxxJ6W61TTXl6o3mouFJS1PT2vMqtV0k7PuvthRFTxfHZfPjF6UIprvgDHZcS7gYs5qqE9jz6FwHy2UNxINhxx9tTtsOSdAwjay4WQZRmn3CLk3Hkpn9zE8pnyQsQpV81EElVfT7uJutPXMEU3GBJKCk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284779; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=CAevgdd/811+4PMNTmxklyJ0NzddPJDt1FLri2SnKSU=; b=UzbWeHaXwPbYIkryHUX+pxtkuY6ylP1hQr5quRFs0UHiyEovTGgi3DUPFUKop4Tf1k7TXBDrMgk868qJPaUsH1PP8vd7Or5X2L+kTUFzEppUbNLvdfLlU8i5q4EZVmFFkdnjMmS3O5oJZZNc9CfL2AZ/Es3ymrJH1fO3Z75yAO4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284779296573.1465074584513; Mon, 23 Mar 2026 09:52:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iW9-0001OR-AB; Mon, 23 Mar 2026 12:52:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iW5-0001No-CO for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:52:37 -0400 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 1w4iW3-0000Sl-Q1 for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:52:37 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-48541edecf9so3187545e9.1 for ; Mon, 23 Mar 2026 09:52:35 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486f8b949e1sm600911165e9.9.2026.03.23.09.52.32 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:52:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284754; x=1774889554; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=CAevgdd/811+4PMNTmxklyJ0NzddPJDt1FLri2SnKSU=; b=rJhy2WimQB9NNvXfsMkM1g+aqB/9W7FI9SZsMZKr5rDYqZic0mj1gaBlRIPx8FpYUp +PwPZ5XVZnXFfhTOxlDf6VuxI9ZI+II4TIc1XDQSUOcFqnp1rNhUhUvxZCYaFj05jk2/ C79heqMCIzAcMxPaJWrgToxDJioeYl78yUtv7Oc0FOxl0EfnteY3As14JBuaHM/Mlr2P Q0DZ/+ekiFoTZHye73dFJ0ho5bSNNCrSpKwgS1kS2uxP2IIcG6MQqxdDhv+JheOK3Vjn Y/iddpkORH5gzvVWM9h6paRKRrhWSmqWzyrjHTYIyPFP/oDDdOyYG6gPKZynys2WWt9q L52Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284754; x=1774889554; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=CAevgdd/811+4PMNTmxklyJ0NzddPJDt1FLri2SnKSU=; b=E0wENm5lp2kNLefORlJAp91sldvXhHxr+vSQjWGKOnNB9cEplZNvgD0K6SEq4L2rSu 4WHORVzE1q1AYIUwFv5KSLtW4Wh/binqJdPMYmhbk1f1ldqaeuY49w71XJRIsVWHNt+H WgrGiKAoW6u3eHyXadzXpjmyWKPHnkF5gS9Cblv0gLAw1UoiO6qc9m+UZWvAZ7TeOVPH wKwdjwRmO3i1vuGeifxt3sWWD3sTILwZOWIQxVFlSBRPiZA7RJk6sOTCUYDEh5mEMjRw jbQTfFvJMsioe8dUiedVd2IQ8cwoxAJCs7Ec+2UFrvGh/ADt3GLQdLh5ZrfomLoeMn+I kymA== X-Gm-Message-State: AOJu0YwlwnOFBOWS/FFfGE19L8mRdxZ4SJxIvE/FjfN4Qa8est0aalsM tZqtKBnJcfsIa8adCkmaf2q0chnJWYrbs5JAIkJS6YIqawTUNZBKpP6AlR3OwfYKxp+dWhOTBqS ODiZ7j8M= X-Gm-Gg: ATEYQzwdj+5LE8giX6J2chI8qiGmorO9wc0G8I3HjjOlNJVju/EGb1BMi9Io3jLiKUe aM1/L49xrD3YnALQhWBw/c88H5bPufdhJ9EWoWi50/DOrYR3awCfTm04V2lZNLr+F2/ukAzXVB4 L4N7wxnVuW1x/+om7Wd9PRHn3LrqImOxwGel10FtCloUqoBFH7MVXGlLXZ1CH0EyXWFId02t3KS N/iAGtvnZOZ09SjC/d5C2c7xkIQlAHecz5YNsZ65koBib8xclQyroZt46tfEIJMB0a1hasZZiV6 eA8oFmEDLnuINvqlIorOzdcBoSnnM3WPKZ78AIsn89DqlDGCg551cuai1ZaJUvIlIBc4JGGQ+uB DDPjywYpFzJ8u8viRdzh8kU63ufW6IBdyP+3Kc+5dmv7ss+3LRmdOj54ZpuuG2vzfeVZ0eEJ3t5 De+/HLCDvfEzHKQ0ehtZX2Ks/IvVvJFpDwAO7CtxBi+FhaZTz+/WhW/rrF3XzQgLW8rhb2i+Bq9 VB1hIUhjpE= X-Received: by 2002:a05:600c:630d:b0:485:2c61:9459 with SMTP id 5b1f17b1804b1-486fedc3835mr194690935e9.8.1774284753819; Mon, 23 Mar 2026 09:52:33 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 02/27] hw/cxl: Use HPA in cxl_cfmws_find_device() rather than offset in window. Date: Mon, 23 Mar 2026 17:51:53 +0100 Message-ID: <20260323165218.96607-3-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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=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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284802458154100 From: Alireza Sanaee This function will shortly be used to help find if there is a route to a device, serving an HPA, under a particular fixed memory window. Rather than having that new use case subtract the base address in the caller, only to add it again in cxl_cfmws_find_device(), push the responsibility for calculating the HPA to the caller. This also reduces the inconsistency in the meaning of the hwaddr addr parameter between this function and the calls made within it that access the HDM decoders that operating on HPA. Reviewed-by: Li Zhijian Reviewed-by: Jonathan Cameron Reviewed-by: Gregory Price Tested-by: Gregory Price Signed-off-by: Alireza Sanaee Message-ID: <20260318171918.146-2-alireza.sanaee@huawei.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/cxl/cxl-host.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/hw/cxl/cxl-host.c b/hw/cxl/cxl-host.c index f3479b19914..a94b893e999 100644 --- a/hw/cxl/cxl-host.c +++ b/hw/cxl/cxl-host.c @@ -168,9 +168,6 @@ static PCIDevice *cxl_cfmws_find_device(CXLFixedWindow = *fw, hwaddr addr) bool target_found; PCIDevice *rp, *d; =20 - /* Address is relative to memory region. Convert to HPA */ - addr +=3D fw->base; - rb_index =3D (addr / cxl_decode_ig(fw->enc_int_gran)) % fw->num_target= s; hb =3D PCI_HOST_BRIDGE(fw->target_hbs[rb_index]->cxl_host_bridge); if (!hb || !hb->bus || !pci_bus_is_cxl(hb->bus)) { @@ -254,7 +251,7 @@ static MemTxResult cxl_read_cfmws(void *opaque, hwaddr = addr, uint64_t *data, CXLFixedWindow *fw =3D opaque; PCIDevice *d; =20 - d =3D cxl_cfmws_find_device(fw, addr); + d =3D cxl_cfmws_find_device(fw, addr + fw->base); if (d =3D=3D NULL) { *data =3D 0; /* Reads to invalid address return poison */ @@ -271,7 +268,7 @@ static MemTxResult cxl_write_cfmws(void *opaque, hwaddr= addr, CXLFixedWindow *fw =3D opaque; PCIDevice *d; =20 - d =3D cxl_cfmws_find_device(fw, addr); + d =3D cxl_cfmws_find_device(fw, addr + fw->base); if (d =3D=3D NULL) { /* Writes to invalid address are silent */ return MEMTX_OK; --=20 2.53.0 From nobody Fri Apr 3 16:05:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284805; cv=none; d=zohomail.com; s=zohoarc; b=JgsWGWmSYlssQyJDmL9I1qVn5nyTjeWqH+tVES2RZN3m72cdwnVdaD8bKcM3VGmktZXnDd4qImPpVONJlfWtjRsfIrxYdgCowuBK9yhhVbZ2GhfQJSZavWnpmOSZR0nhEgL8EdOhkvt0BiJ/qQIWVgLcLOrwWmJBsZ/+r4Vt2rw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284805; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=LV22NE8aLPvFdDT+Zc6yYExLLq20+KDgYvF7kCb0uns=; b=iRADKcXrnUa6e+jGxNtQ13lpbwX7AyzFGSsxhqtkIChKKdcxyYNKiRcxJ+YT68aC4KEEL7ePq03B2aNpMVOCK+L2QV8r9mBNg+HgKmZrdEdGMEgozojHyrREbVifN9exbaTgexasPrLTZ8m6eTRIi/Whyw1H5oUW7t2SYmypQTM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284805235382.22069621417256; Mon, 23 Mar 2026 09:53:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iWP-0001W7-C2; Mon, 23 Mar 2026 12:52:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iWB-0001QN-VJ for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:52:49 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iWA-0000TL-FW for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:52:43 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-43b7ff8fe92so223386f8f.0 for ; Mon, 23 Mar 2026 09:52:42 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b64703c7fsm30639153f8f.23.2026.03.23.09.52.39 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:52:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284760; x=1774889560; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=LV22NE8aLPvFdDT+Zc6yYExLLq20+KDgYvF7kCb0uns=; b=im+i33rdUjgAn8hwDyy9r+ZPP5fdPCBTS7IhtAGpwhJcx24pJCzDIKDlILBmANx5Bb jcH33OdlqugXSfMEgMLKW+LNBnkf2JXcaW2JdcC0gNQIi3skDRDhcjr8omNd2m9k8FFh F4RwKBgizpSKfSBZan2u1m0O2leJkWVz5wE1cL5KCeF836+XCj9jebuU0vM1f4JQsN3S J9BYMUibuaMQ/WRv76kHpT0/6lO+Ukc1T657c4EySYj++JpOb501YfAqAmesuevxLNFR DKCyLecMmXX2CVvQ/nvG+iKHOQuGsHufbrfsv/epAzE500cYS2Pe36Ib3zMx70Ly9AbJ cNIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284760; x=1774889560; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=LV22NE8aLPvFdDT+Zc6yYExLLq20+KDgYvF7kCb0uns=; b=iKsUrBdjzBxIcfftmEqd/rIMVzhc2W1rWmtNgxud7bjRC/Nv0x3vBGNXXAYo9UqY8t CSTuhkI9rXqBh5BUB+EzrKO6OZNSSpjgq0BkbvQ82wYmBQpf3xTxa6lbqM0aPamPyz7O jutXHTW72Zb1HcXDDKIe6M1xDSJU2/88PuBYP8qOkAdF16Y7Bod+NJuwUEjggx9B/drz iIfnYW7RML/SyD5f/v4V5B0t/nRgMKpgCFbhIiJ36+y1Hm8e9lLzszpWUcWlNVq9TZvE eUADES1l5kkCS6WW2vGN8JpbrlhmCm096iXdpdTbRp51kI4SYt0UqMKYotnKwBE0XFbO atgg== X-Gm-Message-State: AOJu0Yz2CF/qVCvS1ZK1tIp65P84iZijToZnhkXmI1cSe0pnITCbeuyi JeFF5rBKGqXJmJBd9BR4WSZ8nQGACudUKK4uTBhpdEbBfl+2+wO6SSxO1rcgih1FeEA2hRZomUR Ixe5+7ao= X-Gm-Gg: ATEYQzyJQOgKtavCqq7lrwlKFZwPCR0S7KLNH4NHiF1Nw3fBp05HxZYElz0lgXRzA+6 xH6cT1OiPFr4wLjE3nDpAl4HCRhpz1bLYxolLwhGqBe2KBT1Fz/b3AcW3NrDcOuiPXSQyyjlJqa Fvr2+A9gSonuydprEjWzGcMB1va84lve+vefQsr3Fngz9s4nlVeIBoC91j+IXvPSQwi6JzuXNE3 OHpcLxcO7wJiZHvLB9x2E3ayADgQgEiANDYujqILOKTk/HqEw5h4gb3seFbzYHTwgRIAobhVJZH RSs9Lw7fl9HlK6O7V/We/VvidGmXGih34UtL6+IBC0LuR1BODo026odnyTNvqKQmI/7lYxBI/iR lPoZzC5eWewRuv1dTjokLYQu3w7EKmoWGRkCtOvDrCywcxTQok/vvDLplMgtmQbRlYkJfjuA597 oM2/DaX7jlJif4vzQBLtP+oj1+ZbBcT5xp5+DW54eIHeEqFSazmNHNllkLIAtG427kkHd86jBOl EZ/Ik4fD7E= X-Received: by 2002:a05:6000:4024:b0:43b:3b80:6781 with SMTP id ffacd0b85a97d-43b6428b67fmr21003423f8f.49.1774284760452; Mon, 23 Mar 2026 09:52:40 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 03/27] hw/char/virtio-console: clear dangling GLib event source tag Date: Mon, 23 Mar 2026 17:51:54 +0100 Message-ID: <20260323165218.96607-4-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284806368154100 From: Matthew Penney Clear dangling GLib event source tag when virtio-console is unrealized. This prevents a stale tag from being used, and maintains consistency with the rest of virtio-console. Signed-off-by: Matthew Penney Reviewed-by: Marc-Andr=C3=A9 Lureau Message-ID: <20260305213308.96441-1-matt@matthewpenney.net> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/char/virtio-console.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c index 25db0f019b8..efe7cd6772e 100644 --- a/hw/char/virtio-console.c +++ b/hw/char/virtio-console.c @@ -257,7 +257,7 @@ static void virtconsole_unrealize(DeviceState *dev) VirtConsole *vcon =3D VIRTIO_CONSOLE(dev); =20 if (vcon->watch) { - g_source_remove(vcon->watch); + g_clear_handle_id(&vcon->watch, g_source_remove); } } =20 --=20 2.53.0 From nobody Fri Apr 3 16:05:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284789; cv=none; d=zohomail.com; s=zohoarc; b=kqaWsPXK67eEehIabEud2qYPKTp65AsI8Kq0aQ6g5cDkYqAnsCMArcVjSjnfIPlF7TdAp2VMZUGb+CJ6PQeQAXhGH8DqFysZ/zOakArqmnM7/X2j7zRte9eOXrA6M7g/5Ia5NZ8GpZrpiCsrOJO3P8f8As0aRSgFItaHHBtCuS0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284789; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=phzEH3Tj7gZPX5ttRlmc25ZCIEEomskK5rjdvu33ST8=; b=b1x8i8hVV0mJG/TeVxjQ1/ZVjzzYe3lkh0TKIxt9AR5ypFK87x+4hpLmhhskzM3mMVOjsAZ7bueJ+ATvGsrUywRr+zAzsPfjNc6YStNVU/FNHetFKgYiqiIjr4pqq22hDIZ2QjoxU4EDSxcPayh6/SS9M2KwLqQ7yFobVq0luuo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284789315684.5112705912828; Mon, 23 Mar 2026 09:53:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iWQ-0001aI-Au; Mon, 23 Mar 2026 12:52:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iWL-0001Tl-JR for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:52:54 -0400 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 1w4iWI-0000Tq-Al for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:52:51 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-48704db565eso21353335e9.1 for ; Mon, 23 Mar 2026 09:52:48 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486f8aacc73sm333612935e9.0.2026.03.23.09.52.46 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:52:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284767; x=1774889567; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=phzEH3Tj7gZPX5ttRlmc25ZCIEEomskK5rjdvu33ST8=; b=tNlWcI+e0609AsaYwEObNgBdoAJJ781p9MD30DdT1CX/+ReBBEXHbL2El1E2Bozmox BocGQzsMW3OMihERFwGgYJa/A34sHBnXsR16SRkdIQrYRZgSZWkPRXdaSCq9RHJpYO5C pLWuIn1SptwGcAl+QgAmJ/XbSYZSOr1Y22UiSoLKJg0aIT5pUdNhZfdV5uazD4xKrcqy X+A3+PrhIddnPoBEU5xI2cDffR/oEE1myVfM0KOn5typ4xCVp755wgtLX6IGSLhvXc4G Hb0KxwzjdsILFlhbS53+PwcS7slT+y1QErOSfe3GVBjD4+qOJ/+9kMsei2OoH7kuZGcn XLfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284767; x=1774889567; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=phzEH3Tj7gZPX5ttRlmc25ZCIEEomskK5rjdvu33ST8=; b=RpaDRMw7taobqVaCJd7xqnmlOfD47FyL2fqWs4sEyHcHqnAeIt5Xq0RihSQ6ZyqJfZ PGhjBUnSNmUUuvaM82iJSQOJjDLYgxe72VRgwDHo/0ut8bx0OHPnf6Y5Q0IXqh4NHuL8 /GkpewqKW7axxstfNU50RLgAMH7QbRtsaJ6lE/6QGTJvqOWWjgLbamEpxLj+4KipJaJ2 T4lq2awisKxDClZ43oWsYZFqpvHgYfMZWyz0Z7/TC+ZuyHZxEEZZDqLprmaUu4Yp0qyf pa+9TLB1H8+c+RRZn0HdBL5Sdh9PUz/fOYYWYLZGkA5fLci7AiU7h3qUNySXuu7YGIBs Tb4w== X-Gm-Message-State: AOJu0YwIsjc+Rd6Q6rkIhlmA0OFrg4roY88QVNkwyASaYbu7RBGI+PhL oKAJ4KfzYFwfWIqQw7K4S08nY0eoFPzCGX6WgNDLHjm/mxgpR8pwrwO93GzIgQrofFhsSgtmHCi hvFsBuZ4= X-Gm-Gg: ATEYQzytqh03gqHeDqhYBExWnizfKQdkkagY7QsMdwEFO/alc3JE1kRcZvrEP8SL3Sw MwoUAs1kL6E5ffb0dZQN67X8oWV1jKx8RS4XM5Ygruu8nSPIdFcnwv3ewSaVyszZ9CqBSC73+V+ 2sr5/n0vrHZO5A8JGj4nVfqPrggV+JZs0ZDEtcseQ+e4bvOrnRK6zMtvPh7P8Ms0egJ8VPZyzZ3 5nwtCQLz2gm1M2CnnesJC8UCVorG2XU78nQ3SQ8XYUkGyYH2yWCZdlHQQSZJlQ9SQoD5rqitVXi 8Im63OkK741WHknMfflKBbc9DixM9jdjxyARadaFMcC7ld2bQ2qt6BuzVADNikPg6iXuc/3nJqr C551iLV+5Xx6GPueYC/B+gfr/Q50DOfuuoWMsEjhmcyH7jQHPlC4c9mKBwab/XrZ9SSEqJ4Ruzf ZWJUy+8SQeD6Eh0o/A8QXuuNt4NVlf9a8hzPSV0nsLb5byrstYhFVamsc+TXT5MDqQv0YB7Vy4 X-Received: by 2002:a05:600c:888b:b0:485:353f:c651 with SMTP id 5b1f17b1804b1-486fee08886mr130605545e9.22.1774284766970; Mon, 23 Mar 2026 09:52:46 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 04/27] hw/i3c/dw-i3c: Fix uninitialized data use in short transfer Date: Mon, 23 Mar 2026 17:51:55 +0100 Message-ID: <20260323165218.96607-5-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284790630158500 From: Jamin Lin Coverity reports that dw_i3c_short_transfer() may pass an uninitialized buffer to dw_i3c_send(). The immediate cause is the use of `data[len] +=3D arg.byte0`, which reads from an uninitialized element of the buffer. Replace this with a simple assignment. Additionally, avoid calling dw_i3c_send() when the constructed payload length is zero. In that case the transfer has no data phase, so the controller can transition to the idle state directly. This resolves the Coverity UNINIT warning and clarifies the handling of zero-length short transfers. Resolves: Coverity CID 1645555 Signed-off-by: Jamin Lin Reviewed-by: Nabih Estefan Reviewed-by: C=C3=A9dric Le Goater Message-ID: <20260311021319.1053774-1-jamin_lin@aspeedtech.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/i3c/dw-i3c.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/hw/i3c/dw-i3c.c b/hw/i3c/dw-i3c.c index e9bdfd6af2a..d87d42be891 100644 --- a/hw/i3c/dw-i3c.c +++ b/hw/i3c/dw-i3c.c @@ -1213,7 +1213,7 @@ static void dw_i3c_short_transfer(DWI3C *s, DWI3CTran= sferCmd cmd, * ignored. */ if (cmd.dbp) { - data[len] +=3D arg.byte0; + data[len] =3D arg.byte0; len++; } } @@ -1228,10 +1228,16 @@ static void dw_i3c_short_transfer(DWI3C *s, DWI3CTr= ansferCmd cmd, len++; } =20 - if (dw_i3c_send(s, data, len, &bytes_sent, is_i2c)) { - err =3D DW_I3C_RESP_QUEUE_ERR_I2C_NACK; + if (len > 0) { + if (dw_i3c_send(s, data, len, &bytes_sent, is_i2c)) { + err =3D DW_I3C_RESP_QUEUE_ERR_I2C_NACK; + } else { + /* Only go to an idle state on a successful transfer. */ + ARRAY_FIELD_DP32(s->regs, PRESENT_STATE, CM_TFR_ST_STATUS, + DW_I3C_TRANSFER_STATE_IDLE); + } } else { - /* Only go to an idle state on a successful transfer. */ + /* No payload bytes for this short transfer. */ ARRAY_FIELD_DP32(s->regs, PRESENT_STATE, CM_TFR_ST_STATUS, DW_I3C_TRANSFER_STATE_IDLE); } --=20 2.53.0 From nobody Fri Apr 3 16:05:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284807; cv=none; d=zohomail.com; s=zohoarc; b=ea2+WtGYwj+JFAolCFjOWolZ1K+zhfMfeoc6PXWULBVNp7ajDdL4nxRsWJ13jEE0OJb5vuJqidre6L0D4OZgqarFEWhRlbq7gfscx5amnUHt0PER6BH8rFRdqguTLzmQR7X1bi62h490/QedI4SjUmPj8sNhjNk++UbA3h28sfE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284807; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=T6H6sf+k0veQoe0EHL4gat/mLrbBV0Ns7HTDzxebBos=; b=ioPicQ5PHhdVTowO8oMsWcbWm4XGfF5k3j2DuxaX8AQJgUGkiddI+6PXRRiWaiT3A5IOVYysWw0KPxSd6dh90Rpa4GfRQngzCMEStgogBkScPuyq3NdE91nKVsLYdVlY/yXUe1i87rDbNOeuiFEjUNwaXrcKMnj5pfVWxFL9CEI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284807476407.7581624421267; Mon, 23 Mar 2026 09:53:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iWT-0001gI-3h; Mon, 23 Mar 2026 12:53:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iWQ-0001di-Tg for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:52:59 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iWO-0000Ua-Vb for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:52:58 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-48557c8ad47so2660195e9.0 for ; Mon, 23 Mar 2026 09:52:55 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-487031790fdsm245344725e9.3.2026.03.23.09.52.53 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:52:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284774; x=1774889574; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=T6H6sf+k0veQoe0EHL4gat/mLrbBV0Ns7HTDzxebBos=; b=fDXSbeHr9pgWwJDuwErpnC8uMNaTYVzEOGqWXoqMfjhjWkfYzedoQwdGBaz0WO2w3A Zo9DQjuemKRO4T9fZAcixLQvBieVpzsTHNDdjwneI7fuTgJ7QxKccGXeAEhDukY6PLfR wzjmCHzGdgB3nYHTGgIxngyMUUOgCLTlJDLMyPDzD0QqCpEsY5icaCg4CQOglzlmnxQA nmZgcykjo+M9FSQ9mvw/eEHjbtToZ1xIem4hvltDaPJY000DdmFELRrf/lVIyxLR845k f14bVErmAS9eDikxqAsa1lZdkwzjZHuTGUo2PJObgctJEX+iYud357pgU30S8hhHzy+c LRUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284774; x=1774889574; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=T6H6sf+k0veQoe0EHL4gat/mLrbBV0Ns7HTDzxebBos=; b=jgWr60PMd/aFnbL3YPTfufVimsNpmBscEglV+4ljQFZvLXYeqfe1yQX2ZTH7PstHQi u9hL2Z4VKNClaw2FetX4Vn4TUuIqL/qanUaoZS+M9mk8dPEz0ZNZ9alEoY84dizKjcWQ pzDuu7zCbxoLU3jTn9Xpc83pLTVIvy4RQnCon7qNZ8ZGgsgZDZ1YCSiZbCGF+rulYsn8 7BGADMBYUmuFVYoLABfdclaPCnTO53SiZ/rKBHc3YEd+sDgLzoHZnsSK6obgYOW9zPVW rHqu5mTSAeWL9Tro1Fy4kTfNtFIxmgAyhi7Ghahi2f8VGD6VEUcODuDFsqZSoMsxuYO/ cxkg== X-Gm-Message-State: AOJu0Yy5RNn8REtSHlJnjJHBVaanfnZm3kdpQFED+4j5oFw/OF9jwtUR noXnAzLvXzObaKRhJ5UYt6Ban8O9HWyTkiSAcdn3bFzMk4JqZJ1WnzncCV8qSA7UGZxoHZTkfUg BO3NW8cE= X-Gm-Gg: ATEYQzxT3Wps6GclZDLm2s+HM5M/YkcT+IBGI0VnJiFQqbhHPVrUUkOdYXqmLjeHEBU Es69nxMv2SQ7T7FI2uhY8TRO7Zp9et5Dtd11BzwWl782/UkabmMX86StKJfy8BfdbOuFpHnUCUh Gvt0VMF5QX8aCMrzydp6L0J8nZLc2Gvmj5KKi26eD/oS59Q4YO0Tg4ZhKzn5HxybNGG8CE3YeNH sOH+hG+ViCSNiKUC25DhwsPV3xc9BKKwtZT85ttf7UPTPdBuPDJ5saQl/PM88CcIxAp1snJoMAc VVb4femapePlsB8Wvi7hTDqsynFetztJJN+gY3UvPqIZqtfTgIeRz+x6aFrfl8/xyNASb/lNAaG W9DJTCqwtb+D5u3wyPsfpA9IEl01Ccs9FSCXueRqygkKnqigg63XEefwSry/E+ZosxHYWg1m0Ms gYTswSUjpfvvVFt1JYjPZNEf5xNz5Sb4TqV0uGMeI+y1j7YHACdujZ12yJYgVOS54Up7zuvB56+ CmnqI3eB34= X-Received: by 2002:a05:600c:524e:b0:486:f634:ef3 with SMTP id 5b1f17b1804b1-486ff01efcdmr172669495e9.32.1774284773961; Mon, 23 Mar 2026 09:52:53 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 05/27] hw/core/loader: fix error handling for load_image_targphys callers Date: Mon, 23 Mar 2026 17:51:56 +0100 Message-ID: <20260323165218.96607-6-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284808539154100 From: Trieu Huynh Use QEMU's Error API to handle load_image_targphys() failures consistently across callers. - Use &error_fatal for callers that previously passed NULL, ensuring the process exits early on failure instead of continuing in an invalid state. - No functional changes. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/413 Signed-off-by: Trieu Huynh Reviewed-by: Peter Maydell Message-ID: <20260318141415.8538-2-vikingtc4@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/alpha/dp264.c | 2 +- hw/hppa/machine.c | 2 +- hw/m68k/next-cube.c | 11 +++++++++-- hw/m68k/q800.c | 2 +- hw/m68k/virt.c | 2 +- hw/microblaze/boot.c | 3 ++- 6 files changed, 15 insertions(+), 7 deletions(-) diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c index 98219f04569..2ab3c147471 100644 --- a/hw/alpha/dp264.c +++ b/hw/alpha/dp264.c @@ -190,7 +190,7 @@ static void clipper_init(MachineState *machine) /* Put the initrd image as high in memory as possible. */ initrd_base =3D (ram_size - initrd_size) & TARGET_PAGE_MASK; load_image_targphys(initrd_filename, initrd_base, - ram_size - initrd_base, NULL); + ram_size - initrd_base, &error_fatal); =20 address_space_stq_le(&address_space_memory, param_offset + 0x1= 00, initrd_base + 0xfffffc0000000000ULL, diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c index 318ebfeee46..3663bac53bd 100644 --- a/hw/hppa/machine.c +++ b/hw/hppa/machine.c @@ -527,7 +527,7 @@ static void machine_HP_common_init_tail(MachineState *m= achine, PCIBus *pci_bus, } =20 load_image_targphys(initrd_filename, initrd_base, initrd_size, - NULL); + &error_fatal); cpu[0]->env.initrd_base =3D initrd_base; cpu[0]->env.initrd_end =3D initrd_base + initrd_size; } diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 26177c7b867..4bfe5bcf569 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -1326,9 +1326,16 @@ static void next_cube_init(MachineState *machine) memory_region_init_alias(&m->rom2, NULL, "next.rom2", &m->rom, 0x0, 0x20000); memory_region_add_subregion(sysmem, 0x0, &m->rom2); - if (load_image_targphys(bios_name, 0x01000000, 0x20000, NULL) < 8) { + Error *local_err =3D NULL; + if (load_image_targphys(bios_name, 0x01000000, 0x20000, &local_err) < = 8) { if (!qtest_enabled()) { - error_report("Failed to load firmware '%s'.", bios_name); + if (local_err) { + error_report_err(local_err); + } else { + error_report("Firmware image '%s' is too short.", bios_nam= e); + } + } else { + error_free(local_err); } } else { uint8_t *ptr; diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c index ded531394e6..c0d78eb7d71 100644 --- a/hw/m68k/q800.c +++ b/hw/m68k/q800.c @@ -633,7 +633,7 @@ static void q800_machine_init(MachineState *machine) =20 initrd_base =3D (ram_size - initrd_size) & TARGET_PAGE_MASK; load_image_targphys(initrd_filename, initrd_base, - ram_size - initrd_base, NULL); + ram_size - initrd_base, &error_fatal); BOOTINFO2(param_ptr, BI_RAMDISK, initrd_base, initrd_size); } else { diff --git a/hw/m68k/virt.c b/hw/m68k/virt.c index e67900c727d..ffe6e234155 100644 --- a/hw/m68k/virt.c +++ b/hw/m68k/virt.c @@ -292,7 +292,7 @@ static void virt_init(MachineState *machine) =20 initrd_base =3D (ram_size - initrd_size) & TARGET_PAGE_MASK; load_image_targphys(initrd_filename, initrd_base, - ram_size - initrd_base, NULL); + ram_size - initrd_base, &error_fatal); BOOTINFO2(param_ptr, BI_RAMDISK, initrd_base, initrd_size); } else { diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c index a6f9ebab90c..4ad5ffd34bd 100644 --- a/hw/microblaze/boot.c +++ b/hw/microblaze/boot.c @@ -38,6 +38,7 @@ #include "hw/core/loader.h" #include "elf.h" #include "qemu/cutils.h" +#include "qapi/error.h" =20 #include "boot.h" =20 @@ -171,7 +172,7 @@ void microblaze_load_kernel(MicroBlazeCPU *cpu, bool is= _little_endian, /* Not an ELF image nor an u-boot image, try a RAW image. */ if (kernel_size < 0) { kernel_size =3D load_image_targphys(kernel_filename, ddr_base, - ramsize, NULL); + ramsize, &error_fatal); boot_info.bootstrap_pc =3D ddr_base; high =3D (ddr_base + kernel_size + 3) & ~3; } --=20 2.53.0 From nobody Fri Apr 3 16:05:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284814; cv=none; d=zohomail.com; s=zohoarc; b=kg2ZruWneaKbu6qygA3mdyI6Gw54fLsxsA7EZAyDFvC2bh2O8ZDL5QASBSL5NwV+AxTsyNQwq/A8ayDCDNP4J8oqwl/9jSwVgDQ6nuPsmuEo6+9X7QdXm06cS/JyMCcps2I7Jo1+gaCUOQ9jE9HD24tNE8nPB1nkAeO3wBktZIk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284814; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=rzoFtsUXcWO2CsqhXorD4l05nkjxjOTs8D6KMk1lCcY=; b=W4kYjZOg0nBE2DCk5/n7aC71hQHQBpgw2yb/+lOqrR03UYyVlM64Fo5RgtmVUHoFgyixDQy4TrSr1k9L7yIWCodBHeuMYdJSu9NIKQi3MimxvavKr11JyFdFCIPWn8G6v6fEKDdtl1yozacHmTC926NzEB4JL3MpGjsFwpD5Rp4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284814657681.2512602248298; Mon, 23 Mar 2026 09:53:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iWy-0002Tj-DK; Mon, 23 Mar 2026 12:53:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iWX-0001ll-Hf for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:08 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iWU-0000VA-V1 for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:04 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-43b4fd681c2so319334f8f.3 for ; Mon, 23 Mar 2026 09:53:02 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644ae16fsm31818360f8f.8.2026.03.23.09.52.59 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:53:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284781; x=1774889581; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=rzoFtsUXcWO2CsqhXorD4l05nkjxjOTs8D6KMk1lCcY=; b=KbwVLXD0G+qB7tFGrrju4nJUhSpBY70XLWGIofKM2X8JWPcoU95AnfQvNJGpIGbWCX zqBJZSgsLnonEFX+Lrv64ZarFeDzSIrr6Qkkkl/Y71igeOv3u+c/N5cmw6rnN5jKCWm1 vDmHFibqYsX9HnT8vVjW7hQ3m/lSIHbln4zNcsHjUuJruPVUSFWQ2c4jCXOWjWoiwc+M /9pmwDFKuvNBGpKsGNR69R9sN70BMhwsWdj/e8ufSdsWgbm8v3yjJNYv8U1f/xXimZzR V4kY0pxeGcR+x1RYoM1z5bWEMeBaltkJMfH0b3+D8mhgqvY2qL+C17rCELxjyxHweNRt 479A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284781; x=1774889581; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=rzoFtsUXcWO2CsqhXorD4l05nkjxjOTs8D6KMk1lCcY=; b=BJR1aW/q98GLr17lxGA1zCqKsII4ER4VjCtSDvcE5iy5/x94VK/PbQaq4qYxFxIoso BhIOnGGbtXcUNeVgNipl3prV5fRJPeic8PxlmaSn3FUkYaIq0y5LjIZO1KaY+b3wVEIX kewKcUlvxO71JaEAkkgB4nwO5gE+kmwuRU9EMD7WuGf4dv2KQitP5sHosmKjoyVPMjgk KFriSmP/mDJfp6UqwhC3bcSqL9UuHGdh+ZFHzi7PPx4T294RsRzof7UKZaFc+xStKieI l+VP103E0sGD6pvunUDQsvjlPs+g2OPc1el1mkM7sSI0o2fsannVQz5aTb5MS0z8rVdv xBFw== X-Gm-Message-State: AOJu0YxTuwLX8HbYuKI7Dem++hDL8FyQbby+tMkD5Qcx1J8K9Lx0ppb4 b3ItB1gcSqN78U0rimCeAOm/hzniLAfLPMzbl+wMGQtv3WHfc8CbFTl1NaDWvaZbVmQH01QBfRQ 7h8L7u0g= X-Gm-Gg: ATEYQzxyV9p536I5qUEBRlSRsxCBNCtG7HcSsgFf9e9SMm4DK56X/gyc+nhqwsrrzF6 sKkpf8ADXSPXiyY7F4IdAGrbjnhmwG9iqt56uYKvBcWXHMbEhYy1e8/2DhJ1ohTqX2cRtVXMlP/ 20MO3EfX5rdNIue/ZP8ppwxjg10hgBIcXyIv5gx+Yfl1IiD52kBylBZa2MsZd5T8lJs8xzzqjPL c9dR507Sq4g7ffkRAV8ztCiouRvSscdXUJiX9u84LSq8Z+hrYo3U/ba2odNSIJChi995inliPnq 5qU9ZAUcXZ0sOrKjQ9U+NVdOAEd2TMb0TDEoCQPBjowO1Ge6vk2pHM6sBR+qXvSlwO7xKaT6OC2 NsgCXpOLbLOsjXgHuJHeakn+K17pPOWpuUF7pyW0EkMO7M/iDuGUad//81iyHveCAMnq3TiDhEk yilZ8GHZAlkRa/yXpDm8uSxW+Zvbt6N2bttUL/BHH6X/wiZ1D7XS/k3OKROdak7mAOwIFLwquX X-Received: by 2002:a05:6000:3113:b0:439:abcd:b314 with SMTP id ffacd0b85a97d-43b6423fb6fmr19020361f8f.18.1774284780711; Mon, 23 Mar 2026 09:53:00 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 06/27] hw/core/loader: fix error handling for get_image_size callers Date: Mon, 23 Mar 2026 17:51:57 +0100 Message-ID: <20260323165218.96607-7-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284816467154100 From: Trieu Huynh Check the return value of get_image_size() and report failures for non-mandatory file such as FRU image. - Use ret < 0 to detect failures in getting image size. - No functional changes. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/413 Signed-off-by: Trieu Huynh Reviewed-by: Peter Maydell Message-ID: <20260318141415.8538-3-vikingtc4@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/ipmi/ipmi_bmc_sim.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c index 012e2ee4fe2..fd875491f55 100644 --- a/hw/ipmi/ipmi_bmc_sim.c +++ b/hw/ipmi/ipmi_bmc_sim.c @@ -2561,6 +2561,8 @@ static void ipmi_fru_init(IPMIFru *fru) g_free(fru->data); fru->data =3D NULL; } + } else { + error_report("Could not get file size '%s'", fru->filename); } =20 out: --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284821; cv=none; d=zohomail.com; s=zohoarc; b=KJPYRkW/G/30a69ZiLJlz9oMauVnbBSdMc3tMK76kF9B1O0vhy/MysX9eHD7bzfnIosa0kV8008XtqjI1SzkH+jMp25bC/xFXc+8QQaDgKgmWeWu5eQsjHXFdBR7+Uy/yr5tZw9nGeO1fy+TY6OeOjtorpYD4Auy4p7qgHDnvgo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284821; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=ZUL4OvcdIzqgWJj0q2pMTC7lXI6ZXxkYtPaw18rj/bk=; b=g4okhl6/xqSX0/gwnk0VxV9GWnbm2N1bsgiKX+7vlBWsd9m4VQ6wj9Kj6rQG57RE5vAHHNfYkDm4Mys9uY0Rb/jRYQ8anCBZHBH3ldeNV+3SpiOXE8ez2T3ONoMWwgCyaAQ5U4gKj+LBd183bJxgKb+XpEkMzgEZ4VtJPXnlp9w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284821983343.2063258119538; Mon, 23 Mar 2026 09:53:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iWt-0002Fw-0j; Mon, 23 Mar 2026 12:53:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iWe-0001z2-PD for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:16 -0400 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 1w4iWc-0000Vf-KV for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:12 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-439b7c2788dso1955377f8f.1 for ; Mon, 23 Mar 2026 09:53:09 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b6470c239sm30908066f8f.27.2026.03.23.09.53.06 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:53:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284787; x=1774889587; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=ZUL4OvcdIzqgWJj0q2pMTC7lXI6ZXxkYtPaw18rj/bk=; b=TWsGa17Zrg9DNfWbFNJ4r8LxyKxfJuCgQGORD3kGC53hImI+Tw8SYZOijGcPvDE3a5 TNzC1I+9l+A4y1O7uhNobFQHt7NxrCvB8PRkQ8/VROMxlQUCmMXD32P6sasbbEkfxwED k56zB/Ol43gfymCRtI9bcvr/v/U25YrcPVJzFujV+lRYIFLZUYappBgZsfjKF+zPO04I 0YCa/yApAZGsRb3CcCRpjN6E4FD0L4wwYZgXzM5omWkPRi6gKAXujg83REcGCzsp1jJO fx1Rxk72NYImNa+4KfBpqOToYf//fzFvypn6dBlHiqM/kGofRU2z/MImIen4aekoxTUT ZZxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284787; x=1774889587; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ZUL4OvcdIzqgWJj0q2pMTC7lXI6ZXxkYtPaw18rj/bk=; b=OA/AaPpAS0JOzPl4+pbc6vTFRQ1j5Pgah4ES1RdMo92q6Q7DU8u+CxHnNleG5gFXGp SaL6GceI9L7oXUL90fx1EqQtx45JdvcWsfikC2ilHOgr7I4KlD0bzCm+hEzGLkYcOQEJ fGP5xt1RQdtqWx9oLdhWsoojKUq11gmj2lRGDUgImE9ZgaYlYsdhfZ3UCqnFn+ynrxIj 2K6BmphY+pdgk/4yY47v5bn+OME+UmUuqsZ26zwnejYi9plpPTJgag9cNFEiX47GPph/ tlme5VwOSNbVMrC5F5yzgZOs1NEhtPQ8QIlyQre7hapDMV5T7XN1JFEQGyWnYTqTK0wx UiVg== X-Gm-Message-State: AOJu0Yza79DF+YcCQz7ffjACwJI473B4H9Wjs0OUMlh5G7ZWzsLlWgeO cmQjGjFE1ny/q1T8savyWdVqyw46pckcEinXTCC0BBzqGY0X/qV9qYT7kStgv5TiMtCjEp+cnj1 vq0+62PQ= X-Gm-Gg: ATEYQzziYIzE4boo0s0R6g7gCw/8sCms7CVZscdYtWeAHReuX33OZb/yjOuFbUMn4Gq Fql7yjq9xM+M7CSo41cQVvVvkgzotcD/f6FSxOwe1C/Xoj1YeN6DkX/wGQH1YDC/zuCt71KdMlV X9hvlzU+HqQ4aV6vUsoomOg5tRDXOqvgvrJdnapef3yqZEOhmGZXpSMgK0epvyvM/ZyItRRCmym D6wtM3SiP+p48VMawAwHmmGxia151AScv9Pnr6jGt18iyZ/K2TC0ZleNAoMKLSarjiS6Lo5ozl3 ZiEWxw3n1un2LX/vPhF0QvrkBQ8hanVZT1LyC9T0fxy+CDlQy6dWAoXIekRGrAsbhIl6bDy5SHA lsQWLXSKmGVXebuTmPptFjLNBtIy/DyBux42zhzRVeOVCzawgmh3wFaIkAL48LFR5NtDFGxNP95 SsAFaeSxGrPjPhBOW6irYRCfaysENEdpJ18rhNisiMSIecFHgMyL53NYNtLBi54wnn9Xhg7Eyt X-Received: by 2002:a05:6000:26c4:b0:439:abcd:b317 with SMTP id ffacd0b85a97d-43b6424e33dmr18890214f8f.14.1774284787351; Mon, 23 Mar 2026 09:53:07 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 07/27] util/event_notifier: fix error handling for event_notifier_init callers Date: Mon, 23 Mar 2026 17:51:58 +0100 Message-ID: <20260323165218.96607-8-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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=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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284822878158500 From: Trieu Huynh Check return value of event_notifier_init() and return early on failure instead of continuing with invalid state. - Use ret < 0 to handle negative return value. - No functional changes. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/413 Signed-off-by: Trieu Huynh Acked-by: Anthony Krowiak Reviewed-by: Jagannathan Raman Reviewed-by: Maciej S. Szmigiero # for the Hy= per-V part Reviewed-by: Matthew Rosato Message-ID: <20260318141415.8538-4-vikingtc4@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/hyperv/hyperv.c | 4 ++-- hw/hyperv/vmbus.c | 4 ++-- hw/remote/proxy.c | 15 +++++++++++++-- hw/vfio/ap.c | 2 +- hw/vfio/ccw.c | 2 +- hw/vfio/pci-quirks.c | 2 +- hw/vfio/pci.c | 2 +- hw/virtio/vhost-vdpa.c | 4 ++-- 8 files changed, 23 insertions(+), 12 deletions(-) diff --git a/hw/hyperv/hyperv.c b/hw/hyperv/hyperv.c index 27e323a8196..aa278b179e6 100644 --- a/hw/hyperv/hyperv.c +++ b/hw/hyperv/hyperv.c @@ -439,7 +439,7 @@ HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, u= int32_t sint, sint_route->staged_msg->cb_data =3D cb_data; =20 r =3D event_notifier_init(ack_notifier, false); - if (r) { + if (r < 0) { goto cleanup_err_sint; } event_notifier_set_handler(ack_notifier, sint_ack_handler); @@ -453,7 +453,7 @@ HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, u= int32_t sint, =20 /* We need to setup a GSI for this SintRoute */ r =3D event_notifier_init(&sint_route->sint_set_notifier, false); - if (r) { + if (r < 0) { goto cleanup_err_sint; } =20 diff --git a/hw/hyperv/vmbus.c b/hw/hyperv/vmbus.c index 64abe4c4c16..5388f4277f3 100644 --- a/hw/hyperv/vmbus.c +++ b/hw/hyperv/vmbus.c @@ -1432,7 +1432,7 @@ static void open_channel(VMBusChannel *chan) goto put_gpadl; } =20 - if (event_notifier_init(&chan->notifier, 0)) { + if (event_notifier_init(&chan->notifier, 0) < 0) { goto put_gpadl; } =20 @@ -2450,7 +2450,7 @@ static void vmbus_realize(BusState *bus, Error **errp) } =20 ret =3D event_notifier_init(&vmbus->notifier, 0); - if (ret !=3D 0) { + if (ret < 0) { error_setg(errp, "event notifier failed to init with %d", ret); goto remove_msg_handler; } diff --git a/hw/remote/proxy.c b/hw/remote/proxy.c index 5081d67e7f4..e91566509f3 100644 --- a/hw/remote/proxy.c +++ b/hw/remote/proxy.c @@ -52,9 +52,20 @@ static void setup_irqfd(PCIProxyDev *dev) PCIDevice *pci_dev =3D PCI_DEVICE(dev); MPQemuMsg msg; Error *local_err =3D NULL; + int ret =3D 0; =20 - event_notifier_init(&dev->intr, 0); - event_notifier_init(&dev->resample, 0); + ret =3D event_notifier_init(&dev->intr, 0); + if (ret < 0) { + error_report("Failed to init intr notifier: %s", strerror(-ret)); + return; + } + + ret =3D event_notifier_init(&dev->resample, 0); + if (ret < 0) { + error_report("Failed to init resample notifier: %s", strerror(-ret= )); + event_notifier_cleanup(&dev->intr); + return; + } =20 memset(&msg, 0, sizeof(MPQemuMsg)); msg.cmd =3D MPQEMU_CMD_SET_IRQFD; diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c index e58a0169af9..5c8f3056530 100644 --- a/hw/vfio/ap.c +++ b/hw/vfio/ap.c @@ -180,7 +180,7 @@ static bool vfio_ap_register_irq_notifier(VFIOAPDevice = *vapdev, return false; } =20 - if (event_notifier_init(notifier, 0)) { + if (event_notifier_init(notifier, 0) < 0) { error_setg_errno(errp, errno, "vfio: Unable to init event notifier for irq (%d)= ", irq); diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c index 2251facb356..ce9c014e6a7 100644 --- a/hw/vfio/ccw.c +++ b/hw/vfio/ccw.c @@ -418,7 +418,7 @@ static bool vfio_ccw_register_irq_notifier(VFIOCCWDevic= e *vcdev, return false; } =20 - if (event_notifier_init(notifier, 0)) { + if (event_notifier_init(notifier, 0) < 0) { error_setg_errno(errp, errno, "vfio: Unable to init event notifier for irq (%d)= ", irq); diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c index 7b907b9360d..66e02b15a48 100644 --- a/hw/vfio/pci-quirks.c +++ b/hw/vfio/pci-quirks.c @@ -318,7 +318,7 @@ static VFIOIOEventFD *vfio_ioeventfd_init(VFIOPCIDevice= *vdev, =20 ioeventfd =3D g_malloc0(sizeof(*ioeventfd)); =20 - if (event_notifier_init(&ioeventfd->e, 0)) { + if (event_notifier_init(&ioeventfd->e, 0) < 0) { g_free(ioeventfd); return NULL; } diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 94c174a773f..1945751ffd4 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -70,7 +70,7 @@ static bool vfio_notifier_init(VFIOPCIDevice *vdev, Event= Notifier *e, } =20 ret =3D event_notifier_init(e, 0); - if (ret) { + if (ret < 0) { error_setg_errno(errp, -ret, "vfio_notifier_init %s failed", name); return false; } diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c index 2f8f11df869..9c7634e2439 100644 --- a/hw/virtio/vhost-vdpa.c +++ b/hw/virtio/vhost-vdpa.c @@ -1075,13 +1075,13 @@ static int vhost_vdpa_svq_set_fds(struct vhost_dev = *dev, int r; =20 r =3D event_notifier_init(&svq->hdev_kick, 0); - if (r !=3D 0) { + if (r < 0) { error_setg_errno(errp, -r, "Couldn't create kick event notifier"); goto err_init_hdev_kick; } =20 r =3D event_notifier_init(&svq->hdev_call, 0); - if (r !=3D 0) { + if (r < 0) { error_setg_errno(errp, -r, "Couldn't create call event notifier"); goto err_init_hdev_call; } --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284821; cv=none; d=zohomail.com; s=zohoarc; b=HnRUhW6YMQn2T+2YbBhAMjg9a7oViPr1CczJXpS1LIRe+cfNFfgGAbEefWv/GPFR9ydsbLn8wcnxbqGFjTXZC8mIFYaOBfRF+nR9Yl+eBrdS2vmqrdwkmYZxoyEe0OmPPtBGfNLqGYTHAq2VHJSAQWxky+SEVkkBJtG8rCBIo2s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284821; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=IF5AIne3aOjW5NQiAWyFpvmY0cptp84jUlFsWbEzYLg=; b=He7eNW5buP7ZjMjAMeU3oBx7NPtDxKTYakRqA13JTyKzVN/vGeUrpoUBA8AmXgF2AT0QzupitYgkDHOnbGHJd1b0gwGOTpN1iNKSkSuXPA7PH3r51Xwydd2srm+hxixUNCOjyETVb+7SPQ/wholqOigOyNhgjCYS8SCL+MmwV9g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284821475931.0916779874462; Mon, 23 Mar 2026 09:53:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iWy-0002Ti-Aw; Mon, 23 Mar 2026 12:53:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iWk-00023i-Cf for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:21 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iWi-0000W7-8u for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:18 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-43b44c0bcdbso4726266f8f.1 for ; Mon, 23 Mar 2026 09:53:15 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b6470380asm30181991f8f.24.2026.03.23.09.53.13 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:53:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284794; x=1774889594; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=IF5AIne3aOjW5NQiAWyFpvmY0cptp84jUlFsWbEzYLg=; b=fOp2r857ZlfBon5HJUjO2hbbcr/MqsQ605/NxaxGawk3xvgzLybN918vYNTKuulPN2 cg84XuQeSiNqb5PKG531Ei9G3vJWB5IlnpmY/D24C/oTYvtG3c47ubNmeRD+/E2zjp/5 q0rOuebnVXZTjLxUCPjKiIRZnz7bmLUDtOLsyrNRpOIlwwLzzEycnVAIu9he0FQPO5RD B/nja5BbiqgkZabvHX58A4eqdGCncGENuwu5hj+kwawVgPUuqylA83My3tjLGMFsFM3m 8Dzz9fZntc2IKtfHHHBU/Ehal2JKN/ioGLPspGee2DEphipYH27nnn1W/hwTdNU/tnEo KCqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284794; x=1774889594; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=IF5AIne3aOjW5NQiAWyFpvmY0cptp84jUlFsWbEzYLg=; b=BtXg+Rfb8KIS3iBPimki1e4TPFgSkh+vJs/UhkKe+GVbGeoHnCg+dxqT0Wa0Y1jB+q QEHZgQeuMNm8W81NAJwQOrm4vzTbDiueYOt+H85BAT9i1meQq3JnBoKyFvLa7RXB9mGu JGCS4TyDykZi3Z9eOk11jtxRSWXrYNALid6SuTmEJQAoJ1ukjXMf6mUc+PwJgJOT+dQo 7dpHTpxTHS3d5k0EuOLsfWST1dSJkXBV+wlHIJrcBdalI2GSmIfvmlVwUGMPC0v21Ocl wQoBHGiDNgFWPe5Hr9/6mfqJoI0BYdzfizHFsTgevdJLAUr9YpmCZGysTtJnJIle+Ke7 W6gQ== X-Gm-Message-State: AOJu0YzyjE6hwJIdeLyT2h7j4NNYa/NtNqMq6W2YV6l6EB+Ek108QNLb KWIVisMnNaNZOVnaGdTFiBhK3JSi4otlPSkCO6QMmARn8i/40i9263Qf2V5+2pNmNJ8c6Dejuhr Opd4r9Jo= X-Gm-Gg: ATEYQzxyTZ2stUeRtGSO8XQHjj72MFafIMNfFChO0uc73/pFrooVa3elK17ImrUNETo znlY7C8J+0f6w9fDs+Dn5MC4Pmt3HE9BxpRmC/gJ/5YtNuHvjNqjsGLQs9ZFSBBbjvN8DBnOInt dDyZDcWkkur4nWF7Whm5YflK3ZyqSFZqNIUhjqne8obFkZUvxco1Zcm7NJdwhsutoH9gaMfaeKD xbPdrYgQdyRPjoJ6Ke3CeqCgwNR/xIT6Q17Apss5xqK3HGQzho/sT2nhd4Y9U+sMKiOCuoV3aDT 08xqCb/ooUJN8lYocaPBRZ9+g+S2qlrDLZ7NTSy4WI1R/QUeQW8yxDLJKXDwmGTDCEfZYHzVkZA tRBao6R0XyfcD2+R+eGHRuGdSbbcr3svaXB2Xh2hYeWY+PDlgN8duLDP+pWnhln8lPdL7Em1tn+ 7d7W1IepfxVVZwaT5NmzApH4uzdbBoOlDaQMdgRrl7ewt3Iisgt/99invvoGMgXBvLRCcZY4dJ X-Received: by 2002:a05:6000:1861:b0:43b:4396:6738 with SMTP id ffacd0b85a97d-43b6427b2c2mr20318638f8f.50.1774284793959; Mon, 23 Mar 2026 09:53:13 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 08/27] hw/pci/msix: fix error handling for msix_init callers Date: Mon, 23 Mar 2026 17:51:59 +0100 Message-ID: <20260323165218.96607-9-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284822800154100 From: Trieu Huynh Check return value of msix_init() and return early on failure instead of continuing with invalid state. - Use ret < 0 to handle negative return value. - Use errp parameter to handle failure instead of NULL. - No functional changes. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/413 Signed-off-by: Trieu Huynh Reviewed-by: Peter Maydell Message-ID: <20260318141415.8538-5-vikingtc4@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/net/igbvf.c | 2 +- hw/net/rocker/rocker.c | 2 +- hw/pci/msix.c | 2 +- hw/scsi/megasas.c | 16 +++++++++++----- hw/usb/hcd-xhci-pci.c | 16 +++++++++++----- 5 files changed, 25 insertions(+), 13 deletions(-) diff --git a/hw/net/igbvf.c b/hw/net/igbvf.c index 48d56e43aca..9a165c7063e 100644 --- a/hw/net/igbvf.c +++ b/hw/net/igbvf.c @@ -260,7 +260,7 @@ static void igbvf_pci_realize(PCIDevice *dev, Error **e= rrp) =20 ret =3D msix_init(dev, IGBVF_MSIX_VEC_NUM, &s->msix, IGBVF_MSIX_BAR_ID= X, 0, &s->msix, IGBVF_MSIX_BAR_IDX, 0x2000, 0x70, errp); - if (ret) { + if (ret < 0) { return; } =20 diff --git a/hw/net/rocker/rocker.c b/hw/net/rocker/rocker.c index 4a7056bd45e..910dce901b6 100644 --- a/hw/net/rocker/rocker.c +++ b/hw/net/rocker/rocker.c @@ -1228,7 +1228,7 @@ static int rocker_msix_init(Rocker *r, Error **errp) &r->msix_bar, ROCKER_PCI_MSIX_BAR_IDX, ROCKER_PCI_MSIX_PBA_OFFSET, 0, errp); - if (err) { + if (err < 0) { return err; } =20 diff --git a/hw/pci/msix.c b/hw/pci/msix.c index b35476d0577..1b23eaf1007 100644 --- a/hw/pci/msix.c +++ b/hw/pci/msix.c @@ -432,7 +432,7 @@ int msix_init_exclusive_bar(PCIDevice *dev, uint32_t ne= ntries, 0, &dev->msix_exclusive_bar, bar_nr, bar_pba_offset, 0, errp); - if (ret) { + if (ret < 0) { return ret; } =20 diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c index f62e420a91e..a29742d4493 100644 --- a/hw/scsi/megasas.c +++ b/hw/scsi/megasas.c @@ -2380,11 +2380,17 @@ static void megasas_scsi_realize(PCIDevice *dev, Er= ror **errp) memory_region_init_io(&s->queue_io, OBJECT(s), &megasas_queue_ops, s, "megasas-queue", 0x40000); =20 - if (megasas_use_msix(s) && - msix_init(dev, 15, &s->mmio_io, b->mmio_bar, 0x2000, - &s->mmio_io, b->mmio_bar, 0x3800, 0x68, NULL)) { - /* TODO: check msix_init's error, and should fail on msix=3Don */ - s->msix =3D ON_OFF_AUTO_OFF; + if (megasas_use_msix(s)) { + ret =3D msix_init(dev, 15, &s->mmio_io, b->mmio_bar, 0x2000, + &s->mmio_io, b->mmio_bar, 0x3800, 0x68, + s->msix =3D=3D ON_OFF_AUTO_ON ? errp : NULL); + + if (ret < 0) { + if (s->msix =3D=3D ON_OFF_AUTO_ON) { + return; + } + s->msix =3D ON_OFF_AUTO_OFF; + } } =20 if (pci_is_express(dev)) { diff --git a/hw/usb/hcd-xhci-pci.c b/hw/usb/hcd-xhci-pci.c index aa570506fc1..c5446a4a5e1 100644 --- a/hw/usb/hcd-xhci-pci.c +++ b/hw/usb/hcd-xhci-pci.c @@ -173,11 +173,17 @@ static void usb_xhci_pci_realize(struct PCIDevice *de= v, Error **errp) } =20 if (s->msix !=3D ON_OFF_AUTO_OFF) { - /* TODO check for errors, and should fail when msix=3Don */ - msix_init(dev, s->xhci.numintrs, - &s->xhci.mem, 0, OFF_MSIX_TABLE, - &s->xhci.mem, 0, OFF_MSIX_PBA, - 0x90, NULL); + ret =3D msix_init(dev, s->xhci.numintrs, + &s->xhci.mem, 0, OFF_MSIX_TABLE, + &s->xhci.mem, 0, OFF_MSIX_PBA, + 0x90, s->msix =3D=3D ON_OFF_AUTO_ON ? errp : NULL); + + if (ret < 0) { + if (s->msix =3D=3D ON_OFF_AUTO_ON) { + return; + } + s->msix =3D ON_OFF_AUTO_OFF; + } } s->xhci.as =3D pci_get_address_space(dev); } --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284837; cv=none; d=zohomail.com; s=zohoarc; b=Iw3QEN7jd3ZItueyV5oArGO/8fNPDh5PjrVco5WYB4Gx+NMrU+M2th4+R/z1vrrwPIB7u71/tjYmdWnWP5lJjFTJJ5our96JsXe16/in1ITR6YVWL2U9pFkAp0cSf3GCU5/B88GUtuQhOoXJEoNAL/JAdCxbGnz4LG42PEB1LyE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284837; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=2OS9dwrhVLnfvMFaD7Eherrp2nRjOZpeUcPJ4Mmm4SM=; b=SX8vCoCgro7HDHL2MCf/fd5Hbzyday7ZVUE9HhFUrtuUk+B7R6u0V/c9FG/fKh5DvFoh8UiIiZEZJVhqmXoc44SeDF0LrR/UgXeQ7+p1ofvoXqyvhFzlI0xuVaYhfQHGIc+O1Y1YMHWhbun7dsIMWYw6htxIXeLunJyIwA0ozck= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284837436787.0303435643518; Mon, 23 Mar 2026 09:53:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iWz-0002bJ-68; Mon, 23 Mar 2026 12:53:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iWq-00029Y-7s for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:24 -0400 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 1w4iWo-0000WQ-Dy for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:23 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-439d8df7620so2876588f8f.0 for ; Mon, 23 Mar 2026 09:53:22 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b64717e97sm32692491f8f.35.2026.03.23.09.53.19 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:53:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284801; x=1774889601; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=2OS9dwrhVLnfvMFaD7Eherrp2nRjOZpeUcPJ4Mmm4SM=; b=AksaxL2NbNoA5YHJNc0uQghfRh1ld8G2ig4CRGnmyV9j3hN9lrvqLubFjJj2JHokZl 8DNp2fT9gtvF7K6Dravip7NZe3pegRV9GktwuFjkPxPvflJjimb4vdRBamcZrgBCo4Xu bl8Em+Y+GKgEJnBXf1R131mqm/AEzdyOuemeIraMK4gC3KhhD8fb0sbzPEbGIce6YSb+ EGbwFHJYTh/2wWQU9sm5RiEdxj0JY6XFU/Hw1Acsoas9ETGn2L8nMWWgXqV3KBTx/JI/ hy9cINXc1az3shA+TZWT8qiAP2Pg6NpYcVavAfZolQashuWLDfdRE0tx1RZbyRX7pq+m tfvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284801; x=1774889601; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=2OS9dwrhVLnfvMFaD7Eherrp2nRjOZpeUcPJ4Mmm4SM=; b=T7iTcIrGNObWSDEU/EAzfxb0MlGN2yVQAdJXeoGjk50GVaCo3RPPgYyIXiyUa2mqba XOn3rB2wglctkqTndIdm0/qfJBOQVRHQw4lzRHaEKe3o8vazrETqfyJpEq2Xe/os33ce 3DXSrC9Zmaq+PX4lX5RbFAjLJ4WOdv5IBf7++VSHxLZF5asAWnQK5nQCwo3n0u96jXxO q7Q0HoOEtv576C3f5jqkOgtkwjYZ4UC2Zy3gYmMgQhV3qBmpoiCRkSm5QuipTlUGjhZl uLGx7x2TsLpWKra4y8EYC5bpWNScc4VAFldsKCpEXK1Pof6izRDfmsOF3GNjizBcDNzw 9iuQ== X-Gm-Message-State: AOJu0YydTOMVm5+02c4N59s0AjcvnkmUfNzFEwtLUfOSs7AVLFt6zhox vizKJ1Geg8miSgCUY7qjufmmScFGmFf44DqFUesl1OJvmx/xNiv/Fyi/BT1ck/2youzcOI4R7qa wYnc2v3g= X-Gm-Gg: ATEYQzxj2li6BVFK6REPW+VPiDoOXXK8ZwMsVhQl7zwrTH3o9woflSyAnrPSyLp7sEE 3YtOAOGq2MAmWppZ7lLqsGNxCAM8jWs7oVwv5/MCBDoKQZFlNufQ5M0C+2hwWEhuhmttu+sdRQ9 TtKuVkEsfK7loNRog2ypPki9TUEVwGXPhpHIBWJ/NbK9IVq66zBtedqhWl7w1ymO0PTFQaib9E5 EWoTHe5awBUMrGVmsgVxFcY+z0uJwmasxmddST73Fr1w3fF3/gKCvgptqYPXTB57JMScifbwYlS 5C06N+uMEIyf7xPcX12qtERsqJ6jhu9ZxP8bt3fd1xpihx02gSw77GrMpOgUgK+JK0Y6s4/n/2M kT/It6S6xTFHe9Z4LUmI7C+efr17Kl/hs1Kv6usaMOys2y7n1tKF5WEsdD3dhJ0P6Uu/oY/SpjF e/g//m8CMiaJiVFv4UusG9xCWeSGAyph+2VUeVnbdA8jRgCZM4HDFGm/8f6S2eu+zMwZrfaTp7 X-Received: by 2002:a05:6000:2c0e:b0:439:c279:32df with SMTP id ffacd0b85a97d-43b6427feadmr21007083f8f.35.1774284800585; Mon, 23 Mar 2026 09:53:20 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 09/27] hw/i386/pc_sysfw: stub out x86_firmware_configure Date: Mon, 23 Mar 2026 17:52:00 +0100 Message-ID: <20260323165218.96607-10-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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=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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284838863158502 From: Ani Sinha x86_firmware_configure requires ovmf support. Add a stub for this function = call for cases where OVMF is not supported. Reported-by: Michael Tokarev Signed-off-by: Ani Sinha Reviewed-by: Michael Tokarev Tested-by: Michael Tokarev Message-ID: <20260319122137.142178-2-anisinha@redhat.com> Tested-by: Xudong Hao [PMD: Remove "kvm/tdx.h" include line] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/i386/pc_sysfw.c | 32 -------------------------------- hw/i386/pc_sysfw_ovmf-stubs.c | 5 +++++ hw/i386/pc_sysfw_ovmf.c | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 32 deletions(-) diff --git a/hw/i386/pc_sysfw.c b/hw/i386/pc_sysfw.c index d8a86756ca4..1a41a5972bd 100644 --- a/hw/i386/pc_sysfw.c +++ b/hw/i386/pc_sysfw.c @@ -37,7 +37,6 @@ #include "hw/block/flash.h" #include "system/kvm.h" #include "target/i386/sev.h" -#include "kvm/tdx.h" =20 #define FLASH_SECTOR_SIZE 4096 =20 @@ -283,34 +282,3 @@ void pc_system_firmware_init(PCMachineState *pcms, } } } - -void x86_firmware_configure(hwaddr gpa, void *ptr, int size) -{ - int ret; - - /* - * OVMF places a GUIDed structures in the flash, so - * search for them - */ - pc_system_parse_ovmf_flash(ptr, size); - - if (sev_enabled()) { - - /* Copy the SEV metadata table (if it exists) */ - pc_system_parse_sev_metadata(ptr, size); - - ret =3D sev_es_save_reset_vector(ptr, size); - if (ret) { - error_report("failed to locate and/or save reset vector"); - exit(1); - } - - sev_encrypt_flash(gpa, ptr, size, &error_fatal); - } else if (is_tdx_vm()) { - ret =3D tdx_parse_tdvf(ptr, size); - if (ret) { - error_report("failed to parse TDVF for TDX VM"); - exit(1); - } - } -} diff --git a/hw/i386/pc_sysfw_ovmf-stubs.c b/hw/i386/pc_sysfw_ovmf-stubs.c index aabe78b2710..b53906a0521 100644 --- a/hw/i386/pc_sysfw_ovmf-stubs.c +++ b/hw/i386/pc_sysfw_ovmf-stubs.c @@ -24,3 +24,8 @@ void pc_system_parse_ovmf_flash(uint8_t *flash_ptr, size_= t flash_size) { g_assert_not_reached(); } + +void x86_firmware_configure(hwaddr gpa, void *ptr, int size) +{ + g_assert_not_reached(); +} diff --git a/hw/i386/pc_sysfw_ovmf.c b/hw/i386/pc_sysfw_ovmf.c index da947c3ca41..2f7d15c9f3e 100644 --- a/hw/i386/pc_sysfw_ovmf.c +++ b/hw/i386/pc_sysfw_ovmf.c @@ -28,6 +28,8 @@ #include "hw/i386/pc.h" #include "exec/target_page.h" #include "cpu.h" +#include "target/i386/sev.h" +#include "kvm/tdx.h" =20 #define OVMF_TABLE_FOOTER_GUID "96b582de-1fb2-45f7-baea-a366c55a082d" =20 @@ -160,3 +162,34 @@ bool pc_system_ovmf_table_find(const char *entry, uint= 8_t **data, } return false; } + +void x86_firmware_configure(hwaddr gpa, void *ptr, int size) +{ + int ret; + + /* + * OVMF places a GUIDed structures in the flash, so + * search for them + */ + pc_system_parse_ovmf_flash(ptr, size); + + if (sev_enabled()) { + + /* Copy the SEV metadata table (if it exists) */ + pc_system_parse_sev_metadata(ptr, size); + + ret =3D sev_es_save_reset_vector(ptr, size); + if (ret) { + error_report("failed to locate and/or save reset vector"); + exit(1); + } + + sev_encrypt_flash(gpa, ptr, size, &error_fatal); + } else if (is_tdx_vm()) { + ret =3D tdx_parse_tdvf(ptr, size); + if (ret) { + error_report("failed to parse TDVF for TDX VM"); + exit(1); + } + } +} --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284844; cv=none; d=zohomail.com; s=zohoarc; b=Lz99GBKwsJmXfeHkApyU7HREgpPAV6RBiqdX5j7IRaSUPc/a47bOxhyqOdlzRv/cNmOQYXJ6HGa/4Rnss7NEnti671M1TEiWZlzEe2oLKLvT1oorv0MbDmLJpFnu8/ApsgKjaEnpnP5Xvzeq12RGm0nzDd2zEDXhtcXU9/C5zFg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284844; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=H+01kDL8vwOFCafIr+GaEdpav1kILk0/awwutlUldoo=; b=l2v6jTfioMot9alCE/05/6t3qiujPaYyq8k7xhVvIL62UDWICA27iq1pIZZcbY+NxzwFzpBUVFRT8ZaR03bKvQb0yE9IeYYlpNsUjV+g1NfL1kQ93j/Veo2DkMFPTm22zgzVLTrVGblcsRc/gES4q+uZjKS/GfQMjJ/9QQbTNyQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284844626841.1700530176763; Mon, 23 Mar 2026 09:54:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iX2-00032O-6r; Mon, 23 Mar 2026 12:53:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iWy-0002VD-EQ for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:32 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iWv-0000XO-ET for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:32 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-43b4915161fso2979225f8f.2 for ; Mon, 23 Mar 2026 09:53:29 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644ae37dsm31031247f8f.2.2026.03.23.09.53.26 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:53:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284807; x=1774889607; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=H+01kDL8vwOFCafIr+GaEdpav1kILk0/awwutlUldoo=; b=wrsd/ANCL5eQialOG3c8bChxjy9pdSZCwoG5DkL8GjDnWM8Nrx5/y/cIj6k7yMVc6V Lef1i9Scwndlp40LTcIJz/Yx5xtybsyG7+X5xVSqYypWmucuPdtP8Zu5XDaXU9e6o5WK XXeev8SG705ZV+8xdJKA/Bq4T8uajCqoX47DfDxSA7a2pCoQHuiSEihuElwr6/wcaA/V qNYxU4gVgIGifUWmMaHI4AvzTJXCR2rXYiBvbZK0GU33XZsF1rV/R9qOPsoLwAtNH29I u4ywBKc0dNaEn2LeC6bVQyfFdIW0pGEnb8pgOl1KX4dkz0dZcszBtQOa1vwCVWr0nxiG WKdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284807; x=1774889607; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=H+01kDL8vwOFCafIr+GaEdpav1kILk0/awwutlUldoo=; b=HeLAohHKF6JM/ddEuuetwISEGR3s1rHBeF9a8iKKZe9eshY4THZjoiWDdq650PjvqX 0QOas1ihzefMuLg+wjVy0mAx9vgq9bZ8C1lvBnfXE8Jq2Z/YclxaYJtGdPAKfXJoMjKV Se0508pkEAw5XS99uPMEfHF54e+LaljXnTWNR1WaYCVEIZn6BW4u6PYEb6I9/DTOZAHN THPuw3o5yFf2qQjcA9LDKFFUgp9/QYJDdi/WBIra7QeXJls3atqM/uwRcqdL8y/7cY6j Adpsjw+EGFY2DdXJ3f7s6rsVBXPb0gsycHfpDctMYnz7FqQeLsXhObFNNMpggZvTXI+7 8y/Q== X-Gm-Message-State: AOJu0YyP/NNyaP+/E/apxr+wKaFfIs6xdSlk7IIcYGfmPfPVzNvrdX9p y3ydxuyUdqGnACu28sgxVdqN4CUXxJNNXQ1v+JRQhkviCK2G9/wGA4SYXJTiE0Ar3rYG23pxpVj tYnWvq48= X-Gm-Gg: ATEYQzxifrO9o3RrkAgHE3kAeHxBWpztb81ufoSGtZOkA0A8NtgbEsxy4tWOyJO8Znd 03z6uIq8S+TwRCTEm4VGiWh9bLdWhO2OwZt3dBzFEODHkiraHeSuMAfHeP0YmzlkeWI9TmOUdPV CwlnMdEQgYeKLD2jVnubvZQ/vBHJxkDet3rA6QoO3B91KL4xO8OYwvS+3u6UvZs4hLDMaPu88jk jyQHE8C6fyvgzO/VypkU7oBRJ7AXEdEPHBvwSWQAjxMn7E0yPaJjgFPErksm5b6MQGVdqhl3K2/ oxcG2W7BLlGS/ALTTjK1OkRVyW/N9ekxVgWTjsQABP6yab30aQOv40TSBobeBvXgif5S2E8AK+W 68RfQMyWNVt8WuLxaBv73XF9OdrIffwI21lV7+Vh7mvF+3USWo6iyyb4UpCjlVwyDjymZ/3pgyR YISI+fMa0D6C7Z5mqn0HpiXjrzsuEuapl5wp+ybEC9zUjn1+JKGXmukDgmycFT1lIRujpayD3K X-Received: by 2002:a05:6000:601:b0:439:c5cf:fc73 with SMTP id ffacd0b85a97d-43b6423b842mr20341597f8f.12.1774284807231; Mon, 23 Mar 2026 09:53:27 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 10/27] hw/i386/hyperv: add stubs for synic enablement Date: Mon, 23 Mar 2026 17:52:01 +0100 Message-ID: <20260323165218.96607-11-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284844869158500 From: Ani Sinha Add a new call hyperv_enable_synic() that can be called whether or not CONFIG_HYPERV is enabled. This way genetic code in i396/kvm.c can call this function to enable synic for hyperv. For non-hyperv cases, the stub will be a noop. Reported-by: Michale Tokarev Signed-off-by: Ani Sinha Reviewed-by: Michael Tokarev Tested-by: Michael Tokarev Message-ID: <20260319122137.142178-3-anisinha@redhat.com> Tested-by: Xudong Hao Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/i386/kvm/hyperv.h | 1 + target/i386/kvm/hyperv-stub.c | 5 +++++ target/i386/kvm/hyperv.c | 9 +++++++++ target/i386/kvm/kvm.c | 12 +++++------- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/target/i386/kvm/hyperv.h b/target/i386/kvm/hyperv.h index e45a4512fe9..a393a5d4283 100644 --- a/target/i386/kvm/hyperv.h +++ b/target/i386/kvm/hyperv.h @@ -23,6 +23,7 @@ int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exi= t *exit); #endif =20 int hyperv_x86_synic_add(X86CPU *cpu); +int hyperv_enable_synic(X86CPU *cpu); void hyperv_x86_synic_reset(X86CPU *cpu); void hyperv_x86_synic_update(X86CPU *cpu); =20 diff --git a/target/i386/kvm/hyperv-stub.c b/target/i386/kvm/hyperv-stub.c index 5836f53c23b..767a4c7e1a1 100644 --- a/target/i386/kvm/hyperv-stub.c +++ b/target/i386/kvm/hyperv-stub.c @@ -61,3 +61,8 @@ uint64_t hyperv_syndbg_query_options(void) { return 0; } + +int hyperv_enable_synic(X86CPU *cpu) +{ + return 0; +} diff --git a/target/i386/kvm/hyperv.c b/target/i386/kvm/hyperv.c index f7a81bd2700..bd3c26d02b5 100644 --- a/target/i386/kvm/hyperv.c +++ b/target/i386/kvm/hyperv.c @@ -24,6 +24,15 @@ int hyperv_x86_synic_add(X86CPU *cpu) return 0; } =20 +int hyperv_enable_synic(X86CPU *cpu) +{ + int ret =3D 0; + if (!hyperv_is_synic_enabled()) { + ret =3D hyperv_x86_synic_add(cpu); + } + return ret; +} + /* * All devices possibly using SynIC have to be reset before calling this t= o let * them remove their SINT routes first. diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index a29f757c168..9e352882c8c 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -1754,13 +1754,11 @@ static int hyperv_init_vcpu(X86CPU *cpu) return ret; } =20 - if (!hyperv_is_synic_enabled()) { - ret =3D hyperv_x86_synic_add(cpu); - if (ret < 0) { - error_report("failed to create HyperV SynIC: %s", - strerror(-ret)); - return ret; - } + ret =3D hyperv_enable_synic(cpu); + if (ret < 0) { + error_report("failed to create HyperV SynIC: %s", + strerror(-ret)); + return ret; } } =20 --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284854; cv=none; d=zohomail.com; s=zohoarc; b=dGlfP20WL2XfL2+1QDvFD+qVDkuvP7D4SdTma+ILPvvarA2NPOocJrZz7efcAboV18ojvnGOfBi3j35q48oIL4lIG/Lt3o+Tkf1J/IMBoj+wTDE8ex9XA7fCyQ1UYyZy/pM0rFodj2y7OTrUmS2osKux1w9UyTDu1aLvhSyd6tU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284854; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=/YhwIk60da2oTQuJc0jryc1bfNTZEuAJTxikVRlrD0Q=; b=D43DxGjOw+4SljaFv1z/ScoEnD6o+2LX5OgR1zpy8U2AjZUvjMbf57Vr/R+5H+n2ZHNrhi5aXGwGeoJqn+5azHxsS+fSO6Hfm+I/lXAXVdxzXNVO8lOLgZVfSYXWCQ7aFAKMIpPIPOFp2ahkQ8knzqgnEl99KDrCObJsoCo+YxY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284854461151.93713739992643; Mon, 23 Mar 2026 09:54:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iX8-0003li-GJ; Mon, 23 Mar 2026 12:53:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iX4-0003JP-1P for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:38 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iX2-0000YR-7N for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:37 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4852c9b4158so33740755e9.0 for ; Mon, 23 Mar 2026 09:53:35 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486fe8367d8sm345405025e9.14.2026.03.23.09.53.33 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:53:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284814; x=1774889614; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=/YhwIk60da2oTQuJc0jryc1bfNTZEuAJTxikVRlrD0Q=; b=uVlgd+74ol0GcCOf9ssu3EvsNE8sUXZvB5zoSXS2OanF93wpIKVFeuvPTXJvyLO2b8 sKvabCHU0Sch3BK69A4fym9VMQ/zxiP4+8CxWVYDT25rXtrdRpYQVt/kOz4IR7IJnqie KLvKg/ydszmpx9Q13gofe9hzUez3M0WsPJmIEWUp3ptMttJkqTvNNzzOsCPpwUBh9t5z jnODPUPB3bhd17VjYvuiglso4s66+sSd1+p/lnB79DB+rzwqsuLpBHNCqskA2xQ/HAsZ 9hhSvzeLgqS1nREeUo44eK9dHvNn+10rrdjo5qHx5MWOQjl0iqEc3omoji1158RZ+C6v n7jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284814; x=1774889614; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=/YhwIk60da2oTQuJc0jryc1bfNTZEuAJTxikVRlrD0Q=; b=cc9NNjkExlGo4C/ZMXLiqtCKvbm4ikKkRrqryGrPmICfwOHbJ486FliWrHyEHxpqmH qmrCq4tPnfvp9Jhoj9nu2kU1HQN/H9D2c/rAWwfJ8+Vi7A1GYagE7ZDBs6ojmDn1Zcg4 pv/vKdBO7A/8Dklfe7vFMTzzhObIjgO6n8GAaEFyBhFa/1Zd/HCPMnsFduG6xU2GUrk2 8/RVh9oFRKuOG8CjLRlBqlE4kbfkr5pR5wSE29M5YGhbZmAa1y10TfHjcujiRtfhJV20 bHr+gyic4LNNB7WoExfySbKltl7mJEHgH2VPriOdt+vsVla/lJE3k0aBAaXgTWdjdetJ 73bQ== X-Gm-Message-State: AOJu0YwPPOOR3iQzmFyTDOBpmoN4gyphQVv2x+emZ8Q7e+8uzPNocV2u N+UJHNGjAM+C23Yz0cbbGg1fLtRxoKEXuQskpces+mowMfG/qFX+NQfSIrFhCMQ6YjUEVtY3m3R rQzt9tug= X-Gm-Gg: ATEYQzx3CKHBB2DrEHbeh9RKGKhNRrw3n2WPM5S7oir+i4zfKzK0iQ5AMHYPUjBejAF lTtasGDEJErKGk4C4W3kg7DiiR4VFYj6ZUkm+Youa+7ILrE22bA1C2o6YXt7xIyoeVcJnR6Xuhx 1OR6VoQXlYqjmojRC4vGVhNOnPaDkHkmUcWexzmOzrG1LJd4J5GtNsWN1JHDPwTjOoMZZxng3lR 0GC83b1lPWM0yt/bm1NNRoo1+/NF/A9LC6aP7dU63dyYcNwrIyutITvoRuMMRpq21errbfsQMV/ Yi1qmgdymp7aLrFv9IwH54EUXZjlQmbSDZZnvadn4oIUQwtUs7j1fOoLQBfZ4ZYHjKXMc3ga26m Y72rMNntE50pZZjBPpFafanhIr3OS3hYkcENBgM5RR3K15/J51OBVR5V++hD914FiHUhqfCq+6X BoM/txv7pUAHreHNoK1v2ISf76z7sRN9/Bq32F6/WjziUZPm1MWUzBhR8WoG0To3hXtRW/V5a2 X-Received: by 2002:a05:600c:1d1b:b0:485:3cf3:1010 with SMTP id 5b1f17b1804b1-486febb5fefmr189242445e9.2.1774284813981; Mon, 23 Mar 2026 09:53:33 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 11/27] hw/cxl: Respect Media Operation max ops discovery semantics Date: Mon, 23 Mar 2026 17:52:02 +0100 Message-ID: <20260323165218.96607-12-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284854964158500 From: Davidlohr Bueso The Discovery rejects requests where start_index + num_ops exceeds the total number of supported operations. Per CXL 4.0 Table 8-332, num_ops is the "Maximum number of Media Operation to return" - a maximum, not an exact count. The device should return up to that many entries, not reject the request. Cap num_ops to the available entries from start_index instead of erroring the command. Fixes: 77a8e9fe0ecb ("hw/cxl/cxl-mailbox-utils: Add support for Media opera= tions discovery commands cxl r3.2 (8.2.10.9.5.3)") Reviewed-by: Jonathan Cameron Signed-off-by: Davidlohr Bueso Message-ID: <20260319184256.3762391-2-dave@stgolabs.net> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/cxl/cxl-mailbox-utils.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c index c83b5f90d4d..a5b70cd01c0 100644 --- a/hw/cxl/cxl-mailbox-utils.c +++ b/hw/cxl/cxl-mailbox-utils.c @@ -2675,6 +2675,7 @@ static CXLRetCode media_operations_discovery(uint8_t = *payload_in, } QEMU_PACKED *media_op_in_disc_pl =3D (void *)payload_in; struct media_op_discovery_out_pl *media_out_pl =3D (struct media_op_discovery_out_pl *)payload_out; + int total =3D ARRAY_SIZE(media_op_matrix); int num_ops, start_index, i; int count =3D 0; =20 @@ -2691,24 +2692,20 @@ static CXLRetCode media_operations_discovery(uint8_= t *payload_in, * sub class command. */ if (media_op_in_disc_pl->dpa_range_count || - start_index + num_ops > ARRAY_SIZE(media_op_matrix)) { + start_index >=3D total) { return CXL_MBOX_INVALID_INPUT; } =20 media_out_pl->dpa_range_granularity =3D CXL_CACHE_LINE_SIZE; - media_out_pl->total_supported_operations =3D - ARRAY_SIZE(media_op_matrix); - if (num_ops > 0) { - for (i =3D start_index; i < start_index + num_ops; i++) { - media_out_pl->entry[count].media_op_class =3D - media_op_matrix[i].media_op_class; - media_out_pl->entry[count].media_op_subclass =3D - media_op_matrix[i].media_op_subclass; - count++; - if (count =3D=3D num_ops) { - break; - } - } + media_out_pl->total_supported_operations =3D total; + + num_ops =3D MIN(num_ops, total - start_index); + for (i =3D 0; i < num_ops; i++) { + media_out_pl->entry[count].media_op_class =3D + media_op_matrix[start_index + i].media_op_class; + media_out_pl->entry[count].media_op_subclass =3D + media_op_matrix[start_index + i].media_op_subclass; + count++; } =20 media_out_pl->num_of_supported_operations =3D count; --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284866; cv=none; d=zohomail.com; s=zohoarc; b=evmRrPiH92X8WFsq/fecmAfc+O3X1Q+VwGT09bqGtosRk+75ABdmTrOZcaoeEl2acgksRezDkXdDh3r02DaV58AkHlkNuXAn8VMBqY+IUrUElJyQaBJooBnnx9++auRGdg6DtNX53T+6rm6cCdVUUxUVn0s1CbLWHGi7NNsst1k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284866; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=Ytl/Lf/ir6hv7oQtfO3hAVuKT+Xlc63h9VpXwPWBR6I=; b=n+M8DpW5b5ZNcKgxG0z0NOUO1LuJsUmC+qF8BEMy2nLR1yB/AnczMU4SJjD9qt0TMmGddQ3iZ6uTnAjvzjwGDxEqBOo4p8f6Z+wL1TXm3imlMqZzeache5metQErMvF4dRt6iVbhgbzIOCiRiHg4Z1ZV3+oLCFo3RkdS4x81wco= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177428486684184.25812522468482; Mon, 23 Mar 2026 09:54:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iXI-00045i-PK; Mon, 23 Mar 2026 12:53:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iXA-0003qE-EJ for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:47 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iX8-0000Zb-Or for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:44 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-439bc14dcf4so3723972f8f.1 for ; Mon, 23 Mar 2026 09:53:42 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b64715539sm31339390f8f.33.2026.03.23.09.53.39 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:53:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284821; x=1774889621; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Ytl/Lf/ir6hv7oQtfO3hAVuKT+Xlc63h9VpXwPWBR6I=; b=dROAP88us0XhtPpOy4hh2WksFFjUUc1tKb0eKYZfl8MJvAA5SlzgQzBVVlw7+dNkGN 6Wg3gk4B0wsz+HZnCHIMm78TW2LVDL/HO+uODvQoxikOstY3EEtYw9w2jk2GUyqSNVbm RKvien3XJNoffmRyEES9iRkATVF6r6y7f83NjT45i3emkOxwyIVus3iXtry/0mj3dBJ2 F80D/tw4vR/qD6QJAzvivROfB1TPZEWjYokaOdVi0VjZgJboP3L90bV0zq4NIRZaa2/l hbxiD1JV9kJxMNcKvxRwFB1R3bhHBqKr9zGvBUoeNbpakmy6Nwzf0GDt+OUlJV3BiHuv kTdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284821; x=1774889621; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Ytl/Lf/ir6hv7oQtfO3hAVuKT+Xlc63h9VpXwPWBR6I=; b=jhb7Uh1NiCbE5lc/HZX6XPeXNqf3Wgejs0z0QbIty/7qLxpdjgrXRAXWkOmpOSK2Qm SihsMBfYwsk6r8AUW/wT6p3yxECu8AF7gkZzDTAAL0SCA0cXODSWWGv7GGxxWA2Ugrnr JrXB4IdzlWDVPEQz6EyKhszfENbkWJdi6J075XE4zeTXP1HB8SHZppZz9a35fySkenTI Cm9d6hxoSxtH+VRnFzBoMQpcc2UMtrkxI3lHLL95fbMzTJcB96twUfjJKLR8lGBddkos P0Q2/Tf/FLoNNzwqd7MrL5BVFTTUnKUZ9J7buO8cfXOiMtWgkthWrilj1S91xA3oSoN/ /yvw== X-Gm-Message-State: AOJu0Yz3UK6M4zFB9pUUU9OWfmbfJ+fOhpFSb/8ApxdTqX+kFa0Hc7+Q X1UDcNGwMFJJ0FqdHDze0/xSMdk48aOt6f/jXCCCsfghSvbp1DzryoRAp/gi7XGJv7d9baomeIT XZsSpMY0= X-Gm-Gg: ATEYQzw9dsHjbi+cNQBrfQaIGEuD9Z55vsQkz4EQhV6dE7MPIc+IevFcdW9VeZVjEYY 1klLKBu8gzykFxNBusadll6D2ex1eTAbkhQLnZeC5yoDEU35om+8Ry6Fwrrshh7fJ+6NqPJ7T7t dgxkaAJg1BOkWE49SMlAkGuRs9fcUC5fEpH6SfxkVwhMImQPKEaYAd1DuTPUENJyO0ez3y9nc0u cRdtC3HLn6b3M2VSHKtBJYejf4XenibdlYPl5xpMeEPXAg4mZl8KBaxFKD5Sp8X8lJPyB3y9uog ml/USyIB97UEbr48lYSfRxOy+k5+/Oqbw45dO0As94rp/bDz/PTU7AFz610Dk5hPC3a0wipyrAb Sws1Y99QyShbbLVwedxzQh32ipBcET8zKK39DSbcH62hx/16ppa/83y/yAi3wEkh9oXXAdg8bYX L18UiAW5MZpMU1bTwx+YW3ZxO8d/UvxEh+qmC/h31FvQ3CnPGCyNhDueR1fjw0A8qRU6rKw31o X-Received: by 2002:adf:e19c:0:b0:43b:4166:b855 with SMTP id ffacd0b85a97d-43b805923d0mr482603f8f.14.1774284820702; Mon, 23 Mar 2026 09:53:40 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 12/27] hw/cxl: Exclude Discovery from Media Operation Discovery output Date: Mon, 23 Mar 2026 17:52:03 +0100 Message-ID: <20260323165218.96607-13-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=philmd@linaro.org; helo=mail-wr1-x430.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284869036158500 From: Davidlohr Bueso Per CXL 4.0 Table 8-331, the Discovery operation "returns a list of all Media Operations that the device supports, with the exception of the Discovery operation (Class=3D0, Subclass=3D0)." Filter out Discovery entries when building the output list and adjust total_supported_operations accordingly. Fixes: 77a8e9fe0ecb ("hw/cxl/cxl-mailbox-utils: Add support for Media opera= tions discovery commands cxl r3.2 (8.2.10.9.5.3)") Reviewed-by: Jonathan Cameron Signed-off-by: Davidlohr Bueso Message-ID: <20260319184256.3762391-3-dave@stgolabs.net> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/cxl/cxl-mailbox-utils.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c index a5b70cd01c0..d8ba7e86252 100644 --- a/hw/cxl/cxl-mailbox-utils.c +++ b/hw/cxl/cxl-mailbox-utils.c @@ -2675,7 +2675,7 @@ static CXLRetCode media_operations_discovery(uint8_t = *payload_in, } QEMU_PACKED *media_op_in_disc_pl =3D (void *)payload_in; struct media_op_discovery_out_pl *media_out_pl =3D (struct media_op_discovery_out_pl *)payload_out; - int total =3D ARRAY_SIZE(media_op_matrix); + int total =3D ARRAY_SIZE(media_op_matrix) - 1; /* exclude Discovery */ int num_ops, start_index, i; int count =3D 0; =20 @@ -2701,10 +2701,12 @@ static CXLRetCode media_operations_discovery(uint8_= t *payload_in, =20 num_ops =3D MIN(num_ops, total - start_index); for (i =3D 0; i < num_ops; i++) { + int idx =3D start_index + i + 1; /* skip Discovery (first entry) */ + media_out_pl->entry[count].media_op_class =3D - media_op_matrix[start_index + i].media_op_class; + media_op_matrix[idx].media_op_class; media_out_pl->entry[count].media_op_subclass =3D - media_op_matrix[start_index + i].media_op_subclass; + media_op_matrix[idx].media_op_subclass; count++; } =20 --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284854; cv=none; d=zohomail.com; s=zohoarc; b=AV50GkeqW/EvaNXBXsU9X3JyLb0WU/EuAjCFEGeSi50C6fgHlUEaUo/VPwTsaHwBR+pNNJdMc1vD1wwvZ95qrJZNdYyhV2ePzCKC6FvExy1D7R77N/UHXRKl13hLFbyynl74NAKugh16FUGgajQ8gc2XZatUclkukXUDuErwwTs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284854; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=9xec0PufxJI+IEi1jZgcoZUa38ZsCLM2bEVrWDrVSGo=; b=Dv41eeQA7Y4PPFbdKV1qnvW0CpzW0Kdqnl6Qi+QPOJ6Rimk1ERLBCb54VgrVFwKtcm0rJeHuX4UlpZIWMn2xC5494uiCm4RuCxppTqIOm12EGlLF7PSWPPRBL8cvztHMdAfjqpzJ9rIv7f60kMVkMFvxaAgFU+4oBZiuVAIWR+8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284854345419.2339320032404; Mon, 23 Mar 2026 09:54:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iXJ-00048b-Au; Mon, 23 Mar 2026 12:53:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iXG-00041W-TC for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:51 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iXF-0000a0-Bh for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:50 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-486fba7ce4cso3252335e9.3 for ; Mon, 23 Mar 2026 09:53:48 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644ae37dsm31032656f8f.2.2026.03.23.09.53.46 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:53:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284827; x=1774889627; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=9xec0PufxJI+IEi1jZgcoZUa38ZsCLM2bEVrWDrVSGo=; b=o+yOhX0ANdGr/TKOcZAiCEViGrwXDKsTXxnRPPfKvF69I7HYDVcRFbSNoXzQEX9XJs achnVb0jNaodvqaxmEVDTaf/GvdO5TNvlKeH33UhTTDLMo5gwbk3DV6sOESogYDE4l7a q1TzdojRY01dkRuvep4J8t42f9fumnIAXhKe18Xz2+2r0d5DLWs/6TBxqnxsKt2JAnN2 6W0eOqmGZVc1kDXAUhDi2ddZyYlytb2MWDEubo7RHR1Cip2HpCqaJg+JJOVGhpGhlA5b i+VVesW09gomUTnjX+Ks7DyEeilB8GSDs+8FCSLMPiIINP8KVf+gq5LEg03ox91XI6sq ggbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284827; x=1774889627; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=9xec0PufxJI+IEi1jZgcoZUa38ZsCLM2bEVrWDrVSGo=; b=IB+E3Ymy0/x0zsPM0dA+VFuOoOiaqaDmOiX8fCbwDMMYudmG0jy5lzLrrO7Cnr+M+3 Ww+Cx4BX5cI3rlGKzZU86XEtgCi75xiMK9dopuLkEIiMEjhf8Ki5yokuYaxmP/Ocj5gI UJFgrkt7MkBFryLlNiD2bgNUq5FpVzkdKeY/IX/AWJVnNV3k3IB0BLXBh9L9H8TSZOPc vOw4yXD8wAjYYbuJkdT/nd1t0LqXRmXldo508nvmglOXgJdyX02qzV4a/xTHkaNCIWiq Htljyfs8vhvyLY8FjZ7sOFnGAca8QHinYGss3SxIa5sgPddaJnX054lt5bucX7TcyCFN tD4A== X-Gm-Message-State: AOJu0YwRfLhTaMM4Byxm336ysahsx9ZqZI9oPAkusBHd755M8dccs54Z ln2Qm5j92XaBfntEYSnjIp/UovYb81XO9BUYVv/ULIPEkNcgwPifbn5LOmuFoby8OHoqv6izq2q 0x452whA= X-Gm-Gg: ATEYQzzpaM7hHmp8eobuQ9GGaz7oLW7HnMr4bWOr7aBQdYrfPRiwRkYyWcgEELB5Oyi Xde9SOo/O7uZ1i7uoWwrrKZDpYFKiMcpl89ZjtPJ+OhF0JJ7wkWe9W9pW80+Q33/UWU8gHr3FeN rF4ybVy9UgujB0xHzeXsItBWfepiJS1fB1zF7fmHu4y9Mm/XqEPaUv2Ijl2RH/QdBh+xKUoZ+eP Y2EEcIBISVmgzI3Morq0CJiBOLu0Xtfh1C9yDxE4qLXk338xTMdLmAKVXRpXnYmlpAG59xy7MRm DzhtP30ZIlgDyYhm5/fYRsXChqChxkYTYuudcI05I1ynaO5UGYZROcRY8strKr+J09t0qjjTPnv 7X+i/HEDdEd6hJFb8V0dPq8gwXOfHeUo16cOK7/xyxREolIOKX99Y6IKXiW+PFXCqSzJMMfrKT8 PQLMrGd2oDaG7be9Z1Pq1BmBUu3lkDjee1sy3GkgBpvo54wYwLzczllEy1avxtcZqA5npVO0Br X-Received: by 2002:a5d:588e:0:b0:439:beee:43aa with SMTP id ffacd0b85a97d-43b6424e655mr19486926f8f.16.1774284827277; Mon, 23 Mar 2026 09:53:47 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 13/27] backends/iommufd: report error when /dev/iommu is not available Date: Mon, 23 Mar 2026 17:52:04 +0100 Message-ID: <20260323165218.96607-14-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284857196154100 From: Pierrick Bouvier In case current kernel does not support /dev/iommu, qemu will probably fail first because /sys/bus/pci/devices/*/vfio-dev/ is not present, since QEMU opens it before /dev/iommu. Instead, report an error directly when completing an iommufd object, to inform user that kernel does not support it, with a hint about missing CONFIG_IOMMUFD. We can't do this from initialize as there is no way to return an error, and we don't want to abort at this step. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater Signed-off-by: Pierrick Bouvier Reviewed-by: Zhenzhong Duan Message-ID: <20260319205942.367705-2-pierrick.bouvier@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- backends/iommufd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/backends/iommufd.c b/backends/iommufd.c index acfab907c03..e1fee16acf2 100644 --- a/backends/iommufd.c +++ b/backends/iommufd.c @@ -82,6 +82,9 @@ static void iommufd_backend_complete(UserCreatable *uc, E= rror **errp) } else { cpr_save_fd(name, 0, be->fd); } + } else if (!g_file_test("/dev/iommu", G_FILE_TEST_EXISTS)) { + error_setg(errp, "/dev/iommu does not exist" + " (is your kernel config missing CONFIG_IOMMUFD?)= "); } } =20 --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284895; cv=none; d=zohomail.com; s=zohoarc; b=j2T3po4iHup+t/mYCSdiyRI52au9FOJMEbZKZmDd3skALgvnfOSBEC2YLwcZT9eCRC3xzb5ZlPcNsdXFjpAxeP+c2Oq5LrfxISDs2Jx1S+UE7IWweD00hcunLgk4xoUpTCmdOPMR8DfROT7OHsVz/+1ppKQxYdgvAkJAGPFw9tk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284895; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=hQjqq3u97AoFafmWsWE1btsU5OiybkBrm5wYCU6VUyo=; b=POLvcns9otiq7kzj8hOgXRvxV5HerleNQVvAkqsl55LHnQ6x9AcYz7jZnkO2IzeUm7kkfwruVFFEsCDC8JC6PaYDhksFUQqUHGs/LIhML73dVyzv5r1V9qwSwFoW18csmvALFgY9MCxmX/9PXQmepkGlH+J5i8HO7Or4W4v4G70= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284895120109.43312534953475; Mon, 23 Mar 2026 09:54:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iXV-0004aK-A3; Mon, 23 Mar 2026 12:54:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iXO-0004Rz-6l for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:59 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iXL-0000ao-NJ for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:53:57 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-439b9cf8cb5so518688f8f.0 for ; Mon, 23 Mar 2026 09:53:55 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644ae048sm30843201f8f.1.2026.03.23.09.53.53 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:53:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284834; x=1774889634; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=hQjqq3u97AoFafmWsWE1btsU5OiybkBrm5wYCU6VUyo=; b=XGOa5Z4gPPqUaaY47TIj5tJLVEAuCsmE9H2qq3VNtKzoZlCGugg1pCC9SER1Czb1U3 Ahi1zJMCnWRNwvyfps+V+MuzGAsLxsWLxoWr6TRYV9xoPahdA+R5TZoFePb57tkxFJgM YWDFGLGf8tg8WpN5CmftRHau91OdpcHGvnRyCZYW99SIzvFZWTK/SSTMqS+noW0qR2E3 VYhLzct/CfHcdGOjehdYdVXfZLxMptanKlK1xZkJ1h54kbEqB2/NaTNb/+VW5NBzL6wl LbFsdT37O9oLQiMqJQYWqRpaKMokzveQsxZ8pI3oRA8AIb853/KZA5wyIARdoD5yMKiB uXAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284834; x=1774889634; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=hQjqq3u97AoFafmWsWE1btsU5OiybkBrm5wYCU6VUyo=; b=n21I/a2QgkCOPHia9OFN5aTmuhrnIkk6ZpZcINHFatXzoIEWmHmVWbr8JeDyxu5Glv CPBCHCzp3/Wi8VGllQAuP9g1bszgYwRotvTdRF2mcUijVxXWHaHb1J2XnTTfWLOrIGog Uv6EmCHAyFC5JxlzJ419HrCf3rQlTkkyaq06ZE4he68JgrD2xcy1yNw1dHgcxYUWk9tY Fa7hzsRg8hj2F1/LOgVlAbnidKgyaFEe113pcx1VLz5EdtStWh69ACyk+u/ou9M/0Aqw FlNu0ymijsJiFrAXqGBQZ+X2kss9GaXYAySag2SCA4cpPP7LLFfd3eEbbCpgrTW5VcB/ ogzw== X-Gm-Message-State: AOJu0YzRvpgQEWSIUKecTDRYr3RDI/UJOqcaca9hmIAqllXXwrllxyYh xaCJfO8GeRsWzT2wsiMWCBbRpJIPESMiS5uIq433t9nTqYUypTZwoMAvqAP5X2KmGkUnV0+OLj/ ds2e0zCE= X-Gm-Gg: ATEYQzx2IMmBfaTkofrGFmZW197GBswyWzR5qEysOrxxgH6A35lqNf1z9lGVT5JQq3W M8FTl3yc5gnerFloKZtAmWHeJtBKrg4mHaSsbD9c94uhSY35mJPzQv75J6vRvA0YPvEsD1ZPDGl La+MApB9CfKOaCsMIm8lyY6u7c/+XMfIjCyHjed36KqXaMH3gVWFCmTnhJODwk8pgmM4F1biVhZ El544uQpVstzpMtZ3unZhKhH5XeZUVGQMdqZpR18AFORxok08sMgOU/O5zuHKVLVRHkTU8NNda9 rXVt+P5B6U4Gljyt2qXLKmcWRzu8y921Kq2G0b1CRcVfOFLgT67eFjRly+0Xyj8zVOd8c+cUfLB qWJgxKHu+GpPXgtcbEaz8pnN/bbO0D/oRtz2u58J7/a8Al3LvfHAyS3avEBEi1O1werRNUn8e8g 2Kn7UvbNvMD3QpTg6IMLCtmczNgahht1L7kXNuKPeX5/Sb7eP3SHJwlluRGLuqwhN8nikT/M65+ gIP7SkNbdk= X-Received: by 2002:a05:6000:4282:b0:439:b791:f920 with SMTP id ffacd0b85a97d-43b6423faafmr21067741f8f.17.1774284833835; Mon, 23 Mar 2026 09:53:53 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 14/27] hw/vfio/iommufd: report hint to user when vfio-dev/vfio*/dev is missing Date: Mon, 23 Mar 2026 17:52:05 +0100 Message-ID: <20260323165218.96607-15-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284897177158500 From: Pierrick Bouvier Give a hint about missing kernel config CONFIG_VFIO_DEVICE_CDEV. Reviewed-by: Yi Liu Reviewed-by: Zhenzhong Duan Reviewed-by: C=C3=A9dric Le Goater Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Pierrick Bouvier Message-ID: <20260319205942.367705-3-pierrick.bouvier@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/vfio/iommufd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/vfio/iommufd.c b/hw/vfio/iommufd.c index 131612eb836..3e33dfbb356 100644 --- a/hw/vfio/iommufd.c +++ b/hw/vfio/iommufd.c @@ -274,7 +274,10 @@ static int iommufd_cdev_getfd(const char *sysfs_path, = Error **errp) } =20 if (!g_file_get_contents(vfio_dev_path, &contents, &length, NULL)) { - error_setg(errp, "failed to load \"%s\"", vfio_dev_path); + error_setg(errp, + "failed to load \"%s\"" + " (is your kernel config missing CONFIG_VFIO_DEVICE_CDE= V?)", + vfio_dev_path); goto out_close_dir; } =20 --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284883; cv=none; d=zohomail.com; s=zohoarc; b=Q4sohpvdjCdxvlFw3A1JghICOye2bMog0Pq8z1iI8HGSLVYfcnZn9mH6EFEzgOutmQtIZbnYRY/YvTgCrlSa5Ivjbly3VA4goLXyhVIVD2PWAY5aC2nINPeKCmx4Epn9blzyZsARbdTocawlWuw0+h60/uT47jrg+NaotWYy+1I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284883; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=4MpTe1yv7uEMZE6CnXhL8F86Rr2QJaTOJmEJNZwsfqQ=; b=AYTQqBCNYbU6TI6ETHE3IQub64muSbeCx/zZFYT9gFZbKl64fRp1nEM6g++0vnLuWAc1BUu1PcRvYECYmvGOt/KFG1sL0rEGfEEQ2QTN+/Z9cIeJGiCB9OKk+acLvih0OTkJh3OwgXQOzvdMRIAdH0iObVUlJExVeITHDJZeam8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284883367368.1377009534448; Mon, 23 Mar 2026 09:54:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iXX-0004mr-6S; Mon, 23 Mar 2026 12:54:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iXT-0004aL-U5 for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:05 -0400 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 1w4iXS-0000bB-CW for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:03 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-48702d51cd0so29549025e9.2 for ; Mon, 23 Mar 2026 09:54:02 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b6470393fsm32046440f8f.17.2026.03.23.09.53.59 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:54:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284840; x=1774889640; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=4MpTe1yv7uEMZE6CnXhL8F86Rr2QJaTOJmEJNZwsfqQ=; b=byq5oydEe/VlmG1/39r8cVdThxb1L6J6+hXpUnrRcCiktJKyi1auFwf+qaFr0KZbeZ SBLSpZxWWWXgxVosgrTkAy2pqdp8ntE3TG4kLUDE1ke5xpwY/66FISOTTFKmFBafg5iF FDZecwRthOVZf4KUi9pKgnC/ozQM8+EH3voUsRUk410lSN2LiqxB91wGXSpDzFYxk62q 6jhzhRYaDyxtBrxz7P80HAW9ygb8qoRw5exN25x01SbIfOaj9i79w7jo8NA4ox7LFPKL JigmKHluFHTVgdqipD7sDm97ztlCxXW0RVmpag6KaxTV2Xn4fgcrtVM/ajQe3ebiht2B G9sQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284840; x=1774889640; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=4MpTe1yv7uEMZE6CnXhL8F86Rr2QJaTOJmEJNZwsfqQ=; b=aZg0dFOdSJaD8jEsoWLHWjf+BlNWJ3gtVA39IOXWuBRcobuOs5+cOskAQXQnd5Grms vVPxEKDRKpMhrZRLOjvv94fFhjAz8HXJ1G3IH3UbSc7S40kElVHMQIbvk3SAq7/NpE22 ZfaoF83GEGrssudtsnlKZh++OKNTrR5CeO9A7Ykgk/XDQIb4Fb+JZ/lWakQMF+vHjS13 EC2xHFPXKlWV3YZpcLcvVs5UVXaruh9N2AebXneadUmzfW2dZL9JcXMQZdxWMRusbxFg wZouUshCXSFA970Nl4OvfTrc3IoXoowJRabpZR9tXt7hnmmV+y5GBWgUUHm6OkiwIurG NG9g== X-Gm-Message-State: AOJu0YyGD06XEHbP1/ayeBky3MlOKNcM1c/lz7IzDj4ntJfWUmBiFPcv JuB5RG3XxzCp/b6+/Xa9IHCdhuvC45A2nTjzntT8DSCPk25tA1l50BN+hvTr4tdPC0LElJ9z4g7 SHX6IVAU= X-Gm-Gg: ATEYQzxwqSL4FmQrNa3uJNZibrCzte6JcrvHxgEWqSiSUWnUz95EEs63jdD+49AhNbm gKIUV3AD+zmMb+oz7q3qVZ9DIOizeK22Cu/lyEbPRGf0mVkXRpY44ne5NyLDltILxhWC79TVXUU QTRkFncVK98VcvUxASFxGZgPlpfIlp7cqyhorkIYWUzG2k1ubtYLNCEj1RlxSPIvlaXpbUaez8a FHvc+B3Fi5vQgDFX3TNH4HOZCC613W/U7K/Fia65BM4bsguDjjnS44+vFUdXPk25cPFRwrKVrAL g4Ss/66bjuyPFNzJKQYIS54MOPmzB23XtbZxXnMSWj5jdyMK0Q+DpGb8i8IWVZzbOBEBE+1AaRZ i3NWPJRvzbCy51+TlCkLaegkatwt5ENL6fTyx0mN1f8GfS/xtCalX6fePdrpfhUqi8j3lxzIQb/ UKommKn2wyae0npzxGQRdi4Gg6YmAXVRDZ67VrPV25hhJWDUmGjHmVARbRJ4K5yKunfvQ4wwmM X-Received: by 2002:a05:600c:3212:b0:487:1c2:6a4c with SMTP id 5b1f17b1804b1-48701c26b76mr91783185e9.4.1774284840485; Mon, 23 Mar 2026 09:54:00 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 15/27] hw/hyperv: Fix SynIC not initialized except on first vCPU Date: Mon, 23 Mar 2026 17:52:06 +0100 Message-ID: <20260323165218.96607-16-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284885594154100 From: Sourav Poddar hyperv_is_synic_enabled() is a global flag that returns true after the first CPU initializes SynIC. With -smp N, all subsequent CPUs skip hyperv_x86_synic_add(), leaving them without a synic object. This causes get_synic() to return NULL, making hyperv_sint_route_new() fail and triggering an assertion crash in hyperv_testdev. Fix by introducing hyperv_is_synic_present() which checks per-CPU whether a synic object is already attached instead of using the global flag. Fixes: c4cf32fc63f1 ("kvm/hyperv: add synic feature to CPU only if its not = enabled") Reported-by: Xudong Hao Co-authored-by: Ani Sinha Signed-off-by: Sourav Poddar Tested-by: Xudong Hao Message-ID: <20260320154752.204725-1-anisinha@redhat.com> [PMD: Reworded subject] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/hyperv/hyperv.h | 1 + hw/hyperv/hyperv.c | 5 +++++ target/i386/kvm/hyperv.c | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/hw/hyperv/hyperv.h b/include/hw/hyperv/hyperv.h index 63a8b65278f..23091301d06 100644 --- a/include/hw/hyperv/hyperv.h +++ b/include/hw/hyperv/hyperv.h @@ -81,6 +81,7 @@ void hyperv_synic_reset(CPUState *cs); void hyperv_synic_update(CPUState *cs, bool enable, hwaddr msg_page_addr, hwaddr event_page_addr); bool hyperv_is_synic_enabled(void); +bool hyperv_is_synic_present(CPUState *cs); =20 /* * Process HVCALL_RESET_DEBUG_SESSION hypercall. diff --git a/hw/hyperv/hyperv.c b/hw/hyperv/hyperv.c index aa278b179e6..a42c2850e35 100644 --- a/hw/hyperv/hyperv.c +++ b/hw/hyperv/hyperv.c @@ -60,6 +60,11 @@ static SynICState *get_synic(CPUState *cs) return SYNIC(object_resolve_path_component(OBJECT(cs), "synic")); } =20 +bool hyperv_is_synic_present(CPUState *cs) +{ + return get_synic(cs); +} + static void synic_update(SynICState *synic, bool sctl_enable, hwaddr msg_page_addr, hwaddr event_page_addr) { diff --git a/target/i386/kvm/hyperv.c b/target/i386/kvm/hyperv.c index bd3c26d02b5..420c76b5ff5 100644 --- a/target/i386/kvm/hyperv.c +++ b/target/i386/kvm/hyperv.c @@ -27,7 +27,7 @@ int hyperv_x86_synic_add(X86CPU *cpu) int hyperv_enable_synic(X86CPU *cpu) { int ret =3D 0; - if (!hyperv_is_synic_enabled()) { + if (!hyperv_is_synic_present(CPU(cpu))) { ret =3D hyperv_x86_synic_add(cpu); } return ret; --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284871; cv=none; d=zohomail.com; s=zohoarc; b=MSEn3sbeyNqOrimCWBpfFcWbffPYHM6WeQb9D9xaRtdujO0D5YzuQGPs0QLmmzfO/FRn1GzmMh80tNh60fIfdLMsjQ9BO+l4rSCkTTtiL+ZhIKdkEXxYIyAk51BpGE/2goNzvJa2H8Rsyh5ctsaTlCF9zyP8l8ulvcv3s/J6+PY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284871; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=HxZq9kuwV2EPeGqBtGUjPbFp7Ne2hS6lS30xXSScbwA=; b=ciJJwLc8/+B2UF6iGruuY4IqdHueMecdJcFaFvK/IQEWTm9++RNcvsdEOsHu3DnSRi8Ls+GWYy+EHlAgz8EgDHOuapHUN5ZLMxTL15PLTm6iXDj54lOfB1UxR9ME9JGgOrxb3PZpN9u+2O5ENw6Hkz6d1Ww+BTu50fmlhB7XgA8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284871893369.6653996561222; Mon, 23 Mar 2026 09:54:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iXe-0005Pq-LG; Mon, 23 Mar 2026 12:54:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iXa-0005Ap-HE for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:11 -0400 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 1w4iXZ-0000bg-0I for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:10 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-4852b81c73aso27507535e9.3 for ; Mon, 23 Mar 2026 09:54:08 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486fe8359acsm291324285e9.12.2026.03.23.09.54.06 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:54:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284847; x=1774889647; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=HxZq9kuwV2EPeGqBtGUjPbFp7Ne2hS6lS30xXSScbwA=; b=csI/04/qSKUKg5FwMqNBgKpRQOIt/rcyspTGnH4kA7xfqz2s5ro9d8FXasMZUinQIg I06n+9oQ9r33vs55m9Ng41p6CIKu8igpaWcHiCb5Ete6Vf2M0qRKVunq+GdQPfzsEZHW p6bnzK1TcZ+F0wORfsWBfJXDq6ohD4Q0p10FgBiuH9X+qWSSdbrxfvaHkt5JW9iVShV1 Foph4Ojv9oGy1U2O4ECXPvF+hNn1l/rQNPMFtIW6IMNw3FvQ9EUYJCZiZF1WM2HwgWct TlPXebjvlZf/FcPxcLGfBYWycRYriJypmSlFv1AKLVQ+19G01UMge93q8qSArMstgJid 1bFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284847; x=1774889647; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=HxZq9kuwV2EPeGqBtGUjPbFp7Ne2hS6lS30xXSScbwA=; b=KulkaDcD/bGqsENVsrbNEWP/OZFvbThqv8UdaAjSM3JBbduD6DawCoFdoW+K4+S035 /6xZogBw1dl4L06HQM6LyfsPc6J4tM1C57qgSml0cV5ogF55kuuhsxXftB1KYWDEgx1q GPswKyR/Sa/e2/9fEtQlHW1LLd+QsMvVK1TJCBz2ex4mRgIhKXMt4kjJ8rSVgQhUQ19t w5FOI8F54YFsOd49YcDXKAx/Rl2C+P6WXBt/rWJAAOd81drtPbAO/074uVAoeavI1LX3 4sFwb2rOulH+2ntSgIqro2S+aJ4mXxBSHpjhYuA/vKCVLYQHEOswMFV2ENEO9qXst4oc nq8A== X-Gm-Message-State: AOJu0Yx4PYUGbH1D4cYTFXpRqRfIi6fGloRWS84ve25wgkgCAzJ06AKM +a5oidwVLxdoANMISr5GviiqBG5lYGK8WJiJPhELoJqwAxHYMDuhbBlFfFBubNshihzHc+HzgJk t4wCeJH0= X-Gm-Gg: ATEYQzxn3nlQL10QRJqHI1/ynvLgPvFHB2G23GduXxPAub72M2CxzLC+KNTVeidiNRx 7owDMc8ZdGvknKwXJUBTwJHRuxsyOuKLU5w7osjmDpysRB29yvSfYpFouJPoqvzr+AvlZqAzBYs fJo1XTpFAvue0rJNsTN3ym7oHUlY/CwFYgMTFYXiFn/iqm/vn2u4MsSa/bZEj/xSJNCh/SClI+F 7IVbq6Pa7UyLMMiqvzbRImpvhzy926QWURdkwvhPR5NGALMIbZFqjZs0tymolpNfV13x0Flno1g bl6rjdVVFZEblsbPSyM1ebl4/KOT1tQ18XyQZcKgIhneSB1uvpYiaIbQ74ygcz/iXfKhCBdbZRZ OAIQFmIuwh3cCfChrS0qkrafKFWZSo8+Yjd0ghKiFZM5+e5UiFJml8cZSla25H0icK0jGrrjLCV 2A1/1NPa9g+GNydzxuJJx8HVIoqH8g6Hd13fU/BGQfpgfPdGjnpQ0oNhVGggbKmeUrR3h/IVMOT KEA9Vv5T1E= X-Received: by 2002:a05:600c:3546:b0:486:fbdb:b718 with SMTP id 5b1f17b1804b1-486fee29536mr182910175e9.25.1774284847005; Mon, 23 Mar 2026 09:54:07 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 16/27] hw/usb/hcd-ohci: check for MPS=0 to avoid infinite loop Date: Mon, 23 Mar 2026 17:52:07 +0100 Message-ID: <20260323165218.96607-17-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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=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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284873076158500 From: Jenny Guanni Qu When a guest sets MaxPacketSize to 0 in an OHCI Endpoint Descriptor, ohci_service_td() transfers 0 bytes per iteration. The Transfer Descriptor never completes because CBP never advances toward BE, causing ohci_service_ed_list() to loop indefinitely and hang QEMU. Add a check for MPS=3D=3D0 after extracting the field from ED flags. If MPS is zero, call ohci_die() to reset the controller and return an error, preventing the infinite loop. Fixes: CVE-2026-3890 Reported-by: Jenny Guanni Qu Signed-off-by: Jenny Guanni Qu Reviewed-by: Peter Maydell Message-ID: <20260321000444.909451-1-qguanni@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/usb/hcd-ohci.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hw/usb/hcd-ohci.c b/hw/usb/hcd-ohci.c index 1aeed9286f5..6ed8046fc20 100644 --- a/hw/usb/hcd-ohci.c +++ b/hw/usb/hcd-ohci.c @@ -956,6 +956,17 @@ static int ohci_service_td(OHCIState *ohci, struct ohc= i_ed *ed) if (len && dir !=3D OHCI_TD_DIR_IN) { /* The endpoint may not allow us to transfer it all now */ pktlen =3D (ed->flags & OHCI_ED_MPS_MASK) >> OHCI_ED_MPS_SHIFT; + /* + * The OHCI spec does not say what to do if the guest hands us + * an endpoint descriptor which specifies a MaximumPacketSize + * of zero, which would mean we can never actually make forward + * progress transferring data to it. We choose to treat it as + * an error. + */ + if (pktlen =3D=3D 0) { + ohci_die(ohci); + return 1; + } if (pktlen > len) { pktlen =3D len; } --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284877; cv=none; d=zohomail.com; s=zohoarc; b=mfGI8+54CQJpgusY8mPD6CGffRFQZ3onQC3GETIzFH7VtwXHGq0hhNIab1xWr7X5QlreH5DgL6KKw2BdOBOp00Fq/AGY8xt+ewqVmS1Akasw3OyuFFw7OaVVesxawRZFxxaTYT1O1MfmRwdII092IxbOCBVkGB2onf+aJuuVEbg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284877; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=eVldjBV0nVVV4/9MikBff2Nx48pteq1xXd1LtYfWGrc=; b=G4y2OaTmk0ol6WdGX8RFO18xdcOIyKxNSPhxAQMrCFDg8FUztzlHyDhoV8CmXhcp0o9xmlwJf9Aa1uzC9bIFBr66XRonYZzk+PeCxNKpU4vtx3CMZULtd+MjmDqJCxG6My+Y7FeT+03iPIZ5dL8gp5Au9Ru0nCmOH0WuFqA7SrA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284877105362.47689247818914; Mon, 23 Mar 2026 09:54:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iXq-0005j5-Tw; Mon, 23 Mar 2026 12:54:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iXi-0005Yf-Dz for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:22 -0400 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 1w4iXg-0000dI-2h for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:18 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-43b40003d13so2722084f8f.2 for ; Mon, 23 Mar 2026 09:54:15 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b64714e2esm33143191f8f.32.2026.03.23.09.54.13 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:54:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284854; x=1774889654; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=eVldjBV0nVVV4/9MikBff2Nx48pteq1xXd1LtYfWGrc=; b=PjBY0ljQpLILOVf/sTmYU3ffLeFxGuFrtetmRuncziLR8ZASdnTHJxSbYKp56Oaf8s f56/w27+L/tDgBAuH3f7ZfSA4ktdk77Q5v5btNiDl4E1fcd5ekKzR/9Go8X3jvWR+k3B m2E71joXjPrQHf5Cz7Ox1Su8szFAJVoaUWOAPl/bo1J5Sp2gqeXPJjNdJMZ3/vIXTJhY zpTbUxxUGSvZGdy2PZas1hkLZgfhsjd0noqTpKteLEqRqSwMb+sRw+vrDtzLmOU/ICOt 6EJxr6UUFBGINNAefCCMXpnD/UfnEoTsmytTUdgPKNjO+L1+8KRI3+qeVesdmMFb7QdT zHXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284854; x=1774889654; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=eVldjBV0nVVV4/9MikBff2Nx48pteq1xXd1LtYfWGrc=; b=JHPSk+HbQMN3Q55mwRleXY2/QTVMlkEFgMxSCXQCrlv3AgZ38FHJXLnGDn8j5P7rt1 m4dofKMMEDdNVMNNeHU3uayPDm4ME0S2+1oItUinbO0rbzmvMw+8dY64FeXrR1Sq+VT2 hKLqZebjVEHiLpB6NwQvcxxVUjlTUByABnZ3XkJ3gnc/Btlz8jslk2QgWLRjvLEozkAK foxu9W94NPSEorF8hoJ2Zr05qlC904idKiVDRfpJ9W+bsgnF46hYoWnP28yLlgZrMqTd DmjtaAYX4H4AeHPMaHT0J1Ik40noUx6xk/v8vmOf71/Bg2Sdyq65pjwmfb1+gsd30E8e XvYg== X-Gm-Message-State: AOJu0YxDYZX12nbII5OGu5+h9NxR5yEN7ti23edCHjv0DnWH7oTxvU6D qMOS1EOy6rzKlesderRf+NqgwXq9tbZTv3Yf+1JiIOLprX0H3VLYk9p1PfRln/0xPaTUAZqof7K Lr+VO0HQ= X-Gm-Gg: ATEYQzy2GddFlSli2Ogj47sO0WfuPwqtxi5H1VXaVeb1Q8BlsmIlrUZq8VVTrvmDta+ uWI2i0yPS3OVBoPqeJdwg0Jm0hcCbh5RkrSZHBpq0quioCe1xl1VSuCw/qOHWjBnS84RtdyhElE 7soCvdhIhF/K2wpUzMWaNBV+a/nNA58dOw8GKqLHFvWWgYAoof55Z/Fe7o9Xd2g8gIhhHh2LWx/ qGrh148un0bIw+e3dvW0trkMqk+tNtyiGCDTRm6mSPhRXF0DH4N7LNPXmX+0/SjZDmqAVzPGmE7 kcHxpXVkig3isXVJVyUBoZUZj0itzNBi6Z8A07Kh0PWlfLge6JkRi6jx7D4IBD9unNXdFOtdzzD TrgbrWrDhJSwKQn4XkE8cFjIzp+d/In2zjcgbS8yWby73Ho+tfLW0LdDgcIJYIeLh8oH6RdVt0Q B5MaS8RNkrzwnp8uoHnhOV3vJiL1xzk25r9JM9n+kboboXXTuVOkyllW1UczvT2hT711mVMEgW X-Received: by 2002:a05:6000:26c8:b0:439:bcb8:54b7 with SMTP id ffacd0b85a97d-43b6424b9eemr19335140f8f.15.1774284853906; Mon, 23 Mar 2026 09:54:13 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 17/27] ati-vga: Fix colors when frame buffer endianness does not match host Date: Mon, 23 Mar 2026 17:52:08 +0100 Message-ID: <20260323165218.96607-18-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284879170158500 From: BALATON Zoltan When writing pixels we have to take into account if the frame buffer endianness matches the host endianness or we need to swap to correct endianness. This caused wrong colors e.g. with PPC Linux guest that uses big endian frame buffer when running on little endian host. Signed-off-by: BALATON Zoltan Tested-by: Chad Jablonski Reviewed-by: Chad Jablonski Message-ID: <759ed5e3b019cce94e9a4ef003f1fc2e0cea2ec1.1774110169.git.balato= n@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/ati_2d.c | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/hw/display/ati_2d.c b/hw/display/ati_2d.c index 37fe6c17ee9..0cbbdc33f47 100644 --- a/hw/display/ati_2d.c +++ b/hw/display/ati_2d.c @@ -50,6 +50,7 @@ typedef struct { bool host_data_active; bool left_to_right; bool top_to_bottom; + bool need_swap; uint32_t frgd_clr; const uint8_t *palette; const uint8_t *vram_end; @@ -89,6 +90,7 @@ static void setup_2d_blt_ctx(const ATIVGAState *s, ATI2DC= tx *ctx) ctx->host_data_active =3D s->host_data.active; ctx->left_to_right =3D s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT; ctx->top_to_bottom =3D s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM; + ctx->need_swap =3D HOST_BIG_ENDIAN !=3D s->vga.big_endian_fb ? true : = false; ctx->frgd_clr =3D s->regs.dp_brush_frgd_clr; ctx->palette =3D s->vga.palette; ctx->dst_offset =3D s->regs.dst_offset; @@ -131,6 +133,17 @@ static void setup_2d_blt_ctx(const ATIVGAState *s, ATI= 2DCtx *ctx) (ctx->top_to_bottom ? 'v' : '^')); } =20 +static uint32_t make_filler(int bpp, uint32_t color) +{ + if (bpp < 24) { + color |=3D color << 16; + if (bpp < 15) { + color |=3D color << 8; + } + } + return color; +} + static bool ati_2d_do_blt(ATI2DCtx *ctx, uint8_t use_pixman) { QemuRect vis_src, vis_dst; @@ -255,7 +268,7 @@ static bool ati_2d_do_blt(ATI2DCtx *ctx, uint8_t use_pi= xman) =20 switch (ctx->rop3) { case ROP3_PATCOPY: - filler =3D ctx->frgd_clr; + filler =3D make_filler(ctx->bpp, ctx->frgd_clr); break; case ROP3_BLACKNESS: filler =3D 0xffUL << 24 | rgb_to_pixel32(ctx->palette[0], @@ -268,10 +281,12 @@ static bool ati_2d_do_blt(ATI2DCtx *ctx, uint8_t use_= pixman) ctx->palette[5]); break; } - DPRINTF("pixman_fill(%p, %ld, %d, %d, %d, %d, %d, %x)\n", ctx->dst_bits, ctx->dst_stride / sizeof(uint32_t), ctx->bp= p, vis_dst.x, vis_dst.y, vis_dst.width, vis_dst.height, fille= r); + if (ctx->need_swap) { + bswap32s(&filler); + } #ifdef CONFIG_PIXMAN if (!(use_pixman & BIT(0)) || !pixman_fill((uint32_t *)ctx->dst_bits, @@ -325,11 +340,8 @@ void ati_2d_blt(ATIVGAState *s) bool ati_host_data_flush(ATIVGAState *s) { ATI2DCtx ctx, chunk; - uint32_t fg =3D s->regs.dp_src_frgd_clr; - uint32_t bg =3D s->regs.dp_src_bkgd_clr; unsigned bypp, pix_count, row, col, idx; uint8_t pix_buf[ATI_HOST_DATA_ACC_BITS * sizeof(uint32_t)]; - uint32_t byte_pix_order =3D s->regs.dp_datatype & DP_BYTE_PIX_ORDER; uint32_t src_source =3D s->regs.dp_mix & DP_SRC_SOURCE; uint32_t src_datatype =3D s->regs.dp_datatype & DP_SRC_DATATYPE; =20 @@ -360,21 +372,27 @@ bool ati_host_data_flush(ATIVGAState *s) } =20 bypp =3D ctx.bpp / 8; - + pix_count =3D ATI_HOST_DATA_ACC_BITS; if (src_datatype =3D=3D SRC_COLOR) { - pix_count =3D ATI_HOST_DATA_ACC_BITS / ctx.bpp; - memcpy(pix_buf, &s->host_data.acc[0], sizeof(s->host_data.acc)); + pix_count /=3D ctx.bpp; + memcpy(pix_buf, s->host_data.acc, sizeof(s->host_data.acc)); } else { - pix_count =3D ATI_HOST_DATA_ACC_BITS; /* Expand monochrome bits to color pixels */ + uint32_t byte_pix_order =3D s->regs.dp_datatype & DP_BYTE_PIX_ORDE= R; + uint32_t fg =3D make_filler(ctx.bpp, s->regs.dp_src_frgd_clr); + uint32_t bg =3D make_filler(ctx.bpp, s->regs.dp_src_bkgd_clr); + + if (ctx.need_swap) { + bswap32s(&fg); + bswap32s(&bg); + } idx =3D 0; for (int word =3D 0; word < 4; word++) { for (int byte =3D 0; byte < 4; byte++) { uint8_t byte_val =3D s->host_data.acc[word] >> (byte * 8); for (int i =3D 0; i < 8; i++) { bool is_fg =3D byte_val & BIT(byte_pix_order ? i : 7 -= i); - uint32_t color =3D is_fg ? fg : bg; - stn_he_p(&pix_buf[idx], bypp, color); + stn_he_p(&pix_buf[idx], bypp, is_fg ? fg : bg); idx +=3D bypp; } } --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284891; cv=none; d=zohomail.com; s=zohoarc; b=Ooe+5ZxJUMwrBaIYkXJy69O8+W6RWx0/xgcvyLpxflCGbFGu3/+JsRg8BDcwj9kje8ArAWw6i0Gcl2b7fiYqWIMTCwr7rYatn8pqdjaDiRBjS31GcOOLE0O9QTZccOI6R05W1GceVM7t8SZeSBKz/bfrT+lLLgCFOFM3MuFhNmA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284891; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=6zkZ4KurA30gv8kMnOhTH3jotd7NQGbvuL8HbdwSYNs=; b=kgt/+rkVjzlD5/c/oqGXkslR+1QHwAddZD71jsRU2IPi5lGjDHXIpHm9cyBfI9j31aa+2jwMF20GQ+7Iv5yL7FBUyvKfP/qxG+VZPcsg281LZldmJzi8kzwiEm0YtVy7i0emHcHfxI/KiWGF2Ua5ezryxc1zp+vUKMvpjaTAt5Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177428489168962.37239085102544; Mon, 23 Mar 2026 09:54:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iXs-00063b-KG; Mon, 23 Mar 2026 12:54:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iXn-0005dl-OG for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:24 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iXm-0000e4-AI for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:23 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4852c9b4158so33748455e9.0 for ; Mon, 23 Mar 2026 09:54:21 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486ff1e6029sm149301815e9.9.2026.03.23.09.54.19 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:54:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284860; x=1774889660; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=6zkZ4KurA30gv8kMnOhTH3jotd7NQGbvuL8HbdwSYNs=; b=zVgr9DeKcfhOXVZC2RLNtJIZqFnn0jLEG4x1ZU89cnXhYkswp5zjtpkaw0XP7wXXl/ oTup11sz8w9GUP9tf41upAEvlD8w9huj9u1O45I5w7vMa9Euy+xFIQWr/aPft7qpaj0N IaGoo71LbEBKEXN93wZJ9ZZ6hilmkdDW3wLofFpps++GRGaHxCEhiFNtxG7bUy+2tiFF eXrlCgcMf2JuXnwR+XDAk15yrubakaakzm9rDnqJjvlpRPH5TkNLu+jD1yBPq/8XkDtj kXNkddGXvcfuF1sbA6NoegXYY55vVlHrkm1Z6H3k7d7ptaSao0UObEFjcmP07Mz3ZIvF lh/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284860; x=1774889660; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=6zkZ4KurA30gv8kMnOhTH3jotd7NQGbvuL8HbdwSYNs=; b=GwQG4UpnztgeMvFdGHeEfCM8dczFMD/7tz6uk3T5p03sBzF6ff7HQLjftyx3xitEAZ Sp/6EmYpFUNBQMEJEfKsTuKtDtr5TZRQKn2aBuMBxo0pCcam5Tlk+00hTEmFJb5Xvrg/ nshjF6soUzZ5QnOwCqswaf8xIvK7xJdNjuHMVBi8w2CcwRC3jT5xMOgYocfuIJkXgeTe Zti+yJR1k6DKifF0bPxgcnknrMeGuK3j7TPctUv0Ktlj4KHGf2UBua9tN3TlL5Qt7E0u IDY1aXRHDwdcnteG27tawKqsS+mXjYh21GXbwdul8fAIh4eiNwoMZHFe8y0qsRZ4nsms xkKw== X-Gm-Message-State: AOJu0Yw7CR+FMm713P0YNEHYtJqwdDtGPUlmWmyHdWJgzK+v7E0jnkxN y3u1F5cBn7UPBlOHdabikt3mKlC6jbFERlZ9sQOYxT65EC3Xun2KWO0oINoqC9ViWeqe2uSWmD8 zKhRTXSk= X-Gm-Gg: ATEYQzwU6Mp8JGk6kHydY1w6j6Q4V4vjdAVaaGevDr/fmrW3Fkabu6XSPKKhXNp6FY5 +7P1ddwdcydpsv4oyhdy9hbz9nhoNnKP0RFBqqAdT+GaYo5C8I7N3aYT+qG9qqyndoNfmMyxDcR qL4Af/PaVG4ZXrSj6EdR8xQbxh1EDTuWd3ULMo9usvZzn/leHEJ79FvAu/MoEnzOSK1aBAkLoz6 MoHGO5MlkUPZCszGDs6/lYqou1+HTchi7tLnAa96mEajZGDOfGR6yO5BqorXq7rBBF97Z4Qt3Y/ dmpyXV72NU6u2sElOm2qq+CEJMhGHbs0KICBlGh88czddaozpwOWpaWIRF7HjKXCfS+GvCJs3/N 9IJzTlTf3PlwsgVHf2M29Woz5a5Qvpfucqh4wXb0zo2FTuXclAu35wydporGEN4xbpfmyh8u5xy YzpjFv2H+7xLIjmec9KL3Fm/mEPZaF1Hi0x9wyLJD896d/Fu9cRHJJZvYKoJQgLKvpxZZ+5U2Y X-Received: by 2002:a05:600c:530f:b0:485:2ce2:4c87 with SMTP id 5b1f17b1804b1-486febb455dmr192118995e9.4.1774284860457; Mon, 23 Mar 2026 09:54:20 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 18/27] ati-vga: Also switch mode on HW cursor enable bit change Date: Mon, 23 Mar 2026 17:52:09 +0100 Message-ID: <20260323165218.96607-19-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284893129158500 From: BALATON Zoltan This does nothing for most drivers but works around issue and fixes output with the Solaris R128 driver that only sets display parameters after enabling CRT controller which we would miss otherwise. Signed-off-by: BALATON Zoltan Tested-by: Chad Jablonski Reviewed-by: Chad Jablonski Message-ID: Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/ati.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/display/ati.c b/hw/display/ati.c index 05cf507bd47..1a6a5ad4fd6 100644 --- a/hw/display/ati.c +++ b/hw/display/ati.c @@ -617,6 +617,7 @@ static void ati_mm_write(void *opaque, hwaddr addr, ati_reg_write_offs(&s->regs.crtc_gen_cntl, addr - CRTC_GEN_CNTL, data, size); if ((val & CRTC2_CUR_EN) !=3D (s->regs.crtc_gen_cntl & CRTC2_CUR_E= N)) { + ati_vga_switch_mode(s); if (s->cursor_guest_mode) { s->vga.force_shadow =3D !!(s->regs.crtc_gen_cntl & CRTC2_C= UR_EN); } else { --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284882; cv=none; d=zohomail.com; s=zohoarc; b=m0J0FA3kGJ7dxWuMCbv8XXuo7sgwgqN0EtB1V7DyLaD0EFzy+qisspCNA1lULBSkP502EBXEhEEQnDs+mgmM3ykdB9ixM+8kfQcqWwZNS8DA7FCwGCcduqTreNuc9zoZamyUTHGoTw0zjInP7tiUhnmtUcFJwf/Z/652ro93Ufo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284882; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=k/uzgH3k77zd6nj+IXlEhl2Zd+evbOJRWjYSM2OJVbc=; b=ZujKP0V8pIv0vh82/076RaSoSczzDSESLXDN+FvfCwcgTKvrOQajsk6hR+5U9orTcZpgiRIFsGykcgxto4mZ/cYNAZe7sssyLrSOpHGQc1qPA7Ff7KmA1KYHWU6wv7mjZpNIDKTtwwpmITlmUePOLlxOMQkr9iZMTtigoFsHQlg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284882144766.6878906355607; Mon, 23 Mar 2026 09:54:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iXw-0006Yw-R6; Mon, 23 Mar 2026 12:54:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iXu-0006MD-Hn for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:30 -0400 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 1w4iXs-0000fc-Rq for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:30 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-486b9675d36so36222135e9.0 for ; Mon, 23 Mar 2026 09:54:28 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b64703c35sm31482609f8f.22.2026.03.23.09.54.26 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:54:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284867; x=1774889667; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=k/uzgH3k77zd6nj+IXlEhl2Zd+evbOJRWjYSM2OJVbc=; b=Mbn0LHw9oQAtR9nLrz6p9IL+hLRk6qbuyQsvnmxCBc7ZkVqAvW/nQhmAtpPKlvOhkP DWknD1TJTVGRFdCHR9Nn3JWn5qv+lUpYnak8VwFcX5Xmf8M07RP6wHKLDjLGQgArCVGY Xo/vrnHI3/BXkkfB3/zCXfkHAgQqVr49z2dtrn/B3niqrko8Y0HU8p3+gAVTe1E82yZa aajclNCNWGXAWERJDlf3zXxGJZPNn+6mr9M5ygBHcmKox1G4nZGeRtUH8EDncajDeRAk nC3fmRATrLYjtx2ZeyZPaeTOxVgltSkSg/Fs0T2mlHD/jcvzJl5ncvF2hcohrhXEXVqF LQyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284867; x=1774889667; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=k/uzgH3k77zd6nj+IXlEhl2Zd+evbOJRWjYSM2OJVbc=; b=d40Rmgvh80zllQu4W24QJeVDL1AXd5bACEDuJ0HIJkyRbSnUJbhlz4UHQK7RGICyrH jkI911f9pai1FhhghkzDBduRXySNbG3Jyxf1gJRxNxhUqZdIyPWs4f72q6i3lclBRhd0 znAqnCvXRHQMxg5pw994D8rkdSJh6o4B9KthCnqoH2C0hmobNmFDcg2vK67Lf79Y99Wg wrdtex5yX1UR2A4j3fu5jFYljyfZeIgrJA16kiBQKUwqh0GrejWVtVQzaNqWFhd8Hjf2 lz7Pnm+S1mvVJ1ci0hqpyWzqhva76MiEaIcipqtVtRDPGoCoFmoSfZvxCJZeBtglcojj MrSg== X-Gm-Message-State: AOJu0Yy0g30uhj4yPMOPZ0GdVeFnW0P5tk3OyBV6blCpHbVSTl1dQTT/ TkgtH7MTIqlvKZx52ul3nsJFT854U3a+M9giFrmhzyhwSzKNjptoTmrvW86mUp0q/G/nr43Pyyj NnBckza0= X-Gm-Gg: ATEYQzyj/oeTs6cU1YcwnxDEw0AAfD0pPjl5JP9GBkBfZKW8qQJ1Ye3eXAvqJ3XE2Dl bw4OAHl8hFDx2m0kF8VCwA4ib0rHW30oawTLpo+1Jp0OOGS317EzXvOrEWjqJX9d8WiX7LY41iq qqRCS9Sn88dUkYEKYDgjS+ax4Mxbh86e4gwmO0F8xxdf4DP97Z0SM6Qw0XcUZpIc9cD+9bbxvrV WqIWLYNygSuymA4VkP409anOEC0SIpiB3nKRqVk3YA2d79iYjTjH+240uuRCEWQ+GA9ria1bknG UnIkmixRiiGze/oEI5zbiP0XiyWQdan1hQkFy/kkupMBCEoJMbSgs6BEnDV+gnnCsnGzjBXt6Zm bqmMgurBprRQB1vBdGhsLa2V/sVFAHHY6FnV/0VDs9cX0aDN3/tKv0fplBCEubPE5ELiedNYS9w HZIsJm0WBexo+d6YiQOB/rdlLYbaJ34uVlXuu/XLvgSiEtQqWvdx3Ls5h92smbk3/eZhHZsQ1/s 8NdV8D5TRE= X-Received: by 2002:a05:6000:220d:b0:439:bf2f:123e with SMTP id ffacd0b85a97d-43b6423db90mr20833227f8f.11.1774284866990; Mon, 23 Mar 2026 09:54:26 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 19/27] ati-vga: Do not add crtc offset to src and dst data address Date: Mon, 23 Mar 2026 17:52:10 +0100 Message-ID: <20260323165218.96607-20-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=philmd@linaro.org; helo=mail-wm1-x329.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284883476154100 From: BALATON Zoltan Drivers seem to program these registers with values that already include the crtc offset so this is not needed. This fixes blit outside of vram errors with non-0 crtc offset. Signed-off-by: BALATON Zoltan Reviewed-by: Chad Jablonski Message-ID: <7d96c67f864845893d4903b988a4da7c7b010f66.1774110169.git.balato= n@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/ati_2d.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/hw/display/ati_2d.c b/hw/display/ati_2d.c index 0cbbdc33f47..cf2d4a08e29 100644 --- a/hw/display/ati_2d.c +++ b/hw/display/ati_2d.c @@ -110,7 +110,6 @@ static void setup_2d_blt_ctx(const ATIVGAState *s, ATI2= DCtx *ctx) ctx->dst_stride =3D s->regs.dst_pitch; ctx->dst_bits =3D s->vga.vram_ptr + s->regs.dst_offset; if (s->dev_id =3D=3D PCI_DEVICE_ID_ATI_RAGE128_PF) { - ctx->dst_bits +=3D s->regs.crtc_offset & 0x07ffffff; ctx->dst_stride *=3D ctx->bpp; } =20 @@ -121,7 +120,6 @@ static void setup_2d_blt_ctx(const ATIVGAState *s, ATI2= DCtx *ctx) ctx->src_stride =3D s->regs.src_pitch; ctx->src_bits =3D s->vga.vram_ptr + s->regs.src_offset; if (s->dev_id =3D=3D PCI_DEVICE_ID_ATI_RAGE128_PF) { - ctx->src_bits +=3D s->regs.crtc_offset & 0x07ffffff; ctx->src_stride *=3D ctx->bpp; } DPRINTF("%d %d %d, %d %d %d, (%d,%d) -> (%d,%d) %dx%d %c %c\n", --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284913; cv=none; d=zohomail.com; s=zohoarc; b=I+j5B8sDCoPr2mDuASTxqnFqQx9e/BAekhtaRUpY/N4kRqWYhpbmaPoxHuM7cwgAX2VPRFHbvj3oHvGslNjHv8fiTdrN0UrftVyzBPoaQq+7+8m/n3TQt3+oCk0YaToUpP9vIVRpBdmCd9Gf4Cgh4Mdm1NA05hsQyCN4dBC7qFc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284913; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=6ggi0z8zst48aH62Pax6Yp4IE+XZiFinN9t9NdCYPpE=; b=YbWdgMZCyU/ovEapZE+qjNjDh8QaBvXzuOj6tslmrYIC81htPLBRRJfQKlauqOeY8sMWjWeDuO8Gr9ypAorTXATUm+vwhNhU+zLhMXI3Op/5dAdm3qHIQeZfcl8J6eKicdAX2lg700v2qWgGQnjreX2BuTYO7fmt++7Wu3GuI7c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284913892244.35225466218776; Mon, 23 Mar 2026 09:55:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iY7-00071q-Pr; Mon, 23 Mar 2026 12:54:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iY1-0006s5-2e for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:37 -0400 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 1w4iXz-0000gh-Kl for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:36 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-439fe4985efso2725045f8f.3 for ; Mon, 23 Mar 2026 09:54:35 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b646b0b0csm29389363f8f.15.2026.03.23.09.54.32 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:54:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284874; x=1774889674; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=6ggi0z8zst48aH62Pax6Yp4IE+XZiFinN9t9NdCYPpE=; b=yx/qMHtnqPRzuo9/f2uw7vzVKIQ7oAQPWzH4TdDsEuIYkT+qPZyzUQCmK04NkMo56A vuPwY00k3KeO4PeOVAc/8Z13f3fwit4MIGu1qtg3EavwfaKjwHPXCnfBdQ/1z2oMQ+Xu oo5EIQau4yh1qjEt8XVuXafNtjYCrAUD5ueXkq7/FRMXVC24nm1gRT1B0JabDvdFtb+d Szz8MfHIuq1xV8uoBshWXINHUO861ysS+M20LnyTKhaM1iZy806ifr46d2b1ak9J8Pre V3uRzWhmdzTHLFEMVNfE8LcpMZtw0z58hfTd4vBCORYO/zyeQXp9a+cJnldCDCFFrOgD I6tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284874; x=1774889674; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=6ggi0z8zst48aH62Pax6Yp4IE+XZiFinN9t9NdCYPpE=; b=nCP7WgxH4VVN6d5AwR8Tbj6zl2pfmy8qldQJwSRQELnxf43T91L06RaJ8cW5skfRy/ BmyBkzyv10pVgXujK/8mowlMr6xh3wv5119UMdCfr3SNLo+YwW6lgcoCVcg6Dni2votV Hvhj1UE1/W+BXjjJ5QJNTk41WhacQ+gDTTa8ZOL0xc4BGlLyGHw1ccVuEsnPiaUQW28/ UrhXf+Al4igEgfUmfkIRe6uc3A9I1qw66hPkf1btbSc8t5cf3N4ZyhhcV18dkDlkWQlv zpeIvuvwMGd5ROLTwI9iNLqhreFU+ADvHTEGkkGWZOwv8/oFS/z+hTud6NCWEKbaARCU Tl6g== X-Gm-Message-State: AOJu0YxqsnZH5OTIxT+a52QxkJHSrD65diVFSsIYR1kW4hVQPES4nCTK hYIkuM3ntvEP2wSAG7vClUGN7bGY2Zv6KbbZFLcy28ODg8w2zxJPkKPznuMH1yTJM9h0VR4KKCv 8hEASVNw= X-Gm-Gg: ATEYQzxI6H8pykhWeJl5CCtRzgm/8XZMbGUsK7vvFFw1hA2OhCyFBnQ8Jd1NaIVLwjq NCWFLVfis53HmTFYnGAkMU2OTwJ4LlOou6IlOV8XYxZrLO4oPfz6E4QLPnMQeSfPefK+FqPVUFw Ker7q9u4abREH6o4+HXM6U6hQNf8ersLqENa65QCNnYCYT4XZnBwiAe3NAHFsTprNrI8tdeqb4A beWOC/pmV4PBCYky1TR3jxcHAjNlhlAsF7frD//EQjSR2ifzmOhOfVfEdYMtLkNNyolu0SkgFgB WS2yQqQbYRYKw6+mo+O7k485VGszRYN4uPEDONyJ6YG/4RQPQvx00jPe1WnZGJoln8fe5xqLlWm AwUrRidUJSeJ5yyqgXku4fxKKD1yz4tfytsUMop4jIbIVQJLZc5prrHFE17pm5p8WJ8nI3Wanlh ftvKFIUBZ0eXVSaF7/WZupGtDLh5crtsJaG70oBmzXQmyBa7sxF2P18y2rd0RgIJzZguvIYd89 X-Received: by 2002:a5d:5d89:0:b0:43b:436d:77f6 with SMTP id ffacd0b85a97d-43b64270860mr20447359f8f.37.1774284873785; Mon, 23 Mar 2026 09:54:33 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 20/27] ati-vga: Avoid warnings about sign extension Date: Mon, 23 Mar 2026 17:52:11 +0100 Message-ID: <20260323165218.96607-21-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284915262158500 From: BALATON Zoltan Coverity reports several possible sign extension errors (latest is CID 1645615). These cannot happen because the values are limited when writing the registers and only 32 bits of the return value matter but change type of the variable storing the return value to uint32_t to avoid these warnings. Also change DEFAULT_SC_BOTTOM_RIGHT register read to match what other similar registers do for consistency. Signed-off-by: BALATON Zoltan Reviewed-by: Peter Maydell Message-ID: <9a3263a06bc72aa5a56bafe0a11ad189d5f60528.1774110169.git.balato= n@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/ati.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/display/ati.c b/hw/display/ati.c index 1a6a5ad4fd6..a070f7af296 100644 --- a/hw/display/ati.c +++ b/hw/display/ati.c @@ -265,7 +265,7 @@ static void ati_vga_vblank_irq(void *opaque) ati_vga_update_irq(s); } =20 -static inline uint64_t ati_reg_read_offs(uint32_t reg, int offs, +static inline uint32_t ati_reg_read_offs(uint32_t reg, int offs, unsigned int size) { if (offs =3D=3D 0 && size =3D=3D 4) { @@ -278,7 +278,7 @@ static inline uint64_t ati_reg_read_offs(uint32_t reg, = int offs, static uint64_t ati_mm_read(void *opaque, hwaddr addr, unsigned int size) { ATIVGAState *s =3D opaque; - uint64_t val =3D 0; + uint32_t val =3D 0; =20 switch (addr) { case MM_INDEX: @@ -513,8 +513,8 @@ static uint64_t ati_mm_read(void *opaque, hwaddr addr, = unsigned int size) val |=3D s->regs.default_tile << 16; break; case DEFAULT_SC_BOTTOM_RIGHT: - val =3D (s->regs.default_sc_bottom << 16) | - s->regs.default_sc_right; + val =3D s->regs.default_sc_right; + val |=3D s->regs.default_sc_bottom << 16; break; case SC_TOP: val =3D s->regs.sc_top; --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284913; cv=none; d=zohomail.com; s=zohoarc; b=NzrSXgKCJAVRXi33MMPN/0z0RhXzPSVou3oWl6r1sgkRg2IIrFzhzIhdw8cRIDqxyB2E/hKK2E5VkznFMg3TqMh4xLOBg8SCreorKYzJReqaH4zOBHi+pyAQPCPzqbhdTwJvxLM810HEyiWXdce2g5fK+OhHGrDLJrbbehfA9Kg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284913; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=XhjdKcFonryL9/cN+szncOyrJjS51ht311b0sqzgNHI=; b=eBZHPaBfkxMhQYb9a5018BSn9yF3ZYWgnGYv4cvR9msS3cv0FNzVK2R/m0JAgg3rAam/eacb9dgyMctyxZId0rla+fwP73cfSRizJEROAGVU0bDPc6IsxzBXfNrrEsPTcqTKRE+sE94gHHeT4mn5sOM/A9LzT/d3/8luDI4+f0c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284913588356.489694807948; Mon, 23 Mar 2026 09:55:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iYS-0007Vn-20; Mon, 23 Mar 2026 12:55:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iY8-000779-Al for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:46 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iY6-0000hR-Od for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:44 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-48540d21f7dso35881405e9.0 for ; Mon, 23 Mar 2026 09:54:42 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486f8b949e1sm601085695e9.9.2026.03.23.09.54.39 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:54:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284881; x=1774889681; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=XhjdKcFonryL9/cN+szncOyrJjS51ht311b0sqzgNHI=; b=SKYWq9e73S5Hgynf4GCrdkgWI6nszDoMQxwntk95KKBKEY9XcAut/HXIkjkxnvgmNX SiHa4uIZ9rvQRIjWjQa1D3cXFPsiP5+jo+mwKJ2+WPpK1348DwWoLzsyFcZBBmvdvSqE MllzMWmTOVdFYR67XpfVCc2M3Ele1P/rt37dNK585xlDnDHoGPuvW+y1GddZ2J+cRLYa PB/S9xO0flLNIYCbZBnGiUBpqCkbk2YclfF7dtvam00exDqrqEI/JY5xu2iLotnoeV+d g0waholsciAS6I4twmUksLO9DUG6lm7JMcbd8+nZxB3ZNZNkPVfnTm67SzXYogwyPd8d m+7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284881; x=1774889681; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=XhjdKcFonryL9/cN+szncOyrJjS51ht311b0sqzgNHI=; b=QF11rTDxEBm88s3E/qH3P83O+fIxzbNl61G7zJ05gQHJEwn8TFhzU3KIPTDi639vPs SHSODfENP+GFOX1UlS9KeyXOyK1HkHH4egvVBdYpKmgAzV86KwFLOGz4XSqBw1vS0giF IN8ItUznuaxu1Q00GYXr4xTBiH6p7v5GXzbqpLikWkk9NM0eP3emU+5iowscHMFmvypf AyWIjFM04XbXbhIY2vQTC9vLJPnAbGkLZNpCG532XmjxCxWA2Fnm905wSBbQ07w4GiVT opei6ZREOeBL0kgSn0xLkf0DuVTqv87rawzc4S6R+UlTAwopiq2zUwxFKrFNIwSKqKP6 Mkng== X-Gm-Message-State: AOJu0YxRockme1V9O1Hvxw3e3b4Koj2E+owX9eQlGlSS6IUDP2NQzS9t KElYMyEHcnj8P0vWUePsHr4uyHt3KWTuSBtbdchEga+2mG3xLOqEOf+TRhDURyiKIAWtRQOkEcJ CaP03LKY= X-Gm-Gg: ATEYQzxILAxJU62R47EZ0xKFzcq/82kyLLgUW3hEyFz9jdXp3vpOlGZelwmJijI4F1z DQ34Bvdpbh1ltcjKSQ9AvxShZ8Y+/l4hDtctqGkQYswWHEXbUmcfUyR8FFUEeL758OF/rKZnRDm Pe74o/ovgZ6Ov0XCSXkdtnYP8xwIZ555HCh9UyMth4gBx+G1YQKJcSI9nrbO9ohoiTO2epeZFHN 1N7GFm3QFMT/Gmd8FKLWNhNKzBtShMTgwVehzb242s/XHlanNc4dSzDasIS0XbRDntxTutUwaZB 9oMVqteffnJeqyjyh2x1USWP65tnvrMr/L05q33msDAimRRK4ai0gWK3DSv9AWYwPb71UfxGdU5 dnHYHsjm9qg5GUvilm3R5UFRI86tLGEWdh4rt5EEK+4exI8ntUtjXhLhZRutO31s4NXuEDJsko+ n8ZFbx2SIqEavp3WWxw+shaivmGVJ0gTRKBBu4BgSofKcNofIpgWTr4LGfRxc8CtVaoaSZ6boq X-Received: by 2002:a05:600c:3f0d:b0:483:6d42:25c6 with SMTP id 5b1f17b1804b1-486ff033f97mr193078895e9.23.1774284880918; Mon, 23 Mar 2026 09:54:40 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 21/27] ati-vga: Fix display updates in non-32 bit modes Date: Mon, 23 Mar 2026 17:52:12 +0100 Message-ID: <20260323165218.96607-22-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284915327158500 From: BALATON Zoltan The memory_region_set_dirty used to mark changes should use stride value in vram which is normally only the same as surface_stride in 32 bit modes. This caused missed updates in 8 and 16 bit modes. Signed-off-by: BALATON Zoltan Reviewed-by: Chad Jablonski Message-ID: <6e1b83ef3fe7a1ebc246b474eb2b0c7cd05d5deb.1774110169.git.balato= n@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/ati_2d.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/display/ati_2d.c b/hw/display/ati_2d.c index cf2d4a08e29..23527b2c505 100644 --- a/hw/display/ati_2d.c +++ b/hw/display/ati_2d.c @@ -70,6 +70,7 @@ static void ati_set_dirty(VGACommonState *vga, const ATI2= DCtx *ctx) { DisplaySurface *ds =3D qemu_console_surface(vga->con); =20 + (void)ds; DPRINTF("%p %u ds: %p %d %d rop: %x\n", vga->vram_ptr, vga->vbe_start_= addr, surface_data(ds), surface_stride(ds), surface_bits_per_pixel(d= s), ctx->rop3 >> 16); @@ -78,8 +79,8 @@ static void ati_set_dirty(VGACommonState *vga, const ATI2= DCtx *ctx) vga->vbe_regs[VBE_DISPI_INDEX_YRES] * vga->vbe_line_offset) { memory_region_set_dirty(&vga->vram, vga->vbe_start_addr + ctx->dst_offset + - ctx->dst.y * surface_stride(ds), - ctx->dst.height * surface_stride(ds)); + ctx->dst.y * ctx->dst_stride, + ctx->dst.height * ctx->dst_stride); } } =20 --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284933; cv=none; d=zohomail.com; s=zohoarc; b=GT5w5MhCT3fdQnS10rKwDE0JIYJxi0AKvBr8lio/S0hs3KEPPj2k9ustEC6MVJv46pNk5ro+0taX9NcFS49UFWP5aDG5X7d4eeHl0V2MS579AvAjnxAxYGgC0AqM9KsMITk7Ls/kSdX0ArDufDSi/2fHOgLzEM2fqvgv+gx7nYQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284933; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=IGYqU3ik62yXVGE06qRNfUGhoVhIyvTvdlVgMfT2A0o=; b=P+5vTnIVzYWsc0JM+h25Pscx0n2wOLI0isbz7Gq56XtY1H5z7ndmatgn7veh/TSj7WhsG/J/Dqf+6VWOd3Wh5vm+5ltseCOHe5xbvjF5zm0OKb1UQ/2gt9myN2CxEZUo9ast1wmpusGtkP4yBz97+5IEgkgQYQ3lAd8g3GGuBWY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284933847685.7389354791853; Mon, 23 Mar 2026 09:55:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iYV-0007cV-66; Mon, 23 Mar 2026 12:55:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iYF-0007BR-1C for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:53 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iYD-0000ho-C1 for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:50 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-43b4915161fso2980654f8f.2 for ; Mon, 23 Mar 2026 09:54:48 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486fe889652sm119053275e9.2.2026.03.23.09.54.46 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:54:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284888; x=1774889688; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=IGYqU3ik62yXVGE06qRNfUGhoVhIyvTvdlVgMfT2A0o=; b=iSWhXlGxXMjOae/W14wQYDVkHnoEwB+6QX4erKsVGitk5mRqNtVCxMQmTXp8+0j+94 R3jbCihWoiw+t7obUL2XNaEno+RGJzwyTm30leZTgsYUr8pLUYE4jN7X5Bl55xdDU82B DTW/rOA+Q10wt3mw2iFftsTISftez2/mKU9wI5MQV7vlh/HuIl3IYy6Wwe+UcjG+DezE Iu21uiaowsg7hmNzOMTJUNr5SexuVAB5DU/hAC+ACTvMglnMop39NJWVWPzxgu1v9NXO HHdGljTOKiPJOhTJ6G5t85WNu6LBNyi1pX3Se4IzayN4XMardSqz2GsOOBroZRTK/bNE yCDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284888; x=1774889688; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=IGYqU3ik62yXVGE06qRNfUGhoVhIyvTvdlVgMfT2A0o=; b=d1JssDbfTJ6mLFZkn98xuCWlXVB/o53/0BobylfHfyLMK0c/1yB3MxDHaLpGfjJIyz cG7k8Uj4mm8PpQCs/Uuv+tuQJPwZc/iv198fIL4tijcchtvz5wApf4gGSqSoZMT+3NKi t59IUuC/V68jQjk2FDS7XuHGWGoTLTWFUEfulgzeIC2kr8jkGhBCK3LKuFBxDjUJYfDa l9mS+WUdZ3rAIft5O+nV2/zn8vpED+qco7krCzSvsa4XzXWhE7HqfKwdIwQpx+U65Qu1 vy0amST9ZDGm1bgo0oy4unRAH+fjCDB7d8aJK2vDW5yUplyVATSNspgfsDukEfJaBvO4 MXKg== X-Gm-Message-State: AOJu0YylWLaGKMjjyrsJKyqp86Pnwm/x9jV9Fh/aCS3klb3mvSmGvCC0 5doBvrrDIGT5jsET4gGiiesOy74ddlcw6fV41q7gF2y+lcYBzL4XIdzagCP/vN6iOQUL/gu3I9B 3jGkO0/Y= X-Gm-Gg: ATEYQzwVTsOqI+jf3ssH0YidMcAzkvO0K8IHnQ1POlaV9X3iUgRkk/ZPyW2hCnhk6hq JZbcKSVlAHnhvQAovdPBqWV5pJBHIoSrNBZXNzf6lmbyrxUJURT6+cIqbz+AfzFxbw1xQs/2GmZ iTi+aJUfxgHB5UYJ9r5JiN0ZIn4qyU1hhyydXqMJKoOkXAsjnyMO6wYce3ezIpdRxd85Fj9K3Nv 93iAi6Op0rzp9h8z3wAomosb1QkPa337XeB5oo56Hj8tUVGwK5tvFctrKxedtOdDqhO6Knrww3P 4ovtTlC1yyXSNgbWf09MCjc+O9amkzo1BEBqEJxU8vVsYVeAzbijWNrSHB3eciAvE4vZ0pI7X8V T7TKeo5ax/pUyHrIE2z0RkdZRrtzzOZ5iQl43dPua7qHDKYOxwCLwRb9yh2zb9gYfOqaDdMp1nA 4HjxdwkLAG2qX2gSqGOmwyOicAGTTbPf61sDfl8WDEg+tsBTSm4+R5UFvBnIz+WQ34ypS0ObSRi CYJUw+G/bE= X-Received: by 2002:a05:600c:828d:b0:47e:e48b:506d with SMTP id 5b1f17b1804b1-486ff0291ccmr184531675e9.16.1774284887528; Mon, 23 Mar 2026 09:54:47 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 22/27] ati-vga: Add work around for fuloong2e Date: Mon, 23 Mar 2026 17:52:13 +0100 Message-ID: <20260323165218.96607-23-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=philmd@linaro.org; helo=mail-wr1-x430.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284936344154100 From: BALATON Zoltan With the linear aperture size fixed to match real card fuloong2e no longer works due to running out of PCI memory because only one PCI bus is emulated on that machine. Add a property to allow fuloong2e to set a smaller linear aperture size to work around that problem until the machine model is improved. Signed-off-by: BALATON Zoltan Reviewed-by: Chad Jablonski Message-ID: <47cbdc7ad2291f22467f9fc86e7287eb8983c927.1774110169.git.balato= n@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/ati_int.h | 1 + hw/display/ati.c | 17 +++++++++++++---- hw/mips/fuloong2e.c | 1 + 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/hw/display/ati_int.h b/hw/display/ati_int.h index 21b74511e08..0c48934d33b 100644 --- a/hw/display/ati_int.h +++ b/hw/display/ati_int.h @@ -119,6 +119,7 @@ struct ATIVGAState { QEMUTimer vblank_timer; bitbang_i2c_interface bbi2c; I2CDDCState i2cddc; + uint64_t linear_aper_sz; MemoryRegion linear_aper; MemoryRegion io; MemoryRegion mm; diff --git a/hw/display/ati.c b/hw/display/ati.c index a070f7af296..f74dd1efc0b 100644 --- a/hw/display/ati.c +++ b/hw/display/ati.c @@ -1059,7 +1059,6 @@ static void ati_vga_realize(PCIDevice *dev, Error **e= rrp) ATIVGAState *s =3D ATI_VGA(dev); VGACommonState *vga =3D &s->vga; I2CBus *i2cbus; - uint64_t aper_size; =20 #ifndef CONFIG_PIXMAN if (s->use_pixman !=3D 0) { @@ -1123,10 +1122,19 @@ static void ati_vga_realize(PCIDevice *dev, Error *= *errp) * Rage128 the upper half of the aperture is reserved for an AGP * window (which we do not emulate.) */ - aper_size =3D s->dev_id =3D=3D PCI_DEVICE_ID_ATI_RAGE128_PF ? - ATI_RAGE128_LINEAR_APER_SIZE : ATI_R100_LINEAR_APER_SIZE; + if (!s->linear_aper_sz) { + if (s->dev_id =3D=3D PCI_DEVICE_ID_ATI_RAGE128_PF) { + s->linear_aper_sz =3D ATI_RAGE128_LINEAR_APER_SIZE; + } else { + s->linear_aper_sz =3D ATI_R100_LINEAR_APER_SIZE; + } + } + if (s->linear_aper_sz < 16 * MiB) { + error_setg(errp, "x-linear-aper-size is too small (minimum 16 MiB)= "); + return; + } memory_region_init(&s->linear_aper, OBJECT(dev), "ati-linear-aperture0= ", - aper_size); + s->linear_aper_sz); memory_region_add_subregion(&s->linear_aper, 0, &vga->vram); =20 pci_register_bar(dev, 0, PCI_BASE_ADDRESS_MEM_PREFETCH, &s->linear_ape= r); @@ -1171,6 +1179,7 @@ static const Property ati_vga_properties[] =3D { DEFINE_PROP_BOOL("guest_hwcursor", ATIVGAState, cursor_guest_mode, fal= se), /* this is a debug option, prefer PROP_UINT over PROP_BIT for simplici= ty */ DEFINE_PROP_UINT8("x-pixman", ATIVGAState, use_pixman, DEFAULT_X_PIXMA= N), + DEFINE_PROP_UINT64("x-linear-aper-size", ATIVGAState, linear_aper_sz, = 0), DEFINE_EDID_PROPERTIES(ATIVGAState, i2cddc.edid_info), }; =20 diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index d0efe36f7ce..72ad4507dfa 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -316,6 +316,7 @@ static void mips_fuloong2e_init(MachineState *machine) dev =3D DEVICE(pci_dev); qdev_prop_set_uint32(dev, "vgamem_mb", 16); qdev_prop_set_uint16(dev, "x-device-id", 0x5159); + qdev_prop_set_uint64(dev, "x-linear-aper-size", 16 * MiB); pci_realize_and_unref(pci_dev, pci_bus, &error_fatal); } =20 --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284913; cv=none; d=zohomail.com; s=zohoarc; b=PdD22Keg5xi2AVq/l4bU4gyy3I+96vAZ69l213dxmZo02lB+j6UFV1LZomERz37V9LH6Ecqh62+o2O1GciThoVM46G+n6G2fnKlgLCsnFz8Psyjy9IrwdX2vRBnPr65QGUKoHuf5GGkZ69q8fy0mOnZB1IV3u1NfdHAOiVOeA5g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284913; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=DydaDApGQyKIZilhgXGoxyDZiKo9keH82dkobi0tCBY=; b=A6ZceA9F0G9d0ZyVD/BdXA9xbVKP4zV4mjNfd7xIKE8zc7mPUS1bKxNMqmygNcaVUjxNOxiNQePWNOIfz0p9Wzn6GydHr40UlSUgLGKmWJ1Bl7p2FVhT8W+BcOopzf2BW7a9DU4FMRUftCm98cC9/HJNExRbC75iL+6gN/ki+ZA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284913814864.2765075294334; Mon, 23 Mar 2026 09:55:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iYZ-00087R-AN; Mon, 23 Mar 2026 12:55:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iYM-0007Vq-8K for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:59 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iYK-0000iE-C9 for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:54:58 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-43a03cb1df9so409488f8f.1 for ; Mon, 23 Mar 2026 09:54:55 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b6470c239sm30915537f8f.27.2026.03.23.09.54.53 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:54:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284894; x=1774889694; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=DydaDApGQyKIZilhgXGoxyDZiKo9keH82dkobi0tCBY=; b=klTm8mohRg+tQYjAqjxaAxZ57AfDe+29aoguGN/juTr7Kgn06d7iaXvkXmlFdp7jOc 4MCS35BfY+ziJslcMMzID40Ln3mwuMppBQeEqrt2ic00rDhYdRDnr1GDwwzx57RyiNlI 65A0W46gAsmlyXFkGob4H7OnB4PjXrJkCu1YeOUXYAbikwJ4+cozVYSvuqy31m1RI+pO iOGjMsT6hFY+pUe4atupQ+OmgmfipFUsiGVNxZV7TVJSbw47Lf4ivZEcf9wubo36tnyX VYJE1uInE/6WBHCVmcGaoA6U4FawGYAwvo/zAd8kynLg2ZhyqNdR1By+DYZwcXN9L3++ G7mA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284894; x=1774889694; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=DydaDApGQyKIZilhgXGoxyDZiKo9keH82dkobi0tCBY=; b=NQ9gw7JufmLBneAvwJwyLT99oYWo4N0h6YNKmiGxlCVB8sXfpV4krVQiN7vJ6PTeDY iQeCkRbRf8B0exGoFSdgC36e/hnlUSVdaN4QO37wN9YIhVPorsiAuAfoCoRlo955BeE0 Y/GOEkMCX4MOi9606HFBXWlJonjU7oo+UMkJWfU+qdxBYaKuoVSZ3SUuHKt8bi90u78u QhdOW592j11DuxhM1StOfv5Fmb3H5pSUPs8OuY0EpMBEv8v5dRrm8z3dGR5pvpCU6iGl A1tMGXIq3RIJjZ2zu2oma0um3rWMYRRwPTrCKf1iRZQBEg7pJnQoMASj6mfZ8RwMU2U1 o8GA== X-Gm-Message-State: AOJu0Yz5N131uNoa2DEzwpXSHMKAGh+0afeA0AM3Ju+wYT3ZLwgBBG0n 79QmUcwDiKjSJhcp5HM/uD4uL4wf9plXmBSPvHeJOccYj2MKw/pspHbTbMmUDVbXhe5wOfHn5kw JHPSY9A8= X-Gm-Gg: ATEYQzyUewZvykXHGXI8xg4YLkMw/U41dyxtLuIP8OL8PR4XhVXZFs59PcxG0zwPR87 u0NJUb42ZfnpMrHZTZb8dZpfV3gxgCJk/06i5O/pJqLACLcRiSZqSiAinv6BpTvT6dSqA6T6tq3 Y4Va86fAe2jX+enAk0Ordrd2r3+lDVFdkIUK6A5+gLetWhj9w/LsO5UBpjG3Y54SwIxu7JTMJBL CIGe52h+SGnrut44bJX+8DnGyek2aE4XGbfKh0hHV5EmdGjVwXEoBsSOLE3eduvy0xIA+aupJec G7OD33YxChMH7fATXkqlDmZsCbk4G9e59sNeUrXkvuoi5Ip69g8qt+8NHZJRI82TJBx+uCesv0A AFeNgDKgAiqUnlyzdatPMjaNo6ly0pqrqhyv7y/bgc7F0Vm4FprlHosbdriWK22623oxe1LM8Ba 0NSR6QtMfRTwKt4aIU3cm9pSMQLMeGPvo/RHCeoKRYk/MwX2G06ruhs8vf/W0ZjmZbR+xrLmaz X-Received: by 2002:a05:6000:420c:b0:439:c62a:6dc2 with SMTP id ffacd0b85a97d-43b6427973bmr20347789f8f.41.1774284894237; Mon, 23 Mar 2026 09:54:54 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 23/27] ati-vga: Simplify pointer image handling Date: Mon, 23 Mar 2026 17:52:14 +0100 Message-ID: <20260323165218.96607-24-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284915327158502 From: BALATON Zoltan Rewrite reading of mouse pointer image. I am not sure this is entirely correct but appears to work at least on little endian host with PPC guests using little or big endian frame buffer (MorphOS and MacOS) but still produces broken pointer image with Linux where I am not sure if it is a guest driver bug or still missing something. Signed-off-by: BALATON Zoltan Message-ID: [PMD: Replaced BIT() -> BIT_ULL() in ati_cursor_draw_line()] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/ati.c | 57 ++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/hw/display/ati.c b/hw/display/ati.c index f74dd1efc0b..c054c9aa7a2 100644 --- a/hw/display/ati.c +++ b/hw/display/ati.c @@ -141,27 +141,24 @@ static void ati_vga_switch_mode(ATIVGAState *s) /* Used by host side hardware cursor */ static void ati_cursor_define(ATIVGAState *s) { - uint8_t data[1024]; + uint64_t data[128]; uint32_t srcoff; - int i, j, idx =3D 0; =20 if ((s->regs.cur_offset & BIT(31)) || s->cursor_guest_mode) { return; /* Do not update cursor if locked or rendered by guest */ } /* FIXME handle cur_hv_offs correctly */ - srcoff =3D s->regs.cur_offset - - (s->regs.cur_hv_offs >> 16) - (s->regs.cur_hv_offs & 0xffff) * 16; - for (i =3D 0; i < 64; i++) { - for (j =3D 0; j < 8; j++, idx++) { - data[idx] =3D vga_read_byte(&s->vga, srcoff + i * 16 + j); - data[512 + idx] =3D vga_read_byte(&s->vga, srcoff + i * 16 + j= + 8); - } + srcoff =3D s->regs.cur_offset - (s->regs.cur_hv_offs >> 16) - + (s->regs.cur_hv_offs & 0xffff) * 16; + for (int i =3D 0; i < 64; i++, srcoff +=3D 16) { + data[i] =3D ldq_le_p(&s->vga.vram_ptr[srcoff]); + data[i + 64] =3D ldq_le_p(&s->vga.vram_ptr[srcoff + 8]); } if (!s->cursor) { s->cursor =3D cursor_alloc(64, 64); } cursor_set_mono(s->cursor, s->regs.cur_color1, s->regs.cur_color0, - &data[512], 1, &data[0]); + (uint8_t *)&data[64], 1, (uint8_t *)&data[0]); dpy_cursor_define(s->vga.con, s->cursor); } =20 @@ -196,9 +193,9 @@ static void ati_cursor_invalidate(VGACommonState *vga) static void ati_cursor_draw_line(VGACommonState *vga, uint8_t *d, int scr_= y) { ATIVGAState *s =3D container_of(vga, ATIVGAState, vga); - uint32_t srcoff; + uint32_t h, srcoff, color; + uint64_t abits, xbits, mask; uint32_t *dp =3D (uint32_t *)d; - int i, j, h, idx =3D 0; =20 if (!(s->regs.crtc_gen_cntl & CRTC2_CUR_EN) || scr_y < vga->hw_cursor_y || scr_y >=3D vga->hw_cursor_y + 64 || @@ -209,26 +206,24 @@ static void ati_cursor_draw_line(VGACommonState *vga,= uint8_t *d, int scr_y) srcoff =3D s->cursor_offset + (scr_y - vga->hw_cursor_y) * 16; dp =3D &dp[vga->hw_cursor_x]; h =3D ((s->regs.crtc_h_total_disp >> 16) + 1) * 8; - for (i =3D 0; i < 8; i++) { - uint32_t color; - uint8_t abits =3D vga_read_byte(vga, srcoff + i); - uint8_t xbits =3D vga_read_byte(vga, srcoff + i + 8); - for (j =3D 0; j < 8; j++, abits <<=3D 1, xbits <<=3D 1, idx++) { - if (vga->hw_cursor_x + idx >=3D h) { - return; /* end of screen, don't span to next line */ - } - if (abits & BIT(7)) { - if (xbits & BIT(7)) { - color =3D dp[idx] ^ 0xffffffff; /* complement */ - } else { - continue; /* transparent, no change */ - } - } else { - color =3D (xbits & BIT(7) ? s->regs.cur_color1 : - s->regs.cur_color0) | 0xff000000; - } - dp[idx] =3D color; + abits =3D ldq_be_p(&vga->vram_ptr[srcoff]); + xbits =3D ldq_be_p(&vga->vram_ptr[srcoff + 8]); + mask =3D BIT_ULL(63); + for (int i =3D 0; i < 64; i++, mask >>=3D 1) { + if (vga->hw_cursor_x + i >=3D h) { + return; /* end of screen, don't span to next line */ } + if (abits & mask) { + if (xbits & mask) { + color =3D dp[i] ^ 0xffffffff; /* complement */ + } else { + continue; /* transparent, no change */ + } + } else { + color =3D (xbits & mask ? s->regs.cur_color1 : + s->regs.cur_color0) | 0xff000000; + } + dp[i] =3D color; } } =20 --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284937; cv=none; d=zohomail.com; s=zohoarc; b=nlW955nxMXnkR2uciZ9qq+h5ZAVTB41mDp2cIB8TAbPB/XkTQqXetVtzh8AfmV6lJZd9ho+C5s0TOUfzuqvmeIH+y70yrALzjaZU7ZYEKdWXhYCJT36Rzl7nkSC5YY+hxluQL6nFFOK6XvwQjv+yvuLAoDjFbfJuTTNFbsV0j5o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284937; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=ioqUJCbmJfeCQyicE47R1nMMQxu4wy5T8sm43npFB3E=; b=oJ8w85itRE2FkyIPKTrNSO0TJZ1HPngSXVUuKl+R3UkgOtL0IT5oCv5K3pAfoCh7xZndGCjeQP6b9sbW0cgJz7OrJd/nheZJJvIg+wYvKoIGlnUO8J6b2iU/81jaYAQcwIRIrAfgZjofic7UAsM6rFqmq8r/lQDLLsENGX+CuH0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284937501230.8176132792612; Mon, 23 Mar 2026 09:55:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iYZ-0008CR-UC; Mon, 23 Mar 2026 12:55:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iYS-0007gz-OS for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:55:07 -0400 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 1w4iYR-0000in-40 for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:55:04 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-48334ee0aeaso3203535e9.1 for ; Mon, 23 Mar 2026 09:55:02 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486fe032a55sm562206375e9.7.2026.03.23.09.55.00 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:55:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284901; x=1774889701; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=ioqUJCbmJfeCQyicE47R1nMMQxu4wy5T8sm43npFB3E=; b=EYVUu+Qqd+guA/EpxPKbuR9VcpI7cgpMvT2H9gmX0YnI6vYFfuOgmxcOQ7V18XhMzk VjhzQJk/H/iwRzhDFOZKeJxS+bCC/olynH2Ss/0LDWWKbe9Kz4uLng9/Yd8qYahVPnWR AxZh3Z7Jrv67dcL23qFK9w103GeCJtKg4TXRCaDu3fjcBTer7uqfLmbKIs8GJRtJC2SQ x0oH2TAEdrweJRNxsfelsX737Jp2f/1yV8JyqobrpTTFDCWwr1HBHaC1heBVOjDI/0K8 V+rqc3y8T/K6DxFSQj/8vhxsP4+D7sIBgRryZzexFWtSVNVo1OgpARPDGU9ZpyHWTHSU IpnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284901; x=1774889701; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ioqUJCbmJfeCQyicE47R1nMMQxu4wy5T8sm43npFB3E=; b=LIISsK/n5y0HdSgLhSJTcKTgsNGMsMsGW9aAq+Z2EZvfjs40QKCYcrTk0G35YJn6Vq zztSF9jvNahCNkwVkNS8VlU5ZuskckL7OiFaJ2iPhaXorl1s5gkdOaktShfkkP4zgFLO uHeIYq7osfFhb05WBmHxP0HDXVe1CTxep/lkPkNqbZLS7tlXBzNi6rsYB6ZPbLnwZv7a +o/0m0L6Y5gKr7N3HbRddSdIMKlhqLes3n4XofaYvcB3rfwKb73uwMxcOuiKJlLKcCN3 BZ3Q3PUB3opJ8Xp65wtq+DDT58aX/dloKA+EsGXG0QTn/9LHC03oS+CgHuEKlkxh382J ZVzQ== X-Gm-Message-State: AOJu0YxPkosJ0KGYcafEDTbvdr6Y0enSTdNxJV0F4geJDQWi857nrvTq et01p9LmvKwsq1bAzS4rLmmL+zwleVzqDhGV3eFkh/nr8pahCR3Dm/BhMe8UFVwEjYw3I9BXZcP bYM7QCNc= X-Gm-Gg: ATEYQzzv5/s2PExXjbcZC4UGHYo+kWI3HEVWg8IOQSdexp7db6wdlfQTKanlsCcRSSf hmEVkH8cWM2uSPUvW4DTWJZGjMOGub1SeGxm2sgdQHwe457MqVft900LnkKf6rp7/qjC798yC+E gUFxOxwGQa4BRZSV/cd5/gkWtLek2IkazKK1ESk6qmqLRKikLOZuexOk5pNsDiu+kslZ18/Cf2i JgTD83JSFhwhVjWixpF50bFp39pfh7rVbOaMDV8siryVJK3xcX8kI9+FqXvEfHhDPrzvFwTDb3P c6vueXNYKzk/ZlMkrVUMTBwNsovtpXQlPiYQOrz5b0MGp0aC3CxhR5kIcVRogwYpR0ga43Nq9LV idcXqHaldq33XDc1rs6IOtUKl44R/rjehV7wG9+aVf2RZzOW012DnKwMhUgxfbswBPmbGmwG70E Hqxc5srU8KKLCgP0qpz0Ov3pFae5s/BWDzLv5RZMjsHjQpLrSTERxp7YDoJwPAy6nwHnP8IEe3 X-Received: by 2002:a05:600c:c083:b0:485:35d3:ce59 with SMTP id 5b1f17b1804b1-486fedf9be6mr141830765e9.10.1774284900998; Mon, 23 Mar 2026 09:55:00 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 24/27] ati-vga: Make sure hardware cursor data is within vram Date: Mon, 23 Mar 2026 17:52:15 +0100 Message-ID: <20260323165218.96607-25-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284939425158500 From: BALATON Zoltan Add check to make sure we don't read past the end of vram when getting mouse pointer image. Signed-off-by: BALATON Zoltan Message-ID: <2ecf42bdeb96a4206b27dc39b3ff13cc8a6190d0.1774110169.git.balato= n@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/ati.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hw/display/ati.c b/hw/display/ati.c index c054c9aa7a2..fc19737d1f0 100644 --- a/hw/display/ati.c +++ b/hw/display/ati.c @@ -150,6 +150,9 @@ static void ati_cursor_define(ATIVGAState *s) /* FIXME handle cur_hv_offs correctly */ srcoff =3D s->regs.cur_offset - (s->regs.cur_hv_offs >> 16) - (s->regs.cur_hv_offs & 0xffff) * 16; + if (srcoff + 64 * 16 > s->vga.vram_size) { + return; + } for (int i =3D 0; i < 64; i++, srcoff +=3D 16) { data[i] =3D ldq_le_p(&s->vga.vram_ptr[srcoff]); data[i + 64] =3D ldq_le_p(&s->vga.vram_ptr[srcoff + 8]); @@ -204,6 +207,9 @@ static void ati_cursor_draw_line(VGACommonState *vga, u= int8_t *d, int scr_y) } /* FIXME handle cur_hv_offs correctly */ srcoff =3D s->cursor_offset + (scr_y - vga->hw_cursor_y) * 16; + if (srcoff + 16 > s->vga.vram_size) { + return; + } dp =3D &dp[vga->hw_cursor_x]; h =3D ((s->regs.crtc_h_total_disp >> 16) + 1) * 8; abits =3D ldq_be_p(&vga->vram_ptr[srcoff]); --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284940; cv=none; d=zohomail.com; s=zohoarc; b=nv6Df/d9fAYJ34iHBSkz7dRG+qJQh1t+1DXR2/MKzunZHLucomB1f71nSOxGqOFPZ6MpWWV6mjmSL48KAeyL6lilWZPgWi/NGr3uOSWaPv/akmRZjvZk+cfcCWS/jzdDnxUotKZznc8vVYbmCrY5/Tpj/BVWlG2Y2CCITGXR/5E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284940; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=oWfi2HgfSpvuVSftWY5ON3lii/NBjM3WqJGU05mMtcQ=; b=XKtBba+SsXkv2osAOhs6EQMToPb06rEUwCamVSbqGXhQ/Xy3hAQYQt//15NuQTHaHCtFO5AINKPiZ5GDQfUiMYnXfX2aq+JPYOtnP7HuRAFmBcCl9RrTxnoVT9SDqQPbNjBj7yX5fIfrUsVAaFtJKZvLCeJElS/HgpZdreKfNV8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284940822252.91312857179798; Mon, 23 Mar 2026 09:55:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iYc-00005E-Da; Mon, 23 Mar 2026 12:55:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iYa-0008Gz-5l for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:55:12 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iYY-0000ul-Dp for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:55:11 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-48557c8ad47so2673555e9.0 for ; Mon, 23 Mar 2026 09:55:09 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486fe85e4b4sm86076745e9.3.2026.03.23.09.55.06 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:55:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284908; x=1774889708; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=oWfi2HgfSpvuVSftWY5ON3lii/NBjM3WqJGU05mMtcQ=; b=gp5wlNISPT0aY8CnhNJoYxN9ra3tktQYUcbExU6trAjzv1Es2b65mvLY42xUdieeiu RFroGKZk4bE2acjQ/7IlcKahcBRSEHdAvdawqhZ+aYgu9iMDvzzoGyx7JozKQK3clV4e DJBNhqK4/5XdNCRhnJ4n/pL8TiWIkygR2S2j38xbWfpUH2ftCYYV4ToWEk9SJazSMpRO uj5ZXhBbAqwMWG7fMBTuDVh1+QyKxgxN3Uewe8m7UKPTiwYYdJJ+RA5w44mGktQlfT19 H5oBjHTj9E0ffCzb27zImkzzGtzQLF0/HVz5Sc9MUF0qR95eE0y3LWaWYRpXj2CSHveQ 8B0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284908; x=1774889708; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=oWfi2HgfSpvuVSftWY5ON3lii/NBjM3WqJGU05mMtcQ=; b=a6gD/JU/rO2UgxYeiw41Wf3NFZbKsXLJC+MNJK8LwPW6C/JnFVTHzfJTKb24bDhohF ufIOlVZPSr6m9Ps3f7ct9x4RYGYD8QaRn9wHYxg00/SvK694YYRmxpPSJJGmpqlaSJI0 1Q7SlHdUNMYFsPCFz5SWVaC9LN4XQdFMnI+GG6MFySDR3Y7v/ycpjE5IQ1/XcofbHbwq 8b64bbXIH5Y6+As8IkUUxbR5OSo7AwRAVKFlV6Gh2DO4nSN6kBtztOCfCjyYx8w4s/qG 89foqS9iqtdkjPut0IVDc+gU7unNQkpW2Zu/WNfYTUtUbYel9+/joaVFeHzxT7Fbt10m NGGw== X-Gm-Message-State: AOJu0YxqEVRZ5G3i+XRWlOUNYD7/DR4HLXEdJ6+wL+vt2o/2Slw2Wyl5 IMmzMm/KzWRaolmCDi+U63+w39sqtNvGiTflX/Q7h8MUipKKmZIYbuuMn6zd1GjV8tUzP6+Pn/2 YTdV8LMU= X-Gm-Gg: ATEYQzzpUajq3e89j5fujbWfQnQrAn4BYv1cuX3PpiwdAo/fUOFj2rOVvnOG5Nb5IPz KOYk7Z3KDmF8XBSk+MOpK+rE1E56kaz1kFLAKm9w2Ans4Q+OG5ndiMB6JE5jEn8lMlkWsW57jHN Bk9/atwzx+NN+Q2ii4TKU1nVPIRisLR7h9ozLJSPVoLKDKV5CIzq2PZdaxIq3UZCDF+VSxmptPE KSoCE8COi9Kj3Te4lkmDJarzZCeHIejYU/jiw98TmPOQc7yagnjwknatxdds4EhYd6J7/PAkhJl lkCVX76yvK+ZKOpcDjYS68MW0VCvuppHueG/kMNOCS/60IfiWxZLfK9J2mJhF3uKngVGTdJgSv+ E1PoaFeAbGG+XoN/fUhPfgbCTQ/v/QQAQH+a5JGtz8ZPzTSm0+Aqo7MibHf8dqnY/+53zHgQbOd Uh8PhW/eQeSxT1j1aOKnawGyaDNs8rPz5LYXaVcVhG6gNzgLgkHC+ZF9aHG5MneSY2Tiulcvlc/ RIzWcFreqY= X-Received: by 2002:a05:600c:5250:b0:485:3c66:e21d with SMTP id 5b1f17b1804b1-486fedab2damr199964335e9.2.1774284908353; Mon, 23 Mar 2026 09:55:08 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 25/27] hw/net/ftgmac100: Improve DMA error handling Date: Mon, 23 Mar 2026 17:52:16 +0100 Message-ID: <20260323165218.96607-26-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284941446158500 From: C=C3=A9dric Le Goater Currently, DMA memory operation errors in the ftgmac100 model are not all tested and this can lead to a guest-triggerable denial of service as described in https://gitlab.com/qemu-project/qemu/-/work_items/3335. To fix this, check the return value of ftgmac100_write_bd() in the TX path and exit the TX loop on error to prevent further processing. In the event of a DMA error, also set FTGMAC100_INT_AHB_ERR interrupt flag as appropriate. The FTGMAC100_INT_AHB_ERR interrupt status bit only applies to the AST2400 SoC; on newer Aspeed SoCs, it is a reserved bit. Nevertheless, since it is supported by the Linux driver and it should be safe to use in the QEMU implementation across all SoCs. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3335 Signed-off-by: C=C3=A9dric Le Goater Reviewed-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260322215732.387383-3-clg@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/net/ftgmac100.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/hw/net/ftgmac100.c b/hw/net/ftgmac100.c index d29f7dcd171..2f05bba11d0 100644 --- a/hw/net/ftgmac100.c +++ b/hw/net/ftgmac100.c @@ -624,7 +624,10 @@ static void ftgmac100_do_tx(FTGMAC100State *s, uint64_= t tx_ring, bd.des0 &=3D ~FTGMAC100_TXDES0_TXDMA_OWN; =20 /* Write back the modified descriptor. */ - ftgmac100_write_bd(&bd, addr); + if (ftgmac100_write_bd(&bd, addr)) { + s->isr |=3D FTGMAC100_INT_AHB_ERR; + break; + } /* Advance to the next descriptor. */ if (bd.des0 & s->txdes0_edotr) { addr =3D tx_ring; @@ -1134,7 +1137,10 @@ static ssize_t ftgmac100_receive(NetClientState *nc,= const uint8_t *buf, bd.des0 |=3D flags | FTGMAC100_RXDES0_LRS; s->isr |=3D FTGMAC100_INT_RPKT_BUF; } - ftgmac100_write_bd(&bd, addr); + if (ftgmac100_write_bd(&bd, addr)) { + s->isr |=3D FTGMAC100_INT_AHB_ERR; + break; + } if (bd.des0 & s->rxdes0_edorr) { addr =3D s->rx_ring; } else { --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284955; cv=none; d=zohomail.com; s=zohoarc; b=idqbLT+9h+p7XAh/M+XArQnn6Xi/Nk8uhjKrYdmPIEijqqSQMY9Tkh6G8VYTDY7vJfY+k0UA7mu6YVdkNQQ2Dy/gQKMaHNmV0pYzczw+uv0/Ocus7SXGJaKEA0bVLexkY+UuYM6huFhhZVwey0hyIu0OeMjpYUFxTkJgyegoztY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284955; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=7h0pnAdsdCjYCynDN/kyff4Hk5hBkXEfGF5OgBL9Hi4=; b=IdgBHEB9ivH/DWS2VM+0/gPu9OYILmgKF4fCLU3cZrzrS4ECGZ3SCc+lI+jyRbGf/0bO6x3gXAHBEkzK3+/FfVTzNAi617/CBF17TWPKvbNHyzxgosAIrm9JctJtEt2kj39aowCDun+8K/43XfIGc2Y9SNUCvXfH3Uxq7GNKZgo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284955028696.1595902686068; Mon, 23 Mar 2026 09:55:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iYx-0000sB-CV; Mon, 23 Mar 2026 12:55:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iYk-0000ar-E4 for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:55:27 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iYf-0000vH-4P for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:55:19 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-486fba7ce4cso3265455e9.3 for ; Mon, 23 Mar 2026 09:55:16 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486fe967c64sm287223065e9.2.2026.03.23.09.55.14 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:55:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284915; x=1774889715; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=7h0pnAdsdCjYCynDN/kyff4Hk5hBkXEfGF5OgBL9Hi4=; b=MMflvkxNiPi1NaJNG68M3PSiYZthJKxhsKP8xn/DqPEHiQN8gROynsBJ3qqGHz7vwK 6tD389ofG5x8mmd/XDmmWs9MkrDgEmFnpb5lzw/QgZeeP5j2p3dtPgaBtfS6SG9bA7XH K3oJCcFULUHE+cax5L2G7ePy3ZX2XZIRMBgl46vEu37ithWWJ+Q41HyZr8cym9XjGQ6C hoZbmpY8GGTCCICRrOPxr64bWVhx3Q6TTarXJ4vX9mS8pKjgjuuBUj5HfDeT8dKYY0gb MsmP9mEC/+CRmbl95zA5gKc+K6ABWssnwk9EJ2K1lY+nVdXK1tLQRazfnqL0S1JB+ar0 JoUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284915; x=1774889715; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=7h0pnAdsdCjYCynDN/kyff4Hk5hBkXEfGF5OgBL9Hi4=; b=logoyCjOZtL+Bmhk8DkAZZCAsVUxCUPvOTqCq34SHVMEAIjYG0z/4Q4+umIKzB7Xm9 nxznSU6anvt15TV0g4UP8+79Ltc5rv1ruWrbR6+ZMzPnqfRKIujVRiHMVLxEJ5WgUcQ0 8m0MS89p9SrMLVD6eCYNgeyepgESRs5jE0Y/gV9nCoTi4o1x6jTAuKG1wkL+Sk7nKq0U RbTacnnOzDwFiJE9PpVjtEvpLSlQ+eN9PSMP8AKI94xcjwRXPeFV9f09nN88BxtRj93i NvxCuGYhWhl0BMby8KwwXPCuixfQ/RDwvcxvZjhCfhQttwDLVpO4UW9hOnxcTQlLRZOo nONg== X-Gm-Message-State: AOJu0Yy3kJnOdvd4gYZrBto0OSuZJw+MLMY2f+6ZqCWtCzapGNxR7Sk3 Np3WjphfTczYDnxkkmFc3S2TxW5jvzssXB8WjWxsrzHgf4tyz+/eg4NhryNxg6oL+8yNuzsywrY 9MaaGjUg= X-Gm-Gg: ATEYQzxFu/yBTBPGrPbRxSEEt/l/vwh7PyxYGE/l1KFadVQ/HgZzBokdXAIQ5A4zO2P 9VxC32qjwBOQc9/2/Ms9/7hR/FL0HauYg83l9QSE7ZQ/KZAXaWMBJj/ylCcJlI27Venp1GP5EZd l5FscJjtQGkDINKL6/0fBHedlHtYxS1STrgHhREcl5x+Mc3V8SHvgT9xtO7pAYBry1cqcqKU/IA gMZkKZAtQhT70K2ioKOuXIiqVcOVOEYhZxP57bfEUh0LlIodLSJXW3EQkCef2I73NK+HUXcJSfJ pNN+GeCv/WkcPyhWsGYUIXKIvz3STswd6q8e/ZYBUBmpxXwqw/LPTPW8O5/Sm3WGCzhhHdVpuAW +Xzq/KTEsEbyEhW2NhagHqFs+ZLY9heoZx0Ij0bbcbPn4iYm+tXAfLFW2wxzwQN2GQ6gqXKnlBb yr2vF8zuFXzTBNBnhkYXgUtuILv6jbFU//GTHqh+tkHSqW+X8x3G0zmYaz9GYyfQqE/aSX1a7P1 wJYCxvbcMU= X-Received: by 2002:a05:600c:a416:b0:480:69b6:dfed with SMTP id 5b1f17b1804b1-486ff0303admr158190495e9.24.1774284915096; Mon, 23 Mar 2026 09:55:15 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 26/27] monitor: Correctly display virtual addresses while dumping memory Date: Mon, 23 Mar 2026 17:52:17 +0100 Message-ID: <20260323165218.96607-27-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284958681154100 While reworking the address format width in commit 6ad593a75a8 we introduce a bug, leading to addresses being displayed with too many zeroes: $ qemu-system-ppc -monitor stdio -S QEMU 10.2.90 monitor - type 'help' for more information (qemu) x/x 0 0000000000000000000000000000000000000000000000000000000000000000: 0x00000= 000 (qemu) x/x 0xfff00000 00000000000000000000000000000000000000000000000000000000fff00000: 0x60000= 000 $ qemu-system-ppc64 -monitor stdio -S QEMU 10.2.90 monitor - type 'help' for more information (qemu) x/x 0 0000000000000000000000000000000000000000000000000000000000000000000000000= 0000000000000000000000000000000000000000000000000000000: 0x00000000 Correct the format width to restore the previous behavior: $ qemu-system-ppc -monitor stdio -S QEMU 10.2.90 monitor - type 'help' for more information (qemu) x/x 0 00000000: 0x00000000 $ qemu-system-ppc64 -monitor stdio -S QEMU 10.2.90 monitor - type 'help' for more information (qemu) x/x 0 0000000000000000: 0x00000000 Fixes: 6ad593a75a8 ("monitor/hmp: Use plain uint64_t @addr argument in memo= ry_dump()") Reported-by: BALATON Zoltan Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Thomas Huth Message-Id: <20260323095020.66658-1-philmd@linaro.org> --- monitor/hmp-cmds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c index bad034937a9..bc26b39d708 100644 --- a/monitor/hmp-cmds.c +++ b/monitor/hmp-cmds.c @@ -537,7 +537,7 @@ static void memory_dump(Monitor *mon, int count, int fo= rmat, int wsize, uint8_t buf[16]; uint64_t v; CPUState *cs =3D mon_get_cpu(mon); - const unsigned int addr_width =3D is_physical ? 8 : (target_long_bits(= ) * 2); + const unsigned int addr_width =3D is_physical ? 8 : (target_long_bits(= ) / 4); const bool big_endian =3D target_big_endian(); =20 if (!cs && (format =3D=3D 'i' || !is_physical)) { --=20 2.53.0 From nobody Fri Apr 3 16:05:31 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1774284951; cv=none; d=zohomail.com; s=zohoarc; b=ZP8vSSpRW0NcC+TfDLXjIYzUznErbuni3yGLQkdsGRnOH58pfM6hUAeK8/oAAHfU1BkU64lKeOuAi6qOKmBaFEnRkbn3XHVdsU1ES+bUhxYm/wKFNlPBdUTTtKZg41RbClN3q+fO1xJZ7xOTItIUGqJ8JrecXZzQiHOgZVplC4E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774284951; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=iW/mGBeluixf2opbc2MDnMz1SrddnkAeDyx0dfna1yo=; b=MIDiFTdHDxGEf3X8PpfQ7Pgv2WmmZB2uYZqdC4SIA1tnNe3kGg7t/0LMNyxrOlJFMDmH7Zir5eBvkhMYJY1SFBSE0nmBjqr/yVBc+zjT63ZldhTxcYIN5u0jJgBpni3VztOTKRYtdVDX2EstXREBWaQzsdKX0TPQ5a+N4qaxEmQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1774284951951569.8635819286117; Mon, 23 Mar 2026 09:55:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w4iYx-0000rs-Ce; Mon, 23 Mar 2026 12:55:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w4iYq-0000df-CR for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:55:30 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w4iYm-0000vp-FJ for qemu-devel@nongnu.org; Mon, 23 Mar 2026 12:55:27 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-439bc14dcf4so3725204f8f.1 for ; Mon, 23 Mar 2026 09:55:24 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486ff1d8138sm81234235e9.34.2026.03.23.09.55.21 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 23 Mar 2026 09:55:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1774284923; x=1774889723; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=iW/mGBeluixf2opbc2MDnMz1SrddnkAeDyx0dfna1yo=; b=CMFtDHB+BqRUTW7LeLyI0ik7EJ1Hb6K9uVOZbP8CbIf2Zph3rTeftammrH1deL/fqS wMRJYBplRhgAJfXSWz+il3pK+DppjMoZRB0GMRDNaxEQElEOyM2EBAXkjOAiIQDrVZFg p5xEZUIoGx4yET4H5w8xb3+fddRyTd01YExhcUeKgVDW+v5O6RVO5JlsVVkz1L/yVafV St8EecaUTJmmi7KXFiOamOLgIed/4oyKekHRA0F0yjbPJb/4zFunuOH0XzOYQu22ixey 6wfoIyZTVaWQnlzPxawkqHBi5gs9yJv/Uw8quEAQKNZ6DKD1K3KxaE7NgU+vtuo4VDPr BU/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774284923; x=1774889723; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=iW/mGBeluixf2opbc2MDnMz1SrddnkAeDyx0dfna1yo=; b=ku/IqZP/SBxbeZ2G1LVjkx5Ke4i6klXB+31lXu1YscN9vDMb3A9Ys0eU4x6WH9MoTa 3IQKtndZyuMuqiGoOMbeqXnD4pkxKzVKtDmVPWDV3SXa5XC6vGBbd+nnZw3cNE3odxpF v+LWsBDWpArGSVKkig0NVAggwK/FFKhVI/l/S1H6BzWoRfnh1iV6thOTxyVrAn0zhO3F ma/t1k9EHluHGtZ8buqRLS8BPYYWj42BcSQWHG20vjxysEEFG8sH7dCmIsIHDKwkKfEd /QvAk7xha34bUIcoAdeebusCWu8ZLulXGDiNAIJRzW5ttmM7CnG/v5Z/3FCuJARBHdi6 ruAw== X-Gm-Message-State: AOJu0YxV9xWzypXtuY+TFZfQdhBY3n3sZW/5j+IKntXuByMaqbTaaMdr +4sAF/VzD4BVhxwmwoA3lXMqTBGQb+VKArBFj8V1Q3/BW116I85oPc1rnM7BoXIDNO7/mlscA6j cGVf/8eE= X-Gm-Gg: ATEYQzzrfq/sag8WeFFcAeFSiYr90uyqKZKF+UTvZo2G+oJCG4VoEjJtE1jxo4Z0yu2 OpicPqclUGSwvz6tue/acHg7KAN4BKgbEaRwLpoJRBDyXOc5BWHj4/eJ2QwLshK/QpRRjsbMPt3 JqRgLZrJml3KlpFSE24b3g9gfJPuL6K1YgTTQXTvhbXNiZDyRmEt6Wc7nVnT3/R6T/rz4G5Rtmu zeLpbQL1duenAek1gVTDvIJLEjP6EVtmbnb9rfE5hnaoKlcEALiMoiLANI/C9VCZ7PvQQ7WbUiA NWjJb1OeB2kVrxK/JMJXgLheH376M3uENVYNxV/xzk1DfTDFifJ8J+dx3lvRhBb5faJjh3pWlQS Gpyccsixqbmkqtx3u/OJR6jRmwiYtF8k33kYpaV05OyA1fmuYgh5dJORwTnexrjjD0ZPcFYOwtA wBTezOD2tNj21zuyNeB8qCfS1qUaEpoVy20RS7OdEXQQvWSdET+JTrR7gsO2lS0urVWJGBiUMi X-Received: by 2002:a05:600c:4349:b0:486:fe83:861c with SMTP id 5b1f17b1804b1-4870f1fc613mr2794785e9.7.1774284922580; Mon, 23 Mar 2026 09:55:22 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 27/27] hw/hyperv: add QEMU_PACKED to uapi structs Date: Mon, 23 Mar 2026 17:52:18 +0100 Message-ID: <20260323165218.96607-28-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323165218.96607-1-philmd@linaro.org> References: <20260323165218.96607-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1774284953510158500 From: Magnus Kulke The uapi definitions are marked with __packed hints in the kernel headers, since we want to keep the contract of the Microsoft Hypervisor ABI explicit, we should also added them in our vendored files, with a few notable exceptions where the attribute is a noop. Signed-off-by: Magnus Kulke Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260323120613.355019-1-magnuskulke@linux.microsoft.com> [PMD: Do not include "qemu/compiler.h"] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/hyperv/hvgdk_mini.h | 35 +++++++++++++++++++++------------- include/hw/hyperv/hvhdk.h | 12 ++++++------ 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/include/hw/hyperv/hvgdk_mini.h b/include/hw/hyperv/hvgdk_mini.h index cb52cc9de28..c3a8f33280a 100644 --- a/include/hw/hyperv/hvgdk_mini.h +++ b/include/hw/hyperv/hvgdk_mini.h @@ -211,7 +211,7 @@ enum hv_intercept_type { struct hv_u128 { uint64_t low_part; uint64_t high_part; -}; +} QEMU_PACKED; =20 union hv_x64_xmm_control_status_register { struct hv_u128 as_uint128; @@ -326,13 +326,13 @@ typedef struct hv_x64_segment_register { }; uint16_t attributes; }; -} hv_x64_segment_register; +} QEMU_PACKED hv_x64_segment_register; =20 typedef struct hv_x64_table_register { uint16_t pad[3]; uint16_t limit; uint64_t base; -} hv_x64_table_register; +} QEMU_PACKED hv_x64_table_register; =20 union hv_x64_fp_control_status_register { struct hv_u128 as_uint128; @@ -416,6 +416,10 @@ typedef union hv_register_value { union hv_x64_register_sev_control sev_control; } hv_register_value; =20 +/* + * This struct is __packed in the kernel. Since all members are naturally + * aligned, we can omit QEMU_PACKED to avoid address-of-packed-member warn= ings. + */ typedef struct hv_register_assoc { uint32_t name; /* enum hv_register_name */ uint32_t reserved1; @@ -439,7 +443,7 @@ typedef struct hv_input_get_vp_registers { uint8_t rsvd_z8; uint16_t rsvd_z16; uint32_t names[]; -} hv_input_get_vp_registers; +} QEMU_PACKED hv_input_get_vp_registers; =20 typedef struct hv_input_set_vp_registers { uint64_t partition_id; @@ -448,7 +452,7 @@ typedef struct hv_input_set_vp_registers { uint8_t rsvd_z8; uint16_t rsvd_z16; struct hv_register_assoc elements[]; -} hv_input_set_vp_registers; +} QEMU_PACKED hv_input_set_vp_registers; =20 union hv_interrupt_control { uint64_t as_uint64; @@ -468,7 +472,7 @@ struct hv_input_assert_virtual_interrupt { uint8_t target_vtl; uint8_t rsvd_z0; uint16_t rsvd_z1; -}; +} QEMU_PACKED; =20 /* /dev/mshv */ #define MSHV_CREATE_PARTITION _IOW(MSHV_IOCTL, 0x00, struct mshv_create_= partition) @@ -487,6 +491,11 @@ struct hv_input_assert_virtual_interrupt { ******************************** */ =20 +/* + * This struct is __packed in the kernel, but since all members are natura= lly + * aligned, so we can omit QEMU_PACKED to avoid address-of-packed-member + * warnings. + */ struct hv_local_interrupt_controller_state { /* HV_X64_INTERRUPT_CONTROLLER_STATE */ uint32_t apic_id; @@ -644,7 +653,7 @@ struct hv_x64_intercept_message_header { struct hv_x64_segment_register cs_segment; uint64_t rip; uint64_t rflags; -}; +} QEMU_PACKED; =20 union hv_x64_io_port_access_info { uint8_t as_uint8; @@ -669,7 +678,7 @@ typedef struct hv_x64_io_port_intercept_message { uint64_t rcx; uint64_t rsi; uint64_t rdi; -} hv_x64_io_port_intercept_message; +} QEMU_PACKED hv_x64_io_port_intercept_message; =20 union hv_x64_memory_access_info { uint8_t as_uint8; @@ -692,7 +701,7 @@ struct hv_x64_memory_intercept_message { uint64_t guest_virtual_address; uint64_t guest_physical_address; uint8_t instruction_bytes[16]; -}; +} QEMU_PACKED; =20 union hv_message_flags { uint8_t asu8; @@ -711,14 +720,14 @@ struct hv_message_header { uint64_t sender; union hv_port_id port; }; -}; +} QEMU_PACKED; =20 struct hv_message { struct hv_message_header header; union { uint64_t payload[HV_MESSAGE_PAYLOAD_QWORD_COUNT]; } u; -}; +} QEMU_PACKED; =20 /* From github.com/rust-vmm/mshv-bindings/src/x86_64/regs.rs */ =20 @@ -731,13 +740,13 @@ struct hv_cpuid_entry { uint32_t ecx; uint32_t edx; uint32_t padding[3]; -}; +} QEMU_PACKED; =20 struct hv_cpuid { uint32_t nent; uint32_t padding; struct hv_cpuid_entry entries[0]; -}; +} QEMU_PACKED; =20 #define IA32_MSR_TSC 0x00000010 #define IA32_MSR_EFER 0xC0000080 diff --git a/include/hw/hyperv/hvhdk.h b/include/hw/hyperv/hvhdk.h index 866c8211bfe..41af7438471 100644 --- a/include/hw/hyperv/hvhdk.h +++ b/include/hw/hyperv/hvhdk.h @@ -16,7 +16,7 @@ struct hv_input_set_partition_property { uint32_t property_code; /* enum hv_partition_property_code */ uint32_t padding; uint64_t property_value; -}; +} QEMU_PACKED; =20 union hv_partition_synthetic_processor_features { uint64_t as_uint64[HV_PARTITION_SYNTHETIC_PROCESSOR_FEATURES_BANKS]; @@ -201,12 +201,12 @@ typedef struct hv_input_translate_virtual_address { uint32_t padding; uint64_t control_flags; uint64_t gva_page; -} hv_input_translate_virtual_address; +} QEMU_PACKED hv_input_translate_virtual_address; =20 typedef struct hv_output_translate_virtual_address { union hv_translate_gva_result translation_result; uint64_t gpa_page; -} hv_output_translate_virtual_address; +} QEMU_PACKED hv_output_translate_virtual_address; =20 typedef struct hv_register_x64_cpuid_result_parameters { struct { @@ -226,13 +226,13 @@ typedef struct hv_register_x64_cpuid_result_parameter= s { uint32_t edx; uint32_t edx_mask; } result; -} hv_register_x64_cpuid_result_parameters; +} QEMU_PACKED hv_register_x64_cpuid_result_parameters; =20 typedef struct hv_register_x64_msr_result_parameters { uint32_t msr_index; uint32_t access_type; uint32_t action; /* enum hv_unimplemented_msr_action */ -} hv_register_x64_msr_result_parameters; +} QEMU_PACKED hv_register_x64_msr_result_parameters; =20 union hv_register_intercept_result_parameters { struct hv_register_x64_cpuid_result_parameters cpuid; @@ -244,6 +244,6 @@ typedef struct hv_input_register_intercept_result { uint32_t vp_index; uint32_t intercept_type; /* enum hv_intercept_type */ union hv_register_intercept_result_parameters parameters; -} hv_input_register_intercept_result; +} QEMU_PACKED hv_input_register_intercept_result; =20 #endif /* HW_HYPERV_HVHDK_H */ --=20 2.53.0