From nobody Mon Apr 21 17:41:09 2025 X-Original-To: dev-commits-src-branches@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 4ZhCMp2wTpz5snPq; Mon, 21 Apr 2025 17:41:10 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhCMn5gXgz3ShK; Mon, 21 Apr 2025 17:41:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745257269; 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=80Loig6ho2nSu448kYLb7Zk8nSSPUqzmmWJ951JGGQ8=; b=rTPyZRvOBl4oK2GlqUx8VFXosNDVzX4Tf7/WUeE4flIO4Y2bN1GHlbRjfnKU9O877+0yDJ LKb6lm43ucRZ+j8fk7Mhws3vsOcooJj4MopEvCQvAEmQVI3G2WcF6JKxHchVu9JzET/iPa K2gyQURfj/cCLxYovc6C0/2VblNa7fX52qmFuMhOi/QEGMT2hv69e0U9BZcVXXP7q0ZJNk KXUZBQ4YwITkq2ijv9ycO4NKkxnRwI7NopoN2ShPnr7kcXvIA3HH7M49ipMFxVJNRjLRQq /uYuC5/e5G70iPg/K2ofHQto7bK3KMS8rZQkm0xGTwYxLtRJG35Xx6UT1aTvqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745257269; a=rsa-sha256; cv=none; b=ftSP8vB45wzyLBul957t8Wba9t7oeN/mkYygxN+9HA0rTDV+SsZedJoqCJ4VpLKSe+bw8B CCAwOSMFt/AXZaIR4njsSzb1hZQYkbyTv2+uFVK8VS3m3oCR6YNoWwVFihVlWUec8n69Q/ t64prCW/dvaZ2VjCAFf266nS5sMacd8H1ZyKnwIasRbyvhaQUklHTnnuP3iirorq1DHS2w SC2tt8yaXwiPi/Ben540b76j1Dz2br6ndpdB+fUTOLF1eT2bCQ+RwXL8KH4mZij+3fC+Z2 dbihXJBrQqWVYGPf+ViD8bMvMXnYFUlsUMP6GxI/6BdSx8jKTsJpacxlmxpk2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745257269; 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=80Loig6ho2nSu448kYLb7Zk8nSSPUqzmmWJ951JGGQ8=; b=YjmXBxbP5NLgVK9c7zek2Hth1nsSLmE0NX5d8fUKUHlcfHINTCxDJJgbtLfT5MQSNF5rpJ EYItF+sM7sT7VoKPzv1uXYSLQYESQT5B1KWr94G3kXM+rwnIrESjUgCdQoQHm0pnwKuHIM LdlpP6VYx2VIIhQNT18iKO70V9dW9YpLKUA66M6lO9A+P5p4YiV8NjwcmpKXynql6AHbXc +OBCsAOgIx7omSrr+Evqlwd63wv0vEGnPG0tlEFcmvMuwZffOLRY18b2FnYWk6uGLXWoOa SAr9WLgvgNiRFl9DVq3tspQ8DMIq6Q+gzpXHnz5a5lAHCf5RDg7zSzObzdMmVg== 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 4ZhCMn5GCHz10bv; Mon, 21 Apr 2025 17:41:09 +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 53LHf9on035975; Mon, 21 Apr 2025 17:41:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LHf9VA035972; Mon, 21 Apr 2025 17:41:09 GMT (envelope-from git) Date: Mon, 21 Apr 2025 17:41:09 GMT Message-Id: <202504211741.53LHf9VA035972@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 57235a9b5158 - stable/14 - cp: Improve error messages. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 57235a9b51587a0d4aefe5de96da409239c5ff90 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=57235a9b51587a0d4aefe5de96da409239c5ff90 commit 57235a9b51587a0d4aefe5de96da409239c5ff90 Author: Dag-Erling Smørgrav AuthorDate: 2025-04-15 17:57:28 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-04-20 08:00:29 +0000 cp: Improve error messages. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: allanjude, markj Differential Revision: https://reviews.freebsd.org/D49841 (cherry picked from commit 7622e2d21a22f7af65a7145f91ef34179bb6ee03) --- bin/cp/cp.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/bin/cp/cp.c b/bin/cp/cp.c index a8c57308ae96..79a808059536 100644 --- a/bin/cp/cp.c +++ b/bin/cp/cp.c @@ -227,7 +227,7 @@ main(int argc, char *argv[]) * Case (1). Target is not a directory. */ if (argc > 1) - errx(1, "%s is not a directory", to.p_path); + errc(1, ENOTDIR, "%s", to.p_path); /* * Need to detect the case: @@ -250,17 +250,17 @@ main(int argc, char *argv[]) type = FILE_TO_FILE; if (have_trailing_slash && type == FILE_TO_FILE) { - if (r == -1) { - errx(1, "directory %s does not exist", - to.p_path); - } else - errx(1, "%s is not a directory", to.p_path); + if (r == -1) + errc(1, ENOENT, "%s", to.p_path); + else + errc(1, ENOTDIR, "%s", to.p_path); } - } else + } else { /* * Case (2). Target is a directory. */ type = FILE_TO_DIR; + } /* * For DIR_TO_DNE, we could provide copy() with the to_stat we've @@ -368,8 +368,8 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) base = (p == NULL) ? 0 : (int)(p - curr->fts_path + 1); - if (!strcmp(&curr->fts_path[base], - "..")) + if (strcmp(curr->fts_path + base, "..") + == 0) base += 1; } else base = curr->fts_pathlen; From nobody Mon Apr 21 17:41:13 2025 X-Original-To: dev-commits-src-branches@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 4ZhCMs4wCpz5snGY; Mon, 21 Apr 2025 17:41:13 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhCMs3PrYz3SfT; Mon, 21 Apr 2025 17:41:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745257273; 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=3F+6zqJl9WrjlpnCIWA96KKiWfOBNT7mUkpfLjOwuzE=; b=aYg+G0R4UMd7tK1Ui6r+OUtNfowv2SX6MX+Rd6uRLI54m5Tb+ePg2hsmk1lVysaNopgsXu VthYJktURceSlZ6vLfM7aKI9TX2+628d31W/LYQhzo2z6Ldtx+JsV7rOnV4cV1KNNc1Cfx h67osbCg8bUpLGjmTk8W3SaZHG8TyVfTSrde0XLdjGNNUJftBX1P44yeDVGuFFdkqzEqhA EzUy7R3Vs0EWvHfiSlNa9aT0CNvJJqJhM5ZDPDm9P9G1iIR7oY/Cu8xMwsPmC6bN6DPUiY 5g0e8EtGm2EkU9RoJ2z1eWBKegoljxbdQp8EPglTiJ91kt/qdWRzG/qcrlRBNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745257273; a=rsa-sha256; cv=none; b=GalGEuv13y4bQ733Rpd0ik6S7MEGDIIS3pzuK+k3cYpogsJvy5af6tHN1Ulpp/OuKr9JoE sY2cY2/cSPKAtKJ3IlFIvqfDMS0vf4lQRXrlLmHNPGtKNqzXXWzjlJmpMazn+ijfAZPpLP fbyL89aLH8CIZcT0Zdv79VTokariX6EUdkALoIj6GIeT010DwbXFbhdLw+gLpjRNBvOG5d QFdBbgMlzXHbT6dvr8R6Ucl9tVP1dfh/5zIF7A6Fj50nuYrZerNJFIM6C9Kx4ocJXRDWTN xCMEQtPh3odKlWTZfkPXwX55hbRTamezPYNE1oXQFhVEIynIewf3xpEwG56njQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745257273; 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=3F+6zqJl9WrjlpnCIWA96KKiWfOBNT7mUkpfLjOwuzE=; b=qVTKbKPBEVvPisOcRu6AZ+tq+4Mu9QoweWhT5wK0Wj8Uf+5HGZNkf39r74aDxpQHdiW+Jp 3y8eKN7cGLS6DjKaY3lmDieWxc4y2rBLIzVN8D0p40B658jCoRE6/qTjjauZBpFGz6zuTi 1ziu4JwtVRhBaIzXA162P/sYx8PpYCxONpdMem40F9UALuztDAGM+IgDT8Z7xvaRBnLPq3 4444FsxAj7h3zCLxK+TQlxgU6YNbYTQgJ31V1aKIiBKOuc8aHBI07Kv1FWE+ULlziVA7D3 rmmNjUs5k5FLYt87whJ1SSvi/TvvW0uoJf9BvB0wTYNqQ+5zpB1t186YQWtz3Q== 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 4ZhCMs2VYjz10ZF; Mon, 21 Apr 2025 17:41:13 +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 53LHfDxV036116; Mon, 21 Apr 2025 17:41:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LHfDYI036113; Mon, 21 Apr 2025 17:41:13 GMT (envelope-from git) Date: Mon, 21 Apr 2025 17:41:13 GMT Message-Id: <202504211741.53LHfDYI036113@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 413e5dca9dc5 - stable/13 - fts: Move private flags away from public ones. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 413e5dca9dc5e0c638f79e0904efbeaf38e6037c Auto-Submitted: auto-generated The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=413e5dca9dc5e0c638f79e0904efbeaf38e6037c commit 413e5dca9dc5e0c638f79e0904efbeaf38e6037c Author: Dag-Erling Smørgrav AuthorDate: 2025-04-10 11:34:41 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-04-20 08:00:24 +0000 fts: Move private flags away from public ones. Renumber the private flags so there is a sizeable gap between them and the public flags, making it easier to add public flags in the future. These private flags are only ever set or read by FTS itself, so there is no compatibility issue. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D49711 (cherry picked from commit 80e06d621ac545ac0a69d4e95e7392be38013a78) --- include/fts.h | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/include/fts.h b/include/fts.h index 6c6a30e2d8c5..cf846d1b9238 100644 --- a/include/fts.h +++ b/include/fts.h @@ -48,18 +48,22 @@ typedef struct { int (*fts_compar) /* compare function */ (const struct _ftsent * const *, const struct _ftsent * const *); -#define FTS_COMFOLLOW 0x001 /* follow command line symlinks */ -#define FTS_LOGICAL 0x002 /* logical walk */ -#define FTS_NOCHDIR 0x004 /* don't change directories */ -#define FTS_NOSTAT 0x008 /* don't get stat info */ -#define FTS_PHYSICAL 0x010 /* physical walk */ -#define FTS_SEEDOT 0x020 /* return dot and dot-dot */ -#define FTS_XDEV 0x040 /* don't cross devices */ -#define FTS_WHITEOUT 0x080 /* return whiteout information */ -#define FTS_OPTIONMASK 0x0ff /* valid user option mask */ - -#define FTS_NAMEONLY 0x100 /* (private) child names only */ -#define FTS_STOP 0x200 /* (private) unrecoverable error */ +/* valid for fts_open() */ +#define FTS_COMFOLLOW 0x000001 /* follow command line symlinks */ +#define FTS_LOGICAL 0x000002 /* logical walk */ +#define FTS_NOCHDIR 0x000004 /* don't change directories */ +#define FTS_NOSTAT 0x000008 /* don't get stat info */ +#define FTS_PHYSICAL 0x000010 /* physical walk */ +#define FTS_SEEDOT 0x000020 /* return dot and dot-dot */ +#define FTS_XDEV 0x000040 /* don't cross devices */ +#define FTS_WHITEOUT 0x000080 /* return whiteout information */ +#define FTS_OPTIONMASK 0x0000ff /* valid user option mask */ + +/* valid only for fts_children() */ +#define FTS_NAMEONLY 0x000100 /* child names only */ + +/* internal use only */ +#define FTS_STOP 0x010000 /* unrecoverable error */ int fts_options; /* fts_open options, global flags */ void *fts_clientptr; /* thunk for sort function */ } FTS; From nobody Mon Apr 21 17:41:14 2025 X-Original-To: dev-commits-src-branches@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 4ZhCMv0TVMz5snJt; Mon, 21 Apr 2025 17:41:15 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhCMt3qrBz3SHg; Mon, 21 Apr 2025 17:41:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745257274; 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=2O43EYDkZemp0voP7FUXdWLy9OW3dB/PyeKoIOxoWts=; b=Y1tdyctWQObZ5XLgzqAnNs0Hpb1GvB5WdGGHQD9BapcYQKK8tjZvaqK34ZHLnvNQILxu9h YlJ3JPNA08AkSa16k/Eo1I8lS+4fV5C3I8vFk8F0r5pLKim5bJnsJV/tIb6llnbFibV6A5 /Y82d0dflyvjgwIhofUjdp9ITw6+LY4HvkSZwuvzYGVPd6rdRMRW7uY7aYTo3IgLjeeXp3 3Lr/2g+lH63regztKOfpJh5O69dXbS08BMgUqwzntzDKksJRaib3ygnGYgeeEx8EbtmgUc OABu+7KErE+DCwsyze28vdPYYtiGb7xWhMb22NmpTFoC/08iKFYl5/QkmoP6CA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745257274; a=rsa-sha256; cv=none; b=Vu3TVfpBSlEHsf7PWGYq0HQB3yKemne7AG8Tsxvj3KbuhBULEFTWUr/Rn70AxqaXp7M9m2 AHeeCvHFIKV6jka9djdw5iP3VKd+LV00jJXgNYC28kd9sm2FyBWZ7RogUt0Jpa2t6B//MT rxGq0US+8DUj642t95OjnmJMjLW6EtUiRoMFjv0FmJjIiBsd0Vv/PPksNCy/RVF7mm4Ffv EDWMLeV1wLyhjvvZ02bP1ovgoXYxf2vTdbyka2oreP3HlgrlWSV0oHmeySENNGzcOlcJIa PBbKKaqUvJOe+lwuF3yT26H9OVZAWJpmZ49bq2bCmnLwo1Zc1U3mFWPN9BAMMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745257274; 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=2O43EYDkZemp0voP7FUXdWLy9OW3dB/PyeKoIOxoWts=; b=kwOI/kS0hbHedWf9Xlo98Iz1reVCwCe5DEhSern95Nbbncx0vuTBk8Kcco3CsKu2K5WLYF HEzouBJgJnw5DlXBvBXVpI0PrRepIPZR7kOZl0Rv6dnPm4jTRFIaH98eMJhDxwI+FX5/Zi HXTcBX61nXg7uJyQwGXnCkOSfJNOMS1dxhPj9KAkYL/yspkOoxuD6g3e9AXBf05+oq8ukq comRkRIpY2RP1Q/Yhd0Bj9RjcuGHU3rVermKk6W33rTgKJdKLlo8LBodqxr7A95OSwY1dm T62t7nTxhyc5wnDT/d4bd94qaFz1sA68jwTbpeZRFKmX4QMPRutQi7HAUjq47w== 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 4ZhCMt3Rlwz10R0; Mon, 21 Apr 2025 17:41:14 +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 53LHfEQH036157; Mon, 21 Apr 2025 17:41:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LHfEhC036153; Mon, 21 Apr 2025 17:41:14 GMT (envelope-from git) Date: Mon, 21 Apr 2025 17:41:14 GMT Message-Id: <202504211741.53LHfEhC036153@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: c6cb1b2ee506 - stable/13 - cp: Improve error messages. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c6cb1b2ee5065ea2eaf725c09b45fd7a249bb4dc Auto-Submitted: auto-generated The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=c6cb1b2ee5065ea2eaf725c09b45fd7a249bb4dc commit c6cb1b2ee5065ea2eaf725c09b45fd7a249bb4dc Author: Dag-Erling Smørgrav AuthorDate: 2025-04-15 17:57:28 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-04-20 08:00:24 +0000 cp: Improve error messages. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: allanjude, markj Differential Revision: https://reviews.freebsd.org/D49841 (cherry picked from commit 7622e2d21a22f7af65a7145f91ef34179bb6ee03) --- bin/cp/cp.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/bin/cp/cp.c b/bin/cp/cp.c index a8c57308ae96..79a808059536 100644 --- a/bin/cp/cp.c +++ b/bin/cp/cp.c @@ -227,7 +227,7 @@ main(int argc, char *argv[]) * Case (1). Target is not a directory. */ if (argc > 1) - errx(1, "%s is not a directory", to.p_path); + errc(1, ENOTDIR, "%s", to.p_path); /* * Need to detect the case: @@ -250,17 +250,17 @@ main(int argc, char *argv[]) type = FILE_TO_FILE; if (have_trailing_slash && type == FILE_TO_FILE) { - if (r == -1) { - errx(1, "directory %s does not exist", - to.p_path); - } else - errx(1, "%s is not a directory", to.p_path); + if (r == -1) + errc(1, ENOENT, "%s", to.p_path); + else + errc(1, ENOTDIR, "%s", to.p_path); } - } else + } else { /* * Case (2). Target is a directory. */ type = FILE_TO_DIR; + } /* * For DIR_TO_DNE, we could provide copy() with the to_stat we've @@ -368,8 +368,8 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) base = (p == NULL) ? 0 : (int)(p - curr->fts_path + 1); - if (!strcmp(&curr->fts_path[base], - "..")) + if (strcmp(curr->fts_path + base, "..") + == 0) base += 1; } else base = curr->fts_pathlen; From nobody Mon Apr 21 21:15:43 2025 X-Original-To: dev-commits-src-branches@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 4ZhJ7M2tbYz5t3XN; Mon, 21 Apr 2025 21:15:43 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhJ7M1ydJz3KMC; Mon, 21 Apr 2025 21:15:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270143; 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=5tUAK1Qqc346BI22jXmLJaB7cvz/BUs0wUy393+Y7W4=; b=RHs1c1Oh/pkByLU9zUwYC4d3wNj4EBjVlRKD958PVydT+y5FKBRzXVZnMkXF8ctnpSIUbU zrtL0JlKAaR/o6EjZVaYhi1WJGr9ROEov8nCekUNGqD3WuZeVxyecUZFQSsVdjLEq57mA8 SIGAS/ry/z15j3Vms6qNdQT64Xb2yRYBOc/QOJr94ihR9YnqOOtZ05ZDjgDCo5xIDPtQ+A mk0tU/33O5IqsIKWxqD/HT/POi2PCyFt8O1e6zSxsTtbiQH8QisaUwwxdew1qfvSmbQhKj TvBo23hjSCQ7DXXbPFAA24O2vZp++0LBHau3gU3/98e8fK+tnxfdrkTvjmEKcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745270143; a=rsa-sha256; cv=none; b=Jsx7ZYpgElBEoM7XSpD8MxBEYlGUuUkJtKW9uXsEJ9eaGlBAv6maA1J5DqWCyKkzBEIY2R 6sAp4cuT0/LQhBwfNFPfPD0VAwmBUWlwzaAVu+GDaybS4bEKWkSU9WRFkuI6UwkHWEM8Ok 4Xny7nkY3fW9l0l9YovjbbPfYn/XqmqQLvBHDxJXisUpu3fc+yRZ/+GpX4vZDjRa/T8uPe QMDkjSJxkUOayz/nyZPRVrwGHOeiMaLhh5KZIL39K6Tjl+ttg8KZxvGiA6/cOuffwAgfNg DIlR4vwSS+O2Q6SvOTmiUl8hOrJ9nzYKu2rZ4A01EDfBikVloxj9/d3KbS7Xtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270143; 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=5tUAK1Qqc346BI22jXmLJaB7cvz/BUs0wUy393+Y7W4=; b=AvGTKxSOZpf3m8g5VRmaZ+U4JVML1a6C4PJWP8zgSg/wCVfS4pr3mH/4WR/UpbGW+Q6Dmv QavcUhxdMa0qPtiFxN6BRhzUKVprKm0JEe9hr6QD+PAIkLoVRLLbNagjS2X6B6W0Xq33N+ ZvtrDnGQefBnlEPIsEKiL8r6rpXtPVfbkdLiPKlth/I0VeK8Houh4PhAtWrardNYFvwd94 EzZB4+G5Ad3MdrC69DXKcXv4Zsixbt9IES/S+sQA7Om0tcaeTygWnPPR6L4CXv+qXVg6dn TdtJPgeO1FRJuXL3QKgujXPoPIyDtfQpTb2FGeH53X4I9Aly2P9ZIlvDyGrW2w== 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 4ZhJ7M1Z6Pz15kj; Mon, 21 Apr 2025 21:15:43 +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 53LLFh81033196; Mon, 21 Apr 2025 21:15:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LLFhn5033193; Mon, 21 Apr 2025 21:15:43 GMT (envelope-from git) Date: Mon, 21 Apr 2025 21:15:43 GMT Message-Id: <202504212115.53LLFhn5033193@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 482f4dc272cc - stable/14 - pf: improve pf_state_key_attach() error handling List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 482f4dc272ccb73f80f07e838fe53d0ab2e85931 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=482f4dc272ccb73f80f07e838fe53d0ab2e85931 commit 482f4dc272ccb73f80f07e838fe53d0ab2e85931 Author: Kristof Provost AuthorDate: 2025-03-27 14:21:41 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 20:25:45 +0000 pf: improve pf_state_key_attach() error handling If we fail to attach the stack key that means we've already attached the wire key. That means the state could be found by other cores, and given that we then free it, be used after free. Fix this by not releasing the ID hashrow lock and key locks until after we've removed the inserted key again, ensuring the state cannot be found by other cores. Reported by: markj Submitted by: glebius Reviewed by: glebius, markj MFC after: 3 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D49550 (cherry picked from commit 8efd2acf07bc0e1c3ea1f7390e0f1cfb7cf6f86c) --- sys/netpfil/pf/pf.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 06761060b583..c962821b8acd 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -1365,15 +1365,28 @@ keyattach: printf("\n"); } s->timeout = PFTM_UNLINKED; + if (idx == PF_SK_STACK) + /* + * Remove the wire key from + * the hash. Other threads + * can't be referencing it + * because we still hold the + * hash lock. + */ + pf_state_key_detach(s, + PF_SK_WIRE); PF_HASHROW_UNLOCK(ih); KEYS_UNLOCK(); - if (idx == PF_SK_WIRE) { + if (idx == PF_SK_WIRE) + /* + * We've not inserted either key. + * Free both. + */ uma_zfree(V_pf_state_key_z, skw); - if (skw != sks) - uma_zfree(V_pf_state_key_z, sks); - } else { - pf_detach_state(s); - } + if (skw != sks) + uma_zfree( + V_pf_state_key_z, + sks); return (EEXIST); /* collision! */ } } From nobody Mon Apr 21 21:15:44 2025 X-Original-To: dev-commits-src-branches@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 4ZhJ7N5frlz5t3Tn; Mon, 21 Apr 2025 21:15:44 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhJ7N1YZ2z3KBV; Mon, 21 Apr 2025 21:15:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270144; 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=acE0vii0SH3wY38VyH8PGsaVvglw30mDRFz/7damcAE=; b=TC3QPhGLp8uzEzzTa2uNNiHp+ug2tkexlybFdVJJxGxxfEN8MyyhARu/wUPhifZ2nZ8PWn VuK+wWFsOw5kVePgGnwRB9GA9kg0HsJ2slvOp+6VGXaXD87VtoeW2zqSYDASjiZhld05Qn LvOIXHY4Yzsv1QavW6H80FKNWe/wL5aGgUAEtU+00yltZVdgfsDpZ0utflYVX9RA7C3IJO TcSQDZiP4T0DIE0vIpf2jHQfXGxkbkeIJlQWrYj0Dv5SMu+zVCsMHft0IBUlR+4FGvKjhf 4HbCO2ce5iLh/O6PXvhq0LqoSQZfuGrPma8MkPgdkopYZbGlCorK0gOtT1HGjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745270144; a=rsa-sha256; cv=none; b=vxAX0ZFLxKT+LvmzVffRX8hXzkZqLtvCS5fGhXz/OfnBdf6bo47aACxyYKiOV+n9iWC7tO TNnlP+c+fXJLwVOeSecFuFzdiBD30Bqe0wbNgL85zsFMGOFnHgGu0/7uF+6O2dcoR64EBw GLtE0Ry3Nb9/6CEg6XLoXKjR626jmYZV6D8zFuIGyitzeobibgGPfs/uuwTZZbFhmvJwAQ YBct4uO2CDMSkAAGrKHsakQvp22YWeHuF3D9QA9oYRuhoKSkmwGHZFcWnPP++gsEmXfPH/ 7MfkgASS/MIHoO0cuct1J8Z0ilXw8QSfO+SUYi8DrunIwcNArbVN8K+UqsfiJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270144; 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=acE0vii0SH3wY38VyH8PGsaVvglw30mDRFz/7damcAE=; b=QeLWlYmr3rXi/ilJcf6SehEtn3SIWjArqfJncfVUQhZZpkwagL21DuwZ5bfRbObO7mTV8d Iu5x3xSEkCm/fF9dUPlrxGw53cypFJGLaIXddnw/o9hdHjMny2jRUIpLGEOQ8HQiC/XJQi N2PZxwEIT4UJpFw5TVQSeXCpWpJ4AXgiJHQx93Tg9d16aizdCk3F01ySeCE9jov3vTbqyF fQJD9tQ+Y5GqweWR3ZRZl3yMM13qRpNjTngwYLRiQKbHbP7vsRLrX9wdKHLMRx5CAxBMyC ohDJZzj2iftnWRMmsV3o7UhIiI/2ZX1BRqo0oL3XNrqA73rRMJ3y61Z/x6Hw9w== 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 4ZhJ7N18GPz15kk; Mon, 21 Apr 2025 21:15:44 +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 53LLFiO5033301; Mon, 21 Apr 2025 21:15:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LLFi6M033298; Mon, 21 Apr 2025 21:15:44 GMT (envelope-from git) Date: Mon, 21 Apr 2025 21:15:44 GMT Message-Id: <202504212115.53LLFi6M033298@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: d6381193a3e8 - stable/13 - pf: improve pf_state_key_attach() error handling List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d6381193a3e8bf4663863510fd8af8396f4fdb07 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=d6381193a3e8bf4663863510fd8af8396f4fdb07 commit d6381193a3e8bf4663863510fd8af8396f4fdb07 Author: Kristof Provost AuthorDate: 2025-03-27 14:21:41 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 21:14:16 +0000 pf: improve pf_state_key_attach() error handling If we fail to attach the stack key that means we've already attached the wire key. That means the state could be found by other cores, and given that we then free it, be used after free. Fix this by not releasing the ID hashrow lock and key locks until after we've removed the inserted key again, ensuring the state cannot be found by other cores. Reported by: markj Submitted by: glebius Reviewed by: glebius, markj MFC after: 3 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D49550 (cherry picked from commit 8efd2acf07bc0e1c3ea1f7390e0f1cfb7cf6f86c) --- sys/netpfil/pf/pf.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index b5f872d40b02..363e678cbe24 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -1300,15 +1300,28 @@ keyattach: printf("\n"); } s->timeout = PFTM_UNLINKED; + if (idx == PF_SK_STACK) + /* + * Remove the wire key from + * the hash. Other threads + * can't be referencing it + * because we still hold the + * hash lock. + */ + pf_state_key_detach(s, + PF_SK_WIRE); PF_HASHROW_UNLOCK(ih); KEYS_UNLOCK(); - if (idx == PF_SK_WIRE) { + if (idx == PF_SK_WIRE) + /* + * We've not inserted either key. + * Free both. + */ uma_zfree(V_pf_state_key_z, skw); - if (skw != sks) - uma_zfree(V_pf_state_key_z, sks); - } else { - pf_detach_state(s); - } + if (skw != sks) + uma_zfree( + V_pf_state_key_z, + sks); return (EEXIST); /* collision! */ } } From nobody Mon Apr 21 21:15:44 2025 X-Original-To: dev-commits-src-branches@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 4ZhJ7N5g09z5t3Tp; Mon, 21 Apr 2025 21:15:44 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhJ7N3MZ4z3KS1; Mon, 21 Apr 2025 21:15:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270144; 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=apoen5/mhl7tUX9Rl+b4KGRIZqqa2cDm+iifBMik418=; b=xMZ6kI3ShBEh6tgiChObK08zHki/tE1zvtkBPsarRwTbjV5y8nVilYhTArDk9Qfl+mlGXj Q0LYf38x9Str3qSgSidiKyKlmnHubpRp/t8oM3uVuZIVNd4Hbea5G6W+hstg2Z6zKG5m4D KVTkS+emIQ+GizsQ2tFtUswbkpSXfRIu5I7hVLC+LsPQXGCn+9zPZ+YeB9u1UByLqYa6xx 4iNOIxa/LGY2i12q6QeglDY9fYZzSN/hyfeUtbQUCB//3F1CexwEOW0ksCHdSjuW1MkWUL tiDnITjhMtmufJoBgqSlgjbVX3foL8D7DwmjT4NvbXeR6ITSc3tv+vQMKqfuZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745270144; a=rsa-sha256; cv=none; b=HZ2zG/LOnI5AfooRo+kv2ESssNni604p2fIyET0wkgeqZfs/Bq3nOMapzftJy/+HWyBTlw riq4YRnLl31iIJ/95sIuY7XL35E2KdVQ/5zJE89aaNa3sJWeJEiGtdpMfRFKTY6e0Om9y4 D91nLMQ4LMm+PV5Mp4KxJCQm3JTAS3ZjXn+8gcpJkCwgaH05pbloXVGwXgtDLkffCrJYm7 6L52IcLxZCnBlxt4ccRuIX5vinTzkMzJJROen/3sY1jJ2/54SAj2cJEaLjklN65F+7RVFF 8Zm8YWkH6tjL2DzdiKb0L4G6NZbF+n9bEpa4JHwRkKDg2g2iySkiFpAmu+ClEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270144; 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=apoen5/mhl7tUX9Rl+b4KGRIZqqa2cDm+iifBMik418=; b=kDRLOI2O+71pYxL9Zz+APATAHhFMf6SM76pk6loq6llqOagNFbOXmHJJRz78QFAUfqDZHi 5H4r6R5WALZlC1ZHGkCuA9BuwPrUZohbYtLDKCQvYPJv7GN2gr9rF6fAhjyRxWCFu0w/5A iwcUyiHTC7wbiS7zcIHLMlz/vlmz4MQ8/aZctw6c/GWM522Mt47zBy922KzkmUFmAByNYg zWpWdZNGALqFCpdtXTz9iYiSqzkOWmlmHkltkSC+bH4SQfGxL6RT0cvi1EDbGABOmNylN9 V34/cCxlnqKF4+JJRre6JM3sBthW6QnBvhxzy9w+WGtm1ZvBApSdcTpivdIDQQ== 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 4ZhJ7N2ZqTz15kl; Mon, 21 Apr 2025 21:15:44 +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 53LLFihh033331; Mon, 21 Apr 2025 21:15:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LLFi8S033328; Mon, 21 Apr 2025 21:15:44 GMT (envelope-from git) Date: Mon, 21 Apr 2025 21:15:44 GMT Message-Id: <202504212115.53LLFi8S033328@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 8b9d1dc82ac4 - stable/14 - pf: don't use state keys after pf_state_insert() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8b9d1dc82ac420ee1c1f524861affef59c4d5ba7 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8b9d1dc82ac420ee1c1f524861affef59c4d5ba7 commit 8b9d1dc82ac420ee1c1f524861affef59c4d5ba7 Author: Kristof Provost AuthorDate: 2025-03-27 14:35:40 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 20:25:45 +0000 pf: don't use state keys after pf_state_insert() pf_state_insert() may free the state keys, it's not safe to access these pointers after the call. Introduce osrc/odst (similar to osport/odport) to store the original source and destination addresses. This allows us to undo NAT transformations without having to access the state keys. Reviewed by: glebius, markj MFC after: 3 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D49551 (cherry picked from commit bdea9cbcf2decafeb4da5a0280313efccc09e1b3) --- sys/net/pfvar.h | 6 ++++-- sys/netpfil/pf/pf.c | 12 ++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 949cb36ee474..2f7e4b913c91 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1557,8 +1557,10 @@ struct pf_pdesc { struct pf_krule *nat_rule; /* nat/rdr rule applied to packet */ struct pf_addr *src; /* src address */ struct pf_addr *dst; /* dst address */ - u_int16_t *sport; - u_int16_t *dport; + struct pf_addr osrc; + struct pf_addr odst; + u_int16_t *sport; + u_int16_t *dport; struct pf_mtag *pf_mtag; struct pf_rule_actions act; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index c962821b8acd..c74d2f5efadb 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -3472,8 +3472,8 @@ pf_return(struct pf_krule *r, struct pf_krule *nr, struct pf_pdesc *pd, /* undo NAT changes, if they have taken place */ if (nr != NULL) { - PF_ACPY(saddr, &sk->addr[pd->sidx], af); - PF_ACPY(daddr, &sk->addr[pd->didx], af); + PF_ACPY(saddr, &pd->osrc, pd->af); + PF_ACPY(daddr, &pd->odst, pd->af); if (pd->sport) *pd->sport = sk->port[pd->sidx]; if (pd->dport) @@ -5305,8 +5305,8 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, struct pf_state_key *skt = s->key[PF_SK_WIRE]; if (pd->dir == PF_OUT) skt = s->key[PF_SK_STACK]; - PF_ACPY(pd->src, &skt->addr[pd->sidx], pd->af); - PF_ACPY(pd->dst, &skt->addr[pd->didx], pd->af); + PF_ACPY(pd->src, &pd->osrc, pd->af); + PF_ACPY(pd->dst, &pd->odst, pd->af); if (pd->sport) *pd->sport = skt->port[pd->sidx]; if (pd->dport) @@ -8501,6 +8501,8 @@ pf_test(int dir, int pflags, struct ifnet *ifp, struct mbuf **m0, pd.src = (struct pf_addr *)&h->ip_src; pd.dst = (struct pf_addr *)&h->ip_dst; + PF_ACPY(&pd.osrc, pd.src, pd.af); + PF_ACPY(&pd.odst, pd.dst, pd.af); pd.ip_sum = &h->ip_sum; pd.proto = h->ip_p; pd.tos = h->ip_tos & ~IPTOS_ECN_MASK; @@ -9052,6 +9054,8 @@ pf_test6(int dir, int pflags, struct ifnet *ifp, struct mbuf **m0, struct inpcb pd.src = (struct pf_addr *)&h->ip6_src; pd.dst = (struct pf_addr *)&h->ip6_dst; + PF_ACPY(&pd.osrc, pd.src, pd.af); + PF_ACPY(&pd.odst, pd.dst, pd.af); pd.tos = IPV6_DSCP(h); pd.tot_len = ntohs(h->ip6_plen) + sizeof(struct ip6_hdr); From nobody Mon Apr 21 21:15:45 2025 X-Original-To: dev-commits-src-branches@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 4ZhJ7P58SBz5t3Zb; Mon, 21 Apr 2025 21:15:45 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhJ7P3V8qz3KGg; Mon, 21 Apr 2025 21:15:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270145; 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=zq8HKffLEXrkZF6uqI6EuIDdT40dSQ3Jem4IrG2COoM=; b=WiSTX4K0x+uroDXTSuM6UhMgRWoN2d4pMklyYTdBS/kSlRaGqiKlyLRSUQNJtFdbX0kgbE /xH3KvfhHzAYOi8wkqHcq+mfhth9UXFaFffRf5fJXQpw12lD5BWOmTMmnWhEN7rjGiyV6w cIGlgDhlrhFZN2luD3iE600CDhhOGAYKpYzs6xzxHjiDRgyTZRAXIr82wtCNwQ1dhbkojv iRntLTqF2po99d/ST5h1o80cZrwGluDCgCpHKBy481IKR34hqKZ3DmiJZqGGYTxQ1wWFu2 dSZiKK5tpO/YVBq+afF4UDEujw8OBZtT0PDY67y9ypHbXnWalkMZJ/hXZoJjzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745270145; a=rsa-sha256; cv=none; b=m0wz9MPWWKoaBeiX3wvVx7Qrfs6JkZGm++YatQyLnkHPicKM6OVnajeK+jWhlEXSodLOX5 JmJSiH4XplSmJU0y/Ac5swQeRNr4d6VLHVRhoiCLJhX+FIaMl96GqekKdf3j1UIZII8e2Q hOjxLoESahMXkX+PvkUu+hf8rgeCpP7PinLQbZb7vqVI9klngXAp62rKGTX2PjobHzAAab YDqd/B/+vvIYQDZOak5PBIVzbQwc4smf1QueMMdS/sY7gQWrRwVOXj23ila7bPegs5HHxK mQ+jlfnpyjYpBmxISjKjlyCAvLsUsJ5FCmsNtm0XjO9d4SeOJWhLmuU4xvl9EQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270145; 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=zq8HKffLEXrkZF6uqI6EuIDdT40dSQ3Jem4IrG2COoM=; b=C0JeYmFSR+APLbu/2RiAlwvcnEJQtZHpHjJGDp/Mlot0/PbwGlrtc0OpNMRgs4e18pxM4v XdxIwLV4i0tfNeg2UncRQmBn3WMg/tMSRm8QvR28ndCMcih55oFQ1AQV3kakG/Wjb5AdHK 6TtRnwQwT88g2d6eFKLFjArSWgsTyAPo+KvKNM84mD4nj/JXFll+hPeBJoUtuhOaPOFMvv vHwlLP1suqMdsgKbJ9Ydfj1nFOwYU8IzVWlF3G19EQ0ARWV36nPJVw77Gox+qEIdjK1SQW WYUel4KwmufN/m2xxjtwa9ICYbWwoN4rPFNiIKK5nylMAUIjCuRedHHCBnbvIw== 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 4ZhJ7P35Zrz161x; Mon, 21 Apr 2025 21:15:45 +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 53LLFj4f033401; Mon, 21 Apr 2025 21:15:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LLFjcP033398; Mon, 21 Apr 2025 21:15:45 GMT (envelope-from git) Date: Mon, 21 Apr 2025 21:15:45 GMT Message-Id: <202504212115.53LLFjcP033398@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: b89bc49a6348 - stable/14 - pf: explicitly NULL state key pointers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b89bc49a63483bdb0617c2fcebeb2faf2565e994 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=b89bc49a63483bdb0617c2fcebeb2faf2565e994 commit b89bc49a63483bdb0617c2fcebeb2faf2565e994 Author: Kristof Provost AuthorDate: 2025-03-27 14:37:59 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 20:25:46 +0000 pf: explicitly NULL state key pointers After the pf_state_insert() call we may not use these pointers again. Explicitly NULL them to ensure we don't. Also NULL them out if we free the keys directly. Reviewed by: glebius, markj MFC after: 3 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D49553 (cherry picked from commit 592418343348bcf4355c249f53cff89ed90ea1f5) --- sys/netpfil/pf/pf.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index c74d2f5efadb..8201d3e24db7 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -1629,6 +1629,7 @@ pf_state_insert(struct pfi_kkif *kif, struct pfi_kkif *orig_kif, /* Returns with ID locked on success. */ if ((error = pf_state_key_attach(skw, sks, s)) != 0) return (error); + skw = sks = NULL; ih = &V_pf_idhash[PF_IDHASH(s)]; PF_HASHROW_ASSERT(ih); @@ -5064,6 +5065,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pfi_kkif *kif, action = pf_create_state(r, nr, a, pd, nsn, nk, sk, m, off, sport, dport, &rewrite, kif, sm, tag, bproto_sum, bip_sum, hdrlen, &match_rules); + sk = nk = NULL; if (action != PF_PASS) { pd->act.log |= PF_LOG_FORCE; if (action == PF_DROP && @@ -5081,6 +5083,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, struct pfi_kkif *kif, uma_zfree(V_pf_state_key_z, sk); uma_zfree(V_pf_state_key_z, nk); + sk = nk = NULL; } /* copy back packet headers if we performed NAT operations */ @@ -5294,6 +5297,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, goto drop; } else *sm = s; + sk = nk = NULL; if (tag > 0) s->tag = tag; From nobody Mon Apr 21 21:15:45 2025 X-Original-To: dev-commits-src-branches@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 4ZhJ7P58GHz5t3Tq; Mon, 21 Apr 2025 21:15:45 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhJ7P2pqxz3KVV; Mon, 21 Apr 2025 21:15:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270145; 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=l9VoUNZb6YF1NUuhEnqMMd46PrrdlP/oyka2Um92ohA=; b=EeS1LtdDD/7DfFcwQgziXSPM089ecyvjCn1zY14Cg1ctlCz8JnYgVW7PAVF+15C4Xo6oMP y+56g8deHr7dF1gjfdoR8w8YR5XB9qd/A5LobOSzcPsXes6r76iPcw2HLRUPzk5l9r2Oqx Ya4swwu7NDPP6aCwquQNgEB5jo/zAgjskZYhiiSND20KGe19APN5zMTMLNHz9bmn+WPfhC pSSVfsbV+9q9++X8yceAKHR4bkMw9smcccHiIURS90mbCRslQyrslBLe9v/9yvJQg4q7Sa w5lkKT/dsSWAxZ1/66NmYMO5QVrr16J2lSskYxS4D/qDRFMayfDVFeb20cM6nA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745270145; a=rsa-sha256; cv=none; b=O+fD848C/O1eYbOaYtJXMjG7DnbtGfBu8LRx3/GDwVbAdwEWGHZs7s+vUch/lG1fPoUDcF sp0haoqkcgMlEw1yxWpnZBgt1viR1iwDihmr2xi3Zc/pM9yY0b6OSCtFQvafUOoK3nGftG ivp+qMiH3n/pI0/J1t1HT6aUt1WjbWvKA1ViYLiyFl6W8HrPKbDcJgvLlhN1rhMcVg0OXB e2bInXI2d+vy2p9pBhdvoYFXSLfrx0or8Oi6gOyUssdMcLnTlNitdcqMWAxtJEiS2OM+mf Azwir9Dvf4Mgt28D7kzc0P+f3jxdwZO/V9ewctL5uEBA5hsjLWDfj+/ja+f9cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270145; 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=l9VoUNZb6YF1NUuhEnqMMd46PrrdlP/oyka2Um92ohA=; b=rwOU9YxLMHmUEvCbMf7nRmm/EySNdXaP+MVf04/Yn1xWG6GMQdTekBfTWUo3PAD9MxvaXL ml3sX4ABhkuyE427k/2K6yixfHUmvNrQ68AOBs9Gt5UDf4jIiVI8MGLk4RKuG5i7t0Obm5 sgmgMVLKZCmMbq/trKKPqCOs9vRhvQdKfzfwq5DG/j7Maw3VN3skcmqVNEa51A1d1doaj1 wHV9TzXm5vzi/W21tx8BbaW+PjSdoECRR5+hG9xWCf51iV+Duu288EUThOgs+FjwcTPPok 99XodhHxADZxV8BzPvv/9o7UqCKJzEk+PGr+VFUeEoycbQmLc5B6dGsx9Tczmg== 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 4ZhJ7P28y5z15YH; Mon, 21 Apr 2025 21:15:45 +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 53LLFjhc033371; Mon, 21 Apr 2025 21:15:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LLFjp1033368; Mon, 21 Apr 2025 21:15:45 GMT (envelope-from git) Date: Mon, 21 Apr 2025 21:15:45 GMT Message-Id: <202504212115.53LLFjp1033368@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 7161339bb5e9 - stable/13 - pf: don't use state keys after pf_state_insert() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7161339bb5e9feda4e63c5903314fc17ea1e5319 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=7161339bb5e9feda4e63c5903314fc17ea1e5319 commit 7161339bb5e9feda4e63c5903314fc17ea1e5319 Author: Kristof Provost AuthorDate: 2025-03-27 14:35:40 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 21:14:16 +0000 pf: don't use state keys after pf_state_insert() pf_state_insert() may free the state keys, it's not safe to access these pointers after the call. Introduce osrc/odst (similar to osport/odport) to store the original source and destination addresses. This allows us to undo NAT transformations without having to access the state keys. Reviewed by: glebius, markj MFC after: 3 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D49551 (cherry picked from commit bdea9cbcf2decafeb4da5a0280313efccc09e1b3) --- sys/net/pfvar.h | 6 ++++-- sys/netpfil/pf/pf.c | 12 ++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 66bdbf43e212..e2db4f8f5c3a 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1307,8 +1307,10 @@ struct pf_pdesc { struct pf_krule *nat_rule; /* nat/rdr rule applied to packet */ struct pf_addr *src; /* src address */ struct pf_addr *dst; /* dst address */ - u_int16_t *sport; - u_int16_t *dport; + struct pf_addr osrc; + struct pf_addr odst; + u_int16_t *sport; + u_int16_t *dport; struct pf_mtag *pf_mtag; struct pf_rule_actions act; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 363e678cbe24..8306b400b1d9 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -3397,8 +3397,8 @@ pf_return(struct pf_krule *r, struct pf_krule *nr, struct pf_pdesc *pd, /* undo NAT changes, if they have taken place */ if (nr != NULL) { - PF_ACPY(saddr, &sk->addr[pd->sidx], af); - PF_ACPY(daddr, &sk->addr[pd->didx], af); + PF_ACPY(saddr, &pd->osrc, pd->af); + PF_ACPY(daddr, &pd->odst, pd->af); if (pd->sport) *pd->sport = sk->port[pd->sidx]; if (pd->dport) @@ -4697,8 +4697,8 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, struct pf_state_key *skt = s->key[PF_SK_WIRE]; if (pd->dir == PF_OUT) skt = s->key[PF_SK_STACK]; - PF_ACPY(pd->src, &skt->addr[pd->sidx], pd->af); - PF_ACPY(pd->dst, &skt->addr[pd->didx], pd->af); + PF_ACPY(pd->src, &pd->osrc, pd->af); + PF_ACPY(pd->dst, &pd->odst, pd->af); if (pd->sport) *pd->sport = skt->port[pd->sidx]; if (pd->dport) @@ -7499,6 +7499,8 @@ pf_test(int dir, int pflags, struct ifnet *ifp, struct mbuf **m0, struct inpcb * pd.src = (struct pf_addr *)&h->ip_src; pd.dst = (struct pf_addr *)&h->ip_dst; + PF_ACPY(&pd.osrc, pd.src, pd.af); + PF_ACPY(&pd.odst, pd.dst, pd.af); pd.sport = pd.dport = NULL; pd.ip_sum = &h->ip_sum; pd.proto_sum = NULL; @@ -7974,6 +7976,8 @@ pf_test6(int dir, int pflags, struct ifnet *ifp, struct mbuf **m0, struct inpcb pd.src = (struct pf_addr *)&h->ip6_src; pd.dst = (struct pf_addr *)&h->ip6_dst; + PF_ACPY(&pd.osrc, pd.src, pd.af); + PF_ACPY(&pd.odst, pd.dst, pd.af); pd.sport = pd.dport = NULL; pd.ip_sum = NULL; pd.proto_sum = NULL; From nobody Mon Apr 21 21:15:46 2025 X-Original-To: dev-commits-src-branches@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 4ZhJ7R1GZFz5t3Zd; Mon, 21 Apr 2025 21:15:47 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhJ7Q4QqYz3KS4; Mon, 21 Apr 2025 21:15:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270146; 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=OyAJojc4gUkYqa2U19FFn/XKJM0xH62KqOhKgTfhCmw=; b=HCf8r2V38DbraLUbt3bJfX+IBxfEByIiDg6+TMljEFGkRWY6I9w88Em9wq1fUItS0nyFQ3 UDKIGLnPe2uWWbfskyUBLH7SOU+5aHj7Y3rBjdUqQhrFqx9egr6TWt6Zq6bKiY/5ourGFu sR42Xmu+RJGJx+2XzJc4htE9SVUWPavCtMMmFG3kDE77nTzRqcwOWNwat+uFUBfS6Qzcst MsV+7676OvSTEXy8J+kiPquQNzjc8wwQzLWjixxdtiUYBRRrgkLJM9HG8U4ruYPaK7BN7f IFCrtyf+a41X2RkR7zDE94j2t1c8OF8mid2iuuZsq772JZlUmBvRX6rGY4jSNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745270146; a=rsa-sha256; cv=none; b=ujmXCYT9gji9gKtI3hy5h9n5zNwKqfu92zhCNoKYT1BUnc22hauz1St3Dn52cgsfryUOfE 3eY8FPUOnX8J5HhRvzRuBVo2kTBqJixtv1cOA6vTNjvV/bMakmzskziD9vMFgHg5eipkqG n0m8hR1ZpUqTq55jYUWOuD88kApe15AxE6RIbw7KPvqkb5E6yDcu7p2PRRdjKLpvREAK9v YW3y4iMdFK4b0okYkUwTrtaIaXYfrsCRWnDl3DYdWkOP0ctZB/Z17QBn0F8epTKhbZ8FqS jvMzt1ibhNjd4zEbcGP6t05ppB7Ds+9DeC5/PZfeRwcqCuSqrXWnmhx9pXlPig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270146; 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=OyAJojc4gUkYqa2U19FFn/XKJM0xH62KqOhKgTfhCmw=; b=CV1TdyaQXZAVY3fzb+hDVgFK17a1SPqMsnHi7xYa+cR4S7J8XaT2YiIZKEHbF6lQvTZAoE aEF69oCcBCI1fDaoFk2XKoCnSt9qPD9kOTl4g2E7ZE3CIDQaxIZJ0TvRV/cfv3T7HS1emE JH0oehuB9iZLN42D3Fvdujl/QdM/33bEQ68srEZ5dGn0AFiE5cX+yEf3zuEJNx1UfZyTYC 6bjzCAqP0g0QlaaHW1C2PIlzksb9hD7gHs5JEVhjEi+5tapDWqZ1TKm7ob99vjS9WKNDf+ duxapK/KcDA4zqajaROY12jYOyI8IBJF+5aP3zRxDbYvIXdDs6f56kHp8Y8Lmg== 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 4ZhJ7Q3yg7z15qq; Mon, 21 Apr 2025 21:15:46 +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 53LLFkIp033465; Mon, 21 Apr 2025 21:15:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LLFk2E033462; Mon, 21 Apr 2025 21:15:46 GMT (envelope-from git) Date: Mon, 21 Apr 2025 21:15:46 GMT Message-Id: <202504212115.53LLFk2E033462@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: a60eeb4331e5 - stable/14 - pfctl: fix crash on "pfctl -a '*' -vvsr" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a60eeb4331e5ee63f66e2458a16aae186168923f Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=a60eeb4331e5ee63f66e2458a16aae186168923f commit a60eeb4331e5ee63f66e2458a16aae186168923f Author: Kristof Provost AuthorDate: 2025-04-14 16:41:00 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 20:25:46 +0000 pfctl: fix crash on "pfctl -a '*' -vvsr" When printing a nat anchor we don't have rule information, or rule counters. Do not attempt to print them. The information is nonsensical anyway, and this can cause a crash converting the timestamp to a string, as years in the very distant future use more digits, and we exceed the 30 byte buffer allocated for this. MFC after: 2 weeks Sponsored by: Orange Business Services (cherry picked from commit 168d873ae41fd8bd40555322a79c9f215cb4cb9c) --- sbin/pfctl/pfctl.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index dfc473f21566..ddf450a5d052 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -1452,7 +1452,6 @@ pfctl_show_nat(int dev, const char *path, int opts, char *anchorname, int depth, } mnr = prs.nr; - pfctl_print_rule_counters(&rule, opts); for (nr = 0; nr < mnr; ++nr) { prs.nr = nr; if (ioctl(dev, DIOCGETRULESET, &prs)) From nobody Mon Apr 21 21:15:46 2025 X-Original-To: dev-commits-src-branches@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 4ZhJ7Q490cz5t3Tr; Mon, 21 Apr 2025 21:15:46 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhJ7Q2x0gz3KMN; Mon, 21 Apr 2025 21:15:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270146; 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=wOkBv6d/y7+QH+BmNa+xtdhhw0BEoBvJ+e8JUOsPRno=; b=QmWvcu2OY/0GxNSys9rYBboeNwhEKvRpXINL4vvlsBseawdvxfLBLpNUXKsrwtJS5Cic93 YLMxsN2E4qC4OgfjrtGvSgT3fABMC2ezCTQhCTQMUVIppEH0hFncbkbdt7suCoMKI0urNO 6lczWOvqpIwWft2xSL/fWEB5V6JtXqzmA1IqDsf/rvh6NupU8+h/Bka4v5KLEIRaHsETPJ 94KbE/hpykpINnf4DqcFcUDbkIAJmuCKppjKOXV+/zCK+luDBC7hnl0YgE25yEP8sCUhWK qmnNWaZwoIXulcMsR4BQuq6YddxBXcJX/Rhx7DM1Ckfosufvv8iqMD99YNhQ6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745270146; a=rsa-sha256; cv=none; b=NEYgEIW2PtP8pZKwAYdI880EWJ3VBzM0yXSP5QrGzH3KulNpjNPXEfLfloXfSwkhO0PZYd mdZow38aW+y3S9hoFOB4G5IOxAnGr0x3Qv4rqTM67v+ZJZcpFH9E3fTCDqfogBoA4rbiY8 GE4ZTa3ezXBNY6SW9BekuVbhoXE2+63YcHqTySzQZL3vSVAvBN8tV6SgkOXkgLXRYEx535 MFD8OnB1IdK+WB6GKT0q2LLnZt/6qqqtlZq9Ml6cmzS3MsQzxNTlTOmCvgbQmLO5A4l9K0 Yn0Ybpu2tZU40Hr6pxMO0b0x6n61h6xGcPaK+5RRUJvnmsUx4BLmGWmLeebP3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270146; 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=wOkBv6d/y7+QH+BmNa+xtdhhw0BEoBvJ+e8JUOsPRno=; b=HiDlSo82j6VllL3kdrRdx+Yzwa8Ts1XdQdlTJXy6r5hN46AsCRp1NazMKm0PnYD37uD/9a vg5CS3CfJzlCLZfdaFI3BF7mrNGxIi2FXngTsBikHcFjY2PMFce/gWCFM5f30hwDmG83Kn S8kfwb8q0XAmfYwVyhHVfrhNAcwKmHpxnGwYUhisqKQzBdMlUUbZSmC6lF72hV4R1SODqP hX0DYGhMTjVTX94hRufkxYYkacoBwszAypDSEY5FF0V7mF+w8TbvN91lQHP8pfoJqBO5cG S/fA8C5peqr2fUKY7Y+CSrJ8LK1pvg6QT8dwivVWs4+hJMpAeLWNcAovmjNC9g== 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 4ZhJ7Q2XgPz161y; Mon, 21 Apr 2025 21:15:46 +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 53LLFkix033435; Mon, 21 Apr 2025 21:15:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LLFkO2033432; Mon, 21 Apr 2025 21:15:46 GMT (envelope-from git) Date: Mon, 21 Apr 2025 21:15:46 GMT Message-Id: <202504212115.53LLFkO2033432@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 4df4b69530c3 - stable/13 - pf: explicitly NULL state key pointers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4df4b69530c34122775ce77945002c745f395651 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=4df4b69530c34122775ce77945002c745f395651 commit 4df4b69530c34122775ce77945002c745f395651 Author: Kristof Provost AuthorDate: 2025-03-27 14:37:59 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 21:14:16 +0000 pf: explicitly NULL state key pointers After the pf_state_insert() call we may not use these pointers again. Explicitly NULL them to ensure we don't. Also NULL them out if we free the keys directly. Reviewed by: glebius, markj MFC after: 3 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D49553 (cherry picked from commit 592418343348bcf4355c249f53cff89ed90ea1f5) --- sys/netpfil/pf/pf.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 8306b400b1d9..1cf8d9b8e920 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -1567,6 +1567,7 @@ pf_state_insert(struct pfi_kkif *kif, struct pfi_kkif *orig_kif, /* Returns with ID locked on success. */ if ((error = pf_state_key_attach(skw, sks, s)) != 0) return (error); + skw = sks = NULL; ih = &V_pf_idhash[PF_IDHASH(s)]; PF_HASHROW_ASSERT(ih); @@ -4473,6 +4474,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, int direction, action = pf_create_state(r, nr, a, pd, nsn, nk, sk, m, off, sport, dport, &rewrite, kif, sm, tag, bproto_sum, bip_sum, hdrlen); + sk = nk = NULL; if (action != PF_PASS) { if (action == PF_DROP && (r->rule_flag & PFRULE_RETURN)) @@ -4485,6 +4487,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, int direction, uma_zfree(V_pf_state_key_z, sk); if (nk != NULL) uma_zfree(V_pf_state_key_z, nk); + sk = nk = NULL; } /* copy back packet headers if we performed NAT operations */ @@ -4686,6 +4689,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, goto drop; } else *sm = s; + sk = nk = NULL; if (tag > 0) s->tag = tag; From nobody Mon Apr 21 21:15:48 2025 X-Original-To: dev-commits-src-branches@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 4ZhJ7T0qmYz5t38s; Mon, 21 Apr 2025 21:15:49 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhJ7S5b6Dz3KPn; Mon, 21 Apr 2025 21:15:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270148; 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=2FWPqcDxgqh6Rysl4mPDy0/AqSA2/3/fHywh7RbE5VM=; b=lb7AHIU5HSzfwjRSkgxQ9tKyCrkS4+EXGUEBpNxha9ccFPfzBZ7el3gZf1bRj/eGFWvWet NAmABXEJtQnBKt+fdhAJYIHJSG5Bpw8cwfE+d678iRKPVPFJLYlEP//jzexla013lug/F2 fgYY4hkjT2EEVyHVnbUppj6OVXTgOArfJyR+PHftqJitnLNG6Xjh7vHTh/xKsUNCrULrGM vXa+GVzzlNxEWk5J1MQWHTOVrnS95V34/e0s9yK4Epl8zDjaKF/cPfyz9JM7/+ZuIWQ3Wp lr/AvtpZaVzCLP9MDK2QIplrKQgLQtd+YBr7Q9dZYudyeaEFJil9fD2QNLzQ2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745270148; a=rsa-sha256; cv=none; b=vHjhrhfpFHOGVzSm+vmJby8eTilVNjuSSvIDp2rSyu2PXMUsAGRxinoUZ4nEgX2NMwKvs8 yNpgF+x9+OsQnJ6HMqWfBkctoe+oqu6asHO2jqF1vrt4qmI0wuvEJ5QhTKs/x3hM54jNl1 HsKjv40D70MrtrdMGbCUa49BOMJOccqRyc8vBCwM4YGy0DI+KZAQtZ9fVf1YhVqGbTLrAN fuUA0CV3zuPgNrnX6+5NvezL02gsEGCQ1ueJB0x4OEU0jwjGCt7oohXFcJmp5A+VIHadyR ExMflWGC+JnhSRfDLf7wr+jYndnVC8iEKehAynNlIq3GS2nCEa387CKIrE/exg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270148; 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=2FWPqcDxgqh6Rysl4mPDy0/AqSA2/3/fHywh7RbE5VM=; b=aQ4J3BoubzPea0btzyqFUs3+aJ3/n5gBEbGgQrG0JxUYPv/0vHFxYvhzHIi0NUu2vfLtba JOgAkrUZ7gqsLW8osHZUe6Rh0phIFMCuzovbu0S/HJf34/Tt1ESIyzaAvvQcMH42fOUpxk FRbz0VeDFr36sJ3oPiTSs8bvQT2q2bXyWRFZ2sPfQ/7TrlC9kMLaiB9tbz4KntAIzv91Cj x21cOn/lSq0El5IqekRb83TxoDmvV5JggE4KRnhS7aWJSzgPzK3feGUHcLmu1HJUDEFIII sNN/dfEFjhs7hNBivPrqWLfcEghIp+4Yj1ysHGYmrWtpWss5M8Ko4//gNq8S8Q== 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 4ZhJ7S4MgWz15YK; Mon, 21 Apr 2025 21:15:48 +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 53LLFmKM033561; Mon, 21 Apr 2025 21:15:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LLFmTk033558; Mon, 21 Apr 2025 21:15:48 GMT (envelope-from git) Date: Mon, 21 Apr 2025 21:15:48 GMT Message-Id: <202504212115.53LLFmTk033558@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 5b182c68c0f5 - stable/13 - pfctl: also remove incorrect counter print for rule anchors List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5b182c68c0f5d7cf65933b75157d9c363f7a9ee5 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=5b182c68c0f5d7cf65933b75157d9c363f7a9ee5 commit 5b182c68c0f5d7cf65933b75157d9c363f7a9ee5 Author: Kristof Provost AuthorDate: 2025-04-15 11:13:50 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 21:14:17 +0000 pfctl: also remove incorrect counter print for rule anchors Just as for nat anchors we can't print counters for rule anchors. Remove the incorrect print call. MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 0fc3c29fb3dd6ab6436a78c502544ebf2cf63ee2) --- sbin/pfctl/pfctl.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index e285bc466bc3..05e524d8df5f 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -1077,7 +1077,6 @@ pfctl_show_rules(int dev, char *path, int opts, enum pfctl_show format, } mnr = prs.nr; - pfctl_print_rule_counters(&rule, opts); for (nr = 0; nr < mnr; ++nr) { prs.nr = nr; if (ioctl(dev, DIOCGETRULESET, &prs)) From nobody Mon Apr 21 21:15:47 2025 X-Original-To: dev-commits-src-branches@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 4ZhJ7S0h25z5t32C; Mon, 21 Apr 2025 21:15:48 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhJ7R5WYcz3KK9; Mon, 21 Apr 2025 21:15:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270147; 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=wHaA6yGXVu8GDKVc6Yeq7sfWZBG8yNiNCQ9dAmKZYEc=; b=D231RWqtQSeWrGwQxfL2EgAoEKfk6lc7sJLSCCqquyKIA9dPRvnp4r1laM4SjsXstDKD8J EeF6XJP+Sv8C990XHpdJnOI9lOzDuksvs5oWr3n73piBiuzcas0yLFxDrA9ZHscNV6VthB uBCKYgPsEU+s/mKtib3fQktR1OHKkcZOaE/0SRstEtOj16wswz/AAWITlWuhQtcKNjZlZ3 EW3T9d8IGjalPKqcDt0Sb3CDyLSM+zXXNWSJlTG3sDmHu1F/ZaSTRCFxOfzu8htIZF8I8A RLYeqcxxgMMYhke95kFUuwPb16PiMeXZh+OJilRSRhd/yHbz53H/TWx+MHfC6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745270147; a=rsa-sha256; cv=none; b=MO8bOO99zcOgzvUPpnCPgsW8wfTxKr7YLg+aY1ciUj0pYw++X8aGyRcRH0RWvIUtmN8G0S IBU9orFHflPUBt1G4S62B/JCDINYe4U9erfk5PoZmja1xVjm04lsTivAATu/t/6kYNmI0V 4ovB2ftWBZnl0OVYmZnTABYBuwDvUJ24LX0YOVlHa/MS/lh3sxQBfKXbuZ4A3g2KdmVzHo 1+G80GtauuAWpHpBD+yvypA8LPOe0bs774G87eO9Ex1CRfShnSr51IAEytae060dQRyyv0 04u9EoIgyfsIq2T/PCm2NP/G8WqQICfi6zogQpMOMzKlHrC0HcCHihtM70u8WQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270147; 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=wHaA6yGXVu8GDKVc6Yeq7sfWZBG8yNiNCQ9dAmKZYEc=; b=eQNppvPJV0Y4z3zAs+nyN0yzCuzo+hVcKptqAWrKH7j6VfaLIQFa3+MrYClZEkf4Lj767V jDKdRsG0jL2UH75BAAYZSUzWsI6U0OAu4vx9JWXsecftqeRQbrGZtCApi1Fa1OuZRIrvcu mEVcpRslmD4a/q47a2SvyU/nBS0sfrc7NlCeVerDhIltWEKxGFq0Q0W4ihWB4HjyBrenpq zI65hDQPyWuk7DRXArntP5ACBcBvDeMRCtFQwSDws/dNDh46sJGUsSWKFm6SOruIkva995 wAdcBEgIzOEXEuIZzSPcizrrIwn0M7UdPQ4vE/eRtzf1SCT0eY9Mziajn8k8Vw== 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 4ZhJ7R3VRdz15qr; Mon, 21 Apr 2025 21:15:47 +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 53LLFlLw033498; Mon, 21 Apr 2025 21:15:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LLFlaB033495; Mon, 21 Apr 2025 21:15:47 GMT (envelope-from git) Date: Mon, 21 Apr 2025 21:15:47 GMT Message-Id: <202504212115.53LLFlaB033495@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 35a83d58bdbe - stable/13 - pfctl: fix crash on "pfctl -a '*' -vvsr" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 35a83d58bdbeae4e823710924a7e64fa00e64547 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=35a83d58bdbeae4e823710924a7e64fa00e64547 commit 35a83d58bdbeae4e823710924a7e64fa00e64547 Author: Kristof Provost AuthorDate: 2025-04-14 16:41:00 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 21:14:17 +0000 pfctl: fix crash on "pfctl -a '*' -vvsr" When printing a nat anchor we don't have rule information, or rule counters. Do not attempt to print them. The information is nonsensical anyway, and this can cause a crash converting the timestamp to a string, as years in the very distant future use more digits, and we exceed the 30 byte buffer allocated for this. MFC after: 2 weeks Sponsored by: Orange Business Services (cherry picked from commit 168d873ae41fd8bd40555322a79c9f215cb4cb9c) --- sbin/pfctl/pfctl.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index b7d5bf9f2819..e285bc466bc3 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -1274,7 +1274,6 @@ pfctl_show_nat(int dev, const char *path, int opts, char *anchorname, int depth, } mnr = prs.nr; - pfctl_print_rule_counters(&rule, opts); for (nr = 0; nr < mnr; ++nr) { prs.nr = nr; if (ioctl(dev, DIOCGETRULESET, &prs)) From nobody Mon Apr 21 21:15:47 2025 X-Original-To: dev-commits-src-branches@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 4ZhJ7S0h1Mz5t38p; Mon, 21 Apr 2025 21:15:48 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhJ7R5VmHz3KMV; Mon, 21 Apr 2025 21:15:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270147; 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=Kx+kIysLXQhGKkQCBBianEUOkSLysvmkXojcLykc2WU=; b=GX7kd0nDgC11bgJYaz1JkI7MwxWPonWDDrIb6TyahYfU3XLxPuamzt8z4nmdDfiiygNwmc 8IqTE1JOJE0zS7V9mUumQ3XoSNzyF7L6ybo3z0ne2qhRH8403gRA05rdUjuB8lFleXlEVC /W7rVuqLPy0kTGsQS29KdxJ1+peSWYkxEpCssDzeQy/Q3JpoKuwhDdcRhgcc2cnALNnMxT elG6zHWORx/N0i2UXvrVX2CaYzGK4O8h9Xzyg9zxUDBQzhpLPhPdJHuTzH307Ppl9oQHXI 1DM3zmzjUyu6XTCumtjRND6BfY07JyPhLUo74nFqKXU9IVnF5dw5lJdJGcjDiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745270147; a=rsa-sha256; cv=none; b=yjjra/kv/rX+07iL/4fDo1e/fcCDb1XOGRM8wX725//gRsYVDOCYrZ6Qzc4xIj2+B/MuTI lCBBgA9zHkmR76WYeOWQjBfeU2/yrr4AiYxnUZ4F9e1bCjjBM+PSTMoXAn+N7hVj5t4Wjw qQ0rHoHLqGx42prA2+dm6+iHCSZih5fgpdIlJR+4p/WBlU8unQ+Ebcn0nc0bLTrR8laLtq gydeQ3DwgklP5WcrqCuEhfgYGCLYTZyjEKLk3TOfpyCCc58agxBUs7zcdhIVCUE9i22t6a ImQ6aQbxKOi7+bgfBiOFJhZqjOqgW0FxIYonR+g4H6UKxAHTee8lY5OTi4WmhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745270147; 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=Kx+kIysLXQhGKkQCBBianEUOkSLysvmkXojcLykc2WU=; b=lys6spaUU0vflSxve/PBPJ/NNFjGlq3UmZnzyEbtfWN1mhaM9BGBiSZxFMPrLam0HZ7AVm jCHnxxXQak/T9hFSA8zeIrqWUQ+EcMEnpwsTbsL4hLhBCQ+GvHugrolVWDgJ7WC98dsM8t Ru/FsETtl2WmZF7Agz+BBi8t9rN4c/d8RvIqJJ9tgAGqOZ/z6pFYpyRp2wFSA3CsdMueFJ Ih+FchD18NZYI/1y8EMikR2SNTGzHxixQv0Sv+KNS93UVgE6dyKyeEvmGXbEgcNerSCln8 hzRGItw33GowDToiOEBYWi/I+iOmlcffyKc9uPGFc9Q7JG5mayFrgjygijfBjg== 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 4ZhJ7R4vqcz15YJ; Mon, 21 Apr 2025 21:15:47 +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 53LLFlVc033528; Mon, 21 Apr 2025 21:15:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LLFlHN033525; Mon, 21 Apr 2025 21:15:47 GMT (envelope-from git) Date: Mon, 21 Apr 2025 21:15:47 GMT Message-Id: <202504212115.53LLFlHN033525@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 461b79d8ee58 - stable/14 - pfctl: also remove incorrect counter print for rule anchors List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 461b79d8ee58fadda788dbf49896bdd027598596 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=461b79d8ee58fadda788dbf49896bdd027598596 commit 461b79d8ee58fadda788dbf49896bdd027598596 Author: Kristof Provost AuthorDate: 2025-04-15 11:13:50 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 20:25:46 +0000 pfctl: also remove incorrect counter print for rule anchors Just as for nat anchors we can't print counters for rule anchors. Remove the incorrect print call. MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 0fc3c29fb3dd6ab6436a78c502544ebf2cf63ee2) --- sbin/pfctl/pfctl.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index ddf450a5d052..d6bb0ae7f46f 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -1255,7 +1255,6 @@ pfctl_show_rules(int dev, char *path, int opts, enum pfctl_show format, } mnr = prs.nr; - pfctl_print_rule_counters(&rule, opts); for (nr = 0; nr < mnr; ++nr) { prs.nr = nr; if (ioctl(dev, DIOCGETRULESET, &prs)) From nobody Tue Apr 22 03:18:59 2025 X-Original-To: dev-commits-src-branches@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 4ZhSBX42x5z5tSd2; Tue, 22 Apr 2025 03:19:00 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhSBX0XYmz3bqK; Tue, 22 Apr 2025 03:19:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291940; 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=qSK3b35l88ks5SYzfzdrNRpKKf43FJkvLlHPYnE3yEk=; b=gcTTC59kLUJqYn4lISZEbSj3rOc+lakScOSAukrs2gZVcWi+GodLFtDQL58d/Rrzam73RF fsSEbtuOwn8qT3BqeXzKebqSpXJD+GsSKHKn/SRQOgmfvvjRIzNH3eNf8m4DOfZiV+GbWg t1x2TDyD+ldmDxwteqzVmXDL2h2Ns9B0HKU51hEaJFiegTEKyiDrYJ710olVQFApQYz2r3 Bsny5dOMPRDxuXno36M8q036e1XK94LnLK1YPBtvY4oiHx5qgWnsM4NPpVwtZDlHaQQaVf xJhUkxR88MrGN/7exO2PvP0epxe5Z+f522qu3ZOBS8I+qsgVP0Kvbm1VzLEkxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745291940; a=rsa-sha256; cv=none; b=eD0WnSORYON2WBrHfWwEbXWvoIX3JT7NUT2QbM1/De+Nk2t/7PY4FCdKPuBRRdlkbk28x7 PtCnQu0RqOE9F95T81FcvOL1zjyDxOpPNVD7QMazwQTSuhfMOdsP20dKtUIRltuD8OO4v0 RAgQPMTY80FYQSOpbm4Flfa/Iy7A5u+QC/RJ02Qw4dAT4gXBfd/MSvxeER9B46U8NKTbrQ /it7sqTzSP7YN68d6mD0IR0utO3us25v1UOb5No1Mhv4sN7Hx4uEQlGkuNR5UI7u8HUbf3 xzqlgEJqzpKvBjiWkkGPEbmbAxmQ1qI2lZZtkxSbqdB+FD2mwOk/F7Tx8rKVsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291940; 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=qSK3b35l88ks5SYzfzdrNRpKKf43FJkvLlHPYnE3yEk=; b=S2DGNql6R9KrF08QKSptzOrNtlLRYCEICXq/K/6wduXH0aDe2GtQ8BzVEW4k5vXIsKWpXJ iljJU8ROfjHWPThAaUSaAIGZ4WiwBn2JxoM8fHcAWQdkT7NJMSP3lOi69VhkGEKGYDNgja X/mlX6MB/tHoL59O68f7MhtiViAF9vPm8IYm3EMEsNKwBcO53GR5X3ldXXRN9L8tN3+3HR hEG6oOjPlayEgPZWOI6u8yioWuz+P3buwHvYMpsIQWSgnkJGFlyyWZgq5FNaJLynBBBC2W qOuporaCeQmyI6innJ4dlKGZB7/razqq6lHyIx8YAsVZJMLTvII5RzzzSJY/0A== 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 4ZhSBX02mjz1Gc0; Tue, 22 Apr 2025 03:19:00 +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 53M3IxJx011950; Tue, 22 Apr 2025 03:18:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M3Ixgv011947; Tue, 22 Apr 2025 03:18:59 GMT (envelope-from git) Date: Tue, 22 Apr 2025 03:18:59 GMT Message-Id: <202504220318.53M3Ixgv011947@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 9f2b64dcb25b - stable/14 - top.1: Add HISTORY List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9f2b64dcb25bc8a0baed863a2c6cf2668c5dc915 Auto-Submitted: auto-generated The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=9f2b64dcb25bc8a0baed863a2c6cf2668c5dc915 commit 9f2b64dcb25bc8a0baed863a2c6cf2668c5dc915 Author: Alexander Ziaee AuthorDate: 2025-04-19 19:39:37 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-22 03:14:43 +0000 top.1: Add HISTORY top was added in 511d9c656578 for FreeBSD 2.2.2. MFC after: 3 days Reviewed by: carlavilla, imp, joerg Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D49591 (cherry picked from commit a9f5dcf82941e7e211490432b93bd124e7c0a57d) --- usr.bin/top/top.1 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usr.bin/top/top.1 b/usr.bin/top/top.1 index 03f042acc744..1003867cc622 100644 --- a/usr.bin/top/top.1 +++ b/usr.bin/top/top.1 @@ -520,6 +520,10 @@ flag is specified. .Xr humanize_number 3 , .Xr mem 4 , .Xr renice 8 +.Sh HISTORY +.Nm +first appeared in +.Fx 2.2.2 . .Sh AUTHORS .An William LeFebvre, EECS Department, Northwestern University .Sh BUGS From nobody Tue Apr 22 03:19:01 2025 X-Original-To: dev-commits-src-branches@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 4ZhSBY3VPSz5tSq2; Tue, 22 Apr 2025 03:19:01 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhSBY1PW6z3bn4; Tue, 22 Apr 2025 03:19:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291941; 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=XgKgGzqOBB7ugPPpwHWL6oBmTpbXPRe5Z84Hr9rK9mE=; b=L+QqESqVaOCf5QNHUBbI2EqrMxBC8MO5bkx3zkZcyt7SU9Yyk+ol1EyyQVZgxV9gUK3dHB np4/AAaZAt+Ea7WYE6b5TnI9KmvneRxwFSyCl38jaNpuXlbCecaPqj8DxdzUaX4ywQkY/L 6VBdZY84ayN9hFAIBldsXt8JWhA9b3pZP852O7AevxTIeivUK1Or3FZhw3nfjTU9Kjj5F1 3tw/dGXouuK9K522LunVZwlRJQOVQx7YbZl3emSbfnpJ5HdaN6KP9qCY8cSDEXMbZah+Q2 cI0nPTwqLx2Lur/6YeR+IAovpMcYcuiUXRTVR4PWxFltdqI3k6a8ScO0vqPVEQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745291941; a=rsa-sha256; cv=none; b=CWuzdqiy1AcU7gn5fdRHN0FOKf7eh29unkfR0O1wtztJoTD2lSUTvVYU/M6PcB3bV1aOsM 8uc+UO+IQHp4MqB1FvrqnQpG3m0m52fk8sgIwrMclJOBPK79hDtp/Xkj0nVdPCwk3drf/q NnYSLQ2F1TDPja1UucczkA8BtA2v+TO4NaWQN6FV7k3An//kBWZ8xmjkz2Zsb4RswN/Dqp WFl6wgvGPCR1VmjfgFlTMMve2oFj3euBitH6Dqs7uXt7ywQLEimHfPDSqMpq5BHamscGEs F7a1ofXiaAJrkFE2+KhB/FfqOY44ZTbjxbiqLfjYsICamOUYXryjWztsznBDwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291941; 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=XgKgGzqOBB7ugPPpwHWL6oBmTpbXPRe5Z84Hr9rK9mE=; b=N6kPKEP1U0nGhRBEd7yxhaerVd9d+y0iPOU7sN6u/2iCxtu/nLoEzc2xvOcILnUyNsVe9b jPEUKALpL964D2XPE5OAdxW8U/00LQS3lfNFo3qiu7JZGvR8wZ1jfEu+9TdjINSp47Yqkq GWf1fixye8f72o8Bp3mf2V4jetQxxHWLMCEp/Xzen98WQGcInFRw/VBSLO0YPPiyVKCNb8 9XaFROyt/wJxUbmBizlz5/q/682A4Dm7HKQ+1Er52UyvFlKN0jsye16qerke+02julLa5O 0DAmNBmJeI4Y7Y+rcLXHZTS4PwNLuMfVCQiJPLeJ6ELGfiWS/7/u7yGCsR1tAw== 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 4ZhSBY0zYKz1Gc1; Tue, 22 Apr 2025 03:19:01 +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 53M3J1DS011990; Tue, 22 Apr 2025 03:19:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M3J1c9011987; Tue, 22 Apr 2025 03:19:01 GMT (envelope-from git) Date: Tue, 22 Apr 2025 03:19:01 GMT Message-Id: <202504220319.53M3J1c9011987@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 96fe895d1b0a - stable/14 - style.mdoc.5: Improve description compatability List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 96fe895d1b0a6590384e6197f1fe8b62ffc0d652 Auto-Submitted: auto-generated The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=96fe895d1b0a6590384e6197f1fe8b62ffc0d652 commit 96fe895d1b0a6590384e6197f1fe8b62ffc0d652 Author: Alexander Ziaee AuthorDate: 2025-03-29 06:07:01 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-22 03:15:09 +0000 style.mdoc.5: Improve description compatability Use one line without child macros for document description, for optimal compatability with manual tooling. MFC after: 3 days Reviewed by: carlavilla, imp Approved by: carlavilla (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1629 (cherry picked from commit bfe9be2253ef85674b37ae7cf3d2689f96678151) --- share/man/man5/style.mdoc.5 | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/share/man/man5/style.mdoc.5 b/share/man/man5/style.mdoc.5 index d96c9ff08bbb..1c3ec2012118 100644 --- a/share/man/man5/style.mdoc.5 +++ b/share/man/man5/style.mdoc.5 @@ -29,10 +29,7 @@ .Os .Sh NAME .Nm style.mdoc -.Nd -.Fx -.Xr mdoc 7 -manual page style guide +.Nd FreeBSD manual page style guide .Sh DESCRIPTION This file specifies the preferred style for manual pages in the .Fx From nobody Tue Apr 22 03:19:02 2025 X-Original-To: dev-commits-src-branches@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 4ZhSBZ55Smz5tStp; Tue, 22 Apr 2025 03:19:02 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhSBZ1xxXz3bsL; Tue, 22 Apr 2025 03:19:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291942; 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=aX3dndpeXXPYGZ/pfyjKXxqi0Vc1o9Uj5nAC5pu4ukw=; b=gni8c8Ikq//9CamW0p7/+KD1U58uEueEJWXcrJEalIJRSS8LH/lwXVkBt9ITpm7QxYxQvB wcrcBmz43umg0GUKYq6QwNFs2DLvzeH0qiwPWdomA4/1Ap9s26PR+CFLPiL/QHIg7C3jKr geEv6zx6GgglarK8mg2W/8r0Tes7vJw+LhXYPycnS7vlYOrfo62J7y6q7uProNHOjun7YY 6lJ+NoW0SRsEZhc1uIl4goW9azfmOuSUXAGn2xB/GG3/fi+GhC0rDalN5+LdFuSt1OSYM1 vcqFvDuMJIuwGpWfANNRRhqNRRStokD1rF4a4yVvZcbeuAmNKIrlZxzucgNdUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745291942; a=rsa-sha256; cv=none; b=ceMpzytdBs3iGVEVQzUIzqiduvpLGAOZCXuyuT5X5CV18fJAV8z+MMr1+uVNZl9C3Iiz3+ e23ux0nKZPzVKuRTZLU2tozPH9XzQDRGmzC8N3xZwH7Llg4liyjd707kZZe7bD8kSePXBc ddD4grodOlzF1IfUIo8cJls3dob4c92seZubPYwte4r+4SlARY/I+vD57D13CulEjjbeAY eMQTsfp85ith2blUvmD8wDmC/zwtK959drS5lHVUEAilKcdvsMXEJmjNBe6fKANnusFIaq d1miiDFpaAKaE08b7om1u80E/F08iUMU7JQ5T9yQF238JtJisKscwOu+I1eTHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291942; 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=aX3dndpeXXPYGZ/pfyjKXxqi0Vc1o9Uj5nAC5pu4ukw=; b=dOv5FbkV91e31VKxAk1/3CWcxfQXvsbCUsx1RbYhEu0arxlRYGgEiJSnZzfYv5yt4MBl5P rRvOXW7Afh8YcHuDQWY8BDVtfWOhiwSyTjPa2fytNyiOpysZu1zy2KC5UY5jAs3G7/tIS9 F8E1ttqfvq9AXmmwB1x8h12GiYu94A+Mh51PSohs4BAjd0rSneTZAl2M7z1wSmVYrf6I+U FT667lNufbczeGIwVlQ5h9/5mC8V5lXuCHQrnL7F1B5SoHLyw5KhOAExDAMD6b/UtgUdmh fuWw5/V9xyffk+6dFGhQy/BWSPdql0Wdk77wHO7G8EdqLfwMqQM1R5H8XTgw6A== 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 4ZhSBZ1WH9z1GhT; Tue, 22 Apr 2025 03:19:02 +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 53M3J2tA012031; Tue, 22 Apr 2025 03:19:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M3J2qF012028; Tue, 22 Apr 2025 03:19:02 GMT (envelope-from git) Date: Tue, 22 Apr 2025 03:19:02 GMT Message-Id: <202504220319.53M3J2qF012028@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 7149eab8022d - stable/14 - top.1: top does not accept uids List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7149eab8022dc1cda7f55faa26f4b7d7c29d4484 Auto-Submitted: auto-generated The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=7149eab8022dc1cda7f55faa26f4b7d7c29d4484 commit 7149eab8022dc1cda7f55faa26f4b7d7c29d4484 Author: Alexander Ziaee AuthorDate: 2025-04-19 16:50:17 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-22 03:15:29 +0000 top.1: top does not accept uids MFC after: 3 days Reviewed by: carlavilla, imp Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D49631 (cherry picked from commit 92e9e13f061f9fc6411169768f5894f26fa80aaf) --- usr.bin/top/top.1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/top/top.1 b/usr.bin/top/top.1 index 1003867cc622..d8ef763e7a34 100644 --- a/usr.bin/top/top.1 +++ b/usr.bin/top/top.1 @@ -1,4 +1,4 @@ -.Dd March 25, 2025 +.Dd April 1, 2025 .Dt TOP 1 .Os .Sh NAME @@ -13,7 +13,7 @@ .Op Fl o Ar field .Op Fl p Ar pid .Op Fl s Ar time -.Op Fl U Ar uid +.Op Fl U Ar username .Op Ar number .Sh DESCRIPTION .Nm From nobody Tue Apr 22 03:19:03 2025 X-Original-To: dev-commits-src-branches@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 4ZhSBb4jndz5tSd3; Tue, 22 Apr 2025 03:19:03 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhSBb2tY7z3bYY; Tue, 22 Apr 2025 03:19:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291943; 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=M3omwnG+yKjw5hFP0ZYrDmhMC5mP1L6YTKoMyZprYsw=; b=r37IN6lX4tdEU3gdU5+pfeMPv4k6kW1uuLuX5qlp+4uJoBK2XTZxeG909KfQ/PrIBjvdPU l+JQI8bAttoRUsMsegz0TeYWoXJMOQ0iPuyfSn2k4+rbNAR5rM9phm5Cx526DUkJ5E16Yw fvLpMZW0Cufavi4C0a0t9DTQH4YNKJr0l0t9tGQnasDPFNRbFtg19K/pmr7gESNjGDJtdC PAs/DLFpS67iboQFfRfIzokg5ehvoFGLMKez6FDksFQ9chpFIazbKaeX4eLngGgpTVj7lh 56ib1PmmwNQxCfBWo46li7k/ElOP9ghJ8ABJvns9DU4mdwBiiu0kHDp/NhY2lA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745291943; a=rsa-sha256; cv=none; b=NmWo1TSYQ3HnCAGohHm8q8MJnRK7PgvDHK8ujdoxPgAac8JVENJm/kw3R7oLtFn4AHzpLX Ob2JXzTSI4Bt5+oOfiosZa3ch9m+34XVhHNZ9Kpujds7SbUCcDlS+KxmtdGf1KgYNQfW4t xkmCalumYcH77B+4turdn7ghAmQByMoAjqbWQm+/e0m+hvCKmpv4MsotTgVPNI3Kic0l4u SECDMbs4NrFJDABgk7rYWjAbIDoFrmp7PqRm7U+DnfhMp5oE4bkmU5vu/1MJXNjHAShsVs hhF5twYVQzv3zUReZyuD/zk/oS1GjPXnW/fgqKQ5Tl52OsztB2wS/YMUHA2UWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291943; 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=M3omwnG+yKjw5hFP0ZYrDmhMC5mP1L6YTKoMyZprYsw=; b=Ly3B28LBnDqPrKK+0TSKXko7vjNLrPknrgVN2VF+GbMJ4j9BG7lkIYOneGgIsZbANvEMAx mDPXHmz+TI9WLM7hBbn5MNWE+yBLHWhG/Qo8O8myoP7+S8FTF9y4bvxedPW1aA9ADy16jG 05TDFWi1RaU0Ljap51rYcW9xxHCjMDZeBzLaoTyrzj9Y1ODztS9h76UHYzrssC4O+MpP+1 4bCWZsxiywCpof1eMFUkTytjnJ5LR42I2GToW7eZTb67Te4Mc62UTE7jqX8sK3vFOXuUbK PZFdYRAf8j3T3CYpI1nvZLwAgFpaQAXXJ+d7kgpXpXHWsWx05Now/LNDVO6q+A== 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 4ZhSBb2Sybz1Gc2; Tue, 22 Apr 2025 03:19:03 +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 53M3J3OM012065; Tue, 22 Apr 2025 03:19:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M3J3Hb012062; Tue, 22 Apr 2025 03:19:03 GMT (envelope-from git) Date: Tue, 22 Apr 2025 03:19:03 GMT Message-Id: <202504220319.53M3J3Hb012062@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: eed924857379 - stable/14 - isp.4: Improve HARDWARE for HW Relnotes + SPDX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: eed924857379a48c5e4d0c09d8e700a51b294cf5 Auto-Submitted: auto-generated The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=eed924857379a48c5e4d0c09d8e700a51b294cf5 commit eed924857379a48c5e4d0c09d8e700a51b294cf5 Author: Alexander Ziaee AuthorDate: 2025-04-14 06:29:08 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-22 03:17:07 +0000 isp.4: Improve HARDWARE for HW Relnotes + SPDX Convert the supported hardware into a descending column list to improve aesthetic, density, and utility on console and in the hardware release notes. Move the section into alignment for predictability, and tag spdx. MFC after: 3 days Reviewed by: carlavilla, imp, mav Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D49721 (cherry picked from commit d9bdf419b19f658a79a69168ad740cd95cdf3e5f) --- share/man/man4/isp.4 | 48 +++++++++++++++++++++--------------------------- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/share/man/man4/isp.4 b/share/man/man4/isp.4 index dc6a6dbd5d2b..475e088aa459 100644 --- a/share/man/man4/isp.4 +++ b/share/man/man4/isp.4 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-3-Clause +.\" .\" Copyright (c) 2009-2020 Alexander Motin .\" Copyright (c) 2006 Marcus Alves Grando .\" Copyright (c) 1998-2001 Matthew Jacob, for NASA/Ames Research Center @@ -24,7 +27,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd June 24, 2024 +.Dd April 8, 2025 .Dt ISP 4 .Os .Sh NAME @@ -79,6 +82,23 @@ the tape drive. FC-Tape is automatically enabled when connecting controller that supports it to a target that supports it. It may be disabled using configuration and hint options described below. +.Sh HARDWARE +The +.Nm +driver supports the following optical Fibre Chanel adapters: +.Bl -column "Qlogic 2690/2692/2694 (2684/2692)" "Speed" "PCI-X" +.It Model: Ta Speed: Ta Bus: +.It Qlogic QLE2874 (2814) Ta 64Gb Ta PCIe +.It Qlogic QLE2870/QLE2872 (2812) Ta 64Gb Ta PCIe +.It Qlogic QLE2774 (2814) Ta 32Gb Ta PCIe +.It Qlogic QLE2770/QLE2772 (2812) Ta 32Gb Ta PCIe +.It Qlogic 2740/2742/2764 (2722/2714) Ta 32Gb Ta PCIe +.It Qlogic 2690/2692/2694 (2684/2692) Ta 16Gb Ta PCIe +.It Qlogic 267x/836x (2031/8031) FCoE Ta 16Gb Ta PCIe +.It Qlogic 256x (2532) Ta 8Gb Ta PCIe +.It Qlogic 246x (2432) Ta 4Gb Ta PCIe +.It Qlogic 2422 Ta 4Gb Ta PCI-X +.El .Sh FIRMWARE Firmware loading is supported and handled by .Xr firmware 9 . @@ -89,32 +109,6 @@ module. It is strongly recommended that you use the firmware available from .Xr ispfw 4 as it is the one that most likely has been tested with this driver. -.Sh HARDWARE -Cards supported by the -.Nm -driver include: -.Bl -tag -width xxxxxx -offset indent -.It Qlogic 2422 -Optical 4Gb Fibre Channel PCI-X cards. -.It Qlogic 246x (aka 2432) -Optical 4Gb Fibre Channel PCIe cards. -.It Qlogic 256x (aka 2532) -Optical 8Gb Fibre Channel PCIe cards. -.It Qlogic 267x/836x (aka 2031/8031) -Optical 16Gb FC/FCoE PCIe cards. -.It Qlogic 2690/2692/2694 (aka 2684/2692) -Optical 16Gb Fibre Channel PCIe cards. -.It Qlogic 2740/2742/2764 (aka 2722/2714) -Optical 32Gb Fibre Channel PCIe cards. -.It Qlogic QLE2770/QLE2772 (aka 2812) -Optical 32Gb Fibre Channel PCIe cards. -.It Qlogic QLE2774 (aka 2814) -Optical 32Gb Fibre Channel PCIe cards. -.It Qlogic QLE2870/QLE2872 (aka 2812) -Optical 64Gb Fibre Channel PCIe cards. -.It Qlogic QLE2874 (aka 2814) -Optical 64Gb Fibre Channel PCIe cards. -.El .Sh CONFIGURATION OPTIONS Target mode support for Fibre Channel adapters may be enabled with the .Pp From nobody Tue Apr 22 03:19:04 2025 X-Original-To: dev-commits-src-branches@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 4ZhSBc6Kycz5tStq; Tue, 22 Apr 2025 03:19:04 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhSBc3qpqz3bWf; Tue, 22 Apr 2025 03:19:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291944; 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=Qi/AlUjH0fiNqOGrsR50C5tv3wDvQOysVHMu5xVCUXI=; b=uTTTxtNutvOYDaiHHtr+gxgpYb3KK07BBv7Ll+eDLdx8lLVk2i0jggKCvuBIbX1lutkDsx M+MRQTcBZVdVAI1UPD1b7/5nVkFlbSZuFkUZkTBEl+/HzyWJHHE7XL7jZRxXxpEnB4PMuv XjmymUsBe/qXfJKXVlwKjD0jV3BOwwS1N5mko/BkjNkcBmka6iE4ZyOycczPqlkSL5US/M WwQtPEYibhjWrekJ5oP2ziOUhRrR8G06P69LctNWSN/FZqzG7nsGOGwZGDmo1bwh8i+Qt8 SN7siJ1o5yDKheJ6yPTpeVvpn2l4xh58oXfAyf9z2NzLF8myYM4ScJyD6s51lA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745291944; a=rsa-sha256; cv=none; b=I6uENH/yQu2SEfTtt4w01ZxBlIkcjUS8Y8v7n6ZGWt9m+RRwDySUCeFvUkvHxKLFfuNccZ 0mAtzMLdzS6IBiBiYCl9vNHLbyjK7kxp/XzRburC2UbJmacsaaYThq1e44Jrime91BQZxh UOTfZfDXY4iN0h0eQYls55jIGUnxI/uxOn34LTBb8XL+/3Rb+NtdUTXDwfROEcXJT5g4TJ NmClPL0rVDw8HBAKgNdrplOHt0tvZK+s97ilADuAEl7bdV0REQb34Gnfe1Ym/iwU5D5qAJ tK193iOObsweX/DE314dojj6Rh7/UAfhm6scT2qQZq5wvuiHexbI8OIuAT2p2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291944; 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=Qi/AlUjH0fiNqOGrsR50C5tv3wDvQOysVHMu5xVCUXI=; b=NWrII5hADLODPvgofudEbmXDVpTmTG9x5rEsBROjx8S4TZ5F9/i3IappfNVJ5QXnw455pN HvWW2iQDS0yszG3nrHV3WOclOOFP231kJbdQcAj9xTLzqmpomvSfdm15Y22syfYAGC1UcT GnV8po4fcz/TkJqbeAgwznEJEm3PNiAnOjInIkEGfGifJjUDLScfpBAhXyOf1sCsqlpo4K E3YSlIM77p7x59vfLBDvO3fOPzfjkGpMch/i1y92DyiNTr0e5iFis37GDKkkzAK16/+Xvy lythrFyM0dKWNwFY/wjOLZgaSFDBOmOSmsNAYn31v4DhG+ZAZs8oFwjRScYMzg== 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 4ZhSBc39dLz1GwS; Tue, 22 Apr 2025 03:19:04 +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 53M3J4FR012100; Tue, 22 Apr 2025 03:19:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M3J4rF012097; Tue, 22 Apr 2025 03:19:04 GMT (envelope-from git) Date: Tue, 22 Apr 2025 03:19:04 GMT Message-Id: <202504220319.53M3J4rF012097@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 8e3a23be1841 - stable/14 - OF_node_from_xref.9: Fix function name typo + spdx List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8e3a23be1841396d0628c39fe7f917ef932f2f72 Auto-Submitted: auto-generated The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=8e3a23be1841396d0628c39fe7f917ef932f2f72 commit 8e3a23be1841396d0628c39fe7f917ef932f2f72 Author: Alexander Ziaee AuthorDate: 2025-04-19 16:46:46 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-22 03:17:33 +0000 OF_node_from_xref.9: Fix function name typo + spdx MFC after: 3 days Reported by: Setesh Strong on Community Discord Fixes: ac32b99c2b9 (Add documentation for OpenFirmware) Reviewed by: carlavilla, kevans Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D49653 (cherry picked from commit 992479b0f6b770ee6d6e52e75884b692eb4b75aa) --- share/man/man9/OF_node_from_xref.9 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/share/man/man9/OF_node_from_xref.9 b/share/man/man9/OF_node_from_xref.9 index bd5e2bcab68f..755c82951382 100644 --- a/share/man/man9/OF_node_from_xref.9 +++ b/share/man/man9/OF_node_from_xref.9 @@ -1,4 +1,6 @@ .\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 2018 Oleksandr Tymoshenko .\" .\" All rights reserved. @@ -70,9 +72,9 @@ If one cannot be found or the OpenFirmware implementation does not support effective phandles, the function returns the input value. .Pp -.Fn OF_xref_from_xref +.Fn OF_xref_from_node returns the effective phandle for the kernel phandle -.Fa xref . +.Fa node . If one cannot be found or the OpenFirmware implementation does not support effective phandles, the function returns the input value. From nobody Tue Apr 22 03:19:06 2025 X-Original-To: dev-commits-src-branches@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 4ZhSBg3MMNz5tSq5; Tue, 22 Apr 2025 03:19:07 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhSBf5kh0z3bYg; Tue, 22 Apr 2025 03:19:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291946; 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=5u2aTswcHUBZ6T95H4R5lPT9FPHAMIGPJ52Ubp/ViRw=; b=R9r6u+XVf65niZBvNx2/BFqUu8TKqpGz4YS6Xlk0Lf9SMOLWABE234y7/WQCOdXMoSSt5V eqPNtrTGXiZxkE0FkvGAEcEi+yBZ3PCDtG/brYgkHEq0mQFC0g749Ayl2Kf0VsGILvBeAi Wsla80Rnm8sS/JfK3vKdwmVEbmRstW8Nl5XvK1zFMwScyrfnllNc9gx/yb5ZzSJsILEVwh pMwK4x/7S1FDg5afA2q6cKCFOrk56Hi4L+PNFz44s6+I7I8hZ4SPH/ja05CrqHWVYk49ss t/j5mfXxiqOxDQhKUuIC5s4iknNbYcGQd3WVBO3kdkQbllBkZIN+GEbrOh+c4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745291946; a=rsa-sha256; cv=none; b=wBKAleMuSlqfKTvxcLseatt5uGGtGhyLOHOmyQWt9wk5ht2TtIR+nUXIMOOsZGhM+owpY5 pK23YQSHkmsoLOMawERVQ6ZIYFdvor8SibTnyxxiW8JG/psVur/2P+Aqum2lSwdc8fQjv+ c+No63fPE+BM+RKSvzoNQcfj3cX7bC6RMF2HqBiNr4BEcXcJGsAkYXulOTXa/Bk83K2djA U6rj1MKAywPgaPn8gW3Ob3XZVl79W87qSpJkVDjVGEv+oTUpnQX75vL7vZol6OtVjmyAiH GtIPaJtNpDb+Lp0q6MqecHeDH5OMdZebpiUbEZvIyifzsx1flg5erBrkjTvuJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291946; 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=5u2aTswcHUBZ6T95H4R5lPT9FPHAMIGPJ52Ubp/ViRw=; b=JA4dVc2O2A5ZWtogx3jKG+eF/jwwuV74Ims53pdml/Us3bNi99XaRUvDFUxIprdiWUXtgY hUyFbBY7Zs47GD3REp+wo5MTeu/N70TPX9I17+Iv8bqxZCN/iICjXPdELga+8Yi/+zbD42 I8jgvEyEok0FwERw0jttnzqXtFS6ZwkpHsMNoFcvSyr/2A/lu4ByYbMppE8fyy+Xv47fTA Ga9YueMl0gqm7oYdF9W+Wy6pA8mUBzAgXaKJeCyUJqfgcGzObp7vVKJhN/PgLx2e9C0RZV P2P0wOdrCzIAfUZcamXyEDqjt/IK9Z1RV9fkx5Sgn2YKwxGEr+gJaodoGEZELg== 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 4ZhSBf5DcXz1G9w; Tue, 22 Apr 2025 03:19:06 +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 53M3J6pC012166; Tue, 22 Apr 2025 03:19:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M3J6dd012163; Tue, 22 Apr 2025 03:19:06 GMT (envelope-from git) Date: Tue, 22 Apr 2025 03:19:06 GMT Message-Id: <202504220319.53M3J6dd012163@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 13d407b63546 - stable/14 - examples/csh: Case insensitive search in pager List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 13d407b6354663a7a5aca18c442095786a64772e Auto-Submitted: auto-generated The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=13d407b6354663a7a5aca18c442095786a64772e commit 13d407b6354663a7a5aca18c442095786a64772e Author: Alexander Ziaee AuthorDate: 2025-04-19 16:41:23 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-22 03:18:11 +0000 examples/csh: Case insensitive search in pager This is one of the most commonly requested configurations I'm asked to share or put in man(1). Currently I think this is the most appropriate and cannonical place for it. MFC after: 3 days Reviewed by: carlavilla, imp Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D49833 (cherry picked from commit ec95b6a3c77b72aca1823f1b118a7983c130e4df) --- share/examples/csh/dot.cshrc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/examples/csh/dot.cshrc b/share/examples/csh/dot.cshrc index 5cda009dbd96..4408af31cda3 100644 --- a/share/examples/csh/dot.cshrc +++ b/share/examples/csh/dot.cshrc @@ -137,3 +137,6 @@ setenv CLICOLOR 1 # other autolist options set autolist = TAB + +# Case insensitive search in pager and man +setenv PAGER less -I From nobody Tue Apr 22 03:19:05 2025 X-Original-To: dev-commits-src-branches@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 4ZhSBd71ZTz5tSlY; Tue, 22 Apr 2025 03:19:05 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhSBd4fbkz3bqW; Tue, 22 Apr 2025 03:19:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291945; 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=ppDfn1tz8vSPC4hTM4YF3mfhM5nKcc8xQ3JjfxKMfBU=; b=bwZzY7nK70Tpec1zwD6+k1uxnw3nU/a/UrbOUT8CUSxLX5jI/5Z6nq2NtNV8Jz9tIzVA6w mv0tZFJec0vqD3UxZYQvsGGagG7RCZbTShrcjJz/KNe4L+MwdjyEBTyOU/fLzrg0gOs0t/ k+7W+3Ucwkbo7azT0e4XkCABNlcCFlGGn+9Tnx+EMMme8dqB8xsf/xDShYzf1DarfT5hfn tr6KVUqDg6/Z+oQmuU1ycPWkreFJk/ZNURFKOrF/t7sYTr2YefZucQVqd8ySrRi+ytJMk/ A0Zy7VIKn/1iwvUR1Ow2OfGxcvgkV1Yq98z8i43I0m+S2h2EEN3nW5vdLs5ZSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745291945; a=rsa-sha256; cv=none; b=eB3pKYmfuIKhYC4TTz6mCxbXFxtsDsM/sp6JvPOWhd4uvBTqs7rM2YDZ62caFbWZVgQcSy VB3LfNUe4un39GqzWsoFF/enReu6T85indGlc+ygRvzLPBbSa7Em+Y5fQuHIbGwF8EUx1H 3aNMpgP8NPee4MqIqksm6W1HPn1Fm/lteczUMGCqhS9aultT/63SsBrOPaFBSecZhmz7Om yPmmRZRFgf/60s2SsBg57NHNJIKIuZh1A2mVjZBV+IhIyf6u285GQ0eT+KaKhboKPJk0hv Yj5qDUdwU6H6sV2gTopM/4xRvJ0rw7bMFdv49RNlG1U1z35BRXNlj3j5VrmE9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745291945; 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=ppDfn1tz8vSPC4hTM4YF3mfhM5nKcc8xQ3JjfxKMfBU=; b=KGGU86Bh8ePv4SRSxol9wtbaeLK3yJCddvbqxKdimVbLSEcUaYT5909nN76ePmSc3LL28I fUAWmCgCSJm5N5M04geJ+8yy2Fg5ZtEaMrRLjuRq7zJ+U+4oiiEtIZCSQOFMns83rFJzOH 3smiHD7ZoYYFA1kZliBPFpQ/6+8OOCMDPvAr/TKnlXyVdCLAOiRmTJtSMjJGUFCgtHbWxV X4zp6VxNGYNUYR15MiKNV7Wm2Gv43f1MMw5hieepQq+4AK3+MBK26AzDrneV7Ix2zjkHyS U5vVNjypET6IEqwvco2kJ9m5HneS1XrsJ0LoKWrhpB5Puq+9sw8kGv5hiATOAQ== 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 4ZhSBd4Fk1z1GfW; Tue, 22 Apr 2025 03:19:05 +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 53M3J5t1012133; Tue, 22 Apr 2025 03:19:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M3J535012130; Tue, 22 Apr 2025 03:19:05 GMT (envelope-from git) Date: Tue, 22 Apr 2025 03:19:05 GMT Message-Id: <202504220319.53M3J535012130@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: b7a44a842990 - stable/14 - ObsoleteFiles: Remove mount_fusefs.8 entry List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b7a44a842990def8e6cf31aa629b8661e78d13bc Auto-Submitted: auto-generated The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=b7a44a842990def8e6cf31aa629b8661e78d13bc commit b7a44a842990def8e6cf31aa629b8661e78d13bc Author: Alexander Ziaee AuthorDate: 2025-04-04 18:43:08 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-22 03:17:52 +0000 ObsoleteFiles: Remove mount_fusefs.8 entry This causes make delete-old to delete the manual for mount_fusefs(8) on (zfs) systems that do not (need) MANCOMPRESS. MFC after: 3 days Reviewed by: carlavilla, imp Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D49667 (cherry picked from commit 7d2b5f3d2a5127a584d2af912ea0e9fd00f417f0) --- ObsoleteFiles.inc | 2 -- 1 file changed, 2 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index c608c15d32a3..e1c50607abb4 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -15076,8 +15076,6 @@ OLD_FILES+=usr/share/man/man4/lindev.4.gz # 20140425 OLD_FILES+=usr/lib/libssp_p.a OLD_FILES+=usr/lib/libstand_p.a -# 20140413: Removed NO_MANCOMPRESS from mount_fusefs -OLD_FILES+=usr/share/man/man8/mount_fusefs.8 # 20140314: AppleTalk OLD_DIRS+=usr/include/netatalk OLD_FILES+=usr/include/netatalk/aarp.h From nobody Tue Apr 22 11:11:02 2025 X-Original-To: dev-commits-src-branches@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 4ZhfgC1XB5z5sT1C; Tue, 22 Apr 2025 11:11:03 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhfgC079Kz41QZ; Tue, 22 Apr 2025 11:11:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320263; 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=yxfhpJC+jxtSNa8RpswqIBHl77gH1dquhcHSJosCO0Y=; b=bAGEIMyXqbxwgCzjKAqOnYxmS4XGq9Y0cFiwuE5B/wq3cRTs8Kfkng3U0aVWg8HgxpvtZ9 VcRp/xOmRt9YHnD79YwPQAJEqYqPriG+w0a6gBxLeBftWBjtnl/fIKKHQKsLg1HlBG9N+d lwaeF6E7MnOxVW+Lh3WN4uHZ9HdRhdZJEuELNopZCrjaJaszzQf+WJkqk2VMHWQSXIWhsa h7YGTqe5xt8/ZSCxNuowwCaOFqBRa/YQSqFaJ9U9lsD1Lehe23cox6ktdGATb7lbrW5r8L xRZmd0v2EpglFKDnV+cNk3pLCqDQinK8EItFq6ZSlOfKbyDMl3qxFQMHUj6U9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745320263; a=rsa-sha256; cv=none; b=iaWsAw73UYsF5zZJUNr3YDrrK+W/905zOEeUPsGluxdROGESaFuQncQvEalseqnQgyKBr3 VGJmrTWGMCGk5/kQxwM3AHwO5AV045/+JYEw6754QwFzQxcUFDqJcWZ1kVTvjkYWBNbs5Z 8/fmUscThNvv121thCT01/dojgWaPnN/7RFIispibRPGwfrXCSXwzwKbSSp38ViJwxdcYL oQG3n3nMSjyIIe6+prY1lZkZE7fwS+oEBj2tLQibYZGEKu+PizRoRlOEBAlLXe5Cmp8zDE zB2ZmxWeybCtiqan0B0TxUf2BWdA5zwtbZHhatAa0BseAMOIaS3TPwx8F4Syjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320263; 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=yxfhpJC+jxtSNa8RpswqIBHl77gH1dquhcHSJosCO0Y=; b=ZSJizV695sSKBNtlhqgzUU9Dh4ViN4oGn/cmIBVavNtJOsm4nLrmJxqE1lUCrya88Iogms ly2zbv/iFw6R+TAkFxmPu0cAlbQFrWuKDvXXMK4kD06ynJ0xwgeMUppr2UH9oToyf5RMsa Nvsrw1yfJQxwmgz/VlT1V8wrmDYCYX7XOJYjqPLWeuM0x+0knkotZGIO9oAMMjVtfPyzBK 8uBCCLyQhypOT0Hkh7q7CTrLqXXMJgGyqKSL31p6T6amuQNQ0gEswKNJ1qro4lz3EoiHxE GYDhpMbDhreiFDNnJGah8ECqAV+QYikflqcRJ4SIeQCSFde8xOlEg6GXU/9zZg== 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 4ZhfgB6RNqz2Lg; Tue, 22 Apr 2025 11:11:02 +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 53MBB2kE004094; Tue, 22 Apr 2025 11:11:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MBB229004091; Tue, 22 Apr 2025 11:11:02 GMT (envelope-from git) Date: Tue, 22 Apr 2025 11:11:02 GMT Message-Id: <202504221111.53MBB229004091@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alfredo Dal'Ava Junior" Subject: git: c4959c18fe76 - stable/14 - keymaps: add map for some Lenovo laptops found in Brazillian market List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: alfredo X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c4959c18fe767d1fe6172fd068b2613a1a14bdb0 Auto-Submitted: auto-generated The branch stable/14 has been updated by alfredo: URL: https://cgit.FreeBSD.org/src/commit/?id=c4959c18fe767d1fe6172fd068b2613a1a14bdb0 commit c4959c18fe767d1fe6172fd068b2613a1a14bdb0 Author: Alfredo Dal'Ava Junior AuthorDate: 2025-03-25 19:35:38 +0000 Commit: Alfredo Dal'Ava Junior CommitDate: 2025-04-22 11:10:47 +0000 keymaps: add map for some Lenovo laptops found in Brazillian market Some laptops sold in Brazil have the key "/, ?" in same position where it should be the right control key. Reported by: Andrei Drusian Tested by: Andrei Drusian MFC After: 1 week (cherry picked from commit 9357c694e8dca627c25b15529e8435b2ab3dd48b) --- share/vt/keymaps/INDEX.keymaps | 3 + share/vt/keymaps/br.lenovo.kbd | 160 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 163 insertions(+) diff --git a/share/vt/keymaps/INDEX.keymaps b/share/vt/keymaps/INDEX.keymaps index 278f9ec9f373..a3b59989cc5d 100644 --- a/share/vt/keymaps/INDEX.keymaps +++ b/share/vt/keymaps/INDEX.keymaps @@ -83,6 +83,9 @@ br.noacc.kbd:fr:Brésilien (sans accents) br.noacc.kbd:pt:Brasileiro (without accent keys) br.noacc.kbd:es:Brasileño (without accent keys) +br.lenovo.kbd:en:Brazilian Lenovo Laptop (accent keys, with slash in place of right Ctrl) +br.lenovo.kbd:pt:Brasileiro Lenovo Laptop (com acentos, com barra no lugar do Ctrl da direita) + by.kbd:en:Belarusian by.kbd:da:Hviderussisk by.kbd:de:Weißrussisch diff --git a/share/vt/keymaps/br.lenovo.kbd b/share/vt/keymaps/br.lenovo.kbd new file mode 100644 index 000000000000..c5cd3be60b09 --- /dev/null +++ b/share/vt/keymaps/br.lenovo.kbd @@ -0,0 +1,160 @@ +# +# Keymap for Lenovo laptops (Thinkpad, Ideapad, Yoga, Legion) +# +# Some laptops sold in Brazil have written "/, ?" in same position +# where it should be the right control key. The keyboard sends +# the incorrect scancode. +# +# This map should be the same as br.keymap, but with 090 (rctrl) +# replaced by 115 scancode content (?, /, 0xb0). +# +# alt +# scan cntrl alt alt cntrl lock +# code base shift cntrl shift alt shift cntrl shift state +# ------------------------------------------------------------------ + 000 nop nop nop nop nop nop nop nop O + 001 esc esc esc esc esc esc debug esc O + 002 '1' '!' nop nop 0xb9 '!' nop nop O + 003 '2' '@' nul nul 0xb2 '@' nul nul O + 004 '3' '#' nop nop 0xb3 '#' nop nop O + 005 '4' '$' nop nop 0xa3 '$' nop nop O + 006 '5' '%' nop nop 0xa2 '%' nop nop O + 007 '6' duml rs rs 0xac duml rs rs O + 008 '7' '&' nop nop '7' '&' nop nop O + 009 '8' '*' nop nop '8' '*' nop nop O + 010 '9' '(' nop nop '9' '(' nop nop O + 011 '0' ')' nop nop '0' ')' nop nop O + 012 '-' '_' us us '-' '_' us us O + 013 '=' '+' nop nop 0xa7 '+' nop nop O + 014 bs bs del del bs bs del del O + 015 ht btab nop nop ht btab nop nop O + 016 'q' 'Q' dc1 dc1 '/' 'Q' dc1 dc1 C + 017 'w' 'W' etb etb '?' 'W' etb etb C + 018 'e' 'E' enq enq 0x00b0 'E' enq enq C + 019 'r' 'R' dc2 dc2 'r' 'R' dc2 dc2 C + 020 't' 'T' dc4 dc4 't' 'T' dc4 dc4 C + 021 'y' 'Y' em em 'y' 'Y' em em C + 022 'u' 'U' nak nak 'u' 'U' nak nak C + 023 'i' 'I' ht ht 'i' 'I' ht ht C + 024 'o' 'O' si si 'o' 'O' si si C + 025 'p' 'P' dle dle 'p' 'P' dle dle C + 026 dacu dgra nop nop dacu dgra nop nop O + 027 '[' '{' esc esc 0xaa '{' esc esc O + 028 cr cr nl nl cr cr nl nl O + 029 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O + 030 'a' 'A' soh soh 'a' 'A' soh soh C + 031 's' 'S' dc3 dc3 's' 'S' dc3 dc3 C + 032 'd' 'D' eot eot 'd' 'D' eot eot C + 033 'f' 'F' ack ack 'f' 'F' ack ack C + 034 'g' 'G' bel bel 'g' 'G' bel bel C + 035 'h' 'H' bs bs 'h' 'H' bs bs C + 036 'j' 'J' nl nl 'j' 'J' nl nl C + 037 'k' 'K' vt vt 'k' 'K' vt vt C + 038 'l' 'L' ff ff 'l' 'L' ff ff C + 039 0xe7 0xc7 nop nop 0xe7 0xc7 nop nop C + 040 dtil dcir nop nop dtil dcir nop nop O + 041 ''' '"' nop nop ''' '"' nop nop O + 042 lshift lshift lshift lshift lshift lshift lshift lshift O + 043 ']' '}' gs gs 0xba '}' gs gs O + 044 'z' 'Z' sub sub 'z' 'Z' sub sub C + 045 'x' 'X' can can 'x' 'X' can can C + 046 'c' 'C' etx etx 0x20a2 'C' etx etx C + 047 'v' 'V' syn syn 'v' 'V' syn syn C + 048 'b' 'B' stx stx 'b' 'B' stx stx C + 049 'n' 'N' so so 'n' 'N' so so C + 050 'm' 'M' cr cr 'm' 'M' cr cr C + 051 ',' '<' nop nop ',' '<' nop nop O + 052 '.' '>' nop nop '.' '>' nop nop O + 053 ';' ':' nop nop ';' ':' nop nop O + 054 rshift rshift rshift rshift rshift rshift rshift rshift O + 055 '*' '*' '*' '*' '*' '*' '*' '*' O + 056 lalt lalt lalt lalt lalt lalt lalt lalt O + 057 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O + 058 clock clock clock clock clock clock clock clock O + 059 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O + 060 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O + 061 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O + 062 fkey04 fkey16 fkey28 fkey40 scr04 scr14 scr04 scr14 O + 063 fkey05 fkey17 fkey29 fkey41 scr05 scr15 scr05 scr15 O + 064 fkey06 fkey18 fkey30 fkey42 scr06 scr16 scr06 scr16 O + 065 fkey07 fkey19 fkey31 fkey43 scr07 scr07 scr07 scr07 O + 066 fkey08 fkey20 fkey32 fkey44 scr08 scr08 scr08 scr08 O + 067 fkey09 fkey21 fkey33 fkey45 scr09 scr09 scr09 scr09 O + 068 fkey10 fkey22 fkey34 fkey46 scr10 scr10 scr10 scr10 O + 069 nlock nlock nlock nlock nlock nlock nlock nlock O + 070 slock slock slock slock slock slock slock slock O + 071 fkey49 '7' '7' '7' '7' '7' '7' '7' N + 072 fkey50 '8' '8' '8' '8' '8' '8' '8' N + 073 fkey51 '9' '9' '9' '9' '9' '9' '9' N + 074 fkey52 '-' '-' '-' '-' '-' '-' '-' N + 075 fkey53 '4' '4' '4' '4' '4' '4' '4' N + 076 fkey54 '5' '5' '5' '5' '5' '5' '5' N + 077 fkey55 '6' '6' '6' '6' '6' '6' '6' N + 078 fkey56 '+' '+' '+' '+' '+' '+' '+' N + 079 fkey57 '1' '1' '1' '1' '1' '1' '1' N + 080 fkey58 '2' '2' '2' '2' '2' '2' '2' N + 081 fkey59 '3' '3' '3' '3' '3' '3' '3' N + 082 fkey60 '0' '0' '0' '0' '0' '0' '0' N + 083 del ',' ',' ',' ',' ',' boot boot N + 084 nop nop nop nop nop nop nop nop O + 085 nop nop nop nop nop nop nop nop O + 086 '\' '|' fs fs '\' '|' fs fs O + 087 fkey11 fkey23 fkey35 fkey47 scr11 scr11 scr11 scr11 O + 088 fkey12 fkey24 fkey36 fkey48 scr12 scr12 scr12 scr12 O + 089 cr cr nl nl cr cr nl nl O + 090 '/' '?' nop nop 0xb0 '?' nop nop O + 091 '/' '/' '/' '/' '/' '/' '/' '/' N + 092 nscr pscr debug debug nop nop nop nop O + 093 ralt ralt ralt ralt ralt ralt ralt ralt O + 094 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 O + 095 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 O + 096 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 O + 097 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 O + 098 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 O + 099 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 O + 100 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 O + 101 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 O + 102 fkey60 paste fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O + 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O + 104 slock saver slock saver susp nop susp nop O + 105 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 O + 106 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 O + 107 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 O + 108 nop nop nop nop nop nop nop nop O + 109 nop nop nop nop nop nop nop nop O + 110 nop nop nop nop nop nop nop nop O + 111 nop nop nop nop nop nop nop nop O + 112 nop nop nop nop nop nop nop nop O + 113 nop nop nop nop nop nop nop nop O + 114 nop nop nop nop nop nop nop nop O + 115 nop nop nop nop nop nop nop nop O + 116 nop nop nop nop nop nop nop nop O + 117 nop nop nop nop nop nop nop nop O + 118 nop nop nop nop nop nop nop nop O + 119 nop nop nop nop nop nop nop nop O + 120 nop nop nop nop nop nop nop nop O + 121 nop nop nop nop nop nop nop nop O + 122 nop nop nop nop nop nop nop nop O + 123 nop nop nop nop nop nop nop nop O + 124 nop nop nop nop nop nop nop nop O + 125 nop nop nop nop nop nop nop nop O + 126 '.' '.' '.' '.' '.' '.' '.' '.' N + + dgra '`' ( 'a' 0xe0 ) ( 'A' 0xc0 ) ( 'e' 0xe8 ) ( 'E' 0xc8 ) + ( 'i' 0xec ) ( 'I' 0xcc ) ( 'o' 0xf2 ) ( 'O' 0xd2 ) + ( 'u' 0xf9 ) ( 'U' 0xd9 ) + + dacu 0xb4 ( 'a' 0xe1 ) ( 'A' 0xc1 ) ( 'e' 0xe9 ) ( 'E' 0xc9 ) + ( 'i' 0xed ) ( 'I' 0xcd ) ( 'o' 0xf3 ) ( 'O' 0xd3 ) + ( 'u' 0xfa ) ( 'U' 0xda ) ( 'y' 0xfd ) ( 'Y' 0xdd ) + + dcir '^' ( 'a' 0xe2 ) ( 'A' 0xc2 ) ( 'e' 0xea ) ( 'E' 0xca ) + ( 'i' 0xee ) ( 'I' 0xce ) ( 'o' 0xf4 ) ( 'O' 0xd4 ) + ( 'u' 0xfb ) ( 'U' 0xdb ) + + dtil '~' ( 'a' 0xe3 ) ( 'A' 0xc3 ) ( 'n' 0xf1 ) ( 'N' 0xd1 ) + ( 'o' 0xf5 ) ( 'O' 0xd5 ) + + duml 0xa8 ( 'a' 0xe4 ) ( 'A' 0xc4 ) ( 'e' 0xeb ) ( 'E' 0xcb ) + ( 'i' 0xef ) ( 'I' 0xcf ) ( 'o' 0xf6 ) ( 'O' 0xd6 ) + ( 'u' 0xfc ) ( 'U' 0xdc ) ( 'y' 0xff ) From nobody Tue Apr 22 11:22:44 2025 X-Original-To: dev-commits-src-branches@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 4Zhfwh5Gfpz5sTyj; Tue, 22 Apr 2025 11:22:44 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhfwh4X7Jz3C1C; Tue, 22 Apr 2025 11:22:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320964; 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=4QE/XYzgGPajvZxMPfbG5V+TMlVwvfjQsdgxOOZRQ80=; b=o4vRg8guuzERj7xGiH0m+EBwXIw5xazHYgyCHlPNXfQRtFyuPuTKWaKpGlWYKzC4IRkHmB yHPxMeWx3J+i0SHKKb5uRYPo0unAgtNbm419RDjh62DwiiMJKjTkhYdcIrZRj2Ly2Jv/WA UvlzKQ9f+7bKBZAgdaBKzPdi8TYeWs8NOMOUAJYblVmZVvlFqlTyXcjFm8h7XiNF2vLmZY WBpdfJKo4aj9bTpFuBbpQ4iFmkuTehzZKSdCaqp5yLgFmaKG6cMGBRukOaK8o7dYHm3m8P Jek4QXAzWOMa1CM7UX+OU+5ZyES0lBG0MwqmHRFqRgu2A0c7EDpCe1P4KjFbeg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745320964; a=rsa-sha256; cv=none; b=vt0dg64EM1wGstS3hwYYR3/CJLLX61NnjnxJGcVU+NrilTw1+emjIzGVv+Y9E6jbMCeed1 jklSHYTiLe2+6uzYIPrQ4/ubEsCNZUKfBWnafkr8UyCXwdrXQmeCfvcqBRbBSRbwdy9eFN XztstsVyUQnAX4DhtOOPj/blFxVPzL5Q32YKXFDdSh5P+j5MDL7p7MPuUKs+s4Bro8Kv5Z r7/wc2CuZzU4JakYxoyI/uC4jic7hy7G3Pn+oTbbl8Ny5vSTIQ7DIpM76Wqa+0uM1xUSJN VVqi7NoCVtdq4HKEP/W/8NZy+efnURZfI2y9h652aUdxDnfCR4ZMbnIE0CK9oA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320964; 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=4QE/XYzgGPajvZxMPfbG5V+TMlVwvfjQsdgxOOZRQ80=; b=lEIOni65MoinZ1llFY8y/xNDAcNQccU5Jmlxo1wxzgzKJdZQLLr6cVeEYN0cUNNlUAHvPl AeqEYK5DT3eL9b4KdQ77HzI67bsQtXACWWQRRIjoaImJQxYJ6CZNjeEonGh4jlQaWYt0// 88PnDJs/uI4Ve2nbnDBgA1o/iI0EdFFybilDPWSBkBXOhhbVa7nFwm3cLw1dFwsqS9B02C m4N27KnI4kqJW5MJPwaqr7T7nuARJKs7diPQUPhEhmpYpBsYKTgBYncpp5q1e7WsF7LDRJ U3d2bqlWBCPZYTq3OwV9+yZK5wjsGW5zJ6yTZ0uJge3eT2AdLn21RKPCLOjRWw== 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 4Zhfwh40vSz2Vd; Tue, 22 Apr 2025 11:22:44 +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 53MBMi3o026011; Tue, 22 Apr 2025 11:22:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MBMi1S026008; Tue, 22 Apr 2025 11:22:44 GMT (envelope-from git) Date: Tue, 22 Apr 2025 11:22:44 GMT Message-Id: <202504221122.53MBMi1S026008@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: 4599a3c0b8e2 - stable/14 - cxgbe(4): Make sure suspend/resume works in recovery mode. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4599a3c0b8e2278e8400f0dc2ff54f02836b063f Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=4599a3c0b8e2278e8400f0dc2ff54f02836b063f commit 4599a3c0b8e2278e8400f0dc2ff54f02836b063f Author: Navdeep Parhar AuthorDate: 2025-02-14 00:17:54 +0000 Commit: Navdeep Parhar CommitDate: 2025-04-22 11:12:45 +0000 cxgbe(4): Make sure suspend/resume works in recovery mode. The driver does minimal initialization in this mode and suspend/resume should ignore resources that aren't setup. This is for debug only. kenv hw.cxgbe.sos="1" kldload if_cxgbe devctl suspend t6nex0 devctl resume t6nex0 Sponsored by: Chelsio Communications (cherry picked from commit f4ab14044c1de35b1aefad5449bddc5a1272f8d9) --- sys/dev/cxgbe/t4_l2t.c | 4 ++++ sys/dev/cxgbe/t4_main.c | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/sys/dev/cxgbe/t4_l2t.c b/sys/dev/cxgbe/t4_l2t.c index b210003cfac0..b1307bf2ace5 100644 --- a/sys/dev/cxgbe/t4_l2t.c +++ b/sys/dev/cxgbe/t4_l2t.c @@ -376,6 +376,8 @@ t4_stop_l2t(struct adapter *sc) { struct l2t_data *d = sc->l2t; + if (d == NULL) + return (0); rw_wlock(&d->lock); d->l2t_stopped = true; rw_wunlock(&d->lock); @@ -388,6 +390,8 @@ t4_restart_l2t(struct adapter *sc) { struct l2t_data *d = sc->l2t; + if (d == NULL) + return (0); rw_wlock(&d->lock); d->l2t_stopped = false; rw_wunlock(&d->lock); diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 6b3a68b352ad..222f58d056ad 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -1935,6 +1935,8 @@ stop_adapter(struct adapter *sc) t4_shutdown_adapter(sc); for_each_port(sc, i) { pi = sc->port[i]; + if (pi == NULL) + continue; PORT_LOCK(pi); if (pi->up_vis > 0 && pi->link_cfg.link_ok) { /* @@ -2046,6 +2048,8 @@ stop_lld(struct adapter *sc) /* Quiesce all activity. */ for_each_port(sc, i) { pi = sc->port[i]; + if (pi == NULL) + continue; pi->vxlan_tcam_entry = false; for_each_vi(pi, j, vi) { vi->xact_addr_filt = -1; @@ -4025,6 +4029,8 @@ stop_atid_allocator(struct adapter *sc) { struct tid_info *t = &sc->tids; + if (t->natids == 0) + return; mtx_lock(&t->atid_lock); t->atid_alloc_stopped = true; mtx_unlock(&t->atid_lock); @@ -4035,6 +4041,8 @@ restart_atid_allocator(struct adapter *sc) { struct tid_info *t = &sc->tids; + if (t->natids == 0) + return; mtx_lock(&t->atid_lock); KASSERT(t->atids_in_use == 0, ("%s: %d atids still in use.", __func__, t->atids_in_use)); From nobody Tue Apr 22 11:22:45 2025 X-Original-To: dev-commits-src-branches@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 4Zhfwj6sQsz5sTj0; Tue, 22 Apr 2025 11:22:45 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhfwj5SWHz3C1H; Tue, 22 Apr 2025 11:22:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320965; 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=otIRwAPVKRNQ94324acvM5/pjMHB3Z0dFvgU9H39OBY=; b=JuNHUjPq6ckllCXQWSiVQyyUIN90SIoJOVTB308REYSFr99w8NsxRbRIIjBBDWkIdkgbON D2bCcdxzPJzdcQsxU6Z81KMYOWqJGz5d1jX7xbkP6sPPN8prMcsjOicH4pQTcGj71Cl9Iv mPSGDZvyorqqHHt1LXssAzDFzd7l8NZzMBPU9PE1Z/6xiJhRjFm14+CWOxP4NOb2OoUn/c 2StjZ70O46uGTS9GFp45M0h+8joM/Andm+Ze8+1bjI1GIZP9fIQ1sJiMSLKa5xwb6CYPQV rHF3dWk+6nMp8dOPjz2KBSvWnLyv/xeBVKOLIxXIf2UGyJCR+UeooTJivl0UFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745320965; a=rsa-sha256; cv=none; b=qJXw3YWGdF3kf7F/MabogfZid0ed06bd22TvbIXU2KdZa4eUSwUYNKkhAL3/r8E2tot5hW kwMU+PXBrGeu2ajc18snqBXBpgt/GY0qHIGt95CVJAjUBhxkqfP1txnuWPFteRweLuRggo psWQytufu1cn0SCTyr4LeWDrYABjx46023/1a0nDbPrYwBtZgsDNBRke9WNcSiELuWRS2n 1Y93uP+P2jdF6uTU8DKoQ7S0bLpMQngfAXYqyTS730/l+XSaAINusI07QSpaR4wFbNEepQ xnlKOb6RhIPGI2bSH9udZwzkLxf6nhHLRPT/uuN2kTAfTa8IUYuZLk3Mk0hbDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320965; 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=otIRwAPVKRNQ94324acvM5/pjMHB3Z0dFvgU9H39OBY=; b=m8GKUWgp6f8FXnh2M7IoOYbeijHgX/EFRJmZZ6HaBV/aXVKbvjrw5cIVbI1/53OKRkiOfB 4di2U+eT5hJxazvXylJNztnKnKf00m6/zedInQ7fBDUBbC6m1YzXXhhBQJomQcPHsYd/CH V156isU6fmSyNPrrIl5s0I/mJjzBNPfi3pzt7Iy/g728IL7O9wSbopqoHnF2A9vg0jdcFM p9o0RGjMBpBHHz5W5jyYEC/AwVEviEdpeFwYDMPL90JUBgbJeMEPcTF8WotyrQUlm+PLc9 FPgfGPrFOIR2H++o5rg3t9EhYj51yjUJUUs5ChoN/3MD9jWT5lya5HLGWhHwBQ== 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 4Zhfwj5031z2Vf; Tue, 22 Apr 2025 11:22:45 +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 53MBMjqu026053; Tue, 22 Apr 2025 11:22:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MBMj8A026049; Tue, 22 Apr 2025 11:22:45 GMT (envelope-from git) Date: Tue, 22 Apr 2025 11:22:45 GMT Message-Id: <202504221122.53MBMj8A026049@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: b5a68e064164 - stable/14 - cxgbe(4): Remove smt_idx from the L2 table entry structure. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b5a68e0641648be374718105b0e3e085794bb4e5 Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=b5a68e0641648be374718105b0e3e085794bb4e5 commit b5a68e0641648be374718105b0e3e085794bb4e5 Author: Navdeep Parhar AuthorDate: 2024-09-17 02:55:09 +0000 Commit: Navdeep Parhar CommitDate: 2025-04-22 11:12:45 +0000 cxgbe(4): Remove smt_idx from the L2 table entry structure. An L2 table entry isn't associated with a particular SMT (Source MAC Table) entry. Sponsored by: Chelsio Communications (cherry picked from commit f79fba05a016d53e054d6f587213889c3e31b4db) --- sys/dev/cxgbe/t4_l2t.h | 1 - sys/dev/cxgbe/tom/t4_tom_l2t.c | 6 ++---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/sys/dev/cxgbe/t4_l2t.h b/sys/dev/cxgbe/t4_l2t.h index f8681a4ab556..13e085bb7467 100644 --- a/sys/dev/cxgbe/t4_l2t.h +++ b/sys/dev/cxgbe/t4_l2t.h @@ -63,7 +63,6 @@ struct l2t_entry { uint32_t iqid; /* iqid for reply to write_l2e */ struct sge_wrq *wrq; /* queue to use for write_l2e */ if_t ifp; /* outgoing interface */ - uint16_t smt_idx; /* SMT index */ uint16_t vlan; /* VLAN TCI (id: 0-11, prio: 13-15) */ struct l2t_entry *first; /* start of hash chain */ struct l2t_entry *next; /* next l2t_entry on chain */ diff --git a/sys/dev/cxgbe/tom/t4_tom_l2t.c b/sys/dev/cxgbe/tom/t4_tom_l2t.c index 8cc3e633444a..909abe793835 100644 --- a/sys/dev/cxgbe/tom/t4_tom_l2t.c +++ b/sys/dev/cxgbe/tom/t4_tom_l2t.c @@ -361,7 +361,7 @@ t4_l2t_get(struct port_info *pi, if_t ifp, struct sockaddr *sa) struct l2t_entry *e; struct adapter *sc = pi->adapter; struct l2t_data *d = sc->l2t; - u_int hash, smt_idx = pi->port_id; + u_int hash; uint16_t vid, pcp, vtag; KASSERT(sa->sa_family == AF_INET || sa->sa_family == AF_INET6, @@ -386,8 +386,7 @@ t4_l2t_get(struct port_info *pi, if_t ifp, struct sockaddr *sa) goto done; } for (e = d->l2tab[hash].first; e; e = e->next) { - if (l2_cmp(sa, e) == 0 && e->ifp == ifp && e->vlan == vtag && - e->smt_idx == smt_idx) { + if (l2_cmp(sa, e) == 0 && e->ifp == ifp && e->vlan == vtag) { l2t_hold(d, e); goto done; } @@ -403,7 +402,6 @@ t4_l2t_get(struct port_info *pi, if_t ifp, struct sockaddr *sa) e->state = L2T_STATE_RESOLVING; l2_store(sa, e); e->ifp = ifp; - e->smt_idx = smt_idx; e->hash = hash; e->lport = pi->lport; e->wrq = &sc->sge.ctrlq[pi->port_id]; From nobody Tue Apr 22 11:22:46 2025 X-Original-To: dev-commits-src-branches@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 4Zhfwl1G0fz5sTtv; Tue, 22 Apr 2025 11:22:47 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhfwk6G4Tz3Bsn; Tue, 22 Apr 2025 11:22:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320966; 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=VLI3TQ/FI/9t4NDjyOryVPY5YJQxQpKtcutorto+zxI=; b=Yzclh8kmZxd6bkuNzQWPPenNePoBZ82DtgJOYGpUelWkajRBtu5Uk1Q2Vv/jxUBitlhcsw PFCl09SuUgKcDw+gQ3NwSGxToLrCQfHvA6f48caBioVdmuULRfOmSfBYn8VynUje70Dx3N zQQn70gEW1gFUlEZbPT958zKTz7z7dca/lP+D0OLclLkQWJXXh7P90kidGL/4EVzkkXOsh XBiFEtG+cMz+sy2lMr+SXwY/xY4k+REJtV/BxYvKMrHi9SmZYFcRE1a2a5KnuIKxHJ2p8e RahGgMRt+avlVodUSt7q7NrDFRwp2eCydsVK6Xxca20VcyLx6uEl6chU4k6Ieg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745320966; a=rsa-sha256; cv=none; b=mSiRybt28hLXxk4HP2OL1tlW5I/o5z6BYgLPPg14JGJ0R11/WfUCc3De8S4UezMdLIcidL Vri+aS5LMkSU2jwEft3R+GUXj2m3yWY+rHX19DwqfTuw2E1QJi+DVICkSaTWxARwledn7d FEebk8WcGBDZRlckxm0HbrPilxeByQnEamJAan4V/QBHsMlxEi9XJ9ljpD6z4sE7sV6INL fCj6RX4AT5WaVZTdInsiW7gxGDVY9C7qaIqqg+irqwG/b2APbpU4fz0cAaJFLZHk4yW/rT 9Zxn3M09FW4AzRRtKH7uzTPFMIHyNQfAHR0gEc84IaFxWkWxH9n1IO7D0XFHHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320966; 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=VLI3TQ/FI/9t4NDjyOryVPY5YJQxQpKtcutorto+zxI=; b=ycVm1/a+X4cDTNikFSqSMElQ7N2oEm0lgz2RwhWx1lZWhwxrkDPxYFnF0i19DRybsNkT2J dnTM2VkVLBatmPM0/Wfppfdt5zTo8b4cf2reBGCsouPk6IWKomcRV5FjaWW5E0BchL5mVZ TWBaPFbSYtzUOrtXoM/uGcGoazDocs6MDLXNc7djOHoRrEFEWMGS0QfqC7yc4QjTXRySaR UCzKtW81SKkyhjVPh8M2Lq/aTW5fMIzXlxw1a3Asfz7EOVHudZsYu5CM6KmcJM4gBlakZ6 U5x0vvd4oTNLG1c1EEXv1mud+sdnZEjQYTotD8ECK1ROmUXKg6E5cBs9YDKpqg== 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 4Zhfwk5dQDz2g3; Tue, 22 Apr 2025 11:22:46 +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 53MBMk0L026086; Tue, 22 Apr 2025 11:22:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MBMkGh026083; Tue, 22 Apr 2025 11:22:46 GMT (envelope-from git) Date: Tue, 22 Apr 2025 11:22:46 GMT Message-Id: <202504221122.53MBMkGh026083@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: f2c75b13f3ea - stable/14 - cxgb(4): Use routines from pci(9) instead of hand rolled equivalents. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f2c75b13f3eaab6f3d16cd3869203ded8fddf4c9 Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=f2c75b13f3eaab6f3d16cd3869203ded8fddf4c9 commit f2c75b13f3eaab6f3d16cd3869203ded8fddf4c9 Author: Navdeep Parhar AuthorDate: 2024-12-09 00:05:33 +0000 Commit: Navdeep Parhar CommitDate: 2025-04-22 11:12:45 +0000 cxgb(4): Use routines from pci(9) instead of hand rolled equivalents. There is no need to include private PCI headers in the driver. Sponsored by: Chelsio Communications (cherry picked from commit 762d32354a18517c28933ddc29f9d3d855e450b1) --- sys/dev/cxgb/cxgb_main.c | 55 +++++------------------------------------------- 1 file changed, 5 insertions(+), 50 deletions(-) diff --git a/sys/dev/cxgb/cxgb_main.c b/sys/dev/cxgb/cxgb_main.c index c159849076c5..4fc07dc126a1 100644 --- a/sys/dev/cxgb/cxgb_main.c +++ b/sys/dev/cxgb/cxgb_main.c @@ -36,7 +36,6 @@ POSSIBILITY OF SUCH DAMAGE. #include #include #include -#include #include #include #include @@ -76,7 +75,6 @@ POSSIBILITY OF SUCH DAMAGE. #include #include -#include #include @@ -1138,66 +1136,23 @@ t3_fatal_err(struct adapter *sc) int t3_os_find_pci_capability(adapter_t *sc, int cap) { - device_t dev; - struct pci_devinfo *dinfo; - pcicfgregs *cfg; - uint32_t status; - uint8_t ptr; + int rc, reg = 0; - dev = sc->dev; - dinfo = device_get_ivars(dev); - cfg = &dinfo->cfg; - - status = pci_read_config(dev, PCIR_STATUS, 2); - if (!(status & PCIM_STATUS_CAPPRESENT)) - return (0); - - switch (cfg->hdrtype & PCIM_HDRTYPE) { - case 0: - case 1: - ptr = PCIR_CAP_PTR; - break; - case 2: - ptr = PCIR_CAP_PTR_2; - break; - default: - return (0); - break; - } - ptr = pci_read_config(dev, ptr, 1); - - while (ptr != 0) { - if (pci_read_config(dev, ptr + PCICAP_ID, 1) == cap) - return (ptr); - ptr = pci_read_config(dev, ptr + PCICAP_NEXTPTR, 1); - } - - return (0); + rc = pci_find_cap(sc->dev, cap, ®); + return (rc == 0 ? reg : 0); } int t3_os_pci_save_state(struct adapter *sc) { - device_t dev; - struct pci_devinfo *dinfo; - - dev = sc->dev; - dinfo = device_get_ivars(dev); - - pci_cfg_save(dev, dinfo, 0); + pci_save_state(sc->dev); return (0); } int t3_os_pci_restore_state(struct adapter *sc) { - device_t dev; - struct pci_devinfo *dinfo; - - dev = sc->dev; - dinfo = device_get_ivars(dev); - - pci_cfg_restore(dev, dinfo); + pci_restore_state(sc->dev); return (0); } From nobody Tue Apr 22 11:22:47 2025 X-Original-To: dev-commits-src-branches@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 4Zhfwm3mC6z5sTcr; Tue, 22 Apr 2025 11:22:48 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhfwl6dZ5z3Bw5; Tue, 22 Apr 2025 11:22:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320968; 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=ZvZfHGljN/hrQlV0jx+nvSrM3QxIJjx9UN0i1p9BouM=; b=Ctw0DCevrSnAHG297R5H2Jg8s8txLbrefFU1NkG5jvTLNY6kT7fcZ7KAD3emroLcTAmm7V hRyj4XIIuk48GJuuV0zoZNg5FeE+idJCIuuVdpJpszN41kC8No/VaTXwEfqzOgUkgUenIK dzVuGn+bgEERX1lYlWKm8yHl9ror85qlgiVS2/s0CgL3vpmeXwcxHoWC5hEbmVb1DScNbx qKb/twyMZrkgnVrYEDTWgcSLy5RvLsuPKsL40bA7jGf9pzPhKg+u4V8rzj5uWiDkC4shGw rn6h7X2mZkMRGl41feL0REvLtA1VvBtKA9DH/twSE459/bPZGsxlgc7WoDJ+Dw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745320968; a=rsa-sha256; cv=none; b=Gvm3mDu+7C/VDZWUKzAufNzqAsVJ4MJRXVMMc8NMngdl3KOc2x6xHFEn+er818TB5QiyJe QePLGdzNxDlp4OegMVJwIG9bjXlOxKuxRWC4r6Ciq+oZnhxR0QtPnmHB2o3llCeB4vIv1T PamTfAreGqVk/tfoQM8JGWHwrj+BUBoy79ElejKeQZWy2tsaCkj67odSxDCtxJlmPuJsJx 3JuCN7qPN+M+ird8GQTlpWKHuTaHWEbaWUbGv3sJlQuZ5C04Gvc7cMVVcVBFzad1l8ryOB LBUrixuCO+VKcZnQpx0fXRj4lS8QAeB6Wnn7a8Vmp5GSbsiXUE8jRVR0vebBVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320968; 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=ZvZfHGljN/hrQlV0jx+nvSrM3QxIJjx9UN0i1p9BouM=; b=bJXAMVmTpKN/vIhOJGi3hwLGuCTtQoHLhgSROQGnsbnzuM4JZcBw/dNAViZXvvsr+wHdSw gaGAqlPkutVttBnGq6Ma2rJA1Au1bH8AY6MQKKpR44CEwwAN6Lo2wr3wf7/J8VRgRIGeUb hPkVjwtxXASS1j9mTo9YIN1Z3sD1829x9w4/ck2ZBjnu+lI21PjmAEegCPEFBMYl9Acr/o Vz+KWtQ11PUwoLq1/dRyi1uREwA54v4/cLs73p+rsTETVyoAFnfI29Ml5fUirR1h4iqWek CpJLs51hKDsEawy/WZ7A54RldypeSj0yjfD1inUKrmBskqXcDqMyenOPCjjRdA== 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 4Zhfwl6CmMz2g5; Tue, 22 Apr 2025 11:22:47 +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 53MBMlVL026119; Tue, 22 Apr 2025 11:22:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MBMljf026116; Tue, 22 Apr 2025 11:22:47 GMT (envelope-from git) Date: Tue, 22 Apr 2025 11:22:47 GMT Message-Id: <202504221122.53MBMljf026116@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: db403eb80e0a - stable/14 - cxgbe(4): Remove some unused PCI routines and associated headers. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: db403eb80e0a5d1d6e3cddcba9d555757e4bea98 Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=db403eb80e0a5d1d6e3cddcba9d555757e4bea98 commit db403eb80e0a5d1d6e3cddcba9d555757e4bea98 Author: Navdeep Parhar AuthorDate: 2025-02-14 04:52:25 +0000 Commit: Navdeep Parhar CommitDate: 2025-04-22 11:12:45 +0000 cxgbe(4): Remove some unused PCI routines and associated headers. Sponsored by: Chelsio Communications (cherry picked from commit 9d76f6d042feecf16775a200ee79c4e50fc533ba) --- sys/dev/cxgbe/adapter.h | 2 -- sys/dev/cxgbe/t4_main.c | 28 ---------------------------- 2 files changed, 30 deletions(-) diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h index 862a90e8a441..8d10a07e0933 100644 --- a/sys/dev/cxgbe/adapter.h +++ b/sys/dev/cxgbe/adapter.h @@ -1363,8 +1363,6 @@ extern unsigned int t4_ddp_rcvbuf_cache; extern device_method_t cxgbe_methods[]; int t4_os_find_pci_capability(struct adapter *, int); -int t4_os_pci_save_state(struct adapter *); -int t4_os_pci_restore_state(struct adapter *); void t4_os_portmod_changed(struct port_info *); void t4_os_link_changed(struct port_info *); void t4_iterate(void (*)(struct adapter *, void *), void *); diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 222f58d056ad..f79fb799f5e1 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -45,10 +45,8 @@ #include #include #include -#include #include #include -#include #include #include #include @@ -12126,32 +12124,6 @@ t4_os_find_pci_capability(struct adapter *sc, int cap) return (pci_find_cap(sc->dev, cap, &i) == 0 ? i : 0); } -int -t4_os_pci_save_state(struct adapter *sc) -{ - device_t dev; - struct pci_devinfo *dinfo; - - dev = sc->dev; - dinfo = device_get_ivars(dev); - - pci_cfg_save(dev, dinfo, 0); - return (0); -} - -int -t4_os_pci_restore_state(struct adapter *sc) -{ - device_t dev; - struct pci_devinfo *dinfo; - - dev = sc->dev; - dinfo = device_get_ivars(dev); - - pci_cfg_restore(dev, dinfo); - return (0); -} - void t4_os_portmod_changed(struct port_info *pi) { From nobody Tue Apr 22 11:22:48 2025 X-Original-To: dev-commits-src-branches@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 4Zhfwp2PGyz5sTyq; Tue, 22 Apr 2025 11:22:50 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhfwn0C7hz3C1m; Tue, 22 Apr 2025 11:22:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320969; 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=YRTv7q4e4FP01G82PoYxZdCU6Bujhaf+EXHxv/utr7I=; b=WttZKsk2RWuO7QC4F52cbDvjhLyKSfK/vMuJzFYv2fpIsRPYEQYs2WvU/ELG74X5ACwaRq dL3YokJctxaDeZo4J5UY6q0uqr+5iPLfoYf18DERD8mEnep12kqMn3RSHuzdlO/nW1jJ7D HVv+Okg+Ucdxe9e9SJ+haodutqnqgoZKACYUR/EBqhiuK9Djd7dxyrwA4hLD2h0klMSLbk 31P7xen0aVcFUzUYnoqSaK4ksIfNENnqOiuo8tGnqzaidUVbKVjMZCOpADCDHDZ4EWcgs/ SMHhKyCUnvNp7UufEBelNgQEYe34vxxNBxB/NKSIy1yqgMRt4X98VCGNX3cPkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745320969; a=rsa-sha256; cv=none; b=U4eGsO/bbJdae+FwHfzaPDcuvePWDFtTPeiOAE5rDDd0xC2qXm0DFuXCemec9+obN2PT7p yh7tDgTR/tiChg7NG8cjTuKrjRIw8AMEaChFxz8Pv/yp+yKZ6HUHCOPIFmqiOHg7E418HD nYhoiTXgKWEYsjctNHiuytfFEaP0VWuHjfW9Crv2uQC+YMv/qDnuEC2jq3iXoD5/GfeJSm D18GuvEMoOZkW/bjIAjDjQC924fivB6I508/HkkInlZ3A9FGCuNAyWcQGil6mQ+/Bjz2Kp FcHjz4xVPS5U+mrtiTBmXZVuVEwiOfvKukkDVePFT8loKcBgLusTn5rDp245Sg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320969; 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=YRTv7q4e4FP01G82PoYxZdCU6Bujhaf+EXHxv/utr7I=; b=Wk2G3bqmuOwjJsFq+tOF9VZOy6F/Le7EOwtOVgxY7T+ARJGKzvBCVRZemCBp7kI2F2CMeU pX4hodxj7f8WNahQ2eCymdMQdol38z31y/lK17W5tVwMT7m92OvPMZvZWMrtcamsIP/W0v 7pPXQu4Z3rC4y5CfGPH0BSd0wEne0pv4ft1ZalsEP5AEUV+vPRRV4qmyGx2xcPCwo621e8 PHodXAqZXamr64UU6bsGvUSoHCt0cohweM5gnRJuHJeUhJY2y93wqJBZEzm+Zyi6V2mCCW fn1c2BPhOWXLGwtpj12+unwU/0zUyvs/AuOn0CMnsqUREV4MNcuMKckebGDt4Q== 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 4Zhfwm6v8wz20b; Tue, 22 Apr 2025 11:22:48 +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 53MBMmkO026152; Tue, 22 Apr 2025 11:22:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MBMm1L026149; Tue, 22 Apr 2025 11:22:48 GMT (envelope-from git) Date: Tue, 22 Apr 2025 11:22:48 GMT Message-Id: <202504221122.53MBMm1L026149@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: 4e9f82956158 - stable/14 - cxgbe(4): Use correct priority in begin_synchronized_op. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4e9f82956158d689e378e7dd12f5e1b29d8e25d2 Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=4e9f82956158d689e378e7dd12f5e1b29d8e25d2 commit 4e9f82956158d689e378e7dd12f5e1b29d8e25d2 Author: Navdeep Parhar AuthorDate: 2024-10-04 18:14:33 +0000 Commit: Navdeep Parhar CommitDate: 2025-04-22 11:12:46 +0000 cxgbe(4): Use correct priority in begin_synchronized_op. It was always set to PCATCH because the driver tested (INTR_OK) instead of (flags & INTR_OK). Fit a WITNESS_WARN in a single line while here. Sponsored by: Chelsio Communications (cherry picked from commit 04bf43505bae1bb20d315a44e977d97aed3e5733) --- sys/dev/cxgbe/t4_main.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index f79fb799f5e1..87ef7a53ff6f 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -6338,20 +6338,13 @@ int begin_synchronized_op(struct adapter *sc, struct vi_info *vi, int flags, char *wmesg) { - int rc, pri; + int rc; #ifdef WITNESS /* the caller thinks it's ok to sleep, but is it really? */ if (flags & SLEEP_OK) - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, - "begin_synchronized_op"); + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, __func__); #endif - - if (INTR_OK) - pri = PCATCH; - else - pri = 0; - ADAPTER_LOCK(sc); for (;;) { @@ -6370,7 +6363,8 @@ begin_synchronized_op(struct adapter *sc, struct vi_info *vi, int flags, goto done; } - if (mtx_sleep(&sc->flags, &sc->sc_lock, pri, wmesg, 0)) { + if (mtx_sleep(&sc->flags, &sc->sc_lock, + flags & INTR_OK ? PCATCH : 0, wmesg, 0)) { rc = EINTR; goto done; } From nobody Tue Apr 22 11:22:49 2025 X-Original-To: dev-commits-src-branches@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 4Zhfwp4Zxjz5sV2G; Tue, 22 Apr 2025 11:22:50 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhfwp19w6z3ByN; Tue, 22 Apr 2025 11:22:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320970; 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=8KDKMp2r6tV7pPTkD/t/tC7s32OOyedLFleIq6Nh0S4=; b=YyW9vYx711cVb+KGkBMugsnSeNHZ2Enp6oPLMcEcP6oVfkjoe5IRw90IpsqROO5GbO+vHu o98bafV7COuoIYlEvt1Gd51IsYnemkuJp6gBsPelflYOQ3hvyitxsGcGMkSHa4mUObDzLi obdVomrTpj9RWEj1h3AiUeTPBjDUvfTsY6RIRWXlNi+Dpac/ClNP6P5N3C3iAWFIyTTniE ExbsZOq84H5YyqkeOAOcCVglEnh6ImX4xvg1cygHkdMhqDcOqgSbvwq1iuJpRVXkbsw4eZ cFjWSUnXlnF9yv7niY+YgNGxvfET6CXu/pDJ25U24lTbtPbr5Swg/SKjyHWlOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745320970; a=rsa-sha256; cv=none; b=FQ70IPYZXRWmNJRNNcE/77DH5HZEPMXyM5fy7PH5JXcetadBEBMIHQNgC1z7c+Vx8qf1N9 Q3rOhtTUrgech4WmZz43/GcWRv9AerBKsfQkQtNpjj6aUM2sCT6MtCxnllU8uT9he0n2zY T2mWcskOC6JhC3WtqB0DobDTvXEFkVyiLb2N+eCleSgkFxw70HePPzNAhccbUXr2QJ3VmQ 8ANkgG9Bwh0vUuQclUqSEXXjP12LEf3GvQsCWs+0Hl2U2zbqYuEMjWvwJYqDsoWGKL8sSY o51rhAjQ6IsRgptTajcO1rWtia+XemB+niLpLl3wOpBwEv9qIss8VXlUDgSkbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320970; 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=8KDKMp2r6tV7pPTkD/t/tC7s32OOyedLFleIq6Nh0S4=; b=D+LkikO15JpeWCGQDPoGOkVg1PnrqfGCCQ2lx1JpAZJNi5UiR3GaKy36B+nZVzfzv3+40H JfFnjcoe/YCWtEUeMpUEnpydnE1iZ6jf/OXgLsRI+eI2Ib0GoWJv9Vec4T7wwkyrUKxs2Y KPfD5C/A+rM6TZ5O52CIBs8xwafODfZ0I3DrYlaursYp/5fUKQ4ma+pQWw4rEFyeMbtRzQ 7XflK1XuA9xE3TcdSMGc49rJ8ddj1S3Ty8mPh8NBkPzVtrWgw6irRRcFPZaYPEB7TlDG7W F/n59i+ybBJws9ShpPmHjPyFkbLm9fO85lkkX6DJl8+X0Mauo0IT8Tec0jmEwg== 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 4Zhfwp0lDTz2Vg; Tue, 22 Apr 2025 11:22:50 +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 53MBMofM026186; Tue, 22 Apr 2025 11:22:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MBMnem026183; Tue, 22 Apr 2025 11:22:49 GMT (envelope-from git) Date: Tue, 22 Apr 2025 11:22:49 GMT Message-Id: <202504221122.53MBMnem026183@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: 516fee542293 - stable/14 - cxgbe(4): Block most access to the hardware as soon as the adapter stops. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 516fee542293d4217317b9f390f0e976da2e6f84 Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=516fee542293d4217317b9f390f0e976da2e6f84 commit 516fee542293d4217317b9f390f0e976da2e6f84 Author: Navdeep Parhar AuthorDate: 2025-02-12 00:29:46 +0000 Commit: Navdeep Parhar CommitDate: 2025-04-22 11:12:46 +0000 cxgbe(4): Block most access to the hardware as soon as the adapter stops. Add a new hw_all_ok() routine and use it to avoid hardware access in the public control interfaces (ifnet ioctls, ifmedia calls, etc.). Continue to use hw_off_limits() in the private ioctls/sysctls and other debug code. Retire adapter_stopped() as it's of no use by itself. This fixes problems where ifnet slow-path operations would enter a synch_op just before set_adapter_hwstatus(false) and touch the hardware when it's not safe to do so. Sponsored by: Chelsio Communications (cherry picked from commit e19d84979a183deb37ce6d7e385c3ccf02a3c8c7) --- sys/dev/cxgbe/adapter.h | 10 ++++++---- sys/dev/cxgbe/t4_clip.c | 2 +- sys/dev/cxgbe/t4_filter.c | 8 ++++---- sys/dev/cxgbe/t4_main.c | 40 ++++++++++++++++++++-------------------- sys/dev/cxgbe/tom/t4_tom_l2t.c | 2 +- 5 files changed, 32 insertions(+), 30 deletions(-) diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h index 8d10a07e0933..3bf4f666ce7d 100644 --- a/sys/dev/cxgbe/adapter.h +++ b/sys/dev/cxgbe/adapter.h @@ -1118,7 +1118,7 @@ forwarding_intr_to_fwq(struct adapter *sc) return (sc->intr_count == 1); } -/* Works reliably inside a sync_op or with reg_lock held. */ +/* Works reliably inside a synch_op or with reg_lock held. */ static inline bool hw_off_limits(struct adapter *sc) { @@ -1127,12 +1127,14 @@ hw_off_limits(struct adapter *sc) return (__predict_false(off_limits != 0)); } +/* Works reliably inside a synch_op or with reg_lock held. */ static inline bool -adapter_stopped(struct adapter *sc) +hw_all_ok(struct adapter *sc) { - const int stopped = atomic_load_int(&sc->error_flags) & ADAP_STOPPED; + const int not_ok = atomic_load_int(&sc->error_flags) & + (ADAP_STOPPED | HW_OFF_LIMITS); - return (__predict_false(stopped != 0)); + return (__predict_true(not_ok == 0)); } static inline int diff --git a/sys/dev/cxgbe/t4_clip.c b/sys/dev/cxgbe/t4_clip.c index 24f049f9dc06..e462a064847f 100644 --- a/sys/dev/cxgbe/t4_clip.c +++ b/sys/dev/cxgbe/t4_clip.c @@ -576,7 +576,7 @@ update_hw_clip_table(struct adapter *sc) rc = begin_synchronized_op(sc, NULL, HOLD_LOCK, "t4clip"); if (rc != 0) return (rc); - if (hw_off_limits(sc)) + if (!hw_all_ok(sc)) goto done; /* with rc = 0, we don't want to reschedule. */ while (!TAILQ_EMPTY(&sc->clip_pending)) { ce = TAILQ_FIRST(&sc->clip_pending); diff --git a/sys/dev/cxgbe/t4_filter.c b/sys/dev/cxgbe/t4_filter.c index 359aae6df24e..8d4552116d96 100644 --- a/sys/dev/cxgbe/t4_filter.c +++ b/sys/dev/cxgbe/t4_filter.c @@ -520,7 +520,7 @@ set_filter_mode(struct adapter *sc, uint32_t mode) if (rc) return (rc); - if (hw_off_limits(sc)) { + if (!hw_all_ok(sc)) { rc = ENXIO; goto done; } @@ -571,7 +571,7 @@ set_filter_mask(struct adapter *sc, uint32_t mode) if (rc) return (rc); - if (hw_off_limits(sc)) { + if (!hw_all_ok(sc)) { rc = ENXIO; goto done; } @@ -602,7 +602,7 @@ get_filter_hits(struct adapter *sc, uint32_t tid) tcb_addr = t4_read_reg(sc, A_TP_CMM_TCB_BASE) + tid * TCB_SIZE; mtx_lock(&sc->reg_lock); - if (hw_off_limits(sc)) + if (!hw_all_ok(sc)) hits = 0; else if (is_t4(sc)) { uint64_t t; @@ -976,7 +976,7 @@ set_filter(struct adapter *sc, struct t4_filter *t) if (rc) return (rc); - if (hw_off_limits(sc)) { + if (!hw_all_ok(sc)) { rc = ENXIO; goto done; } diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 87ef7a53ff6f..4bfb4b007a4f 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -1133,7 +1133,7 @@ t4_calibration(void *arg) sc = (struct adapter *)arg; - KASSERT((hw_off_limits(sc) == 0), ("hw_off_limits at t4_calibration")); + KASSERT(hw_all_ok(sc), ("!hw_all_ok at t4_calibration")); hw = t4_read_reg64(sc, A_SGE_TIMESTAMP_LO); sbt = sbinuptime(); @@ -2876,7 +2876,7 @@ cxgbe_ioctl(if_t ifp, unsigned long cmd, caddr_t data) if_setmtu(ifp, mtu); if (vi->flags & VI_INIT_DONE) { t4_update_fl_bufsize(ifp); - if (!hw_off_limits(sc) && + if (hw_all_ok(sc) && if_getdrvflags(ifp) & IFF_DRV_RUNNING) rc = update_mac_settings(ifp, XGMAC_MTU); } @@ -2888,7 +2888,7 @@ cxgbe_ioctl(if_t ifp, unsigned long cmd, caddr_t data) if (rc) return (rc); - if (hw_off_limits(sc)) { + if (!hw_all_ok(sc)) { rc = ENXIO; goto fail; } @@ -2916,7 +2916,7 @@ cxgbe_ioctl(if_t ifp, unsigned long cmd, caddr_t data) rc = begin_synchronized_op(sc, vi, SLEEP_OK | INTR_OK, "t4multi"); if (rc) return (rc); - if (!hw_off_limits(sc) && if_getdrvflags(ifp) & IFF_DRV_RUNNING) + if (hw_all_ok(sc) && if_getdrvflags(ifp) & IFF_DRV_RUNNING) rc = update_mac_settings(ifp, XGMAC_MCADDRS); end_synchronized_op(sc, 0); break; @@ -3091,7 +3091,7 @@ fail: rc = begin_synchronized_op(sc, vi, SLEEP_OK | INTR_OK, "t4i2c"); if (rc) return (rc); - if (hw_off_limits(sc)) + if (!hw_all_ok(sc)) rc = ENXIO; else rc = -t4_i2c_rd(sc, sc->mbox, pi->port_id, i2c.dev_addr, @@ -3368,7 +3368,7 @@ cxgbe_media_change(if_t ifp) if (IFM_OPTIONS(ifm->ifm_media) & IFM_ETH_TXPAUSE) lc->requested_fc |= PAUSE_TX; } - if (pi->up_vis > 0 && !hw_off_limits(sc)) { + if (pi->up_vis > 0 && hw_all_ok(sc)) { fixup_link_config(pi); rc = apply_link_config(pi); } @@ -3536,7 +3536,7 @@ cxgbe_media_status(if_t ifp, struct ifmediareq *ifmr) return; PORT_LOCK(pi); - if (pi->up_vis == 0 && !hw_off_limits(sc)) { + if (pi->up_vis == 0 && hw_all_ok(sc)) { /* * If all the interfaces are administratively down the firmware * does not report transceiver changes. Refresh port info here @@ -8286,7 +8286,7 @@ sysctl_btphy(SYSCTL_HANDLER_ARGS) rc = begin_synchronized_op(sc, &pi->vi[0], SLEEP_OK | INTR_OK, "t4btt"); if (rc) return (rc); - if (hw_off_limits(sc)) + if (!hw_all_ok(sc)) rc = ENXIO; else { /* XXX: magic numbers */ @@ -8343,7 +8343,7 @@ sysctl_tx_vm_wr(SYSCTL_HANDLER_ARGS) "t4txvm"); if (rc) return (rc); - if (hw_off_limits(sc)) + if (!hw_all_ok(sc)) rc = ENXIO; else if (if_getdrvflags(vi->ifp) & IFF_DRV_RUNNING) { /* @@ -8557,7 +8557,7 @@ sysctl_pause_settings(SYSCTL_HANDLER_ARGS) "t4PAUSE"); if (rc) return (rc); - if (!hw_off_limits(sc)) { + if (hw_all_ok(sc)) { PORT_LOCK(pi); lc->requested_fc = n; fixup_link_config(pi); @@ -8653,7 +8653,7 @@ sysctl_requested_fec(SYSCTL_HANDLER_ARGS) lc->requested_fec = n & (M_FW_PORT_CAP32_FEC | FEC_MODULE); } - if (!hw_off_limits(sc)) { + if (hw_all_ok(sc)) { fixup_link_config(pi); if (pi->up_vis > 0) { rc = apply_link_config(pi); @@ -8691,7 +8691,7 @@ sysctl_module_fec(SYSCTL_HANDLER_ARGS) rc = EBUSY; goto done; } - if (hw_off_limits(sc)) { + if (!hw_all_ok(sc)) { rc = ENXIO; goto done; } @@ -8757,7 +8757,7 @@ sysctl_autoneg(SYSCTL_HANDLER_ARGS) goto done; } lc->requested_aneg = val; - if (!hw_off_limits(sc)) { + if (hw_all_ok(sc)) { fixup_link_config(pi); if (pi->up_vis > 0) rc = apply_link_config(pi); @@ -8792,7 +8792,7 @@ sysctl_force_fec(SYSCTL_HANDLER_ARGS) return (rc); PORT_LOCK(pi); lc->force_fec = val; - if (!hw_off_limits(sc)) { + if (hw_all_ok(sc)) { fixup_link_config(pi); if (pi->up_vis > 0) rc = apply_link_config(pi); @@ -8832,7 +8832,7 @@ sysctl_temperature(SYSCTL_HANDLER_ARGS) rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4temp"); if (rc) return (rc); - if (hw_off_limits(sc)) + if (!hw_all_ok(sc)) rc = ENXIO; else { param = V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DEV) | @@ -8863,7 +8863,7 @@ sysctl_vdd(SYSCTL_HANDLER_ARGS) "t4vdd"); if (rc) return (rc); - if (hw_off_limits(sc)) + if (!hw_all_ok(sc)) rc = ENXIO; else { param = V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DEV) | @@ -8900,7 +8900,7 @@ sysctl_reset_sensor(SYSCTL_HANDLER_ARGS) rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4srst"); if (rc) return (rc); - if (hw_off_limits(sc)) + if (!hw_all_ok(sc)) rc = ENXIO; else { param = (V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DEV) | @@ -8926,7 +8926,7 @@ sysctl_loadavg(SYSCTL_HANDLER_ARGS) rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4lavg"); if (rc) return (rc); - if (hw_off_limits(sc)) + if (hw_all_ok(sc)) rc = ENXIO; else { param = V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DEV) | @@ -12380,7 +12380,7 @@ toe_capability(struct vi_info *vi, bool enable) if (!is_offload(sc)) return (ENODEV); - if (hw_off_limits(sc)) + if (!hw_all_ok(sc)) return (ENXIO); if (enable) { @@ -12643,7 +12643,7 @@ ktls_capability(struct adapter *sc, bool enable) return (ENODEV); if (!is_t6(sc)) return (0); - if (hw_off_limits(sc)) + if (!hw_all_ok(sc)) return (ENXIO); if (enable) { diff --git a/sys/dev/cxgbe/tom/t4_tom_l2t.c b/sys/dev/cxgbe/tom/t4_tom_l2t.c index 909abe793835..3fd0d5ca41d4 100644 --- a/sys/dev/cxgbe/tom/t4_tom_l2t.c +++ b/sys/dev/cxgbe/tom/t4_tom_l2t.c @@ -289,7 +289,7 @@ again: mtx_unlock(&e->lock); goto again; } - if (adapter_stopped(sc)) + if (!hw_all_ok(sc)) free(wr, M_CXGBE); else arpq_enqueue(e, wr); From nobody Tue Apr 22 11:22:51 2025 X-Original-To: dev-commits-src-branches@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 4Zhfwq73JHz5sTfk; Tue, 22 Apr 2025 11:22:51 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhfwq29Wvz3Bwb; Tue, 22 Apr 2025 11:22:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320971; 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=yf4DYsPjN51r/omlmdTVDePbtGHDsjPBdx5Q2AnfpZo=; b=lOZY7O8cROFGChOuiUnjdSlQ1DU/4aIWOBqZK7taXQcBIjirCR9jB261rpG2lpZu3N0dKu kk7MgtLayO4cWTCbQskwSocpOSbIfhdU6gTZwimQmGF3JSy1tpFzUnz0tMpkY+1EOeP6m9 +cnJmNwiERxjd25hHEf5AJ2OmsPVNV6GdEq0dl/c9JHQ15ocHRzWE+E0TKvdNVew0/snB5 v4iDR7CrHWFzReeS420+4KOUMj/HhiwOu3ZsIV98hQr6PBru4LNso7sJpR05P/bNfQBrWC Ix7snAKPuKjW1UOWE61jRwwSlwQUa/itX4RTRxrYzGURZsVUyBENaWGMZax+MA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745320971; a=rsa-sha256; cv=none; b=lq14OuVW2aGpU+AlbjGFzhJzKVA4xIJpVGcoQhIzX8pjt2dKZfkPi4taiAXxuWHMTZ1Q50 e67L5D05bNc62dQSPJSbPhLPcRPt9s0r1ZN8bM21m3ivyuSfJ8/SKPuIB07MYPofhl0FZx pqZppy57PmaGq4HbGa1SYtnBwguoufQKQgBoXlh+qxIFZ9Axbx5/+ZVHSPMZUwiMfY1M2S iN+2HRWQwpYmwwIXYtxfKQdd4vuHgkOXjAmCpDD0vZFqvL08kiTbc9/HPJo93IKS9ypfr1 nHwWFyj1HdwiNrNVaFHI2PZZpgRwP5CY/My45TudKMvwGU6WREiGMzwaxIGD2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320971; 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=yf4DYsPjN51r/omlmdTVDePbtGHDsjPBdx5Q2AnfpZo=; b=xQCI5E41uM1WH/xQT0KTEmh+Th9mx3W2Kor7ZmDW+RL6Sr9L6skIYP839TB2hQg0ZwLTyf p+FdvWIYR2Zm1qWj7bHBMlR3Od0PPBJYFpyBrPdFMqFpihqPGe2KejCfXWAyzr7RnHqwDm +s2u69keY7K4otP6KM8XS2cdOmuMuuCwKNks5ch7/0+u46V+/k26h96gxxdwdj3gghCCLJ gM7EwUBLZ5GdN4WI8CjZG55L0V1afc0u+azcdyt/Gux6uaE0V/6Ybis5Z3mbe/KQUAUbAe XnlxAjhCqeo5l73Lew6vY/E02HuY/qjdwo2ZmnkfVxaoCSRr1R75+6CUDp+Tcw== 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 4Zhfwq1VM4z2Vh; Tue, 22 Apr 2025 11:22:51 +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 53MBMp2p026226; Tue, 22 Apr 2025 11:22:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MBMp2S026223; Tue, 22 Apr 2025 11:22:51 GMT (envelope-from git) Date: Tue, 22 Apr 2025 11:22:51 GMT Message-Id: <202504221122.53MBMp2S026223@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: ca9d5b10ebfe - stable/14 - cxgbe(4): Perform Conventional Reset instead of FLR on the device. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ca9d5b10ebfe810aeb644fb7402523993c5d6434 Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=ca9d5b10ebfe810aeb644fb7402523993c5d6434 commit ca9d5b10ebfe810aeb644fb7402523993c5d6434 Author: Navdeep Parhar AuthorDate: 2024-12-07 08:00:49 +0000 Commit: Navdeep Parhar CommitDate: 2025-04-22 11:12:46 +0000 cxgbe(4): Perform Conventional Reset instead of FLR on the device. The driver uses bus_reset_child on its parent to reset itself but that performs an FLR whereas the hardware needs a Conventional Reset[1] for full re-initialization. Add routines that perform conventional hot reset and use them instead. The available reset mechanisms are: * PCIe secondary bus reset (default) * PCIe link bounce hw.cxgbe.reset_method can be used to override the default. The internal PL_RST is also available but is for testing only. [1] 6.6.1 in PCI Express® Base Specification 5.0 version 1.0 Sponsored by: Chelsio Communications (cherry picked from commit 011e3d0b8b90a4330f14b2cb7da45ed7b805ed10) --- sys/dev/cxgbe/t4_main.c | 137 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 118 insertions(+), 19 deletions(-) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 4bfb4b007a4f..1f08a1611f1d 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -633,6 +633,10 @@ static int t4_reset_on_fatal_err = 0; SYSCTL_INT(_hw_cxgbe, OID_AUTO, reset_on_fatal_err, CTLFLAG_RWTUN, &t4_reset_on_fatal_err, 0, "reset adapter on fatal errors"); +static int t4_reset_method = 1; +SYSCTL_INT(_hw_cxgbe, OID_AUTO, reset_method, CTLFLAG_RWTUN, &t4_reset_method, + 0, "reset method: 0 = PL_RST, 1 = PCIe secondary bus reset, 2 = PCIe link bounce"); + static int t4_clock_gate_on_suspend = 0; SYSCTL_INT(_hw_cxgbe, OID_AUTO, clock_gate_on_suspend, CTLFLAG_RWTUN, &t4_clock_gate_on_suspend, 0, "gate the clock on suspend"); @@ -2546,40 +2550,135 @@ t4_reset_post(device_t dev, device_t child) return (0); } -static int -reset_adapter_with_pci_bus_reset(struct adapter *sc) -{ - int rc; - - mtx_lock(&Giant); - rc = BUS_RESET_CHILD(device_get_parent(sc->dev), sc->dev, 0); - mtx_unlock(&Giant); - return (rc); -} - static int reset_adapter_with_pl_rst(struct adapter *sc) { - suspend_adapter(sc); - /* This is a t4_write_reg without the hw_off_limits check. */ MPASS(sc->error_flags & HW_OFF_LIMITS); bus_space_write_4(sc->bt, sc->bh, A_PL_RST, F_PIORSTMODE | F_PIORST | F_AUTOPCIEPAUSE); pause("pl_rst", 1 * hz); /* Wait 1s for reset */ + return (0); +} - resume_adapter(sc); +static int +reset_adapter_with_pcie_sbr(struct adapter *sc) +{ + device_t pdev = device_get_parent(sc->dev); + device_t gpdev = device_get_parent(pdev); + device_t *children; + int rc, i, lcap, lsta, nchildren; + uint32_t v; - return (0); + rc = pci_find_cap(gpdev, PCIY_EXPRESS, &v); + if (rc != 0) { + CH_ERR(sc, "%s: pci_find_cap(%s, pcie) failed: %d\n", __func__, + device_get_nameunit(gpdev), rc); + return (ENOTSUP); + } + lcap = v + PCIER_LINK_CAP; + lsta = v + PCIER_LINK_STA; + + nchildren = 0; + device_get_children(pdev, &children, &nchildren); + for (i = 0; i < nchildren; i++) + pci_save_state(children[i]); + v = pci_read_config(gpdev, PCIR_BRIDGECTL_1, 2); + pci_write_config(gpdev, PCIR_BRIDGECTL_1, v | PCIB_BCR_SECBUS_RESET, 2); + pause("pcie_sbr1", hz / 10); /* 100ms */ + pci_write_config(gpdev, PCIR_BRIDGECTL_1, v, 2); + pause("pcie_sbr2", hz); /* Wait 1s before restore_state. */ + v = pci_read_config(gpdev, lsta, 2); + if (pci_read_config(gpdev, lcap, 2) & PCIEM_LINK_CAP_DL_ACTIVE) + rc = v & PCIEM_LINK_STA_DL_ACTIVE ? 0 : ETIMEDOUT; + else if (v & (PCIEM_LINK_STA_TRAINING_ERROR | PCIEM_LINK_STA_TRAINING)) + rc = ETIMEDOUT; + else + rc = 0; + if (rc != 0) + CH_ERR(sc, "%s: PCIe link is down after reset, LINK_STA 0x%x\n", + __func__, v); + else { + for (i = 0; i < nchildren; i++) + pci_restore_state(children[i]); + } + free(children, M_TEMP); + + return (rc); +} + +static int +reset_adapter_with_pcie_link_bounce(struct adapter *sc) +{ + device_t pdev = device_get_parent(sc->dev); + device_t gpdev = device_get_parent(pdev); + device_t *children; + int rc, i, lcap, lctl, lsta, nchildren; + uint32_t v; + + rc = pci_find_cap(gpdev, PCIY_EXPRESS, &v); + if (rc != 0) { + CH_ERR(sc, "%s: pci_find_cap(%s, pcie) failed: %d\n", __func__, + device_get_nameunit(gpdev), rc); + return (ENOTSUP); + } + lcap = v + PCIER_LINK_CAP; + lctl = v + PCIER_LINK_CTL; + lsta = v + PCIER_LINK_STA; + + nchildren = 0; + device_get_children(pdev, &children, &nchildren); + for (i = 0; i < nchildren; i++) + pci_save_state(children[i]); + v = pci_read_config(gpdev, lctl, 2); + pci_write_config(gpdev, lctl, v | PCIEM_LINK_CTL_LINK_DIS, 2); + pause("pcie_lnk1", 100 * hz / 1000); /* 100ms */ + pci_write_config(gpdev, lctl, v | PCIEM_LINK_CTL_RETRAIN_LINK, 2); + pause("pcie_lnk2", hz); /* Wait 1s before restore_state. */ + v = pci_read_config(gpdev, lsta, 2); + if (pci_read_config(gpdev, lcap, 2) & PCIEM_LINK_CAP_DL_ACTIVE) + rc = v & PCIEM_LINK_STA_DL_ACTIVE ? 0 : ETIMEDOUT; + else if (v & (PCIEM_LINK_STA_TRAINING_ERROR | PCIEM_LINK_STA_TRAINING)) + rc = ETIMEDOUT; + else + rc = 0; + if (rc != 0) + CH_ERR(sc, "%s: PCIe link is down after reset, LINK_STA 0x%x\n", + __func__, v); + else { + for (i = 0; i < nchildren; i++) + pci_restore_state(children[i]); + } + free(children, M_TEMP); + + return (rc); } static inline int reset_adapter(struct adapter *sc) { - if (vm_guest == 0) - return (reset_adapter_with_pci_bus_reset(sc)); - else - return (reset_adapter_with_pl_rst(sc)); + int rc; + const int reset_method = vm_guest == VM_GUEST_NO ? t4_reset_method : 0; + + rc = suspend_adapter(sc); + if (rc != 0) + return (rc); + + switch (reset_method) { + case 1: + rc = reset_adapter_with_pcie_sbr(sc); + break; + case 2: + rc = reset_adapter_with_pcie_link_bounce(sc); + break; + case 0: + default: + rc = reset_adapter_with_pl_rst(sc); + break; + } + if (rc == 0) + rc = resume_adapter(sc); + return (rc); } static void From nobody Tue Apr 22 11:22:54 2025 X-Original-To: dev-commits-src-branches@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 4Zhfwv4rTqz5sTyC; Tue, 22 Apr 2025 11:22:55 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhfwt51TDz3C2p; Tue, 22 Apr 2025 11:22:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320974; 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=U3klj5XV6hdtmjUcub+GwymDP11WBjcVMlclqPFJ+d4=; b=ceUGJCkKCRGAYlq3M4OHkIwJMJoqxfSBt9pGHSoCDwxs2HAeb/FU3485gL2yAjp4qnWBRH w76nER7Tum61jh3mdQhfI+ntmay00CCf5TBpmidZNz1T6YeJVc4Nedxy+xT/1Z2ZmIVV+U lXurYP1RhyCvLfI/XiCjYRZh8vWQNmCVBer5DMoIobQmMWoXnP2Edg38T3xjezLITJVA9J 8dKfCf8/D7p53BYubbgdDNnqMgeUyx3XDbGD+UqtyPgzrNkx2qfQq0G4zaZIpYDYpyX21Y 55K39Ngp7OBmXb6QwyQ9sZEU0aosaONIEsVY4n3/EY+mJ8+pjFpkLS0jYMg+0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745320974; a=rsa-sha256; cv=none; b=J2+hofwnrY/O0j+BcHOioN7WlZGCs5VmBRh4Q96A5GHy+4nNy6NP5g3+kMTNDT2LQECuAz u5z4QyM7LhMM144UVSc7mZwyBznL0NNv4DyR2KpcQlRzo2WAF1TPq443IrALLo8PalvnO6 u4i1OqQtzU1OKRVvMqzOCPUgeZePwgcoBk80hA1/FEcZyj3eLbJDr2XbCnY5gphiEnBqjS EwcshCa+856N2fG84SgDXO7yHz0b4GEIFspnz6BTSYGsHn0cDs+amE7YIbXavjnDHKdHHl Q+ZCfKDC7K54cTz0ly48N89r9pfoCVPIWZp8B8c9LPRiLO0oEfKGP91ZQnVjXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320974; 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=U3klj5XV6hdtmjUcub+GwymDP11WBjcVMlclqPFJ+d4=; b=kZYRkyqo7TzkwDPrk4XYCoylxv2x0koKf9vTAfxCl6l/gI+qCOUKDLaPd5G0aU/pskL/5I 7h8JB1RnVPSzEH1qGWzOh0XWAYP6huDyu6pIX+Pb2Z/Z/CNA0lcq/7rmxTYT2aOajiMFBF o8+6UgPZygjQHBSrj+a+42agOzN2lSPmvJ+JWHuS2y2+AGoXSWJdoT8c3EL7yeiNhTWHfU MSU9KQwsQ+H7I98DyCPLOoTjyDe6Kgj4oqCPNkD2hPV7dPIlSDr7HU4Gu3ONirj4NmPXMG xyJP2xjbjTUs6HOr035FbYiFCjIWJ4mTFjDXk1Db0vUWAfDINW7ZE19fPAKbEQ== 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 4Zhfwt4LfTz2Vj; Tue, 22 Apr 2025 11:22:54 +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 53MBMsl6026331; Tue, 22 Apr 2025 11:22:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MBMs2Q026328; Tue, 22 Apr 2025 11:22:54 GMT (envelope-from git) Date: Tue, 22 Apr 2025 11:22:54 GMT Message-Id: <202504221122.53MBMs2Q026328@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: f44e1748e288 - stable/14 - pci.4: Update the information on pci_bar_mmap to match pciio.h List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f44e1748e288b136ea401a33c00b0ebdf0803fab Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=f44e1748e288b136ea401a33c00b0ebdf0803fab commit f44e1748e288b136ea401a33c00b0ebdf0803fab Author: Navdeep Parhar AuthorDate: 2025-04-02 19:15:46 +0000 Commit: Navdeep Parhar CommitDate: 2025-04-22 11:12:46 +0000 pci.4: Update the information on pci_bar_mmap to match pciio.h Reviewed by: kib,markj,ziaee Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D49639 (cherry picked from commit cc05f8de571dcb9f8c64a4151d7a5567873295e3) --- share/man/man4/pci.4 | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/share/man/man4/pci.4 b/share/man/man4/pci.4 index e9b587dac12c..dc33dbdd0afc 100644 --- a/share/man/man4/pci.4 +++ b/share/man/man4/pci.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 4, 2022 +.Dd April 2, 2025 .Dt PCI 4 .Os .Sh NAME @@ -372,16 +372,18 @@ The input parameters and results are passed in the .Va pci_bar_mmap structure, which has the following fields: .Bl -tag -width Vt struct pcise pbm_sel -.It Vt uint64_t pbm_map_base +.It Vt void *pbm_map_base Reports the established mapping base to the caller. If .Va PCIIO_BAR_MMAP_FIXED flag was specified, then this field must be filled before the call with the desired address for the mapping. -.It Vt uint64_t pbm_map_length +.It Vt size_t pbm_map_length Reports the mapped length of the BAR, in bytes. -Its .Vt uint64_t value is always multiple of machine pages. -.It Vt int64_t pbm_bar_length +Its +.Vt size_t +value is always multiple of machine pages. +.It Vt uint64_t pbm_bar_length Reports length of the bar as exposed by the device. .It Vt int pbm_bar_off Reports offset from the mapped base to the start of the From nobody Tue Apr 22 11:22:53 2025 X-Original-To: dev-commits-src-branches@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 4Zhfwt3xkMz5sTyt; Tue, 22 Apr 2025 11:22:54 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhfws5hKPz3CCT; Tue, 22 Apr 2025 11:22:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320973; 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=vXZY9eSiwbID6L4SjElAnWh3B0eu/RMth3zNDrbhJcw=; b=NbSvvjXj0k/kjupzQ3hOygXsu0vgOgG53M6B/OQtVuPmWA0IpEL/r+T/qd0onAR6AEJkjs 6DH1vX3lF0VbGcN9xy5ayk8YVNPx8/sFaNbZ+78uZa35Zji52k3NLKIBx5zD89xCViA58m AYr6dn9szev0M/iGDc7Y3Ri2Eit+3wBtAtpedjL7HyvfM9NdQBqRu/a5oK/rww60ptTLIZ 3lWtOXCUCGt5Jpz2Ngj1bbpLmwG7flS7FdzvtdYlbQh5n0g66h7V5Y9c3193vg/H2fcl1u XPVu5gKGND2UzOfrBn10RoMg3hhH1/X3M0RMZ+dUd5R27YIAQQ+ItJrvub2bwg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745320973; a=rsa-sha256; cv=none; b=XY+5OBkQod1IU07gBRsLzmVh30jPtioJdD/BaQrqeiLf2coORQYI3pN6qK8j2IXM3kU5A9 +fP41JNrqbBPkcbtglrxLE5YQinMjubGZpkLNSfRbeRPqzYB4yrO23bnDoMaC6UKtWJF7w ZN2Otab5KXxiH5tloHeuYqV/VaSAqF4yCjGLhEX5tDk7Vwp/za0hna4Vmt/grCSUGoWF7L Y/p0jbSm+B9rqOI8JPHrRSaoQuVk9RASdtMXwqjkedDhdgKwK1aMb5fu7wTgQ+5xyq83WT WhE5CZGywOs+tKRPKibrhd2t/xLyMvkY14APSNnMoLZ9IGgESkv9n6sa5RSuVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320973; 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=vXZY9eSiwbID6L4SjElAnWh3B0eu/RMth3zNDrbhJcw=; b=tTU+h+fgra1u0ui1KJe/ilRjhnQ3BnDtkjTYp9u3kKyWtH+6VluS+iF91SuafKoCwIVZJR UuJRnnvo+hg1GhWyeHmyGbUTC34FD53m7vfYJ1DujEEXiP2hPnx0ZcUBzAGZJDONu7qrB6 pX2O5JZYoLYGb3p/qKjQDHezACHrn9H44Dhey/7wjUKNynfMLIcPq8RLDiF4zVLVGycnBr i0EyAsOeI5S9gi/Mx4gzQJkaSE1WsFdWUEE6CTo1IjAzmJSDYVoiT1VKX4FsJkECmcvXvP bmMTHcwbxvuQ5ZYovVh9HK9eObCsrbwYlJfzvy0nvwncPV/imymZVIl+g+pKBw== 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 4Zhfws3T2Xz2Mv; Tue, 22 Apr 2025 11:22:53 +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 53MBMr8u026296; Tue, 22 Apr 2025 11:22:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MBMroS026293; Tue, 22 Apr 2025 11:22:53 GMT (envelope-from git) Date: Tue, 22 Apr 2025 11:22:53 GMT Message-Id: <202504221122.53MBMroS026293@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: 47cdd7a9ebc6 - stable/14 - cxgbe(4): Add two new transceiver types. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 47cdd7a9ebc6f8ced53c57cd6d3c322c453caad8 Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=47cdd7a9ebc6f8ced53c57cd6d3c322c453caad8 commit 47cdd7a9ebc6f8ced53c57cd6d3c322c453caad8 Author: Navdeep Parhar AuthorDate: 2025-03-16 02:26:08 +0000 Commit: Navdeep Parhar CommitDate: 2025-04-22 11:12:46 +0000 cxgbe(4): Add two new transceiver types. Future firmwares will report these types to the driver. These transceivers work already but are misidentified as a different type. Sponsored by: Chelsio Communications (cherry picked from commit c22b297062e1440676973a8aa89cbad1571e22f9) --- sys/dev/cxgbe/firmware/t4fw_interface.h | 2 ++ sys/dev/cxgbe/t4_main.c | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/sys/dev/cxgbe/firmware/t4fw_interface.h b/sys/dev/cxgbe/firmware/t4fw_interface.h index 686bb55d658b..2794bae9474b 100644 --- a/sys/dev/cxgbe/firmware/t4fw_interface.h +++ b/sys/dev/cxgbe/firmware/t4fw_interface.h @@ -7820,6 +7820,8 @@ enum fw_port_module_type { FW_PORT_MOD_TYPE_TWINAX_PASSIVE = 0x4, FW_PORT_MOD_TYPE_TWINAX_ACTIVE = 0x5, FW_PORT_MOD_TYPE_LRM = 0x6, + FW_PORT_MOD_TYPE_LR_SIMPLEX = 0x7, + FW_PORT_MOD_TYPE_DR = 0x8, FW_PORT_MOD_TYPE_ERROR = M_FW_PORT_CMD_MODTYPE - 3, FW_PORT_MOD_TYPE_UNKNOWN = M_FW_PORT_CMD_MODTYPE - 2, FW_PORT_MOD_TYPE_NOTSUPPORTED = M_FW_PORT_CMD_MODTYPE - 1, diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 1f08a1611f1d..537249c8e5c3 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -3549,6 +3549,7 @@ port_mword(struct port_info *pi, uint32_t speed) /* Pluggable transceiver */ switch (pi->mod_type) { case FW_PORT_MOD_TYPE_LR: + case FW_PORT_MOD_TYPE_LR_SIMPLEX: switch (speed) { case FW_PORT_CAP32_SPEED_1G: return (IFM_1000_LX); @@ -3605,6 +3606,10 @@ port_mword(struct port_info *pi, uint32_t speed) if (speed == FW_PORT_CAP32_SPEED_10G) return (IFM_10G_LRM); break; + case FW_PORT_MOD_TYPE_DR: + if (speed == FW_PORT_CAP32_SPEED_100G) + return (IFM_100G_DR); + break; case FW_PORT_MOD_TYPE_NA: MPASS(0); /* Not pluggable? */ /* fall throough */ @@ -12224,7 +12229,8 @@ t4_os_portmod_changed(struct port_info *pi) struct vi_info *vi; if_t ifp; static const char *mod_str[] = { - NULL, "LR", "SR", "ER", "TWINAX", "active TWINAX", "LRM" + NULL, "LR", "SR", "ER", "TWINAX", "active TWINAX", "LRM", + "LR_SIMPLEX", "DR" }; KASSERT((pi->flags & FIXED_IFMEDIA) == 0, From nobody Tue Apr 22 11:22:52 2025 X-Original-To: dev-commits-src-branches@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 4Zhfws6bwkz5sTfn; Tue, 22 Apr 2025 11:22:53 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhfwr2tnsz3C2N; Tue, 22 Apr 2025 11:22:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320972; 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=3h8LIQCx/3cfVnxWeIy0DjM/PXT1qbKjCJ8gnMTNMzQ=; b=k0Kz3FhFDIeHd/n46BrK9bsedrX1XTdpAEn7f+Bkj5YQ5IHP9A0YzLXPrvNI1HyOF1t4Ct kZGSuz8Fzdx67/kTfZAD+sDdRsfVtmuPaLy9Bh1rDGCbyuVgo9WY2HvAWttjm8jyFQGzEh fy47U6WSZX5xLKtyZzD3/PF6Xd6oXtQLvISjA1/EGNiH0hMJKTEyQsbCiFARAiRC4uB0Xj JpfQglG8665n672HMj55e2FHa3K2iUMhZt4M1sV7rM47MnC1QAnyPDJQ/dPbDfZBdxaDEf F6sFQH1dtrcBMKpMUi5DSqst9cMm5n4F4LQVq3gyhvIxOaPj1GiRIuZfzMPtQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745320972; a=rsa-sha256; cv=none; b=PTC14KePKLnO6/IH9+JxxSvPL9dmguy3GX4ZRwk1hePM4nc5Y4+e876M1Q3sJGWMbwWVc3 n6/sEmkFsCt8XWNLIllbOUhoTPgxY40aK1DDsAUjWliZr3Sg3jIL8VP6KVeGGsLueyr3rA ZYCYB2C1bxIP2yz/5g6//m5wWIZxHdxV/CrWAEHgS1zV3egN43mZf4MPiwo1IDUmc5gqU1 /O0DdV8l7GyS7ra2g1C57VQmcCkwwGwOUNS6ACq3saIDuvvYnH0RqH1JC7xNsuSfSsU1Jq VEyTO1e8hb1KuXrn3mpbxxm+HJF6LmfnrKAP8WDrZgvHMntLxBimcp5ATG8lyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745320972; 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=3h8LIQCx/3cfVnxWeIy0DjM/PXT1qbKjCJ8gnMTNMzQ=; b=b5a/Nhw+NQz/93XDHveW60piK3ogYR9wYttfofY8zJ9QK3tsbpvhYUZaJWSWinD/9Z2sNc MjiNm8WJR0bE7hdRnL4Ul1bzzaLTP06nW4cmYbepXf1Ko2oT7bqS9M/byFCX0bH4629T4X TjlzIRPZEoT3B8+si5MLs4/GHEryY2/tsFL548hugkp4X2C5MU55T383LdXAfWK4cIJ97i p+mgSatOBIVtqfHleFfoiDDJdaM2ikqtZYo7+CZkrqma01t5HUh8cr6+vKA4EoQd1VslCX nYQw+zFFOk1jXeshhw2f+PoIlwEKuP/niXSkQ/+GiJA+l4oewIxkTgLv20Fd/g== 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 4Zhfwr2QK7z2ZJ; Tue, 22 Apr 2025 11:22:52 +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 53MBMqvD026261; Tue, 22 Apr 2025 11:22:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MBMqKG026258; Tue, 22 Apr 2025 11:22:52 GMT (envelope-from git) Date: Tue, 22 Apr 2025 11:22:52 GMT Message-Id: <202504221122.53MBMqKG026258@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: 81789c27940e - stable/14 - libifconfig: Fix nits in the descriptions of active 100G cables. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 81789c27940e63c0213f76ecfd8012097760fea8 Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=81789c27940e63c0213f76ecfd8012097760fea8 commit 81789c27940e63c0213f76ecfd8012097760fea8 Author: Navdeep Parhar AuthorDate: 2025-02-25 20:29:42 +0000 Commit: Navdeep Parhar CommitDate: 2025-04-22 11:12:46 +0000 libifconfig: Fix nits in the descriptions of active 100G cables. This is a cosmetic change affecting the "plugged: ..." line in the output of ifconfig -v. Both the 100G active cables were missing a closing parenthesis. Sponsored by: Chelsio Communications (cherry picked from commit 6460c327f6f3fdf2d1cd4db648baf6cb7d74828e) --- lib/libifconfig/sfp.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libifconfig/sfp.lua b/lib/libifconfig/sfp.lua index de738648451a..4a43b2ed780b 100644 --- a/lib/libifconfig/sfp.lua +++ b/lib/libifconfig/sfp.lua @@ -330,7 +330,7 @@ enums = { {0x0A, "RESERVED_0A", "Reserved"}, {0x09, "OBSOLETE", "Obsolete"}, {0x08, "100G_25GAUI_C2M_ACC_1", - "100G ACC (Active Copper Cable"}, + "100G ACC (Active Copper Cable)"}, {0x07, "100G_PSM4_P_SMF", "100G PSM4 Parallel SMF"}, {0x06, "100G_CWDM4", "100G CWDM4"}, {0x05, "100GBASE_SR10", "100GBASE-SR10"}, @@ -338,7 +338,7 @@ enums = { {0x03, "100GBASE_LR4_25GBASE_LR", "100GBASE-LR4 or 25GBASE-LR"}, {0x02, "100GBASE_SR4_25GBASE_SR", "100GBASE-SR4 or 25GBASE-SR"}, {0x01, "100G_25GAUI_C2M_AOC_1", - "100G AOC (Active Optical Cable"}, + "100G AOC (Active Optical Cable)"}, {0x00, "UNSPECIFIED", "Unspecified"}, }, }, From nobody Wed Apr 23 00:37:08 2025 X-Original-To: dev-commits-src-branches@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 4Zj0YJ6T6Cz5tRrZ; Wed, 23 Apr 2025 00:37:08 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zj0YJ5by3z418S; Wed, 23 Apr 2025 00:37:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745368628; 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=elgUI1/r6s9CNPJKVOahUjzrczG+MNh+4MwA1xhSudU=; b=b6FrY94XN7rocrgTDjjA3x+lH4n8pm6NtK13HrX6OTbsvV8pR6xajwsTtJpSN49LWrTxHd bUyBkENc1jDCPZgVad+L3Nt+cDeZLkMaYuthXN31BPqq+Xs9Eewcs6jn/W0Brbx3JTEqqy xAwxS/5Y8DAvJ9omIEYmBvUH+MeOiiBn3WxwzeDxmwyuWpEbJqUIegft3RdmAVjSEIltxF c9lnS3Qbp2Mst6ylcYFHyOcoasqjgCDzgQ59Wu5X0Uc9iSQEq7UQAVIclqr2c0zydkFf/C UhHYqP9bc77lIfcMUOI2UFGaBqqMlvmDEZV5eJaNR6Xc68Cj+IBJWdQ25rwVVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745368628; a=rsa-sha256; cv=none; b=wOMiA/1XOxMQ+AaPIzKP1OKBDVLHi4mawAHwGzpTCJxFY4db2h9f2yAgtHx4JUAY9ZB0B8 rvUJk1iJ895vjaj6gHz+SWbKJ2vx5KsTh+pvZJ/ocvjtrKcseGB6rCiiRydBDFPg4gXrEz lDta5BrL9clYVJ4SUXAV8mVAo66CSTFC9YcnSkHsAcXViY1Hd9NNPHs/KQFY4YXaero/62 JLEFcArE5k4mMFrxs4Clk5kIw6BAf9fqcKn7fzOL16aQ6q9pWW7KUcfGOnm4/QyM3psXGr or88nOmPKQmi6WXXLA7JlDPrM4tiS06WFxy6C/oCLySgZsoSE+e/illfF5GsDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745368628; 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=elgUI1/r6s9CNPJKVOahUjzrczG+MNh+4MwA1xhSudU=; b=jhC7jXa5c3eZS2yhU91b6b6asXHc2z7DHEXn4oR6vd4zDhUfEpsRwmpnXqA3V1E4qBOgU8 OzKvjUBzBrmf/54MxY3qWGc5jh+qBHXpSTRQ4cOWLyemAKKxwDK+cv7YiT8lubqZ4CpzHS f8m0Tje25Y91BXBZQT70lCIvnLfurco0skLK9nn/OJy61FH27CtQ5/Rui805lP0ePx0efi n5tEwEcYwXJGgQwSoQfMDKqdPRxnGUbuKOMp1jps55HZkhv2H6J+dQoMvVyVgib/MzPk8R hp9c3W7lHvHmHrlyowfD+/hyQaIQSbo6OqmH64ylFNp9W1JfG6NvlsgAVgkc4w== 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 4Zj0YJ4vf8zj2Q; Wed, 23 Apr 2025 00:37:08 +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 53N0b8ab003439; Wed, 23 Apr 2025 00:37:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53N0b87B003436; Wed, 23 Apr 2025 00:37:08 GMT (envelope-from git) Date: Wed, 23 Apr 2025 00:37:08 GMT Message-Id: <202504230037.53N0b87B003436@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Ziaee Subject: git: 6ea58552f08a - stable/14 - uipaq.4: Rewrite HARDWARE for HW Relnotes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6ea58552f08a9bd24d590a973a87db8d69b703c4 Auto-Submitted: auto-generated The branch stable/14 has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=6ea58552f08a9bd24d590a973a87db8d69b703c4 commit 6ea58552f08a9bd24d590a973a87db8d69b703c4 Author: Kenneth Raplee AuthorDate: 2025-04-14 16:25:05 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-23 00:35:58 +0000 uipaq.4: Rewrite HARDWARE for HW Relnotes Rewrite the HARDWARE section conforming to mdoc(7) and style.mdoc(7) providing better rendering and increased clarity in the HW Relnotes. MFC after: 3 days Reviewed by: carlavilla, imp, ziaee Approved by: carlavilla (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1665 (cherry picked from commit 85a3ec9de84bc7787c11fa25bca54b8bc4d814fa) --- share/man/man4/uipaq.4 | 46 ++++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/share/man/man4/uipaq.4 b/share/man/man4/uipaq.4 index 86f3da36f9dc..b49344956541 100644 --- a/share/man/man4/uipaq.4 +++ b/share/man/man4/uipaq.4 @@ -28,7 +28,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 26, 2017 +.Dd April 14, 2025 .Dt UIPAQ 4 .Os .Sh NAME @@ -50,23 +50,6 @@ module at boot time, place the following line in .Bd -literal -offset indent uipaq_load="YES" .Ed -.Sh HARDWARE -The -.Nm -driver supports the following adapters: -.Pp -.Bl -tag -width Ds -offset indent -compact -.It ASUS P535 PDA -.It Casio BE300 PDA -.It Compaq IPaq PocketPC -.It HP Jornada 568 -.It HP iPAQ 22xx/Jornada 548 -.It HTC PPC6700 Modem -.It HTC Smart Phone -.It HTC Winmobile -.It Sharp W-ZERO3 ES Spart Phone -.It Most Windows CE based phones -.El .Sh DESCRIPTION The .Nm @@ -77,6 +60,33 @@ The device is accessed through the .Xr ucom 4 driver which makes it behave like a .Xr tty 4 . +.Sh HARDWARE +The +.Nm +driver supports the following iPAQ devices: +.Pp +.Bl -bullet -compact +.It +ASUS P535 PDA +.It +Casio BE300 PDA +.It +Compaq IPaq PocketPC +.It +HP Jornada 568 +.It +HP iPAQ 22xx/Jornada 548 +.It +HTC PPC6700 Modem +.It +HTC Smart Phone +.It +HTC Winmobile +.It +Sharp W-ZERO3 ES Spart Phone +.It +Most Windows CE based phones +.El .Sh FILES .Bl -tag -width "/dev/ttyU*.init" -compact .It Pa /dev/ttyU* From nobody Wed Apr 23 04:50:43 2025 X-Original-To: dev-commits-src-branches@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 4Zj69v3n3sz5skmq; Wed, 23 Apr 2025 04:50:43 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zj69v1nSKz3f2m; Wed, 23 Apr 2025 04:50:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745383843; 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=eb1MlcQKz/fk+nyfh7JjuPtlt+yD79N0Ey8dcGO+XS8=; b=OgzxZyRvsG8Zf8kFjZghwep9flQ89AAi4KJgXvawP+1gS4J5lYMIR3d0RaAmsSCwuiKopT MB+iV45NRf3na+sRl+J3E2NXRaqrMxioSYgwG3DFGwwQPzI+ZmkS0bowYPpDj9ZQGLleA/ t7PWUKKt8dDqxlioQ0g3Us8MXL2t2ZTw3oKjMrNFAgJOexpu60GvmJs2/pFRtzE+NsfQKe UaHnEBuhT1CGDGwKlYp6g268JtdpH+MRUF4NZo0+hnnM7RboqoZ8AIhzs4dJRNoSoRXbRp g7nMLOtW40I48pIX4bwK1ATTfD5Pg8KClZ4pYa2bK7vp0Tnu6tbd3lgakhWedA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745383843; a=rsa-sha256; cv=none; b=NROqV6Cf5quniLIHI0NAwA0Ym0VD1WdSAdlfaOK/O4AgNlhHGSnzyM7D+GUxLG/z0ls4O+ ofB03WlxZxgrae7DZvnEofyyBzxatdanV6Lea941Z/C4qLHls7qrNr0GlwXrrvrAvL8zUY gkXQnWoMksMZPXwJcxR+mFgK5coGjQB7L1rj3dMfqJauQrTWQT8oY0397adwTN74GwBNwe 0dNWCkUXVRnb2VtcCHWOKXkXFIbOan+XXPGyVFPsZLtWj1n6aCs9lehYkHQuHsDHoEjWDr hKjl9z8SI0xfoS3/EgjZIbNKoOG7E1hLxVzOKTfDZUuzmTCcHSjkM0Wdj80u4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745383843; 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=eb1MlcQKz/fk+nyfh7JjuPtlt+yD79N0Ey8dcGO+XS8=; b=lr+61KcqTdwq0iG0mJ7Dcf/gkByLbCE3sa4MlybSeeC3yP3ICp9+F7hpXgQrDK//aBP4rm 5vHMFS0ZimZpvTlPMVgH/442M3kZ9hQmFqRVL3a4cdaXQjACLkKoJa+rl5FKp0xv7w7gh/ xmU9oMTayN7aiHRjN5INZik3YPi6w+KKdnV4i1a2Fu1TGTibvW/OHnQ+fbp/XvONat8J89 0v0snS6m+ShEGW3FMx6LEACicYy1neaMEoRsudnwbrVIEULG+mYK5pt+CB7HqZv+roFIcD ZQYkEc6D63pZb1n6DDhzX2cI/dNjoAizvMvJnk8yEmfFT/HW/AlvT7DwCvklLA== 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 4Zj69v1FR1zqdF; Wed, 23 Apr 2025 04:50:43 +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 53N4ohoO081282; Wed, 23 Apr 2025 04:50:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53N4ohZo081279; Wed, 23 Apr 2025 04:50:43 GMT (envelope-from git) Date: Wed, 23 Apr 2025 04:50:43 GMT Message-Id: <202504230450.53N4ohZo081279@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: d41725ab4301 - stable/14 - dhclient: Keep two clocks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d41725ab43017d8cfca35f09bbae1327656af533 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=d41725ab43017d8cfca35f09bbae1327656af533 commit d41725ab43017d8cfca35f09bbae1327656af533 Author: Colin Percival AuthorDate: 2025-04-08 22:50:01 +0000 Commit: Colin Percival CommitDate: 2025-04-23 04:50:31 +0000 dhclient: Keep two clocks Until July 2024, dhclient kept track of time as seconds-since-epoch as a time_t. This was a problem because (a) we wanted sub-second timeouts and (b) timeouts didn't always do the right thing if the system clock changed. Switching to using CLOCK_MONOTONIC and struct timespec fixed those issues but introduced a new problem: CLOCK_MONOTONIC values were being intepreted as seconds-since-epoch and written to the dhclient.leases file, causing confusion with DHCP leases expiring in early 1970. Attempt to compromise between these by keeping track of both times; any type within dhclient which is a time_t now refers to seconds past the epoch, while any struct timespec value is a CLOCK_MONOTONIC time. PR: 283256 Reviewed by: dch Fixes: f0a38976b01e ("dhclient: Use clock_gettime() instead of time()") Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49720 (cherry picked from commit 43d19e6a4c42ade0f276ceca18a09e2e3829fce4) --- sbin/dhclient/dhclient.c | 50 +++++++++++++++++++++--------------------------- sbin/dhclient/dhcpd.h | 4 ++-- sbin/dhclient/dispatch.c | 14 +++++++++----- 3 files changed, 33 insertions(+), 35 deletions(-) diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c index 93988d5ce7a4..cbab3fa2973c 100644 --- a/sbin/dhclient/dhclient.c +++ b/sbin/dhclient/dhclient.c @@ -90,8 +90,8 @@ cap_channel_t *capsyslog; -time_t cur_time; -struct timespec time_now; +time_t cur_time; /* Seconds since epoch. */ +struct timespec time_now; /* CLOCK_MONOTONIC. */ static time_t default_lease_time = 43200; /* 12 hours... */ const char *path_dhclient_conf = _PATH_DHCLIENT_CONF; @@ -450,7 +450,7 @@ main(int argc, char *argv[]) tzset(); clock_gettime(CLOCK_MONOTONIC, &time_now); - cur_time = time_now.tv_sec; + cur_time = time(NULL); inaddr_broadcast.s_addr = INADDR_BROADCAST; inaddr_any.s_addr = INADDR_ANY; @@ -1030,13 +1030,13 @@ dhcpoffer(struct packet *packet) struct client_lease *lease, *lp; int i; struct timespec arp_timeout_needed; - struct timespec stop_selecting = { .tv_sec = 0, .tv_nsec = 0 }; - time_now.tv_sec = cur_time; - time_now.tv_nsec = 0; - + time_t stop_selecting; + struct timespec stop_time; const char *name = packet->options[DHO_DHCP_MESSAGE_TYPE].len ? "DHCPOFFER" : "BOOTREPLY"; + clock_gettime(CLOCK_MONOTONIC, &time_now); + /* If we're not receptive to an offer right now, or if the offer has an unrecognizable transaction id, then just drop it. */ if (ip->client->state != S_SELECTING || @@ -1095,7 +1095,7 @@ dhcpoffer(struct packet *packet) arp_timeout_needed = arp_timeout; /* Figure out when we're supposed to stop selecting. */ - stop_selecting.tv_sec = + stop_selecting = ip->client->first_sending + ip->client->config->select_interval; /* If this is the lease we asked for, put it at the head of the @@ -1116,7 +1116,7 @@ dhcpoffer(struct packet *packet) timespecadd(&time_now, &arp_timeout_needed, &interm_struct); if (ip->client->offered_leases && - timespeccmp(&interm_struct, &stop_selecting, >)) + interm_struct.tv_sec >= stop_selecting) arp_timeout_needed = zero_timespec; /* Put the lease at the end of the list. */ @@ -1131,27 +1131,21 @@ dhcpoffer(struct packet *packet) } } - /* If we're supposed to stop selecting before we've had time - to wait for the ARPREPLY, add some delay to wait for - the ARPREPLY. */ - struct timespec time_left; - timespecsub(&stop_selecting, &time_now, &time_left); - + /* + * Wait until stop_selecting seconds past the epoch, or until + * arp_timeout_needed past now, whichever is longer. Note that + * the first case only occurs if select-timeout is set to nonzero + * in dhclient.conf. + */ + struct timespec time_left = + {.tv_sec = stop_selecting - cur_time, .tv_nsec = 0}; if (timespeccmp(&time_left, &arp_timeout_needed, <)) { - timespecadd(&time_now, &arp_timeout_needed, &stop_selecting); - } - - /* If the selecting interval has expired, go immediately to - state_selecting(). Otherwise, time out into - state_selecting at the select interval. */ - - - if (timespeccmp(&stop_selecting, &zero_timespec, <=)) - state_selecting(ip); - else { - add_timeout_timespec(stop_selecting, state_selecting, ip); - cancel_timeout(send_discover, ip); + timespecadd(&time_now, &arp_timeout_needed, &stop_time); + } else { + timespecadd(&time_now, &time_left, &stop_time); } + add_timeout_timespec(stop_time, state_selecting, ip); + cancel_timeout(send_discover, ip); } /* Allocate a client_lease structure and initialize it from the parameters diff --git a/sbin/dhclient/dhcpd.h b/sbin/dhclient/dhcpd.h index c375d4087367..afde757bed33 100644 --- a/sbin/dhclient/dhcpd.h +++ b/sbin/dhclient/dhcpd.h @@ -362,8 +362,8 @@ char *piaddr(struct iaddr); extern cap_channel_t *capsyslog; extern const char *path_dhclient_conf; extern char *path_dhclient_db; -extern struct timespec time_now; -extern time_t cur_time; +extern struct timespec time_now; /* CLOCK_MONOTONIC */ +extern time_t cur_time; /* Seconds since epoch */ extern int log_priority; extern int log_perror; diff --git a/sbin/dhclient/dispatch.c b/sbin/dhclient/dispatch.c index 9b31a8395e0c..7378c5ddb3d6 100644 --- a/sbin/dhclient/dispatch.c +++ b/sbin/dhclient/dispatch.c @@ -160,8 +160,8 @@ dispatch(void) struct protocol *l; struct pollfd *fds; struct timespec howlong; - time_now.tv_sec = cur_time; - time_now.tv_nsec = 0; + + clock_gettime(CLOCK_MONOTONIC, &time_now); for (l = protocols; l; l = l->next) nfds++; @@ -225,7 +225,7 @@ another: if (count == -1) { if (errno == EAGAIN || errno == EINTR) { clock_gettime(CLOCK_MONOTONIC, &time_now); - cur_time = time_now.tv_sec; + cur_time = time(NULL); continue; } else error("poll: %m"); @@ -233,7 +233,7 @@ another: /* Get the current time... */ clock_gettime(CLOCK_MONOTONIC, &time_now); - cur_time = time_now.tv_sec; + cur_time = time(NULL); i = 0; for (l = protocols; l; l = l->next) { @@ -366,7 +366,11 @@ active: void add_timeout(time_t when_s, void (*where)(void *), void *what) { - struct timespec when = { .tv_sec = when_s, .tv_nsec = 0 }; + struct timespec when; + + cur_time = time(NULL); + clock_gettime(CLOCK_MONOTONIC, &when); + when.tv_sec += when_s - cur_time; add_timeout_timespec(when, where, what); } From nobody Wed Apr 23 04:51:00 2025 X-Original-To: dev-commits-src-branches@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 4Zj6BF2Msrz5skkQ; Wed, 23 Apr 2025 04:51:01 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zj6BF0ZTBz3dwY; Wed, 23 Apr 2025 04:51:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745383861; 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=0NQYnbE8ygxWWEI8hkiwwGwQqvj3FBjNBNQvYKT3mvs=; b=pcpdCIU62TF2bJ8jM9PzB601CA8cjqn0aX0+Ihlm080L2PcWG/4dBPD+CyiXF4uQ/5oFtZ b4SZuoQ73pVDpe4rWyFCMKfadbAIhkkwUpKXQ8vQ/j8yljiD7VM1a3ViyQu/XCo8dFy0JE X41uk5XB2A2j2BTRZtL5WKsun3toGVIPs/jTFYHTrw/OEw68nwJPDnb6rVsFgb1Cl6BTPC piiju3T+PmX71DVyi9RbQxgm68unzQDKK4sb5Gh9Uf9MKxPKQqJi8eiUUi4XcD5gDni9bX vboqBCngcxITFauodM6e4T1nk0jIa9WedM4UrLGloWSzwv7GNBqF9TONTNxWTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745383861; a=rsa-sha256; cv=none; b=nKxgxhPzPWQ96Z7Bgpaa9NeQRMFdiPkuah/jFthVi27aj31kQO3CLAS52iQ6ijoCHHfzT0 i81w28QA32niTRZbYCQ7WhiR7lYJpGy6bpWXq7WE/HFi3Iy0amYRCavGgtXy929B8vH1zW D6EhaMC5RYv8+Ju6Zah8J0svkqulB8qABdyvNbUONffHvRfWwQGLCIGsmdQ/vWB2jVyp0Z tKmC9cb2J3GSkaudXc6zQ/UnVVNkOQoMxd7JwUBMVhy6SdrlE3kt/7IQmwb5S2b4AGGnZK 5pdA8htedsJmdsNNkd+vSX7j0Eu7BJHLCUWxyw7pTHgSGznR47oks5aExFsegg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745383861; 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=0NQYnbE8ygxWWEI8hkiwwGwQqvj3FBjNBNQvYKT3mvs=; b=KuI0WFRTd7Yf5oQbx/Y6AwCw9naXXlAx9y/qEftV2pVI3ywRCWEei1Ze8gW/n3qiBqD+r/ wWpj+FUHCI+rMJMLk3EhKpiTwpIi6xFM6ItbaXDvZGWQk+nTi1EH8w3t9PkT6ITcNcc/mK 4OEcUwgve91zoSdZqEQiqr1eDYVx/PK0Ak7QLz6Kl28qdpEXw0AAH+xO+s5b8+V0zJkZgS hhsTzA9mpC3TcIlEx8At8rZmp48ig2d3b9eeRF0j2rw4uapL7SjxC6pPWQjL39GQUfd0VY xM81hhvZkUxI2tWdVybhM2i2E8xjkhRquzAyApO7Q+j80HfcX0a8/HgKe9q7zA== 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 4Zj6BD74RGzq7w; Wed, 23 Apr 2025 04:51:00 +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 53N4p03i081532; Wed, 23 Apr 2025 04:51:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53N4p06b081529; Wed, 23 Apr 2025 04:51:00 GMT (envelope-from git) Date: Wed, 23 Apr 2025 04:51:00 GMT Message-Id: <202504230451.53N4p06b081529@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: c8c624de57b0 - stable/13 - dhclient: Keep two clocks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c8c624de57b072d14c1ab23167880a069ef51f11 Auto-Submitted: auto-generated The branch stable/13 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=c8c624de57b072d14c1ab23167880a069ef51f11 commit c8c624de57b072d14c1ab23167880a069ef51f11 Author: Colin Percival AuthorDate: 2025-04-08 22:50:01 +0000 Commit: Colin Percival CommitDate: 2025-04-23 04:50:55 +0000 dhclient: Keep two clocks Until July 2024, dhclient kept track of time as seconds-since-epoch as a time_t. This was a problem because (a) we wanted sub-second timeouts and (b) timeouts didn't always do the right thing if the system clock changed. Switching to using CLOCK_MONOTONIC and struct timespec fixed those issues but introduced a new problem: CLOCK_MONOTONIC values were being intepreted as seconds-since-epoch and written to the dhclient.leases file, causing confusion with DHCP leases expiring in early 1970. Attempt to compromise between these by keeping track of both times; any type within dhclient which is a time_t now refers to seconds past the epoch, while any struct timespec value is a CLOCK_MONOTONIC time. PR: 283256 Reviewed by: dch Fixes: f0a38976b01e ("dhclient: Use clock_gettime() instead of time()") Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49720 (cherry picked from commit 43d19e6a4c42ade0f276ceca18a09e2e3829fce4) --- sbin/dhclient/dhclient.c | 50 +++++++++++++++++++++--------------------------- sbin/dhclient/dhcpd.h | 4 ++-- sbin/dhclient/dispatch.c | 14 +++++++++----- 3 files changed, 33 insertions(+), 35 deletions(-) diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c index 141403d8c86b..0ac2a493a94f 100644 --- a/sbin/dhclient/dhclient.c +++ b/sbin/dhclient/dhclient.c @@ -90,8 +90,8 @@ cap_channel_t *capsyslog; -time_t cur_time; -struct timespec time_now; +time_t cur_time; /* Seconds since epoch. */ +struct timespec time_now; /* CLOCK_MONOTONIC. */ static time_t default_lease_time = 43200; /* 12 hours... */ const char *path_dhclient_conf = _PATH_DHCLIENT_CONF; @@ -450,7 +450,7 @@ main(int argc, char *argv[]) tzset(); clock_gettime(CLOCK_MONOTONIC, &time_now); - cur_time = time_now.tv_sec; + cur_time = time(NULL); inaddr_broadcast.s_addr = INADDR_BROADCAST; inaddr_any.s_addr = INADDR_ANY; @@ -1030,13 +1030,13 @@ dhcpoffer(struct packet *packet) struct client_lease *lease, *lp; int i; struct timespec arp_timeout_needed; - struct timespec stop_selecting = { .tv_sec = 0, .tv_nsec = 0 }; - time_now.tv_sec = cur_time; - time_now.tv_nsec = 0; - + time_t stop_selecting; + struct timespec stop_time; const char *name = packet->options[DHO_DHCP_MESSAGE_TYPE].len ? "DHCPOFFER" : "BOOTREPLY"; + clock_gettime(CLOCK_MONOTONIC, &time_now); + /* If we're not receptive to an offer right now, or if the offer has an unrecognizable transaction id, then just drop it. */ if (ip->client->state != S_SELECTING || @@ -1096,7 +1096,7 @@ dhcpoffer(struct packet *packet) arp_timeout_needed = arp_timeout; /* Figure out when we're supposed to stop selecting. */ - stop_selecting.tv_sec = + stop_selecting = ip->client->first_sending + ip->client->config->select_interval; /* If this is the lease we asked for, put it at the head of the @@ -1117,7 +1117,7 @@ dhcpoffer(struct packet *packet) timespecadd(&time_now, &arp_timeout_needed, &interm_struct); if (ip->client->offered_leases && - timespeccmp(&interm_struct, &stop_selecting, >)) + interm_struct.tv_sec >= stop_selecting) arp_timeout_needed = zero_timespec; /* Put the lease at the end of the list. */ @@ -1132,27 +1132,21 @@ dhcpoffer(struct packet *packet) } } - /* If we're supposed to stop selecting before we've had time - to wait for the ARPREPLY, add some delay to wait for - the ARPREPLY. */ - struct timespec time_left; - timespecsub(&stop_selecting, &time_now, &time_left); - + /* + * Wait until stop_selecting seconds past the epoch, or until + * arp_timeout_needed past now, whichever is longer. Note that + * the first case only occurs if select-timeout is set to nonzero + * in dhclient.conf. + */ + struct timespec time_left = + {.tv_sec = stop_selecting - cur_time, .tv_nsec = 0}; if (timespeccmp(&time_left, &arp_timeout_needed, <)) { - timespecadd(&time_now, &arp_timeout_needed, &stop_selecting); - } - - /* If the selecting interval has expired, go immediately to - state_selecting(). Otherwise, time out into - state_selecting at the select interval. */ - - - if (timespeccmp(&stop_selecting, &zero_timespec, <=)) - state_selecting(ip); - else { - add_timeout_timespec(stop_selecting, state_selecting, ip); - cancel_timeout(send_discover, ip); + timespecadd(&time_now, &arp_timeout_needed, &stop_time); + } else { + timespecadd(&time_now, &time_left, &stop_time); } + add_timeout_timespec(stop_time, state_selecting, ip); + cancel_timeout(send_discover, ip); } /* Allocate a client_lease structure and initialize it from the parameters diff --git a/sbin/dhclient/dhcpd.h b/sbin/dhclient/dhcpd.h index abe652c06fec..13c748c3f83f 100644 --- a/sbin/dhclient/dhcpd.h +++ b/sbin/dhclient/dhcpd.h @@ -361,8 +361,8 @@ char *piaddr(struct iaddr); extern cap_channel_t *capsyslog; extern const char *path_dhclient_conf; extern char *path_dhclient_db; -extern struct timespec time_now; -extern time_t cur_time; +extern struct timespec time_now; /* CLOCK_MONOTONIC */ +extern time_t cur_time; /* Seconds since epoch */ extern int log_priority; extern int log_perror; diff --git a/sbin/dhclient/dispatch.c b/sbin/dhclient/dispatch.c index 78d94804468b..bfa96b391bf8 100644 --- a/sbin/dhclient/dispatch.c +++ b/sbin/dhclient/dispatch.c @@ -171,8 +171,8 @@ dispatch(void) struct protocol *l; struct pollfd *fds; struct timespec howlong; - time_now.tv_sec = cur_time; - time_now.tv_nsec = 0; + + clock_gettime(CLOCK_MONOTONIC, &time_now); for (l = protocols; l; l = l->next) nfds++; @@ -236,7 +236,7 @@ another: if (count == -1) { if (errno == EAGAIN || errno == EINTR) { clock_gettime(CLOCK_MONOTONIC, &time_now); - cur_time = time_now.tv_sec; + cur_time = time(NULL); continue; } else error("poll: %m"); @@ -244,7 +244,7 @@ another: /* Get the current time... */ clock_gettime(CLOCK_MONOTONIC, &time_now); - cur_time = time_now.tv_sec; + cur_time = time(NULL); i = 0; for (l = protocols; l; l = l->next) { @@ -377,7 +377,11 @@ active: void add_timeout(time_t when_s, void (*where)(void *), void *what) { - struct timespec when = { .tv_sec = when_s, .tv_nsec = 0 }; + struct timespec when; + + cur_time = time(NULL); + clock_gettime(CLOCK_MONOTONIC, &when); + when.tv_sec += when_s - cur_time; add_timeout_timespec(when, where, what); } From nobody Wed Apr 23 19:38:18 2025 X-Original-To: dev-commits-src-branches@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 4ZjTt3020Pz5tn0d; Wed, 23 Apr 2025 19:38:19 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZjTt269cRz43m0; Wed, 23 Apr 2025 19:38:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745437098; 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=NZmDEuC64KRpNZ9T5IlAz9knOrkumQtQEGzus4zloeo=; b=Bq7gQRAd25FuohE3IHrx3AUDWXn0dYrJ2SX4LSbwBmx/xPK4Zb64f63Md1PrEA5PD4KYL4 kHxEGU81+JQZt7OVYuLWPL/4Kh2qNtsAHHSxxM10M8P+yvdm3TKhgIvlWNbPNGvoWs0CLx S6CaDzacS3hWlLtvshU5zHxU9etyyogzow4dylovPadlb5Xd+gri8BDFxND/OhI345fjlI sJlVj3eTXCgeiIJPKYtXAJYMTKkDInVxLUjzF2xGppve3zbR3F7FYcBX/4kJXXVY0XwC+A Pd3JTmQp1/oTwvDX+GH2SUGAgD39gg6bO1YzaCtwkBXORQhnNQM4tYVelJ/XyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745437098; a=rsa-sha256; cv=none; b=BdNJLMHHi5mtejF2pWaUxmlJByyh0CNk17R5Pa5iIJV5qvEB+zt0fv8+CHY3SNC3CJZP1X p2KG1LtfIQbQwr/mLkGTGFYsw/s74luONcRBfaagc8vGMBkWfHzz6G5527eJndxzwqYbH8 37dlRXoshTIabXfzW53D9/mFdhqPeU9GaVdFIK/fJrcMQw1gSHuiyxIDNv8grg9GYYqsek UdJI6oXUktFIyqx9GzKi8sbuF6c22C9FFNvSc8JHcNakmDgOw4YeK7QxDvt4uvGWK74Xbe 5ubD0H7QTQKhJy+IOHMabjI/xaAFtuEcrwTeJCfyeiMbjsx98y3PUxugh/JQZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745437098; 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=NZmDEuC64KRpNZ9T5IlAz9knOrkumQtQEGzus4zloeo=; b=GWAAEovmjOeHT1c42z+QAloQdZVg6GbzhUEt1uad75YFi8dEnT5Gfj6CHyu22LnJgtippu GjbFi9tnATOg7BFwUSWb+Kh0FpFErq4uaSl4nMN4nBzb6r4WxYNc4T6JWOm9M4CkfRGkC+ pypF2EpO+n7DboPQTVHGdeIlLoymEY6HYbYlcRkgRiDedCwVWO6Cr7pUzLHdaejs9aI/Em POi1Bnv/8tP8oqf8PxlfphFFyWKdEV4s1FvN5bWUcvQ8NAujm3+Vqc3C3g4cVYmloAjZPr eETl9BBB5KxctTaHrJWOVgPVmdmM+3JzaFYPniJSV383bjLjxzA4YMENZF4guw== 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 4ZjTt25Ty8z2k8; Wed, 23 Apr 2025 19:38:18 +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 53NJcIPr039758; Wed, 23 Apr 2025 19:38:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NJcI8e039755; Wed, 23 Apr 2025 19:38:18 GMT (envelope-from git) Date: Wed, 23 Apr 2025 19:38:18 GMT Message-Id: <202504231938.53NJcI8e039755@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 3f68c3e9c138 - stable/14 - Fix build with WITH_CLANG_BOOTSTRAP and WITHOUT_CLANG List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3f68c3e9c138824024d5a588827381ed85d7230c Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=3f68c3e9c138824024d5a588827381ed85d7230c commit 3f68c3e9c138824024d5a588827381ed85d7230c Author: Dimitry Andric AuthorDate: 2025-04-18 10:55:36 +0000 Commit: Dimitry Andric CommitDate: 2025-04-23 19:36:00 +0000 Fix build with WITH_CLANG_BOOTSTRAP and WITHOUT_CLANG When WITH_CLANG_BOOTSTRAP and WITHOUT_CLANG are both set, the cross-tools stage does not build a cross clang binary. This is because the Makefile in usr.bin/clang checks for WITHOUT_CLANG, and skips building the binary. To fix this, ensure that WITH_CLANG is set for the cross-tools phase whenever WITH_CLANG_BOOTSTRAP is set. While here, skip using the Makefile in usr.bin/clang, and directly use the Makefile in usr.bin/clang/clang instead. PR: 286154 Reported by: avg Reviewed by: avg, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49886 (cherry picked from commit ea231471d024e93279dc2196d6d5d87e199ad55b) --- Makefile.inc1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 34b2cd658172..d218ee62e697 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -793,6 +793,7 @@ TMAKE= \ # TOOLS_PREFIX set in BMAKE XMAKE= ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + MK_CLANG=${MK_CLANG_BOOTSTRAP} \ MK_LLDB=no \ MK_LLVM_BINUTILS=no \ MK_TESTS=no @@ -2860,7 +2861,7 @@ _elftctools= lib/libelftc \ .endif .if ${MK_CLANG_BOOTSTRAP} != "no" -_clang= usr.bin/clang +_clang= usr.bin/clang/clang .endif .if ${MK_LLD_BOOTSTRAP} != "no" _lld= usr.bin/clang/lld From nobody Wed Apr 23 19:38:34 2025 X-Original-To: dev-commits-src-branches@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 4ZjTtM560Rz5tmyH; Wed, 23 Apr 2025 19:38:35 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZjTtM1D2sz43rD; Wed, 23 Apr 2025 19:38:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745437115; 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=vBzMyhParZ4ZubgCzQmC775M4jPkBfYS1sKu7t+RLT8=; b=CaiLEgUrEDPrFClMoKppwATaZgARG/z579lXfkm3EzK2scB937CEmDK1TMG2OtZaFNTU3k jk8xtNWIMngRev2YPRyHCR2Df/Iew55qCVEjoz97EK6sV4e2y9/KS5unV3UURABJAsUIpz KylEDOH16HbYTI/+WKs3eR8K5Yj3J9s6DuQswZ6wwLlclKn6Zk0cprRg1NzKamFZc20wve VWk7DXJ9DCwQ8PI3ejcg1LVhvJSUoc1VtVXZV9mDJlQQ/2W1hkz1FMZYOZs5cfQkBd2utA TykQrCYCVQrcbfzUWb9hMy6riRCg26n+dxQzO4qOAGsr3IqrqNHiiZGbXTZZBg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745437115; a=rsa-sha256; cv=none; b=HuTnR5R005AeRrzKRUyfOQUtdsBI7fiJfNVf1FTm2g/0dWGGvxJlrWWStGxzzzodlJFgmV qD3nsxlS+iiyLe5+kMTHDOEaZHj3gb0YUJt/QOkP2xYPdkLyKD2DDWFU+J0ShlD40XBp+2 b6t6HwIafcqJyiaZcsVb/OInFp12Jg5J6LnUYogQySAE17M27OXIMYNyP6J63TiGZeY8CZ /Aeg3rYZ/vJOkKVjfBrcyJ7T+yz9FRhZCikNkka0ZWon4HqINs+9W/0ITa+A4oW1KhpRdB 6+JGBhC9e30kpG/ENc/kMoMiioRI0bKBJ/+fhK7m0/tbKsz4QxwZd4IhJSMd5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745437115; 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=vBzMyhParZ4ZubgCzQmC775M4jPkBfYS1sKu7t+RLT8=; b=j8EuCB/woZuh6aYvXVOhEoR5VJMb0GjxPTwQiOxj84mVJICheqnTsHGNK9Zp3SCi9ia2uW mp53i+zR1ooK1OvDBRWasaeLZjzYTI9WTWApMVTmudf5uA4ufTixQgZxrKz4VGc81O5zON 7GKkIe46RfLCw4H89mTHurtznkOjJ2Vgm5fIg4a52h4/49SG1zr47fUq4283nRXnS4+hDU +vyOO4xp9+ZTiqk/4ZY62boHLmpKPOww8l43JBoC7YYlSzVbLxDzQXiwJq9WWLemaTajmY 4jcQQuoKC4UTTyyRnDBN3oriocAmwFEbkjFtmJCBrOJedJ+Gwzi8RjF8K2oYGg== 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 4ZjTtL6wdwz2rC; Wed, 23 Apr 2025 19:38:34 +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 53NJcYkq039952; Wed, 23 Apr 2025 19:38:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NJcYeq039949; Wed, 23 Apr 2025 19:38:34 GMT (envelope-from git) Date: Wed, 23 Apr 2025 19:38:34 GMT Message-Id: <202504231938.53NJcYeq039949@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 5195ff613fca - stable/13 - Fix build with WITH_CLANG_BOOTSTRAP and WITHOUT_CLANG List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5195ff613fca40653d263bbada8a335ad864612e Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=5195ff613fca40653d263bbada8a335ad864612e commit 5195ff613fca40653d263bbada8a335ad864612e Author: Dimitry Andric AuthorDate: 2025-04-18 10:55:36 +0000 Commit: Dimitry Andric CommitDate: 2025-04-23 19:37:40 +0000 Fix build with WITH_CLANG_BOOTSTRAP and WITHOUT_CLANG When WITH_CLANG_BOOTSTRAP and WITHOUT_CLANG are both set, the cross-tools stage does not build a cross clang binary. This is because the Makefile in usr.bin/clang checks for WITHOUT_CLANG, and skips building the binary. To fix this, ensure that WITH_CLANG is set for the cross-tools phase whenever WITH_CLANG_BOOTSTRAP is set. While here, skip using the Makefile in usr.bin/clang, and directly use the Makefile in usr.bin/clang/clang instead. PR: 286154 Reported by: avg Reviewed by: avg, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49886 (cherry picked from commit ea231471d024e93279dc2196d6d5d87e199ad55b) --- Makefile.inc1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index d5c7eee442b0..3f965694f787 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -782,6 +782,7 @@ TMAKE= \ # TOOLS_PREFIX set in BMAKE XMAKE= ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + MK_CLANG=${MK_CLANG_BOOTSTRAP} \ MK_CLANG_IS_CC=${MK_CLANG_BOOTSTRAP} \ MK_LLDB=no \ MK_LLVM_BINUTILS=no \ @@ -2707,7 +2708,7 @@ _elftctools= lib/libelftc \ .endif .if ${MK_CLANG_BOOTSTRAP} != "no" -_clang= usr.bin/clang +_clang= usr.bin/clang/clang .endif .if ${MK_LLD_BOOTSTRAP} != "no" _lld= usr.bin/clang/lld From nobody Thu Apr 24 00:29:05 2025 X-Original-To: dev-commits-src-branches@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 4ZjcKY5TS1z5t8Rb; Thu, 24 Apr 2025 00:29:05 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZjcKY4nM9z41v7; Thu, 24 Apr 2025 00:29:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745454545; 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=SzL8ox7o+NHHZWAXgd6nJ4Zxrl1G9QN6XhgdNfHzB9g=; b=UYMU9koYJcd6lPTyEmeLhAs88TJP6m27WvDXkF8FV84zu2X5k2tqk6rjpal/FdyPAW1Q/L Q6Ps0Fyr6Dw2qKvT58gIxCMiqGgITUzRn+oZyjeVqRqnYUKOB3bztWXE1c9yLdHKaoAJ/x 5DbhfOlNLw+kc22RRry8kl31dR4tySFgBLxb4ewKP9etDlcHAYAE8SF02GYmpWWC7cyQr9 QCPFPg5eIUzN26ALLoeVJfDWVlpwXx1edNt03+7EcaNi5lkFkp8F7Ty9+hpUJ6RDRWAVzN 5OSefDYaJTEM6xwhViBFImDXX+J5Eln0ntIDpfFrDCxqmCjB4TUzQ8KoFe6/zA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745454545; a=rsa-sha256; cv=none; b=QogT+gTyd+SVHgpNSPJBtRkSM+LLZg9tFvUjvgnUsEPDHmQ/R2amRnxqO9nsWgP0ABEzHl 5fkSrPMOctUcyByRFhLDi9JLzvsTkojU9Ch3VCaOf5Gv2jfVBQGu2IxvEpBPeGv3xjdGou +6qCPoKFU/ECJNGU6y2vnaORwsWAQvWorMqlMm4c0+J04NmNJEpX5R02V1ytOj2rDsPm4Z xXRs8epCJrKy736s233FVnAIaOP+37vWH7fvVR9uNQqWZ4vXTTC2F9VFxJ9xu9zo/6kgRi lu4d8mqvdogyb7zICfF5s1sO5JWFxoQSm7Hp3gYCJY+4dHeM42Wjpd2MmpheIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745454545; 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=SzL8ox7o+NHHZWAXgd6nJ4Zxrl1G9QN6XhgdNfHzB9g=; b=UfhMKFQEvRErcgsZEq+4hVN4tUfgIjgOhe+Bl/aeke9jtQI375jCj1xgGhZa4/FmuuCxN3 JieTXYzc8Kzwvp7RVz6Ihw5WV07QMUUpg30YU3X86bI7K3C57BCrZBu+jv7sULhxj+wBtR 59LjWX4s3R7xCEt5iDDR4uwLgxDYb8j0UG0ykaFn5LLDvXlLQr8sWQA1DJNpGxEMJL0bvB Aga7JZ5/ZwcDgDcLlDNv42lrRyOhj3su40PCOTmekyK9J1pqURNALP+nhAcAUb7q5aMMLK gDmzPtSGXi+T7NJOPPJr/k8aNyrPpzB4k+tPkLN0mB0wYNHzuHJjtREPnXVnxA== 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 4ZjcKY48xZzB6s; Thu, 24 Apr 2025 00:29:05 +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 53O0T5Xq084538; Thu, 24 Apr 2025 00:29:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53O0T5CT084535; Thu, 24 Apr 2025 00:29:05 GMT (envelope-from git) Date: Thu, 24 Apr 2025 00:29:05 GMT Message-Id: <202504240029.53O0T5CT084535@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0ad5308987d0 - stable/14 - Add POSIX psiginfo(3) call List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0ad5308987d0a34d49e1c963537759f1b73b3a4e Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0ad5308987d0a34d49e1c963537759f1b73b3a4e commit 0ad5308987d0a34d49e1c963537759f1b73b3a4e Author: Ricardo Branco AuthorDate: 2025-04-16 07:52:13 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-24 00:27:57 +0000 Add POSIX psiginfo(3) call PR: 286133 (cherry picked from commit 3b2f0bfc35167724a41c969c1823be6b1ede15ab) --- include/signal.h | 1 + lib/libc/gen/Makefile.inc | 3 ++- lib/libc/gen/Symbol.map | 1 + lib/libc/gen/psignal.3 | 22 +++++++++++++++++++++- lib/libc/gen/psignal.c | 6 ++++++ 5 files changed, 31 insertions(+), 2 deletions(-) diff --git a/include/signal.h b/include/signal.h index ee73b8ed492c..844630a8aafc 100644 --- a/include/signal.h +++ b/include/signal.h @@ -117,6 +117,7 @@ int siginterrupt(int, int); #endif #if __POSIX_VISIBLE >= 200809 +void psiginfo(const siginfo_t *, const char *); void psignal(int, const char *); #endif diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index f9f6f3139379..3e5f6ae8d602 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -487,7 +487,8 @@ MLINKS+=posix_spawn.3 posix_spawnp.3 \ posix_spawnattr_getsigdefault.3 posix_spawnattr_setsigdefault.3 \ posix_spawnattr_getsigmask.3 posix_spawnattr_setsigmask.3 \ posix_spawnattr_init.3 posix_spawnattr_destroy.3 -MLINKS+=psignal.3 strsignal.3 \ +MLINKS+=psignal.3 psiginfo.3 \ + psignal.3 strsignal.3 \ psignal.3 sys_siglist.3 \ psignal.3 sys_signame.3 MLINKS+=pwcache.3 group_from_gid.3 \ diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map index 5178ce56da33..2542da299cb1 100644 --- a/lib/libc/gen/Symbol.map +++ b/lib/libc/gen/Symbol.map @@ -461,6 +461,7 @@ FBSD_1.8 { aio_read2; aio_write2; execvpe; + psiginfo; rtld_get_var; rtld_set_var; }; diff --git a/lib/libc/gen/psignal.3 b/lib/libc/gen/psignal.3 index 0fc63418d3f3..b02d23dc16f1 100644 --- a/lib/libc/gen/psignal.3 +++ b/lib/libc/gen/psignal.3 @@ -27,11 +27,12 @@ .\" .\" @(#)psignal.3 8.2 (Berkeley) 2/27/95 .\" -.Dd May 30, 2016 +.Dd Apr 16, 2025 .Dt PSIGNAL 3 .Os .Sh NAME .Nm psignal , +.Nm psiginfo , .Nm strsignal , .Nm sys_siglist , .Nm sys_signame @@ -42,6 +43,8 @@ .In signal.h .Ft void .Fn psignal "int sig" "const char *s" +.Ft void +.Fn psiginfo "const siginfo_t *si" "const char *s" .Vt extern const char * const sys_siglist[] ; .Vt extern const char * const sys_signame[] ; .In string.h @@ -81,6 +84,16 @@ the string .Dq "Unknown signal" is produced. .Pp +The +.Fn psiginfo +function is similar to +.Fn psignal , +except that the signal number information is taken from the +.Fa si +argument which is a +.Vt siginfo_t +structure. +.Pp The message strings can be accessed directly through the external array .Va sys_siglist , @@ -106,3 +119,10 @@ The .Fn psignal function appeared in .Bx 4.2 . +The +.Fn psiginfo +function appeared in +.Fx 15.0 , +.Nx 6.0 , +and +.Dx 4.1 . diff --git a/lib/libc/gen/psignal.c b/lib/libc/gen/psignal.c index f8caf7621e83..eb05b08d2c27 100644 --- a/lib/libc/gen/psignal.c +++ b/lib/libc/gen/psignal.c @@ -57,3 +57,9 @@ psignal(int sig, const char *s) (void)_write(STDERR_FILENO, c, strlen(c)); (void)_write(STDERR_FILENO, "\n", 1); } + +void +psiginfo(const siginfo_t *si, const char *s) +{ + psignal(si->si_signo, s); +} From nobody Thu Apr 24 00:29:06 2025 X-Original-To: dev-commits-src-branches@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 4ZjcKb1YMwz5t8K0; Thu, 24 Apr 2025 00:29:07 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZjcKZ5TPMz41lx; Thu, 24 Apr 2025 00:29:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745454546; 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=M89h76S8nXmlffxQyGkYi5JNL5GecahnIDHL8WEhSok=; b=UP84jyzoxhK2Bh6Y+yotDsxsJbMK9v21HvhzR3vxgpQTF9GnpC1lVGRvC35dDs8pZ8NyV8 c7nKxcluvtkP9gFxEGRfzJmixiWc3rykBn+39pI0fNtkJJN9jkcKDI8wKF1BPuqLEFB24h vl3WRtfDXlLQPOHDOrDLGiaUOsa5YCjVjGgV9ikgWGm7FNqUzhW+2mgWw7MXkU01BSPOsF XcXAkOkTKtzsiXU1k++ird6SgLCYgtRzKH91ExBd0/3lk0KqEXjim3Jr6Zkw35ihvqj545 ZkRFVZb+sVPX1qC6HHO83NF0QHfWxcFqdZBma04gVm+oHe1iJMPGaw10gEoTlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745454546; a=rsa-sha256; cv=none; b=e3wQheP4SScr8FMlSvA/TvArSflynmdYlgIb467QpTvqfdf3k+VN4e879fbhOQz6ggG66p lL7G4+YUG9xwoBIBABmvfI/2HJ64NRKR30gU0V7SyJhIYtz6mSzCYoiAVgyex1vm5C61cF eR1z9SgSSzFu7H1MnqnkPPQilFaGrlrLPpAWQPFyiqAJPP80gOIdSQAOUtJ+JNP8aexjMx 1STBkWhurwv5LykBu8ssydImG1QwxfxWCq/S1xWEiJD3Wy8lPyhR0QFaWv6rjT0oZApopl 3NlR3lpTrT7eGDcRg4dIVGsuaD2wsXifSBCjsKNLstdPTPAwgKvBcTbsv692RA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745454546; 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=M89h76S8nXmlffxQyGkYi5JNL5GecahnIDHL8WEhSok=; b=iUbCIaxBVfE3uRuU5+WySfXSY7c/dQ//NnGqIKyDJW4mwys5V7Aqt+GCrk62OmafAkjIYr g0NHl267L3kSTux3pgKUP/ny13xSX4oIizUvl87lRK/5t+xuxo/RXtEjlTuwyRCGozicI8 QS5E2Qpowq/A1hSc08P+hHqoA45hX5a2P/vGyWJ8M3+JYNZTOZhjPT8ZxZR4fFxNabKQkX uVwIREayX3GuYoIZZha6VQYJuOyPJQ4vO3hfhrOcosYcF1UylQ4FlZSZnjqn9yT3G9IeOP OVlZ9JKhlWPIzLfRo3t1SQp8nqk+/XPQaptecnhXJnFqgKpbLWqf1Z1IbeBTdw== 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 4ZjcKZ54XHzB17; Thu, 24 Apr 2025 00:29:06 +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 53O0T6rr084571; Thu, 24 Apr 2025 00:29:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53O0T6pr084568; Thu, 24 Apr 2025 00:29:06 GMT (envelope-from git) Date: Thu, 24 Apr 2025 00:29:06 GMT Message-Id: <202504240029.53O0T6pr084568@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 81fc9469313b - stable/14 - sysctl.3: put KERN_PROC_RLIMIT_USAGE in the right spot List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 81fc9469313bc92138d73906622390d5bca5e444 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=81fc9469313bc92138d73906622390d5bca5e444 commit 81fc9469313bc92138d73906622390d5bca5e444 Author: Konstantin Belousov AuthorDate: 2025-04-21 18:53:56 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-24 00:28:31 +0000 sysctl.3: put KERN_PROC_RLIMIT_USAGE in the right spot (cherry picked from commit 199a2be029e835c3b284d948e8168af378b06efc) --- lib/libc/gen/sysctl.3 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/libc/gen/sysctl.3 b/lib/libc/gen/sysctl.3 index 213c3463a7cc..a87aa7772413 100644 --- a/lib/libc/gen/sysctl.3 +++ b/lib/libc/gen/sysctl.3 @@ -504,7 +504,6 @@ specifies the current process. .It Dv KERN_PROC_ENV Ta "Set of strings" .It Dv KERN_PROC_AUXV Ta "Elf_Auxinfo []" .It Dv KERN_PROC_RLIMIT Ta "Integer" -.It Dv KERN_PROC_RLIMIT_USAGE Ta "rlim_t []" .It Dv KERN_PROC_PS_STRINGS Ta "Integer" .It Dv KERN_PROC_UMASK Ta "Integer/short" .It Dv KERN_PROC_OSREL Ta "Integer" @@ -513,6 +512,7 @@ specifies the current process. .It Dv KERN_PROC_NFDS Ta "Integer" .It Dv KERN_PROC_SIGFASTBLK Ta "Integer" .It Dv KERN_PROC_VM_LAYOUT Ta "struct kinfo_vm_layout" +.It Dv KERN_PROC_RLIMIT_USAGE Ta "rlim_t []" .It Dv KERN_PROC_KQUEUE Ta "struct kinfo_knote []" .El .Pp @@ -551,13 +551,6 @@ Additinal OID name element must be supplied, specifiing the resource name as in .Xr getrlimit 2 . The call returns the given resource limit for the process. -.It Dv KERN_PROC_RLIMIT_USAGE -Like -.Dv KERN_PROC_RLIMIT , -but instead of the limit, returns the accounted resource usage. -For resources which do not have a meaningful current value, -.Li \-1 -is returned. .It Dv KERN_PROC_PS_STRINGS Returns the location of the .Vt ps_strings @@ -587,6 +580,13 @@ Returns the address of the location, if active. .It Dv KERN_PROC_VM_LAYOUT Fills a structure describing process virtual address space layout. +.It Dv KERN_PROC_RLIMIT_USAGE +Like +.Dv KERN_PROC_RLIMIT , +but instead of the limit, returns the accounted resource usage. +For resources which do not have a meaningful current value, +.Li \-1 +is returned. .It Dv KERN_PROC_KQUEUE Fills an array of structures describing events registered with the specified kqueue. From nobody Thu Apr 24 13:21:15 2025 X-Original-To: dev-commits-src-branches@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 4ZjxSW42XWz5tHKj; Thu, 24 Apr 2025 13:21:15 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZjxSW34r5z44pt; Thu, 24 Apr 2025 13:21:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745500875; 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=SJBfkDOLdD49KLciwBUr9ejTnNVOpE4ITJGQSe6Cz+Q=; b=vq1Op8tI1abw2JAhuJf3fLJuaagaOoycHo1wa2rkWAtMr2zoqEnD9Bg/1uAcYmKYM1JOhs M7VwdpHJCwcpRWhv4OPBLehb7OD8UMv8mCIeDrjNt+E6vYSiZrULnI0U7aQG1LEj+fE4IC cX9IxOTh6yPeEcBdzl6821l/3hGO22fqo5QxSQUbY0e12ByEsjoVt4k7vna4gg16E3Fvmq x6tadIyNwjKuAYdqH1B2VZ3pksKsTGCBx6GKfXDtDz0gDRvg96uZvbuP+sAqgHJT3gIW46 j9X+uW1+wugF8TTN2GsUZ/znvLQgo/v/En+hl0Kci5Uz2KelXddj21n5TPgFlQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745500875; a=rsa-sha256; cv=none; b=iZiZ1isfmon+2sNKvfDIxUuYk+a2odzxriIHOKpNnZVtWy/O5u+rsrUlRNkFLaJdDfm3x9 5BuxdnVcVGhp8lhNKpOq513vLbYsobFxlZDsD0ypfVVzWgSXs/IgSKAbIBgIYVnuY3Iypo 3rHnq8NsO0J+AOEqRCfhowgOLqNWzL6Crt7mfdMe5Uc7R7kmpBDA1oQ+trANPZLOwZlcz5 LzR8+UrkIIHvLGbJ81lMJkvvzyvzcW0gEepXDKS25MXU0zzWYM4twfxXdULfO1onTgInRZ JGNDy2xNz5PzVUKGIQFHj7w5yqIfIVw111PuOEEy9agY4X7t+V7K6kZrCnfwbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745500875; 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=SJBfkDOLdD49KLciwBUr9ejTnNVOpE4ITJGQSe6Cz+Q=; b=yLWfHO63c+E60J0mGa+JVttE8CQVMHQcjokW4q3QZVJvqTLQqKrO61mvAwp6LNSVM5NX9k 9gwDDEHI9s7uIZOzgK5EVxflbE8gNVcjZL8ZB3RMD3yKOjtTfquTWTraM6xI5L5mrfFt7S oLUqkXup70OEayopwxbWRbr9Nm8xwNqiPPstiHA4Xji1heK7PmgundTmicP/ZpMLdHUyTG 78H1B4HGJjWmvokzjU0Imax+6QVNW78wSDjtDbteMJ5eZtSN3zqwRJubOp2zp8si5kfctO CBh/7EM0DgOKvuxSwYM2a6PrkyE/5DE/5qrkcNSA0NZJUBq4OTyFXdNLKNAP3A== 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 4ZjxSW2cXRzrgY; Thu, 24 Apr 2025 13:21:15 +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 53ODLFBD038126; Thu, 24 Apr 2025 13:21:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53ODLFHn038123; Thu, 24 Apr 2025 13:21:15 GMT (envelope-from git) Date: Thu, 24 Apr 2025 13:21:15 GMT Message-Id: <202504241321.53ODLFHn038123@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 1b7e2cc10854 - stable/14 - ktr: Make debug.ktr.verbose available whenever KTR is configured List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1b7e2cc108549a72ca37334500e987b7271d3138 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1b7e2cc108549a72ca37334500e987b7271d3138 commit 1b7e2cc108549a72ca37334500e987b7271d3138 Author: Mark Johnston AuthorDate: 2025-04-05 16:23:51 +0000 Commit: Mark Johnston CommitDate: 2025-04-24 13:20:52 +0000 ktr: Make debug.ktr.verbose available whenever KTR is configured This is more useful and matches the documentation. While here, make it settable as a tunable and add a sysctl description. PR: 139425 MFC after: 2 weeks (cherry picked from commit c5773d366ecc5271b9bd6e5506c00fb3520f19ae) --- sys/kern/kern_ktr.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/kern/kern_ktr.c b/sys/kern/kern_ktr.c index e862816c4613..cbd32d13248a 100644 --- a/sys/kern/kern_ktr.c +++ b/sys/kern/kern_ktr.c @@ -251,9 +251,12 @@ SYSCTL_PROC(_debug_ktr, OID_AUTO, entries, #ifdef KTR_VERBOSE int ktr_verbose = KTR_VERBOSE; -TUNABLE_INT("debug.ktr.verbose", &ktr_verbose); -SYSCTL_INT(_debug_ktr, OID_AUTO, verbose, CTLFLAG_RW, &ktr_verbose, 0, ""); +#else +int ktr_verbose = 0; #endif +TUNABLE_INT("debug.ktr.verbose", &ktr_verbose); +SYSCTL_INT(_debug_ktr, OID_AUTO, verbose, CTLFLAG_RWTUN, &ktr_verbose, 0, + "Print extra info when logging to the console"); #ifdef KTR_ALQ struct alq *ktr_alq; @@ -375,7 +378,6 @@ ktr_tracepoint(uint64_t mask, const char *file, int line, const char *format, file += 3; entry->ktr_file = file; entry->ktr_line = line; -#ifdef KTR_VERBOSE if (ktr_verbose) { #ifdef SMP printf("cpu%d ", cpu); @@ -387,7 +389,6 @@ ktr_tracepoint(uint64_t mask, const char *file, int line, const char *format, printf(format, arg1, arg2, arg3, arg4, arg5, arg6); printf("\n"); } -#endif entry->ktr_desc = format; entry->ktr_parms[0] = arg1; entry->ktr_parms[1] = arg2; From nobody Thu Apr 24 13:21:19 2025 X-Original-To: dev-commits-src-branches@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 4ZjxSb70vLz5tHlc; Thu, 24 Apr 2025 13:21:19 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZjxSb6G6Jz44vD; Thu, 24 Apr 2025 13:21:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745500879; 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=4USEvV/W01gzBrzgnsyeN4CP1hjwH5shye+N0MtkAzY=; b=aDHTKG9fOHLQhTOYa6T5Npo8hGTaX96rO8dF7ImUO8PtCL/TRmmaAl0cwCEjPu5V6h0m+a kKDFCch4EyTZdtrkUQKJ/KNHESqgx/4oQGFJGLT/AAZC6FD1XkN4hZnbG7nFx0YprhmUqk NxnGlAp0NXCAJzA4W+tXbu5uUlLvgurIsH1Sb0FTYiio6lVHcske1Q/+BxqiL1gcrNbRiO 10iixZDj2bVk2F3uJKuUH8rwpWlkHDfAMBAvNTe+5TsNHaykIAWe5l+BU8g6XFn0LLwAMk SWBoEFlIQgOesUXBpkDyaktj98W7o6u9dBVsSBkAEo2qLM1IyBWSzvW8d6Q7AQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745500879; a=rsa-sha256; cv=none; b=QixPsjo9wgbptMNfMuJAc44RkoC9ANEPftBc0o8UaNGzDUurWAR8BAxgZ4+1gtQSUvpMLD Q4SNxVm4xY6swMr4qorf3FaNffHp+/sTbUwjPJmXeNhvDqd3OJ8NvwBKYNUsTH8ZFWyW1Q kZXorvsZWscYX21ettwCVaJNMv3qCZ+2JH+kr6iLuplp/eJ50vLkPKFRD0DKCphG2v7SxM yTLc4u2+Gv9tWYK6y66HLUIO6UmnLqYCS+EmrO0weIET0HJ8PF7+Sf/JiUDAbh56qRroJ5 H7tz7uTPEwnon4+kFNLcPrz928oluXhFSeuHsxFqO5fQIrj43Ig7vBywaJA06w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745500879; 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=4USEvV/W01gzBrzgnsyeN4CP1hjwH5shye+N0MtkAzY=; b=NigZMEwuMeZ/uGWWLoY6xBinjBKo/Smlb6gidU1z7tl+G+9be9ol4rmJShXljyPoi2FcC6 c2jVSGs3ioxHgNH48wfZ0wbYLFvICja3fPWWYY+Y9tgSdwQNzC8bGsHUK3iIzDbcByv51G cRH9xNWaSBYZmn+tWjldMORxpREaeJXV096LupLEMVnsB7tHelbglRyNu52ElGSom1lpL1 5v7KojhSdGadTHaj9noN+HXk86rHY1icgGBV2bHbHxFORchTPPMqNXhnIqqFcixBmrUSh9 DV9bSj4BkAP08p1pHqjoa3tTVWWMuz+vpJH74jhFZr5iTYDpuEomtjI/OVOx4g== 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 4ZjxSb5t0Qzrv9; Thu, 24 Apr 2025 13:21:19 +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 53ODLJgR038264; Thu, 24 Apr 2025 13:21:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53ODLJgU038261; Thu, 24 Apr 2025 13:21:19 GMT (envelope-from git) Date: Thu, 24 Apr 2025 13:21:19 GMT Message-Id: <202504241321.53ODLJgU038261@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: b48ad95e67f2 - stable/14 - netinet: Make ip.h self-contained List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b48ad95e67f2881977a767e040b906e20dd33844 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b48ad95e67f2881977a767e040b906e20dd33844 commit b48ad95e67f2881977a767e040b906e20dd33844 Author: Mark Johnston AuthorDate: 2025-04-10 12:41:28 +0000 Commit: Mark Johnston CommitDate: 2025-04-24 13:20:57 +0000 netinet: Make ip.h self-contained In general we are working towards making public headers self-contained. cdefs.h is included for __packed; just assume that types.h includes cdefs.h as that's a very common assumption. PR: 285924 Reviewed by: emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49735 (cherry picked from commit 31d3a94bdda4a9ca4c4d7d4e8e8a0ba1b05c7f18) --- sys/netinet/ip.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netinet/ip.h b/sys/netinet/ip.h index df541ebb7edd..a256e271c723 100644 --- a/sys/netinet/ip.h +++ b/sys/netinet/ip.h @@ -35,7 +35,8 @@ #ifndef _NETINET_IP_H_ #define _NETINET_IP_H_ -#include +#include +#include /* * Definitions for internet protocol version 4. From nobody Thu Apr 24 13:23:49 2025 X-Original-To: dev-commits-src-branches@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 4ZjxWV300Vz5tJH2; Thu, 24 Apr 2025 13:23:50 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZjxWT6P9bz478w; Thu, 24 Apr 2025 13:23:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745501029; 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=bJqja+kRCLxa+UZdkoj+RFCGRWULQSOgZfkTtc4Gysc=; b=iSojRx39f7Iv/Cy9X9rfcSFOVai/323BMwflG9JW7dqNyYZHhGaf0mvNybzh46R56WJbAB utalN9HVhW85LgyVeFy7d+9Yzq2vf55B7GAfpoACPicgs8yoFYLwFpJySAz9ODqwbZTeuE YgC+NKwIcCG+7f6gNYlUQvTSco3Tt+QV0Fo9UkLrOEGiLmjVucs1nrPFdsofXZyaw+4mH5 kUswRtAnRfeFg1NkiEiM4CIszSJGp+h6xo4SEVhcJjjTbdaZQ8APBD24hBkN4HY031O6dg qzyfUuB5abHlMkP7Hj8W29ckoCeLneqGYJzyplarybf5YBSB1C0bZNbUYwvJUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745501029; a=rsa-sha256; cv=none; b=rzCZoSNlbjxmARzqp9teHqYTf18KElwgM/xL1BCFMZ7m+qwHp21keAVXUcSPOgbxrukOvQ Azx9G9rPAhNpcrLUojBd37x3Jb9WlJw6lo9Jg9BkWfNPkAVaE5+tziosfd2f1+MdzvusDM xdmp0Hg1pjXamp48dkiPBtdn8QbHWeYmNgYYeJqxnQUTAAmtUD4ZqJLnk/79zolpP7vI+0 dQP3dxm2TSEEkn/TSHCdYauLuxhXeo8oasMXgyDTBhuYSFdnaIWkAFcO/nIrmmZkQ7da69 la0bWVHSNmwjKYOBrhxCdsCN963Pn5osSEwtoQoy6iRyu1CPscbpLtQLz0FLSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745501029; 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=bJqja+kRCLxa+UZdkoj+RFCGRWULQSOgZfkTtc4Gysc=; b=AZU6oDBcfyZakUlj6HwS4XLjHoVKHyPshZG4ZMn2C5xeo/xKKxZmed8xtLT8MfoaefyCXN xYDSqLYskAMWyfYjVbG50J1ea/6npcId5SYltBdbXHdlQE+Km67AaD3g0XnkkaGzhyocSd oWcKhqGHG6wQH0perbRg26iHSHlaei7DfRywxcs6menCIhEvAt+VX3+9ZqlzdDOKPNXICE zevDEvZZkYFxGV3wTelWUWifPwgnz8lY6aopnF0lgPdgSVUTJuZ/cRzsXBkjXeA4b4H5Bd H/epMsqIXUOjZOiW4ktids+5XDFs/42EA7lS2/Z2+XbDW+oCx0Dhi+pkUn6nfA== 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 4ZjxWT5gxyzs9S; Thu, 24 Apr 2025 13:23:49 +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 53ODNnDS044831; Thu, 24 Apr 2025 13:23:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53ODNnVp044828; Thu, 24 Apr 2025 13:23:49 GMT (envelope-from git) Date: Thu, 24 Apr 2025 13:23:49 GMT Message-Id: <202504241323.53ODNnVp044828@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: f7851ff75061 - stable/13 - netinet: Make ip.h self-contained List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f7851ff75061e28230e21931af39b23bb82a245d Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f7851ff75061e28230e21931af39b23bb82a245d commit f7851ff75061e28230e21931af39b23bb82a245d Author: Mark Johnston AuthorDate: 2025-04-10 12:41:28 +0000 Commit: Mark Johnston CommitDate: 2025-04-24 13:23:38 +0000 netinet: Make ip.h self-contained In general we are working towards making public headers self-contained. cdefs.h is included for __packed; just assume that types.h includes cdefs.h as that's a very common assumption. PR: 285924 Reviewed by: emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49735 (cherry picked from commit 31d3a94bdda4a9ca4c4d7d4e8e8a0ba1b05c7f18) --- sys/netinet/ip.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netinet/ip.h b/sys/netinet/ip.h index b1d2a203b88e..678f7c3882c1 100644 --- a/sys/netinet/ip.h +++ b/sys/netinet/ip.h @@ -35,7 +35,8 @@ #ifndef _NETINET_IP_H_ #define _NETINET_IP_H_ -#include +#include +#include /* * Definitions for internet protocol version 4. From nobody Thu Apr 24 15:25:27 2025 X-Original-To: dev-commits-src-branches@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 4Zk0Cr293Bz5tRn7; Thu, 24 Apr 2025 15:25:28 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zk0Cq6zHsz3qSf; Thu, 24 Apr 2025 15:25:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745508328; 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=WveUEruMXeGNGow9t7mJodfjQ0Qx3Ox66ANfBHWgHeU=; b=niq1pcpEPZXDNTzynV76PqhDTwGHiJNbYdI67yRfZimFi2rK/YKTBKyzjOxLa+tFWLwcJt tg5JKFXfrb6+J190oV2kVTlEN4A153QItcr3UJvjrkuToOjWdL6jak4E/cyvJ/ovYtKQXY 6aGCtlnM+zYnD8DnBQFeUWOq8/H4U8aQnJ7gXhmnmy/+pfmJqxVP9LVy+aIwLbfN3N+22R U4U2gpxsVKuQpSw3C0WvwyfpG9uV7ul3plNMgNr+fJX0EbJ6o4+R4hWj0JEnBJIv4E6FHX hdzBFrmPBpKSJfcMuk0WU/JNKbk83HvS2wLRzs+rWvKXbFGYrkd/mFECHHedZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745508328; a=rsa-sha256; cv=none; b=Zb0wtbFlYtQ77mXbZRwDjcyA0oczxbirVquTop6CnpvCXlJ3WdX3j/YnJeHAbklRZAi2La LXCBv+VbGAJoUZXeISlFPahvj6eCnPlybyyeKOXJqNP91qebKoM+1w5ksr3lsHXHXAJANo SGbS5OLmk+lXp/Jiv9/Sp6izuo1qsGNaJHPwM0Oj69x8lf2tjP3I2SuKTksUmFr2NwdWhH M5zpSm3iWPMRoXJMdflz9WsVPfPzBKfYQmYuwn72/H6eXEvAKzv8M7WnSVc/BPB48SLmyK tMeDVOvOCDIvU/FUGdjcHkEHYPRjUC1BEsuyl0Oln9rva/JtgfRiQTfdOi3eKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745508328; 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=WveUEruMXeGNGow9t7mJodfjQ0Qx3Ox66ANfBHWgHeU=; b=Jloa/092rlgO3pcjcg+8BUELQbC/7zfS2WSb47nHZ6ySnQTkl/BDhFb0HnDV5tFAN2Xo35 ThUKLCe7++trOoW91nrK0y86lmi3Coo1bZ2PBH25zBuV6FTPsXgO0S6U3sSQYLmLFYCcDZ f7Es1XSK45iKqAOFaUF/iGuHj/TF0PvwAsfzMwpo+Cxb/JjWqsg8w6EMI7/JuxcD6k+Ob5 0mHjtkpgj3NwAVp9OfhG/ED9Nbp8fC+8OsfEb1SDY3MiSy+wi3Ybsi3TPC8PbrzghYA+TD UJT+mTRcV7+TNXORw8TIe9BTxT1mP456bGoVQthjFZVjDDD3/w+wxdv4fgkfvQ== 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 4Zk0Cq5Z4Tzvsg; Thu, 24 Apr 2025 15:25: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 53OFPRP3069840; Thu, 24 Apr 2025 15:25:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OFPRjN069837; Thu, 24 Apr 2025 15:25:27 GMT (envelope-from git) Date: Thu, 24 Apr 2025 15:25:27 GMT Message-Id: <202504241525.53OFPRjN069837@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: b7f4fcc27f4f - stable/14 - Fix share/zoneinfo for DIRDEPS_BUILD List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b7f4fcc27f4f19f346e2e4a5907ae1aab388e84f Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b7f4fcc27f4f19f346e2e4a5907ae1aab388e84f commit b7f4fcc27f4f19f346e2e4a5907ae1aab388e84f Author: Simon J. Gerraty AuthorDate: 2023-11-20 20:51:25 +0000 Commit: Ed Maste CommitDate: 2025-04-24 14:01:58 +0000 Fix share/zoneinfo for DIRDEPS_BUILD The tranditional build makes multiple passes through the tree. The DIRDEPS_BUILD visits each directory only once per architecture, thus makefiles should be able to everything they need in a single pass. The use of TZS!= when doing make(*install*) only works if the directory has previously been visited to do zoneinfo since before the zoneinfo target is run TZS will be empty. To fix this, have the zoneinfo target capture the list of files to zoneinfo, and install-zoneinfo use that list. Rename that target to zonefiles - since that is now what it does. This is more efficient - we only gather the list of zones when it is likely to have changed, and allows the makefile to do everything in a single pass. Reviewed by: stevek Differential Revision: https://reviews.freebsd.org/D42624 (cherry picked from commit 0a45a7e99fc3061e91732ad88671721e95082d5e) --- share/zoneinfo/Makefile | 28 +++++++++++----------------- share/zoneinfo/Makefile.depend | 1 - 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/share/zoneinfo/Makefile b/share/zoneinfo/Makefile index 60ae1f76f5b5..d4b37ce991aa 100644 --- a/share/zoneinfo/Makefile +++ b/share/zoneinfo/Makefile @@ -78,9 +78,9 @@ TZBUILDSUBDIRS= \ TZBUILDSUBDIRS+= US Mexico Chile Canada Brazil .if !defined(_SKIP_BUILD) -all: zoneinfo +all: zonefiles .endif -META_TARGETS+= zoneinfo install-zoneinfo +META_TARGETS+= zonefiles install-zoneinfo # # Produce “fat” zoneinfo files for backward compatibility. @@ -89,33 +89,27 @@ ZICFLAGS?= -b fat .if ${MK_DIRDEPS_BUILD} == "yes" ZIC= ${STAGE_HOST_OBJTOP}/usr/sbin/zic +# we do everything in a single visit +install-zoneinfo: zonefiles .endif -zoneinfo: ${TDATA} +zonefiles: ${TDATA} mkdir -p ${TZBUILDDIR} (cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS}) (umask 022; cd ${.CURDIR}; \ ${ZIC:Uzic} -D -d ${TZBUILDDIR} ${ZICFLAGS} -m ${NOBINMODE} \ ${LEAPFILE} ${TZFILES}) - -# -# Sort TZS to ensure they are the same every build. find -s might -# be a shorter way to express this, but it's non-portable. Any -# differences between the two don't matter for this purpose. -# -.if make(*install*) -TZS!= cd ${TZBUILDDIR} && find * -type f | LC_ALL=C sort -.endif + (cd ${TZBUILDDIR} && find * -type f | LC_ALL=C sort) > ${.TARGET} beforeinstall: install-zoneinfo install-zoneinfo: mkdir -p ${DESTDIR}/usr/share/zoneinfo (cd ${DESTDIR}/usr/share/zoneinfo; mkdir -p ${TZBUILDSUBDIRS}) -.for f in ${TZS} - ${INSTALL} ${TAG_ARGS} \ - -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ - ${TZBUILDDIR}/${f} ${DESTDIR}/usr/share/zoneinfo/${f} -.endfor + for f in `cat zonefiles`; do \ + ${INSTALL} ${TAG_ARGS} \ + -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ + ${TZBUILDDIR}/$${f} ${DESTDIR}/usr/share/zoneinfo/$${f}; \ + done ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ diff --git a/share/zoneinfo/Makefile.depend b/share/zoneinfo/Makefile.depend index 777ef7ba01c5..141855c83ab0 100644 --- a/share/zoneinfo/Makefile.depend +++ b/share/zoneinfo/Makefile.depend @@ -1,7 +1,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - usr.bin/xinstall.host \ usr.sbin/zic.host \ From nobody Sat Apr 26 03:21:14 2025 X-Original-To: dev-commits-src-branches@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 4Zkw3G4ldwz5tXwG; Sat, 26 Apr 2025 03:21:14 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zkw3G3w0Bz3LHc; Sat, 26 Apr 2025 03:21:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637674; 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=dm45fPDXrDbnp22pPSoU4EfCsNVG6hBLsFf4Vnxz3Z8=; b=Le50r3hvGDr8NfRZQusbIUc/LrYqCACArY6eqKnQsCkXMCrI90F5Yi4j0EpyKkUJ6zbyP5 2qZGlVFn7T/Bsj1ihaXbaRvJtHbexVJRE3VBV+jiKQu5fMHU1Z23FH6x4i5TKyJ3bhZvtI Pk+lmw7QV/rxtRzW0zXMTW1XyJ9ooDG+WtgGmTvNekQbPWdZEXoPP0G3Z07Zi8FkCP8SBO 9jzBkd2IGCEM3lW6g9xRHIuXb1EXk+ZZTIyQuxTp2t6qq25F3YX6qPwsgx0+y5G8utEZbA aiagq0Lq+1DC9S+xBsTl9Kn+kKW5DpiEf5ddq5HW/JZ18HC9QkdyPDfc8PtZnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745637674; a=rsa-sha256; cv=none; b=USc522F0VGTyUzY9WVaM/FHQgFAkDZSIjQnhsbJYB6mHX64+9Ko4Lw11zaBggEzWl6z5Fd fFljwsa3cgGL7cGm2om4KsCVf6ofODV3bNIiscFd5A1XJEQAgbGf1h7tniX8Jo3dCLn6gQ St6tcQNmIdgCEvIdabAe1sAV2JtLhR2XyyZr2M252vOVq0Ic56KADo08gulLOanRKwKvg1 6vZLjQ7zI6iia9mqfDEQobzzCNXzalqLAykQkscyc2eTFCmhnEa9gngYG+dfyuNI1wPwJo JNaDa9+//ySPAs6HduG820wFjY5JxzoIZTYHjcD2UGBQJT/zyJd8V6aDn5jt5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637674; 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=dm45fPDXrDbnp22pPSoU4EfCsNVG6hBLsFf4Vnxz3Z8=; b=wbkpX69VAVRWqLSWrCLM9Vz/VuGB9NMGpJC9hP0erbh4o9+ow95NhiYEcc1FBFvNtKf+dQ jWGe/scT6DZ2z5+6jZgxIRZQT+XRcny8+StSrI+3OmnNLqUgz2UM1+vf/mAfWqZ0HBamLb SlpAIDfnZFalu5Ao/clSh8fbHtLRBtMgUr3RfAQjvTMUBfKBy7bGo57z36iB3ll7rGqoxQ e8Up7U6Pa4yca6xdlQ00w4zkQbDhagxycOUExxjbsxS0mzIDwfRQvlYNJYW8LR/RCaSm5d g4x+L3uzhVuctLXZ47X30yU/abZdWDVJvL2eG6LIIrRjMu/lQiYMxJA7uk8E3Q== 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 4Zkw3G3WhBz12x3; Sat, 26 Apr 2025 03:21:14 +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 53Q3LEmw009662; Sat, 26 Apr 2025 03:21:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53Q3LEDq009659; Sat, 26 Apr 2025 03:21:14 GMT (envelope-from git) Date: Sat, 26 Apr 2025 03:21:14 GMT Message-Id: <202504260321.53Q3LEDq009659@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: ba560cd8fba3 - stable/14 - wg: Improve wg_peer_alloc() to simplify the calling List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ba560cd8fba390334fd543c4f0190b72794cc6fe Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=ba560cd8fba390334fd543c4f0190b72794cc6fe commit ba560cd8fba390334fd543c4f0190b72794cc6fe Author: Aaron LI AuthorDate: 2025-04-18 00:30:11 +0000 Commit: Kyle Evans CommitDate: 2025-04-26 03:19:47 +0000 wg: Improve wg_peer_alloc() to simplify the calling Move the necessary extra logics (i.e., noise_remote_enable() and TAILQ_INSERT_TAIL()) from wg_ioctl_set() to wg_peer_alloc(), and thus make it easier to be called. Actually, the updated version is more asymmetric to wg_peer_destroy() and thus less likely to be misused. Meanwhile, rename it to wg_peer_create() to look more consistent with wg_peer_destroy(). Reviewed by: aly_aaronly.me (diff), markj Obtained from: DragonflyBSD 902964ab24ba (with some changes) (cherry picked from commit 7121e9414f294d116caeadd07ebd969136d3a631) --- sys/dev/wg/if_wg.c | 42 ++++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c index ed23baf33a17..2534929a1e37 100644 --- a/sys/dev/wg/if_wg.c +++ b/sys/dev/wg/if_wg.c @@ -315,7 +315,8 @@ static void wg_timers_run_persistent_keepalive(void *); static int wg_aip_add(struct wg_softc *, struct wg_peer *, sa_family_t, const void *, uint8_t); static struct wg_peer *wg_aip_lookup(struct wg_softc *, sa_family_t, void *); static void wg_aip_remove_all(struct wg_softc *, struct wg_peer *); -static struct wg_peer *wg_peer_alloc(struct wg_softc *, const uint8_t [WG_KEY_SIZE]); +static struct wg_peer *wg_peer_create(struct wg_softc *, + const uint8_t [WG_KEY_SIZE], int *); static void wg_peer_free_deferred(struct noise_remote *); static void wg_peer_destroy(struct wg_peer *); static void wg_peer_destroy_all(struct wg_softc *); @@ -378,18 +379,26 @@ static void wg_module_deinit(void); /* TODO Peer */ static struct wg_peer * -wg_peer_alloc(struct wg_softc *sc, const uint8_t pub_key[WG_KEY_SIZE]) +wg_peer_create(struct wg_softc *sc, const uint8_t pub_key[WG_KEY_SIZE], + int *errp) { struct wg_peer *peer; sx_assert(&sc->sc_lock, SX_XLOCKED); peer = malloc(sizeof(*peer), M_WG, M_WAITOK | M_ZERO); + peer->p_remote = noise_remote_alloc(sc->sc_local, peer, pub_key); - peer->p_tx_bytes = counter_u64_alloc(M_WAITOK); - peer->p_rx_bytes = counter_u64_alloc(M_WAITOK); + if ((*errp = noise_remote_enable(peer->p_remote)) != 0) { + noise_remote_free(peer->p_remote, NULL); + free(peer, M_WG); + return (NULL); + } + peer->p_id = peer_counter++; peer->p_sc = sc; + peer->p_tx_bytes = counter_u64_alloc(M_WAITOK); + peer->p_rx_bytes = counter_u64_alloc(M_WAITOK); cookie_maker_init(&peer->p_cookie, pub_key); @@ -420,6 +429,13 @@ wg_peer_alloc(struct wg_softc *sc, const uint8_t pub_key[WG_KEY_SIZE]) LIST_INIT(&peer->p_aips); peer->p_aips_num = 0; + TAILQ_INSERT_TAIL(&sc->sc_peers, peer, p_entry); + sc->sc_peers_num++; + + if (if_getlinkstate(sc->sc_ifp) == LINK_STATE_UP) + wg_timers_enable(peer); + + DPRINTF(sc, "Peer %" PRIu64 " created\n", peer->p_id); return (peer); } @@ -2374,7 +2390,7 @@ wg_peer_add(struct wg_softc *sc, const nvlist_t *nvl) size_t size; struct noise_remote *remote; struct wg_peer *peer = NULL; - bool need_insert = false; + bool need_cleanup = false; sx_assert(&sc->sc_lock, SX_XLOCKED); @@ -2406,8 +2422,10 @@ wg_peer_add(struct wg_softc *sc, const nvlist_t *nvl) wg_aip_remove_all(sc, peer); } if (peer == NULL) { - peer = wg_peer_alloc(sc, pub_key); - need_insert = true; + peer = wg_peer_create(sc, pub_key, &err); + if (peer == NULL) + goto out; + need_cleanup = true; } if (nvlist_exists_binary(nvl, "endpoint")) { endpoint = nvlist_get_binary(nvl, "endpoint", &size); @@ -2465,19 +2483,11 @@ wg_peer_add(struct wg_softc *sc, const nvlist_t *nvl) } } } - if (need_insert) { - if ((err = noise_remote_enable(peer->p_remote)) != 0) - goto out; - TAILQ_INSERT_TAIL(&sc->sc_peers, peer, p_entry); - sc->sc_peers_num++; - if (if_getlinkstate(sc->sc_ifp) == LINK_STATE_UP) - wg_timers_enable(peer); - } if (remote != NULL) noise_remote_put(remote); return (0); out: - if (need_insert) /* If we fail, only destroy if it was new. */ + if (need_cleanup) /* If we fail, only destroy if it was new. */ wg_peer_destroy(peer); if (remote != NULL) noise_remote_put(remote); From nobody Sat Apr 26 03:21:16 2025 X-Original-To: dev-commits-src-branches@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 4Zkw3K1D2Dz5tXQ7; Sat, 26 Apr 2025 03:21:17 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zkw3J5zsKz3LCP; Sat, 26 Apr 2025 03:21:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637676; 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=33OuN0WS0M47YxGfqR42NJOd0DuIW8QEnWXecDX2818=; b=hczWTjmNsR7ras1dAWxfZWe8QEH0T8o+dzt7o4qmV1aMbB2m0NfyJBtkk+AA8jPyMyAdUX Z1fNka6+74LNfKcC6mtwUn4Ny0kWpZqhdQE6m3Oq2tNsq1iEqpfQ7prl74E1TzkpECYJi5 MkvyTEBIg2OtE7dgjxVfeXacSHymOnp0NfoYaI/lld5x+vFbbAwfDog2WpcSIxYXJC/nll ggGqJC7WPQb242BnnaRyLAVezY6zVnL9RTtZP42SXZlqmgMf+ltP/SZ0/EpxZRh3X7fGgB n12dA/qSNIZkIze9rLiSsSGhKJGzNSCxFfODysy4jaNZNK1J2DjtMm/55PXmJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745637676; a=rsa-sha256; cv=none; b=xwawjX1jOcTqK4TOAKS0GVddcqPRFFTAOrkaL1obyGqGakYhX8KoSzqa3Pl2gl/1AkhCtX /ug1QMGFxtY2J7bMr0YpOkO0GQnERKV382GREtMritbzlXT7fJjPcuVKT0ac3J/9FHz+tQ vd07uRdwlAyKpwFAGQ7N1L7ddgbD+LSiO8wP8qFa+XsNWUBTZzoGDSCPuefZ8ewd7A1+7D z7hCJ9TESvlMNYTUzNStlOKYGi9FO9snSV0/9A0RICqV1zkB1rlqNP0mKHH79y/xS9pp60 /+xC2uy6rqU3qQPTvSwLUROQtJDgFK4L59o3jKpyd73+HLqN8tJzOHhg7DeUiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637676; 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=33OuN0WS0M47YxGfqR42NJOd0DuIW8QEnWXecDX2818=; b=Q8P2jgs3EAdH2y+EGJnhzujZ62Y5DtZ0DgGHf1j6IL7fSmWSslW6j3CJbhz+8Ho0wMWZwp 9HNFmUxv0BR8FlNqDKQDS3C+HoCZxBTFtXgI8wmX3eEqrePPsWv7UO4JdymvWV1HKV/V8y 9/l1XOKAaECe4LuqdbyHsX5BcRZN5NJIHIAxTVcke4OKO+lDo37s19O/8W1kKwUNnYUO0Z Mj4yNq0OTHV5fZDJ4JxjXneHRd8IdZ0DGZQYdq7NEcQAbCxdHSm/WPtwGnNhHINao4GbLR RDfacXeiC8DljKZhh1fmLpAXZtwHeyQ7LoOQ0iS8V0408TSj5zu0XJQkA3fSiA== 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 4Zkw3J5Sd7z12x4; Sat, 26 Apr 2025 03:21:16 +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 53Q3LGsE009728; Sat, 26 Apr 2025 03:21:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53Q3LGCH009725; Sat, 26 Apr 2025 03:21:16 GMT (envelope-from git) Date: Sat, 26 Apr 2025 03:21:16 GMT Message-Id: <202504260321.53Q3LGCH009725@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 99509fcc8733 - stable/14 - tee: minor cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 99509fcc8733022e54bac6a9249a03d2e1489271 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=99509fcc8733022e54bac6a9249a03d2e1489271 commit 99509fcc8733022e54bac6a9249a03d2e1489271 Author: Kyle Evans AuthorDate: 2025-04-20 16:34:51 +0000 Commit: Kyle Evans CommitDate: 2025-04-26 03:19:48 +0000 tee: minor cleanup Pull the open flags out of the loop into a local var. They won't be changing, so this is marginally more readable. Adds some extra brackets around the loop in preparation for a future change that may try to fallback to opening the path as a socket if we get an EOPNOTSUPP. No functional change. Reviewed by: asomers, des, emaste, ngie (cherry picked from commit 414c2b8d1e5abe7186c1aa4dc3ab28147ce46f47) --- usr.bin/tee/tee.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/usr.bin/tee/tee.c b/usr.bin/tee/tee.c index c4fe945d6d12..aeda9c34ac45 100644 --- a/usr.bin/tee/tee.c +++ b/usr.bin/tee/tee.c @@ -69,11 +69,9 @@ static void usage(void) __dead2; int main(int argc, char *argv[]) { + char *bp, *buf; struct entry *p; - int n, fd, rval, wval; - char *bp; - int append, ch, exitval; - char *buf; + int append, ch, exitval, fd, n, oflags, rval, wval; #define BSIZE (8 * 1024) append = 0; @@ -100,13 +98,20 @@ main(int argc, char *argv[]) add(STDOUT_FILENO, "stdout"); - for (exitval = 0; *argv; ++argv) - if ((fd = open(*argv, append ? O_WRONLY|O_CREAT|O_APPEND : - O_WRONLY|O_CREAT|O_TRUNC, DEFFILEMODE)) < 0) { + oflags = O_WRONLY | O_CREAT; + if (append) + oflags |= O_APPEND; + else + oflags |= O_TRUNC; + + for (exitval = 0; *argv; ++argv) { + if ((fd = open(*argv, oflags, DEFFILEMODE)) < 0) { warn("%s", *argv); exitval = 1; - } else + } else { add(fd, *argv); + } + } if (caph_enter() < 0) err(EXIT_FAILURE, "unable to enter capability mode"); From nobody Sat Apr 26 03:21:15 2025 X-Original-To: dev-commits-src-branches@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 4Zkw3J1b7hz5tXwK; Sat, 26 Apr 2025 03:21:16 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zkw3H5nktz3LCN; Sat, 26 Apr 2025 03:21:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637675; 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=79Ea9oJ+/DkutPcq12w/PCVR91oHVZ069wk6HqiEs1U=; b=nAWcNuI1dhwoUx77lMITE3pdUJpjNK8gAHdaB0xxxbZJcNWM7Icn0XX7NKds1T+aTT8NLF dg+JXFDb+cD+sZgOshJZhHNKYAX1hAXraWz6XtSh+Vz77PyONvtSFuL8xnmx5ikvLXCzU5 ELpEFa0nN5sCH5UmNVuZ122PlvY0MUBWSG+L+HxTAgzOCFXg9aqrceN7rfRSkIWO6+qcOS re/ykv5W50b+574nQY3j8kzaNbvtu1YQxd748F3Bb34yTWcpbmQNKNSrk1g5bP3O1bsZEG t/3bvLsE62Ad86yY57oWzHbtLl+Zp+T7w8kvcuTe7Kmv5NJ6hm9tW4VOcNmN6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745637675; a=rsa-sha256; cv=none; b=EWG+4lmafmWDAlk/zdYU6aRzAyzkN3/ElR9jzEvgAJQ+pNgf6pmq8xd1N++HixnkFwxec7 qteqUpLIfTFgqDPqx59rbGwiZrvrAB1OHpDyfpmt7M7wi9RoDricpCLswaZpynWalAC45/ FIM5f8o5YIqQwOO9uXj/4i3nt3zu5UA1j3vhkcws5xS51FCbzHgtzJPcI+DamQffjkP2Lu KWS/2eyXNo825AVZrrVdFbgZzPWsURZRxEhVE/nVl6z9S8HGMRrItNMxzw36UbybRVpDtl fI+odNOx2pz76tU/aJffjBIlYDagswhRwDiGRNvDmx4sSPTW7SOrQ3Q2Reg+7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637675; 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=79Ea9oJ+/DkutPcq12w/PCVR91oHVZ069wk6HqiEs1U=; b=rBimoV8vk3n5c5fHLeKFmlgeInw9+4yxa/6gJm+yQaWs2tsRKyTP1W63NiIoq1JbrfJKHV ovmt3QH5GGZ9Oq00mfM0Nv4SiD3Lv61696BkhyKbN/QohvV0gtUyIOdzEt2xyGRAOjBBHg RGe/x9f6saG+xCnDeMwkUcqSXrvp9FsA4tPv/wZ5D3o74TmgY4+A8AFTo0xJgd7ysPQsQ3 CP2EN8uKrqESMBQ0yIB5xr7+WVdpxIsTblCzWiCJ0q1/zU/DdbVQKjZEsmMdI7A5AEEovy gNz1zhFC+MJP4opflZixzbYYvglIRy5h7+by6JL1Gwl6I656Xl639FxPWVmxsQ== 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 4Zkw3H4X8Jz12jL; Sat, 26 Apr 2025 03:21:15 +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 53Q3LFj6009696; Sat, 26 Apr 2025 03:21:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53Q3LFXO009693; Sat, 26 Apr 2025 03:21:15 GMT (envelope-from git) Date: Sat, 26 Apr 2025 03:21:15 GMT Message-Id: <202504260321.53Q3LFXO009693@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 00640ea3144c - stable/14 - tee: add some basic tests List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 00640ea3144cd6511aa05c16d20037b32e592dca Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=00640ea3144cd6511aa05c16d20037b32e592dca commit 00640ea3144cd6511aa05c16d20037b32e592dca Author: Kyle Evans AuthorDate: 2025-04-20 16:34:50 +0000 Commit: Kyle Evans CommitDate: 2025-04-26 03:19:48 +0000 tee: add some basic tests The cases are ordered in such a way that we naturally progress through the functionality, with the earliest failures perhaps shedding light on any later failures. sysutils/porch is used for one test if it's available, just to cleanly check that SIGINT is being ignored properly. Reviewed by: des, emaste (cherry picked from commit 85ff0b08ee699ff323404727998993275b4d2e2a) --- etc/mtree/BSD.tests.dist | 2 ++ usr.bin/tee/Makefile | 5 +++ usr.bin/tee/tests/Makefile | 6 ++++ usr.bin/tee/tests/sigint.orch | 14 ++++++++ usr.bin/tee/tests/tee_test.sh | 74 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 101 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index f8088894e6f4..a6b2eed725b8 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -1147,6 +1147,8 @@ .. tar .. + tee + .. tftp .. touch diff --git a/usr.bin/tee/Makefile b/usr.bin/tee/Makefile index a713132df295..dab708015872 100644 --- a/usr.bin/tee/Makefile +++ b/usr.bin/tee/Makefile @@ -1,5 +1,10 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 +.include + PROG= tee +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests + .include diff --git a/usr.bin/tee/tests/Makefile b/usr.bin/tee/tests/Makefile new file mode 100644 index 000000000000..acb78e671a8c --- /dev/null +++ b/usr.bin/tee/tests/Makefile @@ -0,0 +1,6 @@ +PACKAGE= tests + +ATF_TESTS_SH+= tee_test +${PACKAGE}FILES+= sigint.orch + +.include diff --git a/usr.bin/tee/tests/sigint.orch b/usr.bin/tee/tests/sigint.orch new file mode 100644 index 000000000000..2fc0b32c61fb --- /dev/null +++ b/usr.bin/tee/tests/sigint.orch @@ -0,0 +1,14 @@ +-- We expect the caller to have spawned the appropriate application +write "text\r" +match "text" + +write "^C" + +-- If SIGINT isn't being ignored, we'll bail out somewhere in the process of +-- writing to the pty or trying to read from it to perform the following match. +write "text\r" +match "text" + +-- Finally, just close it out cleanly. +write "^D" +eof() diff --git a/usr.bin/tee/tests/tee_test.sh b/usr.bin/tee/tests/tee_test.sh new file mode 100644 index 000000000000..6ac733f2e58f --- /dev/null +++ b/usr.bin/tee/tests/tee_test.sh @@ -0,0 +1,74 @@ +# +# Copyright (c) 2024 Kyle Evans +# +# SPDX-License-Identifier: BSD-2-Clause +# + +atf_test_case single_file +single_file_body() +{ + atf_check -o inline:"text\n" -x "echo text | tee file" + atf_check -o inline:"text\n" cat file +} + +atf_test_case device +device_body() +{ + atf_check -e inline:"text\n" -o inline:"text\n" -x \ + "echo text | tee /dev/stderr" +} + +atf_test_case multiple_file +multiple_file_body() +{ + atf_check -o inline:"text\n" -x "echo text | tee file1 file2" + atf_check -o inline:"text\n" cat file1 + atf_check -o inline:"text\n" cat file2 +} + +atf_test_case append +append_body() +{ + atf_check -o ignore -x "echo text | tee file" + atf_check -o inline:"text\n" cat file + + # Should overwrite if done again + atf_check -o ignore -x "echo text | tee file" + atf_check -o inline:"text\n" cat file + + # Should duplicate if we use -a + atf_check -o ignore -x "echo text | tee -a file" + atf_check -o inline:"text\ntext\n" cat file +} + +atf_test_case sigint_ignored +sigint_ignored_head() +{ + # This is most cleanly tested with interactive input, to avoid adding + # a lot of complexity in trying to manage an input and signal delivery + # dance purely in shell. + atf_set "require.progs" "porch" +} +sigint_ignored_body() +{ + + # sigint.orch will write "text" to the file twice if we're properly + # ignoring SIGINT, so we'll do one test to confirm that SIGINT is not + # being ignored by porch(1), then another to confirm that tee(1) will + # ignore SIGINT when instructed to. + atf_check -s exit:1 -e ignore \ + porch -f $(atf_get_srcdir)/sigint.orch tee file + atf_check -o inline:"text\n" cat file + + atf_check porch -f $(atf_get_srcdir)/sigint.orch tee -i file + atf_check -o inline:"text\ntext\n" cat file +} + +atf_init_test_cases() +{ + atf_add_test_case single_file + atf_add_test_case device + atf_add_test_case multiple_file + atf_add_test_case append + atf_add_test_case sigint_ignored +} From nobody Sat Apr 26 03:21:18 2025 X-Original-To: dev-commits-src-branches@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 4Zkw3M3429z5tXnN; Sat, 26 Apr 2025 03:21:19 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zkw3M0xdHz3L4r; Sat, 26 Apr 2025 03:21:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637679; 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=YSy8Htmf8FdSYR5Exqr+WYaA471GQwqU60AsHgPIQS0=; b=FUDHLP6B3/g+3TtHsBJZbdcxCvUnwxUY9vTUvEXDIEGgyr2EvF9y5CPZ4faSZppFRmNTKk CARZsje5zIkqPP7zG3vF2DrhkVOoPLda8Ua+AqemGEHw/nYm6LS40Mc8YiCe0UX5xZO4MS RRArK8F+8zMDOkzSuDUbMIXig+zgHWRo8x+iURdsMewafzIFZ34HfH1+kUFgNDuXl3uqA4 eKAUsuEodeLgLSBlN50XpJ70PHLc8YuLtgT95affcmHVQ+ah5rlKhYNmg3pmb09JJ1AcM4 MJLWUZ2dmkt+Y2j5WM2jT4RkVZnzectUhFPlRo/bsjDjIvYBO4L4yFZmPiLBVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745637679; a=rsa-sha256; cv=none; b=U0x0q+Oy9mp7l6/EwrUEDb6xsEkMmgmvqHpVEjKOejVE3nyT49ksNsqmIHuUp8aaI+5g+f Dg6sdSufF3ELIIlu1WivR2iA8b9FS46D7n860sQmKvi6sT5/v4kBp5Rurqi1ZzV0zmGw9G KHncuJMMEU8uSOFlJ8bQ2l30IkNtyqyiFTZeS6W4k38URlISmhLd8Seh/VDdiUGWQux1iW 9S5S/EBR4qsekLWaJLuaFNFmQ4DIqfBYVEHAbhaoCQRGHnn5mQH2efZ0q69KsCFQplceRI qCsH2brhhFOEEQzLGHopmKvZKcQHN9xqNrx1KDzDjWkan2fVxgzsG4v/YFCOiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637679; 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=YSy8Htmf8FdSYR5Exqr+WYaA471GQwqU60AsHgPIQS0=; b=c5Acvi7K0uCpPQMsF/KSFm/zGvS5P2nN//GP4khyyWEmLy7eACJnhHQ19akrAYcE81xHhr iFU1daB0Cj99G6lfbQYvq7rkUycYzg8PV+Q0bNdh3GoO5fIGngvsjk4xZXHADYKRwLgbKl MlyGZPQNaIbq7w1M03pMoYhDq1CXgD1OPW/GohIz37RYZey1Qk+MIirifhUriET9mqRGKh HeI4TzOTUhQ+1HHSHp7s4q0jJONJxCfwrrteWlE2zWVKD9t6yc5LjKnXYogzRqMcFG6F+D 3XWKxTN/nAXFprRwOvL437zRh13++XuTwDpMV58Gu7H0glBR+IVgzHJV5yNZXQ== 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 4Zkw3M0Ffdz12c5; Sat, 26 Apr 2025 03:21:19 +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 53Q3LI1k009792; Sat, 26 Apr 2025 03:21:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53Q3LIVE009789; Sat, 26 Apr 2025 03:21:18 GMT (envelope-from git) Date: Sat, 26 Apr 2025 03:21:18 GMT Message-Id: <202504260321.53Q3LIVE009789@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 25512b1fca07 - stable/14 - libc: locale: fix EUC shift check List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 25512b1fca07fdab3b747fb4ee31f9b1edb32aef Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=25512b1fca07fdab3b747fb4ee31f9b1edb32aef commit 25512b1fca07fdab3b747fb4ee31f9b1edb32aef Author: Kyle Evans AuthorDate: 2025-04-20 18:29:45 +0000 Commit: Kyle Evans CommitDate: 2025-04-26 03:19:49 +0000 libc: locale: fix EUC shift check wchar_t is unsigned on ARM platforms, and signed pretty much everywhere else. On signed platforms, `nm` ends up with bogus upper bits set if we did in-fact have a valid CS2 or CS3 (MSB set). Mask just the low byte to avoid sign bit garbage. Bare basic test of converting a CS2 widechar in eucCN, which would previously kick back an EILSEQ. Reviewed by: bapt, rew Sponsored by: Klara, Inc. (cherry picked from commit c4c562eadf3b790fa221e220d6a442f0cb84ca35) --- lib/libc/locale/euc.c | 2 +- lib/libc/tests/locale/wctomb_test.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/libc/locale/euc.c b/lib/libc/locale/euc.c index 823928ff745b..dcd87cf7da38 100644 --- a/lib/libc/locale/euc.c +++ b/lib/libc/locale/euc.c @@ -429,7 +429,7 @@ _EUC_wcrtomb_impl(char * __restrict s, wchar_t wc, /* This first check excludes CS1, which is implicitly valid. */ if ((wc < 0xa100) || (wc > 0xffff)) { /* Check for valid CS2 or CS3 */ - nm = (wc >> ((len - 1) * 8)); + nm = (wc >> ((len - 1) * 8)) & 0xff; if (nm == cs2) { if (len != cs2width) { errno = EILSEQ; diff --git a/lib/libc/tests/locale/wctomb_test.c b/lib/libc/tests/locale/wctomb_test.c index 1e142ed74c48..ef2a6dcbe1e3 100644 --- a/lib/libc/tests/locale/wctomb_test.c +++ b/lib/libc/tests/locale/wctomb_test.c @@ -41,6 +41,18 @@ #include +ATF_TC_WITHOUT_HEAD(euccs1_test); +ATF_TC_BODY(euccs1_test, tc) +{ + wchar_t wc = 0x8e000000; + char buf[MB_LEN_MAX]; + + ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "zh_CN.eucCN"), + "zh_CN.eucCN") == 0); + + ATF_REQUIRE(wctomb(&buf[0], wc) == 4); +} + ATF_TC_WITHOUT_HEAD(wctomb_test); ATF_TC_BODY(wctomb_test, tc) { @@ -104,6 +116,7 @@ ATF_TC_BODY(wctomb_test, tc) ATF_TP_ADD_TCS(tp) { + ATF_TP_ADD_TC(tp, euccs1_test); ATF_TP_ADD_TC(tp, wctomb_test); return (atf_no_error()); From nobody Sat Apr 26 03:21:17 2025 X-Original-To: dev-commits-src-branches@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 4Zkw3L6sYPz5tXkF; Sat, 26 Apr 2025 03:21:18 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zkw3K6WSDz3L0C; Sat, 26 Apr 2025 03:21:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637677; 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=Ai5HZX9l4JS0fD4oiqZVtefoulbbVuQKA1VJAy7qiTc=; b=txbPKRbpeRNvf+y/7EBMtLtMye8H2Qczr/tbHZdmM73P3D1lv7k1cIeYt9ENcfChqzAJ7/ koNLr5TCH+0wnzHCYd1NsGwlCgniAWn7vaU+4Y21TVrhM+FsthAan7BKaAup+nz8njCpe8 2O6nZ5zjOlLNY4syiN0BbhSiSvGX/fsh0W4Sc9CRDKSkxN/KR7yMQN9GYLvyVnRbTfnjQm SMxEDqiTFN1do1TBC3FAs4IaQzG4oZQtz4QHkSNDlMYq6VPXRqTXX8GCYhfqy+RB+6T1Lg gNhJ93gRXLLny8DlIQ+XNnuvGgxCee/cSGwZp3IsO2x8t4eUlHofocv9bMUXJw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745637677; a=rsa-sha256; cv=none; b=EgQJpJFiy89NVtS3SqAQcP6Ujo9OR1dQR/39a8JznxRlwdBCKNFYztqjtPuNZdPFj3VoWP 6lxzt28WDhu8fgOOm1YusgYf8cbDh8lrjp6EWDYede6EzcjBZL7gvlAbos1nSfnSwEytVE 5p4nPSUvmCRGKtNhgIRFhqAEQ3+hZFw672Y3KeqaDQO48BenSNbdoguWH00+3JqjtJ/cxK uVhL5zIWZlMzZhpiaim0Lbe8HeJq4peQ7XPHnYjYSEUkw/KG+LPM0XNGl/+dYmQdSI4q7W V0AVyjuR0RRIUD1QrTl5SzOfRmYFg4ZpzrqothBJ8AgOiEO4chyVtfzPMXeYLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637677; 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=Ai5HZX9l4JS0fD4oiqZVtefoulbbVuQKA1VJAy7qiTc=; b=j/h7tHMpyCqerLJifBeOKQiQZx/lnh7iXvJ2YAdLYhEl3p68d4XDv904/SoT+vCSKRR5xI HP63zgUUvI/M1/nwHoK6Y1nwlKpLnC0hmxi2ytl7kkM/cWxpKCIb++DV1+Ezb002BV6O9d hxNWScET1MftEU+B5zYXmk5IZ623EIgTc2hXn11Y6Z9rrfvJXP5irT3+HlaTaBJa9zzHFT Df8lwvuZ09zIbY/I5d+kJZnG6F5v6c0CTza1IJ1fWF6ctSusRBjsEezhk7sYVjGSMOtMr0 QnLpL4kTu+Vc6GzuhCsOiTUtotd120xWDsOMMasLlC0WC2gXIPFBetr0oAeYiA== 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 4Zkw3K66Xvz12x5; Sat, 26 Apr 2025 03:21:17 +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 53Q3LHCV009760; Sat, 26 Apr 2025 03:21:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53Q3LHXb009757; Sat, 26 Apr 2025 03:21:17 GMT (envelope-from git) Date: Sat, 26 Apr 2025 03:21:17 GMT Message-Id: <202504260321.53Q3LHXb009757@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: c195ae95912a - stable/14 - bintrans: disable argument permutation for qp and base64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c195ae95912ac873c62ba6325a82fc39b6aecc7a Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c195ae95912ac873c62ba6325a82fc39b6aecc7a commit c195ae95912ac873c62ba6325a82fc39b6aecc7a Author: Kyle Evans AuthorDate: 2025-04-20 18:08:09 +0000 Commit: Kyle Evans CommitDate: 2025-04-26 03:19:48 +0000 bintrans: disable argument permutation for qp and base64 Err on the side of caution and revert to the BSD-style getopt(3) behavior for argument processing, as it's harder to go back and it's not clear that this was strictly intentional. This is the difference between allowing `base64 /COPYRIGHT -w 80` and forcing `base64 -w 80 /COPYRIGHT`. Reviewed by: emaste, pstef (cherry picked from commit d8fd551438706b3766da23e72ef077945ba43cd3) --- usr.bin/bintrans/bintrans.c | 2 +- usr.bin/bintrans/qp.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/bintrans/bintrans.c b/usr.bin/bintrans/bintrans.c index c4b443a9009b..e5e9ac17d524 100644 --- a/usr.bin/bintrans/bintrans.c +++ b/usr.bin/bintrans/bintrans.c @@ -139,7 +139,7 @@ base64_encode_or_decode(int argc, char *argv[]) {NULL, no_argument, NULL, 0} }; - while ((ch = getopt_long(argc, argv, "diw:", opts, NULL)) != -1) + while ((ch = getopt_long(argc, argv, "+diw:", opts, NULL)) != -1) switch (ch) { case 'd': decode = true; diff --git a/usr.bin/bintrans/qp.c b/usr.bin/bintrans/qp.c index 862db437f4e0..a989b17e7162 100644 --- a/usr.bin/bintrans/qp.c +++ b/usr.bin/bintrans/qp.c @@ -181,7 +181,7 @@ main_quotedprintable(int argc, char *argv[]) {NULL, no_argument, NULL, 0} }; - while ((ch = getopt_long(argc, argv, "do:ru", opts, NULL)) != -1) { + while ((ch = getopt_long(argc, argv, "+do:ru", opts, NULL)) != -1) { switch(ch) { case 'o': fpo = fopen(optarg, "w"); From nobody Sat Apr 26 03:21:21 2025 X-Original-To: dev-commits-src-branches@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 4Zkw3P5ZMkz5tXkL; Sat, 26 Apr 2025 03:21:21 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zkw3P28MZz3LCf; Sat, 26 Apr 2025 03:21:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637681; 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=+ipyCANmoPMWHwOkGm2XICWeu70eijFvx5xJd5p7hG0=; b=G5un/PC+ljk0ZrWmVydV77lqEl6gSgyDAKOgC4kUTiaon/v8te+H0pjYYKCdvWKXM1SMxZ 4g84k+qRQ7/hIjoSZmyuvfiH1wQLJBKnoP2OiWY9EhQgzzCrIsXHsF2QHrm7pGH8B4PWgr Yqig0jbLyx0TJMqV/3qIQ0sf0ft1Nqbro0UpDL1p8UF5STDIAY2C71hoWTog6scl91S4iU 1DVZHgwqtoO/9khrOFca9eN3Wqmv+cNEGFSAivqktX6ZVjPeNO3kvSnjF/SWMy+NwabjHT 7mv7WP7O7ccdl9SDoV8rd2VEVzWj6+2b0LV1c3tg+HvZl3xnz7hJ1JkncQ5OPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745637681; a=rsa-sha256; cv=none; b=EAyEMYltqnlivN++R12msHvpnCZNhZCn6UM2fWtkT8qOvczu9OhrvLP0QIcZbG49PqC3C1 6PCrykDGvl76KgaLmVJEA/eXMY8xtFRbeWMo1AmqtHkJN9XUoqkfWE0zgIqqQHm17AamTE 5YBUhYDjWjn4yGCD3vjr4EzWm1NngVxtZeRPel/urXWJZ3Xx5G3ct/aIx5KqxIwo7oNjne imCqH9C1jgVLndlJawSjSmSd8DcCK85SECsyKiQw7E6b6c7vQeJBhVKJZWG8n8BFLd4Cb8 IjsvDF8Pb/TPZKQHxAqlpxUCxEMGdiLCxF+QLlidbOCg0oih8FADaFqx4ozljQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637681; 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=+ipyCANmoPMWHwOkGm2XICWeu70eijFvx5xJd5p7hG0=; b=aSCS02t8L2ERmuULZJ4mbuFL7yjKH2fx53J3ACT7gtsDVGxG3BEnolG8QurYPlEuREsUSz o34Ch3MBwxCuAVqCFt97fiIE3ALnNLXc4U4nobSpa3pV0YynbNaOdiDy42oxK9BUByDDYq nYUbK2GC8ZR6tsNr04MTHCOzFYNogpZefyEW9Xf0cb6eeddJ5LKVWwS1guWEsl6YneMGxi oISzsKGjFLPeTxH+714T1I6/YertNVc87R1qeXA4Bo7HfTdep/rGWhz6u2rKJTJEe+9Vk8 s3SFdorhk9EDvxBSe3oBCCGM+erp4ztr6fIaHbff3WKzoL/DsR52EDhwHDfckA== 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 4Zkw3P1h91z12x7; Sat, 26 Apr 2025 03:21:21 +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 53Q3LLuH009865; Sat, 26 Apr 2025 03:21:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53Q3LLtK009862; Sat, 26 Apr 2025 03:21:21 GMT (envelope-from git) Date: Sat, 26 Apr 2025 03:21:21 GMT Message-Id: <202504260321.53Q3LLtK009862@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 8b42f57eebde - stable/14 - time: switch to fences for siginfo_recvd List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8b42f57eebde72d463986bdcfddf8ee8ecadc561 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=8b42f57eebde72d463986bdcfddf8ee8ecadc561 commit 8b42f57eebde72d463986bdcfddf8ee8ecadc561 Author: Kyle Evans AuthorDate: 2025-04-21 03:19:17 +0000 Commit: Kyle Evans CommitDate: 2025-04-26 03:19:49 +0000 time: switch to fences for siginfo_recvd This effectively reverts 6e824f3713011 ("time: siginfo_recvd needs to be marked volatile") because it was actually wrong. Switch to C11 signal fence, which provides a compiler barrier that will do the right thing. Reported by: kib Reviewed by: kib (slightly earlier version) (cherry picked from commit df1b0f580d3dc4dd165d84fbcc14d0eebd8ee2c4) --- usr.bin/time/time.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/usr.bin/time/time.c b/usr.bin/time/time.c index 8e45f1283317..f883db17a59e 100644 --- a/usr.bin/time/time.c +++ b/usr.bin/time/time.c @@ -52,6 +52,8 @@ static char sccsid[] = "@(#)time.c 8.1 (Berkeley) 6/6/93"; #include #include #include +#include +#include #include #include #include @@ -137,7 +139,10 @@ main(int argc, char **argv) (void)signal(SIGINFO, siginfo); (void)siginterrupt(SIGINFO, 1); while (wait4(pid, &status, 0, &ru) != pid) { - if (siginfo_recvd) { + bool do_siginfo = siginfo_recvd != 0; + + atomic_signal_fence(memory_order_acquire); + if (do_siginfo) { siginfo_recvd = 0; if (clock_gettime(CLOCK_MONOTONIC, &after)) err(1, "clock_gettime"); @@ -308,4 +313,5 @@ siginfo(int sig __unused) { siginfo_recvd = 1; + atomic_signal_fence(memory_order_release); } From nobody Sat Apr 26 03:21:20 2025 X-Original-To: dev-commits-src-branches@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 4Zkw3N6pPKz5tXQ8; Sat, 26 Apr 2025 03:21:20 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zkw3N1rcLz3L0L; Sat, 26 Apr 2025 03:21:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637680; 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=U3cQsRTsBBWPvJzJRCMqlvjM5iS2WT9aemPt0YphRSY=; b=qZpRPnqGBnjZWRsNL02oXc8ZxJjnQeoBXfwO2n1qncfBjqScEYufaM4rGLcckBDzv0R20Y ID+RneYxVmNYnWfrWOr4a4J8WZ/PbqOYaOq4jxg8o/DvU0Hge5zbFNmmJ8Zk/z90aQSHK/ kZdDZZxotn8jLtbKA89qCBUqsvtlSSWZySu2/+E/joWkP+uWK+GOyp9w/5Cw6VDcR/MuME rqVdu7KI2rcGLM02xeAkeVZnThcXveGaAn8v27m4KpleWbEAbnKiBNon0P4v/QmEW4y0tB eYj9v/u7/ooLUpt873oG+Rh9lNSxYUL1/2kgRym3pFc5b0XE5PQi0EgxkbGXpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745637680; a=rsa-sha256; cv=none; b=ksHRS1Zv0+yOuitPt1OGc2moGbHN7FGXTgxIv/YoNIdBclE1glVbzV4x2opl1P+Aa75c0Z ZDYpZxOQ/iEd/W3Yp0GLTsoqUMd3cfRCi9zs70beaxzXPoXEmJzRSo8AQpxIG1VQ0MAUBD eJqsSUGlUBxONJcRma60JRLFSBNTr3lKQfhm/sY/cT77/gsUqKUICZjr1xrvQsO0Xrm+gc ziDZfzaHsp3xWPkw3PgIvNmSOSPX5z+1R7WfxGyBSLE5LS3YTdcRMk8BffwI6cJCQrcaHL rFJXoYPhUxqOu2PGvGMAc4DVTq6dFPieGhDBAqMNvZ2Qykj5+huAWRZLGxT+sQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637680; 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=U3cQsRTsBBWPvJzJRCMqlvjM5iS2WT9aemPt0YphRSY=; b=SFKIpByI1Ak86IPiVwJ035BziKOpXaKHqpWmcOktUl5lVUjPrFX2q9bbEeSPx8FNBBe5k6 nTM94XSUXx+JPdeN66170SgoDZM8cxhMMBN09FiDX2FppRgiCZO6dwPVsStbQFGQabnyVD 8v+u54TcxmwxvddoV/gnAhsJzHkQXg27pnjDjh9PgdT5iuP7viLXWUrUdHjkFucoQ6frmg kOz192FWmdtyVHqb6WMD9g/SQQ0BlikYeY3DRZ4RNSZQgeSwTxj0oV00+Z7RFT8sGgV3Yu Bw+gmRwmjo+1raSG0ivRDbjYM3tBJTJCsSaehplkIaxRGwCAv55L741inxo1Rw== 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 4Zkw3N1Bwtz12x6; Sat, 26 Apr 2025 03:21:20 +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 53Q3LKCb009832; Sat, 26 Apr 2025 03:21:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53Q3LKeR009829; Sat, 26 Apr 2025 03:21:20 GMT (envelope-from git) Date: Sat, 26 Apr 2025 03:21:20 GMT Message-Id: <202504260321.53Q3LKeR009829@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 73f88915a119 - stable/14 - wireguard-tools: ipc: freebsd: use AF_LOCAL for the control socket List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 73f88915a119eb9c323caf1537b3291129858930 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=73f88915a119eb9c323caf1537b3291129858930 commit 73f88915a119eb9c323caf1537b3291129858930 Author: Kyle Evans AuthorDate: 2025-04-21 03:08:17 +0000 Commit: Kyle Evans CommitDate: 2025-04-26 03:19:49 +0000 wireguard-tools: ipc: freebsd: use AF_LOCAL for the control socket AF_INET assumes that IPv4 is built into the kernel, but it's completely valid to build a kernel without it. unix(4) sockets, on the other hand, are not-optional in the kernel build. Given that interface ioctls can be invoked on any kind of socket, switch to the safer one to avoid breaking on IPv6-only kernels. Reported and tested by: ivy (cherry picked from commit 0d238bc50d453d7ac29476fa71edd1fc9a5fbbf9) --- contrib/wireguard-tools/ipc-freebsd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/wireguard-tools/ipc-freebsd.h b/contrib/wireguard-tools/ipc-freebsd.h index fa74edda5a3d..446f13cacac2 100644 --- a/contrib/wireguard-tools/ipc-freebsd.h +++ b/contrib/wireguard-tools/ipc-freebsd.h @@ -15,7 +15,7 @@ static int get_dgram_socket(void) { static int sock = -1; if (sock < 0) - sock = socket(AF_INET, SOCK_DGRAM, 0); + sock = socket(AF_LOCAL, SOCK_DGRAM, 0); return sock; } From nobody Sat Apr 26 03:24:57 2025 X-Original-To: dev-commits-src-branches@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 4Zkw7Y48ptz5tY3S; Sat, 26 Apr 2025 03:24:57 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zkw7Y2KTqz3QDb; Sat, 26 Apr 2025 03:24:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637897; 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=Ff/jEK8Gf5+5eedlnNhVgf40hr11OuYyS/CFubI+iXQ=; b=ZregPLX4dlEREC7klZIu2fZm66HBdp18+xE3YhQerjSJAVuPj9rkyLxb0AkOsJbDXp+ybF JNSxx7yqx8FcLZo43y+wyrdqANtclgVbLuEDgmUcO7bVpQlxKByXKJkQ1Z2BrrOW+SJAtk GPTygx1uYIdXzT/7zgmclZsWcRN+Veu8MSCcl+EHwyOuu09KNvgomnMTyXOWg7Lua6d7o6 MgSYvfVUYGZkab8EvumMOuRLggpyGZD4eNl6OXuP1YA19pgG92L+VdKZudzMHavWCzKeVp y3aWFbgRWeDKigGgIbDXXYOCq7NckDCr1XsKrJeMK4hynFj2peOJvbK/SOnzFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745637897; a=rsa-sha256; cv=none; b=h6vuJrxbkFlWNZ3o5e87fWE31OAAEa3EMNEVIKRWr6vaIlAs0MBvhAC3JbHSRgpFX89qer daJQUVBD5Z/TlDd6cjRxPGVi1WdT1/8ZoI4mk07lTCRUKDUniQLs7SnCz1SU0zdXuOXkYj xJWllB0Fm5/h6Q+VG1J+8fGluMmjoNhRF+sbKRO95J3WQ1by2FSAWM/4e7yyq8zxacY6om eFlI3c5cVyjVAmO6RV1EKsvObk4XcQRHg2tt2nunHXMUk+dqG/+G++4wmcn/Q/HwcER1EJ tJ4sc/1zdwkxzhnaNfcyh1dhUJSiL7TFj5dvJ3Ss49WINT/AFJMpeE3LTYOfrw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637897; 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=Ff/jEK8Gf5+5eedlnNhVgf40hr11OuYyS/CFubI+iXQ=; b=vR4lPZYDaczq6o+ZdRP6hnUf4aQ2fbzDmHia5Uy9g7fZcZetCVRzx40ZoU7NYCuqIzDNzp VDNQ3Ky7LCL8InKfBhJVzcaEU0BYWprlS82D6UNFqO5j1R7HUknYx5lSavoq317hZbMoGz Y1cqrDt6WkTPZCyNTPXKoGTsA1ux9KCVfyjxssNh81RisEGZ9XXOZZ+vkKK6RyZ05xDCur XWvgviqSXuDth9pjhk5qJoxdFRVihSECbC4NbY5kGb2vNVRVVksf+6Kt5IyHZvCIudyama TazxO7CaDNwYKY6/i1nD+cRFxa/49dVeMeOa1yebFaN/aiAUtt9kajUiYIJzDA== 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 4Zkw7Y1PCFz1382; Sat, 26 Apr 2025 03:24:57 +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 53Q3OvZa017623; Sat, 26 Apr 2025 03:24:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53Q3Ovko017621; Sat, 26 Apr 2025 03:24:57 GMT (envelope-from git) Date: Sat, 26 Apr 2025 03:24:57 GMT Message-Id: <202504260324.53Q3Ovko017621@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 0635fe29225b - stable/14 - libbe: attempt to remove autocreated mountpoints at unmount time List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0635fe29225b5a4ecac63fc9d95dff63517d0003 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=0635fe29225b5a4ecac63fc9d95dff63517d0003 commit 0635fe29225b5a4ecac63fc9d95dff63517d0003 Author: Kyle Evans AuthorDate: 2025-04-21 03:47:59 +0000 Commit: Kyle Evans CommitDate: 2025-04-26 03:23:55 +0000 libbe: attempt to remove autocreated mountpoints at unmount time We use a be_mount.XXXX pattern to mkdtemp(3) when creating these, which seems reasonably unique enough to just continue using that. Record the mountpoint of the root dataset and check the dirname of that for the auto-creation trait. There's no sense in this bubbling up an error to callers, so we'll just ignore an error for now. Requested by: manu (cherry picked from commit d6fbae084a2a0e07805633ca46935963357f1efa) --- lib/libbe/be_access.c | 30 +++++++++++++++++++++++++++++- lib/libbe/libbe.3 | 7 +++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/lib/libbe/be_access.c b/lib/libbe/be_access.c index 67b30d3fb4fb..51f5a75e957d 100644 --- a/lib/libbe/be_access.c +++ b/lib/libbe/be_access.c @@ -33,6 +33,8 @@ #include "be.h" #include "be_impl.h" +#define LIBBE_MOUNT_PREFIX "be_mount." /* XXX */ + struct be_mountcheck_info { const char *path; char *name; @@ -164,7 +166,11 @@ be_umount_iter(zfs_handle_t *zfs_hdl, void *data) if (!zfs_is_mounted(zfs_hdl, &mountpoint)) { return (0); } - free(mountpoint); + + if (info->depth == 0 && info->mountpoint == NULL) + info->mountpoint = mountpoint; + else + free(mountpoint); if (zfs_unmount(zfs_hdl, NULL, info->mntflags) != 0) { switch (errno) { @@ -307,10 +313,32 @@ be_unmount(libbe_handle_t *lbh, const char *bootenv, int flags) info.depth = 0; if ((err = be_umount_iter(root_hdl, &info)) != 0) { + free(__DECONST(char *, info.mountpoint)); zfs_close(root_hdl); return (err); } + /* + * We'll attempt to remove the directory if we created it on a + * best-effort basis. rmdir(2) failure will not be reported. + */ + if (info.mountpoint != NULL) { + const char *mdir; + + mdir = strrchr(info.mountpoint, '/'); + if (mdir == NULL) + mdir = info.mountpoint; + else + mdir++; + + if (strncmp(mdir, LIBBE_MOUNT_PREFIX, + sizeof(LIBBE_MOUNT_PREFIX) - 1) == 0) { + (void)rmdir(info.mountpoint); + } + } + + free(__DECONST(char *, info.mountpoint)); + zfs_close(root_hdl); return (BE_ERR_SUCCESS); } diff --git a/lib/libbe/libbe.3 b/lib/libbe/libbe.3 index 644b1d71ccd3..743922a76391 100644 --- a/lib/libbe/libbe.3 +++ b/lib/libbe/libbe.3 @@ -392,6 +392,13 @@ This list of properties matches the properties collected by The .Fn be_unmount function will unmount the given boot environment. +If the mount point looks like it was created by +.Fn be_mount , +then +.Fn be_unmount +will attempt to +.Xr rmdir 2 +the mountpoint after a successful unmount. Setting the .Dv BE_MNT_FORCE flag will pass From nobody Sat Apr 26 03:24:58 2025 X-Original-To: dev-commits-src-branches@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 4Zkw7b3qNrz5tY3V; Sat, 26 Apr 2025 03:24:59 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zkw7Z38zjz3Q2L; Sat, 26 Apr 2025 03:24:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637898; 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=lEOuOU0qKHNKwIkyPErvYMmUoVohb8rLdPDKXIpUSck=; b=GpVDS5VSw5RtbLo46Fsj0rpRv85Sq9OnrBjqA23DmVUj5qKsb+bh2u3eK1Be0T4mKDc70J xaBEAhp6GepQ+FQ4WJTN6vvOFPMQ1eqwBkiV6UAGf/d3ni5KZm1qb3mWniaR07UwvjkveQ 8g2dWe+POGzVliXKm3dVL/2wCqocil4ozdKNl+RPWB+u1kYuLZLqc2a0x1v9EsZfB+36c1 T/S0++Igf0fEa+AEoIqF/B0F+/TJyMy79+1YYnsCcAcHxY/ecgcVJqAsjFc6NLUXVhEbK0 bMXO736lD7Xxt4vx/WtltZJEhhLsvR+nkHaifG0q8OIMzEGGPwayFh30GbtDjQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745637898; a=rsa-sha256; cv=none; b=GfUlLvErGvVAKstpDRJ8LLRhd2lvyphKO+XLLz8DFR4o/xGOceRDtY66g3Och6x8YGroT7 whqw6NHwX4b/gHfEOd/48KslfFVH/f3INIcfmhbWHxN69i3/8uNSM+bUvmHFu9dWU/6J7l PA4j+zkLJyUsOELVv1UcHLSjM2mXKyEZWYHKF0dAAcWyt7mo5YkXPr3h+sDKz92Bljk/f1 hwOLf65DN4TavWN/227jxO+Ozz6b3l1baeiN2QtNvymth505RCucFr/wDXWGYNXUdJz74h Xt5gsLtgfbdwWSnAlJzrFOPsOXH0/1cFmWCrCDoDHva+V3SazOlaX2OjAEf7VA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637898; 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=lEOuOU0qKHNKwIkyPErvYMmUoVohb8rLdPDKXIpUSck=; b=JMA7Y6r6bNNpWvx4dsFVA8PrbV+30qD6NAb0CTpbnARRVQe/KTKEDUn+sJ60iLnWJclUpb llL7jr/EhGyheqfRK+ckdgdwNN1Vh6dzJPbv1Bd/RCNJzdVwzQ0tAd4xpjqfgHMaSEO2tO +hKRkYVwBdsxkAyd82JNu0OTe+PYZwb6+LGnt5/sm0WX7VHPkxT53d0lMzPmZAAxEI5l8/ GtRbZgxvk6zjb/2jk/rQAqO8OepgvXD5MczZkxVrIA5KRR89R//J6FwPlEfdrmS4e76aSR kR7dGt0UVoI8KBhwoefYkEJKOiBcLynp1pyGEvDvtTsvy1TjXwG1XExPaAVV1g== 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 4Zkw7Z2dvrz1383; Sat, 26 Apr 2025 03:24:58 +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 53Q3OwS0017658; Sat, 26 Apr 2025 03:24:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53Q3OweF017655; Sat, 26 Apr 2025 03:24:58 GMT (envelope-from git) Date: Sat, 26 Apr 2025 03:24:58 GMT Message-Id: <202504260324.53Q3OweF017655@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 8dc42b80fdfb - stable/14 - libbe: don't hardcode /tmp List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8dc42b80fdfb0f39ba52560ac35b6914c72fcff5 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=8dc42b80fdfb0f39ba52560ac35b6914c72fcff5 commit 8dc42b80fdfb0f39ba52560ac35b6914c72fcff5 Author: Kyle Evans AuthorDate: 2025-04-21 03:47:59 +0000 Commit: Kyle Evans CommitDate: 2025-04-26 03:24:13 +0000 libbe: don't hardcode /tmp Respect $TMPDIR if it's set, fallback to _PATH_TMP (not hardcoded /tmp) if it's not. Bump .Dd after recent commits. Reviewed by: rcm (cherry picked from commit 2f11393fee4d60d38634a261edf9aa9fea39c75c) --- lib/libbe/be_access.c | 14 ++++++++++++-- lib/libbe/libbe.3 | 6 +++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/libbe/be_access.c b/lib/libbe/be_access.c index 51f5a75e957d..44e7eb1e651c 100644 --- a/lib/libbe/be_access.c +++ b/lib/libbe/be_access.c @@ -33,7 +33,7 @@ #include "be.h" #include "be_impl.h" -#define LIBBE_MOUNT_PREFIX "be_mount." /* XXX */ +#define LIBBE_MOUNT_PREFIX "be_mount." struct be_mountcheck_info { const char *path; @@ -261,7 +261,17 @@ be_mount(libbe_handle_t *lbh, const char *bootenv, const char *mountpoint, /* Create mountpoint if it is not specified */ if (mountpoint == NULL) { - strlcpy(mnt_temp, "/tmp/be_mount.XXXX", sizeof(mnt_temp)); + const char *tmpdir; + + tmpdir = getenv("TMPDIR"); + if (tmpdir == NULL) + tmpdir = _PATH_TMP; + + if (snprintf(mnt_temp, sizeof(mnt_temp), "%s%s%sXXXX", tmpdir, + tmpdir[strlen(tmpdir) - 1] == '/' ? "" : "/", + LIBBE_MOUNT_PREFIX) >= (int)sizeof(mnt_temp)) + return (set_error(lbh, BE_ERR_PATHLEN)); + if (mkdtemp(mnt_temp) == NULL) return (set_error(lbh, BE_ERR_IO)); } diff --git a/lib/libbe/libbe.3 b/lib/libbe/libbe.3 index 743922a76391..c1bf52e42324 100644 --- a/lib/libbe/libbe.3 +++ b/lib/libbe/libbe.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 18, 2024 +.Dd April 25, 2025 .Dt LIBBE 3 .Os .Sh NAME @@ -358,6 +358,10 @@ If is .Dv NULL , a mount point will be generated in +.Ev TMPDIR +or, if +.Ev TMPDIR +is not set, .Pa /tmp using .Xr mkdtemp 3 . From nobody Sat Apr 26 03:24:59 2025 X-Original-To: dev-commits-src-branches@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 4Zkw7b6l9Pz5tXtW; Sat, 26 Apr 2025 03:24:59 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zkw7b498Sz3QDh; Sat, 26 Apr 2025 03:24:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637899; 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=phE/lw9ZtKGhTS+rEWg+SE6XkCEg1KHUA2PxfwJm71g=; b=a+Obbn8bSYoid5OudRtWrXopkHRthePKd/U/7Uahlve7NI9HPFdV7qv+tA6I0++XWWfcA9 gNkugbcQVIk7BuKV8/WqHUr3Q/dB2wR9lCeIqZDbPzpIgKsQbmFx2wmyM60lmf15cpGTD6 ODV4glfnuMEVA5WLvdQVhhXfyw59RFbs5qYpqnqMCyShrE3y7XSVnjiUDgCyaxyIOcOYq0 xUtK/v/idsEmCnAzPeoRoZnkYBZyXaehd3mfzTp4WdEZp4QDnkFC3IPRFRsMM3Z0QGXFbU z00lWBZApNLNJ3prVT+dIv1Zml1g6mDwswGNfKRejI1FeOqeXDuNP1/EgX2cxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745637899; a=rsa-sha256; cv=none; b=fg8MmljpYZ9QDQCRoojIdcxXs6AT2wPJI15GaGGCyhvOn/O+p0K5vor1qoH6GdyHno06mt k6TT+jFaHM0vc04Ae0OGc8mm90tZV+ETpEj0dX9K5vLy2tYQJzXIuejyBdjjbBtpOgJ/Ut jchws7/Ry1ejm+410hi359ywqF348K9KMbcCriXwnA8WaHgAnPw7i/LcbawjLod6Es9bl7 IxxjuKY1/481JjJQyLClbc/HcjZ2LkAs0ELQoSeXELD1a8rhKAzlONuw1Z2+CCFSRMggVg MbJ5HI/Wix1Fm/O/6PusN9ZjXBTMu/fwEz+VulU+6QJhAlMd29od8U7a8evsZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745637899; 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=phE/lw9ZtKGhTS+rEWg+SE6XkCEg1KHUA2PxfwJm71g=; b=ICKfKDhmS4kRFqise1DlotN36B2T433oOQRr/llRK1cv0sMBxNM+tVivD/vvyxnhwz/DzQ Gi611TbsxGD9LR9LshTqNxxhq0Cw9KLI/5/CWuCTEIAiSUp6Bg7m695jGbLphussDXW484 6ZAEPEK3EDxBSwKkK1PYU6lg8ioMGXm1KcUTsyZZlnRgUAEKMb2UyXM7rep9j3tvbTWA7T BVzlaWIWSm6hO8Z6FJoMF4rE4haux77ERBgfE+kFH9q3Re6jKYtccN1Rt5J6p5G6OQUqnL gVq3hMyMpjNKKdvtfJosYGIOYdgyFmkTLSf2MfPW8y/od+mm9qX2HiL9mQ7Ghw== 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 4Zkw7b3cqkz1384; Sat, 26 Apr 2025 03:24:59 +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 53Q3Ox7n017693; Sat, 26 Apr 2025 03:24:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53Q3OxTs017690; Sat, 26 Apr 2025 03:24:59 GMT (envelope-from git) Date: Sat, 26 Apr 2025 03:24:59 GMT Message-Id: <202504260324.53Q3OxTs017690@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: e5a4712e6557 - stable/14 - libpmcstat: fix pmcstat -G on older-ish -CURRENT w/ drm-kmod List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e5a4712e6557d1007bfa63b8c83c4e3d8f86564b Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=e5a4712e6557d1007bfa63b8c83c4e3d8f86564b commit e5a4712e6557d1007bfa63b8c83c4e3d8f86564b Author: Kyle Evans AuthorDate: 2025-04-21 04:00:01 +0000 Commit: Kyle Evans CommitDate: 2025-04-26 03:24:17 +0000 libpmcstat: fix pmcstat -G on older-ish -CURRENT w/ drm-kmod The linuxkpi_gplv2.ko module on older-ish -CURRENT had absolutely no .text contents, but it was still loaded. Instead of hitting the later assertion because 0 is not less than 0, we can just skip images like this as we should not have any samples from them. Reviewed by: gallatin (cherry picked from commit 77721403c91d67dbfd5a2c5c667e7f5d87acb3f6) --- lib/libpmcstat/libpmcstat_image.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/libpmcstat/libpmcstat_image.c b/lib/libpmcstat/libpmcstat_image.c index f8f76bfc148b..f61e22cc21e3 100644 --- a/lib/libpmcstat/libpmcstat_image.c +++ b/lib/libpmcstat/libpmcstat_image.c @@ -194,6 +194,14 @@ pmcstat_image_link(struct pmcstat_process *pp, struct pmcstat_image *image, assert(image->pi_type != PMCSTAT_IMAGE_UNKNOWN && image->pi_type != PMCSTAT_IMAGE_INDETERMINABLE); + /* + * It's possible to have images with nothing of value in .text + * legitimately. We shouldn't have any samples from this image, so + * don't bother with a map entry either. + */ + if (image->pi_start == 0 && image->pi_end == 0) + return; + if ((pcmnew = malloc(sizeof(*pcmnew))) == NULL) err(EX_OSERR, "ERROR: Cannot create a map entry"); From nobody Sat Apr 26 11:31:52 2025 X-Original-To: dev-commits-src-branches@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 4Zl6xN6TkZz5v4v2; Sat, 26 Apr 2025 11:31:52 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zl6xN5mMTz3KJQ; Sat, 26 Apr 2025 11:31:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745667112; 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=FnjuMWIbQDXY5m8dcy1badEkuVH609AblpDKEhsH5OE=; b=G/O8p7OPtcuaTGsuuM8Opmx+W4FBuCtskPxtUPbQ4N8TJ4vFf7LugEy/iX7XjpyTMkTRKe VWcNDpjOlJDXjkGJoNJzrAYTdj3h89G6jU7Fhj/+v6Yyie5+TcicLKsBpbKAJ2WvgTCBqY cpstI93oXm6UZpbLbl84/mG383ALg2YfA+J/VpUE5wMDNSFRL7yqcPPkIdGjk7t39KIBXu 0COsL4w30H72VQ6eLu/hqUPuexcHmYoWTI1HU0BO6GGMY4hKlTDeCpBpAIpvA1svrIBZuc YN1ngdaRaXbjXU8uMC1W0IW4IrLVkasYLlMWqidUzexHN8ytY3T6kcnKcn0Zmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745667112; a=rsa-sha256; cv=none; b=wxrBNMs0qAR3jT7mAlD4NDXCdl+1KL2akjvIOeQgUZv5svbtZ1YXLWK716+ycn1xc1XAO5 TilEWUXYDWEDY3C0WMp79djhm7om4+MfwExgFz1m0yDFv8EZXUJPzEaINuwfXzoBQ89Kks cZ5KIsvK08iRM4L1gUaGTYfMkzRGJB5UVawmP8lVR/j8Z2+LlLoxKHuQKl2vSdgVNv2ulx +XkpcH9uGDQ3HIUJIZfIXIwg1JTuSnnALvnpgEzBB6XFQ2J5BQ+4L5lHWrrAWAikIlVdTe piCSsoRAh8vLaOrgHoQcucI0p72uCvJuEIvbFXOcw3esaysqtQ5m/PWdSNCHHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745667112; 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=FnjuMWIbQDXY5m8dcy1badEkuVH609AblpDKEhsH5OE=; b=F26fpz55G9RNljeYBufUtS3ygkoF7283R5nbgbmUVP8I70pF/5lMCuQsJQ0SVyvmFMgZWm xfBPbVxOQruKumoCXw2RgiZwWFUFjY+hKMXpmpXE/rUKBcCjpIcvHQwcoubzxwsuMV0Bxy pGilu8/1gb9/fDsY+xxhNXInDDoa/WzDH2LEFQ2+zXPx9eB2WAd07mxDqnTElKQxciHtN1 Vsni+zMqa1oDXmRApyk19BtrqELury6DBGyPgJxuJV9ViATCm77tqU1o9X09OW6NfMNX4a MO1xbSVgB3g0QB9zPc0nuR+Ah9BwOYJY8TjEG5jQT7bSF6uO47uHzP6FBZGgeA== 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 4Zl6xN591nz3s3; Sat, 26 Apr 2025 11:31:52 +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 53QBVqg1029522; Sat, 26 Apr 2025 11:31:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QBVqZ5029519; Sat, 26 Apr 2025 11:31:52 GMT (envelope-from git) Date: Sat, 26 Apr 2025 11:31:52 GMT Message-Id: <202504261131.53QBVqZ5029519@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 7f671b6f4675 - stable/14 - libllvm: remove duplicated SRCS_MIN line List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7f671b6f46755744d044ba7fff18e9fda80bc091 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=7f671b6f46755744d044ba7fff18e9fda80bc091 commit 7f671b6f46755744d044ba7fff18e9fda80bc091 Author: Dimitry Andric AuthorDate: 2025-04-19 19:27:16 +0000 Commit: Dimitry Andric CommitDate: 2025-04-26 11:19:24 +0000 libllvm: remove duplicated SRCS_MIN line This is not harmful when making a static library apparently, but will result in duplicate symbol errors when making a dynamic library. MFC after: 3 days (cherry picked from commit 160a2ba804973e4b258c24247fa7c0cdc230dfb4) --- lib/clang/libllvm/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/clang/libllvm/Makefile b/lib/clang/libllvm/Makefile index 98434d040baa..14122e117021 100644 --- a/lib/clang/libllvm/Makefile +++ b/lib/clang/libllvm/Makefile @@ -140,7 +140,6 @@ SRCS_MIN+= Analysis/RegionPass.cpp SRCS_MIN+= Analysis/RegionPrinter.cpp SRCS_MIN+= Analysis/ReplayInlineAdvisor.cpp SRCS_MIN+= Analysis/ScalarEvolution.cpp -SRCS_MIN+= Analysis/ScalarEvolution.cpp SRCS_MIN+= Analysis/ScalarEvolutionAliasAnalysis.cpp SRCS_MIN+= Analysis/ScalarEvolutionDivision.cpp SRCS_MIN+= Analysis/ScalarEvolutionNormalization.cpp From nobody Sat Apr 26 11:31:53 2025 X-Original-To: dev-commits-src-branches@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 4Zl6xQ244Jz5v4WX; Sat, 26 Apr 2025 11:31:54 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zl6xP6r56z3KGP; Sat, 26 Apr 2025 11:31:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745667114; 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=nLx09A0w4gtgYT2oQObyE0N0b2+fxUhDfDOLayjICyc=; b=gPvJ1dzxn/Fw+0+3pE+eRvKxR4uwCSh3ygLVa/jglvuw3gV3e9ttfWgM4DxX9ivVdovHjk vbWPcg+Tdy/bEx1jwVSqT11PBJr+PsggTsy3qrxfURmdaR5BJmWKCD+ouCqCHMVcHlnrga /70cge2Kg85NNeNMd5JlTHqN5wZv6YazeUNJFGzLHk9I0BWx37UBmWs9aooe/kL2AwNVqa b8LhJTJiY5qjbhp6nSFpYYtH7PjfwbCdGDT2mx5WdHvYuhopd2GAEEMajOzUTcH3NdkwFx MH52LWVINXsvYDDm/a11oyvKKOgRx/3E5EIaeM8aZ7Ev6fq48kBJOB6wcM4RMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745667114; a=rsa-sha256; cv=none; b=A6EuB92+KnrqM5NpwKkoqf8XS9c5lQZjqY85gCyiBqClyLOIgNmS0L0XOl4/TXjoMHRnVu wMMMToU2nBiCzWyUAah2jPtD4oixn3MXUXwpkGfe7lc/TWsw9vBW+hHTmvOD9fdqmTCYR9 3FoHPVuMBTScADlZ4Bytbx6b8hLGV+UwlhSF49ATL1EtJyQibVNt0wbkH8lrSEnEx2KnT2 jDJ1TSKftiQ1xZTpLlJBy27Ar/oHSDeyE5mxyLZyT1eJlIFxZfPV9p1I3BX/vyiHm6k2XY 9yQ1i+BYCFILyTUvCte8TiW3DgH+XcYrgjgQWMZ1yBbQiwJCfGQDh/ZiGtkaYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745667114; 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=nLx09A0w4gtgYT2oQObyE0N0b2+fxUhDfDOLayjICyc=; b=qO7DbcUMdLD8vUBfYc3iPZDX4yU3pAeGXXCQ2+JV42hZc4q8ZTPuCzVd/ejgG1P3+fynFa jn6FjeU1dpHpik5idEzrcZ0/YtWEajGjwmmQBEgV+XkeR7G4fzqxUKRKs95Kl2d6NPGJ/4 Y3UxtccCFFC+OABbpD3NpmKLk3T1HJdfJ/tnMcirnyR4A8aA5768VG3+Ma04/iyHRMW3P+ MqwzYQBmeeHKfOL0SV7CdmPDgUNU96Z358qZv9DZ5pvfZSRpMxg2VT4kJgL57fW/Fp0Jua UU3E4IWv/5raA8JQy8RFBBO0kDrDTQlDy+nzMqtYRhhP0WhIai1m9DTkkfQAAQ== 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 4Zl6xP6Q1cz3gY; Sat, 26 Apr 2025 11:31:53 +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 53QBVr5W029562; Sat, 26 Apr 2025 11:31:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QBVrNV029559; Sat, 26 Apr 2025 11:31:53 GMT (envelope-from git) Date: Sat, 26 Apr 2025 11:31:53 GMT Message-Id: <202504261131.53QBVrNV029559@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: b93ad617555c - stable/14 - Move extra suffix-transformation rules into bsd.suffixes-extra.mk List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b93ad617555c1f852d3b8b9ad3d208df867cbdc2 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=b93ad617555c1f852d3b8b9ad3d208df867cbdc2 commit b93ad617555c1f852d3b8b9ad3d208df867cbdc2 Author: Dimitry Andric AuthorDate: 2025-04-22 18:26:56 +0000 Commit: Dimitry Andric CommitDate: 2025-04-26 11:29:47 +0000 Move extra suffix-transformation rules into bsd.suffixes-extra.mk To make it possible to use the .SUFFIXES list and suffix-transformation rules from bsd.lib.mk in other places, move them to a separate file, bsd.suffixes-extra.mk. Note that we cannot add the list and rules to bsd.suffixes.mk, since that file also gets included by sys.mk, which applies to non-source builds. That would require a whole ports exp-run. No functional change intended. Reviewed by: brooks, emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D49965 (cherry picked from commit 9c4f1497dae7832e2727682e9161ca9572e56dfe) --- share/mk/Makefile | 1 + share/mk/bsd.lib.mk | 97 +-------------------------------------- share/mk/bsd.suffixes-extra.mk | 101 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 103 insertions(+), 96 deletions(-) diff --git a/share/mk/Makefile b/share/mk/Makefile index 1663b787c662..21d512c74c80 100644 --- a/share/mk/Makefile +++ b/share/mk/Makefile @@ -52,6 +52,7 @@ FILES= \ bsd.progs.mk \ bsd.snmpmod.mk \ bsd.subdir.mk \ + bsd.suffixes-extra.mk \ bsd.suffixes-posix.mk \ bsd.suffixes.mk \ bsd.symver.mk \ diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 63563acacc3d..c9f92cc57000 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -142,102 +142,7 @@ CFLAGS += -mno-relax .include -# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries -# .pico used for PIC object files -# .nossppico used for NOSSP PIC object files -# .pieo used for PIE object files -.SUFFIXES: .out .o .bc .ll .po .pico .nossppico .pieo .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln - -.if !defined(PICFLAG) -PICFLAG=-fpic -PIEFLAG=-fpie -.endif - -PO_FLAG=-pg - -.c.po: - ${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.c.pico: - ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.c.nossppico: - ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fsanitize.*$//} ${CFLAGS:C/^-fstack-protector.*$//:C/^-fsanitize.*$//} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.c.pieo: - ${CC} ${PIEFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.cc.po .C.po .cpp.po .cxx.po: - ${CXX} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} - -.cc.pico .C.pico .cpp.pico .cxx.pico: - ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} - -.cc.nossppico .C.nossppico .cpp.nossppico .cxx.nossppico: - ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//:C/^-fsanitize.*$//} ${CXXFLAGS:C/^-fstack-protector.*$//:C/^-fsanitize.*$//} -c ${.IMPSRC} -o ${.TARGET} - -.cc.pieo .C.pieo .cpp.pieo .cxx.pieo: - ${CXX} ${PIEFLAG} ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} - -.f.po: - ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} - ${CTFCONVERT_CMD} - -.f.pico: - ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} - ${CTFCONVERT_CMD} - -.f.nossppico: - ${FC} ${PICFLAG} -DPIC ${FFLAGS:C/^-fstack-protector.*$//} -o ${.TARGET} -c ${.IMPSRC} - ${CTFCONVERT_CMD} - -.s.po .s.pico .s.nossppico .s.pieo: - ${CC:N${CCACHE_BIN}} -x assembler ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.asm.po: - ${CC:N${CCACHE_BIN}} -x assembler-with-cpp -DPROF ${PO_CFLAGS} \ - ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.asm.pico: - ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.asm.nossppico: - ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ - ${CFLAGS:C/^-fstack-protector.*$//} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.asm.pieo: - ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PIEFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.S.po: - ${CC:N${CCACHE_BIN}} -DPROF ${PO_CFLAGS} ${ACFLAGS} -c ${.IMPSRC} \ - -o ${.TARGET} - ${CTFCONVERT_CMD} - -.S.pico: - ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ - -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.S.nossppico: - ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS:C/^-fstack-protector.*$//} ${ACFLAGS} \ - -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.S.pieo: - ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ - -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} +.include _LIBDIR:=${LIBDIR} _SHLIBDIR:=${SHLIBDIR} diff --git a/share/mk/bsd.suffixes-extra.mk b/share/mk/bsd.suffixes-extra.mk new file mode 100644 index 000000000000..4bd738300279 --- /dev/null +++ b/share/mk/bsd.suffixes-extra.mk @@ -0,0 +1,101 @@ +.if !target(____) +____: .NOTMAIN + +# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries +# .pico used for PIC object files +# .nossppico used for NOSSP PIC object files +# .pieo used for PIE object files +.SUFFIXES: .out .o .bc .ll .po .pico .nossppico .pieo .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln + +.if !defined(PICFLAG) +PICFLAG=-fpic +PIEFLAG=-fpie +.endif + +PO_FLAG=-pg + +.c.po: + ${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.c.pico: + ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.c.nossppico: + ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fsanitize.*$//} ${CFLAGS:C/^-fstack-protector.*$//:C/^-fsanitize.*$//} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.c.pieo: + ${CC} ${PIEFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.cc.po .C.po .cpp.po .cxx.po: + ${CXX} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} + +.cc.pico .C.pico .cpp.pico .cxx.pico: + ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} + +.cc.nossppico .C.nossppico .cpp.nossppico .cxx.nossppico: + ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//:C/^-fsanitize.*$//} ${CXXFLAGS:C/^-fstack-protector.*$//:C/^-fsanitize.*$//} -c ${.IMPSRC} -o ${.TARGET} + +.cc.pieo .C.pieo .cpp.pieo .cxx.pieo: + ${CXX} ${PIEFLAG} ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} + +.f.po: + ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} + ${CTFCONVERT_CMD} + +.f.pico: + ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} + ${CTFCONVERT_CMD} + +.f.nossppico: + ${FC} ${PICFLAG} -DPIC ${FFLAGS:C/^-fstack-protector.*$//} -o ${.TARGET} -c ${.IMPSRC} + ${CTFCONVERT_CMD} + +.s.po .s.pico .s.nossppico .s.pieo: + ${CC:N${CCACHE_BIN}} -x assembler ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.asm.po: + ${CC:N${CCACHE_BIN}} -x assembler-with-cpp -DPROF ${PO_CFLAGS} \ + ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.asm.pico: + ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ + ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.asm.nossppico: + ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ + ${CFLAGS:C/^-fstack-protector.*$//} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.asm.pieo: + ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PIEFLAG} -DPIC \ + ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.S.po: + ${CC:N${CCACHE_BIN}} -DPROF ${PO_CFLAGS} ${ACFLAGS} -c ${.IMPSRC} \ + -o ${.TARGET} + ${CTFCONVERT_CMD} + +.S.pico: + ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.S.nossppico: + ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS:C/^-fstack-protector.*$//} ${ACFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.S.pieo: + ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.endif # !target(____) From nobody Sat Apr 26 11:32:20 2025 X-Original-To: dev-commits-src-branches@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 4Zl6xx1Btzz5v4xh; Sat, 26 Apr 2025 11:32:21 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zl6xx0h26z3KrD; Sat, 26 Apr 2025 11:32:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745667141; 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=ey4a/xz9d7dcVbONrQYLaknyO0wgeJbV/N2NoWoEwkE=; b=FKe3b2rgsg+SuL0wMcZB62qhhJ+mFekeKY9Y42Ef5kH/L7NNMNvKHV6zy/ZfmmkbOdoEXx bTSQ4du21w5hWPS4GhnEn5KnCZzXWs9zDtazQX81gbwHrN1mQeLDstfBCmxm/z4+PQtILg BZ8K7036j0683I8ZVuD4OHp+qe0GWID/+ZefeCyAr6sveIC11UIlaxjPMfO1WkyNyCRXKw HsaAIFeVHCqa6q/NaK/9TaA1Vg9Ju2uyDuNaiHKXvcmK0s0hevtOYAPz1l2nMTu+9x4+DX /6P2T4cKDY8zGfImmbRGYFbf7ETIyq4oCHo0AMJGL/uzoP+Pp8h8O+8nBScPFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745667141; a=rsa-sha256; cv=none; b=NRogV9u6AqPEGAhZ7hbr6zoxlmTfjre03oE3W6TpkITOr3ILqUZgCda9Rv7Y34hzoyjHln rmBypTiV01qhY7Z2xvhhXqhoHXDON+jHqzNentTuQsCOOfohDyy58N9vjIy6UwZZPkPVKv paow0JnbMp3unTtu/lbOoY/ZcL9WqJb9ZQSSMS613XpgxHoyZ3V7Bx70djumT3j7aH1k0G MFRAl7yf0q91oj6vU0DLsKsWqq4UTVrE1DJm7df+f+dcJr+3KZZ779aTbs+gu0idV9Bw/k Ewjwe75PxIZlnYDY472e3Q5GSkfbAS8C5sjx4z7nV9L5nSy7zUf73T0/1nf3Vg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745667141; 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=ey4a/xz9d7dcVbONrQYLaknyO0wgeJbV/N2NoWoEwkE=; b=UdTGzMcDDlJjQ+1CrnOoH9GPhS3Ho6vT1w9R/eVXl4xiCBSNm2Rgo+cM0uoSuRGcbVEwsE Iiq/ousw5OjMApaYBRwM87xQ6n4RZDlaYGvXmUSYuadF+XBrT6m5vt5CP74N8dykvuhufH qIGz0U2kfal2FS2pIkmc6nMYfO5Aq6VwCQe4245dCJ291Br+bZstK9utwO3vOht+t5M6oW j8UE6NuIfrMeC667uU+7SBaQiYlg7difv3gXSQELhmgv9JuEnm3UQ/zb5m7vtYYXMySOF6 nnFECOqn2/VTsvVFS8E4MKVv9WzUJPlQhn1QTEF9eepkXm2C8X6llf/6XIqYsA== 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 4Zl6xx0HMyz3s9; Sat, 26 Apr 2025 11:32:21 +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 53QBWKSE032420; Sat, 26 Apr 2025 11:32:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QBWKwt032417; Sat, 26 Apr 2025 11:32:20 GMT (envelope-from git) Date: Sat, 26 Apr 2025 11:32:20 GMT Message-Id: <202504261132.53QBWKwt032417@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: b03ee8687e94 - stable/13 - libllvm: remove duplicated SRCS_MIN line List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b03ee8687e940dd74b73ac91623e36709c700356 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=b03ee8687e940dd74b73ac91623e36709c700356 commit b03ee8687e940dd74b73ac91623e36709c700356 Author: Dimitry Andric AuthorDate: 2025-04-19 19:27:16 +0000 Commit: Dimitry Andric CommitDate: 2025-04-26 11:19:27 +0000 libllvm: remove duplicated SRCS_MIN line This is not harmful when making a static library apparently, but will result in duplicate symbol errors when making a dynamic library. MFC after: 3 days (cherry picked from commit 160a2ba804973e4b258c24247fa7c0cdc230dfb4) --- lib/clang/libllvm/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/clang/libllvm/Makefile b/lib/clang/libllvm/Makefile index 98434d040baa..14122e117021 100644 --- a/lib/clang/libllvm/Makefile +++ b/lib/clang/libllvm/Makefile @@ -140,7 +140,6 @@ SRCS_MIN+= Analysis/RegionPass.cpp SRCS_MIN+= Analysis/RegionPrinter.cpp SRCS_MIN+= Analysis/ReplayInlineAdvisor.cpp SRCS_MIN+= Analysis/ScalarEvolution.cpp -SRCS_MIN+= Analysis/ScalarEvolution.cpp SRCS_MIN+= Analysis/ScalarEvolutionAliasAnalysis.cpp SRCS_MIN+= Analysis/ScalarEvolutionDivision.cpp SRCS_MIN+= Analysis/ScalarEvolutionNormalization.cpp From nobody Sat Apr 26 11:32:22 2025 X-Original-To: dev-commits-src-branches@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 4Zl6xz01qmz5v4lv; Sat, 26 Apr 2025 11:32:23 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zl6xy2Hz8z3Km6; Sat, 26 Apr 2025 11:32:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745667142; 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=Dr6zHqHMaAnLPY8ptSGocogYEZIAyj2H8/ccAV5UeDA=; b=LhdvhizIqM7ecMpPsjKaJSWxWbDtFzvY0ezxZNfOeuBrzbqF4IVX8LNnm14yOnvyzzGUzx 7PeEiBwtO2434wtJFrMFrh9JppBmWF8YkE9udo061gyEEqSCCsC9uxaiOqrV/QrPG5spzs 1kmMXVtR7ETjWNcH0fGj+PV34yMc+wXY1hbAL7AtA2wy9OmytmbCh3sCDMhAap/zikCrOB ZsFyZA9J7xJ03BPyJsS54bcN+bpd2/lRd6GTzvMjVfDO4khUFecJHg9FkTcG3htgDvNeSc XxgS3Edjsz/nY1dSACUbH1Lw/4O2Z1XZCfl5mYLa0GXtl65EOsvlpHJcr0Gw5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745667142; a=rsa-sha256; cv=none; b=ITM/a0C8ypKCBImi+7c+8GBaEwJUpsjXd0w90eaGvAq5+xGuUu15sfosJsdo53Af5uk3Ha Qz/aY9z60ITvXLK4iykz6n0kgI2xujF2uQY+iCT+B0MclzDyeSPQ7PdSvzz9+YisFzj2oo 5RogdgXWKZf5+WUx8QgpUifqmVT14a7DG1YsKzprGT5skzQKDecfhB6Ocp4jVaT7kAenM+ oyEsgzYNclPK4siGh1atsGs88mY0n+tAyU2h5yzsw9BD5+nTS7PpLwq+g/3T29oP+45gAr /Pi0/iABKybzDQScnvAkCNQDPSyivRasM9EhgD7wSQn58/lesV09R+Wg0KZJkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745667142; 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=Dr6zHqHMaAnLPY8ptSGocogYEZIAyj2H8/ccAV5UeDA=; b=ja/cDVaYR9i7xtpZAj29btMAzLw1zLu1Im92SSoFvmoo4WpFS6+VJLrnAp7wS5FHgkVFFB V3oWGQkoaIgZuq2PpxhZ8e+kMI3DvQd8FqQlwYPj58fi/OYd23C5vRVwPNnkfiH3K1PUCQ oTTVwqKbLY6f2c51t3pmLGTBS0xZkOl67LLMPEa2cd5/tugvoDRXvUa6yeVZZM/kAM17Q0 YEbN6ZBrDadC/i6BJKcbF9SCfOd8w/HUTkSDvpeYSngKBKvcoAnF+LOl6pyOHySbH/Qep/ E683k8Tby+ZrFAZdxN1ikqoYSN+H0JinA+zIMpC9LNgTDxVro8JzLBPM5/24BQ== 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 4Zl6xy1Dvmz39k; Sat, 26 Apr 2025 11:32:22 +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 53QBWMaa032453; Sat, 26 Apr 2025 11:32:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QBWMP4032450; Sat, 26 Apr 2025 11:32:22 GMT (envelope-from git) Date: Sat, 26 Apr 2025 11:32:22 GMT Message-Id: <202504261132.53QBWMP4032450@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 061ce1c392f0 - stable/13 - Move extra suffix-transformation rules into bsd.suffixes-extra.mk List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 061ce1c392f0223c6ff6578c9649e79da89f9796 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=061ce1c392f0223c6ff6578c9649e79da89f9796 commit 061ce1c392f0223c6ff6578c9649e79da89f9796 Author: Dimitry Andric AuthorDate: 2025-04-22 18:26:56 +0000 Commit: Dimitry Andric CommitDate: 2025-04-26 11:31:20 +0000 Move extra suffix-transformation rules into bsd.suffixes-extra.mk To make it possible to use the .SUFFIXES list and suffix-transformation rules from bsd.lib.mk in other places, move them to a separate file, bsd.suffixes-extra.mk. Note that we cannot add the list and rules to bsd.suffixes.mk, since that file also gets included by sys.mk, which applies to non-source builds. That would require a whole ports exp-run. No functional change intended. Reviewed by: brooks, emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D49965 (cherry picked from commit 9c4f1497dae7832e2727682e9161ca9572e56dfe) --- share/mk/Makefile | 1 + share/mk/bsd.lib.mk | 97 +-------------------------------------- share/mk/bsd.suffixes-extra.mk | 101 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 103 insertions(+), 96 deletions(-) diff --git a/share/mk/Makefile b/share/mk/Makefile index 001323fab053..b98db631800c 100644 --- a/share/mk/Makefile +++ b/share/mk/Makefile @@ -51,6 +51,7 @@ FILES= \ bsd.progs.mk \ bsd.snmpmod.mk \ bsd.subdir.mk \ + bsd.suffixes-extra.mk \ bsd.suffixes-posix.mk \ bsd.suffixes.mk \ bsd.symver.mk \ diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 4a580e0ed32a..f9407f0f40ce 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -133,102 +133,7 @@ CFLAGS += -mno-relax .include -# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries -# .pico used for PIC object files -# .nossppico used for NOSSP PIC object files -# .pieo used for PIE object files -.SUFFIXES: .out .o .bc .ll .po .pico .nossppico .pieo .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln - -.if !defined(PICFLAG) -PICFLAG=-fpic -PIEFLAG=-fpie -.endif - -PO_FLAG=-pg - -.c.po: - ${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.c.pico: - ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.c.nossppico: - ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS:C/^-fstack-protector.*$//} ${CFLAGS:C/^-fstack-protector.*$//} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.c.pieo: - ${CC} ${PIEFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.cc.po .C.po .cpp.po .cxx.po: - ${CXX} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} - -.cc.pico .C.pico .cpp.pico .cxx.pico: - ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} - -.cc.nossppico .C.nossppico .cpp.nossppico .cxx.nossppico: - ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//} ${CXXFLAGS:C/^-fstack-protector.*$//} -c ${.IMPSRC} -o ${.TARGET} - -.cc.pieo .C.pieo .cpp.pieo .cxx.pieo: - ${CXX} ${PIEFLAG} ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} - -.f.po: - ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} - ${CTFCONVERT_CMD} - -.f.pico: - ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} - ${CTFCONVERT_CMD} - -.f.nossppico: - ${FC} ${PICFLAG} -DPIC ${FFLAGS:C/^-fstack-protector.*$//} -o ${.TARGET} -c ${.IMPSRC} - ${CTFCONVERT_CMD} - -.s.po .s.pico .s.nossppico .s.pieo: - ${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC} - ${CTFCONVERT_CMD} - -.asm.po: - ${CC:N${CCACHE_BIN}} -x assembler-with-cpp -DPROF ${PO_CFLAGS} \ - ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.asm.pico: - ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.asm.nossppico: - ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ - ${CFLAGS:C/^-fstack-protector.*$//} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.asm.pieo: - ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PIEFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.S.po: - ${CC:N${CCACHE_BIN}} -DPROF ${PO_CFLAGS} ${ACFLAGS} -c ${.IMPSRC} \ - -o ${.TARGET} - ${CTFCONVERT_CMD} - -.S.pico: - ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ - -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.S.nossppico: - ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS:C/^-fstack-protector.*$//} ${ACFLAGS} \ - -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.S.pieo: - ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ - -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} +.include _LIBDIR:=${LIBDIR} _SHLIBDIR:=${SHLIBDIR} diff --git a/share/mk/bsd.suffixes-extra.mk b/share/mk/bsd.suffixes-extra.mk new file mode 100644 index 000000000000..78f9a0f69e80 --- /dev/null +++ b/share/mk/bsd.suffixes-extra.mk @@ -0,0 +1,101 @@ +.if !target(____) +____: .NOTMAIN + +# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries +# .pico used for PIC object files +# .nossppico used for NOSSP PIC object files +# .pieo used for PIE object files +.SUFFIXES: .out .o .bc .ll .po .pico .nossppico .pieo .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln + +.if !defined(PICFLAG) +PICFLAG=-fpic +PIEFLAG=-fpie +.endif + +PO_FLAG=-pg + +.c.po: + ${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.c.pico: + ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.c.nossppico: + ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS:C/^-fstack-protector.*$//} ${CFLAGS:C/^-fstack-protector.*$//} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.c.pieo: + ${CC} ${PIEFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.cc.po .C.po .cpp.po .cxx.po: + ${CXX} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} + +.cc.pico .C.pico .cpp.pico .cxx.pico: + ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} + +.cc.nossppico .C.nossppico .cpp.nossppico .cxx.nossppico: + ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//} ${CXXFLAGS:C/^-fstack-protector.*$//} -c ${.IMPSRC} -o ${.TARGET} + +.cc.pieo .C.pieo .cpp.pieo .cxx.pieo: + ${CXX} ${PIEFLAG} ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} + +.f.po: + ${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} + ${CTFCONVERT_CMD} + +.f.pico: + ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} + ${CTFCONVERT_CMD} + +.f.nossppico: + ${FC} ${PICFLAG} -DPIC ${FFLAGS:C/^-fstack-protector.*$//} -o ${.TARGET} -c ${.IMPSRC} + ${CTFCONVERT_CMD} + +.s.po .s.pico .s.nossppico .s.pieo: + ${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC} + ${CTFCONVERT_CMD} + +.asm.po: + ${CC:N${CCACHE_BIN}} -x assembler-with-cpp -DPROF ${PO_CFLAGS} \ + ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.asm.pico: + ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ + ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.asm.nossppico: + ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ + ${CFLAGS:C/^-fstack-protector.*$//} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.asm.pieo: + ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PIEFLAG} -DPIC \ + ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.S.po: + ${CC:N${CCACHE_BIN}} -DPROF ${PO_CFLAGS} ${ACFLAGS} -c ${.IMPSRC} \ + -o ${.TARGET} + ${CTFCONVERT_CMD} + +.S.pico: + ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.S.nossppico: + ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS:C/^-fstack-protector.*$//} ${ACFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.S.pieo: + ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.endif # !target(____) From nobody Sat Apr 26 19:21:44 2025 X-Original-To: dev-commits-src-branches@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 4ZlKMY29HKz5tfBx; Sat, 26 Apr 2025 19:21:45 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZlKMX5jjvz3Fp7; Sat, 26 Apr 2025 19:21:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745695304; 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=4upHzEOXFZZUY6bO3TURyp/sz7JMv7CsEDf0vOKedKQ=; b=iAVNfnU+RmQZYwIBNLn28KQ2Bu2nZSc/Sr8BOF7GKgob9QWeURV1JiTWqqeYUl3nQvCdzK Nn3t+HEsrFMFX8xr/xQz0QDyeYRswxbXZzC6iV6zrt0JRfHRy4ENxGpEngPamdb0wxK8i0 kKaLjCUj6OaaDsVQ0+UIav55tCwCVPUgFfOUcgadoOezhCuMTCkxP5Dh8g2I2SJjMoPSEV QOti7lQO4eKuSlZbhCwhtLVA9BDLiQ4HM+I/dB3TZ0Oa6lUnElWWJkRJKw3/bxOeR4yVhH WTfLd5YC6D0ay0zANJrniyBcMB4urjkCKJbKV8MIr4WlijxZFbsL6+bePtM6rA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745695304; a=rsa-sha256; cv=none; b=HGI9/o/hrPTvsflx0gMLNJFtue+QFGsf4TqHxih++36X3ux6wEoWjYw2i5/SATrjf4hULD WdwN/eebq98tHSbHgYjTIZ0eCJ1pqVSWgHd2fr1nKmHdCfFeiPyIPSdyka0Q5HrwF0lQxt p7Il/VCHcI5sf65yGcJoBrwmfCtl52zZsCOZLNzy1oanjYvQelVzGUHV2YMOW0yNCFaBoN Cgt1Jp7/Jj3uBC0/9aQDOBk1UyKpDjhSflGax8n/jGPvGDFkPgVAIHTsAywVqN8Kr74K5r 5bqJRENzrVc6dtVxACdBgBMSPq5FzrK47zwwtZ7ZSj0ywsWAqN6VxJbvcNkvTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745695304; 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=4upHzEOXFZZUY6bO3TURyp/sz7JMv7CsEDf0vOKedKQ=; b=ojSXUJPR9Kh/SxPxsX+3i8WZ5Olc4iaCRje0iJMvTnByFoz01CQJrV9afTIjTzvygV31Wq MzE/zQqRiUnbe+G4vgFkWS/wEmhXuSjrb+yfOsh9/nLXZQ9g2zY7LaPLICZIEJwXebYnNo KOVHNCjulDtDj2APwgsz/JGR1fXuT3MWIJj2FG5XX3O7gR46Rp3n33lzT2v150Huvo9Krb 6NM6SGLxIGGA26vkLr4IJ272n2obe4+UnwGCGHAniZpCEGtwOVv7VYiZyFUZ7VC0jF/4+B VmCp2CwwyqSswvIFeILeJCUFMCmnZ2ZtWnKx7W+6+lvrh8O3NkVYSWy7Br4woQ== 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 4ZlKMX57BLzZM5; Sat, 26 Apr 2025 19:21:44 +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 53QJLiDt009489; Sat, 26 Apr 2025 19:21:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QJLiU4009486; Sat, 26 Apr 2025 19:21:44 GMT (envelope-from git) Date: Sat, 26 Apr 2025 19:21:44 GMT Message-Id: <202504261921.53QJLiU4009486@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 925ec43c1525 - stable/14 - EC2: Add AMI Builder AMI building List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 925ec43c152566b28cf00f8ec0d11715263a6c3a Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=925ec43c152566b28cf00f8ec0d11715263a6c3a commit 925ec43c152566b28cf00f8ec0d11715263a6c3a Author: Colin Percival AuthorDate: 2025-04-20 16:38:48 +0000 Commit: Colin Percival CommitDate: 2025-04-26 19:17:51 +0000 EC2: Add AMI Builder AMI building Starting in 2015 I have published "AMI Builder AMIs" for FreeBSD/EC2: These boot into a memory disk, extract a "clean" copy of FreeBSD onto the root disk, mount it at /mnt, and allow the user to SSH in to make customizations before creating a new AMI from the "running" instance (in fact, from the FreeBSD installation which is not running but is mounted on /mnt). This provides a much cleaner mechanism for building customized FreeBSD AMIs than the traditional Linux approach of "launch an EC2 instance, SSH in and configure it, then try to wipe logs and credentials before creating an AMI"; and it's easier than building a customized AMI ab initio by modifying the FreeBSD release-building code. This commit brings that functionality into the FreeBSD src tree and into the collection of images built by the release engineering team: The EC2 "BUILDER" flavour AMI is essentially a "SMALL" flavour AMI with a compressed "BASE" flavour disk image, plus an init script which juggles disks around (rerooting into a memory disk and extracting the "BASE" image onto disk). Polished by: bz, emaste MFC after: 1 week Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49930 (cherry picked from commit 58426589030308cd632477d328b9536b1634c54d) --- release/Makefile.vm | 13 ++++++-- release/tools/ec2-builder.conf | 57 ++++++++++++++++++++++++++++++++ release/tools/mkami.sh | 65 +++++++++++++++++++++++++++++++++++++ release/tools/rc.amibuilder | 74 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 207 insertions(+), 2 deletions(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index 7058d8be5987..7de07c6da714 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -35,8 +35,9 @@ BASIC-CLOUDINIT_FSLIST?= ufs zfs BASIC-CLOUDINIT_DESC?= Images for VM with cloudinit disk config support EC2_FORMAT= raw EC2_FSLIST?= ufs zfs -EC2_FLAVOURS?= BASE CLOUD-INIT SMALL +EC2_FLAVOURS?= BASE BUILDER CLOUD-INIT SMALL EC2-BASE_DESC= Amazon EC2 image +EC2-BUILDER_DESC= Amazon EC2 AMI Builder image EC2-CLOUD-INIT_DESC= Amazon EC2 Cloud-Init image EC2-SMALL_DESC= Amazon EC2 small image GCE_FORMAT= raw @@ -112,12 +113,20 @@ CLEANFILES+= ${_CW:tl}.${_FS}.${_FMT}.img \ ${_CW:tl}.${_FS}.${_FMT}.raw ${_CW:tu}${_FS:tu}${_FMT:tu}IMAGE= ${_CW:tl}.${_FS}.${_FMT} +# Special handling: EC2 "AMI Builder" images need a copy of the "base" disk +# built first. +.if ${_CW} == EC2-BUILDER +cw-${_CW:tl}-${_FS}-${_FMT}: cw-ec2-base-${_FS}-${_FMT} +.endif + cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} mkdir -p ${.OBJDIR}/${.TARGET} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ QEMUSTATIC=${QEMUSTATIC} \ + EC2BASEIMG=${.OBJDIR}/${EC2-BASE${_FS:tu}${_FMT:tu}IMAGE} \ ${.CURDIR}/scripts/mk-vmimage.sh \ - -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} -F ${_FS} \ + -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} \ + -F ${"${_CW:MEC2-BUILDER}" != "":?ufs:${_FS}} \ -i ${.OBJDIR}/${_CW:tl}.${_FS}.${_FMT}.img -s ${VMSIZE} -f ${_FMT} \ -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}${_FS:tu}${_FMT:tu}IMAGE} -c ${${_CW:tu}CONF} touch ${.TARGET} diff --git a/release/tools/ec2-builder.conf b/release/tools/ec2-builder.conf new file mode 100644 index 000000000000..7927fc13a74d --- /dev/null +++ b/release/tools/ec2-builder.conf @@ -0,0 +1,57 @@ +#!/bin/sh + +. ${WORLDDIR}/release/tools/ec2.conf + +# Build with a 7.9 GB partition; this is enough for our stripped-down +# base system plus the compressed ec2-base image. +export VMSIZE=8000m + +# Flags to installworld/kernel: We don't want debug symbols (kernel or +# userland), 32-bit libraries, tests, or the debugger. +export INSTALLOPTS="WITHOUT_DEBUG_FILES=YES WITHOUT_KERNEL_SYMBOLS=YES \ + WITHOUT_LIB32=YES WITHOUT_TESTS=YES WITHOUT_LLDB=YES" + +# Packages to install into the image we're creating. In addition to packages +# present on all EC2 AMIs, we install: +# * ec2-scripts, which provides a range of EC2ification startup scripts, +# * isc-dhcp44-client, used for IPv6 network setup, and +# * py-awscli, to make it easier for users to create AMIs. +export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} ec2-scripts \ + isc-dhcp44-client devel/py-awscli" + +# Services to enable in rc.conf(5). +export VM_RC_LIST="${VM_RC_LIST} ec2_configinit ec2_ephemeral_swap \ + ec2_fetchkey ec2_loghostkey sshd" + +vm_extra_pre_umount() { + # Any EC2 ephemeral disks seen when the system first boots will + # be "new" disks; there is no "previous boot" when they might have + # been seen and used already. + touch ${DESTDIR}/var/db/ec2_ephemeral_diskseen + + # Configuration common to all EC2 AMIs + ec2_common + + # Standard FreeBSD network configuration + ec2_base_networking + + # Grab a copy of the ec2-base disk image, and compress it + zstd < ${EC2BASEIMG} > ${DESTDIR}/image.zst + + # Disable fortune so we don't have extra noise at login + chmod a-x ${DESTDIR}/usr/bin/fortune + + # Install the AMI-building script + install -m 755 ${WORLDDIR}/release/tools/mkami.sh ${DESTDIR}/bin/mkami + + # Install an /etc/rc which juggles disks around for us + install -m 755 ${WORLDDIR}/release/tools/rc.amibuilder ${DESTDIR}/etc + + # We want to mount from the UFS disk and juggle disks first + cat >> ${DESTDIR}/boot/loader.conf <<-EOF + vfs.root.mountfrom="ufs:/dev/gpt/rootfs" + init_script="/etc/rc.amibuilder" + EOF + + return 0 +} diff --git a/release/tools/mkami.sh b/release/tools/mkami.sh new file mode 100644 index 000000000000..cfbbcd3bc8a9 --- /dev/null +++ b/release/tools/mkami.sh @@ -0,0 +1,65 @@ +#!/bin/sh -e +# +# Copyright (c) 2015 Colin Percival +# +# SPDX-License-Identifier: BSD-2-Clause +# +# mkami.sh: Create an AMI from the currently running EC2 instance. +# + +export PATH=$PATH:/usr/local/bin + +NAME=$1 +if [ -z "$NAME" ]; then + echo "usage: mkami []" + exit 1 +fi +DESC=$2 +if ! [ -z "$DESC" ]; then + DESCOPT="--description '$DESC'" +fi + +# Get the instance ID and region from the EC2 Instance Metadata Service: +# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html +TMPFILE=`mktemp` +fetch -qo $TMPFILE http://169.254.169.254/latest/dynamic/instance-identity/document +INST=`awk -F \" '/"instanceId"/ { print $4 }' $TMPFILE` +REGION=`awk -F \" '/"region"/ { print $4 }' $TMPFILE` +rm $TMPFILE +CMD="aws --region $REGION ec2 create-image --instance-id $INST --output text --no-reboot --name '$NAME' $DESCOPT" + +# Unmount the new system image +if mount -p | grep -q '/mnt.*ufs'; then + echo -n "Unmounting new system image..." + sync + umount /mnt + sync + sleep 5 + sync + echo " done." +elif mount -p | grep -q '/mnt.*zfs'; then + echo -n "Unmounting new system image..." + sync + zfs umount -a + zfs umount zroot/ROOT/default + sync + sleep 5 + sync + echo " done." +fi + +if eval "$CMD" --dry-run 2>&1 | + grep -qE 'UnauthorizedOperation|Unable to locate credentials'; then + echo "This EC2 instance does not have permission to create AMIs." + echo "Launch an AMI-builder instance with an appropriate IAM Role," + echo "create an AMI from this instance via the AWS Console, or run" + echo "the following command from a system with the necessary keys:" + echo + echo "$CMD" + exit +fi + +echo -n "Creating AMI..." +AMINAME=`eval "$CMD"` +echo " done." +echo "AMI created in $REGION: $AMINAME" diff --git a/release/tools/rc.amibuilder b/release/tools/rc.amibuilder new file mode 100644 index 000000000000..b25e8facb597 --- /dev/null +++ b/release/tools/rc.amibuilder @@ -0,0 +1,74 @@ +#!/bin/sh +# +# Copyright (c) 2025 Colin Percival +# +# SPDX-License-Identifier: BSD-2-Clause +# +# rc.amibuilder: Juggle disks to reroot into a memory disk and install a clean +# copy of FreeBSD onto the root disk. +# + +# Do nothing if init(8) is in the middle of rerooting +if ps -p 1 -o command | grep -q reroot; then + exit 0 +fi + +# Figure out which partition we boot from +BOOTPART=$(sysctl -n kern.geom.conftxt | + grep -E 'PART|gpt/rootfs' | + grep -B 1 gpt/rootfs | + awk '{ print $3 }' | + head -1) +BOOTDISK=${BOOTPART%%p*} +BOOTPARTNUM=${BOOTPART##*p} + +# First pass: Copy ourselves into a memory disk and reroot into it +if ! [ -c /dev/md0 ]; then + # Create a memory disk of appropriate size and copy the disk + echo "Copying FreeBSD into memory disk..." + DISKBYTES=$(diskinfo ${BOOTDISK} | awk '{print $3}') + mdconfig -a -t swap -s ${DISKBYTES}b -u 0 + dd if=/dev/${BOOTDISK} of=/dev/md0 bs=1M + + # Reboot into the memory disk we just created + echo "Rebooting into memory disk..." + kenv vfs.root.mountfrom="ufs:/dev/md0p${BOOTPARTNUM}" + reboot -r + + # Lose a race against init + sleep 10 + exit 1 +fi + +# Second pass: Extract a clean copy of FreeBSD onto the physical disk +echo "Installing base FreeBSD image..." +sysctl kern.geom.debugflags=16 +zstdcat < /image.zst | dd bs=1M of=/dev/${BOOTDISK} + +# Mount the clean image +if gpart show ${BOOTDISK} | grep -q freebsd-ufs; then + mount /dev/${BOOTPART} /mnt +else + zpool import -aNR /mnt + zfs mount zroot/ROOT/default + zfs mount -a +fi + +# Provide instructions for when the user logs in +mount -w / +cat >/etc/motd.template < [] + +to create the AMI. Don't forget to shut down this instance when +you're done! + +EOF +mount -o ro / + +# After we exit, the boot proceeds with init spawning /etc/rc normally +exit 0 From nobody Sat Apr 26 19:21:45 2025 X-Original-To: dev-commits-src-branches@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 4ZlKMZ2lQQz5tfSk; Sat, 26 Apr 2025 19:21:46 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZlKMY6XXYz3Fp8; Sat, 26 Apr 2025 19:21:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745695306; 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=CG1Rol2DmL4oKFmLuP/bWFXchh5Qnrrh+v5ZrNQcS7c=; b=KZluVp2Y95ypbxV7SMIwrO/dgqEZQzEYtU3Ry8esqffuX23sa3u+u64q5thVsETVfqoVjA oyL/8h3S4qictdJyzYuTUBMoT8y+bJBaqLJRulx5Km/P6+balf/UdHcznpGnQRvfQFWooe I+Os/gnT8qcB2zHv2v5NT3434OmsvYC/epKsbroqVf10hxyjrqNAENV4gTaMGuHdGnehbi xlYwA/M7aeYb3fBcq9kyQKKbV/E6JEMEqz0G6jVpgqDi9EqWGX2GGvsu1/Gtmmp2h/vgUN jSHPV86biUtc4M037r3IpfFD4olG7ixUZWkiuup3Q9sHbq7QwyYraqvJWjXr3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745695305; a=rsa-sha256; cv=none; b=AvTNABWiQShruBszDYuh3JyuVAkHVZCft/wzgd089OtiOc/tkYEjTLvxYk00Qn8+Zjl0uO 0Y/qNduIpcIG6P1FEONHLS2IaNCZypS6MhkJVIE6O/V74sp5YwrAgJziHOo6tjV4fV5n9r 6jFQtmT9KYSVg3W7S8RQ6tNav+B8Y1oW+e4C8TEuAob38Wq4eeCiEpqetOsaGfgJt1705E Okm89LfATQUIpIDuwzCiVimOzLN1wFU1T07vkO3hzgfADYfyMDFbcLRuSIoZZt+Zxhrvhc WgOkv0yzyTxPy+iyl1zhhgvJRn25cMRosirGp4EH/UzznpmLEfy3WQe2S7LFDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745695305; 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=CG1Rol2DmL4oKFmLuP/bWFXchh5Qnrrh+v5ZrNQcS7c=; b=X9Y6d3tGSld00TIJ+BM90yIDv2CM74xVw15JL/TWrJ9d2iE7jJhL6ptxrT9m+ow533HEHs +Jshu/fZNF3MrWLLu/L7+MRmS4mznsEqQYyGKz78KQ1Q420uu8OjOyjQ7lZ0s/NF81uoDc bqG7SQIysijI5wlrNawqf3WxD57/VGl3muC0ep9D7Q1UVxCoXMet88XI8SA71TpMGsm27T q0zVRfy9f4C4GEL2sFHWEQcywLXDLux39W70kyRhhY26RuhwrjkV/3PLj8CliYlAce+p6g suEBMl9swV8kBwzgHJrkH8cR93/4NLrOKlGP/aVw4UzE4IjlDk+lCpnt2nc6CA== 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 4ZlKMY62GfzYr7; Sat, 26 Apr 2025 19:21:45 +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 53QJLjFY009527; Sat, 26 Apr 2025 19:21:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QJLjo2009524; Sat, 26 Apr 2025 19:21:45 GMT (envelope-from git) Date: Sat, 26 Apr 2025 19:21:45 GMT Message-Id: <202504261921.53QJLjo2009524@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 5050b464aeda - stable/14 - release: Pass PKG_INSTALL_EPOCH to vmimage.subr List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5050b464aeda1d775a5f36d000daa7473a214977 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=5050b464aeda1d775a5f36d000daa7473a214977 commit 5050b464aeda1d775a5f36d000daa7473a214977 Author: Colin Percival AuthorDate: 2025-04-10 06:05:55 +0000 Commit: Colin Percival CommitDate: 2025-04-26 19:19:11 +0000 release: Pass PKG_INSTALL_EPOCH to vmimage.subr This value, if not already set, comes from the timestamp of the most recent git commit (which is now also available in src/release code as GITEPOCH) or 0 if git is not installed. This should allow /var/db/pkg/local.sqlite to be reproducible in VM images which have packages installed (e.g. cloudware). Reviewed by: emaste, bapt MFC after: 5 days Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49760 (cherry picked from commit 81ca663642ef1ed5111a88d2e9102f6788fab407) --- release/Makefile.inc1 | 9 ++++++--- release/Makefile.vm | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/release/Makefile.inc1 b/release/Makefile.inc1 index 552b6cb60f3c..569b72df5106 100644 --- a/release/Makefile.inc1 +++ b/release/Makefile.inc1 @@ -1,6 +1,3 @@ -# -# - # Figure out where the git binary is. .for _P in /usr/bin /usr/local/bin . if !defined(GIT_CMD) || empty(GIT_CMD) @@ -24,13 +21,19 @@ GITREV!= ${GIT_CMD} -C ${.CURDIR} rev-parse --verify --short HEAD 2>/dev/null || GITCOUNT!= ${GIT_CMD} -C ${.CURDIR} rev-list --first-parent --count HEAD 2>/dev/null || true . export GITCOUNT . endif +. if !defined(GITEPOCH) || empty(GITEPOCH) +GITEPOCH!= ${GIT_CMD} -C ${.CURDIR} show -s --format=%ct HEAD 2>/dev/null || true +. export GITEPOCH +. endif .else GITBRANCH= nullbranch GITREV= nullhash GITCOUNT= nullcount +GITEPOCH= 0 . export GITBRANCH . export GITREV . export GITCOUNT +. export GITEPOCH .endif # Set the build date, primarily for snapshot builds. diff --git a/release/Makefile.vm b/release/Makefile.vm index 7de07c6da714..61bd42f7bfa5 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -174,6 +174,7 @@ vm-image: ${QEMUTGT} mkdir -p ${.OBJDIR}/${.TARGET}-${FORMAT}-${FS} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ QEMUSTATIC=${QEMUSTATIC} \ + PKG_INSTALL_EPOCH=${PKG_INSTALL_EPOCH:U${GITEPOCH}} \ ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr \ -d ${.OBJDIR}/${.TARGET}-${FORMAT}-${FS} -F ${FS} \ From nobody Sat Apr 26 19:21:46 2025 X-Original-To: dev-commits-src-branches@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 4ZlKMb39mYz5tf4L; Sat, 26 Apr 2025 19:21:47 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZlKMb0FHsz3Flb; Sat, 26 Apr 2025 19:21:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745695307; 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=OQm4u0YmVqyfiL58m68jPqwfsHImxIb49jpZGWcjwW0=; b=L1BVBbyoLbCliRzDTbEB7LN7di+YMGCtjFHhokP7bnfeTOz8Nt/NTvBIQyp6F6VrFfNoed eUodqH3XTGXS0Kc68SlN1NmmRG+/HM7YUb1NQpUxeM4BZBUil0YhZEYkbt4sksuY4EYzeJ GsPIDQPji/x11Zw58+esGJSe9TfKCZqyl307cwwaAYANmQIa9Q6jw5f6VMW2AXbRoufHEt yuBRFGlcYXfuV2D1fDp1nIrkdCKXb+OOSXaUhofOUHGqhoU5jhAMZduyTPtnfaEl5kHmA0 NWRDgfpJa/oN78d2rpKwCly0RveRKsCl7XItgeSe15aLMNP+XKipf7sPFeYY+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745695307; a=rsa-sha256; cv=none; b=u/DsdkJCFWZ+odxpWWA5Wt4blJPCFKxF6WXzR7tbOnyGPvfh5gMnm/DXtWVEsdy/PGDcn4 gE4qKCJTfy83urfKpitmmiScS3fjKzypISM3pZiXOY9l5QvoZk+ExK0RGTGXx4xpEGBgbJ 6rtncBJ02bw3WT/PxGlgOyJDiXYxsA/vLZ0+OgdKOYJo4FMvKDzQXWiaSIpayeOgtSVX6r UVz1pvxiz6BdE6zSpv6IXImJ+TRz2+936HgAVaunf5x23dVviNYlOz+/yuN57kEFXaecy8 +pPSrwDi0Vo+A0crhkBB7DH52OlZ1aeSWI2NFFNgQRInAqjzEMD+T8Sc1ifBpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745695307; 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=OQm4u0YmVqyfiL58m68jPqwfsHImxIb49jpZGWcjwW0=; b=ecjRsP8ezq0JufKI90y59iTtMIsHRfZS1hKOhFBtsAOP2TsX5Tu97YvDge46e97EfqlX9m xI9IpgTdI8onrQ6+/6cA23id0dCcAOiq+LG38Bgx2MZVeOGoHqcNtdgwBm8GxK3oV6g2ru vyEQPzV7eklHim2wr83MZV0arMKlltG9XlRePALPzCsBJzMxjPo3gN6zCh3Hm0U8CVjtD/ /2aj2WR3ZiJm3TbZZ6juDKfS/3tZh+jTL3G2mzVSSvYA77iOZNGYs6UcV2cHSc5UL/dzGM s7oh85R/XtbLgCNEXK9qNz9Ktu4OO370rHRVRfHXZFA0V61Ch1tv+rrn/lvRcQ== 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 4ZlKMZ6yGszZcL; Sat, 26 Apr 2025 19:21:46 +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 53QJLkhr009562; Sat, 26 Apr 2025 19:21:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QJLkLJ009559; Sat, 26 Apr 2025 19:21:46 GMT (envelope-from git) Date: Sat, 26 Apr 2025 19:21:46 GMT Message-Id: <202504261921.53QJLkLJ009559@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: a4d583fbeea7 - stable/14 - release: Pass PKG_INSTALL_EPOCH (take 2) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a4d583fbeea789b027c9b2f9bb780f7a7f2e202b Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=a4d583fbeea789b027c9b2f9bb780f7a7f2e202b commit a4d583fbeea789b027c9b2f9bb780f7a7f2e202b Author: Colin Percival AuthorDate: 2025-04-23 04:39:56 +0000 Commit: Colin Percival CommitDate: 2025-04-26 19:20:07 +0000 release: Pass PKG_INSTALL_EPOCH (take 2) We need to pass this to cloudware builds, not just VM builds. MFC after: 4 days Fixes: 81ca663642ef ("release: Pass PKG_INSTALL_EPOCH to vmimage.subr") Sponsored by: Amazon (cherry picked from commit d14036ea424d5aa3eee20cc6f0b5d7117cc3931b) --- release/Makefile.vm | 1 + 1 file changed, 1 insertion(+) diff --git a/release/Makefile.vm b/release/Makefile.vm index 61bd42f7bfa5..6756d99bc288 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -124,6 +124,7 @@ cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ QEMUSTATIC=${QEMUSTATIC} \ EC2BASEIMG=${.OBJDIR}/${EC2-BASE${_FS:tu}${_FMT:tu}IMAGE} \ + PKG_INSTALL_EPOCH=${PKG_INSTALL_EPOCH:U${GITEPOCH}} \ ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} \ -F ${"${_CW:MEC2-BUILDER}" != "":?ufs:${_FS}} \ From nobody Sat Apr 26 19:21:48 2025 X-Original-To: dev-commits-src-branches@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 4ZlKMc2l08z5tf8l; Sat, 26 Apr 2025 19:21:48 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZlKMc0x97z3G4L; Sat, 26 Apr 2025 19:21:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745695308; 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=3pjc4do7Sqds9T9hBtGx/5klrH/T1GuMCsBCi/Vp/2M=; b=tEhza/GoYGkjERX0WBm8YP6yLMQZkCMlg/3ir1dOYOdh0ajBuwGLACsMAFQ7zLYrP1J29d LZ9lejUMxFt4AepV+xMCfmrJAlNr1vyxqky2QvsV7Qz/ynEAXlx0nt0lThafF/KQ81QJEY 3aqwVKPSmz154efEvYmTHvBV51BdkkRzcoO86fgY6mA9lAKXNw6zaXIpQxflUSAHwhfvuf udifZhztEH4D+CF7BMKik4kVmiTbVmKgp3gaOfn38Apl/V9dP1XV2l3O3nLqZ7o7277g2v uUTqANdwfexjwH6SDnD+sMYwRSuSf3VkFMeDeGYkwIL6CfYFP5nEGtUX4U9Bag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745695308; a=rsa-sha256; cv=none; b=FvVXS9ZHkGIoAc9eVL1jWh0nDChwVYKyc3bDzJk4M41dqUyzJh9/mjkTCjvlznDHF+weY6 F+EeTTqxUXh+5PJNZtKmL9fX5P2DTCelklQvjVjct1ZDpm2r1H7hUjCz/0dYcZTVYf6FZW SqdOjqweioFablYHs9FvkteN7MI6LqLGPM70Kctz5epDh8p+5Ao+laFvKD9chO8XXL6mx1 R+TBf3jaGfQhj9Sea8k73CDqaAhBabokvgCv8CRHIB0Y0v9HVjGC6XKiDxPnoPDezWO57i xAwI2ke19kHW4oeMPUYhnNFlS2JSv1JeC6s1vdS8j0T4FbZyBR/eWk5qD3Qlbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745695308; 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=3pjc4do7Sqds9T9hBtGx/5klrH/T1GuMCsBCi/Vp/2M=; b=paT0CPZlw/VvupLaP83dBqHqxE9qyjLo+QM2hvpdhUIHiOfyoq87K9X6IVv0nANgMb6YB/ EAoRpSWtGx4HKaJvCqCRy4Sg6xO2USmvAvZz3XpCOv3Nwc/cSNZO/S5x3KVtqBRJ0hajmk wmn8M4Az8yOg5L4J77rqq31YyF7M0/a5uBINteGRsZtAXgKxnp1zCey1qayyjEEMYN+jI8 QPluiOe8IiZHYJbsZBKFKXAWQeJbgCE2Uw3HE9cL2LiVYBRpjKW7sX+iaYYQrjnf1ziubk l4BCy5ug3gUsa+yMrlBC28MovNJMHQZwEgLKfki7qSuKM/oxyx+ZPo4DX34XVg== 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 4ZlKMc0THWzZTj; Sat, 26 Apr 2025 19:21:48 +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 53QJLmie009595; Sat, 26 Apr 2025 19:21:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QJLmhm009592; Sat, 26 Apr 2025 19:21:48 GMT (envelope-from git) Date: Sat, 26 Apr 2025 19:21:48 GMT Message-Id: <202504261921.53QJLmhm009592@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: b0bbefc465ee - stable/14 - pci: Add hw.pci.intx_reroute sysctl/tunable List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b0bbefc465ee00deec8fb753fc0e4d0ecb7e4aff Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=b0bbefc465ee00deec8fb753fc0e4d0ecb7e4aff commit b0bbefc465ee00deec8fb753fc0e4d0ecb7e4aff Author: Colin Percival AuthorDate: 2025-04-15 19:30:30 +0000 Commit: Colin Percival CommitDate: 2025-04-26 19:21:03 +0000 pci: Add hw.pci.intx_reroute sysctl/tunable INTRng can leak resources when INTx interrupts are re-routed, which is typically harmless but can be fatal when devices are (repeatedly) hot plugged into PCI buses on INTRng systems. Re-routing INTx interrupts is nonetheless still necessary on some systems, and identifying whether the re-routing should be enabled or disabled seems to be nontrivial. Add a hw.pci.intx_reroute sysctl/tunable so systems which don't want legacy PCI interrupt re-routing can turn it off. This is probably not the best fix but it's something which can be safely included in FreeBSD 14.3. Co-Authored-by: jhb Reviewed by: bz, jhb MFC after: 3 days Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49849 (cherry picked from commit 2187ec93ada1c7399f2f3537920f6277bec4a0ef) --- sys/dev/pci/pci.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index 102027123976..dde50afd9319 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -431,6 +431,10 @@ SYSCTL_BOOL(_hw_pci, OID_AUTO, enable_mps_tune, CTLFLAG_RWTUN, &pci_enable_mps_tune, 1, "Enable tuning of MPS(maximum payload size)." ); +static bool pci_intx_reroute = true; +SYSCTL_BOOL(_hw_pci, OID_AUTO, intx_reroute, CTLFLAG_RWTUN, + &pci_intx_reroute, 0, "Re-route INTx interrupts when scanning devices"); + static int pci_has_quirk(uint32_t devid, int quirk) { @@ -4097,7 +4101,8 @@ pci_add_resources(device_t bus, device_t dev, int force, uint32_t prefetchmask) if (q->devid == devid && q->type == PCI_QUIRK_MAP_REG) pci_add_map(bus, dev, q->arg1, rl, force, 0); - if (cfg->intpin > 0 && PCI_INTERRUPT_VALID(cfg->intline)) { + if (cfg->intpin > 0 && PCI_INTERRUPT_VALID(cfg->intline) && + pci_intx_reroute) { #ifdef __PCI_REROUTE_INTERRUPT /* * Try to re-route interrupts. Sometimes the BIOS or From nobody Sat Apr 26 19:21:49 2025 X-Original-To: dev-commits-src-branches@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 4ZlKMd4byyz5tfMn; Sat, 26 Apr 2025 19:21:49 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZlKMd2KGTz3G4Z; Sat, 26 Apr 2025 19:21:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745695309; 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=mMT8Lqkjm+ntsCumpEFDLUJnhoR9S8Oflw/p3NV2wQg=; b=gF/T7hIlQKt3CTkbCSzO33z629XoBEX6F9DGet8sSHPspqKn9PnbxWE//nyTiY3R5y2dwo dDV1yVhQLkly6nUBwcUhkueOe5mOLRRkyjtg0Jov5BJYcMXw5AT1Um6GUNPcoEAgrHP8E0 7cbggOib3wUaOhBpd+7f16nvLq/IOB3wCwiGeZcO9y6FwrwA9VO70hF8b6VMcVnSZ0OHaC dJ7gTFYrxxpgVCDJuR6KXOMluj39kh/AnrXqEzur0Lxe1RzRuNQCS/QRbGA+k78zE6MEqJ tPIJWg2n164zjbU/wmDHS92FZytsKbRD+BAYry/6msMwbZa/LCLPlqCyHfaUXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745695309; a=rsa-sha256; cv=none; b=clzHxRH9dWzCQR9A/LOgwNvUPr28gYLzULVW2HaD+laxMfltL1FjlFmxJNShdUoLF3ZbHp jbKXc6fVWSFS839DOUU90ANH59/4+kOJSg4vGz+p9S8BkKVUea+/BI7/cWESGF9u/kbGKa bCjwNS8D9fHeY9U5SKplIc5ipjNFy0hCKVW/FHOCk62GYurPATey4n3CNL7xA3393w4+wh Tqn/931DyUdkBN3S1U3SXDJwdBHOHk9F78NY3kGZQ+uCb6AjXGNuhZuAqB+yn8t7buLC2v kcO4OIUqohqhDeo0+ciUWyWIpyvgqS1CJQ/ouq/Y9cRq/KKPDSOq9ooHhJse2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745695309; 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=mMT8Lqkjm+ntsCumpEFDLUJnhoR9S8Oflw/p3NV2wQg=; b=oTTPOjgYHA8zGcTRFclLxM3GIuVMWlxuLLTD/2RHfL9yLs07/0n5D8zge3ikyi9T7/3hul 4r4baBM9D4jUuVd8C0iMxcnbXaZGbDpbmuwT1m16g5XIuTrdIjHE6VpjoCQwlWHqCnHsyf M426vOoeoz1rhzUX8vSCGtG5SxJkkwtzdyrGebczl0SkHpJDW+wmRg25fAlLt3xUpXzrya Con3N9/N7RG3BpREP/dxVYrMYbLxyby1rKYQ30ywi4/Z3jgmwHdLRC/g80d2Q3AU6ZR1d2 z/GxqiukJ27HbUj6nqrcHIsXXiplPqK61Wuv8r4QcjCEEvzIdSejQusbN8y7Hw== 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 4ZlKMd1jhvzYr9; Sat, 26 Apr 2025 19:21:49 +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 53QJLnnq009628; Sat, 26 Apr 2025 19:21:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QJLnPm009625; Sat, 26 Apr 2025 19:21:49 GMT (envelope-from git) Date: Sat, 26 Apr 2025 19:21:49 GMT Message-Id: <202504261921.53QJLnPm009625@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 66d36f4f1025 - stable/14 - Turn off hw.pci.intx_reroute in EC2 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 66d36f4f1025193a64cf296873ed4a4b34471d91 Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=66d36f4f1025193a64cf296873ed4a4b34471d91 commit 66d36f4f1025193a64cf296873ed4a4b34471d91 Author: Colin Percival AuthorDate: 2025-04-23 15:17:51 +0000 Commit: Colin Percival CommitDate: 2025-04-26 19:21:22 +0000 Turn off hw.pci.intx_reroute in EC2 Having this enabled on Graviton systems prior to Graviton 4 results in a resource leak and a kernel panic after repeated hotplug/unplug. MFC after: 3 days Sponsored by: Amazon (cherry picked from commit ce9a34b1614e37dc3f8763586448063408c7bf16) --- release/tools/ec2.conf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index 2856068459c3..1116faed4e9c 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -72,6 +72,12 @@ ec2_common() { # delay before rescanning upon device detach. echo 'debug.acpi.quirks="56"' >> ${DESTDIR}/boot/loader.conf + # The default behaviour of re-routing INTx interrupts causes a + # resource leak on INTRng (aka on Graviton systems). Repeated + # hotplug/unplug on PCI (not PCIe) Graviton systems ends up with + # a kernel panic unless we disable this. + echo 'hw.pci.intx_reroute=0' >> ${DESTDIR}/boot/loader.conf + # Load the kernel module for the Amazon "Elastic Network Adapter" echo 'if_ena_load="YES"' >> ${DESTDIR}/boot/loader.conf From nobody Sat Apr 26 19:50:07 2025 X-Original-To: dev-commits-src-branches@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 4ZlL0H5dVLz5tgkH; Sat, 26 Apr 2025 19:50:07 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZlL0H3wfnz3JD9; Sat, 26 Apr 2025 19:50:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745697007; 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=QDASsMYY5XO84olxz6h9gJn7M43nk1kMoOIY5BxwGQc=; b=in8YAVQWq2smZ6hgsyYYI5BEdKJ7r/lzwQyU/eG1hF2seR3Rpdgs0tKv8yAjo6IWVim5IM eckl04SDhWt/u5hx+4YvPdbmwZF30extZQCTeAp2a5+jGvSIqcMFfw96qQ0PgeGKGo/EwG QRo60btYmjovpYtED1/Uls0lhOFshd5y50k9xY5ZvlqzvEDuPwq1MrPDECugfVdat4vMCo zgRtUANDVzn0ffG2RSm5v42MSIs4DIwIqEjuKlrE+nPeTy9VXuR68dwI60ljWnoXdOlZdp tRAdhrl3SZhMmFbkEzvrb676excBnGtla9M+FuGhuzfEIx3c/0Xq/TxS1WgVgA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745697007; a=rsa-sha256; cv=none; b=CoSbHGOGm7U+vUDPdRXBzSh7uJYO1pWFp2zCi5RZr1Ex/S8lzCvPP4x2Gp0xXN3cIcNHfX X5pY3q8Lb+wv7Izn6hWFRbs3cKDBRNK//eKeWRRfmIBbb1iup+rj/RrbSrGmRAhu1KXXlL uZtnu9ZN9y4W04H3c/jDIwA3pidseIWjhCOkptBPOyjvWbX6f00fuAZaeDSTRdv7IFMNWy e8cxnGaBIjPr4RwCxm9pWYCDpINTY2xCKwe09FCtPP747KGGzxwtNEAtDIf9JTbYOHiWJs MY0Ov601+zE86lTR7bse0KZYJJLBny6WrU7gi44EBdvcO5nUbS0sgGBuSvRA9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745697007; 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=QDASsMYY5XO84olxz6h9gJn7M43nk1kMoOIY5BxwGQc=; b=yY1oXEYBQnAlsmCOCq+sXKqWNI2JAFT20kElhi+Tne8giFINsxBllt85lGzJBdUcsOPblO lVPlvwtkqcanZ5PSCe84PSw8M7FgonkyAB23JAxA5t3sSXNOoYxa8CfbpwcStJBEQof8AT K5Deq4pSVo+s6hyxm9GV4nTratQdiwT04sbrMfFK/cEXQSzQ17XPyAt6fBQcrTmJdZO4Vi UvjnufkqQXp4RUpVgd+sbNvsBhAZRE/J/f0BUlMbNtnAsiDxArTIbzD+4Xz1N7KxpTqGNi ufpv1BoC8oZKit4ckkjHDbtIRNtRgb7lpNhfaW0pmgG5U3yWvTQF4IhZHzNgDQ== 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 4ZlL0H3DHyzbKB; Sat, 26 Apr 2025 19:50:07 +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 53QJo7ju056694; Sat, 26 Apr 2025 19:50:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QJo71n056688; Sat, 26 Apr 2025 19:50:07 GMT (envelope-from git) Date: Sat, 26 Apr 2025 19:50:07 GMT Message-Id: <202504261950.53QJo71n056688@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: d434f9f58d88 - stable/13 - release: Pass PKG_INSTALL_EPOCH to vmimage.subr List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d434f9f58d88ff5157387610b23ae6d7d58ef630 Auto-Submitted: auto-generated The branch stable/13 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=d434f9f58d88ff5157387610b23ae6d7d58ef630 commit d434f9f58d88ff5157387610b23ae6d7d58ef630 Author: Colin Percival AuthorDate: 2025-04-10 06:05:55 +0000 Commit: Colin Percival CommitDate: 2025-04-26 19:49:09 +0000 release: Pass PKG_INSTALL_EPOCH to vmimage.subr This value, if not already set, comes from the timestamp of the most recent git commit (which is now also available in src/release code as GITEPOCH) or 0 if git is not installed. This should allow /var/db/pkg/local.sqlite to be reproducible in VM images which have packages installed (e.g. cloudware). Reviewed by: emaste, bapt MFC after: 5 days Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49760 (cherry picked from commit 81ca663642ef1ed5111a88d2e9102f6788fab407) --- release/Makefile.inc1 | 9 ++++++--- release/Makefile.vm | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/release/Makefile.inc1 b/release/Makefile.inc1 index 552b6cb60f3c..569b72df5106 100644 --- a/release/Makefile.inc1 +++ b/release/Makefile.inc1 @@ -1,6 +1,3 @@ -# -# - # Figure out where the git binary is. .for _P in /usr/bin /usr/local/bin . if !defined(GIT_CMD) || empty(GIT_CMD) @@ -24,13 +21,19 @@ GITREV!= ${GIT_CMD} -C ${.CURDIR} rev-parse --verify --short HEAD 2>/dev/null || GITCOUNT!= ${GIT_CMD} -C ${.CURDIR} rev-list --first-parent --count HEAD 2>/dev/null || true . export GITCOUNT . endif +. if !defined(GITEPOCH) || empty(GITEPOCH) +GITEPOCH!= ${GIT_CMD} -C ${.CURDIR} show -s --format=%ct HEAD 2>/dev/null || true +. export GITEPOCH +. endif .else GITBRANCH= nullbranch GITREV= nullhash GITCOUNT= nullcount +GITEPOCH= 0 . export GITBRANCH . export GITREV . export GITCOUNT +. export GITEPOCH .endif # Set the build date, primarily for snapshot builds. diff --git a/release/Makefile.vm b/release/Makefile.vm index 4fc8f8f75acf..7fd02abf7dc0 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -132,6 +132,7 @@ vm-image: . for FORMAT in ${VMFORMATS} mkdir -p ${.OBJDIR}/${.TARGET}-${FORMAT} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ + PKG_INSTALL_EPOCH=${PKG_INSTALL_EPOCH:U${GITEPOCH}} \ ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr \ -d ${.OBJDIR}/${.TARGET}-${FORMAT} \ From nobody Sat Apr 26 19:50:08 2025 X-Original-To: dev-commits-src-branches@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 4ZlL0J6Bwkz5tgmX; Sat, 26 Apr 2025 19:50:08 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZlL0J4B2nz3JRk; Sat, 26 Apr 2025 19:50:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745697008; 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=zDNLYftvjl1IvbE3lnL+7RBUbs1uow0kNvEGWbXeod0=; b=i8acCLH59OoJxzHTu8hhArdzoHpomSEnEdPOqRr4qLgNg28lieRR0UeMLW7gWNTGnz8kYc tI1oiceSXIrYP4bRuz1tpNaMMTobT0oQyD+CEcWLSN+N1nJ6HPPrQXZ1YI7CM+JcmFUpGA XXol2EMqg/JPy4QE95oyRVbrE7RhIUiYoGmiMpiayK175q0KbiRwWXhlNnvnakYT6LLLPC 6Kd14Bf5katDlkznDy14NYmwQtinTKWaxkijHmTCLO33mS/H4ZYACW0wiEMUOWqhP32glF +T2X4wUBUUJUaJOkqrMF6/Xk0l8pUQ8m1s3Vn0PWvNF80CbFg9vDF8xPOiQSTA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745697008; a=rsa-sha256; cv=none; b=TXjdryrj8R3TRthR+V/ItjO/fGbWbx6+ZNGeqppwxoGJMMvHIiaqELFogdGXXXVeFpVk7/ UPWv9voq9IFZvI+NY2I79puAP8D9r+zW+8k2yfIpNqGfA/kc81t3Jab0Sej03Z+Y1dRKmk xIZgWvyOxmVX/jqTolB4Hu+PeaIDfhBnOKC3dxWVLctDobB3ExVXs/zLeUSjF3TUsLOrhk p1dQDxPgbOtYnGS0fKrz2V1d/Fm66SyQYOWtzebsH3wYSet/j4mBsZ/Xs6eWG3UwkPaxWA Z0brUSyWLW61G5T2zUNblNIRSCsIjAJ8NoeayPydgT3rbcP3z/RIzRyZjGxYQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745697008; 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=zDNLYftvjl1IvbE3lnL+7RBUbs1uow0kNvEGWbXeod0=; b=SrOv3uH/LCDI4123ZrrT1ulv07BK/T82ZhS4MlAkC4nRloThFWSHAg50K732ycuaXDhbVX 7LohhSwkuBgfg7OKbzV+JHKjRlRtEhCB1+tIJZ5PwkmkLBhKIb+38RgkHfiVxr2IE3FPeo s8LCoWeA2iI/L/0OTeUOmNKd2oZZ6SIMj24WHVzItMTL3GgQ00SB83TgeK0jhlvThYOWn0 iEW8G7bTc+twcthStrgKcyp87P2IKaNgjtjQZzHam3aCucvtXN67Md508Y9dqrPdOm0g/f SCf6tWuPuav+Aqbwy/vrffwL+rlf4Li2t38J5DwHJNfyXMiSiN/P9OqNRKz5Dg== 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 4ZlL0J3PF0zbKC; Sat, 26 Apr 2025 19:50:08 +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 53QJo83g056960; Sat, 26 Apr 2025 19:50:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QJo8t0056957; Sat, 26 Apr 2025 19:50:08 GMT (envelope-from git) Date: Sat, 26 Apr 2025 19:50:08 GMT Message-Id: <202504261950.53QJo8t0056957@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 2ef9c17d68c4 - stable/13 - release: Pass PKG_INSTALL_EPOCH (take 2) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2ef9c17d68c491064bd00d68f3d417581128b9f3 Auto-Submitted: auto-generated The branch stable/13 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=2ef9c17d68c491064bd00d68f3d417581128b9f3 commit 2ef9c17d68c491064bd00d68f3d417581128b9f3 Author: Colin Percival AuthorDate: 2025-04-23 04:39:56 +0000 Commit: Colin Percival CommitDate: 2025-04-26 19:49:35 +0000 release: Pass PKG_INSTALL_EPOCH (take 2) We need to pass this to cloudware builds, not just VM builds. MFC after: 4 days Fixes: 81ca663642ef ("release: Pass PKG_INSTALL_EPOCH to vmimage.subr") Sponsored by: Amazon (cherry picked from commit d14036ea424d5aa3eee20cc6f0b5d7117cc3931b) --- release/Makefile.vm | 1 + 1 file changed, 1 insertion(+) diff --git a/release/Makefile.vm b/release/Makefile.vm index 7fd02abf7dc0..9441cba890bf 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -98,6 +98,7 @@ cw-${_CW:tl}: ${QEMUTGT} mkdir -p ${.OBJDIR}/${.TARGET} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ QEMUSTATIC=${QEMUSTATIC} \ + PKG_INSTALL_EPOCH=${PKG_INSTALL_EPOCH:U${GITEPOCH}} \ ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} \ -i ${.OBJDIR}/${_CW:tl}.img -s ${VMSIZE} -f ${${_CW:tu}_FORMAT} \ From nobody Sun Apr 27 18:59:50 2025 X-Original-To: dev-commits-src-branches@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 4Zlwqp6KgDz5vCJM; Sun, 27 Apr 2025 18:59:50 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zlwqp3WkWz3SgS; Sun, 27 Apr 2025 18:59:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745780390; 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=gvjtDxHtBewbWBDFs09nWE/tOKGCIpk0XHBdutDY/E8=; b=XPQ3sXeVHiY9RmzZpMjgBTAEqfK1NLI4h9tFoIFODw47cEAdnlI0lPAsQ6rqe7xE3trjiX 8xQx2dntMjKBnGyCzECzBASN8WvXeTCfXVzbjRqQWFBkBZOewh5WTBbOsVathoT+T9dwD5 zLzCNKuUDtb+lLeckSiRBUPfCo9uQDCTMf+dV3mjvQgAJKSuWH+8T4MXZfo+1NzRAJuvOv WtLgwX7z1uDqKo+3lIZ47pydbz1u+3dSMWGv9CrUnF17zLoAcmMLNGxxihsJ0eN8jq5NC9 Tk303G+Vy+yEd9i95lR+k/xqEu6N0DWKj2sXT3IIVDYtrnFkxap3jFUf9YYBgg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745780390; a=rsa-sha256; cv=none; b=umdKepvwSLgwFdU2es0U6mkKo1iDJJPYbYJ4SOBQpqHwJTUJLH7Gh6mePL9X3Fm26q6oSG W8naJRAN9uAHiYrofdLfri2bBhW3UAdbisD0AnyzSRm/mpFqAuRHnfdrcpVYhhw6lI8UmY 3oNtzLk0fY3XEocItGoWSMVdfMWSqjbj0H2q8nnbCHfhfOh91NCOfX2096FAZdP+whHZ51 wXc0WPajOUVphcwpv2G2ztrDfsL8hn0GjhMx/6cH4TUm9t1OTEOtiP60XdPsYe9wulec40 X6w6AE+DsW7SqT9LRs/sTDMhC0ddnIQth2MtAOjXhE7N5FMKGVhNG7xShGUPgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745780390; 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=gvjtDxHtBewbWBDFs09nWE/tOKGCIpk0XHBdutDY/E8=; b=iSyvM1VBm4uACj6juo1yhfqehIp2J332yG3OhuUUhjKZnfP2To9ZeV7qQcxtKzAQaLmXRb FQwidkcg70sheAyScdcdy4H8q0TJmSbbqJvcPHHR34s4daRRmy1poWxjjBwEM78IFU2Ts5 HBQKEvJWa3KBzwV+8jyw3DP3FgGrrVjKJiQ6PLh2Q1CuAiBqhZzt/U4dTUpeDKL5JY5+PE RCFjIp/TS8rhcf9mWMz2BDW+5lltdVq2aayHr0LcTaIlkcJCKJAupoqC1xt/YWswJPGgV5 hHdJADzdu7W8Xpda2oSUFqhsTzq3whntjd/JVA58MgsWTQNsbrycPmHX/UkuEA== 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 4Zlwqp2r97z1HBV; Sun, 27 Apr 2025 18:59:50 +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 53RIxoPw058975; Sun, 27 Apr 2025 18:59:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RIxoR1058972; Sun, 27 Apr 2025 18:59:50 GMT (envelope-from git) Date: Sun, 27 Apr 2025 18:59:50 GMT Message-Id: <202504271859.53RIxoR1058972@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 09e0a909fb07 - stable/14 - tee: try opening as a UNIX socket if open(2) fails List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 09e0a909fb07615ed97c8648a24b541840bc1fa7 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=09e0a909fb07615ed97c8648a24b541840bc1fa7 commit 09e0a909fb07615ed97c8648a24b541840bc1fa7 Author: Kyle Evans AuthorDate: 2025-04-20 16:34:52 +0000 Commit: Kyle Evans CommitDate: 2025-04-27 18:59:34 +0000 tee: try opening as a UNIX socket if open(2) fails If we get EOPNOTSUPP from open() failing, then it may just be that we're looking at a unix(4) socket instead of a normal file/device or whatnot. Fallback to trying to open it as a unix(4) socket, which is a useful feature that doesn't add much complexity. Reviewed by: des, emaste, markj (cherry picked from commit 1b3748977f28c70e0b161fb476bf4e075bcc5940) --- usr.bin/tee/tee.1 | 8 +++++++- usr.bin/tee/tee.c | 46 +++++++++++++++++++++++++++++++++++++++++-- usr.bin/tee/tests/tee_test.sh | 32 ++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 3 deletions(-) diff --git a/usr.bin/tee/tee.1 b/usr.bin/tee/tee.1 index b7673ea0ce61..b4d38fbb5b24 100644 --- a/usr.bin/tee/tee.1 +++ b/usr.bin/tee/tee.1 @@ -30,7 +30,7 @@ .\" .\" @(#)tee.1 8.1 (Berkeley) 6/6/93 .\" -.Dd October 30, 2022 +.Dd December 25, 2024 .Dt TEE 1 .Os .Sh NAME @@ -71,6 +71,12 @@ utility takes the default action for all signals, except in the event of the .Fl i option. +.Pp +This implementation of the +.Nm +utility may also write to +.Xr unix 4 +sockets. .Sh EXIT STATUS .Ex -std .Sh EXAMPLES diff --git a/usr.bin/tee/tee.c b/usr.bin/tee/tee.c index aeda9c34ac45..92c8913210aa 100644 --- a/usr.bin/tee/tee.c +++ b/usr.bin/tee/tee.c @@ -41,10 +41,12 @@ static char sccsid[] = "@(#)tee.c 8.1 (Berkeley) 6/6/93"; #endif #endif /* not lint */ +#include #include #include +#include #include -#include +#include #include #include @@ -64,6 +66,7 @@ struct entry { static STAILQ_HEAD(, entry) head = STAILQ_HEAD_INITIALIZER(head); static void add(int, const char *); +static int tee_open(const char *, int); static void usage(void) __dead2; int @@ -105,7 +108,7 @@ main(int argc, char *argv[]) oflags |= O_TRUNC; for (exitval = 0; *argv; ++argv) { - if ((fd = open(*argv, oflags, DEFFILEMODE)) < 0) { + if ((fd = tee_open(*argv, oflags)) < 0) { warn("%s", *argv); exitval = 1; } else { @@ -161,3 +164,42 @@ add(int fd, const char *name) p->name = name; STAILQ_INSERT_HEAD(&head, p, entries); } + +static int +tee_open(const char *path, int oflags) +{ + struct sockaddr_un sun = { .sun_family = AF_UNIX }; + size_t pathlen; + int fd; + + if ((fd = open(path, oflags, DEFFILEMODE)) >= 0) + return (fd); + + if (errno != EOPNOTSUPP) + return (-1); + + pathlen = strnlen(path, sizeof(sun.sun_path)); + if (pathlen >= sizeof(sun.sun_path)) + goto failed; + + /* + * For EOPNOTSUPP, we'll try again as a unix(4) socket. Any errors here + * we'll just surface as the original EOPNOTSUPP since they may not have + * intended for this. + */ + fd = socket(PF_UNIX, SOCK_STREAM, 0); + if (fd < 0) + goto failed; + + (void)strlcpy(&sun.sun_path[0], path, sizeof(sun.sun_path)); + sun.sun_len = SUN_LEN(&sun); + + if (connect(fd, (const struct sockaddr *)&sun, sun.sun_len) == 0) + return (fd); + +failed: + if (fd >= 0) + close(fd); + errno = EOPNOTSUPP; + return (-1); +} diff --git a/usr.bin/tee/tests/tee_test.sh b/usr.bin/tee/tests/tee_test.sh index 6ac733f2e58f..cf8e74dd47e7 100644 --- a/usr.bin/tee/tests/tee_test.sh +++ b/usr.bin/tee/tests/tee_test.sh @@ -64,6 +64,37 @@ sigint_ignored_body() atf_check -o inline:"text\ntext\n" cat file } +atf_test_case unixsock "cleanup" +unixsock_pidfile="nc.pid" + +unixsock_body() +{ + outfile=out.log + + nc -lU logger.sock > "$outfile" & + npid=$! + + atf_check -o save:"$unixsock_pidfile" echo "$npid" + + # Wait for the socket to come online, just in case. + while [ ! -S logger.sock ]; do + sleep 0.1 + done + + atf_check -o inline:"text over socket\n" -x \ + 'echo "text over socket" | tee logger.sock' + + atf_check rm "$unixsock_pidfile" + atf_check -o inline:"text over socket\n" cat "$outfile" +} +unixsock_cleanup() +{ + if [ -s "$unixsock_pidfile" ]; then + read npid < "$unixsock_pidfile" + kill "$npid" + fi +} + atf_init_test_cases() { atf_add_test_case single_file @@ -71,4 +102,5 @@ atf_init_test_cases() atf_add_test_case multiple_file atf_add_test_case append atf_add_test_case sigint_ignored + atf_add_test_case unixsock } From nobody Sun Apr 27 22:06:05 2025 X-Original-To: dev-commits-src-branches@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 4Zm0yk2Y4Yz5vPHj; Sun, 27 Apr 2025 22:06:06 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm0yk1QJTz3YbM; Sun, 27 Apr 2025 22:06:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791566; 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=zVwcB8A+Rjzppd62sjtV+OkAxODJ2uc1ZoH+0n5xRrE=; b=fFa1sCiHG+R4/XaGWe9nMTuT2Bq6yEf8jFylVbfLGW5W/TKcXJrajPh9NGdnKtLvFk75ZQ Z9mUZqlKPN3r9SKCpNU1oHjBmkYdCfXDYUx+lDBEo+Tt+HtEhAUTQXGX51BphhaRoWvTeg asulbMfVFNccO18YDq1n0k0Dw2h75cMS7IvHveX+avui2tIoCydEZhIA4wXGBpxxu39IEQ IEDP5vpvvdhRoqjOfy/GA7khWfLQWMi0xlrgWpMasW4LfFvMAW0+OrLwI1o5CsBiymxbGT xH4rwp6b7im6t8KkQI8K8tKhSPghD6UqshWVkudomYLmq+JyaA4KGBwKiRpo2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745791566; a=rsa-sha256; cv=none; b=eMmJNroNUfcQHkbJrGa1nkYk7g1xFigU/N2+aHpqM5qq+PKJtiaAxCB3WtTIs91UPYkOSt X7+d+zd/mDZ1CV9ePatJLLFkHR0VCiP11ZBoHrVs2KaQOPHGIFFAMM8BoM2xf7pIR3ws02 opQm3XyD+KXARFpRZNZBI+JEih263+cBUhwgsk+ioAEExI+ZmHpjgxWQwtEuvYZFZM4POZ 7xicZwjsiqGc4RUwVW9big6kUiq/H9viK+W463dzZbCakrX4rpl5RZOnvVqEGqiRJjU4Qx Dz9D9OsAQoK4/fkbSUACJWzHEOMq0R6Ar4Aad4Z8w4SmXtxIIpG3JnWAuO8uHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791566; 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=zVwcB8A+Rjzppd62sjtV+OkAxODJ2uc1ZoH+0n5xRrE=; b=YXN1aeQCIGXAT44MPbc1ZCenexg9bLV59oMHkB1vgURecr5A4I5eN0/H8RZdhbY2KggdtU YD/CtcseNoNO84oeq8fYGYt1nKDoZjTLhDnj9xmEWJfUatd55vr0/qcmoeaJpj2CWQ94yF fl/QPLEMzu6sHhARwt4i3oKbiUtOWtpyMbWirsr2uC8fmS79nVdWHwps6qlPA4j8/1f9q9 3auY1iiyr+HU+TQjz3xwqTUNJnKM5UgKNdSfKRMQH0wV8k+h6m40qKBqPkLswSBOoF5/Gd gKQfU97tpK+jFJJuXrOz74HWh2vMnil5w1q2I7j/DAIGzzZ2Bho23jJWg+kZjg== 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 4Zm0yk0jhcz1Mtr; Sun, 27 Apr 2025 22:06:06 +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 53RM65wY014365; Sun, 27 Apr 2025 22:06:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RM657f014362; Sun, 27 Apr 2025 22:06:05 GMT (envelope-from git) Date: Sun, 27 Apr 2025 22:06:05 GMT Message-Id: <202504272206.53RM657f014362@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 54f842ed8897 - stable/14 - /sys/dev/bnxt: Enable NPAR support on BCM57504 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 54f842ed8897b211e7c5c207339dbe72b826287e Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=54f842ed8897b211e7c5c207339dbe72b826287e commit 54f842ed8897b211e7c5c207339dbe72b826287e Author: Vinícius Ferrão AuthorDate: 2024-06-29 05:16:43 +0000 Commit: Warner Losh CommitDate: 2025-04-27 22:02:58 +0000 /sys/dev/bnxt: Enable NPAR support on BCM57504 This commit enables NPAR support for Broadcom 57504 10/25GbE NICs Signed-off-by: Vinícius Ferrão Reviewed by: imp,ssaxena,nightquick@proton.me Pull Request: https://github.com/freebsd/freebsd-src/pull/1306 (cherry picked from commit 0bff716674418ec9f8c48131fb34cafc0af671e8) --- sys/dev/bnxt/bnxt_en/bnxt.h | 1 + sys/dev/bnxt/bnxt_en/if_bnxt.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index e615566595ec..77a7601bb308 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -86,6 +86,7 @@ #define BCM58700 0x16cd #define BCM57508 0x1750 #define BCM57504 0x1751 +#define BCM57504_NPAR 0x1801 #define BCM57502 0x1752 #define NETXTREME_C_VF1 0x16cb #define NETXTREME_C_VF2 0x16e1 diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 8ca929828709..29870a7360ca 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -144,6 +144,8 @@ static const pci_vendor_info_t bnxt_vendor_info_array[] = "Broadcom BCM57508 NetXtreme-E 10Gb/25Gb/50Gb/100Gb/200Gb Ethernet"), PVID(BROADCOM_VENDOR_ID, BCM57504, "Broadcom BCM57504 NetXtreme-E 10Gb/25Gb/50Gb/100Gb/200Gb Ethernet"), + PVID(BROADCOM_VENDOR_ID, BCM57504_NPAR, + "Broadcom BCM57504 NetXtreme-E Ethernet Partition"), PVID(BROADCOM_VENDOR_ID, BCM57502, "Broadcom BCM57502 NetXtreme-E 10Gb/25Gb/50Gb/100Gb/200Gb Ethernet"), PVID(BROADCOM_VENDOR_ID, NETXTREME_C_VF1, @@ -2088,6 +2090,7 @@ bnxt_attach_pre(if_ctx_t ctx) case BCM57414_NPAR2: case BCM57416_NPAR1: case BCM57416_NPAR2: + case BCM57504_NPAR: softc->flags |= BNXT_FLAG_NPAR; break; case NETXTREME_C_VF1: @@ -2171,6 +2174,7 @@ bnxt_attach_pre(if_ctx_t ctx) if ((softc->ver_info->chip_num == BCM57508) || (softc->ver_info->chip_num == BCM57504) || + (softc->ver_info->chip_num == BCM57504_NPAR) || (softc->ver_info->chip_num == BCM57502)) softc->flags |= BNXT_FLAG_CHIP_P5; From nobody Sun Apr 27 22:06:07 2025 X-Original-To: dev-commits-src-branches@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 4Zm0yl5Fkdz5vPSp; Sun, 27 Apr 2025 22:06:07 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm0yl1TXxz3YhB; Sun, 27 Apr 2025 22:06:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791567; 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=1+/zPBAPJvdDEzfGCnuwVON+mX393s9du6E6AT3zy9Q=; b=Km+FVLa8/BhNeGdic6jXjnRGRBfJYenmKv8RXEJyqPNR+6EmN3cXhdsZHMzdOOwBTycH0r TonZnyfsFr8SMw3Uvn5LNtadl6hgkLQtc4qkrHWVjRPx+2eMGN2/RcnrOpgDSarkScIsO4 4kYq5SynuEsWcCBTtaufku1JT4VK0CMs1/ZlQh7SwhhEMWTbw3i6XRrOlvRAhfuVMXrD+G n91RJZ87tvaoRwQ2+UIqjzyT1M5GMpBpwt+koFfWiG7LpDbjADbGWZ+ZvjAKlXOf7tkr5/ pHT3+7jITX6nQumpxGI+txRzfndMlIdFPnWLO8n/WaXdl6TxZVuRx6rgrhmEuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745791567; a=rsa-sha256; cv=none; b=Q8rWqbA0/DbZWl8D9ip2xIduXYsEu2b3lrWaEw9JpzbhoxvYoNnqWsuQOgjnxvp8yx4QBA 3OHr0wrxezu8/sQTxYDaoLPCU4wUN4eHUM7DyMLbEtjDBIeRpRoFnkwpsWAtb1P76Z1oea ABFqP4Au6YDy3+MbfGrI4ODxisTEIjIRh2zTXGT7S9nCGELDq5hFyNVjuwIOVXAwbvWMEF +C79C9Nc4y/tDeg7DZonHGFXXdNfun6Tss1IZhKSkpTwQGf4P5SD8hSKVm4JzRRsYPqHZu DHKR4pfceaORs9XVjfF6UQcXyk1TRMq3VkS257GeHVHiSDN30FtqXOUsaP+J7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791567; 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=1+/zPBAPJvdDEzfGCnuwVON+mX393s9du6E6AT3zy9Q=; b=QBzWTBw7/ROKsOQyweYEoDm6u400XV7iph85aHMt8o3ydxO39Th37/vW71SkuuWtel+0xw yXC8YM+ByXl6hg2PmBiHXYKsQ361VKIn2s6GAjpxZTv2EtCS+46ODsRb7V8ZkMJ7jE6teJ 6ljD6S0CAVLMH9fp3bAPPPvG1YcVZPtkq7C53yCQ9X2FgkSUeXg82j6Inqlsc1q+WLwykx CgK654cyd4uqGFVroPc6vYSe2Xd7mEAKbA78oYQf85iQTv85zhJB3J6lGGtnpAO/hCo+JL 95aiPi7ZI+7Y1ERT+DHb1JS19/mtUYQ521/zc8yhe4feN07XIMmrb1WhFElu7Q== 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 4Zm0yl1565z1Mct; Sun, 27 Apr 2025 22:06:07 +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 53RM67tC014405; Sun, 27 Apr 2025 22:06:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RM67GY014402; Sun, 27 Apr 2025 22:06:07 GMT (envelope-from git) Date: Sun, 27 Apr 2025 22:06:07 GMT Message-Id: <202504272206.53RM67GY014402@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 7313d4a3dcf7 - stable/14 - iflib(4): Replace admin taskqueue group with per-interface taskqueues List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7313d4a3dcf749a873d0bda61418d4a6bb353a3d Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7313d4a3dcf749a873d0bda61418d4a6bb353a3d commit 7313d4a3dcf749a873d0bda61418d4a6bb353a3d Author: Krzysztof Galazka AuthorDate: 2024-07-05 11:00:13 +0000 Commit: Warner Losh CommitDate: 2025-04-27 22:02:58 +0000 iflib(4): Replace admin taskqueue group with per-interface taskqueues Using one taskqueue group with single thread to execute all admin tasks may lead to unexpected timeouts when long running task (e.g. handling a reset after FW update) for one interface prevents tasks from other interfaces being executed. Taskqueue group API doesn't let to dynamically add threads, and pre-allocating thread for each CPU as it's done for traffic queues would be a waste of resources on systems with small number of interfaces. Replace global taskqueue group for admin tasks with taskqueue allocated for each interface to allow independent execution. Signed-off-by: Krzysztof Galazka Reviewed by: imp, jhb Pull Request: https://github.com/freebsd/freebsd-src/pull/1336 (cherry picked from commit 3ad01642fe9e241124553f2f18fd365ffea5d20b) --- sys/dev/bnxt/bnxt_en/bnxt.h | 2 +- sys/dev/bnxt/bnxt_en/if_bnxt.c | 10 +++--- sys/net/iflib.c | 77 ++++++++++++++++++++++-------------------- sys/net/iflib.h | 6 ++-- 4 files changed, 48 insertions(+), 47 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index 77a7601bb308..b0c3a8913622 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -1091,7 +1091,7 @@ struct bnxt_softc { struct bnxt_cp_ring def_nq_ring; struct iflib_dma_info def_cp_ring_mem; struct iflib_dma_info def_nq_ring_mem; - struct grouptask def_cp_task; + struct task def_cp_task; int db_size; int legacy_db_size; struct bnxt_doorbell_ops db_ops; diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 29870a7360ca..3a2c18b32e10 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -230,7 +230,7 @@ static void bnxt_clear_ids(struct bnxt_softc *softc); static void inline bnxt_do_enable_intr(struct bnxt_cp_ring *cpr); static void inline bnxt_do_disable_intr(struct bnxt_cp_ring *cpr); static void bnxt_mark_cpr_invalid(struct bnxt_cp_ring *cpr); -static void bnxt_def_cp_task(void *context); +static void bnxt_def_cp_task(void *context, int pending); static void bnxt_handle_async_event(struct bnxt_softc *softc, struct cmpl_base *cmpl); static uint64_t bnxt_get_baudrate(struct bnxt_link_info *link); @@ -2385,8 +2385,7 @@ bnxt_attach_pre(if_ctx_t ctx) &softc->def_cp_ring_mem, 0); softc->def_cp_ring.ring.vaddr = softc->def_cp_ring_mem.idi_vaddr; softc->def_cp_ring.ring.paddr = softc->def_cp_ring_mem.idi_paddr; - iflib_config_gtask_init(ctx, &softc->def_cp_task, bnxt_def_cp_task, - "dflt_cp"); + iflib_config_task_init(ctx, &softc->def_cp_task, bnxt_def_cp_task); rc = bnxt_init_sysctl_ctx(softc); if (rc) @@ -2513,7 +2512,6 @@ bnxt_detach(if_ctx_t ctx) bnxt_free_ctx_mem(softc); bnxt_clear_ids(softc); iflib_irq_free(ctx, &softc->def_cp_ring.irq); - iflib_config_gtask_deinit(&softc->def_cp_task); /* We need to free() these here... */ for (i = softc->nrxqsets-1; i>=0; i--) { if (BNXT_CHIP_P5(softc)) @@ -4349,7 +4347,7 @@ bnxt_handle_def_cp(void *arg) struct bnxt_softc *softc = arg; softc->db_ops.bnxt_db_rx_cq(&softc->def_cp_ring, 0); - GROUPTASK_ENQUEUE(&softc->def_cp_task); + iflib_config_task_enqueue(softc->ctx, &softc->def_cp_task); return FILTER_HANDLED; } @@ -4609,7 +4607,7 @@ async_event_process_exit: } static void -bnxt_def_cp_task(void *context) +bnxt_def_cp_task(void *context, int pending) { if_ctx_t ctx = context; struct bnxt_softc *softc = iflib_get_softc(ctx); diff --git a/sys/net/iflib.c b/sys/net/iflib.c index 93a2ca526072..12acdcd4f868 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -178,8 +178,9 @@ struct iflib_ctx { struct resource *ifc_msix_mem; struct if_irq ifc_legacy_irq; - struct grouptask ifc_admin_task; - struct grouptask ifc_vflr_task; + struct task ifc_admin_task; + struct task ifc_vflr_task; + struct taskqueue *ifc_tq; struct iflib_filter_info ifc_filter_info; struct ifmedia ifc_media; struct ifmedia *ifc_mediap; @@ -1640,7 +1641,7 @@ static int iflib_fast_intr_ctx(void *arg) { iflib_filter_info_t info = arg; - struct grouptask *gtask = info->ifi_task; + if_ctx_t ctx = info->ifi_ctx; int result; DBG_COUNTER_INC(fast_intrs); @@ -1650,8 +1651,7 @@ iflib_fast_intr_ctx(void *arg) return (result); } - if (gtask->gt_taskqueue != NULL) - GROUPTASK_ENQUEUE(gtask); + taskqueue_enqueue(ctx->ifc_tq, &ctx->ifc_admin_task); return (FILTER_HANDLED); } @@ -4176,7 +4176,7 @@ skip_rxeof: } static void -_task_fn_admin(void *context) +_task_fn_admin(void *context, int pending) { if_ctx_t ctx = context; if_softc_ctx_t sctx = &ctx->ifc_softc_ctx; @@ -4227,7 +4227,7 @@ _task_fn_admin(void *context) } static void -_task_fn_iov(void *context) +_task_fn_iov(void *context, int pending) { if_ctx_t ctx = context; @@ -5200,6 +5200,7 @@ iflib_device_register(device_t dev, void *sc, if_shared_ctx_t sctx, if_ctx_t *ct kobj_method_t *kobj_method; int err, msix, rid; int num_txd, num_rxd; + char namebuf[TASKQUEUE_NAMELEN]; ctx = malloc(sizeof(*ctx), M_IFLIB, M_WAITOK | M_ZERO); @@ -5290,10 +5291,25 @@ iflib_device_register(device_t dev, void *sc, if_shared_ctx_t sctx, if_ctx_t *ct scctx->isc_rss_table_size = 64; scctx->isc_rss_table_mask = scctx->isc_rss_table_size - 1; - GROUPTASK_INIT(&ctx->ifc_admin_task, 0, _task_fn_admin, ctx); - /* XXX format name */ - taskqgroup_attach(qgroup_if_config_tqg, &ctx->ifc_admin_task, ctx, - NULL, NULL, "admin"); + /* Create and start admin taskqueue */ + snprintf(namebuf, TASKQUEUE_NAMELEN, "if_%s_tq", device_get_nameunit(dev)); + ctx->ifc_tq = taskqueue_create_fast(namebuf, M_NOWAIT, + taskqueue_thread_enqueue, &ctx->ifc_tq); + if (ctx->ifc_tq == NULL) { + device_printf(dev, "Unable to create admin taskqueue\n"); + return (ENOMEM); + } + + err = taskqueue_start_threads(&ctx->ifc_tq, 1, PI_NET, "%s", namebuf); + if (err) { + device_printf(dev, + "Unable to start admin taskqueue threads error: %d\n", + err); + taskqueue_free(ctx->ifc_tq); + return (err); + } + + TASK_INIT(&ctx->ifc_admin_task, 0, _task_fn_admin, ctx); /* Set up cpu set. If it fails, use the set of all CPUs. */ if (bus_get_cpus(dev, INTR_CPUS, sizeof(ctx->ifc_cpus), &ctx->ifc_cpus) != 0) { @@ -5430,6 +5446,7 @@ iflib_device_register(device_t dev, void *sc, if_shared_ctx_t sctx, if_ctx_t *ct fail_detach: ether_ifdetach(ctx->ifc_ifp); fail_queues: + taskqueue_free(ctx->ifc_tq); iflib_tqg_detach(ctx); iflib_tx_structures_free(ctx); iflib_rx_structures_free(ctx); @@ -5508,6 +5525,9 @@ iflib_device_deregister(if_ctx_t ctx) IFDI_QUEUES_FREE(ctx); CTX_UNLOCK(ctx); + taskqueue_free(ctx->ifc_tq); + ctx->ifc_tq = NULL; + /* ether_ifdetach calls if_qflush - lock must be destroy afterwards*/ iflib_free_intr_mem(ctx); @@ -5545,11 +5565,6 @@ iflib_tqg_detach(if_ctx_t ctx) if (rxq->ifr_task.gt_uniq != NULL) taskqgroup_detach(tqg, &rxq->ifr_task); } - tqg = qgroup_if_config_tqg; - if (ctx->ifc_admin_task.gt_uniq != NULL) - taskqgroup_detach(tqg, &ctx->ifc_admin_task); - if (ctx->ifc_vflr_task.gt_uniq != NULL) - taskqgroup_detach(tqg, &ctx->ifc_vflr_task); } static void @@ -6324,9 +6339,7 @@ iflib_irq_alloc_generic(if_ctx_t ctx, if_irq_t irq, int rid, q = ctx; tqrid = -1; info = &ctx->ifc_filter_info; - gtask = &ctx->ifc_admin_task; - tqg = qgroup_if_config_tqg; - fn = _task_fn_admin; + gtask = NULL; intr_fast = iflib_fast_intr_ctx; break; default: @@ -6388,12 +6401,8 @@ iflib_softirq_alloc_generic(if_ctx_t ctx, if_irq_t irq, iflib_intr_type_t type, NET_GROUPTASK_INIT(gtask, 0, fn, q); break; case IFLIB_INTR_IOV: - q = ctx; - gtask = &ctx->ifc_vflr_task; - tqg = qgroup_if_config_tqg; - fn = _task_fn_iov; - GROUPTASK_INIT(gtask, 0, fn, q); - break; + TASK_INIT(&ctx->ifc_vflr_task, 0, _task_fn_iov, ctx); + return; default: panic("unknown net intr type"); } @@ -6483,15 +6492,14 @@ void iflib_admin_intr_deferred(if_ctx_t ctx) { - MPASS(ctx->ifc_admin_task.gt_taskqueue != NULL); - GROUPTASK_ENQUEUE(&ctx->ifc_admin_task); + taskqueue_enqueue(ctx->ifc_tq, &ctx->ifc_admin_task); } void iflib_iov_intr_deferred(if_ctx_t ctx) { - GROUPTASK_ENQUEUE(&ctx->ifc_vflr_task); + taskqueue_enqueue(ctx->ifc_tq, &ctx->ifc_vflr_task); } void @@ -6503,20 +6511,15 @@ iflib_io_tqg_attach(struct grouptask *gt, void *uniq, int cpu, const char *name) } void -iflib_config_gtask_init(void *ctx, struct grouptask *gtask, gtask_fn_t *fn, - const char *name) +iflib_config_task_init(if_ctx_t ctx, struct task *config_task, task_fn_t *fn) { - - GROUPTASK_INIT(gtask, 0, fn, ctx); - taskqgroup_attach(qgroup_if_config_tqg, gtask, gtask, NULL, NULL, - name); + TASK_INIT(config_task, 0, fn, ctx); } void -iflib_config_gtask_deinit(struct grouptask *gtask) +iflib_config_task_enqueue(if_ctx_t ctx, struct task *config_task) { - - taskqgroup_detach(qgroup_if_config_tqg, gtask); + taskqueue_enqueue(ctx->ifc_tq, config_task); } void diff --git a/sys/net/iflib.h b/sys/net/iflib.h index bf40c7429fb8..fbadab0af565 100644 --- a/sys/net/iflib.h +++ b/sys/net/iflib.h @@ -470,9 +470,9 @@ void iflib_irq_free(if_ctx_t ctx, if_irq_t irq); void iflib_io_tqg_attach(struct grouptask *gt, void *uniq, int cpu, const char *name); -void iflib_config_gtask_init(void *ctx, struct grouptask *gtask, - gtask_fn_t *fn, const char *name); -void iflib_config_gtask_deinit(struct grouptask *gtask); +void iflib_config_task_init(if_ctx_t ctx, struct task *config_task, + task_fn_t *fn); +void iflib_config_task_enqueue(if_ctx_t ctx, struct task *config_task); void iflib_tx_intr_deferred(if_ctx_t ctx, int txqid); void iflib_rx_intr_deferred(if_ctx_t ctx, int rxqid); From nobody Sun Apr 27 22:06:08 2025 X-Original-To: dev-commits-src-branches@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 4Zm0yn0l8Bz5vPLd; Sun, 27 Apr 2025 22:06:09 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm0ym29yfz3YpR; Sun, 27 Apr 2025 22:06:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791568; 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=OqKWm/OOtTshZMlL+6wu4QpLko663KDbVK8W6blQiGI=; b=Qs42VegqvvoZ8qZAkifkReOQk4y8PXDC4y991Nonb0JCjOhuOhiIIeHUQ9S6ErlITJq/rT YbcrzFAlbLrf1bsC5xVxismXfXC0TqkbHhrrHimSRqsueU4g8cqGG0FxfW1FaKOd8DnjS1 NQzzSnWBb3FdKyeSqhkUB/VFaDQzrBEw4bqx3TZMqIAygHXBg2V6qLw/IKHr1BLo5CTomq rXgw3FCU1o5P616zP7z15UWIo01PybN6cDOUyi512aeRsB8aeSl7AoyFglRpgUFTChu/pM qMcKKFv4xuODlCxhcgEEwYy0ATqKBK7PC5WbRPiI8o8LRMZoWstXku6S1AHgog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745791568; a=rsa-sha256; cv=none; b=qW2cq6XPegHRvkunZ75Az3cYdccNr47211869VU329JwCc8H0amfh0PVrsYd9CQMrMm6gT 5+4DGhNGBAjnqGbMxltPgWcxIP5ANqlK1znwsEkJ0pWE7MXI4O0PewsxKXjfqYZCK+Yg4J J7CuRr6HicxwF6EWJelDJehk1Ns9vjtPVdaegw4PzkgdxIBI8feOa4S4SwFKU6NToXkaXl D7tpQHAOEc9Zdz2aI6JQY5lRGy+Q5khpwyHlW4BZL70U+84SIhmWD3+HgPpCU/1NsJ+WH8 Em0KjKUDJp9A0mDC6EyEgdtYJmcHG0AjOO0DS9HxXcNuehs2xPD1tqmqHW7qpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791568; 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=OqKWm/OOtTshZMlL+6wu4QpLko663KDbVK8W6blQiGI=; b=vZmolHvFUBCiJRweVkjC2o8dC4+16JoQzaATWaKUYxHZkFa6R+ylj83WZq+5qGYVccbiiS 87DzaHN+jhmfurYI5VFUm8v2Z4MMmn/c1yekpnh2FGFrKFBvYz1kqK7skhjIxfXm75YM8J O+yV4SC1nkWO7Wl5Ipw9CDtGmUZz1PnRavVbRB0scJw1FTKPxTllzedq9UATZ6XsbuCoWG 2J2imJtKdzhSAQP8G/MIkfMhMFpPCZia4aXljQzWk23x726l8+Z1YO5RbSL/EPtpWifDMJ 031xFci0Zrq0ZJpBTq27AlApKmJINPFxTLKvmheemmR1KMveZYMD5Zl07St+Og== 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 4Zm0ym1cTfz1Mts; Sun, 27 Apr 2025 22:06:08 +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 53RM68Cd014438; Sun, 27 Apr 2025 22:06:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RM680T014435; Sun, 27 Apr 2025 22:06:08 GMT (envelope-from git) Date: Sun, 27 Apr 2025 22:06:08 GMT Message-Id: <202504272206.53RM680T014435@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 45e161020c2d - stable/14 - bnxt_en: Add 5760X (Thor2) PCI IDs support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 45e161020c2da04edeeeebc72598af839e41d609 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=45e161020c2da04edeeeebc72598af839e41d609 commit 45e161020c2da04edeeeebc72598af839e41d609 Author: Sreekanth Reddy AuthorDate: 2025-04-09 06:01:31 +0000 Commit: Warner Losh CommitDate: 2025-04-27 22:02:58 +0000 bnxt_en: Add 5760X (Thor2) PCI IDs support Add Thor2 PCI IDs. Reviewed-by: Warner Losh Reviewed-by: Sumit Saxena MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49725 (cherry picked from commit 26bd37da01cff2b2024f3f63b9ca318bf3a01669) --- sys/dev/bnxt/bnxt_en/bnxt.h | 12 +++++ sys/dev/bnxt/bnxt_en/bnxt_hwrm.c | 32 +++++++----- sys/dev/bnxt/bnxt_en/bnxt_sysctl.c | 6 +-- sys/dev/bnxt/bnxt_en/bnxt_ulp.c | 2 +- sys/dev/bnxt/bnxt_en/if_bnxt.c | 101 ++++++++++++++++++++++--------------- 5 files changed, 93 insertions(+), 60 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index b0c3a8913622..815fe68233c6 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -88,6 +88,10 @@ #define BCM57504 0x1751 #define BCM57504_NPAR 0x1801 #define BCM57502 0x1752 +#define BCM57608 0x1760 +#define BCM57604 0x1761 +#define BCM57602 0x1762 +#define BCM57601 0x1763 #define NETXTREME_C_VF1 0x16cb #define NETXTREME_C_VF2 0x16e1 #define NETXTREME_C_VF3 0x16e5 @@ -225,6 +229,13 @@ /* Chip class phase 5 */ #define BNXT_CHIP_P5(sc) ((sc->flags & BNXT_FLAG_CHIP_P5)) +/* Chip class phase 7 */ +#define BNXT_CHIP_P7(sc) ((sc->flags & BNXT_FLAG_CHIP_P7)) + +/* Chip class phase 5 plus */ +#define BNXT_CHIP_P5_PLUS(sc) \ + (BNXT_CHIP_P5(sc) || BNXT_CHIP_P7(sc)) + #define DB_PF_OFFSET_P5 0x10000 #define DB_VF_OFFSET_P5 0x4000 #define NQ_VALID(cmp, v_bit) \ @@ -1002,6 +1013,7 @@ struct bnxt_softc { #define BNXT_FLAG_ROCEV1_CAP 0x0400 #define BNXT_FLAG_ROCEV2_CAP 0x0800 #define BNXT_FLAG_ROCE_CAP (BNXT_FLAG_ROCEV1_CAP | BNXT_FLAG_ROCEV2_CAP) +#define BNXT_FLAG_CHIP_P7 0x1000 uint32_t flags; #define BNXT_STATE_LINK_CHANGE (0) #define BNXT_STATE_MAX (BNXT_STATE_LINK_CHANGE + 1) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c index 9252964900ff..b8336eda229e 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c @@ -691,7 +691,7 @@ int bnxt_hwrm_func_resc_qcaps(struct bnxt_softc *softc, bool all) hw_resc->min_stat_ctxs = le16toh(resp->min_stat_ctx); hw_resc->max_stat_ctxs = le16toh(resp->max_stat_ctx); - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { hw_resc->max_nqs = le16toh(resp->max_msix); hw_resc->max_hw_ring_grps = hw_resc->max_rx_rings; } @@ -1087,7 +1087,7 @@ bnxt_hwrm_func_qcaps(struct bnxt_softc *softc) softc->flags |= BNXT_FLAG_FW_CAP_EXT_STATS; /* Enable RoCE only on Thor devices */ - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { if (flags & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_ROCE_V1_SUPPORTED) softc->flags |= BNXT_FLAG_ROCEV1_CAP; if (flags & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_ROCE_V2_SUPPORTED) @@ -1244,9 +1244,10 @@ bnxt_hwrm_func_qcfg(struct bnxt_softc *softc) if (BNXT_CHIP_P5(softc)) { if (BNXT_PF(softc)) - min_db_offset = DB_PF_OFFSET_P5; + min_db_offset = DB_PF_OFFSET_P5; else min_db_offset = DB_VF_OFFSET_P5; + softc->legacy_db_size = min_db_offset; } softc->db_size = roundup2(le16_to_cpu(resp->l2_doorbell_bar_size_kb) * @@ -1420,7 +1421,7 @@ bnxt_hwrm_vnic_set_hds(struct bnxt_softc *softc, struct bnxt_vnic_info *vnic) { struct hwrm_vnic_plcmodes_cfg_input req = {0}; - if (!BNXT_CHIP_P5(softc)) + if (!BNXT_CHIP_P5_PLUS(softc)) return 0; bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_VNIC_PLCMODES_CFG); @@ -1444,7 +1445,7 @@ bnxt_hwrm_vnic_cfg(struct bnxt_softc *softc, struct bnxt_vnic_info *vnic) req.flags |= htole32(HWRM_VNIC_CFG_INPUT_FLAGS_BD_STALL_MODE); if (vnic->flags & BNXT_VNIC_FLAG_VLAN_STRIP) req.flags |= htole32(HWRM_VNIC_CFG_INPUT_FLAGS_VLAN_STRIP_MODE); - if (BNXT_CHIP_P5 (softc)) { + if (BNXT_CHIP_P5_PLUS (softc)) { req.default_rx_ring_id = htole16(softc->rx_rings[0].phys_id); req.default_cmpl_ring_id = @@ -1584,7 +1585,7 @@ bnxt_hwrm_ring_grp_alloc(struct bnxt_softc *softc, struct bnxt_grp_info *grp) return EDOOFUS; } - if (BNXT_CHIP_P5 (softc)) + if (BNXT_CHIP_P5_PLUS (softc)) return 0; resp = (void *)softc->hwrm_cmd_resp.idi_vaddr; @@ -1615,7 +1616,7 @@ bnxt_hwrm_ring_grp_free(struct bnxt_softc *softc, struct bnxt_grp_info *grp) if (grp->grp_id == (uint16_t)HWRM_NA_SIGNATURE) return 0; - if (BNXT_CHIP_P5 (softc)) + if (BNXT_CHIP_P5_PLUS (softc)) return 0; bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_RING_GRP_FREE); @@ -1705,7 +1706,7 @@ bnxt_hwrm_ring_alloc(struct bnxt_softc *softc, uint8_t type, HWRM_RING_ALLOC_INPUT_ENABLES_STAT_CTX_ID_VALID); break; case HWRM_RING_ALLOC_INPUT_RING_TYPE_RX: - if (!BNXT_CHIP_P5(softc)) + if (!BNXT_CHIP_P5_PLUS(softc)) break; cp_ring = &softc->rx_cp_rings[idx]; @@ -1717,7 +1718,7 @@ bnxt_hwrm_ring_alloc(struct bnxt_softc *softc, uint8_t type, HWRM_RING_ALLOC_INPUT_ENABLES_STAT_CTX_ID_VALID); break; case HWRM_RING_ALLOC_INPUT_RING_TYPE_RX_AGG: - if (!BNXT_CHIP_P5(softc)) { + if (!BNXT_CHIP_P5_PLUS(softc)) { req.ring_type = HWRM_RING_ALLOC_INPUT_RING_TYPE_RX; break; } @@ -1733,7 +1734,7 @@ bnxt_hwrm_ring_alloc(struct bnxt_softc *softc, uint8_t type, HWRM_RING_ALLOC_INPUT_ENABLES_STAT_CTX_ID_VALID); break; case HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL: - if (!BNXT_CHIP_P5(softc)) { + if (!BNXT_CHIP_P5_PLUS(softc)) { req.int_mode = HWRM_RING_ALLOC_INPUT_INT_MODE_MSIX; break; } @@ -1807,7 +1808,7 @@ bnxt_hwrm_stat_ctx_alloc(struct bnxt_softc *softc, struct bnxt_cp_ring *cpr, req.update_period_ms = htole32(1000); req.stats_dma_addr = htole64(paddr); - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) req.stats_dma_length = htole16(sizeof(struct ctx_hw_stats_ext) - 8); else req.stats_dma_length = htole16(sizeof(struct ctx_hw_stats)); @@ -1919,7 +1920,7 @@ bnxt_hwrm_port_qstats_ext(struct bnxt_softc *softc) if (!rc) { softc->fw_rx_stats_ext_size = le16toh(resp->rx_stat_size) / 8; - if (BNXT_FW_MAJ(softc) < 220 && + if (BNXT_FW_MAJ(softc) < 220 && !BNXT_CHIP_P7(softc) && softc->fw_rx_stats_ext_size > BNXT_RX_STATS_EXT_NUM_LEGACY) softc->fw_rx_stats_ext_size = BNXT_RX_STATS_EXT_NUM_LEGACY; @@ -2123,12 +2124,15 @@ bnxt_hwrm_rss_cfg(struct bnxt_softc *softc, struct bnxt_vnic_info *vnic, bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_VNIC_RSS_CFG); + if (BNXT_CHIP_P7(softc)) + req.flags |= HWRM_VNIC_RSS_CFG_INPUT_FLAGS_IPSEC_HASH_TYPE_CFG_SUPPORT; + req.hash_type = htole32(hash_type); req.ring_grp_tbl_addr = htole64(vnic->rss_grp_tbl.idi_paddr); req.hash_key_tbl_addr = htole64(vnic->rss_hash_key_tbl.idi_paddr); req.rss_ctx_idx = htole16(vnic->rss_id); req.hash_mode_flags = HWRM_FUNC_SPD_CFG_INPUT_HASH_MODE_FLAGS_DEFAULT; - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { req.vnic_id = htole16(vnic->id); req.ring_table_pair_index = 0x0; } @@ -2175,7 +2179,7 @@ bnxt_cfg_async_cr(struct bnxt_softc *softc) req.fid = htole16(0xffff); req.enables = htole32(HWRM_FUNC_CFG_INPUT_ENABLES_ASYNC_EVENT_CR); - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) req.async_event_cr = htole16(softc->nq_rings[0].ring.phys_id); else req.async_event_cr = htole16(softc->def_cp_ring.ring.phys_id); diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c index 5a2e3f656278..561cfc34ab9c 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c @@ -554,7 +554,7 @@ bnxt_create_port_stats_sysctls(struct bnxt_softc *softc) "rx_stat_err", CTLFLAG_RD, &softc->rx_port_stats->rx_stat_err, "Received stat err"); - if (BNXT_CHIP_P5(softc) && + if (BNXT_CHIP_P5_PLUS(softc) && (softc->flags & BNXT_FLAG_FW_CAP_EXT_STATS)) { SYSCTL_ADD_QUAD(&softc->hw_stats, SYSCTL_CHILDREN(oid), OID_AUTO, "tx_bytes_cos0", CTLFLAG_RD, @@ -1003,7 +1003,7 @@ bnxt_create_rx_sysctls(struct bnxt_softc *softc, int rxr) if (!oid) return ENOMEM; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) SYSCTL_ADD_QUAD(&softc->hw_stats, SYSCTL_CHILDREN(oid), OID_AUTO, "nq_num_ints", CTLFLAG_RD, &softc->nq_rings[rxr].int_count, "Num Interrupts"); @@ -1590,7 +1590,7 @@ bnxt_reset_ctrl(SYSCTL_HANDLER_ARGS) { if (rc || req->newptr == NULL) return rc; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) simulate_reset(softc, buf); return rc; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_ulp.c b/sys/dev/bnxt/bnxt_en/bnxt_ulp.c index 17ae916052f4..3c1f62cb4da3 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_ulp.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_ulp.c @@ -124,7 +124,7 @@ static void bnxt_fill_msix_vecs(struct bnxt_softc *bp, struct bnxt_msix_entry *e for (i = 0; i < num_msix; i++) { ent[i].vector = bp->irq_tbl[idx + i].vector; ent[i].ring_idx = idx + i; - if (BNXT_CHIP_P5(bp)) + if (BNXT_CHIP_P5_PLUS(bp)) ent[i].db_offset = DB_PF_OFFSET_P5; else ent[i].db_offset = (idx + i) * 0x80; diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 3a2c18b32e10..fe718c14b24f 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -148,6 +148,14 @@ static const pci_vendor_info_t bnxt_vendor_info_array[] = "Broadcom BCM57504 NetXtreme-E Ethernet Partition"), PVID(BROADCOM_VENDOR_ID, BCM57502, "Broadcom BCM57502 NetXtreme-E 10Gb/25Gb/50Gb/100Gb/200Gb Ethernet"), + PVID(BROADCOM_VENDOR_ID, BCM57608, + "Broadcom BCM57608 NetXtreme-E 25Gb/50Gb/100Gb/200Gb/400Gb Ethernet"), + PVID(BROADCOM_VENDOR_ID, BCM57604, + "Broadcom BCM57604 NetXtreme-E 25Gb/50Gb/100Gb/200Gb Ethernet"), + PVID(BROADCOM_VENDOR_ID, BCM57602, + "Broadcom BCM57602 NetXtreme-E 25Gb/50Gb Ethernet"), + PVID(BROADCOM_VENDOR_ID, BCM57601, + "Broadcom BCM57601 NetXtreme-E 25Gb/50Gb Ethernet"), PVID(BROADCOM_VENDOR_ID, NETXTREME_C_VF1, "Broadcom NetXtreme-C Ethernet Virtual Function"), PVID(BROADCOM_VENDOR_ID, NETXTREME_C_VF2, @@ -435,7 +443,7 @@ bnxt_tx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc = iflib_get_softc(ctx); - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { bnxt_nq_alloc(softc, ntxqsets); if (!softc->nq_rings) { device_printf(iflib_get_dev(ctx), @@ -480,28 +488,29 @@ bnxt_tx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->tx_cp_rings[i].ring.idx = i; softc->tx_cp_rings[i].ring.id = (softc->scctx->isc_nrxqsets * 2) + 1 + i; - softc->tx_cp_rings[i].ring.doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5: softc->tx_cp_rings[i].ring.id * 0x80; + softc->tx_cp_rings[i].ring.doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size: softc->tx_cp_rings[i].ring.id * 0x80; softc->tx_cp_rings[i].ring.ring_size = softc->scctx->isc_ntxd[0]; softc->tx_cp_rings[i].ring.vaddr = vaddrs[i * ntxqs]; softc->tx_cp_rings[i].ring.paddr = paddrs[i * ntxqs]; + /* Set up the TX ring */ softc->tx_rings[i].phys_id = (uint16_t)HWRM_NA_SIGNATURE; softc->tx_rings[i].softc = softc; softc->tx_rings[i].idx = i; softc->tx_rings[i].id = (softc->scctx->isc_nrxqsets * 2) + 1 + i; - softc->tx_rings[i].doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5 : softc->tx_rings[i].id * 0x80; + softc->tx_rings[i].doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size : softc->tx_rings[i].id * 0x80; softc->tx_rings[i].ring_size = softc->scctx->isc_ntxd[1]; softc->tx_rings[i].vaddr = vaddrs[i * ntxqs + 1]; softc->tx_rings[i].paddr = paddrs[i * ntxqs + 1]; bnxt_create_tx_sysctls(softc, i); - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { /* Set up the Notification ring (NQ) */ softc->nq_rings[i].stats_ctx_id = HWRM_NA_SIGNATURE; softc->nq_rings[i].ring.phys_id = @@ -509,8 +518,8 @@ bnxt_tx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->nq_rings[i].ring.softc = softc; softc->nq_rings[i].ring.idx = i; softc->nq_rings[i].ring.id = i; - softc->nq_rings[i].ring.doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5 : softc->nq_rings[i].ring.id * 0x80; + softc->nq_rings[i].ring.doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size : softc->nq_rings[i].ring.id * 0x80; softc->nq_rings[i].ring.ring_size = softc->scctx->isc_ntxd[2]; softc->nq_rings[i].ring.vaddr = vaddrs[i * ntxqs + 2]; softc->nq_rings[i].ring.paddr = paddrs[i * ntxqs + 2]; @@ -668,13 +677,14 @@ bnxt_rx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->rx_cp_rings[i].ring.softc = softc; softc->rx_cp_rings[i].ring.idx = i; softc->rx_cp_rings[i].ring.id = i + 1; - softc->rx_cp_rings[i].ring.doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5 : softc->rx_cp_rings[i].ring.id * 0x80; + softc->rx_cp_rings[i].ring.doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size : softc->rx_cp_rings[i].ring.id * 0x80; /* * If this ring overflows, RX stops working. */ softc->rx_cp_rings[i].ring.ring_size = softc->scctx->isc_nrxd[0]; + softc->rx_cp_rings[i].ring.vaddr = vaddrs[i * nrxqs]; softc->rx_cp_rings[i].ring.paddr = paddrs[i * nrxqs]; @@ -683,8 +693,8 @@ bnxt_rx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->rx_rings[i].softc = softc; softc->rx_rings[i].idx = i; softc->rx_rings[i].id = i + 1; - softc->rx_rings[i].doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5 : softc->rx_rings[i].id * 0x80; + softc->rx_rings[i].doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size : softc->rx_rings[i].id * 0x80; softc->rx_rings[i].ring_size = softc->scctx->isc_nrxd[1]; softc->rx_rings[i].vaddr = vaddrs[i * nrxqs + 1]; softc->rx_rings[i].paddr = paddrs[i * nrxqs + 1]; @@ -704,8 +714,8 @@ bnxt_rx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->ag_rings[i].softc = softc; softc->ag_rings[i].idx = i; softc->ag_rings[i].id = nrxqsets + i + 1; - softc->ag_rings[i].doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5 : softc->ag_rings[i].id * 0x80; + softc->ag_rings[i].doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size : softc->ag_rings[i].id * 0x80; softc->ag_rings[i].ring_size = softc->scctx->isc_nrxd[2]; softc->ag_rings[i].vaddr = vaddrs[i * nrxqs + 2]; softc->ag_rings[i].paddr = paddrs[i * nrxqs + 2]; @@ -1090,7 +1100,7 @@ static int bnxt_alloc_ctx_mem(struct bnxt_softc *softc) u8 pg_lvl = 1; int i, rc; - if (!BNXT_CHIP_P5(softc)) + if (!BNXT_CHIP_P5_PLUS(softc)) return 0; rc = bnxt_hwrm_func_backing_store_qcaps(softc); @@ -1481,7 +1491,7 @@ static void bnxt_fw_reset_close(struct bnxt_softc *bp) bnxt_hwrm_func_drv_unrgtr(bp, false); for (i = bp->nrxqsets-1; i>=0; i--) { - if (BNXT_CHIP_P5(bp)) + if (BNXT_CHIP_P5_PLUS(bp)) iflib_irq_free(bp->ctx, &bp->nq_rings[i].irq); else iflib_irq_free(bp->ctx, &bp->rx_cp_rings[i].irq); @@ -1832,7 +1842,7 @@ static int bnxt_open(struct bnxt_softc *bp) bp->flags |= BNXT_FLAG_FW_CAP_NEW_RM; } - if (BNXT_CHIP_P5(bp)) + if (BNXT_CHIP_P5_PLUS(bp)) bnxt_hwrm_reserve_pf_rings(bp); /* Get the current configuration of this function */ rc = bnxt_hwrm_func_qcfg(bp); @@ -2175,16 +2185,22 @@ bnxt_attach_pre(if_ctx_t ctx) if ((softc->ver_info->chip_num == BCM57508) || (softc->ver_info->chip_num == BCM57504) || (softc->ver_info->chip_num == BCM57504_NPAR) || - (softc->ver_info->chip_num == BCM57502)) + (softc->ver_info->chip_num == BCM57502) || + (softc->ver_info->chip_num == BCM57601) || + (softc->ver_info->chip_num == BCM57602) || + (softc->ver_info->chip_num == BCM57604)) softc->flags |= BNXT_FLAG_CHIP_P5; + if (softc->ver_info->chip_num == BCM57608) + softc->flags |= BNXT_FLAG_CHIP_P7; + softc->flags |= BNXT_FLAG_TPA; - if (BNXT_CHIP_P5(softc) && (!softc->ver_info->chip_rev) && + if (BNXT_CHIP_P5_PLUS(softc) && (!softc->ver_info->chip_rev) && (!softc->ver_info->chip_metal)) softc->flags &= ~BNXT_FLAG_TPA; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->flags &= ~BNXT_FLAG_TPA; /* Get NVRAM info */ @@ -2303,7 +2319,7 @@ bnxt_attach_pre(if_ctx_t ctx) /* Get the queue config */ bnxt_get_wol_settings(softc); - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) bnxt_hwrm_reserve_pf_rings(softc); rc = bnxt_hwrm_func_qcfg(softc); if (rc) { @@ -2376,8 +2392,8 @@ bnxt_attach_pre(if_ctx_t ctx) softc->def_cp_ring.ring.phys_id = (uint16_t)HWRM_NA_SIGNATURE; softc->def_cp_ring.ring.softc = softc; softc->def_cp_ring.ring.id = 0; - softc->def_cp_ring.ring.doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5 : softc->def_cp_ring.ring.id * 0x80; + softc->def_cp_ring.ring.doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size : softc->def_cp_ring.ring.id * 0x80; softc->def_cp_ring.ring.ring_size = PAGE_SIZE / sizeof(struct cmpl_base); rc = iflib_dma_alloc(ctx, @@ -2514,7 +2530,7 @@ bnxt_detach(if_ctx_t ctx) iflib_irq_free(ctx, &softc->def_cp_ring.irq); /* We need to free() these here... */ for (i = softc->nrxqsets-1; i>=0; i--) { - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) iflib_irq_free(ctx, &softc->nq_rings[i].irq); else iflib_irq_free(ctx, &softc->rx_cp_rings[i].irq); @@ -2620,7 +2636,7 @@ bnxt_hwrm_resource_free(struct bnxt_softc *softc) if (rc) goto fail; - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { rc = bnxt_hwrm_ring_free(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_NQ, &softc->nq_rings[i].ring, @@ -2643,7 +2659,7 @@ static void bnxt_func_reset(struct bnxt_softc *softc) { - if (!BNXT_CHIP_P5(softc)) { + if (!BNXT_CHIP_P5_PLUS(softc)) { bnxt_hwrm_func_reset(softc); return; } @@ -2659,7 +2675,7 @@ bnxt_rss_grp_tbl_init(struct bnxt_softc *softc) int i, j; for (i = 0, j = 0; i < HW_HASH_INDEX_SIZE; i++) { - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { rgt[i++] = htole16(softc->rx_rings[j].phys_id); rgt[i] = htole16(softc->rx_cp_rings[j].ring.phys_id); } else { @@ -2777,7 +2793,7 @@ bnxt_init(if_ctx_t ctx) int i; int rc; - if (!BNXT_CHIP_P5(softc)) { + if (!BNXT_CHIP_P5_PLUS(softc)) { rc = bnxt_hwrm_func_reset(softc); if (rc) return; @@ -2788,7 +2804,7 @@ bnxt_init(if_ctx_t ctx) softc->is_dev_init = true; bnxt_clear_ids(softc); - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) goto skip_def_cp_ring; /* Allocate the default completion ring */ softc->def_cp_ring.cons = UINT32_MAX; @@ -3243,11 +3259,11 @@ bnxt_update_admin_status(if_ctx_t ctx) bnxt_hwrm_port_qstats(softc); - if (BNXT_CHIP_P5(softc) && + if (BNXT_CHIP_P5_PLUS(softc) && (softc->flags & BNXT_FLAG_FW_CAP_EXT_STATS)) bnxt_hwrm_port_qstats_ext(softc); - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { struct ifmediareq ifmr; if (bit_test(softc->state_bv, BNXT_STATE_LINK_CHANGE)) { @@ -3280,10 +3296,11 @@ bnxt_do_enable_intr(struct bnxt_cp_ring *cpr) { struct bnxt_softc *softc = cpr->ring.softc; + if (cpr->ring.phys_id == (uint16_t)HWRM_NA_SIGNATURE) return; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_nq(cpr, 1); else softc->db_ops.bnxt_db_rx_cq(cpr, 1); @@ -3297,7 +3314,7 @@ bnxt_do_disable_intr(struct bnxt_cp_ring *cpr) if (cpr->ring.phys_id == (uint16_t)HWRM_NA_SIGNATURE) return; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_nq(cpr, 0); else softc->db_ops.bnxt_db_rx_cq(cpr, 0); @@ -3312,7 +3329,7 @@ bnxt_intr_enable(if_ctx_t ctx) bnxt_do_enable_intr(&softc->def_cp_ring); for (i = 0; i < softc->nrxqsets; i++) - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_nq(&softc->nq_rings[i], 1); else softc->db_ops.bnxt_db_rx_cq(&softc->rx_cp_rings[i], 1); @@ -3326,7 +3343,7 @@ bnxt_tx_queue_intr_enable(if_ctx_t ctx, uint16_t qid) { struct bnxt_softc *softc = iflib_get_softc(ctx); - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_nq(&softc->nq_rings[qid], 1); else softc->db_ops.bnxt_db_rx_cq(&softc->tx_cp_rings[qid], 1); @@ -3395,7 +3412,7 @@ bnxt_rx_queue_intr_enable(if_ctx_t ctx, uint16_t qid) { struct bnxt_softc *softc = iflib_get_softc(ctx); - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { process_nq(softc, qid); softc->db_ops.bnxt_db_nq(&softc->nq_rings[qid], 1); } @@ -3415,7 +3432,7 @@ bnxt_disable_intr(if_ctx_t ctx) * update the index */ for (i = 0; i < softc->nrxqsets; i++) - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_nq(&softc->nq_rings[i], 0); else softc->db_ops.bnxt_db_rx_cq(&softc->rx_cp_rings[i], 0); @@ -3435,7 +3452,7 @@ bnxt_msix_intr_assign(if_ctx_t ctx, int msix) int i; char irq_name[16]; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) goto skip_default_cp; rc = iflib_irq_alloc_generic(ctx, &softc->def_cp_ring.irq, @@ -3449,7 +3466,7 @@ bnxt_msix_intr_assign(if_ctx_t ctx, int msix) skip_default_cp: for (i=0; iscctx->isc_nrxqsets; i++) { - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { irq = &softc->nq_rings[i].irq; id = softc->nq_rings[i].ring.id; ring = &softc->nq_rings[i]; @@ -3896,7 +3913,7 @@ bnxt_i2c_req(if_ctx_t ctx, struct ifi2creq *i2c) return -EOPNOTSUPP; /* This feature is not supported in older firmware versions */ - if (!BNXT_CHIP_P5(softc) || + if (!BNXT_CHIP_P5_PLUS(softc) || (softc->hwrm_spec_code < 0x10202)) return -EOPNOTSUPP; @@ -4335,7 +4352,7 @@ bnxt_handle_isr(void *arg) cpr->int_count++; /* Disable further interrupts for this queue */ - if (!BNXT_CHIP_P5(softc)) + if (!BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_rx_cq(cpr, 0); return FILTER_SCHEDULE_THREAD; @@ -4494,7 +4511,7 @@ bnxt_handle_async_event(struct bnxt_softc *softc, struct cmpl_base *cmpl) case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_STATUS_CHANGE: case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CHANGE: case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE: - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) bit_set(softc->state_bv, BNXT_STATE_LINK_CHANGE); else bnxt_media_status(softc->ctx, &ifmr); From nobody Sun Apr 27 22:06:09 2025 X-Original-To: dev-commits-src-branches@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 4Zm0yn45zRz5vPLf; Sun, 27 Apr 2025 22:06:09 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm0yn3F5Jz3YbS; Sun, 27 Apr 2025 22:06:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791569; 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=M7Gv40Gg6Kb7ggj2kZXf2Eycjp5FYwzE2dyZPPDT3Rk=; b=XNjjCI7WOmDJ3alzXg8m1PP7FC9IHQb12dx0069ZeDDw3pbZvkBbSJphmi2c+xCCVrdJP3 d29rF8A27vjcL9nli1Hld7X01w9N2Ac+Qgj8nP7pTSpEiKCPKXuz2FP29I0r8DBEb8SgZa CnnUbMNH/J9ersUf1h90JaGM/E/O5ODIDQGBbNvQ588y2+CjP6myXNZ28NlvhCsiyLk4XE vjGxtuqekMEKIGySZfg70soEackEUrxwqZttuUgTd1bE1NbkE4yinicgaYAvC2ioaS40ty VitZBuK9JMQ2mhygSBkttqu4dNrsdpt9m1rdGI2tVn0drU3+wzLAZMAe5r3iBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745791569; a=rsa-sha256; cv=none; b=pWXQE/owk1GxTABCpsLEFX5bMmA59g4V23MWuLJXpTxe+y+tiYel2Z5YhTLSqlVKsucgCI vskAkyWxl9mj6ZkENspqUeXr6YWW69ghEllXZgCbzAYla1AnexNYneL4QbruVYzr8l+6vG hE6c8y18NDzAU/DXq1moZ19L7iXx10lQYSVHFaN1TUCBgxYzHcjJCRykOB01vuW+3EZw87 rwmCtk34gevAM4FMSl2ulUNUiSZ183imG8f2OY6Lhzyb0su49T/HEoQea0xsAUv/b+RUML W5wMNoDil9oV8/yRvJWWlgtFEbVhccd6/dC76+5FeUjpeU3fT+PRZp1upGthpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791569; 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=M7Gv40Gg6Kb7ggj2kZXf2Eycjp5FYwzE2dyZPPDT3Rk=; b=TCMt7Nv/jZRggoxX5ofUSLiukbI0zfUtnKcAUKavx9snpytA8MoCaOxh98yTgF5GvfMV6e eRKxrBLG1Wf8eP60DYHhsHiYkos0tOXc4CqRCMK8yCKfDtcD38JotyhcIGKsdCD+l1cSK/ cZOUkoxWD+FeOhw41pwmdvQeX+4QMYqqUn3ANbqCaWaWmAf2ypp8QQNQZGR4et8O3GT120 BcuqbZQsdLH69xIEmQLNoGwsCiVqRnPpMZN1xUQVZ4r5lq4lOC76ejUnCGxoIIsFaovdSa jfizg4xKQ55G+idphouU8V3Z+j7zpTFkuKwR3zKRTxm78lZyK8m2VaJRGMSVqg== 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 4Zm0yn2qwHz1Mcv; Sun, 27 Apr 2025 22:06:09 +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 53RM698T014470; Sun, 27 Apr 2025 22:06:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RM69QO014467; Sun, 27 Apr 2025 22:06:09 GMT (envelope-from git) Date: Sun, 27 Apr 2025 22:06:09 GMT Message-Id: <202504272206.53RM69QO014467@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: e2692e8aa2a9 - stable/14 - bnxt_en: Update HSI header List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e2692e8aa2a921c0d76af0b8b8757ce95572a140 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e2692e8aa2a921c0d76af0b8b8757ce95572a140 commit e2692e8aa2a921c0d76af0b8b8757ce95572a140 Author: Sreekanth Reddy AuthorDate: 2025-04-02 11:26:27 +0000 Commit: Warner Losh CommitDate: 2025-04-27 22:02:58 +0000 bnxt_en: Update HSI header Update HSI header to support Thor2 controllers. MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49726 (cherry picked from commit bb90baed6c275495b03adc5569346a59fce2a3c8) --- sys/dev/bnxt/bnxt_en/bnxt.h | 6 +- sys/dev/bnxt/bnxt_en/hsi_struct_def.h | 3139 ++++++++++++++++++++++++++------- 2 files changed, 2529 insertions(+), 616 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index 815fe68233c6..20d0fd2c81c0 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -781,16 +781,16 @@ struct bnxt_ctx_mem_type { #define BNXT_CTX_RQDBS HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_RQ_DB_SHADOW #define BNXT_CTX_SRQDBS HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_SRQ_DB_SHADOW #define BNXT_CTX_CQDBS HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CQ_DB_SHADOW -#define BNXT_CTX_QTKC HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_QUIC_TKC -#define BNXT_CTX_QRKC HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_QUIC_RKC #define BNXT_CTX_MAX (BNXT_CTX_TIM + 1) +#define BNXT_CTX_V2_MAX (HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_ROCE_HWRM_TRACE + 1) + struct bnxt_ctx_mem_info { u8 tqm_fp_rings_count; u32 flags; #define BNXT_CTX_FLAG_INITED 0x01 - struct bnxt_ctx_mem_type ctx_arr[BNXT_CTX_MAX]; + struct bnxt_ctx_mem_type ctx_arr[BNXT_CTX_V2_MAX]; }; struct bnxt_hw_resc { diff --git a/sys/dev/bnxt/bnxt_en/hsi_struct_def.h b/sys/dev/bnxt/bnxt_en/hsi_struct_def.h index baecfc8f659c..5914c70ce671 100644 --- a/sys/dev/bnxt/bnxt_en/hsi_struct_def.h +++ b/sys/dev/bnxt/bnxt_en/hsi_struct_def.h @@ -1,7 +1,7 @@ /*- * BSD LICENSE * - * Copyright (c) 2024 Broadcom, All Rights Reserved. + * Copyright (c) 2025 Broadcom, All Rights Reserved. * The term Broadcom refers to Broadcom Limited and/or its subsidiaries * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ __FBSDID("$FreeBSD$"); /* - * Copyright(c) 2001-2024, Broadcom. All rights reserved. The + * Copyright(c) 2001-2025, Broadcom. All rights reserved. The * term Broadcom refers to Broadcom Inc. and/or its subsidiaries. * Proprietary and Confidential Information. * @@ -80,7 +80,7 @@ typedef struct hwrm_cmd_hdr { * physical address (HPA) or a guest physical address (GPA) and must * point to a physically contiguous block of memory. */ - uint64_t resp_addr; + uint64_t resp_addr; } hwrm_cmd_hdr_t, *phwrm_cmd_hdr_t; /* This is the HWRM response header. */ @@ -596,7 +596,10 @@ typedef struct hwrm_short_input { ((x) == 0x1b1 ? "HWRM_FUNC_LAG_UPDATE": \ ((x) == 0x1b2 ? "HWRM_FUNC_LAG_FREE": \ ((x) == 0x1b3 ? "HWRM_FUNC_LAG_QCFG": \ - "Unknown decode" )))))))))))))))))))))))))))))))))))) : \ + ((x) == 0x1c2 ? "HWRM_FUNC_TIMEDTX_PACING_RATE_ADD": \ + ((x) == 0x1c3 ? "HWRM_FUNC_TIMEDTX_PACING_RATE_DELETE": \ + ((x) == 0x1c4 ? "HWRM_FUNC_TIMEDTX_PACING_RATE_QUERY": \ + "Unknown decode" ))))))))))))))))))))))))))))))))))))))) : \ (((x) < 0x280) ? \ ((x) == 0x200 ? "HWRM_SELFTEST_QLIST": \ ((x) == 0x201 ? "HWRM_SELFTEST_EXEC": \ @@ -625,6 +628,8 @@ typedef struct hwrm_short_input { ((x) == 0x218 ? "HWRM_STAT_GENERIC_QSTATS": \ ((x) == 0x219 ? "HWRM_MFG_PRVSN_EXPORT_CERT": \ ((x) == 0x21a ? "HWRM_STAT_DB_ERROR_QSTATS": \ + ((x) == 0x230 ? "HWRM_PORT_POE_CFG": \ + ((x) == 0x231 ? "HWRM_PORT_POE_QCFG": \ ((x) == 0x258 ? "HWRM_UDCC_QCAPS": \ ((x) == 0x259 ? "HWRM_UDCC_CFG": \ ((x) == 0x25a ? "HWRM_UDCC_QCFG": \ @@ -634,7 +639,10 @@ typedef struct hwrm_short_input { ((x) == 0x25e ? "HWRM_UDCC_COMP_CFG": \ ((x) == 0x25f ? "HWRM_UDCC_COMP_QCFG": \ ((x) == 0x260 ? "HWRM_UDCC_COMP_QUERY": \ - "Unknown decode" )))))))))))))))))))))))))))))))))))) : \ + ((x) == 0x261 ? "HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS": \ + ((x) == 0x262 ? "HWRM_QUEUE_PFCWD_TIMEOUT_CFG": \ + ((x) == 0x263 ? "HWRM_QUEUE_PFCWD_TIMEOUT_QCFG": \ + "Unknown decode" ))))))))))))))))))))))))))))))))))))))))) : \ (((x) < 0x300) ? \ ((x) == 0x2bc ? "HWRM_TF": \ ((x) == 0x2bd ? "HWRM_TF_VERSION_GET": \ @@ -701,14 +709,12 @@ typedef struct hwrm_short_input { ((x) == 0x399 ? "HWRM_TFC_IF_TBL_GET": \ ((x) == 0x39a ? "HWRM_TFC_TBL_SCOPE_CONFIG_GET": \ ((x) == 0x39b ? "HWRM_TFC_RESC_USAGE_QUERY": \ - ((x) == 0x39c ? "HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS": \ - ((x) == 0x39d ? "HWRM_QUEUE_PFCWD_TIMEOUT_CFG": \ - ((x) == 0x39e ? "HWRM_QUEUE_PFCWD_TIMEOUT_QCFG": \ - "Unknown decode" ))))))))))))))))))))))))))))))) : \ + "Unknown decode" )))))))))))))))))))))))))))) : \ (((x) < 0x480) ? \ ((x) == 0x400 ? "HWRM_SV": \ "Unknown decode" ) : \ (((x) < 0xff80) ? \ + ((x) == 0xff0e ? "HWRM_DBG_SERDES_TEST": \ ((x) == 0xff0f ? "HWRM_DBG_LOG_BUFFER_FLUSH": \ ((x) == 0xff10 ? "HWRM_DBG_READ_DIRECT": \ ((x) == 0xff11 ? "HWRM_DBG_READ_INDIRECT": \ @@ -738,8 +744,11 @@ typedef struct hwrm_short_input { ((x) == 0xff29 ? "HWRM_DBG_USEQ_RUN": \ ((x) == 0xff2a ? "HWRM_DBG_USEQ_DELIVERY_REQ": \ ((x) == 0xff2b ? "HWRM_DBG_USEQ_RESP_HDR": \ - "Unknown decode" ))))))))))))))))))))))))))))) : \ - (((x) <= 0xffff) ? \ + ((x) == 0xff2c ? "HWRM_DBG_COREDUMP_CAPTURE": \ + ((x) == 0xff2d ? "HWRM_DBG_PTRACE": \ + ((x) == 0xff2e ? "HWRM_DBG_SIM_CABLE_STATE": \ + "Unknown decode" ))))))))))))))))))))))))))))))))) : \ + (((x) <= UINT16_MAX) ? \ ((x) == 0xffea ? "HWRM_NVM_GET_VPD_FIELD_INFO": \ ((x) == 0xffeb ? "HWRM_NVM_SET_VPD_FIELD_INFO": \ ((x) == 0xffec ? "HWRM_NVM_DEFRAG": \ @@ -1248,13 +1257,25 @@ typedef struct cmd_nums { #define HWRM_FUNC_LAG_FREE UINT32_C(0x1b2) /* The command is used to query a link aggr group. */ #define HWRM_FUNC_LAG_QCFG UINT32_C(0x1b3) + /* This command is use to add TimeTX packet pacing rate. */ + #define HWRM_FUNC_TIMEDTX_PACING_RATE_ADD UINT32_C(0x1c2) + /* + * This command is use to delete TimeTX packet pacing rate + * from the rate table. + */ + #define HWRM_FUNC_TIMEDTX_PACING_RATE_DELETE UINT32_C(0x1c3) + /* + * This command is used to retrieve all the TimeTX pacing rates + * from the rate table that have been added for the function. + */ + #define HWRM_FUNC_TIMEDTX_PACING_RATE_QUERY UINT32_C(0x1c4) /* Experimental */ #define HWRM_SELFTEST_QLIST UINT32_C(0x200) /* Experimental */ #define HWRM_SELFTEST_EXEC UINT32_C(0x201) /* Experimental */ #define HWRM_SELFTEST_IRQ UINT32_C(0x202) - /* Experimental */ + /* Experimental (deprecated) */ #define HWRM_SELFTEST_RETRIEVE_SERDES_DATA UINT32_C(0x203) /* Experimental */ #define HWRM_PCIE_QSTATS UINT32_C(0x204) @@ -1326,6 +1347,16 @@ typedef struct cmd_nums { #define HWRM_MFG_PRVSN_EXPORT_CERT UINT32_C(0x219) /* Query the statistics for doorbell drops due to various error conditions. */ #define HWRM_STAT_DB_ERROR_QSTATS UINT32_C(0x21a) + /* + * The command is used to enable/disable the power on ethernet for + * a particular I/O expander port. + */ + #define HWRM_PORT_POE_CFG UINT32_C(0x230) + /* + * The command is used to query whether the power on ethernet + * is enabled/disabled for a particular I/O expander port. + */ + #define HWRM_PORT_POE_QCFG UINT32_C(0x231) /* * This command returns the capabilities related to User Defined * Congestion Control on a function. @@ -1350,6 +1381,18 @@ typedef struct cmd_nums { #define HWRM_UDCC_COMP_QCFG UINT32_C(0x25f) /* This command queries the status and statistics of the computation unit. */ #define HWRM_UDCC_COMP_QUERY UINT32_C(0x260) + /* + * This command is used to query the pfc watchdog max configurable + * timeout value. + */ + #define HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS UINT32_C(0x261) + /* This command is used to set the PFC watchdog timeout value. */ + #define HWRM_QUEUE_PFCWD_TIMEOUT_CFG UINT32_C(0x262) + /* + * This command is used to query the current configured pfc watchdog + * timeout value. + */ + #define HWRM_QUEUE_PFCWD_TIMEOUT_QCFG UINT32_C(0x263) /* Experimental */ #define HWRM_TF UINT32_C(0x2bc) /* Experimental */ @@ -1472,20 +1515,10 @@ typedef struct cmd_nums { #define HWRM_TFC_TBL_SCOPE_CONFIG_GET UINT32_C(0x39a) /* TruFlow command to query the resource usage state. */ #define HWRM_TFC_RESC_USAGE_QUERY UINT32_C(0x39b) - /* - * This command is used to query the pfc watchdog max configurable - * timeout value. - */ - #define HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS UINT32_C(0x39c) - /* This command is used to set the PFC watchdog timeout value. */ - #define HWRM_QUEUE_PFCWD_TIMEOUT_CFG UINT32_C(0x39d) - /* - * This command is used to query the current configured pfc watchdog - * timeout value. - */ - #define HWRM_QUEUE_PFCWD_TIMEOUT_QCFG UINT32_C(0x39e) /* Experimental */ #define HWRM_SV UINT32_C(0x400) + /* Run a PCIe or Ethernet serdes test and retrieve test data. */ + #define HWRM_DBG_SERDES_TEST UINT32_C(0xff0e) /* Flush any trace buffer data that has not been sent to the host. */ #define HWRM_DBG_LOG_BUFFER_FLUSH UINT32_C(0xff0f) /* Experimental */ @@ -1543,6 +1576,18 @@ typedef struct cmd_nums { #define HWRM_DBG_USEQ_DELIVERY_REQ UINT32_C(0xff2a) /* Experimental */ #define HWRM_DBG_USEQ_RESP_HDR UINT32_C(0xff2b) + /* + * This command is used to request the firmware to store a coredump + * into Host memory previously specified with the + * HWRM_DBG_CRASHDUMP_MEDIUM_CFG API + */ + #define HWRM_DBG_COREDUMP_CAPTURE UINT32_C(0xff2c) + #define HWRM_DBG_PTRACE UINT32_C(0xff2d) + /* + * This command is used to request the firmware to simulate cable insert + * or removal. + */ + #define HWRM_DBG_SIM_CABLE_STATE UINT32_C(0xff2e) #define HWRM_NVM_GET_VPD_FIELD_INFO UINT32_C(0xffea) #define HWRM_NVM_SET_VPD_FIELD_INFO UINT32_C(0xffeb) #define HWRM_NVM_DEFRAG UINT32_C(0xffec) @@ -1719,7 +1764,7 @@ typedef struct ret_codes { (((x) < 0x8080) ? \ ((x) == 0x8000 ? "TLV_ENCAPSULATED_RESPONSE": \ "Unknown decode" ) : \ - (((x) <= 0xffff) ? \ + (((x) <= UINT16_MAX) ? \ ((x) == 0xfffe ? "UNKNOWN_ERR": \ ((x) == 0xffff ? "CMD_NOT_SUPPORTED": \ "Unknown decode" )) : \ @@ -1803,8 +1848,8 @@ typedef struct hwrm_err_output { #define HWRM_VERSION_MINOR 10 #define HWRM_VERSION_UPDATE 3 /* non-zero means beta version */ -#define HWRM_VERSION_RSVD 42 -#define HWRM_VERSION_STR "1.10.3.42" +#define HWRM_VERSION_RSVD 61 +#define HWRM_VERSION_STR "1.10.3.61" /**************** * hwrm_ver_get * @@ -3299,8 +3344,7 @@ typedef struct tx_bd_short { * * This value must be valid on all BDs of a packet. */ - uint32_t addr_lo; - uint32_t addr_hi; + uint64_t addr; } tx_bd_short_t, *ptx_bd_short_t; /* tx_bd_long (size:128b/16B) */ @@ -3801,8 +3845,7 @@ typedef struct tx_bd_long_inline { * This field must be valid on the first BD of a packet. */ uint32_t opaque; - uint32_t unused1_lo; - uint32_t unused1_hi; + uint64_t unused1; /* * All bits in this field must be valid on the first BD of a packet. * Their value on other BDs of the packet is ignored. @@ -4079,8 +4122,7 @@ typedef struct tx_bd_mp_cmd { * Tx mid-path command. */ uint32_t opaque; - uint32_t unused1_lo; - uint32_t unused1_hi; + uint64_t unused1; } tx_bd_mp_cmd_t, *ptx_bd_mp_cmd_t; /* tx_bd_presync_cmd (size:128b/16B) */ @@ -4226,8 +4268,7 @@ typedef struct tx_bd_timedtx { * corresponding packet using SO_TXTIME mode of timed transmit. * This field is applicable only if flags.kind is so_txtime. */ - uint32_t tx_time_lo; - uint32_t tx_time_hi; + uint64_t tx_time; } tx_bd_timedtx_t, *ptx_bd_timedtx_t; /* rx_prod_pkt_bd (size:128b/16B) */ @@ -4344,8 +4385,7 @@ typedef struct rx_prod_bfr_bd { * While this is a Byte resolution value, it is often advantageous * to ensure that the buffers provide start on a host cache line. */ - uint32_t addr_lo; - uint32_t addr_hi; + uint64_t addr; } rx_prod_bfr_bd_t, *prx_prod_bfr_bd_t; /* rx_prod_agg_bd (size:128b/16B) */ @@ -4397,8 +4437,7 @@ typedef struct rx_prod_agg_bd { * While this is a Byte resolution value, it is often advantageous * to ensure that the buffers provide start on a host cache line. */ - uint32_t addr_lo; - uint32_t addr_hi; + uint64_t addr; } rx_prod_agg_bd_t, *prx_prod_agg_bd_t; /* cfa_cmpls_cmp_data_msg (size:128b/16B) */ @@ -9791,8 +9830,28 @@ typedef struct hwrm_async_event_cmpl { * how much of its host buffer has been populated by the firmware. */ #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_DBG_BUF_PRODUCER UINT32_C(0x4c) + /* + * Memory mapping between GPA and HPA has been configured for + * a peer device. Inform driver to pick up the new mapping. + */ + #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PEER_MMAP_CHANGE UINT32_C(0x4d) + /* + * Used to notify representor endpoint in the driver about pair creation + * in the firmware. + */ + #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_REPRESENTOR_PAIR_CHANGE UINT32_C(0x4e) + /* + * VF statistics context change. Informs PF driver that a VF + * statistics context has either been allocated or freed. + */ + #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_VF_STAT_CHANGE UINT32_C(0x4f) + /* + * coredump collection into host DMA address. Informs PF driver that + * the coredump has been captured. + */ + #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_HOST_COREDUMP UINT32_C(0x50) /* Maximum Registrable event id. */ - #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_MAX_RGTR_EVENT_ID UINT32_C(0x4d) + #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_MAX_RGTR_EVENT_ID UINT32_C(0x51) /* * A trace log message. This contains firmware trace logs string * embedded in the asynchronous message. This is an experimental @@ -9869,8 +9928,12 @@ typedef struct hwrm_async_event_cmpl { ((x) == 0x4a ? "CTX_ERROR": \ ((x) == 0x4b ? "UDCC_SESSION_CHANGE": \ ((x) == 0x4c ? "DBG_BUF_PRODUCER": \ - ((x) == 0x4d ? "MAX_RGTR_EVENT_ID": \ - "Unknown decode" )))))))))))))))))))))))))))))))))))))))))))))) : \ + ((x) == 0x4d ? "PEER_MMAP_CHANGE": \ + ((x) == 0x4e ? "REPRESENTOR_PAIR_CHANGE": \ + ((x) == 0x4f ? "VF_STAT_CHANGE": \ + ((x) == 0x50 ? "HOST_COREDUMP": \ + ((x) == 0x51 ? "MAX_RGTR_EVENT_ID": \ + "Unknown decode" )))))))))))))))))))))))))))))))))))))))))))))))))) : \ (((x) < 0x100) ? \ ((x) == 0xfe ? "FW_TRACE_MSG": \ ((x) == 0xff ? "HWRM_ERROR": \ @@ -10307,6 +10370,30 @@ typedef struct hwrm_async_event_cmpl_port_phy_cfg_change { #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_ID_LAST HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_ID_PORT_PHY_CFG_CHANGE /* Event specific data */ uint32_t event_data2; + /* + * This value indicates the current status of the optics module on + * this port. the same information can be found in the module_status + * field of the HWRM_PORT_PHY_QCFG response + */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_MASK UINT32_C(0xff) + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_SFT 0 + /* Module is inserted and accepted */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_NONE UINT32_C(0x0) + /* Module is rejected and transmit side Laser is disabled. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_DISABLETX UINT32_C(0x1) + /* Module mismatch warning. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_MISMATCH UINT32_C(0x2) + /* Module is rejected and powered down. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_PWRDOWN UINT32_C(0x3) + /* Module is not inserted. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_NOTINSERTED UINT32_C(0x4) + /* Module is powered down because of over current fault. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_CURRENTFAULT UINT32_C(0x5) + /* Module is overheated. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_OVERHEATED UINT32_C(0x6) + /* Module status is not applicable. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_NOTAPPLICABLE UINT32_C(0xff) + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_LAST HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_NOTAPPLICABLE uint8_t opaque_v; /* * This value is written by the NIC such that it will be different @@ -12244,6 +12331,72 @@ typedef struct hwrm_async_event_udcc_session_change { #define HWRM_ASYNC_EVENT_UDCC_SESSION_CHANGE_EVENT_DATA1_UDCC_SESSION_ID_SFT 0 } hwrm_async_event_udcc_session_change_t, *phwrm_async_event_udcc_session_change_t; +/* hwrm_async_event_representor_pair_change (size:128b/16B) */ + +typedef struct hwrm_async_event_representor_pair_change { + uint16_t type; + /* + * This field indicates the exact type of the completion. + * By convention, the LSB identifies the length of the + * record in 16B units. Even values indicate 16B + * records. Odd values indicate 32B + * records. + */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_TYPE_MASK UINT32_C(0x3f) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_TYPE_SFT 0 + /* HWRM Asynchronous Event Information */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_TYPE_HWRM_ASYNC_EVENT UINT32_C(0x2e) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_TYPE_LAST HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_TYPE_HWRM_ASYNC_EVENT + /* Identifiers of events. */ + uint16_t event_id; + /* + * This async notification message is used to inform the driver + * that firmware has modified a representor pair. + */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_ID_REPRESENTOR_PAIR_CHANGE UINT32_C(0x4e) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_ID_LAST HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_ID_REPRESENTOR_PAIR_CHANGE + /* Event specific data */ + uint32_t event_data2; + /* Representor pair operation code */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_PAIR_OP_CODE_MASK UINT32_C(0xff) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_PAIR_OP_CODE_SFT 0 + /* pair has been created */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_PAIR_OP_CODE_CREATED UINT32_C(0x0) + /* pair has been deleted */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_PAIR_OP_CODE_DELETED UINT32_C(0x1) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_PAIR_OP_CODE_LAST HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_PAIR_OP_CODE_DELETED + /* DSCP insert operation code */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_DSCP_OP_CODE_MASK UINT32_C(0xff00) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_DSCP_OP_CODE_SFT 8 + /* allow dscp modification */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_DSCP_OP_CODE_MODIFY (UINT32_C(0x0) << 8) + /* skip dscp modification */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_DSCP_OP_CODE_IGNORE (UINT32_C(0x1) << 8) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_DSCP_OP_CODE_LAST HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_DSCP_OP_CODE_IGNORE + uint8_t opaque_v; + /* + * This value is written by the NIC such that it will be different + * for each pass through the completion queue. The even passes + * will write 1. The odd passes will write 0. + */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_V UINT32_C(0x1) + /* opaque is 7 b */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_OPAQUE_MASK UINT32_C(0xfe) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_OPAQUE_SFT 1 + /* 8-lsb timestamp (100-msec resolution) */ + uint8_t timestamp_lo; + /* 16-lsb timestamp (100-msec resolution) */ + uint16_t timestamp_hi; + /* Event specific data */ + uint32_t event_data1; + /* Representor endpoint fid which was modified */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA1_PAIR_EP_FID_MASK UINT32_C(0xffff) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA1_PAIR_EP_FID_SFT 0 + /* Representor uplink fid which was modified */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA1_PAIR_REP_FID_MASK UINT32_C(0xffff0000) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA1_PAIR_REP_FID_SFT 16 +} hwrm_async_event_representor_pair_change_t, *phwrm_async_event_representor_pair_change_t; + /* hwrm_async_event_cmpl_dbg_buf_producer (size:128b/16B) */ typedef struct hwrm_async_event_cmpl_dbg_buf_producer { @@ -12314,9 +12467,62 @@ typedef struct hwrm_async_event_cmpl_dbg_buf_producer { #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_L2_HWRM_TRACE UINT32_C(0x5) /* RoCE HWRM trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_ROCE_HWRM_TRACE UINT32_C(0x6) - #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_LAST HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_ROCE_HWRM_TRACE + /* Context Accelerator CPU 0 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA0_TRACE UINT32_C(0x7) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA1_TRACE UINT32_C(0x8) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA2_TRACE UINT32_C(0x9) + /* RIGP1 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_RIGP1_TRACE UINT32_C(0xa) + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_LAST HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_RIGP1_TRACE } hwrm_async_event_cmpl_dbg_buf_producer_t, *phwrm_async_event_cmpl_dbg_buf_producer_t; +/* hwrm_async_event_cmpl_peer_mmap_change (size:128b/16B) */ + +typedef struct hwrm_async_event_cmpl_peer_mmap_change { + uint16_t type; + /* + * This field indicates the exact type of the completion. + * By convention, the LSB identifies the length of the + * record in 16B units. Even values indicate 16B + * records. Odd values indicate 32B + * records. + */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_MASK UINT32_C(0x3f) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_SFT 0 + /* HWRM Asynchronous Event Information */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_HWRM_ASYNC_EVENT UINT32_C(0x2e) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_LAST HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_HWRM_ASYNC_EVENT + /* Identifiers of events. */ + uint16_t event_id; + /* + * This async notification message is used to inform the driver + * that the memory mapping for a peer device is set. The driver + * will need to query using get_structured_data. + */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_EVENT_ID_PEER_MMAP_CHANGE UINT32_C(0x4d) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_EVENT_ID_LAST HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_EVENT_ID_PEER_MMAP_CHANGE + /* Event specific data. */ + uint32_t event_data2; + uint8_t opaque_v; + /* + * This value is written by the NIC such that it will be different + * for each pass through the completion queue. The even passes + * will write 1. The odd passes will write 0. + */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_V UINT32_C(0x1) + /* opaque is 7 b */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_OPAQUE_MASK UINT32_C(0xfe) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_OPAQUE_SFT 1 + /* 8-lsb timestamp (100-msec resolution) */ + uint8_t timestamp_lo; + /* 16-lsb timestamp (100-msec resolution) */ + uint16_t timestamp_hi; + /* Event specific data */ + uint32_t event_data1; +} hwrm_async_event_cmpl_peer_mmap_change_t, *phwrm_async_event_cmpl_peer_mmap_change_t; + /* hwrm_async_event_cmpl_fw_trace_msg (size:128b/16B) */ typedef struct hwrm_async_event_cmpl_fw_trace_msg { @@ -12948,6 +13154,114 @@ typedef struct hwrm_async_event_cmpl_error_report_dual_data_rate_not_supported { #define HWRM_ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_EVENT_DATA1_ERROR_TYPE_LAST HWRM_ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_EVENT_DATA1_ERROR_TYPE_DUAL_DATA_RATE_NOT_SUPPORTED } hwrm_async_event_cmpl_error_report_dual_data_rate_not_supported_t, *phwrm_async_event_cmpl_error_report_dual_data_rate_not_supported_t; +/* hwrm_async_event_cmpl_vf_stat_change (size:128b/16B) */ + +typedef struct hwrm_async_event_cmpl_vf_stat_change { + uint16_t type; + /* + * This field indicates the exact type of the completion. + * By convention, the LSB identifies the length of the + * record in 16B units. Even values indicate 16B + * records. Odd values indicate 32B + * records. + */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_TYPE_MASK UINT32_C(0x3f) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_TYPE_SFT 0 + /* HWRM Asynchronous Event Information */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_TYPE_HWRM_ASYNC_EVENT UINT32_C(0x2e) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_TYPE_LAST HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_TYPE_HWRM_ASYNC_EVENT + /* Identifiers of events. */ + uint16_t event_id; + /* + * VF statistics context change. Informs PF driver that a VF + * statistics context has either been allocated or freed. + */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_ID_VF_STAT_CHANGE UINT32_C(0x4f) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_ID_LAST HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_ID_VF_STAT_CHANGE + /* Event specific data */ + uint32_t event_data2; + /* + * VF ID that allocated the stats context. This is zero-based and + * relative to each PF. + */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_DATA2_VF_ID_MASK UINT32_C(0xffff) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_DATA2_VF_ID_SFT 0 + /* + * A value of zero signals to the PF driver that it can free the host + * buffer associated with the statistics context. + * A non-zero values signals to the PF driver that it should allocate + * a host buffer for the statistics context and inform the firmware + * via HWRM_STAT_CTX_ALLOC. The PF driver must provide the sequence id + * in the corresponding HWRM_STAT_CTX_ALLOC request so that firmware + * can correlate it to the VF statistics context. + */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_DATA2_ACTION_SEQUENCE_ID_MASK UINT32_C(0xffff0000) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_DATA2_ACTION_SEQUENCE_ID_SFT 16 + uint8_t opaque_v; + /* + * This value is written by the NIC such that it will be different + * for each pass through the completion queue. The even passes + * will write 1. The odd passes will write 0. + */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_V UINT32_C(0x1) + /* opaque is 7 b */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_OPAQUE_MASK UINT32_C(0xfe) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_OPAQUE_SFT 1 + /* 8-lsb timestamp (100-msec resolution) */ + uint8_t timestamp_lo; + /* 16-lsb timestamp (100-msec resolution) */ + uint16_t timestamp_hi; + /* Event specific data */ + uint32_t event_data1; + /* VF statistics context identifier */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_DATA1_STAT_CTX_ID_MASK UINT32_C(0xffffffff) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_DATA1_STAT_CTX_ID_SFT 0 +} hwrm_async_event_cmpl_vf_stat_change_t, *phwrm_async_event_cmpl_vf_stat_change_t; + +/* hwrm_async_event_cmpl_host_coredump (size:128b/16B) */ + +typedef struct hwrm_async_event_cmpl_host_coredump { + uint16_t type; + /* + * This field indicates the exact type of the completion. + * By convention, the LSB identifies the length of the + * record in 16B units. Even values indicate 16B + * records. Odd values indicate 32B + * records. + */ + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_TYPE_MASK UINT32_C(0x3f) + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_TYPE_SFT 0 + /* HWRM Asynchronous Event Information */ + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_TYPE_HWRM_ASYNC_EVENT UINT32_C(0x2e) + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_TYPE_LAST HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_TYPE_HWRM_ASYNC_EVENT + /* Identifiers of events. */ + uint16_t event_id; + /* + * coredump collection into host DMA address. Informs PF driver that + * the coredump has been captured. + */ + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_EVENT_ID_HOST_COREDUMP UINT32_C(0x50) + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_EVENT_ID_LAST HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_EVENT_ID_HOST_COREDUMP + /* Event specific data */ + uint32_t event_data2; + uint8_t opaque_v; + /* + * This value is written by the NIC such that it will be different + * for each pass through the completion queue. The even passes + * will write 1. The odd passes will write 0. + */ + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_V UINT32_C(0x1) + /* opaque is 7 b */ + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_OPAQUE_MASK UINT32_C(0xfe) + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_OPAQUE_SFT 1 + /* 8-lsb timestamp (100-msec resolution) */ + uint8_t timestamp_lo; + /* 16-lsb timestamp (100-msec resolution) */ + uint16_t timestamp_hi; + /* Event specific data */ + uint32_t event_data1; +} hwrm_async_event_cmpl_host_coredump_t, *phwrm_async_event_cmpl_host_coredump_t; + /* metadata_base_msg (size:64b/8B) */ typedef struct metadata_base_msg { @@ -14491,7 +14805,7 @@ typedef struct hwrm_func_qcaps_input { uint8_t unused_0[6]; } hwrm_func_qcaps_input_t, *phwrm_func_qcaps_input_t; -/* hwrm_func_qcaps_output (size:1088b/136B) */ +/* hwrm_func_qcaps_output (size:1152b/144B) */ typedef struct hwrm_func_qcaps_output { /* The specific error status for the command. */ @@ -15210,6 +15524,43 @@ typedef struct hwrm_func_qcaps_output { * query and clear of the port loopback statistics. */ #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_LPBK_STATS_SUPPORTED UINT32_C(0x2000000) + /* + * When this bit is '1', it indicates that the device supports + * migrating egress NIC flows to Truflow. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_TF_EGRESS_NIC_FLOW_SUPPORTED UINT32_C(0x4000000) + /* + * When this bit is '1', it indicates that the device supports + * multiple lossless CoS queues. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_MULTI_LOSSLESS_QUEUES_SUPPORTED UINT32_C(0x8000000) + /* + * When this bit is '1', it indicates that the firmware supports + * peer memory map storing feature. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_PEER_MMAP_SUPPORTED UINT32_C(0x10000000) + /* + * When this bit is '1', it indicates that the device supports Timed + * Transmit packet pacing; this is applicable to L2 flows only. + * Host software passes the transmit rate of an L2 flow to the + * hardware and hardware uses this rate to derive the transmit time + * for scheduling packet transmission of the flow. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_TIMED_TX_PACING_SUPPORTED UINT32_C(0x20000000) + /* + * When this bit is '1', it indicates that the device supports VF + * statistics ejection. Firmware is capable of copying VF statistics + * to two host buffers - one buffer allocated by VF driver and + * another buffer allocated by the parent PF driver. This bit is + * only set on a PF. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_VF_STAT_EJECTION_SUPPORTED UINT32_C(0x40000000) + /* + * When this bit is '1', it indicates that the parent PF allocated + * the Host DMA buffer to capture the coredump. So that any VF + * driver instance can issue HWRM_DBG_COREDUMP_CAPTURE command + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_HOST_COREDUMP_SUPPORTED UINT32_C(0x80000000) uint16_t tunnel_disable_flag; /* * When this bit is '1', it indicates that the VXLAN parsing @@ -15277,7 +15628,15 @@ typedef struct hwrm_func_qcaps_output { * the number contexts per partition. */ uint16_t ctxs_per_partition; - uint8_t unused_2[2]; + /* + * The maximum number of tso segments that NIC can handle during the + * large segmentation offload. + * If this field is zero, that means there is no limit on the TSO + * segment limit. + * Note that this field will be zero for older firmware that + * doesn't report the max TSO segment limit. + */ + uint16_t max_tso_segs; /* * The maximum number of address vectors that may be allocated across * all VFs for the function. This is valid only on the PF with VF RoCE @@ -15320,7 +15679,16 @@ typedef struct hwrm_func_qcaps_output { * (SR-IOV) disabled or on a VF. */ uint32_t roce_vf_max_gid; - uint8_t unused_3[3]; + uint32_t flags_ext3; + /* + * When this bit is '1', firmware supports the driver using + * FUNC_CFG (or FUNC_VF_CFG) to decrease resource reservations + * while some resources are still allocated. An error is returned + * if the driver tries to set the reservation to be less than the + * number of allocated resources. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT3_RM_RSV_WHILE_ALLOC_CAP UINT32_C(0x1) + uint8_t unused_3[7]; /* * This field is used in Output records to indicate that the output * is completely written to RAM. This field should be read as '1' @@ -15941,7 +16309,12 @@ typedef struct hwrm_func_qcfg_output { * value is used if ring MTU is not specified. */ uint16_t host_mtu; - uint8_t unused_3[2]; + uint16_t flags2; + /* + * If set to 1, then VF drivers are requested to insert a DSCP + * value into all outgoing L2 packets such that DSCP=VF ID modulo 64 + */ + #define HWRM_FUNC_QCFG_OUTPUT_FLAGS2_SRIOV_DSCP_INSERT_ENABLED UINT32_C(0x1) uint8_t unused_4[2]; /* * KDNet mode for the port for this function. If a VF, KDNet @@ -17631,6 +18004,14 @@ typedef struct hwrm_func_drv_rgtr_input { * function. */ #define HWRM_FUNC_DRV_RGTR_INPUT_FLAGS_TF_INGRESS_NIC_FLOW_MODE UINT32_C(0x800) + /* + * When this bit is 1, the function's driver is indicating to the + * firmware that the Egress NIC flows will be programmed by the + * TruFlow application and the firmware flow manager should reject + * flow-create commands that programs Egress lookup flows for this + * function. + */ + #define HWRM_FUNC_DRV_RGTR_INPUT_FLAGS_TF_EGRESS_NIC_FLOW_MODE UINT32_C(0x1000) uint32_t enables; /* * This bit must be '1' for the os_type field to be @@ -22100,14 +22481,14 @@ typedef struct hwrm_func_ptp_ext_qcfg_output { uint8_t valid; } hwrm_func_ptp_ext_qcfg_output_t, *phwrm_func_ptp_ext_qcfg_output_t; -/*************************** - * hwrm_func_key_ctx_alloc * - ***************************/ +/************************************* + * hwrm_func_timedtx_pacing_rate_add * + *************************************/ -/* hwrm_func_key_ctx_alloc_input (size:384b/48B) */ +/* hwrm_func_timedtx_pacing_rate_add_input (size:192b/24B) */ -typedef struct hwrm_func_key_ctx_alloc_input { +typedef struct hwrm_func_timedtx_pacing_rate_add_input { /* The HWRM command request type. */ uint16_t req_type; /* @@ -22136,61 +22517,20 @@ typedef struct hwrm_func_key_ctx_alloc_input { * point to a physically contiguous block of memory. */ uint64_t resp_addr; - /* Function ID. */ - uint16_t fid; /* - * Number of Key Contexts to be allocated. - * When running in the XID partition mode, if the call is made by - * a VF driver, this field specifies the number of XIDs requested - * by the VF driver. The XID partitions are managed by the PF - * driver in XID partition mode and the VF command will be - * redirected to the PF driver. The PF driver may reduce this - * number if it cannot allocate a big enough block of XID - * partitions to satisfy the request. - * This field must not exceed the maximum batch size specified in - * the max_key_ctxs_alloc field of the HWRM_FUNC_QCAPS response, - * must not be zero, and must be integer multiples of the - * partition size specified in the ctxs_per_partition field of - * the HWRM_FUNC_QCAPS response. - */ - uint16_t num_key_ctxs; - /* - * DMA buffer size in bytes. This field in invalid in the XID - * partition mode. - */ - uint32_t dma_bufr_size_bytes; - /* Key Context type. */ - uint8_t key_ctx_type; - /* KTLS Tx Key Context type. */ - #define HWRM_FUNC_KEY_CTX_ALLOC_INPUT_KEY_CTX_TYPE_TX UINT32_C(0x0) - /* KTLS Rx Key Context type. */ - #define HWRM_FUNC_KEY_CTX_ALLOC_INPUT_KEY_CTX_TYPE_RX UINT32_C(0x1) - /* QUIC Tx Key Context type. */ - #define HWRM_FUNC_KEY_CTX_ALLOC_INPUT_KEY_CTX_TYPE_QUIC_TX UINT32_C(0x2) - /* QUIC Rx Key Context type. */ - #define HWRM_FUNC_KEY_CTX_ALLOC_INPUT_KEY_CTX_TYPE_QUIC_RX UINT32_C(0x3) - #define HWRM_FUNC_KEY_CTX_ALLOC_INPUT_KEY_CTX_TYPE_LAST HWRM_FUNC_KEY_CTX_ALLOC_INPUT_KEY_CTX_TYPE_QUIC_RX - uint8_t unused_0[7]; - /* - * Host DMA address to send back KTLS context IDs. This field is - * invalid in the XID partition mode. - */ - uint64_t host_dma_addr; - /* - * This field is only used by the PF driver that manages the XID - * partitions. This field specifies the starting XID of one or - * more contiguous XID partitions allocated by the PF driver. - * This field is not used by the VF driver. - * If the call is successful, this starting XID value will be - * returned in the partition_start_xid field of the response. + * This field indicates TimedTx pacing rate in kbps. + * The driver needs to add the rate into the hardware rate table + * before requesting the pacing rate for a flow in TimedTX BD and + * this addition should be done for each function rather than for + * each flow/QP within the function. */ - uint32_t partition_start_xid; - uint8_t unused_1[4]; -} hwrm_func_key_ctx_alloc_input_t, *phwrm_func_key_ctx_alloc_input_t; + uint32_t rate; + uint8_t unused_0[4]; +} hwrm_func_timedtx_pacing_rate_add_input_t, *phwrm_func_timedtx_pacing_rate_add_input_t; -/* hwrm_func_key_ctx_alloc_output (size:192b/24B) */ +/* hwrm_func_timedtx_pacing_rate_add_output (size:128b/16B) */ -typedef struct hwrm_func_key_ctx_alloc_output { +typedef struct hwrm_func_timedtx_pacing_rate_add_output { /* The specific error status for the command. */ uint16_t error_code; /* The HWRM command request type. */ @@ -22199,26 +22539,13 @@ typedef struct hwrm_func_key_ctx_alloc_output { uint16_t seq_id; /* The length of the response data in number of bytes. */ uint16_t resp_len; - /* Number of Key Contexts that have been allocated. */ - uint16_t num_key_ctxs_allocated; - /* Control flags. */ - uint8_t flags; /* - * When set, it indicates that all key contexts allocated by this - * command are contiguous. As a result, the driver has to read the - * start context ID from the first entry of the DMA data buffer - * and figures out the end context ID by 'start context ID + - * num_key_ctxs_allocated - 1'. In XID partition mode, - * this bit should always be set. + * This field indicates the logical rate ID that is assigned to the + * rate in the rate table. The driver should use this ID for future + * reference to this rate. */ - #define HWRM_FUNC_KEY_CTX_ALLOC_OUTPUT_FLAGS_KEY_CTXS_CONTIGUOUS UINT32_C(0x1) - uint8_t unused_0; - /* - * This field is only valid in the XID partition mode. It indicates - * the starting XID that has been allocated. - */ - uint32_t partition_start_xid; - uint8_t unused_1[7]; + uint16_t rate_id; + uint8_t unused_0[5]; /* * This field is used in Output records to indicate that the output * is completely written to RAM. This field should be read as '1' @@ -22227,16 +22554,279 @@ typedef struct hwrm_func_key_ctx_alloc_output { * the order of writes has to be such that this field is written last. */ uint8_t valid; -} hwrm_func_key_ctx_alloc_output_t, *phwrm_func_key_ctx_alloc_output_t; +} hwrm_func_timedtx_pacing_rate_add_output_t, *phwrm_func_timedtx_pacing_rate_add_output_t; -/************************** - * hwrm_func_key_ctx_free * - **************************/ +/**************************************** + * hwrm_func_timedtx_pacing_rate_delete * + ****************************************/ -/* hwrm_func_key_ctx_free_input (size:256b/32B) */ +/* hwrm_func_timedtx_pacing_rate_delete_input (size:192b/24B) */ -typedef struct hwrm_func_key_ctx_free_input { +typedef struct hwrm_func_timedtx_pacing_rate_delete_input { + /* The HWRM command request type. */ + uint16_t req_type; + /* + * The completion ring to send the completion event on. This should + * be the NQ ID returned from the `nq_alloc` HWRM command. + */ + uint16_t cmpl_ring; + /* + * The sequence ID is used by the driver for tracking multiple + * commands. This ID is treated as opaque data by the firmware and + * the value is returned in the `hwrm_resp_hdr` upon completion. + */ + uint16_t seq_id; + /* + * The target ID of the command: + * * 0x0-0xFFF8 - The function ID + * * 0xFFF8-0xFFFC, 0xFFFE - Reserved for internal processors + * * 0xFFFD - Reserved for user-space HWRM interface + * * 0xFFFF - HWRM + */ + uint16_t target_id; + /* + * A physical address pointer pointing to a host buffer that the + * command's response data will be written. This can be either a host + * physical address (HPA) or a guest physical address (GPA) and must + * point to a physically contiguous block of memory. + */ + uint64_t resp_addr; + /* + * The logical rate ID that is returned in the TimedTX pacing rate + * add operation. + */ + uint16_t rate_id; + uint8_t unused_0[6]; +} hwrm_func_timedtx_pacing_rate_delete_input_t, *phwrm_func_timedtx_pacing_rate_delete_input_t; + +/* hwrm_func_timedtx_pacing_rate_delete_output (size:128b/16B) */ + +typedef struct hwrm_func_timedtx_pacing_rate_delete_output { + /* The specific error status for the command. */ + uint16_t error_code; + /* The HWRM command request type. */ + uint16_t req_type; + /* The sequence ID from the original command. */ + uint16_t seq_id; + /* The length of the response data in number of bytes. */ + uint16_t resp_len; + uint8_t unused_0[7]; + /* + * This field is used in Output records to indicate that the output + * is completely written to RAM. This field should be read as '1' + * to indicate that the output has been completely written. When + * writing a command completion or response to an internal processor, + * the order of writes has to be such that this field is written last. + */ + uint8_t valid; +} hwrm_func_timedtx_pacing_rate_delete_output_t, *phwrm_func_timedtx_pacing_rate_delete_output_t; + +/*************************************** + * hwrm_func_timedtx_pacing_rate_query * + ***************************************/ + + +/* hwrm_func_timedtx_pacing_rate_query_input (size:192b/24B) */ + +typedef struct hwrm_func_timedtx_pacing_rate_query_input { + /* The HWRM command request type. */ + uint16_t req_type; + /* + * The completion ring to send the completion event on. This should + * be the NQ ID returned from the `nq_alloc` HWRM command. + */ *** 3049 LINES SKIPPED *** From nobody Sun Apr 27 22:06:10 2025 X-Original-To: dev-commits-src-branches@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 4Zm0yq0h8Fz5vPNJ; Sun, 27 Apr 2025 22:06:11 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm0yp4Yq3z3YmR; Sun, 27 Apr 2025 22:06:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791570; 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=wuWltixHq8Qy7X9ffdNalJkiAdh5GQIUv5qxL/P6OBA=; b=ri25027mW23j/YDDMt2BzZ7IJU22jfGh4//N77z2C94EZx0Oi1rhZWMPHTiHDXag3jZvT/ jWamc3xZnxRL+FcnugVmZiDljVO9bczCetD3WcgfKUXEA6RQwCuNgqcb25CnDhmwpXJVKA K/xOi87zC1uHeXJ0oJHyEeJl6/IsqFcX3FgZutRu+BeXD1fUreg5WOJrEpWcM71xTwZtF/ A6l3uwVI2M8FS4iV/bgu0NU+TM7sv9h2yos7mh5fE6/Po2AWIPf1cuc9VNvqWx2TG07fRe 2p2+Wx6/zPXeuxqnuSM0+fSM2di2ou425BXrvOcJPaqwsYeFcPds2jG+4khEww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745791570; a=rsa-sha256; cv=none; b=p1ZY3a77GWbehx39nPvyzF68mtRxSrNyTFLooeoAjvgQiOveKOqj3XfzZjEK1FvU9yjLkn zpEk8lA55qTX0uaUit6VVqcU3ZOc6EyYWePb90lrrUDc9qoFNf7wZu7jxsYilsg/Gq5n2M nZOgiPRy7yg5naSNxq9Vejn2xgdETHzpf/Es5TDI/MFbjpzsfSltq0duPemXMfuaaonYY3 P0ju947JPk5tj3L74WOWbU+Z4GDepjaMbuFfiLJSoJyKSvT3Q0DJcPkK/FP1xDN/5CLsaQ tKC9d38DXO8O9/TmxRWgmXdTDTk9yYAPotITTLT2VKGTIWUbbg1W+5TW+MO7Zg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791570; 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=wuWltixHq8Qy7X9ffdNalJkiAdh5GQIUv5qxL/P6OBA=; b=WPPa4fz0VpJR3+Wv4Z8lPy5nwIUCvdA5urp1jVUbYI3p4PJ+vb/Mm6LdZ6rMGyry8QV/7D p0TDCObIZtB6e3r2Q4P4fhWWg39nRjYs1DRMOxj/b6qVRqyJrfHRcbv8wFUpd05QLajqI0 cND+T3Ouwa2myvfnXwV1eK9HqivdsQqMo0qWTtKlM6m24nnB0WOQlJGBTVt+ePwvTUrrt9 I8W1Dmtt5TPxuFeJ7+My2ezX5jUfi/9/uNa4jZ2Ez3+gg9XXVAIhM1agurpnfFZdGoACP4 aF7IikDiVxnEZdsYtqdKQEQQJGeoP0VEmHeMRHEzU2zepztVdNkJQ0jLFAxbvA== 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 4Zm0yp47WTz1MmD; Sun, 27 Apr 2025 22:06:10 +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 53RM6AEU014502; Sun, 27 Apr 2025 22:06:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RM6AI0014499; Sun, 27 Apr 2025 22:06:10 GMT (envelope-from git) Date: Sun, 27 Apr 2025 22:06:10 GMT Message-Id: <202504272206.53RM6AI0014499@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: baa2ff7ac8e2 - stable/14 - bnxt_en: Add backing store V2 support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: baa2ff7ac8e2e3d3f30c6f854b6ea6728b3e635e Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=baa2ff7ac8e2e3d3f30c6f854b6ea6728b3e635e commit baa2ff7ac8e2e3d3f30c6f854b6ea6728b3e635e Author: Sreekanth Reddy AuthorDate: 2025-04-02 11:38:59 +0000 Commit: Warner Losh CommitDate: 2025-04-27 22:02:58 +0000 bnxt_en: Add backing store V2 support Add backing store V2 support. Thor2 controllers supports only the V2 support. MFC-After: 3 days Reviewed-by: Warner Losh Differential-Revision: https://reviews.freebsd.org/D49727 (cherry picked from commit d5ce906da7c55085f93fce096ebb8bc44a3cffe5) --- sys/dev/bnxt/bnxt_en/bnxt.h | 14 ++++-- sys/dev/bnxt/bnxt_en/bnxt_hwrm.c | 92 ++++++++++++++++++++++++++++++++++------ sys/dev/bnxt/bnxt_en/if_bnxt.c | 65 ++++++++++++++++++++++++++-- 3 files changed, 153 insertions(+), 18 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index 20d0fd2c81c0..1b928fa9c2fe 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -727,11 +727,11 @@ struct bnxt_ctx_pg_info { #define BNXT_SET_CTX_PAGE_ATTR(attr) \ do { \ if (BNXT_PAGE_SIZE == 0x2000) \ - attr = HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_SRQ_PG_SIZE_PG_8K; \ + attr = HWRM_FUNC_BACKING_STORE_CFG_INPUT_SRQ_PG_SIZE_PG_8K; \ else if (BNXT_PAGE_SIZE == 0x10000) \ - attr = HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_QPC_PG_SIZE_PG_64K; \ + attr = HWRM_FUNC_BACKING_STORE_CFG_INPUT_SRQ_PG_SIZE_PG_64K; \ else \ - attr = HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_QPC_PG_SIZE_PG_4K; \ + attr = HWRM_FUNC_BACKING_STORE_CFG_INPUT_SRQ_PG_SIZE_PG_4K; \ } while (0) struct bnxt_ctx_mem_type { @@ -746,6 +746,8 @@ struct bnxt_ctx_mem_type { #define BNXT_CTX_INIT_INVALID_OFFSET 0xffff u32 max_entries; u32 min_entries; + u8 last:1; + u8 mem_valid:1; u8 split_entry_cnt; #define BNXT_MAX_SPLIT_ENTRY 4 union { @@ -781,9 +783,15 @@ struct bnxt_ctx_mem_type { #define BNXT_CTX_RQDBS HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_RQ_DB_SHADOW #define BNXT_CTX_SRQDBS HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_SRQ_DB_SHADOW #define BNXT_CTX_CQDBS HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CQ_DB_SHADOW +#define BNXT_CTX_QTKC HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_QUIC_TKC +#define BNXT_CTX_QRKC HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_QUIC_RKC #define BNXT_CTX_MAX (BNXT_CTX_TIM + 1) +#define BNXT_CTX_L2_MAX (BNXT_CTX_FTQM + 1) #define BNXT_CTX_V2_MAX (HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_ROCE_HWRM_TRACE + 1) +#define BNXT_CTX_SRT_TRACE HWRM_FUNC_BACKING_STORE_QCFG_V2_OUTPUT_TYPE_SRT_TRACE +#define BNXT_CTX_ROCE_HWRM_TRACE HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_ROCE_HWRM_TRACE +#define BNXT_CTX_INV ((u16)-1) struct bnxt_ctx_mem_info { u8 tqm_fp_rings_count; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c index b8336eda229e..214866b766db 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c @@ -350,12 +350,12 @@ qportcfg_exit: return rc; } -static int bnxt_alloc_all_ctx_pg_info(struct bnxt_softc *softc) +static int bnxt_alloc_all_ctx_pg_info(struct bnxt_softc *softc, int ctx_max) { struct bnxt_ctx_mem_info *ctx = softc->ctx_mem; u16 type; - for (type = 0; type < BNXT_CTX_MAX; type++) { + for (type = 0; type < ctx_max; type++) { struct bnxt_ctx_mem_type *ctxm = &ctx->ctx_arr[type]; int n = 1; @@ -364,7 +364,7 @@ static int bnxt_alloc_all_ctx_pg_info(struct bnxt_softc *softc) if (ctxm->instance_bmap) n = hweight32(ctxm->instance_bmap); - ctxm->pg_info = kcalloc(n, sizeof(*ctxm->pg_info), GFP_KERNEL); + ctxm->pg_info = kcalloc(n, sizeof(*ctxm->pg_info), GFP_ATOMIC); if (!ctxm->pg_info) return -ENOMEM; } @@ -383,6 +383,69 @@ static void bnxt_init_ctx_initializer(struct bnxt_ctx_mem_type *ctxm, ctxm->init_value = 0; } +#define BNXT_CTX_INIT_VALID(flags) \ + (!!((flags) & \ + HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_FLAGS_ENABLE_CTX_KIND_INIT)) + +static int +bnxt_hwrm_func_backing_store_qcaps_v2(struct bnxt_softc *softc) +{ + struct hwrm_func_backing_store_qcaps_v2_input req = {0}; + struct hwrm_func_backing_store_qcaps_v2_output *resp = + (void *)softc->hwrm_cmd_resp.idi_vaddr; + struct bnxt_ctx_mem_info *ctx = NULL; + u16 type; + int rc; + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_BACKING_STORE_QCAPS_V2); + + ctx = malloc(sizeof(*ctx), M_DEVBUF, M_NOWAIT | M_ZERO); + if (!ctx) + return -ENOMEM; + + softc->ctx_mem = ctx; + + BNXT_HWRM_LOCK(softc); + for (type = 0; type < BNXT_CTX_V2_MAX; ) { + struct bnxt_ctx_mem_type *ctxm = &ctx->ctx_arr[type]; + u8 init_val, init_off, i; + __le32 *p; + u32 flags; + + req.type = cpu_to_le16(type); + rc = _hwrm_send_message(softc, &req, sizeof(req)); + if (rc) + goto ctx_done; + flags = le32_to_cpu(resp->flags); + type = le16_to_cpu(resp->next_valid_type); + if (!(flags & HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_FLAGS_TYPE_VALID)) + continue; + + ctxm->type = le16_to_cpu(resp->type); + ctxm->flags = flags; + + ctxm->entry_size = le16_to_cpu(resp->entry_size); + ctxm->instance_bmap = le32_to_cpu(resp->instance_bit_map); + ctxm->entry_multiple = resp->entry_multiple; + ctxm->max_entries = le32_to_cpu(resp->max_num_entries); + ctxm->min_entries = le32_to_cpu(resp->min_num_entries); + init_val = resp->ctx_init_value; + init_off = resp->ctx_init_offset; + bnxt_init_ctx_initializer(ctxm, init_val, init_off, + BNXT_CTX_INIT_VALID(flags)); + ctxm->split_entry_cnt = min_t(u8, resp->subtype_valid_cnt, + BNXT_MAX_SPLIT_ENTRY); + for (i = 0, p = &resp->split_entry_0; i < ctxm->split_entry_cnt; + i++, p++) + ctxm->split[i] = le32_to_cpu(*p); + } + rc = bnxt_alloc_all_ctx_pg_info(softc, BNXT_CTX_V2_MAX); + +ctx_done: + BNXT_HWRM_UNLOCK(softc); + return rc; +} + int bnxt_hwrm_func_backing_store_qcaps(struct bnxt_softc *softc) { struct hwrm_func_backing_store_qcaps_input req = {0}; @@ -393,6 +456,11 @@ int bnxt_hwrm_func_backing_store_qcaps(struct bnxt_softc *softc) if (softc->hwrm_spec_code < 0x10902 || softc->ctx_mem) return 0; + if (BNXT_CHIP_P7(softc)) { + if (softc->fw_cap & BNXT_FW_CAP_BACKING_STORE_V2) + return bnxt_hwrm_func_backing_store_qcaps_v2(softc); + } + if (BNXT_VF(softc)) return 0; @@ -493,7 +561,7 @@ int bnxt_hwrm_func_backing_store_qcaps(struct bnxt_softc *softc) memcpy(ctxm, &ctx->ctx_arr[BNXT_CTX_STQM], sizeof(*ctxm)); ctxm->instance_bmap = (1 << ctx->tqm_fp_rings_count) - 1; - rc = bnxt_alloc_all_ctx_pg_info(softc); + rc = bnxt_alloc_all_ctx_pg_info(softc, BNXT_CTX_MAX); } else { rc = 0; } @@ -512,14 +580,11 @@ ctx_err: static void bnxt_hwrm_set_pg_attr(struct bnxt_ring_mem_info *rmem, uint8_t *pg_attr, uint64_t *pg_dir) { - uint8_t pg_size = 0; + if (!rmem->nr_pages) + return; - if (BNXT_PAGE_SHIFT == 13) - pg_size = 1 << 4; - else if (BNXT_PAGE_SIZE == 16) - pg_size = 2 << 4; + BNXT_SET_CTX_PAGE_ATTR(*pg_attr); - *pg_attr = pg_size; if (rmem->depth >= 1) { if (rmem->depth == 2) *pg_attr |= HWRM_FUNC_BACKING_STORE_CFG_INPUT_QPC_LVL_LVL_2; @@ -720,8 +785,10 @@ int bnxt_hwrm_func_backing_store_cfg_v2(struct bnxt_softc *softc, bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_BACKING_STORE_CFG_V2); + BNXT_HWRM_LOCK(softc); req.type = cpu_to_le16(ctxm->type); req.entry_size = cpu_to_le16(ctxm->entry_size); + req.subtype_valid_cnt = ctxm->split_entry_cnt; for (i = 0, p = &req.split_entry_0; i < ctxm->split_entry_cnt; i++) p[i] = cpu_to_le32(ctxm->split[i]); for (i = 0, j = 0; j < n && !rc; i++) { @@ -737,11 +804,12 @@ int bnxt_hwrm_func_backing_store_cfg_v2(struct bnxt_softc *softc, bnxt_hwrm_set_pg_attr(&ctx_pg->ring_mem, &req.page_size_pbl_level, &req.page_dir); - if (last && j == (n - 1)) + if (last && j == n) req.flags = cpu_to_le32(HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_FLAGS_BS_CFG_ALL_DONE); - rc = hwrm_send_message(softc, &req, sizeof(req)); + rc = _hwrm_send_message(softc, &req, sizeof(req)); } + BNXT_HWRM_UNLOCK(softc); return rc; } diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index fe718c14b24f..15081c3ee09e 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -1054,6 +1054,8 @@ static int bnxt_setup_ctxm_pg_tbls(struct bnxt_softc *softc, rc = bnxt_alloc_ctx_pg_tbls(softc, &ctx_pg[i], mem_size, pg_lvl, ctxm->init_value ? ctxm : NULL); } + if (!rc) + ctxm->mem_valid = 1; return rc; } @@ -1086,6 +1088,54 @@ static void bnxt_free_ctx_mem(struct bnxt_softc *softc) softc->ctx_mem = NULL; } +static int +bnxt_backing_store_cfg_v2(struct bnxt_softc *softc, u32 ena) +{ + struct bnxt_ctx_mem_info *ctx = softc->ctx_mem; + struct bnxt_ctx_mem_type *ctxm; + u16 last_type = BNXT_CTX_INV; + int rc = 0; + u16 type; + + if (BNXT_PF(softc)) { + for (type = BNXT_CTX_SRT_TRACE; type <= BNXT_CTX_ROCE_HWRM_TRACE; type++) { + ctxm = &ctx->ctx_arr[type]; + if (!(ctxm->flags & BNXT_CTX_MEM_TYPE_VALID)) + continue; + rc = bnxt_setup_ctxm_pg_tbls(softc, ctxm, ctxm->max_entries, 1); + if (rc) { + device_printf(softc->dev, "Unable to setup ctx page for type:0x%x.\n", type); + rc = 0; + continue; + } + /* ckp TODO: this is trace buffer related stuff, so keeping it diabled now. needs revisit */ + //bnxt_bs_trace_init(bp, ctxm, type - BNXT_CTX_SRT_TRACE); + last_type = type; + } + } + + if (last_type == BNXT_CTX_INV) { + if (!ena) + return 0; + else if (ena & HWRM_FUNC_BACKING_STORE_CFG_INPUT_ENABLES_TIM) + last_type = BNXT_CTX_MAX - 1; + else + last_type = BNXT_CTX_L2_MAX - 1; + } + ctx->ctx_arr[last_type].last = 1; + + for (type = 0 ; type < BNXT_CTX_V2_MAX; type++) { + ctxm = &ctx->ctx_arr[type]; + + if (!ctxm->mem_valid) + continue; + rc = bnxt_hwrm_func_backing_store_cfg_v2(softc, ctxm, ctxm->last); + if (rc) + return rc; + } + return 0; +} + static int bnxt_alloc_ctx_mem(struct bnxt_softc *softc) { struct bnxt_ctx_pg_info *ctx_pg; @@ -1113,6 +1163,10 @@ static int bnxt_alloc_ctx_mem(struct bnxt_softc *softc) if (!ctx || (ctx->flags & BNXT_CTX_FLAG_INITED)) return 0; + ena = 0; + if (BNXT_VF(softc)) + goto skip_legacy; + ctxm = &ctx->ctx_arr[BNXT_CTX_QP]; l2_qps = ctxm->qp_l2_entries; qp1_qps = ctxm->qp_qp1_entries; @@ -1153,7 +1207,6 @@ static int bnxt_alloc_ctx_mem(struct bnxt_softc *softc) if (rc) return rc; - ena = 0; if (!(softc->flags & BNXT_FLAG_ROCE_CAP)) goto skip_rdma; @@ -1202,10 +1255,16 @@ skip_rdma: } ena |= HWRM_FUNC_BACKING_STORE_CFG_INPUT_DFLT_ENABLES; - rc = bnxt_hwrm_func_backing_store_cfg(softc, ena); +skip_legacy: + if (BNXT_CHIP_P7(softc)) { + if (softc->fw_cap & BNXT_FW_CAP_BACKING_STORE_V2) + rc = bnxt_backing_store_cfg_v2(softc, ena); + } else { + rc = bnxt_hwrm_func_backing_store_cfg(softc, ena); + } if (rc) { device_printf(softc->dev, "Failed configuring context mem, rc = %d.\n", - rc); + rc); return rc; } ctx->flags |= BNXT_CTX_FLAG_INITED; From nobody Sun Apr 27 22:06:11 2025 X-Original-To: dev-commits-src-branches@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 4Zm0yr4qXBz5vP3M; Sun, 27 Apr 2025 22:06:12 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm0yq5hs7z3YpW; Sun, 27 Apr 2025 22:06:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791571; 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=5vO6Z7I3Z1KoLhIotDnIhtpSQFxKxK2S2vE7sKp3Bxc=; b=mOgNh1ot8yofrjRThxVPv9Wf78PiGCAmZqFt88dQziv1iw8qSKG793Ql7+c+QWkX0wZhwu UsuGClGKMCoXQKm3raYmLuQGglmyOhIJ71wJGIUJiXpXRO4TMmHDXmUIvaVcDjHDYMTM8h IWbjxuC0SY6/Far2m2RtdMXzV5SFqN+qfR1BXJMzDRdpcUOyxOS86dsu6OB4nSJlTXv4fE hPpqtuvhbWC5QxWv+73dUc56Lo/M/qYR4WPD6REoH1SpC2sSvCBZbl1TT1fXmM+20C0IZf t9TdxOcupQxggmqsPVhLvR3jHMWl1SB1uOiyByehn0etLXa6FgX7qbxnfqr8vA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745791571; a=rsa-sha256; cv=none; b=pwdAgusZopNFIevomqGJUKF4KQiFtszVbNdzs4XrGeK+QeKMR1lPn9c4dcAN73ukl2Ixf9 nkn81F13jS2VeEixi4zCKDONKctitTl0HQYFWEw57EASMvPwfCmKz11SVeCDDdC8lvFdpE LRQxA/UJo/q0w4+eYSPO7yaIopjKB+4kUG+0+e2htveGlakpdRcVv597vkOYDJSyAhagex OwMfbA2O+8CJcfngI3WSvqg5sM3UX2RAFv2ziuyKUNulQW0mAt9Hf3QF/7DNIzwV/XYRNZ H59XpdIudrZk/LBGGmfX00ta6gM0Wv0YP99raP0A2sGiliQWJ/CGvq2tkfSw2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791571; 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=5vO6Z7I3Z1KoLhIotDnIhtpSQFxKxK2S2vE7sKp3Bxc=; b=gPSFSgmA1tarlaHowolvIa26tsxntO7nkHgT6GWUB9NbqTG+XtMc6lOYEjJWq+aNptrjEu VMvLA1mnnbqQgt+lS+O0BpUtxiR7Va8CDdLGvzJZCo/LaTS9UbrOR//OCpYQJ02b7w7z3D DU8zHTXRctHz12zPnWBXvzdw25B1et/4J78P5KNFXFrurYpU8tNsVJkM3S4p3BFOZJ8ysZ qJ/hgAQqf5rud1ihKn4oCowppmUCRdhhKP14k5uxkxKUL/0xSk3sI2cNG7txIvrefCKbo0 Fdjxj5KatR88587hl8FA4ixyenSz3TV4f00KhuW2ym13x28Vr01czcqSwpBUZA== 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 4Zm0yq55Zsz1MmF; Sun, 27 Apr 2025 22:06:11 +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 53RM6BDR014534; Sun, 27 Apr 2025 22:06:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RM6Bme014531; Sun, 27 Apr 2025 22:06:11 GMT (envelope-from git) Date: Sun, 27 Apr 2025 22:06:11 GMT Message-Id: <202504272206.53RM6Bme014531@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: dd6c9bcdccd9 - stable/14 - if_bnxt: add support for RX completion record type V3 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: dd6c9bcdccd9665a5422f6d83717f589ef82aa34 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=dd6c9bcdccd9665a5422f6d83717f589ef82aa34 commit dd6c9bcdccd9665a5422f6d83717f589ef82aa34 Author: Sreekanth Reddy AuthorDate: 2025-04-02 06:38:03 +0000 Commit: Warner Losh CommitDate: 2025-04-27 22:02:58 +0000 if_bnxt: add support for RX completion record type V3 Added support for RX V3 completion record types- CMPL_BASE_TYPE_RX_TPA_START_V3 and CMPL_BASE_TYPE_RX_L2_V3. MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49728 (cherry picked from commit 526d74f6ca55c7a4b9c0c745d13e94c7a7bb6e0b) --- sys/dev/bnxt/bnxt_en/bnxt_txrx.c | 3 +++ sys/dev/bnxt/bnxt_en/if_bnxt.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_txrx.c b/sys/dev/bnxt/bnxt_en/bnxt_txrx.c index 9f40d293850b..733db2902a5c 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_txrx.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_txrx.c @@ -338,6 +338,7 @@ bnxt_isc_rxd_available(void *sc, uint16_t rxqid, qidx_t idx, qidx_t budget) type = le16toh(cmp[cons].type) & CMPL_BASE_TYPE_MASK; switch (type) { case CMPL_BASE_TYPE_RX_L2: + case CMPL_BASE_TYPE_RX_L2_V3: rcp = (void *)&cmp[cons]; ags = (rcp->agg_bufs_v1 & RX_PKT_CMPL_AGG_BUFS_MASK) >> RX_PKT_CMPL_AGG_BUFS_SFT; @@ -622,10 +623,12 @@ bnxt_isc_rxd_pkt_get(void *sc, if_rxd_info_t ri) switch (type) { case CMPL_BASE_TYPE_RX_L2: + case CMPL_BASE_TYPE_RX_L2_V3: return bnxt_pkt_get_l2(softc, ri, cpr, flags_type); case CMPL_BASE_TYPE_RX_TPA_END: return bnxt_pkt_get_tpa(softc, ri, cpr, flags_type); case CMPL_BASE_TYPE_RX_TPA_START: + case CMPL_BASE_TYPE_RX_TPA_START_V3: rtpa = (void *)&cmp_q[cpr->cons]; agg_id = (rtpa->agg_id & RX_TPA_START_CMPL_AGG_ID_MASK) >> diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 15081c3ee09e..a05a02936e40 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -4713,8 +4713,10 @@ bnxt_def_cp_task(void *context, int pending) break; case CMPL_BASE_TYPE_TX_L2: case CMPL_BASE_TYPE_RX_L2: + case CMPL_BASE_TYPE_RX_L2_V3: case CMPL_BASE_TYPE_RX_AGG: case CMPL_BASE_TYPE_RX_TPA_START: + case CMPL_BASE_TYPE_RX_TPA_START_V3: case CMPL_BASE_TYPE_RX_TPA_END: case CMPL_BASE_TYPE_STAT_EJECT: case CMPL_BASE_TYPE_HWRM_DONE: From nobody Sun Apr 27 22:06:12 2025 X-Original-To: dev-commits-src-branches@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 4Zm0yt1bYGz5vPLj; Sun, 27 Apr 2025 22:06:14 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm0yr6KbBz3YhY; Sun, 27 Apr 2025 22:06:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791572; 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=CwnWllCHKm/ZpZB2sO6wvn81hBAa0ZBrc1udhxXYhis=; b=ml3q0HvNkYbyzkZzOeQpLVBb9CeZttjT+x+9AsklMaiDY1rdm4WnuXs1cU0/HPNATYwbAf EcQaUL4yzQCec4d5JJXUl6IpSxV1Dg5jw940SI1offhAG6VXzeU2UNYHaS4kMFscDCDzcq 7FuXXOJn5dJc+X0uOrQotqQSrFe2pF3+Wi3z6rcRMIOi9OGQqmgArGCHNLlJnuhd3kTHMb MKLX7IGRk1XxeuUu6R+OJfIop+wCDRGiKfP3fzpw72PJpKLfdDvP17x/4wxCeWtKU5Am5e G7A04MoVlQ7Nrxybq40UMjWo6ASPpQxcBX+TqsbLCVbIpCZOlma0/IEtX2sjow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745791572; a=rsa-sha256; cv=none; b=CvBJDNeMiEhaZxkmw9dc5ZXx/bxCdaY47MmbOPrhm3TuRHAL1PG809zubuEG8v8Do6Nuuj ZRdnge1yaKjjQuONuzYqCxlR/qWPj/YhLMiW6Afk+YqwktyGvfHgbVA5rAznhlGNCRnVWD aiMbK4du72G6YAfjovs+HTrAn2NeKGvYcEVFMskCDDJZA3EJ3h8eR6N5P5SoUtZH6e6AWB woFm8aURELwBgEEcpK77WyDpjVqZFhzE36gRW2aj60Ho90Ye7gnlO7f79n6rFOlRL6CFDb xaZ55s9j1tb2obbwH3lhpwtRgFlEI2wnTj+hVQ7wvUERN0h/NxBImlEPhyzEPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791572; 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=CwnWllCHKm/ZpZB2sO6wvn81hBAa0ZBrc1udhxXYhis=; b=cc/z3TOQ3h2Cl6yoTQnaH6VwjOMBYFnyjKjwoYQQrTxUDRUhrJjJPHu3NEm2RPCvsfOD8E YNckwWhC1pGvGs3dZkLwrmL3cCQRBsFVW6qUdC7XaIYXGafstk0DQIY5wVq9Lz4BpbI0MH uwGCt8jvjF/YCTK3owVmL8Yq8zyB6ZnSTZfyG7qCU8+LEwSW+RMwFnjVsoZUs3oLBIHx/r kpVgQiCDosEuW1iTsu50QXPWC9tGcQJDH3ADw6GM6qsms6ViIoef8PcyTTkQrMP9poX8sB lk9J2+ECPtdK7ENCJE+E+psnYgCbfBIu2uhnZQgd5FdQAxPD/pMb5WiOiRda+A== 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 4Zm0yr5qmYz1M3L; Sun, 27 Apr 2025 22:06:12 +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 53RM6Cer014572; Sun, 27 Apr 2025 22:06:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RM6CLX014569; Sun, 27 Apr 2025 22:06:12 GMT (envelope-from git) Date: Sun, 27 Apr 2025 22:06:12 GMT Message-Id: <202504272206.53RM6CLX014569@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 32fdad17f060 - stable/14 - bnxt_en: 400G speed support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 32fdad17f0603a57ba2b917a7083d77193d06dd8 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=32fdad17f0603a57ba2b917a7083d77193d06dd8 commit 32fdad17f0603a57ba2b917a7083d77193d06dd8 Author: Sreekanth Reddy AuthorDate: 2025-04-02 09:39:53 +0000 Commit: Warner Losh CommitDate: 2025-04-27 22:02:59 +0000 bnxt_en: 400G speed support Added 400G speed module support. MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49729 (cherry picked from commit dac78335c42dce2ce9daf5856539510a42d7d8cd) --- sys/dev/bnxt/bnxt_en/bnxt.h | 18 +- sys/dev/bnxt/bnxt_en/bnxt_hwrm.c | 34 ++- sys/dev/bnxt/bnxt_en/if_bnxt.c | 524 +++++++++++++++++++++++++++++---------- 3 files changed, 441 insertions(+), 135 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index 1b928fa9c2fe..eff1976a7954 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -411,12 +411,19 @@ struct bnxt_link_info { uint16_t link_speed; uint16_t support_speeds; + uint16_t support_speeds2; uint16_t support_pam4_speeds; uint16_t auto_link_speeds; + uint16_t auto_link_speeds2; uint16_t auto_pam4_link_speeds; uint16_t force_link_speed; + uint16_t force_link_speeds2; uint16_t force_pam4_link_speed; - bool force_pam4_speed_set_by_user; + + bool force_pam4_speed; + bool force_speed2_nrz; + bool force_pam4_56_speed2; + bool force_pam4_112_speed2; uint16_t advertising; uint16_t advertising_pam4; @@ -426,8 +433,11 @@ struct bnxt_link_info { uint16_t support_force_speeds; uint16_t support_pam4_auto_speeds; uint16_t support_pam4_force_speeds; + uint16_t support_auto_speeds2; + uint16_t support_force_speeds2; #define BNXT_SIG_MODE_NRZ HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_NRZ #define BNXT_SIG_MODE_PAM4 HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_PAM4 +#define BNXT_SIG_MODE_PAM4_112 HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_PAM4_112 uint8_t req_signal_mode; uint8_t active_fec_sig_mode; @@ -447,7 +457,13 @@ enum bnxt_phy_type { BNXT_MEDIA_CR = 0, BNXT_MEDIA_LR, BNXT_MEDIA_SR, + BNXT_MEDIA_ER, BNXT_MEDIA_KR, + BNXT_MEDIA_AC, + BNXT_MEDIA_BASECX, + BNXT_MEDIA_BASET, + BNXT_MEDIA_BASEKX, + BNXT_MEDIA_BASESGMII, BNXT_MEDIA_END }; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c index 214866b766db..10c3beac9729 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c @@ -1369,15 +1369,24 @@ bnxt_hwrm_set_link_common(struct bnxt_softc *softc, req->flags |= htole32(HWRM_PORT_PHY_CFG_INPUT_FLAGS_RESTART_AUTONEG); } else { - req->flags |= htole32(HWRM_PORT_PHY_CFG_INPUT_FLAGS_FORCE); - if (link_info->force_pam4_speed_set_by_user) { + if (link_info->force_speed2_nrz || + link_info->force_pam4_56_speed2 || + link_info->force_pam4_112_speed2) { + req->force_link_speeds2 = htole16(fw_link_speed); + req->enables |= htole32(HWRM_PORT_PHY_CFG_INPUT_ENABLES_FORCE_LINK_SPEEDS2); + link_info->force_speed2_nrz = false; + link_info->force_pam4_56_speed2 = false; + link_info->force_pam4_112_speed2 = false; + } else if (link_info->force_pam4_speed) { req->force_pam4_link_speed = htole16(fw_link_speed); req->enables |= htole32(HWRM_PORT_PHY_CFG_INPUT_ENABLES_FORCE_PAM4_LINK_SPEED); - link_info->force_pam4_speed_set_by_user = false; + link_info->force_pam4_speed = false; } else { req->force_link_speed = htole16(fw_link_speed); } + + req->flags |= htole32(HWRM_PORT_PHY_CFG_INPUT_FLAGS_FORCE); } /* tell chimp that the setting takes effect immediately */ @@ -2832,7 +2841,7 @@ int bnxt_read_sfp_module_eeprom_info(struct bnxt_softc *softc, uint16_t i2c_addr HWRM_PORT_PHY_I2C_READ_INPUT_ENABLES_PAGE_OFFSET : 0) | (bank_sel_en ? HWRM_PORT_PHY_I2C_READ_INPUT_ENABLES_BANK_NUMBER : 0)); - rc = hwrm_send_message(softc, &req, sizeof(req)); + rc = _hwrm_send_message(softc, &req, sizeof(req)); if (!rc) memcpy(buf + byte_offset, output->data, xfer_size); byte_offset += xfer_size; @@ -2932,6 +2941,10 @@ bnxt_hwrm_port_phy_qcfg(struct bnxt_softc *softc) if (softc->hwrm_spec_code >= 0x10504) link_info->active_fec_sig_mode = resp->active_fec_signal_mode; + link_info->support_speeds2 = le16toh(resp->support_speeds2); + link_info->auto_link_speeds2 = le16toh(resp->auto_link_speeds2); + link_info->force_link_speeds2 = le16toh(resp->force_link_speeds2); + exit: BNXT_HWRM_UNLOCK(softc); return rc; @@ -2943,7 +2956,9 @@ bnxt_phy_qcaps_no_speed(struct hwrm_port_phy_qcaps_output *resp) if (!resp->supported_speeds_auto_mode && !resp->supported_speeds_force_mode && !resp->supported_pam4_speeds_auto_mode && - !resp->supported_pam4_speeds_force_mode) + !resp->supported_pam4_speeds_force_mode && + !resp->supported_speeds2_auto_mode && + !resp->supported_speeds2_force_mode) return true; return false; @@ -2986,6 +3001,7 @@ int bnxt_hwrm_phy_qcaps(struct bnxt_softc *softc) /* Phy re-enabled, reprobe the speeds */ link_info->support_auto_speeds = 0; link_info->support_pam4_auto_speeds = 0; + link_info->support_auto_speeds2 = 0; } } if (resp->supported_speeds_auto_mode) @@ -3001,6 +3017,14 @@ int bnxt_hwrm_phy_qcaps(struct bnxt_softc *softc) link_info->support_pam4_force_speeds = le16toh(resp->supported_pam4_speeds_force_mode); + if (resp->supported_speeds2_auto_mode) + link_info->support_auto_speeds2 = + le16toh(resp->supported_speeds2_auto_mode); + + if (resp->supported_speeds2_force_mode) + link_info->support_force_speeds2 = + le16toh(resp->supported_speeds2_force_mode); + exit: BNXT_HWRM_UNLOCK(softc); return rc; diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index a05a02936e40..e00f59fd390e 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -3135,17 +3135,15 @@ bnxt_media_change(if_ctx_t ctx) struct ifmedia *ifm = iflib_get_media(ctx); struct ifmediareq ifmr; int rc; + struct bnxt_link_info *link_info = &softc->link_info; if (IFM_TYPE(ifm->ifm_media) != IFM_ETHER) return EINVAL; - softc->link_info.req_signal_mode = - HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_PAM4; - switch (IFM_SUBTYPE(ifm->ifm_media)) { case IFM_100_T: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_100MB; break; case IFM_1000_KX: @@ -3153,103 +3151,229 @@ bnxt_media_change(if_ctx_t ctx) case IFM_1000_CX: case IFM_1000_SX: case IFM_1000_LX: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_1GB; + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_1GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_1GB; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_1GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_1GB; + link_info->force_speed2_nrz = true; + } + break; + case IFM_2500_KX: case IFM_2500_T: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_2_5GB; break; case IFM_10G_CR1: case IFM_10G_KR: case IFM_10G_LR: case IFM_10G_SR: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_10GB; + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds & HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_10GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_10GB; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_10GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_10GB; + link_info->force_speed2_nrz = true; + } + break; case IFM_20G_KR2: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_20GB; break; case IFM_25G_CR: case IFM_25G_KR: case IFM_25G_SR: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_25GB; + case IFM_25G_LR: + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds & HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_25GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_25GB; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_25GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_25GB; + link_info->force_speed2_nrz = true; + } + break; + case IFM_40G_CR4: case IFM_40G_KR4: case IFM_40G_LR4: case IFM_40G_SR4: case IFM_40G_XLAUI: case IFM_40G_XLAUI_AC: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_40GB; + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds & HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_40GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_40GB; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_40GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_40GB; + link_info->force_speed2_nrz = true; + } + break; + case IFM_50G_CR2: case IFM_50G_KR2: + case IFM_50G_KR4: case IFM_50G_SR2: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_50GB; + case IFM_50G_LR2: + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_50GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_50GB; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_50GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_50GB; + link_info->force_speed2_nrz = true; + } + break; + case IFM_50G_CP: case IFM_50G_LR: case IFM_50G_SR: case IFM_50G_KR_PAM4: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_50GB; - softc->link_info.req_signal_mode = - HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_PAM4; - softc->link_info.force_pam4_speed_set_by_user = true; + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_pam4_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_PAM4_SPEEDS_50G) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_50GB; + link_info->force_pam4_speed = true; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_50GB_PAM4_56) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_50GB_PAM4_56; + link_info->force_pam4_56_speed2 = true; + } + break; + case IFM_100G_CR4: case IFM_100G_KR4: case IFM_100G_LR4: case IFM_100G_SR4: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_100GB; + case IFM_100G_AUI4: + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_100GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_100GB; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_100GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_100GB; + link_info->force_speed2_nrz = true; + } + break; + case IFM_100G_CP2: case IFM_100G_SR2: - case IFM_100G_KR_PAM4: case IFM_100G_KR2_PAM4: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_100GB; - softc->link_info.req_signal_mode = - HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_PAM4; - softc->link_info.force_pam4_speed_set_by_user = true; + case IFM_100G_AUI2: + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_pam4_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_PAM4_SPEEDS_100G) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_100GB; + link_info->force_pam4_speed = true; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_100GB_PAM4_56) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_100GB_PAM4_56; + link_info->force_pam4_56_speed2 = true; + } + + break; + + case IFM_100G_KR_PAM4: + case IFM_100G_CR_PAM4: + case IFM_100G_DR: + case IFM_100G_AUI2_AC: + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_100GB_PAM4_112) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_100GB_PAM4_112; + link_info->force_pam4_112_speed2 = true; + } + break; + case IFM_200G_SR4: case IFM_200G_FR4: case IFM_200G_LR4: case IFM_200G_DR4: case IFM_200G_CR4_PAM4: case IFM_200G_KR4_PAM4: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_200GB; - softc->link_info.force_pam4_speed_set_by_user = true; - softc->link_info.req_signal_mode = - HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_PAM4; + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_pam4_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_PAM4_SPEEDS_200G) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_200GB; + link_info->force_pam4_speed = true; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_200GB_PAM4_56) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_200GB_PAM4_56; + link_info->force_pam4_56_speed2 = true; + } + + break; + + case IFM_200G_AUI4: + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_200GB_PAM4_112) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_200GB_PAM4_112; + link_info->force_pam4_112_speed2 = true; + } + break; + + case IFM_400G_FR8: + case IFM_400G_LR8: + case IFM_400G_AUI8: + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_400GB_PAM4_56) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_400GB_PAM4_56; + link_info->force_pam4_56_speed2 = true; + } + + break; + + case IFM_400G_AUI8_AC: + case IFM_400G_DR4: + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_400GB_PAM4_112) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_400GB_PAM4_112; + link_info->force_pam4_112_speed2 = true; + } + + break; + case IFM_1000_T: - softc->link_info.advertising = HWRM_PORT_PHY_CFG_INPUT_AUTO_LINK_SPEED_MASK_1GB; - softc->link_info.autoneg |= BNXT_AUTONEG_SPEED; + link_info->advertising = HWRM_PORT_PHY_CFG_INPUT_AUTO_LINK_SPEED_MASK_1GB; + link_info->autoneg |= BNXT_AUTONEG_SPEED; break; case IFM_10G_T: - softc->link_info.advertising = HWRM_PORT_PHY_CFG_INPUT_AUTO_LINK_SPEED_MASK_10GB; - softc->link_info.autoneg |= BNXT_AUTONEG_SPEED; + link_info->advertising = HWRM_PORT_PHY_CFG_INPUT_AUTO_LINK_SPEED_MASK_10GB; + link_info->autoneg |= BNXT_AUTONEG_SPEED; break; default: device_printf(softc->dev, @@ -3257,9 +3381,10 @@ bnxt_media_change(if_ctx_t ctx) /* Fall-through */ case IFM_AUTO: // Auto - softc->link_info.autoneg |= BNXT_AUTONEG_SPEED; + link_info->autoneg |= BNXT_AUTONEG_SPEED; break; } + rc = bnxt_hwrm_set_link_setting(softc, true, true, true); bnxt_media_status(softc->ctx, &ifmr); return rc; @@ -4031,57 +4156,161 @@ bnxt_probe_phy(struct bnxt_softc *softc) } static void -add_media(struct bnxt_softc *softc, uint8_t media_type, uint16_t supported, - uint16_t supported_pam4) +add_media(struct bnxt_softc *softc, u8 media_type, u16 supported_NRZ_speeds, + u16 supported_pam4_speeds, u16 supported_speeds2) { + switch (media_type) { case BNXT_MEDIA_CR: - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_50G, IFM_50G_CP); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_100G, IFM_100G_CP2); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_200G, IFM_200G_CR4_PAM4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_CR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_CR2); - BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_CR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_CR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_CR1); - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_CX); + + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_50G, IFM_50G_CP); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_100G, IFM_100G_CP2); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_200G, IFM_200G_CR4_PAM4); + + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_100GB, IFM_100G_CR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_50GB, IFM_50G_CR2); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_CR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_25GB, IFM_25G_CR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_CR1); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_CX); + /* thor2 nrz*/ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB, IFM_100G_CR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB, IFM_50G_CR2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_40GB, IFM_40G_CR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_25GB, IFM_25G_CR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_10GB, IFM_10G_CR1); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_1GB, IFM_1000_CX); + /* thor2 PAM56 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB_PAM4_56, IFM_50G_CP); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_56, IFM_100G_CP2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_56, IFM_200G_CR4_PAM4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_56, IFM_400G_AUI8); + /* thor2 PAM112 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_112, IFM_100G_CR_PAM4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_112, IFM_200G_AUI4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_112, IFM_400G_AUI8_AC); + break; case BNXT_MEDIA_LR: - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_50G, IFM_50G_LR); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_200G, IFM_200G_LR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_LR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_LR2); - BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_LR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_LR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_LR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_LX); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_50G, IFM_50G_LR); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_200G, IFM_200G_LR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_100GB, IFM_100G_LR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_50GB, IFM_50G_LR2); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_LR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_25GB, IFM_25G_LR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_LR); + /* thor2 nrz*/ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB, IFM_100G_LR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB, IFM_50G_LR2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_40GB, IFM_40G_LR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_25GB, IFM_25G_LR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_10GB, IFM_10G_LR); + /* thor2 PAM56 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB_PAM4_56, IFM_50G_LR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_56, IFM_100G_AUI2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_56, IFM_200G_LR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_56, IFM_400G_LR8); + /* thor2 PAM112 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_112, IFM_100G_AUI2_AC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_112, IFM_200G_AUI4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_112, IFM_400G_AUI8_AC); + break; case BNXT_MEDIA_SR: - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_50G, IFM_50G_SR); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_100G, IFM_100G_SR2); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_200G, IFM_200G_SR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_SR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_SR2); - BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_SR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_SR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_SR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_SX); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_50G, IFM_50G_SR); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_100G, IFM_100G_SR2); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_200G, IFM_200G_SR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_100GB, IFM_100G_SR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_50GB, IFM_50G_SR2); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_SR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_25GB, IFM_25G_SR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_SR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_SX); + /* thor2 nrz*/ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB, IFM_100G_SR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB, IFM_50G_SR2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_40GB, IFM_40G_SR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_25GB, IFM_25G_SR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_10GB, IFM_10G_SR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_1GB, IFM_1000_SX); + /* thor2 PAM56 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB_PAM4_56, IFM_50G_SR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_56, IFM_100G_SR2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_56, IFM_200G_SR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_56, IFM_400G_AUI8); + /* thor2 PAM112 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_112, IFM_100G_AUI2_AC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_112, IFM_200G_AUI4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_112, IFM_400G_DR4); + break; + + case BNXT_MEDIA_ER: + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_ER4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_100GB, IFM_100G_AUI4); + /* thor2 PAM56 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB_PAM4_56, IFM_50G_LR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_56, IFM_100G_AUI2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_56, IFM_200G_LR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_56, IFM_400G_FR8); + /* thor2 PAM112 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_112, IFM_100G_AUI2_AC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_112, IFM_200G_AUI4_AC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_112, IFM_400G_AUI8_AC); break; case BNXT_MEDIA_KR: - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_50G, IFM_50G_KR_PAM4); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_100G, IFM_100G_KR2_PAM4); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_200G, IFM_200G_KR4_PAM4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_KR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_KR2); - BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_KR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_KR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_KR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_20GB, IFM_20G_KR2); - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_KR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_KX); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_50G, IFM_50G_KR_PAM4); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_100G, IFM_100G_KR2_PAM4); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_200G, IFM_200G_KR4_PAM4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_100GB, IFM_100G_KR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_50GB, IFM_50G_KR2); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_50GB, IFM_50G_KR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_KR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_25GB, IFM_25G_KR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_20GB, IFM_20G_KR2); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_KR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_KX); + break; + + case BNXT_MEDIA_AC: + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_25GB, IFM_25G_ACC); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_AOC); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_XLAUI); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_XLAUI_AC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_25GB, IFM_25G_ACC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_10GB, IFM_10G_AOC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_40GB, IFM_40G_XLAUI); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_40GB, IFM_40G_XLAUI_AC); + break; + + case BNXT_MEDIA_BASECX: + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_CX); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_1GB, IFM_1000_CX); + break; + + case BNXT_MEDIA_BASET: + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_T); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_2_5GB, IFM_2500_T); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_T); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_100MB, IFM_100_T); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10MB, IFM_10_T); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_10GB, IFM_10G_T); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_1GB, IFM_1000_T); + break; + + case BNXT_MEDIA_BASEKX: + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_KR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_2_5GB, IFM_2500_KX); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_KX); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_10GB, IFM_10G_KR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_1GB, IFM_1000_KX); + break; + + case BNXT_MEDIA_BASESGMII: + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_SGMII); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_1GB, IFM_1000_SGMII); break; default: @@ -4096,11 +4325,12 @@ static void bnxt_add_media_types(struct bnxt_softc *softc) { struct bnxt_link_info *link_info = &softc->link_info; - uint16_t supported = 0, supported_pam4 = 0; + uint16_t supported_NRZ_speeds = 0, supported_pam4_speeds = 0, supported_speeds2 = 0; uint8_t phy_type = get_phy_type(softc), media_type; - supported = link_info->support_speeds; - supported_pam4 = link_info->support_pam4_speeds; + supported_NRZ_speeds = link_info->support_speeds; + supported_speeds2 = link_info->support_speeds2; + supported_pam4_speeds = link_info->support_pam4_speeds; /* Auto is always supported */ ifmedia_add(softc->media, IFM_ETHER | IFM_AUTO, 0, NULL); @@ -4109,40 +4339,75 @@ bnxt_add_media_types(struct bnxt_softc *softc) return; switch (phy_type) { - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASECR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASECR4: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASECR2: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASECR: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASECR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_25G_BASECR_CA_L: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_25G_BASECR_CA_S: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_25G_BASECR_CA_N: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASECR: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASECR: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASECR2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASECR4: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASECR8: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASECR: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASECR2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASECR4: + media_type = BNXT_MEDIA_CR; break; - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASELR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASELR4: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASELR: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASELR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASELR: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASELR: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASELR2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASELR4: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASELR8: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASELR: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASELR2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASELR4: + media_type = BNXT_MEDIA_LR; break; - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASESR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASESR10: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASESR4: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASESR: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASESR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASESR: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASEER4: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASEER4: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASEER4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_25G_BASESR: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_1G_BASESX: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASESR: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASESR2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASESR4: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASESR8: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASESR: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASESR2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASESR4: + media_type = BNXT_MEDIA_SR; break; + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASEER4: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASEER4: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASEER: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASEER2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASEER4: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASEER8: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASEER: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASEER2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASEER4: + + media_type = BNXT_MEDIA_ER; + break; + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKR2: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKR: @@ -4150,34 +4415,25 @@ bnxt_add_media_types(struct bnxt_softc *softc) break; case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_ACTIVE_CABLE: - BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_ACC); - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_AOC); - BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_XLAUI); - BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_XLAUI_AC); + media_type = BNXT_MEDIA_AC; return; case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_1G_BASECX: - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GBHD, IFM_1000_CX); + media_type = BNXT_MEDIA_BASECX; return; case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_1G_BASET: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASET: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASETE: - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_T); - BNXT_IFMEDIA_ADD(supported, SPEEDS_2_5GB, IFM_2500_T); - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_T); - BNXT_IFMEDIA_ADD(supported, SPEEDS_100MB, IFM_100_T); - BNXT_IFMEDIA_ADD(supported, SPEEDS_10MB, IFM_10_T); + media_type = BNXT_MEDIA_BASET; return; case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKX: - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_KR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_2_5GB, IFM_2500_KX); - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_KX); + media_type = BNXT_MEDIA_BASEKX; return; case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_SGMIIEXTPHY: - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_SGMII); + media_type = BNXT_MEDIA_BASESGMII; return; case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_UNKNOWN: @@ -4190,17 +4446,22 @@ bnxt_add_media_types(struct bnxt_softc *softc) return; } - /* add_media is invoked twice, once with a firmware speed mask of 0 and a valid - * value for both NRZ and PAM4 sig mode. This ensures accurate display of all - * supported medias and currently configured media in the "ifconfig -m" output - */ - - if (link_info->sig_mode == BNXT_SIG_MODE_PAM4) { - add_media(softc, media_type, supported, 0); - add_media(softc, media_type, 0, supported_pam4); - } else { - add_media(softc, media_type, 0, supported_pam4); - add_media(softc, media_type, supported, 0); + switch (link_info->sig_mode) { + case BNXT_SIG_MODE_NRZ: + if (supported_NRZ_speeds != 0) + add_media(softc, media_type, supported_NRZ_speeds, 0, 0); + else + add_media(softc, media_type, 0, 0, supported_speeds2); + break; + case BNXT_SIG_MODE_PAM4: + if (supported_pam4_speeds != 0) + add_media(softc, media_type, 0, supported_pam4_speeds, 0); + else + add_media(softc, media_type, 0, 0, supported_speeds2); + break; + case BNXT_SIG_MODE_PAM4_112: + add_media(softc, media_type, 0, 0, supported_speeds2); + break; } return; @@ -4373,7 +4634,10 @@ bnxt_report_link(struct bnxt_softc *softc) signal_mode = "(NRZ) "; break; case BNXT_SIG_MODE_PAM4: - signal_mode = "(PAM4) "; + signal_mode = "(PAM4 56Gbps) "; + break; + case BNXT_SIG_MODE_PAM4_112: + signal_mode = "(PAM4 112Gbps) "; break; default: break; @@ -4837,6 +5101,8 @@ bnxt_get_baudrate(struct bnxt_link_info *link) return IF_Mbps(10); case HWRM_PORT_PHY_QCFG_OUTPUT_LINK_SPEED_200GB: return IF_Gbps(200); + case HWRM_PORT_PHY_QCFG_OUTPUT_LINK_SPEED_400GB: + return IF_Gbps(400); } return IF_Gbps(100); } From nobody Sun Apr 27 22:06:13 2025 X-Original-To: dev-commits-src-branches@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 4Zm0yv0mdRz5vP5g; Sun, 27 Apr 2025 22:06:15 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm0ys6pG3z3YvM; Sun, 27 Apr 2025 22:06:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791573; 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=anSUjBRA5rnoXvYHaGUiVKJuAU1mT49iP9MOu2j2RmU=; b=bIVQm6PibmlaEU9B/2EK36B+3iIIfQQ2w8lpTSNZA0spj7FGBhyC2k2IoGYijQiqIYbDbv 8wQT1pUpOJS5SUaPi6G3aVPxKA4XE0glT1tb43up+82YsrQpJHN9lQidi9TTdqOPAULioM g/Nove0soViih53P4h09PEcC1iSetsSxLguG6zouAVuPjU9IvyfzdqfEbH0n67YQGv+vgJ SQA49C7yTwRBVk4EMo3Y9hUNzc8Ov9x7e7NAzggGwUmMaHEnKveXPujenk2vJmCXi36orz wahOcCQu+bdQbVVBQYxajlDXa6Itzzr9iAcaCvEkjUmiA+LYaekO+X0/HX9WIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745791573; a=rsa-sha256; cv=none; b=bA0L/S/98/cl2u+1GlSpgw0kGI7B2UQ3KrcQA3DvWPS6IPJ/zX5uknlrpgsrhcQROOLeZM OjvB4/znzszXMFW/qcObnMfM2Es2fAeUo7GVy1MfEN10dfO/h2S4dJOi971rMB3S3TxAYT wCmL4zyr/kg+okrQjdsayNWNIokJPWv3w5ZA+NxFTPSWBglmKU8Saw/hastWDDNh4elzCy JkrlCdToOYOZo0q5P3sgndaU9xk4V7ovs/+EaeiCM+wDzunwVfwKb+Zj3pfanl/7xaq4qs v0r7AeB/GnQRKHoiTVWcNYwXj5T1I9LehL12xg88DpezGAMxupkthJLGtfQQBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791573; 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=anSUjBRA5rnoXvYHaGUiVKJuAU1mT49iP9MOu2j2RmU=; b=UEwbNxbOUyv4ADhf2L+xvPLH20aBHK90i8zyPHBYt2ALt8te6leoK9wdLZZ/Z1rrwjkBDF iB79u/FiE904HG2+zx/CsOJKi9YK3cZalLpgaM2gtWeBFFBlSACNzDFThCtcyZWxY6p/ol E4IhLhWJsy64gNmwXncY4htnB98SR3Q6rC9Hw5gba/MISRSDxP+hLCZq+et2yG8hfi2/zA /ljc8WygNNJvpzkVSvkrMTN08BrZN4dj/90HrK56+OP3GeCxUD9rqkfkPVZfDO2CQWiALH 8tYgO0vCVCgiRMxNBW9WLFXGiSchXniAR120eVQfXrlmHLgJZrm94aIvYDTo/Q== 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 4Zm0ys6H0lz1MxQ; Sun, 27 Apr 2025 22:06:13 +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 53RM6Djc014604; Sun, 27 Apr 2025 22:06:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RM6DXT014601; Sun, 27 Apr 2025 22:06:13 GMT (envelope-from git) Date: Sun, 27 Apr 2025 22:06:13 GMT Message-Id: <202504272206.53RM6DXT014601@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: ced1133739d4 - stable/14 - bnxt_en: Thor2 Specific Doorbell related changes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ced1133739d405f15719e4881d458877d207f28e Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ced1133739d405f15719e4881d458877d207f28e commit ced1133739d405f15719e4881d458877d207f28e Author: Sreekanth Reddy AuthorDate: 2025-04-09 05:44:22 +0000 Commit: Warner Losh CommitDate: 2025-04-27 22:02:59 +0000 bnxt_en: Thor2 Specific Doorbell related changes Doorbell offset : For Thor controllers doorbell offset was always hardcoded to 0x10000 for PF devices where as for Thor2 controllers doorbell offset will be legacy_l2_db_size_kb value provided by firmware through hwrm_func_qcfg command. CQ Toggle & Epoch bits support : In order to handle out of order doorbell handling as part of Dropped Doorbell Recovery, HW expects two changes in the driver in data path. - First change is the epoch bit changes while updating the producer indexes of Tx. This epoch bit is toggled by the driver, each time the queue is wrapped for that specific doorbell. - The second change is to add a toggle bit pair to each ARM type doorbell. This includes the CQ_ARMALL, CQ_ARMSE, CQ_ARMENA doorbells. The toggle bit pair in context is incremented by the chip each time a new NQE completion is generated by the chip. To keep the driver in-sync, the toggle bit pair will be passed in the NQE to the host completion. This will be the toggle bit pair value that the host must use to setup the next NQE operation. The driver will pass that latest toggle bit pair value into the ARM type doorbells it generates to the chip. The doorbell clients will compare the toggle bit pair in each doorbell with the value in context. If the values match, the doorbell will be honored. If the values do not match, the doorbell will be discarded. MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49730 (cherry picked from commit 39c0b8b7994b0d339bffb0b17291c4a2b14cae3a) --- sys/dev/bnxt/bnxt_en/bnxt.h | 88 ++++++++++++----- sys/dev/bnxt/bnxt_en/bnxt_txrx.c | 52 +++++++++- sys/dev/bnxt/bnxt_en/if_bnxt.c | 203 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 311 insertions(+), 32 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index eff1976a7954..0ba7b5723b91 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -190,32 +190,36 @@ #define BNXT_NO_MORE_WOL_FILTERS 0xFFFF #define bnxt_wol_supported(softc) (!((softc)->flags & BNXT_FLAG_VF) && \ ((softc)->flags & BNXT_FLAG_WOL_CAP )) - /* 64-bit doorbell */ -#define DBR_INDEX_MASK 0x0000000000ffffffULL -#define DBR_PI_LO_MASK 0xff000000UL -#define DBR_PI_LO_SFT 24 -#define DBR_XID_MASK 0x000fffff00000000ULL -#define DBR_XID_SFT 32 -#define DBR_PI_HI_MASK 0xf0000000000000ULL -#define DBR_PI_HI_SFT 52 -#define DBR_PATH_L2 (0x1ULL << 56) -#define DBR_VALID (0x1ULL << 58) -#define DBR_TYPE_SQ (0x0ULL << 60) -#define DBR_TYPE_RQ (0x1ULL << 60) -#define DBR_TYPE_SRQ (0x2ULL << 60) -#define DBR_TYPE_SRQ_ARM (0x3ULL << 60) -#define DBR_TYPE_CQ (0x4ULL << 60) -#define DBR_TYPE_CQ_ARMSE (0x5ULL << 60) -#define DBR_TYPE_CQ_ARMALL (0x6ULL << 60) -#define DBR_TYPE_CQ_ARMENA (0x7ULL << 60) -#define DBR_TYPE_SRQ_ARMENA (0x8ULL << 60) -#define DBR_TYPE_CQ_CUTOFF_ACK (0x9ULL << 60) -#define DBR_TYPE_NQ (0xaULL << 60) -#define DBR_TYPE_NQ_ARM (0xbULL << 60) -#define DBR_TYPE_PUSH_START (0xcULL << 60) -#define DBR_TYPE_PUSH_END (0xdULL << 60) -#define DBR_TYPE_NULL (0xfULL << 60) +#define DBR_INDEX_MASK 0x0000000000ffffffULL +#define DBR_PI_LO_MASK 0xff000000UL +#define DBR_PI_LO_SFT 24 +#define DBR_EPOCH_MASK 0x01000000UL +#define DBR_EPOCH_SFT 24 +#define DBR_TOGGLE_MASK 0x06000000UL +#define DBR_TOGGLE_SFT 25 +#define DBR_XID_MASK 0x000fffff00000000ULL +#define DBR_XID_SFT 32 +#define DBR_PI_HI_MASK 0xf0000000000000ULL +#define DBR_PI_HI_SFT 52 +#define DBR_PATH_L2 (0x1ULL << 56) +#define DBR_VALID (0x1ULL << 58) +#define DBR_TYPE_SQ (0x0ULL << 60) +#define DBR_TYPE_RQ (0x1ULL << 60) +#define DBR_TYPE_SRQ (0x2ULL << 60) +#define DBR_TYPE_SRQ_ARM (0x3ULL << 60) +#define DBR_TYPE_CQ (0x4ULL << 60) +#define DBR_TYPE_CQ_ARMSE (0x5ULL << 60) +#define DBR_TYPE_CQ_ARMALL (0x6ULL << 60) +#define DBR_TYPE_CQ_ARMENA (0x7ULL << 60) +#define DBR_TYPE_SRQ_ARMENA (0x8ULL << 60) +#define DBR_TYPE_CQ_CUTOFF_ACK (0x9ULL << 60) +#define DBR_TYPE_NQ (0xaULL << 60) +#define DBR_TYPE_NQ_ARM (0xbULL << 60) +#define DBR_TYPE_PUSH_START (0xcULL << 60) +#define DBR_TYPE_PUSH_END (0xdULL << 60) +#define DBR_TYPE_NQ_MASK (0xeULL << 60) +#define DBR_TYPE_NULL (0xfULL << 60) #define BNXT_MAX_L2_QUEUES 128 #define BNXT_ROCE_IRQ_COUNT 9 @@ -582,6 +586,8 @@ struct bnxt_grp_info { uint16_t ag_ring_id; }; +#define EPOCH_ARR_SZ 4096 + struct bnxt_ring { uint64_t paddr; vm_offset_t doorbell; @@ -592,12 +598,24 @@ struct bnxt_ring { uint16_t phys_id; uint16_t idx; struct bnxt_full_tpa_start *tpa_start; + union { + u64 db_key64; + u32 db_key32; + }; + uint32_t db_ring_mask; + uint32_t db_epoch_mask; + uint8_t db_epoch_shift; + + uint64_t epoch_arr[EPOCH_ARR_SZ]; + bool epoch_bit; + }; struct bnxt_cp_ring { struct bnxt_ring ring; struct if_irq irq; uint32_t cons; + uint32_t raw_cons; bool v_bit; /* Value of valid bit */ struct ctx_hw_stats *stats; uint32_t stats_ctx_id; @@ -605,6 +623,10 @@ struct bnxt_cp_ring { * set to the last read pidx */ uint64_t int_count; + uint8_t toggle; + uint8_t type; +#define Q_TYPE_TX 1 +#define Q_TYPE_RX 2 }; struct bnxt_full_tpa_start { @@ -1005,6 +1027,22 @@ struct bnxt_fw_health { #define BNXT_GRC_BASE_MASK 0xfffff000 #define BNXT_GRC_OFFSET_MASK 0x00000ffc + +#define NQE_CN_TYPE(type) ((type) & NQ_CN_TYPE_MASK) +#define NQE_CN_TOGGLE(type) (((type) & NQ_CN_TOGGLE_MASK) >> \ + NQ_CN_TOGGLE_SFT) + +#define DB_EPOCH(ring, idx) (((idx) & (ring)->db_epoch_mask) << \ + ((ring)->db_epoch_shift)) + +#define DB_TOGGLE(tgl) ((tgl) << DBR_TOGGLE_SFT) + +#define DB_RING_IDX_CMP(ring, idx) (((idx) & (ring)->db_ring_mask) | \ + DB_EPOCH(ring, idx)) + +#define DB_RING_IDX(ring, idx, bit) (((idx) & (ring)->db_ring_mask) | \ + ((bit) << (24))) + struct bnxt_softc { device_t dev; if_ctx_t ctx; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_txrx.c b/sys/dev/bnxt/bnxt_en/bnxt_txrx.c index 733db2902a5c..8b2ff6238367 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_txrx.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_txrx.c @@ -98,6 +98,7 @@ bnxt_isc_txd_encap(void *sc, if_pkt_info_t pi) uint16_t lflags; uint32_t cfa_meta; int seg = 0; + uint8_t wrap = 0; /* If we have offloads enabled, we need to use two BDs. */ if ((pi->ipi_csum_flags & (CSUM_OFFLOAD | CSUM_TSO | CSUM_IP)) || @@ -124,7 +125,18 @@ bnxt_isc_txd_encap(void *sc, if_pkt_info_t pi) if (need_hi) { flags_type |= TX_BD_LONG_TYPE_TX_BD_LONG; + /* Handle wrapping */ + if (pi->ipi_new_pidx == txr->ring_size - 1) + wrap = 1; + pi->ipi_new_pidx = RING_NEXT(txr, pi->ipi_new_pidx); + + /* Toggle epoch bit on wrap */ + if (wrap && pi->ipi_new_pidx == 0) + txr->epoch_bit = !txr->epoch_bit; + if (pi->ipi_new_pidx < EPOCH_ARR_SZ) + txr->epoch_arr[pi->ipi_new_pidx] = txr->epoch_bit; + tbdh = &((struct tx_bd_long_hi *)txr->vaddr)[pi->ipi_new_pidx]; tbdh->kid_or_ts_high_mss = htole16(pi->ipi_tso_segsz); tbdh->kid_or_ts_low_hdr_size = htole16((pi->ipi_ehdrlen + pi->ipi_ip_hlen + @@ -158,7 +170,15 @@ bnxt_isc_txd_encap(void *sc, if_pkt_info_t pi) for (; seg < pi->ipi_nsegs; seg++) { tbd->flags_type = htole16(flags_type); + + if (pi->ipi_new_pidx == txr->ring_size - 1) + wrap = 1; pi->ipi_new_pidx = RING_NEXT(txr, pi->ipi_new_pidx); + if (wrap && pi->ipi_new_pidx == 0) + txr->epoch_bit = !txr->epoch_bit; + if (pi->ipi_new_pidx < EPOCH_ARR_SZ) + txr->epoch_arr[pi->ipi_new_pidx] = txr->epoch_bit; + tbd = &((struct tx_bd_long *)txr->vaddr)[pi->ipi_new_pidx]; tbd->len = htole16(pi->ipi_segs[seg].ds_len); tbd->addr = htole64(pi->ipi_segs[seg].ds_addr); @@ -166,7 +186,13 @@ bnxt_isc_txd_encap(void *sc, if_pkt_info_t pi) } flags_type |= TX_BD_SHORT_FLAGS_PACKET_END; tbd->flags_type = htole16(flags_type); + if (pi->ipi_new_pidx == txr->ring_size - 1) + wrap = 1; pi->ipi_new_pidx = RING_NEXT(txr, pi->ipi_new_pidx); + if (wrap && pi->ipi_new_pidx == 0) + txr->epoch_bit = !txr->epoch_bit; + if (pi->ipi_new_pidx < EPOCH_ARR_SZ) + txr->epoch_arr[pi->ipi_new_pidx] = txr->epoch_bit; return 0; } @@ -190,16 +216,21 @@ bnxt_isc_txd_credits_update(void *sc, uint16_t txqid, bool clear) struct tx_cmpl *cmpl = (struct tx_cmpl *)cpr->ring.vaddr; int avail = 0; uint32_t cons = cpr->cons; + uint32_t raw_cons = cpr->raw_cons; bool v_bit = cpr->v_bit; bool last_v_bit; uint32_t last_cons; + uint32_t last_raw_cons; uint16_t type; uint16_t err; for (;;) { last_cons = cons; + last_raw_cons = raw_cons; last_v_bit = v_bit; + NEXT_CP_CONS_V(&cpr->ring, cons, v_bit); + raw_cons++; CMPL_PREFETCH_NEXT(cpr, cons); if (!CMP_VALID(&cmpl[cons], v_bit)) @@ -227,8 +258,10 @@ bnxt_isc_txd_credits_update(void *sc, uint16_t txqid, bool clear) default: if (type & 1) { NEXT_CP_CONS_V(&cpr->ring, cons, v_bit); - if (!CMP_VALID(&cmpl[cons], v_bit)) + raw_cons++; + if (!CMP_VALID(&cmpl[cons], v_bit)) { goto done; + } } device_printf(softc->dev, "Unhandled TX completion type %u\n", type); @@ -239,6 +272,7 @@ done: if (clear && avail) { cpr->cons = last_cons; + cpr->raw_cons = last_raw_cons; cpr->v_bit = last_v_bit; softc->db_ops.bnxt_db_tx_cq(cpr, 0); } @@ -285,9 +319,16 @@ bnxt_isc_rxd_refill(void *sc, if_rxd_update_t iru) rxbd[pidx].opaque = (((rxqid & 0xff) << 24) | (flid << 16) | (frag_idxs[i])); rxbd[pidx].addr = htole64(paddrs[i]); - if (++pidx == rx_ring->ring_size) + + /* Increment pidx and handle wrap-around */ + if (++pidx == rx_ring->ring_size) { pidx = 0; + rx_ring->epoch_bit = !rx_ring->epoch_bit; + } + if (pidx < EPOCH_ARR_SZ) + rx_ring->epoch_arr[pidx] = rx_ring->epoch_bit; } + return; } @@ -472,6 +513,7 @@ bnxt_pkt_get_l2(struct bnxt_softc *softc, if_rxd_info_t ri, /* Now the second 16-byte BD */ NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); rcph = &((struct rx_pkt_cmpl_hi *)cpr->ring.vaddr)[cpr->cons]; @@ -503,6 +545,7 @@ bnxt_pkt_get_l2(struct bnxt_softc *softc, if_rxd_info_t ri, /* And finally the ag ring stuff. */ for (i=1; i < ri->iri_nfrags; i++) { NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); acp = &((struct rx_abuf_cmpl *)cpr->ring.vaddr)[cpr->cons]; @@ -553,6 +596,7 @@ bnxt_pkt_get_tpa(struct bnxt_softc *softc, if_rxd_info_t ri, /* Now the second 16-byte BD */ NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); flags2 = le32toh(tpas->high.flags2); @@ -578,6 +622,7 @@ bnxt_pkt_get_tpa(struct bnxt_softc *softc, if_rxd_info_t ri, /* Now the ag ring stuff. */ for (i=1; i < ri->iri_nfrags; i++) { NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); acp = &((struct rx_abuf_cmpl *)cpr->ring.vaddr)[cpr->cons]; @@ -614,6 +659,7 @@ bnxt_isc_rxd_pkt_get(void *sc, if_rxd_info_t ri) for (;;) { NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); CMPL_PREFETCH_NEXT(cpr, cpr->cons); cmp = &((struct cmpl_base *)cpr->ring.vaddr)[cpr->cons]; @@ -636,6 +682,7 @@ bnxt_isc_rxd_pkt_get(void *sc, if_rxd_info_t ri) softc->rx_rings[ri->iri_qsidx].tpa_start[agg_id].low = *rtpa; NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); CMPL_PREFETCH_NEXT(cpr, cpr->cons); @@ -649,6 +696,7 @@ bnxt_isc_rxd_pkt_get(void *sc, if_rxd_info_t ri) if (type & 1) { NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); CMPL_PREFETCH_NEXT(cpr, cpr->cons); diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index e00f59fd390e..8960866fcf90 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -428,6 +428,18 @@ bnxt_nq_free(struct bnxt_softc *softc) softc->nq_rings = NULL; } + +static void +bnxt_set_db_mask(struct bnxt_softc *bp, struct bnxt_ring *db, + u32 ring_type) +{ + if (BNXT_CHIP_P7(bp)) { + db->db_epoch_mask = db->db_ring_mask + 1; + db->db_epoch_shift = DBR_EPOCH_SFT - ilog2(db->db_epoch_mask); + + } +} + /* * Device Dependent Configuration Functions */ @@ -492,6 +504,8 @@ bnxt_tx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->legacy_db_size: softc->tx_cp_rings[i].ring.id * 0x80; softc->tx_cp_rings[i].ring.ring_size = softc->scctx->isc_ntxd[0]; + softc->tx_cp_rings[i].ring.db_ring_mask = + softc->tx_cp_rings[i].ring.ring_size - 1; softc->tx_cp_rings[i].ring.vaddr = vaddrs[i * ntxqs]; softc->tx_cp_rings[i].ring.paddr = paddrs[i * ntxqs]; @@ -505,6 +519,7 @@ bnxt_tx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->tx_rings[i].doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? softc->legacy_db_size : softc->tx_rings[i].id * 0x80; softc->tx_rings[i].ring_size = softc->scctx->isc_ntxd[1]; + softc->tx_rings[i].db_ring_mask = softc->tx_rings[i].ring_size - 1; softc->tx_rings[i].vaddr = vaddrs[i * ntxqs + 1]; softc->tx_rings[i].paddr = paddrs[i * ntxqs + 1]; @@ -521,8 +536,10 @@ bnxt_tx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->nq_rings[i].ring.doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? softc->legacy_db_size : softc->nq_rings[i].ring.id * 0x80; softc->nq_rings[i].ring.ring_size = softc->scctx->isc_ntxd[2]; + softc->nq_rings[i].ring.db_ring_mask = softc->nq_rings[i].ring.ring_size - 1; softc->nq_rings[i].ring.vaddr = vaddrs[i * ntxqs + 2]; softc->nq_rings[i].ring.paddr = paddrs[i * ntxqs + 2]; + softc->nq_rings[i].type = Q_TYPE_TX; } } @@ -684,6 +701,8 @@ bnxt_rx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, */ softc->rx_cp_rings[i].ring.ring_size = softc->scctx->isc_nrxd[0]; + softc->rx_cp_rings[i].ring.db_ring_mask = + softc->rx_cp_rings[i].ring.ring_size - 1; softc->rx_cp_rings[i].ring.vaddr = vaddrs[i * nrxqs]; softc->rx_cp_rings[i].ring.paddr = paddrs[i * nrxqs]; @@ -696,6 +715,8 @@ bnxt_rx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->rx_rings[i].doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? softc->legacy_db_size : softc->rx_rings[i].id * 0x80; softc->rx_rings[i].ring_size = softc->scctx->isc_nrxd[1]; + softc->rx_rings[i].db_ring_mask = + softc->rx_rings[i].ring_size -1; softc->rx_rings[i].vaddr = vaddrs[i * nrxqs + 1]; softc->rx_rings[i].paddr = paddrs[i * nrxqs + 1]; @@ -717,6 +738,7 @@ bnxt_rx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->ag_rings[i].doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? softc->legacy_db_size : softc->ag_rings[i].id * 0x80; softc->ag_rings[i].ring_size = softc->scctx->isc_nrxd[2]; + softc->ag_rings[i].db_ring_mask = softc->ag_rings[i].ring_size - 1; softc->ag_rings[i].vaddr = vaddrs[i * nrxqs + 2]; softc->ag_rings[i].paddr = paddrs[i * nrxqs + 2]; @@ -1414,6 +1436,141 @@ static void bnxt_thor_db_nq(void *db_ptr, bool enable_irq) BUS_SPACE_BARRIER_WRITE); } +static void +bnxt_thor2_db_rx(void *db_ptr, uint16_t idx) +{ + struct bnxt_ring *ring = (struct bnxt_ring *) db_ptr; + struct bnxt_bar_info *db_bar = &ring->softc->doorbell_bar; + uint64_t db_val; + + if (idx >= ring->ring_size) { + device_printf(ring->softc->dev, "%s: BRCM DBG: idx: %d crossed boundary\n", __func__, idx); + return; + } + + db_val = ((DBR_PATH_L2 | DBR_TYPE_SRQ | DBR_VALID | idx) | + ((uint64_t)ring->phys_id << DBR_XID_SFT)); + + /* Add the PI index */ + db_val |= DB_RING_IDX(ring, idx, ring->epoch_arr[idx]); + + bus_space_barrier(db_bar->tag, db_bar->handle, ring->doorbell, 8, + BUS_SPACE_BARRIER_WRITE); + bus_space_write_8(db_bar->tag, db_bar->handle, ring->doorbell, + htole64(db_val)); +} + +static void +bnxt_thor2_db_tx(void *db_ptr, uint16_t idx) +{ + struct bnxt_ring *ring = (struct bnxt_ring *) db_ptr; + struct bnxt_bar_info *db_bar = &ring->softc->doorbell_bar; + uint64_t db_val; + + if (idx >= ring->ring_size) { + device_printf(ring->softc->dev, "%s: BRCM DBG: idx: %d crossed boundary\n", __func__, idx); + return; + } + + db_val = ((DBR_PATH_L2 | DBR_TYPE_SQ | DBR_VALID | idx) | + ((uint64_t)ring->phys_id << DBR_XID_SFT)); + + /* Add the PI index */ + db_val |= DB_RING_IDX(ring, idx, ring->epoch_arr[idx]); + + bus_space_barrier(db_bar->tag, db_bar->handle, ring->doorbell, 8, + BUS_SPACE_BARRIER_WRITE); + bus_space_write_8(db_bar->tag, db_bar->handle, ring->doorbell, + htole64(db_val)); +} + +static void +bnxt_thor2_db_rx_cq(void *db_ptr, bool enable_irq) +{ + struct bnxt_cp_ring *cpr = (struct bnxt_cp_ring *) db_ptr; + struct bnxt_bar_info *db_bar = &cpr->ring.softc->doorbell_bar; + u64 db_msg = { 0 }; + uint32_t cons = cpr->raw_cons; + uint32_t toggle = 0; + + if (cons == UINT32_MAX) + cons = 0; + + if (enable_irq == true) + toggle = cpr->toggle; + + db_msg = DBR_PATH_L2 | ((u64)cpr->ring.phys_id << DBR_XID_SFT) | DBR_VALID | + DB_RING_IDX_CMP(&cpr->ring, cons) | DB_TOGGLE(toggle); + + if (enable_irq) + db_msg |= DBR_TYPE_CQ_ARMALL; + else + db_msg |= DBR_TYPE_CQ; + + bus_space_barrier(db_bar->tag, db_bar->handle, cpr->ring.doorbell, 8, + BUS_SPACE_BARRIER_WRITE); + bus_space_write_8(db_bar->tag, db_bar->handle, cpr->ring.doorbell, + htole64(*(uint64_t *)&db_msg)); + bus_space_barrier(db_bar->tag, db_bar->handle, 0, db_bar->size, + BUS_SPACE_BARRIER_WRITE); +} + +static void +bnxt_thor2_db_tx_cq(void *db_ptr, bool enable_irq) +{ + struct bnxt_cp_ring *cpr = (struct bnxt_cp_ring *) db_ptr; + struct bnxt_bar_info *db_bar = &cpr->ring.softc->doorbell_bar; + u64 db_msg = { 0 }; + uint32_t cons = cpr->raw_cons; + uint32_t toggle = 0; + + if (enable_irq == true) + toggle = cpr->toggle; + + db_msg = DBR_PATH_L2 | ((u64)cpr->ring.phys_id << DBR_XID_SFT) | DBR_VALID | + DB_RING_IDX_CMP(&cpr->ring, cons) | DB_TOGGLE(toggle); + + if (enable_irq) + db_msg |= DBR_TYPE_CQ_ARMALL; + else + db_msg |= DBR_TYPE_CQ; + + bus_space_barrier(db_bar->tag, db_bar->handle, cpr->ring.doorbell, 8, + BUS_SPACE_BARRIER_WRITE); + bus_space_write_8(db_bar->tag, db_bar->handle, cpr->ring.doorbell, + htole64(*(uint64_t *)&db_msg)); + bus_space_barrier(db_bar->tag, db_bar->handle, 0, db_bar->size, + BUS_SPACE_BARRIER_WRITE); +} + +static void +bnxt_thor2_db_nq(void *db_ptr, bool enable_irq) +{ + struct bnxt_cp_ring *cpr = (struct bnxt_cp_ring *) db_ptr; + struct bnxt_bar_info *db_bar = &cpr->ring.softc->doorbell_bar; + u64 db_msg = { 0 }; + uint32_t cons = cpr->raw_cons; + uint32_t toggle = 0; + + if (enable_irq == true) + toggle = cpr->toggle; + + db_msg = DBR_PATH_L2 | ((u64)cpr->ring.phys_id << DBR_XID_SFT) | DBR_VALID | + DB_RING_IDX_CMP(&cpr->ring, cons) | DB_TOGGLE(toggle); + + if (enable_irq) + db_msg |= DBR_TYPE_NQ_ARM; + else + db_msg |= DBR_TYPE_NQ_MASK; + + bus_space_barrier(db_bar->tag, db_bar->handle, cpr->ring.doorbell, 8, + BUS_SPACE_BARRIER_WRITE); + bus_space_write_8(db_bar->tag, db_bar->handle, cpr->ring.doorbell, + htole64(*(uint64_t *)&db_msg)); + bus_space_barrier(db_bar->tag, db_bar->handle, 0, db_bar->size, + BUS_SPACE_BARRIER_WRITE); +} + struct bnxt_softc *bnxt_find_dev(uint32_t domain, uint32_t bus, uint32_t dev_fn, char *dev_name) { struct bnxt_softc_list *sc = NULL; @@ -2295,6 +2452,12 @@ bnxt_attach_pre(if_ctx_t ctx) softc->db_ops.bnxt_db_rx_cq = bnxt_thor_db_rx_cq; softc->db_ops.bnxt_db_tx_cq = bnxt_thor_db_tx_cq; softc->db_ops.bnxt_db_nq = bnxt_thor_db_nq; + } else if (BNXT_CHIP_P7(softc)) { + softc->db_ops.bnxt_db_tx = bnxt_thor2_db_tx; + softc->db_ops.bnxt_db_rx = bnxt_thor2_db_rx; + softc->db_ops.bnxt_db_rx_cq = bnxt_thor2_db_rx_cq; + softc->db_ops.bnxt_db_tx_cq = bnxt_thor2_db_tx_cq; + softc->db_ops.bnxt_db_nq = bnxt_thor2_db_nq; } else { softc->db_ops.bnxt_db_tx = bnxt_cuw_db_tx; softc->db_ops.bnxt_db_rx = bnxt_cuw_db_rx; @@ -2455,6 +2618,7 @@ bnxt_attach_pre(if_ctx_t ctx) softc->legacy_db_size : softc->def_cp_ring.ring.id * 0x80; softc->def_cp_ring.ring.ring_size = PAGE_SIZE / sizeof(struct cmpl_base); + softc->def_cp_ring.ring.db_ring_mask = softc->def_cp_ring.ring.ring_size -1 ; rc = iflib_dma_alloc(ctx, sizeof(struct cmpl_base) * softc->def_cp_ring.ring.ring_size, &softc->def_cp_ring_mem, 0); @@ -2872,6 +3036,8 @@ bnxt_init(if_ctx_t ctx) rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL, &softc->def_cp_ring.ring); + bnxt_set_db_mask(softc, &softc->def_cp_ring.ring, + HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL); if (rc) goto fail; skip_def_cp_ring: @@ -2882,15 +3048,18 @@ skip_def_cp_ring: if (rc) goto fail; - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { /* Allocate the NQ */ softc->nq_rings[i].cons = 0; + softc->nq_rings[i].raw_cons = 0; softc->nq_rings[i].v_bit = 1; softc->nq_rings[i].last_idx = UINT32_MAX; bnxt_mark_cpr_invalid(&softc->nq_rings[i]); rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_NQ, &softc->nq_rings[i].ring); + bnxt_set_db_mask(softc, &softc->nq_rings[i].ring, + HWRM_RING_ALLOC_INPUT_RING_TYPE_NQ); if (rc) goto fail; @@ -2898,21 +3067,27 @@ skip_def_cp_ring: } /* Allocate the completion ring */ softc->rx_cp_rings[i].cons = UINT32_MAX; + softc->rx_cp_rings[i].raw_cons = UINT32_MAX; softc->rx_cp_rings[i].v_bit = 1; softc->rx_cp_rings[i].last_idx = UINT32_MAX; + softc->rx_cp_rings[i].toggle = 0; bnxt_mark_cpr_invalid(&softc->rx_cp_rings[i]); rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL, &softc->rx_cp_rings[i].ring); + bnxt_set_db_mask(softc, &softc->rx_cp_rings[i].ring, + HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL); if (rc) goto fail; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_rx_cq(&softc->rx_cp_rings[i], 1); /* Allocate the RX ring */ rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_RX, &softc->rx_rings[i]); + bnxt_set_db_mask(softc, &softc->rx_rings[i], + HWRM_RING_ALLOC_INPUT_RING_TYPE_RX); if (rc) goto fail; softc->db_ops.bnxt_db_rx(&softc->rx_rings[i], 0); @@ -2921,6 +3096,8 @@ skip_def_cp_ring: rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_RX_AGG, &softc->ag_rings[i]); + bnxt_set_db_mask(softc, &softc->ag_rings[i], + HWRM_RING_ALLOC_INPUT_RING_TYPE_RX_AGG); if (rc) goto fail; softc->db_ops.bnxt_db_rx(&softc->ag_rings[i], 0); @@ -2983,21 +3160,27 @@ skip_def_cp_ring: /* Allocate the completion ring */ softc->tx_cp_rings[i].cons = UINT32_MAX; + softc->tx_cp_rings[i].raw_cons = UINT32_MAX; softc->tx_cp_rings[i].v_bit = 1; + softc->tx_cp_rings[i].toggle = 0; bnxt_mark_cpr_invalid(&softc->tx_cp_rings[i]); rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL, &softc->tx_cp_rings[i].ring); + bnxt_set_db_mask(softc, &softc->tx_cp_rings[i].ring, + HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL); if (rc) goto fail; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_tx_cq(&softc->tx_cp_rings[i], 1); /* Allocate the TX ring */ rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_TX, &softc->tx_rings[i]); + bnxt_set_db_mask(softc, &softc->tx_rings[i], + HWRM_RING_ALLOC_INPUT_RING_TYPE_TX); if (rc) goto fail; softc->db_ops.bnxt_db_tx(&softc->tx_rings[i], 0); @@ -3568,25 +3751,35 @@ process_nq(struct bnxt_softc *softc, uint16_t nqid) { struct bnxt_cp_ring *cpr = &softc->nq_rings[nqid]; nq_cn_t *cmp = (nq_cn_t *) cpr->ring.vaddr; + struct bnxt_cp_ring *tx_cpr = &softc->tx_cp_rings[nqid]; + struct bnxt_cp_ring *rx_cpr = &softc->rx_cp_rings[nqid]; bool v_bit = cpr->v_bit; uint32_t cons = cpr->cons; + uint32_t raw_cons = cpr->raw_cons; uint16_t nq_type, nqe_cnt = 0; while (1) { - if (!NQ_VALID(&cmp[cons], v_bit)) + if (!NQ_VALID(&cmp[cons], v_bit)) { goto done; + } nq_type = NQ_CN_TYPE_MASK & cmp[cons].type; - if (nq_type != NQ_CN_TYPE_CQ_NOTIFICATION) + if (NQE_CN_TYPE(nq_type) != NQ_CN_TYPE_CQ_NOTIFICATION) { bnxt_process_async_msg(cpr, (tx_cmpl_t *)&cmp[cons]); + } else { + tx_cpr->toggle = NQE_CN_TOGGLE(cmp[cons].type); + rx_cpr->toggle = NQE_CN_TOGGLE(cmp[cons].type); + } NEXT_CP_CONS_V(&cpr->ring, cons, v_bit); + raw_cons++; nqe_cnt++; } done: if (nqe_cnt) { cpr->cons = cons; + cpr->raw_cons = raw_cons; cpr->v_bit = v_bit; } } From nobody Sun Apr 27 22:06:14 2025 X-Original-To: dev-commits-src-branches@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 4Zm0yw3xC0z5vP3W; Sun, 27 Apr 2025 22:06:16 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm0yv0s2dz3YkW; Sun, 27 Apr 2025 22:06:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791575; 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=9OjVtOiP9Im2sMjuJWOMg5BYONnWXB1V9ePf8HMACjI=; b=BZII9SYLqO3JizaO6hO5glirLfUooPaLGUbeWePmKXKYWVUXBTgwHbzQkvsaUu/A0dQn6f obB/74KBHK/RBS2T8tqD3QumM+Rbmd/CrnnO9zRX2FwW/m7AJXHSPT9v+xS3N0j5KqMhGe vcJ3d8TAVj/wH7Ds8tXlURlLSIAmpD1vOIv78IFa2Yh7UeP++KX3yVdbqmXr7fGtkPA0vM VsB0AAa9DgQJHhvEwfydMn4NFsWEOH7Om7coFfXZF+AU1dMFc1qReff5v6rTx2LSPVZABP d13ArAUgcFcPd3JiaUHL72eqt7vevRYIJ5yvhFTvBKH/YZgf1NcW1baReNAd4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745791575; a=rsa-sha256; cv=none; b=WeWsWAry+OKrttUw2rRLeQRqQwFD6PLIU8KZOX2xRW5lwzjAn/Azvu37khdeFSh5Allft7 TKL8DWL+Q5M2AnF/N7VutZAhkmXgKqTGm/1YdSYGSMGqTrb8Chqo7AcpQ5kKkDgKcM3Zf2 ohf0A4BE/m1phUqNNZEQYUIBjmc6L4HLOCp62ua8bZRdI8PWgRq/sML4g2gbGhJUPLgoy9 Ep1GBBZxZ2OaVse1nsqkTEajj0Suf6hkiARQzPJLg2mGFiH00iDkfRxQ6S8x86x7hwzN8H 6FYCF6IofBhR21w1/kN5b1S+EjiswJO0R5op00dToJ37FEsBnTwZoN2Hv5y+mA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791575; 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=9OjVtOiP9Im2sMjuJWOMg5BYONnWXB1V9ePf8HMACjI=; b=i3MvbA1i9IPdEDgcf8dSRMen/Y9XzzNPg0VuDbGObEj7SSSUdjz5oF2S1Z/DZvikD2lEF+ iSc7eCFr1Qhi7z2VML1hCWYHvss9fcXITipgV6/AvR40jUwTUifnForiFQzDi5b7jivhUO kaMfVjUwMR5GKQwmZCMmYoroKxIJrek5g7y8vYGAfjT3GiNhZF7kgCnObKVP/yIivo5DVq vDz/LxnhJ+Mua/U/+HBTvnxl4bKMKd4ToiYvr24qgLSX1dzhWiUjwHA1NB/UbfdSB3BugF KGP9jFRmGluQNXvSOqqh3IQa8FNpTjf1hDDPWp1zf9zpNWcJhywpFuZ2HX6pHQ== 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 4Zm0yv0P5Pz1Mcw; Sun, 27 Apr 2025 22:06:15 +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 53RM6ENp014636; Sun, 27 Apr 2025 22:06:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RM6E6m014633; Sun, 27 Apr 2025 22:06:14 GMT (envelope-from git) Date: Sun, 27 Apr 2025 22:06:14 GMT Message-Id: <202504272206.53RM6E6m014633@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 4ed8c4183115 - stable/14 - bnxt_en: Unhandled async event type 76 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4ed8c4183115d304aa98d0ca826f021597f1611a Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4ed8c4183115d304aa98d0ca826f021597f1611a commit 4ed8c4183115d304aa98d0ca826f021597f1611a Author: Sreekanth Reddy AuthorDate: 2025-04-04 08:37:38 +0000 Commit: Warner Losh CommitDate: 2025-04-27 22:02:59 +0000 bnxt_en: Unhandled async event type 76 The completion event type 76 is not supported by the driver. Instead of flooding the dmesg with "Unknown event type" messages when this event occurs, move the print under debug level. MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49731 (cherry picked from commit 6450d937955fcd1ab9034c49d53306e882c4a281) --- sys/dev/bnxt/bnxt_en/if_bnxt.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 8960866fcf90..eea956759e9e 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -5129,8 +5129,8 @@ bnxt_handle_async_event(struct bnxt_softc *softc, struct cmpl_base *cmpl) "Unhandled async completion type %u\n", async_id); break; default: - device_printf(softc->dev, - "Unknown async completion type %u\n", async_id); + dev_dbg(softc->dev, "Unknown Async event completion type %u\n", + async_id); break; } bnxt_queue_sp_work(softc); @@ -5184,12 +5184,12 @@ bnxt_def_cp_task(void *context, int pending) case CMPL_BASE_TYPE_DBQ_EVENT: case CMPL_BASE_TYPE_QP_EVENT: case CMPL_BASE_TYPE_FUNC_EVENT: - device_printf(softc->dev, - "Unhandled completion type %u\n", type); + dev_dbg(softc->dev, "Unhandled Async event completion type %u\n", + type); break; default: - device_printf(softc->dev, - "Unknown completion type %u\n", type); + dev_dbg(softc->dev, "Unknown Async event completion type %u\n", + type); break; } } From nobody Sun Apr 27 22:06:16 2025 X-Original-To: dev-commits-src-branches@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 4Zm0yx2G0Qz5vPT0; Sun, 27 Apr 2025 22:06:17 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm0yw3FYZz3Z3p; Sun, 27 Apr 2025 22:06:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791576; 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=zoDIZDeZ9ioYG6UsOT9gGnEjGPlxWAsaULNkYF8ykic=; b=PhikoH3Xw+/jmMqXUH0gWlCn1qDngzmI7ZDSbhtiCezu2FAIxSZiVkRW1pMVGe4hzujdDa Sn78KkbjI/ZlEBpbl+yVJdV2I0njEa8NTA9u3IPp6lvZCo6eKpAAfS688AIBntUqkg0LpH C9jsdOV0Rll2BKdpvuIBNMs4BXgu8Ogsf1fqEqwBTHG3HxN4jxrZsGTREtKS9s9dZss/xe LPS6U/jNyqqvGwqR3Ke2KC3JxB09g092hpWMFRJNckvzILGFi9nPcWUUhPZ6/zF6aHxa0+ u2Yzx0my9aSbMzgqaavKOTHiIWXKJiVFZjJJC+6+O/4OS4lbsAoF2BO6V1B2Dw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745791576; a=rsa-sha256; cv=none; b=WJnUNdk9tZ5fCD7CLRCp2xB/8DxozYpW9KJiKk/G9lUUBd9jzv8697rmpQPm5dC5328I7A oah4WEJvwjKmX+OYhoY2Up7rBmwGUNKjZBSmZjgxPJdfR3+mqvLOj3zWmfJbBqilNVO2GB DLNQmaX6ZNKhDWu9rzcNZlErKjU+YkQAIXHrmxkHn9RMoO1dtRdMkLpMxesasc78ki7+p2 x99ieKfmu1dE6Tw0mgfvXtHinX+gwJXmC4zSVvTo2j1enbflMhBoPwHjrGZc4kwK2CdyZS xKYhraj2DaKPBUYMBNjwkOQrtzDrljtojLbMzb8DrOWmrUNyZ0HfP4ke2FXpVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791576; 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=zoDIZDeZ9ioYG6UsOT9gGnEjGPlxWAsaULNkYF8ykic=; b=A/kKmwoVLX9phRr5gN+UOu5apPokMI/Ns4RuriVdK1feA1IUTUzt5dhM+I0MzZZbIfsTAt v/pWhqN1ykud4rEuNz5CWtHhzk49BLrhec993TmjSBvLxUUCc9QSOGLk0XJszyfcHVLzZC TUcI8hmYZz9ErSoPiPbC6IhraVpdwrBjYu1Gw/Vf26cOk6srf/w4ysIlwpLxCzGKtPZ8ap 6u6i30b/CIrtCBQlqv0mdfLr2yIpzU5IeeeiuC9TCx0le6TU6WGt+F7dZsmqMFfyQe5y7h 9Cve9HxHh0k1xzcYuQ5U/sWeYk/scgKbOo8vxQST9+HYOo+FaHlZqTZJhYjkQw== 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 4Zm0yw0zC5z1MxR; Sun, 27 Apr 2025 22:06:16 +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 53RM6GMU014672; Sun, 27 Apr 2025 22:06:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RM6G4l014667; Sun, 27 Apr 2025 22:06:16 GMT (envelope-from git) Date: Sun, 27 Apr 2025 22:06:16 GMT Message-Id: <202504272206.53RM6G4l014667@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 47a360ff2252 - stable/14 - bnxt_en: Thor2 Ring counters not incrementing during traffic List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 47a360ff225269e45fdae1cdff0013c143c12e7d Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=47a360ff225269e45fdae1cdff0013c143c12e7d commit 47a360ff225269e45fdae1cdff0013c143c12e7d Author: Sreekanth Reddy AuthorDate: 2025-04-04 08:51:01 +0000 Commit: Warner Losh CommitDate: 2025-04-27 22:02:59 +0000 bnxt_en: Thor2 Ring counters not incrementing during traffic The ctx_hw_stats_ext DMA address was not correctly passed to the firmware during the HWRM_STAT_CTX_ALLOC allocation, causing stats to not populate for Thor2. Passing the correct DMA length resolved the issue MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49732 (cherry picked from commit fec0e2064818f991867c9851a837012ea31774da) --- sys/dev/bnxt/bnxt_en/bnxt_hwrm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c index 10c3beac9729..7dd555cfaadb 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c @@ -1885,7 +1885,10 @@ bnxt_hwrm_stat_ctx_alloc(struct bnxt_softc *softc, struct bnxt_cp_ring *cpr, req.update_period_ms = htole32(1000); req.stats_dma_addr = htole64(paddr); - if (BNXT_CHIP_P5_PLUS(softc)) + + if (BNXT_CHIP_P7(softc)) + req.stats_dma_length = htole16(sizeof(struct ctx_hw_stats_ext)); + else if (BNXT_CHIP_P5(softc)) req.stats_dma_length = htole16(sizeof(struct ctx_hw_stats_ext) - 8); else req.stats_dma_length = htole16(sizeof(struct ctx_hw_stats));