From nobody Mon May 6 17:29:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660463493; cv=none; d=zohomail.com; s=zohoarc; b=i4DtrJexN1gxpbQa2HPIJJO61BlXu/t2lLdEmkvw+6lJ8rvLItqVbPk0NbQeIUnGQK9dph8GBpHCxkdbtKjbmvfglExE7/iMDqLI9b6wPhD4apFs0d49E+OAMiiE3oLRcTXZo3HzxgkJUnEVodvZlZK+L2XZwW/kBHvHNgrV1v0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660463493; h=Content-Type:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=eR+yCSVjXAWVDFLB4FMgLtjT6WdNXTZcdApKfvzPFuc=; b=lmmhHn795MVNW/aZIriFJ7CPB3lnvUOTcB/5vd24RfnDsHs1qeVQF15gzNS4oIaTbgydhAs17ta7PpubzYARQXZvzpjm5D53sZsPMBtXg1GAGrRYqGFWfN6mWJZ3YiVbnsY3BsKMDTfHdcw+a6/QqtYnovfRlBrJSa0TzyL1ELw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660463493502945.032960273363; Sun, 14 Aug 2022 00:51:33 -0700 (PDT) Received: from localhost ([::1]:45314 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oN8PD-00019Y-JH for importer@patchew.org; Sun, 14 Aug 2022 03:51:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54522) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oN8Ls-00089m-LX for qemu-devel@nongnu.org; Sun, 14 Aug 2022 03:48:04 -0400 Received: from mail-yw1-x1133.google.com ([2607:f8b0:4864:20::1133]:36402) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oN8Lr-00041w-3C for qemu-devel@nongnu.org; Sun, 14 Aug 2022 03:48:04 -0400 Received: by mail-yw1-x1133.google.com with SMTP id 00721157ae682-31e7ca45091so43708457b3.3 for ; Sun, 14 Aug 2022 00:48:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc; bh=eR+yCSVjXAWVDFLB4FMgLtjT6WdNXTZcdApKfvzPFuc=; b=eNv1FSnRc9b2yGdb37ht/IolTAsMMHoi1DJQKO/yPfv1eLfyZAKbKKf8fnZh6BUjzH 8krCqp1aW3g5SLZ2ho7DMZZ8xPp1NR89rMocLvh6od/hPp7/FJjbmVgt117TbzlpQ5J0 DHOnZLXjcWTNuRoilalVVNvKCH4y8gc/af/CExueOZ/oeMpem4mu9SNCUzkDRPmHsFlC CQe5ZiQSNmFyZt6g85hQhTyx3vW7+KFv+XbGa6E+Z7fjrR7+BCwaVBcWmTBE5njU7N1k 54b962uHkFUgvNEOwy+olKbhBaQXH0eyhQg2NljSAjGUDG2VEXouGchEolULrrt8bCrV GLog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc; bh=eR+yCSVjXAWVDFLB4FMgLtjT6WdNXTZcdApKfvzPFuc=; b=fRmM1DBcZNapS3kwlevQS1XZmE3AVfdXkA2VDvFikGbuBuXzAXm23/JLsKCJIconMq U3n/LBnBtpcwkb0gZSXy51LeeBa3/gOHNMy9hHaVKXYyrvABWSP/pGB8XOZrIUPX+eB5 /52RHVCZsRt8n1OfYdlNys19cMBg6nzt16vJvfHN1T2xE6bzMptFg/6NhimzDPfZuN56 trV7Up+NYWuh7ta92SuW6Nf97urasvQVHw6boNoGjeZeQejESYsAxDhS0gpnvZoiINYm jfj1vTvzLvmOASj9MLiIl2YXbtxixx6Y2ReOuyLkZxX5pSAq09waeqtv5zMO78Yu+F12 52eA== X-Gm-Message-State: ACgBeo0lrGLgxUmFgou72fpXrUFRyXISoPlDMkqWzcklAVVR/pWh7kHB UYIyqM9kore8dV0BVC9hfQrxwPOByg71+jSJJdQ= X-Google-Smtp-Source: AA6agR5KyIgsa8K3aQytYad4lIKhGyYCiqeUhDaZvNhhhW9lp/FkxSeOTR8BAcFaP4zeT3Qx9RxCt+xsq3nxsGHSl+w= X-Received: by 2002:a81:1b83:0:b0:328:a7be:ec81 with SMTP id b125-20020a811b83000000b00328a7beec81mr9540994ywb.398.1660463281228; Sun, 14 Aug 2022 00:48:01 -0700 (PDT) MIME-Version: 1.0 From: Paul Schlacter Date: Sun, 14 Aug 2022 15:47:49 +0800 Message-ID: Subject: [PATCH] xio3130_upstream: Add ACS (Access Control Services) capability To: mst@redhat.com, marcel.apfelbaum@gmail.com, fam@euphon.net, kwolf@redhat.com, stefanha@redhat.com, k.jensen@samsung.com, f4bug@amsat.org, its@irrelevant.dk, xypron.glpk@gmx.de, imammedo@redhat.com, qemu-devel@nongnu.org, armbru@redhat.com, kbusch@kernel.org, hreitz@redhat.com, ani@anisinha.ca Content-Type: multipart/alternative; boundary="0000000000000a506805e62ebc00" 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=2607:f8b0:4864:20::1133; envelope-from=wlfightup@gmail.com; helo=mail-yw1-x1133.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660463495165100001 Content-Transfer-Encoding: quoted-printable --0000000000000a506805e62ebc00 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SWYgaXQgaXMgYSBwY2llIGRldmljZSwgY2hlY2sgdGhhdCBhbGwgZGV2aWNlcyBvbiB0aGUgcGF0 aCBmcm9tCgp0aGUgZGV2aWNlIHRvIHRoZSByb290IGNvbXBsZXggaGF2ZSBBQ1MgZW5hYmxlZCwg YW5kIHRoZW4gdGhlCgpkZXZpY2Ugd2lsbCBiZWNvbWUgYW4gaW9tbXVfZ3JvdXAuCgppdCB3aWxs IGhhdmUgdGhlIGVmZmVjdCBvZiBpc29sYXRpb24KCgpTaWduZWQtb2ZmLWJ5OiB3bGZpZ2h0dXAg PHdsZmlnaHR1cEBnbWFpbC5jb20+CgotLS0KCiBody9wY2ktYnJpZGdlL3hpbzMxMzBfdXBzdHJl YW0uYyB8IDMgKysrCgogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKCmRpZmYgLS1n aXQgYS9ody9wY2ktYnJpZGdlL3hpbzMxMzBfdXBzdHJlYW0uYwpiL2h3L3BjaS1icmlkZ2UveGlv MzEzMF91cHN0cmVhbS5jCgppbmRleCA1ZmY0NmVmMDUwLi4yZGY5NTIyMjJiIDEwMDY0NAoKLS0t IGEvaHcvcGNpLWJyaWRnZS94aW8zMTMwX3Vwc3RyZWFtLmMKCisrKyBiL2h3L3BjaS1icmlkZ2Uv eGlvMzEzMF91cHN0cmVhbS5jCgpAQCAtMzcsNiArMzcsOCBAQAoKICNkZWZpbmUgWElPMzEzMF9T U1ZJRF9TU0lEICAgICAgICAgICAgICAwCgogI2RlZmluZSBYSU8zMTMwX0VYUF9PRkZTRVQgICAg ICAgICAgICAgIDB4OTAKCiAjZGVmaW5lIFhJTzMxMzBfQUVSX09GRlNFVCAgICAgICAgICAgICAg MHgxMDAKCisjZGVmaW5lIFhJTzMxMzBfQUNTX09GRlNFVCBcCgorICAgICAgICAoWElPMzEzMF9B RVJfT0ZGU0VUICsgUENJX0VSUl9TSVpFT0YpCgoKIHN0YXRpYyB2b2lkIHhpbzMxMzBfdXBzdHJl YW1fd3JpdGVfY29uZmlnKFBDSURldmljZSAqZCwgdWludDMyX3QgYWRkcmVzcywKCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2YWwsIGludCBsZW4p CgpAQCAtOTIsNiArOTQsNyBAQCBzdGF0aWMgdm9pZCB4aW8zMTMwX3Vwc3RyZWFtX3JlYWxpemUo UENJRGV2aWNlICpkLCBFcnJvcgoqKmVycnApCgogICAgICAgICBnb3RvIGVycjsKCiAgICAgfQoK CisgICAgcGNpZV9hY3NfaW5pdChkLCBYSU8zMTMwX0FDU19PRkZTRVQpOwoKICAgICByZXR1cm47 CgoKIGVycjoKCi0tCgoyLjI0LjMgKEFwcGxlIEdpdC0xMjgp --0000000000000a506805e62ebc00 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

