From nobody Sat Nov 15 22:31:38 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1747223804; cv=none; d=zohomail.com; s=zohoarc; b=O5ekeqE1lmt9CZ0P6JmvH1dkI7I7gQ7fHLi+2+IN6BDWRSBy499pCgDae7jpEGESMXTNVVIJ/Q4R5XVBrHxAtjCdkrH6SeWVrjKCVKz0PWHrY5lFRqwslHep8Gu4fo+wCtbK7yLkJRz8aZ1FC7uqcFE17lym5cC341NO2THZKlI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1747223804; h=Content-Type:Cc:Cc: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; bh=qqntS9ygfuW9rT3V57VhuvgNLMeBxoz/OQrdDTegsok=; b=BG7woI5mANHsL9GsTshe5Z0md4ua6evYYdqhJYCTmxRnPzypYvOFGccA1snti7FEjPJ4XktgPvmzyGYLE8C2dEWxQ5E51TUT8objOLUfzk0Y8k2tPrBbwDnoBGx3seGPxEYAz2dGPKqexyp3w6wggNQsT3B9K1NmhpyWRkrLpp8= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1747223804315604.473219420805; Wed, 14 May 2025 04:56:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uFAdy-0006X2-CO; Wed, 14 May 2025 07:51:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFAdl-00068v-1a for qemu-devel@nongnu.org; Wed, 14 May 2025 07:51:14 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFAde-0006GF-6V for qemu-devel@nongnu.org; Wed, 14 May 2025 07:51:12 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-198-gWz4RwLaN8KGBEqI-nhQNg-1; Wed, 14 May 2025 07:51:01 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-43ceeaf1524so4344465e9.1 for ; Wed, 14 May 2025 04:51:01 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1517:1000:ea83:8e5f:3302:3575]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-442f39e8578sm27775085e9.29.2025.05.14.04.50.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 04:50:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1747223462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=qqntS9ygfuW9rT3V57VhuvgNLMeBxoz/OQrdDTegsok=; b=HZ5rRjco8htx3LftCrytCZdeDm8I5NqwqDqtpN8uCXS3Xa5Q2dkF7zB0qM8+KP7NWLHWgP 4FJcQzJrDu6eDOFCAKb3uN7fyljAyjn+X+gCSAg/12F/auMc+ZlaxMw+zwr/CWtZodHg0C insFaoig32SuYhvzpmVsrDW9dyOrwE8= X-MC-Unique: gWz4RwLaN8KGBEqI-nhQNg-1 X-Mimecast-MFC-AGG-ID: gWz4RwLaN8KGBEqI-nhQNg_1747223460 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747223460; x=1747828260; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=qqntS9ygfuW9rT3V57VhuvgNLMeBxoz/OQrdDTegsok=; b=AUQuPtgb5wDRan3NuNlVH/owXlAQbhEK9ohBel0noOErrHJObKYQ+mgRulkMjBGNOA Dp0of1bv72elB2i2t4FiWhIuyWnSXCl9/toZSkvjIqS9bUpr/tZDXLdCnmQ0jINFeKoF 7cuSJ8++bfVocC7bUn7hFZ7mcywqlW+jIp27QRV6MKxuQLBRU0pYpgHFDIALnJCVFVOc kz42g53ExWIVDXNivZbj68PwOG/y955HFhWN4tOOzEk9Jib9B1SQ765t522UQV0Eg+W2 JOul/hnQUgK2BZ1eU2ahCNWq076KoHime1bVEQSCfM+vG7Iigr4sK9e3JvPZxt1m1xRL cyOQ== X-Gm-Message-State: AOJu0Ywo9dJ/9c7buS8zVrT7S/dKyw7jMoVBqyR88PrbT5Dvsk792BQp RHOOARd5TnJc2RwLxTLTAIvR8iweCdTbUMR3/0xmXM6cf2phzzcx6YNlfkkQnjHJrgFzB9J5F/A ds+ug5ZRtnN1Jqfif4TYm9wErh+Mjnn8ms+xIhbQZtiHQtU2ILpAOQkGXaph1/LH/9N17/vSZwj JxBU8TrOb4hlbfO83diyZ8BjLt7YssMw== X-Gm-Gg: ASbGncv3iFVXNmhSWqAGPAc3f4QRAMp7xsheRpdIcgGSjHwBcD7W7TcJoIZ+XHSPxxn 1Hzr+T4jrizhogkBfTrfQVA6o85MbDS8I4rYulefmGnS0m0F0f5JSSOL7TPjlMsC6jeDHGamRM2 kSkHzEToOrDRstSi6ZIPu5HOOIm2a5XSlIWw5DMIxcYFDydJkcCgTz7gZQIoZUQTM1UB5TiTE3L AoT/jpCP2zk0z81NsKH4EyDWFXywcSd/jKG3KzH7I+50OR5807IYzCIaOn8ZvnTA0qhfmBPVgPo vbX1+Q== X-Received: by 2002:a05:600c:8707:b0:439:9434:4f3b with SMTP id 5b1f17b1804b1-442f1a42318mr32982485e9.8.1747223459781; Wed, 14 May 2025 04:50:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGWNW+7T5B5w1jJh1Am4+Z7rknxs6M44KG2gHRJsm4W5BQVr7XjknJq86LBUvfxfuHaukNvlQ== X-Received: by 2002:a05:600c:8707:b0:439:9434:4f3b with SMTP id 5b1f17b1804b1-442f1a42318mr32982195e9.8.1747223459358; Wed, 14 May 2025 04:50:59 -0700 (PDT) Date: Wed, 14 May 2025 07:50:57 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Stephen Bates , Marcel Apfelbaum Subject: [PULL 17/27] pci-testdev.c: Add membar-backed option for backing membar Message-ID: <8717987fb528ff704e275a1a99f59a20e0b272f5.1747223385.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -37 X-Spam_score: -3.8 X-Spam_bar: --- X-Spam_report: (-3.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.686, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1747223805761116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Stephen Bates The pci-testdev device allows for an optional BAR. We have historically used this without backing to test that systems and OSes can accomodate large PCI BARs. However to help test p2pdma operations it is helpful to add an option to back this BAR with host memory. We add a membar-backed boolean parameter and when set to true or on we do a host RAM backing. The default is false which ensures backward compatability. Signed-off-by: Stephen Bates Message-Id: Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/misc/pci-testdev.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/hw/misc/pci-testdev.c b/hw/misc/pci-testdev.c index 3f6a8bba84..ba71c5069f 100644 --- a/hw/misc/pci-testdev.c +++ b/hw/misc/pci-testdev.c @@ -90,6 +90,7 @@ struct PCITestDevState { int current; =20 uint64_t membar_size; + bool membar_backed; MemoryRegion membar; }; =20 @@ -258,8 +259,14 @@ static void pci_testdev_realize(PCIDevice *pci_dev, Er= ror **errp) pci_register_bar(pci_dev, 1, PCI_BASE_ADDRESS_SPACE_IO, &d->portio); =20 if (d->membar_size) { - memory_region_init(&d->membar, OBJECT(d), "pci-testdev-membar", - d->membar_size); + if (d->membar_backed) + memory_region_init_ram(&d->membar, OBJECT(d), + "pci-testdev-membar-backed", + d->membar_size, NULL); + else + memory_region_init(&d->membar, OBJECT(d), + "pci-testdev-membar", + d->membar_size); pci_register_bar(pci_dev, 2, PCI_BASE_ADDRESS_SPACE_MEMORY | PCI_BASE_ADDRESS_MEM_PREFETCH | @@ -321,6 +328,7 @@ static void qdev_pci_testdev_reset(DeviceState *dev) =20 static const Property pci_testdev_properties[] =3D { DEFINE_PROP_SIZE("membar", PCITestDevState, membar_size, 0), + DEFINE_PROP_BOOL("membar-backed", PCITestDevState, membar_backed, fals= e), }; =20 static void pci_testdev_class_init(ObjectClass *klass, const void *data) --=20 MST