From nobody Mon Oct 27 19:57:27 2025
X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cwPRq6JJWz6FRVl;
Mon, 27 Oct 2025 19:57:27 +0000 (UTC)
(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
client-signature RSA-PSS (4096 bits) client-digest SHA256)
(Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK))
by mx1.freebsd.org (Postfix) with ESMTPS id 4cwPRq5kwZz3Xjl;
Mon, 27 Oct 2025 19:57:27 +0000 (UTC)
(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
t=1761595047;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding;
bh=f3TjxfGR9/8B4PiPaAG3DxPCoVj368gQ3ck6Q30seXk=;
b=rJKJXyAAnw3Ws+Nj5odTGiIEAA0jqo4JxjD+r2gau5GESL52d0HyJZ4IUzLpKWO+6vETBZ
jeydtxPfkok4DoMR0cMQ+Cz/6FFwgdTUC22XgIGLMgpEPvXM3RVDzU68MwwTbO4VpLC0FB
kFhux40reRi3RpKRKEaa0oBDLbH1z/+LVn/i1+X04vks3FJxZxpq9jfvU2+1+r0RS/OAMe
CvTAnGfIFzGSWghr5O2mRelpE+RTSC3hmwPlMX95QXj/KhQXdsdx23kmByfhwiRKxyDzZ9
76EQOImtdZSSesCwTArJN5iW/DYBe2lrBVmy1RSdh5D0k7/CujoiP0VG5s4LHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
s=dkim; t=1761595047;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding;
bh=f3TjxfGR9/8B4PiPaAG3DxPCoVj368gQ3ck6Q30seXk=;
b=F30xCBDTiqxFfJ0G8e3Zm4k7Rib1IMs90xhgnYRFqFJOiEXZNhw5A7ubdMA6hqveeIZyv4
YtPVwLOPq1JZyRX7+uZEe1oe4GwTrdZ5SCVn6OEZSrhn/ybio5Vz/TBpWl8sPjTxeDjVU5
q4nM4ZQjNR/KLtmmT7Qv3fDKztomyIPlTqqbFUNzQnmBROxEKT/Bnd4e/r+9fFKZXoZ/eO
YyYIG4/2XeTSWodiLybNv5RadwhWeVypd9l7byPKTPz2IvyGYIllpaUcKYOnOzCFS7/w/h
lb2+uvLmRkAazXIbQP2KDESbOcaIDktoszIU2ilsAiexyXtKsOtWhAn1rVj/Zw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761595047; a=rsa-sha256; cv=none;
b=Y2GIy6FIXbmj8deDPLtEb0IwBK/pXBSMQPhXr1kOxMJDjAp/FZPjyXkIthDatgWeZJaj7i
awgV7hnSOFIm38ra7moSR68lUdm+rcYi4Q/IeioaDDc+dIzrzjqanCTlRMBWA5S8ljLPHL
R01mQD7E0JY/OANE6ecz6VSxLiVTCYQuoZ2ne31tBaeVs1Vgn+bNG/w70ec0rbw16Xb+tW
bGKhNLambQlEZmv3cUDtvdUxyysleXdeo59zhO5WODNz16gjn+7lHhv3vHS/wc4TAYwsSx
m4tqz+6QTdiGxFkdBxzmYdRHbxukc0TZt64QBZDrYnbTZRKzhDTHk8mkZepDgw==
ARC-Authentication-Results: i=1;
mx1.freebsd.org;
none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(Client did not present a certificate)
by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cwPRq5833z2mp;
Mon, 27 Oct 2025 19:57:27 +0000 (UTC)
(envelope-from git@FreeBSD.org)
Received: from gitrepo.freebsd.org ([127.0.1.44])
by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59RJvR3c096305;
Mon, 27 Oct 2025 19:57:27 GMT
(envelope-from git@gitrepo.freebsd.org)
Received: (from git@localhost)
by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59RJvRXC096302;
Mon, 27 Oct 2025 19:57:27 GMT
(envelope-from git)
Date: Mon, 27 Oct 2025 19:57:27 GMT
Message-Id: <202510271957.59RJvRXC096302@gitrepo.freebsd.org>
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org,
dev-commits-src-main@FreeBSD.org
From: Ruslan Bukin
Subject: git: 8a25a04058a8 - main - xilinx pci: Codasip Prime board
support
List-Id: Commit messages for all branches of the src repository
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all
List-Help:
List-Post:
List-Subscribe:
List-Unsubscribe:
X-BeenThere: dev-commits-src-all@freebsd.org
Sender: owner-dev-commits-src-all@FreeBSD.org
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: br
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 8a25a04058a81453108e7e6accbf6663c19e9117
Auto-Submitted: auto-generated
The branch main has been updated by br:
URL: https://cgit.FreeBSD.org/src/commit/?id=8a25a04058a81453108e7e6accbf6663c19e9117
commit 8a25a04058a81453108e7e6accbf6663c19e9117
Author: Ruslan Bukin
AuthorDate: 2025-10-27 19:41:53 +0000
Commit: Ruslan Bukin
CommitDate: 2025-10-27 19:53:38 +0000
xilinx pci: Codasip Prime board support
- Add a compatible string;
- Fix build.
Tested on Codasip X730 64-bit RISC-V CHERI Application CPU using
onboard nvme(4) device.
Differential Revision: https://reviews.freebsd.org/D53295
---
sys/dev/xilinx/xlnx_pcib.c | 32 +++++++++++++++++++-------------
1 file changed, 19 insertions(+), 13 deletions(-)
diff --git a/sys/dev/xilinx/xlnx_pcib.c b/sys/dev/xilinx/xlnx_pcib.c
index d549ec445ea9..816b33ec1142 100644
--- a/sys/dev/xilinx/xlnx_pcib.c
+++ b/sys/dev/xilinx/xlnx_pcib.c
@@ -1,7 +1,7 @@
/*-
* SPDX-License-Identifier: BSD-2-Clause
*
- * Copyright (c) 2020 Ruslan Bukin
+ * Copyright (c) 2020-2025 Ruslan Bukin
*
* This software was developed by SRI International and the University of
* Cambridge Computer Laboratory (Department of Computer Science and
@@ -84,7 +84,7 @@ struct xlnx_pcib_softc {
struct generic_pcie_fdt_softc fdt_sc;
struct resource *res[4];
struct mtx mtx;
- vm_offset_t msi_page;
+ void *msi_page;
struct xlnx_pcib_irqsrc *isrcs;
device_t dev;
void *intr_cookie[3];
@@ -105,6 +105,12 @@ struct xlnx_pcib_irqsrc {
u_int flags;
};
+static struct ofw_compat_data compat_data[] = {
+ { "xlnx,xdma-host-3.00", 1 },
+ { "xlnx,axi-pcie-host-1.00.a", 1 },
+ { NULL, 0 },
+};
+
static void
xlnx_pcib_clear_err_interrupts(struct generic_pcie_core_softc *sc)
{
@@ -333,12 +339,12 @@ xlnx_pcib_fdt_probe(device_t dev)
if (!ofw_bus_status_okay(dev))
return (ENXIO);
- if (ofw_bus_is_compatible(dev, "xlnx,xdma-host-3.00")) {
- device_set_desc(dev, "Xilinx XDMA PCIe Controller");
- return (BUS_PROBE_DEFAULT);
- }
+ if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0)
+ return (ENXIO);
+
+ device_set_desc(dev, "Xilinx XDMA PCIe Controller");
- return (ENXIO);
+ return (BUS_PROBE_DEFAULT);
}
static int
@@ -424,8 +430,8 @@ xlnx_pcib_req_valid(struct generic_pcie_core_softc *sc,
bus_space_tag_t t;
uint32_t val;
- t = sc->bst;
- h = sc->bsh;
+ t = rman_get_bustag(sc->res);
+ h = rman_get_bushandle(sc->res);
if ((bus < sc->bus_start) || (bus > sc->bus_end))
return (0);
@@ -467,8 +473,8 @@ xlnx_pcib_read_config(device_t dev, u_int bus, u_int slot,
return (~0U);
offset = PCIE_ADDR_OFFSET(bus - sc->bus_start, slot, func, reg);
- t = sc->bst;
- h = sc->bsh;
+ t = rman_get_bustag(sc->res);
+ h = rman_get_bushandle(sc->res);
data = bus_space_read_4(t, h, offset & ~3);
@@ -512,8 +518,8 @@ xlnx_pcib_write_config(device_t dev, u_int bus, u_int slot,
offset = PCIE_ADDR_OFFSET(bus - sc->bus_start, slot, func, reg);
- t = sc->bst;
- h = sc->bsh;
+ t = rman_get_bustag(sc->res);
+ h = rman_get_bushandle(sc->res);
/*
* 32-bit access used due to a bug in the Xilinx bridge that