If it is a pcie device, check that all devices on the path from<= /p>

the device to the root complex have ACS enabled, and then the=

device will become an iommu_group.

it will have the e= ffect of isolation


Signed-= off-by: wlfightup <wlfightup@gmai= l.com>

---

=C2=A0hw/pci-bridge/xio3130_upstream.c | 3 +++

=C2=A01 file c= hanged, 3 insertions(+)


di= ff --git a/hw/pci-bridge/xio3130_upstream.c b/hw/pci-bridge/xio3130_upstrea= m.c

index 5ff46ef050..2df952222b 100644

--- a/h= w/pci-bridge/xio3130_upstream.c

+++ b/hw/pci-bridge/xio3130= _upstream.c

@@ -37,6 +37,8 @@

=C2=A0#define XIO3130_SSVID_SSID=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 0

=C2=A0#define XIO3130_EXP_OFFSET=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0x90

=C2=A0#define= XIO3130_AER_OFFSET=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0x100

+#define= XIO3130_ACS_OFFSET \

+=C2=A0 =C2=A0 =C2=A0 =C2=A0 (XIO3130_AER_OFFSET + PCI_ERR_SIZE= OF)


=C2=A0static void xio3130_upstream_write_confi= g(PCIDevice *d, uint32_t address,

=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 uint32_t val, int len)

@@ -92,6= +94,7 @@ static void xio3130_upstream_realize(PCIDevice *d, Error **errp)<= /span>

=C2=A0=C2=A0 =C2= =A0 =C2=A0 =C2=A0 goto err;

=C2=A0=C2=A0 =C2=A0 }

<= span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-ligatures= ">

+=C2=A0 = =C2=A0 pcie_acs_init(d, XIO3130_ACS_OFFSET);

=C2=A0=C2=A0 =C2=A0 return;


=C2=A0err:

--

2.24.3 (Apple Git-128)

--0000000000000a506805e62ebc00--