From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4581BC433FE for ; Wed, 24 Nov 2021 16:00:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241032AbhKXQDX (ORCPT ); Wed, 24 Nov 2021 11:03:23 -0500 Received: from mail.kernel.org ([198.145.29.99]:57520 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347727AbhKXQDX (ORCPT ); Wed, 24 Nov 2021 11:03:23 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 2303260FDC; Wed, 24 Nov 2021 16:00:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1637769613; bh=+klZEg8cA08uh4bc6ofaYAGc0ZPqBd8yxdNwlPu5IKU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aJiT6o6H4QoTBfDR2Xr/fIopg/TKMlabqKMGnVWeCb7h/vY0RKLupGU7s+KukptEA E/KbN0pxgSKMzX176vS7EyiV3Nx0taKDIao81y6A6keujFwzXjXneNsmPzwaYSg6N7 WJujyEip+bhWFgaWxpGIp0pF+LHjpjU3KEecTz7OxhsqwAb8UrNJoLinW0CigTEwan DBarQ+f9ifoevObpN0MYzHB2X/ISCnKJ9WBApf4IKyXR0dNWIwMglLWyTXoZb7pADG HZRclH8StiwutidwRcZgNqAK/J4bsArjsANVw+xx/TFwKHQGN2VuxBlREzGWozCd6s plgdSDcQjcSJw== Received: by pali.im (Postfix) id D64B056D; Wed, 24 Nov 2021 17:00:12 +0100 (CET) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Thomas Petazzoni , Lorenzo Pieralisi , Rob Herring , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Bjorn Helgaas , =?UTF-8?q?Marek=20Beh=C3=BAn?= Cc: linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/6] PCI: pci-bridge-emul: Properly mark reserved PCIe bits in PCI config space Date: Wed, 24 Nov 2021 16:59:40 +0100 Message-Id: <20211124155944.1290-3-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20211124155944.1290-1-pali@kernel.org> References: <20211124155944.1290-1-pali@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org Some bits in PCI config space are reserved when device is PCIe. Properly define behavior of PCI registers for PCIe emulated bridge and ensure that it would not be possible change these reserved bits. Signed-off-by: Pali Rohár Fixes: 23a5fba4d941 ("PCI: Introduce PCI bridge emulated config space common logic") Cc: stable@vger.kernel.org --- drivers/pci/pci-bridge-emul.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/drivers/pci/pci-bridge-emul.c b/drivers/pci/pci-bridge-emul.c index 5de8b8dde209..0cbb4e3ca827 100644 --- a/drivers/pci/pci-bridge-emul.c +++ b/drivers/pci/pci-bridge-emul.c @@ -295,6 +295,27 @@ int pci_bridge_emul_init(struct pci_bridge_emul *bridge, kfree(bridge->pci_regs_behavior); return -ENOMEM; } + /* These bits are applicable only for PCI and reserved on PCIe */ + bridge->pci_regs_behavior[PCI_CACHE_LINE_SIZE / 4].ro &= + ~GENMASK(15, 8); + bridge->pci_regs_behavior[PCI_COMMAND / 4].ro &= + ~((PCI_COMMAND_SPECIAL | PCI_COMMAND_INVALIDATE | + PCI_COMMAND_VGA_PALETTE | PCI_COMMAND_WAIT | + PCI_COMMAND_FAST_BACK) | + (PCI_STATUS_66MHZ | PCI_STATUS_FAST_BACK | + PCI_STATUS_DEVSEL_MASK) << 16); + bridge->pci_regs_behavior[PCI_PRIMARY_BUS / 4].ro &= + ~GENMASK(31, 24); + bridge->pci_regs_behavior[PCI_IO_BASE / 4].ro &= + ~((PCI_STATUS_66MHZ | PCI_STATUS_FAST_BACK | + PCI_STATUS_DEVSEL_MASK) << 16); + bridge->pci_regs_behavior[PCI_INTERRUPT_LINE / 4].rw &= + ~((PCI_BRIDGE_CTL_MASTER_ABORT | + BIT(8) | BIT(9) | BIT(11)) << 16); + bridge->pci_regs_behavior[PCI_INTERRUPT_LINE / 4].ro &= + ~((PCI_BRIDGE_CTL_FAST_BACK) << 16); + bridge->pci_regs_behavior[PCI_INTERRUPT_LINE / 4].w1c &= + ~(BIT(10) << 16); } if (flags & PCI_BRIDGE_EMUL_NO_PREFETCHABLE_BAR) { -- 2.20.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1390CC433EF for ; Wed, 24 Nov 2021 16:02:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=3eEelHjXvEyIJ8MPo6mFSqDE9PgY2NsQBENvIR1G9X4=; b=nU6g1gkFtZz3Qs NS18WwXD/jqCHiGm24Y+kMZaRZasU+ltdr+jwNXwPldSaeALcQ4U/vkdyWWYl8l9pXEE/HF/qZCvr qp/7FjuSQwGIXr5NvhsLtME2JA0yj8rK6oc+k+75hfwOaqI1orFtW9N7X16SoYtZ/9EeBQPYYMQ8k V4oAJWLC/S1zefV6/D3nDtcdASSd/SHw0hLfVKF7Ws1TSBHC3nZntiZchMvTfz4mlfSpEZsQGR8IH iWMWhJLOfoGB8iJhs7qVtnrjLR2098Zdaazgt+q4k4p7DdavXoS9upzGuD0mFgRs94ZE6C04JdSC/ MN6tTbveZ/IYzA0Sfd9w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mpuhB-005BZG-0h; Wed, 24 Nov 2021 16:00:29 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mpugv-005BRP-HW for linux-arm-kernel@lists.infradead.org; Wed, 24 Nov 2021 16:00:14 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 2303260FDC; Wed, 24 Nov 2021 16:00:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1637769613; bh=+klZEg8cA08uh4bc6ofaYAGc0ZPqBd8yxdNwlPu5IKU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aJiT6o6H4QoTBfDR2Xr/fIopg/TKMlabqKMGnVWeCb7h/vY0RKLupGU7s+KukptEA E/KbN0pxgSKMzX176vS7EyiV3Nx0taKDIao81y6A6keujFwzXjXneNsmPzwaYSg6N7 WJujyEip+bhWFgaWxpGIp0pF+LHjpjU3KEecTz7OxhsqwAb8UrNJoLinW0CigTEwan DBarQ+f9ifoevObpN0MYzHB2X/ISCnKJ9WBApf4IKyXR0dNWIwMglLWyTXoZb7pADG HZRclH8StiwutidwRcZgNqAK/J4bsArjsANVw+xx/TFwKHQGN2VuxBlREzGWozCd6s plgdSDcQjcSJw== Received: by pali.im (Postfix) id D64B056D; Wed, 24 Nov 2021 17:00:12 +0100 (CET) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Thomas Petazzoni , Lorenzo Pieralisi , Rob Herring , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Bjorn Helgaas , =?UTF-8?q?Marek=20Beh=C3=BAn?= Cc: linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/6] PCI: pci-bridge-emul: Properly mark reserved PCIe bits in PCI config space Date: Wed, 24 Nov 2021 16:59:40 +0100 Message-Id: <20211124155944.1290-3-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20211124155944.1290-1-pali@kernel.org> References: <20211124155944.1290-1-pali@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211124_080013_621779_0EF1802D X-CRM114-Status: UNSURE ( 9.74 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org U29tZSBiaXRzIGluIFBDSSBjb25maWcgc3BhY2UgYXJlIHJlc2VydmVkIHdoZW4gZGV2aWNlIGlz IFBDSWUuIFByb3Blcmx5CmRlZmluZSBiZWhhdmlvciBvZiBQQ0kgcmVnaXN0ZXJzIGZvciBQQ0ll IGVtdWxhdGVkIGJyaWRnZSBhbmQgZW5zdXJlIHRoYXQKaXQgd291bGQgbm90IGJlIHBvc3NpYmxl IGNoYW5nZSB0aGVzZSByZXNlcnZlZCBiaXRzLgoKU2lnbmVkLW9mZi1ieTogUGFsaSBSb2jDoXIg PHBhbGlAa2VybmVsLm9yZz4KRml4ZXM6IDIzYTVmYmE0ZDk0MSAoIlBDSTogSW50cm9kdWNlIFBD SSBicmlkZ2UgZW11bGF0ZWQgY29uZmlnIHNwYWNlIGNvbW1vbiBsb2dpYyIpCkNjOiBzdGFibGVA dmdlci5rZXJuZWwub3JnCi0tLQogZHJpdmVycy9wY2kvcGNpLWJyaWRnZS1lbXVsLmMgfCAyMSAr KysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvcGNpLWJyaWRnZS1lbXVsLmMgYi9kcml2ZXJzL3BjaS9w Y2ktYnJpZGdlLWVtdWwuYwppbmRleCA1ZGU4YjhkZGUyMDkuLjBjYmI0ZTNjYTgyNyAxMDA2NDQK LS0tIGEvZHJpdmVycy9wY2kvcGNpLWJyaWRnZS1lbXVsLmMKKysrIGIvZHJpdmVycy9wY2kvcGNp LWJyaWRnZS1lbXVsLmMKQEAgLTI5NSw2ICsyOTUsMjcgQEAgaW50IHBjaV9icmlkZ2VfZW11bF9p bml0KHN0cnVjdCBwY2lfYnJpZGdlX2VtdWwgKmJyaWRnZSwKIAkJCWtmcmVlKGJyaWRnZS0+cGNp X3JlZ3NfYmVoYXZpb3IpOwogCQkJcmV0dXJuIC1FTk9NRU07CiAJCX0KKwkJLyogVGhlc2UgYml0 cyBhcmUgYXBwbGljYWJsZSBvbmx5IGZvciBQQ0kgYW5kIHJlc2VydmVkIG9uIFBDSWUgKi8KKwkJ YnJpZGdlLT5wY2lfcmVnc19iZWhhdmlvcltQQ0lfQ0FDSEVfTElORV9TSVpFIC8gNF0ucm8gJj0K KwkJCX5HRU5NQVNLKDE1LCA4KTsKKwkJYnJpZGdlLT5wY2lfcmVnc19iZWhhdmlvcltQQ0lfQ09N TUFORCAvIDRdLnJvICY9CisJCQl+KChQQ0lfQ09NTUFORF9TUEVDSUFMIHwgUENJX0NPTU1BTkRf SU5WQUxJREFURSB8CisJCQkgICBQQ0lfQ09NTUFORF9WR0FfUEFMRVRURSB8IFBDSV9DT01NQU5E X1dBSVQgfAorCQkJICAgUENJX0NPTU1BTkRfRkFTVF9CQUNLKSB8CisJCQkgIChQQ0lfU1RBVFVT XzY2TUhaIHwgUENJX1NUQVRVU19GQVNUX0JBQ0sgfAorCQkJICAgUENJX1NUQVRVU19ERVZTRUxf TUFTSykgPDwgMTYpOworCQlicmlkZ2UtPnBjaV9yZWdzX2JlaGF2aW9yW1BDSV9QUklNQVJZX0JV UyAvIDRdLnJvICY9CisJCQl+R0VOTUFTSygzMSwgMjQpOworCQlicmlkZ2UtPnBjaV9yZWdzX2Jl aGF2aW9yW1BDSV9JT19CQVNFIC8gNF0ucm8gJj0KKwkJCX4oKFBDSV9TVEFUVVNfNjZNSFogfCBQ Q0lfU1RBVFVTX0ZBU1RfQkFDSyB8CisJCQkgICBQQ0lfU1RBVFVTX0RFVlNFTF9NQVNLKSA8PCAx Nik7CisJCWJyaWRnZS0+cGNpX3JlZ3NfYmVoYXZpb3JbUENJX0lOVEVSUlVQVF9MSU5FIC8gNF0u cncgJj0KKwkJCX4oKFBDSV9CUklER0VfQ1RMX01BU1RFUl9BQk9SVCB8CisJCQkgICBCSVQoOCkg fCBCSVQoOSkgfCBCSVQoMTEpKSA8PCAxNik7CisJCWJyaWRnZS0+cGNpX3JlZ3NfYmVoYXZpb3Jb UENJX0lOVEVSUlVQVF9MSU5FIC8gNF0ucm8gJj0KKwkJCX4oKFBDSV9CUklER0VfQ1RMX0ZBU1Rf QkFDSykgPDwgMTYpOworCQlicmlkZ2UtPnBjaV9yZWdzX2JlaGF2aW9yW1BDSV9JTlRFUlJVUFRf TElORSAvIDRdLncxYyAmPQorCQkJfihCSVQoMTApIDw8IDE2KTsKIAl9CiAKIAlpZiAoZmxhZ3Mg JiBQQ0lfQlJJREdFX0VNVUxfTk9fUFJFRkVUQ0hBQkxFX0JBUikgewotLSAKMi4yMC4xCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtl cm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5l bAo=