From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783429971; cv=none; d=zohomail.com; s=zohoarc; b=NUClMit+YFH4gr6HzAX11GoKIRk4zBULHVQ9QMVjYCTKqdMbmxXjoBYg6TNdbfVJSXdYdC9AwrVj738zLGvtJzNFq+/xcp4wdojwN7jYSmkUfRCvAbiDYpLnggugwV0z5kfkEZ7EdxBLUxwsFL3ETP84lCgfH6kkX9FZxwQFyPA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783429971; 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=eOKDwqSOuBZJrV4MX+PcvhrBkSUij57ra62E/Hh8P/c=; b=F/GnKp9pqrJYe/9QYfm62SYLPrp5KZe0GonhP/lpAQmiHJoTetQi5z8CwkEd5Ej57OqiGDZ8g2+CtlmJ+Rh0pTNpVKTM6CU7U+bB5gj9F3Q3t+ZoUQaJNLUrGgrjDqvl0ZcpVlja2ZsLhOF5pmOIrvoXci2VwCWoWwB/lVYeBYA= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783429971549654.1519217076493; Tue, 7 Jul 2026 06:12:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5bK-0000Cm-3c; Tue, 07 Jul 2026 09:12:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5bI-0000Cb-CN for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:12:36 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5bG-0000Pk-L8 for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:12:36 -0400 Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C9F3e3590494 for ; Tue, 7 Jul 2026 13:12:33 GMT Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8w2u9bcj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:12:33 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c075c1e25so32054161cf.3 for ; Tue, 07 Jul 2026 06:12:33 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-69a19cd88aesm5668611a12.3.2026.07.07.06.12.31 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:12:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= eOKDwqSOuBZJrV4MX+PcvhrBkSUij57ra62E/Hh8P/c=; b=SIrFbeqAWUIcohYD 3wKZcfow6rYZR0X34ZWoOBmMByJKdj3bY2U0hsx71L5XYZCq6Z+WPLbqZBIqBGgy DgUHTDkPYf/17r1rv9jRcIXVKKMKejnbjNAs4qDDHWqba4ObKXK3cr+vKpem5Ci+ U48H2eya9mti///nMDJjR59HmgLEscLzZSHTgS5L/2U7q+cTUxKzfLB3z5CE/0Wy 6QeCtktnjO0MLmj10H3U+JacbPPeA5kDC8CZeIwqIOr8YhRjchdViEz0eJgTCua5 Xqes5FwVtFtbufqBpJI/yA1eKVvR0SllA55WyWDh8obnLkPT6cC8MMqnHnd+1Tui OannVg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783429953; x=1784034753; 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=eOKDwqSOuBZJrV4MX+PcvhrBkSUij57ra62E/Hh8P/c=; b=d8s65s1MMtE1vvWyrnN3UGdPTkpsBJz0taKf00kGM+QdHVlkKRLb44PvcAcQAQS2Sl gWzhwCHhl06gL2RzM00sIbOXs4O7RNowS9WC9clWjGz7nZzmmDTlRs+juBAnnJ/8UMEP LQNuO7cKiNBo0nvteQ48nLEw4MdSMrMUqYJlVhUVuQ0C7Vn8imRkKer9lNq5RLjFL6Uu SMCFIjNIwyRe4IU0GZHAYq/Uyvb00P34Z+9AcpiLWYUKSRUx10ubgqXmFWrcFA1/TKzj sKC/X2fpWQhzwwNyG6u2/tEwOIL/raydfFYFLeHTojKG2rXdphOCaLwwQYWAaaBxdNRi f5hA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783429953; x=1784034753; 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=eOKDwqSOuBZJrV4MX+PcvhrBkSUij57ra62E/Hh8P/c=; b=eAhCeVisrsv8vT3VTq5ld5FznXpAYAWA7nC7DSgAqaP73cqQhntrvnUYUuA0U30mRZ ayf4AIKfq2pVIGVYGnnCFtV9eusv8geatbrDi2amcHb+HUCYnxqHKJko0aVV6yqFxBto B7lKMefPje/zmYivuGISDQU9IwoSmqN2YaGnI3fiXQRADLzLb30PabsHeqta8Sx8cZgD 04G9dshsYDllQwjfhyo3WKht6jjsTznNjTWopw1QbZ085Y8bRVglwlonNaosD/E4RK2h 4LR85VPupY5e5dr8/W1Dsg7uz+x6mmUUQ+GjNI09N/zgdMVVEMqrW4W3p/sj9I7wXGn+ VdtA== X-Gm-Message-State: AOJu0YyrJUW7/qQjhSOVKMI43/ORCcrtpcveFtpBbzhnap3RkLX3kgM9 9NJr6kQW4ltu2AOpH28QlfI1xS0SfpxkOjoyZywnqU41CSHIaDQx0mPPmV2CprjWvjnirO3z+2r Cns7XYwtP0a8h4cqfykHTwP+9XBfuCmOBqbFpy+X8xGTAb3V8Ho02m1GsFkLUM35WuQ== X-Gm-Gg: AfdE7cnEQqMuz0PkVL3QkxwN2XoDArhqL/t4E7YbnppIrbhSN46Mri/ahGHHGd7Cz+D NrKt6nBIm6pujI6OxKk0miajoB9kCUzWn2YulmmlSxfX0ls/UlsKNoyYktBZph7J2i101ZCJc6K kyfljvQx+C36ot/LXm6g3TgCuFDWvFlfDnDOF73OpDYo6B4rBczfImAisqZhEC1y/GMwqRZuRSf 5IzNNvGyRU2w5glJgvg88CkGmzaWPqIWjXqJqOPzh/ZFNp6IqkPycpncTtgHDUmZ+3wG5gZtnvJ bF1iK86E0HS1/BT7yVCu2g3dKczKBvKb1bG8On5JBgarDkvNcXFlVXQ3h+Rm/BzCjNjb23jKvMw aS6yBMI7liXM55VWHHacIApE5oFyVjzL8BAL419jThONlCHULY+i0pMmkvWO9BghUisGj X-Received: by 2002:ac8:584f:0:b0:517:8711:d46c with SMTP id d75a77b69052e-51c7481d84emr55564461cf.31.1783429952821; Tue, 07 Jul 2026 06:12:32 -0700 (PDT) X-Received: by 2002:ac8:584f:0:b0:517:8711:d46c with SMTP id d75a77b69052e-51c7481d84emr55563781cf.31.1783429952005; Tue, 07 Jul 2026 06:12:32 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 01/32] hw/misc/edu: restrict dma access to dma buffer Date: Tue, 7 Jul 2026 15:11:51 +0200 Message-ID: <20260707131223.51505-2-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOCBTYWx0ZWRfX2Z4OPFG0XxLL 0mlCHR0hSI7d+IiJLLtkfGcNpRhyVGomLp6J/KI5eyeZVT5DIGjrzJDuk5C/WoYHjT9x4d3EeHT 3Z9gEHHDSG9VxYdL1BviZ+ZzDlaLIJc= X-Proofpoint-GUID: 2rBkbLgbkf1qVjFFYoIRPnfE6-r1DJNg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOCBTYWx0ZWRfX2ULHuhbv2ZF/ HAk2R5ymySTBoRJRbe5jYQeghD3cDL1MquhUTHR3cHOwpvB60VX/muD+rf8Y96tmaFqwnenDjMa mpnuNg75gi6VMyfH/SUKT7kz0fnsLXnFwoRaOE82CcOQEwQsMTDYQ7mPxS0jv7cPVgXvcaYC3aI LHUryg0Y4NlhLc2PHJk6Kg9H2jmn84fnnha6cfu24vVEUCXkPQQXUejaWmwgtVh7I9nIx2ww1dB mGXX31Js/2LeRAlTRIg8tJsX1Y8Pyk5mQprTHXoRoBZ9nw4alhBwDXXBgy5u13hbphhDHd0PWif Oemb/wiEaIrQh50Ti49rhd8Iiq2XIya/yuimfPNG7sD6zBHJiLyL2aKv9iVbcHn11MtoHJC3nxI viZXibiyPX7L2eQEob8F7+WWTxaifWQPEc0abmmtOSdcODbwA/nvVaVV7CPHJyroTe0Z2RiOkPL oSQshr5zT4rAVHTtczw== X-Proofpoint-ORIG-GUID: 2rBkbLgbkf1qVjFFYoIRPnfE6-r1DJNg X-Authority-Analysis: v=2.4 cv=bPQm5v+Z c=1 sm=1 tr=0 ts=6a4cfb41 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=p0WdMEafAAAA:8 a=69wJf7TsAAAA:8 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=tJWlHokCBnNpzHG-xPAA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=Fg1AiH1G6rFz08G2ETeA:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 spamscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070128 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783429973230158500 From: Torin Carey The EDU device doesn't enforce any bound checks on the addresses provided, allowing users of the device to perform arbitrary reads and writes to QEMU's address space. Signed-off-by: Torin Carey Cc: qemu-stable@nongnu.org Fixes: 7b608e5d6c1 ("hw: misc: edu: use qemu_log_mask instead of hw_error") Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3852 Reviewed-by: Peter Maydell Message-ID: Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/edu.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/hw/misc/edu.c b/hw/misc/edu.c index cece633e113..a4b01269e8b 100644 --- a/hw/misc/edu.c +++ b/hw/misc/edu.c @@ -103,7 +103,7 @@ static void edu_lower_irq(EduState *edu, uint32_t val) } } =20 -static void edu_check_range(uint64_t xfer_start, uint64_t xfer_size, +static bool edu_check_range(uint64_t xfer_start, uint64_t xfer_size, uint64_t dma_start, uint64_t dma_size) { uint64_t xfer_end =3D xfer_start + xfer_size; @@ -115,13 +115,15 @@ static void edu_check_range(uint64_t xfer_start, uint= 64_t xfer_size, */ if (dma_end >=3D dma_start && xfer_end >=3D xfer_start && xfer_start >=3D dma_start && xfer_end <=3D dma_end) { - return; + return true; } =20 qemu_log_mask(LOG_GUEST_ERROR, "EDU: DMA range 0x%016"PRIx64"-0x%016"PRIx64 " out of bounds (0x%016"PRIx64"-0x%016"PRIx64")!", xfer_start, xfer_end - 1, dma_start, dma_end - 1); + + return false; } =20 static dma_addr_t edu_clamp_addr(const EduState *edu, dma_addr_t addr) @@ -148,16 +150,18 @@ static void edu_dma_timer(void *opaque) =20 if (EDU_DMA_DIR(edu->dma.cmd) =3D=3D EDU_DMA_FROM_PCI) { uint64_t dst =3D edu->dma.dst; - edu_check_range(dst, edu->dma.cnt, DMA_START, DMA_SIZE); - dst -=3D DMA_START; - pci_dma_read(&edu->pdev, edu_clamp_addr(edu, edu->dma.src), - edu->dma_buf + dst, edu->dma.cnt); + if (edu_check_range(dst, edu->dma.cnt, DMA_START, DMA_SIZE)) { + dst -=3D DMA_START; + pci_dma_read(&edu->pdev, edu_clamp_addr(edu, edu->dma.src), + edu->dma_buf + dst, edu->dma.cnt); + } } else { uint64_t src =3D edu->dma.src; - edu_check_range(src, edu->dma.cnt, DMA_START, DMA_SIZE); - src -=3D DMA_START; - pci_dma_write(&edu->pdev, edu_clamp_addr(edu, edu->dma.dst), - edu->dma_buf + src, edu->dma.cnt); + if (edu_check_range(src, edu->dma.cnt, DMA_START, DMA_SIZE)) { + src -=3D DMA_START; + pci_dma_write(&edu->pdev, edu_clamp_addr(edu, edu->dma.dst), + edu->dma_buf + src, edu->dma.cnt); + } } =20 edu->dma.cmd &=3D ~EDU_DMA_RUN; --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783429980; cv=none; d=zohomail.com; s=zohoarc; b=h1kVlMwAB6fkviG3RW3SM06VusM8EXtRTm7BswtCaSUjRUweYdUeaQt6A/IoC3gmIFboLPRddIZXVHMEpDAa0hlLe3JvhCBllV5KupXi9n2MPnYwP7P/EDP6AoJU1OkIudsevEVPWnPrdwP390DrcHUCW9aosth7mqafGlzZjX0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783429980; 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=9iSCTsvy/zYaI+hiohs4sGwpOHbQL3Yw+cTcIjQawcQ=; b=mcN+WvZgshx7PvqiZX2vV6l+U725HArxOJ1k6pj//fl+cRxtAWUR4uRxpJr9dSOEut3RpFsrb1pbRXJWZFtp4r/kNSg8Ll0eO0+PZ8FRzbveWKDu+bFtsJT8enOAdRVEnb7fNPlVPtSIEX+HcLgY9n/gljcVyiU+K1rSYEZhwQ0= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783429980061114.1374867785072; Tue, 7 Jul 2026 06:13:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5bW-0000U0-UM; Tue, 07 Jul 2026 09:12:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5bV-0000OX-Jl for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:12:49 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5bT-0000QE-Ly for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:12:49 -0400 Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C9c6D3619376 for ; Tue, 7 Jul 2026 13:12:46 GMT Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8vun1de9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:12:45 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c2af04aeeso8359221cf.0 for ; Tue, 07 Jul 2026 06:12:45 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-69a3652a02asm5045158a12.11.2026.07.07.06.12.38 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:12:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 9iSCTsvy/zYaI+hiohs4sGwpOHbQL3Yw+cTcIjQawcQ=; b=lxE3zYXFYMAuTPe5 UXgGzxt3s7ovBadbSH/pVTH5FFEaOYv934aVyq+nVyZC44Ff53YOtlcdr2cEM2mA nUR+cRHvwfPeQ2oLDpQSyxCDaMtv2YGpvy6UMoU0E2K0xei6DAw/1c4/sneQYUKd QFDwRKjCxqojd86D0+LS9lLmAdTgVKYU6X004qkq2c5pmIlDP6VPDzpCZ85eCd/T SO5myumtrd028BicPJKL/F5v/YgVceUZZ+xDSKQF2tAWYcMOtXaEjX2VODu2hF// kev3RQWea7FqRxEpTyO7VzPY5nqaxHTGje7Q7ZnxgTthG+XTB4alJUIW9a2wOstB MLgwPQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783429965; x=1784034765; 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=9iSCTsvy/zYaI+hiohs4sGwpOHbQL3Yw+cTcIjQawcQ=; b=eGujGMQaTWzmI1XaPuvY4PomeqrWQYLnhGr4miuifx9s72Llg9E9UAWpsTuKHX3k39 TA3pLtrz4dWAXGgaNV+vIu3ZtW07GqIqNlMTBIk/Zji82MFnU8a0Lu9UIhdfSaOah199 S7TfgO3Hz4zWPuHe2oNz6FW079K4ABqajmx8yZcFsZcvLRvzLh9uPZnB0zwaIhdXpvef /GxiQaw7odsUl696dibU6Cds6j+3lZ/SezyN4DD4u4pge0/3YZelfmWHsFhzuuYaf2Gt XzOJka4FJqm81sltdTtUM3nR3HITGPuZ2g2pAkNQKCnLt+H/TG7lnF+NRaxJNpS6jP5f XBrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783429965; x=1784034765; 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=9iSCTsvy/zYaI+hiohs4sGwpOHbQL3Yw+cTcIjQawcQ=; b=Q5JnsOo4367bhmHAxuYI5x4pWLao0+FV3TaiLKAeFgU/Aglni994QzvVTO6j6jDi4X lQ4rMpU0/LPsNPd2Vg1PnesgAllM2iqeY6N+3MgFNUG0Ip2l7UykEn/YXml1WCn98u71 MF80lSVkidVEv2H09wugh412jhCl6zSMjF9W1AfbeDxJU3NY/zcjw/YoHplhAfQFzKFF u2tphXGQYAJqqABetX6+IK4++ukbBElmVhIz7r3AIPDaYH+AYUw96BQMvWRDrs07V84O qbfzeDYi+kTuRym2lJQ1pt4ZYSN42GcqUZ/OkqdqUJuZdmd7riBYkpfLKISeZWrxTxnb ZGNg== X-Gm-Message-State: AOJu0YwqrjgDsmOb1ftFfIdCZexwRyKgRcBoCH+e1/51bWL5jMY21Fsw Xb7EkNaL1rnTAyDdXlChceJ5rsAvpdMnMn0Wiiy7fCe6iAWcO3vZ6F0MWF0okWsOqZvK8NaFrYw lCH2dM94lqzBX4RX0/NY5SL/M/FM7MPx7O2R8wkNOfRTonbeaTSlHsBNvb6keOpgC5A== X-Gm-Gg: AfdE7cl1fg6SI45/jqebZeUxlvmt3eehMDrlwSM5VdR2Rj884+DF+RfKwhj3kt7qA8m aG8coLz3olN8c3xVBaNmMwObXlHM/Fv7cNjGsaWrPC79iXpkDL304aMTFit6PRPyNFUc4UPQJZJ 59BXKAzAjy69X5eoAhSiYrfmZ7T4wa0Grm6zFsLwOub+dNmrjPrLPml/2mL6b0OgPx1k6W8Uo6U vbDnOe8scOE9fWv9tVx284dm5n+XwxdbeEya+LXrERC7lFWq9nMqr9e0asmXk4ZjQAV+6ZvWV8R jSKqxSkZrYjGZ55e+pZH2m8xX0W9Nc0s2sV2YW535aIyjFbr1d+k/O2B9xwPrnFMqv6gMqNx4Sd XnHNXNHT5HcEhAUq5kl0uI97dcvpV0lmeYQXXioVeq3bdRtlrtNl5QLo3KAMuxk7M+nmb X-Received: by 2002:a05:622a:418a:b0:51c:86b:3487 with SMTP id d75a77b69052e-51c7a773ec0mr27854491cf.33.1783429959854; Tue, 07 Jul 2026 06:12:39 -0700 (PDT) X-Received: by 2002:a05:622a:418a:b0:51c:86b:3487 with SMTP id d75a77b69052e-51c7a773ec0mr27853891cf.33.1783429959217; Tue, 07 Jul 2026 06:12:39 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 02/32] hw/display/ati: reset host_data.next in write handler after flush Date: Tue, 7 Jul 2026 15:11:52 +0200 Message-ID: <20260707131223.51505-3-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX0uFVYGLhVQ/g zugVi+HTAKhdFcPuEKN6SSgW5HlS+r4rDRDw2ot82tMQRrWCJx5KO8cW9mU3Ef3wL8oDQ6M8fIJ qD9FqJu7m6E7UB052yQQgbbEdlV8w8Q= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX3V/aYq4pXgqz WC/L/aDt26myc0wIuZn7TmESVpERNpb4vSwYGYFku5BfaU95gkkg+ohbypou4t/VTRwyIab0jCX Gecux7k/WCfs97Xbuu273xrw+56JYAQM8z1OvEMD1XpaVLyLxf+/Qi6Yk5GmtrzC0B54YXTcT5x Y8GWhmL4Sj88ETLAwiZj13oPUB+CGPzTqHEdJ1KHV3Dc19oOBLqEQPy2Q8d4SA/g5brJuTb6RpC 3ytz+VpbNZutbr++cPxxHvZ16zoY/e8MlCiSA/Ws42I0kHCadCht5+MAPUNZZaFC8vkIXbvu4OB ckxVBrA7msihW8H3lZmsCd60FmaknUHU06IVGHOva/OohzMwlwe5S30jTBY2jTEKw/cMezpfQXP 5DmYkdx3lCJnfcZkd3LqwJatUk/4i2X/l+TShGEviNrTAWLDJFcUKeQmgEgKnUGhXcgR/vVXsMM hD+8pB/t4PoaR5BNqOQ== X-Proofpoint-GUID: ezzzceCfSzY0h1XUptzGCVISuj-OAuHQ X-Authority-Analysis: v=2.4 cv=N+IZ0W9B c=1 sm=1 tr=0 ts=6a4cfb4d cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=VwQbUJbxAAAA:8 a=QyXUC8HyAAAA:8 a=69wJf7TsAAAA:8 a=57R0qBCtAAAA:8 a=EUspDBNiAAAA:8 a=0hMSH2Hfg6KUgAemlSAA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=Fg1AiH1G6rFz08G2ETeA:22 a=mR_gFduoMj4eUoa7Ntlv:22 X-Proofpoint-ORIG-GUID: ezzzceCfSzY0h1XUptzGCVISuj-OAuHQ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 priorityscore=1501 clxscore=1015 adultscore=0 bulkscore=0 suspectscore=0 impostorscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783429983161158502 From: Junjie Cao ati_host_data_flush() resets host_data.next only on its success path. When it returns early (unsupported bpp, direction, src_source, or src_datatype), next remains stale at >=3D 4. The next HOST_DATA write then stores a guest-controlled dword at acc[4+], overflowing the 4-element accumulator array. Fix this by resetting next unconditionally in the write handler after calling ati_host_data_flush() or ati_host_data_finish(), and removing the reset from inside ati_host_data_flush(). This ensures the write handler owns the full lifecycle of the accumulator index regardless of flush success or failure. Cc: qemu-stable@nongnu.org Reported-by: Feifan Qian Resolves: https://lore.kernel.org/qemu-devel/Czyl6yVfL6sHl_o1kRk8N_LpwXMMRV= hO9vgz1qCVJFagn9D4nHSKuiux39iOLty0Q3acxQq_FeovPhTQvSKus2htwjI9lTajLZmqovr0W= xs=3D@proton.me/ Signed-off-by: Junjie Cao Reviewed-by: Chad Jablonski Message-ID: <20260519023937.439077-2-junjie.cao@intel.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/ati.c | 2 ++ hw/display/ati_2d.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/display/ati.c b/hw/display/ati.c index d77589df67a..db7e08a462a 100644 --- a/hw/display/ati.c +++ b/hw/display/ati.c @@ -1034,8 +1034,10 @@ static void ati_mm_write(void *opaque, hwaddr addr, s->host_data.acc[s->host_data.next++] =3D data; if (addr =3D=3D HOST_DATA_LAST) { ati_host_data_finish(s); + s->host_data.next =3D 0; } else if (s->host_data.next >=3D 4) { ati_host_data_flush(s); + s->host_data.next =3D 0; } break; default: diff --git a/hw/display/ati_2d.c b/hw/display/ati_2d.c index 48498677c7e..8ef82bb87fd 100644 --- a/hw/display/ati_2d.c +++ b/hw/display/ati_2d.c @@ -452,7 +452,6 @@ bool ati_host_data_flush(ATIVGAState *s) } =20 /* Track state of the overall blit for use by the next flush */ - s->host_data.next =3D 0; s->host_data.row =3D row; s->host_data.col =3D col; if (s->host_data.row >=3D ctx.dst.height) { --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783429994; cv=none; d=zohomail.com; s=zohoarc; b=jGp2C7A+s13Pz6eB4Q2z5rDdg3ygZ7bGKkvAEQEa5838eaNBu7oCZiT0Z++S+PfontOeLrqwExNrDxdODKqSm/9DJt2LfnOX/FCZF4VZeXO/KMI8W8tU6Fl4JVCYz613Qr+eXRpdyC/63UD4LSrGRIW+A2bn2hCvWMH4FDYdkx4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783429994; 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=pca0Z4WzBDeiCYBG+XEsZYICqDBGUaJK5JfZvXzY688=; b=aok+rnlKbWrgKrMIqa8Ul5DT5F0JBDEVaSVP4qgNN7th/Yd9Z1lKSdN33ZXXdOAAnyF2tpVUqom8H4T+XPTEp+xw7P9BkvseGlvypDI14iPZtTGV5EhQupFjvN8P/SjZsZw0KVFqcYMev23GH9Jer463aaGMdrGXYIBvIsFIfzc= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783429994754453.52532721793784; Tue, 7 Jul 2026 06:13:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5bX-0000U9-9y; Tue, 07 Jul 2026 09:12:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5bW-0000RF-6T for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:12:50 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5bU-0000QI-Mq for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:12:49 -0400 Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8qKh3749245 for ; Tue, 7 Jul 2026 13:12:47 GMT Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8vdj9j6x-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:12:47 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c083f1818so45608011cf.0 for ; Tue, 07 Jul 2026 06:12:47 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ad9bc41esm141059066b.37.2026.07.07.06.12.45 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:12:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= pca0Z4WzBDeiCYBG+XEsZYICqDBGUaJK5JfZvXzY688=; b=EcSPvZrcFtA7kWbY GM4hTaiXyTHNiTVD4Vzsi4iEFINrIwD+RbXS+ALV9xvmp3Kzv4mr+u6MLoovJS8h VmQncpqsGeaIxl1SZ/cgX6BPAWTypNkTlqi0MqLJf8VUYfuAgaITpXFyGQRObAgf lTml9TkWllvWk2DlSgeROVw5+74EbzDS/Lacd3xsSTHsKm2/m2aRDIku/yUqijS3 bfs/xYltQ9M7G98bbH3Q6HNiDPlCBXEmTi0JcKRoEcuK3BjvNMobHF25nyhyQpzH Ul8doyuQ86I5QeUbX03yjBPV7HrybCDvgrtvtPIH9uKF64KU6P/Z5nCQCk9TU2RV LmIooQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783429967; x=1784034767; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=pca0Z4WzBDeiCYBG+XEsZYICqDBGUaJK5JfZvXzY688=; b=asx3V+8ZyicB3MXgXOYkn1igoXdEoo9Z0gYS5P+243rOueDvH5LxCf22kWYfWv1fwG Arsd05DfW6mqhBaNxjQT5iucI1ENsOwKd8Nr68yOTUVwX4YHhMN/iJVskpxSX46IHmZ0 2A7WHjPQcjZI+Ivi5osouzaNcBgRIe+w+wwF5OTsWm6E2NWESAHQOuFODxth+Z5xjno6 R0+D7Y8P0rJqHwsLHsHZfVs+lQE4KD+5KdhlGQ3sJ9hSvdkqKrsyNLz/GPx9MCSoJPDk 2tWsacJaMos40OjVsZOvOzxxfUVhbS/KEOJswuhLzTEhvxtLVGrAPNAK1AIknCpE//Vp X1tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783429967; x=1784034767; h=content-transfer-encoding:content-type: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 :content-type; bh=pca0Z4WzBDeiCYBG+XEsZYICqDBGUaJK5JfZvXzY688=; b=d6sYrN0w1Nn5PiG35NGyt+1CbRaHLsoZzycz2FwwcbOTWcIYFnuGC6Dtz3twrYQ4W7 IlKOrTSTBGvao9KDYGtHyOE/OOHkikOCbos3SvHPzfA3SjaD9R6J81U7YG6IbEzR+C5U Z7ejSu4Vc4Efww1nqpe4rpzEnPZH04lbSrBWh8tq8oA9Nb3s8lhdovpWnSIB/FO49F4v EoSMndbhnXMUuqq0naFIwnOBwyMvXTXVAdqe0GqXFMzCK5jpQXhLH49uKFTQo0uzKi9w UJm3TUlH78+Nbwgnu+JNBWkZBAXRvkmBmiqpGH0wdkHP8gpjP5xbIhGqUwcQzZJaJCO2 sakA== X-Gm-Message-State: AOJu0YyQFk9sLKXLqA3v0AD9vgvotiHwkFLxFE9pqr+e0KMbDH73MV5X Hs2m3+eK/lZ7JsgVl+OdnlhUDntRyLa+YBtPXNc+9pHGrZbJ3qZATbcdDkdf56bDSYYWuHs2MJ9 Lkkzc9hV7FfYBk69IWXyCfUMDztYzsGiTdeZutY5+93WdiuWhTkXfk4uJoKY+2hsgSw== X-Gm-Gg: AfdE7ckdrtOVJ982gGszmwDMRdAbN01uJMFI0ai3Ql7m3AMT+DsYuF/LIJpRSqUdYrF qvCnyMDn6rRC8Rpg0wVSk8qzliCv+g9XjtyA0vvaYQDdNgMyPdgs+K/nwOSNVjK80bqUVNKHCsP 02y6EUwcAn5WH9Kw25SAiSzqMFL4AN6INjj7fCyj4T7YrOjMG6g89AjvWfbsT9BNLPAHb2WXNgQ Bnb/GOx8Mvj5f5l8mJi4Wnw+u2mK4jRBz9bI7dH2rrbFh+Rc5KlN8jVvje3LNW8osQco7NwhLNU zAQbAqCAVw721mfhSjxVNNK+8086i5HTV8xsakB8nwAl/Nk2n3Lwwa168dobTpRy2H4a7Pvewet BtplFFwAArTgLJj4ZDZdoCMrYVqFad5wWoxCtmFzz4s6H5WYt62zZv2qJWRzPZKrDQrvY X-Received: by 2002:a05:622a:508:b0:51c:1bcd:5cc3 with SMTP id d75a77b69052e-51c747a5403mr51318281cf.25.1783429966895; Tue, 07 Jul 2026 06:12:46 -0700 (PDT) X-Received: by 2002:a05:622a:508:b0:51c:1bcd:5cc3 with SMTP id d75a77b69052e-51c747a5403mr51317751cf.25.1783429966175; Tue, 07 Jul 2026 06:12:46 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 03/32] hw/display/ati: guard against zero bpp in ati_host_data_flush Date: Tue, 7 Jul 2026 15:11:53 +0200 Message-ID: <20260707131223.51505-4-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=R7cz39RX c=1 sm=1 tr=0 ts=6a4cfb4f cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=QyXUC8HyAAAA:8 a=69wJf7TsAAAA:8 a=57R0qBCtAAAA:8 a=EUspDBNiAAAA:8 a=fAhWzQUUEP2HniuozqAA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=Fg1AiH1G6rFz08G2ETeA:22 a=mR_gFduoMj4eUoa7Ntlv:22 X-Proofpoint-GUID: OFwuL1ZqQGPaoP1IgcGJR5Kf-VGJONcc X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX/OAu0ZaIMWkT n6kPCeJLCMTdjSX0DRjoJv4vadXTsMn9M0GuqQ9u5G+vp+oSr2BzusnMDQwWVWOpkvUbADH491I /W7KKh5qBlvGIMCLWpzzDOzQaKK2zaWvx2HszqeooGk5ylTxvW2QAfVQcGGzllpR4cKfDnMojAG D/Cdn50mwurKGwz3tIs67Co/4xiwZIXv2HowRqOl3/Tx7T17k03cwxb7cC8L8Pf5EAUnmlfWmAU LD07dFRHqQjeg6StlUjFiR16sOPp/rIZoK8UIzV19wG5YcM5FCJjeBRiMbkHHzgzvhy0FiGjWj0 tXZ3B3jiKM3siXvjEgnpzKvxrlz3xRCd6Ci73szb/E2Zp3rYg44cUJSbQIIEbwn9SADJQwyc9Uz S42bioQGTdqdu5zuhJzicjfrlkAFKZjBTbTCWD7IVXTfO6FXsab7+KGwgRiuvd+lKWNgf3w/0JU zW1pBo73s0oNnQwuFVQ== X-Proofpoint-ORIG-GUID: OFwuL1ZqQGPaoP1IgcGJR5Kf-VGJONcc X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX5DmhIzHEDeSn ovXJ6LEvmaqPxLIT3pGsQSCnNFP3uMiWMjxDc2pSHNcknoWzYiCHmk96LzDm+FxB+0YOAC5HwZx nMj1Ad3XzA3I/jNRwS0Ca4LEYAEw7ks= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 lowpriorityscore=0 impostorscore=0 clxscore=1015 malwarescore=0 bulkscore=0 spamscore=0 priorityscore=1501 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783429995551158500 From: Junjie Cao ati_bpp_from_datatype() returns 0 for unrecognized dp_datatype nibble values (0, 1, or >=3D 7). ati_host_data_flush() only guards against the bpp =3D=3D 24 case but not bpp =3D=3D 0, leading to: 1. Division by zero at "pix_count /=3D ctx.bpp" (SIGFPE) when src_datatype is SRC_COLOR. 2. g_assert_not_reached() in stn_he_p() when bypp (=3D bpp/8 =3D 0) hits the default case of the size switch. Both are guest-triggerable via MMIO writes to the dp_datatype register while a HOST_DATA blit is active. Add an explicit bpp =3D=3D 0 check with LOG_GUEST_ERROR before proceeding with the blit, consistent with the existing check in ati_2d_do_blt(). Cc: qemu-stable@nongnu.org Reported-by: Feifan Qian Signed-off-by: Junjie Cao Reviewed-by: Chad Jablonski Message-ID: <20260519023937.439077-3-junjie.cao@intel.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/ati_2d.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/display/ati_2d.c b/hw/display/ati_2d.c index 8ef82bb87fd..22dd811bd85 100644 --- a/hw/display/ati_2d.c +++ b/hw/display/ati_2d.c @@ -377,6 +377,11 @@ bool ati_host_data_flush(ATIVGAState *s) =20 setup_2d_blt_ctx(s, &ctx); =20 + if (!ctx.bpp) { + qemu_log_mask(LOG_GUEST_ERROR, + "host_data_blt: invalid bpp from datatype\n"); + return false; + } if (ctx.bpp =3D=3D 24) { qemu_log_mask(LOG_UNIMP, "host_data_blt: unsupported in 24 bits mode\n"); --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430001; cv=none; d=zohomail.com; s=zohoarc; b=UxXmgLoDQjaoKogcC3Nl1ZYqHm2M5PUgzu1n+kIHczRqBsMXCv2zOm4WDwUBsp3a4xiIu8/KAefitfgh6qaFiAr+qCYaksPtRiZKPhCYUHr/VKcDc4UG6gDSelZrfcGAQayT5WzV827zCAfFDLUKUJkZQwMmPzY3GJRVPufEZzo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430001; 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=pmyT0UMNc39CbCJMKFwO9TA6QUU+tGeAZaBKfSjnQGc=; b=cRQLU/Td86NV6BHfrYcOrDA+FwoMZ/KwD5SHyxITAtdqzVyrT2gNixZwFVp6z6zSgguhALkmkaHr+jZZrVMbqEFV8waLv4VFvzjEWGCWuit/yT9sRIr3C6CjzG4uSSBJ+EejN/ZN9aqjTTjWyIMJv/9D4k/UVWMvUTXIS4d977w= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430001497680.9230387238467; Tue, 7 Jul 2026 06:13:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5bw-0000iU-Fv; Tue, 07 Jul 2026 09:13:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5bg-0000bT-Nd for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:03 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5be-0000Qg-4O for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:00 -0400 Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C97BR3590276 for ; Tue, 7 Jul 2026 13:12:55 GMT Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8w2u9bdp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:12:54 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-92e63df032bso61070585a.0 for ; Tue, 07 Jul 2026 06:12:54 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ada036efsm133177666b.45.2026.07.07.06.12.52 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:12:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= pmyT0UMNc39CbCJMKFwO9TA6QUU+tGeAZaBKfSjnQGc=; b=JU/S7iLMkA88YhRM 9+exTkxxoaE44snvACIHvjxxr8IhwbHHlWedlfuAC5zsrXHTft1n0nco4DeWIDGR sO4Oa7jfnpyKG7WieQPBivp9HhTHFHn597HYlH5hrGrftMUB9RKTu8vlQNgStVxd 3+XIVpetIYgngLHORknj10CgGyvJ6IjfZO3RnCiy5ECeWRdmaeGEqO3bBW/CZvjn rpN7kzrXT5HQ7NKN4SHT8wK7RaEt0JWyvS99vTgqpvg6YojKuAXQ6iVwJWIgOEV2 RhEl3Fe5UJCnQElTbRXDppUYFFimAejt8IK6f1Ey6oTDHdS6Uvex9qLSAvDQLPL9 8sSlOg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783429974; x=1784034774; 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=pmyT0UMNc39CbCJMKFwO9TA6QUU+tGeAZaBKfSjnQGc=; b=JRLE1qnvMU4eBgMYhBSmy2C+43PAwDtkDOppKfP1A8xQYA1L4Qz984LVvJMD1D4UoA dktUPxOAHcEiCefdvJAX/7fvQ9tB+0oIuxE3q3ls7o8ZE4JdD2r2c1JmgZQsrxsHEQc1 iPkDUNPtIyVJj2mq/8QnXBLfFLYWPjLRtb0xIDHyDuIzRLk23r0eXWLIlzmIlixwJpFP JgAoeLPlN0XBwiqBjPHKP4X4zid5qzy8s2nwNV9K1m5P7uGLoYDC9mNbJzJ5q8CzrhOH b8hhBIQqwbCeZW8tfEfY61A79NIXvwGBtVBepuV/3O1Mbgu3qKk3j5j+bWcwzNzV1YeM eQ7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783429974; x=1784034774; 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=pmyT0UMNc39CbCJMKFwO9TA6QUU+tGeAZaBKfSjnQGc=; b=iGxQ+wClaFz5E5mbORj2T+1Rw3INIHP+yHDYTB8scR72IICL1WZlcVU/SIDPjmuFwy y55NNSCWRdxIdJ8ZMvCOHmYUNa+naqHwTfaAyFyrOYw1DnO8Jb8l0aD6PdGOjwQcUzwL A0dyXGwH8eGWc6DpgD+9PiiLr+OBrkO7Jgh8Q3ZkatO1d5B2o8MSWppOj/XUFXMlH+Qr 127IJY95szyL8poHY5GUWuLQIYuqGOs1u/vIISbgEkq5Ru5SNK99odGChaP0ie+bbtjn Iw8nPypKcpUg3LOLkeYIlF831dwQSfm0OkFWsAwfBmnUQlIREU+RD2XkuICJ8WG+XTVb YODg== X-Gm-Message-State: AOJu0YwtFWatEwj6MwIiXzwYGvGU45BmJUQUlRjZE+o9Jz0vohSKmvqw NAh0Mfm29a8tbl8tDiLysukhT0MzSXytpIskD+4FuZPFQYo5IW3hbIMjnb0Iy/QHh4aWnWcXptm TNSI9FbEJ+JfmWOwTXXFKE2EejGPS5L40EioRlcUCtB4RguTpUplp8NLp/DfEFTLu9w== X-Gm-Gg: AfdE7cmBeneRBvmNA3cFzQSyo7NzCtgtsyql9KuQmHUKL1g/w5+KC4fUocl6xAkswAm UEaukaQna1lbd2Rg/MMVaNGdQYIxqPTnkFgctg2uh0v29cPeezdHTgrab2qPb7uccBRhCXVnhAa 5jVyEP7rTOK0oc1Nb3Us32Qy4huJNtkN6bSD+1oR/l+XF2w+uArsVTdpFDp5dFzyWwXZfSQMzX+ tWBj5xZf1YqMcgrORTAvFbZg4/xs1td0njQuNpw105vebhuk6Ar5/8k+q44RNBW1a4zLEImyWL6 SXIAE+J9+jkKLDEnTrOk+Pw0Lx8sfFACIv3MZTgN69OxlG20j2PHKjzinlBTKCeOE+hRu5EqR18 2MkQOgv1we90IYtG+q3QfgdH0PGGpBA2Tilw9j/82LAphQHfU4zInpV39HX6ak7EcCnpJ X-Received: by 2002:a05:622a:1352:b0:517:9407:5c38 with SMTP id d75a77b69052e-51c7a7516a5mr24572721cf.24.1783429974019; Tue, 07 Jul 2026 06:12:54 -0700 (PDT) X-Received: by 2002:a05:622a:1352:b0:517:9407:5c38 with SMTP id d75a77b69052e-51c7a7516a5mr24572201cf.24.1783429973337; Tue, 07 Jul 2026 06:12:53 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 04/32] hw/ide/ahci: cancel in-flight buffered reads on command engine restart Date: Tue, 7 Jul 2026 15:11:54 +0200 Message-ID: <20260707131223.51505-5-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOCBTYWx0ZWRfX+r5chnLctXBP O9eFEunsvi0tg4/As5KXDWbGzbe+gSMP+Wpi/IKoX67GEqJ9M5YO0kZWOi9oWr9XAbujSFtMLTf NRGhRjmjActiaSz3lRFcsMkUCj3rQ3I= X-Proofpoint-GUID: RbYGI-SE8WWFtowURJRfoWPsaHA5nsp7 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOCBTYWx0ZWRfX82tB6anaxKru l7l3OoBrCrh6niJYBJSxHWmRHT0zK5VgG9j0w08OnP6FbbzhQUeDQTNzfLPoSX8sGxpXVcGHhPg 169zyeuwcWi95GnMyYWNuOhHyL5lM2G6cq9zA6YBWS6KeShKkrhhWPKHqB8GL5DtjfALjUfBeEF QTSRoXVkm75Eck9wVjaxrqa99sW4nmefCAi5wEM0z8nJU4nlblL4k/uGym5mauM7L8zJFOEon2g 948A5ElhMy3TI+YjT1P47Y27Ndw4jZh9RwlAvP7rtn2CSmfwLDTk21TGOhaz/qY5R6famRe2qoy 77bgeKlMZ3QxfsJKLhqShyRe5lPujDeGZTyTLcrOawyEsZqbNiRZiAKz30Cdrpd3jlf0CwgsQOI fundNpPbx4x9/lHIT51JR6FTkveUtyw/2n0z/jO+NT1quUkSEZhSsjPBWvefrfTZd6qeBfE0PDq bW3C056XTeOZfk03xWQ== X-Proofpoint-ORIG-GUID: RbYGI-SE8WWFtowURJRfoWPsaHA5nsp7 X-Authority-Analysis: v=2.4 cv=bPQm5v+Z c=1 sm=1 tr=0 ts=6a4cfb56 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=6rqHouBjAAAA:8 a=EUspDBNiAAAA:8 a=qsC6rtayLlhOkZH4ynoA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=Hx1yvPaMooE3kwe23bt7:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 spamscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070128 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430003364158500 From: "Denis V. Lunev" ATAPI CD reads are issued through ide_buffered_readv() (cd_read_sector() and ide_atapi_cmd_read_dma_cb() in hw/ide/atapi.c). The PIO path discards the returned aiocb; the DMA path stores it in s->bus->dma->aiocb. A guest can stop and restart a port's command engine (PxCMD.ST 1 -> 0 -> 1) while such a read is still in flight. Stopping the engine unmaps the command list (ahci_unmap_clb_address()) and restarting it re-maps the list and clears AHCIDevice.cur_cmd to NULL, but nothing tears down the outstanding read. This path does not run ide_reset(), so the drive's transfer state is preserved and the read still completes. Its callbacks then dereference the stale or NULL cur_cmd in the AHCI transfer helpers: PIO: cd_read_sector_cb() -> ide_atapi_cmd_reply_end() -> ide_transfer_start_norecurse() -> ahci_pio_transfer() DMA: ide_atapi_cmd_read_dma_cb() -> ahci_dma_rw_buf() -> ahci_populate_sglist() Both crash with a NULL cur_cmd; the PIO variant has been seen in the field. Cancel the outstanding I/O when the command list is unmapped, reusing ide_cancel_dma_sync() as the ATAPI DEVICE RESET command does. It runs the completion callback with -ECANCELED (which tears down s->bus->dma->aiocb for the DMA case) and orphans the buffered request, so the eventual asynchronous completion is a no-op. Merely setting the orphaned flag is not enough: it would leave s->bus->dma->aiocb pointing at a freed aiocb that a later reset would cancel. Fixes: 1d8c11d63154 ("ide: add support for IDEBufferedRequest") Signed-off-by: Denis V. Lunev Message-ID: <20260619112158.304782-2-den@openvz.org> [PMD: Use ide_bus_active_if()] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/ide/ahci.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c index c2b4432b947..749f0efa1d0 100644 --- a/hw/ide/ahci.c +++ b/hw/ide/ahci.c @@ -740,6 +740,9 @@ static bool ahci_map_clb_address(AHCIDevice *ad) =20 static void ahci_unmap_clb_address(AHCIDevice *ad) { + /* Cancel in-flight reads that would complete against a cleared cur_cm= d. */ + ide_cancel_dma_sync(ide_bus_active_if(&ad->port)); + if (ad->lst =3D=3D NULL) { trace_ahci_unmap_clb_address_null(ad->hba, ad->port_no); return; --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430036; cv=none; d=zohomail.com; s=zohoarc; b=oLksdcX2r5fYEM3Gen4OBFMGqKaDngOjz5ehg/pQgimrV902L88703okWsSrVM7i4+h40P8RkS8ejRoCODixPRbShnmgcogsXnp41+iF5fvzE6tivaeGAVoW7CNLyAJUU8b/rJyXyvc1ZKFj632UoOQjr3Smd9JJYAXOWo1T0Y4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430036; 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=gRlOcSjspO3k/hRHSSU7lMB/KAIFGaY386Hcg35308o=; b=gCAkSTWHM+OagobiYMEQzL1NHodKYrQuWR7AaGlFLL3UIkopPVpRFPotEvpobclcIp6xWDtz3Hi7ojHVKzlOiLuzaj4GcNozQEuNse3jpVTjJhWuO40+y7aFGg+Tf0rvBUdwjfQlU4JbNkIU2XWUkSzgM3kXFHbWxP01zTJuWaw= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430036807246.00833591877074; Tue, 7 Jul 2026 06:13:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5bz-0000ug-8N; Tue, 07 Jul 2026 09:13:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5bn-0000cM-Gk for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:10 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5bk-0000Qz-Pb for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:06 -0400 Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8WSW3741892 for ; Tue, 7 Jul 2026 13:13:02 GMT Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8ye0gpkq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:13:02 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51bfe3fa93bso54717431cf.2 for ; Tue, 07 Jul 2026 06:13:01 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ad9bca17sm140864766b.32.2026.07.07.06.12.59 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:12:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= gRlOcSjspO3k/hRHSSU7lMB/KAIFGaY386Hcg35308o=; b=lKqBTUy9n1ETEM16 7Xy1BdBQuRo/vpt5z2/9WAMdFXN01uq8Aet0JSKEoy+9D9t++ssojQ/zRzRcagEm OeJgd3KzV4EJAWS6T0kr2ca8Uo1CgTaciiJo6kjAsubn5tZJKfEVyeBAATTxuKZ7 44PhhR4W++pgUd9EITXrtqJ4cMQ/vW3+eE7AXZd5KtOZKnk6iazcPkARBJd1ZOwS D7Nm6f4YrB1dkzv7l0Ph1HRfogxwu9vOtkZ7CO7XwbIln9u/mB+v4ysTe0bz09c2 SwZ+r7UnYm4oqmoz27aRhvI8DY9PwHtRAXwK7BgoZENN6Xgy7WUhrHsDPqLCODyV 39WaYg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783429981; x=1784034781; 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=gRlOcSjspO3k/hRHSSU7lMB/KAIFGaY386Hcg35308o=; b=PUfXEVwbp5Turs/h1ssRQawtU80SDf23UW+IvacBen60zyFb//aniBFhc5O40e8Mnt icwVxs/XWzkzDcdsXGzxr9ON2B1D7aGslH6grsyad2//95e7hu5JHgTon0Q2GGagnN6X AVnUt35JdJypPkG+4WKuVpEH1I58iRRQMnVd860kzT9P5QlMhK88DLWuecEh+y3s1AtU NfQ3RGgTMQh3vphgN+MgY90qXfSEFenLuGE9v6q6HEOvNgfySXrs8rukI6uMaNVUozSQ 3yhpI/htc7QYqwhlevLxa9HLsta8TWgRQLyzkdBtOiNxgxrI1Vk9FvBCsS1nsLZSe0pf fq1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783429981; x=1784034781; 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=gRlOcSjspO3k/hRHSSU7lMB/KAIFGaY386Hcg35308o=; b=kBcod2pNpez7GY86AEOuYgl3ISTqRYmX2Dyc8wgUAR1yU48OvhBqLxSug7JGhJzCOk 8KQSh8qijLcDusHghjnxwThAfu0BIJwfmdmnuuBfj5HUM5/2/MqOO0Y62dafTSLnbTiF hkyDIjI4XJNAL5yKvjtqeBhRbRm5eV3kiQtRMwGZ/sfvvsOoLPiw7OT8k4uDF8BqEdkA aKyc0vyE0pzyHTJZtruOiGyk0LtCLUI9gtzwG0tIFF6sjfsJ4xhLP6s2DTQ5c4H6ZrV+ EXFEDm4ngCTh+gn9HDuFvFNoYlZKRPj6M5+iedEDSRRoPmKg9UQm9WE1S6r4oavoVTwP AmqQ== X-Gm-Message-State: AOJu0YxyqfRTZd1AIZuzyQ75PzJu/NRLaWFnqbuQtcypQ3RUGZexHytV gaTkhBFiNP03ImtXfK0rBRUSo8DLYUxw8asnN6ObjGJqyRbL+93AXGy3EqUkB08MyjjawdzfRMG nz5HY6qXYAfBHXIQxRC1jWz8XVJmeP2TmRzF+KqXFpNH9KELligvvxfElJgTe0kzY+Q== X-Gm-Gg: AfdE7cn8XK61LWTv3rOL+a416NVerHL8UfL6z6lp4vvNWRua8pcrY0UCWgEXEULjocD XTliYP2bwGIzBX5gT4EP04iieZtkgkQhAT7OTaedE1iwA3rDsEZ+bNv9pS+N7uEUyyq3g+Rydh9 fB4ZpIty5TZFetKnRWtugQNZtA/PLRbzkO+g2H4xqGoCHguDZwkICk8d64anUyGVqqyESw24FXp S3JGrs9NugL/su+uEGuiohpOaKJqAjC1mQbzEjWPATHdJEp+rsWrok/XN7Oy8X9IdAULM/9Im0U 9U4mJXyEknFN6l4vkfvVvRqMl/ugj+4Y7fjZtAG7LxZHUjCk0T4Apfu2BtwDzg3wavRICsFoIhM YHBEeOtMV5ODnEeFIdd192z2bvtkY51J1e1V36xvQOQUgiccZ2oAnbdntujWPkAP4m6MH X-Received: by 2002:a05:622a:487:b0:51a:8c9c:7f52 with SMTP id d75a77b69052e-51c748dfd67mr52449301cf.69.1783429980943; Tue, 07 Jul 2026 06:13:00 -0700 (PDT) X-Received: by 2002:a05:622a:487:b0:51a:8c9c:7f52 with SMTP id d75a77b69052e-51c748dfd67mr52448871cf.69.1783429980327; Tue, 07 Jul 2026 06:13:00 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 05/32] hw/display/ati: Include vga state in the blit context Date: Tue, 7 Jul 2026 15:11:55 +0200 Message-ID: <20260707131223.51505-6-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: UE0FH6w5cm8jzH8N4Sdi6U_Jm0PYRqgy X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXzl3WGk2Uj3tj kN7KpkoCt5P16bMG1aQHCR+K7b4nt8vCgbgjFmS9psjIEWSjnyiFXyPVXHDzDK3a+1t4rOU62/x M7hsUPFeV4pcOsDZz+JjNnS8/HfYzms= X-Authority-Analysis: v=2.4 cv=SZfHsPRu c=1 sm=1 tr=0 ts=6a4cfb5e cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=57R0qBCtAAAA:8 a=EUspDBNiAAAA:8 a=-ILVhP4LZwuSKlsXNX4A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=mR_gFduoMj4eUoa7Ntlv:22 X-Proofpoint-GUID: UE0FH6w5cm8jzH8N4Sdi6U_Jm0PYRqgy X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXwvr15W79BkOx q8o8Wg1grTkTI6KkMlheXWhdr0UO6xvIemdLEq9RaRt60qEciOTQp0XpbIgv5FIPVKD1ce/DLgX 9ps/n5D3Y24gjuYdj2QDP249ln4e9IdCXXHAUQcq0kxWmHKkWsndizqz/YUJSXScAw0xMZL5/pc 7H4T315OQMm7O7/oHJsIlt6PLI3YX+dUjAonlZjA+x6wFyy/S/9dIJqliW5koUniSgu13JfP74f d4BPiCFlg7hNVjqznPCpWnjvK/I1B8DUAr2ZdjJEMGPsqE7WlMQH9plr7zxPjY23BSQj5rlC9Av ePNak5gnh7XPbAG3LUkj3zuTU6bQiYnfJwjknEsap+m6nQheX6UvDMns9ko8HHfEWx5va0vK7tF 6zuWK8w4HKqQGiR7rtYGtDpcXiRY37isaV+04kmgUansPrP/v2Lzxx+mRlXDf3CSQNw3fCF59Nj EuS7muqVUtwb3usPiFA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 malwarescore=0 bulkscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430037786158500 From: BALATON Zoltan The vga state is needed by several functions using the blit context so just include it in the context instead of passing it separately. Signed-off-by: BALATON Zoltan Reviewed-by: Chad Jablonski Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260619140408.6CF98596948@zero.eik.bme.hu> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/ati_2d.c | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/hw/display/ati_2d.c b/hw/display/ati_2d.c index 22dd811bd85..7a4a115aee2 100644 --- a/hw/display/ati_2d.c +++ b/hw/display/ati_2d.c @@ -45,6 +45,7 @@ static int ati_bpp_from_datatype(const ATIVGAState *s) } =20 typedef struct { + VGACommonState *vga; int bpp; uint32_t rop3; bool host_data_active; @@ -52,8 +53,6 @@ typedef struct { bool top_to_bottom; bool need_swap; uint32_t frgd_clr; - const uint8_t *palette; - const uint8_t *vram_end; QemuRect scissor; =20 QemuRect dst; @@ -66,8 +65,9 @@ typedef struct { const uint8_t *src_bits; } ATI2DCtx; =20 -static void ati_set_dirty(VGACommonState *vga, const ATI2DCtx *ctx) +static void ati_set_dirty(const ATI2DCtx *ctx) { + VGACommonState *vga =3D ctx->vga; DisplaySurface *ds =3D qemu_console_surface(vga->con); unsigned int bypp =3D ctx->bpp / 8; hwaddr dirty_start =3D ctx->dst_offset + ctx->dst.x * bypp + @@ -94,8 +94,9 @@ static void ati_set_dirty(VGACommonState *vga, const ATI2= DCtx *ctx) } } =20 -static void setup_2d_blt_ctx(const ATIVGAState *s, ATI2DCtx *ctx) +static void setup_2d_blt_ctx(ATIVGAState *s, ATI2DCtx *ctx) { + ctx->vga =3D &s->vga; ctx->bpp =3D ati_bpp_from_datatype(s); ctx->rop3 =3D s->regs.dp_mix & GMC_ROP3_MASK; ctx->host_data_active =3D s->host_data.active; @@ -103,9 +104,7 @@ static void setup_2d_blt_ctx(const ATIVGAState *s, ATI2= DCtx *ctx) 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); ctx->frgd_clr =3D s->regs.dp_brush_frgd_clr; - ctx->palette =3D s->vga.palette; ctx->dst_offset =3D s->regs.dst_offset; - ctx->vram_end =3D s->vga.vram_ptr + s->vga.vram_size; =20 ctx->scissor.width =3D s->regs.sc_right - s->regs.sc_left + 1; ctx->scissor.height =3D s->regs.sc_bottom - s->regs.sc_top + 1; @@ -153,10 +152,11 @@ static uint32_t make_filler(int bpp, uint32_t color) return color; } =20 -static bool ati_2d_do_blt(ATI2DCtx *ctx, uint8_t use_pixman) +static bool ati_2d_do_blt(const ATI2DCtx *ctx, uint8_t use_pixman) { QemuRect vis_src, vis_dst; unsigned int x, y, i, j, bypp =3D ctx->bpp / 8; + const uint8_t *vram_end =3D ctx->vga->vram_ptr + ctx->vga->vram_size; =20 if (!ctx->bpp) { qemu_log_mask(LOG_GUEST_ERROR, "Invalid bpp\n"); @@ -167,9 +167,8 @@ static bool ati_2d_do_blt(ATI2DCtx *ctx, uint8_t use_pi= xman) return false; } if (ctx->dst.x > 0x3fff || ctx->dst.y > 0x3fff || - ctx->dst_bits >=3D ctx->vram_end - bypp || - ctx->dst_bits + ctx->dst.x * bypp + (ctx->dst.y + ctx->dst.height)= * - ctx->dst_stride >=3D ctx->vram_end - bypp) { + ctx->dst_bits >=3D vram_end - bypp || ctx->dst_bits + ctx->dst.x *= bypp + + (ctx->dst.y + ctx->dst.height) * ctx->dst_stride >=3D vram_end - b= ypp) { qemu_log_mask(LOG_UNIMP, "blt outside vram not implemented\n"); return false; } @@ -206,9 +205,9 @@ static bool ati_2d_do_blt(ATI2DCtx *ctx, uint8_t use_pi= xman) } if (!ctx->host_data_active && (vis_src.x > 0x3fff || vis_src.y > 0x3fff || - ctx->src_bits >=3D ctx->vram_end - bypp || + ctx->src_bits >=3D vram_end - bypp || ctx->src_bits + vis_src.x * bypp + (vis_src.y + vis_dst.height= ) * - ctx->src_stride >=3D ctx->vram_end - bypp)) { + ctx->src_stride >=3D vram_end - bypp)) { qemu_log_mask(LOG_UNIMP, "blt outside vram not implemented\n"); return false; } @@ -275,6 +274,7 @@ static bool ati_2d_do_blt(ATI2DCtx *ctx, uint8_t use_pi= xman) case ROP3_BLACKNESS: case ROP3_WHITENESS: { + const uint8_t *palette =3D ctx->vga->palette; uint32_t filler =3D 0; =20 if (ctx->bpp =3D=3D 24) { @@ -286,14 +286,12 @@ static bool ati_2d_do_blt(ATI2DCtx *ctx, uint8_t use_= pixman) filler =3D make_filler(ctx->bpp, ctx->frgd_clr); break; case ROP3_BLACKNESS: - filler =3D 0xffUL << 24 | rgb_to_pixel32(ctx->palette[0], - ctx->palette[1], - ctx->palette[2]); + filler =3D 0xffUL << 24 | rgb_to_pixel32(palette[0], palette[1= ], + palette[2]); break; case ROP3_WHITENESS: - filler =3D 0xffUL << 24 | rgb_to_pixel32(ctx->palette[3], - ctx->palette[4], - ctx->palette[5]); + filler =3D 0xffUL << 24 | rgb_to_pixel32(palette[3], palette[4= ], + palette[5]); break; } DPRINTF("pixman_fill(%p, %ld, %d, %d, %d, %d, %d, %x)\n", @@ -347,7 +345,7 @@ void ati_2d_blt(ATIVGAState *s) } setup_2d_blt_ctx(s, &ctx); if (ati_2d_do_blt(&ctx, s->use_pixman)) { - ati_set_dirty(&s->vga, &ctx); + ati_set_dirty(&ctx); } } =20 @@ -446,7 +444,7 @@ bool ati_host_data_flush(ATIVGAState *s) DPRINTF("blt %dpx span @ row: %d, col: %d to dst (%d,%d)\n", pix_in_scanline, row, col, chunk.dst.x, chunk.dst.y); if (ati_2d_do_blt(&chunk, s->use_pixman)) { - ati_set_dirty(&s->vga, &chunk); + ati_set_dirty(&chunk); } idx +=3D pix_in_scanline; col +=3D pix_in_scanline; --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430079; cv=none; d=zohomail.com; s=zohoarc; b=ISzCg37GG+dpETDVRzJ3yB94DcG6TNenzninm+MZ+jQwFC6SUbvS9oitMTifdqIxOl7ZqUc5KhfutR/KaJ7R8h5RZRKi0slQ0YQOWqdfkjPdbX406h0mIRx73+O3FcEbrCxiqWwTSz09KXqIVNUY2Ddjd+Xu1tLG23z8WjUDbDY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430079; 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=FUCPwIQCIt5SOIGz15lD15kcfqAqh5dcGYn2DSOINHA=; b=URYTH7w9qHP+Q7TK2UKwbmKJC70GDX7FmIQ3Kz/FalploAp8RUqD3XWCMe2vyQa0kKc1KqL//flep+n5ygu5DrC53nvYYVxkKMxoh8LpyJFLJ7Fv8U7/eYIzcTBcW8WhWdKduWJ7cx7aLjrAKHUqpBmKcad+wzOV9zkrE4TKRB0= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430079619376.2277721023521; Tue, 7 Jul 2026 06:14:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5c1-0001FX-M4; Tue, 07 Jul 2026 09:13:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5bs-0000ck-N3 for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:14 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5bq-0000RY-V1 for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:12 -0400 Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C94Dc3720529 for ; Tue, 7 Jul 2026 13:13:09 GMT Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8v3t9mgm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:13:08 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c1d7886cdso87206911cf.1 for ; Tue, 07 Jul 2026 06:13: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 a640c23a62f3a-c15b634d60esm90106166b.7.2026.07.07.06.13.06 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:13:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= FUCPwIQCIt5SOIGz15lD15kcfqAqh5dcGYn2DSOINHA=; b=MhGX/Fz3FyzTATZj 4sjFtnUsav6HIf9eZb2V7VOjPi1PTCDIyQUBxUgYtay/rM+qQRxnZrdK4WYSzk8v gmVFsfWc7Hz2PsXHME6xikMKdA1PYq6nQ7SyTt8Y8RJG641//defBAGAFLF0ZjXh lRSPOmtD8FRJgSCfke234SpyXQ1URu63u7p5UbU82XGaHACwmX3fG9p39ZFC2AIH AoOSqzT2/ZnkQLPGvfQzIbTSUO6pchEejLI97QHqFBTb3uZDwg52dUxq0D7CNflA yMV1Bayci5zD+LvLVXL3kQRrQFkCtT4mNZGgfd0FA+bkpWknx8XBkGgdWOt+CTH6 dVy7Ng== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783429988; x=1784034788; 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=FUCPwIQCIt5SOIGz15lD15kcfqAqh5dcGYn2DSOINHA=; b=K2d4nBEh3dzJcFr9BsNIT7bgzAl5Tvoof7iwkOKKyQ59meU7uBcbVTnfeIQh3QNAI5 PBwXtKFyTfNvdSqygbjO0HXexenUXAKiAzTGSbIgh3DDCOWQvxysVqwZQYAs0rs0wpdg h+ocYFq8CmR0ssoAYIwshUQ7eE5oT14dcRhCu5UzoxoBZgZVQbCK/QAnr1kjyW9XOSW6 9QBIuZMPB8qLATI64qbZkBOCmG/GpVc1pa3CgBJdxjZA+mRlFuu71g4N5Kax0bVuDkdf B88S1DJUNzfJkJDjmSbn6L4LGtcf8IDilTfke4KaQhuxi3zexWjqbQkjb4uvps+fyccY 1mRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783429988; x=1784034788; 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=FUCPwIQCIt5SOIGz15lD15kcfqAqh5dcGYn2DSOINHA=; b=JPk+pNoHDQ/iO5ANlWzO6U1T90wFdzBXc5fy5LykHg6IkO5SZgqO5p78poK/0HaqqV HQdBaeE0BJrBDOMZ0bYTOEBTaZaX3gkGupUvJYQcEHFPlkRpH48HcDT+yEPe803OSlKQ 1wMarm7mVb6k1RO7yUAneuC6uvIio5+MQNmT5ai1mWEC3MlGmP4nt/+0h95q9AsvJjTa ZnI8ogwySKH1EiVfpOuz0frEaX4G31Rm40ToHoyJwKT8SACyKOAVkNTuPcW/NVOq0gx7 CkU1bayVgMQ1lj9EBcUWJh/YhQg8NT73GNtgzZ8G8GWxJLoQVsgfXfprrySYLRx/AaX9 Fvmg== X-Gm-Message-State: AOJu0YwhVCsjZ9zi2kVQXOPRN1pdbv//HFbXslKoEjKTEK+bRBKj6Xh+ DmofTz6qjj08qw6JnxxRHE7wW8dkAzlt+4A04phWnlEMw92plYzQfg/NS6TbpktEI/yknPfXCa0 rvTO5+7TAvVC01jOU3/1Ft6lLb6+m3Qt57q1nVnR/qHRgDbq7cOO3+VWYbZjr7EUmcg== X-Gm-Gg: AfdE7cmj70Ls/RBDj9LvdxDt7TN6dXzS+bcVo9egTi/bymTNRmAXoV83/qCnRAkMuYK 1d8HjEVKwkifUfypKK53mYYb9cfQOJBaDkO2NBoSg49v6KDCAXvEq1TeSMAuzm6klV0ftea1V01 TqV7EAIrz5OYsP3LVVqfsQRKiVHs3T7D+zo1qQSdi3ynJjo/v0xCUSJf6cZMDauS5H5WvfPuBWY D9jrcbFNMeC/nV65W46nM+A1njCzo5wTsaoQAyfS1bXLW0fzZO7ia2jPSY5kJx7wvzLobQDCP+r tJrid2P0f2hugdlq0Gd8KUi8l80JiUBWFtCOrU94x7MudDquCvCzRpr5scvBV3pcOS6IiCfxjYo d+4FA5xNFUTDodAYMA3ydJY72NctZIKTSU9QaKRUHrrNDcpfp2gGzSYocwwzoBJr4uTxW X-Received: by 2002:a05:622a:52:b0:51a:8c86:bd4a with SMTP id d75a77b69052e-51c748d5a52mr53319431cf.71.1783429988120; Tue, 07 Jul 2026 06:13:08 -0700 (PDT) X-Received: by 2002:a05:622a:52:b0:51a:8c86:bd4a with SMTP id d75a77b69052e-51c748d5a52mr53318481cf.71.1783429987323; Tue, 07 Jul 2026 06:13:07 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 06/32] util/filemonitor-inotify: Use QEMU_LOCK_GUARD() Date: Tue, 7 Jul 2026 15:11:56 +0200 Message-ID: <20260707131223.51505-7-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: UWjW9HU4pExEqiTTJUo4eVxI6vTeUXJ1 X-Proofpoint-ORIG-GUID: UWjW9HU4pExEqiTTJUo4eVxI6vTeUXJ1 X-Authority-Analysis: v=2.4 cv=HqVG3UTS c=1 sm=1 tr=0 ts=6a4cfb64 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=pGLkceISAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=jD69X8wp-xb9194rqy0A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXwJio6YFVoYJw uXtBY5eagG4/1r2Yib42gzSf0RTbfXaWWWHcH5bxEZAAIX22z8e5pg6vc4wzOwUmfnj60Ok5QFg 3XKv/2LJeCQXfP1zbRU0FQQureEzuZNSzFbGnMFQ1gN2vojStZNF4eYKCwb/i+fDsXfk3v/cfFO R7+B4elKICAjOsxDfQNzT0XE1jO5jD1jYwc5VZ15E3BEVag/m9EB1ILdI9mnZc/rDVtWXjfvFb+ Tt9kxtPxyd/E5vRpU/z/C+8wJ/kL34aoCSP99WvEDbMF3p/jxdhikYDbPVPs5BpeiUrQrHbX0fX VuL+H4R/vS7XLyIUssX2/XX8ZeJXg6Q6XkLZBcuXiPmEmcbQmetFh+PoDuqEk64UzegeIvHusOk G1PYWcLmbz+imH5crOokXVzYVPTUkvgYeU6Ltg0+Z8oeLVt+vt4n80DnAvZZob2jeJetblr5wwV fLmc8STFIPxVLj+4z7g== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX2i/1wci9mSqG uHGCxGZQoCkEZuZWtDgthGysTVTc0+p428qTzFZclu48QI6DCdpmWN4qNOwq7Wlcpog4HvYY3L9 xMnHjeUxYLniZZXi4lk6CQRumYqv/4E= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 adultscore=0 suspectscore=0 malwarescore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430082169158500 From: Evgeny Kolmakov Replace manual qemu_mutex_(un)lock() calls with QEMU_LOCK_GUARD() to remove 'goto cleanup' code Signed-off-by: Evgeny Kolmakov Reviewed-by: Daniel P. Berrang=C3=A9 Message-ID: <20260622073647.3721-1-randomjack94dev@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- util/filemonitor-inotify.c | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/util/filemonitor-inotify.c b/util/filemonitor-inotify.c index 7352b9fe53e..fe2057f820c 100644 --- a/util/filemonitor-inotify.c +++ b/util/filemonitor-inotify.c @@ -21,6 +21,7 @@ #include "qemu/osdep.h" #include "qemu/filemonitor.h" #include "qemu/main-loop.h" +#include "qemu/lockable.h" #include "qemu/error-report.h" #include "qapi/error.h" #include "trace.h" @@ -59,10 +60,9 @@ static void qemu_file_monitor_watch(void *arg) int used =3D 0; int len; =20 - qemu_mutex_lock(&mon->lock); + QEMU_LOCK_GUARD(&mon->lock); =20 if (mon->fd =3D=3D -1) { - qemu_mutex_unlock(&mon->lock); return; } =20 @@ -72,11 +72,10 @@ static void qemu_file_monitor_watch(void *arg) if (errno !=3D EAGAIN) { error_report("Failure monitoring inotify FD '%s'," "disabling events", strerror(errno)); - goto cleanup; } =20 /* no more events right now */ - goto cleanup; + return; } =20 /* Loop over all events in the buffer */ @@ -151,9 +150,6 @@ static void qemu_file_monitor_watch(void *arg) } } } - - cleanup: - qemu_mutex_unlock(&mon->lock); } =20 =20 @@ -257,9 +253,8 @@ qemu_file_monitor_add_watch(QFileMonitor *mon, { QFileMonitorDir *dir; QFileMonitorWatch watch; - int64_t ret =3D -1; =20 - qemu_mutex_lock(&mon->lock); + QEMU_LOCK_GUARD(&mon->lock); dir =3D g_hash_table_lookup(mon->dirs, dirpath); if (!dir) { int rv =3D inotify_add_watch(mon->fd, dirpath, @@ -268,7 +263,7 @@ qemu_file_monitor_add_watch(QFileMonitor *mon, =20 if (rv < 0) { error_setg_errno(errp, errno, "Unable to watch '%s'", dirpath); - goto cleanup; + return -1; } =20 trace_qemu_file_monitor_enable_watch(mon, dirpath, rv); @@ -297,11 +292,7 @@ qemu_file_monitor_add_watch(QFileMonitor *mon, filename ? filename : "", cb, opaque, watch.id); =20 - ret =3D watch.id; - - cleanup: - qemu_mutex_unlock(&mon->lock); - return ret; + return watch.id; } =20 =20 @@ -312,13 +303,13 @@ void qemu_file_monitor_remove_watch(QFileMonitor *mon, QFileMonitorDir *dir; gsize i; =20 - qemu_mutex_lock(&mon->lock); + QEMU_LOCK_GUARD(&mon->lock); =20 trace_qemu_file_monitor_remove_watch(mon, dirpath, id); =20 dir =3D g_hash_table_lookup(mon->dirs, dirpath); if (!dir) { - goto cleanup; + return; } =20 for (i =3D 0; i < dir->watches->len; i++) { @@ -342,7 +333,4 @@ void qemu_file_monitor_remove_watch(QFileMonitor *mon, qemu_set_fd_handler(mon->fd, NULL, NULL, NULL); } } - - cleanup: - qemu_mutex_unlock(&mon->lock); } --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430045; cv=none; d=zohomail.com; s=zohoarc; b=NleFUJpkCLJdERL9P8WQIiY31LXehvx0LOi6Hd0wK3JfzzFSTXzzsWHmAZ2yFNTrYrU7TbwA4u8JJeFKLuCcf5ZnLHveTP0kexXSd6as1jgA3l/XUiCLu5by46tbQ0uStcnJhd3NqvRaMhWNl8CeRkCNOgh0dvImqDIECsu/D+I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430045; 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=JM9SCED9Plarjv9QQZHSBpEU4+Cp5EQcu1bRESutIKI=; b=EYB+zce9g4JqOUiO4fl46ql201KucflZR7LURRaJ9wunnAF1YSoukxFSaRyoVcymd0ZZsAWQqLt6mArI780YADmN265MJWqSovYsjq7z3j5sHFdqrE6y2zDy7aeiad35pjPCFGxG2uS//H4bqMO2RBfR2FKCDNescfMxp0vKt0I= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430045644528.0804573875914; Tue, 7 Jul 2026 06:14:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5bz-00013B-UP; Tue, 07 Jul 2026 09:13:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5by-0000oS-4s for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:18 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5bw-0000Rv-Fp for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:17 -0400 Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8t7i3768570 for ; Tue, 7 Jul 2026 13:13:15 GMT Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8qj7ajvr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:13:15 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c33f48ee4so46470611cf.1 for ; Tue, 07 Jul 2026 06:13: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 4fb4d7f45d1cf-69a19db05ecsm5660846a12.28.2026.07.07.06.13.13 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:13:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= JM9SCED9Plarjv9QQZHSBpEU4+Cp5EQcu1bRESutIKI=; b=NkghIEyt/yW1EBHD f9m7iS4XFRehIhG02uTDs9pknQZQ1S77AmReBbzlWDOSoPTNNG23EAIrYoXJ/0Oj H9iKoEDzqey4u265v7qCrvvytAiVeNq0XraHJAS4H5rCDXRStd+Cu1S8pD7OM0Sy goD6+hFuoaMiRUix2CLwlRPS5ql3y251Phvc8ygGv+STRboQ+orfCJGyBJMj1fNu IvzP6F3FJD0xOtSDB3f8dT0rix5BSVm9PK005RE8e4D9TdvnwNodsVR1LM6LpX3k 4kaoCdgGUHtBd8uXv+kWt+ccV7EGjfS7V/PXWNbIwfAfF+7nTX/XLJf7nUMDSlgO bhtHZQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783429995; x=1784034795; 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=JM9SCED9Plarjv9QQZHSBpEU4+Cp5EQcu1bRESutIKI=; b=a2YscLq2kFQAzetU2r4pUSWuD5VwVyLixGaLShi69Om5oC2+b+G45BH5uC8aiYCehs fl/6ObAofaRSS+VRD38QC739NjTMg9sKGqntTujyG1mBlb7KD0XC2UmNtQZUNk+le2ug 3LeCDxtwmXW6mjkZBc1mlV0h5+gcoi67suJZ3K4ba0fIa8a6gOyZPTx3DJ3sAQlYiDxl jpDSyIX4kYnuzO3CZh7u0fITvUh60eyEG8oYcy36pEnBPVK2/FGLacuOYGPbSr88WbCC ppXOmvC2Le2Y9pVlw2TizevnzppuahiWUOIFO/iXOVcqwrscmoyDNjeRAZvRmTCUkW2b yfug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783429995; x=1784034795; 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=JM9SCED9Plarjv9QQZHSBpEU4+Cp5EQcu1bRESutIKI=; b=cgk+f/BXvajm1kg2U1ryjP1CHmZ/h5wq8QERWL7ZvPEgdN9oCZeWAQ2Sut54908Vzs bYCQ/J/r6JynolRUG+ogc+HSjjJoNqis5qGdre6Dk6+LhOP3Hk1H3aDJrt74io8d2Yxp DtmqRMWvONW6oimJaUXd9IGX+JwJx2a0Qzq9CyBv/Luj1aak+NlIjA0F1IGzNEr9tFwA wgP3GaGbKd7LQQ16ojcxuiHEqvFlS0XIAw//m62h6iyjFZSPU50KKlPHWmYmtcIX/OTz zeUR98ZtJkbJ2vQk9xO49tP+z5AOhga4ifcxD5SC53y08XGi7FQ9togP7G1yjLbbuXG+ 1z3Q== X-Gm-Message-State: AOJu0Yy4GNRGjyi3xgRIocSse5878fJ5ll4nUqQPfEOq25r9MKuVOBRG /x3+MOIauFJyIqvJsNx/gyTXa8CMEh4QTGNZjy7q6FeoMQm+I9Ej9zi5X0bMJILalamWYU7MG70 6CCRM/rSRVW2LxqMCYrwO/6W0xbucPFSDLZfvy/RWBHBM/SBF+5BuFYB4sbbnTmn3dw== X-Gm-Gg: AfdE7clzFKlKfAZtcZn3eBBWKMU/6EuTJHWitiB5Lcg8ZfqT7QOxFQ0AJF8/0rIxeu2 4gRH45Y2n21khbux0SKyiKbt6/sanv3/xK9k85Cv5AzgSJ66zudINw3HTyaojjvHfQFjlz2hCdA DJzf+x+DP8E5GmtUbhOlR+Zj7pwmfLsc6hbRByc4VB42b5C0zJDAHgRF5e6zzX/CzTQnAKNOi7F 5JnecILB2s2KisGsxsdBPa/ztahW1YppBfJoMODL4DKJ8A3gmhT9wTUWgjNIEtSH/Psxwe3ALW8 LUpH/vfNzZqWLnDzKBhOMB7FqF3uOkCY0Sh5OMvPtYzKDT4X7ZIweBSzIZqye0uaXAd4xxpBg2x qmd70EM/MLchyN53X3Pp9hoMZPGcL8rEA6qx6bFd8pL+GJHYK2RgOL6wxCvp+B6uFyBEp X-Received: by 2002:a05:622a:840e:20b0:51c:7b12:6008 with SMTP id d75a77b69052e-51c7b12674cmr13337031cf.84.1783429994836; Tue, 07 Jul 2026 06:13:14 -0700 (PDT) X-Received: by 2002:a05:622a:840e:20b0:51c:7b12:6008 with SMTP id d75a77b69052e-51c7b12674cmr13336781cf.84.1783429994413; Tue, 07 Jul 2026 06:13:14 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 07/32] hw/gpio/pca9552: fix off-by-one in QOM led index validation Date: Tue, 7 Jul 2026 15:11:57 +0200 Message-ID: <20260707131223.51505-8-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: oERNdV0R4n3_8wCLTB9Q6F9w_tquqmaw X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX4HMDuVPQQS4N IDINlLeJuthuKcfc0P5kIxJEaWCjEpT/D5SUJkeHKY7fnwL4jz+6PdzBBEKJwTZU5qzjlf2Cpuv OVN/aBLYk3vltV55Aqxt9jR3vSAax57nM6eK1KktxKFEyowtvpUpUjgGU3YcByw688VXxvyixiF 7Bbf4l1OfH/KfBmxMqAepDW8A0ZbRKR9fjvd5d61DG62MYN/KY2qt+VZrDTgqrdMpAK/svsziwk oa1PhOyRqBnNmoaPKn1oHn+EKMzz51RFhxCE1ljbXLn4fi0UkYX5+6SM+oKmBDUaDPTluCqL1fd dnaJ2VbobVSVpBco/MZTzrwWVviAAnPwECu1/gHAyhsrDd7OJRORO1l1JjIBUmlV3Z+rjiL3AZK 8j3Z8jKKIyt/oA9WhminVP7BNJ9nyN5zh2Jn1fojIoSmjBwJrBbtZ0G8gKx6RK1qnaXNP9pRaoV wO02imx8+jqDjPs5OwA== X-Authority-Analysis: v=2.4 cv=PIM/P/qC c=1 sm=1 tr=0 ts=6a4cfb6b cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=KKAkSRfTAAAA:8 a=VnNF1IyMAAAA:8 a=EUspDBNiAAAA:8 a=NFH0hdw5WT1NvSh7Sn8A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX95bLDsod/F+8 K4lbCNBNjt+k6iILD1lfAe70JQ6aTtKfFEOKxXDgH2wNHxRsY4alSOpUzSEZVNCs3GwfA/f1DLS dmw7XcJE39EgcOkNXH14ausji9eGgiM= X-Proofpoint-GUID: oERNdV0R4n3_8wCLTB9Q6F9w_tquqmaw X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 impostorscore=0 malwarescore=0 adultscore=0 phishscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430045951158500 From: yujun pca955x_get_led() and pca955x_set_led() accept led indices equal to pin_count, but valid indices are 0..pin_count-1. For a 16-pin device, led16 passes the current check and then accesses an LS register past max_reg. Use the same >=3D pin_count bounds check as pca9554_set_pin() and the gpio input handler assert in this file. Fixes: a90d8f84674 ("misc/pca9552: Add qom set and get") Signed-off-by: yujun Reviewed-by: Peter Maydell Reviewed-by: Glenn Miles Message-ID: <20260629074133.187549-1-yujun@kylinos.cn> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/gpio/pca9552.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/gpio/pca9552.c b/hw/gpio/pca9552.c index 472d8ad9571..b13ac9fd9ce 100644 --- a/hw/gpio/pca9552.c +++ b/hw/gpio/pca9552.c @@ -311,8 +311,8 @@ static void pca955x_get_led(Object *obj, Visitor *v, co= nst char *name, error_setg(errp, "%s: error reading %s", __func__, name); return; } - if (led < 0 || led > k->pin_count) { - error_setg(errp, "%s invalid led %s", __func__, name); + if (led < 0 || led >=3D k->pin_count) { + error_setg(errp, "%s: invalid led %s", __func__, name); return; } /* @@ -352,8 +352,8 @@ static void pca955x_set_led(Object *obj, Visitor *v, co= nst char *name, error_setg(errp, "%s: error reading %s", __func__, name); return; } - if (led < 0 || led > k->pin_count) { - error_setg(errp, "%s invalid led %s", __func__, name); + if (led < 0 || led >=3D k->pin_count) { + error_setg(errp, "%s: invalid led %s", __func__, name); return; } =20 --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430095; cv=none; d=zohomail.com; s=zohoarc; b=NRwmEgfbfdDSEw5CwfuQtQueTAJn3jFmTnwFm9vEe7EzsMBEU2YYRG/7wX5FsbKXzx4e5mewJ4aiMrVPhXMpt60G9HXacXfwe4vvcwGCeC+n7rfvBQ59wk+//kUOucSqKIMernNXy0nLVYBUbEBD262fGcEgKRLzQQ8Y8kThwoU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430095; 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=gYmLYpnLJ8bTPzxsve9zuFM59HP6rO4WsoP9ARRYxJs=; b=nNTr7WUsyeYETBL47F++VB5XKxqOOOFA49c2v5AwLgVKPVaKX4sxiGbcLQ3AaaMut2FoobgERQoFeqIf2WXROg+y3XQBl0N9i/QeKEB85us+aytwDIC+Z3aM57nhSmUjDmQR+0MIkaBIjMcT4p5JqlZW9QCVKtzyffeAo3bhnMM= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430095801487.37595175850936; Tue, 7 Jul 2026 06:14:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5d3-0002O6-Ox; Tue, 07 Jul 2026 09:14:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5cD-0001s3-Sk for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:35 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5c9-0000Tp-G8 for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:33 -0400 Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C938D3590171 for ; Tue, 7 Jul 2026 13:13:23 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8w2u9beu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:13:23 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c1b4d961dso6811451cf.1 for ; Tue, 07 Jul 2026 06:13:23 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-69a19ce4ad4sm5825739a12.12.2026.07.07.06.13.20 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:13:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= gYmLYpnLJ8bTPzxsve9zuFM59HP6rO4WsoP9ARRYxJs=; b=LrwlzUAkGVsXTVYy cT1VkWIDxZ+aAtNux0/UmQ3MvszZBTSynQN2H4x2mT9t3G0QgGwYvTd1HGxRcWPB 2o60pv5+ROuWlYte3T2k5Ye3YWqrbBDAA2LHAk4cJtfc3BV0ogUmf7eVeL9deiOx wK/hizKWW9XrVj1hL4c/xNKDOqd91gfh/RBX2l1Fup/gPyN5JGaWEV0/SRkD9JOA KRYae9ViGgI5VvNWsDDXuc4+s1VtVgowpKUOmCO6vsGypkCIJCxCr6t5HEiA3HUa pVeock8PREFFWkUpQ1mmJaGXRs9iX7xRQiUgO6tuyI6JsUOrul3RGtNTkNtaQ7tR oRneFA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430003; x=1784034803; 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=gYmLYpnLJ8bTPzxsve9zuFM59HP6rO4WsoP9ARRYxJs=; b=dSqziMZ7U6hIqmUiXswk7Q2jiuNaFq1PAjkwbdCYAPCrE+5r2G1x+0PO3BNvHp0esG SW3j/qKVP583IcyaoKss5EKvyLA2SpPkp2RM5Td2Co6d2EV5OO6HNkk9zGn/QIb1MRgf 62C/hkHD4Lf8EGOreon2jRGXI250n/kTeDtI2GWHDJsA5nbs3Ip5PaBJXJdXlcyK92ae DYY37gU/KDx6s3BwA2xusyNEezugvSBVEhKVHEKh7beSsp8e4MhMB2KjEoWoX5vHE7+h KP45/+IXY4u6ew4JV6yquiwr6L3sNk24ditM3IzDuLlLlRq9fCZuljAUJb2Ed++7cMml VbqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430003; x=1784034803; 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=gYmLYpnLJ8bTPzxsve9zuFM59HP6rO4WsoP9ARRYxJs=; b=rURUlBDocMF7iryvCNe+I8+sBRdpyQPrg3QUIy3EJ2Qfig3dhDM22te6GAOVSpmSZ/ hEpr+YLLtLVJeCxdW1SjcpTPK14OPGRro3z6ALw3xEFjxBqL/+LFLh6NcITh4/SIDuh7 8/IdXNpAmYYRf4XfQjuBG1KFn8Cf/ZFgw/xTpGtRF7qi/VHhjWEa4QChpQJQ6RePA5Vx htJ52VQSLcfUC5wAJpe6cJ7kfbfbFsMNBXzhUAUk92gJRl8RLn4lZRylyYpTIgN+pDBK Y0+YkotgA+17zCC0sHqh6mTLaqM81+svyJx0GESOyPhwnmEihiJY8Qh3jOyxKYwvO9er w/lw== X-Gm-Message-State: AOJu0YycjmUJ3pEldxUMENwcVXInweGhGUQe6Xak8AwZPAHaBS1mniOl I9kXls8+B2Sy69TNSZZtCRVLJD/HFGsVKHcRNKAt5H7ZFcqnwZyxEYSvLnlgRPuf+HPPFNCK9ja HvEqX5nlUulU0fUAHT0a5jAGlGupZFArpTc7ILnn/WIwE/KnzleZd4OR7OFsDEL/hBw== X-Gm-Gg: AfdE7ckAMo2tiE2e2VldHeIfaFyQPykxWfyY16Wsv3pcVI6RpjKLs/StlwPYS7eQdvg fHhdfBs4Zd8fSfl5j+luDCwXXVQRsrPn9BEjBd6RXp7FLCeXBOm9UES7E4skPTWTNBkpfX0VWbb ISdZMUP/XBn0K7elmrTdJy3+01J5zKQOgXztNyKYbNtuLMPdJrIFmcAfC4Him1eyPfqgrCJKlmA HAbQIo+vjW/3dQpDj8/+EOzdJWlWClMXsrx1GqCWeDFnKtXKMG6wK0Beb43vhv/shMOfNJSY3xx GEJcc8pYKwVkFkTIwsr4AzQDVKqf4EmlxQFM9SE+3fRPhJvlhjyM3bptADK0KZLb+xsKI6GL8hN yOEGnklcKIJgGo42updBSTfu3mFl+hIkNuSQ52LU81eD4TEg9zL8R8jMlJ/yLneBD4j/F X-Received: by 2002:ac8:59d5:0:b0:51c:11c2:dc17 with SMTP id d75a77b69052e-51c7a8a012emr24677531cf.40.1783430001943; Tue, 07 Jul 2026 06:13:21 -0700 (PDT) X-Received: by 2002:ac8:59d5:0:b0:51c:11c2:dc17 with SMTP id d75a77b69052e-51c7a8a012emr24677191cf.40.1783430001506; Tue, 07 Jul 2026 06:13:21 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 08/32] ebpf: fix swapped toeplitz/indirection args in set_data trace Date: Tue, 7 Jul 2026 15:11:58 +0200 Message-ID: <20260707131223.51505-9-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX35/EUhfR8LKC pTu76SCBJJ3dBEHHUPly1nVOx7CBwhcbLCBBCl+h4nitVGxxCSWwpx2o/3Kw8dpFAYzFDQlLvt2 /8MiDorIi81OInjfJVgrj35WQtgbt/Y= X-Proofpoint-GUID: xE-Q7-NwCmPMtCyU_PHiGHtIFXEC4noO X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXzCBTidWNIWA2 QPcLzxrfUIUBJYPg7RtWdmYtvcRUc3LfzKV2abmzsXOHYbky0zVJlg9GQowVmv7oy6wzVFkqZS5 JsMBzWfBCXs50QWkR2+dGvlmTE/6Yjb0mPlkU/Pf63T/MEw9WMeOesPq/4z0SuMyBqrmcUY25kx XFjSgQP6ieGLTRsqYAU5vQs+oOKaWx056OzdslWyD+JrmlvjovFzwxAD69MU9gP1e1MGBJVBowy 8c4niFzEhgOnkAshfrGMJB6Zgc2PufDDibr3D35P0Euj1NostqhpdXd5sByQ94x6YZFFLrYc0/G o+P3Yy3/KlTxVRaFleFmwyhiIB7tE4waj04t2pej6H9Z8G2G3kG+lvz63eHHMTlFHnV7CI/xhzG Cn8aITFDQ0c+pAcJolMVI1O5QasKeZthrpxKvFfgdVH7TY8k6x2wMcZNrdbz0hcE6tcY+5rqyxK paNPzIszd9M40Gh2j/w== X-Proofpoint-ORIG-GUID: xE-Q7-NwCmPMtCyU_PHiGHtIFXEC4noO X-Authority-Analysis: v=2.4 cv=bPQm5v+Z c=1 sm=1 tr=0 ts=6a4cfb73 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=uInvVBOazbrfTO1tiRAA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 spamscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430096473158500 From: yujun trace_ebpf_rss_set_data() passes its third and fourth arguments to the toeplitz-ptr and indirection-ptr fields defined in trace-events. ebpf_rss_set_all() passed indirections_table and toeplitz_key in the opposite order, so tracing mislabeled the two pointers. Match the argument order already used by trace_ebpf_rss_mmap(). Fixes: f5cae19d10 ("ebpf: improve trace event coverage to all key operation= s") Signed-off-by: yujun Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260629090116.266561-1-yujun@kylinos.cn> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- ebpf/ebpf_rss.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebpf/ebpf_rss.c b/ebpf/ebpf_rss.c index 926392b3c58..6650d0daef0 100644 --- a/ebpf/ebpf_rss.c +++ b/ebpf/ebpf_rss.c @@ -270,7 +270,7 @@ bool ebpf_rss_set_all(struct EBPFRSSContext *ctx, struc= t EBPFRSSConfig *config, =20 ebpf_rss_set_toepliz_key(ctx, toeplitz_key); =20 - trace_ebpf_rss_set_data(ctx, config, indirections_table, toeplitz_key); + trace_ebpf_rss_set_data(ctx, config, toeplitz_key, indirections_table); =20 return true; } --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430052; cv=none; d=zohomail.com; s=zohoarc; b=nUq1XQ2evbOhPlO39H+XNDJbW9oRQ4c33qK3KSVi2nSpoPt9qicTy6Nt/goQeKHVCjAAjvUbfgY4KvFzKwyqWpLQh91bcugriiSbshoYKiuwo3eXZY0UzscFpgYWZBmGo0wf83QPGU+q3cBq12m8/r549KcoTj5QRCUD3rbpwl4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430052; 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=Xc+tMxSyHDkaEQ13iyZi4Bg0l9zwBc8qedmGedZWFmI=; b=YorcU2ykmsSU/eUMIOKnxaqzOmCsizFaJEw8huJth632OXP+fi9uzYghzYLPLonz5PmkDkXWOMhATvDD94OjAk7E3DOUodHngSSSfTOcb0eSzMzFebN40LU4L3TCWJ/ED/AyOURfV7Wk0IspaRDTyteHMoS8PrZGcX/HEtEysT0= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430052737538.8146028945057; Tue, 7 Jul 2026 06:14:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5ch-0001zi-1O; Tue, 07 Jul 2026 09:14:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5cD-0001s4-Sm for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:35 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5cB-0000Tu-F8 for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:32 -0400 Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8x7F3719152 for ; Tue, 7 Jul 2026 13:13:29 GMT Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8v3t9mj1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:13:29 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-517e054fe07so77443661cf.1 for ; Tue, 07 Jul 2026 06:13: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 4fb4d7f45d1cf-69a9c4a4027sm893683a12.29.2026.07.07.06.13.27 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:13:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Xc+tMxSyHDkaEQ13iyZi4Bg0l9zwBc8qedmGedZWFmI=; b=FWMKc88cfi87F/9b 2/KdoCgbzzpo+0FS3cJhy+FrbSwuw0NAb/IiChddSIF6AHXESMEZ+FzxXa4+D5kZ fuarPrJPKuxgJROmqxT4dc0ZXuNWeJQ9sljk6B7sKsDiVBWPHF9fnL0aF39hleQk u6wo49qfDJIfaP6Yf8GXZJ7DuLDyoQL7vYSoBRx9lw1jnJe8tVV9pxbfm7rmUxmK PYdkzlDLDGGSqcj6WNYl7Cg08JomJaDg7QQCyFokmgzMlZW36jGIKymaiJrLZaVk FitwiaLy3lspEPfpbpL0Vc2Je4x7i0TAnyqWF1CE09Ff+6Bb2GgrS0BAGjtX/xwD NigfUg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430009; x=1784034809; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Xc+tMxSyHDkaEQ13iyZi4Bg0l9zwBc8qedmGedZWFmI=; b=S/8NAYb/7GatYw7mm0nbXiwfhJvJy38n5CsjpPGhKRfmTPHfs7tdG+VnrPbuzsxASK C+pRxbcdT2Bw8kSmSnjwEPfYieBeR6iEqqhH65mjSLixMITY7uXR9VYvcU07QO+GF9iT CAaQRAcbspsXMHf6MpDKg1j7qFoscajltaDuT3LccYAD+dFIylPPLBaM49iEK1yfYEqw jZ0L9WKrE4+MX9A/nKVg9R6I8eExRXX2N+UlEOhWixI3neVvOqYb7WPammfH0/F6QrQL WmP9bAa8HwzRivZv2XLOnJ2WigxU6YTZH+Vrqkx/RG5tOv5Ty5C3uTlAjHpMJlOWxv61 b1Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430009; x=1784034809; h=content-transfer-encoding:content-type: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 :content-type; bh=Xc+tMxSyHDkaEQ13iyZi4Bg0l9zwBc8qedmGedZWFmI=; b=rCTw5t60n++20nsdZGYMR9AkWU/XIYl/Pesn/wX1qLzzN25SwbETSSI/yDwOUT0A/9 PJACe9Y7WwlXyXnZtVc1LCRRclMA/JAQ36VVhqMFeibdnfsXPDq9LzP6ekymEWJQarK9 3VIfbgFsnpLy7bmYU3Y2sLXNJQVnqSfLCEA2YfpCnbXo4LCUGJ0T+gam2XIwZoTR5pXI fuES0Coaec5PiPvMocdNVcS2sZY9KECTMSD1w9/kzK1hZAGtjdTlB7hg68DrqqWvlfiu jSBoBfQdlN9O0DekNrqtOhof8GBB3rBkczOGrUIN5ZR7BS+5e3GPl4GJj2IhTajFHy51 tsZg== X-Gm-Message-State: AOJu0Yx77Yp1Gtt0iaG77LRqlOdKHv38Z2S5vyyFU87iWZUPT22WsaVh 1rfphv9YpGzbuSVGIvOv2Hhq5x+6zfuM+e9wMXY1+WXq4QDZHSiersrObP0q09v3cn3BFG3dEzN hEFLLUYQsft6ZMmw7QRGeIJFFWdxrfwRY8KUqC3nBcY24mRjXQmQiY7M2HPHgPXZ2UA== X-Gm-Gg: AfdE7cllwxgJhc9MHy88eWIdbUSQCcnqsHgrnjfhWEMFm7HKWbddDIXQQ1ife7niQqn guNJowUYZAhnoSG9OQdKY7IvbMpUDGfF6wvCx+C+wb9LgTrOXBZ04lTZOiCdMlyRsI2p3MfaUpu RSqe4zbEnGoNZcs0u2cRQTcuC/Y9L1Yd01wiw9Ojv7hBoJFd7LPTuDVUbFZgVkV9+3u0R7dM5Ve FBNkX9vCTav2ZAG5ceiTujqYV4m58GkTXTUVC5Rxqa7cY7RyGNfkFja8qOO28X8My35b27Ke5ZN KlMu34Igk6xxEI51d9f8/XSs2iEjzBmUZCK6inVzCiNeR635wAN8271WpueLQ5ejYsOOfoqm5yX FbfF5uWzYN7quGFXkaWZd4xQMJ7p1slJikWitcHD+nGNN+Jj7X+8tm0ddXBFmfZBSDBJo X-Received: by 2002:a05:622a:1a91:b0:51c:f4f:b3ab with SMTP id d75a77b69052e-51c747d5315mr55268441cf.20.1783430008952; Tue, 07 Jul 2026 06:13:28 -0700 (PDT) X-Received: by 2002:a05:622a:1a91:b0:51c:f4f:b3ab with SMTP id d75a77b69052e-51c747d5315mr55267961cf.20.1783430008406; Tue, 07 Jul 2026 06:13:28 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 09/32] crypto/x509-utils: fix gnutls error code in crt_init failure path Date: Tue, 7 Jul 2026 15:11:59 +0200 Message-ID: <20260707131223.51505-10-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: wsSETylWuBAHoNN0cG2R-u3yxFgHCUNL X-Proofpoint-ORIG-GUID: wsSETylWuBAHoNN0cG2R-u3yxFgHCUNL X-Authority-Analysis: v=2.4 cv=HqVG3UTS c=1 sm=1 tr=0 ts=6a4cfb79 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=bnHAcCUCCFN1SB_dUukA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX2F9FoFC4JCvG K45s5dgmL3E0Ncffdj5J+H+kgIGYsBtG+Cp4IGCF8YLACm/oEP/EDGTWEhfoR01ROYKDpD2eYfe y4DDlP/Yc6IZft5SoFRxz6ftmb/VLrSogMpwy+JVyy7O7qLxdeXU2c7X4b8qlEn1GJ/W82C8v4c N7DfhVMnmu/i4njezhOlGh6rKgtlPPl1UpVuDofj3H6EMsyvq7zoedIVB5vmEZkQ/PW/VBNk4BP sX61N465UuK7XBgi0uBQ7HXSSyk3oSc7DVD9cE1JQULMMfrnPoXzUBweJKkFby76Jicb3IWqEuH t8av/u/h+Lt52yE0l/dnhGoP/mz9Q4dRBxAGmVL+kERhxLJK4L/7wKJa7EPfpidtYY7RHoTDLvD O7qItq9zURn8TrI5KwI83D7cqMETTCKKtiElYrg++KsMsZ6Ofz9pfzvVx/3NNKZq5rp8UzwpWSK G+6JUeM3NIsPQSLNiKg== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX7YnEoyg9k1L6 szGG/Uxi5Va+H7zZf8dfrBVpCe7921hdHJJUd4ImzobPuYqb7jPr/VH7LvbrMAO3hjb+LzPSy2Z 0OW3feau0MX/Tz6vSpojncrzzvHeOOY= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 adultscore=0 suspectscore=0 malwarescore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430054027158500 From: yujun qcrypto_get_x509_cert_fingerprint() reports gnutls_strerror(ret) when gnutls_x509_crt_init() fails, but ret is still the initial value -1. Store the gnutls return code before formatting the error, matching other gnutls call sites in the tree. Fixes: 2183ab6251 ("crypto/x509-utils: Check for error from gnutls_x509_crt= _init()") Signed-off-by: yujun Reviewed-by: Daniel P. Berrang=C3=A9 Message-ID: <20260629111026.281185-1-yujun@kylinos.cn> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- crypto/x509-utils.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/x509-utils.c b/crypto/x509-utils.c index 39bb6d4d8c3..1843488bca3 100644 --- a/crypto/x509-utils.c +++ b/crypto/x509-utils.c @@ -46,7 +46,8 @@ int qcrypto_get_x509_cert_fingerprint(uint8_t *cert, size= _t size, return -1; } =20 - if (gnutls_x509_crt_init(&crt) < 0) { + ret =3D gnutls_x509_crt_init(&crt); + if (ret < 0) { error_setg(errp, "Unable to initialize certificate: %s", gnutls_strerror(ret)); return -1; --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430074; cv=none; d=zohomail.com; s=zohoarc; b=PBLCemmNQDYAE2QiLDfImN+rO6bg3eLPFTW/tX0fQZYcUzCI5vdoF4dzNm/uHajVj/38VN4eTsqVMZ/+mPQGk2Ihoq7Mj2hLU2Z8tRCjrynyaKdJmPmrZTNYeiF/WxKb6kliuWsaY76cYujz7YmgLZUitID7DRPYaZMr/vt5w+0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430074; 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=Nn0ZFvqwGfAjXlB7cNAQsa1JNM0B+5KYgoQ2c8C3Zhs=; b=F7DTspHYGwfwbNProZaiqjg1x74iX4ej6vfpN0yXnuj6bea8OKIcSUQrSI0yRXte+uyQOIBZtFUaebJcFTqBUYb+xrSz3ZBxmJw1GSGvtur3xz2dfWKcFvGglgmNp/NTn+OWk+n+q2LFXRvrCRyrvci0x41dqdx7naUGkDJEYoo= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430074219504.48562257495996; Tue, 7 Jul 2026 06:14:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5cw-0002IH-Ap; Tue, 07 Jul 2026 09:14:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5cQ-0001zt-Od for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:54 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5cJ-0000U8-7w for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:46 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C9Lc03740882 for ; Tue, 7 Jul 2026 13:13:37 GMT Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8v9a9ks5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:13:37 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c110a3b6aso59699731cf.1 for ; Tue, 07 Jul 2026 06:13:37 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15adb488desm137294166b.63.2026.07.07.06.13.34 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:13:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Nn0ZFvqwGfAjXlB7cNAQsa1JNM0B+5KYgoQ2c8C3Zhs=; b=KDGo2r/xNcbvncIb Eq70R20boAiTyuNWlt9agzyrwTBJmQHZDMVf5pEXMwcYHR7rcoGvgyNoPjf0djko pNh3EzDIzZ4/3jFmimNd0vZwqAqLLHifG9W2yDa2wgG9bRq7m2mvZ78UX7TnmXkI y8sw1USgqqrGH9t8b8FTFcBZc7lJEXVbf8Z5wDI1Hml6fon/butwnPoKRYAFrMe2 2FfNfTOEhJF7EqRb7Xj3SFNXE5MpN7u5XuzohnqLQcbcDBtlpJ/3hF1AiDHeL9Ug 5/fjmDEPoITuXuUJnljMdZz7ed7bIfh+/O5mlCfInMq2mUV+DcT0tQF0mMkCnGW7 ronSiw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430016; x=1784034816; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Nn0ZFvqwGfAjXlB7cNAQsa1JNM0B+5KYgoQ2c8C3Zhs=; b=S49GtZvfmM8lPp1gLlnZfsKBS29sVZXly8dK3v5xRGb09cPke7jnqUsb3UiQFcXsSM UOFjWa9R3ZHJ0d2FkWgfCcSVk20W0QCzD5NVEKihg9tI5JpAx9SEXvYVVn2JX1W0cBBh TaKZlSD14BoxWUuAX2F0pIdJNLgblwjmfN3jYmNKGCA4No0QiJTbnYWOXJGQOrauT77a uGrEZp+KHzSDWaKd0MgkBuXqEhand+SFy6rnK7PDDf3mQlRihUDGUAYo7jxKoBtGZMMu g52gUsmPlP2BEiI9MtCw9U9ZLGBGDyzL6w3jvhwzF8tyBdnAhbMbWitzdQBeBBDOUdJV sd0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430016; x=1784034816; h=content-transfer-encoding:content-type: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 :content-type; bh=Nn0ZFvqwGfAjXlB7cNAQsa1JNM0B+5KYgoQ2c8C3Zhs=; b=K3glJYy0HPs+9SvOeMOLHCyNWWL3FZthxuJ6J5AMyI39C/4YceRTf1iZMWojNoZ9s6 tOSojkMl+HH99AnSOhMFeCWsW19TDkU3kKzCjWXvtqwMYRkICmRVt3NbGqpNi1fyf/6v flupyA3J0PWZhA1gW7fOtNZH+/DYNRt1ElCJi5hLA4JnBSvDqB1OzsZdbIDqg9CQNzTw 412K5IskdLsvLt4ngKnyYW85rqdGQXe6Pk4VTMjFOg22hWbqZGVfOBgjLwNNSdJvjrUY mi8EaSvqveAJbNhumX4pRUJGZynnNkgylkn+hCMC1dEpn/Qgi2E9ASvUYKQvz/b898av nAtA== X-Gm-Message-State: AOJu0YwOgwKNXnGGjXOrukAtwr5i3agHXR52ioZFn6l69ff3Y28opNFl hRYHoMn40qtURZOl12qWg6TYbcw5rVySuczIoIh7v6wLqQ2jRy7aA0wNsZcNnejTedKf1OVIzhY OtUx19F0/dEjParkK5TXFcWEIPzrN5W0YvzCujQ/akd916gg0jAB/itesKdM5yGDfpA== X-Gm-Gg: AfdE7cmoJmSmkNUGqP7AbUqUxLQ4//vC6kx7U2q8OGZX5xqAmohHt0NIMKmK9F+nlMT Obkf4457D/nesdas6qhE8K+D6mBIJNY8R9AEByoT3TbqTdxkXBuhOFwAx+6WesMvsuCt7dKxxyK oAywsu3n/9/i3UjDGX9NcYdC12JpgCtaNsRa4ZSDnlyPm1Sfi17lqI2H5kdJn8Ujduj0WQfIFBo ze9pQIMGJGHvYSyj66r/NdE9uuMn0Hkxu6KthLbiVOkafMhWRHap4pLZCSnrMr2JTEtCdwt4qSS o8SI+ZnFTL5Rmv0WWH0+n9Hn/RSBzluItfw7iWtmuXVZ8L4G1QiuCNI9uXr1TybyiHjSLRnGpXI Kb9Qi/ayuyBruc2re8rLAPquQhZW1BXLBjSknRoh0kjsWBKlM+f8jucrtTxXI245FjZhp X-Received: by 2002:a05:622a:4c:b0:51c:7b12:1211 with SMTP id d75a77b69052e-51c7b1217femr22933631cf.79.1783430016403; Tue, 07 Jul 2026 06:13:36 -0700 (PDT) X-Received: by 2002:a05:622a:4c:b0:51c:7b12:1211 with SMTP id d75a77b69052e-51c7b1217femr22933001cf.79.1783430015574; Tue, 07 Jul 2026 06:13:35 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 10/32] hw/dma/i8257: Return zeroes for read_memory in verify mode Date: Tue, 7 Jul 2026 15:12:00 +0200 Message-ID: <20260707131223.51505-11-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: DGk9e0vwTCBAOUE4jxD_1yONULxkdYJe X-Proofpoint-ORIG-GUID: DGk9e0vwTCBAOUE4jxD_1yONULxkdYJe X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX4NhOUuiHDtq4 Ql4eJalVXZecG/A5Js+BVUSxsNqhfVZf6kXFhRifC1TAjBrbVMZG+FMQJUzUh/JchEccNjrfRhi 2gTsfX7vA9myccPucJMjSceV0Ivbccc= X-Authority-Analysis: v=2.4 cv=b9yCJNGx c=1 sm=1 tr=0 ts=6a4cfb81 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=p0WdMEafAAAA:8 a=KKAkSRfTAAAA:8 a=69wJf7TsAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=JfxaGNaL9TNl3oK2404A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 a=Fg1AiH1G6rFz08G2ETeA:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXxVs0wbSK9MYH G9cFayS7UFSwb+oHrUBQW8X4KXIgGWzfSlArAsPh0OWe+nfyrF7k6EZl0MW0OMhKXrEfQAoqv8C iAtMjQqIJAh/e0kxTTGl26lCE4E0gUYTxD7fYJ5C8+foj536mRkntkkFNxXZWY6Xo8vPb8rgqlt Yd2AgaGNw+hHKt76sXN6SxoEGdpYtDbPDAAZm/l1dLPDdpf8LwbayYZVQqzuyjsu9MOwIFgvZPR tiNmXsqF5qApv388IMiG9ejTfBj+WzaTyGppftsM08BZLysIKwOWdUcX3/D0gIi1LjWuPYsqrUs TDDSqLCUcpsmm8vuRwuf4xueDyrMvNxh4YsldI8CiYTcM5ORcqzmLp9vYwxDbShFcs+qU0aaOWe 4yqG0FLRHciqwfhIws3AEm+owWu+Ab1u827imhM+qoUl5Bmy9Z7TQwDgv9wznruSD2NPeKSvb3W wFxIXHBcM0R7YVG+x1Q== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 priorityscore=1501 adultscore=0 malwarescore=0 bulkscore=0 spamscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430076376158501 From: Peter Maydell The i8257 DMA controller has a "verify" mode, which the datasheet describes like this: > DMA verify, which does not actually involve the transfer of data. > When an 8257 channel is in the DMA verify mode, it will respond the > same as described for transfer operations, except that no memory or > I/O read/write control signals will be generated. When an 8257 > channel is in the DMA verify mode, it will respond the same as > described for transfer operations, except that no memory or I/O read > /write control signals will be generated, thus preventing the > transfer of data. The 8257, however, will gain control of the system > bus and will acknowledge the peripheral's DMA request for each DMA > cycle. The perihperal can use these acknowledge signals to enable an > internal access of each byte of a data block in order to execute some > verification procedure, such as the accumulation of a CRC check word. In practice, for QEMU's purposes the only real user of this is the floppy controller, which can be made to perform a "read data from floppy disk and check the checksum" by telling the fdc to do a read and the DMA controller to do a verify. This causes the fdc to do all the usual read actions including the checksum, but the data is never written to memory. However, it is possible for a guest doing something silly to program the DMA controller to do a verify operation for a device that wants to read from memory. Currently we simply return early from i8257_dma_read_memory() without writing to the buffer. None of the callers (the GUS, sb16 and cs4231a sound cards, plus the fdc) expect this, so they will take the uninitialized data as if it were from the guest. This can cause us to leak host data off the stack into the guest. Make i8257_dma_read_memory() fill the buffer with zeroes rather than leaving it untouched for a verify operation. Cc: qemu-stable@nongnu.org Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3487 Signed-off-by: Peter Maydell Reviewed-by: Daniel P. Berrang=C3=A9 Message-ID: <20260629140128.1900095-1-peter.maydell@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/dma/i8257.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hw/dma/i8257.c b/hw/dma/i8257.c index 7d7e5434275..57715498895 100644 --- a/hw/dma/i8257.c +++ b/hw/dma/i8257.c @@ -408,6 +408,19 @@ static int i8257_dma_read_memory(IsaDma *obj, int ncha= n, void *buf, int pos, hwaddr addr =3D ((r->pageh & 0x7f) << 24) | (r->page << 16) | r->now[A= DDR]; =20 if (i8257_is_verify_transfer(r)) { + /* + * If the device is expecting this verify operation then + * it won't care about the nonexistent data. But if it + * is expecting a real read (i.e. the guest has misprogrammed + * the DMA controller and the device) it's going to try to do + * something with the buffer contents. Give it zeroes. + * (It's not clear whether this is exactly what happens if + * you do this on real hardware. In practice no device QEMU + * emulates has a use for verify on a memory-read transfer, + * so we don't care beyond avoiding the guest being able to + * trigger the caller reading uninitialized data.) + */ + memset(buf, 0, len); return len; } =20 --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430077; cv=none; d=zohomail.com; s=zohoarc; b=QNHegiOHobwrxHM+n7gkJTf+o6tN3dKKLv3n8I2l/fYiJHPxpPhXtoUZyCXm47jA9c2n59pFZ1PA4VGd44dOZ5kzBmL59ia8nKAbEoQCReIxqACCD7Cdpik3FnEA3tMA0v0j7y4Avec+6z5WieNNKxYF1J/C104qE+Jhw9FK+P0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430077; 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=Gqx3pTa8d74O/aUOvJClkkM0PH73BWXonrGG6zGJlxI=; b=BmzNMS6kbXFBahbciH8kDRml5n63rIAwjYsNi6al7YHsrlOwj9dn3y3/UJQOpyRBiDEMEbuQhvVfnbKIbNzVAdPsSCXCvc63azPnHe1xCsh0criA8HXf06mR0h5Ct2zLf7DLI7KnZKl3wnUVlrf0kvIo3PUdPOEzvwy3xh/5ahw= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430077979335.7611848275226; Tue, 7 Jul 2026 06:14:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5d0-0002Jz-2S; Tue, 07 Jul 2026 09:14:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5cX-00021n-Ef for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:01 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5cT-0000Uh-TB for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:52 -0400 Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8hlx3616652 for ; Tue, 7 Jul 2026 13:13:46 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8vun1dhm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:13:45 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c2af04aeeso8374021cf.0 for ; Tue, 07 Jul 2026 06:13:45 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ad9b9ea4sm134603166b.38.2026.07.07.06.13.41 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:13:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Gqx3pTa8d74O/aUOvJClkkM0PH73BWXonrGG6zGJlxI=; b=gtEDtG5+HUnEStNr irjhGw0BG5FRfRDM0i32VgT6ziJScT/Br0q5BLLRcKMpDTcIFHc6zbBf+lareiu/ +j6NDQLcSeoEF6ozOpHFMV9NQBvG9cDPmIRAE7JAWnd5dfPwlWt/8Zu4VKBQNHk9 U+i/0lMNDsm1AZxXATBSDGEae3TlafNNT3HoaC98Pk3CHllfkElbXBm+xG73x3Hv sf3ssu5EjU6/nzq16yejrN+5TLN1sRBHrtwG2xpOkvX0cQyts05JlqMxWzf7pwrR Q8JPYI8k5EkdCM0cOkunbiC84Lf1REPjTEmxQXXyTea2T9202Uc8He/RFEWpbfNa UYIEHQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430025; x=1784034825; 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=Gqx3pTa8d74O/aUOvJClkkM0PH73BWXonrGG6zGJlxI=; b=K00aYpOMULEQPqvwwDiZm/RE00g9D01h3PkWYY4GaNeYWAz3hRu93wWxGYjUeeR6WC Es+lUli8OKt8u9lRvlNFd1vJo7Kpn4huYbBxwIdCC+mooYpkUh1RMxkWFnmX+5AivULF oVq1Y8Cqqi84lGRV5iBDm6QNmjqkloiBKj+DUYy/gKnfQOj32RUPL/j8A56AxDdsm6Mu OSzamhv+dTqSTbjxlYijVn4h038lsTfEI7Zw2TtrieMjtRB2Wj+UmhgPyQUXiqFQfewl Wo1X2wYNGUtKxJ23fIDrpmyVGnTZF7CL0qfUNIkQNDDhWs0p7Q/NQVQGgX2yHDUpNDk/ YMRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430025; x=1784034825; 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=Gqx3pTa8d74O/aUOvJClkkM0PH73BWXonrGG6zGJlxI=; b=B4/7kTpEyC5D6ozwutW8EnIlGZoUTUU0cpupOyFPr/hE84gMk/38ut1P9csMKWYRNu MNQMPQ3m2gEMIDOf8MI9JG4K9eJarERm4DdVh4Unn9SlNgUyqlSJHAlY6qmCxWYlVARJ fzYZA7D6pmBV3TRjDtPYm9EjpOmV26aoOe+HGhMQe7UY0g7oQk6ekobveKzcCSDKjOc1 1I8WSqacL1sEeqVWMDHPrZ/OeZiGrZGLzYXLUV+nzwC6vq0WwD7gPgf23SrQ4fVTJZPR Vsl8P/x6DWLZbkNLCC5oZVnMWZjmrvxiLBTvjsyB1v8heDSTqUOrwlQEuqQl/EgCb4v6 iQ5Q== X-Gm-Message-State: AOJu0YwWOpAD+bNFHWGHBBMKWhaogs5C/D7FuOlCMxpybLpaRE9tXlwY u16quqhaVvyAmlWY+mQv/TYQepTJtWwK4PPhme7tA05NmKMH3PjEmgfeVm9zaNpxZEOmZGgDgY3 mD8yNTKDA54ZbI2RyuvhDIu3ik6l+CFG5D6s0sDqW7SWp/f4KSU1Kbv24VlP46YvENA== X-Gm-Gg: AfdE7cken4pjLmBZMjTwOuGeAgD8vKXufsTr8T7fCIgwPEqiwL7EvVk3QaU9JU+BGqJ yxGyXo5+YErwq6RBTIp0efjsDTSZBmL4mm0EYlsb3S4NkcrpQ32OMT8JaK5+MnaT3g0ajzYClUS 8XtGsegU4F8F0k5CdpcxZOEqg0UukkUk8Q+Te2n84WsYSNi1rx2t/8Tbg584PVxyQSfyxwvEnu7 P47EnfKTGLq9d0TwnT8yXvlUVoCAYkf2atnlngVnm7DyRgPn4oYM/jYHckLEYAdb0ZroMEyWqV/ ZtMAAJQ2d+b6koTLT84K5x69x4Kp3DD04VSyXS/xSG4oysknTtwXpEFHPnMCldogBfIaYqqQQbE GTsDGQ6yunB0QxR5b9aAyniH8roQ8X0ZnWj6RbJz5rwAYGZmuKxrXhRBz4b6Ofm5HPreC X-Received: by 2002:a05:622a:1e1b:b0:517:c65c:4987 with SMTP id d75a77b69052e-51c7a751ab6mr25609171cf.22.1783430023588; Tue, 07 Jul 2026 06:13:43 -0700 (PDT) X-Received: by 2002:a05:622a:1e1b:b0:517:c65c:4987 with SMTP id d75a77b69052e-51c7a751ab6mr25608721cf.22.1783430023023; Tue, 07 Jul 2026 06:13:43 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 11/32] hw/net: fix e1000e/igb ip_len inflation by Ethernet minimum-frame padding Date: Tue, 7 Jul 2026 15:12:01 +0200 Message-ID: <20260707131223.51505-12-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX9yfjzSWc14Xv pdON72LPGPIerZH9ILXKU95sDs6Ya0efIU5WL9NB8NdvKmVSmqClZMPIYmqloMlpYxYJmNf10Wu IvVicyobL5OD7121Tefng4ti/m/tjqg= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX3FI68ZwfKK0w kBGx1GYbE6ZHnQ7KMYAltvV6tMVOpfYLS81QyDL2TdVHdyLR/zucI7WD7foHhPa2wxfNNbjoRCG N5BW+ETfOknlOrvsnDz/j12XZFN8tl57D0VLd8hMzNn/pHNuykm6AE++GGG/ygb4T9mDQA35xnA mpz1+9mi1P1kVApSV2B/Q4jeeBEkxXw4fSyQV7LDVwdLd+05X28EWHriWlpuShvKL3yXLNiCA0S pT3NfFnTN0k0XRV84KssjTEBbwCazb/OSikCbOyI0EfX9fu/ZeTc6vtR4ZbGQkSRzEBVuHgMdw8 NQqGuWy/AhUtx0Rno3yLFKHcrGWXix9+YjwpiCjAFauVFYHhouQQY/iqONK8hUR5JzBfSTW76SA 8E43Fi1VVeWzPQrUWxjPlt5FxHzXStJ5q+1luY9zinApUtv1TuX5wCCmwsNImoD2U3mVC71EG4e D8FtSeID5Z9DZGVjuSQ== X-Proofpoint-GUID: OHKF0dY1kibtlnJEfTUnHdzxPKVC8wCL X-Authority-Analysis: v=2.4 cv=N+IZ0W9B c=1 sm=1 tr=0 ts=6a4cfb89 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=-DT0iAkgnNDEg5C8mEQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: OHKF0dY1kibtlnJEfTUnHdzxPKVC8wCL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 priorityscore=1501 clxscore=1015 adultscore=0 bulkscore=0 suspectscore=0 impostorscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430080173158500 From: Sanjeeva Yerrapureddy When a guest transmits a short Ethernet frame, iov_size() returns the padded wire length including any bytes added to reach the Ethernet minimum frame size of 60 bytes. net_tx_pkt_rebuild_payload() uses this inflated size as payload_len. net_tx_pkt_update_ip_hdr_checksum() then overwrites the IPv4 Total Length field with payload_len + l3_hdr_len, inflating it by the padding. The receiver interprets Ethernet padding as IP payload, producing a malformed packet. Fix by removing the ip_len write from net_tx_pkt_update_ip_hdr_checksum() so it only recomputes the checksum, and moving the ip_len assignment into net_tx_pkt_update_ip_checksums() where it is only performed for TSO (where ip_len must be derived from payload_len since the guest sets ip_len=3D0 per Intel 82574 datasheet =C2=A77.3.4 for super-packets the host will segment). Both e1000e and igb already call net_tx_pkt_update_ip_hdr_checksum() from their IXSM paths, so both are corrected by this single common- layer change. Signed-off-by: Sanjeeva Yerrapureddy Reivewed-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260629-net-tx-pkt-ip-length-padding-v5-1-16760e30252e@gmail.= com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/net/net_tx_pkt.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/hw/net/net_tx_pkt.c b/hw/net/net_tx_pkt.c index 903238dca24..b134348fe80 100644 --- a/hw/net/net_tx_pkt.c +++ b/hw/net/net_tx_pkt.c @@ -93,9 +93,6 @@ void net_tx_pkt_update_ip_hdr_checksum(struct NetTxPkt *p= kt) uint16_t csum; assert(pkt); =20 - pkt->l3_hdr.ip.ip_len =3D cpu_to_be16(pkt->payload_len + - pkt->vec[NET_TX_PKT_L3HDR_FRAG].iov_len); - pkt->l3_hdr.ip.ip_sum =3D 0; csum =3D net_raw_checksum(pkt->l3_hdr.octets, pkt->vec[NET_TX_PKT_L3HDR_FRAG].iov_len); @@ -117,7 +114,9 @@ void net_tx_pkt_update_ip_checksums(struct NetTxPkt *pk= t) =20 if (gso_type =3D=3D VIRTIO_NET_HDR_GSO_TCPV4 || gso_type =3D=3D VIRTIO_NET_HDR_GSO_UDP) { - /* Calculate IP header checksum */ + /* Set ip_len and calculate IP header checksum */ + pkt->l3_hdr.ip.ip_len =3D cpu_to_be16(pkt->payload_len + + pkt->vec[NET_TX_PKT_L3HDR_FRAG].iov_len); net_tx_pkt_update_ip_hdr_checksum(pkt); =20 /* Calculate IP pseudo header checksum */ --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430261; cv=none; d=zohomail.com; s=zohoarc; b=DG0MooIdrW2gVd/PIK0ur11mNsw0XjYSpJDpad7TXliJYgPx2GzlYIcbhHAxYgwYRfdahKWkJk2x009ayI/ZU5F1ZHxAogg1ByABbfJxeNSWVsWSNFW9SwSlY1QjxICWnOgGlCHFei0JIhxS1zi8iVR57cBavjvrTSxsc4otbLo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430261; 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=9/xwOjdWaWLOj5FkMnw9lCn2viCsRQ9OPALqKHUIsjE=; b=Ayonj2rlNzkaee5caPuoBNn32IuZaGE3LQKogRbOppdzloza/4rna2Tnni5Zg6H2KTC2zPeTJkXWMhjOm3No27VqYqKTWivhAbOV0b6XVWXUQ139S7HIoz0kKTtHl329i7MUXfUS5UjHCAfs3haFT3HtBvlXxgAkiEgPbIqOypk= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430261888595.6782947779288; Tue, 7 Jul 2026 06:17:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eS-0004FS-4j; Tue, 07 Jul 2026 09:15:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5cb-00022D-5T for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:02 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5cY-0000VG-UC for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:13:56 -0400 Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8egm3606093 for ; Tue, 7 Jul 2026 13:13:52 GMT Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8sm8j4fk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:13:52 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c0d6a2f4cso46960471cf.3 for ; Tue, 07 Jul 2026 06:13:51 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ad8839c3sm135707066b.27.2026.07.07.06.13.49 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:13:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 9/xwOjdWaWLOj5FkMnw9lCn2viCsRQ9OPALqKHUIsjE=; b=DnB83yPjGbpAjm8E vGHjN6z5vP+DheCsZt4IT2LB/4TmutudGUj+Ox+AlAQoWtzN7jUGttaaQrUyXP60 stHTLs3eQW93QFn4h8BivvKHILqnB8Kt4uvQhbPZVxF0ubeTMUd3D37X3lHKmG/e C6nujFwFO2TR8xg/aJNG6I/3OptFgj1QC3G7Z6pvmfIrk+H+ufwhy1mZ1PHeDWjj pLt+f5YFkzJKIrr1fCJBcwkWqmqFliUZDLrSDI9uRCQM+TP+GtrKHZ2gz2RMc9eR qgxRf3INthxgipNNsal3KgK62hlyunD5nGryxvQEZMY7QoBeQBLTc9tXmsyzbSP5 gA7dZA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430031; x=1784034831; 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=9/xwOjdWaWLOj5FkMnw9lCn2viCsRQ9OPALqKHUIsjE=; b=evjirTtvPMXx8fk/Eqa7CLSeFfu0IC/XxtS5IaCkl26uoVo8mvWYB39gx/f7iNL0+l pZmHYiO8fyuYPBfCTPglGfyF/XRHaUTei18fuBfP39A+NhnvqtVKf/uPb15+xLkDl9w8 XN+3foFDzoKs/idSeCiM4ztkTex/Xyuj/EOTwQKivNw/2kmMckJrhKaQkMilS+kd83Ry 29WzCNfPxWn41LCiOQ0gFbHWlrY3Wc0BQvS3Sg6cxf3j36VyZyq/pZ8hhWxyFWOQvQau qhOndS3zZg6ljZypOvXcAART0S0Hy6IpwKE+JzXo9RRdMcrIV8WkvCLxbkgIDMDoGjJJ h04g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430031; x=1784034831; 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=9/xwOjdWaWLOj5FkMnw9lCn2viCsRQ9OPALqKHUIsjE=; b=PeNGSH563/+VwXTIFDznp2R35jJzsmi7YnfPp4qFYfLp0hK6HiHgvHm9ld00z+vH4C M9Mvag9FmKw9n7F/62bAH9evD/N/FUPTmgATM4H27mQX1UtQlZT/+la0zF1WOCgInV9y M1nv/bdM5ZgEtHYCKl59hC+b7vh6jXmmTzg3OV2QKgkLnRnC3ASyPwCyTjREHrkpmvzm 0p8LXb9LLQyeYK19Ww4JdXbpUjszqNmq7kukhSuyfPQy0eCXWgdxfA08pQ8oPGwKYe77 UCqv0YnqiheJfygKm5MzMbz6aciySRILy+lsaGRPP5tQqq9LxAyL5FCqq35bYHj02hSc HVTA== X-Gm-Message-State: AOJu0YxLeg8tGkQAdMFS1TWzHWPzgcpEwKCnWuHdjhAa5c9usVJXyKoX vzipSNjq5KvPcR01e3cem1LopiXiotXnCik/LSbMak5r9JH9G14flMan4Knq+ZoYF1YH4+FQ4IT PfznYus8uIKnyzA2fGEtw8n3wlj0y5qqYkyxwQBblq8Of/wJjcC3zdYacf+7Ay1cHBA== X-Gm-Gg: AfdE7cmReAKiLBKRwes3vG7OVNvWAcu+nfDg8FFnAPEmp/8KI62Fx2SQ9gmrBbV+alK H0LM5EdY4hbFg5SIIIkRky+8yGrEd6vYXghnohcN4pCAeN7t1zSMFgsPMFUHqt5Tgf44W4JOxvv 4VSvThqtinKFJG4937rrs0Rgqyn60FCQ2vI7M3SaD7cmB1XEX54jYfA2HGeCobxXZYWkQ5/jBz8 RLXLohBpF5hypDgmVYZI+AdStlQJqi+59Em1T5jx2rdyOlnRn98cB5allqWyG3NQKIQExibqtba 3wT6M9MLfd7tETDC889c8/9XY+sdbbN7mYizL7tfwoH41+ANJd8mNUHl+KlvzDM5Kgk1xdi0s/4 HT3bEf/ghlM84ww70LyoYieoj8lGcGrqTh2FUjX7msQjTAk579FrxPelqMMX1rbAQA5Rv X-Received: by 2002:ac8:59d1:0:b0:51c:478:32a1 with SMTP id d75a77b69052e-51c747e5dd8mr59290881cf.18.1783430030855; Tue, 07 Jul 2026 06:13:50 -0700 (PDT) X-Received: by 2002:ac8:59d1:0:b0:51c:478:32a1 with SMTP id d75a77b69052e-51c747e5dd8mr59290071cf.18.1783430030051; Tue, 07 Jul 2026 06:13:50 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 12/32] hw/scsi/mptsas: Reset doorbell state on reset Date: Tue, 7 Jul 2026 15:12:02 +0200 Message-ID: <20260707131223.51505-13-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX14ilVynOgeEn GOnadeS4q0DCc5hTJt1TUpiKTpBY3ZUtOeqGpxdffx2ahQJHT81ce/7g4uaLdvm4HTpFN0FCmjD 4A0i8qb5ka4k207n3ZXLFhG/NrSsCwnwLkWwOA1Y1I6KZmH1B0K1z36JOd5CGXmZnWzm1H/HI06 g+IC+xTCkZs+IOAqQfP5GfZL3MJ3Qmp2e8gOjT2COh1ifM4BFb3MVCu76B2Cwuc9ix3Qhov4VfG AazaxK2dvAaELTOf0JaBveHC1drH4+V84neFWwvTfi2M86thSpRPCEfkNtSYh0xfAPbSpGTqNhG mpV8OLvLrbX+j9kPjCxDFQ40ob2Cx4SWlGy/DG+TdFJUP6nSX8rWt2kd/KNnfHzkplfcVvjE8C4 nJ7zO4cRC1ym4C/ZWRP8eH6WmF9+kll3AoqtDaYsTIwrAXh7g2wv9qh5+oQpFVSk+mEBBLMX6Ho xGPJfMgRo57qVUaHeHg== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX0Pdv36/FnrMA cpAevSGTZlIa+QX5fQEYH5bb0rxaA9v+CjtZo2iPtSpiw/45U2uJi225vK+Oe7w0HmGoOSlWB/t 9Sdh1ZIV1XFI1rfkjbGs2Q4kpr+F8H4= X-Proofpoint-GUID: 4mf4yYyGcRfFalIVa1h1HhSLlic8ZYt- X-Authority-Analysis: v=2.4 cv=UvdT8ewB c=1 sm=1 tr=0 ts=6a4cfb90 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=p0WdMEafAAAA:8 a=KKAkSRfTAAAA:8 a=69wJf7TsAAAA:8 a=EUspDBNiAAAA:8 a=JFHzIf4ehS6O5uydGUYA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 a=Fg1AiH1G6rFz08G2ETeA:22 X-Proofpoint-ORIG-GUID: 4mf4yYyGcRfFalIVa1h1HhSLlic8ZYt- X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 malwarescore=0 bulkscore=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430263979158500 From: Peter Maydell Currently the mptsas reset function clears intr_status, but it doesn't reset the doorbell state machine. This means that the state machine and the interrupt state get out of sync, and the guest can trigger an assertion failure in mptsas_doorbell_read() where s->doorbell_state is still DOORBELL_READ but s->intr_status does not have MPI_HIS_DOORBELL_INTERRUPT set. Fix this by having reset also reset the doorbell state. Strictly speaking we don't need to also clear doorbell_reply_idx and doorbell_reply_size, because those are only read when in DOORBELL_READ state, and the code always sets them up before transitioning into that state. But it's less confusing to clear them out on reset. Cc: qemu-stable@nongnu.org Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/304 Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260629185035.2138238-1-peter.maydell@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/scsi/mptsas.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/scsi/mptsas.c b/hw/scsi/mptsas.c index e4a7b2fee4a..5df124c0ce5 100644 --- a/hw/scsi/mptsas.c +++ b/hw/scsi/mptsas.c @@ -811,6 +811,10 @@ static void mptsas_soft_reset(MPTSASState *s) s->intr_status =3D 0; s->intr_mask =3D save_mask; =20 + s->doorbell_state =3D DOORBELL_NONE; + s->doorbell_reply_idx =3D 0; + s->doorbell_reply_size =3D 0; + s->reply_free_tail =3D 0; s->reply_free_head =3D 0; s->reply_post_tail =3D 0; --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430167; cv=none; d=zohomail.com; s=zohoarc; b=Du64V54s8P3lRHVgMlqF9ZmysDj2dTlc6tICJr+/Qh5MXTk7tjPZrk41M5HykrqFbG60rjbGfmHwDwRI4McKJqXfQrF2MG59Pv2PEVOFmMCPEeVV1GnDY8fLNRGMbLq1PBG0Gzkmn3sDrmdF5wkT6rdPjJz2YtNAed7s0C35VVs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430167; 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=RQh/W1tZuVZLWeiduVP+SBt30t3Myjf8tP8MaEC5ijY=; b=ZvFV/8s1t+QG2fMtDMdy9KPFb0T3bmzHuuIqGqNdzyXcnmWwmqeER98WM6VQYCNyANEEKal21+Yh6lS4ccXiIOS20KwvT7e7RuqpBYUgA+iOzS+546fLsbWc/X3g9040SeQqxWFoEW4LZcDQB0let4eHdG+oQRpqaYazPpdPqmo= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430167503132.76060145536758; Tue, 7 Jul 2026 06:16:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eM-0003rK-Er; Tue, 07 Jul 2026 09:15:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5cg-00028F-MX for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:02 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5ce-0000Vj-GB for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:02 -0400 Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8bQh3783420 for ; Tue, 7 Jul 2026 13:13:59 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8w11sbnu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:13:58 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c1d137a68so98704411cf.3 for ; Tue, 07 Jul 2026 06:13:58 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ada023acsm135108166b.54.2026.07.07.06.13.56 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:13:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= RQh/W1tZuVZLWeiduVP+SBt30t3Myjf8tP8MaEC5ijY=; b=gB5hLw5KcWC4gSL7 HcgDLrNPtTOuj4Xb8FOhRuSwyEs0p9M5ZPpMYI2TTkUg2COe2faGEpgFTpLx/CbX g8GmTt4v60tSDiE2yrH5Z4/6WBUNz3veEB2AE7dbGso57QqN45ZAKy3cW4KO6Sik o2ErywRUggYw9TkWRyb7o6pMBeyMo+Yu5EW1gUKHSOa67v6BljgAtxsrm5mjaAKN uyjQx7eHoNrGR5PZarXJ81NctBnvIy8VY64yQqfJXHTc2rGfBPGOzPANxK26pv79 z1nHSmz41BZx2rrSvrBbpFJXvHpT3dLjHxJFDemI0HoVZkZlSkADESPmiLZ7vEqr negmUw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430038; x=1784034838; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=RQh/W1tZuVZLWeiduVP+SBt30t3Myjf8tP8MaEC5ijY=; b=W/uNz3zqZXUsB5VqxuGCuYQh3ELMURLkVbvLA7KvA5c7Krg0tLlOGfNsOe3Wprrzu/ e4bftwt1BY1+PHKak5n75k/1bZmiEt4Pw0dv96J9l89U1E9mHbjqpIVHvSQPBtihi7Cn SO953LwBqkfQR/SO1RGidexfxrKTWTuzifKo9doFWclgIP7XlnAHhvAbfRG6KzDbqajr PF3nM0/sIHwAwqmKfuzG0rVZ0FSIAfSpwu89Mc9ZDzoqZGFdCUez0nbBUgsj433yqMtL iPvlgjfNKAP+s4hd7EJfP+xoayxaIGlIESPCIbERhxVMkY5BDPlN4cj4OBYAddZc6KRo QsBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430038; x=1784034838; h=content-transfer-encoding:content-type: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 :content-type; bh=RQh/W1tZuVZLWeiduVP+SBt30t3Myjf8tP8MaEC5ijY=; b=WVGEVPQ6xTApq9Xr4WlKAumj/vIZiF+6ifgPrrzcu0cbkfF/yJ2l3bTvmuET6yJjnM WqF1xCIZJy73eIfdJQazwAlhrZY1JhrT1BWKzslUbfHsaHmNznwDcseDCtHN0Rc9EEAo hEaKweNf+WAEEf2Tf+5o661orQqhzC8APyPqkSmKoBzbUch8yzmiOJvzsvt0x3KraX3A JH3FIB3E3Ryp01T/RsmcSNnti+SCl8VlSpGep/xmv6r0KV96PIVmfDtKhrdKHO7qoAZf KpDeH1fa5pLMgSD5pAJ0orU4ffi9VMTXMii18jyGy//+3toza9fyTG0G2/d0gLnG2a9G YeTg== X-Gm-Message-State: AOJu0YzqgRN9L+4bvrGM2SSIwG/cceZSsqpVFMLXUFCltuMlUP9trvFg BuXuvFhHnDdY2EN8xt9MmGbDyLSdhj6SVLUek1R3kE4ZyZYpgs3J8wGxVq3aeIXDZ4QCRJQzxKq 9pdRqFyBtiofOp68ecJmsJhBEWaBUxzx7qJj+aLVihb2bUJQBRsbJrjni1rsQswaLWg== X-Gm-Gg: AfdE7cnkxb+aImeWdOMa+4iBGEt6A+qBhpTtLKXGC4cz46iZmO0EB8Dn7D3hlCUpJAw JlukTbX0P02ZLjNqCsanKM6nIFibOd7l2uRupIsMMMc07pmFqGQyPZSBb7SmJhqLrSzfqVqimUI 3TF+mfZUoU97UQj0w+ydmKmcB7T4x8PBR9nnGpdtGizf5Fnj+SOVYsa1Qds7GjK1SUVgcL/+zGG gKR9xC0ec3DsinnM6+R6DXuPeBsC5v8RlO5BjtdJl4eJTVjazFbdK+PKbWkhNFysfaGkR9R1Lqr 49AgY6LQeks5ITSdagnAqPRPMreF/WvUtFn36HAqVJN+s3yzXY8E2G0+kQns5ppIXTJal1U+9Vh vwmL76th2mgDrQ6Tod2GyZK7kjhtXcTYFK1gNxEkVRtY3UiDh50pC12K/naVKoAZfiZHe X-Received: by 2002:ac8:7fce:0:b0:51a:896c:9abc with SMTP id d75a77b69052e-51c747d762dmr53201951cf.30.1783430037730; Tue, 07 Jul 2026 06:13:57 -0700 (PDT) X-Received: by 2002:ac8:7fce:0:b0:51a:896c:9abc with SMTP id d75a77b69052e-51c747d762dmr53201501cf.30.1783430037264; Tue, 07 Jul 2026 06:13:57 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 13/32] hw/hyperv: Avoid crash if hyperv_find_cpu() passed invalid vp_index Date: Tue, 7 Jul 2026 15:12:03 +0200 Message-ID: <20260707131223.51505-14-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=DMe/JSNb c=1 sm=1 tr=0 ts=6a4cfb96 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=p0WdMEafAAAA:8 a=KKAkSRfTAAAA:8 a=yPCof4ZbAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=HphOO7avrm-i6LmdoIMA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: RsnIOA671stoUbaNQOg9aZVo-Vzy57iA X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX5L2RWmHY7vRb kd1VimxCBfoX5nmnC/1DW3sa4Qn1WRV1QmoJN3ZOWpxr3o5h3P+sROE11H5JUe4wD1gWlNWhmpT yW9CJGdADJFUhLYQIL++coxgPamv4ic= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX4ZwJ4UWcp+/N y6J7QFndADpRbTTCGs3rVdckov8QA3i8qfqVUy1Ved5ZTMlobsx93BYCESw6piefWuevT2Ci+Qn bvSlpbAgEUFGDY0a+6AQDQd1zhuni7zcwEA8OhNq++dJUQJKP6SAx6kd6CEZEPSnxHOiTRutEqp OjPJLCDWrhpT0qbF8YEzMkuAv5x+Jo31rYhHduFNa8mqRDawGqMOAbD3sGjIKYPWuk5n+ui5VsP SdkT0pft4ir3LqHGDE7iB/70AhE/vUVt/B1fzeY9gjAmKxzM+Pn6bhvA/0Nui9dShAO5GlRxFiZ TfevBcMWp1rIlSy8B/rDKxFgSVq708vl2oouw/nNZEZpe75mw+Abg3ke9Nt/iHzWVHcWQKqpuCn tme9mtHkM5VUYYfT/rrxY2ly3MjgikWDb5fKrGcdc51hVesJNJjGSg+IfLLhz00iU2USyyES0tf RD4dbTgxoBvF57AS7TQ== X-Proofpoint-ORIG-GUID: RsnIOA671stoUbaNQOg9aZVo-Vzy57iA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 impostorscore=0 suspectscore=0 phishscore=0 clxscore=1015 spamscore=0 priorityscore=1501 bulkscore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430169110158500 From: Peter Maydell The hyperv_find_cpu() function finds a CPU from a CPU index; this is basically a wrapper around qemu_get_cpu(). It is allowed to fail, in which case it returns NULL, which its caller handles. However, it includes an assertion check which accidentally assumes the CPU pointer is non-NULL. We could assert only if cs !=3D NULL, but the assertion here is not doing anything interesting -- hyperv_vp_index() is a trivial wrapper returning cs->cpu_index, so this is effectively asserting that qemu_get_cpu() did what it claims to do, i.e. returned us the CPU matching the index we gave it. qemu_get_cpu() is a simple "iterate through list and find matching CPU" which is unlikely to be buggy, and we don't feel the need to sanity-check it in any of our other many uses of it. Drop the assertion entirely. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3568 Signed-off-by: Peter Maydell Acked-by: Maciej S. Szmigiero Reviewed-by: Daniel P. Berrang=C3=A9 Message-ID: <20260630084855.2319838-1-peter.maydell@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/hyperv/hyperv.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hw/hyperv/hyperv.c b/hw/hyperv/hyperv.c index 4d900327857..900ff80213d 100644 --- a/hw/hyperv/hyperv.c +++ b/hw/hyperv/hyperv.c @@ -237,9 +237,7 @@ struct HvSintRoute { =20 static CPUState *hyperv_find_vcpu(uint32_t vp_index) { - CPUState *cs =3D qemu_get_cpu(vp_index); - assert(hyperv_vp_index(cs) =3D=3D vp_index); - return cs; + return qemu_get_cpu(vp_index); } =20 /* --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430167; cv=none; d=zohomail.com; s=zohoarc; b=bZgL7qLlWO9xTmE0HGr1AD4sHI00b/ecttC7JfOiYBa4s3Gcw1cPxh33GGd8SMFJS5ny/AqsmKgceJug5Ih1SWB0NL6j52mYY0e0uMyLB4CWtYhX5JvFMNEcmXD7WcRtVLYEnkI2NU4MOPePpRPU7QlT6YX8js4NmEaYL9eqZf0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430167; 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=VHOBO/F2WKbk0wb9mL8oQqnc2qCfM3ovTCmXWk4KFxU=; b=QlQf1DHc48KrrXMgrS3iPiphIETFOemvnz4DsMd41l1V4Uej6STctu8X2UfTj8R0Ttk5f9+mt9iB2ZnQ9kBa2goDtXkN70nY09TMxow3OcDfkzpRAkybEXoJiav60H/VYdeEWIJ+EzeTuy3heFN+FNYMhw4dKaoBt+75E8nXOcc= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430167676172.63174770475064; Tue, 7 Jul 2026 06:16:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eC-0003RB-GW; Tue, 07 Jul 2026 09:15:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5co-0002FG-EN for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:12 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5cl-0000W8-Lm for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:10 -0400 Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8fG83606097 for ; Tue, 7 Jul 2026 13:14:06 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8sm8j4gy-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:14:06 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51a87ef9713so6690531cf.1 for ; Tue, 07 Jul 2026 06:14:05 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ad9be41esm137252366b.39.2026.07.07.06.14.03 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:14:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= VHOBO/F2WKbk0wb9mL8oQqnc2qCfM3ovTCmXWk4KFxU=; b=BZjBhTZEP4BUfALU FnWKwKrJF3Gn69jlwZBpcedmT+JLv6QZViK7liaVRec7NuPi7UN7YDOPy44AFgg5 94KanzW0/t0NODIKiaqhoenFATvi86xoNJb0GIqXQMW8+GZTtUgg15EPrgt9gL0N O1rBV4tMAkSAXfRHi59SGRYY6YR6tMcEDDbrjbEBo8COeC8/AWMy0HXjlr09u0L8 z56R5KCY/8kBejUWJuh6KAYsof09FHyxNkK1TmXs0JKewjOytp0Cu7r7v2GAP8x8 +YKIdgFJn1hKKnUWKMT4Zj/HHKWH5CI61bhprEtKD+gg2fuNe5nnuifkuoENHxaQ JvB1kg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430045; x=1784034845; 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=VHOBO/F2WKbk0wb9mL8oQqnc2qCfM3ovTCmXWk4KFxU=; b=NscONb6pYUDMsxy1RvfWXyi43m8cNWIHeNqfwi411SIEXwyVTtL+vxCailPw3ijLDk 1GEgCU5qQA3MbNLH7fwxxXc+KKS4HU21EYm1vz3yk2AX9kY0u41jTsbN6TpuQsfWb4zd 8Ns3GCc41kBDof+/SJGk+10TBrZaN8Xe63kK8/Zhb7FbDxWRGrAsuAl/cXVKRLw8agOB Z2RGRqWUxI8OWQsGJNkDDJjhom3rPUwtSxRJrHVuUulcCKb0JovyHbjNUhDyFR9mWAmJ x3jwECMXTuWXlfEZ0wJrYtR+CE+3rGRjH6LNUKZwftEkwZaRFdjHarCgzvLx0ZA/PoZ+ /hLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430045; x=1784034845; 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=VHOBO/F2WKbk0wb9mL8oQqnc2qCfM3ovTCmXWk4KFxU=; b=XSlstO1cOfusTv9ME0SU+jP4LUsJ1szhflu30m3V12jp+ZK7M79K2Mjzd+/mmAjWy+ 2apZZETZgMxDIMWpRvYkirSeiYXd6SrorGaPTevCOQCI57aVwtU+i9BzvmXsFXgNH1wO A3Ek82VLgGdKkXN4sd8AlhJ5IAoHb4O24JQaUO/EUE74DtWxMNx1/xWzc4eInWTsXJp3 Lqz4g5uhdp/4mwRq135zN6Sho2K/oT/ri5b2y7ewMqHMr8vduhLCvIoszApZSpJT17bY xleG6pozyPC+CR0B6o7thm2hHzpxTC+fsWmn4mjHCEhWi+MSYWVpv32rDzuhsTIe4ldr roaA== X-Gm-Message-State: AOJu0Yyu3iomKHQubhLVAT14rCUUHQT46zM5+wLnFdUVHcqDTUF6lWx0 00v5knrKQdOXrwsknqkZNPtD6Bb+zid0elJAZ1/vJyjwiNXTPQ1Y5lC+u2PFhTAODySjXQXQdio U2z2JXCY+j9wPyfPKi6OimVNfjc1L4vTHTGGqIGI6BxzZsojuZND8CzzL2uM5nqpXcA== X-Gm-Gg: AfdE7cn5tod92/yuMoruUe0Cuj+1ZCimcuYMhNZqJpMQPFX2G6Mmr3ki+EbWqa90I1f HibpyYy0WarvOv7gYRiYJ8MB3mE01pRaj7w9TmKEyXWDpUTmEgOlXgGLIzOO7SUfledLEfClLkx EqYdh3aFfcqmY3nG0padI1Ev8goDsmzZ3mCW7Ov9u7YChNaB6Xx4M9rtMkEIJitOZzwm5RlPko2 qpLXMkvAJDT+dE3a31CtX/4XuTQsRgIPf2PZjaLUyHdch5kZ//1jJqoEk6OpdO5Ekq6nHW+4hYH 0o+QYigTCn/CsbbBdX00cPQdgt5AG5KLGd3J9qgNRZowV41vjsUgQiIKh+uvIY9290qUPpcV3J6 c2PICeNAvqvqZ69efHyEWfGMiwmPpyYpNUiEyOOKA0Vwgy/nfnxSsMN0Sl7yKdYK7WRD0 X-Received: by 2002:a05:622a:6f1a:20b0:51c:7aa7:e0f1 with SMTP id d75a77b69052e-51c7aa7e66dmr13275201cf.44.1783430045136; Tue, 07 Jul 2026 06:14:05 -0700 (PDT) X-Received: by 2002:a05:622a:6f1a:20b0:51c:7aa7:e0f1 with SMTP id d75a77b69052e-51c7aa7e66dmr13274841cf.44.1783430044396; Tue, 07 Jul 2026 06:14:04 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 14/32] hw/display/qxl: Fix mono cursor validation that can read past a cursor chunk Date: Tue, 7 Jul 2026 15:12:04 +0200 Message-ID: <20260707131223.51505-15-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX/nr3H4mQEPN9 eJrPJaeSl5OlDOT8CVv70gG/CXJ5Igx10E8VW15z6mMfT1+dosSBSN9nB/+ZOoR5OxbmdEuskvN Rw+sMpDhakXJ8VBf3CtNs+R32hFmHyc0paEiDF5jx0+PBs20HIojQB12nRFwBb+Z9+GiRg4QDb8 UM8cby7VwV+rVqoYdsmp4qFTssMyf4EXu12QmadTPF+HfCNTpb8BbEqL0d0FPjs80++m+pEAYmm 2WY2VN/3vrJ7hBbKc00PGLIeKCgfv+YfcQgTQhPExv1tIBJh/m+e2YVFZYBjTKM/w5Rq57pprOm Vh3VxatEq8VxegB2JN92PeSfxFLlPffC3Y4YJOPmW/LlchD6fsoTrwTbNDENwNEPeWUvdN1JSgf HC/1iEu0Hw1BzajuuaNRbNzaktSmED8zvlurFHyPTiAXYybNF1WiAWu9lTea8LIozwRGMGkBRrc DMMpsP4rxzAoAGIsoLw== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX4ffUcwuYtJVP /9UJtyf/vctcnDd/t/sh+LelFjBedmqQnuOxZX3XusPO07TjJW8Uuyrp8ijybhwJe0O8wSBXt9N 5mMsoPwsCEpaeZHUC+2ExoerGerKUGo= X-Proofpoint-GUID: 7jMpl-N8Pap92-H_gBLWEI9OGJlII8MS X-Authority-Analysis: v=2.4 cv=UvdT8ewB c=1 sm=1 tr=0 ts=6a4cfb9e cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=p0WdMEafAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=d5zUspqiiaHCGQx4iD8A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: 7jMpl-N8Pap92-H_gBLWEI9OGJlII8MS X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 malwarescore=0 bulkscore=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430169124158500 From: Thomas Huth qxl_render_cursor() maps the guest-provided QXLCursor object using the guest-controlled cursor->chunk.data_size. For a mono cursor, qxl_cursor() then validates the expected bitmap size against cursor->data_size, but it does not validate that the first chunk actually contains that many bytes. A guest could set cursor->data_size to the correct full mono cursor size while setting cursor->chunk.data_size to zero. In that case, cursor_set_mon= o() reads the AND/XOR masks starting at cursor->chunk.data. If the cursor object is placed at the end of the QXL RAM BAR, those reads cross the mapped RAM region and could crash the QEMU process (e.g. under ASan). Fix it by double-checking cursor->chunk.data_size for the correct size. This patch is based on the suggested changes by the reporter in the bug ticket. Reported-by: huntr bubble Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3646 Signed-off-by: Thomas Huth Acked-by: Marc-Andr=C3=A9 Lureau Message-ID: <20260630101022.379057-1-thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/qxl-render.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/hw/display/qxl-render.c b/hw/display/qxl-render.c index 7b692d5a854..3bf634ee059 100644 --- a/hw/display/qxl-render.c +++ b/hw/display/qxl-render.c @@ -272,9 +272,11 @@ static QEMUCursor *qxl_cursor(PCIQXLDevice *qxl, QXLCu= rsor *cursor, case SPICE_CURSOR_TYPE_MONO: /* Assume that the full cursor is available in a single chunk. */ size =3D 2 * cursor_get_mono_bpl(c) * c->height; - if (size !=3D cursor->data_size) { - fprintf(stderr, "%s: bad monochrome cursor %ux%u with size %u\= n", - __func__, c->width, c->height, cursor->data_size); + if (size !=3D cursor->data_size || cursor->chunk.data_size < size)= { + qxl_set_guest_bug(qxl, "%s: bad monochrome cursor %ux%u" + " data_size %u chunk_size %u", + __func__, c->width, c->height, + cursor->data_size, cursor->chunk.data_size); goto fail; } and_mask =3D cursor->chunk.data; --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430165; cv=none; d=zohomail.com; s=zohoarc; b=hMpJR/MLnN6pEgmExIDQOy0RUN5zXeKavl4sscKZHoi6DlyqX6ZPf6egqrEwV7SQm3ajIcsajLIYS/mybeadE5wSfgLkHIpuGUadIrw/Bj0A/bdmQ8KKbKERO8cPKVv1nFR2AG30lbKzXhkElKvim/18y9vkBb1pVtCjrEAerqE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430165; 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=7CJzoPzk74/pvrilYYplLMhXNiWOBcfod8Al1ERLNeA=; b=G5zdKRmCqOOAaF8skySi7dIxjykB3nTUMT6ipvglhWcWYX3CMFwoqY8s7qxy4sBRKEXA6QEFeZ+4HCQUOd/a6646M2lbohS98k6DR+KKBSzOk+DIyCXmdAoBMQT49hKG2jtYLX7G6PoADlsfNIgVoZdN9w83Xs+PZxk0xgEVvvA= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430165985250.042554870794; Tue, 7 Jul 2026 06:16:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5do-00033M-C8; Tue, 07 Jul 2026 09:15:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5cu-0002Jw-Pt for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:20 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5cs-0000Wm-Qe for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:16 -0400 Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8ego3606093 for ; Tue, 7 Jul 2026 13:14:13 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8sm8j4hd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:14:13 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c1d137a68so98709131cf.3 for ; Tue, 07 Jul 2026 06:14:13 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ada091e6sm136212766b.51.2026.07.07.06.14.10 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:14:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 7CJzoPzk74/pvrilYYplLMhXNiWOBcfod8Al1ERLNeA=; b=GfsfvP5usi9L/sW+ MYwDD3K9ne0tVCLtpAQhyq33dSfeRIkGl2dtilxdNpxw67M/mKrXzes0Sts27Wa3 0+bu5GsbqvBgxJA+yOyaI1/FxB2OTdBGrpzX1mAu3AFSaWHGaP48QTjGHJ7nF6yi Lxg0SlRC4c7rYJfuoYZsr2mZPJvABUossghdVVCVXb7ExB00Kurpjki70wadFsyu GgRxlZ5LUozTrDR4ezr0NGQmcE4xIyvcQis5gO8vHX0x6MrZZp4NnLVrI0lJmXTb YiO1YhfrOVO7kHkXUspWsmtDXII7fh1UEx9st2PIJiYPvUAnGxI6m/FvogbSJye2 W0+ydA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430052; x=1784034852; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=7CJzoPzk74/pvrilYYplLMhXNiWOBcfod8Al1ERLNeA=; b=ATYz9g9rzq/UUcfYQ2jiGUxDz6PJj1Jz3E5S5Ay1l6O0habDhckz/SYg5YJTgGXeFf iH5s11atSsRvqHTsYbybOUw42CBk8WWpXyHprO+cWcAgQAASKB/UgIGbdkTzn5Qx1vZZ mbQyb7sHtE8D+EJZHZdwYrjRE+eFIAaSpLVnDMKA9zdIwFPPQ2eXnURhHnwDNsXs6oIL es5H1CZ/zvPQaP0mu8X92yvpz+tW/MBViKvVKbFYKKSoi5xNamXHVhIs0g8R9fJttz4F sABqtvrOI23dhYFfs7dw6pR+bhQhUlVN+n36UT1CuzzZDsq8xug38fkO1NVAuckJJ8i7 ycPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430052; x=1784034852; h=content-transfer-encoding:content-type: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 :content-type; bh=7CJzoPzk74/pvrilYYplLMhXNiWOBcfod8Al1ERLNeA=; b=kOYKQqC3Tq0lPkZfkRe/nbd7ugClhG94Xo+Pb4fftpV92apFx0PbeN2ldOowlaXkf4 YPMePukqWPCID8TFnjlPl8sotMhbvRPWuST/Sq2K/1LpGw0/uhtpD6XnkiSULU9tCyTX HNc2v6PtEla0hMUTfk+cNELfOsF+G+P7J7uo9r8NEAzPjBVlhWliHC2E79dvVt33NuEH t53blQ70VGd7T1a25rBcQO9WU4HvCSkt0LT2vtMcmJlC0os1KKX+nkvL9anBQSYVcCxb 51gcTeUGqRCVEY/NsgAxVOCPbV5G+/WmcBL/9wBWqDVoEEnEqnmjj7yk7YdVk3wsgtHd apew== X-Gm-Message-State: AOJu0YwnSIYHwCAWlVYIk+jd+jshlbI4f2tvjxUkOUsPs4GhIdU1PLuR yxEPg3cjdBcOHsDfg7AqhA6JrxIMoxAI6s0+CjEfWIYLn4xcK3Wysn1tTbBTVv3Am+oLw/0N+CM Q4d71fRapQ4k9XHiPs3o0BqXq1hku1BRp+39bfzfj6+8CbCEHRhH5daaiHO4BTahIQw== X-Gm-Gg: AfdE7cmFx/Pwy+pAND6r0bHm2yDMKjhusfuN6v0sQEw+33X2D0Kcyls1VjZGW3mIslt i/ERKmWGxjpZU26SI094NR392foDHOcLh6ngATdW1uFNLNs1Spku9945oxCt5EcFFBZi6ZHgx2G rBsJWzQVWXC1TgzfcHz4WaFUNhJ5NKcXAVnfSxT1lL01fiSimmCEbIh5TMwpaS6JaZhdjmUB/ib dGlTedMTsMtISOxGWd7XQkiIYXCAon3MFUYkK0yt5DIQ9iVjkDPO4rE17uA17q+uv2/wikblFe9 +jyNWqZpVrVVqVinT4RhrVAZXP5i9J3ZiV7CHoCfjhJ4gXr6AOcsTGEPtXIqTBR1PWROleOQ+YG Oi6srMyt6MefQ3rF9RYAoD/aFkaOMuvKKEgpHLJJ4NSXQs+BhexCnD86bY66h5rVCkvp5 X-Received: by 2002:ac8:5810:0:b0:517:57f5:e21a with SMTP id d75a77b69052e-51c7487d524mr53329921cf.41.1783430052212; Tue, 07 Jul 2026 06:14:12 -0700 (PDT) X-Received: by 2002:ac8:5810:0:b0:517:57f5:e21a with SMTP id d75a77b69052e-51c7487d524mr53329451cf.41.1783430051594; Tue, 07 Jul 2026 06:14:11 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 15/32] utils/module: fix memleak in module_load() Date: Tue, 7 Jul 2026 15:12:05 +0200 Message-ID: <20260707131223.51505-16-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX0rRSy4rVWbID U6OjooZFU+rkNxTZRZGamffQT0plnXeQjZnrPG7CiXTlV3DwiLv5LM3w9zw3Upuv01z3H/gV4lp kgdBUE7deI7ehCbOyplo12bIIAzCMl3OTScrJCaMl+ruYVVaDFkbhLA0NgiP+MsJfgYcv7V8T4a JNwqWKRrbPvEdtngtivO7XNFrV5mV9+yu9bUiCrxI7+EjLRpvEeZu8BRc14HKWvWV1+KWjQeg/h 4BwDzobDwEvI9SwQu+acndyvw3XWGfHaPnl/mKFJSjjZdGrdqmWOa4XuOmbJYqtbPZ7aoUS+v0/ aSr7Z8NIMFBvuZ6fI7W6xZLIeZLozTWCVC1BV/DEIk+f8Bm8S96wCSiUbiiVw4OlX9TB9t6zVow /db157MlrNCQEdDHlQjn7a0Fu7sZ61/BQv4sjoDYsKS+aoMN9qqpemAosDTsiqzHC6rn7B9LOpj iSdjRl92cEVxEG75ozw== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX5qrbs0lVPsod Pszv99KqHq0uNP6M5SZkA3JLVYqwvQumX7qv0qt50LFf5IKEUtMmkyXAubKLlhZnlTqopTmNjQy HdBUpK9ubmwpyNZW8LZZ4fWPm3J5FRo= X-Proofpoint-GUID: xdVsvubajjwmohnU9TPzTD1oAo-0FSYn X-Authority-Analysis: v=2.4 cv=UvdT8ewB c=1 sm=1 tr=0 ts=6a4cfba5 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EWWzKEDAAAAA:8 a=HH5vDtPzAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=-5jC-c37tY_-YBIg6F4A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=zZCYzV9kfG8A:10 a=dawVfQjAaf238kedN5IG:22 a=8ZwbcxVZO41N_bDMix7v:22 a=QM_-zKB-Ew0MsOlNKMB5:22 X-Proofpoint-ORIG-GUID: xdVsvubajjwmohnU9TPzTD1oAo-0FSYn X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 malwarescore=0 bulkscore=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430167073158500 From: Dmitry Frolov Memory for version_dir, allocated by g_strdup, is not freed Found by Linux Verification Center (linuxtesting.org) with SVACE. Signed-off-by: Dmitry Frolov Reviewed-by: Marc-Andr=C3=A9 Lureau Message-ID: <20260630110601.736019-1-frolov@swemel.ru> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- util/module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/module.c b/util/module.c index 09dc43f51eb..8f8e6994f11 100644 --- a/util/module.c +++ b/util/module.c @@ -203,7 +203,7 @@ int module_load(const char *prefix, const char *name, E= rror **errp) { int rv =3D -1; #ifdef CONFIG_MODULE_UPGRADES - char *version_dir; + g_autofree char *version_dir =3D NULL; #endif const char *search_dir; char *dirs[5]; --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430258; cv=none; d=zohomail.com; s=zohoarc; b=Lsz0KwDP9wgf7yztEt9jHM2Gm/2dwXcXcPoMXrkrp8WlnxiXXWEn0wM0nTTwhy8h00qaNhPdQNfJslQ8HQETD9+3tvpu2AQTLj4j5WAwcsh75MtJBoA/GSC3bxyQr/RGuxvgWnKxvx//y1xy9qcN2jMhKCaJJz82XCCydmByRbA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430258; 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=hY8gLzk0rHZJeGlxwJxqv4ggljy8LVtQOjKXzqPfu+U=; b=Xzg0lRGFN+w1N0Rt7qkPblC2muXopObwsTecZFbM+HnGo7tR0/s9k9t5MoKfzGKmpDlTPqGg9IytrMkRMwzpRmDeD+5CfAz0MJn95vqs7EuFxd6PCk7w+toG9jrlEqEQO4r5oru0NN513csET065LiAeTjFOhC009FbzGQV3dKs= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430258751765.6669996216514; Tue, 7 Jul 2026 06:17:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eK-0003df-OC; Tue, 07 Jul 2026 09:15:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5d1-0002Ov-Sz for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:25 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5d0-0000ZE-4i for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:23 -0400 Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8eoI3616557 for ; Tue, 7 Jul 2026 13:14:20 GMT Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8vun1dp4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:14:20 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c12e43b98so51679671cf.1 for ; Tue, 07 Jul 2026 06:14:20 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ada036efsm133707466b.45.2026.07.07.06.14.17 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:14:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= hY8gLzk0rHZJeGlxwJxqv4ggljy8LVtQOjKXzqPfu+U=; b=kryVHT2q6fTGkleP le/fmEpDw7esMn5z7JuYsKqs/DnEszbd3vlLLvkp4JpRDyIbu/eU6HBdRkMmkhwu DBh0qZi8jxWGFjtER+6xQicY/O2CidJDaOFmb/UcvYc71ao3WMViwtcXvQFIP4TD HU8U2U/SGGr6Kx+F8Nian7ZLt0K9AIC49pbIxb1Dak3xEXUSD7LOoBWRedZnrcnh /KnbRUcgBq9yiA8WBS0vIS1MKW6cA4b7clyI83lAARvHax9Gd/rSaqdyO2kXyjLe 6tA13Rw3rs7HCqMp6tGNPR3V+MZyq52+lYYOz7HabCy+Y1hp7AiN8ZUFk4z4gMnn 6c2FgA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430060; x=1784034860; 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=hY8gLzk0rHZJeGlxwJxqv4ggljy8LVtQOjKXzqPfu+U=; b=dFpolBOIDDwHERcwAKL+mDvh26i87RXwbK3WsOmfgWzjaOGgVnyfSX0g2KG4xnxsv8 cqovtay6ns5DKYV9sW1Ox2RBNegzYfpaUJM6MMASHVJ4Qo5bzfijK8k7E6/u9Ir99nMP kyGFdgFHkp+2AKTfJV3+7rTgXhD7IAKCyKoChyYBlaFCG3n8GdXoXg49U7GklwzfqdrW elDvZx2fBqa3Pvw9ZzQ4BYr8ABnQAbioYCoPxy4ukLrgZw2ZsnNKmAs3/wq57ImCtXYy XvGBU0D7mK7CbEo08MEp2DFoTZWTr9U2CWiKtknfqVEDuNGTvdJmx0T+XTONjT51iVOf e36A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430060; x=1784034860; 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=hY8gLzk0rHZJeGlxwJxqv4ggljy8LVtQOjKXzqPfu+U=; b=tWo9j/6zsyiacEbQ83nwZuLa2JauPB6fIZbmRaNECBfqSjxYyUjF3Cgqam6jVewQZ/ dCs5YIZ/WcRIDa99+P06Galmckw1I/35DcxPUoD1MHWrYHXTnZfaHzgC5tLV+ONufSG4 Iyqb5gem8cr7+t+Fbbc69oa+lWWgiPtrVM17oszEeRiOydozl32wq6T0xoQpBcYcEr5j +itEkQvUoUY1G29eIysyxzymUJtOHZoRwxxrRBDo/OJQQBEv+DZJJaNyxEe7Pd5/ayoA XyzHNfz8z89lxApqzopkNSrVobYepDfQ6aI7582UBf9H0bkM6SirZCsuHwVFLt6KoDUp 3rvw== X-Gm-Message-State: AOJu0YxB59D8O+64v9pSJbziyapZJVMt41oaToiOrwlvHanOLB+U3pV6 psINJhG1ftXF+uIRImg1K2ALWQg1R53idOZoJo79rmj7BysD24iTO+HcQ2Ksq4QBKnY0YU21CbS Ht08qZ87dZCbtL/KvSlJpLW7GhTGSmjIdNHSr7FWk/0X9VTK3h3QTtka6sNlBzkIXUw== X-Gm-Gg: AfdE7cnortyQA4u/dxMXQdZqOuPx5xwpUZ6NUNixX9lKkLQU/gXpNZpYBTSNVpD3KaM kABti30eVNfBYpEc2dCYHNDMyxzeWcH6CaJP4C7JmRSouJrkVLv6agcxKP9Z/OQdrmgO7MAZPDY VecGUCYji6Ocnt+zsJ5v+DlTbtwmQpF+sTDAglumKhEZpnHhzXoRYMj5J6nC9I+RNYU7aMU16WJ fME0YPmVn6BJ4eU8WYNYRneQrzOybC805EJkud4pDxr63YZyCU6dPg0snYw68rdzaPAncThIf7v KrzssLuUfr+otra9eq3o9fwoLjH3saWUNXypvHgGEUZ12Jk1K4j/2MWVJOoNjY6E56osMuqlyGF jaMNMLOUUuTOO5zfYsmpYk6WVK59eErbkg1JuC8liaRlH41KP7Eh4aVRnCxzWidblWAW4 X-Received: by 2002:a05:622a:1788:b0:516:e00e:6868 with SMTP id d75a77b69052e-51c74855e7fmr55197521cf.46.1783430059680; Tue, 07 Jul 2026 06:14:19 -0700 (PDT) X-Received: by 2002:a05:622a:1788:b0:516:e00e:6868 with SMTP id d75a77b69052e-51c74855e7fmr55196791cf.46.1783430059039; Tue, 07 Jul 2026 06:14:19 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 16/32] hw/intc/loongarch_dintc: Fix OOB access in DINT MMIO write handler Date: Tue, 7 Jul 2026 15:12:06 +0200 Message-ID: <20260707131223.51505-17-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXz1kCKK6HW0pw kzvDmZIYdENAEKiHeWqML6kuAoerGMgTTQ0zYjNw8wFZiPbqKtvbXb6yM9fOjjxie22IdbMn8tx Lh4eeNu0ZABveWT0zoTlwaVzjprR6ns= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX86AQQdjSAwjz xp0bHgCVhRvKf0olulaqSqUGqKewByx1TMhTeLmb3V+nTfRL1vNXhDl/W9bteB0yfLOo86a0qAz EHE1dcSCHYCG1oEqhvtTAK2w0DajzN62pFssmgSACoEia61ENb9ES/PVGVLi51qbPa44xDGf22d YVyr5Awfm2NqrkoVOLkLKG9GJSWaO/4odiFtnBrKkiFWf9TCjJnoeOZVe/d+JFSu/cbGeot3a17 C3nT0NvO5G5wGB+W4hnEeDw/DjiNtetczal1CYSHo8MgNb3Pzw1xO9Lsw7eC5YE0wyRRjlPtopI 1JciMemmGNcNTZYP/8TvGhRH0b+YfBMa9b3Er4MQZLovGs42KMCn6iNQ5tQ486uXxyEMdk4zaNm 2s8TWadTpx4GhiA53GwkeDu5wkkhUOjVgvm9ySIzNWxN6Fhs3lijY6g0fylt78shIg5jH5MxaIV vBsE0yUbBYdafqYMU1w== X-Proofpoint-GUID: LAr5twWhBrCJODDVUoywEW25qBuJ-UVr X-Authority-Analysis: v=2.4 cv=N+IZ0W9B c=1 sm=1 tr=0 ts=6a4cfbac cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=p0WdMEafAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=CkMQp57mgodZXwwJr1oA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-ORIG-GUID: LAr5twWhBrCJODDVUoywEW25qBuJ-UVr X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 priorityscore=1501 clxscore=1015 adultscore=0 bulkscore=0 suspectscore=0 impostorscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430259959158500 From: Song Gao Validate guest-controlled cpu_num before using it to index the cpu[] array or pass to async_run_on_cpu(). Without this check, a malicious guest can trigger a NULL pointer dereference in async_run_on_cpu() and an out-of-bounds array access in qemu_set_irq(), causing host crash. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3616 Fixes: 0d148eaf5a3e ("hw/loongarch: Implement dintc set irq") Reported-by: Thomas Huth Signed-off-by: Song Gao Reviewed-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260701065454.1976188-1-gaosong@loongson.cn> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/intc/loongarch_dintc.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hw/intc/loongarch_dintc.c b/hw/intc/loongarch_dintc.c index c877a8003b7..e40292887c2 100644 --- a/hw/intc/loongarch_dintc.c +++ b/hw/intc/loongarch_dintc.c @@ -19,6 +19,7 @@ #include "target/loongarch/cpu.h" #include "qemu/error-report.h" #include "system/hw_accel.h" +#include "qemu/log.h" =20 /* msg addr field */ FIELD(MSG_ADDR, IRQ_NUM, 4, 8) @@ -52,7 +53,19 @@ static void loongarch_dintc_mem_write(void *opaque, hwad= dr addr, CPUState *cs; =20 cpu_num =3D FIELD_EX64(msg_addr, MSG_ADDR, CPU_NUM); + + /* Validate cpu_num against the configured number of CPUs */ + if (cpu_num >=3D s->num_cpu) { + qemu_log_mask(LOG_GUEST_ERROR, + "loongarch-dintc: invalid cpu number%d\n", cpu_num); + return; + } cs =3D cpu_by_arch_id(cpu_num); + if (!cs) { + qemu_log_mask(LOG_GUEST_ERROR, + "loongarch-dintc: no CPU for arch_id %d\n", cpu_num); + return; + } irq_num =3D FIELD_EX64(msg_addr, MSG_ADDR, IRQ_NUM); =20 async_run_on_cpu(cs, do_set_vcpu_dintc_irq, --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430166; cv=none; d=zohomail.com; s=zohoarc; b=e+flHaBQYqYrjLPFelAg69loJvLrULliaX6uSc3YvVK7rijxHd1hBJ5i8skhFhngJz9O+KYLaRjJX6ZQCC1CtfgvNh7Pr3YBMq0P886G/HndtQMss4XMVBLWBePvGcNoQOFAVi05qXiIDvclXuDpJ1mDtlaOxN95MwpLmDEV0XY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430166; 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=VNKU7Sy//ix2WOvhHmnRBhTfLDyVWfCOE1gkUvP6xNE=; b=IcP71TISJb+ROUvPF1GHEy6esO4GcRMTWkJnt0g0WvsIqMHZjKR4wzufPIifAnFMw7VJYwSI23L+Pcjvl8DQ1Vkbz23O6+CA4hzWrHZZfrJHKenMAlav1rjdC4e0n9giigQPxe8ltSYfeX8C7H2VRZ9sPUkp9XFNPx89IST+Z/g= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430166061999.2186327943706; Tue, 7 Jul 2026 06:16:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eQ-00042c-HQ; Tue, 07 Jul 2026 09:15:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5d8-0002WY-SF for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:33 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5d6-0000ZW-OM for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:30 -0400 Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C9DSv3590399 for ; Tue, 7 Jul 2026 13:14:27 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8w2u9bmd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:14:27 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c1eb52e1fso84346961cf.0 for ; Tue, 07 Jul 2026 06:14:27 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ada057dasm138450566b.50.2026.07.07.06.14.25 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:14:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= VNKU7Sy//ix2WOvhHmnRBhTfLDyVWfCOE1gkUvP6xNE=; b=OcNKXIa8dpqnY0G6 W6QpDP0V+WX/19HD+j3xsQANJXoS3UQlMb2BImciNV153X2JGA7tVyvXToeD1CJo l7Z9wQkqPEhFLu+u66TDfYQ6MmLu/+gzpVUYzCB52u+ZJuSjhoqbDcbH4r18Olbc Ldagp56HV01bSVb4cFBmNxhfXhn3RqRYvI20f1km3exYbtlIjA5TMlDojEjIxiku INIZu8VcBdchgQhxaKwgk6E/rB5fkU/JCRF59cq/UD9dloEwSYgVGDsv7f+E+V/a 6aSPI9vApmPDdCwmdTuWcbe6QXZXR/zwBXIX6TNWSFAYYAsik/eku8vhW5e5M66E c36Zdg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430067; x=1784034867; 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=VNKU7Sy//ix2WOvhHmnRBhTfLDyVWfCOE1gkUvP6xNE=; b=dEl8r+PA/ooVPDTyqEoo9lzensyhd8JT4d86lWmlUcY3BcJJAQ2seFQjrcM4g/UQEP nkj/uO4hbF+SZczbeD06dxeFV14ld4iWnyJ2C4N1p2d6hPKNKXNwzoVSUPHPH7/0VrDJ VY2C2PEp3UKNvF3VWaBfwTJUwfSTt9pY7b3SZXvuX6uhoroMHVhPMNXAw4jmUsu+NiBo ZZyRke30d4k15sHi+7aNKb/M073Y1++DwDIlYOkC6ZKXjSqs7R7TmGcN32Vr2POrJA0N sZVFUFa/GLVIZ4nvsPLufQoxKIppFqruRMi0X4LjB/Xd82CO3FPd+wixb6eC3mRSWa0A Wnow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430067; x=1784034867; 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=VNKU7Sy//ix2WOvhHmnRBhTfLDyVWfCOE1gkUvP6xNE=; b=sR7PGH0TdHBiU/kM5TmD6/wwWFf9GeE3Oi2hxBnQw2DztHyeQ1J1WW/wxwYXkRA6Rr fmmdR+4xEk2ccqAE1aEEKYGTpKHXbgg46AcnVn2FHsn+6X5ldfHgo4bThLPBg7W08LzN r/TIHQelYeYCGdaZVBFZnXKxOMp0/HzZsnyY9dA6RDKDR+jiwNw3I1xBZ5XyUXK0j2vv E3ohSjkEvplntJLpZcVSXTlla5o/SlK8q2ave6XcVXJhmgGT19qhEoNhhZB9GlPYvVSm 6QVifjrrFYTGDOzFoZiV48M/qH++Y+ZYaPfOiCxyJYk9aVg22KWFQyyfd//yBXjLQbFf HLwg== X-Gm-Message-State: AOJu0Yy4ggv49DUxrWEw7ueCWVYZS2cBcNGpyE/y3sxMynpO8YImAacB ivP9vqOam7agO4X1GND3f67DzI475FqnSn356SQh/jVvV9mmqiAAzJI58CoBaoOJqh5sI+g4O9O XmTo2a4ttlUgMoz9wl593iXME2IA+tIbM+SoQIO813+LbVmfQK23ztxZVmUMRVCuA5Q== X-Gm-Gg: AfdE7cnyeKmKoGsLUqr282jcCZFB2NMEo/4jMUt4IeSYdqFjqQY6uhokxKdXJX03moR k4d3dWsKu2eRZNx4JR61IKDtNpgoK0DhwjTBW8vf6BlvytzQmICXVnVud0m5X8x5sE/z9z/uBO5 xgWiNe3fDS/uXkGD0C8D8ajc2GKAsxQpa8oC8uU9XPCbgq1+jq8R/HsDJGhQcqwsw4YjFYgTV6R 5EhKQuOns1IbBWQuRZy/sMQv2y1l95P9GAMDoI69BMp8Tehg9dZ9nhZIH/sZus+eQzXtpJe1iAl 33QnwNcK7YUfyRXluPAqOzSySt/4+ux8ah1egH3XLH2TKO+ddCUIfQbvye2afpgMO0nJP+DW7Ym UXxvDXfqniVGOkUU/Q5CPDy64MPdYBgWARu8pXl4l1u3QSiE4OARZUrIrqT24LRG72w6+ X-Received: by 2002:ac8:7dcf:0:b0:51b:1f2:f38a with SMTP id d75a77b69052e-51c748932a4mr54713301cf.49.1783430066711; Tue, 07 Jul 2026 06:14:26 -0700 (PDT) X-Received: by 2002:ac8:7dcf:0:b0:51b:1f2:f38a with SMTP id d75a77b69052e-51c748932a4mr54712951cf.49.1783430066203; Tue, 07 Jul 2026 06:14:26 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 17/32] hw/net/can/flexcan: Wire clock control module via link property Date: Tue, 7 Jul 2026 15:12:07 +0200 Message-ID: <20260707131223.51505-18-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX7S0UgFrIJut+ 5UajjPIMFbvkiOjRczTFifqjqlWZtvOkaJjJ9jheR+Sj1v8R2C8ulaRYpLjr5WNwyFjH/dGR4ak RsXCxFxJqsdyv6qOWKit1RC7CkVDSQc= X-Proofpoint-GUID: nMmSv3Ji7Wve988pVHhVSl1oZAzMfrV_ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX11HBgIiVRMoz 0YkSZ3oRCtZe2SqpgVCij/5zA5H7g9SfMivOUtVSr34DeupUljb3lM0BYUFPCuEXUj1Vsm8xa7w 93QFaCdmQTWPboGWAj2qmh8Ti79iM7fPM2HAT4uDeAIYzcMjwP+h38sSXIepMJZuTieyWTdpAeO gfu0brgIk3bNNMw685CQXnchqrOYpVUH8qGap0hSAbKpF6QSbJN9mz4VaoZA9v0T/uMS466opZW wekLK7n/WWY36ekUfuoNIlG482vDsNeQt+rzknULeVY9yY6x/kcxpa519BdwBgIyrf//KU/oGtY 51ngSkKwSqJpZxg+PajNybuSZN36PTibd6c278cjSINirdWA+ggmwpbMF//chJ+NyB3oZweHCKx Z+gUNcAGPu5G56AaCUwDHEzygW1zZBx0AR7c7aMOGfyWCgJAxQCWNNzOeWtdlSBiENSGvMzIER7 KJFuV9KZpyOV4jXPr1g== X-Proofpoint-ORIG-GUID: nMmSv3Ji7Wve988pVHhVSl1oZAzMfrV_ X-Authority-Analysis: v=2.4 cv=bPQm5v+Z c=1 sm=1 tr=0 ts=6a4cfbb3 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=waCdl2-9vCPkP2a9qEMA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 spamscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430167122158500 From: Bernhard Beschow When wiring struct FlexcanState to the clock control module, it is currently necessary to reach into its private data. Moreover, when forgetting to wire the clock control module, QEMU will crash after the guest has already started. Fix both by letting struct FlexcanState expose a link property whose sanity is checked at realize time. Suggested-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Pavel Pisa Tested-by: Pavel Pisa Message-ID: <20260702184038.178196-2-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/fsl-imx6.c | 3 ++- hw/net/can/flexcan.c | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c index bf106a90632..585c935b899 100644 --- a/hw/arm/fsl-imx6.c +++ b/hw/arm/fsl-imx6.c @@ -391,7 +391,8 @@ static void fsl_imx6_realize(DeviceState *dev, Error **= errp) { FSL_IMX6_CAN2_ADDR, FSL_IMX6_FLEXCAN2_IRQ }, }; =20 - s->flexcan[i].ccm =3D IMX_CCM(&s->ccm); + object_property_set_link(OBJECT(&s->flexcan[i]), "clock-control-mo= dule", + OBJECT(&s->ccm), &error_abort); object_property_set_link(OBJECT(&s->flexcan[i]), "canbus", OBJECT(s->canbus[i]), &error_abort); =20 diff --git a/hw/net/can/flexcan.c b/hw/net/can/flexcan.c index 1ea459d9f69..8f3f066ef50 100644 --- a/hw/net/can/flexcan.c +++ b/hw/net/can/flexcan.c @@ -333,8 +333,6 @@ static uint32_t flexcan_get_bitrate(FlexcanState *s) =20 uint32_t pe_freq, s_freq, bitrate; =20 - assert(s->ccm); - /* s_freq: CAN clock from CCM divided by the prescaler */ pe_freq =3D imx_ccm_get_clock_frequency(s->ccm, CLK_CAN); s_freq =3D pe_freq / (1 + conf_presdiv); @@ -1346,6 +1344,12 @@ static void flexcan_realize(DeviceState *dev, Error = **errp) } } =20 + if (!s->ccm) { + error_setg(errp, "%s 'clock-control-module' link property not set", + dev->canonical_path); + return; + } + sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem); sysbus_init_irq(SYS_BUS_DEVICE(SYS_BUS_DEVICE(dev)), &s->irq); } @@ -1366,6 +1370,8 @@ static const VMStateDescription vmstate_can =3D { static const Property flexcan_properties[] =3D { DEFINE_PROP_LINK("canbus", FlexcanState, canbus, TYPE_CAN_BUS, CanBusState *), + DEFINE_PROP_LINK("clock-control-module", FlexcanState, ccm, TYPE_IMX_C= CM, + IMXCCMState *), }; =20 static void flexcan_class_init(ObjectClass *klass, const void *data) --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430253; cv=none; d=zohomail.com; s=zohoarc; b=lzoCSwZK0aUt2z8ovaT0O5jP4oylqvvsH/VxBr0x4Zf9acunG4+1SygA141SGfwzZnbjNePLvbAyXoeKsjkzkgrLs+eRuGGKGWBjluiZI6RPruTg4uJz1TOAzwv7KkLl7BZ8h5V0LJCgGem5W0qggokYM05rQLxd1bsMz+csLHk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430253; 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=BccTxZKCA6gYkBziV/R59OR/YwezElAivEqozwYZ2Gc=; b=Pt5Cz0eYJyb4EmiTTf3Ygl9clRV7OKlMA7gRR8PEetUBNgyjz334jeQkTu9Zb/Bv6eFBq2UaSbH9nTJH8PZ8IhOCT1mOpgEw/T/Feqy4TNPDqF8h8yPgY/iXHh/Ly2EJ1lYb+dticBm7qqfUdV7LGJn8eFfhAt7SgW9YhC7XNy4= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430253830533.5218628987278; Tue, 7 Jul 2026 06:17:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eS-0004G5-Ka; Tue, 07 Jul 2026 09:15:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5dH-0002rn-Az for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:46 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5dD-0000a9-Va for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:38 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C9ML93740903 for ; Tue, 7 Jul 2026 13:14:35 GMT Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8v9a9kxa-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:14:34 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c110a3b6aso59713211cf.1 for ; Tue, 07 Jul 2026 06:14:34 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ad9bfdccsm141337966b.36.2026.07.07.06.14.32 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:14:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= BccTxZKCA6gYkBziV/R59OR/YwezElAivEqozwYZ2Gc=; b=pfQ3lltMgZKQz0dN YAr/LHuj8u7IlnQkHroPhevqkQeV0lDR3LnIpIz+rA7rwwcakp038K1BZt5B5ZJQ x/q9NB4pkcPlI6+RkD1BV1EH562ZpFuvH9nJFJgnqYkreua0dLRy+NEvbxg/pjJq pTgnekLB9D8vV6qh1vIEQblM5YpybjIo/la1aaejR0r0a7LxUYdP+PaKZAF8SdmO yX2O/mTsq4xJ8eghfE+s5blpGJdehMYVMjbNrPO6y0KxEU4ShitB376VE5xwMhCZ vuaXEaZvt05I5ZbpE8L3BUO5UIcpxnIB+J+dEYpmVHXmr/il6B7CYIESl0m7/Mv/ J5HiGA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430074; x=1784034874; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=BccTxZKCA6gYkBziV/R59OR/YwezElAivEqozwYZ2Gc=; b=goZ7RBomDZEuQFr/cpp1gv3JTCpvtpRNGlI5LPQo1U9JzB98G4oJKpeeQficyQhNIt kp4kERzUD6da2yBGe8z/lX1jTvPcLx75mNHn+1p/ICoshe8GqiERVhUDZd+ebWEu9SBK uREd+ocTxGFNAG5EDP3rsrHlN8Fo5pwm3l6HyWRVs0A1yKbkqIGAwQ7aGGqXy1oQ4bBm 0UMdIvx9CDRooP+HrYXhXqdAF4dsCLo1vShiBS/+yFDk8URa5fNHd1hycB9AMqtruC3+ XAkqVvi8GEG0aTesyPtdF083Bbuwijwn5OBd+rVKUkQ05qohSKP0DZQsNmDi4x1p+dDe UKEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430074; x=1784034874; h=content-transfer-encoding:content-type: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 :content-type; bh=BccTxZKCA6gYkBziV/R59OR/YwezElAivEqozwYZ2Gc=; b=SU5wfxlyE+y282WEVd0GEO/W6DweS1COPBjipDXU8rGwVbpN2l22EuXYGX59Mz1qdq MnDyCcu5N6r4YnuLXU6rOM0vt7OrlAKFQp86y1QEmF2/J7sH9FhQBpa8Ny8h1bZTaQMw T3LHQDutc+kWY0bpHt9pKXdu28FDqTy0vSGRw+5Sx2BHpuabuYFPH4gP+cmu4Nao79Pf nM7hSqeenF4zzh6w/p8WlgOO/2n2YAe/xH4U1Pk9EJ3kpbZF/5jRkppy0hj17MYFZNZX zCV5yYYcNMssDIHUWbSvVxf88NabF5L7iCL6zlA6I1Axg6SIAFs46Jt69U3BwC3zhrm0 JP0g== X-Gm-Message-State: AOJu0YwxBh3kRWb1fZT5q41txcit7oz8bvcvTq+zeNW4PoT4KYnwfJXR eJ/t/b8y2oxXPMrTuMD7X1h8jxoMhzl+75TvD3gG7fFhVSNjHiEUePWEg8Y+C1/q1F1BpsLThOg vyHRNqveLYv7qvAcs0MhdgJ3v1b2LPq+J97m9yPEXiN51DtsmpI8F86kF4aqrqOE1vA== X-Gm-Gg: AfdE7cl8ySdsKIeiRKajKKiWri2qmfJHiruDC10sdbwYXa54A8IlPJ6U8an7D/KGyHK DFtTaJAI9A5EVWgJJ4vSR0LhXmVfvThBqBnpj8EdA1JTE21IPbetVOmE1vKddy5rOkSF/f0w7Vc JQWs3TgJYoKB2Sljv9NiifD5kzbinzq7fMEa/8IbW/J6Wrsjx0x7rvL3M3QMaI1XKSyZjxlftD5 jnVWiRdWCjbYwOh4XAfevpdnZkUeV1Cwuoh+P63lpO/LRuTt05F6t49tUVsZKe9QkuMzguSCZ4P GurD3TF02BMsQm2WKyIZ3Iw6K6yVi203Ki8+RsO+Lcj1MfS/Ys8Q4zP3ff3npg75w58ZJusI2SE H31nNE0t9fE4w41LKjjjZaV1/izhz5XBnxWAWJcob+oEAAxyjRmBP9BfPkWK9ArmeaYQ5 X-Received: by 2002:a05:622a:1183:b0:51c:1361:fead with SMTP id d75a77b69052e-51c7487fec7mr51708071cf.37.1783430074157; Tue, 07 Jul 2026 06:14:34 -0700 (PDT) X-Received: by 2002:a05:622a:1183:b0:51c:1361:fead with SMTP id d75a77b69052e-51c7487fec7mr51707701cf.37.1783430073679; Tue, 07 Jul 2026 06:14:33 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 18/32] hw/net/can/flexcan: Subclass TYPE_CAN_FLEXCAN Date: Tue, 7 Jul 2026 15:12:08 +0200 Message-ID: <20260707131223.51505-19-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: uUexIbtyGzloorVbCwYCQ3QIuIfm2eH3 X-Proofpoint-ORIG-GUID: uUexIbtyGzloorVbCwYCQ3QIuIfm2eH3 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX0r1Btc1V9DMT k/V9Il9vXm2XTmx98ZaUMWVu/Tf5b5JArOqac/mL1zCCRfztd8eUnODnOpRL7TQVhiVO7kBGT/I bBSJJFU8FGdsipfaLi9prJaPIZiiJck= X-Authority-Analysis: v=2.4 cv=b9yCJNGx c=1 sm=1 tr=0 ts=6a4cfbba cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=ItCWRy2WlyBiaE_UJHsA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXzypELb7Mo2xr C94qzmMYXHxFxNWU/zCSzawgb8ZqiYRInzVXNGnUhmFYFJU+78M90+Q4eP0L0kceXLJSk1dQYWx /TmN75fLG0p8F93PbE1G3DABcFQUh8LOgbNt3qM4oq0wu78vMN/EoJtQIU5H5DjEvTQYGP953Va QWOEQrQRGTNKhPdInUIlLED0e4d33Ta8cBeWleP9c/im++7i2HXWbO6dj63kjOsVaJcio8DWrpu s5Bj0k13EGfT0aYnEuHzMFLOoxrwKcG0ZX49WcdTRfF6Qrv5ZdScPUQOQca2GjJwNS+F1GGY1g8 9pkwhO2ywmprFgcqaZ2Eox+aB/W2x3cF1Gnv5naheis+G3C+PiJ3x5oHjsdsEmb6KVp8xouhcee edLfp93IFDiQKYIqTdh6zyZZV4iKiIvQiMuUjT/rZRKFj8ef9G7fJ6Zm1yTAiTnjbCoPelp4IXm 5ra/Zb1nXAFaGhDF8SA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 priorityscore=1501 adultscore=0 malwarescore=0 bulkscore=0 spamscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430255893158500 From: Bernhard Beschow Subclass TYPE_CAN_FLEXCAN, yielding TYPE_CAN_FLEXCAN2 and TYPE_CAN_FLEXCAN3. Since TYPE_CAN_FLEXCAN is now abstract, TYPE_FSL_IMX6 needs to use TYPE_CAN_FLEXCAN2. TYPE_CAN_FLEXCAN3 will be used in TYPE_FSL_IMX8MP. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Pavel Pisa Tested-by: Pavel Pisa Message-ID: <20260702184038.178196-3-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/net/flexcan.h | 4 +- hw/arm/fsl-imx6.c | 2 +- hw/net/can/flexcan.c | 80 ++++++++++++++++++++++++++++++++-------- 3 files changed, 69 insertions(+), 17 deletions(-) diff --git a/include/hw/net/flexcan.h b/include/hw/net/flexcan.h index 153afc1e03b..32de7b904af 100644 --- a/include/hw/net/flexcan.h +++ b/include/hw/net/flexcan.h @@ -139,7 +139,9 @@ typedef struct FlexcanState { } FlexcanState; =20 #define TYPE_CAN_FLEXCAN "flexcan" - OBJECT_DECLARE_SIMPLE_TYPE(FlexcanState, CAN_FLEXCAN); =20 +#define TYPE_CAN_FLEXCAN2 "flexcan2" +#define TYPE_CAN_FLEXCAN3 "flexcan3" + #endif diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c index 585c935b899..eec9673c6fb 100644 --- a/hw/arm/fsl-imx6.c +++ b/hw/arm/fsl-imx6.c @@ -92,7 +92,7 @@ static void fsl_imx6_init(Object *obj) } for (i =3D 0; i < FSL_IMX6_NUM_CANS; i++) { snprintf(name, NAME_SIZE, "flexcan%d", i + 1); - object_initialize_child(obj, name, &s->flexcan[i], TYPE_CAN_FLEXCA= N); + object_initialize_child(obj, name, &s->flexcan[i], TYPE_CAN_FLEXCA= N2); } for (i =3D 0; i < FSL_IMX6_NUM_WDTS; i++) { snprintf(name, NAME_SIZE, "wdt%d", i); diff --git a/hw/net/can/flexcan.c b/hw/net/can/flexcan.c index 8f3f066ef50..da36d10bd33 100644 --- a/hw/net/can/flexcan.c +++ b/hw/net/can/flexcan.c @@ -1290,7 +1290,7 @@ static bool flexcan_mem_accepts(void *opaque, hwaddr = addr, return true; } =20 -static const struct MemoryRegionOps flexcan_ops =3D { +static const struct MemoryRegionOps flexcan2_ops =3D { .read =3D flexcan_mem_read, .write =3D flexcan_mem_write, .endianness =3D DEVICE_LITTLE_ENDIAN, @@ -1307,6 +1307,23 @@ static const struct MemoryRegionOps flexcan_ops =3D { }, }; =20 +static const struct MemoryRegionOps flexcan3_ops =3D { + .read =3D flexcan_mem_read, + .write =3D flexcan_mem_write, + .endianness =3D DEVICE_LITTLE_ENDIAN, + .valid =3D { + .min_access_size =3D 1, + .max_access_size =3D 8, + .unaligned =3D true, + .accepts =3D flexcan_mem_accepts + }, + .impl =3D { + .min_access_size =3D 4, + .max_access_size =3D 4, + .unaligned =3D false + }, +}; + static CanBusClientInfo flexcan_bus_client_info =3D { .can_receive =3D flexcan_can_receive, .receive =3D flexcan_receive, @@ -1322,16 +1339,26 @@ static int flexcan_connect_to_bus(FlexcanState *s, = CanBusState *bus) return 0; } =20 -static void flexcan_init(Object *obj) +static void flexcan2_init(Object *obj) { FlexcanState *s =3D CAN_FLEXCAN(obj); =20 memory_region_init_io( - &s->iomem, obj, &flexcan_ops, s, TYPE_CAN_FLEXCAN, + &s->iomem, obj, &flexcan2_ops, s, TYPE_CAN_FLEXCAN2, offsetof(FlexcanRegs, _reserved6) ); } =20 +static void flexcan3_init(Object *obj) +{ + FlexcanState *s =3D CAN_FLEXCAN(obj); + + memory_region_init_io( + &s->iomem, obj, &flexcan3_ops, s, TYPE_CAN_FLEXCAN3, + sizeof(FlexcanRegs) + ); +} + static void flexcan_realize(DeviceState *dev, Error **errp) { FlexcanState *s =3D CAN_FLEXCAN(dev); @@ -1384,19 +1411,42 @@ static void flexcan_class_init(ObjectClass *klass, = const void *data) dc->realize =3D flexcan_realize; device_class_set_props(dc, flexcan_properties); dc->vmsd =3D &vmstate_can; - dc->desc =3D "i.MX FLEXCAN Controller"; } =20 -static const TypeInfo flexcan_info =3D { - .name =3D TYPE_CAN_FLEXCAN, - .parent =3D TYPE_SYS_BUS_DEVICE, - .instance_size =3D sizeof(FlexcanState), - .class_init =3D flexcan_class_init, - .instance_init =3D flexcan_init, +static void flexcan2_class_init(ObjectClass *klass, const void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(klass); + + dc->desc =3D "i.MX FlexCAN 2 Controller"; +} + +static void flexcan3_class_init(ObjectClass *klass, const void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(klass); + + dc->desc =3D "i.MX FlexCAN 3 Controller"; +} + +static const TypeInfo flexcan_types[] =3D { + { + .name =3D TYPE_CAN_FLEXCAN, + .parent =3D TYPE_SYS_BUS_DEVICE, + .instance_size =3D sizeof(FlexcanState), + .class_init =3D flexcan_class_init, + .abstract =3D true, + }, + { + .name =3D TYPE_CAN_FLEXCAN2, + .parent =3D TYPE_CAN_FLEXCAN, + .class_init =3D flexcan2_class_init, + .instance_init =3D flexcan2_init, + }, + { + .name =3D TYPE_CAN_FLEXCAN3, + .parent =3D TYPE_CAN_FLEXCAN, + .class_init =3D flexcan3_class_init, + .instance_init =3D flexcan3_init, + }, }; =20 -static void can_register_types(void) -{ - type_register_static(&flexcan_info); -} -type_init(can_register_types) +DEFINE_TYPES(flexcan_types) --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430262; cv=none; d=zohomail.com; s=zohoarc; b=JtVOxWXkW6zxsfGNQ6LMJ6lsO9Jkos9/2Sqb5QnYDnxyx1XLix5mQ3w3RtsZ2b1uCpnOi/8tQMDFJabXqoePKpMLUGhm68GywpIdr243rh631AlOgKgZym7xJuRyK0ZNkAmem7+U24fE1i2uO2vAzSLf7U08uebo9V1qSkkwXJk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430262; 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=y0iWpO4qul3ujSwbc//EU/lt2JDiLE8eQeaVXdL7YXs=; b=TyFJg4WTqa+z0ADe0XcxRF+9Vl+IDsLQ5vdCnwp86RKa9+11TlYk9GeEzyZK6TWzxdUy7nqVgVt0nfEx6UqC0i+RUb+MWgPu5t5QMN2DwUR+CUQqlk3oYOyGkyRv3YuVVswcgBKPxUeDrL330iyLQYJPxXSgRlbwlvtYLGSIxO4= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178343026226736.777501539697596; Tue, 7 Jul 2026 06:17:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eT-0004Km-VN; Tue, 07 Jul 2026 09:15:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5dQ-00032N-Qt for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:58 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5dL-0000ah-5i for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:44 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C9NTb3740993 for ; Tue, 7 Jul 2026 13:14:42 GMT Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8v9a9kxp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:14:42 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51bec738909so31110681cf.1 for ; Tue, 07 Jul 2026 06:14: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 4fb4d7f45d1cf-69a19d786e7sm6322458a12.16.2026.07.07.06.14.39 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:14:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= y0iWpO4qul3ujSwbc//EU/lt2JDiLE8eQeaVXdL7YXs=; b=ogjm/v/3kiJ+BwfP e97ODi36Z4RNoWgK773+liZ1CdZRHf2bcVDPVe4l4enLMGCEnYOvNifabVYa2PjB 0+rg85lKNmSuLz1XtsvU8IpnfQutxuGIIPXWR50X1cyNSfkWfyubhLdMDwRkrXey 6aML8Fx/4F01xLlcoeU/B4SUGL+TwbUnxTpGRkCwGBm2hwGVk2VqCJwEAYRCVgbz xsCbLQEnk6ke2seDnJ8kv1pSru+gV+76GWbMOsTXosKKyzUIQCXPwvIo/LPlJBJn Nn7U6v60V85+Z/Mc9yIT61xKeN3pGcmnYzNFYTrWwGeqEf93W//NZQJgpBSCu0vP US9v8w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430081; x=1784034881; 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=y0iWpO4qul3ujSwbc//EU/lt2JDiLE8eQeaVXdL7YXs=; b=M0HVdihDn55pk0bKzN+Sqj2X+BGsd/Jxec/QYn8W12DjJB2YbcEhcJpoIG+PgJ5Xyk 6R5Z1xftuKGjoaCwjqH/8wpl1DIm/sfNT9EfnwTDB4D2QaFYST+V7eh4pTZzVt11Mk8p KVQzsXVxqlj42BvkkW9/YdZtowt/N17GaWONaYJ6XDpo4BlaT89XTRjleEij+FMv2Bx3 83X4oHP88Os4FXxK6Wg3LYlr3zfGXMc4gL8b9CC7j5G31N7vQPk0qfCLe9FZ9hCsIPKQ W6VILMCp/4PpZLmhGfQXs/wbS7YBF2DtuC+rfXRqHtpIJYQdKzu8bNEfN3NRzzEUH/cZ qO+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430082; x=1784034882; 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=y0iWpO4qul3ujSwbc//EU/lt2JDiLE8eQeaVXdL7YXs=; b=Sh8noFLvK2RYEj4Bm83mdodWzOPHWnVI/ouMnd/0JPofiY+A3BkSvQElcIXR5Jhlsl IG7jg27kAEGpVNRwGymxKDEXCGd9ydxgsT2PdCErURYW1N6pDpwKQ6cD7vwbdKxB3A52 PvVNALvOoAy2SFje92qfFKLESFtexrcYTV4vIcNQIAzeqIO3xvhuOQb9sMPX1izCLGuB 4aOeGY4EH/ZqlO9FoewpJ3tQCUXkB8djsxIdXQWfv49mP4mJTrAGypZghf7MUqYzSa8F rHCsM19tWPJxWDxfFniKQu++wS2jAVHlpJ99p4bMtTZslvr7vBnfBef87z/sJ1/aSqIN ziRw== X-Gm-Message-State: AOJu0YwzCPvaaiQ4Kto9h0esiADBySdwDHaZg13DXn4BpMp1vVRANy5D QEMKu5bJBIlQ2PvUakt+KSJZdDieCqmQZhMKK9gPCBUAobazkqBKuHEup4JW9+8jnJNotJVQXEO 6nRDWfV2kc/Y7HB8ymFAFyoYTXo8hhUKpmB2LZ5WNKUOzX/4wDFAQLxhFcyz2lhHVfw== X-Gm-Gg: AfdE7cmHJhhOK6hFLhDIFTrlhk7q/tOH0wHFlnrjHuWj9mIoS1VlgwuEmooF5DBIJy2 XIZTTAWwN9bDXkTkVZw8kIt5Ax4g/DP4pm/zNgNvV0Yeuxb0AM6u2N1U418PKF9sm5xpWLzCHtW F+NT4cqup2Bde2qXgxEGTVXIArEKwRxz4h8Oh19vEmb67dDzozBLtzVr+XvDomQsuzlHvsGCkA9 5TUwiFkUut9Zz3C64Rg3HAdUAw2JPlbCNWqKXBFfT/nUL0w46u45ZGozLt+U483d2bLr7NS8sDK bAxmuJk8Qg3+fPUFqXZwBW2lR1P0UqHbSIF7uHM0/gx6uJcrnVGhlsab2DT3EoCxlAQGf1JyRhc MgMphQUMq2e7g7u/5P/Oqmh5qPKmpSZ8q/RWBa+UsDd8PGkGVY4oQFnDOWtmwuzjLje20 X-Received: by 2002:a05:622a:58c5:b0:517:8a18:7624 with SMTP id d75a77b69052e-51c7477f4a5mr53569321cf.3.1783430081413; Tue, 07 Jul 2026 06:14:41 -0700 (PDT) X-Received: by 2002:a05:622a:58c5:b0:517:8a18:7624 with SMTP id d75a77b69052e-51c7477f4a5mr53568801cf.3.1783430080755; Tue, 07 Jul 2026 06:14:40 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 19/32] hw/arm/imx8mp-evk: Open code DEFINE_MACHINE_AARCH64 Date: Tue, 7 Jul 2026 15:12:09 +0200 Message-ID: <20260707131223.51505-20-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: jN5-sza0RdVuMTEI0niymwt--2j89Jlb X-Proofpoint-ORIG-GUID: jN5-sza0RdVuMTEI0niymwt--2j89Jlb X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX6OyOOvGIB2Va vvZ4ojiOlTOR6w1h+a3YdlH1ETRCdipo3WLv0hEFDe7l2B3JxCmYvWVw6mHmhCsj9igXFIyFmCf mOewYzIJBjozPC2P4CYdYvOTg6/nnqA= X-Authority-Analysis: v=2.4 cv=b9yCJNGx c=1 sm=1 tr=0 ts=6a4cfbc2 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=Eoc93EqmeQnS0nBNkFAA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX49Wn8L1+d7ys Ueo1crps4iA+fs8r9BF8wiEPIGuURmXD0sUx1qSMLwcXB/qRWTdMnc9N36MYB29MouB0B+m2QXZ /gLLnW8ZuUtts35M0mzaQthdwSKaV17vk9kfqM38YHH4fIeFFEjkHJFzdSWO+RgkasZsAZX1uN4 HSouGLYE6IllwxEIpzYDo33iz4tGyALthZpmnWMS5SegBy2eXWW7kEib1Z820YidICLTRTc7YZV hdcaQYC4HC9I4a8m3ThHRsVmYWpSv+LNhtBnfxPENBGi7zWK5FA14r9ZSL0gpQusgtGoPwKWHpo /4jfbqqoOh5Ja6dXP+1DPbgunZ6OQowjpUgn4EhZxUj77Zk3vb+eCMYLV7QNb9cOhfDg9JH6YWE znzCnQcyMuizwBrDzYTVih3EMJ49emyoCoT/EA5wXm2ua83CgBRTDMlMsadT+tgKe98U2MxKjbN Iax1A+aAS020WuUfjGQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 priorityscore=1501 adultscore=0 malwarescore=0 bulkscore=0 spamscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430263983158500 From: Bernhard Beschow Open code the DEFINE_MACHINE_AARCH64 macro in preparation of creating FslImx8mpEvkState class, needed for FlexCAN emulation. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Pavel Pisa Tested-by: Pavel Pisa Message-ID: <20260702184038.178196-4-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/imx8mp-evk.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/hw/arm/imx8mp-evk.c b/hw/arm/imx8mp-evk.c index b84ac91a17d..4a0c9df76b7 100644 --- a/hw/arm/imx8mp-evk.c +++ b/hw/arm/imx8mp-evk.c @@ -113,8 +113,10 @@ static const char *imx8mp_evk_get_default_cpu_type(con= st MachineState *ms) return ARM_CPU_TYPE_NAME("cortex-a53"); } =20 -static void imx8mp_evk_machine_init(MachineClass *mc) +static void imx8mp_evk_machine_class_init(ObjectClass *oc, const void *dat= a) { + MachineClass *mc =3D MACHINE_CLASS(oc); + mc->desc =3D "NXP i.MX 8M Plus EVK Board"; mc->init =3D imx8mp_evk_init; mc->default_cpus =3D 4; @@ -124,4 +126,13 @@ static void imx8mp_evk_machine_init(MachineClass *mc) mc->get_default_cpu_type =3D imx8mp_evk_get_default_cpu_type; } =20 -DEFINE_MACHINE_AARCH64("imx8mp-evk", imx8mp_evk_machine_init) +static const TypeInfo imx8mp_evk_machine_types[] =3D { + { + .name =3D MACHINE_TYPE_NAME("imx8mp-evk"), + .parent =3D TYPE_MACHINE, + .class_init =3D imx8mp_evk_machine_class_init, + .interfaces =3D aarch64_machine_interfaces, + }, +}; + +DEFINE_TYPES(imx8mp_evk_machine_types) --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430173; cv=none; d=zohomail.com; s=zohoarc; b=Rmvz0/sq6lqtgKcs1srl6SgNZQ3zHkcDnD48wjKoMqxtlO/Vvxbf7IKxklYZpSK/mMh8WRd4tsAs1P/fNdE+1QI7xi7y2LDoZJkurRKbyq+d+3ap7poXeadP+ExNy8RXpGgsKSJhIZ/4b76JKGf77azgdukLRjRTCYjr0KZjgBw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430173; 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=MQ8cwo67B8kScl6kCnX4SGCllu3hPViC4NEXHKyhSy8=; b=D1B2+SMbh5yM8zWAKDK3Si6KHrABXxL84sTx6kfV2fvMv6Af9yuCvjmsUUS0UvQ8Ni5Do/wo7QAgNzoLd/dMfkgr0QoJCtmRTsKOg6so3Zkhb9UMbR0pkVlpcWcu+Zs1JAE1Ite3XXrFopHPFtZDB8jOSKsdlSUVI+tyNqnrfHE= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178343017302582.69022594225692; Tue, 7 Jul 2026 06:16:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eT-0004Jv-NZ; Tue, 07 Jul 2026 09:15:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5dc-00038Y-27 for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:05 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5dW-0000bJ-9V for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:14:57 -0400 Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C93uR3590163 for ; Tue, 7 Jul 2026 13:14:51 GMT Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8w2u9bp6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:14:50 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c1e6f602cso72772091cf.3 for ; Tue, 07 Jul 2026 06:14:50 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ad9be41esm137511466b.39.2026.07.07.06.14.46 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:14:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= MQ8cwo67B8kScl6kCnX4SGCllu3hPViC4NEXHKyhSy8=; b=XQy8beQsugV9pTMu zHs9gMw+DQ50ez9+VTu5/0KidEV26rFy3p3IYhghdTWGRVddT6S/1yJm3LNLc3Ag uYZ7BfrHjHSzI3SqG4zekVcQrH6hrmgkWB8Yogh/KuYV2gy8S9N4HLF8OakJmhZB rXKfg1zwyJ4bLvoLL27PODd6/jr/y1Q+OYp/NA0pjJrUwJhVRH05GsOT9WhoVHPW jY5asIXYWisuxrN6AqFUtezT2ab5p1j5g76T251eBLcrkzl9dnQ6HCY3MmIQ77O0 6glhghMHWdIssB5TgTWsM7MGnrjTRxz34qKjQkyBx+fs5Hlz4tTEJFdp7IlehAFa ZJwyag== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430090; x=1784034890; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=MQ8cwo67B8kScl6kCnX4SGCllu3hPViC4NEXHKyhSy8=; b=EUZI1KC+j56mzzQBZs7mdZq48uULEo11j2rNAt/aNpaFoUX7uNNBYEbBHsxyXiD65J YwDokPtTBnx1JX1oLmtrTe9ElZ1BAt28WPn+1+xuaPoIEs+9Qm8XkkkC5+YoFHvKPjbn J7Li6T8mqpBN5dF0/tk9wxUfgoxtKO46ZqbRWOEd+TsdUp6PMPNLqj0IO1rI1/O2mg7r bS7F/mn7u8ADaPaxr5GexnFR6O7JhKkzr7NeI0hd1fNmLP0qkHbaH+qUWcgBlHyB14tJ JbHmgVVJIAmkiyZekE1YjdE5e+PjxOwFshU1keLLvXZI3N8A5AbdScijACREEy3lIeVI kx7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430090; x=1784034890; h=content-transfer-encoding:content-type: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 :content-type; bh=MQ8cwo67B8kScl6kCnX4SGCllu3hPViC4NEXHKyhSy8=; b=P2dlUiXRB8RdyN+s9ogk/q/qpibCe2bcvfgZzcq6rEeT0sjKIXPc/uvyO82UAjxfzZ +jubhiCLRv6AA0hDceZJZBlPXi3fTUcSZQkLnrZ9o2uxZggXb6HTUsz4aIhmzMBBVZls M6Bzb09tCAl5cCY+/iD7SRfNyV/YAK7payM8IBETdliGschRftgvpWBdSbArNGm61fL5 7a2HvCUcJkUkUrj1wMnV8zYkW4qWfSOHF5CAM/Db/AGdcoSD2RzsiZjhNCU63ZTohXSz TXaDcPCJFkLFJUy2EUcd/6C83rR/yLYZI3zSr5JvpvEb+A77nmwdWn1ZP2VdIOh5E2O7 tFrQ== X-Gm-Message-State: AOJu0YxjfTCfCzexHDogVAJU5ughFoOgaU0S0GY+cbvu8wMXp7McGsfi 0iTXAnE5tn91h4gO3sd9ANUx1mzeecshjnLX381ANQNBAvNabgML4pPh03ySd0MA/IQ6S+RFr8D 2fU6+ILoqNdJvHsRcGwi7/u5Mp0ARbYyBt/k73/8CMup22aLX5fv6rz2ONLkzNjAElQ== X-Gm-Gg: AfdE7clZvzIjjSTD3eJLGbpGwr9s7rNqzE1ApliDhQX6GcwF8M5ocbV/hUStM/+xW+r Hr9XR1FMdOlXt8EORqpJcQYayB9KHF56WC3Snz2dh09FhmAruRhJJTAWaZlVNSxV/O1EJ9RZtli 09Fk7IYJidZYDRbbpwnplYSIM5aQ8udrVyvLYu9gcap6dnJ+HEuKV+0xWVLnVUL7j/yY4lFvI1e Ko3V/ZwNCKAmJyHdO5D9YW3DE+/PPYJlRxxD4uZLC+ptS7TcFBdeeGoBkzTb2h+zo56POWMPjRB 3uyyN00zUR1jQoDqSGiXebosIlaENqiY1qkF+VfbRGjBJNs7Al63Nq1WEGU54tF5H+kpj0V4viT kMmxfvO3AkezLrQrs1zXoZeC0CNtv2idA01TkK/lBzgO8eUaDK/o1ki8Vw1SuJQudaMkR X-Received: by 2002:ac8:5e4a:0:b0:51c:2685:2964 with SMTP id d75a77b69052e-51c7487fd08mr50987411cf.43.1783430089407; Tue, 07 Jul 2026 06:14:49 -0700 (PDT) X-Received: by 2002:ac8:5e4a:0:b0:51c:2685:2964 with SMTP id d75a77b69052e-51c7487fd08mr50986261cf.43.1783430088026; Tue, 07 Jul 2026 06:14:48 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 20/32] hw/arm/imx8mp-evk: Introduce FslImx8mpEvkState Date: Tue, 7 Jul 2026 15:12:10 +0200 Message-ID: <20260707131223.51505-21-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX+Ldxdigasy7w +iM0iYrdj5dCdxkghc+t7T2je7Zcsaic4J1BS+kN+VuKVPPBbu7EtTqUjCil/DsUSoFqLSXxB06 llYEYYzFMJHr0DrYA9VkZe31bIBgloI= X-Proofpoint-GUID: EU2WoTvIEHtkajqX4dzosktQ8CuOmgg- X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX/gu5FXyi8fId dm2R+QPLrqcUMkCNw1uJMj+nMfmFBaWFRa4VUMiYmhTI5HMCKAyzcPbvmilhku5evgOustp/Z5t X9Ec9TXpfptVMEku5ZCgXMboY74Xx31eiHmvoS0DEh+7DceHE2ftV2sPhR9hqSu0fTDFfBU1zPA 1gI4LyGSEEf9nZGjcwYwbmxbClYMKtoXUhG5jtlDVSVwNwBeJ6KXTM5kdMKqa9QYJUZ+dD5bn4l dLFagWhnQmQRkufgsuLDLP2ZByxg4GvlrrtZWvgYswF3spxv8AtTjiewEGZw8IMcJE5qZ5mlR9+ quxAWEkYbnPzZh1uTc34p1PYYtEqEf7mK4XJQL7e1xdt8j3q0HkLLXGag3r4MW0Tcv8+wArdiF5 +ewXuDqfurzn16AfF+2ryBfNTUdJZGLy71+2DW2v5/ezGAmF7kLG2Pt6RzSdVhPzG/tHKaXTfBR BVI6HsLVpVw/GBEUieQ== X-Proofpoint-ORIG-GUID: EU2WoTvIEHtkajqX4dzosktQ8CuOmgg- X-Authority-Analysis: v=2.4 cv=bPQm5v+Z c=1 sm=1 tr=0 ts=6a4cfbca cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=v0UstXECslOuxGkfbp0A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 spamscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430173196158500 From: Bernhard Beschow Introduce class FslImx8mpEvkState which will be needed for holding CanBusState attributes and associated properties. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Pavel Pisa Tested-by: Pavel Pisa Message-ID: <20260702184038.178196-5-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/imx8mp-evk.c | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/hw/arm/imx8mp-evk.c b/hw/arm/imx8mp-evk.c index 4a0c9df76b7..ca0ee2d3f2e 100644 --- a/hw/arm/imx8mp-evk.c +++ b/hw/arm/imx8mp-evk.c @@ -19,6 +19,17 @@ #include "qapi/error.h" #include =20 +#define TYPE_IMX8MPEVK_MACHINE MACHINE_TYPE_NAME("imx8mp-evk") +OBJECT_DECLARE_SIMPLE_TYPE(FslImx8mpEvkState, IMX8MPEVK_MACHINE) + +struct FslImx8mpEvkState { + MachineState parent_obj; + + FslImx8mpState soc; + + struct arm_boot_info boot_info; +}; + static void imx8mp_evk_modify_dtb(const struct arm_boot_info *info, void *= fdt) { int i, offset; @@ -57,8 +68,7 @@ static void imx8mp_evk_modify_dtb(const struct arm_boot_i= nfo *info, void *fdt) =20 static void imx8mp_evk_init(MachineState *machine) { - static struct arm_boot_info boot_info; - FslImx8mpState *s; + FslImx8mpEvkState *s =3D IMX8MPEVK_MACHINE(machine); =20 if (machine->ram_size > FSL_IMX8MP_RAM_SIZE_MAX) { error_report("RAM size " RAM_ADDR_FMT " above max supported (%08" = PRIx64 ")", @@ -66,7 +76,7 @@ static void imx8mp_evk_init(MachineState *machine) exit(1); } =20 - boot_info =3D (struct arm_boot_info) { + s->boot_info =3D (struct arm_boot_info) { .loader_start =3D FSL_IMX8MP_RAM_START, .board_id =3D -1, .ram_size =3D machine->ram_size, @@ -74,10 +84,9 @@ static void imx8mp_evk_init(MachineState *machine) .modify_dtb =3D imx8mp_evk_modify_dtb, }; =20 - s =3D FSL_IMX8MP(object_new(TYPE_FSL_IMX8MP)); - object_property_add_child(OBJECT(machine), "soc", OBJECT(s)); - object_property_set_uint(OBJECT(s), "fec1-phy-num", 1, &error_fatal); - sysbus_realize_and_unref(SYS_BUS_DEVICE(s), &error_fatal); + object_initialize_child(OBJECT(machine), "soc", &s->soc, TYPE_FSL_IMX8= MP); + object_property_set_uint(OBJECT(&s->soc), "fec1-phy-num", 1, &error_fa= tal); + sysbus_realize_and_unref(SYS_BUS_DEVICE(&s->soc), &error_fatal); =20 memory_region_add_subregion(get_system_memory(), FSL_IMX8MP_RAM_START, machine->ram); @@ -93,14 +102,14 @@ static void imx8mp_evk_init(MachineState *machine) } =20 blk =3D blk_by_legacy_dinfo(di); - bus =3D qdev_get_child_bus(DEVICE(&s->usdhc[i]), "sd-bus"); + bus =3D qdev_get_child_bus(DEVICE(&s->soc.usdhc[i]), "sd-bus"); carddev =3D qdev_new(TYPE_SD_CARD); qdev_prop_set_drive_err(carddev, "drive", blk, &error_fatal); qdev_realize_and_unref(carddev, bus, &error_fatal); } =20 if (!qtest_enabled()) { - arm_load_kernel(&s->cpu[0], machine, &boot_info); + arm_load_kernel(&s->soc.cpu[0], machine, &s->boot_info); } } =20 @@ -128,9 +137,10 @@ static void imx8mp_evk_machine_class_init(ObjectClass = *oc, const void *data) =20 static const TypeInfo imx8mp_evk_machine_types[] =3D { { - .name =3D MACHINE_TYPE_NAME("imx8mp-evk"), + .name =3D TYPE_IMX8MPEVK_MACHINE, .parent =3D TYPE_MACHINE, .class_init =3D imx8mp_evk_machine_class_init, + .instance_size =3D sizeof(FslImx8mpEvkState), .interfaces =3D aarch64_machine_interfaces, }, }; --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430245; cv=none; d=zohomail.com; s=zohoarc; b=PmaA1/U/a3cy6Wf/zKJUgIQcKDuAyqvpUwzQDlvXuLqgkGEB0HapZNlcpRDdEGb+lRx8eSt2PwFt2ESLQ9w8mZrpIyhj6No11sNA7OPzbaE+PD6k0V+WER68Vs2Hq2RAQTgKF/3Vt501VlYHbgOF8gDgRhS6RPwtVfhmjB7d9gA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430245; 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=lwy62xx5wzDGhRrxw2fAL5St5JaZiBKS1EskyvV1LtM=; b=kOXEVv1vyk3ItulnwhLnf2ajE9T9IgiIrt26O1RNseYGmVZTm5gpCRHBShFk/Pb1jcqkBnsqCuwKB88rYOzTtbYypIxTJNGIwiOiMY/RWR6mcApdl0BC9ZWMMbo8+aweVInMpzrgMFPcMUG3pL4SGyT2KxAPNa8PWpx/kTdxlKM= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430245410304.5376525131179; Tue, 7 Jul 2026 06:17:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eS-0004F1-2W; Tue, 07 Jul 2026 09:15:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5dd-00038l-Q3 for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:06 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5db-0000cE-N6 for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:01 -0400 Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C94Dm3720529 for ; Tue, 7 Jul 2026 13:14:57 GMT Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8v3t9mw2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:14:57 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c1a97644aso56514361cf.2 for ; Tue, 07 Jul 2026 06:14:57 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15b1a1011fsm114765766b.58.2026.07.07.06.14.54 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:14:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= lwy62xx5wzDGhRrxw2fAL5St5JaZiBKS1EskyvV1LtM=; b=UXoEVG3ugp7Ysitr ZhID93rcb8iV+eYBsFwhKa2O2jeUw3r+b2SxHtkAqCjVh7rzO/YoXtQ6+przP4pq Hf4gmaNozTt861cm0PH743jMoABCZ2XaDw2jFrm9USbuJGMC5aA6cMDPsC3ZD0Mf UkTIbod2YsBTgLWy4y2jH7rz4U84BGukeVLFJoOUUfLlisjUjDpmKb4zZ/7A+noT HrRtGkkaAydRQkwcfQtEWCUaNfZUd/qQKJeMUVKvYloJafvXOml2SUpVdAGU4B4C ELa7ctEXkrpZHwRIjhUdbA/NMNgOFmzYlbFsrF4BIkgqWC2Vups/9fyTcE97NFCO z1c1pw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430097; x=1784034897; 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=lwy62xx5wzDGhRrxw2fAL5St5JaZiBKS1EskyvV1LtM=; b=GG6h9ji/+/bKSVujrOxmojSX+FwDqpL3lqnJUAc5lG86mGYxAevV/ptSMfaSMXRPia okQx6xW37SfTzUAZRd4nzk0S1ZD6sZGALxGL/hKFNPtQrGdqyZvK+JnNVB+RFVRNILN9 ZUOFZoz9gDAKb9rjRyJAfeZQ4atZbC/HxTsBeI7fWX5Ksa3dFYhoWkBk8MDeFBIQyb0X bC2jzto2Sr2IujD4reccdZtpZa600cvW3eayJXlviKTIfnOby5XDbsNEIVyH3hmgIo81 ykQ6TN7Ro0IstigChjN8XktWNTV0RBvTFfykybsUabgZtVK67tzewKwZCEARxWpN4vo5 b10w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430097; x=1784034897; 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=lwy62xx5wzDGhRrxw2fAL5St5JaZiBKS1EskyvV1LtM=; b=Fw7RLsQj8SdMXpAT+THq0nhacGJ2bh3AXL6VPTWnZRQ8653YDWPBZUWweWxUl/fs7k WQ+ctpyR3wztYWakCdj/N6YjfMyCN0d1/0Yszngwj67zsxYfd6WAnTj9sKdjHZ4Utt4W NdYL6f0/qd0k0iKAQDXkfUO5j5k5GZ7oiLd9amTD8K7qcMg6BlNertxKQUR50hY2djJx 038+d8QtTaTEW0cJBwmpXwVgA+mpNb4JSp6dMMz8YvxcIy/6JVvf9jEw3eFW6GrDyg7Q bxKbeajQo9And4xb2VwT6AHr6Qp8e/VCbH92HF9yfylpq6K3aOZhv9BHJvt1GQede7FT IR6Q== X-Gm-Message-State: AOJu0YxFEhPvZvFrrf0ozSnbHBdlmZ46ofcfdKEDted8G/ZA7cM5cbPC edQIrZLq0jwj/+Y/mf25GEZWijF4FboIhJn3sq6qnov7QBa8opU5amjgDW7lXzmhXJ26YTzT8dn 3NrmGtaRMq9HDGeLB6IpP7s4gunS/BnNZNbEsgDD5lUZUFBBzO+8dcKwonIL8hc+iJA== X-Gm-Gg: AfdE7clZuxEJ+WOUOzfIBqGGxX/dm/UiCASdtHR60K3NFUwktIrX7KPyFGrUO2neqsk lNKtxh23JS5XJ1ENxUwzR2tG5YVZouMzWQ973ME9XGnxT2Wb2FT8yOEOjeo7QT9ZH+EPpA3VS1B HEFPDuyh+U6CU/ALFYylD3vln2ppjO/hNApC4cqmY+9unmEkAUjkwzhWoSCYPD4iIgMHcWMPRY/ dLJzu2hGqGMfHOYJwqcHT1iSV2ELZ4xh5QjZxo4tuKR5ZdTVbw/oUck7ZS+CKBLWXeZVMKqwBXk ElNzDRIWPsCDxnvUF8ij12wayh+47vhcIbs50BYpFtr+z9F8FN+lsN2Bypyw4JJqwSvNFEbjzxW KSUyPLtTtlm3pPnDw+ZzcZq7mawTny1i55hMHxsDE2fWuErJhskqCiAq4mSX2YQ+E+ZEx X-Received: by 2002:a05:622a:c4:b0:51c:93b:4f1c with SMTP id d75a77b69052e-51c748bfcc9mr54043401cf.43.1783430096409; Tue, 07 Jul 2026 06:14:56 -0700 (PDT) X-Received: by 2002:a05:622a:c4:b0:51c:93b:4f1c with SMTP id d75a77b69052e-51c748bfcc9mr54042821cf.43.1783430095730; Tue, 07 Jul 2026 06:14:55 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 21/32] hw/arm: Add basic FlexCAN3 support to TYPE_FSL_IMX8MP and imx8mp-evk Date: Tue, 7 Jul 2026 15:12:11 +0200 Message-ID: <20260707131223.51505-22-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: si5yioxpm1vOpxZnTfmfEMnGUceW23qo X-Proofpoint-ORIG-GUID: si5yioxpm1vOpxZnTfmfEMnGUceW23qo X-Authority-Analysis: v=2.4 cv=HqVG3UTS c=1 sm=1 tr=0 ts=6a4cfbd1 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=NiCNghgGZ4kQcQUTIdUA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX8AOIksyppbJr azIEEw3+so/m9URSLQmFGPMoI+i0Nri3Y5Tlr5CReUhcDoj0hrCMQ6UeyE207dgEdAprqHvw+rS LomKMRViIuG+wY7DUTjoqQnB4tw2zhWA23hnSFxfhZoTAjdXxIPoR9Ht/tKLzMZ7GKPBo1vZKyU 8fn6PLlkhrqATvXRSthzB3RlAC0xQ79yxCz3wyFY0HWlSZQKuTgcT1fZLBEW4R4fGvSvGs7+d3P ZmjVb9xut5y4UeE0L6RWcIq9K+nUs4tvBUDVIVhZJLiG74CFi2Wven68LjIwYuI2reUd2Tt+KyP Goxl+zdkZTm7iUMznsG2YsXKJgCntBKYaS3aFm0cMqOPUExIlN+BtB467gKS4nbd6NCeZRTWF2z bDEO2eOi7kXe75hEV1WUb/xBxvfrFE3pW4zRMl3+ca1lFva7AisRX7CpUrzo+/LVW/kj6NxtmHD sb75E0bxlwBLrbyQ4GQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX1HT7Lk7os9Zg plYQqgNfv9xyDqOHB/DIpaZvz0rb/oc0skuRPYbbJWHYWYoxGxjb22i/Vh1ALzsSIFVYtvGJfLv h2XAvliyCArRs41ierbAklZCbbFUXCU= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 adultscore=0 suspectscore=0 malwarescore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430245904158500 From: Bernhard Beschow Real hardware supports CAN FD which is missing in the emulation and is considered future work. Still, CAN communication already works under Linux. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Pavel Pisa Tested-by: Pavel Pisa Message-ID: <20260702184038.178196-6-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- docs/system/arm/imx8m.rst | 1 + include/hw/arm/fsl-imx8mp.h | 8 ++++++++ hw/arm/fsl-imx8mp.c | 38 +++++++++++++++++++++++++++++++++++++ hw/arm/imx8mp-evk.c | 21 ++++++++++++++++++++ hw/misc/imx8mp_ccm.c | 3 +++ hw/arm/Kconfig | 1 + 6 files changed, 72 insertions(+) diff --git a/docs/system/arm/imx8m.rst b/docs/system/arm/imx8m.rst index afbc33b2f40..1bcb8255be5 100644 --- a/docs/system/arm/imx8m.rst +++ b/docs/system/arm/imx8m.rst @@ -18,6 +18,7 @@ following devices: * 1 Designware PCI Express Controller * 1 Ethernet Controller * 2 Designware USB 3 Controllers + * 2 FlexCAN 3 CAN Controllers (``imx8mp-evk`` only) * 5 GPIO Controllers * 6 I2C Controllers * 3 SPI Controllers diff --git a/include/hw/arm/fsl-imx8mp.h b/include/hw/arm/fsl-imx8mp.h index 3b6183ed1d6..2be3c51af56 100644 --- a/include/hw/arm/fsl-imx8mp.h +++ b/include/hw/arm/fsl-imx8mp.h @@ -17,6 +17,7 @@ #include "hw/misc/imx7_snvs.h" #include "hw/misc/imx8mp_analog.h" #include "hw/misc/imx8mp_ccm.h" +#include "hw/net/flexcan.h" #include "hw/net/imx_fec.h" #include "hw/core/or-irq.h" #include "hw/pci-host/designware.h" @@ -37,6 +38,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(FslImx8mpState, FSL_IMX8MP) #define FSL_IMX8MP_RAM_SIZE_MAX (8 * GiB) =20 enum FslImx8mpConfiguration { + FSL_IMX8MP_NUM_CANS =3D 2, FSL_IMX8MP_NUM_CPUS =3D 4, FSL_IMX8MP_NUM_ECSPIS =3D 3, FSL_IMX8MP_NUM_GPIOS =3D 5, @@ -68,11 +70,14 @@ struct FslImx8mpState { USBDWC3 usb[FSL_IMX8MP_NUM_USBS]; DesignwarePCIEHost pcie; FslImx8mPciePhyState pcie_phy; + FlexcanState flexcan[FSL_IMX8MP_NUM_CANS]; OrIRQState gpt5_gpt6_irq; MemoryRegion ocram; =20 uint32_t phy_num; bool phy_connected; + + CanBusState *canbus[FSL_IMX8MP_NUM_CANS]; }; =20 enum FslImx8mpMemoryRegions { @@ -279,6 +284,9 @@ enum FslImx8mpIrqs { FSL_IMX8MP_PCI_INTC_IRQ =3D 124, FSL_IMX8MP_PCI_INTD_IRQ =3D 123, FSL_IMX8MP_PCI_MSI_IRQ =3D 140, + + FSL_IMX8MP_FLEXCAN1_IRQ =3D 142, + FSL_IMX8MP_FLEXCAN2_IRQ =3D 144, }; =20 #endif /* FSL_IMX8MP_H */ diff --git a/hw/arm/fsl-imx8mp.c b/hw/arm/fsl-imx8mp.c index 7c03ed3c347..bcd91739d9b 100644 --- a/hw/arm/fsl-imx8mp.c +++ b/hw/arm/fsl-imx8mp.c @@ -246,6 +246,11 @@ static void fsl_imx8mp_init(Object *obj) object_initialize_child(obj, name, &s->wdt[i], TYPE_IMX2_WDT); } =20 + for (i =3D 0; i < FSL_IMX8MP_NUM_CANS; i++) { + g_autofree char *name =3D g_strdup_printf("flexcan%d", i); + object_initialize_child(obj, name, &s->flexcan[i], TYPE_CAN_FLEXCA= N3); + } + object_initialize_child(obj, "eth0", &s->enet, TYPE_IMX_ENET); =20 object_initialize_child(obj, "pcie", &s->pcie, TYPE_DESIGNWARE_PCIE_HO= ST); @@ -669,6 +674,34 @@ static void fsl_imx8mp_realize(DeviceState *dev, Error= **errp) sysbus_mmio_map(SYS_BUS_DEVICE(&s->pcie_phy), 0, fsl_imx8mp_memmap[FSL_IMX8MP_PCIE_PHY1].addr); =20 + /* FlexCANs */ + for (i =3D 0; i < FSL_IMX8MP_NUM_CANS; i++) { + static const struct { + hwaddr addr; + unsigned int irq; + } flexcan_table[FSL_IMX8MP_NUM_CANS] =3D { + { + fsl_imx8mp_memmap[FSL_IMX8MP_FLEXCAN1].addr, + FSL_IMX8MP_FLEXCAN1_IRQ + }, { + fsl_imx8mp_memmap[FSL_IMX8MP_FLEXCAN2].addr, + FSL_IMX8MP_FLEXCAN2_IRQ + }, + }; + + object_property_set_link(OBJECT(&s->flexcan[i]), "clock-control-mo= dule", + OBJECT(&s->ccm), &error_abort); + object_property_set_link(OBJECT(&s->flexcan[i]), "canbus", + OBJECT(s->canbus[i]), &error_abort); + + sysbus_realize(SYS_BUS_DEVICE(&s->flexcan[i]), &error_abort); + + sysbus_mmio_map(SYS_BUS_DEVICE(&s->flexcan[i]), 0, + flexcan_table[i].addr); + sysbus_connect_irq(SYS_BUS_DEVICE(&s->flexcan[i]), 0, + qdev_get_gpio_in(gicdev, flexcan_table[i].irq)); + } + /* On-Chip RAM */ if (!memory_region_init_ram(&s->ocram, OBJECT(dev), "imx8mp.ocram", fsl_imx8mp_memmap[FSL_IMX8MP_OCRAM].size, @@ -684,6 +717,7 @@ static void fsl_imx8mp_realize(DeviceState *dev, Error = **errp) switch (i) { case FSL_IMX8MP_ANA_PLL: case FSL_IMX8MP_CCM: + case FSL_IMX8MP_FLEXCAN1 ... FSL_IMX8MP_FLEXCAN2: case FSL_IMX8MP_GIC_DIST: case FSL_IMX8MP_GIC_REDIST: case FSL_IMX8MP_GPIO1 ... FSL_IMX8MP_GPIO5: @@ -715,6 +749,10 @@ static void fsl_imx8mp_realize(DeviceState *dev, Error= **errp) static const Property fsl_imx8mp_properties[] =3D { DEFINE_PROP_UINT32("fec1-phy-num", FslImx8mpState, phy_num, 0), DEFINE_PROP_BOOL("fec1-phy-connected", FslImx8mpState, phy_connected, = true), + DEFINE_PROP_LINK("canbus0", FslImx8mpState, canbus[0], TYPE_CAN_BUS, + CanBusState *), + DEFINE_PROP_LINK("canbus1", FslImx8mpState, canbus[1], TYPE_CAN_BUS, + CanBusState *), }; =20 static void fsl_imx8mp_class_init(ObjectClass *oc, const void *data) diff --git a/hw/arm/imx8mp-evk.c b/hw/arm/imx8mp-evk.c index ca0ee2d3f2e..16e9722d146 100644 --- a/hw/arm/imx8mp-evk.c +++ b/hw/arm/imx8mp-evk.c @@ -26,6 +26,7 @@ struct FslImx8mpEvkState { MachineState parent_obj; =20 FslImx8mpState soc; + CanBusState *canbus[FSL_IMX8MP_NUM_CANS]; =20 struct arm_boot_info boot_info; }; @@ -86,6 +87,12 @@ static void imx8mp_evk_init(MachineState *machine) =20 object_initialize_child(OBJECT(machine), "soc", &s->soc, TYPE_FSL_IMX8= MP); object_property_set_uint(OBJECT(&s->soc), "fec1-phy-num", 1, &error_fa= tal); + for (int i =3D 0; i < FSL_IMX8MP_NUM_CANS; i++) { + g_autofree char *bus_name =3D g_strdup_printf("canbus%d", i); + + object_property_set_link(OBJECT(&s->soc), bus_name, + OBJECT(s->canbus[i]), &error_fatal); + } sysbus_realize_and_unref(SYS_BUS_DEVICE(&s->soc), &error_fatal); =20 memory_region_add_subregion(get_system_memory(), FSL_IMX8MP_RAM_START, @@ -122,6 +129,19 @@ static const char *imx8mp_evk_get_default_cpu_type(con= st MachineState *ms) return ARM_CPU_TYPE_NAME("cortex-a53"); } =20 +static void imx8mp_evk_machine_init(Object *obj) +{ + FslImx8mpEvkState *s =3D IMX8MPEVK_MACHINE(obj); + + object_property_add_link(obj, "canbus0", TYPE_CAN_BUS, + (Object **)&s->canbus[0], + object_property_allow_set_link, 0); + + object_property_add_link(obj, "canbus1", TYPE_CAN_BUS, + (Object **)&s->canbus[1], + object_property_allow_set_link, 0); +} + static void imx8mp_evk_machine_class_init(ObjectClass *oc, const void *dat= a) { MachineClass *mc =3D MACHINE_CLASS(oc); @@ -140,6 +160,7 @@ static const TypeInfo imx8mp_evk_machine_types[] =3D { .name =3D TYPE_IMX8MPEVK_MACHINE, .parent =3D TYPE_MACHINE, .class_init =3D imx8mp_evk_machine_class_init, + .instance_init =3D imx8mp_evk_machine_init, .instance_size =3D sizeof(FslImx8mpEvkState), .interfaces =3D aarch64_machine_interfaces, }, diff --git a/hw/misc/imx8mp_ccm.c b/hw/misc/imx8mp_ccm.c index 911911ed865..97d363e79d8 100644 --- a/hw/misc/imx8mp_ccm.c +++ b/hw/misc/imx8mp_ccm.c @@ -129,6 +129,9 @@ static uint32_t imx8mp_ccm_get_clock_frequency(IMXCCMSt= ate *dev, IMXClk clock) case CLK_HIGH: freq =3D CKIH_FREQ; break; + case CLK_CAN: + freq =3D 40000000; /* 40Mhz, taken from device tree */ + break; case CLK_IPG: case CLK_IPG_HIGH: /* diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig index f9a225c19bc..82e0bc2e700 100644 --- a/hw/arm/Kconfig +++ b/hw/arm/Kconfig @@ -601,6 +601,7 @@ config FSL_IMX8MP imply I2C_DEVICES imply PCI_DEVICES select ARM_GIC + select CAN_FLEXCAN select FSL_IMX8MP_ANALOG select FSL_IMX8MP_CCM select IMX --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430184; cv=none; d=zohomail.com; s=zohoarc; b=FtHcxqnKv5avavgx1TgonzRQq0nL9GTvxDKn+8ApIiGORzmnPqI3jivV69oOxLfE1Y6LwlDLhjUOsE83hU0RNnoS0vCK/7c4FbhwDD/euL5pPGom/I+GEJnE2nv3eYm12DGUd6Mdw3FbB8IYYPhf6Y4gpQKcFh8HDtKpc9l/Wjg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430184; 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=xW2W2CaLt5ue0nvSEVBxu64kgHg6gz2jW97XPN0ehCE=; b=HCodIjuZxfRL4G5Oi5Iey0kd+0GV2HQO6Y3s2DLWQtC4s5i7eea3OFA0W6pwHY1y2FpO5XO0zlt+gEV1rurUMpeU3wnF/ZFRpY9jT0LWIdG9eQjUkSX3ewCI5vDLDaHav/zmin0JS4Qf1dJ+HIz+ZjLYRHWE6a38h4a2XFFz43Y= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430184971117.79339729736512; Tue, 7 Jul 2026 06:16:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eH-0003UW-Rv; Tue, 07 Jul 2026 09:15:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5dj-00039u-21 for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:11 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5dh-0000dR-DO for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:06 -0400 Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8sZQ3768510 for ; Tue, 7 Jul 2026 13:15:04 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8qj7ak6k-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:15:04 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c01ff996dso56811661cf.2 for ; Tue, 07 Jul 2026 06:15:04 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ad9bcc26sm131739566b.34.2026.07.07.06.15.01 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:15:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= xW2W2CaLt5ue0nvSEVBxu64kgHg6gz2jW97XPN0ehCE=; b=C7CzVWqwqdHZZKVD sz7XblS1lIELGTQ2jfR7MZ4JP7kbHnO1tVH90aXbdLA7MHr4KCHQl2SRhBDZfCOo KigGbo0am0P9m17FADAzxGYuwxJXto5JXUC00vb2iWivthKFxprOfYjYPY/IbUlz E7kGrOSZWf00XoTPbLZ3WSyQVRQCG1FZ1NrCC4tWmau+mBUGPg5pJ1LgMMHiOgkl iOn5P32FUdVjk6pK1xZJuCq/hsxNCQsJjeNL1N8b2dNC9J+nHmBOuG+q855kK1/w B2Rzxgzuol+MNe/zu4mGzGO/EyNxc7mNFMvviCL/+91LxdF86eALJA2HEsSQ186d O5u4hg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430104; x=1784034904; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=xW2W2CaLt5ue0nvSEVBxu64kgHg6gz2jW97XPN0ehCE=; b=AYAXn7SWyNIClTvcdh2NVp688/js0xoK7NxdAct+fr3Y5wFtow2Wx4fZZP859IPWi5 gy4KRaE+c+FB1f8R5YqX/fCUycZxAqdF0YReOGMogX445NP37XkQxT1eetFk1yJJX2PJ 4+xciz/ogCI1O+H+hupd+u+tvgVinBYzJ9XbeRPxDhN72ZDxa/T8hNKONrqNXTKCxO5I 1Xpr5vvo2cBL8fM8T5OgTNhM4p6oNISpsdfMYfsJubQh+1ZfwfqXIk5zJSGCHUXp36nT H9VsVVd9xiCLB22z7eYzwH69aC14bzofcWyIQ48Tl02R6hA8o8YJY6dNbJIScCczY/Kx wruA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430104; x=1784034904; h=content-transfer-encoding:content-type: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 :content-type; bh=xW2W2CaLt5ue0nvSEVBxu64kgHg6gz2jW97XPN0ehCE=; b=rgph5ECybwp/7+1m6h87jKqKDkywytjTtozaLUHZ1Lixr+gFbOT32EsI817zxOg+ft 5cNNf04FuYekVm5/JhdXh1rzRlFbgJ9/1jGTXogZat7hjR50kB57O/s4aDxKYq6ZfseL /V/dtkq8/VMRpCX9CVyXCB6PN5EIi8tBjV/0QmJJoj1tmwCPHRhdCR1j6nfN7IpkQYVM Pn7x3AhSL0y/WXjcZUqTPlsuIhGMvNOdX5yk2TurpiDOLFlusPnounOfvxOhwQwZQI3o QEOttYNYfg3Cy8tzX/kC2gabK0g11xJX0Ks4fGKHCXjIRWEsGHOoUk8qeFWQzQaN0LGm Cl0g== X-Gm-Message-State: AOJu0Yyc21R9QdXVQNpfCqOEb4LTNiQjjQuSW1Pldy+fO8Z9Ha424GKg JkxZfTckLrcXqrBP50LSzMnCS8MLdQrD4Tq/pUc5jQpKzrW07y7gb2bFM22NyupB34xdQ2lLNVp TVbdLezMlEwoQnD05ZKT14D9tBg/9bRcO4nSyQ6Dr9TGT9UK+MQE7uBq2pfNpRNp4wQ== X-Gm-Gg: AfdE7ck+kAAGpvaYijI7zpYo9+X/7k71KZh4mNZWdL0V3rsT0eSIxma3L4fYZ8NDhm+ UO2dxqp3NmJhwErDhOKXzQteO3zDv+qBJcPsvBLglBQXgiecpiq2raK5zJS4HHYfZZSdjRzx0Tz Yo8Hz2O2JGqJ2/I7kR+pTHW2cuj/u6R5ZDenxwq2TpivINSNf9kRKOWZoc2+aEkahUVGvcxtTiB 0LaPumR59SJmZazvUs4RKykE3VrlGZK50KAT71KzfDTLTq0nrdQKB1qNXNHSvtqL6zE+fLgYLj6 7O8sZ/r6Wn/Khx+tnK6ucjb/xY/0uLB6DhW9eC96CG9sv3s8dyUuLjcnssPrxyzbXMvfj0ZEdbt ubwEF7AXrsF4CUA133ZXzFAQa4AFtGwG7YTkByJMWVv4msiNtEBIWTIw6agORUsIhLKru X-Received: by 2002:a05:622a:144b:b0:51a:8c99:1f11 with SMTP id d75a77b69052e-51c748af0d5mr53589591cf.64.1783430103490; Tue, 07 Jul 2026 06:15:03 -0700 (PDT) X-Received: by 2002:a05:622a:144b:b0:51a:8c99:1f11 with SMTP id d75a77b69052e-51c748af0d5mr53589031cf.64.1783430102992; Tue, 07 Jul 2026 06:15:02 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 22/32] hw/rtc/mc146818rtc: convert date from object prop to class prop Date: Tue, 7 Jul 2026 15:12:12 +0200 Message-ID: <20260707131223.51505-23-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: fad-KFsJHIUKAsIfVXJ_cDY9WPQaedMp X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXyJ4sXOUUkO+6 JuyPP8fwHdTGseRyWxM5MUFXw8gPnYxuCQBYMW3CqZyDNtUxoS2pTqCu3uhCX3zELLtM0nPOmhP eMmDdAzKBBh0W7DNGvciq65/xrAezM53XsGwJhw4/S2xcoXbCtfRqjxGdrDa1pRkJeLmSFD+1mm qkA2uWXsmiHgWJPaMDVmPvKu9gLkeWX1DgFgpLk5UJTDKiD8h+r2s1kzbgX/9/7aaQuW6FoBuJk h+a06qZQW4cL+gTcAbD0wbJDf9w54WnmzaEZp6nUpm51S4MpJDAaDArJ5v2KgtPrHVRBxfl8NnX s9LqUucZXVe8VjQKcwaUYw9fTa/buTnm9O2m7rT0VfuMTh1eqqufpTig1YyG6mCqcxOPUI/qrqE TK1GfEqkZoHbkc5SARqW+Vw+LBSnlOBmtuopjRh+iqDujmAgXUlndIW2Kr5pkYG7oWvNpm4GJyp 2KEQvqX3M7WrnBHeL0A== X-Authority-Analysis: v=2.4 cv=PIM/P/qC c=1 sm=1 tr=0 ts=6a4cfbd8 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=64Cc0HZtAAAA:8 a=EUspDBNiAAAA:8 a=jAp_HAs5kC137pZsH9gA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX/2U8Qv6sTHGo yq1qFA32u6gtncpw+x4fQrmH02m6K0P/vOyDbgtxvG0xGMz6EH4nuTn175VTCuYlN+fQvGd5sh7 Wk0gFZ1D2y6kWeLuQBaWooc9mjhb+Nc= X-Proofpoint-GUID: fad-KFsJHIUKAsIfVXJ_cDY9WPQaedMp X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 impostorscore=0 malwarescore=0 adultscore=0 phishscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430185344158500 From: Mark Cave-Ayland This is to allow it to be the target of a class alias property. Signed-off-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260703090814.2993188-6-mark.caveayland@nutanix.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/rtc/mc146818rtc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/rtc/mc146818rtc.c b/hw/rtc/mc146818rtc.c index bcab018c7cd..ba396435d1a 100644 --- a/hw/rtc/mc146818rtc.c +++ b/hw/rtc/mc146818rtc.c @@ -920,8 +920,6 @@ static void rtc_realizefn(DeviceState *dev, Error **err= p) memory_region_add_subregion(&s->io, 0, &s->coalesced_io); memory_region_add_coalescing(&s->coalesced_io, 0, 1); =20 - object_property_add_tm(OBJECT(s), "date", rtc_get_date); - qdev_init_gpio_out(dev, &s->irq, 1); } =20 @@ -1020,6 +1018,8 @@ static void rtc_class_initfn(ObjectClass *klass, cons= t void *data) adevc->build_dev_aml =3D rtc_build_aml; device_class_set_props(dc, mc146818rtc_properties); set_bit(DEVICE_CATEGORY_MISC, dc->categories); + + object_class_property_add_tm(klass, "date", rtc_get_date); } =20 static const TypeInfo mc146818rtc_info =3D { --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430256; cv=none; d=zohomail.com; s=zohoarc; b=McMQUWJSY6tsf4PYtRE+IRvn8xR7aBZxNuyoo4xNmPaAVp8kweJdBW8S/XcMjOnCYHnz23t0W1yBJPrMrLZkOJTLZGOxBclzay22VR2shKOMoGd7Q6uRYab5iswSxqpHtSifqlLIKfiKH7s5Gpl7kvyS+S6heDLVjgsbiFC2MPc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430256; 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=2+z8poJM9049xhIW9DHOkqApxurQIMrtrakZfDdgwws=; b=CqyaJDjxx3eI4zgj+1SkN7qvsw6qLuk51hHfbEMx6/aizUBGAxBqFyqqCgZA0yRINOfF3UKvYBR2sqM2QD/3p7BZRMpeLy9YCPkan3dMZvnrb6W0G8l4rwvZrj3ii2bl82LndFVbNmKshU9pXF5lWUH3kXfmXjI+qi4lbUEyhdE= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430256081687.6065546984543; Tue, 7 Jul 2026 06:17:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eL-0003fL-Az; Tue, 07 Jul 2026 09:15:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5dt-0003Dt-FR for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:24 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5dr-0000eU-SK for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:17 -0400 Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8i8m3742128 for ; Tue, 7 Jul 2026 13:15:14 GMT Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8ye0gpw8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:15:14 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c1a9764f0so54953091cf.1 for ; Tue, 07 Jul 2026 06:15:14 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-69a19dbee72sm5922391a12.30.2026.07.07.06.15.09 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:15:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 2+z8poJM9049xhIW9DHOkqApxurQIMrtrakZfDdgwws=; b=I3UDbAQkWhNhxQTX 12NCoDWuS020DUFs0BkCyQJYLsRZqTPRrvehkuc4mKriMxsf0WBaSUjhqomNSbbB uJjZgjRHjleIy8dyjL3kw5JqmUEMXZ9x2S/A+Umv3B5YvoMiHltTdfFHmKDPZgdC D6lZWCfE1LTckebubnHMmakToZNJTd5qr8qCL/Ih+TlXBZy06HnlGxx2kbBbcWoW 1eyeJxJjujZ4iABWlxxwgPF4SaAUvM5lD92jultaOcOpoND3YJ3GGox8cMzZXL+2 iGuIMm5HnNMl1wmArIMdE94rWG/sm+jnjqEFygvuxLyRNlYjHSmube2utKriZdU1 MP2gaw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430113; x=1784034913; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=2+z8poJM9049xhIW9DHOkqApxurQIMrtrakZfDdgwws=; b=h0an7EWXrN+t4C+LuHxqlm0ShD3DnwG3hZJKVtC+AnJSXAJiAEXK9nwKRU/QwykqNL j4fG5b3oOCy46a1CfjzCteOReWU09X8vJ1JEpOdR8r4kpKJyQxLHNog9ggMJwH+IGVtr zOwlIManfN3kOJXrjueTxHuVUutsS/cfPJFXJSXimqDhtyygWLeQNfGttsbCOoG+efYV TCsKcHEjrZSjivUp5rEwfY+bc2tjRqo5FUnhb3BLxPPPZI//ATZW4stgxwCZ8WKfnl4o jY6GQHbfMO9PoCEajhqvD3UxVxvS5xVBEpSvTAjEY8EZ4jSHQLoR2BKAvS1HME/NJ8ur 55Pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430113; x=1784034913; h=content-transfer-encoding:content-type: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 :content-type; bh=2+z8poJM9049xhIW9DHOkqApxurQIMrtrakZfDdgwws=; b=RX3xHb02fSeI+ChXIyaFIrIZBPYMsaUoRWt+DgyE/6U8sztNFANqbVUUAjxhMuNJcI g7eCfYR7ThfGeyiie9r2IjIwKwAceDOYyOxMvKF8M6WMYWqrhdB5VWEoQquuhLnSL+gT t3sOzguSNrT1HIC55Bb6PxXw6ZhIPDYZA6cgCaaQdZ59AWEFL23bvmiTe0u8GTs/WVkf tUs81k+FjK4JXlc/3GgqOjcQ+i3WPuoDfsnGg0pewGr1KBFadqkjYmlbzFwgt950L+A+ LMRAr0H/5b7MUPO7RhdP98Zeu1ra/LvrUOmEqI2+1ZxsllaCyjG3cUyTf8dIWpT6GOq1 wCfQ== X-Gm-Message-State: AOJu0Yxn8Rws3FragojjKfPxl7DCC7G6zVNIYA+RUdpEhnerQeHEuAMw FcfZHB9hRnTqroD6gAK4mtcwD1+5hx1ZdfoDWHjyfQViOYNHnmBVLa5jJy4BAcg8tqRHemFSwxi Ks0LfmmQC8F3ofPs1YNoO6vuqcxP7ArDd9W35uFJE2dZUYIlPBG77HGry1TQmFcqA+g== X-Gm-Gg: AfdE7cnlfodHiK0C1y6YriGVi7gdTKlKbMpKS5acIwBFick+KRMMDj/PO1uJBEjIaFB rf3UHUosrXsOwsP1jrBpVCxSoaYcqQ/k9EvrRqLyise3dXJmsvjVv8k7JpTpVMnaTEs231L3UUQ WIdjZygVT69XdfenxMScHPWqGcDgC7rGg9P0wgUjlBPl9heyKFh3fs+uam8/lR8rAsEl8N4zsqv lmRWZU5Yk3s+f5IT4L0Hb4XNApTuTFrBF1pqdtAfLlclLvl/c6UKCGtwdH2te3MwEjZ1KA8upMw OVuTCv/HbSETYtsL4GxDUcWX9g4Lt9DbYtw5SRQuBIjJM1Ch4MtVQO6XRhvI187irDwm0Mf4b3U 12E1GfCSYtOV4dLKhL6J+1P2gzMyE8liCU3w5Qgusrljpr38fcBQ4WgHnde9MqzOpBf9J X-Received: by 2002:a05:622a:1b10:b0:51c:7b12:5ff4 with SMTP id d75a77b69052e-51c7b126584mr22651091cf.80.1783430113268; Tue, 07 Jul 2026 06:15:13 -0700 (PDT) X-Received: by 2002:a05:622a:1b10:b0:51c:7b12:5ff4 with SMTP id d75a77b69052e-51c7b126584mr22647391cf.80.1783430110182; Tue, 07 Jul 2026 06:15:10 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 23/32] hw/acpi/ich9: move initial property values into ich9_reset_properties() Date: Tue, 7 Jul 2026 15:12:13 +0200 Message-ID: <20260707131223.51505-24-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: GUrl6KsPucToGdt9SXnbJNFZJIokOrSB X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX9/ToXgBLuDQI Mrg1fXWyweFZRzqv8/kLpVmFqJTQqvOiXEUJWFAvLNIYGvOTcx5bLNyCtM8Z21PL6ZOTd6Fd7dE 4C1KobOkxNmR5RDFw5bh5mi2JXqhmcQ= X-Authority-Analysis: v=2.4 cv=SZfHsPRu c=1 sm=1 tr=0 ts=6a4cfbe2 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=64Cc0HZtAAAA:8 a=EUspDBNiAAAA:8 a=IgTeGzRZ1uGHlxDtOR0A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-GUID: GUrl6KsPucToGdt9SXnbJNFZJIokOrSB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX6Z0eTGJDjcjK ahokbFak83NZoYvqXt+J2vOYRqh5IvYeGYvHEGdziEfGZtJYszFAnpfBWbucGum1cI8Aeg8ESka Us6NoyQNMKGjagWoMaHHXTudDt+ACEtTIqh8vb6+HdcsNgi5uwx7pHPW+oKCWdDlmC5su8zbgH9 q0tediHCC56L26qU1A9jjOqEMmID2RL/reUzUfVlHUz6RDq64XZRbf+qIh6IQoJi2SDfLMPKP+Q l7HwqVWQ9a9dNoDO1cmPZqZ7w4saeq4i9geRSeYkj4YmsBBVmprX7MYrlJORiRjX3Zo5AoWVtpj 5+KCA7UjKZj5HC9lYOvaI6OqhXgv7aOGlHvqNZVmylUHQjYHebaDhucrLiIRWesYFHvhEOdorxK 9+SVZy4hfWsfFElipy9hnk8jONhLIuPxtdW1hCOw/KC89F6XaXtznpglhewE9pehWBWW1BCFws+ sPHvyDH17V6MSFm86Wg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 malwarescore=0 bulkscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430257943158501 From: Mark Cave-Ayland Signed-off-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260703135512.3213964-7-mark.caveayland@nutanix.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/acpi/ich9.h | 2 ++ hw/acpi/ich9.c | 8 ++++++-- hw/isa/lpc_ich9.c | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/include/hw/acpi/ich9.h b/include/hw/acpi/ich9.h index 019f0915c11..30990fcef53 100644 --- a/include/hw/acpi/ich9.h +++ b/include/hw/acpi/ich9.h @@ -81,6 +81,8 @@ void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *pm, = qemu_irq sci_irq); void ich9_pm_iospace_update(ICH9LPCPMRegs *pm, uint32_t pm_io_base); extern const VMStateDescription vmstate_ich9_pm; =20 +void ich9_pm_reset_properties(ICH9LPCPMRegs *pm); + void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm); =20 void ich9_pm_device_pre_plug_cb(HotplugHandler *hotplug_dev, DeviceState *= dev, diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c index 5c7dfb2c69d..5e8f8a7eafa 100644 --- a/hw/acpi/ich9.c +++ b/hw/acpi/ich9.c @@ -388,9 +388,8 @@ static void ich9_pm_set_keep_pci_slot_hpc(Object *obj, = bool value, Error **errp) s->pm.keep_pci_slot_hpc =3D value; } =20 -void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm) +void ich9_pm_reset_properties(ICH9LPCPMRegs *pm) { - static const uint32_t gpe0_len =3D ICH9_PMIO_GPE0_LEN; pm->acpi_memory_hotplug.is_enabled =3D true; pm->disable_s3 =3D 0; pm->disable_s4 =3D 0; @@ -398,6 +397,11 @@ void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs= *pm) pm->acpi_pci_hotplug.use_acpi_hotplug_bridge =3D true; pm->keep_pci_slot_hpc =3D true; pm->enable_tco =3D true; +} + +void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm) +{ + static const uint32_t gpe0_len =3D ICH9_PMIO_GPE0_LEN; =20 object_property_add_uint32_ptr(obj, ACPI_PM_PROP_PM_IO_BASE, &pm->pm_io_base, OBJ_PROP_FLAG_READ); diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index 9cec18a378c..edf9783ec8d 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -701,6 +701,7 @@ static void ich9_lpc_initfn(Object *obj) &lpc->smi_negotiated_features, OBJ_PROP_FLAG_READ); =20 + ich9_pm_reset_properties(&lpc->pm); ich9_pm_add_properties(obj, &lpc->pm); } =20 --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430238; cv=none; d=zohomail.com; s=zohoarc; b=VprBVas2++Vl7FKdFbuIMEudtAHMAvc0qe6jo7Zbv3twwPnqxh00zHc0jn1Pa12PKKRc69iJ3AiTPt9e7MweC0y0nd+VC4sH4gnmSs1C7Wr7xbFedqqB7FaN3UoHHwl8aFA6OMHKHGXQusHLOWxx7jmjteVg90jLFvhBjK/iLQs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430238; 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=MO9yyG4iDSvkdyCCx+FcktxLSnSn72irxZUl2WAdbCI=; b=kT+ofQbiaovku3lPk9mfmieLetZMMymo6IALHtbNJuZGPGVusN17Vat712q/mRPn7Z+FI7LKofVYzxs+eRUT8a76WqhAhYSoHsXhj8jcMFMx9q9IqEjJ5QkoaAvhDSfiuElIpFIWDzXoDkwaBnBeVG3k2M/TLClBrasoNgmIxnU= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430238369606.2549915259607; Tue, 7 Jul 2026 06:17:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eI-0003WB-Im; Tue, 07 Jul 2026 09:15:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5dz-0003IA-8m for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:26 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5dx-0000ep-3Y for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:22 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C9LcB3740882 for ; Tue, 7 Jul 2026 13:15:20 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8v9a9m0v-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:15:19 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c1d7886cdso87248661cf.1 for ; Tue, 07 Jul 2026 06:15:19 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-69a19ce4ad4sm5832193a12.12.2026.07.07.06.15.16 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:15:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= MO9yyG4iDSvkdyCCx+FcktxLSnSn72irxZUl2WAdbCI=; b=BgRwz7+RSZKWQbIT N46grnt380qG9aGK6VawNyB31JJkT2Hc5wLHnti8cEYcG4KXX4pHWZvWSW6ulnRB gXARWz5ROGn9ndr0eiLASVINDoqw4Zj0d2+1FQphrG3+pGSiJYm/ZeGv2Fe6j4Zt HciZOVaWWjoNsJYO+Y6Met/Dfs5QkoyYTh44auZ+PyqP83RuRQKdvZb7UwMnc6Gd BazWaEsmYOB0h8SxIiwTE4gjnLdrYQocTQ4aPoxJ7Gwci7H4/LDxCFp6pNnUhxDZ 3wle9Zl9xuvJkj1yQwRSLyuwGw+iXBb3WTfRT3UguY9yNKV3ORKfk6LRed7+pXM8 pz3+dg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430119; x=1784034919; 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=MO9yyG4iDSvkdyCCx+FcktxLSnSn72irxZUl2WAdbCI=; b=hTJouJ3ByfTN8fyVQsKILtHa2PMKotKxJz7DZLsaPeV+LMv1yPBqT/0gMAnunQfEm3 kWOohYk8xdJk604zZh166vadg9iZOa+1/B0XzgzMw3xeZgAOzdU8kfd0gL8Wrqzx9lHb hX2kVLevSKe6q0C65LU7ldaDFReQ/0Jd2JGsWSVAqccmlv65McBzNVQqCUMh0e4/btWM XXJcZAb45fhrygmg4MtUa/xxAaVf3TNQtoXTX2S9I3ESc5d6At9VGd6gTwfY0vjn/B7y 1f1+lwt8W+hEd7250kFupjZWOr6gWjFbNXeS+RhZ5H0mzwuwRDa4wMjBUTGZt+TTzagD H1AQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430119; x=1784034919; 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=MO9yyG4iDSvkdyCCx+FcktxLSnSn72irxZUl2WAdbCI=; b=j2rmxzqsxxvLanzKQ7lWaN0EOW9UcG7Jmb2S3S2vOyZq9IEJ+LPR2egYao8RZWw/uZ sy9zvLoiwbVibPP1EqE9a4vykHqVAqNi/NuDByhAq3h4FBe5H4OZwjrWw7o8QcXdPjI2 ikGrDrkOYngqLHN9Ypv4KNzlm+maAwHuTisXeB9BEL1rFeW+XN/tvMthFSCjzK+/HQ3c 0ZcRaoDIVdPpA/3gWiNq+/tttQXjpNAciVRP7AJLYMg5CSVq+LTyREzluuake7yAAKfs vMQ88UGOIFmly6ih6rUYPeiZIKVgszfEThbAyBcKTR6T0gQAPAekXC0dbAvF53Diiigo yW9g== X-Gm-Message-State: AOJu0YzkiUG19BFhyv/7T243FyQlHhAbmRrwAPV35PI+722SMGEtNgVc 3oBWuCgEI8aGRv1DztqNwo0E/66bxid39zwW6GvsAskbQONpX4HDNlpW7xnqs5fdYkORtZp9TU/ 4qgnnAPDwBqQ2n9sBP3Ka97xPvEo0E2LhNN0s1IveceVnotWT7leUVp24G1EaP39/LA== X-Gm-Gg: AfdE7cl+2Ulcuj0GJpQh5a7MkWjrr9dC5jOpKA38chcQrOsLZMOkES5RHOkQiiX4Fe7 5App32q6BeEOh5f8T1hqKtt/cFGPCib71b/N3ATjquMcQDDvT0zLP5p9DHGMEEKnKoVPzJ2vCNW P8uazbi1iRYgib3B24KKsGqlFJYX3+up11g1L0k+fvlQNmAp7m6ApCXys9u5e5mOVl08y0qXtnc XsG4RE+/bdFn8PZqneYMDXZ36GJODxcdvGyrrVZAFBktwxfE9Qtca/JikkEz3JG2+Gyv5HxQo69 oGQeyZ0x7MyAhMxq5+sFo0YGZAbegtcsYV3gZc0+dLN5zxJFzK0iaroMkVrlLOLDfz0JDJtP6YT yTC2OtS+/mRqr1kXVPB1saBUC3WsScmUhM+N944lxVCUJSkvR6Q21i9HaqIqIHqwSQ0xf X-Received: by 2002:a05:622a:110f:b0:51c:1c73:5945 with SMTP id d75a77b69052e-51c747d0552mr54606241cf.24.1783430119285; Tue, 07 Jul 2026 06:15:19 -0700 (PDT) X-Received: by 2002:a05:622a:110f:b0:51c:1c73:5945 with SMTP id d75a77b69052e-51c747d0552mr54603761cf.24.1783430117513; Tue, 07 Jul 2026 06:15:17 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 24/32] backends/iommufd: Fix dev_id and type order in viommu trace Date: Tue, 7 Jul 2026 15:12:14 +0200 Message-ID: <20260707131223.51505-25-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: 5MbIdNdGvLG7D-_7Ayrpn-vaptx4t4u- X-Proofpoint-ORIG-GUID: 5MbIdNdGvLG7D-_7Ayrpn-vaptx4t4u- X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX9Z/bflVhQ7/U zGiCqsc2KDEl+m+V82oZhlg6ZqkcLl1LbF1R5JjjPLmmuhgQS2htC6CoRcZLaaK4hdlizQdTIRY iVgHys9NnrS6IdbBDdkK7uGOOE3IckA= X-Authority-Analysis: v=2.4 cv=b9yCJNGx c=1 sm=1 tr=0 ts=6a4cfbe7 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=Ikd4Dj_1AAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=UBPzl3ekHYB5lC0V6e0A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXxzE1oFHN+xpf v3G9hYsstpwSy49fQAIHfuNuEF66dTu/63Kl0t00lTxgK6zYlyiOCqeJl0/flpMJ6A5I9dxztn+ zkqwjMVYAN7iEIIh3ZSsjnVug8j8Q8Mny+2mMHklczx2zzzv0iiEcxMrCmb70Llx6AZ9ITeyKDz 0MIV6GNLZWNpa1RfgH4/eClY2HdYyWahhViP8T1oW5plAx2C220HChICdqR5ycoyhrT6X1JDTmY 8PUhDaVVIkWr/XE6S6DUVXd9LGqW3uHJYGHla9YaxZXukE3BjXyvA9qGIabEZphgtd/b/+Bime5 IdiHxgnxsMcMEblfsw/ChhPW5/26bXnldhItQaM/k+5qdQTGl2ZMv6+kAPJLXx5t6hlwGuHWz7G 3kOwQGKtYv90z1+ahJd/O3fnNPah6nBO2kaVZo8bygKtwNgq5sUYJu8GJ/uHQgyWEauNj8fAn8+ JFvPKHa7cSjX9RwmI3Q== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 priorityscore=1501 adultscore=0 malwarescore=0 bulkscore=0 spamscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430239735158500 From: Shameer Kolothum The trace event receives dev_id before type, but its format string prints them in the wrong order. Correct the order. Fixes: f2d31df0d925 ("backends/iommufd: Introduce iommufd_backend_alloc_vio= mmu") Reported-by: Nicolin Chen Signed-off-by: Shameer Kolothum Reviewed-by: Nicolin Chen Reviewed-by: Eric Auger Reviewed-by: C=C3=A9dric Le Goater Message-ID: <20260706103653.84243-1-skolothumtho@nvidia.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- backends/trace-events | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backends/trace-events b/backends/trace-events index b63420b73ee..009a25b0be9 100644 --- a/backends/trace-events +++ b/backends/trace-events @@ -21,7 +21,7 @@ iommufd_backend_free_id(int iommufd, uint32_t id, int ret= ) " iommufd=3D%d id=3D%d (% iommufd_backend_set_dirty(int iommufd, uint32_t hwpt_id, bool start, int r= et) " iommufd=3D%d hwpt=3D%u enable=3D%d (%d)" iommufd_backend_get_dirty_bitmap(int iommufd, uint32_t hwpt_id, uint64_t i= ova, uint64_t size, uint64_t flags, uint64_t page_size, int ret) " iommufd= =3D%d hwpt=3D%u iova=3D0x%"PRIx64" size=3D0x%"PRIx64" flags=3D0x%"PRIx64" p= age_size=3D0x%"PRIx64" (%d)" iommufd_backend_invalidate_cache(int iommufd, uint32_t id, uint32_t data_t= ype, uint32_t entry_len, uint32_t entry_num, uint32_t done_num, uint64_t da= ta_ptr, int ret) " iommufd=3D%d id=3D%u data_type=3D%u entry_len=3D%u entry= _num=3D%u done_num=3D%u data_ptr=3D0x%"PRIx64" (%d)" -iommufd_backend_alloc_viommu(int iommufd, uint32_t dev_id, uint32_t type, = uint32_t hwpt_id, uint64_t data_ptr, uint32_t data_len, uint32_t viommu_id,= int ret) " iommufd=3D%d type=3D%u dev_id=3D%u hwpt_id=3D%u data_ptr=3D0x%"= PRIx64" data_len=3D0x%x viommu_id=3D%u (%d)" +iommufd_backend_alloc_viommu(int iommufd, uint32_t dev_id, uint32_t type, = uint32_t hwpt_id, uint64_t data_ptr, uint32_t data_len, uint32_t viommu_id,= int ret) " iommufd=3D%d dev_id=3D%u type=3D%u hwpt_id=3D%u data_ptr=3D0x%"= PRIx64" data_len=3D0x%x viommu_id=3D%u (%d)" iommufd_backend_alloc_vdev(int iommufd, uint32_t dev_id, uint32_t viommu_i= d, uint64_t virt_id, uint32_t vdev_id, int ret) " iommufd=3D%d dev_id=3D%u = viommu_id=3D%u virt_id=3D0x%"PRIx64" vdev_id=3D%u (%d)" iommufd_viommu_alloc_eventq(int iommufd, uint32_t viommu_id, uint32_t type= , uint32_t veventq_id, uint32_t veventq_fd, int ret) " iommufd=3D%d viommu_= id=3D%u type=3D%u veventq_id=3D%u veventq_fd=3D%u (%d)" iommufd_backend_alloc_hw_queue(int iommufd, uint32_t viommu_id, uint32_t q= ueue_type, uint32_t index, uint64_t addr, uint64_t size, uint32_t queue_id,= int ret) " iommufd=3D%d viommu_id=3D%u queue_type=3D%u index=3D%u addr=3D0= x%"PRIx64" size=3D0x%"PRIx64" queue_id=3D%u (%d)" --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430243; cv=none; d=zohomail.com; s=zohoarc; b=CQZkogPtvpknm0d1h+3JE4gUFI76QeJV7BTrEMaFg6ehHN6QqyLyy9EGYV1TejILeRPZgFLXVxh5DPghpUM5jvzcXeeAv1z6eFfskXBUsS82tMNMEXUrlM7gSMmrbiL74ZEiW2Lcs/KJD7rlQLTmN8zhW1cfGYtvvdXP1hASQ9M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430243; 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=eswOgvsvmES6wANwXxIqB9K89YBMpWQmKqAkHprftcg=; b=gZVh8HyyS5jyLHiZwZZN+9bINGgJ6idifAkeEtxhp9FrtCjjs0O/V1HjEYD0/OuErKA7OPqW/HtqzAsT4up3MjmATcODndTllkmD3iZNhPaQr78mYI+ljTzFlOAe+cl2uy1fZTu+i1I82eI2tjmLW9PnWTcbuv88AS+njRF5X1k= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430243274136.1334506826454; Tue, 7 Jul 2026 06:17:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eT-0004K6-Pb; Tue, 07 Jul 2026 09:15:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5eD-0003Tm-Er for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:38 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5eB-0000r6-LO for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:37 -0400 Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8euJ3742025 for ; Tue, 7 Jul 2026 13:15:33 GMT Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8ye0gpx0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:15:33 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c0199faafso48110291cf.3 for ; Tue, 07 Jul 2026 06:15:33 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15bc428775sm36945266b.6.2026.07.07.06.15.23 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:15:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= eswOgvsvmES6wANwXxIqB9K89YBMpWQmKqAkHprftcg=; b=EeKoBiFvpMll2RGo yUEeMoxufBbPV/UvmRTBR5P8KhlXTHyR0Tk53jS27yd/5SjHmpZYGDdV63xQqp12 5C8u3iwbN2A30RPlmjiMDlKEsdInEkCi5LY81z5TcPg1WjFqpKNS5YQ8mI3Q+BSS G+kIiih10uDaJCkjTuHTaUS41yO9VlWt/Nju4UcqwXwpVPPSd+xX0Co8piE19Po5 nvjB3jNeM+IBPFPBDaYu9PXr9wpEkBiauV3lOAjjTmOgt0v26tYZesMEL1D6KhK+ Glv/EnsSgHcAxmeoVel3JMHaB6kOQYUkfBhcG+H3S9mfDUKoqe3MAhE5N+YFt/7I CPxwRw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430132; x=1784034932; 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=eswOgvsvmES6wANwXxIqB9K89YBMpWQmKqAkHprftcg=; b=Bvwqp59dy9uz111JE3oIJalwx858e4po8ftVbBC80c5vjV3bqLm9KMTAyZ3Gmb+x41 VMBZfFDcfTyBCXaQ61zDKVfBPSv0VIoez182AQ4N61xeCFNiwz7nOoQI6F6hrnNU5N12 BNUVqeImL0158BSGMyRzW5MkjGeJS50XR1WlpF6dDuLntY5XgwV8gH222EnIx98kmctp nAizFHo95so+Ry1x68FOiw5JFgsjFmvwmGTGS3EZYZQO6DYFmX2BBESHgj+fGRDT6GdV VrHXjlmqbpJd2J2S/hAXH+8+9d4SsnZHWbU1vRUX9KxHpzecuy4poqjGyQ3N0mPk+/yL iZzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430132; x=1784034932; 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=eswOgvsvmES6wANwXxIqB9K89YBMpWQmKqAkHprftcg=; b=RgJfVE+vHeq3LMNCOFcX91nz7UAW+T61giMmUI7+5R7v5ytH5zC45QYeRvW/l7EB2i ujZp0R4oAL303ZmF9F3G5te9FeZ2eqKQ2dkxpeulmz2jtAknf3elILStQ9NL0ygzK4PH muoQDfAXbwfJaHu31jw5fY8BdV9q9cRbj4+5bmWqzCrdZfNDPI26d2uWo3oHq7lTkgvc o/ykmjEyECGFOUIJWxQh0kE0seWxESq0TnDjhq2Hcr993lyco3xbA1t7lnjT09Wbnr5T n3modgho/wixyE96dvfiOZxfD4gyaUI3BAqdyJVECwA8LCuqY8uOaAotTQ3cPzJ+NXnq lyfQ== X-Gm-Message-State: AOJu0YzNaENiUW0OcReLgi0REAzRfHiiubT3fVueaCbZW3zp2MWDzWGa BytCdWoPsPBujBOPgfwG4GAr6ARjWrlujmS8LtcxxUpk5pdi1Ot8ShTyt6ACwh2yggsbkwz6ScB pOf/6piXWCqWqn4IQxKADRS63Met9/TuxOhpt/emQ/ejiJgiPMW+ENTN4kbPxmkulBw== X-Gm-Gg: AfdE7cmJVei2sgFLijKd8Xm4TnEweBPWP79PMRhtf8KFuznUWdpmSgDge1RVYI7diM9 meI1OirWb0fdt9fMpkAaUNElUir6zgziSmjdWDRlOo0msEB34h6orxtInYF/KCXAMQ/HSSYT/PO ftHfPvDDpnvslLJPEaO4Q2oDooAldCoeVpxMyd+Da9gEBj4KXpI1fwqJymAnPGL10VZdSLr3UVx rtWLL4S8dYxsK8ZU6pbUgYz7+5yx3IQF8eLxXalc7pjBBTylCTC81oNC16xzifwcFMJ0asCWLkS B37qxmI7o/ITopF/n7MR+9m+lOMePfjwFMGwhxvQ2SSDrayXG+xzNI4nkjIJq/ZVbMKjgcFj52F d9mDqdaDsA32sQeZnzGIiJO9G4+ASfTIJdCtM/EocpPaVgXnsPHtp2f6SBPVcCLhSl6AG X-Received: by 2002:ac8:5908:0:b0:517:7b6c:445b with SMTP id d75a77b69052e-51c747a371amr55043181cf.20.1783430129469; Tue, 07 Jul 2026 06:15:29 -0700 (PDT) X-Received: by 2002:ac8:5908:0:b0:517:7b6c:445b with SMTP id d75a77b69052e-51c747a371amr55038571cf.20.1783430125415; Tue, 07 Jul 2026 06:15:25 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 25/32] hw/block: m25p80: Fix dummy byte handling for Winbond flash Date: Tue, 7 Jul 2026 15:12:15 +0200 Message-ID: <20260707131223.51505-26-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: eg8x6eAKLJTYBwiCG5LwA5z3Ym027ZMA X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX0+aLt5+/N39E XA7SQVzSjRKHi3s5x6lPDvPbY+Is/ioecs8bd1CAQRzILRuXHgREIe/soumxmV5sd24mB3ZVT2o d1xiZogci7bAlRgvqwDA3R1G+A/68y4= X-Authority-Analysis: v=2.4 cv=SZfHsPRu c=1 sm=1 tr=0 ts=6a4cfbf5 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=-fCmXZ3jAAAA:8 a=FRSEYCzRAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=vuOm1Y_JtsB2s8HU6FEA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=NvoCvu5dULWom27q9pnt:22 a=H4N_Y-AU75W7NKDNhZlT:22 X-Proofpoint-GUID: eg8x6eAKLJTYBwiCG5LwA5z3Ym027ZMA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX4j17rbTluP/P IwEEEIjhgkPDyjXSUWwpsWe8PfX/fTRBKtntaF3f57QjZfDM83Ds4xjEv08Ioicqtqjuz7vSUEb SaztiTctQq0jp0skF9GmXgGF7Ipmn9QMwA5tjwVtreK5rZuADUTJYpYa2n9CmAesnsbSUM3+OAH QjHuMzuiIychtlyD2WThfADC1JCxbMi5UoL2okLOYdt6fzD+iqpD9tY+2TlgSbXrQC2C+LCL4sT EHOcL+0EVEV5k+4CEeOScxTezyNeGK1BblxXr4gcbJUle/X4IiAbEhSJ/MD8RPc7KcB2mS1xCKZ u3IY1Y+Bf3EuTqhr/jg4VVPawIJbKOXuIoBJ/V9PYwNoxx7WJuWQLjbI56jLeYb+qTzdPG/3Cyk VLbtxr6ZaVOKC3XNdtJbVTTq5q5pq7QGVsQ8hqexX5hCCNxjZD137aQrfODWIR+PrNv4eCm+tkI TTc6pUY5X2nN4w5ZbsA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 malwarescore=0 bulkscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430243791158500 From: Bin Meng The m25p80 model uses s->needed_bytes to track how many bytes a controller must send after an opcode before the flash model can enter the data phase. For address-bearing commands this includes the address bytes. For fast-read commands it also includes the dummy phase. The tricky part is that flash datasheets describe the dummy phase in clock cycles, while the QEMU SSI interface advances the flash model one transferred byte at a time. The dummy clock count therefore has to be converted to the number of SSI bytes that the controller will actually emit. Some controllers have drivers that push these dummy bytes into a FIFO. Other controllers are programmed with a dummy-cycle count and generate the clocks themselves. The flash model still has to use the same byte count that a FIFO-style controller or the Linux spi-mem layer would use, otherwise the model waits too long and drops the first data bytes. Let's fix the inconsistency from the flash side first. We start from an easy one, the Winbond flashes. Per the Windbond W25Q256JV datasheet [1] instruction set table (chapter 8.1.2, 8.1.3, 8.1.4, 8.1.5), fix the wrong number of dummy bytes needed for fast read commands. [1] https://www.winbond.com/resource-files/w25q256jv%20spi%20revb%200920201= 6.pdf Fixes: fe8477052831 ("m25p80: Fix QIOR/DIOR handling for Winbond") Fixes: 3830c7a460b8 ("m25p80: Fix WINBOND fast read command handling") Fixes: cf6f1efe0b57 ("m25p80: Fast read commands family changes") Signed-off-by: Bin Meng Tested-by: C=C3=A9dric Le Goater Message-ID: <20260707083431.219671-2-bin.meng@processmission.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/block/m25p80.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c index 4a4cda66024..59ecb32c0a2 100644 --- a/hw/block/m25p80.c +++ b/hw/block/m25p80.c @@ -1004,7 +1004,7 @@ static void decode_fast_read_cmd(Flash *s) s->needed_bytes +=3D 1; break; case MAN_WINBOND: - s->needed_bytes +=3D 8; + s->needed_bytes +=3D 1; break; case MAN_NUMONYX: s->needed_bytes +=3D numonyx_extract_cfg_num_dummies(s); @@ -1099,7 +1099,7 @@ static void decode_qio_read_cmd(Flash *s) switch (get_man(s)) { case MAN_WINBOND: s->needed_bytes +=3D WINBOND_CONTINUOUS_READ_MODE_CMD_LEN; - s->needed_bytes +=3D 4; + s->needed_bytes +=3D 2; break; case MAN_SPANSION: s->needed_bytes +=3D SPANSION_CONTINUOUS_READ_MODE_CMD_LEN; --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430267; cv=none; d=zohomail.com; s=zohoarc; b=QdkbiWgQkou7vfm24qoJVqLk05YnsNRPWRPlgkO+2CvjmEw4OEqjDl/WYm0rvr1y46rjeZkwF6ya5MfQg/CiKFUir5Xqr2nsG9gBJxXFl8dt2xkESYe8mklfdLV38iIRk80WgNoeEdc8jqciseFEldTvTNnRT4VkEiYaYJtHbto= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430267; 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=S+bzvuOO2qbkmSzBIUSwsnHbHzbsOJU99k/35OuaDlg=; b=g81d6Kz8v/OdZCAu06AGDp4jQhnLI+vH3G2TKEVSv4jpXX4+gRyEe5ZrND6/kB3j+xaBrhwfHHZkvXkHsyydUHtTJDguyN2PtqPFHahsPS9df8T6lVbzHkVDg3ObJEj7v64nRxwv+kNpL3n87MIU1Vru9xtW9zAiGvGyPxIl+to= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430267138501.21805791372924; Tue, 7 Jul 2026 06:17:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5eM-0003rj-K7; Tue, 07 Jul 2026 09:15:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5eF-0003Ud-C1 for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:40 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5eC-0000rD-Mj for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:38 -0400 Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8qeA3768479 for ; Tue, 7 Jul 2026 13:15:35 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8qj7ak8b-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:15:35 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51a8c689b5fso43365841cf.0 for ; Tue, 07 Jul 2026 06:15: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 a640c23a62f3a-c15ad9bcd7dsm136266566b.30.2026.07.07.06.15.31 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:15:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= S+bzvuOO2qbkmSzBIUSwsnHbHzbsOJU99k/35OuaDlg=; b=mlj+2/IvNB1wPDU5 LvqKYdoybWPVphJ6yjRIddJ9E9F4Gw5qPAgevURNPkkM5u0xjPdKWLnaqco2gJdm cXvqP917hMREdflbjxnHjbBHq2unk+UU0EYvRXVU6hC1ZhF5ndXbVpgQM9d0h2Pz nqHsi6jWjdHuvkqQgYaDXtwiLuODKQ8C08oQG1hE7UwTNvGdA/bl2o/t/uzGSzOj 0t4JkEuFMaNPoZqa51whFPr60e67jbw6yiNtnxOTIu2sZe3VLJDMPDNS3Rx3HPQQ aUkBBpSQu2gNegUI9q+ts+vnYnJWaedaRAYo92iYLokIPCbilK4oduh5F/tQrZ7A JLwGhg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430135; x=1784034935; 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=S+bzvuOO2qbkmSzBIUSwsnHbHzbsOJU99k/35OuaDlg=; b=j+qfnzX1okIJMDMJ4fdQEVt5Y2jvz6x2IKUOmxKDHt5vXgb+lortDa5/2+0o5IfQFw +rYrO2jUL313jQdzvu/XqLZRxmy2KVSH8UwBtpEsihcM6VIzT8oWw6oFmE4248GbXgqz vhR8zzHAlHVgTZ1iWLKBxyvs39CzLbXhyqqWm6LNj7RcEAKeiRDI19vSMnuQPni6CpIT kWxtWuqRvhgghRAIYbKhVNhBtFZ6EGav+v4eAOhC+E/Ro3N/Htgoto8qTz4WHROyCvFT PhCxoKejLJcahl2qYmMYh9CgQpZ1hIZdgh7umaMWybzxpMctS9CLaqNij6K5N2KctgT5 NahA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430135; x=1784034935; 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=S+bzvuOO2qbkmSzBIUSwsnHbHzbsOJU99k/35OuaDlg=; b=QE6IEHiF94i9Eaw5BCt8AuUdzoItgVgfPfQpMWYtVpZRZPpIHLCbBetk2dD05VVKbE UprQk9bBKeXUrJTz4/QxFYoaR6YE1NQ2JW5gAxa6iIhtBZReagVzhiaWdDtydNVBIiqG G7Fhk1Qe+iGEl3ieoeXaojTC27TGJCc6LBTGej7D/9IyjykZK7kyNhvx3XQgqa/fAwUh EVFduMxu215/uS2C8vciTKLKCwj23uvZ6w+LiWSAQ8kM0+RwGAMjDWB8mX7slBpXJu6Z +GXnJ/x4haSqNSL8ClAxFuJpHRR4RdM+hY/i8qaXuBIyPf79S5kuydgTlh4JDY9nJ8ZP G9WQ== X-Gm-Message-State: AOJu0YzraTTFPr7kvTgkaseITIcCzISPwd9oP8trRa58HNp9/Fd6Tw8N gpeZSf+eFr61I4bvzAuH9Ih7RinMTmxViUcx9Rp0vFxLe8i3Vv0FGFbw07p+eIzV9Z2x/ytgl+C ePOG9kmI+2neQlGAHjIXK52EcVhHYA2LfQjP9HVSRYRauexOcmhAy4xflHuUkTu0zpA== X-Gm-Gg: AfdE7cmgnohLTnIQuXb+dTQbVVKls1tegB4btTHbxpoEuqwN0dBemAS2CqfODoguVdC vIwL1pCJVEh1SqgxvFWKNdukAXhsh0n4boq1hGIe1Iqw0Bf7aozWuwDoWBCVTOaQX607tcXNTrs 05n/YP9XyOXUnSd8+Y25DotLh/+DzFwDMx3h9vKXGiQCzSwvv8HFLaiedqT1sgL09xDPzBHUht+ UVHsBkGPrmaW0ElzpdqfGn24bZUlBYa+Yq4d7Pb8ZhT14JoFKN6Poll+onqcAs+2I/54hekBL2h /F/nDSfo4zBAtarJhzW2n6zpU7Mo68wIWuuA4io7Bb0IJN0BbZMada4Y9bgTBIErlphK9C22xGa W+/pldbEMcK9Pm7k345iRkcFIAUKndSWtRQKuqdG+DSPQHjwGRxDhuAy/YQ5fIgR7XtmP X-Received: by 2002:ac8:5cd0:0:b0:51c:1ec5:d00 with SMTP id d75a77b69052e-51c748becccmr56230301cf.44.1783430134244; Tue, 07 Jul 2026 06:15:34 -0700 (PDT) X-Received: by 2002:ac8:5cd0:0:b0:51c:1ec5:d00 with SMTP id d75a77b69052e-51c748becccmr56228571cf.44.1783430133251; Tue, 07 Jul 2026 06:15:33 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 26/32] hw/block: m25p80: Fix dummy byte handling for Numonyx/Micron flash Date: Tue, 7 Jul 2026 15:12:16 +0200 Message-ID: <20260707131223.51505-27-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: Hq0vsa23Mcg64zJ3nU9hS26I7bEXBTxB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXy8DH+DVbHtte /PkXVGCXKfHHL1IvGLVbrVy09xgHASHqf1zNuHEpV/AsQ1E1zv8bSL9IctUGQnpwUSpbmb0Ktxz xY5QeLDyY8hjbMd5M5Nkb7x7/Kikr7UKGFtQQ5fgmQJfa/y+MbPrjwAkHrp03MCIOKHd5b4L7Hq rx+JVfQAH0oA3z/6Ll2FDRM0Cmw9Oa2fBt+29PY5lpDOUgdZyEyzqvpUbkQkcOKt6RDXXiFY2ju QG5dKuAXK9hJhaQPWj0z1ZQCGJP6NPTlVUrzlD2/sWulV5t3bUD1erYyrdpuyQacg1Ygsj3cxw+ Bii/xkGFtkSOr+iDX6KnTFSWzvzyQVkV3ZrE2s986yoqGEhoHh10SWfPtBytglSvIFlVFFpdFi7 T2teGIdluQA845HX5v5L9jLk8dxWQBsb59WrqOz4H2MsnNd29ssxX9qGXegAjXKlDtGIgbbirRN NT1bujYofHprFTf48BA== X-Authority-Analysis: v=2.4 cv=PIM/P/qC c=1 sm=1 tr=0 ts=6a4cfbf7 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=_tVgneDzAAAA:8 a=FRSEYCzRAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=j_5u0sDhxC92FegueaQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=7z910WYokG1E8T7esZJN:22 a=H4N_Y-AU75W7NKDNhZlT:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXzf7qV+AShgBu xLrtRAG11QOAqg0lwl0I08UxeAJ/IvhOHNYWXbqOnnvvF3SlntCUzjriVETOvfmE99IB/HVB+71 +UOMWs8lgCSegb+uNRpRW4yuBWMfPlc= X-Proofpoint-GUID: Hq0vsa23Mcg64zJ3nU9hS26I7bEXBTxB X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 impostorscore=0 malwarescore=0 adultscore=0 phishscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430268079158500 From: Bin Meng Numonyx/Micron flashes [1] do not use one fixed dummy-phase width for all fast-read commands. The volatile configuration register stores a number of dummy clock cycles, and QEMU must convert that value to the number of SSI bytes consumed by the flash model. Keep the existing default: 10 dummy clocks in Quad I/O mode and 8 dummy clocks otherwise. In Quad I/O and Dual I/O protocol modes, all command phases are transferred on 4 or 2 lines, so the dummy clock count still needs to be scaled by that bus width. Standard SPI, also called extended SPI in the Micron datasheet, is more subtle. Quad Output Fast Read (6Bh) and Dual Output Fast Read (3Bh) keep the opcode and address phases on DQ0; their dummy phase is just a clock gap before data is returned on four or two output lines. Do not scale the dummy count for those output-only commands. Only Quad I/O Fast Read (EBh) and Dual I/O Fast Read (BBh) transfer the address and dummy phases on the 4-bit or 2-bit bus, so keep scaling those commands. [1] https://docs.rs-online.com/cad7/0900766b8121bd3c.pdf Fixes: 23af26856606 ("hw/block/m25p80: Fix Numonyx fast read dummy cycle co= unt") Signed-off-by: Bin Meng Tested-by: C=C3=A9dric Le Goater Message-ID: <20260707083431.219671-3-bin.meng@processmission.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/block/m25p80.c | 55 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 42 insertions(+), 13 deletions(-) diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c index 59ecb32c0a2..83d1ce1f956 100644 --- a/hw/block/m25p80.c +++ b/hw/block/m25p80.c @@ -971,28 +971,57 @@ static uint8_t numonyx_mode(Flash *s) } } =20 -static uint8_t numonyx_extract_cfg_num_dummies(Flash *s) +static uint8_t numonyx_extract_cfg_dummy_bytes(Flash *s) { - uint8_t num_dummies; + uint8_t dummy_bits; uint8_t mode; - assert(get_man(s) =3D=3D MAN_NUMONYX); =20 mode =3D numonyx_mode(s); - num_dummies =3D extract32(s->volatile_cfg, 4, 4); + dummy_bits =3D extract32(s->volatile_cfg, 4, 4); =20 - if (num_dummies =3D=3D 0x0 || num_dummies =3D=3D 0xf) { + /* + * The default nubmer of dummy cycles is only related to the SPI + * protocol mode. For QSPI it is 10, otherwise it is 8. + */ + if (dummy_bits =3D=3D 0x0 || dummy_bits =3D=3D 0xf) { + dummy_bits =3D (mode =3D=3D MODE_QIO) ? 10 : 8; + } + + /* + * Convert the number of dummy cycles to bytes. + * + * In the Dual I/O and Quad I/O protocols, all command phases use 2 or= 4 + * lines. In standard/extended SPI mode the phase width depends on the + * command sequence: output-only fast reads keep the dummy clocks on t= he + * single address line, while input/output fast reads use the same 2-l= ine + * or 4-line phase as the address. + */ + + if (mode =3D=3D MODE_QIO) { + dummy_bits *=3D 4; + } else if (mode =3D=3D MODE_DIO) { + dummy_bits *=3D 2; + } else { switch (s->cmd_in_progress) { case QIOR: case QIOR4: - num_dummies =3D 10; + dummy_bits *=3D 4; break; - default: - num_dummies =3D (mode =3D=3D MODE_QIO) ? 10 : 8; + case DIOR: + case DIOR4: + dummy_bits *=3D 2; break; - } + } } =20 - return num_dummies; + /* + * Assert that the dummy bit count is byte-aligned + * as SSI core can only consume whole dummy bytes. + */ + assert(dummy_bits % 8 =3D=3D 0); + + /* return the number of dummy bytes */ + return dummy_bits / 8; } =20 static void decode_fast_read_cmd(Flash *s) @@ -1007,7 +1036,7 @@ static void decode_fast_read_cmd(Flash *s) s->needed_bytes +=3D 1; break; case MAN_NUMONYX: - s->needed_bytes +=3D numonyx_extract_cfg_num_dummies(s); + s->needed_bytes +=3D numonyx_extract_cfg_dummy_bytes(s); break; case MAN_MACRONIX: if (extract32(s->volatile_cfg, 6, 2) =3D=3D 1) { @@ -1059,7 +1088,7 @@ static void decode_dio_read_cmd(Flash *s) ); break; case MAN_NUMONYX: - s->needed_bytes +=3D numonyx_extract_cfg_num_dummies(s); + s->needed_bytes +=3D numonyx_extract_cfg_dummy_bytes(s); break; case MAN_MACRONIX: switch (extract32(s->volatile_cfg, 6, 2)) { @@ -1109,7 +1138,7 @@ static void decode_qio_read_cmd(Flash *s) ); break; case MAN_NUMONYX: - s->needed_bytes +=3D numonyx_extract_cfg_num_dummies(s); + s->needed_bytes +=3D numonyx_extract_cfg_dummy_bytes(s); break; case MAN_MACRONIX: switch (extract32(s->volatile_cfg, 6, 2)) { --=20 2.53.0 From nobody Sun Jul 26 10:07:51 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430251; cv=none; d=zohomail.com; s=zohoarc; b=k3mRTw46SfonkbaxDZMRdgIOn5oy5gi7LEGqSZNk0srd7zpcJZW3xTUChtDckAMKfmImuy4/sUGdIZDsUxmKw89RsM+uFPyHBNshJqakwMwI8Kgbt4ZyTXgs7R+mHf8RyQ0779lKjHaruYE2G3BGgqH65xE5SLF1d5O+IqgJCaA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430251; 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=lN9MATFtm4EizLb/W1v/0rpJT6SEROwN4JCs2tgU2T0=; b=jLN4crR5ZxFR9hTlr4XXHOjV/VyOweFge9nWa1hFGQ6VNNd1QlNS1cPQRl7qChmetY3wPatoM2uJeoGY60I3WcGTB0PE/uwZmsaQvPbBIGNjkI5qLD6Es6KTey1X3ZFscAFazxXS7Ep7ApXai5U0DqNcT9waexCgnkxHtILXKbg= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430251932196.4847061498532; Tue, 7 Jul 2026 06:17:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5ee-0004vy-Oh; Tue, 07 Jul 2026 09:16:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5eL-0003rI-VQ for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:46 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5eJ-0000rs-Re for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:45 -0400 Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8vGt3676666 for ; Tue, 7 Jul 2026 13:15:42 GMT Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8t15a4r6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:15:42 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c0d6a2f4cso46981621cf.3 for ; Tue, 07 Jul 2026 06:15: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 a640c23a62f3a-c15ad820d33sm134878366b.3.2026.07.07.06.15.39 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:15:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= lN9MATFtm4EizLb/W1v/0rpJT6SEROwN4JCs2tgU2T0=; b=QQ9kaYZQUIzDVq/l pGMboN+n/oxcB3Pg4m7bTeg0KAk397Nb85AdGDTsttuYXY8iN9m4sGcnw/KeAtMY s7+pyo6MjBHIUo+eiqWKZYEEDia7kU1eYm959yRvMkSlpYxN5ahljlwVwts6DUAs idrfVRkFTuNUVfvwxItvtz31nM43cGtW4jUfRKIfXiZsN9jPUhFcmA0m/c2HFboa FcA4K9rPgx4P8eX/oNTCHKemaY4IC1/N/06H9EGLHh9lGwaO+Po/CDoVLIIwIXIj 2aVT6uyOnOOxNeii3lvgdNn9QrJDQy1NLLUbZfde1z/qXaR5yZNPxZ8v0fYRGWxD PesEig== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430142; x=1784034942; 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=lN9MATFtm4EizLb/W1v/0rpJT6SEROwN4JCs2tgU2T0=; b=JYEAese38sOjyjkHzIeJm2EFYfZlX0edO6oi28ILxW42ICMUzTRvN4i50MVHnB75Uq yuU0W+YId6Ez9oTi9ScFasWymtOtU92hmEaoLuknfI1qCaDkM4Cf9QvlUJQhqRPBgDWM QNMKmODO7Q8gmAvR/WR+xwrDh0kPpODncZc1HUjzfM7sHtXYPY0lWoOGlqymbbbGMZSa uX+2wN1MjzgxIAlakQpJp3TLyTHJt6rhSjHw/4p3vYiC7kwGLqtEYlmOgXHoBDojYikL B2bOxMNvQW3msRfRSEKl/5zIGcXlZpPJlK8wTyZMfzK6kOnFHC/ClLBa4I+XnzYF13Sw As5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430142; x=1784034942; 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=lN9MATFtm4EizLb/W1v/0rpJT6SEROwN4JCs2tgU2T0=; b=MnLxJGyMbMNnJrZOhoJuGu8I7Fw8ipZcAN08Td00EqtHXgMqk5ZhHkIlumCsaVk4Hb iQE3qhGhAKqWL8Qx3Nnupx33ssRlvzhm7vKe6ivCdgdBxdTxJHBW4aS6/PlxugT9ULGU tntcyRrkRsNnaSHkKD0vh0zmYaLbC23vF9/2J/Qrv2c2ujLDxaHMF/fkKNx5P1RD3tag vIzTQfhGy5KC2Eu6hJMfkVx5OOSGNbxx3F6M3dqZvNelCM90nmLlxRaGZiXh+pEoKFQY f4DXdvcLUg075xdRjqoBA/gFL1tKbcaQKuI35mQnP2oPRzZYyxUZNMjf7NqOK1dwJrKY BF+g== X-Gm-Message-State: AOJu0YxYQu+Wu5LTkjyOofnadFoZJUkT9hOrtguev650D0avdFCSruDT zUQCCwqkZrZMwwAcL6waduxF77qURTSSOWHucUJbhl8PNgDyBxSkz+VLXqTWsepCL+fMzymmt8E dpDrKqs1Wu4tQxpCbbld3o/lQOvR7a5CEWa5JyA6YUD3U0jOIev6Dpfj/qsUyBLOBBw== X-Gm-Gg: AfdE7cke3aOgTog56ddN2QPaeagW6WpcfcDCanujlIiutz+Cbl3bHLvf4IFzFFR23jO aUqnPAWQLUFSApJ5QeHWw7UlzWiC/DR+MttHfS/aTPhIDHqH21HwT3h+8io54Qnu9J9Dpcqgu3m Wiw+3UTHo9oUmhYAnechVPNKhb3V59P9t7CefZHih27z2gBPzNzzrDXFIeKHSv1iX04IMyDlaVc FtZd4CV5jbvC8pK14OqYeQcXtbqDp2gAh4rlSLTcMWGafTZRfEVAPOy156ImGN5Tt+Sb3Sj3zhq 4EQOlc1BEkmHK4AU7ljdLy8+XZ613UDajpdhdG98eK07raUTk7rLOPBW56xq07bfTDCfKee8s43 xRtEIEXbrFDYvnDfG9whssDiIzAB/iW44M97zXzP31mKq+DubBZsC/2aE0DWeLh+McI0p X-Received: by 2002:a05:622a:992:b0:51c:df0:1b34 with SMTP id d75a77b69052e-51c748844c0mr51481771cf.33.1783430141920; Tue, 07 Jul 2026 06:15:41 -0700 (PDT) X-Received: by 2002:a05:622a:992:b0:51c:df0:1b34 with SMTP id d75a77b69052e-51c748844c0mr51480481cf.33.1783430140645; Tue, 07 Jul 2026 06:15:40 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 27/32] hw/block: m25p80: Fix dummy byte handling for Macronix flash Date: Tue, 7 Jul 2026 15:12:17 +0200 Message-ID: <20260707131223.51505-28-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: onZRSHd95I22fqWLNEvcDarE1KoMCtRq X-Authority-Analysis: v=2.4 cv=HstG3UTS c=1 sm=1 tr=0 ts=6a4cfbfe cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=qudNOe3MAAAA:8 a=FRSEYCzRAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=eCjGLk0DLWPBDlXMaRQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=icPJRyImjHd6_pBPa6HO:22 a=H4N_Y-AU75W7NKDNhZlT:22 X-Proofpoint-ORIG-GUID: onZRSHd95I22fqWLNEvcDarE1KoMCtRq X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX96O3QNcF/Pl1 CMmX0rfGUI8pnpJFnETDam6XYAI9pkECjLKFnYpoO8gB4ui3ptIod5w8mjbe4huvLkAka0wb6qq O0HUk2wRTc4iZNh3pfERQpQuIMRvX30= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX/6qliNvYqgmb sCeVjO2FlTfD9ZZFekj/MQN9h6BszUnjsmzSR/mlQJZIEQaZ04Zn8lyurHjIfLftDexeQduJQbT EXF+Rve6zvnJy+TEIyYVg1CSNmtVFcD48dtNYVmGlwYfholtfXi4Hf433eULF4C10RdIBHG/6Hf zwF/rL9OiqF9qAwb+lEvwSdEevv6IQU0JmAzMi/gJwt485ZCAN89UHs5jlCvIuJN4+BgEmBTgjn ABsjkVbn/SPkOf7m5wEtmBmg2dXbOwz/BOCbcViTiMwlGzICZz+7pWKkSxlt0CawPpcZibVxgBM xwRAezzt1lOxDYUdH6wf+aYFEO57mZ2IxD61KLpTC9Z+CTiE1Q3g58uwWTTujrykRmwylE5BYu9 qLc3wFJD7g21S5/vn5poPvbPXBtb5x85Cnt0FlBZBnTEEFSgbn/hTaHmAiOK9fpboGQeDHSTiYS o/cFU65UM6RqkMrQ41w== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 impostorscore=0 suspectscore=0 malwarescore=0 bulkscore=0 clxscore=1015 spamscore=0 adultscore=0 lowpriorityscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430253906158500 From: Bin Meng Macronix flashes expose DC[1:0] bits in the volatile configuration register [1]. These bits select the number of dummy clock cycles used by the fast-read command families. Convert the Macronix dummy-cycle settings through per-command-family tables and round up the non-byte-aligned cases that the byte-oriented SSI model cannot represent exactly. [1] https://www.macronix.com/Lists/Datasheet/Attachments/8657/MX66L51235F,%= 203V,%20512Mb,%20v1.1.pdf Fixes: cf6f1efe0b57 ("m25p80: Fast read commands family changes") Signed-off-by: Bin Meng Tested-by: C=C3=A9dric Le Goater Message-ID: <20260707083431.219671-4-bin.meng@processmission.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/block/m25p80.c | 63 +++++++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c index 83d1ce1f956..d7a9d793737 100644 --- a/hw/block/m25p80.c +++ b/hw/block/m25p80.c @@ -1024,6 +1024,39 @@ static uint8_t numonyx_extract_cfg_dummy_bytes(Flash= *s) return dummy_bits / 8; } =20 +static uint8_t macronix_extract_cfg_dummy_bytes(Flash *s, uint8_t bus_widt= h) +{ + static const uint8_t dummy_cycles_fast[4] =3D { 8, 6, 8, 10 }; + static const uint8_t dummy_cycles_dio[4] =3D { 4, 6, 8, 10 }; + static const uint8_t dummy_cycles_qio[4] =3D { 6, 4, 8, 10 }; + const uint8_t *dummy_cycles =3D dummy_cycles_fast; + uint8_t dummy_bits; + + switch (s->cmd_in_progress) { + case DIOR: + case DIOR4: + dummy_cycles =3D dummy_cycles_dio; + break; + case QIOR: + case QIOR4: + dummy_cycles =3D dummy_cycles_qio; + break; + default: + break; + } + + dummy_bits =3D dummy_cycles[extract32(s->volatile_cfg, 6, 2)]; + dummy_bits *=3D bus_width; + + /* + * Assert that the dummy bit count is byte-aligned + * as SSI core can only consume whole dummy bytes. + */ + assert(dummy_bits % 8 =3D=3D 0); + + return dummy_bits / 8; +} + static void decode_fast_read_cmd(Flash *s) { s->needed_bytes =3D get_addr_length(s); @@ -1039,11 +1072,7 @@ static void decode_fast_read_cmd(Flash *s) s->needed_bytes +=3D numonyx_extract_cfg_dummy_bytes(s); break; case MAN_MACRONIX: - if (extract32(s->volatile_cfg, 6, 2) =3D=3D 1) { - s->needed_bytes +=3D 6; - } else { - s->needed_bytes +=3D 8; - } + s->needed_bytes +=3D macronix_extract_cfg_dummy_bytes(s, 1); break; case MAN_SPANSION: s->needed_bytes +=3D extract32(s->spansion_cr2v, @@ -1091,17 +1120,7 @@ static void decode_dio_read_cmd(Flash *s) s->needed_bytes +=3D numonyx_extract_cfg_dummy_bytes(s); break; case MAN_MACRONIX: - switch (extract32(s->volatile_cfg, 6, 2)) { - case 1: - s->needed_bytes +=3D 6; - break; - case 2: - s->needed_bytes +=3D 8; - break; - default: - s->needed_bytes +=3D 4; - break; - } + s->needed_bytes +=3D macronix_extract_cfg_dummy_bytes(s, 2); break; case MAN_ISSI: /* @@ -1141,17 +1160,7 @@ static void decode_qio_read_cmd(Flash *s) s->needed_bytes +=3D numonyx_extract_cfg_dummy_bytes(s); break; case MAN_MACRONIX: - switch (extract32(s->volatile_cfg, 6, 2)) { - case 1: - s->needed_bytes +=3D 4; - break; - case 2: - s->needed_bytes +=3D 8; - break; - default: - s->needed_bytes +=3D 6; - break; - } + s->needed_bytes +=3D macronix_extract_cfg_dummy_bytes(s, 4); break; case MAN_ISSI: /* --=20 2.53.0 From nobody Sun Jul 26 10:07:52 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430256; cv=none; d=zohomail.com; s=zohoarc; b=hX034g/7hQ53maJBs/glLge/7xJ0pG8viY8VcCeMBLYZftpHm+rwRLVmjRy0k6gkdoGBo8SoKLpdb5VP/8rEj+1SDiLkrui8+D/IR22S7jOmOn68/LLoe8tliaaAHrwhrHa3Glq5CLsc88Y3TyeB4mgxUbsknomihISg9CWhrSg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430256; 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=Q7dKRD/YZrRPz30zezRUpSFHvIoPGWdiXeo7RuBNVQQ=; b=WS1MDGu0mU929G1U4QqsTlkwhlIWsUu1YhWX6uJszkImOs26cv5IQyhKFthFI6Un4x6AEpQPpsS7myN3O/DMBUfDwtRD0gR4bJFiWayksa9/vSxMa8bdFDA/MDJ4/k9AYXnTRMNyg/2P5aC5y3xmThHrvag3BasBpWgUqCfDLaY= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430256232823.7619519391458; Tue, 7 Jul 2026 06:17:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5f3-0005T9-AW; Tue, 07 Jul 2026 09:16:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5eX-0004Xz-4h for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:57 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5eV-0000tK-Ff for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:15:56 -0400 Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8slM3768559 for ; Tue, 7 Jul 2026 13:15:54 GMT Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8qj7akag-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:15:54 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c26012cd0so52989101cf.0 for ; Tue, 07 Jul 2026 06:15:54 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ada05d72sm136589266b.53.2026.07.07.06.15.47 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:15:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Q7dKRD/YZrRPz30zezRUpSFHvIoPGWdiXeo7RuBNVQQ=; b=FC/+yj8vnRCu72dB AJkwA+HoOtKOFXYxUl/dBfOXlm+AWUsu0uxpzFY4cc3lZDlguo72G9TFa2SqS7zV yiAw6rGuv1LPfvvJusGgyl1N1ODrfZ0Ace2zoHRLQwZj3oAuYoG4GpQirjcIBh+C 99nxyH9w5zhjTiCA8hz6vA0CTBUtdIJC/b3G9PdNDUrTJuFGqmLK6S8jFmb1Qm/w RDH2RbOlkQZti2dZBreKjJxm4QnmwgRZ0ElXVh8GcnjEVM2xV7EVwlShCXWSXPth kY5DfltyiomNARi31EgAsiH3vqq/eSCqeX3jZ1JOg96pSIH7ZRcegI2VeSv80hkn Ile4GQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430153; x=1784034953; 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=Q7dKRD/YZrRPz30zezRUpSFHvIoPGWdiXeo7RuBNVQQ=; b=aND7iPvXLAplQDBsgBgboN5gUH/jXs3tp+tXUCDTIHM5/K6AcBO+1w/l08aCPno9/a Ijl1TLlGhCatnx4A0HjFEOZ/+I03gsKjPtHweXXzGPu0cT2HxMLG94NzkL5apVmfV0m3 MWVQGLVdQAOee5WFM6kxlYKhrl8j8tNsVR3KlHusz0C6cebfrntgjWK11hCasJFeFNpV gUAnKOT/cwS82y8BvP5TnXZkN1p1j6183DsIFLhEuBQ5OLlIVv5/pEAO9k6yfQX+BWar m5pRuEG2Vdz9SVbp6Ks3+7H6ZjBcKCLZzp/MfMDR0T6YYD5XVb+MgsI/XambRVYwuMWj jc1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430153; x=1784034953; 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=Q7dKRD/YZrRPz30zezRUpSFHvIoPGWdiXeo7RuBNVQQ=; b=s1e4rO/eDRMxCAijTvLjhdh0s23atn74/Co+g/cWXkuisOaKbqT1EBtIaJpaMVW6nC N1/K/BV2a4xST+1fG3OE+I/L2Hm/EsqSWWgH4HF9WU25RekAZV+ASEMwlgVM56Xo9Tzi Jp9rKQf++e0ukV+7fw5t8y9QRMDz+MK1pvEtws8b2q4Euoe6N5xOrjC0bg3Buefh/WYv 4sPnH68c026IzAKwemExLPJtTc2lubisSVE6IJsppjPIvn8WwEBA9uv9A4txBGCwewhx +dMG14cO9WNThBuAYOqG+fp/AFoAtypHAvES72R4iAkvrXfQNKxTAAbaj3uNnx7TsugK pmRw== X-Gm-Message-State: AOJu0Yxg4Z8cuNMO9Eu+sgHrEIZhsj9CeNk3U8GFlFjV5vNsHWYiC1v1 hd85CpuxnmOWdm1XN8B9AUrSeXiIJsRPGmbvToy6kIxPn9QZLnnpqwq9qdND2URNI2aSajHhAFJ 0OaKgVPgy8V8OsUBVdvaprVjGEKL+16vl8Fq9Z9Ue1uuUHKlf3mkr2c+EAyCGsXxxaA== X-Gm-Gg: AfdE7ckPH/32dwKm1zxbuTceyUn398qVLhBJn4xs/Uw2cvFoQfDxPX0L2RwyYlZjGjx +4mx8SaLA75/otWAwMusqowh+7wKxjaxGkEb3u3kxnxtxteeCigqPiv+W01BRnYV7YTN9dY2RNH +HLkm22zqSVesHpfRvfUjLYb9O4FwHN5qtgTOTYlZKIOVTGt80dFnXS3EKdFf2qD7v2GgOMkDEz d/4UKyZGcDPM9zyUlFimsyX/HXbmLL7iTf5tqQrUrsOqJT1Sl2JSLTfdEAmQky4syY2r7EKHoXA s29cn568eqv2iRsSMJW+Wf0CvcB+zYRs3EoWF3bZCQhhJSr3Eje/T0dasTxTzRildXd7JUpwTeQ Z7WMGKT3AKv1MDTzwijtyd7IopCBUi8MdQygBa173p2EA3kO44yHDaMbdgvaahay1Si8w X-Received: by 2002:a05:622a:3cf:b0:50d:900e:c1c1 with SMTP id d75a77b69052e-51c747ca072mr54534061cf.7.1783430153415; Tue, 07 Jul 2026 06:15:53 -0700 (PDT) X-Received: by 2002:a05:622a:3cf:b0:50d:900e:c1c1 with SMTP id d75a77b69052e-51c747ca072mr54529521cf.7.1783430148531; Tue, 07 Jul 2026 06:15:48 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 28/32] hw/ssi: npcm7xx_fiu: Correct the dummy cycle emulation logic Date: Tue, 7 Jul 2026 15:12:18 +0200 Message-ID: <20260707131223.51505-29-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: 0RqZTkg9b0U2GbmtsAQHigho8Cjt-69w X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX9fVHzZTtfT/I ao0FeCZgSFyyau2UEmbqMLlvfVcL+oLvLXOrTSX6aNYJmZjmtEe7P0RqEy0F8iYOU+Rna2DPsl/ sH0TxGOVMhJaPXmikcOsk9Y6hGj+2t68pURt7nXJNVs/8RvXUEduL7ZE6pGrqqMRsnnqXe9vIbi eVE5ynebPWdnF109FVuNhH6LrI9Pop/vg65DTa82m1GETCa0c0Ail5ArUDRKcX2wMqFNGbyoqU3 +Fdw3Mh+Bu6Td0El5lRpMTImPhi3zchrmrIcW6rLadwhLCsUbHIBn13IfuuWI1QGFYYmxbOzB+K KhVg8N3JMRZ2MkQdES9S997ktUg8o2SXxvYZV429TXbrKlTBN0WxNz4lkisRaEmAvSKipaqi4yB LD2evsAhcN44WLeHf55n10khlhQaHq5M2BjViGOk3dlfHvri51ZFIWH46SPeCZw/jU5E7iTuPTD wM6VvxnMJMoIBoEF+lg== X-Authority-Analysis: v=2.4 cv=PIM/P/qC c=1 sm=1 tr=0 ts=6a4cfc0a cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=FRSEYCzRAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=YJbDOTpK0_xWFmpPxLsA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=H4N_Y-AU75W7NKDNhZlT:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXwhCsg4RzzyKg lb+VJnkCBQi9FOD84TXn50ikYcZVRx6myibAexrzhAJHqJ5BgtOfdgPVwGTSLnAi10YTrSsJPEN XbUTs/TzSJzqGRihBCS2ffiWgLeDAXk= X-Proofpoint-GUID: 0RqZTkg9b0U2GbmtsAQHigho8Cjt-69w X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 impostorscore=0 malwarescore=0 adultscore=0 phishscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430257944158500 From: Bin Meng Change send_dummy_bits() to send_dummy_bytes() as the FIU register fields are programmed from spi_mem_op.dummy.nbytes, so they already describe byte transfers. Verified the changes by booting OpenBMC image on `gbs` machine all the way to the Linux login shell: $ qemu-system-arm -machine quanta-gbs-bmc -nographic \ -drive file=3Dimage.mtd,if=3Dmtd,bus=3D0,unit=3D0,format=3Draw Fixes: b821242c7b3b ("hw/ssi: NPCM7xx Flash Interface Unit device model") Signed-off-by: Bin Meng Tested-by: C=C3=A9dric Le Goater Message-ID: <20260707083431.219671-6-bin.meng@processmission.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/ssi/npcm7xx_fiu.c | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/hw/ssi/npcm7xx_fiu.c b/hw/ssi/npcm7xx_fiu.c index 2d5bed005ad..d41d877cfbe 100644 --- a/hw/ssi/npcm7xx_fiu.c +++ b/hw/ssi/npcm7xx_fiu.c @@ -150,7 +150,7 @@ static uint64_t npcm7xx_fiu_flash_read(void *opaque, hw= addr addr, NPCM7xxFIUState *fiu =3D f->fiu; uint64_t value =3D 0; uint32_t drd_cfg; - int dummy_cycles; + int dummy_bytes; int i; =20 if (fiu->active_cs !=3D -1) { @@ -180,10 +180,8 @@ static uint64_t npcm7xx_fiu_flash_read(void *opaque, h= waddr addr, break; } =20 - /* Flash chip model expects one transfer per dummy bit, not byte */ - dummy_cycles =3D - (FIU_DRD_CFG_DBW(drd_cfg) * 8) >> FIU_DRD_CFG_ACCTYPE(drd_cfg); - for (i =3D 0; i < dummy_cycles; i++) { + dummy_bytes =3D FIU_DRD_CFG_DBW(drd_cfg); + for (i =3D 0; i < dummy_bytes; i++) { ssi_transfer(fiu->spi, 0); } =20 @@ -305,20 +303,13 @@ static void send_address(SSIBus *spi, unsigned int ad= dsiz, uint32_t addr) } } =20 -/* Send the number of dummy bits specified in the UMA config register. */ -static void send_dummy_bits(SSIBus *spi, uint32_t uma_cfg, uint32_t uma_cm= d) +/* Send the number of dummy bytes specified in the UMA config register */ +static void send_dummy_bytes(SSIBus *spi, uint32_t uma_cfg) { - unsigned int bits_per_clock =3D 1U << FIU_UMA_CFG_DBPCK(uma_cfg); unsigned int i; =20 for (i =3D 0; i < FIU_UMA_CFG_DBSIZ(uma_cfg); i++) { - /* Use bytes 0 and 1 first, then keep repeating byte 2 */ - unsigned int field =3D (i < 2) ? ((i + 1) * 8) : 24; - unsigned int j; - - for (j =3D 0; j < 8; j +=3D bits_per_clock) { - ssi_transfer(spi, extract32(uma_cmd, field + j, bits_per_clock= )); - } + ssi_transfer(spi, 0); } } =20 @@ -354,8 +345,8 @@ static void npcm7xx_fiu_uma_transaction(NPCM7xxFIUState= *s) ssi_transfer(s->spi, extract32(s->regs[reg], field, 8)); } =20 - /* Send dummy bits, if present. */ - send_dummy_bits(s->spi, uma_cfg, s->regs[NPCM7XX_FIU_UMA_CMD]); + /* Send dummy bytes, if present */ + send_dummy_bytes(s->spi, uma_cfg); =20 /* Read data, if present. */ for (i =3D 0; i < FIU_UMA_CFG_RDATSIZ(uma_cfg); i++) { --=20 2.53.0 From nobody Sun Jul 26 10:07:52 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430240; cv=none; d=zohomail.com; s=zohoarc; b=Swpz52Ra6APznb2LVZf/D66ouN05jTbwy3tNx+TVPcTmHcVgtqhLfTEJj5S2COKNBVFabDO4QryuH81UaHNDmUuROdpF/tm4F10UqHNnfKCrcc+vqUnaD26sgQInbGpjSKPHtt39Dm+/OO3KVp3V3wil04zg0SpW3MlHiXkMAoM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430240; 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=PvEHIfoCoc8dQMRaAWL8ad0pxGs2GL+p78susvLS+PA=; b=OtZEp/5YMVmzA0WhAliU33VzcEWF3OfyaABy6fl3kQ2q+iYJBkp+drcVzfhZTISXPVWBbh2FbN/F8OBjqmvBbugOkUS6gRzzAUah5oWhyR7qnNc4zk4W4yOLyXvFFk0AWMX/zKKacNOznTCpK9KdY/NJMpXvLl+DHAJ3z7FqWlM= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430240165207.17516174319326; Tue, 7 Jul 2026 06:17:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5fF-0005jx-9K; Tue, 07 Jul 2026 09:16:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5ec-00051Q-81 for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:16:03 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5eZ-0000v6-Pb for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:16:02 -0400 Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8hV13755523 for ; Tue, 7 Jul 2026 13:15:58 GMT Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8wep195p-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:15:58 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51bf321d786so52331741cf.1 for ; Tue, 07 Jul 2026 06:15:58 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-69a19d9e701sm6141180a12.21.2026.07.07.06.15.54 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:15:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= PvEHIfoCoc8dQMRaAWL8ad0pxGs2GL+p78susvLS+PA=; b=VNVpOLK+kcze12sm J6tX20b9ywxfdy/xP7cIEN6w8WDIfkyEezO+fJX9faLqciKBbhaWnVPVOXD/pUkO jJll7MUeFIWCQ5gPdq2KP8KD5wtKdORALep2AzMKJ5Wn121DF0SCwiW8IerKGbGq itu8x8Z1wKsEXroa531ifiOCIHB1wB/auTeh6TWG273i72jGHSgcSP5az1uL0/aJ 3Hn80SrNVUjAV5v2Z01QRrmqYb/PKybf0qSxC93wMOZyiIRVvsXEX6zElh+azxVm 3urw8C3VZTsDRcXpedLPLIeLcm/qLLQQ2gYu8X4JrpJIuHt8ucK6Zbf0CpqQcowE 9LvA5g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430157; x=1784034957; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=PvEHIfoCoc8dQMRaAWL8ad0pxGs2GL+p78susvLS+PA=; b=eQGX4akNvR85y2k0RjxIlNjxDJNIw3gfHTOKde/rdfAHDlxbIrW26Rnx75/kxnoM2T +7rlD0jk+0GN5w1MN1OFWngjTx21vNwNFzLkDC/+aylaWbSmp/cGLpiK047efwoc+7iU Zj6dIKlQPkEb4CXik9dplquIir9TYrX/PGgt/k+vulvGM+Y5080GeQyOiLnDVVu48kCV BoJd673t7zYlqQjbu9b+uzXwDdBSXRpdm08dQ4nKX6YVQFl3Vq0U+KYAJO3O4ku0nukz QfT43RcvA5O2KD4Y2C9XDB3wKyhiMeyvEz9ms7kIMmAc7752xDnfRK971PNDmRqNQZPx Wa9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430157; x=1784034957; h=content-transfer-encoding:content-type: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 :content-type; bh=PvEHIfoCoc8dQMRaAWL8ad0pxGs2GL+p78susvLS+PA=; b=QdXyN4d4wp7YQ4yR6q+xlA5P08Njy4eVxUtnGUCjiae7NYcV1rv5MAoBhLPpgoJqne RDsZGSZcACSx82q6E2NBX7iSQ4dVElPrYGyo7QUQjo2nelmNnITCljRIWqDG7rVOYtWL V2Y9wLYANX5i2tmILUFG3a8GPv1GuQ93aWibmrUhY5NpP/B8eOftBUoHQ+yUfRM3NbyA RmGqOqfTy+ex79NZd7ZpFOkSTbt+ce3E7PA2ePHhNtUJ8LIAcZGEx/5Bp+ULftKkbgJN z7j2dqLbiiqx+TzuZ3McYnOD1RfxZjRYG728lO+E85l3+nuvecHRyuevAqu3qU9JceYg VeXA== X-Gm-Message-State: AOJu0YzaXCorAsrxzKlzMYDuUGvE31jKhtOlhPnxtJw/UEQs6FlTTe0x gH7lbS/IIL7i2GMOPDQzn6/m3gIlRnLQVvPs73/F/meQlAVMM3VHWw5J8V6LiULknMJZGplD0eR E4FMBSvEzzU+pQuSI4qOQY6aLgid1SjVu5bT3Au7vSUimEqq+OBdkymxYC93HbOQYGA== X-Gm-Gg: AfdE7cmgxQeAUTfCQpszd7Fiky2HO9gD1/0Rl819oMwpssbZsli4HEqaXpU1/FE92AM QXJeUsy1IttrZAHEOrADBm6viDZc7Pes30S6y1bpS1dWoN+bzfAS09t9mzeM0ON3n2/fw/D8+6B lmDAElW8wCICEKOgOGTlI6HGpitXUMnfuBWtciScUUSmDfe3vyR1S4k245wI9m8nFWARr/0zEqJ Zt/Koixcp5lmaaW4tHe24pIkH/P1u7eC6LQpOslZRXNQPxogE9fJYq+hNUBPcc3dfqbdj3a/aBG HjTy081uW/z0IgYkD2ff+SCu5u49l4uaksuGwkKYjUS7+Lvlrcmql3rUCgkrQuS3EJeFbYEdBiJ imgDlWjk7NTc7ZJXgxp4/unlFhVB0xBUNl4TnOTwLB3AnwpHTcEPr2sgcyN2HaExhOAuq X-Received: by 2002:a05:622a:c01:b0:51c:22c5:daf4 with SMTP id d75a77b69052e-51c747cf3edmr50459111cf.28.1783430157006; Tue, 07 Jul 2026 06:15:57 -0700 (PDT) X-Received: by 2002:a05:622a:c01:b0:51c:22c5:daf4 with SMTP id d75a77b69052e-51c747cf3edmr50458221cf.28.1783430155876; Tue, 07 Jul 2026 06:15:55 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 29/32] hw/ssi: xilinx_spips: Fix dummy phase handling Date: Tue, 7 Jul 2026 15:12:19 +0200 Message-ID: <20260707131223.51505-30-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: y-Mana4ktGwGklVXgBvyrWLQKL1xV81I X-Proofpoint-ORIG-GUID: y-Mana4ktGwGklVXgBvyrWLQKL1xV81I X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX5qL2oIDd5ZwY IHG6FJJVBxy/UY1zsyY3OmRFKOSbHsd2x0NRhB94Gd7AeWrUikeOB8U80e4M9riEqJw42YLYGXE yi2+mAm5zTJch3NwJIM1BWwwaPdrr/sX4KshCYCukl+x/tdvFElwBYIxIBod4wYWGX082p2eOcP mXlqb81ec5T+nguGkNSfk3v7rA1W/RGX+i/Jc89fcu3+pS/n0Oyhq4bHZN7BAWQ+IyEQJZeVjHR gPcVehg2duQuxvHxK87tQURGje4vahl7KjFMHSioQv9bssjbcn/TCKpr/stNboUZ2UJy0LI6m/f pdwfumjWj2Xh8sxG8fXeUZiNNST2dL4YmEgpTXOoVVAB4WnR2finuyeyodYM+uP42NMLGZO7kRg H5FshY+eOLue4CftmtYSuNBLsD4Pmb/Dvg0fWpOp1PLLzz5DYEB5rh026Wj9SE1qaialp8bAOWa QlJz78TfkIw6wD0PIng== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX8fxUyX9Do2OU WJ1poDfxXqAhqtNTg7c0j+QSQAi8sP4E7XHeryTyqD1FXhalCkJ+nCL4sCpcxrCvE/VP8pruN9p k2W+IXWCHzN+uYtPCUrR/K2aFpVjesk= X-Authority-Analysis: v=2.4 cv=atSCzyZV c=1 sm=1 tr=0 ts=6a4cfc0e cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=Am4ss40yAAAA:8 a=FRSEYCzRAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=058f9aFXmwy2ZMPPIcsA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=lf-hbUz_c89dky27wAWH:22 a=H4N_Y-AU75W7NKDNhZlT:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 clxscore=1015 priorityscore=1501 spamscore=0 suspectscore=0 lowpriorityscore=0 bulkscore=0 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430241864158500 From: Bin Meng The ZynqMP generic FIFO encodes dummy phases as a number of dummy cycles. QEMU's SSI bus transfers whole bytes, so the controller model must convert the programmed cycle count to the number of SSI byte transfers needed for the selected SPI, dual SPI or quad SPI mode. The legacy Xilinx QSPI snoop paths had the opposite problem after the m25p80 dummy handling was fixed. They still treated each dummy byte queued through the FIFO as a request to generate several SSI transfers based on the current link width. The flash model now consumes dummy phases as byte counts, so the manual FIFO path should forward one SSI transfer per dummy byte. Update the Xilinx QSPI dummy accounting consistently for the generic FIFO, manual FIFO and LQSPI direct-read paths. Also make the command table report the dummy byte counts consumed by m25p80 for dual and quad output reads, and account for the mode byte before LQSPI data reads begin. This matches the ZynqMP TRM (ug1085, v2.2 [1]) description of the generic FIFO dummy cycle entry and keeps the controller side aligned with the flash model's dummy byte ownership. The description of the generic command fifo register says: When [receive, transmit, data_xfer] =3D [0,0,1], the [immediate_data] field represents the number of dummy cycle sent on the SPI interface. [1] https://www.xilinx.com/support/documentation/user_guides/ug1085-zynq-ul= trascale-trm.pdf table 24=E2=80=9022, an example of Generic FIFO Contents for Quad I/O R= ead Command (EBh) Fixes: ef06ca3946e2 ("xilinx_spips: Add support for RX discard and RX drain= ") Fixes: c95997a39de6 ("xilinx_spips: Add support for the ZynqMP Generic QSPI= ") Signed-off-by: Bin Meng Tested-by: C=C3=A9dric Le Goater Message-ID: <20260707083431.219671-7-bin.meng@processmission.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/ssi/xilinx_spips.h | 2 +- hw/ssi/xilinx_spips.c | 123 +++++++++++++++++++++++++--------- 2 files changed, 91 insertions(+), 34 deletions(-) diff --git a/include/hw/ssi/xilinx_spips.h b/include/hw/ssi/xilinx_spips.h index c8f6c5053c4..d1eefa4ba67 100644 --- a/include/hw/ssi/xilinx_spips.h +++ b/include/hw/ssi/xilinx_spips.h @@ -69,7 +69,7 @@ struct XilinxSPIPS { uint8_t num_busses; =20 uint8_t snoop_state; - int cmd_dummies; + int cmd_dummy_bytes; uint8_t link_state; uint8_t link_state_next; uint8_t link_state_next_when; diff --git a/hw/ssi/xilinx_spips.c b/hw/ssi/xilinx_spips.c index f6e717bc019..e4fce2c1957 100644 --- a/hw/ssi/xilinx_spips.c +++ b/hw/ssi/xilinx_spips.c @@ -192,6 +192,10 @@ FIELD(GQSPI_GF_SNAPSHOT, EXPONENT, 9, 1) FIELD(GQSPI_GF_SNAPSHOT, DATA_XFER, 8, 1) FIELD(GQSPI_GF_SNAPSHOT, IMMEDIATE_DATA, 0, 8) +#define GQSPI_GF_MODE_SPI 1 +#define GQSPI_GF_MODE_DSPI 2 +#define GQSPI_GF_MODE_QSPI 3 + #define R_GQSPI_MOD_ID (0x1fc / 4) #define R_GQSPI_MOD_ID_RESET (0x10a0000) =20 @@ -237,7 +241,7 @@ static void xilinx_spips_update_cs(XilinxSPIPS *s, int = field) } if (!(field & ((1 << (s->num_cs * s->num_busses)) - 1))) { s->snoop_state =3D SNOOP_CHECKING; - s->cmd_dummies =3D 0; + s->cmd_dummy_bytes =3D 0; s->link_state =3D 1; s->link_state_next =3D 1; s->link_state_next_when =3D 0; @@ -382,7 +386,7 @@ static void xilinx_spips_reset(DeviceState *d) s->link_state_next =3D 1; s->link_state_next_when =3D 0; s->snoop_state =3D SNOOP_CHECKING; - s->cmd_dummies =3D 0; + s->cmd_dummy_bytes =3D 0; s->man_start_com =3D false; xilinx_spips_update_ixr(s); xilinx_spips_update_cs_lines(s); @@ -457,6 +461,7 @@ static void xlnx_zynqmp_qspips_flush_fifo_g(XlnxZynqMPQ= SPIPS *s) int i; =20 if (!s->regs[R_GQSPI_DATA_STS]) { + uint32_t prev_gf_snapshot =3D s->regs[R_GQSPI_GF_SNAPSHOT]; uint8_t imm; =20 s->regs[R_GQSPI_GF_SNAPSHOT] =3D fifo32_pop(&s->fifo_g); @@ -484,7 +489,57 @@ static void xlnx_zynqmp_qspips_flush_fifo_g(XlnxZynqMP= QSPIPS *s) } s->regs[R_GQSPI_DATA_STS] =3D 1ul << imm; } else { - s->regs[R_GQSPI_DATA_STS] =3D imm; + /* + * When [receive, transmit, data_xfer] =3D [0,0,1], it rep= resents + * the number of dummy cycle sent on the SPI interface. We= need + * to convert the number of dummy cycles to bytes accordin= g to + * the SPI mode being used. + * + * Ref: ug1085 v2.2 (December 2020) table 24=E2=80=9022, a= n example of + * Generic FIFO Contents for Quad I/O Read Command (E= Bh) + */ + if (!ARRAY_FIELD_EX32(s->regs, GQSPI_GF_SNAPSHOT, TRANSMIT= ) && + !ARRAY_FIELD_EX32(s->regs, GQSPI_GF_SNAPSHOT, RECIEVE)= ) { + uint8_t spi_mode =3D ARRAY_FIELD_EX32(s->regs, + GQSPI_GF_SNAPSHOT, + SPI_MODE); + /* + * Some ZynqMP GQSPI drivers, such as Linux, use the d= ata + * bus width in the dummy GENFIFO entry only to config= ure + * the controller mode. The immediate value is already + * the number of dummy cycles for the dummy phase, whi= ch + * follows the address bus width. Reuse the previous TX + * phase mode to convert cycles to SSI bytes. + * + * This does not make the model Linux-only. U-Boot emi= ts + * the dummy entry with op->dummy.buswidth, so the ent= ry + * mode already matches the dummy phase. Its opcode and + * address phases are immediate entries, not DATA_XFER= TX + * entries, so the override below is not taken for U-B= oot. + */ + if (FIELD_EX32(prev_gf_snapshot, GQSPI_GF_SNAPSHOT, + DATA_XFER) && + FIELD_EX32(prev_gf_snapshot, GQSPI_GF_SNAPSHOT, + TRANSMIT) && + !FIELD_EX32(prev_gf_snapshot, GQSPI_GF_SNAPSHOT, + RECIEVE)) { + spi_mode =3D FIELD_EX32(prev_gf_snapshot, + GQSPI_GF_SNAPSHOT, SPI_MODE); + } + + if (spi_mode =3D=3D GQSPI_GF_MODE_QSPI) { + s->regs[R_GQSPI_DATA_STS] =3D ROUND_UP(imm * 4, 8)= / 8; + } else if (spi_mode =3D=3D GQSPI_GF_MODE_DSPI) { + s->regs[R_GQSPI_DATA_STS] =3D ROUND_UP(imm * 2, 8)= / 8; + } else if (spi_mode =3D=3D GQSPI_GF_MODE_SPI) { + s->regs[R_GQSPI_DATA_STS] =3D ROUND_UP(imm * 1, 8)= / 8; + } else { + qemu_log_mask(LOG_GUEST_ERROR, + "Unknown SPI MODE: 0x%x ", spi_mode); + } + } else { + s->regs[R_GQSPI_DATA_STS] =3D imm; + } } } /* Zero length transfer check */ @@ -550,7 +605,7 @@ static void xlnx_zynqmp_qspips_flush_fifo_g(XlnxZynqMPQ= SPIPS *s) } } =20 -static int xilinx_spips_num_dummies(XilinxQSPIPS *qs, uint8_t command) +static int xilinx_spips_num_dummy_bytes(XilinxQSPIPS *qs, uint8_t command) { if (!qs) { /* The SPI device is not a QSPI device */ @@ -567,10 +622,11 @@ static int xilinx_spips_num_dummies(XilinxQSPIPS *qs,= uint8_t command) case QPP_4: return 0; case FAST_READ: - case DOR: - case QOR: case FAST_READ_4: + return 1; + case DOR: case DOR_4: + case QOR: case QOR_4: return 1; case DIOR: @@ -611,7 +667,6 @@ static void xilinx_spips_flush_txfifo(XilinxSPIPS *s) int i; uint8_t tx =3D 0; uint8_t tx_rx[MAX_NUM_BUSSES] =3D { 0 }; - uint8_t dummy_cycles =3D 0; uint8_t addr_length; =20 if (fifo8_is_empty(&s->tx_fifo)) { @@ -631,26 +686,18 @@ static void xilinx_spips_flush_txfifo(XilinxSPIPS *s) tx_rx[i] =3D tx; } } else { - /* - * Extract a dummy byte and generate dummy cycles according to= the - * link state - */ tx =3D fifo8_pop(&s->tx_fifo); - dummy_cycles =3D 8 / s->link_state; + for (i =3D 0; i < num_effective_busses(s); ++i) { + tx_rx[i] =3D tx; + } } =20 for (i =3D 0; i < num_effective_busses(s); ++i) { int bus =3D num_effective_busses(s) - 1 - i; - if (dummy_cycles) { - int d; - for (d =3D 0; d < dummy_cycles; ++d) { - tx_rx[0] =3D ssi_transfer(s->spi[bus], (uint32_t)tx_rx= [0]); - } - } else { - DB_PRINT_L(debug_level, "tx =3D %02x\n", tx_rx[i]); - tx_rx[i] =3D ssi_transfer(s->spi[bus], (uint32_t)tx_rx[i]); - DB_PRINT_L(debug_level, "rx =3D %02x\n", tx_rx[i]); - } + + DB_PRINT_L(debug_level, "tx =3D %02x\n", tx_rx[i]); + tx_rx[i] =3D ssi_transfer(s->spi[bus], (uint32_t)tx_rx[i]); + DB_PRINT_L(debug_level, "rx =3D %02x\n", tx_rx[i]); } =20 if (s->regs[R_CMND] & R_CMND_RXFIFO_DRAIN) { @@ -685,9 +732,9 @@ static void xilinx_spips_flush_txfifo(XilinxSPIPS *s) switch (s->snoop_state) { case (SNOOP_CHECKING): /* Store the count of dummy bytes in the txfifo */ - s->cmd_dummies =3D xilinx_spips_num_dummies(q, tx); + s->cmd_dummy_bytes =3D xilinx_spips_num_dummy_bytes(q, tx); addr_length =3D get_addr_length(s, tx); - if (s->cmd_dummies < 0) { + if (s->cmd_dummy_bytes < 0) { s->snoop_state =3D SNOOP_NONE; } else { s->snoop_state =3D SNOOP_ADDR + addr_length - 1; @@ -697,14 +744,14 @@ static void xilinx_spips_flush_txfifo(XilinxSPIPS *s) case DOR: case DOR_4: s->link_state_next =3D 2; - s->link_state_next_when =3D addr_length + s->cmd_dummies; + s->link_state_next_when =3D addr_length + s->cmd_dummy_byt= es; break; case QPP: case QPP_4: case QOR: case QOR_4: s->link_state_next =3D 4; - s->link_state_next_when =3D addr_length + s->cmd_dummies; + s->link_state_next_when =3D addr_length + s->cmd_dummy_byt= es; break; case DIOR: case DIOR_4: @@ -720,10 +767,10 @@ static void xilinx_spips_flush_txfifo(XilinxSPIPS *s) /* * Address has been transmitted, transmit dummy cycles now if = needed */ - if (s->cmd_dummies < 0) { + if (s->cmd_dummy_bytes < 0) { s->snoop_state =3D SNOOP_NONE; } else { - s->snoop_state =3D s->cmd_dummies; + s->snoop_state =3D s->cmd_dummy_bytes; } break; case (SNOOP_STRIPING): @@ -1152,11 +1199,13 @@ static void lqspi_load_cache(void *opaque, hwaddr a= ddr) XilinxQSPIPS *q =3D opaque; XilinxSPIPS *s =3D opaque; int i; + int dummy_bytes; int flash_addr =3D ((addr & ~(LQSPI_CACHE_SIZE - 1)) / num_effective_busses(s)); int peripheral =3D flash_addr >> LQSPI_ADDRESS_BITS; int cache_entry =3D 0; uint32_t u_page_save =3D s->regs[R_LQSPI_STS] & ~LQSPI_CFG_U_PAGE; + uint8_t command; =20 if (addr < q->lqspi_cached_addr || addr > q->lqspi_cached_addr + LQSPI_CACHE_SIZE - 4) { @@ -1170,10 +1219,10 @@ static void lqspi_load_cache(void *opaque, hwaddr a= ddr) fifo8_reset(&s->rx_fifo); =20 /* instruction */ + command =3D s->regs[R_LQSPI_CFG] & LQSPI_CFG_INST_CODE; DB_PRINT_L(0, "pushing read instruction: %02x\n", - (unsigned)(uint8_t)(s->regs[R_LQSPI_CFG] & - LQSPI_CFG_INST_CODE)); - fifo8_push(&s->tx_fifo, s->regs[R_LQSPI_CFG] & LQSPI_CFG_INST_CODE= ); + (unsigned)command); + fifo8_push(&s->tx_fifo, command); /* read address */ DB_PRINT_L(0, "pushing read address %06x\n", flash_addr); if (s->regs[R_LQSPI_CFG] & LQSPI_CFG_ADDR4) { @@ -1183,14 +1232,22 @@ static void lqspi_load_cache(void *opaque, hwaddr a= ddr) fifo8_push(&s->tx_fifo, (uint8_t)(flash_addr >> 8)); fifo8_push(&s->tx_fifo, (uint8_t)flash_addr); /* mode bits */ + dummy_bytes =3D xilinx_spips_num_dummy_bytes(q, command); if (s->regs[R_LQSPI_CFG] & LQSPI_CFG_MODE_EN) { fifo8_push(&s->tx_fifo, extract32(s->regs[R_LQSPI_CFG], LQSPI_CFG_MODE_SHIFT, LQSPI_CFG_MODE_WIDTH)); + if (dummy_bytes > 0) { + dummy_bytes--; + } + } + if (dummy_bytes < 0) { + dummy_bytes =3D extract32(s->regs[R_LQSPI_CFG], + LQSPI_CFG_DUMMY_SHIFT, + LQSPI_CFG_DUMMY_WIDTH); } /* dummy bytes */ - for (i =3D 0; i < (extract32(s->regs[R_LQSPI_CFG], LQSPI_CFG_DUMMY= _SHIFT, - LQSPI_CFG_DUMMY_WIDTH)); ++i) { + for (i =3D 0; i < dummy_bytes; ++i) { DB_PRINT_L(0, "pushing dummy byte\n"); fifo8_push(&s->tx_fifo, 0); } --=20 2.53.0 From nobody Sun Jul 26 10:07:52 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430240; cv=none; d=zohomail.com; s=zohoarc; b=e2GpUjvlaRcR8011yCfKpCKoaXMiHmAEMNGXGR4mP5a1WN+SImMajKg0rwkeLURwJSKNuI9OMNfc3YYGR/TcpTeuM5D+zGe0nsAYz4D58QMQGjMjHD4sPGnOZKx73B9CW15RAd+MBTe6grR5ty1H+HNgRlbElaHMiGQqbTxRWU4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430240; 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=L5iGxJpWkehMFRdcjXK/AAdRu/vNygtX8WRGqS3RUso=; b=koapIrHQrkubBXfyioRiVAyLv/UChTUNRlEi2NvazTLac5FNuasPoRNx5jnZrh++PMxsvYdKbH/CAHCz9hByPkqR8qss6uLIWuWt5f+Gcc4kU7hwfTyv4u0Fdmdp2Px32HTnCXrLvOwEOmKZ8DUm6MxamJFHXm6M3REbLipevm0= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430240435682.525046513886; Tue, 7 Jul 2026 06:17:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5f5-0005W1-DU; Tue, 07 Jul 2026 09:16:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5ei-0005Fk-4O for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:16:12 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5eg-0000wB-6U for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:16:07 -0400 Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8ehL3606093 for ; Tue, 7 Jul 2026 13:16:05 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8sm8j4sn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:16:04 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51a87ef9713so6729511cf.1 for ; Tue, 07 Jul 2026 06:16:04 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15bb94c782sm41694066b.40.2026.07.07.06.16.02 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:16:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= L5iGxJpWkehMFRdcjXK/AAdRu/vNygtX8WRGqS3RUso=; b=ioEJL2r0GtqUA1RN iXUrxSYV6yJ+dnyhnJWpNKFiHQ/ILCnMYUqVUmghrFMCnXia7eFDaA+NiafEpM1W D7gn+u407e2pVY3pcevCJXL7su1mce9HPeWZhpkRww1e986ksUIpNTCwML1OlQ/p o+su6dAY0jLv3AegZtzN7FMSVzNpBhj6hXo0Hfdo7v0YFSUHh1ewJqGxmWxIYeQ4 6Zq0dt7isqPbFIIaPZM9gQ7Z2rycs9bhdhDH0iNKClJJmUugxKcnuL0wVqzIGtGo VB9gBZtE2R315rTb7EzJrx79pLe9fhODgcH4fCB9hb3zHqK78fK3f1J+Rym9wxrX v0jtPA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430164; x=1784034964; 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=L5iGxJpWkehMFRdcjXK/AAdRu/vNygtX8WRGqS3RUso=; b=K5pyqom1SSqQSqzYv1qqJdQXur8XIcThq+fhjF29RJJfTqcaImAbXTSSrC80SO5qaA FXupiQBFzH/U7HFv13VAEGeqxSweZ+/bSybMFo4BbUrDX3s2aZc+G1QQzcLW5wx89SvE x2yAPgSAHiRqDPtrUXw647kyITFT5+DtVeGsDmgQFwJJRuoTmIuhHCn6PF79R0pUI8IT 5P5j3pkY1A/IPxM48TjWiQ8awDduVuMCiwaG28rJwKkRg7Tt/OFlFPWXeIhWlZkVAFRK OvNn36e5CQ4UC7FYHU2o4t8tFNumOlQL+8cciJhAbAswGI8SLMGAHat0FAvCzsq2jBrF 6big== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430164; x=1784034964; 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=L5iGxJpWkehMFRdcjXK/AAdRu/vNygtX8WRGqS3RUso=; b=CiU7Tm/odlopgAW+gD0W/YCZu8PO7DjDrLRjWwwd3Ky2FKDhxm5d48gpqgTBLWukW4 LDN3/ydLCGzMBTD4hycmTWW6+PiOe0iqVIQAFDtCB2MsWJqINMj1UbnqwaqgnUHd63mj uVYbxJRAhmiCZb67sLcIVmp1qb2vvwRdcSjZYuZYO1+usPJSEcKll6dDRvC1OUUp9C3x qTl8CJzC5OqcXNiNdqgLRqakQZDDQ5Uj8UcjIKrRdZMRfhkZpCqbQYqy7rc46YM00SMW a7n+7ntAVtahQ5Q5lTxQrPhEk2ZJbDQaN/5WE/TPEgOqsIxzKTnSoJhcO3s5vAJIXE5Y QUdg== X-Gm-Message-State: AOJu0Yymj8LVCR1viCObOp1f+SOibHGHmofJt8j8gnMYprxU1VPI/KE0 78Q3WJuUPMSn8DeptSn7ZYnu0vbN3yX+mDtq7Wn5n1tmYBKexZ9QD2Wgg1U4fSSMnL314mBZgPi cBwVDM2i1MtsNnf3szxstrODc7godMOao7/KCuTR/mjcQon1KV8TGUWMhzcbHDdXzXg== X-Gm-Gg: AfdE7clLxE9p9cw5tajcE4LkM2nPkf7/pBS1zbj//w3kLW/J4vRjC3N2gNddpPjlFZF m3l9zXCAkSun0yKJEi9mBSruCnn2ry/IGGpYEJyddpmmuuscjuTFd15SHl9xElpUdr/fNqkf0h3 dpSMMQR2Nqy2Dg1qqM9zx28TTEYlD87Y3EmmbtuIGKx4d3MkwjjYWqGaA+vWEckdJeVr0BBzvZr 5PiWQQFcQn5XQkcb7w6cAFjOTQYTNbE1qgHciDR+ggBbAhCDABeXK1DlewQ5V+Ut1uBWpd+loun +ag96HGSBmU79IM4TJE4zGmNs2tbYNrESl2x6eTws5/Pf87wWPj7nx0WNKH/lhutRuKel05N2P0 5/f6RvtyctQWOlS/xoalpsdxrjyIL80wiy1qOjpH0zq0lRP7+piwiy0+TUinorcLI3+Og X-Received: by 2002:a05:622a:1787:b0:51b:fad7:98eb with SMTP id d75a77b69052e-51c7a78543bmr23592391cf.34.1783430163753; Tue, 07 Jul 2026 06:16:03 -0700 (PDT) X-Received: by 2002:a05:622a:1787:b0:51b:fad7:98eb with SMTP id d75a77b69052e-51c7a78543bmr23591851cf.34.1783430163100; Tue, 07 Jul 2026 06:16:03 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 30/32] hw/ssi: aspeed_smc: Fix direct-read dummy bytes Date: Tue, 7 Jul 2026 15:12:20 +0200 Message-ID: <20260707131223.51505-31-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX4UfGevrbgUdP l2k1cuDEEcD9QRINup0faOMi1YyVvF5ac2+1u0Jsv9i3PmpD1J3NrwEMV+SA1b3iGtFjr5/GPfW vaBGyQ9rIsVFHDhh+fUiN4hI38AFo1c+71MF5qHQzC1rljt/48WvdfLDO8VH8QvSMYvbk1vMDvg gSIUA5Jku8CwIg0qYLkP/iodhKyyV6UovNvfArTwig0gHjaqXtqjfeZQBZ6xQXWnOFB1HXw0IeG +BiCavU00W30BiZE5LD7IUnJ1D3IiR700ySITPzBsN3NP85mt8UcgucakHAABMg7XWYTkRBFWVp whHBp4fp5fIEpSmvxacCa0KSUqJjrQB5m/iJj9dI6XL7NmrtWxjWvq2/vE8rzHsmIdhqb35qdqU UlTdlDSGYWiPcV/nzXoWEx5+BxcFVDHIBCRckeiTmSeYmFXsRrRzyMn3acUhDwegV6iRmGMxFq1 u3MTdqwyhuBVwegzPtQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXxw9AyiBPgW+C mj7E76C5bGnRIP6rtiZWkUmNAtGwsKpy1JHoLtbfGshuPwsglkyoNORxkJzjOQF1xWJTdorfQev oqQ7nornxnVdubF2fRPCgm+UqjVOEv8= X-Proofpoint-GUID: _qtvjfmrIyGUWWEfh2-5sXkeqZ_4ARkl X-Authority-Analysis: v=2.4 cv=UvdT8ewB c=1 sm=1 tr=0 ts=6a4cfc14 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=FRSEYCzRAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=x7vYM3qzamLLx-kl34MA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=H4N_Y-AU75W7NKDNhZlT:22 X-Proofpoint-ORIG-GUID: _qtvjfmrIyGUWWEfh2-5sXkeqZ_4ARkl X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 malwarescore=0 bulkscore=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430241775158500 From: Bin Meng m25p80 now consumes fast-read dummy phases as byte counts. The ASPEED SMC direct-read path still treated the CEx dummy field as raw cycles and emitted field * 8 SSI transfers. Convert the ASPEED dummy field to SSI byte transfers using the selected direct-read data width. Fixes: ac2810defa9d ("aspeed/smc: handle dummy bytes when doing fast reads = in command mode") Signed-off-by: Bin Meng Reviewed-by: C=C3=A9dric Le Goater Tested-by: C=C3=A9dric Le Goater Message-ID: <20260707083431.219671-8-bin.meng@processmission.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/ssi/aspeed_smc.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c index d87fbd798c6..3f957d153f8 100644 --- a/hw/ssi/aspeed_smc.c +++ b/hw/ssi/aspeed_smc.c @@ -449,19 +449,28 @@ static uint32_t aspeed_smc_check_segment_addr(const A= speedSMCFlash *fl, return addr; } =20 -static int aspeed_smc_flash_dummies(const AspeedSMCFlash *fl) +static int aspeed_smc_flash_dummy_bytes(const AspeedSMCFlash *fl) { const AspeedSMCState *s =3D fl->controller; uint32_t r_ctrl0 =3D s->regs[s->r_ctrl0 + fl->cs]; uint32_t dummy_high =3D (r_ctrl0 >> CTRL_DUMMY_HIGH_SHIFT) & 0x1; uint32_t dummy_low =3D (r_ctrl0 >> CTRL_DUMMY_LOW_SHIFT) & 0x3; - uint32_t dummies =3D ((dummy_high << 2) | dummy_low) * 8; + uint32_t dummy_bytes =3D (dummy_high << 2) | dummy_low; =20 - if (r_ctrl0 & CTRL_IO_DUAL_ADDR_DATA) { - dummies /=3D 2; + /* + * Scale the controller dummy field to SSI byte transfers using the + * direct-read dummy/address bus width. + */ + if ((r_ctrl0 & CTRL_IO_QPI) || + ((r_ctrl0 & CTRL_IO_QUAD_DATA) && + (r_ctrl0 & CTRL_IO_QUAD_ADDR_DATA))) { + dummy_bytes *=3D 4; + } else if ((r_ctrl0 & CTRL_IO_DUAL_DATA) && + (r_ctrl0 & CTRL_IO_DUAL_ADDR_DATA)) { + dummy_bytes *=3D 2; } =20 - return dummies; + return dummy_bytes; } =20 static void aspeed_smc_flash_setup(AspeedSMCFlash *fl, uint32_t addr) @@ -487,7 +496,7 @@ static void aspeed_smc_flash_setup(AspeedSMCFlash *fl, = uint32_t addr) * settings, let's check for fast read mode. */ if (aspeed_smc_flash_mode(fl) =3D=3D CTRL_FREADMODE) { - for (i =3D 0; i < aspeed_smc_flash_dummies(fl); i++) { + for (i =3D 0; i < aspeed_smc_flash_dummy_bytes(fl); i++) { ssi_transfer(fl->controller->spi, s->regs[R_DUMMY_DATA] & 0xff= ); } } --=20 2.53.0 From nobody Sun Jul 26 10:07:52 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430258; cv=none; d=zohomail.com; s=zohoarc; b=iSj/uJZZSex4XyigbkYsMlUArhwAT3aW3aNe4UAn6xNOuTIzP0b0wkQMOQmMrTCb69dPPt3cspVk9aibBHIvZTQ5ue6qYGlf1lcD0Sf9I+vzhceVGNVXpFYcFiSfUYH4w++/B/XGbbiNRqh2sJ2Z8G0F6irgGVyOyll17MqJS+c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430258; 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=787xbwmxIrsTjBorrP2DHOOzLOAbnrwll2cTYRStneE=; b=gsX1QZ5BJZYy/Swb1uf1sJBg8K9291KzHmu6wBbWfcH6/+OiMhj1A9ckE58ocwKeGIKrAXI7VrrriYqNXnukbGl9I460IACYUPNLp1kh85xwosYYQGHB3/onW30s8CLqmM3d8T4c66/yFqRx0QxrRMyRdn8y3iI/sco+fPDXXqA= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430258988758.215872373029; Tue, 7 Jul 2026 06:17:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5fL-0005pw-0a; Tue, 07 Jul 2026 09:16:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5ep-0005Oc-2p for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:16:17 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5en-0000wg-Fo for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:16:14 -0400 Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8tsA3542181 for ; Tue, 7 Jul 2026 13:16:12 GMT Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8su723uq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:16:11 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c075c1e25so32083651cf.3 for ; Tue, 07 Jul 2026 06:16:11 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-69a19cd89b1sm5893354a12.1.2026.07.07.06.16.09 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:16:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 787xbwmxIrsTjBorrP2DHOOzLOAbnrwll2cTYRStneE=; b=RocC0Vr3NSxFBkl+ 303BgACoeOkQQoYCjk1Fvqod7YMQ869RIXrWQoOZbbBzZ0cUi0VDj/wejUr48DWv cttcSRGuPb8xC0ZsuvMAEj+Z8hlLQyRYPY0cqkgH9VI4ca8EkVimUPNnALQzOx2j DdnyZeQPP07x2S3ZKF8KTNezFd0Y+6ltYyLoZM48bB0uZysP3p0unot9JbHII6nJ n7lNbfVO3xSjaQEeErKXP+GgSx9jN25WhKB+jtGgGrE7aCHgxMmKlIWQ1g+C71XE B0eHISYeZKT1uFDCeWwSAOJE3vQqjvZLYMPPVMaShUC9zXJ8EXpaMQo6FPxiFc/Z +KqamA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430171; x=1784034971; 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=787xbwmxIrsTjBorrP2DHOOzLOAbnrwll2cTYRStneE=; b=M8o7N/7RBJM+H00xKDT1zFfEDhj1xm9MZvrX8NVIvS5nHvJ+/FiQsPQLctBVRtUBPr 8gQ/SR2yl4ZfovYNZ8547LyDQsQFMGWYXGPIXIHbV95zhwA5CkB24jl4a85mwx10WFl1 QLc8/FVBuJzByKVdnuV1ls+mgC9SMZt7FmKjeG8UX3bbvxoGAig0k0V/xHvT/s1wRwNb icODMlO85ZhTRUFymzhbxQseTUaMZC7eutfFFzTnID/3rlI9nnHVp9LrE0tcU3GS7e0s 5Mu98QafXxtehs+3DUckRZIaXpiZ69MfB7JHp/674mrOzuvju00j4Qlmp64I4GpluyG7 boAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430171; x=1784034971; 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=787xbwmxIrsTjBorrP2DHOOzLOAbnrwll2cTYRStneE=; b=XRO7rpjy7MvtteFl0aSMDLYVvEf6ilO/RmQ/aSeZaDLSdUaJz8EEqsOjsGYs38aKph MKSpH7RyYjVN50uNwg1gEtaGQQmw6+suVJLTHrbdWgzFSi8J1jYEcFQNnuKpqz0k2H2z zovKlL4ME4F8iowfG6W+x1xc+ejQPqy3q4gkzCTXnM4rHEdYD3fog37BZl3K93cpM6P0 uTwv01Ib9FPABVmIBAzdTZotHrVz+m5I7ZzzI30l+rqAqu7gTR7gvehKjO7mvH8dXnjs kEOt2d8avSEKKWq7RMnEekVpddHpJRIkP/hzUO1BklE0VLwebPhhJqwPRJ9xE+NpUy4i ZkCA== X-Gm-Message-State: AOJu0YwpeUSQB1o0MtOS2nFVblYm91dja4J7y6+LL2wSjys77QceVNcW GmP8Zn9jxxlMsGSLtDZnWgFn2hs9eQ5S3xZIxc+GuA5DWEQ63N2p82/+3/SLR8uT9tSiiLxkw1J M7sIQv26whVhtJDP+bpFTantGFbEFw92CQZwD2vKPEp22OGTW5Ti3dSuO+tP5m7jQww== X-Gm-Gg: AfdE7cl2ARy79xRNQTr8NeoYeY7bL9/AA6PRrClhP5Ier8EwMWarcw5fkeuv4zIgn6d Qg3nPGc/SXdyyIbWgYzDUwctW/TViVa4aIU+StboOwo+y02tKoYqg9ResAs9EidehOKlKP1VIBb M6YC4KVFF2uyN1ldtr6KNu635JTFESV/A3PXKA97BSsstoaTetYpQ7J1h4OuwoAGkK88ZDUr+0l R0uAKJJg28QdugBBjFUg3VycdZ0jXHCbm0mI/4UO4nloivnXN4sdD00UrVuRfWwpl6vQwCoYtm3 7QCp2BqMRhVLSM53ButQOXSSMxNrPGiVdzREBRZb2oqU17JHL/oVfyNbcXOyo8naW5lC55eirES 73Z/aTG9uZVW3Kxp0RT8l1glp53NkyKq+kMqHVI5xyWM7Misue6K0Rf+/byUaqlLB02d9 X-Received: by 2002:ac8:7f8a:0:b0:51c:7b11:41ad with SMTP id d75a77b69052e-51c7b114397mr24363371cf.73.1783430170806; Tue, 07 Jul 2026 06:16:10 -0700 (PDT) X-Received: by 2002:ac8:7f8a:0:b0:51c:7b11:41ad with SMTP id d75a77b69052e-51c7b114397mr24362831cf.73.1783430170262; Tue, 07 Jul 2026 06:16:10 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 31/32] Revert "aspeed/smc: Fix number of dummy cycles for FAST_READ_4 command" Date: Tue, 7 Jul 2026 15:12:21 +0200 Message-ID: <20260707131223.51505-32-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX8/T6S/nWYLzJ Y+zigDRX2dNubKvFTZa5W+e4PVsKu60DTAI1YqtgBCrddy+wxpeVtX9iYMofqm8WdoDg07xq0YE kZs0p0BKQ5TXfXoZv/7mvutQdLQgFvii53FSvltTbbxkf3tGl3t3ghst83nguSjAfPzkj3hjNA0 11oUMSGbzv7ZiTBdiEoIPGEQ4mhY2S5XLZgmLF7ES1LUAKSrno71E9X7JYssNgQAfzY+d5hNcZE e0/Dgbq9DIkKNS4Bnpy27wHTKp0qiHf0JA5i512AhFpINFI+jaFAlSxg08Q8ZwiunuO3hN4Leeb P6UV/RZh+CTZ3b2Eq5amySgbf+3keJQBR8N/jXODKVtQIdgK0LkMb+wqCy5mFeMH4xJXYynv9OC SB1N6ylLMx7CzDWTuJZzac1JqneVXibL5VXf21vuAnnh4J2cibxIMe+geUvTkpe7MCnzVMhGMce gnn72AoK4HVIZTB3TzA== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX84gN+Xj7Rjdy idShg2m+EhT5L8Ter+fzymzvtXIUScUmIbNnxi6Q/W+CE6P8psY+1BgerYt0M3QtZslgDPbj7wd MTf83TpPr2I/mlEqMoo08ONK2JlWf2E= X-Proofpoint-GUID: 72h0Ih5Z1ZpEiN3_XtVJcu7fByb-pEVh X-Proofpoint-ORIG-GUID: 72h0Ih5Z1ZpEiN3_XtVJcu7fByb-pEVh X-Authority-Analysis: v=2.4 cv=HN7z0Itv c=1 sm=1 tr=0 ts=6a4cfc1b cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=FRSEYCzRAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=AC2j13NsY0pKHRBsdcAA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=H4N_Y-AU75W7NKDNhZlT:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 malwarescore=0 adultscore=0 clxscore=1015 bulkscore=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430259939158500 From: Bin Meng This reverts commit 7faf6f1790dddf9f3acf6ddd95f7bbc1b4a755d0. The incorrect implementation of dummy cycles in m25p80 model is now corrected. Revert this commit. Signed-off-by: Bin Meng Reviewed-by: C=C3=A9dric Le Goater Tested-by: C=C3=A9dric Le Goater Message-ID: <20260707083431.219671-9-bin.meng@processmission.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/ssi/aspeed_smc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c index 3f957d153f8..58e5087b570 100644 --- a/hw/ssi/aspeed_smc.c +++ b/hw/ssi/aspeed_smc.c @@ -568,11 +568,11 @@ static int aspeed_smc_num_dummies(uint8_t command) case FAST_READ: case DOR: case QOR: - case FAST_READ_4: case DOR_4: case QOR_4: return 1; case DIOR: + case FAST_READ_4: case DIOR_4: return 2; case QIOR: --=20 2.53.0 From nobody Sun Jul 26 10:07:52 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1783430284; cv=none; d=zohomail.com; s=zohoarc; b=dxAq5NY2FiIcnvF0/VF903SvYGL89bZ8u0aBiXbAF7jLWK7AB3dbO/aVtCMBgxydSafvqjcsQeZkTem5RLgObZWNWigPzzvrD1Gk4kkWNgdsCJGEtulPSJkjurGY0JCD7ih+7jmLvat0Txf0PJvMHPvFrR31MtkaFft2np32IVI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783430284; 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=Q1kf1bQ6UevRdyXgo0b8Lt2RsNYvkZ5Sc/MeeDvIdg8=; b=X0hgsZrjfYQ9FqwNnQWe6UuIFl+krHJqYInW5aGQddv+NNjWl7qUtEeiXX8D134pdzhdkf07ZD1IaZJ+NJpcS5MS9KB4E/6Y04igwjADK03Dwnp3dyQ7v4Ts1tp+qaaMREGtFNRPHv+mjVZm5YHYoIzwKGoYb0WzxQYvndYRgNE= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783430284185332.61477989332786; Tue, 7 Jul 2026 06:18:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh5fQ-0005x0-TQ; Tue, 07 Jul 2026 09:16:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5ex-0005TN-KQ for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:16:25 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh5eu-0000x7-Q8 for qemu-devel@nongnu.org; Tue, 07 Jul 2026 09:16:22 -0400 Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 667C8cn93755355 for ; Tue, 7 Jul 2026 13:16:19 GMT Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f8wep1972-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Jul 2026 13:16:19 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c1a97644aso56536341cf.2 for ; Tue, 07 Jul 2026 06:16:19 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ada05d72sm136789566b.53.2026.07.07.06.16.16 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 07 Jul 2026 06:16:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Q1kf1bQ6UevRdyXgo0b8Lt2RsNYvkZ5Sc/MeeDvIdg8=; b=FC3/wL0ft1AaZZMy yuHIEN6sagW8XSKisie5C9CD594ikr/vbHi9mltSSUgB9u9V09EOx41iduxtWcr9 GcR0KMj8FsPxatMC9CfkuFtZhirqi8ax3Nb6FQH2eoUlfSErqAC+H/YkWzGccG9A 5OdcOxdDEysWD0pI4wTneOxMknnZW3FODfWcD7D3xdUudJVkre0yRpzrvAr43uCj EwTxAMFHDKlxiVnI9djAUXhMzS5PzMq3pRvyMB3kY9rK73AXkOh1h95wYVsoQ9d6 su4xV1eOmolZN0A92ZLvv/r4wPeBg5LYXM8gyjLAW7oB3C7yORTVb1m/o7ux4Yg0 MrqLrw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783430178; x=1784034978; 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=Q1kf1bQ6UevRdyXgo0b8Lt2RsNYvkZ5Sc/MeeDvIdg8=; b=Z7EuxghyIuLVgBDJnekNtK9jWLByjXTuj2/KZZ9JldqT6T1wAIge2DJLoQKWhowGxI a7AGSnqG52H8ASlKuqVbWWb6ukgys2KrdzdeX4dfBNICL7B6r+BKu3Tb9sunDvDH5NoM HsoHOjKa5m34mnpoQIAv1ryyl5tPvt1JweKzUBLJyLtIqxIsBIcj2ZKfjc9WMkErVgRH oBAaSgLIJBoKq97euxDQJyshEZsltPA/NGOtX3H67xuak2mOYEBQKhJ2xcGijrsSGmJW RXRj47Oq1ScVfeSThADs0dhAhyjZRxGW/poLbf4FQiUOpyTT3x/m+nM1BThu4caJfQy2 W/Ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783430178; x=1784034978; 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=Q1kf1bQ6UevRdyXgo0b8Lt2RsNYvkZ5Sc/MeeDvIdg8=; b=MaRBmZoQ6QOU7Jqc95Y0kOG15fgFu0ZTUvxGAwMNT1VL841HJo2kvLNIH1UjbbPnG9 hwtle63yMgDwJLIc/vHro3tPhnoZSeQmVHxkcX+I1dHk6rNt34psJAltT54fMXQ1RCvD V2JecpLaruKgVn8YNYsZHPTUWfdtzR1YovigI6ojc6hG7CwlGuIFTc7mTId7DY6+NHzm R/8kEhSc/rhfqwLpunpnEGVbsfBfqwCTYEhWovXYqpc5SymCOMfkrmltTExz7mx/UFJq JZBk9sn+05Jjd+9OFcNnAug4GynyZC68Xodv3G6AiR7WL6mD4MGbOUGWa2N+wvvi28cU Axcg== X-Gm-Message-State: AOJu0YyqgfDYDgUR/4WnVEvXW1xlfye5G6NaXJSZH6icVtaaSPe+t/Dl DcLSSBkwhTkxx640uml93NXXuw3FitMkWROe2uAeTYqkUhjWVjEwK87sMbAOHWi/2g+L/jkWHzN /CiFVhvPao6DOVWwwzFtDDokatPiV8dhheQpUtZidSAqFnMmHjh5AouyIr0rwsRdSaQ== X-Gm-Gg: AfdE7clwVk6McbMjaORBdFtBF8XJVl+09P+mEg6lhJibePKeZsQevM0RHwVKK6jIfVG bLKsLaYt2eTJk0GwhDyvbDT/Ndxjw4w0fSlXg8d20/ciyBZw9moATV6vYS5WLM2pBZPqGbsuSYV ahS4OulUDnFG4HEkDuulJehMB3e8zf9uZQNR/vzpd3Dip49/DFR+6oD/0ltFLgeZIwHmVTv2A7+ LANiFkVGB5CQ20iq0VCF47zkVFQdHOVtbDAmZz4y3lUb2LayvNHCmjUd5wp42aDwcy/9gkOfsal DhhQyLqmTANgHNyDQyV6Pf30bzjSHlgmbHFSSrSGn+h5RrEcR3+I5WiaSh4j4AoSlrGr7Bk2fWI 5Iteycz76d2FlKMMs+oE8dQw6XQzi8x8YkqvJDald4qJGZsqGSHJqi+vvw2kdWqWp3V8B X-Received: by 2002:a05:622a:120c:b0:51a:8c9c:7f3e with SMTP id d75a77b69052e-51c74914fa7mr52117451cf.65.1783430178135; Tue, 07 Jul 2026 06:16:18 -0700 (PDT) X-Received: by 2002:a05:622a:120c:b0:51a:8c9c:7f3e with SMTP id d75a77b69052e-51c74914fa7mr52117051cf.65.1783430177454; Tue, 07 Jul 2026 06:16:17 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 32/32] Revert "aspeed/smc: snoop SPI transfers to fake dummy cycles" Date: Tue, 7 Jul 2026 15:12:22 +0200 Message-ID: <20260707131223.51505-33-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707131223.51505-1-philmd@oss.qualcomm.com> References: <20260707131223.51505-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: Mopu1QOkr9jOzIEYmo6b3I2bg79_Rb_- X-Proofpoint-ORIG-GUID: Mopu1QOkr9jOzIEYmo6b3I2bg79_Rb_- X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfXz+MfLtE8Izjt Hb/r0udY6xm2rK8dAeLy5PnqXfDgA/AK2VL8JSBuF4vFSWSKVBwM1Bz8rsQLxa5B71bHrabQyBM dohjVPCj5DfA51l95ENGee5bru8kao32YKzinvA6XJufjJOwLHoOpcqX5MWRqpRCDqidY+2jva3 YWU6IrxCvHaxFrvzyw78PZZXpkD1wgb5eonkux+1jeFt7YgXlNpqGb51GNKHALb3HTda1zgRrdS iK8wxOStDJ2XwjwcbKUOyXPR5beh+49rEgcckHQqZnWyCSTfFPmYyMNyBGeJtKhqwVQbYe+SlXi MTGCDzJDnEKaZlYCLb6MC9kFVdpNtdEo53p8AuBOH+761KrNdvEjNdWVyfFwKKWC3JnBByZb+V9 lF9zdrcs6AVe17rs/itge9dmsnbNw4FJzu3iHswZwn0DnAGe2whMdmWspdrh8DYN/1du8kR2T9Q 7gBrvbeRkyk7q9pMfJw== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA3MDEyOSBTYWx0ZWRfX1mlHrq6UtQHs vGmhURm4VO4i4JMQ4T9VXWUXdWmnB3n9lTWdHFyjnYifB+7p+M0B6jQGVLeICj/FqgoHMbe38tA 07slWBZLB1Gi+pR0PFWO2BhSjosWoyY= X-Authority-Analysis: v=2.4 cv=atSCzyZV c=1 sm=1 tr=0 ts=6a4cfc23 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=FRSEYCzRAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=aow-egSQAAAA:8 a=T2d0spz66GM-GJdn4fkA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=H4N_Y-AU75W7NKDNhZlT:22 a=gFNbaldVC-z-bsjSTzMo:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-07_03,2026-07-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 clxscore=1015 priorityscore=1501 spamscore=0 suspectscore=0 lowpriorityscore=0 bulkscore=0 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607070129 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, 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 @qualcomm.com) X-ZM-MESSAGEID: 1783430286348158501 From: Bin Meng This reverts commit f95c4bffdc4c53b29f89762cab4adc5a43f95daf. The m25p80 model now accounts for fast-read dummy bytes in its command decoder. In ASPEED SMC model user mode, guest software already sends the complete byte stream, including any dummy bytes needed by the flash. Hence the model should just forward exactly the bytes supplied by the guest without the need of decoding guest-supplied flash op codes to inject extra dummy transfers. Signed-off-by: Bin Meng Reviewed-by: C=C3=A9dric Le Goater Tested-by: C=C3=A9dric Le Goater Message-ID: <20260707083431.219671-10-bin.meng@processmission.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/ssi/aspeed_smc.h | 2 - hw/ssi/aspeed_smc.c | 114 +----------------------------------- hw/ssi/trace-events | 1 - 3 files changed, 2 insertions(+), 115 deletions(-) diff --git a/include/hw/ssi/aspeed_smc.h b/include/hw/ssi/aspeed_smc.h index 76831422c6f..a273365689e 100644 --- a/include/hw/ssi/aspeed_smc.h +++ b/include/hw/ssi/aspeed_smc.h @@ -80,8 +80,6 @@ struct AspeedSMCState { =20 AspeedSMCFlash flashes[ASPEED_SMC_CS_MAX]; =20 - uint8_t snoop_index; - uint8_t snoop_dummies; bool unselect; }; =20 diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c index 58e5087b570..c8cc6cfa56e 100644 --- a/hw/ssi/aspeed_smc.c +++ b/hw/ssi/aspeed_smc.c @@ -197,9 +197,6 @@ /* Flash opcodes. */ #define SPI_OP_READ 0x03 /* Read data bytes (low frequency) */ =20 -#define SNOOP_OFF 0xFF -#define SNOOP_START 0x0 - /* * Default segments mapping addresses and size for each peripheral per * controller. These can be changed when board is initialized with the @@ -537,104 +534,6 @@ static MemTxResult aspeed_smc_flash_read(void *opaque= , hwaddr addr, return MEMTX_OK; } =20 -/* - * TODO (clg@kaod.org): stolen from xilinx_spips.c. Should move to a - * common include header. - */ -typedef enum { - READ =3D 0x3, READ_4 =3D 0x13, - FAST_READ =3D 0xb, FAST_READ_4 =3D 0x0c, - DOR =3D 0x3b, DOR_4 =3D 0x3c, - QOR =3D 0x6b, QOR_4 =3D 0x6c, - DIOR =3D 0xbb, DIOR_4 =3D 0xbc, - QIOR =3D 0xeb, QIOR_4 =3D 0xec, - - PP =3D 0x2, PP_4 =3D 0x12, - DPP =3D 0xa2, - QPP =3D 0x32, QPP_4 =3D 0x34, -} FlashCMD; - -static int aspeed_smc_num_dummies(uint8_t command) -{ - switch (command) { /* check for dummies */ - case READ: /* no dummy bytes/cycles */ - case PP: - case DPP: - case QPP: - case READ_4: - case PP_4: - case QPP_4: - return 0; - case FAST_READ: - case DOR: - case QOR: - case DOR_4: - case QOR_4: - return 1; - case DIOR: - case FAST_READ_4: - case DIOR_4: - return 2; - case QIOR: - case QIOR_4: - return 4; - default: - return -1; - } -} - -static bool aspeed_smc_do_snoop(AspeedSMCFlash *fl, uint64_t data, - unsigned size) -{ - AspeedSMCState *s =3D fl->controller; - uint8_t addr_width =3D aspeed_smc_flash_addr_width(fl); - - trace_aspeed_smc_do_snoop(fl->cs, s->snoop_index, s->snoop_dummies, - (uint8_t) data & 0xff); - - if (s->snoop_index =3D=3D SNOOP_OFF) { - return false; /* Do nothing */ - - } else if (s->snoop_index =3D=3D SNOOP_START) { - uint8_t cmd =3D data & 0xff; - int ndummies =3D aspeed_smc_num_dummies(cmd); - - /* - * No dummy cycles are expected with the current command. Turn - * off snooping and let the transfer proceed normally. - */ - if (ndummies <=3D 0) { - s->snoop_index =3D SNOOP_OFF; - return false; - } - - s->snoop_dummies =3D ndummies * 8; - - } else if (s->snoop_index >=3D addr_width + 1) { - - /* The SPI transfer has reached the dummy cycles sequence */ - for (; s->snoop_dummies; s->snoop_dummies--) { - ssi_transfer(s->spi, s->regs[R_DUMMY_DATA] & 0xff); - } - - /* If no more dummy cycles are expected, turn off snooping */ - if (!s->snoop_dummies) { - s->snoop_index =3D SNOOP_OFF; - } else { - s->snoop_index +=3D size; - } - - /* - * Dummy cycles have been faked already. Ignore the current - * SPI transfer - */ - return true; - } - - s->snoop_index +=3D size; - return false; -} - static MemTxResult aspeed_smc_flash_write(void *opaque, hwaddr addr, uint64_t data, unsigned size, MemTxAttr= s attrs) { @@ -652,10 +551,6 @@ static MemTxResult aspeed_smc_flash_write(void *opaque= , hwaddr addr, =20 switch (aspeed_smc_flash_mode(fl)) { case CTRL_USERMODE: - if (aspeed_smc_do_snoop(fl, data, size)) { - break; - } - for (i =3D 0; i < size; i++) { ssi_transfer(s->spi, (data >> (8 * i)) & 0xff); } @@ -717,7 +612,6 @@ static void aspeed_smc_flash_update_ctrl(AspeedSMCFlash= *fl, uint32_t value) s->regs[s->r_ctrl0 + fl->cs] =3D value; =20 if (unselect !=3D s->unselect) { - s->snoop_index =3D unselect ? SNOOP_OFF : SNOOP_START; aspeed_smc_flash_do_select(fl, unselect); } } @@ -763,9 +657,6 @@ static void aspeed_smc_reset_hold(Object *obj, ResetTyp= e type) aspeed_smc_flash_set_segment_region(s, i, asc->segment_to_reg(s, &asc->segments[i])); } - - s->snoop_index =3D SNOOP_OFF; - s->snoop_dummies =3D 0; } =20 static MemTxResult aspeed_smc_read(void *opaque, hwaddr addr, uint64_t *da= ta, @@ -1293,11 +1184,10 @@ static void aspeed_smc_realize(DeviceState *dev, Er= ror **errp) static const VMStateDescription vmstate_aspeed_smc =3D { .name =3D "aspeed.smc", .version_id =3D 3, - .minimum_version_id =3D 2, + .minimum_version_id =3D 1, .fields =3D (const VMStateField[]) { VMSTATE_UINT32_ARRAY(regs, AspeedSMCState, ASPEED_SMC_R_MAX), - VMSTATE_UINT8(snoop_index, AspeedSMCState), - VMSTATE_UINT8(snoop_dummies, AspeedSMCState), + VMSTATE_UNUSED_V(2, 2), /* was snoop_index/snoop_dummies */ VMSTATE_BOOL_V(unselect, AspeedSMCState, 3), VMSTATE_END_OF_LIST() } diff --git a/hw/ssi/trace-events b/hw/ssi/trace-events index 2f36cf96b8b..b9d86482974 100644 --- a/hw/ssi/trace-events +++ b/hw/ssi/trace-events @@ -2,7 +2,6 @@ =20 aspeed_smc_flash_set_segment(int cs, uint64_t reg, uint64_t start, uint64_= t end) "CS%d segreg=3D0x%"PRIx64" [ 0x%"PRIx64" - 0x%"PRIx64" ]" aspeed_smc_flash_read(int cs, uint64_t addr, uint32_t size, uint64_t data= , int mode) "CS%d @0x%" PRIx64 " size %u: 0x%" PRIx64" mode:%d" -aspeed_smc_do_snoop(int cs, int index, int dummies, int data) "CS%d index:= 0x%x dummies:%d data:0x%x" aspeed_smc_flash_write(int cs, uint64_t addr, uint32_t size, uint64_t dat= a, int mode) "CS%d @0x%" PRIx64 " size %u: 0x%" PRIx64" mode:%d" aspeed_smc_read(uint64_t addr, uint32_t size, uint64_t data) "@0x%" PRIx6= 4 " size %u: 0x%" PRIx64 aspeed_smc_dma_checksum(uint32_t addr, uint32_t data) "0x%08x: 0x%08x" --=20 2.53.0