From nobody Sat Feb 4 23:07:34 2023 X-Original-To: dev-commits-src-main@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 4P8Spy6f8Sz3kWt3; Sat, 4 Feb 2023 23:07:38 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4P8Spy3vysz3xY8; Sat, 4 Feb 2023 23:07:38 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Authentication-Results: mx1.freebsd.org; none Date: Sun, 05 Feb 2023 00:07:34 +0100 Author: Steffen Nurpmeso From: Steffen Nurpmeso To: Mateusz Guzik Cc: Mateusz Guzik , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: d9d5f2c042a5 - main - cpuset: add --count Message-ID: <20230204230734.U91zY%steffen@sdaoden.eu> In-Reply-To: References: <202302041751.314HpRrn042970@gitrepo.freebsd.org> <20230204203529.CusFt%steffen@sdaoden.eu> Mail-Followup-To: Mateusz Guzik , Mateusz Guzik , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org User-Agent: s-nail v14.9.24-403-gdc9ff6b368 OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4P8Spy3vysz3xY8 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15987, ipnet:217.144.128.0/20, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N Mateusz Guzik wrote in : |On 2/4/23, Steffen Nurpmeso wrote: |> Mateusz Guzik wrote in |> <202302041751.314HpRrn042970@gitrepo.freebsd.org>: |>|The branch main has been updated by mjg: |>| |>|URL: https://cgit.FreeBSD.org/src/commit/?id=3Dd9d5f2c042a51a9f0dd69eb1= fc3\ |>|49efd81ffa483 |>| |>|commit d9d5f2c042a51a9f0dd69eb1fc349efd81ffa483 |>|Author: Mateusz Guzik |>|AuthorDate: 2023-02-04 17:47:41 +0000 |>|Commit: Mateusz Guzik |>|CommitDate: 2023-02-04 17:50:41 +0000 |>| |>| cpuset: add --count |>| |>| Can be used to count the number of hardware threads in the cpu set. |> ... |>| The intent is to replace calls to sysctl hw.ncpu and kern.smp.cpus \ |>| which |>| can be found in the tree, which are not adequate given existence of |>| cpusets. |> |> This is great (in respect to a #freebsd IRC from 2021-07-02)! |> Are there plans to address |> |> 19:26 < RhodiumToad> and in fact sysconf(_SC_NPROCESSORS_ONLN) is |> implemented as sysctl hw.ncpu |> |> or |> |> 19:25 < RhodiumToad> on fbsd 13 on a 4-cpu box, cpuset -l 0-1 getconf |> _NPROCESSORS_ONLN returns 4 rather than 2 |> | |So I just checked on Linux and get: |$ taskset --cpu-list 0 getconf _NPROCESSORS_ONLN |4 At least it does not count totally disabled SMT CPUs (here), but true, also cgroup'ized restricted ones show up "falsely" for 6.1. (This could be a "bug" in the C library though, as this checks /sys/devices/system/cpu/online (nproc(1) even fails in boxes without /sys/), /proc/stat, and only then (iirc now) uses sched_getaffinity. It documents get_nprocs(3) as "number of processors currently available in the system". POSIX standardized these[1] as _SC_NPROCESSORS_CONF + _SC_NPROCESSORS_ONLN for sysconf(3) as well as NPROCESSORS_CONF and NPROCESSORS_ONLN for getconf(1), saying ... The maximum number of execution units | _SC_NPROCESSORS_ONLN currently available to run threads=E2=80=A0 | .... =E2=80=A0 The nature of an execution unit and the precise conditions under which an execution unit is considered to be available, or can be made available, or how many threads it can execute in parallel, are implementation-defined. Which is not the same. Implementation-defined though. But i mean if it is easy to give correct results for an execution context (i would). [1] https://austingroupbugs.net/view.php?id=3D339 |iow the current behavior is probably the expected one. |> or even add a shallow usr.bin/nproc(1) that does only this |> operation, as in Linux? (Or ln(1) it and check out argv[0] to do |> so?) Having a "portable" thing would be great. | |I have no opinion on this one, looks a trivial addition, but someone |else will have to ack it (most notably whether to add it to cpuset as |you suggested above or create new utility altogether). | |That said, happy to take a look at a patch which adds a *new* |nproc utility. #!/bin/sh - if [ $# -ne 0 ]; then echo >&2 'Synopsis: nproc' exit 1 fi exec cpuset --count .Dd February 4, 2023 .Dt NPROC 1 .Os .Sh NAME .Nm nproc .Nd print the number of available processing units .Sh SYNOPSIS .Nm .Sh DESCRIPTION .Nm prints the number of processing units available to the current process, which may be less than the number of online processors. .Sh "SEE ALSO" .Xr cpuset 1 .Sh HISTORY Appeared in .Fx 14 . Ciao, --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) From nobody Sun Feb 5 03:06:33 2023 X-Original-To: dev-commits-src-main@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 4P8Z6d4RN1z3kmFL; Sun, 5 Feb 2023 03:06:33 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (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 "freefall.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8Z6d3wXyz4Gnm; Sun, 5 Feb 2023 03:06:33 +0000 (UTC) (envelope-from danfe@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675566393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=GaH7gLgBLPTeg2igK8iWGXTpvuJRdFurcAKfiiPPyMY=; b=lmgYEidd7W6H/xP7m+r261TfO2aLNO6j4mrsWVYOkm/GSHWVrL4WXXHdbSBLaeTT4EPREa j3KM4gMM46dFJ46tEJUIpuLHT73FN0089wasSivNzT7DnVHbWRJpwBqZq86f9dj9Lo4c8s W+gw9i870HmPamCfTTzRZ80qSPBGsuq40cJuzVy6g7srDGhcNuQY0b/Gd01zJLnQMm+/xl YmtZuwP3Ed1562wbNWXNh7cZe4Pe6jJLuFc+IkQh2jgKzfEwuj3j1ZXvK8D429thkG1B3e 6yY0MueB9RVtamxgfb+Ph1cFjITSLpc/NQjg5XN0rbJMMygfo1/hHU/zIn6lTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675566393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=GaH7gLgBLPTeg2igK8iWGXTpvuJRdFurcAKfiiPPyMY=; b=ZqKhw+bq8/ZRNp4yxd1uUKRtUehtkbkJJ1nsg0NZL21gSbIpSlxx4W00NQomTvIpCAaJxj AdFZtjUfyhXXFlSkjQLER4QkGFJl3tOzYaArunKwwU8ZjTrZgYbKabGkGajPGKQYUOhkIe T63Lh3HRZImY7qdK2tLX82pwxsPXHVJzZfYxzUd51EsLkcAC/Xh+ZEGp/mCES3mR4T6pLs Hx5WMtLGhSE5fyDG0PMAny2XHu8Xw6jEPXWAdFcA1W3z5keXTSdAaVQAFnPtMOI3Y1ZpPw Ia1xgjENsNIQQnr4T1Car5XGNKAdEGAOvm3hlEUAYglSSqVb3ylYTEbPUz7zmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675566393; a=rsa-sha256; cv=none; b=i5GnfhJVFjTzxUgfKpkUglA4aV0ouW8eDEFjLEcRHMoi+SoXtmQr4pV6uoLdWdh3tD83hN SXAfyvWvbXpSjbg2nnZrayZA2BWC65jjZV9AJUt7qRo6ZPTAAHpXm0SD3Zmv5BUxcmZo3g KVhbH4Ogq/rq+x59kecxBde781DRfBlvoabcvIWZhgpOuPfS+KUTvqYixIOzhhNl1t1qtG aao3ilt2ukBiMycPr7cYPYjLU0Q6kwtVAlcgA6HvWz/yaCDETIif0UdLS89Jj0W/EJj6Gc XSA/eX0It2mpslGwXnrFN03vuS/y6WZKkj7pDA8+eoxSbKWslYQmfpVVFP0lLg== Received: by freefall.freebsd.org (Postfix, from userid 1033) id 6E5F11468D; Sun, 5 Feb 2023 03:06:33 +0000 (UTC) Date: Sun, 5 Feb 2023 03:06:33 +0000 From: Alexey Dokuchaev To: Mateusz Guzik Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: d9d5f2c042a5 - main - cpuset: add --count Message-ID: References: <202302041751.314HpRrn042970@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202302041751.314HpRrn042970@gitrepo.freebsd.org> X-ThisMailContainsUnwantedMimeParts: N On Sat, Feb 04, 2023 at 05:51:27PM +0000, Mateusz Guzik wrote: > commit d9d5f2c042a51a9f0dd69eb1fc349efd81ffa483 > > cpuset: add --count > > Can be used to count the number of hardware threads in the cpu set. > > For example: [...] > > The intent is to replace calls to sysctl hw.ncpu and kern.smp.cpus Speaking of these two, do we really need both, unless they are not exactly the same? (They do seem so, though.) ./danfe From nobody Sun Feb 5 03:51:41 2023 X-Original-To: dev-commits-src-main@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 4P8b6j5J2Fz3kpVJ; Sun, 5 Feb 2023 03:51:41 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8b6j4h7Bz4KP5; Sun, 5 Feb 2023 03:51:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675569101; 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=8shm2AXqwlbyCGtm9RxKCgwZf+9SFNtIzj8ZZE/jutI=; b=oRlYLV5H7rxrJpMLrNSgQyiZ7phnIiBReKoeH5XPycjmJN5Vp7HTvb7tUo1vtgGY7VFR7J Nx+oRaBLmT/NJCBBfGyB0epuSavBqfPndpbKVCpKIA4wsEIL0SOkBdgzaQw4JktAHH+U6V bmmvdd0758X2BVwPblm7qVS9KHendd4aFWzPetWw/NBFnm0izC1Nwwi8OkUb1pC4JpnSx/ Su2/d4IpQYw4r1+3zIIjKp3ke4LlWyQFAsdDYFiVfWrP+TFOodOypmq4Fo3gMuAVsCc9j8 mt3RztdxZFCrvcCEDVvetJPzMrBJwoOOGeFID82pAK920GZvdyIge4RsKBo5yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675569101; 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=8shm2AXqwlbyCGtm9RxKCgwZf+9SFNtIzj8ZZE/jutI=; b=a13lN4854dbCLYTB7G3oVWbV+3Y4C+xNryKDvf2wOiyFGJGAVbxbELOH0dw992o4MxWHQC sFis8qGkZOg35yide4cUOW0YPPbh4s5oChHuL4YK0MHo9AW+669A1/Ze5CwSvhWgSCy8yQ s/jkBIKsVjHKZ+5N/wC7L6UhCpXegx9dFwjEk+/LIUk7y8lVakTd/ISTusbEWrTmtKKV4e mXgHwfHInp29y/FnQoZudKS3azYSn+vqYR8GbffGn8ODZbqi51WHe+cm8lKRkvwLLRyS39 S/GABdZbNB4oYyaHOGV9jePqNhX21yhrYg989eXEppJrrTqCBFcbFHS3/XNnzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675569101; a=rsa-sha256; cv=none; b=YSVB8YfvwdwzUNNMtbJr6Qbn7AhSoF6bq8LS84bvrr4OTACrKFbIuQsoie34fSZw4kRoZP //sd5QQSH3Q1d+YXXiHy1QL3/ev2K/xsMIz1LbvpjNwY+G5qPeUlHsDvyfouOy09waSBGq F69iMaa/lqRg0W8zkziu3L8vaic7xbB97CeC1TvrfpwITHyGUKmldBceI4QBHvJxAqKuD7 q/YQha0F2MbDZR9ha2/ukC/gvzhQ+oJgNNMEZy2lXboxuZbgpscWskJOFHPIRWFy2TTQk0 IZyciBKQ4MdFEE9kTXH7ZsNP2EC2GUyZWfKQvWAvkCBXJYdKWd/+ahzn7PGV3g== 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 4P8b6j3kzGzgBw; Sun, 5 Feb 2023 03:51:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3153pfok097776; Sun, 5 Feb 2023 03:51:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3153pfsw097775; Sun, 5 Feb 2023 03:51:41 GMT (envelope-from git) Date: Sun, 5 Feb 2023 03:51:41 GMT Message-Id: <202302050351.3153pfsw097775@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 0cec5b99b3c0 - main - usb/u3g: Add support for QUECTEL EP06-E 4G modem List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 0cec5b99b3c0484925f3cc0813040c160987bd45 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0cec5b99b3c0484925f3cc0813040c160987bd45 commit 0cec5b99b3c0484925f3cc0813040c160987bd45 Author: ev AuthorDate: 2023-02-05 03:47:00 +0000 Commit: Warner Losh CommitDate: 2023-02-05 03:48:41 +0000 usb/u3g: Add support for QUECTEL EP06-E 4G modem Add QUECTEL EP06-E modem support via USB for FreeBSD. Tested and works like a ppp on FreeBSD-13. Reviewed by: imp PR: 269326 --- share/man/man4/u3g.4 | 2 +- sys/dev/usb/serial/u3g.c | 1 + sys/dev/usb/usbdevs | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/share/man/man4/u3g.4 b/share/man/man4/u3g.4 index 0cc2f3ec7693..b5ad77d21c39 100644 --- a/share/man/man4/u3g.4 +++ b/share/man/man4/u3g.4 @@ -72,7 +72,7 @@ Qualcomm Inc. CDMA MSM .It Qualcomm Inc. GOBI 1000, 2000 and 3000 devices with MDM1000 or MDM2000 chipsets .It -QUECTEL EC25, EM05, EM12-G. +QUECTEL EC25, EM05, EM12-G, EP06-E. .It Huawei B190, E180v, E220, E3372, E3372v153, E5573Cs322, ('') .It diff --git a/sys/dev/usb/serial/u3g.c b/sys/dev/usb/serial/u3g.c index 868ed9a86f9b..9554f30fcfdf 100644 --- a/sys/dev/usb/serial/u3g.c +++ b/sys/dev/usb/serial/u3g.c @@ -515,6 +515,7 @@ static const STRUCT_USB_HOST_ID u3g_devs[] = { U3G_DEV(QUECTEL, EC25, 0), U3G_DEV(QUECTEL, EM05, 0), U3G_DEV(QUECTEL, EM12_G, 0), + U3G_DEV(QUECTEL, EP06_E, 0), U3G_DEV(SIERRA, AC402, 0), U3G_DEV(SIERRA, AC595U, 0), U3G_DEV(SIERRA, AC313U, 0), diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs index 01eb4d3b9a80..23fa56d4e338 100644 --- a/sys/dev/usb/usbdevs +++ b/sys/dev/usb/usbdevs @@ -3989,6 +3989,7 @@ product QUANTA RW6815R 0xf003 HP iPAQ rw6815 RNDIS /* Quectel products */ product QUECTEL EC25 0x0125 LTE modem product QUECTEL EM05 0x0127 LTE modem +product QUECTEL EP06_E 0x0306 LTE modem product QUECTEL EM12_G 0x0512 LTE modem /* Quickshot products */ From nobody Sun Feb 5 04:27:29 2023 X-Original-To: dev-commits-src-main@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 4P8bw20smKz3kqYj; Sun, 5 Feb 2023 04:27:30 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8bw20LZFz4Lq5; Sun, 5 Feb 2023 04:27:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675571250; 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=VW4gAQUJzuZgJaHQ9Dm18Yp2QDA7sXn6kxTiEQOzs9Y=; b=J1T+RFsMI09Ne7dZg1Bp66D6Mql3alkGTjE4fK2liUgSSN0OyR7ESe1eoQr4rHT6oNs5cH Vdo5jXrwJJ0dMjGrg0seNxbLHTdxPWEYz0zSjHyBgl7kgXkYlsPhlvhGESQcppT2eFhM0n WcJvG8qvHEriecipRDwCg63CYd9VWxEeFw1IYgowEsJ5J+8sDejFm7vlzYceAvGLf754IP lcblFKtFFtJlrhQpq2qcL3hlEuo53N8GtB/83M/oHXR2qzn1QxlBzK6qGQBRoruMQO17u4 Iwnk5nZ5EIredZB2s0wYd1N90qKj/74JH1YSlw9RVtRhpzihKjE+Xq7NxH5IRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675571250; 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=VW4gAQUJzuZgJaHQ9Dm18Yp2QDA7sXn6kxTiEQOzs9Y=; b=U+xWNfFTSJihcZnufTIvKScnbkEJsPw8hDaDJbOhL+kEH3M5UPzABZxYPvlFoMfFklA6M4 YUQM0BpWiqxecykPBrS4/xFJxIiSOZk5217UyKSEkhO/pQymLIp0bzzqMm38HWnDbHXCC6 WsXCNBHZrRpiUtXwLVdhw1x1QFKAAAqwSOIgm9WuvGe8C4eaj0XQfql7pHJs/SEsgcEnGi KmqhWTd3R7dM/Fl9RA5MAKJmO1fuZ47k0v4Hz25TGr6ifELUHpgWdB5v+U36DBcSg9TjxK aq5v9byElwpuX5UcgcEFiWz2NaCh08Ek/6/xm8GdLehpwBPlTDWUOFsIjSL+vA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675571250; a=rsa-sha256; cv=none; b=QaP9DL9YVAA45a86vpnBV/FD4NpdbDfmmVO5hSH2TBz2ECVDDZDsSBRu+hw1Ok9zA7EXvF 9Py57ReFxveEv2jSVElJutV+MRl/ZNFsfUhSPQw7OOGzdbwvZe4ZkOIbXK8dU+FKo6f+Ye m7gI8eNi23YP1x4+GLWTFWbXvjoAYDAgFupmP2GI3lS3Bx+N7Wy/lgwJXU8NBXtEZ8bZ8+ DKj0m+vrEiQdCF0WlNaEgqAyalcCDG6K2KGDHavV2M3CvYk4RqNpOi1sApJzO7ap0M7q+f /VVUjyEfVoYt1PVHRKBsIPn2MVfmk/fplW1Stjp/APe+mDoARUlkBy4DX97XgQ== 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 4P8bw16PDWzhMb; Sun, 5 Feb 2023 04:27:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3154RTiZ044992; Sun, 5 Feb 2023 04:27:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3154RTbM044991; Sun, 5 Feb 2023 04:27:29 GMT (envelope-from git) Date: Sun, 5 Feb 2023 04:27:29 GMT Message-Id: <202302050427.3154RTbM044991@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 70164d957eb2 - main - Fix truncation when ssize_t is larger than MAX_INT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 70164d957eb2d1147e0b52a4b1da45f64be8af8e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=70164d957eb2d1147e0b52a4b1da45f64be8af8e commit 70164d957eb2d1147e0b52a4b1da45f64be8af8e Author: Alfonso AuthorDate: 2021-07-24 16:52:31 +0000 Commit: Warner Losh CommitDate: 2023-02-05 04:14:14 +0000 Fix truncation when ssize_t is larger than MAX_INT Casting to int truncates size on some platforms, resulting swab not copying all the data. Cast len to size_t to avoid right shifting a signed value: we know here it's > 0, so we can safely cast it w/o losing precision. In addition, be more careful with signedness of char pointers and temporaries. Downgrade tmp from unsigned long to unsigned char since we're only reading and writing characters. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/516 --- lib/libc/string/swab.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/libc/string/swab.c b/lib/libc/string/swab.c index 1a30ce813784..724ee48ea0c7 100644 --- a/lib/libc/string/swab.c +++ b/lib/libc/string/swab.c @@ -43,15 +43,16 @@ __FBSDID("$FreeBSD$"); void swab(const void * __restrict from, void * __restrict to, ssize_t len) { - unsigned long temp; - int n; - char *fp, *tp; + unsigned char temp; + size_t n; + const unsigned char *fp; + unsigned char *tp; if (len <= 0) return; - n = len >> 1; - fp = (char *)from; - tp = (char *)to; + n = (size_t)len >> 1; + fp = (const unsigned char *)from; + tp = (unsigned char *)to; #define STEP temp = *fp++,*tp++ = *fp++,*tp++ = temp /* round to multiple of 8 */ for (; n & 0x7; --n) From nobody Sun Feb 5 05:08:49 2023 X-Original-To: dev-commits-src-main@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 4P8cqj3VTFz3ksdL; Sun, 5 Feb 2023 05:08: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8cqj2tTDz4Nk6; Sun, 5 Feb 2023 05:08:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675573729; 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=xmWwD5q0OjsqFnZX3cDCe+i3UOTvebUcXk2iH7e/XMc=; b=yvac7PUwiSouBmqepxbgF0Isrp6/sS8cGPlPcv1tDVs+3g9Max3ODa0NkQYKmXX1l9FfQc VVH/hkmvLkkx6R3f6caDFUQHMMJ1hQZwLimMUfH9yz5le2HysVZkVEvCxPWNGD6/FPJcKT kzTVL8/YCXaHu/BgLmcw+L099ui0cQpeqdf6/yS+NLFZ22BQ7aEgE2fqPMB5pMWn2OaPma i6qKgNqoV0z1h90F2LEAbozpksMCpuuPxLhnXNl2XMrI/a3pIzW6/ZY9cIfrbn+sUgnDth /ndpjCAmHaOcTAp4Ju18Rl52xJ0Df3Z7oWTajM2nbSdaU62exdVoNcJJLjTHFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675573729; 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=xmWwD5q0OjsqFnZX3cDCe+i3UOTvebUcXk2iH7e/XMc=; b=JlyDYbofBY0p8zcgAliFRZxaLU09YyqrsK1SotbGA1/N1lPBOQu7KL/6P4oewjHcHwOcPc h/UhzNE/xqiHX+ZomChxM6Ki3euiv33b94wia+36YNmUf/PAo2+/qBUeDXoe9qo6bEQAzj T9UtvUbqeG1uE3xrPePtVXahIOAzk2BhYjCGH/A1fMdK9YaF+j6TWBptznDyh6SWCLa98s knSlesgdSW58xOhbDzM/X3H/FJfF9QxwV7kFP340pIiSBZcWTmpYT65bo3hcTqvNLfOHU2 q8q1ExFQDGPrhiPAfsLnzzufY5wp8YRgZaU2XhnmkCcaAPMlfn8TToP0Fptgzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675573729; a=rsa-sha256; cv=none; b=bKK7UNWbtkHyObcI9ANWRUXm6pzvEoUTfwSUxn1rN37smu5ZOuzO9OQSTjz5pHgaER8eAG reQgpA9PWtQsS+DXyZT7A2eREtpWXKjydaOYHFJ2SeQJHp9WP+AQQhp/YLpSrNwuZIj6fv XoDjOMG7/BdyEj6vD4mJtqQ0LLP5oiCFvjWHwP01owAoJb4CHvNEdVyf2VIEdo5GNbzwwq PXqT4xHop8d8lW3fvzA/SMkz4Hpkri3js1JzKaSM7FITaOqmJCWkwafL0XuKZ3vBQNi8R4 hiovLX60IzQZriCevQ1yLbkWwByyoTuLw2SkzXbejtgPejuDWBE2Niz65HOpsA== 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 4P8cqj1vvszjRR; Sun, 5 Feb 2023 05:08:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31558naN002089; Sun, 5 Feb 2023 05:08:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31558nGE002088; Sun, 5 Feb 2023 05:08:49 GMT (envelope-from git) Date: Sun, 5 Feb 2023 05:08:49 GMT Message-Id: <202302050508.31558nGE002088@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 8362905cb69e - main - coretemp: Only log critical temperature events List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 8362905cb69e06b8946dd582ce2c1fb67d86081a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8362905cb69e06b8946dd582ce2c1fb67d86081a commit 8362905cb69e06b8946dd582ce2c1fb67d86081a Author: sadaszewski AuthorDate: 2021-11-17 07:27:46 +0000 Commit: Warner Losh CommitDate: 2023-02-05 05:05:48 +0000 coretemp: Only log critical temperature events According to the Intel manual https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-3b-part-2-manual.pdf the Thermal Status (0) and Thermal Status Log (1) bits report only a high temperature on the CPU, not a critical temperature as suggested in the coretemp driver. Check the Critical Temperature Log (5) instead. The critical temperature waives guarantees of correct function, therefore the CPU could have for example written some wrong values into memory at that point and the OS should be stopped ASAP as the state is no longer reliable. Reviewed by: imp (confirmed descriptions of bits, linux ignores these bits) Pull Request: https://github.com/freebsd/freebsd-src/pull/562 --- sys/dev/coretemp/coretemp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/coretemp/coretemp.c b/sys/dev/coretemp/coretemp.c index c81eb8371413..d8a67f257110 100644 --- a/sys/dev/coretemp/coretemp.c +++ b/sys/dev/coretemp/coretemp.c @@ -53,6 +53,8 @@ __FBSDID("$FreeBSD$"); #define TZ_ZEROC 2731 +#define THERM_CRITICAL_STATUS_LOG 0x20 +#define THERM_CRITICAL_STATUS 0x10 #define THERM_STATUS_LOG 0x02 #define THERM_STATUS 0x01 #define THERM_STATUS_TEMP_SHIFT 16 @@ -393,7 +395,7 @@ coretemp_get_val_sysctl(SYSCTL_HANDLER_ARGS) * If we reach a critical level, allow devctl(4) * to catch this and shutdown the system. */ - if (msr & THERM_STATUS) { + if (msr & THERM_CRITICAL_STATUS) { tmp = (msr >> THERM_STATUS_TEMP_SHIFT) & THERM_STATUS_TEMP_MASK; tmp = (sc->sc_tjmax - tmp) * 10 + TZ_ZEROC; From nobody Sun Feb 5 15:25:39 2023 X-Original-To: dev-commits-src-main@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 4P8tWS0LLmz3kRF2; Sun, 5 Feb 2023 15:25:40 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8tWR6vpbz431D; Sun, 5 Feb 2023 15:25:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675610740; 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=WZiQuCbhOJQ/QouPoQS49USlvJQXgNhZ8kA2MTclXsA=; b=iJUhMRzp27vRg/mcuQLeY4ncdVYSCd//dnyqZ/9VNei9at3gXmpbgHnR8yP1j/g8L0+Gzm DlwLLIfe3MeofvgHJpQfJ+GlA8wMdfG/9Jdrc4gKmFNX7PqvF/YzzM6YKvnMV3QcoTUJbT xTJEnoT+4fBr8xrm9aakxJaYHzqr2mYhwjBEga/TScPZJFqbUeFSarP0veQDC2UF+clP9k KW1OPRDnS0a8jaWpEwhL9TZKufG5VTQtT1PGIh3WMJAiLjck9MSxGpYvN8YOJ6jSgj8heX bZiIxOXublyhEnQpDFteLwX67obm55fca3k2ls9kTE/pr6xMcguVEEK7rHm1BQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675610740; 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=WZiQuCbhOJQ/QouPoQS49USlvJQXgNhZ8kA2MTclXsA=; b=sn5XeHwJCj0kmj6A0PwkXJerkUUaCjW4KytFGEwmgqdQssW5g78PVrBEu+GZnikKViYfzr V9m7bqt+8hdkdZF0epfu+wLSCexatMlV6HdFEoAeaaiGbCXoEU04hPMTDvhXKhHSw4SV7w 2OlbF+WMTVUAoOnroZ1iiE+teRv6m0UX01kk3LYlgxHxli1gONH0KXMx3t8PbtO1bOofH8 UA9GNzQtlXpWnT+tzVK1IuiZq8WWnNSBtJgoX7pBvgQatLzU4tJt6hcprqLaanrcXy1bfs y+xFRN5mXDPEK7W3jXayqmLvprP/oUVORcp2rpx5AOml4jKjBK8mBoNyuSpXYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675610740; a=rsa-sha256; cv=none; b=Kg5Sx/L0RGLEcdKR/13mwTIRMzY5MNlBy3HC5jPDSPuujzDh361GlATXUc26sPMAkK+cvC hPpgqFwTRTBVV/oGYCLdcrvLe+Ynv7z2IVlntbvL9Tj5n/a7pqb68A3TqFKWRZPHJJgJgF DxpldyYAwKS30ICT2lo9RshM3HXCvsOkg/haagYWVa/ghHcIr2xCElUznhSx1cOfHi1X7N VZgRaTqrglDOZtlZC/570JPWmc4owxE6p3YohP6ElMsvef5attHHy64nIhK72g2GSeyxlY z8ONoM5djvtqfVfSqa1AD5wk3UEgfG6ci/ZX+9Ty9uWoUBT2pnnOyF/dt+qidA== 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 4P8tWR5yftzySZ; Sun, 5 Feb 2023 15:25:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315FPdlj081248; Sun, 5 Feb 2023 15:25:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315FPdee081247; Sun, 5 Feb 2023 15:25:39 GMT (envelope-from git) Date: Sun, 5 Feb 2023 15:25:39 GMT Message-Id: <202302051525.315FPdee081247@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: edfc7d6e5b5b - main - linux(4): Add the forgotten in the 6f8439db opt_compat include. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: edfc7d6e5b5b48fd8fad80672b94d8ab9c78095b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=edfc7d6e5b5b48fd8fad80672b94d8ab9c78095b commit edfc7d6e5b5b48fd8fad80672b94d8ab9c78095b Author: Dmitry Chagin AuthorDate: 2023-02-05 15:25:10 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-05 15:25:10 +0000 linux(4): Add the forgotten in the 6f8439db opt_compat include. MFC after: 1 week --- sys/compat/linux/linux_elf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linux/linux_elf.c b/sys/compat/linux/linux_elf.c index 43df9508d470..cde72e3ed99a 100644 --- a/sys/compat/linux/linux_elf.c +++ b/sys/compat/linux/linux_elf.c @@ -40,6 +40,8 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_compat.h" + #include #include #include From nobody Sun Feb 5 15:33:32 2023 X-Original-To: dev-commits-src-main@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 4P8thX1p74z3kS0c; Sun, 5 Feb 2023 15:33:32 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8thX1cFjz440T; Sun, 5 Feb 2023 15:33:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675611212; 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=qqrmgQfMALsi9XkXfXsYWgbsuaztF91AYtfD5PgALoI=; b=Zc57AaliOHnHWV3w5CGQrlMZchXr/AZC752fB3uAg35dKOpYxg20Qi/jm8KbQcasU93RWi /1sdvzOMZN79x+jiauR5uy2SMTZHueiPe4xBnenr98p3bobBM2Bok0+axMYcgvp+i2ugld 5yffOsCVw7jUnVyGY6vys2n7BkX7ciYRi0yPTzZBF/tbHaYs5zLb9Tl5igBPWGwv4WJ6jz yjahXwPcYvI64uoKz7ifBl7+nXhuTvUv+cZ/tAoWsJP1LMYQMhDDX++6M8BS/YkXpDAocv /M4jWHiB/fZVdzgk7D7FSQTyv01WTonslohuJNk95/U3FGj3aWbDcNPgLpIDdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675611212; 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=qqrmgQfMALsi9XkXfXsYWgbsuaztF91AYtfD5PgALoI=; b=SHubiQNz15IX8X8y4MjObyWtQ9NjW86t9ub/kRsZTxoSOhI0wJrPS3jJcxn1o39FsaBNIw MvHX85EQAgzC6m6O65cI5m06HBMWcpBEqnP+oFmAE1Tdmt3xDzGaHmK4Vf7fqiqGxgrzpv YBuIRcVNZGs6v3lc+jGIrcxAV982ZtdK/i50i/syRy+xOQsRvx2uTE2k4h3djFWTMIOZ3W RbGXq3ALpgIt0rHk/6POu+Bc64FbCt6vfmFjGrqXSBSh7CzoE5vdIGS/H2FM0UjaeU35ME 5RijjsJGquecpi2Di8PbS5Sr70w1spx2w/lc7FUrUYZNQKIVC2nmbfupsEZlwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675611212; a=rsa-sha256; cv=none; b=bWEuNJqnmWCHWGox4c93szHMUOvLqeeQYPS6yGgS/+iSR6bXWlBeCGpxLioSJSya1HLOo7 Aiv/mjO42rPeaTp3kySyVhOMD2Kr2nQVG40edNNig+EWVt86pgodWMrBSLL+yPWVeE5ip5 XnMgWvXqVKgs7qWV4FMUzTfCkE7q/81y5qHdb86UDB4YosNK3YI3KOS0AX537NlV+765tF KegkWFeFwVC2jPaq/KKfoRCMIccuB0k7Ih5jFdOs0iPtmlwtck8JbTEavZMOlic5iuLOMg O/A+mEUddWGeyIsvgr/7SJXUio6r4NXwsF1hnfFf/dH2aPTafWxZsaFWAHyk6g== 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 4P8thX0hmWz10YL; Sun, 5 Feb 2023 15:33:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315FXWfM095731; Sun, 5 Feb 2023 15:33:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315FXW0H095729; Sun, 5 Feb 2023 15:33:32 GMT (envelope-from git) Date: Sun, 5 Feb 2023 15:33:32 GMT Message-Id: <202302051533.315FXW0H095729@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: e4d3f1e40ab3 - main - hv_hid: Hyper-V HID driver List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e4d3f1e40ab3327e4ff6f689f54a64bd2ebc0568 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=e4d3f1e40ab3327e4ff6f689f54a64bd2ebc0568 commit e4d3f1e40ab3327e4ff6f689f54a64bd2ebc0568 Author: Yuri AuthorDate: 2023-02-05 15:32:08 +0000 Commit: Vladimir Kondratyev CommitDate: 2023-02-05 15:32:08 +0000 hv_hid: Hyper-V HID driver Hyper-V HID driver using hidbus/hms. Reviewed by: wulf MFC after: 1 week PR: 221074 Differential revision: https://reviews.freebsd.org/D38140 --- sys/amd64/conf/NOTES | 1 + sys/conf/files.x86 | 1 + sys/dev/hid/hidbus.c | 1 + sys/dev/hyperv/input/hv_hid.c | 564 ++++++++++++++++++++++++++++++++++++++++ sys/i386/conf/NOTES | 1 + sys/modules/hyperv/Makefile | 2 +- sys/modules/hyperv/hid/Makefile | 12 + 7 files changed, 581 insertions(+), 1 deletion(-) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 0781d03900ca..4b107b19ac42 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -501,6 +501,7 @@ device kvm_clock # KVM paravirtual clock driver # Microsoft Hyper-V enhancement support device hyperv # HyperV drivers +device hvhid # HyperV HID device # Xen HVM Guest Optimizations options XENHVM # Xen HVM kernel infrastructure diff --git a/sys/conf/files.x86 b/sys/conf/files.x86 index 37d0534aa67a..0a32c888cdb2 100644 --- a/sys/conf/files.x86 +++ b/sys/conf/files.x86 @@ -115,6 +115,7 @@ dev/hwpmc/hwpmc_uncore.c optional hwpmc dev/hwpmc/hwpmc_tsc.c optional hwpmc dev/hwpmc/hwpmc_x86.c optional hwpmc dev/hyperv/hvsock/hv_sock.c optional hyperv +dev/hyperv/input/hv_hid.c optional hyperv hvhid dev/hyperv/input/hv_kbd.c optional hyperv dev/hyperv/input/hv_kbdc.c optional hyperv dev/hyperv/pcib/vmbus_pcib.c optional hyperv pci diff --git a/sys/dev/hid/hidbus.c b/sys/dev/hid/hidbus.c index 92a96b10bdbd..b6a9e9f2192f 100644 --- a/sys/dev/hid/hidbus.c +++ b/sys/dev/hid/hidbus.c @@ -924,5 +924,6 @@ driver_t hidbus_driver = { MODULE_DEPEND(hidbus, hid, 1, 1, 1); MODULE_VERSION(hidbus, 1); +DRIVER_MODULE(hidbus, hvhid, hidbus_driver, 0, 0); DRIVER_MODULE(hidbus, iichid, hidbus_driver, 0, 0); DRIVER_MODULE(hidbus, usbhid, hidbus_driver, 0, 0); diff --git a/sys/dev/hyperv/input/hv_hid.c b/sys/dev/hyperv/input/hv_hid.c new file mode 100644 index 000000000000..d576b292e12e --- /dev/null +++ b/sys/dev/hyperv/input/hv_hid.c @@ -0,0 +1,564 @@ +/*- + * Copyright (c) 2017 Microsoft Corp. + * Copyright (c) 2023 Yuri + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice unmodified, this list of conditions, and the following + * disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include + +#include "hid_if.h" +#include "vmbus_if.h" + +#define HV_HID_VER_MAJOR 2 +#define HV_HID_VER_MINOR 0 +#define HV_HID_VER (HV_HID_VER_MINOR | (HV_HID_VER_MAJOR) << 16) + +#define HV_BUFSIZ (4 * PAGE_SIZE) +#define HV_HID_RINGBUFF_SEND_SZ (10 * PAGE_SIZE) +#define HV_HID_RINGBUFF_RECV_SZ (10 * PAGE_SIZE) + +typedef struct { + device_t dev; + struct mtx mtx; + /* vmbus */ + struct vmbus_channel *hs_chan; + struct vmbus_xact_ctx *hs_xact_ctx; + uint8_t *buf; + int buflen; + /* hid */ + struct hid_device_info hdi; + hid_intr_t *intr; + bool intr_on; + void *intr_ctx; + uint8_t *rdesc; +} hv_hid_sc; + +typedef enum { + SH_PROTO_REQ, + SH_PROTO_RESP, + SH_DEVINFO, + SH_DEVINFO_ACK, + SH_INPUT_REPORT, +} sh_msg_type; + +typedef struct { + sh_msg_type type; + uint32_t size; +} __packed sh_msg_hdr; + +typedef struct { + sh_msg_hdr hdr; + char data[]; +} __packed sh_msg; + +typedef struct { + sh_msg_hdr hdr; + uint32_t ver; +} __packed sh_proto_req; + +typedef struct { + sh_msg_hdr hdr; + uint32_t ver; + uint32_t app; +} __packed sh_proto_resp; + +typedef struct { + u_int size; + u_short vendor; + u_short product; + u_short version; + u_short reserved[11]; +} __packed sh_devinfo; + +/* Copied from linux/hid.h */ +typedef struct { + uint8_t bDescriptorType; + uint16_t wDescriptorLength; +} __packed sh_hcdesc; + +typedef struct { + uint8_t bLength; + uint8_t bDescriptorType; + uint16_t bcdHID; + uint8_t bCountryCode; + uint8_t bNumDescriptors; + sh_hcdesc hcdesc[1]; +} __packed sh_hdesc; + +typedef struct { + sh_msg_hdr hdr; + sh_devinfo devinfo; + sh_hdesc hdesc; +} __packed sh_devinfo_resp; + +typedef struct { + sh_msg_hdr hdr; + uint8_t rsvd; +} __packed sh_devinfo_ack; + +typedef struct { + sh_msg_hdr hdr; + char buffer[]; +} __packed sh_input_report; + +typedef enum { + HV_HID_MSG_INVALID, + HV_HID_MSG_DATA, +} hv_hid_msg_type; + +typedef struct { + hv_hid_msg_type type; + uint32_t size; + char data[]; +} hv_hid_pmsg; + +typedef struct { + hv_hid_msg_type type; + uint32_t size; + union { + sh_msg msg; + sh_proto_req req; + sh_proto_resp resp; + sh_devinfo_resp dresp; + sh_devinfo_ack ack; + sh_input_report irep; + }; +} hv_hid_msg; + +#define HV_HID_REQ_SZ (sizeof(hv_hid_pmsg) + sizeof(sh_proto_req)) +#define HV_HID_RESP_SZ (sizeof(hv_hid_pmsg) + sizeof(sh_proto_resp)) +#define HV_HID_ACK_SZ (sizeof(hv_hid_pmsg) + sizeof(sh_devinfo_ack)) + +/* Somewhat arbitrary, enough to get the devinfo response */ +#define HV_HID_REQ_MAX 256 +#define HV_HID_RESP_MAX 256 + +static const struct vmbus_ic_desc vmbus_hid_descs[] = { + { + .ic_guid = { .hv_guid = { + 0x9e, 0xb6, 0xa8, 0xcf, 0x4a, 0x5b, 0xc0, 0x4c, + 0xb9, 0x8b, 0x8b, 0xa1, 0xa1, 0xf3, 0xf9, 0x5a} }, + .ic_desc = "Hyper-V HID device" + }, + VMBUS_IC_DESC_END +}; + +/* TODO: add GUID support to devmatch(8) to export vmbus_hid_descs directly */ +const struct { + char *guid; +} vmbus_hid_descs_pnp[] = {{ "cfa8b69e-5b4a-4cc0-b98b-8ba1a1f3f95a" }}; + +static int hv_hid_attach(device_t dev); +static int hv_hid_detach(device_t dev); + +static int +hv_hid_connect_vsp(hv_hid_sc *sc) +{ + struct vmbus_xact *xact; + hv_hid_msg *req; + const hv_hid_msg *resp; + size_t resplen; + int ret; + + xact = vmbus_xact_get(sc->hs_xact_ctx, HV_HID_REQ_SZ); + if (xact == NULL) { + device_printf(sc->dev, "no xact for init"); + return (ENODEV); + } + req = vmbus_xact_req_data(xact); + req->type = HV_HID_MSG_DATA; + req->size = sizeof(sh_proto_req); + req->req.hdr.type = SH_PROTO_REQ; + req->req.hdr.size = sizeof(u_int); + req->req.ver = HV_HID_VER; + + vmbus_xact_activate(xact); + ret = vmbus_chan_send(sc->hs_chan, + VMBUS_CHANPKT_TYPE_INBAND, + VMBUS_CHANPKT_FLAG_RC, + req, HV_HID_REQ_SZ, (uint64_t)(uintptr_t)xact); + if (ret != 0) { + device_printf(sc->dev, "failed to send proto req\n"); + vmbus_xact_deactivate(xact); + return (ret); + } + resp = vmbus_chan_xact_wait(sc->hs_chan, xact, &resplen, true); + if (resplen != HV_HID_RESP_SZ || !resp->resp.app) { + device_printf(sc->dev, "proto req failed\n"); + ret = ENODEV; + } + + vmbus_xact_put(xact); + return (ret); +} + +static void +hv_hid_receive(hv_hid_sc *sc, struct vmbus_chanpkt_hdr *pkt) +{ + const hv_hid_msg *msg; + sh_msg_type msg_type; + uint32_t msg_len; + void *rdesc; + + msg = VMBUS_CHANPKT_CONST_DATA(pkt); + msg_len = VMBUS_CHANPKT_DATALEN(pkt); + + if (msg->type != HV_HID_MSG_DATA) + return; + + if (msg_len <= sizeof(hv_hid_pmsg)) { + device_printf(sc->dev, "invalid packet length\n"); + return; + } + msg_type = msg->msg.hdr.type; + switch (msg_type) { + case SH_PROTO_RESP: { + struct vmbus_xact_ctx *xact_ctx; + + xact_ctx = sc->hs_xact_ctx; + if (xact_ctx != NULL) { + vmbus_xact_ctx_wakeup(xact_ctx, + VMBUS_CHANPKT_CONST_DATA(pkt), + VMBUS_CHANPKT_DATALEN(pkt)); + } + break; + } + case SH_DEVINFO: { + struct vmbus_xact *xact; + struct hid_device_info *hdi; + hv_hid_msg ack; + const sh_devinfo *devinfo; + const sh_hdesc *hdesc; + + /* Send ack */ + ack.type = HV_HID_MSG_DATA; + ack.size = sizeof(sh_devinfo_ack); + ack.ack.hdr.type = SH_DEVINFO_ACK; + ack.ack.hdr.size = 1; + ack.ack.rsvd = 0; + + xact = vmbus_xact_get(sc->hs_xact_ctx, HV_HID_ACK_SZ); + if (xact == NULL) + break; + vmbus_xact_activate(xact); + (void) vmbus_chan_send(sc->hs_chan, VMBUS_CHANPKT_TYPE_INBAND, + 0, &ack, HV_HID_ACK_SZ, (uint64_t)(uintptr_t)xact); + vmbus_xact_deactivate(xact); + vmbus_xact_put(xact); + + /* Check for resume from hibernation */ + if (sc->rdesc != NULL) + break; + + /* Parse devinfo response */ + devinfo = &msg->dresp.devinfo; + hdesc = &msg->dresp.hdesc; + if (hdesc->bLength == 0) + break; + hdi = &sc->hdi; + memset(hdi, 0, sizeof(*hdi)); + hdi->rdescsize = le16toh(hdesc->hcdesc[0].wDescriptorLength); + if (hdi->rdescsize == 0) + break; + strlcpy(hdi->name, "Hyper-V", sizeof(hdi->name)); + hdi->idBus = BUS_VIRTUAL; + hdi->idVendor = le16toh(devinfo->vendor); + hdi->idProduct = le16toh(devinfo->product); + hdi->idVersion = le16toh(devinfo->version); + /* Save rdesc copy */ + rdesc = malloc(hdi->rdescsize, M_DEVBUF, M_WAITOK | M_ZERO); + memcpy(rdesc, (const uint8_t *)hdesc + hdesc->bLength, + hdi->rdescsize); + mtx_lock(&sc->mtx); + sc->rdesc = rdesc; + wakeup(sc); + mtx_unlock(&sc->mtx); + break; + } + case SH_INPUT_REPORT: { + mtx_lock(&sc->mtx); + if (sc->intr != NULL && sc->intr_on) + sc->intr(sc->intr_ctx, + __DECONST(void *, msg->irep.buffer), + msg->irep.hdr.size); + mtx_unlock(&sc->mtx); + break; + } + default: + break; + } +} + +static void +hv_hid_read_channel(struct vmbus_channel *channel, void *ctx) +{ + hv_hid_sc *sc; + uint8_t *buf; + int buflen; + int ret; + + sc = ctx; + buf = sc->buf; + buflen = sc->buflen; + for (;;) { + struct vmbus_chanpkt_hdr *pkt; + int rcvd; + + pkt = (struct vmbus_chanpkt_hdr *)buf; + rcvd = buflen; + ret = vmbus_chan_recv_pkt(channel, pkt, &rcvd); + if (__predict_false(ret == ENOBUFS)) { + buflen = sc->buflen * 2; + while (buflen < rcvd) + buflen *= 2; + buf = malloc(buflen, M_DEVBUF, M_WAITOK | M_ZERO); + device_printf(sc->dev, "expand recvbuf %d -> %d\n", + sc->buflen, buflen); + free(sc->buf, M_DEVBUF); + sc->buf = buf; + sc->buflen = buflen; + continue; + } else if (__predict_false(ret == EAGAIN)) { + /* No more channel packets; done! */ + break; + } + KASSERT(ret == 0, ("vmbus_chan_recv_pkt failed: %d", ret)); + + switch (pkt->cph_type) { + case VMBUS_CHANPKT_TYPE_COMP: + case VMBUS_CHANPKT_TYPE_RXBUF: + device_printf(sc->dev, "unhandled event: %d\n", + pkt->cph_type); + break; + case VMBUS_CHANPKT_TYPE_INBAND: + hv_hid_receive(sc, pkt); + break; + default: + device_printf(sc->dev, "unknown event: %d\n", + pkt->cph_type); + break; + } + } +} + +static int +hv_hid_probe(device_t dev) +{ + device_t bus; + const struct vmbus_ic_desc *d; + + if (resource_disabled(device_get_name(dev), 0)) + return (ENXIO); + + bus = device_get_parent(dev); + for (d = vmbus_hid_descs; d->ic_desc != NULL; ++d) { + if (VMBUS_PROBE_GUID(bus, dev, &d->ic_guid) == 0) { + device_set_desc(dev, d->ic_desc); + return (BUS_PROBE_DEFAULT); + } + } + + return (ENXIO); +} + +static int +hv_hid_attach(device_t dev) +{ + device_t child; + hv_hid_sc *sc; + int ret; + + sc = device_get_softc(dev); + sc->dev = dev; + mtx_init(&sc->mtx, "hvhid lock", NULL, MTX_DEF); + sc->hs_chan = vmbus_get_channel(dev); + sc->hs_xact_ctx = vmbus_xact_ctx_create(bus_get_dma_tag(dev), + HV_HID_REQ_MAX, HV_HID_RESP_MAX, 0); + if (sc->hs_xact_ctx == NULL) { + ret = ENOMEM; + goto out; + } + sc->buflen = HV_BUFSIZ; + sc->buf = malloc(sc->buflen, M_DEVBUF, M_WAITOK | M_ZERO); + vmbus_chan_set_readbatch(sc->hs_chan, false); + ret = vmbus_chan_open(sc->hs_chan, HV_HID_RINGBUFF_SEND_SZ, + HV_HID_RINGBUFF_RECV_SZ, NULL, 0, hv_hid_read_channel, sc); + if (ret != 0) + goto out; + ret = hv_hid_connect_vsp(sc); + if (ret != 0) + goto out; + + /* Wait until we have devinfo (or arbitrary timeout of 3s) */ + mtx_lock(&sc->mtx); + if (sc->rdesc == NULL) + ret = mtx_sleep(sc, &sc->mtx, 0, "hvhid", hz * 3); + mtx_unlock(&sc->mtx); + if (ret != 0) { + ret = ENODEV; + goto out; + } + child = device_add_child(sc->dev, "hidbus", -1); + if (child == NULL) { + device_printf(sc->dev, "failed to add hidbus\n"); + ret = ENOMEM; + goto out; + } + device_set_ivars(child, &sc->hdi); + ret = bus_generic_attach(dev); + if (ret != 0) + device_printf(sc->dev, "failed to attach hidbus\n"); +out: + if (ret != 0) + hv_hid_detach(dev); + return (ret); +} + +static int +hv_hid_detach(device_t dev) +{ + hv_hid_sc *sc; + int ret; + + sc = device_get_softc(dev); + ret = device_delete_children(dev); + if (ret != 0) + return (ret); + if (sc->hs_xact_ctx != NULL) + vmbus_xact_ctx_destroy(sc->hs_xact_ctx); + vmbus_chan_close(vmbus_get_channel(dev)); + free(sc->buf, M_DEVBUF); + free(sc->rdesc, M_DEVBUF); + mtx_destroy(&sc->mtx); + + return (0); +} + +static void +hv_hid_intr_setup(device_t dev, hid_intr_t intr, void *ctx, + struct hid_rdesc_info *rdesc) +{ + hv_hid_sc *sc; + + if (intr == NULL) + return; + + sc = device_get_softc(dev); + sc->intr = intr; + sc->intr_on = false; + sc->intr_ctx = ctx; + rdesc->rdsize = rdesc->isize; +} + +static void +hv_hid_intr_unsetup(device_t dev) +{ + hv_hid_sc *sc; + + sc = device_get_softc(dev); + sc->intr = NULL; + sc->intr_on = false; + sc->intr_ctx = NULL; +} + +static int +hv_hid_intr_start(device_t dev) +{ + hv_hid_sc *sc; + + sc = device_get_softc(dev); + mtx_lock(&sc->mtx); + sc->intr_on = true; + mtx_unlock(&sc->mtx); + return (0); +} + +static int +hv_hid_intr_stop(device_t dev) +{ + hv_hid_sc *sc; + + sc = device_get_softc(dev); + mtx_lock(&sc->mtx); + sc->intr_on = false; + mtx_unlock(&sc->mtx); + return (0); +} + +static int +hv_hid_get_rdesc(device_t dev, void *buf, hid_size_t len) +{ + hv_hid_sc *sc; + + sc = device_get_softc(dev); + if (len < sc->hdi.rdescsize) + return (EMSGSIZE); + memcpy(buf, sc->rdesc, len); + return (0); +} + +static device_method_t hv_hid_methods[] = { + DEVMETHOD(device_probe, hv_hid_probe), + DEVMETHOD(device_attach, hv_hid_attach), + DEVMETHOD(device_detach, hv_hid_detach), + + DEVMETHOD(hid_intr_setup, hv_hid_intr_setup), + DEVMETHOD(hid_intr_unsetup, hv_hid_intr_unsetup), + DEVMETHOD(hid_intr_start, hv_hid_intr_start), + DEVMETHOD(hid_intr_stop, hv_hid_intr_stop), + + DEVMETHOD(hid_get_rdesc, hv_hid_get_rdesc), + DEVMETHOD_END, +}; + +static driver_t hv_hid_driver = { + .name = "hvhid", + .methods = hv_hid_methods, + .size = sizeof(hv_hid_sc), +}; + +DRIVER_MODULE(hv_hid, vmbus, hv_hid_driver, NULL, NULL); +MODULE_VERSION(hv_hid, 1); +MODULE_DEPEND(hv_hid, hidbus, 1, 1, 1); +MODULE_DEPEND(hv_hid, hms, 1, 1, 1); +MODULE_DEPEND(hv_hid, vmbus, 1, 1, 1); +MODULE_PNP_INFO("Z:classid", vmbus, hv_hid, vmbus_hid_descs_pnp, + nitems(vmbus_hid_descs_pnp)); diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index 367af20d3a09..4e4c6193ebab 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -703,6 +703,7 @@ device kvm_clock # KVM paravirtual clock driver options HYPERV device hyperv # HyperV drivers +device hvhid # HyperV HID device ##################################################################### diff --git a/sys/modules/hyperv/Makefile b/sys/modules/hyperv/Makefile index e94b441e876d..0e9ca2495ef6 100644 --- a/sys/modules/hyperv/Makefile +++ b/sys/modules/hyperv/Makefile @@ -1,5 +1,5 @@ # $FreeBSD$ -SUBDIR = vmbus netvsc storvsc utilities hvsock +SUBDIR = vmbus netvsc storvsc utilities hvsock hid .include diff --git a/sys/modules/hyperv/hid/Makefile b/sys/modules/hyperv/hid/Makefile new file mode 100644 index 000000000000..40b991065d2a --- /dev/null +++ b/sys/modules/hyperv/hid/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +.PATH: ${SRCTOP}/sys/dev/hyperv/input + +KMOD= hv_hid +SRCS= hv_hid.c +SRCS+= bus_if.h device_if.h hid_if.h vmbus_if.h + +CFLAGS+= -I${SRCTOP}/sys/dev/hyperv/include \ + -I${SRCTOP}/sys/dev/hyperv/vmbus + +.include From nobody Sun Feb 5 15:33:33 2023 X-Original-To: dev-commits-src-main@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 4P8thY46dNz3kRfV; Sun, 5 Feb 2023 15:33:33 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8thY31BZz44DK; Sun, 5 Feb 2023 15:33:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675611213; 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=Mmz5dMP6QJUkXU9JFBL2pw7S/HdrEycN/xElSr8dgLI=; b=WM4DfYYUpGLCXOG7YosloIvJSv0V+zg1XHtooMTlPo+vFPb2o+1MeYzs5aap878D/TNufs 8e6ZuAaRKbG729viuJhi6ZbQARxb7zQx/2eMj7TwVjyDdtaKSRLhCPMJKNXWJpaa7Qflwo uoa9EkpCazGO4zcqcI5bIxhMZ/bLJm9umU388C7RViiy1j19u4Jt7YVtYnmRYZdGTCi6xB bfMkkoFwWY4cSIKS4BmPOwy84GJixXS+TVh9avWL/c7IqOpG98to0deU1irs90yJ3PGXFB 6QL3cC5C+v+bIeYpOmVt477IIMknGaY/L7E08na21KeRQVBnWCkUNcVah3AKBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675611213; 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=Mmz5dMP6QJUkXU9JFBL2pw7S/HdrEycN/xElSr8dgLI=; b=CsDPiCp4b/duaoDrV0d1bLED5fnbSLYUqdPOSSnvX5MwxSmRQmWP0kf25LwNoaQgZtpNNT GIA7w18+ISQA5UpGSbbdzHhV+DPkb0aqVMSBQUFLI1s4/D7MTF/W6/E6BRSssG9D2ibWeI UKuMlPB8eZGqAeS/cmJOq4thqfqvtXj1BXFfxx1FambKbZI7egFCqqSc+qZ4+ZxJ/5djMe CDk0sGVNcptN5xniE2RIbnghkL+GNeCHa2AGgkEHjsCGxnXwY2hvCIyduTIVSK7bULzstV W4eqpHKMPC4RT+TYmb+nCNIq1nfB1xA7TuQhYdSHFfESQPFzQvenH7giTIX6yQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675611213; a=rsa-sha256; cv=none; b=FcfIF2FKDj6CHCJOTdkROALr1PnangH81vUdF5u/eXw7yjmRo5CdGJaGxwsPZiQFT6jD/3 7qxViqqsUO4WbTImsuJhtnAKuygNrdWnd3T2J1HzaOaaVgwOddGKJkOatgRV+fDT82pEyS j6lg1rFKdQgqJHT+LgSn4k1NP0/w0CrvoLZ7hYgywRZ8eJhMvcNqh9k0gAyqzgGB3HdV6X H2SODmUEvSrCaVo3cP/rXZfNZkVJJwqwMLwNZ3lkAWwuY/CPYJXqUagFq+a2JQMm1xfHAP 024zVEA95VHSd8tUwHL58hffyq6HFpLL5vZgBdiyYGr3AtVm7aBrHhhC/sx8Hg== 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 4P8thY1QJVz10W7; Sun, 5 Feb 2023 15:33:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315FXXJO095757; Sun, 5 Feb 2023 15:33:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315FXXMl095756; Sun, 5 Feb 2023 15:33:33 GMT (envelope-from git) Date: Sun, 5 Feb 2023 15:33:33 GMT Message-Id: <202302051533.315FXXMl095756@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 8d5fef85f007 - main - ietp(4): Load dummy HID report descriptor if mangled List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8d5fef85f007c81d15ea6de825a4462b3829ea16 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=8d5fef85f007c81d15ea6de825a4462b3829ea16 commit 8d5fef85f007c81d15ea6de825a4462b3829ea16 Author: Aymeric Wibo AuthorDate: 2023-02-05 15:32:08 +0000 Commit: Vladimir Kondratyev CommitDate: 2023-02-05 15:32:08 +0000 ietp(4): Load dummy HID report descriptor if mangled Some Elantech trackpads have a mangled HID report descriptor, which reads as having an incorrect input size (i.e. < IETP_REPORT_LEN_LO). If the input size is incorrect, load a dummy report descriptor. Reviewed by: wulf MFC after: 1 week Differential revision: https://reviews.freebsd.org/D38387 --- sys/dev/hid/ietp.c | 91 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 69 insertions(+), 22 deletions(-) diff --git a/sys/dev/hid/ietp.c b/sys/dev/hid/ietp.c index 6d0570c88e30..3381f76da630 100644 --- a/sys/dev/hid/ietp.c +++ b/sys/dev/hid/ietp.c @@ -118,7 +118,7 @@ struct ietp_softc { uint16_t trace_y; uint16_t res_x; /* dots per mm */ uint16_t res_y; - bool hi_precission; + bool hi_precision; bool is_clickpad; bool has_3buttons; }; @@ -132,9 +132,10 @@ static int ietp_attach(struct ietp_softc *); static int ietp_detach(struct ietp_softc *); static int32_t ietp_res2dpmm(uint8_t, bool); -static device_probe_t ietp_iic_probe; -static device_attach_t ietp_iic_attach; -static device_detach_t ietp_iic_detach; +static device_identify_t ietp_iic_identify; +static device_probe_t ietp_iic_probe; +static device_attach_t ietp_iic_attach; +static device_detach_t ietp_iic_detach; static device_resume_t ietp_iic_resume; static int ietp_iic_read_reg(device_t, uint16_t, size_t, void *); @@ -200,6 +201,17 @@ static const struct hid_device_id ietp_iic_devs[] = { IETP_IIC_DEV("ELAN1000"), }; +static uint8_t const ietp_dummy_rdesc[] = { + 0x05, HUP_GENERIC_DESKTOP, /* Usage Page (Generic Desktop Ctrls) */ + 0x09, HUG_MOUSE, /* Usage (Mouse) */ + 0xA1, 0x01, /* Collection (Application) */ + 0x09, 0x01, /* Usage (0x01) */ + 0x95, IETP_REPORT_LEN_LO, /* Report Count (IETP_REPORT_LEN_LO) */ + 0x75, 0x08, /* Report Size (8) */ + 0x81, 0x02, /* Input (Data,Var,Abs) */ + 0xC0, /* End Collection */ +}; + static const struct evdev_methods ietp_evdev_methods = { .ev_open = &ietp_ev_open, .ev_close = &ietp_ev_close, @@ -241,9 +253,9 @@ ietp_attach(struct ietp_softc *sc) int32_t minor, major; int error; - sc->report_id = sc->hi_precission ? + sc->report_id = sc->hi_precision ? IETP_REPORT_ID_HI : IETP_REPORT_ID_LO; - sc->report_len = sc->hi_precission ? + sc->report_len = sc->hi_precision ? IETP_REPORT_LEN_HI : IETP_REPORT_LEN_LO; /* Try to detect 3-rd button by relative mouse TLC */ @@ -334,15 +346,31 @@ ietp_intr(void *context, void *buf, hid_size_t len) int32_t x, y, w, h, wh; /* we seem to get 0 length reports sometimes, ignore them */ + if (len == 0) + return; + if (len != sc->report_len) { + DPRINTF("wrong report length (%d vs %d expected)", len, sc->report_len); + return; + } + report = buf; - if (*report != sc->report_id || len < sc->report_len) + if (*report != sc->report_id) return; + evdev_push_key(sc->evdev, BTN_LEFT, + report[IETP_TOUCH_INFO] & IETP_TOUCH_LMB); + evdev_push_key(sc->evdev, BTN_MIDDLE, + report[IETP_TOUCH_INFO] & IETP_TOUCH_MMB); + evdev_push_key(sc->evdev, BTN_RIGHT, + report[IETP_TOUCH_INFO] & IETP_TOUCH_RMB); + evdev_push_abs(sc->evdev, ABS_DISTANCE, + (report[IETP_HOVER_INFO] & 0x40) >> 6); + for (finger = 0, fdata = report + IETP_FINGER_DATA; finger < IETP_MAX_FINGERS; finger++, fdata += IETP_FINGER_DATA_LEN) { if ((report[IETP_TOUCH_INFO] & (1 << (finger + 3))) != 0) { - if (sc->hi_precission) { + if (sc->hi_precision) { x = fdata[0] << 8 | fdata[1]; y = fdata[2] << 8 | fdata[3]; wh = report[IETP_WH_DATA + finger]; @@ -379,28 +407,46 @@ ietp_intr(void *context, void *buf, hid_size_t len) } } - evdev_push_key(sc->evdev, BTN_LEFT, - report[IETP_TOUCH_INFO] & IETP_TOUCH_LMB); - evdev_push_key(sc->evdev, BTN_MIDDLE, - report[IETP_TOUCH_INFO] & IETP_TOUCH_MMB); - evdev_push_key(sc->evdev, BTN_RIGHT, - report[IETP_TOUCH_INFO] & IETP_TOUCH_RMB); - evdev_push_abs(sc->evdev, ABS_DISTANCE, - (report[IETP_HOVER_INFO] & 0x40) >> 6); - evdev_sync(sc->evdev); } static int32_t -ietp_res2dpmm(uint8_t res, bool hi_precission) +ietp_res2dpmm(uint8_t res, bool hi_precision) { int32_t dpi; - dpi = hi_precission ? 300 + res * 100 : 790 + res * 10; + dpi = hi_precision ? 300 + res * 100 : 790 + res * 10; return (dpi * 10 /254); } +static void +ietp_iic_identify(driver_t *driver, device_t parent) +{ + void *d_ptr; + hid_size_t d_len; + int isize; + uint8_t iid; + + if (HIDBUS_LOOKUP_ID(parent, ietp_iic_devs) == NULL) + return; + if (hid_get_report_descr(parent, &d_ptr, &d_len) != 0) + return; + + /* + * Some Elantech trackpads have a mangled HID report descriptor, which + * reads as having an incorrect input size (i.e. < IETP_REPORT_LEN_LO). + * If the input size is incorrect, load a dummy report descriptor. + */ + + isize = hid_report_size_max(d_ptr, d_len, hid_input, &iid); + if (isize >= IETP_REPORT_LEN_LO) + return; + + hid_set_report_descr(parent, ietp_dummy_rdesc, + sizeof(ietp_dummy_rdesc)); +} + static int ietp_iic_probe(device_t dev) { @@ -442,7 +488,7 @@ ietp_iic_attach(device_t dev) return (EIO); } pattern = buf == 0xFFFF ? 0 : buf8[1]; - sc->hi_precission = pattern >= 0x02; + sc->hi_precision = pattern >= 0x02; reg = pattern >= 0x01 ? IETP_IC_TYPE : IETP_OSM_VERSION; if (ietp_iic_read_reg(dev, reg, sizeof(buf), &buf) != 0) { @@ -492,8 +538,8 @@ ietp_iic_attach(device_t dev) return (EIO); } /* Conversion from internal format to dot per mm */ - sc->res_x = ietp_res2dpmm(buf8[0], sc->hi_precission); - sc->res_y = ietp_res2dpmm(buf8[1], sc->hi_precission); + sc->res_x = ietp_res2dpmm(buf8[0], sc->hi_precision); + sc->res_y = ietp_res2dpmm(buf8[1], sc->hi_precision); return (ietp_attach(sc)); } @@ -610,6 +656,7 @@ ietp_iic_write_reg(device_t dev, uint16_t reg, uint16_t val) } static device_method_t ietp_methods[] = { + DEVMETHOD(device_identify, ietp_iic_identify), DEVMETHOD(device_probe, ietp_iic_probe), DEVMETHOD(device_attach, ietp_iic_attach), DEVMETHOD(device_detach, ietp_iic_detach), From nobody Sun Feb 5 15:42:16 2023 X-Original-To: dev-commits-src-main@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 4P8ttf4p2tz3kSFV; Sun, 5 Feb 2023 15:42:18 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-oa1-x2b.google.com (mail-oa1-x2b.google.com [IPv6:2001:4860:4864:20::2b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8ttf2nx6z45fs; Sun, 5 Feb 2023 15:42:18 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-oa1-x2b.google.com with SMTP id 586e51a60fabf-15fe106c7c7so12471343fac.8; Sun, 05 Feb 2023 07:42:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=jVVgFTrcAGpyddjHHWnNxAel18DnsxqunAqL2DViLto=; b=BiAf71d/C0CJSthQoHOmgGeJGwi8+9AU1sc9U6BeQXbn7Desz3t3+uHgOnn501gb3U gkngGnD/u2D5mlgxKQ+0JdOvspdeLiBkIWKlr/34jJE9ehkbpNWijs3IEd/qb+J0kYDp 9neoPBvCh4MzAw9/C7mYBOaaDwYhiFA0hvQ85tZll7dyArd5n5iLAQ0n9p1l9J0VghRX 26C16DhwkqftR4JZ5eTI6uXznM/xX2J51A9sGYPY+aQhLSh5udUiI2B1TnV0DxJ46kzc Jypw5+Nbdn3Y8QPc2Z9DPbveuLb9xLdQ/FmNFhNu63DdcDuV4JH+fcakZtEL6ceMD0DL kY0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=jVVgFTrcAGpyddjHHWnNxAel18DnsxqunAqL2DViLto=; b=KsyUdkj2LllqQI7X7mb0eLH5EA+1yX7ennNlFBXrZ4E+l48M7igsy5VhmB5aP0kTrl +RUWHhEBoQUJmSRN6NYbHRNfBAQVqVvkStSSJzbc6BQwywLqAzEYTrlQ6DnAE/9Zm4/W ObygYUnWpaNwMxoELtPp/4WQCOSc7OccovyFApBb8S6fn7kcouDri+haGhRgRdL35vJS iRZkF0m1ZQflutJc0ZA19YK3IupEhp6QFYs0ZBya/rOcWoH5zq02rvJRdlQcjjsPKIXT nMCPZcvMOtMVfbCLLWK7ls4Kbcd/n+Y28zl15aMCbsEPilZ6jeOYwHMH4DXnkOmeCXn5 Skxg== X-Gm-Message-State: AO0yUKXcTeXQPEB9AguezkL/nbZ4B2FuDGeAmDKtFi+t4P8EWHDG/DXs aixyND7+l9oFZVBioD9I8JSj6fjYxduieejYnPbSxTap X-Google-Smtp-Source: AK7set9vtOHcWiDBBCy0Ii5n6WbR64P6pc2O8SANbnFH5Ss5HJuH8fXaZg6YcNWPlqTDwPYkQtKwGH+MAutJ85vWAVU= X-Received: by 2002:a05:6870:7081:b0:163:9dcc:a882 with SMTP id v1-20020a056870708100b001639dcca882mr1228071oae.159.1675611736544; Sun, 05 Feb 2023 07:42:16 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Received: by 2002:a8a:ad6:0:b0:49c:e11d:f815 with HTTP; Sun, 5 Feb 2023 07:42:16 -0800 (PST) In-Reply-To: References: <202302041751.314HpRrn042970@gitrepo.freebsd.org> From: Mateusz Guzik Date: Sun, 5 Feb 2023 16:42:16 +0100 Message-ID: Subject: Re: git: d9d5f2c042a5 - main - cpuset: add --count To: Alexey Dokuchaev Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4P8ttf2nx6z45fs X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2001:4860:4864::/48, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 2/5/23, Alexey Dokuchaev wrote: > On Sat, Feb 04, 2023 at 05:51:27PM +0000, Mateusz Guzik wrote: >> commit d9d5f2c042a51a9f0dd69eb1fc349efd81ffa483 >> >> cpuset: add --count >> >> Can be used to count the number of hardware threads in the cpu set. >> >> For example: [...] >> >> The intent is to replace calls to sysctl hw.ncpu and kern.smp.cpus > > Speaking of these two, do we really need both, unless they are not > exactly the same? (They do seem so, though.) > They are not, cpuset grabs a pid argument, while nproc only works on itself. -- Mateusz Guzik From nobody Sun Feb 5 17:28:50 2023 X-Original-To: dev-commits-src-main@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 4P8xFZ2w21z3kcmg; Sun, 5 Feb 2023 17:28:50 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (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 "freefall.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8xFZ28Tfz44W5; Sun, 5 Feb 2023 17:28:50 +0000 (UTC) (envelope-from danfe@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675618130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=qIjNztKJXBP8ovnMJGWoThNRBT22wPiXROQYHCrL0Dc=; b=LiOFg5sPFwAzsqkBBFXa0DM1gUd0Wz3IjilgRWfj5dKZ53vbZNTiyofHjsYwJV6tAePwhw gvmaajf9RWCLJ82svG8hBze63yxbz9lpoJUZRBz04lN/MadxksGcYW8EGeVKk+H+rA70pe 4BQb/gEiIj3fpRQUsRrveQ4oQ4HdKcm7b92ZF4kCw2EPCUYv/kBJDicIBEDY7nG2z9Aluk zM0SdESlj3pxVYJonkBGvLfqdHRVTYYCZJ2xmCfp2sCn9CAynHyARKOPvXsGSZM8memD94 V4ODqiDzBhCyWgZCJvXzi751zgbCMJ/x8hr2nKpvSOtkG6HGhLoFo7bJrbwOUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675618130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=qIjNztKJXBP8ovnMJGWoThNRBT22wPiXROQYHCrL0Dc=; b=sK1xEufDKdYR6HO9nwTU/CFlAnevZp465O1Gvmc51f57QdsSpLUFfBj5QOEBRtlC4hMaUh uGrvkcxQtIg05HGsCHuu7iZjlpD6kWS+IdUdAKW0i4Estp6uGWlHOXGPPFY2MLpDgiqPj6 wd/D5Pf3eZwJODkYXoTbjP8L3HZ/iGbCuZ1QJE6x2be+ctJ2WldWyg/++9aJDGwLC3lJ0/ Hl3z4JrHf5Pg7/Rh3Imd6A9pOFHaBwykQkp5qp7DyRQMuBAXkFnKkSrEf773EkUtRQCH/x hbwl27o7qU+gRoG6fTWDYXUkroiNSGgM/Eusoo9L23YBB+f3dG5AIn5OHPgDvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675618130; a=rsa-sha256; cv=none; b=dZA0W+SV1YkDHZ6ei5aKWjlzjtvaELId+sh8PrlSZ934oVaX6Jn4P+2IfORiwebuScVABd lcsDm1Xz9BZlj90LGjDUOuePS/+gHvc1L51KafB9YOIDj8f/Wr74kNBLEbE2v8NBjTOBZd RdjtF88nD5jzdyFiiJ0XLL5TvSWW9klDF5AiFMO3xRudiM/5ZRq7w0qRPtIR9jiVapcRkG WJWNPdMSNELf87ngsQ9OSqQIa2BYSmyAkhLkDLAjjLzBoj6uig6pyTyk+5bb/fWtRUUT8J Ua0yFhM8AqZltt+iSxd6gnN2i94LnwOxvqzmI6/ZKPun6uRS+60shCfuuId54g== Received: by freefall.freebsd.org (Postfix, from userid 1033) id 21C0F1C1C4; Sun, 5 Feb 2023 17:28:50 +0000 (UTC) Date: Sun, 5 Feb 2023 17:28:50 +0000 From: Alexey Dokuchaev To: Mateusz Guzik Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: d9d5f2c042a5 - main - cpuset: add --count Message-ID: References: <202302041751.314HpRrn042970@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ThisMailContainsUnwantedMimeParts: N On Sun, Feb 05, 2023 at 04:42:16PM +0100, Mateusz Guzik wrote: > On 2/5/23, Alexey Dokuchaev wrote: > > On Sat, Feb 04, 2023 at 05:51:27PM +0000, Mateusz Guzik wrote: > >> commit d9d5f2c042a51a9f0dd69eb1fc349efd81ffa483 > >> > >> cpuset: add --count > >> > >> Can be used to count the number of hardware threads in the cpu set. > >> > >> For example: [...] > >> > >> The intent is to replace calls to sysctl hw.ncpu and kern.smp.cpus > > > > Speaking of these two, do we really need both, unless they are not > > exactly the same? (They do seem so, though.) > > They are not, cpuset grabs a pid argument, while nproc only works on itself. cpuset? pid argument? But I was not asking about cpuset, I was wondering whether we need both of these sysctls: $ sysctl hw.ncpu hw.ncpu: 2 $ sysctl kern.smp.cpus kern.smp.cpus: 2 ./danfe From nobody Sun Feb 5 17:53:24 2023 X-Original-To: dev-commits-src-main@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 4P8xnx1bBPz3kfTH; Sun, 5 Feb 2023 17:53:25 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8xnx1345z46Jv; Sun, 5 Feb 2023 17:53:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675619605; 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=laahHiVwyNV1lwRR+s47MRFTmnXYJpj32OSVuqriwF8=; b=mccr6FzztNFE5l7ts/lW7a5p6s7wYaaTKqfs/IhSx1cgAtWxLWr5o+Iz2rs6tVFs0syIot fh7ws7k19EAUFbFjVmHwxuobO98FRgSg7CtiLzIN4kddBt7Gyf2EXbqKKc1MP49czEym8r rCnmyKLkEgSu3lIPbtsu3e1j1waIs5/lmjYv5Hg33vgjub3FBrXC1tNjdPY/+e454vR6Rs wrU+XhRvpHoE/4zbzwiOgTNUfM2sc6pT2IWPgck5/wCua24eS+/5wZ1K7BRBK3MpzsfUZ/ ieqX6T6rc3zjxX965csGwzP2wQtxWaUpLNgyKWYqaeqzg7l6KSOx7rFA0NZlVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675619605; 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=laahHiVwyNV1lwRR+s47MRFTmnXYJpj32OSVuqriwF8=; b=aJvpa+n6ANZdTAr7T7aWlS6izDIqkQBdF71dbKvVYVVHV8/Y91qanhvgb72BZQM4SJeuRM 4QlWbUCUPVHBo9/p0pZVqtNwYhGw8uQN6bp4ETamnMhWDg2haD265KI2jCcw7RWGz/hW8A 4AAdWg3OpJ+o2e8MBQ9FJFTOB7hMLt+ZOA3BoiWRnxUQCs9BtvzfiFTKzJVGVhQ85TOiAf a8LzWIq6UWkKZ5/11uPgw+rOQTk/KO6QoBxpueJfxvhcuXuGmk6HTdvV9CYFi/89FXhFY6 zcAcxozl6jhOR6fMUON6ol+aYtAPa4js3DOlBuAekeQPExxzdem38XTvqcZN1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675619605; a=rsa-sha256; cv=none; b=RVufUBLd1VEECq5N+EZhIW2ZYbmFYJRd+wDisL/+4GrGnGc4oNtBjQlPxzbwEizPsYI4GO 8MXGQ8eMSnD2SMDtqjwW+WHM4BJgzArDte8sXlEIPngxa6vusND/6BK+8+LAW/djy8Qk2m 3u/g9j/YcjVztkKLgtVjFFkTsCvx4C75TVtWNvZQBEBiMmqub7d7NKGY/xArzKWVu1Gt6b dX+PYp0i9noR0AdfPEyw5lhgIzMM+i/4xgUvyHGFablAjYpPg2y4FJjDz1pobTlNW/dd6V /SOC/6CesJzJpUG8rFGG0EkF/Hat9iJJOIy9pkDsv09bMSGPSkybjf7fWxzS3Q== 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 4P8xnx05Hqz13wV; Sun, 5 Feb 2023 17:53:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315HrOg4016844; Sun, 5 Feb 2023 17:53:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315HrO7x016843; Sun, 5 Feb 2023 17:53:24 GMT (envelope-from git) Date: Sun, 5 Feb 2023 17:53:24 GMT Message-Id: <202302051753.315HrO7x016843@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: dcb4b13816df - main - xen/timer: rename "timer.c" to "xen_timer.c" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: dcb4b13816df76ee6bfb28751cbe7ff19092ad15 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=dcb4b13816df76ee6bfb28751cbe7ff19092ad15 commit dcb4b13816df76ee6bfb28751cbe7ff19092ad15 Author: Elliott Mitchell AuthorDate: 2023-02-05 17:41:14 +0000 Commit: Warner Losh CommitDate: 2023-02-05 17:50:50 +0000 xen/timer: rename "timer.c" to "xen_timer.c" The better to avoid conflicting with other files given how "timer.c" isn't a very unique name. ARM and RISC-V both have timer.c files. Reviewed by: royger, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/609 Differential Revision: https://reviews.freebsd.org/D36258 --- sys/conf/files | 2 +- sys/dev/xen/timer/{timer.c => xen_timer.c} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index 08966a9b46e4..9171b434a7bf 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3527,7 +3527,7 @@ dev/xen/efi/pvefi.c optional xenhvm efirt dev/xen/grant_table/grant_table.c optional xenhvm dev/xen/netback/netback.c optional xenhvm dev/xen/netfront/netfront.c optional xenhvm -dev/xen/timer/timer.c optional xenhvm xentimer +dev/xen/timer/xen_timer.c optional xenhvm xentimer dev/xen/xenpci/xenpci.c optional xenpci dev/xen/xenstore/xenstore.c optional xenhvm dev/xen/xenstore/xenstore_dev.c optional xenhvm diff --git a/sys/dev/xen/timer/timer.c b/sys/dev/xen/timer/xen_timer.c similarity index 99% rename from sys/dev/xen/timer/timer.c rename to sys/dev/xen/timer/xen_timer.c index 815e3338f320..ef524e2e6d51 100644 --- a/sys/dev/xen/timer/timer.c +++ b/sys/dev/xen/timer/xen_timer.c @@ -29,7 +29,7 @@ */ /** - * \file dev/xen/timer/timer.c + * \file dev/xen/timer/xen_timer.c * \brief A timer driver for the Xen hypervisor's PV clock. */ From nobody Sun Feb 5 18:18:41 2023 X-Original-To: dev-commits-src-main@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 4P8yM60mhZz3kgs6; Sun, 5 Feb 2023 18:18:42 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8yM60B2vz4FP5; Sun, 5 Feb 2023 18:18:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675621122; 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=I+dPMpHwz695YtC3b2H+8Dt8XyT6wKprkZz2P4pt8II=; b=WHPGoCoz/YItxyG4Zi73xblMFuqd5xOkFPmEstynwlZDj+qvGrFPtFthOfgtIwo7xRXmeK DCzldZ79uI8C84JO+R4d5LLuIipZmbs454YjEnlCBOlv6BJh7mDcG3jQkBE69H4fyIJZD4 VRcmlN3jTwOF2/DrbvTU3uWJKul8HMHrzlvMYc4uCK4Ua752qA5zSr+4496RFKexgs2c+b HvowDWWCxLKcKx5ck1a7fWtExTfECUBhJ2GKt5KG+gv6MUPLgBOVfREU37Q7z32G9fm1ao J864joV8yvp6+omMoIXZs+6DpG7haYVEP4zsu3CuIFm8OVom+cYJhSa7is2UPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675621122; 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=I+dPMpHwz695YtC3b2H+8Dt8XyT6wKprkZz2P4pt8II=; b=JpPmyzgfNsOeC3sRKkF50sXfCgAUBXsBzjp03KIQkSY/yRFctiZWzaVVJNtDZHToTRQcNP RGBGTDYuU/Kt1xMleKSDoBcXE6LGzbdOfmVRkupQ4hQjDkeWJe2vwL4mm7F3iZ0A5WxY1N Z8eE3wxmFabaAQCPh1eEswX6rtgxim/dMBvwZMcj13jbwIc6Ke3q/29Kl4zOawwuUMd12Q ZJRLx74CIgYI3b3Rp76v6NnbPPrd124zhAgA9d1dwUiVF0gHGjstKRuvwBwV+b2lMoCUPp KBDuSupMl2Y0h1TEmqoTz7lX7KhwlwzJd870ZdH3tKY2bU8D+ExLpHyhXQRoew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675621122; a=rsa-sha256; cv=none; b=e8cOA+f/SkDrPls/wyFZ2e3SSIDQJDMCl5oKvjatdAzm+wr0b7UtvgQKmVPV5Qt+pIQ0FL 2dMQMPkluRZpHHxkTfD4kCY9pkqMMtX/blIN8C4159m1tndI1PCVMVcz+hAYdhXlZ4TUmd zNsJzxCU/2jOq1wZZYAdNbgoWW5XYO1Xld0fO/J2EycMyhB26D2z171l8/BA0zxniplFIf bvH10EcVkxL1Ui5yiqzw7Zgnh5hdV22mD8GWXjNUcQpD1eFYLVJ2xZa65NAYyjAeIE8fa5 9U8sS/CO1N3umFIkREauCgVae/7/uFV517+9h2WkXYbsLl+J9w8OTp7R5QUSUA== 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 4P8yM56KSLz147K; Sun, 5 Feb 2023 18:18:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315IIf7Z048804; Sun, 5 Feb 2023 18:18:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315IIfXu048803; Sun, 5 Feb 2023 18:18:41 GMT (envelope-from git) Date: Sun, 5 Feb 2023 18:18:41 GMT Message-Id: <202302051818.315IIfXu048803@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: c755a7cc1ede - main - ssh: remove old reference from update instructions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: c755a7cc1edea3875ae6910226e0bee0f0edb170 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c755a7cc1edea3875ae6910226e0bee0f0edb170 commit c755a7cc1edea3875ae6910226e0bee0f0edb170 Author: Ed Maste AuthorDate: 2023-02-05 18:15:29 +0000 Commit: Ed Maste CommitDate: 2023-02-05 18:17:46 +0000 ssh: remove old reference from update instructions ssh_config and ssh_config.5 no longer contain the VersionAddendum, so remove instructions to update these files. Fixes: bffe60ead024 ("ssh: retire client VersionAddendum") Sponsored By: The FreeBSD Foundation --- crypto/openssh/FREEBSD-upgrade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crypto/openssh/FREEBSD-upgrade b/crypto/openssh/FREEBSD-upgrade index 9f6f3d577e01..f4be34754af7 100644 --- a/crypto/openssh/FREEBSD-upgrade +++ b/crypto/openssh/FREEBSD-upgrade @@ -66,8 +66,8 @@ (leaving them deleted). 10) Resolve conflicts. Remember to bump the version addendum in - version.h, and update the default value in ssh{,d}_config and - ssh{,d}_config.5. + version.h, and update the default value in sshd_config and + sshd_config.5. 11) Diff against the vendor branch: From nobody Sun Feb 5 20:31:10 2023 X-Original-To: dev-commits-src-main@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 4P91Hy2XL2z3kpy8; Sun, 5 Feb 2023 20:31: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P91Hy26nBz3CJL; Sun, 5 Feb 2023 20:31:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675629070; 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=kng04kYu0laaRIuwcW/Ccq2PtJjbRS+oGDQ9Lqxb+Ns=; b=liBkogPJdp3eS7m+eTl3sacZOLxu9hWEDwZ2ebmcFXOZyUuNPMabRi8XtA7CAJi450I5PK yFn5MGtllt/hgm/6i7eOP2kJEubRM49enOdfYmZmsUT0izpzeDsgf2DChNr8CmaRB6sSKU xtsHZUAdUfrvhzoeNhFfGzfmXgXt77L4bip4Yq0P4eJBKAqQHO85gSTXlTBM7Z9WU8JZIo kcGqzYMDkqEoTHAvT6g87vtCWeyL9LYsIr+sQ9BP+SCZ//FezzsGu9IIbiKCSpXukX2WsX M5OJZT4RFUHNbbtwQP14zqqc8H1dc0WFq1Yt0gPhv0qVvCJZ3FhL/skhFCRgkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675629070; 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=kng04kYu0laaRIuwcW/Ccq2PtJjbRS+oGDQ9Lqxb+Ns=; b=q8tUU4QkwJwgJzIWL0Ukd7UvLH9lqVd31H4uFrBchKoGDGLxiCMq5Rp3hY2t7fjX3sj+JV 5NzVYsnQG2xA46iaTEQsMuOZF93idOS0TYv+cEHqPsHXZ9UlEAC87qYw2YDI1n+UqMFWA0 t7QoL0X6T4UBY9dkYVNAyJLLmL681OoqYFJWOOIE1RcvjyBoIZ+LcXyOkb7w72i8n5o8Hd BwHzO4rJZbIAEME1AhS3S9fk9ni3ahfb2DIDHRMGFBty+GhMAXk1Qt3g2ZGmYronLRcYNb JyWNr3EEL0myplE0HhOctl30GKXU32eNFpDakEqA7UUtIHUioXRoOO98DoWpBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675629070; a=rsa-sha256; cv=none; b=ROL5rMj3QdIPCz1cRg0MMziZFmajT7VK+CM1Dq6RKNXb7KmxhkvFtCIH7RS/KDPzpirbcC xi7J+agys+g9luGguZkLiOzqU0MwyhOYbJotwabTUAP2nO7aoHTaE4fBTmcwNImsXf9r6c GppqA1MiIoGkDxwknxxGzk3DVy0Xz+tPufb4KWKuOIDBJusrcCil41O/H8O11wXvSMuKpD v8CjH8r/UGUxcc30+HG4hkXKjf0aXDEtCOTpOhouLOJrcr3aVNM3rgmXw3+J2AgIkWEEeT tWJAlULdNEECGY9MGP7fIFL0QAABi0pLrrTb8hdEySHfxOWqbiu8LPRqvgBNKA== 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 4P91Hy1761z17DJ; Sun, 5 Feb 2023 20:31:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315KVAAK043308; Sun, 5 Feb 2023 20:31:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315KVATF043307; Sun, 5 Feb 2023 20:31:10 GMT (envelope-from git) Date: Sun, 5 Feb 2023 20:31:10 GMT Message-Id: <202302052031.315KVATF043307@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 70b97048a051 - main - LinuxKPI: mm.h: implement virt_to_head_page() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 70b97048a051958be37b650b8a67c89203fd6b70 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=70b97048a051958be37b650b8a67c89203fd6b70 commit 70b97048a051958be37b650b8a67c89203fd6b70 Author: Bjoern A. Zeeb AuthorDate: 2023-01-28 16:00:55 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-02-05 20:29:56 +0000 LinuxKPI: mm.h: implement virt_to_head_page() Implement virt_to_head_page(). Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D38240 --- sys/compat/linuxkpi/common/include/linux/mm.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index 40f63c2cffdf..2dcf32cbe84a 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -41,6 +41,7 @@ #include #include #include +#include #include @@ -151,6 +152,13 @@ struct sysinfo { uint32_t mem_unit; /* Memory unit size in bytes */ }; +static inline struct page * +virt_to_head_page(const void *p) +{ + + return (virt_to_page(p)); +} + /* * Compute log2 of the power of two rounded up count of pages * needed for size bytes. From nobody Sun Feb 5 20:33:01 2023 X-Original-To: dev-commits-src-main@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 4P91L61mpdz3kpbt; Sun, 5 Feb 2023 20:33: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P91L61F8Lz3CTb; Sun, 5 Feb 2023 20:33:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675629182; 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=Z651bTXu1900ssKA4khfQN9aJbI47E//eWgYspzdS3A=; b=s2W3wAQLD2hE0b/m0ro3fy5fxaSj7MokEWl9vgY0rAUc5gSNLgWd9W2Qf22Ol0JBhuxpPn d3Axv5uPKGDdNgwsauS3Lf53Z8w8YyDGWbFcDdQlo4dpc3Bq6fUZ/M1pjLY1+PtiB9o+Yv wNT5O/LIMZfiNnIoMjgvvj1rEA8ppfgT0ubeeUmz2VzQVQOBnIMxU3Sy/KSre6nbTZsQH9 YkvBJNi/F/Nay5m5ieaiRpsmSbf/Nmg+8RoYqFmeJBJwRk3J1CWvFtidbUc+Gv1139UQju JNB8crll/IN2x4SUtFZ+LurFMzVtdCDlG/pLJ4jxsRbonv/1dKjGG/KKKcqPSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675629182; 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=Z651bTXu1900ssKA4khfQN9aJbI47E//eWgYspzdS3A=; b=FdWryZKtGiDdvPFJUEmRsB6sL8prhZIUGqKf8n6CoFE7SAmhuVChMVPyKLQFDQN1ZCR3+6 uAnUm95U0aj29m5IxcWqV3oU5jCtVhqzQ5nDOyK5GFyY5QMzkgXCVlW+jSwPw9CavP7wV3 msCrz6SetkBee5029dfOhv15wh2ORQpAtKzarWCO/O/g0SPOzWiI0OtRfGO+EVSIHd/uk0 im2ZAYPnQG7G8rHw/bIHZ9FLZdfbQWE+4/9g6w6riTu0dZ8trfH72qJZxmFobCvAFOxf9f lavdiLdnH0Tr1c9cFTZ3qtyRUHcWIOAj/N9dRv2fSJJhBz+Wgg9lFiGJRsk5cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675629182; a=rsa-sha256; cv=none; b=pdR20qxIk64+MWxv2ff32o2tK/zJh22r5IcHl+mEQCkbRlUEup0g2cfmjOY56Gme6p+b/g Iv8e5gTnSZxbp0Yo9SNUR9A2f3XDzLXXJR6XuRLOVe/HqelrlvFX4oGKxUa9jcdUObxr59 PfD1zfUSpfD/spJ+LXjd6Qq4g04lHJ2MalnHeKWqeGUXts6gnwHBF5Kb//Uc0f5mTK/uC0 mhtEQzGTPHLU8c6neZ6nwPS/maJlx4GIUj8Gthuhl9IIh6a6w8yFX3ifCKeSgjofOvx4k+ fi9+AY8r7BBoQYa1gi1CyXwGmlpY6jpNJXe43sQtplfN1z0FEpvUNXHo7VVfDg== 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 4P91L60HFVz17Bs; Sun, 5 Feb 2023 20:33:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315KX1tY046922; Sun, 5 Feb 2023 20:33:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315KX1Ra046921; Sun, 5 Feb 2023 20:33:01 GMT (envelope-from git) Date: Sun, 5 Feb 2023 20:33:01 GMT Message-Id: <202302052033.315KX1Ra046921@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: fd1a2f3dfc0e - main - LinuxKPI: pci: add more functions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fd1a2f3dfc0e8fb20d0d397d586000bb918aab47 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=fd1a2f3dfc0e8fb20d0d397d586000bb918aab47 commit fd1a2f3dfc0e8fb20d0d397d586000bb918aab47 Author: Bjoern A. Zeeb AuthorDate: 2023-01-28 15:02:51 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-02-05 20:31:40 +0000 LinuxKPI: pci: add more functions Add a dummy pci_assign_resource() and an implementation of pci_irq_vector() returning the irq for MSI-X, MSI, and legacy interrupt. Both are needed by wirless drivers. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D38237 --- sys/compat/linuxkpi/common/include/linux/pci.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index 3b9403a61ecd..e722b77261c0 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -1684,4 +1684,30 @@ pci_wait_for_pending_transaction(struct pci_dev *pdev) return (0); } +static inline int +pci_assign_resource(struct pci_dev *pdev, int bar) +{ + + return (0); +} + +static inline int +pci_irq_vector(struct pci_dev *pdev, unsigned int vector) +{ + + if (!pdev->msix_enabled && !pdev->msi_enabled) { + if (vector != 0) + return (-EINVAL); + return (pdev->irq); + } + + if (pdev->msix_enabled || pdev->msi_enabled) { + if ((pdev->dev.irq_start + vector) >= pdev->dev.irq_end) + return (-EINVAL); + return (pdev->dev.irq_start + vector); + } + + return (-ENXIO); +} + #endif /* _LINUXKPI_LINUX_PCI_H_ */ From nobody Sun Feb 5 20:34:34 2023 X-Original-To: dev-commits-src-main@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 4P91Mt4CdCz3kpc1; Sun, 5 Feb 2023 20:34:34 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P91Mt3fZPz3D6b; Sun, 5 Feb 2023 20:34:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675629274; 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=IwAIAH+5lcI+v19ffiAALb33VaU///xdmGIYmfVBXQs=; b=U4twFhcUJxyFPkkoF54v8yp64XUWfsKpWu+UHkJvZucsc9nSMlRvhZTQmkhFCII5ml1dRW s8orCG6iUITBPH/J6iKlyJOpHRgMTbM/Q3IL+YquibEe4UOy1NsIFmxEGOaOX9Xu9VZukg vawuiHDd+6jP8R/Z82sPRIZpEkZN/ECNTWMdWFicJR94S+O8GAEi+asC8p4fD0yiVNY+3T uw7tF6Ei0NQaghxtguizdWnKcOgH9x1SihSS3g0bovw+hCFhFuJalmLc6j9mk2Mr2xOPJ/ g6TnyIoSK2Pou9/fh34aOipnranOkwq5CeB4ojg9LvxWcZ7YGIa+gXKop/C8xA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675629274; 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=IwAIAH+5lcI+v19ffiAALb33VaU///xdmGIYmfVBXQs=; b=bDT1LSxsmdlzzNmmgNr0WSjmWKTh2PkI/8hsdKq1l6xh8tCFbZv3zIn3fZYbGv/vyKegR7 /j0M/ZXH+zvGiFndpjerp4WoPHrA72gSOA2k/oYDiv1tCwmkShABZrMdhIS+2+oyDWyXEQ Fl3ioyrviUYfp850pMopXw+vgcJFYj0n0zXN67LIeW5lkeMR8FxuPudeybYXOlw3klF5Om FWtPjSnkCN4YLhFybgbxPDzvMNdDw2A39NVOyrRjJsTDHc3U/PmUqZ6GF2mGCQvKSYawzZ XKS8+mTXxWcaVx3jMHXYszLdO8m3AAzAgFeteQH45KRkoMlfb1/b6FOVNk4fdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675629274; a=rsa-sha256; cv=none; b=djVT2CvEfecde6ppd9quN2jVj9BkMcb6eWaHZtpaOCsB+a78WFo9RfCW1yrWFiFvT5ubBy kHIGItIQRYfunowYYn+kkWaL7+rXB0LpB/ZEc8PGShRVYILSXX+dxUWY4cSR8+mE41UKf5 +NtKQ7XXx7I2q/2D66ls/oeW3HUcXaooocCJ5DswwYHII6cgfllYPiJcqvkR0WOs++FpK9 YmXs0oksjIIxM51dWm2pIfA2EDXe8kAhyZj8SXDrL2qBI+jF9ewx4e2VmOs+1DXh4GtALb 1WCSZ0T0aXMSsTnuK5qSQKKNQPiNtQ/x29sa7gc6x+SrDuKyHQChQpO2Uwl8Ww== 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 4P91Mt2j6Hz16lF; Sun, 5 Feb 2023 20:34:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315KYYdv047256; Sun, 5 Feb 2023 20:34:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315KYYov047255; Sun, 5 Feb 2023 20:34:34 GMT (envelope-from git) Date: Sun, 5 Feb 2023 20:34:34 GMT Message-Id: <202302052034.315KYYov047255@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 78cab57ac6aa - main - LinuxKPI: dummy: remove files which have implementation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 78cab57ac6aad5c4c9334ca99ed89cbc3579ffff Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=78cab57ac6aad5c4c9334ca99ed89cbc3579ffff commit 78cab57ac6aad5c4c9334ca99ed89cbc3579ffff Author: Bjoern A. Zeeb AuthorDate: 2023-01-29 17:52:15 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-02-05 20:33:30 +0000 LinuxKPI: dummy: remove files which have implementation Remove former dummy/ files which now have an actual implementation in common/ . Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38269 --- sys/compat/linuxkpi/dummy/include/asm/unaligned.h | 0 sys/compat/linuxkpi/dummy/include/linux/mman.h | 0 sys/compat/linuxkpi/dummy/include/linux/nospec.h | 0 sys/compat/linuxkpi/dummy/include/linux/platform_device.h | 0 sys/compat/linuxkpi/dummy/include/linux/suspend.h | 0 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/sys/compat/linuxkpi/dummy/include/asm/unaligned.h b/sys/compat/linuxkpi/dummy/include/asm/unaligned.h deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/sys/compat/linuxkpi/dummy/include/linux/mman.h b/sys/compat/linuxkpi/dummy/include/linux/mman.h deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/sys/compat/linuxkpi/dummy/include/linux/nospec.h b/sys/compat/linuxkpi/dummy/include/linux/nospec.h deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/sys/compat/linuxkpi/dummy/include/linux/platform_device.h b/sys/compat/linuxkpi/dummy/include/linux/platform_device.h deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/sys/compat/linuxkpi/dummy/include/linux/suspend.h b/sys/compat/linuxkpi/dummy/include/linux/suspend.h deleted file mode 100644 index e69de29bb2d1..000000000000 From nobody Sun Feb 5 20:35:55 2023 X-Original-To: dev-commits-src-main@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 4P91PR5PfXz3kq3H; Sun, 5 Feb 2023 20:35: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P91PR4pz8z3DPQ; Sun, 5 Feb 2023 20:35:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675629355; 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=3NqFenZNYjEEK4pgfDjXcOTc0/ipY09eSanLC14gT2Q=; b=gC0IcWjqqMuAPtEh5MHPhyDELPp9WBzK9pTWW4OTfMwfh4XqKtLSOnsA7EMnvHvykCbdVN SlcSxXhBpbqkxnqJLy5siE+0N31nyH84i5pa88nkomkhcHEENWy+R3tCpbZZkGni20iAXs d8B1VOrvl8dnQDkTH6baJ4M5M5sDst36LFvoEjUmJhiP+Q8x6Z5qZtqzjZJTRbSdLTVrxU C7TsR1NRdgsAXjgJ97NDcYoAQxV5x0cK7Wj3QYAEuwT+rh2e0bCpqb+TS8qklTQIWEYQpR IhwU0GVU8jx/oy3RgZmEh1hnmDXji5go2z07/CQr7WX9tEtqzzc5CwRn7aiQAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675629355; 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=3NqFenZNYjEEK4pgfDjXcOTc0/ipY09eSanLC14gT2Q=; b=iUrfSxbBEZkvfojDGU38gmrRzIXqK8A6CB+MJGVpm/nhtxq7C5QoZmawv+MSRxoasTZ/NH 1VdJQ2jaYcCk0DttiE/UkO3PLjrto4dJQGiGuWSn4K6O9HqWC0jTWirAkPxNdKcu+/j04y 2Iqs3jK5fSYLBnSaYLNF3XKHITuH0y8KaPQ18r+YlehCor4KO4/fwWnRBHlKX9wF+1DGww 2VoW/PeXBAEqtVx142OF5WbEurpWmMxgosqMjdd7ZjJF6WTy1Sd1Rkm5BXb1SgHKruTBwA uDVTgPZlwky8RKowhoTHOtiDOF+E882TREtFLfcCH+kpZDSMCVAqe/iYV3I+fQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675629355; a=rsa-sha256; cv=none; b=yoDdeFZmoPvNZnqm8ZE7Nn8n487p6yRQB5MfAM/PlNQ03ziB/Cok0zourRqPL8aCONCM/W h5oj/s/55I1DorcoxCMD/+sCcPMNgujXrIE19O6NEw1Ux8Q0B5914pE+sERxlG3v3LKvkJ 4gRXjLRjeuImhw/0EfzMwui6logCUXnfs3Efhrno0Ks+QneyJq4Z34a4IVERXF9tjQicp8 tucq2b1WEp3xh/Xg7C9aeAwnSW54Pb4uG98/heT2qq9Mah6C0xtxJ4rYkQQs7PnnltxJHL /xFtcDmtCI1tgREbkokzxbqrXD9gmKkbShx2MgSW8QnTJAg3h5Yf8vI/2czS6A== 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 4P91PR3r9Lz17Mn; Sun, 5 Feb 2023 20:35:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315KZtw9047544; Sun, 5 Feb 2023 20:35:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315KZtMx047543; Sun, 5 Feb 2023 20:35:55 GMT (envelope-from git) Date: Sun, 5 Feb 2023 20:35:55 GMT Message-Id: <202302052035.315KZtMx047543@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 52c28b99034b - main - LinuxKPI: add more dummy header files List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 52c28b99034bd32c86e6c058f68cfbf11c8f76c3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=52c28b99034bd32c86e6c058f68cfbf11c8f76c3 commit 52c28b99034bd32c86e6c058f68cfbf11c8f76c3 Author: Bjoern A. Zeeb AuthorDate: 2023-01-29 18:16:00 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-02-05 20:34:57 +0000 LinuxKPI: add more dummy header files Add more empty header files wireless drivers try to include but we do not (yet) need for any implementation. Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38271 --- sys/compat/linuxkpi/dummy/include/linux/const.h | 0 sys/compat/linuxkpi/dummy/include/linux/elf.h | 0 sys/compat/linuxkpi/dummy/include/linux/if.h | 0 sys/compat/linuxkpi/dummy/include/linux/mmc/card.h | 0 sys/compat/linuxkpi/dummy/include/linux/mmc/core.h | 0 sys/compat/linuxkpi/dummy/include/linux/mmc/host.h | 0 sys/compat/linuxkpi/dummy/include/linux/mmc/mmc.h | 0 sys/compat/linuxkpi/dummy/include/linux/mmc/sd.h | 0 sys/compat/linuxkpi/dummy/include/linux/mmc/sdio.h | 0 sys/compat/linuxkpi/dummy/include/linux/mmc/sdio_func.h | 0 sys/compat/linuxkpi/dummy/include/linux/mmc/sdio_ids.h | 0 sys/compat/linuxkpi/dummy/include/linux/msi.h | 0 sys/compat/linuxkpi/dummy/include/linux/nvmem-consumer.h | 0 sys/compat/linuxkpi/dummy/include/linux/of_address.h | 0 sys/compat/linuxkpi/dummy/include/linux/property.h | 0 sys/compat/linuxkpi/dummy/include/linux/remoteproc.h | 0 sys/compat/linuxkpi/dummy/include/linux/rtnetlink.h | 0 sys/compat/linuxkpi/dummy/include/net/rtnetlink.h | 0 sys/compat/linuxkpi/dummy/include/uapi/linux/if_arp.h | 0 19 files changed, 0 insertions(+), 0 deletions(-) diff --git a/sys/compat/linuxkpi/dummy/include/linux/const.h b/sys/compat/linuxkpi/dummy/include/linux/const.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/elf.h b/sys/compat/linuxkpi/dummy/include/linux/elf.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/if.h b/sys/compat/linuxkpi/dummy/include/linux/if.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/mmc/card.h b/sys/compat/linuxkpi/dummy/include/linux/mmc/card.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/mmc/core.h b/sys/compat/linuxkpi/dummy/include/linux/mmc/core.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/mmc/host.h b/sys/compat/linuxkpi/dummy/include/linux/mmc/host.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/mmc/mmc.h b/sys/compat/linuxkpi/dummy/include/linux/mmc/mmc.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/mmc/sd.h b/sys/compat/linuxkpi/dummy/include/linux/mmc/sd.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/mmc/sdio.h b/sys/compat/linuxkpi/dummy/include/linux/mmc/sdio.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/mmc/sdio_func.h b/sys/compat/linuxkpi/dummy/include/linux/mmc/sdio_func.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/mmc/sdio_ids.h b/sys/compat/linuxkpi/dummy/include/linux/mmc/sdio_ids.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/msi.h b/sys/compat/linuxkpi/dummy/include/linux/msi.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/nvmem-consumer.h b/sys/compat/linuxkpi/dummy/include/linux/nvmem-consumer.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/of_address.h b/sys/compat/linuxkpi/dummy/include/linux/of_address.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/property.h b/sys/compat/linuxkpi/dummy/include/linux/property.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/remoteproc.h b/sys/compat/linuxkpi/dummy/include/linux/remoteproc.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/linux/rtnetlink.h b/sys/compat/linuxkpi/dummy/include/linux/rtnetlink.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/net/rtnetlink.h b/sys/compat/linuxkpi/dummy/include/net/rtnetlink.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/uapi/linux/if_arp.h b/sys/compat/linuxkpi/dummy/include/uapi/linux/if_arp.h new file mode 100644 index 000000000000..e69de29bb2d1 From nobody Sun Feb 5 20:37:44 2023 X-Original-To: dev-commits-src-main@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 4P91RX5L06z3kq3R; Sun, 5 Feb 2023 20:37: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P91RX4pBJz3Dvx; Sun, 5 Feb 2023 20:37:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675629464; 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=sjNd7LNNjMTGNgZHbA9RVY09bfvxcCgY2CoKl8nt+vc=; b=KDz5eW69AN2sTLj4XJCzIkWeKb2O4Df7Gles9e7jQ5ETXRHdzDc02ShZHWwDzs7MxMLeB0 ek5ZgFujTmz3mFjUfN+xHqdUADFjMuva6fVBLSb7ByxFFp0SzcXB6yZO1GweK5Xes5Cq2U QIBmmxeXpSJIbk5cvKGo35ftiDIFgVrlVnGF35aPye1FrSzA91oElVw6GFvEv4CqorcOog 6TkjgjPTsllvt/NVV7gskRHMAGyZSrYeJw8sRQKwZUfGrDHYP3PCMgSVz+5z3mC1NI1o4I U/cH+Hzx9tiQEZGB2m/KnDAKcqvsvxkFORx9R2+OkAGbzGnjRs6jUzxGh5wITQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675629464; 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=sjNd7LNNjMTGNgZHbA9RVY09bfvxcCgY2CoKl8nt+vc=; b=LmJGIRj78jVfjLmO3SDy33j3/9G+N/kiE3gjkb8Toqg1VtV+PIngaFHcNkNpTBP36UB3KZ MnTLD/9ws7X6GSYqHtXjPlElLKLTwl/UWt20UrpXDZSN9mZqhccVpo0EXKxWLtqexNFHx5 5DMku5Aj938Awr2i96q3/WvrTjgmJmRyZjCuNGLShBoojEg6vMBIYHaM7fCBG5CWrpjHz7 YKyU3/ZP56NIaytl0YrcUDLRMZIBmzLq4AWPrQHSPl1ORDL/4fe2HINyTycbMQykap/daQ K7nlmEKZ4dndnFb9SPmqbt2mR20AYy2DV1g2jESCxT5t+IeU7/J7ktateRSQ7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675629464; a=rsa-sha256; cv=none; b=jXb96NZcxxKhE6jeE6AlCOPzoL8hlx3w/1Alj2k8Vt+KvWZFR0qYk1xkUqUwWgN+ABSJH/ z2GXq1qfygcpldMun9Mmr4P6xr01pk01oPdtRicGgLb31PQ/Gd0jcMmc3pC6vSlxrPws1X 0nsBrhPHRfZKmk5RBZvNxJB1a3OHqjaSrGUVfQLhcbzgtZjF71rvFFs/wgNZAfDQPtYH0E 45WPm/N6Rqex7aK4EBMzI/xiJ6fGYdC1G03wwfSklNIZy15YVi05feAZevsPDlwvTVCyOL MQl/J1wF9ZTF2eFBamVdQL4ssvQ/yj+7nl0CNuoDV1cJ6SNxJwyskLLtpPq4Zg== 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 4P91RX3tGWz17Dn; Sun, 5 Feb 2023 20:37:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315KbiV1047981; Sun, 5 Feb 2023 20:37:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315KbiYT047980; Sun, 5 Feb 2023 20:37:44 GMT (envelope-from git) Date: Sun, 5 Feb 2023 20:37:44 GMT Message-Id: <202302052037.315KbiYT047980@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: ffdf10fb9cf1 - main - LinuxKPI: device: add device_set_wakeup_enable() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ffdf10fb9cf13464801f2d78d3e1470201394812 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ffdf10fb9cf13464801f2d78d3e1470201394812 commit ffdf10fb9cf13464801f2d78d3e1470201394812 Author: Bjoern A. Zeeb AuthorDate: 2023-01-28 15:18:24 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-02-05 20:36:54 +0000 LinuxKPI: device: add device_set_wakeup_enable() Add a dummy device_set_wakeup_enable() which is used for WoWLAN which we do not (yet) support and device_wakeup_enable() which is a wrapper to the former with the enable argument being true. Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38238 --- sys/compat/linuxkpi/common/include/linux/device.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/device.h b/sys/compat/linuxkpi/common/include/linux/device.h index 92e7e6772fbd..32dc7a30769c 100644 --- a/sys/compat/linuxkpi/common/include/linux/device.h +++ b/sys/compat/linuxkpi/common/include/linux/device.h @@ -545,6 +545,24 @@ device_reprobe(struct device *dev) return (-error); } +static inline void +device_set_wakeup_enable(struct device *dev __unused, bool enable __unused) +{ + + /* + * XXX-BZ TODO This is used by wireless drivers supporting WoWLAN which + * we currently do not support. + */ +} + +static inline int +device_wakeup_enable(struct device *dev) +{ + + device_set_wakeup_enable(dev, true); + return (0); +} + #define dev_pm_set_driver_flags(dev, flags) do { \ } while (0) From nobody Sun Feb 5 20:44:46 2023 X-Original-To: dev-commits-src-main@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 4P91bg2BsQz3kqL0; Sun, 5 Feb 2023 20:44: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P91bg1SXQz3GfY; Sun, 5 Feb 2023 20:44:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675629887; 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=DYf7tBn87NLmccYFNKrnk5vLPkFYb+IVOvTdim5SIm8=; b=XPbT20CPcVTxN2N3UYGT97Lrjqfx253K7J/hADBK9pODQjfH2S/TGME0HD+O8T/onUJLSB 1RPQUwEX2mW9vWWr/4i+j/GSq8FYfexRuUtUrcAFVqiDi5DUP8iK70qDQOQOSNJIKxtSIN 7F0sU6Mu8+7yz6mh+pvsRYOhNqMIldu02WGrVfsgNmktiaRWgWpJlpgGTjm30q9FoLC1JK KKR8e4+QVb5BisNAQT3wXcz6jPWn7ZioKJwubbA68Ms3rFjWO5QbY44Pw8JUMtmbJvuxFV Hq0oP/01RTTKV9J2MM9dmlaQBvqBUTmySOjTSSFYwmphPowInF7DeXoVRLVx9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675629887; 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=DYf7tBn87NLmccYFNKrnk5vLPkFYb+IVOvTdim5SIm8=; b=dSRAYAmwbbbp3gGfwJzL4kBsRumvVoGs5j+qlr/T3tLActMb03Mn0QSRTLSEaGY+NGVtSM DKJUBtVYeLX9VLTZlASbP4t3VV6K4H+gZbLfRvwU0ef3pfNyZRqBHBZGCP74lqCD2MF5u7 qkHUlueh0pUEi7OxYxxSUB1Rr99IWHj0y2KQ6MPsIZsXelCKSb6AqZquhgSdfe5ewZyD5E 5BsvwtIYZalf+voDKiEWMC8Vh7wnGWxJP0QNYekaEdX1+0xWyDSkWR+cbFanTkyG8PO9gH 02GFUpXBv86IQJ9WPCHUAComkIVN0VBDgUvec+6THAgFmVyWmHq7sWx+6gGV4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675629887; a=rsa-sha256; cv=none; b=B3Y1EgBPGUQ+LAr9WyKAFUJjuxO1sjDXxlEm1X1wtnplojqxArIRmc5WDEbGAZ5y0nnrtm 5msp3S7/cbKu8n9z7jImLqarHvT9bn+NhaqfVL53Mw2OmNlzDzHTj2RdNld2/KJHdu6Bz8 JJ1A8qrblvOLSRk3hYsmU54LL3UQG4Zw+jkoNRvem5DUE4N7wgfODbD2jznAbm9YQku19t s8WekD8LNv1iavF2ymGVm3O/WygPmrgOpogcmwbKBBqbAP7y1pdRiGfhdRwuT6zx9CO5HT DANqDHMC34uMi4p2PX5Gq7sec5LwVGVHUVWy0geCC4+h72XeoN40uotqdTPu6w== 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 4P91bg0XJWz17ZJ; Sun, 5 Feb 2023 20:44:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315KikHl061792; Sun, 5 Feb 2023 20:44:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315KikoO061791; Sun, 5 Feb 2023 20:44:46 GMT (envelope-from git) Date: Sun, 5 Feb 2023 20:44:46 GMT Message-Id: <202302052044.315KikoO061791@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 934cb7a33166 - main - LinuxKPI: pm.h: add dummy pm_wakeup_event() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 934cb7a3316609380fdea8da73233759f6dfff43 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=934cb7a3316609380fdea8da73233759f6dfff43 commit 934cb7a3316609380fdea8da73233759f6dfff43 Author: Bjoern A. Zeeb AuthorDate: 2023-01-28 15:53:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-02-05 20:43:46 +0000 LinuxKPI: pm.h: add dummy pm_wakeup_event() Add a dummy implementation of pm_wakeup_event() which is used to notify the power management system about a wakeup (which we currently do not implement yet). Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38239 --- sys/compat/linuxkpi/common/include/linux/pm.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/pm.h b/sys/compat/linuxkpi/common/include/linux/pm.h index 085b180642aa..50e183738574 100644 --- a/sys/compat/linuxkpi/common/include/linux/pm.h +++ b/sys/compat/linuxkpi/common/include/linux/pm.h @@ -33,12 +33,15 @@ #ifndef _LINUXKPI_LINUX_PM_H #define _LINUXKPI_LINUX_PM_H +#include /* pr_debug */ #include /* Needed but breaks linux_usb.c */ /* #include */ /* #include */ +struct device; + typedef struct pm_message { int event; } pm_message_t; @@ -85,4 +88,11 @@ const struct dev_pm_ops _name = { \ } #endif +static inline void +pm_wakeup_event(struct device *dev __unused, unsigned int x __unused) +{ + + pr_debug("%s: TODO\n", __func__); +} + #endif /* _LINUXKPI_LINUX_PM_H */ From nobody Sun Feb 5 20:46:40 2023 X-Original-To: dev-commits-src-main@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 4P91dr2m4bz3kq7d; Sun, 5 Feb 2023 20:46:40 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P91dr2GN8z3HCK; Sun, 5 Feb 2023 20:46:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675630000; 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=ZCC7D76d4mU0coZdMM/2Sc1J+T/soxDuzKPGqXsTQKc=; b=YhgpFBvULBusK+wC1hf9xh8Rus+Ui6LYjscSe4PPUTwibniLNlKrXc0beXCMyzSzhrwRX9 UMPlVivCfNANwx4BbZiX/m+YvjRgKwrQKFDbR72ad0UTBM0W4jwi/Sh6kADbTdGFiM0zVX PfCYqc88CZs2mb65rtaSDCW+G9DwJ6BJiBH+dvPe6NlfqKIlnJdLrCWwxxE6I/AFkMoy9L tIJwrN/ZGXMV7JYZaIdXeS6jLiah5a5Iw5NetAhzUlEq/+LCwwa0WjCKBXJ2YCvIBP6VrF J5yr6pt1TFKbV11STq6vNp5MsdMUrHyCnFtkXlnzoGm/r2fjPB8Zfvecu7M10Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675630000; 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=ZCC7D76d4mU0coZdMM/2Sc1J+T/soxDuzKPGqXsTQKc=; b=XqQwuQpcsxXrBSMB3clMQHrUEwx3i+U0giaCGMMsNAgyuLvRyS5/PjF6ryjDdUO7IELKHh mkVVKdHkLWudClFBpbgUF6diqaHX3z8WAvzsGJ4Pg+fxW8vLgRhE595iI7u5Ie9P9o93fj SNvxY/4fb1rfMVi+9Or61rKPQriYXxvdSweLyqeTWU+LZJogvlfkK7f/au+zl+/PGHNLTR F5Tz7kd1o6l5Rf95uiXrrBAJ4jhOcP/NKnm7ug1/NvqFryCSFQDn5Rek54fZm+7lsixLXf 7pb44C3XtO1lGKpueEWsJibq1qzxXn4B01DqKhPMMeC4E6GBSj2kmTqUdNH5rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675630000; a=rsa-sha256; cv=none; b=jowHxWkFqtoRJ+JIhPSA6mLXlMSlzcFvrQnB8pKIFO9/Q1LRk6qLbBw2/Ew+kRvcilzb4v fBfqQm8VX+9pg5qvcYiESTVj/Kylp/HYvltaJawSTd41+//IFN9VxBsHFQ08XRokUjj38q WTzrAviHr2z8UN3Vuy6ygeAVHm+Dz6Afw6XFrOpp3nox28tNVJ/NUnMPBkMt1YXnXNRC6E XZ2zLCBR2uKw/+peUALIbY7dMDp4g3z4go4b94JIcBVFUHth1A36C8XM6kpOYKFHk7O0LY bR+v+CgzRIaTYMcpFh2wFmW4wpnNLozrAFLkf7pus5uI/2VAUOGCfQSUD5vdTQ== 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 4P91dr1KgGz17sq; Sun, 5 Feb 2023 20:46:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315KketH062109; Sun, 5 Feb 2023 20:46:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315KkeVo062108; Sun, 5 Feb 2023 20:46:40 GMT (envelope-from git) Date: Sun, 5 Feb 2023 20:46:40 GMT Message-Id: <202302052046.315KkeVo062108@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: bc81a2b788f5 - main - LinuxKPI: interrupt.h: add disable_irq_nosync(), irq_set_status_flags() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bc81a2b788f5644ece58defa30880b69c9894981 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=bc81a2b788f5644ece58defa30880b69c9894981 commit bc81a2b788f5644ece58defa30880b69c9894981 Author: Bjoern A. Zeeb AuthorDate: 2023-01-28 16:11:59 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-02-05 20:45:28 +0000 LinuxKPI: interrupt.h: add disable_irq_nosync(), irq_set_status_flags() Add a dummy irq_set_status_flags() along with #defines passed by the driver. Add disable_irq_nosync() as another wrapper to lkpi_disable_irq(). Those are used by wireless drivers. Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38241 --- sys/compat/linuxkpi/common/include/linux/interrupt.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/interrupt.h b/sys/compat/linuxkpi/common/include/linux/interrupt.h index aa9360ead910..769d0834d98d 100644 --- a/sys/compat/linuxkpi/common/include/linux/interrupt.h +++ b/sys/compat/linuxkpi/common/include/linux/interrupt.h @@ -43,6 +43,9 @@ typedef irqreturn_t (*irq_handler_t)(int, void *); #define IRQF_SHARED RF_SHAREABLE +#define IRQF_NOBALANCING 0 + +#define IRQ_DISABLE_UNLAZY 0 int lkpi_request_irq(struct device *, unsigned int, irq_handler_t, irq_handler_t, unsigned long, const char *, void *); @@ -100,6 +103,12 @@ disable_irq(unsigned int irq) lkpi_disable_irq(irq); } +static inline void +disable_irq_nosync(unsigned int irq) +{ + lkpi_disable_irq(irq); +} + static inline int bind_irq_to_cpu(unsigned int irq, int cpu_id) { @@ -138,6 +147,11 @@ irq_get_msi_desc(unsigned int irq) return (lkpi_pci_msi_desc_alloc(irq)); } +static inline void +irq_set_status_flags(unsigned int irq __unused, unsigned long flags __unused) +{ +} + /* * LinuxKPI tasklet support */ From nobody Sun Feb 5 20:48:37 2023 X-Original-To: dev-commits-src-main@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 4P91h52wbXz3kqM3; Sun, 5 Feb 2023 20:48:37 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P91h52MCvz3HSq; Sun, 5 Feb 2023 20:48:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675630117; 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=C4fz1r//2h0q8j6i6Qk0pxi61zET18/lMUCJFEFGfVA=; b=RNqPKp7NGUKaxul4koTVa3GZ1cFYUxV8i4O+datBCWtJfhFlEDgJHOOHOjxFTdlNUc+c+8 F3hgZHqpv2z/XTqNdWNy1rX9j86eJkU+X+zalJdhwcmHfBXrjHylNSO3t3Z/nwLXydk4Pw W1dPlZXY84lnmyL9syMMeAUzCwwMhQzHdqbff30f0OXy9z005hmRZrd5K8wYGsuvmzpGFX byXNXfKt/347byVEHytXW6hBORkQUnQr9dmvsxuYdR518yq2seQwegxXf6lbN9fcOvNYbI kGhYNJ+KRyWJ7Qfw3hiWn5BQdppIAlwJqHIVX9GH168IrSW97s7s31ezGblVYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675630117; 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=C4fz1r//2h0q8j6i6Qk0pxi61zET18/lMUCJFEFGfVA=; b=U+CxYeo1tBhOxMWFU8ql9wcdBZLBK+HlK1pZERpBxCLgI39NlD9lG/0SpNJ1KEtH5JlFR9 ARCYWS1/bT0ZK0DmFQXdjnA/uCpkoCawYVDE71dwQiytKYAxChmJvAhT6PsMjtEyiJkygl Vj0iwBxNClmKL7nc1miVNoqkfSFx2ZcG7q73eQv2Kr/rT4rzK+jbXH8MjX1p0WG2pY2UPD JzH4dtPUqYK/uQHiNz+gai3eQjA3GE2b/dZRuUuiG+ImsEub/g4pCJhlsPvFXPvREzYMl6 t3yN7iYEXUyLC/oBBUhMfq3ERz9uG+0g4DnchGuge7e9+tp1tjK+cuIBe5lSzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675630117; a=rsa-sha256; cv=none; b=oq8hH4CvYRVvRtkEzGCnOUai535WUfYsnID4KYoFHb1/qZwcCHCHuKYDiEIUJawwZHk73Y njekVYBJuZ05D/CO59CQ5MhvoBL3QMUMKyL19d8WEre0JIFOsAdlwshSFVkIXpiYXDzZ4N Nlhqh6ZhLkWl5YR1yjO49W+1gn5CR1HH28VJohPPoIOsbl9YRpkOncGuBUInyjM3kOK2Cp yJ3NuKbSSTBK3Tpnggiyp+hQJHRETDBUPB3N6fMX380K9U6JkY7ymGS6GfjqDx/q0kZayU AuJZFd7PDuBqZK47/OauMk8vg32uYuukG9V7+EiLlF1MDx+THk11zhElbz9Deg== 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 4P91h51QNJz17tf; Sun, 5 Feb 2023 20:48:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315Kmb5r062446; Sun, 5 Feb 2023 20:48:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315KmbB6062445; Sun, 5 Feb 2023 20:48:37 GMT (envelope-from git) Date: Sun, 5 Feb 2023 20:48:37 GMT Message-Id: <202302052048.315KmbB6062445@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 4c72d075a57e - main - LinuxKPI: const argument to irq_set_affinity_hint() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4c72d075a57e9a3215639aede16df4df29e1c1da Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4c72d075a57e9a3215639aede16df4df29e1c1da commit 4c72d075a57e9a3215639aede16df4df29e1c1da Author: Bjoern A. Zeeb AuthorDate: 2023-01-28 16:15:19 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-02-05 20:46:59 +0000 LinuxKPI: const argument to irq_set_affinity_hint() irq_set_affinity_hint() takes a const mask argument and some drivers pass it in as such where earlier implementations were more lenient. Deal with it and __DECONST() the argument when passed to intr_setaffinity(). Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38242 --- sys/compat/linuxkpi/common/include/linux/interrupt.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/interrupt.h b/sys/compat/linuxkpi/common/include/linux/interrupt.h index 769d0834d98d..f7915863525d 100644 --- a/sys/compat/linuxkpi/common/include/linux/interrupt.h +++ b/sys/compat/linuxkpi/common/include/linux/interrupt.h @@ -128,12 +128,12 @@ devm_free_irq(struct device *xdev, unsigned int irq, void *p) } static inline int -irq_set_affinity_hint(int vector, cpumask_t *mask) +irq_set_affinity_hint(int vector, const cpumask_t *mask) { int error; if (mask != NULL) - error = intr_setaffinity(vector, CPU_WHICH_IRQ, mask); + error = intr_setaffinity(vector, CPU_WHICH_IRQ, __DECONST(cpumask_t *, mask)); else error = intr_setaffinity(vector, CPU_WHICH_IRQ, cpuset_root); From nobody Sun Feb 5 20:50:22 2023 X-Original-To: dev-commits-src-main@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 4P91k62nKSz3kqb3; Sun, 5 Feb 2023 20:50:22 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P91k62GBrz3HxN; Sun, 5 Feb 2023 20:50:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675630222; 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=LhIoXU43HHbx+3jfzk5yXu39TfXe4ERLL/RKbRMYs94=; b=B/Z9Ej+pe/wx5xuYshalm2x3MoATbyd5zkElJg2QNxU0KVQO414hC5CRTHBPM1StUdE2BR s6ZhGoRrQBINb8nNpjyMVDbDvlw2LE4aIB01rex4p1z9a8wO5yF0TPQf2QQst/knD8HYkW hRjYi2DRwVZbLRbsLlfW0NsR3bhKUccAO3YN5sD+r6vba/jBu189z6dWPjwWblPSYtbUkn XyNlmgi69LtK1mjh54UO1dX2nFfiC9Kay0lja+7MD++5jwiC03Mj+Ba7W7PZcUlC9m0nYI pvPcphEwGFYcjk24tpOd7+Brv9nokQfrUR3FhdQoTaE77/uLL7gsBOtM3D3v4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675630222; 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=LhIoXU43HHbx+3jfzk5yXu39TfXe4ERLL/RKbRMYs94=; b=Ewv0NIEtCd2hLFNYGh9BjTrzOAt4WJ7SKrLCIS8xJ2RxZ3o8OvlKGUNIPMN1M6El12BjB5 Ga0XYwuCvOvtGJA2rg1NE/ZGMrRg8wsBQ+GxYCOWf0c6P0/kDFgGPXQvnPcxiINkzTPuxM 8JhqJlaV42aSf/+gGSUMDbr+yepe6pmbt8w+PZJEmr/2HeaPWjvAsD+em8K4N9FQzbDMoT FDJ9sW/hswJhhAJ2JHMUs9PT52dDNaj3bj5gMDzz60xH87vuTtWlyYrCBkEmhmTCqM4YfN gdv1XzlRHIjV8+CidN69V8dJkLBGUWelKoXcKS53QgtTAtRgRBsNrez/3oTDLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675630222; a=rsa-sha256; cv=none; b=ytTzGwWddQSs5/MDSPFtza6vnba2qWRf6eMtRw1B6c3WaLPc4bRy95R483MuYxBTwUhjrh wMtR7l5KPV0t6VfbJOpwDOdA1hv2gIGH58eX9bRydUHSNwXjoZCH4vw9SJXa4FvE3b2bpx sqKn3scFQ+DbucjGfwv3jCL2V5Kec8xQfwGyipd+cG80xSA6LNo6SkQgRttiOaWqPqbmur DunClcSKKW7c4rpHXm2c74EmFzzG4DlbwwtqlWFvE39fqc/hFip1xfX+oKAa/dzEY8HozW 95QtEdin7JPw1AZPbnyViPPT9THwrYt87MOndBHlTn34U+VblaHcoQzuuewIfg== 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 4P91k61KShz17lj; Sun, 5 Feb 2023 20:50:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315KoMOx071126; Sun, 5 Feb 2023 20:50:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315KoMxi071125; Sun, 5 Feb 2023 20:50:22 GMT (envelope-from git) Date: Sun, 5 Feb 2023 20:50:22 GMT Message-Id: <202302052050.315KoMxi071125@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: b15491b4773a - main - LinuxKPI: PCI: implement support for more than 1 MSI vector List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b15491b4773af99ce2470144ef6bcd9146cc9a98 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b15491b4773af99ce2470144ef6bcd9146cc9a98 commit b15491b4773af99ce2470144ef6bcd9146cc9a98 Author: Bjoern A. Zeeb AuthorDate: 2023-01-27 15:34:42 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-02-05 20:49:06 +0000 LinuxKPI: PCI: implement support for more than 1 MSI vector Following e9715b1c4474333ff119aba3a9a74bff91f72372 and 4b56afaf7bf4fa37bae5b26fd93ee1ff5969c1bb, implement support for up-to 32 MSI vectors. This is used by wireless drivers. This also switches msi_desc to an array in order to store per-vector information. Sponsored by: The FreeBSD Foundation Discussed with: grehan (in Dec) MFC after: 3 days Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D38222 --- sys/compat/linuxkpi/common/include/linux/pci.h | 40 +++++++++++++++++--------- sys/compat/linuxkpi/common/src/linux_pci.c | 32 ++++++++++++++++----- 2 files changed, 51 insertions(+), 21 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index e722b77261c0..596241525904 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -333,11 +333,7 @@ struct pci_dev { bool msix_enabled; phys_addr_t rom; size_t romlen; - /* - * msi_desc should be an array one day? For as long as we only support - * 1 MSI vector this is fine. - */ - struct msi_desc *msi_desc; + struct msi_desc **msi_desc; TAILQ_HEAD(, pci_mmio_region) mmio; }; @@ -889,28 +885,44 @@ pci_enable_msix_range(struct pci_dev *dev, struct msix_entry *entries, linux_pci_enable_msi(pdev) static inline int -pci_enable_msi(struct pci_dev *pdev) +_lkpi_pci_enable_msi_range(struct pci_dev *pdev, int minvec, int maxvec) { struct resource_list_entry *rle; int error; - int avail; + int nvec; - avail = pci_msi_count(pdev->dev.bsddev); - if (avail < 1) - return -EINVAL; + if (maxvec < minvec) + return (-EINVAL); - avail = 1; /* this function only enable one MSI IRQ */ - if ((error = -pci_alloc_msi(pdev->dev.bsddev, &avail)) != 0) + nvec = pci_msi_count(pdev->dev.bsddev); + if (nvec < 1 || nvec < minvec) + return (-ENOSPC); + + nvec = min(nvec, maxvec); + if ((error = -pci_alloc_msi(pdev->dev.bsddev, &nvec)) != 0) return error; + /* Native PCI might only ever ask for 32 vectors. */ + if (nvec < minvec) { + pci_release_msi(pdev->dev.bsddev); + return (-ENOSPC); + } + rle = linux_pci_get_rle(pdev, SYS_RES_IRQ, 1, false); pdev->dev.irq_start = rle->start; - pdev->dev.irq_end = rle->start + avail; + pdev->dev.irq_end = rle->start + nvec; pdev->irq = rle->start; pdev->msi_enabled = true; return (0); } +static inline int +pci_enable_msi(struct pci_dev *pdev) +{ + + return (_lkpi_pci_enable_msi_range(pdev, 1, 1)); +} + static inline int pci_channel_offline(struct pci_dev *pdev) { @@ -1611,7 +1623,7 @@ err: /* * We cannot simply re-define pci_get_device() as we would normally do * and then hide it in linux_pci.c as too many semi-native drivers still - * inlucde linux/pci.h and run into the conflict with native PCI. Linux drivers + * include linux/pci.h and run into the conflict with native PCI. Linux drivers * using pci_get_device() need to be changed to call linuxkpi_pci_get_device(). */ static inline struct pci_dev * diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 0d5b3ce52ff5..9db95e1f337d 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -320,6 +320,11 @@ lkpifill_pci_dev(device_t dev, struct pci_dev *pdev) pdev->dev.parent = &linux_root_device; pdev->dev.release = lkpi_pci_dev_release; INIT_LIST_HEAD(&pdev->dev.irqents); + + if (pci_msi_count(dev) > 0) + pdev->msi_desc = malloc(pci_msi_count(dev) * + sizeof(*pdev->msi_desc), M_DEVBUF, M_WAITOK | M_ZERO); + kobject_init(&pdev->dev.kobj, &linux_dev_ktype); kobject_set_name(&pdev->dev.kobj, device_get_nameunit(dev)); kobject_add(&pdev->dev.kobj, &linux_root_device.kobj, @@ -332,6 +337,7 @@ static void lkpinew_pci_dev_release(struct device *dev) { struct pci_dev *pdev; + int i; pdev = to_pci_dev(dev); if (pdev->root != NULL) @@ -339,8 +345,11 @@ lkpinew_pci_dev_release(struct device *dev) if (pdev->bus->self != pdev) pci_dev_put(pdev->bus->self); free(pdev->bus, M_DEVBUF); - if (pdev->msi_desc != NULL) + if (pdev->msi_desc != NULL) { + for (i = pci_msi_count(pdev->dev.bsddev) - 1; i >= 0; i--) + free(pdev->msi_desc[i], M_DEVBUF); free(pdev->msi_desc, M_DEVBUF); + } free(pdev, M_DEVBUF); } @@ -952,10 +961,7 @@ out: if (flags & PCI_IRQ_MSI) { if (pci_msi_count(pdev->dev.bsddev) < minv) return (-ENOSPC); - /* We only support 1 vector in pci_enable_msi() */ - if (minv != 1) - return (-ENOSPC); - error = pci_enable_msi(pdev); + error = _lkpi_pci_enable_msi_range(pdev, minv, maxv); if (error == 0 && pdev->msi_enabled) return (pdev->dev.irq_end - pdev->dev.irq_start); } @@ -975,14 +981,24 @@ lkpi_pci_msi_desc_alloc(int irq) struct msi_desc *desc; struct pci_devinfo *dinfo; struct pcicfg_msi *msi; + int vec; dev = linux_pci_find_irq_dev(irq); if (dev == NULL) return (NULL); pdev = to_pci_dev(dev); - if (pdev->msi_desc != NULL) - return (pdev->msi_desc); + + if (pdev->msi_desc == NULL) + return (NULL); + + if (irq < pdev->dev.irq_start || irq >= pdev->dev.irq_end) + return (NULL); + + vec = pdev->dev.irq_start - irq; + + if (pdev->msi_desc[vec] != NULL) + return (pdev->msi_desc[vec]); dinfo = device_get_ivars(dev->bsddev); msi = &dinfo->cfg.msi; @@ -993,6 +1009,8 @@ lkpi_pci_msi_desc_alloc(int irq) (msi->msi_ctrl & PCIM_MSICTRL_64BIT) ? true : false; desc->msg.data = msi->msi_data; + pdev->msi_desc[vec] = desc; + return (desc); } From nobody Sun Feb 5 22:51:15 2023 X-Original-To: dev-commits-src-main@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 4P94Pb70jrz3mwdm; Sun, 5 Feb 2023 22:51: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P94Pb6X5Yz3pBX; Sun, 5 Feb 2023 22:51:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675637475; 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=Y5tgVN01zvZD51+4Xtfr3Caw/J50vEMQI0tuQTbKA5E=; b=x4Hrezxk+kpMSpcOpbmMB29mcCRh1YIZTg2xVZgqFYikuE4WoukR3z/EyAsZ9Dbsluj+yH UID0UEQ901aTesBEqY8y1OM5Oi03ZcS7/e/+uyk815bvnesGQQKnvkGSJwSwzn9accwEvy NGK359siZ/7EpBLODBDOEhLc6cVPY/oZ1wb1kmd56AwYU8htleWR4xWgX1OckoY5hOh2Zt gtb+8rKcRWuQKVNwBFrDa2TZssFcAfHpYwt3NNKUrjn/sUR39WXThkitsPOK2S06iQ4j95 1/mJypmbyrIGcavcfOVJCLsKbHtSKWAFfBwPTOLZmzdnOIT8JzBjCczWrtHzTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675637475; 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=Y5tgVN01zvZD51+4Xtfr3Caw/J50vEMQI0tuQTbKA5E=; b=kYYf5V6j4/A/n1chdOeC8ETeU3cPvxSc6eTw19wjyoGok3BBfXVfc+z8PC8jZTmOHV8hb8 rDi9L4gqx4OC6bnCnjSHsbAfoHdBrjks3UhD75KR88KKRolw/536Kg287k1ugehF7UobCy 1P+HeXqJZXlYx3OFxnUzlujOUEDr8DNCwPQ82auOCKTKpIdO7qs54sEr6iXrMA/Rq0wQkk JfBxzMUtKVr2Zm7/C5cHrHNdujjskiwA1HRTNhFCwtMcKZZr5eE755FSMnX7fSyzSzvsxO bXmJR2wAA3BdCjYF9h0ieeqTcTTxpCdup06flB3LI07Ay7YZVCER7+jY9QA68A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675637475; a=rsa-sha256; cv=none; b=ILLebm0xt+B36uXHonz2bFxBChW8WBo4ts5Z3WWZmcjV1IIum+AkfLdiMtrSeeSc+mmr2J LHolqbuqksz5CYFEh1OFrJKGOOmG1SQmQY+1i8vGO95kJMh4B+MKOrzBwn3IM/XlBgCYA6 jO5njbi51FXbR5NzyjoQ/3yG9zWj54KClVNldBVM8/nqrcexDCoW5byzR+EtcGpxaBaEkC uMuCXU/lNx2MajYgQHCobmjo7B8OPvRdkW1XhS7aBNyyPOOHOKQiiYZH9WVdAuDEyQFnJ7 tMq+hCXVI0Q0h/w7lJKnKImZDAlnwgZbAJWHUrPugwcEQ3MQWO9xAZlsX1mj1Q== 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 4P94Pb5cCSz1BLZ; Sun, 5 Feb 2023 22:51:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 315MpFWu047476; Sun, 5 Feb 2023 22:51:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 315MpFuk047475; Sun, 5 Feb 2023 22:51:15 GMT (envelope-from git) Date: Sun, 5 Feb 2023 22:51:15 GMT Message-Id: <202302052251.315MpFuk047475@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: e9d6b699d840 - main - kern.post.mk we need .MAKE.DEPENDFILE for DIRDEPS_BUILD List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e9d6b699d8407297f93c06ae243027d8af2e5b1f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=e9d6b699d8407297f93c06ae243027d8af2e5b1f commit e9d6b699d8407297f93c06ae243027d8af2e5b1f Author: Simon J. Gerraty AuthorDate: 2023-02-05 22:50:31 +0000 Commit: Simon J. Gerraty CommitDate: 2023-02-05 22:50:31 +0000 kern.post.mk we need .MAKE.DEPENDFILE for DIRDEPS_BUILD When MK_DIRDEPS_BUILD is yes, we need .MAKE.DEPENDFILE left alone Reviewed by: stevek --- sys/conf/kern.post.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk index 7aac581fdb0f..da234d5b88a6 100644 --- a/sys/conf/kern.post.mk +++ b/sys/conf/kern.post.mk @@ -262,6 +262,7 @@ genoffset.o genassym.o vers.o: opt_global.h .if !empty(.MAKE.MODE:Unormal:Mmeta) && empty(.MAKE.MODE:Unormal:Mnofilemon) _meta_filemon= 1 .endif +.if ${MK_DIRDEPS_BUILD} == "no" # Skip reading .depend when not needed to speed up tree-walks and simple # lookups. For install, only do this if no other targets are specified. # Also skip generating or including .depend.* files if in meta+filemon mode @@ -277,6 +278,7 @@ _SKIP_DEPEND= 1 .if defined(_SKIP_DEPEND) || defined(_meta_filemon) .MAKE.DEPENDFILE= /dev/null .endif +.endif kernel-depend: .depend SRCS= assym.inc offset.inc vnode_if.h ${BEFORE_DEPEND} ${CFILES} \ From nobody Mon Feb 6 01:24:16 2023 X-Original-To: dev-commits-src-main@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 4P97p83qdxz3n4nw; Mon, 6 Feb 2023 01:24: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P97p834W4z421h; Mon, 6 Feb 2023 01:24:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675646656; 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=yurez34lmh/asnOqBViQHkvMj0eGDv3M+XWY1maYbXI=; b=gPr10GVRMI0qidw8KaEuMAqH3MuS4fKGJibMo4cmpx0hbW9yx64H8g6Y6fEZdK75d2bXP7 oRHOOHk+vMoJYiJJ0a39NHMv8LMB/3mw12SkG6S2KrmnLZIzcFeTLKynnpXO8LtIkuQPbD pgf5FlsTVq9ojQF4AAeDfEGq7be6kep+KIu2bnUUJjzWt26RnvghH818qfWxidvvvng+gs TqgBxXeTHdiNBhQt/ZwDC3x9k4gKrtks28ICmgsu57ll0YFjeDpb4b+6d1aNM7+F/ex+9L uUgkfLOUytlr3RXDjzfvDIfciH0BsbgtXTikTAZ84YZf9xYp0AEMPT76ymeXXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675646656; 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=yurez34lmh/asnOqBViQHkvMj0eGDv3M+XWY1maYbXI=; b=fuk/5ajCXs57YtcuC0FSpRaxyI9QiEKj0VK3FwjLoVRSKUzWRwUcwEMRf9c4KvnLIYRIb1 xViHBKN+DT3UqI80HNzu33UGBtey0muHXCoK3FGW8jNBh8oDCk+lhdRIYqh5MlAE2ZFn7j PEDdzyB24PoFYR61qxIEdElze7WQ2vFXTicHP7aLMynpWeoKua8T305we6Yfk059CtgtKg oROPacL8BKwP5Qn+Z31AySfdLQ7hRMpG+UMNS03m6Tw+5mCFcIS6ur4iziVc7azEHhTr7b +SeZsil/xlgvSqRM/1cnAAnwu5UG36H4jEopx6JZXnWo71o5QjxauTD8djW0/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675646656; a=rsa-sha256; cv=none; b=OaIUFrl2K4O2tiuBuFvDD/yK3YYNauH9G69bIGfOpqhwt8PXI637+TjP8gYGOGvkiNzlCW FvedY22Z2T12ZpsnyyfulMoFUZ15izaaOiXOMoBF5tPcr9SCgNJ9A7tWwGp2THLkpaVltQ 491EUZtN7uxrQPLcdSjMC0/Ng2H+RHR8n7ABOQBFX9pyp2W1B3R6E7WPzp3oDQwQf8bHTs +P3Ui10skxu0zry+JI6J7KcrDBVyEbufyhaRWV1yRO4l/tYMuGPvdmvrj1aVTMtchyK1wl vUS+T7lDy4FwK70FeSO2AyeRXz9d13Zybh+i4GQfofUmVqA/5QNIaasr6M/e9Q== 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 4P97p821sbzGlt; Mon, 6 Feb 2023 01:24:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3161OGN4061344; Mon, 6 Feb 2023 01:24:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3161OGGQ061343; Mon, 6 Feb 2023 01:24:16 GMT (envelope-from git) Date: Mon, 6 Feb 2023 01:24:16 GMT Message-Id: <202302060124.3161OGGQ061343@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 3cc3c1eb7961 - main - Skip EFI framebuffer information if there is none List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3cc3c1eb7961cf93306e0a0f79f3e2309f5b7011 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=3cc3c1eb7961cf93306e0a0f79f3e2309f5b7011 commit 3cc3c1eb7961cf93306e0a0f79f3e2309f5b7011 Author: Simon J. Gerraty AuthorDate: 2023-02-06 01:23:09 +0000 Commit: Simon J. Gerraty CommitDate: 2023-02-06 01:23:09 +0000 Skip EFI framebuffer information if there is none Avoid several lines of useless info if there is no EFI framebuffer Reviewed by: stevek, imp Differential Revision: https://reviews.freebsd.org/D38393 --- stand/efi/loader/bootinfo.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 01f7506710bf..939f2cf4c3fe 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -194,16 +194,19 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) efifb.fb_mask_blue = gfx_state.tg_fb.fb_mask_blue; efifb.fb_mask_reserved = gfx_state.tg_fb.fb_mask_reserved; - printf("EFI framebuffer information:\n"); - printf("addr, size 0x%jx, 0x%jx\n", efifb.fb_addr, efifb.fb_size); - printf("dimensions %d x %d\n", efifb.fb_width, efifb.fb_height); - printf("stride %d\n", efifb.fb_stride); - printf("masks 0x%08x, 0x%08x, 0x%08x, 0x%08x\n", - efifb.fb_mask_red, efifb.fb_mask_green, efifb.fb_mask_blue, - efifb.fb_mask_reserved); - - if (efifb.fb_addr != 0) + if (efifb.fb_addr != 0) { + printf("EFI framebuffer information:\n"); + printf("addr, size 0x%jx, 0x%jx\n", + efifb.fb_addr, efifb.fb_size); + printf("dimensions %d x %d\n", + efifb.fb_width, efifb.fb_height); + printf("stride %d\n", efifb.fb_stride); + printf("masks 0x%08x, 0x%08x, 0x%08x, 0x%08x\n", + efifb.fb_mask_red, efifb.fb_mask_green, efifb.fb_mask_blue, + efifb.fb_mask_reserved); + file_addmetadata(kfp, MODINFOMD_EFI_FB, sizeof(efifb), &efifb); + } #endif do_vmap = true; From nobody Mon Feb 6 10:10:49 2023 X-Original-To: dev-commits-src-main@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 4P9MTj4FP2z3nnfh; Mon, 6 Feb 2023 10:10: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9MTj3pqhz3hwh; Mon, 6 Feb 2023 10:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675678249; 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=bFRoaYihnOpBgcewdv7bJuqXjgay1AWKa1v5pDJPvJE=; b=T5aJ+LsOnA0hLkcm69v1R5jKPYbWZshaGnpty0EeZnv3N7RzB7GFAAVtxoPuZHn59acYrN ZY1RP4wYfrMl3FbRRddTz7qNDvl5g6WT5McY1WK9/HoYOKjAwIaMsdljlJpqG42V+CCM1Q xGfdRD7/nOSxVgEFGX7RwbQ3ijBeoW4b73uRwDfC3eVmDrRYjjnrrDQ/GpBrd3hMfUo/4Y QGmViSjiBf34LtCxjB2Z5AxUPOdXlULpUV7CGU0fw4BiiG0OM7bfYBf3RvEG+LiS26tbBX kuoHLv3HDahMWiirRZyiI5X2vMrQy5dcBpOvdYswnx2kd4r8wgWlqRLqRGlT+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675678249; 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=bFRoaYihnOpBgcewdv7bJuqXjgay1AWKa1v5pDJPvJE=; b=RMqI8fThImNhKHynh/JtMJqdviYUEP1ZFvrOWfWV/c5zxePnTioogrzAKz94tMwxGOJ9+M e3GASzYyR/UBigQSacr17+qU4eb6YNTnIbQX8iYmOMDskTMLFhC3EsjH1Bm1RvEU7UYOuF SFE70kn8Q2cIVrWaijDDgLsKikLd/hLUfz7ltg2Zs/jPJG/AYZtTtVr/zuj4FSudC5cuFN f/pKjI1uCNgZMNYtJovL+dWLzPabxocqxZjhu1wndQ5uBQPJet8NYhYRVvLC5x+rtfWuMd TAuhv/hhn0GxnH0dnd97wZUlqmW6D2bCcsECtREbEGTnj17bY4pwwq4jhyVldw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675678249; a=rsa-sha256; cv=none; b=PoL5otEjpDcuFDiVXJ6mEWutKf21G9yFhHirBCgi4PfMsWdtLp7ETwQ6ugF76vKUgTClV6 Ptfh9yiS4TtLm4t66LbMDtKGrw7mQtFXl1X5mgDL3RXsC7ERTSklSSD/denuQ9/PU+zLLJ DjsejE23Lrh8UK3qxF6Of8IUPkvsmUEM4Uyx6JSrz/LgtJ/mr6P1O1imadkt3fji430aBe 5ysMQZrfVAxz6qW1M2NaIIaac7QiSTLsGA7UvG85/+WW7ie9QA7MNs2Eblf3ohOJA35WB4 OF1fnNIAN194lpTTFUiDyehycM8pYRQactMnyhIyEy6EFoTSxOBcHCJZbtmuVQ== 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 4P9MTj2tGHzW0j; Mon, 6 Feb 2023 10:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316AAnXB011037; Mon, 6 Feb 2023 10:10:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316AAnQV011036; Mon, 6 Feb 2023 10:10:49 GMT (envelope-from git) Date: Mon, 6 Feb 2023 10:10:49 GMT Message-Id: <202302061010.316AAnQV011036@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm Subject: git: 0126bd3e6ca4 - main - stress2: Return error on exit. Run test for longer List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0126bd3e6ca43c350437fa8bfe72958a5aad5984 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=0126bd3e6ca43c350437fa8bfe72958a5aad5984 commit 0126bd3e6ca43c350437fa8bfe72958a5aad5984 Author: Peter Holm AuthorDate: 2023-02-06 10:09:52 +0000 Commit: Peter Holm CommitDate: 2023-02-06 10:09:52 +0000 stress2: Return error on exit. Run test for longer --- tools/test/stress2/misc/mkdir.sh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tools/test/stress2/misc/mkdir.sh b/tools/test/stress2/misc/mkdir.sh index 155de9b61cc6..39cc828f0303 100755 --- a/tools/test/stress2/misc/mkdir.sh +++ b/tools/test/stress2/misc/mkdir.sh @@ -28,7 +28,7 @@ # # Demonstrate incorrect "out of inodes" message with SU enabled. -# No issue without SU. +# No issue seen with SU+J [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 . ../default.cfg @@ -45,18 +45,23 @@ mdconfig -a -t swap -s 100m -u $mdstart echo "newfs $flags /dev/md$mdstart" newfs $flags /dev/md$mdstart > /dev/null mount /dev/md$mdstart $mntpoint -jot 10 | xargs -I% mkdir $mntpoint/% set +e ifree1=`df -i $mntpoint | tail -1 | awk '{print $7}'` before=`df -i $mntpoint` n=$(((ifree1 - 5) / 10)) -for i in `jot 5`; do +jot 10 | xargs -I% mkdir $mntpoint/% +start=`date +%s` +while [ $((`date +%s` - start)) -lt 180 ]; do for j in `jot 10`; do jot $n | xargs -P0 -I% mkdir $mntpoint/$j/% jot $n | xargs -P0 -I% rmdir $mntpoint/$j/% done -done 2>&1 | head -5 +done 2>&1 | tee $log | head -5 +[ -s $log ] && s=3 +jot 10 | xargs -I% rmdir $mntpoint/% +umount $mntpoint; mount /dev/md$mdstart $mntpoint + ifree2=`df -i $mntpoint | tail -1 | awk '{print $7}'` after=`df -i $mntpoint | tail -1` if [ $ifree1 -ne $ifree2 ]; then From nobody Mon Feb 6 13:26:30 2023 X-Original-To: dev-commits-src-main@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 4P9RqV6Ntjz3klnv; Mon, 6 Feb 2023 13:26:30 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9RqV5tWVz3xHm; Mon, 6 Feb 2023 13:26:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675689990; 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=N5n6oVbsLXRDya0y5UCt0Wx/pwJFIkIjsBuUPSp3QdM=; b=VOqKBHyTOw6rUXlDC8cOBv1sVbcWkO458L6dDs7mYX5B1YLGHZeVHPqUgMHrncAw2jJyRW PQVCS6tET+HEuZTkwb+/8kMOnC5H45B4g6CVK0xHvBfp6SZyHXq4RZ8uqJa1SXXFfZrgf2 XBEbVxqmMOTDkqw+LmR5N7PsLKxi1zOsX4P0yo4n/wSx+59N0iTbGk1mCeQg2a+ZZomwFm BgQ2WxmfRbCe1Wso7YtaSmYtX9h54L5HnhfQ/Cd65ctuCaQG7ym+dIWNcrk8YNzcvmwK1f qjULTHYRFUfTWZF3pXRmI1Ir9QPmjC5hHcB1VnIME/5RnNFOBr/SJKPgZvp3TQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675689990; 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=N5n6oVbsLXRDya0y5UCt0Wx/pwJFIkIjsBuUPSp3QdM=; b=X3ZrCNPbalvy+tm6UoPpvMbEI8X7bg0EHWiFu/MdM+mWSwsd2HiBtoxT/ba6ep7lvdWjJn E3brk880uEdxN5dDvu8qtt3ocXu3+G3evJXRCDtfYlPzQOcdnpe1Of4wl/e7NVXK2rvwgV i+UeNT9geeNmMuXvK5J9ReQRGKa4KpnNR/lIt6h5XTbOyiiO4hiF1LlM62wVuNgUGcMiOP xUf2caDS1r2ukogjumQ/Olx/lCp5sKr3c2u2iDICX59FpWXpuz/0Znt7vJLpE4QCb30g+I hA8AHb93HhWBvCsQ19Z55sDCPPg9QutyMuKCQEwJMRAi0IITMX8djVDgaGEo0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675689990; a=rsa-sha256; cv=none; b=kBgI3gjlvks2SDoVuZdh7aW/Kkdelkf0naI/rd//XbDcmdKkxCT5/OD3xcsg4jMh6pEdqE 2VtJUhqTvz55MzBN2+AEaOzmcnWDHDvcG4X9u5j9qteVSjPVukst+BODWLaFE+/5qlglRU W8qO90y13C6BtOdObC9yFTbI44iDj1BHBycPXAsT8gEWTArfa9xbhTkJmAqqjUUeGV/gmr lkd09ZZeazzu8CrxNxzNhuieZNWajljs5rSyX8sJBAvQruJrFGJLOlEmbs5CgXjsVxWOhk vV3pATjt92eSnDNMEn7qZ12kNIAIgis//VnkeEJwCCPBs0hYSnPnO1v7NSBvlA== 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 4P9RqV4xl4zbWB; Mon, 6 Feb 2023 13:26:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316DQUVl086011; Mon, 6 Feb 2023 13:26:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316DQU8V086009; Mon, 6 Feb 2023 13:26:30 GMT (envelope-from git) Date: Mon, 6 Feb 2023 13:26:30 GMT Message-Id: <202302061326.316DQU8V086009@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: baff81958c8e - main - libedit: update to snapshot 2023-01-06 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: baff81958c8efef2a44f4b769743eeb7101bee9e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=baff81958c8efef2a44f4b769743eeb7101bee9e commit baff81958c8efef2a44f4b769743eeb7101bee9e Merge: 0126bd3e6ca4 5a36c8261410 Author: Baptiste Daroussin AuthorDate: 2023-02-06 13:25:06 +0000 Commit: Baptiste Daroussin CommitDate: 2023-02-06 13:25:06 +0000 libedit: update to snapshot 2023-01-06 MFC atfer: 1 week contrib/libedit/chared.c | 11 +- contrib/libedit/chartype.c | 6 +- contrib/libedit/config.h | 255 ----------------------------------------- contrib/libedit/editrc.5 | 91 +++++++-------- contrib/libedit/el.c | 6 +- contrib/libedit/filecomplete.c | 6 +- contrib/libedit/histedit.h | 2 +- contrib/libedit/map.c | 13 ++- contrib/libedit/read.c | 25 ++-- contrib/libedit/read.h | 4 +- contrib/libedit/readline.c | 16 ++- contrib/libedit/sig.c | 8 +- contrib/libedit/sys.h | 40 +------ contrib/libedit/terminal.c | 38 +++--- 14 files changed, 122 insertions(+), 399 deletions(-) From nobody Mon Feb 6 14:01:04 2023 X-Original-To: dev-commits-src-main@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 4P9SbN45k8z3kn47; Mon, 6 Feb 2023 14:01: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9SbN3g2pz417k; Mon, 6 Feb 2023 14:01:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675692064; 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=W2Qpue0dW38+Y+ERFxO9WZtKObw7ZsPW6OY/wNhB7Ec=; b=YAchQ3qC37vAb2w6fznsmfngG26GBYpZp9jt0G+o7rVieZIXQMkRpgu8aZm57ouxNoHtqH pUU7ojTwNr7zliurYbwR0iN2n7vdX1g4HwcrXCL4wQLMWO0xjlE+/bBFHLG6RuBAOd1hzY pffUWNzKlXnaExzRg4MK0DS/TM29MpNPMjdVjtDQLB4L3gfzCX9zNxjegPHqPjveG0EOjh 7zTm8u9kjlb9MZBSGerTLWGolDI6X4ow0uhRQseqvFUi1LbPcNX7uIPL0v0ut7fdFrher4 D8OzLNTju8le7tdISl9YF5v0FC8Nu0YAhdPMmEmsAZzptYqSHi7ZCgSsi7idqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675692064; 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=W2Qpue0dW38+Y+ERFxO9WZtKObw7ZsPW6OY/wNhB7Ec=; b=yKSPRzURHl7UY/UNUiJLKJ71tEl8u1roH4lDDGAtcegQLWakOduWo4xiUXrTjIXRHTNN7q vio82Ei5qgkziBNVowuDJY26n1fSnN0y6P4fCOcwFlEW/EsEoSOuxPv8vyh4Vuv4R5Wugj L+4fuih4ymgui+jQtignsR99fw0MNG94aWT/4f4KuwyKBEqHdvhKaiPwiDEj9FNXDTc08b lWtRKlbBCddD2IsQsU1C+dxNMDa9sCUgl5itJsG2YSqGz8jKYsMiwB1bufXtN3K1n6o+gF WiDrtev3cQCldhYy+VCp9uSGOzRZGAoJTEqumihzP0XClhPIsAOQWwykUJFZ/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675692064; a=rsa-sha256; cv=none; b=TGgsUwqpB9B4YQodBlWz/kYKpGH5BsTtfD1b6a2m+6zqh0hBW0PMafN5GAp8272o5icQJk cHfxUUBl4ELyWx453PrJI2JL3znCLc0bl6tD3iWdnu8ugtak+6F9wOrXhO464v3DMiAsaH xAMfWUGC21W8oJrEOwh1S7L+2YxC0h45x6ylnKM8mSb2bEqV8fza1LALA8afLH4RB/NQdj sz4v5dWiqPYJsJAxEhjOgYM5hjbuCa4+O+01shbbpq1x6eZTlg8dRFBVWakJ2kitiAWzeW fSfayZkNNBflzyoxipdUxg0IKPf1Hvef48DxvWaJer+QQy6FqSUVQ4cCAwqdVA== 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 4P9SbN2k3nzcb6; Mon, 6 Feb 2023 14:01:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316E14Yp038328; Mon, 6 Feb 2023 14:01:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316E14EF038327; Mon, 6 Feb 2023 14:01:04 GMT (envelope-from git) Date: Mon, 6 Feb 2023 14:01:04 GMT Message-Id: <202302061401.316E14EF038327@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 07db1f36848c - main - linux(4): Attach netlink on i386. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 07db1f36848c008efb7ab6b37e199212560833ae Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=07db1f36848c008efb7ab6b37e199212560833ae commit 07db1f36848c008efb7ab6b37e199212560833ae Author: Dmitry Chagin AuthorDate: 2023-02-06 14:00:44 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-06 14:00:44 +0000 linux(4): Attach netlink on i386. Discussed with: melifaro MFC after: 3 days --- sys/i386/linux/linux_sysvec.c | 3 +++ sys/modules/linux/Makefile | 1 + 2 files changed, 4 insertions(+) diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index 9e2939ee4213..b16e32ac62f1 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -912,6 +912,7 @@ linux_elf_modevent(module_t mod, int type, void *data) linux_ioctl_register_handler(*lihp); linux_dev_shm_create(); linux_osd_jail_register(); + linux_netlink_register(); stclohz = (stathz ? stathz : hz); if (bootverbose) printf("Linux ELF exec handler installed\n"); @@ -932,6 +933,7 @@ linux_elf_modevent(module_t mod, int type, void *data) if (error == 0) { SET_FOREACH(lihp, linux_ioctl_handler_set) linux_ioctl_unregister_handler(*lihp); + linux_netlink_deregister(); linux_dev_shm_destroy(); linux_osd_jail_deregister(); if (bootverbose) @@ -952,4 +954,5 @@ static moduledata_t linux_elf_mod = { }; DECLARE_MODULE_TIED(linuxelf, linux_elf_mod, SI_SUB_EXEC, SI_ORDER_ANY); +MODULE_DEPEND(linuxelf, netlink, 1, 1, 1); FEATURE(linux, "Linux 32bit support"); diff --git a/sys/modules/linux/Makefile b/sys/modules/linux/Makefile index db87f66474b5..ffb19782c225 100644 --- a/sys/modules/linux/Makefile +++ b/sys/modules/linux/Makefile @@ -50,6 +50,7 @@ VDSODEPS=linux_vdso_gettc_x86.inc SRCS+= linux${SFX}_support.S .else SRCS+= linux_copyout.c +SRCS+= linux_netlink.c .endif DPSRCS= assym.inc linux${SFX}_genassym.c From nobody Mon Feb 6 16:24:57 2023 X-Original-To: dev-commits-src-main@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 4P9WnP6t44z3kvnm; Mon, 6 Feb 2023 16: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9WnP6RC3z4Jth; Mon, 6 Feb 2023 16: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=1675700697; 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=p1gyHkoBCTp8Nv5o3Tv/6RrVhhCcYE5QhB5rqicx/7M=; b=QGug6IP3JRwGF0VrRFbnDvxFVmhChODfQdXAlRCihhoEkTaKIBiTf+wVEfR+Vn8R4bsFOA hOO/q1qyvkodn3v4nGBtTvYXf4jA9lB520zaSTa6dIUZAmCliWYNoc6fJ89lb6P5ZT+laT 7pVISNA3677EGQw+1fMw/e4gkfanp/CRza3wF/4otSiKtxqqSa/qr8/h1QCEJCS0yqJwu6 TC6Df8ETonfZ5tdROBS2mMwN22/VxG5ELsLzWqGscwGq1JUeU9b1IQ+LAl6EWGv/G+QRgI MjytZgFP0UwlYlC+dCmwUPWIRwNXzpjWVLKE1M7bfeys6PSCQuE+A39CVS0qtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675700697; 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=p1gyHkoBCTp8Nv5o3Tv/6RrVhhCcYE5QhB5rqicx/7M=; b=RqDKQf/QwF4BPmKFDoY9qF9fcFa323WObOAuZO3c7EMcSGn6NlsdCLWalQjgyXfagAyJP4 CI6xQWXODvMf9HhMh4aL7zDeZbEP50XJqS6Udnit0MUktKlB5JmEpCfaxoVUlR/bAq5wOO j82adW7WfavUUEKNZxbuCCaC68DI15jc7BejwIo0OMExGWQp9Ao8mYTwNc75xhhzKmc42R V+ifE758ExoImHgGc/aV8iGkWhSisNpE0tKzZKAS9wRSF/wQujYR+iKBiPU9y8Kvt+x/1W hvr2IM7Ke68gkia8vwGIdwI8VPjE/Rsuvl7nbZ6SMKC4cmJPoQwP/1RGAtVPkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675700697; a=rsa-sha256; cv=none; b=NG4EiYb1RO5Q8insCJHKLyPvqR/JoctC8e9SwBdhnPlbwwSe2v1Oai2MLFpx5iLqavOfoV VVEz+O3P5WnGwukPFYAW2ySeUjLBqdE2iJfMPH9FQmlLQfSQSR/WVMi4sA8Z2JOb7sN2k1 vDYwrvQbdufReMyoPjpc4euUndT2VRbCMn823iEv3KeHpzkTnhFf/ixMjqBgQ1UnGkC4ak 6CGqrn+1PWm8gam2Ag1zTPqCSdj7bkkGJIojAdRzAK88j3If3K4a3CnS7Tc5CtvMr1fsJq 3WYDQMLnIJLAtjS87FOmp0YeZ8YpJ41oF8Xdt2J8XYjkuwakZlGdiucd+K0dAQ== 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 4P9WnP5VhczhM9; Mon, 6 Feb 2023 16:24:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316GOvMc044240; Mon, 6 Feb 2023 16:24:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316GOvv1044239; Mon, 6 Feb 2023 16:24:57 GMT (envelope-from git) Date: Mon, 6 Feb 2023 16:24:57 GMT Message-Id: <202302061624.316GOvv1044239@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: cc6e8949daf0 - main - tarfs: Fix typo in man page. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: cc6e8949daf0c6167d0050d7d85fc8c1426dd6dc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=cc6e8949daf0c6167d0050d7d85fc8c1426dd6dc commit cc6e8949daf0c6167d0050d7d85fc8c1426dd6dc Author: Dag-Erling Smørgrav AuthorDate: 2023-02-06 16:24:17 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-06 16:24:17 +0000 tarfs: Fix typo in man page. Reported by: ceri Sponsored by: Junpier Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: pstef Differential Revision: https://reviews.freebsd.org/D38399 --- share/man/man5/tarfs.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man5/tarfs.5 b/share/man/man5/tarfs.5 index b25131c323c1..e431e5d1fa1c 100644 --- a/share/man/man5/tarfs.5 +++ b/share/man/man5/tarfs.5 @@ -46,7 +46,7 @@ tarfs_load="YES" .Sh DESCRIPTION The .Nm -driver implementes a read-only filesystem backed by a +driver implements a read-only filesystem backed by a .Xr tar 5 file. Currently, only POSIX archives, optionally compressed with From nobody Mon Feb 6 16:24:58 2023 X-Original-To: dev-commits-src-main@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 4P9WnR0RYXz3mvFV; Mon, 6 Feb 2023 16: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9WnR00Zvz4Jv9; Mon, 6 Feb 2023 16: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=1675700699; 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=i0j2l0MrtEM2i3WISqFpIzFknZlG0WgUCw1WoIDaJkQ=; b=D/sqDFGNcM27kUOucnLu4VPnn+CGnFrlBtoo5b9ie3bh7/SPKTDwTp+enGPSKDVknR3Mtu A5kBjUgqbBdk1LNzTciuPvuTUuZmbxzqx1XafZ+LXy24L/2aMbMqxLEJ3g+dLl5ctGUgfs IJLMWqiwtHeuR/NfFUMSo38kvSdJCAFynDDanDP14D6qrtKy+k2qwD1HHSLEfPUU3ADjNx 44tnNUC5hoHdcij3DVzI3FSoFJQ/oN3+nlK8Z0OwbqS7BFaGoP2yPE8A43XBlZl/8lN22Q O/Yw85gqNmyo3s0RJn6SolzlTQi6lvkehk6nqQr9IW+x+cmsfXO3JRr62DUIrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675700699; 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=i0j2l0MrtEM2i3WISqFpIzFknZlG0WgUCw1WoIDaJkQ=; b=so6+iZjGj6t1P5TNtka8qvkJjuf7RK53igj9tbDmYRBBgi+MrIjyutYRQqVuOgyd/6PpuD Ii1AAuumhEThDzgz2wu5XUQ8JD0lmTwPZxd8Mc/DMcL7PFN1OWnecyo2+GqFIGYQVrjNcj uqkCrNak/Gx/r6Onf98+VyX+1A0glTaUzCpipDnWKSkalpASiUThhnLlfnQeH9CMWkbklT GOZ09ifA+xKMGqBQzomYZPCrwCaoQTCLDCQjg0720+8BV5L9ePidoHibHVVnCUhh1Dj5v2 STYgvtFmuOCZ7R5N8IXh0CLgRsLWXg3ZT0aQZavVJ2MIKchWs3iGbkjKbaZCYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675700699; a=rsa-sha256; cv=none; b=C2o/CQnsRmi6drBUmRlYS1cQBO6kOrIhDnwFWSYI6SHDCU6/hFOnnuF031zEYfDi6zIVXh FRQqLPiLSoDZIpXwy/uiPMnekNd4eTq7REm+4QsCT+X4Vm0BpSgwz8HcLxh9+OrZiU3J41 YYYJTcdtq6dDP5QBffjTGnpGDdrusI2DyCS2ApFA23LhPs9Jf7CKEDC6/ROLm39zQY22FR u4MNTzkuENOjKiMMfLFRo1+hgDb0CzhH4j+19lE4O5uhgo8TkdcGHP0E+IljviDQ8DKq7t K8nx2TZ2FgzCP3L/CMwTA8LGDw+1iNg53AdYC082AclXC0H6CQxh3a6O/aXElw== 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 4P9WnQ697vzhHF; Mon, 6 Feb 2023 16:24:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316GOwUA044272; Mon, 6 Feb 2023 16:24:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316GOwI4044271; Mon, 6 Feb 2023 16:24:58 GMT (envelope-from git) Date: Mon, 6 Feb 2023 16:24:58 GMT Message-Id: <202302061624.316GOwI4044271@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: c9ff56ce2d41 - main - tarfs: Terminate dirents before copying them out. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: c9ff56ce2d4126eac79342eff2facafbbbd3f39c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=c9ff56ce2d4126eac79342eff2facafbbbd3f39c commit c9ff56ce2d4126eac79342eff2facafbbbd3f39c Author: Dag-Erling Smørgrav AuthorDate: 2023-02-06 16:24:27 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-06 16:24:27 +0000 tarfs: Terminate dirents before copying them out. Reported by: markj Sponsored by: Juniper Networks, Inc. Sponsored bu: Klara, Inc. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D38400 --- sys/fs/tarfs/tarfs_vnops.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/fs/tarfs/tarfs_vnops.c b/sys/fs/tarfs/tarfs_vnops.c index a70a077424b4..43c434e370e3 100644 --- a/sys/fs/tarfs/tarfs_vnops.c +++ b/sys/fs/tarfs/tarfs_vnops.c @@ -294,6 +294,7 @@ tarfs_readdir(struct vop_readdir_args *ap) cde.d_reclen = GENERIC_DIRSIZ(&cde); if (cde.d_reclen > uio->uio_resid) goto full; + dirent_terminate(&cde); error = uiomove(&cde, cde.d_reclen, uio); if (error) return (error); @@ -317,6 +318,7 @@ tarfs_readdir(struct vop_readdir_args *ap) cde.d_reclen = GENERIC_DIRSIZ(&cde); if (cde.d_reclen > uio->uio_resid) goto full; + dirent_terminate(&cde); error = uiomove(&cde, cde.d_reclen, uio); if (error) return (error); @@ -374,6 +376,7 @@ tarfs_readdir(struct vop_readdir_args *ap) cde.d_reclen = GENERIC_DIRSIZ(&cde); if (cde.d_reclen > uio->uio_resid) goto full; + dirent_terminate(&cde); error = uiomove(&cde, cde.d_reclen, uio); if (error != 0) goto done; From nobody Mon Feb 6 16:24:59 2023 X-Original-To: dev-commits-src-main@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 4P9WnS3lkMz3kvns; Mon, 6 Feb 2023 16:25: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9WnS11CMz4Jsb; Mon, 6 Feb 2023 16:25:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675700700; 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=KoAe4MW6h1/NzY7fcIv/b2EneBAJ1hr3uEGWuOzgoIQ=; b=L8uHWHGi3NT9RcZsztrSwIGaTtXJCL1ONBFSdupmzEaPM+vY5t+JxVitHfl6X2gGAAzVaC p1RuL6qn8ZCB/ZeIEf7Y2MRhyaweJSRrfaZR8cAbEd2Suz0+jKiBpBIrr0jc755Osb96fn Psaum5AAVTsthGWvdzX0GTuVYkJndegP+chi0+bzuqeuGK3kV2Y5UzXO+BSJZT2QyGJ9eq sbrBCv25OYVXeo7HTvREi5WYNApaAzTaT4Gj6h/EwjpKleChxGb2JGa7omywbIi1ABNVT5 KjtqT+ackHqCXOCZ7k8OpuX4GFhU1Q7E7VCG8ivS9J9JoWVsmthNhhYTtrowzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675700700; 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=KoAe4MW6h1/NzY7fcIv/b2EneBAJ1hr3uEGWuOzgoIQ=; b=B7IOSEE5YKwysJrdxE7dtf0RHD9qnCT1xm1Q2Y8JOKdgKNy0TawofW914qsNILxOqgTSTV 1SFEqaF5RkerZ/i6G25MJgZK+9rJKaN48EjyAINejTWmRESEhxx7X1MAAyMKAIjok5Jgic FqbLI7rcvAbmUGO0rmr6Z1uhZ4H/Gr4gz80rL2KAfidCWMimd5+QoBRCn+nrlNgDICqviu srq11LgaFyiP5b4SsyIeQZsIDAvAB7qYfJjt+Xo81rT4+lXywQzehsV4Myg2YfAMqDZ3Dp n7iD8F60VCQjFltGichraGpomlDtyJUVc6gIWSXvgPUT25aFAiDVkikb4+Pq9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675700700; a=rsa-sha256; cv=none; b=unHuwiVdkkFJEqdB0BAB+th2s9eWGBWpUV2qdnWqR6Eaj7tgYllFuk9Ch+IotMzsCfx0z9 TX9QqctABKLGfHRpvSAiKr0IZ9S6XRxaAEuUZaQ5QNNlR+709jGZmiwGYrAjqKineA7MCX PhkJyfphjy3WqsdxbiyJ++z9nb7sObhWeMSLEsNFXA4iTi4ctHjrHRJc+h5dl8lR/0E3Dp PkTCyzIacmSBPYntQ7+avZCrIFd951hsLlkbEDobhakaOwI7THMIOPOW9rx5wjepq837yD 6K5Zke/6kUjCQl4kRY3TI2H9ZaGOIwnouGj6O8dCFjKaFGBngs4cZ81ArJ+2dQ== 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 4P9WnR6sG9zhK6; Mon, 6 Feb 2023 16:24:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316GOxpk044303; Mon, 6 Feb 2023 16:24:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316GOxMQ044302; Mon, 6 Feb 2023 16:24:59 GMT (envelope-from git) Date: Mon, 6 Feb 2023 16:24:59 GMT Message-Id: <202302061624.316GOxMQ044302@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: a8fc2fe3af3d - main - tarfs: Remove unnecessary code. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: a8fc2fe3af3d456dd2bc19429a8c55648ad875af Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=a8fc2fe3af3d456dd2bc19429a8c55648ad875af commit a8fc2fe3af3d456dd2bc19429a8c55648ad875af Author: Dag-Erling Smørgrav AuthorDate: 2023-02-06 16:24:32 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-06 16:24:32 +0000 tarfs: Remove unnecessary code. Reported by: kib Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D38401 --- sys/fs/tarfs/tarfs_io.c | 2 -- sys/fs/tarfs/tarfs_vnops.c | 2 -- 2 files changed, 4 deletions(-) diff --git a/sys/fs/tarfs/tarfs_io.c b/sys/fs/tarfs/tarfs_io.c index 87885fbb329c..6127299b23c1 100644 --- a/sys/fs/tarfs/tarfs_io.c +++ b/sys/fs/tarfs/tarfs_io.c @@ -551,8 +551,6 @@ tarfs_zreclaim(struct vop_reclaim_args *ap) TARFS_DPF(ZIO, "%s(%p)\n", __func__, vp); vp->v_data = NULL; - vnode_destroy_vobject(vp); - cache_purge(vp); return (0); } diff --git a/sys/fs/tarfs/tarfs_vnops.c b/sys/fs/tarfs/tarfs_vnops.c index 43c434e370e3..266002bca7b2 100644 --- a/sys/fs/tarfs/tarfs_vnops.c +++ b/sys/fs/tarfs/tarfs_vnops.c @@ -524,8 +524,6 @@ tarfs_reclaim(struct vop_reclaim_args *ap) tnp = VP_TO_TARFS_NODE(vp); vfs_hash_remove(vp); - vnode_destroy_vobject(vp); - cache_purge(vp); TARFS_NODE_LOCK(tnp); tnp->vnode = NULLVP; From nobody Mon Feb 6 16:31:37 2023 X-Original-To: dev-commits-src-main@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 4P9Wx604H1z3mvV9; Mon, 6 Feb 2023 16:31:38 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Wx56lvDz4LH7; Mon, 6 Feb 2023 16:31:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675701097; 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=EeeiADrdEhGJvTKn93VAiFx2VDYyejq5sQOG2+WNGhQ=; b=I1vlVTS91JNgqSdMCHk2CpuCzMBdSasYSLny0+1CfsAjxfj4eaE1mOB9cnIppaYtJVBg1Y LVDcTOtuoxXdMNft0IhKsOOVgvhsvfYkQTmuxZYlDm6QJVC4PwE989RlslodFg+A/fqLtk Us1IDBTdC2fbR88OjBDoXUBgInA/bZ4IHdveK4IrSDPLv/hAeTARN6XYnRmYc1DLc98SYU aNfA0SIOwNauWsCG37ZLStGvQyYRRBuN5+fcK8ccCy89DHUzdIWfuYlMth0DcSQUsRypvE kwRFgVRVTq0tZ34NR5Z3hCIMqUxd6nXjffWLyDie/KTij6H1aa/37Nk9ZrgZ1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675701097; 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=EeeiADrdEhGJvTKn93VAiFx2VDYyejq5sQOG2+WNGhQ=; b=jswaKi7CfJQqLxFR8yDN3OXENWCOlGJbrVt46lYvoH106EjnNHOjvAMh+RmCI38wrI6CuI 5g+ubbOP/c5QXukDCIUiHV+xUAtCgnTyLVKrfIyhQ3fLeGIYYCLobzcig4VK3Wkq0LRxDU hTJy8ixjp++8bm5kex6Jp81CKXH9X0zHsRJyOMUktfD7Y1lBZFTVulzlo73pYRACiT2XXf l6DArgbRUghZhfWp/eImLheOCbtDTQksE0x6wr4RrSc3R92ZtAZqDmKMBT/lU7qOoBvNp4 m5pfT1oEOx1x5srI9bTAISK1/XjxUwk9tYNbe0hPctUKacWdvi9Tpe/lxAExWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675701097; a=rsa-sha256; cv=none; b=Uw1RoUAx7wzhRN+Pq+A415S1nQ6vbtff7cRos9wMYJk+HZ22ssYl9zl0PHAGzuOYs0cIYM FqDTU0O0Mbfz6wLVxi6HVy64JEzBfUA5Bsz4fxX+voL0dG0SK1+k+JCz96u9BgNJYiJEFb c9NWLMLA5ZxrPOk+T06vWMYjlutL+vslaY+9sIZS+2Ug24eVkb2oB12+57F2CvH9FQxlWr ZMKSGXag35HFHoo0NOpLpb0wCtEBf/pEkRYeOgGbyOgFN67bkcXShhmZ+7dgNj0XtXsMLu WbrwD3g2pxd8V8yQHFOcefHZIwHBSAQMiVgdPJN0b1Pz0uNNKXgrar/fifzV2A== 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 4P9Wx55qL8zhdy; Mon, 6 Feb 2023 16:31:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316GVbqf055580; Mon, 6 Feb 2023 16:31:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316GVbb5055579; Mon, 6 Feb 2023 16:31:37 GMT (envelope-from git) Date: Mon, 6 Feb 2023 16:31:37 GMT Message-Id: <202302061631.316GVbb5055579@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: fe1371e8f3d7 - main - ssh: fix double-free caused by compat_kex_proposal() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: fe1371e8f3d7336748d291a7360b2aacce943fb1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=fe1371e8f3d7336748d291a7360b2aacce943fb1 commit fe1371e8f3d7336748d291a7360b2aacce943fb1 Author: Ed Maste AuthorDate: 2023-02-06 16:26:08 +0000 Commit: Ed Maste CommitDate: 2023-02-06 16:31:18 +0000 ssh: fix double-free caused by compat_kex_proposal() Security: CVE-2023-25136 Obtained from: OpenSSH-portable commit 12da78233364 Sponsored by: The FreeBSD Foundation --- crypto/openssh/compat.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/crypto/openssh/compat.c b/crypto/openssh/compat.c index 46dfe3a9c2e7..478a9403eeaa 100644 --- a/crypto/openssh/compat.c +++ b/crypto/openssh/compat.c @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.c,v 1.120 2022/07/01 03:35:45 dtucker Exp $ */ +/* $OpenBSD: compat.c,v 1.121 2023/02/02 12:10:05 djm Exp $ */ /* * Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved. * @@ -190,26 +190,26 @@ compat_pkalg_proposal(struct ssh *ssh, char *pkalg_prop) char * compat_kex_proposal(struct ssh *ssh, char *p) { - char *cp = NULL; + char *cp = NULL, *cp2 = NULL; if ((ssh->compat & (SSH_BUG_CURVE25519PAD|SSH_OLD_DHGEX)) == 0) return xstrdup(p); debug2_f("original KEX proposal: %s", p); if ((ssh->compat & SSH_BUG_CURVE25519PAD) != 0) - if ((p = match_filter_denylist(p, + if ((cp = match_filter_denylist(p, "curve25519-sha256@libssh.org")) == NULL) fatal("match_filter_denylist failed"); if ((ssh->compat & SSH_OLD_DHGEX) != 0) { - cp = p; - if ((p = match_filter_denylist(p, + if ((cp2 = match_filter_denylist(cp ? cp : p, "diffie-hellman-group-exchange-sha256," "diffie-hellman-group-exchange-sha1")) == NULL) fatal("match_filter_denylist failed"); free(cp); + cp = cp2; } - debug2_f("compat KEX proposal: %s", p); - if (*p == '\0') + if (cp == NULL || *cp == '\0') fatal("No supported key exchange algorithms found"); - return p; + debug2_f("compat KEX proposal: %s", cp); + return cp; } From nobody Mon Feb 6 16:39:16 2023 X-Original-To: dev-commits-src-main@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 4P9X5x1Qg5z3mvnZ; Mon, 6 Feb 2023 16:39: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9X5x0vPdz4Lx1; Mon, 6 Feb 2023 16:39:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675701557; 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=X1e4ntNdfK/A2SHqi/VQsi4bl0i+1Y4M93KD3S6pe4M=; b=q/fxwGjB/b3qEA3mQIZVcQnVK26wjNw4E9/9GOlV/C5xoLdXYem+o7wSfatTPBym2VOi5E fZ1GiXELTv024bKgMcEJJSfnivHtrTrsQMlOpCXfxix6oi4hrneaMszO9tyRW7G6bA0ZnQ YIMbL6qXGN5ptrAmfx47X8pQrGtG3TOutYdDVVljrleNB65PRfLh+IbidhJldkSiW/c3Rv HxpzCvIosfzUaUhFLAVjp39fhVyckpOyoetnPU1/5xc4vPoHPeSAaPhocrekoBfa1ey0SJ HLUZgaGaYT/qzWKTEgrgC9rq6TyNmTXO1ABXzYqPyyvBwcU4XOz1goU7CUbctw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675701557; 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=X1e4ntNdfK/A2SHqi/VQsi4bl0i+1Y4M93KD3S6pe4M=; b=pGQqQ36Md/zh6N21qb0J8bs8pALtlWEEf73aW4BA+Ytp+ZCrd9Nw6EShG0d9nFVwJvFW8e n8AftWAOe/7vtwCk3aJX9voXdcaOAjB1YgG+2NPTIcS6Mc7aSWyLdXMPvR2x6DGqPdX9Ek ADAUg3bmv6ZB5fgBbzzABet+v9KETGvyv+380fSizOwuS9+pfF6uH+KOCuFNr5a5vajnmC 6sq+pSUScKW2ejAhn0CHeNg4MBee8RW4hjiFMnFUGjcGO6vXsVPzOuXWEOBhan08a4G1Ji fGGCUzsXncpiGUnNXiP3Ddz69USkKj4dzEDvGl3Sfc+BqO8ufWlvSZ5V0ko1xA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675701557; a=rsa-sha256; cv=none; b=xBD1e8dNX31L7RxU7+wUZPTjksYmQ97f0IGiTBY36oofCBR8/Om3XhqEj9pulXgNVKc4IW F72BrQvQfXlk6uLVi33Z5zvovsyf6ce74H5myJkU35KTgTX7vhAxVfn3rl/y5VGqKcuwH3 fLYeE8/g1qtAzs/w3Hpbboa0bV0/a10+/K/rQVIo8bvfh/x+eQm2WIQLOACevKTO/y3Lsw tJKODvaGZzauhPIXgPgPH8HtYmKkBsWubRJRn2TaZggvRvMuKW38zPY7Rp0t3rS4dJXTK+ CXrEDkJw+gBpUQgeEZTuixr97vNF2fRTJ/INoiRfOTizwypjVJyNZJA9N3UZbQ== 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 4P9X5w73mRzhLB; Mon, 6 Feb 2023 16:39:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316GdGwn059142; Mon, 6 Feb 2023 16:39:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316GdGTs059141; Mon, 6 Feb 2023 16:39:16 GMT (envelope-from git) Date: Mon, 6 Feb 2023 16:39:16 GMT Message-Id: <202302061639.316GdGTs059141@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 94e21add4534 - main - ssh: fix bug in PermitRemoteOpen which caused it to ignore... List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 94e21add45344f0669f910ea77db499e8c892c90 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=94e21add45344f0669f910ea77db499e8c892c90 commit 94e21add45344f0669f910ea77db499e8c892c90 Author: Ed Maste AuthorDate: 2023-02-06 16:33:38 +0000 Commit: Ed Maste CommitDate: 2023-02-06 16:33:38 +0000 ssh: fix bug in PermitRemoteOpen which caused it to ignore... its first argument unless it was one of the special keywords "any" or "none". Obtained from: OpenSSH-portable commit b3daa8dc5823 Sponsored by: The FreeBSD Foundation --- crypto/openssh/readconf.c | 62 +++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/crypto/openssh/readconf.c b/crypto/openssh/readconf.c index d262e6b6ed2c..6562c2a73db9 100644 --- a/crypto/openssh/readconf.c +++ b/crypto/openssh/readconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.c,v 1.369 2022/09/17 10:33:18 djm Exp $ */ +/* $OpenBSD: readconf.c,v 1.371 2023/01/02 07:03:30 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1574,37 +1574,37 @@ parse_pubkey_algos: case oPermitRemoteOpen: uintptr = &options->num_permitted_remote_opens; cppptr = &options->permitted_remote_opens; - arg = argv_next(&ac, &av); - if (!arg || *arg == '\0') - fatal("%s line %d: missing %s specification", - filename, linenum, lookup_opcode_name(opcode)); uvalue = *uintptr; /* modified later */ - if (strcmp(arg, "any") == 0 || strcmp(arg, "none") == 0) { - if (*activep && uvalue == 0) { - *uintptr = 1; - *cppptr = xcalloc(1, sizeof(**cppptr)); - (*cppptr)[0] = xstrdup(arg); - } - break; - } + i = 0; while ((arg = argv_next(&ac, &av)) != NULL) { arg2 = xstrdup(arg); - p = hpdelim(&arg); - if (p == NULL) { - fatal("%s line %d: missing host in %s", - filename, linenum, - lookup_opcode_name(opcode)); - } - p = cleanhostname(p); - /* - * don't want to use permitopen_port to avoid - * dependency on channels.[ch] here. - */ - if (arg == NULL || - (strcmp(arg, "*") != 0 && a2port(arg) <= 0)) { - fatal("%s line %d: bad port number in %s", - filename, linenum, - lookup_opcode_name(opcode)); + /* Allow any/none only in first position */ + if (strcasecmp(arg, "none") == 0 || + strcasecmp(arg, "any") == 0) { + if (i > 0 || ac > 0) { + error("%s line %d: keyword %s \"%s\" " + "argument must appear alone.", + filename, linenum, keyword, arg); + goto out; + } + } else { + p = hpdelim(&arg); + if (p == NULL) { + fatal("%s line %d: missing host in %s", + filename, linenum, + lookup_opcode_name(opcode)); + } + p = cleanhostname(p); + /* + * don't want to use permitopen_port to avoid + * dependency on channels.[ch] here. + */ + if (arg == NULL || (strcmp(arg, "*") != 0 && + a2port(arg) <= 0)) { + fatal("%s line %d: bad port number " + "in %s", filename, linenum, + lookup_opcode_name(opcode)); + } } if (*activep && uvalue == 0) { opt_array_append(filename, linenum, @@ -1612,7 +1612,11 @@ parse_pubkey_algos: cppptr, uintptr, arg2); } free(arg2); + i++; } + if (i == 0) + fatal("%s line %d: missing %s specification", + filename, linenum, lookup_opcode_name(opcode)); break; case oClearAllForwardings: From nobody Mon Feb 6 16:41:57 2023 X-Original-To: dev-commits-src-main@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 4P9X936WlZz3mvtl; Mon, 6 Feb 2023 16:41:59 +0000 (UTC) (envelope-from des@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9X9364pSz4MFd; Mon, 6 Feb 2023 16:41:59 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675701719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nKKH+bkTkCWNIGs63A3eBDu1JuJTWTFq3nYFXVuIfNg=; b=XFY3r4Ra+UBvNG6c6+BtTsWFa613H27Kw2kqyfiXAm51bjndI1p7o6N7t3WSrV+i2Sw/qD Y6f/yRcQczutgihpttWmRoIIg4twpq2o5Z805POAc7kJhgSvx4iZsd+VLVshZLoZPtQSdY nZTLJ4RtXkG5vxrSEHnP84jo0fUPDIReDeOMOlJ/QkZwa6WQl6yHoWi6ldRmvz2wfmPJDj PHnB7Nez334KeZLGHZb1RqrAD0yMDYk3+/ICTCZMgkgH/X5mpsC17CBSwBu1YzeumQ0grT Kozkl4OZZ9d7fhs4jIDx3TB384tlmU3TXQzVRJ73K4QOefEKL8AyO5Pckn7Gcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675701719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nKKH+bkTkCWNIGs63A3eBDu1JuJTWTFq3nYFXVuIfNg=; b=EBkNvuR4NMlS3JOvSPqZtaEExG/3F1znVkfc4vPyRl2B8WvBUiYlACIzMFdZ4r1H66iD0V PwW8NqDjsx7AwHh3VpDVEKS1dCRLsDOJFEDqLMg0Ch7XLHtw9zF9Tj16rGDZE8DEjZgNW2 HaZxiBZqeigUJhEXU4j3SFP4NZO+CRkVt6cS1mJphBdwMQZvM5AOPaROfhnVyZPkaobPmY V8GFVrNzGJumdReY8HeWn28kdejKRYy8ID8CmrScC/O0VgBulCxkZcnEJOh0Vd2VmF3rvh 9t4tasoxTvMMYgDUhiURccOiLugUd97f8rZeLTbC2D+1gqksUcE35jLoZ9ILcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675701719; a=rsa-sha256; cv=none; b=ZjJou82/EVIHjd37D1HrwMyqZj/1y/mcOJhimQr7L1aYjk3ZMF+DTWM4BrBzAcnh7ySqWA O2az5XxJ6Y77hR3Oe2pZ1ZaG7aSBoJUaFmkdGkS8EL5x1R5fXM92hYneZ0u9TIG8hXzhtk 4TYZtNyp08H2XtPD+nfy5gPyMPMNntXsPOgNNO7QyhqTUpBgkxiwFVWHBqgKdDKuxVWCNB X71ayDlelZSMkxzZcDNUS8ljlGFNkwDaGt0EdpKrSHB3gFCJr2id8Rk9F2fSriRnfTg96w MDz8iZ0BbcpqiR7XUfCjSJgeXgvCDQ7rVF/xmubsXyaRQnp2j5QgUt68s9ZxHg== Received: from ltc.des.no (unknown [178.232.223.163]) (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) (Authenticated sender: des) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P9X934QMjz1Ktk; Mon, 6 Feb 2023 16:41:59 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.no (Postfix, from userid 1001) id 03471F9BF7; Mon, 6 Feb 2023 17:41:58 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Baptiste Daroussin Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: baff81958c8e - main - libedit: update to snapshot 2023-01-06 In-Reply-To: <202302061326.316DQU8V086009@gitrepo.freebsd.org> (Baptiste Daroussin's message of "Mon, 6 Feb 2023 13:26:30 GMT") References: <202302061326.316DQU8V086009@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (berkeley-unix) Date: Mon, 06 Feb 2023 17:41:57 +0100 Message-ID: <86mt5qzqy2.fsf@ltc.des.no> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N Baptiste Daroussin writes: > The branch main has been updated by bapt: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dbaff81958c8efef2a44f4b7697= 43eeb7101bee9e > > commit baff81958c8efef2a44f4b769743eeb7101bee9e > Merge: 0126bd3e6ca4 5a36c8261410 > Author: Baptiste Daroussin > AuthorDate: 2023-02-06 13:25:06 +0000 > Commit: Baptiste Daroussin > CommitDate: 2023-02-06 13:25:06 +0000 > > libedit: update to snapshot 2023-01-06 >=20=20=20=20=20 > MFC atfer: 1 week Sorry, this was me accidentally pushing the wrong working copy. No harm done, I hope. I also managed to misspell =E2=80=9Cafter=E2=80=9D and forgo= t to note that my part of this work (committed upstream) was sponsored by Klara. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Mon Feb 6 16:49:32 2023 X-Original-To: dev-commits-src-main@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 4P9XKm6BNdz3mwNF; Mon, 6 Feb 2023 16:49:32 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9XKm5nRqz4N72; Mon, 6 Feb 2023 16:49:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675702172; 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=tU3Cq5Q0CUK3Z/aG4jW7uH7OOjqlRnSlWIyw8e/IIIY=; b=b5/4VuAiMPaVcczKgWPI6XqPGMKB29qp/Nj3aQbBvG2QDPoQCgzr5pSMKJ8JFA9V4y192e 8df/BhLSrBm04gybEdW+ptlcwQ/I3x3CmgPlQlh7k6EUP24Vjj2WkFJ88sMle70bhbXukn bMn+eLU1ndwNzL0ToJKmD5sjs0YZ6JNvVk31xkQksoVqTNG65iGIY6HKCLqZ9lIpC4PKza vx+mZ069VhJZ7ecqWrXBPV4wwUlDDBwJtJgUZg0HCGv+R0sCmHnSSWyXZCnxTGVIY3Mayj ueKe+0OLjjuNy41DoQD5E9Mj4iFhgELXR501BzQfeSjVzcIZi+0G+x59Z4ZUKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675702172; 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=tU3Cq5Q0CUK3Z/aG4jW7uH7OOjqlRnSlWIyw8e/IIIY=; b=ZjJT1lZZG7nGE3nLDOdRco5x3LZmskv21vLwdnR4pKNnIzjgdSnxxHVmetHqaIUob/uNIh 7BfspKQy+pguY6quIfodEY8AmfvgT/9ajexB3Q9Q5qQ2P56UJXHG2SyvXhCVALgUeG41Pn frvEdMY2tTxGsqW5EkQu2wSDvoiV6PSnOVR0ystNGeai4ojxyTQx5MoEtAE4hZ2upFq75d YzVfeVQFSMRBIX+PRC5zP6t/Ac049sY/kvd2yPU6c1XSivmAG5Tan9mpjIVnJKKf7QlJ1i rSd5ifDkuMjnVoR3PtRgCltbojB4VOsHgwr/+VUNcUlictC2NjCRnMBDT1D0Vg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675702172; a=rsa-sha256; cv=none; b=E21iTqKla8Mhp9bsXbN01wnMaY9/N9py7Nl6ianJ4Qkzvz55IYC18OFbETbgb3RbSKG+h7 H24+3Klep7N4AEywP1FYTBuN2rlCe0VXCYviTeb4eHQiKsFQhpySciG979mQjLiTBlAmZ2 wpVT7XC/uXzp87gewtI7P4gGwke9Rv/hm+QeTShGcuJwrcnpxIbexNXWNh5SPsW6hLXfeS y0fOSCK7qS38zhpUGOWQVar7tIlCpVcidwyMMYIOXLKsnHp3yEjWIl35C6WKlVEPSO/Ula HmMMzdO3527GT3i+SKNAVg5zMMQ8sDp8ppPhhQ4mSjA2DjlkOuUK1AHthwBr2A== 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 4P9XKm4qf4zhdP; Mon, 6 Feb 2023 16:49:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316GnWp8073390; Mon, 6 Feb 2023 16:49:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316GnW0I073389; Mon, 6 Feb 2023 16:49:32 GMT (envelope-from git) Date: Mon, 6 Feb 2023 16:49:32 GMT Message-Id: <202302061649.316GnW0I073389@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Ambrisko Subject: git: 9c067b844f85 - main - enic: Cisco VIC driver List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ambrisko X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9c067b844f85a224f0416e6eb46ba3ef82aec5c4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ambrisko: URL: https://cgit.FreeBSD.org/src/commit/?id=9c067b844f85a224f0416e6eb46ba3ef82aec5c4 commit 9c067b844f85a224f0416e6eb46ba3ef82aec5c4 Author: Doug Ambrisko AuthorDate: 2023-01-27 23:46:17 +0000 Commit: Doug Ambrisko CommitDate: 2023-02-06 16:46:02 +0000 enic: Cisco VIC driver This driver is based of the enic (Cisco VIC) DPDK driver. It provides basic ethernet functionality. Has been run with various VIC cards to do UEFI PXE boot with NFS root. --- share/man/man4/Makefile | 1 + share/man/man4/enic.4 | 90 +++ sys/conf/files.amd64 | 8 + sys/dev/enic/cq_desc.h | 97 +++ sys/dev/enic/cq_enet_desc.h | 244 +++++++ sys/dev/enic/enic.h | 406 +++++++++++ sys/dev/enic/enic_compat.h | 65 ++ sys/dev/enic/enic_res.c | 212 ++++++ sys/dev/enic/enic_res.h | 73 ++ sys/dev/enic/enic_txrx.c | 485 +++++++++++++ sys/dev/enic/if_enic.c | 1583 ++++++++++++++++++++++++++++++++++++++++++ sys/dev/enic/rq_enet_desc.h | 46 ++ sys/dev/enic/vnic_cq.c | 45 ++ sys/dev/enic/vnic_cq.h | 164 +++++ sys/dev/enic/vnic_dev.c | 1039 +++++++++++++++++++++++++++ sys/dev/enic/vnic_dev.h | 170 +++++ sys/dev/enic/vnic_devcmd.h | 1182 +++++++++++++++++++++++++++++++ sys/dev/enic/vnic_enet.h | 66 ++ sys/dev/enic/vnic_intr.c | 49 ++ sys/dev/enic/vnic_intr.h | 100 +++ sys/dev/enic/vnic_nic.h | 60 ++ sys/dev/enic/vnic_resource.h | 67 ++ sys/dev/enic/vnic_rq.c | 97 +++ sys/dev/enic/vnic_rq.h | 142 ++++ sys/dev/enic/vnic_rss.h | 32 + sys/dev/enic/vnic_stats.h | 56 ++ sys/dev/enic/vnic_wq.c | 89 +++ sys/dev/enic/vnic_wq.h | 108 +++ sys/dev/enic/wq_enet_desc.h | 84 +++ sys/modules/Makefile | 2 + sys/modules/enic/Makefile | 19 + 31 files changed, 6881 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 1c7703bdaeb2..897c72d43baf 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -143,6 +143,7 @@ MAN= aac.4 \ em.4 \ ena.4 \ enc.4 \ + enic.4 \ epair.4 \ est.4 \ et.4 \ diff --git a/share/man/man4/enic.4 b/share/man/man4/enic.4 new file mode 100644 index 000000000000..d33df8515f3e --- /dev/null +++ b/share/man/man4/enic.4 @@ -0,0 +1,90 @@ +.\" Copyright 2008-2017 Cisco Systems, Inc. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS `AS IS' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd Sept 7, 2022 +.Dt ENIC 4 +.Os +.Sh NAME +.Nm enic +.Nd "VIC Ethernet NIC driver" +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following lines in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device iflib" +.Cd "device enic" +.Ed +.Pp +To load the driver as a module at run-time, +run the following command as root: +.Bd -literal -offset indent +kldload if_enic +.Ed +.Pp +To load the driver as a +module at boot time, place the following lines in +.Xr loader.conf 5 : +.Bd -literal -offset indent +if_enic_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides support for Cisco Virtual Interface Card. Support +is limited to basic network connectivity. Media is controlled by the +NIC itself since there can be multiple virtual PCI NIC devices exposed +to the PCI bus. +.Sh HARDWARE +The +.Nm +driver should supports all known Cisco VIC cards. +.Sh CONFIGURATION +The +.Nm +network interface is configured using +.Xr ifconfig 8 +and the +.Xr sysctl 8 +tree at +.Dv dev.enic. . +All configurable entries are also tunables, and can be put directly into the +.Xr loader.conf 5 +for persistent configuration. +.Sh SEE ALSO +.Xr ifconfig 8 +.Sh HISTORY +The +.Nm +device driver first appeared in +.Fx 14.0 . +.Sh AUTHORS +.An -nosplit +The +.Nm +driver was written by +.An Cisco UCS team +based of the DPDK driver. diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 index f0fba5a88869..75be68543394 100644 --- a/sys/conf/files.amd64 +++ b/sys/conf/files.amd64 @@ -119,6 +119,14 @@ dev/axgbe/xgbe-txrx.c optional axp dev/axgbe/xgbe_osdep.c optional axp dev/axgbe/xgbe-i2c.c optional axp dev/axgbe/xgbe-phy-v2.c optional axp +dev/enic/enic_res.c optional enic +dev/enic/enic_txrx.c optional enic +dev/enic/if_enic.c optional enic +dev/enic/vnic_cq.c optional enic +dev/enic/vnic_dev.c optional enic +dev/enic/vnic_intr.c optional enic +dev/enic/vnic_rq.c optional enic +dev/enic/vnic_wq.c optional enic dev/hyperv/vmbus/amd64/hyperv_machdep.c optional hyperv dev/hyperv/vmbus/amd64/vmbus_vector.S optional hyperv dev/iavf/if_iavf_iflib.c optional iavf pci \ diff --git a/sys/dev/enic/cq_desc.h b/sys/dev/enic/cq_desc.h new file mode 100644 index 000000000000..ae8847c6d9a1 --- /dev/null +++ b/sys/dev/enic/cq_desc.h @@ -0,0 +1,97 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright 2008-2017 Cisco Systems, Inc. All rights reserved. + * Copyright 2007 Nuova Systems, Inc. All rights reserved. + */ + +#ifndef _CQ_DESC_H_ +#define _CQ_DESC_H_ + +/* + * Completion queue descriptor types + */ +enum cq_desc_types { + CQ_DESC_TYPE_WQ_ENET = 0, + CQ_DESC_TYPE_DESC_COPY = 1, + CQ_DESC_TYPE_WQ_EXCH = 2, + CQ_DESC_TYPE_RQ_ENET = 3, + CQ_DESC_TYPE_RQ_FCP = 4, + CQ_DESC_TYPE_IOMMU_MISS = 5, + CQ_DESC_TYPE_SGL = 6, + CQ_DESC_TYPE_CLASSIFIER = 7, + CQ_DESC_TYPE_TEST = 127, +}; + +/* Completion queue descriptor: 16B + * + * All completion queues have this basic layout. The + * type_specfic area is unique for each completion + * queue type. + */ +struct cq_desc { + __le16 completed_index; + __le16 q_number; + u8 type_specfic[11]; + u8 type_color; +}; + +#define CQ_DESC_TYPE_BITS 4 +#define CQ_DESC_TYPE_MASK ((1 << CQ_DESC_TYPE_BITS) - 1) +#define CQ_DESC_COLOR_MASK 1 +#define CQ_DESC_COLOR_SHIFT 7 +#define CQ_DESC_COLOR_MASK_NOSHIFT 0x80 +#define CQ_DESC_Q_NUM_BITS 10 +#define CQ_DESC_Q_NUM_MASK ((1 << CQ_DESC_Q_NUM_BITS) - 1) +#define CQ_DESC_COMP_NDX_BITS 12 +#define CQ_DESC_COMP_NDX_MASK ((1 << CQ_DESC_COMP_NDX_BITS) - 1) + +static inline void cq_color_enc(struct cq_desc *desc, const u8 color) +{ + if (color) + desc->type_color |= (1 << CQ_DESC_COLOR_SHIFT); + else + desc->type_color &= ~(1 << CQ_DESC_COLOR_SHIFT); +} + +static inline void cq_desc_enc(struct cq_desc *desc, + const u8 type, const u8 color, const u16 q_number, + const u16 completed_index) +{ + desc->type_color = (type & CQ_DESC_TYPE_MASK) | + ((color & CQ_DESC_COLOR_MASK) << CQ_DESC_COLOR_SHIFT); + desc->q_number = cpu_to_le16(q_number & CQ_DESC_Q_NUM_MASK); + desc->completed_index = cpu_to_le16(completed_index & + CQ_DESC_COMP_NDX_MASK); +} + +static inline void cq_desc_dec(const struct cq_desc *desc_arg, + u8 *type, u8 *color, u16 *q_number, u16 *completed_index) +{ + const struct cq_desc *desc = desc_arg; + const u8 type_color = desc->type_color; + + *color = (type_color >> CQ_DESC_COLOR_SHIFT) & CQ_DESC_COLOR_MASK; + + /* + * Make sure color bit is read from desc *before* other fields + * are read from desc. Hardware guarantees color bit is last + * bit (byte) written. Adding the rmb() prevents the compiler + * and/or CPU from reordering the reads which would potentially + * result in reading stale values. + */ + + rmb(); + + *type = type_color & CQ_DESC_TYPE_MASK; + *q_number = le16_to_cpu(desc->q_number) & CQ_DESC_Q_NUM_MASK; + *completed_index = le16_to_cpu(desc->completed_index) & + CQ_DESC_COMP_NDX_MASK; +} + +static inline void cq_color_dec(const struct cq_desc *desc_arg, u8 *color) +{ + volatile const struct cq_desc *desc = desc_arg; + + *color = (desc->type_color >> CQ_DESC_COLOR_SHIFT) & CQ_DESC_COLOR_MASK; +} + +#endif /* _CQ_DESC_H_ */ diff --git a/sys/dev/enic/cq_enet_desc.h b/sys/dev/enic/cq_enet_desc.h new file mode 100644 index 000000000000..5ced63cb1613 --- /dev/null +++ b/sys/dev/enic/cq_enet_desc.h @@ -0,0 +1,244 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright 2008-2017 Cisco Systems, Inc. All rights reserved. + * Copyright 2007 Nuova Systems, Inc. All rights reserved. + */ + +#ifndef _CQ_ENET_DESC_H_ +#define _CQ_ENET_DESC_H_ + +#include "cq_desc.h" + +/* Ethernet completion queue descriptor: 16B */ +struct cq_enet_wq_desc { + __le16 completed_index; + __le16 q_number; + u8 reserved[11]; + u8 type_color; +}; + +static inline void cq_enet_wq_desc_enc(struct cq_enet_wq_desc *desc, + u8 type, u8 color, u16 q_number, u16 completed_index) +{ + cq_desc_enc((struct cq_desc *)desc, type, + color, q_number, completed_index); +} + +static inline void cq_enet_wq_desc_dec(struct cq_enet_wq_desc *desc, + u8 *type, u8 *color, u16 *q_number, u16 *completed_index) +{ + cq_desc_dec((struct cq_desc *)desc, type, + color, q_number, completed_index); +} + +/* Completion queue descriptor: Ethernet receive queue, 16B */ +struct cq_enet_rq_desc { + __le16 completed_index_flags; + __le16 q_number_rss_type_flags; + __le32 rss_hash; + __le16 bytes_written_flags; + __le16 vlan; + __le16 checksum_fcoe; + u8 flags; + u8 type_color; +}; + +/* Completion queue descriptor: Ethernet receive queue, 16B */ +struct cq_enet_rq_clsf_desc { + __le16 completed_index_flags; + __le16 q_number_rss_type_flags; + __le16 filter_id; + __le16 lif; + __le16 bytes_written_flags; + __le16 vlan; + __le16 checksum_fcoe; + u8 flags; + u8 type_color; +}; + +#define CQ_ENET_RQ_DESC_FLAGS_INGRESS_PORT (0x1 << 12) +#define CQ_ENET_RQ_DESC_FLAGS_FCOE (0x1 << 13) +#define CQ_ENET_RQ_DESC_FLAGS_EOP (0x1 << 14) +#define CQ_ENET_RQ_DESC_FLAGS_SOP (0x1 << 15) + +#define CQ_ENET_RQ_DESC_RSS_TYPE_BITS 4 +#define CQ_ENET_RQ_DESC_RSS_TYPE_MASK \ + ((1 << CQ_ENET_RQ_DESC_RSS_TYPE_BITS) - 1) +#define CQ_ENET_RQ_DESC_RSS_TYPE_NONE 0 +#define CQ_ENET_RQ_DESC_RSS_TYPE_IPv4 1 +#define CQ_ENET_RQ_DESC_RSS_TYPE_TCP_IPv4 2 +#define CQ_ENET_RQ_DESC_RSS_TYPE_IPv6 3 +#define CQ_ENET_RQ_DESC_RSS_TYPE_TCP_IPv6 4 +#define CQ_ENET_RQ_DESC_RSS_TYPE_IPv6_EX 5 +#define CQ_ENET_RQ_DESC_RSS_TYPE_TCP_IPv6_EX 6 + +#define CQ_ENET_RQ_DESC_FLAGS_CSUM_NOT_CALC (0x1 << 14) + +#define CQ_ENET_RQ_DESC_BYTES_WRITTEN_BITS 14 +#define CQ_ENET_RQ_DESC_BYTES_WRITTEN_MASK \ + ((1 << CQ_ENET_RQ_DESC_BYTES_WRITTEN_BITS) - 1) +#define CQ_ENET_RQ_DESC_FLAGS_TRUNCATED (0x1 << 14) +#define CQ_ENET_RQ_DESC_FLAGS_VLAN_STRIPPED (0x1 << 15) + +#define CQ_ENET_RQ_DESC_VLAN_TCI_VLAN_BITS 12 +#define CQ_ENET_RQ_DESC_VLAN_TCI_VLAN_MASK \ + ((1 << CQ_ENET_RQ_DESC_VLAN_TCI_VLAN_BITS) - 1) +#define CQ_ENET_RQ_DESC_VLAN_TCI_CFI_MASK (0x1 << 12) +#define CQ_ENET_RQ_DESC_VLAN_TCI_USER_PRIO_BITS 3 +#define CQ_ENET_RQ_DESC_VLAN_TCI_USER_PRIO_MASK \ + ((1 << CQ_ENET_RQ_DESC_VLAN_TCI_USER_PRIO_BITS) - 1) +#define CQ_ENET_RQ_DESC_VLAN_TCI_USER_PRIO_SHIFT 13 + +#define CQ_ENET_RQ_DESC_FCOE_SOF_BITS 8 +#define CQ_ENET_RQ_DESC_FCOE_SOF_MASK \ + ((1 << CQ_ENET_RQ_DESC_FCOE_SOF_BITS) - 1) +#define CQ_ENET_RQ_DESC_FCOE_EOF_BITS 8 +#define CQ_ENET_RQ_DESC_FCOE_EOF_MASK \ + ((1 << CQ_ENET_RQ_DESC_FCOE_EOF_BITS) - 1) +#define CQ_ENET_RQ_DESC_FCOE_EOF_SHIFT 8 + +#define CQ_ENET_RQ_DESC_FLAGS_TCP_UDP_CSUM_OK (0x1 << 0) +#define CQ_ENET_RQ_DESC_FCOE_FC_CRC_OK (0x1 << 0) +#define CQ_ENET_RQ_DESC_FLAGS_UDP (0x1 << 1) +#define CQ_ENET_RQ_DESC_FCOE_ENC_ERROR (0x1 << 1) +#define CQ_ENET_RQ_DESC_FLAGS_TCP (0x1 << 2) +#define CQ_ENET_RQ_DESC_FLAGS_IPV4_CSUM_OK (0x1 << 3) +#define CQ_ENET_RQ_DESC_FLAGS_IPV6 (0x1 << 4) +#define CQ_ENET_RQ_DESC_FLAGS_IPV4 (0x1 << 5) +#define CQ_ENET_RQ_DESC_FLAGS_IPV4_FRAGMENT (0x1 << 6) +#define CQ_ENET_RQ_DESC_FLAGS_FCS_OK (0x1 << 7) + +static inline void cq_enet_rq_desc_enc(struct cq_enet_rq_desc *desc, + u8 type, u8 color, u16 q_number, u16 completed_index, + u8 ingress_port, u8 fcoe, u8 eop, u8 sop, u8 rss_type, u8 csum_not_calc, + u32 rss_hash, u16 bytes_written, u8 packet_error, u8 vlan_stripped, + u16 vlan, u16 checksum, u8 fcoe_sof, u8 fcoe_fc_crc_ok, + u8 fcoe_enc_error, u8 fcoe_eof, u8 tcp_udp_csum_ok, u8 udp, u8 tcp, + u8 ipv4_csum_ok, u8 ipv6, u8 ipv4, u8 ipv4_fragment, u8 fcs_ok) +{ + cq_desc_enc((struct cq_desc *)desc, type, + color, q_number, completed_index); + + desc->completed_index_flags |= cpu_to_le16( + (ingress_port ? CQ_ENET_RQ_DESC_FLAGS_INGRESS_PORT : 0) | + (fcoe ? CQ_ENET_RQ_DESC_FLAGS_FCOE : 0) | + (eop ? CQ_ENET_RQ_DESC_FLAGS_EOP : 0) | + (sop ? CQ_ENET_RQ_DESC_FLAGS_SOP : 0)); + + desc->q_number_rss_type_flags |= cpu_to_le16( + ((rss_type & CQ_ENET_RQ_DESC_RSS_TYPE_MASK) << + CQ_DESC_Q_NUM_BITS) | + (csum_not_calc ? CQ_ENET_RQ_DESC_FLAGS_CSUM_NOT_CALC : 0)); + + desc->rss_hash = cpu_to_le32(rss_hash); + + desc->bytes_written_flags = cpu_to_le16( + (bytes_written & CQ_ENET_RQ_DESC_BYTES_WRITTEN_MASK) | + (packet_error ? CQ_ENET_RQ_DESC_FLAGS_TRUNCATED : 0) | + (vlan_stripped ? CQ_ENET_RQ_DESC_FLAGS_VLAN_STRIPPED : 0)); + + desc->vlan = cpu_to_le16(vlan); + + if (fcoe) { + desc->checksum_fcoe = cpu_to_le16( + (fcoe_sof & CQ_ENET_RQ_DESC_FCOE_SOF_MASK) | + ((fcoe_eof & CQ_ENET_RQ_DESC_FCOE_EOF_MASK) << + CQ_ENET_RQ_DESC_FCOE_EOF_SHIFT)); + } else { + desc->checksum_fcoe = cpu_to_le16(checksum); + } + + desc->flags = + (tcp_udp_csum_ok ? CQ_ENET_RQ_DESC_FLAGS_TCP_UDP_CSUM_OK : 0) | + (udp ? CQ_ENET_RQ_DESC_FLAGS_UDP : 0) | + (tcp ? CQ_ENET_RQ_DESC_FLAGS_TCP : 0) | + (ipv4_csum_ok ? CQ_ENET_RQ_DESC_FLAGS_IPV4_CSUM_OK : 0) | + (ipv6 ? CQ_ENET_RQ_DESC_FLAGS_IPV6 : 0) | + (ipv4 ? CQ_ENET_RQ_DESC_FLAGS_IPV4 : 0) | + (ipv4_fragment ? CQ_ENET_RQ_DESC_FLAGS_IPV4_FRAGMENT : 0) | + (fcs_ok ? CQ_ENET_RQ_DESC_FLAGS_FCS_OK : 0) | + (fcoe_fc_crc_ok ? CQ_ENET_RQ_DESC_FCOE_FC_CRC_OK : 0) | + (fcoe_enc_error ? CQ_ENET_RQ_DESC_FCOE_ENC_ERROR : 0); +} + +static inline void cq_enet_rq_desc_dec(struct cq_enet_rq_desc *desc, + u8 *type, u8 *color, u16 *q_number, u16 *completed_index, + u8 *ingress_port, u8 *fcoe, u8 *eop, u8 *sop, u8 *rss_type, + u8 *csum_not_calc, u32 *rss_hash, u16 *bytes_written, u8 *packet_error, + u8 *vlan_stripped, u16 *vlan_tci, u16 *checksum, u8 *fcoe_sof, + u8 *fcoe_fc_crc_ok, u8 *fcoe_enc_error, u8 *fcoe_eof, + u8 *tcp_udp_csum_ok, u8 *udp, u8 *tcp, u8 *ipv4_csum_ok, + u8 *ipv6, u8 *ipv4, u8 *ipv4_fragment, u8 *fcs_ok) +{ + u16 completed_index_flags; + u16 q_number_rss_type_flags; + u16 bytes_written_flags; + + cq_desc_dec((struct cq_desc *)desc, type, + color, q_number, completed_index); + + completed_index_flags = le16_to_cpu(desc->completed_index_flags); + q_number_rss_type_flags = + le16_to_cpu(desc->q_number_rss_type_flags); + bytes_written_flags = le16_to_cpu(desc->bytes_written_flags); + + *ingress_port = (completed_index_flags & + CQ_ENET_RQ_DESC_FLAGS_INGRESS_PORT) ? 1 : 0; + *fcoe = (completed_index_flags & CQ_ENET_RQ_DESC_FLAGS_FCOE) ? + 1 : 0; + *eop = (completed_index_flags & CQ_ENET_RQ_DESC_FLAGS_EOP) ? + 1 : 0; + *sop = (completed_index_flags & CQ_ENET_RQ_DESC_FLAGS_SOP) ? + 1 : 0; + + *rss_type = (u8)((q_number_rss_type_flags >> CQ_DESC_Q_NUM_BITS) & + CQ_ENET_RQ_DESC_RSS_TYPE_MASK); + *csum_not_calc = (q_number_rss_type_flags & + CQ_ENET_RQ_DESC_FLAGS_CSUM_NOT_CALC) ? 1 : 0; + + *rss_hash = le32_to_cpu(desc->rss_hash); + + *bytes_written = bytes_written_flags & + CQ_ENET_RQ_DESC_BYTES_WRITTEN_MASK; + *packet_error = (bytes_written_flags & + CQ_ENET_RQ_DESC_FLAGS_TRUNCATED) ? 1 : 0; + *vlan_stripped = (bytes_written_flags & + CQ_ENET_RQ_DESC_FLAGS_VLAN_STRIPPED) ? 1 : 0; + + /* + * Tag Control Information(16) = user_priority(3) + cfi(1) + vlan(12) + */ + *vlan_tci = le16_to_cpu(desc->vlan); + + if (*fcoe) { + *fcoe_sof = (u8)(le16_to_cpu(desc->checksum_fcoe) & + CQ_ENET_RQ_DESC_FCOE_SOF_MASK); + *fcoe_fc_crc_ok = (desc->flags & + CQ_ENET_RQ_DESC_FCOE_FC_CRC_OK) ? 1 : 0; + *fcoe_enc_error = (desc->flags & + CQ_ENET_RQ_DESC_FCOE_ENC_ERROR) ? 1 : 0; + *fcoe_eof = (u8)((le16_to_cpu(desc->checksum_fcoe) >> + CQ_ENET_RQ_DESC_FCOE_EOF_SHIFT) & + CQ_ENET_RQ_DESC_FCOE_EOF_MASK); + *checksum = 0; + } else { + *fcoe_sof = 0; + *fcoe_fc_crc_ok = 0; + *fcoe_enc_error = 0; + *fcoe_eof = 0; + *checksum = le16_to_cpu(desc->checksum_fcoe); + } + + *tcp_udp_csum_ok = + (desc->flags & CQ_ENET_RQ_DESC_FLAGS_TCP_UDP_CSUM_OK) ? 1 : 0; + *udp = (desc->flags & CQ_ENET_RQ_DESC_FLAGS_UDP) ? 1 : 0; + *tcp = (desc->flags & CQ_ENET_RQ_DESC_FLAGS_TCP) ? 1 : 0; + *ipv4_csum_ok = + (desc->flags & CQ_ENET_RQ_DESC_FLAGS_IPV4_CSUM_OK) ? 1 : 0; + *ipv6 = (desc->flags & CQ_ENET_RQ_DESC_FLAGS_IPV6) ? 1 : 0; + *ipv4 = (desc->flags & CQ_ENET_RQ_DESC_FLAGS_IPV4) ? 1 : 0; + *ipv4_fragment = + (desc->flags & CQ_ENET_RQ_DESC_FLAGS_IPV4_FRAGMENT) ? 1 : 0; + *fcs_ok = (desc->flags & CQ_ENET_RQ_DESC_FLAGS_FCS_OK) ? 1 : 0; +} + +#endif /* _CQ_ENET_DESC_H_ */ diff --git a/sys/dev/enic/enic.h b/sys/dev/enic/enic.h new file mode 100644 index 000000000000..9d84ca6ecaf6 --- /dev/null +++ b/sys/dev/enic/enic.h @@ -0,0 +1,406 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright 2008-2017 Cisco Systems, Inc. All rights reserved. + * Copyright 2007 Nuova Systems, Inc. All rights reserved. + */ + +#include +__FBSDID("$FreeBSD: $"); + +#ifndef _ENIC_H +#define _ENIC_H + +#include +#include +#include +#include + +#include + +#include +#include +#include +#include + +#define u8 uint8_t +#define u16 uint16_t +#define u32 uint32_t +#define u64 uint64_t + +struct enic_bar_info { + struct resource *res; + bus_space_tag_t tag; + bus_space_handle_t handle; + bus_size_t size; + int rid; + int offset; +}; + +#define ENIC_BUS_WRITE_8(res, index, value) \ + bus_space_write_8(res->bar.tag, res->bar.handle, \ + res->bar.offset + (index), value) +#define ENIC_BUS_WRITE_4(res, index, value) \ + bus_space_write_4(res->bar.tag, res->bar.handle, \ + res->bar.offset + (index), value) +#define ENIC_BUS_WRITE_REGION_4(res, index, values, count) \ + bus_space_write_region_4(res->bar.tag, res->bar.handle, \ + res->bar.offset + (index), values, count); + +#define ENIC_BUS_READ_8(res, index) \ + bus_space_read_8(res->bar.tag, res->bar.handle, \ + res->bar.offset + (index)) +#define ENIC_BUS_READ_4(res, index) \ + bus_space_read_4(res->bar.tag, res->bar.handle, \ + res->bar.offset + (index)) +#define ENIC_BUS_READ_REGION_4(res, type, index, values, count) \ + bus_space_read_region_4(res->type.tag, res->type.handle, \ + res->type.offset + (index), values, count); + +struct vnic_res { + unsigned int count; + struct enic_bar_info bar; +}; + +#include "vnic_enet.h" +#include "vnic_dev.h" +#include "vnic_wq.h" +#include "vnic_rq.h" +#include "vnic_cq.h" +#include "vnic_intr.h" +#include "vnic_stats.h" +#include "vnic_nic.h" +#include "vnic_rss.h" +#include "enic_res.h" +#include "cq_enet_desc.h" + +#define ENIC_LOCK(_softc) mtx_lock(&(_softc)->enic_lock) +#define ENIC_UNLOCK(_softc) mtx_unlock(&(_softc)->enic_lock) + +#define DRV_NAME "enic" +#define DRV_DESCRIPTION "Cisco VIC Ethernet NIC" +#define DRV_COPYRIGHT "Copyright 2008-2015 Cisco Systems, Inc" + +#define ENIC_MAX_MAC_ADDR 64 + +#define VLAN_ETH_HLEN 18 + +#define ENICPMD_SETTING(enic, f) ((enic->config.flags & VENETF_##f) ? 1 : 0) + +#define ENICPMD_BDF_LENGTH 13 /* 0000:00:00.0'\0' */ +#define ENIC_CALC_IP_CKSUM 1 +#define ENIC_CALC_TCP_UDP_CKSUM 2 +#define ENIC_MAX_MTU 9000 +#define ENIC_PAGE_SIZE 4096 +#define PAGE_ROUND_UP(x) \ + ((((unsigned long)(x)) + ENIC_PAGE_SIZE-1) & (~(ENIC_PAGE_SIZE-1))) + +/* must be >= VNIC_COUNTER_DMA_MIN_PERIOD */ +#define VNIC_FLOW_COUNTER_UPDATE_MSECS 500 + +/* PCI IDs */ +#define CISCO_VENDOR_ID 0x1137 + +#define PCI_DEVICE_ID_CISCO_VIC_ENET 0x0043 /* ethernet vnic */ +#define PCI_DEVICE_ID_CISCO_VIC_ENET_VF 0x0071 /* enet SRIOV VF */ + +/* Special Filter id for non-specific packet flagging. Don't change value */ +#define ENIC_MAGIC_FILTER_ID 0xffff + +#define ENICPMD_FDIR_MAX 64 + +/* HW default VXLAN port */ +#define ENIC_DEFAULT_VXLAN_PORT 4789 + +/* + * Interrupt 0: LSC and errors + * Interrupt 1: rx queue 0 + * Interrupt 2: rx queue 1 + * ... + */ +#define ENICPMD_LSC_INTR_OFFSET 0 +#define ENICPMD_RXQ_INTR_OFFSET 1 + +#include "vnic_devcmd.h" + +enum vnic_proxy_type { + PROXY_NONE, + PROXY_BY_BDF, + PROXY_BY_INDEX, +}; + +struct vnic_intr_coal_timer_info { + u32 mul; + u32 div; + u32 max_usec; +}; + +struct enic_softc; +struct vnic_dev { + void *priv; + struct rte_pci_device *pdev; + struct vnic_res res[RES_TYPE_MAX]; + enum vnic_dev_intr_mode intr_mode; + struct vnic_res __iomem *devcmd; + struct vnic_devcmd_notify *notify; + struct vnic_devcmd_notify notify_copy; + bus_addr_t notify_pa; + struct iflib_dma_info notify_res; + u32 notify_sz; + struct iflib_dma_info linkstatus_res; + struct vnic_stats *stats; + struct iflib_dma_info stats_res; + struct vnic_devcmd_fw_info *fw_info; + struct iflib_dma_info fw_info_res; + enum vnic_proxy_type proxy; + u32 proxy_index; + u64 args[VNIC_DEVCMD_NARGS]; + int in_reset; + struct vnic_intr_coal_timer_info intr_coal_timer_info; + void *(*alloc_consistent)(void *priv, size_t size, + bus_addr_t *dma_handle, struct iflib_dma_info *res, u8 *name); + void (*free_consistent)(void *priv, size_t size, void *vaddr, + bus_addr_t dma_handle, struct iflib_dma_info *res); + struct vnic_counter_counts *flow_counters; + struct iflib_dma_info flow_counters_res; + u8 flow_counters_dma_active; + struct enic_softc *softc; +}; + +struct enic_soft_stats { + uint64_t rx_nombuf; + uint64_t rx_packet_errors; + uint64_t tx_oversized; +}; + +struct intr_queue { + struct if_irq intr_irq; + struct resource *res; + int rid; + struct enic_softc *softc; +}; + +struct enic { + struct enic *next; + struct rte_pci_device *pdev; + struct vnic_enet_config config; + struct vnic_dev_bar bar0; + struct vnic_dev *vdev; + + /* + * mbuf_initializer contains 64 bits of mbuf rearm_data, used by + * the avx2 handler at this time. + */ + uint64_t mbuf_initializer; + unsigned int port_id; + bool overlay_offload; + char bdf_name[ENICPMD_BDF_LENGTH]; + int dev_fd; + int iommu_group_fd; + int iommu_groupid; + int eventfd; + uint8_t mac_addr[ETH_ALEN]; + pthread_t err_intr_thread; + u8 ig_vlan_strip_en; + int link_status; + u8 hw_ip_checksum; + u16 max_mtu; + u8 adv_filters; + u32 flow_filter_mode; + u8 filter_actions; /* HW supported actions */ + bool vxlan; + bool disable_overlay; /* devargs disable_overlay=1 */ + uint8_t enable_avx2_rx; /* devargs enable-avx2-rx=1 */ + bool nic_cfg_chk; /* NIC_CFG_CHK available */ + bool udp_rss_weak; /* Bodega style UDP RSS */ + uint8_t ig_vlan_rewrite_mode; /* devargs ig-vlan-rewrite */ + uint16_t vxlan_port; /* current vxlan port pushed to NIC */ + + unsigned int flags; + unsigned int priv_flags; + + /* work queue (len = conf_wq_count) */ + struct vnic_wq *wq; + unsigned int wq_count; /* equals eth_dev nb_tx_queues */ + + /* receive queue (len = conf_rq_count) */ + struct vnic_rq *rq; + unsigned int rq_count; /* equals eth_dev nb_rx_queues */ + + /* completion queue (len = conf_cq_count) */ + struct vnic_cq *cq; + unsigned int cq_count; /* equals rq_count + wq_count */ + + /* interrupt vectors (len = conf_intr_count) */ + struct vnic_intr *intr; + struct intr_queue *intr_queues;; + unsigned int intr_count; /* equals enabled interrupts (lsc + rxqs) */ + + + /* software counters */ + struct enic_soft_stats soft_stats; + + /* configured resources on vic */ + unsigned int conf_rq_count; + unsigned int conf_wq_count; + unsigned int conf_cq_count; + unsigned int conf_intr_count; + + /* linked list storing memory allocations */ + LIST_HEAD(enic_memzone_list, enic_memzone_entry) memzone_list; + + LIST_HEAD(enic_flows, rte_flow) flows; + int max_flow_counter; + + /* RSS */ + uint16_t reta_size; + uint8_t hash_key_size; + uint64_t flow_type_rss_offloads; /* 0 indicates RSS not supported */ + /* + * Keep a copy of current RSS config for queries, as we cannot retrieve + * it from the NIC. + */ + uint8_t rss_hash_type; /* NIC_CFG_RSS_HASH_TYPE flags */ + uint8_t rss_enable; + uint64_t rss_hf; /* ETH_RSS flags */ + union vnic_rss_key rss_key; + union vnic_rss_cpu rss_cpu; + + uint64_t rx_offload_capa; /* DEV_RX_OFFLOAD flags */ + uint64_t tx_offload_capa; /* DEV_TX_OFFLOAD flags */ + uint64_t tx_queue_offload_capa; /* DEV_TX_OFFLOAD flags */ + uint64_t tx_offload_mask; /* PKT_TX flags accepted */ + struct enic_softc *softc; + int port_mtu; +}; + +struct enic_softc { + device_t dev; + if_ctx_t ctx; + if_softc_ctx_t scctx; + if_shared_ctx_t sctx; + struct ifmedia *media; + struct ifnet *ifp; + + struct mtx enic_lock; + + struct enic_bar_info mem; + struct enic_bar_info io; + + struct vnic_dev vdev; + struct enic enic; + + int ntxqsets; + int nrxqsets; + + struct if_irq enic_event_intr_irq; + struct if_irq enic_err_intr_irq; + uint8_t lladdr[ETHER_ADDR_LEN]; + int link_active; + int stopped; + uint8_t mac_addr[ETHER_ADDR_LEN]; + + int directed; + int multicast; + int broadcast; + int promisc; + int allmulti; + + u_int mc_count; + uint8_t *mta; +}; + +/* Per-instance private data structure */ + +static inline unsigned int enic_vnic_rq_count(struct enic *enic) +{ + return enic->rq_count; +} + +static inline unsigned int enic_cq_rq(struct enic *enic, unsigned int rq) +{ + return rq; +} + +static inline unsigned int enic_cq_wq(struct enic *enic, unsigned int wq) +{ + return enic->rq_count + wq; +} + +static inline uint32_t +enic_ring_add(uint32_t n_descriptors, uint32_t i0, uint32_t i1) +{ + uint32_t d = i0 + i1; + d -= (d >= n_descriptors) ? n_descriptors : 0; + return d; +} + +static inline uint32_t +enic_ring_sub(uint32_t n_descriptors, uint32_t i0, uint32_t i1) +{ + int32_t d = i1 - i0; + return (uint32_t)((d < 0) ? ((int32_t)n_descriptors + d) : d); +} + +static inline uint32_t +enic_ring_incr(uint32_t n_descriptors, uint32_t idx) +{ + idx++; + if (unlikely(idx == n_descriptors)) + idx = 0; + return idx; +} + +void enic_free_wq(void *txq); +int enic_alloc_intr_resources(struct enic *enic); +int enic_setup_finish(struct enic *enic); +int enic_alloc_wq(struct enic *enic, uint16_t queue_idx, + unsigned int socket_id, uint16_t nb_desc); +void enic_start_wq(struct enic *enic, uint16_t queue_idx); +int enic_stop_wq(struct enic *enic, uint16_t queue_idx); +void enic_start_rq(struct enic *enic, uint16_t queue_idx); +void enic_free_rq(void *rxq); +int enic_set_vnic_res(struct enic *enic); +int enic_init_rss_nic_cfg(struct enic *enic); +int enic_set_rss_reta(struct enic *enic, union vnic_rss_cpu *rss_cpu); +int enic_set_vlan_strip(struct enic *enic); +int enic_enable(struct enic *enic); +int enic_disable(struct enic *enic); +void enic_remove(struct enic *enic); +int enic_get_link_status(struct enic *enic); +void enic_dev_stats_clear(struct enic *enic); +void enic_add_packet_filter(struct enic *enic); +int enic_set_mac_address(struct enic *enic, uint8_t *mac_addr); +int enic_del_mac_address(struct enic *enic, int mac_index); +unsigned int enic_cleanup_wq(struct enic *enic, struct vnic_wq *wq); + +void enic_post_wq_index(struct vnic_wq *wq); +int enic_probe(struct enic *enic); +int enic_clsf_init(struct enic *enic); +void enic_clsf_destroy(struct enic *enic); +int enic_set_mtu(struct enic *enic, uint16_t new_mtu); +int enic_link_update(struct enic *enic); +bool enic_use_vector_rx_handler(struct enic *enic); +void enic_fdir_info(struct enic *enic); +void enic_prep_wq_for_simple_tx(struct enic *, uint16_t); + +struct enic_ring { + uint64_t paddr; + caddr_t vaddr; + struct enic_softc *softc; + uint32_t ring_size; /* Must be a power of two */ + uint16_t id; /* Logical ID */ + uint16_t phys_id; +}; + +struct enic_cp_ring { + struct enic_ring ring; + struct if_irq irq; + uint32_t cons; + bool v_bit; /* Value of valid bit */ + struct ctx_hw_stats *stats; + uint32_t stats_ctx_id; + uint32_t last_idx; /* Used by RX rings only + * set to the last read pidx + */ +}; + +#endif /* _ENIC_H_ */ diff --git a/sys/dev/enic/enic_compat.h b/sys/dev/enic/enic_compat.h new file mode 100644 index 000000000000..d5a10f94febb --- /dev/null +++ b/sys/dev/enic/enic_compat.h @@ -0,0 +1,65 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright 2008-2017 Cisco Systems, Inc. All rights reserved. + * Copyright 2007 Nuova Systems, Inc. All rights reserved. + */ + +#ifndef _ENIC_COMPAT_H_ +#define _ENIC_COMPAT_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#define ETH_ALEN ETHER_ADDR_LEN + +#define typeof __typeof__ +#define __iomem +#define unlikely(x) __builtin_expect((x),0) + +#define le16_to_cpu +#define le32_to_cpu +#define le64_to_cpu +#define cpu_to_le16 +#define cpu_to_le32 +#define cpu_to_le64 + +#define pr_err(y, args...) dev_err(0, y, ##args) +#define pr_warn(y, args...) dev_warning(0, y, ##args) +#define BUG() pr_err("BUG at %s:%d", __func__, __LINE__) + +#define VNIC_ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1) +#define __ALIGN_MASK(x, mask) (((x)+(mask))&~(mask)) *** 6151 LINES SKIPPED *** From nobody Mon Feb 6 17:01:10 2023 X-Original-To: dev-commits-src-main@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 4P9XbH0hYNz3mwhn; Mon, 6 Feb 2023 17:01:15 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9XbH0DC5z4P0Z; Mon, 6 Feb 2023 17:01:15 +0000 (UTC) (envelope-from bapt@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675702875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xInONE4A2tdtabhPYPRWMinaoUH/EcxAIZy70tqb8fw=; b=i7HXADfwxc47au8zuS9K8uiesciw/OST9mzCNRbG9yjQ/0APQ+fMN6COkmW8no7CmrRi1P SG5ElkBlfUKBimDUVn6gwNEDZHDwdoK32/Hk1C0N+Q9eFAESZYkCMeGBJ8MoMx5uuZG42J TayO8X5jhwoIv5Gv4r8KuBcpXHRYmVIzQPyA3/uV86FMx7734/8a/BWQ9BWTgo30QpbZAL uOtNmqUJ2WDVcnzDxW3jsUl3sQmnm9vNc3zKrPseui2n72jP1gGjadgEC5b4nYT086IzMg EKFQJjbTWERFajUYElk96jp880vwvgbAvnf5GlRVJOy+Vt2m/b9RJ8E0HijOdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675702875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xInONE4A2tdtabhPYPRWMinaoUH/EcxAIZy70tqb8fw=; b=P5UhHsAEpAuutp+q5LMoPH4flKtjCmlKzdE/Rku1Jxj2oYH80f/UR0m4a8w8264Dq5rn/x JT55bzTxqRYKa8a6lciX/FdlWYiNxIxlr/Va366LQqbs/jRSugIJVsNglsAwgy6ZpIcsWZ ltP4pr5Gx0fGuzfETuIzxvQNlPltFFkFcxXUZXMPeCbc60P2EoOkAnPNOmhCuPWILbTSZP 6TnCcCRPLSQ5XxOWY5Laj/zWsFQqN4rx4PCvLD8xedZJdHvu9wboU0VBNYaV9tPVn0G2JX ig9oSQcxHJddv1fAA+QiK4KkpBFvqlH3Vs9UndSoeNyWwXWkn+Zs4ttqc++vlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675702875; a=rsa-sha256; cv=none; b=t0DeZPcLSQw7QqGNS76UmjnfqqK601x41denBmBI37t/WsAtfaNWKZ4+pGEIx7dlOl5ST2 7cYoWK16lvrDBIv7J8up+opnLTwLWM6BxmC9PS9aCQpQCMi0LQCo6A72wBLjYcdYqN4KHO +LtW/zRQifnOYbGwyn9dAPqVPcpt4UiAXnTzgI3rUnYb6/ZbU+4KHGbZQOIYOG//GbW5aM 7sgTHXXlhN6W+h0uMdjvqjym0FqUCaLHytI/fAh0+q+1f7aMRFWqHhr83xsa5Nqe2gN+BR SjxHtK2vmFR/el+876cHQTVESrLib0NHbPbQJKMTXdPO1xxrfen+BFX5pZn9MQ== Received: from aniel.nours.eu (nours.eu [176.31.115.77]) (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) (Authenticated sender: bapt) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P9XbG5g9Jz1LfV; Mon, 6 Feb 2023 17:01:14 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: by aniel.nours.eu (Postfix, from userid 1001) id 2929511A8C1; Mon, 6 Feb 2023 18:01:10 +0100 (CET) Date: Mon, 6 Feb 2023 18:01:10 +0100 From: Baptiste Daroussin To: Dag-Erling =?utf-8?B?U23DuHJncmF2?= Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: baff81958c8e - main - libedit: update to snapshot 2023-01-06 Message-ID: <20230206170110.cbupljbyxxlriteq@aniel.nours.eu> References: <202302061326.316DQU8V086009@gitrepo.freebsd.org> <86mt5qzqy2.fsf@ltc.des.no> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <86mt5qzqy2.fsf@ltc.des.no> X-ThisMailContainsUnwantedMimeParts: N On Mon, Feb 06, 2023 at 05:41:57PM +0100, Dag-Erling Smørgrav wrote: > Baptiste Daroussin writes: > > The branch main has been updated by bapt: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=baff81958c8efef2a44f4b769743eeb7101bee9e > > > > commit baff81958c8efef2a44f4b769743eeb7101bee9e > > Merge: 0126bd3e6ca4 5a36c8261410 > > Author: Baptiste Daroussin > > AuthorDate: 2023-02-06 13:25:06 +0000 > > Commit: Baptiste Daroussin > > CommitDate: 2023-02-06 13:25:06 +0000 > > > > libedit: update to snapshot 2023-01-06 > > > > MFC atfer: 1 week > > Sorry, this was me accidentally pushing the wrong working copy. No harm > done, I hope. I also managed to misspell “after” and forgot to note > that my part of this work (committed upstream) was sponsored by Klara. > > DES > -- > Dag-Erling Smørgrav - des@FreeBSD.org Nope nope, my mistakes are mine, I did all the mistake you do claim you have done. Sorry about that. Bapt From nobody Mon Feb 6 17:03:58 2023 X-Original-To: dev-commits-src-main@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 4P9XfR0PLQz3mx6b; Mon, 6 Feb 2023 17:03: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9XfQ6xPcz4Pg1; Mon, 6 Feb 2023 17:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675703039; 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=9ND0xVSBz+tNsvbd4sBoZDzUP0rH3Mt1Ow2fljS7+0w=; b=qQjfCKQkBkhfW2qevYYUBbpzeip5D8Y6JUNR2yh7CMyQL+hLTXJGxawHwTD+rR+PSclNWf DSTGe01E5HMbCvfgqq5VFAkTJrbVhAielkVKhvoNcJSYsqa1u3Nw2WEVj+SQ642yXk1zux TFyaPQK/Xj1KCWnFSKiOW88tCEa50T/kotrr1DgDfyVYBRITZ4jBPEBxt+8j/NpLsQjCBl FMcoRv1b8h+9yFMb02qD9x9t9RYH7T6vuVvchPNcyjNMUxVYuwATWt2HDYcS97Lcr3pzAM m6aXLuUPzng96gDscZz/BX/+MKCBVhdJ4KC7JlUlHAFP+RxM276fhsdacAlZOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675703039; 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=9ND0xVSBz+tNsvbd4sBoZDzUP0rH3Mt1Ow2fljS7+0w=; b=qMUxfnASv005TUTZRntQQLvxNxjqhnTnfnGPVR5onEtfqsFQklAdqK580E9tsR/QTCL7Zh csTUxRU9O9eOYAGGWaYkuXnF38QqcqO7PAsUOLMqqTvXp1cjRRR136TQeQoaKDQ2OSApIn xXlyQKS8kaOCbvbWjOPuAt/1KbRyi8QXzZi4Y6ChSTTx36fHkzOfKIsQKbt9b+PPV1kuxO 5lRAdZbdaq+UCj3oggZCoyi16ENBTgDBKSUNFFf2/DMOopmPamch13rtlxkTJ2hBW8ET7Z Jf1zJ5QoQJ04DNQ25YZ8pDf9bBpwW+SpWJc9w7bq1mHMMIdbLbdnBvxbGtOYZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675703039; a=rsa-sha256; cv=none; b=uCrTTdqcPkeiWk0WQqgJC5fbwVmiD6vOpw1+GTOGPdS3AOQHxZ0a9ql0cZ/NZpG+Tu0Yfn 72oGPpzuImQZJ0Lc4LHvIR+AbEGhUuBXiaMgC20hGObwckO0AcvPosV6T7/znv7NgIVzUI z2n69crnGcAgSmEK85//O/GZ3xmYBYnRXvLZzbda3grAj1neH6nczQLhC4X/Zw28Haiyzw sOIhseMDuMpAOEx8TNGuaTae5b8C5KV1D69kIqiKkA6cTEsibBDV+pcqkAd2H6EdNKcFf1 ojIHeLIpum/Ovl+B7ah7W6RYVGtbXMw2oODOgXLr4wBKj2yxmF6jgk42IWlptA== 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 4P9XfQ60WKzjJM; Mon, 6 Feb 2023 17:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316H3wVg002128; Mon, 6 Feb 2023 17:03:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316H3w21002127; Mon, 6 Feb 2023 17:03:58 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:03:58 GMT Message-Id: <202302061703.316H3w21002127@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 6680cfe8e0ee - main - sha512_224: Fix SHA512_224_Final() on little-endian machines. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 6680cfe8e0eec4427716ab50d73ab8231dd9ab28 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=6680cfe8e0eec4427716ab50d73ab8231dd9ab28 commit 6680cfe8e0eec4427716ab50d73ab8231dd9ab28 Author: Sebastian Huber AuthorDate: 2023-02-06 16:57:28 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-06 17:02:49 +0000 sha512_224: Fix SHA512_224_Final() on little-endian machines. PR: 266863 MFC after: 1 week Reviewed by: allanjude, cperciva, des Differential Revision: https://reviews.freebsd.org/D38372 --- sys/crypto/sha2/sha512c.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sys/crypto/sha2/sha512c.c b/sys/crypto/sha2/sha512c.c index f18a7e6fa994..4533632500f2 100644 --- a/sys/crypto/sha2/sha512c.c +++ b/sys/crypto/sha2/sha512c.c @@ -60,23 +60,26 @@ __FBSDID("$FreeBSD$"); #else /* BYTE_ORDER != BIG_ENDIAN */ /* - * Encode a length len/4 vector of (uint64_t) into a length len vector of - * (unsigned char) in big-endian form. Assumes len is a multiple of 8. + * Encode a length (len + 7) / 8 vector of (uint64_t) into a length len + * vector of (unsigned char) in big-endian form. Assumes len is a + * multiple of 4. */ -static void +static inline void be64enc_vect(unsigned char *dst, const uint64_t *src, size_t len) { size_t i; for (i = 0; i < len / 8; i++) be64enc(dst + i * 8, src[i]); + if (len % 8 == 4) + be32enc(dst + i * 8, src[i] >> 32); } /* * Decode a big-endian length len vector of (unsigned char) into a length - * len/4 vector of (uint64_t). Assumes len is a multiple of 8. + * len/8 vector of (uint64_t). Assumes len is a multiple of 8. */ -static void +static inline void be64dec_vect(uint64_t *dst, const unsigned char *src, size_t len) { size_t i; From nobody Mon Feb 6 17:03:59 2023 X-Original-To: dev-commits-src-main@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 4P9XfS115Lz3mx07; Mon, 6 Feb 2023 17:04: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9XfS0WHMz4PW4; Mon, 6 Feb 2023 17:04:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675703040; 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=90Ke1VKkgVQqLCJd1h46yxEyTT0XzWZEfDuAu5n5yOU=; b=XK1RfFHbXp7VXHLqYW0qczLmSJ5S69S/BTKf0gJpvFgywh0YpGA03oo3UxP4WPHXhPm6uD 2ksIpC65JnqFSpk9/NkLp5+aM421m8Nyjhxq5t56nATLq/XYnl69G3ILOdtdeKKiqZ2Kxs KQEJ6ySnCUnnTqKnfGkUcITK7gt/LJAq68FNBIj82pf4BtqFypTvpZY/V5D2k9NALmfvBJ oxGj1d0Q187WOQA8WvLgjd1xs7noKKc1iY76KeqY4/W5MdU+gwMNqTKEbSQH/PPHQSs2BZ caIsCL9NxbradgtElKOn1mwopLRDjAUaSWpdFjTTPzLII/S9mcp1jitNa/rSzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675703040; 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=90Ke1VKkgVQqLCJd1h46yxEyTT0XzWZEfDuAu5n5yOU=; b=i+BPA3HbwJalzhyujh0ku94k4dV9dOcjS7KJ48WUbqAz6O41P2PxzPDK+Rp/V4jnMgdGf/ kufkb1W4W802wtPETLvKaoggPk6d3rTk65tA/KfbDzr+bK6yaZ6Gj41TZe2Ie4kxWqTJba AH/wNmA251qHMoyT/RexNQJLLxU89WBjQFGXX3JdYBC9iGiZHfBX3ODIFMaD6KBh4Ot/EA 1canD7/O4v7eQuZpIADIlYyn/SDX4d+hyBZQ73kcxynXyHe4RglUn2I72Nm4ZVHOsR+J71 pSa85pHQuT3+wO4CJiga+j6hLEggff6GZZwBvZvBlPOmtpxXXzX3VqE3pueM3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675703040; a=rsa-sha256; cv=none; b=pzp6glSAJf0BMAkQMHiC1h7uUGipywM6oy0h1Qbov2evHBxr/xC8gjSHbkT4XwNifRiBiW APwjFDhYZ2AvJE7FVMTBH7Hq+P60C1OM1YmHl95e/y3trF30r3Y6XSvf8WPU93zpXu5xhU +XueaC2+IH00TQRskbi96rvkzL2bI/5v86r+i1pVjXAma77pPyo8RV8goYEy3J6Caav4yQ hqW5JWRP59GjDJ8WfZRboWTmPvfg4J/S5hxVdgwT2xr3lQoJxIluAy7KnWQvZeheM5kCY0 8CyINTAS1CsfWrOaeKdsdDQmv+hYuDCM7cvmPI/iMDXTNCpd3RTaK4cwlv/ITA== 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 4P9XfR6jYRzjJN; Mon, 6 Feb 2023 17:03:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316H3xqd002160; Mon, 6 Feb 2023 17:03:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316H3xkY002159; Mon, 6 Feb 2023 17:03:59 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:03:59 GMT Message-Id: <202302061703.316H3xkY002159@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 2768d7056727 - main - libmd / md5: Add SHA-512/224. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 2768d7056727c414241ebc4b9d26e62dd5460760 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=2768d7056727c414241ebc4b9d26e62dd5460760 commit 2768d7056727c414241ebc4b9d26e62dd5460760 Author: Dag-Erling Smørgrav AuthorDate: 2023-02-06 16:57:36 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-06 17:03:04 +0000 libmd / md5: Add SHA-512/224. While there, remove .Tn from man pages. Also remove an obsolete comment about the 80386. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans, allanjude Differential Revision: https://reviews.freebsd.org/D38373 --- lib/libmd/Makefile | 40 +++++++++++++++++++++--- lib/libmd/mdX.3 | 10 ++---- lib/libmd/ripemd.3 | 7 ++--- lib/libmd/sha.3 | 37 +++++----------------- lib/libmd/sha256.3 | 7 ++--- lib/libmd/sha512.3 | 54 ++++++++++++++++++++++++++------- lib/libmd/shadriver.c | 3 ++ lib/libmd/skein.3 | 3 +- sbin/md5/Makefile | 4 +++ sbin/md5/md5.1 | 21 ++++++++----- sbin/md5/md5.c | 17 ++++++++++- sbin/md5/tests/algorithms.txt | 1 + sbin/md5/tests/self-test.sha512t224.chk | 9 ++++++ sbin/md5/tests/sha512t224.digest | 8 +++++ sbin/md5/tests/sha512t224sum.digest | 8 +++++ 15 files changed, 156 insertions(+), 73 deletions(-) diff --git a/lib/libmd/Makefile b/lib/libmd/Makefile index 8d3a05279004..94f38732872c 100644 --- a/lib/libmd/Makefile +++ b/lib/libmd/Makefile @@ -13,7 +13,7 @@ SRCS= md4c.c md5c.c md4hl.c md5hl.c \ sha0c.c sha0hl.c sha1c.c sha1hl.c \ sha224hl.c sha256c.c sha256hl.c \ sha384hl.c \ - sha512c.c sha512hl.c sha512thl.c \ + sha512c.c sha512hl.c sha512t224hl.c sha512t256hl.c \ skein.c skein_block.c \ skein256hl.c skein512hl.c skein1024hl.c INCS= md4.h md5.h ripemd.h sha.h sha224.h sha256.h sha384.h sha512.h \ @@ -54,6 +54,10 @@ MLINKS+=sha512.3 SHA512_Init.3 sha512.3 SHA512_Update.3 MLINKS+=sha512.3 SHA512_Final.3 sha512.3 SHA512_End.3 MLINKS+=sha512.3 SHA512_File.3 sha512.3 SHA512_FileChunk.3 MLINKS+=sha512.3 SHA512_Data.3 +MLINKS+=sha512.3 SHA512_224_Init.3 sha512.3 SHA512_224_Update.3 +MLINKS+=sha512.3 SHA512_224_Final.3 sha512.3 SHA512_224_End.3 +MLINKS+=sha512.3 SHA512_224_File.3 sha512.3 SHA512_224_FileChunk.3 +MLINKS+=sha512.3 SHA512_224_Data.3 MLINKS+=sha512.3 SHA512_256_Init.3 sha512.3 SHA512_256_Update.3 MLINKS+=sha512.3 SHA512_256_Final.3 sha512.3 SHA512_256_End.3 MLINKS+=sha512.3 SHA512_256_File.3 sha512.3 SHA512_256_FileChunk.3 @@ -76,7 +80,9 @@ CLEANFILES+= md[245]hl.c md[245].ref md[245].3 mddriver \ sha0.ref sha0hl.c sha1.ref sha1hl.c shadriver \ sha224.ref sha256.ref sha224hl.c sha256hl.c \ sha384hl.c sha384.ref \ - sha512.ref sha512hl.c sha512t256.ref sha512thl.c \ + sha512.ref sha512hl.c \ + sha512t224.ref sha512t224hl.c \ + sha512t256.ref sha512t256hl.c \ skein256hl.c skein512hl.c skein1024hl.c \ skein256.ref skein512.ref skein1024.ref \ skeindriver @@ -184,7 +190,14 @@ sha512hl.c: mdXhl.c -e 's/SHA512__/SHA512_/g' \ ${.ALLSRC}) > ${.TARGET} -sha512thl.c: mdXhl.c +sha512t224hl.c: mdXhl.c + (echo '#define LENGTH 28'; \ + sed -e 's/mdX/sha512t/g' -e 's/MDX/SHA512_224_/g' \ + -e 's/SHA512_224__/SHA512_224_/g' \ + -e 's/SHA512_224_CTX/SHA512_CTX/g' \ + ${.ALLSRC}) > ${.TARGET} + +sha512t256hl.c: mdXhl.c (echo '#define LENGTH 32'; \ sed -e 's/mdX/sha512t/g' -e 's/MDX/SHA512_256_/g' \ -e 's/SHA512_256__/SHA512_256_/g' \ @@ -328,6 +341,21 @@ sha512.ref: @echo 'SHA-512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ '72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843' >> ${.TARGET} +sha512t224.ref: + echo 'SHA-512224 test suite:' > ${.TARGET} + @echo 'SHA-512224 ("") =' \ + '6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4' >> ${.TARGET} + @echo 'SHA-512224 ("abc") =' \ + '4634270f707b6a54daae7530460842e20e37ed265ceee9a43e8924aa' >> ${.TARGET} + @echo 'SHA-512224 ("message digest") =' \ + 'ad1a4db188fe57064f4f24609d2a83cd0afb9b398eb2fcaeaae2c564' >> ${.TARGET} + @echo 'SHA-512224 ("abcdefghijklmnopqrstuvwxyz") =' \ + 'ff83148aa07ec30655c1b40aff86141c0215fe2a54f767d3f38743d8' >> ${.TARGET} + @echo 'SHA-512224 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ + 'a8b4b9174b99ffc67d6f49be9981587b96441051e16e6dd036b140d3' >> ${.TARGET} + @echo 'SHA-512224 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ + 'ae988faaa47e401a45f704d1272d99702458fea2ddc6582827556dd2' >> ${.TARGET} + sha512t256.ref: echo 'SHA-512256 test suite:' > ${.TARGET} @echo 'SHA-512256 ("") =' \ @@ -400,7 +428,7 @@ skein1024.ref: 'cf21a613620e6c119eca31fdfaad449a8e02f95ca256c21d2a105f8e4157048f9fe1e897893ea18b64e0e37cb07d5ac947f27ba544caf7cbc1ad094e675aed77a366270f7eb7f46543bccfa61c526fd628408058ed00ed566ac35a9761d002e629c4fb0d430b2f4ad016fcc49c44d2981c4002da0eecc42144160e2eaea4855a' >> ${.TARGET} test: md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha224.ref sha256.ref sha384.ref \ - sha512.ref sha512t256.ref skein256.ref skein512.ref skein1024.ref + sha512.ref sha512t224.ref sha512t256.ref skein256.ref skein512.ref skein1024.ref @${ECHO} if any of these test fail, the code produces wrong results @${ECHO} and should NOT be used. ${CC} ${CFLAGS} ${LDFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c libmd.a @@ -432,6 +460,10 @@ test: md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha224.ref sha256.ref sha384. ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512 -o shadriver ${.CURDIR}/shadriver.c libmd.a ./shadriver | cmp sha512.ref - @${ECHO} SHA-512 passed test + ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512224 -o shadriver ${.CURDIR}/shadriver.c libmd.a + ./shadriver | cmp sha512t224.ref - + @${ECHO} SHA-512t224 passed test + -rm -f shadriver ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512256 -o shadriver ${.CURDIR}/shadriver.c libmd.a ./shadriver | cmp sha512t256.ref - @${ECHO} SHA-512t256 passed test diff --git a/lib/libmd/mdX.3 b/lib/libmd/mdX.3 index 5631e2d7a1fc..e9462267ddfb 100644 --- a/lib/libmd/mdX.3 +++ b/lib/libmd/mdX.3 @@ -95,8 +95,7 @@ function is a wrapper for .Fn MDXFinal which converts the return value to a 33-character (including the terminating '\e0') -.Tn ASCII -string which represents the 128 bits in hexadecimal. +ASCII string which represents the 128 bits in hexadecimal. .Pp The .Fn MDXFile @@ -201,15 +200,12 @@ These functions appeared in .Fx 2.0 . .Sh AUTHORS The original MDX routines were developed by -.Tn RSA -Data Security, Inc., and published in the above references. +RSA Data Security, Inc., and published in the above references. This code is derived directly from these implementations by .An Poul-Henning Kamp Aq Mt phk@FreeBSD.org . .Pp Phk ristede runen. .Sh BUGS -The -.Tn MD5 -algorithm has been proven to be vulnerable to practical collision +The MD5 algorithm has been proven to be vulnerable to practical collision attacks and should not be relied upon to produce unique outputs, .Em nor should they be used as part of a cryptographic signature scheme. diff --git a/lib/libmd/ripemd.3 b/lib/libmd/ripemd.3 index 5b1ba8d62e5c..b8d3978056c7 100644 --- a/lib/libmd/ripemd.3 +++ b/lib/libmd/ripemd.3 @@ -75,8 +75,7 @@ function is a wrapper for .Fn RIPEMD160_Final which converts the return value to a 41-character (including the terminating '\e0') -.Tn ASCII -string which represents the 160 bits in hexadecimal. +ASCII string which represents the 160 bits in hexadecimal. .Pp The .Fn RIPEMD160_File @@ -156,9 +155,7 @@ These functions appeared in .Fx 4.0 . .Sh AUTHORS The core hash routines were implemented by Eric Young based on the -published -.Tn RIPEMD160 -specification. +published RIPEMD160 specification. .Sh BUGS No method is known to exist which finds two files having the same hash value, nor to find a file with a specific hash value. diff --git a/lib/libmd/sha.3 b/lib/libmd/sha.3 index c629de77f692..8573896d95d8 100644 --- a/lib/libmd/sha.3 +++ b/lib/libmd/sha.3 @@ -9,7 +9,7 @@ .\" From: Id: mdX.3,v 1.14 1999/02/11 20:31:49 wollman Exp .\" $FreeBSD$ .\" -.Dd May 21, 2019 +.Dd February 6, 2023 .Dt SHA 3 .Os .Sh NAME @@ -76,16 +76,9 @@ a .Dq fingerprint of the input-data, which does not disclose the actual input. .Pp -.Tn SHA -(or -.Tn SHA-0 ) -is the original Secure Hash Algorithm specified in -.Tn FIPS -160. -It was quickly proven insecure, and has been superseded by -.Tn SHA-1 . -.Tn SHA-0 -is included for compatibility purposes only. +SHA (or SHA-0) is the original Secure Hash Algorithm specified in FIPS 160. +It was quickly proven insecure, and has been superseded by SHA-1. +SHA-0 is included for compatibility purposes only. .Pp The .Fn SHA1_Init , @@ -109,8 +102,7 @@ is a wrapper for .Fn SHA1_Final which converts the return value to a 41-character (including the terminating '\e0') -.Tn ASCII -string which represents the 160 bits in hexadecimal. +ASCII string which represents the 160 bits in hexadecimal. .Pp .Fn SHA1_File calculates the digest of a file, and uses @@ -188,23 +180,8 @@ These functions appeared in .Sh AUTHORS The core hash routines were implemented by Eric Young based on the published -.Tn FIPS -standards. +FIPS standards. .Sh BUGS -The -.Tn SHA1 -algorithm has been proven to be vulnerable to practical collision +The SHA1 algorithm has been proven to be vulnerable to practical collision attacks and should not be relied upon to produce unique outputs, .Em nor should it be used as part of a new cryptographic signature scheme. -.Pp -The -.Tn IA32 -(Intel) implementation of -.Tn SHA-1 -makes heavy use of the -.Ql bswapl -instruction, which is not present on the original 80386. -Attempts to use -.Tn SHA-1 -on those processors will cause an illegal instruction trap. -(Arguably, the kernel should simply emulate this instruction.) diff --git a/lib/libmd/sha256.3 b/lib/libmd/sha256.3 index defe2ec45151..b07d51f230e7 100644 --- a/lib/libmd/sha256.3 +++ b/lib/libmd/sha256.3 @@ -97,8 +97,7 @@ is a wrapper for .Fn SHA256_Final which converts the return value to a 65-character (including the terminating '\e0') -.Tn ASCII -string which represents the 256 bits in hexadecimal. +ASCII string which represents the 256 bits in hexadecimal. .Pp .Fn SHA256_File calculates the digest of a file, and uses @@ -178,9 +177,7 @@ These functions appeared in .Fx 6.0 . .Sh AUTHORS The core hash routines were implemented by Colin Percival based on -the published -.Tn FIPS 180-2 -standard. +the published FIPS 180-2 standard. .Sh BUGS No method is known to exist which finds two files having the same hash value, nor to find a file with a specific hash value. diff --git a/lib/libmd/sha512.3 b/lib/libmd/sha512.3 index 30ea2a0b5eb2..7de503102bc7 100644 --- a/lib/libmd/sha512.3 +++ b/lib/libmd/sha512.3 @@ -9,7 +9,7 @@ .\" From: Id: mdX.3,v 1.14 1999/02/11 20:31:49 wollman Exp .\" $FreeBSD$ .\" -.Dd May 21, 2019 +.Dd February 3, 2023 .Dt SHA512 3 .Os .Sh NAME @@ -27,6 +27,13 @@ .Nm SHA384_File , .Nm SHA384_FileChunk , .Nm SHA384_Data , +.Nm SHA512_224_Init , +.Nm SHA512_224_Update , +.Nm SHA512_224_Final , +.Nm SHA512_224_End , +.Nm SHA512_224_File , +.Nm SHA512_224_FileChunk , +.Nm SHA512_224_Data .Nm SHA512_256_Init , .Nm SHA512_256_Update , .Nm SHA512_256_Final , @@ -71,6 +78,20 @@ .Fn SHA384_Data "const unsigned char *data" "unsigned int len" "char *buf" .In sha512t.h .Ft void +.Fn SHA512_224_Init "SHA512_CTX *context" +.Ft void +.Fn SHA512_224_Update "SHA512_CTX *context" "const unsigned char *data" "size_t len" +.Ft void +.Fn SHA512_224_Final "unsigned char digest[32]" "SHA512_CTX *context" +.Ft "char *" +.Fn SHA512_224_End "SHA512_CTX *context" "char *buf" +.Ft "char *" +.Fn SHA512_224_File "const char *filename" "char *buf" +.Ft "char *" +.Fn SHA512_224_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length" +.Ft "char *" +.Fn SHA512_224_Data "const unsigned char *data" "unsigned int len" "char *buf" +.Ft void .Fn SHA512_256_Init "SHA512_CTX *context" .Ft void .Fn SHA512_256_Update "SHA512_CTX *context" "const unsigned char *data" "size_t len" @@ -119,8 +140,7 @@ is a wrapper for .Fn SHA512_Final which converts the return value to a 129-character (including the terminating '\e0') -.Tn ASCII -string which represents the 512 bits in hexadecimal. +ASCII string which represents the 512 bits in hexadecimal. .Pp .Fn SHA512_File calculates the digest of a file, and uses @@ -167,29 +187,43 @@ If the argument is non-null it must point to at least 129 characters of buffer space. .Pp The -.Li SHA384_ +.Li SHA384_ , +.Li SHA512_224 , and .Li SHA512_256_ functions are identical to the .Li SHA512_ functions except they use a different initial hash value and the output is -truncated to 384 bits and 256 bits respectively. +truncated to 384, 224, and 256 bits respectively. .Pp .Fn SHA384_End is a wrapper for .Fn SHA384_Final which converts the return value to a 97-character (including the terminating '\e0') +ASCII string which represents the 384 bits in hexadecimal. +.Pp +.Fn SHA512_224_End +is a wrapper for +.Fn SHA512_Final +which converts the return value to a 57-character +(including the terminating '\e0') +ASCII string which represents the 224 bits in hexadecimal. +.Pp +.Fn SHA512_224_End +is a wrapper for +.Fn SHA512_Final +which converts the return value to a 57-character +(including the terminating '\e0') .Tn ASCII -string which represents the 384 bits in hexadecimal. +string which represents the 224 bits in hexadecimal. .Pp .Fn SHA512_256_End is a wrapper for .Fn SHA512_Final which converts the return value to a 65-character (including the terminating '\e0') -.Tn ASCII -string which represents the 256 bits in hexadecimal. +ASCII string which represents the 256 bits in hexadecimal. .Sh ERRORS The .Fn SHA512_End @@ -223,9 +257,7 @@ These functions appeared in .Fx 9.0 . .Sh AUTHORS The core hash routines were implemented by Colin Percival based on -the published -.Tn FIPS 180-2 -standard. +the published FIPS 180-2 standard. .Sh BUGS No method is known to exist which finds two files having the same hash value, nor to find a file with a specific hash value. diff --git a/lib/libmd/shadriver.c b/lib/libmd/shadriver.c index f5026eb3cc5d..3664eab9dbaa 100644 --- a/lib/libmd/shadriver.c +++ b/lib/libmd/shadriver.c @@ -51,6 +51,9 @@ __FBSDID("$FreeBSD$"); #elif SHA == 512 #undef SHA_Data #define SHA_Data SHA512_Data +#elif SHA == 512224 +#undef SHA_Data +#define SHA_Data SHA512_224_Data #elif SHA == 512256 #undef SHA_Data #define SHA_Data SHA512_256_Data diff --git a/lib/libmd/skein.3 b/lib/libmd/skein.3 index dd8cedb15027..bce01032be66 100644 --- a/lib/libmd/skein.3 +++ b/lib/libmd/skein.3 @@ -133,8 +133,7 @@ is a wrapper for .Fn SKEIN256_Final which converts the return value to a 33-character (including the terminating '\e0') -.Tn ASCII -string which represents the 256 bits in hexadecimal. +ASCII string which represents the 256 bits in hexadecimal. .Pp .Fn SKEIN256_File calculates the digest of a file, and uses diff --git a/sbin/md5/Makefile b/sbin/md5/Makefile index e499967d23d5..6bda75437275 100644 --- a/sbin/md5/Makefile +++ b/sbin/md5/Makefile @@ -17,6 +17,8 @@ LINKS= ${BINDIR}/md5 ${BINDIR}/md5sum \ ${BINDIR}/md5 ${BINDIR}/sha384sum \ ${BINDIR}/md5 ${BINDIR}/sha512 \ ${BINDIR}/md5 ${BINDIR}/sha512sum \ + ${BINDIR}/md5 ${BINDIR}/sha512t224 \ + ${BINDIR}/md5 ${BINDIR}/sha512t224sum \ ${BINDIR}/md5 ${BINDIR}/sha512t256 \ ${BINDIR}/md5 ${BINDIR}/sha512t256sum \ ${BINDIR}/md5 ${BINDIR}/skein256 \ @@ -39,6 +41,8 @@ MLINKS= md5.1 md5sum.1 \ md5.1 sha384sum.1 \ md5.1 sha512.1 \ md5.1 sha512sum.1 \ + md5.1 sha512t224.1 \ + md5.1 sha512t224sum.1 \ md5.1 sha512t256.1 \ md5.1 sha512t256sum.1 \ md5.1 skein256.1 \ diff --git a/sbin/md5/md5.1 b/sbin/md5/md5.1 index a3db48596606..ba654e131c3c 100644 --- a/sbin/md5/md5.1 +++ b/sbin/md5/md5.1 @@ -1,12 +1,14 @@ .\" $FreeBSD$ -.Dd July 26, 2022 +.Dd February 6, 2023 .Dt MD5 1 .Os .Sh NAME -.Nm md5 , sha1 , sha224 , sha256 , sha384 , sha512 , sha512t256 , rmd160 , -.Nm skein256 , skein512 , skein1024 , -.Nm md5sum , sha1sum , sha224sum , sha256sum , sha384sum , sha512sum , -.Nm sha512t256sum , rmd160sum , skein256sum , skein512sum , skein1024sum +.Nm md5 , sha1 , sha224 , sha256 , sha384 , +.Nm sha512 , sha512t224 , sha512t256 , +.Nm rmd160 , skein256 , skein512 , skein1024 , +.Nm md5sum , sha1sum , sha224sum , sha256sum , sha384sum , +.Nm sha512sum , sha512t224sum , sha512t256sum , +.Nm rmd160sum , skein256sum , skein512sum , skein1024sum .Nd calculate a message-digest fingerprint (checksum) for a file .Sh SYNOPSIS .Nm @@ -24,8 +26,8 @@ (All other hashes have the same options and usage.) .Sh DESCRIPTION The -.Nm md5 , sha1 , sha224 , sha256 , sha384 , sha512 , sha512t256 , rmd160 , -.Nm skein256 , skein512 , +.Nm md5 , sha1 , sha224 , sha256 , sha384 , sha512 , sha512t224 , sha512t256 , +.Nm rmd160 , skein256 , skein512 , and .Nm skein1024 utilities take as input a message of arbitrary length and produce as @@ -36,7 +38,7 @@ or of the input. The .Nm md5sum , sha1sum , sha224sum , sha256sum , sha384sum , sha512sum , -.Nm sha512t256sum , rmd160sum , skein256sum , skein512sum , +.Nm sha512t224sum , sha512t256sum , rmd160sum , skein256sum , skein512sum , and .Nm skein1024sum utilities do the same, but default to the reversed format of @@ -68,6 +70,9 @@ On 64-bit hardware, this algorithm is approximately 50% faster than SHA-256 but with the same level of security. The hashes are not interchangeable. .Pp +SHA-512t224 is identical to SHA-512t256, but with the digest truncated +to 224 bits. +.Pp It is recommended that all new applications use SHA-512 or SKEIN-512 instead of one of the other hash functions. .Pp diff --git a/sbin/md5/md5.c b/sbin/md5/md5.c index 97c587efd63c..db4cdd7da1ff 100644 --- a/sbin/md5/md5.c +++ b/sbin/md5/md5.c @@ -20,10 +20,10 @@ #include __FBSDID("$FreeBSD$"); -#include #include #include #include + #include #include #include @@ -75,6 +75,7 @@ extern const char *SHA224_TestOutput[MDTESTCOUNT]; extern const char *SHA256_TestOutput[MDTESTCOUNT]; extern const char *SHA384_TestOutput[MDTESTCOUNT]; extern const char *SHA512_TestOutput[MDTESTCOUNT]; +extern const char *SHA512t224_TestOutput[MDTESTCOUNT]; extern const char *SHA512t256_TestOutput[MDTESTCOUNT]; extern const char *RIPEMD160_TestOutput[MDTESTCOUNT]; extern const char *SKEIN256_TestOutput[MDTESTCOUNT]; @@ -138,6 +139,9 @@ static const struct Algorithm_t Algorithm[] = { { "sha512", "SHA512", &SHA512_TestOutput, (DIGEST_Init*)&SHA512_Init, (DIGEST_Update*)&SHA512_Update, (DIGEST_End*)&SHA512_End, &SHA512_Data, &SHA512_Fd }, + { "sha512t224", "SHA512t224", &SHA512t224_TestOutput, (DIGEST_Init*)&SHA512_224_Init, + (DIGEST_Update*)&SHA512_224_Update, (DIGEST_End*)&SHA512_224_End, + &SHA512_224_Data, &SHA512_224_Fd }, { "sha512t256", "SHA512t256", &SHA512t256_TestOutput, (DIGEST_Init*)&SHA512_256_Init, (DIGEST_Update*)&SHA512_256_Update, (DIGEST_End*)&SHA512_256_End, &SHA512_256_Data, &SHA512_256_Fd }, @@ -585,6 +589,17 @@ const char *SHA512_TestOutput[MDTESTCOUNT] = { "e8a835195e039708b13d9131e025f4441dbdc521ce625f245a436dcd762f54bf5cb298d96235e6c6a304e087ec8189b9512cbdf6427737ea82793460c367b9c3" }; +const char *SHA512t224_TestOutput[MDTESTCOUNT] = { + "6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4", + "d5cdb9ccc769a5121d4175f2bfdd13d6310e0d3d361ea75d82108327", + "4634270f707b6a54daae7530460842e20e37ed265ceee9a43e8924aa", + "ad1a4db188fe57064f4f24609d2a83cd0afb9b398eb2fcaeaae2c564", + "ff83148aa07ec30655c1b40aff86141c0215fe2a54f767d3f38743d8", + "a8b4b9174b99ffc67d6f49be9981587b96441051e16e6dd036b140d3", + "ae988faaa47e401a45f704d1272d99702458fea2ddc6582827556dd2", + "b3c3b945249b0c8c94aba76ea887bcaad5401665a1fbeb384af4d06b" +}; + const char *SHA512t256_TestOutput[MDTESTCOUNT] = { "c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a", "455e518824bc0601f9fb858ff5c37d417d67c2f8e0df2babe4808858aea830f8", diff --git a/sbin/md5/tests/algorithms.txt b/sbin/md5/tests/algorithms.txt index 88f0ff5b783a..304d86bd4d4c 100644 --- a/sbin/md5/tests/algorithms.txt +++ b/sbin/md5/tests/algorithms.txt @@ -5,6 +5,7 @@ sha224 sha256 sha384 sha512 +sha512t224 sha512t256 skein1024 skein256 diff --git a/sbin/md5/tests/self-test.sha512t224.chk b/sbin/md5/tests/self-test.sha512t224.chk new file mode 100644 index 000000000000..d0549199f76b --- /dev/null +++ b/sbin/md5/tests/self-test.sha512t224.chk @@ -0,0 +1,9 @@ +SHA512t224 test suite: +SHA512t224 ("") = 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 - verified correct +SHA512t224 ("a") = d5cdb9ccc769a5121d4175f2bfdd13d6310e0d3d361ea75d82108327 - verified correct +SHA512t224 ("abc") = 4634270f707b6a54daae7530460842e20e37ed265ceee9a43e8924aa - verified correct +SHA512t224 ("message digest") = ad1a4db188fe57064f4f24609d2a83cd0afb9b398eb2fcaeaae2c564 - verified correct +SHA512t224 ("abcdefghijklmnopqrstuvwxyz") = ff83148aa07ec30655c1b40aff86141c0215fe2a54f767d3f38743d8 - verified correct +SHA512t224 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = a8b4b9174b99ffc67d6f49be9981587b96441051e16e6dd036b140d3 - verified correct +SHA512t224 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = ae988faaa47e401a45f704d1272d99702458fea2ddc6582827556dd2 - verified correct +SHA512t224 ("MD5 has not yet (2001-09-03) been broken, but sufficient attacks have been made that its security is in some doubt") = b3c3b945249b0c8c94aba76ea887bcaad5401665a1fbeb384af4d06b - verified correct diff --git a/sbin/md5/tests/sha512t224.digest b/sbin/md5/tests/sha512t224.digest new file mode 100644 index 000000000000..34ad437ed15d --- /dev/null +++ b/sbin/md5/tests/sha512t224.digest @@ -0,0 +1,8 @@ +SHA512t224 (1.inp) = 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 +SHA512t224 (2.inp) = d5cdb9ccc769a5121d4175f2bfdd13d6310e0d3d361ea75d82108327 +SHA512t224 (3.inp) = 4634270f707b6a54daae7530460842e20e37ed265ceee9a43e8924aa +SHA512t224 (4.inp) = ad1a4db188fe57064f4f24609d2a83cd0afb9b398eb2fcaeaae2c564 +SHA512t224 (5.inp) = ff83148aa07ec30655c1b40aff86141c0215fe2a54f767d3f38743d8 +SHA512t224 (6.inp) = a8b4b9174b99ffc67d6f49be9981587b96441051e16e6dd036b140d3 +SHA512t224 (7.inp) = ae988faaa47e401a45f704d1272d99702458fea2ddc6582827556dd2 +SHA512t224 (8.inp) = b3c3b945249b0c8c94aba76ea887bcaad5401665a1fbeb384af4d06b diff --git a/sbin/md5/tests/sha512t224sum.digest b/sbin/md5/tests/sha512t224sum.digest new file mode 100644 index 000000000000..36459078a7b2 --- /dev/null +++ b/sbin/md5/tests/sha512t224sum.digest @@ -0,0 +1,8 @@ +6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 1.inp +d5cdb9ccc769a5121d4175f2bfdd13d6310e0d3d361ea75d82108327 2.inp +4634270f707b6a54daae7530460842e20e37ed265ceee9a43e8924aa 3.inp +ad1a4db188fe57064f4f24609d2a83cd0afb9b398eb2fcaeaae2c564 4.inp +ff83148aa07ec30655c1b40aff86141c0215fe2a54f767d3f38743d8 5.inp +a8b4b9174b99ffc67d6f49be9981587b96441051e16e6dd036b140d3 6.inp +ae988faaa47e401a45f704d1272d99702458fea2ddc6582827556dd2 7.inp +b3c3b945249b0c8c94aba76ea887bcaad5401665a1fbeb384af4d06b 8.inp From nobody Mon Feb 6 17:07:57 2023 X-Original-To: dev-commits-src-main@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 4P9Xl14HZSz3mxBD; Mon, 6 Feb 2023 17:07: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Xl13lwhz4QWQ; Mon, 6 Feb 2023 17:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675703277; 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=8CIOqhpbNuI9g5qevDQHd6tO856xL+RTcjWmZmdnoqs=; b=CMzVpHdCAXfk+/niejovedXByi0KDnMnAV0NvzTilS9tliZD4WldnThQG31S9l01McbyXx PlmzgUoUMrs74o5jN0Efm5fKY60BGszFRhY/me49cqbtnTFezVVIphZKLbeAK9TvelBrgx 85y8qFpUeczARMfPGbs3F/Rk/yk14jouJtF9wDxJPsS6+LHcEWzv9nO9JLqNd3l7UwJqrv fGI3PY8XnUifc7CSNou5b9EZDkLIYLLWIBieUayB8mguyWdRcIPzgSwGz1sitMpWqy1Nmi nOIDNyZlvuO7u1uoNNerEAsDs6o/Fd1TTKdrYubuKbhHls20z/6GpOk4Y74tmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675703277; 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=8CIOqhpbNuI9g5qevDQHd6tO856xL+RTcjWmZmdnoqs=; b=dAMsZiWbTizsK+dM5K1ZYAzbRVwhybR+0In4K7hPhj6f3Wfps/ZS0uNa1Cq59a47/sYZfb v/gvC2DKP9ho2VqWibW6ccMWgsz18Rh0FYy2i4h2bG2/jTZeebKxywkJGZdmvaecUL6P/r AqhXBT/1sU9NtnOjANLjSQikSEp6dHfcfMJ19JHiNWrpjDsAkWAhdy2P58gNwN4vgmVQjV HUc0d+qdi4RhQE8rVpobzNs1O7gHf+kK4pBRtyJJ+rXnvKrgq9hBsGfYAtqwk6gmHiGxHn fqIIima4FwD4Ol+Ar6v8j3d5+5w+cHJAhkUGi92UPNfu5X6z+yj2wskTbXPISg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675703277; a=rsa-sha256; cv=none; b=yr2UniXaNODx2sEcoDXcYxK2Tmv6/RdUQvRNFFLm0OfCSEGJfmZYkLPN4BU8CINTQf5Udb HhZvfg/zd2Sw/qAVtUXAv1dd6S6iR2ZlvEAQb7/Lq1AnCztAbxsDiLIslEpjLUb/nndXco IEL3XV90aNZ4L92+OzMeyrrqh702uSOuSE5dZpMrMrmuF+ktmQR7m29dXQPDMMErifYk3e 9m18B+mEA70VSNhXpyezzRtEd+q4I7x1UeH4s61Xa+c8tMQAQDEeCeQNBE76wqf9iAAHzz B5w0/XZw/uJhlY0jEUTEkT5FGCKtqtDDDz1d3ns8L8gLNqce/73GaA8BCVlCjA== 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 4P9Xl12rDzzjRV; Mon, 6 Feb 2023 17:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316H7vTl002889; Mon, 6 Feb 2023 17:07:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316H7v8S002888; Mon, 6 Feb 2023 17:07:57 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:07:57 GMT Message-Id: <202302061707.316H7v8S002888@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 2e828220579e - main - ssh: Be more paranoid with host/domain names coming from the List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 2e828220579e3ada74ed0613871ec6ec61d669ba Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=2e828220579e3ada74ed0613871ec6ec61d669ba commit 2e828220579e3ada74ed0613871ec6ec61d669ba Author: Ed Maste AuthorDate: 2023-02-06 16:45:52 +0000 Commit: Ed Maste CommitDate: 2023-02-06 17:06:26 +0000 ssh: Be more paranoid with host/domain names coming from the never write a name with bad characters to a known_hosts file. replace recently-added valid_domain() check for hostnames going to known_hosts with a more relaxed check for bad characters. Obtained from: OpenSSH-portable commit 445363433ba2 Obtained from: OpenSSH-portable commit 3cae9f92a318 Sponsored by: The FreeBSD Foundation --- crypto/openssh/ssh.c | 8 ++++++-- crypto/openssh/sshconnect.c | 15 +++++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/crypto/openssh/ssh.c b/crypto/openssh/ssh.c index 9b5ec2dfd14b..b7dd6ca8bff4 100644 --- a/crypto/openssh/ssh.c +++ b/crypto/openssh/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.576 2022/09/17 10:33:18 djm Exp $ */ +/* $OpenBSD: ssh.c,v 1.579 2022/10/24 22:43:36 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -251,6 +251,7 @@ static struct addrinfo * resolve_host(const char *name, int port, int logerr, char *cname, size_t clen) { char strport[NI_MAXSERV]; + const char *errstr = NULL; struct addrinfo hints, *res; int gaierr; LogLevel loglevel = SYSLOG_LEVEL_DEBUG1; @@ -276,7 +277,10 @@ resolve_host(const char *name, int port, int logerr, char *cname, size_t clen) return NULL; } if (cname != NULL && res->ai_canonname != NULL) { - if (strlcpy(cname, res->ai_canonname, clen) >= clen) { + if (!valid_domain(res->ai_canonname, 0, &errstr)) { + error("ignoring bad CNAME \"%s\" for host \"%s\": %s", + res->ai_canonname, name, errstr); + } else if (strlcpy(cname, res->ai_canonname, clen) >= clen) { error_f("host \"%s\" cname \"%s\" too long (max %lu)", name, res->ai_canonname, (u_long)clen); if (clen > 0) diff --git a/crypto/openssh/sshconnect.c b/crypto/openssh/sshconnect.c index 7b3f260ee788..0fca52b220ff 100644 --- a/crypto/openssh/sshconnect.c +++ b/crypto/openssh/sshconnect.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sshconnect.c,v 1.358 2022/08/26 08:16:27 djm Exp $ */ +/* $OpenBSD: sshconnect.c,v 1.360 2022/11/03 21:59:20 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -935,7 +935,7 @@ check_host_key(char *hostname, const struct ssh_conn_info *cinfo, char *ip = NULL, *host = NULL; char hostline[1000], *hostp, *fp, *ra; char msg[1024]; - const char *type, *fail_reason; + const char *type, *fail_reason = NULL; const struct hostkey_entry *host_found = NULL, *ip_found = NULL; int len, cancelled_forwarding = 0, confirmed; int local = sockaddr_is_local(hostaddr); @@ -960,6 +960,17 @@ check_host_key(char *hostname, const struct ssh_conn_info *cinfo, return 0; } + /* + * Don't ever try to write an invalid name to a known hosts file. + * Note: do this before get_hostfile_hostname_ipaddr() to catch + * '[' or ']' in the name before they are added. + */ + if (strcspn(hostname, "@?*#[]|'\'\"\\") != strlen(hostname)) { + debug_f("invalid hostname \"%s\"; will not record: %s", + hostname, fail_reason); + readonly = RDONLY; + } + /* * Prepare the hostname and address strings used for hostkey lookup. * In some cases, these will have a port number appended. From nobody Mon Feb 6 17:27:03 2023 X-Original-To: dev-commits-src-main@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 4P9Y941HXzz3myNY; Mon, 6 Feb 2023 17:27: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Y940n5Sz4RmB; Mon, 6 Feb 2023 17:27:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675704424; 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=HhlDGQtYizJe9fcaODHeAq31ePBAp5asB9NiSdI/19E=; b=J9MwwXdyV/4ODPC7/CM97BK6pp13ExLg13AeTlgLaUmdKK6Z+GU1w/vcHYx/Jm2o+LSUVJ ILJi8yx3dBqvDBCHAfnF1LpwsYrtM7VyA7TG5dTRqg7NSaqD4S6wWaZz8xz5OEUShjl762 l7UgmNUUKarsjYNhLLiZ+tLkDpl4GYxL94mck0vkEm3aweMjb+Or2ERiFBvjI3TqH9WQXd nLhdVksFGRcx3TJgc0xltKKTYSIRM9wrGgJbIBfM0nc13W+2iRzQRpRba0/AT0RNmsgxwR t9MYYeWxqHvEP5z8kt4ju74VKcdIiksI6yFYqpuAmnxwQE3u8iQKOCTWTMsaSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675704424; 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=HhlDGQtYizJe9fcaODHeAq31ePBAp5asB9NiSdI/19E=; b=PUnLdf1fNm2Iq5YrOYmYtodQTDrnB/J4CzhBQzI6Y2/jzn6lvc1BbJksUoLF8w6D9rQwYT ZiXkSP1qJkXSC0Ra4UaOfmfGqNLhyl6GbWQO6wm1ZQMOj5cD3yfZFCwXhlqUgJGqvm4pAF SG6T1jYRjcW6m2PcfIpIiJ92W9Cvl3si8myLrm7+cvMWVGSW3C8DbLGNJZFzM8elO1tJ7h p4yBM2irqFfuuFSSK0/JDV+i30Vt6+Dz6WR2+v7wHXtBJYlDug4AM69dOenrUcjn+TsVvb 1yRSfU4FrV+jXene4c03wXC/9DjdlhsVBFBLONMK0f+zKKVqI+b+YQXwAAIC3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675704424; a=rsa-sha256; cv=none; b=NNuCF7ZAcEo1VbeW2nYx8Opm8U+IVrByTGpU4c2XF5bUFFRo3iA3LEuUdzKpNgZhw7tW6f VgbLH8XPeHuanxQ0tM1fQ2IMftWIvshLUb5AiTefdAQIuRIK8hhmHCHvshfom1d4puKA/b gdNTHwZWXg/4wlUnSDjFVW4iLV4ohE/YENi/ZfS0Fu2GyR++Hc3OuJGDPaQiY3D1acp7kn 8YwHjpSo2Pmy57lxNi32k81zSMzFVt1O+pWofbI1oCTMyhUF7hSKrnQV59cqh+aTkWJVwB qeu/6+/50iYC2zaJ1b0q6Tw6H/v2raysDFFl73REspZ0jAsnR4ut63i5SZHKgQ== 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 4P9Y936whVzjQr; Mon, 6 Feb 2023 17:27:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HR3X6030674; Mon, 6 Feb 2023 17:27:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HR3L2030673; Mon, 6 Feb 2023 17:27:03 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:27:03 GMT Message-Id: <202302061727.316HR3L2030673@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Ambrisko Subject: git: c079c82646e8 - main - enic: Cleanup module Makefile List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ambrisko X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c079c82646e83454d3dac7228320b11bb3df5cdc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ambrisko: URL: https://cgit.FreeBSD.org/src/commit/?id=c079c82646e83454d3dac7228320b11bb3df5cdc commit c079c82646e83454d3dac7228320b11bb3df5cdc Author: Doug Ambrisko AuthorDate: 2023-02-06 17:25:12 +0000 Commit: Doug Ambrisko CommitDate: 2023-02-06 17:26:53 +0000 enic: Cleanup module Makefile Remove debug flags, old FreeBSD tag info and old include info. --- sys/modules/enic/Makefile | 9 --------- 1 file changed, 9 deletions(-) diff --git a/sys/modules/enic/Makefile b/sys/modules/enic/Makefile index 62ac0f574a8b..420942c44ead 100644 --- a/sys/modules/enic/Makefile +++ b/sys/modules/enic/Makefile @@ -1,11 +1,5 @@ -#$FreeBSD: head/sys/modules/ix/Makefile 327031 2017-12-20 18:15:06Z erj $ - .PATH: ${SRCTOP}/sys/dev/enic -COPTS=-g -#WITH_DEBUG_FILES=yes -DEBUG_FLAGS=-g - KMOD = if_enic SRCS = device_if.h bus_if.h pci_if.h pci_iov_if.h ifdi_if.h SRCS += opt_inet.h opt_inet6.h opt_rss.h @@ -13,7 +7,4 @@ SRCS += opt_inet.h opt_inet6.h opt_rss.h SRCS += if_enic.c enic_txrx.c enic_res.c SRCS += vnic_cq.c vnic_dev.c vnic_intr.c vnic_rq.c vnic_wq.c - -CFLAGS+= -I${SRCTOP}/sys/dev/enic_native -I${SRCTOP}/sys/dev/enic_native/base - .include From nobody Mon Feb 6 17:53:53 2023 X-Original-To: dev-commits-src-main@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 4P9Ym12z1gz3n0bB; Mon, 6 Feb 2023 17:53: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ym12QMLz4X4V; Mon, 6 Feb 2023 17:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706033; 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=uxAZObDmhFRRtQMmAdxpacKJGAf8cvbbCYXZwNLpL1I=; b=i1sTSGcDtZCzbASkZL2g00PQMrEApjohujQvq7hDRLQkGEOE0/cHlgoY0EOK3WSoQ4s3eO rXg/miOpy8vh+xJUgb7v7UjsEf0Ih5XuJ5drusu3pNp2eC4QzE+AabCDVYXhO62q+h5wSq Pwg9e2vTH1FnKzkq6i5i0yKJqZ9gn2X3SqlcBZDh3JgHTyTE1FXOGzFfldNJEeYcVFjNwI yu9OdCK3dF123NiwazxWloE0bu1wAPWPmZtRpZMNdbPLpC6uVVk0QviRI8TbHbaFVDAm69 U6JH2GgQKKIdS9fTBoAHRXAROQtk2JII7vB4tafSW+WBDkoY7wlGSJzsag9r5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706033; 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=uxAZObDmhFRRtQMmAdxpacKJGAf8cvbbCYXZwNLpL1I=; b=nRIN1ka2OdmzguZ8jJaq+85WETHsaAoiC4AgMcQg4ibbWrOmB7l8nIn3w9DeGysOqwxlgt PkI73zGdlSQDlVhDxEJhwozaQEzRvT6CMsBfonJoepgYxCcOD3N3sst50MUVSXupl0MCL6 aAQTzuAubPq6w6bSB5nHnKOs9BUH0GBF45UWTVG66k50lZHB6hjoTnzXspnkKdYAc9kLYj 4oC3PmR//C7WIpFi+SlAh8Zs+SF9PEsiWV/S6UMEkDJozBHcDzmb244myIrXN7pzsiAE1J sWUtUj4V7MpaRAUkGylNb7VMXQInEbkm77UbobBI6VAycqleuJhLQgmdeYqW2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706033; a=rsa-sha256; cv=none; b=UBgifes9GPkdVDv479A3wapKpNIVc+28FsV5Rc+1i2Z/mRy5nm586uxP+Hk3EDdQp3foJq YKVRF0em4WqcrSaDcm7Q9tx5/n/+9uj0UtnrMqSTIPXEZiawTxWNpG+RelJDOWSOU1YuO6 D1mzQDZNeMLoFsBM35xjYak3jn1b+J5QgtTkWcdtfLQUIVW8omFjpTtSw/qXzrVRZUFN38 V7j7mYLNbFkaXViZBDEvjTGobr4MrH3gIbYO4LEuH3s891i2SQ9L4vM6/iUwCmkpp7kz7m H1qWSlgmQA4FJaYPkKE+lQD0QLJ2o6H04r7SSmLcsYR0TP+UnbOwepzoBZYw/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 4P9Ym11SNJzkjR; Mon, 6 Feb 2023 17:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HrrvX074136; Mon, 6 Feb 2023 17:53:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HrraR074135; Mon, 6 Feb 2023 17:53:53 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:53:53 GMT Message-Id: <202302061753.316HrraR074135@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 1e6131bad6b4 - main - IfAPI: Add needed APIs for mbuf support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1e6131bad6b47efbd35c5e7095637ed2aeaecd70 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=1e6131bad6b47efbd35c5e7095637ed2aeaecd70 commit 1e6131bad6b47efbd35c5e7095637ed2aeaecd70 Author: Justin Hibbits AuthorDate: 2023-02-01 14:56:34 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:04 +0000 IfAPI: Add needed APIs for mbuf support Summary: Add 2 new APIs for supporting recent mbuf changes: * 36e0a362ac added the m_snd_tag_alloc() wrapper around if_snd_tag_alloc(). Push this down to the ifnet level. * 4d7a1361ef adds the m_rcvif_serialize()/m_rcvif_restore() KPIs to serialize and restore an ifnet pointer. Add the necessary wrapper to get the index generation for this. Reviewed By: jhb Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38340 --- sys/kern/kern_mbuf.c | 12 +++++------- sys/net/if.c | 16 ++++++++++++++++ sys/net/if_var.h | 3 +++ 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/sys/kern/kern_mbuf.c b/sys/kern/kern_mbuf.c index d47b1fbf3c60..84dea05f1bbb 100644 --- a/sys/kern/kern_mbuf.c +++ b/sys/kern/kern_mbuf.c @@ -1586,9 +1586,7 @@ m_snd_tag_alloc(struct ifnet *ifp, union if_snd_tag_alloc_params *params, struct m_snd_tag **mstp) { - if (ifp->if_snd_tag_alloc == NULL) - return (EOPNOTSUPP); - return (ifp->if_snd_tag_alloc(ifp, params, mstp)); + return (if_snd_tag_alloc(ifp, params, mstp)); } void @@ -1620,13 +1618,13 @@ m_rcvif_serialize(struct mbuf *m) u_short idx, gen; M_ASSERTPKTHDR(m); - idx = m->m_pkthdr.rcvif->if_index; - gen = m->m_pkthdr.rcvif->if_idxgen; + idx = if_getindex(m->m_pkthdr.rcvif); + gen = if_getidxgen(m->m_pkthdr.rcvif); m->m_pkthdr.rcvidx = idx; m->m_pkthdr.rcvgen = gen; if (__predict_false(m->m_pkthdr.leaf_rcvif != NULL)) { - idx = m->m_pkthdr.leaf_rcvif->if_index; - gen = m->m_pkthdr.leaf_rcvif->if_idxgen; + idx = if_getindex(m->m_pkthdr.leaf_rcvif); + gen = if_getidxgen(m->m_pkthdr.leaf_rcvif); } else { idx = -1; gen = 0; diff --git a/sys/net/if.c b/sys/net/if.c index 8bb5ed0043e5..43d1e2b95a63 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -4295,6 +4295,12 @@ if_getindex(const if_t ifp) return ((struct ifnet *)ifp)->if_index; } +int +if_getidxgen(const if_t ifp) +{ + return (ifp->if_idxgen); +} + void if_setdescr(if_t ifp, char *descrbuf) { @@ -4845,6 +4851,16 @@ if_setsndtagallocfn(if_t ifp, if_snd_tag_alloc_t alloc_fn) ((struct ifnet *)ifp)->if_snd_tag_alloc = alloc_fn; } +int +if_snd_tag_alloc(struct ifnet *ifp, union if_snd_tag_alloc_params *params, + struct m_snd_tag **mstp) +{ + + if (ifp->if_snd_tag_alloc == NULL) + return (EOPNOTSUPP); + return (ifp->if_snd_tag_alloc(ifp, params, mstp)); +} + void if_setgetcounterfn(if_t ifp, if_get_counter_t fn) { diff --git a/sys/net/if_var.h b/sys/net/if_var.h index b4cdcf27253f..f33b4fc590c7 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -578,6 +578,7 @@ int if_setcapenablebit(if_t ifp, int setcap, int clearcap); int if_getcapenable(const if_t ifp); int if_getdunit(const if_t ifp); int if_getindex(const if_t ifp); +int if_getidxgen(const if_t ifp); const char *if_getdname(const if_t ifp); void if_setdname(if_t ifp, const char *name); const char *if_name(if_t ifp); @@ -650,6 +651,8 @@ bool if_altq_is_enabled(if_t ifp); void *if_getafdata(if_t ifp, int); +int if_snd_tag_alloc(struct ifnet *ifp, union if_snd_tag_alloc_params *params, + struct m_snd_tag **mstp); /* * Traversing through interface address lists. */ From nobody Mon Feb 6 17:53:54 2023 X-Original-To: dev-commits-src-main@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 4P9Ym23tmXz3n0TS; Mon, 6 Feb 2023 17:53: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ym23HTLz4X0d; Mon, 6 Feb 2023 17:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706034; 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=1xqVUJu1M2QrMVTAd1JHpS9w/1/Tm3jrsnPbeOS0uew=; b=GyFXOo2FYghmIBHyTgyE+gdvg9egDuO0Ew1kNJJEXamBLylInQQIDy2kYSciwenBaish4y gEhr5SECl8YGZK6gFqBkjTTS47UJGH54o6utISrIJhyaoghIlZ8++nFevHYtXjs0JPFL3W TY3xzI/4CUgUsS4SWaY7fXHcRNAdHmJbZ+uaLI1DRku0UeL/M8l48cVl4BsiDEANQ4OL/t 4mHEohpdOWSxYh2lKtDJaK1SBLI1vSylIee74bcS9kv40+pu+ZcB4LlpY+TBnVLVjWb831 hLC4NPgiTlVzC/58HSrc1mTHkuWQzvGg9olv0JF6i6UMxn4jN/ZHhjFFK1amKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706034; 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=1xqVUJu1M2QrMVTAd1JHpS9w/1/Tm3jrsnPbeOS0uew=; b=s6FMBzf9RevZc/8oYX6YNjJgHLdmnwsSkJh6PA0JDNNjNzPnzwoKPZULPrDP93G7KeaPka FMktFEtRXDJc7EnDJRAHdM/GJpY2Mh2HqC01L/Req77g0Gk8IJ5REHPPyk9+uXHW1DiZUx Fc6WU4TIhCtTHg+LCRz4WxNUsGnpF9TApn3P13CWiLZqoTKZuFgnbMwNlN5MbbTmOSFgff gpQZt0gJhL/4Hl469+5geEvjcUwYbr9bSGv4151tOa2bC6d4XFZzKexgw+c1DSbLNcOhGv tO/NygtS/Yjm1tS5WnOQ5tFtFeSXwSDdJTDbWWRiqRvKx8VkMHeUtYLp1BGhQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706034; a=rsa-sha256; cv=none; b=jmrLbLjyfbCeP17ns9hSMPTVbNfkqyTRM8+5KnIqftqOq8TL3AaAKlE7PLDKXIbWqS9e7V JT8UPZm98EPPD/lp1c8ruqSZeKHMRTeLWJZr0GBOCrHMHmabbb2V3eAIVD3QOxGG97xQ6q VgeLN3XSRFVKytHBFkvvPhwOFOoCMMBCfQk+uj9C3rtUXEOCD/s1zc0/EytHyizNQHPOQX PzADOI4SIKUOYkd+0oE6tWYpI1EkZyqLVhKyWU1x8wrPfWVjiQlfhpk3Eiz3bIxexwhiGc gMkc+YcDoEJmybb0ydgfvkXwyAxlCJqhQzb3ufAVy0az/r1qrCHpRVLXvt0s7A== 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 4P9Ym22Mg8zk1k; Mon, 6 Feb 2023 17:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HrsaQ074167; Mon, 6 Feb 2023 17:53:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HrsaK074166; Mon, 6 Feb 2023 17:53:54 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:53:54 GMT Message-Id: <202302061753.316HrsaK074166@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 6472761966f7 - main - IfAPI: use IfAPI in mbuf List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6472761966f78b364b370d61f452fedde0d19c8c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=6472761966f78b364b370d61f452fedde0d19c8c commit 6472761966f78b364b370d61f452fedde0d19c8c Author: Justin Hibbits AuthorDate: 2023-02-01 15:26:20 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:04 +0000 IfAPI: use IfAPI in mbuf Sponsored by: Juniper Networks, Inc. --- sys/kern/kern_mbuf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_mbuf.c b/sys/kern/kern_mbuf.c index 84dea05f1bbb..2e1419aaa2ef 100644 --- a/sys/kern/kern_mbuf.c +++ b/sys/kern/kern_mbuf.c @@ -1642,7 +1642,7 @@ m_rcvif_restore(struct mbuf *m) NET_EPOCH_ASSERT(); ifp = ifnet_byindexgen(m->m_pkthdr.rcvidx, m->m_pkthdr.rcvgen); - if (ifp == NULL || (ifp->if_flags & IFF_DYING)) + if (ifp == NULL || (if_getflags(ifp) & IFF_DYING)) return (NULL); if (__predict_true(m->m_pkthdr.leaf_rcvidx == (u_short)-1)) { @@ -1650,7 +1650,7 @@ m_rcvif_restore(struct mbuf *m) } else { leaf_ifp = ifnet_byindexgen(m->m_pkthdr.leaf_rcvidx, m->m_pkthdr.leaf_rcvgen); - if (__predict_false(leaf_ifp != NULL && (leaf_ifp->if_flags & IFF_DYING))) + if (__predict_false(leaf_ifp != NULL && (if_getflags(leaf_ifp) & IFF_DYING))) leaf_ifp = NULL; } From nobody Mon Feb 6 17:53:55 2023 X-Original-To: dev-commits-src-main@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 4P9Ym34hxJz3n0X7; Mon, 6 Feb 2023 17:53: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ym33wrzz4X1T; Mon, 6 Feb 2023 17:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706035; 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=M65qyunqJ/lEb4yXgBhcmt8vBTvDJqwi/x4KtXRS3yQ=; b=mtqXdV1sOSjS/dhQ/rMqUNcFvZQymOIJCi5Z0zDpXHDId6iz7qRgh01bXmUklhiTK1JPGH vJUdyMSwZ7w5eVNtlji5O8EwodXv+FPDf6ilaI2pulJcsGfQ5dLksmxU5KS+XZulDRK7hv p1QKUIS9g4s8nvm6g82hebO2ui/3XCmRcL7WW+gHG4p5OzQPmRHbw3PU8SDApW0lMTjbL2 HyD6flOFmmfN1AhcyS1fSl2yqaH0Q8dBL2T1Q7Y9eGEsGzZpgiCUpqC91LAEFd/cyPpfdF RNAqUiOm//sCjqTQhi/90sLBs4FVOFEW+f7FafTbPvPOAJbO962LXuu4oV2v+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706035; 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=M65qyunqJ/lEb4yXgBhcmt8vBTvDJqwi/x4KtXRS3yQ=; b=fZRM3iRJUSlBiDUJTKhv6QrXhLfbKYcMdCRvohY07HqU+a2UFreffdBTw7ZdW3pK9CU9nu 1t0+tgNJyQ63CCB2GUdcbGZt+8IBPBWAiNoNVCs9m4ns24c/7g0DvL1F96cr6RXLaPrXQM vqsXBrQzddc4Ptt5/0LIN3stN90BMS7rThyosodapZYfolf+I1Bgtnp0VYlYqeHdaokhpK 5jadzeN8fvnj5Ls87S9yISt6wmSoBJYLceiQI6y7dxHh6CGcIV3Y019Z42BACeZSariMY5 w6OKJZ9Mt98hiBdAoH8Ksdo5atQFLNZmcNYNRidZmeCzHTqIgdUI3feZ9SmWig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706035; a=rsa-sha256; cv=none; b=jtLk/BbIcLQVhd8sNsyzn8byREJaoZQjENXQkYfDQ9AvGr1QPdsKSssvyf5QtKVawSeGlQ +66b+zMgE6T4C3UMYBSzDbixY4MTeGkPPbVsLphGk7osjoy7lHBNbzLdZlEy4lekypasmC ESAoXe58Ev0VHuW5cOYftSId+1TP+WpLGJCS+erDWcmtJJq42s7yxafra6/jZEIcMAy7CM VjtBmnMc5aSKaXAJk2ZPXs756ySygN+3DptWBFEvQf/RrqH4+EcriwkijYZL8jV7F6A5EL c84FvUHvjXkW5RYJmnEJUrIQYDbnN9QTAp1BwG7uQvxqj+vMk7FXoYGMDmsw6w== 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 4P9Ym330VkzkMR; Mon, 6 Feb 2023 17:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Hrt67074191; Mon, 6 Feb 2023 17:53:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HrtQt074190; Mon, 6 Feb 2023 17:53:55 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:53:55 GMT Message-Id: <202302061753.316HrtQt074190@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: a6c0f09aa35d - main - ath(4) IfAPI fixups List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a6c0f09aa35da3700fa600b2913d95759cc36fe1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=a6c0f09aa35da3700fa600b2913d95759cc36fe1 commit a6c0f09aa35da3700fa600b2913d95759cc36fe1 Author: Justin Hibbits AuthorDate: 2023-01-24 20:59:46 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:05 +0000 ath(4) IfAPI fixups Use the if_getcounter() IfAPI instead of accessing the ifnet directly. Sponsored by: Juniper Networks, Inc. --- sys/dev/ath/if_ath_ioctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/ath/if_ath_ioctl.c b/sys/dev/ath/if_ath_ioctl.c index cec769d615d7..a6a0aa35171c 100644 --- a/sys/dev/ath/if_ath_ioctl.c +++ b/sys/dev/ath/if_ath_ioctl.c @@ -250,9 +250,9 @@ ath_ioctl(struct ieee80211com *ic, u_long cmd, void *data) sc->sc_stats.ast_rx_packets = 0; TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) { ifp = vap->iv_ifp; - sc->sc_stats.ast_tx_packets += ifp->if_get_counter(ifp, + sc->sc_stats.ast_tx_packets += if_getcounter(ifp, IFCOUNTER_OPACKETS); - sc->sc_stats.ast_rx_packets += ifp->if_get_counter(ifp, + sc->sc_stats.ast_rx_packets += if_getcounter(ifp, IFCOUNTER_IPACKETS); } sc->sc_stats.ast_tx_rssi = ATH_RSSI(sc->sc_halstats.ns_avgtxrssi); From nobody Mon Feb 6 17:53:56 2023 X-Original-To: dev-commits-src-main@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 4P9Ym50rr5z3mypx; Mon, 6 Feb 2023 17:53: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ym44jMLz4X5W; Mon, 6 Feb 2023 17:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706036; 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=2AghYqafErmXj8Rs0JaDRTQHrV4DilXy9Ddl3g0HHiU=; b=IXCQWjIpE7tHFDLdVBOANQBeCBwA3i+VRi3BTlLiyAYs9gMj2vRJak7XKpEX6WuNzwXPtS bitL6B1+S7t3hJ7l3LEcW76OVUCvDQNssYytpcMfTNt86aG2A0jY1paPbxcv53dG4tAoyS LEVAr6j/Sd58baDeDYGuGzKJ66T4T+jCUSUs4VD0k/WkOKsIT4mU65KgWbhT3v4Us+F2cu G7jI1w0Z/IYHs6XkNurRGeWUp+W8AkzCrSzpBsHtGv1SjzQmKTMZ1qB+rn9OXBrs1a5qz9 jVgt7lwKkbymnD7np5zYbtQLgN+PY8QizilH+CzB4sI5VyhPXeLFk7UYDcq5Fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706036; 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=2AghYqafErmXj8Rs0JaDRTQHrV4DilXy9Ddl3g0HHiU=; b=SkzHpWk6Fb9S8FrO/hKZYduzotS62R5qlQIcb8/+4gkIH7hQvLOHXt/wy9G7S+Amb96SfG tXsYahrPth+gvnCqFgAexxzxvPtriWVxoMm1XzF9KvDgQ4isxs8aRXDUHscRsaD8SOXoU5 b5qS0L2QAeBn8WqmTKjEOydkR9vgcYf+uiAJd3Ynqgf5HCmTRzz9qo/WpWq30HBDfZAmzU peeB8+qLkNQdaP3V786Jxk+XlW3F9AIdC2QduxkuOzc5dVywERJgqkvG951CiR29QTwclH ggzjQMxFh0E2b0kxu0SmmdIaDs1u61hmDTfUT93+Jk2kojkWWWX5XxNozBct2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706036; a=rsa-sha256; cv=none; b=LeNNh5LXJqWdltADKT1GnX7w4Uz9mEpNHcqsQZqh4GDoEmgJma17MSpvK3ssDIgkINUgJg tNvtaNOJ7aooYP9yJtOF5a0JWevLTY83deeGqfxxYrsb1VtVVHWJIh4ehiKU+dAWTQJStw opaDRtrjwqK9zaUcCfyNLjkj86Fr0e0Jm62U7Z4UqRM0UHjxpAfLLVPmZyDZFTmDCyb7ej H5huCWS6feKsnb8liRx/ZUJM5Z+ICg5TpMOOmdzYDjweuwwIUZAuSYql7k1kyChY1XYUtP X/LTJPIUumaicI+vKNGGuviPxVylwgARaFXaQ4rY1Y5gl4D4pntH53sh/JN49w== 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 4P9Ym43W9qzkMS; Mon, 6 Feb 2023 17:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HruW5074217; Mon, 6 Feb 2023 17:53:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HrujC074216; Mon, 6 Feb 2023 17:53:56 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:53:56 GMT Message-Id: <202302061753.316HrujC074216@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 47842ecfe01d - main - Mechanically convert if_tsec(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 47842ecfe01d19516d7197603e5949d4dbb3e558 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=47842ecfe01d19516d7197603e5949d4dbb3e558 commit 47842ecfe01d19516d7197603e5949d4dbb3e558 Author: Justin Hibbits AuthorDate: 2022-03-01 19:49:10 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:05 +0000 Mechanically convert if_tsec(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37805 --- sys/dev/tsec/if_tsec.c | 159 ++++++++++++++++++++++++------------------------- sys/dev/tsec/if_tsec.h | 2 +- 2 files changed, 80 insertions(+), 81 deletions(-) diff --git a/sys/dev/tsec/if_tsec.c b/sys/dev/tsec/if_tsec.c index 979c0c4e62cc..7680ef43b775 100644 --- a/sys/dev/tsec/if_tsec.c +++ b/sys/dev/tsec/if_tsec.c @@ -73,12 +73,12 @@ static int tsec_alloc_dma_desc(device_t dev, bus_dma_tag_t *dtag, bus_dmamap_t *dmap, bus_size_t dsize, void **vaddr, void *raddr, const char *dname); static void tsec_dma_ctl(struct tsec_softc *sc, int state); -static void tsec_encap(struct ifnet *ifp, struct tsec_softc *sc, +static void tsec_encap(if_t ifp, struct tsec_softc *sc, struct mbuf *m0, uint16_t fcb_flags, int *start_tx); static void tsec_free_dma(struct tsec_softc *sc); static void tsec_free_dma_desc(bus_dma_tag_t dtag, bus_dmamap_t dmap, void *vaddr); -static int tsec_ifmedia_upd(struct ifnet *ifp); -static void tsec_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr); +static int tsec_ifmedia_upd(if_t ifp); +static void tsec_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr); static int tsec_new_rxbuf(bus_dma_tag_t tag, bus_dmamap_t map, struct mbuf **mbufp, uint32_t *paddr); static void tsec_map_dma_addr(void *arg, bus_dma_segment_t *segs, @@ -86,12 +86,12 @@ static void tsec_map_dma_addr(void *arg, bus_dma_segment_t *segs, static void tsec_intrs_ctl(struct tsec_softc *sc, int state); static void tsec_init(void *xsc); static void tsec_init_locked(struct tsec_softc *sc); -static int tsec_ioctl(struct ifnet *ifp, u_long command, caddr_t data); +static int tsec_ioctl(if_t ifp, u_long command, caddr_t data); static void tsec_reset_mac(struct tsec_softc *sc); static void tsec_setfilter(struct tsec_softc *sc); static void tsec_set_mac_address(struct tsec_softc *sc); -static void tsec_start(struct ifnet *ifp); -static void tsec_start_locked(struct ifnet *ifp); +static void tsec_start(if_t ifp); +static void tsec_start_locked(if_t ifp); static void tsec_stop(struct tsec_softc *sc); static void tsec_tick(void *arg); static void tsec_watchdog(struct tsec_softc *sc); @@ -119,7 +119,7 @@ int tsec_attach(struct tsec_softc *sc) { uint8_t hwaddr[ETHER_ADDR_LEN]; - struct ifnet *ifp; + if_t ifp; int error = 0; int i; @@ -247,26 +247,25 @@ tsec_attach(struct tsec_softc *sc) return (ENOMEM); } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(sc->dev), device_get_unit(sc->dev)); - ifp->if_flags = IFF_SIMPLEX | IFF_MULTICAST | IFF_BROADCAST; - ifp->if_init = tsec_init; - ifp->if_start = tsec_start; - ifp->if_ioctl = tsec_ioctl; + if_setflags(ifp, IFF_SIMPLEX | IFF_MULTICAST | IFF_BROADCAST); + if_setinitfn(ifp, tsec_init); + if_setstartfn(ifp, tsec_start); + if_setioctlfn(ifp, tsec_ioctl); - IFQ_SET_MAXLEN(&ifp->if_snd, TSEC_TX_NUM_DESC - 1); - ifp->if_snd.ifq_drv_maxlen = TSEC_TX_NUM_DESC - 1; - IFQ_SET_READY(&ifp->if_snd); + if_setsendqlen(ifp, TSEC_TX_NUM_DESC - 1); + if_setsendqready(ifp); - ifp->if_capabilities = IFCAP_VLAN_MTU; + if_setcapabilities(ifp, IFCAP_VLAN_MTU); if (sc->is_etsec) - ifp->if_capabilities |= IFCAP_HWCSUM; + if_setcapabilitiesbit(ifp, IFCAP_HWCSUM, 0); - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); #ifdef DEVICE_POLLING /* Advertise that polling is supported */ - ifp->if_capabilities |= IFCAP_POLLING; + if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif /* Attach PHY(s) */ @@ -295,7 +294,7 @@ tsec_detach(struct tsec_softc *sc) if (sc->tsec_ifp != NULL) { #ifdef DEVICE_POLLING - if (sc->tsec_ifp->if_capenable & IFCAP_POLLING) + if (sc->tsec_if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(sc->tsec_ifp); #endif @@ -377,11 +376,11 @@ tsec_init_locked(struct tsec_softc *sc) { struct tsec_desc *tx_desc = sc->tsec_tx_vaddr; struct tsec_desc *rx_desc = sc->tsec_rx_vaddr; - struct ifnet *ifp = sc->tsec_ifp; + if_t ifp = sc->tsec_ifp; uint32_t val, i; int timeout; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) return; TSEC_GLOBAL_LOCK_ASSERT(sc); @@ -458,7 +457,7 @@ tsec_init_locked(struct tsec_softc *sc) * ...only if polling is not turned on. Disable interrupts explicitly * if polling is enabled. */ - if (ifp->if_capenable & IFCAP_POLLING ) + if (if_getcapenable(ifp) & IFCAP_POLLING ) tsec_intrs_ctl(sc, 0); else #endif /* DEVICE_POLLING */ @@ -523,7 +522,7 @@ tsec_init_locked(struct tsec_softc *sc) /* Step 19: Configure ethernet frame sizes */ TSEC_WRITE(sc, TSEC_REG_MINFLR, TSEC_MIN_FRAME_SIZE); - tsec_set_mtu(sc, ifp->if_mtu); + tsec_set_mtu(sc, if_getmtu(ifp)); /* Step 20: Enable Rx and RxBD sdata snooping */ TSEC_WRITE(sc, TSEC_REG_ATTR, TSEC_ATTR_RDSEN | TSEC_ATTR_RBDSEN); @@ -556,9 +555,9 @@ tsec_init_locked(struct tsec_softc *sc) tsec_setup_multicast(sc); /* Step 27: Activate network interface */ - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - sc->tsec_if_flags = ifp->if_flags; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); + sc->tsec_if_flags = if_getflags(ifp); sc->tsec_watchdog = 0; /* Schedule watchdog timeout */ @@ -579,7 +578,7 @@ tsec_set_mac_address(struct tsec_softc *sc) sizeof(macbuf))); macbufp = (char *)macbuf; - curmac = (char *)IF_LLADDR(sc->tsec_ifp); + curmac = (char *)if_getlladdr(sc->tsec_ifp); /* Correct order of MAC address bytes */ for (i = 1; i <= ETHER_ADDR_LEN; i++) @@ -693,7 +692,7 @@ tsec_reset_mac(struct tsec_softc *sc) static void tsec_watchdog(struct tsec_softc *sc) { - struct ifnet *ifp; + if_t ifp; TSEC_GLOBAL_LOCK_ASSERT(sc); @@ -709,9 +708,9 @@ tsec_watchdog(struct tsec_softc *sc) } static void -tsec_start(struct ifnet *ifp) +tsec_start(if_t ifp) { - struct tsec_softc *sc = ifp->if_softc; + struct tsec_softc *sc = if_getsoftc(ifp); TSEC_TRANSMIT_LOCK(sc); tsec_start_locked(ifp); @@ -719,7 +718,7 @@ tsec_start(struct ifnet *ifp) } static void -tsec_start_locked(struct ifnet *ifp) +tsec_start_locked(if_t ifp) { struct tsec_softc *sc; struct mbuf *m0; @@ -728,7 +727,7 @@ tsec_start_locked(struct ifnet *ifp) int start_tx; uint16_t fcb_flags; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); start_tx = 0; TSEC_TRANSMIT_LOCK_ASSERT(sc); @@ -742,12 +741,12 @@ tsec_start_locked(struct ifnet *ifp) for (;;) { if (TSEC_FREE_TX_DESC(sc) < TSEC_TX_MAX_DMA_SEGS) { /* No free descriptors */ - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } /* Get packet from the queue */ - IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); + m0 = if_dequeue(ifp); if (m0 == NULL) break; @@ -790,7 +789,7 @@ tsec_start_locked(struct ifnet *ifp) } static void -tsec_encap(struct ifnet *ifp, struct tsec_softc *sc, struct mbuf *m0, +tsec_encap(if_t ifp, struct tsec_softc *sc, struct mbuf *m0, uint16_t fcb_flags, int *start_tx) { bus_dma_segment_t segs[TSEC_TX_MAX_DMA_SEGS]; @@ -872,14 +871,14 @@ tsec_encap(struct ifnet *ifp, struct tsec_softc *sc, struct mbuf *m0, static void tsec_setfilter(struct tsec_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t flags; ifp = sc->tsec_ifp; flags = TSEC_READ(sc, TSEC_REG_RCTRL); /* Promiscuous mode */ - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) flags |= TSEC_RCTRL_PROM; else flags &= ~TSEC_RCTRL_PROM; @@ -891,16 +890,16 @@ tsec_setfilter(struct tsec_softc *sc) static poll_handler_t tsec_poll; static int -tsec_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +tsec_poll(if_t ifp, enum poll_cmd cmd, int count) { uint32_t ie; - struct tsec_softc *sc = ifp->if_softc; + struct tsec_softc *sc = if_getsoftc(ifp); int rx_npkts; rx_npkts = 0; TSEC_GLOBAL_LOCK(sc); - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { TSEC_GLOBAL_UNLOCK(sc); return (rx_npkts); } @@ -926,9 +925,9 @@ tsec_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) #endif /* DEVICE_POLLING */ static int -tsec_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +tsec_ioctl(if_t ifp, u_long command, caddr_t data) { - struct tsec_softc *sc = ifp->if_softc; + struct tsec_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *)data; int mask, error = 0; @@ -936,33 +935,33 @@ tsec_ioctl(struct ifnet *ifp, u_long command, caddr_t data) case SIOCSIFMTU: TSEC_GLOBAL_LOCK(sc); if (tsec_set_mtu(sc, ifr->ifr_mtu)) - ifp->if_mtu = ifr->ifr_mtu; + if_setmtu(ifp, ifr->ifr_mtu); else error = EINVAL; TSEC_GLOBAL_UNLOCK(sc); break; case SIOCSIFFLAGS: TSEC_GLOBAL_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - if ((sc->tsec_if_flags ^ ifp->if_flags) & + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if ((sc->tsec_if_flags ^ if_getflags(ifp)) & IFF_PROMISC) tsec_setfilter(sc); - if ((sc->tsec_if_flags ^ ifp->if_flags) & + if ((sc->tsec_if_flags ^ if_getflags(ifp)) & IFF_ALLMULTI) tsec_setup_multicast(sc); } else tsec_init_locked(sc); - } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) + } else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) tsec_stop(sc); - sc->tsec_if_flags = ifp->if_flags; + sc->tsec_if_flags = if_getflags(ifp); TSEC_GLOBAL_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { TSEC_GLOBAL_LOCK(sc); tsec_setup_multicast(sc); TSEC_GLOBAL_UNLOCK(sc); @@ -973,11 +972,11 @@ tsec_ioctl(struct ifnet *ifp, u_long command, caddr_t data) command); break; case SIOCSIFCAP: - mask = ifp->if_capenable ^ ifr->ifr_reqcap; + mask = if_getcapenable(ifp) ^ ifr->ifr_reqcap; if ((mask & IFCAP_HWCSUM) && sc->is_etsec) { TSEC_GLOBAL_LOCK(sc); - ifp->if_capenable &= ~IFCAP_HWCSUM; - ifp->if_capenable |= IFCAP_HWCSUM & ifr->ifr_reqcap; + if_setcapenablebit(ifp, 0, IFCAP_HWCSUM); + if_setcapenablebit(ifp, IFCAP_HWCSUM & ifr->ifr_reqcap, 0); tsec_offload_setup(sc); TSEC_GLOBAL_UNLOCK(sc); } @@ -991,14 +990,14 @@ tsec_ioctl(struct ifnet *ifp, u_long command, caddr_t data) TSEC_GLOBAL_LOCK(sc); /* Disable interrupts */ tsec_intrs_ctl(sc, 0); - ifp->if_capenable |= IFCAP_POLLING; + if_setcapenablebit(ifp, IFCAP_POLLING, 0); TSEC_GLOBAL_UNLOCK(sc); } else { error = ether_poll_deregister(ifp); TSEC_GLOBAL_LOCK(sc); /* Enable interrupts */ tsec_intrs_ctl(sc, 1); - ifp->if_capenable &= ~IFCAP_POLLING; + if_setcapenablebit(ifp, 0, IFCAP_POLLING); TSEC_GLOBAL_UNLOCK(sc); } } @@ -1010,15 +1009,15 @@ tsec_ioctl(struct ifnet *ifp, u_long command, caddr_t data) } /* Flush buffers if not empty */ - if (ifp->if_flags & IFF_UP) + if (if_getflags(ifp) & IFF_UP) tsec_start(ifp); return (error); } static int -tsec_ifmedia_upd(struct ifnet *ifp) +tsec_ifmedia_upd(if_t ifp) { - struct tsec_softc *sc = ifp->if_softc; + struct tsec_softc *sc = if_getsoftc(ifp); struct mii_data *mii; TSEC_TRANSMIT_LOCK(sc); @@ -1031,9 +1030,9 @@ tsec_ifmedia_upd(struct ifnet *ifp) } static void -tsec_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +tsec_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { - struct tsec_softc *sc = ifp->if_softc; + struct tsec_softc *sc = if_getsoftc(ifp); struct mii_data *mii; TSEC_TRANSMIT_LOCK(sc); @@ -1213,7 +1212,7 @@ tsec_free_dma(struct tsec_softc *sc) static void tsec_stop(struct tsec_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t tmpval; TSEC_GLOBAL_LOCK_ASSERT(sc); @@ -1222,7 +1221,7 @@ tsec_stop(struct tsec_softc *sc) /* Disable interface and watchdog timer */ callout_stop(&sc->tsec_callout); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->tsec_watchdog = 0; /* Disable all interrupts and stop DMA */ @@ -1252,7 +1251,7 @@ static void tsec_tick(void *arg) { struct tsec_softc *sc = arg; - struct ifnet *ifp; + if_t ifp; int link; TSEC_GLOBAL_LOCK(sc); @@ -1265,7 +1264,7 @@ tsec_tick(void *arg) mii_tick(sc->tsec_mii); if (link == 0 && sc->tsec_link == 1 && - (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))) + (!if_sendq_empty(ifp))) tsec_start_locked(ifp); /* Schedule another timeout one second from now. */ @@ -1284,7 +1283,7 @@ static int tsec_receive_intr_locked(struct tsec_softc *sc, int count) { struct tsec_desc *rx_desc; - struct ifnet *ifp; + if_t ifp; struct rx_data_type *rx_data; struct mbuf *m; uint32_t i; @@ -1386,7 +1385,7 @@ tsec_receive_intr_locked(struct tsec_softc *sc, int count) tsec_offload_process_frame(sc, m); TSEC_RECEIVE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); TSEC_RECEIVE_LOCK(sc); rx_npkts++; } @@ -1415,7 +1414,7 @@ tsec_receive_intr(void *arg) TSEC_RECEIVE_LOCK(sc); #ifdef DEVICE_POLLING - if (sc->tsec_ifp->if_capenable & IFCAP_POLLING) { + if (sc->tsec_if_getcapenable(ifp) & IFCAP_POLLING) { TSEC_RECEIVE_UNLOCK(sc); return; } @@ -1431,7 +1430,7 @@ tsec_receive_intr(void *arg) static void tsec_transmit_intr_locked(struct tsec_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t tx_idx; TSEC_TRANSMIT_LOCK_ASSERT(sc); @@ -1481,7 +1480,7 @@ tsec_transmit_intr_locked(struct tsec_softc *sc) bus_dmamap_sync(sc->tsec_tx_dtag, sc->tsec_tx_dmap, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); tsec_start_locked(ifp); if (sc->tx_idx_tail == sc->tx_idx_head) @@ -1496,7 +1495,7 @@ tsec_transmit_intr(void *arg) TSEC_TRANSMIT_LOCK(sc); #ifdef DEVICE_POLLING - if (sc->tsec_ifp->if_capenable & IFCAP_POLLING) { + if (sc->tsec_if_getcapenable(ifp) & IFCAP_POLLING) { TSEC_TRANSMIT_UNLOCK(sc); return; } @@ -1511,7 +1510,7 @@ tsec_transmit_intr(void *arg) static void tsec_error_intr_locked(struct tsec_softc *sc, int count) { - struct ifnet *ifp; + if_t ifp; uint32_t eflags; TSEC_GLOBAL_LOCK_ASSERT(sc); @@ -1541,7 +1540,7 @@ tsec_error_intr_locked(struct tsec_softc *sc, int count) if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1); } - if (ifp->if_flags & IFF_DEBUG) + if (if_getflags(ifp) & IFF_DEBUG) if_printf(ifp, "tsec_error_intr(): event flags: 0x%x\n", eflags); @@ -1817,7 +1816,7 @@ tsec_set_txic(struct tsec_softc *sc) static void tsec_offload_setup(struct tsec_softc *sc) { - struct ifnet *ifp = sc->tsec_ifp; + if_t ifp = sc->tsec_ifp; uint32_t reg; TSEC_GLOBAL_LOCK_ASSERT(sc); @@ -1825,10 +1824,10 @@ tsec_offload_setup(struct tsec_softc *sc) reg = TSEC_READ(sc, TSEC_REG_TCTRL); reg |= TSEC_TCTRL_IPCSEN | TSEC_TCTRL_TUCSEN; - if (ifp->if_capenable & IFCAP_TXCSUM) - ifp->if_hwassist = TSEC_CHECKSUM_FEATURES; + if (if_getcapenable(ifp) & IFCAP_TXCSUM) + if_sethwassist(ifp, TSEC_CHECKSUM_FEATURES); else - ifp->if_hwassist = 0; + if_sethwassist(ifp, 0); TSEC_WRITE(sc, TSEC_REG_TCTRL, reg); @@ -1836,7 +1835,7 @@ tsec_offload_setup(struct tsec_softc *sc) reg &= ~(TSEC_RCTRL_IPCSEN | TSEC_RCTRL_TUCSEN | TSEC_RCTRL_PRSDEP); reg |= TSEC_RCTRL_PRSDEP_PARSE_L2 | TSEC_RCTRL_VLEX; - if (ifp->if_capenable & IFCAP_RXCSUM) + if (if_getcapenable(ifp) & IFCAP_RXCSUM) reg |= TSEC_RCTRL_IPCSEN | TSEC_RCTRL_TUCSEN | TSEC_RCTRL_PRSDEP_PARSE_L234; @@ -1895,12 +1894,12 @@ static void tsec_setup_multicast(struct tsec_softc *sc) { uint32_t hashtable[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; - struct ifnet *ifp = sc->tsec_ifp; + if_t ifp = sc->tsec_ifp; int i; TSEC_GLOBAL_LOCK_ASSERT(sc); - if (ifp->if_flags & IFF_ALLMULTI) { + if (if_getflags(ifp) & IFF_ALLMULTI) { for (i = 0; i < 8; i++) TSEC_WRITE(sc, TSEC_REG_GADDR(i), 0xFFFFFFFF); diff --git a/sys/dev/tsec/if_tsec.h b/sys/dev/tsec/if_tsec.h index dbd8bb7a035b..5fc5a7b8ff70 100644 --- a/sys/dev/tsec/if_tsec.h +++ b/sys/dev/tsec/if_tsec.h @@ -55,7 +55,7 @@ struct tsec_bufmap { struct tsec_softc { /* XXX MII bus requires that struct ifnet is first!!! */ - struct ifnet *tsec_ifp; + if_t tsec_ifp; struct mtx transmit_lock; /* transmitter lock */ struct mtx receive_lock; /* receiver lock */ From nobody Mon Feb 6 17:53:57 2023 X-Original-To: dev-commits-src-main@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 4P9Ym55R4xz3n0gX; Mon, 6 Feb 2023 17:53: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ym557cCz4XKD; Mon, 6 Feb 2023 17:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706037; 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=wAlHbVkm9YAgaETVQTTxt35XEqY8PFbLdwq9pGPqYYQ=; b=CIjuV4l2N53M2uXRe9++wqsDEYwiYixf7fuA0gimWTa75V3sikjvFDvspzW3BEIkp6nv+E zl5vXlhte75yVh0Nh2JZB/veNbS6U5nIDSTyyZPdEKRWpF4rbCnaQr0W1O9lgRi6PhQdTk /34u4gBHI56ce4fFI8ONmPM/bZ4ZU2qle7uaFrBVCBmbgREX2RHbKVSeaMV/DhhBNKpWiW w9N+byGcLD2Pd4H4q/tZ2P5LOZGGeldWlT7jFuTf7GuUHP3OFDjQqVv/iXWkmcRVyvsQIk FIE8L79a8pt2Wt45dpa00R2fiqd7UBHcssGQsSv+DNF9veTSHKQw08YdPoarMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706037; 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=wAlHbVkm9YAgaETVQTTxt35XEqY8PFbLdwq9pGPqYYQ=; b=I4ci6ZkRYTTAZb/0YHV93qriJTspAoFGm29j68pTjE3FTRTeTefi22qtAWJuIbPKaTpUKw YKk1qXjB28TD15doQAekd1WazIuONihaXbLLUJeUQD+erxuabUlMxhOjK7ilhogU545OQx pgEKGJfVXYEbqaeDjdVWjyUfZC6Gk8CUwDdiPe3ZG5tSpdxQlyKtvLs36Y0Jk0vtB7dZ7S 05ka7YC8HMYHVi5yOVRIE1JUEMoVG22/I104rrHhkGpc1gwNb6fXnL8EvBltyknrIJ3SCi s8FLMO0zacwM8IiG59Ec/DBZZXNHvhoNSKSLlVJFzOPVUN3gf5FvHhPQDtdYsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706037; a=rsa-sha256; cv=none; b=k248LKIzRg87lRAH33LqgwnEaEYTZ3LatyhPgyojWavJJI16hWW6gxGJLx8aGl5VJxNP8f 4+S9DtjaAJ8m0lacooa2p4rA5pCtz5jpq18I2TVrMq80Eu5iZxQHJKRbenF+X5g/+htyXu JGcanWurfcsLmfxBx4d4y8RgTyvhGE9phJTS+z8snl7GtoyBoqFWdL4ML8zbvezwAtZ50+ UMOrmNxuosfwTUaVZNZ9n4vl093gHdkdjxLqQf2lODW3cauNw1yD990/UZw5DPXmSoPnSL x2U+1qHDm3Wi7fqPI95VqiE1TNb5yAsba71J+5znloC/X3PLwWGxXFvIo5eyHA== 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 4P9Ym54DY7zkTJ; Mon, 6 Feb 2023 17:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Hrvs0074241; Mon, 6 Feb 2023 17:53:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Hrv7W074240; Mon, 6 Feb 2023 17:53:57 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:53:57 GMT Message-Id: <202302061753.316Hrv7W074240@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 3f14814f05b5 - main - Mechanically convert ae(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3f14814f05b5085b408ea25ae0bca68f4603c0ea Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=3f14814f05b5085b408ea25ae0bca68f4603c0ea commit 3f14814f05b5085b408ea25ae0bca68f4603c0ea Author: Justin Hibbits AuthorDate: 2021-10-26 16:45:58 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:05 +0000 Mechanically convert ae(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37786 --- sys/dev/ae/if_ae.c | 163 +++++++++++++++++++++++++------------------------- sys/dev/ae/if_aevar.h | 2 +- 2 files changed, 82 insertions(+), 83 deletions(-) diff --git a/sys/dev/ae/if_ae.c b/sys/dev/ae/if_ae.c index 1ffd8b06e522..72d4fdca6aa0 100644 --- a/sys/dev/ae/if_ae.c +++ b/sys/dev/ae/if_ae.c @@ -114,8 +114,8 @@ static int ae_detach(device_t dev); static int ae_miibus_readreg(device_t dev, int phy, int reg); static int ae_miibus_writereg(device_t dev, int phy, int reg, int val); static void ae_miibus_statchg(device_t dev); -static void ae_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr); -static int ae_mediachange(struct ifnet *ifp); +static void ae_mediastatus(if_t ifp, struct ifmediareq *ifmr); +static int ae_mediachange(if_t ifp); static void ae_retrieve_address(ae_softc_t *sc); static void ae_dmamap_cb(void *arg, bus_dma_segment_t *segs, int nsegs, int error); @@ -128,8 +128,8 @@ static void ae_powersave_enable(ae_softc_t *sc); static int ae_resume(device_t dev); static unsigned int ae_tx_avail_size(ae_softc_t *sc); static int ae_encap(ae_softc_t *sc, struct mbuf **m_head); -static void ae_start(struct ifnet *ifp); -static void ae_start_locked(struct ifnet *ifp); +static void ae_start(if_t ifp); +static void ae_start_locked(if_t ifp); static void ae_link_task(void *arg, int pending); static void ae_stop_rxmac(ae_softc_t *sc); static void ae_stop_txmac(ae_softc_t *sc); @@ -143,7 +143,7 @@ static void ae_watchdog(ae_softc_t *sc); static void ae_tick(void *arg); static void ae_rxfilter(ae_softc_t *sc); static void ae_rxvlan(ae_softc_t *sc); -static int ae_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data); +static int ae_ioctl(if_t ifp, u_long cmd, caddr_t data); static void ae_stop(ae_softc_t *sc); static int ae_check_eeprom_present(ae_softc_t *sc, int *vpdc); static int ae_vpd_read_word(ae_softc_t *sc, int reg, uint32_t *word); @@ -238,7 +238,7 @@ static int ae_attach(device_t dev) { ae_softc_t *sc; - struct ifnet *ifp; + if_t ifp; uint8_t chiprev; uint32_t pcirev; int nmsi, pmc; @@ -335,22 +335,21 @@ ae_attach(device_t dev) goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = ae_ioctl; - ifp->if_start = ae_start; - ifp->if_init = ae_init; - ifp->if_capabilities = IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING; - ifp->if_hwassist = 0; - ifp->if_snd.ifq_drv_maxlen = ifqmaxlen; - IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, ae_ioctl); + if_setstartfn(ifp, ae_start); + if_setinitfn(ifp, ae_init); + if_setcapabilities(ifp, IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING); + if_sethwassist(ifp, 0); + if_setsendqlen(ifp, ifqmaxlen); + if_setsendqready(ifp); if (pci_find_cap(dev, PCIY_PMG, &pmc) == 0) { - ifp->if_capabilities |= IFCAP_WOL_MAGIC; + if_setcapabilitiesbit(ifp, IFCAP_WOL_MAGIC, 0); sc->flags |= AE_FLAG_PMG; } - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); /* * Configure and attach MII bus. @@ -365,7 +364,7 @@ ae_attach(device_t dev) ether_ifattach(ifp, sc->eaddr); /* Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); /* * Create and run all helper tasks. @@ -557,7 +556,7 @@ ae_phy_init(ae_softc_t *sc) static int ae_init_locked(ae_softc_t *sc) { - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; uint8_t eaddr[ETHER_ADDR_LEN]; uint32_t val; @@ -566,7 +565,7 @@ ae_init_locked(ae_softc_t *sc) AE_LOCK_ASSERT(sc); ifp = sc->ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return (0); mii = device_get_softc(sc->miibus); @@ -584,7 +583,7 @@ ae_init_locked(ae_softc_t *sc) /* * Set the MAC address. */ - bcopy(IF_LLADDR(ifp), eaddr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(ifp), eaddr, ETHER_ADDR_LEN); val = eaddr[2] << 24 | eaddr[3] << 16 | eaddr[4] << 8 | eaddr[5]; AE_WRITE_4(sc, AE_EADDR0_REG, val); val = eaddr[0] << 8 | eaddr[1]; @@ -653,7 +652,7 @@ ae_init_locked(ae_softc_t *sc) /* * Configure MTU. */ - val = ifp->if_mtu + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + + val = if_getmtu(ifp) + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + ETHER_CRC_LEN; AE_WRITE_2(sc, AE_MTU_REG, val); @@ -743,8 +742,8 @@ ae_init_locked(ae_softc_t *sc) callout_reset(&sc->tick_ch, hz, ae_tick, sc); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); #ifdef AE_DEBUG device_printf(sc->dev, "Initialization complete.\n"); @@ -757,7 +756,7 @@ static int ae_detach(device_t dev) { struct ae_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); KASSERT(sc != NULL, ("[ae: %d]: sc is NULL", __LINE__)); @@ -882,12 +881,12 @@ ae_miibus_statchg(device_t dev) } static void -ae_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) +ae_mediastatus(if_t ifp, struct ifmediareq *ifmr) { ae_softc_t *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); KASSERT(sc != NULL, ("[ae, %d]: sc is NULL", __LINE__)); AE_LOCK(sc); @@ -899,7 +898,7 @@ ae_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -ae_mediachange(struct ifnet *ifp) +ae_mediachange(if_t ifp) { ae_softc_t *sc; struct mii_data *mii; @@ -907,7 +906,7 @@ ae_mediachange(struct ifnet *ifp) int error; /* XXX: check IFF_UP ?? */ - sc = ifp->if_softc; + sc = if_getsoftc(ifp); KASSERT(sc != NULL, ("[ae, %d]: sc is NULL", __LINE__)); AE_LOCK(sc); mii = device_get_softc(sc->miibus); @@ -1320,7 +1319,7 @@ ae_powersave_enable(ae_softc_t *sc) static void ae_pm_init(ae_softc_t *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t val; uint16_t pmstat; struct mii_data *mii; @@ -1338,7 +1337,7 @@ ae_pm_init(ae_softc_t *sc) /* * Configure WOL if enabled. */ - if ((ifp->if_capenable & IFCAP_WOL) != 0) { + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) { mii = device_get_softc(sc->miibus); mii_pollstat(mii); if ((mii->mii_media_status & IFM_AVALID) != 0 && @@ -1386,7 +1385,7 @@ ae_pm_init(ae_softc_t *sc) if (pci_find_cap(sc->dev, PCIY_PMG, &pmc) == 0) { pmstat = pci_read_config(sc->dev, pmc + PCIR_POWER_STATUS, 2); pmstat &= ~(PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE); - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) pmstat |= PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE; pci_write_config(sc->dev, pmc + PCIR_POWER_STATUS, pmstat, 2); } @@ -1417,7 +1416,7 @@ ae_resume(device_t dev) AE_LOCK(sc); AE_READ_4(sc, AE_WOL_REG); /* Clear WOL status. */ - if ((sc->ifp->if_flags & IFF_UP) != 0) + if ((if_getflags(sc->ifp) & IFF_UP) != 0) ae_init_locked(sc); AE_UNLOCK(sc); @@ -1512,25 +1511,25 @@ ae_encap(ae_softc_t *sc, struct mbuf **m_head) } static void -ae_start(struct ifnet *ifp) +ae_start(if_t ifp) { ae_softc_t *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); AE_LOCK(sc); ae_start_locked(ifp); AE_UNLOCK(sc); } static void -ae_start_locked(struct ifnet *ifp) +ae_start_locked(if_t ifp) { ae_softc_t *sc; unsigned int count; struct mbuf *m0; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); KASSERT(sc != NULL, ("[ae, %d]: sc is NULL", __LINE__)); AE_LOCK_ASSERT(sc); @@ -1538,21 +1537,21 @@ ae_start_locked(struct ifnet *ifp) if_printf(ifp, "Start called.\n"); #endif - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->flags & AE_FLAG_LINK) == 0) return; count = 0; - while (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); + while (!if_sendq_empty(ifp)) { + m0 = if_dequeue(ifp); if (m0 == NULL) break; /* Nothing to do. */ error = ae_encap(sc, &m0); if (error != 0) { if (m0 != NULL) { - IFQ_DRV_PREPEND(&ifp->if_snd, m0); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m0); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); #ifdef AE_DEBUG if_printf(ifp, "Setting OACTIVE.\n"); #endif @@ -1583,7 +1582,7 @@ ae_link_task(void *arg, int pending) { ae_softc_t *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint32_t val; sc = (ae_softc_t *)arg; @@ -1593,7 +1592,7 @@ ae_link_task(void *arg, int pending) ifp = sc->ifp; mii = device_get_softc(sc->miibus); if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { AE_UNLOCK(sc); /* XXX: could happen? */ return; } @@ -1753,7 +1752,7 @@ static void ae_int_task(void *arg, int pending) { ae_softc_t *sc; - struct ifnet *ifp; + if_t ifp; uint32_t val; sc = (ae_softc_t *)arg; @@ -1777,10 +1776,10 @@ ae_int_task(void *arg, int pending) if_printf(ifp, "Interrupt received: 0x%08x\n", val); #endif - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { if ((val & (AE_ISR_DMAR_TIMEOUT | AE_ISR_DMAW_TIMEOUT | AE_ISR_PHY_LINKDOWN)) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ae_init_locked(sc); AE_UNLOCK(sc); return; @@ -1795,7 +1794,7 @@ ae_int_task(void *arg, int pending) AE_WRITE_4(sc, AE_ISR_REG, 0); if ((sc->flags & AE_FLAG_TXAVAIL) != 0) { - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) ae_start_locked(ifp); } } @@ -1806,7 +1805,7 @@ ae_int_task(void *arg, int pending) static void ae_tx_intr(ae_softc_t *sc) { - struct ifnet *ifp; + if_t ifp; ae_txd_t *txd; ae_txs_t *txs; uint16_t flags; @@ -1862,7 +1861,7 @@ ae_tx_intr(ae_softc_t *sc) } if ((sc->flags & AE_FLAG_TXAVAIL) != 0) - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if (sc->tx_inproc < 0) { if_printf(ifp, "Received stray Tx interrupt(s).\n"); sc->tx_inproc = 0; @@ -1883,7 +1882,7 @@ ae_tx_intr(ae_softc_t *sc) static void ae_rxeof(ae_softc_t *sc, ae_rxd_t *rxd) { - struct ifnet *ifp; + if_t ifp; struct mbuf *m; unsigned int size; uint16_t flags; @@ -1909,7 +1908,7 @@ ae_rxeof(ae_softc_t *sc, ae_rxd_t *rxd) return; } - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0 && + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0 && (flags & AE_RXD_HAS_VLAN) != 0) { m->m_pkthdr.ether_vtag = AE_RXD_VLAN(le16toh(rxd->vlan)); m->m_flags |= M_VLANTAG; @@ -1920,7 +1919,7 @@ ae_rxeof(ae_softc_t *sc, ae_rxd_t *rxd) * Pass it through. */ AE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); AE_LOCK(sc); } @@ -1928,7 +1927,7 @@ static void ae_rx_intr(ae_softc_t *sc) { ae_rxd_t *rxd; - struct ifnet *ifp; + if_t ifp; uint16_t flags; int count; @@ -1977,7 +1976,7 @@ ae_rx_intr(ae_softc_t *sc) static void ae_watchdog(ae_softc_t *sc) { - struct ifnet *ifp; + if_t ifp; KASSERT(sc != NULL, ("[ae, %d]: sc is NULL!", __LINE__)); AE_LOCK_ASSERT(sc); @@ -1992,9 +1991,9 @@ ae_watchdog(ae_softc_t *sc) if_printf(ifp, "watchdog timeout - resetting.\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ae_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) ae_start_locked(ifp); } @@ -2017,14 +2016,14 @@ ae_tick(void *arg) static void ae_rxvlan(ae_softc_t *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t val; AE_LOCK_ASSERT(sc); ifp = sc->ifp; val = AE_READ_4(sc, AE_MAC_REG); val &= ~AE_MAC_RMVLAN_EN; - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) val |= AE_MAC_RMVLAN_EN; AE_WRITE_4(sc, AE_MAC_REG, val); } @@ -2043,7 +2042,7 @@ ae_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void ae_rxfilter(ae_softc_t *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t mchash[2]; uint32_t rxcfg; @@ -2056,11 +2055,11 @@ ae_rxfilter(ae_softc_t *sc) rxcfg = AE_READ_4(sc, AE_MAC_REG); rxcfg &= ~(AE_MAC_MCAST_EN | AE_MAC_BCAST_EN | AE_MAC_PROMISC_EN); - if ((ifp->if_flags & IFF_BROADCAST) != 0) + if ((if_getflags(ifp) & IFF_BROADCAST) != 0) rxcfg |= AE_MAC_BCAST_EN; - if ((ifp->if_flags & IFF_PROMISC) != 0) + if ((if_getflags(ifp) & IFF_PROMISC) != 0) rxcfg |= AE_MAC_PROMISC_EN; - if ((ifp->if_flags & IFF_ALLMULTI) != 0) + if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) rxcfg |= AE_MAC_MCAST_EN; /* @@ -2068,7 +2067,7 @@ ae_rxfilter(ae_softc_t *sc) */ AE_WRITE_4(sc, AE_REG_MHT0, 0); AE_WRITE_4(sc, AE_REG_MHT1, 0); - if ((ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { + if ((if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { AE_WRITE_4(sc, AE_REG_MHT0, 0xffffffff); AE_WRITE_4(sc, AE_REG_MHT1, 0xffffffff); AE_WRITE_4(sc, AE_MAC_REG, rxcfg); @@ -2086,14 +2085,14 @@ ae_rxfilter(ae_softc_t *sc) } static int -ae_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +ae_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct ae_softc *sc; struct ifreq *ifr; struct mii_data *mii; int error, mask; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; error = 0; @@ -2101,11 +2100,11 @@ ae_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) case SIOCSIFMTU: if (ifr->ifr_mtu < ETHERMIN || ifr->ifr_mtu > ETHERMTU) error = EINVAL; - else if (ifp->if_mtu != ifr->ifr_mtu) { + else if (if_getmtu(ifp) != ifr->ifr_mtu) { AE_LOCK(sc); - ifp->if_mtu = ifr->ifr_mtu; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setmtu(ifp, ifr->ifr_mtu); + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ae_init_locked(sc); } AE_UNLOCK(sc); @@ -2113,9 +2112,9 @@ ae_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case SIOCSIFFLAGS: AE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - if (((ifp->if_flags ^ sc->if_flags) + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if (((if_getflags(ifp) ^ sc->if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) ae_rxfilter(sc); } else { @@ -2123,16 +2122,16 @@ ae_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) ae_init_locked(sc); } } else { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) ae_stop(sc); } - sc->if_flags = ifp->if_flags; + sc->if_flags = if_getflags(ifp); AE_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: AE_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) ae_rxfilter(sc); AE_UNLOCK(sc); break; @@ -2143,10 +2142,10 @@ ae_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case SIOCSIFCAP: AE_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if ((mask & IFCAP_VLAN_HWTAGGING) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWTAGGING) != 0) { - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWTAGGING) != 0) { + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); ae_rxvlan(sc); } VLAN_CAPABILITIES(ifp); @@ -2162,13 +2161,13 @@ ae_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) static void ae_stop(ae_softc_t *sc) { - struct ifnet *ifp; + if_t ifp; int i; AE_LOCK_ASSERT(sc); ifp = sc->ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->flags &= ~AE_FLAG_LINK; sc->wd_timer = 0; /* Cancel watchdog. */ callout_stop(&sc->tick_ch); diff --git a/sys/dev/ae/if_aevar.h b/sys/dev/ae/if_aevar.h index b6010e30ec84..ec076ab38958 100644 --- a/sys/dev/ae/if_aevar.h +++ b/sys/dev/ae/if_aevar.h @@ -102,7 +102,7 @@ typedef struct ae_stats { /* Software state structure. */ typedef struct ae_softc { - struct ifnet *ifp; + if_t ifp; device_t dev; device_t miibus; struct resource *mem[1]; From nobody Mon Feb 6 17:53:58 2023 X-Original-To: dev-commits-src-main@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 4P9Ym66F8Cz3n0Tj; Mon, 6 Feb 2023 17:53:58 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ym65m2Pz4XHR; Mon, 6 Feb 2023 17:53:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706038; 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=OhHRO1hjMIK9UXRttYgzD6CJrWCxpfr2w5kn22PnmGQ=; b=ZXt4Otexmubx+cxcHS9mNIbdNBBaWxqGDmMKHrzCyZvSNjpI6dJbYwlf2Kp7dP0ljqm4bG 2nLPbWIHP+HgUmJfpabU+DdSMsb33e3l5coWa2gWLWIb1DzZn6ziQ85/tY4BEEN+Ryt2/C Nlcqn1dcj2eyXGq8UBVA1kvNm3ihDZjwOtluzYQZtW1Zsa06DRO3ijoDmVWL3BvjWAZyIe mOXQQEp7cCD+dHoKPhWHLwFu26M2Y+1WXRJ6bD5dACVvVy/9cxjf6JsWX+48H7dxdx6+R1 S6cAhiAAc3H2gIVFBTvZDfpB1Kf1y9z0+V927c2zACTzvHMRIdkVzOImHmptqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706038; 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=OhHRO1hjMIK9UXRttYgzD6CJrWCxpfr2w5kn22PnmGQ=; b=WfCzH5UVRBev6kArHORs4M9HNZDIdSs2vjlxZxKELXsUzyA7qfGNsqg23SkvySY7leH8OQ 7E0KFPcOYZ5tQ32euH9DvaK5pnq+VQQEA6y/ddOfQWo9NzLuZCIZRuYcv8SnsOSF9Y0FA/ QQJTRRXa/ZbhGonT++rSnWMqSG8cZAYUKahXhEq++eeuNn6vOBeQfz/lh5b1H+H6nKMHpa 1i0vAOHQkrQm93ogjxutx+CAROaEmtJD0IB72cfDd2F49gpLBsvJnKrKDo367iui+1V/dN ZHSaAXPsVsX9jEFJ8iNPSaJYQ0iGOMUjlXdcnP8TUzmxuWTvQrQXvm0TTbw1uA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706038; a=rsa-sha256; cv=none; b=k/YAm++YQGiVl3MLOYM3nCXtdVwXgciZlEeL46X9D1mauJqTB/Lt3TU8jq6HS3+jU4nw5S dTq02uAnI8IuUmdfIQCeaDVcdxNC0GaeLdSmTkz7jj7zRj/VFljE9NtdQz1hA0BfHSq9wr uBY9n5xnC829XIHgOMwaONylv3jh1t/oxe7s+YcsGntPRN1fRjBcNBGDm2QxjF3a2D3oFZ vMp0vv04NMgI1l2CVgDycevzpvHZrY91tRe2JsVzZFdN48LTgXzIIOPMhD6JJC/SsDoLPj H2Bsh6EnNs60s6m76vSZir/UM9YiZH2yze0TtngWtsMoVr97qf9n5vszj1bIqg== 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 4P9Ym64ZmQzkjS; Mon, 6 Feb 2023 17:53:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Hrwid074267; Mon, 6 Feb 2023 17:53:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HrwHm074266; Mon, 6 Feb 2023 17:53:58 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:53:58 GMT Message-Id: <202302061753.316HrwHm074266@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 76614fdc8c7b - main - Mechanically convert iwi(4) and iwn(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 76614fdc8c7b1a1a6f35471c91a247a91d70500c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=76614fdc8c7b1a1a6f35471c91a247a91d70500c commit 76614fdc8c7b1a1a6f35471c91a247a91d70500c Author: Justin Hibbits AuthorDate: 2022-09-19 20:47:17 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:05 +0000 Mechanically convert iwi(4) and iwn(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37849 --- sys/dev/iwi/if_iwi.c | 10 +++++----- sys/dev/iwn/if_iwn.c | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/dev/iwi/if_iwi.c b/sys/dev/iwi/if_iwi.c index 8cd27091d2d9..7456f43a2259 100644 --- a/sys/dev/iwi/if_iwi.c +++ b/sys/dev/iwi/if_iwi.c @@ -160,7 +160,7 @@ static void iwi_free_rx_ring(struct iwi_softc *, struct iwi_rx_ring *); static struct ieee80211_node *iwi_node_alloc(struct ieee80211vap *, const uint8_t [IEEE80211_ADDR_LEN]); static void iwi_node_free(struct ieee80211_node *); -static void iwi_media_status(struct ifnet *, struct ifmediareq *); +static void iwi_media_status(if_t, struct ifmediareq *); static int iwi_newstate(struct ieee80211vap *, enum ieee80211_state, int); static void iwi_wme_init(struct iwi_softc *); static int iwi_wme_setparams(struct iwi_softc *); @@ -920,9 +920,9 @@ iwi_cvtrate(int iwirate) * value here. */ static void -iwi_media_status(struct ifnet *ifp, struct ifmediareq *imr) +iwi_media_status(if_t ifp, struct ifmediareq *imr) { - struct ieee80211vap *vap = ifp->if_softc; + struct ieee80211vap *vap = if_getsoftc(ifp); struct ieee80211com *ic = vap->iv_ic; struct iwi_softc *sc = ic->ic_softc; struct ieee80211_node *ni; @@ -2825,7 +2825,7 @@ static int iwi_auth_and_assoc(struct iwi_softc *sc, struct ieee80211vap *vap) { struct ieee80211com *ic = vap->iv_ic; - struct ifnet *ifp = vap->iv_ifp; + if_t ifp = vap->iv_ifp; struct ieee80211_node *ni; struct iwi_configuration config; struct iwi_associate *assoc = &sc->assoc; @@ -2972,7 +2972,7 @@ iwi_auth_and_assoc(struct iwi_softc *sc, struct ieee80211vap *vap) assoc->intval = htole16(ni->ni_intval); IEEE80211_ADDR_COPY(assoc->bssid, ni->ni_bssid); if (vap->iv_opmode == IEEE80211_M_IBSS) - IEEE80211_ADDR_COPY(assoc->dst, ifp->if_broadcastaddr); + IEEE80211_ADDR_COPY(assoc->dst, if_getbroadcastaddr(ifp)); else IEEE80211_ADDR_COPY(assoc->dst, ni->ni_bssid); diff --git a/sys/dev/iwn/if_iwn.c b/sys/dev/iwn/if_iwn.c index 13a0f03f88a0..8795032fc3ae 100644 --- a/sys/dev/iwn/if_iwn.c +++ b/sys/dev/iwn/if_iwn.c @@ -7152,9 +7152,9 @@ iwn_scan(struct iwn_softc *sc, struct ieee80211vap *vap, wh->i_fc[0] = IEEE80211_FC0_VERSION_0 | IEEE80211_FC0_TYPE_MGT | IEEE80211_FC0_SUBTYPE_PROBE_REQ; wh->i_fc[1] = IEEE80211_FC1_DIR_NODS; - IEEE80211_ADDR_COPY(wh->i_addr1, vap->iv_ifp->if_broadcastaddr); - IEEE80211_ADDR_COPY(wh->i_addr2, IF_LLADDR(vap->iv_ifp)); - IEEE80211_ADDR_COPY(wh->i_addr3, vap->iv_ifp->if_broadcastaddr); + IEEE80211_ADDR_COPY(wh->i_addr1, if_getbroadcastaddr(vap->iv_ifp)); + IEEE80211_ADDR_COPY(wh->i_addr2, if_getlladdr(vap->iv_ifp)); + IEEE80211_ADDR_COPY(wh->i_addr3, if_getbroadcastaddr(vap->iv_ifp)); *(uint16_t *)&wh->i_dur[0] = 0; /* filled by HW */ *(uint16_t *)&wh->i_seq[0] = 0; /* filled by HW */ From nobody Mon Feb 6 17:53:59 2023 X-Original-To: dev-commits-src-main@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 4P9Ym804qyz3n0Tm; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ym76k5Vz4XNH; Mon, 6 Feb 2023 17:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706039; 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=yYcQjSKqnP4q3uI9FpWioEKNFcpb8uY79BBt6p3tAk0=; b=Nn1DULfeoycTb04GhO10k95TVFtoveuue0d7MWItO5CR8REh1KlnCY8dQ+RjAEsK9eAYTd Zw29GpDDHwpQCO5De3eRr/ZpqQxc+NH2M0Q0CKLtdTbrw5fAtsEj5qjSqHbCBnLWxrQzyT 19mv6SA6p7XDQ/6O/ihXrODGJaXO0hMAfrfBQT4Dh1pzuH4DgRgcr4cdm9nrIHDDGVglWs ETJ35wMtmjjCjVE26/aBIe0cJcLF1jMj/D8TlX+7IEKgdL8B4JOTyPKw076yxdfIq2EgjR OhrLSkA40lAFhFmm9aO+jEmyx7TFrWV4KO+0oVQYL9liJlAQQryVa9fsTG3yiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706039; 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=yYcQjSKqnP4q3uI9FpWioEKNFcpb8uY79BBt6p3tAk0=; b=whsEzZseZACi9518HGWXRYBz/d8HM0fG/lDv3g9mQHkBzhy5/wVj5iMdA6l8vDlcbNQH4m sd5HttN0kvXEfMoIKJdH2auh6F+GmzMCYfwt3VsGY1Ya/+otEB+0vInIfEGOLi+cQOl+Cv Xil8FfhnK6hS7DdCFMMeTuYTw6RT7mUkL3CHcDa9pgsGhjoL4wO4r/aIL3SXA0x+uluLMy LljMRpZhFYmWjt7n3uEK45NhL+RK/2sz4EqvlrqwybW5erLBGhX2+AdqDynpo4iJrW/COD WQ3DtmqyVEVxi3eZGxJzpmMAt1CKyYNpq32Y8MW2Vb04M9JDPrwLFau48fx4wQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706039; a=rsa-sha256; cv=none; b=v/F0cec/iEQH3Oa3B/mZvwW3Cymwdvqp+WXAWE9T/vN2Y+MWba9f1Cjib3WMCoS/XHWpDU bBBX5dGJqGD6+8maAPKk2QWpQDFIEjDZFcdCpsDOzUXrGAxqja5Jg6WHQZMNzmaSQ3OhGm RcMIrec7ZYI18DsSaP0LHLC7zSZzhJYqnnFdi/jnGg4ibPGqvNoV33WqHaUUspkT1bvHn2 fXkvJgU0gECQecHQBj2f68Q3LcIEcEZSbdQYkW+TUDKFaQeyMM38tR8j9vDiLI1HsPuot/ eHVEqicsFeUe6bg2kL4Tx5Vk32Z9AO5OVknGKInZbSx0MpRIvWAqc0Q8lDl20w== 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 4P9Ym75nnZzkMT; Mon, 6 Feb 2023 17:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HrxGC074297; Mon, 6 Feb 2023 17:53:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Hrxwv074296; Mon, 6 Feb 2023 17:53:59 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:53:59 GMT Message-Id: <202302061753.316Hrxwv074296@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 2568cd2ae95a - main - Mechanically convert if_plip(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2568cd2ae95a541c5d58e9efec29fbae146b69e3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=2568cd2ae95a541c5d58e9efec29fbae146b69e3 commit 2568cd2ae95a541c5d58e9efec29fbae146b69e3 Author: Justin Hibbits AuthorDate: 2022-09-26 14:33:20 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:06 +0000 Mechanically convert if_plip(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37854 --- sys/dev/ppbus/if_plip.c | 92 +++++++++++++++++++++++-------------------------- 1 file changed, 43 insertions(+), 49 deletions(-) diff --git a/sys/dev/ppbus/if_plip.c b/sys/dev/ppbus/if_plip.c index e92896e9421f..91ac58ed484d 100644 --- a/sys/dev/ppbus/if_plip.c +++ b/sys/dev/ppbus/if_plip.c @@ -175,8 +175,8 @@ static u_char *ctxmith; /* Functions for the lp# interface */ static int lpinittables(void); -static int lpioctl(struct ifnet *, u_long, caddr_t); -static int lpoutput(struct ifnet *, struct mbuf *, const struct sockaddr *, +static int lpioctl(if_t, u_long, caddr_t); +static int lpoutput(if_t, struct mbuf *, const struct sockaddr *, struct route *); static void lpstop(struct lp_data *); static void lp_intr(void *); @@ -234,7 +234,7 @@ static int lp_attach(device_t dev) { struct lp_data *lp = DEVTOSOFTC(dev); - struct ifnet *ifp; + if_t ifp; int error, rid = 0; lp->sc_dev = dev; @@ -255,15 +255,13 @@ lp_attach(device_t dev) return (ENOSPC); } - ifp->if_softc = lp; + if_setsoftc(ifp, lp); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_mtu = LPMTU; - ifp->if_flags = IFF_SIMPLEX | IFF_POINTOPOINT | IFF_MULTICAST; - ifp->if_ioctl = lpioctl; - ifp->if_output = lpoutput; - ifp->if_hdrlen = 0; - ifp->if_addrlen = 0; - ifp->if_snd.ifq_maxlen = ifqmaxlen; + if_setmtu(ifp, LPMTU); + if_setflags(ifp, IFF_SIMPLEX | IFF_POINTOPOINT | IFF_MULTICAST); + if_setioctlfn(ifp, lpioctl); + if_setoutputfn(ifp, lpoutput); + if_setsendqlen(ifp, ifqmaxlen); if_attach(ifp); bpfattach(ifp, DLT_NULL, sizeof(u_int32_t)); @@ -353,7 +351,7 @@ lpstop(struct lp_data *sc) ppb_assert_locked(ppbus); ppb_wctr(ppbus, 0x00); - sc->sc_ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(sc->sc_ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); free(sc->sc_ifbuf, M_DEVBUF); sc->sc_ifbuf = NULL; @@ -362,9 +360,9 @@ lpstop(struct lp_data *sc) } static int -lpinit_locked(struct ifnet *ifp) +lpinit_locked(if_t ifp) { - struct lp_data *sc = ifp->if_softc; + struct lp_data *sc = if_getsoftc(ifp); device_t dev = sc->sc_dev; device_t ppbus = device_get_parent(dev); int error; @@ -382,7 +380,7 @@ lpinit_locked(struct ifnet *ifp) return (ENOBUFS); } - sc->sc_ifbuf = malloc(sc->sc_ifp->if_mtu + MLPIPHDRLEN, + sc->sc_ifbuf = malloc(if_getmtu(sc->sc_ifp) + MLPIPHDRLEN, M_DEVBUF, M_NOWAIT); if (sc->sc_ifbuf == NULL) { ppb_release_bus(ppbus, dev); @@ -391,8 +389,8 @@ lpinit_locked(struct ifnet *ifp) ppb_wctr(ppbus, IRQENABLE); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); return (0); } @@ -400,9 +398,9 @@ lpinit_locked(struct ifnet *ifp) * Process an ioctl request. */ static int -lpioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +lpioctl(if_t ifp, u_long cmd, caddr_t data) { - struct lp_data *sc = ifp->if_softc; + struct lp_data *sc = if_getsoftc(ifp); device_t dev = sc->sc_dev; device_t ppbus = device_get_parent(dev); struct ifaddr *ifa = (struct ifaddr *)data; @@ -416,23 +414,23 @@ lpioctl(struct ifnet *ifp, u_long cmd, caddr_t data) if (ifa->ifa_addr->sa_family != AF_INET) return (EAFNOSUPPORT); - ifp->if_flags |= IFF_UP; + if_setflagbits(ifp, IFF_UP, 0); /* FALLTHROUGH */ case SIOCSIFFLAGS: error = 0; ppb_lock(ppbus); - if ((!(ifp->if_flags & IFF_UP)) && - (ifp->if_drv_flags & IFF_DRV_RUNNING)) + if ((!(if_getflags(ifp) & IFF_UP)) && + (if_getdrvflags(ifp) & IFF_DRV_RUNNING)) lpstop(sc); - else if (((ifp->if_flags & IFF_UP)) && - (!(ifp->if_drv_flags & IFF_DRV_RUNNING))) + else if (((if_getflags(ifp) & IFF_UP)) && + (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING))) error = lpinit_locked(ifp); ppb_unlock(ppbus); return (error); case SIOCSIFMTU: ppb_lock(ppbus); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { ptr = malloc(ifr->ifr_mtu + MLPIPHDRLEN, M_DEVBUF, M_NOWAIT); if (ptr == NULL) { @@ -443,12 +441,12 @@ lpioctl(struct ifnet *ifp, u_long cmd, caddr_t data) free(sc->sc_ifbuf, M_DEVBUF); sc->sc_ifbuf = ptr; } - sc->sc_ifp->if_mtu = ifr->ifr_mtu; + if_setmtu(ifp, ifr->ifr_mtu); ppb_unlock(ppbus); break; case SIOCGIFMTU: - ifr->ifr_mtu = sc->sc_ifp->if_mtu; + ifr->ifr_mtu = if_getmtu(sc->sc_ifp); break; case SIOCADDMULTI: @@ -518,11 +516,11 @@ clpinbyte(int spin, device_t ppbus) } static void -lptap(struct ifnet *ifp, struct mbuf *m) +lptap(if_t ifp, struct mbuf *m) { u_int32_t af = AF_INET; - bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m); + bpf_mtap2_if(ifp, &af, sizeof(af), m); } static void @@ -536,7 +534,7 @@ lp_intr(void *arg) struct mbuf *top; ppb_assert_locked(ppbus); - if (sc->sc_ifp->if_flags & IFF_LINK0) { + if (if_getflags(sc->sc_ifp) & IFF_LINK0) { /* Ack. the request */ ppb_wdtr(ppbus, 0x01); @@ -549,7 +547,7 @@ lp_intr(void *arg) if (j == -1) goto err; len = len + (j << 8); - if (len > sc->sc_ifp->if_mtu + MLPIPHDRLEN) + if (len > if_getmtu(sc->sc_ifp) + MLPIPHDRLEN) goto err; bp = sc->sc_ifbuf; @@ -581,10 +579,9 @@ lp_intr(void *arg) 0); if (top) { ppb_unlock(ppbus); - if (bpf_peers_present(sc->sc_ifp->if_bpf)) - lptap(sc->sc_ifp, top); + lptap(sc->sc_ifp, top); - M_SETFIB(top, sc->sc_ifp->if_fib); + M_SETFIB(top, if_getfib(sc->sc_ifp)); /* mbuf is free'd on failure. */ netisr_queue(NETISR_IP, top); @@ -593,7 +590,7 @@ lp_intr(void *arg) return; } while ((ppb_rstr(ppbus) & LPIP_SHAKE)) { - len = sc->sc_ifp->if_mtu + LPIPHDRLEN; + len = if_getmtu(sc->sc_ifp) + LPIPHDRLEN; bp = sc->sc_ifbuf; while (len--) { cl = ppb_rstr(ppbus); @@ -634,10 +631,9 @@ lp_intr(void *arg) 0); if (top) { ppb_unlock(ppbus); - if (bpf_peers_present(sc->sc_ifp->if_bpf)) - lptap(sc->sc_ifp, top); + lptap(sc->sc_ifp, top); - M_SETFIB(top, sc->sc_ifp->if_fib); + M_SETFIB(top, if_getfib(sc->sc_ifp)); /* mbuf is free'd on failure. */ netisr_queue(NETISR_IP, top); @@ -659,7 +655,7 @@ err: if (sc->sc_iferrs > LPMAXERRS) { if_printf(sc->sc_ifp, "Too many errors, Going off-line.\n"); ppb_wctr(ppbus, 0x00); - sc->sc_ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(sc->sc_ifp, 0, IFF_DRV_RUNNING); sc->sc_iferrs = 0; } } @@ -680,10 +676,10 @@ lpoutbyte(u_char byte, int spin, device_t ppbus) } static int -lpoutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, +lpoutput(if_t ifp, struct mbuf *m, const struct sockaddr *dst, struct route *ro) { - struct lp_data *sc = ifp->if_softc; + struct lp_data *sc = if_getsoftc(ifp); device_t dev = sc->sc_dev; device_t ppbus = device_get_parent(dev); int err; @@ -696,14 +692,14 @@ lpoutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, /* We need a sensible value if we abort */ cp++; ppb_lock(ppbus); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); err = 1; /* assume we're aborting because of an error */ /* Suspend (on laptops) or receive-errors might have taken us offline */ ppb_wctr(ppbus, IRQENABLE); - if (ifp->if_flags & IFF_LINK0) { + if (if_getflags(ifp) & IFF_LINK0) { if (!(ppb_rstr(ppbus) & CLPIP_SHAKE)) { lprintf("&"); lp_intr(sc); @@ -764,15 +760,14 @@ lpoutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, err = 0; /* No errors */ nend: - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if (err) { /* if we didn't timeout... */ if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); lprintf("X"); } else { if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); if_inc_counter(ifp, IFCOUNTER_OBYTES, m->m_pkthdr.len); - if (bpf_peers_present(ifp->if_bpf)) - lptap(ifp, m); + lptap(ifp, m); } m_freem(m); @@ -810,15 +805,14 @@ end: --cp; ppb_wdtr(ppbus, txmitl[*cp] ^ 0x17); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if (err) { /* if we didn't timeout... */ if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); lprintf("X"); } else { if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); if_inc_counter(ifp, IFCOUNTER_OBYTES, m->m_pkthdr.len); - if (bpf_peers_present(ifp->if_bpf)) - lptap(ifp, m); + lptap(ifp, m); } m_freem(m); From nobody Mon Feb 6 17:54:00 2023 X-Original-To: dev-commits-src-main@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 4P9Ym93X63z3n0XH; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ym90NvHz4XQk; Mon, 6 Feb 2023 17:54:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706041; 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=LXF0kLaD/zeqzDCukfwZYGK00ZFPP5Y7+7BUEqBUp+8=; b=qdZUGg4nUPYxdkhtWbMgf3J/0+GxbC3TcKfWhI8Y9qzyKuFOdt2aS1BWSafkzGVd/4APvJ gpQ7IrPdoflbYbIgNjhcEutQUe81CuNgqiqJY5QVdRzrFLktrXnK8sYx1EFisJZ9XaKj+Z 3i8bJ+0JufXODAq04cqm35A+RsZo1U2E4DMVuhOiD8gCedchbnqJxwjQ+BZDWGAdoWpKYb xKigut6ziCefQ1L3UM9+uG3npfIlFFWCLGKuNq4VakW8VRRkBy5Apo77yxxba+oU9JVREv TgaJk1uzJDv3Fozvu0IGKtFVuwCkxTjGB7o4Vc0vvWij1wSLLlWNOBoXQBQEkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706041; 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=LXF0kLaD/zeqzDCukfwZYGK00ZFPP5Y7+7BUEqBUp+8=; b=XDO1WYO7bUJYp+FLOhmiD4/O1xJDsPXw8dg47bGvAbKoxA/sw/15OQzQsf/aeAK/51xsCn t8lA38bcVdNHsbTIIaMDsiQsP1bwAdHL7yAOXVxeP6KMu1DCdYCQPI6OopOkq0QrRWdBSK wX0EkOJPOUqllZ12rvAlegP2wDmJA0JUl90IdOSeyFdywEqnddsGeiFpYlj2FbG9ycxxP/ ctVh4Pz3Uf9OVB1H+Sc/uloLG7lql+p33+bxYDGAP4iRVUGqGK1acJpcVJwYOniBnnXShj T1+L5Nv2yvolU7n0mdbKhYAYdB9coQWO2BAKLGiP5qX9LS9yj7AXRWlKPb29Cw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706041; a=rsa-sha256; cv=none; b=HBQkF+krZbCRzhUE8nJpcMhkVDfvRpTLwpK1yY5+sJBtdGrXNF/BeWhA1x9+qnUGsVIkau ylU+saqcI1hvZTAxauE+/DQUwVpJZ9eskp3bWqmqP7IEqGv7qMRTyoPyA18rGFIb+22HLm GRnv3s+4OiGKE5gk+BPvsBTfg6LoRHZrBTCqWfi1xV2QHffHkwg+g/DqSHoLjlh9n+3nUl aP4gkHnDJf0NJNI82aDX32IJOVPRbDrdASYx9Xcqezc2Kw85I8YKNBVxezCIl5FZAXqM/p kSz9hSc+KWYzKZKztylyMGJeF6SFLjCA7Ic6MFf9STvXTOvBmJ5xdUa5pZSm2Q== 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 4P9Ym86cTwzk1l; Mon, 6 Feb 2023 17:54:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Hs0Xo074321; Mon, 6 Feb 2023 17:54:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Hs0hI074320; Mon, 6 Feb 2023 17:54:00 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:00 GMT Message-Id: <202302061754.316Hs0hI074320@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: de17d6f9a694 - main - Mechanically convert if_ti(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: de17d6f9a6944dfc182ba538e0ec5a0a8c03284e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=de17d6f9a6944dfc182ba538e0ec5a0a8c03284e commit de17d6f9a6944dfc182ba538e0ec5a0a8c03284e Author: Justin Hibbits AuthorDate: 2022-03-01 19:50:19 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:06 +0000 Mechanically convert if_ti(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37806 --- sys/dev/ti/if_ti.c | 223 +++++++++++++++++++++++++------------------------- sys/dev/ti/if_tireg.h | 2 +- 2 files changed, 112 insertions(+), 113 deletions(-) diff --git a/sys/dev/ti/if_ti.c b/sys/dev/ti/if_ti.c index 80815e4f848b..4ecda726310f 100644 --- a/sys/dev/ti/if_ti.c +++ b/sys/dev/ti/if_ti.c @@ -188,19 +188,19 @@ static void ti_rxeof(struct ti_softc *); static int ti_encap(struct ti_softc *, struct mbuf **); static void ti_intr(void *); -static void ti_start(struct ifnet *); -static void ti_start_locked(struct ifnet *); -static int ti_ioctl(struct ifnet *, u_long, caddr_t); -static uint64_t ti_get_counter(struct ifnet *, ift_counter); +static void ti_start(if_t); +static void ti_start_locked(if_t); +static int ti_ioctl(if_t, u_long, caddr_t); +static uint64_t ti_get_counter(if_t, ift_counter); static void ti_init(void *); static void ti_init_locked(void *); static void ti_init2(struct ti_softc *); static void ti_stop(struct ti_softc *); static void ti_watchdog(void *); static int ti_shutdown(device_t); -static int ti_ifmedia_upd(struct ifnet *); +static int ti_ifmedia_upd(if_t); static int ti_ifmedia_upd_locked(struct ti_softc *); -static void ti_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static void ti_ifmedia_sts(if_t, struct ifmediareq *); static uint32_t ti_eeprom_putbyte(struct ti_softc *, int); static uint8_t ti_eeprom_getbyte(struct ti_softc *, int, uint8_t *); @@ -925,20 +925,20 @@ ti_handle_events(struct ti_softc *sc) sc->ti_linkstat = TI_EVENT_CODE(e); if (sc->ti_linkstat == TI_EV_CODE_LINK_UP) { if_link_state_change(sc->ti_ifp, LINK_STATE_UP); - sc->ti_ifp->if_baudrate = IF_Mbps(100); + if_setbaudrate(sc->ti_ifp, IF_Mbps(100)); if (bootverbose) device_printf(sc->ti_dev, "10/100 link up\n"); } else if (sc->ti_linkstat == TI_EV_CODE_GIG_LINK_UP) { if_link_state_change(sc->ti_ifp, LINK_STATE_UP); - sc->ti_ifp->if_baudrate = IF_Gbps(1UL); + if_setbaudrate(sc->ti_ifp, IF_Gbps(1UL)); if (bootverbose) device_printf(sc->ti_dev, "gigabit link up\n"); } else if (sc->ti_linkstat == TI_EV_CODE_LINK_DOWN) { if_link_state_change(sc->ti_ifp, LINK_STATE_DOWN); - sc->ti_ifp->if_baudrate = 0; + if_setbaudrate(sc->ti_ifp, 0); if (bootverbose) device_printf(sc->ti_dev, "link down\n"); @@ -1418,7 +1418,7 @@ ti_newbuf_std(struct ti_softc *sc, int i) r->ti_flags = 0; r->ti_vlan_tag = 0; r->ti_tcp_udp_cksum = 0; - if (sc->ti_ifp->if_capenable & IFCAP_RXCSUM) + if (if_getcapenable(sc->ti_ifp) & IFCAP_RXCSUM) r->ti_flags |= TI_BDFLAG_TCP_UDP_CKSUM | TI_BDFLAG_IP_CKSUM; r->ti_idx = i; @@ -1473,7 +1473,7 @@ ti_newbuf_mini(struct ti_softc *sc, int i) r->ti_flags = TI_BDFLAG_MINI_RING; r->ti_vlan_tag = 0; r->ti_tcp_udp_cksum = 0; - if (sc->ti_ifp->if_capenable & IFCAP_RXCSUM) + if (if_getcapenable(sc->ti_ifp) & IFCAP_RXCSUM) r->ti_flags |= TI_BDFLAG_TCP_UDP_CKSUM | TI_BDFLAG_IP_CKSUM; r->ti_idx = i; @@ -1532,7 +1532,7 @@ ti_newbuf_jumbo(struct ti_softc *sc, int i, struct mbuf *dummy) r->ti_flags = TI_BDFLAG_JUMBO_RING; r->ti_vlan_tag = 0; r->ti_tcp_udp_cksum = 0; - if (sc->ti_ifp->if_capenable & IFCAP_RXCSUM) + if (if_getcapenable(sc->ti_ifp) & IFCAP_RXCSUM) r->ti_flags |= TI_BDFLAG_TCP_UDP_CKSUM | TI_BDFLAG_IP_CKSUM; r->ti_idx = i; @@ -1672,7 +1672,7 @@ ti_newbuf_jumbo(struct ti_softc *sc, int idx, struct mbuf *m_old) r->ti_flags = TI_BDFLAG_JUMBO_RING|TI_RCB_FLAG_USE_EXT_RX_BD; - if (sc->ti_ifp->if_capenable & IFCAP_RXCSUM) + if (if_getcapenable(sc->ti_ifp) & IFCAP_RXCSUM) r->ti_flags |= TI_BDFLAG_TCP_UDP_CKSUM|TI_BDFLAG_IP_CKSUM; r->ti_idx = idx; @@ -1946,7 +1946,7 @@ ti_del_mcast(void *arg, struct sockaddr_dl *sdl, u_int count) static void ti_setmulti(struct ti_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct ti_cmd_desc cmd; uint32_t intrs; @@ -1954,7 +1954,7 @@ ti_setmulti(struct ti_softc *sc) ifp = sc->ti_ifp; - if (ifp->if_flags & IFF_ALLMULTI) { + if (if_getflags(ifp) & IFF_ALLMULTI) { TI_DO_CMD(TI_CMD_SET_ALLMULTI, TI_CMD_CODE_ALLMULTI_ENB, 0); return; } else { @@ -2135,7 +2135,7 @@ ti_chipinit(struct ti_softc *sc) * the firmware racks up lots of nicDmaReadRingFull * errors. This is not compatible with hardware checksums. */ - if ((sc->ti_ifp->if_capenable & (IFCAP_TXCSUM | IFCAP_RXCSUM)) == 0) + if ((if_getcapenable(sc->ti_ifp) & (IFCAP_TXCSUM | IFCAP_RXCSUM)) == 0) TI_SETBIT(sc, TI_GCR_OPMODE, TI_OPMODE_1_DMA_ACTIVE); /* Recommended settings from Tigon manual. */ @@ -2158,7 +2158,7 @@ ti_chipinit(struct ti_softc *sc) static int ti_gibinit(struct ti_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct ti_rcb *rcb; int i; @@ -2218,10 +2218,10 @@ ti_gibinit(struct ti_softc *sc) ti_hostaddr64(&rcb->ti_hostaddr, sc->ti_rdata.ti_rx_std_ring_paddr); rcb->ti_max_len = TI_FRAMELEN; rcb->ti_flags = 0; - if (ifp->if_capenable & IFCAP_RXCSUM) + if (if_getcapenable(ifp) & IFCAP_RXCSUM) rcb->ti_flags |= TI_RCB_FLAG_TCP_UDP_CKSUM | TI_RCB_FLAG_IP_CKSUM | TI_RCB_FLAG_NO_PHDR_CKSUM; - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) + if (if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) rcb->ti_flags |= TI_RCB_FLAG_VLAN_ASSIST; /* Set up the jumbo receive ring. */ @@ -2235,10 +2235,10 @@ ti_gibinit(struct ti_softc *sc) rcb->ti_max_len = PAGE_SIZE; rcb->ti_flags = TI_RCB_FLAG_USE_EXT_RX_BD; #endif - if (ifp->if_capenable & IFCAP_RXCSUM) + if (if_getcapenable(ifp) & IFCAP_RXCSUM) rcb->ti_flags |= TI_RCB_FLAG_TCP_UDP_CKSUM | TI_RCB_FLAG_IP_CKSUM | TI_RCB_FLAG_NO_PHDR_CKSUM; - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) + if (if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) rcb->ti_flags |= TI_RCB_FLAG_VLAN_ASSIST; /* @@ -2253,10 +2253,10 @@ ti_gibinit(struct ti_softc *sc) rcb->ti_flags = TI_RCB_FLAG_RING_DISABLED; else rcb->ti_flags = 0; - if (ifp->if_capenable & IFCAP_RXCSUM) + if (if_getcapenable(ifp) & IFCAP_RXCSUM) rcb->ti_flags |= TI_RCB_FLAG_TCP_UDP_CKSUM | TI_RCB_FLAG_IP_CKSUM | TI_RCB_FLAG_NO_PHDR_CKSUM; - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) + if (if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) rcb->ti_flags |= TI_RCB_FLAG_VLAN_ASSIST; /* @@ -2287,9 +2287,9 @@ ti_gibinit(struct ti_softc *sc) rcb->ti_flags = 0; else rcb->ti_flags = TI_RCB_FLAG_HOST_RING; - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) + if (if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) rcb->ti_flags |= TI_RCB_FLAG_VLAN_ASSIST; - if (ifp->if_capenable & IFCAP_TXCSUM) + if (if_getcapenable(ifp) & IFCAP_TXCSUM) rcb->ti_flags |= TI_RCB_FLAG_TCP_UDP_CKSUM | TI_RCB_FLAG_IP_CKSUM | TI_RCB_FLAG_NO_PHDR_CKSUM; rcb->ti_max_len = TI_TX_RING_CNT; @@ -2315,7 +2315,7 @@ ti_gibinit(struct ti_softc *sc) /* Set up tunables */ #if 0 - if (ifp->if_mtu > ETHERMTU + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN) + if (if_getmtu(ifp) > ETHERMTU + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN) CSR_WRITE_4(sc, TI_GCR_RX_COAL_TICKS, (sc->ti_rx_coal_ticks / 10)); else @@ -2363,7 +2363,7 @@ ti_probe(device_t dev) static int ti_attach(device_t dev) { - struct ifnet *ifp; + if_t ifp; struct ti_softc *sc; int error = 0, rid; u_char eaddr[6]; @@ -2381,9 +2381,9 @@ ti_attach(device_t dev) error = ENOSPC; goto fail; } - sc->ti_ifp->if_hwassist = TI_CSUM_FEATURES; - sc->ti_ifp->if_capabilities = IFCAP_TXCSUM | IFCAP_RXCSUM; - sc->ti_ifp->if_capenable = sc->ti_ifp->if_capabilities; + if_sethwassist(ifp, TI_CSUM_FEATURES); + if_setcapabilities(ifp, IFCAP_TXCSUM | IFCAP_RXCSUM); + if_setcapenable(ifp, if_getcapabilities(sc->ti_ifp)); /* * Map control/status registers. @@ -2475,17 +2475,16 @@ ti_attach(device_t dev) ti_sysctl_node(sc); /* Set up ifnet structure */ - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = ti_ioctl; - ifp->if_start = ti_start; - ifp->if_init = ti_init; - ifp->if_get_counter = ti_get_counter; - ifp->if_baudrate = IF_Gbps(1UL); - ifp->if_snd.ifq_drv_maxlen = TI_TX_RING_CNT - 1; - IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, ti_ioctl); + if_setstartfn(ifp, ti_start); + if_setinitfn(ifp, ti_init); + if_setgetcounterfn(ifp, ti_get_counter); + if_setbaudrate(ifp, IF_Gbps(1UL)); + if_setsendqlen(ifp, TI_TX_RING_CNT - 1); + if_setsendqready(ifp); /* Set up ifmedia support. */ if (sc->ti_copper) { @@ -2532,15 +2531,15 @@ ti_attach(device_t dev) ether_ifattach(ifp, eaddr); /* VLAN capability setup. */ - ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWCSUM | - IFCAP_VLAN_HWTAGGING; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU | IFCAP_VLAN_HWCSUM | + IFCAP_VLAN_HWTAGGING, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); /* Tell the upper layer we support VLAN over-sized frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); /* Driver supports link state tracking. */ - ifp->if_capabilities |= IFCAP_LINKSTATE; - ifp->if_capenable |= IFCAP_LINKSTATE; + if_setcapabilitiesbit(ifp, IFCAP_LINKSTATE, 0); + if_setcapenablebit(ifp, IFCAP_LINKSTATE, 0); /* Hook interrupt last to avoid having to lock softc */ error = bus_setup_intr(dev, sc->ti_irq, INTR_TYPE_NET|INTR_MPSAFE, @@ -2569,7 +2568,7 @@ static int ti_detach(device_t dev) { struct ti_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); if (sc->dev) @@ -2677,7 +2676,7 @@ ti_discard_std(struct ti_softc *sc, int i) r->ti_flags = 0; r->ti_vlan_tag = 0; r->ti_tcp_udp_cksum = 0; - if (sc->ti_ifp->if_capenable & IFCAP_RXCSUM) + if (if_getcapenable(sc->ti_ifp) & IFCAP_RXCSUM) r->ti_flags |= TI_BDFLAG_TCP_UDP_CKSUM | TI_BDFLAG_IP_CKSUM; r->ti_idx = i; } @@ -2694,7 +2693,7 @@ ti_discard_mini(struct ti_softc *sc, int i) r->ti_flags = TI_BDFLAG_MINI_RING; r->ti_vlan_tag = 0; r->ti_tcp_udp_cksum = 0; - if (sc->ti_ifp->if_capenable & IFCAP_RXCSUM) + if (if_getcapenable(sc->ti_ifp) & IFCAP_RXCSUM) r->ti_flags |= TI_BDFLAG_TCP_UDP_CKSUM | TI_BDFLAG_IP_CKSUM; r->ti_idx = i; } @@ -2712,7 +2711,7 @@ ti_discard_jumbo(struct ti_softc *sc, int i) r->ti_flags = TI_BDFLAG_JUMBO_RING; r->ti_vlan_tag = 0; r->ti_tcp_udp_cksum = 0; - if (sc->ti_ifp->if_capenable & IFCAP_RXCSUM) + if (if_getcapenable(sc->ti_ifp) & IFCAP_RXCSUM) r->ti_flags |= TI_BDFLAG_TCP_UDP_CKSUM | TI_BDFLAG_IP_CKSUM; r->ti_idx = i; } @@ -2732,7 +2731,7 @@ ti_discard_jumbo(struct ti_softc *sc, int i) static void ti_rxeof(struct ti_softc *sc) { - struct ifnet *ifp; + if_t ifp; #ifdef TI_SF_BUF_JUMBO bus_dmamap_t map; #endif @@ -2745,7 +2744,7 @@ ti_rxeof(struct ti_softc *sc) bus_dmamap_sync(sc->ti_cdata.ti_rx_std_ring_tag, sc->ti_cdata.ti_rx_std_ring_map, BUS_DMASYNC_POSTWRITE); - if (ifp->if_mtu > ETHERMTU + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN) + if (if_getmtu(ifp) > ETHERMTU + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN) bus_dmamap_sync(sc->ti_cdata.ti_rx_jumbo_ring_tag, sc->ti_cdata.ti_rx_jumbo_ring_map, BUS_DMASYNC_POSTWRITE); if (sc->ti_rdata.ti_rx_mini_ring != NULL) @@ -2849,7 +2848,7 @@ ti_rxeof(struct ti_softc *sc) if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); m->m_pkthdr.rcvif = ifp; - if (ifp->if_capenable & IFCAP_RXCSUM) { + if (if_getcapenable(ifp) & IFCAP_RXCSUM) { if (cur_rx->ti_flags & TI_BDFLAG_IP_CKSUM) { m->m_pkthdr.csum_flags |= CSUM_IP_CHECKED; if ((cur_rx->ti_ip_cksum ^ 0xffff) == 0) @@ -2871,7 +2870,7 @@ ti_rxeof(struct ti_softc *sc) m->m_flags |= M_VLANTAG; } TI_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); TI_LOCK(sc); } @@ -2905,7 +2904,7 @@ ti_txeof(struct ti_softc *sc) struct ti_txdesc *txd; struct ti_tx_desc txdesc; struct ti_tx_desc *cur_tx = NULL; - struct ifnet *ifp; + if_t ifp; int idx; ifp = sc->ti_ifp; @@ -2930,7 +2929,7 @@ ti_txeof(struct ti_softc *sc) } else cur_tx = &sc->ti_rdata.ti_tx_ring[idx]; sc->ti_txcnt--; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if ((cur_tx->ti_flags & TI_BDFLAG_END) == 0) continue; bus_dmamap_sync(sc->ti_cdata.ti_tx_tag, txd->tx_dmamap, @@ -2953,7 +2952,7 @@ static void ti_intr(void *xsc) { struct ti_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = xsc; TI_LOCK(sc); @@ -2968,7 +2967,7 @@ ti_intr(void *xsc) /* Ack interrupt and stop others from occurring. */ CSR_WRITE_4(sc, TI_MB_HOSTINTR, 1); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { bus_dmamap_sync(sc->ti_cdata.ti_status_tag, sc->ti_cdata.ti_status_map, BUS_DMASYNC_POSTREAD); /* Check RX return ring producer/consumer */ @@ -2982,10 +2981,10 @@ ti_intr(void *xsc) ti_handle_events(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { /* Re-enable interrupts. */ CSR_WRITE_4(sc, TI_MB_HOSTINTR, 0); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) ti_start_locked(ifp); } @@ -2993,7 +2992,7 @@ ti_intr(void *xsc) } static uint64_t -ti_get_counter(struct ifnet *ifp, ift_counter cnt) +ti_get_counter(if_t ifp, ift_counter cnt) { switch (cnt) { @@ -3122,11 +3121,11 @@ ti_encap(struct ti_softc *sc, struct mbuf **m_head) } static void -ti_start(struct ifnet *ifp) +ti_start(if_t ifp) { struct ti_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); TI_LOCK(sc); ti_start_locked(ifp); TI_UNLOCK(sc); @@ -3137,17 +3136,17 @@ ti_start(struct ifnet *ifp) * to the mbuf data regions directly in the transmit descriptors. */ static void -ti_start_locked(struct ifnet *ifp) +ti_start_locked(if_t ifp) { struct ti_softc *sc; struct mbuf *m_head = NULL; int enq = 0; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); - for (; !IFQ_DRV_IS_EMPTY(&ifp->if_snd) && + for (; !if_sendq_empty(ifp) && sc->ti_txcnt < (TI_TX_RING_CNT - 16);) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; @@ -3159,8 +3158,8 @@ ti_start_locked(struct ifnet *ifp) if (ti_encap(sc, &m_head)) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -3202,7 +3201,7 @@ ti_init_locked(void *xsc) { struct ti_softc *sc = xsc; - if (sc->ti_ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(sc->ti_ifp) & IFF_DRV_RUNNING) return; /* Cancel pending I/O and flush buffers. */ @@ -3218,7 +3217,7 @@ ti_init_locked(void *xsc) static void ti_init2(struct ti_softc *sc) { struct ti_cmd_desc cmd; - struct ifnet *ifp; + if_t ifp; uint8_t *ea; struct ifmedia *ifm; int tmp; @@ -3229,19 +3228,19 @@ static void ti_init2(struct ti_softc *sc) /* Specify MTU and interface index. */ CSR_WRITE_4(sc, TI_GCR_IFINDEX, device_get_unit(sc->ti_dev)); - CSR_WRITE_4(sc, TI_GCR_IFMTU, ifp->if_mtu + + CSR_WRITE_4(sc, TI_GCR_IFMTU, if_getmtu(ifp) + ETHER_HDR_LEN + ETHER_CRC_LEN + ETHER_VLAN_ENCAP_LEN); TI_DO_CMD(TI_CMD_UPDATE_GENCOM, 0, 0); /* Load our MAC address. */ - ea = IF_LLADDR(sc->ti_ifp); + ea = if_getlladdr(sc->ti_ifp); CSR_WRITE_4(sc, TI_GCR_PAR0, (ea[0] << 8) | ea[1]); CSR_WRITE_4(sc, TI_GCR_PAR1, (ea[2] << 24) | (ea[3] << 16) | (ea[4] << 8) | ea[5]); TI_DO_CMD(TI_CMD_SET_MAC_ADDR, 0, 0); /* Enable or disable promiscuous mode as needed. */ - if (ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_PROMISC) { TI_DO_CMD(TI_CMD_SET_PROMISC_MODE, TI_CMD_CODE_PROMISC_ENB, 0); } else { TI_DO_CMD(TI_CMD_SET_PROMISC_MODE, TI_CMD_CODE_PROMISC_DIS, 0); @@ -3266,7 +3265,7 @@ static void ti_init2(struct ti_softc *sc) } /* Init jumbo RX ring. */ - if (ifp->if_mtu > ETHERMTU + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN) { + if (if_getmtu(ifp) > ETHERMTU + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN) { if (ti_init_rx_ring_jumbo(sc) != 0) { /* XXX */ device_printf(sc->ti_dev, @@ -3300,8 +3299,8 @@ static void ti_init2(struct ti_softc *sc) /* Enable host interrupts. */ CSR_WRITE_4(sc, TI_MB_HOSTINTR, 0); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); callout_reset(&sc->ti_watchdog, hz, ti_watchdog, sc); /* @@ -3321,12 +3320,12 @@ static void ti_init2(struct ti_softc *sc) * Set media options. */ static int -ti_ifmedia_upd(struct ifnet *ifp) +ti_ifmedia_upd(if_t ifp) { struct ti_softc *sc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); TI_LOCK(sc); error = ti_ifmedia_upd_locked(sc); TI_UNLOCK(sc); @@ -3434,12 +3433,12 @@ ti_ifmedia_upd_locked(struct ti_softc *sc) * Report current media status. */ static void -ti_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +ti_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct ti_softc *sc; uint32_t media = 0; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); TI_LOCK(sc); @@ -3485,9 +3484,9 @@ ti_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -ti_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +ti_ioctl(if_t ifp, u_long command, caddr_t data) { - struct ti_softc *sc = ifp->if_softc; + struct ti_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; struct ti_cmd_desc cmd; int mask, error = 0; @@ -3498,9 +3497,9 @@ ti_ioctl(struct ifnet *ifp, u_long command, caddr_t data) if (ifr->ifr_mtu < ETHERMIN || ifr->ifr_mtu > TI_JUMBO_MTU) error = EINVAL; else { - ifp->if_mtu = ifr->ifr_mtu; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setmtu(ifp, ifr->ifr_mtu); + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ti_init_locked(sc); } } @@ -3508,7 +3507,7 @@ ti_ioctl(struct ifnet *ifp, u_long command, caddr_t data) break; case SIOCSIFFLAGS: TI_LOCK(sc); - if (ifp->if_flags & IFF_UP) { + if (if_getflags(ifp) & IFF_UP) { /* * If only the state of the PROMISC flag changed, * then just use the 'set promisc mode' command @@ -3517,30 +3516,30 @@ ti_ioctl(struct ifnet *ifp, u_long command, caddr_t data) * waiting for it to start up, which may take a * second or two. */ - if (ifp->if_drv_flags & IFF_DRV_RUNNING && - ifp->if_flags & IFF_PROMISC && + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING && + if_getflags(ifp) & IFF_PROMISC && !(sc->ti_if_flags & IFF_PROMISC)) { TI_DO_CMD(TI_CMD_SET_PROMISC_MODE, TI_CMD_CODE_PROMISC_ENB, 0); - } else if (ifp->if_drv_flags & IFF_DRV_RUNNING && - !(ifp->if_flags & IFF_PROMISC) && + } else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING && + !(if_getflags(ifp) & IFF_PROMISC) && sc->ti_if_flags & IFF_PROMISC) { TI_DO_CMD(TI_CMD_SET_PROMISC_MODE, TI_CMD_CODE_PROMISC_DIS, 0); } else ti_init_locked(sc); } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { ti_stop(sc); } } - sc->ti_if_flags = ifp->if_flags; + sc->ti_if_flags = if_getflags(ifp); TI_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: TI_LOCK(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) ti_setmulti(sc); TI_UNLOCK(sc); break; @@ -3550,28 +3549,28 @@ ti_ioctl(struct ifnet *ifp, u_long command, caddr_t data) break; case SIOCSIFCAP: TI_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if ((mask & IFCAP_TXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_TXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist |= TI_CSUM_FEATURES; + (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassistbits(ifp, TI_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~TI_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, TI_CSUM_FEATURES); } if ((mask & IFCAP_RXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_RXCSUM) != 0) - ifp->if_capenable ^= IFCAP_RXCSUM; + (if_getcapabilities(ifp) & IFCAP_RXCSUM) != 0) + if_togglecapenable(ifp, IFCAP_RXCSUM); if ((mask & IFCAP_VLAN_HWTAGGING) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWTAGGING) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWTAGGING) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); if ((mask & IFCAP_VLAN_HWCSUM) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWCSUM) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWCSUM; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWCSUM) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWCSUM); if ((mask & (IFCAP_TXCSUM | IFCAP_RXCSUM | IFCAP_VLAN_HWTAGGING)) != 0) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ti_init_locked(sc); } } @@ -3882,7 +3881,7 @@ static void ti_watchdog(void *arg) { struct ti_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = arg; TI_LOCK_ASSERT(sc); @@ -3900,7 +3899,7 @@ ti_watchdog(void *arg) ifp = sc->ti_ifp; if_printf(ifp, "watchdog timeout -- resetting\n"); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ti_init_locked(sc); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); @@ -3913,7 +3912,7 @@ ti_watchdog(void *arg) static void ti_stop(struct ti_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct ti_cmd_desc cmd; TI_LOCK_ASSERT(sc); @@ -3951,7 +3950,7 @@ ti_stop(struct ti_softc *sc) sc->ti_tx_considx.ti_idx = 0; sc->ti_tx_saved_considx = TI_TXCONS_UNSET; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); callout_stop(&sc->ti_watchdog); } diff --git a/sys/dev/ti/if_tireg.h b/sys/dev/ti/if_tireg.h index ccbd09c6dbf3..9ae89ad352df 100644 --- a/sys/dev/ti/if_tireg.h +++ b/sys/dev/ti/if_tireg.h @@ -1018,7 +1018,7 @@ typedef enum { struct ti_softc { device_t ti_dev; - struct ifnet *ti_ifp; + if_t ti_ifp; bus_space_handle_t ti_bhandle; bus_space_tag_t ti_btag; void *ti_intrhand; From nobody Mon Feb 6 17:54:01 2023 X-Original-To: dev-commits-src-main@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 4P9YmB24V3z3n0jK; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmB1XvNz4XNs; Mon, 6 Feb 2023 17:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706042; 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=uuDzac2yELai8zIcEj+3IEbrzLf4elmaTSINgBxm9O8=; b=hBm3T1oAXksws37FxsD8a5rA5kj4/g/5B/Dqv3WeVUPz5TFqoBI5yBsHZH2Khm0FAeAkef kqtzyDIvRdLC98ceAymfCCl86OWFYf+5pIKEi6GbdVif/PHLpR3iphxfdvLf88hbhXJWmN c5knZ8GwTdHAcmm6KmWYBBbpLo5GSTvMC9Bdc/qu8cFSry8kYJ3b/4ZKNYrVORPd6nnYGI Qj76+9jXMPAwov1VmmWRzAeSiSHlkX8dY/YR7+vt+zOCDZkC8ygKLiABwImrGFbYGDMR7M y63T3jfmkTw6rOxbfqF0oHu2kefEXaajL8QGCMxBVDVFszAP5rCb0cFPU/kP+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706042; 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=uuDzac2yELai8zIcEj+3IEbrzLf4elmaTSINgBxm9O8=; b=NDhK9kIBkTjR10dye+niXaPa/dgGJ5xlbB/Lo44tNqb8OuZsTGl/eMYpoQsgYjRP1hudcm itr1LQa+S9ZybVBAdu+C0WwwIOmzJJ6cntK4ZzwrLew3BF1/Gvq/RuYt99ECZLwCH6AerF Qr7sLC+/Ml9GqBTOwLzHRMtSXAdSgErkQ5ov75E7LmnIvhMyGdza2z6zQ8+/7qOWMQoYgs 60aw/hxhOl1+dSMnwiisY5LVoEU30Dx5COMN35dyy5Asp3Uj/xGP65Wui8uqoaO++Nhzce vyUlChN4bklNHSAYjwiJOYa7GOpNv6Ip7fTBbdvV4ZYq6dXygXPdoi9Vv8N2JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706042; a=rsa-sha256; cv=none; b=I04OtJARh0KqsKrnhjROFsw2PJvD76Oh4cOQ6x852IRGKC2uNvVrk/qIOvsZfYxka/WSWW 624GVc7X9Bs9H8rTu7sKxBTZ7Uv37I101jv2n9TrH4iMRbxDhKbr63IC8fTuQpLvQUcCzA z7u8qn7BQjewGV+RGquWbDhQPvdTG52f+tRsvBG9hNNZvwiXGemlULTbIz5tUYME8PLZLH 6EdqQjhIoSLozmHw0hK3omjwmd3zjHQLihRE5/7YOSs4gm0NIdGRG2rLSXBJDz1df1qztE HBwRBzXg1ZYfriD2A/ZFjQ2BuqSJ13DnR6psHSXefQZcTLi+r1sA1/r1o9Vgyw== 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 4P9YmB0cjmzkTK; Mon, 6 Feb 2023 17:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Hs12t074348; Mon, 6 Feb 2023 17:54:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Hs1fC074347; Mon, 6 Feb 2023 17:54:01 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:01 GMT Message-Id: <202302061754.316Hs1fC074347@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: c0e5e270a5dd - main - Mechanically convert if_bfe(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c0e5e270a5ddfa073c22e30a8d75f8860690d20a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=c0e5e270a5ddfa073c22e30a8d75f8860690d20a commit c0e5e270a5ddfa073c22e30a8d75f8860690d20a Author: Justin Hibbits AuthorDate: 2022-02-25 22:36:48 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:06 +0000 Mechanically convert if_bfe(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37791 --- sys/dev/bfe/if_bfe.c | 129 ++++++++++++++++++++++++------------------------ sys/dev/bfe/if_bfereg.h | 2 +- 2 files changed, 65 insertions(+), 66 deletions(-) diff --git a/sys/dev/bfe/if_bfe.c b/sys/dev/bfe/if_bfe.c index bd1dc126265d..e4c5205fa8de 100644 --- a/sys/dev/bfe/if_bfe.c +++ b/sys/dev/bfe/if_bfe.c @@ -86,9 +86,9 @@ static int bfe_resume (device_t); static void bfe_release_resources (struct bfe_softc *); static void bfe_intr (void *); static int bfe_encap (struct bfe_softc *, struct mbuf **); -static void bfe_start (struct ifnet *); -static void bfe_start_locked (struct ifnet *); -static int bfe_ioctl (struct ifnet *, u_long, caddr_t); +static void bfe_start (if_t); +static void bfe_start_locked (if_t); +static int bfe_ioctl (if_t, u_long, caddr_t); static void bfe_init (void *); static void bfe_init_locked (void *); static void bfe_stop (struct bfe_softc *); @@ -105,8 +105,8 @@ static int bfe_list_newbuf (struct bfe_softc *, int); static void bfe_rx_ring_free (struct bfe_softc *); static void bfe_pci_setup (struct bfe_softc *, u_int32_t); -static int bfe_ifmedia_upd (struct ifnet *); -static void bfe_ifmedia_sts (struct ifnet *, struct ifmediareq *); +static int bfe_ifmedia_upd (if_t); +static void bfe_ifmedia_sts (if_t, struct ifmediareq *); static int bfe_miibus_readreg (device_t, int, int); static int bfe_miibus_writereg (device_t, int, int, int); static void bfe_miibus_statchg (device_t); @@ -431,7 +431,7 @@ bfe_dma_free(struct bfe_softc *sc) static int bfe_attach(device_t dev) { - struct ifnet *ifp = NULL; + if_t ifp = NULL; struct bfe_softc *sc; int error = 0, rid; @@ -485,15 +485,14 @@ bfe_attach(device_t dev) error = ENOSPC; goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = bfe_ioctl; - ifp->if_start = bfe_start; - ifp->if_init = bfe_init; - IFQ_SET_MAXLEN(&ifp->if_snd, BFE_TX_QLEN); - ifp->if_snd.ifq_drv_maxlen = BFE_TX_QLEN; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, bfe_ioctl); + if_setstartfn(ifp, bfe_start); + if_setinitfn(ifp, bfe_init); + if_setsendqlen(ifp, BFE_TX_QLEN); + if_setsendqready(ifp); bfe_get_config(sc); @@ -515,9 +514,9 @@ bfe_attach(device_t dev) /* * Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); - ifp->if_capabilities |= IFCAP_VLAN_MTU; - ifp->if_capenable |= IFCAP_VLAN_MTU; + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); + if_setcapenablebit(ifp, IFCAP_VLAN_MTU, 0); /* * Hook interrupt last to avoid having to lock softc @@ -539,7 +538,7 @@ static int bfe_detach(device_t dev) { struct bfe_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); @@ -605,16 +604,16 @@ static int bfe_resume(device_t dev) { struct bfe_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); ifp = sc->bfe_ifp; BFE_LOCK(sc); bfe_chip_reset(sc); - if (ifp->if_flags & IFF_UP) { + if (if_getflags(ifp) & IFF_UP) { bfe_init_locked(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING && - !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING && + !if_sendq_empty(ifp)) bfe_start_locked(ifp); } BFE_UNLOCK(sc); @@ -1091,27 +1090,27 @@ bfe_write_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void bfe_set_rx_mode(struct bfe_softc *sc) { - struct ifnet *ifp = sc->bfe_ifp; + if_t ifp = sc->bfe_ifp; u_int32_t val; BFE_LOCK_ASSERT(sc); val = CSR_READ_4(sc, BFE_RXCONF); - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) val |= BFE_RXCONF_PROMISC; else val &= ~BFE_RXCONF_PROMISC; - if (ifp->if_flags & IFF_BROADCAST) + if (if_getflags(ifp) & IFF_BROADCAST) val &= ~BFE_RXCONF_DBCAST; else val |= BFE_RXCONF_DBCAST; CSR_WRITE_4(sc, BFE_CAM_CTRL, 0); - bfe_cam_write(sc, IF_LLADDR(sc->bfe_ifp), 0); + bfe_cam_write(sc, if_getlladdr(sc->bfe_ifp), 0); - if (ifp->if_flags & IFF_ALLMULTI) + if (if_getflags(ifp) & IFF_ALLMULTI) val |= BFE_RXCONF_ALLMULTI; else { val &= ~BFE_RXCONF_ALLMULTI; @@ -1248,7 +1247,7 @@ static void bfe_stats_update(struct bfe_softc *sc) { struct bfe_hw_stats *stats; - struct ifnet *ifp; + if_t ifp; uint32_t mib[BFE_MIB_CNT]; uint32_t reg, *val; @@ -1336,7 +1335,7 @@ static void bfe_txeof(struct bfe_softc *sc) { struct bfe_tx_data *r; - struct ifnet *ifp; + if_t ifp; int i, chipidx; BFE_LOCK_ASSERT(sc); @@ -1368,7 +1367,7 @@ bfe_txeof(struct bfe_softc *sc) if (i != sc->bfe_tx_cons) { /* we freed up some mbufs */ sc->bfe_tx_cons = i; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } if (sc->bfe_tx_cnt == 0) @@ -1380,7 +1379,7 @@ static void bfe_rxeof(struct bfe_softc *sc) { struct mbuf *m; - struct ifnet *ifp; + if_t ifp; struct bfe_rxheader *rxheader; struct bfe_rx_data *r; int cons, prog; @@ -1430,7 +1429,7 @@ bfe_rxeof(struct bfe_softc *sc) m->m_pkthdr.rcvif = ifp; BFE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); BFE_LOCK(sc); } @@ -1445,7 +1444,7 @@ static void bfe_intr(void *xsc) { struct bfe_softc *sc = xsc; - struct ifnet *ifp; + if_t ifp; u_int32_t istat; ifp = sc->bfe_ifp; @@ -1464,7 +1463,7 @@ bfe_intr(void *xsc) CSR_READ_4(sc, BFE_ISTAT); /* not expecting this interrupt, disregard it */ - if (istat == 0 || (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if (istat == 0 || (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { BFE_UNLOCK(sc); return; } @@ -1492,12 +1491,12 @@ bfe_intr(void *xsc) BFE_UNLOCK(sc); return; } - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); bfe_init_locked(sc); } /* We have packets pending, fire them out */ - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) bfe_start_locked(ifp); BFE_UNLOCK(sc); @@ -1594,24 +1593,24 @@ bfe_encap(struct bfe_softc *sc, struct mbuf **m_head) * Set up to transmit a packet. */ static void -bfe_start(struct ifnet *ifp) +bfe_start(if_t ifp) { - BFE_LOCK((struct bfe_softc *)ifp->if_softc); + BFE_LOCK((struct bfe_softc *)if_getsoftc(ifp)); bfe_start_locked(ifp); - BFE_UNLOCK((struct bfe_softc *)ifp->if_softc); + BFE_UNLOCK((struct bfe_softc *)if_getsoftc(ifp)); } /* * Set up to transmit a packet. The softc is already locked. */ static void -bfe_start_locked(struct ifnet *ifp) +bfe_start_locked(if_t ifp) { struct bfe_softc *sc; struct mbuf *m_head; int queued; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); BFE_LOCK_ASSERT(sc); @@ -1619,13 +1618,13 @@ bfe_start_locked(struct ifnet *ifp) * Not much point trying to send if the link is down * or we have nothing to send. */ - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->bfe_flags & BFE_FLAG_LINK) == 0) return; - for (queued = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd) && + for (queued = 0; !if_sendq_empty(ifp) && sc->bfe_tx_cnt < BFE_TX_LIST_CNT - 1;) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; @@ -1636,8 +1635,8 @@ bfe_start_locked(struct ifnet *ifp) if (bfe_encap(sc, &m_head)) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -1689,14 +1688,14 @@ static void bfe_init_locked(void *xsc) { struct bfe_softc *sc = (struct bfe_softc*)xsc; - struct ifnet *ifp = sc->bfe_ifp; + if_t ifp = sc->bfe_ifp; struct mii_data *mii; BFE_LOCK_ASSERT(sc); mii = device_get_softc(sc->bfe_miibus); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) return; bfe_stop(sc); @@ -1721,8 +1720,8 @@ bfe_init_locked(void *xsc) sc->bfe_flags &= ~BFE_FLAG_LINK; mii_mediachg(mii); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); callout_reset(&sc->bfe_stat_co, hz, bfe_tick, sc); } @@ -1731,14 +1730,14 @@ bfe_init_locked(void *xsc) * Set media options. */ static int -bfe_ifmedia_upd(struct ifnet *ifp) +bfe_ifmedia_upd(if_t ifp) { struct bfe_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); BFE_LOCK(sc); mii = device_get_softc(sc->bfe_miibus); @@ -1754,9 +1753,9 @@ bfe_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -bfe_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +bfe_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { - struct bfe_softc *sc = ifp->if_softc; + struct bfe_softc *sc = if_getsoftc(ifp); struct mii_data *mii; BFE_LOCK(sc); @@ -1768,9 +1767,9 @@ bfe_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -bfe_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +bfe_ioctl(if_t ifp, u_long command, caddr_t data) { - struct bfe_softc *sc = ifp->if_softc; + struct bfe_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; struct mii_data *mii; int error = 0; @@ -1778,19 +1777,19 @@ bfe_ioctl(struct ifnet *ifp, u_long command, caddr_t data) switch (command) { case SIOCSIFFLAGS: BFE_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) bfe_set_rx_mode(sc); else if ((sc->bfe_flags & BFE_FLAG_DETACH) == 0) bfe_init_locked(sc); - } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) + } else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) bfe_stop(sc); BFE_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: BFE_LOCK(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) bfe_set_rx_mode(sc); BFE_UNLOCK(sc); break; @@ -1810,7 +1809,7 @@ bfe_ioctl(struct ifnet *ifp, u_long command, caddr_t data) static void bfe_watchdog(struct bfe_softc *sc) { - struct ifnet *ifp; + if_t ifp; BFE_LOCK_ASSERT(sc); @@ -1822,10 +1821,10 @@ bfe_watchdog(struct bfe_softc *sc) device_printf(sc->bfe_dev, "watchdog timeout -- resetting\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); bfe_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) bfe_start_locked(ifp); } @@ -1851,12 +1850,12 @@ bfe_tick(void *xsc) static void bfe_stop(struct bfe_softc *sc) { - struct ifnet *ifp; + if_t ifp; BFE_LOCK_ASSERT(sc); ifp = sc->bfe_ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->bfe_flags &= ~BFE_FLAG_LINK; callout_stop(&sc->bfe_stat_co); sc->bfe_watchdog_timer = 0; diff --git a/sys/dev/bfe/if_bfereg.h b/sys/dev/bfe/if_bfereg.h index 8638f78cf562..2d0333cef1cd 100644 --- a/sys/dev/bfe/if_bfereg.h +++ b/sys/dev/bfe/if_bfereg.h @@ -583,7 +583,7 @@ struct bfe_hw_stats { struct bfe_softc { - struct ifnet *bfe_ifp; /* interface info */ + if_t bfe_ifp; /* interface info */ device_t bfe_dev; device_t bfe_miibus; bus_dma_tag_t bfe_tag; From nobody Mon Feb 6 17:54:03 2023 X-Original-To: dev-commits-src-main@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 4P9YmC300rz3n0jg; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmC2hSCz4XXZ; Mon, 6 Feb 2023 17:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706043; 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=VB5retqqhijZ95UZRJU3CiS/BVztdovNpBsjWBoY7Hs=; b=Ou/na9ui5O1d5HDQ7Qe9OxMTH6klqhP7Zr7qU5vCSuPYg/9X4/xB2ZCQOh9I20KnUbd+Qm F+t1NcS2ATjie0e2C99yytbi7r6Z2kkwEIHQ8KddAEKfJ5huMeRRKshaq/EmQw7GdAotZE b6SsLMI8oNXiQ8MmTGYmw/GxaF+hoB5C7XWx3idz+ND+uxHjQIpx3Ckzofe2eHvZC5DxkI LOCYBmyr/gWDg7TuhlwbjEhCK4Sy2jIBseIZ+4PIbfDu2hz64W3xF577dEYKQFwqdzjNWs jQlBK92oQBo8HZWFOHOSqIYIBZN8MqP2FR7GIfcm78TtjJtcBfoNN3w78UiKUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706043; 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=VB5retqqhijZ95UZRJU3CiS/BVztdovNpBsjWBoY7Hs=; b=YUOBPHau1HATF98/8j/yOfrySzk2M5kuGtd4nR03AzkVmJGwOSUCszh9Sv8MWl6e1T6M+Q 5G3eitg27ajFDqM9ttmW0Xz5je+nGiZwyykS9t4JhXXQH7LI8FCPDH9VEsXPDNkrcgTDYh aD8gz2PH1RGAGOzCY0BS/ojhvMcGlk40ANa78+uKeRe2qv+BTHQBl4jCp0OU4D4Y8d1Ssy r6FEzvLOCihZsn9/NqQmj2YCvGZMD1qE9AE3Bs4Etk3KyxfpPM/bbEyH9t6Xr18h8TFrue wh3TEw1FZVxlTOiNDQZtgOHvWm92eP6745rwMo0WDEnpr+OYwISh+m2paEg4Zw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706043; a=rsa-sha256; cv=none; b=XTRplyuQNVqhcVEpLw68ttAWe+oprVfChU/fPnhb4ldm/xfRdmwCAAnDsGYdQ40Cl2hMPF +Xvq/tOEejeWM8Uz/Gm4QXsalD6nbR9PxrK+CVvKZgN8v5jIY/BRix6IY0UExq3p/P4IyP r128t4jXvgMxyvU1dM1SNBrHEiLN+Au2Wwil0WgWgkGlbCxRud8wKeJNxeqz4dGeav49RJ MermmKtmpxOUVKeigKV/xFEhDm8LiJaD54MM7NcsWCl1K0LloPoWmNtJEYj0p0Vz1fpdPZ 5VsGhOe9ZF+EgI9dEo85p4fZ+yeXt4ck/W3iMGB6hr/JZl21SwJpyLnZYl3R9w== 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 4P9YmC1ZyfzkWs; Mon, 6 Feb 2023 17:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Hs3k0074372; Mon, 6 Feb 2023 17:54:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Hs3o9074371; Mon, 6 Feb 2023 17:54:03 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:03 GMT Message-Id: <202302061754.316Hs3o9074371@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 6712df3ab04a - main - Mechanically convert if_ste(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6712df3ab04ac5ccd4c4335e3df24f7f3a190ec1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=6712df3ab04ac5ccd4c4335e3df24f7f3a190ec1 commit 6712df3ab04ac5ccd4c4335e3df24f7f3a190ec1 Author: Justin Hibbits AuthorDate: 2022-03-01 16:12:03 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:07 +0000 Mechanically convert if_ste(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37794 --- sys/dev/ste/if_ste.c | 193 ++++++++++++++++++++++++------------------------ sys/dev/ste/if_stereg.h | 2 +- 2 files changed, 97 insertions(+), 98 deletions(-) diff --git a/sys/dev/ste/if_ste.c b/sys/dev/ste/if_ste.c index 19d71ca9773a..281453c9e96e 100644 --- a/sys/dev/ste/if_ste.c +++ b/sys/dev/ste/if_ste.c @@ -108,14 +108,14 @@ static void ste_dmamap_cb(void *, bus_dma_segment_t *, int, int); static int ste_eeprom_wait(struct ste_softc *); static int ste_encap(struct ste_softc *, struct mbuf **, struct ste_chain *); -static int ste_ifmedia_upd(struct ifnet *); -static void ste_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static int ste_ifmedia_upd(if_t); +static void ste_ifmedia_sts(if_t, struct ifmediareq *); static void ste_init(void *); static void ste_init_locked(struct ste_softc *); static int ste_init_rx_list(struct ste_softc *); static void ste_init_tx_list(struct ste_softc *); static void ste_intr(void *); -static int ste_ioctl(struct ifnet *, u_long, caddr_t); +static int ste_ioctl(if_t, u_long, caddr_t); static uint32_t ste_mii_bitbang_read(device_t); static void ste_mii_bitbang_write(device_t, uint32_t); static int ste_miibus_readreg(device_t, int, int); @@ -128,8 +128,8 @@ static void ste_restart_tx(struct ste_softc *); static int ste_rxeof(struct ste_softc *, int); static void ste_rxfilter(struct ste_softc *); static void ste_setwol(struct ste_softc *); -static void ste_start(struct ifnet *); -static void ste_start_locked(struct ifnet *); +static void ste_start(if_t); +static void ste_start_locked(if_t); static void ste_stats_clear(struct ste_softc *); static void ste_stats_update(struct ste_softc *); static void ste_stop(struct ste_softc *); @@ -253,7 +253,7 @@ ste_miibus_statchg(device_t dev) { struct ste_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint16_t cfg; sc = device_get_softc(dev); @@ -261,7 +261,7 @@ ste_miibus_statchg(device_t dev) mii = device_get_softc(sc->ste_miibus); ifp = sc->ste_ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; sc->ste_flags &= ~STE_FLAG_LINK; @@ -300,14 +300,14 @@ ste_miibus_statchg(device_t dev) } static int -ste_ifmedia_upd(struct ifnet *ifp) +ste_ifmedia_upd(if_t ifp) { struct ste_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); STE_LOCK(sc); mii = device_get_softc(sc->ste_miibus); LIST_FOREACH(miisc, &mii->mii_phys, mii_list) @@ -319,16 +319,16 @@ ste_ifmedia_upd(struct ifnet *ifp) } static void -ste_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +ste_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct ste_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = device_get_softc(sc->ste_miibus); STE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) == 0) { + if ((if_getflags(ifp) & IFF_UP) == 0) { STE_UNLOCK(sc); return; } @@ -421,7 +421,7 @@ ste_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void ste_rxfilter(struct ste_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t hashes[2] = { 0, 0 }; uint8_t rxcfg; @@ -432,12 +432,12 @@ ste_rxfilter(struct ste_softc *sc) rxcfg |= STE_RXMODE_UNICAST; rxcfg &= ~(STE_RXMODE_ALLMULTI | STE_RXMODE_MULTIHASH | STE_RXMODE_BROADCAST | STE_RXMODE_PROMISC); - if (ifp->if_flags & IFF_BROADCAST) + if (if_getflags(ifp) & IFF_BROADCAST) rxcfg |= STE_RXMODE_BROADCAST; - if ((ifp->if_flags & (IFF_ALLMULTI | IFF_PROMISC)) != 0) { - if ((ifp->if_flags & IFF_ALLMULTI) != 0) + if ((if_getflags(ifp) & (IFF_ALLMULTI | IFF_PROMISC)) != 0) { + if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) rxcfg |= STE_RXMODE_ALLMULTI; - if ((ifp->if_flags & IFF_PROMISC) != 0) + if ((if_getflags(ifp) & IFF_PROMISC) != 0) rxcfg |= STE_RXMODE_PROMISC; goto chipit; } @@ -459,22 +459,22 @@ chipit: static poll_handler_t ste_poll, ste_poll_locked; static int -ste_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +ste_poll(if_t ifp, enum poll_cmd cmd, int count) { - struct ste_softc *sc = ifp->if_softc; + struct ste_softc *sc = if_getsoftc(ifp); int rx_npkts = 0; STE_LOCK(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) rx_npkts = ste_poll_locked(ifp, cmd, count); STE_UNLOCK(sc); return (rx_npkts); } static int -ste_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int count) +ste_poll_locked(if_t ifp, enum poll_cmd cmd, int count) { - struct ste_softc *sc = ifp->if_softc; + struct ste_softc *sc = if_getsoftc(ifp); int rx_npkts; STE_LOCK_ASSERT(sc); @@ -482,7 +482,7 @@ ste_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int count) rx_npkts = ste_rxeof(sc, count); ste_txeof(sc); ste_txeoc(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) ste_start_locked(ifp); if (cmd == POLL_AND_CHECK_STATUS) { @@ -494,7 +494,7 @@ ste_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int count) ste_stats_update(sc); if (status & STE_ISR_HOSTERR) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ste_init_locked(sc); } } @@ -506,7 +506,7 @@ static void ste_intr(void *xsc) { struct ste_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t intrs, status; sc = xsc; @@ -514,14 +514,14 @@ ste_intr(void *xsc) ifp = sc->ste_ifp; #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { STE_UNLOCK(sc); return; } #endif /* Reading STE_ISR_ACK clears STE_IMR register. */ status = CSR_READ_2(sc, STE_ISR_ACK); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { STE_UNLOCK(sc); return; } @@ -548,7 +548,7 @@ ste_intr(void *xsc) * access but it greatly reduces number of Rx * interrupts under high network load. */ - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && (sc->ste_int_rx_mod != 0)) { if ((status & STE_ISR_RX_DMADONE) != 0) { CSR_WRITE_2(sc, STE_COUNTDOWN, @@ -561,7 +561,7 @@ ste_intr(void *xsc) } } } - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { if ((status & STE_ISR_TX_DMADONE) != 0) ste_txeof(sc); if ((status & STE_ISR_TX_DONE) != 0) @@ -569,12 +569,12 @@ ste_intr(void *xsc) if ((status & STE_ISR_STATS_OFLOW) != 0) ste_stats_update(sc); if ((status & STE_ISR_HOSTERR) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ste_init_locked(sc); STE_UNLOCK(sc); return; } - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) ste_start_locked(ifp); done: /* Re-enable interrupts */ @@ -591,7 +591,7 @@ static int ste_rxeof(struct ste_softc *sc, int count) { struct mbuf *m; - struct ifnet *ifp; + if_t ifp; struct ste_chain_onefrag *cur_rx; uint32_t rxstat; int total_len, rx_npkts; @@ -609,13 +609,13 @@ ste_rxeof(struct ste_softc *sc, int count) if ((rxstat & STE_RXSTAT_DMADONE) == 0) break; #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { if (count == 0) break; count--; } #endif - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) break; /* * If an error occurs, update stats, clear the @@ -651,7 +651,7 @@ ste_rxeof(struct ste_softc *sc, int count) if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); STE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); STE_LOCK(sc); } @@ -669,7 +669,7 @@ static void ste_txeoc(struct ste_softc *sc) { uint16_t txstat; - struct ifnet *ifp; + if_t ifp; STE_LOCK_ASSERT(sc); @@ -710,7 +710,7 @@ ste_txeoc(struct ste_softc *sc) STE_SETBIT4(sc, STE_DMACTL, STE_DMACTL_TXDMA_STALL); ste_wait(sc); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ste_init_locked(sc); break; } @@ -764,7 +764,7 @@ ste_tick(void *arg) static void ste_txeof(struct ste_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct ste_chain *cur_tx; uint32_t txstat; int idx; @@ -792,7 +792,7 @@ ste_txeof(struct ste_softc *sc) ("%s: freeing NULL mbuf!\n", __func__)); m_freem(cur_tx->ste_mbuf); cur_tx->ste_mbuf = NULL; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); sc->ste_cdata.ste_tx_cnt--; STE_INC(idx, STE_TX_LIST_CNT); @@ -834,7 +834,7 @@ ste_stats_clear(struct ste_softc *sc) static void ste_stats_update(struct ste_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct ste_hw_stats *stats; uint32_t val; @@ -905,7 +905,7 @@ static int ste_attach(device_t dev) { struct ste_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t eaddr[ETHER_ADDR_LEN / 2]; int error = 0, phy, pmc, prefer_iomap, rid; @@ -1006,15 +1006,14 @@ ste_attach(device_t dev) goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = ste_ioctl; - ifp->if_start = ste_start; - ifp->if_init = ste_init; - IFQ_SET_MAXLEN(&ifp->if_snd, STE_TX_LIST_CNT - 1); - ifp->if_snd.ifq_drv_maxlen = STE_TX_LIST_CNT - 1; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, ste_ioctl); + if_setstartfn(ifp, ste_start); + if_setinitfn(ifp, ste_init); + if_setsendqlen(ifp, STE_TX_LIST_CNT - 1); + if_setsendqready(ifp); sc->ste_tx_thresh = STE_TXSTART_THRESH; @@ -1026,13 +1025,13 @@ ste_attach(device_t dev) /* * Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); - ifp->if_capabilities |= IFCAP_VLAN_MTU; + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); if (pci_find_cap(dev, PCIY_PMG, &pmc) == 0) - ifp->if_capabilities |= IFCAP_WOL_MAGIC; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_WOL_MAGIC, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); #ifdef DEVICE_POLLING - ifp->if_capabilities |= IFCAP_POLLING; + if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif /* Hook interrupt last to avoid having to lock softc */ @@ -1063,14 +1062,14 @@ static int ste_detach(device_t dev) { struct ste_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); KASSERT(mtx_initialized(&sc->ste_mtx), ("ste mutex not initialized")); ifp = sc->ste_ifp; #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(ifp); #endif @@ -1504,7 +1503,7 @@ ste_init(void *xsc) static void ste_init_locked(struct ste_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; uint8_t val; int i; @@ -1513,7 +1512,7 @@ ste_init_locked(struct ste_softc *sc) ifp = sc->ste_ifp; mii = device_get_softc(sc->ste_miibus); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; ste_stop(sc); @@ -1523,8 +1522,8 @@ ste_init_locked(struct ste_softc *sc) /* Init our MAC address */ for (i = 0; i < ETHER_ADDR_LEN; i += 2) { CSR_WRITE_2(sc, STE_PAR0 + i, - ((IF_LLADDR(sc->ste_ifp)[i] & 0xff) | - IF_LLADDR(sc->ste_ifp)[i + 1] << 8)); + ((if_getlladdr(sc->ste_ifp)[i] & 0xff) | + if_getlladdr(sc->ste_ifp)[i + 1] << 8)); } /* Init RX list */ @@ -1599,7 +1598,7 @@ ste_init_locked(struct ste_softc *sc) CSR_WRITE_2(sc, STE_ISR, 0xFFFF); #ifdef DEVICE_POLLING /* Disable interrupts if we are polling. */ - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) CSR_WRITE_2(sc, STE_IMR, 0); else #endif @@ -1610,8 +1609,8 @@ ste_init_locked(struct ste_softc *sc) /* Switch to the current media. */ mii_mediachg(mii); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); callout_reset(&sc->ste_callout, hz, ste_tick, sc); } @@ -1619,7 +1618,7 @@ ste_init_locked(struct ste_softc *sc) static void ste_stop(struct ste_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct ste_chain_onefrag *cur_rx; struct ste_chain *cur_tx; uint32_t val; @@ -1630,7 +1629,7 @@ ste_stop(struct ste_softc *sc) callout_stop(&sc->ste_callout); sc->ste_timer = 0; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING|IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING|IFF_DRV_OACTIVE)); CSR_WRITE_2(sc, STE_IMR, 0); CSR_WRITE_2(sc, STE_COUNTDOWN, 0); @@ -1738,35 +1737,35 @@ ste_restart_tx(struct ste_softc *sc) } static int -ste_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +ste_ioctl(if_t ifp, u_long command, caddr_t data) { struct ste_softc *sc; struct ifreq *ifr; struct mii_data *mii; int error = 0, mask; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; switch (command) { case SIOCSIFFLAGS: STE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && - ((ifp->if_flags ^ sc->ste_if_flags) & + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && + ((if_getflags(ifp) ^ sc->ste_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) ste_rxfilter(sc); else ste_init_locked(sc); - } else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) ste_stop(sc); - sc->ste_if_flags = ifp->if_flags; + sc->ste_if_flags = if_getflags(ifp); STE_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: STE_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) ste_rxfilter(sc); STE_UNLOCK(sc); break; @@ -1777,12 +1776,12 @@ ste_ioctl(struct ifnet *ifp, u_long command, caddr_t data) break; case SIOCSIFCAP: STE_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); #ifdef DEVICE_POLLING if ((mask & IFCAP_POLLING) != 0 && - (IFCAP_POLLING & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_POLLING; - if ((IFCAP_POLLING & ifp->if_capenable) != 0) { + (IFCAP_POLLING & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_POLLING); + if ((IFCAP_POLLING & if_getcapenable(ifp)) != 0) { error = ether_poll_register(ste_poll, ifp); if (error != 0) { STE_UNLOCK(sc); @@ -1798,8 +1797,8 @@ ste_ioctl(struct ifnet *ifp, u_long command, caddr_t data) } #endif /* DEVICE_POLLING */ if ((mask & IFCAP_WOL_MAGIC) != 0 && - (ifp->if_capabilities & IFCAP_WOL_MAGIC) != 0) - ifp->if_capenable ^= IFCAP_WOL_MAGIC; + (if_getcapabilities(ifp) & IFCAP_WOL_MAGIC) != 0) + if_togglecapenable(ifp, IFCAP_WOL_MAGIC); STE_UNLOCK(sc); break; default: @@ -1874,49 +1873,49 @@ ste_encap(struct ste_softc *sc, struct mbuf **m_head, struct ste_chain *txc) } static void -ste_start(struct ifnet *ifp) +ste_start(if_t ifp) { struct ste_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); STE_LOCK(sc); ste_start_locked(ifp); STE_UNLOCK(sc); } static void -ste_start_locked(struct ifnet *ifp) +ste_start_locked(if_t ifp) { struct ste_softc *sc; struct ste_chain *cur_tx; struct mbuf *m_head = NULL; int enq; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); STE_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->ste_flags & STE_FLAG_LINK) == 0) return; - for (enq = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd);) { + for (enq = 0; !if_sendq_empty(ifp);) { if (sc->ste_cdata.ste_tx_cnt == STE_TX_LIST_CNT - 1) { /* * Controller may have cached copy of the last used * next ptr so we have to reserve one TFD to avoid * TFD overruns. */ - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; cur_tx = &sc->ste_cdata.ste_tx_chain[sc->ste_cdata.ste_tx_prod]; if (ste_encap(sc, &m_head, cur_tx) != 0) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); + if_sendq_prepend(ifp, m_head); break; } if (sc->ste_cdata.ste_last_tx == NULL) { @@ -1954,7 +1953,7 @@ ste_start_locked(struct ifnet *ifp) static void ste_watchdog(struct ste_softc *sc) { - struct ifnet *ifp; + if_t ifp; ifp = sc->ste_ifp; STE_LOCK_ASSERT(sc); @@ -1968,10 +1967,10 @@ ste_watchdog(struct ste_softc *sc) ste_txeof(sc); ste_txeoc(sc); ste_rxeof(sc, -1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ste_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) ste_start_locked(ifp); } @@ -2001,7 +2000,7 @@ static int ste_resume(device_t dev) { struct ste_softc *sc; - struct ifnet *ifp; + if_t ifp; int pmc; uint16_t pmstat; @@ -2018,8 +2017,8 @@ ste_resume(device_t dev) } } ifp = sc->ste_ifp; - if ((ifp->if_flags & IFF_UP) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if ((if_getflags(ifp) & IFF_UP) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); ste_init_locked(sc); } STE_UNLOCK(sc); @@ -2104,7 +2103,7 @@ ste_sysctl_node(struct ste_softc *sc) static void ste_setwol(struct ste_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint16_t pmstat; uint8_t val; int pmc; @@ -2122,13 +2121,13 @@ ste_setwol(struct ste_softc *sc) val = CSR_READ_1(sc, STE_WAKE_EVENT); val &= ~(STE_WAKEEVENT_WAKEPKT_ENB | STE_WAKEEVENT_MAGICPKT_ENB | STE_WAKEEVENT_LINKEVT_ENB | STE_WAKEEVENT_WAKEONLAN_ENB); - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) val |= STE_WAKEEVENT_MAGICPKT_ENB | STE_WAKEEVENT_WAKEONLAN_ENB; CSR_WRITE_1(sc, STE_WAKE_EVENT, val); /* Request PME. */ pmstat = pci_read_config(sc->ste_dev, pmc + PCIR_POWER_STATUS, 2); pmstat &= ~(PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE); - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) pmstat |= PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE; pci_write_config(sc->ste_dev, pmc + PCIR_POWER_STATUS, pmstat, 2); } diff --git a/sys/dev/ste/if_stereg.h b/sys/dev/ste/if_stereg.h index a27cb0a89a25..2f5ba4564cf7 100644 --- a/sys/dev/ste/if_stereg.h +++ b/sys/dev/ste/if_stereg.h @@ -568,7 +568,7 @@ struct ste_chain_data { }; struct ste_softc { - struct ifnet *ste_ifp; + if_t ste_ifp; struct resource *ste_res; int ste_res_id; int ste_res_type; From nobody Mon Feb 6 17:54:04 2023 X-Original-To: dev-commits-src-main@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 4P9YmD5PyRz3n0bc; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmD2wGbz4XbH; Mon, 6 Feb 2023 17:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706044; 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=LMHTE9Pi/n5nPTGnRd8TCdbMVlVILIXk8WZuiAe0VSw=; b=TNKhtdyA5iS5jJSI7wpobWhpC/Auzg0ulhhpVji8moMf8A53a38y5IBytpOTX/EsUxTnKP Kyodiy1AoCh+OBeNpargrBkQfu109Xsy0S7yA28vG0RwRQWEMj0Hsu0VAFIJ+7cGgq5lcA S2xi9UzjUWTemGVS+DHaWiXaYmH6IlnqnszewK6I/k7dE0dZ9c2EyRHLoCcQonhSQTlk7o GlAlUZzzKC6jut9nmNeIwaKyurI9JdvC7PE7w4xK50f9p8ciwRRE335bPzFW7sNeVmQpw6 vkg6uPs7ChP+BwN97S/Xvk4rgBIxgauRbFxto3tBGMlHw8iT2Bs3Ici9Yrtqow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706044; 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=LMHTE9Pi/n5nPTGnRd8TCdbMVlVILIXk8WZuiAe0VSw=; b=HKT+wAl0zT/+KOO+2bnzwol+/kFcJTraBfx2DFRp30lYKRH/Gpzo4IiNO606Ja4TCRrlDT gVravJcv1DfoISAlQ2MJMmLuce9tmrLzCkkWbv8PSec+pRSYFKQwaqG+gXKsVSzdUonwVb kxL0miE2m63PljDepnNZmc/qxO8psR30y28m7qNjd4NLHwdwOuLcpu4I/xbtgZauW0Hcvr eATBzFv/8UNIw/v0uKvw758KACtYw5tBZD9vN5SbrJVoGSlEdsd8SQ7XXHGaZSu7YRst6s hyQUUULosZH3mdW6ci0nNv2xNm1rbpQyJfkrlBl8DCmSsLlaQPz+gAHtkczSOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706044; a=rsa-sha256; cv=none; b=CGlmg0Wt6C/YEkZtcfhF5RN8OY81xBvUoPj3e0i9N9DylI11+fGV8DmVrOg8oU+5hOJhAz yEwo5mInf2vlgOTFROtsqQkOu3BQrFjQ+HUSNPZ/Cog/tkobr0jmyPu0+ZhLfdMM+xEKzD AlCZx1soqgJq6+beRMDEBGQjVnp2C1L+WLxeQ31zz4szL4MoBcpx+RmHo8vkBmvxQPVczf Z6byziRIvKhMdUKtl6/Ix8QgB+eLQt/ms1PWC/kTeE47vPFo4LsksdxBsoD4BHdUWJTOtr qGDOAceSn1kTqMeGW9rf3/HtmLpDMXdpcJ8zSoXDqQpyRcv/yq9UdYGTftCqag== 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 4P9YmD1dvtzk1m; Mon, 6 Feb 2023 17:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Hs4wR074396; Mon, 6 Feb 2023 17:54:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Hs4jD074395; Mon, 6 Feb 2023 17:54:04 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:04 GMT Message-Id: <202302061754.316Hs4jD074395@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 3486b835044b - main - Mechanically convert if_vte(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3486b835044be423439394dceadf8dfd536af8b4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=3486b835044be423439394dceadf8dfd536af8b4 commit 3486b835044be423439394dceadf8dfd536af8b4 Author: Justin Hibbits AuthorDate: 2022-03-01 16:32:00 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:07 +0000 Mechanically convert if_vte(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37796 --- sys/dev/vte/if_vte.c | 153 ++++++++++++++++++++++++------------------------ sys/dev/vte/if_vtevar.h | 2 +- 2 files changed, 77 insertions(+), 78 deletions(-) diff --git a/sys/dev/vte/if_vte.c b/sys/dev/vte/if_vte.c index 452b1b90e771..10223b6cf073 100644 --- a/sys/dev/vte/if_vte.c +++ b/sys/dev/vte/if_vte.c @@ -102,7 +102,7 @@ static const struct vte_ident * vte_find_ident(device_t); #ifndef __NO_STRICT_ALIGNMENT static struct mbuf * - vte_fixup_rx(struct ifnet *, struct mbuf *); + vte_fixup_rx(if_t, struct mbuf *); #endif static void vte_get_macaddr(struct vte_softc *); static void vte_init(void *); @@ -110,15 +110,15 @@ static void vte_init_locked(struct vte_softc *); static int vte_init_rx_ring(struct vte_softc *); static int vte_init_tx_ring(struct vte_softc *); static void vte_intr(void *); -static int vte_ioctl(struct ifnet *, u_long, caddr_t); -static uint64_t vte_get_counter(struct ifnet *, ift_counter); +static int vte_ioctl(if_t, u_long, caddr_t); +static uint64_t vte_get_counter(if_t, ift_counter); static void vte_mac_config(struct vte_softc *); static int vte_miibus_readreg(device_t, int, int); static void vte_miibus_statchg(device_t); static int vte_miibus_writereg(device_t, int, int, int); -static int vte_mediachange(struct ifnet *); -static int vte_mediachange_locked(struct ifnet *); -static void vte_mediastatus(struct ifnet *, struct ifmediareq *); +static int vte_mediachange(if_t); +static int vte_mediachange_locked(if_t); +static void vte_mediastatus(if_t, struct ifmediareq *); static int vte_newbuf(struct vte_softc *, struct vte_rxdesc *); static int vte_probe(device_t); static void vte_reset(struct vte_softc *); @@ -126,7 +126,7 @@ static int vte_resume(device_t); static void vte_rxeof(struct vte_softc *); static void vte_rxfilter(struct vte_softc *); static int vte_shutdown(device_t); -static void vte_start(struct ifnet *); +static void vte_start(if_t); static void vte_start_locked(struct vte_softc *); static void vte_start_mac(struct vte_softc *); static void vte_stats_clear(struct vte_softc *); @@ -219,14 +219,14 @@ vte_miibus_statchg(device_t dev) { struct vte_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint16_t val; sc = device_get_softc(dev); mii = device_get_softc(sc->vte_miibus); ifp = sc->vte_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; sc->vte_flags &= ~VTE_FLAG_LINK; @@ -272,14 +272,14 @@ vte_miibus_statchg(device_t dev) } static void -vte_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) +vte_mediastatus(if_t ifp, struct ifmediareq *ifmr) { struct vte_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); VTE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) == 0) { + if ((if_getflags(ifp) & IFF_UP) == 0) { VTE_UNLOCK(sc); return; } @@ -292,12 +292,12 @@ vte_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -vte_mediachange(struct ifnet *ifp) +vte_mediachange(if_t ifp) { struct vte_softc *sc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); VTE_LOCK(sc); error = vte_mediachange_locked(ifp); VTE_UNLOCK(sc); @@ -305,14 +305,14 @@ vte_mediachange(struct ifnet *ifp) } static int -vte_mediachange_locked(struct ifnet *ifp) +vte_mediachange_locked(if_t ifp) { struct vte_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = device_get_softc(sc->vte_miibus); LIST_FOREACH(miisc, &mii->mii_phys, mii_list) PHY_RESET(miisc); @@ -375,7 +375,7 @@ static int vte_attach(device_t dev) { struct vte_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t macid; int error, rid; @@ -444,16 +444,15 @@ vte_attach(device_t dev) goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = vte_ioctl; - ifp->if_start = vte_start; - ifp->if_init = vte_init; - ifp->if_get_counter = vte_get_counter; - ifp->if_snd.ifq_drv_maxlen = VTE_TX_RING_CNT - 1; - IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, vte_ioctl); + if_setstartfn(ifp, vte_start); + if_setinitfn(ifp, vte_init); + if_setgetcounterfn(ifp, vte_get_counter); + if_setsendqlen(ifp, VTE_TX_RING_CNT - 1); + if_setsendqready(ifp); /* * Set up MII bus. @@ -479,10 +478,10 @@ vte_attach(device_t dev) ether_ifattach(ifp, sc->vte_eaddr); /* VLAN capability setup. */ - ifp->if_capabilities |= IFCAP_VLAN_MTU; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); /* Tell the upper layer we support VLAN over-sized frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); error = bus_setup_intr(dev, sc->vte_irq, INTR_TYPE_NET | INTR_MPSAFE, NULL, vte_intr, sc, &sc->vte_intrhand); @@ -503,7 +502,7 @@ static int vte_detach(device_t dev) { struct vte_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); @@ -943,13 +942,13 @@ static int vte_suspend(device_t dev) { struct vte_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); VTE_LOCK(sc); ifp = sc->vte_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) vte_stop(sc); VTE_UNLOCK(sc); @@ -960,14 +959,14 @@ static int vte_resume(device_t dev) { struct vte_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); VTE_LOCK(sc); ifp = sc->vte_ifp; - if ((ifp->if_flags & IFF_UP) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if ((if_getflags(ifp) & IFF_UP) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); vte_init_locked(sc); } VTE_UNLOCK(sc); @@ -1099,11 +1098,11 @@ vte_encap(struct vte_softc *sc, struct mbuf **m_head) } static void -vte_start(struct ifnet *ifp) +vte_start(if_t ifp) { struct vte_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); VTE_LOCK(sc); vte_start_locked(sc); VTE_UNLOCK(sc); @@ -1112,24 +1111,24 @@ vte_start(struct ifnet *ifp) static void vte_start_locked(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct vte_txdesc *txd; struct mbuf *m_head; int enq; ifp = sc->vte_ifp; - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->vte_flags & VTE_FLAG_LINK) == 0) return; - for (enq = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd); ) { + for (enq = 0; !if_sendq_empty(ifp); ) { /* Reserve one free TX descriptor. */ if (sc->vte_cdata.vte_tx_cnt >= VTE_TX_RING_CNT - 1) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; /* @@ -1139,7 +1138,7 @@ vte_start_locked(struct vte_softc *sc) */ if ((txd = vte_encap(sc, &m_head)) == NULL) { if (m_head != NULL) - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); + if_sendq_prepend(ifp, m_head); break; } @@ -1166,7 +1165,7 @@ vte_start_locked(struct vte_softc *sc) static void vte_watchdog(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; VTE_LOCK_ASSERT(sc); @@ -1176,42 +1175,42 @@ vte_watchdog(struct vte_softc *sc) ifp = sc->vte_ifp; if_printf(sc->vte_ifp, "watchdog timeout -- resetting\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); vte_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) vte_start_locked(sc); } static int -vte_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +vte_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct vte_softc *sc; struct ifreq *ifr; struct mii_data *mii; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; error = 0; switch (cmd) { case SIOCSIFFLAGS: VTE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && - ((ifp->if_flags ^ sc->vte_if_flags) & + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && + ((if_getflags(ifp) ^ sc->vte_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) vte_rxfilter(sc); else vte_init_locked(sc); - } else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) vte_stop(sc); - sc->vte_if_flags = ifp->if_flags; + sc->vte_if_flags = if_getflags(ifp); VTE_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: VTE_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) vte_rxfilter(sc); VTE_UNLOCK(sc); break; @@ -1309,7 +1308,7 @@ vte_stats_update(struct vte_softc *sc) } static uint64_t -vte_get_counter(struct ifnet *ifp, ift_counter cnt) +vte_get_counter(if_t ifp, ift_counter cnt) { struct vte_softc *sc; struct vte_hw_stats *stat; @@ -1338,7 +1337,7 @@ static void vte_intr(void *arg) { struct vte_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t status; int n; @@ -1357,7 +1356,7 @@ vte_intr(void *arg) /* Disable interrupts. */ CSR_WRITE_2(sc, VTE_MIER, 0); for (n = 8; (status & VTE_INTRS) != 0;) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) break; if ((status & (MISR_RX_DONE | MISR_RX_DESC_UNAVAIL | MISR_RX_FIFO_FULL)) != 0) @@ -1366,7 +1365,7 @@ vte_intr(void *arg) vte_txeof(sc); if ((status & MISR_EVENT_CNT_OFLOW) != 0) vte_stats_update(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) vte_start_locked(sc); if (--n > 0) status = CSR_READ_2(sc, VTE_MISR); @@ -1374,7 +1373,7 @@ vte_intr(void *arg) break; } - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { /* Re-enable interrupts. */ CSR_WRITE_2(sc, VTE_MIER, VTE_INTRS); } @@ -1384,7 +1383,7 @@ vte_intr(void *arg) static void vte_txeof(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct vte_txdesc *txd; uint16_t status; int cons, prog; @@ -1422,7 +1421,7 @@ vte_txeof(struct vte_softc *sc) } if (prog > 0) { - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); sc->vte_cdata.vte_tx_cons = cons; /* * Unarm watchdog timer only when there is no pending @@ -1478,7 +1477,7 @@ vte_newbuf(struct vte_softc *sc, struct vte_rxdesc *rxd) */ #ifndef __NO_STRICT_ALIGNMENT static struct mbuf * -vte_fixup_rx(struct ifnet *ifp, struct mbuf *m) +vte_fixup_rx(if_t ifp, struct mbuf *m) { uint16_t *src, *dst; int i; @@ -1496,7 +1495,7 @@ vte_fixup_rx(struct ifnet *ifp, struct mbuf *m) static void vte_rxeof(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct vte_rxdesc *rxd; struct mbuf *m; uint16_t status, total_len; @@ -1507,7 +1506,7 @@ vte_rxeof(struct vte_softc *sc) BUS_DMASYNC_POSTWRITE); cons = sc->vte_cdata.vte_rx_cons; ifp = sc->vte_ifp; - for (prog = 0; (ifp->if_drv_flags & IFF_DRV_RUNNING) != 0; prog++, + for (prog = 0; (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0; prog++, VTE_DESC_INC(cons, VTE_RX_RING_CNT)) { rxd = &sc->vte_cdata.vte_rxdesc[cons]; status = le16toh(rxd->rx_desc->drst); @@ -1539,7 +1538,7 @@ vte_rxeof(struct vte_softc *sc) vte_fixup_rx(ifp, m); #endif VTE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); VTE_LOCK(sc); } @@ -1648,7 +1647,7 @@ vte_init(void *xsc) static void vte_init_locked(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; bus_addr_t paddr; uint8_t *eaddr; @@ -1656,7 +1655,7 @@ vte_init_locked(struct vte_softc *sc) ifp = sc->vte_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* * Cancel any pending I/O. @@ -1686,7 +1685,7 @@ vte_init_locked(struct vte_softc *sc) * configure the remaining three addresses as perfect * multicast addresses. */ - eaddr = IF_LLADDR(sc->vte_ifp); + eaddr = if_getlladdr(sc->vte_ifp); CSR_WRITE_2(sc, VTE_MID0L, eaddr[1] << 8 | eaddr[0]); CSR_WRITE_2(sc, VTE_MID0M, eaddr[3] << 8 | eaddr[2]); CSR_WRITE_2(sc, VTE_MID0H, eaddr[5] << 8 | eaddr[4]); @@ -1764,14 +1763,14 @@ vte_init_locked(struct vte_softc *sc) callout_reset(&sc->vte_tick_ch, hz, vte_tick, sc); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } static void vte_stop(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct vte_txdesc *txd; struct vte_rxdesc *rxd; int i; @@ -1781,7 +1780,7 @@ vte_stop(struct vte_softc *sc) * Mark the interface down and cancel the watchdog timer. */ ifp = sc->vte_ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->vte_flags &= ~VTE_FLAG_LINK; callout_stop(&sc->vte_tick_ch); sc->vte_watchdog_timer = 0; @@ -1999,7 +1998,7 @@ vte_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void vte_rxfilter(struct vte_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct vte_maddr_ctx ctx; uint16_t mcr; int i; @@ -2019,12 +2018,12 @@ vte_rxfilter(struct vte_softc *sc) mcr = CSR_READ_2(sc, VTE_MCR0); mcr &= ~(MCR0_PROMISC | MCR0_MULTICAST); mcr |= MCR0_BROADCAST_DIS; - if ((ifp->if_flags & IFF_BROADCAST) != 0) + if ((if_getflags(ifp) & IFF_BROADCAST) != 0) mcr &= ~MCR0_BROADCAST_DIS; - if ((ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { - if ((ifp->if_flags & IFF_PROMISC) != 0) + if ((if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { + if ((if_getflags(ifp) & IFF_PROMISC) != 0) mcr |= MCR0_PROMISC; - if ((ifp->if_flags & IFF_ALLMULTI) != 0) + if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) mcr |= MCR0_MULTICAST; ctx.mchash[0] = 0xFFFF; ctx.mchash[1] = 0xFFFF; diff --git a/sys/dev/vte/if_vtevar.h b/sys/dev/vte/if_vtevar.h index 9f2f7dda5bbf..3512786198e7 100644 --- a/sys/dev/vte/if_vtevar.h +++ b/sys/dev/vte/if_vtevar.h @@ -123,7 +123,7 @@ struct vte_ident { * Software state per device. */ struct vte_softc { - struct ifnet *vte_ifp; + if_t vte_ifp; device_t vte_dev; device_t vte_miibus; struct resource *vte_res; From nobody Mon Feb 6 17:54:05 2023 X-Original-To: dev-commits-src-main@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 4P9YmF5RLRz3n0jm; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmF3DRMz4XS1; Mon, 6 Feb 2023 17:54:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706045; 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=3u7WqmjB8W+byT/kfQ/9AXWOf4jDYwTbZExS/93rWHc=; b=azL2kEM85QKoyiET882YbwxcfqQygRi0GXu7VXzDp1aazvBnlAznT8eTFv2bkehNXS6AUK rWac5cmT9UKk9EcadUEsqXt/8PYmCMluB4Gai1sWzhunhk0e2moEiY3dP5D6+pm8uQ4C0d sNW/7kR5Sz5WxoyYxFKuqLKlHaVEBMs75pBw/rOdUDK26DVWNz7Gr35Xa3i4i5HMZJSP2d EqEn7ar21zu6ApQOMFkceFwG8MeSr9g4rYX2u2AIo6bozMRBXEKfvNYEA8FB9m7VhtsnnI G800nAY8RVMOHlHdYpbZTJhT2bmle/3H0/VmxykW4PrAr7oDjtPUaCX/HZlFuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706045; 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=3u7WqmjB8W+byT/kfQ/9AXWOf4jDYwTbZExS/93rWHc=; b=gYoaDGL+7sjxgQcY277Yi2VIHrwI/Iam7p0zfEz15GBozXlS8J/e9QLJ7PhG3tsSBY+Nf3 OOOTAg4CtmVy03L4eO9qPMwPDIvhlc+mY45UXU/gJWsXFgJCQV3e5OWjNh+7QPoDsagiXa z6faHwfISKsq+m3DllXA/2P1HJ362f4iKiz+LE1Kfgu5AwIsNqq8XhOeXqENMsFgbShwbP ikl3ljAQZ4EZKAq1ETCFgnMqBxQyRnZ33diz8tHEwwxx70Ugpzi94NUvcNA1lOSzRls+yL ST33y+lhhTR+m3fKpkUDLye78xaPOyCKhw/U8Pp0kaQedxsqY4hmwIiIoGp1jg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706045; a=rsa-sha256; cv=none; b=murb99dVcoAEqnEkP7bcyObpzRD29E8NCrbq9VqFQllVk3lsMaD2uwY+iKB2eAD3AOAalE 8F3eUzc3VjIn26slOvK0XHGzwXq7aBUwePp23gvw2E7r3hAgBSroLvd2jNupkT5jG/k/JN 8qwHzssP2CR7zd9wGHYnoqzcwy87Q6FJGdr2+cEKsTOw1z03IyaxTU3GgBWc1mp+70d2rX 2rvY5bQRIe+njd24EbeCRFh7vzvoDh5J72/WOTP2DPA50W/zSZKMdoxWFGZytvcw18Gy57 qbskOgPcgFWEtveiJJn2YIp+PCiJZJgQMx2jkfmJMbucEPUlE6EQCW6oqbiY2A== 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 4P9YmF2KCZzkm2; Mon, 6 Feb 2023 17:54:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Hs5Zt074431; Mon, 6 Feb 2023 17:54:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Hs5UJ074430; Mon, 6 Feb 2023 17:54:05 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:05 GMT Message-Id: <202302061754.316Hs5UJ074430@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 0d1025348b7f - main - Mechanically convert if_vr(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0d1025348b7ff181d01593a773ba289f4ddddf4f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=0d1025348b7ff181d01593a773ba289f4ddddf4f commit 0d1025348b7ff181d01593a773ba289f4ddddf4f Author: Justin Hibbits AuthorDate: 2022-03-01 17:01:23 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:07 +0000 Mechanically convert if_vr(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37798 --- sys/dev/vr/if_vr.c | 199 +++++++++++++++++++++++++------------------------- sys/dev/vr/if_vrreg.h | 2 +- 2 files changed, 100 insertions(+), 101 deletions(-) diff --git a/sys/dev/vr/if_vr.c b/sys/dev/vr/if_vr.c index 98c3ee578b05..e26c2675818e 100644 --- a/sys/dev/vr/if_vr.c +++ b/sys/dev/vr/if_vr.c @@ -170,10 +170,10 @@ static int vr_error(struct vr_softc *, uint16_t); static void vr_tx_underrun(struct vr_softc *); static int vr_intr(void *); static void vr_int_task(void *, int); -static void vr_start(struct ifnet *); -static void vr_start_locked(struct ifnet *); +static void vr_start(if_t); +static void vr_start_locked(if_t); static int vr_encap(struct vr_softc *, struct mbuf **); -static int vr_ioctl(struct ifnet *, u_long, caddr_t); +static int vr_ioctl(if_t, u_long, caddr_t); static void vr_init(void *); static void vr_init_locked(struct vr_softc *); static void vr_tx_start(struct vr_softc *); @@ -182,8 +182,8 @@ static int vr_tx_stop(struct vr_softc *); static int vr_rx_stop(struct vr_softc *); static void vr_stop(struct vr_softc *); static void vr_watchdog(struct vr_softc *); -static int vr_ifmedia_upd(struct ifnet *); -static void vr_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static int vr_ifmedia_upd(if_t); +static void vr_ifmedia_sts(if_t, struct ifmediareq *); static int vr_miibus_readreg(device_t, int, int); static int vr_miibus_writereg(device_t, int, int, int); @@ -296,7 +296,7 @@ vr_miibus_statchg(device_t dev) { struct vr_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; int lfdx, mfdx; uint8_t cr0, cr1, fc; @@ -304,7 +304,7 @@ vr_miibus_statchg(device_t dev) mii = device_get_softc(sc->vr_miibus); ifp = sc->vr_ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; sc->vr_flags &= ~(VR_F_LINK | VR_F_TXPAUSE); @@ -473,7 +473,7 @@ vr_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void vr_set_filter(struct vr_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t hashes[2] = { 0, 0 }; uint8_t rxfilt; int error, mcnt; @@ -484,11 +484,11 @@ vr_set_filter(struct vr_softc *sc) rxfilt = CSR_READ_1(sc, VR_RXCFG); rxfilt &= ~(VR_RXCFG_RX_PROMISC | VR_RXCFG_RX_BROAD | VR_RXCFG_RX_MULTI); - if (ifp->if_flags & IFF_BROADCAST) + if (if_getflags(ifp) & IFF_BROADCAST) rxfilt |= VR_RXCFG_RX_BROAD; - if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_ALLMULTI || if_getflags(ifp) & IFF_PROMISC) { rxfilt |= VR_RXCFG_RX_MULTI; - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) rxfilt |= VR_RXCFG_RX_PROMISC; CSR_WRITE_1(sc, VR_RXCFG, rxfilt); CSR_WRITE_4(sc, VR_MAR0, 0xFFFFFFFF); @@ -605,7 +605,7 @@ static int vr_attach(device_t dev) { struct vr_softc *sc; - struct ifnet *ifp; + if_t ifp; const struct vr_type *t; uint8_t eaddr[ETHER_ADDR_LEN]; int error, rid; @@ -663,15 +663,14 @@ vr_attach(device_t dev) error = ENOSPC; goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = vr_ioctl; - ifp->if_start = vr_start; - ifp->if_init = vr_init; - IFQ_SET_MAXLEN(&ifp->if_snd, VR_TX_RING_CNT - 1); - ifp->if_snd.ifq_maxlen = VR_TX_RING_CNT - 1; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, vr_ioctl); + if_setstartfn(ifp, vr_start); + if_setinitfn(ifp, vr_init); + if_setsendqlen(ifp, VR_TX_RING_CNT - 1); + if_setsendqready(ifp); NET_TASK_INIT(&sc->vr_inttask, 0, vr_int_task, sc); @@ -687,8 +686,8 @@ vr_attach(device_t dev) sc->vr_txthresh = VR_TXTHRESH_MAX; } if ((sc->vr_quirks & VR_Q_CSUM) != 0) { - ifp->if_hwassist = VR_CSUM_FEATURES; - ifp->if_capabilities |= IFCAP_HWCSUM; + if_sethwassist(ifp, VR_CSUM_FEATURES); + if_setcapabilitiesbit(ifp, IFCAP_HWCSUM, 0); /* * To update checksum field the hardware may need to * store entire frames into FIFO before transmitting. @@ -698,13 +697,13 @@ vr_attach(device_t dev) if (sc->vr_revid >= REV_ID_VT6102_A && pci_find_cap(dev, PCIY_PMG, &pmc) == 0) - ifp->if_capabilities |= IFCAP_WOL_UCAST | IFCAP_WOL_MAGIC; + if_setcapabilitiesbit(ifp, IFCAP_WOL_UCAST | IFCAP_WOL_MAGIC, 0); /* Rhine supports oversized VLAN frame. */ - ifp->if_capabilities |= IFCAP_VLAN_MTU; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); #ifdef DEVICE_POLLING - ifp->if_capabilities |= IFCAP_POLLING; + if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif /* @@ -797,7 +796,7 @@ vr_attach(device_t dev) * Must appear after the call to ether_ifattach() because * ether_ifattach() sets ifi_hdrlen to the default value. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); /* Hook interrupt last to avoid having to lock softc. */ error = bus_setup_intr(dev, sc->vr_irq, INTR_TYPE_NET | INTR_MPSAFE, @@ -827,12 +826,12 @@ static int vr_detach(device_t dev) { struct vr_softc *sc = device_get_softc(dev); - struct ifnet *ifp = sc->vr_ifp; + if_t ifp = sc->vr_ifp; KASSERT(mtx_initialized(&sc->vr_mtx), ("vr mutex not initialized")); #ifdef DEVICE_POLLING - if (ifp != NULL && ifp->if_capenable & IFCAP_POLLING) + if (ifp != NULL && if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(ifp); #endif @@ -1295,7 +1294,7 @@ vr_rxeof(struct vr_softc *sc) { struct vr_rxdesc *rxd; struct mbuf *m; - struct ifnet *ifp; + if_t ifp; struct vr_desc *cur_rx; int cons, prog, total_len, rx_npkts; uint32_t rxstat, rxctl; @@ -1311,7 +1310,7 @@ vr_rxeof(struct vr_softc *sc) for (prog = 0; prog < VR_RX_RING_CNT; VR_INC(cons, VR_RX_RING_CNT)) { #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { if (sc->rxcycles <= 0) break; sc->rxcycles--; @@ -1391,7 +1390,7 @@ vr_rxeof(struct vr_softc *sc) m->m_pkthdr.rcvif = ifp; if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); sc->vr_stat.rx_ok++; - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0 && + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0 && (rxstat & VR_RXSTAT_FRAG) == 0 && (rxctl & VR_RXCTL_IP) != 0) { /* Checksum is valid for non-fragmented IP packets. */ @@ -1407,7 +1406,7 @@ vr_rxeof(struct vr_softc *sc) } } VR_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); VR_LOCK(sc); rx_npkts++; } @@ -1441,7 +1440,7 @@ vr_txeof(struct vr_softc *sc) { struct vr_txdesc *txd; struct vr_desc *cur_tx; - struct ifnet *ifp; + if_t ifp; uint32_t txctl, txstat; int cons, prod; @@ -1469,7 +1468,7 @@ vr_txeof(struct vr_softc *sc) break; sc->vr_cdata.vr_tx_cnt--; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); /* Only the first descriptor in the chain is valid. */ if ((txctl & VR_TXCTL_FIRSTFRAG) == 0) continue; @@ -1563,7 +1562,7 @@ vr_tick(void *xsc) if ((sc->vr_flags & VR_F_RESTART) != 0) { device_printf(sc->vr_dev, "restarting\n"); sc->vr_stat.num_restart++; - sc->vr_ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(sc->vr_ifp, 0, IFF_DRV_RUNNING); vr_init_locked(sc); sc->vr_flags &= ~VR_F_RESTART; } @@ -1581,35 +1580,35 @@ static poll_handler_t vr_poll; static poll_handler_t vr_poll_locked; static int -vr_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +vr_poll(if_t ifp, enum poll_cmd cmd, int count) { struct vr_softc *sc; int rx_npkts; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); rx_npkts = 0; VR_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) rx_npkts = vr_poll_locked(ifp, cmd, count); VR_UNLOCK(sc); return (rx_npkts); } static int -vr_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int count) +vr_poll_locked(if_t ifp, enum poll_cmd cmd, int count) { struct vr_softc *sc; int rx_npkts; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); VR_LOCK_ASSERT(sc); sc->rxcycles = count; rx_npkts = vr_rxeof(sc); vr_txeof(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) vr_start_locked(ifp); if (cmd == POLL_AND_CHECK_STATUS) { @@ -1693,7 +1692,7 @@ static void vr_int_task(void *arg, int npending) { struct vr_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t status; sc = (struct vr_softc *)arg; @@ -1706,12 +1705,12 @@ vr_int_task(void *arg, int npending) status = CSR_READ_2(sc, VR_ISR); ifp = sc->vr_ifp; #ifdef DEVICE_POLLING - if ((ifp->if_capenable & IFCAP_POLLING) != 0) + if ((if_getcapenable(ifp) & IFCAP_POLLING) != 0) goto done_locked; #endif /* Suppress unwanted interrupts. */ - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0 || (sc->vr_flags & VR_F_RESTART) != 0) { CSR_WRITE_2(sc, VR_IMR, 0); CSR_WRITE_2(sc, VR_ISR, status); @@ -1738,7 +1737,7 @@ vr_int_task(void *arg, int npending) } vr_txeof(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) vr_start_locked(ifp); status = CSR_READ_2(sc, VR_ISR); @@ -1954,34 +1953,34 @@ vr_encap(struct vr_softc *sc, struct mbuf **m_head) } static void -vr_start(struct ifnet *ifp) +vr_start(if_t ifp) { struct vr_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); VR_LOCK(sc); vr_start_locked(ifp); VR_UNLOCK(sc); } static void -vr_start_locked(struct ifnet *ifp) +vr_start_locked(if_t ifp) { struct vr_softc *sc; struct mbuf *m_head; int enq; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); VR_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->vr_flags & VR_F_LINK) == 0) return; - for (enq = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd) && + for (enq = 0; !if_sendq_empty(ifp) && sc->vr_cdata.vr_tx_cnt < VR_TX_RING_CNT - 2; ) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; /* @@ -1992,8 +1991,8 @@ vr_start_locked(struct ifnet *ifp) if (vr_encap(sc, &m_head)) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -2027,7 +2026,7 @@ vr_init(void *xsc) static void vr_init_locked(struct vr_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; bus_addr_t addr; int i; @@ -2037,7 +2036,7 @@ vr_init_locked(struct vr_softc *sc) ifp = sc->vr_ifp; mii = device_get_softc(sc->vr_miibus); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* Cancel pending I/O and free all RX/TX buffers. */ @@ -2046,7 +2045,7 @@ vr_init_locked(struct vr_softc *sc) /* Set our station address. */ for (i = 0; i < ETHER_ADDR_LEN; i++) - CSR_WRITE_1(sc, VR_PAR0 + i, IF_LLADDR(sc->vr_ifp)[i]); + CSR_WRITE_1(sc, VR_PAR0 + i, if_getlladdr(sc->vr_ifp)[i]); /* Set DMA size. */ VR_CLRBIT(sc, VR_BCR0, VR_BCR0_DMA_LENGTH); @@ -2153,7 +2152,7 @@ vr_init_locked(struct vr_softc *sc) /* * Disable interrupts if we are polling. */ - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) CSR_WRITE_2(sc, VR_IMR, 0); else #endif @@ -2164,8 +2163,8 @@ vr_init_locked(struct vr_softc *sc) if (sc->vr_revid > REV_ID_VT6102_A) CSR_WRITE_2(sc, VR_MII_IMR, 0); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); sc->vr_flags &= ~(VR_F_LINK | VR_F_TXPAUSE); mii_mediachg(mii); @@ -2177,14 +2176,14 @@ vr_init_locked(struct vr_softc *sc) * Set media options. */ static int -vr_ifmedia_upd(struct ifnet *ifp) +vr_ifmedia_upd(if_t ifp) { struct vr_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); VR_LOCK(sc); mii = device_get_softc(sc->vr_miibus); LIST_FOREACH(miisc, &mii->mii_phys, mii_list) @@ -2200,15 +2199,15 @@ vr_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -vr_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +vr_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct vr_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = device_get_softc(sc->vr_miibus); VR_LOCK(sc); - if ((ifp->if_flags & IFF_UP) == 0) { + if ((if_getflags(ifp) & IFF_UP) == 0) { VR_UNLOCK(sc); return; } @@ -2219,23 +2218,23 @@ vr_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -vr_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +vr_ioctl(if_t ifp, u_long command, caddr_t data) { struct vr_softc *sc; struct ifreq *ifr; struct mii_data *mii; int error, mask; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; error = 0; switch (command) { case SIOCSIFFLAGS: VR_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - if ((ifp->if_flags ^ sc->vr_if_flags) & + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if ((if_getflags(ifp) ^ sc->vr_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) vr_set_filter(sc); } else { @@ -2243,10 +2242,10 @@ vr_ioctl(struct ifnet *ifp, u_long command, caddr_t data) vr_init_locked(sc); } } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) vr_stop(sc); } - sc->vr_if_flags = ifp->if_flags; + sc->vr_if_flags = if_getflags(ifp); VR_UNLOCK(sc); break; case SIOCADDMULTI: @@ -2261,7 +2260,7 @@ vr_ioctl(struct ifnet *ifp, u_long command, caddr_t data) error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command); break; case SIOCSIFCAP: - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); #ifdef DEVICE_POLLING if (mask & IFCAP_POLLING) { if (ifr->ifr_reqcap & IFCAP_POLLING) { @@ -2271,35 +2270,35 @@ vr_ioctl(struct ifnet *ifp, u_long command, caddr_t data) VR_LOCK(sc); /* Disable interrupts. */ CSR_WRITE_2(sc, VR_IMR, 0x0000); - ifp->if_capenable |= IFCAP_POLLING; + if_setcapenablebit(ifp, IFCAP_POLLING, 0); VR_UNLOCK(sc); } else { error = ether_poll_deregister(ifp); /* Enable interrupts. */ VR_LOCK(sc); CSR_WRITE_2(sc, VR_IMR, VR_INTRS); - ifp->if_capenable &= ~IFCAP_POLLING; + if_setcapenablebit(ifp, 0, IFCAP_POLLING); VR_UNLOCK(sc); } } #endif /* DEVICE_POLLING */ if ((mask & IFCAP_TXCSUM) != 0 && - (IFCAP_TXCSUM & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((IFCAP_TXCSUM & ifp->if_capenable) != 0) - ifp->if_hwassist |= VR_CSUM_FEATURES; + (IFCAP_TXCSUM & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((IFCAP_TXCSUM & if_getcapenable(ifp)) != 0) + if_sethwassistbits(ifp, VR_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~VR_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, VR_CSUM_FEATURES); } if ((mask & IFCAP_RXCSUM) != 0 && - (IFCAP_RXCSUM & ifp->if_capabilities) != 0) - ifp->if_capenable ^= IFCAP_RXCSUM; + (IFCAP_RXCSUM & if_getcapabilities(ifp)) != 0) + if_togglecapenable(ifp, IFCAP_RXCSUM); if ((mask & IFCAP_WOL_UCAST) != 0 && - (ifp->if_capabilities & IFCAP_WOL_UCAST) != 0) - ifp->if_capenable ^= IFCAP_WOL_UCAST; + (if_getcapabilities(ifp) & IFCAP_WOL_UCAST) != 0) + if_togglecapenable(ifp, IFCAP_WOL_UCAST); if ((mask & IFCAP_WOL_MAGIC) != 0 && - (ifp->if_capabilities & IFCAP_WOL_MAGIC) != 0) - ifp->if_capenable ^= IFCAP_WOL_MAGIC; + (if_getcapabilities(ifp) & IFCAP_WOL_MAGIC) != 0) + if_togglecapenable(ifp, IFCAP_WOL_MAGIC); break; default: error = ether_ioctl(ifp, command, data); @@ -2312,7 +2311,7 @@ vr_ioctl(struct ifnet *ifp, u_long command, caddr_t data) static void vr_watchdog(struct vr_softc *sc) { - struct ifnet *ifp; + if_t ifp; VR_LOCK_ASSERT(sc); @@ -2332,7 +2331,7 @@ vr_watchdog(struct vr_softc *sc) if_printf(sc->vr_ifp, "watchdog timeout " "(missed link)\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); vr_init_locked(sc); return; } @@ -2340,10 +2339,10 @@ vr_watchdog(struct vr_softc *sc) if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); if_printf(ifp, "watchdog timeout\n"); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); vr_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) vr_start_locked(ifp); } @@ -2435,7 +2434,7 @@ vr_stop(struct vr_softc *sc) { struct vr_txdesc *txd; struct vr_rxdesc *rxd; - struct ifnet *ifp; + if_t ifp; int i; VR_LOCK_ASSERT(sc); @@ -2444,7 +2443,7 @@ vr_stop(struct vr_softc *sc) sc->vr_watchdog_timer = 0; callout_stop(&sc->vr_stat_callout); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); CSR_WRITE_1(sc, VR_CR0, VR_CR0_STOP); if (vr_rx_stop(sc) != 0) @@ -2515,7 +2514,7 @@ static int vr_resume(device_t dev) { struct vr_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); @@ -2523,7 +2522,7 @@ vr_resume(device_t dev) ifp = sc->vr_ifp; vr_clrwol(sc); vr_reset(sc); - if (ifp->if_flags & IFF_UP) + if (if_getflags(ifp) & IFF_UP) vr_init_locked(sc); sc->vr_flags &= ~VR_F_SUSPENDED; @@ -2535,7 +2534,7 @@ vr_resume(device_t dev) static void vr_setwol(struct vr_softc *sc) { - struct ifnet *ifp; + if_t ifp; int pmc; uint16_t pmstat; uint8_t v; @@ -2559,9 +2558,9 @@ vr_setwol(struct vr_softc *sc) CSR_WRITE_1(sc, VR_TESTREG_CLR, 3); CSR_WRITE_1(sc, VR_PWRCSR1_CLR, 3); } - if ((ifp->if_capenable & IFCAP_WOL_UCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_UCAST) != 0) CSR_WRITE_1(sc, VR_WOLCR_SET, VR_WOLCR_UCAST); - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) CSR_WRITE_1(sc, VR_WOLCR_SET, VR_WOLCR_MAGIC); /* * It seems that multicast wakeup frames require programming pattern @@ -2569,7 +2568,7 @@ vr_setwol(struct vr_softc *sc) * While it's possible to setup such a pattern it would complicate * WOL configuration so ignore multicast wakeup frames. */ - if ((ifp->if_capenable & IFCAP_WOL) != 0) { + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) { CSR_WRITE_1(sc, VR_WOLCFG_SET, VR_WOLCFG_SAB | VR_WOLCFG_SAM); v = CSR_READ_1(sc, VR_STICKHW); CSR_WRITE_1(sc, VR_STICKHW, v | VR_STICKHW_WOL_ENB); @@ -2584,7 +2583,7 @@ vr_setwol(struct vr_softc *sc) /* Request PME if WOL is requested. */ pmstat = pci_read_config(sc->vr_dev, pmc + PCIR_POWER_STATUS, 2); pmstat &= ~(PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE); - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) pmstat |= PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE; pci_write_config(sc->vr_dev, pmc + PCIR_POWER_STATUS, pmstat, 2); } diff --git a/sys/dev/vr/if_vrreg.h b/sys/dev/vr/if_vrreg.h index 9b42b330f755..2a62baae1d41 100644 --- a/sys/dev/vr/if_vrreg.h +++ b/sys/dev/vr/if_vrreg.h @@ -711,7 +711,7 @@ struct vr_statistics { }; struct vr_softc { - struct ifnet *vr_ifp; /* interface info */ + if_t vr_ifp; /* interface info */ device_t vr_dev; struct resource *vr_res; int vr_res_id; From nobody Mon Feb 6 17:54:06 2023 X-Original-To: dev-commits-src-main@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 4P9YmG51d4z3n0lt; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmG3hrYz4Xv6; Mon, 6 Feb 2023 17:54:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706046; 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=EGClWJaUroeHx2EC/1uNIOUp1C7K7tqvDmrEo3lN+ss=; b=YNvQK1HZamCnLwl+SgtBRh3Fahjq2+7haFT4LMmriKJWVbpVoFQteu+D5QmFwfEq2X/PVf V2fpfyZL0Clqg/yCtjTGKkDcC8BEq3RTM4tTpgmTqODYDIMGR6kTrTtzTAgg6HOazPbmWb x246Qn58RJf55mbcxOT1okO0blVXJ1uYJShkaYc28ahd/Ka9eDTdMQon2N0dFQQgjvQfSa GWgxvzcNSrX/9CYiSaz2Ei99eYa5tc4sHBpFjjuIN4G9moSJKjkk5aH+3XyE706POQGvGC umt5jUWo7K6S45mJHa6oqM+wcRvxRUUwLIv+G0eJJZly4LBiWSC30ftNjW4Cig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706046; 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=EGClWJaUroeHx2EC/1uNIOUp1C7K7tqvDmrEo3lN+ss=; b=pnOLcV1MD8VKDYNg1IDxHrfootsJ+h50WeUr5Nc5np7S9tb/jt04+o/omRd6qTSNxUIJP6 /sW/aCPfF8G4t+kZyhE0vRcs5Av9F6BAPcyiZVmcF9WpGp2LQaTJ/RkjdLcVD+mYwaPRPe qzoCIINXHfQGu3mz3NZ8qQJn5FT8j416M6jdZ6BayTMBMRMq25Wcv80BDuXMUKJsFl4UzB wFcHNlyzSzQRHOhm2pq7SLMTyIXKUVcraGbAlUSWmwFdXfFQ4me0kqQj2qCFEWREx9ntVo UMS3yJXpJO6evvy0EDJ0Li+yM9ZJVawkPvCis/zLz3zadDfcwZavZAXMRTjClw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706046; a=rsa-sha256; cv=none; b=RMtmIZVESOT18O3CYhIRzMzB3gNcXWlztWQniJvX0DPxW7tTYlld3okOaFtDk+kpURtj66 4vZGdhS7gHVaOxZ1yBd4yJaBKk1gPMM36cK0JA7t9Zjw5Q/i7p/sH62X3cvWfaXFCBWZwL GCtB4CyOLw2vMc7ieZd69EINs8vXV8p+NsbbG7C68oA987eq3eX4SFhIE1kKcrIR7A5fCZ 46fRaM6WOk6KFIF5e8VBovZMLI/SIOLel/GHKWNmRdAYc+vhEJ6B9Y0UJrr5Gv7R80gXh3 b66GhFtb92euVRYjvmbDgwuoGxyK4nTKbzDxCnQg0dzA29fQ5qni8NTa4vbr2A== 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 4P9YmG2nbdzkMV; Mon, 6 Feb 2023 17:54:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Hs64b074455; Mon, 6 Feb 2023 17:54:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Hs6SV074454; Mon, 6 Feb 2023 17:54:06 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:06 GMT Message-Id: <202302061754.316Hs6SV074454@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: ac8e2243b88c - main - Mechanically convert if_rl(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ac8e2243b88c95642a5e3f409edc52a859938c00 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=ac8e2243b88c95642a5e3f409edc52a859938c00 commit ac8e2243b88c95642a5e3f409edc52a859938c00 Author: Justin Hibbits AuthorDate: 2022-03-01 19:21:11 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:08 +0000 Mechanically convert if_rl(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37803 --- sys/dev/rl/if_rl.c | 205 +++++++++++++++++++++++++------------------------- sys/dev/rl/if_rlreg.h | 2 +- 2 files changed, 103 insertions(+), 104 deletions(-) diff --git a/sys/dev/rl/if_rl.c b/sys/dev/rl/if_rl.c index a53bc7d6eb1a..ec680b632995 100644 --- a/sys/dev/rl/if_rl.c +++ b/sys/dev/rl/if_rl.c @@ -185,9 +185,9 @@ static void rl_eeprom_getword(struct rl_softc *, int, uint16_t *); static int rl_encap(struct rl_softc *, struct mbuf **); static int rl_list_tx_init(struct rl_softc *); static int rl_list_rx_init(struct rl_softc *); -static int rl_ifmedia_upd(struct ifnet *); -static void rl_ifmedia_sts(struct ifnet *, struct ifmediareq *); -static int rl_ioctl(struct ifnet *, u_long, caddr_t); +static int rl_ifmedia_upd(if_t); +static void rl_ifmedia_sts(if_t, struct ifmediareq *); +static int rl_ioctl(if_t, u_long, caddr_t); static void rl_intr(void *); static void rl_init(void *); static void rl_init_locked(struct rl_softc *sc); @@ -195,8 +195,8 @@ static int rl_miibus_readreg(device_t, int, int); static void rl_miibus_statchg(device_t); static int rl_miibus_writereg(device_t, int, int, int); #ifdef DEVICE_POLLING -static int rl_poll(struct ifnet *ifp, enum poll_cmd cmd, int count); -static int rl_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int count); +static int rl_poll(if_t ifp, enum poll_cmd cmd, int count); +static int rl_poll_locked(if_t ifp, enum poll_cmd cmd, int count); #endif static int rl_probe(device_t); static void rl_read_eeprom(struct rl_softc *, uint8_t *, int, int, int); @@ -205,8 +205,8 @@ static int rl_resume(device_t); static int rl_rxeof(struct rl_softc *); static void rl_rxfilter(struct rl_softc *); static int rl_shutdown(device_t); -static void rl_start(struct ifnet *); -static void rl_start_locked(struct ifnet *); +static void rl_start(if_t); +static void rl_start_locked(if_t); static void rl_stop(struct rl_softc *); static int rl_suspend(device_t); static void rl_tick(void *); @@ -478,14 +478,14 @@ static void rl_miibus_statchg(device_t dev) { struct rl_softc *sc; - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; sc = device_get_softc(dev); mii = device_get_softc(sc->rl_miibus); ifp = sc->rl_ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; sc->rl_flags &= ~RL_FLAG_LINK; @@ -528,7 +528,7 @@ rl_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void rl_rxfilter(struct rl_softc *sc) { - struct ifnet *ifp = sc->rl_ifp; + if_t ifp = sc->rl_ifp; uint32_t hashes[2] = { 0, 0 }; uint32_t rxfilt; @@ -540,11 +540,11 @@ rl_rxfilter(struct rl_softc *sc) /* Always accept frames destined for this host. */ rxfilt |= RL_RXCFG_RX_INDIV; /* Set capture broadcast bit to capture broadcast frames. */ - if (ifp->if_flags & IFF_BROADCAST) + if (if_getflags(ifp) & IFF_BROADCAST) rxfilt |= RL_RXCFG_RX_BROAD; - if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_ALLMULTI || if_getflags(ifp) & IFF_PROMISC) { rxfilt |= RL_RXCFG_RX_MULTI; - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) rxfilt |= RL_RXCFG_RX_ALLPHYS; hashes[0] = 0xFFFFFFFF; hashes[1] = 0xFFFFFFFF; @@ -637,7 +637,7 @@ rl_attach(device_t dev) { uint8_t eaddr[ETHER_ADDR_LEN]; uint16_t as[3]; - struct ifnet *ifp; + if_t ifp; struct rl_softc *sc; const struct rl_type *t; struct sysctl_ctx_list *ctx; @@ -801,14 +801,14 @@ rl_attach(device_t dev) goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_mtu = ETHERMTU; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = rl_ioctl; - ifp->if_start = rl_start; - ifp->if_init = rl_init; - ifp->if_capabilities = IFCAP_VLAN_MTU; + if_setmtu(ifp, ETHERMTU); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, rl_ioctl); + if_setstartfn(ifp, rl_start); + if_setinitfn(ifp, rl_init); + if_setcapabilities(ifp, IFCAP_VLAN_MTU); /* Check WOL for RTL8139B or newer controllers. */ if (sc->rl_type == RL_8139 && pci_find_cap(sc->rl_dev, PCIY_PMG, &pmc) == 0) { @@ -820,7 +820,7 @@ rl_attach(device_t dev) case RL_HWREV_8139D: case RL_HWREV_8101: case RL_HWREV_8100: - ifp->if_capabilities |= IFCAP_WOL; + if_setcapabilitiesbit(ifp, IFCAP_WOL, 0); /* Disable WOL. */ rl_clrwol(sc); break; @@ -828,14 +828,13 @@ rl_attach(device_t dev) break; } } - ifp->if_capenable = ifp->if_capabilities; - ifp->if_capenable &= ~(IFCAP_WOL_UCAST | IFCAP_WOL_MCAST); + if_setcapenable(ifp, if_getcapabilities(ifp)); + if_setcapenablebit(ifp, 0, (IFCAP_WOL_UCAST | IFCAP_WOL_MCAST)); #ifdef DEVICE_POLLING - ifp->if_capabilities |= IFCAP_POLLING; + if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif - IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); - ifp->if_snd.ifq_drv_maxlen = ifqmaxlen; - IFQ_SET_READY(&ifp->if_snd); + if_setsendqlen(ifp, ifqmaxlen); + if_setsendqready(ifp); /* * Call MI attach routine. @@ -868,7 +867,7 @@ static int rl_detach(device_t dev) { struct rl_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); ifp = sc->rl_ifp; @@ -876,7 +875,7 @@ rl_detach(device_t dev) KASSERT(mtx_initialized(&sc->rl_mtx), ("rl mutex not initialized")); #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(ifp); #endif /* These should only be active if attach succeeded */ @@ -1116,7 +1115,7 @@ static int rl_rxeof(struct rl_softc *sc) { struct mbuf *m; - struct ifnet *ifp = sc->rl_ifp; + if_t ifp = sc->rl_ifp; uint8_t *rxbufpos; int total_len = 0; int wrap = 0; @@ -1143,7 +1142,7 @@ rl_rxeof(struct rl_softc *sc) while((CSR_READ_1(sc, RL_COMMAND) & RL_CMD_EMPTY_RXBUF) == 0) { #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { if (sc->rxcycles <= 0) break; sc->rxcycles--; @@ -1168,7 +1167,7 @@ rl_rxeof(struct rl_softc *sc) total_len < ETHER_MIN_LEN || total_len > ETHER_MAX_LEN + ETHER_VLAN_ENCAP_LEN) { if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); rl_init_locked(sc); return (rx_npkts); } @@ -1222,7 +1221,7 @@ rl_rxeof(struct rl_softc *sc) if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); RL_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); RL_LOCK(sc); rx_npkts++; } @@ -1238,7 +1237,7 @@ rl_rxeof(struct rl_softc *sc) static void rl_txeof(struct rl_softc *sc) { - struct ifnet *ifp = sc->rl_ifp; + if_t ifp = sc->rl_ifp; uint32_t txstat; RL_LOCK_ASSERT(sc); @@ -1280,14 +1279,14 @@ rl_txeof(struct rl_softc *sc) CSR_WRITE_4(sc, RL_TXCFG, RL_TXCFG_CONFIG); oldthresh = sc->rl_txthresh; /* error recovery */ - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); rl_init_locked(sc); /* restore original threshold */ sc->rl_txthresh = oldthresh; return; } RL_INC(sc->rl_cdata.last_tx); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } while (sc->rl_cdata.last_tx != sc->rl_cdata.cur_tx); if (RL_LAST_TXMBUF(sc) == NULL) @@ -1435,22 +1434,22 @@ rl_tick(void *xsc) #ifdef DEVICE_POLLING static int -rl_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +rl_poll(if_t ifp, enum poll_cmd cmd, int count) { - struct rl_softc *sc = ifp->if_softc; + struct rl_softc *sc = if_getsoftc(ifp); int rx_npkts = 0; RL_LOCK(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) rx_npkts = rl_poll_locked(ifp, cmd, count); RL_UNLOCK(sc); return (rx_npkts); } static int -rl_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int count) +rl_poll_locked(if_t ifp, enum poll_cmd cmd, int count) { - struct rl_softc *sc = ifp->if_softc; + struct rl_softc *sc = if_getsoftc(ifp); int rx_npkts; RL_LOCK_ASSERT(sc); @@ -1459,7 +1458,7 @@ rl_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int count) rx_npkts = rl_rxeof(sc); rl_txeof(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) rl_start_locked(ifp); if (cmd == POLL_AND_CHECK_STATUS) { @@ -1475,7 +1474,7 @@ rl_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int count) /* XXX We should check behaviour on receiver stalls. */ if (status & RL_ISR_SYSTEM_ERR) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); rl_init_locked(sc); } } @@ -1487,7 +1486,7 @@ static void rl_intr(void *arg) { struct rl_softc *sc = arg; - struct ifnet *ifp = sc->rl_ifp; + if_t ifp = sc->rl_ifp; uint16_t status; int count; @@ -1497,11 +1496,11 @@ rl_intr(void *arg) goto done_locked; #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) goto done_locked; #endif - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) goto done_locked2; status = CSR_READ_2(sc, RL_ISR); if (status == 0xffff || (status & RL_INTRS) == 0) @@ -1512,13 +1511,13 @@ rl_intr(void *arg) CSR_WRITE_2(sc, RL_IMR, 0); for (count = 16; count > 0; count--) { CSR_WRITE_2(sc, RL_ISR, status); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { if (status & (RL_ISR_RX_OK | RL_ISR_RX_ERR)) rl_rxeof(sc); if (status & (RL_ISR_TX_OK | RL_ISR_TX_ERR)) rl_txeof(sc); if (status & RL_ISR_SYSTEM_ERR) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); rl_init_locked(sc); RL_UNLOCK(sc); return; @@ -1530,11 +1529,11 @@ rl_intr(void *arg) break; } - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) rl_start_locked(ifp); done_locked2: - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) CSR_WRITE_2(sc, RL_IMR, RL_INTRS); done_locked: RL_UNLOCK(sc); @@ -1611,9 +1610,9 @@ rl_encap(struct rl_softc *sc, struct mbuf **m_head) * Main transmit routine. */ static void -rl_start(struct ifnet *ifp) +rl_start(if_t ifp) { - struct rl_softc *sc = ifp->if_softc; + struct rl_softc *sc = if_getsoftc(ifp); RL_LOCK(sc); rl_start_locked(ifp); @@ -1621,19 +1620,19 @@ rl_start(struct ifnet *ifp) } static void -rl_start_locked(struct ifnet *ifp) +rl_start_locked(if_t ifp) { - struct rl_softc *sc = ifp->if_softc; + struct rl_softc *sc = if_getsoftc(ifp); struct mbuf *m_head = NULL; RL_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->rl_flags & RL_FLAG_LINK) == 0) return; while (RL_CUR_TXMBUF(sc) == NULL) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; @@ -1641,8 +1640,8 @@ rl_start_locked(struct ifnet *ifp) if (rl_encap(sc, &m_head)) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -1666,7 +1665,7 @@ rl_start_locked(struct ifnet *ifp) * packets from the queue. */ if (RL_CUR_TXMBUF(sc) != NULL) - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); } static void @@ -1682,7 +1681,7 @@ rl_init(void *xsc) static void rl_init_locked(struct rl_softc *sc) { - struct ifnet *ifp = sc->rl_ifp; + if_t ifp = sc->rl_ifp; struct mii_data *mii; uint32_t eaddr[2]; @@ -1690,7 +1689,7 @@ rl_init_locked(struct rl_softc *sc) mii = device_get_softc(sc->rl_miibus); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* @@ -1716,7 +1715,7 @@ rl_init_locked(struct rl_softc *sc) */ CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_WRITECFG); bzero(eaddr, sizeof(eaddr)); - bcopy(IF_LLADDR(sc->rl_ifp), eaddr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(sc->rl_ifp), eaddr, ETHER_ADDR_LEN); CSR_WRITE_STREAM_4(sc, RL_IDR0, eaddr[0]); CSR_WRITE_STREAM_4(sc, RL_IDR4, eaddr[1]); CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF); @@ -1745,7 +1744,7 @@ rl_init_locked(struct rl_softc *sc) #ifdef DEVICE_POLLING /* Disable interrupts if we are polling. */ - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) CSR_WRITE_2(sc, RL_IMR, 0); else #endif @@ -1766,8 +1765,8 @@ rl_init_locked(struct rl_softc *sc) CSR_WRITE_1(sc, sc->rl_cfg1, RL_CFG1_DRVLOAD|RL_CFG1_FULLDUPLEX); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); callout_reset(&sc->rl_stat_callout, hz, rl_tick, sc); } @@ -1776,9 +1775,9 @@ rl_init_locked(struct rl_softc *sc) * Set media options. */ static int -rl_ifmedia_upd(struct ifnet *ifp) +rl_ifmedia_upd(if_t ifp) { - struct rl_softc *sc = ifp->if_softc; + struct rl_softc *sc = if_getsoftc(ifp); struct mii_data *mii; mii = device_get_softc(sc->rl_miibus); @@ -1794,9 +1793,9 @@ rl_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -rl_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +rl_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { - struct rl_softc *sc = ifp->if_softc; + struct rl_softc *sc = if_getsoftc(ifp); struct mii_data *mii; mii = device_get_softc(sc->rl_miibus); @@ -1809,26 +1808,26 @@ rl_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -rl_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +rl_ioctl(if_t ifp, u_long command, caddr_t data) { struct ifreq *ifr = (struct ifreq *)data; struct mii_data *mii; - struct rl_softc *sc = ifp->if_softc; + struct rl_softc *sc = if_getsoftc(ifp); int error = 0, mask; switch (command) { case SIOCSIFFLAGS: RL_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING && - ((ifp->if_flags ^ sc->rl_if_flags) & + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING && + ((if_getflags(ifp) ^ sc->rl_if_flags) & (IFF_PROMISC | IFF_ALLMULTI))) rl_rxfilter(sc); else rl_init_locked(sc); - } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) + } else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) rl_stop(sc); - sc->rl_if_flags = ifp->if_flags; + sc->rl_if_flags = if_getflags(ifp); RL_UNLOCK(sc); break; case SIOCADDMULTI: @@ -1843,40 +1842,40 @@ rl_ioctl(struct ifnet *ifp, u_long command, caddr_t data) error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command); break; case SIOCSIFCAP: - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); #ifdef DEVICE_POLLING if (ifr->ifr_reqcap & IFCAP_POLLING && - !(ifp->if_capenable & IFCAP_POLLING)) { + !(if_getcapenable(ifp) & IFCAP_POLLING)) { error = ether_poll_register(rl_poll, ifp); if (error) return(error); RL_LOCK(sc); /* Disable interrupts */ CSR_WRITE_2(sc, RL_IMR, 0x0000); - ifp->if_capenable |= IFCAP_POLLING; + if_setcapenablebit(ifp, IFCAP_POLLING, 0); RL_UNLOCK(sc); return (error); } if (!(ifr->ifr_reqcap & IFCAP_POLLING) && - ifp->if_capenable & IFCAP_POLLING) { + if_getcapenable(ifp) & IFCAP_POLLING) { error = ether_poll_deregister(ifp); /* Enable interrupts. */ RL_LOCK(sc); CSR_WRITE_2(sc, RL_IMR, RL_INTRS); - ifp->if_capenable &= ~IFCAP_POLLING; + if_setcapenablebit(ifp, 0, IFCAP_POLLING); RL_UNLOCK(sc); return (error); } #endif /* DEVICE_POLLING */ if ((mask & IFCAP_WOL) != 0 && - (ifp->if_capabilities & IFCAP_WOL) != 0) { + (if_getcapabilities(ifp) & IFCAP_WOL) != 0) { if ((mask & IFCAP_WOL_UCAST) != 0) - ifp->if_capenable ^= IFCAP_WOL_UCAST; + if_togglecapenable(ifp, IFCAP_WOL_UCAST); if ((mask & IFCAP_WOL_MCAST) != 0) - ifp->if_capenable ^= IFCAP_WOL_MCAST; + if_togglecapenable(ifp, IFCAP_WOL_MCAST); if ((mask & IFCAP_WOL_MAGIC) != 0) - ifp->if_capenable ^= IFCAP_WOL_MAGIC; + if_togglecapenable(ifp, IFCAP_WOL_MAGIC); } break; default: @@ -1901,7 +1900,7 @@ rl_watchdog(struct rl_softc *sc) rl_txeof(sc); rl_rxeof(sc); - sc->rl_ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(sc->rl_ifp, 0, IFF_DRV_RUNNING); rl_init_locked(sc); } @@ -1913,13 +1912,13 @@ static void rl_stop(struct rl_softc *sc) { int i; - struct ifnet *ifp = sc->rl_ifp; + if_t ifp = sc->rl_ifp; RL_LOCK_ASSERT(sc); sc->rl_watchdog_timer = 0; callout_stop(&sc->rl_stat_callout); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->rl_flags &= ~RL_FLAG_LINK; CSR_WRITE_1(sc, RL_COMMAND, 0x00); @@ -1981,7 +1980,7 @@ static int rl_resume(device_t dev) { struct rl_softc *sc; - struct ifnet *ifp; + if_t ifp; int pmc; uint16_t pmstat; @@ -1990,7 +1989,7 @@ rl_resume(device_t dev) RL_LOCK(sc); - if ((ifp->if_capabilities & IFCAP_WOL) != 0 && + if ((if_getcapabilities(ifp) & IFCAP_WOL) != 0 && pci_find_cap(sc->rl_dev, PCIY_PMG, &pmc) == 0) { /* Disable PME and clear PME status. */ pmstat = pci_read_config(sc->rl_dev, @@ -2008,7 +2007,7 @@ rl_resume(device_t dev) } /* reinitialize interface if necessary */ - if (ifp->if_flags & IFF_UP) + if (if_getflags(ifp) & IFF_UP) rl_init_locked(sc); sc->suspended = 0; @@ -2036,7 +2035,7 @@ rl_shutdown(device_t dev) * interrupt comes in later on, which can happen in some * cases. */ - sc->rl_ifp->if_flags &= ~IFF_UP; + if_setflagbits(sc->rl_ifp, 0, IFF_UP); rl_setwol(sc); RL_UNLOCK(sc); @@ -2046,7 +2045,7 @@ rl_shutdown(device_t dev) static void rl_setwol(struct rl_softc *sc) { - struct ifnet *ifp; + if_t ifp; int pmc; uint16_t pmstat; uint8_t v; @@ -2054,7 +2053,7 @@ rl_setwol(struct rl_softc *sc) RL_LOCK_ASSERT(sc); ifp = sc->rl_ifp; - if ((ifp->if_capabilities & IFCAP_WOL) == 0) + if ((if_getcapabilities(ifp) & IFCAP_WOL) == 0) return; if (pci_find_cap(sc->rl_dev, PCIY_PMG, &pmc) != 0) return; @@ -2065,24 +2064,24 @@ rl_setwol(struct rl_softc *sc) /* Enable PME. */ v = CSR_READ_1(sc, sc->rl_cfg1); v &= ~RL_CFG1_PME; - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) v |= RL_CFG1_PME; CSR_WRITE_1(sc, sc->rl_cfg1, v); v = CSR_READ_1(sc, sc->rl_cfg3); v &= ~(RL_CFG3_WOL_LINK | RL_CFG3_WOL_MAGIC); - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) v |= RL_CFG3_WOL_MAGIC; CSR_WRITE_1(sc, sc->rl_cfg3, v); v = CSR_READ_1(sc, sc->rl_cfg5); v &= ~(RL_CFG5_WOL_BCAST | RL_CFG5_WOL_MCAST | RL_CFG5_WOL_UCAST); v &= ~RL_CFG5_WOL_LANWAKE; - if ((ifp->if_capenable & IFCAP_WOL_UCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_UCAST) != 0) v |= RL_CFG5_WOL_UCAST; - if ((ifp->if_capenable & IFCAP_WOL_MCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MCAST) != 0) v |= RL_CFG5_WOL_MCAST | RL_CFG5_WOL_BCAST; - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) v |= RL_CFG5_WOL_LANWAKE; CSR_WRITE_1(sc, sc->rl_cfg5, v); @@ -2092,7 +2091,7 @@ rl_setwol(struct rl_softc *sc) /* Request PME if WOL is requested. */ pmstat = pci_read_config(sc->rl_dev, pmc + PCIR_POWER_STATUS, 2); pmstat &= ~(PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE); - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) pmstat |= PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE; pci_write_config(sc->rl_dev, pmc + PCIR_POWER_STATUS, pmstat, 2); } @@ -2100,11 +2099,11 @@ rl_setwol(struct rl_softc *sc) static void rl_clrwol(struct rl_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint8_t v; ifp = sc->rl_ifp; - if ((ifp->if_capabilities & IFCAP_WOL) == 0) + if ((if_getcapabilities(ifp) & IFCAP_WOL) == 0) return; /* Enable config register write. */ diff --git a/sys/dev/rl/if_rlreg.h b/sys/dev/rl/if_rlreg.h index 8bb8822d0a7d..71db25e765ee 100644 --- a/sys/dev/rl/if_rlreg.h +++ b/sys/dev/rl/if_rlreg.h @@ -863,7 +863,7 @@ struct rl_list_data { enum rl_twist { DONE, CHK_LINK, FIND_ROW, SET_PARAM, RECHK_LONG, RETUNE }; struct rl_softc { - struct ifnet *rl_ifp; /* interface info */ + if_t rl_ifp; /* interface info */ bus_space_handle_t rl_bhandle; /* bus space handle */ bus_space_tag_t rl_btag; /* bus space tag */ device_t rl_dev; From nobody Mon Feb 6 17:54:07 2023 X-Original-To: dev-commits-src-main@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 4P9YmH73smz3n0XX; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmH4SGYz4Y1Q; Mon, 6 Feb 2023 17:54:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706047; 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=QXEmKi1yLOLjT5+OlLEetmlGaYrCjoEyNw8pQzp/3uI=; b=YLYp+ae/DnYh5bNMGr8u9uZJEP8KQpRecSMHSi5cw2/2rnKf0PYSKUeTdVdPqZ7hmAobCH SrNUtpUCUPqGQFf5TAtNcYPcdiY4XIWt8W2zMQweXisf5PTcYKpYzywR0402xc9YTgQRmP /uvlkYanyKY5iuXpdYhvFxOUsZRQZ3YROL497Bj4lR3LyUBDSQCymFTrverMM/mtGp8r2V p+iFJITTIb3e+zpvokmtKzixuWhESbT9TrYHcvWn8llEB62PReHBcynkrPGGFX1XI/p6QE NngjORo2KvD4AokgYeKnr1hWjrQpMbcyYHqSXtEDm9TK9s/4RpRswGVOW6x+ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706047; 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=QXEmKi1yLOLjT5+OlLEetmlGaYrCjoEyNw8pQzp/3uI=; b=ML28rh+T5fnk9CTB+ZGSi5K++BWtyMeOSCuUYr8xwuzY4NUk/t2uYQzdDxVYF59qpYYFIB JBrB7/nUqJf0IGjU0bkOBIJYs/Gti/kkdGDMfG04RndWms+W+NxuVxpK+5MHX6W4jf306r 3ocRF0CJgP/SCNGc0fSrTQLA10s/5hFwLToA88SPTOvMDHZyILNDTWSGaByfzoOqc1lsy+ MB3007qtF34Kdb2S8ykgmZK6mIsunrd1HZj0b2TRCmbHNwmjTGi1vPLUJWJx/sk2Iqdr2R 25S5j5XFgnj2DluTMtKxUiqZ9mA5zCpRunEAXrWyfFyBeP3kLF9EMoQwpM3nfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706047; a=rsa-sha256; cv=none; b=e1pTr+CsksQjpISmyYyQ3EThb6fUiyuzGzzRzvQaIWsFHWU7ng2SHw21zvTjp22lS4ZiHw PLHW+TX2yPOoh2GlEvfNazAoh39nL9hi7GH6a5kEDHZzv7j/uJpyNR/cQfdpHC8UtNA9fp ifwLlvddn3OuWGdwLPALql7nVs+yquqDHPPa33HAhxrw3T2CM8wqzS9MC4OS4Szqqh5p0t lb25lU9w6RpSFw9H4RRwLW8UkfSwqVHDofs4KZM/hHBsC8RZ8AOQ+KA1I7iiY/FJ/bdry/ J6k0ykFh+CJc+HPzceI/oZauLG+5gT00sSjpFjnewDOEy781Wlz7BkPuTd/p4g== 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 4P9YmH3X0Dzk1n; Mon, 6 Feb 2023 17:54:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Hs7VX074483; Mon, 6 Feb 2023 17:54:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Hs7fW074482; Mon, 6 Feb 2023 17:54:07 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:07 GMT Message-Id: <202302061754.316Hs7fW074482@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 3ac0cb328ae3 - main - Mechanically convert if_vge(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3ac0cb328ae31f194a1792f30e7eb5b03d0c1bb9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=3ac0cb328ae31f194a1792f30e7eb5b03d0c1bb9 commit 3ac0cb328ae31f194a1792f30e7eb5b03d0c1bb9 Author: Justin Hibbits AuthorDate: 2022-03-01 17:54:37 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:08 +0000 Mechanically convert if_vge(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37801 --- sys/dev/vge/if_vge.c | 231 ++++++++++++++++++++++++------------------------ sys/dev/vge/if_vgevar.h | 2 +- 2 files changed, 116 insertions(+), 117 deletions(-) diff --git a/sys/dev/vge/if_vge.c b/sys/dev/vge/if_vge.c index a103c23a86c4..d2ccd27fdaff 100644 --- a/sys/dev/vge/if_vge.c +++ b/sys/dev/vge/if_vge.c @@ -174,14 +174,14 @@ static __inline void vge_fixup_rx(struct mbuf *); #endif static void vge_freebufs(struct vge_softc *); -static void vge_ifmedia_sts(struct ifnet *, struct ifmediareq *); -static int vge_ifmedia_upd(struct ifnet *); +static void vge_ifmedia_sts(if_t, struct ifmediareq *); +static int vge_ifmedia_upd(if_t); static int vge_ifmedia_upd_locked(struct vge_softc *); static void vge_init(void *); static void vge_init_locked(struct vge_softc *); static void vge_intr(void *); static void vge_intr_holdoff(struct vge_softc *); -static int vge_ioctl(struct ifnet *, u_long, caddr_t); +static int vge_ioctl(if_t, u_long, caddr_t); static void vge_link_statchg(void *); static int vge_miibus_readreg(device_t, int, int); static int vge_miibus_writereg(device_t, int, int, int); @@ -196,8 +196,8 @@ static void vge_rxfilter(struct vge_softc *); static void vge_setmedia(struct vge_softc *); static void vge_setvlan(struct vge_softc *); static void vge_setwol(struct vge_softc *); -static void vge_start(struct ifnet *); -static void vge_start_locked(struct ifnet *); +static void vge_start(if_t); +static void vge_start_locked(if_t); static void vge_stats_clear(struct vge_softc *); static void vge_stats_update(struct vge_softc *); static void vge_stop(struct vge_softc *); @@ -513,14 +513,14 @@ fail: static void vge_setvlan(struct vge_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint8_t cfg; VGE_LOCK_ASSERT(sc); ifp = sc->vge_ifp; cfg = CSR_READ_1(sc, VGE_RXCFG); - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) cfg |= VGE_VTAG_OPT2; else cfg &= ~VGE_VTAG_OPT2; @@ -562,7 +562,7 @@ vge_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void vge_rxfilter(struct vge_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t hashes[2]; uint8_t rxcfg; @@ -582,12 +582,12 @@ vge_rxfilter(struct vge_softc *sc) rxcfg |= VGE_RXCTL_RX_GIANT | VGE_RXCTL_RX_UCAST; ifp = sc->vge_ifp; - if ((ifp->if_flags & IFF_BROADCAST) != 0) + if ((if_getflags(ifp) & IFF_BROADCAST) != 0) rxcfg |= VGE_RXCTL_RX_BCAST; - if ((ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { - if ((ifp->if_flags & IFF_PROMISC) != 0) + if ((if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { + if ((if_getflags(ifp) & IFF_PROMISC) != 0) rxcfg |= VGE_RXCTL_RX_PROMISC; - if ((ifp->if_flags & IFF_ALLMULTI) != 0) { + if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) { hashes[0] = 0xFFFFFFFF; hashes[1] = 0xFFFFFFFF; } @@ -996,7 +996,7 @@ vge_attach(device_t dev) { u_char eaddr[ETHER_ADDR_LEN]; struct vge_softc *sc; - struct ifnet *ifp; + if_t ifp; int error = 0, cap, i, msic, rid; sc = device_get_softc(dev); @@ -1111,25 +1111,24 @@ vge_attach(device_t dev) goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = vge_ioctl; - ifp->if_capabilities = IFCAP_VLAN_MTU; - ifp->if_start = vge_start; - ifp->if_hwassist = VGE_CSUM_FEATURES; - ifp->if_capabilities |= IFCAP_HWCSUM | IFCAP_VLAN_HWCSUM | - IFCAP_VLAN_HWTAGGING; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, vge_ioctl); + if_setcapabilities(ifp, IFCAP_VLAN_MTU); + if_setstartfn(ifp, vge_start); + if_sethwassist(ifp, VGE_CSUM_FEATURES); + if_setcapabilitiesbit(ifp, IFCAP_HWCSUM | IFCAP_VLAN_HWCSUM | + IFCAP_VLAN_HWTAGGING, 0); if ((sc->vge_flags & VGE_FLAG_PMCAP) != 0) - ifp->if_capabilities |= IFCAP_WOL; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_WOL, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); #ifdef DEVICE_POLLING - ifp->if_capabilities |= IFCAP_POLLING; + if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif - ifp->if_init = vge_init; - IFQ_SET_MAXLEN(&ifp->if_snd, VGE_TX_DESC_CNT - 1); - ifp->if_snd.ifq_drv_maxlen = VGE_TX_DESC_CNT - 1; - IFQ_SET_READY(&ifp->if_snd); + if_setinitfn(ifp, vge_init); + if_setsendqlen(ifp, VGE_TX_DESC_CNT - 1); + if_setsendqready(ifp); /* * Call MI attach routine. @@ -1137,7 +1136,7 @@ vge_attach(device_t dev) ether_ifattach(ifp, eaddr); /* Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); /* Hook interrupt last to avoid having to lock softc */ error = bus_setup_intr(dev, sc->vge_irq, INTR_TYPE_NET|INTR_MPSAFE, @@ -1167,14 +1166,14 @@ static int vge_detach(device_t dev) { struct vge_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); KASSERT(mtx_initialized(&sc->vge_mtx), ("vge mutex not initialized")); ifp = sc->vge_ifp; #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(ifp); #endif @@ -1377,7 +1376,7 @@ vge_freebufs(struct vge_softc *sc) { struct vge_txdesc *txd; struct vge_rxdesc *rxd; - struct ifnet *ifp; + if_t ifp; int i; VGE_LOCK_ASSERT(sc); @@ -1437,7 +1436,7 @@ static int vge_rxeof(struct vge_softc *sc, int count) { struct mbuf *m; - struct ifnet *ifp; + if_t ifp; int prod, prog, total_len; struct vge_rxdesc *rxd; struct vge_rx_desc *cur_rx; @@ -1453,7 +1452,7 @@ vge_rxeof(struct vge_softc *sc, int count) prod = sc->vge_cdata.vge_rx_prodidx; for (prog = 0; count > 0 && - (ifp->if_drv_flags & IFF_DRV_RUNNING) != 0; + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0; VGE_RX_DESC_INC(prod)) { cur_rx = &sc->vge_rdata.vge_rx_ring[prod]; rxstat = le32toh(cur_rx->vge_sts); @@ -1555,7 +1554,7 @@ vge_rxeof(struct vge_softc *sc, int count) m->m_pkthdr.rcvif = ifp; /* Do RX checksumming if enabled */ - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0 && + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0 && (rxctl & VGE_RDCTL_FRAG) == 0) { /* Check IP header checksum */ if ((rxctl & VGE_RDCTL_IPPKT) != 0) @@ -1584,7 +1583,7 @@ vge_rxeof(struct vge_softc *sc, int count) } VGE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); VGE_LOCK(sc); sc->vge_cdata.vge_head = NULL; sc->vge_cdata.vge_tail = NULL; @@ -1608,7 +1607,7 @@ vge_rxeof(struct vge_softc *sc, int count) static void vge_txeof(struct vge_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct vge_tx_desc *cur_tx; struct vge_txdesc *txd; uint32_t txstat; @@ -1637,7 +1636,7 @@ vge_txeof(struct vge_softc *sc) if ((txstat & VGE_TDSTS_OWN) != 0) break; sc->vge_cdata.vge_tx_cnt--; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); txd = &sc->vge_cdata.vge_txdesc[cons]; bus_dmamap_sync(sc->vge_cdata.vge_tx_tag, txd->tx_dmamap, @@ -1662,7 +1661,7 @@ static void vge_link_statchg(void *xsc) { struct vge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint8_t physts; sc = xsc; @@ -1689,7 +1688,7 @@ vge_link_statchg(void *xsc) CSR_WRITE_1(sc, VGE_CRS2, VGE_CR2_FDX_RXFLOWCTL_ENABLE); } - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) vge_start_locked(ifp); } } @@ -1702,19 +1701,19 @@ vge_link_statchg(void *xsc) #ifdef DEVICE_POLLING static int -vge_poll (struct ifnet *ifp, enum poll_cmd cmd, int count) +vge_poll (if_t ifp, enum poll_cmd cmd, int count) { - struct vge_softc *sc = ifp->if_softc; + struct vge_softc *sc = if_getsoftc(ifp); int rx_npkts = 0; VGE_LOCK(sc); - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) goto done; rx_npkts = vge_rxeof(sc, count); vge_txeof(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) vge_start_locked(ifp); if (cmd == POLL_AND_CHECK_STATUS) { /* also check status register */ @@ -1731,7 +1730,7 @@ vge_poll (struct ifnet *ifp, enum poll_cmd cmd, int count) if (status & VGE_ISR_TXDMA_STALL || status & VGE_ISR_RXDMA_STALL) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); vge_init_locked(sc); } @@ -1751,7 +1750,7 @@ static void vge_intr(void *arg) { struct vge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint32_t status; sc = arg; @@ -1759,13 +1758,13 @@ vge_intr(void *arg) ifp = sc->vge_ifp; if ((sc->vge_flags & VGE_FLAG_SUSPENDED) != 0 || - (ifp->if_flags & IFF_UP) == 0) { + (if_getflags(ifp) & IFF_UP) == 0) { VGE_UNLOCK(sc); return; } #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { status = CSR_READ_4(sc, VGE_ISR); CSR_WRITE_4(sc, VGE_ISR, status); if (status != 0xFFFFFFFF && (status & VGE_ISR_LINKSTS) != 0) @@ -1782,7 +1781,7 @@ vge_intr(void *arg) /* If the card has gone away the read returns 0xffff. */ if (status == 0xFFFFFFFF || (status & VGE_INTRS) == 0) goto done; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { if (status & (VGE_ISR_RXOK|VGE_ISR_RXOK_HIPRIO)) vge_rxeof(sc, VGE_RX_DESC_CNT); if (status & (VGE_ISR_RXOFLOW|VGE_ISR_RXNODESC)) { @@ -1795,7 +1794,7 @@ vge_intr(void *arg) vge_txeof(sc); if (status & (VGE_ISR_TXDMA_STALL|VGE_ISR_RXDMA_STALL)) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); vge_init_locked(sc); } @@ -1803,11 +1802,11 @@ vge_intr(void *arg) vge_link_statchg(sc); } done: - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { /* Re-enable interrupts */ CSR_WRITE_1(sc, VGE_CRS3, VGE_CR3_INT_GMSK); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) vge_start_locked(ifp); } VGE_UNLOCK(sc); @@ -1941,38 +1940,38 @@ vge_encap(struct vge_softc *sc, struct mbuf **m_head) */ static void -vge_start(struct ifnet *ifp) +vge_start(if_t ifp) { struct vge_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); VGE_LOCK(sc); vge_start_locked(ifp); VGE_UNLOCK(sc); } static void -vge_start_locked(struct ifnet *ifp) +vge_start_locked(if_t ifp) { struct vge_softc *sc; struct vge_txdesc *txd; struct mbuf *m_head; int enq, idx; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); VGE_LOCK_ASSERT(sc); if ((sc->vge_flags & VGE_FLAG_LINK) == 0 || - (ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + (if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) return; idx = sc->vge_cdata.vge_tx_prodidx; VGE_TX_DESC_DEC(idx); - for (enq = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd) && + for (enq = 0; !if_sendq_empty(ifp) && sc->vge_cdata.vge_tx_cnt < VGE_TX_DESC_CNT - 1; ) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; /* @@ -1983,8 +1982,8 @@ vge_start_locked(struct ifnet *ifp) if (vge_encap(sc, &m_head)) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -2026,12 +2025,12 @@ vge_init(void *xsc) static void vge_init_locked(struct vge_softc *sc) { - struct ifnet *ifp = sc->vge_ifp; + if_t ifp = sc->vge_ifp; int error, i; VGE_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* @@ -2055,7 +2054,7 @@ vge_init_locked(struct vge_softc *sc) vge_stats_clear(sc); /* Set our station address */ for (i = 0; i < ETHER_ADDR_LEN; i++) - CSR_WRITE_1(sc, VGE_PAR0 + i, IF_LLADDR(sc->vge_ifp)[i]); + CSR_WRITE_1(sc, VGE_PAR0 + i, if_getlladdr(sc->vge_ifp)[i]); /* * Set receive FIFO threshold. Also allow transmission and @@ -2134,7 +2133,7 @@ vge_init_locked(struct vge_softc *sc) /* * Disable interrupts except link state change if we are polling. */ - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { CSR_WRITE_4(sc, VGE_IMR, VGE_INTRS_POLLING); } else /* otherwise ... */ #endif @@ -2150,8 +2149,8 @@ vge_init_locked(struct vge_softc *sc) sc->vge_flags &= ~VGE_FLAG_LINK; vge_ifmedia_upd_locked(sc); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); callout_reset(&sc->vge_watchdog, hz, vge_watchdog, sc); } @@ -2159,12 +2158,12 @@ vge_init_locked(struct vge_softc *sc) * Set media options. */ static int -vge_ifmedia_upd(struct ifnet *ifp) +vge_ifmedia_upd(if_t ifp) { struct vge_softc *sc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); VGE_LOCK(sc); error = vge_ifmedia_upd_locked(sc); VGE_UNLOCK(sc); @@ -2192,16 +2191,16 @@ vge_ifmedia_upd_locked(struct vge_softc *sc) * Report current media status. */ static void -vge_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +vge_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct vge_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = device_get_softc(sc->vge_miibus); VGE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) == 0) { + if ((if_getflags(ifp) & IFF_UP) == 0) { VGE_UNLOCK(sc); return; } @@ -2257,9 +2256,9 @@ vge_setmedia(struct vge_softc *sc) } static int -vge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +vge_ioctl(if_t ifp, u_long command, caddr_t data) { - struct vge_softc *sc = ifp->if_softc; + struct vge_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; struct mii_data *mii; int error = 0, mask; @@ -2269,33 +2268,33 @@ vge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) VGE_LOCK(sc); if (ifr->ifr_mtu < ETHERMIN || ifr->ifr_mtu > VGE_JUMBO_MTU) error = EINVAL; - else if (ifp->if_mtu != ifr->ifr_mtu) { + else if (if_getmtu(ifp) != ifr->ifr_mtu) { if (ifr->ifr_mtu > ETHERMTU && (sc->vge_flags & VGE_FLAG_JUMBO) == 0) error = EINVAL; else - ifp->if_mtu = ifr->ifr_mtu; + if_setmtu(ifp, ifr->ifr_mtu); } VGE_UNLOCK(sc); break; case SIOCSIFFLAGS: VGE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && - ((ifp->if_flags ^ sc->vge_if_flags) & + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && + ((if_getflags(ifp) ^ sc->vge_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) vge_rxfilter(sc); else vge_init_locked(sc); - } else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) vge_stop(sc); - sc->vge_if_flags = ifp->if_flags; + sc->vge_if_flags = if_getflags(ifp); VGE_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: VGE_LOCK(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) vge_rxfilter(sc); VGE_UNLOCK(sc); break; @@ -2305,7 +2304,7 @@ vge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command); break; case SIOCSIFCAP: - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); #ifdef DEVICE_POLLING if (mask & IFCAP_POLLING) { if (ifr->ifr_reqcap & IFCAP_POLLING) { @@ -2317,7 +2316,7 @@ vge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) CSR_WRITE_4(sc, VGE_IMR, VGE_INTRS_POLLING); CSR_WRITE_4(sc, VGE_ISR, 0xFFFFFFFF); CSR_WRITE_1(sc, VGE_CRS3, VGE_CR3_INT_GMSK); - ifp->if_capenable |= IFCAP_POLLING; + if_setcapenablebit(ifp, IFCAP_POLLING, 0); VGE_UNLOCK(sc); } else { error = ether_poll_deregister(ifp); @@ -2326,38 +2325,38 @@ vge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) CSR_WRITE_4(sc, VGE_IMR, VGE_INTRS); CSR_WRITE_4(sc, VGE_ISR, 0xFFFFFFFF); CSR_WRITE_1(sc, VGE_CRS3, VGE_CR3_INT_GMSK); - ifp->if_capenable &= ~IFCAP_POLLING; + if_setcapenablebit(ifp, 0, IFCAP_POLLING); VGE_UNLOCK(sc); } } #endif /* DEVICE_POLLING */ VGE_LOCK(sc); if ((mask & IFCAP_TXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_TXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist |= VGE_CSUM_FEATURES; + (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassistbits(ifp, VGE_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~VGE_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, VGE_CSUM_FEATURES); } if ((mask & IFCAP_RXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_RXCSUM) != 0) - ifp->if_capenable ^= IFCAP_RXCSUM; + (if_getcapabilities(ifp) & IFCAP_RXCSUM) != 0) + if_togglecapenable(ifp, IFCAP_RXCSUM); if ((mask & IFCAP_WOL_UCAST) != 0 && - (ifp->if_capabilities & IFCAP_WOL_UCAST) != 0) - ifp->if_capenable ^= IFCAP_WOL_UCAST; + (if_getcapabilities(ifp) & IFCAP_WOL_UCAST) != 0) + if_togglecapenable(ifp, IFCAP_WOL_UCAST); if ((mask & IFCAP_WOL_MCAST) != 0 && - (ifp->if_capabilities & IFCAP_WOL_MCAST) != 0) - ifp->if_capenable ^= IFCAP_WOL_MCAST; + (if_getcapabilities(ifp) & IFCAP_WOL_MCAST) != 0) + if_togglecapenable(ifp, IFCAP_WOL_MCAST); if ((mask & IFCAP_WOL_MAGIC) != 0 && - (ifp->if_capabilities & IFCAP_WOL_MAGIC) != 0) - ifp->if_capenable ^= IFCAP_WOL_MAGIC; + (if_getcapabilities(ifp) & IFCAP_WOL_MAGIC) != 0) + if_togglecapenable(ifp, IFCAP_WOL_MAGIC); if ((mask & IFCAP_VLAN_HWCSUM) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWCSUM) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWCSUM; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWCSUM) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWCSUM); if ((mask & IFCAP_VLAN_HWTAGGING) != 0 && - (IFCAP_VLAN_HWTAGGING & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; + (IFCAP_VLAN_HWTAGGING & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); vge_setvlan(sc); } VGE_UNLOCK(sc); @@ -2375,7 +2374,7 @@ static void vge_watchdog(void *arg) { struct vge_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = arg; VGE_LOCK_ASSERT(sc); @@ -2391,7 +2390,7 @@ vge_watchdog(void *arg) vge_txeof(sc); vge_rxeof(sc, VGE_RX_DESC_CNT); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); vge_init_locked(sc); } @@ -2402,14 +2401,14 @@ vge_watchdog(void *arg) static void vge_stop(struct vge_softc *sc) { - struct ifnet *ifp; + if_t ifp; VGE_LOCK_ASSERT(sc); ifp = sc->vge_ifp; sc->vge_timer = 0; callout_stop(&sc->vge_watchdog); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); CSR_WRITE_1(sc, VGE_CRC3, VGE_CR3_INT_GMSK); CSR_WRITE_1(sc, VGE_CRS0, VGE_CR0_STOP); @@ -2454,7 +2453,7 @@ static int vge_resume(device_t dev) { struct vge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t pmstat; sc = device_get_softc(dev); @@ -2474,8 +2473,8 @@ vge_resume(device_t dev) vge_miipoll_start(sc); ifp = sc->vge_ifp; /* Reinitialize interface if necessary. */ - if ((ifp->if_flags & IFF_UP) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if ((if_getflags(ifp) & IFF_UP) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); vge_init_locked(sc); } sc->vge_flags &= ~VGE_FLAG_SUSPENDED; @@ -2637,7 +2636,7 @@ static void vge_stats_update(struct vge_softc *sc) { struct vge_hw_stats *stats; - struct ifnet *ifp; + if_t ifp; uint32_t mib[VGE_MIB_CNT], val; int i; @@ -2846,7 +2845,7 @@ vge_setlinkspeed(struct vge_softc *sc) static void vge_setwol(struct vge_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint16_t pmstat; uint8_t val; @@ -2868,16 +2867,16 @@ vge_setwol(struct vge_softc *sc) CSR_WRITE_1(sc, VGE_WOLCR1C, 0x0F); CSR_WRITE_1(sc, VGE_WOLCFGC, VGE_WOLCFG_SAB | VGE_WOLCFG_SAM | VGE_WOLCFG_PMEOVR); - if ((ifp->if_capenable & IFCAP_WOL) != 0) { + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) { vge_setlinkspeed(sc); val = 0; - if ((ifp->if_capenable & IFCAP_WOL_UCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_UCAST) != 0) val |= VGE_WOLCR1_UCAST; - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) val |= VGE_WOLCR1_MAGIC; CSR_WRITE_1(sc, VGE_WOLCR1S, val); val = 0; - if ((ifp->if_capenable & IFCAP_WOL_MCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MCAST) != 0) val |= VGE_WOLCFG_SAM | VGE_WOLCFG_SAB; CSR_WRITE_1(sc, VGE_WOLCFGS, val | VGE_WOLCFG_PMEOVR); /* Disable MII auto-polling. */ @@ -2902,7 +2901,7 @@ vge_setwol(struct vge_softc *sc) pmstat = pci_read_config(sc->vge_dev, sc->vge_pmcap + PCIR_POWER_STATUS, 2); pmstat &= ~(PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE); - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) pmstat |= PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE; pci_write_config(sc->vge_dev, sc->vge_pmcap + PCIR_POWER_STATUS, pmstat, 2); diff --git a/sys/dev/vge/if_vgevar.h b/sys/dev/vge/if_vgevar.h index 5069f611b066..5ccfec4925c3 100644 --- a/sys/dev/vge/if_vgevar.h +++ b/sys/dev/vge/if_vgevar.h @@ -177,7 +177,7 @@ struct vge_hw_stats { }; struct vge_softc { - struct ifnet *vge_ifp; /* interface info */ + if_t vge_ifp; /* interface info */ device_t vge_dev; struct resource *vge_res; struct resource *vge_irq; From nobody Mon Feb 6 17:54:08 2023 X-Original-To: dev-commits-src-main@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 4P9YmK1scxz3n0bl; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmJ54vYz4Y1d; Mon, 6 Feb 2023 17:54:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706048; 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=000G68pYwZIWWYh/jumIdsc5gO3ezezjC3+8+6VPKOU=; b=oGDiG+BOK9ULQ0b0saRaLPrzdE9SwdmUerCRVpa00w2bG8Dudoym79ZsvSHI6wm+fY6Ptb Z1EnW/rA2yDH6/pRrxavD0YvGEz/hf54TxPy4aQ1Io9xBavgSnCQJg/C0zFn/pOt1QknRt jSgIAd7pYsOAcUstieZlq8EDUSFDLB1hUWREnDoR1408rtiDOejpN+fNohbxNlJHgguVvh XbHFrZh26AFtOsp1ilqmu+romBtrwVjD1yUJUckUA261gChdnGJ5srN3fqVM3pZUi19NPg 4JjeYQPE+zERyLnLPi6991y8CvVlttdy3oGQkP96BepzpR7wFwXQGtSZWat6MA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706048; 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=000G68pYwZIWWYh/jumIdsc5gO3ezezjC3+8+6VPKOU=; b=t4Jiyg0cvCzVC4XaqvblIu4g7voruDH8eWT8cA/TFfQk218vFdTfFwjM3onAdZoWZ1+Z80 bTKejUHhmaA1i4zxAdCufxGN0mHzgGDhNCrWPEc+hrOrZZbqfkc7nXbVQ3zvCzEHoB1Xz2 Fg6xJRSmvtoawyMyKmVRJUrvXHK7C62RJxdmxzh6/dxdz4Pg4oL+zXJ6vK+DUcw5dyzlFn at8ASO83qNaJy2fEdUg1xuMkBS/h0nkemFVclolXsX4pFip3Y13+YAMyJtC4lxwYfB7or/ Z33ijB0AjVOQXvT2L+8SFe1bFWlrvyfHQTh4d8CIe5/c+5hMXakSJWwwXLCCUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706048; a=rsa-sha256; cv=none; b=qXdif4m0tDz1S0iuxXmKC2ZdkkV2mw0yMTSfvvI9yW6AV3MPhknWmZvXvv2Gxpiz5DPRCO PdO4vOr+0FONaG/BP6I5FEl8jqsp08fntviM9Z9sStstQpIUbQXMStz32TLKrSS/eolJAD Tp8u5ouKoY770BVsjxkoaSMhVVtS1g9z3Vzai2RDD4vtzjqOcwSGbi3XfLlzuH9vBN7REk 9at8Fb27uIYoHqaXwbvhVQhiNM+zXjE7D0LVjp7BR2tAYw7mPwAryK962fYAtKFce+asjJ vwRexuDjNYROak5gbCAIRuyYQqEn1OR8EMpP2b9XQpAJO7Bl1t5CKhvUVbu/cQ== 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 4P9YmJ44vTzkTL; Mon, 6 Feb 2023 17:54:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Hs8UQ074507; Mon, 6 Feb 2023 17:54:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Hs8JB074506; Mon, 6 Feb 2023 17:54:08 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:08 GMT Message-Id: <202302061754.316Hs8JB074506@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 7c509be1c6c3 - main - Mechanically convert if_et(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7c509be1c6c3f689ca2d7c62731e6c5cc204f5b5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=7c509be1c6c3f689ca2d7c62731e6c5cc204f5b5 commit 7c509be1c6c3f689ca2d7c62731e6c5cc204f5b5 Author: Justin Hibbits AuthorDate: 2022-03-01 19:58:43 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:08 +0000 Mechanically convert if_et(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37810 --- sys/dev/et/if_et.c | 181 +++++++++++++++++++++++++------------------------- sys/dev/et/if_etvar.h | 2 +- 2 files changed, 91 insertions(+), 92 deletions(-) diff --git a/sys/dev/et/if_et.c b/sys/dev/et/if_et.c index 2280ab541d87..9cce5a3ae883 100644 --- a/sys/dev/et/if_et.c +++ b/sys/dev/et/if_et.c @@ -99,14 +99,14 @@ static void et_miibus_statchg(device_t); static void et_init_locked(struct et_softc *); static void et_init(void *); -static int et_ioctl(struct ifnet *, u_long, caddr_t); -static void et_start_locked(struct ifnet *); -static void et_start(struct ifnet *); +static int et_ioctl(if_t, u_long, caddr_t); +static void et_start_locked(if_t); +static void et_start(if_t); static int et_watchdog(struct et_softc *); -static int et_ifmedia_upd_locked(struct ifnet *); -static int et_ifmedia_upd(struct ifnet *); -static void et_ifmedia_sts(struct ifnet *, struct ifmediareq *); -static uint64_t et_get_counter(struct ifnet *, ift_counter); +static int et_ifmedia_upd_locked(if_t); +static int et_ifmedia_upd(if_t); +static void et_ifmedia_sts(if_t, struct ifmediareq *); +static uint64_t et_get_counter(if_t, ift_counter); static void et_add_sysctls(struct et_softc *); static int et_sysctl_rx_intr_npkts(SYSCTL_HANDLER_ARGS); @@ -222,7 +222,7 @@ static int et_attach(device_t dev) { struct et_softc *sc; - struct ifnet *ifp; + if_t ifp; uint8_t eaddr[ETHER_ADDR_LEN]; uint32_t pmcfg; int cap, error, msic; @@ -321,18 +321,17 @@ et_attach(device_t dev) if (error) goto fail; - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_init = et_init; - ifp->if_ioctl = et_ioctl; - ifp->if_start = et_start; - ifp->if_get_counter = et_get_counter; - ifp->if_capabilities = IFCAP_TXCSUM | IFCAP_VLAN_MTU; - ifp->if_capenable = ifp->if_capabilities; - ifp->if_snd.ifq_drv_maxlen = ET_TX_NDESC - 1; - IFQ_SET_MAXLEN(&ifp->if_snd, ET_TX_NDESC - 1); - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setinitfn(ifp, et_init); + if_setioctlfn(ifp, et_ioctl); + if_setstartfn(ifp, et_start); + if_setgetcounterfn(ifp, et_get_counter); + if_setcapabilities(ifp, IFCAP_TXCSUM | IFCAP_VLAN_MTU); + if_setcapenable(ifp, if_getcapabilities(ifp)); + if_setsendqlen(ifp, ET_TX_NDESC - 1); + if_setsendqready(ifp); et_chip_attach(sc); @@ -347,7 +346,7 @@ et_attach(device_t dev) ether_ifattach(ifp, eaddr); /* Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); error = bus_setup_intr(dev, sc->sc_irq_res, INTR_TYPE_NET | INTR_MPSAFE, NULL, et_intr, sc, &sc->sc_irq_handle); @@ -505,7 +504,7 @@ et_miibus_statchg(device_t dev) { struct et_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint32_t cfg1, cfg2, ctrl; int i; @@ -514,7 +513,7 @@ et_miibus_statchg(device_t dev) mii = device_get_softc(sc->sc_miibus); ifp = sc->ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; sc->sc_flags &= ~ET_FLAG_LINK; @@ -600,13 +599,13 @@ et_miibus_statchg(device_t dev) } static int -et_ifmedia_upd_locked(struct ifnet *ifp) +et_ifmedia_upd_locked(if_t ifp) { struct et_softc *sc; struct mii_data *mii; struct mii_softc *miisc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = device_get_softc(sc->sc_miibus); LIST_FOREACH(miisc, &mii->mii_phys, mii_list) PHY_RESET(miisc); @@ -614,12 +613,12 @@ et_ifmedia_upd_locked(struct ifnet *ifp) } static int -et_ifmedia_upd(struct ifnet *ifp) +et_ifmedia_upd(if_t ifp) { struct et_softc *sc; int res; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ET_LOCK(sc); res = et_ifmedia_upd_locked(ifp); ET_UNLOCK(sc); @@ -628,14 +627,14 @@ et_ifmedia_upd(struct ifnet *ifp) } static void -et_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +et_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct et_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ET_LOCK(sc); - if ((ifp->if_flags & IFF_UP) == 0) { + if ((if_getflags(ifp) & IFF_UP) == 0) { ET_UNLOCK(sc); return; } @@ -650,7 +649,7 @@ et_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) static void et_stop(struct et_softc *sc) { - struct ifnet *ifp; + if_t ifp; ET_LOCK_ASSERT(sc); @@ -675,7 +674,7 @@ et_stop(struct et_softc *sc) sc->sc_flags &= ~ET_FLAG_TXRX_ENABLED; sc->watchdog_timer = 0; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); } static int @@ -1177,13 +1176,13 @@ static void et_intr(void *xsc) { struct et_softc *sc; - struct ifnet *ifp; + if_t ifp; uint32_t status; sc = xsc; ET_LOCK(sc); ifp = sc->ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) goto done; status = CSR_READ_4(sc, ET_INTR_STATUS); @@ -1196,7 +1195,7 @@ et_intr(void *xsc) if (status & (ET_INTR_RXDMA_ERROR | ET_INTR_TXDMA_ERROR)) { device_printf(sc->dev, "DMA error(0x%08x) -- resetting\n", status); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); et_init_locked(sc); ET_UNLOCK(sc); return; @@ -1207,9 +1206,9 @@ et_intr(void *xsc) et_txeof(sc); if (status & ET_INTR_TIMER) CSR_WRITE_4(sc, ET_TIMER, sc->sc_timer); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { CSR_WRITE_4(sc, ET_INTR_MASK, ~ET_INTRS); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) et_start_locked(ifp); } done: @@ -1219,13 +1218,13 @@ done: static void et_init_locked(struct et_softc *sc) { - struct ifnet *ifp; + if_t ifp; int error; ET_LOCK_ASSERT(sc); ifp = sc->ifp; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) return; et_stop(sc); @@ -1256,8 +1255,8 @@ et_init_locked(struct et_softc *sc) CSR_WRITE_4(sc, ET_TIMER, sc->sc_timer); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); sc->sc_flags &= ~ET_FLAG_LINK; et_ifmedia_upd_locked(ifp); @@ -1280,14 +1279,14 @@ et_init(void *xsc) } static int -et_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +et_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct et_softc *sc; struct mii_data *mii; struct ifreq *ifr; int error, mask, max_framelen; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; error = 0; @@ -1295,19 +1294,19 @@ et_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) switch (cmd) { case SIOCSIFFLAGS: ET_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - if ((ifp->if_flags ^ sc->sc_if_flags) & + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if ((if_getflags(ifp) ^ sc->sc_if_flags) & (IFF_ALLMULTI | IFF_PROMISC | IFF_BROADCAST)) et_setmulti(sc); } else { et_init_locked(sc); } } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) et_stop(sc); } - sc->sc_if_flags = ifp->if_flags; + sc->sc_if_flags = if_getflags(ifp); ET_UNLOCK(sc); break; @@ -1319,7 +1318,7 @@ et_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) case SIOCADDMULTI: case SIOCDELMULTI: - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { ET_LOCK(sc); et_setmulti(sc); ET_UNLOCK(sc); @@ -1341,10 +1340,10 @@ et_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; } - if (ifp->if_mtu != ifr->ifr_mtu) { - ifp->if_mtu = ifr->ifr_mtu; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if (if_getmtu(ifp) != ifr->ifr_mtu) { + if_setmtu(ifp, ifr->ifr_mtu); + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); et_init_locked(sc); } } @@ -1353,14 +1352,14 @@ et_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) case SIOCSIFCAP: ET_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if ((mask & IFCAP_TXCSUM) != 0 && - (IFCAP_TXCSUM & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((IFCAP_TXCSUM & ifp->if_capenable) != 0) - ifp->if_hwassist |= ET_CSUM_FEATURES; + (IFCAP_TXCSUM & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((IFCAP_TXCSUM & if_getcapenable(ifp)) != 0) + if_sethwassistbits(ifp, ET_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~ET_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, ET_CSUM_FEATURES); } ET_UNLOCK(sc); break; @@ -1373,7 +1372,7 @@ et_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) } static void -et_start_locked(struct ifnet *ifp) +et_start_locked(if_t ifp) { struct et_softc *sc; struct mbuf *m_head = NULL; @@ -1382,10 +1381,10 @@ et_start_locked(struct ifnet *ifp) uint32_t tx_ready_pos; int enq; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ET_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->sc_flags & (ET_FLAG_LINK | ET_FLAG_TXRX_ENABLED)) != (ET_FLAG_LINK | ET_FLAG_TXRX_ENABLED)) @@ -1403,13 +1402,13 @@ et_start_locked(struct ifnet *ifp) if (tbd->tbd_used > (ET_TX_NDESC * 2) / 3) et_txeof(sc); - for (enq = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd); ) { + for (enq = 0; !if_sendq_empty(ifp); ) { if (tbd->tbd_used + ET_NSEG_SPARE >= ET_TX_NDESC) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; @@ -1418,9 +1417,9 @@ et_start_locked(struct ifnet *ifp) if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); break; } - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); + if_sendq_prepend(ifp, m_head); if (tbd->tbd_used > 0) - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } enq++; @@ -1441,11 +1440,11 @@ et_start_locked(struct ifnet *ifp) } static void -et_start(struct ifnet *ifp) +et_start(if_t ifp) { struct et_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ET_LOCK(sc); et_start_locked(ifp); ET_UNLOCK(sc); @@ -1468,7 +1467,7 @@ et_watchdog(struct et_softc *sc) status); if_inc_counter(sc->ifp, IFCOUNTER_OERRORS, 1); - sc->ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(sc->ifp, 0, IFF_DRV_RUNNING); et_init_locked(sc); return (EJUSTRETURN); } @@ -1581,7 +1580,7 @@ et_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void et_setmulti(struct et_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t hash[4] = { 0, 0, 0, 0 }; uint32_t rxmac_ctrl, pktfilt; int i, count; @@ -1593,7 +1592,7 @@ et_setmulti(struct et_softc *sc) rxmac_ctrl = CSR_READ_4(sc, ET_RXMAC_CTRL); pktfilt &= ~(ET_PKTFILT_BCAST | ET_PKTFILT_MCAST | ET_PKTFILT_UCAST); - if (ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI)) { + if (if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)) { rxmac_ctrl |= ET_RXMAC_CTRL_NO_PKTFILT; goto back; } @@ -1614,7 +1613,7 @@ back: static int et_chip_init(struct et_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t rxq_end; int error, frame_len, rxmem_size; @@ -1623,7 +1622,7 @@ et_chip_init(struct et_softc *sc) * Split 16Kbytes internal memory between TX and RX * according to frame length. */ - frame_len = ET_FRAMELEN(ifp->if_mtu); + frame_len = ET_FRAMELEN(if_getmtu(ifp)); if (frame_len < 2048) { rxmem_size = ET_MEM_RXSIZE_DEFAULT; } else if (frame_len <= ET_RXMAC_CUT_THRU_FRMLEN) { @@ -1842,7 +1841,7 @@ et_init_txdma(struct et_softc *sc) static void et_init_mac(struct et_softc *sc) { - struct ifnet *ifp; + if_t ifp; const uint8_t *eaddr; uint32_t val; @@ -1880,14 +1879,14 @@ et_init_mac(struct et_softc *sc) * Set MAC address */ ifp = sc->ifp; - eaddr = IF_LLADDR(ifp); + eaddr = if_getlladdr(ifp); val = eaddr[2] | (eaddr[3] << 8) | (eaddr[4] << 16) | (eaddr[5] << 24); CSR_WRITE_4(sc, ET_MAC_ADDR1, val); val = (eaddr[0] << 16) | (eaddr[1] << 24); CSR_WRITE_4(sc, ET_MAC_ADDR2, val); /* Set max frame length */ - CSR_WRITE_4(sc, ET_MAX_FRMLEN, ET_FRAMELEN(ifp->if_mtu)); + CSR_WRITE_4(sc, ET_MAX_FRMLEN, ET_FRAMELEN(if_getmtu(ifp))); /* Bring MAC out of reset state */ CSR_WRITE_4(sc, ET_MAC_CFG1, 0); @@ -1896,7 +1895,7 @@ et_init_mac(struct et_softc *sc) static void et_init_rxmac(struct et_softc *sc) { - struct ifnet *ifp; + if_t ifp; const uint8_t *eaddr; uint32_t val; int i; @@ -1916,7 +1915,7 @@ et_init_rxmac(struct et_softc *sc) * Set WOL source address. XXX is this necessary? */ ifp = sc->ifp; - eaddr = IF_LLADDR(ifp); + eaddr = if_getlladdr(ifp); val = (eaddr[2] << 24) | (eaddr[3] << 16) | (eaddr[4] << 8) | eaddr[5]; CSR_WRITE_4(sc, ET_WOL_SA_LO, val); val = (eaddr[0] << 8) | eaddr[1]; @@ -1930,7 +1929,7 @@ et_init_rxmac(struct et_softc *sc) CSR_WRITE_4(sc, ET_UCAST_FILTADDR2, 0); CSR_WRITE_4(sc, ET_UCAST_FILTADDR3, 0); - if (ET_FRAMELEN(ifp->if_mtu) > ET_RXMAC_CUT_THRU_FRMLEN) { + if (ET_FRAMELEN(if_getmtu(ifp)) > ET_RXMAC_CUT_THRU_FRMLEN) { /* * In order to transmit jumbo packets greater than * ET_RXMAC_CUT_THRU_FRMLEN bytes, the FIFO between @@ -2036,7 +2035,7 @@ et_rxeof(struct et_softc *sc) struct et_rxbuf_data *rbd; struct et_rxdesc_ring *rx_ring; struct et_rxstat *st; - struct ifnet *ifp; + if_t ifp; struct mbuf *m; uint32_t rxstat_pos, rxring_pos; uint32_t rxst_info1, rxst_info2, rxs_stat_ring; @@ -2065,7 +2064,7 @@ et_rxeof(struct et_softc *sc) while (rxst_index != rxst_ring->rsr_index || rxst_wrap != rxst_ring->rsr_wrap) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) break; MPASS(rxst_ring->rsr_index < ET_RX_NSTAT); @@ -2117,7 +2116,7 @@ et_rxeof(struct et_softc *sc) m->m_pkthdr.len = m->m_len = buflen; m->m_pkthdr.rcvif = ifp; ET_UNLOCK(sc); - ifp->if_input(ifp, m); + if_input(ifp, m); ET_LOCK(sc); } } @@ -2249,7 +2248,7 @@ et_txeof(struct et_softc *sc) struct et_txdesc_ring *tx_ring; struct et_txbuf_data *tbd; struct et_txbuf *tb; - struct ifnet *ifp; + if_t ifp; uint32_t tx_done; int end, wrap; @@ -2295,7 +2294,7 @@ et_txeof(struct et_softc *sc) if (tbd->tbd_used == 0) sc->watchdog_timer = 0; if (tbd->tbd_used + ET_NSEG_SPARE < ET_TX_NDESC) - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } static void @@ -2567,7 +2566,7 @@ static int et_sysctl_rx_intr_npkts(SYSCTL_HANDLER_ARGS) { struct et_softc *sc; - struct ifnet *ifp; + if_t ifp; int error, v; sc = arg1; @@ -2582,7 +2581,7 @@ et_sysctl_rx_intr_npkts(SYSCTL_HANDLER_ARGS) } if (sc->sc_rx_intr_npkts != v) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) CSR_WRITE_4(sc, ET_RX_INTR_NPKTS, v); sc->sc_rx_intr_npkts = v; } @@ -2594,7 +2593,7 @@ static int et_sysctl_rx_intr_delay(SYSCTL_HANDLER_ARGS) { struct et_softc *sc; - struct ifnet *ifp; + if_t ifp; int error, v; sc = arg1; @@ -2609,7 +2608,7 @@ et_sysctl_rx_intr_delay(SYSCTL_HANDLER_ARGS) } if (sc->sc_rx_intr_delay != v) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) CSR_WRITE_4(sc, ET_RX_INTR_DELAY, v); sc->sc_rx_intr_delay = v; } @@ -2672,7 +2671,7 @@ et_stats_update(struct et_softc *sc) } static uint64_t -et_get_counter(struct ifnet *ifp, ift_counter cnt) +et_get_counter(if_t ifp, ift_counter cnt) { struct et_softc *sc; struct et_hw_stats *stats; @@ -2708,7 +2707,7 @@ et_suspend(device_t dev) sc = device_get_softc(dev); ET_LOCK(sc); - if ((sc->ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(sc->ifp) & IFF_DRV_RUNNING) != 0) et_stop(sc); /* Diable all clocks and put PHY into COMA. */ pmcfg = CSR_READ_4(sc, ET_PM); @@ -2733,7 +2732,7 @@ et_resume(device_t dev) if ((sc->sc_flags & ET_FLAG_FASTETHER) == 0) pmcfg |= EM_PM_GIGEPHY_ENB; CSR_WRITE_4(sc, ET_PM, pmcfg); - if ((sc->ifp->if_flags & IFF_UP) != 0) + if ((if_getflags(sc->ifp) & IFF_UP) != 0) et_init_locked(sc); ET_UNLOCK(sc); return (0); diff --git a/sys/dev/et/if_etvar.h b/sys/dev/et/if_etvar.h index 461324f2f0f1..485654259c13 100644 --- a/sys/dev/et/if_etvar.h +++ b/sys/dev/et/if_etvar.h @@ -284,7 +284,7 @@ struct et_hw_stats { }; struct et_softc { - struct ifnet *ifp; + if_t ifp; device_t dev; struct mtx sc_mtx; device_t sc_miibus; From nobody Mon Feb 6 17:54:09 2023 X-Original-To: dev-commits-src-main@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 4P9YmL17xfz3n0Xb; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmL0TVyz4Xl9; Mon, 6 Feb 2023 17:54:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706050; 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=P/a6H+bXmgImLZLX9J2UY5Eipxa+ZLikR213KKt+TaU=; b=ACc/sgbbpFmI/2uLgt6qrSJjWzZTRIKqSef+ezPxgBnpEQ4DKfxBpPecbS4eIyCh14qPrs rpUzlKhyjAqV4ho1Q1/28KmqF3AORq0RopcWfZDME0ovB4mJEAnJhcX9+gmlzfPNl0XTP2 ZTadPEygXa/eiNG9itIUF/eO8tX2qo9QrCkFJHKnJGWbAhz4WG9z1iak9zQBGA3OT4BDIS dDI8R9FWBsG91FSYb0kW5/AZhzH7FwO8D0CyAxCj34MfbyoEQ4gzoBpjQXqPE8Qwof/Ck4 qiEbPNGsPAxIyShBScFWIZsHqsCk0Lvs49AvYAyrSWmjD9u5xccKZ/HOKrxtCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706050; 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=P/a6H+bXmgImLZLX9J2UY5Eipxa+ZLikR213KKt+TaU=; b=H5ARjKtSXzjX/sf/REiFHSYmQ6q6gaG/+CuPwacpjb1MIGEdeLeyoCWEi6bqqeFKxfx4Vv PabnOy2A4BKJmaswpp1n3QGCR2YtSU7xh0sciC1ysbiw7tv5a0f+F1q4wZUDjyn7s7lhKz SoGgxJjiiwgxjaijsAEW2eOpPL/XwEXxRkeoc3F1wxEU2x1yucKsBFGhHMNAoFXfqcRLed 3EWT5s7gBeVLp8fEVCogTiL94HocsNVKJnKTd3eBaBjSBApaFmq2rTf3jlDmywkl9tCHVr Z4lbMFnAS0IzUs35EsGsZJUOngRscR7EdgSMr2rQMvegZ4hjDoI4E//xW16Q8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706050; a=rsa-sha256; cv=none; b=VSyXzvVHTQ5UEqlP0nIFY4/wpGKHDOjJBcxqYP8yQfCzNBf55HcFUC68bjRDs7w8/vIzZ5 ACctMB6hXZFA8X8gT/1FiaZ7XY0oxSx5FZJZghOmBfCHK6wFWBcrNyV8OHF4KKm+9SJ16f PVBtgScExkXtkAp4x66r38ZGQB8YsEqHiKRP5mUcPObPdo/oH+LwuEufBPG5LC9+w4/oul I4GKP5PBrjIzAZqKjfM/tUrm5pNOXGLtjkAD6y6FAyzlN7MH0Eg+s8p8WaYIc9JvkJax5N hkpWZqbSeBfJI+ijCcbFivEwuy8hSZbKnZwq9aklFMzgMhTDwn6XDQ7zdQEyUg== 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 4P9YmK536Tzkm4; Mon, 6 Feb 2023 17:54:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Hs9ov074531; Mon, 6 Feb 2023 17:54:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Hs9Cq074530; Mon, 6 Feb 2023 17:54:09 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:09 GMT Message-Id: <202302061754.316Hs9Cq074530@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 3fba06ad1342 - main - Mechanically convert sbni(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3fba06ad1342a0f374dc66dda6a5ca691a012e81 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=3fba06ad1342a0f374dc66dda6a5ca691a012e81 commit 3fba06ad1342a0f374dc66dda6a5ca691a012e81 Author: Justin Hibbits AuthorDate: 2022-08-17 20:29:52 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:09 +0000 Mechanically convert sbni(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37822 --- sys/dev/sbni/if_sbni.c | 75 +++++++++++++++++++++++----------------------- sys/dev/sbni/if_sbni_isa.c | 2 +- 2 files changed, 39 insertions(+), 38 deletions(-) diff --git a/sys/dev/sbni/if_sbni.c b/sys/dev/sbni/if_sbni.c index c2ce59eb1c7c..c23f0364c8bc 100644 --- a/sys/dev/sbni/if_sbni.c +++ b/sys/dev/sbni/if_sbni.c @@ -89,9 +89,9 @@ __FBSDID("$FreeBSD$"); static void sbni_init(void *); static void sbni_init_locked(struct sbni_softc *); -static void sbni_start(struct ifnet *); -static void sbni_start_locked(struct ifnet *); -static int sbni_ioctl(struct ifnet *, u_long, caddr_t); +static void sbni_start(if_t); +static void sbni_start_locked(if_t); +static int sbni_ioctl(if_t, u_long, caddr_t); static void sbni_stop(struct sbni_softc *); static void handle_channel(struct sbni_softc *); @@ -217,8 +217,9 @@ sbni_probe(struct sbni_softc *sc) int sbni_attach(struct sbni_softc *sc, int unit, struct sbni_flags flags) { - struct ifnet *ifp; + if_t ifp; u_char csr0; + uint64_t baudrate; ifp = sc->ifp = if_alloc(IFT_ETHER); if (ifp == NULL) @@ -227,26 +228,26 @@ sbni_attach(struct sbni_softc *sc, int unit, struct sbni_flags flags) set_initial_values(sc, flags); /* Initialize ifnet structure */ - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, "sbni", unit); - ifp->if_init = sbni_init; - ifp->if_start = sbni_start; - ifp->if_ioctl = sbni_ioctl; - IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); + if_setinitfn(ifp, sbni_init); + if_setstartfn(ifp, sbni_start); + if_setioctlfn(ifp, sbni_ioctl); + if_setsendqlen(ifp, ifqmaxlen); /* report real baud rate */ csr0 = sbni_inb(sc, CSR0); - ifp->if_baudrate = - (csr0 & 0x01 ? 500000 : 2000000) / (1 << flags.rate); + baudrate = (csr0 & 0x01 ? 500000 : 2000000) / (1 << flags.rate); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + if_setbaudrate(ifp, baudrate); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); - mtx_init(&sc->lock, ifp->if_xname, MTX_NETWORK_LOCK, MTX_DEF); + mtx_init(&sc->lock, if_name(ifp), MTX_NETWORK_LOCK, MTX_DEF); callout_init_mtx(&sc->wch, &sc->lock, 0); ether_ifattach(ifp, sc->enaddr); /* device attach does transition from UNCONFIGURED to IDLE state */ - if_printf(ifp, "speed %ju, rxl ", (uintmax_t)ifp->if_baudrate); + if_printf(ifp, "speed %ju, rxl ", (uintmax_t)baudrate); if (sc->delta_rxl) printf("auto\n"); else @@ -297,7 +298,7 @@ sbni_init(void *xsc) static void sbni_init_locked(struct sbni_softc *sc) { - struct ifnet *ifp; + if_t ifp; ifp = sc->ifp; @@ -305,23 +306,23 @@ sbni_init_locked(struct sbni_softc *sc) * kludge to avoid multiple initialization when more than once * protocols configured */ - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) return; card_start(sc); callout_reset(&sc->wch, hz/SBNI_HZ, sbni_timeout, sc); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); /* attempt to start output */ sbni_start_locked(ifp); } static void -sbni_start(struct ifnet *ifp) +sbni_start(if_t ifp) { - struct sbni_softc *sc = ifp->if_softc; + struct sbni_softc *sc = if_getsoftc(ifp); SBNI_LOCK(sc); sbni_start_locked(ifp); @@ -329,9 +330,9 @@ sbni_start(struct ifnet *ifp) } static void -sbni_start_locked(struct ifnet *ifp) +sbni_start_locked(if_t ifp) { - struct sbni_softc *sc = ifp->if_softc; + struct sbni_softc *sc = if_getsoftc(ifp); if (sc->tx_frameno == 0) prepare_to_send(sc); @@ -349,7 +350,7 @@ sbni_stop(struct sbni_softc *sc) } callout_stop(&sc->wch); - sc->ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(sc->ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); } /* -------------------------------------------------------------------------- */ @@ -699,13 +700,13 @@ prepare_to_send(struct sbni_softc *sc) sc->state &= ~(FL_WAIT_ACK | FL_NEED_RESEND); for (;;) { - IF_DEQUEUE(&sc->ifp->if_snd, sc->tx_buf_p); + sc->tx_buf_p = if_dequeue(sc->ifp); if (!sc->tx_buf_p) { /* nothing to transmit... */ sc->pktlen = 0; sc->tx_frameno = 0; sc->framelen = 0; - sc->ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(sc->ifp, 0, IFF_DRV_OACTIVE); return; } @@ -725,7 +726,7 @@ prepare_to_send(struct sbni_softc *sc) sc->framelen = min(len, sc->maxframe); sbni_outb(sc, CSR0, sbni_inb(sc, CSR0) | TR_REQ); - sc->ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(sc->ifp, IFF_DRV_OACTIVE, 0); BPF_MTAP(sc->ifp, sc->tx_buf_p); } @@ -741,7 +742,7 @@ drop_xmit_queue(struct sbni_softc *sc) } for (;;) { - IF_DEQUEUE(&sc->ifp->if_snd, m); + m = if_dequeue(sc->ifp); if (m == NULL) break; m_freem(m); @@ -752,7 +753,7 @@ drop_xmit_queue(struct sbni_softc *sc) sc->framelen = 0; sc->outpos = 0; sc->state &= ~(FL_WAIT_ACK | FL_NEED_RESEND); - sc->ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(sc->ifp, 0, IFF_DRV_OACTIVE); } static void @@ -876,7 +877,7 @@ get_rx_buf(struct sbni_softc *sc) static void indicate_pkt(struct sbni_softc *sc) { - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; struct mbuf *m; m = sc->rx_buf_p; @@ -885,7 +886,7 @@ indicate_pkt(struct sbni_softc *sc) sc->rx_buf_p = NULL; SBNI_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); SBNI_LOCK(sc); } @@ -1063,7 +1064,7 @@ timeout_change_level(struct sbni_softc *sc) */ static int -sbni_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +sbni_ioctl(if_t ifp, u_long command, caddr_t data) { struct sbni_softc *sc; struct ifreq *ifr; @@ -1072,7 +1073,7 @@ sbni_ioctl(struct ifnet *ifp, u_long command, caddr_t data) struct sbni_flags flags; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; td = curthread; error = 0; @@ -1084,11 +1085,11 @@ sbni_ioctl(struct ifnet *ifp, u_long command, caddr_t data) * If it is marked down and running, then stop it. */ SBNI_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) + if (if_getflags(ifp) & IFF_UP) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) sbni_init_locked(sc); } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { sbni_stop(sc); } } @@ -1111,7 +1112,7 @@ sbni_ioctl(struct ifnet *ifp, u_long command, caddr_t data) */ case SIOCGHWFLAGS: /* get flags */ SBNI_LOCK(sc); - bcopy((caddr_t)IF_LLADDR(sc->ifp)+3, (caddr_t) &flags, 3); + bcopy((caddr_t)if_getlladdr(sc->ifp)+3, (caddr_t) &flags, 3); flags.rxl = sc->cur_rxl_index; flags.rate = sc->csr1.rate; flags.fixed_rxl = (sc->delta_rxl == 0); @@ -1149,7 +1150,7 @@ sbni_ioctl(struct ifnet *ifp, u_long command, caddr_t data) sc->csr1.rate = flags.fixed_rate ? flags.rate : DEFAULT_RATE; if (flags.mac_addr) bcopy((caddr_t) &flags, - (caddr_t) IF_LLADDR(sc->ifp)+3, 3); + (caddr_t) if_getlladdr(sc->ifp)+3, 3); /* Don't be afraid... */ sbni_outb(sc, CSR1, *(char*)(&sc->csr1) | PR_RES); diff --git a/sys/dev/sbni/if_sbni_isa.c b/sys/dev/sbni/if_sbni_isa.c index 70c8374dbfde..9fee3cdc5bd3 100644 --- a/sys/dev/sbni/if_sbni_isa.c +++ b/sys/dev/sbni/if_sbni_isa.c @@ -132,7 +132,7 @@ sbni_attach_isa(device_t dev) return (ENXIO); } else { device_printf(dev, "shared irq with %s\n", - master->ifp->if_xname); + master->if_name(ifp)); } } #endif /* SBNI_DUAL_COMPOUND */ From nobody Mon Feb 6 17:54:10 2023 X-Original-To: dev-commits-src-main@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 4P9YmL6vq2z3n0m7; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmL6dwZz4Xqq; Mon, 6 Feb 2023 17:54:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706050; 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=8u1C4mg26mGv/p7dU487/PZkEypnGjNvp+6UCfIVzLg=; b=e4jOCRKVsstq/vBQUk/rs22UsckOJoIGw5Oa8FTRSN5kRJJRo6AGZfWqHDbm/11eSwfEDO DQzv2XH9Q0obz/paLYz00u9JTjIdZoM3dj9gxaAeKWSMZZC4qjEeaOfUrDbzo8S/42MT9n 8ol+FNpD4Y7p72pFVEtZ4udLDrkCP6oO0pbMlb6/n1m7mrasfORTdgjQHe0qYU6ii45p1H YrnfN5JxV1hf8COlbVHAwz7Nws5HZo7buOYea/pgXiQW0beXKu9dtXwq7NTMkQqXWKbfo9 JWYgTAlVCyTSIArhv2nqxFcIXY5VvQsYrosZV5hMM3TUvjupU6qaCz0fIxc0lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706050; 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=8u1C4mg26mGv/p7dU487/PZkEypnGjNvp+6UCfIVzLg=; b=yQSkutEXbJtOP8l+5iiPiDWx1F4QJBSPt6ZjFsOojYX9zBTGeKNjahdaAl17d07zBAO/+b 88k/8H3p1x3hWTjtTO7tpAPpWkuV/LLxbqTC+/Ae+734Nh9JP92n8ONaNa3JSxTmMgfW6y L4edEllAyKUJIXRt7SmmUBkUCfx917iOZ2eXklwyVNYUagRp6g0hL/eq5m6q+R06DdfqvB +4e1veThCHAFxAqr/6Q7I6itCFjQy+AugclUpL6J8ybQeIUkx0yzkr9lbzDullSL7i6ja0 JkWsgFbY55UKm8aWBmfvSi7PrinJD+uTQ2TUIAXLYexN/t+q18iC7MS+RVGj4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706050; a=rsa-sha256; cv=none; b=N3gAmi928PAqg0ZujPmjQancr42yz8MkKK9+UVIsHTzBnAlA9/E/pncWb2LEPTF7DC6rSJ LhbNiVKpr0P4G9vGyc/EALeGM2AqUHaDeJtvqT8CYucO+lK3Gkk6u5EySAOuy0OOcQoy7O M9JuBLL8jQJ+vST7cBNBNdxvW+pi/9XD2uqpGS4dMvG/G7ftM5wUx/2KLQMtdMF+t5T8r6 sZEREMSJH2P5J7ya1H/PCMD4daPwpQQZb2g1bCnnv1uEehr1ajRLwqqW+xC23sy3TOQ4mV mq/9Ozeh6NRg1+LcQgKyV0GUUeLz+zYCHImunIIN5d/OiTAGWMxCDHci2t1a8w== 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 4P9YmL5jXlzkg3; Mon, 6 Feb 2023 17:54:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsAZK074566; Mon, 6 Feb 2023 17:54:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsAmN074565; Mon, 6 Feb 2023 17:54:10 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:10 GMT Message-Id: <202302061754.316HsAmN074565@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 61c05f13d2d3 - main - Mechanically convert fwe(4) and fwip(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 61c05f13d2d3eff2b8ca325cb3be99616aee5f6e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=61c05f13d2d3eff2b8ca325cb3be99616aee5f6e commit 61c05f13d2d3eff2b8ca325cb3be99616aee5f6e Author: Justin Hibbits AuthorDate: 2022-09-19 20:50:42 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:09 +0000 Mechanically convert fwe(4) and fwip(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37850 --- sys/dev/firewire/if_fwe.c | 94 +++++++++++++++++++++---------------------- sys/dev/firewire/if_fwevar.h | 2 +- sys/dev/firewire/if_fwip.c | 94 +++++++++++++++++++++---------------------- sys/dev/firewire/if_fwipvar.h | 2 +- 4 files changed, 96 insertions(+), 96 deletions(-) diff --git a/sys/dev/firewire/if_fwe.c b/sys/dev/firewire/if_fwe.c index c57e3a4c3d7e..b17b59a76459 100644 --- a/sys/dev/firewire/if_fwe.c +++ b/sys/dev/firewire/if_fwe.c @@ -69,12 +69,12 @@ #define TX_MAX_QUEUE (FWMAXQUEUE - 1) /* network interface */ -static void fwe_start (struct ifnet *); -static int fwe_ioctl (struct ifnet *, u_long, caddr_t); +static void fwe_start (if_t); +static int fwe_ioctl (if_t, u_long, caddr_t); static void fwe_init (void *); static void fwe_output_callback (struct fw_xfer *); -static void fwe_as_output (struct fwe_softc *, struct ifnet *); +static void fwe_as_output (struct fwe_softc *, if_t); static void fwe_as_input (struct fw_xferq *); static int fwedebug = 0; @@ -98,15 +98,15 @@ SYSCTL_INT(_hw_firewire_fwe, OID_AUTO, rx_queue_len, CTLFLAG_RWTUN, &rx_queue_le static poll_handler_t fwe_poll; static int -fwe_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +fwe_poll(if_t ifp, enum poll_cmd cmd, int count) { struct fwe_softc *fwe; struct firewire_comm *fc; - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) return (0); - fwe = ((struct fwe_eth_softc *)ifp->if_softc)->fwe; + fwe = ((struct fwe_eth_softc *)if_getsoftc(ifp))->fwe; fc = fwe->fd.fc; fc->poll(fc, (cmd == POLL_AND_CHECK_STATUS)?0:1, count); return (0); @@ -137,7 +137,7 @@ static int fwe_attach(device_t dev) { struct fwe_softc *fwe; - struct ifnet *ifp; + if_t ifp; int unit, s; u_char eaddr[6]; struct fw_eui64 *eui; @@ -184,23 +184,23 @@ fwe_attach(device_t dev) device_printf(dev, "can not if_alloc()\n"); return (ENOSPC); } - ifp->if_softc = &fwe->eth_softc; + if_setsoftc(ifp, &fwe->eth_softc); if_initname(ifp, device_get_name(dev), unit); - ifp->if_init = fwe_init; - ifp->if_start = fwe_start; - ifp->if_ioctl = fwe_ioctl; - ifp->if_flags = (IFF_BROADCAST|IFF_SIMPLEX|IFF_MULTICAST); - ifp->if_snd.ifq_maxlen = TX_MAX_QUEUE; + if_setinitfn(ifp, fwe_init); + if_setstartfn(ifp, fwe_start); + if_setioctlfn(ifp, fwe_ioctl); + if_setflags(ifp, (IFF_BROADCAST|IFF_SIMPLEX|IFF_MULTICAST)); + if_setsendqlen(ifp, TX_MAX_QUEUE); s = splimp(); ether_ifattach(ifp, eaddr); splx(s); /* Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); - ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_POLLING; - ifp->if_capenable |= IFCAP_VLAN_MTU; + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU | IFCAP_POLLING, 0); + if_setcapenablebit(ifp, IFCAP_VLAN_MTU, 0); FWEDEBUG(ifp, "interface created\n"); return 0; @@ -211,7 +211,7 @@ fwe_stop(struct fwe_softc *fwe) { struct firewire_comm *fc; struct fw_xferq *xferq; - struct ifnet *ifp = fwe->eth_softc.ifp; + if_t ifp = fwe->eth_softc.ifp; struct fw_xfer *xfer, *next; int i; @@ -242,21 +242,21 @@ fwe_stop(struct fwe_softc *fwe) fwe->dma_ch = -1; } - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); } static int fwe_detach(device_t dev) { struct fwe_softc *fwe; - struct ifnet *ifp; + if_t ifp; int s; fwe = device_get_softc(dev); ifp = fwe->eth_softc.ifp; #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(ifp); #endif s = splimp(); @@ -275,7 +275,7 @@ fwe_init(void *arg) { struct fwe_softc *fwe = ((struct fwe_eth_softc *)arg)->fwe; struct firewire_comm *fc; - struct ifnet *ifp = fwe->eth_softc.ifp; + if_t ifp = fwe->eth_softc.ifp; struct fw_xferq *xferq; struct fw_xfer *xfer; struct mbuf *m; @@ -284,7 +284,7 @@ fwe_init(void *arg) FWEDEBUG(ifp, "initializing\n"); /* XXX keep promiscoud mode */ - ifp->if_flags |= IFF_PROMISC; + if_setflagbits(ifp, IFF_PROMISC, 0); fc = fwe->fd.fc; if (fwe->dma_ch < 0) { @@ -339,8 +339,8 @@ fwe_init(void *arg) if ((xferq->flag & FWXFERQ_RUNNING) == 0) fc->irx_enable(fc, fwe->dma_ch); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); #if 0 /* attempt to start output */ @@ -350,24 +350,24 @@ fwe_init(void *arg) static int -fwe_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +fwe_ioctl(if_t ifp, u_long cmd, caddr_t data) { - struct fwe_softc *fwe = ((struct fwe_eth_softc *)ifp->if_softc)->fwe; + struct fwe_softc *fwe = ((struct fwe_eth_softc *)if_getsoftc(ifp))->fwe; struct ifstat *ifs = NULL; int s, error; switch (cmd) { case SIOCSIFFLAGS: s = splimp(); - if (ifp->if_flags & IFF_UP) { - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) + if (if_getflags(ifp) & IFF_UP) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) fwe_init(&fwe->eth_softc); } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) fwe_stop(fwe); } /* XXX keep promiscoud mode */ - ifp->if_flags |= IFF_PROMISC; + if_setflagbits(ifp, IFF_PROMISC, 0); splx(s); break; case SIOCADDMULTI: @@ -388,21 +388,21 @@ fwe_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) struct firewire_comm *fc = fwe->fd.fc; if (ifr->ifr_reqcap & IFCAP_POLLING && - !(ifp->if_capenable & IFCAP_POLLING)) { + !(if_getcapenable(ifp) & IFCAP_POLLING)) { error = ether_poll_register(fwe_poll, ifp); if (error) return (error); /* Disable interrupts */ fc->set_intr(fc, 0); - ifp->if_capenable |= IFCAP_POLLING; + if_setcapenablebit(ifp, IFCAP_POLLING, 0); return (error); } if (!(ifr->ifr_reqcap & IFCAP_POLLING) && - ifp->if_capenable & IFCAP_POLLING) { + if_getcapenable(ifp) & IFCAP_POLLING) { error = ether_poll_deregister(ifp); /* Enable interrupts. */ fc->set_intr(fc, 1); - ifp->if_capenable &= ~IFCAP_POLLING; + if_setcapenablebit(ifp, 0, IFCAP_POLLING); return (error); } } @@ -422,7 +422,7 @@ static void fwe_output_callback(struct fw_xfer *xfer) { struct fwe_softc *fwe; - struct ifnet *ifp; + if_t ifp; int s; fwe = (struct fwe_softc *)xfer->sc; @@ -441,14 +441,14 @@ fwe_output_callback(struct fw_xfer *xfer) splx(s); /* for queue full */ - if (ifp->if_snd.ifq_head != NULL) + if (!if_sendq_empty(ifp)) fwe_start(ifp); } static void -fwe_start(struct ifnet *ifp) +fwe_start(if_t ifp) { - struct fwe_softc *fwe = ((struct fwe_eth_softc *)ifp->if_softc)->fwe; + struct fwe_softc *fwe = ((struct fwe_eth_softc *)if_getsoftc(ifp))->fwe; int s; FWEDEBUG(ifp, "starting\n"); @@ -460,7 +460,7 @@ fwe_start(struct ifnet *ifp) s = splimp(); do { - IF_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); if (m != NULL) m_freem(m); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); @@ -471,12 +471,12 @@ fwe_start(struct ifnet *ifp) } s = splimp(); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); - if (ifp->if_snd.ifq_len != 0) + if (!if_sendq_empty(ifp)) fwe_as_output(fwe, ifp); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); splx(s); } @@ -486,7 +486,7 @@ fwe_start(struct ifnet *ifp) #endif /* Async. stream output */ static void -fwe_as_output(struct fwe_softc *fwe, struct ifnet *ifp) +fwe_as_output(struct fwe_softc *fwe, if_t ifp) { struct mbuf *m; struct fw_xfer *xfer; @@ -497,7 +497,7 @@ fwe_as_output(struct fwe_softc *fwe, struct ifnet *ifp) xfer = NULL; xferq = fwe->fd.fc->atq; while ((xferq->queued < xferq->maxq - 1) && - (ifp->if_snd.ifq_head != NULL)) { + !if_sendq_empty(ifp)) { FWE_LOCK(fwe); xfer = STAILQ_FIRST(&fwe->xferlist); if (xfer == NULL) { @@ -510,7 +510,7 @@ fwe_as_output(struct fwe_softc *fwe, struct ifnet *ifp) STAILQ_REMOVE_HEAD(&fwe->xferlist, link); FWE_UNLOCK(fwe); - IF_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); if (m == NULL) { FWE_LOCK(fwe); STAILQ_INSERT_HEAD(&fwe->xferlist, xfer, link); @@ -550,7 +550,7 @@ static void fwe_as_input(struct fw_xferq *xferq) { struct mbuf *m, *m0; - struct ifnet *ifp; + if_t ifp; struct fwe_softc *fwe; struct fw_bulkxfer *sxfer; struct fw_pkt *fp; @@ -605,7 +605,7 @@ fwe_as_input(struct fw_xferq *xferq) c[20], c[21], c[22], c[23] ); #endif - (*ifp->if_input)(ifp, m); + if_input(ifp, m); if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); } if (STAILQ_FIRST(&xferq->stfree) != NULL) diff --git a/sys/dev/firewire/if_fwevar.h b/sys/dev/firewire/if_fwevar.h index cb043cb35481..ff83e8024b3b 100644 --- a/sys/dev/firewire/if_fwevar.h +++ b/sys/dev/firewire/if_fwevar.h @@ -47,7 +47,7 @@ struct fwe_softc { struct fw_pkt pkt_hdr; STAILQ_HEAD(, fw_xfer) xferlist; struct fwe_eth_softc { - struct ifnet *ifp; + if_t ifp; struct fwe_softc *fwe; } eth_softc; struct mtx mtx; diff --git a/sys/dev/firewire/if_fwip.c b/sys/dev/firewire/if_fwip.c index aaba63e818a1..306b7d053ec8 100644 --- a/sys/dev/firewire/if_fwip.c +++ b/sys/dev/firewire/if_fwip.c @@ -80,13 +80,13 @@ #define TX_MAX_QUEUE (FWMAXQUEUE - 1) /* network interface */ -static void fwip_start (struct ifnet *); -static int fwip_ioctl (struct ifnet *, u_long, caddr_t); +static void fwip_start (if_t); +static int fwip_ioctl (if_t, u_long, caddr_t); static void fwip_init (void *); static void fwip_post_busreset (void *); static void fwip_output_callback (struct fw_xfer *); -static void fwip_async_output (struct fwip_softc *, struct ifnet *); +static void fwip_async_output (struct fwip_softc *, if_t); static void fwip_start_send (void *, int); static void fwip_stream_input (struct fw_xferq *); static void fwip_unicast_input(struct fw_xfer *); @@ -108,15 +108,15 @@ SYSCTL_INT(_hw_firewire_fwip, OID_AUTO, rx_queue_len, CTLFLAG_RWTUN, &rx_queue_l static poll_handler_t fwip_poll; static int -fwip_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +fwip_poll(if_t ifp, enum poll_cmd cmd, int count) { struct fwip_softc *fwip; struct firewire_comm *fc; - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) return (0); - fwip = ((struct fwip_eth_softc *)ifp->if_softc)->fwip; + fwip = ((struct fwip_eth_softc *)if_getsoftc(ifp))->fwip; fc = fwip->fd.fc; fc->poll(fc, (cmd == POLL_AND_CHECK_STATUS)?0:1, count); return (0); @@ -147,7 +147,7 @@ static int fwip_attach(device_t dev) { struct fwip_softc *fwip; - struct ifnet *ifp; + if_t ifp; int unit, s; struct fw_hwaddr *hwaddr; @@ -183,16 +183,16 @@ fwip_attach(device_t dev) hwaddr->sender_unicast_FIFO_lo = htonl((uint32_t)INET_FIFO); /* fill the rest and attach interface */ - ifp->if_softc = &fwip->fw_softc; + if_setsoftc(ifp, &fwip->fw_softc); if_initname(ifp, device_get_name(dev), unit); - ifp->if_init = fwip_init; - ifp->if_start = fwip_start; - ifp->if_ioctl = fwip_ioctl; - ifp->if_flags = (IFF_BROADCAST|IFF_SIMPLEX|IFF_MULTICAST); - ifp->if_snd.ifq_maxlen = TX_MAX_QUEUE; + if_setinitfn(ifp, fwip_init); + if_setstartfn(ifp, fwip_start); + if_setioctlfn(ifp, fwip_ioctl); + if_setflags(ifp, (IFF_BROADCAST|IFF_SIMPLEX|IFF_MULTICAST)); + if_setsendqlen(ifp, TX_MAX_QUEUE); #ifdef DEVICE_POLLING - ifp->if_capabilities |= IFCAP_POLLING; + if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif s = splimp(); @@ -208,7 +208,7 @@ fwip_stop(struct fwip_softc *fwip) { struct firewire_comm *fc; struct fw_xferq *xferq; - struct ifnet *ifp = fwip->fw_softc.fwip_ifp; + if_t ifp = fwip->fw_softc.fwip_ifp; struct fw_xfer *xfer, *next; int i; @@ -246,21 +246,21 @@ fwip_stop(struct fwip_softc *fwip) fwip->dma_ch = -1; } - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); } static int fwip_detach(device_t dev) { struct fwip_softc *fwip; - struct ifnet *ifp; + if_t ifp; int s; fwip = (struct fwip_softc *)device_get_softc(dev); ifp = fwip->fw_softc.fwip_ifp; #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(ifp); #endif @@ -280,7 +280,7 @@ fwip_init(void *arg) { struct fwip_softc *fwip = ((struct fwip_eth_softc *)arg)->fwip; struct firewire_comm *fc; - struct ifnet *ifp = fwip->fw_softc.fwip_ifp; + if_t ifp = fwip->fw_softc.fwip_ifp; struct fw_xferq *xferq; struct fw_xfer *xfer; struct mbuf *m; @@ -367,8 +367,8 @@ fwip_init(void *arg) if ((xferq->flag & FWXFERQ_RUNNING) == 0) fc->irx_enable(fc, fwip->dma_ch); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); #if 0 /* attempt to start output */ @@ -377,19 +377,19 @@ fwip_init(void *arg) } static int -fwip_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +fwip_ioctl(if_t ifp, u_long cmd, caddr_t data) { - struct fwip_softc *fwip = ((struct fwip_eth_softc *)ifp->if_softc)->fwip; + struct fwip_softc *fwip = ((struct fwip_eth_softc *)if_getsoftc(ifp))->fwip; int s, error; switch (cmd) { case SIOCSIFFLAGS: s = splimp(); - if (ifp->if_flags & IFF_UP) { - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) + if (if_getflags(ifp) & IFF_UP) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) fwip_init(&fwip->fw_softc); } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) fwip_stop(fwip); } splx(s); @@ -404,21 +404,21 @@ fwip_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) struct firewire_comm *fc = fwip->fd.fc; if (ifr->ifr_reqcap & IFCAP_POLLING && - !(ifp->if_capenable & IFCAP_POLLING)) { + !(if_getcapenable(ifp) & IFCAP_POLLING)) { error = ether_poll_register(fwip_poll, ifp); if (error) return (error); /* Disable interrupts */ fc->set_intr(fc, 0); - ifp->if_capenable |= IFCAP_POLLING; + if_setcapenablebit(ifp, IFCAP_POLLING, 0); return (error); } if (!(ifr->ifr_reqcap & IFCAP_POLLING) && - ifp->if_capenable & IFCAP_POLLING) { + if_getcapenable(ifp) & IFCAP_POLLING) { error = ether_poll_deregister(ifp); /* Enable interrupts. */ fc->set_intr(fc, 1); - ifp->if_capenable &= ~IFCAP_POLLING; + if_setcapenablebit(ifp, 0, IFCAP_POLLING); return (error); } } @@ -469,7 +469,7 @@ static void fwip_output_callback(struct fw_xfer *xfer) { struct fwip_softc *fwip; - struct ifnet *ifp; + if_t ifp; int s; fwip = (struct fwip_softc *)xfer->sc; @@ -488,15 +488,15 @@ fwip_output_callback(struct fw_xfer *xfer) splx(s); /* for queue full */ - if (ifp->if_snd.ifq_head != NULL) { + if (!if_sendq_empty(ifp)) { fwip_start(ifp); } } static void -fwip_start(struct ifnet *ifp) +fwip_start(if_t ifp) { - struct fwip_softc *fwip = ((struct fwip_eth_softc *)ifp->if_softc)->fwip; + struct fwip_softc *fwip = ((struct fwip_eth_softc *)if_getsoftc(ifp))->fwip; int s; FWIPDEBUG(ifp, "starting\n"); @@ -508,7 +508,7 @@ fwip_start(struct ifnet *ifp) s = splimp(); do { - IF_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); if (m != NULL) m_freem(m); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); @@ -519,18 +519,18 @@ fwip_start(struct ifnet *ifp) } s = splimp(); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); - if (ifp->if_snd.ifq_len != 0) + if (!if_sendq_empty(ifp)) fwip_async_output(fwip, ifp); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); splx(s); } /* Async. stream output */ static void -fwip_async_output(struct fwip_softc *fwip, struct ifnet *ifp) +fwip_async_output(struct fwip_softc *fwip, if_t ifp) { struct firewire_comm *fc = fwip->fd.fc; struct mbuf *m; @@ -546,7 +546,7 @@ fwip_async_output(struct fwip_softc *fwip, struct ifnet *ifp) xfer = NULL; xferq = fc->atq; while ((xferq->queued < xferq->maxq - 1) && - (ifp->if_snd.ifq_head != NULL)) { + !if_sendq_empty(ifp)) { FWIP_LOCK(fwip); xfer = STAILQ_FIRST(&fwip->xferlist); if (xfer == NULL) { @@ -559,7 +559,7 @@ fwip_async_output(struct fwip_softc *fwip, struct ifnet *ifp) STAILQ_REMOVE_HEAD(&fwip->xferlist, link); FWIP_UNLOCK(fwip); - IF_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); if (m == NULL) { FWIP_LOCK(fwip); STAILQ_INSERT_HEAD(&fwip->xferlist, xfer, link); @@ -674,7 +674,7 @@ fwip_async_output(struct fwip_softc *fwip, struct ifnet *ifp) FWIP_LOCK(fwip); STAILQ_INSERT_TAIL(&fwip->xferlist, xfer, link); FWIP_UNLOCK(fwip); - IF_PREPEND(&ifp->if_snd, m); + if_sendq_prepend(ifp, m); break; } if (error) { @@ -711,7 +711,7 @@ fwip_stream_input(struct fw_xferq *xferq) struct epoch_tracker et; struct mbuf *m, *m0; struct m_tag *mtag; - struct ifnet *ifp; + if_t ifp; struct fwip_softc *fwip; struct fw_bulkxfer *sxfer; struct fw_pkt *fp; @@ -781,7 +781,7 @@ fwip_stream_input(struct fw_xferq *xferq) * Record the sender ID for possible BPF usage. */ src = ntohl(p[1]) >> 16; - if (bpf_peers_present(ifp->if_bpf)) { + if (bpf_peers_present(if_getbpf(ifp))) { mtag = m_tag_alloc(MTAG_FIREWIRE, MTAG_FIREWIRE_SENDER_EUID, 2*sizeof(uint32_t), M_NOWAIT); @@ -839,7 +839,7 @@ fwip_unicast_input(struct fw_xfer *xfer) struct mbuf *m; struct m_tag *mtag; struct epoch_tracker et; - struct ifnet *ifp; + if_t ifp; struct fwip_softc *fwip; struct fw_pkt *fp; //struct fw_pkt *sfp; @@ -881,7 +881,7 @@ fwip_unicast_input(struct fw_xfer *xfer) goto done; } - if (bpf_peers_present(ifp->if_bpf)) { + if (bpf_peers_present(if_getbpf(ifp))) { /* * Record the sender ID for possible BPF usage. */ @@ -906,7 +906,7 @@ fwip_unicast_input(struct fw_xfer *xfer) /* * Hand off to the generic encapsulation code. We don't use - * ifp->if_input so that we can pass the source nodeid as an + * ifp->if_input so that we can pass the source nodeid as an * argument to facilitate link-level fragment reassembly. */ m->m_len = m->m_pkthdr.len = fp->mode.wreqb.len; diff --git a/sys/dev/firewire/if_fwipvar.h b/sys/dev/firewire/if_fwipvar.h index acf6fb93598b..c0c8b18a0ff8 100644 --- a/sys/dev/firewire/if_fwipvar.h +++ b/sys/dev/firewire/if_fwipvar.h @@ -57,7 +57,7 @@ struct fwip_softc { struct crom_chunk spec6; /* specifier description IPv6 */ struct crom_chunk ver6; /* version description IPv6 */ struct fwip_eth_softc { - struct ifnet *fwip_ifp; + if_t fwip_ifp; struct fwip_softc *fwip; } fw_softc; struct mtx mtx; From nobody Mon Feb 6 17:54:11 2023 X-Original-To: dev-commits-src-main@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 4P9YmN2BDcz3n0h7; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmN1BgQz4Y2t; Mon, 6 Feb 2023 17:54:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706052; 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=Oq9CGBdcjsOsM5k8Xkz6pXFuCyjKO/r/pP7mMHbSdBY=; b=unGsaUcHrrvBdx53T0O8TBARwnR6O4gV0fFSVS28Ec0MTNVLTS50lAz60Igh3Y4AWK4tm/ lgq2PZ4gADCIt/s0NpSRxVC1oC/9cINacCwVL8iE9S6BkMqMN2KA6JK43I1S/nedcfe9h/ ZElQSflro+Cri4cCeNUvRzJrpbfaOQQXPUSJ4ILOh024qXs26HbiDdH4LV3NeZp3KYr1H0 A/mFGe+dDQeBkSXBx1upSbsiIC6T76f4lNUXDQomuxtlop5PD6HbKirmdwobdaCCgHgC54 tFAvnVO40H1CvBz7KlFLZ2WJmCqpADbcAj617RTQHdTwN3kB/mwphZXQmVoQxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706052; 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=Oq9CGBdcjsOsM5k8Xkz6pXFuCyjKO/r/pP7mMHbSdBY=; b=O8EU6XUbDKmwLfATdGqqerfyxqcAk5GOSTIxwDPS4LPlsgOau/OxIq4nyCV5qSN47djkWo lBTkOkHkiGJElJ278LQzy4nfU8eo9kvJkdMRcQb1eJRhHxCER0k4E0OpXje6PWh+NktwWL YJEV3n+xOF4m7kAolAYUyg0zPl6vKdsnmtw77GwOWF+FkrI1wsB8mZ/6as2Ioxy7mG/I9W znYL+xO6Za0aFk9rKf9uU4SNmB+i4xlJ4UdDRlRukjxBjkQkHGJHPbKGVoFLBZGEWR8oxb 5rtdAomf6M0zpGBJxJAA8cKp6e2fqwrPQP0/PXvnUaae9p3Ehmp55Ic/cqrMOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706052; a=rsa-sha256; cv=none; b=ETTdwtUCZlvlA2wUcYjOaWQ+JkQehwWHbSnERo+S1aj1zuUsHBNAgkXfyuJ1aaIo9Tq2Ur Y20V+xwXJjrqSLr66Hj1+e0edNEn4+SE5i0+5sPJmX14+mhx0Il3B5ylcJ+ImXe1PI+Blq tz9okkNHVVdwpGcITV2boLdBz8gUDQqICoOMt9jHNkf0vzjLdrgA1tGC+fFBXCjhRLMlDx 8sQJgU+vov+qFSqmgOnpdQr43gM4vNnrDp26ctoeCJ0SI2LXUdTtJorXr0+FZWVcW9xPJ8 iHGr+wh9x3eD4262gDMoKR4z5KwjrpaHEGICYF8oo+rEn8nRz2+efCpUQnAeNw== 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 4P9YmM6RtQzkg4; Mon, 6 Feb 2023 17:54:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsBaC074590; Mon, 6 Feb 2023 17:54:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsBic074589; Mon, 6 Feb 2023 17:54:11 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:11 GMT Message-Id: <202302061754.316HsBic074589@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 59dc03deec00 - main - Mechanically convert jme(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 59dc03deec00347141ef8320b5e524276f252f2d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=59dc03deec00347141ef8320b5e524276f252f2d commit 59dc03deec00347141ef8320b5e524276f252f2d Author: Justin Hibbits AuthorDate: 2022-08-19 19:13:06 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:09 +0000 Mechanically convert jme(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37839 --- sys/dev/jme/if_jme.c | 237 ++++++++++++++++++++++++------------------------ sys/dev/jme/if_jmevar.h | 2 +- 2 files changed, 119 insertions(+), 120 deletions(-) diff --git a/sys/dev/jme/if_jme.c b/sys/dev/jme/if_jme.c index 45a8444dd6e3..da47ac714449 100644 --- a/sys/dev/jme/if_jme.c +++ b/sys/dev/jme/if_jme.c @@ -108,8 +108,8 @@ static struct jme_dev { static int jme_miibus_readreg(device_t, int, int); static int jme_miibus_writereg(device_t, int, int, int); static void jme_miibus_statchg(device_t); -static void jme_mediastatus(struct ifnet *, struct ifmediareq *); -static int jme_mediachange(struct ifnet *); +static void jme_mediastatus(if_t, struct ifmediareq *); +static int jme_mediachange(if_t); static int jme_probe(device_t); static int jme_eeprom_read_byte(struct jme_softc *, uint8_t, uint8_t *); static int jme_eeprom_macaddr(struct jme_softc *); @@ -129,10 +129,10 @@ static void jme_setwol(struct jme_softc *); static int jme_suspend(device_t); static int jme_resume(device_t); static int jme_encap(struct jme_softc *, struct mbuf **); -static void jme_start(struct ifnet *); -static void jme_start_locked(struct ifnet *); +static void jme_start(if_t); +static void jme_start_locked(if_t); static void jme_watchdog(struct jme_softc *); -static int jme_ioctl(struct ifnet *, u_long, caddr_t); +static int jme_ioctl(if_t, u_long, caddr_t); static void jme_mac_config(struct jme_softc *); static void jme_link_task(void *, int); static int jme_intr(void *); @@ -286,14 +286,14 @@ jme_miibus_statchg(device_t dev) * Get the current interface media status. */ static void -jme_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) +jme_mediastatus(if_t ifp, struct ifmediareq *ifmr) { struct jme_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); JME_LOCK(sc); - if ((ifp->if_flags & IFF_UP) == 0) { + if ((if_getflags(ifp) & IFF_UP) == 0) { JME_UNLOCK(sc); return; } @@ -309,14 +309,14 @@ jme_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) * Set hardware to newly-selected media. */ static int -jme_mediachange(struct ifnet *ifp) +jme_mediachange(if_t ifp) { struct jme_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); JME_LOCK(sc); mii = device_get_softc(sc->jme_miibus); LIST_FOREACH(miisc, &mii->mii_phys, mii_list) @@ -623,7 +623,7 @@ static int jme_attach(device_t dev) { struct jme_softc *sc; - struct ifnet *ifp; + if_t ifp; struct mii_softc *miisc; struct mii_data *mii; uint32_t reg; @@ -813,23 +813,22 @@ jme_attach(device_t dev) goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = jme_ioctl; - ifp->if_start = jme_start; - ifp->if_init = jme_init; - ifp->if_snd.ifq_drv_maxlen = JME_TX_RING_CNT - 1; - IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, jme_ioctl); + if_setstartfn(ifp, jme_start); + if_setinitfn(ifp, jme_init); + if_setsendqlen(ifp, JME_TX_RING_CNT - 1); + if_setsendqready(ifp); /* JMC250 supports Tx/Rx checksum offload as well as TSO. */ - ifp->if_capabilities = IFCAP_HWCSUM | IFCAP_TSO4; - ifp->if_hwassist = JME_CSUM_FEATURES | CSUM_TSO; + if_setcapabilities(ifp, IFCAP_HWCSUM | IFCAP_TSO4); + if_sethwassist(ifp, JME_CSUM_FEATURES | CSUM_TSO); if (pci_find_cap(dev, PCIY_PMG, &pmc) == 0) { sc->jme_flags |= JME_FLAG_PMCAP; - ifp->if_capabilities |= IFCAP_WOL_MAGIC; + if_setcapabilitiesbit(ifp, IFCAP_WOL_MAGIC, 0); } - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); /* Wakeup PHY. */ jme_phy_up(sc); @@ -872,12 +871,12 @@ jme_attach(device_t dev) ether_ifattach(ifp, sc->jme_eaddr); /* VLAN capability setup */ - ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING | - IFCAP_VLAN_HWCSUM | IFCAP_VLAN_HWTSO; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING | + IFCAP_VLAN_HWCSUM | IFCAP_VLAN_HWTSO, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); /* Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); /* Create local taskq. */ sc->jme_tq = taskqueue_create_fast("jme_taskq", M_WAITOK, @@ -918,7 +917,7 @@ static int jme_detach(device_t dev) { struct jme_softc *sc; - struct ifnet *ifp; + if_t ifp; int i; sc = device_get_softc(dev); @@ -1580,7 +1579,7 @@ jme_setlinkspeed(struct jme_softc *sc) static void jme_setwol(struct jme_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t gpr, pmcs; uint16_t pmstat; int pmc; @@ -1605,7 +1604,7 @@ jme_setwol(struct jme_softc *sc) gpr = CSR_READ_4(sc, JME_GPREG0) & ~GPREG0_PME_ENB; pmcs = CSR_READ_4(sc, JME_PMCS); pmcs &= ~PMCS_WOL_ENB_MASK; - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) { + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) { pmcs |= PMCS_MAGIC_FRAME | PMCS_MAGIC_FRAME_ENB; /* Enable PME message. */ gpr |= GPREG0_PME_ENB; @@ -1624,10 +1623,10 @@ jme_setwol(struct jme_softc *sc) /* Request PME. */ pmstat = pci_read_config(sc->jme_dev, pmc + PCIR_POWER_STATUS, 2); pmstat &= ~(PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE); - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) pmstat |= PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE; pci_write_config(sc->jme_dev, pmc + PCIR_POWER_STATUS, pmstat, 2); - if ((ifp->if_capenable & IFCAP_WOL) == 0) { + if ((if_getcapenable(ifp) & IFCAP_WOL) == 0) { /* No WOL, PHY power down. */ jme_phy_down(sc); } @@ -1652,7 +1651,7 @@ static int jme_resume(device_t dev) { struct jme_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t pmstat; int pmc; @@ -1670,8 +1669,8 @@ jme_resume(device_t dev) /* Wakeup PHY. */ jme_phy_up(sc); ifp = sc->jme_ifp; - if ((ifp->if_flags & IFF_UP) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if ((if_getflags(ifp) & IFF_UP) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); jme_init_locked(sc); } @@ -1866,36 +1865,36 @@ jme_encap(struct jme_softc *sc, struct mbuf **m_head) } static void -jme_start(struct ifnet *ifp) +jme_start(if_t ifp) { struct jme_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); JME_LOCK(sc); jme_start_locked(ifp); JME_UNLOCK(sc); } static void -jme_start_locked(struct ifnet *ifp) +jme_start_locked(if_t ifp) { struct jme_softc *sc; struct mbuf *m_head; int enq; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); JME_LOCK_ASSERT(sc); if (sc->jme_cdata.jme_tx_cnt >= JME_TX_DESC_HIWAT) jme_txeof(sc); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->jme_flags & JME_FLAG_LINK) == 0) return; - for (enq = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd); ) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + for (enq = 0; !if_sendq_empty(ifp); ) { + m_head = if_dequeue(ifp); if (m_head == NULL) break; /* @@ -1906,8 +1905,8 @@ jme_start_locked(struct ifnet *ifp) if (jme_encap(sc, &m_head)) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -1936,7 +1935,7 @@ jme_start_locked(struct ifnet *ifp) static void jme_watchdog(struct jme_softc *sc) { - struct ifnet *ifp; + if_t ifp; JME_LOCK_ASSERT(sc); @@ -1947,7 +1946,7 @@ jme_watchdog(struct jme_softc *sc) if ((sc->jme_flags & JME_FLAG_LINK) == 0) { if_printf(sc->jme_ifp, "watchdog timeout (missed link)\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); jme_init_locked(sc); return; } @@ -1955,21 +1954,21 @@ jme_watchdog(struct jme_softc *sc) if (sc->jme_cdata.jme_tx_cnt == 0) { if_printf(sc->jme_ifp, "watchdog timeout (missed Tx interrupts) -- recovering\n"); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) jme_start_locked(ifp); return; } if_printf(sc->jme_ifp, "watchdog timeout\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); jme_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) jme_start_locked(ifp); } static int -jme_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +jme_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct jme_softc *sc; struct ifreq *ifr; @@ -1977,7 +1976,7 @@ jme_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) uint32_t reg; int error, mask; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; error = 0; switch (cmd) { @@ -1989,7 +1988,7 @@ jme_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; } - if (ifp->if_mtu != ifr->ifr_mtu) { + if (if_getmtu(ifp) != ifr->ifr_mtu) { /* * No special configuration is required when interface * MTU is changed but availability of TSO/Tx checksum @@ -1998,15 +1997,15 @@ jme_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) */ JME_LOCK(sc); if (ifr->ifr_mtu >= JME_TX_FIFO_SIZE) { - ifp->if_capenable &= - ~(IFCAP_TXCSUM | IFCAP_TSO4); - ifp->if_hwassist &= - ~(JME_CSUM_FEATURES | CSUM_TSO); + if_setcapenablebit(ifp, 0, + IFCAP_TXCSUM | IFCAP_TSO4); + if_sethwassistbits(ifp, 0, + JME_CSUM_FEATURES | CSUM_TSO); VLAN_CAPABILITIES(ifp); } - ifp->if_mtu = ifr->ifr_mtu; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setmtu(ifp, ifr->ifr_mtu); + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); jme_init_locked(sc); } JME_UNLOCK(sc); @@ -2014,9 +2013,9 @@ jme_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case SIOCSIFFLAGS: JME_LOCK(sc); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - if (((ifp->if_flags ^ sc->jme_if_flags) + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if (((if_getflags(ifp) ^ sc->jme_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) jme_set_filter(sc); } else { @@ -2024,16 +2023,16 @@ jme_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) jme_init_locked(sc); } } else { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) jme_stop(sc); } - sc->jme_if_flags = ifp->if_flags; + sc->jme_if_flags = if_getflags(ifp); JME_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: JME_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) jme_set_filter(sc); JME_UNLOCK(sc); break; @@ -2044,48 +2043,48 @@ jme_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case SIOCSIFCAP: JME_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if ((mask & IFCAP_TXCSUM) != 0 && - ifp->if_mtu < JME_TX_FIFO_SIZE) { - if ((IFCAP_TXCSUM & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((IFCAP_TXCSUM & ifp->if_capenable) != 0) - ifp->if_hwassist |= JME_CSUM_FEATURES; + if_getmtu(ifp) < JME_TX_FIFO_SIZE) { + if ((IFCAP_TXCSUM & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((IFCAP_TXCSUM & if_getcapenable(ifp)) != 0) + if_sethwassistbits(ifp, JME_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~JME_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, JME_CSUM_FEATURES); } } if ((mask & IFCAP_RXCSUM) != 0 && - (IFCAP_RXCSUM & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_RXCSUM; + (IFCAP_RXCSUM & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_RXCSUM); reg = CSR_READ_4(sc, JME_RXMAC); reg &= ~RXMAC_CSUM_ENB; - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) reg |= RXMAC_CSUM_ENB; CSR_WRITE_4(sc, JME_RXMAC, reg); } if ((mask & IFCAP_TSO4) != 0 && - ifp->if_mtu < JME_TX_FIFO_SIZE) { - if ((IFCAP_TSO4 & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_TSO4; - if ((IFCAP_TSO4 & ifp->if_capenable) != 0) - ifp->if_hwassist |= CSUM_TSO; + if_getmtu(ifp) < JME_TX_FIFO_SIZE) { + if ((IFCAP_TSO4 & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_TSO4); + if ((IFCAP_TSO4 & if_getcapenable(ifp)) != 0) + if_sethwassistbits(ifp, CSUM_TSO, 0); else - ifp->if_hwassist &= ~CSUM_TSO; + if_sethwassistbits(ifp, 0, CSUM_TSO); } } if ((mask & IFCAP_WOL_MAGIC) != 0 && - (IFCAP_WOL_MAGIC & ifp->if_capabilities) != 0) - ifp->if_capenable ^= IFCAP_WOL_MAGIC; + (IFCAP_WOL_MAGIC & if_getcapabilities(ifp)) != 0) + if_togglecapenable(ifp, IFCAP_WOL_MAGIC); if ((mask & IFCAP_VLAN_HWCSUM) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWCSUM) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWCSUM; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWCSUM) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWCSUM); if ((mask & IFCAP_VLAN_HWTSO) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWTSO) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWTSO; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWTSO) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWTSO); if ((mask & IFCAP_VLAN_HWTAGGING) != 0 && - (IFCAP_VLAN_HWTAGGING & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; + (IFCAP_VLAN_HWTAGGING & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); jme_set_vlan(sc); } JME_UNLOCK(sc); @@ -2198,7 +2197,7 @@ jme_link_task(void *arg, int pending) { struct jme_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; struct jme_txdesc *txd; bus_addr_t paddr; int i; @@ -2209,7 +2208,7 @@ jme_link_task(void *arg, int pending) mii = device_get_softc(sc->jme_miibus); ifp = sc->jme_ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { JME_UNLOCK(sc); return; } @@ -2248,7 +2247,7 @@ jme_link_task(void *arg, int pending) taskqueue_block(sc->jme_tq); /* Disable interrupts and stop driver. */ CSR_WRITE_4(sc, JME_INTR_MASK_CLR, JME_INTRS); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); callout_stop(&sc->jme_tick_ch); sc->jme_watchdog_timer = 0; @@ -2326,8 +2325,8 @@ jme_link_task(void *arg, int pending) CSR_READ_4(sc, JME_GPREG1) & ~GPREG1_RX_MAC_CLK_DIS); } - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); callout_reset(&sc->jme_tick_ch, hz, jme_tick, sc); /* Unblock execution of task. */ taskqueue_unblock(sc->jme_tq); @@ -2359,7 +2358,7 @@ static void jme_int_task(void *arg, int pending) { struct jme_softc *sc; - struct ifnet *ifp; + if_t ifp; uint32_t status; int more; @@ -2382,7 +2381,7 @@ jme_int_task(void *arg, int pending) status |= INTR_RXQ_COAL | INTR_RXQ_COAL_TO | INTR_RXQ_COMP; CSR_WRITE_4(sc, JME_INTR_STATUS, status); more = 0; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { if ((status & (INTR_RXQ_COAL | INTR_RXQ_COAL_TO)) != 0) { more = jme_rxintr(sc, sc->jme_process_limit); if (more != 0) @@ -2401,7 +2400,7 @@ jme_int_task(void *arg, int pending) CSR_WRITE_4(sc, JME_RXCSR, sc->jme_rxcsr | RXCSR_RX_ENB | RXCSR_RXQ_START); } - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) jme_start_locked(ifp); } @@ -2420,7 +2419,7 @@ done: static void jme_txeof(struct jme_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct jme_txdesc *txd; uint32_t status; int cons, nsegs; @@ -2481,7 +2480,7 @@ jme_txeof(struct jme_softc *sc) KASSERT(sc->jme_cdata.jme_tx_cnt >= 0, ("%s: Active Tx desc counter was garbled\n", __func__)); txd->tx_ndesc = 0; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } sc->jme_cdata.jme_tx_cons = cons; /* Unarm watchdog timer when there is no pending descriptors in queue. */ @@ -2507,7 +2506,7 @@ jme_discard_rxbuf(struct jme_softc *sc, int cons) static void jme_rxeof(struct jme_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct jme_desc *desc; struct jme_rxdesc *rxd; struct mbuf *mp, *m; @@ -2601,7 +2600,7 @@ jme_rxeof(struct jme_softc *sc) m->m_data += JME_RX_PAD_BYTES; /* Set checksum information. */ - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0 && + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0 && (flags & JME_RD_IPV4) != 0) { m->m_pkthdr.csum_flags |= CSUM_IP_CHECKED; if ((flags & JME_RD_IPCSUM) != 0) @@ -2618,7 +2617,7 @@ jme_rxeof(struct jme_softc *sc) } /* Check for VLAN tagged packets. */ - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0 && + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0 && (flags & JME_RD_VLAN_TAG) != 0) { m->m_pkthdr.ether_vtag = flags & JME_RD_VLAN_MASK; @@ -2628,7 +2627,7 @@ jme_rxeof(struct jme_softc *sc) if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); /* Pass it on. */ JME_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); JME_LOCK(sc); /* Reset mbuf chains. */ @@ -2761,7 +2760,7 @@ jme_init(void *xsc) static void jme_init_locked(struct jme_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; bus_addr_t paddr; uint32_t reg; @@ -2772,7 +2771,7 @@ jme_init_locked(struct jme_softc *sc) ifp = sc->jme_ifp; mii = device_get_softc(sc->jme_miibus); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* * Cancel any pending I/O. @@ -2798,7 +2797,7 @@ jme_init_locked(struct jme_softc *sc) jme_init_ssb(sc); /* Reprogram the station address. */ - jme_set_macaddr(sc, IF_LLADDR(sc->jme_ifp)); + jme_set_macaddr(sc, if_getlladdr(sc->jme_ifp)); /* * Configure Tx queue. @@ -2852,7 +2851,7 @@ jme_init_locked(struct jme_softc *sc) if (CHIPMODE_REVFM(sc->jme_chip_rev) >= 2) sc->jme_rxcsr |= RXCSR_FIFO_THRESH_16QW; else { - if ((ifp->if_mtu + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + + if ((if_getmtu(ifp) + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + ETHER_CRC_LEN) > JME_RX_FIFO_SIZE) sc->jme_rxcsr |= RXCSR_FIFO_THRESH_16QW; else @@ -2892,7 +2891,7 @@ jme_init_locked(struct jme_softc *sc) * it does not need to copy the frame to align the payload. */ reg |= RXMAC_PAD_10BYTES; - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) reg |= RXMAC_CSUM_ENB; CSR_WRITE_4(sc, JME_RXMAC, reg); @@ -2994,14 +2993,14 @@ jme_init_locked(struct jme_softc *sc) callout_reset(&sc->jme_tick_ch, hz, jme_tick, sc); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } static void jme_stop(struct jme_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct jme_txdesc *txd; struct jme_rxdesc *rxd; int i; @@ -3011,7 +3010,7 @@ jme_stop(struct jme_softc *sc) * Mark the interface down and cancel the watchdog timer. */ ifp = sc->jme_ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->jme_flags &= ~JME_FLAG_LINK; callout_stop(&sc->jme_tick_ch); sc->jme_watchdog_timer = 0; @@ -3221,7 +3220,7 @@ jme_newbuf(struct jme_softc *sc, struct jme_rxdesc *rxd) static void jme_set_vlan(struct jme_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t reg; JME_LOCK_ASSERT(sc); @@ -3229,7 +3228,7 @@ jme_set_vlan(struct jme_softc *sc) ifp = sc->jme_ifp; reg = CSR_READ_4(sc, JME_RXMAC); reg &= ~RXMAC_VLAN_ENB; - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) reg |= RXMAC_VLAN_ENB; CSR_WRITE_4(sc, JME_RXMAC, reg); } @@ -3253,7 +3252,7 @@ jme_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void jme_set_filter(struct jme_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t mchash[2]; uint32_t rxcfg; @@ -3266,12 +3265,12 @@ jme_set_filter(struct jme_softc *sc) RXMAC_ALLMULTI); /* Always accept frames destined to our station address. */ rxcfg |= RXMAC_UNICAST; - if ((ifp->if_flags & IFF_BROADCAST) != 0) + if ((if_getflags(ifp) & IFF_BROADCAST) != 0) rxcfg |= RXMAC_BROADCAST; - if ((ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { - if ((ifp->if_flags & IFF_PROMISC) != 0) + if ((if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { + if ((if_getflags(ifp) & IFF_PROMISC) != 0) rxcfg |= RXMAC_PROMISC; - if ((ifp->if_flags & IFF_ALLMULTI) != 0) + if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) rxcfg |= RXMAC_ALLMULTI; CSR_WRITE_4(sc, JME_MAR0, 0xFFFFFFFF); CSR_WRITE_4(sc, JME_MAR1, 0xFFFFFFFF); diff --git a/sys/dev/jme/if_jmevar.h b/sys/dev/jme/if_jmevar.h index 2e34364a962e..811649f4670d 100644 --- a/sys/dev/jme/if_jmevar.h +++ b/sys/dev/jme/if_jmevar.h @@ -172,7 +172,7 @@ struct jme_hw_stats { * Software state per device. */ struct jme_softc { - struct ifnet *jme_ifp; + if_t jme_ifp; device_t jme_dev; device_t jme_miibus; struct resource *jme_res[1]; From nobody Mon Feb 6 17:54:12 2023 X-Original-To: dev-commits-src-main@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 4P9YmP3b1Tz3n0Vr; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmP1rd9z4Y6g; Mon, 6 Feb 2023 17:54:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706053; 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=tBUdrmvxjPbJ8h2dUKzH7tPPbcmRwev+LHGwRWZ/Ddk=; b=M1WqsMRigjOHE560VBGFPZVx0YVFeqnC4B3POt1b1owVLgnBCF7nJSGibH+FpsqSZBHrHl aZj4VMyPJEPBGF3twZ3eQhCG93uSjvNLNWfMdsbUK0z6eWWS3YQplHqNiZwLAATMTpUfyq tLs6ASyC4WxfOoodbaCoLRxMu47slSawWaGERc5KlpkPg8RobesBErvskPa3UalUJ/gd3w SzepyHwwYR5A8nk4b5/rFL7qGu1QqBDnZCuGwL6jNsclxpLejLbTiDuL6P22iANqxKpwiv hdvH0xnnS6EaR6/0+Se1vYc1LtaBbpbbOiqxqj2XHQj2aMMGDYqzLZqnyRj1rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706053; 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=tBUdrmvxjPbJ8h2dUKzH7tPPbcmRwev+LHGwRWZ/Ddk=; b=r8mltCi2/Ix4XENAiXzRw8NCEY+5crYE0+Uy334e5wGfod8F2Fa5tfcDEFLGR1KmDZ7OND xs28SGbg2OXkUwLSQ1hQRJ1838Hkr2i2BfZxxvSIs5po7BD+lIoCdKwrPFWoiwHfSbaHGa syRaW/GqmWmKHe5WyqNd57g2FOoGHi4ep3Fqa63K6854ZYvg5y3AKHayqzLwKq3n520zjT BzeNq+jcATpwM7brOR9+bKaLd1jtc5xe+YTUJx5olYCmWkrTySQks59J0aQV2rkVmkAZj1 0UUmxDwSNAyZbBvtSib7AzjlIcFrQEmuF7jjnSb9SrZv9h8QkuuZ2QAURZZ8oA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706053; a=rsa-sha256; cv=none; b=iCZBptKPcRjUmFTapcZ26VNU/sajchI+BXbPC1PgsuIEoqXq1cG4hnbJH0/sIIKXNBWjfe 9ilJptfM0xeapJDuDx2J/yd0PQ9qaoNeflBbyP1dq4QrbweoBFEOeQV4QrSf5txDP3KNT9 A9oqWl+xuudURg8x51uluyiD2h+q9fTjjbknw6S84mLPdjxS9BVq7xWU+871YKCNV6Tk/2 HeBQ8eDfoJK8d/yd1uOOmk7i/W7+xO6OBJs6uxXIQNieCvL5m2Cb4ZEkPTzn8ydqeaZW2p pCdW4rEawf2LTRo8xEIe7K/QQ28IpOqQZ38pfs5uMXfp6uHipzPggIqUIoO/+w== 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 4P9YmP0J2pzkm6; Mon, 6 Feb 2023 17:54:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsCEY074614; Mon, 6 Feb 2023 17:54:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsCgT074613; Mon, 6 Feb 2023 17:54:12 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:12 GMT Message-Id: <202302061754.316HsCgT074613@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 08e67568b079 - main - Mechanically convert lge(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 08e67568b0794e35c1c91a7b530a8d18bceb72f0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=08e67568b0794e35c1c91a7b530a8d18bceb72f0 commit 08e67568b0794e35c1c91a7b530a8d18bceb72f0 Author: Justin Hibbits AuthorDate: 2022-08-19 19:11:28 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:10 +0000 Mechanically convert lge(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37838 --- sys/dev/lge/if_lge.c | 134 ++++++++++++++++++++++++------------------------ sys/dev/lge/if_lgereg.h | 2 +- 2 files changed, 68 insertions(+), 68 deletions(-) diff --git a/sys/dev/lge/if_lge.c b/sys/dev/lge/if_lge.c index e3567e642d6f..e977e4e6897c 100644 --- a/sys/dev/lge/if_lge.c +++ b/sys/dev/lge/if_lge.c @@ -134,17 +134,17 @@ static void lge_rxeoc(struct lge_softc *); static void lge_txeof(struct lge_softc *); static void lge_intr(void *); static void lge_tick(void *); -static void lge_start(struct ifnet *); -static void lge_start_locked(struct ifnet *); -static int lge_ioctl(struct ifnet *, u_long, caddr_t); +static void lge_start(if_t); +static void lge_start_locked(if_t); +static int lge_ioctl(if_t, u_long, caddr_t); static void lge_init(void *); static void lge_init_locked(struct lge_softc *); static void lge_stop(struct lge_softc *); static void lge_watchdog(struct lge_softc *); static int lge_shutdown(device_t); -static int lge_ifmedia_upd(struct ifnet *); -static void lge_ifmedia_upd_locked(struct ifnet *); -static void lge_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static int lge_ifmedia_upd(if_t); +static void lge_ifmedia_upd_locked(if_t); +static void lge_ifmedia_sts(if_t, struct ifmediareq *); static void lge_eeprom_getword(struct lge_softc *, int, u_int16_t *); static void lge_read_eeprom(struct lge_softc *, caddr_t, int, int, int); @@ -382,7 +382,7 @@ static void lge_setmulti(sc) struct lge_softc *sc; { - struct ifnet *ifp; + if_t ifp; uint32_t hashes[2] = { 0, 0 }; ifp = sc->lge_ifp; @@ -391,7 +391,7 @@ lge_setmulti(sc) /* Make sure multicast hash table is enabled. */ CSR_WRITE_4(sc, LGE_MODE1, LGE_MODE1_SETRST_CTL1|LGE_MODE1_RX_MCAST); - if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_ALLMULTI || if_getflags(ifp) & IFF_PROMISC) { CSR_WRITE_4(sc, LGE_MAR0, 0xFFFFFFFF); CSR_WRITE_4(sc, LGE_MAR1, 0xFFFFFFFF); return; @@ -466,7 +466,7 @@ lge_attach(dev) { u_char eaddr[ETHER_ADDR_LEN]; struct lge_softc *sc; - struct ifnet *ifp = NULL; + if_t ifp = NULL; int error = 0, rid; sc = device_get_softc(dev); @@ -536,15 +536,15 @@ lge_attach(dev) error = ENOSPC; goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = lge_ioctl; - ifp->if_start = lge_start; - ifp->if_init = lge_init; - ifp->if_snd.ifq_maxlen = LGE_TX_LIST_CNT - 1; - ifp->if_capabilities = IFCAP_RXCSUM; - ifp->if_capenable = ifp->if_capabilities; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, lge_ioctl); + if_setstartfn(ifp, lge_start); + if_setinitfn(ifp, lge_init); + if_setsendqlen(ifp, LGE_TX_LIST_CNT - 1); + if_setcapabilities(ifp, IFCAP_RXCSUM); + if_setcapenable(ifp, if_getcapabilities(ifp)); if (CSR_READ_4(sc, LGE_GMIIMODE) & LGE_GMIIMODE_PCSENH) sc->lge_pcs = 1; @@ -596,7 +596,7 @@ lge_detach(dev) device_t dev; { struct lge_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); ifp = sc->lge_ifp; @@ -885,7 +885,7 @@ lge_rxeof(sc, cnt) int cnt; { struct mbuf *m; - struct ifnet *ifp; + if_t ifp; struct lge_rx_desc *cur_rx; int c, i, total_len = 0; u_int32_t rxsts, rxctl; @@ -954,7 +954,7 @@ lge_rxeof(sc, cnt) } LGE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); LGE_LOCK(sc); } @@ -967,10 +967,10 @@ static void lge_rxeoc(sc) struct lge_softc *sc; { - struct ifnet *ifp; + if_t ifp; ifp = sc->lge_ifp; - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); lge_init_locked(sc); return; } @@ -985,7 +985,7 @@ lge_txeof(sc) struct lge_softc *sc; { struct lge_tx_desc *cur_tx = NULL; - struct ifnet *ifp; + if_t ifp; u_int32_t idx, txdone; ifp = sc->lge_ifp; @@ -1018,7 +1018,7 @@ lge_txeof(sc) sc->lge_cdata.lge_tx_cons = idx; if (cur_tx != NULL) - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); return; } @@ -1029,7 +1029,7 @@ lge_tick(xsc) { struct lge_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; sc = xsc; ifp = sc->lge_ifp; @@ -1050,7 +1050,7 @@ lge_tick(xsc) (IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_SX|| IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_T)) device_printf(sc->lge_dev, "gigabit link up\n"); - if (ifp->if_snd.ifq_head != NULL) + if (!if_sendq_empty(ifp)) lge_start_locked(ifp); } } @@ -1067,7 +1067,7 @@ lge_intr(arg) void *arg; { struct lge_softc *sc; - struct ifnet *ifp; + if_t ifp; u_int32_t status; sc = arg; @@ -1075,7 +1075,7 @@ lge_intr(arg) LGE_LOCK(sc); /* Suppress unwanted interrupts */ - if (!(ifp->if_flags & IFF_UP)) { + if (!(if_getflags(ifp) & IFF_UP)) { lge_stop(sc); LGE_UNLOCK(sc); return; @@ -1111,7 +1111,7 @@ lge_intr(arg) /* Re-enable interrupts. */ CSR_WRITE_4(sc, LGE_IMR, LGE_IMR_SETRST_CTL0|LGE_IMR_INTR_ENB); - if (ifp->if_snd.ifq_head != NULL) + if (!if_sendq_empty(ifp)) lge_start_locked(ifp); LGE_UNLOCK(sc); @@ -1175,11 +1175,11 @@ lge_encap(sc, m_head, txidx) static void lge_start(ifp) - struct ifnet *ifp; + if_t ifp; { struct lge_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); LGE_LOCK(sc); lge_start_locked(ifp); LGE_UNLOCK(sc); @@ -1187,33 +1187,33 @@ lge_start(ifp) static void lge_start_locked(ifp) - struct ifnet *ifp; + if_t ifp; { struct lge_softc *sc; struct mbuf *m_head = NULL; u_int32_t idx; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); if (!sc->lge_link) return; idx = sc->lge_cdata.lge_tx_prod; - if (ifp->if_drv_flags & IFF_DRV_OACTIVE) + if (if_getdrvflags(ifp) & IFF_DRV_OACTIVE) return; while(sc->lge_ldata->lge_tx_list[idx].lge_mbuf == NULL) { if (CSR_READ_1(sc, LGE_TXCMDFREE_8BIT) == 0) break; - IF_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; if (lge_encap(sc, m_head, &idx)) { - IF_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -1249,10 +1249,10 @@ static void lge_init_locked(sc) struct lge_softc *sc; { - struct ifnet *ifp = sc->lge_ifp; + if_t ifp = sc->lge_ifp; LGE_LOCK_ASSERT(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) return; /* @@ -1262,8 +1262,8 @@ lge_init_locked(sc) lge_reset(sc); /* Set MAC address */ - CSR_WRITE_4(sc, LGE_PAR0, *(u_int32_t *)(&IF_LLADDR(sc->lge_ifp)[0])); - CSR_WRITE_4(sc, LGE_PAR1, *(u_int32_t *)(&IF_LLADDR(sc->lge_ifp)[4])); + CSR_WRITE_4(sc, LGE_PAR0, *(u_int32_t *)(&if_getlladdr(sc->lge_ifp)[0])); + CSR_WRITE_4(sc, LGE_PAR1, *(u_int32_t *)(&if_getlladdr(sc->lge_ifp)[4])); /* Init circular RX list. */ if (lge_list_rx_init(sc) == ENOBUFS) { @@ -1285,7 +1285,7 @@ lge_init_locked(sc) LGE_MODE1_SETRST_CTL1|LGE_MODE1_SETRST_CTL2); /* If we want promiscuous mode, set the allframes bit. */ - if (ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_PROMISC) { CSR_WRITE_4(sc, LGE_MODE1, LGE_MODE1_SETRST_CTL1|LGE_MODE1_RX_PROMISC); } else { @@ -1295,7 +1295,7 @@ lge_init_locked(sc) /* * Set the capture broadcast bit to capture broadcast frames. */ - if (ifp->if_flags & IFF_BROADCAST) { + if (if_getflags(ifp) & IFF_BROADCAST) { CSR_WRITE_4(sc, LGE_MODE1, LGE_MODE1_SETRST_CTL1|LGE_MODE1_RX_BCAST); } else { @@ -1363,8 +1363,8 @@ lge_init_locked(sc) lge_ifmedia_upd_locked(ifp); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); callout_reset(&sc->lge_stat_callout, hz, lge_tick, sc); @@ -1376,11 +1376,11 @@ lge_init_locked(sc) */ static int lge_ifmedia_upd(ifp) - struct ifnet *ifp; + if_t ifp; { struct lge_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); LGE_LOCK(sc); lge_ifmedia_upd_locked(ifp); LGE_UNLOCK(sc); @@ -1390,13 +1390,13 @@ lge_ifmedia_upd(ifp) static void lge_ifmedia_upd_locked(ifp) - struct ifnet *ifp; + if_t ifp; { struct lge_softc *sc; struct mii_data *mii; struct mii_softc *miisc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); LGE_LOCK_ASSERT(sc); mii = device_get_softc(sc->lge_miibus); @@ -1411,13 +1411,13 @@ lge_ifmedia_upd_locked(ifp) */ static void lge_ifmedia_sts(ifp, ifmr) - struct ifnet *ifp; + if_t ifp; struct ifmediareq *ifmr; { struct lge_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); LGE_LOCK(sc); mii = device_get_softc(sc->lge_miibus); @@ -1431,11 +1431,11 @@ lge_ifmedia_sts(ifp, ifmr) static int lge_ioctl(ifp, command, data) - struct ifnet *ifp; + if_t ifp; u_long command; caddr_t data; { - struct lge_softc *sc = ifp->if_softc; + struct lge_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; struct mii_data *mii; int error = 0; @@ -1446,32 +1446,32 @@ lge_ioctl(ifp, command, data) if (ifr->ifr_mtu > LGE_JUMBO_MTU) error = EINVAL; else - ifp->if_mtu = ifr->ifr_mtu; + if_setmtu(ifp, ifr->ifr_mtu); LGE_UNLOCK(sc); break; case SIOCSIFFLAGS: LGE_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING && - ifp->if_flags & IFF_PROMISC && + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING && + if_getflags(ifp) & IFF_PROMISC && !(sc->lge_if_flags & IFF_PROMISC)) { CSR_WRITE_4(sc, LGE_MODE1, LGE_MODE1_SETRST_CTL1| LGE_MODE1_RX_PROMISC); - } else if (ifp->if_drv_flags & IFF_DRV_RUNNING && - !(ifp->if_flags & IFF_PROMISC) && + } else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING && + !(if_getflags(ifp) & IFF_PROMISC) && sc->lge_if_flags & IFF_PROMISC) { CSR_WRITE_4(sc, LGE_MODE1, LGE_MODE1_RX_PROMISC); } else { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); lge_init_locked(sc); } } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) lge_stop(sc); } - sc->lge_if_flags = ifp->if_flags; + sc->lge_if_flags = if_getflags(ifp); LGE_UNLOCK(sc); error = 0; break; @@ -1499,7 +1499,7 @@ static void lge_watchdog(sc) struct lge_softc *sc; { - struct ifnet *ifp; + if_t ifp; LGE_LOCK_ASSERT(sc); ifp = sc->lge_ifp; @@ -1509,10 +1509,10 @@ lge_watchdog(sc) lge_stop(sc); lge_reset(sc); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); lge_init_locked(sc); - if (ifp->if_snd.ifq_head != NULL) + if (!if_sendq_empty(ifp)) lge_start_locked(ifp); } @@ -1525,7 +1525,7 @@ lge_stop(sc) struct lge_softc *sc; { int i; - struct ifnet *ifp; + if_t ifp; LGE_LOCK_ASSERT(sc); ifp = sc->lge_ifp; @@ -1562,7 +1562,7 @@ lge_stop(sc) bzero((char *)&sc->lge_ldata->lge_tx_list, sizeof(sc->lge_ldata->lge_tx_list)); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); return; } diff --git a/sys/dev/lge/if_lgereg.h b/sys/dev/lge/if_lgereg.h index e5e8893fb733..b7e0b5a57adf 100644 --- a/sys/dev/lge/if_lgereg.h +++ b/sys/dev/lge/if_lgereg.h @@ -507,7 +507,7 @@ struct lge_ring_data { }; struct lge_softc { - struct ifnet *lge_ifp; + if_t lge_ifp; device_t lge_dev; bus_space_handle_t lge_bhandle; bus_space_tag_t lge_btag; From nobody Mon Feb 6 17:54:14 2023 X-Original-To: dev-commits-src-main@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 4P9YmQ3Wlvz3n0Jk; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmQ1fYBz4Y6p; Mon, 6 Feb 2023 17:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706054; 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=BknzzBTmHG3W77SyM+Z+tbZoV3JLOczH8ZsOq/irlUQ=; b=iJxXw6CJuhBSlksuGtXVKB365N7jviha+GrIpXzjqPFw8tm3yin3skYyE81s96zxPt4Ub7 Qm09ia4MVLDGEnwf4EyPizeKa37nQHoZ6Z3E4D9zgViwPmTs0qzUqiL952ovEhwH1+4FKV fIv2u6fH+w/Q/sKSYFtsEH79VEUE3JU5ogLcrFkgC0ijQ3Yx/YypDDATk5/zL6+mpGNOPV oOfDRVadHnhpseq4CWFvKFA4egORVF82n8/MYgC9wKqVbcNyOTFL3C3UJoKwWoxPHj547O ifMUSPgGuh1cs4SsrB2K5KtKxljgfHQriweW7sKA4FdK5IA01mKM15tmKBoD4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706054; 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=BknzzBTmHG3W77SyM+Z+tbZoV3JLOczH8ZsOq/irlUQ=; b=x8e515rckt1TnsaKC9vqKYn7FF2Y1j1Q9WaYpNteI3bPY+eMPiDDknJQSxFnY9qdYJpyla vx6nRtuF7ttvIchDX8pMg7v5vi4k9ag6gKVkj+VyzktIWugswXmgg58TwYsVf3qQWHDj1a 5HW4sZFFU7pK60JFlhZQdUcOtpbVUR1n9t0MHkPVdc7S4nPqyIAqyiOlD7SvczO0ogjbNx vdN4F99fkJg2So+f9tRpjVtcF7SmjJwYcr6OfsxKrvbNDJLTzxBiqM4mYTCuerBZYFxhtf awCDf1Dtl8Y6JhK1tAvtkhX3PdsPG807MmxMntHrFcEQA0/v6eoXyK7n9TXeSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706054; a=rsa-sha256; cv=none; b=jpMn1TcKeHaaOSjEWvEiYK5sCk5YApFaI4aAXeYNAP7nw2hNo2sWCteePgJwNaaasLBwow 2IUW++Efpvp5ueSuWfwq7DKratj542qnbtUBhwxOs80DZtBXvkfilKsgKuMTzwzF0Nz9PR ptXKhJM3bQjekGGmIuDqhAQi6lifYxFmTREQ7gtnW0TgIapEOl0bexgyp2Rhgi8dy+nC6n wFomKzbL11vNiGMhECl/Y0N1NgOgThO07ZbNgWcSaCHbUjq72AZwkYvac728irBao2FqVz STaY31LxZh/KBzSxQ/QbdMX2Iv2hT8Ic7z9iuvSADjqpf+KsJCgy67fDWfnJdw== 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 4P9YmQ0lpLzk1q; Mon, 6 Feb 2023 17:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsEHU074638; Mon, 6 Feb 2023 17:54:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsEXc074637; Mon, 6 Feb 2023 17:54:14 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:14 GMT Message-Id: <202302061754.316HsEXc074637@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 1125d093632e - main - Mechanically convert sis(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1125d093632ea9efc73f2393ecee5ed3724441ee Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=1125d093632ea9efc73f2393ecee5ed3724441ee commit 1125d093632ea9efc73f2393ecee5ed3724441ee Author: Justin Hibbits AuthorDate: 2022-08-17 20:41:35 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:10 +0000 Mechanically convert sis(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37826 --- sys/dev/sis/if_sis.c | 199 ++++++++++++++++++++++++------------------------ sys/dev/sis/if_sisreg.h | 2 +- 2 files changed, 100 insertions(+), 101 deletions(-) diff --git a/sys/dev/sis/if_sis.c b/sys/dev/sis/if_sis.c index 30c469cc420c..f8e4c367bdcc 100644 --- a/sys/dev/sis/if_sis.c +++ b/sys/dev/sis/if_sis.c @@ -146,12 +146,12 @@ static void sis_dmamap_cb(void *, bus_dma_segment_t *, int, int); #ifndef __NO_STRICT_ALIGNMENT static __inline void sis_fixup_rx(struct mbuf *); #endif -static void sis_ifmedia_sts(struct ifnet *, struct ifmediareq *); -static int sis_ifmedia_upd(struct ifnet *); +static void sis_ifmedia_sts(if_t, struct ifmediareq *); +static int sis_ifmedia_upd(if_t); static void sis_init(void *); static void sis_initl(struct sis_softc *); static void sis_intr(void *); -static int sis_ioctl(struct ifnet *, u_long, caddr_t); +static int sis_ioctl(if_t, u_long, caddr_t); static uint32_t sis_mii_bitbang_read(device_t); static void sis_mii_bitbang_write(device_t, uint32_t); static int sis_newbuf(struct sis_softc *, struct sis_rxdesc *); @@ -160,8 +160,8 @@ static int sis_rxeof(struct sis_softc *); static void sis_rxfilter(struct sis_softc *); static void sis_rxfilter_ns(struct sis_softc *); static void sis_rxfilter_sis(struct sis_softc *); -static void sis_start(struct ifnet *); -static void sis_startl(struct ifnet *); +static void sis_start(if_t); +static void sis_startl(if_t); static void sis_stop(struct sis_softc *); static int sis_suspend(device_t); static void sis_add_sysctls(struct sis_softc *); @@ -578,7 +578,7 @@ sis_miibus_statchg(device_t dev) { struct sis_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint32_t reg; sc = device_get_softc(dev); @@ -587,7 +587,7 @@ sis_miibus_statchg(device_t dev) mii = device_get_softc(sc->sis_miibus); ifp = sc->sis_ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; sc->sis_flags &= ~SIS_FLAG_LINK; @@ -715,7 +715,7 @@ sis_write_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void sis_rxfilter_ns(struct sis_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t i, filter; ifp = sc->sis_ifp; @@ -731,7 +731,7 @@ sis_rxfilter_ns(struct sis_softc *sc) NS_RXFILTCTL_MCHASH | SIS_RXFILTCTL_ALLPHYS | SIS_RXFILTCTL_BROAD | SIS_RXFILTCTL_ALLMULTI); - if (ifp->if_flags & IFF_BROADCAST) + if (if_getflags(ifp) & IFF_BROADCAST) filter |= SIS_RXFILTCTL_BROAD; /* * For the NatSemi chip, we have to explicitly enable the @@ -741,9 +741,9 @@ sis_rxfilter_ns(struct sis_softc *sc) */ filter |= NS_RXFILTCTL_ARP | NS_RXFILTCTL_PERFECT; - if (ifp->if_flags & (IFF_ALLMULTI | IFF_PROMISC)) { + if (if_getflags(ifp) & (IFF_ALLMULTI | IFF_PROMISC)) { filter |= SIS_RXFILTCTL_ALLMULTI; - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) filter |= SIS_RXFILTCTL_ALLPHYS; } else { /* @@ -787,7 +787,7 @@ sis_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void sis_rxfilter_sis(struct sis_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct sis_hash_maddr_ctx ctx; uint32_t filter, i, n; @@ -806,12 +806,12 @@ sis_rxfilter_sis(struct sis_softc *sc) } filter &= ~(SIS_RXFILTCTL_ALLPHYS | SIS_RXFILTCTL_BROAD | SIS_RXFILTCTL_ALLMULTI); - if (ifp->if_flags & IFF_BROADCAST) + if (if_getflags(ifp) & IFF_BROADCAST) filter |= SIS_RXFILTCTL_BROAD; - if (ifp->if_flags & (IFF_ALLMULTI | IFF_PROMISC)) { + if (if_getflags(ifp) & (IFF_ALLMULTI | IFF_PROMISC)) { filter |= SIS_RXFILTCTL_ALLMULTI; - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) filter |= SIS_RXFILTCTL_ALLPHYS; for (i = 0; i < n; i++) ctx.hashes[i] = ~0; @@ -899,7 +899,7 @@ sis_attach(device_t dev) { u_char eaddr[ETHER_ADDR_LEN]; struct sis_softc *sc; - struct ifnet *ifp; + if_t ifp; int error = 0, pmc; sc = device_get_softc(dev); @@ -1064,22 +1064,21 @@ sis_attach(device_t dev) error = ENOSPC; goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = sis_ioctl; - ifp->if_start = sis_start; - ifp->if_init = sis_init; - IFQ_SET_MAXLEN(&ifp->if_snd, SIS_TX_LIST_CNT - 1); - ifp->if_snd.ifq_drv_maxlen = SIS_TX_LIST_CNT - 1; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, sis_ioctl); + if_setstartfn(ifp, sis_start); + if_setinitfn(ifp, sis_init); + if_setsendqlen(ifp, SIS_TX_LIST_CNT - 1); + if_setsendqready(ifp); if (pci_find_cap(sc->sis_dev, PCIY_PMG, &pmc) == 0) { if (sc->sis_type == SIS_TYPE_83815) - ifp->if_capabilities |= IFCAP_WOL; + if_setcapabilitiesbit(ifp, IFCAP_WOL, 0); else - ifp->if_capabilities |= IFCAP_WOL_MAGIC; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_WOL_MAGIC, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); } /* @@ -1100,11 +1099,11 @@ sis_attach(device_t dev) /* * Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); - ifp->if_capabilities |= IFCAP_VLAN_MTU; - ifp->if_capenable = ifp->if_capabilities; + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); #ifdef DEVICE_POLLING - ifp->if_capabilities |= IFCAP_POLLING; + if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif /* Hook interrupt last to avoid having to lock softc */ @@ -1135,14 +1134,14 @@ static int sis_detach(device_t dev) { struct sis_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); KASSERT(mtx_initialized(&sc->sis_mtx), ("sis mutex not initialized")); ifp = sc->sis_ifp; #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(ifp); #endif @@ -1485,7 +1484,7 @@ static int sis_rxeof(struct sis_softc *sc) { struct mbuf *m; - struct ifnet *ifp; + if_t ifp; struct sis_rxdesc *rxd; struct sis_desc *cur_rx; int prog, rx_cons, rx_npkts = 0, total_len; @@ -1499,10 +1498,10 @@ sis_rxeof(struct sis_softc *sc) rx_cons = sc->sis_rx_cons; ifp = sc->sis_ifp; - for (prog = 0; (ifp->if_drv_flags & IFF_DRV_RUNNING) != 0; + for (prog = 0; (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0; SIS_INC(rx_cons, SIS_RX_LIST_CNT), prog++) { #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { if (sc->rxcycles <= 0) break; sc->rxcycles--; @@ -1515,7 +1514,7 @@ sis_rxeof(struct sis_softc *sc) rxd = &sc->sis_rxdesc[rx_cons]; total_len = (rxstat & SIS_CMDSTS_BUFLEN) - ETHER_CRC_LEN; - if ((ifp->if_capenable & IFCAP_VLAN_MTU) != 0 && + if ((if_getcapenable(ifp) & IFCAP_VLAN_MTU) != 0 && total_len <= (ETHER_MAX_LEN + ETHER_VLAN_ENCAP_LEN - ETHER_CRC_LEN)) rxstat &= ~SIS_RXSTAT_GIANT; @@ -1550,7 +1549,7 @@ sis_rxeof(struct sis_softc *sc) m->m_pkthdr.rcvif = ifp; SIS_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); SIS_LOCK(sc); rx_npkts++; } @@ -1572,7 +1571,7 @@ sis_rxeof(struct sis_softc *sc) static void sis_txeof(struct sis_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct sis_desc *cur_tx; struct sis_txdesc *txd; uint32_t cons, txstat; @@ -1616,7 +1615,7 @@ sis_txeof(struct sis_softc *sc) } } sc->sis_tx_cnt--; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } sc->sis_tx_cons = cons; if (sc->sis_tx_cnt == 0) @@ -1644,13 +1643,13 @@ sis_tick(void *xsc) static poll_handler_t sis_poll; static int -sis_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +sis_poll(if_t ifp, enum poll_cmd cmd, int count) { - struct sis_softc *sc = ifp->if_softc; + struct sis_softc *sc = if_getsoftc(ifp); int rx_npkts = 0; SIS_LOCK(sc); - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { SIS_UNLOCK(sc); return (rx_npkts); } @@ -1665,7 +1664,7 @@ sis_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) sc->rxcycles = count; rx_npkts = sis_rxeof(sc); sis_txeof(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) sis_startl(ifp); if (sc->rxcycles > 0 || cmd == POLL_AND_CHECK_STATUS) { @@ -1681,7 +1680,7 @@ sis_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) SIS_SETBIT(sc, SIS_CSR, SIS_CSR_RX_ENABLE); if (status & SIS_ISR_SYSERR) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); sis_initl(sc); } } @@ -1695,7 +1694,7 @@ static void sis_intr(void *arg) { struct sis_softc *sc; - struct ifnet *ifp; + if_t ifp; uint32_t status; sc = arg; @@ -1703,7 +1702,7 @@ sis_intr(void *arg) SIS_LOCK(sc); #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { SIS_UNLOCK(sc); return; } @@ -1721,7 +1720,7 @@ sis_intr(void *arg) CSR_WRITE_4(sc, SIS_IER, 0); for (;(status & SIS_INTRS) != 0;) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) break; if (status & (SIS_ISR_TX_DESC_OK | SIS_ISR_TX_ERR | @@ -1739,7 +1738,7 @@ sis_intr(void *arg) SIS_SETBIT(sc, SIS_CSR, SIS_CSR_RX_ENABLE); if (status & SIS_ISR_SYSERR) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); sis_initl(sc); SIS_UNLOCK(sc); return; @@ -1747,11 +1746,11 @@ sis_intr(void *arg) status = CSR_READ_4(sc, SIS_ISR); } - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { /* Re-enable interrupts. */ CSR_WRITE_4(sc, SIS_IER, 1); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) sis_startl(ifp); } @@ -1870,42 +1869,42 @@ sis_encap(struct sis_softc *sc, struct mbuf **m_head) } static void -sis_start(struct ifnet *ifp) +sis_start(if_t ifp) { struct sis_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); SIS_LOCK(sc); sis_startl(ifp); SIS_UNLOCK(sc); } static void -sis_startl(struct ifnet *ifp) +sis_startl(if_t ifp) { struct sis_softc *sc; struct mbuf *m_head; int queued; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); SIS_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->sis_flags & SIS_FLAG_LINK) == 0) return; - for (queued = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd) && + for (queued = 0; !if_sendq_empty(ifp) && sc->sis_tx_cnt < SIS_TX_LIST_CNT - 4;) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; if (sis_encap(sc, &m_head) != 0) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -1944,13 +1943,13 @@ sis_init(void *xsc) static void sis_initl(struct sis_softc *sc) { - struct ifnet *ifp = sc->sis_ifp; + if_t ifp = sc->sis_ifp; struct mii_data *mii; uint8_t *eaddr; SIS_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* @@ -1974,7 +1973,7 @@ sis_initl(struct sis_softc *sc) mii = device_get_softc(sc->sis_miibus); /* Set MAC address */ - eaddr = IF_LLADDR(sc->sis_ifp); + eaddr = if_getlladdr(sc->sis_ifp); if (sc->sis_type == SIS_TYPE_83815) { CSR_WRITE_4(sc, SIS_RXFILT_CTL, NS_FILTADDR_PAR0); CSR_WRITE_4(sc, SIS_RXFILT_DATA, eaddr[0] | eaddr[1] << 8); @@ -2061,7 +2060,7 @@ sis_initl(struct sis_softc *sc) * ... only enable interrupts if we are not polling, make sure * they are off otherwise. */ - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) CSR_WRITE_4(sc, SIS_IER, 0); else #endif @@ -2073,8 +2072,8 @@ sis_initl(struct sis_softc *sc) sc->sis_flags &= ~SIS_FLAG_LINK; mii_mediachg(mii); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); callout_reset(&sc->sis_stat_ch, hz, sis_tick, sc); } @@ -2083,14 +2082,14 @@ sis_initl(struct sis_softc *sc) * Set media options. */ static int -sis_ifmedia_upd(struct ifnet *ifp) +sis_ifmedia_upd(if_t ifp) { struct sis_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); SIS_LOCK(sc); mii = device_get_softc(sc->sis_miibus); @@ -2106,12 +2105,12 @@ sis_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -sis_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +sis_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct sis_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); SIS_LOCK(sc); mii = device_get_softc(sc->sis_miibus); @@ -2122,9 +2121,9 @@ sis_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -sis_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +sis_ioctl(if_t ifp, u_long command, caddr_t data) { - struct sis_softc *sc = ifp->if_softc; + struct sis_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; struct mii_data *mii; int error = 0, mask; @@ -2132,22 +2131,22 @@ sis_ioctl(struct ifnet *ifp, u_long command, caddr_t data) switch (command) { case SIOCSIFFLAGS: SIS_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && - ((ifp->if_flags ^ sc->sis_if_flags) & + if (if_getflags(ifp) & IFF_UP) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && + ((if_getflags(ifp) ^ sc->sis_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) sis_rxfilter(sc); else sis_initl(sc); - } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) + } else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) sis_stop(sc); - sc->sis_if_flags = ifp->if_flags; + sc->sis_if_flags = if_getflags(ifp); SIS_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: SIS_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) sis_rxfilter(sc); SIS_UNLOCK(sc); break; @@ -2158,12 +2157,12 @@ sis_ioctl(struct ifnet *ifp, u_long command, caddr_t data) break; case SIOCSIFCAP: SIS_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); #ifdef DEVICE_POLLING if ((mask & IFCAP_POLLING) != 0 && - (IFCAP_POLLING & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_POLLING; - if ((IFCAP_POLLING & ifp->if_capenable) != 0) { + (IFCAP_POLLING & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_POLLING); + if ((IFCAP_POLLING & if_getcapenable(ifp)) != 0) { error = ether_poll_register(sis_poll, ifp); if (error != 0) { SIS_UNLOCK(sc); @@ -2179,13 +2178,13 @@ sis_ioctl(struct ifnet *ifp, u_long command, caddr_t data) } #endif /* DEVICE_POLLING */ if ((mask & IFCAP_WOL) != 0 && - (ifp->if_capabilities & IFCAP_WOL) != 0) { + (if_getcapabilities(ifp) & IFCAP_WOL) != 0) { if ((mask & IFCAP_WOL_UCAST) != 0) - ifp->if_capenable ^= IFCAP_WOL_UCAST; + if_togglecapenable(ifp, IFCAP_WOL_UCAST); if ((mask & IFCAP_WOL_MCAST) != 0) - ifp->if_capenable ^= IFCAP_WOL_MCAST; + if_togglecapenable(ifp, IFCAP_WOL_MCAST); if ((mask & IFCAP_WOL_MAGIC) != 0) - ifp->if_capenable ^= IFCAP_WOL_MAGIC; + if_togglecapenable(ifp, IFCAP_WOL_MAGIC); } SIS_UNLOCK(sc); break; @@ -2209,10 +2208,10 @@ sis_watchdog(struct sis_softc *sc) device_printf(sc->sis_dev, "watchdog timeout\n"); if_inc_counter(sc->sis_ifp, IFCOUNTER_OERRORS, 1); - sc->sis_ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(sc->sis_ifp, 0, IFF_DRV_RUNNING); sis_initl(sc); - if (!IFQ_DRV_IS_EMPTY(&sc->sis_ifp->if_snd)) + if (!if_sendq_empty(sc->sis_ifp)) sis_startl(sc->sis_ifp); } @@ -2223,7 +2222,7 @@ sis_watchdog(struct sis_softc *sc) static void sis_stop(struct sis_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct sis_rxdesc *rxd; struct sis_txdesc *txd; int i; @@ -2235,7 +2234,7 @@ sis_stop(struct sis_softc *sc) callout_stop(&sc->sis_stat_ch); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); CSR_WRITE_4(sc, SIS_IER, 0); CSR_WRITE_4(sc, SIS_IMR, 0); CSR_READ_4(sc, SIS_ISR); /* clear any interrupts already pending */ @@ -2303,13 +2302,13 @@ static int sis_resume(device_t dev) { struct sis_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); SIS_LOCK(sc); ifp = sc->sis_ifp; - if ((ifp->if_flags & IFF_UP) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if ((if_getflags(ifp) & IFF_UP) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); sis_initl(sc); } SIS_UNLOCK(sc); @@ -2319,13 +2318,13 @@ sis_resume(device_t dev) static void sis_wol(struct sis_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t val; uint16_t pmstat; int pmc; ifp = sc->sis_ifp; - if ((ifp->if_capenable & IFCAP_WOL) == 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) == 0) return; if (sc->sis_type == SIS_TYPE_83815) { @@ -2335,11 +2334,11 @@ sis_wol(struct sis_softc *sc) /* Configure WOL events. */ CSR_READ_4(sc, NS_WCSR); val = 0; - if ((ifp->if_capenable & IFCAP_WOL_UCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_UCAST) != 0) val |= NS_WCSR_WAKE_UCAST; - if ((ifp->if_capenable & IFCAP_WOL_MCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MCAST) != 0) val |= NS_WCSR_WAKE_MCAST; - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) val |= NS_WCSR_WAKE_MAGIC; CSR_WRITE_4(sc, NS_WCSR, val); /* Enable PME and clear PMESTS. */ @@ -2352,14 +2351,14 @@ sis_wol(struct sis_softc *sc) if (pci_find_cap(sc->sis_dev, PCIY_PMG, &pmc) != 0) return; val = 0; - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) val |= SIS_PWRMAN_WOL_MAGIC; CSR_WRITE_4(sc, SIS_PWRMAN_CTL, val); /* Request PME. */ pmstat = pci_read_config(sc->sis_dev, pmc + PCIR_POWER_STATUS, 2); pmstat &= ~(PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE); - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) pmstat |= PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE; pci_write_config(sc->sis_dev, pmc + PCIR_POWER_STATUS, pmstat, 2); diff --git a/sys/dev/sis/if_sisreg.h b/sys/dev/sis/if_sisreg.h index 9523af1d2ec8..7abc0b22226e 100644 --- a/sys/dev/sis/if_sisreg.h +++ b/sys/dev/sis/if_sisreg.h @@ -454,7 +454,7 @@ struct sis_rxdesc { }; struct sis_softc { - struct ifnet *sis_ifp; /* interface info */ + if_t sis_ifp; /* interface info */ struct resource *sis_res[2]; void *sis_intrhand; device_t sis_dev; From nobody Mon Feb 6 17:54:15 2023 X-Original-To: dev-commits-src-main@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 4P9YmR4C5cz3n0Jp; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmR35W7z4Y0s; Mon, 6 Feb 2023 17:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706055; 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=oM7UVOs35tgiZ3tYOrtEqLV76qGi7JY/iHj7HSVdneU=; b=tHSncFwI1YWF8wtjulGfcCDKvTzGMoFmeIxDUKj67ibJzg3mPIB9coJMU+19I6f/E0l1Gy jOvv4Js0wapFmat0L1HcUg1R+bewLx086A8VhraHreXkMjPznjTy2t/z4qT7s0C2DSt0o2 parqSBUMjdtoHGCut/KgXgpfXA78iO8k3cQBj2Vuc+/bsKKwNaKN1VQUc5Or2sQorHM0hS aRVFQz3y7oaXAf6Qx8QMfo7oJKTomwcYHwq+vqgFEc/bUy/axu009o6s+DgBBHXH1ly9+N tw8z/x82Hsw2UHq/YuHOC1f5zn0dcamqwJoyVz/fDyCqhZOOrpveCFmn9/It0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706055; 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=oM7UVOs35tgiZ3tYOrtEqLV76qGi7JY/iHj7HSVdneU=; b=XnNYvNcy2CaFhYut4C7vOmfEl8NMb6r7t0PqYRwmIZVz9j4F1WYPhTwo5VFPnkQbfvq88a cxMT+yqmK57+sYhJe4kyHbJpAZu9DAcJ/bqO/PjnuVpbz7aeiBHuJFDS0tdBvjceg/44U7 PvWUK0aY9kp7cb2AQd+VABKLpEXTBWOGj4OeNNU7UwyXdWDnHbUdmk1vGJJI2Yur7+9gWK cTdDvlRu0fBV7mpEwJdqtaqmHW9H/iBTE9nz4WH8RNeu8M7jnNhIkh+eMb43Dw5sOUZv9J 6et/WxiLCMRgywFdbnm95Nh2InYY6kYxQYlu7vHnS3NVfEt1vddVszqfkmrmBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706055; a=rsa-sha256; cv=none; b=eh49Wf0qG1QQUnpbAk4UWPaymoo0KCnjvO2bOBvwFvF4zkx8FfkK2A7BJdPZGwOJ+vXvUw LFGhmH24jLg5oVDYwydAsqHHe4+EX4KsAXbKb3SQUyddH1On6MdVLR0SdrMIfqUdxJKuLX Cc8rLv2cw1sfmKeCq7gVzkloJS+b86EpYodg36NlEl+1wFOo4WIAhK3qDPz3CTCx7wlFS/ X3vZlYh95RoH7c0c5951oDvHHFdhX4odv9z3V97XwAJ3Gb1pyfCTXudMwjWlSsHSrH/Zsu v3LEbQLv8ROlPM9miB5k81OzOQaYsg3iAHvysB8XLJE6wwBdj1zm7je4OzIweA== 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 4P9YmR1lnVzkg5; Mon, 6 Feb 2023 17:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsFFt074662; Mon, 6 Feb 2023 17:54:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsFJO074661; Mon, 6 Feb 2023 17:54:15 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:15 GMT Message-Id: <202302061754.316HsFJO074661@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 8c259c504842 - main - Mechanically convert smc(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8c259c504842638d4e69e1ab25b922eab1b3ee42 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=8c259c504842638d4e69e1ab25b922eab1b3ee42 commit 8c259c504842638d4e69e1ab25b922eab1b3ee42 Author: Justin Hibbits AuthorDate: 2022-08-17 20:33:46 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:10 +0000 Mechanically convert smc(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37824 --- sys/dev/smc/if_smc.c | 122 ++++++++++++++++++++++++------------------------ sys/dev/smc/if_smcvar.h | 2 +- 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/sys/dev/smc/if_smc.c b/sys/dev/smc/if_smc.c index d1ae02356de9..2705c9933311 100644 --- a/sys/dev/smc/if_smc.c +++ b/sys/dev/smc/if_smc.c @@ -104,15 +104,15 @@ static const char *smc_chip_ids[16] = { }; static void smc_init(void *); -static void smc_start(struct ifnet *); +static void smc_start(if_t); static void smc_stop(struct smc_softc *); -static int smc_ioctl(struct ifnet *, u_long, caddr_t); +static int smc_ioctl(if_t, u_long, caddr_t); static void smc_init_locked(struct smc_softc *); -static void smc_start_locked(struct ifnet *); +static void smc_start_locked(if_t); static void smc_reset(struct smc_softc *); -static int smc_mii_ifmedia_upd(struct ifnet *); -static void smc_mii_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static int smc_mii_ifmedia_upd(if_t); +static void smc_mii_ifmedia_sts(if_t, struct ifmediareq *); static void smc_mii_tick(void *); static void smc_mii_mediachg(struct smc_softc *); static int smc_mii_mediaioctl(struct smc_softc *, struct ifreq *, u_long); @@ -307,7 +307,7 @@ smc_attach(device_t dev) uint16_t val; u_char eaddr[ETHER_ADDR_LEN]; struct smc_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); error = 0; @@ -377,18 +377,18 @@ smc_attach(device_t dev) eaddr[5] = smc_read_1(sc, IAR5); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_softc = sc; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_init = smc_init; - ifp->if_ioctl = smc_ioctl; - ifp->if_start = smc_start; - IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); - IFQ_SET_READY(&ifp->if_snd); + if_setsoftc(ifp, sc); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setinitfn(ifp, smc_init); + if_setioctlfn(ifp, smc_ioctl); + if_setstartfn(ifp, smc_start); + if_setsendqlen(ifp, ifqmaxlen); + if_setsendqready(ifp); - ifp->if_capabilities = ifp->if_capenable = 0; + if_setcapabilities(ifp, if_getcapenable(ifp) ); #ifdef DEVICE_POLLING - ifp->if_capabilities |= IFCAP_POLLING; + if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif ether_ifattach(ifp, eaddr); @@ -437,7 +437,7 @@ smc_detach(device_t dev) callout_drain(&sc->smc_mii_tick_ch); #ifdef DEVICE_POLLING - if (sc->smc_ifp->if_capenable & IFCAP_POLLING) + if (sc->smc_if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(sc->smc_ifp); #endif @@ -501,35 +501,35 @@ driver_t smc_driver = { DRIVER_MODULE(miibus, smc, miibus_driver, 0, 0); static void -smc_start(struct ifnet *ifp) +smc_start(if_t ifp) { struct smc_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); SMC_LOCK(sc); smc_start_locked(ifp); SMC_UNLOCK(sc); } static void -smc_start_locked(struct ifnet *ifp) +smc_start_locked(if_t ifp) { struct smc_softc *sc; struct mbuf *m; u_int len, npages, spin_count; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); SMC_ASSERT_LOCKED(sc); - if (ifp->if_drv_flags & IFF_DRV_OACTIVE) + if (if_getdrvflags(ifp) & IFF_DRV_OACTIVE) return; - if (IFQ_IS_EMPTY(&ifp->if_snd)) + if (if_sendq_empty(ifp)) return; /* * Grab the next packet. If it's too big, drop it. */ - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); len = m_length(m, NULL); len += (len & 1); if (len > ETHER_MAX_LEN - ETHER_CRC_LEN) { @@ -542,7 +542,7 @@ smc_start_locked(struct ifnet *ifp) /* * Flag that we're busy. */ - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); sc->smc_pending = m; /* @@ -577,7 +577,7 @@ smc_start_locked(struct ifnet *ifp) */ if (spin_count == 0) { sc->smc_mask |= ALLOC_INT; - if ((ifp->if_capenable & IFCAP_POLLING) == 0) + if ((if_getcapenable(ifp) & IFCAP_POLLING) == 0) smc_write_1(sc, MSK, sc->smc_mask); return; } @@ -588,7 +588,7 @@ smc_start_locked(struct ifnet *ifp) static void smc_task_tx(void *context, int pending) { - struct ifnet *ifp; + if_t ifp; struct smc_softc *sc; struct mbuf *m, *m0; u_int packet, len; @@ -596,8 +596,8 @@ smc_task_tx(void *context, int pending) uint8_t *data; (void)pending; - ifp = (struct ifnet *)context; - sc = ifp->if_softc; + ifp = (if_t)context; + sc = if_getsoftc(ifp); SMC_LOCK(sc); @@ -619,9 +619,9 @@ smc_task_tx(void *context, int pending) * If the allocation failed, requeue the packet and retry. */ if (packet & ARR_FAILED) { - IFQ_DRV_PREPEND(&ifp->if_snd, m); + if_sendq_prepend(ifp, m); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); smc_start_locked(ifp); SMC_UNLOCK(sc); return; @@ -664,7 +664,7 @@ smc_task_tx(void *context, int pending) * Unmask the TX empty interrupt. */ sc->smc_mask |= TX_EMPTY_INT; - if ((ifp->if_capenable & IFCAP_POLLING) == 0) + if ((if_getcapenable(ifp) & IFCAP_POLLING) == 0) smc_write_1(sc, MSK, sc->smc_mask); /* @@ -678,7 +678,7 @@ smc_task_tx(void *context, int pending) * Finish up. */ if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); SMC_UNLOCK(sc); BPF_MTAP(ifp, m0); m_freem(m0); @@ -695,13 +695,13 @@ smc_task_rx(void *context, int pending) { u_int packet, status, len; uint8_t *data; - struct ifnet *ifp; + if_t ifp; struct smc_softc *sc; struct mbuf *m, *mhead, *mtail; (void)pending; - ifp = (struct ifnet *)context; - sc = ifp->if_softc; + ifp = (if_t)context; + sc = if_getsoftc(ifp); mhead = mtail = NULL; SMC_LOCK(sc); @@ -789,7 +789,7 @@ smc_task_rx(void *context, int pending) } sc->smc_mask |= RCV_INT; - if ((ifp->if_capenable & IFCAP_POLLING) == 0) + if ((if_getcapenable(ifp) & IFCAP_POLLING) == 0) smc_write_1(sc, MSK, sc->smc_mask); SMC_UNLOCK(sc); @@ -799,20 +799,20 @@ smc_task_rx(void *context, int pending) mhead = mhead->m_next; m->m_next = NULL; if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); } } #ifdef DEVICE_POLLING static int -smc_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +smc_poll(if_t ifp, enum poll_cmd cmd, int count) { struct smc_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); SMC_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { SMC_UNLOCK(sc); return (0); } @@ -854,12 +854,12 @@ static void smc_task_intr(void *context, int pending) { struct smc_softc *sc; - struct ifnet *ifp; + if_t ifp; u_int status, packet, counter, tcr; (void)pending; - ifp = (struct ifnet *)context; - sc = ifp->if_softc; + ifp = (if_t)context; + sc = if_getsoftc(ifp); SMC_LOCK(sc); @@ -963,7 +963,7 @@ smc_task_intr(void *context, int pending) * Update the interrupt mask. */ smc_select_bank(sc, 2); - if ((ifp->if_capenable & IFCAP_POLLING) == 0) + if ((if_getcapenable(ifp) & IFCAP_POLLING) == 0) smc_write_1(sc, MSK, sc->smc_mask); SMC_UNLOCK(sc); @@ -1069,12 +1069,12 @@ smc_miibus_statchg(device_t dev) } static int -smc_mii_ifmedia_upd(struct ifnet *ifp) +smc_mii_ifmedia_upd(if_t ifp) { struct smc_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); if (sc->smc_miibus == NULL) return (ENXIO); @@ -1083,12 +1083,12 @@ smc_mii_ifmedia_upd(struct ifnet *ifp) } static void -smc_mii_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +smc_mii_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct smc_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); if (sc->smc_miibus == NULL) return; @@ -1188,7 +1188,7 @@ smc_reset(struct smc_softc *sc) static void smc_enable(struct smc_softc *sc) { - struct ifnet *ifp; + if_t ifp; SMC_ASSERT_LOCKED(sc); ifp = sc->smc_ifp; @@ -1211,7 +1211,7 @@ smc_enable(struct smc_softc *sc) */ smc_select_bank(sc, 2); sc->smc_mask = EPH_INT | RX_OVRN_INT | RCV_INT | TX_INT; - if ((ifp->if_capenable & IFCAP_POLLING) != 0) + if ((if_getcapenable(ifp) & IFCAP_POLLING) != 0) smc_write_1(sc, MSK, sc->smc_mask); } @@ -1235,7 +1235,7 @@ smc_stop(struct smc_softc *sc) smc_write_1(sc, MSK, 0); #ifdef DEVICE_POLLING ether_poll_deregister(sc->smc_ifp); - sc->smc_ifp->if_capenable &= ~IFCAP_POLLING; + if_setcapenablebit(ifp, 0, IFCAP_POLLING); #endif /* @@ -1245,7 +1245,7 @@ smc_stop(struct smc_softc *sc) smc_write_2(sc, TCR, 0); smc_write_2(sc, RCR, 0); - sc->smc_ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(sc->smc_ifp, 0, IFF_DRV_RUNNING); } static void @@ -1272,18 +1272,18 @@ smc_init(void *context) static void smc_init_locked(struct smc_softc *sc) { - struct ifnet *ifp; + if_t ifp; SMC_ASSERT_LOCKED(sc); ifp = sc->smc_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; smc_reset(sc); smc_enable(sc); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); smc_start_locked(ifp); @@ -1294,23 +1294,23 @@ smc_init_locked(struct smc_softc *sc) SMC_UNLOCK(sc); ether_poll_register(smc_poll, ifp); SMC_LOCK(sc); - ifp->if_capenable |= IFCAP_POLLING; + if_setcapenablebit(ifp, IFCAP_POLLING, 0); #endif } static int -smc_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +smc_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct smc_softc *sc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); error = 0; switch (cmd) { case SIOCSIFFLAGS: - if ((ifp->if_flags & IFF_UP) == 0 && - (ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getflags(ifp) & IFF_UP) == 0 && + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { SMC_LOCK(sc); smc_stop(sc); SMC_UNLOCK(sc); diff --git a/sys/dev/smc/if_smcvar.h b/sys/dev/smc/if_smcvar.h index f7d3944d817d..8c0fa58b2e1e 100644 --- a/sys/dev/smc/if_smcvar.h +++ b/sys/dev/smc/if_smcvar.h @@ -31,7 +31,7 @@ #define _IF_SMCVAR_H_ struct smc_softc { - struct ifnet *smc_ifp; + if_t smc_ifp; device_t smc_dev; struct mtx smc_mtx; u_int smc_chip; From nobody Mon Feb 6 17:54:16 2023 X-Original-To: dev-commits-src-main@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 4P9YmS51rfz3n0hJ; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmS3bF6z4YRV; Mon, 6 Feb 2023 17:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706056; 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=DTp+cb7IrtSjbfe8TbuRau08t8gmG3vKxRZKeJWNp8U=; b=C/W6DQABbhP/OzdPpMUIc+DHBVe3TPfX1wJucPjC4Ag3f08tDUG1MOnCGQQEyi9tRk897Z VxS11byenl4tFG5tXP8LO9jqzaTOYRtyQcrURyBuYz+Ml7pnqSeG66SpG9VFka2iIpxa2k jGVyzItmTDVfyHKM1JrhZ7Tc8wqM+0ukwa+BTCSVOBY9Tn6gy2ae+1E73fE7L3QJ93+CWP s2S894m0oBmNGUhP0rT+XCgdgIaQbizBlXw6fv8KTwVGRih+KFvXBe/pKhKk5sDlm6Co5K yRmDfXkaHK+xfdnJj9PkJ7G6XLHfaPtGAbQ0TwtM0zWsm9b2sFNE33DOh8Dgag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706056; 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=DTp+cb7IrtSjbfe8TbuRau08t8gmG3vKxRZKeJWNp8U=; b=hvUIydCBIrBi7qEzJtcdzS8pwc/ppcjKRS3nRBygXejA+Wi4KTkPAQKq2rYLnsssQMbHlZ n/ng/+X1AxAWSlNHTc30Bkj6HoPiur0qR/CeZS8drwvQALs12A0G2GZO9nG6yJR769CBJ8 rBD/TCm4dZTtI97dFyMUDbL16/dkXfqQIl/UzF8yB2EX9nFlgYpiLe6ksZg6KS5bg/PbLM qLm13gFQEdn5X63wcb3R+0QpZCKbrJRL3BAu8zSXG5rZBCbkioE2k1CBIei01P68yOvt/g dy2/kIprCLr3gRct6eCvJEmzVXMqFOtoB0lVbrQ8u3gsfE6m4AtYdHSntK9Y5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706056; a=rsa-sha256; cv=none; b=NQv3sEnPI4LF9Ebg1rcO9ulp12er2YMD8ZzliT1/n408EbhgvMtz/NxsjnM8qM/basyYia uBCXMNZrGDqrKw3mrQnYI4/vQsAy8xL5CG+awLzvQMrQRXybsLFTMCrKrHCzMl2uZ0sTuk lxigA44ilAg7qzHNflrX/Nd1ILLF3QGZcAshYOVea6m4XheSuPlYn+7JkMG9zcuen2ERHT 3o5V7J9fb0TIMpMjanmYwgC3MjaH13rAeFafPGrCvWHfiI1brwqEB79imfDcJ61bHvsg6+ njnNh/x0wDI25nt0gFhxkk2ObCxTzOTrPBf7DOI1RFfyQFSCe4j1I864Cll+zA== 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 4P9YmS2Sr6zkMY; Mon, 6 Feb 2023 17:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsG69074692; Mon, 6 Feb 2023 17:54:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsGDI074691; Mon, 6 Feb 2023 17:54:16 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:16 GMT Message-Id: <202302061754.316HsGDI074691@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: ccfbf57f838a - main - Mechanically convert sk(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ccfbf57f838a6b0e4b5f031282b4440f8b0cdb44 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=ccfbf57f838a6b0e4b5f031282b4440f8b0cdb44 commit ccfbf57f838a6b0e4b5f031282b4440f8b0cdb44 Author: Justin Hibbits AuthorDate: 2022-08-17 20:25:16 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:11 +0000 Mechanically convert sk(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37818 --- sys/dev/sk/if_sk.c | 217 +++++++++++++++++++++++++------------------------- sys/dev/sk/if_skreg.h | 2 +- 2 files changed, 109 insertions(+), 110 deletions(-) diff --git a/sys/dev/sk/if_sk.c b/sys/dev/sk/if_sk.c index 139234658b29..46a17db3a301 100644 --- a/sys/dev/sk/if_sk.c +++ b/sys/dev/sk/if_sk.c @@ -201,24 +201,24 @@ static void sk_intr(void *); static void sk_intr_xmac(struct sk_if_softc *); static void sk_intr_bcom(struct sk_if_softc *); static void sk_intr_yukon(struct sk_if_softc *); -static __inline void sk_rxcksum(struct ifnet *, struct mbuf *, u_int32_t); +static __inline void sk_rxcksum(if_t, struct mbuf *, u_int32_t); static __inline int sk_rxvalid(struct sk_softc *, u_int32_t, u_int32_t); static void sk_rxeof(struct sk_if_softc *); static void sk_jumbo_rxeof(struct sk_if_softc *); static void sk_txeof(struct sk_if_softc *); -static void sk_txcksum(struct ifnet *, struct mbuf *, struct sk_tx_desc *); +static void sk_txcksum(if_t, struct mbuf *, struct sk_tx_desc *); static int sk_encap(struct sk_if_softc *, struct mbuf **); -static void sk_start(struct ifnet *); -static void sk_start_locked(struct ifnet *); -static int sk_ioctl(struct ifnet *, u_long, caddr_t); +static void sk_start(if_t); +static void sk_start_locked(if_t); +static int sk_ioctl(if_t, u_long, caddr_t); static void sk_init(void *); static void sk_init_locked(struct sk_if_softc *); static void sk_init_xmac(struct sk_if_softc *); static void sk_init_yukon(struct sk_if_softc *); static void sk_stop(struct sk_if_softc *); static void sk_watchdog(void *); -static int sk_ifmedia_upd(struct ifnet *); -static void sk_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static int sk_ifmedia_upd(if_t); +static void sk_ifmedia_sts(if_t, struct ifmediareq *); static void sk_reset(struct sk_softc *); static __inline void sk_discard_rxbuf(struct sk_if_softc *, int); static __inline void sk_discard_jumbo_rxbuf(struct sk_if_softc *, int); @@ -746,7 +746,7 @@ sk_add_maddr_genesis(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void sk_rxfilter_genesis(struct sk_if_softc *sc_if) { - struct ifnet *ifp = sc_if->sk_ifp; + if_t ifp = sc_if->sk_ifp; struct sk_add_maddr_genesis_ctx ctx = { sc_if, { 0, 0 } }; int i; u_int16_t dummy[] = { 0, 0, 0 }; @@ -761,10 +761,10 @@ sk_rxfilter_genesis(struct sk_if_softc *sc_if) sk_setfilt(sc_if, dummy, i); /* Now program new ones. */ - if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) { - if (ifp->if_flags & IFF_ALLMULTI) + if (if_getflags(ifp) & IFF_ALLMULTI || if_getflags(ifp) & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_ALLMULTI) ctx.mode |= XM_MODE_RX_USE_HASH; - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) ctx.mode |= XM_MODE_RX_PROMISC; ctx.hashes[0] = 0xFFFFFFFF; ctx.hashes[1] = 0xFFFFFFFF; @@ -794,16 +794,16 @@ sk_hash_maddr_yukon(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void sk_rxfilter_yukon(struct sk_if_softc *sc_if) { - struct ifnet *ifp; + if_t ifp; uint32_t hashes[2] = { 0, 0 }, mode; SK_IF_LOCK_ASSERT(sc_if); ifp = sc_if->sk_ifp; mode = SK_YU_READ_2(sc_if, YUKON_RCR); - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) mode &= ~(YU_RCR_UFLEN | YU_RCR_MUFLEN); - else if (ifp->if_flags & IFF_ALLMULTI) { + else if (if_getflags(ifp) & IFF_ALLMULTI) { mode |= YU_RCR_UFLEN | YU_RCR_MUFLEN; hashes[0] = 0xFFFFFFFF; hashes[1] = 0xFFFFFFFF; @@ -1052,9 +1052,9 @@ sk_jumbo_newbuf(sc_if, idx) */ static int sk_ifmedia_upd(ifp) - struct ifnet *ifp; + if_t ifp; { - struct sk_if_softc *sc_if = ifp->if_softc; + struct sk_if_softc *sc_if = if_getsoftc(ifp); struct mii_data *mii; mii = device_get_softc(sc_if->sk_miibus); @@ -1069,13 +1069,13 @@ sk_ifmedia_upd(ifp) */ static void sk_ifmedia_sts(ifp, ifmr) - struct ifnet *ifp; + if_t ifp; struct ifmediareq *ifmr; { struct sk_if_softc *sc_if; struct mii_data *mii; - sc_if = ifp->if_softc; + sc_if = if_getsoftc(ifp); mii = device_get_softc(sc_if->sk_miibus); mii_pollstat(mii); @@ -1087,11 +1087,11 @@ sk_ifmedia_sts(ifp, ifmr) static int sk_ioctl(ifp, command, data) - struct ifnet *ifp; + if_t ifp; u_long command; caddr_t data; { - struct sk_if_softc *sc_if = ifp->if_softc; + struct sk_if_softc *sc_if = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; int error, mask; struct mii_data *mii; @@ -1101,15 +1101,15 @@ sk_ioctl(ifp, command, data) case SIOCSIFMTU: if (ifr->ifr_mtu < ETHERMIN || ifr->ifr_mtu > SK_JUMBO_MTU) error = EINVAL; - else if (ifp->if_mtu != ifr->ifr_mtu) { + else if (if_getmtu(ifp) != ifr->ifr_mtu) { if (sc_if->sk_jumbo_disable != 0 && ifr->ifr_mtu > SK_MAX_FRAMELEN) error = EINVAL; else { SK_IF_LOCK(sc_if); - ifp->if_mtu = ifr->ifr_mtu; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setmtu(ifp, ifr->ifr_mtu); + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); sk_init_locked(sc_if); } SK_IF_UNLOCK(sc_if); @@ -1118,24 +1118,24 @@ sk_ioctl(ifp, command, data) break; case SIOCSIFFLAGS: SK_IF_LOCK(sc_if); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - if ((ifp->if_flags ^ sc_if->sk_if_flags) + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if ((if_getflags(ifp) ^ sc_if->sk_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) sk_rxfilter(sc_if); } else sk_init_locked(sc_if); } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) sk_stop(sc_if); } - sc_if->sk_if_flags = ifp->if_flags; + sc_if->sk_if_flags = if_getflags(ifp); SK_IF_UNLOCK(sc_if); break; case SIOCADDMULTI: case SIOCDELMULTI: SK_IF_LOCK(sc_if); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) sk_rxfilter(sc_if); SK_IF_UNLOCK(sc_if); break; @@ -1150,18 +1150,18 @@ sk_ioctl(ifp, command, data) SK_IF_UNLOCK(sc_if); break; } - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if ((mask & IFCAP_TXCSUM) != 0 && - (IFCAP_TXCSUM & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist |= SK_CSUM_FEATURES; + (IFCAP_TXCSUM & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassistbits(ifp, SK_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~SK_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, SK_CSUM_FEATURES); } if ((mask & IFCAP_RXCSUM) != 0 && - (IFCAP_RXCSUM & ifp->if_capabilities) != 0) - ifp->if_capenable ^= IFCAP_RXCSUM; + (IFCAP_RXCSUM & if_getcapabilities(ifp)) != 0) + if_togglecapenable(ifp, IFCAP_RXCSUM); SK_IF_UNLOCK(sc_if); break; default: @@ -1304,7 +1304,7 @@ sk_attach(dev) { struct sk_softc *sc; struct sk_if_softc *sc_if; - struct ifnet *ifp; + if_t ifp; u_int32_t r; int error, i, phy, port; u_char eaddr[6]; @@ -1342,20 +1342,20 @@ sk_attach(dev) error = ENOSPC; goto fail; } - ifp->if_softc = sc_if; + if_setsoftc(ifp, sc_if); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); /* * SK_GENESIS has a bug in checksum offload - From linux. */ if (sc_if->sk_softc->sk_type != SK_GENESIS) { - ifp->if_capabilities = IFCAP_TXCSUM | IFCAP_RXCSUM; - ifp->if_hwassist = 0; + if_setcapabilities(ifp, IFCAP_TXCSUM | IFCAP_RXCSUM); + if_sethwassist(ifp, 0); } else { - ifp->if_capabilities = 0; - ifp->if_hwassist = 0; + if_setcapabilities(ifp, 0); + if_sethwassist(ifp, 0); } - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); /* * Some revision of Yukon controller generates corrupted * frame when TX checksum offloading is enabled. The @@ -1365,13 +1365,12 @@ sk_attach(dev) * when they know their controller works without problems * with TX checksum offloading. */ - ifp->if_capenable &= ~IFCAP_TXCSUM; - ifp->if_ioctl = sk_ioctl; - ifp->if_start = sk_start; - ifp->if_init = sk_init; - IFQ_SET_MAXLEN(&ifp->if_snd, SK_TX_RING_CNT - 1); - ifp->if_snd.ifq_drv_maxlen = SK_TX_RING_CNT - 1; - IFQ_SET_READY(&ifp->if_snd); + if_setcapenablebit(ifp, 0, IFCAP_TXCSUM); + if_setioctlfn(ifp, sk_ioctl); + if_setstartfn(ifp, sk_start); + if_setinitfn(ifp, sk_init); + if_setsendqlen(ifp, SK_TX_RING_CNT - 1); + if_setsendqready(ifp); /* * Get station address for this interface. Note that @@ -1484,14 +1483,14 @@ sk_attach(dev) * YU_SMR_MFL_VLAN is set by this driver in Yukon. * */ - ifp->if_capabilities |= IFCAP_VLAN_MTU; - ifp->if_capenable |= IFCAP_VLAN_MTU; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); + if_setcapenablebit(ifp, IFCAP_VLAN_MTU, 0); /* * Tell the upper layer(s) we support long frames. * Must appear after the call to ether_ifattach() because * ether_ifattach() sets ifi_hdrlen to the default value. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); /* * Do miibus setup. @@ -1815,7 +1814,7 @@ sk_detach(dev) device_t dev; { struct sk_if_softc *sc_if; - struct ifnet *ifp; + if_t ifp; sc_if = device_get_softc(dev); KASSERT(mtx_initialized(&sc_if->sk_softc->sk_mtx), @@ -2328,7 +2327,7 @@ sk_dma_jumbo_free(sc_if) static void sk_txcksum(ifp, m, f) - struct ifnet *ifp; + if_t ifp; struct mbuf *m; struct sk_tx_desc *f; { @@ -2419,7 +2418,7 @@ sk_encap(sc_if, m_head) } m = *m_head; - if ((m->m_pkthdr.csum_flags & sc_if->sk_ifp->if_hwassist) != 0) + if ((m->m_pkthdr.csum_flags & if_gethwassist(sc_if->sk_ifp)) != 0) cflags = SK_OPCODE_CSUM; else cflags = SK_OPCODE_DEFAULT; @@ -2466,11 +2465,11 @@ sk_encap(sc_if, m_head) static void sk_start(ifp) - struct ifnet *ifp; + if_t ifp; { struct sk_if_softc *sc_if; - sc_if = ifp->if_softc; + sc_if = if_getsoftc(ifp); SK_IF_LOCK(sc_if); sk_start_locked(ifp); @@ -2481,21 +2480,21 @@ sk_start(ifp) static void sk_start_locked(ifp) - struct ifnet *ifp; + if_t ifp; { struct sk_softc *sc; struct sk_if_softc *sc_if; struct mbuf *m_head; int enq; - sc_if = ifp->if_softc; + sc_if = if_getsoftc(ifp); sc = sc_if->sk_softc; SK_IF_LOCK_ASSERT(sc_if); - for (enq = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd) && + for (enq = 0; !if_sendq_empty(ifp) && sc_if->sk_cdata.sk_tx_cnt < SK_TX_RING_CNT - 1; ) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; @@ -2507,8 +2506,8 @@ sk_start_locked(ifp) if (sk_encap(sc_if, &m_head)) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -2534,10 +2533,10 @@ sk_watchdog(arg) void *arg; { struct sk_if_softc *sc_if; - struct ifnet *ifp; + if_t ifp; ifp = arg; - sc_if = ifp->if_softc; + sc_if = if_getsoftc(ifp); SK_IF_LOCK_ASSERT(sc_if); @@ -2552,7 +2551,7 @@ sk_watchdog(arg) if (sc_if->sk_cdata.sk_tx_cnt != 0) { if_printf(sc_if->sk_ifp, "watchdog timeout\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); sk_init_locked(sc_if); } @@ -2590,7 +2589,7 @@ skc_suspend(dev) { struct sk_softc *sc; struct sk_if_softc *sc_if0, *sc_if1; - struct ifnet *ifp0 = NULL, *ifp1 = NULL; + if_t ifp0 = NULL, ifp1 = NULL; sc = device_get_softc(dev); @@ -2619,7 +2618,7 @@ skc_resume(dev) { struct sk_softc *sc; struct sk_if_softc *sc_if0, *sc_if1; - struct ifnet *ifp0 = NULL, *ifp1 = NULL; + if_t ifp0 = NULL, ifp1 = NULL; sc = device_get_softc(dev); @@ -2631,9 +2630,9 @@ skc_resume(dev) ifp0 = sc_if0->sk_ifp; if (sc_if1 != NULL) ifp1 = sc_if1->sk_ifp; - if (ifp0 != NULL && ifp0->if_flags & IFF_UP) + if (ifp0 != NULL && if_getflags(ifp0) & IFF_UP) sk_init_locked(sc_if0); - if (ifp1 != NULL && ifp1->if_flags & IFF_UP) + if (ifp1 != NULL && if_getflags(ifp1) & IFF_UP) sk_init_locked(sc_if1); sc->sk_suspended = 0; @@ -2658,7 +2657,7 @@ skc_resume(dev) */ static __inline void sk_rxcksum(ifp, m, csum) - struct ifnet *ifp; + if_t ifp; struct mbuf *m; u_int32_t csum; { @@ -2736,7 +2735,7 @@ sk_rxeof(sc_if) { struct sk_softc *sc; struct mbuf *m; - struct ifnet *ifp; + if_t ifp; struct sk_rx_desc *cur_rx; struct sk_rxdesc *rxd; int cons, prog; @@ -2782,10 +2781,10 @@ sk_rxeof(sc_if) m->m_pkthdr.rcvif = ifp; m->m_pkthdr.len = m->m_len = SK_RXBYTES(sk_ctl); if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) sk_rxcksum(ifp, m, csum); SK_IF_UNLOCK(sc_if); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); SK_IF_LOCK(sc_if); } @@ -2803,7 +2802,7 @@ sk_jumbo_rxeof(sc_if) { struct sk_softc *sc; struct mbuf *m; - struct ifnet *ifp; + if_t ifp; struct sk_rx_desc *cur_rx; struct sk_rxdesc *jrxd; int cons, prog; @@ -2850,10 +2849,10 @@ sk_jumbo_rxeof(sc_if) m->m_pkthdr.rcvif = ifp; m->m_pkthdr.len = m->m_len = SK_RXBYTES(sk_ctl); if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) sk_rxcksum(ifp, m, csum); SK_IF_UNLOCK(sc_if); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); SK_IF_LOCK(sc_if); } @@ -2871,7 +2870,7 @@ sk_txeof(sc_if) { struct sk_txdesc *txd; struct sk_tx_desc *cur_tx; - struct ifnet *ifp; + if_t ifp; u_int32_t idx, sk_ctl; ifp = sc_if->sk_ifp; @@ -2893,7 +2892,7 @@ sk_txeof(sc_if) if (sk_ctl & SK_TXCTL_OWN) break; sc_if->sk_cdata.sk_tx_cnt--; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if ((sk_ctl & SK_TXCTL_LASTFRAG) == 0) continue; bus_dmamap_sync(sc_if->sk_cdata.sk_tx_tag, txd->tx_dmamap, @@ -2921,14 +2920,14 @@ sk_tick(xsc_if) { struct sk_if_softc *sc_if; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; int i; sc_if = xsc_if; ifp = sc_if->sk_ifp; mii = device_get_softc(sc_if->sk_miibus); - if (!(ifp->if_flags & IFF_UP)) + if (!(if_getflags(ifp) & IFF_UP)) return; if (sc_if->sk_phytype == SK_PHYTYPE_BCOM) { @@ -2979,7 +2978,7 @@ sk_intr_bcom(sc_if) struct sk_if_softc *sc_if; { struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; int status; mii = device_get_softc(sc_if->sk_miibus); ifp = sc_if->sk_ifp; @@ -2992,7 +2991,7 @@ sk_intr_bcom(sc_if) */ status = sk_xmac_miibus_readreg(sc_if, SK_PHYADDR_BCOM, BRGPHY_MII_ISR); - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { sk_init_xmac(sc_if); return; } @@ -3087,7 +3086,7 @@ sk_intr(xsc) { struct sk_softc *sc = xsc; struct sk_if_softc *sc_if0, *sc_if1; - struct ifnet *ifp0 = NULL, *ifp1 = NULL; + if_t ifp0 = NULL, ifp1 = NULL; u_int32_t status; SK_LOCK(sc); @@ -3107,7 +3106,7 @@ sk_intr(xsc) for (; (status &= sc->sk_intrmask) != 0;) { /* Handle receive interrupts first. */ if (status & SK_ISR_RX1_EOF) { - if (ifp0->if_mtu > SK_MAX_FRAMELEN) + if (if_getmtu(ifp0) > SK_MAX_FRAMELEN) sk_jumbo_rxeof(sc_if0); else sk_rxeof(sc_if0); @@ -3115,7 +3114,7 @@ sk_intr(xsc) SK_RXBMU_CLR_IRQ_EOF|SK_RXBMU_RX_START); } if (status & SK_ISR_RX2_EOF) { - if (ifp1->if_mtu > SK_MAX_FRAMELEN) + if (if_getflags(ifp1) > SK_MAX_FRAMELEN) sk_jumbo_rxeof(sc_if1); else sk_rxeof(sc_if1); @@ -3135,7 +3134,7 @@ sk_intr(xsc) /* Then MAC interrupts. */ if (status & SK_ISR_MAC1 && - ifp0->if_drv_flags & IFF_DRV_RUNNING) { + if_getdrvflags(ifp0) & IFF_DRV_RUNNING) { if (sc->sk_type == SK_GENESIS) sk_intr_xmac(sc_if0); else @@ -3143,7 +3142,7 @@ sk_intr(xsc) } if (status & SK_ISR_MAC2 && - ifp1->if_drv_flags & IFF_DRV_RUNNING) { + if_getdrvflags(ifp1) & IFF_DRV_RUNNING) { if (sc->sk_type == SK_GENESIS) sk_intr_xmac(sc_if1); else @@ -3163,9 +3162,9 @@ sk_intr(xsc) CSR_WRITE_4(sc, SK_IMR, sc->sk_intrmask); - if (ifp0 != NULL && !IFQ_DRV_IS_EMPTY(&ifp0->if_snd)) + if (ifp0 != NULL && !if_sendq_empty(ifp0)) sk_start_locked(ifp0); - if (ifp1 != NULL && !IFQ_DRV_IS_EMPTY(&ifp1->if_snd)) + if (ifp1 != NULL && !if_sendq_empty(ifp1)) sk_start_locked(ifp1); done_locked: @@ -3177,7 +3176,7 @@ sk_init_xmac(sc_if) struct sk_if_softc *sc_if; { struct sk_softc *sc; - struct ifnet *ifp; + if_t ifp; u_int16_t eaddr[(ETHER_ADDR_LEN+1)/2]; static const struct sk_bcom_hack bhack[] = { { 0x18, 0x0c20 }, { 0x17, 0x0012 }, { 0x15, 0x1104 }, { 0x17, 0x0013 }, @@ -3243,13 +3242,13 @@ sk_init_xmac(sc_if) } /* Set station address */ - bcopy(IF_LLADDR(sc_if->sk_ifp), eaddr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(sc_if->sk_ifp), eaddr, ETHER_ADDR_LEN); SK_XM_WRITE_2(sc_if, XM_PAR0, eaddr[0]); SK_XM_WRITE_2(sc_if, XM_PAR1, eaddr[1]); SK_XM_WRITE_2(sc_if, XM_PAR2, eaddr[2]); SK_XM_SETBIT_4(sc_if, XM_MODE, XM_MODE_RX_USE_STATION); - if (ifp->if_flags & IFF_BROADCAST) { + if (if_getflags(ifp) & IFF_BROADCAST) { SK_XM_CLRBIT_4(sc_if, XM_MODE, XM_MODE_RX_NOBROAD); } else { SK_XM_SETBIT_4(sc_if, XM_MODE, XM_MODE_RX_NOBROAD); @@ -3275,7 +3274,7 @@ sk_init_xmac(sc_if) * case the XMAC will start transferring frames out of the * RX FIFO as soon as the FIFO threshold is reached. */ - if (ifp->if_mtu > SK_MAX_FRAMELEN) { + if (if_getmtu(ifp) > SK_MAX_FRAMELEN) { SK_XM_SETBIT_4(sc_if, XM_MODE, XM_MODE_RX_BADFRAMES| XM_MODE_RX_GIANTS|XM_MODE_RX_RUNTS|XM_MODE_RX_CRCERRS| XM_MODE_RX_INRANGELEN); @@ -3341,7 +3340,7 @@ sk_init_yukon(sc_if) u_int32_t phy, v; u_int16_t reg; struct sk_softc *sc; - struct ifnet *ifp; + if_t ifp; u_int8_t *eaddr; int i; @@ -3414,12 +3413,12 @@ sk_init_yukon(sc_if) /* serial mode register */ reg = YU_SMR_DATA_BLIND(0x1c) | YU_SMR_MFL_VLAN | YU_SMR_IPG_DATA(0x1e); - if (ifp->if_mtu > SK_MAX_FRAMELEN) + if (if_getmtu(ifp) > SK_MAX_FRAMELEN) reg |= YU_SMR_MFL_JUMBO; SK_YU_WRITE_2(sc_if, YUKON_SMR, reg); /* Setup Yukon's station address */ - eaddr = IF_LLADDR(sc_if->sk_ifp); + eaddr = if_getlladdr(sc_if->sk_ifp); for (i = 0; i < 3; i++) SK_YU_WRITE_2(sc_if, SK_MAC0_0 + i * 4, eaddr[i * 2] | eaddr[i * 2 + 1] << 8); @@ -3486,7 +3485,7 @@ sk_init_locked(sc_if) struct sk_if_softc *sc_if; { struct sk_softc *sc; - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; u_int16_t reg; u_int32_t imr; @@ -3498,7 +3497,7 @@ sk_init_locked(sc_if) sc = sc_if->sk_softc; mii = device_get_softc(sc_if->sk_miibus); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) return; /* Cancel pending I/O and free all RX/TX buffers. */ @@ -3586,7 +3585,7 @@ sk_init_locked(sc_if) /* Configure BMUs */ SK_IF_WRITE_4(sc_if, 0, SK_RXQ1_BMU_CSR, SK_RXBMU_ONLINE); - if (ifp->if_mtu > SK_MAX_FRAMELEN) { + if (if_getmtu(ifp) > SK_MAX_FRAMELEN) { SK_IF_WRITE_4(sc_if, 0, SK_RXQ1_CURADDR_LO, SK_ADDR_LO(SK_JUMBO_RX_RING_ADDR(sc_if, 0))); SK_IF_WRITE_4(sc_if, 0, SK_RXQ1_CURADDR_HI, @@ -3605,7 +3604,7 @@ sk_init_locked(sc_if) SK_ADDR_HI(SK_TX_RING_ADDR(sc_if, 0))); /* Init descriptors */ - if (ifp->if_mtu > SK_MAX_FRAMELEN) + if (if_getmtu(ifp) > SK_MAX_FRAMELEN) error = sk_init_jumbo_rx_ring(sc_if); else error = sk_init_rx_ring(sc_if); @@ -3665,8 +3664,8 @@ sk_init_locked(sc_if) /* start transfer of Tx descriptors */ CSR_WRITE_4(sc, sc_if->sk_tx_bmu, SK_TXBMU_TX_START); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); switch (sc->sk_type) { case SK_YUKON: @@ -3690,7 +3689,7 @@ sk_stop(sc_if) struct sk_txdesc *txd; struct sk_rxdesc *rxd; struct sk_rxdesc *jrxd; - struct ifnet *ifp; + if_t ifp; u_int32_t val; SK_IF_LOCK_ASSERT(sc_if); @@ -3807,7 +3806,7 @@ sk_stop(sc_if) } } - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING|IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING|IFF_DRV_OACTIVE)); return; } diff --git a/sys/dev/sk/if_skreg.h b/sys/dev/sk/if_skreg.h index 5a4f18e9e851..18f7799cb855 100644 --- a/sys/dev/sk/if_skreg.h +++ b/sys/dev/sk/if_skreg.h @@ -1471,7 +1471,7 @@ struct sk_softc { /* Softc for each logical interface */ struct sk_if_softc { - struct ifnet *sk_ifp; /* interface info */ + if_t sk_ifp; /* interface info */ device_t sk_miibus; device_t sk_if_dev; u_int8_t sk_port; /* port # on controller */ From nobody Mon Feb 6 17:54:17 2023 X-Original-To: dev-commits-src-main@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 4P9YmT5xPTz3n0W1; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmT4SNtz4YM4; Mon, 6 Feb 2023 17:54:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706057; 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=NOndZnbpwuL49XMi+KNb2fkiOtsH8Z9GjoO88QbNiZQ=; b=EqB2kYGT1vt0vucZ60RaPqkBLX+39UExQmcdu8Y7ByLoET0wNehLJQRf3emKRlnzupgouq vVi/Po3C/67UM0CTL7DOV1Cs6kGIMdgs/brniq65iPK1vB0eaS9S8sY/Pd6cKfIJZRqbBZ 6vJvKICJhOZvwVur1UDXBkEtGv0P9Xb8NsANZLoDHoC5cORW32hByhtPpE8CT8cNEuEIto dIqJ0SNNcehOqjp7BOE6BoYgVkvQgMNOGusMn5zNaVdvdmvxJMsbxSvk+u9OOe6o/O/jTn 69oMXT1fggcKG4SQhbshuH8DK2XbvpfoTyv14ne96jTTnFNssJQjOjI/otan6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706057; 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=NOndZnbpwuL49XMi+KNb2fkiOtsH8Z9GjoO88QbNiZQ=; b=t4LLwA+/py9UquOP1r6sIqOi2nEgdWRiUOXfUGqQ9dRH1dfCMok6tIFtS3L6Tzg24hYNy5 pzsAEe3xZhjyXY2hEwDX2y1gZvUJ38WeGE64TDFM28LiZ78bDRyyfZOeGK5xuzXJSU2BUk UUFIZ6uSMbX6gqhjVphOJcGvOotIwjeZNBwJ4K1TavIZ6xwvwoVjwO6IdphsTMpFMcywSl ss4qfLo9eAcSG+1Q3QIMgQz6DyTHAVx35ofQ2j6EA/6OUmCNWm1w1zuJYdFZa35si+a89Q h6D839hNZSo6uLlWKXHLoF2kByADLjQAUXi3EwHqjHF+0CFaGDkWGIDIXKD9VA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706057; a=rsa-sha256; cv=none; b=G2ddpqZpDYSLSfraFYE43bAPZAw0wnMp4zbJ+GSl4T9vNedNsmno7ba0uqy4D0DBBFwcMM 7A7hhx/ChokymT7Rwpl9MpsnRbMY89xEX8Ka0y+sHU9wizN3I3fyl/k6aLJqPFuH6Fhnua GbTtQ03XT89Gl5X9PUo7VyyAoOX4H/6jxiNXHY8yetayjGjUVEK+TIE30m3NxZrMbWWiDo Yw8Kc7pbnviOSMiYAoTmUeYWSGPk7Ml/RtbTffYp13BhePju5HwInrHqNTeSrL+mdT/vAG iLQfeGn0fiEkwY08siI8nrxQ7RZQScsjJQDhhYJMAyDfVgyJUrjFo1eNkOHJRA== 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 4P9YmT3PT0zkg6; Mon, 6 Feb 2023 17:54:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsHt6074721; Mon, 6 Feb 2023 17:54:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsHnM074720; Mon, 6 Feb 2023 17:54:17 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:17 GMT Message-Id: <202302061754.316HsHnM074720@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: df40efe17afb - main - Mechanically convert le(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df40efe17afb82398621cc31b907432bb6668bce Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=df40efe17afb82398621cc31b907432bb6668bce commit df40efe17afb82398621cc31b907432bb6668bce Author: Justin Hibbits AuthorDate: 2022-08-19 16:00:48 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:11 +0000 Mechanically convert le(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37831 --- sys/dev/le/am7990.c | 32 ++++++++--------- sys/dev/le/am79900.c | 32 ++++++++--------- sys/dev/le/lance.c | 99 +++++++++++++++++++++++++-------------------------- sys/dev/le/lancevar.h | 2 +- 4 files changed, 82 insertions(+), 83 deletions(-) diff --git a/sys/dev/le/am7990.c b/sys/dev/le/am7990.c index 66dce0e6ac1d..b3d81cf01420 100644 --- a/sys/dev/le/am7990.c +++ b/sys/dev/le/am7990.c @@ -147,7 +147,7 @@ am7990_detach(struct am7990_softc *sc) static void am7990_meminit(struct lance_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct leinit init; struct lermd rmd; struct letmd tmd; @@ -156,7 +156,7 @@ am7990_meminit(struct lance_softc *sc) LE_LOCK_ASSERT(sc, MA_OWNED); - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) init.init_mode = LE_MODE_NORMAL | LE_MODE_PROM; else init.init_mode = LE_MODE_NORMAL; @@ -211,7 +211,7 @@ am7990_meminit(struct lance_softc *sc) static void am7990_rint(struct lance_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct mbuf *m; struct lermd rmd; int bix, rp; @@ -295,7 +295,7 @@ am7990_rint(struct lance_softc *sc) /* Pass the packet up. */ LE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); LE_LOCK(sc); } else if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); @@ -307,7 +307,7 @@ am7990_rint(struct lance_softc *sc) static void am7990_tint(struct lance_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct letmd tmd; int bix; @@ -332,7 +332,7 @@ am7990_tint(struct lance_softc *sc) if (tmd.tmd1_bits & LE_T1_OWN) break; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if (tmd.tmd1_bits & LE_T1_ERR) { if (tmd.tmd3 & LE_T3_BUFF) @@ -390,7 +390,7 @@ void am7990_intr(void *arg) { struct lance_softc *sc = arg; - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; uint16_t isr; LE_LOCK(sc); @@ -480,7 +480,7 @@ am7990_intr(void *arg) /* Enable interrupts again. */ (*sc->sc_wrcsr)(sc, LE_CSR0, LE_C0_INEA); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) am7990_start_locked(sc); LE_UNLOCK(sc); @@ -494,14 +494,14 @@ am7990_intr(void *arg) static void am7990_start_locked(struct lance_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct letmd tmd; struct mbuf *m; int bix, enq, len, rp; LE_LOCK_ASSERT(sc, MA_OWNED); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) return; @@ -509,18 +509,18 @@ am7990_start_locked(struct lance_softc *sc) enq = 0; for (; sc->sc_no_td < sc->sc_ntbuf && - !IFQ_DRV_IS_EMPTY(&ifp->if_snd);) { + !if_sendq_empty(ifp);) { rp = LE_TMDADDR(sc, bix); (*sc->sc_copyfromdesc)(sc, &tmd, rp, sizeof(tmd)); if (tmd.tmd1_bits & LE_T1_OWN) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); if_printf(ifp, "missing buffer, no_td = %d, last_td = %d\n", sc->sc_no_td, sc->sc_last_td); } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); if (m == NULL) break; @@ -561,7 +561,7 @@ am7990_start_locked(struct lance_softc *sc) bix = 0; if (++sc->sc_no_td == sc->sc_ntbuf) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } } @@ -576,7 +576,7 @@ am7990_start_locked(struct lance_softc *sc) static void am7990_recv_print(struct lance_softc *sc, int no) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct ether_header eh; struct lermd rmd; uint16_t len; @@ -599,7 +599,7 @@ am7990_recv_print(struct lance_softc *sc, int no) static void am7990_xmit_print(struct lance_softc *sc, int no) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct ether_header eh; struct letmd tmd; uint16_t len; diff --git a/sys/dev/le/am79900.c b/sys/dev/le/am79900.c index 316e12388ffd..a3b7a8245d05 100644 --- a/sys/dev/le/am79900.c +++ b/sys/dev/le/am79900.c @@ -185,7 +185,7 @@ am79900_detach(struct am79900_softc *sc) static void am79900_meminit(struct lance_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct leinit init; struct lermd rmd; struct letmd tmd; @@ -194,7 +194,7 @@ am79900_meminit(struct lance_softc *sc) LE_LOCK_ASSERT(sc, MA_OWNED); - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) init.init_mode = LE_HTOLE32(LE_MODE_NORMAL | LE_MODE_PROM); else init.init_mode = LE_HTOLE32(LE_MODE_NORMAL); @@ -251,7 +251,7 @@ am79900_meminit(struct lance_softc *sc) static inline void am79900_rint(struct lance_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct mbuf *m; struct lermd rmd; uint32_t rmd1; @@ -332,7 +332,7 @@ am79900_rint(struct lance_softc *sc) /* Pass the packet up. */ LE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); LE_LOCK(sc); } else if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); @@ -344,7 +344,7 @@ am79900_rint(struct lance_softc *sc) static inline void am79900_tint(struct lance_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct letmd tmd; uint32_t tmd1, tmd2; int bix; @@ -370,7 +370,7 @@ am79900_tint(struct lance_softc *sc) if (tmd1 & LE_T1_OWN) break; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if (tmd1 & LE_T1_ERR) { tmd2 = LE_LE32TOH(tmd.tmd2); @@ -428,7 +428,7 @@ void am79900_intr(void *arg) { struct lance_softc *sc = arg; - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; uint16_t isr; LE_LOCK(sc); @@ -518,7 +518,7 @@ am79900_intr(void *arg) /* Enable interrupts again. */ (*sc->sc_wrcsr)(sc, LE_CSR0, LE_C0_INEA); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) am79900_start_locked(sc); LE_UNLOCK(sc); @@ -532,14 +532,14 @@ am79900_intr(void *arg) static void am79900_start_locked(struct lance_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct letmd tmd; struct mbuf *m; int bix, enq, len, rp; LE_LOCK_ASSERT(sc, MA_OWNED); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) return; @@ -547,18 +547,18 @@ am79900_start_locked(struct lance_softc *sc) enq = 0; for (; sc->sc_no_td < sc->sc_ntbuf && - !IFQ_DRV_IS_EMPTY(&ifp->if_snd);) { + !if_sendq_empty(ifp);) { rp = LE_TMDADDR(sc, bix); (*sc->sc_copyfromdesc)(sc, &tmd, rp, sizeof(tmd)); if (LE_LE32TOH(tmd.tmd1) & LE_T1_OWN) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); if_printf(ifp, "missing buffer, no_td = %d, last_td = %d\n", sc->sc_no_td, sc->sc_last_td); } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); if (m == NULL) break; @@ -600,7 +600,7 @@ am79900_start_locked(struct lance_softc *sc) bix = 0; if (++sc->sc_no_td == sc->sc_ntbuf) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } } @@ -615,7 +615,7 @@ am79900_start_locked(struct lance_softc *sc) static void am79900_recv_print(struct lance_softc *sc, int no) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct ether_header eh; struct lermd rmd; uint16_t len; @@ -637,7 +637,7 @@ am79900_recv_print(struct lance_softc *sc, int no) static void am79900_xmit_print(struct lance_softc *sc, int no) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct ether_header eh; struct letmd tmd; uint16_t len; diff --git a/sys/dev/le/lance.c b/sys/dev/le/lance.c index 65504bd8142a..050fcfe36184 100644 --- a/sys/dev/le/lance.c +++ b/sys/dev/le/lance.c @@ -94,18 +94,18 @@ __FBSDID("$FreeBSD$"); #include #include -static void lance_start(struct ifnet *); +static void lance_start(if_t); static void lance_stop(struct lance_softc *); static void lance_init(void *); static void lance_watchdog(void *s); -static int lance_mediachange(struct ifnet *); -static void lance_mediastatus(struct ifnet *, struct ifmediareq *); -static int lance_ioctl(struct ifnet *, u_long, caddr_t); +static int lance_mediachange(if_t); +static void lance_mediastatus(if_t, struct ifmediareq *); +static int lance_ioctl(if_t, u_long, caddr_t); int lance_config(struct lance_softc *sc, const char* name, int unit) { - struct ifnet *ifp; + if_t ifp; int i, nbuf; if (LE_LOCK_INITIALIZED(sc) == 0) @@ -118,19 +118,18 @@ lance_config(struct lance_softc *sc, const char* name, int unit) callout_init_mtx(&sc->sc_wdog_ch, &sc->sc_mtx, 0); /* Initialize ifnet structure. */ - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, name, unit); - ifp->if_start = lance_start; - ifp->if_ioctl = lance_ioctl; - ifp->if_init = lance_init; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + if_setstartfn(ifp, lance_start); + if_setioctlfn(ifp, lance_ioctl); + if_setinitfn(ifp, lance_init); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); #ifdef LANCE_REVC_BUG - ifp->if_flags &= ~IFF_MULTICAST; + if_setflagsbit(ifp, 0, IFF_MULTICAST); #endif - ifp->if_baudrate = IF_Mbps(10); - IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); - ifp->if_snd.ifq_drv_maxlen = ifqmaxlen; - IFQ_SET_READY(&ifp->if_snd); + if_setbaudrate(ifp, IF_Mbps(10)); + if_setsendqlen(ifp, ifqmaxlen); + if_setsendqready(ifp); /* Initialize ifmedia structures. */ ifmedia_init(&sc->sc_media, 0, lance_mediachange, lance_mediastatus); @@ -191,21 +190,21 @@ lance_config(struct lance_softc *sc, const char* name, int unit) void lance_attach(struct lance_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; /* Attach the interface. */ ether_ifattach(ifp, sc->sc_enaddr); /* Claim 802.1q capability. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); - ifp->if_capabilities |= IFCAP_VLAN_MTU; - ifp->if_capenable |= IFCAP_VLAN_MTU; + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); + if_setcapenablebit(ifp, IFCAP_VLAN_MTU, 0); } void lance_detach(struct lance_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; LE_LOCK(sc); lance_stop(sc); @@ -229,15 +228,15 @@ lance_resume(struct lance_softc *sc) { LE_LOCK(sc); - if (sc->sc_ifp->if_flags & IFF_UP) + if (if_getflags(sc->sc_ifp) & IFF_UP) lance_init_locked(sc); LE_UNLOCK(sc); } static void -lance_start(struct ifnet *ifp) +lance_start(if_t ifp) { - struct lance_softc *sc = ifp->if_softc; + struct lance_softc *sc = if_getsoftc(ifp); LE_LOCK(sc); (*sc->sc_start_locked)(sc); @@ -247,14 +246,14 @@ lance_start(struct ifnet *ifp) static void lance_stop(struct lance_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; LE_LOCK_ASSERT(sc, MA_OWNED); /* * Mark the interface down and cancel the watchdog timer. */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); callout_stop(&sc->sc_wdog_ch); sc->sc_wdog_timer = 0; @@ -278,7 +277,7 @@ lance_init(void *xsc) void lance_init_locked(struct lance_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; u_long a; int timo; @@ -302,7 +301,7 @@ lance_init_locked(struct lance_softc *sc) * Update our private copy of the Ethernet address. * We NEED the copy so we can ensure its alignment! */ - memcpy(sc->sc_enaddr, IF_LLADDR(ifp), ETHER_ADDR_LEN); + memcpy(sc->sc_enaddr, if_getlladdr(ifp), ETHER_ADDR_LEN); /* Set up LANCE init block. */ (*sc->sc_meminit)(sc); @@ -324,8 +323,8 @@ lance_init_locked(struct lance_softc *sc) if ((*sc->sc_rdcsr)(sc, LE_CSR0) & LE_C0_IDON) { /* Start the LANCE. */ (*sc->sc_wrcsr)(sc, LE_CSR0, LE_C0_INEA | LE_C0_STRT); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); sc->sc_wdog_timer = 0; callout_reset(&sc->sc_wdog_ch, hz, lance_watchdog, sc); (*sc->sc_start_locked)(sc); @@ -377,7 +376,7 @@ lance_put(struct lance_softc *sc, int boff, struct mbuf *m) struct mbuf * lance_get(struct lance_softc *sc, int boff, int totlen) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct mbuf *m, *m0, *newm; caddr_t newdata; int len; @@ -436,7 +435,7 @@ static void lance_watchdog(void *xsc) { struct lance_softc *sc = (struct lance_softc *)xsc; - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; LE_LOCK_ASSERT(sc, MA_OWNED); @@ -451,9 +450,9 @@ lance_watchdog(void *xsc) } static int -lance_mediachange(struct ifnet *ifp) +lance_mediachange(if_t ifp) { - struct lance_softc *sc = ifp->if_softc; + struct lance_softc *sc = if_getsoftc(ifp); if (sc->sc_mediachange) { /* @@ -466,7 +465,7 @@ lance_mediachange(struct ifnet *ifp) LE_LOCK(sc); lance_stop(sc); lance_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) (*sc->sc_start_locked)(sc); LE_UNLOCK(sc); } @@ -474,12 +473,12 @@ lance_mediachange(struct ifnet *ifp) } static void -lance_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) +lance_mediastatus(if_t ifp, struct ifmediareq *ifmr) { - struct lance_softc *sc = ifp->if_softc; + struct lance_softc *sc = if_getsoftc(ifp); LE_LOCK(sc); - if (!(ifp->if_flags & IFF_UP)) { + if (!(if_getflags(ifp) & IFF_UP)) { LE_UNLOCK(sc); return; } @@ -497,16 +496,16 @@ lance_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) * Process an ioctl request. */ static int -lance_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +lance_ioctl(if_t ifp, u_long cmd, caddr_t data) { - struct lance_softc *sc = ifp->if_softc; + struct lance_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *)data; int error = 0; switch (cmd) { case SIOCSIFFLAGS: LE_LOCK(sc); - if (ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_PROMISC) { if (!(sc->sc_flags & LE_PROMISC)) { sc->sc_flags |= LE_PROMISC; lance_init_locked(sc); @@ -516,25 +515,25 @@ lance_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) lance_init_locked(sc); } - if ((ifp->if_flags & IFF_ALLMULTI) && + if ((if_getflags(ifp) & IFF_ALLMULTI) && !(sc->sc_flags & LE_ALLMULTI)) { sc->sc_flags |= LE_ALLMULTI; lance_init_locked(sc); - } else if (!(ifp->if_flags & IFF_ALLMULTI) && + } else if (!(if_getflags(ifp) & IFF_ALLMULTI) && (sc->sc_flags & LE_ALLMULTI)) { sc->sc_flags &= ~LE_ALLMULTI; lance_init_locked(sc); } - if (!(ifp->if_flags & IFF_UP) && - ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (!(if_getflags(ifp) & IFF_UP) && + if_getdrvflags(ifp) & IFF_DRV_RUNNING) { /* * If interface is marked down and it is running, then * stop it. */ lance_stop(sc); - } else if (ifp->if_flags & IFF_UP && - !(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + } else if (if_getflags(ifp) & IFF_UP && + !(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { /* * If interface is marked up and it is stopped, then * start it. @@ -542,7 +541,7 @@ lance_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) lance_init_locked(sc); } #ifdef LEDEBUG - if (ifp->if_flags & IFF_DEBUG) + if (if_getflags(ifp) & IFF_DEBUG) sc->sc_flags |= LE_DEBUG; else sc->sc_flags &= ~LE_DEBUG; @@ -557,7 +556,7 @@ lance_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) * accordingly. */ LE_LOCK(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) lance_init_locked(sc); LE_UNLOCK(sc); break; @@ -602,7 +601,7 @@ lance_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) void lance_setladrf(struct lance_softc *sc, uint16_t *af) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct lance_hash_maddr_ctx ctx = { sc, af }; /* @@ -613,7 +612,7 @@ lance_setladrf(struct lance_softc *sc, uint16_t *af) * the word. */ - if (ifp->if_flags & IFF_PROMISC || sc->sc_flags & LE_ALLMULTI) { + if (if_getflags(ifp) & IFF_PROMISC || sc->sc_flags & LE_ALLMULTI) { af[0] = af[1] = af[2] = af[3] = 0xffff; return; } diff --git a/sys/dev/le/lancevar.h b/sys/dev/le/lancevar.h index 092f78668e0a..87b5f3c748f9 100644 --- a/sys/dev/le/lancevar.h +++ b/sys/dev/le/lancevar.h @@ -38,7 +38,7 @@ #define _DEV_LE_LANCEVAR_H_ struct lance_softc { - struct ifnet *sc_ifp; + if_t sc_ifp; struct ifmedia sc_media; struct mtx sc_mtx; struct callout sc_wdog_ch; From nobody Mon Feb 6 17:54:18 2023 X-Original-To: dev-commits-src-main@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 4P9YmV72Szz3n0dY; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmV5Gxtz4YGy; Mon, 6 Feb 2023 17:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706058; 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=13kMDkWSqLGmXRPRLfzZQDXJCzcs8VTr8F7kRNQQuo4=; b=J7JVDozjFbMzLHYA7bR5Yv6O6pCjq6HdRTJqV6OTucnx99DqH01vU/Cyw8U1Nc933ansPN bWjr93x2zC1T7w4TwUrk3Y5JjLNJXQFW3/ztLwFbDgTSi+uwodBLP9E2CaCmePsmkMhQLU I58HWR3twWodywa0JGTCZuAxn3gRga+7uflLOyMImTp+4fxcAFqdPEoDARr6f94HymZpUH cr7BnFCIOmVeaYBfWnQfJbkJEYBgV7smlbhCOiTUi9XM4lLNttWsfbvNI8k3tHUtBNyrT5 PkYi9sQltnDyIIadcU6TdjWA+1ab7P3la3IeHDro244aRYO/9M3Hn6cBI9ApPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706058; 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=13kMDkWSqLGmXRPRLfzZQDXJCzcs8VTr8F7kRNQQuo4=; b=QIzlXBVbh3281z5a0ZZOheEJlhStgYtjO+PHYpkpJduPgiRwmsyuMPidZHjNBZQabFISbA 9IUHTifqOhWSPEVYwdCL288brILeK9BoixPAzRQ/y8mAnUO0Jpv+Abm8/v/R31ug7O5ddQ CYzEJiCzbld/bC831Wt4dP37Fbufr0qK4ePMr9F378aTvm0y1/1z0veaOPz0NsFdi7eXAb QLjaepQfiTzYcMioANFYjLNcm5cOvR4uc3qyjmapbq33wXvSE4sC78NI1ix7k1BF4VUmRW YMZLb+ktsUbqwhwQN0j8hOAeSIxxzlT7N9uZhx/+LWCHCIxp8nVyTJD4WZg9Yg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706058; a=rsa-sha256; cv=none; b=JC1LjIIKxCpIMccVqUEw0Of5MgaXIditFyYpbe9RJKbzn0JlN5xEWJYnDT1uAQbSs+7+gE UuXKPzKEZtBU8a1cXJflQ7n4etUuTBe/zQamd9OlfV2PL8qM+91CTthTgzRHhvv+E7mmF4 TVAiWV96cs0LXl/+hRVN6Q77dnr3nPQhlZ+k+Y9aT3tvUkx6tNLNhT8/8nAlu2MszhH0ot 9QrDOVJlPQ+iS54x5D1RJU2HiwIsQdsfT7Wk3WLdrcQLFY6vI85qFXB7smMvB3BjUGpI+H cgtL/+2KRQ0aWkY1kAk5N1xDdjGYAkOP1t9At9AUN7almp83F3PYNUtcMN4JhA== 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 4P9YmV4KJNzk6P; Mon, 6 Feb 2023 17:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsIo0074745; Mon, 6 Feb 2023 17:54:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsIO3074744; Mon, 6 Feb 2023 17:54:18 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:18 GMT Message-Id: <202302061754.316HsIO3074744@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 0292389aca30 - main - Mechanically convert bce(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0292389aca300090c674c85616084db079d8b200 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=0292389aca300090c674c85616084db079d8b200 commit 0292389aca300090c674c85616084db079d8b200 Author: Justin Hibbits AuthorDate: 2022-08-19 19:15:44 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:11 +0000 Mechanically convert bce(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37841 --- sys/dev/bce/if_bce.c | 229 ++++++++++++++++++++++++------------------------ sys/dev/bce/if_bcereg.h | 2 +- 2 files changed, 115 insertions(+), 116 deletions(-) diff --git a/sys/dev/bce/if_bce.c b/sys/dev/bce/if_bce.c index 86b64db34410..9aad4ba54671 100644 --- a/sys/dev/bce/if_bce.c +++ b/sys/dev/bce/if_bce.c @@ -453,14 +453,14 @@ static void bce_free_pg_chain (struct bce_softc *); static struct mbuf *bce_tso_setup (struct bce_softc *, struct mbuf **, u16 *); static int bce_tx_encap (struct bce_softc *, struct mbuf **); -static void bce_start_locked (struct ifnet *); -static void bce_start (struct ifnet *); -static int bce_ioctl (struct ifnet *, u_long, caddr_t); -static uint64_t bce_get_counter (struct ifnet *, ift_counter); +static void bce_start_locked (if_t); +static void bce_start (if_t); +static int bce_ioctl (if_t, u_long, caddr_t); +static uint64_t bce_get_counter (if_t, ift_counter); static void bce_watchdog (struct bce_softc *); -static int bce_ifmedia_upd (struct ifnet *); -static int bce_ifmedia_upd_locked (struct ifnet *); -static void bce_ifmedia_sts (struct ifnet *, struct ifmediareq *); +static int bce_ifmedia_upd (if_t); +static int bce_ifmedia_upd_locked (if_t); +static void bce_ifmedia_sts (if_t, struct ifmediareq *); static void bce_ifmedia_sts_rphy (struct bce_softc *, struct ifmediareq *); static void bce_init_locked (struct bce_softc *); static void bce_init (void *); @@ -1052,7 +1052,7 @@ static int bce_attach(device_t dev) { struct bce_softc *sc; - struct ifnet *ifp; + if_t ifp; u32 val; int count, error, rc = 0, rid; @@ -1371,28 +1371,28 @@ bce_attach(device_t dev) } /* Initialize the ifnet interface. */ - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = bce_ioctl; - ifp->if_start = bce_start; - ifp->if_get_counter = bce_get_counter; - ifp->if_init = bce_init; - ifp->if_mtu = ETHERMTU; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, bce_ioctl); + if_setstartfn(ifp, bce_start); + if_setgetcounterfn(ifp, bce_get_counter); + if_setinitfn(ifp, bce_init); + if_setmtu(ifp, ETHERMTU); if (bce_tso_enable) { - ifp->if_hwassist = BCE_IF_HWASSIST | CSUM_TSO; - ifp->if_capabilities = BCE_IF_CAPABILITIES | IFCAP_TSO4 | - IFCAP_VLAN_HWTSO; + if_sethwassist(ifp, BCE_IF_HWASSIST | CSUM_TSO); + if_setcapabilities(ifp, BCE_IF_CAPABILITIES | IFCAP_TSO4 | + IFCAP_VLAN_HWTSO); } else { - ifp->if_hwassist = BCE_IF_HWASSIST; - ifp->if_capabilities = BCE_IF_CAPABILITIES; + if_sethwassist(ifp, BCE_IF_HWASSIST); + if_setcapabilities(ifp, BCE_IF_CAPABILITIES); } if ((sc->bce_phy_flags & BCE_PHY_REMOTE_CAP_FLAG) != 0) - ifp->if_capabilities |= IFCAP_LINKSTATE; + if_setcapabilitiesbit(ifp, IFCAP_LINKSTATE, 0); - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); /* * Assume standard mbuf sizes for buffer allocation. @@ -1403,14 +1403,13 @@ bce_attach(device_t dev) (ETHER_MAX_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN)); /* Recalculate our buffer allocation sizes. */ - ifp->if_snd.ifq_drv_maxlen = USABLE_TX_BD_ALLOC; - IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); - IFQ_SET_READY(&ifp->if_snd); + if_setsendqlen(ifp, USABLE_TX_BD_ALLOC); + if_setsendqready(ifp); if (sc->bce_phy_flags & BCE_PHY_2_5G_CAPABLE_FLAG) - ifp->if_baudrate = IF_Mbps(2500ULL); + if_setbaudrate(ifp, IF_Mbps(2500ULL)); else - ifp->if_baudrate = IF_Mbps(1000); + if_setbaudrate(ifp, IF_Mbps(1000)); /* Handle any special PHY initialization for SerDes PHYs. */ bce_init_media(sc); @@ -1534,7 +1533,7 @@ static int bce_detach(device_t dev) { struct bce_softc *sc = device_get_softc(dev); - struct ifnet *ifp; + if_t ifp; u32 msg; DBENTER(BCE_VERBOSE_UNLOAD | BCE_VERBOSE_RESET); @@ -4835,7 +4834,7 @@ bce_set_mac_addr(struct bce_softc *sc) static void bce_stop(struct bce_softc *sc) { - struct ifnet *ifp; + if_t ifp; DBENTER(BCE_VERBOSE_RESET); @@ -4865,7 +4864,7 @@ bce_stop(struct bce_softc *sc) sc->bce_link_up = FALSE; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); DBEXIT(BCE_VERBOSE_RESET); } @@ -6072,9 +6071,9 @@ bce_get_rphy_link(struct bce_softc *sc) /* 0 for success, positive value for failure. */ /****************************************************************************/ static int -bce_ifmedia_upd(struct ifnet *ifp) +bce_ifmedia_upd(if_t ifp) { - struct bce_softc *sc = ifp->if_softc; + struct bce_softc *sc = if_getsoftc(ifp); int error; DBENTER(BCE_VERBOSE); @@ -6094,9 +6093,9 @@ bce_ifmedia_upd(struct ifnet *ifp) /* Nothing. */ /****************************************************************************/ static int -bce_ifmedia_upd_locked(struct ifnet *ifp) +bce_ifmedia_upd_locked(if_t ifp) { - struct bce_softc *sc = ifp->if_softc; + struct bce_softc *sc = if_getsoftc(ifp); struct mii_data *mii; struct mii_softc *miisc; struct ifmedia *ifm; @@ -6212,7 +6211,7 @@ bce_ifmedia_upd_locked(struct ifnet *ifp) static void bce_ifmedia_sts_rphy(struct bce_softc *sc, struct ifmediareq *ifmr) { - struct ifnet *ifp; + if_t ifp; u32 link; ifp = sc->bce_ifp; @@ -6226,39 +6225,39 @@ bce_ifmedia_sts_rphy(struct bce_softc *sc, struct ifmediareq *ifmr) ifmr->ifm_status |= IFM_ACTIVE; else { ifmr->ifm_active |= IFM_NONE; - ifp->if_baudrate = 0; + if_setbaudrate(ifp, 0); return; } switch (link & BCE_LINK_STATUS_SPEED_MASK) { case BCE_LINK_STATUS_10HALF: ifmr->ifm_active |= IFM_10_T | IFM_HDX; - ifp->if_baudrate = IF_Mbps(10UL); + if_setbaudrate(ifp, IF_Mbps(10UL)); break; case BCE_LINK_STATUS_10FULL: ifmr->ifm_active |= IFM_10_T | IFM_FDX; - ifp->if_baudrate = IF_Mbps(10UL); + if_setbaudrate(ifp, IF_Mbps(10UL)); break; case BCE_LINK_STATUS_100HALF: ifmr->ifm_active |= IFM_100_TX | IFM_HDX; - ifp->if_baudrate = IF_Mbps(100UL); + if_setbaudrate(ifp, IF_Mbps(100UL)); break; case BCE_LINK_STATUS_100FULL: ifmr->ifm_active |= IFM_100_TX | IFM_FDX; - ifp->if_baudrate = IF_Mbps(100UL); + if_setbaudrate(ifp, IF_Mbps(100UL)); break; case BCE_LINK_STATUS_1000HALF: if ((sc->bce_phy_flags & BCE_PHY_REMOTE_PORT_FIBER_FLAG) == 0) ifmr->ifm_active |= IFM_1000_T | IFM_HDX; else ifmr->ifm_active |= IFM_1000_SX | IFM_HDX; - ifp->if_baudrate = IF_Mbps(1000UL); + if_setbaudrate(ifp, IF_Mbps(1000UL)); break; case BCE_LINK_STATUS_1000FULL: if ((sc->bce_phy_flags & BCE_PHY_REMOTE_PORT_FIBER_FLAG) == 0) ifmr->ifm_active |= IFM_1000_T | IFM_FDX; else ifmr->ifm_active |= IFM_1000_SX | IFM_FDX; - ifp->if_baudrate = IF_Mbps(1000UL); + if_setbaudrate(ifp, IF_Mbps(1000UL)); break; case BCE_LINK_STATUS_2500HALF: if ((sc->bce_phy_flags & BCE_PHY_REMOTE_PORT_FIBER_FLAG) == 0) { @@ -6266,7 +6265,7 @@ bce_ifmedia_sts_rphy(struct bce_softc *sc, struct ifmediareq *ifmr) return; } else ifmr->ifm_active |= IFM_2500_SX | IFM_HDX; - ifp->if_baudrate = IF_Mbps(2500UL); + if_setbaudrate(ifp, IF_Mbps(2500UL)); break; case BCE_LINK_STATUS_2500FULL: if ((sc->bce_phy_flags & BCE_PHY_REMOTE_PORT_FIBER_FLAG) == 0) { @@ -6274,7 +6273,7 @@ bce_ifmedia_sts_rphy(struct bce_softc *sc, struct ifmediareq *ifmr) return; } else ifmr->ifm_active |= IFM_2500_SX | IFM_FDX; - ifp->if_baudrate = IF_Mbps(2500UL); + if_setbaudrate(ifp, IF_Mbps(2500UL)); break; default: ifmr->ifm_active |= IFM_NONE; @@ -6294,16 +6293,16 @@ bce_ifmedia_sts_rphy(struct bce_softc *sc, struct ifmediareq *ifmr) /* Nothing. */ /****************************************************************************/ static void -bce_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +bce_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { - struct bce_softc *sc = ifp->if_softc; + struct bce_softc *sc = if_getsoftc(ifp); struct mii_data *mii; DBENTER(BCE_VERBOSE_PHY); BCE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) == 0) { + if ((if_getflags(ifp) & IFF_UP) == 0) { BCE_UNLOCK(sc); return; } @@ -6415,7 +6414,7 @@ bce_get_hw_rx_cons(struct bce_softc *sc) static void bce_rx_intr(struct bce_softc *sc) { - struct ifnet *ifp = sc->bce_ifp; + if_t ifp = sc->bce_ifp; struct l2_fhdr *l2fhdr; struct ether_vlan_header *vh; unsigned int pkt_len; @@ -6642,7 +6641,7 @@ bce_rx_intr(struct bce_softc *sc) m0->m_pkthdr.csum_flags = 0; /* Validate the checksum if offload enabled. */ - if (ifp->if_capenable & IFCAP_RXCSUM) { + if (if_getcapenable(ifp) & IFCAP_RXCSUM) { /* Check for an IP datagram. */ if (!(status & L2_FHDR_STATUS_SPLIT) && (status & L2_FHDR_STATUS_IP_DATAGRAM)) { @@ -6674,7 +6673,7 @@ bce_rx_intr(struct bce_softc *sc) if ((status & L2_FHDR_STATUS_L2_VLAN_TAG) && !(sc->rx_mode & BCE_EMAC_RX_MODE_KEEP_VLAN_TAG)) { DBRUN(sc->vlan_tagged_frames_rcvd++); - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) { + if (if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) { DBRUN(sc->vlan_tagged_frames_stripped++); m0->m_pkthdr.ether_vtag = l2fhdr->l2_fhdr_vlan_tag; @@ -6716,7 +6715,7 @@ bce_rx_intr_next_rx: sc->pg_cons = sw_pg_cons; BCE_UNLOCK(sc); - (*ifp->if_input)(ifp, m0); + if_input(ifp, m0); BCE_LOCK(sc); /* Recover our place. */ @@ -6785,7 +6784,7 @@ bce_get_hw_tx_cons(struct bce_softc *sc) static void bce_tx_intr(struct bce_softc *sc) { - struct ifnet *ifp = sc->bce_ifp; + if_t ifp = sc->bce_ifp; u16 hw_tx_cons, sw_tx_cons, sw_tx_chain_cons; DBENTER(BCE_VERBOSE_SEND | BCE_VERBOSE_INTR); @@ -6878,11 +6877,11 @@ bce_tx_intr(struct bce_softc *sc) /* Clear the tx hardware queue full flag. */ if (sc->used_tx_bd < sc->max_tx_bd) { - DBRUNIF((ifp->if_drv_flags & IFF_DRV_OACTIVE), + DBRUNIF((if_getdrvflags(ifp) & IFF_DRV_OACTIVE), DBPRINT(sc, BCE_INFO_SEND, "%s(): Open TX chain! %d/%d (used/total)\n", __FUNCTION__, sc->used_tx_bd, sc->max_tx_bd)); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } sc->tx_cons = sw_tx_cons; @@ -6944,7 +6943,7 @@ bce_enable_intr(struct bce_softc *sc, int coal_now) static void bce_init_locked(struct bce_softc *sc) { - struct ifnet *ifp; + if_t ifp; u32 ether_mtu = 0; DBENTER(BCE_VERBOSE_RESET); @@ -6954,7 +6953,7 @@ bce_init_locked(struct bce_softc *sc) ifp = sc->bce_ifp; /* Check if the driver is still running and bail out if it is. */ - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) goto bce_init_locked_exit; bce_stop(sc); @@ -6978,30 +6977,30 @@ bce_init_locked(struct bce_softc *sc) } /* Load our MAC address. */ - bcopy(IF_LLADDR(sc->bce_ifp), sc->eaddr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(sc->bce_ifp), sc->eaddr, ETHER_ADDR_LEN); bce_set_mac_addr(sc); if (bce_hdr_split == FALSE) - bce_get_rx_buffer_sizes(sc, ifp->if_mtu); + bce_get_rx_buffer_sizes(sc, if_getmtu(ifp)); /* * Calculate and program the hardware Ethernet MTU * size. Be generous on the receive if we have room * and allowed by the user. */ if (bce_strict_rx_mtu == TRUE) - ether_mtu = ifp->if_mtu; + ether_mtu = if_getmtu(ifp); else { if (bce_hdr_split == TRUE) { - if (ifp->if_mtu <= sc->rx_bd_mbuf_data_len + MCLBYTES) + if (if_getmtu(ifp) <= sc->rx_bd_mbuf_data_len + MCLBYTES) ether_mtu = sc->rx_bd_mbuf_data_len + MCLBYTES; else - ether_mtu = ifp->if_mtu; + ether_mtu = if_getmtu(ifp); } else { - if (ifp->if_mtu <= sc->rx_bd_mbuf_data_len) + if (if_getmtu(ifp) <= sc->rx_bd_mbuf_data_len) ether_mtu = sc->rx_bd_mbuf_data_len; else - ether_mtu = ifp->if_mtu; + ether_mtu = if_getmtu(ifp); } } @@ -7038,8 +7037,8 @@ bce_init_locked(struct bce_softc *sc) bce_ifmedia_upd_locked(ifp); /* Let the OS know the driver is up and running. */ - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); callout_reset(&sc->bce_tick_callout, hz, bce_tick, sc); @@ -7057,7 +7056,7 @@ bce_init_locked_exit: static void bce_mgmt_init_locked(struct bce_softc *sc) { - struct ifnet *ifp; + if_t ifp; DBENTER(BCE_VERBOSE_RESET); @@ -7425,9 +7424,9 @@ bce_tx_encap_exit: /* Nothing. */ /****************************************************************************/ static void -bce_start_locked(struct ifnet *ifp) +bce_start_locked(if_t ifp) { - struct bce_softc *sc = ifp->if_softc; + struct bce_softc *sc = if_getsoftc(ifp); struct mbuf *m_head = NULL; int count = 0; u16 tx_prod, tx_chain_prod __unused; @@ -7452,7 +7451,7 @@ bce_start_locked(struct ifnet *ifp) goto bce_start_locked_exit; } - if (IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { + if (if_sendq_empty(ifp)) { DBPRINT(sc, BCE_INFO_SEND, "%s(): Transmit queue empty.\n", __FUNCTION__); goto bce_start_locked_exit; @@ -7463,7 +7462,7 @@ bce_start_locked(struct ifnet *ifp) */ while (sc->used_tx_bd < sc->max_tx_bd) { /* Check for any frames to send. */ - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); /* Stop when the transmit queue is empty. */ if (m_head == NULL) @@ -7477,8 +7476,8 @@ bce_start_locked(struct ifnet *ifp) */ if (bce_tx_encap(sc, &m_head)) { if (m_head != NULL) - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); DBPRINT(sc, BCE_INFO_SEND, "TX chain is closed for business! Total " "tx_bd used = %d\n", sc->used_tx_bd); @@ -7518,9 +7517,9 @@ bce_start_locked_exit: /* Nothing. */ /****************************************************************************/ static void -bce_start(struct ifnet *ifp) +bce_start(if_t ifp) { - struct bce_softc *sc = ifp->if_softc; + struct bce_softc *sc = if_getsoftc(ifp); DBENTER(BCE_VERBOSE_SEND); @@ -7538,9 +7537,9 @@ bce_start(struct ifnet *ifp) /* 0 for success, positive value for failure. */ /****************************************************************************/ static int -bce_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +bce_ioctl(if_t ifp, u_long command, caddr_t data) { - struct bce_softc *sc = ifp->if_softc; + struct bce_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; struct mii_data *mii; int mask, error = 0; @@ -7559,12 +7558,12 @@ bce_ioctl(struct ifnet *ifp, u_long command, caddr_t data) DBPRINT(sc, BCE_INFO_MISC, "SIOCSIFMTU: Changing MTU from %d to %d\n", - (int) ifp->if_mtu, (int) ifr->ifr_mtu); + (int) if_getmtu(ifp), (int) ifr->ifr_mtu); BCE_LOCK(sc); - ifp->if_mtu = ifr->ifr_mtu; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setmtu(ifp, ifr->ifr_mtu); + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); bce_init_locked(sc); } BCE_UNLOCK(sc); @@ -7577,8 +7576,8 @@ bce_ioctl(struct ifnet *ifp, u_long command, caddr_t data) BCE_LOCK(sc); /* Check if the interface is up. */ - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { /* Change promiscuous/multicast flags as necessary. */ bce_set_rx_mode(sc); } else { @@ -7587,7 +7586,7 @@ bce_ioctl(struct ifnet *ifp, u_long command, caddr_t data) } } else { /* The interface is down, check if driver is running. */ - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { bce_stop(sc); /* If MFW is running, restart the controller a bit. */ @@ -7609,7 +7608,7 @@ bce_ioctl(struct ifnet *ifp, u_long command, caddr_t data) "Received SIOCADDMULTI/SIOCDELMULTI\n"); BCE_LOCK(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) bce_set_rx_mode(sc); BCE_UNLOCK(sc); @@ -7632,42 +7631,42 @@ bce_ioctl(struct ifnet *ifp, u_long command, caddr_t data) /* Set interface capability */ case SIOCSIFCAP: - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); DBPRINT(sc, BCE_INFO_MISC, "Received SIOCSIFCAP = 0x%08X\n", (u32) mask); /* Toggle the TX checksum capabilities enable flag. */ if (mask & IFCAP_TXCSUM && - ifp->if_capabilities & IFCAP_TXCSUM) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if (IFCAP_TXCSUM & ifp->if_capenable) - ifp->if_hwassist |= BCE_IF_HWASSIST; + if_getcapabilities(ifp) & IFCAP_TXCSUM) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if (IFCAP_TXCSUM & if_getcapenable(ifp)) + if_sethwassistbits(ifp, BCE_IF_HWASSIST, 0); else - ifp->if_hwassist &= ~BCE_IF_HWASSIST; + if_sethwassistbits(ifp, 0, BCE_IF_HWASSIST); } /* Toggle the RX checksum capabilities enable flag. */ if (mask & IFCAP_RXCSUM && - ifp->if_capabilities & IFCAP_RXCSUM) - ifp->if_capenable ^= IFCAP_RXCSUM; + if_getcapabilities(ifp) & IFCAP_RXCSUM) + if_togglecapenable(ifp, IFCAP_RXCSUM); /* Toggle the TSO capabilities enable flag. */ if (bce_tso_enable && (mask & IFCAP_TSO4) && - ifp->if_capabilities & IFCAP_TSO4) { - ifp->if_capenable ^= IFCAP_TSO4; - if (IFCAP_TSO4 & ifp->if_capenable) - ifp->if_hwassist |= CSUM_TSO; + if_getcapabilities(ifp) & IFCAP_TSO4) { + if_togglecapenable(ifp, IFCAP_TSO4); + if (IFCAP_TSO4 & if_getcapenable(ifp)) + if_sethwassistbits(ifp, CSUM_TSO, 0); else - ifp->if_hwassist &= ~CSUM_TSO; + if_sethwassistbits(ifp, 0, CSUM_TSO); } if (mask & IFCAP_VLAN_HWCSUM && - ifp->if_capabilities & IFCAP_VLAN_HWCSUM) - ifp->if_capenable ^= IFCAP_VLAN_HWCSUM; + if_getcapabilities(ifp) & IFCAP_VLAN_HWCSUM) + if_togglecapenable(ifp, IFCAP_VLAN_HWCSUM); if ((mask & IFCAP_VLAN_HWTSO) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWTSO) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWTSO; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWTSO) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWTSO); /* * Don't actually disable VLAN tag stripping as * management firmware (ASF/IPMI/UMP) requires the @@ -7676,11 +7675,11 @@ bce_ioctl(struct ifnet *ifp, u_long command, caddr_t data) * appending stripped VLAN tag. */ if ((mask & IFCAP_VLAN_HWTAGGING) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWTAGGING)) { - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) + (if_getcapabilities(ifp) & IFCAP_VLAN_HWTAGGING)) { + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) == 0) - ifp->if_capenable &= ~IFCAP_VLAN_HWTSO; + if_setcapenablebit(ifp, 0, IFCAP_VLAN_HWTSO); } VLAN_CAPABILITIES(ifp); break; @@ -7756,7 +7755,7 @@ bce_watchdog(struct bce_softc *sc) DBRUN(bce_breakpoint(sc)); - sc->bce_ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(sc->bce_ifp, 0, IFF_DRV_RUNNING); bce_init_locked(sc); sc->watchdog_timeouts++; @@ -7781,7 +7780,7 @@ static void bce_intr(void *xsc) { struct bce_softc *sc; - struct ifnet *ifp; + if_t ifp; u32 status_attn_bits; u16 hw_rx_cons, hw_tx_cons; @@ -7900,8 +7899,8 @@ bce_intr(void *xsc) bce_enable_intr(sc, 0); /* Handle any frames that arrived while handling the interrupt. */ - if (ifp->if_drv_flags & IFF_DRV_RUNNING && - !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING && + !if_sendq_empty(ifp)) bce_start_locked(ifp); bce_intr_exit: @@ -7931,7 +7930,7 @@ bce_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void bce_set_rx_mode(struct bce_softc *sc) { - struct ifnet *ifp; + if_t ifp; u32 hashes[NUM_MC_HASH_REGISTERS] = { 0, 0, 0, 0, 0, 0, 0, 0 }; u32 rx_mode, sort_mode; int i; @@ -7959,13 +7958,13 @@ bce_set_rx_mode(struct bce_softc *sc) * Check for promiscuous, all multicast, or selected * multicast address filtering. */ - if (ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_PROMISC) { DBPRINT(sc, BCE_INFO_MISC, "Enabling promiscuous mode.\n"); /* Enable promiscuous mode. */ rx_mode |= BCE_EMAC_RX_MODE_PROMISCUOUS; sort_mode |= BCE_RPM_SORT_USER0_PROM_EN; - } else if (ifp->if_flags & IFF_ALLMULTI) { + } else if (if_getflags(ifp) & IFF_ALLMULTI) { DBPRINT(sc, BCE_INFO_MISC, "Enabling all multicast mode.\n"); /* Enable all multicast addresses. */ @@ -8207,7 +8206,7 @@ bce_stats_update(struct bce_softc *sc) } static uint64_t -bce_get_counter(struct ifnet *ifp, ift_counter cnt) +bce_get_counter(if_t ifp, ift_counter cnt) { struct bce_softc *sc; uint64_t rv; @@ -8313,7 +8312,7 @@ bce_tick(void *xsc) { struct bce_softc *sc = xsc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; struct ifmediareq ifmr; ifp = sc->bce_ifp; @@ -8367,7 +8366,7 @@ bce_tick(void *xsc) } if (sc->bce_link_up == TRUE) { /* Now that link is up, handle any outstanding TX traffic. */ - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { + if (!if_sendq_empty(ifp)) { DBPRINT(sc, BCE_VERBOSE_MISC, "%s(): Found " "pending TX traffic.\n", __FUNCTION__); bce_start_locked(ifp); diff --git a/sys/dev/bce/if_bcereg.h b/sys/dev/bce/if_bcereg.h index 0aa3eda3a97d..2adedc254578 100644 --- a/sys/dev/bce/if_bcereg.h +++ b/sys/dev/bce/if_bcereg.h @@ -6298,7 +6298,7 @@ struct bce_softc struct mtx bce_mtx; /* Interface info */ - struct ifnet *bce_ifp; + if_t bce_ifp; /* Parent device handle */ device_t bce_dev; From nobody Mon Feb 6 17:54:19 2023 X-Original-To: dev-commits-src-main@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 4P9YmW6z3Tz3n0W3; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmW607Mz4YDS; Mon, 6 Feb 2023 17:54:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706059; 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=+pCe8ZuH8Tc8c6ojeK+nlrvgkijQ97CWGbGr6hFfg6Y=; b=VYe9PpFux40qnyOI1C2IFBQ81ueLbMsM69nw8X+hzGyOt0UQ/OEtme8W6LTgHYcMgpP3+l HCoQ6Ybn189cIeD+UDkeb27glppgPSeaDZ2nfn+p4oorg8UZuuX5E3M8fuRyN2FvGv8oFI S1d8wWOEAXQdC0R+iVr6x8IxrPzxiqFdz7JXXYsdKJ4e9CfIG72ROERfROKnPFsVEz++x0 6Jr/FI+Y3LJGEkVOfTmUQEyz4PGbUMvau3vxhwO3EAArDawGsxsPVNtc4N26GqHw/7H1YI pMCEJGBpCwj1/eoPpqLA8yIFt0OS/itPpXaqxmG9s1Isk9/g3/AgUx5yVLsQNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706059; 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=+pCe8ZuH8Tc8c6ojeK+nlrvgkijQ97CWGbGr6hFfg6Y=; b=KDI3ESAuIjxKDeSkoqraXk70rQLHeZxt/NGj3rZfeN6Fwr6ydoCUl2OGM2VXfFxftht/HL cDXt1KaPuQP7VTeo+a1Fuwudy75uiy7/d3UTuPos51H3wt+L2EgOolTFsQ+NEJazrbJjwM wBrOA52gie15i/oECdPDFwhbc/tjQHNwREUqlyQ5W7+klYqP3ohtTpUwV75WruqmzFWnsV 2Wze+9BGo6VGafVI/fUcszjuJJ6HuKrKtoJVzGKG/PpQL/fmMkYDcPu/RYY2CF8vA1Ib16 sw7tZdo6c8S5yf1g716cX4hoso+BFVLrtjH8FyVoXKmm973HAmN6T5Ud32B0dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706059; a=rsa-sha256; cv=none; b=I+uzqtS5a5CbvvkkD4pV4a2eLrRPNymxQ1ZjGROmyyBZ9fMvDizbDP14rDbdpx2XLVxRlZ vR8r5Oinl55JmznP01TlrMtgCMUiFr7ZthbnSGC3M8XKjNUQTzhpzJBkFGnkLqqilAzQUK cnLjGPmjCnnsjU5OkN1L9we8tJNL9JcAhLnjZb2lKFrCbwGoVAb/YYWJ/Y0UlnRDORl/07 ZHZgCtBdaNFMFJB5Q/Ccj/26tGb4GhsXb1KhechB2WCcwL/vRe4444/yd01hlFbA85Pi1w UfQ1saOcb3V3axY0/UWfJomsYf5BTRyWmOqt22bykI9dK3WjFRIH+kzJrkISDQ== 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 4P9YmW54DgzkjT; Mon, 6 Feb 2023 17:54:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsJRt074769; Mon, 6 Feb 2023 17:54:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsJaA074768; Mon, 6 Feb 2023 17:54:19 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:19 GMT Message-Id: <202302061754.316HsJaA074768@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: da247e0dac2f - main - Mechanically convert ic(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: da247e0dac2f845d32560a5f60f09eb521a9c0b3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=da247e0dac2f845d32560a5f60f09eb521a9c0b3 commit da247e0dac2f845d32560a5f60f09eb521a9c0b3 Author: Justin Hibbits AuthorDate: 2022-09-19 20:53:12 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:12 +0000 Mechanically convert ic(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37851 --- sys/dev/iicbus/if_ic.c | 55 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/sys/dev/iicbus/if_ic.c b/sys/dev/iicbus/if_ic.c index 623ee178e4e8..6f7c0706e079 100644 --- a/sys/dev/iicbus/if_ic.c +++ b/sys/dev/iicbus/if_ic.c @@ -72,7 +72,7 @@ __FBSDID("$FreeBSD$"); #define ICMTU 1500 /* default mtu */ struct ic_softc { - struct ifnet *ic_ifp; + if_t ic_ifp; device_t ic_dev; u_char ic_addr; /* peer I2C address */ @@ -99,8 +99,8 @@ struct ic_softc { static int icprobe(device_t); static int icattach(device_t); -static int icioctl(struct ifnet *, u_long, caddr_t); -static int icoutput(struct ifnet *, struct mbuf *, const struct sockaddr *, +static int icioctl(if_t, u_long, caddr_t); +static int icoutput(if_t, struct mbuf *, const struct sockaddr *, struct route *); static int icintr(device_t, int, char *); @@ -141,7 +141,7 @@ ic_alloc_buffers(struct ic_softc *sc, int mtu) free(sc->ic_ifbuf, M_DEVBUF); sc->ic_obuf = obuf; sc->ic_ifbuf = ifbuf; - sc->ic_ifp->if_mtu = mtu; + if_setmtu(sc->ic_ifp, mtu); mtx_unlock(&sc->ic_lock); } @@ -161,7 +161,7 @@ static int icattach(device_t dev) { struct ic_softc *sc = (struct ic_softc *)device_get_softc(dev); - struct ifnet *ifp; + if_t ifp; ifp = sc->ic_ifp = if_alloc(IFT_PARA); if (ifp == NULL) @@ -172,14 +172,13 @@ icattach(device_t dev) sc->ic_addr = PCF_MASTER_ADDRESS; /* XXX only PCF masters */ sc->ic_dev = dev; - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_SIMPLEX | IFF_POINTOPOINT | IFF_MULTICAST; - ifp->if_ioctl = icioctl; - ifp->if_output = icoutput; - ifp->if_hdrlen = 0; - ifp->if_addrlen = 0; - ifp->if_snd.ifq_maxlen = ifqmaxlen; + if_setflags(ifp, IFF_SIMPLEX | IFF_POINTOPOINT | IFF_MULTICAST); + if_setioctlfn(ifp, icioctl); + if_setoutputfn(ifp, icoutput); + if_setifheaderlen(ifp, 0); + if_setsendqlen(ifp, ifqmaxlen); ic_alloc_buffers(sc, ICMTU); @@ -194,9 +193,9 @@ icattach(device_t dev) * iciotcl() */ static int -icioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +icioctl(if_t ifp, u_long cmd, caddr_t data) { - struct ic_softc *sc = ifp->if_softc; + struct ic_softc *sc = if_getsoftc(ifp); device_t icdev = sc->ic_dev; device_t parent = device_get_parent(icdev); struct ifaddr *ifa = (struct ifaddr *)data; @@ -210,31 +209,31 @@ icioctl(struct ifnet *ifp, u_long cmd, caddr_t data) if (ifa->ifa_addr->sa_family != AF_INET) return (EAFNOSUPPORT); mtx_lock(&sc->ic_lock); - ifp->if_flags |= IFF_UP; + if_setflagbits(ifp, IFF_UP, 0); goto locked; case SIOCSIFFLAGS: mtx_lock(&sc->ic_lock); locked: - if ((!(ifp->if_flags & IFF_UP)) && - (ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if ((!(if_getflags(ifp) & IFF_UP)) && + (if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { /* XXX disable PCF */ - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); mtx_unlock(&sc->ic_lock); /* IFF_UP is not set, try to release the bus anyway */ iicbus_release_bus(parent, icdev); break; } - if (((ifp->if_flags & IFF_UP)) && - (!(ifp->if_drv_flags & IFF_DRV_RUNNING))) { + if (((if_getflags(ifp) & IFF_UP)) && + (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING))) { mtx_unlock(&sc->ic_lock); if ((error = iicbus_request_bus(parent, icdev, IIC_WAIT | IIC_INTR))) return (error); mtx_lock(&sc->ic_lock); iicbus_reset(parent, IIC_FASTEST, 0, NULL); - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); } mtx_unlock(&sc->ic_lock); break; @@ -245,7 +244,7 @@ icioctl(struct ifnet *ifp, u_long cmd, caddr_t data) case SIOCGIFMTU: mtx_lock(&sc->ic_lock); - ifr->ifr_mtu = sc->ic_ifp->if_mtu; + ifr->ifr_mtu = if_getmtu(sc->ic_ifp); mtx_unlock(&sc->ic_lock); break; @@ -310,7 +309,7 @@ icintr(device_t dev, int event, char *ptr) struct epoch_tracker et; mtx_unlock(&sc->ic_lock); - M_SETFIB(top, sc->ic_ifp->if_fib); + M_SETFIB(top, if_getfib(sc->ic_ifp)); NET_EPOCH_ENTER(et); netisr_dispatch(NETISR_IP, top); NET_EPOCH_EXIT(et); @@ -324,7 +323,7 @@ icintr(device_t dev, int event, char *ptr) break; case INTR_RECEIVE: - if (sc->ic_xfercnt >= sc->ic_ifp->if_mtu + ICHDRLEN) { + if (sc->ic_xfercnt >= if_getmtu(sc->ic_ifp) + ICHDRLEN) { sc->ic_iferrs++; } else { *sc->ic_cp++ = *ptr; @@ -355,10 +354,10 @@ icintr(device_t dev, int event, char *ptr) * icoutput() */ static int -icoutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, +icoutput(if_t ifp, struct mbuf *m, const struct sockaddr *dst, struct route *ro) { - struct ic_softc *sc = ifp->if_softc; + struct ic_softc *sc = if_getsoftc(ifp); device_t icdev = sc->ic_dev; device_t parent = device_get_parent(icdev); int len, sent; @@ -373,7 +372,7 @@ icoutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, hdr = RO_GET_FAMILY(ro, dst); mtx_lock(&sc->ic_lock); - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); /* already sending? */ if (sc->ic_flags & IC_SENDING) { @@ -388,7 +387,7 @@ icoutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, len = 0; mm = m; do { - if (len + mm->m_len > sc->ic_ifp->if_mtu) { + if (len + mm->m_len > if_getmtu(sc->ic_ifp)) { /* packet too large */ if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); goto error; From nobody Mon Feb 6 17:54:20 2023 X-Original-To: dev-commits-src-main@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 4P9YmY0kbYz3n0mQ; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmX72dXz4YMy; Mon, 6 Feb 2023 17:54:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706061; 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=7S+rXsRZS1qwR8BxBSJDr1Qcm/0jIubOJSmdQgAApcs=; b=h5KPz2OJeQ7EMxIR0TKJ9CII7fdPgC0792qehdt1YY5CEYWr14KVVGAP5BzI2icR9L2lRy dtoBmJn2vXlaQyy6za9giIm0NKvpDAM8WNk6FCGsfDfQLaF+pVVDXWge7K1XFQ5bEDMvdt BlrFsJxufqwfxPTtUWz4b97zwif/4/R7b0W6Le1Cm70XkT0YrFXetrbXbU9302uodfaCFq v8xkbI8M+l6wKOW9BcX0BzNhuljhRKLXAWaDFn1f525OMwWe8YZ0MiyW3r4+njz5ElpzcH kMV1QUOf071/NLrA1crxBjOOwRbTWTTNWHNztaAfjf/27G48YHWEn9UjZCA6EQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706061; 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=7S+rXsRZS1qwR8BxBSJDr1Qcm/0jIubOJSmdQgAApcs=; b=m124faaiVlH7aWuY2UDYQMCzjsLCaxmhAy/y3NsnC5IAJvLuADjO3F+aDALA8JvQYyLPmU 3sMZ0chMrltBQLDbTLxqYaGefzuqodXMlN8F7ILF3oNTQPKCJub9uCbKkSzIGbT7V1iQFd c/4V1+XxDiT2a6i37v5tdNP7YKTfRbjQgFgcta9yTcEHDzYxlFResH3MUJDPRYex+9HcUq fasSWQg/lLBMt3fR3MHrV8R7yqbc6yFsNVTtQKZNVb93EdJiz9jkDI3Xb8uiezoibRzNLB o64ozseAjSfsSqObIwDieAih4/Hj1AqS2WPbvl+IJ6UF0uunKWv9j3TSVKMRoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706061; a=rsa-sha256; cv=none; b=xh6gmcj6pEX/wCyCBfam4fmIL3ldFmRUqwJElBjXDoWHgRB6WypifTe2TKQ5OZbP1afcB3 ew1lsGWxnjZtwFRzUS2ciuOHvpp9FY0oeWomtc3ilMjteOpJqOUGmn85BxoV2iBhSGWs4A TmZ7fHNQRzzpdxzwkxSWdfv8fSK1e+Oig5yT20QbQ74VyjcmKSv0OxV1X9Oczch0c8/XpG 6Cq/O0wV/vaynyAoXGLF+ffb4+oQukjnk5ZxOmWDz+F/UGKul1nPkY6Cr8fWXc4a1B9MK4 V/hQFrx6vpTYZJWILWPUC3/1iH63ueAkz3s/vEr/4qKb4R484ngeETYfeTP18A== 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 4P9YmX5bMLzkTQ; Mon, 6 Feb 2023 17:54:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsKAK074793; Mon, 6 Feb 2023 17:54:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsKLD074792; Mon, 6 Feb 2023 17:54:20 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:20 GMT Message-Id: <202302061754.316HsKLD074792@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 5ab8c4b836c2 - main - Mechanically convert msk(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5ab8c4b836c27f05e7ecd6c67c693c892a6275a0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=5ab8c4b836c27f05e7ecd6c67c693c892a6275a0 commit 5ab8c4b836c27f05e7ecd6c67c693c892a6275a0 Author: Justin Hibbits AuthorDate: 2022-08-19 15:53:14 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:12 +0000 Mechanically convert msk(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37830 --- sys/dev/msk/if_msk.c | 277 ++++++++++++++++++++++++------------------------ sys/dev/msk/if_mskreg.h | 2 +- 2 files changed, 139 insertions(+), 140 deletions(-) diff --git a/sys/dev/msk/if_msk.c b/sys/dev/msk/if_msk.c index 7277a8407fcc..e2343ada20d8 100644 --- a/sys/dev/msk/if_msk.c +++ b/sys/dev/msk/if_msk.c @@ -283,9 +283,9 @@ static void msk_rxeof(struct msk_if_softc *, uint32_t, uint32_t, int); static void msk_jumbo_rxeof(struct msk_if_softc *, uint32_t, uint32_t, int); static void msk_txeof(struct msk_if_softc *, int); static int msk_encap(struct msk_if_softc *, struct mbuf **); -static void msk_start(struct ifnet *); -static void msk_start_locked(struct ifnet *); -static int msk_ioctl(struct ifnet *, u_long, caddr_t); +static void msk_start(if_t); +static void msk_start_locked(if_t); +static int msk_ioctl(if_t, u_long, caddr_t); static void msk_set_prefetch(struct msk_softc *, int, bus_addr_t, uint32_t); static void msk_set_rambuffer(struct msk_if_softc *); static void msk_set_tx_stfwd(struct msk_if_softc *); @@ -293,8 +293,8 @@ static void msk_init(void *); static void msk_init_locked(struct msk_if_softc *); static void msk_stop(struct msk_if_softc *); static void msk_watchdog(struct msk_if_softc *); -static int msk_mediachange(struct ifnet *); -static void msk_mediastatus(struct ifnet *, struct ifmediareq *); +static int msk_mediachange(if_t); +static void msk_mediastatus(if_t, struct ifmediareq *); static void msk_phy_power(struct msk_softc *, int); static void msk_dmamap_cb(void *, bus_dma_segment_t *, int, int); static int msk_status_dma_alloc(struct msk_softc *); @@ -319,7 +319,7 @@ static int msk_miibus_writereg(device_t, int, int, int); static void msk_miibus_statchg(device_t); static void msk_rxfilter(struct msk_if_softc *); -static void msk_setvlan(struct msk_if_softc *, struct ifnet *); +static void msk_setvlan(struct msk_if_softc *, if_t); static void msk_stats_clear(struct msk_if_softc *); static void msk_stats_update(struct msk_if_softc *); @@ -471,7 +471,7 @@ msk_miibus_statchg(device_t dev) struct msk_softc *sc; struct msk_if_softc *sc_if; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint32_t gmac; sc_if = device_get_softc(dev); @@ -482,7 +482,7 @@ msk_miibus_statchg(device_t dev) mii = device_get_softc(sc_if->msk_miibus); ifp = sc_if->msk_ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; sc_if->msk_flags &= ~MSK_FLAG_LINK; @@ -588,7 +588,7 @@ static void msk_rxfilter(struct msk_if_softc *sc_if) { struct msk_softc *sc; - struct ifnet *ifp; + if_t ifp; uint32_t mchash[2]; uint16_t mode; @@ -600,9 +600,9 @@ msk_rxfilter(struct msk_if_softc *sc_if) bzero(mchash, sizeof(mchash)); mode = GMAC_READ_2(sc, sc_if->msk_port, GM_RX_CTRL); - if ((ifp->if_flags & IFF_PROMISC) != 0) + if ((if_getflags(ifp) & IFF_PROMISC) != 0) mode &= ~(GM_RXCR_UCF_ENA | GM_RXCR_MCF_ENA); - else if ((ifp->if_flags & IFF_ALLMULTI) != 0) { + else if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) { mode |= GM_RXCR_UCF_ENA | GM_RXCR_MCF_ENA; mchash[0] = 0xffff; mchash[1] = 0xffff; @@ -625,12 +625,12 @@ msk_rxfilter(struct msk_if_softc *sc_if) } static void -msk_setvlan(struct msk_if_softc *sc_if, struct ifnet *ifp) +msk_setvlan(struct msk_if_softc *sc_if, if_t ifp) { struct msk_softc *sc; sc = sc_if->msk_softc; - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) { + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) { CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, RX_GMF_CTRL_T), RX_VLAN_STRIP_ON); CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, TX_GMF_CTRL_T), @@ -650,7 +650,7 @@ msk_rx_fill(struct msk_if_softc *sc_if, int jumbo) int i; if ((sc_if->msk_flags & MSK_FLAG_DESCV2) == 0 && - (sc_if->msk_ifp->if_capenable & IFCAP_RXCSUM) != 0) { + (if_getcapenable(sc_if->msk_ifp) & IFCAP_RXCSUM) != 0) { /* Wait until controller executes OP_TCPSTART command. */ for (i = 100; i > 0; i--) { DELAY(100); @@ -716,7 +716,7 @@ msk_init_rx_ring(struct msk_if_softc *sc_if) prod = 0; /* Have controller know how to compute Rx checksum. */ if ((sc_if->msk_flags & MSK_FLAG_DESCV2) == 0 && - (sc_if->msk_ifp->if_capenable & IFCAP_RXCSUM) != 0) { + (if_getcapenable(sc_if->msk_ifp) & IFCAP_RXCSUM) != 0) { #ifdef MSK_64BIT_DMA rxd = &sc_if->msk_cdata.msk_rxdesc[prod]; rxd->rx_m = NULL; @@ -784,7 +784,7 @@ msk_init_jumbo_rx_ring(struct msk_if_softc *sc_if) prod = 0; /* Have controller know how to compute Rx checksum. */ if ((sc_if->msk_flags & MSK_FLAG_DESCV2) == 0 && - (sc_if->msk_ifp->if_capenable & IFCAP_RXCSUM) != 0) { + (if_getcapenable(sc_if->msk_ifp) & IFCAP_RXCSUM) != 0) { #ifdef MSK_64BIT_DMA rxd = &sc_if->msk_cdata.msk_jumbo_rxdesc[prod]; rxd->rx_m = NULL; @@ -1011,13 +1011,13 @@ msk_jumbo_newbuf(struct msk_if_softc *sc_if, int idx) * Set media options. */ static int -msk_mediachange(struct ifnet *ifp) +msk_mediachange(if_t ifp) { struct msk_if_softc *sc_if; struct mii_data *mii; int error; - sc_if = ifp->if_softc; + sc_if = if_getsoftc(ifp); MSK_IF_LOCK(sc_if); mii = device_get_softc(sc_if->msk_miibus); @@ -1031,14 +1031,14 @@ msk_mediachange(struct ifnet *ifp) * Report current media status. */ static void -msk_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) +msk_mediastatus(if_t ifp, struct ifmediareq *ifmr) { struct msk_if_softc *sc_if; struct mii_data *mii; - sc_if = ifp->if_softc; + sc_if = if_getsoftc(ifp); MSK_IF_LOCK(sc_if); - if ((ifp->if_flags & IFF_UP) == 0) { + if ((if_getflags(ifp) & IFF_UP) == 0) { MSK_IF_UNLOCK(sc_if); return; } @@ -1051,14 +1051,14 @@ msk_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -msk_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +msk_ioctl(if_t ifp, u_long command, caddr_t data) { struct msk_if_softc *sc_if; struct ifreq *ifr; struct mii_data *mii; int error, mask, reinit; - sc_if = ifp->if_softc; + sc_if = if_getsoftc(ifp); ifr = (struct ifreq *)data; error = 0; @@ -1067,7 +1067,7 @@ msk_ioctl(struct ifnet *ifp, u_long command, caddr_t data) MSK_IF_LOCK(sc_if); if (ifr->ifr_mtu > MSK_JUMBO_MTU || ifr->ifr_mtu < ETHERMIN) error = EINVAL; - else if (ifp->if_mtu != ifr->ifr_mtu) { + else if (if_getmtu(ifp) != ifr->ifr_mtu) { if (ifr->ifr_mtu > ETHERMTU) { if ((sc_if->msk_flags & MSK_FLAG_JUMBO) == 0) { error = EINVAL; @@ -1076,16 +1076,16 @@ msk_ioctl(struct ifnet *ifp, u_long command, caddr_t data) } if ((sc_if->msk_flags & MSK_FLAG_JUMBO_NOCSUM) != 0) { - ifp->if_hwassist &= - ~(MSK_CSUM_FEATURES | CSUM_TSO); - ifp->if_capenable &= - ~(IFCAP_TSO4 | IFCAP_TXCSUM); + if_sethwassistbits(ifp, 0, + MSK_CSUM_FEATURES | CSUM_TSO); + if_setcapenablebit(ifp, 0, + IFCAP_TSO4 | IFCAP_TXCSUM); VLAN_CAPABILITIES(ifp); } } - ifp->if_mtu = ifr->ifr_mtu; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setmtu(ifp, ifr->ifr_mtu); + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); msk_init_locked(sc_if); } } @@ -1093,22 +1093,22 @@ msk_ioctl(struct ifnet *ifp, u_long command, caddr_t data) break; case SIOCSIFFLAGS: MSK_IF_LOCK(sc_if); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && - ((ifp->if_flags ^ sc_if->msk_if_flags) & + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && + ((if_getflags(ifp) ^ sc_if->msk_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) msk_rxfilter(sc_if); else if ((sc_if->msk_flags & MSK_FLAG_DETACH) == 0) msk_init_locked(sc_if); - } else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) msk_stop(sc_if); - sc_if->msk_if_flags = ifp->if_flags; + sc_if->msk_if_flags = if_getflags(ifp); MSK_IF_UNLOCK(sc_if); break; case SIOCADDMULTI: case SIOCDELMULTI: MSK_IF_LOCK(sc_if); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) msk_rxfilter(sc_if); MSK_IF_UNLOCK(sc_if); break; @@ -1120,51 +1120,51 @@ msk_ioctl(struct ifnet *ifp, u_long command, caddr_t data) case SIOCSIFCAP: reinit = 0; MSK_IF_LOCK(sc_if); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if ((mask & IFCAP_TXCSUM) != 0 && - (IFCAP_TXCSUM & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((IFCAP_TXCSUM & ifp->if_capenable) != 0) - ifp->if_hwassist |= MSK_CSUM_FEATURES; + (IFCAP_TXCSUM & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((IFCAP_TXCSUM & if_getcapenable(ifp)) != 0) + if_sethwassistbits(ifp, MSK_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~MSK_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, MSK_CSUM_FEATURES); } if ((mask & IFCAP_RXCSUM) != 0 && - (IFCAP_RXCSUM & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_RXCSUM; + (IFCAP_RXCSUM & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_RXCSUM); if ((sc_if->msk_flags & MSK_FLAG_DESCV2) == 0) reinit = 1; } if ((mask & IFCAP_VLAN_HWCSUM) != 0 && - (IFCAP_VLAN_HWCSUM & ifp->if_capabilities) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWCSUM; + (IFCAP_VLAN_HWCSUM & if_getcapabilities(ifp)) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWCSUM); if ((mask & IFCAP_TSO4) != 0 && - (IFCAP_TSO4 & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_TSO4; - if ((IFCAP_TSO4 & ifp->if_capenable) != 0) - ifp->if_hwassist |= CSUM_TSO; + (IFCAP_TSO4 & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_TSO4); + if ((IFCAP_TSO4 & if_getcapenable(ifp)) != 0) + if_sethwassistbits(ifp, CSUM_TSO, 0); else - ifp->if_hwassist &= ~CSUM_TSO; + if_sethwassistbits(ifp, 0, CSUM_TSO); } if ((mask & IFCAP_VLAN_HWTSO) != 0 && - (IFCAP_VLAN_HWTSO & ifp->if_capabilities) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWTSO; + (IFCAP_VLAN_HWTSO & if_getcapabilities(ifp)) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWTSO); if ((mask & IFCAP_VLAN_HWTAGGING) != 0 && - (IFCAP_VLAN_HWTAGGING & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; - if ((IFCAP_VLAN_HWTAGGING & ifp->if_capenable) == 0) - ifp->if_capenable &= - ~(IFCAP_VLAN_HWTSO | IFCAP_VLAN_HWCSUM); + (IFCAP_VLAN_HWTAGGING & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); + if ((IFCAP_VLAN_HWTAGGING & if_getcapenable(ifp)) == 0) + if_setcapenablebit(ifp, 0, + IFCAP_VLAN_HWTSO | IFCAP_VLAN_HWCSUM); msk_setvlan(sc_if, ifp); } - if (ifp->if_mtu > ETHERMTU && + if (if_getmtu(ifp) > ETHERMTU && (sc_if->msk_flags & MSK_FLAG_JUMBO_NOCSUM) != 0) { - ifp->if_hwassist &= ~(MSK_CSUM_FEATURES | CSUM_TSO); - ifp->if_capenable &= ~(IFCAP_TSO4 | IFCAP_TXCSUM); + if_sethwassistbits(ifp, 0, (MSK_CSUM_FEATURES | CSUM_TSO)); + if_setcapenablebit(ifp, 0, (IFCAP_TSO4 | IFCAP_TXCSUM)); } VLAN_CAPABILITIES(ifp); - if (reinit > 0 && (ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if (reinit > 0 && (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); msk_init_locked(sc_if); } MSK_IF_UNLOCK(sc_if); @@ -1590,7 +1590,7 @@ msk_attach(device_t dev) { struct msk_softc *sc; struct msk_if_softc *sc_if; - struct ifnet *ifp; + if_t ifp; struct msk_mii_data *mmd; int i, port, error; uint8_t eaddr[6]; @@ -1633,28 +1633,27 @@ msk_attach(device_t dev) error = ENOSPC; goto fail; } - ifp->if_softc = sc_if; + if_setsoftc(ifp, sc_if); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_capabilities = IFCAP_TXCSUM | IFCAP_TSO4; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setcapabilities(ifp, IFCAP_TXCSUM | IFCAP_TSO4); /* * Enable Rx checksum offloading if controller supports * new descriptor formant and controller is not Yukon XL. */ if ((sc_if->msk_flags & MSK_FLAG_DESCV2) == 0 && sc->msk_hw_id != CHIP_ID_YUKON_XL) - ifp->if_capabilities |= IFCAP_RXCSUM; + if_setcapabilitiesbit(ifp, IFCAP_RXCSUM, 0); if ((sc_if->msk_flags & MSK_FLAG_DESCV2) != 0 && (sc_if->msk_flags & MSK_FLAG_NORX_CSUM) == 0) - ifp->if_capabilities |= IFCAP_RXCSUM; - ifp->if_hwassist = MSK_CSUM_FEATURES | CSUM_TSO; - ifp->if_capenable = ifp->if_capabilities; - ifp->if_ioctl = msk_ioctl; - ifp->if_start = msk_start; - ifp->if_init = msk_init; - IFQ_SET_MAXLEN(&ifp->if_snd, MSK_TX_RING_CNT - 1); - ifp->if_snd.ifq_drv_maxlen = MSK_TX_RING_CNT - 1; - IFQ_SET_READY(&ifp->if_snd); + if_setcapabilitiesbit(ifp, IFCAP_RXCSUM, 0); + if_sethwassist(ifp, MSK_CSUM_FEATURES | CSUM_TSO); + if_setcapenable(ifp, if_getcapabilities(ifp)); + if_setioctlfn(ifp, msk_ioctl); + if_setstartfn(ifp, msk_start); + if_setinitfn(ifp, msk_init); + if_setsendqlen(ifp, MSK_TX_RING_CNT - 1); + if_setsendqready(ifp); /* * Get station address for this interface. Note that * dual port cards actually come with three station @@ -1676,7 +1675,7 @@ msk_attach(device_t dev) MSK_IF_LOCK(sc_if); /* VLAN capability setup */ - ifp->if_capabilities |= IFCAP_VLAN_MTU; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); if ((sc_if->msk_flags & MSK_FLAG_NOHWVLAN) == 0) { /* * Due to Tx checksum offload hardware bugs, msk(4) manually @@ -1684,29 +1683,29 @@ msk_attach(device_t dev) * this workaround does not work so disable checksum offload * for VLAN interface. */ - ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWTSO; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWTSO, 0); /* * Enable Rx checksum offloading for VLAN tagged frames * if controller support new descriptor format. */ if ((sc_if->msk_flags & MSK_FLAG_DESCV2) != 0 && (sc_if->msk_flags & MSK_FLAG_NORX_CSUM) == 0) - ifp->if_capabilities |= IFCAP_VLAN_HWCSUM; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWCSUM, 0); } - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); /* * Disable RX checksum offloading on controllers that don't use * new descriptor format but give chance to enable it. */ if ((sc_if->msk_flags & MSK_FLAG_DESCV2) == 0) - ifp->if_capenable &= ~IFCAP_RXCSUM; + if_setcapenablebit(ifp, 0, IFCAP_RXCSUM); /* * Tell the upper layer(s) we support long frames. * Must appear after the call to ether_ifattach() because * ether_ifattach() sets ifi_hdrlen to the default value. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); /* * Do miibus setup. @@ -2013,7 +2012,7 @@ msk_detach(device_t dev) { struct msk_softc *sc; struct msk_if_softc *sc_if; - struct ifnet *ifp; + if_t ifp; sc_if = device_get_softc(dev); KASSERT(mtx_initialized(&sc_if->msk_softc->msk_mtx), @@ -2896,34 +2895,34 @@ msk_encap(struct msk_if_softc *sc_if, struct mbuf **m_head) } static void -msk_start(struct ifnet *ifp) +msk_start(if_t ifp) { struct msk_if_softc *sc_if; - sc_if = ifp->if_softc; + sc_if = if_getsoftc(ifp); MSK_IF_LOCK(sc_if); msk_start_locked(ifp); MSK_IF_UNLOCK(sc_if); } static void -msk_start_locked(struct ifnet *ifp) +msk_start_locked(if_t ifp) { struct msk_if_softc *sc_if; struct mbuf *m_head; int enq; - sc_if = ifp->if_softc; + sc_if = if_getsoftc(ifp); MSK_IF_LOCK_ASSERT(sc_if); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc_if->msk_flags & MSK_FLAG_LINK) == 0) return; - for (enq = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd) && + for (enq = 0; !if_sendq_empty(ifp) && sc_if->msk_cdata.msk_tx_cnt < (MSK_TX_RING_CNT - MSK_RESERVED_TX_DESC_CNT); ) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; /* @@ -2934,8 +2933,8 @@ msk_start_locked(struct ifnet *ifp) if (msk_encap(sc_if, &m_head) != 0) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -2961,7 +2960,7 @@ msk_start_locked(struct ifnet *ifp) static void msk_watchdog(struct msk_if_softc *sc_if) { - struct ifnet *ifp; + if_t ifp; MSK_IF_LOCK_ASSERT(sc_if); @@ -2973,16 +2972,16 @@ msk_watchdog(struct msk_if_softc *sc_if) if_printf(sc_if->msk_ifp, "watchdog timeout " "(missed link)\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); msk_init_locked(sc_if); return; } if_printf(ifp, "watchdog timeout\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); msk_init_locked(sc_if); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) msk_start_locked(ifp); } @@ -2996,7 +2995,7 @@ mskc_shutdown(device_t dev) MSK_LOCK(sc); for (i = 0; i < sc->msk_num_port; i++) { if (sc->msk_if[i] != NULL && sc->msk_if[i]->msk_ifp != NULL && - ((sc->msk_if[i]->msk_ifp->if_drv_flags & + ((if_getdrvflags(sc->msk_if[i]->msk_ifp) & IFF_DRV_RUNNING) != 0)) msk_stop(sc->msk_if[i]); } @@ -3019,7 +3018,7 @@ mskc_suspend(device_t dev) for (i = 0; i < sc->msk_num_port; i++) { if (sc->msk_if[i] != NULL && sc->msk_if[i]->msk_ifp != NULL && - ((sc->msk_if[i]->msk_ifp->if_drv_flags & + ((if_getdrvflags(sc->msk_if[i]->msk_ifp) & IFF_DRV_RUNNING) != 0)) msk_stop(sc->msk_if[i]); } @@ -3055,9 +3054,9 @@ mskc_resume(device_t dev) mskc_reset(sc); for (i = 0; i < sc->msk_num_port; i++) { if (sc->msk_if[i] != NULL && sc->msk_if[i]->msk_ifp != NULL && - ((sc->msk_if[i]->msk_ifp->if_flags & IFF_UP) != 0)) { - sc->msk_if[i]->msk_ifp->if_drv_flags &= - ~IFF_DRV_RUNNING; + ((if_getflags(sc->msk_if[i]->msk_ifp) & IFF_UP) != 0)) { + if_setdrvflagbits(sc->msk_if[i]->msk_ifp, 0, + IFF_DRV_RUNNING); msk_init_locked(sc->msk_if[i]); } } @@ -3180,7 +3179,7 @@ msk_rxeof(struct msk_if_softc *sc_if, uint32_t status, uint32_t control, int len) { struct mbuf *m; - struct ifnet *ifp; + if_t ifp; struct msk_rxdesc *rxd; int cons, rxlen; @@ -3192,7 +3191,7 @@ msk_rxeof(struct msk_if_softc *sc_if, uint32_t status, uint32_t control, do { rxlen = status >> 16; if ((status & GMR_FS_VLAN) != 0 && - (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) + (if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) rxlen -= ETHER_VLAN_ENCAP_LEN; if ((sc_if->msk_flags & MSK_FLAG_NORXCHK) != 0) { /* @@ -3234,16 +3233,16 @@ msk_rxeof(struct msk_if_softc *sc_if, uint32_t status, uint32_t control, msk_fixup_rx(m); #endif if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) msk_rxcsum(sc_if, control, m); /* Check for VLAN tagged packets. */ if ((status & GMR_FS_VLAN) != 0 && - (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) { + (if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) { m->m_pkthdr.ether_vtag = sc_if->msk_vtag; m->m_flags |= M_VLANTAG; } MSK_IF_UNLOCK(sc_if); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); MSK_IF_LOCK(sc_if); } while (0); @@ -3256,7 +3255,7 @@ msk_jumbo_rxeof(struct msk_if_softc *sc_if, uint32_t status, uint32_t control, int len) { struct mbuf *m; - struct ifnet *ifp; + if_t ifp; struct msk_rxdesc *jrxd; int cons, rxlen; @@ -3268,7 +3267,7 @@ msk_jumbo_rxeof(struct msk_if_softc *sc_if, uint32_t status, uint32_t control, do { rxlen = status >> 16; if ((status & GMR_FS_VLAN) != 0 && - (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) + (if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) rxlen -= ETHER_VLAN_ENCAP_LEN; if (len > sc_if->msk_framesize || ((status & GMR_FS_ANY_ERR) != 0) || @@ -3299,16 +3298,16 @@ msk_jumbo_rxeof(struct msk_if_softc *sc_if, uint32_t status, uint32_t control, msk_fixup_rx(m); #endif if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) msk_rxcsum(sc_if, control, m); /* Check for VLAN tagged packets. */ if ((status & GMR_FS_VLAN) != 0 && - (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) { + (if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) { m->m_pkthdr.ether_vtag = sc_if->msk_vtag; m->m_flags |= M_VLANTAG; } MSK_IF_UNLOCK(sc_if); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); MSK_IF_LOCK(sc_if); } while (0); @@ -3321,7 +3320,7 @@ msk_txeof(struct msk_if_softc *sc_if, int idx) { struct msk_txdesc *txd; struct msk_tx_desc *cur_tx; - struct ifnet *ifp; + if_t ifp; uint32_t control; int cons, prog; @@ -3345,7 +3344,7 @@ msk_txeof(struct msk_if_softc *sc_if, int idx) cur_tx = &sc_if->msk_rdata.msk_tx_ring[cons]; control = le32toh(cur_tx->msk_control); sc_if->msk_cdata.msk_tx_cnt--; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if ((control & EOP) == 0) continue; txd = &sc_if->msk_cdata.msk_txdesc[cons]; @@ -3625,7 +3624,7 @@ msk_handle_events(struct msk_softc *sc) sc_if->msk_csum = status; break; case OP_RXSTAT: - if (!(sc_if->msk_ifp->if_drv_flags & IFF_DRV_RUNNING)) + if (!(if_getdrvflags(sc_if->msk_ifp) & IFF_DRV_RUNNING)) break; if (sc_if->msk_framesize > (MCLBYTES - MSK_RX_BUF_ALIGN)) @@ -3683,7 +3682,7 @@ msk_intr(void *xsc) { struct msk_softc *sc; struct msk_if_softc *sc_if0, *sc_if1; - struct ifnet *ifp0, *ifp1; + if_t ifp0, ifp1; uint32_t status; int domore; @@ -3738,11 +3737,11 @@ msk_intr(void *xsc) /* Reenable interrupts. */ CSR_WRITE_4(sc, B0_Y2_SP_ICR, 2); - if (ifp0 != NULL && (ifp0->if_drv_flags & IFF_DRV_RUNNING) != 0 && - !IFQ_DRV_IS_EMPTY(&ifp0->if_snd)) + if (ifp0 != NULL && (if_getdrvflags(ifp0) & IFF_DRV_RUNNING) != 0 && + !if_sendq_empty(ifp0)) msk_start_locked(ifp0); - if (ifp1 != NULL && (ifp1->if_drv_flags & IFF_DRV_RUNNING) != 0 && - !IFQ_DRV_IS_EMPTY(&ifp1->if_snd)) + if (ifp1 != NULL && (if_getdrvflags(ifp1) & IFF_DRV_RUNNING) != 0 && + !if_sendq_empty(ifp1)) msk_start_locked(ifp1); MSK_UNLOCK(sc); @@ -3752,7 +3751,7 @@ static void msk_set_tx_stfwd(struct msk_if_softc *sc_if) { struct msk_softc *sc; - struct ifnet *ifp; + if_t ifp; ifp = sc_if->msk_ifp; sc = sc_if->msk_softc; @@ -3762,7 +3761,7 @@ msk_set_tx_stfwd(struct msk_if_softc *sc_if) CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, TX_GMF_CTRL_T), TX_STFW_ENA); } else { - if (ifp->if_mtu > ETHERMTU) { + if (if_getmtu(ifp) > ETHERMTU) { /* Set Tx GMAC FIFO Almost Empty Threshold. */ CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, TX_GMF_AE_THR), @@ -3791,7 +3790,7 @@ static void msk_init_locked(struct msk_if_softc *sc_if) { struct msk_softc *sc; - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; uint8_t *eaddr; uint16_t gmac; @@ -3804,22 +3803,22 @@ msk_init_locked(struct msk_if_softc *sc_if) sc = sc_if->msk_softc; mii = device_get_softc(sc_if->msk_miibus); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; error = 0; /* Cancel pending I/O and free all Rx/Tx buffers. */ msk_stop(sc_if); - if (ifp->if_mtu < ETHERMTU) + if (if_getmtu(ifp) < ETHERMTU) sc_if->msk_framesize = ETHERMTU; else - sc_if->msk_framesize = ifp->if_mtu; + sc_if->msk_framesize = if_getmtu(ifp); sc_if->msk_framesize += ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN; - if (ifp->if_mtu > ETHERMTU && + if (if_getmtu(ifp) > ETHERMTU && (sc_if->msk_flags & MSK_FLAG_JUMBO_NOCSUM) != 0) { - ifp->if_hwassist &= ~(MSK_CSUM_FEATURES | CSUM_TSO); - ifp->if_capenable &= ~(IFCAP_TSO4 | IFCAP_TXCSUM); + if_sethwassistbits(ifp, 0, (MSK_CSUM_FEATURES | CSUM_TSO)); + if_setcapenablebit(ifp, 0, (IFCAP_TSO4 | IFCAP_TXCSUM)); } /* GMAC Control reset. */ @@ -3861,12 +3860,12 @@ msk_init_locked(struct msk_if_softc *sc_if) gmac = DATA_BLIND_VAL(DATA_BLIND_DEF) | GM_SMOD_VLAN_ENA | IPG_DATA_VAL(IPG_DATA_DEF); - if (ifp->if_mtu > ETHERMTU) + if (if_getmtu(ifp) > ETHERMTU) gmac |= GM_SMOD_JUMBO_ENA; GMAC_WRITE_2(sc, sc_if->msk_port, GM_SERIAL_MODE, gmac); /* Set station address. */ - eaddr = IF_LLADDR(ifp); + eaddr = if_getlladdr(ifp); GMAC_WRITE_2(sc, sc_if->msk_port, GM_SRC_ADDR_1L, eaddr[0] | (eaddr[1] << 8)); GMAC_WRITE_2(sc, sc_if->msk_port, GM_SRC_ADDR_1M, @@ -4000,7 +3999,7 @@ msk_init_locked(struct msk_if_softc *sc_if) /* Disable Rx checksum offload and RSS hash. */ reg = BMU_DIS_RX_RSS_HASH; if ((sc_if->msk_flags & MSK_FLAG_DESCV2) == 0 && - (ifp->if_capenable & IFCAP_RXCSUM) != 0) + (if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) reg |= BMU_ENA_RX_CHKSUM; else reg |= BMU_DIS_RX_CHKSUM; @@ -4053,8 +4052,8 @@ msk_init_locked(struct msk_if_softc *sc_if) CSR_WRITE_4(sc, B0_IMSK, sc->msk_intrmask); CSR_READ_4(sc, B0_IMSK); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); sc_if->msk_flags &= ~MSK_FLAG_LINK; mii_mediachg(mii); @@ -4144,7 +4143,7 @@ msk_stop(struct msk_if_softc *sc_if) struct msk_txdesc *txd; struct msk_rxdesc *rxd; struct msk_rxdesc *jrxd; - struct ifnet *ifp; + if_t ifp; uint32_t val; int i; @@ -4287,7 +4286,7 @@ msk_stop(struct msk_if_softc *sc_if) /* * Mark the interface down. */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc_if->msk_flags &= ~MSK_FLAG_LINK; } @@ -4328,14 +4327,14 @@ static void msk_stats_update(struct msk_if_softc *sc_if) { struct msk_softc *sc; - struct ifnet *ifp; + if_t ifp; struct msk_hw_stats *stats; uint16_t gmac; MSK_IF_LOCK_ASSERT(sc_if); ifp = sc_if->msk_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; sc = sc_if->msk_softc; stats = &sc_if->msk_stats; diff --git a/sys/dev/msk/if_mskreg.h b/sys/dev/msk/if_mskreg.h index 7bd0b53a49af..2e8114aa5771 100644 --- a/sys/dev/msk/if_mskreg.h +++ b/sys/dev/msk/if_mskreg.h @@ -2552,7 +2552,7 @@ struct msk_softc { /* Softc for each logical interface. */ struct msk_if_softc { - struct ifnet *msk_ifp; /* interface info */ + if_t msk_ifp; /* interface info */ device_t msk_miibus; device_t msk_if_dev; int32_t msk_port; /* port # on controller */ From nobody Mon Feb 6 17:54:21 2023 X-Original-To: dev-commits-src-main@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 4P9YmZ4g2xz3n0dk; Mon, 6 Feb 2023 17:54:22 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9YmZ3zbqz4YVk; Mon, 6 Feb 2023 17:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706062; 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=MUt5m3udURFBX47Z6UShYwLakNsVCcfMxvgvpYZlPSE=; b=K9RlWtszgsr7nOjbEQWMwtuPZ2D7VcxTF/8LG2Qxi4oNoc0hhHkBo396sUnVeMoTIT/Q3w e6aU4f+RP56g9V8N+4JhRIN4tWgafzL0C9s9I762bMPOA55JdOtefCY1/9d+0g4PzQycI+ EFgQQZPARAC2PFH0ea2qsd/ehywLACWANruSaBe42X12oFu7CiA+m1EcmT58Rr4Cn+6r2c jxu01nEujWkpq+moEFypkgkQm8PF5yk5us6hadSqF1ucAzNU81sCFYB2F/WY0nJA4bp7go wttMsP2Pqvf7xdgHO+RjrxLIaqLOx4P+lFPEafLU7WFDXiTqbKpSZAwCOXw70g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706062; 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=MUt5m3udURFBX47Z6UShYwLakNsVCcfMxvgvpYZlPSE=; b=MmGCuYP5neQkNdzq0ZVdOBU5YvlrCqPH8/64sn2cnXTXcec0f9vQtNBV8RUhYfFXcRnoUP WOwD2TEYeK6A9BCmivl/op0EwG+2KMN7G5IvZZmN5ZjJ2YFUP3bku+T5OAeh095ufI+oND ePUURxro0uqMkA7oHX2DxNnti9CiuAF92xSKZNPPjE/pTFB/YuAVq3mkEkJxXFlGrBz5Me q/VU0x002WRsTu5IQm7zSfn3ziJHZsc8Gl2YCs7tMYLmDsDCwAYUDvhZLXH1P8EtO/KZwI WyK/eOgjguW4ADV2rD/c4gIn5hMkCjeS0wjvx/Qm1GWXzUifWDqyHjwHgVt0yg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706062; a=rsa-sha256; cv=none; b=o//6wP09/P5t5bOqOmC2NSXleWMiInG2ogDnPgpQb8uepOjZjotBQ7TdQ7vzd/Of1CKHMX 4alW/WJjOyIQPQbNUpriHUyh/qBcLwx8qSmG7sd+3Z8VMmyomntXkkhwETnVnWVpONjXvB HCR0z65pigT5BpC5ZDpDJ9CztFjGt7izOfDW/uZvtpUb0mbC7lAmITH11jhsufPhwZcKlu oKgoQjBpNK7FBcH9JkBL+mW6HLlvAd10ZNYVDHy/1rGrPHMOj48ofpDCkBhbjxm2QxAGFl 0//35cxQe3o7wKceyI6EcwNDz0PUnvlu92vAqE4rZqd63EytnDRaxeBEIR2F/w== 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 4P9YmY6gs5zk6S; Mon, 6 Feb 2023 17:54:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsLaT074821; Mon, 6 Feb 2023 17:54:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsLKQ074820; Mon, 6 Feb 2023 17:54:21 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:21 GMT Message-Id: <202302061754.316HsLKQ074820@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 12d29e156847 - main - Mechanically convert if_my(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 12d29e15684780c2dd65e38924c861a855837271 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=12d29e15684780c2dd65e38924c861a855837271 commit 12d29e15684780c2dd65e38924c861a855837271 Author: Justin Hibbits AuthorDate: 2022-09-19 20:38:53 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:12 +0000 Mechanically convert if_my(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37847 --- sys/dev/my/if_my.c | 119 +++++++++++++++++++++++++------------------------- sys/dev/my/if_myreg.h | 2 +- 2 files changed, 60 insertions(+), 61 deletions(-) diff --git a/sys/dev/my/if_my.c b/sys/dev/my/if_my.c index 42a85bf502f3..9c90234bdf15 100644 --- a/sys/dev/my/if_my.c +++ b/sys/dev/my/if_my.c @@ -116,17 +116,17 @@ static void my_rxeof(struct my_softc *); static void my_txeof(struct my_softc *); static void my_txeoc(struct my_softc *); static void my_intr(void *); -static void my_start(struct ifnet *); -static void my_start_locked(struct ifnet *); -static int my_ioctl(struct ifnet *, u_long, caddr_t); +static void my_start(if_t); +static void my_start_locked(if_t); +static int my_ioctl(if_t, u_long, caddr_t); static void my_init(void *); static void my_init_locked(struct my_softc *); static void my_stop(struct my_softc *); static void my_autoneg_timeout(void *); static void my_watchdog(void *); static int my_shutdown(device_t); -static int my_ifmedia_upd(struct ifnet *); -static void my_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static int my_ifmedia_upd(if_t); +static void my_ifmedia_sts(if_t, struct ifmediareq *); static u_int16_t my_phy_readreg(struct my_softc *, int); static void my_phy_writereg(struct my_softc *, int, int); static void my_autoneg_xmit(struct my_softc *); @@ -319,7 +319,7 @@ my_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void my_setmulti(struct my_softc * sc) { - struct ifnet *ifp; + if_t ifp; u_int32_t hashes[2] = {0, 0}; u_int32_t rxfilt; @@ -329,7 +329,7 @@ my_setmulti(struct my_softc * sc) rxfilt = CSR_READ_4(sc, MY_TCRRCR); - if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_ALLMULTI || if_getflags(ifp) & IFF_PROMISC) { rxfilt |= MY_AM; CSR_WRITE_4(sc, MY_TCRRCR, rxfilt); CSR_WRITE_4(sc, MY_MAR0, 0xFFFFFFFF); @@ -390,7 +390,7 @@ my_autoneg_mii(struct my_softc * sc, int flag, int verbose) { u_int16_t phy_sts = 0, media, advert, ability; u_int16_t ability2 = 0; - struct ifnet *ifp; + if_t ifp; struct ifmedia *ifm; MY_LOCK_ASSERT(sc); @@ -555,7 +555,7 @@ static void my_getmode_mii(struct my_softc * sc) { u_int16_t bmsr; - struct ifnet *ifp; + if_t ifp; MY_LOCK_ASSERT(sc); ifp = sc->my_ifp; @@ -587,7 +587,7 @@ my_getmode_mii(struct my_softc * sc) if (bootverbose) device_printf(sc->my_dev, "100Mbps half-duplex mode supported\n"); - ifp->if_baudrate = 100000000; + if_setbaudrate(ifp, 100000000); ifmedia_add(&sc->ifmedia, IFM_ETHER | IFM_100_TX, 0, NULL); ifmedia_add(&sc->ifmedia, IFM_ETHER | IFM_100_TX | IFM_HDX, 0, NULL); @@ -597,7 +597,7 @@ my_getmode_mii(struct my_softc * sc) if (bootverbose) device_printf(sc->my_dev, "100Mbps full-duplex mode supported\n"); - ifp->if_baudrate = 100000000; + if_setbaudrate(ifp, 100000000); ifmedia_add(&sc->ifmedia, IFM_ETHER | IFM_100_TX | IFM_FDX, 0, NULL); sc->ifmedia.ifm_media = IFM_ETHER | IFM_100_TX | IFM_FDX; @@ -606,7 +606,7 @@ my_getmode_mii(struct my_softc * sc) if (bmsr & PHY_BMSR_100BT4) { if (bootverbose) device_printf(sc->my_dev, "100baseT4 mode supported\n"); - ifp->if_baudrate = 100000000; + if_setbaudrate(ifp, 100000000); ifmedia_add(&sc->ifmedia, IFM_ETHER | IFM_100_T4, 0, NULL); sc->ifmedia.ifm_media = IFM_ETHER | IFM_100_T4; #ifdef FORCE_AUTONEG_TFOUR @@ -623,14 +623,14 @@ my_getmode_mii(struct my_softc * sc) device_printf(sc->my_dev, "1000Mbps half-duplex mode supported\n"); - ifp->if_baudrate = 1000000000; + if_setbaudrate(ifp, 1000000000); ifmedia_add(&sc->ifmedia, IFM_ETHER | IFM_1000_T, 0, NULL); ifmedia_add(&sc->ifmedia, IFM_ETHER | IFM_1000_T | IFM_HDX, 0, NULL); if (bootverbose) device_printf(sc->my_dev, "1000Mbps full-duplex mode supported\n"); - ifp->if_baudrate = 1000000000; + if_setbaudrate(ifp, 1000000000); ifmedia_add(&sc->ifmedia, IFM_ETHER | IFM_1000_T | IFM_FDX, 0, NULL); sc->ifmedia.ifm_media = IFM_ETHER | IFM_1000_T | IFM_FDX; @@ -795,7 +795,7 @@ my_attach(device_t dev) u_char eaddr[ETHER_ADDR_LEN]; u_int32_t iobase; struct my_softc *sc; - struct ifnet *ifp; + if_t ifp; int media = IFM_ETHER | IFM_100_TX | IFM_FDX; unsigned int round; caddr_t roundptr; @@ -881,16 +881,15 @@ my_attach(device_t dev) error = ENOSPC; goto free_ldata; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = my_ioctl; - ifp->if_start = my_start; - ifp->if_init = my_init; - ifp->if_baudrate = 10000000; - IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); - ifp->if_snd.ifq_drv_maxlen = ifqmaxlen; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, my_ioctl); + if_setstartfn(ifp, my_start); + if_setinitfn(ifp, my_init); + if_setbaudrate(ifp, 10000000); + if_setsendqlen(ifp, ifqmaxlen); + if_setsendqready(ifp); if (sc->my_info->my_did == MTD803ID) sc->my_pinfo = my_phys; @@ -980,7 +979,7 @@ static int my_detach(device_t dev) { struct my_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); ifp = sc->my_ifp; @@ -1100,7 +1099,7 @@ my_rxeof(struct my_softc * sc) { struct ether_header *eh; struct mbuf *m; - struct ifnet *ifp; + if_t ifp; struct my_chain_onefrag *cur_rx; int total_len = 0; u_int32_t rxstat; @@ -1155,10 +1154,10 @@ my_rxeof(struct my_softc * sc) * broadcast packet, multicast packet, matches our ethernet * address or the interface is in promiscuous mode. */ - if (bpf_peers_present(ifp->if_bpf)) { - bpf_mtap(ifp->if_bpf, m); - if (ifp->if_flags & IFF_PROMISC && - (bcmp(eh->ether_dhost, IF_LLADDR(sc->my_ifp), + if (bpf_peers_present(if_getbpf(ifp))) { + bpf_mtap_if(ifp, m); + if (if_getflags(ifp) & IFF_PROMISC && + (bcmp(eh->ether_dhost, if_getlladdr(sc->my_ifp), ETHER_ADDR_LEN) && (eh->ether_dhost[0] & 1) == 0)) { m_freem(m); @@ -1167,7 +1166,7 @@ my_rxeof(struct my_softc * sc) } #endif MY_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); MY_LOCK(sc); } return; @@ -1181,7 +1180,7 @@ static void my_txeof(struct my_softc * sc) { struct my_chain *cur_tx; - struct ifnet *ifp; + if_t ifp; MY_LOCK_ASSERT(sc); ifp = sc->my_ifp; @@ -1234,13 +1233,13 @@ my_txeof(struct my_softc * sc) static void my_txeoc(struct my_softc * sc) { - struct ifnet *ifp; + if_t ifp; MY_LOCK_ASSERT(sc); ifp = sc->my_ifp; sc->my_timer = 0; if (sc->my_cdata.my_tx_head == NULL) { - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); sc->my_cdata.my_tx_tail = NULL; if (sc->my_want_auto) my_autoneg_mii(sc, MY_FLAG_SCHEDDELAY, 1); @@ -1258,13 +1257,13 @@ static void my_intr(void *arg) { struct my_softc *sc; - struct ifnet *ifp; + if_t ifp; u_int32_t status; sc = arg; MY_LOCK(sc); ifp = sc->my_ifp; - if (!(ifp->if_flags & IFF_UP)) { + if (!(if_getflags(ifp) & IFF_UP)) { MY_UNLOCK(sc); return; } @@ -1308,7 +1307,7 @@ my_intr(void *arg) /* Re-enable interrupts. */ CSR_WRITE_4(sc, MY_IMR, MY_INTRS); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) my_start_locked(ifp); MY_UNLOCK(sc); return; @@ -1375,24 +1374,24 @@ my_encap(struct my_softc * sc, struct my_chain * c, struct mbuf * m_head) * physical addresses. */ static void -my_start(struct ifnet * ifp) +my_start(if_t ifp) { struct my_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); MY_LOCK(sc); my_start_locked(ifp); MY_UNLOCK(sc); } static void -my_start_locked(struct ifnet * ifp) +my_start_locked(if_t ifp) { struct my_softc *sc; struct mbuf *m_head = NULL; struct my_chain *cur_tx = NULL, *start_tx; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); MY_LOCK_ASSERT(sc); if (sc->my_autoneg) { sc->my_tx_pend = 1; @@ -1402,12 +1401,12 @@ my_start_locked(struct ifnet * ifp) * Check for an available queue slot. If there are none, punt. */ if (sc->my_cdata.my_tx_free->my_mbuf != NULL) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); return; } start_tx = sc->my_cdata.my_tx_free; while (sc->my_cdata.my_tx_free->my_mbuf == NULL) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; @@ -1468,7 +1467,7 @@ my_init(void *xsc) static void my_init_locked(struct my_softc *sc) { - struct ifnet *ifp = sc->my_ifp; + if_t ifp = sc->my_ifp; u_int16_t phy_bmcr = 0; MY_LOCK_ASSERT(sc); @@ -1510,7 +1509,7 @@ my_init_locked(struct my_softc *sc) my_list_tx_init(sc); /* If we want promiscuous mode, set the allframes bit. */ - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) MY_SETBIT(sc, MY_TCRRCR, MY_PROM); else MY_CLRBIT(sc, MY_TCRRCR, MY_PROM); @@ -1518,7 +1517,7 @@ my_init_locked(struct my_softc *sc) /* * Set capture broadcast bit to capture broadcast frames. */ - if (ifp->if_flags & IFF_BROADCAST) + if (if_getflags(ifp) & IFF_BROADCAST) MY_SETBIT(sc, MY_TCRRCR, MY_AB); else MY_CLRBIT(sc, MY_TCRRCR, MY_AB); @@ -1549,8 +1548,8 @@ my_init_locked(struct my_softc *sc) /* Restore state of BMCR */ if (sc->my_pinfo != NULL) my_phy_writereg(sc, PHY_BMCR, phy_bmcr); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); callout_reset(&sc->my_watchdog, hz, my_watchdog, sc); return; @@ -1561,12 +1560,12 @@ my_init_locked(struct my_softc *sc) */ static int -my_ifmedia_upd(struct ifnet * ifp) +my_ifmedia_upd(if_t ifp) { struct my_softc *sc; struct ifmedia *ifm; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); MY_LOCK(sc); ifm = &sc->ifmedia; if (IFM_TYPE(ifm->ifm_media) != IFM_ETHER) { @@ -1586,12 +1585,12 @@ my_ifmedia_upd(struct ifnet * ifp) */ static void -my_ifmedia_sts(struct ifnet * ifp, struct ifmediareq * ifmr) +my_ifmedia_sts(if_t ifp, struct ifmediareq * ifmr) { struct my_softc *sc; u_int16_t advert = 0, ability = 0; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); MY_LOCK(sc); ifmr->ifm_active = IFM_ETHER; if (!(my_phy_readreg(sc, PHY_BMCR) & PHY_BMCR_AUTONEGENBL)) { @@ -1643,18 +1642,18 @@ my_ifmedia_sts(struct ifnet * ifp, struct ifmediareq * ifmr) } static int -my_ioctl(struct ifnet * ifp, u_long command, caddr_t data) +my_ioctl(if_t ifp, u_long command, caddr_t data) { - struct my_softc *sc = ifp->if_softc; + struct my_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; int error; switch (command) { case SIOCSIFFLAGS: MY_LOCK(sc); - if (ifp->if_flags & IFF_UP) + if (if_getflags(ifp) & IFF_UP) my_init_locked(sc); - else if (ifp->if_drv_flags & IFF_DRV_RUNNING) + else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) my_stop(sc); MY_UNLOCK(sc); error = 0; @@ -1681,7 +1680,7 @@ static void my_watchdog(void *arg) { struct my_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = arg; MY_LOCK_ASSERT(sc); @@ -1697,7 +1696,7 @@ my_watchdog(void *arg) my_stop(sc); my_reset(sc); my_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) my_start_locked(ifp); } @@ -1708,7 +1707,7 @@ static void my_stop(struct my_softc * sc) { int i; - struct ifnet *ifp; + if_t ifp; MY_LOCK_ASSERT(sc); ifp = sc->my_ifp; @@ -1743,7 +1742,7 @@ my_stop(struct my_softc * sc) } bzero((char *)&sc->my_ldata->my_tx_list, sizeof(sc->my_ldata->my_tx_list)); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); return; } diff --git a/sys/dev/my/if_myreg.h b/sys/dev/my/if_myreg.h index a3a723d05322..00a060d2f794 100644 --- a/sys/dev/my/if_myreg.h +++ b/sys/dev/my/if_myreg.h @@ -352,7 +352,7 @@ struct my_type { #define MY_FLAG_DELAYTIMEO 3 struct my_softc { - struct ifnet *my_ifp; + if_t my_ifp; device_t my_dev; struct ifmedia ifmedia; /* media info */ bus_space_handle_t my_bhandle; From nobody Mon Feb 6 17:54:22 2023 X-Original-To: dev-commits-src-main@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 4P9Ymb57LBz3n0Y2; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ymb19Fcz4YbB; Mon, 6 Feb 2023 17:54:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706063; 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=uTD/6B0nJeTGPXbZBA6pMmu2XjxmB4rR7HEBeCCsLgQ=; b=wDcmTXBkZA4X+FzttLXlzpVJqvGsvTfcQuY0Xg3MYr2tShiADgl4nljaD+lyKuNAaG6KGR i7MztrtpJVImUBrIarBvb28eB87lXo03jAxQhapiBXSVj6hw13WWwTbHz+IDkznps2Bz1O IBwcOkRAQh9wn4QxZbjf0BPNi6wr+aaMtL0j4sPalbJYHCV2QO1hJ4Hd4TW8W9nk1TMPyi WHTwtcv1nA4POnqnsD6uvq/4ABRqDyfarc5IU5MYkcbi78S73coIIRAIYYQT5WelXUfNoS rUAI/EtNFbq9tR3bTWZcq0F0jsB9vyPspw5Dg3h6Kc8JCDknA8MzpGw0P4ijSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706063; 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=uTD/6B0nJeTGPXbZBA6pMmu2XjxmB4rR7HEBeCCsLgQ=; b=v1uFxIjcZ2KT84ljL+EYGm0gk+MdUzpvGhIGHUxR7wN5n7JoMw5pCvtF9yrCwpUDqOoimz atrIEXiVNXiZnXGpim9+TI+uvgEGyOhB3ZSRYlVUn7g43vWZmtIJXJZZJlpbeYjvlVCAaQ XfgATaV3jmK4JvWhadLjZXGuRRmsN6kHSAmL2SncYTErFiuQAY1E2bExbETS6jWkYhZnpV 2AaE2dJ3pg2JVJlwBS7pDEIu3lH8L1zPvKK3omUQ5FwzTjwHv6E6BCWknQ/ZpC1yEiO5wC w7olXTtlsJHjylGM/ygPtgAy0vUcAzHXPbqgKEIfldsWnMDREW3mSPUH8Nl3Zg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706063; a=rsa-sha256; cv=none; b=Abiyv2XIfuFDmR/ed9+Pi8PYsV0wcx4ud3lpegnD85e7QkML9DMu9/YMqdJ+38vso+no1L cvBLKta0ppI966ij2cwYA/N6oqo/LS25FD0LTg2u51KSNcfMEmrnfNmF7R/DsSfHNkd3zj /iWqzP5cJIqA3bnB1B6YM24EdqXi53qRaeBqdovY7AqRYpOxNnQkADjatiWLcz5oYjEfW4 4GPqY6rRT8tQ+UQNK9j0koC/hI/BgYTDU4OeXJQrr5HG4bHC7guxaEMQ1aqEM75oqProQ0 mTAXwpZ7sq6GMPVO381Wa8yTJhLIh7Gqgh1RHtV0l/FGsZoTKkBDnvn4sqd/pA== 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 4P9Ymb0G6JzkMc; Mon, 6 Feb 2023 17:54:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsMgL074848; Mon, 6 Feb 2023 17:54:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsMnY074847; Mon, 6 Feb 2023 17:54:22 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:22 GMT Message-Id: <202302061754.316HsMnY074847@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 76cb2c1ce00e - main - Mechanically convert nge(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 76cb2c1ce00e7dc0afa42d6cdcccb0b5f16dd90e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=76cb2c1ce00e7dc0afa42d6cdcccb0b5f16dd90e commit 76cb2c1ce00e7dc0afa42d6cdcccb0b5f16dd90e Author: Justin Hibbits AuthorDate: 2022-03-01 20:02:58 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:13 +0000 Mechanically convert nge(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37811 --- sys/dev/nge/if_nge.c | 247 ++++++++++++++++++++++++------------------------ sys/dev/nge/if_ngereg.h | 2 +- 2 files changed, 124 insertions(+), 125 deletions(-) diff --git a/sys/dev/nge/if_nge.c b/sys/dev/nge/if_nge.c index 9e709dfbf297..56c1cb91290c 100644 --- a/sys/dev/nge/if_nge.c +++ b/sys/dev/nge/if_nge.c @@ -166,17 +166,17 @@ static void nge_txeof(struct nge_softc *); static void nge_intr(void *); static void nge_tick(void *); static void nge_stats_update(struct nge_softc *); -static void nge_start(struct ifnet *); -static void nge_start_locked(struct ifnet *); -static int nge_ioctl(struct ifnet *, u_long, caddr_t); +static void nge_start(if_t); +static void nge_start_locked(if_t); +static int nge_ioctl(if_t, u_long, caddr_t); static void nge_init(void *); static void nge_init_locked(struct nge_softc *); static int nge_stop_mac(struct nge_softc *); static void nge_stop(struct nge_softc *); static void nge_wol(struct nge_softc *); static void nge_watchdog(struct nge_softc *); -static int nge_mediachange(struct ifnet *); -static void nge_mediastatus(struct ifnet *, struct ifmediareq *); +static int nge_mediachange(if_t); +static void nge_mediastatus(if_t, struct ifmediareq *); static void nge_delay(struct nge_softc *); static void nge_eeprom_idle(struct nge_softc *); @@ -512,7 +512,7 @@ nge_miibus_statchg(device_t dev) { struct nge_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; struct nge_txdesc *txd; uint32_t done, reg, status; int i; @@ -523,7 +523,7 @@ nge_miibus_statchg(device_t dev) mii = device_get_softc(sc->nge_miibus); ifp = sc->nge_ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; sc->nge_flags &= ~NGE_FLAG_LINK; @@ -684,7 +684,7 @@ nge_write_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void nge_rxfilter(struct nge_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t i, rxfilt; NGE_LOCK_ASSERT(sc); @@ -715,13 +715,13 @@ nge_rxfilter(struct nge_softc *sc) /* * Set the capture broadcast bit to capture broadcast frames. */ - if ((ifp->if_flags & IFF_BROADCAST) != 0) + if ((if_getflags(ifp) & IFF_BROADCAST) != 0) rxfilt |= NGE_RXFILTCTL_BROAD; - if ((ifp->if_flags & IFF_PROMISC) != 0 || - (ifp->if_flags & IFF_ALLMULTI) != 0) { + if ((if_getflags(ifp) & IFF_PROMISC) != 0 || + (if_getflags(ifp) & IFF_ALLMULTI) != 0) { rxfilt |= NGE_RXFILTCTL_ALLMULTI; - if ((ifp->if_flags & IFF_PROMISC) != 0) + if ((if_getflags(ifp) & IFF_PROMISC) != 0) rxfilt |= NGE_RXFILTCTL_ALLPHYS; goto done; } @@ -820,7 +820,7 @@ nge_attach(device_t dev) uint8_t eaddr[ETHER_ADDR_LEN]; uint16_t ea[ETHER_ADDR_LEN/2], ea_temp, reg; struct nge_softc *sc; - struct ifnet *ifp; + if_t ifp; int error, i, rid; error = 0; @@ -907,25 +907,24 @@ nge_attach(device_t dev) error = ENOSPC; goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = nge_ioctl; - ifp->if_start = nge_start; - ifp->if_init = nge_init; - ifp->if_snd.ifq_drv_maxlen = NGE_TX_RING_CNT - 1; - IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); - IFQ_SET_READY(&ifp->if_snd); - ifp->if_hwassist = NGE_CSUM_FEATURES; - ifp->if_capabilities = IFCAP_HWCSUM; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, nge_ioctl); + if_setstartfn(ifp, nge_start); + if_setinitfn(ifp, nge_init); + if_setsendqlen(ifp, NGE_TX_RING_CNT - 1); + if_setsendqready(ifp); + if_sethwassist(ifp, NGE_CSUM_FEATURES); + if_setcapabilities(ifp, IFCAP_HWCSUM); /* * It seems that some hardwares doesn't provide 3.3V auxiliary * supply(3VAUX) to drive PME such that checking PCI power * management capability is necessary. */ if (pci_find_cap(sc->nge_dev, PCIY_PMG, &i) == 0) - ifp->if_capabilities |= IFCAP_WOL; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_WOL, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); if ((CSR_READ_4(sc, NGE_CFG) & NGE_CFG_TBI_EN) != 0) { sc->nge_flags |= NGE_FLAG_TBI; @@ -954,18 +953,18 @@ nge_attach(device_t dev) ether_ifattach(ifp, eaddr); /* VLAN capability setup. */ - ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING; - ifp->if_capabilities |= IFCAP_VLAN_HWCSUM; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING, 0); + if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWCSUM, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); #ifdef DEVICE_POLLING - ifp->if_capabilities |= IFCAP_POLLING; + if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif /* * Tell the upper layer(s) we support long frames. * Must appear after the call to ether_ifattach() because * ether_ifattach() sets ifi_hdrlen to the default value. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); /* * Hookup IRQ last. @@ -987,13 +986,13 @@ static int nge_detach(device_t dev) { struct nge_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); ifp = sc->nge_ifp; #ifdef DEVICE_POLLING - if (ifp != NULL && ifp->if_capenable & IFCAP_POLLING) + if (ifp != NULL && if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(ifp); #endif @@ -1439,7 +1438,7 @@ static int nge_rxeof(struct nge_softc *sc) { struct mbuf *m; - struct ifnet *ifp; + if_t ifp; struct nge_desc *cur_rx; struct nge_rxdesc *rxd; int cons, prog, rx_npkts, total_len; @@ -1456,10 +1455,10 @@ nge_rxeof(struct nge_softc *sc) BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); for (prog = 0; prog < NGE_RX_RING_CNT && - (ifp->if_drv_flags & IFF_DRV_RUNNING) != 0; + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0; NGE_INC(cons, NGE_RX_RING_CNT)) { #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { if (sc->rxcycles <= 0) break; sc->rxcycles--; @@ -1566,7 +1565,7 @@ nge_rxeof(struct nge_softc *sc) m->m_pkthdr.rcvif = ifp; if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) { + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) { /* Do IP checksum checking. */ if ((extsts & NGE_RXEXTSTS_IPPKT) != 0) m->m_pkthdr.csum_flags |= CSUM_IP_CHECKED; @@ -1587,13 +1586,13 @@ nge_rxeof(struct nge_softc *sc) * to vlan_input() instead of ether_input(). */ if ((extsts & NGE_RXEXTSTS_VLANPKT) != 0 && - (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) { + (if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) { m->m_pkthdr.ether_vtag = bswap16(extsts & NGE_RXEXTSTS_VTCI); m->m_flags |= M_VLANTAG; } NGE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); NGE_LOCK(sc); rx_npkts++; } @@ -1616,7 +1615,7 @@ nge_txeof(struct nge_softc *sc) { struct nge_desc *cur_tx; struct nge_txdesc *txd; - struct ifnet *ifp; + if_t ifp; uint32_t cmdsts; int cons, prod; @@ -1642,7 +1641,7 @@ nge_txeof(struct nge_softc *sc) if ((cmdsts & NGE_CMDSTS_OWN) != 0) break; sc->nge_cdata.nge_tx_cnt--; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if ((cmdsts & NGE_CMDSTS_MORE) != 0) continue; @@ -1698,7 +1697,7 @@ nge_tick(void *xsc) static void nge_stats_update(struct nge_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct nge_stats now, *stats, *nstats; NGE_LOCK_ASSERT(sc); @@ -1753,15 +1752,15 @@ nge_stats_update(struct nge_softc *sc) static poll_handler_t nge_poll; static int -nge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +nge_poll(if_t ifp, enum poll_cmd cmd, int count) { struct nge_softc *sc; int rx_npkts = 0; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); NGE_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { NGE_UNLOCK(sc); return (rx_npkts); } @@ -1776,7 +1775,7 @@ nge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) sc->rxcycles = count; rx_npkts = nge_rxeof(sc); nge_txeof(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) nge_start_locked(ifp); if (sc->rxcycles > 0 || cmd == POLL_AND_CHECK_STATUS) { @@ -1792,7 +1791,7 @@ nge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) NGE_SETBIT(sc, NGE_CSR, NGE_CSR_RX_ENABLE); if ((status & NGE_ISR_SYSERR) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); nge_init_locked(sc); } } @@ -1805,7 +1804,7 @@ static void nge_intr(void *arg) { struct nge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint32_t status; sc = (struct nge_softc *)arg; @@ -1821,10 +1820,10 @@ nge_intr(void *arg) if (status == 0xffffffff || (status & NGE_INTRS) == 0) goto done_locked; #ifdef DEVICE_POLLING - if ((ifp->if_capenable & IFCAP_POLLING) != 0) + if ((if_getcapenable(ifp) & IFCAP_POLLING) != 0) goto done_locked; #endif - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) goto done_locked; /* Disable interrupts. */ @@ -1849,7 +1848,7 @@ nge_intr(void *arg) NGE_SETBIT(sc, NGE_CSR, NGE_CSR_RX_ENABLE); if ((status & NGE_ISR_SYSERR) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); nge_init_locked(sc); } /* Reading the ISR register clears all interrupts. */ @@ -1859,7 +1858,7 @@ nge_intr(void *arg) /* Re-enable interrupts. */ CSR_WRITE_4(sc, NGE_IER, 1); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) nge_start_locked(ifp); /* Data LED off for TBI mode */ @@ -1981,34 +1980,34 @@ nge_encap(struct nge_softc *sc, struct mbuf **m_head) */ static void -nge_start(struct ifnet *ifp) +nge_start(if_t ifp) { struct nge_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); NGE_LOCK(sc); nge_start_locked(ifp); NGE_UNLOCK(sc); } static void -nge_start_locked(struct ifnet *ifp) +nge_start_locked(if_t ifp) { struct nge_softc *sc; struct mbuf *m_head; int enq; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); NGE_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->nge_flags & NGE_FLAG_LINK) == 0) return; - for (enq = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd) && + for (enq = 0; !if_sendq_empty(ifp) && sc->nge_cdata.nge_tx_cnt < NGE_TX_RING_CNT - 2; ) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; /* @@ -2019,8 +2018,8 @@ nge_start_locked(struct ifnet *ifp) if (nge_encap(sc, &m_head)) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -2057,14 +2056,14 @@ nge_init(void *xsc) static void nge_init_locked(struct nge_softc *sc) { - struct ifnet *ifp = sc->nge_ifp; + if_t ifp = sc->nge_ifp; struct mii_data *mii; uint8_t *eaddr; uint32_t reg; NGE_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* @@ -2082,7 +2081,7 @@ nge_init_locked(struct nge_softc *sc) mii = device_get_softc(sc->nge_miibus); /* Set MAC address. */ - eaddr = IF_LLADDR(sc->nge_ifp); + eaddr = if_getlladdr(sc->nge_ifp); CSR_WRITE_4(sc, NGE_RXFILT_CTL, NGE_FILTADDR_PAR0); CSR_WRITE_4(sc, NGE_RXFILT_DATA, (eaddr[1] << 8) | eaddr[0]); CSR_WRITE_4(sc, NGE_RXFILT_CTL, NGE_FILTADDR_PAR1); @@ -2146,7 +2145,7 @@ nge_init_locked(struct nge_softc *sc) * Enable hardware checksum validation for all IPv4 * packets, do not reject packets with bad checksums. */ - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) NGE_SETBIT(sc, NGE_VLAN_IP_RXCTL, NGE_VIPRXCTL_IPCSUM_ENB); /* @@ -2155,7 +2154,7 @@ nge_init_locked(struct nge_softc *sc) * field in the RX descriptors. */ NGE_SETBIT(sc, NGE_VLAN_IP_RXCTL, NGE_VIPRXCTL_TAG_DETECT_ENB); - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) NGE_SETBIT(sc, NGE_VLAN_IP_RXCTL, NGE_VIPRXCTL_TAG_STRIP_ENB); /* Set TX configuration. */ @@ -2206,7 +2205,7 @@ nge_init_locked(struct nge_softc *sc) * ... only enable interrupts if we are not polling, make sure * they are off otherwise. */ - if ((ifp->if_capenable & IFCAP_POLLING) != 0) + if ((if_getcapenable(ifp) & IFCAP_POLLING) != 0) CSR_WRITE_4(sc, NGE_IER, 0); else #endif @@ -2218,22 +2217,22 @@ nge_init_locked(struct nge_softc *sc) sc->nge_watchdog_timer = 0; callout_reset(&sc->nge_stat_ch, hz, nge_tick, sc); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } /* * Set media options. */ static int -nge_mediachange(struct ifnet *ifp) +nge_mediachange(if_t ifp) { struct nge_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); NGE_LOCK(sc); mii = device_get_softc(sc->nge_miibus); LIST_FOREACH(miisc, &mii->mii_phys, mii_list) @@ -2248,12 +2247,12 @@ nge_mediachange(struct ifnet *ifp) * Report current media status. */ static void -nge_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) +nge_mediastatus(if_t ifp, struct ifmediareq *ifmr) { struct nge_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); NGE_LOCK(sc); mii = device_get_softc(sc->nge_miibus); mii_pollstat(mii); @@ -2263,9 +2262,9 @@ nge_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -nge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +nge_ioctl(if_t ifp, u_long command, caddr_t data) { - struct nge_softc *sc = ifp->if_softc; + struct nge_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; struct mii_data *mii; int error = 0, mask; @@ -2276,18 +2275,18 @@ nge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) error = EINVAL; else { NGE_LOCK(sc); - ifp->if_mtu = ifr->ifr_mtu; + if_setmtu(ifp, ifr->ifr_mtu); /* * Workaround: if the MTU is larger than * 8152 (TX FIFO size minus 64 minus 18), turn off * TX checksum offloading. */ if (ifr->ifr_mtu >= 8152) { - ifp->if_capenable &= ~IFCAP_TXCSUM; - ifp->if_hwassist &= ~NGE_CSUM_FEATURES; + if_setcapenablebit(ifp, 0, IFCAP_TXCSUM); + if_sethwassistbits(ifp, 0, NGE_CSUM_FEATURES); } else { - ifp->if_capenable |= IFCAP_TXCSUM; - ifp->if_hwassist |= NGE_CSUM_FEATURES; + if_setcapenablebit(ifp, IFCAP_TXCSUM, 0); + if_sethwassistbits(ifp, NGE_CSUM_FEATURES, 0); } NGE_UNLOCK(sc); VLAN_CAPABILITIES(ifp); @@ -2295,9 +2294,9 @@ nge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) break; case SIOCSIFFLAGS: NGE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - if ((ifp->if_flags ^ sc->nge_if_flags) & + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if ((if_getflags(ifp) ^ sc->nge_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) nge_rxfilter(sc); } else { @@ -2305,17 +2304,17 @@ nge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) nge_init_locked(sc); } } else { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) nge_stop(sc); } - sc->nge_if_flags = ifp->if_flags; + sc->nge_if_flags = if_getflags(ifp); NGE_UNLOCK(sc); error = 0; break; case SIOCADDMULTI: case SIOCDELMULTI: NGE_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) nge_rxfilter(sc); NGE_UNLOCK(sc); break; @@ -2326,12 +2325,12 @@ nge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) break; case SIOCSIFCAP: NGE_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); #ifdef DEVICE_POLLING if ((mask & IFCAP_POLLING) != 0 && - (IFCAP_POLLING & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_POLLING; - if ((IFCAP_POLLING & ifp->if_capenable) != 0) { + (IFCAP_POLLING & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_POLLING); + if ((IFCAP_POLLING & if_getcapenable(ifp)) != 0) { error = ether_poll_register(nge_poll, ifp); if (error != 0) { NGE_UNLOCK(sc); @@ -2347,35 +2346,35 @@ nge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) } #endif /* DEVICE_POLLING */ if ((mask & IFCAP_TXCSUM) != 0 && - (IFCAP_TXCSUM & ifp->if_capabilities) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((IFCAP_TXCSUM & ifp->if_capenable) != 0) - ifp->if_hwassist |= NGE_CSUM_FEATURES; + (IFCAP_TXCSUM & if_getcapabilities(ifp)) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((IFCAP_TXCSUM & if_getcapenable(ifp)) != 0) + if_sethwassistbits(ifp, NGE_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~NGE_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, NGE_CSUM_FEATURES); } if ((mask & IFCAP_RXCSUM) != 0 && - (IFCAP_RXCSUM & ifp->if_capabilities) != 0) - ifp->if_capenable ^= IFCAP_RXCSUM; + (IFCAP_RXCSUM & if_getcapabilities(ifp)) != 0) + if_togglecapenable(ifp, IFCAP_RXCSUM); if ((mask & IFCAP_WOL) != 0 && - (ifp->if_capabilities & IFCAP_WOL) != 0) { + (if_getcapabilities(ifp) & IFCAP_WOL) != 0) { if ((mask & IFCAP_WOL_UCAST) != 0) - ifp->if_capenable ^= IFCAP_WOL_UCAST; + if_togglecapenable(ifp, IFCAP_WOL_UCAST); if ((mask & IFCAP_WOL_MCAST) != 0) - ifp->if_capenable ^= IFCAP_WOL_MCAST; + if_togglecapenable(ifp, IFCAP_WOL_MCAST); if ((mask & IFCAP_WOL_MAGIC) != 0) - ifp->if_capenable ^= IFCAP_WOL_MAGIC; + if_togglecapenable(ifp, IFCAP_WOL_MAGIC); } if ((mask & IFCAP_VLAN_HWCSUM) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWCSUM) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWCSUM; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWCSUM) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWCSUM); if ((mask & IFCAP_VLAN_HWTAGGING) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWTAGGING) != 0) { - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - if ((ifp->if_capenable & + (if_getcapabilities(ifp) & IFCAP_VLAN_HWTAGGING) != 0) { + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) NGE_SETBIT(sc, NGE_VLAN_IP_RXCTL, @@ -2390,10 +2389,10 @@ nge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) * Both VLAN hardware tagging and checksum offload is * required to do checksum offload on VLAN interface. */ - if ((ifp->if_capenable & IFCAP_TXCSUM) == 0) - ifp->if_capenable &= ~IFCAP_VLAN_HWCSUM; - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) == 0) - ifp->if_capenable &= ~IFCAP_VLAN_HWCSUM; + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) == 0) + if_setcapenablebit(ifp, 0, IFCAP_VLAN_HWCSUM); + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) == 0) + if_setcapenablebit(ifp, 0, IFCAP_VLAN_HWCSUM); NGE_UNLOCK(sc); VLAN_CAPABILITIES(ifp); break; @@ -2408,7 +2407,7 @@ nge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) static void nge_watchdog(struct nge_softc *sc) { - struct ifnet *ifp; + if_t ifp; NGE_LOCK_ASSERT(sc); @@ -2419,10 +2418,10 @@ nge_watchdog(struct nge_softc *sc) if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); if_printf(ifp, "watchdog timeout\n"); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); nge_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) nge_start_locked(ifp); } @@ -2462,12 +2461,12 @@ nge_stop(struct nge_softc *sc) struct nge_txdesc *txd; struct nge_rxdesc *rxd; int i; - struct ifnet *ifp; + if_t ifp; NGE_LOCK_ASSERT(sc); ifp = sc->nge_ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->nge_flags &= ~NGE_FLAG_LINK; callout_stop(&sc->nge_stat_ch); sc->nge_watchdog_timer = 0; @@ -2520,7 +2519,7 @@ nge_stop(struct nge_softc *sc) static void nge_wol(struct nge_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t reg; uint16_t pmstat; int pmc; @@ -2531,7 +2530,7 @@ nge_wol(struct nge_softc *sc) return; ifp = sc->nge_ifp; - if ((ifp->if_capenable & IFCAP_WOL) == 0) { + if ((if_getcapenable(ifp) & IFCAP_WOL) == 0) { /* Disable WOL & disconnect CLKRUN to save power. */ CSR_WRITE_4(sc, NGE_WOLCSR, 0); CSR_WRITE_4(sc, NGE_CLKRUN, 0); @@ -2553,11 +2552,11 @@ nge_wol(struct nge_softc *sc) /* Configure WOL events. */ reg = 0; - if ((ifp->if_capenable & IFCAP_WOL_UCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_UCAST) != 0) reg |= NGE_WOLCSR_WAKE_ON_UNICAST; - if ((ifp->if_capenable & IFCAP_WOL_MCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MCAST) != 0) reg |= NGE_WOLCSR_WAKE_ON_MULTICAST; - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) reg |= NGE_WOLCSR_WAKE_ON_MAGICPKT; CSR_WRITE_4(sc, NGE_WOLCSR, reg); @@ -2570,7 +2569,7 @@ nge_wol(struct nge_softc *sc) /* Request PME. */ pmstat = pci_read_config(sc->nge_dev, pmc + PCIR_POWER_STATUS, 2); pmstat &= ~(PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE); - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) pmstat |= PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE; pci_write_config(sc->nge_dev, pmc + PCIR_POWER_STATUS, pmstat, 2); } @@ -2606,7 +2605,7 @@ static int nge_resume(device_t dev) { struct nge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t pmstat; int pmc; @@ -2624,8 +2623,8 @@ nge_resume(device_t dev) pmc + PCIR_POWER_STATUS, pmstat, 2); } } - if (ifp->if_flags & IFF_UP) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if (if_getflags(ifp) & IFF_UP) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); nge_init_locked(sc); } diff --git a/sys/dev/nge/if_ngereg.h b/sys/dev/nge/if_ngereg.h index 89cfd79b517f..618f8a20ba59 100644 --- a/sys/dev/nge/if_ngereg.h +++ b/sys/dev/nge/if_ngereg.h @@ -634,7 +634,7 @@ struct nge_stats { }; struct nge_softc { - struct ifnet *nge_ifp; + if_t nge_ifp; device_t nge_dev; struct resource *nge_res; int nge_res_type; From nobody Mon Feb 6 17:54:24 2023 X-Original-To: dev-commits-src-main@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 4P9Ymc57Zpz3n0rk; Mon, 6 Feb 2023 17:54:24 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ymc2RnQz4YRC; Mon, 6 Feb 2023 17:54:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706064; 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=clpmgX65sStcTwzDqAKSYvcRfrJ7PZkqnubPk4I1GT0=; b=as2RrK7OxaLL/2KYP4Mb9GCykADqOlR01NQ+10knd/j50SVoVM4iCKjPsJRIJ3i6a/wUv5 vy5XCuMKA/rgsWf0Mu0B9fsQnYDaiEOfxotHtAFDt+Da5U94CJ/QF3dWH9w1ElgNEALYvo Ucwx/8e/Pg2onijxcVykQ7/ToM/gTGKwp0xKlAbILlFuZqVXHN9v5/BNgo/CXJ/CiSuS65 kWkkMDA3KEohjkyiO3F1oze3+SPf2OsVHQ1nvPKiOweniCKtXx2ax95OFJEN9Y1VesUQ1l rzEhvSchbYtQoFWZGDelaMIR2en0m+4FxD19QkLmD90k6eC5jinUFKTf3Rjljg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706064; 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=clpmgX65sStcTwzDqAKSYvcRfrJ7PZkqnubPk4I1GT0=; b=NORyBkDTAK7KGnwjZLD5GIkzBdehaPPnlM4fro20aD4382p1vJTDYyW9v29FWTsRzyMB/P Ge2JYSR7sZCePD+GrZTOeFT2IaEl0cULXy9h/JBDqNPD+KqJ8dUo0DeX1qiCRBv1L7lBx7 PivPHG6s7GTukfaAQ6KcYBEZqDzNnj3SfOrYtBAlBwNfSyNKxMUqsAHpV5w4f6fWeA63lF +zve6nzFXziLWrCJInuu+b0v1hL/6c+VV7ZfFaHB4GV+r/yzJ6HPVtQtSvzse62WQnB8aU WUGFYP80ldj8E1E5X9qa47Cmp/vOgLEEM5suLltPG3TNWvwX1d5lIwClNJ1Mdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706064; a=rsa-sha256; cv=none; b=Q8RQDTSQPtPmUTQIQNrHcdl9GqgAyLRqrbbQQdSKQ01jTF/+hbEaR6G8HAjNLIytbX9+zR 3nOQUMrVEaCYRH+h+FmVX4aqvZi4SyQDnyPct2fmCUm8dQ0L3DwuTzP37s8JTmhnIRW4A9 sunwazt65k0SyltnfyhRTYs1/bMfa4Hoy3Kx1e3/k2M6IZGF+umrpcPvY4E5yTJfUM10Xn e62snrKxmhlWbejPivrKSOkS9eTYnffcZFzWOgIlKReWoVzctb8FMwosjdAhxOcP5s1SOw vW55WUcAp9mDQoOIIk0YfWgI30trocr+8CRJTRb+Scc9qYErHpZDBY/vuXqcow== 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 4P9Ymc0zfTzk1x; Mon, 6 Feb 2023 17:54:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsOVa074872; Mon, 6 Feb 2023 17:54:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsOvk074871; Mon, 6 Feb 2023 17:54:24 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:24 GMT Message-Id: <202302061754.316HsOvk074871@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 91f3f3fc7122 - main - Mechanically convert dc(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 91f3f3fc712218b5daa96f3f18099474851e0c7e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=91f3f3fc712218b5daa96f3f18099474851e0c7e commit 91f3f3fc712218b5daa96f3f18099474851e0c7e Author: Justin Hibbits AuthorDate: 2022-09-19 21:00:41 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:13 +0000 Mechanically convert dc(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37852 --- sys/dev/dc/if_dc.c | 221 +++++++++++++++++++++++++------------------------- sys/dev/dc/if_dcreg.h | 2 +- 2 files changed, 111 insertions(+), 112 deletions(-) diff --git a/sys/dev/dc/if_dc.c b/sys/dev/dc/if_dc.c index 7bd404a69c20..b98c5808c6b1 100644 --- a/sys/dev/dc/if_dc.c +++ b/sys/dev/dc/if_dc.c @@ -246,17 +246,17 @@ static void dc_txeof(struct dc_softc *); static void dc_tick(void *); static void dc_tx_underrun(struct dc_softc *); static void dc_intr(void *); -static void dc_start(struct ifnet *); -static void dc_start_locked(struct ifnet *); -static int dc_ioctl(struct ifnet *, u_long, caddr_t); +static void dc_start(if_t); +static void dc_start_locked(if_t); +static int dc_ioctl(if_t, u_long, caddr_t); static void dc_init(void *); static void dc_init_locked(struct dc_softc *); static void dc_stop(struct dc_softc *); static void dc_watchdog(void *); static int dc_shutdown(device_t); -static int dc_ifmedia_upd(struct ifnet *); +static int dc_ifmedia_upd(if_t); static int dc_ifmedia_upd_locked(struct dc_softc *); -static void dc_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static void dc_ifmedia_sts(if_t, struct ifmediareq *); static int dc_dma_alloc(struct dc_softc *); static void dc_dma_free(struct dc_softc *); @@ -836,7 +836,7 @@ static void dc_miibus_statchg(device_t dev) { struct dc_softc *sc; - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; struct ifmedia *ifm; @@ -845,7 +845,7 @@ dc_miibus_statchg(device_t dev) mii = device_get_softc(sc->dc_miibus); ifp = sc->dc_ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; ifm = &mii->mii_media; @@ -972,7 +972,7 @@ dc_setfilt_21143(struct dc_softc *sc) uint16_t eaddr[(ETHER_ADDR_LEN+1)/2]; struct dc_desc *sframe; uint32_t h, *sp; - struct ifnet *ifp; + if_t ifp; int i; ifp = sc->dc_ifp; @@ -991,25 +991,25 @@ dc_setfilt_21143(struct dc_softc *sc) sc->dc_cdata.dc_tx_chain[i] = (struct mbuf *)sc->dc_cdata.dc_sbuf; /* If we want promiscuous mode, set the allframes bit. */ - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_RX_PROMISC); else DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_PROMISC); - if (ifp->if_flags & IFF_ALLMULTI) + if (if_getflags(ifp) & IFF_ALLMULTI) DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI); else DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI); if_foreach_llmaddr(ifp, dc_hash_maddr_21143, sp); - if (ifp->if_flags & IFF_BROADCAST) { - h = dc_mchash_le(sc, ifp->if_broadcastaddr); + if (if_getflags(ifp) & IFF_BROADCAST) { + h = dc_mchash_le(sc, if_getbroadcastaddr(ifp)); sp[h >> 4] |= htole32(1 << (h & 0xF)); } /* Set our MAC address. */ - bcopy(IF_LLADDR(sc->dc_ifp), eaddr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(sc->dc_ifp), eaddr, ETHER_ADDR_LEN); sp[39] = DC_SP_MAC(eaddr[0]); sp[40] = DC_SP_MAC(eaddr[1]); sp[41] = DC_SP_MAC(eaddr[2]); @@ -1070,24 +1070,24 @@ static void dc_setfilt_admtek(struct dc_softc *sc) { uint8_t eaddr[ETHER_ADDR_LEN]; - struct ifnet *ifp; + if_t ifp; struct dc_hash_maddr_admtek_le_ctx ctx = { sc, { 0, 0 }}; ifp = sc->dc_ifp; /* Init our MAC address. */ - bcopy(IF_LLADDR(sc->dc_ifp), eaddr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(sc->dc_ifp), eaddr, ETHER_ADDR_LEN); CSR_WRITE_4(sc, DC_AL_PAR0, eaddr[3] << 24 | eaddr[2] << 16 | eaddr[1] << 8 | eaddr[0]); CSR_WRITE_4(sc, DC_AL_PAR1, eaddr[5] << 8 | eaddr[4]); /* If we want promiscuous mode, set the allframes bit. */ - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_RX_PROMISC); else DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_PROMISC); - if (ifp->if_flags & IFF_ALLMULTI) + if (if_getflags(ifp) & IFF_ALLMULTI) DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI); else DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI); @@ -1100,7 +1100,7 @@ dc_setfilt_admtek(struct dc_softc *sc) * If we're already in promisc or allmulti mode, we * don't have to bother programming the multicast filter. */ - if (ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI)) + if (if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)) return; /* Now program new ones. */ @@ -1117,25 +1117,25 @@ static void dc_setfilt_asix(struct dc_softc *sc) { uint32_t eaddr[(ETHER_ADDR_LEN+3)/4]; - struct ifnet *ifp; + if_t ifp; uint32_t hashes[2] = { 0, 0 }; ifp = sc->dc_ifp; /* Init our MAC address. */ - bcopy(IF_LLADDR(sc->dc_ifp), eaddr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(sc->dc_ifp), eaddr, ETHER_ADDR_LEN); CSR_WRITE_4(sc, DC_AX_FILTIDX, DC_AX_FILTIDX_PAR0); CSR_WRITE_4(sc, DC_AX_FILTDATA, eaddr[0]); CSR_WRITE_4(sc, DC_AX_FILTIDX, DC_AX_FILTIDX_PAR1); CSR_WRITE_4(sc, DC_AX_FILTDATA, eaddr[1]); /* If we want promiscuous mode, set the allframes bit. */ - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_RX_PROMISC); else DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_PROMISC); - if (ifp->if_flags & IFF_ALLMULTI) + if (if_getflags(ifp) & IFF_ALLMULTI) DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI); else DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI); @@ -1144,7 +1144,7 @@ dc_setfilt_asix(struct dc_softc *sc) * The ASIX chip has a special bit to enable reception * of broadcast frames. */ - if (ifp->if_flags & IFF_BROADCAST) + if (if_getflags(ifp) & IFF_BROADCAST) DC_SETBIT(sc, DC_NETCFG, DC_AX_NETCFG_RX_BROAD); else DC_CLRBIT(sc, DC_NETCFG, DC_AX_NETCFG_RX_BROAD); @@ -1159,7 +1159,7 @@ dc_setfilt_asix(struct dc_softc *sc) * If we're already in promisc or allmulti mode, we * don't have to bother programming the multicast filter. */ - if (ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI)) + if (if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)) return; /* now program new ones */ @@ -1191,7 +1191,7 @@ static void dc_setfilt_uli(struct dc_softc *sc) { uint8_t eaddr[ETHER_ADDR_LEN]; - struct ifnet *ifp; + if_t ifp; struct dc_desc *sframe; uint32_t filter, *sp; int i, mcnt; @@ -1212,7 +1212,7 @@ dc_setfilt_uli(struct dc_softc *sc) sc->dc_cdata.dc_tx_chain[i] = (struct mbuf *)sc->dc_cdata.dc_sbuf; /* Set station address. */ - bcopy(IF_LLADDR(sc->dc_ifp), eaddr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(sc->dc_ifp), eaddr, ETHER_ADDR_LEN); *sp++ = DC_SP_MAC(eaddr[1] << 8 | eaddr[0]); *sp++ = DC_SP_MAC(eaddr[3] << 8 | eaddr[2]); *sp++ = DC_SP_MAC(eaddr[5] << 8 | eaddr[4]); @@ -1241,9 +1241,9 @@ dc_setfilt_uli(struct dc_softc *sc) if (filter & (DC_NETCFG_TX_ON | DC_NETCFG_RX_ON)) CSR_WRITE_4(sc, DC_NETCFG, filter & ~(DC_NETCFG_TX_ON | DC_NETCFG_RX_ON)); - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) filter |= DC_NETCFG_RX_PROMISC | DC_NETCFG_RX_ALLMULTI; - if (ifp->if_flags & IFF_ALLMULTI) + if (if_getflags(ifp) & IFF_ALLMULTI) filter |= DC_NETCFG_RX_ALLMULTI; CSR_WRITE_4(sc, DC_NETCFG, filter & ~(DC_NETCFG_TX_ON | DC_NETCFG_RX_ON)); @@ -1279,7 +1279,7 @@ static void dc_setfilt_xircom(struct dc_softc *sc) { uint16_t eaddr[(ETHER_ADDR_LEN+1)/2]; - struct ifnet *ifp; + if_t ifp; struct dc_desc *sframe; uint32_t h, *sp; int i; @@ -1301,25 +1301,25 @@ dc_setfilt_xircom(struct dc_softc *sc) sc->dc_cdata.dc_tx_chain[i] = (struct mbuf *)sc->dc_cdata.dc_sbuf; /* If we want promiscuous mode, set the allframes bit. */ - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_RX_PROMISC); else DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_PROMISC); - if (ifp->if_flags & IFF_ALLMULTI) + if (if_getflags(ifp) & IFF_ALLMULTI) DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI); else DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI); if_foreach_llmaddr(ifp, dc_hash_maddr_xircom, &sp); - if (ifp->if_flags & IFF_BROADCAST) { - h = dc_mchash_le(sc, ifp->if_broadcastaddr); + if (if_getflags(ifp) & IFF_BROADCAST) { + h = dc_mchash_le(sc, if_getbroadcastaddr(ifp)); sp[h >> 4] |= htole32(1 << (h & 0xF)); } /* Set our MAC address. */ - bcopy(IF_LLADDR(sc->dc_ifp), eaddr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(sc->dc_ifp), eaddr, ETHER_ADDR_LEN); sp[0] = DC_SP_MAC(eaddr[0]); sp[1] = DC_SP_MAC(eaddr[1]); sp[2] = DC_SP_MAC(eaddr[2]); @@ -2028,7 +2028,7 @@ dc_attach(device_t dev) uint32_t eaddr[(ETHER_ADDR_LEN+3)/4]; uint32_t command; struct dc_softc *sc; - struct ifnet *ifp; + if_t ifp; struct dc_mediainfo *m; uint32_t reg, revision; uint16_t *srom; @@ -2387,15 +2387,14 @@ dc_attach(device_t dev) error = ENOSPC; goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = dc_ioctl; - ifp->if_start = dc_start; - ifp->if_init = dc_init; - IFQ_SET_MAXLEN(&ifp->if_snd, DC_TX_LIST_CNT - 1); - ifp->if_snd.ifq_drv_maxlen = DC_TX_LIST_CNT - 1; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, dc_ioctl); + if_setstartfn(ifp, dc_start); + if_setinitfn(ifp, dc_init); + if_setsendqlen(ifp, DC_TX_LIST_CNT - 1); + if_setsendqready(ifp); /* * Do MII setup. If this is a 21143, check for a PHY on the @@ -2483,11 +2482,11 @@ dc_attach(device_t dev) /* * Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); - ifp->if_capabilities |= IFCAP_VLAN_MTU; - ifp->if_capenable = ifp->if_capabilities; + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); #ifdef DEVICE_POLLING - ifp->if_capabilities |= IFCAP_POLLING; + if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif callout_init_mtx(&sc->dc_stat_ch, &sc->dc_mtx, 0); @@ -2525,7 +2524,7 @@ static int dc_detach(device_t dev) { struct dc_softc *sc; - struct ifnet *ifp; + if_t ifp; struct dc_mediainfo *m; sc = device_get_softc(dev); @@ -2534,7 +2533,7 @@ dc_detach(device_t dev) ifp = sc->dc_ifp; #ifdef DEVICE_POLLING - if (ifp != NULL && ifp->if_capenable & IFCAP_POLLING) + if (ifp != NULL && if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(ifp); #endif @@ -2858,7 +2857,7 @@ static int dc_rxeof(struct dc_softc *sc) { struct mbuf *m; - struct ifnet *ifp; + if_t ifp; struct dc_desc *cur_rx; int i, total_len, rx_npkts; uint32_t rxstat; @@ -2871,10 +2870,10 @@ dc_rxeof(struct dc_softc *sc) bus_dmamap_sync(sc->dc_rx_ltag, sc->dc_rx_lmap, BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); for (i = sc->dc_cdata.dc_rx_prod; - (ifp->if_drv_flags & IFF_DRV_RUNNING) != 0; + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0; DC_INC(i, DC_RX_LIST_CNT)) { #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { if (sc->rxcycles <= 0) break; sc->rxcycles--; @@ -2921,7 +2920,7 @@ dc_rxeof(struct dc_softc *sc) if (rxstat & DC_RXSTAT_CRCERR) continue; else { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); dc_init_locked(sc); return (rx_npkts); } @@ -2964,7 +2963,7 @@ dc_rxeof(struct dc_softc *sc) if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); DC_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); DC_LOCK(sc); } @@ -2980,7 +2979,7 @@ static void dc_txeof(struct dc_softc *sc) { struct dc_desc *cur_tx; - struct ifnet *ifp; + if_t ifp; int idx, setup; uint32_t ctl, txstat; @@ -3059,7 +3058,7 @@ dc_txeof(struct dc_softc *sc) if (txstat & DC_TXSTAT_LATECOLL) if_inc_counter(ifp, IFCOUNTER_COLLISIONS, 1); if (!(txstat & DC_TXSTAT_UNDERRUN)) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); dc_init_locked(sc); return; } @@ -3076,7 +3075,7 @@ dc_txeof(struct dc_softc *sc) sc->dc_cdata.dc_tx_cons = idx; if (sc->dc_cdata.dc_tx_cnt <= DC_TX_LIST_CNT - DC_TX_LIST_RSVD) { - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if (sc->dc_cdata.dc_tx_cnt == 0) sc->dc_wdog_timer = 0; } @@ -3090,7 +3089,7 @@ dc_tick(void *xsc) { struct dc_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint32_t r; sc = xsc; @@ -3152,7 +3151,7 @@ dc_tick(void *xsc) * that time, packets will stay in the send queue, and once the * link comes up, they will be flushed out to the wire. */ - if (sc->dc_link != 0 && !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (sc->dc_link != 0 && !if_sendq_empty(ifp)) dc_start_locked(ifp); if (sc->dc_flags & DC_21143_NWAY && !sc->dc_link) @@ -3216,7 +3215,7 @@ dc_tx_underrun(struct dc_softc *sc) if (DC_IS_INTEL(sc)) CSR_WRITE_4(sc, DC_NETCFG, netcfg | DC_NETCFG_TX_ON); } else { - sc->dc_ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(sc->dc_ifp, 0, IFF_DRV_RUNNING); dc_init_locked(sc); } } @@ -3225,14 +3224,14 @@ dc_tx_underrun(struct dc_softc *sc) static poll_handler_t dc_poll; static int -dc_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +dc_poll(if_t ifp, enum poll_cmd cmd, int count) { - struct dc_softc *sc = ifp->if_softc; + struct dc_softc *sc = if_getsoftc(ifp); int rx_npkts = 0; DC_LOCK(sc); - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { DC_UNLOCK(sc); return (rx_npkts); } @@ -3240,8 +3239,8 @@ dc_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) sc->rxcycles = count; rx_npkts = dc_rxeof(sc); dc_txeof(sc); - if (!IFQ_IS_EMPTY(&ifp->if_snd) && - !(ifp->if_drv_flags & IFF_DRV_OACTIVE)) + if (!if_sendq_empty(ifp) && + !(if_getdrvflags(ifp) & IFF_DRV_OACTIVE)) dc_start_locked(ifp); if (cmd == POLL_AND_CHECK_STATUS) { /* also check status register */ @@ -3274,7 +3273,7 @@ dc_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) if (status & DC_ISR_BUS_ERR) { if_printf(ifp, "%s: bus error\n", __func__); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); dc_init_locked(sc); } } @@ -3287,7 +3286,7 @@ static void dc_intr(void *arg) { struct dc_softc *sc; - struct ifnet *ifp; + if_t ifp; uint32_t r, status; int n; @@ -3304,7 +3303,7 @@ dc_intr(void *arg) } ifp = sc->dc_ifp; #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { DC_UNLOCK(sc); return; } @@ -3313,7 +3312,7 @@ dc_intr(void *arg) CSR_WRITE_4(sc, DC_IMR, 0x00000000); for (n = 16; n > 0; n--) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) break; /* Ack interrupts. */ CSR_WRITE_4(sc, DC_ISR, status); @@ -3349,11 +3348,11 @@ dc_intr(void *arg) } } - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) dc_start_locked(ifp); if (status & DC_ISR_BUS_ERR) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); dc_init_locked(sc); DC_UNLOCK(sc); return; @@ -3364,7 +3363,7 @@ dc_intr(void *arg) } /* Re-enable interrupts. */ - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) CSR_WRITE_4(sc, DC_IMR, DC_INTRS); DC_UNLOCK(sc); @@ -3506,11 +3505,11 @@ dc_encap(struct dc_softc *sc, struct mbuf **m_head) } static void -dc_start(struct ifnet *ifp) +dc_start(if_t ifp) { struct dc_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); DC_LOCK(sc); dc_start_locked(ifp); DC_UNLOCK(sc); @@ -3524,39 +3523,39 @@ dc_start(struct ifnet *ifp) * addresses. */ static void -dc_start_locked(struct ifnet *ifp) +dc_start_locked(if_t ifp) { struct dc_softc *sc; struct mbuf *m_head; int queued; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); DC_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || sc->dc_link == 0) return; sc->dc_cdata.dc_tx_first = sc->dc_cdata.dc_tx_prod; - for (queued = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd); ) { + for (queued = 0; !if_sendq_empty(ifp); ) { /* * If there's no way we can send any packets, return now. */ if (sc->dc_cdata.dc_tx_cnt > DC_TX_LIST_CNT - DC_TX_LIST_RSVD) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; if (dc_encap(sc, &m_head)) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -3593,13 +3592,13 @@ dc_init(void *xsc) static void dc_init_locked(struct dc_softc *sc) { - struct ifnet *ifp = sc->dc_ifp; + if_t ifp = sc->dc_ifp; struct mii_data *mii; struct ifmedia *ifm; DC_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; mii = device_get_softc(sc->dc_miibus); @@ -3723,7 +3722,7 @@ dc_init_locked(struct dc_softc *sc) * the case of polling. Some cards (e.g. fxp) turn interrupts on * after a reset. */ - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) CSR_WRITE_4(sc, DC_IMR, 0x00000000); else #endif @@ -3761,8 +3760,8 @@ dc_init_locked(struct dc_softc *sc) DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_RX_ON); CSR_WRITE_4(sc, DC_RXSTART, 0xFFFFFFFF); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); dc_ifmedia_upd_locked(sc); @@ -3787,12 +3786,12 @@ dc_init_locked(struct dc_softc *sc) * Set media options. */ static int -dc_ifmedia_upd(struct ifnet *ifp) +dc_ifmedia_upd(if_t ifp) { struct dc_softc *sc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); DC_LOCK(sc); error = dc_ifmedia_upd_locked(sc); DC_UNLOCK(sc); @@ -3827,13 +3826,13 @@ dc_ifmedia_upd_locked(struct dc_softc *sc) * Report current media status. */ static void -dc_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +dc_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct dc_softc *sc; struct mii_data *mii; struct ifmedia *ifm; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = device_get_softc(sc->dc_miibus); DC_LOCK(sc); mii_pollstat(mii); @@ -3852,9 +3851,9 @@ dc_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -dc_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +dc_ioctl(if_t ifp, u_long command, caddr_t data) { - struct dc_softc *sc = ifp->if_softc; + struct dc_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *)data; struct mii_data *mii; int error = 0; @@ -3862,28 +3861,28 @@ dc_ioctl(struct ifnet *ifp, u_long command, caddr_t data) switch (command) { case SIOCSIFFLAGS: DC_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - int need_setfilt = (ifp->if_flags ^ sc->dc_if_flags) & + if (if_getflags(ifp) & IFF_UP) { + int need_setfilt = (if_getflags(ifp) ^ sc->dc_if_flags) & (IFF_PROMISC | IFF_ALLMULTI); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { if (need_setfilt) dc_setfilt(sc); } else { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); dc_init_locked(sc); } } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) dc_stop(sc); } - sc->dc_if_flags = ifp->if_flags; + sc->dc_if_flags = if_getflags(ifp); DC_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: DC_LOCK(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) dc_setfilt(sc); DC_UNLOCK(sc); break; @@ -3895,24 +3894,24 @@ dc_ioctl(struct ifnet *ifp, u_long command, caddr_t data) case SIOCSIFCAP: #ifdef DEVICE_POLLING if (ifr->ifr_reqcap & IFCAP_POLLING && - !(ifp->if_capenable & IFCAP_POLLING)) { + !(if_getcapenable(ifp) & IFCAP_POLLING)) { error = ether_poll_register(dc_poll, ifp); if (error) return(error); DC_LOCK(sc); /* Disable interrupts */ CSR_WRITE_4(sc, DC_IMR, 0x00000000); - ifp->if_capenable |= IFCAP_POLLING; + if_setcapenablebit(ifp, IFCAP_POLLING, 0); DC_UNLOCK(sc); return (error); } if (!(ifr->ifr_reqcap & IFCAP_POLLING) && - ifp->if_capenable & IFCAP_POLLING) { + if_getcapenable(ifp) & IFCAP_POLLING) { error = ether_poll_deregister(ifp); /* Enable interrupts. */ DC_LOCK(sc); CSR_WRITE_4(sc, DC_IMR, DC_INTRS); - ifp->if_capenable &= ~IFCAP_POLLING; + if_setcapenablebit(ifp, 0, IFCAP_POLLING); DC_UNLOCK(sc); return (error); } @@ -3930,7 +3929,7 @@ static void dc_watchdog(void *xsc) { struct dc_softc *sc = xsc; - struct ifnet *ifp; + if_t ifp; DC_LOCK_ASSERT(sc); @@ -3943,10 +3942,10 @@ dc_watchdog(void *xsc) if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); device_printf(sc->dc_dev, "watchdog timeout\n"); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); dc_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) dc_start_locked(ifp); } @@ -3957,7 +3956,7 @@ dc_watchdog(void *xsc) static void dc_stop(struct dc_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct dc_list_data *ld; struct dc_chain_data *cd; int i; @@ -3974,7 +3973,7 @@ dc_stop(struct dc_softc *sc) sc->dc_wdog_timer = 0; sc->dc_link = 0; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); netcfg = CSR_READ_4(sc, DC_NETCFG); if (netcfg & (DC_NETCFG_RX_ON | DC_NETCFG_TX_ON)) @@ -4057,14 +4056,14 @@ static int dc_resume(device_t dev) { struct dc_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); ifp = sc->dc_ifp; /* reinitialize interface if necessary */ DC_LOCK(sc); - if (ifp->if_flags & IFF_UP) + if (if_getflags(ifp) & IFF_UP) dc_init_locked(sc); sc->suspended = 0; diff --git a/sys/dev/dc/if_dcreg.h b/sys/dev/dc/if_dcreg.h index 9ae26cc6e59f..4a64d60e41b9 100644 --- a/sys/dev/dc/if_dcreg.h +++ b/sys/dev/dc/if_dcreg.h @@ -734,7 +734,7 @@ struct dc_type { /* End of ULi M5263 specific registers */ struct dc_softc { - struct ifnet *dc_ifp; /* interface info */ + if_t dc_ifp; /* interface info */ device_t dc_dev; /* device info */ bus_space_handle_t dc_bhandle; /* bus space handle */ bus_space_tag_t dc_btag; /* bus space tag */ From nobody Mon Feb 6 17:54:25 2023 X-Original-To: dev-commits-src-main@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 4P9Ymd41wBz3n0rr; Mon, 6 Feb 2023 17:54:25 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ymd365Nz4YhF; Mon, 6 Feb 2023 17:54:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706065; 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=pV8Jkwz3xwRwMm7Padn8EBcB1TnRHXwjbs1aKDvWB20=; b=nWI9W3vjkeuEVupekJki3Y1QSVrxKiNLESGrcbWTBArDl4bFd6Vy2aCxI4+UlGPzaDML1b yWMkdu0fUtB93+uQ+bN8SS6tJEgx63NH+Dq4CgQIc40+bhR4FuQFQ4vS6ttFs+bIScGKlK K9IU8ohddk9xWpOW4XZ4wP9Y7bjhXTIFqYbh9sUFXu77QGg/uEOTImJA0k2NCSiVDw9n16 rHyISCLHicI+9VSl8+elYDXk2cWUzxsg1RN81VWjLfyhBQ/O7rdFuumGua2lqDL/3uUX2h UCMJe0/qiEj191mhzzqbX3/CAIbPWqb4usbFqhnBBrySP5bxtMb4E0CtRDr8rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706065; 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=pV8Jkwz3xwRwMm7Padn8EBcB1TnRHXwjbs1aKDvWB20=; b=hN9F7zzInFFXa26MoLxHPDzK62IwjxnBE0ckPjKVPAEWRscK/MBzq4v71Iaz56bxEBcoot 6DADrumD1g2BwgBo58H+NCekmLDWts5KctMwMbtziR/4t+mc6GkBqdAgnGwxcP/Yf6POzt GIv7OZw9wRbqt3DahYY+5bpuyN1pzpEiTfjFLbmtCSTZwVXEPnQifHhAKrXmr352r8wbw9 AYVgT9x0cLAILxWRwNz4138DBX2JnJaTVmwXPfxAvuEGpoKUx5DFxpAsj9QnCpOZhdQ+Ko JEPdkUlOxNMDsBfK6CS7Mdoroi9Rfm7Or0yh5x/ykUtJxPrqc2Y7Tsc6vYg5TA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706065; a=rsa-sha256; cv=none; b=pfh673pjZyGRtki+EJAeCoGmqXnvr6yqYSctRalIxTIB/hvKIo/N299TC8WsYUvpWg+jNL QBwF/Yr65LDbdRcSZ09sPq0/ZhaZ1DStYadhQ9LhAIYSUige75gAC9rqQI67rD8Om0NBUE 7OfEzrxdN40LtFGygkuzkll4XZd8+e+rLQqjQ03WBShuIJMfDCLXGNyD5XTl9hIeDCo89y xM4yPoLlVJ5dkv87R0QBBCoaN/EEU9sUgyiSxEz1JG+IZtKXdPdKbHs0aKbRwzr4ZhrNQt dQKGO+bhFjU2BN2LwtB9l5E3vY+FEnbkuz6prgyfR8rL7bkPzKwvFd65DP94RA== 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 4P9Ymd1cM5zkjX; Mon, 6 Feb 2023 17:54:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsPLl074900; Mon, 6 Feb 2023 17:54:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsPxc074899; Mon, 6 Feb 2023 17:54:25 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:25 GMT Message-Id: <202302061754.316HsPxc074899@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: bc14c73b7b9c - main - Mechanically convert al_eth(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bc14c73b7b9c8dc43675a24f7da2040e469db328 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=bc14c73b7b9c8dc43675a24f7da2040e469db328 commit bc14c73b7b9c8dc43675a24f7da2040e469db328 Author: Justin Hibbits AuthorDate: 2022-08-19 16:05:38 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:13 +0000 Mechanically convert al_eth(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37834 --- sys/dev/al_eth/al_eth.c | 138 ++++++++++++++++++++++++------------------------ 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/sys/dev/al_eth/al_eth.c b/sys/dev/al_eth/al_eth.c index 355f1e193b68..43d3b8fed605 100644 --- a/sys/dev/al_eth/al_eth.c +++ b/sys/dev/al_eth/al_eth.c @@ -197,11 +197,11 @@ static void al_eth_down(struct al_eth_adapter *); static void al_eth_interrupts_unmask(struct al_eth_adapter *); static void al_eth_interrupts_mask(struct al_eth_adapter *); static int al_eth_check_mtu(struct al_eth_adapter *, int); -static uint64_t al_get_counter(struct ifnet *, ift_counter); +static uint64_t al_get_counter(if_t, ift_counter); static void al_eth_req_rx_buff_size(struct al_eth_adapter *, int); static int al_eth_board_params_init(struct al_eth_adapter *); -static int al_media_update(struct ifnet *); -static void al_media_status(struct ifnet *, struct ifmediareq *); +static int al_media_update(if_t); +static void al_media_status(if_t, struct ifmediareq *); static int al_eth_function_reset(struct al_eth_adapter *); static int al_eth_hw_init_adapter(struct al_eth_adapter *); static void al_eth_serdes_init(struct al_eth_adapter *); @@ -212,9 +212,9 @@ static void al_tick_stats(void *); /* ifnet entry points */ static void al_init(void *); -static int al_mq_start(struct ifnet *, struct mbuf *); -static void al_qflush(struct ifnet *); -static int al_ioctl(struct ifnet * ifp, u_long, caddr_t); +static int al_mq_start(if_t, struct mbuf *); +static void al_qflush(if_t); +static int al_ioctl(if_t ifp, u_long, caddr_t); /* bus entry points */ static int al_probe(device_t); @@ -274,7 +274,7 @@ al_attach(device_t dev) struct sysctl_oid_list *child; struct sysctl_ctx_list *ctx; struct sysctl_oid *tree; - struct ifnet *ifp; + if_t ifp; uint32_t dev_id; uint32_t rev_id; int bar_udma; @@ -341,27 +341,27 @@ al_attach(device_t dev) adapter->netdev->if_link_state = LINK_STATE_DOWN; - ifp->if_softc = adapter; + if_setsoftc(ifp, adapter); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - ifp->if_flags = ifp->if_drv_flags; - ifp->if_flags |= IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST | IFF_ALLMULTI; - ifp->if_transmit = al_mq_start; - ifp->if_qflush = al_qflush; - ifp->if_ioctl = al_ioctl; - ifp->if_init = al_init; - ifp->if_get_counter = al_get_counter; - ifp->if_mtu = AL_DEFAULT_MTU; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); + if_setflags(ifp, if_getdrvflags(ifp)); + if_setflagbits(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST | IFF_ALLMULTI, 0); + if_settransmitfn(ifp, al_mq_start); + if_setqflushfn(ifp, al_qflush); + if_setioctlfn(ifp, al_ioctl); + if_setinitfn(ifp, al_init); + if_setgetcounterfn(ifp, al_get_counter); + if_setmtu(ifp, AL_DEFAULT_MTU); - adapter->if_flags = ifp->if_flags; + adapter->if_flags = if_getflags(ifp); - ifp->if_capabilities = ifp->if_capenable = 0; + if_setcapabilities(ifp, if_getcapenable(ifp) ); - ifp->if_capabilities |= IFCAP_HWCSUM | + if_setcapabilitiesbit(ifp, IFCAP_HWCSUM | IFCAP_HWCSUM_IPV6 | IFCAP_TSO | - IFCAP_LRO | IFCAP_JUMBO_MTU; + IFCAP_LRO | IFCAP_JUMBO_MTU, 0); - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); adapter->id_number = g_adapters_count; @@ -424,7 +424,7 @@ al_attach(device_t dev) callout_init_mtx(&adapter->wd_callout, &adapter->wd_mtx, 0); ether_ifattach(ifp, adapter->mac_addr); - ifp->if_mtu = AL_DEFAULT_MTU; + if_setmtu(ifp, AL_DEFAULT_MTU); if (adapter->mac_mode == AL_ETH_MAC_MODE_RGMII) { al_eth_hw_init(adapter); @@ -1028,9 +1028,9 @@ al_init_locked(void *arg) al_eth_down(adapter); rc = al_eth_up(adapter); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if (rc == 0) - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); } static void @@ -1726,9 +1726,9 @@ al_eth_start_xmit(void *arg, int pending) } static int -al_mq_start(struct ifnet *ifp, struct mbuf *m) +al_mq_start(if_t ifp, struct mbuf *m) { - struct al_eth_adapter *adapter = ifp->if_softc; + struct al_eth_adapter *adapter = if_getsoftc(ifp); struct al_eth_ring *tx_ring; int i; int ret; @@ -1739,7 +1739,7 @@ al_mq_start(struct ifnet *ifp, struct mbuf *m) else i = curcpu % adapter->num_tx_queues; - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING|IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING|IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) { return (EFAULT); } @@ -1762,7 +1762,7 @@ al_mq_start(struct ifnet *ifp, struct mbuf *m) } static void -al_qflush(struct ifnet * ifp) +al_qflush(if_t ifp) { /* unused */ @@ -2829,7 +2829,7 @@ al_eth_update_stats(struct al_eth_adapter *adapter) } static uint64_t -al_get_counter(struct ifnet *ifp, ift_counter cnt) +al_get_counter(if_t ifp, ift_counter cnt) { struct al_eth_adapter *adapter; struct al_eth_mac_stats *mac_stats; @@ -2906,7 +2906,7 @@ al_program_addr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void al_eth_set_rx_mode(struct al_eth_adapter *adapter) { - struct ifnet *ifp = adapter->netdev; + if_t ifp = adapter->netdev; int mc, uc; uint8_t i; @@ -2914,10 +2914,10 @@ al_eth_set_rx_mode(struct al_eth_adapter *adapter) mc = if_foreach_llmaddr(ifp, al_count_maddr, NULL); uc = if_lladdr_count(ifp); - if ((ifp->if_flags & IFF_PROMISC) != 0) { + if ((if_getflags(ifp) & IFF_PROMISC) != 0) { al_eth_mac_table_promiscuous_set(adapter, true); } else { - if ((ifp->if_flags & IFF_ALLMULTI) != 0) { + if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) { /* This interface is in all-multicasts mode (used by multicast routers). */ al_eth_mac_table_all_multicast_add(adapter, AL_ETH_MAC_TABLE_ALL_MULTICAST_IDX, 1); @@ -3128,20 +3128,20 @@ al_eth_up_complete(struct al_eth_adapter *adapter) } static int -al_media_update(struct ifnet *ifp) +al_media_update(if_t ifp) { - struct al_eth_adapter *adapter = ifp->if_softc; + struct al_eth_adapter *adapter = if_getsoftc(ifp); - if ((ifp->if_flags & IFF_UP) != 0) + if ((if_getflags(ifp) & IFF_UP) != 0) mii_mediachg(adapter->mii); return (0); } static void -al_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) +al_media_status(if_t ifp, struct ifmediareq *ifmr) { - struct al_eth_adapter *sc = ifp->if_softc; + struct al_eth_adapter *sc = if_getsoftc(ifp); struct mii_data *mii; if (sc->mii == NULL) { @@ -3182,7 +3182,7 @@ al_tick_stats(void *arg) static int al_eth_up(struct al_eth_adapter *adapter) { - struct ifnet *ifp = adapter->netdev; + if_t ifp = adapter->netdev; int rc; if (adapter->up) @@ -3193,13 +3193,13 @@ al_eth_up(struct al_eth_adapter *adapter) adapter->flags &= ~AL_ETH_FLAG_RESET_REQUESTED; } - ifp->if_hwassist = 0; - if ((ifp->if_capenable & IFCAP_TSO) != 0) - ifp->if_hwassist |= CSUM_TSO; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist |= (CSUM_TCP | CSUM_UDP); - if ((ifp->if_capenable & IFCAP_TXCSUM_IPV6) != 0) - ifp->if_hwassist |= (CSUM_TCP_IPV6 | CSUM_UDP_IPV6); + if_sethwassist(ifp, 0); + if ((if_getcapenable(ifp) & IFCAP_TSO) != 0) + if_sethwassistbits(ifp, CSUM_TSO, 0); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassistbits(ifp, (CSUM_TCP | CSUM_UDP), 0); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM_IPV6) != 0) + if_sethwassistbits(ifp, (CSUM_TCP_IPV6 | CSUM_UDP_IPV6), 0); al_eth_serdes_init(adapter); @@ -3298,9 +3298,9 @@ al_eth_down(struct al_eth_adapter *adapter) } static int -al_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +al_ioctl(if_t ifp, u_long command, caddr_t data) { - struct al_eth_adapter *adapter = ifp->if_softc; + struct al_eth_adapter *adapter = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *)data; int error = 0; @@ -3314,15 +3314,15 @@ al_ioctl(struct ifnet *ifp, u_long command, caddr_t data) break; } - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); adapter->netdev->if_mtu = ifr->ifr_mtu; al_init(adapter); break; } case SIOCSIFFLAGS: - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - if (((ifp->if_flags ^ adapter->if_flags) & + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if (((if_getflags(ifp) ^ adapter->if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { device_printf_dbg(adapter->dev, "ioctl promisc/allmulti\n"); @@ -3331,26 +3331,26 @@ al_ioctl(struct ifnet *ifp, u_long command, caddr_t data) } else { error = al_eth_up(adapter); if (error == 0) - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); } } else { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { al_eth_down(adapter); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); } } - adapter->if_flags = ifp->if_flags; + adapter->if_flags = if_getflags(ifp); break; case SIOCADDMULTI: case SIOCDELMULTI: - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { device_printf_dbg(adapter->dev, "ioctl add/del multi before\n"); al_eth_set_rx_mode(adapter); #ifdef DEVICE_POLLING - if ((ifp->if_capenable & IFCAP_POLLING) == 0) + if ((if_getcapenable(ifp) & IFCAP_POLLING) == 0) #endif } break; @@ -3368,50 +3368,50 @@ al_ioctl(struct ifnet *ifp, u_long command, caddr_t data) int mask, reinit; reinit = 0; - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); #ifdef DEVICE_POLLING if ((mask & IFCAP_POLLING) != 0) { if ((ifr->ifr_reqcap & IFCAP_POLLING) != 0) { if (error != 0) return (error); - ifp->if_capenable |= IFCAP_POLLING; + if_setcapenablebit(ifp, IFCAP_POLLING, 0); } else { error = ether_poll_deregister(ifp); /* Enable interrupt even in error case */ - ifp->if_capenable &= ~IFCAP_POLLING; + if_setcapenablebit(ifp, 0, IFCAP_POLLING); } } #endif if ((mask & IFCAP_HWCSUM) != 0) { /* apply to both rx and tx */ - ifp->if_capenable ^= IFCAP_HWCSUM; + if_togglecapenable(ifp, IFCAP_HWCSUM); reinit = 1; } if ((mask & IFCAP_HWCSUM_IPV6) != 0) { - ifp->if_capenable ^= IFCAP_HWCSUM_IPV6; + if_togglecapenable(ifp, IFCAP_HWCSUM_IPV6); reinit = 1; } if ((mask & IFCAP_TSO) != 0) { - ifp->if_capenable ^= IFCAP_TSO; + if_togglecapenable(ifp, IFCAP_TSO); reinit = 1; } if ((mask & IFCAP_LRO) != 0) { - ifp->if_capenable ^= IFCAP_LRO; + if_togglecapenable(ifp, IFCAP_LRO); } if ((mask & IFCAP_VLAN_HWTAGGING) != 0) { - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); reinit = 1; } if ((mask & IFCAP_VLAN_HWFILTER) != 0) { - ifp->if_capenable ^= IFCAP_VLAN_HWFILTER; + if_togglecapenable(ifp, IFCAP_VLAN_HWFILTER); reinit = 1; } if ((mask & IFCAP_VLAN_HWTSO) != 0) { - ifp->if_capenable ^= IFCAP_VLAN_HWTSO; + if_togglecapenable(ifp, IFCAP_VLAN_HWTSO); reinit = 1; } if ((reinit != 0) && - ((ifp->if_drv_flags & IFF_DRV_RUNNING)) != 0) + ((if_getdrvflags(ifp) & IFF_DRV_RUNNING)) != 0) { al_init(adapter); } From nobody Mon Feb 6 17:54:26 2023 X-Original-To: dev-commits-src-main@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 4P9Ymf4Vxzz3n0dt; Mon, 6 Feb 2023 17:54:26 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ymf3SzKz4YWf; Mon, 6 Feb 2023 17:54:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706066; 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=IIjcc936amKbA9fJLjw/93W2mk7K/SYNpaZND6zlBZo=; b=HARuEfZDYcUgKqJlx+IFQTcNrJ0lDXucaZ3z5ePLORRBxaIxx/+EcEO9XNcO96c/oKYwDT jzqxHBoc56Y1nZwlS4cK7v+l3G00j8WDsB96cG0De717fsZ303ria9n9sxKb+6jU07F6mB waoNgLyUyhg6axdXJKRe2R4KIPKUwIhmG3Lq2FudfR9heVQdldSrlaQ+FWAgoTu90jaqOj Ny2mGQ7xo+As2kx2uHeKbqH9rWc+x+t9IIE15h82xU7Im6JBORuufjGWyRrzXVmlYhs7vs Hmxf6EsdEGb5t3ivvt4sXvSB21wZBRxe2tTrib3dtTJsMwVtafn4eD9nY+okIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706066; 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=IIjcc936amKbA9fJLjw/93W2mk7K/SYNpaZND6zlBZo=; b=muI9F1x2rkY5g09QKDykMzk2sjLHFtjj10gKTs7BA1ogY9nLX97kwJwuw+uxTqBGTgK32E +Mc1diTLJ4MzzL8WUCK1kkcWRTQpydqsGBe6uhf2Rayq058B3eXrVEw0ygMmcldw3q+poM +GLZ/fXTjnIwljLGQnw1QAuPNO0YTh5yQYgo747zQLMqmm8mOsszolo7nDUBkJcQ0/ww7+ Mrh+OkDxE+E6VmDE9o2P8duY6DzkaggJAQajTBNsrFjcyBSKL56adDsrh9V14Vsh87wzAw 7jCOTU+g2s+ZsdWWKNdyHo6C80rTDg+eao63wRvIuGXGILJJ3xWXeDMyx7uoKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706066; a=rsa-sha256; cv=none; b=FaAcRz/jGYPblIL67nKPKB4ISEXsc4drvK2A8kJfdwYVA+bp/PBzEwzk3slV30XH6ylgCW z027VlKdPrAG05LnpTU+OAFWBhXZFy7RCca9o0VsXMjSZC4cUkFybeAwMkb3i4yzhR1TJN MH62MbSTCBSyNtTsfmFFZ0WYEcZCET6Q3VBKEwpzP3woiwuXt5FgDbL0j7+wu5rotU+4tD MgcmiY4oyBgJZtsNbarbrrfmk9Ad1Ig+vMsIq3uWb1moekP25tqk1xWbDBRN14Kaz04Lw/ vX4dywq9+F66AUmZ2B31X5fVhYHVS3RkKbjY0KkC1Di3hB0JtDZyUCAcOZ+jUQ== 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 4P9Ymf2RP9zk6T; Mon, 6 Feb 2023 17:54:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsQu3074926; Mon, 6 Feb 2023 17:54:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsQSp074925; Mon, 6 Feb 2023 17:54:26 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:26 GMT Message-Id: <202302061754.316HsQSp074925@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 524364126752 - main - Mechanically convert age(4), alc(4), and ale(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 524364126752a6986acdd9f2ecfff4cafd8bb439 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=524364126752a6986acdd9f2ecfff4cafd8bb439 commit 524364126752a6986acdd9f2ecfff4cafd8bb439 Author: Justin Hibbits AuthorDate: 2021-11-02 14:17:56 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:14 +0000 Mechanically convert age(4), alc(4), and ale(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37787 --- sys/dev/age/if_age.c | 239 +++++++++++++++++++++-------------------- sys/dev/age/if_agevar.h | 2 +- sys/dev/alc/if_alc.c | 275 ++++++++++++++++++++++++------------------------ sys/dev/alc/if_alcvar.h | 2 +- sys/dev/ale/if_ale.c | 245 +++++++++++++++++++++--------------------- sys/dev/ale/if_alevar.h | 2 +- 6 files changed, 381 insertions(+), 384 deletions(-) diff --git a/sys/dev/age/if_age.c b/sys/dev/age/if_age.c index 75d0e5c80952..b712ff141e69 100644 --- a/sys/dev/age/if_age.c +++ b/sys/dev/age/if_age.c @@ -104,8 +104,8 @@ static struct age_dev { static int age_miibus_readreg(device_t, int, int); static int age_miibus_writereg(device_t, int, int, int); static void age_miibus_statchg(device_t); -static void age_mediastatus(struct ifnet *, struct ifmediareq *); -static int age_mediachange(struct ifnet *); +static void age_mediastatus(if_t, struct ifmediareq *); +static int age_mediachange(if_t); static int age_probe(device_t); static void age_get_macaddr(struct age_softc *); static void age_phy_reset(struct age_softc *); @@ -121,10 +121,10 @@ static void age_setwol(struct age_softc *); static int age_suspend(device_t); static int age_resume(device_t); static int age_encap(struct age_softc *, struct mbuf **); -static void age_start(struct ifnet *); -static void age_start_locked(struct ifnet *); +static void age_start(if_t); +static void age_start_locked(if_t); static void age_watchdog(struct age_softc *); -static int age_ioctl(struct ifnet *, u_long, caddr_t); +static int age_ioctl(if_t, u_long, caddr_t); static void age_mac_config(struct age_softc *); static void age_link_task(void *, int); static void age_stats_update(struct age_softc *); @@ -146,7 +146,7 @@ static void age_init_rr_ring(struct age_softc *); static void age_init_cmb_block(struct age_softc *); static void age_init_smb_block(struct age_softc *); #ifndef __NO_STRICT_ALIGNMENT -static struct mbuf *age_fixup_rx(struct ifnet *, struct mbuf *); +static struct mbuf *age_fixup_rx(if_t, struct mbuf *); #endif static int age_newbuf(struct age_softc *, struct age_rxdesc *); static void age_rxvlan(struct age_softc *); @@ -276,12 +276,12 @@ age_miibus_statchg(device_t dev) * Get the current interface media status. */ static void -age_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) +age_mediastatus(if_t ifp, struct ifmediareq *ifmr) { struct age_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); AGE_LOCK(sc); mii = device_get_softc(sc->age_miibus); @@ -295,14 +295,14 @@ age_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) * Set hardware to newly-selected media. */ static int -age_mediachange(struct ifnet *ifp) +age_mediachange(if_t ifp) { struct age_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); AGE_LOCK(sc); mii = device_get_softc(sc->age_miibus); LIST_FOREACH(miisc, &mii->mii_phys, mii_list) @@ -461,7 +461,7 @@ static int age_attach(device_t dev) { struct age_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t burst; int error, i, msic, msixc, pmc; @@ -599,22 +599,21 @@ age_attach(device_t dev) goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = age_ioctl; - ifp->if_start = age_start; - ifp->if_init = age_init; - ifp->if_snd.ifq_drv_maxlen = AGE_TX_RING_CNT - 1; - IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); - IFQ_SET_READY(&ifp->if_snd); - ifp->if_capabilities = IFCAP_HWCSUM | IFCAP_TSO4; - ifp->if_hwassist = AGE_CSUM_FEATURES | CSUM_TSO; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, age_ioctl); + if_setstartfn(ifp, age_start); + if_setinitfn(ifp, age_init); + if_setsendqlen(ifp, AGE_TX_RING_CNT - 1); + if_setsendqready(ifp); + if_setcapabilities(ifp, IFCAP_HWCSUM | IFCAP_TSO4); + if_sethwassist(ifp, AGE_CSUM_FEATURES | CSUM_TSO); if (pci_find_cap(dev, PCIY_PMG, &pmc) == 0) { sc->age_flags |= AGE_FLAG_PMCAP; - ifp->if_capabilities |= IFCAP_WOL_MAGIC | IFCAP_WOL_MCAST; + if_setcapabilitiesbit(ifp, IFCAP_WOL_MAGIC | IFCAP_WOL_MCAST, 0); } - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); /* Set up MII bus. */ error = mii_attach(dev, &sc->age_miibus, ifp, age_mediachange, @@ -628,12 +627,12 @@ age_attach(device_t dev) ether_ifattach(ifp, sc->age_eaddr); /* VLAN capability setup. */ - ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING | - IFCAP_VLAN_HWCSUM | IFCAP_VLAN_HWTSO; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING | + IFCAP_VLAN_HWCSUM | IFCAP_VLAN_HWTSO, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); /* Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); /* Create local taskq. */ sc->age_tq = taskqueue_create_fast("age_taskq", M_WAITOK, @@ -679,7 +678,7 @@ static int age_detach(device_t dev) { struct age_softc *sc; - struct ifnet *ifp; + if_t ifp; int i, msic; sc = device_get_softc(dev); @@ -1320,7 +1319,7 @@ age_shutdown(device_t dev) static void age_setwol(struct age_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; uint32_t reg, pmcs; uint16_t pmstat; @@ -1347,7 +1346,7 @@ age_setwol(struct age_softc *sc) } ifp = sc->age_ifp; - if ((ifp->if_capenable & IFCAP_WOL) != 0) { + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) { /* * Note, this driver resets the link speed to 10/100Mbps with * auto-negotiation but we don't know whether that operation @@ -1420,15 +1419,15 @@ age_setwol(struct age_softc *sc) got_link: pmcs = 0; - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) pmcs |= WOL_CFG_MAGIC | WOL_CFG_MAGIC_ENB; CSR_WRITE_4(sc, AGE_WOL_CFG, pmcs); reg = CSR_READ_4(sc, AGE_MAC_CFG); reg &= ~(MAC_CFG_DBG | MAC_CFG_PROMISC); reg &= ~(MAC_CFG_ALLMULTI | MAC_CFG_BCAST); - if ((ifp->if_capenable & IFCAP_WOL_MCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MCAST) != 0) reg |= MAC_CFG_ALLMULTI | MAC_CFG_BCAST; - if ((ifp->if_capenable & IFCAP_WOL) != 0) { + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) { reg |= MAC_CFG_RX_ENB; CSR_WRITE_4(sc, AGE_MAC_CFG, reg); } @@ -1436,12 +1435,12 @@ got_link: /* Request PME. */ pmstat = pci_read_config(sc->age_dev, pmc + PCIR_POWER_STATUS, 2); pmstat &= ~(PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE); - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) pmstat |= PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE; pci_write_config(sc->age_dev, pmc + PCIR_POWER_STATUS, pmstat, 2); #ifdef notyet /* See above for powering down PHY issues. */ - if ((ifp->if_capenable & IFCAP_WOL) == 0) { + if ((if_getcapenable(ifp) & IFCAP_WOL) == 0) { /* No WOL, PHY power down. */ age_miibus_writereg(sc->age_dev, sc->age_phyaddr, MII_BMCR, BMCR_PDOWN); @@ -1468,14 +1467,14 @@ static int age_resume(device_t dev) { struct age_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); AGE_LOCK(sc); age_phy_reset(sc); ifp = sc->age_ifp; - if ((ifp->if_flags & IFF_UP) != 0) + if ((if_getflags(ifp) & IFF_UP) != 0) age_init_locked(sc); AGE_UNLOCK(sc); @@ -1720,33 +1719,33 @@ age_encap(struct age_softc *sc, struct mbuf **m_head) } static void -age_start(struct ifnet *ifp) +age_start(if_t ifp) { struct age_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); AGE_LOCK(sc); age_start_locked(ifp); AGE_UNLOCK(sc); } static void -age_start_locked(struct ifnet *ifp) +age_start_locked(if_t ifp) { struct age_softc *sc; struct mbuf *m_head; int enq; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); AGE_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->age_flags & AGE_FLAG_LINK) == 0) return; - for (enq = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd); ) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + for (enq = 0; !if_sendq_empty(ifp); ) { + m_head = if_dequeue(ifp); if (m_head == NULL) break; /* @@ -1757,8 +1756,8 @@ age_start_locked(struct ifnet *ifp) if (age_encap(sc, &m_head)) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -1781,7 +1780,7 @@ age_start_locked(struct ifnet *ifp) static void age_watchdog(struct age_softc *sc) { - struct ifnet *ifp; + if_t ifp; AGE_LOCK_ASSERT(sc); @@ -1792,27 +1791,27 @@ age_watchdog(struct age_softc *sc) if ((sc->age_flags & AGE_FLAG_LINK) == 0) { if_printf(sc->age_ifp, "watchdog timeout (missed link)\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); age_init_locked(sc); return; } if (sc->age_cdata.age_tx_cnt == 0) { if_printf(sc->age_ifp, "watchdog timeout (missed Tx interrupts) -- recovering\n"); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) age_start_locked(ifp); return; } if_printf(sc->age_ifp, "watchdog timeout\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); age_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) age_start_locked(ifp); } static int -age_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +age_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct age_softc *sc; struct ifreq *ifr; @@ -1820,18 +1819,18 @@ age_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) uint32_t reg; int error, mask; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; error = 0; switch (cmd) { case SIOCSIFMTU: if (ifr->ifr_mtu < ETHERMIN || ifr->ifr_mtu > AGE_JUMBO_MTU) error = EINVAL; - else if (ifp->if_mtu != ifr->ifr_mtu) { + else if (if_getmtu(ifp) != ifr->ifr_mtu) { AGE_LOCK(sc); - ifp->if_mtu = ifr->ifr_mtu; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setmtu(ifp, ifr->ifr_mtu); + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); age_init_locked(sc); } AGE_UNLOCK(sc); @@ -1839,9 +1838,9 @@ age_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case SIOCSIFFLAGS: AGE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - if (((ifp->if_flags ^ sc->age_if_flags) + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if (((if_getflags(ifp) ^ sc->age_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) age_rxfilter(sc); } else { @@ -1849,16 +1848,16 @@ age_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) age_init_locked(sc); } } else { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) age_stop(sc); } - sc->age_if_flags = ifp->if_flags; + sc->age_if_flags = if_getflags(ifp); AGE_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: AGE_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) age_rxfilter(sc); AGE_UNLOCK(sc); break; @@ -1869,50 +1868,50 @@ age_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case SIOCSIFCAP: AGE_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if ((mask & IFCAP_TXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_TXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist |= AGE_CSUM_FEATURES; + (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassistbits(ifp, AGE_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~AGE_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, AGE_CSUM_FEATURES); } if ((mask & IFCAP_RXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_RXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_RXCSUM; + (if_getcapabilities(ifp) & IFCAP_RXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_RXCSUM); reg = CSR_READ_4(sc, AGE_MAC_CFG); reg &= ~MAC_CFG_RXCSUM_ENB; - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) reg |= MAC_CFG_RXCSUM_ENB; CSR_WRITE_4(sc, AGE_MAC_CFG, reg); } if ((mask & IFCAP_TSO4) != 0 && - (ifp->if_capabilities & IFCAP_TSO4) != 0) { - ifp->if_capenable ^= IFCAP_TSO4; - if ((ifp->if_capenable & IFCAP_TSO4) != 0) - ifp->if_hwassist |= CSUM_TSO; + (if_getcapabilities(ifp) & IFCAP_TSO4) != 0) { + if_togglecapenable(ifp, IFCAP_TSO4); + if ((if_getcapenable(ifp) & IFCAP_TSO4) != 0) + if_sethwassistbits(ifp, CSUM_TSO, 0); else - ifp->if_hwassist &= ~CSUM_TSO; + if_sethwassistbits(ifp, 0, CSUM_TSO); } if ((mask & IFCAP_WOL_MCAST) != 0 && - (ifp->if_capabilities & IFCAP_WOL_MCAST) != 0) - ifp->if_capenable ^= IFCAP_WOL_MCAST; + (if_getcapabilities(ifp) & IFCAP_WOL_MCAST) != 0) + if_togglecapenable(ifp, IFCAP_WOL_MCAST); if ((mask & IFCAP_WOL_MAGIC) != 0 && - (ifp->if_capabilities & IFCAP_WOL_MAGIC) != 0) - ifp->if_capenable ^= IFCAP_WOL_MAGIC; + (if_getcapabilities(ifp) & IFCAP_WOL_MAGIC) != 0) + if_togglecapenable(ifp, IFCAP_WOL_MAGIC); if ((mask & IFCAP_VLAN_HWCSUM) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWCSUM) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWCSUM; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWCSUM) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWCSUM); if ((mask & IFCAP_VLAN_HWTSO) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWTSO) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWTSO; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWTSO) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWTSO); if ((mask & IFCAP_VLAN_HWTAGGING) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWTAGGING) != 0) { - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) == 0) - ifp->if_capenable &= ~IFCAP_VLAN_HWTSO; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWTAGGING) != 0) { + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) == 0) + if_setcapenablebit(ifp, 0, IFCAP_VLAN_HWTSO); age_rxvlan(sc); } AGE_UNLOCK(sc); @@ -1967,7 +1966,7 @@ age_link_task(void *arg, int pending) { struct age_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint32_t reg; sc = (struct age_softc *)arg; @@ -1976,7 +1975,7 @@ age_link_task(void *arg, int pending) mii = device_get_softc(sc->age_miibus); ifp = sc->age_ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { AGE_UNLOCK(sc); return; } @@ -2017,7 +2016,7 @@ age_stats_update(struct age_softc *sc) { struct age_stats *stat; struct smb *smb; - struct ifnet *ifp; + if_t ifp; AGE_LOCK_ASSERT(sc); @@ -2133,7 +2132,7 @@ static void age_int_task(void *arg, int pending) { struct age_softc *sc; - struct ifnet *ifp; + if_t ifp; struct cmb *cmb; uint32_t status; @@ -2162,7 +2161,7 @@ age_int_task(void *arg, int pending) BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); ifp = sc->age_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { if ((status & INTR_CMB_RX) != 0) sc->age_morework = age_rxintr(sc, sc->age_rr_prod, sc->age_process_limit); @@ -2175,10 +2174,10 @@ age_int_task(void *arg, int pending) if ((status & INTR_DMA_WR_TO_RST) != 0) device_printf(sc->age_dev, "DMA write error! -- resetting\n"); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); age_init_locked(sc); } - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) age_start_locked(ifp); if ((status & INTR_SMB) != 0) age_stats_update(sc); @@ -2204,7 +2203,7 @@ done: static void age_txintr(struct age_softc *sc, int tpd_cons) { - struct ifnet *ifp; + if_t ifp; struct age_txdesc *txd; int cons, prog; @@ -2225,7 +2224,7 @@ age_txintr(struct age_softc *sc, int tpd_cons) if (sc->age_cdata.age_tx_cnt <= 0) break; prog++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); sc->age_cdata.age_tx_cnt--; txd = &sc->age_cdata.age_txdesc[cons]; /* @@ -2263,7 +2262,7 @@ age_txintr(struct age_softc *sc, int tpd_cons) #ifndef __NO_STRICT_ALIGNMENT static struct mbuf * -age_fixup_rx(struct ifnet *ifp, struct mbuf *m) +age_fixup_rx(if_t ifp, struct mbuf *m) { struct mbuf *n; int i; @@ -2304,7 +2303,7 @@ static void age_rxeof(struct age_softc *sc, struct rx_rdesc *rxrd) { struct age_rxdesc *rxd; - struct ifnet *ifp; + if_t ifp; struct mbuf *mp, *m; uint32_t status, index, vtag; int count, nsegs; @@ -2407,7 +2406,7 @@ age_rxeof(struct age_softc *sc, struct rx_rdesc *rxrd) * assistance due to lack of data sheet. If it is * proven to work on L1 I'll enable it. */ - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0 && + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0 && (status & AGE_RRD_IPV4) != 0) { if ((status & AGE_RRD_IPCSUM_NOK) == 0) m->m_pkthdr.csum_flags |= @@ -2426,7 +2425,7 @@ age_rxeof(struct age_softc *sc, struct rx_rdesc *rxrd) } /* Check for VLAN tagged frames. */ - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0 && + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0 && (status & AGE_RRD_VLAN) != 0) { vtag = AGE_RX_VLAN(le32toh(rxrd->vtags)); m->m_pkthdr.ether_vtag = AGE_RX_VLAN_TAG(vtag); @@ -2439,7 +2438,7 @@ age_rxeof(struct age_softc *sc, struct rx_rdesc *rxrd) { /* Pass it on. */ AGE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); AGE_LOCK(sc); } } @@ -2563,7 +2562,7 @@ age_init(void *xsc) static void age_init_locked(struct age_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; uint8_t eaddr[ETHER_ADDR_LEN]; bus_addr_t paddr; @@ -2576,7 +2575,7 @@ age_init_locked(struct age_softc *sc) ifp = sc->age_ifp; mii = device_get_softc(sc->age_miibus); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* @@ -2602,7 +2601,7 @@ age_init_locked(struct age_softc *sc) age_init_smb_block(sc); /* Reprogram the station address. */ - bcopy(IF_LLADDR(ifp), eaddr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(ifp), eaddr, ETHER_ADDR_LEN); CSR_WRITE_4(sc, AGE_PAR0, eaddr[2] << 24 | eaddr[3] << 16 | eaddr[4] << 8 | eaddr[5]); CSR_WRITE_4(sc, AGE_PAR1, eaddr[0] << 8 | eaddr[1]); @@ -2678,10 +2677,10 @@ age_init_locked(struct age_softc *sc) CSR_WRITE_2(sc, AGE_INTR_CLR_TIMER, AGE_USECS(1000)); /* Set Maximum frame size but don't let MTU be lass than ETHER_MTU. */ - if (ifp->if_mtu < ETHERMTU) + if (if_getmtu(ifp) < ETHERMTU) sc->age_max_frame_size = ETHERMTU; else - sc->age_max_frame_size = ifp->if_mtu; + sc->age_max_frame_size = if_getmtu(ifp); sc->age_max_frame_size += ETHER_HDR_LEN + sizeof(struct ether_vlan_header) + ETHER_CRC_LEN; CSR_WRITE_4(sc, AGE_FRAME_SIZE, sc->age_max_frame_size); @@ -2822,7 +2821,7 @@ age_init_locked(struct age_softc *sc) age_rxvlan(sc); reg = CSR_READ_4(sc, AGE_MAC_CFG); - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) reg |= MAC_CFG_RXCSUM_ENB; /* Ack all pending interrupts and clear it. */ @@ -2838,14 +2837,14 @@ age_init_locked(struct age_softc *sc) callout_reset(&sc->age_tick_ch, hz, age_tick, sc); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } static void age_stop(struct age_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct age_txdesc *txd; struct age_rxdesc *rxd; uint32_t reg; @@ -2856,7 +2855,7 @@ age_stop(struct age_softc *sc) * Mark the interface down and cancel the watchdog timer. */ ifp = sc->age_ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->age_flags &= ~AGE_FLAG_LINK; callout_stop(&sc->age_tick_ch); sc->age_watchdog_timer = 0; @@ -3123,7 +3122,7 @@ age_newbuf(struct age_softc *sc, struct age_rxdesc *rxd) static void age_rxvlan(struct age_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t reg; AGE_LOCK_ASSERT(sc); @@ -3131,7 +3130,7 @@ age_rxvlan(struct age_softc *sc) ifp = sc->age_ifp; reg = CSR_READ_4(sc, AGE_MAC_CFG); reg &= ~MAC_CFG_VLAN_TAG_STRIP; - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) reg |= MAC_CFG_VLAN_TAG_STRIP; CSR_WRITE_4(sc, AGE_MAC_CFG, reg); } @@ -3151,7 +3150,7 @@ age_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void age_rxfilter(struct age_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t mchash[2]; uint32_t rxcfg; @@ -3161,12 +3160,12 @@ age_rxfilter(struct age_softc *sc) rxcfg = CSR_READ_4(sc, AGE_MAC_CFG); rxcfg &= ~(MAC_CFG_ALLMULTI | MAC_CFG_BCAST | MAC_CFG_PROMISC); - if ((ifp->if_flags & IFF_BROADCAST) != 0) + if ((if_getflags(ifp) & IFF_BROADCAST) != 0) rxcfg |= MAC_CFG_BCAST; - if ((ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { - if ((ifp->if_flags & IFF_PROMISC) != 0) + if ((if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { + if ((if_getflags(ifp) & IFF_PROMISC) != 0) rxcfg |= MAC_CFG_PROMISC; - if ((ifp->if_flags & IFF_ALLMULTI) != 0) + if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) rxcfg |= MAC_CFG_ALLMULTI; CSR_WRITE_4(sc, AGE_MAR0, 0xFFFFFFFF); CSR_WRITE_4(sc, AGE_MAR1, 0xFFFFFFFF); diff --git a/sys/dev/age/if_agevar.h b/sys/dev/age/if_agevar.h index 800c33d8e619..82fc91b18723 100644 --- a/sys/dev/age/if_agevar.h +++ b/sys/dev/age/if_agevar.h @@ -193,7 +193,7 @@ struct age_stats { * Software state per device. */ struct age_softc { - struct ifnet *age_ifp; + if_t age_ifp; device_t age_dev; device_t age_miibus; struct resource *age_res[1]; diff --git a/sys/dev/alc/if_alc.c b/sys/dev/alc/if_alc.c index dc1df6753811..6f6d95e266ea 100644 --- a/sys/dev/alc/if_alc.c +++ b/sys/dev/alc/if_alc.c @@ -148,7 +148,7 @@ static struct alc_ident * alc_find_ident(device_t); #ifndef __NO_STRICT_ALIGNMENT static struct mbuf * - alc_fixup_rx(struct ifnet *, struct mbuf *); + alc_fixup_rx(if_t, struct mbuf *); #endif static void alc_get_macaddr(struct alc_softc *); static void alc_get_macaddr_813x(struct alc_softc *); @@ -163,7 +163,7 @@ static void alc_init_smb(struct alc_softc *); static void alc_init_tx_ring(struct alc_softc *); static void alc_int_task(void *, int); static int alc_intr(void *); -static int alc_ioctl(struct ifnet *, u_long, caddr_t); +static int alc_ioctl(if_t, u_long, caddr_t); static void alc_mac_config(struct alc_softc *); static uint32_t alc_mii_readreg_813x(struct alc_softc *, int, int); static uint32_t alc_mii_readreg_816x(struct alc_softc *, int, int); @@ -176,9 +176,9 @@ static uint32_t alc_miidbg_readreg(struct alc_softc *, int); static uint32_t alc_miidbg_writereg(struct alc_softc *, int, int); static uint32_t alc_miiext_readreg(struct alc_softc *, int, int); static uint32_t alc_miiext_writereg(struct alc_softc *, int, int, int); -static int alc_mediachange(struct ifnet *); +static int alc_mediachange(if_t); static int alc_mediachange_locked(struct alc_softc *); -static void alc_mediastatus(struct ifnet *, struct ifmediareq *); +static void alc_mediastatus(if_t, struct ifmediareq *); static int alc_newbuf(struct alc_softc *, struct alc_rxdesc *); static void alc_osc_reset(struct alc_softc *); static void alc_phy_down(struct alc_softc *); @@ -197,8 +197,8 @@ static void alc_setwol(struct alc_softc *); static void alc_setwol_813x(struct alc_softc *); static void alc_setwol_816x(struct alc_softc *); static int alc_shutdown(device_t); -static void alc_start(struct ifnet *); -static void alc_start_locked(struct ifnet *); +static void alc_start(if_t); +static void alc_start_locked(if_t); static void alc_start_queue(struct alc_softc *); static void alc_start_tx(struct alc_softc *); static void alc_stats_clear(struct alc_softc *); @@ -408,7 +408,7 @@ alc_miibus_statchg(device_t dev) { struct alc_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint32_t reg; sc = device_get_softc(dev); @@ -416,7 +416,7 @@ alc_miibus_statchg(device_t dev) mii = device_get_softc(sc->alc_miibus); ifp = sc->alc_ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; sc->alc_flags &= ~ALC_FLAG_LINK; @@ -603,14 +603,14 @@ alc_dsp_fixup(struct alc_softc *sc, int media) } static void -alc_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) +alc_mediastatus(if_t ifp, struct ifmediareq *ifmr) { struct alc_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ALC_LOCK(sc); - if ((ifp->if_flags & IFF_UP) == 0) { + if ((if_getflags(ifp) & IFF_UP) == 0) { ALC_UNLOCK(sc); return; } @@ -623,12 +623,12 @@ alc_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -alc_mediachange(struct ifnet *ifp) +alc_mediachange(if_t ifp) { struct alc_softc *sc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ALC_LOCK(sc); error = alc_mediachange_locked(sc); ALC_UNLOCK(sc); @@ -1258,7 +1258,7 @@ alc_aspm_816x(struct alc_softc *sc, int init) if (init != 0) pmcfg |= PM_CFG_ASPM_L0S_ENB | PM_CFG_ASPM_L1_ENB | PM_CFG_MAC_ASPM_CHK; - else if ((sc->alc_ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + else if ((if_getdrvflags(sc->alc_ifp) & IFF_DRV_RUNNING) != 0) pmcfg |= PM_CFG_ASPM_L1_ENB | PM_CFG_MAC_ASPM_CHK; } CSR_WRITE_4(sc, ALC_PM_CFG, pmcfg); @@ -1373,7 +1373,7 @@ static int alc_attach(device_t dev) { struct alc_softc *sc; - struct ifnet *ifp; + if_t ifp; int base, error, i, msic, msixc; uint16_t burst; @@ -1571,23 +1571,22 @@ alc_attach(device_t dev) goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = alc_ioctl; - ifp->if_start = alc_start; - ifp->if_init = alc_init; - ifp->if_snd.ifq_drv_maxlen = ALC_TX_RING_CNT - 1; - IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); - IFQ_SET_READY(&ifp->if_snd); - ifp->if_capabilities = IFCAP_TXCSUM | IFCAP_TSO4; - ifp->if_hwassist = ALC_CSUM_FEATURES | CSUM_TSO; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, alc_ioctl); + if_setstartfn(ifp, alc_start); + if_setinitfn(ifp, alc_init); + if_setsendqlen(ifp, ALC_TX_RING_CNT - 1); + if_setsendqready(ifp); + if_setcapabilities(ifp, IFCAP_TXCSUM | IFCAP_TSO4); + if_sethwassist(ifp, ALC_CSUM_FEATURES | CSUM_TSO); if (pci_find_cap(dev, PCIY_PMG, &base) == 0) { - ifp->if_capabilities |= IFCAP_WOL_MAGIC | IFCAP_WOL_MCAST; + if_setcapabilitiesbit(ifp, IFCAP_WOL_MAGIC | IFCAP_WOL_MCAST, 0); sc->alc_flags |= ALC_FLAG_PM; sc->alc_pmcap = base; } - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); /* Set up MII bus. */ error = mii_attach(dev, &sc->alc_miibus, ifp, alc_mediachange, @@ -1601,9 +1600,9 @@ alc_attach(device_t dev) ether_ifattach(ifp, sc->alc_eaddr); /* VLAN capability setup. */ - ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING | - IFCAP_VLAN_HWCSUM | IFCAP_VLAN_HWTSO; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING | + IFCAP_VLAN_HWCSUM | IFCAP_VLAN_HWTSO, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); /* * XXX * It seems enabling Tx checksum offloading makes more trouble. @@ -1617,12 +1616,12 @@ alc_attach(device_t dev) * seems to work. */ if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) == 0) { - ifp->if_capenable &= ~IFCAP_TXCSUM; - ifp->if_hwassist &= ~ALC_CSUM_FEATURES; + if_setcapenablebit(ifp, 0, IFCAP_TXCSUM); + if_sethwassistbits(ifp, 0, ALC_CSUM_FEATURES); } /* Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); /* Create local taskq. */ sc->alc_tq = taskqueue_create_fast("alc_taskq", M_WAITOK, @@ -1672,7 +1671,7 @@ static int alc_detach(device_t dev) { struct alc_softc *sc; - struct ifnet *ifp; + if_t ifp; int i, msic; sc = device_get_softc(dev); @@ -2526,7 +2525,7 @@ alc_setwol(struct alc_softc *sc) static void alc_setwol_813x(struct alc_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t reg, pmcs; uint16_t pmstat; @@ -2547,7 +2546,7 @@ alc_setwol_813x(struct alc_softc *sc) return; } - if ((ifp->if_capenable & IFCAP_WOL) != 0) { + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) { if ((sc->alc_flags & ALC_FLAG_FASTETHER) == 0) alc_setlinkspeed(sc); CSR_WRITE_4(sc, ALC_MASTER_CFG, @@ -2555,22 +2554,22 @@ alc_setwol_813x(struct alc_softc *sc) } pmcs = 0; - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) pmcs |= WOL_CFG_MAGIC | WOL_CFG_MAGIC_ENB; CSR_WRITE_4(sc, ALC_WOL_CFG, pmcs); reg = CSR_READ_4(sc, ALC_MAC_CFG); reg &= ~(MAC_CFG_DBG | MAC_CFG_PROMISC | MAC_CFG_ALLMULTI | MAC_CFG_BCAST); - if ((ifp->if_capenable & IFCAP_WOL_MCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MCAST) != 0) reg |= MAC_CFG_ALLMULTI | MAC_CFG_BCAST; - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) reg |= MAC_CFG_RX_ENB; CSR_WRITE_4(sc, ALC_MAC_CFG, reg); reg = CSR_READ_4(sc, ALC_PCIE_PHYMISC); reg |= PCIE_PHYMISC_FORCE_RCV_DET; CSR_WRITE_4(sc, ALC_PCIE_PHYMISC, reg); - if ((ifp->if_capenable & IFCAP_WOL) == 0) { + if ((if_getcapenable(ifp) & IFCAP_WOL) == 0) { /* WOL disabled, PHY power down. */ alc_phy_down(sc); CSR_WRITE_4(sc, ALC_MASTER_CFG, @@ -2580,7 +2579,7 @@ alc_setwol_813x(struct alc_softc *sc) pmstat = pci_read_config(sc->alc_dev, sc->alc_pmcap + PCIR_POWER_STATUS, 2); pmstat &= ~(PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE); - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) pmstat |= PCIM_PSTAT_PME | PCIM_PSTAT_PMEENABLE; pci_write_config(sc->alc_dev, sc->alc_pmcap + PCIR_POWER_STATUS, pmstat, 2); @@ -2589,7 +2588,7 @@ alc_setwol_813x(struct alc_softc *sc) static void alc_setwol_816x(struct alc_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t gphy, mac, master, pmcs, reg; uint16_t pmstat; @@ -2607,21 +2606,21 @@ alc_setwol_816x(struct alc_softc *sc) gphy |= GPHY_CFG_PHY_IDDQ | GPHY_CFG_PWDOWN_HW; mac = CSR_READ_4(sc, ALC_MAC_CFG); } else { - if ((ifp->if_capenable & IFCAP_WOL) != 0) { + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) { gphy |= GPHY_CFG_EXT_RESET; if ((sc->alc_flags & ALC_FLAG_FASTETHER) == 0) alc_setlinkspeed(sc); } pmcs = 0; - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) pmcs |= WOL_CFG_MAGIC | WOL_CFG_MAGIC_ENB; CSR_WRITE_4(sc, ALC_WOL_CFG, pmcs); mac = CSR_READ_4(sc, ALC_MAC_CFG); mac &= ~(MAC_CFG_DBG | MAC_CFG_PROMISC | MAC_CFG_ALLMULTI | MAC_CFG_BCAST); - if ((ifp->if_capenable & IFCAP_WOL_MCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MCAST) != 0) mac |= MAC_CFG_ALLMULTI | MAC_CFG_BCAST; - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) mac |= MAC_CFG_RX_ENB; *** 1233 LINES SKIPPED *** From nobody Mon Feb 6 17:54:27 2023 X-Original-To: dev-commits-src-main@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 4P9Ymg5MXbz3n0Y7; Mon, 6 Feb 2023 17:54:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ymg3ls1z4YcQ; Mon, 6 Feb 2023 17:54:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706067; 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=pxmq+oxVXkxhdd2KghJhRwIt5Wk/M8uha7ZqxTbbrWs=; b=ONambdNiOPdCkHBx8EZLbxOy9ZHbbd1cvTzZVhykqHHOB+Nee5xf6zar1qzpzRQ8seVPHi r7W0DnlDuDYoM1iV6OdRdGqQ6A9CBebE5hA8W2mfLakTZpqea+n7PWqv/hyASq6czH1wOR Xf3FFcu386dKIGaqlCINrUawNNSieSOSogvCi/IfgBvGshmzz7Ba5eWLC0K2s0afCAU68J 6teQAuMhiGRystSIJnTqUj774Iu8+lSTfzNCa2IYv6thNyf8x0kKm0nxmhlGxGzMArhVUt zPXjtI73o/4UBDjiVDVy4rI/HtEdAt0wpTjazuaD7H8LXswj8ufZIX/o1fEOjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706067; 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=pxmq+oxVXkxhdd2KghJhRwIt5Wk/M8uha7ZqxTbbrWs=; b=RCRsZu1Xi1xa19PbKnIjJB3G5Am7LnUyOlYOM4uv66n5PHaqLY3fkLxiKL9/Y0as6puydW Y9UPHq1kOCK6caNz0eD4ve08ZdCdiAcdKHO2xPbO52s2tzVhfIGcEPue3GIiVovmcbbktI qrCP1klaliEACX1Ya0sKjAGiVQ0OE4xCynfzTO0pMbnEGlAnEGf0CcI2nz9aPdAWEJtrK/ wMa8VoNwOlNIxn6DrGRPzuwzIaQb5LSPYllCAOWdks62YbXBlqkd+yD/5fJvLDyAzR5EV5 qjXq79nok8ehpCGjdn40rWRUK8N6dUWlrSZIqSTA1k/R+i75Ex9jzrIOIPUJRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706067; a=rsa-sha256; cv=none; b=bnAtoaGJwYIrI1kG/KfC6qZLknJABLXoobIUtl1iNMrsToyaEd/LPckDtTgep70/sHsPl/ Ox/in/5vEC7BoTv7P/I8B7zEoYR8m22bUHgGbFlyjW5e71nIPSOXzbtPkCuwXDNCcVe0d2 PSUBJA0LL4l7t9KqrDwsWA4i/Bdy+OmVl3CszdD4N6isUQSsi+tnxusZ2ksQ7idsoD3xOh mG7nALIXJGVfU9m5BmkgLR/vKUo3hLDJKYMFczvaXdEgyR+b3yrUCSyhfwn6vqdooT9lAv EuNtHG+OlmP5GaPXl7Exb8GTRUaZAnUfqsLpE2bevDXiSuI6VwkwawGdXktdaw== 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 4P9Ymg2psvzkmB; Mon, 6 Feb 2023 17:54:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsRT9074952; Mon, 6 Feb 2023 17:54:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsRvx074951; Mon, 6 Feb 2023 17:54:27 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:27 GMT Message-Id: <202302061754.316HsRvx074951@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: e948d066fa82 - main - Mechanically convert sge(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e948d066fa8232ff69aa608ffdcdf6f4526eab91 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=e948d066fa8232ff69aa608ffdcdf6f4526eab91 commit e948d066fa8232ff69aa608ffdcdf6f4526eab91 Author: Justin Hibbits AuthorDate: 2022-08-17 20:14:43 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:14 +0000 Mechanically convert sge(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37816 --- sys/dev/sge/if_sge.c | 211 ++++++++++++++++++++++++------------------------ sys/dev/sge/if_sgereg.h | 2 +- 2 files changed, 106 insertions(+), 107 deletions(-) diff --git a/sys/dev/sge/if_sge.c b/sys/dev/sge/if_sge.c index ae2a9760e031..4cc876942b88 100644 --- a/sys/dev/sge/if_sge.c +++ b/sys/dev/sge/if_sge.c @@ -126,15 +126,15 @@ static void sge_rxeof(struct sge_softc *); static void sge_txeof(struct sge_softc *); static void sge_intr(void *); static void sge_tick(void *); -static void sge_start(struct ifnet *); -static void sge_start_locked(struct ifnet *); -static int sge_ioctl(struct ifnet *, u_long, caddr_t); +static void sge_start(if_t); +static void sge_start_locked(if_t); +static int sge_ioctl(if_t, u_long, caddr_t); static void sge_init(void *); static void sge_init_locked(struct sge_softc *); static void sge_stop(struct sge_softc *); static void sge_watchdog(struct sge_softc *); -static int sge_ifmedia_upd(struct ifnet *); -static void sge_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static int sge_ifmedia_upd(if_t); +static void sge_ifmedia_sts(if_t, struct ifmediareq *); static int sge_get_mac_addr_apc(struct sge_softc *, uint8_t *); static int sge_get_mac_addr_eeprom(struct sge_softc *, uint8_t *); @@ -379,14 +379,14 @@ sge_miibus_statchg(device_t dev) { struct sge_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint32_t ctl, speed; sc = device_get_softc(dev); mii = device_get_softc(sc->sge_miibus); ifp = sc->sge_ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; speed = 0; sc->sge_flags &= ~SGE_FLAG_LINK; @@ -454,7 +454,7 @@ sge_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int count) static void sge_rxfilter(struct sge_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t hashes[2]; uint16_t rxfilt; @@ -464,10 +464,10 @@ sge_rxfilter(struct sge_softc *sc) rxfilt = CSR_READ_2(sc, RxMacControl); rxfilt &= ~(AcceptBroadcast | AcceptAllPhys | AcceptMulticast); rxfilt |= AcceptMyPhys; - if ((ifp->if_flags & IFF_BROADCAST) != 0) + if ((if_getflags(ifp) & IFF_BROADCAST) != 0) rxfilt |= AcceptBroadcast; - if ((ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { - if ((ifp->if_flags & IFF_PROMISC) != 0) + if ((if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { + if ((if_getflags(ifp) & IFF_PROMISC) != 0) rxfilt |= AcceptAllPhys; rxfilt |= AcceptMulticast; hashes[0] = 0xFFFFFFFF; @@ -486,16 +486,16 @@ sge_rxfilter(struct sge_softc *sc) static void sge_setvlan(struct sge_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint16_t rxfilt; SGE_LOCK_ASSERT(sc); ifp = sc->sge_ifp; - if ((ifp->if_capabilities & IFCAP_VLAN_HWTAGGING) == 0) + if ((if_getcapabilities(ifp) & IFCAP_VLAN_HWTAGGING) == 0) return; rxfilt = CSR_READ_2(sc, RxMacControl); - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) rxfilt |= RXMAC_STRIP_VLAN; else rxfilt &= ~RXMAC_STRIP_VLAN; @@ -554,7 +554,7 @@ static int sge_attach(device_t dev) { struct sge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint8_t eaddr[ETHER_ADDR_LEN]; int error = 0, rid; @@ -610,18 +610,17 @@ sge_attach(device_t dev) error = ENOSPC; goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = sge_ioctl; - ifp->if_start = sge_start; - ifp->if_init = sge_init; - ifp->if_snd.ifq_drv_maxlen = SGE_TX_RING_CNT - 1; - IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); - IFQ_SET_READY(&ifp->if_snd); - ifp->if_capabilities = IFCAP_TXCSUM | IFCAP_RXCSUM | IFCAP_TSO4; - ifp->if_hwassist = SGE_CSUM_FEATURES | CSUM_TSO; - ifp->if_capenable = ifp->if_capabilities; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, sge_ioctl); + if_setstartfn(ifp, sge_start); + if_setinitfn(ifp, sge_init); + if_setsendqlen(ifp, SGE_TX_RING_CNT - 1); + if_setsendqready(ifp); + if_setcapabilities(ifp, IFCAP_TXCSUM | IFCAP_RXCSUM | IFCAP_TSO4); + if_sethwassist(ifp, SGE_CSUM_FEATURES | CSUM_TSO); + if_setcapenable(ifp, if_getcapabilities(ifp)); /* * Do MII setup. */ @@ -638,11 +637,11 @@ sge_attach(device_t dev) ether_ifattach(ifp, eaddr); /* VLAN setup. */ - ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWCSUM | - IFCAP_VLAN_HWTSO | IFCAP_VLAN_MTU; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilities(ifp, IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWCSUM | + IFCAP_VLAN_HWTSO | IFCAP_VLAN_MTU); + if_setcapenable(ifp, if_getcapabilities(ifp)); /* Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); /* Hook interrupt last to avoid having to lock softc */ error = bus_setup_intr(dev, sc->sge_irq, INTR_TYPE_NET | INTR_MPSAFE, @@ -671,7 +670,7 @@ static int sge_detach(device_t dev) { struct sge_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); ifp = sc->sge_ifp; @@ -722,12 +721,12 @@ static int sge_suspend(device_t dev) { struct sge_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); SGE_LOCK(sc); ifp = sc->sge_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) sge_stop(sc); SGE_UNLOCK(sc); return (0); @@ -737,12 +736,12 @@ static int sge_resume(device_t dev) { struct sge_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); SGE_LOCK(sc); ifp = sc->sge_ifp; - if ((ifp->if_flags & IFF_UP) != 0) + if ((if_getflags(ifp) & IFF_UP) != 0) sge_init_locked(sc); SGE_UNLOCK(sc); return (0); @@ -1140,7 +1139,7 @@ sge_discard_rxbuf(struct sge_softc *sc, int index) static void sge_rxeof(struct sge_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct mbuf *m; struct sge_chain_data *cd; struct sge_desc *cur_rx; @@ -1157,7 +1156,7 @@ sge_rxeof(struct sge_softc *sc) cons = cd->sge_rx_cons; for (prog = 0; prog < SGE_RX_RING_CNT; prog++, SGE_INC(cons, SGE_RX_RING_CNT)) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) break; cur_rx = &sc->sge_ldata.sge_rx_ring[cons]; rxinfo = le32toh(cur_rx->sge_cmdsts); @@ -1181,7 +1180,7 @@ sge_rxeof(struct sge_softc *sc) if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1); continue; } - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) { + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) { if ((rxinfo & RDC_IP_CSUM) != 0 && (rxinfo & RDC_IP_CSUM_OK) != 0) m->m_pkthdr.csum_flags |= @@ -1196,7 +1195,7 @@ sge_rxeof(struct sge_softc *sc) } } /* Check for VLAN tagged frame. */ - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0 && + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0 && (rxstat & RDS_VLAN) != 0) { m->m_pkthdr.ether_vtag = rxinfo & RDC_VLAN_MASK; m->m_flags |= M_VLANTAG; @@ -1213,7 +1212,7 @@ sge_rxeof(struct sge_softc *sc) m->m_pkthdr.rcvif = ifp; if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); SGE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); SGE_LOCK(sc); } @@ -1231,7 +1230,7 @@ sge_rxeof(struct sge_softc *sc) static void sge_txeof(struct sge_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct sge_list_data *ld; struct sge_chain_data *cd; struct sge_txdesc *txd; @@ -1290,7 +1289,7 @@ sge_txeof(struct sge_softc *sc) KASSERT(cd->sge_tx_cnt >= 0, ("%s: Active Tx desc counter was garbled\n", __func__)); txd->tx_ndesc = 0; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } cd->sge_tx_cons = cons; if (cd->sge_tx_cnt == 0) @@ -1302,7 +1301,7 @@ sge_tick(void *arg) { struct sge_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; sc = arg; SGE_LOCK_ASSERT(sc); @@ -1313,7 +1312,7 @@ sge_tick(void *arg) if ((sc->sge_flags & SGE_FLAG_LINK) == 0) { sge_miibus_statchg(sc->sge_dev); if ((sc->sge_flags & SGE_FLAG_LINK) != 0 && - !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + !if_sendq_empty(ifp)) sge_start_locked(ifp); } /* @@ -1330,7 +1329,7 @@ static void sge_intr(void *arg) { struct sge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint32_t status; sc = arg; @@ -1357,7 +1356,7 @@ sge_intr(void *arg) * no other way at this time. */ for (;;) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) break; if ((status & (INTR_RX_DONE | INTR_RX_IDLE)) != 0) { sge_rxeof(sc); @@ -1374,10 +1373,10 @@ sge_intr(void *arg) /* Acknowledge interrupts. */ CSR_WRITE_4(sc, IntrStatus, status); } - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { /* Re-enable interrupts */ CSR_WRITE_4(sc, IntrMask, SGE_INTRS); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) sge_start_locked(ifp); } SGE_UNLOCK(sc); @@ -1551,45 +1550,45 @@ sge_encap(struct sge_softc *sc, struct mbuf **m_head) } static void -sge_start(struct ifnet *ifp) +sge_start(if_t ifp) { struct sge_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); SGE_LOCK(sc); sge_start_locked(ifp); SGE_UNLOCK(sc); } static void -sge_start_locked(struct ifnet *ifp) +sge_start_locked(if_t ifp) { struct sge_softc *sc; struct mbuf *m_head; int queued = 0; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); SGE_LOCK_ASSERT(sc); if ((sc->sge_flags & SGE_FLAG_LINK) == 0 || - (ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + (if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) return; - for (queued = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd); ) { + for (queued = 0; !if_sendq_empty(ifp); ) { if (sc->sge_cdata.sge_tx_cnt > (SGE_TX_RING_CNT - SGE_MAXTXSEGS)) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; if (sge_encap(sc, &m_head)) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } queued++; @@ -1623,7 +1622,7 @@ sge_init(void *arg) static void sge_init_locked(struct sge_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; uint16_t rxfilt; int i; @@ -1631,7 +1630,7 @@ sge_init_locked(struct sge_softc *sc) SGE_LOCK_ASSERT(sc); ifp = sc->sge_ifp; mii = device_get_softc(sc->sge_miibus); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* * Cancel pending I/O and free all RX/TX buffers. @@ -1661,7 +1660,7 @@ sge_init_locked(struct sge_softc *sc) SGE_RX_PAD_BYTES); for (i = 0; i < ETHER_ADDR_LEN; i++) - CSR_WRITE_1(sc, RxMacAddr + i, IF_LLADDR(ifp)[i]); + CSR_WRITE_1(sc, RxMacAddr + i, if_getlladdr(ifp)[i]); /* Configure RX MAC. */ rxfilt = RXMAC_STRIP_FCS | RXMAC_PAD_ENB | RXMAC_CSUM_ENB; CSR_WRITE_2(sc, RxMacControl, rxfilt); @@ -1697,8 +1696,8 @@ sge_init_locked(struct sge_softc *sc) CSR_WRITE_4(sc, TX_CTL, 0x1a00 | TX_CTL_ENB); CSR_WRITE_4(sc, RX_CTL, 0x1a00 | 0x000c | RX_CTL_POLL | RX_CTL_ENB); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); sc->sge_flags &= ~SGE_FLAG_LINK; mii_mediachg(mii); @@ -1709,14 +1708,14 @@ sge_init_locked(struct sge_softc *sc) * Set media options. */ static int -sge_ifmedia_upd(struct ifnet *ifp) +sge_ifmedia_upd(if_t ifp) { struct sge_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); SGE_LOCK(sc); mii = device_get_softc(sc->sge_miibus); LIST_FOREACH(miisc, &mii->mii_phys, mii_list) @@ -1731,15 +1730,15 @@ sge_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -sge_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +sge_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct sge_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); SGE_LOCK(sc); mii = device_get_softc(sc->sge_miibus); - if ((ifp->if_flags & IFF_UP) == 0) { + if ((if_getflags(ifp) & IFF_UP) == 0) { SGE_UNLOCK(sc); return; } @@ -1750,74 +1749,74 @@ sge_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -sge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +sge_ioctl(if_t ifp, u_long command, caddr_t data) { struct sge_softc *sc; struct ifreq *ifr; struct mii_data *mii; int error = 0, mask, reinit; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; switch(command) { case SIOCSIFFLAGS: SGE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && - ((ifp->if_flags ^ sc->sge_if_flags) & + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && + ((if_getflags(ifp) ^ sc->sge_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) sge_rxfilter(sc); else sge_init_locked(sc); - } else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) sge_stop(sc); - sc->sge_if_flags = ifp->if_flags; + sc->sge_if_flags = if_getflags(ifp); SGE_UNLOCK(sc); break; case SIOCSIFCAP: SGE_LOCK(sc); reinit = 0; - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if ((mask & IFCAP_TXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_TXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist |= SGE_CSUM_FEATURES; + (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassistbits(ifp, SGE_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~SGE_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, SGE_CSUM_FEATURES); } if ((mask & IFCAP_RXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_RXCSUM) != 0) - ifp->if_capenable ^= IFCAP_RXCSUM; + (if_getcapabilities(ifp) & IFCAP_RXCSUM) != 0) + if_togglecapenable(ifp, IFCAP_RXCSUM); if ((mask & IFCAP_VLAN_HWCSUM) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWCSUM) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWCSUM; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWCSUM) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWCSUM); if ((mask & IFCAP_TSO4) != 0 && - (ifp->if_capabilities & IFCAP_TSO4) != 0) { - ifp->if_capenable ^= IFCAP_TSO4; - if ((ifp->if_capenable & IFCAP_TSO4) != 0) - ifp->if_hwassist |= CSUM_TSO; + (if_getcapabilities(ifp) & IFCAP_TSO4) != 0) { + if_togglecapenable(ifp, IFCAP_TSO4); + if ((if_getcapenable(ifp) & IFCAP_TSO4) != 0) + if_sethwassistbits(ifp, CSUM_TSO, 0); else - ifp->if_hwassist &= ~CSUM_TSO; + if_sethwassistbits(ifp, 0, CSUM_TSO); } if ((mask & IFCAP_VLAN_HWTSO) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWTSO) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWTSO; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWTSO) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWTSO); if ((mask & IFCAP_VLAN_HWTAGGING) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWTAGGING) != 0) { + (if_getcapabilities(ifp) & IFCAP_VLAN_HWTAGGING) != 0) { /* * Due to unknown reason, toggling VLAN hardware * tagging require interface reinitialization. */ - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) == 0) - ifp->if_capenable &= - ~(IFCAP_VLAN_HWTSO | IFCAP_VLAN_HWCSUM); + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) == 0) + if_setcapenablebit(ifp, 0, + IFCAP_VLAN_HWTSO | IFCAP_VLAN_HWCSUM); reinit = 1; } - if (reinit > 0 && (ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if (reinit > 0 && (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); sge_init_locked(sc); } SGE_UNLOCK(sc); @@ -1826,7 +1825,7 @@ sge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) case SIOCADDMULTI: case SIOCDELMULTI: SGE_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) sge_rxfilter(sc); SGE_UNLOCK(sc); break; @@ -1846,7 +1845,7 @@ sge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) static void sge_watchdog(struct sge_softc *sc) { - struct ifnet *ifp; + if_t ifp; SGE_LOCK_ASSERT(sc); if (sc->sge_timer == 0 || --sc->sge_timer > 0) @@ -1858,16 +1857,16 @@ sge_watchdog(struct sge_softc *sc) device_printf(sc->sge_dev, "watchdog timeout (lost link)\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); sge_init_locked(sc); return; } device_printf(sc->sge_dev, "watchdog timeout\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); sge_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&sc->sge_ifp->if_snd)) + if (!if_sendq_empty(sc->sge_ifp)) sge_start_locked(ifp); } @@ -1878,7 +1877,7 @@ sge_watchdog(struct sge_softc *sc) static void sge_stop(struct sge_softc *sc) { - struct ifnet *ifp; + if_t ifp; ifp = sc->sge_ifp; @@ -1886,7 +1885,7 @@ sge_stop(struct sge_softc *sc) sc->sge_timer = 0; callout_stop(&sc->sge_stat_ch); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); CSR_WRITE_4(sc, IntrMask, 0); CSR_READ_4(sc, IntrMask); diff --git a/sys/dev/sge/if_sgereg.h b/sys/dev/sge/if_sgereg.h index 5b7d75ed6913..b684403eedaf 100644 --- a/sys/dev/sge/if_sgereg.h +++ b/sys/dev/sge/if_sgereg.h @@ -338,7 +338,7 @@ struct sge_type { }; struct sge_softc { - struct ifnet *sge_ifp; /* interface info */ + if_t sge_ifp; /* interface info */ struct resource *sge_res; int sge_res_id; int sge_res_type; From nobody Mon Feb 6 17:54:28 2023 X-Original-To: dev-commits-src-main@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 4P9Ymh6gysz3n0YC; Mon, 6 Feb 2023 17:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Ymh4PSMz4YXF; Mon, 6 Feb 2023 17:54:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706068; 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=3vSthClWwByZ3lcS8WNxWfKJtPkpF7x1y8nvgXzxmrs=; b=AoKzUqRjHriiRVsJ55lW1RCbA6HbI4+niFKgESKa32T3ms79pyXm3BwCTlG7tGsCGUI6dY GjPoBgdZ902yYqDJmpY3otsz4Eokp6wgMpNeDIyKlBAC7Soh10VPj4aIbqxlR3tJfAcSmK uiNtG9bBUHT9595IFdBBMcQrLEk1pVIJPnulwkgaIoMnzI9oQaHW7KM8LnRunnfFTlIQly 0D92XFAYd48jnS68k2tUmMo95+FPbEfPnUrLDAFCx2Jqfp8H5Ayp62EQAGPirP595F3qLo C2aQeBDqcttAvRbrIZ7ZSOyv+T+KhlmYL3NjU9+zLoDjUavZSyXYFE8s/Cvk/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706068; 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=3vSthClWwByZ3lcS8WNxWfKJtPkpF7x1y8nvgXzxmrs=; b=BMv0Vca+BKI+nyugwGS3AbTb9YMfOa2Wc0Mg5SAkleCzDnq4VY4VOULBWcUGbIsNgU9igR S7ifjM8ehFcOrgeKW5iUeRxoD0fDDwAvBE/pLs5JZdaLrgwX6yVXXJPdQfSveKsHXugxx3 FWpRSr6LloTtrRmXR9aXG8Q4JjTKMwM2lNmOYkE3aDdTXs781yIQKWxejpUfs3ywUspaE1 VLzrzBLu1p2FpSkr58vuA88uVkJmsRS86OdPc5NrNDSGSnvYn/8k8O0kV1IEuU9riAGQBJ E6Hlj7qYierNrpzN1hFwgM+I8ec0ilZxkYYNdCE15KpH7u6GyIm/U8cvW8XQtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706068; a=rsa-sha256; cv=none; b=mTwJLJCxhrAbihO3AcO1RwGbjL/qvf0X0YdK0qtGLaTREQLEjzVddj/073VF9O5p8i00Qd 03JrBlfeee9jgWCXGWZlBbV8ByIl532w2fOHE9rE5JRYOvDDNDriR4eMdsQpeIIyVNp067 JlpyuixjKXpcr2OniCYmPJRsUwfBF/FnwByF6B5p0/TP1bPGHCQK09/wGCO0nw7xVATSj3 Nt32NxB7TU1a6tvHCYm44VWB/m85SsHZJKwY37So5CHNIqVC8ezd2RL5iFkQJ5ZGRIXu2F ma/oqTyGsNVKFkVArthCVB63fdPZeSJKfnt0H0qpoadP8H5Zb7MP0+CVH5Hy6A== 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 4P9Ymh3VBNzkjY; Mon, 6 Feb 2023 17:54:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316HsSi6074980; Mon, 6 Feb 2023 17:54:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316HsSir074979; Mon, 6 Feb 2023 17:54:28 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:28 GMT Message-Id: <202302061754.316HsSir074979@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 93037a67bf4b - main - Mechanically convert mxge(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 93037a67bf4b734ad10dc867340ba3633c379a8d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=93037a67bf4b734ad10dc867340ba3633c379a8d commit 93037a67bf4b734ad10dc867340ba3633c379a8d Author: Justin Hibbits AuthorDate: 2022-09-19 20:41:35 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:52:46 +0000 Mechanically convert mxge(4) to IfAPI Reviewed by: gallatin Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37848 --- sys/dev/mxge/if_mxge.c | 220 ++++++++++++++++++++++----------------------- sys/dev/mxge/if_mxge_var.h | 4 +- 2 files changed, 111 insertions(+), 113 deletions(-) diff --git a/sys/dev/mxge/if_mxge.c b/sys/dev/mxge/if_mxge.c index 80098a24fd4a..23b208eacb01 100644 --- a/sys/dev/mxge/if_mxge.c +++ b/sys/dev/mxge/if_mxge.c @@ -1100,7 +1100,7 @@ static void mxge_set_multicast_list(mxge_softc_t *sc) { struct mxge_add_maddr_ctx ctx; - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; mxge_cmd_t cmd; int err; @@ -1119,7 +1119,7 @@ mxge_set_multicast_list(mxge_softc_t *sc) if (sc->adopted_rx_filter_bug) return; - if (ifp->if_flags & IFF_ALLMULTI) + if (if_getflags(ifp) & IFF_ALLMULTI) /* request to disable multicast filtering, so quit here */ return; @@ -1295,7 +1295,7 @@ mxge_reset(mxge_softc_t *sc, int interrupts_setup) } sc->rdma_tags_available = 15; status = mxge_update_mac_address(sc); - mxge_change_promisc(sc, sc->ifp->if_flags & IFF_PROMISC); + mxge_change_promisc(sc, if_getflags(sc->ifp) & IFF_PROMISC); mxge_change_pause(sc, sc->pause); mxge_set_multicast_list(sc); if (sc->throttle) { @@ -2180,9 +2180,9 @@ drop_without_m: } static void -mxge_qflush(struct ifnet *ifp) +mxge_qflush(if_t ifp) { - mxge_softc_t *sc = ifp->if_softc; + mxge_softc_t *sc = if_getsoftc(ifp); mxge_tx_ring_t *tx; struct mbuf *m; int slice; @@ -2202,7 +2202,7 @@ mxge_start_locked(struct mxge_slice_state *ss) { mxge_softc_t *sc; struct mbuf *m; - struct ifnet *ifp; + if_t ifp; mxge_tx_ring_t *tx; sc = ss->sc; @@ -2232,7 +2232,7 @@ static int mxge_transmit_locked(struct mxge_slice_state *ss, struct mbuf *m) { mxge_softc_t *sc; - struct ifnet *ifp; + if_t ifp; mxge_tx_ring_t *tx; int err; @@ -2261,9 +2261,9 @@ mxge_transmit_locked(struct mxge_slice_state *ss, struct mbuf *m) } static int -mxge_transmit(struct ifnet *ifp, struct mbuf *m) +mxge_transmit(if_t ifp, struct mbuf *m) { - mxge_softc_t *sc = ifp->if_softc; + mxge_softc_t *sc = if_getsoftc(ifp); struct mxge_slice_state *ss; mxge_tx_ring_t *tx; int err = 0; @@ -2286,9 +2286,9 @@ mxge_transmit(struct ifnet *ifp, struct mbuf *m) } static void -mxge_start(struct ifnet *ifp) +mxge_start(if_t ifp) { - mxge_softc_t *sc = ifp->if_softc; + mxge_softc_t *sc = if_getsoftc(ifp); struct mxge_slice_state *ss; /* only use the first slice for now */ @@ -2465,7 +2465,7 @@ mxge_rx_csum(struct mbuf *m, int csum) struct ip *ip; #endif #if defined(INET) || defined(INET6) - int cap = m->m_pkthdr.rcvif->if_capenable; + int cap = if_getcapenable(m->m_pkthdr.rcvif); #endif uint16_t c, etype; @@ -2557,7 +2557,7 @@ mxge_rx_done_big(struct mxge_slice_state *ss, uint32_t len, uint32_t csum, int lro) { mxge_softc_t *sc; - struct ifnet *ifp; + if_t ifp; struct mbuf *m; struct ether_header *eh; mxge_rx_ring_t *rx; @@ -2604,7 +2604,7 @@ mxge_rx_done_big(struct mxge_slice_state *ss, uint32_t len, M_HASHTYPE_SET(m, M_HASHTYPE_OPAQUE); } /* if the checksum is valid, mark it in the mbuf header */ - if ((ifp->if_capenable & (IFCAP_RXCSUM_IPV6 | IFCAP_RXCSUM)) && + if ((if_getcapenable(ifp) & (IFCAP_RXCSUM_IPV6 | IFCAP_RXCSUM)) && (0 == mxge_rx_csum(m, csum))) { /* Tell the stack that the checksum is good */ m->m_pkthdr.csum_data = 0xffff; @@ -2617,7 +2617,7 @@ mxge_rx_done_big(struct mxge_slice_state *ss, uint32_t len, #endif } /* pass the frame up the stack */ - (*ifp->if_input)(ifp, m); + if_input(ifp, m); } static inline void @@ -2625,7 +2625,7 @@ mxge_rx_done_small(struct mxge_slice_state *ss, uint32_t len, uint32_t csum, int lro) { mxge_softc_t *sc; - struct ifnet *ifp; + if_t ifp; struct ether_header *eh; struct mbuf *m; mxge_rx_ring_t *rx; @@ -2672,7 +2672,7 @@ mxge_rx_done_small(struct mxge_slice_state *ss, uint32_t len, M_HASHTYPE_SET(m, M_HASHTYPE_OPAQUE); } /* if the checksum is valid, mark it in the mbuf header */ - if ((ifp->if_capenable & (IFCAP_RXCSUM_IPV6 | IFCAP_RXCSUM)) && + if ((if_getcapenable(ifp) & (IFCAP_RXCSUM_IPV6 | IFCAP_RXCSUM)) && (0 == mxge_rx_csum(m, csum))) { /* Tell the stack that the checksum is good */ m->m_pkthdr.csum_data = 0xffff; @@ -2685,7 +2685,7 @@ mxge_rx_done_small(struct mxge_slice_state *ss, uint32_t len, #endif } /* pass the frame up the stack */ - (*ifp->if_input)(ifp, m); + if_input(ifp, m); } static inline void @@ -2697,7 +2697,7 @@ mxge_clean_rx_done(struct mxge_slice_state *ss) uint16_t checksum; int lro; - lro = ss->sc->ifp->if_capenable & IFCAP_LRO; + lro = if_getcapenable(ss->sc->ifp) & IFCAP_LRO; while (rx_done->entry[rx_done->idx].length != 0) { length = ntohs(rx_done->entry[rx_done->idx].length); rx_done->entry[rx_done->idx].length = 0; @@ -2721,7 +2721,7 @@ mxge_clean_rx_done(struct mxge_slice_state *ss) static inline void mxge_tx_done(struct mxge_slice_state *ss, uint32_t mcp_idx) { - struct ifnet *ifp __unused; + if_t ifp __unused; mxge_tx_ring_t *tx; struct mbuf *m; bus_dmamap_t map; @@ -2755,7 +2755,6 @@ mxge_tx_done(struct mxge_slice_state *ss, uint32_t mcp_idx) /* If we have space, clear IFF_OACTIVE to tell the stack that its OK to send packets */ flags = &ss->if_drv_flags; - mtx_lock(&ss->tx.mtx); if ((*flags) & IFF_DRV_OACTIVE && tx->req - tx->done < (tx->mask + 1)/4) { @@ -3044,10 +3043,10 @@ static void mxge_init(void *arg) { mxge_softc_t *sc = arg; - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; mtx_lock(&sc->driver_mtx); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) (void) mxge_open(sc); mtx_unlock(&sc->driver_mtx); } @@ -3349,9 +3348,8 @@ mxge_alloc_rings(mxge_softc_t *sc) tx_ring_entries = tx_ring_size / sizeof (mcp_kreq_ether_send_t); rx_ring_entries = sc->rx_ring_size / sizeof (mcp_dma_addr_t); - IFQ_SET_MAXLEN(&sc->ifp->if_snd, tx_ring_entries - 1); - sc->ifp->if_snd.ifq_drv_maxlen = sc->ifp->if_snd.ifq_maxlen; - IFQ_SET_READY(&sc->ifp->if_snd); + if_setsendqlen(sc->ifp, tx_ring_entries - 1); + if_setsendqready(sc->ifp); for (slice = 0; slice < sc->num_slices; slice++) { err = mxge_alloc_slice_rings(&sc->ss[slice], @@ -3454,7 +3452,7 @@ mxge_slice_open(struct mxge_slice_state *ss, int nbufs, int cl_size) } ss->rx_big.nbufs = nbufs; ss->rx_big.cl_size = cl_size; - ss->rx_big.mlen = ss->sc->ifp->if_mtu + ETHER_HDR_LEN + + ss->rx_big.mlen = if_getmtu(ss->sc->ifp) + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + MXGEFW_PAD; for (i = 0; i <= ss->rx_big.mask; i += ss->rx_big.nbufs) { map = ss->rx_big.info[i].map; @@ -3478,7 +3476,7 @@ mxge_open(mxge_softc_t *sc) struct mxge_slice_state *ss; /* Copy the MAC address in case it was overridden */ - bcopy(IF_LLADDR(sc->ifp), sc->mac_addr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(sc->ifp), sc->mac_addr, ETHER_ADDR_LEN); err = mxge_reset(sc, 1); if (err != 0) { @@ -3514,7 +3512,7 @@ mxge_open(mxge_softc_t *sc) } } - mxge_choose_params(sc->ifp->if_mtu, &big_bytes, &cl_size, &nbufs); + mxge_choose_params(if_getmtu(sc->ifp), &big_bytes, &cl_size, &nbufs); cmd.data0 = nbufs; err = mxge_send_cmd(sc, MXGEFW_CMD_ALWAYS_USE_N_BIG_BUFFERS, @@ -3530,7 +3528,7 @@ mxge_open(mxge_softc_t *sc) /* Give the firmware the mtu and the big and small buffer sizes. The firmware wants the big buf size to be a power of two. Luckily, FreeBSD's clusters are powers of two */ - cmd.data0 = sc->ifp->if_mtu + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN; + cmd.data0 = if_getmtu(sc->ifp) + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN; err = mxge_send_cmd(sc, MXGEFW_CMD_SET_MTU, &cmd); cmd.data0 = MHLEN - MXGEFW_PAD; err |= mxge_send_cmd(sc, MXGEFW_CMD_SET_SMALL_BUFFER_SIZE, @@ -3594,8 +3592,8 @@ mxge_open(mxge_softc_t *sc) ss->if_drv_flags |= IFF_DRV_RUNNING; ss->if_drv_flags &= ~IFF_DRV_OACTIVE; } - sc->ifp->if_drv_flags |= IFF_DRV_RUNNING; - sc->ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(sc->ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(sc->ifp, 0, IFF_DRV_OACTIVE); return 0; @@ -3617,7 +3615,7 @@ mxge_close(mxge_softc_t *sc, int down) ss = &sc->ss[slice]; ss->if_drv_flags &= ~IFF_DRV_RUNNING; } - sc->ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(sc->ifp, 0, IFF_DRV_RUNNING); if (!down) { old_down_cnt = sc->down_cnt; wmb(); @@ -3724,7 +3722,7 @@ mxge_watchdog_reset(mxge_softc_t *sc) reboot = mxge_read_reboot(sc); device_printf(sc->dev, "NIC rebooted, status = 0x%x\n", reboot); - running = sc->ifp->if_drv_flags & IFF_DRV_RUNNING; + running = if_getdrvflags(sc->ifp) & IFF_DRV_RUNNING; if (running) { /* * quiesce NIC so that TX routines will not try to @@ -3846,7 +3844,7 @@ mxge_watchdog(mxge_softc_t *sc) } static uint64_t -mxge_get_counter(struct ifnet *ifp, ift_counter cnt) +mxge_get_counter(if_t ifp, ift_counter cnt) { struct mxge_softc *sc; uint64_t rv; @@ -3894,7 +3892,7 @@ mxge_tick(void *arg) uint16_t cmd; ticks = mxge_ticks; - running = sc->ifp->if_drv_flags & IFF_DRV_RUNNING; + running = if_getdrvflags(sc->ifp) & IFF_DRV_RUNNING; if (running) { if (!sc->watchdog_countdown) { err = mxge_watchdog(sc); @@ -3920,7 +3918,7 @@ mxge_tick(void *arg) } static int -mxge_media_change(struct ifnet *ifp) +mxge_media_change(if_t ifp) { return EINVAL; } @@ -3928,7 +3926,7 @@ mxge_media_change(struct ifnet *ifp) static int mxge_change_mtu(mxge_softc_t *sc, int mtu) { - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; int real_mtu, old_mtu; int err = 0; @@ -3936,13 +3934,13 @@ mxge_change_mtu(mxge_softc_t *sc, int mtu) if ((real_mtu > sc->max_mtu) || real_mtu < 60) return EINVAL; mtx_lock(&sc->driver_mtx); - old_mtu = ifp->if_mtu; - ifp->if_mtu = mtu; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + old_mtu = if_getmtu(ifp); + if_setmtu(ifp, mtu); + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { mxge_close(sc, 0); err = mxge_open(sc); if (err != 0) { - ifp->if_mtu = old_mtu; + if_setmtu(ifp, old_mtu); mxge_close(sc, 0); (void) mxge_open(sc); } @@ -3952,9 +3950,9 @@ mxge_change_mtu(mxge_softc_t *sc, int mtu) } static void -mxge_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) +mxge_media_status(if_t ifp, struct ifmediareq *ifmr) { - mxge_softc_t *sc = ifp->if_softc; + mxge_softc_t *sc = if_getsoftc(ifp); if (sc == NULL) return; @@ -4003,9 +4001,9 @@ mxge_fetch_i2c(mxge_softc_t *sc, struct ifi2creq *i2c) } static int -mxge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +mxge_ioctl(if_t ifp, u_long command, caddr_t data) { - mxge_softc_t *sc = ifp->if_softc; + mxge_softc_t *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *)data; struct ifi2creq i2c; int err, mask; @@ -4022,18 +4020,18 @@ mxge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) mtx_unlock(&sc->driver_mtx); return EINVAL; } - if (ifp->if_flags & IFF_UP) { - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if (if_getflags(ifp) & IFF_UP) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { err = mxge_open(sc); } else { /* take care of promis can allmulti flag chages */ mxge_change_promisc(sc, - ifp->if_flags & IFF_PROMISC); + if_getflags(ifp) & IFF_PROMISC); mxge_set_multicast_list(sc); } } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { mxge_close(sc, 0); } } @@ -4053,30 +4051,30 @@ mxge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) case SIOCSIFCAP: mtx_lock(&sc->driver_mtx); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); if (mask & IFCAP_TXCSUM) { - if (IFCAP_TXCSUM & ifp->if_capenable) { + if (IFCAP_TXCSUM & if_getcapenable(ifp)) { mask &= ~IFCAP_TSO4; - ifp->if_capenable &= ~(IFCAP_TXCSUM|IFCAP_TSO4); - ifp->if_hwassist &= ~(CSUM_TCP | CSUM_UDP); + if_setcapenablebit(ifp, 0, (IFCAP_TXCSUM|IFCAP_TSO4)); + if_sethwassistbits(ifp, 0, (CSUM_TCP | CSUM_UDP)); } else { - ifp->if_capenable |= IFCAP_TXCSUM; - ifp->if_hwassist |= (CSUM_TCP | CSUM_UDP); + if_setcapenablebit(ifp, IFCAP_TXCSUM, 0); + if_sethwassistbits(ifp, (CSUM_TCP | CSUM_UDP), 0); } } if (mask & IFCAP_RXCSUM) { - if (IFCAP_RXCSUM & ifp->if_capenable) { - ifp->if_capenable &= ~IFCAP_RXCSUM; + if (IFCAP_RXCSUM & if_getcapenable(ifp)) { + if_setcapenablebit(ifp, 0, IFCAP_RXCSUM); } else { - ifp->if_capenable |= IFCAP_RXCSUM; + if_setcapenablebit(ifp, IFCAP_RXCSUM, 0); } } if (mask & IFCAP_TSO4) { - if (IFCAP_TSO4 & ifp->if_capenable) { - ifp->if_capenable &= ~IFCAP_TSO4; - } else if (IFCAP_TXCSUM & ifp->if_capenable) { - ifp->if_capenable |= IFCAP_TSO4; - ifp->if_hwassist |= CSUM_TSO; + if (IFCAP_TSO4 & if_getcapenable(ifp)) { + if_setcapenablebit(ifp, 0, IFCAP_TSO4); + } else if (IFCAP_TXCSUM & if_getcapenable(ifp)) { + if_setcapenablebit(ifp, IFCAP_TSO4, 0); + if_sethwassistbits(ifp, CSUM_TSO, 0); } else { printf("mxge requires tx checksum offload" " be enabled to use TSO\n"); @@ -4085,31 +4083,31 @@ mxge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) } #if IFCAP_TSO6 if (mask & IFCAP_TXCSUM_IPV6) { - if (IFCAP_TXCSUM_IPV6 & ifp->if_capenable) { + if (IFCAP_TXCSUM_IPV6 & if_getcapenable(ifp)) { mask &= ~IFCAP_TSO6; - ifp->if_capenable &= ~(IFCAP_TXCSUM_IPV6 - | IFCAP_TSO6); - ifp->if_hwassist &= ~(CSUM_TCP_IPV6 - | CSUM_UDP); + if_setcapenablebit(ifp, 0, + IFCAP_TXCSUM_IPV6 | IFCAP_TSO6); + if_sethwassistbits(ifp, 0, + CSUM_TCP_IPV6 | CSUM_UDP); } else { - ifp->if_capenable |= IFCAP_TXCSUM_IPV6; - ifp->if_hwassist |= (CSUM_TCP_IPV6 - | CSUM_UDP_IPV6); + if_setcapenablebit(ifp, IFCAP_TXCSUM_IPV6, 0); + if_sethwassistbits(ifp, + CSUM_TCP_IPV6 | CSUM_UDP_IPV6, 0); } } if (mask & IFCAP_RXCSUM_IPV6) { - if (IFCAP_RXCSUM_IPV6 & ifp->if_capenable) { - ifp->if_capenable &= ~IFCAP_RXCSUM_IPV6; + if (IFCAP_RXCSUM_IPV6 & if_getcapenable(ifp)) { + if_setcapenablebit(ifp, 0, IFCAP_RXCSUM_IPV6); } else { - ifp->if_capenable |= IFCAP_RXCSUM_IPV6; + if_setcapenablebit(ifp, IFCAP_RXCSUM_IPV6, 0); } } if (mask & IFCAP_TSO6) { - if (IFCAP_TSO6 & ifp->if_capenable) { - ifp->if_capenable &= ~IFCAP_TSO6; - } else if (IFCAP_TXCSUM_IPV6 & ifp->if_capenable) { - ifp->if_capenable |= IFCAP_TSO6; - ifp->if_hwassist |= CSUM_TSO; + if (IFCAP_TSO6 & if_getcapenable(ifp)) { + if_setcapenablebit(ifp, 0, IFCAP_TSO6); + } else if (IFCAP_TXCSUM_IPV6 & if_getcapenable(ifp)) { + if_setcapenablebit(ifp, IFCAP_TSO6, 0); + if_sethwassistbits(ifp, CSUM_TSO, 0); } else { printf("mxge requires tx checksum offload" " be enabled to use TSO\n"); @@ -4119,15 +4117,15 @@ mxge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) #endif /*IFCAP_TSO6 */ if (mask & IFCAP_LRO) - ifp->if_capenable ^= IFCAP_LRO; + if_togglecapenable(ifp, IFCAP_LRO); if (mask & IFCAP_VLAN_HWTAGGING) - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); if (mask & IFCAP_VLAN_HWTSO) - ifp->if_capenable ^= IFCAP_VLAN_HWTSO; + if_togglecapenable(ifp, IFCAP_VLAN_HWTSO); - if (!(ifp->if_capabilities & IFCAP_VLAN_HWTSO) || - !(ifp->if_capenable & IFCAP_VLAN_HWTAGGING)) - ifp->if_capenable &= ~IFCAP_VLAN_HWTSO; + if (!(if_getcapabilities(ifp) & IFCAP_VLAN_HWTSO) || + !(if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING)) + if_setcapenablebit(ifp, 0, IFCAP_VLAN_HWTSO); mtx_unlock(&sc->driver_mtx); VLAN_CAPABILITIES(ifp); @@ -4611,7 +4609,7 @@ mxge_attach(device_t dev) { mxge_cmd_t cmd; mxge_softc_t *sc = device_get_softc(dev); - struct ifnet *ifp; + if_t ifp; int err, rid; sc->dev = dev; @@ -4738,50 +4736,50 @@ mxge_attach(device_t dev) goto abort_with_rings; } - ifp->if_baudrate = IF_Gbps(10); - ifp->if_capabilities = IFCAP_RXCSUM | IFCAP_TXCSUM | IFCAP_TSO4 | + if_setbaudrate(ifp, IF_Gbps(10)); + if_setcapabilities(ifp, IFCAP_RXCSUM | IFCAP_TXCSUM | IFCAP_TSO4 | IFCAP_VLAN_MTU | IFCAP_LINKSTATE | IFCAP_TXCSUM_IPV6 | - IFCAP_RXCSUM_IPV6; + IFCAP_RXCSUM_IPV6); #if defined(INET) || defined(INET6) - ifp->if_capabilities |= IFCAP_LRO; + if_setcapabilitiesbit(ifp, IFCAP_LRO, 0); #endif #ifdef MXGE_NEW_VLAN_API - ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWCSUM; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWCSUM, 0); /* Only FW 1.4.32 and newer can do TSO over vlans */ if (sc->fw_ver_major == 1 && sc->fw_ver_minor == 4 && sc->fw_ver_tiny >= 32) - ifp->if_capabilities |= IFCAP_VLAN_HWTSO; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWTSO, 0); #endif sc->max_mtu = mxge_max_mtu(sc); if (sc->max_mtu >= 9000) - ifp->if_capabilities |= IFCAP_JUMBO_MTU; + if_setcapabilitiesbit(ifp, IFCAP_JUMBO_MTU, 0); else device_printf(dev, "MTU limited to %d. Install " "latest firmware for 9000 byte jumbo support\n", sc->max_mtu - ETHER_HDR_LEN); - ifp->if_hwassist = CSUM_TCP | CSUM_UDP | CSUM_TSO; - ifp->if_hwassist |= CSUM_TCP_IPV6 | CSUM_UDP_IPV6; + if_sethwassist(ifp, CSUM_TCP | CSUM_UDP | CSUM_TSO); + if_sethwassistbits(ifp, CSUM_TCP_IPV6 | CSUM_UDP_IPV6, 0); /* check to see if f/w supports TSO for IPv6 */ if (!mxge_send_cmd(sc, MXGEFW_CMD_GET_MAX_TSO6_HDR_SIZE, &cmd)) { if (CSUM_TCP_IPV6) - ifp->if_capabilities |= IFCAP_TSO6; + if_setcapabilitiesbit(ifp, IFCAP_TSO6, 0); sc->max_tso6_hlen = min(cmd.data0, sizeof (sc->ss[0].scratch)); } - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); if (sc->lro_cnt == 0) - ifp->if_capenable &= ~IFCAP_LRO; - ifp->if_init = mxge_init; - ifp->if_softc = sc; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = mxge_ioctl; - ifp->if_start = mxge_start; - ifp->if_get_counter = mxge_get_counter; - ifp->if_hw_tsomax = IP_MAXPACKET - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN); - ifp->if_hw_tsomaxsegcount = sc->ss[0].tx.max_desc; - ifp->if_hw_tsomaxsegsize = IP_MAXPACKET; + if_setcapenablebit(ifp, 0, IFCAP_LRO); + if_setinitfn(ifp, mxge_init); + if_setsoftc(ifp, sc); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, mxge_ioctl); + if_setstartfn(ifp, mxge_start); + if_setgetcounterfn(ifp, mxge_get_counter); + if_sethwtsomax(ifp, IP_MAXPACKET - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN)); + if_sethwtsomaxsegcount(ifp, sc->ss[0].tx.max_desc); + if_sethwtsomaxsegsize(ifp, IP_MAXPACKET); /* Initialise the ifmedia structure */ ifmedia_init(&sc->media, 0, mxge_media_change, mxge_media_status); @@ -4794,8 +4792,8 @@ mxge_attach(device_t dev) mxge_change_mtu(sc, mxge_initial_mtu); mxge_add_sysctls(sc); - ifp->if_transmit = mxge_transmit; - ifp->if_qflush = mxge_qflush; + if_settransmitfn(ifp, mxge_transmit); + if_setqflushfn(ifp, mxge_qflush); taskqueue_start_threads(&sc->tq, 1, PI_NET, "%s taskq", device_get_nameunit(sc->dev)); callout_reset(&sc->co_hdl, mxge_ticks, mxge_tick, sc); @@ -4842,7 +4840,7 @@ mxge_detach(device_t dev) } mtx_lock(&sc->driver_mtx); sc->dying = 1; - if (sc->ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(sc->ifp) & IFF_DRV_RUNNING) mxge_close(sc, 0); mtx_unlock(&sc->driver_mtx); ether_ifdetach(sc->ifp); diff --git a/sys/dev/mxge/if_mxge_var.h b/sys/dev/mxge/if_mxge_var.h index 422e353e8a1a..13562ff3f9db 100644 --- a/sys/dev/mxge/if_mxge_var.h +++ b/sys/dev/mxge/if_mxge_var.h @@ -44,7 +44,7 @@ $FreeBSD$ #define VLAN_CAPABILITIES(ifp) #define mxge_vlans_active(sc) (sc)->ifp->if_nvlans #else -#define mxge_vlans_active(sc) (sc)->ifp->if_vlantrunk +#define mxge_vlans_active(sc) if_getvlantrunk((sc)->ifp) #endif #ifndef VLAN_TAG_VALUE @@ -193,7 +193,7 @@ struct mxge_slice_state { }; struct mxge_softc { - struct ifnet* ifp; + if_t ifp; struct mxge_slice_state *ss; int tx_boundary; /* boundary transmits cannot cross*/ int lro_cnt; From nobody Mon Feb 6 18:21:06 2023 X-Original-To: dev-commits-src-main@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 4P9ZMR15yvz3n20G; Mon, 6 Feb 2023 18:21: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9ZMR0kzdz3JhD; Mon, 6 Feb 2023 18:21:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675707667; 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=TWY85JcseY00TAeqnek0J3bpi4J3PdX5NnnqHhQ75RA=; b=MYqfZs9qmopx1YEfpdILzIYZzacSEeYQQpnM5jmcJmr04ds4pf0PXxZt1TxdkOIkSLSeW/ 6a185yxmJks9UMTPNCVIaqg+GMeTH4y5OqE9nlCS+Ohp3OaByw8kj3GVRvZhCJuZTq1/0x tAviCghaa2e4GZrf2S1ouRTBBUTWdpXNbq8MXcK/orrGmGeiGFuww5NkvNxLMS7rsDBM2L Kvis7gEq3P52YhHyvqXZnljyWFXXc4rpnOltQiWXB1eYt9JC+FHVdOUhgcwPLpakKvGi9r WBYqc2dxs/K9MzC75WvONJ6nDCHCZprkxa9ypVKHZSx3LPPLvVku54AFumnPXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675707667; 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=TWY85JcseY00TAeqnek0J3bpi4J3PdX5NnnqHhQ75RA=; b=sVoZVYi6ekLq7SLCiaEHYXbcWKYL19Yq5JWNJul5Wjd870Jk6zdsKxXQWbmoa27VGP0pKo jztLmKMpxsT1Oo4YI/vbV+g8sn/g9qdBPPrh3CI5zSva2pKNblh9q+sd7sa6Q8o/U9TQxB +vPwRtgX/soRxhu13Vz5JjY8HzyMIP5vMwSIPyLZpV+4jfWpCZwm/eqnrK/s5PhE3rb2nP 3CK6p1YPgimKzGp/WbDqcc3Uhv14EUV6SmBQUmrzdUJa8AkHFT3xgOsj6Mi7EquXGZcAwd RVVGB7ZPyCkveHBksyE/gA+v9Ym1NhN9EqFlqOOgdK4/kKkX/Uu4p0eXKRMhdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675707667; a=rsa-sha256; cv=none; b=iTgV+h9ruiZhkVtkRyf0/wRlKQyUWZ2KKk5czhlDSBN73bfWD1NegyNXuedlqG/Hslao7K VYDdP0m0P1o59BCo7BrbHFrmlFUL5U/u9uR7+I7+GJL4u2LSG3t5l1Qqogs+CQzL/SezyV jNFVJw/8WV5xqaom2Q2f8nj2zVU0cymYpGkE7gAgT8ZTl2sNyG1G4IDOu220KHzJuih8k/ Nz9hqLBd09Fe27EHCTWqfutG0CwtfoOFJRe1cxwEzbLYaUnJ7xINbdB0yfyI2x3Ua5CLoO 8oIh96IZdWdk/nVj1IEzOBSmFVocVx0yDcmYnN9Y3w7rot7B2Yg310D7JD6zHg== 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 4P9ZMQ6vmVzl9m; Mon, 6 Feb 2023 18:21:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316IL6Nw013945; Mon, 6 Feb 2023 18:21:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316IL6gk013944; Mon, 6 Feb 2023 18:21:06 GMT (envelope-from git) Date: Mon, 6 Feb 2023 18:21:06 GMT Message-Id: <202302061821.316IL6gk013944@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 655d043b496e - main - Remove gxemul drivers. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 655d043b496e19e4e1463a12278a895d0d40b33d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=655d043b496e19e4e1463a12278a895d0d40b33d commit 655d043b496e19e4e1463a12278a895d0d40b33d Author: Justin Hibbits AuthorDate: 2023-02-06 18:06:25 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 18:06:25 +0000 Remove gxemul drivers. These were MIPS-only. --- sys/dev/gxemul/cons/gxemul_cons.c | 335 ------------------------ sys/dev/gxemul/disk/gxemul_disk.c | 331 ------------------------ sys/dev/gxemul/disk/gxemul_diskreg.h | 71 ----- sys/dev/gxemul/ether/gxreg.h | 65 ----- sys/dev/gxemul/ether/if_gx.c | 398 ----------------------------- tools/kerneldoc/subsys/Doxyfile-dev_gxemul | 21 -- 6 files changed, 1221 deletions(-) diff --git a/sys/dev/gxemul/cons/gxemul_cons.c b/sys/dev/gxemul/cons/gxemul_cons.c deleted file mode 100644 index 01c1d5d569de..000000000000 --- a/sys/dev/gxemul/cons/gxemul_cons.c +++ /dev/null @@ -1,335 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2011-2012 Robert N. M. Watson - * All rights reserved. - * - * This software was developed by SRI International and the University of - * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) - * ("CTSRD"), as part of the DARPA CRASH research programme. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include - -#define GC_LOCK_INIT() mtx_init(&gc_lock, "gc_lock", NULL, MTX_SPIN) - -#define GC_LOCK() do { \ - if (!kdb_active) \ - mtx_lock_spin(&gc_lock); \ -} while (0) - -#define GC_LOCK_ASSERT() do { \ - if (!kdb_active) \ - mtx_assert(&gc_lock, MA_OWNED); \ -} while (0) - -#define GC_UNLOCK() do { \ - if (!kdb_active) \ - mtx_unlock_spin(&gc_lock); \ -} while (0) - - -static struct mtx gc_lock; - -/* - * Low-level console driver functions. - */ -static cn_probe_t gxemul_cons_cnprobe; -static cn_init_t gxemul_cons_cninit; -static cn_term_t gxemul_cons_cnterm; -static cn_getc_t gxemul_cons_cngetc; -static cn_putc_t gxemul_cons_cnputc; -static cn_grab_t gxemul_cons_cngrab; -static cn_ungrab_t gxemul_cons_cnungrab; - -/* - * TTY-level fields. - */ -static tsw_outwakeup_t gxemul_cons_outwakeup; - -static struct ttydevsw gxemul_cons_ttydevsw = { - .tsw_flags = TF_NOPREFIX, - .tsw_outwakeup = gxemul_cons_outwakeup, -}; - -static struct callout gxemul_cons_callout; -static u_int gxemul_cons_polltime = 10; -#ifdef KDB -static int gxemul_cons_alt_break_state; -#endif - -static void gxemul_cons_timeout(void *); - -/* - * I/O routines lifted from Deimos. - * - * XXXRW: Should be using FreeBSD's bus routines here, but they are not - * available until later in the boot. - */ - -static inline vm_offset_t -mips_phys_to_uncached(vm_paddr_t phys) -{ - - return (MIPS_PHYS_TO_DIRECT_UNCACHED(phys)); -} - -static inline uint8_t -mips_ioread_uint8(vm_offset_t vaddr) -{ - uint8_t v; - - __asm__ __volatile__ ("lbu %0, 0(%1)" : "=r" (v) : "r" (vaddr)); - return (v); -} - -static inline void -mips_iowrite_uint8(vm_offset_t vaddr, uint8_t v) -{ - - __asm__ __volatile__ ("sb %0, 0(%1)" : : "r" (v), "r" (vaddr)); -} - -/* - * gxemul-specific constants. - */ -#define GXEMUL_CONS_BASE 0x10000000 /* gxemul console device. */ - -/* - * Routines for interacting with the gxemul test console. Programming details - * are a result of manually inspecting the source code for gxemul's - * dev_cons.cc and dev_cons.h. - * - * Offsets of I/O channels relative to the base. - */ -#define GXEMUL_PUTGETCHAR_OFF 0x00000000 -#define GXEMUL_CONS_HALT 0x00000010 - -/* - * One-byte buffer as we can't check whether the console is readable without - * actually reading from it. - */ -static char buffer_data; -static int buffer_valid; - -/* - * Low-level read and write routines. - */ -static inline uint8_t -gxemul_cons_data_read(void) -{ - - return (mips_ioread_uint8(mips_phys_to_uncached(GXEMUL_CONS_BASE + - GXEMUL_PUTGETCHAR_OFF))); -} - -static inline void -gxemul_cons_data_write(uint8_t v) -{ - - mips_iowrite_uint8(mips_phys_to_uncached(GXEMUL_CONS_BASE + - GXEMUL_PUTGETCHAR_OFF), v); -} - -static int -gxemul_cons_writable(void) -{ - - return (1); -} - -static int -gxemul_cons_readable(void) -{ - uint32_t v; - - GC_LOCK_ASSERT(); - - if (buffer_valid) - return (1); - v = gxemul_cons_data_read(); - if (v != 0) { - buffer_valid = 1; - buffer_data = v; - return (1); - } - return (0); -} - -static void -gxemul_cons_write(char ch) -{ - - GC_LOCK_ASSERT(); - - while (!gxemul_cons_writable()); - gxemul_cons_data_write(ch); -} - -static char -gxemul_cons_read(void) -{ - - GC_LOCK_ASSERT(); - - while (!gxemul_cons_readable()); - buffer_valid = 0; - return (buffer_data); -} - -/* - * Implementation of a FreeBSD low-level, polled console driver. - */ -static void -gxemul_cons_cnprobe(struct consdev *cp) -{ - - sprintf(cp->cn_name, "ttyu0"); - cp->cn_pri = (boothowto & RB_SERIAL) ? CN_REMOTE : CN_NORMAL; -} - -static void -gxemul_cons_cninit(struct consdev *cp) -{ - - GC_LOCK_INIT(); -} - -static void -gxemul_cons_cnterm(struct consdev *cp) -{ - -} - -static int -gxemul_cons_cngetc(struct consdev *cp) -{ - int ret; - - GC_LOCK(); - ret = gxemul_cons_read(); - GC_UNLOCK(); - return (ret); -} - -static void -gxemul_cons_cnputc(struct consdev *cp, int c) -{ - - GC_LOCK(); - gxemul_cons_write(c); - GC_UNLOCK(); -} - -static void -gxemul_cons_cngrab(struct consdev *cp) -{ - -} - -static void -gxemul_cons_cnungrab(struct consdev *cp) -{ - -} - -CONSOLE_DRIVER(gxemul_cons); - -/* - * TTY-level functions for gxemul_cons. - */ -static void -gxemul_cons_ttyinit(void *unused) -{ - struct tty *tp; - - tp = tty_alloc(&gxemul_cons_ttydevsw, NULL); - tty_init_console(tp, 0); - tty_makedev(tp, NULL, "%s", "ttyu0"); - callout_init(&gxemul_cons_callout, 1); - callout_reset(&gxemul_cons_callout, gxemul_cons_polltime, - gxemul_cons_timeout, tp); - -} -SYSINIT(gxemul_cons_ttyinit, SI_SUB_CONFIGURE, SI_ORDER_MIDDLE, - gxemul_cons_ttyinit, NULL); - -static void -gxemul_cons_outwakeup(struct tty *tp) -{ - int len; - u_char ch; - - /* - * XXXRW: Would be nice not to do blocking writes to the console here, - * rescheduling on our timer tick if work remains to be done.. - */ - for (;;) { - len = ttydisc_getc(tp, &ch, sizeof(ch)); - if (len == 0) - break; - GC_LOCK(); - gxemul_cons_write(ch); - GC_UNLOCK(); - } -} - -static void -gxemul_cons_timeout(void *v) -{ - struct tty *tp; - int c; - - tp = v; - tty_lock(tp); - GC_LOCK(); - while (gxemul_cons_readable()) { - c = gxemul_cons_read(); - GC_UNLOCK(); -#ifdef KDB - kdb_alt_break(c, &gxemul_cons_alt_break_state); -#endif - ttydisc_rint(tp, c, 0); - GC_LOCK(); - } - GC_UNLOCK(); - ttydisc_rint_done(tp); - tty_unlock(tp); - callout_reset(&gxemul_cons_callout, gxemul_cons_polltime, - gxemul_cons_timeout, tp); -} diff --git a/sys/dev/gxemul/disk/gxemul_disk.c b/sys/dev/gxemul/disk/gxemul_disk.c deleted file mode 100644 index b53beb6492d1..000000000000 --- a/sys/dev/gxemul/disk/gxemul_disk.c +++ /dev/null @@ -1,331 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2008-2012 Juli Mallett - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include - -#include - -struct gxemul_disk_softc { - device_t sc_dev; - uint64_t sc_size; - struct g_geom *sc_geom; - struct g_provider *sc_provider; -}; - -static struct mtx gxemul_disk_controller_mutex; - -static g_start_t gxemul_disk_start; -static g_access_t gxemul_disk_access; - -struct g_class g_gxemul_disk_class = { - .name = "GXemul", - .version = G_VERSION, - .start = gxemul_disk_start, - .access = gxemul_disk_access, -}; - -DECLARE_GEOM_CLASS(g_gxemul_disk_class, g_gxemul_disk); - -static void gxemul_disk_identify(driver_t *, device_t); -static int gxemul_disk_probe(device_t); -static int gxemul_disk_attach(device_t); -static void gxemul_disk_attach_geom(void *, int); - -static int gxemul_disk_read(unsigned, void *, off_t); -static int gxemul_disk_size(unsigned, uint64_t *); -static int gxemul_disk_write(unsigned, const void *, off_t); - -static void -gxemul_disk_start(struct bio *bp) -{ - struct gxemul_disk_softc *sc; - unsigned diskid; - off_t offset; - uint8_t *buf; - int error; - - sc = bp->bio_to->geom->softc; - diskid = device_get_unit(sc->sc_dev); - - if ((bp->bio_length % GXEMUL_DISK_DEV_BLOCKSIZE) != 0) { - g_io_deliver(bp, EINVAL); - return; - } - - buf = bp->bio_data; - offset = bp->bio_offset; - bp->bio_resid = bp->bio_length; - while (bp->bio_resid != 0) { - switch (bp->bio_cmd) { - case BIO_READ: - mtx_lock(&gxemul_disk_controller_mutex); - error = gxemul_disk_read(diskid, buf, offset); - mtx_unlock(&gxemul_disk_controller_mutex); - break; - case BIO_WRITE: - mtx_lock(&gxemul_disk_controller_mutex); - error = gxemul_disk_write(diskid, buf, offset); - mtx_unlock(&gxemul_disk_controller_mutex); - break; - default: - g_io_deliver(bp, EOPNOTSUPP); - return; - } - if (error != 0) { - g_io_deliver(bp, error); - return; - } - - buf += GXEMUL_DISK_DEV_BLOCKSIZE; - offset += GXEMUL_DISK_DEV_BLOCKSIZE; - bp->bio_completed += GXEMUL_DISK_DEV_BLOCKSIZE; - bp->bio_resid -= GXEMUL_DISK_DEV_BLOCKSIZE; - } - - g_io_deliver(bp, 0); -} - -static int -gxemul_disk_access(struct g_provider *pp, int r, int w, int e) -{ - return (0); -} - -static void -gxemul_disk_identify(driver_t *drv, device_t parent) -{ - unsigned diskid; - - mtx_init(&gxemul_disk_controller_mutex, "GXemul disk controller", NULL, MTX_DEF); - - mtx_lock(&gxemul_disk_controller_mutex); - for (diskid = 0; diskid < 0x100; diskid++) { - /* - * If we can read at offset 0, this disk id must be - * present enough. If we get an error, stop looking. - * Disks in GXemul are allocated linearly from 0. - */ - if (gxemul_disk_read(diskid, NULL, 0) != 0) - break; - BUS_ADD_CHILD(parent, 0, "gxemul_disk", diskid); - } - mtx_unlock(&gxemul_disk_controller_mutex); -} - -static int -gxemul_disk_probe(device_t dev) -{ - device_set_desc(dev, "GXemul test disk"); - - return (BUS_PROBE_NOWILDCARD); -} - -static void -gxemul_disk_attach_geom(void *arg, int flag) -{ - struct gxemul_disk_softc *sc; - - sc = arg; - - sc->sc_geom = g_new_geomf(&g_gxemul_disk_class, "%s", device_get_nameunit(sc->sc_dev)); - sc->sc_geom->softc = sc; - - sc->sc_provider = g_new_providerf(sc->sc_geom, "%s", sc->sc_geom->name); - sc->sc_provider->sectorsize = GXEMUL_DISK_DEV_BLOCKSIZE; - sc->sc_provider->mediasize = sc->sc_size; - g_error_provider(sc->sc_provider, 0); -} - -static int -gxemul_disk_attach(device_t dev) -{ - struct gxemul_disk_softc *sc; - unsigned diskid; - int error; - - diskid = device_get_unit(dev); - - sc = device_get_softc(dev); - sc->sc_dev = dev; - sc->sc_geom = NULL; - sc->sc_provider = NULL; - - mtx_lock(&gxemul_disk_controller_mutex); - error = gxemul_disk_size(diskid, &sc->sc_size); - if (error != 0) { - mtx_unlock(&gxemul_disk_controller_mutex); - return (error); - } - mtx_unlock(&gxemul_disk_controller_mutex); - - g_post_event(gxemul_disk_attach_geom, sc, M_WAITOK, NULL); - - return (0); -} - -static int -gxemul_disk_read(unsigned diskid, void *buf, off_t off) -{ - const volatile void *src; - - mtx_assert(&gxemul_disk_controller_mutex, MA_OWNED); - - if (off < 0 || off % GXEMUL_DISK_DEV_BLOCKSIZE != 0) - return (EINVAL); - -#ifdef _LP64 - GXEMUL_DISK_DEV_WRITE(GXEMUL_DISK_DEV_OFFSET, (uint64_t)off); -#else - GXEMUL_DISK_DEV_WRITE(GXEMUL_DISK_DEV_OFFSET_LO, - (uint32_t)(off & 0xffffffff)); - GXEMUL_DISK_DEV_WRITE(GXEMUL_DISK_DEV_OFFSET_HI, - (uint32_t)((off >> 32) & 0xffffffff)); -#endif - GXEMUL_DISK_DEV_WRITE(GXEMUL_DISK_DEV_DISKID, diskid); - GXEMUL_DISK_DEV_WRITE(GXEMUL_DISK_DEV_START, GXEMUL_DISK_DEV_START_READ); - switch (GXEMUL_DISK_DEV_READ(GXEMUL_DISK_DEV_STATUS)) { - case GXEMUL_DISK_DEV_STATUS_FAILURE: - return (EIO); - default: - break; - } - - if (buf != NULL) { - src = GXEMUL_DISK_DEV_FUNCTION(GXEMUL_DISK_DEV_BLOCK); - memcpy(buf, (const void *)(uintptr_t)src, - GXEMUL_DISK_DEV_BLOCKSIZE); - } - - return (0); -} - -static int -gxemul_disk_size(unsigned diskid, uint64_t *sizep) -{ - uint64_t offset, ogood; - uint64_t m, s; - int error; - - m = 1; - s = 3; - ogood = 0; - - for (;;) { - offset = (ogood * s) + (m * GXEMUL_DISK_DEV_BLOCKSIZE); - - error = gxemul_disk_read(diskid, NULL, offset); - if (error != 0) { - if (m == 1 && s == 1) { - *sizep = ogood + GXEMUL_DISK_DEV_BLOCKSIZE; - return (0); - } - if (m > 1) - m /= 2; - if (s > 1) - s--; - continue; - } - if (ogood == offset) { - m = 1; - continue; - } - ogood = offset; - m++; - } - - return (EDOOFUS); -} - -static int -gxemul_disk_write(unsigned diskid, const void *buf, off_t off) -{ - volatile void *dst; - - mtx_assert(&gxemul_disk_controller_mutex, MA_OWNED); - - if (off < 0 || off % GXEMUL_DISK_DEV_BLOCKSIZE != 0) - return (EINVAL); - -#ifdef _LP64 - GXEMUL_DISK_DEV_WRITE(GXEMUL_DISK_DEV_OFFSET, (uint64_t)off); -#else - GXEMUL_DISK_DEV_WRITE(GXEMUL_DISK_DEV_OFFSET_LO, - (uint32_t)(off & 0xffffffff)); - GXEMUL_DISK_DEV_WRITE(GXEMUL_DISK_DEV_OFFSET_HI, - (uint32_t)((off >> 32) & 0xffffffff)); -#endif - - GXEMUL_DISK_DEV_WRITE(GXEMUL_DISK_DEV_DISKID, diskid); - - dst = GXEMUL_DISK_DEV_FUNCTION(GXEMUL_DISK_DEV_BLOCK); - memcpy((void *)(uintptr_t)dst, buf, GXEMUL_DISK_DEV_BLOCKSIZE); - - GXEMUL_DISK_DEV_WRITE(GXEMUL_DISK_DEV_START, GXEMUL_DISK_DEV_START_WRITE); - switch (GXEMUL_DISK_DEV_READ(GXEMUL_DISK_DEV_STATUS)) { - case GXEMUL_DISK_DEV_STATUS_FAILURE: - return (EIO); - default: - break; - } - - return (0); -} - -static device_method_t gxemul_disk_methods[] = { - DEVMETHOD(device_probe, gxemul_disk_probe), - DEVMETHOD(device_identify, gxemul_disk_identify), - DEVMETHOD(device_attach, gxemul_disk_attach), - - { 0, 0 } -}; - -static driver_t gxemul_disk_driver = { - "gxemul_disk", - gxemul_disk_methods, - sizeof (struct gxemul_disk_softc) -}; - -DRIVER_MODULE(gxemul_disk, nexus, gxemul_disk_driver, 0, 0); diff --git a/sys/dev/gxemul/disk/gxemul_diskreg.h b/sys/dev/gxemul/disk/gxemul_diskreg.h deleted file mode 100644 index 8db71f1593f9..000000000000 --- a/sys/dev/gxemul/disk/gxemul_diskreg.h +++ /dev/null @@ -1,71 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2008-2012 Juli Mallett - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#ifndef _DEV_GXEMUL_DISK_GXEMUL_DISK_H_ -#define _DEV_GXEMUL_DISK_GXEMUL_DISK_H_ - -#define GXEMUL_DISK_DEV_BASE (0x13000000) - -#define GXEMUL_DISK_DEV_BLOCKSIZE (0x0200) - -#define GXEMUL_DISK_DEV_ID_START (0x0000) -#define GXEMUL_DISK_DEV_ID_END (0x0100) - -#ifdef _LP64 -#define GXEMUL_DISK_DEV_OFFSET (0x0000) -#else -#define GXEMUL_DISK_DEV_OFFSET_LO (0x0000) -#define GXEMUL_DISK_DEV_OFFSET_HI (0x0008) -#endif -#define GXEMUL_DISK_DEV_DISKID (0x0010) -#define GXEMUL_DISK_DEV_START (0x0020) -#define GXEMUL_DISK_DEV_STATUS (0x0030) -#define GXEMUL_DISK_DEV_BLOCK (0x4000) - -#ifdef _LP64 -#define GXEMUL_DISK_DEV_FUNCTION(f) \ - (volatile uint64_t *)MIPS_PHYS_TO_DIRECT_UNCACHED(GXEMUL_DISK_DEV_BASE + (f)) -#define GXEMUL_DISK_DEV_READ(f) \ - (volatile uint64_t)*GXEMUL_DISK_DEV_FUNCTION(f) -#else -#define GXEMUL_DISK_DEV_FUNCTION(f) \ - (volatile uint32_t *)MIPS_PHYS_TO_DIRECT_UNCACHED(GXEMUL_DISK_DEV_BASE + (f)) -#define GXEMUL_DISK_DEV_READ(f) \ - (volatile uint32_t)*GXEMUL_DISK_DEV_FUNCTION(f) -#endif -#define GXEMUL_DISK_DEV_WRITE(f, v) \ - *GXEMUL_DISK_DEV_FUNCTION(f) = (v) - -#define GXEMUL_DISK_DEV_START_READ (0x00) -#define GXEMUL_DISK_DEV_START_WRITE (0x01) - -#define GXEMUL_DISK_DEV_STATUS_FAILURE (0x00) - -#endif /* !_DEV_GXEMUL_DISK_GXEMUL_DISK_H_ */ diff --git a/sys/dev/gxemul/ether/gxreg.h b/sys/dev/gxemul/ether/gxreg.h deleted file mode 100644 index 557c902befef..000000000000 --- a/sys/dev/gxemul/ether/gxreg.h +++ /dev/null @@ -1,65 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2008-2012 Juli Mallett - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#ifndef _DEV_GXEMUL_ETHER_GXREG_H_ -#define _DEV_GXEMUL_ETHER_GXREG_H_ - -#define GXEMUL_ETHER_DEV_BASE (0x14000000) -#define GXEMUL_ETHER_DEV_IRQ (3) - -#define GXEMUL_ETHER_DEV_MTU (0x4000) - -#define GXEMUL_ETHER_DEV_BUFFER (0x0000) -#define GXEMUL_ETHER_DEV_STATUS (0x4000) -#define GXEMUL_ETHER_DEV_LENGTH (0x4010) -#define GXEMUL_ETHER_DEV_COMMAND (0x4020) -#define GXEMUL_ETHER_DEV_MAC (0x4040) - -#ifdef _LP64 -#define GXEMUL_ETHER_DEV_FUNCTION(f) \ - (volatile uint64_t *)MIPS_PHYS_TO_DIRECT_UNCACHED(GXEMUL_ETHER_DEV_BASE + (f)) -#define GXEMUL_ETHER_DEV_READ(f) \ - (volatile uint64_t)*GXEMUL_ETHER_DEV_FUNCTION(f) -#else -#define GXEMUL_ETHER_DEV_FUNCTION(f) \ - (volatile uint32_t *)MIPS_PHYS_TO_DIRECT_UNCACHED(GXEMUL_ETHER_DEV_BASE + (f)) -#define GXEMUL_ETHER_DEV_READ(f) \ - (volatile uint32_t)*GXEMUL_ETHER_DEV_FUNCTION(f) -#endif -#define GXEMUL_ETHER_DEV_WRITE(f, v) \ - *GXEMUL_ETHER_DEV_FUNCTION(f) = (v) - -#define GXEMUL_ETHER_DEV_STATUS_RX_OK (0x01) -#define GXEMUL_ETHER_DEV_STATUS_RX_MORE (0x02) - -#define GXEMUL_ETHER_DEV_COMMAND_RX (0x00) -#define GXEMUL_ETHER_DEV_COMMAND_TX (0x01) - -#endif /* !_DEV_GXEMUL_ETHER_GXREG_H_ */ diff --git a/sys/dev/gxemul/ether/if_gx.c b/sys/dev/gxemul/ether/if_gx.c deleted file mode 100644 index e7bb927fd674..000000000000 --- a/sys/dev/gxemul/ether/if_gx.c +++ /dev/null @@ -1,398 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2008-2012 Juli Mallett - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include "opt_inet.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef INET -#include -#include -#endif - -#include - -#include - -struct gx_softc { - struct ifnet *sc_ifp; - device_t sc_dev; - unsigned sc_port; - int sc_flags; - struct ifmedia sc_ifmedia; - struct resource *sc_intr; - void *sc_intr_cookie; - struct mtx sc_mtx; -}; - -#define GXEMUL_ETHER_LOCK(sc) mtx_lock(&(sc)->sc_mtx) -#define GXEMUL_ETHER_UNLOCK(sc) mtx_unlock(&(sc)->sc_mtx) - -static void gx_identify(driver_t *, device_t); -static int gx_probe(device_t); -static int gx_attach(device_t); -static int gx_detach(device_t); -static int gx_shutdown(device_t); - -static void gx_init(void *); -static int gx_transmit(struct ifnet *, struct mbuf *); - -static int gx_medchange(struct ifnet *); -static void gx_medstat(struct ifnet *, struct ifmediareq *); - -static int gx_ioctl(struct ifnet *, u_long, caddr_t); - -static void gx_rx_intr(void *); - -static device_method_t gx_methods[] = { - /* Device interface */ - DEVMETHOD(device_identify, gx_identify), - DEVMETHOD(device_probe, gx_probe), - DEVMETHOD(device_attach, gx_attach), - DEVMETHOD(device_detach, gx_detach), - DEVMETHOD(device_shutdown, gx_shutdown), - - { 0, 0 } -}; - -static driver_t gx_driver = { - "gx", - gx_methods, - sizeof (struct gx_softc), -}; - -DRIVER_MODULE(gx, nexus, gx_driver, 0, 0); - -static void -gx_identify(driver_t *drv, device_t parent) -{ - BUS_ADD_CHILD(parent, 0, "gx", 0); -} - -static int -gx_probe(device_t dev) -{ - if (device_get_unit(dev) != 0) - return (ENXIO); - - device_set_desc(dev, "GXemul test Ethernet"); - - return (BUS_PROBE_NOWILDCARD); -} - -static int -gx_attach(device_t dev) -{ *** 292 LINES SKIPPED *** From nobody Mon Feb 6 18:21:08 2023 X-Original-To: dev-commits-src-main@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 4P9ZMS32zXz3n2RH; Mon, 6 Feb 2023 18:21: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9ZMS2FYSz3JsG; Mon, 6 Feb 2023 18:21:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675707668; 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=2VPrQO8RgG2ghYN/zMsSgMDjaOmb71fL1VlVixG9SnA=; b=jJ9iILAOJ1RjPcO+6Id2kjnla31QJS2rujSyonpINgl4B5LGGzNv59O9MPu4c2yHRf5Nlw h29dpG/BTtfcS5/7WHaW9FGeVNhS2j0VIwo2iS4JXJSso5d0lIByadFfoDDa8qFAWjB82T GA46YjeeQk0IU7lKEUqvo5CI79SLy23BJfQgNkD9grWCJ2unUpZEiCqL+a+PyGN1RamHC7 l6RD6nACyXZSrDR2ZWZF/E1l9WKkDox1u5jKtGSt1ZIjmAU+oIQd77WQvkntzipZrt+Uw0 qMQxB7oLQqLL5cAkUDcffUdiWczMur4vOSJkX1GvJ64Zac/Ya+fbWCTJ65d5Iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675707668; 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=2VPrQO8RgG2ghYN/zMsSgMDjaOmb71fL1VlVixG9SnA=; b=UmyOryVV6IWaK/9tXqb6aUu8ncCRg8fo00HHs+Nje9taGP9YuZNVmGGIqg3kj8taUcPj2y XF9n8TGD277uVexUCzO49T9dNiBMr5WQhrjt34br7r0CVvEL8FWhTMAgJ4fKGlfGnr0VDk 9r3IhzGXw7Qq5eAR7nu/CeX27NKl9TKM5hoVXGh1+fDOaNeQ0tH4w7DrvP5gT0tOsOSbDB LrSp2Ced+N+cplXxrwp+erqJeAe3ssUC9evkEADMX6p3oJ5UbgEgJ/S9Lhx0OJ19NAuXiR q9ZQISpdh8aCy35RSTWAZBTOWZ/gO00LngsdRPgO8EZAKVQbYWWrngSa56YiYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675707668; a=rsa-sha256; cv=none; b=GNay2x+7gdsrI+BGKY4SJxtfTkpA4iFB2Z+xUgZa/3m7Xr6EySHcgbe2X3VE0cmoXuLjNK hJ8AcbiFrcfO+e2zlUYbaC0gGG8ejLyEBYWT4Maf9Ax8M+lnN3pzs+rTGqnrKOGZbksBtZ IF3NZOGq2kIIQhNqYxou7ZuHsX4kmQ1SBZLlqU6PqggTBDsxY8uldBx3M4xM4eYID+MKbY ZPy7XHENq7zeNt5fXMLxjuqelMbzzHCiBN2R+4iGmCIy82nFbVSo0nmh0sKYuoMvd8fjVe kjQcE4j1Ze7+sDhx6P2c77g1MCAE5/dlildcMCg59amP+kvdvGlz1ZGEQY/Yog== 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 4P9ZMS0lFbzl9n; Mon, 6 Feb 2023 18:21:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316IL8kn013975; Mon, 6 Feb 2023 18:21:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316IL8L5013974; Mon, 6 Feb 2023 18:21:08 GMT (envelope-from git) Date: Mon, 6 Feb 2023 18:21:08 GMT Message-Id: <202302061821.316IL8L5013974@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 61593cb29702 - main - Remove Doxyfiles for recently removed drivers. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 61593cb297023ac0fb226f3deb157ed63047d6a2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=61593cb297023ac0fb226f3deb157ed63047d6a2 commit 61593cb297023ac0fb226f3deb157ed63047d6a2 Author: Justin Hibbits AuthorDate: 2023-02-06 18:08:37 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 18:20:40 +0000 Remove Doxyfiles for recently removed drivers. --- tools/kerneldoc/subsys/Doxyfile-dev_dme | 21 --------------------- tools/kerneldoc/subsys/Doxyfile-dev_rt | 21 --------------------- 2 files changed, 42 deletions(-) diff --git a/tools/kerneldoc/subsys/Doxyfile-dev_dme b/tools/kerneldoc/subsys/Doxyfile-dev_dme deleted file mode 100644 index c5465c30c99e..000000000000 --- a/tools/kerneldoc/subsys/Doxyfile-dev_dme +++ /dev/null @@ -1,21 +0,0 @@ -# Doxyfile 1.5.2 - -# $FreeBSD$ - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -PROJECT_NAME = "FreeBSD kernel dme device code" -OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_dme/ -EXTRACT_ALL = YES # for undocumented src, no warnings enabled -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = $(DOXYGEN_SRC_PATH)/dev/dme/ \ - $(NOTREVIEWED) - -GENERATE_TAGFILE = dev_dme/dev_dme.tag - -@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) -@INCLUDE = common-Doxyfile - diff --git a/tools/kerneldoc/subsys/Doxyfile-dev_rt b/tools/kerneldoc/subsys/Doxyfile-dev_rt deleted file mode 100644 index 35efce958419..000000000000 --- a/tools/kerneldoc/subsys/Doxyfile-dev_rt +++ /dev/null @@ -1,21 +0,0 @@ -# Doxyfile 1.5.2 - -# $FreeBSD$ - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -PROJECT_NAME = "FreeBSD kernel RT device code" -OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_rt/ -EXTRACT_ALL = YES # for undocumented src, no warnings enabled -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = $(DOXYGEN_SRC_PATH)/dev/rt/ \ - $(NOTREVIEWED) - -GENERATE_TAGFILE = dev_rt/dev_rt.tag - -@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) -@INCLUDE = common-Doxyfile - From nobody Mon Feb 6 18:35:10 2023 X-Original-To: dev-commits-src-main@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 4P9Zgh1b6dz3n2yV; Mon, 6 Feb 2023 18:35:12 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9Zgh0sJ0z3LJx; Mon, 6 Feb 2023 18:35:12 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675708512; 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: in-reply-to:in-reply-to:references:references; bh=WaZK17q6Z/RhL39FF84/zh4ZjB1/9FOF66CNMPoos6Q=; b=CRbC+TknbHfXImw2P4gnFhVKtMGqKXNhjjhEJHJVFkX+ezsXWEB0hAPldTXr6zMUdKuvAS tTth4+MI3XCgNTlkZB3nns9iesqRRF4S/+Lszy7FLEuUsjH7f1xIcCVHfWnHHycAvvR2CI zQz9vIhQUpjby93q8LBr+RDMTGGcsiiFjlx8bVAewYoI491AotNDf3ABfRiidiqMuRuKAQ P9a2qNh9uuXCVwN/QoxtCQW4sQZwTI61dYGNoxbFdf99r+9MGb1/4WGIQqNuNz/0gyE/Qv sFs3/lr6VbVbCKzGdnCvwWmz63yqS/RuuX3jj4ItR94umTBTG6RxF2rEFs9B3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675708512; 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: in-reply-to:in-reply-to:references:references; bh=WaZK17q6Z/RhL39FF84/zh4ZjB1/9FOF66CNMPoos6Q=; b=PgqGjBj6I5u5ROH2MV1yApN0XOXBWx1U8ZGU3B/K3Q1QWeyk69m8gk95Lk+2MsvjYsiL42 qzygJCe3DTOBrzIApYCVzW6XFKKtmXY+/v/8+bppBcWk4h/ghdDZdUgtr4sP65qXkztwvY fMvOtorZHNPwvhowN56r9V9ecKLZwNupml5Qc4AmHpIpSuSxJXi7gJ1hcfj4QIKrXt8niF 2VFY6WaKWIWiO9Vv3a7lPHjIEUo6ttY20eK3NmKny0S1Z0TJZ6H8iK0ETWuQveyuw/5qj5 a3S7ECqAubVkZMGaPgXth9q7NEZvx9gJo+EG2Q885arxwlj1WLjcpn7SvRux4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675708512; a=rsa-sha256; cv=none; b=C67vDVUseQfJ9Qv2XPcUfMxhlieiFPr1t3BK389Rcmef/C7j5ov6rszIy/HjVMcJ/pgyJG q9nK9xpMdwxPSKu+/om3eLva8vhGefsFF8Sucrczh0pNGYylGZvwnn0nzv9XeI/RiLIzA9 /C8STmPdXm+4RuXek+nbgI/gzNlpQ/2sqWEps3V7yZXCzQIYX0BDvwILjqQZVRWsRtWR+G 9gSuK5HeIHe3mpGLX+n11QOkOmY1Lxswxl/AvaPMzH5QaWffFrz4lQDy97gN8gQUb8ruzQ NjbYX8wcmKN2Z1rSTYiCo06EQn4mFOa1DLcWXpujgNpmYn9MSJiNJVuKEYGFoQ== Received: from [10.0.1.4] (ralph.baldwin.cx [66.234.199.215]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P9Zgg3b4Sz1Mk9; Mon, 6 Feb 2023 18:35:11 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <68741cc8-67eb-747f-c5fc-f46521dc712c@FreeBSD.org> Date: Mon, 6 Feb 2023 10:35:10 -0800 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: git: 6926e2699ae5 - main - arm: Add support for using VFP in kernel Content-Language: en-US To: =?UTF-8?Q?Kornel_Dul=c4=99ba?= , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202302041922.314JMNEp076075@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202302041922.314JMNEp076075@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ThisMailContainsUnwantedMimeParts: N On 2/4/23 11:22 AM, Kornel Dulęba wrote: > The branch main has been updated by kd: > > URL: https://cgit.FreeBSD.org/src/commit/?id=6926e2699ae55080f860488895a2a9aa6e6d9b4d > > commit 6926e2699ae55080f860488895a2a9aa6e6d9b4d > Author: Kornel Dulęba > AuthorDate: 2023-02-04 12:59:30 +0000 > Commit: Kornel Dulęba > CommitDate: 2023-02-04 19:21:43 +0000 > > arm: Add support for using VFP in kernel > > Add missing logic to allow in-kernel VFP usage for ARMv7 NEON. > The implementation is strongly based on arm64 code. > It introduces a family of fpu_kern_* functions to enable the usage > of VFP instructions in kernel. > Apart from that the existing armv7 VFP logic was modified, > taking into account that the state of the VFP registers can now > be modified in the kernel. > > Co-developed by: Wojciech Macek > Sponsored by: Stormshield > Obtained from: Semihalf > Reviewed by: andrew > Differential Revision: https://reviews.freebsd.org/D37419 Note that changing the layout of 'struct fpreg' and what fill_fpregs and set_fpregs do does change the layout of the .reg2 coredump note and what happens for PT_[GS]ETFPREGS for ptrace(2). That said, GDB at least ignores all that since it is known to be useless. I haven't checked LLDB, but it likely doesn't care about the old interfaces either. Maybe at least a RELNOTES entry and __FreeBSD_version bump in case it is problematic in the future? > --- > lib/libthread_db/arch/arm/libpthread_md.c | 21 ++-- > sys/arm/arm/exec_machdep.c | 49 ++++---- > sys/arm/arm/machdep.c | 1 + > sys/arm/arm/machdep_kdb.c | 31 ++++- > sys/arm/arm/swtch-v6.S | 8 +- > sys/arm/arm/swtch.S | 8 +- > sys/arm/arm/vfp.c | 182 +++++++++++++++++++++++++++++- > sys/arm/arm/vm_machdep.c | 6 +- > sys/arm/include/fpu.h | 7 ++ > sys/arm/include/pcb.h | 5 + > sys/arm/include/reg.h | 12 +- > sys/arm/include/vfp.h | 17 +++ > 12 files changed, 293 insertions(+), 54 deletions(-) > > diff --git a/sys/arm/arm/exec_machdep.c b/sys/arm/arm/exec_machdep.c > index 2bf3efff7fe4..c14bd51146ef 100644 > --- a/sys/arm/arm/exec_machdep.c > +++ b/sys/arm/arm/exec_machdep.c > @@ -100,16 +100,18 @@ get_vfpcontext(struct thread *td, mcontext_vfp_t *vfp) > memcpy(vfp->mcv_reg, pcb->pcb_vfpstate.reg, > - sizeof(vfp->mcv_reg)); > + sizeof(vfp->mcv_reg)); FYI, this was a style regression here and elsewhere in the commit. -- John Baldwin From nobody Mon Feb 6 19:01:13 2023 X-Original-To: dev-commits-src-main@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 4P9bFj6YSGz3n3Yd; Mon, 6 Feb 2023 19:01: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9bFj5wBFz3Nbv; Mon, 6 Feb 2023 19:01:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675710073; 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=sW0XicpnblWJs9oQg12HEGs6Z8QGvlL+sYQB4fZ0Tis=; b=XyzbNWa1P/RcGn9rRU99KRgGSqm3fOobOkvgn3DlrbZHLRR2poNhvWbq2KEu4E8CxVyRbR 7N+16GUxeuP1V5yVyx6mblmRyMVtSpffeWrD/OOChdrHEjFcJxFFdnPMxEWH+uwQTyzF4I O+3chR6o5Sin6hoKS38U7OLLxhiyiaOftLKMs2r3ThyZDuAJH9lsa4UEymHGRCA0nRqnOy rRGJ9iFt4z26fBn3pfraz7kEV8pMHHE/VnKVxYg2LzdL1RQDwKTrTOvHSOy6bV+1y4pX9q W2AzM0zvL2JXkkkLIocukeA05UvRy0DCsKO9rjESUaOVbc3fhLxx+0vH8y3vRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675710073; 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=sW0XicpnblWJs9oQg12HEGs6Z8QGvlL+sYQB4fZ0Tis=; b=cmOyak1mU1UcNx5Dcd7YUncB3YvA1B5vgQBvcPkOVtBKwgZ91H8EukeSQo6Ru6iCoJXRri OYS10QP5bDIpxq32MuQvAasN4IoZgttVp2WGr9mchpYlBU5kB5sX3GV4cbrJZsYe2U0s+V h95ZnBoyhl0I01ajVf7bnxA4ppZmeoRZW8MRHGLBRD7FL8dNppo9NQWnrhFDLoiHU6jnoT lAVPSr5podYieXcY+FA+qFyJlCXegE8lacRhfcopU6XKS4RfboTdz1zNFjuCS3xJo+JN+W +iR3UC13hHNh0pYg5JEwKzMF08XA8mIBfWsGT2qVnG67ueIX8UvOVHIrCV1tIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675710073; a=rsa-sha256; cv=none; b=jwM+tScjBanmPrww5F2DMI41Rg53WMYfqNMLKaX3V0jDOFnzftFLvTeowZAVv+q0wNC7Qq lPK1y3y4IPrlgFWB/3qW0Xkrt9crYZR/ZuUYR/jMqdA6ZIHragirXJrp1wizFKcI+jNp7l mjhsMaaFwSnCbDEz3n0V88c59tTcL19MzXM36tnxblxgrzyo1u7eIqKzmPvwEFrUEhxwkU GeFxb253KiGD336CXnwKCrBv3eGNqABPblUfdY0aMDR4CnR5Uyq7NWiYamTTKiGYHxx/LO U/PCYJ85xtK7y/xwApfTCOTeoTzYemTfHopwwq+bQxfe3nLwheBFbNzTZ+o/PQ== 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 4P9bFj4j8Lzm1x; Mon, 6 Feb 2023 19:01:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316J1DYr074909; Mon, 6 Feb 2023 19:01:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316J1DMH074908; Mon, 6 Feb 2023 19:01:13 GMT (envelope-from git) Date: Mon, 6 Feb 2023 19:01:13 GMT Message-Id: <202302061901.316J1DMH074908@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 4a1c4de232af - main - Allow sysctl hw.machine/hw.machine_arch in capability mode List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 4a1c4de232af202aa5fa02c7adaa97174997ae61 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=4a1c4de232af202aa5fa02c7adaa97174997ae61 commit 4a1c4de232af202aa5fa02c7adaa97174997ae61 Author: Val Packett AuthorDate: 2023-02-05 20:52:50 +0000 Commit: Ed Maste CommitDate: 2023-02-06 19:00:52 +0000 Allow sysctl hw.machine/hw.machine_arch in capability mode There's no harm in reading strings like 'amd64'. Reviewed by: emaste, manu Sponsored by: https://www.patreon.com/valpackett Differential Revision: https://reviews.freebsd.org/D28703 --- sys/arm/arm/identcpu-v6.c | 2 +- sys/arm64/arm64/identcpu.c | 3 ++- sys/kern/kern_mib.c | 2 +- sys/powerpc/powerpc/machdep.c | 2 +- sys/riscv/riscv/identcpu.c | 2 +- sys/x86/x86/identcpu.c | 4 ++-- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/sys/arm/arm/identcpu-v6.c b/sys/arm/arm/identcpu-v6.c index ad23d65b6b6f..92656ca3b376 100644 --- a/sys/arm/arm/identcpu-v6.c +++ b/sys/arm/arm/identcpu-v6.c @@ -53,7 +53,7 @@ __FBSDID("$FreeBSD$"); char machine[] = "arm"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, +SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, "Machine class"); static char cpu_model[64]; diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index dadb589e9294..299d0fb0e38d 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -98,7 +98,8 @@ sysctl_hw_machine(SYSCTL_HANDLER_ARGS) } SYSCTL_PROC(_hw, HW_MACHINE, machine, CTLTYPE_STRING | CTLFLAG_RD | - CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine, "A", "Machine class"); + CTLFLAG_CAPRD | CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine, "A", + "Machine class"); static char cpu_model[64]; SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD, diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c index 483bbe453b0c..155a81312717 100644 --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -315,7 +315,7 @@ sysctl_hw_machine_arch(SYSCTL_HANDLER_ARGS) return (SYSCTL_OUT(req, machine_arch, strlen(machine_arch) + 1)); } SYSCTL_PROC(_hw, HW_MACHINE_ARCH, machine_arch, CTLTYPE_STRING | CTLFLAG_RD | - CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine_arch, "A", + CTLFLAG_CAPRD | CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine_arch, "A", "System architecture"); #ifndef MACHINE_ARCHES diff --git a/sys/powerpc/powerpc/machdep.c b/sys/powerpc/powerpc/machdep.c index 84c3db924f68..8140bbd79155 100644 --- a/sys/powerpc/powerpc/machdep.c +++ b/sys/powerpc/powerpc/machdep.c @@ -155,7 +155,7 @@ static char init_kenv[2048]; static struct trapframe frame0; char machine[] = "powerpc"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, machine, 0, ""); +SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, ""); static void cpu_startup(void *); SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL); diff --git a/sys/riscv/riscv/identcpu.c b/sys/riscv/riscv/identcpu.c index 4c151eb47939..5f10ec6358ae 100644 --- a/sys/riscv/riscv/identcpu.c +++ b/sys/riscv/riscv/identcpu.c @@ -58,7 +58,7 @@ __FBSDID("$FreeBSD$"); char machine[] = "riscv"; -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, machine, 0, +SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, "Machine class"); /* Hardware implementation info. These values may be empty. */ diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 70bca3559555..2a009d7ec10a 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -153,9 +153,9 @@ sysctl_hw_machine(SYSCTL_HANDLER_ARGS) } SYSCTL_PROC(_hw, HW_MACHINE, machine, CTLTYPE_STRING | CTLFLAG_RD | - CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine, "A", "Machine class"); + CTLFLAG_CAPRD | CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine, "A", "Machine class"); #else -SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, +SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD | CTLFLAG_CAPRD, machine, 0, "Machine class"); #endif From nobody Mon Feb 6 19:28:06 2023 X-Original-To: dev-commits-src-main@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 4P9brk4JGxz3n5Zb; Mon, 6 Feb 2023 19:28: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9brk3phYz3lhr; Mon, 6 Feb 2023 19:28:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675711686; 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=0nhQ4SN5y5wWVKej4bRzeeOdYkYlsuBTXlPoVO8HUVg=; b=KqHIGIvcNKBHijsEQkSAoln793Vik0c2Xety/cRcDfzmOv0wpsHdBgdKT7bDSdTUIsnJ0D EaLuKwa7e0396fpAINISUbPaA15vUosFpkN/v7uGyQAjTQDZV3qpeAW3clozh5IAVxJS8e jqotTduNRb/7+2Zk47l3v+ndyu/TcvpPWCPgC6fI/W3Dyrva22RfG1PU51ZeQXYsnbGV1E 8wd+/b51gPCQbF33odYw7qkjOb3OKlHiiIXwe+ntIf9urV+jxIgX+5bfVoc1bPkFjSixi9 y7ZVl2I4ClXXSp4pzF8P2Kfxgaq471R+dZ6gv+IG8pF4NMf4iZsCOIxRZs5kMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675711686; 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=0nhQ4SN5y5wWVKej4bRzeeOdYkYlsuBTXlPoVO8HUVg=; b=gDhmB+HOXX8oPKj9154TXcsjMngCsXfyE2XE/zfzQtz6HiFE42Q2hgRJHKR8JB6qDFo8Lp IlSNga6JLFliFbfrrqfXrXdfIAp87573NU3kM7DdoT4El62CSHJyeuwJIw6DOwwKWbZzlw xWXjKE1A33ItBXdHsZsMIuR+N0XCk6YkMR3GoQ8hDbwn08kVWu2zid8SQVCXUztXU6Pra0 t98TY/MFV/Em69vJAm9AwwXADetGWuD8enYLL7iwoj1OZPFr3p6l/G2X3SnoxP+x4sMa5Z WHHR9AEvFWFP4ZbaeAST19cvo7OVFdJA2dfN1MGQ116vhxG/5fRw3deadS1hZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675711686; a=rsa-sha256; cv=none; b=SVts1AsJ03HDLVrAvkfRG+XW4MNgzs5TE3+6iRPOGQCbg414DuTKDLEAvgLdWi4SChxSvO 089kf1Hb8XEospy0iyTBznpD2GYM+1xSJjyi81j+MUeT0eG0p/6qG8P+3uVPgrefU4DFoI VyzlwBgJnLwZtFlum0Q+afhQGwY7dpIYwiAe5BBniDq8AUrbuX0SZJJ5vsjp8pJP2m7T/I RFk8ElYIPpOH7T74uYNOzU7s3zcBqJNmVxyae7mMkyRf5a59I858jOAiWsOmjJmVvYj71g O6pmqiAQErbvVOXcMeSrUZha5E0qPqdbYh/JcjN0dbGVZy2UPUaCfUmV/FCfHQ== 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 4P9brk2sWpzmBJ; Mon, 6 Feb 2023 19:28:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316JS6DW006419; Mon, 6 Feb 2023 19:28:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316JS6FR006418; Mon, 6 Feb 2023 19:28:06 GMT (envelope-from git) Date: Mon, 6 Feb 2023 19:28:06 GMT Message-Id: <202302061928.316JS6FR006418@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 0e563bde48b1 - main - dtrace_asm.S: properly enter/exit user access List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0e563bde48b1af6bd472e940f04a8d76315749ab Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=0e563bde48b1af6bd472e940f04a8d76315749ab commit 0e563bde48b1af6bd472e940f04a8d76315749ab Author: Mitchell Horne AuthorDate: 2023-02-06 18:04:21 +0000 Commit: Mitchell Horne CommitDate: 2023-02-06 19:26:53 +0000 dtrace_asm.S: properly enter/exit user access In order to read or write userspace memory without generating an access fault, we must first enable the SUM bit in the sstatus CSR. Reviewed by: markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38298 --- sys/cddl/dev/dtrace/riscv/dtrace_asm.S | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/sys/cddl/dev/dtrace/riscv/dtrace_asm.S b/sys/cddl/dev/dtrace/riscv/dtrace_asm.S index eeaf64061675..98c22a2aedfd 100644 --- a/sys/cddl/dev/dtrace/riscv/dtrace_asm.S +++ b/sys/cddl/dev/dtrace/riscv/dtrace_asm.S @@ -74,7 +74,9 @@ uint8_t dtrace_fuword8_nocheck(void *addr) */ ENTRY(dtrace_fuword8_nocheck) + ENTER_USER_ACCESS(t0) lb a0, 0(a0) + EXIT_USER_ACCESS(t0) RET END(dtrace_fuword8_nocheck) @@ -83,7 +85,9 @@ uint16_t dtrace_fuword16_nocheck(void *addr) */ ENTRY(dtrace_fuword16_nocheck) + ENTER_USER_ACCESS(t0) lh a0, 0(a0) + EXIT_USER_ACCESS(t0) RET END(dtrace_fuword16_nocheck) @@ -92,7 +96,9 @@ uint32_t dtrace_fuword32_nocheck(void *addr) */ ENTRY(dtrace_fuword32_nocheck) + ENTER_USER_ACCESS(t0) lw a0, 0(a0) + EXIT_USER_ACCESS(t0) RET END(dtrace_fuword32_nocheck) @@ -101,7 +107,9 @@ uint64_t dtrace_fuword64_nocheck(void *addr) */ ENTRY(dtrace_fuword64_nocheck) + ENTER_USER_ACCESS(t0) ld a0, 0(a0) + EXIT_USER_ACCESS(t0) RET END(dtrace_fuword64_nocheck) @@ -111,6 +119,7 @@ dtrace_copy(uintptr_t uaddr, uintptr_t kaddr, size_t size) */ ENTRY(dtrace_copy) beqz a2, 2f /* If len == 0 then skip loop */ + ENTER_USER_ACCESS(t0) 1: lb a4, 0(a0) /* Load from uaddr */ addi a0, a0, 1 @@ -118,6 +127,7 @@ ENTRY(dtrace_copy) addi a1, a1, 1 addi a2, a2, -1 /* len-- */ bnez a2, 1b + EXIT_USER_ACCESS(t0) 2: RET END(dtrace_copy) @@ -129,7 +139,9 @@ dtrace_copystr(uintptr_t uaddr, uintptr_t kaddr, size_t size, XXX: Check for flags? */ ENTRY(dtrace_copystr) - beqz a2, 2f /* If len == 0 then skip loop */ + beqz a2, 3f /* If len == 0 then skip loop */ + ENTER_USER_ACCESS(t0) +1: lb a4, 0(a0) /* Load from uaddr */ addi a0, a0, 1 sb a4, 0(a1) /* Store in kaddr */ @@ -138,6 +150,8 @@ ENTRY(dtrace_copystr) addi a2, a2, -1 /* len-- */ bnez a2, 1b 2: + EXIT_USER_ACCESS(t0) +3: RET END(dtrace_copystr) From nobody Mon Feb 6 19:28:07 2023 X-Original-To: dev-commits-src-main@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 4P9brl59Htz3n5Sw; Mon, 6 Feb 2023 19:28: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9brl4k8mz3lgD; Mon, 6 Feb 2023 19:28:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675711687; 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=6870ChMr/DaLGpvPvFWdD72anQLsyZdcxxgxzeeU+8g=; b=TWDEJhNilWJHVH6KDoUaaMF23K3Y5xHp6fEYRuz72XxRNVBU5OP+SJqIFVJHcgYiGehH4R ZDr/k7N6WwW92qsyNZ9TYN9tQwIBtGmxwQmjmaMks3LudUsx3kX/qebvnj8cTG3zS0G7lL oVTXrCkI/HLZaiToWOvJ6wmMBpprBnN9RZNNH+feK/8OawnR6RYTuVMigA/VR1knn5XHiT As90k6DYjxUuoNqs8wyECCaoxgIcJY/AogN4Wx5Ta623uXB1tu9yKVfhmpLJbk5rdYxE2S NOFG3tEnI5cSw12OloOAdDY8o+qxXxv4YS71qDJt+lGTXZI88bhN9W+xyOQBcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675711687; 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=6870ChMr/DaLGpvPvFWdD72anQLsyZdcxxgxzeeU+8g=; b=NNFyNukR8dBGY+Z5RjNYuZxlYQAt7b9QlG4xc+Fhl5T6sntNj9yXB/vsCqoNNIjVcQ66K8 emP247rHw11X+/FQyaJwvcVJuA5T/rUY0/4QO1u4WYDiKioQlMSpkz3qmD1uJstxSRVDai aq5La4XPFmfHUxgi91pbeE61/Yc+wjFCYUsTyvffHRBbJDMD2zlnBdvuTSa3khwAk4gmAn DgnuzwrNgwgXEjHBP2z4gsFSktMMrFr8ivfUb3VL6ShvLDD22ssSjaD31YtvTV/5SSmwX4 oBnmhZ1bDZX26bJGnESvX3G+sePe6mKIKglkhVEKHzVk+Y7oVfvs9f6cB0yUaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675711687; a=rsa-sha256; cv=none; b=tbGusuRChNIJGhqvtl2xSikxOV8R3kBO9xfWX05X1ZxdhYTDL70lPCUZD9j2KO3QFJO8Yl GfcW/FOklnTpgevHIjeKEGKIkFifs6/Tj5suQOWhEcH3/K82bKrWc4XEQTR037jt/w7k7i tjTYAhAJZ3kut1v+lgrpY0MyWjBMNWI/VuqgEMOcnm0gMpvcZzgpgHcARIrWedlW92zmeU BI5rkQDxGxZ9gv8E8Y73KTvtUWtgrsmqiO/2wJHhGsQWnK7OoX+uGmTS6vsWDixmj2HKTV RJM0XKjz8pi4dD3y8/SjMU/21tdFFOfe7o/Kd//Bli98DyKURNWDlQ3lf0S0Fg== 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 4P9brl3p7jzmt2; Mon, 6 Feb 2023 19:28:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316JS73C006444; Mon, 6 Feb 2023 19:28:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316JS7af006443; Mon, 6 Feb 2023 19:28:07 GMT (envelope-from git) Date: Mon, 6 Feb 2023 19:28:07 GMT Message-Id: <202302061928.316JS7af006443@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 06faad1de2c9 - main - dtrace: handle page faults in riscv dtrace_trap() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 06faad1de2c9aadcfd606d5f7121b201dbfbaa9d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=06faad1de2c9aadcfd606d5f7121b201dbfbaa9d commit 06faad1de2c9aadcfd606d5f7121b201dbfbaa9d Author: Mitchell Horne AuthorDate: 2023-02-06 18:08:35 +0000 Commit: Mitchell Horne CommitDate: 2023-02-06 19:26:53 +0000 dtrace: handle page faults in riscv dtrace_trap() We must detect the correct amount to increment sepc, as it may have been a compressed instruction that triggered the fault. Reviewed by: markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38299 --- sys/cddl/dev/dtrace/riscv/dtrace_subr.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/sys/cddl/dev/dtrace/riscv/dtrace_subr.c b/sys/cddl/dev/dtrace/riscv/dtrace_subr.c index 1e24a88f6c75..f32bb3a2343e 100644 --- a/sys/cddl/dev/dtrace/riscv/dtrace_subr.c +++ b/sys/cddl/dev/dtrace/riscv/dtrace_subr.c @@ -63,6 +63,8 @@ typedef struct dtrace_invop_hdlr { dtrace_invop_hdlr_t *dtrace_invop_hdlr; +static int match_opcode(uint32_t insn, int match, int mask); + int dtrace_invop(uintptr_t addr, struct trapframe *frame) { @@ -188,6 +190,8 @@ dtrace_gethrestime(void) int dtrace_trap(struct trapframe *frame, u_int type) { + uint16_t insn; + /* * A trap can occur while DTrace executes a probe. Before * executing the probe, DTrace blocks re-scheduling and sets @@ -196,9 +200,7 @@ dtrace_trap(struct trapframe *frame, u_int type) * flag is cleared and finally re-scheduling is enabled. * * Check if DTrace has enabled 'no-fault' mode: - * */ - if ((cpu_core[curcpu].cpuc_dtrace_flags & CPU_DTRACE_NOFAULT) != 0) { /* * There are only a couple of trap types that are expected. @@ -208,15 +210,24 @@ dtrace_trap(struct trapframe *frame, u_int type) case SCAUSE_LOAD_ACCESS_FAULT: case SCAUSE_STORE_ACCESS_FAULT: case SCAUSE_INST_ACCESS_FAULT: + case SCAUSE_INST_PAGE_FAULT: + case SCAUSE_LOAD_PAGE_FAULT: + case SCAUSE_STORE_PAGE_FAULT: /* Flag a bad address. */ cpu_core[curcpu].cpuc_dtrace_flags |= CPU_DTRACE_BADADDR; - cpu_core[curcpu].cpuc_dtrace_illval = 0; + cpu_core[curcpu].cpuc_dtrace_illval = frame->tf_stval; /* * Offset the instruction pointer to the instruction - * following the one causing the fault. + * following the one causing the fault. Check if the + * instruction is compressed or not. Standard + * instructions always have bits [1:0] == 11. */ - frame->tf_sepc += 4; + insn = *(uint16_t *)frame->tf_sepc; + if (match_opcode(insn, 0x3, 0x3)) + frame->tf_sepc += INSN_SIZE; + else + frame->tf_sepc += INSN_C_SIZE; return (1); default: From nobody Mon Feb 6 19:28:08 2023 X-Original-To: dev-commits-src-main@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 4P9brm6fsBz3n5T0; Mon, 6 Feb 2023 19:28: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9brm5fDJz3ldD; Mon, 6 Feb 2023 19:28:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675711688; 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=9cExyV34WmM2Fhx4isS403woFmmiNba9nNEXJ2A8JrQ=; b=Qp2wV/+gWHMbTUaCCAIEvzAsZyY6+npRULUCQkxTlSAKZJ7g6gaMVMF4TVdbTQbnDfEm+W mBrUqCMvdUOAEntxbTfJiD3gI1t63rYEdjLSwPjmqqA0Vxi6rsBIZefFfQMiz/zJ9DTmyE OpkzgwxxXjF+XKBbpybhrtaapBOpC3qC4OHi8k8dvO0r5Pb8vckRDQlAIZBW/OzheITUBH udsvSpdzbtlvSfkBlO2JcLU8q4ZUdTshWD/txjJWBq3axiw/wBxOF/MPm1+k1gUrKW/HjU COkU60hqRHLcO7urBbx1jimJml1edjXjrDqv6x9ORF5h+/Y8Bx5pBuPVLrZeJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675711688; 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=9cExyV34WmM2Fhx4isS403woFmmiNba9nNEXJ2A8JrQ=; b=olM6eAQuVWfjODCZY7fnFz9q4PQLen4LK06upww1IEV18DcGYmaIyjtuZYZdIpVNMF/afr Y68GloggVYWSx659Olvs3qi6o6ufF7fO57pmbFBI/FYcLgEQUxwOSbonI7U9aYJhX+36jC 2SUnb0Or3nbBLYR7o3u8ioAchxtVHa2EqlPi65vaSS5HNEEQlqPhBGsLqyKkRndFy/Jy9m 8cnpqUFuohS/itNVC59R7QMn90nM7diTU/p1W60xmsODI1KR2q+HEYn5jF2Vr/fF2o8v0C KICq9XuDA1IPKUdxcyC45lJFnK6R83evFH2GvWejJTXY6T3lj+xivC0Sx+69kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675711688; a=rsa-sha256; cv=none; b=XX3C+1XUp4oH0HG7yH08e7Lso4BxR0cT/0i5KF/4Lf0DlEub6yk/sDdyKQysv8mfwm/joq TyoQJTVTLjbI9izBONFdMLfzo1w3lxH8Z/sI8QcmtQLT6wv9WRugaQS+Q3XB5/bNFAeW6p Us8SIy50rituUn67DgoVzEUXzte3ANkKtphfbiK+7jFGCGr9PO58zt29TlAUuPW6+dhYJZ 05PVjRwd3kt5OLOLq/rLsszhZ9W2+4ny8hjYo9cza7Bg7To4VY3oOZxOMi9MFWFmEAbvwu BViS8MGxNhkBkScPiFOvVzaO/lDL/LgABKUgByQXhqOtLsQljuZbF1JbrOhQ8A== 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 4P9brm4l2gzms9; Mon, 6 Feb 2023 19:28:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316JS8t0006469; Mon, 6 Feb 2023 19:28:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316JS8Da006468; Mon, 6 Feb 2023 19:28:08 GMT (envelope-from git) Date: Mon, 6 Feb 2023 19:28:08 GMT Message-Id: <202302061928.316JS8Da006468@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 38720107324b - main - dtrace: Fix RISC-V user stack unwinder List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 38720107324b3903f342bcb0306c72c4e4235053 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=38720107324b3903f342bcb0306c72c4e4235053 commit 38720107324b3903f342bcb0306c72c4e4235053 Author: Jessica Clarke AuthorDate: 2023-02-06 18:30:57 +0000 Commit: Mitchell Horne CommitDate: 2023-02-06 19:26:53 +0000 dtrace: Fix RISC-V user stack unwinder The unwind logic was copied from AArch64 which follows the peculiar AACPS (where, unlike typical RISC architectures, its frame pointer follows an x86/stack machine-like convention where the frame pointer points at the bottom of the frame record, not the top). Delete the pointless riscv_frame struct and fix this. Reviewed by: mhorne MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D28054 --- sys/cddl/dev/dtrace/riscv/dtrace_isa.c | 5 ++--- sys/riscv/include/frame.h | 5 ----- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/sys/cddl/dev/dtrace/riscv/dtrace_isa.c b/sys/cddl/dev/dtrace/riscv/dtrace_isa.c index bc8426a752df..6d44a0cee9ee 100644 --- a/sys/cddl/dev/dtrace/riscv/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/riscv/dtrace_isa.c @@ -150,9 +150,8 @@ dtrace_getustack_common(uint64_t *pcstack, int pcstack_limit, uintptr_t pc, if (fp == 0) break; - pc = dtrace_fuword64((void *)(fp + - offsetof(struct riscv_frame, f_retaddr))); - fp = dtrace_fuword64((void *)fp); + pc = dtrace_fuword64((void *)(fp - 1 * sizeof(uint64_t))); + fp = dtrace_fuword64((void *)(fp - 2 * sizeof(uint64_t))); if (fp == oldfp) { *flags |= CPU_DTRACE_BADSTACK; diff --git a/sys/riscv/include/frame.h b/sys/riscv/include/frame.h index 3917aebfac76..a822a285996c 100644 --- a/sys/riscv/include/frame.h +++ b/sys/riscv/include/frame.h @@ -59,11 +59,6 @@ struct trapframe { uint64_t tf_scause; }; -struct riscv_frame { - struct riscv_frame *f_frame; - u_long f_retaddr; -}; - /* * Signal frame. Pushed onto user stack before calling sigcode. */ From nobody Mon Feb 6 19:28:09 2023 X-Original-To: dev-commits-src-main@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 4P9brp0Mdmz3n5WS; Mon, 6 Feb 2023 19:28: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9brn6hSpz3m0d; Mon, 6 Feb 2023 19:28:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675711689; 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=Iv3FWhrL7d7uPJH9iymyEBuYp2EKgx2bud2yWmQBwXo=; b=GUB3LzgoWqhOljFtGesdQVXQ3j02Hjc7lumgSoxBsphJmY/qG2cPYEtxWs7Gbjqw55RrXz EOGUgQQaCPwuGISz4nhsqj5u9fsCkKJ0dEj3XWUTTE3/FwJoHkgtvWR+tVJozMFY3G537J n8uFBF0yu6WmaOoMzsE5lyYMnpy8fdcUGRpDvt+DAAL6kts3ynBqprsviBBYkYmlAeJeoR 52A5N/CtMCAq5g1f0cx8tISEqMKMmP0iVJg476xTSL/p8YK326fbIAcVH3zNTrAvFh4PJp g5FpPpmLq3Xxve9wfqzRglDsq54bWgGSerBDcZMdt8dhUf2T+2Ed52xEAdAM/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675711689; 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=Iv3FWhrL7d7uPJH9iymyEBuYp2EKgx2bud2yWmQBwXo=; b=Cl2a8OzEG/bo7bf11UKWAlJzDQSue56FjAJozPGLyBW2n/DOO/wiTaFtHulCyeTdAO1/P5 SmhBOBbLT2wZhEJYxPZMvpxDxI8wDwJxtyrisXVDVPfc7kQdbkpZ567MyQ0VhN7vXJceXi Z0uecRGAV3S5HSjnKeaWbPCQ2Cw/2Up+qYlY5Gcskgvfi+a4jGoWcB8q6hJzb5IHvGpxsx +f75WBjKd1UWT/EzmyxjwxmBPu5N+8f9BApxeaHH6Mcfqhtac3XfnJF6JvF07++E623srB R3KaKMwPLVS6VlRCe9cU3tmeJOXAokSeYacOxzvxgheJbayRwNrUJhIZv0jtfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675711689; a=rsa-sha256; cv=none; b=nrNvc31NkvachH14UdA6uKG3xWbKIidRqWWwrDe4P1BOd8XyJIK4CAmdSiM0zSB8Az7xAD f0lC+Y88QROOhjyFhultiMYy8+bxJ25YuKORLgDx3Nkme6qD3pkgw5N7evJ0vRbLvCjsEe eau0EDlq+KXJPZTBhX9uZsGIrsF5n+JPxDPD8yaLPwXOkC2Tnqve7luzGdUOvU1CtOSoJG VW7B6bjELMsY4hbraglcyb0YP2JywY9Y/apXNJ1cbVO88LLQeTENLdKXtxfzEsXSmtDRhL 0FiRDFHjpP3MT1WnxMnJmCyav9dZtn6UBADw4uhFXexTURPbnjejoiAnvTTPqw== 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 4P9brn5gwpzmt3; Mon, 6 Feb 2023 19:28:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316JS9rK006493; Mon, 6 Feb 2023 19:28:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316JS9dT006492; Mon, 6 Feb 2023 19:28:09 GMT (envelope-from git) Date: Mon, 6 Feb 2023 19:28:09 GMT Message-Id: <202302061928.316JS9dT006492@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: c6943b44f7d7 - main - dtrace: implement riscv dtrace_getustackdepth() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c6943b44f7d73176acd2e36e0615e1b2ded02c0a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=c6943b44f7d73176acd2e36e0615e1b2ded02c0a commit c6943b44f7d73176acd2e36e0615e1b2ded02c0a Author: Mitchell Horne AuthorDate: 2023-02-06 18:23:42 +0000 Commit: Mitchell Horne CommitDate: 2023-02-06 19:26:53 +0000 dtrace: implement riscv dtrace_getustackdepth() Pretty trivial following other implementations. The existing dtrace_getustack_common() does most of the work. Reviewed by: markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38303 --- sys/cddl/dev/dtrace/riscv/dtrace_isa.c | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/sys/cddl/dev/dtrace/riscv/dtrace_isa.c b/sys/cddl/dev/dtrace/riscv/dtrace_isa.c index 6d44a0cee9ee..6e6459a8ce74 100644 --- a/sys/cddl/dev/dtrace/riscv/dtrace_isa.c +++ b/sys/cddl/dev/dtrace/riscv/dtrace_isa.c @@ -169,7 +169,7 @@ dtrace_getupcstack(uint64_t *pcstack, int pcstack_limit) { volatile uint16_t *flags; struct trapframe *tf; - uintptr_t pc, sp, fp; + uintptr_t pc, fp; proc_t *p; int n; @@ -195,7 +195,6 @@ dtrace_getupcstack(uint64_t *pcstack, int pcstack_limit) return; pc = tf->tf_sepc; - sp = tf->tf_sp; fp = tf->tf_s[0]; if (DTRACE_CPUFLAG_ISSET(CPU_DTRACE_ENTRY)) { @@ -207,7 +206,6 @@ dtrace_getupcstack(uint64_t *pcstack, int pcstack_limit) * at the current stack pointer address since the call * instruction puts it there right before the branch. */ - *pcstack++ = (uint64_t)pc; pcstack_limit--; if (pcstack_limit <= 0) @@ -231,8 +229,33 @@ zero: int dtrace_getustackdepth(void) { + struct trapframe *tf; + uintptr_t pc, fp; + int n = 0; - printf("IMPLEMENT ME: %s\n", __func__); + if (curproc == NULL || (tf = curthread->td_frame) == NULL) + return (0); + + if (DTRACE_CPUFLAG_ISSET(CPU_DTRACE_FAULT)) + return (-1); + + pc = tf->tf_sepc; + fp = tf->tf_s[0]; + + if (DTRACE_CPUFLAG_ISSET(CPU_DTRACE_ENTRY)) { + /* + * In an entry probe. The frame pointer has not yet been + * pushed (that happens in the function prologue). The + * best approach is to add the current pc as a missing top + * of stack and back the pc up to the caller, which is stored + * at the current stack pointer address since the call + * instruction puts it there right before the branch. + */ + pc = tf->tf_ra; + n++; + } + + n += dtrace_getustack_common(NULL, 0, pc, fp); return (0); } From nobody Mon Feb 6 19:28:10 2023 X-Original-To: dev-commits-src-main@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 4P9brq29bPz3n5WV; Mon, 6 Feb 2023 19:28: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9brq0Jwdz3ln7; Mon, 6 Feb 2023 19:28:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675711691; 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=BRAV9KmsCEPvw9OPa0YmmPzmuauMK5WhvYxMEpvyQCc=; b=VXkUXiEd+CHQbckV6b2Ktl5bgwpZa+8661zgeR8FdAhj+TFpPwY4XB12wl+pOovRz7SQWX SGEWE6u7xRRl3SEnoQV29M9bfdBNJzGSHLnBkomXFyjmUHn741vCkEJwhoCag+ULl16P8A +cG7/RmmVgJ1000SqwpyhGfOvA+RRPfS9rVv+6sYofloUC1R/DUcSbHyoWWzjgKxx+pweY 85dlPjGgpl9NKFNuhMOPwxG1jqLWYVPSyWdIXZt9QhWSuXLCpUlc9O8qgBaiI8v5S1KkfD GIkD6Q+dzRlUuZOa7X7tpnK1PVF7KNQzSVmbXUei7+FYWmUgv0cRlXPFkJksoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675711691; 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=BRAV9KmsCEPvw9OPa0YmmPzmuauMK5WhvYxMEpvyQCc=; b=QInX6FmZFUdhiqqSL0yRqWnRueqsUER3yZkFzcZhKZZsEnFBUriZylK/UMp5tkOXkZOWQL Tazd0UT80Rd6FlbwouCW0hhbCYVFLHRqlhfrcxfGSQ9EGeOXT7L7oZV3v3u4kfrJtJt4UB Ko750VdsFZFvOx3jLKqO1z+aPayLL6Af9c1Mh9XqMs2cHqWY0aQcNG3xW6iBh2x1haLNI/ tfeqPeQrbZSeI0059DfCBeM2H4Sma70D1a9bPNYIZNW5QzsPKDvjYQEobsTa4lxh4ZyUfB Ru/G/Qc9667csy9yZRYYfm+mAy6YlDOoafKYylbQzGSvEe7Hcos+qr1UF28YKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675711691; a=rsa-sha256; cv=none; b=gPvs2Pgi/+Rdcqt/rmpO1xe3VGIoiHsYQs36TBiTcAbw2Yjh3c0IE7Hk5iDIbh2gqLPzDt O2gEMyvcsEU4M2dCGljojUziE3sHfO1NwFC7ehPbbcR0xywx1W+LAqmUXpWrk+Z4uhJeci AafHXYibzUp6/QAr1WdHcn6M4JMi7w61fS18IplTbEk1tR9txggYeWkce2ppRKlNz7N7oy 5mJOpb8X+FFF+V2TzlXpF0QDGhQs8E7Iv92EiiHmnAh5rDOA+e8P7t0Ook44nP5fTZ6fOB 8hcEMdgeiyLFRr+kAm4PjVcNRrfdn90wM+vmNDHSpasff455azdGAPHQ1A5nAQ== 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 4P9brp6V1CzmsB; Mon, 6 Feb 2023 19:28:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316JSAmb006522; Mon, 6 Feb 2023 19:28:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316JSAOn006521; Mon, 6 Feb 2023 19:28:10 GMT (envelope-from git) Date: Mon, 6 Feb 2023 19:28:10 GMT Message-Id: <202302061928.316JSAOn006521@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 2166649fa1de - main - libdtrace: drop remaining mips support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2166649fa1def0506f05a485919e277bf2a04a64 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=2166649fa1def0506f05a485919e277bf2a04a64 commit 2166649fa1def0506f05a485919e277bf2a04a64 Author: Mitchell Horne AuthorDate: 2023-02-06 18:20:45 +0000 Commit: Mitchell Horne CommitDate: 2023-02-06 19:26:53 +0000 libdtrace: drop remaining mips support Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38300 --- .../opensolaris/lib/libdtrace/common/dt_link.c | 27 +--------------------- .../opensolaris/lib/libdtrace/common/dt_printf.c | 3 +-- 2 files changed, 2 insertions(+), 28 deletions(-) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c index 927b4415409d..4e7935250620 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c @@ -215,10 +215,6 @@ prepare_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, dof_elf32_t *dep) dofr[j].dofr_offset; rel->r_info = ELF32_R_INFO(count + dep->de_global, R_386_PC32); -#elif defined(__mips__) -/* XXX */ - printf("%s:%s(%d): MIPS not implemented\n", - __FUNCTION__, __FILE__, __LINE__); #elif defined(__powerpc__) /* * Add 4 bytes to hit the low half of this 64-bit @@ -401,8 +397,6 @@ prepare_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, dof_elf64_t *dep) R_AARCH64_PREL64); #elif defined(__arm__) /* XXX */ -#elif defined(__mips__) -/* XXX */ #elif defined(__powerpc__) rel->r_offset = s->dofs_offset + dofr[j].dofr_offset; @@ -504,8 +498,6 @@ dump_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, int fd) elf_file.ehdr.e_type = ET_REL; #if defined(__arm__) elf_file.ehdr.e_machine = EM_ARM; -#elif defined(__mips__) - elf_file.ehdr.e_machine = EM_MIPS; #elif defined(__powerpc__) elf_file.ehdr.e_machine = EM_PPC; #elif defined(__i386) || defined(__amd64) @@ -644,8 +636,6 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, int fd) elf_file.ehdr.e_type = ET_REL; #if defined(__arm__) elf_file.ehdr.e_machine = EM_ARM; -#elif defined(__mips__) - elf_file.ehdr.e_machine = EM_MIPS; #elif defined(__powerpc64__) #if defined(_CALL_ELF) && _CALL_ELF == 2 elf_file.ehdr.e_flags = 2; @@ -843,17 +833,6 @@ dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, __LINE__); return (-1); } -#elif defined(__mips__) -#define DT_REL_NONE R_MIPS_NONE - -static int -dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, - uint32_t *off) -{ - printf("%s:%s(%d): MIPS not implemented\n", __FUNCTION__, __FILE__, - __LINE__); - return (-1); -} #elif defined(__powerpc__) /* The sentinel is 'xor r3,r3,r3'. */ #define DT_OP_XOR_R3 0x7c631a78 @@ -1167,9 +1146,7 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *eprobesp) if (dtp->dt_oflags & DTRACE_O_LP64) { eclass = ELFCLASS64; -#if defined(__mips__) - emachine1 = emachine2 = EM_MIPS; -#elif defined(__powerpc__) +#if defined(__powerpc__) emachine1 = emachine2 = EM_PPC64; #if !defined(_CALL_ELF) || _CALL_ELF == 1 uses_funcdesc = 1; @@ -1184,8 +1161,6 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *eprobesp) eclass = ELFCLASS32; #if defined(__arm__) emachine1 = emachine2 = EM_ARM; -#elif defined(__mips__) - emachine1 = emachine2 = EM_MIPS; #elif defined(__powerpc__) emachine1 = emachine2 = EM_PPC; #elif defined(__i386) || defined(__amd64) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c index 57a7db4ad0fd..c33ae955ba61 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c @@ -317,8 +317,7 @@ pfprint_fp(dtrace_hdl_t *dtp, FILE *fp, const char *format, case sizeof (double): return (dt_printf(dtp, fp, format, *((double *)addr) / n)); -#if !defined(__arm__) && !defined(__powerpc__) && \ - !defined(__mips__) && !defined(__riscv) +#if !defined(__arm__) && !defined(__powerpc__) && !defined(__riscv) case sizeof (long double): return (dt_printf(dtp, fp, format, *((long double *)addr) / ldn)); From nobody Mon Feb 6 19:28:11 2023 X-Original-To: dev-commits-src-main@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 4P9brr20PDz3n5NB; Mon, 6 Feb 2023 19:28: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9brr13tMz3m3V; Mon, 6 Feb 2023 19:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675711692; 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=UG7dL6oQCDeFJKKjZy31olU8vnvDZv+jcw+koRK9xlg=; b=A/e6ZQYoxX52hTcBzNUkNis2hjkcKxlc+8nYSwR5xlyiEu43Bhx5BVHgeqBI7A5GjhZrYB SYxq7JvDkFX9A6ow2fWMJ7f9ErVUt2/d2tyjTchZspdEOFN64m+WquFhpEM+MUTih7lZrQ j2qlNxr8lPl98Eu449a/5rYAaIxmeLV/kJBaYUDKXqifHXAek+w/s3NHXQQf/lP3pzfu7U VTlwPiFpuqHdJFnu+3DGpBED3WeaOPWAvyvkB9KeVaDWJV7r0HEMAuA6gx+qEgx5LGPZg2 vjr2BWxsz5B1W+CFxTEjr/7pwZpOwpVeXFke0hNthF9MVg0KRVgXYpO/jNSTpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675711692; 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=UG7dL6oQCDeFJKKjZy31olU8vnvDZv+jcw+koRK9xlg=; b=WuDBJ9OcvgRDKe1JSgcAkj89meMMDpWHGA4dtALJ/d4tdI7qzGn2tfWqcB31wdchQzHV4l F5D2tk75Qdx5jAgIlpO0DkLeA3qV2jXIxOvJr8ls5BtY95598YbaORHqc94/qo+4ef2X5J 5D6CNMGZlzrB/prV96sgYFAY0dX7WbCjlYWbH3Jvn1B3Zm/zPgJPNT6hX7ZFzfaDOGNqzp giKrhAB4A/fO390vSQ9sxY1G4/ytDxhMBX23+IKZ1Z9Np8evUPlqBLh/grhLN2ySYkv/4F C0ntTJZHeYOHM6yRC4EfkNA52OYZcO5wJYyvJDoF3Op6IqK5Q7dzM0cQzuownQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675711692; a=rsa-sha256; cv=none; b=rW2xHfNfO1CZ788XXqJcyoAsqUppOFulaYDF67uMwW77Jnw3Cu/6H8FZH7CoktPCotsn6k GSauAxjAypiCnvicqEzN5CM1rWiIHIOTeZpniWfgecI0HX9YNJwZrAeTUeiNQYCeEqhDne NJhxqJo4rvgDLY/Hlo9BtnsTviSfYO5+H03c6/e0eVvCCQFVhCRSaxnRMJsv8YYPd8dMYY lSOLnJbwMwaupvK38WpcM3Bd7lKrc3o7lfd+1KF3Jm4XBIrXheP83XYplynt0+DbFySsJ0 RTQffZ1HsBGmRfrQgN5QO8arARe72KgWswv4EXIwix+YH5+dqXL2zurQl/hQrg== 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 4P9brr05d7zmpr; Mon, 6 Feb 2023 19:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316JSB8g006555; Mon, 6 Feb 2023 19:28:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316JSBEa006554; Mon, 6 Feb 2023 19:28:11 GMT (envelope-from git) Date: Mon, 6 Feb 2023 19:28:11 GMT Message-Id: <202302061928.316JSBEa006554@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: f711d5c3d066 - main - libdtrace: add riscv support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f711d5c3d06677740dc04a0ced27b2bce894bae1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=f711d5c3d06677740dc04a0ced27b2bce894bae1 commit f711d5c3d06677740dc04a0ced27b2bce894bae1 Author: Mitchell Horne AuthorDate: 2023-01-10 15:50:00 +0000 Commit: Mitchell Horne CommitDate: 2023-02-06 19:26:53 +0000 libdtrace: add riscv support Largely untested, as we can't really do anything with user probes without an implementation of fasttrap. However, this is enough to generate an embedded dtrace program with `dtrace -G` and link the generated ELF file. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38301 --- .../opensolaris/lib/libdtrace/common/dt_link.c | 110 +++++++++++++++++++-- 1 file changed, 103 insertions(+), 7 deletions(-) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c index 4e7935250620..51f853d9a2b8 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c @@ -225,9 +225,9 @@ prepare_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, dof_elf32_t *dep) rel->r_info = ELF32_R_INFO(count + dep->de_global, R_PPC_REL32); #elif defined(__riscv) -/* XXX */ - printf("%s:%s(%d): RISC-V not implemented\n", - __FUNCTION__, __FILE__, __LINE__); + rel->r_offset = s->dofs_offset + dofr[j].dofr_offset; + rel->r_info = ELF32_R_INFO(count + dep->de_global, + R_RISCV_32_PCREL); #else #error unknown ISA #endif @@ -403,7 +403,9 @@ prepare_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, dof_elf64_t *dep) rel->r_info = ELF64_R_INFO(count + dep->de_global, R_PPC64_REL64); #elif defined(__riscv) -/* XXX */ + rel->r_offset = s->dofs_offset + dofr[j].dofr_offset; + rel->r_info = ELF64_R_INFO(count + dep->de_global, + R_RISCV_32_PCREL); #elif defined(__i386) || defined(__amd64) rel->r_offset = s->dofs_offset + dofr[j].dofr_offset; @@ -504,6 +506,22 @@ dump_elf32(dtrace_hdl_t *dtp, const dof_hdr_t *dof, int fd) elf_file.ehdr.e_machine = EM_386; #elif defined(__aarch64__) elf_file.ehdr.e_machine = EM_AARCH64; +#elif defined(__riscv) + elf_file.ehdr.e_machine = EM_RISCV; + + /* Set the ELF flags according to our current ABI */ +#if defined(__riscv_compressed) + elf_file.ehdr.e_flags |= EF_RISCV_RVC; +#endif +#if defined(__riscv_float_abi_soft) + elf_file.ehdr.e_flags |= EF_RISCV_FLOAT_ABI_SOFT; +#endif +#if defined(__riscv_float_abi_single) + elf_file.ehdr.e_flags |= EF_RISCV_FLOAT_ABI_SINGLE; +#endif +#if defined(__riscv_float_abi_double) + elf_file.ehdr.e_flags |= EF_RISCV_FLOAT_ABI_DOUBLE; +#endif #endif elf_file.ehdr.e_version = EV_CURRENT; elf_file.ehdr.e_shoff = sizeof (Elf32_Ehdr); @@ -645,6 +663,22 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, int fd) elf_file.ehdr.e_machine = EM_AMD64; #elif defined(__aarch64__) elf_file.ehdr.e_machine = EM_AARCH64; +#elif defined(__riscv) + elf_file.ehdr.e_machine = EM_RISCV; + + /* Set the ELF flags according to our current ABI */ +#if defined(__riscv_compressed) + elf_file.ehdr.e_flags |= EF_RISCV_RVC; +#endif +#if defined(__riscv_float_abi_soft) + elf_file.ehdr.e_flags |= EF_RISCV_FLOAT_ABI_SOFT; +#endif +#if defined(__riscv_float_abi_single) + elf_file.ehdr.e_flags |= EF_RISCV_FLOAT_ABI_SINGLE; +#endif +#if defined(__riscv_float_abi_double) + elf_file.ehdr.e_flags |= EF_RISCV_FLOAT_ABI_DOUBLE; +#endif #endif elf_file.ehdr.e_version = EV_CURRENT; elf_file.ehdr.e_shoff = sizeof (Elf64_Ehdr); @@ -917,14 +951,74 @@ dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, return (0); } #elif defined(__riscv) +#define DT_OP_NOP 0x00000013 /* addi x0, x0, 0 */ +#define DT_OP_RET 0x00008067 /* jalr x0, x1, 0 */ +#define DT_OP_IS_AUIPC(op) (((op) & 0x7f) == 0x17) +#define DT_OP_IS_JALR(op) (((op) & 0x707f) == 0x67) +#define DT_OP_JALR_CALL 0x000080e7 /* jalr x1, x1, 0 */ +#define DT_OP_JALR_TAIL 0x00030067 /* jalr x0, x6, 0 */ #define DT_REL_NONE R_RISCV_NONE + static int dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, uint32_t *off) { - printf("%s:%s(%d): RISC-V implementation required\n", __FUNCTION__, - __FILE__, __LINE__); - return (-1); + uint32_t *ip; + + /* + * XXX: this implementation is untested, but should serve as a decent + * starting point. + */ + + /* + * Ensure that the offset is aligned on a compressed-instruction + * boundary. + */ + if ((rela->r_offset & (sizeof (uint16_t) - 1)) != 0) + return (-1); + + /* + * We only know about some specific relocation types. + * We also recognize relocation type NONE, since that gets used for + * relocations of USDT probes, and we might be re-processing a file. + */ + if (GELF_R_TYPE(rela->r_info) != R_RISCV_CALL && + GELF_R_TYPE(rela->r_info) != R_RISCV_CALL_PLT && + GELF_R_TYPE(rela->r_info) != R_RISCV_NONE) + return (-1); + + ip = (uint32_t *)(p + rela->r_offset); + + /* + * We may have already processed this object file in an earlier linker + * invocation. Check to see if the present instruction sequence matches + * the one we would install below. + */ + if (ip[0] == DT_OP_NOP && (ip[1] == DT_OP_NOP || ip[1] == DT_OP_RET)) + return (0); + + /* + * We expect a auipc+jalr pair, either from a call or a tail. + * - call: auipc x1 0; jalr x1, x1, 0 + * - tail: auipc x6 0; jalr x0, x6, 0 + */ + if (!DT_OP_IS_AUIPC(ip[0]) || !DT_OP_IS_JALR(ip[1])) + return (-1); + + /* + * On riscv, we do not have to differentiate between regular probes and + * is-enabled probes. Calls are to be converted into a no-op whereas + * tail calls should become a return. + */ + if (ip[1] == DT_OP_JALR_CALL) { + ip[0] = DT_OP_NOP; + ip[1] = DT_OP_NOP; + } else { + ip[0] = DT_OP_NOP; + ip[1] = DT_OP_RET; + } + + return (0); } #elif defined(__i386) || defined(__amd64) @@ -1155,6 +1249,8 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *eprobesp) emachine1 = emachine2 = EM_AMD64; #elif defined(__aarch64__) emachine1 = emachine2 = EM_AARCH64; +#elif defined(__riscv) + emachine1 = emachine2 = EM_RISCV; #endif symsize = sizeof (Elf64_Sym); } else { From nobody Mon Feb 6 20:24:27 2023 X-Original-To: dev-commits-src-main@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 4P9d5l3C11z3n887; Mon, 6 Feb 2023 20:24:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9d5l2k8wz3w1W; Mon, 6 Feb 2023 20:24:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675715067; 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=5pc+91M8znKwtlr/r1Z4mJjT+z74AxElept2p+u4J0M=; b=O7ofw32F/lAOd1Bu2z/Z/tKFlrlpwBv3l6PIg0wh6RldzKYhd2wJIdNijNNQ2niO3k4kqe zjCY2wJSSK4PBQuPw0EqqwvfQKSDKWzh+k0LqGBIpl/V08xfzytdND5qCEaCg52TiBJk7k cyXQ4kWG0ou6ICsgiz3WWo6vgc8CoygKoikmjsskSTlXv0/EWZAu7hDfF9WBXEcFK+llJV eMakMZ3s+rvJhCijSOVAATEaWmQ6gqgBjTJfVqG7Fcsz/mHWUeR/ZzKu8urEQG7rMBD0Zd kqTEhhiBeKfKjm6Fltd9HdvQvqKIWxUrI7mATRo3mfCcp98p5O264ywlvul/lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675715067; 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=5pc+91M8znKwtlr/r1Z4mJjT+z74AxElept2p+u4J0M=; b=w5ir+Pd8Nu5ScKmcyEnxbexhygj2JfKPz4Rh/ZYADexBIfvYvzmS4fKD1evPwMf86MA0yL zp+OwVQfoZ39Q0Be5lie5Ydhlq5AMNdKKQTtiXG3OTllrzNGiZIGSEdjjUWwmIUMEkLbMe LooLUCCs78iMT/wOveQCFLSukpdXw+qyU3JWWuZr58j4Qp9+pBz+4P8mUcn6UY/eVfh/Me lKA/0pKD0ZXT3O1T0uzo+VzIwsBGtChg8vPK+QNaEby8feWJm7STl2eDtlLRg0g5ZN/EFK uU4urxNxQMNTT9GdXKZiXjD86Cw+iXaiA6XYNZ91B8A1VK/0nosYUub2yPcWMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675715067; a=rsa-sha256; cv=none; b=DSDUZLzC6AeD9eBt94zIs9nlBWKWRVrWEFQ3WppaJFirp4V326H84cr1U/KsymKm0shrrG mPRM6RtddZWY1yX2t/mvv3KstF6Me1cr+gtCtB62IlR04uqFYW83LaUXv9YgAXKaU2nsnd faRy650ZsCyrTnBKsT3coN0fmxK5va0OZnpeBpJnWzeV4HXMxruN2stpeP0UAmX1WUXliv 6nGhCLFB347Y2IpBxUqWwAEg38yZxe/u6QXou4vev1ZcnaQMt0k9i0XOakV7SxJp/x8S11 I6NLrIW/dmer1Pe1w/3toI2yuZxCAuT2UA6b1XC+zC3wRa31Dp21eX3ewun6AA== 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 4P9d5l1ZRczpQb; Mon, 6 Feb 2023 20:24:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316KORPW091613; Mon, 6 Feb 2023 20:24:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316KOR15091612; Mon, 6 Feb 2023 20:24:27 GMT (envelope-from git) Date: Mon, 6 Feb 2023 20:24:27 GMT Message-Id: <202302062024.316KOR15091612@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: d8b78838c5f0 - main - tsec(4): Fix the build from IfAPI conversion List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d8b78838c5f0c81c158658e1e2f6f4ca26a8f6f7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=d8b78838c5f0c81c158658e1e2f6f4ca26a8f6f7 commit d8b78838c5f0c81c158658e1e2f6f4ca26a8f6f7 Author: Justin Hibbits AuthorDate: 2023-02-06 20:21:34 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 20:23:52 +0000 tsec(4): Fix the build from IfAPI conversion Fixes: 47842ecfe Sponsored by: Juniper Networks, Inc. --- sys/dev/tsec/if_tsec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/tsec/if_tsec.c b/sys/dev/tsec/if_tsec.c index 7680ef43b775..25dc25f57152 100644 --- a/sys/dev/tsec/if_tsec.c +++ b/sys/dev/tsec/if_tsec.c @@ -294,7 +294,7 @@ tsec_detach(struct tsec_softc *sc) if (sc->tsec_ifp != NULL) { #ifdef DEVICE_POLLING - if (sc->tsec_if_getcapenable(ifp) & IFCAP_POLLING) + if (if_getcapenable(sc->tsec_ifp) & IFCAP_POLLING) ether_poll_deregister(sc->tsec_ifp); #endif @@ -1414,7 +1414,7 @@ tsec_receive_intr(void *arg) TSEC_RECEIVE_LOCK(sc); #ifdef DEVICE_POLLING - if (sc->tsec_if_getcapenable(ifp) & IFCAP_POLLING) { + if (if_getcapenable(sc->tsec_ifp) & IFCAP_POLLING) { TSEC_RECEIVE_UNLOCK(sc); return; } @@ -1495,7 +1495,7 @@ tsec_transmit_intr(void *arg) TSEC_TRANSMIT_LOCK(sc); #ifdef DEVICE_POLLING - if (sc->tsec_if_getcapenable(ifp) & IFCAP_POLLING) { + if (if_getcapenable(sc->tsec_ifp) & IFCAP_POLLING) { TSEC_TRANSMIT_UNLOCK(sc); return; } From nobody Mon Feb 6 20:26:04 2023 X-Original-To: dev-commits-src-main@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 4P9d7c4mZ5z3nNtM; Mon, 6 Feb 2023 20:26: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9d7c4FPZz3wBK; Mon, 6 Feb 2023 20:26:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675715164; 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=0TAZveIZHbCvevqoKvHpHmdOoEvSGXoapBMZgUhEbYI=; b=DqOyr/LYCRlZAt+qFPHeeQSzzKqeqC6rRxPBPpR0TS+0IkTbnSQdPcj9vJjAagachZVQEO +5Dm+VRQErkpKl8ja8Hqfz1LJkEcMfcS39LulDJSn1V43mbvTac8RXj/S6k9CbrJTxU26B lxDHK5OW96WTSwcrLM3GFnnvV9b6VbCxCCyLlMYlMQf7va+hxLIPY9FB94bCn8ewEx9+L0 6Vr6uWclvOCR0bzA3mzvau8mYXqbKVgFrssbsf3p+pWKaw4N7j6iQ2eFutBrTeD4wnJfGS 5OcUsIVunuSzgNq7hLoDTK7YIGERyaF8ak3hw5J/ua/OyXK5jM55XjDlr2cEDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675715164; 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=0TAZveIZHbCvevqoKvHpHmdOoEvSGXoapBMZgUhEbYI=; b=hKjpIR90+T++PcAHI78JXElx2NllGn4rr2KmGweEzl9m2xYCgem9xFVO1zMcgkeGQtES9z 11n3dITMo9BDRonGiNSxIg8zGpcU3v+QYsZuFywoUVdWH7hst+CojlHPW3I14bg+n6Toyo ETWHMFXQs64dnj8UR1xs13F1iGodF6GxNA1UtBmqTqlq5NyV2jBBMDdeZmoo+CXKkNug33 /Whszkz0EeS5/LBcpAoNAiFBwzaGovQcegwI01mpD21JpD4VARowk1UE0/S9HAJKgGTGl3 rU9h7idVXxxV3LefaLcKzyUumfWvgGvzIViMPxx7nH1qz9xYVJKjClx89gCZew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675715164; a=rsa-sha256; cv=none; b=Mp+rRzvLgMqtV40qN1DtOxhYLfpfM49SnAJGJSvLq8fm0+/W9NetcXZwjgnkgfVvGvqx/4 CRkTavqfKawBoZ9RAYnnoZGPWhVOQfC6idfx0oC8KbpjFNHJ7mTYrVLeRTJt59xmeQLg70 QqrLHqgWHNhRnr/pP01CSDA2+F71tWq7SYVIzKyB9qQu2GJ1dKzteFnHS/BgficI6lZa3m /yDAxtbNr4wfYE+JG3GTehGJIlpF347rMSrsIqfAnYMPbBWN+qhNqAdrgnBiN2cH0QLavd lzK8wBo/wN5T3WtrVjt+woAC6iU19OO3fCnGg7LbSLK0b3RF7vHMEmnDFCNynw== 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 4P9d7c3JXYzp6G; Mon, 6 Feb 2023 20:26:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316KQ4Wt091932; Mon, 6 Feb 2023 20:26:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316KQ4C5091931; Mon, 6 Feb 2023 20:26:04 GMT (envelope-from git) Date: Mon, 6 Feb 2023 20:26:04 GMT Message-Id: <202302062026.316KQ4C5091931@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Stefan=20E=C3=9Fer?= Subject: git: d804497068c1 - main - md5/tests: extend md5 test List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d804497068c16bcb05383d7227d899f4ba59f706 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=d804497068c16bcb05383d7227d899f4ba59f706 commit d804497068c16bcb05383d7227d899f4ba59f706 Author: Stefan Eßer AuthorDate: 2023-02-06 20:11:51 +0000 Commit: Stefan Eßer CommitDate: 2023-02-06 20:25:44 +0000 md5/tests: extend md5 test The testloop function is called with various parameters, but those were ignored in the coreutils-c-test script. This was an oversight and is fixed by passing the option to all invocations of the hash functions in this test script. Reported by: des MFC after: 3 days --- sbin/md5/tests/coreutils-c-test.SH | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/md5/tests/coreutils-c-test.SH b/sbin/md5/tests/coreutils-c-test.SH index 5996e533c627..95018abd1f27 100644 --- a/sbin/md5/tests/coreutils-c-test.SH +++ b/sbin/md5/tests/coreutils-c-test.SH @@ -8,8 +8,8 @@ testloop () { opt=$1 while read algorithm; do - ${algorithm}sum -c %%TESTSBASE%%/sbin/md5/${algorithm}.digest || exitcode=1 - ${algorithm}sum -c %%TESTSBASE%%/sbin/md5/${algorithm}sum.digest || exitcode=1 + ${algorithm}sum $opt -c %%TESTSBASE%%/sbin/md5/${algorithm}.digest || exitcode=1 + ${algorithm}sum $opt -c %%TESTSBASE%%/sbin/md5/${algorithm}sum.digest || exitcode=1 done < %%TESTSBASE%%/sbin/md5/algorithms.txt } From nobody Mon Feb 6 20:41:58 2023 X-Original-To: dev-commits-src-main@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 4P9dTz0plPz3nPqf; Mon, 6 Feb 2023 20:41: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9dTy3lVLz40xL; Mon, 6 Feb 2023 20:41:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675716118; 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=C/KF7IJtKP5bTYvJycPkYzJm0LEOxbvUkS8My2Jsepc=; b=KA1oOiRjZEqpRrArG4cRvQcXPRAb0JjMQfRNDGpTV47g/SHhz5DUlIDsXR/WyaFb41SqMr WgwCMDkg5I8pd4P5Iu8GiT5U+13De1CuVUyvUkNZeIOe7llSahRLm9vnFRjcG5v0wKb63e 3OwvY2x0wCaEg0iZafUdg2qays4n5zHdN5NpQKy0Jk412SMPbmx5ZiCeqMPW9IPPzk0pam yTza89v7Wkzuxk0vXqS/h6dHySkYWOWTw9j0W/J4NmYgN30VgbTpzIVFC2z6LfLx5ljMp/ kGedkQHeoAAB220WFItRfYTVOzX38bMwLgfoDcddn2Cnov2/iiGYQ2A4w52rsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675716118; 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=C/KF7IJtKP5bTYvJycPkYzJm0LEOxbvUkS8My2Jsepc=; b=jwZN9xpqVxcJfF0/kjhHciHVMFk3/KCdbcitVbVqVc1v/B6jI9sh6lWgXFsFhHs1qQVxJK qQYacT1jRq4ziByeLpz3SO73OsI1VnLRizY1+StUzmiwS2X3+C67y9yIj2Y8K2/n3f4hag uN4ODYywycHPE8QFCfEhRAZCGSs5T927CIWTGlMpXbZ8HysIHWAb3OgsydQSbjSPboDpRj MqD9054cISAvyO1TftSXjpHYY2aRmxFhIuLTiADRJPyt/rq6uKYKtmKkYozuom5ccs+E8b Y2B8zXUkqrAeeWp2imqkeN4IjUxeVohOtJcIwcOsBduA08hzouGf/nwrOoTpYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675716118; a=rsa-sha256; cv=none; b=O2WVlxV05U8n2yZKx5Qtc3k1SEj6K9RLJWVzSeTJpC3xjfyRL/05gnkRN1isGzhnv1ugly ehFJZbtEfdcAGfNh3lMmRGFaSPk4EdwPoaVOCHWu57etUON7ypuQXk0/AiyjHhjwAYQKJ+ sNvMuZwOujjl/FH39g1WBNINjyUE6VmJ/kJB6cdnbRIV7fWK3s2PBn6UbRh8ENbbkGFjNf 3UZ7lcpr6UeItRFGAss4OrFYZ1dpHiQDaQ+oLpTL1lLkPdH7vBI2owRGEUau93Gha/yUzb 3jNnP4r93kNDjW/EVH9W+77L8zhGSYgTqwREzfe4ef7vQwBouortV+ELDcsLSg== 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 4P9dTy2p90zpvZ; Mon, 6 Feb 2023 20:41:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316KfwOQ019980; Mon, 6 Feb 2023 20:41:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316KfwvH019979; Mon, 6 Feb 2023 20:41:58 GMT (envelope-from git) Date: Mon, 6 Feb 2023 20:41:58 GMT Message-Id: <202302062041.316KfwvH019979@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Konovalov Subject: git: fb8f221aebd0 - main - db_printf: fix a typo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: maxim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb8f221aebd0628e201d3d941ab6574eb27078fd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=fb8f221aebd0628e201d3d941ab6574eb27078fd commit fb8f221aebd0628e201d3d941ab6574eb27078fd Author: Maxim Konovalov AuthorDate: 2023-02-06 20:41:05 +0000 Commit: Maxim Konovalov CommitDate: 2023-02-06 20:41:05 +0000 db_printf: fix a typo PR: 269377 --- sys/netinet/tcp_usrreq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 83804ac3525e..2ae1c4b89c8e 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -2991,7 +2991,7 @@ db_print_tcpcb(struct tcpcb *tp, const char *name, int indent) db_printf(")\n"); db_print_indent(indent); - db_printf("snd_una: 0x%08x snd_max: 0x%08x snd_nxt: x0%08x\n", + db_printf("snd_una: 0x%08x snd_max: 0x%08x snd_nxt: 0x%08x\n", tp->snd_una, tp->snd_max, tp->snd_nxt); db_print_indent(indent); From nobody Mon Feb 6 20:57:03 2023 X-Original-To: dev-commits-src-main@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 4P9dqM2S0Fz3nQQZ; Mon, 6 Feb 2023 20:57: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9dqM1vZNz42Dr; Mon, 6 Feb 2023 20:57:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675717023; 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=TmZC6Y18qPBO4R5Npb+4KLmGZkIIPrV+h0B0mECG1Qw=; b=p6Bx51soGIOlq/iLaeOXKYl6yDlDFQf69PIa43pkVN7N+ZGebvnxETuno0tgjshJgkqQlz QRJEFStgdaD0YUW2MSUROsOFXuv87kqJlNJBVAgWYvdP5ju5DsYJL89YjT+leNx8cnfZwb Lf0rVLvHCD9SL2Jnk19wYukv2fQ6Rhm0j7pod5pM6Z2b7NijMIo+qgreDhFp4GTVje4fsB DzGxcQLb0m0xzi5Y1TmoAQuHz3Roi0jI/DTlthgdZWzRNUF1urfuE60YngK67bYx9a6M3j 5Q+JBcoD6JAftAFlkjqtm+4Z/BZlydGBo2XezMCoPFJ82CjgH3sGGISUoCr8lQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675717023; 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=TmZC6Y18qPBO4R5Npb+4KLmGZkIIPrV+h0B0mECG1Qw=; b=bul8dJGY1wFxuyN6MKR4PKb4BN3wFCVyvC0sqjYoXd7gd68MAoxwHZRPvCeMgIfZkD/tKh QppOdY0du+NwUkfjmzXLHoQp0S8VvO+5vEuMHvOmezBBIXm6e7Z/DiKwlspBy4w55KQK8o 69aBZExcsLmYxseuWCDJQgxNxYS/b1Up9Wo7GkOEFcqnGtIFNFqxpUqirg4cfToLrbDD4K 63C8uqpiltqDUbWDx1aVhF0c90byILXNA1nt+xH7yXozrEpAsD5QDpbcvpiwKOdet6RmyO RcYsgOJGeXaxDpGqGgQqgKRcfNz00BdVoPoN00OqLECzKYjJ1i4L5Y9dxo5jeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675717023; a=rsa-sha256; cv=none; b=QtAgKxt7NeJJGqzN6VxpMq7iji21A8YUJn9qgsf6ZVobfFwQ+10HTwTXcBBjAehaVVjsG0 WZnKtQtcRsAONNGlww7bQ7IssiCXwFxQVIbK8hILRovYD7mfeTUu0bU3MLNyCFkC2bvrB6 ZcaEqJaxius1UPRm1JYxvoTyFxiY5KKmJ6YscgHBe/c4Q3Pp1XtXy+eUs+DYlMCJPp1pLR 7Qu6lWrUL1UbrcfYoI0+vskDN11V7g6LwgVNinIyaiXgKGMaarbMlPvyVkBlXoEFRxwibv I6aSkIXjjeQNLs4ebjdwDmy5sLWuiEHvb2uLu0WvTt7I5/C8NN8b2qGRyyi5aA== 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 4P9dqM0yPrzqLl; Mon, 6 Feb 2023 20:57:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Kv3xd034593; Mon, 6 Feb 2023 20:57:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Kv3c5034592; Mon, 6 Feb 2023 20:57:03 GMT (envelope-from git) Date: Mon, 6 Feb 2023 20:57:03 GMT Message-Id: <202302062057.316Kv3c5034592@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 932370ddd46e - main - sbni(4): Fix i386 build List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 932370ddd46eccf66f6f666c4ff6cc3a76b362bb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=932370ddd46eccf66f6f666c4ff6cc3a76b362bb commit 932370ddd46eccf66f6f666c4ff6cc3a76b362bb Author: Justin Hibbits AuthorDate: 2023-02-06 20:41:20 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 20:56:22 +0000 sbni(4): Fix i386 build Fixes: 3fba06ad Sponsored by: Juniper Networks, Inc. --- sys/dev/sbni/if_sbni_isa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/sbni/if_sbni_isa.c b/sys/dev/sbni/if_sbni_isa.c index 9fee3cdc5bd3..35500fd13d36 100644 --- a/sys/dev/sbni/if_sbni_isa.c +++ b/sys/dev/sbni/if_sbni_isa.c @@ -132,7 +132,7 @@ sbni_attach_isa(device_t dev) return (ENXIO); } else { device_printf(dev, "shared irq with %s\n", - master->if_name(ifp)); + if_name(master->ifp)); } } #endif /* SBNI_DUAL_COMPOUND */ From nobody Mon Feb 6 20:57:04 2023 X-Original-To: dev-commits-src-main@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 4P9dqN3Rpnz3nQNN; Mon, 6 Feb 2023 20:57: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9dqN2nDNz4270; Mon, 6 Feb 2023 20:57:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675717024; 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=cfMtgAJobWN8NKwrCUa2SGeD66aA0Z35TiVpKYpKnPg=; b=lJ3Gvvo1c63n8axYfHou9k8vrxf/M4x3Nf8ElO9CVRN+BOnTElg3odRNcw/TzmJzcC7csY 5IftmTWwWSJashIjsJQC+JcVABXdh5+/doyHBRTCrficyqfyX8ut9aGIAM5odlvCQjfocE d/N+Y9O8m4jO/Zqxqx9VGQLoqu1z4ZclUxvAdTBBKvCbjRnqt86izbDQEucvUIFNcLghng r+4oHWnC4xtmZTkTLBZtTrSV3nniJUZtYC6/tjxxKmu5o4pGHIPCewo6u3H86Gw0IoSXkf hBHOkP5/9PJ6XIhrCO1Tk74UyocNBKa05ZLp7sOHWC/cQu8OTBOakFYVa7RFCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675717024; 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=cfMtgAJobWN8NKwrCUa2SGeD66aA0Z35TiVpKYpKnPg=; b=VcdgN9NLoyKN9cEuhy/eAWv69JL4YFv5aSNP+R7qaPEAVIr48JetIYtQQ/jW0t+NOQhzgp u2Bwih+t25IvzvuMVj1sHCCSxpAY1etfFSGy/Wlv2H99R7qOeL4V3/7krbr6ENhib7kTeQ Bxcya7Q28xdg5ItQh8BlRla4j1LsMlg5/5+cgVidcghvCYA4ZXtrCpGZQBt7W5qm5a8Hnj 8p9C5Twz+Y4+/dGS7DDinInnD6Eq9ZwqSqHdUUPbinkxBWXb65k6f3XXJ3WEJzC9kAnIbc qawoQ/SumkoXGQy2L/f8KUCY6v/lJnDHgIaDPLTJtfG3qclBk13eLgJiLEY5HQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675717024; a=rsa-sha256; cv=none; b=G9EvP0bjnkrGCym9X+6+pVHOH2OlbrP0NzOGDttLqzpVWbU9L/j8HLD9Nfv9IT6l2RzXY4 YNAHCo6skXiDivy6JIUF9vMxjAwsNrmDwacGfpDpzHpKlE8OoYZYF4YSLYBQ+9vQfQGFlZ 7YA2sxGVasANU0RzGXsoVWkNv2epkvUwJVIX1is4rvw5tIJ+Ugs7L5NzPjiJgcrEc9Ho+V vVBknKbI0ZlyGHzIhpHvNFESmS/ED/92822CEwlJn46dX6xjlgC15cD5dTwWdc3XG5cfUf eu5nlURGVk26GSxh68PQhiF3hP/FzZ5YxoQRUHWqxAbeuap3QiTtRG0f49jj5A== 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 4P9dqN1tLWzqNp; Mon, 6 Feb 2023 20:57:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Kv40G034617; Mon, 6 Feb 2023 20:57:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Kv4XG034616; Mon, 6 Feb 2023 20:57:04 GMT (envelope-from git) Date: Mon, 6 Feb 2023 20:57:04 GMT Message-Id: <202302062057.316Kv4XG034616@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 96ab5e719955 - main - mge(4): Fix build after IfAPI conversion List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 96ab5e719955066730747da3c58b77c356e84afe Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=96ab5e719955066730747da3c58b77c356e84afe commit 96ab5e719955066730747da3c58b77c356e84afe Author: Justin Hibbits AuthorDate: 2023-02-06 20:45:02 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 20:56:22 +0000 mge(4): Fix build after IfAPI conversion Fixes: 98fe10c8fc08 Sponsored by: Juniper Networks, Inc. --- sys/dev/mge/if_mge.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/dev/mge/if_mge.c b/sys/dev/mge/if_mge.c index af244c590769..b3664eeb66a0 100644 --- a/sys/dev/mge/if_mge.c +++ b/sys/dev/mge/if_mge.c @@ -478,7 +478,7 @@ mge_set_prom_mode(struct mge_softc *sc, uint8_t queue) uint32_t reg_val, i; /* Enable or disable promiscuous mode as needed */ - if (sc->if_getflags(ifp) & IFF_PROMISC) { + if (if_getflags(sc->ifp) & IFF_PROMISC) { port_config = MGE_READ(sc, MGE_PORT_CONFIG); port_config |= PORT_CONFIG_UPM; MGE_WRITE(sc, MGE_PORT_CONFIG, port_config); @@ -1200,15 +1200,15 @@ mge_init_locked(void *arg) * * ...only if polling is not turned on. Disable interrupts explicitly * if polling is enabled. */ - if (sc->if_getcapenable(ifp) & IFCAP_POLLING) + if (if_getcapenable(sc->ifp) & IFCAP_POLLING) mge_intrs_ctrl(sc, 0); else #endif /* DEVICE_POLLING */ mge_intrs_ctrl(sc, 1); /* Activate network interface */ - if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); - if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); + if_setdrvflagbits(sc->ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(sc->ifp, 0, IFF_DRV_OACTIVE); sc->wd_timer = 0; /* Schedule watchdog timeout */ @@ -1226,7 +1226,7 @@ mge_intr_rxtx(void *arg) MGE_GLOBAL_LOCK(sc); #ifdef DEVICE_POLLING - if (sc->if_getcapenable(ifp) & IFCAP_POLLING) { + if (if_getcapenable(sc->ifp) & IFCAP_POLLING) { MGE_GLOBAL_UNLOCK(sc); return; } @@ -1283,7 +1283,7 @@ mge_intr_rx(void *arg) { MGE_RECEIVE_LOCK(sc); #ifdef DEVICE_POLLING - if (sc->if_getcapenable(ifp) & IFCAP_POLLING) { + if (if_getcapenable(sc->ifp) & IFCAP_POLLING) { MGE_RECEIVE_UNLOCK(sc); return; } @@ -1405,7 +1405,7 @@ mge_intr_tx(void *arg) MGE_TRANSMIT_LOCK(sc); #ifdef DEVICE_POLLING - if (sc->if_getcapenable(ifp) & IFCAP_POLLING) { + if (if_getcapenable(sc->ifp) & IFCAP_POLLING) { MGE_TRANSMIT_UNLOCK(sc); return; } @@ -1625,7 +1625,7 @@ mge_shutdown(device_t dev) MGE_GLOBAL_LOCK(sc); #ifdef DEVICE_POLLING - if (sc->if_getcapenable(ifp) & IFCAP_POLLING) + if (if_getcapenable(sc->ifp) & IFCAP_POLLING) ether_poll_deregister(sc->ifp); #endif From nobody Mon Feb 6 21:15:10 2023 X-Original-To: dev-commits-src-main@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 4P9fDH255yz3nRDb; Mon, 6 Feb 2023 21:15: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9fDH1cJVz44D5; Mon, 6 Feb 2023 21:15:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675718111; 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=9b4RrWH1+nhGy4evtWEUZ4CAOhy11yTp53Td1AXI6OU=; b=IsJ3muTlyx1A1sMoTmy+hn4h0tmzEkij+xUt60SK6K7ajSQr9xeduRWGPBX1hMfLwLze0K p1Ekb63UHxCQUbfBIYvxtGJ1SvV6Zz1Z7RhXdzVUyMQScq7jcVOpOr+0VnI4Z6R50q0FtH jAnGPgleLCDXoTdsZH264zWew2w5x17D/syjS29fm7NiIIdqtEqE4iKc3bemn2+JZfeqIc fxJXYsSXKIlViYOAmk2ydIKFC0sGyKuzbRtkOIrf4slwkS5EySnDY/JBS9QTme/VX+uf5d fObSR+09hIu2HCeN/qJoJq//wcc32gnP8ka2pN28NLTuZ0IjT9s6UXRr+hdd7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675718111; 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=9b4RrWH1+nhGy4evtWEUZ4CAOhy11yTp53Td1AXI6OU=; b=BwKVsI/Rhg1tDiVWoNqc5lqOe2OLh/CrsUkoYCKmUqC7AHShMLjYok8hZLexO4jL15vKi7 J9n5loD/kAf6xst8ONAEYy4FfuErQpah+j/3VS/MXHaksBnJvZyWXGCc6jooYzWMVyrt2y LDS8VDjeX8nS2RgyRGv1O92ldR2sypLuFn6CXpcY9Gw3TZFoQ8K3gPC0ltcGYcnyR/6ebB 2K3QxKzWWUrY0oMU4i4mIv7FNyGrhmIYfZ2Iw1VyQA/mMQvKFJ+IZrxc1fM92l2TuIYfTT V6iMHm0nj6OFcVCSMFJRRTtCjY1Fm/7daxVOwgGbPy5kBs2sljGuTctpbYeJqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675718111; a=rsa-sha256; cv=none; b=qzwWvNQrjH/kTOCc4DGo4r6M3fmt+nfK+EtGXbt3DoxwpNtlgVyT63iqb5v750BC6uzz42 /FlqE7wRCrbeLfRYXlpPo1ZVKJfFzxJ67FB9QQmq2Ds/qbvV2REnwUSrwXMucf22HcCpbn 9mnNVSB6ehkE1cThZoq6ZVJtKZ9WDD3TJLNx4067vBW4UWL3ie7V7T6JgtVzVyAZKThYwk Z2iUrqetdusosevvXXMvxIiZ4MnHq9HlfIZBHGA4JlhC90Exw3L7JytDmz40tWhlk7P6Ew Ks9yo07y5zWWotfkkMKvksUFrGJBTwwnwVJQ4eeax5wDBwUez20XTCGTubghMQ== 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 4P9fDH0fp7zq2n; Mon, 6 Feb 2023 21:15:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316LFAfa064180; Mon, 6 Feb 2023 21:15:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316LFAK8064179; Mon, 6 Feb 2023 21:15:10 GMT (envelope-from git) Date: Mon, 6 Feb 2023 21:15:10 GMT Message-Id: <202302062115.316LFAK8064179@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: a1e3fb8fa0a4 - main - Fix _REVISION to be always major.minor List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: a1e3fb8fa0a4652bc345bd284c32d6630a8dbe08 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a1e3fb8fa0a4652bc345bd284c32d6630a8dbe08 commit a1e3fb8fa0a4652bc345bd284c32d6630a8dbe08 Author: Eugene M. Kim AuthorDate: 2022-03-11 04:32:00 +0000 Commit: Warner Losh CommitDate: 2023-02-06 21:02:32 +0000 Fix _REVISION to be always major.minor Introduced in commit 613fe53, _REVISION was redefined to be just the major version (14) instead of major.minor (14.0) iff: - PKG_VERSION was not overridden (default), and - Branch was -CURRENT, -STABLE, or -PRERELEASE. This introduced side effects in other parts of the code which expected _REVISION to be major.minor: - make-pkg-package.sh target triple became amd64-portbld-freebsd14 (should be amd64-portbld-freebsd14.0); - Versioned cross dev symlink name became amd64-freebsd14- (should be amd64-freebsd14.0-) Also, compounded with commit ea9a92d (which was introduced afterward and removed minor version from _REVISION incorrectly using :S with a regex) this also caused pkgbase repo to use a wrong PKG_ABI with a minor version (FreeBSD:14.0:amd64) when a custom PKG_VERSION was specified. (Note, without a custom PKG_VERSION the bug was not triggered because in that case _REVISION was already major-only.) This commit fixes both problems by introducing and using MAJOR_REVISION instead of redefining _REVISION. Existing uses of _REVISION now see major.minor again, except PKG_ABI (ex: FreeBSD:14:amd64, as described above) and PKG_VERSION (ex: 14.snap20220311121531) need only the major version and now use MAJOR_REVISION instead. PR: 262600, 262601 Reviewed by: imp, emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/592 --- Makefile.inc1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 7c82c2bfa763..d18a9795e7bf 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -536,12 +536,12 @@ SRCRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \ VERSION= FreeBSD ${_REVISION}-${_BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDATE} .export VERSION .endif +MAJOR_REVISION= ${_REVISION:R} .if !defined(PKG_VERSION) _STRTIMENOW= %Y%m%d%H%M%S _TIMENOW= ${_STRTIMENOW:gmtime} .if ${_BRANCH:MCURRENT*} || ${_BRANCH:MSTABLE*} || ${_BRANCH:MPRERELEASE*} -_REVISION:= ${_REVISION:R} EXTRA_REVISION= .snap${_TIMENOW} .elif ${_BRANCH:MALPHA*} EXTRA_REVISION= .a${_BRANCH:C/ALPHA([0-9]+).*/\1/}.${_TIMENOW} @@ -552,7 +552,7 @@ EXTRA_REVISION= .rc${_BRANCH:C/RC([0-9]+).*/\1/}.${_TIMENOW} .elif ${_BRANCH:M*-p*} EXTRA_REVISION= p${_BRANCH:C/.*-p([0-9]+$)/\1/} .endif -PKG_VERSION:= ${_REVISION}${EXTRA_REVISION:C/[[:space:]]//g} +PKG_VERSION:= ${MAJOR_REVISION}${EXTRA_REVISION:C/[[:space:]]//g} .endif .endif # !defined(PKG_VERSION) @@ -1901,7 +1901,7 @@ _pkgbootstrap: .PHONY # Determine PKG_ABI from newvers.sh if not already set. # .if !defined(PKG_ABI) && (make(create-world-packages-jobs) || make(create-kernel-packages*) || make(real-update-packages) || make(sign-packages)) -PKG_ABI=${_TYPE}:${_REVISION:S/\..*$//}:${TARGET_ARCH} +PKG_ABI=${_TYPE}:${MAJOR_REVISION}:${TARGET_ARCH} .endif PKG_BIN_VERSION!=${PKG_CMD} --version /dev/null |\ awk -F. '/^[0-9.]+$$/ {print $$1 * 10000 + $$2 * 100 + $$3}' From nobody Mon Feb 6 21:21:08 2023 X-Original-To: dev-commits-src-main@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 4P9fM90qmxz3nRRs; Mon, 6 Feb 2023 21:21: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9fM85VhZz44wS; Mon, 6 Feb 2023 21:21:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675718468; 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=RYsqYW7feIBMoBDeZ81uYopsyagG+jo1TyNJBPkSADk=; b=Aj+dLDP9IQ5Sv8MqRb5WBEalQb479V7k1SelnQ1+GQkY8YCWwI4dk8gn7Us4KOLJyoWeHO GW0tRXV52lDN72WlRMOMTS+Pc+WMzUyMooXcbB+l+m5xzU2+OrCMiXOS6n/U2LySR4CpBG /vluwnJFZEz+DR5IjnQrYEEHUYwBi4xaR2muKw2jVBugfEJMNxKlg4yDwS4KqP1ykj7v0M dzGmqG2lZTquxSYf3QZ6Z+iynw9EJSWFF4nRQVpi0H2OWFByYqkVPnZB81UrbP3rsXiCMh ThvnJJZi7P0DJKUERO7zVIYp4c1h+FPtUBXi2SmXd/H3DYqimo1tlHXoL9iVDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675718468; 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=RYsqYW7feIBMoBDeZ81uYopsyagG+jo1TyNJBPkSADk=; b=q6ZKuDxEGwPaA193ns6QSCq/5hyqBmTygfS8e03vktijLmDijWyqf/IoxdUakwHM79YPVS xrTARveTOyJdnbQ+2WZn+7sYGb5cJdhOboGZb3vo9M0v4WaLirILVjSUg7H0BptsMZtOSj sRjdHlZtCw0shxV+g+6UfyuR5TIbW//THnEPZrU2fg9QrZQndwKjjnZFvm4e4bsfbXIxif +JFTrgvUXGvntADrWuJXgS3IhJ4amKAB7EL2EIrHPJLXp4WcC3udZz+QaAKzUd+v9MzpeL tzUxlkHluW/RJSeVYnNvWVNTtFniLvGolqnMM5whvIAXCn/y0mXHidqnw0e31Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675718468; a=rsa-sha256; cv=none; b=VJVCP9eY6k0il2mq9SyPb8e5LQd+wRjF3BE3VJEJMihv4wRv/ufltDSZDwwa2BEK45OW7T p7/JRhCJMprhG2z1mKxeD9hy0DdVwMcBqi0MivR+rD7iAEjw8HxvL/Yhpev+8fn/PdsMhE LxqlvxKWarKVM37Gym7BND/uicb9T2DbcSmKodC3ofW6NMiN1YUUrYlv0jbsaHw4hdBZYZ NAOfJdPXFF0hin7hQ/AdCLU0xeZ5A3+paSfOT9mnTIVRo62SWR8PT/o36lObXNw0q/EC83 aSOVQLx39opxG1j5q6T7CpgbqpoAnoI9ZQgcMViAy45+AN5qRJZu9cWvW6Kgqw== 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 4P9fM84bS8zqNX; Mon, 6 Feb 2023 21:21:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316LL8eL074335; Mon, 6 Feb 2023 21:21:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316LL8vS074334; Mon, 6 Feb 2023 21:21:08 GMT (envelope-from git) Date: Mon, 6 Feb 2023 21:21:08 GMT Message-Id: <202302062121.316LL8vS074334@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Ambrisko Subject: git: bbd354cb2382 - main - enic: convert to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ambrisko X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bbd354cb2382917a2cfbbc3e918ccfe342b645b4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ambrisko: URL: https://cgit.FreeBSD.org/src/commit/?id=bbd354cb2382917a2cfbbc3e918ccfe342b645b4 commit bbd354cb2382917a2cfbbc3e918ccfe342b645b4 Author: Doug Ambrisko AuthorDate: 2023-02-06 21:17:15 +0000 Commit: Doug Ambrisko CommitDate: 2023-02-06 21:19:48 +0000 enic: convert to IfAPI Prompted by: jhibbits --- sys/dev/enic/enic.h | 2 +- sys/dev/enic/if_enic.c | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/sys/dev/enic/enic.h b/sys/dev/enic/enic.h index 9d84ca6ecaf6..a2a40334986f 100644 --- a/sys/dev/enic/enic.h +++ b/sys/dev/enic/enic.h @@ -278,7 +278,7 @@ struct enic_softc { if_softc_ctx_t scctx; if_shared_ctx_t sctx; struct ifmedia *media; - struct ifnet *ifp; + if_t ifp; struct mtx enic_lock; diff --git a/sys/dev/enic/if_enic.c b/sys/dev/enic/if_enic.c index d3ac5bb902c6..537e613efa2d 100644 --- a/sys/dev/enic/if_enic.c +++ b/sys/dev/enic/if_enic.c @@ -754,12 +754,12 @@ static int enic_rxq_intr(void *rxq) { struct vnic_rq *rq; - struct ifnet *ifp; + if_t ifp; rq = (struct vnic_rq *)rxq; ifp = iflib_get_ifp(rq->vdev->softc->ctx); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) - return (FILTER_HANDLED); + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) + return (FILTER_HANDLED); return (FILTER_SCHEDULE_THREAD); } @@ -852,7 +852,7 @@ enic_init(if_ctx_t ctx) enic_start_rq(enic, index); /* Use the current MAC address. */ - bcopy(IF_LLADDR(softc->ifp), softc->lladdr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(softc->ifp), softc->lladdr, ETHER_ADDR_LEN); enic_set_lladdr(softc); ENIC_LOCK(softc); @@ -902,7 +902,7 @@ enic_copy_maddr(void *arg, struct sockaddr_dl *sdl, u_int idx) static void enic_multi_set(if_ctx_t ctx) { - struct ifnet *ifp; + if_t ifp; struct enic_softc *softc; u_int count; @@ -916,12 +916,12 @@ enic_multi_set(if_ctx_t ctx) enic_add_mcast(softc); ENIC_UNLOCK(softc); - if (ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_PROMISC) { softc->promisc = 1; } else { softc->promisc = 0; } - if (ifp->if_flags & IFF_ALLMULTI) { + if (if_getflags(ifp) & IFF_ALLMULTI) { softc->allmulti = 1; } else { softc->allmulti = 0; @@ -988,18 +988,18 @@ enic_media_change(if_ctx_t ctx) static int enic_promisc_set(if_ctx_t ctx, int flags) { - struct ifnet *ifp; + if_t ifp; struct enic_softc *softc; softc = iflib_get_softc(ctx); ifp = iflib_get_ifp(ctx); - if (ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_PROMISC) { softc->promisc = 1; } else { softc->promisc = 0; } - if (ifp->if_flags & IFF_ALLMULTI) { + if (if_getflags(ifp) & IFF_ALLMULTI) { softc->allmulti = 1; } else { softc->allmulti = 0; From nobody Mon Feb 6 21:35:32 2023 X-Original-To: dev-commits-src-main@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 4P9fgm32pXz3nS51; Mon, 6 Feb 2023 21:35:32 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9fgm2VV2z47sC; Mon, 6 Feb 2023 21:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675719332; 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=dKBAmLE5OTCVhIhndBeGvh6nw0vNZt88nANMsK1tGos=; b=k8v5sBjERT16f2uwdnZIBlOrFSV065aIgUpW8JBoAyufWdvx6JzvKLw5/PHuo2OE/L5uVw 0mSvqPlcRDt+QeuFLTHm+tTWW3I4Ug+I8xpLSASua/3Fy4YBan4tUfNyfF5/C8zqAj8T5y RiIxwW5kvnMx3dQAY00hJelxkC/imOBczmaZsPxkdQk6xMssU0yluiE4bcDPNUQ24iwIpf 8bvJr5U7PV0/LqRZsVXPDPhTxaeSTCMVl4q0P1F3GznU5F9gehsQk1+iUDDEsgxQnFkG1g EANG967XbmQAqpvMx/sedXKvwfb+4nLw96JUOjBjAY+tVBt+BW1XBmYNK/7U7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675719332; 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=dKBAmLE5OTCVhIhndBeGvh6nw0vNZt88nANMsK1tGos=; b=VLM2SfhOY8TcYdKZ+R1XbbicLYV5RLkuMelgIaZfLiuvfONhmMbcfXxh5pl0eN7LsHfDZF V4EgDFxKEJqV7+D0jn/PC3oh/e0AA9SUrJoLqJZJGE3yJMuLma6417xKJdnPjde+R+Zy+J trbCg8zAgG8d8WqJMA9XBy/gSPsu6iBq8YL/1nrs5WtBzy//F014fq7M6bjSkVm5oR42Kn NKftSTfWhDrtdSfFfJwqRpWlUchAIe3J5Dz+VdxErYxsLRjjVryLBRBc3YRCobK7eivrcw xOg+5IE2Ei2HxENeoSY09v91Mxu15bl+WA7Pxew2LkSfXqBcSoTkivkuEx1G+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675719332; a=rsa-sha256; cv=none; b=QJ79jaC+VshLEZj3ignwgU58oGk6d6RDUKLUIqzYEfxmk232dC4lgi2V0kjnt3n3evPsx9 iVhAxehkSKmDF+gPWpkrGbm+4SUDVGARh3SGKfeGiImrX9CzvODt5LMWY2JHg76chcCWSv krjkaXck4RuRBi3nw5MIT1WlWyXehxjSgivdBnjW/2tT6On04UXnnBR8Op2YjoJ6ArmoOw gpfRQVv9/jkkWtEVD2VLNzFp/vSd0IFToI+zvk8ne1z8ySVJQQFGRb3pLlKb3xysCYvxi3 Bjijn6OIPyU5tbxU5JLb+T1p6X/xJirvQ6pNyYb7rkJJO7et75wA5Q22grD7ug== 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 4P9fgm1XtxzqvH; Mon, 6 Feb 2023 21:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316LZWwj092777; Mon, 6 Feb 2023 21:35:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316LZW9a092776; Mon, 6 Feb 2023 21:35:32 GMT (envelope-from git) Date: Mon, 6 Feb 2023 21:35:32 GMT Message-Id: <202302062135.316LZW9a092776@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Stefan=20E=C3=9Fer?= Subject: git: 4fca8e0f65a8 - main - contrib/bc: uodate to version 6.2.4 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4fca8e0f65a8bbbd1242c1f7d8e33b77c479f5de Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=4fca8e0f65a8bbbd1242c1f7d8e33b77c479f5de commit 4fca8e0f65a8bbbd1242c1f7d8e33b77c479f5de Author: Stefan Eßer AuthorDate: 2023-02-06 21:33:56 +0000 Commit: Stefan Eßer CommitDate: 2023-02-06 21:33:56 +0000 contrib/bc: uodate to version 6.2.4 This update contains only documentation changes (new main repository URL and changed mail address of the program author) and changes to the build system that do not affect the FreeBSD base system build. MFC after: 3 days --- contrib/bc/LICENSE.md | 6 +-- contrib/bc/NEWS.md | 18 ++++++++ contrib/bc/README.md | 22 ++++++---- contrib/bc/gen/bc_help.txt | 2 +- contrib/bc/gen/dc_help.txt | 2 +- contrib/bc/gen/strgen.sh | 16 ++++++- contrib/bc/include/version.h | 2 +- contrib/bc/manuals/bc/A.1 | 4 +- contrib/bc/manuals/bc/A.1.md | 4 +- contrib/bc/manuals/bc/E.1 | 4 +- contrib/bc/manuals/bc/E.1.md | 4 +- contrib/bc/manuals/bc/EH.1 | 4 +- contrib/bc/manuals/bc/EH.1.md | 4 +- contrib/bc/manuals/bc/EHN.1 | 4 +- contrib/bc/manuals/bc/EHN.1.md | 4 +- contrib/bc/manuals/bc/EN.1 | 4 +- contrib/bc/manuals/bc/EN.1.md | 4 +- contrib/bc/manuals/bc/H.1 | 4 +- contrib/bc/manuals/bc/H.1.md | 4 +- contrib/bc/manuals/bc/HN.1 | 4 +- contrib/bc/manuals/bc/HN.1.md | 4 +- contrib/bc/manuals/bc/N.1 | 4 +- contrib/bc/manuals/bc/N.1.md | 4 +- contrib/bc/manuals/bcl.3 | 4 +- contrib/bc/manuals/bcl.3.md | 4 +- contrib/bc/manuals/build.md | 2 +- contrib/bc/manuals/dc/A.1 | 4 +- contrib/bc/manuals/dc/A.1.md | 4 +- contrib/bc/manuals/dc/E.1 | 4 +- contrib/bc/manuals/dc/E.1.md | 4 +- contrib/bc/manuals/dc/EH.1 | 4 +- contrib/bc/manuals/dc/EH.1.md | 4 +- contrib/bc/manuals/dc/EHN.1 | 4 +- contrib/bc/manuals/dc/EHN.1.md | 4 +- contrib/bc/manuals/dc/EN.1 | 4 +- contrib/bc/manuals/dc/EN.1.md | 4 +- contrib/bc/manuals/dc/H.1 | 4 +- contrib/bc/manuals/dc/H.1.md | 4 +- contrib/bc/manuals/dc/HN.1 | 4 +- contrib/bc/manuals/dc/HN.1.md | 4 +- contrib/bc/manuals/dc/N.1 | 4 +- contrib/bc/manuals/dc/N.1.md | 4 +- contrib/bc/scripts/functions.sh | 82 +++++++++++++++++++++++++++++++++++ contrib/bc/scripts/locale_install.sh | 11 ++++- contrib/bc/src/data.c | 2 +- contrib/bc/tests/all.sh | 27 +++++++++++- contrib/bc/tests/bc/timeconst.sh | 18 +++++++- contrib/bc/tests/dc/scripts/easter.sh | 50 ++++++++++++++++++++- contrib/bc/tests/error.sh | 21 ++++++--- contrib/bc/tests/errors.sh | 17 +++++++- contrib/bc/tests/history.py | 2 +- contrib/bc/tests/history.sh | 18 +++++++- contrib/bc/tests/other.sh | 17 +++++++- contrib/bc/tests/read.sh | 19 ++++++-- contrib/bc/tests/script.sh | 29 +++++++++++-- contrib/bc/tests/scripts.sh | 25 ++++++++++- contrib/bc/tests/stdin.sh | 17 +++++++- contrib/bc/tests/test.sh | 23 +++++++++- usr.bin/gh-bc/Makefile | 4 +- 59 files changed, 471 insertions(+), 117 deletions(-) diff --git a/contrib/bc/LICENSE.md b/contrib/bc/LICENSE.md index 8e6b7e0b9051..b65095edc26c 100644 --- a/contrib/bc/LICENSE.md +++ b/contrib/bc/LICENSE.md @@ -1,6 +1,6 @@ # License -Copyright (c) 2018-2023 Gavin D. Howard +Copyright (c) 2018-2023 Gavin D. Howard Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -31,7 +31,7 @@ copyrights and license: Copyright (c) 2010-2014, Salvatore Sanfilippo
Copyright (c) 2010-2013, Pieter Noordhuis
Copyright (c) 2018 rain-1
-Copyright (c) 2018-2023, Gavin D. Howard +Copyright (c) 2018-2023, Gavin D. Howard Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -60,7 +60,7 @@ The files `src/rand.c` and `include/rand.h` are under the following copyrights and license: Copyright (c) 2014-2017 Melissa O'Neill and PCG Project contributors -Copyright (c) 2018-2023 Gavin D. Howard +Copyright (c) 2018-2023 Gavin D. Howard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/contrib/bc/NEWS.md b/contrib/bc/NEWS.md index 36952fdaf582..4601db456f86 100644 --- a/contrib/bc/NEWS.md +++ b/contrib/bc/NEWS.md @@ -1,5 +1,23 @@ # News +## 6.2.4 + +This is a production release that fixes a test failure that happens when +`tests/bc/scripts/timeconst.bc` doesn't exist. This should only affect +packagers. + +This bug happened because I forgot something I added in the previous release: +better error checking in tests to help packagers. Unfortunately, I was too +zealous with the error checking. + +## 6.2.3 + +This is a production release that moves `bc` to . + +That's all it does: update links. Users do ***NOT*** need to upgrade; there are +redirects that will stay in place indefinitely. This release is only for new +users. + ## 6.2.2 This is a production release that fixes a bug. diff --git a/contrib/bc/README.md b/contrib/bc/README.md index 438cab0d1694..9d395f747185 100644 --- a/contrib/bc/README.md +++ b/contrib/bc/README.md @@ -1,12 +1,12 @@ # `bc` -***WARNING: New user registration for https://git.yzena.com/ is disabled because -of spam. If you need to report a bug with `bc`, email gavin at this site minus -the `git.` part for an account, and I will create one for you. Or you can report -an issue at [GitHub][29].*** +***WARNING: New user registration for is disabled +because of spam. If you need to report a bug with `bc`, email gavin at this site +minus the `git.` part for an account, and I will create one for you. Or you can +report an issue at [GitHub][29].*** -***WARNING: This project has moved to [https://git.yzena.com/][20] for [these -reasons][21], though GitHub will remain a mirror.*** +***WARNING: This project has moved to [https://git.gavinhoward.com/][20] for +[these reasons][21], though GitHub will remain a mirror.*** This is an implementation of the [POSIX `bc` calculator][12] that implements [GNU `bc`][1] extensions, as well as the period (`.`) extension for the BSD @@ -443,6 +443,10 @@ This `bc` uses the commit message guidelines laid out in [this blog post][10]. This `bc` uses [semantic versioning][11]. +## AI-Free + +This repository is 100% AI-Free code. + ## Contents Items labeled with `(maintainer use only)` are not included in release source @@ -481,10 +485,10 @@ Folders: [10]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html [11]: http://semver.org/ [12]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html -[17]: https://git.yzena.com/gavin/vim-bc -[18]: https://git.yzena.com/gavin/bc_libs +[17]: https://git.gavinhoward.com/gavin/vim-bc +[18]: https://git.gavinhoward.com/gavin/bc_libs [19]: ./manuals/benchmarks.md -[20]: https://git.yzena.com/gavin/bc +[20]: https://git.gavinhoward.com/gavin/bc [21]: https://gavinhoward.com/2020/04/i-am-moving-away-from-github/ [22]: https://www.deepl.com/translator [23]: https://cgit.freebsd.org/src/tree/contrib/bc diff --git a/contrib/bc/gen/bc_help.txt b/contrib/bc/gen/bc_help.txt index f78ba9e71dd3..c51ba186db15 100644 --- a/contrib/bc/gen/bc_help.txt +++ b/contrib/bc/gen/bc_help.txt @@ -37,7 +37,7 @@ usage: %s [options] [file...] bc is a command-line, arbitrary-precision calculator with a Turing-complete language. For details, use `man %s` or see the online documentation at -https://git.yzena.com/gavin/bc/src/tag/%s/manuals/bc/%s.1.md. +https://git.gavinhoward.com/gavin/bc/src/tag/%s/manuals/bc/%s.1.md. This bc is compatible with both the GNU bc and the POSIX bc spec. See the GNU bc manual (https://www.gnu.org/software/bc/manual/bc.html) and bc spec diff --git a/contrib/bc/gen/dc_help.txt b/contrib/bc/gen/dc_help.txt index 8b313f8d9e07..7d9e7ec28d25 100644 --- a/contrib/bc/gen/dc_help.txt +++ b/contrib/bc/gen/dc_help.txt @@ -37,7 +37,7 @@ usage: %s [options] [file...] dc is a reverse-polish notation command-line calculator which supports unlimited precision arithmetic. For details, use `man %s` or see the online documentation -at https://git.yzena.com/gavin/bc/src/tag/%s/manuals/bc/%s.1.md. +at https://git.gavinhoward.com/gavin/bc/src/tag/%s/manuals/bc/%s.1.md. This dc is (mostly) compatible with the OpenBSD dc and the GNU dc. See the OpenBSD man page (http://man.openbsd.org/OpenBSD-current/man1/dc.1) and the GNU diff --git a/contrib/bc/gen/strgen.sh b/contrib/bc/gen/strgen.sh index 5ef66fb2d8c8..a65e221ad0b4 100755 --- a/contrib/bc/gen/strgen.sh +++ b/contrib/bc/gen/strgen.sh @@ -36,21 +36,33 @@ script="$0" scriptdir=$(dirname "$script") . "$scriptdir/../scripts/functions.sh" +# Just print the usage and exit with an error. This can receive a message to +# print. +# @param 1 A message to print. +usage() { + if [ $# -eq 1 ]; then + printf '%s\n\n' "$1" + fi + printf 'usage: %s input output exclude name [label [define [remove_tabs]]]\n' "$progname" + exit 1 +} + # See strgen.c comment on main() for what these mean. Note, however, that this # script generates a string literal, not a char array. To understand the # consequences of that, see manuals/development.md#strgenc. if [ $# -lt 3 ]; then - echo "usage: $progname input output exclude name [label [define [remove_tabs]]]" - exit 1 + usage "Not enough arguments" fi input="$1" +check_file_arg "$input" output="$2" exclude="$3" name="$4" label="$5" define="$6" remove_tabs="$7" +check_bool_arg "$remove_tabs" tmpinput=$(mktemp -t "${input##*/}_XXXXXX") diff --git a/contrib/bc/include/version.h b/contrib/bc/include/version.h index e1b72de90eef..6d8ddfea0940 100644 --- a/contrib/bc/include/version.h +++ b/contrib/bc/include/version.h @@ -37,6 +37,6 @@ #define BC_VERSION_H /// The current version. -#define VERSION 6.2.2 +#define VERSION 6.2.4 #endif // BC_VERSION_H diff --git a/contrib/bc/manuals/bc/A.1 b/contrib/bc/manuals/bc/A.1 index 629cc32c4c69..b1996a1f282e 100644 --- a/contrib/bc/manuals/bc/A.1 +++ b/contrib/bc/manuals/bc/A.1 @@ -2977,8 +2977,8 @@ Before version \f[B]6.1.0\f[R], this bc(1) had incorrect behavior for the \f[B]quit\f[R] statement. .PP No other bugs are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHORS .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/bc/A.1.md b/contrib/bc/manuals/bc/A.1.md index 40cfa5fcdad6..e7b4c8212190 100644 --- a/contrib/bc/manuals/bc/A.1.md +++ b/contrib/bc/manuals/bc/A.1.md @@ -2498,8 +2498,8 @@ This bc(1) supports error messages for different locales, and thus, it supports Before version **6.1.0**, this bc(1) had incorrect behavior for the **quit** statement. -No other bugs are known. Report bugs at https://git.yzena.com/gavin/bc . +No other bugs are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHORS -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/bc/E.1 b/contrib/bc/manuals/bc/E.1 index 89f95ef81cfa..fea1cecdc4c5 100644 --- a/contrib/bc/manuals/bc/E.1 +++ b/contrib/bc/manuals/bc/E.1 @@ -1810,8 +1810,8 @@ Before version \f[B]6.1.0\f[R], this bc(1) had incorrect behavior for the \f[B]quit\f[R] statement. .PP No other bugs are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHORS .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/bc/E.1.md b/contrib/bc/manuals/bc/E.1.md index 30451dabd64b..3631267f2dc9 100644 --- a/contrib/bc/manuals/bc/E.1.md +++ b/contrib/bc/manuals/bc/E.1.md @@ -1506,8 +1506,8 @@ This bc(1) supports error messages for different locales, and thus, it supports Before version **6.1.0**, this bc(1) had incorrect behavior for the **quit** statement. -No other bugs are known. Report bugs at https://git.yzena.com/gavin/bc . +No other bugs are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHORS -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/bc/EH.1 b/contrib/bc/manuals/bc/EH.1 index e006a5c41c84..2a36cab7f778 100644 --- a/contrib/bc/manuals/bc/EH.1 +++ b/contrib/bc/manuals/bc/EH.1 @@ -1781,8 +1781,8 @@ Before version \f[B]6.1.0\f[R], this bc(1) had incorrect behavior for the \f[B]quit\f[R] statement. .PP No other bugs are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHORS .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/bc/EH.1.md b/contrib/bc/manuals/bc/EH.1.md index 28f874c36ebe..f2f49ea76944 100644 --- a/contrib/bc/manuals/bc/EH.1.md +++ b/contrib/bc/manuals/bc/EH.1.md @@ -1480,8 +1480,8 @@ This bc(1) supports error messages for different locales, and thus, it supports Before version **6.1.0**, this bc(1) had incorrect behavior for the **quit** statement. -No other bugs are known. Report bugs at https://git.yzena.com/gavin/bc . +No other bugs are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHORS -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/bc/EHN.1 b/contrib/bc/manuals/bc/EHN.1 index e77148710255..75768a03c141 100644 --- a/contrib/bc/manuals/bc/EHN.1 +++ b/contrib/bc/manuals/bc/EHN.1 @@ -1774,8 +1774,8 @@ Before version \f[B]6.1.0\f[R], this bc(1) had incorrect behavior for the \f[B]quit\f[R] statement. .PP No other bugs are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHORS .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/bc/EHN.1.md b/contrib/bc/manuals/bc/EHN.1.md index 09288c577a5c..a38503cc8a24 100644 --- a/contrib/bc/manuals/bc/EHN.1.md +++ b/contrib/bc/manuals/bc/EHN.1.md @@ -1472,8 +1472,8 @@ use a period (**.**) as a radix point, regardless of the value of Before version **6.1.0**, this bc(1) had incorrect behavior for the **quit** statement. -No other bugs are known. Report bugs at https://git.yzena.com/gavin/bc . +No other bugs are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHORS -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/bc/EN.1 b/contrib/bc/manuals/bc/EN.1 index 99ecfd2056e2..9c0158583199 100644 --- a/contrib/bc/manuals/bc/EN.1 +++ b/contrib/bc/manuals/bc/EN.1 @@ -1803,8 +1803,8 @@ Before version \f[B]6.1.0\f[R], this bc(1) had incorrect behavior for the \f[B]quit\f[R] statement. .PP No other bugs are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHORS .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/bc/EN.1.md b/contrib/bc/manuals/bc/EN.1.md index 52bacfa5df63..28b558d8b21d 100644 --- a/contrib/bc/manuals/bc/EN.1.md +++ b/contrib/bc/manuals/bc/EN.1.md @@ -1498,8 +1498,8 @@ use a period (**.**) as a radix point, regardless of the value of Before version **6.1.0**, this bc(1) had incorrect behavior for the **quit** statement. -No other bugs are known. Report bugs at https://git.yzena.com/gavin/bc . +No other bugs are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHORS -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/bc/H.1 b/contrib/bc/manuals/bc/H.1 index 856d2c604dee..cbd93da0df81 100644 --- a/contrib/bc/manuals/bc/H.1 +++ b/contrib/bc/manuals/bc/H.1 @@ -2948,8 +2948,8 @@ Before version \f[B]6.1.0\f[R], this bc(1) had incorrect behavior for the \f[B]quit\f[R] statement. .PP No other bugs are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHORS .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/bc/H.1.md b/contrib/bc/manuals/bc/H.1.md index 4a1278dbec86..ac35def9019f 100644 --- a/contrib/bc/manuals/bc/H.1.md +++ b/contrib/bc/manuals/bc/H.1.md @@ -2472,8 +2472,8 @@ This bc(1) supports error messages for different locales, and thus, it supports Before version **6.1.0**, this bc(1) had incorrect behavior for the **quit** statement. -No other bugs are known. Report bugs at https://git.yzena.com/gavin/bc . +No other bugs are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHORS -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/bc/HN.1 b/contrib/bc/manuals/bc/HN.1 index 5356950aa68c..5893d2a7f9a9 100644 --- a/contrib/bc/manuals/bc/HN.1 +++ b/contrib/bc/manuals/bc/HN.1 @@ -2941,8 +2941,8 @@ Before version \f[B]6.1.0\f[R], this bc(1) had incorrect behavior for the \f[B]quit\f[R] statement. .PP No other bugs are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHORS .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/bc/HN.1.md b/contrib/bc/manuals/bc/HN.1.md index 8dd0674512ac..82a99addd344 100644 --- a/contrib/bc/manuals/bc/HN.1.md +++ b/contrib/bc/manuals/bc/HN.1.md @@ -2464,8 +2464,8 @@ use a period (**.**) as a radix point, regardless of the value of Before version **6.1.0**, this bc(1) had incorrect behavior for the **quit** statement. -No other bugs are known. Report bugs at https://git.yzena.com/gavin/bc . +No other bugs are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHORS -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/bc/N.1 b/contrib/bc/manuals/bc/N.1 index 517e403aa6ca..791f47407001 100644 --- a/contrib/bc/manuals/bc/N.1 +++ b/contrib/bc/manuals/bc/N.1 @@ -2970,8 +2970,8 @@ Before version \f[B]6.1.0\f[R], this bc(1) had incorrect behavior for the \f[B]quit\f[R] statement. .PP No other bugs are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHORS .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/bc/N.1.md b/contrib/bc/manuals/bc/N.1.md index 2c85180f670f..b8339ea31a5e 100644 --- a/contrib/bc/manuals/bc/N.1.md +++ b/contrib/bc/manuals/bc/N.1.md @@ -2490,8 +2490,8 @@ use a period (**.**) as a radix point, regardless of the value of Before version **6.1.0**, this bc(1) had incorrect behavior for the **quit** statement. -No other bugs are known. Report bugs at https://git.yzena.com/gavin/bc . +No other bugs are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHORS -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/bcl.3 b/contrib/bc/manuals/bcl.3 index e066103d02f4..6bebaa8f02cd 100644 --- a/contrib/bc/manuals/bcl.3 +++ b/contrib/bc/manuals/bcl.3 @@ -1446,8 +1446,8 @@ This is also true of bcl(3). .SH BUGS .PP None are known. -Report bugs at https://git.yzena.com/gavin/bc. +Report bugs at https://git.gavinhoward.com/gavin/bc. .SH AUTHORS .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/bcl.3.md b/contrib/bc/manuals/bcl.3.md index e2d92866ddbe..6c6967b44770 100644 --- a/contrib/bc/manuals/bcl.3.md +++ b/contrib/bc/manuals/bcl.3.md @@ -1230,8 +1230,8 @@ use a period (**.**) as a radix point, regardless of the value of # BUGS -None are known. Report bugs at https://git.yzena.com/gavin/bc. +None are known. Report bugs at https://git.gavinhoward.com/gavin/bc. # AUTHORS -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/build.md b/contrib/bc/manuals/build.md index 5cec45f596b4..d9c46ae22602 100644 --- a/contrib/bc/manuals/build.md +++ b/contrib/bc/manuals/build.md @@ -40,7 +40,7 @@ accepted build options. ## Windows For releases, Windows builds of `bc`, `dc`, and `bcl` are available for download -from and GitHub. +from and GitHub. However, if you wish to build it yourself, this `bc` can be built using Visual Studio or MSBuild. diff --git a/contrib/bc/manuals/dc/A.1 b/contrib/bc/manuals/dc/A.1 index 6500bf9129e2..13ed8c4cf808 100644 --- a/contrib/bc/manuals/dc/A.1 +++ b/contrib/bc/manuals/dc/A.1 @@ -1718,8 +1718,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . .SH BUGS .PP None are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHOR .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/dc/A.1.md b/contrib/bc/manuals/dc/A.1.md index 4c40e38dcee8..b656650cb820 100644 --- a/contrib/bc/manuals/dc/A.1.md +++ b/contrib/bc/manuals/dc/A.1.md @@ -1517,8 +1517,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . # BUGS -None are known. Report bugs at https://git.yzena.com/gavin/bc . +None are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHOR -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/dc/E.1 b/contrib/bc/manuals/dc/E.1 index 7f2477f10772..3fb69dfe70da 100644 --- a/contrib/bc/manuals/dc/E.1 +++ b/contrib/bc/manuals/dc/E.1 @@ -1496,8 +1496,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . .SH BUGS .PP None are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHOR .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/dc/E.1.md b/contrib/bc/manuals/dc/E.1.md index 437fc645937a..0bbe97612889 100644 --- a/contrib/bc/manuals/dc/E.1.md +++ b/contrib/bc/manuals/dc/E.1.md @@ -1341,8 +1341,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . # BUGS -None are known. Report bugs at https://git.yzena.com/gavin/bc . +None are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHOR -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/dc/EH.1 b/contrib/bc/manuals/dc/EH.1 index ba4e67507028..da7776edd538 100644 --- a/contrib/bc/manuals/dc/EH.1 +++ b/contrib/bc/manuals/dc/EH.1 @@ -1470,8 +1470,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . .SH BUGS .PP None are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHOR .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/dc/EH.1.md b/contrib/bc/manuals/dc/EH.1.md index 6d1dd78985b2..0751d3f78d21 100644 --- a/contrib/bc/manuals/dc/EH.1.md +++ b/contrib/bc/manuals/dc/EH.1.md @@ -1318,8 +1318,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . # BUGS -None are known. Report bugs at https://git.yzena.com/gavin/bc . +None are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHOR -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/dc/EHN.1 b/contrib/bc/manuals/dc/EHN.1 index 5f454d01cc2e..10ef283ea056 100644 --- a/contrib/bc/manuals/dc/EHN.1 +++ b/contrib/bc/manuals/dc/EHN.1 @@ -1466,8 +1466,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . .SH BUGS .PP None are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHOR .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/dc/EHN.1.md b/contrib/bc/manuals/dc/EHN.1.md index e3786886a035..9ba7fe13e0ad 100644 --- a/contrib/bc/manuals/dc/EHN.1.md +++ b/contrib/bc/manuals/dc/EHN.1.md @@ -1313,8 +1313,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . # BUGS -None are known. Report bugs at https://git.yzena.com/gavin/bc . +None are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHOR -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/dc/EN.1 b/contrib/bc/manuals/dc/EN.1 index 6f08fc8d3c0c..abdcbe8c63f8 100644 --- a/contrib/bc/manuals/dc/EN.1 +++ b/contrib/bc/manuals/dc/EN.1 @@ -1492,8 +1492,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . .SH BUGS .PP None are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHOR .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/dc/EN.1.md b/contrib/bc/manuals/dc/EN.1.md index b97e121e2226..5c0590c53aee 100644 --- a/contrib/bc/manuals/dc/EN.1.md +++ b/contrib/bc/manuals/dc/EN.1.md @@ -1336,8 +1336,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . # BUGS -None are known. Report bugs at https://git.yzena.com/gavin/bc . +None are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHOR -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/dc/H.1 b/contrib/bc/manuals/dc/H.1 index cc2f156205e6..c96100e51bc5 100644 --- a/contrib/bc/manuals/dc/H.1 +++ b/contrib/bc/manuals/dc/H.1 @@ -1692,8 +1692,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . .SH BUGS .PP None are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHOR .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/dc/H.1.md b/contrib/bc/manuals/dc/H.1.md index b8ad29b28a85..0dddf66d700a 100644 --- a/contrib/bc/manuals/dc/H.1.md +++ b/contrib/bc/manuals/dc/H.1.md @@ -1494,8 +1494,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . # BUGS -None are known. Report bugs at https://git.yzena.com/gavin/bc . +None are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHOR -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/dc/HN.1 b/contrib/bc/manuals/dc/HN.1 index 8d16b10a23de..a6644ecd575b 100644 --- a/contrib/bc/manuals/dc/HN.1 +++ b/contrib/bc/manuals/dc/HN.1 @@ -1688,8 +1688,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . .SH BUGS .PP None are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHOR .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/dc/HN.1.md b/contrib/bc/manuals/dc/HN.1.md index d658409b8362..d39a7497d3ac 100644 --- a/contrib/bc/manuals/dc/HN.1.md +++ b/contrib/bc/manuals/dc/HN.1.md @@ -1489,8 +1489,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . # BUGS -None are known. Report bugs at https://git.yzena.com/gavin/bc . +None are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHOR -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/manuals/dc/N.1 b/contrib/bc/manuals/dc/N.1 index 54fbadeed09c..f9aeb1acfb6c 100644 --- a/contrib/bc/manuals/dc/N.1 +++ b/contrib/bc/manuals/dc/N.1 @@ -1714,8 +1714,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . .SH BUGS .PP None are known. -Report bugs at https://git.yzena.com/gavin/bc . +Report bugs at https://git.gavinhoward.com/gavin/bc . .SH AUTHOR .PP Gavin D. -Howard and contributors. +Howard and contributors. diff --git a/contrib/bc/manuals/dc/N.1.md b/contrib/bc/manuals/dc/N.1.md index 35573c49da90..3c36661d3902 100644 --- a/contrib/bc/manuals/dc/N.1.md +++ b/contrib/bc/manuals/dc/N.1.md @@ -1512,8 +1512,8 @@ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html . # BUGS -None are known. Report bugs at https://git.yzena.com/gavin/bc . +None are known. Report bugs at https://git.gavinhoward.com/gavin/bc . # AUTHOR -Gavin D. Howard and contributors. +Gavin D. Howard and contributors. diff --git a/contrib/bc/scripts/functions.sh b/contrib/bc/scripts/functions.sh index 98cb5cf7aae0..8ae765859e51 100755 --- a/contrib/bc/scripts/functions.sh +++ b/contrib/bc/scripts/functions.sh @@ -71,6 +71,88 @@ err_exit() { exit "$2" } +# Function for checking the "d"/"dir" argument of scripts. This function expects +# a usage() function to exist in the caller. +# @param 1 The argument to check. +check_d_arg() { + + if [ "$#" -ne 1 ]; then + printf 'Invalid number of args to check_d_arg\n' + exit 1 + fi + + _check_d_arg_arg="$1" + shift + + if [ "$_check_d_arg_arg" != "bc" ] && [ "$_check_d_arg_arg" != "dc" ]; then + _check_d_arg_msg=$(printf 'Invalid d arg: %s\nMust be either "bc" or "dc".\n\n' \ + "$_check_d_arg_arg") + usage "$_check_d_arg_msg" + fi +} + +# Function for checking the boolean arguments of scripts. This function expects +# a usage() function to exist in the caller. +# @param 1 The argument to check. +check_bool_arg() { + + if [ "$#" -ne 1 ]; then + printf 'Invalid number of args to check_bool_arg\n' + exit 1 + fi + + _check_bool_arg_arg="$1" + shift + + if [ "$_check_bool_arg_arg" != "0" ] && [ "$_check_bool_arg_arg" != "1" ]; then + _check_bool_arg_msg=$(printf 'Invalid bool arg: %s\nMust be either "0" or "1".\n\n' \ + "$_check_bool_arg_arg") + usage "$_check_bool_arg_msg" + fi +} + +# Function for checking the executable arguments of scripts. This function +# expects a usage() function to exist in the caller. +# @param 1 The argument to check. +check_exec_arg() { + + if [ "$#" -ne 1 ]; then + printf 'Invalid number of args to check_exec_arg\n' + exit 1 + fi + + _check_exec_arg_arg="$1" + shift + + if [ ! -x "$_check_exec_arg_arg" ]; then + if ! command -v "$_check_exec_arg_arg" >/dev/null 2>&1; then + _check_exec_arg_msg=$(printf 'Invalid exec arg: %s\nMust be an executable file.\n\n' \ + "$_check_exec_arg_arg") + usage "$_check_exec_arg_msg" + fi + fi +} + +# Function for checking the file arguments of scripts. This function expects a +# usage() function to exist in the caller. +# @param 1 The argument to check. +check_file_arg() { + + if [ "$#" -ne 1 ]; then + printf 'Invalid number of args to check_file_arg\n' + exit 1 + fi + + _check_file_arg_arg="$1" + shift + + if [ ! -f "$_check_file_arg_arg" ]; then + _check_file_arg_msg=$(printf 'Invalid file arg: %s\nMust be a file.\n\n' \ + "$_check_file_arg_arg") + usage "$_check_file_arg_msg" + fi +} + # Check the return code on a test and exit with a fail if it's non-zero. # @param d The calculator under test. # @param err The return code. diff --git a/contrib/bc/scripts/locale_install.sh b/contrib/bc/scripts/locale_install.sh index a2d9ccda7ade..75534a735cdb 100755 --- a/contrib/bc/scripts/locale_install.sh +++ b/contrib/bc/scripts/locale_install.sh @@ -28,6 +28,7 @@ # # Just print the usage and exit with an error. +# @param 1 A message to print. usage() { if [ $# -eq 1 ]; then printf '%s\n' "$1" @@ -189,7 +190,7 @@ while getopts "l" opt; do done -test "$#" -ge 2 || usage +test "$#" -ge 2 || usage "Must have at least two arguments" nlspath="$1" shift @@ -240,11 +241,15 @@ for file in $locales_dir/*.msg; do continue fi + printf 'Installing %s...' "$locale" + # Generate the proper location for the cat file. loc=$(gen_nlspath "$destdir/$nlspath" "$locale" "$main_exec") gencatfile "$loc" "$file" + printf 'done\n' + done # Now that we have done the non-symlinks, it's time to do the symlinks. Think @@ -275,6 +280,8 @@ for file in $locales_dir/*.msg; do # Make sure to skip non-symlinks; they are already done. if [ -L "$file" ]; then + printf 'Linking %s...' "$locale" + # This song and dance is because we want to generate relative symlinks. # They take less space, but also, they are more resilient to being # moved. @@ -294,6 +301,8 @@ for file in $locales_dir/*.msg; do # Finally, symlink to the install of the generated cat file that # corresponds to the correct msg file. ln -fs "$rel" "$loc" + + printf 'done\n' fi done diff --git a/contrib/bc/src/data.c b/contrib/bc/src/data.c index 1694bb684718..284d3de7b642 100644 --- a/contrib/bc/src/data.c +++ b/contrib/bc/src/data.c @@ -71,7 +71,7 @@ const uchar dc_sig_msg_len = (uchar) (sizeof(dc_sig_msg) - 1); /// The copyright banner. const char bc_copyright[] = "Copyright (c) 2018-2023 Gavin D. Howard and contributors\n" - "Report bugs at: https://git.yzena.com/gavin/bc\n\n" + "Report bugs at: https://git.gavinhoward.com/gavin/bc\n\n" "This is free software with ABSOLUTELY NO WARRANTY.\n"; // clang-format on diff --git a/contrib/bc/tests/all.sh b/contrib/bc/tests/all.sh index 0ef8ae6cb49b..099804777c13 100755 --- a/contrib/bc/tests/all.sh +++ b/contrib/bc/tests/all.sh @@ -32,6 +32,18 @@ testdir=$(dirname "$script") . "$testdir/../scripts/functions.sh" +# Just print the usage and exit with an error. This can receive a message to +# print. +# @param 1 A message to print. +usage() { + if [ $# -eq 1 ]; then + printf '%s\n\n' "$1" + fi + print 'usage: %s [-n] dir [run_extra_tests] [run_stack_tests] [gen_tests] [run_problematic_tests] [time_tests] [exec args...]\n' \ + "$script" + exit 1 +} + # We need to figure out if we should run stuff in parallel. pll=1 @@ -48,50 +60,63 @@ done if [ "$#" -ge 1 ]; then d="$1" shift + check_d_arg "$d" else - err_exit "usage: $script [-n] dir [run_extra_tests] [run_stack_tests] [gen_tests] [run_problematic_tests] [time_tests] [exec args...]" 1 + usage "Not enough arguments" fi if [ "$#" -lt 1 ]; then extra=1 + check_bool_arg "$extra" else extra="$1" shift + check_bool_arg "$extra" *** 697 LINES SKIPPED *** From nobody Mon Feb 6 21:52:21 2023 X-Original-To: dev-commits-src-main@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 4P9g396kpqz3nStl; Mon, 6 Feb 2023 21:52: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9g3965ZQz49PV; Mon, 6 Feb 2023 21:52:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675720341; 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=g3SU2jGP3fxCit01BTt0a6hk8fy8FEkR5aIwd2tjHx4=; b=YR7L2JQLfDOpm6ib1Jeu2tAzdlG8OTlBvig8rLwD1lwRR5C4pI3lOe1WUy7VuVTr5inh/d yPL9Wq6qn2/j+GAtiQToqC4kb7CzXFP4vcvGVngGI1wl/H5K2s62LLj6A/E0HVfMDVuNrZ p2MqdNPCwGCwuV6XaY9RPMvC3rxG3p82zHCw92cpVmsQ8u9G35KLpGt38XmNimsT/payN1 9KDOLp2UECYckxKrut7SDsD598o3abjGP8h/2wazRiKopyWuZZR9XfhF6TJapnrl84cYRq P79LmkmrIXC1HdQRML90Rsy3uQuILFn34yvF+aeFWke1NMRqRrbwaxcpAQVg2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675720341; 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=g3SU2jGP3fxCit01BTt0a6hk8fy8FEkR5aIwd2tjHx4=; b=ZHjnyAsHWXULy+or/k/ptIY4slUHLYdAixEmNDLiwAjACYLpXWx9kWKnKen8RH+Uifuakf aClsKzsmyEEsvzIrLWh1ssbjhpX3+PGqSDTP7kHC3vXKKmkOerQDrUXvvED/ZVXz2eeNrH jIjwYtavlbEc8R//iGX/OvtVHpvHgIDcYnVJrMisolWUE2+Ph0YvOHdCN4r3+Xb+tkXFZo sPdJHGqWaHzHKeO1ULkdbdWJB7S5ZPpBSEYC6ezHaMDzXxolaBG+cUCato1goK2R8xZomX rHOPAn1kZTxon/Wfm4zQ3lkKK+f9gMb8KgVR4VPIGeYjZRJmf3hLqmVHLvEbew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675720341; a=rsa-sha256; cv=none; b=B5vBRJIMlwbc2y/YmmwV7hCK7pYcP7P66zyjkcFqgr92Og8eh5mzl5UKzTH2FQFEhj6ZbC EiHArgrJ4ZgMt4GJ+ES3v1hWTjtlq7d1eTzo4OqtEIDkWNM0RVx2voYhF0jylQ8jvScfdb fAxvbtV7VO834wd9c2Tgf0u8KiGk+LumJtM0LaNYzBL/GDEuwFW8/q29ypWnZgjqC+bSuk pGKfQDJK6aUhVINh967BIheDeekwNog3CmVvyLjYMjyezlcbZJGMkp+V16HyJWJQIP1Ij3 95ObDAr7GCOwfPAseqroDkXRgCzPxnPdxqDOA47/FAbOP2mB7gPtsQrUPkdj8A== 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 4P9g3959N9zrdV; Mon, 6 Feb 2023 21:52:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316LqLOH020766; Mon, 6 Feb 2023 21:52:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316LqLdG020765; Mon, 6 Feb 2023 21:52:21 GMT (envelope-from git) Date: Mon, 6 Feb 2023 21:52:21 GMT Message-Id: <202302062152.316LqLdG020765@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 70efe1a2fe13 - main - ccr,ccp: Fix argument order to sglist_append_vmpages. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 70efe1a2fe13642732e56c7f040fe63f62bc6a6b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=70efe1a2fe13642732e56c7f040fe63f62bc6a6b commit 70efe1a2fe13642732e56c7f040fe63f62bc6a6b Author: John Baldwin AuthorDate: 2023-02-06 21:51:57 +0000 Commit: John Baldwin CommitDate: 2023-02-06 21:51:57 +0000 ccr,ccp: Fix argument order to sglist_append_vmpages. The offset comes before the byte count. Reported by: br Reviewed by: asomers, markj MFC after: 1 week Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38375 --- sys/crypto/ccp/ccp.c | 2 +- sys/dev/cxgbe/crypto/t4_crypto.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/crypto/ccp/ccp.c b/sys/crypto/ccp/ccp.c index 3f2b89545e8f..543ac3c2a913 100644 --- a/sys/crypto/ccp/ccp.c +++ b/sys/crypto/ccp/ccp.c @@ -112,7 +112,7 @@ ccp_populate_sglist(struct sglist *sg, struct crypto_buffer *cb) break; case CRYPTO_BUF_VMPAGE: error = sglist_append_vmpages(sg, cb->cb_vm_page, - cb->cb_vm_page_len, cb->cb_vm_page_offset); + cb->cb_vm_page_offset, cb->cb_vm_page_len); break; default: error = EINVAL; diff --git a/sys/dev/cxgbe/crypto/t4_crypto.c b/sys/dev/cxgbe/crypto/t4_crypto.c index c4d0bbf868a9..a60540c7fb40 100644 --- a/sys/dev/cxgbe/crypto/t4_crypto.c +++ b/sys/dev/cxgbe/crypto/t4_crypto.c @@ -296,7 +296,7 @@ ccr_populate_sglist(struct sglist *sg, struct crypto_buffer *cb) break; case CRYPTO_BUF_VMPAGE: error = sglist_append_vmpages(sg, cb->cb_vm_page, - cb->cb_vm_page_len, cb->cb_vm_page_offset); + cb->cb_vm_page_offset, cb->cb_vm_page_len); break; default: error = EINVAL; From nobody Mon Feb 6 21:55:14 2023 X-Original-To: dev-commits-src-main@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 4P9g6W2RSjz3nTTb; Mon, 6 Feb 2023 21:55: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9g6W1skDz4BJ6; Mon, 6 Feb 2023 21:55:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675720515; 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=86/DhkwOLf18y3gbJWAi1RiO4Rn2l0lUg7AejEqYk9k=; b=wF4jVG/lu/xY52XqS5uocJHdfMIwiL2bKKN94obkdmONUEX7oDre1pjJEpNewHKGRimm3j stCBHRyY7ncJCX5v1bmUXGaOe8l8JYptCCTHM0Bn1xSrzToDlxJ/cdweRL4KwvmWOmlg+2 KIKjKW0H3qvP6nQ0gnDN+P0llPKCN2Mlfn+3eY4W0a+U7SEf4IL8MwUVQJewDrDm5+QlIP dKZP4mfGkKmkvHuRlQttJyDQZkM8D3kea3lue0Vji9cz8CWHsoYltt8fUUTRDyjE6snDn9 fxw71sixUj5funFb+zjRjd1LoVYQwhd5GuyzT8QVC8LZ9ooFzkCor23l9qzmYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675720515; 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=86/DhkwOLf18y3gbJWAi1RiO4Rn2l0lUg7AejEqYk9k=; b=uzdk1gN/aDbmpFnkmAWa1T04HJ4TglqrXxoEFPjVxyL5nEKW79ZFFTQs7WBsCtObuk5KQE 0HjhX4TbetVqwFB9sV8FfcjMEBKC2QS7AN49FkWN48Nmspu1k6MFnSNS7k8LN8QRWGdxUN KksxrOSq62belmswfy6Xoy914FQn9KwKtUZQQHXtm34wXPX8akcQDGsQqmaeyYp2/ER6tz 1oRe7ftsh9Wz53d8xqix0NuE5Pmr5XEr+ucJqtEZ8+aTojmqzwOy+MyHgo74VW11tynz5B iU69+TiZR3p+u8N62uGI0E0G94W2AqO0wjklzvJYFAQmn49sFwVbfuBP+pW7nw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675720515; a=rsa-sha256; cv=none; b=BgsoN+d3PQZEDHvBLyWTvhgMPH19bgfqPW9ke5BD14QX4XKnF/E4IMrcpwAN3ZLZgENgus wt8nhz7MR6es+DTmVbgvxoAaDGAkhNRsEyR4P0cCuSgmZ7imN1RnG+TtH96jE6SWJ3tzAO oP2ULS1D2WDYM0u8qsOto7drDxZn55Q9REfv7BbCmJ1kn7trFKHMjdAfFRorWPrWZYVUeF C4VX3UinQnzXv3VNoeWq4K734fBH7OoHjNTA+a2g+WoP7cZuEQIUogBKHxw5Yab/3nwQnR 0krbn80RMy4aPXytcu2HMsW51MaxxsWfUYM+dHrkdJjRL2bDNh6zUYlvvMLxMA== 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 4P9g6W0ws1zrwl; Mon, 6 Feb 2023 21:55:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316LtFnZ021300; Mon, 6 Feb 2023 21:55:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316LtEog021297; Mon, 6 Feb 2023 21:55:14 GMT (envelope-from git) Date: Mon, 6 Feb 2023 21:55:14 GMT Message-Id: <202302062155.316LtEog021297@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: f374ba41f55c - main - ssh: update to OpenSSH 9.2p1 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: f374ba41f55c1a127303d92d830dd58eef2f5243 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f374ba41f55c1a127303d92d830dd58eef2f5243 commit f374ba41f55c1a127303d92d830dd58eef2f5243 Merge: 70efe1a2fe13 7ee81174ca89 Author: Ed Maste AuthorDate: 2023-02-06 21:54:56 +0000 Commit: Ed Maste CommitDate: 2023-02-06 21:54:56 +0000 ssh: update to OpenSSH 9.2p1 Release notes are available at https://www.openssh.com/txt/release-9.2 OpenSSH 9.2 contains fixes for two security problems and a memory safety problem. The memory safety problem is not believed to be exploitable. These fixes have already been committed to OpenSSH 9.1 in FreeBSD. Some other notable items from the release notes: * ssh(1): add a new EnableEscapeCommandline ssh_config(5) option that controls whether the client-side ~C escape sequence that provides a command-line is available. Among other things, the ~C command-line could be used to add additional port-forwards at runtime. * sshd(8): add support for channel inactivity timeouts via a new sshd_config(5) ChannelTimeout directive. This allows channels that have not seen traffic in a configurable interval to be automatically closed. Different timeouts may be applied to session, X11, agent and TCP forwarding channels. * sshd(8): add a sshd_config UnusedConnectionTimeout option to terminate client connections that have no open channels for a length of time. This complements the ChannelTimeout option above. * sshd(8): add a -V (version) option to sshd like the ssh client has. * scp(1), sftp(1): add a -X option to both scp(1) and sftp(1) to allow control over some SFTP protocol parameters: the copy buffer length and the number of in-flight requests, both of which are used during upload/download. Previously these could be controlled in sftp(1) only. This makes them available in both SFTP protocol clients using the same option character sequence. * ssh-keyscan(1): allow scanning of complete CIDR address ranges, e.g. "ssh-keyscan 192.168.0.0/24". If a CIDR range is passed, then it will be expanded to all possible addresses in the range including the all-0s and all-1s addresses. bz#976 * ssh(1): support dynamic remote port forwarding in escape command-line's -R processing. bz#3499 MFC after: 1 week Sponsored by: The FreeBSD Foundation crypto/openssh/.depend | 8 +- crypto/openssh/.github/ci-status.md | 12 +- crypto/openssh/.github/configs | 43 +- crypto/openssh/.github/setup_ci.sh | 19 +- crypto/openssh/.github/workflows/c-cpp.yml | 155 +- crypto/openssh/.github/workflows/cifuzz.yml | 32 + crypto/openssh/.github/workflows/selfhosted.yml | 94 +- crypto/openssh/.github/workflows/upstream.yml | 29 +- crypto/openssh/.skipped-commit-ids | 2 + crypto/openssh/ChangeLog | 15052 +++++++++---------- crypto/openssh/INSTALL | 2 +- crypto/openssh/Makefile.in | 9 +- crypto/openssh/PROTOCOL | 4 +- crypto/openssh/README | 2 +- crypto/openssh/README.md | 3 +- crypto/openssh/aclocal.m4 | 4 +- crypto/openssh/addr.c | 73 +- crypto/openssh/addr.h | 4 + crypto/openssh/auth-pam.c | 16 +- crypto/openssh/auth-rhosts.c | 4 +- crypto/openssh/auth.c | 11 +- crypto/openssh/channels.c | 246 +- crypto/openssh/channels.h | 24 +- crypto/openssh/clientloop.c | 171 +- crypto/openssh/config.guess | 1206 +- crypto/openssh/config.h | 3 + crypto/openssh/config.sub | 674 +- crypto/openssh/configure.ac | 84 +- crypto/openssh/contrib/redhat/openssh.spec | 2 +- crypto/openssh/contrib/suse/openssh.spec | 2 +- crypto/openssh/crypto_api.h | 4 +- crypto/openssh/ed25519.c | 2048 ++- crypto/openssh/ed25519.sh | 119 + crypto/openssh/entropy.c | 34 - crypto/openssh/fe25519.c | 337 - crypto/openssh/fe25519.h | 70 - crypto/openssh/ge25519.c | 321 - crypto/openssh/ge25519.h | 43 - crypto/openssh/ge25519_base.data | 858 -- crypto/openssh/install-sh | 422 +- crypto/openssh/kex.c | 6 +- crypto/openssh/misc.c | 97 +- crypto/openssh/misc.h | 11 +- crypto/openssh/moduli | 843 +- crypto/openssh/monitor_wrap.c | 3 +- crypto/openssh/mux.c | 6 +- crypto/openssh/openbsd-compat/arc4random.c | 12 +- crypto/openssh/openbsd-compat/arc4random.h | 10 + crypto/openssh/openbsd-compat/bsd-getentropy.c | 7 +- crypto/openssh/openbsd-compat/bsd-poll.c | 38 +- crypto/openssh/openbsd-compat/bsd-poll.h | 25 +- crypto/openssh/openbsd-compat/bsd-timegm.c | 52 +- crypto/openssh/openbsd-compat/getrrsetbyname.c | 12 +- crypto/openssh/openbsd-compat/openbsd-compat.h | 5 +- crypto/openssh/openbsd-compat/regress/Makefile.in | 7 +- .../openbsd-compat/regress/opensslvertest.c | 2 + crypto/openssh/readconf.c | 14 +- crypto/openssh/readconf.h | 4 +- crypto/openssh/regress/Makefile | 7 +- crypto/openssh/regress/agent-getpeereid.sh | 11 +- crypto/openssh/regress/agent-ptrace.sh | 1 + crypto/openssh/regress/channel-timeout.sh | 91 + crypto/openssh/regress/connection-timeout.sh | 87 + crypto/openssh/regress/dynamic-forward.sh | 127 +- crypto/openssh/regress/hostbased.sh | 4 +- crypto/openssh/regress/krl.sh | 6 +- crypto/openssh/regress/multiplex.sh | 3 +- crypto/openssh/regress/percent.sh | 20 +- crypto/openssh/regress/reexec.sh | 4 +- crypto/openssh/regress/scp-uri.sh | 4 +- crypto/openssh/regress/scp.sh | 51 +- crypto/openssh/regress/scp3.sh | 10 +- crypto/openssh/regress/test-exec.sh | 14 +- crypto/openssh/regress/unittests/hostkeys/Makefile | 4 +- crypto/openssh/regress/unittests/kex/Makefile | 6 +- .../openssh/regress/unittests/kex/test_proposal.c | 83 + crypto/openssh/regress/unittests/kex/tests.c | 4 +- .../openssh/regress/unittests/misc/test_ptimeout.c | 85 + crypto/openssh/regress/unittests/misc/tests.c | 4 +- crypto/openssh/regress/unittests/sshkey/Makefile | 4 +- .../openssh/regress/unittests/sshkey/test_sshkey.c | 4 +- crypto/openssh/regress/unittests/sshsig/Makefile | 4 +- crypto/openssh/regress/yes-head.sh | 4 +- crypto/openssh/sandbox-seccomp-filter.c | 5 +- crypto/openssh/sc25519.c | 308 - crypto/openssh/sc25519.h | 80 - crypto/openssh/scp.1 | 29 +- crypto/openssh/scp.c | 163 +- crypto/openssh/servconf.c | 138 +- crypto/openssh/servconf.h | 10 +- crypto/openssh/serverloop.c | 98 +- crypto/openssh/session.c | 27 +- crypto/openssh/session.h | 4 +- crypto/openssh/sftp-client.c | 25 +- crypto/openssh/sftp-glob.c | 34 +- crypto/openssh/sftp-server.c | 4 +- crypto/openssh/sftp.1 | 18 +- crypto/openssh/sftp.c | 36 +- crypto/openssh/sntrup761.c | 44 +- crypto/openssh/sntrup761.sh | 5 +- crypto/openssh/ssh-agent.1 | 27 +- crypto/openssh/ssh-agent.c | 9 +- crypto/openssh/ssh-dss.c | 284 +- crypto/openssh/ssh-ecdsa-sk.c | 170 +- crypto/openssh/ssh-ecdsa.c | 318 +- crypto/openssh/ssh-ed25519-sk.c | 139 +- crypto/openssh/ssh-ed25519.c | 181 +- crypto/openssh/ssh-keygen.c | 3 +- crypto/openssh/ssh-keyscan.1 | 24 +- crypto/openssh/ssh-keyscan.c | 46 +- crypto/openssh/ssh-rsa.c | 352 +- crypto/openssh/ssh-sk-helper.c | 3 +- crypto/openssh/ssh-xmss.c | 228 +- crypto/openssh/ssh.1 | 5 +- crypto/openssh/ssh.c | 42 +- crypto/openssh/ssh_config.5 | 19 +- crypto/openssh/ssh_namespace.h | 111 +- crypto/openssh/sshbuf.c | 27 +- crypto/openssh/sshbuf.h | 26 +- crypto/openssh/sshconnect.c | 9 +- crypto/openssh/sshd.8 | 8 +- crypto/openssh/sshd.c | 30 +- crypto/openssh/sshd_config | 2 +- crypto/openssh/sshd_config.5 | 104 +- crypto/openssh/sshkey-xmss.c | 4 +- crypto/openssh/sshkey-xmss.h | 4 +- crypto/openssh/sshkey.c | 1993 +-- crypto/openssh/sshkey.h | 82 +- crypto/openssh/verify.c | 49 - crypto/openssh/version.h | 6 +- secure/lib/libssh/Makefile | 2 +- 131 files changed, 15622 insertions(+), 13755 deletions(-) diff --cc crypto/openssh/.github/workflows/cifuzz.yml index 000000000000,7ca8c4719b61..7ca8c4719b61 mode 000000,100644..100644 --- a/crypto/openssh/.github/workflows/cifuzz.yml +++ b/crypto/openssh/.github/workflows/cifuzz.yml diff --cc crypto/openssh/INSTALL index 1c9abb1c3a86,000000000000..77b56a9bb734 mode 100644,000000..100644 --- a/crypto/openssh/INSTALL +++ b/crypto/openssh/INSTALL @@@ -1,297 -1,0 +1,297 @@@ +1. Prerequisites +---------------- + +A C compiler. Any C89 or better compiler that supports variadic macros +should work. Where supported, configure will attempt to enable the +compiler's run-time integrity checking options. Some notes about +specific compilers: + - clang: -ftrapv and -sanitize=integer require the compiler-rt runtime + (CC=clang LDFLAGS=--rtlib=compiler-rt ./configure) + +To support Privilege Separation (which is now required) you will need +to create the user, group and directory used by sshd for privilege +separation. See README.privsep for details. + + +The remaining items are optional. + +A working installation of zlib: +Zlib 1.1.4 or 1.2.1.2 or greater (earlier 1.2.x versions have problems): - http://www.gzip.org/zlib/ ++https://zlib.net/ + +libcrypto from either of LibreSSL or OpenSSL. Building without libcrypto +is supported but severely restricts the available ciphers and algorithms. + - LibreSSL (https://www.libressl.org/) + - OpenSSL (https://www.openssl.org) with any of the following versions: + - 1.0.x >= 1.0.1 or 1.1.0 >= 1.1.0g or any 1.1.1 + +Note that due to a bug in EVP_CipherInit OpenSSL 1.1 versions prior to +1.1.0g can't be used. + +LibreSSL/OpenSSL should be compiled as a position-independent library +(i.e. -fPIC, eg by configuring OpenSSL as "./config [options] -fPIC" +or LibreSSL as "CFLAGS=-fPIC ./configure") otherwise OpenSSH will not +be able to link with it. If you must use a non-position-independent +libcrypto, then you may need to configure OpenSSH --without-pie. + +If you build either from source, running the OpenSSL self-test ("make +tests") or the LibreSSL equivalent ("make check") and ensuring that all +tests pass is strongly recommended. + +NB. If you operating system supports /dev/random, you should configure +libcrypto (LibreSSL/OpenSSL) to use it. OpenSSH relies on libcrypto's +direct support of /dev/random, or failing that, either prngd or egd. + +PRNGD: + +If your system lacks kernel-based random collection, the use of Lutz +Jaenicke's PRNGd is recommended. It requires that libcrypto be configured +to support it. + +http://prngd.sourceforge.net/ + +EGD: + +The Entropy Gathering Daemon (EGD) supports the same interface as prngd. +It also supported only if libcrypto is configured to support it. + +http://egd.sourceforge.net/ + +PAM: + +OpenSSH can utilise Pluggable Authentication Modules (PAM) if your +system supports it. PAM is standard most Linux distributions, Solaris, +HP-UX 11, AIX >= 5.2, FreeBSD, NetBSD and Mac OS X. + +Information about the various PAM implementations are available: + +Solaris PAM: http://www.sun.com/software/solaris/pam/ +Linux PAM: http://www.kernel.org/pub/linux/libs/pam/ +OpenPAM: http://www.openpam.org/ + +If you wish to build the GNOME passphrase requester, you will need the GNOME +libraries and headers. + +GNOME: +http://www.gnome.org/ + +Alternatively, Jim Knoble has written an excellent X11 +passphrase requester. This is maintained separately at: + +http://www.jmknoble.net/software/x11-ssh-askpass/ + +TCP Wrappers: + +If you wish to use the TCP wrappers functionality you will need at least +tcpd.h and libwrap.a, either in the standard include and library paths, +or in the directory specified by --with-tcp-wrappers. Version 7.6 is +known to work. + +http://ftp.porcupine.org/pub/security/index.html + +LibEdit: + +sftp supports command-line editing via NetBSD's libedit. If your platform +has it available natively you can use that, alternatively you might try +these multi-platform ports: + +http://www.thrysoee.dk/editline/ +http://sourceforge.net/projects/libedit/ + +LDNS: + +LDNS is a DNS BSD-licensed resolver library which supports DNSSEC. + +http://nlnetlabs.nl/projects/ldns/ + +Autoconf: + +If you modify configure.ac or configure doesn't exist (eg if you checked +the code out of git yourself) then you will need autoconf-2.69 and +automake-1.16.1 to rebuild the automatically generated files by running +"autoreconf". Earlier versions may also work but this is not guaranteed. + +http://www.gnu.org/software/autoconf/ +http://www.gnu.org/software/automake/ + +Basic Security Module (BSM): + +Native BSM support is known to exist in Solaris from at least 2.5.1, +FreeBSD 6.1 and OS X. Alternatively, you may use the OpenBSM +implementation (http://www.openbsm.org). + +makedepend: + +https://www.x.org/archive/individual/util/ + +If you are making significant changes to the code you may need to rebuild +the dependency (.depend) file using "make depend", which requires the +"makedepend" tool from the X11 distribution. + +libfido2: + +libfido2 allows the use of hardware security keys over USB. libfido2 +in turn depends on libcbor. libfido2 >= 1.5.0 is strongly recommended. +Limited functionality is possible with earlier libfido2 versions. + +https://github.com/Yubico/libfido2 +https://github.com/pjk/libcbor + + +2. Building / Installation +-------------------------- + +To install OpenSSH with default options: + +./configure +make +make install + +This will install the OpenSSH binaries in /usr/local/bin, configuration files +in /usr/local/etc, the server in /usr/local/sbin, etc. To specify a different +installation prefix, use the --prefix option to configure: + +./configure --prefix=/opt +make +make install + +Will install OpenSSH in /opt/{bin,etc,lib,sbin}. You can also override +specific paths, for example: + +./configure --prefix=/opt --sysconfdir=/etc/ssh +make +make install + +This will install the binaries in /opt/{bin,lib,sbin}, but will place the +configuration files in /etc/ssh. + +If you are using PAM, you may need to manually install a PAM control +file as "/etc/pam.d/sshd" (or wherever your system prefers to keep +them). Note that the service name used to start PAM is __progname, +which is the basename of the path of your sshd (e.g., the service name +for /usr/sbin/osshd will be osshd). If you have renamed your sshd +executable, your PAM configuration may need to be modified. + +A generic PAM configuration is included as "contrib/sshd.pam.generic", +you may need to edit it before using it on your system. If you are +using a recent version of Red Hat Linux, the config file in +contrib/redhat/sshd.pam should be more useful. Failure to install a +valid PAM file may result in an inability to use password +authentication. On HP-UX 11 and Solaris, the standard /etc/pam.conf +configuration will work with sshd (sshd will match the other service +name). + +There are a few other options to the configure script: + +--with-audit=[module] enable additional auditing via the specified module. +Currently, drivers for "debug" (additional info via syslog) and "bsm" +(Sun's Basic Security Module) are supported. + +--with-pam enables PAM support. If PAM support is compiled in, it must +also be enabled in sshd_config (refer to the UsePAM directive). + +--with-prngd-socket=/some/file allows you to enable EGD or PRNGD +support and to specify a PRNGd socket. Use this if your Unix lacks +/dev/random. + +--with-prngd-port=portnum allows you to enable EGD or PRNGD support +and to specify a EGD localhost TCP port. Use this if your Unix lacks +/dev/random. + +--with-lastlog=FILE will specify the location of the lastlog file. +./configure searches a few locations for lastlog, but may not find +it if lastlog is installed in a different place. + +--without-lastlog will disable lastlog support entirely. + +--with-osfsia, --without-osfsia will enable or disable OSF1's Security +Integration Architecture. The default for OSF1 machines is enable. + +--with-tcp-wrappers will enable TCP Wrappers (/etc/hosts.allow|deny) +support. + +--with-utmpx enables utmpx support. utmpx support is automatic for +some platforms. + +--without-shadow disables shadow password support. + +--with-ipaddr-display forces the use of a numeric IP address in the +$DISPLAY environment variable. Some broken systems need this. + +--with-default-path=PATH allows you to specify a default $PATH for sessions +started by sshd. This replaces the standard path entirely. + +--with-pid-dir=PATH specifies the directory in which the sshd.pid file is +created. + +--with-xauth=PATH specifies the location of the xauth binary + +--with-ssl-dir=DIR allows you to specify where your Libre/OpenSSL +libraries are installed. + +--with-ssl-engine enables Libre/OpenSSL's (hardware) ENGINE support + +--without-openssl builds without using OpenSSL. Only a subset of ciphers +and algorithms are supported in this configuration. + +--without-zlib builds without zlib. This disables the Compression option. + +--with-4in6 Check for IPv4 in IPv6 mapped addresses and convert them to +real (AF_INET) IPv4 addresses. Works around some quirks on Linux. + +If you need to pass special options to the compiler or linker, you +can specify these as environment variables before running ./configure. +For example: + +CC="/usr/foo/cc" CFLAGS="-O" LDFLAGS="-s" LIBS="-lrubbish" ./configure + +3. Configuration +---------------- + +The runtime configuration files are installed by in ${prefix}/etc or +whatever you specified as your --sysconfdir (/usr/local/etc by default). + +The default configuration should be instantly usable, though you should +review it to ensure that it matches your security requirements. + +To generate a host key, run "make host-key". Alternately you can do so +manually using the following commands: + + ssh-keygen -t [type] -f /etc/ssh/ssh_host_key -N "" + +for each of the types you wish to generate (rsa, dsa or ecdsa) or + + ssh-keygen -A + +to generate keys for all supported types. + +Replacing /etc/ssh with the correct path to the configuration directory. +(${prefix}/etc or whatever you specified with --sysconfdir during +configuration). + +If you have configured OpenSSH with EGD/prngd support, ensure that EGD or +prngd is running and has collected some entropy first. + +For more information on configuration, please refer to the manual pages +for sshd, ssh and ssh-agent. + +4. (Optional) Send survey +------------------------- + +$ make survey +[check the contents of the file "survey" to ensure there's no information +that you consider sensitive] +$ make send-survey + +This will send configuration information for the currently configured +host to a survey address. This will help determine which configurations +are actually in use, and what valid combinations of configure options +exist. The raw data is available only to the OpenSSH developers, however +summary data may be published. + +5. Problems? +------------ + +If you experience problems compiling, installing or running OpenSSH, +please refer to the "reporting bugs" section of the webpage at +https://www.openssh.com/ diff --cc crypto/openssh/README.md index 04e3a5198a91,000000000000..3da933817989 mode 100644,000000..100644 --- a/crypto/openssh/README.md +++ b/crypto/openssh/README.md @@@ -1,86 -1,0 +1,85 @@@ +# Portable OpenSSH + +[![C/C++ CI](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml/badge.svg)](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml) +[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh) + +OpenSSH is a complete implementation of the SSH protocol (version 2) for secure remote login, command execution and file transfer. It includes a client ``ssh`` and server ``sshd``, file transfer utilities ``scp`` and ``sftp`` as well as tools for key generation (``ssh-keygen``), run-time key storage (``ssh-agent``) and a number of supporting programs. + +This is a port of OpenBSD's [OpenSSH](https://openssh.com) to most Unix-like operating systems, including Linux, OS X and Cygwin. Portable OpenSSH polyfills OpenBSD APIs that are not available elsewhere, adds sshd sandboxing for more operating systems and includes support for OS-native authentication and auditing (e.g. using PAM). + +## Documentation + +The official documentation for OpenSSH are the man pages for each tool: + +* [ssh(1)](https://man.openbsd.org/ssh.1) +* [sshd(8)](https://man.openbsd.org/sshd.8) +* [ssh-keygen(1)](https://man.openbsd.org/ssh-keygen.1) +* [ssh-agent(1)](https://man.openbsd.org/ssh-agent.1) +* [scp(1)](https://man.openbsd.org/scp.1) +* [sftp(1)](https://man.openbsd.org/sftp.1) +* [ssh-keyscan(8)](https://man.openbsd.org/ssh-keyscan.8) +* [sftp-server(8)](https://man.openbsd.org/sftp-server.8) + +## Stable Releases + +Stable release tarballs are available from a number of [download mirrors](https://www.openssh.com/portable.html#downloads). We recommend the use of a stable release for most users. Please read the [release notes](https://www.openssh.com/releasenotes.html) for details of recent changes and potential incompatibilities. + +## Building Portable OpenSSH + +### Dependencies + +Portable OpenSSH is built using autoconf and make. It requires a working C compiler, standard library and headers. + +``libcrypto`` from either [LibreSSL](https://www.libressl.org/) or [OpenSSL](https://www.openssl.org) may also be used. OpenSSH may be built without either of these, but the resulting binaries will have only a subset of the cryptographic algorithms normally available. + +[zlib](https://www.zlib.net/) is optional; without it transport compression is not supported. + - FIDO security token support needs [libfido2](https://github.com/Yubico/libfido2) and its dependencies. ++FIDO security token support needs [libfido2](https://github.com/Yubico/libfido2) and its dependencies and will be enabled automatically if they are found. + +In addition, certain platforms and build-time options may require additional dependencies; see README.platform for details about your platform. + +### Building a release + +Releases include a pre-built copy of the ``configure`` script and may be built using: + +``` +tar zxvf openssh-X.YpZ.tar.gz +cd openssh +./configure # [options] +make && make tests +``` + +See the [Build-time Customisation](#build-time-customisation) section below for configure options. If you plan on installing OpenSSH to your system, then you will usually want to specify destination paths. + +### Building from git + +If building from git, you'll need [autoconf](https://www.gnu.org/software/autoconf/) installed to build the ``configure`` script. The following commands will check out and build portable OpenSSH from git: + +``` +git clone https://github.com/openssh/openssh-portable # or https://anongit.mindrot.org/openssh.git +cd openssh-portable +autoreconf +./configure +make && make tests +``` + +### Build-time Customisation + +There are many build-time customisation options available. All Autoconf destination path flags (e.g. ``--prefix``) are supported (and are usually required if you want to install OpenSSH). + +For a full list of available flags, run ``./configure --help`` but a few of the more frequently-used ones are described below. Some of these flags will require additional libraries and/or headers be installed. + +Flag | Meaning +--- | --- +``--with-pam`` | Enable [PAM](https://en.wikipedia.org/wiki/Pluggable_authentication_module) support. [OpenPAM](https://www.openpam.org/), [Linux PAM](http://www.linux-pam.org/) and Solaris PAM are supported. +``--with-libedit`` | Enable [libedit](https://www.thrysoee.dk/editline/) support for sftp. +``--with-kerberos5`` | Enable Kerberos/GSSAPI support. Both [Heimdal](https://www.h5l.org/) and [MIT](https://web.mit.edu/kerberos/) Kerberos implementations are supported. +``--with-selinux`` | Enable [SELinux](https://en.wikipedia.org/wiki/Security-Enhanced_Linux) support. - ``--with-security-key-builtin`` | Include built-in support for U2F/FIDO2 security keys. This requires [libfido2](https://github.com/Yubico/libfido2) be installed. + +## Development + +Portable OpenSSH development is discussed on the [openssh-unix-dev mailing list](https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev) ([archive mirror](https://marc.info/?l=openssh-unix-dev)). Bugs and feature requests are tracked on our [Bugzilla](https://bugzilla.mindrot.org/). + +## Reporting bugs + +_Non-security_ bugs may be reported to the developers via [Bugzilla](https://bugzilla.mindrot.org/) or via the mailing list above. Security bugs should be reported to [openssh@openssh.com](mailto:openssh.openssh.com). diff --cc crypto/openssh/auth.c index 3e6b75c7bc62,000000000000..93610963f3b3 mode 100644,000000..100644 --- a/crypto/openssh/auth.c +++ b/crypto/openssh/auth.c @@@ -1,881 -1,0 +1,880 @@@ - /* $OpenBSD: auth.c,v 1.158 2022/06/03 04:47:21 djm Exp $ */ ++/* $OpenBSD: auth.c,v 1.159 2022/12/09 00:17:40 dtucker Exp $ */ +/* + * Copyright (c) 2000 Markus Friedl. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "includes.h" + +#include +#include +#include +#include + +#include + +#include +#include +#include +#ifdef HAVE_PATHS_H +# include +#endif +#include +#ifdef HAVE_LOGIN_H +#include +#endif +#ifdef USE_SHADOW +#include +#endif +#include +#include +#include +#include +#include +#include +#include + +#include "xmalloc.h" +#include "match.h" +#include "groupaccess.h" +#include "log.h" +#include "sshbuf.h" +#include "misc.h" +#include "servconf.h" +#include "sshkey.h" +#include "hostfile.h" +#include "auth.h" +#include "auth-options.h" +#include "canohost.h" +#include "uidswap.h" +#include "packet.h" +#include "loginrec.h" +#ifdef GSSAPI +#include "ssh-gss.h" +#endif +#include "authfile.h" +#include "monitor_wrap.h" +#include "ssherr.h" +#include "compat.h" +#include "channels.h" +#include "blacklist_client.h" + +/* import */ +extern ServerOptions options; +extern struct include_list includes; +extern int use_privsep; +extern struct sshbuf *loginmsg; +extern struct passwd *privsep_pw; +extern struct sshauthopt *auth_opts; + +/* Debugging messages */ +static struct sshbuf *auth_debug; + +/* + * Check if the user is allowed to log in via ssh. If user is listed + * in DenyUsers or one of user's groups is listed in DenyGroups, false + * will be returned. If AllowUsers isn't empty and user isn't listed + * there, or if AllowGroups isn't empty and one of user's groups isn't + * listed there, false will be returned. + * If the user's shell is not executable, false will be returned. + * Otherwise true is returned. + */ +int +allowed_user(struct ssh *ssh, struct passwd * pw) +{ + struct stat st; + const char *hostname = NULL, *ipaddr = NULL; + u_int i; + int r; + + /* Shouldn't be called if pw is NULL, but better safe than sorry... */ + if (!pw || !pw->pw_name) + return 0; + + if (!options.use_pam && platform_locked_account(pw)) { + logit("User %.100s not allowed because account is locked", + pw->pw_name); + return 0; + } + + /* + * Deny if shell does not exist or is not executable unless we + * are chrooting. + */ + if (options.chroot_directory == NULL || + strcasecmp(options.chroot_directory, "none") == 0) { + char *shell = xstrdup((pw->pw_shell[0] == '\0') ? + _PATH_BSHELL : pw->pw_shell); /* empty = /bin/sh */ + + if (stat(shell, &st) == -1) { + logit("User %.100s not allowed because shell %.100s " + "does not exist", pw->pw_name, shell); + free(shell); + return 0; + } + if (S_ISREG(st.st_mode) == 0 || + (st.st_mode & (S_IXOTH|S_IXUSR|S_IXGRP)) == 0) { + logit("User %.100s not allowed because shell %.100s " + "is not executable", pw->pw_name, shell); + free(shell); + return 0; + } + free(shell); + } + + if (options.num_deny_users > 0 || options.num_allow_users > 0 || + options.num_deny_groups > 0 || options.num_allow_groups > 0) { + hostname = auth_get_canonical_hostname(ssh, options.use_dns); + ipaddr = ssh_remote_ipaddr(ssh); + } + + /* Return false if user is listed in DenyUsers */ + if (options.num_deny_users > 0) { + for (i = 0; i < options.num_deny_users; i++) { + r = match_user(pw->pw_name, hostname, ipaddr, + options.deny_users[i]); + if (r < 0) { + fatal("Invalid DenyUsers pattern \"%.100s\"", + options.deny_users[i]); + } else if (r != 0) { + logit("User %.100s from %.100s not allowed " + "because listed in DenyUsers", + pw->pw_name, hostname); + return 0; + } + } + } + /* Return false if AllowUsers isn't empty and user isn't listed there */ + if (options.num_allow_users > 0) { + for (i = 0; i < options.num_allow_users; i++) { + r = match_user(pw->pw_name, hostname, ipaddr, + options.allow_users[i]); + if (r < 0) { + fatal("Invalid AllowUsers pattern \"%.100s\"", + options.allow_users[i]); + } else if (r == 1) + break; + } + /* i < options.num_allow_users iff we break for loop */ + if (i >= options.num_allow_users) { + logit("User %.100s from %.100s not allowed because " + "not listed in AllowUsers", pw->pw_name, hostname); + return 0; + } + } + if (options.num_deny_groups > 0 || options.num_allow_groups > 0) { + /* Get the user's group access list (primary and supplementary) */ + if (ga_init(pw->pw_name, pw->pw_gid) == 0) { + logit("User %.100s from %.100s not allowed because " + "not in any group", pw->pw_name, hostname); + return 0; + } + + /* Return false if one of user's groups is listed in DenyGroups */ + if (options.num_deny_groups > 0) + if (ga_match(options.deny_groups, + options.num_deny_groups)) { + ga_free(); + logit("User %.100s from %.100s not allowed " + "because a group is listed in DenyGroups", + pw->pw_name, hostname); + return 0; + } + /* + * Return false if AllowGroups isn't empty and one of user's groups + * isn't listed there + */ + if (options.num_allow_groups > 0) + if (!ga_match(options.allow_groups, + options.num_allow_groups)) { + ga_free(); + logit("User %.100s from %.100s not allowed " + "because none of user's groups are listed " + "in AllowGroups", pw->pw_name, hostname); + return 0; + } + ga_free(); + } + +#ifdef CUSTOM_SYS_AUTH_ALLOWED_USER + if (!sys_auth_allowed_user(pw, loginmsg)) + return 0; +#endif + + /* We found no reason not to let this user try to log on... */ + return 1; +} + +/* + * Formats any key left in authctxt->auth_method_key for inclusion in + * auth_log()'s message. Also includes authxtct->auth_method_info if present. + */ +static char * +format_method_key(Authctxt *authctxt) +{ + const struct sshkey *key = authctxt->auth_method_key; + const char *methinfo = authctxt->auth_method_info; + char *fp, *cafp, *ret = NULL; + + if (key == NULL) + return NULL; + + if (sshkey_is_cert(key)) { + fp = sshkey_fingerprint(key, + options.fingerprint_hash, SSH_FP_DEFAULT); + cafp = sshkey_fingerprint(key->cert->signature_key, + options.fingerprint_hash, SSH_FP_DEFAULT); + xasprintf(&ret, "%s %s ID %s (serial %llu) CA %s %s%s%s", + sshkey_type(key), fp == NULL ? "(null)" : fp, + key->cert->key_id, + (unsigned long long)key->cert->serial, + sshkey_type(key->cert->signature_key), + cafp == NULL ? "(null)" : cafp, + methinfo == NULL ? "" : ", ", + methinfo == NULL ? "" : methinfo); + free(fp); + free(cafp); + } else { + fp = sshkey_fingerprint(key, options.fingerprint_hash, + SSH_FP_DEFAULT); + xasprintf(&ret, "%s %s%s%s", sshkey_type(key), + fp == NULL ? "(null)" : fp, + methinfo == NULL ? "" : ", ", + methinfo == NULL ? "" : methinfo); + free(fp); + } + return ret; +} + +void +auth_log(struct ssh *ssh, int authenticated, int partial, + const char *method, const char *submethod) +{ + Authctxt *authctxt = (Authctxt *)ssh->authctxt; + int level = SYSLOG_LEVEL_VERBOSE; + const char *authmsg; + char *extra = NULL; + + if (use_privsep && !mm_is_monitor() && !authctxt->postponed) + return; + + /* Raise logging level */ + if (authenticated == 1 || + !authctxt->valid || + authctxt->failures >= options.max_authtries / 2 || + strcmp(method, "password") == 0) + level = SYSLOG_LEVEL_INFO; + + if (authctxt->postponed) + authmsg = "Postponed"; + else if (partial) + authmsg = "Partial"; + else { + authmsg = authenticated ? "Accepted" : "Failed"; + if (authenticated) + BLACKLIST_NOTIFY(ssh, BLACKLIST_AUTH_OK, "ssh"); + } + + if ((extra = format_method_key(authctxt)) == NULL) { + if (authctxt->auth_method_info != NULL) + extra = xstrdup(authctxt->auth_method_info); + } + + do_log2(level, "%s %s%s%s for %s%.100s from %.200s port %d ssh2%s%s", + authmsg, + method, + submethod != NULL ? "/" : "", submethod == NULL ? "" : submethod, + authctxt->valid ? "" : "invalid user ", + authctxt->user, + ssh_remote_ipaddr(ssh), + ssh_remote_port(ssh), + extra != NULL ? ": " : "", + extra != NULL ? extra : ""); + + free(extra); + +#if defined(CUSTOM_FAILED_LOGIN) || defined(SSH_AUDIT_EVENTS) + if (authenticated == 0 && !(authctxt->postponed || partial)) { + /* Log failed login attempt */ +# ifdef CUSTOM_FAILED_LOGIN + if (strcmp(method, "password") == 0 || + strncmp(method, "keyboard-interactive", 20) == 0 || + strcmp(method, "challenge-response") == 0) + record_failed_login(ssh, authctxt->user, + auth_get_canonical_hostname(ssh, options.use_dns), "ssh"); +# endif +# ifdef SSH_AUDIT_EVENTS + audit_event(ssh, audit_classify_auth(method)); +# endif + } +#endif +#if defined(CUSTOM_FAILED_LOGIN) && defined(WITH_AIXAUTHENTICATE) + if (authenticated) + sys_auth_record_login(authctxt->user, + auth_get_canonical_hostname(ssh, options.use_dns), "ssh", + loginmsg); +#endif +} + +void +auth_maxtries_exceeded(struct ssh *ssh) +{ + Authctxt *authctxt = (Authctxt *)ssh->authctxt; + + error("maximum authentication attempts exceeded for " + "%s%.100s from %.200s port %d ssh2", + authctxt->valid ? "" : "invalid user ", + authctxt->user, + ssh_remote_ipaddr(ssh), + ssh_remote_port(ssh)); + ssh_packet_disconnect(ssh, "Too many authentication failures"); + /* NOTREACHED */ +} + +/* + * Check whether root logins are disallowed. + */ +int +auth_root_allowed(struct ssh *ssh, const char *method) +{ + switch (options.permit_root_login) { + case PERMIT_YES: + return 1; + case PERMIT_NO_PASSWD: + if (strcmp(method, "publickey") == 0 || + strcmp(method, "hostbased") == 0 || + strcmp(method, "gssapi-with-mic") == 0) + return 1; + break; + case PERMIT_FORCED_ONLY: + if (auth_opts->force_command != NULL) { + logit("Root login accepted for forced command."); + return 1; + } + break; + } + logit("ROOT LOGIN REFUSED FROM %.200s port %d", + ssh_remote_ipaddr(ssh), ssh_remote_port(ssh)); + return 0; +} + + +/* + * Given a template and a passwd structure, build a filename + * by substituting % tokenised options. Currently, %% becomes '%', + * %h becomes the home directory and %u the username. + * + * This returns a buffer allocated by xmalloc. + */ +char * +expand_authorized_keys(const char *filename, struct passwd *pw) *** 17886 LINES SKIPPED *** From nobody Mon Feb 6 21:58:29 2023 X-Original-To: dev-commits-src-main@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 4P9gBF5gzlz3nTZg; Mon, 6 Feb 2023 21:58:29 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9gBF5Fvfz4CfC; Mon, 6 Feb 2023 21:58:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675720709; 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=wNbtiBsaO41Mgkx85eOEKtai3k1TwJhlz/zax/Eth2k=; b=nYQUL3u38va9ZSzESlDXbh4segEO+sa4taNu0gdEvTVR4Zg55qDgo4KqL4iHQJUqANtvGP 7SM6Vhv9YillqwE84z3cif8uUltx8gwtImAPnvIyxX3B4rL5oMujTvLcEGLxQ9SrYsxwJY X7SGIEwnuuyszInri19kug7hP32ASLxdD9x16/sakxXoj++qlzIpagWKaOZy5An4m+nA1c sI9GhYA2HBSFmNkCr+FpMBfoSZlK20l3xJyahbmVv5ZpUwwn6F6KFpIw6BWSqf5UTLgMEA M1XmWTRvGjKoa6zFWOFN0IycNXReiPLWF/Ck2iXaKi4YgVqUnuz8I8kU9DKMkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675720709; 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=wNbtiBsaO41Mgkx85eOEKtai3k1TwJhlz/zax/Eth2k=; b=RL+j4GL2YHDl2c8TqYOq3oBqIlKl0cOQ//1NTNvEpWUMVGBbh9YP0lnOCTziqKzKMOVC7v 6X1cMCU409L8JTcolrhaTEKfUdjg8GnXDWeh4Q7akxW/jpZn+ncrCasODJCSvxnHMcuHVb 745KT2wmIeTANcoRJnlRb28qHXas8LhiO5kcPO3OtpYi8JCwMk58e4OeWap/H+aCV0ggiW yC3s7wPTuqKCmYxfvnm8rn6SNBONmUSp31iz/q84/8p2GDTVdP2LoHgeXSCMcqgvJ0Fif4 de4FrqyM/9WIVjHKQfQFqjA1Br+MPePrGRz0tL0u6iu1lr8F9RwOaRTjtnJ6TQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675720709; a=rsa-sha256; cv=none; b=ydfwvUrPp4DxP80E8Dmu87fkHWUZg++F0Wee/39aQ8q+YTT6QhZALfS5WpzMN1aTcthzvS grf7gzIpnMNaev6V84DrFgFCASAU4o+OqX7whdndCVyW8m9QqbyTC5KtHj/gsAj23pRTAh 9ymUSBHLh+duxjPn2k27Mvj0vtpSAyKNr8fg/e+dDuSggPPrhKwS0apTebolRVKWqY8HYs 7Q/R+YANH0AGCLfkpFVWjnHBN55NuX2oLpsA6dYzQAfkTAcY+S8HUcMDjvNkLC//RqMEMm E8IkMqQCr7mHYxX3vFNp74fJJSuoDlhc92svHebi6G+Z3RkeuzKtax4yde1IfQ== 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 4P9gBF4JdFzrdy; Mon, 6 Feb 2023 21:58:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316LwTQj021797; Mon, 6 Feb 2023 21:58:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316LwTkY021796; Mon, 6 Feb 2023 21:58:29 GMT (envelope-from git) Date: Mon, 6 Feb 2023 21:58:29 GMT Message-Id: <202302062158.316LwTkY021796@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 393b0ba25f1a - main - LinuxKPI: return an address string in pci_name() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 393b0ba25f1a54dcc3f94244933c665f1c471d1a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=393b0ba25f1a54dcc3f94244933c665f1c471d1a commit 393b0ba25f1a54dcc3f94244933c665f1c471d1a Author: Val Packett AuthorDate: 2023-02-06 21:50:13 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-02-06 21:56:39 +0000 LinuxKPI: return an address string in pci_name() amdgpu's virtual display feature uses pci_name() to match a module parameter string, and the documentation shows an example of `0000:26:00.0` for the name. In our case the name was just `drmn`, which is not actually unique across devices. The other consumers are wireless drivers, which will benefit from this change. Generate the expected string for pci_name() to return. Related to: https://github.com/freebsd/drm-kmod/issues/134 Sponsored by: https://www.patreon.com/valpackett Reviewed by: bz, hselasky, manu (earlier) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D34248 --- sys/compat/linuxkpi/common/include/linux/pci.h | 4 ++-- sys/compat/linuxkpi/common/src/linux_pci.c | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index 596241525904..c9ebdf546696 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -334,6 +334,7 @@ struct pci_dev { phys_addr_t rom; size_t romlen; struct msi_desc **msi_desc; + char *path_name; TAILQ_HEAD(, pci_mmio_region) mmio; }; @@ -454,8 +455,7 @@ pci_resource_flags(struct pci_dev *pdev, int bar) static inline const char * pci_name(struct pci_dev *d) { - - return device_get_desc(d->dev.bsddev); + return d->path_name; } static inline void * diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 9db95e1f337d..0d9b2827365f 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -307,6 +307,9 @@ lkpifill_pci_dev(device_t dev, struct pci_dev *pdev) pdev->subsystem_device = pci_get_subdevice(dev); pdev->class = pci_get_class(dev); pdev->revision = pci_get_revid(dev); + pdev->path_name = kasprintf(GFP_KERNEL, "%04d:%02d:%02d.%d", + pci_get_domain(dev), pci_get_bus(dev), pci_get_slot(dev), + pci_get_function(dev)); pdev->bus = malloc(sizeof(*pdev->bus), M_DEVBUF, M_WAITOK | M_ZERO); /* * This should be the upstream bridge; pci_upstream_bridge() @@ -350,6 +353,7 @@ lkpinew_pci_dev_release(struct device *dev) free(pdev->msi_desc[i], M_DEVBUF); free(pdev->msi_desc, M_DEVBUF); } + kfree(pdev->path_name); free(pdev, M_DEVBUF); } From nobody Mon Feb 6 22:05:21 2023 X-Original-To: dev-commits-src-main@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 4P9gLF3j74z3nTXq; Mon, 6 Feb 2023 22:05:25 +0000 (UTC) (envelope-from se@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9gLF2sjvz4Fbc; Mon, 6 Feb 2023 22:05:25 +0000 (UTC) (envelope-from se@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675721125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0i5FpuvEjonuhGNAn0OfXcGbnLRO06wpIiRhy2QaekM=; b=eitTivYCj4sH3Z8IRm8jmAEHPKEfF25E/9kFN0TY/W57eVv81fuU6IWfzGwM1jT0FSvNKe ZgSb87mJaoPrwgz2sGGf+sT3tcX50aPY80l00r2SjVpQ3PoZgBXzbQVmop//hI7gqUk2Ma LBbTboOJavlFO+unIufsD9dHpWaLy1ZRHotLWBHI2fjNh+MLYxy9sWW6E8p1TURzYstQzw HsxJ8vSxa7c+qDV288TCiN016qNRwHAcJVoGUcnC1Sew4g+SFtyOYB26ySoT/EtUpgCpOx nWT1/ccL17k/zRlT1Hb/IdXl/hSJ+HRVz+AS1WEJA27dKE5V5FVR1uWMDpSAzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675721125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0i5FpuvEjonuhGNAn0OfXcGbnLRO06wpIiRhy2QaekM=; b=hWxJUtuBV7SAtpG/090C0zdSrx/zEZFZ+H+V+AWSWTbbfLRAHLYSVOZXMRlTz0ol1pNETY FdZfFaMbpwkbDrsAJ/N/3TqR00N8wLyPLak4zZicbxAuJoT4mAPJ5f4gpr7awKKFl7/USx k3385xBIOj0SJcOb163WB3VVXR7iTx7moupFNYFzTBPZ4sItIiOzNKK/jIUCkYN+O8ylTw 0iBhtKtMFsTNg9cj653TNU9XmOEBC9o0qwDOcxznPjaoh6bUqP4VbZxTkI/QUgOmBNPV+M W/GE4BOgffCsmVX3UYOZ7G3BiuYEIuJG/nEqQIZIKXx5ifDcqO5X4+mOUdSBOQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675721125; a=rsa-sha256; cv=none; b=us+xiPUk0taQ1xX/6tYjTZfPjjC3ms1ZdtBLDiRyU7OcaWGcytO5sW7vd5szILU5aAebIl rVV3njziiTT6QpQYR67v9NEGshCvn2nYMrC9lTvjzjDEWTxX5Hr4bA9gc9iJN5lAeYAxQH BTOhBvnaXfPvp631mAoOXnq/XXC5AmFOaqBBSEk2vrKB2/AruZfEJws2FO3k4O+WR6oJxz LTg8xP0ierIhoWTiTjM3Z1rZ/LAer4FOPYBPHDbBFjhU5WKGEjG3vItWAg8cIJ8h+IipHY DussD9kSmTLOdttY7xmMKnVDjIgcyoJvhhKulyk6Zqv8q/D/rK13D+RsT2I3BQ== Received: from [IPV6:2003:cd:5f2a:1000:9003:bde5:29b4:7117] (p200300cd5f2a10009003bde529b47117.dip0.t-ipconnect.de [IPv6:2003:cd:5f2a:1000:9003:bde5:29b4:7117]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: se/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P9gLD1TMqz1QLm; Mon, 6 Feb 2023 22:05:24 +0000 (UTC) (envelope-from se@freebsd.org) Message-ID: Date: Mon, 6 Feb 2023 23:05:21 +0100 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 From: =?UTF-8?Q?Stefan_E=c3=9fer?= Subject: Please approve the fix to the keymap code to let it go into 13.2 ... Content-Language: de-DE, en-US To: Warner Losh , Jessica Clarke , Emmanuel Vadot Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" References: <202302011630.311GUmt1068106@gitrepo.freebsd.org> <84830C1A-149F-4B05-99DC-1E0B50C8B59A@freebsd.org> <297c877d-2a2f-70cf-604c-e458634cb068@FreeBSD.org> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ThisMailContainsUnwantedMimeParts: N Am 04.02.23 um 16:19 schrieb Warner Losh: [...] > The ioctl handler in kbd/kbd.c has been extended in the same > way as had been used to support 32 bit key codes in the main > key map (with similar backwards compatibility code). > > Support of kbdcontrol built with the patched kbio.h on an old > kernel could be added to kbdcontrol.c - but we do not support > running a new user land on an old kernel, in general. (The > old kbdcontrol on a new kernel could load the normal keymap, > but the dead key map would be ignored.) > > > "In general" is true. However, this case is on the edge of being > one that we should do, based on how hard it is. You run into > needing this if you boot an old kernel because the new kernel > is broken on your hardware, but you've already done an install > world (this happens, even for people that follow the rules sometimes > for problems that aren't fatal to boot, but may be too crashy > to build a new kernel). Since this affects one's ability to interact > with the system with non-standard keyboards, how hard would > it be to retain the old code as a fallback if the new ioctl fails to > work? If it's quite hard, then we can skip it. If it isn't too hard, > please consider it...  Also, what's the behavior of the failure? I have created review D38388 (https://reviews.freebsd.org/D38388) to make kbdcontrol fall back to the old ioctl() invocation when executed on an old kernel. Without this patch, kbdcontrol can load the "normal" key codes when run on an old kernel, but the dead key table will not be loaded or displayed (i.e. accented characters defined in the dead key table will not be accessible on the console). I'd appreciate approval of the patches, and would apply D38381 first and D38388 on top to allow it to be reverted after a grace period (of a length to be determined). I have tested all combinations of the kernel and userland patches and verified correct results. But it may already be too late to get these patches into 13-STABLE before 13.2 is tagged. These patches fix an issue that affects some people (with accented characters above 255). The keymaps with dead key combinations that generate character codes above 255 are: centraleuropean.kbd centraleuropean.qwerty.kbd cz.kbd fr.bepo.kbd gr.101.acc.kbd gr.elot.acc.kbd gr.kbd sk.kbd Regards, STefan From nobody Mon Feb 6 22:19:38 2023 X-Original-To: dev-commits-src-main@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 4P9gfh50JKz3nVSZ; Mon, 6 Feb 2023 22:19:40 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9gfh4NJBz4GSX; Mon, 6 Feb 2023 22:19:40 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675721980; 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: in-reply-to:in-reply-to:references:references; bh=YgRQBQXqOqq6M/YVsC+wBxQP8+CA9BM+OVHgaViv6/I=; b=W4vCiXodM3HO9CPU8fBbTDuHmuxEWcOGu40FQavRMLRhiCpGT4johFeU8Ui39AI5UsSDSH KIQjv9r8C7lEt9zm/RhD65d/AEIfl0hAMQKfJqsCdk7iAM1kK1HtLy1aS5H9YUnGJztsH/ +xt1YyadkLuHapR7Ew4cXgNUfNAemK31mNQ0MFHBL9YKfZyQRMp5SrMg3kQV6tWuZ5fnZg DpQycDmMCwiHqipy8jYUT9BKooma2fbZ0UemyAFHvQPuhgTL3idSfP0nD/B0DUJ2y5W8k1 LByflg/TqF4ONmSkDdEqqgCLDC9Qupcmd/Zc5c+DIMJGFFUU78mraNieh9KaWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675721980; 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: in-reply-to:in-reply-to:references:references; bh=YgRQBQXqOqq6M/YVsC+wBxQP8+CA9BM+OVHgaViv6/I=; b=SId1XrDOGCIaG93+ANNuK0Uui8djEdIowfk0FNYdnUCPqiMWQfDgTpwF2KwFTq2sScEbYH KfTo8GPeOiw6F4Nh3EqrgampoDlK4Pm0UI+xfW1jtJ3AlpmybVgxbplbmokDXzx+hAzGZF voEh3KjjQeyOtX8NZRFNS5bJ7R8UxYARqlUj/Ap0T9FpVavd1gzEJu6gkHYL/PbRCos9gz SK1DhyaIcy90O4hVfOsxC1aJE4jXNqiIfnqcKoeKcOS9+tdqDEE+3EpSW5wine1ZVAjX5i BRxcbK1/zcZ+jpOLDG/levGH8LaTMP+IBZgNuzEBgUJ3poDL9aEJeGmLI/LjQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675721980; a=rsa-sha256; cv=none; b=Hl4olq4tIEWXHrWIkWDJVEhtjw5bkHUrenntZQ6f7jhWCvkAsZMbrs08Y2IvhpSAXPlxwX XY1pVvvdQSb87pOGqAJK/ad7NiAnhC0rPT78WeHFS8ohO7Uj5/XFzRGB10lxza3LnjaWgs QtB8OFOuZnz1F2vcxaXtA+J6oB3msRCAmVxcE47o06wZO5XJ7Z7kujBIdboURYAnZDRUo+ exYWsmXQBLX7jXqBZ1eCasrFENTJz/ilz/U4rnBa76sveLksWWZJOuQMMGQj9M+gmCyvqH XhPo4tprnhMEAqu+zRH185ygv9zDI3m/nA+7P1ptpoHJT4NCb2pUPJq4r5GkmQ== Received: from [10.0.1.4] (ralph.baldwin.cx [66.234.199.215]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P9gfg6CBkz1RKP; Mon, 6 Feb 2023 22:19:39 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <3e74025f-eedf-7ca2-a5a0-b3971dfdfe30@FreeBSD.org> Date: Mon, 6 Feb 2023 14:19:38 -0800 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Content-Language: en-US To: "Bjoern A. Zeeb" , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202211281724.2ASHOxU9080511@gitrepo.freebsd.org> From: John Baldwin Subject: Re: git: 0fce2dc15730 - main - LinuxKPI,lindebugfs: add u8 base type and blob support In-Reply-To: <202211281724.2ASHOxU9080511@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On 11/28/22 9:24 AM, Bjoern A. Zeeb wrote: > The branch main has been updated by bz: > > URL: https://cgit.FreeBSD.org/src/commit/?id=0fce2dc1573019d0732f33fa7c26cc228655d3e8 > > commit 0fce2dc1573019d0732f33fa7c26cc228655d3e8 > Author: Bjoern A. Zeeb > AuthorDate: 2022-10-22 18:12:16 +0000 > Commit: Bjoern A. Zeeb > CommitDate: 2022-11-28 17:21:50 +0000 > > LinuxKPI,lindebugfs: add u8 base type and blob support > > Add debugfs_create_u8() based on other already present implementations. > Add a read-only implementation for debugfs_create_blob(). > > Both are needed for iwlwifi debugfs support. This passes kernel pointers to copyout because debugfs is kind of broken due to quirks in how linux file operations are implemented. > Sponsored by: The FreeBSD Foundation > MFC after: 3 days > OKed by: jfree (earlier version) > Differential Revision: https://reviews.freebsd.org/D37090 > --- > sys/compat/lindebugfs/lindebugfs.c | 66 ++++++++++++++++++++++ > sys/compat/linuxkpi/common/include/linux/debugfs.h | 11 +++- > 2 files changed, 76 insertions(+), 1 deletion(-) > > diff --git a/sys/compat/lindebugfs/lindebugfs.c b/sys/compat/lindebugfs/lindebugfs.c > index b88caf9c3140..b72ceb5e0be9 100644 > --- a/sys/compat/lindebugfs/lindebugfs.c > +++ b/sys/compat/lindebugfs/lindebugfs.c > @@ -394,6 +423,43 @@ debugfs_create_ulong(const char *name, umode_t mode, struct dentry *parent, unsi > &fops_ulong_ro, &fops_ulong_wo); > } > > + > +static ssize_t > +fops_blob_read(struct file *filp, char __user *ubuf, size_t read_size, loff_t *ppos) This is not actually a __user pointer. Note that simple_attr_read/write use plain pointers. The only invocations of this function are in debugfs_fill: rc = -ENODEV; if (uio->uio_rw == UIO_READ && d->dm_fops->read) { rc = -ENOMEM; buf = (char *) malloc(sb->s_size, M_DFSINT, M_ZERO | M_NOWAIT); if (buf != NULL) { rc = d->dm_fops->read(&lf, buf, sb->s_size, &off); if (rc > 0) sbuf_bcpy(sb, buf, strlen(buf)); free(buf, M_DFSINT); } } else if (uio->uio_rw == UIO_WRITE && d->dm_fops->write) { sbuf_finish(sb); rc = d->dm_fops->write(&lf, sbuf_data(sb), sbuf_len(sb), &off); } > +{ > + struct debugfs_blob_wrapper *blob; > + > + blob = filp->private_data; > + if (blob == NULL) > + return (-EINVAL); > + if (blob->size == 0 || blob->data == NULL) > + return (-EINVAL); > + > + return (simple_read_from_buffer(ubuf, read_size, ppos, blob->data, blob->size)); > +} This means you can't use simple_read_from_buffer() here as it is a wrapper around copyout. At least some architectures fail copyout calls where the user pointer is a kernel pointer (e.g. arm64 and RISC-V). I haven't looked if amd64 has the misfeature of letting it work. I'll have to fix this for CheriBSD downstream, but I'll try to post a review using an inlined version of simple_read_from_buffer that just uses memcpy directly. -- John Baldwin From nobody Mon Feb 6 22:29:19 2023 X-Original-To: dev-commits-src-main@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 4P9gsw5Sm4z3nW3x; Mon, 6 Feb 2023 22:29:24 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9gsw4vFZz4Hnh; Mon, 6 Feb 2023 22:29:24 +0000 (UTC) (envelope-from bz@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675722564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=xHaeG5+ThS1ZG8El+01gjxAE+tewxLZjbbgu9pnyGXw=; b=SLBLapwHfFTiHU4E5Nk1i497Gt/W04VZ8EUXtuG9BOfSZkau4N5am6zLibTFPwo55so6fu K8vfnASp3PI2c8qXe8RC39Ee03hpl2qCAnWiwJ937prUMhpk2FYuT2Xxcei8L//gOmziyc wVlD5Iu8YrpYLWAkUnjksVRsgzi/EVCNfMGPE07mcOw4GJ4Q76ve9daMVk0oupbDsKj/o2 xmUu5/uo+kxI8brzUEFcVGZHz2KeI/phQe57/tu8kXsrXdLYJTPkpkGcycx5LuO9N9ws3x IM/bfVfwkVNlop/Pd7LVdS1WbrqgJRL+GH0R8yll8FrwZh6aoifC++NspXx4YA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675722564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=xHaeG5+ThS1ZG8El+01gjxAE+tewxLZjbbgu9pnyGXw=; b=vPl2CbynJkyoxIjVyLpCTAxrbompc7JIElwhd4UgcxKjOIRKp8P6o2r/Z3L1t+5Gzsg19H LzDAv5vWwR2aORmrUutGn/aaacyDwBCzs/31QcgQMHbyKFAQG7x1t6b04CYF/nix3VUzGB SdnhmoyvUP+eU1mJX2q0HeUIOeTrRpcBbH4ntqhPsFevFVQBY89kNVDejCsc5dKpcBDYHb XRnW8L3PUW2/OBLs62HPnTy7PdluEc9AmuMsZvC+t/4nY2BeT1KhJ0+VDtMpp7Gx2fsIKK OIuhDn/t2iqhOCGayjK+6CqY+sRaD3hwJPhAzU/4EZhQcjA70/L0A9f2VfVtqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675722564; a=rsa-sha256; cv=none; b=XNRUav6a18ZqDvxjnwI8WbudajVBKbR9dm9XUgAo+/wsir4+bCho561n+h5EUroRqWGDox KF7Wu/dUfC8k91n7ypp5LHUFtQcGuPxJhgGnR9/703W2Azlb0k4E1GzaFOEH7neHe1m8oe PygOOaVFCmsxhKF+9M/vlkDFV0WeqQ6Vv8QdGKZ/f1PMb3ufSvN8a8aQIzp4xsYbEX6YDD 5KysZxImEBf9BxfhX/YsftVLZptlyy9q0h+J6gvOyKnXCXPvGz34YFO6r8PaCiW8erWT96 HTb0DVdHzDd1U2GAjKWAcdH580vhg9XGx+1exSWqg/0I6hm2exUy9WE5AU/+kw== Received: from mx1.sbone.de (cross.sbone.de [195.201.62.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE Root Certificate Authority" (not verified)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P9gsw330Mz1RKc; Mon, 6 Feb 2023 22:29:24 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 1010C8D4A15D; Mon, 6 Feb 2023 22:29:22 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (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) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 584325C3A833; Mon, 6 Feb 2023 22:29:22 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id MzcIJouHH30X; Mon, 6 Feb 2023 22:29:20 +0000 (UTC) Received: from strong-iwl0.sbone.de (strong-iwl0.sbone.de [IPv6:fde9:577b:c1a9:4902:b66b:fcff:fef3:e3d2]) (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) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 51D4C5C3A830; Mon, 6 Feb 2023 22:29:20 +0000 (UTC) Date: Mon, 6 Feb 2023 22:29:19 +0000 (UTC) From: "Bjoern A. Zeeb" To: John Baldwin cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 0fce2dc15730 - main - LinuxKPI,lindebugfs: add u8 base type and blob support In-Reply-To: <3e74025f-eedf-7ca2-a5a0-b3971dfdfe30@FreeBSD.org> Message-ID: References: <202211281724.2ASHOxU9080511@gitrepo.freebsd.org> <3e74025f-eedf-7ca2-a5a0-b3971dfdfe30@FreeBSD.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-ThisMailContainsUnwantedMimeParts: N On Mon, 6 Feb 2023, John Baldwin wrote: Hi John, > On 11/28/22 9:24 AM, Bjoern A. Zeeb wrote: >> The branch main has been updated by bz: >> >> URL: >> https://cgit.FreeBSD.org/src/commit/?id=0fce2dc1573019d0732f33fa7c26cc228655d3e8 >> >> commit 0fce2dc1573019d0732f33fa7c26cc228655d3e8 >> Author: Bjoern A. Zeeb >> AuthorDate: 2022-10-22 18:12:16 +0000 >> Commit: Bjoern A. Zeeb >> CommitDate: 2022-11-28 17:21:50 +0000 >> >> LinuxKPI,lindebugfs: add u8 base type and blob support >> Add debugfs_create_u8() based on other already present >> implementations. >> Add a read-only implementation for debugfs_create_blob(). >> Both are needed for iwlwifi debugfs support. > > This passes kernel pointers to copyout because debugfs is kind of broken due > to > quirks in how linux file operations are implemented. I'll take this offline with you and jfree@ as there's also another open review for similar reasons and confusions. We should get the larger picture fixed. /bz -- Bjoern A. Zeeb r15:7 From nobody Mon Feb 6 22:34:53 2023 X-Original-To: dev-commits-src-main@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 4P9h0F3nV7z3nWMD; Mon, 6 Feb 2023 22:34: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9h0F3J9gz4JZp; Mon, 6 Feb 2023 22:34:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675722893; 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=RKGcjO+I/xw4/jiodBTShdVCRA4/cV0HRFRyc32cL+8=; b=ANHmy3BM06JZHHcvBvQYJbqcl0HNaa5m1Awdn6Zl429vzH145uiL/LbAVZwfc14CElJOo4 sUoEuhV7t9tY2ylVwOF1ADjM7EjLDDgvACyv2eH5X0jMpzQ3sX4+yNG3oVhFIJrXmv7KhA P8x70kgAJSrkVrF5ryG6skI4wD+HChLQ+Ggurlt2lKfQeJqZhypxIXQGBP4m/aR57Zo54s Eeyi5IR1BGUgmjHbbIPKToAe6yLFfEuGluijox5Hp+hbLlNtU4/lJLooaA0+HvFTZ57h3N XuhegW63vfB2G+QykXDnx+J3ScqMJhVV3F+it0BS9Sx/9vNh+YSDCZX4/CCEcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675722893; 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=RKGcjO+I/xw4/jiodBTShdVCRA4/cV0HRFRyc32cL+8=; b=T2tgymB6E0luCgNUaof3st6GPJ1CV0dFOp/lucM963CZTcV5Wirgi3XkpG/p11aIypTLsu So5SPNQ1TGjW4c+85OeHNp/CUbw/VyWjbfqVsUMdHh9sZodY7LrrEIM1068WQYlyer7DCs NLLfSzvPabh7TJXkaj5aRGT2CWDd1qMI65m8pcMo4k7PHN5JwwvLcmdvW+P5X0Hkwwkbvz 4N9JBFFjs4bBTkTo7jAO4SstAgVLqgObBALRluE6cPhWRDeIEkVkujuqChOxWDUtxakGR/ gzcx/wxgFIo9z4vPMTaur1VpKbSeor5QC4EOabs7NBdTx+hVck0U/G9zHXTOjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675722893; a=rsa-sha256; cv=none; b=paYbeJ9PCcqLaCOHap1e7gemSBG4YeF71wMh9HaKGGUstd+dO0lmgu7jd6ZCLTSNrxMlW5 MFw/RhAUYEOopkQwV6EdKYL5SSCLikaYC8Y8XdArary2uzYY2Kp2sOGrJjRcrWqGjMcgef bhj3wlOs+OFZEMR2Nz2kXQgF2GGmU58YwpaJwSprmAcxe2YpKd7bEYdsiv6p7sGX/AKxVB Mfc1d7dWEpf/Rw7GkpCTlZT3zFIigCaalz1mcXDCHHkubT8yYF8Um19zOtALcaGMlPVNGn QWGh1YA0SPVJr9zTbHVbBqf+c3R2NP23Q6qsYTpLdiUhVaHeXzEldhxI/1ilZg== 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 4P9h0F2F9gzt2F; Mon, 6 Feb 2023 22:34:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316MYrOQ079039; Mon, 6 Feb 2023 22:34:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316MYrAX079038; Mon, 6 Feb 2023 22:34:53 GMT (envelope-from git) Date: Mon, 6 Feb 2023 22:34:53 GMT Message-Id: <202302062234.316MYrAX079038@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 819ed472043c - main - amd64 pmap: patch up a comment in pmap_init_pv_table List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 819ed472043c8067d45b5c4608c8a6fb05ff7f04 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=819ed472043c8067d45b5c4608c8a6fb05ff7f04 commit 819ed472043c8067d45b5c4608c8a6fb05ff7f04 Author: Mateusz Guzik AuthorDate: 2023-02-06 22:33:28 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-06 22:33:28 +0000 amd64 pmap: patch up a comment in pmap_init_pv_table Requested by: jhb --- sys/amd64/amd64/pmap.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index a86487310aff..a31cdb2a8215 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -2314,9 +2314,13 @@ pmap_init_pv_table(void) int domain, i, j, pages; /* - * We strongly depend on the size being a power of two, so the assert - * is overzealous. However, should the struct be resized to a - * different power of two, the code below needs to be revisited. + * For correctness we depend on the size being evenly divisible into a + * page. As a tradeoff between performance and total memory use, the + * entry is 64 bytes (aka one cacheline) in size. Not being smaller + * avoids false-sharing, but not being 128 bytes potentially allows for + * avoidable traffic due to adjacent cacheline prefetcher. + * + * Assert the size so that accidental changes fail to compile. */ CTASSERT((sizeof(*pvd) == 64)); From nobody Mon Feb 6 22:36:20 2023 X-Original-To: dev-commits-src-main@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 4P9h1w55Vzz3nWPY; Mon, 6 Feb 2023 22:36: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9h1w2K8Wz4K6l; Mon, 6 Feb 2023 22:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675722980; 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=duL4KqlIPiRXIKKZ5iUCu2NPKejPOkc5MvJG3d+LlAo=; b=s7bpaSWkixpy1crJfgTwTerKH/csB/d/lEIFucUiC1i5FULzsoFQQLyyzQ/Z7YdKvN1gLF ARajPhj0TAImKeUWR2hS/um3QnZvsZrQgYSIxFQiuCrlEI90Xu64LfQ8/yP9O2hYRISdJl s0KTuN8kfNdPiObONC+XHrkV3SpeAVk8P9Escm48W4bjnzBbTu63qT5B4bvkwmf55mINs1 F4fCz6sNW85oZzQJo0I+imt5U0VTAfHsfV1uBZ7dtrnkwpQ72SYj5XvvWtnrDAHxotmrZ8 chRDsjv3IhybPrmA5E3RkMpgIn5s9G7DgkfQsCkZHTXG/IREa3F8CHRaiVusmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675722980; 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=duL4KqlIPiRXIKKZ5iUCu2NPKejPOkc5MvJG3d+LlAo=; b=M2UvA7wAc+sPfGnb17xOrGJqoZTdt7odAmDAcIRDskVDloFyhOswCnly5W77ghGlO8aawz lZOOUrtlG7n0yKN9cw6/pqzEh6FskdV3wtOhjMsKlxiFgtTrNtvCmPzFzgREApXwz3pbXx n+uvXkKcunFSGstYnCFZ4HTCaMACt17lzbZByrELuIAX7uytmIcGPOQ7PE3egMig89W7IX t/fAxR6cC435IUFQTTqY2uGZ4Y+4a6d2hulE8Xec6r0r8GH/WkfRgIkFfJHoCIoB4bB9zV ++np+Z+a5L1FslWQPkPGfUx2HtSBS+tWyTuuOzX2QFM7qZsKboMP0f3L4UKIHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675722980; a=rsa-sha256; cv=none; b=Wb8Wdtmoeej1WCh5Lw7ahF/EDMKj5UA0Zp76Skynbf8swFr0DhznoP2mhzmV7y2kKRVZjV Qgm69I+6O0HmDK2UrvlphlvEQHs+lTnZjrZ5qeBQnuBNo6EwLWGDj63RPUL9dyRtSPFpGr kjcslgq2E6tCMT1ddhjgrlHSYOQn7rzRBMb4AP8eC4bWYPFObIjQeCyGMBWjDrYRmuk/zv yU6UZvEcoOLq0rKbLXhMIl/ObtfntBt5lR3SA/uS3C6Y5BarjoVlPV+mBE8hhuAlaBEb8P iIrcCIrqxaRuaZCoRRx4sPT/7yoltXFlLtuy0trfGl4lJNwKMfbvpSzr3vl55w== 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 4P9h1w1Nj7zspD; Mon, 6 Feb 2023 22:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316MaKPb079352; Mon, 6 Feb 2023 22:36:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316MaKaP079351; Mon, 6 Feb 2023 22:36:20 GMT (envelope-from git) Date: Mon, 6 Feb 2023 22:36:20 GMT Message-Id: <202302062236.316MaKaP079351@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Eric Joyner Subject: git: c0548bfc3a09 - main - em(4): Add IDs for new Intel(R) I219 devices List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: erj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c0548bfc3a0941e504d673fea7d14a42d4358961 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=c0548bfc3a0941e504d673fea7d14a42d4358961 commit c0548bfc3a0941e504d673fea7d14a42d4358961 Author: Piotr Kubaj AuthorDate: 2023-02-06 22:31:00 +0000 Commit: Eric Joyner CommitDate: 2023-02-06 22:35:56 +0000 em(4): Add IDs for new Intel(R) I219 devices These include I219 (20) through I219 (23), which ends at Raptor Lake. This also corrects a discrepancy where the (16) devices should be mac type "e1000_pch_tgp" and not "e1000_pch_adp". Signed-off-by: Eric Joyner PR: 269224 Reviewed by: erj@ MFC after: 1 day Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D38376 --- sys/dev/e1000/e1000_api.c | 12 ++++++++++-- sys/dev/e1000/e1000_hw.h | 8 ++++++++ sys/dev/e1000/if_em.c | 8 ++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/sys/dev/e1000/e1000_api.c b/sys/dev/e1000/e1000_api.c index 5c778a48bba0..5fd0f598aa6d 100644 --- a/sys/dev/e1000/e1000_api.c +++ b/sys/dev/e1000/e1000_api.c @@ -333,18 +333,26 @@ s32 e1000_set_mac_type(struct e1000_hw *hw) case E1000_DEV_ID_PCH_TGP_I219_V14: case E1000_DEV_ID_PCH_TGP_I219_LM15: case E1000_DEV_ID_PCH_TGP_I219_V15: - mac->type = e1000_pch_tgp; - break; case E1000_DEV_ID_PCH_ADL_I219_LM16: case E1000_DEV_ID_PCH_ADL_I219_V16: + case E1000_DEV_ID_PCH_RPL_I219_LM23: + case E1000_DEV_ID_PCH_RPL_I219_V23: + mac->type = e1000_pch_tgp; + break; case E1000_DEV_ID_PCH_ADL_I219_LM17: case E1000_DEV_ID_PCH_ADL_I219_V17: + case E1000_DEV_ID_PCH_RPL_I219_LM22: + case E1000_DEV_ID_PCH_RPL_I219_V22: mac->type = e1000_pch_adp; break; case E1000_DEV_ID_PCH_MTP_I219_LM18: case E1000_DEV_ID_PCH_MTP_I219_V18: case E1000_DEV_ID_PCH_MTP_I219_LM19: case E1000_DEV_ID_PCH_MTP_I219_V19: + case E1000_DEV_ID_PCH_LNL_I219_LM20: + case E1000_DEV_ID_PCH_LNL_I219_V20: + case E1000_DEV_ID_PCH_LNL_I219_LM21: + case E1000_DEV_ID_PCH_LNL_I219_V21: mac->type = e1000_pch_mtp; break; case E1000_DEV_ID_82575EB_COPPER: diff --git a/sys/dev/e1000/e1000_hw.h b/sys/dev/e1000/e1000_hw.h index 6ee252e147a4..0a4b03df98b6 100644 --- a/sys/dev/e1000/e1000_hw.h +++ b/sys/dev/e1000/e1000_hw.h @@ -175,6 +175,14 @@ struct e1000_hw; #define E1000_DEV_ID_PCH_MTP_I219_V18 0x550B #define E1000_DEV_ID_PCH_MTP_I219_LM19 0x550C #define E1000_DEV_ID_PCH_MTP_I219_V19 0x550D +#define E1000_DEV_ID_PCH_LNL_I219_LM20 0x550E +#define E1000_DEV_ID_PCH_LNL_I219_V20 0x550F +#define E1000_DEV_ID_PCH_LNL_I219_LM21 0x5510 +#define E1000_DEV_ID_PCH_LNL_I219_V21 0x5511 +#define E1000_DEV_ID_PCH_RPL_I219_LM22 0x0DC7 +#define E1000_DEV_ID_PCH_RPL_I219_V22 0x0DC8 +#define E1000_DEV_ID_PCH_RPL_I219_LM23 0x0DC5 +#define E1000_DEV_ID_PCH_RPL_I219_V23 0x0DC6 #define E1000_DEV_ID_82576 0x10C9 #define E1000_DEV_ID_82576_FIBER 0x10E6 #define E1000_DEV_ID_82576_SERDES 0x10E7 diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index 3be1aaeb362e..7135f273fd94 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -194,6 +194,14 @@ static pci_vendor_info_t em_vendor_info_array[] = PVID(0x8086, E1000_DEV_ID_PCH_MTP_I219_V18, "Intel(R) I219-V MTP(18)"), PVID(0x8086, E1000_DEV_ID_PCH_MTP_I219_LM19, "Intel(R) I219-LM MTP(19)"), PVID(0x8086, E1000_DEV_ID_PCH_MTP_I219_V19, "Intel(R) I219-V MTP(19)"), + PVID(0x8086, E1000_DEV_ID_PCH_LNL_I219_LM20, "Intel(R) I219-LM LNL(20)"), + PVID(0x8086, E1000_DEV_ID_PCH_LNL_I219_V20, "Intel(R) I219-V LNL(20)"), + PVID(0x8086, E1000_DEV_ID_PCH_LNL_I219_LM21, "Intel(R) I219-LM LNL(21)"), + PVID(0x8086, E1000_DEV_ID_PCH_LNL_I219_V21, "Intel(R) I219-V LNL(21)"), + PVID(0x8086, E1000_DEV_ID_PCH_RPL_I219_LM22, "Intel(R) I219-LM RPL(22)"), + PVID(0x8086, E1000_DEV_ID_PCH_RPL_I219_V22, "Intel(R) I219-V RPL(22)"), + PVID(0x8086, E1000_DEV_ID_PCH_RPL_I219_LM23, "Intel(R) I219-LM RPL(23)"), + PVID(0x8086, E1000_DEV_ID_PCH_RPL_I219_V23, "Intel(R) I219-V RPL(23)"), /* required last entry */ PVID_END }; From nobody Mon Feb 6 22:40:36 2023 X-Original-To: dev-commits-src-main@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 4P9h6r6WWpz3nWb7; Mon, 6 Feb 2023 22:40:36 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9h6r4qqgz4KVb; Mon, 6 Feb 2023 22:40:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675723236; 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=3xq/uK5gCmh3TDZgfWokiWIyKpuvTXjIIoJEYodMeBY=; b=RrGfNNhGRCNeYnSy+xiKhJwnJlWi/YHJpjQIIGMTDr88C7fucu3e1tIZ1hfCLu05aMmu+Z 9GUYxxfuOsBHDTUnP8VQ609EdRqAVeuzCUtcEVhy3hxr6yXQ+2YzKf1H0HYYI25S8EwCRb 3/2ZhS+wX0in7zMX33bioX2Tcul/gCGnvHpy7oVIaX1zB87XoU9B4n1A4rXQYsnOGsmj9r W571Sdq9QPAPKsTPzTsTNG+g1YIw65td5HcaMCjyGMhZFbX4awwUKez7DPKq3VfJ0XK9VV Ewdf4s9RHUTndo3NteqdkGNKer8rcb2M6sK3eixgYMrI20MDKDUeecTFyQzU/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675723236; 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=3xq/uK5gCmh3TDZgfWokiWIyKpuvTXjIIoJEYodMeBY=; b=TwpOE0VyYE3gF0fSiYd6830DyfLLxfrZry7cmU7uvrCjl8Cwd3zfBkg58Nj6ueoMoOgcYS AXUnuMDB9uZxsV370zdL/0hqFYztdEzpkJF/uG0Y0YwRYON+jg5Ln0bizXxdqy0WoHyuYN sg/6ulwazYZ9x4h9wR6e2CBmJx3SZMiXQfEMDBW+EExBUC/5XZTAmUArQxJ9qTkxT20syp RFdzFn0cyBWyhlG790ZPwxB6KIhoIckEVQQfVmsGyg7+/MP3ZXdcvvHIt3J6kEU6bLgIxS pNh8oTUmjdQ6PzO7paf6fwIEHFXx2o14+5CQWP+PC26QnyLrd4L5j5EC8aCpxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675723236; a=rsa-sha256; cv=none; b=E7rSpwMZQkHcrHPT6uZf90YYYwQd/YjeQxhOxYNFBAYIamGIKhGQeJ9SkiZ3QWwOkLUSNv uoPvMo4gfMzaj23/Eq0Bl+VBzND7Kv5bhTeG8/N02KKWPeVGRLqOyPGEcOMKCDUnInjj67 5skpSnrxu4bSdvQfCdTBGZNsuiXmiGlUZCOaU7Z4IJjY6txidh3iE5iCOHImiVz025TSPy C+LHlA9JL/hQPMhLPNWrUDk/TtLsnIGl5ZswffvBjkgRXQrrnRfdpgOBgd7nmb0PDPcFMk luh8PkXpIZghDXve00NxLeKw8Tn5wJ4yJZV+jGVKaVeqaB7phpiz6oYFvzOXlg== 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 4P9h6r3vwVzspJ; Mon, 6 Feb 2023 22:40:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316Meapt088359; Mon, 6 Feb 2023 22:40:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316MeaVn088358; Mon, 6 Feb 2023 22:40:36 GMT (envelope-from git) Date: Mon, 6 Feb 2023 22:40:36 GMT Message-Id: <202302062240.316MeaVn088358@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Eric Joyner Subject: git: a527c18cd7ba - main - irdma(4): Add code for compilation on stable/13 branch List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: erj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a527c18cd7ba5d4afacbfb85817ca7b8b2487b52 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=a527c18cd7ba5d4afacbfb85817ca7b8b2487b52 commit a527c18cd7ba5d4afacbfb85817ca7b8b2487b52 Author: Bartosz Sobczak AuthorDate: 2023-02-06 22:37:39 +0000 Commit: Eric Joyner CommitDate: 2023-02-06 22:37:39 +0000 irdma(4): Add code for compilation on stable/13 branch Current content of the irdma(4) driver consists only of code that is compilable on current 14-CURRENT branch which makes it impossible to merge into stable/13 branch because of missing dependencies in the ofed tree. This patch adds missing code that allows for merging into stable branch. Once it is there, code relating only to version 14 or higher should be removed. Signed-off-by: Eric Joyner Reviewed by: erj@ MFC after: 1 day Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D38170 --- contrib/ofed/libirdma/osdep.h | 3 + sys/dev/irdma/fbsd_kcompat.h | 70 +++++ sys/dev/irdma/irdma_kcompat.c | 609 +++++++++++++++++++++++++++++++++++++++++- sys/dev/irdma/irdma_main.h | 4 + sys/dev/irdma/irdma_verbs.c | 194 +++++++++++++- sys/dev/irdma/irdma_verbs.h | 24 ++ sys/dev/irdma/osdep.h | 3 + 7 files changed, 893 insertions(+), 14 deletions(-) diff --git a/contrib/ofed/libirdma/osdep.h b/contrib/ofed/libirdma/osdep.h index 4c226c8e5992..2cb4f8d57cb5 100644 --- a/contrib/ofed/libirdma/osdep.h +++ b/contrib/ofed/libirdma/osdep.h @@ -102,6 +102,9 @@ #define __aligned_u64 uint64_t __aligned(8) #define VLAN_PRIO_SHIFT 13 +#if __FreeBSD_version < 1400000 +#define IB_USER_VERBS_EX_CMD_MODIFY_QP IB_USER_VERBS_CMD_MODIFY_QP +#endif /* * debug definition section diff --git a/sys/dev/irdma/fbsd_kcompat.h b/sys/dev/irdma/fbsd_kcompat.h index 5d59234fcfd5..1fb83f0ac663 100644 --- a/sys/dev/irdma/fbsd_kcompat.h +++ b/sys/dev/irdma/fbsd_kcompat.h @@ -49,12 +49,14 @@ container_of(callback_tasklet, typeof(*var), tasklet_fieldname) #endif +#if __FreeBSD_version >= 1400000 #define IRDMA_SET_RDMA_OBJ_SIZE(ib_struct, drv_struct, member) \ (sizeof(struct drv_struct) + \ BUILD_BUG_ON_ZERO(offsetof(struct drv_struct, member)) + \ BUILD_BUG_ON_ZERO( \ !__same_type(((struct drv_struct *)NULL)->member, \ struct ib_struct))) +#endif /* __FreeBSD_version > 1400000 */ #define set_ibdev_dma_device(ibdev, dev) \ ibdev.dma_device = (dev) @@ -68,11 +70,20 @@ #define kmap_local_page(pg) page_address(pg) #define kunmap(pg) #define kunmap_local(pg) +#if __FreeBSD_version >= 1400026 #define kc_free_lsmm_dereg_mr(iwdev, iwqp) \ ((iwdev)->ibdev.dereg_mr((iwqp)->lsmm_mr, NULL)) +#else +#define kc_free_lsmm_dereg_mr(iwdev, iwqp) \ + ((iwdev)->ibdev.dereg_mr((iwqp)->lsmm_mr)) +#endif #define IB_UVERBS_CQ_FLAGS_TIMESTAMP_COMPLETION IB_CQ_FLAGS_TIMESTAMP_COMPLETION +#if __FreeBSD_version < 1400026 +#define kc_irdma_destroy_qp(ibqp, udata) irdma_destroy_qp(ibqp) +#else #define kc_irdma_destroy_qp(ibqp, udata) irdma_destroy_qp(ibqp, udata) +#endif #ifndef IB_QP_ATTR_STANDARD_BITS #define IB_QP_ATTR_STANDARD_BITS GENMASK(20, 0) #endif @@ -118,24 +129,53 @@ static inline u64 *irdma_next_pbl_addr(u64 *pbl, struct irdma_pble_info **pinfo, return (*pinfo)->addr; } +#if __FreeBSD_version < 1400026 +struct ib_cq *irdma_create_cq(struct ib_device *ibdev, + const struct ib_cq_init_attr *attr, + struct ib_ucontext *context, + struct ib_udata *udata); +#else int irdma_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, struct ib_udata *udata); +#endif struct ib_qp *irdma_create_qp(struct ib_pd *ibpd, struct ib_qp_init_attr *init_attr, struct ib_udata *udata); +#if __FreeBSD_version >= 1400026 int irdma_create_ah(struct ib_ah *ib_ah, struct ib_ah_attr *attr, u32 flags, struct ib_udata *udata); int irdma_create_ah_stub(struct ib_ah *ib_ah, struct ib_ah_attr *attr, u32 flags, struct ib_udata *udata); +#else +struct ib_ah *irdma_create_ah(struct ib_pd *ibpd, + struct ib_ah_attr *attr, + struct ib_udata *udata); +struct ib_ah *irdma_create_ah_stub(struct ib_pd *ibpd, + struct ib_ah_attr *attr, + struct ib_udata *udata); +#endif void irdma_ether_copy(u8 *dmac, struct ib_ah_attr *attr); +#if __FreeBSD_version >= 1400026 void irdma_destroy_ah(struct ib_ah *ibah, u32 flags); void irdma_destroy_ah_stub(struct ib_ah *ibah, u32 flags); +#else +int irdma_destroy_ah(struct ib_ah *ibah); +int irdma_destroy_ah_stub(struct ib_ah *ibah); +#endif +#if __FreeBSD_version < 1400026 +int irdma_destroy_qp(struct ib_qp *ibqp); +#else int irdma_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata); +#endif +#if __FreeBSD_version < 1400026 +int irdma_dereg_mr(struct ib_mr *ib_mr); +#else int irdma_dereg_mr(struct ib_mr *ib_mr, struct ib_udata *udata); +#endif void irdma_get_eth_speed_and_width(u32 link_speed, u8 *active_speed, u8 *active_width); enum rdma_link_layer irdma_get_link_layer(struct ib_device *ibdev, @@ -162,6 +202,10 @@ int irdma_register_qset(struct irdma_sc_vsi *vsi, void irdma_unregister_qset(struct irdma_sc_vsi *vsi, struct irdma_ws_node *tc_node); void ib_unregister_device(struct ib_device *ibdev); +#if __FreeBSD_version < 1400026 +int rdma_user_mmap_io(struct ib_ucontext *ucontext, struct vm_area_struct *vma, + unsigned long pfn, unsigned long size, pgprot_t prot); +#endif void irdma_disassociate_ucontext(struct ib_ucontext *context); int kc_irdma_set_roce_cm_info(struct irdma_qp *iwqp, struct ib_qp_attr *attr, @@ -195,8 +239,13 @@ int irdma_rereg_user_mr(struct ib_mr *ib_mr, int flags, u64 start, u64 len, struct irdma_mr; struct irdma_cq; struct irdma_cq_buf; +#if __FreeBSD_version < 1400026 +struct ib_mr *irdma_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type, + u32 max_num_sg); +#else struct ib_mr *irdma_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type, u32 max_num_sg, struct ib_udata *udata); +#endif int irdma_hwreg_mr(struct irdma_device *iwdev, struct irdma_mr *iwmr, u16 access); struct ib_mr *irdma_rereg_mr_trans(struct irdma_mr *iwmr, u64 start, u64 len, @@ -229,11 +278,32 @@ void irdma_dealloc_push_page(struct irdma_pci_f *rf, struct irdma_sc_qp *qp); int irdma_process_resize_list(struct irdma_cq *iwcq, struct irdma_device *iwdev, struct irdma_cq_buf *lcqe_buf); +#if __FreeBSD_version < 1400026 +int irdma_destroy_cq(struct ib_cq *ib_cq); +#else void irdma_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata); +#endif +#if __FreeBSD_version < 1400026 +struct ib_ucontext *irdma_alloc_ucontext(struct ib_device *, struct ib_udata *); +#else int irdma_alloc_ucontext(struct ib_ucontext *uctx, struct ib_udata *udata); +#endif +#if __FreeBSD_version < 1400026 +int irdma_dealloc_ucontext(struct ib_ucontext *); +#else void irdma_dealloc_ucontext(struct ib_ucontext *context); +#endif +#if __FreeBSD_version < 1400026 +struct ib_pd *irdma_alloc_pd(struct ib_device *, struct ib_ucontext *, + struct ib_udata *); +#else int irdma_alloc_pd(struct ib_pd *pd, struct ib_udata *udata); +#endif +#if __FreeBSD_version < 1400026 +int irdma_dealloc_pd(struct ib_pd *); +#else void irdma_dealloc_pd(struct ib_pd *ibpd, struct ib_udata *udata); +#endif int irdma_add_gid(struct ib_device *, u8, unsigned int, const union ib_gid *, const struct ib_gid_attr *, void **); int irdma_del_gid(struct ib_device *, u8, unsigned int, void **); diff --git a/sys/dev/irdma/irdma_kcompat.c b/sys/dev/irdma/irdma_kcompat.c index d0cf960b5147..d49293aedd78 100644 --- a/sys/dev/irdma/irdma_kcompat.c +++ b/sys/dev/irdma/irdma_kcompat.c @@ -97,6 +97,7 @@ irdma_del_gid(struct ib_device *device, return 0; } +#if __FreeBSD_version >= 1400026 /** * irdma_alloc_mr - register stag for fast memory registration * @pd: ibpd pointer @@ -108,6 +109,18 @@ struct ib_mr * irdma_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type, u32 max_num_sg, struct ib_udata *udata) { +#else +/** + * irdma_alloc_mr - register stag for fast memory registration + * @pd: ibpd pointer + * @mr_type: memory for stag registrion + * @max_num_sg: man number of pages + */ +struct ib_mr * +irdma_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type, + u32 max_num_sg) +{ +#endif struct irdma_device *iwdev = to_iwdev(pd->device); struct irdma_pble_alloc *palloc; struct irdma_pbl *iwpbl; @@ -162,6 +175,7 @@ err: #define IRDMA_ALLOC_UCTX_MIN_REQ_LEN offsetofend(struct irdma_alloc_ucontext_req, rsvd8) #define IRDMA_ALLOC_UCTX_MIN_RESP_LEN offsetofend(struct irdma_alloc_ucontext_resp, rsvd) +#if __FreeBSD_version >= 1400026 /** * irdma_alloc_ucontext - Allocate the user context data structure * @uctx: context @@ -253,7 +267,116 @@ ver_error: req.userspace_ver, IRDMA_ABI_VER); return -EINVAL; } +#endif +#if __FreeBSD_version < 1400026 +/** + * irdma_alloc_ucontext - Allocate the user context data structure + * @ibdev: ib device pointer + * @udata: user data + * + * This keeps track of all objects associated with a particular + * user-mode client. + */ +struct ib_ucontext * +irdma_alloc_ucontext(struct ib_device *ibdev, struct ib_udata *udata) +{ + struct irdma_device *iwdev = to_iwdev(ibdev); + struct irdma_alloc_ucontext_req req = {0}; + struct irdma_alloc_ucontext_resp uresp = {0}; + struct irdma_ucontext *ucontext; + struct irdma_uk_attrs *uk_attrs; + + if (udata->inlen < IRDMA_ALLOC_UCTX_MIN_REQ_LEN || + udata->outlen < IRDMA_ALLOC_UCTX_MIN_RESP_LEN) + return ERR_PTR(-EINVAL); + + if (ib_copy_from_udata(&req, udata, min(sizeof(req), udata->inlen))) + return ERR_PTR(-EINVAL); + + if (req.userspace_ver < 4 || req.userspace_ver > IRDMA_ABI_VER) + goto ver_error; + + ucontext = kzalloc(sizeof(*ucontext), GFP_KERNEL); + if (!ucontext) + return ERR_PTR(-ENOMEM); + + ucontext->iwdev = iwdev; + ucontext->abi_ver = req.userspace_ver; + + uk_attrs = &iwdev->rf->sc_dev.hw_attrs.uk_attrs; + /* GEN_1 legacy support with libi40iw */ + if (udata->outlen == IRDMA_ALLOC_UCTX_MIN_RESP_LEN) { + if (uk_attrs->hw_rev != IRDMA_GEN_1) { + kfree(ucontext); + return ERR_PTR(-EOPNOTSUPP); + } + + ucontext->legacy_mode = true; + uresp.max_qps = iwdev->rf->max_qp; + uresp.max_pds = iwdev->rf->sc_dev.hw_attrs.max_hw_pds; + uresp.wq_size = iwdev->rf->sc_dev.hw_attrs.max_qp_wr * 2; + uresp.kernel_ver = req.userspace_ver; + if (ib_copy_to_udata(udata, &uresp, min(sizeof(uresp), udata->outlen))) { + kfree(ucontext); + return ERR_PTR(-EFAULT); + } + } else { + u64 bar_off; + + uresp.kernel_ver = IRDMA_ABI_VER; + uresp.feature_flags = uk_attrs->feature_flags; + uresp.max_hw_wq_frags = uk_attrs->max_hw_wq_frags; + uresp.max_hw_read_sges = uk_attrs->max_hw_read_sges; + uresp.max_hw_inline = uk_attrs->max_hw_inline; + uresp.max_hw_rq_quanta = uk_attrs->max_hw_rq_quanta; + uresp.max_hw_wq_quanta = uk_attrs->max_hw_wq_quanta; + uresp.max_hw_sq_chunk = uk_attrs->max_hw_sq_chunk; + uresp.max_hw_cq_size = uk_attrs->max_hw_cq_size; + uresp.min_hw_cq_size = uk_attrs->min_hw_cq_size; + uresp.hw_rev = uk_attrs->hw_rev; + + bar_off = + (uintptr_t)iwdev->rf->sc_dev.hw_regs[IRDMA_DB_ADDR_OFFSET]; + + spin_lock_init(&ucontext->mmap_tbl_lock); + ucontext->db_mmap_entry = + irdma_user_mmap_entry_add_hash(ucontext, bar_off, + IRDMA_MMAP_IO_NC, + &uresp.db_mmap_key); + if (!ucontext->db_mmap_entry) { + spin_lock_destroy(&ucontext->mmap_tbl_lock); + kfree(ucontext); + return ERR_PTR(-ENOMEM); + } + + if (ib_copy_to_udata(udata, &uresp, + min(sizeof(uresp), udata->outlen))) { + irdma_user_mmap_entry_del_hash(ucontext->db_mmap_entry); + spin_lock_destroy(&ucontext->mmap_tbl_lock); + kfree(ucontext); + return ERR_PTR(-EFAULT); + } + } + + INIT_LIST_HEAD(&ucontext->cq_reg_mem_list); + spin_lock_init(&ucontext->cq_reg_mem_list_lock); + INIT_LIST_HEAD(&ucontext->qp_reg_mem_list); + spin_lock_init(&ucontext->qp_reg_mem_list_lock); + INIT_LIST_HEAD(&ucontext->vma_list); + mutex_init(&ucontext->vma_list_mutex); + + return &ucontext->ibucontext; + +ver_error: + ibdev_err(&iwdev->ibdev, + "Invalid userspace driver version detected. Detected version %d, should be %d\n", + req.userspace_ver, IRDMA_ABI_VER); + return ERR_PTR(-EINVAL); +} +#endif + +#if __FreeBSD_version >= 1400026 /** * irdma_dealloc_ucontext - deallocate the user context data structure * @context: user context created during alloc @@ -267,8 +390,28 @@ irdma_dealloc_ucontext(struct ib_ucontext *context) return; } +#endif + +#if __FreeBSD_version < 1400026 +/** + * irdma_dealloc_ucontext - deallocate the user context data structure + * @context: user context created during alloc + */ +int +irdma_dealloc_ucontext(struct ib_ucontext *context) +{ + struct irdma_ucontext *ucontext = to_ucontext(context); + + irdma_user_mmap_entry_del_hash(ucontext->db_mmap_entry); + spin_lock_destroy(&ucontext->mmap_tbl_lock); + kfree(ucontext); + + return 0; +} +#endif #define IRDMA_ALLOC_PD_MIN_RESP_LEN offsetofend(struct irdma_alloc_pd_resp, rsvd) +#if __FreeBSD_version >= 1400026 /** * irdma_alloc_pd - allocate protection domain * @pd: protection domain @@ -319,7 +462,67 @@ error: return err; } +#endif + +#if __FreeBSD_version < 1400026 +/** + * irdma_alloc_pd - allocate protection domain + * @ibdev: IB device + * @context: user context + * @udata: user data + */ +struct ib_pd * +irdma_alloc_pd(struct ib_device *ibdev, struct ib_ucontext *context, struct ib_udata *udata) +{ + struct irdma_pd *iwpd; + struct irdma_device *iwdev = to_iwdev(ibdev); + struct irdma_sc_dev *dev = &iwdev->rf->sc_dev; + struct irdma_pci_f *rf = iwdev->rf; + struct irdma_alloc_pd_resp uresp = {0}; + struct irdma_sc_pd *sc_pd; + u32 pd_id = 0; + int err; + + err = irdma_alloc_rsrc(rf, rf->allocated_pds, rf->max_pd, &pd_id, + &rf->next_pd); + if (err) + return ERR_PTR(err); + + iwpd = kzalloc(sizeof(*iwpd), GFP_KERNEL); + if (!iwpd) { + err = -ENOMEM; + goto free_res; + } + + sc_pd = &iwpd->sc_pd; + if (udata) { + struct irdma_ucontext *ucontext = to_ucontext(context); + + irdma_sc_pd_init(dev, sc_pd, pd_id, ucontext->abi_ver); + uresp.pd_id = pd_id; + if (ib_copy_to_udata(udata, &uresp, + min(sizeof(uresp), udata->outlen))) { + err = -EFAULT; + goto error; + } + } else { + irdma_sc_pd_init(dev, sc_pd, pd_id, IRDMA_ABI_VER); + } + + return &iwpd->ibpd; + +error: + kfree(iwpd); +free_res: + + irdma_free_rsrc(rf, rf->allocated_pds, pd_id); + return ERR_PTR(err); +} + +#endif + +#if __FreeBSD_version >= 1400026 void irdma_dealloc_pd(struct ib_pd *ibpd, struct ib_udata *udata) { @@ -329,6 +532,21 @@ irdma_dealloc_pd(struct ib_pd *ibpd, struct ib_udata *udata) irdma_free_rsrc(iwdev->rf, iwdev->rf->allocated_pds, iwpd->sc_pd.pd_id); } +#endif + +#if __FreeBSD_version < 1400026 +int +irdma_dealloc_pd(struct ib_pd *ibpd) +{ + struct irdma_pd *iwpd = to_iwpd(ibpd); + struct irdma_device *iwdev = to_iwdev(ibpd->device); + + irdma_free_rsrc(iwdev->rf, iwdev->rf->allocated_pds, iwpd->sc_pd.pd_id); + kfree(iwpd); + return 0; +} +#endif + static void irdma_fill_ah_info(struct vnet *vnet, struct irdma_ah_info *ah_info, const struct ib_gid_attr *sgid_attr, @@ -416,6 +634,7 @@ irdma_create_ah_wait(struct irdma_pci_f *rf, #define IRDMA_CREATE_AH_MIN_RESP_LEN offsetofend(struct irdma_create_ah_resp, rsvd) +#if __FreeBSD_version >= 1400026 /** * irdma_create_ah - create address handle * @ib_ah: ptr to AH @@ -539,6 +758,7 @@ err_gid_l2: return err; } +#endif void irdma_ether_copy(u8 *dmac, struct ib_ah_attr *attr) @@ -546,19 +766,172 @@ irdma_ether_copy(u8 *dmac, struct ib_ah_attr *attr) ether_addr_copy(dmac, attr->dmac); } +#if __FreeBSD_version < 1400026 +struct ib_ah * +irdma_create_ah_stub(struct ib_pd *ibpd, + struct ib_ah_attr *attr, + struct ib_udata *udata) +#else int irdma_create_ah_stub(struct ib_ah *ib_ah, struct ib_ah_attr *attr, u32 flags, struct ib_udata *udata) +#endif { +#if __FreeBSD_version >= 1400026 return -ENOSYS; +#else + return ERR_PTR(-ENOSYS); +#endif } +#if __FreeBSD_version >= 1400026 void irdma_destroy_ah_stub(struct ib_ah *ibah, u32 flags) { return; } +#else +int +irdma_destroy_ah_stub(struct ib_ah *ibah) +{ + return -ENOSYS; +} +#endif + +#if __FreeBSD_version < 1400026 +/** + * irdma_create_ah - create address handle + * @ibpd: ptr to pd + * @attr: address handle attributes + * @udata: user data + * + * returns a pointer to an address handle + */ +struct ib_ah * +irdma_create_ah(struct ib_pd *ibpd, + struct ib_ah_attr *attr, + struct ib_udata *udata) +{ + struct irdma_pd *pd = to_iwpd(ibpd); + struct irdma_device *iwdev = to_iwdev(ibpd->device); + struct irdma_ah *ah; + union ib_gid sgid; + struct ib_gid_attr sgid_attr; + struct irdma_pci_f *rf = iwdev->rf; + struct irdma_sc_ah *sc_ah; + u32 ah_id = 0; + struct irdma_ah_info *ah_info; + struct irdma_create_ah_resp uresp; + union { + struct sockaddr saddr; + struct sockaddr_in saddr_in; + struct sockaddr_in6 saddr_in6; + } sgid_addr, dgid_addr; + int err; + u8 dmac[ETH_ALEN]; + bool sleep = udata ? true : false; + + if (udata && udata->outlen < IRDMA_CREATE_AH_MIN_RESP_LEN) + return ERR_PTR(-EINVAL); + + err = irdma_alloc_rsrc(rf, rf->allocated_ahs, + rf->max_ah, &ah_id, &rf->next_ah); + + if (err) + return ERR_PTR(err); + + ah = kzalloc(sizeof(*ah), GFP_ATOMIC); + if (!ah) { + irdma_free_rsrc(rf, rf->allocated_ahs, ah_id); + return ERR_PTR(-ENOMEM); + } + + ah->pd = pd; + sc_ah = &ah->sc_ah; + sc_ah->ah_info.ah_idx = ah_id; + sc_ah->ah_info.vsi = &iwdev->vsi; + irdma_sc_init_ah(&rf->sc_dev, sc_ah); + ah->sgid_index = attr->grh.sgid_index; + memcpy(&ah->dgid, &attr->grh.dgid, sizeof(ah->dgid)); + rcu_read_lock(); + err = ib_get_cached_gid(&iwdev->ibdev, attr->port_num, + attr->grh.sgid_index, &sgid, &sgid_attr); + rcu_read_unlock(); + if (err) { + irdma_debug(iwdev_to_idev(iwdev), IRDMA_DEBUG_VERBS, + "GID lookup at idx=%d with port=%d failed\n", + attr->grh.sgid_index, attr->port_num); + err = -EINVAL; + goto err_gid_l2; + } + rdma_gid2ip((struct sockaddr *)&sgid_addr, &sgid); + rdma_gid2ip((struct sockaddr *)&dgid_addr, &attr->grh.dgid); + ah->av.attrs = *attr; + ah->av.net_type = kc_rdma_gid_attr_network_type(sgid_attr, + sgid_attr.gid_type, + &sgid); + + if (sgid_attr.ndev) + dev_put(sgid_attr.ndev); + + ah->av.sgid_addr.saddr = sgid_addr.saddr; + ah->av.dgid_addr.saddr = dgid_addr.saddr; + ah_info = &sc_ah->ah_info; + ah_info->ah_idx = ah_id; + ah_info->pd_idx = pd->sc_pd.pd_id; + + ether_addr_copy(ah_info->mac_addr, IF_LLADDR(iwdev->netdev)); + if (attr->ah_flags & IB_AH_GRH) { + ah_info->flow_label = attr->grh.flow_label; + ah_info->hop_ttl = attr->grh.hop_limit; + ah_info->tc_tos = attr->grh.traffic_class; + } + + if (udata) + ib_resolve_eth_dmac(ibpd->device, attr); + irdma_ether_copy(dmac, attr); + + irdma_fill_ah_info(iwdev->netdev->if_vnet, ah_info, &sgid_attr, &sgid_addr.saddr, &dgid_addr.saddr, + dmac, ah->av.net_type); + + err = irdma_create_ah_vlan_tag(iwdev, ah_info, &sgid_attr, dmac); + if (err) + goto err_gid_l2; + + err = irdma_ah_cqp_op(iwdev->rf, sc_ah, IRDMA_OP_AH_CREATE, + sleep, irdma_gsi_ud_qp_ah_cb, sc_ah); + if (err) { + irdma_debug(iwdev_to_idev(iwdev), IRDMA_DEBUG_VERBS, + "CQP-OP Create AH fail"); + goto err_gid_l2; + } + + err = irdma_create_ah_wait(rf, sc_ah, sleep); + if (err) { + irdma_debug(iwdev_to_idev(iwdev), IRDMA_DEBUG_VERBS, + "CQP create AH timed out"); + goto err_gid_l2; + } + + if (udata) { + uresp.ah_id = ah->sc_ah.ah_info.ah_idx; + err = ib_copy_to_udata(udata, &uresp, sizeof(uresp)); + if (err) { + irdma_ah_cqp_op(iwdev->rf, &ah->sc_ah, + IRDMA_OP_AH_DESTROY, false, NULL, ah); + goto err_gid_l2; + } + } + + return &ah->ibah; +err_gid_l2: + kfree(ah); + irdma_free_rsrc(iwdev->rf, iwdev->rf->allocated_ahs, ah_id); + + return ERR_PTR(err); +} +#endif /** * irdma_free_qp_rsrc - free up memory resources for qp @@ -797,8 +1170,13 @@ error: * @ibqp: qp's ib pointer also to get to device's qp address * @udata: user data */ +#if __FreeBSD_version >= 1400026 int irdma_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata) +#else +int +irdma_destroy_qp(struct ib_qp *ibqp) +#endif { struct irdma_qp *iwqp = to_iwqp(ibqp); struct irdma_device *iwdev = iwqp->iwdev; @@ -835,17 +1213,31 @@ free_rsrc: * @attr: attributes for cq * @udata: user data */ +#if __FreeBSD_version >= 1400026 int irdma_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, struct ib_udata *udata) +#else +struct ib_cq * +irdma_create_cq(struct ib_device *ibdev, + const struct ib_cq_init_attr *attr, + struct ib_ucontext *context, + struct ib_udata *udata) +#endif { #define IRDMA_CREATE_CQ_MIN_REQ_LEN offsetofend(struct irdma_create_cq_req, user_cq_buf) #define IRDMA_CREATE_CQ_MIN_RESP_LEN offsetofend(struct irdma_create_cq_resp, cq_size) +#if __FreeBSD_version >= 1400026 struct ib_device *ibdev = ibcq->device; +#endif struct irdma_device *iwdev = to_iwdev(ibdev); struct irdma_pci_f *rf = iwdev->rf; +#if __FreeBSD_version >= 1400026 struct irdma_cq *iwcq = to_iwcq(ibcq); +#else + struct irdma_cq *iwcq; +#endif u32 cq_num = 0; struct irdma_sc_cq *cq; struct irdma_sc_dev *dev = &rf->sc_dev; @@ -859,6 +1251,7 @@ irdma_create_cq(struct ib_cq *ibcq, int entries = attr->cqe; bool cqe_64byte_ena; +#if __FreeBSD_version >= 1400026 err_code = cq_validate_flags(attr->flags, dev->hw_attrs.uk_attrs.hw_rev); if (err_code) return err_code; @@ -866,10 +1259,27 @@ irdma_create_cq(struct ib_cq *ibcq, if (udata && (udata->inlen < IRDMA_CREATE_CQ_MIN_REQ_LEN || udata->outlen < IRDMA_CREATE_CQ_MIN_RESP_LEN)) return -EINVAL; +#else + err_code = cq_validate_flags(attr->flags, dev->hw_attrs.uk_attrs.hw_rev); + if (err_code) + return ERR_PTR(err_code); + + if (udata && (udata->inlen < IRDMA_CREATE_CQ_MIN_REQ_LEN || + udata->outlen < IRDMA_CREATE_CQ_MIN_RESP_LEN)) + return ERR_PTR(-EINVAL); + + iwcq = kzalloc(sizeof(*iwcq), GFP_KERNEL); + if (!iwcq) + return ERR_PTR(-ENOMEM); +#endif err_code = irdma_alloc_rsrc(rf, rf->allocated_cqs, rf->max_cq, &cq_num, &rf->next_cq); if (err_code) +#if __FreeBSD_version >= 1400026 return err_code; +#else + goto error; +#endif cq = &iwcq->sc_cq; cq->back_cq = iwcq; atomic_set(&iwcq->refcnt, 1); @@ -898,7 +1308,11 @@ irdma_create_cq(struct ib_cq *ibcq, struct irdma_cq_mr *cqmr_shadow; iwcq->user_mode = true; +#if __FreeBSD_version >= 1400026 ucontext = rdma_udata_to_drv_context(udata, struct irdma_ucontext, ibucontext); +#else + ucontext = to_ucontext(context); +#endif if (ib_copy_from_udata(&req, udata, min(sizeof(req), udata->inlen))) { @@ -1030,12 +1444,22 @@ irdma_create_cq(struct ib_cq *ibcq, rf->cq_table[cq_num] = iwcq; init_completion(&iwcq->free_cq); +#if __FreeBSD_version >= 1400026 return 0; +#else + return &iwcq->ibcq; +#endif cq_destroy: irdma_cq_wq_destroy(rf, cq); cq_free_rsrc: irdma_cq_free_rsrc(rf, iwcq); +#if __FreeBSD_version >= 1400026 return err_code; +#else +error: + kfree(iwcq); + return ERR_PTR(err_code); +#endif } /** @@ -1085,6 +1509,7 @@ irdma_copy_user_pgaddrs(struct irdma_mr *iwmr, u64 *pbl, * @ah_flags: destroy flags */ +#if __FreeBSD_version >= 1400026 void irdma_destroy_ah(struct ib_ah *ibah, u32 ah_flags) { @@ -1097,9 +1522,33 @@ irdma_destroy_ah(struct ib_ah *ibah, u32 ah_flags) irdma_free_rsrc(iwdev->rf, iwdev->rf->allocated_ahs, ah->sc_ah.ah_info.ah_idx); } +#endif +#if __FreeBSD_version < 1400026 +int +irdma_destroy_ah(struct ib_ah *ibah) +{ + struct irdma_device *iwdev = to_iwdev(ibah->device); + struct irdma_ah *ah = to_iwah(ibah); + + irdma_ah_cqp_op(iwdev->rf, &ah->sc_ah, IRDMA_OP_AH_DESTROY, + false, NULL, ah); + + irdma_free_rsrc(iwdev->rf, iwdev->rf->allocated_ahs, + ah->sc_ah.ah_info.ah_idx); + + kfree(ah); + return 0; +} +#endif + +#if __FreeBSD_version >= 1400026 int irdma_dereg_mr(struct ib_mr *ib_mr, struct ib_udata *udata) +#else +int +irdma_dereg_mr(struct ib_mr *ib_mr) +#endif { struct irdma_mr *iwmr = to_iwmr(ib_mr); struct irdma_device *iwdev = to_iwdev(ib_mr->device); @@ -1109,10 +1558,15 @@ irdma_dereg_mr(struct ib_mr *ib_mr, struct ib_udata *udata) if (iwmr->type != IRDMA_MEMREG_TYPE_MEM) { if (iwmr->region) { struct irdma_ucontext *ucontext; +#if __FreeBSD_version >= 1400026 + + ucontext = rdma_udata_to_drv_context(udata, struct irdma_ucontext, ibucontext); + +#else + struct ib_pd *ibpd = ib_mr->pd; - ucontext = rdma_udata_to_drv_context(udata, - struct irdma_ucontext, - ibucontext); + ucontext = to_ucontext(ibpd->uobject->context); +#endif irdma_del_memlist(iwmr, ucontext); } goto done; @@ -1219,6 +1673,7 @@ kc_irdma_set_roce_cm_info(struct irdma_qp *iwqp, struct ib_qp_attr *attr, return 0; } +#if __FreeBSD_version >= 1400026 /** * irdma_destroy_cq - destroy cq * @ib_cq: cq pointer @@ -1253,6 +1708,46 @@ irdma_destroy_cq(struct ib_cq *ib_cq, struct ib_udata *udata) irdma_cq_free_rsrc(iwdev->rf, iwcq); } +#endif +#if __FreeBSD_version < 1400026 +/** + * irdma_destroy_cq - destroy cq + * @ib_cq: cq pointer + */ +int +irdma_destroy_cq(struct ib_cq *ib_cq) +{ + struct irdma_device *iwdev = to_iwdev(ib_cq->device); + struct irdma_cq *iwcq = to_iwcq(ib_cq); + struct irdma_sc_cq *cq = &iwcq->sc_cq; + struct irdma_sc_dev *dev = cq->dev; + struct irdma_sc_ceq *ceq = dev->ceq[cq->ceq_id]; + struct irdma_ceq *iwceq = container_of(ceq, struct irdma_ceq, sc_ceq); + unsigned long flags; + + spin_lock_irqsave(&iwcq->lock, flags); + if (!list_empty(&iwcq->cmpl_generated)) + irdma_remove_cmpls_list(iwcq); + if (!list_empty(&iwcq->resize_list)) + irdma_process_resize_list(iwcq, iwdev, NULL); + spin_unlock_irqrestore(&iwcq->lock, flags); + + irdma_cq_rem_ref(ib_cq); + wait_for_completion(&iwcq->free_cq); + + irdma_cq_wq_destroy(iwdev->rf, cq); + + spin_lock_irqsave(&iwceq->ce_lock, flags); + irdma_sc_cleanup_ceqes(cq, ceq); + spin_unlock_irqrestore(&iwceq->ce_lock, flags); + + irdma_cq_free_rsrc(iwdev->rf, iwcq); + kfree(iwcq); + + return 0; +} + +#endif /** * irdma_alloc_mw - Allocate memory window * @pd: Protection domain @@ -1316,6 +1811,75 @@ kc_set_loc_seq_num_mss(struct irdma_cm_node *cm_node) (cm_node->iwdev->vsi.mtu - IRDMA_MTU_TO_MSS_IPV6); } +#if __FreeBSD_version < 1400026 +struct irdma_vma_data { + struct list_head list; + struct vm_area_struct *vma; + struct mutex *vma_list_mutex; /* protect the vma_list */ +}; + +/** + * irdma_vma_open - + * @vma: User VMA + */ +static void +irdma_vma_open(struct vm_area_struct *vma) +{ + vma->vm_ops = NULL; +} + +/** + * irdma_vma_close - Remove vma data from vma list + * @vma: User VMA + */ +static void +irdma_vma_close(struct vm_area_struct *vma) +{ + struct irdma_vma_data *vma_data; + + vma_data = vma->vm_private_data; + vma->vm_private_data = NULL; + vma_data->vma = NULL; + mutex_lock(vma_data->vma_list_mutex); + list_del(&vma_data->list); + mutex_unlock(vma_data->vma_list_mutex); + kfree(vma_data); +} + +static const struct vm_operations_struct irdma_vm_ops = { + .open = irdma_vma_open, + .close = irdma_vma_close +}; + +/** + * irdma_set_vma_data - Save vma data in context list + * @vma: User VMA + * @context: ib user context + */ +static int +irdma_set_vma_data(struct vm_area_struct *vma, + struct irdma_ucontext *context) +{ + struct list_head *vma_head = &context->vma_list; + struct irdma_vma_data *vma_entry; + + vma_entry = kzalloc(sizeof(*vma_entry), GFP_KERNEL); + if (!vma_entry) + return -ENOMEM; + + vma->vm_private_data = vma_entry; + vma->vm_ops = &irdma_vm_ops; + + vma_entry->vma = vma; + vma_entry->vma_list_mutex = &context->vma_list_mutex; + + mutex_lock(&context->vma_list_mutex); + list_add(&vma_entry->list, vma_head); + mutex_unlock(&context->vma_list_mutex); + + return 0; +} + /** * irdma_disassociate_ucontext - Disassociate user context * @context: ib user context @@ -1323,8 +1887,47 @@ kc_set_loc_seq_num_mss(struct irdma_cm_node *cm_node) void irdma_disassociate_ucontext(struct ib_ucontext *context) { + struct irdma_ucontext *ucontext = to_ucontext(context); + + struct irdma_vma_data *vma_data, *n; + struct vm_area_struct *vma; + + mutex_lock(&ucontext->vma_list_mutex); + list_for_each_entry_safe(vma_data, n, &ucontext->vma_list, list) { *** 502 LINES SKIPPED *** From nobody Mon Feb 6 23:01:57 2023 X-Original-To: dev-commits-src-main@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 4P9hbV0m0Kz3nYCr; Mon, 6 Feb 2023 23:01:58 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9hbV0Df9z4MWK; Mon, 6 Feb 2023 23:01:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675724518; 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=tgVUKNOYbB9FKccJK+wDRctAh371ZaNMYI8OTvF7Lg8=; b=y2OzxC0MENTdDF+osuy2KaVfH3wjG1aKAfwkJanr1TM1Ot1Y9JWq3T2FpGmD7ob4YPGS7f xmgFNp49S+8Htidn/QIv+wUqXGk6OZo3nnl2T+EEp/1VDQPo8UKB/jG38McDEQjXQHDzkK cDOWt7lgNh+rrBybgVPvFaNxdxogMwHIIq7ZfaEAV+6ADdz76Unk05v3GyJddPOWYuVgcP r6Ql/DcAbrBxanh6scausJgZ3434XoLpFt2dbCSawNCI0mFArLMydxvrXe8w5cMMxKTAQz 8gL37bGc6BeaVqh5Q+q8VS6H8NO5OnSm5+VyyCJEOC7ZpWJmTEESuUcm028E5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675724518; 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=tgVUKNOYbB9FKccJK+wDRctAh371ZaNMYI8OTvF7Lg8=; b=vFpclP3svGfvdkBbhTNIwazeThBGiAb5qRPzJYkO1DkqXl81Y0i1VM7oKg6wY4iiGNuMaB 3qRtpoWDTqRDMwKD0RAwamkqZ6NuFLGJbw60ZmEQ2nCumxwhM7fMAWkQsYZ4ly3G0Ah0Xm zpc3Pxm7Fk5wMjn/+rs8FWL9blkzHDhx37BQS5qjNfJLbnPabo3Rqm0CrOqAYOp2AC60E1 t7FxdSpUfwK3UeRiAMAXozrKrdj7/gNpefm+wgn86AzEt/YUvWLZ7Tw6t+OpRHbRW6ak7h OAxLCR03ud4MoeQaFJhEmEzevC8D6pV5eFGz1dSuKRJtg7Kz4czOd5xv2QU8pw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675724518; a=rsa-sha256; cv=none; b=LYri5i+OUjDPF2yLBVRdhzC29C2fvvl6g9XPAZALVzX8Ktt4Kxv8IMHwCYcLUiDmktXV+T 79wbVOkD6203XAPNdCv5aI62cNbIAciAq49PeMZ37tmBktL36xdytKpsmKlTN+d4X4Rcuv dVIGIfZWGAngUGMrXMeKvm7CNzXHdKN3ZPR2aZGM7aXYD4lJIrhLi7ioRsrG9mjpKqQMAQ jufnkIlBdmSKYXOgTV+v+VfeFkaXkOr/7+z0+/2JC6jC6rJg9RQxa1zSVAjfup5hYyrYiu yI3gAOfOgkbViw0j/hsQec0u1Jzl94rTGAEGzdJsptaUx9nhZvWfcYKBz992qg== 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 4P9hbT6R0Rztdw; Mon, 6 Feb 2023 23:01:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316N1vcH021428; Mon, 6 Feb 2023 23:01:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316N1vfw021427; Mon, 6 Feb 2023 23:01:57 GMT (envelope-from git) Date: Mon, 6 Feb 2023 23:01:57 GMT Message-Id: <202302062301.316N1vfw021427@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Stefan=20E=C3=9Fer?= Subject: git: 4972fb927638 - main - Support Unicode characters in keymap dead key tables List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4972fb9276389fb87a790b415b1161cff395884c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=4972fb9276389fb87a790b415b1161cff395884c commit 4972fb9276389fb87a790b415b1161cff395884c Author: Stefan Eßer AuthorDate: 2023-02-06 22:48:47 +0000 Commit: Stefan Eßer CommitDate: 2023-02-06 22:48:47 +0000 Support Unicode characters in keymap dead key tables Support for Unicode characters had been added to the keyboard code, but there are keymaps that have accented characters accessed via dead key combinations, and those were still restricted to 8 bit codes. This update to kbd.c adds support for Unicode characters and compatibility code that allows a kbdcontrol command built from kbio.h without these patches to work on a new kernel. Compatibility code that allows a new kbdcontrol binary running on an old kernel to load and display the dead key map will be committed in a separate commit. Reviewed by: imp, brooks Approved by: brooks MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38381 --- sys/dev/adb/adb_kbd.c | 1 + sys/dev/atkbdc/atkbd.c | 1 + sys/dev/gpio/gpiokeys.c | 1 + sys/dev/hid/hkbd.c | 1 + sys/dev/hyperv/input/hv_kbd.c | 1 + sys/dev/kbd/kbd.c | 52 +++++++++++++++++++++++++++++++++++++++---- sys/dev/kbdmux/kbdmux.c | 1 + sys/dev/syscons/syscons.c | 2 ++ sys/dev/usb/input/ukbd.c | 1 + sys/dev/vkbd/vkbd.c | 1 + sys/dev/vt/vt_core.c | 2 ++ sys/sys/kbio.h | 26 ++++++++++++++++++---- 12 files changed, 82 insertions(+), 8 deletions(-) diff --git a/sys/dev/adb/adb_kbd.c b/sys/dev/adb/adb_kbd.c index 757b687da145..86d3865473bb 100644 --- a/sys/dev/adb/adb_kbd.c +++ b/sys/dev/adb/adb_kbd.c @@ -798,6 +798,7 @@ static int akbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t data) case OPIO_KEYMAP: case PIO_KEYMAPENT: case PIO_DEADKEYMAP: + case OPIO_DEADKEYMAP: default: return (genkbd_commonioctl(kbd, cmd, data)); } diff --git a/sys/dev/atkbdc/atkbd.c b/sys/dev/atkbdc/atkbd.c index eb76882bf9f7..08266cf4bf51 100644 --- a/sys/dev/atkbdc/atkbd.c +++ b/sys/dev/atkbdc/atkbd.c @@ -1091,6 +1091,7 @@ atkbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) case OPIO_KEYMAP: /* set keyboard translation table (compat) */ case PIO_KEYMAPENT: /* set keyboard translation table entry */ case PIO_DEADKEYMAP: /* set accent key translation table */ + case OPIO_DEADKEYMAP: /* set accent key translation table (compat) */ state->ks_accents = 0; /* FALLTHROUGH */ default: diff --git a/sys/dev/gpio/gpiokeys.c b/sys/dev/gpio/gpiokeys.c index 36746923f01b..655fd2f4e154 100644 --- a/sys/dev/gpio/gpiokeys.c +++ b/sys/dev/gpio/gpiokeys.c @@ -899,6 +899,7 @@ gpiokeys_ioctl_locked(keyboard_t *kbd, u_long cmd, caddr_t arg) case PIO_KEYMAPENT: /* set keyboard translation table * entry */ case PIO_DEADKEYMAP: /* set accent key translation table */ + case OPIO_DEADKEYMAP: /* set accent key translation table (compat) */ sc->sc_accents = 0; /* FALLTHROUGH */ default: diff --git a/sys/dev/hid/hkbd.c b/sys/dev/hid/hkbd.c index 09339a762679..a938ae70787b 100644 --- a/sys/dev/hid/hkbd.c +++ b/sys/dev/hid/hkbd.c @@ -1640,6 +1640,7 @@ hkbd_ioctl_locked(keyboard_t *kbd, u_long cmd, caddr_t arg) case PIO_KEYMAPENT: /* set keyboard translation table * entry */ case PIO_DEADKEYMAP: /* set accent key translation table */ + case OPIO_DEADKEYMAP: /* set accent key translation table (compat) */ sc->sc_accents = 0; /* FALLTHROUGH */ default: diff --git a/sys/dev/hyperv/input/hv_kbd.c b/sys/dev/hyperv/input/hv_kbd.c index ea1a8b883fbb..2e313b06ca7e 100644 --- a/sys/dev/hyperv/input/hv_kbd.c +++ b/sys/dev/hyperv/input/hv_kbd.c @@ -666,6 +666,7 @@ hvkbd_ioctl_locked(keyboard_t *kbd, u_long cmd, caddr_t arg) case OPIO_KEYMAP: /* set keyboard translation table (compat) */ case PIO_KEYMAPENT: /* set keyboard translation table entry */ case PIO_DEADKEYMAP: /* set accent key translation table */ + case OPIO_DEADKEYMAP: /* set accent key translation table (compat) */ sc->sc_accents = 0; /* FALLTHROUGH */ default: diff --git a/sys/dev/kbd/kbd.c b/sys/dev/kbd/kbd.c index deb7672de7fa..41d6fd5666d8 100644 --- a/sys/dev/kbd/kbd.c +++ b/sys/dev/kbd/kbd.c @@ -790,6 +790,8 @@ genkbd_commonioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) { keymap_t *mapp; okeymap_t *omapp; + accentmap_t *accentmapp; + oaccentmap_t *oaccentmapp; keyarg_t *keyp; fkeyarg_t *fkeyp; int i, j; @@ -898,16 +900,58 @@ genkbd_commonioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) #endif case GIO_DEADKEYMAP: /* get accent key translation table */ - bcopy(kbd->kb_accentmap, arg, sizeof(*kbd->kb_accentmap)); + error = copyout(kbd->kb_accentmap, *(void **)arg, + sizeof(accentmap_t)); + return (error); + break; + case OGIO_DEADKEYMAP: /* get accent key translation table (compat) */ + accentmapp = kbd->kb_accentmap; + oaccentmapp = (oaccentmap_t *)arg; + oaccentmapp->n_accs = accentmapp->n_accs; + for (i = 0; i < NUM_DEADKEYS; i++) { + oaccentmapp->acc[i].accchar = + accentmapp->acc[i].accchar; + for (j = 0; j < NUM_ACCENTCHARS; j++) { + oaccentmapp->acc[i].map[j][0] = + accentmapp->acc[i].map[j][0]; + oaccentmapp->acc[i].map[j][1] = + accentmapp->acc[i].map[j][1]; + } + } break; + case PIO_DEADKEYMAP: /* set accent key translation table */ + case OPIO_DEADKEYMAP: /* set accent key translation table (compat) */ #ifndef KBD_DISABLE_KEYMAP_LOAD - error = accent_change_ok(kbd->kb_accentmap, - (accentmap_t *)arg, curthread); + accentmapp = malloc(sizeof(*accentmapp), M_TEMP, M_WAITOK); + if (cmd == OPIO_DEADKEYMAP) { + oaccentmapp = (oaccentmap_t *)arg; + accentmapp->n_accs = oaccentmapp->n_accs; + for (i = 0; i < NUM_DEADKEYS; i++) { + for (j = 0; j < NUM_ACCENTCHARS; j++) { + accentmapp->acc[i].map[j][0] = + oaccentmapp->acc[i].map[j][0]; + accentmapp->acc[i].map[j][1] = + oaccentmapp->acc[i].map[j][1]; + accentmapp->acc[i].accchar = + oaccentmapp->acc[i].accchar; + } + } + } else { + error = copyin(*(void **)arg, accentmapp, sizeof(*accentmapp)); + if (error != 0) { + free(accentmapp, M_TEMP); + return (error); + } + } + + error = accent_change_ok(kbd->kb_accentmap, accentmapp, curthread); if (error != 0) { + free(accentmapp, M_TEMP); return (error); } - bcopy(arg, kbd->kb_accentmap, sizeof(*kbd->kb_accentmap)); + bcopy(accentmapp, kbd->kb_accentmap, sizeof(*kbd->kb_accentmap)); + free(accentmapp, M_TEMP); break; #else return (ENODEV); diff --git a/sys/dev/kbdmux/kbdmux.c b/sys/dev/kbdmux/kbdmux.c index b70e956830e5..1545022bec2a 100644 --- a/sys/dev/kbdmux/kbdmux.c +++ b/sys/dev/kbdmux/kbdmux.c @@ -1243,6 +1243,7 @@ kbdmux_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) case OPIO_KEYMAP: /* set keyboard translation table (compat) */ case PIO_KEYMAPENT: /* set keyboard translation table entry */ case PIO_DEADKEYMAP: /* set accent key translation table */ + case OPIO_DEADKEYMAP: /* set accent key translation table (compat) */ KBDMUX_LOCK(state); state->ks_accents = 0; diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index 6c349668410d..c456be43d8a4 100644 --- a/sys/dev/syscons/syscons.c +++ b/sys/dev/syscons/syscons.c @@ -1598,6 +1598,8 @@ sctty_ioctl(struct tty *tp, u_long cmd, caddr_t data, struct thread *td) case OPIO_KEYMAP: /* set keyboard translation table (compat) */ case GIO_DEADKEYMAP: /* get accent key translation table */ case PIO_DEADKEYMAP: /* set accent key translation table */ + case OGIO_DEADKEYMAP: /* get accent key translation table (compat) */ + case OPIO_DEADKEYMAP: /* set accent key translation table (compat) */ case GETFKEY: /* get function key string */ case SETFKEY: /* set function key string */ error = kbdd_ioctl(sc->kbd, cmd, data); diff --git a/sys/dev/usb/input/ukbd.c b/sys/dev/usb/input/ukbd.c index c8658f9b62da..e4ee63f59720 100644 --- a/sys/dev/usb/input/ukbd.c +++ b/sys/dev/usb/input/ukbd.c @@ -1862,6 +1862,7 @@ ukbd_ioctl_locked(keyboard_t *kbd, u_long cmd, caddr_t arg) case PIO_KEYMAPENT: /* set keyboard translation table * entry */ case PIO_DEADKEYMAP: /* set accent key translation table */ + case OPIO_DEADKEYMAP: /* set accent key translation table (compat) */ sc->sc_accents = 0; /* FALLTHROUGH */ default: diff --git a/sys/dev/vkbd/vkbd.c b/sys/dev/vkbd/vkbd.c index fdd244ec2525..27cf4549f3db 100644 --- a/sys/dev/vkbd/vkbd.c +++ b/sys/dev/vkbd/vkbd.c @@ -1207,6 +1207,7 @@ vkbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) case OPIO_KEYMAP: /* set keyboard translation table (compat) */ case PIO_KEYMAPENT: /* set keyboard translation table entry */ case PIO_DEADKEYMAP: /* set accent key translation table */ + case OPIO_DEADKEYMAP: /* set accent key translation table (compat) */ state->ks_accents = 0; /* FALLTHROUGH */ diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 2827cc1c85a8..a47343340b0a 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -2403,7 +2403,9 @@ skip_thunk: case GIO_KEYMAP: case PIO_KEYMAP: case GIO_DEADKEYMAP: + case OGIO_DEADKEYMAP: case PIO_DEADKEYMAP: + case OPIO_DEADKEYMAP: case GETFKEY: case SETFKEY: case KDGKBINFO: diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h index 7f17bda76c51..daef8e474816 100644 --- a/sys/sys/kbio.h +++ b/sys/sys/kbio.h @@ -199,8 +199,8 @@ typedef struct okeymap okeymap_t; #define ACC(x) ((x)+F_ACC) struct acc_t { - u_char accchar; - u_char map[NUM_ACCENTCHARS][2]; + u_int accchar; + u_int map[NUM_ACCENTCHARS][2]; }; struct accentmap { @@ -209,6 +209,19 @@ struct accentmap { }; typedef struct accentmap accentmap_t; +#ifdef _KERNEL +struct oacc_t { + u_char accchar; + u_char map[NUM_ACCENTCHARS][2]; +}; + +struct oaccentmap { + u_short n_accs; + struct oacc_t acc[NUM_DEADKEYS]; +}; +typedef struct oaccentmap oaccentmap_t; +#endif /* _KERNEL */ + struct keyarg { u_short keynum; struct keyent_t key; @@ -241,8 +254,13 @@ typedef struct fkeyarg fkeyarg_t; #define OGIO_KEYMAP _IOR('k', 6, okeymap_t) #define OPIO_KEYMAP _IOW('k', 7, okeymap_t) #endif /* _KERNEL */ -#define GIO_DEADKEYMAP _IOR('k', 8, accentmap_t) -#define PIO_DEADKEYMAP _IOW('k', 9, accentmap_t) +/* XXX: Should have accentmap_t as an argument, but that's too big for ioctl()! */ +#define GIO_DEADKEYMAP _IO('k', 8) +#define PIO_DEADKEYMAP _IO('k', 9) +#ifdef _KERNEL +#define OGIO_DEADKEYMAP _IOR('k', 8, oaccentmap_t) +#define OPIO_DEADKEYMAP _IOW('k', 9, oaccentmap_t) +#endif /* _KERNEL */ #define GIO_KEYMAPENT _IOWR('k', 10, keyarg_t) #define PIO_KEYMAPENT _IOW('k', 11, keyarg_t) From nobody Mon Feb 6 23:01:58 2023 X-Original-To: dev-commits-src-main@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 4P9hbW1vkcz3nY0w; Mon, 6 Feb 2023 23:01: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9hbW0qjRz4MRJ; Mon, 6 Feb 2023 23:01:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675724519; 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=svmfUp0o+gGN6thWHrbYREmMkhAANP07OTWFm4PTljE=; b=YWV/GPqqCHelWG+GopvUuPYfBhAaBvbClZmWp99t0aD4upxwbL9s6Y5Qh3eH7n9FfUzSmn ZhQihdv3LDjevAaye+mb3HIxwQHqMwugHkD/qNyr51Uaicgf9MheP6BX3p6f7d/Zua48Mv uDEkHGtNNsAPiYM7D4h4siTOmy6+V5bUNwj7G1n4u60a+gTZui6x7s+lAtvBuWAhd4LQon RtfdwMSj0eUtXMVZiletes+Puk7SiTXUGRDd1sfWlmTcIH12IkHoID6GXBz8wHtqnV95ZV q9BSUbaN77wJe5oBkxj0w05z189jQXtmmtKRa33bwNCYQxzcPHPGOy5V8TdR1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675724519; 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=svmfUp0o+gGN6thWHrbYREmMkhAANP07OTWFm4PTljE=; b=SRJ0Q1ZMKHlrzkZS6k/cYfFlzuRMRyVYVmPCf/uRMxEcVxOzTaR9UoWYAVc2nXBBvWeIh0 B7p2osLQx6x5E43X16vZURG18SJ1CM8W91ma7Hx1lsnimQ4SpY962qkE+iDAVW3EXMKCqz GTm7E68lQngwoFiwADECk2j7HA7BvjoaUGdvq/rrm+SvmARkI/b7wFtO2qHUdsxgnXF+q3 kLrlEaEIp9zrWXrIVxsILGCZTswaR9+YGfq9+QumW6LhwzfkZX8LcEkTr/pzZCbdQ5ZTBB Xq3XJSjvoxOyUOLzxmFLeTgysCJutjCQDEE47+P6tlpIEGcFLrbg9ljTXy/dxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675724519; a=rsa-sha256; cv=none; b=lbdGgaeAXsFWVJC6GnJSzP+XIh8+S/x3KTyQvZqTc1BiZ1OtE2QLgxgdpZI3JTQ9S74R/K D1cBAlEedP5nONmF1CcRFYJK5iC2lCG3u7C2Je0phBiwYPbxOwDjPAb3AWbnbQ25X4XdbM Of5VO86ma+D3lREkcnDx4xgKiYVhawO0cWnI5n0WoG+COOM473NyJeUOdIT9B3SQF3jbbP xtgITe9DLxC7BbvL+MTWcZySNZxhsuIxiqTY++s1qiDL1rzc7295HUxX/o8up2ahnjd2FO lVfKU/ECEHUhkxX3zlnliXJ2QRLrVODeLlRjD6gnqwxiDFyeBUCYVdwRGv3e7w== 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 4P9hbV7390ztVH; Mon, 6 Feb 2023 23:01:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316N1wB2021459; Mon, 6 Feb 2023 23:01:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316N1w7w021458; Mon, 6 Feb 2023 23:01:58 GMT (envelope-from git) Date: Mon, 6 Feb 2023 23:01:58 GMT Message-Id: <202302062301.316N1w7w021458@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Stefan=20E=C3=9Fer?= Subject: git: b92f8e5c0dcc - main - usr.sbin/kbdcontrol.c: Add backwards compatibility functions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b92f8e5c0dccd52ea194cabe835b7af0b5e91f09 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=b92f8e5c0dccd52ea194cabe835b7af0b5e91f09 commit b92f8e5c0dccd52ea194cabe835b7af0b5e91f09 Author: Stefan Eßer AuthorDate: 2023-02-06 22:56:44 +0000 Commit: Stefan Eßer CommitDate: 2023-02-06 22:56:44 +0000 usr.sbin/kbdcontrol.c: Add backwards compatibility functions This commit allows a kbdcontrol binary built with a version of kbio.h that supports Unicode characters in dead key maps to load and display keymaps including the dead key tables on a kernel built with a previous version of kbio.h (that only supported 8 bit characters in the dead key map). This commit is meant as a temporary compatibility shim that will be reverted when it can be assumed that all relevant systems have been upgraded to a kernel that uses the updated kbio.h. MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38388 --- sys/sys/kbio.h | 8 +++---- usr.sbin/kbdcontrol/kbdcontrol.c | 49 ++++++++++++++++++++++++++++++++++++---- 2 files changed, 48 insertions(+), 9 deletions(-) diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h index daef8e474816..a129556d1ada 100644 --- a/sys/sys/kbio.h +++ b/sys/sys/kbio.h @@ -209,7 +209,7 @@ struct accentmap { }; typedef struct accentmap accentmap_t; -#ifdef _KERNEL +//#ifdef _KERNEL struct oacc_t { u_char accchar; u_char map[NUM_ACCENTCHARS][2]; @@ -220,7 +220,7 @@ struct oaccentmap { struct oacc_t acc[NUM_DEADKEYS]; }; typedef struct oaccentmap oaccentmap_t; -#endif /* _KERNEL */ +//#endif /* _KERNEL */ struct keyarg { u_short keynum; @@ -257,10 +257,10 @@ typedef struct fkeyarg fkeyarg_t; /* XXX: Should have accentmap_t as an argument, but that's too big for ioctl()! */ #define GIO_DEADKEYMAP _IO('k', 8) #define PIO_DEADKEYMAP _IO('k', 9) -#ifdef _KERNEL +//#ifdef _KERNEL #define OGIO_DEADKEYMAP _IOR('k', 8, oaccentmap_t) #define OPIO_DEADKEYMAP _IOW('k', 9, oaccentmap_t) -#endif /* _KERNEL */ +//#endif /* _KERNEL */ #define GIO_KEYMAPENT _IOWR('k', 10, keyarg_t) #define PIO_KEYMAPENT _IOW('k', 11, keyarg_t) diff --git a/usr.sbin/kbdcontrol/kbdcontrol.c b/usr.sbin/kbdcontrol/kbdcontrol.c index f4651acea840..725d62a7bfe6 100644 --- a/usr.sbin/kbdcontrol/kbdcontrol.c +++ b/usr.sbin/kbdcontrol/kbdcontrol.c @@ -818,11 +818,27 @@ add_keymap_path(const char *path) STAILQ_INSERT_TAIL(&pathlist, pe, next); } +static void +to_old_accentmap(accentmap_t *from, oaccentmap_t *to) +{ + int i, j; + + to->n_accs = from->n_accs; + for (i = 0; i < NUM_DEADKEYS; i++) { + for (j = 0; j < NUM_ACCENTCHARS; j++) { + to->acc[i].map[j][0] = from->acc[i].map[j][0]; + to->acc[i].map[j][1] = from->acc[i].map[j][1]; + to->acc[i].accchar = from->acc[i].accchar; + } + } +} + static void load_keymap(char *opt, int dumponly) { keymap_t keymap; accentmap_t accentmap; + oaccentmap_t oaccentmap; struct pathent *pe; FILE *file; int j; @@ -882,9 +898,27 @@ load_keymap(char *opt, int dumponly) } if ((accentmap.n_accs > 0) && (ioctl(0, PIO_DEADKEYMAP, &accentmap) < 0)) { - warn("setting accentmap"); - fclose(file); - return; + to_old_accentmap(&accentmap, &oaccentmap); + if (ioctl(0, OPIO_DEADKEYMAP, &oaccentmap) < 0) { + warn("setting accentmap"); + fclose(file); + return; + } + } +} + +static void +to_new_accentmap(oaccentmap_t *from, accentmap_t *to) +{ + int i, j; + + to->n_accs = from->n_accs; + for (i = 0; i < NUM_DEADKEYS; i++) { + for (j = 0; j < NUM_ACCENTCHARS; j++) { + to->acc[i].map[j][0] = from->acc[i].map[j][0]; + to->acc[i].map[j][1] = from->acc[i].map[j][1]; + to->acc[i].accchar = from->acc[i].accchar; + } } } @@ -893,12 +927,17 @@ print_keymap(void) { keymap_t keymap; accentmap_t accentmap; + oaccentmap_t oaccentmap; int i; if (ioctl(0, GIO_KEYMAP, &keymap) < 0) err(1, "getting keymap"); - if (ioctl(0, GIO_DEADKEYMAP, &accentmap) < 0) - memset(&accentmap, 0, sizeof(accentmap)); + if (ioctl(0, GIO_DEADKEYMAP, &accentmap) < 0) { + if (ioctl(0, OGIO_DEADKEYMAP, &oaccentmap) == 0) + to_new_accentmap(&oaccentmap, &accentmap); + else + memset(&accentmap, 0, sizeof(accentmap)); + } printf( "# alt\n" "# scan cntrl alt alt cntrl lock\n" From nobody Mon Feb 6 23:10:18 2023 X-Original-To: dev-commits-src-main@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 4P9hn63Pspz3nYJ3; Mon, 6 Feb 2023 23:10: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9hn62wwrz4NNJ; Mon, 6 Feb 2023 23:10:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675725018; 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=AfJQDFcOtN8UGKoLF9hX5QDw4dIXnlhWlvjsGdvlWug=; b=xSIxXrGRf7+M6OK+ehcAXZ9PBfyGoEft92QHnM0FOBEKjMejgLHnQXp5A0S8yDfRTzb/2H zCNk7t6i7ATtwyHCRZCAhVgywUad/4KCMT1RuE8I17nTG2urURNYqSjk8nieCa7glGu8HM FW5/KxUIzS9riwjlhRl8D02U7uk9G6Pte1bjb62GJWm3Wgi+DZQPV9rO8YAA+bu36mq0PR CThLwZ0CdJYtod3u8lO6YMtv8k1dGQXMcPursm0fVWqdFZWjYG6epDZAQ6lyMQu2zGKs+Q Jp3hnWlRGOjIRVU/KXsGkxI1QQ4W1P8iGsJGQKYRcaUliN0OgBN+jyinDHts2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675725018; 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=AfJQDFcOtN8UGKoLF9hX5QDw4dIXnlhWlvjsGdvlWug=; b=VRCAxg+PIM/PNz49poPDoJbPKuz8KS2Invj78Pm/IN2a70u64glA6YwyuDt0ojE9SKLWVI hQY6KcFPuU3pDXKl58K4SVcWyW4JxRR5RPKOh1zTktqI0aFIUf+i4QE1F7W+ivC8vZkoak jMWRmbXVsXssGf0EokAfT1ntYb+2ccDUVx3sA6cAoNFv7EYkyZmprJ1mtDIxdB33V5c7J7 hApeJ23VbgzwPqySC4MDUom7cPswVkvOfLnPjTg9OMQyGOJC+ukocCNTChH7gfOjPfjE/e lveha+mKNQ3mVfhAUPz0TPTwAWlZr1R8plLi8zDgqTWkepZ86KcXsGquwx97Sw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675725018; a=rsa-sha256; cv=none; b=Djk+vcYnYh2ldqwih38KN7wTYStGqFi/XEvHHz60DBQVvxYUU/aLk/geaX+4XwjK6sdys+ hJ4k9eCSkAkxEEjrmRJLm+wTK9YyNDo50fwVL06WjfMlUbzeiTTaXmzFWotxGieELfbcj8 viA+0ML83N9jD6xIq2PoDQrmAnhjdx9tYccE75hDmGcK1jTsEIpINFvlbFAkaHKO/CslE8 9gUQouXydYq9Q1KzCI3UnGWmoTrCpgdcpmAkyWMzQE1KEZOtn8vMv5hVm4xp5ooUxyv/ks 7ITJ1B7JGXfA7rv97y1lBFT4/yAl7ykUYiYZWtl9OHjLKygGzC+tqsT5KNPmWQ== 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 4P9hn6211CztSV; Mon, 6 Feb 2023 23:10:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 316NAIKm031846; Mon, 6 Feb 2023 23:10:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316NAIOf031845; Mon, 6 Feb 2023 23:10:18 GMT (envelope-from git) Date: Mon, 6 Feb 2023 23:10:18 GMT Message-Id: <202302062310.316NAIOf031845@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Cochard Subject: git: d22c5c42e8ad - main - Skip if_wg regression tests if module doesn't exist List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olivier X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d22c5c42e8ad1ad07a206e0e8d06c53326c12fd4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by olivier (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=d22c5c42e8ad1ad07a206e0e8d06c53326c12fd4 commit d22c5c42e8ad1ad07a206e0e8d06c53326c12fd4 Author: Olivier Cochard AuthorDate: 2023-02-06 23:06:48 +0000 Commit: Olivier Cochard CommitDate: 2023-02-06 23:06:48 +0000 Skip if_wg regression tests if module doesn't exist Approved by: jhb Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D38406 --- tests/sys/net/if_wg.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/sys/net/if_wg.sh b/tests/sys/net/if_wg.sh index 6946fb72524a..1612e05ef168 100644 --- a/tests/sys/net/if_wg.sh +++ b/tests/sys/net/if_wg.sh @@ -42,7 +42,7 @@ wg_basic_body() local epair pri1 pri2 pub1 pub2 wg1 wg2 local endpoint1 endpoint2 tunnel1 tunnel2 - kldload -n if_wg + kldload -n if_wg || atf_skip "This test requires if_wg and could not load it" pri1=$(wg genkey) pri2=$(wg genkey) @@ -111,7 +111,7 @@ wg_key_peerdev_shared_body() local epair pri1 pub1 wg1 local endpoint1 tunnel1 - kldload -n if_wg + kldload -n if_wg || atf_skip "This test requires if_wg and could not load it" pri1=$(wg genkey) @@ -152,7 +152,7 @@ wg_key_peerdev_makeshared_body() local epair pri1 pub1 pri2 wg1 wg2 local endpoint1 tunnel1 - kldload -n if_wg + kldload -n if_wg || atf_skip "This test requires if_wg and could not load it" pri1=$(wg genkey) pri2=$(wg genkey) From nobody Tue Feb 7 00:07:54 2023 X-Original-To: dev-commits-src-main@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 4P9k3b0qt4z3nclg; Tue, 7 Feb 2023 00:07: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9k3b09L0z3CX5; Tue, 7 Feb 2023 00:07:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675728475; 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=dceNeyGhptxnCZ6RkQ8R7/W5fb3yxDL3VC4Wo0al5sU=; b=Sk80yJquLRfKSSxaeYrQsXlrMKT+cv5Ep5gH/DjRzcNAIWCV0Bxb0Qum0Hgc2YfMSXZ5yn HU4Z7qSfEv8/4ypqh3J/KnwvKpSuYeXYLaja3n0CCM7Tv8+uTdoNpzIesyQurDTa12YfIQ 7hV2eM0JdbV4bz+D/k3y7tLiXt/sOMm4neE2ZYIetjCFKJb1THci+6+c10cZ3qk8voesPC h42Yeslo46WwACEOLQRxZTGmi1yQd96y2BXVabiepDl3NroTIJxoc42nIhwxUaJkWtT0dr LSlu7+Fv+iZ/Cpv/ihedIL0WuUmOQDdWLihrnHjEe4o5sNS+t1o2PHzITwcXrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675728475; 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=dceNeyGhptxnCZ6RkQ8R7/W5fb3yxDL3VC4Wo0al5sU=; b=exG9NXziIXXMIlPLMsPpH3qRr+DZ57fmWvhhCBvpKoLdkPeCHZfaI7KewfJOo5iZ3Nlox7 SOEq4SIFTRVWCBABHoGet86aT/7PaaXGkTRDdnB4X0lMfujTjR+wX06mBZ50Hv7jrIbezF 2o1oUUuRe1QojYiNuAaZY5NRKmMtZeTJMoCGYG3zOW0XZ32KmwpU+WN78zGaAUL66q+Pui v2GKx6tEfKF8bvFQGkV0mODOW/gw5hsOp9PfDVnt+59umPC6ElyoDnyytIHRz2RjRetMu8 uR7a7qOapM4DRWSByTP34gdnAvOSAYmHaBh2zT46vSGaDwdBD9SAQ2AQECb3sQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675728475; a=rsa-sha256; cv=none; b=YMSnTCJBqye7B0Upqvbrm10+Yn9uHnZQTnNdNNGi9E/GcWzTYhMX0CSM2WPDVzwrx2p1Ey vqUZZWMwYRdeoO16faXKWXQKrapcAMXzt+BNtoC/llaqRRaS2ShPmB9YZzzuOKXoM02r8Z mCdqqbcYV/qlRhHK6lSyjG/POgV4KWESsYr7uFjPwYg4sj29fZgMmWl+clTyaKiYBivLKn TU/PHb9Hsynr7vO5J6N0OrA16o3V0pV6KC783rTHKuT6/K7n0yPpYeGjbyasqF0znCEx3R YhO0TtPQs4fiJyC1ArCZCuCY3Qs5RmpvceO/6KYKU2JAss2KFgrfc5D+bpsPDA== 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 4P9k3Z6LbJzvlD; Tue, 7 Feb 2023 00:07:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31707s9r008585; Tue, 7 Feb 2023 00:07:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31707sqe008584; Tue, 7 Feb 2023 00:07:54 GMT (envelope-from git) Date: Tue, 7 Feb 2023 00:07:54 GMT Message-Id: <202302070007.31707sqe008584@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 77934b7a1301 - main - ssh: default X11Forwarding to no, following upstream List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 77934b7a1301737edcd3518f1af99a387b3068ae Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=77934b7a1301737edcd3518f1af99a387b3068ae commit 77934b7a1301737edcd3518f1af99a387b3068ae Author: Ed Maste AuthorDate: 2022-11-14 20:24:54 +0000 Commit: Ed Maste CommitDate: 2023-02-06 23:41:10 +0000 ssh: default X11Forwarding to no, following upstream Administrators can enable it if required. Reviewed by: bz, kevans Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37411 --- UPDATING | 5 +++++ crypto/openssh/FREEBSD-upgrade | 1 - crypto/openssh/servconf.c | 2 +- crypto/openssh/sshd_config | 2 +- crypto/openssh/sshd_config.5 | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/UPDATING b/UPDATING index 4623d1a5343c..069be7562516 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 14.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20230206: + sshd now defaults to having X11Forwarding disabled, following upstream. + Administrators who wish to enable X11Forwarding should add + `X11Forwarding yes` to /etc/ssh/sshd_config. + 20230130: As of commit 7c40e2d5f685, the dependency on netlink(4) has been added to the linux_common(4) module. Users relying on linux_common may need diff --git a/crypto/openssh/FREEBSD-upgrade b/crypto/openssh/FREEBSD-upgrade index f4be34754af7..5f0e399deb04 100644 --- a/crypto/openssh/FREEBSD-upgrade +++ b/crypto/openssh/FREEBSD-upgrade @@ -113,7 +113,6 @@ - UsePAM defaults to "yes". - PermitRootLogin defaults to "no". - - X11Forwarding defaults to "yes". - PasswordAuthentication defaults to "no". - VersionAddendum defaults to "FreeBSD-YYYYMMDD". - UseDNS defaults to "yes". diff --git a/crypto/openssh/servconf.c b/crypto/openssh/servconf.c index 0bffed7b582e..d3aa1eaea93b 100644 --- a/crypto/openssh/servconf.c +++ b/crypto/openssh/servconf.c @@ -331,7 +331,7 @@ fill_default_server_options(ServerOptions *options) if (options->print_lastlog == -1) options->print_lastlog = 1; if (options->x11_forwarding == -1) - options->x11_forwarding = 1; + options->x11_forwarding = 0; if (options->x11_display_offset == -1) options->x11_display_offset = 10; if (options->x11_use_localhost == -1) diff --git a/crypto/openssh/sshd_config b/crypto/openssh/sshd_config index 5e7cdbdfe04f..581aa9e73d48 100644 --- a/crypto/openssh/sshd_config +++ b/crypto/openssh/sshd_config @@ -88,7 +88,7 @@ AuthorizedKeysFile .ssh/authorized_keys #AllowAgentForwarding yes #AllowTcpForwarding yes #GatewayPorts no -#X11Forwarding yes +#X11Forwarding no #X11DisplayOffset 10 #X11UseLocalhost yes #PermitTTY yes diff --git a/crypto/openssh/sshd_config.5 b/crypto/openssh/sshd_config.5 index 573b9d84e813..3a25e048889b 100644 --- a/crypto/openssh/sshd_config.5 +++ b/crypto/openssh/sshd_config.5 @@ -1932,7 +1932,7 @@ The argument must be or .Cm no . The default is -.Cm yes . +.Cm no . .Pp When X11 forwarding is enabled, there may be additional exposure to the server and to client displays if the From nobody Tue Feb 7 01:08:15 2023 X-Original-To: dev-commits-src-main@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 4P9lPC4vFsz3nggP; Tue, 7 Feb 2023 01:08: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9lPC4RV7z3Htg; Tue, 7 Feb 2023 01:08:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675732095; 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=do5bd3uDWZ6q8M9+JPJ9pteG6IlIjZV5XIFNry7f7Gg=; b=u0gFCCXSkXt4UUyxUv5wbik4ry2n/J8YUSs76l4bLsXl+YzmqkfJcekNfqgqaoRe14UxPE n0n9XvahztsdDhPW4+3STtePy++3ZQbDMES+XTjRCcvPa+2I4bFntpzVLpdE4RH3+Uqnxt krb550b9RbijV/evFMk3biIkSR34YCDRKTkIW1Ae+8xbiueZBSgrW/OqctHYdkE2xzlAuu CT6C9zdVhC38u9zhn1JE56qN55h+4CnCcB2i0S4Mz0daJOp6k2hIt5e35RDFOco4UEqwJh d3qWwq0WxegU4ngdpMJc4v2yEtchs5cRnJgzMqrbC1wbT3kk54hYdTIW5t0VUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675732095; 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=do5bd3uDWZ6q8M9+JPJ9pteG6IlIjZV5XIFNry7f7Gg=; b=yNjNgSQlo7ESyScybQgQHLiWtScOh2IxJxEracybEU3NXPjYKSfu4E+OULwfZKfIAHQ2Bm C1OsdbyZ7JVTuJtIUx9LlG1ygWtqopnEMFJ0Z8BAYfe+0DjCoYdQJXVI+EtcJ8TTYSP1ft ASgSpzOeb8lp/Br8w8ScwGqRuUAdPBYLcMpcj9SR91PK2ZVzCapmIrF2WpcAgEbRhlPQDY dth42nLBryvNw9tyOa7nwy2VHW4sCCirEt8Lc8NkZjKi4WAAhrD5YBNF5lqG+dlXDEumEq /2sJY7kmsKMhxxIU5AUrHj6qnmOGnc+QpZby6F5wbuwV2mPU4g2FO0m7ba12Gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675732095; a=rsa-sha256; cv=none; b=KX4sCGoSlJCNWfoYBTxubPLOlP+AKQ1IzwYHSoEFlUAnbZ2CTVeBDGEQm4vBVyibAUf3oY xXEyxzbyKeN4PHVwjZ0zwq0XqvQr+j4SK9aPrL5QPpgdsqiWj7HQWxw3kGGfBaQ6c21EVV HL3wxDp9DECso/WRvWhiwAHEzXdEvd0aAS6oYK0niLQYluQMZggkKrkYUUhVvBZXpWnOmE h3mnBcdFq+8gcdivEttY7Gdc2BRVhOKh4sgkwGwfPK3gbbf7BoSvOW7PeQjQ82ANQ3zeMf b2fdz321UjxmNjiJ010q8I9EOcaEth41dpQ9Ou2Nrajq21gYtJ87/wXTQRhQyw== 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 4P9lPC3Lm9zxFc; Tue, 7 Feb 2023 01:08:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31718FT0094437; Tue, 7 Feb 2023 01:08:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31718FnB094436; Tue, 7 Feb 2023 01:08:15 GMT (envelope-from git) Date: Tue, 7 Feb 2023 01:08:15 GMT Message-Id: <202302070108.31718FnB094436@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: e39661251110 - main - cxgbe T6 KTLS: Use intotcpcb(). List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e39661251110e8adc8e665b4139d24c5db0fceca Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e39661251110e8adc8e665b4139d24c5db0fceca commit e39661251110e8adc8e665b4139d24c5db0fceca Author: John Baldwin AuthorDate: 2023-02-07 01:05:18 +0000 Commit: John Baldwin CommitDate: 2023-02-07 01:07:53 +0000 cxgbe T6 KTLS: Use intotcpcb(). Fixes: e68b3792440c tcp: embed inpcb into tcpcb Sponsored by: Chelsio Communications --- sys/dev/cxgbe/crypto/t6_kern_tls.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/cxgbe/crypto/t6_kern_tls.c b/sys/dev/cxgbe/crypto/t6_kern_tls.c index 4340c5484763..0be0c092d7e0 100644 --- a/sys/dev/cxgbe/crypto/t6_kern_tls.c +++ b/sys/dev/cxgbe/crypto/t6_kern_tls.c @@ -469,7 +469,7 @@ t6_tls_tag_alloc(struct ifnet *ifp, union if_snd_tag_alloc_params *params, } tlsp->inp = inp; - tp = inp->inp_ppcb; + tp = intotcpcb(inp); if (tp->t_flags & TF_REQ_TSTMP) { tlsp->using_timestamps = true; if ((tp->ts_offset & 0xfffffff) != 0) { From nobody Tue Feb 7 07:44:09 2023 X-Original-To: dev-commits-src-main@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 4P9wB15wJkz3pJw2; Tue, 7 Feb 2023 07:44: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9wB145mgz48KV; Tue, 7 Feb 2023 07:44:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675755849; 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=AVP7UVVX3vWWSyPDdLxi4s+5iYPUdrxKVNt5CyRMlIE=; b=DXrUwThj0YFCWBRVkbN3Vei6OaLlSoapSP6XU1M/L3JB48AlIv6MOtBSW/ST0R6GpROcgr HfI3UzNc+rN36WJU2hcbWRD79+Mc2hjZasW7+K99up6rbO8wY4eZOFINZGoE9h9znZkkvI 3uTwsl9qysy4mVAhxHrpS+NeSZ2pZ+x/Wl16j/l9ZRo8MN8478LUgPfilFgRRA9tf04hc9 e0uWyIyF2pVxIRLlGi+hLn5lgbxYU7dQHA8GUylJqyaW4Ut3NBwk2vNpVaoh4Uj2N0uAQC 371qJreHovbbtAsDxXqBNFWIsD0FqLrNW47pWw4wWWZW+mjlJa3EzI5a63seug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675755849; 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=AVP7UVVX3vWWSyPDdLxi4s+5iYPUdrxKVNt5CyRMlIE=; b=q7VJw8A/GgN8MCxH1Zi86KZnu7Z9rgzvW9yqh67GPJR3rpu3njQdnFoFYU8BHWi/VXPP/Z 4cDrk9aDENqwkcQHk4ZO7Bk6ClwR+KE3GwGFYqWqg7IvyzPFWnL+Sbcs113jsSHG0cOj+N QW7FTaEAFNAylFIjwD5gWMpQypb4w5wYM6kXqIpVfHNeKSA2P376MrfuZNfifGAhIqjmdY 95n0QAdJ+d7jjyHoTE2k1gCX0vjsH5Lgcd+E5kbEWBTkW4tFAHbj66DrV2/x69MNzLjSE7 JpTt6YdLtmNcc1Vnd1XQQdFLMcifYo2z1FTagx9688PzaJvGzHqM86QBowgqCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675755849; a=rsa-sha256; cv=none; b=dHFPdp9K2WDz5+2OJW/sNQBdvhhC7FCU4avoeCrtBLjN+Q+1smoEWafmZaIx+w67JIlLDv 4oJEuoQ1mrS/mCInwi9u+nRaJvNkx5ryqXdVjFuQIOvkMHl86tA+9Stl3a0T+t6+xZNYrf Hqpw9cYKFBw5fAgvgHefKa81YNmgs9CxtzfsO2z4ncRrvyGRIbB0WM6yUxIxEJqa62QaZc QdXeQsHOPTi4VNEfv2QXWAruC4zDG3/E1q7D2wjVoOL/cXDKPZQjpKNgtBc6Hpnl4S3gCa WdtQyAhz3djFrKvuceXCeVaRHE4P6ZlwXmy3RNHeuaUqGIlPH+ED8L27g2QVtA== 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 4P9wB13Bhqz17p3; Tue, 7 Feb 2023 07:44:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3177i9N3062867; Tue, 7 Feb 2023 07:44:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3177i9MJ062866; Tue, 7 Feb 2023 07:44:09 GMT (envelope-from git) Date: Tue, 7 Feb 2023 07:44:09 GMT Message-Id: <202302070744.3177i9MJ062866@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 901b050b36b9 - main - bsdlabel: Remove a write-only variable. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 901b050b36b991a9399acfb9c3eeb33704c5af03 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=901b050b36b991a9399acfb9c3eeb33704c5af03 commit 901b050b36b991a9399acfb9c3eeb33704c5af03 Author: Dmitry Chagin AuthorDate: 2023-02-07 07:43:18 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-07 07:43:18 +0000 bsdlabel: Remove a write-only variable. Since r149061 (2005) the total_size variable is write-only. Differential Revision: https://reviews.freebsd.org/D38368 MFC after: 2 weeks --- sbin/bsdlabel/bsdlabel.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/sbin/bsdlabel/bsdlabel.c b/sbin/bsdlabel/bsdlabel.c index 943f37207fc2..efe7eebf23c6 100644 --- a/sbin/bsdlabel/bsdlabel.c +++ b/sbin/bsdlabel/bsdlabel.c @@ -1094,7 +1094,7 @@ checklabel(struct disklabel *lp) struct partition *pp; int i, errors = 0; char part; - u_long base_offset, needed, total_size, total_percent, current_offset; + u_long base_offset, needed, total_percent, current_offset; long free_space; int seen_default_offset; int hog_part; @@ -1173,7 +1173,6 @@ checklabel(struct disklabel *lp) /* first allocate space to the partitions, then offsets */ - total_size = 0; /* in sectors */ total_percent = 0; /* in percent */ hog_part = -1; /* find all fixed partitions */ @@ -1234,9 +1233,6 @@ checklabel(struct disklabel *lp) size /= lp->d_secsize; pp->p_size = size; } - /* else already in sectors */ - if (i != RAW_PART) - total_size += size; } } } @@ -1272,7 +1268,6 @@ checklabel(struct disklabel *lp) if (part_set[i] && part_size_type[i] == '%') { /* careful of overflows! and integer roundoff */ pp->p_size = ((double)pp->p_size/100) * free_space; - total_size += pp->p_size; /* FIX we can lose a sector or so due to roundoff per partition. A more complex algorithm could avoid that */ @@ -1328,7 +1323,6 @@ checklabel(struct disklabel *lp) } else { lp->d_partitions[hog_part].p_size = current_offset - base_offset - needed; - total_size += lp->d_partitions[hog_part].p_size; } } From nobody Tue Feb 7 07:44:10 2023 X-Original-To: dev-commits-src-main@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 4P9wB25pmFz3pK29; Tue, 7 Feb 2023 07:44: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9wB25HVVz48T3; Tue, 7 Feb 2023 07:44:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675755850; 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=ELi2zj5wT4mO/O1G7niXAwl2EB9G7DUsh6r2Lk/69Ws=; b=c0ON7VhmFq5JqPUP52FX1ER0BlZ6cfBGNFe4PSgEDymAzOnFPFGwSfNsX1BGmWpl/MhSwo ZLRe1dxtYxABv2ZX6l0ix3m8K5wv6xXAJCWnd2fJs2nvw/OoQVJHUyH2nvtkgFoBiihsJf iQSj9TVbnZRq6+4td4Qgtq8Z0JDbyy1xaYkNWdB1fuXXWYjTbuHm05QYIIv3S2HdZ5e/Os FyhVBmyFAxdOEhpMqoce1nJEuxfeYNTW5nLB365UZ1YVzJ6esfrc2fsZEiyV9QJZs0LKj3 Q2bJTQgirn+HRy2yZT6CtdkrWQjL8MuOidl1jsAgFiDt2XXCl3K5cUaQ6+EbBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675755850; 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=ELi2zj5wT4mO/O1G7niXAwl2EB9G7DUsh6r2Lk/69Ws=; b=WCjkbYi5WAq6fZqRllzhQxrSrBSIxTtQUPKRLqTFq/IAt3XzFjkeRvyrnKyxDpG8fqxrFV zi0Ysf7JvFVj6eGA8CHdI/fQEVqM9HbWzWtIwNQxTbnDjmADt5640Cue/IjLbUF4bUWPY0 rYIM11jQEg0WdddZhBMiTsjky5fZSsHgGkhDNwXYnHDXnHJdYVAo+EHFOJMyS2JVKUibQ7 34CWIleh1k8w4WSRmMqOi7Z9kJswdBpxK32pDbz+eqPv3q34My6x9NF8u7yKL4JUQNpTYs ID4SfXhPA+ZwB2uHhCXBVLpPaX/Nj9f6r0QRoDUKRaxK0DJPf5gx6J+89LTUCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675755850; a=rsa-sha256; cv=none; b=PiEZyVdhGrcM+cIQwErRmbJyYe9YfKzHoqz/UCLTX3roBu5R9TnCoEokjFsG8cSme5YU53 mJ8/BaVPyjOvUXaRPVbe0B2cOiOkQ5K+rRZfbb8+CYxrGFBImii/LYpJ4XiVywT7x7oh9M JRVLdv41AbAY+iy4RJn7O7/I6tGufRyBZunXBRfESr/wKHdGISPLd5QSDdAEBpsQjNYfKQ Z3MsVWosjjrA/8WcDw+ZFUGMs/1VscZr6PPZvs8biD+EnKL4Q3rDyrKU8Xc+8YRw1oSo4t Ge1bPxrSI1q8y5zRHIDQNZO+VEM6iYifbZGDpnkZ3vcYpHLkYqG7pftuCYsU7g== 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 4P9wB24Mbpz17N9; Tue, 7 Feb 2023 07:44:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3177iAoO062893; Tue, 7 Feb 2023 07:44:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3177iA9O062892; Tue, 7 Feb 2023 07:44:10 GMT (envelope-from git) Date: Tue, 7 Feb 2023 07:44:10 GMT Message-Id: <202302070744.3177iA9O062892@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: de59f46a825b - main - bsdlabel: Fix whitespace. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: de59f46a825b7ba7b7183a4a2771afef85f59732 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=de59f46a825b7ba7b7183a4a2771afef85f59732 commit de59f46a825b7ba7b7183a4a2771afef85f59732 Author: Dmitry Chagin AuthorDate: 2023-02-07 07:43:40 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-07 07:43:40 +0000 bsdlabel: Fix whitespace. MFC after: 1 week --- sbin/bsdlabel/bsdlabel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/bsdlabel/bsdlabel.c b/sbin/bsdlabel/bsdlabel.c index efe7eebf23c6..f438b9f45158 100644 --- a/sbin/bsdlabel/bsdlabel.c +++ b/sbin/bsdlabel/bsdlabel.c @@ -146,7 +146,7 @@ main(int argc, char *argv[]) FILE *t; int ch, error, fd; const char *name; - + error = 0; name = NULL; From nobody Tue Feb 7 10:22:14 2023 X-Original-To: dev-commits-src-main@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 4P9zhR11J9z3knXH; Tue, 7 Feb 2023 10:22: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P9zhQ5l3Mz4Np8; Tue, 7 Feb 2023 10:22:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675765334; 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=O6+vtc/GGXhq+4Jd/84/2bhjUtET+99wpVkcgSdYKCM=; b=jHB3IkZO79ZYYZiONWwqnkHRcbreBi5SldSruSPcndRFrazmtNvGIt3rS5pSIJitVoqRhm BCGF305MKPiEJ5xrU3n4jIqA005qpy2q7R6GfXY37a6B8/AQtMPJZVi2NMj/hYrkgzJIUx uJARHGNlwbBZUyvkaY+MSPm3LHtZIKqasJpgtcBOCFjVXJBGMqn7sLc0EFWlHnnd6kwxVh AO+x4CanWDcqD7gSEQJjMcwOCyZ/rzeoRY+so922nu7ynAjcQHpYu+atQYZdJ+LVc2YjBl oYDS2trsxcuVvcy4TGc+GsuhYx5PoIZJ3TF7xcUGqb9m4WbiLqNomkiRRBMbyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675765334; 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=O6+vtc/GGXhq+4Jd/84/2bhjUtET+99wpVkcgSdYKCM=; b=WACpEa3jdcCQ3JLC9dHtgKFMhCDnPrWVVkei5M+Q5eZsx+5Z1N3aGVVpM4iql/4MBw1j5V aJVL9A3jeZeMiAEzGwYp/K1cO8dkFCI3IflyuTn1kjYall0Gogxe+4qbyyoKfGT7nsqReR XVO+J1lJaA1nguwUUlTCvVgpKoBaz+UzcaJjOnFZBSBySZPo4BrL4n45LSAWU/PLvSo2KP JcdvZQ5gp3jrYfHDjdmPU1fO9yynOX1WvoqdR3vvdT6p1qiGrkioWb/8cAc2VD1tbm0L+R n9/2wcKU+pMLKRZo8BVwttHU39FAaHdctSjo4OzN3ZnK/itAXqwlONdLO3xVQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675765334; a=rsa-sha256; cv=none; b=pPzxcHC5LMONivAnB7gppRveZ7FHxBjyILMLeGhzC4qStI/VAl3zLgNzfRTOOZP5+itlj4 cevUyM+JEZhRBDgrk6eddewZgBrOVvLM6TDg6WrN5VToE54U2g+5evq0MXK4nP44Ba/YcV 0RA+CSGbHCPbj69fC19+GE5WVSkWeu/M1Qf0iZ/pcneSW7B92lJZJ4DzOsuCh8UusYXC6w FFrk0coMJiH6jgZiLzRcmXMlguTKAJDKVT/Nyok34qM6Zauko4VLmospSPxA4WqcWzSXBM /1zIz3VxPtmh0GvNY8V5L8ZiGyvFgvtWNCN3ovEfNo4KiEsOm60psAsoYeAAoQ== 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 4P9zhQ4ppYz1CDC; Tue, 7 Feb 2023 10:22:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317AMEUu090813; Tue, 7 Feb 2023 10:22:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317AMEW2090812; Tue, 7 Feb 2023 10:22:14 GMT (envelope-from git) Date: Tue, 7 Feb 2023 10:22:14 GMT Message-Id: <202302071022.317AMEW2090812@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tijl Coosemans Subject: git: 8932f7ce1783 - main - local-unbound-setup: Use default root certificates List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tijl X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8932f7ce1783a10e9ba79c61d54077aa7693552e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by tijl: URL: https://cgit.FreeBSD.org/src/commit/?id=8932f7ce1783a10e9ba79c61d54077aa7693552e commit 8932f7ce1783a10e9ba79c61d54077aa7693552e Author: Tijl Coosemans AuthorDate: 2023-01-19 17:13:35 +0000 Commit: Tijl Coosemans CommitDate: 2023-02-07 10:13:33 +0000 local-unbound-setup: Use default root certificates Don't force /etc/ssl/cert.pem. It does not exist by default, only if security/ca_root_nss is installed. Just use the default OpenSSL search locations which are /etc/ssl/cert.pem and /etc/ssl/certs/. The tls-system-cert option was added in Unbound 1.16.0. Reviewed by: zlei MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38243 --- usr.sbin/unbound/setup/local-unbound-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/unbound/setup/local-unbound-setup.sh b/usr.sbin/unbound/setup/local-unbound-setup.sh index 3be78339b0ba..dc0768a672a6 100755 --- a/usr.sbin/unbound/setup/local-unbound-setup.sh +++ b/usr.sbin/unbound/setup/local-unbound-setup.sh @@ -260,7 +260,7 @@ gen_unbound_conf() { echo " pidfile: ${pidfile}" echo " auto-trust-anchor-file: ${anchor}" if [ "${use_tls}" = "yes" ] ; then - echo " tls-cert-bundle: /etc/ssl/cert.pem" + echo " tls-system-cert: yes" fi echo "" if [ -f "${forward_conf}" ] ; then From nobody Tue Feb 7 17:22:42 2023 X-Original-To: dev-commits-src-main@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 4PB91Z45Sfz3nT3x; Tue, 7 Feb 2023 17:22:42 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PB91Z3XHtz4C8v; Tue, 7 Feb 2023 17:22:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675790562; 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=tdkk3TE/LVzPMr4Lw/pWiGFqMRWf4pHEcW6E5urzOLI=; b=GizeRXq2r7g6yxLZpKxlsya4ysqzhPaP30g9m6fWkgLUzg00IuIeCJvcNV7vNcp0W7sfzS yy4W9G8bLqTMSwr/VtxzIlZg9O0Pni3imiJs2PRAGcw+JJDeUMfXZ40pC3InVIIbKbA6tB wjxebk0Aq3otKalg6+pYLwGaMa2G2fT3sal5uFm9E8Ht/rX937UqlzIyYy2uNPPGY+tnjl hUYo4ABl2EGAM2ZOQp46EoFzHMagDgD8+QS+0EnycoDlleDAix0AjqfmCudgD9CACERT5k gQXNJzfe8KV9hOiFuMpVQyKYEnkaOM7zyT04w5ycKOfbsH0JNMCCms7O+0ZejQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675790562; 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=tdkk3TE/LVzPMr4Lw/pWiGFqMRWf4pHEcW6E5urzOLI=; b=NQ5AlOluhe3IA0+1eKmJLbdYvRCgndcDLYfPR8tmnxr3wXuAWRP/aqB+OJIz8XRqWFLSjS GM4WH51Ir0hG4R/iU57nipZEP96a4V1tTPN9TTTEYdQFl3jAqsqTEusF3N7ZXUxdatmqdm 85lHxKC/UeD47A5Fj32BrITRvXzj4RzekJ1ilzyQzYya+ssS9XC8GNYzf06hb4Z5CtFTJ5 IfMUzQuG/BNB3Cs6+0+AG5FxlN5ikKjINocVjykww10oc7OBGwvV5vpqW0MCiPkhS0OxSq Ca/uw4376wp77PbPYJ0IGvSzxA8iybztODSRtNApazpsbAJjEsrKwCBz8jppFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675790562; a=rsa-sha256; cv=none; b=V1csUcpQ/Sy7uiRSHyz5pgp2W10WtviQEOkmBJWe0cG5xnaaIV45cdBzmfWq2DPcO9hxTw itr0tkuB4jzq8mcKMjA3o+eXF65AvZXlX4vQNAd+cOjE3qhG69jnUzS23WUO9mWv3e4P6N S0HbKDkgdr6WdpGXYsKC21IFwthcqoPYjH1MvIshgf8NSbPN26a8iokG2ZWjRjkzjj1WU5 zHnm590DwlM6cLv+Zm1u99zmE1M1keIA8SfX8NS2XNkozHK3mkXNrMaZrps+P5dYfetuoE FiJZWjyTbTuRtWah/S71qslEdDKGeybtrKGXAh/FKVkZjOoyI9EtHFRyNV2UrA== 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 4PB91Z2YnzzQ55; Tue, 7 Feb 2023 17:22:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317HMgQJ089883; Tue, 7 Feb 2023 17:22:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317HMgI2089882; Tue, 7 Feb 2023 17:22:42 GMT (envelope-from git) Date: Tue, 7 Feb 2023 17:22:42 GMT Message-Id: <202302071722.317HMgI2089882@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: dfc4d218ce5d - main - tcp: use straight in_pcbconnect() in tcp_connect() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dfc4d218ce5d9e1d1d2be09c6cfc3d1c89ad27ff Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=dfc4d218ce5d9e1d1d2be09c6cfc3d1c89ad27ff commit dfc4d218ce5d9e1d1d2be09c6cfc3d1c89ad27ff Author: Gleb Smirnoff AuthorDate: 2023-02-07 17:21:52 +0000 Commit: Gleb Smirnoff CommitDate: 2023-02-07 17:21:52 +0000 tcp: use straight in_pcbconnect() in tcp_connect() This brings tcp_connect() par with tcp6_connect(). The code removed now is a remnant of "truncating old TIME-WAIT" removed back in 2004 in c94c54e4df9a. Reviewed by: markj, tuexen Differential Revision: https://reviews.freebsd.org/D38405 --- sys/netinet/tcp_usrreq.c | 35 ++++++----------------------------- 1 file changed, 6 insertions(+), 29 deletions(-) diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 2ae1c4b89c8e..c204fc356ed7 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -1387,48 +1387,25 @@ struct protosw tcp6_protosw = { #ifdef INET /* * Common subroutine to open a TCP connection to remote host specified - * by struct sockaddr_in. Call in_pcbconnect_setup() to choose local - * host address and assign a local port number if needed. Initialize - * connection parameters and enter SYN-SENT state. + * by struct sockaddr_in. Call in_pcbconnect() to choose local host address + * and assign a local port number and install the inpcb into the hash. + * Initialize connection parameters and enter SYN-SENT state. */ static int tcp_connect(struct tcpcb *tp, struct sockaddr_in *sin, struct thread *td) { struct inpcb *inp = tptoinpcb(tp); struct socket *so = tptosocket(tp); - struct in_addr laddr; - u_short lport; int error; NET_EPOCH_ASSERT(); INP_WLOCK_ASSERT(inp); INP_HASH_WLOCK(&V_tcbinfo); - /* - * Cannot simply call in_pcbconnect, because there might be an - * earlier incarnation of this same connection still in - * TIME_WAIT state, creating an ADDRINUSE error. - */ - laddr = inp->inp_laddr; - lport = inp->inp_lport; - error = in_pcbconnect_setup(inp, sin, &laddr.s_addr, &lport, - &inp->inp_faddr.s_addr, &inp->inp_fport, td->td_ucred); - if (error) { - INP_HASH_WUNLOCK(&V_tcbinfo); - return (error); - } - /* Handle initial bind if it hadn't been done in advance. */ - if (inp->inp_lport == 0) { - inp->inp_lport = lport; - if (in_pcbinshash(inp) != 0) { - inp->inp_lport = 0; - INP_HASH_WUNLOCK(&V_tcbinfo); - return (EAGAIN); - } - } - inp->inp_laddr = laddr; - in_pcbrehash(inp); + error = in_pcbconnect(inp, sin, td->td_ucred, true); INP_HASH_WUNLOCK(&V_tcbinfo); + if (error != 0) + return (error); /* * Compute window scaling to request: From nobody Tue Feb 7 17:22:43 2023 X-Original-To: dev-commits-src-main@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 4PB91b4zf3z3nTRx; Tue, 7 Feb 2023 17:22: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PB91b4N9Wz4CMY; Tue, 7 Feb 2023 17:22:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675790563; 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=PuwEu9bz6hkEDoQRFc0D2eXwZZH3dSWMZ2WYaJDzmnI=; b=BV4Rub4sGAk0yqKHD+PE0QX3aPNJhNx7WNxAEHa2fkZvjDAeQGGCIT1kEWmk/wX5IqalGL byKeIKLow4W/uCCx0H8njrJGlyYmcglFZ/Yrpdj/icpYcr3WxggaC8knsJJxyEIOrnXp9u hHyvBnhq5PSKI4W8FJMr99mIMJWeQospv68PRj3fJu9yej5zaJcSEpMGxKqmVMF1sV5PFn DHE7IgtQIc9hslnQKdgfr/URPpgD59pHnn78q2Pt+9Dlo0kb7GD6N0DnxoM1qQXbUhPmUE Za8ABkQjdgtfdlY9s+z4FPePjFBM1ZcHwFLRWjQKsta7fJT1kuBJo8yuU8on0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675790563; 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=PuwEu9bz6hkEDoQRFc0D2eXwZZH3dSWMZ2WYaJDzmnI=; b=aLylog0UFuwGRLRvQmjlac72WpIAt72U50T/F7LaKBA9uEZ5cgWBAjKHvVqTRVtKFtJsPY ONn8IMDtmcW96gcJi3MPaEdFYALAXQnvpTwOXJBkFnOhV1ANpDYd6QLMXdKGt9iOkgNNnQ k8Ne28QeKGetnWdfWtmcXrCQ61ko0Z14CUP1R3uCj/mk4R1uw348CbJworWIVCdJOsMaLp GOz7/awKAFo/Oj9aSFPMUIDM9vkf+MZQBg3tLdQR+u7BVaA3YbatYkbTZ5tMnfe4oVarG/ +BMiZvh0xDh+GXPb/wwUHBPhDv5Npodt6r0xNszA0JDTsEYo4If61tq7oyJgAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675790563; a=rsa-sha256; cv=none; b=qVfwOMt4mMNyXfrNxMFPLRC3h0Dr2DEkONUGQ396dmBXauMzTATU9PMC4xIwCSfTtaDdcE 0EZ9CJjZDpjscSUx2rFT0qfpUxj/OQJVcE4slDuQPb8vgR4WsuPDEQ0ZoNBiHgEqS0DdCx f6tHh4ijBlhpd0v5cpOpaRRaw1srIIyq3g8AGJP3Y+2HdtC7FCyivshvn6gA5NASsXPhcP YY7bLE+r6mJUqUsNaCd/jzYqtaOeTb2it4bym04numMeTwgIPxOzEFzMomJpe8h8J+rnRC 9BAhMoygf1o0U+th8WIZa7LIZ9FioqSeZJlvrumKEYOx3vbzQZZFUK1yR4hG5Q== 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 4PB91b3Tl1zPqk; Tue, 7 Feb 2023 17:22:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317HMhP1089907; Tue, 7 Feb 2023 17:22:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317HMhS0089906; Tue, 7 Feb 2023 17:22:43 GMT (envelope-from git) Date: Tue, 7 Feb 2023 17:22:43 GMT Message-Id: <202302071722.317HMhS0089906@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 220d89212943 - main - inpcb: immediately return matching pcb on lookup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 220d892129439e4596b8ef054f56b6e0ede03538 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=220d892129439e4596b8ef054f56b6e0ede03538 commit 220d892129439e4596b8ef054f56b6e0ede03538 Author: Gleb Smirnoff AuthorDate: 2023-02-07 17:21:52 +0000 Commit: Gleb Smirnoff CommitDate: 2023-02-07 17:21:52 +0000 inpcb: immediately return matching pcb on lookup This saves a lot of CPU cycles if you got large connection table. The code removed originates from 413628a7e3d, a very large changeset. Discussed that with Bjoern, Jamie we can't recover why would we ever have identical 4-tuples in the hash, even in the presence of jails. Bjoern did a test that confirms that it is impossible to allocate an identical connection from a jail to a host. Code review also confirms that system shouldn't allow for such connections to exist. With a lack of proper test suite we decided to take a risk and go forward with removing that code. Reviewed by: gallatin, bz, markj Differential Revision: https://reviews.freebsd.org/D38015 --- sys/netinet/in_pcb.c | 18 +++--------------- sys/netinet6/in6_pcb.c | 18 +++--------------- 2 files changed, 6 insertions(+), 30 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 2a775ff5fc31..728178f1011c 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -2225,7 +2225,7 @@ in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr, struct ifnet *ifp, uint8_t numa_domain) { struct inpcbhead *head; - struct inpcb *inp, *tmpinp; + struct inpcb *inp; u_short fport = fport_arg, lport = lport_arg; KASSERT((lookupflags & ~(INPLOOKUP_WILDCARD)) == 0, @@ -2239,7 +2239,6 @@ in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr, /* * First look for an exact match. */ - tmpinp = NULL; head = &pcbinfo->ipi_hashbase[INP_PCBHASH(&faddr, lport, fport, pcbinfo->ipi_hashmask)]; CK_LIST_FOREACH(inp, head, inp_hash) { @@ -2251,20 +2250,9 @@ in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr, if (inp->inp_faddr.s_addr == faddr.s_addr && inp->inp_laddr.s_addr == laddr.s_addr && inp->inp_fport == fport && - inp->inp_lport == lport) { - /* - * XXX We should be able to directly return - * the inp here, without any checks. - * Well unless both bound with SO_REUSEPORT? - */ - if (prison_flag(inp->inp_cred, PR_IP4)) - return (inp); - if (tmpinp == NULL) - tmpinp = inp; - } + inp->inp_lport == lport) + return (inp); } - if (tmpinp != NULL) - return (tmpinp); /* * Then look for a wildcard match, if requested. diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 1b57fce7ec47..80540f2695e7 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -966,7 +966,7 @@ in6_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, int lookupflags, struct ifnet *ifp, uint8_t numa_domain) { struct inpcbhead *head; - struct inpcb *inp, *tmpinp; + struct inpcb *inp; u_short fport = fport_arg, lport = lport_arg; KASSERT((lookupflags & ~(INPLOOKUP_WILDCARD)) == 0, @@ -981,7 +981,6 @@ in6_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, /* * First look for an exact match. */ - tmpinp = NULL; head = &pcbinfo->ipi_hashbase[INP6_PCBHASH(faddr, lport, fport, pcbinfo->ipi_hashmask)]; CK_LIST_FOREACH(inp, head, inp_hash) { @@ -991,20 +990,9 @@ in6_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, if (IN6_ARE_ADDR_EQUAL(&inp->in6p_faddr, faddr) && IN6_ARE_ADDR_EQUAL(&inp->in6p_laddr, laddr) && inp->inp_fport == fport && - inp->inp_lport == lport) { - /* - * XXX We should be able to directly return - * the inp here, without any checks. - * Well unless both bound with SO_REUSEPORT? - */ - if (prison_flag(inp->inp_cred, PR_IP6)) - return (inp); - if (tmpinp == NULL) - tmpinp = inp; - } + inp->inp_lport == lport) + return (inp); } - if (tmpinp != NULL) - return (tmpinp); /* * Then look for a wildcard match, if requested. From nobody Tue Feb 7 17:31:35 2023 X-Original-To: dev-commits-src-main@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 4PB9Cq2dHCz3nTkB; Tue, 7 Feb 2023 17:31: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PB9Cq2CNMz4FGW; Tue, 7 Feb 2023 17:31:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675791095; 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=Hg/bKW2BgP0uMoNuOs70z6jrOpn8VWlMYO0aG2I3X9c=; b=McPubwB2X1DCfNn74QwUccTFSbJ10DMZeCTBni9oerQX1GdD8KHiJJOsKYwaOlsf6J06oR T0S645DgJJPJqsDVndy1SCSIGdnTiCBrW63R465eaI5gnrW9rBf/Pw+Aj1huS3h064lrIV rZRwVo7duaKgjfT2Dx3hvZkV/She68wXI4aZPpGzi6M7xAboz2hpP7Nzn3NzCFLa+7zfwK jBfqnU4Enc5hNUd8mMLmDueIp9GCXoEldp1UI+gYA7UhFkH0/zJpG+SnuBPRFV3JRKKEim Lhykvry1C3avTbWNE1F7wKfQAJ8oEK7sY8xv/SFu5Jlziv4fOp4MHCmuxvqCqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675791095; 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=Hg/bKW2BgP0uMoNuOs70z6jrOpn8VWlMYO0aG2I3X9c=; b=fIfNoP9UwXTbtjq4/VS55AeN5+gn0jzD5mU4dta4rXc0Gy12NRILNHfw1IYkXzeqAVgCaR mRrIMICZbMOOmOsXGBuvzyRcFJ/hi2uzpmjL/cmT6kgd848VJR51/L+CR0hSiJhymfsSVj 5tUoQUZlnq5nFNwh4k0AVGrTjzPF6Hr/hAeyEIWlrtQ3cbCXCgZ/bn6S74eQN6KQVYfVUo /IR/KVv92Al/tWJm+mVyRXMTR65j6xHOlBd3sC3wLFYcCfV20W6R7tKcb7+sidf5/VopDu ONtI/PNhTs0ClaJTVM/So9Fbb+mgFUr0JJb1o7AduTQ8oElFUkdTwIBjWOgS9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675791095; a=rsa-sha256; cv=none; b=Bd7VhNzVTwB7km+XmePzBZAGuJCJq1KTnXVTNK4keos0ISqBoPR7G9m5qEnAieMnmzpKfX ySZQTakrmPgkSognzVpLjjYnADzC3vZ7HU8aIV/ksFeDqM8lDovEGozPFcG/R/gHLJcm1V rPDNf6ok/67alcH3lQrSV5MyrPxa7G9ADV4iD6CCMWb4I3SCjM5O8W0oC7rT3Ze0W+BFws FOCwVP02bBRXu9b84oF0cZp/Fr0Mx8zC4tb/6afQdEVF63+KJCJP7KAZzlqSJWcoo6H1QH v7NbZ0bszEOmPa+7ey/uhesFMIn6zV39LGpsqJLjAQ0vsnXWyWC5G2IPH78Eng== 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 4PB9Cq1FsFzPgM; Tue, 7 Feb 2023 17:31:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317HVZpP004220; Tue, 7 Feb 2023 17:31:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317HVZYL004219; Tue, 7 Feb 2023 17:31:35 GMT (envelope-from git) Date: Tue, 7 Feb 2023 17:31:35 GMT Message-Id: <202302071731.317HVZYL004219@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 146d9da6c2ec - main - tarfs: Silence warnings when no supported compression is enabled. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 146d9da6c2ece7edbc3c0c5cca4cf64e2b9e42c9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=146d9da6c2ece7edbc3c0c5cca4cf64e2b9e42c9 commit 146d9da6c2ece7edbc3c0c5cca4cf64e2b9e42c9 Author: Dag-Erling Smørgrav AuthorDate: 2023-02-07 17:27:35 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-07 17:31:25 +0000 tarfs: Silence warnings when no supported compression is enabled. Some of the code in sys/fs/tarfs/tarfs_io.c is not specific to zstd, but is still only used when some form of decompression is enabled. Put it behind #ifdef TARFS_ZIO to silence warnings. Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D38415 --- sys/fs/tarfs/tarfs_io.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/sys/fs/tarfs/tarfs_io.c b/sys/fs/tarfs/tarfs_io.c index 6127299b23c1..c185de8beef1 100644 --- a/sys/fs/tarfs/tarfs_io.c +++ b/sys/fs/tarfs/tarfs_io.c @@ -40,6 +40,12 @@ #include #include +#if defined(ZSTDIO) +#define TARFS_ZIO 1 +#else +#undef TARFS_ZIO +#endif + #ifdef ZSTDIO #define ZSTD_STATIC_LINKING_ONLY #include @@ -214,6 +220,7 @@ static ZSTD_customMem tarfs_zstd_mem = { }; #endif +#ifdef TARFS_ZIO /* * Updates the decompression frame index, recording the current input and * output offsets in a new index entry, and growing the index if @@ -240,6 +247,7 @@ tarfs_zio_update_index(struct tarfs_zio *zio, off_t i, off_t o) MPASS(zio->idx[zio->curidx].i == i); MPASS(zio->idx[zio->curidx].o == o); } +#endif /* * VOP_ACCESS for zio node. @@ -600,6 +608,7 @@ static struct vop_vector tarfs_znodeops = { }; VFS_VOP_VECTOR_REGISTER(tarfs_znodeops); +#ifdef TARFS_ZIO /* * Initializes the decompression layer. */ @@ -630,6 +639,7 @@ tarfs_zio_init(struct tarfs_mount *tmp, off_t i, off_t o) TARFS_DPF(ZIO, "%s: created zio node\n", __func__); return (zio); } +#endif /* * Initializes the I/O layer, including decompression if the signature of @@ -640,7 +650,7 @@ int tarfs_io_init(struct tarfs_mount *tmp) { uint8_t *block; -#ifdef ZSTDIO +#ifdef TARFS_ZIO struct tarfs_zio *zio = NULL; #endif ssize_t res; @@ -676,6 +686,7 @@ bad: return (error); } +#ifdef TARFS_ZIO /* * Tears down the decompression layer. */ @@ -712,6 +723,7 @@ tarfs_zio_fini(struct tarfs_mount *tmp) tmp->zio = NULL; return (error); } +#endif /* * Tears down the I/O layer, including the decompression layer if @@ -722,8 +734,10 @@ tarfs_io_fini(struct tarfs_mount *tmp) { int error = 0; +#ifdef TARFS_ZIO if (tmp->zio != NULL) { error = tarfs_zio_fini(tmp); } +#endif return (error); } From nobody Tue Feb 7 19:03:49 2023 X-Original-To: dev-commits-src-main@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 4PBCGR55ZHz3nZY4; Tue, 7 Feb 2023 19:03: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCGR4GBCz4RGV; Tue, 7 Feb 2023 19:03:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675796639; 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=CL07KWokszfvrO6Y7y0Dr9B7bhVpI+5kjhDoD4UwFVM=; b=T62xtefgiw0+qgP1NcwXTPpuMADW5MKB3fF7/9VW9354HzPNPi/ylsqW8GW2flSGqX1zWo 17c43eoUtbBItJXamN4ACD5qDa0ObQaEqqcL9NeMVuYRVdPiGG1awkV6PR7AguW3BrxeOO el3sEi8jRi6LIolompM6Pzo4oko7wtIKvNpaUYcpJ7N1YaeNyX9+uLDmqNUn2QbZyP5gRZ a8zvQWVATh98w59rEC5EtaqFsqxa9UKONn26uYwLJHutCVE4LVjnvIX7Z+oxPkGQgaF80Y +vNnvIlaKXwYa1/noy5ZXODME4gjmwlapBc3GW0ixBemyNuoZFNvsnQ8juDQrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675796639; 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=CL07KWokszfvrO6Y7y0Dr9B7bhVpI+5kjhDoD4UwFVM=; b=GH6J8ZVzT3KyuYudhGA+V7eGb0P8ix8zr95OfD9TqDIknaik2hd/p5lYEevQMxf57I2uvH vYwqVyQitaEzEQp2KgafR71l6VwSi9awT5J9AxXUx1YKvrpC777O3mUCwKUz91b4e6/JEA mmXgqQA0iAc+hBk/WorRxTQ1BfoU6DhPNPqDXH5tH6rnUylaQwg/tLXGQwJQHRLn8PN3Ii NgtWYRz4BhxEFp7mjPW0MtWQqZEAdFoXDaJUQ8rj5Mrv2BXGy/5ELiQ3d8a4/bkARCQqIn A1MSnpL1e+DAfcT1GjBwtP0S9gIjRA15Mi/lq6lsx0yqpswUA739j1uRokBG5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675796639; a=rsa-sha256; cv=none; b=QfBwcYeoV5amhyX7tzqozcYrW4GUshSdS7rl2UaAS9tcjyvSlWY9WdDRxlio+4VbZVahGv pLGU1cBYx1kwPsCTUOUrlW8bdDYYUUW7pZBB567sHhNjk7D2mHkv9Xab1mNUQHMq2zqi7R gIeMqP9ckKdnGA1zWM9Sy4xn7jx7xC657lvM6L5gECjkdovcdfRjaHGsA95jKx8Ase6o76 2flyQgpcnbVnUo1rqTMA62iXwvD74eexORpy8K2QB9T3Ri70Tf1AhaLKNnjcdCRQYmr1M0 cjkItKPyp3suNt1pRUWyDhG8VBPsmK3FMIRodyj3Cx0xLDipnmD6TB09eaOzKg== 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 4PBCGR3GlLzS5m; Tue, 7 Feb 2023 19:03:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317J3xIx035044; Tue, 7 Feb 2023 19:03:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317J3npQ035027; Tue, 7 Feb 2023 19:03:49 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:03:49 GMT Message-Id: <202302071903.317J3npQ035027@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jung-uk Kim Subject: git: 640242a59157 - main - OpenSSL: Merge OpenSSL 1.1.1t Merge commit '0d51f658515c605fcc4a8073cb5a8e0d7d904088' List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jkim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 640242a5915761ce63205bdb0542fa3c1473c0ff Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jkim: URL: https://cgit.FreeBSD.org/src/commit/?id=640242a5915761ce63205bdb0542fa3c1473c0ff commit 640242a5915761ce63205bdb0542fa3c1473c0ff Merge: 146d9da6c2ec 0d51f658515c Author: Jung-uk Kim AuthorDate: 2023-02-07 18:51:38 +0000 Commit: Jung-uk Kim CommitDate: 2023-02-07 18:51:38 +0000 OpenSSL: Merge OpenSSL 1.1.1t Merge commit '0d51f658515c605fcc4a8073cb5a8e0d7d904088' crypto/openssl/CHANGES | 76 ++- crypto/openssl/Configure | 18 +- crypto/openssl/NEWS | 7 + crypto/openssl/README | 2 +- crypto/openssl/crypto/asn1/asn_mime.c | 6 +- crypto/openssl/crypto/asn1/bio_asn1.c | 4 +- crypto/openssl/crypto/asn1/bio_ndef.c | 41 +- crypto/openssl/crypto/bio/b_print.c | 22 +- crypto/openssl/crypto/bn/bn_blind.c | 16 +- crypto/openssl/crypto/bn/bn_err.c | 4 +- crypto/openssl/crypto/bn/bn_exp.c | 36 +- crypto/openssl/crypto/bn/bn_local.h | 36 +- crypto/openssl/crypto/bn/bn_mont.c | 4 +- crypto/openssl/crypto/bn/build.info | 3 +- crypto/openssl/crypto/bn/rsa_sup_mul.c | 614 +++++++++++++++++++++++++ crypto/openssl/crypto/cms/cms_enc.c | 5 + crypto/openssl/crypto/cms/cms_err.c | 2 + crypto/openssl/crypto/err/openssl.txt | 5 +- crypto/openssl/crypto/evp/bio_enc.c | 9 +- crypto/openssl/crypto/pem/pem_lib.c | 8 +- crypto/openssl/crypto/rsa/rsa_ameth.c | 1 + crypto/openssl/crypto/rsa/rsa_ossl.c | 19 +- crypto/openssl/crypto/txt_db/txt_db.c | 4 +- crypto/openssl/crypto/x509/by_dir.c | 18 +- crypto/openssl/crypto/x509/x_name.c | 8 +- crypto/openssl/crypto/x509v3/v3_genn.c | 4 +- crypto/openssl/engines/asm/e_padlock-x86.pl | 4 +- crypto/openssl/engines/asm/e_padlock-x86_64.pl | 4 +- crypto/openssl/include/crypto/bn.h | 7 +- crypto/openssl/include/openssl/bnerr.h | 3 +- crypto/openssl/include/openssl/cmserr.h | 1 + crypto/openssl/include/openssl/opensslv.h | 4 +- crypto/openssl/include/openssl/x509v3.h | 4 +- crypto/openssl/ssl/record/rec_layer_s3.c | 26 +- crypto/openssl/ssl/record/ssl3_buffer.c | 9 +- 35 files changed, 938 insertions(+), 96 deletions(-) diff --cc crypto/openssl/crypto/bn/rsa_sup_mul.c index 000000000000,acafefd5febf..acafefd5febf mode 000000,100644..100644 --- a/crypto/openssl/crypto/bn/rsa_sup_mul.c +++ b/crypto/openssl/crypto/bn/rsa_sup_mul.c diff --cc crypto/openssl/engines/asm/e_padlock-x86.pl index 5b097ce3ef9b,7d5c92d98ce3..7d5c92d98ce3 mode 100755,100644..100755 --- a/crypto/openssl/engines/asm/e_padlock-x86.pl +++ b/crypto/openssl/engines/asm/e_padlock-x86.pl diff --cc crypto/openssl/engines/asm/e_padlock-x86_64.pl index 09b0aaa48dfe,f60bec1e7d5d..f60bec1e7d5d mode 100755,100644..100755 --- a/crypto/openssl/engines/asm/e_padlock-x86_64.pl +++ b/crypto/openssl/engines/asm/e_padlock-x86_64.pl diff --cc crypto/openssl/include/openssl/opensslv.h index abb8e1203861,7b6c212fa097..6d65f72d9b85 --- a/crypto/openssl/include/openssl/opensslv.h +++ b/crypto/openssl/include/openssl/opensslv.h @@@ -39,8 -39,8 +39,8 @@@ extern "C" * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ - # define OPENSSL_VERSION_NUMBER 0x1010113fL - # define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1s-freebsd 1 Nov 2022" + # define OPENSSL_VERSION_NUMBER 0x1010114fL -# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1t 7 Feb 2023" ++# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1t-freebsd 7 Feb 2023" /*- * The macros below are to be used for shared library (.so, .dll, ...) diff --cc crypto/openssl/ssl/record/rec_layer_s3.c index 501f58a2b373,1db1712a0986..2968753a2566 --- a/crypto/openssl/ssl/record/rec_layer_s3.c +++ b/crypto/openssl/ssl/record/rec_layer_s3.c @@@ -1012,18 -984,19 +1013,20 @@@ int do_ssl3_write(SSL *s, int type, con } /* - * Reserve some bytes for any growth that may occur during encryption. - * This will be at most one cipher block or the tag length if using - * AEAD. SSL_RT_MAX_CIPHER_BLOCK_SIZE covers either case. - */ + * Reserve some bytes for any growth that may occur during encryption. If + * we are adding the MAC independently of the cipher algorithm, then the + * max encrypted overhead does not need to include an allocation for that + * MAC + */ - if (!WPACKET_reserve_bytes(thispkt, - SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD - - mac_size, - NULL) + if (!BIO_get_ktls_send(s->wbio)) { + if (!WPACKET_reserve_bytes(thispkt, - SSL_RT_MAX_CIPHER_BLOCK_SIZE, - NULL) - /* - * We also need next the amount of bytes written to this - * sub-packet - */ ++ SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD ++ - mac_size, ++ NULL) + /* + * We also need next the amount of bytes written to this + * sub-packet + */ || !WPACKET_get_length(thispkt, &len)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_DO_SSL3_WRITE, ERR_R_INTERNAL_ERROR); @@@ -1068,11 -1039,11 +1071,14 @@@ thispkt = &pkt[j]; thiswr = &wr[j]; + if (BIO_get_ktls_send(s->wbio)) + goto mac_done; + /* Allocate bytes for the encryption overhead */ if (!WPACKET_get_length(thispkt, &origlen) + /* Check we allowed enough room for the encryption growth */ + || !ossl_assert(origlen + SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD + - mac_size >= thiswr->length) /* Encryption should never shrink the data! */ || origlen > thiswr->length || (thiswr->length > origlen From nobody Tue Feb 7 19:04:00 2023 X-Original-To: dev-commits-src-main@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 4PBCGS5rgLz3nZkc; Tue, 7 Feb 2023 19:04: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCGS554zz4RDd; Tue, 7 Feb 2023 19:04:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675796640; 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=Isoj7RH1/+VM34urMu/1mCG/kGsG+oLfyfYw9JkYEyM=; b=PDPUCq7iyaymqiBFNA9NT3Fsr1yRLmqUp8uN90ksFDHeplVGIvEILeO3+RCBFO2LaVIotL C9hMmZAZTGrGq4fmpv+H3BZMdB7xx9leueF4xcwEHo954LfTa4HaOrsN5FHIVU9YZJi0oi Gs+ePQS6hZDSBprzXZfNcbFkIuMqdbk/36PgwgdXSSZRAS44XjAYgwLaeYX2Jkn8PgSMiq dOAcC8AOAikAhLBgIVt2LjkowNO2eBKg36sfmRmCqd6xzhQz9DWIPtCi5N2NQ4lL7QoR7Y jxOLvGvmG8UD7z4ftCPy8V8C3lXy5poLJI9hyc0ROLrr3QesNeZm2i71fh5e9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675796640; 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=Isoj7RH1/+VM34urMu/1mCG/kGsG+oLfyfYw9JkYEyM=; b=Pc6XfSiRJurzQr/BNzWlrpGVbjCGW5Vw/n3a+3kZv+eIQBQawOsan8LC7gEjpJGuDFCeBA uKbG5cnrAVwVwd1K7Y1XZP3hC4gHS4iNn1EA41gW2XO3mR+JGDsKub3Ye9K97ki2GyT3sV aAfOovshQq0xkoc3Nh0LwYJYvG9wvtU3UGU9Jy+8R5dlYtVCdpMTnZpBNifn/TfL8n+tgA 3b7yXxhUU/2ht67Zc+JYtfgJYNPhxLz8EYDHqv3j7JidE8X+d73hO+VbMcSMFkTHoNrzQL SzC8aKmKVhSP4R9DRqq0azXPxc++bAvIJKXAnJJrI7Ve50osyoag0Y33VGipxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675796640; a=rsa-sha256; cv=none; b=DVUSEMGeJje4Wx1RHXu2/L9CZBeWQJt6k4GZLjcKlb+mEtcQR+1Z/kN5sAOUeoDmBsUYVU gxpLbDXK1SGHezAXQ0k2NssKf/QBhB8QzhwSEdTT8NKc+0Puy0szdnYAMryOvAM8h5pd48 phlXMcr1RbM9IWVCcFKfbFIW6cmFUEqv+tkSlzO087TtRRkJm2NuxlmZq8H9oZdjCNjVaE 7C8Qf9aQwf3flO05b4GWPJZxkEjGDeKbeTfBn9g+H8mI7Lil7GpHAjagXbbEuQUknavk4v H9JB/D4A80fWgvu6mOWm2T+IRaAWM6txptXoKgPJmsbfs4CP97D1mIsIZGNNoA== 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 4PBCGS48gRzS7B; Tue, 7 Feb 2023 19:04:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317J40u3035068; Tue, 7 Feb 2023 19:04:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317J40O2035067; Tue, 7 Feb 2023 19:04:00 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:04:00 GMT Message-Id: <202302071904.317J40O2035067@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jung-uk Kim Subject: git: fb3134558138 - main - OpenSSL: Merge OpenSSL 1.1.1t List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jkim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb3134558138e52322ebcdf66fee8288ee308d78 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jkim: URL: https://cgit.FreeBSD.org/src/commit/?id=fb3134558138e52322ebcdf66fee8288ee308d78 commit fb3134558138e52322ebcdf66fee8288ee308d78 Author: Jung-uk Kim AuthorDate: 2023-02-07 18:54:16 +0000 Commit: Jung-uk Kim CommitDate: 2023-02-07 18:54:16 +0000 OpenSSL: Merge OpenSSL 1.1.1t --- secure/lib/libcrypto/Makefile | 1 + secure/lib/libcrypto/Makefile.inc | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Makefile index d8b8f454122c..8fde4f19d046 100644 --- a/secure/lib/libcrypto/Makefile +++ b/secure/lib/libcrypto/Makefile @@ -121,6 +121,7 @@ SRCS+= ppc.S ppc-mont.S .else SRCS+= bn_asm.c .endif +SRCS+= rsa_sup_mul.c # Full of strict aliasing violations that LLVM has been seen to break with # optimisations, which can lead to ECDSA signatures not working. See diff --git a/secure/lib/libcrypto/Makefile.inc b/secure/lib/libcrypto/Makefile.inc index 59f39be8fef3..8b89b9e36a08 100644 --- a/secure/lib/libcrypto/Makefile.inc +++ b/secure/lib/libcrypto/Makefile.inc @@ -3,8 +3,8 @@ .include # OpenSSL version used for manual page generation -OPENSSL_VER= 1.1.1s -OPENSSL_DATE= 2022-11-01 +OPENSSL_VER= 1.1.1t +OPENSSL_DATE= 2023-02-07 LCRYPTO_SRC= ${SRCTOP}/crypto/openssl LCRYPTO_DOC= ${LCRYPTO_SRC}/doc From nobody Tue Feb 7 19:04:01 2023 X-Original-To: dev-commits-src-main@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 4PBCGT6Q49z3nZhM; Tue, 7 Feb 2023 19:04: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCGT5zBDz4RHR; Tue, 7 Feb 2023 19:04:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675796641; 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=L88NItjro8RoQnyu0jufjWIvKcADHX5c+PUjNy+aJws=; b=p5GCokFBbHJNw9R5ZRNcBY6FIzbi5qg3v3H5ceyD4jFGtuPv/OQqWvEa5vTB5s1nlMNav0 x5N2EqO3ljN3KNSk8uUfo0gfGnTEcZLE6vxM0kZ9YTfcPAbqRex1beM21J/CH3iHQNMJU6 sMdosXo+0wEVIZsLUlscO2wLcaveggYUwW57zUGY38uHSZzkop/CA1n4MmsfAQlhrs5WlS XE7Uito4RrIxZoWe6Q7RJATEyKvg1QEHlyPN+icKjSELRtcO2gyvgtzR41ozlknXHp7Nv+ r3vf/edjyPRoSGJiKpNBCBhLYsBX7SNrtes4/6uIYdEZfJZWVyzUX1XZXsOK+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675796641; 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=L88NItjro8RoQnyu0jufjWIvKcADHX5c+PUjNy+aJws=; b=gTI26Wqdyf/HThXQSPD3zeJcbc0kitYA4p2ZfiXBjmA8vTt/1sXWWmQ1RXtflrgevOkHIU PnDNTvZlWFgDfY+7UUBo2WObgSg7olh3X1kikadwsPJmeowfNeVDssb/2OSSY3/8PRP91e dDwUdRvY0JI/CnQITcH+eKQD/Z+cD6QYu7L1heyMolJ74a/EOCUgO3kxi3YCG1/fQ7VVgv WPXzg/o01ZAdulAsAGFtUEjrYIO1SESfHfoM83yxSLuj8zys41qoS1S54LxGe7Qot2s+/q eFlq2dBjZzNoW5w+bZK1ZnnT+mfJLe8t7HRgNkYUmPVOYf65+Mi1ttgMGZcbRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675796641; a=rsa-sha256; cv=none; b=Xa8njx1pPgZ/bAM4xl7QO8ub8dY7wZ+zic+AyZAWujgPcm7qI1amFBAzbYqsmDL0erBMSl iFmOAIK54qxWJG0ZLF+H/t1QcTM+BmoiUEmBKyEB1beV+chDNSz2KioYRdUFVBKIU7iC5s idw7AGB0u67Hwuh92ZLcXWQ8+8xjnxGjwkWzQl7RrWTt5j5De5uoDAWisMvW/VMlhpWsx2 7hGRpXb/DgrnhPVyM/3X+7nurClaeOMDGPjTcqI21n/cpLACcHwrDjlffyjvsbpqnsKSre FAH/wsHyCtDnyOscI1k3sg9V4oXT2TEVimnnL08QG3d4cy+3wks9lM/4bcPpRA== 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 4PBCGT4sbVzS9q; Tue, 7 Feb 2023 19:04:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317J41YA035096; Tue, 7 Feb 2023 19:04:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317J41Dr035095; Tue, 7 Feb 2023 19:04:01 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:04:01 GMT Message-Id: <202302071904.317J41Dr035095@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jung-uk Kim Subject: git: f1cf49002dbb - main - OpenSSL: Regen assembly files for OpenSSL 1.1.1t List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jkim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f1cf49002dbb0b1976ef1ebd8e689a7825e3e06f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jkim: URL: https://cgit.FreeBSD.org/src/commit/?id=f1cf49002dbb0b1976ef1ebd8e689a7825e3e06f commit f1cf49002dbb0b1976ef1ebd8e689a7825e3e06f Author: Jung-uk Kim AuthorDate: 2023-02-07 18:55:17 +0000 Commit: Jung-uk Kim CommitDate: 2023-02-07 18:55:17 +0000 OpenSSL: Regen assembly files for OpenSSL 1.1.1t --- sys/crypto/openssl/amd64/e_padlock-x86_64.S | 2 ++ sys/crypto/openssl/i386/e_padlock-x86.S | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/sys/crypto/openssl/amd64/e_padlock-x86_64.S b/sys/crypto/openssl/amd64/e_padlock-x86_64.S index de2866844652..b19cf1d0b2d3 100644 --- a/sys/crypto/openssl/amd64/e_padlock-x86_64.S +++ b/sys/crypto/openssl/amd64/e_padlock-x86_64.S @@ -45,6 +45,8 @@ padlock_capability: .align 16 padlock_key_bswap: movl 240(%rdi),%edx + incl %edx + shll $2,%edx .Lbswap_loop: movl (%rdi),%eax bswapl %eax diff --git a/sys/crypto/openssl/i386/e_padlock-x86.S b/sys/crypto/openssl/i386/e_padlock-x86.S index 4ddc50bcaf58..58085b33679b 100644 --- a/sys/crypto/openssl/i386/e_padlock-x86.S +++ b/sys/crypto/openssl/i386/e_padlock-x86.S @@ -69,6 +69,8 @@ padlock_key_bswap: .L_padlock_key_bswap_begin: movl 4(%esp),%edx movl 240(%edx),%ecx + incl %ecx + shll $2,%ecx .L003bswap_loop: movl (%edx),%eax bswap %eax @@ -1109,6 +1111,8 @@ padlock_key_bswap: .L_padlock_key_bswap_begin: movl 4(%esp),%edx movl 240(%edx),%ecx + incl %ecx + shll $2,%ecx .L003bswap_loop: movl (%edx),%eax bswap %eax From nobody Tue Feb 7 19:04:02 2023 X-Original-To: dev-commits-src-main@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 4PBCGW14hNz3nZDn; Tue, 7 Feb 2023 19:04: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCGW0pbMz4Rl0; Tue, 7 Feb 2023 19:04:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675796643; 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=kaPxfe3HbbOij+ofXP9tCnLJx/cSYACpTuaocJa5Hj0=; b=HZsjxZ8z9RW18gCY+eKsZcpiNCY9cYTJl7Zz7PLErZkEvtAzeMt6XCYxIsXZwiv4bfptke E8kgrJhcBQkO8B6HIZ4IPd0UzPoTsL/7bJpSlHXA/PicfSu5WiHwsNplTxi7ej2km7z4t2 9+dkomQGM1YNHwvhOyGDtOD5Pv1rfqrDPlDbKeOybGvgahXxujgHahsIimz3agYDMI8qCM 8Ip+M2ElR+ya8nFOKYy3+W680S6b9QsN6w/m3Nhi2dzW3wa4l+8jFujUERtaf4d6nDhX8e qGM3IySjB24gIX/6owBTAKXNuZqjaxHFGyy8jbJB4p2UUKdn3VYgrmS/3+nJtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675796643; 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=kaPxfe3HbbOij+ofXP9tCnLJx/cSYACpTuaocJa5Hj0=; b=NCY9C+WnFKjDoShbE0rTRmWo/cx3PdRzaLVXEIu2db+Y65q+jRICJTN0eS51LeoCfX5p4D +s1IyGK4MkbEgTaB47J5+9MoutTeK1VSmdaUXqBCr+ipCEjqiOLbX6YaYH1/7E2ejloIhj pPSBGgFw9IFbt4Iu7+T7ZiJkT/FhGEaShtv6eDhjRhE2l7iF5U0d1mB3MBzjmaR0bKibP5 dVXQXzkANAagoAxaC9ELKceZ7q9ru8D7EV19ApDCqSUliIfmt7WoMWty8f+4LvyiFIICDV s28CwPy3ROSWh+lcfQiQnsFHQPNx2tzggfh0uTM6YwpfubFV4HnnOa6K2qkrLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675796643; a=rsa-sha256; cv=none; b=ic68g6Wh1/EASilFxU8ySRNnPDwljTfzNHK15W2OXdcoxiH+vOM6S8Zarx5vVf3vqdmgSQ D/7I+cXr0IgXQvFDvlwXwbv4OZ7dJPwbK8i2KmZF1MjQiOpGDC6totkauRthDZtS9U27fN GvpSIKXOUC5819cmB75jrKF32KNcZD/0PyrBdutovKRzjCctnoXDXaAUCeujKJriKiefqb eTWS6AcGLWjT7OOJBcK11CFdsk+DO4utoKX3/rQURTLjkByrZQWHEYQEtiSq2EcpN3/g3T Wbd0ulixV+ifYh1xDW1VP95x194RpW930AE2ZmHxxiFFU4cUntD4a0eFT5EmNA== 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 4PBCGV6pRLzSVJ; Tue, 7 Feb 2023 19:04:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317J42Eu035125; Tue, 7 Feb 2023 19:04:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317J42Xr035124; Tue, 7 Feb 2023 19:04:02 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:04:02 GMT Message-Id: <202302071904.317J42Xr035124@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jung-uk Kim Subject: git: eb9b98fb5aea - main - OpenSSL: Regen manual pages for OpenSSL 1.1.1t List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jkim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eb9b98fb5aea1b20d71b0be948454f472b024da7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jkim: URL: https://cgit.FreeBSD.org/src/commit/?id=eb9b98fb5aea1b20d71b0be948454f472b024da7 commit eb9b98fb5aea1b20d71b0be948454f472b024da7 Author: Jung-uk Kim AuthorDate: 2023-02-07 19:01:15 +0000 Commit: Jung-uk Kim CommitDate: 2023-02-07 19:01:15 +0000 OpenSSL: Regen manual pages for OpenSSL 1.1.1t --- secure/lib/libcrypto/man/man3/ADMISSIONS.3 | 2 +- secure/lib/libcrypto/man/man3/ASN1_INTEGER_get_int64.3 | 2 +- secure/lib/libcrypto/man/man3/ASN1_ITEM_lookup.3 | 2 +- secure/lib/libcrypto/man/man3/ASN1_OBJECT_new.3 | 2 +- secure/lib/libcrypto/man/man3/ASN1_STRING_TABLE_add.3 | 2 +- secure/lib/libcrypto/man/man3/ASN1_STRING_length.3 | 2 +- secure/lib/libcrypto/man/man3/ASN1_STRING_new.3 | 2 +- secure/lib/libcrypto/man/man3/ASN1_STRING_print_ex.3 | 2 +- secure/lib/libcrypto/man/man3/ASN1_TIME_set.3 | 2 +- secure/lib/libcrypto/man/man3/ASN1_TYPE_get.3 | 2 +- secure/lib/libcrypto/man/man3/ASN1_generate_nconf.3 | 2 +- secure/lib/libcrypto/man/man3/ASYNC_WAIT_CTX_new.3 | 2 +- secure/lib/libcrypto/man/man3/ASYNC_start_job.3 | 2 +- secure/lib/libcrypto/man/man3/BF_encrypt.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_ADDR.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_ADDRINFO.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_connect.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_ctrl.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_f_base64.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_f_buffer.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_f_cipher.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_f_md.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_f_null.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_f_ssl.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_find_type.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_get_data.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_get_ex_new_index.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_meth_new.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_new.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_new_CMS.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_parse_hostserv.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_printf.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_push.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_read.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_s_accept.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_s_bio.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_s_connect.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_s_fd.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_s_file.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_s_mem.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_s_null.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_s_socket.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_set_callback.3 | 2 +- secure/lib/libcrypto/man/man3/BIO_should_retry.3 | 2 +- secure/lib/libcrypto/man/man3/BN_BLINDING_new.3 | 2 +- secure/lib/libcrypto/man/man3/BN_CTX_new.3 | 2 +- secure/lib/libcrypto/man/man3/BN_CTX_start.3 | 2 +- secure/lib/libcrypto/man/man3/BN_add.3 | 2 +- secure/lib/libcrypto/man/man3/BN_add_word.3 | 2 +- secure/lib/libcrypto/man/man3/BN_bn2bin.3 | 2 +- secure/lib/libcrypto/man/man3/BN_cmp.3 | 2 +- secure/lib/libcrypto/man/man3/BN_copy.3 | 2 +- secure/lib/libcrypto/man/man3/BN_generate_prime.3 | 2 +- secure/lib/libcrypto/man/man3/BN_mod_inverse.3 | 2 +- secure/lib/libcrypto/man/man3/BN_mod_mul_montgomery.3 | 2 +- secure/lib/libcrypto/man/man3/BN_mod_mul_reciprocal.3 | 2 +- secure/lib/libcrypto/man/man3/BN_new.3 | 2 +- secure/lib/libcrypto/man/man3/BN_num_bytes.3 | 2 +- secure/lib/libcrypto/man/man3/BN_rand.3 | 2 +- secure/lib/libcrypto/man/man3/BN_security_bits.3 | 2 +- secure/lib/libcrypto/man/man3/BN_set_bit.3 | 2 +- secure/lib/libcrypto/man/man3/BN_swap.3 | 2 +- secure/lib/libcrypto/man/man3/BN_zero.3 | 2 +- secure/lib/libcrypto/man/man3/BUF_MEM_new.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_add0_cert.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_add1_recipient_cert.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_add1_signer.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_compress.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_decrypt.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_encrypt.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_final.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_get0_RecipientInfos.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_get0_SignerInfos.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_get0_type.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_get1_ReceiptRequest.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_sign.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_sign_receipt.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_uncompress.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_verify.3 | 2 +- secure/lib/libcrypto/man/man3/CMS_verify_receipt.3 | 2 +- secure/lib/libcrypto/man/man3/CONF_modules_free.3 | 2 +- secure/lib/libcrypto/man/man3/CONF_modules_load_file.3 | 2 +- secure/lib/libcrypto/man/man3/CRYPTO_THREAD_run_once.3 | 2 +- secure/lib/libcrypto/man/man3/CRYPTO_get_ex_new_index.3 | 2 +- secure/lib/libcrypto/man/man3/CRYPTO_memcmp.3 | 2 +- secure/lib/libcrypto/man/man3/CTLOG_STORE_get0_log_by_id.3 | 2 +- secure/lib/libcrypto/man/man3/CTLOG_STORE_new.3 | 2 +- secure/lib/libcrypto/man/man3/CTLOG_new.3 | 2 +- secure/lib/libcrypto/man/man3/CT_POLICY_EVAL_CTX_new.3 | 2 +- secure/lib/libcrypto/man/man3/DEFINE_STACK_OF.3 | 2 +- secure/lib/libcrypto/man/man3/DES_random_key.3 | 2 +- secure/lib/libcrypto/man/man3/DH_generate_key.3 | 2 +- secure/lib/libcrypto/man/man3/DH_generate_parameters.3 | 2 +- secure/lib/libcrypto/man/man3/DH_get0_pqg.3 | 2 +- secure/lib/libcrypto/man/man3/DH_get_1024_160.3 | 2 +- secure/lib/libcrypto/man/man3/DH_meth_new.3 | 2 +- secure/lib/libcrypto/man/man3/DH_new.3 | 2 +- secure/lib/libcrypto/man/man3/DH_new_by_nid.3 | 2 +- secure/lib/libcrypto/man/man3/DH_set_method.3 | 2 +- secure/lib/libcrypto/man/man3/DH_size.3 | 2 +- secure/lib/libcrypto/man/man3/DSA_SIG_new.3 | 2 +- secure/lib/libcrypto/man/man3/DSA_do_sign.3 | 2 +- secure/lib/libcrypto/man/man3/DSA_dup_DH.3 | 2 +- secure/lib/libcrypto/man/man3/DSA_generate_key.3 | 2 +- secure/lib/libcrypto/man/man3/DSA_generate_parameters.3 | 2 +- secure/lib/libcrypto/man/man3/DSA_get0_pqg.3 | 2 +- secure/lib/libcrypto/man/man3/DSA_meth_new.3 | 2 +- secure/lib/libcrypto/man/man3/DSA_new.3 | 2 +- secure/lib/libcrypto/man/man3/DSA_set_method.3 | 2 +- secure/lib/libcrypto/man/man3/DSA_sign.3 | 2 +- secure/lib/libcrypto/man/man3/DSA_size.3 | 2 +- secure/lib/libcrypto/man/man3/DTLS_get_data_mtu.3 | 2 +- secure/lib/libcrypto/man/man3/DTLS_set_timer_cb.3 | 2 +- secure/lib/libcrypto/man/man3/DTLSv1_listen.3 | 2 +- secure/lib/libcrypto/man/man3/ECDSA_SIG_new.3 | 2 +- secure/lib/libcrypto/man/man3/ECPKParameters_print.3 | 2 +- secure/lib/libcrypto/man/man3/EC_GFp_simple_method.3 | 2 +- secure/lib/libcrypto/man/man3/EC_GROUP_copy.3 | 2 +- secure/lib/libcrypto/man/man3/EC_GROUP_new.3 | 2 +- secure/lib/libcrypto/man/man3/EC_KEY_get_enc_flags.3 | 2 +- secure/lib/libcrypto/man/man3/EC_KEY_new.3 | 2 +- secure/lib/libcrypto/man/man3/EC_POINT_add.3 | 2 +- secure/lib/libcrypto/man/man3/EC_POINT_new.3 | 2 +- secure/lib/libcrypto/man/man3/ENGINE_add.3 | 2 +- secure/lib/libcrypto/man/man3/ERR_GET_LIB.3 | 2 +- secure/lib/libcrypto/man/man3/ERR_clear_error.3 | 2 +- secure/lib/libcrypto/man/man3/ERR_error_string.3 | 2 +- secure/lib/libcrypto/man/man3/ERR_get_error.3 | 2 +- secure/lib/libcrypto/man/man3/ERR_load_crypto_strings.3 | 2 +- secure/lib/libcrypto/man/man3/ERR_load_strings.3 | 2 +- secure/lib/libcrypto/man/man3/ERR_print_errors.3 | 2 +- secure/lib/libcrypto/man/man3/ERR_put_error.3 | 2 +- secure/lib/libcrypto/man/man3/ERR_remove_state.3 | 2 +- secure/lib/libcrypto/man/man3/ERR_set_mark.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_BytesToKey.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_CIPHER_CTX_get_cipher_data.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_CIPHER_meth_new.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_DigestInit.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_DigestSignInit.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_DigestVerifyInit.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_EncodeInit.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_EncryptInit.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_MD_meth_new.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_OpenInit.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_ASN1_METHOD.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_ctrl.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_new.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set1_pbe_pass.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set_hkdf_md.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set_scrypt_N.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_asn1_get_count.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_cmp.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_decrypt.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_derive.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_encrypt.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_get_default_digest_nid.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_keygen.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_meth_get_count.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_meth_new.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_new.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_print_private.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_set1_RSA.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_sign.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_size.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_verify.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_PKEY_verify_recover.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_SealInit.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_SignInit.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_VerifyInit.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_aes.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_aria.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_bf_cbc.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_blake2b512.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_camellia.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_cast5_cbc.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_chacha20.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_des.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_desx_cbc.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_idea_cbc.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_md2.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_md4.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_md5.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_mdc2.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_rc2_cbc.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_rc4.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_rc5_32_12_16_cbc.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_ripemd160.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_seed_cbc.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_sha1.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_sha224.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_sha3_224.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_sm3.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_sm4_cbc.3 | 2 +- secure/lib/libcrypto/man/man3/EVP_whirlpool.3 | 2 +- secure/lib/libcrypto/man/man3/HMAC.3 | 2 +- secure/lib/libcrypto/man/man3/MD5.3 | 2 +- secure/lib/libcrypto/man/man3/MDC2_Init.3 | 2 +- secure/lib/libcrypto/man/man3/OBJ_nid2obj.3 | 2 +- secure/lib/libcrypto/man/man3/OCSP_REQUEST_new.3 | 2 +- secure/lib/libcrypto/man/man3/OCSP_cert_to_id.3 | 2 +- secure/lib/libcrypto/man/man3/OCSP_request_add1_nonce.3 | 2 +- secure/lib/libcrypto/man/man3/OCSP_resp_find_status.3 | 2 +- secure/lib/libcrypto/man/man3/OCSP_response_status.3 | 2 +- secure/lib/libcrypto/man/man3/OCSP_sendreq_new.3 | 2 +- secure/lib/libcrypto/man/man3/OPENSSL_Applink.3 | 2 +- secure/lib/libcrypto/man/man3/OPENSSL_LH_COMPFUNC.3 | 2 +- secure/lib/libcrypto/man/man3/OPENSSL_LH_stats.3 | 2 +- secure/lib/libcrypto/man/man3/OPENSSL_VERSION_NUMBER.3 | 2 +- secure/lib/libcrypto/man/man3/OPENSSL_config.3 | 2 +- secure/lib/libcrypto/man/man3/OPENSSL_fork_prepare.3 | 2 +- secure/lib/libcrypto/man/man3/OPENSSL_ia32cap.3 | 2 +- secure/lib/libcrypto/man/man3/OPENSSL_init_crypto.3 | 2 +- secure/lib/libcrypto/man/man3/OPENSSL_init_ssl.3 | 2 +- secure/lib/libcrypto/man/man3/OPENSSL_instrument_bus.3 | 2 +- secure/lib/libcrypto/man/man3/OPENSSL_load_builtin_modules.3 | 2 +- secure/lib/libcrypto/man/man3/OPENSSL_malloc.3 | 2 +- secure/lib/libcrypto/man/man3/OPENSSL_secure_malloc.3 | 2 +- secure/lib/libcrypto/man/man3/OSSL_STORE_INFO.3 | 2 +- secure/lib/libcrypto/man/man3/OSSL_STORE_LOADER.3 | 2 +- secure/lib/libcrypto/man/man3/OSSL_STORE_SEARCH.3 | 2 +- secure/lib/libcrypto/man/man3/OSSL_STORE_expect.3 | 2 +- secure/lib/libcrypto/man/man3/OSSL_STORE_open.3 | 2 +- secure/lib/libcrypto/man/man3/OpenSSL_add_all_algorithms.3 | 2 +- secure/lib/libcrypto/man/man3/PEM_bytes_read_bio.3 | 2 +- secure/lib/libcrypto/man/man3/PEM_read.3 | 2 +- secure/lib/libcrypto/man/man3/PEM_read_CMS.3 | 2 +- secure/lib/libcrypto/man/man3/PEM_read_bio_PrivateKey.3 | 2 +- secure/lib/libcrypto/man/man3/PEM_read_bio_ex.3 | 2 +- secure/lib/libcrypto/man/man3/PEM_write_bio_CMS_stream.3 | 2 +- secure/lib/libcrypto/man/man3/PEM_write_bio_PKCS7_stream.3 | 2 +- secure/lib/libcrypto/man/man3/PKCS12_create.3 | 2 +- secure/lib/libcrypto/man/man3/PKCS12_newpass.3 | 2 +- secure/lib/libcrypto/man/man3/PKCS12_parse.3 | 2 +- secure/lib/libcrypto/man/man3/PKCS5_PBKDF2_HMAC.3 | 2 +- secure/lib/libcrypto/man/man3/PKCS7_decrypt.3 | 2 +- secure/lib/libcrypto/man/man3/PKCS7_encrypt.3 | 2 +- secure/lib/libcrypto/man/man3/PKCS7_sign.3 | 2 +- secure/lib/libcrypto/man/man3/PKCS7_sign_add_signer.3 | 2 +- secure/lib/libcrypto/man/man3/PKCS7_verify.3 | 2 +- secure/lib/libcrypto/man/man3/RAND_DRBG_generate.3 | 2 +- secure/lib/libcrypto/man/man3/RAND_DRBG_get0_master.3 | 2 +- secure/lib/libcrypto/man/man3/RAND_DRBG_new.3 | 2 +- secure/lib/libcrypto/man/man3/RAND_DRBG_reseed.3 | 2 +- secure/lib/libcrypto/man/man3/RAND_DRBG_set_callbacks.3 | 2 +- secure/lib/libcrypto/man/man3/RAND_DRBG_set_ex_data.3 | 2 +- secure/lib/libcrypto/man/man3/RAND_add.3 | 2 +- secure/lib/libcrypto/man/man3/RAND_bytes.3 | 2 +- secure/lib/libcrypto/man/man3/RAND_cleanup.3 | 2 +- secure/lib/libcrypto/man/man3/RAND_egd.3 | 2 +- secure/lib/libcrypto/man/man3/RAND_load_file.3 | 2 +- secure/lib/libcrypto/man/man3/RAND_set_rand_method.3 | 2 +- secure/lib/libcrypto/man/man3/RC4_set_key.3 | 2 +- secure/lib/libcrypto/man/man3/RIPEMD160_Init.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_blinding_on.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_check_key.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_generate_key.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_get0_key.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_meth_new.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_new.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_padding_add_PKCS1_type_1.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_print.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_private_encrypt.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_public_encrypt.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_set_method.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_sign.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_sign_ASN1_OCTET_STRING.3 | 2 +- secure/lib/libcrypto/man/man3/RSA_size.3 | 2 +- secure/lib/libcrypto/man/man3/SCT_new.3 | 2 +- secure/lib/libcrypto/man/man3/SCT_print.3 | 2 +- secure/lib/libcrypto/man/man3/SCT_validate.3 | 2 +- secure/lib/libcrypto/man/man3/SHA256_Init.3 | 2 +- secure/lib/libcrypto/man/man3/SMIME_read_CMS.3 | 2 +- secure/lib/libcrypto/man/man3/SMIME_read_PKCS7.3 | 2 +- secure/lib/libcrypto/man/man3/SMIME_write_CMS.3 | 2 +- secure/lib/libcrypto/man/man3/SMIME_write_PKCS7.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CIPHER_get_name.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_COMP_add_compression_method.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CONF_CTX_new.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CONF_CTX_set1_prefix.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CONF_CTX_set_flags.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CONF_CTX_set_ssl_ctx.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CONF_cmd.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CONF_cmd_argv.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_add1_chain_cert.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_add_extra_chain_cert.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_add_session.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_config.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_ctrl.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_dane_enable.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_flush_sessions.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_free.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_get0_param.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_get_verify_mode.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_has_client_custom_ext.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_load_verify_locations.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_new.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_sess_number.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_sess_set_cache_size.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_sess_set_get_cb.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_sessions.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set0_CA_list.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set1_curves.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set1_sigalgs.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set1_verify_cert_store.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_alpn_select_cb.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_cert_cb.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_cert_store.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_cert_verify_callback.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_cipher_list.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_client_cert_cb.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_client_hello_cb.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_ct_validation_callback.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_ctlog_list_file.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_default_passwd_cb.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_ex_data.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_generate_session_id.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_info_callback.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_keylog_callback.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_max_cert_list.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_min_proto_version.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_mode.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_msg_callback.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_num_tickets.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_options.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_psk_client_callback.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_quiet_shutdown.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_read_ahead.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_record_padding_callback.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_security_level.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_session_cache_mode.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_session_id_context.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_session_ticket_cb.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_split_send_fragment.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_ssl_version.3 | 2 +- .../lib/libcrypto/man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_timeout.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_tlsext_servername_callback.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_tlsext_status_cb.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_tlsext_use_srtp.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_tmp_dh_callback.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_set_verify.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_use_certificate.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_use_psk_identity_hint.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_CTX_use_serverinfo.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_SESSION_free.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_SESSION_get0_cipher.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_SESSION_get0_hostname.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_SESSION_get0_id_context.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_SESSION_get0_peer.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_SESSION_get_compress_id.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_SESSION_get_ex_data.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_SESSION_get_protocol_version.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_SESSION_get_time.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_SESSION_has_ticket.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_SESSION_is_resumable.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_SESSION_print.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_SESSION_set1_id.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_accept.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_alert_type_string.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_alloc_buffers.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_check_chain.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_clear.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_connect.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_do_handshake.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_export_keying_material.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_extension_supported.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_free.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get0_peer_scts.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_SSL_CTX.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_all_async_fds.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_ciphers.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_client_random.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_current_cipher.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_default_timeout.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_error.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_extms_support.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_fd.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_peer_cert_chain.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_peer_certificate.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_peer_signature_nid.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_peer_tmp_key.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_psk_identity.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_rbio.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_session.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_shared_sigalgs.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_verify_result.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_get_version.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_in_init.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_key_update.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_library_init.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_load_client_CA_file.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_new.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_pending.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_read.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_read_early_data.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_rstate_string.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_session_reused.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_set1_host.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_set_bio.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_set_connect_state.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_set_fd.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_set_session.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_set_shutdown.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_set_verify_result.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_shutdown.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_state_string.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_want.3 | 2 +- secure/lib/libcrypto/man/man3/SSL_write.3 | 2 +- secure/lib/libcrypto/man/man3/UI_STRING.3 | 2 +- secure/lib/libcrypto/man/man3/UI_UTIL_read_pw.3 | 2 +- secure/lib/libcrypto/man/man3/UI_create_method.3 | 2 +- secure/lib/libcrypto/man/man3/UI_new.3 | 2 +- secure/lib/libcrypto/man/man3/X509V3_get_d2i.3 | 2 +- secure/lib/libcrypto/man/man3/X509_ALGOR_dup.3 | 2 +- secure/lib/libcrypto/man/man3/X509_CRL_get0_by_serial.3 | 2 +- secure/lib/libcrypto/man/man3/X509_EXTENSION_set_object.3 | 2 +- secure/lib/libcrypto/man/man3/X509_LOOKUP.3 | 2 +- secure/lib/libcrypto/man/man3/X509_LOOKUP_hash_dir.3 | 2 +- secure/lib/libcrypto/man/man3/X509_LOOKUP_meth_new.3 | 2 +- secure/lib/libcrypto/man/man3/X509_NAME_ENTRY_get_object.3 | 2 +- secure/lib/libcrypto/man/man3/X509_NAME_add_entry_by_txt.3 | 2 +- secure/lib/libcrypto/man/man3/X509_NAME_get0_der.3 | 2 +- secure/lib/libcrypto/man/man3/X509_NAME_get_index_by_NID.3 | 2 +- secure/lib/libcrypto/man/man3/X509_NAME_print_ex.3 | 2 +- secure/lib/libcrypto/man/man3/X509_PUBKEY_new.3 | 2 +- secure/lib/libcrypto/man/man3/X509_SIG_get0.3 | 2 +- secure/lib/libcrypto/man/man3/X509_STORE_CTX_get_error.3 | 2 +- secure/lib/libcrypto/man/man3/X509_STORE_CTX_new.3 | 2 +- secure/lib/libcrypto/man/man3/X509_STORE_CTX_set_verify_cb.3 | 2 +- secure/lib/libcrypto/man/man3/X509_STORE_add_cert.3 | 2 +- secure/lib/libcrypto/man/man3/X509_STORE_get0_param.3 | 2 +- secure/lib/libcrypto/man/man3/X509_STORE_new.3 | 2 +- secure/lib/libcrypto/man/man3/X509_STORE_set_verify_cb_func.3 | 2 +- secure/lib/libcrypto/man/man3/X509_VERIFY_PARAM_set_flags.3 | 2 +- secure/lib/libcrypto/man/man3/X509_check_ca.3 | 2 +- secure/lib/libcrypto/man/man3/X509_check_host.3 | 2 +- secure/lib/libcrypto/man/man3/X509_check_issued.3 | 2 +- secure/lib/libcrypto/man/man3/X509_check_private_key.3 | 2 +- secure/lib/libcrypto/man/man3/X509_check_purpose.3 | 2 +- secure/lib/libcrypto/man/man3/X509_cmp.3 | 2 +- secure/lib/libcrypto/man/man3/X509_cmp_time.3 | 2 +- secure/lib/libcrypto/man/man3/X509_digest.3 | 2 +- secure/lib/libcrypto/man/man3/X509_dup.3 | 2 +- secure/lib/libcrypto/man/man3/X509_get0_notBefore.3 | 2 +- secure/lib/libcrypto/man/man3/X509_get0_signature.3 | 2 +- secure/lib/libcrypto/man/man3/X509_get0_uids.3 | 2 +- secure/lib/libcrypto/man/man3/X509_get_extension_flags.3 | 2 +- secure/lib/libcrypto/man/man3/X509_get_pubkey.3 | 2 +- secure/lib/libcrypto/man/man3/X509_get_serialNumber.3 | 2 +- secure/lib/libcrypto/man/man3/X509_get_subject_name.3 | 2 +- secure/lib/libcrypto/man/man3/X509_get_version.3 | 2 +- secure/lib/libcrypto/man/man3/X509_new.3 | 2 +- secure/lib/libcrypto/man/man3/X509_sign.3 | 2 +- secure/lib/libcrypto/man/man3/X509_verify_cert.3 | 2 +- secure/lib/libcrypto/man/man3/X509v3_get_ext_by_NID.3 | 2 +- secure/lib/libcrypto/man/man3/d2i_DHparams.3 | 2 +- secure/lib/libcrypto/man/man3/d2i_PKCS8PrivateKey_bio.3 | 2 +- secure/lib/libcrypto/man/man3/d2i_PrivateKey.3 | 2 +- secure/lib/libcrypto/man/man3/d2i_SSL_SESSION.3 | 2 +- secure/lib/libcrypto/man/man3/d2i_X509.3 | 2 +- secure/lib/libcrypto/man/man3/i2d_CMS_bio_stream.3 | 2 +- secure/lib/libcrypto/man/man3/i2d_PKCS7_bio_stream.3 | 2 +- secure/lib/libcrypto/man/man3/i2d_re_X509_tbs.3 | 2 +- secure/lib/libcrypto/man/man3/o2i_SCT_LIST.3 | 2 +- secure/lib/libcrypto/man/man5/x509v3_config.5 | 2 +- secure/lib/libcrypto/man/man7/Ed25519.7 | 2 +- secure/lib/libcrypto/man/man7/RAND.7 | 2 +- secure/lib/libcrypto/man/man7/RAND_DRBG.7 | 2 +- secure/lib/libcrypto/man/man7/RSA-PSS.7 | 2 +- secure/lib/libcrypto/man/man7/SM2.7 | 2 +- secure/lib/libcrypto/man/man7/X25519.7 | 2 +- secure/lib/libcrypto/man/man7/bio.7 | 2 +- secure/lib/libcrypto/man/man7/ct.7 | 2 +- secure/lib/libcrypto/man/man7/des_modes.7 | 2 +- secure/lib/libcrypto/man/man7/evp.7 | 2 +- secure/lib/libcrypto/man/man7/ossl_store-file.7 | 2 +- secure/lib/libcrypto/man/man7/ossl_store.7 | 2 +- secure/lib/libcrypto/man/man7/passphrase-encoding.7 | 2 +- secure/lib/libcrypto/man/man7/proxy-certificates.7 | 2 +- secure/lib/libcrypto/man/man7/scrypt.7 | 2 +- secure/lib/libcrypto/man/man7/ssl.7 | 2 +- secure/lib/libcrypto/man/man7/x509.7 | 2 +- secure/usr.bin/openssl/man/CA.pl.1 | 2 +- secure/usr.bin/openssl/man/asn1parse.1 | 2 +- secure/usr.bin/openssl/man/ca.1 | 2 +- secure/usr.bin/openssl/man/ciphers.1 | 2 +- secure/usr.bin/openssl/man/cms.1 | 2 +- secure/usr.bin/openssl/man/crl.1 | 2 +- secure/usr.bin/openssl/man/crl2pkcs7.1 | 2 +- secure/usr.bin/openssl/man/dgst.1 | 2 +- secure/usr.bin/openssl/man/dhparam.1 | 2 +- secure/usr.bin/openssl/man/dsa.1 | 2 +- secure/usr.bin/openssl/man/dsaparam.1 | 2 +- secure/usr.bin/openssl/man/ec.1 | 2 +- secure/usr.bin/openssl/man/ecparam.1 | 2 +- secure/usr.bin/openssl/man/enc.1 | 2 +- secure/usr.bin/openssl/man/engine.1 | 2 +- secure/usr.bin/openssl/man/errstr.1 | 2 +- secure/usr.bin/openssl/man/gendsa.1 | 2 +- secure/usr.bin/openssl/man/genpkey.1 | 2 +- secure/usr.bin/openssl/man/genrsa.1 | 2 +- secure/usr.bin/openssl/man/list.1 | 2 +- secure/usr.bin/openssl/man/nseq.1 | 2 +- secure/usr.bin/openssl/man/ocsp.1 | 2 +- secure/usr.bin/openssl/man/openssl.1 | 2 +- secure/usr.bin/openssl/man/passwd.1 | 2 +- secure/usr.bin/openssl/man/pkcs12.1 | 2 +- secure/usr.bin/openssl/man/pkcs7.1 | 2 +- secure/usr.bin/openssl/man/pkcs8.1 | 2 +- secure/usr.bin/openssl/man/pkey.1 | 2 +- secure/usr.bin/openssl/man/pkeyparam.1 | 2 +- secure/usr.bin/openssl/man/pkeyutl.1 | 2 +- secure/usr.bin/openssl/man/prime.1 | 2 +- secure/usr.bin/openssl/man/rand.1 | 2 +- secure/usr.bin/openssl/man/req.1 | 2 +- secure/usr.bin/openssl/man/rsa.1 | 2 +- secure/usr.bin/openssl/man/rsautl.1 | 2 +- secure/usr.bin/openssl/man/s_client.1 | 2 +- secure/usr.bin/openssl/man/s_server.1 | 2 +- secure/usr.bin/openssl/man/s_time.1 | 2 +- secure/usr.bin/openssl/man/sess_id.1 | 2 +- secure/usr.bin/openssl/man/smime.1 | 2 +- secure/usr.bin/openssl/man/speed.1 | 2 +- secure/usr.bin/openssl/man/spkac.1 | 2 +- secure/usr.bin/openssl/man/srp.1 | 2 +- secure/usr.bin/openssl/man/storeutl.1 | 2 +- secure/usr.bin/openssl/man/ts.1 | 2 +- secure/usr.bin/openssl/man/tsget.1 | 2 +- secure/usr.bin/openssl/man/verify.1 | 2 +- secure/usr.bin/openssl/man/version.1 | 2 +- secure/usr.bin/openssl/man/x509.1 | 2 +- 534 files changed, 534 insertions(+), 534 deletions(-) diff --git a/secure/lib/libcrypto/man/man3/ADMISSIONS.3 b/secure/lib/libcrypto/man/man3/ADMISSIONS.3 index 472c17c50dcc..86256c7a2b0b 100644 --- a/secure/lib/libcrypto/man/man3/ADMISSIONS.3 +++ b/secure/lib/libcrypto/man/man3/ADMISSIONS.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ADMISSIONS 3" -.TH ADMISSIONS 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH ADMISSIONS 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/ASN1_INTEGER_get_int64.3 b/secure/lib/libcrypto/man/man3/ASN1_INTEGER_get_int64.3 index 925c09322317..0c269e1a2c57 100644 --- a/secure/lib/libcrypto/man/man3/ASN1_INTEGER_get_int64.3 +++ b/secure/lib/libcrypto/man/man3/ASN1_INTEGER_get_int64.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_INTEGER_GET_INT64 3" -.TH ASN1_INTEGER_GET_INT64 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH ASN1_INTEGER_GET_INT64 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/ASN1_ITEM_lookup.3 b/secure/lib/libcrypto/man/man3/ASN1_ITEM_lookup.3 index 5fc515f69ee9..a282236912de 100644 --- a/secure/lib/libcrypto/man/man3/ASN1_ITEM_lookup.3 +++ b/secure/lib/libcrypto/man/man3/ASN1_ITEM_lookup.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_ITEM_LOOKUP 3" -.TH ASN1_ITEM_LOOKUP 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH ASN1_ITEM_LOOKUP 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/ASN1_OBJECT_new.3 b/secure/lib/libcrypto/man/man3/ASN1_OBJECT_new.3 index e16515ca3c90..c3ff9addda94 100644 --- a/secure/lib/libcrypto/man/man3/ASN1_OBJECT_new.3 +++ b/secure/lib/libcrypto/man/man3/ASN1_OBJECT_new.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_OBJECT_NEW 3" -.TH ASN1_OBJECT_NEW 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH ASN1_OBJECT_NEW 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/ASN1_STRING_TABLE_add.3 b/secure/lib/libcrypto/man/man3/ASN1_STRING_TABLE_add.3 index 4e8a6899ad62..8c7001950daf 100644 --- a/secure/lib/libcrypto/man/man3/ASN1_STRING_TABLE_add.3 +++ b/secure/lib/libcrypto/man/man3/ASN1_STRING_TABLE_add.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_TABLE_ADD 3" -.TH ASN1_STRING_TABLE_ADD 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH ASN1_STRING_TABLE_ADD 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/ASN1_STRING_length.3 b/secure/lib/libcrypto/man/man3/ASN1_STRING_length.3 index 05a85780b2c4..d421c56becf7 100644 --- a/secure/lib/libcrypto/man/man3/ASN1_STRING_length.3 +++ b/secure/lib/libcrypto/man/man3/ASN1_STRING_length.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_LENGTH 3" -.TH ASN1_STRING_LENGTH 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH ASN1_STRING_LENGTH 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/ASN1_STRING_new.3 b/secure/lib/libcrypto/man/man3/ASN1_STRING_new.3 index 2699b54569a7..1664da0434fe 100644 --- a/secure/lib/libcrypto/man/man3/ASN1_STRING_new.3 +++ b/secure/lib/libcrypto/man/man3/ASN1_STRING_new.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_NEW 3" -.TH ASN1_STRING_NEW 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH ASN1_STRING_NEW 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/ASN1_STRING_print_ex.3 b/secure/lib/libcrypto/man/man3/ASN1_STRING_print_ex.3 index 0c3c1688f87d..5cd6f3c9d916 100644 --- a/secure/lib/libcrypto/man/man3/ASN1_STRING_print_ex.3 +++ b/secure/lib/libcrypto/man/man3/ASN1_STRING_print_ex.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_PRINT_EX 3" -.TH ASN1_STRING_PRINT_EX 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH ASN1_STRING_PRINT_EX 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/ASN1_TIME_set.3 b/secure/lib/libcrypto/man/man3/ASN1_TIME_set.3 index cc4c09abca96..54a8367928de 100644 --- a/secure/lib/libcrypto/man/man3/ASN1_TIME_set.3 +++ b/secure/lib/libcrypto/man/man3/ASN1_TIME_set.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_TIME_SET 3" -.TH ASN1_TIME_SET 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH ASN1_TIME_SET 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/ASN1_TYPE_get.3 b/secure/lib/libcrypto/man/man3/ASN1_TYPE_get.3 index 793b67b92b8b..eed7f68cbe5c 100644 --- a/secure/lib/libcrypto/man/man3/ASN1_TYPE_get.3 +++ b/secure/lib/libcrypto/man/man3/ASN1_TYPE_get.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_TYPE_GET 3" -.TH ASN1_TYPE_GET 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH ASN1_TYPE_GET 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/ASN1_generate_nconf.3 b/secure/lib/libcrypto/man/man3/ASN1_generate_nconf.3 index 0cb6b90db135..9dbc10923ed2 100644 --- a/secure/lib/libcrypto/man/man3/ASN1_generate_nconf.3 +++ b/secure/lib/libcrypto/man/man3/ASN1_generate_nconf.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_GENERATE_NCONF 3" -.TH ASN1_GENERATE_NCONF 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH ASN1_GENERATE_NCONF 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/ASYNC_WAIT_CTX_new.3 b/secure/lib/libcrypto/man/man3/ASYNC_WAIT_CTX_new.3 index 67916ea1764a..29d120b2d673 100644 --- a/secure/lib/libcrypto/man/man3/ASYNC_WAIT_CTX_new.3 +++ b/secure/lib/libcrypto/man/man3/ASYNC_WAIT_CTX_new.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASYNC_WAIT_CTX_NEW 3" -.TH ASYNC_WAIT_CTX_NEW 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH ASYNC_WAIT_CTX_NEW 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/ASYNC_start_job.3 b/secure/lib/libcrypto/man/man3/ASYNC_start_job.3 index 97361e504a22..dbd50cdebca7 100644 --- a/secure/lib/libcrypto/man/man3/ASYNC_start_job.3 +++ b/secure/lib/libcrypto/man/man3/ASYNC_start_job.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ASYNC_START_JOB 3" -.TH ASYNC_START_JOB 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH ASYNC_START_JOB 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BF_encrypt.3 b/secure/lib/libcrypto/man/man3/BF_encrypt.3 index f969016051cd..54cbc2c1f127 100644 --- a/secure/lib/libcrypto/man/man3/BF_encrypt.3 +++ b/secure/lib/libcrypto/man/man3/BF_encrypt.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BF_ENCRYPT 3" -.TH BF_ENCRYPT 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BF_ENCRYPT 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_ADDR.3 b/secure/lib/libcrypto/man/man3/BIO_ADDR.3 index 7b9dc781f3dc..f535ffa1461c 100644 --- a/secure/lib/libcrypto/man/man3/BIO_ADDR.3 +++ b/secure/lib/libcrypto/man/man3/BIO_ADDR.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_ADDR 3" -.TH BIO_ADDR 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_ADDR 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_ADDRINFO.3 b/secure/lib/libcrypto/man/man3/BIO_ADDRINFO.3 index 6b49c9addd18..c19447fabf54 100644 --- a/secure/lib/libcrypto/man/man3/BIO_ADDRINFO.3 +++ b/secure/lib/libcrypto/man/man3/BIO_ADDRINFO.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_ADDRINFO 3" -.TH BIO_ADDRINFO 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_ADDRINFO 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_connect.3 b/secure/lib/libcrypto/man/man3/BIO_connect.3 index b8863dbf6c98..520bde6a36ba 100644 --- a/secure/lib/libcrypto/man/man3/BIO_connect.3 +++ b/secure/lib/libcrypto/man/man3/BIO_connect.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_CONNECT 3" -.TH BIO_CONNECT 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_CONNECT 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_ctrl.3 b/secure/lib/libcrypto/man/man3/BIO_ctrl.3 index 9ee3694676b7..d0b951703094 100644 --- a/secure/lib/libcrypto/man/man3/BIO_ctrl.3 +++ b/secure/lib/libcrypto/man/man3/BIO_ctrl.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_CTRL 3" -.TH BIO_CTRL 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_CTRL 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_f_base64.3 b/secure/lib/libcrypto/man/man3/BIO_f_base64.3 index d538546bb927..244affad64c1 100644 --- a/secure/lib/libcrypto/man/man3/BIO_f_base64.3 +++ b/secure/lib/libcrypto/man/man3/BIO_f_base64.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_F_BASE64 3" -.TH BIO_F_BASE64 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_F_BASE64 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_f_buffer.3 b/secure/lib/libcrypto/man/man3/BIO_f_buffer.3 index ac59ca2f3d2e..85342305399e 100644 --- a/secure/lib/libcrypto/man/man3/BIO_f_buffer.3 +++ b/secure/lib/libcrypto/man/man3/BIO_f_buffer.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_F_BUFFER 3" -.TH BIO_F_BUFFER 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_F_BUFFER 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_f_cipher.3 b/secure/lib/libcrypto/man/man3/BIO_f_cipher.3 index 4183f466ac82..2d6f4d9aef76 100644 --- a/secure/lib/libcrypto/man/man3/BIO_f_cipher.3 +++ b/secure/lib/libcrypto/man/man3/BIO_f_cipher.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_F_CIPHER 3" -.TH BIO_F_CIPHER 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_F_CIPHER 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_f_md.3 b/secure/lib/libcrypto/man/man3/BIO_f_md.3 index b9c7003e1a16..d9838f76ac56 100644 --- a/secure/lib/libcrypto/man/man3/BIO_f_md.3 +++ b/secure/lib/libcrypto/man/man3/BIO_f_md.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_F_MD 3" -.TH BIO_F_MD 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_F_MD 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_f_null.3 b/secure/lib/libcrypto/man/man3/BIO_f_null.3 index b2ddb5c9bd0f..942955c6b55e 100644 --- a/secure/lib/libcrypto/man/man3/BIO_f_null.3 +++ b/secure/lib/libcrypto/man/man3/BIO_f_null.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_F_NULL 3" -.TH BIO_F_NULL 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_F_NULL 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_f_ssl.3 b/secure/lib/libcrypto/man/man3/BIO_f_ssl.3 index 2dfe01321313..d2c15f86bdc9 100644 --- a/secure/lib/libcrypto/man/man3/BIO_f_ssl.3 +++ b/secure/lib/libcrypto/man/man3/BIO_f_ssl.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_F_SSL 3" -.TH BIO_F_SSL 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_F_SSL 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_find_type.3 b/secure/lib/libcrypto/man/man3/BIO_find_type.3 index a6d5c8a83b17..a878b414af9a 100644 --- a/secure/lib/libcrypto/man/man3/BIO_find_type.3 +++ b/secure/lib/libcrypto/man/man3/BIO_find_type.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_FIND_TYPE 3" -.TH BIO_FIND_TYPE 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_FIND_TYPE 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_get_data.3 b/secure/lib/libcrypto/man/man3/BIO_get_data.3 index 92f74a0fadb5..815fd66e44e4 100644 --- a/secure/lib/libcrypto/man/man3/BIO_get_data.3 +++ b/secure/lib/libcrypto/man/man3/BIO_get_data.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_GET_DATA 3" -.TH BIO_GET_DATA 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_GET_DATA 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_get_ex_new_index.3 b/secure/lib/libcrypto/man/man3/BIO_get_ex_new_index.3 index 76a6fc5f8e92..08d894831848 100644 --- a/secure/lib/libcrypto/man/man3/BIO_get_ex_new_index.3 +++ b/secure/lib/libcrypto/man/man3/BIO_get_ex_new_index.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_GET_EX_NEW_INDEX 3" -.TH BIO_GET_EX_NEW_INDEX 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_GET_EX_NEW_INDEX 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_meth_new.3 b/secure/lib/libcrypto/man/man3/BIO_meth_new.3 index a5b20c23f39b..56bd2108ec49 100644 --- a/secure/lib/libcrypto/man/man3/BIO_meth_new.3 +++ b/secure/lib/libcrypto/man/man3/BIO_meth_new.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_METH_NEW 3" -.TH BIO_METH_NEW 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_METH_NEW 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_new.3 b/secure/lib/libcrypto/man/man3/BIO_new.3 index 7113af6046ee..28c9d496d238 100644 --- a/secure/lib/libcrypto/man/man3/BIO_new.3 +++ b/secure/lib/libcrypto/man/man3/BIO_new.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_NEW 3" -.TH BIO_NEW 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_NEW 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_new_CMS.3 b/secure/lib/libcrypto/man/man3/BIO_new_CMS.3 index fa4a277e0a7b..75687e8582bb 100644 --- a/secure/lib/libcrypto/man/man3/BIO_new_CMS.3 +++ b/secure/lib/libcrypto/man/man3/BIO_new_CMS.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_NEW_CMS 3" -.TH BIO_NEW_CMS 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_NEW_CMS 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_parse_hostserv.3 b/secure/lib/libcrypto/man/man3/BIO_parse_hostserv.3 index 377108fb07b3..7aa82048178b 100644 --- a/secure/lib/libcrypto/man/man3/BIO_parse_hostserv.3 +++ b/secure/lib/libcrypto/man/man3/BIO_parse_hostserv.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_PARSE_HOSTSERV 3" -.TH BIO_PARSE_HOSTSERV 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_PARSE_HOSTSERV 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_printf.3 b/secure/lib/libcrypto/man/man3/BIO_printf.3 index cdfbdd839ec9..bfdb71cfd6cb 100644 --- a/secure/lib/libcrypto/man/man3/BIO_printf.3 +++ b/secure/lib/libcrypto/man/man3/BIO_printf.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_PRINTF 3" -.TH BIO_PRINTF 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_PRINTF 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_push.3 b/secure/lib/libcrypto/man/man3/BIO_push.3 index d3214d1cc631..e1e93ad666bd 100644 --- a/secure/lib/libcrypto/man/man3/BIO_push.3 +++ b/secure/lib/libcrypto/man/man3/BIO_push.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_PUSH 3" -.TH BIO_PUSH 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_PUSH 3 "2023-02-07" "1.1.1t" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/man3/BIO_read.3 b/secure/lib/libcrypto/man/man3/BIO_read.3 index 65ed6b567f2c..4f91ea08954c 100644 --- a/secure/lib/libcrypto/man/man3/BIO_read.3 +++ b/secure/lib/libcrypto/man/man3/BIO_read.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIO_READ 3" -.TH BIO_READ 3 "2022-11-01" "1.1.1s" "OpenSSL" +.TH BIO_READ 3 "2023-02-07" "1.1.1t" "OpenSSL" *** 6503 LINES SKIPPED *** From nobody Tue Feb 7 19:18:04 2023 X-Original-To: dev-commits-src-main@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 4PBCZh3T3Cz3nbZG; Tue, 7 Feb 2023 19:18: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCZh2z6Sz4Tv6; Tue, 7 Feb 2023 19:18:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797484; 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=HZNEGeaMu2KcIVGdrIv8FS2aIB0fYPM5rWnIOk14UhI=; b=VM2SDoLwAPaltlusOv2rZbY+zu2viw1ElRj7uNKjlqGlchDWNFwpnYQ8o4KgMo/yvUMXfB Rhn1uYUebF1GsaK/H+pRr2KAxt4UWLa40MuYLQZs/wYMXIvd5EbZIFV2t9dGm9IKuc3FbD fNQmJmFmGiFDHpAr4nNVHKncUxsSNGyjm1jrOvqTvbipB0374oHeFuRe2RThV2AFkznGo5 pyECevfnB1RklZc84/sEFzDE016Y5kNz+7aHpyMG+JMzQjW8JU3VpUW9W0wmWGCoptJ3Bx YX1CLktBE+u2cJsMvI0H8VeuhCqksu8fUGbTY1zTwKw+zjUI2TJRG01ymUwd5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797484; 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=HZNEGeaMu2KcIVGdrIv8FS2aIB0fYPM5rWnIOk14UhI=; b=b7C2MtYOVe9VQx7LKCb29vhiUKQ/TBXr72AN6VYl4fTdgUNiT3MOg2LbHwU1sRfIdwsr1y 3IlSYSPDvgDLJygmAZgoSsW0rdn6nbJ87SJA4521R/hgnccz84ULP9YINsxrz9ch742WxY YqvcVgjWscRIo2mdYnDnxjye36/Lkb6ZWxA8RZCvrkYTK+hzwhnK5781oWX9sStpmoFj4H Z/8+8Q/4L2jIat6rc5RfmTk5XGsUDLsYwlbFj0AhKB7+2JkQ8awQuD8gs0zy1b+JUuf3HU 3bF6Vr8Gn4/mmYkpFrUDwgKGzDcjadzVwBWE7vDPaSMdZ5Du6VIQsPTXlXAWDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675797484; a=rsa-sha256; cv=none; b=Odix48yzSNgOmuWgHV1EeoQI3a8Q1jkJoTzURDdGTM/WXjoRjtaD2pllaYdHBURJrh+A/5 +f2ZqHyEfSQro63TrYrpqKvIqOhqTuOP9WCXiJu1AJD8JddD0bzTHc6r8U4DC9RsVLwYJ7 si0vs6T9FCYoRS1JQaf0DnUdJ2+HWgPJB7pHglzk0NuwQlsylHCvt0VNRqBYSmzZP55S34 zvKV7Y+tQZW7uNOpCvHlfhEYpUSDHUaqk221Hc9xEFUefB+Ja8VzSIR5YDb2PsgIkyFxuk bK/ewF3mZcxhj2c9CgFsRKUA3NJqKCPR5L4z/usLzuwXf7krKnKi05qM9fisWQ== 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 4PBCZh21tyzS7g; Tue, 7 Feb 2023 19:18:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317JI4oL049631; Tue, 7 Feb 2023 19:18:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317JI4lG049630; Tue, 7 Feb 2023 19:18:04 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:18:04 GMT Message-Id: <202302071918.317JI4lG049630@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: b4ad37f693b0 - main - Mechanically convert atse(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b4ad37f693b096965c47543500b48a6978583c7f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=b4ad37f693b096965c47543500b48a6978583c7f commit b4ad37f693b096965c47543500b48a6978583c7f Author: Justin Hibbits AuthorDate: 2022-03-01 16:28:01 +0000 Commit: Justin Hibbits CommitDate: 2023-02-07 19:15:04 +0000 Mechanically convert atse(4) to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37795 --- sys/dev/altera/atse/if_atse.c | 99 ++++++++++++++++++++-------------------- sys/dev/altera/atse/if_atsereg.h | 2 +- 2 files changed, 50 insertions(+), 51 deletions(-) diff --git a/sys/dev/altera/atse/if_atse.c b/sys/dev/altera/atse/if_atse.c index 3a81ca00d150..4753b006bcec 100644 --- a/sys/dev/altera/atse/if_atse.c +++ b/sys/dev/altera/atse/if_atse.c @@ -221,7 +221,7 @@ atse_xdma_tx_intr(void *arg, xdma_transfer_status_t *status) { xdma_transfer_status_t st; struct atse_softc *sc; - struct ifnet *ifp; + if_t ifp; struct mbuf *m; int err; @@ -245,7 +245,7 @@ atse_xdma_tx_intr(void *arg, xdma_transfer_status_t *status) sc->txcount--; } - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); ATSE_UNLOCK(sc); @@ -257,7 +257,7 @@ atse_xdma_rx_intr(void *arg, xdma_transfer_status_t *status) { xdma_transfer_status_t st; struct atse_softc *sc; - struct ifnet *ifp; + if_t ifp; struct mbuf *m; int err; uint32_t cnt_processed; @@ -286,7 +286,7 @@ atse_xdma_rx_intr(void *arg, xdma_transfer_status_t *status) m->m_pkthdr.rcvif = ifp; m_adj(m, ETHER_ALIGN); ATSE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); ATSE_LOCK(sc); } @@ -298,7 +298,7 @@ atse_xdma_rx_intr(void *arg, xdma_transfer_status_t *status) } static int -atse_transmit_locked(struct ifnet *ifp) +atse_transmit_locked(if_t ifp) { struct atse_softc *sc; struct mbuf *m; @@ -306,7 +306,7 @@ atse_transmit_locked(struct ifnet *ifp) int error; int enq; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); br = sc->br; enq = 0; @@ -335,20 +335,20 @@ atse_transmit_locked(struct ifnet *ifp) } static int -atse_transmit(struct ifnet *ifp, struct mbuf *m) +atse_transmit(if_t ifp, struct mbuf *m) { struct atse_softc *sc; struct buf_ring *br; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); br = sc->br; ATSE_LOCK(sc); mtx_lock(&sc->br_mtx); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) { + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) { error = drbr_enqueue(ifp, sc->br, m); mtx_unlock(&sc->br_mtx); ATSE_UNLOCK(sc); @@ -377,11 +377,11 @@ atse_transmit(struct ifnet *ifp, struct mbuf *m) } static void -atse_qflush(struct ifnet *ifp) +atse_qflush(if_t ifp) { struct atse_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); printf("%s\n", __func__); } @@ -390,7 +390,7 @@ static int atse_stop_locked(struct atse_softc *sc) { uint32_t mask, val4; - struct ifnet *ifp; + if_t ifp; int i; ATSE_LOCK_ASSERT(sc); @@ -398,7 +398,7 @@ atse_stop_locked(struct atse_softc *sc) callout_stop(&sc->atse_tick); ifp = sc->atse_ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); /* Disable MAC transmit and receive datapath. */ mask = BASE_CFG_COMMAND_CONFIG_TX_ENA|BASE_CFG_COMMAND_CONFIG_RX_ENA; @@ -448,7 +448,7 @@ atse_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static int atse_rxfilter_locked(struct atse_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t val4; int i; @@ -459,7 +459,7 @@ atse_rxfilter_locked(struct atse_softc *sc) val4 &= ~BASE_CFG_COMMAND_CONFIG_MHASH_SEL; ifp = sc->atse_ifp; - if (ifp->if_flags & IFF_PROMISC) { + if (if_getflags(ifp) & IFF_PROMISC) { val4 |= BASE_CFG_COMMAND_CONFIG_PROMIS_EN; } else { val4 &= ~BASE_CFG_COMMAND_CONFIG_PROMIS_EN; @@ -467,7 +467,7 @@ atse_rxfilter_locked(struct atse_softc *sc) CSR_WRITE_4(sc, BASE_CFG_COMMAND_CONFIG, val4); - if (ifp->if_flags & IFF_ALLMULTI) { + if (if_getflags(ifp) & IFF_ALLMULTI) { /* Accept all multicast addresses. */ for (i = 0; i <= MHASH_LEN; i++) CSR_WRITE_4(sc, MHASH_START + i, 0x1); @@ -873,14 +873,14 @@ atse_reset(struct atse_softc *sc) static void atse_init_locked(struct atse_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; uint8_t *eaddr; ATSE_LOCK_ASSERT(sc); ifp = sc->atse_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { return; } @@ -889,7 +889,7 @@ atse_init_locked(struct atse_softc *sc) * in atse_ioctl() but it's in the general framework, just always * do it here before atse_reset(). */ - eaddr = IF_LLADDR(sc->atse_ifp); + eaddr = if_getlladdr(sc->atse_ifp); bcopy(eaddr, &sc->atse_eth_addr, ETHER_ADDR_LEN); /* Make things frind to halt, cleanup, ... */ @@ -907,8 +907,8 @@ atse_init_locked(struct atse_softc *sc) sc->atse_flags &= ~ATSE_FLAGS_LINK; mii_mediachg(mii); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); callout_reset(&sc->atse_tick, hz, atse_tick, sc); } @@ -930,34 +930,34 @@ atse_init(void *xsc) } static int -atse_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +atse_ioctl(if_t ifp, u_long command, caddr_t data) { struct atse_softc *sc; struct ifreq *ifr; int error, mask; error = 0; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; switch (command) { case SIOCSIFFLAGS: ATSE_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && - ((ifp->if_flags ^ sc->atse_if_flags) & + if (if_getflags(ifp) & IFF_UP) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && + ((if_getflags(ifp) ^ sc->atse_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) atse_rxfilter_locked(sc); else atse_init_locked(sc); - } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) + } else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) atse_stop_locked(sc); - sc->atse_if_flags = ifp->if_flags; + sc->atse_if_flags = if_getflags(ifp); ATSE_UNLOCK(sc); break; case SIOCSIFCAP: ATSE_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); ATSE_UNLOCK(sc); break; case SIOCADDMULTI: @@ -990,7 +990,7 @@ atse_tick(void *xsc) { struct atse_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; sc = (struct atse_softc *)xsc; ATSE_LOCK_ASSERT(sc); @@ -1009,14 +1009,14 @@ atse_tick(void *xsc) * Set media options. */ static int -atse_ifmedia_upd(struct ifnet *ifp) +atse_ifmedia_upd(if_t ifp) { struct atse_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ATSE_LOCK(sc); mii = device_get_softc(sc->atse_miibus); @@ -1033,12 +1033,12 @@ atse_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -atse_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +atse_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct atse_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ATSE_LOCK(sc); mii = device_get_softc(sc->atse_miibus); @@ -1261,7 +1261,7 @@ int atse_attach(device_t dev) { struct atse_softc *sc; - struct ifnet *ifp; + if_t ifp; uint32_t caps; int error; @@ -1379,16 +1379,15 @@ atse_attach(device_t dev) error = ENOSPC; goto err; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = atse_ioctl; - ifp->if_transmit = atse_transmit; - ifp->if_qflush = atse_qflush; - ifp->if_init = atse_init; - IFQ_SET_MAXLEN(&ifp->if_snd, ATSE_TX_LIST_CNT - 1); - ifp->if_snd.ifq_drv_maxlen = ATSE_TX_LIST_CNT - 1; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, atse_ioctl); + if_settransmitfn(ifp, atse_transmit); + if_setqflushfn(ifp, atse_qflush); + if_setinitfn(ifp, atse_init); + if_setsendqlen(ifp, ATSE_TX_LIST_CNT - 1); + if_setsendqready(ifp); /* MII setup. */ error = mii_attach(dev, &sc->atse_miibus, ifp, atse_ifmedia_upd, @@ -1402,9 +1401,9 @@ atse_attach(device_t dev) ether_ifattach(ifp, sc->atse_eth_addr); /* Tell the upper layer(s) about vlan mtu support. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); - ifp->if_capabilities |= IFCAP_VLAN_MTU; - ifp->if_capenable = ifp->if_capabilities; + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); err: if (error != 0) { @@ -1425,7 +1424,7 @@ static int atse_detach(device_t dev) { struct atse_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); KASSERT(mtx_initialized(&sc->atse_mtx), ("%s: mutex not initialized", @@ -1535,7 +1534,7 @@ atse_miibus_statchg(device_t dev) { struct atse_softc *sc; struct mii_data *mii; - struct ifnet *ifp; + if_t ifp; uint32_t val4; sc = device_get_softc(dev); @@ -1544,7 +1543,7 @@ atse_miibus_statchg(device_t dev) mii = device_get_softc(sc->atse_miibus); ifp = sc->atse_ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { return; } diff --git a/sys/dev/altera/atse/if_atsereg.h b/sys/dev/altera/atse/if_atsereg.h index 154fb6a0562c..4c60c8effa88 100644 --- a/sys/dev/altera/atse/if_atsereg.h +++ b/sys/dev/altera/atse/if_atsereg.h @@ -406,7 +406,7 @@ static char *fifo_memory_block[] = { /* -------------------------------------------------------------------------- */ struct atse_softc { - struct ifnet *atse_ifp; + if_t atse_ifp; struct resource *atse_mem_res; device_t atse_miibus; device_t atse_dev; From nobody Tue Feb 7 19:18:05 2023 X-Original-To: dev-commits-src-main@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 4PBCZj5kxmz3nbFl; Tue, 7 Feb 2023 19:18: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCZj42X9z4V60; Tue, 7 Feb 2023 19:18:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797485; 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=szNSe1wEZTaJIVwSHm5e2Yy6C/P2LaTS/opO+Pd6QVk=; b=r7f9SDoVWp2RyZF+f2z+kuMDVOllO5EwMUp4airfWuR+dXosIQUDiKupkdISt3K02Q7dv9 bm3ltWNYJMtp9ucHVgnU78prbCrtuDt3nP2bF2ddzQS2GbbZYk6Xl/DJOF1Db8Te767np7 5+NIaACWE/Fe5yHE80dlBM3A+smB/UhhZfbWTiCcqiyfGN/qqxNdZCRZMBKlIid1dXYrcR Z7H1MmBEO7/ljmeV4kPCq9KQ+KAEzrfgKAcpsCZyT5CyDb96xkMickyMw36e2Y3iB/X/j7 /0dtMiG98XzuNixlgzozeJLFTPVbj5OlPAVLxCvgNSHsEiV5oVLEUc8HN42HIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797485; 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=szNSe1wEZTaJIVwSHm5e2Yy6C/P2LaTS/opO+Pd6QVk=; b=fYqKr1i49LQdwQNPQeg0a4uusM+0VMkr7i8Bg00AyFx0R8WfPHgMtDywM8eGFy6mZd6K7/ 4iRU0PQjl44ei80mZvdbuDsXxxXnErpqXN3gKTWiksC/p1pNe8DEItRPe1bb1CsiW0eFKh xEd5qM3eOTvL+th/a3CW+1qxB/HHyaAfKJquE8AxbE1FFMLq19tOcExsmzeUuimOYI3KUf upkRp3DHg26cg44iGVxHnLjBRW1Jik0HJMu6v2oH83Ih2Milj0wZXR07CfSnostOcbXqz9 eIOMv1V62ON84uwiCL8+8T+qB0SO5iCjwSN2vr8CrvTQ0EKD/CP6R3dZU4aRAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675797485; a=rsa-sha256; cv=none; b=HXrH0ZQsN7MBPtzRx2rgih6WfLiuPZeS85g4Rpw3m2T+HY2htd2bCSTT2a8/8IPBJyEFcn xEX78dnDP396E7HUCFGwxZFw/nf/xe9EMdyqWsB/SPU/Eip4Yunu7DJ8DXBJXmqKQkQP98 0AecRNR1VAZlPvFHDS565s46egz4aiMJYhIBmfcr78C1dDKEvBK2LoobRGvIVCQ2NZb2a6 FfkuAazHeTMG696pFGL4aHvfbuRVGotT6G6VCKhKJDiYSPxqSuT3h8Cm/3LRft8XpzJliT 23sP2LMTV4S/WHkWgoGsT24vNmrSqp4Zi35nLeAGRj10fw5zUG6V0LfsNcitvA== 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 4PBCZj36pGzS7h; Tue, 7 Feb 2023 19:18:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317JI5cU049662; Tue, 7 Feb 2023 19:18:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317JI5p1049661; Tue, 7 Feb 2023 19:18:05 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:18:05 GMT Message-Id: <202302071918.317JI5p1049661@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: dba12f75604f - main - Mechanically convert if_xae to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dba12f75604f3d361f2610d3cab85f9eaca6eea4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=dba12f75604f3d361f2610d3cab85f9eaca6eea4 commit dba12f75604f3d361f2610d3cab85f9eaca6eea4 Author: Justin Hibbits AuthorDate: 2022-03-01 17:00:21 +0000 Commit: Justin Hibbits CommitDate: 2023-02-07 19:15:04 +0000 Mechanically convert if_xae to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37797 --- sys/dev/xilinx/if_xae.c | 93 +++++++++++++++++++++++----------------------- sys/dev/xilinx/if_xaevar.h | 2 +- 2 files changed, 47 insertions(+), 48 deletions(-) diff --git a/sys/dev/xilinx/if_xae.c b/sys/dev/xilinx/if_xae.c index 5b61d19b6f0a..414d45f37514 100644 --- a/sys/dev/xilinx/if_xae.c +++ b/sys/dev/xilinx/if_xae.c @@ -177,7 +177,7 @@ xae_xdma_tx_intr(void *arg, xdma_transfer_status_t *status) { xdma_transfer_status_t st; struct xae_softc *sc; - struct ifnet *ifp; + if_t ifp; struct mbuf *m; int err; @@ -200,7 +200,7 @@ xae_xdma_tx_intr(void *arg, xdma_transfer_status_t *status) m_freem(m); } - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); XAE_UNLOCK(sc); @@ -212,7 +212,7 @@ xae_xdma_rx_intr(void *arg, xdma_transfer_status_t *status) { xdma_transfer_status_t st; struct xae_softc *sc; - struct ifnet *ifp; + if_t ifp; struct mbuf *m; int err; uint32_t cnt_processed; @@ -242,7 +242,7 @@ xae_xdma_rx_intr(void *arg, xdma_transfer_status_t *status) m->m_pkthdr.len = m->m_len = st.transferred; m->m_pkthdr.rcvif = ifp; XAE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); XAE_LOCK(sc); } @@ -254,12 +254,12 @@ xae_xdma_rx_intr(void *arg, xdma_transfer_status_t *status) } static void -xae_qflush(struct ifnet *ifp) +xae_qflush(if_t ifp) { } static int -xae_transmit_locked(struct ifnet *ifp) +xae_transmit_locked(if_t ifp) { struct xae_softc *sc; struct mbuf *m; @@ -269,7 +269,7 @@ xae_transmit_locked(struct ifnet *ifp) dprintf("%s\n", __func__); - sc = ifp->if_softc; + sc = if_getsoftc(ifp); br = sc->br; enq = 0; @@ -298,14 +298,14 @@ xae_transmit_locked(struct ifnet *ifp) } static int -xae_transmit(struct ifnet *ifp, struct mbuf *m) +xae_transmit(if_t ifp, struct mbuf *m) { struct xae_softc *sc; int error; dprintf("%s\n", __func__); - sc = ifp->if_softc; + sc = if_getsoftc(ifp); XAE_LOCK(sc); @@ -315,7 +315,7 @@ xae_transmit(struct ifnet *ifp, struct mbuf *m) return (error); } - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) { XAE_UNLOCK(sc); return (0); @@ -336,13 +336,13 @@ xae_transmit(struct ifnet *ifp, struct mbuf *m) static void xae_stop_locked(struct xae_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t reg; XAE_ASSERT_LOCKED(sc); ifp = sc->ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); callout_stop(&sc->xae_callout); @@ -381,7 +381,7 @@ xae_stat(struct xae_softc *sc, int counter_id) static void xae_harvest_stats(struct xae_softc *sc) { - struct ifnet *ifp; + if_t ifp; ifp = sc->ifp; @@ -409,7 +409,7 @@ static void xae_tick(void *arg) { struct xae_softc *sc; - struct ifnet *ifp; + if_t ifp; int link_was_up; sc = arg; @@ -418,7 +418,7 @@ xae_tick(void *arg) ifp = sc->ifp; - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) return; /* Gather stats from hardware counters. */ @@ -437,15 +437,15 @@ xae_tick(void *arg) static void xae_init_locked(struct xae_softc *sc) { - struct ifnet *ifp; + if_t ifp; XAE_ASSERT_LOCKED(sc); ifp = sc->ifp; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) return; - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); xae_setup_rxfilter(sc); @@ -476,12 +476,12 @@ xae_init(void *arg) } static void -xae_media_status(struct ifnet * ifp, struct ifmediareq *ifmr) +xae_media_status(if_t ifp, struct ifmediareq *ifmr) { struct xae_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = sc->mii_softc; XAE_LOCK(sc); @@ -499,12 +499,12 @@ xae_media_change_locked(struct xae_softc *sc) } static int -xae_media_change(struct ifnet * ifp) +xae_media_change(if_t ifp) { struct xae_softc *sc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); XAE_LOCK(sc); error = xae_media_change_locked(sc); @@ -545,7 +545,7 @@ xae_write_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void xae_setup_rxfilter(struct xae_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t reg; XAE_ASSERT_LOCKED(sc); @@ -555,7 +555,7 @@ xae_setup_rxfilter(struct xae_softc *sc) /* * Set the multicast (group) filter hash. */ - if ((ifp->if_flags & (IFF_ALLMULTI | IFF_PROMISC)) != 0) { + if ((if_getflags(ifp) & (IFF_ALLMULTI | IFF_PROMISC)) != 0) { reg = READ4(sc, XAE_FFC); reg |= FFC_PM; WRITE4(sc, XAE_FFC, reg); @@ -582,23 +582,23 @@ xae_setup_rxfilter(struct xae_softc *sc) } static int -xae_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +xae_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct xae_softc *sc; struct mii_data *mii; struct ifreq *ifr; int mask, error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; error = 0; switch (cmd) { case SIOCSIFFLAGS: XAE_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - if ((ifp->if_flags ^ sc->if_flags) & + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if ((if_getflags(ifp) ^ sc->if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) xae_setup_rxfilter(sc); } else { @@ -606,15 +606,15 @@ xae_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) xae_init_locked(sc); } } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) xae_stop_locked(sc); } - sc->if_flags = ifp->if_flags; + sc->if_flags = if_getflags(ifp); XAE_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { XAE_LOCK(sc); xae_setup_rxfilter(sc); XAE_UNLOCK(sc); @@ -626,10 +626,10 @@ xae_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, cmd); break; case SIOCSIFCAP: - mask = ifp->if_capenable ^ ifr->ifr_reqcap; + mask = if_getcapenable(ifp) ^ ifr->ifr_reqcap; if (mask & IFCAP_VLAN_MTU) { /* No work to do except acknowledge the change took */ - ifp->if_capenable ^= IFCAP_VLAN_MTU; + if_togglecapenable(ifp, IFCAP_VLAN_MTU); } break; @@ -934,7 +934,7 @@ static int xae_attach(device_t dev) { struct xae_softc *sc; - struct ifnet *ifp; + if_t ifp; phandle_t node; uint32_t reg; int error; @@ -998,18 +998,17 @@ xae_attach(device_t dev) return (ENXIO); } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_capabilities = IFCAP_VLAN_MTU; - ifp->if_capenable = ifp->if_capabilities; - ifp->if_transmit = xae_transmit; - ifp->if_qflush = xae_qflush; - ifp->if_ioctl = xae_ioctl; - ifp->if_init = xae_init; - IFQ_SET_MAXLEN(&ifp->if_snd, TX_DESC_COUNT - 1); - ifp->if_snd.ifq_drv_maxlen = TX_DESC_COUNT - 1; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setcapabilities(ifp, IFCAP_VLAN_MTU); + if_setcapenable(ifp, if_getcapabilities(ifp)); + if_settransmitfn(ifp, xae_transmit); + if_setqflushfn(ifp, xae_qflush); + if_setioctlfn(ifp, xae_ioctl); + if_setinitfn(ifp, xae_init); + if_setsendqlen(ifp, TX_DESC_COUNT - 1); + if_setsendqready(ifp); if (xae_get_phyaddr(node, &sc->phy_addr) != 0) return (ENXIO); @@ -1043,7 +1042,7 @@ static int xae_detach(device_t dev) { struct xae_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); diff --git a/sys/dev/xilinx/if_xaevar.h b/sys/dev/xilinx/if_xaevar.h index 3039653780e9..fab0850989be 100644 --- a/sys/dev/xilinx/if_xaevar.h +++ b/sys/dev/xilinx/if_xaevar.h @@ -51,7 +51,7 @@ struct xae_softc { uint8_t macaddr[ETHER_ADDR_LEN]; device_t miibus; struct mii_data * mii_softc; - struct ifnet *ifp; + if_t ifp; int if_flags; struct mtx mtx; void * intr_cookie; From nobody Tue Feb 7 19:18:06 2023 X-Original-To: dev-commits-src-main@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 4PBCZk67Xlz3nbFp; Tue, 7 Feb 2023 19:18: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCZk53lKz4Tsp; Tue, 7 Feb 2023 19:18:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797486; 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=arNbeOk8Ztnl6QoWIEmWZ5CdhtVFrkVMJV2Hn4DiUT8=; b=DxuqJ6XrIV6FX1be6dCEQeKxTwLZJUTUzCJ7UAZSzyN2/Kmom2G5tOtc3kTjZu08o7StWc G9UjWl+NZnNtQFUug/x1NqrR8fdGOcx4vjTgNLfFvxKJ9JzRBzB3Wt6b5ORqQgWPVVcVKu WiD2oBK3zVq5gPf0Ir6OgM1uU6NEYjLQvreHkIvgPfTxjSiWAAGLurXdmJP24t9fL/sDMG 8A9wGghnp5xr4rCI7Tpo9mlE1o9RZWvRZRw3P3LWUPbzbqEddWf6nPLXM2Mo4TbdNvLZCy F+PiVkAABAZ9MHI9yzrxTIST2q/LRGvvb0MHtKVvJswzIEgmEGZyHAkPm5cLsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797486; 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=arNbeOk8Ztnl6QoWIEmWZ5CdhtVFrkVMJV2Hn4DiUT8=; b=mLA+JYneyVTFKN8G+yEeG4Vjhm9mcB14v8+ysQuFNJzv4LXu0+WGGIowl/AFHzEDlq0yFR wRgjCXeoETVfuY165Zd/8CFZN3mM+ZgNqkTsYPQr0gttfdJHo/o5NbAvPNbSHcRx88Jj0O +bUiWcmJhfL6Fb+G1wqeyrrTUCzDa+RqMLkWCKdqvSQ97eg/O0TU6+YbRliqSaJ7GiDmCW ar0oD5wHFZM9J3H80Hypl+5uyQcnJPFNYpSupoCJmBHkSbOAPrQJC5dgy5O43ZSQgcZLgy 8Y7S5B6jXEqKaidh+TuknLLU51Mnd/1eWKIU7KJaWbVAwFB4Z5qAp+XG5AKHyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675797486; a=rsa-sha256; cv=none; b=RUIH0avgPaEBmPn8o4h9SCw43D879LJr904BvWj3vgh4/den/FIf2Y/F/rRifO9680EIAS N6NCFQEniiNAqtnchw5Pg16eCrfKlgr/blVr90VzEW5jG7tmxd6RWi8n4h8rKs4GD+Xzad EXY5x/VNIr5k+rBLBy1O6lFcl6GSYL5+7qRqtrGQX7+nG657EelJ1SNc8wdwLkhKsY0YGC yxgXpCDnZ90MXTFYIe8g6JInDufpRyY+Rn+lP0CCjR0Yx+V96fNq0RBHgqCMPCMKp0iPy5 hCR2zqVgO/5EA17BeBwt6FP2tlMbhlpjhDpzrztdht+HgIZSupVVtYjagUv3lg== 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 4PBCZk40xYzSYX; Tue, 7 Feb 2023 19:18:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317JI6ne049686; Tue, 7 Feb 2023 19:18:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317JI6Px049685; Tue, 7 Feb 2023 19:18:06 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:18:06 GMT Message-Id: <202302071918.317JI6Px049685@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 2fda7967b6d0 - main - Mechanically convert usb_ethernet(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2fda7967b6d067a7a4a792913d46bd41272830b9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=2fda7967b6d067a7a4a792913d46bd41272830b9 commit 2fda7967b6d067a7a4a792913d46bd41272830b9 Author: Justin Hibbits AuthorDate: 2022-03-01 19:19:18 +0000 Commit: Justin Hibbits CommitDate: 2023-02-07 19:15:45 +0000 Mechanically convert usb_ethernet(4) to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37802 --- sys/dev/usb/net/usb_ethernet.c | 77 +++++++++++++++++++++--------------------- sys/dev/usb/net/usb_ethernet.h | 18 +++++----- 2 files changed, 47 insertions(+), 48 deletions(-) diff --git a/sys/dev/usb/net/usb_ethernet.c b/sys/dev/usb/net/usb_ethernet.c index 71f4db0cf61a..172bfb15cbc3 100644 --- a/sys/dev/usb/net/usb_ethernet.c +++ b/sys/dev/usb/net/usb_ethernet.c @@ -81,8 +81,8 @@ static usb_proc_callback_t ue_start_task; static usb_proc_callback_t ue_stop_task; static void ue_init(void *); -static void ue_start(struct ifnet *); -static int ue_ifmedia_upd(struct ifnet *); +static void ue_start(if_t); +static int ue_ifmedia_upd(if_t); static void ue_watchdog(void *); /* @@ -132,7 +132,7 @@ ue_queue_command(struct usb_ether *ue, usb_proc_mwait(&ue->ue_tq, t0, t1); } -struct ifnet * +if_t uether_getifp(struct usb_ether *ue) { return (ue->ue_ifp); @@ -207,7 +207,7 @@ ue_attach_post_task(struct usb_proc_msg *_task) struct usb_ether_cfg_task *task = (struct usb_ether_cfg_task *)_task; struct usb_ether *ue = task->ue; - struct ifnet *ifp; + if_t ifp; int error; char num[14]; /* sufficient for 32 bits */ @@ -229,22 +229,21 @@ ue_attach_post_task(struct usb_proc_msg *_task) goto fail; } - ifp->if_softc = ue; + if_setsoftc(ifp, ue); if_initname(ifp, "ue", ue->ue_unit); if (ue->ue_methods->ue_attach_post_sub != NULL) { ue->ue_ifp = ifp; error = ue->ue_methods->ue_attach_post_sub(ue); } else { - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); if (ue->ue_methods->ue_ioctl != NULL) - ifp->if_ioctl = ue->ue_methods->ue_ioctl; + if_setioctlfn(ifp, ue->ue_methods->ue_ioctl); else - ifp->if_ioctl = uether_ioctl; - ifp->if_start = ue_start; - ifp->if_init = ue_init; - IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); - ifp->if_snd.ifq_drv_maxlen = ifqmaxlen; - IFQ_SET_READY(&ifp->if_snd); + if_setioctlfn(ifp, uether_ioctl); + if_setstartfn(ifp, ue_start); + if_setinitfn(ifp, ue_init); + if_setsendqlen(ifp, ifqmaxlen); + if_setsendqready(ifp); ue->ue_ifp = ifp; if (ue->ue_methods->ue_mii_upd != NULL && @@ -265,8 +264,8 @@ ue_attach_post_task(struct usb_proc_msg *_task) if_printf(ifp, " on %s\n", device_get_nameunit(ue->ue_dev)); ether_ifattach(ifp, ue->ue_eaddr); /* Tell upper layer we support VLAN oversized frames. */ - if (ifp->if_capabilities & IFCAP_VLAN_MTU) - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if (if_getcapabilities(ifp) & IFCAP_VLAN_MTU) + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); CURVNET_RESTORE(); @@ -301,7 +300,7 @@ fail: void uether_ifdetach(struct usb_ether *ue) { - struct ifnet *ifp; + if_t ifp; /* wait for any post attach or other command to complete */ usb_proc_drain(&ue->ue_tq); @@ -312,7 +311,7 @@ uether_ifdetach(struct usb_ether *ue) if (ifp != NULL) { /* we are not running any more */ UE_LOCK(ue); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); UE_UNLOCK(ue); /* drain any callouts */ @@ -379,13 +378,13 @@ ue_start_task(struct usb_proc_msg *_task) struct usb_ether_cfg_task *task = (struct usb_ether_cfg_task *)_task; struct usb_ether *ue = task->ue; - struct ifnet *ifp = ue->ue_ifp; + if_t ifp = ue->ue_ifp; UE_LOCK_ASSERT(ue, MA_OWNED); ue->ue_methods->ue_init(ue); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; if (ue->ue_methods->ue_tick != NULL) @@ -407,18 +406,18 @@ ue_stop_task(struct usb_proc_msg *_task) } void -uether_start(struct ifnet *ifp) +uether_start(if_t ifp) { ue_start(ifp); } static void -ue_start(struct ifnet *ifp) +ue_start(if_t ifp) { - struct usb_ether *ue = ifp->if_softc; + struct usb_ether *ue = if_getsoftc(ifp); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; UE_LOCK(ue); @@ -447,16 +446,16 @@ ue_setmulti_task(struct usb_proc_msg *_task) } int -uether_ifmedia_upd(struct ifnet *ifp) +uether_ifmedia_upd(if_t ifp) { return (ue_ifmedia_upd(ifp)); } static int -ue_ifmedia_upd(struct ifnet *ifp) +ue_ifmedia_upd(if_t ifp) { - struct usb_ether *ue = ifp->if_softc; + struct usb_ether *ue = if_getsoftc(ifp); /* Defer to process context */ UE_LOCK(ue); @@ -474,7 +473,7 @@ ue_ifmedia_task(struct usb_proc_msg *_task) struct usb_ether_cfg_task *task = (struct usb_ether_cfg_task *)_task; struct usb_ether *ue = task->ue; - struct ifnet *ifp = ue->ue_ifp; + if_t ifp = ue->ue_ifp; ue->ue_methods->ue_mii_upd(ifp); } @@ -483,9 +482,9 @@ static void ue_watchdog(void *arg) { struct usb_ether *ue = arg; - struct ifnet *ifp = ue->ue_ifp; + if_t ifp = ue->ue_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; ue_queue_command(ue, ue_tick_task, @@ -501,18 +500,18 @@ ue_tick_task(struct usb_proc_msg *_task) struct usb_ether_cfg_task *task = (struct usb_ether_cfg_task *)_task; struct usb_ether *ue = task->ue; - struct ifnet *ifp = ue->ue_ifp; + if_t ifp = ue->ue_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; ue->ue_methods->ue_tick(ue); } int -uether_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +uether_ioctl(if_t ifp, u_long command, caddr_t data) { - struct usb_ether *ue = ifp->if_softc; + struct usb_ether *ue = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *)data; struct mii_data *mii; int error = 0; @@ -520,8 +519,8 @@ uether_ioctl(struct ifnet *ifp, u_long command, caddr_t data) switch (command) { case SIOCSIFFLAGS: UE_LOCK(ue); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) ue_queue_command(ue, ue_promisc_task, &ue->ue_promisc_task[0].hdr, &ue->ue_promisc_task[1].hdr); @@ -598,7 +597,7 @@ int uether_rxmbuf(struct usb_ether *ue, struct mbuf *m, unsigned len) { - struct ifnet *ifp = ue->ue_ifp; + if_t ifp = ue->ue_ifp; UE_LOCK_ASSERT(ue, MA_OWNED); @@ -616,7 +615,7 @@ int uether_rxbuf(struct usb_ether *ue, struct usb_page_cache *pc, unsigned offset, unsigned len) { - struct ifnet *ifp = ue->ue_ifp; + if_t ifp = ue->ue_ifp; struct mbuf *m; UE_LOCK_ASSERT(ue, MA_OWNED); @@ -645,7 +644,7 @@ uether_rxbuf(struct usb_ether *ue, struct usb_page_cache *pc, void uether_rxflush(struct usb_ether *ue) { - struct ifnet *ifp = ue->ue_ifp; + if_t ifp = ue->ue_ifp; struct epoch_tracker et; struct mbuf *m, *n; @@ -657,7 +656,7 @@ uether_rxflush(struct usb_ether *ue) while ((m = n) != NULL) { n = STAILQ_NEXT(m, m_stailqpkt); m->m_nextpkt = NULL; - ifp->if_input(ifp, m); + if_input(ifp, m); } NET_EPOCH_EXIT(et); UE_LOCK(ue); diff --git a/sys/dev/usb/net/usb_ethernet.h b/sys/dev/usb/net/usb_ethernet.h index dadcc73b2a39..1a4787a60403 100644 --- a/sys/dev/usb/net/usb_ethernet.h +++ b/sys/dev/usb/net/usb_ethernet.h @@ -62,10 +62,10 @@ struct usb_ether_methods { uether_fn_t *ue_setmulti; uether_fn_t *ue_setpromisc; uether_fn_t *ue_tick; - int (*ue_mii_upd)(struct ifnet *); - void (*ue_mii_sts)(struct ifnet *, + int (*ue_mii_upd)(if_t); + void (*ue_mii_sts)(if_t, struct ifmediareq *); - int (*ue_ioctl)(struct ifnet *, u_long, caddr_t); + int (*ue_ioctl)(if_t, u_long, caddr_t); int (*ue_attach_post_sub)(struct usb_ether *); }; @@ -76,7 +76,7 @@ struct usb_ether_cfg_task { struct usb_ether { /* NOTE: the "ue_ifp" pointer must be first --hps */ - struct ifnet *ue_ifp; + if_t ue_ifp; struct mtx *ue_mtx; const struct usb_ether_methods *ue_methods; struct sysctl_oid *ue_sysctl_oid; @@ -104,16 +104,16 @@ struct usb_ether { #define uether_do_request(ue,req,data,timo) \ usbd_do_request_proc((ue)->ue_udev,&(ue)->ue_tq,req,data,0,NULL,timo) -uint8_t uether_pause(struct usb_ether *, unsigned); -struct ifnet *uether_getifp(struct usb_ether *); +uint8_t uether_pause(struct usb_ether *, unsigned int); +if_t uether_getifp(struct usb_ether *); struct mii_data *uether_getmii(struct usb_ether *); void *uether_getsc(struct usb_ether *); int uether_ifattach(struct usb_ether *); void uether_ifattach_wait(struct usb_ether *); void uether_ifdetach(struct usb_ether *); -int uether_ifmedia_upd(struct ifnet *); +int uether_ifmedia_upd(if_t); void uether_init(void *); -int uether_ioctl(struct ifnet *, u_long, caddr_t); +int uether_ioctl(if_t, u_long, caddr_t); struct mbuf *uether_newbuf(void); int uether_rxmbuf(struct usb_ether *, struct mbuf *, unsigned); @@ -122,5 +122,5 @@ int uether_rxbuf(struct usb_ether *, unsigned, unsigned); void uether_rxflush(struct usb_ether *); uint8_t uether_is_gone(struct usb_ether *); -void uether_start(struct ifnet *); +void uether_start(if_t); #endif /* _USB_ETHERNET_H_ */ From nobody Tue Feb 7 19:18:07 2023 X-Original-To: dev-commits-src-main@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 4PBCZl6Q7xz3nbXN; Tue, 7 Feb 2023 19:18: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCZl5Tvkz4V8Y; Tue, 7 Feb 2023 19:18:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797487; 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=Dtu6ib1Ru2hA/EzjrrMOUarQdvVdDbwOSOiAA9F7MxM=; b=BZrKWe0LuwNRmaXrHLrGYH58rkyIVOiLlGBKULwJlSKNVVV5DyvEhxYWLphAPneoPr6e6g pRqeYE+BkE6kyV+y6fZ4xuJswtEJTWaak4bgdakmOUxT+0921ms/priSEA64FLCKvhUg8h 1wIjhoOo9LGQ7ijeMeTxqLGJXVuAUSFpuH7DgfRY5zG/LqUe1qJVQbQ6+58joBah4tEA85 YGoka8MHEWi/Xub4C8XTURGdVbpPEyrU0FGAqD3hUr89J3A7wYNoKPLgaftCA6ukyi83CX M1zFNeldpTuAmvywiAW/cDVR5aZ8WCAov0Vhm2Yr/9oFsZjZ8yTiS+6tFifijg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797487; 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=Dtu6ib1Ru2hA/EzjrrMOUarQdvVdDbwOSOiAA9F7MxM=; b=JRMvczzuDu4b7ItJbKcOOACJf5/ZtmWFJTD9wuI5M6s2k/n5DJV1OtLpab1UfD8Xi8Wifp YPToY5W1bPpPR1gF+5zaahZJCMIX1gnOhvxRf6WMBdwClU/R42rUnOccoZ1j8L4AP6av5a 2LL9Av5ItvBQxpsnB5eAmGUnazXG2jSCdxXUqikLWHZzE5YgoyvQLVJCbNvWetQQ/opIyl VPZtvbW0k1ZgfvPkUi1RNQcqU4JUppwXBatDSPnE6a+oe9dxLL0KzwNHrVEaBYI8dkQsMi dMN/dHpgnlRml8tuVsrkExlmHApGq01TpTtEBVcLs5VlSjV8jcyz/pkDWFF6NQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675797487; a=rsa-sha256; cv=none; b=vvzstLA0TM+TosJQSaN0Err505pV9cMtpOKby9xCUWbHYx66kd13ZhlHel4FdnC9xC4npZ ++K9NF8dzH2OGHKZApbi3AvXjMsRTLdqrK14PQ6MWg7SBEC9F5pyg0mioIW1ra/VMvBRpR ev/AdqUA1eyF8RrUt26w4elFKrNanqKDciOthpwQ5u6rbP6eLr5JuZ/0X6I6rb8kdY4yuV x5CsWb62uvLE5Ve+lyaDZdgBn35+vmXLPs0EelKdqrGlJIfOiALj9k/y+pNhbi4wvUUubW Fdapvl64isaNXqi1Zct6qHSD+6Rs7V4vbiBmjFXCQ7Dy/yZ3SGDB7y1vNNn6ew== 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 4PBCZl4Ty1zSdj; Tue, 7 Feb 2023 19:18:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317JI7RV049711; Tue, 7 Feb 2023 19:18:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317JI7HJ049710; Tue, 7 Feb 2023 19:18:07 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:18:07 GMT Message-Id: <202302071918.317JI7HJ049710@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 08ca347fc7cf - main - Mechanically convert stge(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 08ca347fc7cfdea625a73d439a0dab7618cd5f63 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=08ca347fc7cfdea625a73d439a0dab7618cd5f63 commit 08ca347fc7cfdea625a73d439a0dab7618cd5f63 Author: Justin Hibbits AuthorDate: 2022-03-01 19:51:27 +0000 Commit: Justin Hibbits CommitDate: 2023-02-07 19:15:48 +0000 Mechanically convert stge(4) to IfAPI Reviewed By: zlei, melifaro Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37807 --- sys/dev/stge/if_stge.c | 217 +++++++++++++++++++++++----------------------- sys/dev/stge/if_stgereg.h | 2 +- 2 files changed, 109 insertions(+), 110 deletions(-) diff --git a/sys/dev/stge/if_stge.c b/sys/dev/stge/if_stge.c index 7f35f064d759..35acf32e3dd0 100644 --- a/sys/dev/stge/if_stge.c +++ b/sys/dev/stge/if_stge.c @@ -132,10 +132,10 @@ static int stge_suspend(device_t); static int stge_resume(device_t); static int stge_encap(struct stge_softc *, struct mbuf **); -static void stge_start(struct ifnet *); -static void stge_start_locked(struct ifnet *); +static void stge_start(if_t); +static void stge_start_locked(if_t); static void stge_watchdog(struct stge_softc *); -static int stge_ioctl(struct ifnet *, u_long, caddr_t); +static int stge_ioctl(if_t, u_long, caddr_t); static void stge_init(void *); static void stge_init_locked(struct stge_softc *); static void stge_vlan_setup(struct stge_softc *); @@ -167,8 +167,8 @@ static __inline struct mbuf *stge_fixup_rx(struct stge_softc *, struct mbuf *); static int stge_miibus_readreg(device_t, int, int); static int stge_miibus_writereg(device_t, int, int, int); static void stge_miibus_statchg(device_t); -static int stge_mediachange(struct ifnet *); -static void stge_mediastatus(struct ifnet *, struct ifmediareq *); +static int stge_mediachange(if_t); +static void stge_mediastatus(if_t, struct ifmediareq *); static void stge_dmamap_cb(void *, bus_dma_segment_t *, int, int); static int stge_dma_alloc(struct stge_softc *); @@ -177,7 +177,7 @@ static void stge_dma_wait(struct stge_softc *); static void stge_init_tx_ring(struct stge_softc *); static int stge_init_rx_ring(struct stge_softc *); #ifdef DEVICE_POLLING -static int stge_poll(struct ifnet *, enum poll_cmd, int); +static int stge_poll(if_t, enum poll_cmd, int); #endif static void stge_setwol(struct stge_softc *); @@ -342,12 +342,12 @@ stge_miibus_statchg(device_t dev) * Get the current interface media status. */ static void -stge_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) +stge_mediastatus(if_t ifp, struct ifmediareq *ifmr) { struct stge_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = device_get_softc(sc->sc_miibus); mii_pollstat(mii); @@ -361,12 +361,12 @@ stge_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) * Set hardware to newly-selected media. */ static int -stge_mediachange(struct ifnet *ifp) +stge_mediachange(if_t ifp) { struct stge_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = device_get_softc(sc->sc_miibus); mii_mediachg(mii); @@ -430,7 +430,7 @@ static int stge_attach(device_t dev) { struct stge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint8_t enaddr[ETHER_ADDR_LEN]; int error, flags, i; uint16_t cmd; @@ -568,25 +568,24 @@ stge_attach(device_t dev) goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = stge_ioctl; - ifp->if_start = stge_start; - ifp->if_init = stge_init; - ifp->if_snd.ifq_drv_maxlen = STGE_TX_RING_CNT - 1; - IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, stge_ioctl); + if_setstartfn(ifp, stge_start); + if_setinitfn(ifp, stge_init); + if_setsendqlen(ifp, STGE_TX_RING_CNT - 1); + if_setsendqready(ifp); /* Revision B3 and earlier chips have checksum bug. */ if (sc->sc_rev >= 0x0c) { - ifp->if_hwassist = STGE_CSUM_FEATURES; - ifp->if_capabilities = IFCAP_HWCSUM; + if_sethwassist(ifp, STGE_CSUM_FEATURES); + if_setcapabilities(ifp, IFCAP_HWCSUM); } else { - ifp->if_hwassist = 0; - ifp->if_capabilities = 0; + if_sethwassist(ifp, 0); + if_setcapabilities(ifp, 0); } - ifp->if_capabilities |= IFCAP_WOL_MAGIC; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_WOL_MAGIC, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); /* * Read some important bits from the PhyCtrl register. @@ -609,19 +608,19 @@ stge_attach(device_t dev) ether_ifattach(ifp, enaddr); /* VLAN capability setup */ - ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING, 0); if (sc->sc_rev >= 0x0c) - ifp->if_capabilities |= IFCAP_VLAN_HWCSUM; - ifp->if_capenable = ifp->if_capabilities; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWCSUM, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); #ifdef DEVICE_POLLING - ifp->if_capabilities |= IFCAP_POLLING; + if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif /* * Tell the upper layer(s) we support long frames. * Must appear after the call to ether_ifattach() because * ether_ifattach() sets ifi_hdrlen to the default value. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); /* * The manual recommends disabling early transmit, so we @@ -661,13 +660,13 @@ static int stge_detach(device_t dev) { struct stge_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); ifp = sc->sc_ifp; #ifdef DEVICE_POLLING - if (ifp && ifp->if_capenable & IFCAP_POLLING) + if (ifp && if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(ifp); #endif if (device_is_attached(dev)) { @@ -983,7 +982,7 @@ stge_shutdown(device_t dev) static void stge_setwol(struct stge_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint8_t v; STGE_LOCK_ASSERT(sc); @@ -993,7 +992,7 @@ stge_setwol(struct stge_softc *sc) /* Disable all WOL bits. */ v &= ~(WE_WakePktEnable | WE_MagicPktEnable | WE_LinkEventEnable | WE_WakeOnLanEnable); - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) v |= WE_MagicPktEnable | WE_WakeOnLanEnable; CSR_WRITE_1(sc, STGE_WakeEvent, v); /* Reset Tx and prevent transmission. */ @@ -1025,7 +1024,7 @@ static int stge_resume(device_t dev) { struct stge_softc *sc; - struct ifnet *ifp; + if_t ifp; uint8_t v; sc = device_get_softc(dev); @@ -1040,7 +1039,7 @@ stge_resume(device_t dev) WE_WakeOnLanEnable); CSR_WRITE_1(sc, STGE_WakeEvent, v); ifp = sc->sc_ifp; - if (ifp->if_flags & IFF_UP) + if (if_getflags(ifp) & IFF_UP) stge_init_locked(sc); sc->sc_suspended = 0; @@ -1157,38 +1156,38 @@ stge_encap(struct stge_softc *sc, struct mbuf **m_head) * Start packet transmission on the interface. */ static void -stge_start(struct ifnet *ifp) +stge_start(if_t ifp) { struct stge_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); STGE_LOCK(sc); stge_start_locked(ifp); STGE_UNLOCK(sc); } static void -stge_start_locked(struct ifnet *ifp) +stge_start_locked(if_t ifp) { struct stge_softc *sc; struct mbuf *m_head; int enq; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); STGE_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING|IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING|IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || sc->sc_link == 0) return; - for (enq = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd); ) { + for (enq = 0; !if_sendq_empty(ifp); ) { if (sc->sc_cdata.stge_tx_cnt >= STGE_TX_HIWAT) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; /* @@ -1199,8 +1198,8 @@ stge_start_locked(struct ifnet *ifp) if (stge_encap(sc, &m_head)) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -1229,7 +1228,7 @@ stge_start_locked(struct ifnet *ifp) static void stge_watchdog(struct stge_softc *sc) { - struct ifnet *ifp; + if_t ifp; STGE_LOCK_ASSERT(sc); @@ -1239,9 +1238,9 @@ stge_watchdog(struct stge_softc *sc) ifp = sc->sc_ifp; if_printf(sc->sc_ifp, "device timeout\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); stge_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) stge_start_locked(ifp); } @@ -1251,25 +1250,25 @@ stge_watchdog(struct stge_softc *sc) * Handle control requests from the operator. */ static int -stge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +stge_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct stge_softc *sc; struct ifreq *ifr; struct mii_data *mii; int error, mask; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; error = 0; switch (cmd) { case SIOCSIFMTU: if (ifr->ifr_mtu < ETHERMIN || ifr->ifr_mtu > STGE_JUMBO_MTU) error = EINVAL; - else if (ifp->if_mtu != ifr->ifr_mtu) { - ifp->if_mtu = ifr->ifr_mtu; + else if (if_getmtu(ifp) != ifr->ifr_mtu) { + if_setmtu(ifp, ifr->ifr_mtu); STGE_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); stge_init_locked(sc); } STGE_UNLOCK(sc); @@ -1277,9 +1276,9 @@ stge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case SIOCSIFFLAGS: STGE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - if (((ifp->if_flags ^ sc->sc_if_flags) + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if (((if_getflags(ifp) ^ sc->sc_if_flags) & IFF_PROMISC) != 0) stge_set_filter(sc); } else { @@ -1287,16 +1286,16 @@ stge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) stge_init_locked(sc); } } else { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) stge_stop(sc); } - sc->sc_if_flags = ifp->if_flags; + sc->sc_if_flags = if_getflags(ifp); STGE_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: STGE_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) stge_set_multi(sc); STGE_UNLOCK(sc); break; @@ -1306,7 +1305,7 @@ stge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, cmd); break; case SIOCSIFCAP: - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); #ifdef DEVICE_POLLING if ((mask & IFCAP_POLLING) != 0) { if ((ifr->ifr_reqcap & IFCAP_POLLING) != 0) { @@ -1315,7 +1314,7 @@ stge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; STGE_LOCK(sc); CSR_WRITE_2(sc, STGE_IntEnable, 0); - ifp->if_capenable |= IFCAP_POLLING; + if_setcapenablebit(ifp, IFCAP_POLLING, 0); STGE_UNLOCK(sc); } else { error = ether_poll_deregister(ifp); @@ -1324,27 +1323,27 @@ stge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) STGE_LOCK(sc); CSR_WRITE_2(sc, STGE_IntEnable, sc->sc_IntEnable); - ifp->if_capenable &= ~IFCAP_POLLING; + if_setcapenablebit(ifp, 0, IFCAP_POLLING); STGE_UNLOCK(sc); } } #endif if ((mask & IFCAP_HWCSUM) != 0) { - ifp->if_capenable ^= IFCAP_HWCSUM; - if ((IFCAP_HWCSUM & ifp->if_capenable) != 0 && - (IFCAP_HWCSUM & ifp->if_capabilities) != 0) - ifp->if_hwassist = STGE_CSUM_FEATURES; + if_togglecapenable(ifp, IFCAP_HWCSUM); + if ((IFCAP_HWCSUM & if_getcapenable(ifp)) != 0 && + (IFCAP_HWCSUM & if_getcapabilities(ifp)) != 0) + if_sethwassist(ifp, STGE_CSUM_FEATURES); else - ifp->if_hwassist = 0; + if_sethwassist(ifp, 0); } if ((mask & IFCAP_WOL) != 0 && - (ifp->if_capabilities & IFCAP_WOL) != 0) { + (if_getcapabilities(ifp) & IFCAP_WOL) != 0) { if ((mask & IFCAP_WOL_MAGIC) != 0) - ifp->if_capenable ^= IFCAP_WOL_MAGIC; + if_togglecapenable(ifp, IFCAP_WOL_MAGIC); } if ((mask & IFCAP_VLAN_HWTAGGING) != 0) { - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { STGE_LOCK(sc); stge_vlan_setup(sc); STGE_UNLOCK(sc); @@ -1454,7 +1453,7 @@ static void stge_intr(void *arg) { struct stge_softc *sc; - struct ifnet *ifp; + if_t ifp; int reinit; uint16_t status; @@ -1464,7 +1463,7 @@ stge_intr(void *arg) STGE_LOCK(sc); #ifdef DEVICE_POLLING - if ((ifp->if_capenable & IFCAP_POLLING) != 0) + if ((if_getcapenable(ifp) & IFCAP_POLLING) != 0) goto done_locked; #endif status = CSR_READ_2(sc, STGE_IntStatus); @@ -1506,7 +1505,7 @@ stge_intr(void *arg) force_init: if (reinit != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); stge_init_locked(sc); } @@ -1514,7 +1513,7 @@ force_init: CSR_WRITE_2(sc, STGE_IntEnable, sc->sc_IntEnable); /* Try to get more packets going. */ - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) stge_start_locked(ifp); done_locked: @@ -1529,7 +1528,7 @@ done_locked: static void stge_txeof(struct stge_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct stge_txdesc *txd; uint64_t control; int cons; @@ -1556,7 +1555,7 @@ stge_txeof(struct stge_softc *sc) if ((control & TFD_TFDDone) == 0) break; sc->sc_cdata.stge_tx_cnt--; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); bus_dmamap_sync(sc->sc_cdata.stge_tx_tag, txd->tx_dmamap, BUS_DMASYNC_POSTWRITE); @@ -1634,7 +1633,7 @@ stge_fixup_rx(struct stge_softc *sc, struct mbuf *m) static int stge_rxeof(struct stge_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct stge_rxdesc *rxd; struct mbuf *mp, *m; uint64_t status64; @@ -1657,7 +1656,7 @@ stge_rxeof(struct stge_softc *sc) if ((status & RFD_RFDDone) == 0) break; #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { if (sc->sc_cdata.stge_rxcycles <= 0) break; sc->sc_cdata.stge_rxcycles--; @@ -1724,7 +1723,7 @@ stge_rxeof(struct stge_softc *sc) * Set the incoming checksum information for * the packet. */ - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) { + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) { if ((status & RFD_IPDetected) != 0) { m->m_pkthdr.csum_flags |= CSUM_IP_CHECKED; @@ -1752,14 +1751,14 @@ stge_rxeof(struct stge_softc *sc) #endif /* Check for VLAN tagged packets. */ if ((status & RFD_VLANDetected) != 0 && - (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) { + (if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) { m->m_pkthdr.ether_vtag = RFD_TCI(status64); m->m_flags |= M_VLANTAG; } STGE_UNLOCK(sc); /* Pass it on. */ - (*ifp->if_input)(ifp, m); + if_input(ifp, m); STGE_LOCK(sc); rx_npkts++; @@ -1779,16 +1778,16 @@ stge_rxeof(struct stge_softc *sc) #ifdef DEVICE_POLLING static int -stge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +stge_poll(if_t ifp, enum poll_cmd cmd, int count) { struct stge_softc *sc; uint16_t status; int rx_npkts; rx_npkts = 0; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); STGE_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { STGE_UNLOCK(sc); return (rx_npkts); } @@ -1804,19 +1803,19 @@ stge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) if ((status & IS_HostError) != 0) { device_printf(sc->sc_dev, "Host interface error, resetting...\n"); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); stge_init_locked(sc); } if ((status & IS_TxComplete) != 0) { if (stge_tx_error(sc) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); stge_init_locked(sc); } } } } - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) stge_start_locked(ifp); STGE_UNLOCK(sc); @@ -1867,7 +1866,7 @@ stge_tick(void *arg) static void stge_stats_update(struct stge_softc *sc) { - struct ifnet *ifp; + if_t ifp; STGE_LOCK_ASSERT(sc); @@ -1982,7 +1981,7 @@ stge_init(void *xsc) static void stge_init_locked(struct stge_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; uint16_t eaddr[3]; uint32_t v; @@ -1991,7 +1990,7 @@ stge_init_locked(struct stge_softc *sc) STGE_LOCK_ASSERT(sc); ifp = sc->sc_ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; mii = device_get_softc(sc->sc_miibus); @@ -2016,7 +2015,7 @@ stge_init_locked(struct stge_softc *sc) stge_init_tx_ring(sc); /* Set the station address. */ - bcopy(IF_LLADDR(ifp), eaddr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(ifp), eaddr, ETHER_ADDR_LEN); CSR_WRITE_2(sc, STGE_StationAddress0, htole16(eaddr[0])); CSR_WRITE_2(sc, STGE_StationAddress1, htole16(eaddr[1])); CSR_WRITE_2(sc, STGE_StationAddress2, htole16(eaddr[2])); @@ -2092,7 +2091,7 @@ stge_init_locked(struct stge_softc *sc) IS_TxDMAComplete | IS_RxDMAComplete | IS_RFDListEnd; #ifdef DEVICE_POLLING /* Disable interrupts if we are polling. */ - if ((ifp->if_capenable & IFCAP_POLLING) != 0) + if ((if_getcapenable(ifp) & IFCAP_POLLING) != 0) CSR_WRITE_2(sc, STGE_IntEnable, 0); else #endif @@ -2115,7 +2114,7 @@ stge_init_locked(struct stge_softc *sc) /* * Set the maximum frame size. */ - sc->sc_if_framesize = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; + sc->sc_if_framesize = if_getmtu(ifp) + ETHER_HDR_LEN + ETHER_CRC_LEN; CSR_WRITE_2(sc, STGE_MaxFrameSize, sc->sc_if_framesize); /* @@ -2167,8 +2166,8 @@ stge_init_locked(struct stge_softc *sc) /* * ...all done! */ - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); out: if (error != 0) @@ -2178,7 +2177,7 @@ stge_init_locked(struct stge_softc *sc) static void stge_vlan_setup(struct stge_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t v; ifp = sc->sc_ifp; @@ -2191,7 +2190,7 @@ stge_vlan_setup(struct stge_softc *sc) * use TFC instead of STGE_VLANTag register. */ v = CSR_READ_4(sc, STGE_MACCtrl) & MC_MASK; - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) v |= MC_AutoVLANuntagging; else v &= ~MC_AutoVLANuntagging; @@ -2204,7 +2203,7 @@ stge_vlan_setup(struct stge_softc *sc) static void stge_stop(struct stge_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct stge_txdesc *txd; struct stge_rxdesc *rxd; uint32_t v; @@ -2270,7 +2269,7 @@ stge_stop(struct stge_softc *sc) * Mark the interface down and cancel the watchdog timer. */ ifp = sc->sc_ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->sc_link = 0; } @@ -2486,7 +2485,7 @@ stge_newbuf(struct stge_softc *sc, int idx) static void stge_set_filter(struct stge_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint16_t mode; STGE_LOCK_ASSERT(sc); @@ -2495,11 +2494,11 @@ stge_set_filter(struct stge_softc *sc) mode = CSR_READ_2(sc, STGE_ReceiveMode); mode |= RM_ReceiveUnicast; - if ((ifp->if_flags & IFF_BROADCAST) != 0) + if ((if_getflags(ifp) & IFF_BROADCAST) != 0) mode |= RM_ReceiveBroadcast; else mode &= ~RM_ReceiveBroadcast; - if ((ifp->if_flags & IFF_PROMISC) != 0) + if ((if_getflags(ifp) & IFF_PROMISC) != 0) mode |= RM_ReceiveAllFrames; else mode &= ~RM_ReceiveAllFrames; @@ -2524,7 +2523,7 @@ stge_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void stge_set_multi(struct stge_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t mchash[2]; uint16_t mode; int count; @@ -2534,10 +2533,10 @@ stge_set_multi(struct stge_softc *sc) ifp = sc->sc_ifp; mode = CSR_READ_2(sc, STGE_ReceiveMode); - if ((ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { - if ((ifp->if_flags & IFF_PROMISC) != 0) + if ((if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { + if ((if_getflags(ifp) & IFF_PROMISC) != 0) mode |= RM_ReceiveAllFrames; - else if ((ifp->if_flags & IFF_ALLMULTI) != 0) + else if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) mode |= RM_ReceiveMulticast; CSR_WRITE_2(sc, STGE_ReceiveMode, mode); return; diff --git a/sys/dev/stge/if_stgereg.h b/sys/dev/stge/if_stgereg.h index 9082a2c0793c..a8a59b96b38f 100644 --- a/sys/dev/stge/if_stgereg.h +++ b/sys/dev/stge/if_stgereg.h @@ -629,7 +629,7 @@ struct stge_ring_data { * Software state per device. */ struct stge_softc { - struct ifnet *sc_ifp; /* interface info */ + if_t sc_ifp; /* interface info */ device_t sc_dev; device_t sc_miibus; struct resource *sc_res[2]; From nobody Tue Feb 7 19:18:08 2023 X-Original-To: dev-commits-src-main@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 4PBCZn18gzz3nbD9; Tue, 7 Feb 2023 19:18: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCZn078Kz4Twv; Tue, 7 Feb 2023 19:18:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797489; 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=ETmAYbxepV3raDjCWR+o03ZowenJjJyHCbrqOCR4FoU=; b=twoewrDk4DlHUNjUB9IABioqgQL+TzNuRCeIhOYBq2IjLjnq9gEjg4pOzBh9MVtsEjvNtt Na76K878+Z6GSTryCS7ZjKucpXXwllymUcM39OtN9vSpvPYyPJlPEZOMofJY5WoWESBbh8 u5B8ujHzhWyk1SDjbuFkewqRgpLUpqyJn74xubarMWmGx2cxOsIu6W6p4vjbI09pnWKM+n 5hi1+8x0fdZoCWLQzrioMVpVPVjEoGQa/fR2y6q0cX4q+BV53l5Hr4hQKSGg8v+Fqe0WQa YFSh5bzIKjpV2EfetWPHG1lzN/0bOMqFdqBSRTd6CEzFR1H9SxrD7gra9FOsyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797489; 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=ETmAYbxepV3raDjCWR+o03ZowenJjJyHCbrqOCR4FoU=; b=q27jEtSV2WSuinL1XZaEy4BKdJ4OeHy4sPyPVkbMXIZZcxNN3Y8mz1NsFz3b5gkMaO6vXc w288kVwHD+w2Q9936dj2IPgelaKNiU1JxNVf1dtXd31241JZMLNJGOWoqYNXYvqsxKykn6 1wEpW4Aq17rpZPsTfjyHroOoXbiOHcW49obmopNnJEk/l6NL2RPFUpYR+kp1pjhx35vixS aDN5M9U81bRLd4Es1dIry7Cr/UCuwl0vtR7xcI7JiE5e89HjqV/NQCf87P37v3O2RKaLY0 GnAn6zWkw5KtYsIe//QSnXxz1tsYhYBPLPs+aLEb98GRnQr3iDpGlLIxDYUrZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675797489; a=rsa-sha256; cv=none; b=MaXvQIHVxE+QR6Dqw4yaSSXTMMuDJUOF9f46AGg82An7owXZCowU12rdfwHF/PGN8jkfz3 4YWu0OS/oxFB/BpqHS/ZlMsX1Ckj+P6Mdjqj1jFgdUInEe7VOeE4KoAeXGI5/8exO2RoNk xmq/TRUhprxVYP/II+ZMVD4ptPfxcsqSY7T61yT5rt3CWileyo+pahTpHywVUlibDV1sBp HQtrX+9rwpemL1hTAcZiF9X5B3BPGIz3yWg7eRjopctoc/LkJpm6NI0EzaaxI6W+7QLgAR 4jIyGQ7ilohcd00GDTTWogVpVPcfGBSjcjVVIYJJ/6z5Xox4FCrWuOdRVO4o9A== 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 4PBCZm5gtyzSBk; Tue, 7 Feb 2023 19:18:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317JI8gG049735; Tue, 7 Feb 2023 19:18:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317JI8qx049734; Tue, 7 Feb 2023 19:18:08 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:18:08 GMT Message-Id: <202302071918.317JI8qx049734@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: cc970676d264 - main - Mechanically convert if_sume(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cc970676d264f93b2a01a26ebaca32d7ad416bb3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=cc970676d264f93b2a01a26ebaca32d7ad416bb3 commit cc970676d264f93b2a01a26ebaca32d7ad416bb3 Author: Justin Hibbits AuthorDate: 2022-03-01 19:54:34 +0000 Commit: Justin Hibbits CommitDate: 2023-02-07 19:15:49 +0000 Mechanically convert if_sume(4) to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37808 --- sys/dev/sume/adapter.h | 2 +- sys/dev/sume/if_sume.c | 84 +++++++++++++++++++++++++------------------------- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/sys/dev/sume/adapter.h b/sys/dev/sume/adapter.h index 4f34ee05d8e1..8fb995ea0dd9 100644 --- a/sys/dev/sume/adapter.h +++ b/sys/dev/sume/adapter.h @@ -180,7 +180,7 @@ struct sume_adapter { struct riffa_chnl_dir **recv; struct riffa_chnl_dir **send; device_t dev; - struct ifnet *ifp[SUME_NPORTS]; + if_t ifp[SUME_NPORTS]; struct resource *bar0_addr; bus_space_tag_t bt; bus_space_handle_t bh; diff --git a/sys/dev/sume/if_sume.c b/sys/dev/sume/if_sume.c index 3050fbd18198..9baf366bde1a 100644 --- a/sys/dev/sume/if_sume.c +++ b/sys/dev/sume/if_sume.c @@ -214,7 +214,7 @@ sume_rx_build_mbuf(struct sume_adapter *adapter, uint32_t len) { struct nf_priv *nf_priv; struct mbuf *m; - struct ifnet *ifp = NULL; + if_t ifp = NULL; int np; uint16_t dport, plen, magic; device_t dev = adapter->dev; @@ -253,12 +253,12 @@ sume_rx_build_mbuf(struct sume_adapter *adapter, uint32_t len) return (NULL); } ifp = adapter->ifp[np]; - nf_priv = ifp->if_softc; + nf_priv = if_getsoftc(ifp); nf_priv->stats.rx_packets++; nf_priv->stats.rx_bytes += plen; /* If the interface is down, well, we are done. */ - if (!(ifp->if_flags & IFF_UP)) { + if (!(if_getflags(ifp) & IFF_UP)) { nf_priv->stats.ifc_down_packets++; nf_priv->stats.ifc_down_bytes += plen; return (NULL); @@ -324,7 +324,7 @@ sume_intr_handler(void *arg) int ch, loops; device_t dev = adapter->dev; struct mbuf *m = NULL; - struct ifnet *ifp = NULL; + if_t ifp = NULL; struct riffa_chnl_dir *send, *recv; SUME_LOCK(adapter); @@ -540,7 +540,7 @@ sume_intr_handler(void *arg) if (m != NULL) { ifp = m->m_pkthdr.rcvif; - (*ifp->if_input)(ifp, m); + if_input(ifp, m); } } @@ -876,10 +876,10 @@ get_modreg_value(struct nf_priv *nf_priv, struct sume_ifreq *sifr) } static int -sume_if_ioctl(struct ifnet *ifp, unsigned long cmd, caddr_t data) +sume_if_ioctl(if_t ifp, unsigned long cmd, caddr_t data) { struct ifreq *ifr = (struct ifreq *) data; - struct nf_priv *nf_priv = ifp->if_softc; + struct nf_priv *nf_priv = if_getsoftc(ifp); struct sume_ifreq sifr; int error = 0; @@ -917,7 +917,7 @@ sume_if_ioctl(struct ifnet *ifp, unsigned long cmd, caddr_t data) case SIOCSIFFLAGS: /* Silence tcpdump 'promisc mode not supported' warning. */ - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) break; default: @@ -929,26 +929,26 @@ sume_if_ioctl(struct ifnet *ifp, unsigned long cmd, caddr_t data) } static int -sume_media_change(struct ifnet *ifp) +sume_media_change(if_t ifp) { - struct nf_priv *nf_priv = ifp->if_softc; + struct nf_priv *nf_priv = if_getsoftc(ifp); struct ifmedia *ifm = &nf_priv->media; if (IFM_TYPE(ifm->ifm_media) != IFM_ETHER) return (EINVAL); if (IFM_SUBTYPE(ifm->ifm_media) == IFM_10G_SR) - ifp->if_baudrate = ifmedia_baudrate(IFM_ETHER | IFM_10G_SR); + if_setbaudrate(ifp, ifmedia_baudrate(IFM_ETHER | IFM_10G_SR)); else - ifp->if_baudrate = ifmedia_baudrate(ifm->ifm_media); + if_setbaudrate(ifp, ifmedia_baudrate(ifm->ifm_media)); return (0); } static void -sume_update_link_status(struct ifnet *ifp) +sume_update_link_status(if_t ifp) { - struct nf_priv *nf_priv = ifp->if_softc; + struct nf_priv *nf_priv = if_getsoftc(ifp); struct sume_adapter *adapter = nf_priv->adapter; struct sume_ifreq sifr; int link_status; @@ -977,13 +977,13 @@ sume_update_link_status(struct ifnet *ifp) } static void -sume_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) +sume_media_status(if_t ifp, struct ifmediareq *ifmr) { - struct nf_priv *nf_priv = ifp->if_softc; + struct nf_priv *nf_priv = if_getsoftc(ifp); struct ifmedia *ifm = &nf_priv->media; if (ifm->ifm_cur->ifm_media == (IFM_ETHER | IFM_10G_SR) && - (ifp->if_flags & IFF_UP)) + (if_getflags(ifp) & IFF_UP)) ifmr->ifm_active = IFM_ETHER | IFM_10G_SR; else ifmr->ifm_active = ifm->ifm_cur->ifm_media; @@ -1006,10 +1006,10 @@ sume_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) * transaction. */ static int -sume_if_start_locked(struct ifnet *ifp) +sume_if_start_locked(if_t ifp) { struct mbuf *m; - struct nf_priv *nf_priv = ifp->if_softc; + struct nf_priv *nf_priv = if_getsoftc(ifp); struct sume_adapter *adapter = nf_priv->adapter; struct riffa_chnl_dir *send = adapter->send[SUME_RIFFA_CHANNEL_DATA]; uint8_t *outbuf; @@ -1020,7 +1020,7 @@ sume_if_start_locked(struct ifnet *ifp) KASSERT(send->state == SUME_RIFFA_CHAN_STATE_IDLE, ("SUME not in IDLE state")); - IFQ_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); if (m == NULL) return (EINVAL); @@ -1106,12 +1106,12 @@ sume_if_start_locked(struct ifnet *ifp) } static void -sume_if_start(struct ifnet *ifp) +sume_if_start(if_t ifp) { - struct nf_priv *nf_priv = ifp->if_softc; + struct nf_priv *nf_priv = if_getsoftc(ifp); struct sume_adapter *adapter = nf_priv->adapter; - if (!adapter->running || !(ifp->if_flags & IFF_UP)) + if (!adapter->running || !(if_getflags(ifp) & IFF_UP)) return; SUME_LOCK(adapter); @@ -1136,9 +1136,9 @@ check_tx_queues(struct sume_adapter *adapter) /* Check all interfaces */ for (i = last_ifc + 1; i < last_ifc + SUME_NPORTS + 1; i++) { - struct ifnet *ifp = adapter->ifp[i % SUME_NPORTS]; + if_t ifp = adapter->ifp[i % SUME_NPORTS]; - if (!(ifp->if_flags & IFF_UP)) + if (!(if_getflags(ifp) & IFF_UP)) continue; if (!sume_if_start_locked(ifp)) @@ -1149,7 +1149,7 @@ check_tx_queues(struct sume_adapter *adapter) static int sume_ifp_alloc(struct sume_adapter *adapter, uint32_t port) { - struct ifnet *ifp; + if_t ifp; struct nf_priv *nf_priv = malloc(sizeof(struct nf_priv), M_SUME, M_ZERO | M_WAITOK); @@ -1160,7 +1160,7 @@ sume_ifp_alloc(struct sume_adapter *adapter, uint32_t port) } adapter->ifp[port] = ifp; - ifp->if_softc = nf_priv; + if_setsoftc(ifp, nf_priv); nf_priv->adapter = adapter; nf_priv->unit = alloc_unr(unr); @@ -1168,11 +1168,11 @@ sume_ifp_alloc(struct sume_adapter *adapter, uint32_t port) nf_priv->link_up = 0; if_initname(ifp, SUME_ETH_DEVICE_NAME, nf_priv->unit); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); - ifp->if_init = sume_if_init; - ifp->if_start = sume_if_start; - ifp->if_ioctl = sume_if_ioctl; + if_setinitfn(ifp, sume_if_init); + if_setstartfn(ifp, sume_if_start); + if_setioctlfn(ifp, sume_if_ioctl); uint8_t hw_addr[ETHER_ADDR_LEN] = DEFAULT_ETHER_ADDRESS; hw_addr[ETHER_ADDR_LEN-1] = nf_priv->unit; @@ -1183,7 +1183,7 @@ sume_ifp_alloc(struct sume_adapter *adapter, uint32_t port) ifmedia_add(&nf_priv->media, IFM_ETHER | IFM_10G_SR, 0, NULL); ifmedia_set(&nf_priv->media, IFM_ETHER | IFM_10G_SR); - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); return (0); } @@ -1317,11 +1317,11 @@ sume_sysctl_init(struct sume_adapter *adapter) CTLFLAG_RD, &adapter->bytes_err, 0, "rx error bytes"); for (i = SUME_NPORTS - 1; i >= 0; i--) { - struct ifnet *ifp = adapter->ifp[i]; + if_t ifp = adapter->ifp[i]; if (ifp == NULL) continue; - struct nf_priv *nf_priv = ifp->if_softc; + struct nf_priv *nf_priv = if_getsoftc(ifp); snprintf(namebuf, MAX_IFC_NAME_LEN, "%s%d", SUME_ETH_DEVICE_NAME, nf_priv->unit); @@ -1409,10 +1409,10 @@ sume_get_stats(void *context, int pending) int i; for (i = 0; i < SUME_NPORTS; i++) { - struct ifnet *ifp = adapter->ifp[i]; + if_t ifp = adapter->ifp[i]; - if (ifp->if_flags & IFF_UP) { - struct nf_priv *nf_priv = ifp->if_softc; + if (if_getflags(ifp) & IFF_UP) { + struct nf_priv *nf_priv = if_getsoftc(ifp); struct sume_ifreq sifr; sume_update_link_status(ifp); @@ -1543,19 +1543,19 @@ sume_detach(device_t dev) } for (i = 0; i < SUME_NPORTS; i++) { - struct ifnet *ifp = adapter->ifp[i]; + if_t ifp = adapter->ifp[i]; if (ifp == NULL) continue; - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; - nf_priv = ifp->if_softc; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); + nf_priv = if_getsoftc(ifp); - if (ifp->if_flags & IFF_UP) + if (if_getflags(ifp) & IFF_UP) if_down(ifp); ifmedia_removeall(&nf_priv->media); free_unr(unr, nf_priv->unit); - ifp->if_flags &= ~IFF_UP; + if_setflagbits(ifp, 0, IFF_UP); ether_ifdetach(ifp); if_free(ifp); From nobody Tue Feb 7 19:18:09 2023 X-Original-To: dev-commits-src-main@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 4PBCZp0Nj9z3nbXX; Tue, 7 Feb 2023 19:18: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCZp00p8z4V8B; Tue, 7 Feb 2023 19:18:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797490; 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=ATeYu3ls84a/XGYhzUdCBnwjH5i+RGrijzgOKSSdAOk=; b=c048sGKMqm36Ntj+ZgYepOmA2Trzf5AHVZBj/qT1YoMCP4X7XR0taULZAB8nsJL0LoCgtA 08NXDpcqN9gXVrWYPWs0X+wbeNrBcoJWkP3pdnH6FQvyb4r+Trao2JzrMcCrwKXnqzG+nf dx//yaPYgKmo7UKcvdaEMFyn53s0rj7N/CR5+8jn2bm87N3Pl0yqlmeT8SYqRYHarnr4Qp JO1w2YyeVRMrvgg6wY1s2NQByI+DxXZci5qDtkl+CrV7Cy3qWvRvq0okdyBBXmQ+oOqVhW zgraa93QuhOy5ygZhrgYp9unRJ3WZ1JPMtSWrfcp4swJWhZRXN+jHaDK1xbNjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797490; 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=ATeYu3ls84a/XGYhzUdCBnwjH5i+RGrijzgOKSSdAOk=; b=UJdhpMOlWdK8BH5Wju2sHBpoqYPv2PN46HmvpVgnJeo9a2NEO/EFTbi6TlQvbI5ohhjpvJ oAc3G4VmcHgTc5ecDgbLJ3gBrEWvlAt6aLfj1kHw4q3UcfwlEY/4lzkxVvr9I+FI37nP43 zfFeeP7JhoN0Sffy+LHpA5p7QaYXjDrQCxpb9HC6Mn5DRgsKXxQdPctdSynohiXg37jpjc XRZohPc90Qp4EwLlWYzA3YH7SQJJTdbpn9IKxvO8IwUvJl/k3z7pUz4U+emw34skwO1R7z nT/5oKKzB5bJ1j8R+l99LvCPq6XrVUItx+FIxqaGOCMw4NNIA50NFgVXNw4ysg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675797490; a=rsa-sha256; cv=none; b=IkAoWFayf2Z7S/nKmVC6Gmv217ISyZ6lYaH52d4VyHvAvuvcWQjOYU0czosOhidrvnsOAA j/IODnMq9GJ3Cc+B55AFAyy/30oS7qq5C+s3ECTDM/rf18f7Avt48Ex2RtI19eBrSgTEUy TGKO5ZL/J4j32lV212XIDVH1w+PJuVyUab0/G62uXfHAPiKiCrgVRvbTrDGoA70tmW8Miz Kczgt1tAIUP8vlFV6vf9Pd/Yb9YgUv3yBuNYbFAwCXR5PuUOWgRggsa1vSS3h3tVuOaw6T v36Vj1mhl7EDxjFE4ltgWFJCffPs+0l8L41kqsD+D29MBatoKR5RaHgblJ6WDw== 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 4PBCZn6859zSYY; Tue, 7 Feb 2023 19:18:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317JI9Qq049759; Tue, 7 Feb 2023 19:18:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317JI9tw049758; Tue, 7 Feb 2023 19:18:09 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:18:09 GMT Message-Id: <202302071918.317JI9tw049758@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 04abf87b2a56 - main - Mechanically convert sfxge(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04abf87b2a561618d928b4bb13acd2bcd0e8241b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=04abf87b2a561618d928b4bb13acd2bcd0e8241b commit 04abf87b2a561618d928b4bb13acd2bcd0e8241b Author: Justin Hibbits AuthorDate: 2022-08-17 20:15:14 +0000 Commit: Justin Hibbits CommitDate: 2023-02-07 19:15:49 +0000 Mechanically convert sfxge(4) to IfAPI Reviewed by: arybchik, zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37817 --- sys/dev/sfxge/sfxge.c | 95 +++++++++++++++++++++++----------------------- sys/dev/sfxge/sfxge.h | 6 +-- sys/dev/sfxge/sfxge_port.c | 29 +++++++------- sys/dev/sfxge/sfxge_rx.c | 8 ++-- sys/dev/sfxge/sfxge_tx.c | 10 ++--- sys/dev/sfxge/sfxge_tx.h | 4 +- 6 files changed, 75 insertions(+), 77 deletions(-) diff --git a/sys/dev/sfxge/sfxge.c b/sys/dev/sfxge/sfxge.c index ad7a2b276fbd..76c0233ad3b6 100644 --- a/sys/dev/sfxge/sfxge.c +++ b/sys/dev/sfxge/sfxge.c @@ -256,8 +256,7 @@ sfxge_start(struct sfxge_softc *sc) sc->init_state = SFXGE_STARTED; /* Tell the stack we're running. */ - sc->ifnet->if_drv_flags |= IFF_DRV_RUNNING; - sc->ifnet->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(sc->ifnet, IFF_DRV_RUNNING, IFF_DRV_OACTIVE); return (0); @@ -321,7 +320,7 @@ sfxge_stop(struct sfxge_softc *sc) efx_nic_fini(sc->enp); - sc->ifnet->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(sc->ifnet, 0, IFF_DRV_RUNNING); } static int @@ -384,7 +383,7 @@ sfxge_private_ioctl(struct sfxge_softc *sc, sfxge_ioc_t *ioc) } static int -sfxge_if_ioctl(struct ifnet *ifp, unsigned long command, caddr_t data) +sfxge_if_ioctl(if_t ifp, unsigned long command, caddr_t data) { struct sfxge_softc *sc; struct ifreq *ifr; @@ -392,52 +391,52 @@ sfxge_if_ioctl(struct ifnet *ifp, unsigned long command, caddr_t data) int error; ifr = (struct ifreq *)data; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); error = 0; switch (command) { case SIOCSIFFLAGS: SFXGE_ADAPTER_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - if ((ifp->if_flags ^ sc->if_flags) & + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if ((if_getflags(ifp) ^ sc->if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) { sfxge_mac_filter_set(sc); } } else sfxge_start(sc); } else - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) sfxge_stop(sc); - sc->if_flags = ifp->if_flags; + sc->if_flags = if_getflags(ifp); SFXGE_ADAPTER_UNLOCK(sc); break; case SIOCSIFMTU: - if (ifr->ifr_mtu == ifp->if_mtu) { + if (ifr->ifr_mtu == if_getmtu(ifp)) { /* Nothing to do */ error = 0; } else if (ifr->ifr_mtu > SFXGE_MAX_MTU) { error = EINVAL; - } else if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { - ifp->if_mtu = ifr->ifr_mtu; + } else if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { + if_setmtu(ifp, ifr->ifr_mtu); error = 0; } else { /* Restart required */ SFXGE_ADAPTER_LOCK(sc); sfxge_stop(sc); - ifp->if_mtu = ifr->ifr_mtu; + if_setmtu(ifp, ifr->ifr_mtu); error = sfxge_start(sc); SFXGE_ADAPTER_UNLOCK(sc); if (error != 0) { - ifp->if_flags &= ~IFF_UP; - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setflagbits(ifp, 0, IFF_UP); + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); if_down(ifp); } } break; case SIOCADDMULTI: case SIOCDELMULTI: - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) sfxge_mac_filter_set(sc); break; case SIOCSIFCAP: @@ -448,7 +447,7 @@ sfxge_if_ioctl(struct ifnet *ifp, unsigned long command, caddr_t data) SFXGE_ADAPTER_LOCK(sc); /* Capabilities to be changed in accordance with request */ - capchg_mask = ifp->if_capenable ^ reqcap; + capchg_mask = if_getcapenable(ifp) ^ reqcap; /* * The networking core already rejects attempts to @@ -456,11 +455,11 @@ sfxge_if_ioctl(struct ifnet *ifp, unsigned long command, caddr_t data) * to reject attempts to disable capabilities that we * can't (yet) disable. */ - KASSERT((reqcap & ~ifp->if_capabilities) == 0, + KASSERT((reqcap & ~if_getcapabilities(ifp)) == 0, ("Unsupported capabilities 0x%x requested 0x%x vs " "supported 0x%x", - reqcap & ~ifp->if_capabilities, - reqcap , ifp->if_capabilities)); + reqcap & ~if_getcapabilities(ifp), + reqcap , if_getcapabilities(ifp))); if (capchg_mask & SFXGE_CAP_FIXED) { error = EINVAL; SFXGE_ADAPTER_UNLOCK(sc); @@ -484,9 +483,9 @@ sfxge_if_ioctl(struct ifnet *ifp, unsigned long command, caddr_t data) } if (reqcap & IFCAP_TXCSUM) { - ifp->if_hwassist |= (CSUM_IP | CSUM_TCP | CSUM_UDP); + if_sethwassistbits(ifp, (CSUM_IP | CSUM_TCP | CSUM_UDP), 0); } else { - ifp->if_hwassist &= ~(CSUM_IP | CSUM_TCP | CSUM_UDP); + if_sethwassistbits(ifp, 0, (CSUM_IP | CSUM_TCP | CSUM_UDP)); if (reqcap & IFCAP_TSO4) { reqcap &= ~IFCAP_TSO4; if_printf(ifp, @@ -494,9 +493,9 @@ sfxge_if_ioctl(struct ifnet *ifp, unsigned long command, caddr_t data) } } if (reqcap & IFCAP_TXCSUM_IPV6) { - ifp->if_hwassist |= (CSUM_TCP_IPV6 | CSUM_UDP_IPV6); + if_sethwassistbits(ifp, (CSUM_TCP_IPV6 | CSUM_UDP_IPV6), 0); } else { - ifp->if_hwassist &= ~(CSUM_TCP_IPV6 | CSUM_UDP_IPV6); + if_sethwassistbits(ifp, 0, (CSUM_TCP_IPV6 | CSUM_UDP_IPV6)); if (reqcap & IFCAP_TSO6) { reqcap &= ~IFCAP_TSO6; if_printf(ifp, @@ -512,7 +511,7 @@ sfxge_if_ioctl(struct ifnet *ifp, unsigned long command, caddr_t data) * but both bits are set in IPv4 and IPv6 mbufs. */ - ifp->if_capenable = reqcap; + if_setcapenable(ifp, reqcap); SFXGE_ADAPTER_UNLOCK(sc); break; @@ -567,9 +566,9 @@ sfxge_if_ioctl(struct ifnet *ifp, unsigned long command, caddr_t data) } static void -sfxge_ifnet_fini(struct ifnet *ifp) +sfxge_ifnet_fini(if_t ifp) { - struct sfxge_softc *sc = ifp->if_softc; + struct sfxge_softc *sc = if_getsoftc(ifp); SFXGE_ADAPTER_LOCK(sc); sfxge_stop(sc); @@ -581,7 +580,7 @@ sfxge_ifnet_fini(struct ifnet *ifp) } static int -sfxge_ifnet_init(struct ifnet *ifp, struct sfxge_softc *sc) +sfxge_ifnet_init(if_t ifp, struct sfxge_softc *sc) { const efx_nic_cfg_t *encp = efx_nic_cfg_get(sc->enp); device_t dev; @@ -591,35 +590,35 @@ sfxge_ifnet_init(struct ifnet *ifp, struct sfxge_softc *sc) sc->ifnet = ifp; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_init = sfxge_if_init; - ifp->if_softc = sc; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = sfxge_if_ioctl; + if_setinitfn(ifp, sfxge_if_init); + if_setsoftc(ifp, sc); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, sfxge_if_ioctl); - ifp->if_capabilities = SFXGE_CAP; - ifp->if_capenable = SFXGE_CAP_ENABLE; - ifp->if_hw_tsomax = SFXGE_TSO_MAX_SIZE; - ifp->if_hw_tsomaxsegcount = SFXGE_TX_MAPPING_MAX_SEG; - ifp->if_hw_tsomaxsegsize = PAGE_SIZE; + if_setcapabilities(ifp, SFXGE_CAP); + if_setcapenable(ifp, SFXGE_CAP_ENABLE); + if_sethwtsomax(ifp, SFXGE_TSO_MAX_SIZE); + if_sethwtsomaxsegcount(ifp, SFXGE_TX_MAPPING_MAX_SEG); + if_sethwtsomaxsegsize(ifp, PAGE_SIZE); #ifdef SFXGE_LRO - ifp->if_capabilities |= IFCAP_LRO; - ifp->if_capenable |= IFCAP_LRO; + if_setcapabilitiesbit(ifp, IFCAP_LRO, 0); + if_setcapenablebit(ifp, IFCAP_LRO, 0); #endif if (encp->enc_hw_tx_insert_vlan_enabled) { - ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING; - ifp->if_capenable |= IFCAP_VLAN_HWTAGGING; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWTAGGING, 0); + if_setcapenablebit(ifp, IFCAP_VLAN_HWTAGGING, 0); } - ifp->if_hwassist = CSUM_TCP | CSUM_UDP | CSUM_IP | CSUM_TSO | - CSUM_TCP_IPV6 | CSUM_UDP_IPV6; + if_sethwassistbits(ifp, CSUM_TCP | CSUM_UDP | CSUM_IP | CSUM_TSO | + CSUM_TCP_IPV6 | CSUM_UDP_IPV6, 0); ether_ifattach(ifp, encp->enc_mac_addr); - ifp->if_transmit = sfxge_if_transmit; - ifp->if_qflush = sfxge_if_qflush; + if_settransmitfn(ifp, sfxge_if_transmit); + if_setqflushfn(ifp, sfxge_if_qflush); - ifp->if_get_counter = sfxge_get_counter; + if_setgetcounterfn(ifp, sfxge_get_counter); DBGPRINT(sc->dev, "ifmedia_init"); if ((rc = sfxge_port_ifmedia_init(sc)) != 0) @@ -1076,7 +1075,7 @@ static int sfxge_attach(device_t dev) { struct sfxge_softc *sc; - struct ifnet *ifp; + if_t ifp; int error; sc = device_get_softc(dev); diff --git a/sys/dev/sfxge/sfxge.h b/sys/dev/sfxge/sfxge.h index 07e7ede97309..7e18f4a423f0 100644 --- a/sys/dev/sfxge/sfxge.h +++ b/sys/dev/sfxge/sfxge.h @@ -270,7 +270,7 @@ struct sfxge_softc { struct sx softc_lock; char softc_lock_name[SFXGE_LOCK_NAME_MAX]; enum sfxge_softc_state init_state; - struct ifnet *ifnet; + if_t ifnet; unsigned int if_flags; struct sysctl_oid *stats_node; #if EFSYS_OPT_QSTATS @@ -338,7 +338,7 @@ struct sfxge_softc { #define SFXGE_LINK_UP(sc) \ ((sc)->port.link_mode != EFX_LINK_DOWN && \ (sc)->port.link_mode != EFX_LINK_UNKNOWN) -#define SFXGE_RUNNING(sc) ((sc)->ifnet->if_drv_flags & IFF_DRV_RUNNING) +#define SFXGE_RUNNING(sc) (if_getdrvflags((sc)->ifnet) & IFF_DRV_RUNNING) #define SFXGE_PARAM(_name) "hw.sfxge." #_name @@ -404,7 +404,7 @@ extern void sfxge_mac_link_update(struct sfxge_softc *sc, efx_link_mode_t mode); extern int sfxge_mac_filter_set(struct sfxge_softc *sc); extern int sfxge_port_ifmedia_init(struct sfxge_softc *sc); -extern uint64_t sfxge_get_counter(struct ifnet *ifp, ift_counter c); +extern uint64_t sfxge_get_counter(if_t ifp, ift_counter c); #define SFXGE_MAX_MTU (9 * 1024) diff --git a/sys/dev/sfxge/sfxge_port.c b/sys/dev/sfxge/sfxge_port.c index 2100d1d647cd..b186d27c4d2b 100644 --- a/sys/dev/sfxge/sfxge_port.c +++ b/sys/dev/sfxge/sfxge_port.c @@ -102,9 +102,9 @@ out: } uint64_t -sfxge_get_counter(struct ifnet *ifp, ift_counter c) +sfxge_get_counter(if_t ifp, ift_counter c) { - struct sfxge_softc *sc = ifp->if_softc; + struct sfxge_softc *sc = if_getsoftc(ifp); uint64_t *mac_stats; uint64_t val; @@ -327,7 +327,7 @@ sfxge_mac_link_update(struct sfxge_softc *sc, efx_link_mode_t mode) /* Push link state update to the OS */ link_state = (SFXGE_LINK_UP(sc) ? LINK_STATE_UP : LINK_STATE_DOWN); - sc->ifnet->if_baudrate = sfxge_link_baudrate[port->link_mode]; + if_setbaudrate(sc->ifnet, sfxge_link_baudrate[port->link_mode]); if_link_state_change(sc->ifnet, link_state); } @@ -373,7 +373,7 @@ sfxge_copy_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static int sfxge_mac_multicast_list_set(struct sfxge_softc *sc) { - struct ifnet *ifp = sc->ifnet; + if_t ifp = sc->ifnet; struct sfxge_port *port = &sc->port; int rc = 0; @@ -400,21 +400,21 @@ sfxge_mac_multicast_list_set(struct sfxge_softc *sc) static int sfxge_mac_filter_set_locked(struct sfxge_softc *sc) { - struct ifnet *ifp = sc->ifnet; + if_t ifp = sc->ifnet; struct sfxge_port *port = &sc->port; boolean_t all_mulcst; int rc; mtx_assert(&port->lock, MA_OWNED); - all_mulcst = !!(ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI)); + all_mulcst = !!(if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)); rc = sfxge_mac_multicast_list_set(sc); /* Fallback to all multicast if cannot set multicast list */ if (rc != 0) all_mulcst = B_TRUE; - rc = efx_mac_filter_set(sc->enp, !!(ifp->if_flags & IFF_PROMISC), + rc = efx_mac_filter_set(sc->enp, !!(if_getflags(ifp) & IFF_PROMISC), (port->mcast_count > 0), all_mulcst, B_TRUE); return (rc); @@ -483,7 +483,7 @@ sfxge_port_start(struct sfxge_softc *sc) { uint8_t mac_addr[ETHER_ADDR_LEN]; struct epoch_tracker et; - struct ifnet *ifp = sc->ifnet; + if_t ifp = sc->ifnet; struct sfxge_port *port; efx_nic_t *enp; size_t pdu; @@ -507,7 +507,7 @@ sfxge_port_start(struct sfxge_softc *sc) goto fail; /* Set the SDU */ - pdu = EFX_MAC_PDU(ifp->if_mtu); + pdu = EFX_MAC_PDU(if_getmtu(ifp)); if ((rc = efx_mac_pdu_set(enp, pdu)) != 0) goto fail2; @@ -517,8 +517,7 @@ sfxge_port_start(struct sfxge_softc *sc) /* Set the unicast address */ NET_EPOCH_ENTER(et); - bcopy(LLADDR((struct sockaddr_dl *)ifp->if_addr->ifa_addr), - mac_addr, sizeof(mac_addr)); + bcopy(if_getlladdr(ifp), mac_addr, sizeof(mac_addr)); NET_EPOCH_EXIT(et); if ((rc = efx_mac_addr_set(enp, mac_addr)) != 0) goto fail4; @@ -860,13 +859,13 @@ static const int sfxge_link_mode[EFX_PHY_MEDIA_NTYPES][EFX_LINK_NMODES] = { }; static void -sfxge_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) +sfxge_media_status(if_t ifp, struct ifmediareq *ifmr) { struct sfxge_softc *sc; efx_phy_media_type_t medium_type; efx_link_mode_t mode; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); SFXGE_ADAPTER_LOCK(sc); ifmr->ifm_status = IFM_AVALID; @@ -976,14 +975,14 @@ sfxge_phy_cap_mask(struct sfxge_softc *sc, int ifmedia, uint32_t *phy_cap_mask) } static int -sfxge_media_change(struct ifnet *ifp) +sfxge_media_change(if_t ifp) { struct sfxge_softc *sc; struct ifmedia_entry *ifm; int rc; uint32_t phy_cap_mask; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifm = sc->media.ifm_cur; SFXGE_ADAPTER_LOCK(sc); diff --git a/sys/dev/sfxge/sfxge_rx.c b/sys/dev/sfxge/sfxge_rx.c index 1baab1ac17a6..da75b97ccc7e 100644 --- a/sys/dev/sfxge/sfxge_rx.c +++ b/sys/dev/sfxge/sfxge_rx.c @@ -324,11 +324,11 @@ sfxge_rx_qrefill(struct sfxge_rxq *rxq) static void __sfxge_rx_deliver(struct sfxge_softc *sc, struct mbuf *m) { - struct ifnet *ifp = sc->ifnet; + if_t ifp = sc->ifnet; m->m_pkthdr.rcvif = ifp; m->m_pkthdr.csum_data = 0xffff; - ifp->if_input(ifp, m); + if_input(ifp, m); } static void @@ -812,7 +812,7 @@ void sfxge_rx_qcomplete(struct sfxge_rxq *rxq, boolean_t eop) { struct sfxge_softc *sc = rxq->sc; - int if_capenable = sc->ifnet->if_capenable; + int if_capenable = if_getcapenable(sc->ifnet); int lro_enabled = if_capenable & IFCAP_LRO; unsigned int index; struct sfxge_evq *evq __diagused; @@ -1094,7 +1094,7 @@ sfxge_rx_start(struct sfxge_softc *sc) return (rc); encp = efx_nic_cfg_get(sc->enp); - sc->rx_buffer_size = EFX_MAC_PDU(sc->ifnet->if_mtu); + sc->rx_buffer_size = EFX_MAC_PDU(if_getmtu(sc->ifnet)); /* Calculate the receive packet buffer size. */ sc->rx_prefix_size = encp->enc_rx_prefix_size; diff --git a/sys/dev/sfxge/sfxge_tx.c b/sys/dev/sfxge/sfxge_tx.c index f2af6da9fcaf..536f44e9f49e 100644 --- a/sys/dev/sfxge/sfxge_tx.c +++ b/sys/dev/sfxge/sfxge_tx.c @@ -780,12 +780,12 @@ sfxge_tx_qdpl_flush(struct sfxge_txq *txq) } void -sfxge_if_qflush(struct ifnet *ifp) +sfxge_if_qflush(if_t ifp) { struct sfxge_softc *sc; unsigned int i; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); for (i = 0; i < sc->txq_count; i++) sfxge_tx_qdpl_flush(sc->txq[i]); @@ -872,13 +872,13 @@ static void sfxge_parse_tx_packet(struct mbuf *mbuf) * TX start -- called by the stack. */ int -sfxge_if_transmit(struct ifnet *ifp, struct mbuf *m) +sfxge_if_transmit(if_t ifp, struct mbuf *m) { struct sfxge_softc *sc; struct sfxge_txq *txq; int rc; - sc = (struct sfxge_softc *)ifp->if_softc; + sc = (struct sfxge_softc *)if_getsoftc(ifp); /* * Transmit may be called when interface is up from the kernel @@ -888,7 +888,7 @@ sfxge_if_transmit(struct ifnet *ifp, struct mbuf *m) * point of view, but already down from the kernel point of * view. I.e. Rx when interface shutdown is in progress. */ - KASSERT((ifp->if_flags & IFF_UP) || (sc->if_flags & IFF_UP), + KASSERT((if_getflags(ifp) & IFF_UP) || (sc->if_flags & IFF_UP), ("interface not up")); /* Pick the desired transmit queue. */ diff --git a/sys/dev/sfxge/sfxge_tx.h b/sys/dev/sfxge/sfxge_tx.h index 4446eb51a238..1cce72c39c4a 100644 --- a/sys/dev/sfxge/sfxge_tx.h +++ b/sys/dev/sfxge/sfxge_tx.h @@ -244,7 +244,7 @@ extern int sfxge_tx_start(struct sfxge_softc *sc); extern void sfxge_tx_stop(struct sfxge_softc *sc); extern void sfxge_tx_qcomplete(struct sfxge_txq *txq, struct sfxge_evq *evq); extern void sfxge_tx_qflush_done(struct sfxge_txq *txq); -extern void sfxge_if_qflush(struct ifnet *ifp); -extern int sfxge_if_transmit(struct ifnet *ifp, struct mbuf *m); +extern void sfxge_if_qflush(if_t ifp); +extern int sfxge_if_transmit(if_t ifp, struct mbuf *m); #endif From nobody Tue Feb 7 19:18:10 2023 X-Original-To: dev-commits-src-main@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 4PBCZq58MJz3nbZP; Tue, 7 Feb 2023 19:18: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCZq1J63z4VRQ; Tue, 7 Feb 2023 19:18:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797491; 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=Ok5nms28YXAHmhgd85UP/DJn0S4aryidz6lVb7ik6+I=; b=hYuCny4KBvWVrfMM3oa5Fnl3bpTuTif63uFGB1FnrFP2DEnx7EuP9yRgEy5zgE/1xNS+44 /r/YWjSdlECbAPETkS+Zbt16uWAiudeYORpmdfyWRn/th3ITy0ZuQ7f+amS2i7coWl8xN0 JXDkvmfl5DLNe+0/3BIqd9A01fV2rDqf1MV/uTmCSZme+Degq2iliLFHoAQzskGVSaLxtU 1fIOoahf/j89gfaQWq1oIbUAaQGNE5+yxCWaBxIygDJ2gOOquqd8KRMN+1jS0TptKlVOXF t4gtvulBpGdBQsgmho+FBJLEueQImlY5YvezGZrWeU9A9sMwjrGlHhHwoa/kyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797491; 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=Ok5nms28YXAHmhgd85UP/DJn0S4aryidz6lVb7ik6+I=; b=aK0V364n4SO5zhpFQ7uzyH/muCIePOMThhMS8cnmcvbDPr2t9LdtiFRbQisOoU8mxna1Bv +GqsnHTadyp32JkT1JcGP35h00UjAVCUOFyiYANOExoOXg1Ue0dqIKv3qqsJ6EhAUR0ybi zKfclDHDvtlX6HkHHZDC8Dlr+A4IdjaGMKqBtyQojGsOywO8uFlqAqd9PALrf7UcxUX2Y1 XneeNVcsoPVw4W5ruaji52pXKe0nKB60JuqHFTGhzP+1NC1b2AyG7HFwPqy+vhZ9gNyGDf VIvxNdfvzsUaZ8OlfDCQm1WoXCusdIs7QrVZRw2JnuS0FOoLg90TM1ZNRTSm/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675797491; a=rsa-sha256; cv=none; b=hRgSMv0o5ViPv1PHptby8zkvUBmVuF93/cxiS7X5HSoOac6WbbNNx3rRfbviim433VkFkj L0I7wbedWRQoAHhopvscBU45kJJcZfMCdDF4Zr1di9N2rQnleTomEHDFBwkI5kTHSvIRIQ bksMKYW1n8brJpMkTLlLHlvjvIlUDzhkvwjJTxBhsHsbxAX2u8aZMZpc0vIR7CcbJh7Ele qkDJ2oziO/BjqnRrBWnTEgyb9tnLHtPGIKsrF1CAjDB92mI9gZFiQMyRYCVEDtVji4vIRi oNzNEQAI+TY9IlXYZp+Edx0MI3uWP+X2udh+eXSk3QX7gDQFnk1TtxTrS3hOGw== 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 4PBCZq070yzSnW; Tue, 7 Feb 2023 19:18:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317JIAUp049789; Tue, 7 Feb 2023 19:18:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317JIAtS049788; Tue, 7 Feb 2023 19:18:10 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:18:10 GMT Message-Id: <202302071918.317JIAtS049788@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 0b2813768bae - main - Mechanically convert mlx4(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0b2813768bae1177b7369d67b7639d530f547b47 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=0b2813768bae1177b7369d67b7639d530f547b47 commit 0b2813768bae1177b7369d67b7639d530f547b47 Author: Justin Hibbits AuthorDate: 2022-08-17 20:30:39 +0000 Commit: Justin Hibbits CommitDate: 2023-02-07 19:16:11 +0000 Mechanically convert mlx4(4) to IfAPI Reviewed by: hselasky, zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37823 --- sys/dev/mlx4/mlx4_en/en.h | 38 +++--- sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c | 226 +++++++++++++++---------------- sys/dev/mlx4/mlx4_en/mlx4_en_port.c | 4 +- sys/dev/mlx4/mlx4_en/mlx4_en_resources.c | 4 +- sys/dev/mlx4/mlx4_en/mlx4_en_rx.c | 22 +-- sys/dev/mlx4/mlx4_en/mlx4_en_tx.c | 18 +-- sys/dev/mlx4/mlx4_ib/mlx4_ib.h | 2 +- sys/dev/mlx4/mlx4_ib/mlx4_ib_ah.c | 2 +- sys/dev/mlx4/mlx4_ib/mlx4_ib_main.c | 24 ++-- sys/dev/mlx4/mlx4_ib/mlx4_ib_qp.c | 2 +- 10 files changed, 171 insertions(+), 171 deletions(-) diff --git a/sys/dev/mlx4/mlx4_en/en.h b/sys/dev/mlx4/mlx4_en/en.h index 440b9a340221..a29b40ddaf10 100644 --- a/sys/dev/mlx4/mlx4_en/en.h +++ b/sys/dev/mlx4/mlx4_en/en.h @@ -392,7 +392,7 @@ struct mlx4_en_cq { struct mlx4_hwq_resources wqres; int ring; spinlock_t lock; - struct ifnet *dev; + if_t dev; /* Per-core Tx cq processing support */ struct timer_list timer; int size; @@ -452,7 +452,7 @@ struct mlx4_en_dev { struct mlx4_dev *dev; struct pci_dev *pdev; struct mutex state_lock; - struct ifnet *pndev[MLX4_MAX_PORTS + 1]; + if_t pndev[MLX4_MAX_PORTS + 1]; u32 port_cnt; bool device_up; struct mlx4_en_profile profile; @@ -543,7 +543,7 @@ struct en_port { struct mlx4_en_priv { struct mlx4_en_dev *mdev; struct mlx4_en_port_profile *prof; - struct ifnet *dev; + if_t dev; unsigned long active_vlans[BITS_TO_LONGS(VLAN_N_VID)]; struct mlx4_en_port_state port_state; spinlock_t stats_lock; @@ -662,9 +662,9 @@ struct mlx4_mac_entry { }; static inline void * -mlx4_netdev_priv(const struct ifnet *dev) +mlx4_netdev_priv(const if_t dev) { - return (dev->if_softc); + return (if_getsoftc(dev)); } static inline struct mlx4_cqe *mlx4_en_get_cqe(u8 *buf, int idx, int cqe_sz) @@ -716,7 +716,7 @@ static inline bool mlx4_en_cq_lock_poll(struct mlx4_en_cq *cq) int rc = true; spin_lock_bh(&cq->poll_lock); if ((cq->state & MLX4_CQ_LOCKED)) { - struct ifnet *dev = cq->dev; + if_t dev = cq->dev; struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_en_rx_ring *rx_ring = priv->rx_ring[cq->ring]; @@ -785,12 +785,12 @@ static inline bool mlx4_en_cq_busy_polling(struct mlx4_en_cq *cq) #define MLX4_EN_WOL_DO_MODIFY (1ULL << 63) -void mlx4_en_destroy_netdev(struct ifnet *dev); +void mlx4_en_destroy_netdev(if_t dev); int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port, struct mlx4_en_port_profile *prof); -int mlx4_en_start_port(struct ifnet *dev); -void mlx4_en_stop_port(struct ifnet *dev); +int mlx4_en_start_port(if_t dev); +void mlx4_en_stop_port(if_t dev); void mlx4_en_free_resources(struct mlx4_en_priv *priv); int mlx4_en_alloc_resources(struct mlx4_en_priv *priv); @@ -806,10 +806,10 @@ int mlx4_en_set_cq_moder(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq); int mlx4_en_arm_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq); void mlx4_en_tx_irq(struct mlx4_cq *mcq); -u16 mlx4_en_select_queue(struct ifnet *dev, struct mbuf *mb); +u16 mlx4_en_select_queue(if_t dev, struct mbuf *mb); int mlx4_en_xmit(struct mlx4_en_priv *priv, int tx_ind, struct mbuf **mbp); -int mlx4_en_transmit(struct ifnet *dev, struct mbuf *m); +int mlx4_en_transmit(if_t dev, struct mbuf *m); int mlx4_en_create_tx_ring(struct mlx4_en_priv *priv, struct mlx4_en_tx_ring **pring, u32 size, u16 stride, int node, int queue_idx); @@ -821,7 +821,7 @@ int mlx4_en_activate_tx_ring(struct mlx4_en_priv *priv, void mlx4_en_deactivate_tx_ring(struct mlx4_en_priv *priv, struct mlx4_en_tx_ring *ring); void mlx4_en_set_num_rx_rings(struct mlx4_en_dev *mdev); -void mlx4_en_qflush(struct ifnet *dev); +void mlx4_en_qflush(if_t dev); int mlx4_en_create_rx_ring(struct mlx4_en_priv *priv, struct mlx4_en_rx_ring **pring, @@ -833,7 +833,7 @@ void mlx4_en_rx_que(void *context, int pending); int mlx4_en_activate_rx_rings(struct mlx4_en_priv *priv); void mlx4_en_deactivate_rx_ring(struct mlx4_en_priv *priv, struct mlx4_en_rx_ring *ring); -int mlx4_en_process_rx_cq(struct ifnet *dev, +int mlx4_en_process_rx_cq(if_t dev, struct mlx4_en_cq *cq, int budget); void mlx4_en_poll_tx_cq(unsigned long data); @@ -843,7 +843,7 @@ void mlx4_en_fill_qp_context(struct mlx4_en_priv *priv, int size, int stride, void mlx4_en_sqp_event(struct mlx4_qp *qp, enum mlx4_event event); int mlx4_en_map_buffer(struct mlx4_buf *buf); void mlx4_en_unmap_buffer(struct mlx4_buf *buf); -void mlx4_en_calc_rx_buf(struct ifnet *dev); +void mlx4_en_calc_rx_buf(if_t dev); const u32 *mlx4_en_get_rss_key(struct mlx4_en_priv *priv, u16 *keylen); u8 mlx4_en_get_rss_mask(struct mlx4_en_priv *priv); @@ -851,7 +851,7 @@ int mlx4_en_config_rss_steer(struct mlx4_en_priv *priv); void mlx4_en_release_rss_steer(struct mlx4_en_priv *priv); int mlx4_en_create_drop_qp(struct mlx4_en_priv *priv); void mlx4_en_destroy_drop_qp(struct mlx4_en_priv *priv); -int mlx4_en_free_tx_buf(struct ifnet *dev, struct mlx4_en_tx_ring *ring); +int mlx4_en_free_tx_buf(if_t dev, struct mlx4_en_tx_ring *ring); void mlx4_en_rx_irq(struct mlx4_cq *mcq); int mlx4_SET_VLAN_FLTR(struct mlx4_dev *dev, struct mlx4_en_priv *priv); @@ -869,7 +869,7 @@ extern const struct dcbnl_rtnl_ops mlx4_en_dcbnl_ops; extern const struct dcbnl_rtnl_ops mlx4_en_dcbnl_pfc_ops; #endif -int mlx4_en_setup_tc(struct ifnet *dev, u8 up); +int mlx4_en_setup_tc(if_t dev, u8 up); #ifdef CONFIG_RFS_ACCEL void mlx4_en_cleanup_filters(struct mlx4_en_priv *priv, @@ -877,7 +877,7 @@ void mlx4_en_cleanup_filters(struct mlx4_en_priv *priv, #endif #define MLX4_EN_NUM_SELF_TEST 5 -void mlx4_en_ex_selftest(struct ifnet *dev, u32 *flags, u64 *buf); +void mlx4_en_ex_selftest(if_t dev, u32 *flags, u64 *buf); void mlx4_en_ptp_overflow_check(struct mlx4_en_dev *mdev); /* @@ -889,7 +889,7 @@ void mlx4_en_ptp_overflow_check(struct mlx4_en_dev *mdev); u64 mlx4_en_get_cqe_ts(struct mlx4_cqe *cqe); /* Functions for caching and restoring statistics */ -int mlx4_en_get_sset_count(struct ifnet *dev, int sset); +int mlx4_en_get_sset_count(if_t dev, int sset); void mlx4_en_restore_ethtool_stats(struct mlx4_en_priv *priv, u64 *data); @@ -932,7 +932,7 @@ enum { { \ if ((priv)->registered) \ printk(level "%s: %s: " format, DRV_NAME, \ - (priv)->dev->if_xname, ## arg); \ + if_name((priv)->dev), ## arg); \ else \ printk(level "%s: %s: Port %d: " format, \ DRV_NAME, dev_name(&(priv)->mdev->pdev->dev), \ diff --git a/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c b/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c index bae22317574b..c26afc0099b5 100644 --- a/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c +++ b/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c @@ -64,7 +64,7 @@ static void mlx4_en_sysctl_conf(struct mlx4_en_priv *priv); static int mlx4_en_low_latency_recv(struct napi_struct *napi) { struct mlx4_en_cq *cq = container_of(napi, struct mlx4_en_cq, napi); - struct ifnet *dev = cq->dev; + if_t dev = cq->dev; struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_en_rx_ring *rx_ring = priv->rx_ring[cq->ring]; int done; @@ -288,7 +288,7 @@ mlx4_en_filter_find(struct mlx4_en_priv *priv, __be32 src_ip, __be32 dst_ip, } static int -mlx4_en_filter_rfs(struct ifnet *net_dev, const struct sk_buff *skb, +mlx4_en_filter_rfs(if_t net_dev, const struct sk_buff *skb, u16 rxq_index, u32 flow_id) { struct mlx4_en_priv *priv = mlx4_netdev_priv(net_dev); @@ -400,7 +400,7 @@ static void mlx4_en_filter_rfs_expire(struct mlx4_en_priv *priv) } #endif -static void mlx4_en_vlan_rx_add_vid(void *arg, struct ifnet *dev, u16 vid) +static void mlx4_en_vlan_rx_add_vid(void *arg, if_t dev, u16 vid) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_en_dev *mdev = priv->mdev; @@ -427,7 +427,7 @@ static void mlx4_en_vlan_rx_add_vid(void *arg, struct ifnet *dev, u16 vid) } -static void mlx4_en_vlan_rx_kill_vid(void *arg, struct ifnet *dev, u16 vid) +static void mlx4_en_vlan_rx_kill_vid(void *arg, if_t dev, u16 vid) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_en_dev *mdev = priv->mdev; @@ -558,15 +558,15 @@ static int mlx4_en_get_qp(struct mlx4_en_priv *priv) int index = 0; int err = 0; int *qpn = &priv->base_qpn; - u64 mac = mlx4_mac_to_u64(IF_LLADDR(priv->dev)); + u64 mac = mlx4_mac_to_u64(if_getlladdr(priv->dev)); en_dbg(DRV, priv, "Registering MAC: %pM for adding\n", - IF_LLADDR(priv->dev)); + if_getlladdr(priv->dev)); index = mlx4_register_mac(dev, priv->port, mac); if (index < 0) { err = index; en_err(priv, "Failed adding MAC: %pM\n", - IF_LLADDR(priv->dev)); + if_getlladdr(priv->dev)); return err; } @@ -594,9 +594,9 @@ static void mlx4_en_put_qp(struct mlx4_en_priv *priv) int qpn = priv->base_qpn; if (dev->caps.steering_mode == MLX4_STEERING_MODE_A0) { - u64 mac = mlx4_mac_to_u64(IF_LLADDR(priv->dev)); + u64 mac = mlx4_mac_to_u64(if_getlladdr(priv->dev)); en_dbg(DRV, priv, "Registering MAC: %pM for deleting\n", - IF_LLADDR(priv->dev)); + if_getlladdr(priv->dev)); mlx4_unregister_mac(dev, priv->port, mac); } else { en_dbg(DRV, priv, "Releasing qp: port %d, qpn %d\n", @@ -606,7 +606,7 @@ static void mlx4_en_put_qp(struct mlx4_en_priv *priv) } } -static void mlx4_en_clear_uclist(struct ifnet *dev) +static void mlx4_en_clear_uclist(if_t dev) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_en_addr_list *tmp, *uc_to_del; @@ -635,7 +635,7 @@ static u_int mlx4_copy_addr(void *arg, struct sockaddr_dl *sdl, u_int cnt) return (1); } -static void mlx4_en_cache_uclist(struct ifnet *dev) +static void mlx4_en_cache_uclist(if_t dev) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); @@ -643,7 +643,7 @@ static void mlx4_en_cache_uclist(struct ifnet *dev) if_foreach_lladdr(dev, mlx4_copy_addr, priv); } -static void mlx4_en_clear_mclist(struct ifnet *dev) +static void mlx4_en_clear_mclist(if_t dev) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_en_addr_list *tmp, *mc_to_del; @@ -671,7 +671,7 @@ static u_int mlx4_copy_maddr(void *arg, struct sockaddr_dl *sdl, u_int count) return (1); } -static void mlx4_en_cache_mclist(struct ifnet *dev) +static void mlx4_en_cache_mclist(if_t dev) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); @@ -728,7 +728,7 @@ static void update_addr_list_flags(struct mlx4_en_priv *priv, } } -static void mlx4_en_set_rx_mode(struct ifnet *dev) +static void mlx4_en_set_rx_mode(if_t dev) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); @@ -842,7 +842,7 @@ static void mlx4_en_clear_promisc_mode(struct mlx4_en_priv *priv, } static void mlx4_en_do_multicast(struct mlx4_en_priv *priv, - struct ifnet *dev, + if_t dev, struct mlx4_en_dev *mdev) { struct mlx4_en_addr_list *addr_list, *tmp; @@ -854,7 +854,7 @@ static void mlx4_en_do_multicast(struct mlx4_en_priv *priv, * Enable/disable the multicast filter according to * IFF_ALLMULTI and IFF_PROMISC: */ - if (dev->if_flags & (IFF_ALLMULTI | IFF_PROMISC)) { + if (if_getflags(dev) & (IFF_ALLMULTI | IFF_PROMISC)) { err = mlx4_SET_MCAST_FLTR(mdev->dev, priv->port, 0, 0, MLX4_MCAST_DISABLE); if (err) @@ -977,7 +977,7 @@ static void mlx4_en_do_multicast(struct mlx4_en_priv *priv, } static void mlx4_en_do_unicast(struct mlx4_en_priv *priv, - struct ifnet *dev, + if_t dev, struct mlx4_en_dev *mdev) { struct mlx4_en_addr_list *addr_list, *tmp; @@ -1011,7 +1011,7 @@ static void mlx4_en_do_set_rx_mode(struct work_struct *work) struct mlx4_en_priv *priv = container_of(work, struct mlx4_en_priv, rx_mode_task); struct mlx4_en_dev *mdev = priv->mdev; - struct ifnet *dev = priv->dev; + if_t dev = priv->dev; mutex_lock(&mdev->state_lock); if (!mdev->device_up) { @@ -1026,8 +1026,8 @@ static void mlx4_en_do_set_rx_mode(struct work_struct *work) if (priv->port_state.link_state) { priv->last_link_state = MLX4_DEV_EVENT_PORT_UP; /* update netif baudrate */ - priv->dev->if_baudrate = - IF_Mbps(priv->port_state.link_speed); + if_setbaudrate(priv->dev, + IF_Mbps(priv->port_state.link_speed)); /* Important note: the following call for if_link_state_change * is needed for interface up scenario (start port, link state * change) */ @@ -1040,7 +1040,7 @@ static void mlx4_en_do_set_rx_mode(struct work_struct *work) mlx4_en_do_unicast(priv, dev, mdev); /* Promsicuous mode: disable all filters */ - if ((dev->if_flags & IFF_PROMISC) || + if ((if_getflags(dev) & IFF_PROMISC) || (priv->flags & MLX4_EN_FLAG_FORCE_PROMISC)) { mlx4_en_set_promisc_mode(priv, mdev); } else if (priv->flags & MLX4_EN_FLAG_PROMISC) { @@ -1085,7 +1085,7 @@ static void mlx4_en_set_default_moderation(struct mlx4_en_priv *priv) priv->tx_usecs = MLX4_EN_TX_COAL_TIME; en_dbg(INTR, priv, "Default coalesing params for mtu: %u - " "rx_frames:%d rx_usecs:%d\n", - (unsigned)priv->dev->if_mtu, priv->rx_frames, priv->rx_usecs); + (unsigned)if_getmtu(priv->dev), priv->rx_frames, priv->rx_usecs); /* Setup cq moderation params */ for (i = 0; i < priv->rx_ring_num; i++) { @@ -1236,7 +1236,7 @@ static void mlx4_en_linkstate(struct work_struct *work) en_info(priv, "Link Down\n"); if_link_state_change(priv->dev, LINK_STATE_DOWN); /* update netif baudrate */ - priv->dev->if_baudrate = 0; + if_setbaudrate(priv->dev, 0); /* make sure the port is up before notifying the OS. * This is tricky since we get here on INIT_PORT and @@ -1247,8 +1247,8 @@ static void mlx4_en_linkstate(struct work_struct *work) } else if (priv->port_up && (linkstate == MLX4_DEV_EVENT_PORT_UP)){ if (mlx4_en_QUERY_PORT(priv->mdev, priv->port)) en_info(priv, "Query port failed\n"); - priv->dev->if_baudrate = - IF_Mbps(priv->port_state.link_speed); + if_setbaudrate(priv->dev, + IF_Mbps(priv->port_state.link_speed)); en_info(priv, "Link Up\n"); if_link_state_change(priv->dev, LINK_STATE_UP); } @@ -1258,7 +1258,7 @@ static void mlx4_en_linkstate(struct work_struct *work) } -int mlx4_en_start_port(struct ifnet *dev) +int mlx4_en_start_port(if_t dev) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_en_dev *mdev = priv->mdev; @@ -1284,7 +1284,7 @@ int mlx4_en_start_port(struct ifnet *dev) INIT_LIST_HEAD(&priv->ethtool_list); /* Calculate Rx buf size */ - dev->if_mtu = min(dev->if_mtu, priv->max_mtu); + if_setmtu(dev, min(if_getmtu(dev), priv->max_mtu)); mlx4_en_calc_rx_buf(dev); en_dbg(DRV, priv, "Rx buf size:%d\n", priv->rx_mb_size); @@ -1420,8 +1420,7 @@ int mlx4_en_start_port(struct ifnet *dev) priv->port_up = true; /* Enable the queues. */ - dev->if_drv_flags &= ~IFF_DRV_OACTIVE; - dev->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(dev, IFF_DRV_RUNNING, IFF_DRV_OACTIVE); #ifdef CONFIG_DEBUG_FS mlx4_en_create_debug_files(priv); #endif @@ -1451,7 +1450,7 @@ cq_err: } -void mlx4_en_stop_port(struct ifnet *dev) +void mlx4_en_stop_port(if_t dev) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_en_dev *mdev = priv->mdev; @@ -1560,7 +1559,7 @@ void mlx4_en_stop_port(struct ifnet *dev) callout_stop(&priv->watchdog_timer); - dev->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(dev, 0, IFF_DRV_RUNNING | IFF_DRV_OACTIVE); } static void mlx4_en_restart(struct work_struct *work) @@ -1568,7 +1567,7 @@ static void mlx4_en_restart(struct work_struct *work) struct mlx4_en_priv *priv = container_of(work, struct mlx4_en_priv, watchdog_task); struct mlx4_en_dev *mdev = priv->mdev; - struct ifnet *dev = priv->dev; + if_t dev = priv->dev; struct mlx4_en_tx_ring *ring; int i; @@ -1601,7 +1600,7 @@ reset: mutex_unlock(&mdev->state_lock); } -static void mlx4_en_clear_stats(struct ifnet *dev) +static void mlx4_en_clear_stats(if_t dev) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_en_dev *mdev = priv->mdev; @@ -1635,7 +1634,7 @@ static void mlx4_en_open(void* arg) struct mlx4_en_priv *priv; struct mlx4_en_dev *mdev; - struct ifnet *dev; + if_t dev; int err = 0; priv = arg; @@ -1760,7 +1759,7 @@ struct en_port_attribute en_port_attr_##_name = __ATTR_RO(_name) #define EN_PORT_ATTR(_name, _mode, _show, _store) \ struct en_port_attribute en_port_attr_##_name = __ATTR(_name, _mode, _show, _store) -void mlx4_en_destroy_netdev(struct ifnet *dev) +void mlx4_en_destroy_netdev(if_t dev) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_en_dev *mdev = priv->mdev; @@ -1815,14 +1814,14 @@ void mlx4_en_destroy_netdev(struct ifnet *dev) } -static int mlx4_en_change_mtu(struct ifnet *dev, int new_mtu) +static int mlx4_en_change_mtu(if_t dev, int new_mtu) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_en_dev *mdev = priv->mdev; int err = 0; en_dbg(DRV, priv, "Change MTU called - current:%u new:%u\n", - (unsigned)dev->if_mtu, (unsigned)new_mtu); + (unsigned)if_getmtu(dev), (unsigned)new_mtu); if ((new_mtu < MLX4_EN_MIN_MTU) || (new_mtu > priv->max_mtu)) { en_err(priv, "Bad MTU size:%d, max %u.\n", new_mtu, @@ -1830,8 +1829,8 @@ static int mlx4_en_change_mtu(struct ifnet *dev, int new_mtu) return -EPERM; } mutex_lock(&mdev->state_lock); - dev->if_mtu = new_mtu; - if (dev->if_drv_flags & IFF_DRV_RUNNING) { + if_setmtu(dev, new_mtu); + if (if_getdrvflags(dev) & IFF_DRV_RUNNING) { if (!mdev->device_up) { /* NIC is probably restarting - let watchdog task reset * * the port */ @@ -1886,11 +1885,11 @@ static int mlx4_en_calc_media(struct mlx4_en_priv *priv) return (active); } -static void mlx4_en_media_status(struct ifnet *dev, struct ifmediareq *ifmr) +static void mlx4_en_media_status(if_t dev, struct ifmediareq *ifmr) { struct mlx4_en_priv *priv; - priv = dev->if_softc; + priv = if_getsoftc(dev); ifmr->ifm_status = IFM_AVALID; if (priv->last_link_state != MLX4_DEV_EVENT_PORT_DOWN) ifmr->ifm_status |= IFM_ACTIVE; @@ -1899,7 +1898,7 @@ static void mlx4_en_media_status(struct ifnet *dev, struct ifmediareq *ifmr) return; } -static int mlx4_en_media_change(struct ifnet *dev) +static int mlx4_en_media_change(if_t dev) { struct mlx4_en_priv *priv; struct ifmedia *ifm; @@ -1907,7 +1906,7 @@ static int mlx4_en_media_change(struct ifnet *dev) int txpause; int error; - priv = dev->if_softc; + priv = if_getsoftc(dev); ifm = &priv->media; rxpause = txpause = 0; error = 0; @@ -1946,7 +1945,7 @@ static int mlx4_en_media_change(struct ifnet *dev) return (error); } -static int mlx4_en_ioctl(struct ifnet *dev, u_long command, caddr_t data) +static int mlx4_en_ioctl(if_t dev, u_long command, caddr_t data) { struct mlx4_en_priv *priv; struct mlx4_en_dev *mdev; @@ -1960,7 +1959,7 @@ static int mlx4_en_ioctl(struct ifnet *dev, u_long command, caddr_t data) error = 0; mask = 0; - priv = dev->if_softc; + priv = if_getsoftc(dev); /* check if detaching */ if (priv == NULL || priv->gone != 0) @@ -1974,8 +1973,8 @@ static int mlx4_en_ioctl(struct ifnet *dev, u_long command, caddr_t data) error = -mlx4_en_change_mtu(dev, ifr->ifr_mtu); break; case SIOCSIFFLAGS: - if (dev->if_flags & IFF_UP) { - if ((dev->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if (if_getflags(dev) & IFF_UP) { + if ((if_getdrvflags(dev) & IFF_DRV_RUNNING) == 0) { mutex_lock(&mdev->state_lock); mlx4_en_start_port(dev); mutex_unlock(&mdev->state_lock); @@ -1984,7 +1983,7 @@ static int mlx4_en_ioctl(struct ifnet *dev, u_long command, caddr_t data) } } else { mutex_lock(&mdev->state_lock); - if (dev->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(dev) & IFF_DRV_RUNNING) { mlx4_en_stop_port(dev); if_link_state_change(dev, LINK_STATE_DOWN); } @@ -2001,67 +2000,67 @@ static int mlx4_en_ioctl(struct ifnet *dev, u_long command, caddr_t data) break; case SIOCSIFCAP: mutex_lock(&mdev->state_lock); - mask = ifr->ifr_reqcap ^ dev->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(dev); if (mask & IFCAP_TXCSUM) { - dev->if_capenable ^= IFCAP_TXCSUM; - dev->if_hwassist ^= (CSUM_TCP | CSUM_UDP | CSUM_IP); + if_togglecapenable(dev, IFCAP_TXCSUM); + if_togglehwassist(dev, CSUM_TCP | CSUM_UDP | CSUM_IP); - if (IFCAP_TSO4 & dev->if_capenable && - !(IFCAP_TXCSUM & dev->if_capenable)) { + if (IFCAP_TSO4 & if_getcapenable(dev) && + !(IFCAP_TXCSUM & if_getcapenable(dev))) { mask &= ~IFCAP_TSO4; - dev->if_capenable &= ~IFCAP_TSO4; - dev->if_hwassist &= ~CSUM_IP_TSO; + if_setcapenablebit(dev, 0, IFCAP_TSO4); + if_sethwassistbits(dev, 0, CSUM_IP_TSO); if_printf(dev, "tso4 disabled due to -txcsum.\n"); } } if (mask & IFCAP_TXCSUM_IPV6) { - dev->if_capenable ^= IFCAP_TXCSUM_IPV6; - dev->if_hwassist ^= (CSUM_UDP_IPV6 | CSUM_TCP_IPV6); + if_togglecapenable(dev, IFCAP_TXCSUM_IPV6); + if_togglehwassist(dev, (CSUM_UDP_IPV6 | CSUM_TCP_IPV6)); - if (IFCAP_TSO6 & dev->if_capenable && - !(IFCAP_TXCSUM_IPV6 & dev->if_capenable)) { + if (IFCAP_TSO6 & if_getcapenable(dev) && + !(IFCAP_TXCSUM_IPV6 & if_getcapenable(dev))) { mask &= ~IFCAP_TSO6; - dev->if_capenable &= ~IFCAP_TSO6; - dev->if_hwassist &= ~CSUM_IP6_TSO; + if_setcapenablebit(dev, 0, IFCAP_TSO6); + if_sethwassistbits(dev, 0, CSUM_IP6_TSO); if_printf(dev, "tso6 disabled due to -txcsum6.\n"); } } if (mask & IFCAP_RXCSUM) - dev->if_capenable ^= IFCAP_RXCSUM; + if_togglecapenable(dev, IFCAP_RXCSUM); if (mask & IFCAP_RXCSUM_IPV6) - dev->if_capenable ^= IFCAP_RXCSUM_IPV6; + if_togglecapenable(dev, IFCAP_RXCSUM_IPV6); if (mask & IFCAP_TSO4) { - if (!(IFCAP_TSO4 & dev->if_capenable) && - !(IFCAP_TXCSUM & dev->if_capenable)) { + if (!(IFCAP_TSO4 & if_getcapenable(dev)) && + !(IFCAP_TXCSUM & if_getcapenable(dev))) { if_printf(dev, "enable txcsum first.\n"); error = EAGAIN; goto out; } - dev->if_capenable ^= IFCAP_TSO4; - dev->if_hwassist ^= CSUM_IP_TSO; + if_togglecapenable(dev, IFCAP_TSO4); + if_togglehwassist(dev, CSUM_IP_TSO); } if (mask & IFCAP_TSO6) { - if (!(IFCAP_TSO6 & dev->if_capenable) && - !(IFCAP_TXCSUM_IPV6 & dev->if_capenable)) { + if (!(IFCAP_TSO6 & if_getcapenable(dev)) && + !(IFCAP_TXCSUM_IPV6 & if_getcapenable(dev))) { if_printf(dev, "enable txcsum6 first.\n"); error = EAGAIN; goto out; } - dev->if_capenable ^= IFCAP_TSO6; - dev->if_hwassist ^= CSUM_IP6_TSO; + if_togglecapenable(dev, IFCAP_TSO6); + if_togglehwassist(dev, CSUM_IP6_TSO); } if (mask & IFCAP_LRO) - dev->if_capenable ^= IFCAP_LRO; + if_togglecapenable(dev, IFCAP_LRO); if (mask & IFCAP_VLAN_HWTAGGING) - dev->if_capenable ^= IFCAP_VLAN_HWTAGGING; + if_togglecapenable(dev, IFCAP_VLAN_HWTAGGING); if (mask & IFCAP_VLAN_HWFILTER) - dev->if_capenable ^= IFCAP_VLAN_HWFILTER; + if_togglecapenable(dev, IFCAP_VLAN_HWFILTER); if (mask & IFCAP_WOL_MAGIC) - dev->if_capenable ^= IFCAP_WOL_MAGIC; - if (dev->if_drv_flags & IFF_DRV_RUNNING) + if_togglecapenable(dev, IFCAP_WOL_MAGIC); + if (if_getdrvflags(dev) & IFF_DRV_RUNNING) mlx4_en_start_port(dev); out: mutex_unlock(&mdev->state_lock); @@ -2135,8 +2134,9 @@ out: int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port, struct mlx4_en_port_profile *prof) { - struct ifnet *dev; + if_t dev; struct mlx4_en_priv *priv; + uint32_t hwassist; uint8_t dev_addr[ETHER_ADDR_LEN]; int err; int i; @@ -2148,16 +2148,16 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port, kfree(priv); return -ENOMEM; } - dev->if_softc = priv; + if_setsoftc(dev, priv); if_initname(dev, "mlxen", (device_get_unit( mdev->pdev->dev.bsddev) * MLX4_MAX_PORTS) + port - 1); - dev->if_mtu = ETHERMTU; - dev->if_init = mlx4_en_open; - dev->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - dev->if_ioctl = mlx4_en_ioctl; - dev->if_transmit = mlx4_en_transmit; - dev->if_qflush = mlx4_en_qflush; - dev->if_snd.ifq_maxlen = prof->tx_ring_size; + if_setmtu(dev, ETHERMTU); + if_setinitfn(dev, mlx4_en_open); + if_setflags(dev, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(dev, mlx4_en_ioctl); + if_settransmitfn(dev, mlx4_en_transmit); + if_setqflushfn(dev, mlx4_en_qflush); + if_setsendqlen(dev, prof->tx_ring_size); /* * Initialize driver private data @@ -2251,30 +2251,30 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port, /* * Set driver features */ - dev->if_capabilities |= IFCAP_HWCSUM | IFCAP_HWCSUM_IPV6; - dev->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING; - dev->if_capabilities |= IFCAP_VLAN_HWCSUM | IFCAP_VLAN_HWFILTER; - dev->if_capabilities |= IFCAP_LINKSTATE | IFCAP_JUMBO_MTU; - dev->if_capabilities |= IFCAP_LRO; - dev->if_capabilities |= IFCAP_HWSTATS; + if_setcapabilitiesbit(dev, IFCAP_HWCSUM | IFCAP_HWCSUM_IPV6 | + IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING | + IFCAP_VLAN_HWCSUM | IFCAP_VLAN_HWFILTER | + IFCAP_LINKSTATE | IFCAP_JUMBO_MTU | + IFCAP_LRO | IFCAP_HWSTATS, 0); if (mdev->LSO_support) - dev->if_capabilities |= IFCAP_TSO4 | IFCAP_TSO6 | IFCAP_VLAN_HWTSO; + if_setcapabilitiesbit(dev, IFCAP_TSO4 | IFCAP_TSO6 | IFCAP_VLAN_HWTSO, 0); /* set TSO limits so that we don't have to drop TX packets */ - dev->if_hw_tsomax = MLX4_EN_TX_MAX_PAYLOAD_SIZE - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN) /* hdr */; - dev->if_hw_tsomaxsegcount = MLX4_EN_TX_MAX_MBUF_FRAGS - 1 /* hdr */; - dev->if_hw_tsomaxsegsize = MLX4_EN_TX_MAX_MBUF_SIZE; + if_sethwtsomax(dev, MLX4_EN_TX_MAX_PAYLOAD_SIZE - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN) /* hdr */); + if_sethwtsomaxsegcount(dev, MLX4_EN_TX_MAX_MBUF_FRAGS - 1 /* hdr */); + if_sethwtsomaxsegsize(dev, MLX4_EN_TX_MAX_MBUF_SIZE); - dev->if_capenable = dev->if_capabilities; + if_setcapenable(dev, if_getcapabilities(dev)); - dev->if_hwassist = 0; - if (dev->if_capenable & (IFCAP_TSO4 | IFCAP_TSO6)) - dev->if_hwassist |= CSUM_TSO; - if (dev->if_capenable & IFCAP_TXCSUM) - dev->if_hwassist |= (CSUM_TCP | CSUM_UDP | CSUM_IP); - if (dev->if_capenable & IFCAP_TXCSUM_IPV6) - dev->if_hwassist |= (CSUM_UDP_IPV6 | CSUM_TCP_IPV6); + hwassist = 0; + if (if_getcapenable(dev) & (IFCAP_TSO4 | IFCAP_TSO6)) + hwassist |= CSUM_TSO; + if (if_getcapenable(dev) & IFCAP_TXCSUM) + hwassist |= (CSUM_TCP | CSUM_UDP | CSUM_IP); + if (if_getcapenable(dev) & IFCAP_TXCSUM_IPV6) + hwassist |= (CSUM_UDP_IPV6 | CSUM_TCP_IPV6); + if_sethwassist(dev, hwassist); /* Register for VLAN events */ @@ -2315,7 +2315,7 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port, en_warn(priv, "Using %d RX rings\n", prof->rx_ring_num); - priv->rx_mb_size = dev->if_mtu + ETH_HLEN + VLAN_HLEN + ETH_FCS_LEN; + priv->rx_mb_size = if_getmtu(dev) + ETH_HLEN + VLAN_HLEN + ETH_FCS_LEN; err = mlx4_SET_PORT_general(mdev->dev, priv->port, priv->rx_mb_size, prof->tx_pause, prof->tx_ppp, @@ -2346,7 +2346,7 @@ out: return err; } -static int mlx4_en_set_ring_size(struct ifnet *dev, +static int mlx4_en_set_ring_size(if_t dev, int rx_size, int tx_size) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); @@ -2420,7 +2420,7 @@ static int mlx4_en_set_tx_ring_size(SYSCTL_HANDLER_ARGS) return (error); } -static int mlx4_en_get_module_info(struct ifnet *dev, +static int mlx4_en_get_module_info(if_t dev, struct ethtool_modinfo *modinfo) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); @@ -2467,7 +2467,7 @@ static int mlx4_en_get_module_info(struct ifnet *dev, return 0; } -static int mlx4_en_get_module_eeprom(struct ifnet *dev, +static int mlx4_en_get_module_eeprom(if_t dev, struct ethtool_eeprom *ee, u8 *data) { @@ -2651,7 +2651,7 @@ static int mlx4_en_set_rx_ppp(SYSCTL_HANDLER_ARGS) static void mlx4_en_sysctl_conf(struct mlx4_en_priv *priv) { - struct ifnet *dev; + if_t dev; struct sysctl_ctx_list *ctx; struct sysctl_oid *node; struct sysctl_oid_list *node_list; @@ -2664,7 +2664,7 @@ static void mlx4_en_sysctl_conf(struct mlx4_en_priv *priv) sysctl_ctx_init(ctx); priv->conf_sysctl = SYSCTL_ADD_NODE(ctx, SYSCTL_STATIC_CHILDREN(_hw), - OID_AUTO, dev->if_xname, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + OID_AUTO, if_name(dev), CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "mlx4 10gig ethernet"); node = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(priv->conf_sysctl), OID_AUTO, "conf", CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "Configuration"); @@ -2892,7 +2892,7 @@ static void mlx4_en_sysctl_stat(struct mlx4_en_priv *priv) #ifdef DEBUGNET static void -mlx4_en_debugnet_init(struct ifnet *dev, int *nrxr, int *ncl, int *clsize) +mlx4_en_debugnet_init(if_t dev, int *nrxr, int *ncl, int *clsize) { struct mlx4_en_priv *priv; @@ -2905,12 +2905,12 @@ mlx4_en_debugnet_init(struct ifnet *dev, int *nrxr, int *ncl, int *clsize) } static void -mlx4_en_debugnet_event(struct ifnet *dev, enum debugnet_ev event) +mlx4_en_debugnet_event(if_t dev, enum debugnet_ev event) { } static int -mlx4_en_debugnet_transmit(struct ifnet *dev, struct mbuf *m) +mlx4_en_debugnet_transmit(if_t dev, struct mbuf *m) { struct mlx4_en_priv *priv; int err; @@ -2927,7 +2927,7 @@ mlx4_en_debugnet_transmit(struct ifnet *dev, struct mbuf *m) } static int -mlx4_en_debugnet_poll(struct ifnet *dev, int count) +mlx4_en_debugnet_poll(if_t dev, int count) { struct mlx4_en_priv *priv; diff --git a/sys/dev/mlx4/mlx4_en/mlx4_en_port.c b/sys/dev/mlx4/mlx4_en/mlx4_en_port.c index 89193c68a055..b2368cc8672d 100644 --- a/sys/dev/mlx4/mlx4_en/mlx4_en_port.c +++ b/sys/dev/mlx4/mlx4_en/mlx4_en_port.c @@ -149,7 +149,7 @@ static u64 en_stats_adder(__be64 *start, __be64 *next, int num) return ret; } -static void mlx4_en_fold_software_stats(struct ifnet *dev) +static void mlx4_en_fold_software_stats(if_t dev) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_en_dev *mdev = priv->mdev; @@ -187,7 +187,7 @@ int mlx4_en_DUMP_ETH_STATS(struct mlx4_en_dev *mdev, u8 port, u8 reset) struct mlx4_counter tmp_vport_stats; struct mlx4_en_stat_out_mbox *mlx4_en_stats; struct mlx4_en_stat_out_flow_control_mbox *flowstats; - struct ifnet *dev = mdev->pndev[port]; + if_t dev = mdev->pndev[port]; struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_en_vport_stats *vport_stats = &priv->vport_stats; struct mlx4_cmd_mailbox *mailbox; diff --git a/sys/dev/mlx4/mlx4_en/mlx4_en_resources.c b/sys/dev/mlx4/mlx4_en/mlx4_en_resources.c index 5d5508eebebf..e984d156098d 100644 --- a/sys/dev/mlx4/mlx4_en/mlx4_en_resources.c +++ b/sys/dev/mlx4/mlx4_en/mlx4_en_resources.c @@ -43,7 +43,7 @@ void mlx4_en_fill_qp_context(struct mlx4_en_priv *priv, int size, int stride, int user_prio, struct mlx4_qp_context *context) { struct mlx4_en_dev *mdev = priv->mdev; - struct ifnet *dev = priv->dev; + if_t dev = priv->dev; memset(context, 0, sizeof *context); context->flags = cpu_to_be32(7 << 16 | rss << MLX4_RSS_QPC_FLAG_OFFSET); @@ -76,7 +76,7 @@ void mlx4_en_fill_qp_context(struct mlx4_en_priv *priv, int size, int stride, context->cqn_send = cpu_to_be32(cqn); context->cqn_recv = cpu_to_be32(cqn); context->db_rec_addr = cpu_to_be64(priv->res.db.dma << 2); - if (!(dev->if_capabilities & IFCAP_VLAN_HWCSUM)) + if (!(if_getcapabilities(dev) & IFCAP_VLAN_HWCSUM)) context->param3 |= cpu_to_be32(1 << 30); } diff --git a/sys/dev/mlx4/mlx4_en/mlx4_en_rx.c b/sys/dev/mlx4/mlx4_en/mlx4_en_rx.c index 56e8711c6599..5baae707413d 100644 --- a/sys/dev/mlx4/mlx4_en/mlx4_en_rx.c +++ b/sys/dev/mlx4/mlx4_en/mlx4_en_rx.c @@ -338,14 +338,14 @@ void mlx4_en_set_num_rx_rings(struct mlx4_en_dev *mdev) } } -void mlx4_en_calc_rx_buf(struct ifnet *dev) +void mlx4_en_calc_rx_buf(if_t dev) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); - int eff_mtu = dev->if_mtu + ETH_HLEN + VLAN_HLEN + ETH_FCS_LEN + + int eff_mtu = if_getmtu(dev) + ETH_HLEN + VLAN_HLEN + ETH_FCS_LEN + MLX4_NET_IP_ALIGN; if (eff_mtu > MJUM16BYTES) { - en_err(priv, "MTU(%u) is too big\n", (unsigned)dev->if_mtu); + en_err(priv, "MTU(%u) is too big\n", (unsigned)if_getmtu(dev)); eff_mtu = MJUM16BYTES; } else if (eff_mtu > MJUM9BYTES) { eff_mtu = MJUM16BYTES; @@ -502,9 +502,9 @@ int mlx4_en_activate_rx_rings(struct mlx4_en_priv *priv) #ifdef INET /* Configure lro mngr */ - if (priv->dev->if_capenable & IFCAP_LRO) { + if (if_getcapenable(priv->dev) & IFCAP_LRO) { if (tcp_lro_init(&ring->lro)) - priv->dev->if_capenable &= ~IFCAP_LRO; + if_setcapenablebit(priv->dev, 0, IFCAP_LRO); else ring->lro.ifp = priv->dev; } @@ -735,7 +735,7 @@ mlx4_en_rss_hash(__be16 status, int udp_rss) * The following calc ensures that when factor==1, it means we are aligned to 64B * and we get the real cqe data*/ #define CQE_FACTOR_INDEX(index, factor) (((index) << (factor)) + (factor)) -int mlx4_en_process_rx_cq(struct ifnet *dev, struct mlx4_en_cq *cq, int budget) +int mlx4_en_process_rx_cq(if_t dev, struct mlx4_en_cq *cq, int budget) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); struct mlx4_cqe *cqe; @@ -806,7 +806,7 @@ int mlx4_en_process_rx_cq(struct ifnet *dev, struct mlx4_en_cq *cq, int budget) mb->m_pkthdr.ether_vtag = be16_to_cpu(cqe->sl_vid); mb->m_flags |= M_VLANTAG; } - if (likely(dev->if_capenable & + if (likely(if_getcapenable(dev) & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)) && (cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPOK)) && (cqe->checksum == cpu_to_be16(0xffff))) { @@ -823,7 +823,7 @@ int mlx4_en_process_rx_cq(struct ifnet *dev, struct mlx4_en_cq *cq, int budget) */ #ifdef INET if (mlx4_en_can_lro(cqe->status) && - (dev->if_capenable & IFCAP_LRO)) { + (if_getcapenable(dev) & IFCAP_LRO)) { if (ring->lro.lro_cnt != 0 && tcp_lro_rx(&ring->lro, mb, 0) == 0) goto next; @@ -838,7 +838,7 @@ int mlx4_en_process_rx_cq(struct ifnet *dev, struct mlx4_en_cq *cq, int budget) } /* Push it up the stack */ - dev->if_input(dev, mb); + if_input(dev, mb); next: ++cons_index; @@ -866,7 +866,7 @@ out: /* Rx CQ polling - called by NAPI */ static int mlx4_en_poll_rx_cq(struct mlx4_en_cq *cq, int budget) { - struct ifnet *dev = cq->dev; + if_t dev = cq->dev; struct epoch_tracker et; int done; @@ -912,7 +912,7 @@ void mlx4_en_rx_que(void *context, int pending) while (mlx4_en_poll_rx_cq(cq, MLX4_EN_RX_BUDGET) == MLX4_EN_RX_BUDGET); NET_EPOCH_EXIT(et); - mlx4_en_arm_cq(cq->dev->if_softc, cq); + mlx4_en_arm_cq(if_getsoftc(cq->dev), cq); } diff --git a/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c b/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c index 7cff1a224e9a..ee8ed0da240d 100644 --- a/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c +++ b/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c @@ -308,7 +308,7 @@ done: return (tx_info->nr_txbb); } -int mlx4_en_free_tx_buf(struct ifnet *dev, struct mlx4_en_tx_ring *ring) +int mlx4_en_free_tx_buf(if_t dev, struct mlx4_en_tx_ring *ring) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); int cnt = 0; @@ -344,7 +344,7 @@ mlx4_en_tx_ring_is_full(struct mlx4_en_tx_ring *ring) return (wqs < (HEADROOM + (2 * MLX4_EN_TX_WQE_MAX_WQEBBS))); } -static int mlx4_en_process_tx_cq(struct ifnet *dev, +static int mlx4_en_process_tx_cq(if_t dev, struct mlx4_en_cq *cq) { struct mlx4_en_priv *priv = mlx4_netdev_priv(dev); @@ -604,7 +604,7 @@ static void hashrandom_init(void *arg) } SYSINIT(hashrandom_init, SI_SUB_RANDOM, SI_ORDER_ANY, &hashrandom_init, NULL); *** 199 LINES SKIPPED *** From nobody Tue Feb 7 19:18:12 2023 X-Original-To: dev-commits-src-main@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 4PBCZr2Yxqz3nbcN; Tue, 7 Feb 2023 19:18: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCZr1hnsz4VGj; Tue, 7 Feb 2023 19:18:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797492; 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=RMUC9M79un+5ACqoysyR2opn6rXmz05+ciY6QbAYhRk=; b=k+BAW48w3IJfWl0QapGpDSPBxKaRVFoklpS9nJVo9bPnHuftVZBs0Z/NuI2N2ZvIU7epDh RJTnCUSCTOhmFKpKpPrO6z2+g3QmpKPpfItUHV2oP64qBfaMM3XwjFlWEKqJdvIBIqpFm9 I9y5XMwiGNhOZq1s1rHZoBYVNiDqBX+dEzFG0d20USQEDOowivWYmTEC9Uihsw0cn3AXrB XgiQ7CxPDfSun2d6RaqHxtsKKRSVNTmlQmTRlkHWvkSf9HzcqYUyTBM1AXnlghCSjkoQ3X g0pce1MgdJGOTcfCXUAGmtn93JuwmWFUzr8BijLidHIrlJGcIXNm7mkxQaUajA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797492; 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=RMUC9M79un+5ACqoysyR2opn6rXmz05+ciY6QbAYhRk=; b=L0bqDor4eaT+i49Jz94IIJGGielYm0JvzSTaRpQaURoVmyhIFnmy40aJiA5MFvk9olwZ6o g998P2MCiYfo8OXSgvGcvNpzE3H2qqFkTsAOBw6ruSZo74ib0sR4u7vD/0fp+whPPPWP4/ p5g/qPJ671vLRFegE64RJCdLAQBk7T+K1Uuvg+zMF1v+fmi7pNBuJRTTI+cTHvpFoE6Lts CvveKJq+OXXi/9Fdne1KKBLwuYP0eIuL7eJdfL6LiI3j0xI8v/BGtifh0qpJCeOGY+S5r/ g7ApIc21uSc6vySAkP2KsJUeJWAAVd68ox7DgwlvDV2S+5V7lYWC8Y/LFE4AxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675797492; a=rsa-sha256; cv=none; b=vrrqeNeTbcnt0jS7drOeGUm5wIqvVvfk5fcLotWaTk6QtUXpy9oGpDGSKDv3few3ugMasQ Xl9onX2W3T/yHhAJ3DjhFcoFYQM6ewwPrQsZt8orpK9dNgFlwmS6jJoJx9wyCCuip50UCM XzS5rAadFUSi/U9m/frTIZ9XjcAqWvqmJB4E4cZFaOBTRAzXj7bHxiY8gUR2q1hzzqgYWa UMN3n4tJZ6cNc9Q5IEFOxfzQcvb0/eqWhsmLWOrWMBo134/fjcvP6eVrw23p0LBqjGU6ss b/WMqiUc5dHhvMpaOoQ6N6WZunIte2EteuP9zrTG1VGwTR1wcV5RUkI/viWQfA== 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 4PBCZr0XmQzSdk; Tue, 7 Feb 2023 19:18:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317JIC1P049813; Tue, 7 Feb 2023 19:18:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317JIC15049812; Tue, 7 Feb 2023 19:18:12 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:18:12 GMT Message-Id: <202302071918.317JIC15049812@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: b9545c579415 - main - Mechanically convert vnic to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b9545c57941598857677c31b90c707123d8f4976 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=b9545c57941598857677c31b90c707123d8f4976 commit b9545c57941598857677c31b90c707123d8f4976 Author: Justin Hibbits AuthorDate: 2022-08-17 20:42:35 +0000 Commit: Justin Hibbits CommitDate: 2023-02-07 19:16:17 +0000 Mechanically convert vnic to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37827 --- sys/dev/vnic/nic.h | 2 +- sys/dev/vnic/nicvf_main.c | 30 +++++++++++++++--------------- sys/dev/vnic/nicvf_queues.c | 10 +++++----- sys/dev/vnic/thunder_mdio.c | 8 ++++---- sys/dev/vnic/thunder_mdio_fdt.c | 3 +++ sys/dev/vnic/thunder_mdio_var.h | 2 +- 6 files changed, 29 insertions(+), 26 deletions(-) diff --git a/sys/dev/vnic/nic.h b/sys/dev/vnic/nic.h index dba91af666d6..2dcaffe1628c 100644 --- a/sys/dev/vnic/nic.h +++ b/sys/dev/vnic/nic.h @@ -292,7 +292,7 @@ struct nicvf { struct nicvf *pnicvf; device_t dev; - struct ifnet * ifp; + if_t ifp; struct sx core_sx; struct ifmedia if_media; uint32_t if_flags; diff --git a/sys/dev/vnic/nicvf_main.c b/sys/dev/vnic/nicvf_main.c index 54efc58fee22..b135c745b902 100644 --- a/sys/dev/vnic/nicvf_main.c +++ b/sys/dev/vnic/nicvf_main.c @@ -147,17 +147,17 @@ static int nicvf_setup_ifnet(struct nicvf *); static int nicvf_setup_ifmedia(struct nicvf *); static void nicvf_hw_addr_random(uint8_t *); -static int nicvf_if_ioctl(struct ifnet *, u_long, caddr_t); +static int nicvf_if_ioctl(if_t, u_long, caddr_t); static void nicvf_if_init(void *); static void nicvf_if_init_locked(struct nicvf *); -static int nicvf_if_transmit(struct ifnet *, struct mbuf *); -static void nicvf_if_qflush(struct ifnet *); -static uint64_t nicvf_if_getcounter(struct ifnet *, ift_counter); +static int nicvf_if_transmit(if_t, struct mbuf *); +static void nicvf_if_qflush(if_t); +static uint64_t nicvf_if_getcounter(if_t, ift_counter); static int nicvf_stop_locked(struct nicvf *); -static void nicvf_media_status(struct ifnet *, struct ifmediareq *); -static int nicvf_media_change(struct ifnet *); +static void nicvf_media_status(if_t, struct ifmediareq *); +static int nicvf_media_change(if_t); static void nicvf_tick_stats(void *); @@ -336,7 +336,7 @@ nicvf_hw_addr_random(uint8_t *hwaddr) static int nicvf_setup_ifnet(struct nicvf *nic) { - struct ifnet *ifp; + if_t ifp; ifp = if_alloc(IFT_ETHER); if (ifp == NULL) { @@ -418,7 +418,7 @@ nicvf_setup_ifmedia(struct nicvf *nic) } static int -nicvf_if_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +nicvf_if_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct nicvf *nic; struct rcv_queue *rq; @@ -571,7 +571,7 @@ static void nicvf_if_init_locked(struct nicvf *nic) { struct queue_set *qs = nic->qs; - struct ifnet *ifp; + if_t ifp; int qidx; int err; caddr_t if_addr; @@ -643,7 +643,7 @@ nicvf_if_init(void *if_softc) } static int -nicvf_if_transmit(struct ifnet *ifp, struct mbuf *mbuf) +nicvf_if_transmit(if_t ifp, struct mbuf *mbuf) { struct nicvf *nic = if_getsoftc(ifp); struct queue_set *qs = nic->qs; @@ -699,7 +699,7 @@ nicvf_if_transmit(struct ifnet *ifp, struct mbuf *mbuf) } static void -nicvf_if_qflush(struct ifnet *ifp) +nicvf_if_qflush(if_t ifp) { struct nicvf *nic; struct queue_set *qs; @@ -721,7 +721,7 @@ nicvf_if_qflush(struct ifnet *ifp) } static uint64_t -nicvf_if_getcounter(struct ifnet *ifp, ift_counter cnt) +nicvf_if_getcounter(if_t ifp, ift_counter cnt) { struct nicvf *nic; struct nicvf_hw_stats *hw_stats; @@ -755,7 +755,7 @@ nicvf_if_getcounter(struct ifnet *ifp, ift_counter cnt) } static void -nicvf_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) +nicvf_media_status(if_t ifp, struct ifmediareq *ifmr) { struct nicvf *nic = if_getsoftc(ifp); @@ -799,7 +799,7 @@ nicvf_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -nicvf_media_change(struct ifnet *ifp __unused) +nicvf_media_change(if_t ifp __unused) { return (0); @@ -1523,7 +1523,7 @@ error: static int nicvf_stop_locked(struct nicvf *nic) { - struct ifnet *ifp; + if_t ifp; int qidx; struct queue_set *qs = nic->qs; union nic_mbx mbx = {}; diff --git a/sys/dev/vnic/nicvf_queues.c b/sys/dev/vnic/nicvf_queues.c index d2a6f8532b37..017d1c6e3e1c 100644 --- a/sys/dev/vnic/nicvf_queues.c +++ b/sys/dev/vnic/nicvf_queues.c @@ -732,7 +732,7 @@ static int nicvf_cq_intr_handler(struct nicvf *nic, uint8_t cq_idx) { struct mbuf *mbuf; - struct ifnet *ifp; + if_t ifp; int processed_cqe, tx_done = 0; #ifdef DEBUG int work_done = 0; @@ -831,7 +831,7 @@ out: while (!buf_ring_empty(cq->rx_br)) { mbuf = buf_ring_dequeue_mc(cq->rx_br); if (__predict_true(mbuf != NULL)) - (*ifp->if_input)(ifp, mbuf); + if_input(ifp, mbuf); } return (cmp_err); @@ -987,7 +987,7 @@ int nicvf_xmit_locked(struct snd_queue *sq) { struct nicvf *nic; - struct ifnet *ifp; + if_t ifp; struct mbuf *next; int err; @@ -1020,7 +1020,7 @@ nicvf_snd_task(void *arg, int pending) { struct snd_queue *sq = (struct snd_queue *)arg; struct nicvf *nic; - struct ifnet *ifp; + if_t ifp; int err; nic = sq->nic; @@ -1296,7 +1296,7 @@ nicvf_rcv_queue_config(struct nicvf *nic, struct queue_set *qs, union nic_mbx mbx = {}; struct rcv_queue *rq; struct rq_cfg rq_cfg; - struct ifnet *ifp; + if_t ifp; struct lro_ctrl *lro; ifp = nic->ifp; diff --git a/sys/dev/vnic/thunder_mdio.c b/sys/dev/vnic/thunder_mdio.c index d07b17b56a2e..3e9a8f74e673 100644 --- a/sys/dev/vnic/thunder_mdio.c +++ b/sys/dev/vnic/thunder_mdio.c @@ -93,8 +93,8 @@ static int thunder_mdio_detach(device_t); static int thunder_mdio_read(device_t, int, int); static int thunder_mdio_write(device_t, int, int, int); -static int thunder_ifmedia_change_stub(struct ifnet *); -static void thunder_ifmedia_status_stub(struct ifnet *, struct ifmediareq *); +static int thunder_ifmedia_change_stub(if_t); +static void thunder_ifmedia_status_stub(if_t, struct ifmediareq *); static int thunder_mdio_media_status(device_t, int, int *, int *, int *); static int thunder_mdio_media_change(device_t, int, int, int, int); @@ -351,14 +351,14 @@ thunder_mdio_write(device_t dev, int phy, int reg, int data) } static int -thunder_ifmedia_change_stub(struct ifnet *ifp __unused) +thunder_ifmedia_change_stub(if_t ifp __unused) { /* Will never be called by if_media */ return (0); } static void -thunder_ifmedia_status_stub(struct ifnet *ifp __unused, struct ifmediareq +thunder_ifmedia_status_stub(if_t ifp __unused, struct ifmediareq *ifmr __unused) { /* Will never be called by if_media */ diff --git a/sys/dev/vnic/thunder_mdio_fdt.c b/sys/dev/vnic/thunder_mdio_fdt.c index fd3905453008..d6d46b04a17f 100644 --- a/sys/dev/vnic/thunder_mdio_fdt.c +++ b/sys/dev/vnic/thunder_mdio_fdt.c @@ -34,11 +34,14 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include +#include + #include #include diff --git a/sys/dev/vnic/thunder_mdio_var.h b/sys/dev/vnic/thunder_mdio_var.h index acebec0dbcc0..c66c5e9683df 100644 --- a/sys/dev/vnic/thunder_mdio_var.h +++ b/sys/dev/vnic/thunder_mdio_var.h @@ -44,7 +44,7 @@ enum thunder_mdio_mode { struct phy_desc { device_t miibus; /* One miibus per LMAC */ - struct ifnet * ifp; /* Fake ifp to satisfy miibus */ + if_t ifp; /* Fake ifp to satisfy miibus */ int lmacid; /* ID number of LMAC connected */ TAILQ_ENTRY(phy_desc) phy_desc_list; }; From nobody Tue Feb 7 19:18:13 2023 X-Original-To: dev-commits-src-main@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 4PBCZs3Tf0z3nbZW; Tue, 7 Feb 2023 19:18: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCZs2zQ6z4VV4; Tue, 7 Feb 2023 19:18:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797493; 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=2f3JulZMuK4f5s8t6lsBanxtVP6V1GewljOiD9KoqcI=; b=K/C9lLH1XfOqkE3Zpe8QgCVl1jmcc5yBNaEPjNP7gDReA4GM+0Bb0qznR+oQ/cV9G3gz/D HHBOXWwTQvu0tTC0HBpD/yfLq5kajhCV3/m37TwaHsYMxrgy0bfhVDRgxw7/sCmXcgn/yJ SkZQ6oHYa2h5YJkQhedIV4BsJaXqd1dfCzXcrbv7iHkBuzvr1wjKT9Br5e1HHk48Dr8tXa W7ImEZGjtLCewUrtjs267jJSdB6Ncfreaw1SajIuU2DvM4SQbNXiC/CJh3hcUhWWPV+H5Z N68nk5y26ck5gjmlYdL/5B3c6jy1FFUo4LP3oC3jgVKZn81iCoSeWFB8MWmSkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797493; 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=2f3JulZMuK4f5s8t6lsBanxtVP6V1GewljOiD9KoqcI=; b=DaHey2gvQTzH+4rt8Y5aWZm6RTopBIjE4nfguSP+TYjAOv/eOw7nvnysP7KBSEFqTo3P99 hYpvRAf3wzY0jP4HEiplUTbjxMQpbISezPdBKDVdovAcoGFe0wJp2dRci+Zk6KEhI0Ev8O AKd8LyC9tqmc5woRmyHJxv6rqoOBA+QnIp2kpLM7sVWnkzFNXBSTOVz43POEO2+wcMB5qn j0x8JSZlfJo/SjQucuvgFHwCFMsDsFb1SLwUCtNEAmecW2hw7Dy7YMEzbOaxjCb5Z1zwPk YkRy5oSIbNquMVJt6a85HC1uW99vNVzYiPlu8w5rzHKjL8vPW1vNzMa4JUv65g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675797493; a=rsa-sha256; cv=none; b=JSWTT/uabY7x2tGZIIzRKz9GF7orI8Rkt1svx907OV8dS3tVh18qtuMBxIBMuBHtkJwnfG 72hiHUIHrL3X+9XaRXjnj685IVUoeR9BzAGLaOgqd7IPT2WvnOBrAKeoaskN+69WekPmVs q4dUl0UQm14nvRMeseH+AnidS3yn0rlyzDPsc96fIQuV+TTIJfhz2kmQm2oquhsnpM8MfF f/hDEJtA6tm5a3cRTFOHl2nBNEikC0pDTIZhTi3gNDEPJeUocSWSBHmlw49cqThevJc91U /LWErk9gGTCgRIXyKTpItsLxmxQAaN6bcCg4LVdmjUs0BjyGOSVbRW5QW+Vx2g== 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 4PBCZs1cJRzSd0; Tue, 7 Feb 2023 19:18:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317JIDMI049843; Tue, 7 Feb 2023 19:18:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317JIDbD049842; Tue, 7 Feb 2023 19:18:13 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:18:13 GMT Message-Id: <202302071918.317JIDbD049842@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 2c50292d0631 - main - Mechanically convert liquidio(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2c50292d0631ad4ae8acfad5bb2b33825691da87 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=2c50292d0631ad4ae8acfad5bb2b33825691da87 commit 2c50292d0631ad4ae8acfad5bb2b33825691da87 Author: Justin Hibbits AuthorDate: 2022-08-17 20:45:22 +0000 Commit: Justin Hibbits CommitDate: 2023-02-07 19:16:17 +0000 Mechanically convert liquidio(4) to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37828 --- sys/dev/liquidio/lio_core.c | 6 ++--- sys/dev/liquidio/lio_ioctl.c | 34 ++++++++++++++-------------- sys/dev/liquidio/lio_ioctl.h | 6 ++--- sys/dev/liquidio/lio_main.c | 50 +++++++++++++++++++++--------------------- sys/dev/liquidio/lio_network.h | 4 ++-- sys/dev/liquidio/lio_rxtx.c | 6 ++--- sys/dev/liquidio/lio_rxtx.h | 6 ++--- sys/dev/liquidio/lio_sysctl.c | 12 +++++----- 8 files changed, 62 insertions(+), 62 deletions(-) diff --git a/sys/dev/liquidio/lio_core.c b/sys/dev/liquidio/lio_core.c index dcbe4e44988d..ea6949f0354d 100644 --- a/sys/dev/liquidio/lio_core.c +++ b/sys/dev/liquidio/lio_core.c @@ -44,7 +44,7 @@ #include "lio_network.h" int -lio_set_feature(struct ifnet *ifp, int cmd, uint16_t param1) +lio_set_feature(if_t ifp, int cmd, uint16_t param1) { struct lio_ctrl_pkt nctrl; struct lio *lio = if_getsoftc(ifp); @@ -263,7 +263,7 @@ lio_push_packet(void *m_buff, uint32_t len, union octeon_rh *rh, void *rxq, void *arg) { struct mbuf *mbuf = m_buff; - struct ifnet *ifp = arg; + if_t ifp = arg; struct lio_droq *droq = rxq; if (ifp != NULL) { @@ -407,7 +407,7 @@ lio_setup_io_queues(struct octeon_device *octeon_dev, int ifidx, uint32_t num_iqs, uint32_t num_oqs) { struct lio_droq_ops droq_ops; - struct ifnet *ifp; + if_t ifp; struct lio_droq *droq; struct lio *lio; static int cpu_id, cpu_id_modulus; diff --git a/sys/dev/liquidio/lio_ioctl.c b/sys/dev/liquidio/lio_ioctl.c index f2cf0eae6f81..614c3cd1f868 100644 --- a/sys/dev/liquidio/lio_ioctl.c +++ b/sys/dev/liquidio/lio_ioctl.c @@ -46,13 +46,13 @@ #include "lio_main.h" #include "lio_rxtx.h" -static int lio_set_rx_csum(struct ifnet *ifp, uint32_t data); -static int lio_set_tso4(struct ifnet *ifp); -static int lio_set_tso6(struct ifnet *ifp); -static int lio_set_lro(struct ifnet *ifp); -static int lio_change_mtu(struct ifnet *ifp, int new_mtu); -static int lio_set_mcast_list(struct ifnet *ifp); -static inline enum lio_ifflags lio_get_new_flags(struct ifnet *ifp); +static int lio_set_rx_csum(if_t ifp, uint32_t data); +static int lio_set_tso4(if_t ifp); +static int lio_set_tso6(if_t ifp); +static int lio_set_lro(if_t ifp); +static int lio_change_mtu(if_t ifp, int new_mtu); +static int lio_set_mcast_list(if_t ifp); +static inline enum lio_ifflags lio_get_new_flags(if_t ifp); static inline bool lio_is_valid_ether_addr(const uint8_t *addr) @@ -63,7 +63,7 @@ lio_is_valid_ether_addr(const uint8_t *addr) } static int -lio_change_dev_flags(struct ifnet *ifp) +lio_change_dev_flags(if_t ifp) { struct lio_ctrl_pkt nctrl; struct lio *lio = if_getsoftc(ifp); @@ -94,7 +94,7 @@ lio_change_dev_flags(struct ifnet *ifp) * return 0 on success, positive on failure */ int -lio_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +lio_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct lio *lio = if_getsoftc(ifp); struct ifreq *ifrequest = (struct ifreq *)data; @@ -211,7 +211,7 @@ lio_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) } static int -lio_set_tso4(struct ifnet *ifp) +lio_set_tso4(if_t ifp) { struct lio *lio = if_getsoftc(ifp); @@ -230,7 +230,7 @@ lio_set_tso4(struct ifnet *ifp) } static int -lio_set_tso6(struct ifnet *ifp) +lio_set_tso6(if_t ifp) { struct lio *lio = if_getsoftc(ifp); @@ -249,7 +249,7 @@ lio_set_tso6(struct ifnet *ifp) } static int -lio_set_rx_csum(struct ifnet *ifp, uint32_t data) +lio_set_rx_csum(if_t ifp, uint32_t data) { struct lio *lio = if_getsoftc(ifp); int ret = 0; @@ -276,7 +276,7 @@ lio_set_rx_csum(struct ifnet *ifp, uint32_t data) } static int -lio_set_lro(struct ifnet *ifp) +lio_set_lro(if_t ifp) { struct lio *lio = if_getsoftc(ifp); int ret = 0; @@ -338,7 +338,7 @@ lio_mtu_ctl_callback(struct octeon_device *oct, uint32_t status, void *buf) /* @param ifp is network device */ static int -lio_change_mtu(struct ifnet *ifp, int new_mtu) +lio_change_mtu(if_t ifp, int new_mtu) { struct lio *lio = if_getsoftc(ifp); struct octeon_device *oct = lio->oct_dev; @@ -421,7 +421,7 @@ mtu_updation_failed: /* @param ifp network device */ int -lio_set_mac(struct ifnet *ifp, uint8_t *p) +lio_set_mac(if_t ifp, uint8_t *p) { struct lio_ctrl_pkt nctrl; struct lio *lio = if_getsoftc(ifp); @@ -465,7 +465,7 @@ lio_set_mac(struct ifnet *ifp, uint8_t *p) * received from the OS. */ static inline enum lio_ifflags -lio_get_new_flags(struct ifnet *ifp) +lio_get_new_flags(if_t ifp) { enum lio_ifflags f = LIO_IFFLAG_UNICAST; @@ -509,7 +509,7 @@ lio_copy_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) /* @param ifp network device */ static int -lio_set_mcast_list(struct ifnet *ifp) +lio_set_mcast_list(if_t ifp) { struct lio *lio = if_getsoftc(ifp); struct octeon_device *oct = lio->oct_dev; diff --git a/sys/dev/liquidio/lio_ioctl.h b/sys/dev/liquidio/lio_ioctl.h index d62948bafc7b..1c8db95e0c0b 100644 --- a/sys/dev/liquidio/lio_ioctl.h +++ b/sys/dev/liquidio/lio_ioctl.h @@ -35,10 +35,10 @@ #ifndef _LIO_IOCTL_H_ #define _LIO_IOCTL_H_ -int lio_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data); +int lio_ioctl(if_t ifp, u_long cmd, caddr_t data); void lio_add_hw_stats(struct lio *lio); -void lio_stop(struct ifnet *ifp); +void lio_stop(if_t ifp); void lio_open(void *arg); -int lio_set_mac(struct ifnet *ifp, uint8_t *p); +int lio_set_mac(if_t ifp, uint8_t *p); #endif /* _LIO_IOCTL_H_ */ diff --git a/sys/dev/liquidio/lio_main.c b/sys/dev/liquidio/lio_main.c index 4406b86f55d8..7f4fe01ffaca 100644 --- a/sys/dev/liquidio/lio_main.c +++ b/sys/dev/liquidio/lio_main.c @@ -105,20 +105,20 @@ static int lio_setup_nic_devices(struct octeon_device *octeon_dev); static int lio_link_info(struct lio_recv_info *recv_info, void *ptr); static void lio_if_cfg_callback(struct octeon_device *oct, uint32_t status, void *buf); -static int lio_set_rxcsum_command(struct ifnet *ifp, int command, +static int lio_set_rxcsum_command(if_t ifp, int command, uint8_t rx_cmd); static int lio_setup_glists(struct octeon_device *oct, struct lio *lio, int num_iqs); static void lio_destroy_nic_device(struct octeon_device *oct, int ifidx); -static inline void lio_update_link_status(struct ifnet *ifp, +static inline void lio_update_link_status(if_t ifp, union octeon_link_status *ls); static void lio_send_rx_ctrl_cmd(struct lio *lio, int start_stop); static int lio_stop_nic_module(struct octeon_device *oct); static void lio_destroy_resources(struct octeon_device *oct); -static int lio_setup_rx_oom_poll_fn(struct ifnet *ifp); +static int lio_setup_rx_oom_poll_fn(if_t ifp); -static void lio_vlan_rx_add_vid(void *arg, struct ifnet *ifp, uint16_t vid); -static void lio_vlan_rx_kill_vid(void *arg, struct ifnet *ifp, +static void lio_vlan_rx_add_vid(void *arg, if_t ifp, uint16_t vid); +static void lio_vlan_rx_kill_vid(void *arg, if_t ifp, uint16_t vid); static struct octeon_device * lio_get_other_octeon_device(struct octeon_device *oct); @@ -965,7 +965,7 @@ lio_init_failure: } static int -lio_ifmedia_update(struct ifnet *ifp) +lio_ifmedia_update(if_t ifp) { struct lio *lio = if_getsoftc(ifp); struct ifmedia *ifm; @@ -1030,7 +1030,7 @@ lio_get_baudrate(struct octeon_device *oct) } static void -lio_ifmedia_status(struct ifnet *ifp, struct ifmediareq *ifmr) +lio_ifmedia_status(if_t ifp, struct ifmediareq *ifmr) { struct lio *lio = if_getsoftc(ifp); @@ -1129,7 +1129,7 @@ static int lio_init_ifnet(struct lio *lio) { struct octeon_device *oct = lio->oct_dev; - if_t ifp = lio->ifp; + if_t ifp = lio->ifp; /* ifconfig entrypoint for media type/status reporting */ ifmedia_init(&lio->ifmedia, IFM_IMASK, lio_ifmedia_update, @@ -1172,7 +1172,7 @@ lio_init_ifnet(struct lio *lio) } static void -lio_tcp_lro_free(struct octeon_device *octeon_dev, struct ifnet *ifp) +lio_tcp_lro_free(struct octeon_device *octeon_dev, if_t ifp) { struct lio *lio = if_getsoftc(ifp); struct lio_droq *droq; @@ -1190,7 +1190,7 @@ lio_tcp_lro_free(struct octeon_device *octeon_dev, struct ifnet *ifp) } static int -lio_tcp_lro_init(struct octeon_device *octeon_dev, struct ifnet *ifp) +lio_tcp_lro_init(struct octeon_device *octeon_dev, if_t ifp) { struct lio *lio = if_getsoftc(ifp); struct lio_droq *droq; @@ -1224,7 +1224,7 @@ lio_setup_nic_devices(struct octeon_device *octeon_dev) { union octeon_if_cfg if_cfg; struct lio *lio = NULL; - struct ifnet *ifp = NULL; + if_t ifp = NULL; struct lio_version *vdata; struct lio_soft_command *sc; struct lio_if_cfg_context *ctx; @@ -1344,9 +1344,9 @@ lio_setup_nic_devices(struct octeon_device *octeon_dev) if_setsoftc(ifp, lio); - ifp->if_hw_tsomax = LIO_MAX_FRAME_SIZE; - ifp->if_hw_tsomaxsegcount = LIO_MAX_SG; - ifp->if_hw_tsomaxsegsize = PAGE_SIZE; + if_sethwtsomax(ifp, LIO_MAX_FRAME_SIZE); + if_sethwtsomaxsegcount(ifp, LIO_MAX_SG); + if_sethwtsomaxsegsize(ifp, PAGE_SIZE); lio->ifidx = ifidx_or_pfnum; @@ -1590,7 +1590,7 @@ void lio_open(void *arg) { struct lio *lio = arg; - struct ifnet *ifp = lio->ifp; + if_t ifp = lio->ifp; struct octeon_device *oct = lio->oct_dev; uint8_t *mac_new, mac_old[ETHER_HDR_LEN]; int ret = 0; @@ -1605,7 +1605,7 @@ lio_open(void *arg) /* tell Octeon to start forwarding packets to host */ lio_send_rx_ctrl_cmd(lio, 1); - mac_new = IF_LLADDR(ifp); + mac_new = if_getlladdr(ifp); memcpy(mac_old, ((uint8_t *)&lio->linfo.hw_addr) + 2, ETHER_HDR_LEN); if (lio_is_mac_changed(mac_new, mac_old)) { @@ -1621,7 +1621,7 @@ lio_open(void *arg) } static int -lio_set_rxcsum_command(struct ifnet *ifp, int command, uint8_t rx_cmd) +lio_set_rxcsum_command(if_t ifp, int command, uint8_t rx_cmd) { struct lio_ctrl_pkt nctrl; struct lio *lio = if_getsoftc(ifp); @@ -1786,7 +1786,7 @@ lio_setup_glists(struct octeon_device *oct, struct lio *lio, int num_iqs) } void -lio_stop(struct ifnet *ifp) +lio_stop(if_t ifp) { struct lio *lio = if_getsoftc(ifp); struct octeon_device *oct = lio->oct_dev; @@ -1851,7 +1851,7 @@ lio_poll_check_rx_oom_status(void *arg, int pending __unused) } static int -lio_setup_rx_oom_poll_fn(struct ifnet *ifp) +lio_setup_rx_oom_poll_fn(if_t ifp) { struct lio *lio = if_getsoftc(ifp); struct octeon_device *oct = lio->oct_dev; @@ -1883,7 +1883,7 @@ lio_setup_rx_oom_poll_fn(struct ifnet *ifp) } static void -lio_cleanup_rx_oom_poll_fn(struct ifnet *ifp) +lio_cleanup_rx_oom_poll_fn(if_t ifp) { struct lio *lio = if_getsoftc(ifp); @@ -1902,7 +1902,7 @@ lio_cleanup_rx_oom_poll_fn(struct ifnet *ifp) static void lio_destroy_nic_device(struct octeon_device *oct, int ifidx) { - struct ifnet *ifp = oct->props.ifp; + if_t ifp = oct->props.ifp; struct lio *lio; if (ifp == NULL) { @@ -1951,7 +1951,7 @@ lio_destroy_nic_device(struct octeon_device *oct, int ifidx) } static void -print_link_info(struct ifnet *ifp) +print_link_info(if_t ifp) { struct lio *lio = if_getsoftc(ifp); @@ -1970,7 +1970,7 @@ print_link_info(struct ifnet *ifp) } static inline void -lio_update_link_status(struct ifnet *ifp, union octeon_link_status *ls) +lio_update_link_status(if_t ifp, union octeon_link_status *ls) { struct lio *lio = if_getsoftc(ifp); int changed = (lio->linfo.link.link_status64 != ls->link_status64); @@ -2066,7 +2066,7 @@ lio_send_rx_ctrl_cmd(struct lio *lio, int start_stop) } static void -lio_vlan_rx_add_vid(void *arg, struct ifnet *ifp, uint16_t vid) +lio_vlan_rx_add_vid(void *arg, if_t ifp, uint16_t vid) { struct lio_ctrl_pkt nctrl; struct lio *lio = if_getsoftc(ifp); @@ -2097,7 +2097,7 @@ lio_vlan_rx_add_vid(void *arg, struct ifnet *ifp, uint16_t vid) } static void -lio_vlan_rx_kill_vid(void *arg, struct ifnet *ifp, uint16_t vid) +lio_vlan_rx_kill_vid(void *arg, if_t ifp, uint16_t vid) { struct lio_ctrl_pkt nctrl; struct lio *lio = if_getsoftc(ifp); diff --git a/sys/dev/liquidio/lio_network.h b/sys/dev/liquidio/lio_network.h index 5a843e4cf8ae..b29fc200a510 100644 --- a/sys/dev/liquidio/lio_network.h +++ b/sys/dev/liquidio/lio_network.h @@ -95,7 +95,7 @@ struct lio { /* Pointer to the octeon device structure. */ struct octeon_device *oct_dev; - struct ifnet *ifp; + if_t ifp; struct ifmedia ifmedia; int if_flags; @@ -139,7 +139,7 @@ struct lio { * @param cmd Command that just requires acknowledgment * @param param1 Parameter to command */ -int lio_set_feature(struct ifnet *ifp, int cmd, uint16_t param1); +int lio_set_feature(if_t ifp, int cmd, uint16_t param1); /* * \brief Link control command completion callback diff --git a/sys/dev/liquidio/lio_rxtx.c b/sys/dev/liquidio/lio_rxtx.c index c966797c5e3c..456fcc3449d6 100644 --- a/sys/dev/liquidio/lio_rxtx.c +++ b/sys/dev/liquidio/lio_rxtx.c @@ -228,7 +228,7 @@ drop_packet: } int -lio_mq_start_locked(struct ifnet *ifp, struct lio_instr_queue *iq) +lio_mq_start_locked(if_t ifp, struct lio_instr_queue *iq) { struct lio *lio = if_getsoftc(ifp); struct mbuf *next; @@ -260,7 +260,7 @@ lio_mq_start_locked(struct ifnet *ifp, struct lio_instr_queue *iq) } int -lio_mq_start(struct ifnet *ifp, struct mbuf *m) +lio_mq_start(if_t ifp, struct mbuf *m) { struct lio *lio = if_getsoftc(ifp); struct octeon_device *oct = lio->oct_dev; @@ -300,7 +300,7 @@ lio_mq_start(struct ifnet *ifp, struct mbuf *m) } void -lio_qflush(struct ifnet *ifp) +lio_qflush(if_t ifp) { struct lio *lio = if_getsoftc(ifp); struct octeon_device *oct = lio->oct_dev; diff --git a/sys/dev/liquidio/lio_rxtx.h b/sys/dev/liquidio/lio_rxtx.h index cff25af147fb..b4059b35b1ea 100644 --- a/sys/dev/liquidio/lio_rxtx.h +++ b/sys/dev/liquidio/lio_rxtx.h @@ -80,7 +80,7 @@ union lio_tx_info { int lio_xmit(struct lio *lio, struct lio_instr_queue *iq, struct mbuf **m_headp); -int lio_mq_start_locked(struct ifnet *ifp, struct lio_instr_queue *iq); -int lio_mq_start(struct ifnet *ifp, struct mbuf *m); -void lio_qflush(struct ifnet *ifp); +int lio_mq_start_locked(if_t ifp, struct lio_instr_queue *iq); +int lio_mq_start(if_t ifp, struct mbuf *m); +void lio_qflush(if_t ifp); #endif /* _LIO_RXTX_H_ */ diff --git a/sys/dev/liquidio/lio_sysctl.c b/sys/dev/liquidio/lio_sysctl.c index cee520e63b60..c7a9bc5cda0e 100644 --- a/sys/dev/liquidio/lio_sysctl.c +++ b/sys/dev/liquidio/lio_sysctl.c @@ -105,7 +105,7 @@ struct lio_intrmod_resp { }; static int -lio_send_queue_count_update(struct ifnet *ifp, uint32_t num_queues) +lio_send_queue_count_update(if_t ifp, uint32_t num_queues) { struct lio_ctrl_pkt nctrl; struct lio *lio = if_getsoftc(ifp); @@ -732,7 +732,7 @@ lio_get_regs(SYSCTL_HANDLER_ARGS) { struct lio *lio = (struct lio *)arg1; struct octeon_device *oct = lio->oct_dev; - struct ifnet *ifp = lio->ifp; + if_t ifp = lio->ifp; char *regbuf; int error = EINVAL, len = 0; @@ -984,7 +984,7 @@ lio_get_ringparam(SYSCTL_HANDLER_ARGS) } static int -lio_reset_queues(struct ifnet *ifp, uint32_t num_qs) +lio_reset_queues(if_t ifp, uint32_t num_qs) { struct lio *lio = if_getsoftc(ifp); struct octeon_device *oct = lio->oct_dev; @@ -1254,7 +1254,7 @@ static int lio_get_set_fwmsglevel(SYSCTL_HANDLER_ARGS) { struct lio *lio = (struct lio *)arg1; - struct ifnet *ifp = lio->ifp; + if_t ifp = lio->ifp; int err, new_msglvl = 0, old_msglvl = 0; if (lio_ifstate_check(lio, LIO_IFSTATE_RESETTING)) @@ -1311,7 +1311,7 @@ lio_fw_stats_callback(struct octeon_device *oct_dev, uint32_t status, void *ptr) struct octeon_tx_stats *rsp_tstats = &resp->stats.fromhost; struct octeon_rx_stats *rstats = &oct_dev->link_stats.fromwire; struct octeon_tx_stats *tstats = &oct_dev->link_stats.fromhost; - struct ifnet *ifp = oct_dev->props.ifp; + if_t ifp = oct_dev->props.ifp; struct lio *lio = if_getsoftc(ifp); if ((status != LIO_REQUEST_TIMEOUT) && !resp->status) { @@ -1446,7 +1446,7 @@ lio_get_intrmod_callback(struct octeon_device *oct_dev, uint32_t status, void *ptr) { struct lio_soft_command *sc = (struct lio_soft_command *)ptr; - struct ifnet *ifp = oct_dev->props.ifp; + if_t ifp = oct_dev->props.ifp; struct lio *lio = if_getsoftc(ifp); struct lio_intrmod_resp *resp; From nobody Tue Feb 7 19:18:14 2023 X-Original-To: dev-commits-src-main@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 4PBCZt43HMz3nbG7; Tue, 7 Feb 2023 19:18: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCZt3RmLz4VVZ; Tue, 7 Feb 2023 19:18:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797494; 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=t7TXYBzg1+vVBvF9CasLwAd8sXTcSk2Lw65KDG2vkWI=; b=lxcK4oK/k/7BGIrTpahGFclvxfSIjqJRh4pj/AYUBEEdjJTO0anWW5Va7UCPGUlE4l+CQX ztjFtaDH41QmhcRAUEaqZdGQlCJjov0waPmZVUUNV85Yo8Jh6bhro/xTYOt//J+DQHGGEB Yr+XmgF86xfTy7IMqJdTDAIW0KDyXa4mOprqvP5z5DNP5Debq5RUPShXMr1SKor03H1s26 mkpkusjhLepc/A9QZo52z01kKHtriNVSOET2qW5Nq5In7c3ysO97jKqdCSVfgJv2sjtB7i KtN8WEhHNrqvQ+x8fmUQCcZhBMJ3E8DmU4bE3XG3y/U26ToivfALu/eO+pIUbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797494; 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=t7TXYBzg1+vVBvF9CasLwAd8sXTcSk2Lw65KDG2vkWI=; b=phFWbqcZ4ZIszeuQrMbBKQjg7xM1B4LCJwWi6usOBSOS+NSrQRYgp7EpT7yCLYuawAONzS wiS3BwxjiUMFaDSK2KeMcBz4Ugu04p8YoVf2opm2g/qRCwhFGaqs+A93TvOfWXZ9AvwLtl pL9SmizVTn0llsJR/E1wuWD5Oo9JHr0WNuQna48aCI6yD2qIBn/mKownPbGxRKKokDw0OP W5fPglpRpiGy8eTwKwbD4ysDY5H5aTOLa0Leoiw9OTK61lvkAvgO1yO+3Zhb5q2AoV5gY3 LALu7is1WFXOP7Tbu2y1ZGrLLBN9zCkqwwUQ/FzpMqOUp/l+OCO+jCRcvgohqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675797494; a=rsa-sha256; cv=none; b=xoeQJA7MXtMxJxiybyAw4FyoZD8pDL5+pOU2qL7Rhs5y5ovt+v61MbNDL7mmmtroc4iJjs b290UHP8rmvtHDt/LtjDR6KnkbivD07vlfFUQTGQuPIroQ4qgELNt2gJBMIe7mzuq+A6Te mA+VdJ0VJAx3Ebv0PtR1xGvk+4v/pWEMYNcZcfBaA8/GqJQYoFgiMEFIQ2KMqLB6NTZQuH YzgnK1dNitTGH1azFkNtc/o3TJOrNcj9bxCwCNhLlW7sM48CPR/sMGu5zUVzq1bzrD/LxI /iXorYbrwQj/rRpTDtV0g1/NLenU3WR3UrrBOyR8GrGkyXcMplvDOzChUeQRvQ== 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 4PBCZt27ZdzSnX; Tue, 7 Feb 2023 19:18:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317JIEIG049867; Tue, 7 Feb 2023 19:18:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317JIEIK049866; Tue, 7 Feb 2023 19:18:14 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:18:14 GMT Message-Id: <202302071918.317JIEIK049866@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 67fd4c9d0785 - main - Mechanically convert oce(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 67fd4c9d07853bf24978e57d665671bfae699fec Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=67fd4c9d07853bf24978e57d665671bfae699fec commit 67fd4c9d07853bf24978e57d665671bfae699fec Author: Justin Hibbits AuthorDate: 2022-08-19 15:51:49 +0000 Commit: Justin Hibbits CommitDate: 2023-02-07 19:16:17 +0000 Mechanically convert oce(4) to IfAPI Reviewed By: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37829 --- sys/dev/oce/oce_hw.c | 2 +- sys/dev/oce/oce_if.c | 201 ++++++++++++++++++++++++------------------------- sys/dev/oce/oce_if.h | 10 +-- sys/dev/oce/oce_user.h | 2 +- 4 files changed, 107 insertions(+), 108 deletions(-) diff --git a/sys/dev/oce/oce_hw.c b/sys/dev/oce/oce_hw.c index aa187e76e86b..5159b7b64fce 100644 --- a/sys/dev/oce/oce_hw.c +++ b/sys/dev/oce/oce_hw.c @@ -547,7 +547,7 @@ oce_copy_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) int oce_hw_update_multicast(POCE_SOFTC sc) { - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; struct mbx_set_common_iface_multicast *req = NULL; OCE_DMA_MEM dma; int rc = 0; diff --git a/sys/dev/oce/oce_if.c b/sys/dev/oce/oce_if.c index 0fb749a5ee29..cc8cfc3eaa8c 100644 --- a/sys/dev/oce/oce_if.c +++ b/sys/dev/oce/oce_if.c @@ -137,10 +137,10 @@ static int oce_probe(device_t dev); static int oce_attach(device_t dev); static int oce_detach(device_t dev); static int oce_shutdown(device_t dev); -static int oce_ioctl(struct ifnet *ifp, u_long command, caddr_t data); +static int oce_ioctl(if_t ifp, u_long command, caddr_t data); static void oce_init(void *xsc); -static int oce_multiq_start(struct ifnet *ifp, struct mbuf *m); -static void oce_multiq_flush(struct ifnet *ifp); +static int oce_multiq_start(if_t ifp, struct mbuf *m); +static void oce_multiq_flush(if_t ifp); /* Driver interrupt routines protypes */ static void oce_intr(void *arg, int pending); @@ -150,14 +150,14 @@ static int oce_alloc_intr(POCE_SOFTC sc, int vector, void (*isr) (void *arg, int pending)); /* Media callbacks prototypes */ -static void oce_media_status(struct ifnet *ifp, struct ifmediareq *req); -static int oce_media_change(struct ifnet *ifp); +static void oce_media_status(if_t ifp, struct ifmediareq *req); +static int oce_media_change(if_t ifp); /* Transmit routines prototypes */ static int oce_tx(POCE_SOFTC sc, struct mbuf **mpp, int wq_index); static void oce_tx_restart(POCE_SOFTC sc, struct oce_wq *wq); static void oce_process_tx_completion(struct oce_wq *wq); -static int oce_multiq_transmit(struct ifnet *ifp, struct mbuf *m, +static int oce_multiq_transmit(if_t ifp, struct mbuf *m, struct oce_wq *wq); /* Receive routines prototypes */ @@ -172,11 +172,11 @@ static void oce_rx_mbuf_chain(struct oce_rq *rq, struct oce_common_cqe_info *cqe /* Helper function prototypes in this file */ static int oce_attach_ifp(POCE_SOFTC sc); -static void oce_add_vlan(void *arg, struct ifnet *ifp, uint16_t vtag); -static void oce_del_vlan(void *arg, struct ifnet *ifp, uint16_t vtag); +static void oce_add_vlan(void *arg, if_t ifp, uint16_t vtag); +static void oce_del_vlan(void *arg, if_t ifp, uint16_t vtag); static int oce_vid_config(POCE_SOFTC sc); static void oce_mac_addr_set(POCE_SOFTC sc); -static int oce_handle_passthrough(struct ifnet *ifp, caddr_t data); +static int oce_handle_passthrough(if_t ifp, caddr_t data); static void oce_local_timer(void *arg); static void oce_if_deactivate(POCE_SOFTC sc); static void oce_if_activate(POCE_SOFTC sc); @@ -460,10 +460,10 @@ oce_shutdown(device_t dev) } static int -oce_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +oce_ioctl(if_t ifp, u_long command, caddr_t data) { struct ifreq *ifr = (struct ifreq *)data; - POCE_SOFTC sc = ifp->if_softc; + POCE_SOFTC sc = if_getsoftc(ifp); struct ifi2creq i2c; uint8_t offset = 0; int rc = 0; @@ -478,21 +478,21 @@ oce_ioctl(struct ifnet *ifp, u_long command, caddr_t data) if (ifr->ifr_mtu > OCE_MAX_MTU) rc = EINVAL; else - ifp->if_mtu = ifr->ifr_mtu; + if_setmtu(ifp, ifr->ifr_mtu); break; case SIOCSIFFLAGS: - if (ifp->if_flags & IFF_UP) { - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { - sc->ifp->if_drv_flags |= IFF_DRV_RUNNING; + if (if_getflags(ifp) & IFF_UP) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); oce_init(sc); } device_printf(sc->dev, "Interface Up\n"); } else { LOCK(&sc->dev_lock); - sc->ifp->if_drv_flags &= - ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(sc->ifp, 0, + IFF_DRV_RUNNING | IFF_DRV_OACTIVE); oce_if_deactivate(sc); UNLOCK(&sc->dev_lock); @@ -500,10 +500,10 @@ oce_ioctl(struct ifnet *ifp, u_long command, caddr_t data) device_printf(sc->dev, "Interface Down\n"); } - if ((ifp->if_flags & IFF_PROMISC) && !sc->promisc) { + if ((if_getflags(ifp) & IFF_PROMISC) && !sc->promisc) { if (!oce_rxf_set_promiscuous(sc, (1 | (1 << 1)))) sc->promisc = TRUE; - } else if (!(ifp->if_flags & IFF_PROMISC) && sc->promisc) { + } else if (!(if_getflags(ifp) & IFF_PROMISC) && sc->promisc) { if (!oce_rxf_set_promiscuous(sc, 0)) sc->promisc = FALSE; } @@ -519,54 +519,54 @@ oce_ioctl(struct ifnet *ifp, u_long command, caddr_t data) break; case SIOCSIFCAP: - u = ifr->ifr_reqcap ^ ifp->if_capenable; + u = ifr->ifr_reqcap ^ if_getcapenable(ifp); if (u & IFCAP_TXCSUM) { - ifp->if_capenable ^= IFCAP_TXCSUM; - ifp->if_hwassist ^= (CSUM_TCP | CSUM_UDP | CSUM_IP); + if_togglecapenable(ifp, IFCAP_TXCSUM); + if_togglehwassist(ifp, (CSUM_TCP | CSUM_UDP | CSUM_IP)); - if (IFCAP_TSO & ifp->if_capenable && - !(IFCAP_TXCSUM & ifp->if_capenable)) { + if (IFCAP_TSO & if_getcapenable(ifp) && + !(IFCAP_TXCSUM & if_getcapenable(ifp))) { u &= ~IFCAP_TSO; - ifp->if_capenable &= ~IFCAP_TSO; - ifp->if_hwassist &= ~CSUM_TSO; + if_setcapenablebit(ifp, 0, IFCAP_TSO); + if_sethwassistbits(ifp, 0, CSUM_TSO); if_printf(ifp, "TSO disabled due to -txcsum.\n"); } } if (u & IFCAP_RXCSUM) - ifp->if_capenable ^= IFCAP_RXCSUM; + if_togglecapenable(ifp, IFCAP_RXCSUM); if (u & IFCAP_TSO4) { - ifp->if_capenable ^= IFCAP_TSO4; + if_togglecapenable(ifp, IFCAP_TSO4); - if (IFCAP_TSO & ifp->if_capenable) { - if (IFCAP_TXCSUM & ifp->if_capenable) - ifp->if_hwassist |= CSUM_TSO; + if (IFCAP_TSO & if_getcapenable(ifp)) { + if (IFCAP_TXCSUM & if_getcapenable(ifp)) + if_sethwassistbits(ifp, CSUM_TSO, 0); else { - ifp->if_capenable &= ~IFCAP_TSO; - ifp->if_hwassist &= ~CSUM_TSO; + if_setcapenablebit(ifp, 0, IFCAP_TSO); + if_sethwassistbits(ifp, 0, CSUM_TSO); if_printf(ifp, "Enable txcsum first.\n"); rc = EAGAIN; } } else - ifp->if_hwassist &= ~CSUM_TSO; + if_sethwassistbits(ifp, 0, CSUM_TSO); } if (u & IFCAP_VLAN_HWTAGGING) - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); if (u & IFCAP_VLAN_HWFILTER) { - ifp->if_capenable ^= IFCAP_VLAN_HWFILTER; + if_togglecapenable(ifp, IFCAP_VLAN_HWFILTER); oce_vid_config(sc); } #if defined(INET6) || defined(INET) if (u & IFCAP_LRO) { - ifp->if_capenable ^= IFCAP_LRO; + if_togglecapenable(ifp, IFCAP_LRO); if(sc->enable_hwlro) { - if(ifp->if_capenable & IFCAP_LRO) { + if(if_getcapenable(ifp) & IFCAP_LRO) { rc = oce_mbox_nic_set_iface_lro_config(sc, 1); }else { rc = oce_mbox_nic_set_iface_lro_config(sc, 0); @@ -629,7 +629,7 @@ oce_init(void *arg) LOCK(&sc->dev_lock); - if (sc->ifp->if_flags & IFF_UP) { + if (if_getflags(sc->ifp) & IFF_UP) { oce_if_deactivate(sc); oce_if_activate(sc); } @@ -639,9 +639,9 @@ oce_init(void *arg) } static int -oce_multiq_start(struct ifnet *ifp, struct mbuf *m) +oce_multiq_start(if_t ifp, struct mbuf *m) { - POCE_SOFTC sc = ifp->if_softc; + POCE_SOFTC sc = if_getsoftc(ifp); struct oce_wq *wq = NULL; int queue_index = 0; int status = 0; @@ -663,9 +663,9 @@ oce_multiq_start(struct ifnet *ifp, struct mbuf *m) } static void -oce_multiq_flush(struct ifnet *ifp) +oce_multiq_flush(if_t ifp) { - POCE_SOFTC sc = ifp->if_softc; + POCE_SOFTC sc = if_getsoftc(ifp); struct mbuf *m; int i = 0; @@ -895,9 +895,9 @@ oce_intr_free(POCE_SOFTC sc) ******************************************************************************/ static void -oce_media_status(struct ifnet *ifp, struct ifmediareq *req) +oce_media_status(if_t ifp, struct ifmediareq *req) { - POCE_SOFTC sc = (POCE_SOFTC) ifp->if_softc; + POCE_SOFTC sc = (POCE_SOFTC) if_getsoftc(ifp); req->ifm_status = IFM_AVALID; req->ifm_active = IFM_ETHER; @@ -945,7 +945,7 @@ oce_media_status(struct ifnet *ifp, struct ifmediareq *req) } int -oce_media_change(struct ifnet *ifp) +oce_media_change(if_t ifp) { return 0; } @@ -1248,9 +1248,9 @@ oce_process_tx_completion(struct oce_wq *wq) m_freem(m); pd->mbuf = NULL; - if (sc->ifp->if_drv_flags & IFF_DRV_OACTIVE) { + if (if_getdrvflags(sc->ifp) & IFF_DRV_OACTIVE) { if (wq->ring->num_used < (wq->ring->num_items / 2)) { - sc->ifp->if_drv_flags &= ~(IFF_DRV_OACTIVE); + if_setdrvflagbits(sc->ifp, 0, (IFF_DRV_OACTIVE)); oce_tx_restart(sc, wq); } } @@ -1260,7 +1260,7 @@ static void oce_tx_restart(POCE_SOFTC sc, struct oce_wq *wq) { - if ((sc->ifp->if_drv_flags & IFF_DRV_RUNNING) != IFF_DRV_RUNNING) + if ((if_getdrvflags(sc->ifp) & IFF_DRV_RUNNING) != IFF_DRV_RUNNING) return; if (!drbr_empty(sc->ifp, wq->br)) @@ -1339,7 +1339,7 @@ oce_tx_task(void *arg, int npending) { struct oce_wq *wq = arg; POCE_SOFTC sc = wq->parent; - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; int rc = 0; LOCK(&wq->tx_lock); @@ -1352,14 +1352,14 @@ oce_tx_task(void *arg, int npending) } void -oce_start(struct ifnet *ifp) +oce_start(if_t ifp) { - POCE_SOFTC sc = ifp->if_softc; + POCE_SOFTC sc = if_getsoftc(ifp); struct mbuf *m; int rc = 0; int def_q = 0; /* Defualt tx queue is 0*/ - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) return; @@ -1367,7 +1367,7 @@ oce_start(struct ifnet *ifp) return; while (true) { - IF_DEQUEUE(&sc->ifp->if_snd, m); + m = if_dequeue(sc->ifp); if (m == NULL) break; @@ -1377,8 +1377,8 @@ oce_start(struct ifnet *ifp) if (rc) { if (m != NULL) { sc->wq[def_q]->tx_stats.tx_stops ++; - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - IFQ_DRV_PREPEND(&ifp->if_snd, m); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); + if_sendq_prepend(ifp, m); m = NULL; } break; @@ -1426,9 +1426,9 @@ oce_wq_handler(void *arg) } static int -oce_multiq_transmit(struct ifnet *ifp, struct mbuf *m, struct oce_wq *wq) +oce_multiq_transmit(if_t ifp, struct mbuf *m, struct oce_wq *wq) { - POCE_SOFTC sc = ifp->if_softc; + POCE_SOFTC sc = if_getsoftc(ifp); int status = 0, queue_index = 0; struct mbuf *next = NULL; struct buf_ring *br = NULL; @@ -1436,7 +1436,7 @@ oce_multiq_transmit(struct ifnet *ifp, struct mbuf *m, struct oce_wq *wq) br = wq->br; queue_index = wq->queue_index; - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) { if (m != NULL) status = drbr_enqueue(ifp, br, m); @@ -1454,7 +1454,7 @@ oce_multiq_transmit(struct ifnet *ifp, struct mbuf *m, struct oce_wq *wq) } else { drbr_putback(ifp, br, next); wq->tx_stats.tx_stops ++; - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); } break; } @@ -1645,7 +1645,7 @@ oce_rx_lro(struct oce_rq *rq, struct nic_hwlro_singleton_cqe *cqe, struct nic_hw } if_inc_counter(sc->ifp, IFCOUNTER_IPACKETS, 1); - (*sc->ifp->if_input) (sc->ifp, m); + if_input(sc->ifp, m); /* Update rx stats per queue */ rq->rx_stats.rx_pkts++; @@ -1737,7 +1737,7 @@ oce_rx(struct oce_rq *rq, struct oce_nic_rx_cqe *cqe) } #endif - (*sc->ifp->if_input) (sc->ifp, m); + if_input(sc->ifp, m); #if defined(INET6) || defined(INET) post_done: #endif @@ -2111,42 +2111,41 @@ oce_attach_ifp(POCE_SOFTC sc) ifmedia_add(&sc->media, IFM_ETHER | IFM_AUTO, 0, NULL); ifmedia_set(&sc->media, IFM_ETHER | IFM_AUTO); - sc->ifp->if_flags = IFF_BROADCAST | IFF_MULTICAST | IFF_KNOWSEPOCH; - sc->ifp->if_ioctl = oce_ioctl; - sc->ifp->if_start = oce_start; - sc->ifp->if_init = oce_init; - sc->ifp->if_mtu = ETHERMTU; - sc->ifp->if_softc = sc; - sc->ifp->if_transmit = oce_multiq_start; - sc->ifp->if_qflush = oce_multiq_flush; + if_setflags(sc->ifp, IFF_BROADCAST | IFF_MULTICAST | IFF_KNOWSEPOCH); + if_setioctlfn(sc->ifp, oce_ioctl); + if_setstartfn(sc->ifp, oce_start); + if_setinitfn(sc->ifp, oce_init); + if_setmtu(sc->ifp, ETHERMTU); + if_setsoftc(sc->ifp, sc); + if_settransmitfn(sc->ifp, oce_multiq_start); + if_setqflushfn(sc->ifp, oce_multiq_flush); if_initname(sc->ifp, device_get_name(sc->dev), device_get_unit(sc->dev)); - sc->ifp->if_snd.ifq_drv_maxlen = OCE_MAX_TX_DESC - 1; - IFQ_SET_MAXLEN(&sc->ifp->if_snd, sc->ifp->if_snd.ifq_drv_maxlen); - IFQ_SET_READY(&sc->ifp->if_snd); + if_setsendqlen(sc->ifp, OCE_MAX_TX_DESC - 1); + if_setsendqready(sc->ifp); - sc->ifp->if_hwassist = OCE_IF_HWASSIST; - sc->ifp->if_hwassist |= CSUM_TSO; - sc->ifp->if_hwassist |= (CSUM_IP | CSUM_TCP | CSUM_UDP); + if_sethwassist(sc->ifp, OCE_IF_HWASSIST); + if_sethwassistbits(sc->ifp, CSUM_TSO, 0); + if_sethwassistbits(sc->ifp, (CSUM_IP | CSUM_TCP | CSUM_UDP), 0); - sc->ifp->if_capabilities = OCE_IF_CAPABILITIES; - sc->ifp->if_capabilities |= IFCAP_HWCSUM; - sc->ifp->if_capabilities |= IFCAP_VLAN_HWFILTER; + if_setcapabilities(sc->ifp, OCE_IF_CAPABILITIES); + if_setcapabilitiesbit(sc->ifp, IFCAP_HWCSUM, 0); + if_setcapabilitiesbit(sc->ifp, IFCAP_VLAN_HWFILTER, 0); #if defined(INET6) || defined(INET) - sc->ifp->if_capabilities |= IFCAP_TSO; - sc->ifp->if_capabilities |= IFCAP_LRO; - sc->ifp->if_capabilities |= IFCAP_VLAN_HWTSO; + if_setcapabilitiesbit(sc->ifp, IFCAP_TSO, 0); + if_setcapabilitiesbit(sc->ifp, IFCAP_LRO, 0); + if_setcapabilitiesbit(sc->ifp, IFCAP_VLAN_HWTSO, 0); #endif - sc->ifp->if_capenable = sc->ifp->if_capabilities; - sc->ifp->if_baudrate = IF_Gbps(10); + if_setcapenable(sc->ifp, if_getcapabilities(sc->ifp)); + if_setbaudrate(sc->ifp, IF_Gbps(10)); - sc->ifp->if_hw_tsomax = 65536 - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN); - sc->ifp->if_hw_tsomaxsegcount = OCE_MAX_TX_ELEMENTS; - sc->ifp->if_hw_tsomaxsegsize = 4096; + if_sethwtsomax(sc->ifp, 65536 - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN)); + if_sethwtsomaxsegcount(sc->ifp, OCE_MAX_TX_ELEMENTS); + if_sethwtsomaxsegsize(sc->ifp, 4096); ether_ifattach(sc->ifp, sc->macaddr.mac_addr); @@ -2154,11 +2153,11 @@ oce_attach_ifp(POCE_SOFTC sc) } static void -oce_add_vlan(void *arg, struct ifnet *ifp, uint16_t vtag) +oce_add_vlan(void *arg, if_t ifp, uint16_t vtag) { - POCE_SOFTC sc = ifp->if_softc; + POCE_SOFTC sc = if_getsoftc(ifp); - if (ifp->if_softc != arg) + if (if_getsoftc(ifp) != arg) return; if ((vtag == 0) || (vtag > 4095)) return; @@ -2170,11 +2169,11 @@ oce_add_vlan(void *arg, struct ifnet *ifp, uint16_t vtag) } static void -oce_del_vlan(void *arg, struct ifnet *ifp, uint16_t vtag) +oce_del_vlan(void *arg, if_t ifp, uint16_t vtag) { - POCE_SOFTC sc = ifp->if_softc; + POCE_SOFTC sc = if_getsoftc(ifp); - if (ifp->if_softc != arg) + if (if_getsoftc(ifp) != arg) return; if ((vtag == 0) || (vtag > 4095)) return; @@ -2196,7 +2195,7 @@ oce_vid_config(POCE_SOFTC sc) int status = 0; if ((sc->vlans_added <= MAX_VLANFILTER_SIZE) && - (sc->ifp->if_capenable & IFCAP_VLAN_HWFILTER)) { + (if_getcapenable(sc->ifp) & IFCAP_VLAN_HWFILTER)) { for (i = 0; i < MAX_VLANS; i++) { if (sc->vlan_tag[i]) { vtags[ntags].vtag = i; @@ -2218,16 +2217,16 @@ oce_mac_addr_set(POCE_SOFTC sc) uint32_t old_pmac_id = sc->pmac_id; int status = 0; - status = bcmp((IF_LLADDR(sc->ifp)), sc->macaddr.mac_addr, + status = bcmp((if_getlladdr(sc->ifp)), sc->macaddr.mac_addr, sc->macaddr.size_of_struct); if (!status) return; - status = oce_mbox_macaddr_add(sc, (uint8_t *)(IF_LLADDR(sc->ifp)), + status = oce_mbox_macaddr_add(sc, (uint8_t *)(if_getlladdr(sc->ifp)), sc->if_id, &sc->pmac_id); if (!status) { status = oce_mbox_macaddr_del(sc, sc->if_id, old_pmac_id); - bcopy((IF_LLADDR(sc->ifp)), sc->macaddr.mac_addr, + bcopy((if_getlladdr(sc->ifp)), sc->macaddr.mac_addr, sc->macaddr.size_of_struct); } if (status) @@ -2236,9 +2235,9 @@ oce_mac_addr_set(POCE_SOFTC sc) } static int -oce_handle_passthrough(struct ifnet *ifp, caddr_t data) +oce_handle_passthrough(if_t ifp, caddr_t data) { - POCE_SOFTC sc = ifp->if_softc; + POCE_SOFTC sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *)data; int rc = ENXIO; char cookie[32] = {0}; @@ -2516,7 +2515,7 @@ oce_if_deactivate(POCE_SOFTC sc) struct oce_wq *wq; struct oce_eq *eq; - sc->ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(sc->ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); oce_tx_compl_clean(sc); @@ -2563,7 +2562,7 @@ oce_if_activate(POCE_SOFTC sc) struct oce_wq *wq; int i, rc = 0; - sc->ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(sc->ifp, IFF_DRV_RUNNING , 0); oce_hw_intr_disable(sc); diff --git a/sys/dev/oce/oce_if.h b/sys/dev/oce/oce_if.h index c7386aab68f8..6c24bc7d0134 100644 --- a/sys/dev/oce/oce_if.h +++ b/sys/dev/oce/oce_if.h @@ -818,7 +818,7 @@ typedef struct oce_softc { int intr_count; int roce_intr_count; - struct ifnet *ifp; + if_t ifp; struct ifmedia media; uint8_t link_status; @@ -1080,7 +1080,7 @@ uint16_t oce_mq_handler(void *arg); * Transmit functions ************************************************************/ uint16_t oce_wq_handler(void *arg); -void oce_start(struct ifnet *ifp); +void oce_start(if_t ifp); void oce_tx_task(void *arg, int npending); /************************************************************ @@ -1129,9 +1129,9 @@ extern uint32_t oce_rq_buf_size; #define ADDR_HI(x) ((uint32_t)((uint64_t)(x) >> 32)) #define ADDR_LO(x) ((uint32_t)((uint64_t)(x) & 0xffffffff)); -#define IF_LRO_ENABLED(sc) (((sc)->ifp->if_capenable & IFCAP_LRO) ? 1:0) -#define IF_LSO_ENABLED(sc) (((sc)->ifp->if_capenable & IFCAP_TSO4) ? 1:0) -#define IF_CSUM_ENABLED(sc) (((sc)->ifp->if_capenable & IFCAP_HWCSUM) ? 1:0) +#define IF_LRO_ENABLED(sc) ((if_getcapenable((sc)->ifp) & IFCAP_LRO) ? 1:0) +#define IF_LSO_ENABLED(sc) ((if_getcapenable((sc)->ifp) & IFCAP_TSO4) ? 1:0) +#define IF_CSUM_ENABLED(sc) ((if_getcapenable((sc)->ifp) & IFCAP_HWCSUM) ? 1:0) #define OCE_LOG2(x) (oce_highbit(x)) static inline uint32_t oce_highbit(uint32_t x) diff --git a/sys/dev/oce/oce_user.h b/sys/dev/oce/oce_user.h index b38665898270..46d68bb1b64e 100644 --- a/sys/dev/oce/oce_user.h +++ b/sys/dev/oce/oce_user.h @@ -54,7 +54,7 @@ enum oce_interrupt_mode { struct oce_dev_info { device_t dev; - struct ifnet *ifp; + if_t ifp; struct oce_softc *softc; bus_space_handle_t db_bhandle; From nobody Tue Feb 7 19:18:15 2023 X-Original-To: dev-commits-src-main@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 4PBCZw1Cctz3nbSf; Tue, 7 Feb 2023 19:18: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCZv4NKQz4VSw; Tue, 7 Feb 2023 19:18:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797495; 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=0Ez2Jij4vqQtv5WrQOSe/ik5SrHb2vNf3YiSrwPZ4Ao=; b=eOozLOAriLYOEl3Q2TD1we9Fv9MN6DL61mW4ojEIfgZfN6zGlNODdvc1EwV8aw3kauhmhH QzjqKPjNxdYc6JrLIFKh1kAypZPHQ6mcoq01rQbXkDQISVJ7E0BSk3ieffpNsSzo+yM7bH mPOyvmzikaWQ0cHSdMHGRhOzkFrmKLCht3CS2X7IQPpuCOcu98VW1/sHVg3NTpw1oMI8/b no+bWd5hc1VvcAmYr/F/45xQaSmG8rlW6K8Z1gbng+NWOQKkUv0dndcVTIHvLJyxZEC8jG gd8TkHf8dlCcU4XFWhkrqUElYe6haQzzfzRgF9wTvCkFfXXWMP+yyRP4ndmytg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797495; 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=0Ez2Jij4vqQtv5WrQOSe/ik5SrHb2vNf3YiSrwPZ4Ao=; b=VQxd3M+iuWFVP1lVVf+txQKlvRr1OcyjW8cRtxQJreYHON6LlHXYHxsxUr/vrZ21P7mfwf WzIuYq38VIe4APfuvFpAKP5kZf+pnHUAhnn20LBgDwSrzI37Pvwm3dy7G+i80YJO23xCOB HxPCHM+VbgsFW8B6TT5SC/GVp1EiU4ptBBba9u4IB50R8jp9Tb/j6s/Kn54tJkADPb0B6f 7WF5nB4a06XlZaANPM90JWe5g8d0mISY5eNhl41z6DfgrM+Vh62rpQndLlt883yjOgKW5K nVny2y6xFddkyitn9r9moQQ6kRbiWSvhyTFgCZcv1LW9D53vsSDBiHOYrPHLhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675797495; a=rsa-sha256; cv=none; b=oxzVfiInjIeHEwmrFlcJ2PAuPvPtHwO1upZ9Hg4e6hZJ8pKlOzaCrVFFSyj6SftL+HjD7y AlvZInxULxf7j5wQ7FDb32ncTNd+G71h7dRsBpyFasqOAkQjQd1yz+FiFgWxF2044mA0PV oJK7Y8Y+cAVaYPkVazUEd+WhFlzjP9b6XdkjtoIDTK+Yg9iL55/OTLSYIFpfyEpDxf8g9J x5XMr8J8o7ad7Lqxd5zkW7i1cnYhQ9QgQoPSdAybgh/s1ZJ09KV2UJiRu6ciWlOBxax/A7 5YFyYqmI8RPoYbO93owUPgj/g6vu4jf522uajDXBwmF1HSjabQ3F1EUG4LEwxw== 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 4PBCZv3RsVzSd2; Tue, 7 Feb 2023 19:18:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317JIFqq049891; Tue, 7 Feb 2023 19:18:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317JIF2r049890; Tue, 7 Feb 2023 19:18:15 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:18:15 GMT Message-Id: <202302071918.317JIF2r049890@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 37d22ce08707 - main - Mechanically convert mana to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 37d22ce087076df172005d52a0f4877f1c4fba8b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=37d22ce087076df172005d52a0f4877f1c4fba8b commit 37d22ce087076df172005d52a0f4877f1c4fba8b Author: Justin Hibbits AuthorDate: 2022-08-19 16:06:32 +0000 Commit: Justin Hibbits CommitDate: 2023-02-07 19:16:18 +0000 Mechanically convert mana to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37835 --- sys/dev/mana/mana.h | 14 ++++---- sys/dev/mana/mana_en.c | 88 +++++++++++++++++++++++++------------------------- 2 files changed, 51 insertions(+), 51 deletions(-) diff --git a/sys/dev/mana/mana.h b/sys/dev/mana/mana.h index cb5ee66c2331..8784044d0cf0 100644 --- a/sys/dev/mana/mana.h +++ b/sys/dev/mana/mana.h @@ -155,7 +155,7 @@ struct mana_txq { uint16_t vp_offset; - struct ifnet *ndev; + if_t ndev; /* Store index to the array of tx_qp in port structure */ int idx; /* The alternative txq idx when this txq is under heavy load */ @@ -416,7 +416,7 @@ struct mana_rxq { struct mana_cq rx_cq; - struct ifnet *ndev; + if_t ndev; struct lro_ctrl lro; /* Total number of receive buffers to be allocated */ @@ -461,12 +461,12 @@ struct mana_context { struct mana_eq *eqs; - struct ifnet *ports[MAX_PORTS_IN_MANA_DEV]; + if_t ports[MAX_PORTS_IN_MANA_DEV]; }; struct mana_port_context { struct mana_context *ac; - struct ifnet *ndev; + if_t ndev; struct ifmedia media; struct sx apc_lock; @@ -533,9 +533,9 @@ struct mana_port_context { int mana_config_rss(struct mana_port_context *ac, enum TRI_STATE rx, bool update_hash, bool update_tab); -int mana_alloc_queues(struct ifnet *ndev); -int mana_attach(struct ifnet *ndev); -int mana_detach(struct ifnet *ndev); +int mana_alloc_queues(if_t ndev); +int mana_attach(if_t ndev); +int mana_detach(if_t ndev); int mana_probe(struct gdma_dev *gd); void mana_remove(struct gdma_dev *gd); diff --git a/sys/dev/mana/mana_en.c b/sys/dev/mana/mana_en.c index 5a95eff66ab6..9d9a4084efe1 100644 --- a/sys/dev/mana/mana_en.c +++ b/sys/dev/mana/mana_en.c @@ -86,13 +86,13 @@ mana_rss_key_fill(void *k, size_t size) } static int -mana_ifmedia_change(struct ifnet *ifp __unused) +mana_ifmedia_change(if_t ifp __unused) { return EOPNOTSUPP; } static void -mana_ifmedia_status(struct ifnet *ifp, struct ifmediareq *ifmr) +mana_ifmedia_status(if_t ifp, struct ifmediareq *ifmr) { struct mana_port_context *apc = if_getsoftc(ifp); @@ -119,7 +119,7 @@ mana_ifmedia_status(struct ifnet *ifp, struct ifmediareq *ifmr) } static uint64_t -mana_get_counter(struct ifnet *ifp, ift_counter cnt) +mana_get_counter(if_t ifp, ift_counter cnt) { struct mana_port_context *apc = if_getsoftc(ifp); struct mana_port_stats *stats = &apc->port_stats; @@ -143,7 +143,7 @@ mana_get_counter(struct ifnet *ifp, ift_counter cnt) } static void -mana_qflush(struct ifnet *ifp) +mana_qflush(if_t ifp) { if_qflush(ifp); } @@ -164,7 +164,7 @@ mana_restart(struct mana_port_context *apc) } static int -mana_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +mana_ioctl(if_t ifp, u_long command, caddr_t data) { struct mana_port_context *apc = if_getsoftc(ifp); struct ifrsskey *ifrk; @@ -177,7 +177,7 @@ mana_ioctl(struct ifnet *ifp, u_long command, caddr_t data) case SIOCSIFMTU: ifr = (struct ifreq *)data; new_mtu = ifr->ifr_mtu; - if (ifp->if_mtu == new_mtu) + if (if_getmtu(ifp) == new_mtu) break; if ((new_mtu + 18 > MAX_FRAME_SIZE) || (new_mtu + 18 < MIN_FRAME_SIZE)) { @@ -199,15 +199,15 @@ mana_ioctl(struct ifnet *ifp, u_long command, caddr_t data) break; case SIOCSIFFLAGS: - if (ifp->if_flags & IFF_UP) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if (if_getflags(ifp) & IFF_UP) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { MANA_APC_LOCK_LOCK(apc); if (!apc->port_is_up) rc = mana_up(apc); MANA_APC_LOCK_UNLOCK(apc); } } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { MANA_APC_LOCK_LOCK(apc); if (apc->port_is_up) mana_down(apc); @@ -416,7 +416,7 @@ mana_xmit(struct mana_txq *txq) { enum mana_tx_pkt_format pkt_fmt = MANA_SHORT_PKT_FMT; struct mana_send_buf_info *tx_info; - struct ifnet *ndev = txq->ndev; + if_t ndev = txq->ndev; struct mbuf *mbuf; struct mana_port_context *apc = if_getsoftc(ndev); struct mana_port_stats *port_stats = &apc->port_stats; @@ -584,7 +584,7 @@ static void mana_xmit_taskfunc(void *arg, int pending) { struct mana_txq *txq = (struct mana_txq *)arg; - struct ifnet *ndev = txq->ndev; + if_t ndev = txq->ndev; struct mana_port_context *apc = if_getsoftc(ndev); while (!drbr_empty(ndev, txq->txq_br) && apc->port_is_up && @@ -717,7 +717,7 @@ mana_mbuf_csum_check(struct mbuf *mbuf) } static int -mana_start_xmit(struct ifnet *ifp, struct mbuf *m) +mana_start_xmit(if_t ifp, struct mbuf *m) { struct mana_port_context *apc = if_getsoftc(ifp); struct mana_txq *txq; @@ -1073,7 +1073,7 @@ mana_cfg_vport_steering(struct mana_port_context *apc, uint16_t num_entries = MANA_INDIRECT_TABLE_SIZE; struct mana_cfg_rx_steer_req *req = NULL; struct mana_cfg_rx_steer_resp resp = {}; - struct ifnet *ndev = apc->ndev; + if_t ndev = apc->ndev; mana_handle_t *req_indir_tab; uint32_t req_buf_size; int err; @@ -1142,7 +1142,7 @@ mana_create_wq_obj(struct mana_port_context *apc, { struct mana_create_wqobj_resp resp = {}; struct mana_create_wqobj_req req = {}; - struct ifnet *ndev = apc->ndev; + if_t ndev = apc->ndev; int err; mana_gd_init_req_hdr(&req.hdr, MANA_CREATE_WQ_OBJ, @@ -1194,7 +1194,7 @@ mana_destroy_wq_obj(struct mana_port_context *apc, uint32_t wq_type, { struct mana_destroy_wqobj_resp resp = {}; struct mana_destroy_wqobj_req req = {}; - struct ifnet *ndev = apc->ndev; + if_t ndev = apc->ndev; int err; mana_gd_init_req_hdr(&req.hdr, MANA_DESTROY_WQ_OBJ, @@ -1359,7 +1359,7 @@ mana_poll_tx_cq(struct mana_cq *cq) struct mana_txq *txq = cq->txq; struct mana_port_context *apc; uint16_t next_to_complete; - struct ifnet *ndev; + if_t ndev; int comp_read; int txq_idx = txq->idx;; int i; @@ -1550,7 +1550,7 @@ mana_rx_mbuf(struct mbuf *mbuf, struct mana_rxcomp_oob *cqe, struct mana_rxq *rxq) { struct mana_stats *rx_stats = &rxq->stats; - struct ifnet *ndev = rxq->ndev; + if_t ndev = rxq->ndev; uint32_t pkt_len = cqe->ppi[0].pkt_len; uint16_t rxq_idx = rxq->rxq_idx; struct mana_port_context *apc; @@ -1569,8 +1569,8 @@ mana_rx_mbuf(struct mbuf *mbuf, struct mana_rxcomp_oob *cqe, mbuf->m_len = pkt_len; mbuf->m_pkthdr.rcvif = ndev; - if ((ndev->if_capenable & IFCAP_RXCSUM || - ndev->if_capenable & IFCAP_RXCSUM_IPV6) && + if ((if_getcapenable(ndev) & IFCAP_RXCSUM || + if_getcapenable(ndev) & IFCAP_RXCSUM_IPV6) && (cqe->rx_iphdr_csum_succeed)) { mbuf->m_pkthdr.csum_flags = CSUM_IP_CHECKED; mbuf->m_pkthdr.csum_flags |= CSUM_IP_VALID; @@ -1629,13 +1629,13 @@ mana_rx_mbuf(struct mbuf *mbuf, struct mana_rxcomp_oob *cqe, } do_if_input = true; - if ((ndev->if_capenable & IFCAP_LRO) && do_lro) { + if ((if_getcapenable(ndev) & IFCAP_LRO) && do_lro) { if (rxq->lro.lro_cnt != 0 && tcp_lro_rx(&rxq->lro, mbuf, 0) == 0) do_if_input = false; } if (do_if_input) { - ndev->if_input(ndev, mbuf); + if_input(ndev, mbuf); } counter_enter(); @@ -1652,7 +1652,7 @@ mana_process_rx_cqe(struct mana_rxq *rxq, struct mana_cq *cq, { struct mana_rxcomp_oob *oob = (struct mana_rxcomp_oob *)cqe->cqe_data; struct mana_recv_buf_oob *rxbuf_oob; - struct ifnet *ndev = rxq->ndev; + if_t ndev = rxq->ndev; struct mana_port_context *apc; struct mbuf *old_mbuf; uint32_t curr, pktlen; @@ -1938,7 +1938,7 @@ mana_destroy_txq(struct mana_port_context *apc) } static int -mana_create_txq(struct mana_port_context *apc, struct ifnet *net) +mana_create_txq(struct mana_port_context *apc, if_t net) { struct mana_context *ac = apc->ac; struct gdma_dev *gd = ac->gdma_dev; @@ -2248,7 +2248,7 @@ mana_push_wqe(struct mana_rxq *rxq) static struct mana_rxq * mana_create_rxq(struct mana_port_context *apc, uint32_t rxq_idx, - struct mana_eq *eq, struct ifnet *ndev) + struct mana_eq *eq, if_t ndev) { struct gdma_dev *gd = apc->ac->gdma_dev; struct mana_obj_spec wq_spec; @@ -2289,7 +2289,7 @@ mana_create_rxq(struct mana_port_context *apc, uint32_t rxq_idx, goto out; /* Create LRO for the RQ */ - if (ndev->if_capenable & IFCAP_LRO) { + if (if_getcapenable(ndev) & IFCAP_LRO) { err = tcp_lro_init(&rxq->lro); if (err) { if_printf(ndev, "Failed to create LRO for rxq %d\n", @@ -2408,7 +2408,7 @@ out: } static int -mana_add_rx_queues(struct mana_port_context *apc, struct ifnet *ndev) +mana_add_rx_queues(struct mana_port_context *apc, if_t ndev) { struct mana_context *ac = apc->ac; struct mana_rxq *rxq; @@ -2451,7 +2451,7 @@ mana_destroy_vport(struct mana_port_context *apc) } static int -mana_create_vport(struct mana_port_context *apc, struct ifnet *net) +mana_create_vport(struct mana_port_context *apc, if_t net) { struct gdma_dev *gd = apc->ac->gdma_dev; int err; @@ -2498,7 +2498,7 @@ int mana_config_rss(struct mana_port_context *apc, enum TRI_STATE rx, } static int -mana_init_port(struct ifnet *ndev) +mana_init_port(if_t ndev) { struct mana_port_context *apc = if_getsoftc(ndev); uint32_t max_txq, max_rxq, max_queues; @@ -2536,7 +2536,7 @@ reset_apc: } int -mana_alloc_queues(struct ifnet *ndev) +mana_alloc_queues(if_t ndev) { struct mana_port_context *apc = if_getsoftc(ndev); int err; @@ -2605,7 +2605,7 @@ mana_init(void *arg) } static int -mana_dealloc_queues(struct ifnet *ndev) +mana_dealloc_queues(if_t ndev) { struct mana_port_context *apc = if_getsoftc(ndev); struct mana_txq *txq; @@ -2683,7 +2683,7 @@ mana_down(struct mana_port_context *apc) } int -mana_detach(struct ifnet *ndev) +mana_detach(if_t ndev) { struct mana_port_context *apc = if_getsoftc(ndev); int err; @@ -2708,11 +2708,11 @@ mana_detach(struct ifnet *ndev) static int mana_probe_port(struct mana_context *ac, int port_idx, - struct ifnet **ndev_storage) + if_t *ndev_storage) { struct gdma_context *gc = ac->gdma_dev->gdma_context; struct mana_port_context *apc; - struct ifnet *ndev; + if_t ndev; int err; ndev = if_alloc_dev(IFT_ETHER, gc->dev); @@ -2764,20 +2764,20 @@ mana_probe_port(struct mana_context *ac, int port_idx, if (err) goto reset_apc; - ndev->if_capabilities |= IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6; - ndev->if_capabilities |= IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6; - ndev->if_capabilities |= IFCAP_TSO4 | IFCAP_TSO6; - - ndev->if_capabilities |= IFCAP_LRO | IFCAP_LINKSTATE; + if_setcapabilitiesbit(ndev, + IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6 | + IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6 | + IFCAP_TSO4 | IFCAP_TSO6 | + IFCAP_LRO | IFCAP_LINKSTATE, 0); /* Enable all available capabilities by default. */ - ndev->if_capenable = ndev->if_capabilities; + if_setcapenable(ndev, if_getcapabilities(ndev)); /* TSO parameters */ - ndev->if_hw_tsomax = MAX_MBUF_FRAGS * MANA_TSO_MAXSEG_SZ - - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN); - ndev->if_hw_tsomaxsegcount = MAX_MBUF_FRAGS; - ndev->if_hw_tsomaxsegsize = PAGE_SIZE; + if_sethwtsomax(ndev, MAX_MBUF_FRAGS * MANA_TSO_MAXSEG_SZ - + (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN)); + if_sethwtsomaxsegcount(ndev, MAX_MBUF_FRAGS); + if_sethwtsomaxsegsize(ndev, PAGE_SIZE); ifmedia_init(&apc->media, IFM_IMASK, mana_ifmedia_change, mana_ifmedia_status); @@ -2862,7 +2862,7 @@ mana_remove(struct gdma_dev *gd) struct gdma_context *gc = gd->gdma_context; struct mana_context *ac = gd->driver_data; device_t dev = gc->dev; - struct ifnet *ndev; + if_t ndev; int i; for (i = 0; i < ac->num_ports; i++) { From nobody Tue Feb 7 19:18:16 2023 X-Original-To: dev-commits-src-main@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 4PBCZx0Pt6z3nbGB; Tue, 7 Feb 2023 19:18: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCZw5K3nz4VR2; Tue, 7 Feb 2023 19:18:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797496; 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=GGz/gFUVX2btWEJw2Vjbfj+2TwRfXvDqaPXDE2qpuiE=; b=gHbwZsdsyVW5J0YDSF0yOxvG7pJgubjAgwGaKTfW+zMngrJGt5bxUmLHLhyQMdI6jz/W+O tNv5lN/XaLnaRFAQVFMeOvHHefdVZPARU+4o77kwt0VzmT2YUV7PgieX80biIzBRfBwvNy 4nQvhMp5jRhGkFekPv7BtFlMoOf6plmeOONaaMDGiMrrXo3QPWmvT5ChJokCmo0Buy96c6 ZFP85KzGcTdmrz38wn9rwo1gOpxu4fDCo9vZa+/p7hsI++f5r/XiUjVQ3ymqk3k2Io0Oip I5lDWNiCRMaZbfmtF4i/fHtIVS3PlACjNWMZfC0N4yOhX80FhVXNaqbg5uNt4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797496; 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=GGz/gFUVX2btWEJw2Vjbfj+2TwRfXvDqaPXDE2qpuiE=; b=G8V/s+YZKfJF+72WXX1vnp9GGrT3fQBbkvVZKb/1A1j0C4Vos1WMYD0a9s0UvOSir2NcEl zJFbnSXZk39DUqSnqG8ejZ5jzbemgp8buXOK7E+2RcnYlr4c6qB6TyJdUpx8JQCiy6lYRu B0iR8TKRxsEDOG991RQD17T6dlaYM+z9l4db1msynwwNE2Exn9mity+jTvgN7JgRxPuvwK IkJs1tr9LxXRxjm8Gk2tTue1YVDAKkm5e5WrobwbYnxq/2YlhjlCTWfgUWOfxdTfsvolk+ 5X1EzTluM8x1IEPDv6VAtErVFlnPuWhY3BFT+T3qkErjKag8SZ+BzbJcZbHKdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675797496; a=rsa-sha256; cv=none; b=ASt0DCbH13J1Ws/rFAsjc+/6PQMyatOXhSPx1eb2gGa8LSdPAZPYs0ZxrQxSkdD63WYTtW 9/bmg4pXKelH78cFOPy+IlrvJ9pW/tufe1/R+ZOz/X+QBFmv0/XLi6pptK50LSXDZZ6JhS Uqg7VZZkE+Rm2OsgtTv/4EGduxNv9w/H9DTD6TXHkbgrEJO5zdGGb0DH6cpoMNCbBWuBtf tdPmbmCR68YD3BYZra2bicVTxCYi+FHTcl6J1uFaMgSX8ehfhOeT4lLApRXGZSJGteoWFz 3+5Zs99GedBWBERoxT2HXpqO0LgkVeASZAWTgSq4INnyopTPsBJQk/lJ0gTsSQ== 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 4PBCZw4LYszSVs; Tue, 7 Feb 2023 19:18:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317JIGoW049921; Tue, 7 Feb 2023 19:18:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317JIG6q049920; Tue, 7 Feb 2023 19:18:16 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:18:16 GMT Message-Id: <202302071918.317JIG6q049920@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: b34a60c54f31 - main - Mechanically convert vtbe(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b34a60c54f31512fe27913acd371183a9a52c7f4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=b34a60c54f31512fe27913acd371183a9a52c7f4 commit b34a60c54f31512fe27913acd371183a9a52c7f4 Author: Justin Hibbits AuthorDate: 2022-08-19 19:47:32 +0000 Commit: Justin Hibbits CommitDate: 2023-02-07 19:16:18 +0000 Mechanically convert vtbe(4) to IfAPI Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37844 --- sys/dev/beri/virtio/network/if_vtbe.c | 73 +++++++++++++++++------------------ 1 file changed, 36 insertions(+), 37 deletions(-) diff --git a/sys/dev/beri/virtio/network/if_vtbe.c b/sys/dev/beri/virtio/network/if_vtbe.c index 263c0b334447..9ab66f753fc6 100644 --- a/sys/dev/beri/virtio/network/if_vtbe.c +++ b/sys/dev/beri/virtio/network/if_vtbe.c @@ -114,7 +114,7 @@ struct vtbe_softc { bus_space_tag_t bst; bus_space_handle_t bsh; device_t dev; - struct ifnet *ifp; + if_t ifp; int if_flags; struct mtx mtx; boolean_t is_attached; @@ -146,7 +146,7 @@ vtbe_txstart_locked(struct vtbe_softc *sc) struct virtio_net_hdr *vnh; struct vqueue_info *vq; struct iovec *tiov; - struct ifnet *ifp; + if_t ifp; struct mbuf *m; struct uio uio; int enqueued; @@ -165,7 +165,7 @@ vtbe_txstart_locked(struct vtbe_softc *sc) } ifp = sc->ifp; - if (ifp->if_drv_flags & IFF_DRV_OACTIVE) { + if (if_getdrvflags(ifp) & IFF_DRV_OACTIVE) { return; } @@ -178,11 +178,11 @@ vtbe_txstart_locked(struct vtbe_softc *sc) for (;;) { if (!vq_has_descs(vq)) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); if (m == NULL) { break; } @@ -230,9 +230,9 @@ vtbe_txstart_locked(struct vtbe_softc *sc) } static void -vtbe_txstart(struct ifnet *ifp) +vtbe_txstart(if_t ifp) { - struct vtbe_softc *sc = ifp->if_softc; + struct vtbe_softc *sc = if_getsoftc(ifp); VTBE_LOCK(sc); vtbe_txstart_locked(sc); @@ -242,25 +242,25 @@ vtbe_txstart(struct ifnet *ifp) static void vtbe_stop_locked(struct vtbe_softc *sc) { - struct ifnet *ifp; + if_t ifp; VTBE_ASSERT_LOCKED(sc); ifp = sc->ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); } static void vtbe_init_locked(struct vtbe_softc *sc) { - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; VTBE_ASSERT_LOCKED(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) return; - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); } static void @@ -274,34 +274,34 @@ vtbe_init(void *if_softc) } static int -vtbe_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +vtbe_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct ifmediareq *ifmr; struct vtbe_softc *sc; struct ifreq *ifr; int mask, error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; error = 0; switch (cmd) { case SIOCSIFFLAGS: VTBE_LOCK(sc); - if (ifp->if_flags & IFF_UP) { + if (if_getflags(ifp) & IFF_UP) { pio_enable_irq(sc, 1); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { vtbe_init_locked(sc); } } else { pio_enable_irq(sc, 0); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { vtbe_stop_locked(sc); } } - sc->if_flags = ifp->if_flags; + sc->if_flags = if_getflags(ifp); VTBE_UNLOCK(sc); break; case SIOCADDMULTI: @@ -316,9 +316,9 @@ vtbe_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) ifmr->ifm_current = ifmr->ifm_active; break; case SIOCSIFCAP: - mask = ifp->if_capenable ^ ifr->ifr_reqcap; + mask = if_getcapenable(ifp) ^ ifr->ifr_reqcap; if (mask & IFCAP_VLAN_MTU) { - ifp->if_capenable ^= IFCAP_VLAN_MTU; + if_togglecapenable(ifp, IFCAP_VLAN_MTU); } break; @@ -335,7 +335,7 @@ vtbe_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) static void vtbe_txfinish_locked(struct vtbe_softc *sc) { - struct ifnet *ifp; + if_t ifp; VTBE_ASSERT_LOCKED(sc); @@ -388,7 +388,7 @@ vtbe_proc_rx(struct vtbe_softc *sc, struct vqueue_info *vq) { struct iovec iov[DESC_COUNT]; struct iovec *tiov; - struct ifnet *ifp; + if_t ifp; struct uio uio; struct mbuf *m; int iolen; @@ -426,9 +426,9 @@ vtbe_proc_rx(struct vtbe_softc *sc, struct vqueue_info *vq) if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); - CURVNET_SET(ifp->if_vnet); + CURVNET_SET(if_getvnet(ifp)); VTBE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); VTBE_LOCK(sc); CURVNET_RESTORE(); @@ -563,7 +563,7 @@ vtbe_attach(device_t dev) { uint8_t macaddr[ETHER_ADDR_LEN]; struct vtbe_softc *sc; - struct ifnet *ifp; + if_t ifp; int reg; sc = device_get_softc(dev); @@ -613,20 +613,19 @@ vtbe_attach(device_t dev) /* Set up the ethernet interface. */ sc->ifp = ifp = if_alloc(IFT_ETHER); - ifp->if_baudrate = IF_Gbps(10); - ifp->if_softc = sc; + if_setbaudrate(ifp, IF_Gbps(10)); + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = (IFF_BROADCAST | IFF_SIMPLEX | + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST | IFF_PROMISC); - ifp->if_capabilities = IFCAP_VLAN_MTU; - ifp->if_capenable = ifp->if_capabilities; - ifp->if_start = vtbe_txstart; - ifp->if_ioctl = vtbe_ioctl; - ifp->if_init = vtbe_init; - IFQ_SET_MAXLEN(&ifp->if_snd, DESC_COUNT - 1); - ifp->if_snd.ifq_drv_maxlen = DESC_COUNT - 1; - IFQ_SET_READY(&ifp->if_snd); - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setcapabilities(ifp, IFCAP_VLAN_MTU); + if_setcapenable(ifp, if_getcapabilities(ifp)); + if_setstartfn(ifp, vtbe_txstart); + if_setioctlfn(ifp, vtbe_ioctl); + if_setinitfn(ifp, vtbe_init); + if_setsendqlen(ifp, DESC_COUNT - 1); + if_setsendqready(ifp); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); /* All ready to run, attach the ethernet interface. */ ether_ifattach(ifp, macaddr); From nobody Tue Feb 7 19:20:32 2023 X-Original-To: dev-commits-src-main@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 4PBCdX2jC9z3nbbH; Tue, 7 Feb 2023 19:20:32 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBCdX21Tvz4ZBG; Tue, 7 Feb 2023 19:20:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797632; 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=gytMakM14EXpLxbw9zoYVZMJBaOHt9xjgw2VzFkBnjI=; b=QDXy33IeraTdraFl+HEKds6POcD1AX9xuoGK2Gjqu6hZ979YvTuotn0JkxLBhSuLG0B5Ql J51+pBBAC4Sx+xEEjSuS/5oeaR4TFp9g7ofwvB86I/8RYp/acUhjCVnl8OXAO5FYLK5tVP 9P62b47v958dVUst6xaY8hFR/3Q1Qqqnw7SCHmKARF704qdhoyn/Z6mLu0X2OaUhTNexeq u/M6UFuHfFCPsgTHEKi5xt/iHRSoZ3KgIuHkpE04Deg4C9eWZGcqmiwFezGsYgdj/kxBL6 byB18bXaHY02sO+agBt7zT2NTIpwi/jHQSXNX1t0Woe1M5sAEcBaOC2JNbmg0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675797632; 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=gytMakM14EXpLxbw9zoYVZMJBaOHt9xjgw2VzFkBnjI=; b=rEdf/kYKMancFYah/kVXRxJLZLV5RgK9uZVyCcEy/bBB7WZGxA+lbeideMTnOPoBigjNnr sOrow6nb8mucnFx+FnLFYFniOfNulmNHj1c+l+tQ5lNIwyUyXpTz/KtDwxFz9d/bOQwQAc vNlomc8N+hjBFnXIfRbcI/6z9Ay+aIKH7iXtqi4mjqH3v4R9UKUMuVPuEITkrm/gFjK6Vq kE6ZcrnPJ+JdiVgU1oA9a8CNfp85r0PRnxdRXXMRAeOrT/olWVpg8lerF5EOs079rUA9Su isSp21efaYqizJLgbLNzSLhEP0L4i8uzbDteXQbO4u2LF56Jtp0iN64/hlEakw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675797632; a=rsa-sha256; cv=none; b=GizxZxwYUVuHBUXG7svSfL7O1vBrn4zZTxg9kMUOKSfB1S9FerBhVpU3088wZw4ghQ2/W9 eov2nUooocqw9ENocr5wOaZWlJpHvIo1MPLf/BOpbqKVkbmg2oBCHTCT1YTwi9OFRQL4OF z28CUIom+uQXqDNQxmEzgNk2sJku4CFVn/H2Gx0PFHoLNPOyg69+/SJKh3G1cfuua2RTuO oXiyFmAgWQ7V4R2+iNGubLItt2EHUupnYxOzpxXmd4YExwQAOmm4ik6s8LpCNECurdbCZM 8jPBBG7hRN+6kbO+LatzFvlmvAPnVcaje4zREezYA0WTHh294LxG23vQN8NHMQ== 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 4PBCdX15D0zSrQ; Tue, 7 Feb 2023 19:20:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317JKW19059005; Tue, 7 Feb 2023 19:20:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317JKWJe059004; Tue, 7 Feb 2023 19:20:32 GMT (envelope-from git) Date: Tue, 7 Feb 2023 19:20:32 GMT Message-Id: <202302071920.317JKWJe059004@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: bef67a0f1597 - main - mvneta: add the missing include opt_mvneta.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bef67a0f1597616a2915c9236b6c031fdbb6fd67 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=bef67a0f1597616a2915c9236b6c031fdbb6fd67 commit bef67a0f1597616a2915c9236b6c031fdbb6fd67 Author: Mateusz Guzik AuthorDate: 2023-02-07 19:20:05 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-07 19:20:05 +0000 mvneta: add the missing include opt_mvneta.h Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/dev/neta/if_mvnetareg.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/dev/neta/if_mvnetareg.h b/sys/dev/neta/if_mvnetareg.h index ccc4644534e0..c504c73feeb9 100644 --- a/sys/dev/neta/if_mvnetareg.h +++ b/sys/dev/neta/if_mvnetareg.h @@ -32,6 +32,8 @@ #ifndef _IF_MVNETAREG_H_ #define _IF_MVNETAREG_H_ +#include "opt_mvneta.h" + #if BYTE_ORDER == BIG_ENDIAN #error "BIG ENDIAN not supported" #endif From nobody Tue Feb 7 20:02:44 2023 X-Original-To: dev-commits-src-main@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 4PBDZD4pffz3ndvf; Tue, 7 Feb 2023 20:02: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBDZD4DkKz4kqL; Tue, 7 Feb 2023 20:02:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675800164; 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=E4xkjn4kX01KresN9pdnTGXojMjqVubC5GoLTVu9Vh0=; b=COZS+ClXSawvDGteviCkHVehX9nrHNEntN0N9N2jNDXMqg03JOzjHujSVUBF31M/FE18C4 t7nYhSHBUNuVcMQxxwJBNSituySwfw7lVkQHhUwF8EfbrGe+d4gUEjGhbxc24KmyazkOdN jIbyYBPVbogzeEbqLA5bHJgVAevHIt/PXv/InIDQDWtUlUZJRReemP/oTy9aZiJ8MIbTFg tFKmT0X3nu2EIsK/P+LgnRUsEV1DcO5kEwLeOcKmlmISMo23QHcq69BeOAUFSh+LYOBvph 0ZvZsouz1VgwFzd+JnP9rcu/S7CmKjyl/eyQsa/+D/44hm79hKvHKjJ6dKWQJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675800164; 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=E4xkjn4kX01KresN9pdnTGXojMjqVubC5GoLTVu9Vh0=; b=hzhJdEIWuntfLxwoSAddDkf5vS0zpUTe5XTptiuMfqiVBXlIugz+cpGRiSi6eyBxPstdAI le9kT93ymPWK1WkK1A/nKs61T5EYrSSZ2nvdO/xdXhHXrU9I3RrPAQzTNF+qZBdSbwY0rC nHyu0WuYqcTaroBgFjmAqN/0lfbV9CbY95eX2prP3+2wz8zC9L3dibMUiEr2IaEqkH8h+i ylqjWWD+4DCHiHtk6VMseSJhhqPe9bY953gqkO3ZU6Tjuc8TOcrRYr0n6+ahsEEISXwdAl uLgOEI3jMazjzdjuCeZfL9vEEafrng7hQvIwQJIV4NdYyqjQNeB4esiHHeKHVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675800164; a=rsa-sha256; cv=none; b=Syj18FiJiF2WZ1jEY7eMfuS1D9n/yeuhXWBfolD94qPsmcMgAiFVDGxGIwa5aVENEO1qGL w7KyM2ujkGz0PQxVV99FToXAG27es/7P2zDKF0/s3pnWI0HKqdH8MBGEDaGi/wTTV+8kLh LfhaEffb1Ju76BA0ksRGeB0ljmYgebPuQWXHmCJQJDBiQIut9bMgSvtFurZF3+aZOJnTng wJy8uv3ksr7KEH+NTr9ByuUBGBPIiJqZgh+RfmkUbKESe/MM7p8dimd4per7td0BE7joOp ThmvJYLTyzOm5Lyh8StQdwZHShytIBDlJH/PUyrEEpmQ088AH/6lQ/Hp2CU8EQ== 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 4PBDZD3FxPzVTC; Tue, 7 Feb 2023 20:02:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317K2iAd022085; Tue, 7 Feb 2023 20:02:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317K2i05022084; Tue, 7 Feb 2023 20:02:44 GMT (envelope-from git) Date: Tue, 7 Feb 2023 20:02:44 GMT Message-Id: <202302072002.317K2i05022084@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 9aff05bb1c0d - main - tcp_var.h: Fix spelling of independent in comment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9aff05bb1c0de72708736d8e2adc8417e0d17c1d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9aff05bb1c0de72708736d8e2adc8417e0d17c1d commit 9aff05bb1c0de72708736d8e2adc8417e0d17c1d Author: John Baldwin AuthorDate: 2023-02-07 20:01:29 +0000 Commit: John Baldwin CommitDate: 2023-02-07 20:01:29 +0000 tcp_var.h: Fix spelling of independent in comment --- sys/netinet/tcp_var.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index 5afd492189e3..68c2c3f9d9e6 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -139,7 +139,7 @@ typedef enum { * Tcp control block, one per tcp connection. */ struct tcpcb { - struct inpcb t_inpcb; /* embedded protocol indepenent cb */ + struct inpcb t_inpcb; /* embedded protocol independent cb */ #define t_start_zero t_fb #define t_zero_size (sizeof(struct tcpcb) - \ offsetof(struct tcpcb, t_start_zero)) From nobody Tue Feb 7 20:11:45 2023 X-Original-To: dev-commits-src-main@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 4PBDmf36W6z3nfNV; Tue, 7 Feb 2023 20:11: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBDmf0JQKz3CcH; Tue, 7 Feb 2023 20:11:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675800706; 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=Pe0iQj4ZcdP9r+EYqBhTNOviJftVNpYJeL1OxsmSdVs=; b=krgrRu9Ekot8ngC/yfWgN2FGpTswYjIC285v9hIbLgga7G97slupnD7rFaEsXruHI22FgJ L3PwB/0VpkjrCAa1xajL5+h5pET1lBG2P/fO1uvfEqfQgP40P3SLhNzH+FlylmkNBpOdkc JfAR0w9Y7dkAOnCkbew0lk+sdv6ve/XZLyjVJ7qHJWOJ4dKdvWc7a8x4Gcw6yjr7xlf/Vq JdBQ5ATT5v2ZXY2kCnIWqP3bAWgtFb93vFsCtG28JhTQ7iqAXAVylkSXi5FT0IDLm6TzOH 34bvQPv2kWalgV709P9SpwUJSP8xGj9yRUnI5B9x0q9PNUPl7SfnsHrtPw4rUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675800706; 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=Pe0iQj4ZcdP9r+EYqBhTNOviJftVNpYJeL1OxsmSdVs=; b=wL4jyS8mjG/my4Ygi6ATQEuMqKfVKbqJY3rkzQdaJ0bg69087xo4a+IMyNoe+g8/O05sAF Q8Pbr9UpZ5bc5frM8eSE2O5y3oYZ+jZPZzHgdngqy4IoY6zOKjHgVRTCmwTtzJziQC03t0 lHr6AHafxm2vdDOKA85AdN6vQTJPNj3tMLnTUKS2DMasq1UxagthV38mIh+isE5ItRvYrw m/5qAQNr+wo1wXUWif+if0H8xRVIzPLgsm3sNKI8NEnTZV4XSAvrqlKbomsqExyHsgG73N tQW6fjclb0xqX5IYUsHpx3ho6vkDNyywrLfB8pxaAcT5fA3HDpwG0iG9k2DxGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675800706; a=rsa-sha256; cv=none; b=t9MjntEKM6G1wu1lfx3vxhG49IjI+OVZxrdSQ24wIaKj2C+0FTgkEUEz6fvBuIrTxIqdd6 HZcIEDu5EmICBFWlttzn+U5RD2/jANfaPpOsnfN7V/M+ci0cn6J1HG4A9jbHUWf1W/Onuk R1mwjOjhIh1hlP+UFrkFLDHtEg/OJ+fXBx6OzI0M9Mzsr3DkhAFx/5jwidkw27KansJZGO svaprd6pyRApKuKTU9+uSKjSDLQ5faXw5yWHCn6kf7y5Jhfl9MXB++Tsa3QzW26wPXW4st Zqtrfz/6T0ltJAzAAr2wuT6lI32xXz2/JXLCzHPu+okuY2WM9wX7Zj5EXolBEA== 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 4PBDmd6VyTzVxT; Tue, 7 Feb 2023 20:11:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317KBjRC036187; Tue, 7 Feb 2023 20:11:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317KBj12036186; Tue, 7 Feb 2023 20:11:45 GMT (envelope-from git) Date: Tue, 7 Feb 2023 20:11:45 GMT Message-Id: <202302072011.317KBj12036186@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 7bb441c86678 - main - libdwarf: Add some constants from DWARF 5 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 7bb441c866781ec14b3e79a4f3e95fd319ab7ff9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7bb441c866781ec14b3e79a4f3e95fd319ab7ff9 commit 7bb441c866781ec14b3e79a4f3e95fd319ab7ff9 Author: Mark Johnston AuthorDate: 2023-02-07 19:33:27 +0000 Commit: Mark Johnston CommitDate: 2023-02-07 20:10:24 +0000 libdwarf: Add some constants from DWARF 5 This is not exhaustive - DWARF 5 has some new enumeration types not implemented here - but I think I caught all the ones that are extended in DWARF 5, plus the new compilation unit type (DW_UT_*), needed when parsing .debug_info headers. These were useful when extending libdwarf/ctfconvert/readelf to handle DWARF generated by gcc 12, which is version 5 by default. Reviewed by: emaste MFC after: 3 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38273 --- contrib/elftoolchain/libdwarf/Version.map | 1 + contrib/elftoolchain/libdwarf/dwarf.h | 83 +++++++++++ contrib/elftoolchain/libdwarf/dwarf_dump.c | 168 +++++++++++++++++++++- contrib/elftoolchain/libdwarf/dwarf_get_AT_name.3 | 11 +- contrib/elftoolchain/libdwarf/libdwarf.h | 1 + lib/libdwarf/Makefile | 1 + 6 files changed, 263 insertions(+), 2 deletions(-) diff --git a/contrib/elftoolchain/libdwarf/Version.map b/contrib/elftoolchain/libdwarf/Version.map index 669f70e44dac..6714457e7ede 100644 --- a/contrib/elftoolchain/libdwarf/Version.map +++ b/contrib/elftoolchain/libdwarf/Version.map @@ -100,6 +100,7 @@ global: dwarf_get_OP_name; dwarf_get_ORD_name; dwarf_get_TAG_name; + dwarf_get_UT_name; dwarf_get_VIRTUALITY_name; dwarf_get_VIS_name; dwarf_get_abbrev; diff --git a/contrib/elftoolchain/libdwarf/dwarf.h b/contrib/elftoolchain/libdwarf/dwarf.h index 8f3733566527..99e934078e7d 100644 --- a/contrib/elftoolchain/libdwarf/dwarf.h +++ b/contrib/elftoolchain/libdwarf/dwarf.h @@ -90,6 +90,14 @@ #define DW_TAG_type_unit 0x41 #define DW_TAG_rvalue_reference_type 0x42 #define DW_TAG_template_alias 0x43 +#define DW_TAG_coarray_type 0x44 +#define DW_TAG_generic_subrange 0x45 +#define DW_TAG_dynamic_type 0x46 +#define DW_TAG_atomic_type 0x47 +#define DW_TAG_call_site 0x48 +#define DW_TAG_call_site_parameter 0x49 +#define DW_TAG_skeleton_unit 0x4a +#define DW_TAG_immutable_type 0x4b #define DW_TAG_lo_user 0x4080 #define DW_TAG_hi_user 0xffff @@ -205,6 +213,35 @@ #define DW_AT_const_expr 0x6c #define DW_AT_enum_class 0x6d #define DW_AT_linkage_name 0x6e +#define DW_AT_string_length_bit_size 0x6f +#define DW_AT_string_length_byte_size 0x70 +#define DW_AT_rank 0x71 +#define DW_AT_str_offsets_base 0x72 +#define DW_AT_addr_base 0x73 +#define DW_AT_rnglists_base 0x74 +#define DW_AT_dwo_name 0x76 +#define DW_AT_reference 0x77 +#define DW_AT_rvalue_reference 0x78 +#define DW_AT_macros 0x79 +#define DW_AT_call_all_calls 0x7a +#define DW_AT_call_all_source_calls 0x7b +#define DW_AT_call_all_tail_calls 0x7c +#define DW_AT_call_return_pc 0x7d +#define DW_AT_call_value 0x7e +#define DW_AT_call_origin 0x7f +#define DW_AT_call_parameter 0x80 +#define DW_AT_call_pc 0x81 +#define DW_AT_call_tail_call 0x82 +#define DW_AT_call_target 0x83 +#define DW_AT_call_target_clobbered 0x84 +#define DW_AT_call_data_location 0x85 +#define DW_AT_call_data_value 0x86 +#define DW_AT_noreturn 0x87 +#define DW_AT_alignment 0x88 +#define DW_AT_export_symbols 0x89 +#define DW_AT_deleted 0x8a +#define DW_AT_defaulted 0x8b +#define DW_AT_loclists_base 0x8c #define DW_AT_lo_user 0x2000 #define DW_AT_hi_user 0x3fff @@ -292,7 +329,25 @@ #define DW_FORM_sec_offset 0x17 #define DW_FORM_exprloc 0x18 #define DW_FORM_flag_present 0x19 +#define DW_FORM_strx 0x1a +#define DW_FORM_addrx 0x1b +#define DW_FORM_ref_sup4 0x1c +#define DW_FORM_strp_sup 0x1d +#define DW_FORM_data16 0x1e +#define DW_FORM_line_strp 0x1f #define DW_FORM_ref_sig8 0x20 +#define DW_FORM_implicit_const 0x21 +#define DW_FORM_loclistx 0x22 +#define DW_FORM_rnglistx 0x23 +#define DW_FORM_ref_sup8 0x24 +#define DW_FORM_ref_strx1 0x25 +#define DW_FORM_ref_strx2 0x26 +#define DW_FORM_ref_strx3 0x27 +#define DW_FORM_ref_strx4 0x28 +#define DW_FORM_ref_addrx1 0x29 +#define DW_FORM_ref_addrx2 0x2a +#define DW_FORM_ref_addrx3 0x2b +#define DW_FORM_ref_addrx4 0x2c #define DW_FORM_GNU_ref_alt 0x1f20 #define DW_FORM_GNU_strp_alt 0x1f21 @@ -450,6 +505,16 @@ #define DW_OP_bit_piece 0x9d #define DW_OP_implicit_value 0x9e #define DW_OP_stack_value 0x9f +#define DW_OP_implicit_pointer 0xa0 +#define DW_OP_addrx 0xa1 +#define DW_OP_constx 0xa2 +#define DW_OP_entry_value 0xa3 +#define DW_OP_const_type 0xa4 +#define DW_OP_regval_type 0xa5 +#define DW_OP_deref_type 0xa6 +#define DW_OP_xderef_type 0xa7 +#define DW_OP_convert 0xa8 +#define DW_OP_reinterpret 0xa9 #define DW_OP_lo_user 0xe0 #define DW_OP_hi_user 0xff @@ -483,6 +548,9 @@ #define DW_ATE_signed_fixed 0xd #define DW_ATE_unsigned_fixed 0xe #define DW_ATE_decimal_float 0xf +#define DW_ATE_UTF 0x10 +#define DW_ATE_UCS 0x11 +#define DW_ATE_ASCII 0x12 #define DW_ATE_lo_user 0x80 #define DW_ATE_hi_user 0xff @@ -553,6 +621,8 @@ #define DW_CC_normal 0x01 #define DW_CC_program 0x02 #define DW_CC_nocall 0x03 +#define DW_CC_pass_by_reference 0x04 +#define DW_CC_pass_by_value 0x05 #define DW_CC_lo_user 0x40 #define DW_CC_hi_user 0xff @@ -649,4 +719,17 @@ #define DW_EH_PE_aligned 0x50 #define DW_EH_PE_omit 0xff +/* + * Compilation unit types. DWARF5 only. + */ + +#define DW_UT_compile 0x01 +#define DW_UT_type 0x02 +#define DW_UT_partial 0x03 +#define DW_UT_skeleton 0x04 +#define DW_UT_split_compile 0x05 +#define DW_UT_split_type 0x06 +#define DW_UT_lo_user 0x80 +#define DW_UT_hi_user 0xff + #endif /* !_DWARF_H_ */ diff --git a/contrib/elftoolchain/libdwarf/dwarf_dump.c b/contrib/elftoolchain/libdwarf/dwarf_dump.c index fe61bffc6a17..e847d8e443f2 100644 --- a/contrib/elftoolchain/libdwarf/dwarf_dump.c +++ b/contrib/elftoolchain/libdwarf/dwarf_dump.c @@ -250,6 +250,64 @@ dwarf_get_AT_name(unsigned attr, const char **s) *s = "DW_AT_visibility"; break; case DW_AT_vtable_elem_location: *s = "DW_AT_vtable_elem_location"; break; + case DW_AT_string_length_bit_size: + *s = "DW_AT_string_length_bit_size"; break; + case DW_AT_string_length_byte_size: + *s = "DW_AT_string_length_byte_size"; break; + case DW_AT_rank: + *s = "DW_AT_rank"; break; + case DW_AT_str_offsets_base: + *s = "DW_AT_str_offsets_base"; break; + case DW_AT_addr_base: + *s = "DW_AT_addr_base"; break; + case DW_AT_rnglists_base: + *s = "DW_AT_rnglists_base"; break; + case DW_AT_dwo_name: + *s = "DW_AT_dwo_name"; break; + case DW_AT_reference: + *s = "DW_AT_reference"; break; + case DW_AT_rvalue_reference: + *s = "DW_AT_rvalue_reference"; break; + case DW_AT_macros: + *s = "DW_AT_macros"; break; + case DW_AT_call_all_calls: + *s = "DW_AT_call_all_calls"; break; + case DW_AT_call_all_source_calls: + *s = "DW_AT_call_all_source_calls"; break; + case DW_AT_call_all_tail_calls: + *s = "DW_AT_call_all_tail_calls"; break; + case DW_AT_call_return_pc: + *s = "DW_AT_call_return_pc"; break; + case DW_AT_call_value: + *s = "DW_AT_call_value"; break; + case DW_AT_call_origin: + *s = "DW_AT_call_origin"; break; + case DW_AT_call_parameter: + *s = "DW_AT_call_parameter"; break; + case DW_AT_call_pc: + *s = "DW_AT_call_pc"; break; + case DW_AT_call_tail_call: + *s = "DW_AT_call_tail_call"; break; + case DW_AT_call_target: + *s = "DW_AT_call_target"; break; + case DW_AT_call_target_clobbered: + *s = "DW_AT_call_target_clobbered"; break; + case DW_AT_call_data_location: + *s = "DW_AT_call_data_location"; break; + case DW_AT_call_data_value: + *s = "DW_AT_call_data_value"; break; + case DW_AT_noreturn: + *s = "DW_AT_noreturn"; break; + case DW_AT_alignment: + *s = "DW_AT_alignment"; break; + case DW_AT_export_symbols: + *s = "DW_AT_export_symbols"; break; + case DW_AT_deleted: + *s = "DW_AT_deleted"; break; + case DW_AT_defaulted: + *s = "DW_AT_defaulted"; break; + case DW_AT_loclists_base: + *s = "DW_AT_loclists_base"; break; case DW_AT_sf_names: *s = "DW_AT_sf_names"; break; case DW_AT_src_info: @@ -371,7 +429,7 @@ dwarf_get_ATE_name(unsigned ate, const char **s) assert(s != NULL); - switch(ate) { + switch (ate) { case DW_ATE_address: *s = "DW_ATE_address"; break; case DW_ATE_boolean: @@ -402,6 +460,12 @@ dwarf_get_ATE_name(unsigned ate, const char **s) *s = "DW_ATE_unsigned_fixed"; break; case DW_ATE_decimal_float: *s = "DW_ATE_decimal_float"; break; + case DW_ATE_UTF: + *s = "DW_ATE_UTF"; break; + case DW_ATE_UCS: + *s = "DW_ATE_UCS"; break; + case DW_ATE_ASCII: + *s = "DW_ATE_ASCII"; break; case DW_ATE_lo_user: *s = "DW_ATE_lo_user"; break; case DW_ATE_hi_user: @@ -426,6 +490,10 @@ dwarf_get_CC_name(unsigned cc, const char **s) *s = "DW_CC_program"; break; case DW_CC_nocall: *s = "DW_CC_nocall"; break; + case DW_CC_pass_by_reference: + *s = "DW_CC_pass_by_reference"; break; + case DW_CC_pass_by_value: + *s = "DW_CC_pass_by_value"; break; case DW_CC_lo_user: *s = "DW_CC_lo_user"; break; case DW_CC_hi_user: @@ -582,6 +650,42 @@ dwarf_get_FORM_name(unsigned form, const char **s) *s = "DW_FORM_strp"; break; case DW_FORM_udata: *s = "DW_FORM_udata"; break; + case DW_FORM_strx: + *s = "DW_FORM_strx"; break; + case DW_FORM_addrx: + *s = "DW_FORM_addrx"; break; + case DW_FORM_ref_sup4: + *s = "DW_FORM_ref_sup4"; break; + case DW_FORM_strp_sup: + *s = "DW_FORM_strp_sup"; break; + case DW_FORM_data16: + *s = "DW_FORM_data16"; break; + case DW_FORM_line_strp: + *s = "DW_FORM_line_strp"; break; + case DW_FORM_implicit_const: + *s = "DW_FORM_implicit_const"; break; + case DW_FORM_loclistx: + *s = "DW_FORM_loclistx"; break; + case DW_FORM_rnglistx: + *s = "DW_FORM_rnglistx"; break; + case DW_FORM_ref_sup8: + *s = "DW_FORM_ref_sup8"; break; + case DW_FORM_ref_strx1: + *s = "DW_FORM_ref_strx1"; break; + case DW_FORM_ref_strx2: + *s = "DW_FORM_ref_strx2"; break; + case DW_FORM_ref_strx3: + *s = "DW_FORM_ref_strx3"; break; + case DW_FORM_ref_strx4: + *s = "DW_FORM_ref_strx4"; break; + case DW_FORM_ref_addrx1: + *s = "DW_FORM_ref_addrx1"; break; + case DW_FORM_ref_addrx2: + *s = "DW_FORM_ref_addrx2"; break; + case DW_FORM_ref_addrx3: + *s = "DW_FORM_ref_addrx3"; break; + case DW_FORM_ref_addrx4: + *s = "DW_FORM_ref_addrx4"; break; default: return (DW_DLV_NO_ENTRY); } @@ -1238,6 +1342,26 @@ dwarf_get_OP_name(unsigned op, const char **s) *s = "DW_OP_implicit_value"; break; case DW_OP_stack_value: *s = "DW_OP_stack_value"; break; + case DW_OP_implicit_pointer: + *s = "DW_OP_implicit_pointer"; break; + case DW_OP_addrx: + *s = "DW_OP_addrx"; break; + case DW_OP_constx: + *s = "DW_OP_constx"; break; + case DW_OP_entry_value: + *s = "DW_OP_entry_value"; break; + case DW_OP_const_type: + *s = "DW_OP_const_type"; break; + case DW_OP_regval_type: + *s = "DW_OP_regval_type"; break; + case DW_OP_deref_type: + *s = "DW_OP_deref_type"; break; + case DW_OP_xderef_type: + *s = "DW_OP_xderef_type"; break; + case DW_OP_convert: + *s = "DW_OP_convert"; break; + case DW_OP_reinterpret: + *s = "DW_OP_reinterpret"; break; case DW_OP_GNU_push_tls_address: *s = "DW_OP_GNU_push_tls_address"; break; case DW_OP_GNU_uninit: @@ -1414,6 +1538,22 @@ dwarf_get_TAG_name(unsigned tag, const char **s) *s = "DW_TAG_volatile_type"; break; case DW_TAG_with_stmt: *s = "DW_TAG_with_stmt"; break; + case DW_TAG_coarray_type: + *s = "DW_TAG_coarray_type"; break; + case DW_TAG_generic_subrange: + *s = "DW_TAG_generic_subrange"; break; + case DW_TAG_dynamic_type: + *s = "DW_TAG_dynamic_type"; break; + case DW_TAG_atomic_type: + *s = "DW_TAG_atomic_type"; break; + case DW_TAG_call_site: + *s = "DW_TAG_call_site"; break; + case DW_TAG_call_site_parameter: + *s = "DW_TAG_call_site_parameter"; break; + case DW_TAG_skeleton_unit: + *s = "DW_TAG_skeleton_unit"; break; + case DW_TAG_immutable_type: + *s = "DW_TAG_immutable_type"; break; case DW_TAG_format_label: *s = "DW_TAG_format_label"; break; case DW_TAG_function_template: @@ -1441,6 +1581,32 @@ dwarf_get_TAG_name(unsigned tag, const char **s) return (DW_DLV_OK); } +int +dwarf_get_UT_name(unsigned unit_type, const char **s) +{ + + assert(s != NULL); + + switch (unit_type) { + case DW_UT_compile: + *s = "DW_UT_compile"; break; + case DW_UT_type: + *s = "DW_UT_type"; break; + case DW_UT_partial: + *s = "DW_UT_partial"; break; + case DW_UT_skeleton: + *s = "DW_UT_skeleton"; break; + case DW_UT_split_compile: + *s = "DW_UT_split_compile"; break; + case DW_UT_split_type: + *s = "DW_UT_split_type"; break; + default: + return (DW_DLV_NO_ENTRY); + } + + return (DW_DLV_OK); +} + int dwarf_get_VIRTUALITY_name(unsigned vir, const char **s) { diff --git a/contrib/elftoolchain/libdwarf/dwarf_get_AT_name.3 b/contrib/elftoolchain/libdwarf/dwarf_get_AT_name.3 index f84202664557..4beb430f6006 100644 --- a/contrib/elftoolchain/libdwarf/dwarf_get_AT_name.3 +++ b/contrib/elftoolchain/libdwarf/dwarf_get_AT_name.3 @@ -24,7 +24,7 @@ .\" .\" $Id: dwarf_get_AT_name.3 3644 2018-10-15 19:55:01Z jkoshy $ .\" -.Dd April 22, 2011 +.Dd January 30, 2023 .Dt DWARF_GET_AT_NAME 3 .Os .Sh NAME @@ -48,6 +48,7 @@ .Nm dwarf_get_OP_name , .Nm dwarf_get_ORD_name , .Nm dwarf_get_TAG_name , +.Nm dwarf_get_UT_name , .Nm dwarf_get_VIRTUALITY_name , .Nm dwarf_get_VIS_name .Nd retrieve the symbolic names of DWARF constants @@ -156,6 +157,11 @@ .Fa "char **str" .Fc .Ft int +.Fo dwarf_get_UT_name +.Fa "unsigned unit_type" +.Fa "const char **str" +.Fc +.Ft int .Fo dwarf_get_VIRTUALITY_name .Fa "unsigned val" .Fa "char **str" @@ -241,6 +247,9 @@ constants. .It Fn dwarf_get_TAG_name .Dv DW_TAG_* constants. +.It Fn dwarf_get_UT_name +.Dv DW_UT_* +constants. .It Fn dwarf_get_VIRTUALITY_name .Dv DW_VIRTUALITY_* constants. diff --git a/contrib/elftoolchain/libdwarf/libdwarf.h b/contrib/elftoolchain/libdwarf/libdwarf.h index b1f9e0c8abc7..0aa1857e3285 100644 --- a/contrib/elftoolchain/libdwarf/libdwarf.h +++ b/contrib/elftoolchain/libdwarf/libdwarf.h @@ -600,6 +600,7 @@ int dwarf_get_MACINFO_name(unsigned, const char **); int dwarf_get_OP_name(unsigned, const char **); int dwarf_get_ORD_name(unsigned, const char **); int dwarf_get_TAG_name(unsigned, const char **); +int dwarf_get_UT_name(unsigned, const char **); int dwarf_get_VIRTUALITY_name(unsigned, const char **); int dwarf_get_VIS_name(unsigned, const char **); int dwarf_get_abbrev(Dwarf_Debug, Dwarf_Unsigned, Dwarf_Abbrev *, diff --git a/lib/libdwarf/Makefile b/lib/libdwarf/Makefile index 994c0bc5c1fa..f6d3f384cb15 100644 --- a/lib/libdwarf/Makefile +++ b/lib/libdwarf/Makefile @@ -281,6 +281,7 @@ MLINKS+= \ dwarf_get_AT_name.3 dwarf_get_OP_name.3 \ dwarf_get_AT_name.3 dwarf_get_ORD_name.3 \ dwarf_get_AT_name.3 dwarf_get_TAG_name.3 \ + dwarf_get_AT_name.3 dwarf_get_UT_name.3 \ dwarf_get_AT_name.3 dwarf_get_VIRTUALITY_name.3 \ dwarf_get_AT_name.3 dwarf_get_VIS_name.3 \ dwarf_get_cu_die_offset.3 dwarf_get_arange_cu_header_offset.3 \ From nobody Tue Feb 7 20:11:46 2023 X-Original-To: dev-commits-src-main@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 4PBDmg5RgXz3nfQJ; Tue, 7 Feb 2023 20:11: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBDmg11FZz3Cp4; Tue, 7 Feb 2023 20:11:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675800707; 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=oKFUluUkSYlsML9llB2OB8gn/grKvI+FHNrBliocCA4=; b=nXURlanheTZFLJewMoCk32R+UO0YVmpf0XkBk3dTd3f/L7HEsqwfoBWfRJ5P+q/9jPc26r NpIfRuZE58JAEBmyPOCpmNxv0CkgPL3vX6iYuoDrHcvlqrySiVwEIlsuLLTCdKtlNzG6jz pCQ+HvODrhs3qAE6pkC0QqGcl/IM9B9Tj+BSjPwCYXE6BOinZOm1Q6UMq3DAzYg0FCgBTr c74rYy59tQg/ofBjfKUiU0pKGGGC0N2Q47nUFCC58qok69ItQe205CkI509Lseoyehdv1i UYifaFOOwcTlrYaFHNH8BxKVytGoZ3MbbnuF0TwJaC+4e1+6qRAZb9+cMStnJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675800707; 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=oKFUluUkSYlsML9llB2OB8gn/grKvI+FHNrBliocCA4=; b=reNqqKXEzOMCfZDTTxHq+kIwC8eSD3kFwJzdzuMYbIPFiz3wtA6L/Y5ro+PynWuCFU8BDA JVeqTWPUqj7ZuVtABQucGpT/YaOMbuTi/TlNDwqO7iuHDJQqu+ScYjsT2r26MkwT8pvBID AbJmRvbUgt+8Pr4BPnME62/LVT40UqkSXpSWnlunyXckK5MC/E3BpbJlZvLRdifbnid8qo wiJ2eVWjbB+hvY4/oyi5SZoSOwwIcvdeYilIcBblch6sLpuKy4dTtdQCGK7Oy0vE8CERBd 45ZhvfOtYyER7sj9OFVnAXX/iY58AnqTdzXyA+0jYRJ6X/5ILeRYbYeh6vQOwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675800707; a=rsa-sha256; cv=none; b=dnhRWqZPblYDVBqO2L12xDJoFKCOYNR8KJQ/3l0VbVJVw1+KL6yUfqp/jKxNMLgbtkdJIT dRJQ2fpfHvMc4f3RvxvHGdHM3Q/NiI5H+7NkzEqGAL/gG6Wcb2nIYmBcu3TmDDo5ELASqW tYXmQXA+udsZg/BSgy9F6zXaXkdBT/9omr3uROBX7V1TVO+aSsqpU44W3n5SSTOe1F4MFX x1FRlgtZiaoi/2ogrSgaHHONWzFzu2foJnqadtvMSn+aK+AZqs0OxJMlVrjupZGWg2QsRY vOGUVEmFcFzVxpbZuDFhcJXzMAN/PS9ILYlxuAktbGdjiChwu/KUQnX9BKNZPQ== 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 4PBDmg0606zVTk; Tue, 7 Feb 2023 20:11:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317KBk2O036211; Tue, 7 Feb 2023 20:11:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317KBkfF036210; Tue, 7 Feb 2023 20:11:46 GMT (envelope-from git) Date: Tue, 7 Feb 2023 20:11:46 GMT Message-Id: <202302072011.317KBkfF036210@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 3bc099eb7120 - main - bridge: Make the ioctl table local to if_bridge.c List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 3bc099eb71200b843de94b8e84b30b152a38f2f4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3bc099eb71200b843de94b8e84b30b152a38f2f4 commit 3bc099eb71200b843de94b8e84b30b152a38f2f4 Author: Mark Johnston AuthorDate: 2023-02-07 19:34:37 +0000 Commit: Mark Johnston CommitDate: 2023-02-07 20:10:24 +0000 bridge: Make the ioctl table local to if_bridge.c No functional change intended. MFC after: 1 week Sponsored by: Klara, Inc. --- sys/net/if_bridge.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 67d031a65052..5a4954e84869 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -478,7 +478,7 @@ struct bridge_control { #define BC_F_COPYOUT 0x02 /* copy arguments out */ #define BC_F_SUSER 0x04 /* do super-user check */ -const struct bridge_control bridge_control_table[] = { +static const struct bridge_control bridge_control_table[] = { { bridge_ioctl_add, sizeof(struct ifbreq), BC_F_COPYIN|BC_F_SUSER }, { bridge_ioctl_del, sizeof(struct ifbreq), @@ -563,7 +563,7 @@ const struct bridge_control bridge_control_table[] = { BC_F_COPYIN|BC_F_SUSER }, }; -const int bridge_control_table_size = nitems(bridge_control_table); +static const int bridge_control_table_size = nitems(bridge_control_table); VNET_DEFINE_STATIC(LIST_HEAD(, bridge_softc), bridge_list); #define V_bridge_list VNET(bridge_list) From nobody Tue Feb 7 20:11:48 2023 X-Original-To: dev-commits-src-main@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 4PBDmh36jCz3nfQL; Tue, 7 Feb 2023 20:11: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBDmh1ztZz3CYr; Tue, 7 Feb 2023 20:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675800708; 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=iz/43V29gzQlQ3bG18rV8lPYOPP4qaeQEKlLMu2RxjM=; b=pTjnb3g+10ZaJG5YLyMPbUjL+qOpLMdfOCEr5c2YYtnHZSK+ifNfmbe9PtvlrlYHt9ioqG oXeINdAM8aid3UZrjdDZ8yHGDwedbWsZPdnAasEW8RaGnUVIvvq/yxldRqK0tPiZVSfi9l /kWT82tjVuSPLIO+00r56RH7nZia3TdfPGgK966C/G9cj7iJ9LLv2XEBPvoHTl3PZzKTlm 5nQ+ClQdsDPn9iV493XqRJGkfrqe3nXR33kRKOLsuxmsLlVm+sTgFeSDFyRJJzGRpV1NHT BA+OGPrirWStDhLLAbZuPpdiFjpqaOwa+U5yJ+UY5lunSda7wP+pf3pRd2UmgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675800708; 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=iz/43V29gzQlQ3bG18rV8lPYOPP4qaeQEKlLMu2RxjM=; b=RQeVGmKWHwCRZ5hzVEsV/ciSzs3XYXUF7XitMRwIacPRQDTPnAlP/jQDm9E2seRFuwR2VW GWbCL9osYq47eXGkBG/56Dg4tG+Re8GITlVRgYPcLWz8oua/nxxjgjG/nDJbMXQQm176c6 lpUvnA2oTCPuc+IsjlActbWqdY0IPRxxSVErW7lpk5SvoOlOrw5js1ugRoVprX3GYru/+Y zyEtPKbJfbdANMqb91uDsA9z3DEqmG0oB42KfAZoyAnWril4JHvXgcTITMg50kV0NuWPYO 7J/T66YJhUIDgOwqVHyIbDlvixiSJco0Hv1ZZQ/pxkvHYMPHcsY0UkQTJ5CWEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675800708; a=rsa-sha256; cv=none; b=FAbD/06LnOdmBn/MsXyJBKGtIi/Rq0tJabq8eEAZ2zrojKWlXFl1PldlUxxcMRcE3eFeoQ z21+T8FBlEGpa8y39ptQijTuQunTEYljqzwsx+DzYDUfebVIu74q5iiBCQLBSCoWvR0Hvp n39Q9ekbyV9+y9lkhCbwVJZ82ixv8K95cBxXdobovr6Fuwfaj1U0fEbiIvp0REaI5M5+bq pDDO74bCn/wdPjRTcaPn5l2dcSU7m+phfpKorG9cKeBusFJAuNKEfTHu5nV9I+3PYpdLQu BQymtjerMM4qaC056I+BKWo0n16AEUy0p+IH3dxpK/g5t2vFQhkGmK4UvWe96g== 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 4PBDmh13d9zVfg; Tue, 7 Feb 2023 20:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317KBmr5036243; Tue, 7 Feb 2023 20:11:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317KBmsS036242; Tue, 7 Feb 2023 20:11:48 GMT (envelope-from git) Date: Tue, 7 Feb 2023 20:11:48 GMT Message-Id: <202302072011.317KBmsS036242@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 27202b98dc2d - main - jail: Use atomic(9) instead of CK atomics List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 27202b98dc2d3361f4b5395a93488fc60c3f9af9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=27202b98dc2d3361f4b5395a93488fc60c3f9af9 commit 27202b98dc2d3361f4b5395a93488fc60c3f9af9 Author: Mark Johnston AuthorDate: 2023-02-07 19:35:44 +0000 Commit: Mark Johnston CommitDate: 2023-02-07 20:10:24 +0000 jail: Use atomic(9) instead of CK atomics There's no reason to use one over the other here, let's prefer the interface that's used elsewhere in the kernel. No functional change intended. Reviewed by: mjg Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D38360 --- sys/kern/kern_jail.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 4c1e3ff40c58..75be0df85448 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -771,7 +771,7 @@ prison_ip_set(struct prison *pr, const pr_family_t af, struct prison_ip *new) mem = &pr->pr_addrs[af]; old = *mem; - ck_pr_store_ptr(mem, new); + atomic_store_ptr(mem, new); prison_ip_free(old); } @@ -897,7 +897,7 @@ prison_ip_check(const struct prison *pr, const pr_family_t af, in_epoch(net_epoch_preempt) || sx_xlocked(&allprison_lock)); - pip = ck_pr_load_ptr(&pr->pr_addrs[af]); + pip = atomic_load_ptr(&pr->pr_addrs[af]); if (__predict_false(pip == NULL)) return (EAFNOSUPPORT); From nobody Tue Feb 7 20:21:24 2023 X-Original-To: dev-commits-src-main@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 4PBDzm4ByMz3ng06; Tue, 7 Feb 2023 20:21:24 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBDzm1pfQz3FfF; Tue, 7 Feb 2023 20:21:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675801284; 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=8Sq6EPRMBWmO+Z5hAnZt9DjL/YqfLj0vuwV0SQWOE04=; b=c1ISW+52pRcegh44wU+PUuNEHF8RcTd1M/xixCLLJ8Czedsd8DH/d7LW+I2SuKWDLneSeX de3VBV2OfCUdWzRwujPFP8hUqJAwPGqQKBk2xIbNhPjGFS7vMOnPhbix6WEDj6bfpDCAKG GeJ1Uk63QGIVNBMANcY2sLqNRI3j1f+2U6ndt5Ouuy9R4dV6hCSy3+j0jrMQ594JESRDio 6vaSEO65+P8kL1dIv/biXKYKUG+gzCVPYii+52xZVZ0E7AwcSrVaNM5hmNu5ke7EKOd3eq J5yzfkQo9Q/dfs906QBCHM1l82c9XkEw3VRZ3XH0ul46X+PEcx8QFKDih8ntUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675801284; 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=8Sq6EPRMBWmO+Z5hAnZt9DjL/YqfLj0vuwV0SQWOE04=; b=Gp40sB4RnSaXFKyB8bCsDQO2W4gbWe1eD8c5r3q5DHrY+BADTp1CY//5x7GQ0QKg1V5w4g jI/A06uqLKmw8NF0AXzELMhb+DSN9j0yylpZpoYHqbxS9hm2PKIDClmdMcgjmxU9HVjRvo Gctr1LMmOm8uKW2SNOyaB18pNQLSYnV60W5Boa6OZ+synxLPi6tj3tEHWMjESbLVvuEZze G/bulILyG7/kgS4Smou7fjuSx8xDZfLzCuipU/+mZI604g4TNrK/9CACBfcJmktKVXQ6Zd ME4j1LPaLIuK35WYoGFKJvi2IWr/dpv2P/4chqJBruIOxR/rY9kudEX27eCG3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675801284; a=rsa-sha256; cv=none; b=p1AX1AMgJ2ATKYfYmaKnUmpT5xIijbVs7XUeX81TbS4NMR6mLeQpHc15t1vijXYzLLU8se 3sUxl94nfL4wAy35pHObK1XwWaK6BEywo4yroG+Z6xRrehS6AMaqLZdE4Y3dPoYEIB3cfU fIgskNYIUOy9uGX0UrRQyKX7mcW4gQTxAvip725AZLvscdt1hD994ci7ro3WKLyVARzoo5 eIADTmQFWAQRN7Zawsxx4TbBkqN1KtZRoA3yppuAIG1aOfJoI3UPKhfNGCoybh4LeR5cm4 529aMw5XM6B5rbfvN9iFk05TcV8xnaCfH+tRCVkOPVAyS4dA/A9dtQEtHOTjqw== 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 4PBDzm0wmGzVdS; Tue, 7 Feb 2023 20:21:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317KLO84047194; Tue, 7 Feb 2023 20:21:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317KLOLs047193; Tue, 7 Feb 2023 20:21:24 GMT (envelope-from git) Date: Tue, 7 Feb 2023 20:21:24 GMT Message-Id: <202302072021.317KLOLs047193@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 0cbcfa1964de - main - LinuxKPI: 802.11: deal with stopped queues List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0cbcfa1964de89cd346ee6f79437c6ab83a3b716 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=0cbcfa1964de89cd346ee6f79437c6ab83a3b716 commit 0cbcfa1964de89cd346ee6f79437c6ab83a3b716 Author: Bjoern A. Zeeb AuthorDate: 2023-02-07 20:18:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-02-07 20:20:33 +0000 LinuxKPI: 802.11: deal with stopped queues Following 5a9a0d7803382321b5f9fff1deae5fb08463cf1a initialize the queue values explicitly and deal with a stopped queue in ieee80211_tx_dequeue(). Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index dc158699f4cf..fdfa384c1a25 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -244,9 +244,11 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], ltxq->txq.ac = tid_to_mac80211_ac[tid & 7]; } ltxq->seen_dequeue = false; + ltxq->stopped = false; ltxq->txq.vif = vif; ltxq->txq.tid = tid; ltxq->txq.sta = sta; + TAILQ_ELEM_INIT(ltxq, txq_entry); skb_queue_head_init(<xq->skbq); sta->txq[tid] = <xq->txq; } @@ -2276,6 +2278,9 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], vif->hw_queue[i] = i; else vif->hw_queue[i] = 0; + + /* Initialize the queue to running. Stopped? */ + lvif->hw_queue_stopped[i] = false; } vif->cab_queue = IEEE80211_INVAL_HW_QUEUE; @@ -4268,13 +4273,25 @@ linuxkpi_ieee80211_tx_dequeue(struct ieee80211_hw *hw, struct ieee80211_txq *txq) { struct lkpi_txq *ltxq; + struct lkpi_vif *lvif; struct sk_buff *skb; + skb = NULL; ltxq = TXQ_TO_LTXQ(txq); ltxq->seen_dequeue = true; + if (ltxq->stopped) + goto stopped; + + lvif = VIF_TO_LVIF(ltxq->txq.vif); + if (lvif->hw_queue_stopped[ltxq->txq.ac]) { + ltxq->stopped = true; + goto stopped; + } + skb = skb_dequeue(<xq->skbq); +stopped: return (skb); } From nobody Tue Feb 7 20:23:38 2023 X-Original-To: dev-commits-src-main@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 4PBF2L2mcFz3ngS9; Tue, 7 Feb 2023 20:23:38 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBF2L2H5nz3G5Q; Tue, 7 Feb 2023 20:23:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675801418; 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=Z1JHZjcQ5TZK34d2abDkfyAWchosPFmiXTkIbsqkMO0=; b=Xq2ziuFqzj7tCIDuSXeMy9wXoMr7uUrxc5Rmklb6r+iW+ww8okJ5es6Yc0wierbnZH3PhX UeXzwpu8JyYkQRMn0ZKUdZ+lIfoE9isEiAhcGU3RnsaQrbvS+nErkVGhNtTtGUvKHLZ3dx 2J4K8WKFZSpMz+7HFAMoyyf56O6lbXvo5l0MgIZMKfM2iI12ba3+lT3hqrse/r1J42VyBq HSN8V5ouUI6bSdGfH7i+VTCwe1XsxJgZ/jvLkrsadBEgnQWKo/1t6J0prZpkNVPOB+XJ2Z ENU3G2LEBb+M5QVPg9uNZd7A0mwF/EgVbXpb5Ud4g8OmKIzcb6GoegBqCsHVOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675801418; 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=Z1JHZjcQ5TZK34d2abDkfyAWchosPFmiXTkIbsqkMO0=; b=eAea0WPJT9ltNi676Dhr20d6pXAed0yqV+xuUQbIlBbL4YQ/nCw+J6nUnnOvgFGsGp6+9o CMuDcpHiA4ldaxCv0uSCgG/ecW0UG6U6HKE3vuk2oOoxUcPgEq40LDkbHYrDa/5BKsik+k kOrRtyxbe9BpM5MmFcz7Q+Me/tOpzIgd2nDdmJoAZAcznxFIb2/gQR7alurv1tivJYnq1N zarn5pStgfTThcgfq6oylrpekzWCYdlaiu+B24guCNpmahwUCKGJU5qg0iPcLv57trQSHW tCDPpMlaOSXZTO+68gVc7lnokR6+f+ziw7WY1gJCRgogn4MrdmdbUGySk6ENqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675801418; a=rsa-sha256; cv=none; b=hKHThqzoTDmzLpKP2DeUFfw7k/g8hhxW0jqHF5AexKiyzBapBLwGJd2TONVRVXfszDeLSr kjq9K9mICr+M0LtB5Yuv5UY3RO+zhj5i2zeJi302Un+VBqsz78WfrRjy5YOSLDMRNoIg8z lw3t+zQcpiui9ZBcDmT9It6ar9fNuuCqwmm6tTNF0Ql0d8iQL21/UkzRLGknJYxugacf7T m7f9gFwR6TYx/ovqDFYEpqkTrxmZDMq7qv70sIupA6qXA6QjgL7IFF/iGijGJdiTi/9KTl yQmyUu8ZtaAwb3gfZ7eZYkPVqAis1+uTW7EBuHCOM6P4Rk1KrnfOlN4FR6wn/w== 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 4PBF2L1KcxzVXR; Tue, 7 Feb 2023 20:23:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317KNc3f051575; Tue, 7 Feb 2023 20:23:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317KNcxG051571; Tue, 7 Feb 2023 20:23:38 GMT (envelope-from git) Date: Tue, 7 Feb 2023 20:23:38 GMT Message-Id: <202302072023.317KNcxG051571@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: e6aba98fddf8 - main - tcp: Remove a couple of always-false checks from syncache_socket() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: e6aba98fddf8f087de02e2a88a79f1f2a1b89f5e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e6aba98fddf8f087de02e2a88a79f1f2a1b89f5e commit e6aba98fddf8f087de02e2a88a79f1f2a1b89f5e Author: Mark Johnston AuthorDate: 2023-02-07 20:12:10 +0000 Commit: Mark Johnston CommitDate: 2023-02-07 20:22:54 +0000 tcp: Remove a couple of always-false checks from syncache_socket() syncache_socket() does some unnecessary work: before connecting the PCB, it saves the local address on the stack and restores it before freeing the PCB in case of an error. However: - There's no need to restore the old address in the error case. - The PCB's local address will always be equal to that of the syncache entry anyway. So just remove this unnecessary code, which appears to date from the introduction of the syncache 20+ years ago. No functional change intended. Reviewed by: tuexen, glebius Sponsored by: Klara, Inc. Sponsored by: Modirum MDPay Differential Revision: https://reviews.freebsd.org/D38391 --- sys/netinet/tcp_syncache.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index a1f07ed1aadf..e45fc457f4d6 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -870,7 +870,6 @@ syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m) } if (sc->sc_inc.inc_flags & INC_ISIPV6) { - struct in6_addr laddr6; struct sockaddr_in6 sin6; sin6.sin6_family = AF_INET6; @@ -878,16 +877,11 @@ syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m) sin6.sin6_addr = sc->sc_inc.inc6_faddr; sin6.sin6_port = sc->sc_inc.inc_fport; sin6.sin6_flowinfo = sin6.sin6_scope_id = 0; - laddr6 = inp->in6p_laddr; - if (IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) - inp->in6p_laddr = sc->sc_inc.inc6_laddr; INP_HASH_WLOCK(&V_tcbinfo); error = in6_pcbconnect(inp, &sin6, thread0.td_ucred, false); INP_HASH_WUNLOCK(&V_tcbinfo); - if (error != 0) { - inp->in6p_laddr = laddr6; + if (error != 0) goto abort; - } /* Override flowlabel from in6_pcbconnect. */ inp->inp_flow &= ~IPV6_FLOWLABEL_MASK; inp->inp_flow |= sc->sc_flowlabel; @@ -898,7 +892,6 @@ syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m) #endif #ifdef INET { - struct in_addr laddr; struct sockaddr_in sin; inp->inp_options = (m) ? ip_srcroute(m) : NULL; @@ -913,16 +906,11 @@ syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m) sin.sin_addr = sc->sc_inc.inc_faddr; sin.sin_port = sc->sc_inc.inc_fport; bzero((caddr_t)sin.sin_zero, sizeof(sin.sin_zero)); - laddr = inp->inp_laddr; - if (inp->inp_laddr.s_addr == INADDR_ANY) - inp->inp_laddr = sc->sc_inc.inc_laddr; INP_HASH_WLOCK(&V_tcbinfo); error = in_pcbconnect(inp, &sin, thread0.td_ucred, false); INP_HASH_WUNLOCK(&V_tcbinfo); - if (error != 0) { - inp->inp_laddr = laddr; + if (error != 0) goto abort; - } } #endif /* INET */ #if defined(IPSEC) || defined(IPSEC_SUPPORT) From nobody Tue Feb 7 20:34:24 2023 X-Original-To: dev-commits-src-main@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 4PBFGn1jT1z3ngxf; Tue, 7 Feb 2023 20:34:25 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBFGn0vV6z3HHr; Tue, 7 Feb 2023 20:34:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675802065; 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=j4IlLxFDuKaYs7JeXgimt+3kuySmKnlWqRxJxhwnwjM=; b=HtFbYkZGUmHRDJ+6yhq3exqpLi1f2QVwK7rI/KOGcFjqC6vsdTzj2TStEAjY4+cOrobSCU cZ8RdPll2qQqu9hrF9YvqpHE9Hz64qvacsFzMrZ7hxTMnIDGLpayVPj7JzRjq+AkjfVctk ZbeTNFyo01u4HuqnOXBNex7w1l+aLddkbxKjWhspUem+JqbAc5dnlV7vI+zy4fPDM9ArQT 3FuEPWv2STMPP6eR7vbxfhDyddv7wLIkMF9W88F7eZcr05+DPjecsrfbxWdNwjuzqtj/vO 5NbD65rShGjBiJ1JjCvHb5r4ZdnTRtNqqN0osXSLWKERZCgc/wzerRO2A0hbbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675802065; 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=j4IlLxFDuKaYs7JeXgimt+3kuySmKnlWqRxJxhwnwjM=; b=NWuBm/2M97g3+e/H/xBPtFRYlvK4immY/9WQILOYuuoi6BjRhLBNVo2DSIg9HoSANagAh+ EwmRndw0bIjEdxwFCv5QqLNQhvdDlLwmvsbt87Emp9+uzqU1CVIrZg4UXLWvifhywh/TuT 6TVAHh0z/Yx5jhnDmIEj3Tqg5jRIAWVYAii8k+n+WUYAOwJvgfzm7sgnUnY4uqI2QfKNbq WH2u6rV0qfUF5d5Tb6ej6htEF8b98hd+bvIu7m0XMja0SKMYnfc7FEbcT3VzcWy1snES34 8zc0klQ42GRtzVn6W8BJ9mA3+1wQ5Y4dePIGp0bpVbpAN2v0iLcY2qlgZV94gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675802065; a=rsa-sha256; cv=none; b=ByCTmTdHS+A+rGvHNtg9Rqb3QPnUwU3UdXMV8DQlEsvtGzYPxNW73rD5C/3zN/U80UBYQZ jar2e/YsDRCrUgez85BJeQNb3Lpw2KSw6/EaFTDowPbCdcfFwV0DmzO5uIVtqfxxXkH846 ZaFDh9LguOaqyk29eOxgo7pvcZvJvdFYNz0v4iXDzYK0/4K3brJljmHZmzxQfOWLSUGirK DoLh4x1EmDFHpH2r83/3k8g4ME7NpWPiJRtSyroUxhehtpS0P4BdFIqjkSxJBQIeAWgcfx 52duNcuFVfYZQtCacMVI2UVy2Av/RigRN7os4LNNOWaLG9608dmV9+wsy7u4Ig== 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 4PBFGm6r7dzVtK; Tue, 7 Feb 2023 20:34:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317KYO3t065883; Tue, 7 Feb 2023 20:34:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317KYO0M065882; Tue, 7 Feb 2023 20:34:24 GMT (envelope-from git) Date: Tue, 7 Feb 2023 20:34:24 GMT Message-Id: <202302072034.317KYO0M065882@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 232b4f33b435 - main - ssh: add information on hostname canonicalization patch List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 232b4f33b4352cc84f3f07721345117d2486b013 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=232b4f33b4352cc84f3f07721345117d2486b013 commit 232b4f33b4352cc84f3f07721345117d2486b013 Author: Ed Maste AuthorDate: 2023-02-07 20:09:30 +0000 Commit: Ed Maste CommitDate: 2023-02-07 20:34:11 +0000 ssh: add information on hostname canonicalization patch We introduced hostname canonicalization in 2002, while upstream OpenSSH added similar support in 2014. It would be good to review our handling of CNAMEs in hostname canonicalization. Sponsored by: The FreeBSD Foundation --- crypto/openssh/FREEBSD-upgrade | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crypto/openssh/FREEBSD-upgrade b/crypto/openssh/FREEBSD-upgrade index 5f0e399deb04..bc1122768790 100644 --- a/crypto/openssh/FREEBSD-upgrade +++ b/crypto/openssh/FREEBSD-upgrade @@ -130,6 +130,10 @@ reading options but before trying to connect. This eliminates the usual problem with duplicate known_hosts entries. + We added this support in 2002 (r99054 / bf2e2524a2ce). In 2014 + upstream introduced CanonicalDomains and related options to serve a + similar purpose but they require environment-specific configuration. + 4) setusercontext() environment Our setusercontext(3) can set environment variables, which we must From nobody Tue Feb 7 22:53:14 2023 X-Original-To: dev-commits-src-main@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 4PBJLy70w9z3npxJ; Tue, 7 Feb 2023 22:53: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBJLy5Hm6z3n9v; Tue, 7 Feb 2023 22:53:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675810394; 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=G/3cGfIVI4w/V8z2h0xfWTDG4O/6mhMO5siTS8kdeSk=; b=wgf5W3T9jvRv/jyJ2eKZSY8eVXxDyt92La3VItHUZv2Gm+5lhOToNEifjgAf5KVYOisZrW UzFM7Jd+lBbv/kccpLKWS/rijjHrDvFrFjywPCOnCCkC5K21AF+5PsJulIz5OMplHu+xRb iQltkPPbeqF/CLOBt+cMFmjQxMkg6l8+dcD8RfJEQoUz0i47poG5vihGf79UV+/uQJmawI XyoyweF6DZERK7OkStnFk3I8Wpcaqa8NrCKdGQMVgwqnqGEiG7s9yqrDu9Q9vu56bHZ+nS ZjFxhtd+ErDwvzi3g4eqWekP75MUewboefHOmR0Fzgp9xdDjnYloazeC2HxXaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675810394; 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=G/3cGfIVI4w/V8z2h0xfWTDG4O/6mhMO5siTS8kdeSk=; b=ZW+pVNnrJBys3Co844rpjqBgQHiIBgQUHnHVhgEShRhiNl1/MtecQD4j1B0EO49OFtX2Kq VdU8CDzaXbaqAC53EKXEnb0lUBDMXjX7kUqEdq69KxPryG1GA33IJo/CUrdIPLy04geowE 657nnSNYRgwwxDB521+sScxcpuyBpyETklR1ak8uN9tHcsAkgVreKHnMXI4EcVLQH9JSa/ +bcXLDEvbNFkKJon0mIsmLoUom2TlTzQZ80WrYBlpcawKcO1sH57WraqI2hbaMoQd+h25t Wlg1uSjBOCTK57834bz2GQ/gflFGQfYAXOU+5yocM/625shXQTijUOPLNVxZkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675810394; a=rsa-sha256; cv=none; b=XiTClKiCdf0M+Qb4rV5FyaVo0VYxTPNo9fgjJky+FQgY4YkHprtzXl9exmhlvvKcdts8XW cHi8jmT7Yk2Ua6Ngq4nbb6i6hS8BbP1UH4JegLQHGRN8YS2P0wCpvyvZYUqvokE6kaBgPO 6HRk4F920sM7EyU2wLfXJzeFJgd1YOHGRUfirRsHcVwaPqkYB3nk0YYOnE+sX+N4B3i0jU VuIS9jGuMGuce7diWJ5c2pIzpm4UrIKE74Vv6mXqQoBd4PUaP+9yvC8IzKlur0jlK6nKM3 /D7CQOUqkR9J74M5jtKmnvea5+PvQaGdto4KnlQQfcenfqts+ESTGKBPScHF4A== 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 4PBJLy4Ll5zZBH; Tue, 7 Feb 2023 22:53:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317MrE9d065744; Tue, 7 Feb 2023 22:53:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317MrEHR065743; Tue, 7 Feb 2023 22:53:14 GMT (envelope-from git) Date: Tue, 7 Feb 2023 22:53:14 GMT Message-Id: <202302072253.317MrEHR065743@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: b2c68dc6d9b3 - main - amd64: ansify List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b2c68dc6d9b31de853664ac9277816678d2c9181 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=b2c68dc6d9b31de853664ac9277816678d2c9181 commit b2c68dc6d9b31de853664ac9277816678d2c9181 Author: Mateusz Guzik AuthorDate: 2023-02-07 22:52:06 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-07 22:52:06 +0000 amd64: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/amd64/amd64/db_disasm.c | 23 +++++------------------ sys/amd64/amd64/machdep.c | 15 ++++----------- sys/amd64/amd64/sys_machdep.c | 8 ++------ 3 files changed, 11 insertions(+), 35 deletions(-) diff --git a/sys/amd64/amd64/db_disasm.c b/sys/amd64/amd64/db_disasm.c index ac71d7e06609..54f7beda1169 100644 --- a/sys/amd64/amd64/db_disasm.c +++ b/sys/amd64/amd64/db_disasm.c @@ -1045,12 +1045,8 @@ static db_addr_t * Read address at location and return updated location. */ static db_addr_t -db_read_address(loc, short_addr, rex, regmodrm, addrp) - db_addr_t loc; - int short_addr; - int rex; - int regmodrm; - struct i_addr * addrp; /* out */ +db_read_address(db_addr_t loc, int short_addr, int rex, int regmodrm, + struct i_addr *addrp) { int mod, rm, sib, index, disp, size, have_sib; @@ -1113,11 +1109,7 @@ db_read_address(loc, short_addr, rex, regmodrm, addrp) } static void -db_print_address(seg, size, rex, addrp) - const char * seg; - int size; - int rex; - struct i_addr * addrp; +db_print_address(const char *seg, int size, int rex, struct i_addr *addrp) { if (addrp->is_reg) { db_printf("%s", db_reg[rex != 0 ? 1 : 0][(size == LONG && (rex & REX_W)) ? QUAD : size][addrp->disp]); @@ -1145,13 +1137,8 @@ db_print_address(seg, size, rex, addrp) * and return updated location. */ static db_addr_t -db_disasm_esc(loc, inst, rex, short_addr, size, seg) - db_addr_t loc; - int inst; - int rex; - int short_addr; - int size; - const char * seg; +db_disasm_esc(db_addr_t loc, int inst, int rex, int short_addr, int size, + const char *seg) { int regmodrm; const struct finst * fp; diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index a14c3e408541..f33f2c6509f0 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -220,8 +220,7 @@ void (*vmm_resume_p)(void); bool efi_boot; static void -cpu_startup(dummy) - void *dummy; +cpu_startup(void *dummy) { uintmax_t memsize; char *sysenv; @@ -584,9 +583,7 @@ DB_SHOW_COMMAND_FLAGS(dbregs, db_show_dbregs, DB_CMD_MEMSAFE) #endif void -sdtossd(sd, ssd) - struct user_segment_descriptor *sd; - struct soft_segment_descriptor *ssd; +sdtossd(struct user_segment_descriptor *sd, struct soft_segment_descriptor *ssd) { ssd->ssd_base = (sd->sd_hibase << 24) | sd->sd_lobase; @@ -600,9 +597,7 @@ sdtossd(sd, ssd) } void -ssdtosd(ssd, sd) - struct soft_segment_descriptor *ssd; - struct user_segment_descriptor *sd; +ssdtosd(struct soft_segment_descriptor *ssd, struct user_segment_descriptor *sd) { sd->sd_lobase = (ssd->ssd_base) & 0xffffff; @@ -618,9 +613,7 @@ ssdtosd(ssd, sd) } void -ssdtosyssd(ssd, sd) - struct soft_segment_descriptor *ssd; - struct system_segment_descriptor *sd; +ssdtosyssd(struct soft_segment_descriptor *ssd, struct system_segment_descriptor *sd) { sd->sd_lobase = (ssd->ssd_base) & 0xffffff; diff --git a/sys/amd64/amd64/sys_machdep.c b/sys/amd64/amd64/sys_machdep.c index 05c90f57ec6c..a3716a354448 100644 --- a/sys/amd64/amd64/sys_machdep.c +++ b/sys/amd64/amd64/sys_machdep.c @@ -391,9 +391,7 @@ sysarch(struct thread *td, struct sysarch_args *uap) } int -amd64_set_ioperm(td, uap) - struct thread *td; - struct i386_ioperm_args *uap; +amd64_set_ioperm(struct thread *td, struct i386_ioperm_args *uap) { char *iomap; struct amd64tss *tssp; @@ -447,9 +445,7 @@ amd64_set_ioperm(td, uap) } int -amd64_get_ioperm(td, uap) - struct thread *td; - struct i386_ioperm_args *uap; +amd64_get_ioperm(struct thread *td, struct i386_ioperm_args *uap) { int i, state; char *iomap; From nobody Tue Feb 7 23:03:56 2023 X-Original-To: dev-commits-src-main@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 4PBJbJ6Y5vz3nqd0; Tue, 7 Feb 2023 23:03:56 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBJbJ61f1z3nlJ; Tue, 7 Feb 2023 23:03:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675811036; 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=OclucX8NGAmjNiWMqmavRPv6rbZbLgEfOIiXiHG882Q=; b=YQk3j1YGdEgZeoiN6bTuu8esfe5yprs2YZnzk5N9IHxapFPgKukUEi2NLgTmM9MYmpPO90 i8H+Hzm6vUOxeDGhXMV3l+XKqsrz38aLfrDpbcXCY9BQ9EKEwhOmk9v9RuwIcxGu1z1BxA uh1OLmR9WWKSbZUhSQ8IEhz2HxMZT67u64PnRfquPMkw61jUkVVF5T3L78bd/R928wfcQe cJLP//i1zdCu9AQNx4e5kAYkoXJIxCurxyjK57NYWZHQXwXbEuD+kjHOFgcCogwHJ/QCeZ CBFEr82UMK/IbyvvuE66Tl80WTI6VZjg96Il9xymAm3inFhVEiDQRsoG3aF54A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675811036; 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=OclucX8NGAmjNiWMqmavRPv6rbZbLgEfOIiXiHG882Q=; b=LVYFzH+CeXV+QlSz1JUN2xf8ob8DfusHkKxidOxAiq2mM2PXA/UZ0NbgXpH9byZDI385Lw h0LCqFMzL+0kZIre5Ek/13jIFYcu7Dw91a/gFCg8DnIXJtBLRgzJAlITO2Pni7gla0+y1C TtdoJ3czk7k5o0yIazUQgz/FRREZIAGXGPn37psUDaAt8MmtGXHSCKhj1ySCgJZnOUikLp wMTl3NtCcDITr7UvNM9v9c9FugRSPLk/Rb4cw/TT0kxVa0cAbNRJcFaJFpojNmu6jl2nyz gUz2lLEIbpmaMoG4tLssx+jBXMx5Z9bytyvIZ52Fmn3+vtEbx1wSdTDRt0+IPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675811036; a=rsa-sha256; cv=none; b=dKajlEDiW+dBkqbPk14zy0/O8oOtMV32msWIoaGN3hzRCHePBx3RdNVPVfS0A6s83tv82T RVHW/tPTIZScGEOdhHCBW/Q6de0WQDdpx4L8CM4eqdqPDd7fsHadbiwUyPCoFnla2yw1NI d7sFPKWjnfqb8+0wlB/bqmfg0F0XbngNqzSYQ7720W5JUprTVJPExgTSLc8gcVhIJSahgs jkA/+bZ4jqfkzTsYS/KaGIfqjE2Ms1XeWLhuFhuGmnZPZ526BHcgMjSBDo7/5DPDqgKd6Z Y42VO5kQ34MLUEJ5cGs/jgXjx7HQ+3hS0ikS1DCC/4VmeAlpcuy2Xt1v5mUeqQ== 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 4PBJbJ53pWzZ3B; Tue, 7 Feb 2023 23:03:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317N3uX6080644; Tue, 7 Feb 2023 23:03:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317N3uAJ080643; Tue, 7 Feb 2023 23:03:56 GMT (envelope-from git) Date: Tue, 7 Feb 2023 23:03:56 GMT Message-Id: <202302072303.317N3uAJ080643@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 8377575772be - main - vfs: ansify List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8377575772be0ed37eb42a0b08c684d9fc5c3e18 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=8377575772be0ed37eb42a0b08c684d9fc5c3e18 commit 8377575772be0ed37eb42a0b08c684d9fc5c3e18 Author: Mateusz Guzik AuthorDate: 2023-02-07 23:03:20 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-07 23:03:20 +0000 vfs: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/kern/vfs_default.c | 162 +++++++++---------------------------------------- 1 file changed, 27 insertions(+), 135 deletions(-) diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index d8931a3ae350..ee1310215621 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -237,12 +237,7 @@ vop_panic(struct vop_generic_args *ap) * Default vop for filesystems that do not support name lookup */ static int -vop_nolookup(ap) - struct vop_lookup_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - } */ *ap; +vop_nolookup(struct vop_lookup_args *ap) { *ap->a_vpp = NULL; @@ -501,12 +496,7 @@ vop_stdadvlockpurge(struct vop_advlockpurge_args *ap) * limits. */ int -vop_stdpathconf(ap) - struct vop_pathconf_args /* { - struct vnode *a_vp; - int a_name; - int *a_retval; - } */ *ap; +vop_stdpathconf(struct vop_pathconf_args *ap) { switch (ap->a_name) { @@ -534,13 +524,7 @@ vop_stdpathconf(ap) * Standard lock, unlock and islocked functions. */ int -vop_stdlock(ap) - struct vop_lock1_args /* { - struct vnode *a_vp; - int a_flags; - char *file; - int line; - } */ *ap; +vop_stdlock(struct vop_lock1_args *ap) { struct vnode *vp = ap->a_vp; struct mtx *ilk; @@ -552,10 +536,7 @@ vop_stdlock(ap) /* See above. */ int -vop_stdunlock(ap) - struct vop_unlock_args /* { - struct vnode *a_vp; - } */ *ap; +vop_stdunlock(struct vop_unlock_args *ap) { struct vnode *vp = ap->a_vp; @@ -564,10 +545,7 @@ vop_stdunlock(ap) /* See above. */ int -vop_stdislocked(ap) - struct vop_islocked_args /* { - struct vnode *a_vp; - } */ *ap; +vop_stdislocked(struct vop_islocked_args *ap) { return (lockstatus(ap->a_vp->v_vnlock)); @@ -581,13 +559,7 @@ vop_stdislocked(ap) * - v_vnlock pointer is not honored */ int -vop_lock(ap) - struct vop_lock1_args /* { - struct vnode *a_vp; - int a_flags; - char *file; - int line; - } */ *ap; +vop_lock(struct vop_lock1_args *ap) { struct vnode *vp = ap->a_vp; int flags = ap->a_flags; @@ -611,10 +583,7 @@ other: } int -vop_unlock(ap) - struct vop_unlock_args /* { - struct vnode *a_vp; - } */ *ap; +vop_unlock(struct vop_unlock_args *ap) { struct vnode *vp = ap->a_vp; @@ -624,10 +593,7 @@ vop_unlock(ap) } int -vop_islocked(ap) - struct vop_islocked_args /* { - struct vnode *a_vp; - } */ *ap; +vop_islocked(struct vop_islocked_args *ap) { struct vnode *vp = ap->a_vp; @@ -640,13 +606,7 @@ vop_islocked(ap) * Return true for select/poll. */ int -vop_nopoll(ap) - struct vop_poll_args /* { - struct vnode *a_vp; - int a_events; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; +vop_nopoll(struct vop_poll_args *ap) { if (ap->a_events & ~POLLSTANDARD) @@ -658,13 +618,7 @@ vop_nopoll(ap) * Implement poll for local filesystems that support it. */ int -vop_stdpoll(ap) - struct vop_poll_args /* { - struct vnode *a_vp; - int a_events; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; +vop_stdpoll(struct vop_poll_args *ap) { if (ap->a_events & ~POLLSTANDARD) return (vn_pollrecord(ap->a_vp, ap->a_td, ap->a_events)); @@ -675,11 +629,7 @@ vop_stdpoll(ap) * Return our mount point, as we will take charge of the writes. */ int -vop_stdgetwritemount(ap) - struct vop_getwritemount_args /* { - struct vnode *a_vp; - struct mount **a_mpp; - } */ *ap; +vop_stdgetwritemount(struct vop_getwritemount_args *ap) { struct mount *mp; struct vnode *vp; @@ -707,15 +657,7 @@ vop_stdgetwritemount(ap) * - Report no contiguous runs of blocks. */ int -vop_stdbmap(ap) - struct vop_bmap_args /* { - struct vnode *a_vp; - daddr_t a_bn; - struct bufobj **a_bop; - daddr_t *a_bnp; - int *a_runp; - int *a_runb; - } */ *ap; +vop_stdbmap(struct vop_bmap_args *ap) { if (ap->a_bop != NULL) @@ -730,12 +672,7 @@ vop_stdbmap(ap) } int -vop_stdfsync(ap) - struct vop_fsync_args /* { - struct vnode *a_vp; - int a_waitfor; - struct thread *a_td; - } */ *ap; +vop_stdfsync(struct vop_fsync_args *ap) { return (vn_fsync_buf(ap->a_vp, ap->a_waitfor)); @@ -757,14 +694,7 @@ vop_stdfdatasync_buf(struct vop_fdatasync_args *ap) /* XXX Needs good comment and more info in the manpage (VOP_GETPAGES(9)). */ int -vop_stdgetpages(ap) - struct vop_getpages_args /* { - struct vnode *a_vp; - vm_page_t *a_m; - int a_count; - int *a_rbehind; - int *a_rahead; - } */ *ap; +vop_stdgetpages(struct vop_getpages_args *ap) { return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, @@ -791,14 +721,7 @@ vop_stdkqfilter(struct vop_kqfilter_args *ap) /* XXX Needs good comment and more info in the manpage (VOP_PUTPAGES(9)). */ int -vop_stdputpages(ap) - struct vop_putpages_args /* { - struct vnode *a_vp; - vm_page_t *a_m; - int a_count; - int a_sync; - int *a_rtvals; - } */ *ap; +vop_stdputpages(struct vop_putpages_args *ap) { return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count, @@ -1478,39 +1401,27 @@ vop_stdioctl(struct vop_ioctl_args *ap) * used to fill the vfs function table to get reasonable default return values. */ int -vfs_stdroot (mp, flags, vpp) - struct mount *mp; - int flags; - struct vnode **vpp; +vfs_stdroot(struct mount *mp, int flags, struct vnode **vpp) { return (EOPNOTSUPP); } int -vfs_stdstatfs (mp, sbp) - struct mount *mp; - struct statfs *sbp; +vfs_stdstatfs(struct mount *mp, struct statfs *sbp) { return (EOPNOTSUPP); } int -vfs_stdquotactl (mp, cmds, uid, arg, mp_busy) - struct mount *mp; - int cmds; - uid_t uid; - void *arg; - bool *mp_busy; +vfs_stdquotactl(struct mount *mp, int cmds, uid_t uid, void *arg, bool *mp_busy) { return (EOPNOTSUPP); } int -vfs_stdsync(mp, waitfor) - struct mount *mp; - int waitfor; +vfs_stdsync(struct mount *mp, int waitfor) { struct vnode *vp, *mvp; struct thread *td; @@ -1545,9 +1456,7 @@ loop: } int -vfs_stdnosync (mp, waitfor) - struct mount *mp; - int waitfor; +vfs_stdnosync(struct mount *mp, int waitfor) { return (0); @@ -1565,50 +1474,36 @@ vop_stdcopy_file_range(struct vop_copy_file_range_args *ap) } int -vfs_stdvget (mp, ino, flags, vpp) - struct mount *mp; - ino_t ino; - int flags; - struct vnode **vpp; +vfs_stdvget(struct mount *mp, ino_t ino, int flags, struct vnode **vpp) { return (EOPNOTSUPP); } int -vfs_stdfhtovp (mp, fhp, flags, vpp) - struct mount *mp; - struct fid *fhp; - int flags; - struct vnode **vpp; +vfs_stdfhtovp(struct mount *mp, struct fid *fhp, int flags, struct vnode **vpp) { return (EOPNOTSUPP); } int -vfs_stdinit (vfsp) - struct vfsconf *vfsp; +vfs_stdinit(struct vfsconf *vfsp) { return (0); } int -vfs_stduninit (vfsp) - struct vfsconf *vfsp; +vfs_stduninit(struct vfsconf *vfsp) { return(0); } int -vfs_stdextattrctl(mp, cmd, filename_vp, attrnamespace, attrname) - struct mount *mp; - int cmd; - struct vnode *filename_vp; - int attrnamespace; - const char *attrname; +vfs_stdextattrctl(struct mount *mp, int cmd, struct vnode *filename_vp, + int attrnamespace, const char *attrname) { if (filename_vp != NULL) @@ -1617,10 +1512,7 @@ vfs_stdextattrctl(mp, cmd, filename_vp, attrnamespace, attrname) } int -vfs_stdsysctl(mp, op, req) - struct mount *mp; - fsctlop_t op; - struct sysctl_req *req; +vfs_stdsysctl(struct mount *mp, fsctlop_t op, struct sysctl_req *req) { return (EOPNOTSUPP); From nobody Tue Feb 7 23:19:09 2023 X-Original-To: dev-commits-src-main@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 4PBJws5Sjbz3nrDM; Tue, 7 Feb 2023 23:19: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBJws42spz3r33; Tue, 7 Feb 2023 23:19:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675811949; 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=SAvGEZOcdlzfWho5geIvARC5sUqXsIm2dIM3EnLlof4=; b=RpKApRpydNYi2Mijw+Z7Xs2fSBOu3hykB97dWkxXs37vAmXlHW3D3fJTi10ceO2RGa8tyP /BFH3MGnkg15UKZeigWVJF22D4m2GRi2O3FyBMeRa+pmzPWENY169pt8/7psL9zFUuJJEk 1Nq1AKIriLZn3b+fxMjwiblFY5wp9RGWkFw26VWIgv2BStwoCZO3EGzZqVvJU6aagi1+1d aoF87qNapZhRKLWG1dRLcd2Rlh/SpCTeNg1yOUjW3sS/fsbka93Lm2D3OQ2dfx+9e0Y9pF q0LljjC5YPJ4urW1lk3XYjM3I+StB10pTrbzzI1DsAOuizsmqneFAj+IWlRIAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675811949; 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=SAvGEZOcdlzfWho5geIvARC5sUqXsIm2dIM3EnLlof4=; b=cUKh7hqf37Qff2bGzvzKgfYnO1Fdb6lxLHSXZ6HwckSxKa5VpdY+9dYmAJ7AEH+greK+l7 0kK6TvaQg6hHQXE1ZQO3zy2Fg9YEPOIiA/uk7fij7b17Wa5XCk/aEX/C4Kh180lPXTvKM/ EjQHwI987StdjHHMf6sKMk/7eep+FJJkqXG0hwxjoSeIJalBgLCGz0JIvQ/QGCYcUpNoYQ gd65S1O2sY8b2sB2dfu0+Ant7pWBA4VcAC8CBCyxJHsTPMl9RLo3JQwz0QYGKMvUXdqSCT jLHFB+roEN3pSikX6oNEdbJ2jBRFMk1/lOy2uTDKIlAj0jWlcUDJNYDvhtQQug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675811949; a=rsa-sha256; cv=none; b=cY+30nE0lPL4O5cSr6r89+k8m/HDwMLQNHJExLOqj5SNkX2NPzqK/g+kB770aa+vm5dqGu FPiJ26Txdt4Eabay76A7Py7zvZ8/15kZhDRt9aMJMHiT8zwjG0bqnA4nqBl11qkd/ILqQx 2eVhC+hqyF8UpPuJoCDpOmr3eYnWoTUV8zHqXBGuq8RdonHkkJFws613KpkcySifMn0NkI KobPp5yZndBJ2UwV5nzIYko4BsaimWC3Y4anr0R61GsaPqDgBtOyHwZ34BT8HuaH/GJ0/M Z8qaUDgy+x6f/wEYAlf6QgRymFQ8s4OxRcTIo/BznEGepaY2ruYImTTPhYQxdg== 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 4PBJws34TnzZmQ; Tue, 7 Feb 2023 23:19:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317NJ9Ev095775; Tue, 7 Feb 2023 23:19:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317NJ9LO095774; Tue, 7 Feb 2023 23:19:09 GMT (envelope-from git) Date: Tue, 7 Feb 2023 23:19:09 GMT Message-Id: <202302072319.317NJ9LO095774@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: ed40bc50dff0 - main - fifofs: ansify List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ed40bc50dff06219baa251f1d238249624cb74ec Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=ed40bc50dff06219baa251f1d238249624cb74ec commit ed40bc50dff06219baa251f1d238249624cb74ec Author: Mateusz Guzik AuthorDate: 2023-02-07 23:18:51 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-07 23:18:51 +0000 fifofs: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/fs/fifofs/fifo_vnops.c | 34 +++++----------------------------- 1 file changed, 5 insertions(+), 29 deletions(-) diff --git a/sys/fs/fifofs/fifo_vnops.c b/sys/fs/fifofs/fifo_vnops.c index d9dc8eee8e60..8a567205db0b 100644 --- a/sys/fs/fifofs/fifo_vnops.c +++ b/sys/fs/fifofs/fifo_vnops.c @@ -126,14 +126,7 @@ fifo_cleanup(struct vnode *vp) */ /* ARGSUSED */ static int -fifo_open(ap) - struct vop_open_args /* { - struct vnode *a_vp; - int a_mode; - struct ucred *a_cred; - struct thread *a_td; - struct file *a_fp; - } */ *ap; +fifo_open(struct vop_open_args *ap) { struct vnode *vp; struct file *fp; @@ -268,13 +261,7 @@ fifo_open(ap) */ /* ARGSUSED */ static int -fifo_close(ap) - struct vop_close_args /* { - struct vnode *a_vp; - int a_fflag; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; +fifo_close(struct vop_close_args *ap) { struct vnode *vp; struct fifoinfo *fip; @@ -331,8 +318,7 @@ fifo_close(ap) * Print out internal contents of a fifo vnode. */ int -fifo_printinfo(vp) - struct vnode *vp; +fifo_printinfo(struct vnode *vp) { struct fifoinfo *fip = vp->v_fifoinfo; @@ -349,10 +335,7 @@ fifo_printinfo(vp) * Print out the contents of a fifo vnode. */ static int -fifo_print(ap) - struct vop_print_args /* { - struct vnode *a_vp; - } */ *ap; +fifo_print(struct vop_print_args *ap) { printf(" "); fifo_printinfo(ap->a_vp); @@ -365,14 +348,7 @@ fifo_print(ap) */ /* ARGSUSED */ static int -fifo_advlock(ap) - struct vop_advlock_args /* { - struct vnode *a_vp; - caddr_t a_id; - int a_op; - struct flock *a_fl; - int a_flags; - } */ *ap; +fifo_advlock(struct vop_advlock_args *ap) { if ((ap->a_flags & F_FLOCK) == 0) From nobody Tue Feb 7 23:22:43 2023 X-Original-To: dev-commits-src-main@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 4PBK0z5mVLz3nrR8; Tue, 7 Feb 2023 23:22: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBK0z5JrGz3rK4; Tue, 7 Feb 2023 23:22:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675812163; 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=BaSgQ23Za67o7mwxDc21gFNg5MLGLxu+eXdM/HaN+xo=; b=DI4j3eBC+y9NE26IJ6ztei9OkhK+IPlO8OxSgqoR4imPBQMgUwg4cILYTzwV1Pl3YzAkn0 cbxAQwWUGZytl2kCD0pHdv4CrIfQ8i3Qi7+u/KRs6WZNtDKuJpf6LRFVw2m+hk3KGn/Xfs 3Aq/5I++RJ1Enjjc45BgR46Ek1tETiN205cDuNk6ZPM1O4gh3BMcp5L8S5m/DGMWUvD5mM KGzP4zkVBDbOx4nxE+/tAtjAEWpE5FHIFnqqsU7OUhY6CNW/NBxTa30g/CwfsCxT+2OIt9 U9YhbNXBhg0Q6JXK1dl1daDYhy4wcDHMvX39qVFw7ratOZFnia5jzQGTjmADUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675812163; 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=BaSgQ23Za67o7mwxDc21gFNg5MLGLxu+eXdM/HaN+xo=; b=y0QrusFtFN+CM1rJnUj6U42cxaFWXGErDbSwIv+fYZfw8BHUGMkoEFUnwf9pPsfgB9lbKg 8O+3U1eFFVcqil6UBqIuqz6+l6x5s39zJb0A5rnng0uVRtSgXe8MrwtgWzlHMsIKoqI90j EBk88LhLZ0kaQzzIxbxUUlvzx7iQE+gvohYlIKMHX03BbZf+uVvWZ3ZkLxTwciVyLA368o 2dIZT1NtM3XbAgBHjmpxhq9orwSKv36VnY7jHCVn7WdTJCoHmOcb3nb5RvEZlJV+CsEyUC 2Dt74RRi9aH2bcwR1ZXYeHfQEKxgIdWr8Yvt2wVuAcRp45FID00rSnHf1DwfrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675812163; a=rsa-sha256; cv=none; b=lweAHVLr1T1daxAPEoWGXmvM2Aa5BuqKI/ia2eapoJVdJFnE4FlJCNm0ELw0LMUMCVD6eY 71K4eppO5q4ocHCNWILf0v1goH4AJz04qsiDDvk8JBHtLqQ+F6xe+p78D1YPqQP33hixZj Hf4iqR6hEz6Vbi754zBHe64o4IMq8bTag2lstRZsR8BgPPFStEg8z92Nc7ZIc23S+42P8g 7fkfT3Ln3W3oy/fHstnXICIBG9fCWcYrAlSNZRq37iDHinbuhqyk28llSqOtxnLG278AYn bizy6Maml3aEAs6UGkB5NRamaAUqLTMki1KD92M305R5cYRYqmq2xW60mapJYQ== 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 4PBK0z437pzZkB; Tue, 7 Feb 2023 23:22:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317NMhit009794; Tue, 7 Feb 2023 23:22:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317NMh1b009793; Tue, 7 Feb 2023 23:22:43 GMT (envelope-from git) Date: Tue, 7 Feb 2023 23:22:43 GMT Message-Id: <202302072322.317NMh1b009793@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 24641b8b3964 - main - nullfs: ansify List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 24641b8b3964e9015d3f8579b2359104bb0e5eea Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=24641b8b3964e9015d3f8579b2359104bb0e5eea commit 24641b8b3964e9015d3f8579b2359104bb0e5eea Author: Mateusz Guzik AuthorDate: 2023-02-07 23:22:27 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-07 23:22:27 +0000 nullfs: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/fs/nullfs/null_vfsops.c | 46 ++++++++++----------------------------------- 1 file changed, 10 insertions(+), 36 deletions(-) diff --git a/sys/fs/nullfs/null_vfsops.c b/sys/fs/nullfs/null_vfsops.c index 7f78d23ba016..89500e4025a3 100644 --- a/sys/fs/nullfs/null_vfsops.c +++ b/sys/fs/nullfs/null_vfsops.c @@ -241,9 +241,7 @@ nullfs_mount(struct mount *mp) * Free reference to null layer */ static int -nullfs_unmount(mp, mntflags) - struct mount *mp; - int mntflags; +nullfs_unmount(struct mount *mp, int mntflags) { struct null_mount *mntdata; int error, flags; @@ -291,10 +289,7 @@ nullfs_unmount(mp, mntflags) } static int -nullfs_root(mp, flags, vpp) - struct mount *mp; - int flags; - struct vnode **vpp; +nullfs_root(struct mount *mp, int flags, struct vnode **vpp) { struct vnode *vp; struct null_mount *mntdata; @@ -315,12 +310,7 @@ nullfs_root(mp, flags, vpp) } static int -nullfs_quotactl(mp, cmd, uid, arg, mp_busy) - struct mount *mp; - int cmd; - uid_t uid; - void *arg; - bool *mp_busy; +nullfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg, bool *mp_busy) { struct mount *lowermp; struct null_mount *mntdata; @@ -351,9 +341,7 @@ nullfs_quotactl(mp, cmd, uid, arg, mp_busy) } static int -nullfs_statfs(mp, sbp) - struct mount *mp; - struct statfs *sbp; +nullfs_statfs(struct mount *mp, struct statfs *sbp) { int error; struct statfs *mstat; @@ -388,9 +376,7 @@ nullfs_statfs(mp, sbp) } static int -nullfs_sync(mp, waitfor) - struct mount *mp; - int waitfor; +nullfs_sync(struct mount *mp, int waitfor) { /* * XXX - Assumes no data cached at null layer. @@ -399,11 +385,7 @@ nullfs_sync(mp, waitfor) } static int -nullfs_vget(mp, ino, flags, vpp) - struct mount *mp; - ino_t ino; - int flags; - struct vnode **vpp; +nullfs_vget(struct mount *mp, ino_t ino, int flags, struct vnode **vpp) { int error; @@ -417,11 +399,7 @@ nullfs_vget(mp, ino, flags, vpp) } static int -nullfs_fhtovp(mp, fidp, flags, vpp) - struct mount *mp; - struct fid *fidp; - int flags; - struct vnode **vpp; +nullfs_fhtovp(struct mount *mp, struct fid *fidp, int flags, struct vnode **vpp) { int error; @@ -432,13 +410,9 @@ nullfs_fhtovp(mp, fidp, flags, vpp) return (null_nodeget(mp, *vpp, vpp)); } -static int -nullfs_extattrctl(mp, cmd, filename_vp, namespace, attrname) - struct mount *mp; - int cmd; - struct vnode *filename_vp; - int namespace; - const char *attrname; +static int +nullfs_extattrctl(struct mount *mp, int cmd, struct vnode *filename_vp, + int namespace, const char *attrname) { return (VFS_EXTATTRCTL(MOUNTTONULLMOUNT(mp)->nullm_vfs, cmd, From nobody Tue Feb 7 23:24:41 2023 X-Original-To: dev-commits-src-main@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 4PBK3F5z4gz3nrRQ; Tue, 7 Feb 2023 23:24:41 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBK3F5Vrrz3s5f; Tue, 7 Feb 2023 23:24:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675812281; 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=h8xhtEgMZSVuiipN+ffSdYhVaFjUTeOvooxGx52P7lo=; b=ZbiibxE4tQTAge4itxeKbv3YenCFghsHResMGRciZglbv2TfXa7jtOuUDAh8zt0fQA3ciW 02h9xlRlPfK5M136D8GYafY0LbVw7tmLUtrxbUwUE5xkLX8Q5KC2SO/py364J3UUU6xcET 9+UQmAmN61ah/aqvOQjiqtQscvLYZCRJxJgmGkGsb76/iksrHsQAlNRokssuJOC1GLJMn/ U3lhu7yHpi2zN9JWiipVWh5Jraa6sqFj/SwG34bE5VnEpavJR1DkqmRwZjyhaFoo/ta00V p+aRINgwmMS1zPwH+c3HO88J+REecF+XWTGU9F09MG3kSflQ8GFgtxcD9kh7Cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675812281; 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=h8xhtEgMZSVuiipN+ffSdYhVaFjUTeOvooxGx52P7lo=; b=Tpdq5QEuGVdsAeO1g10ifN5t3mXPYaP7fGvM2/M4+Pr8cHbrLn2vvKQtvqlqXNpWMkpr/K 0M3ZsYtLdlvaOWsnn/K1XdTlmQVj1ELZ5MKHmp6C/v8HNneAvAq9JkLwox0L9AYbt9viIq 2dg+hKGFVrGGiqxy34kEpDLtgONmz0v08nOd4mL/c62XEvoPFBTTjbEu0idJrzQ/id4xfd QJRdVmqUhgvAKjArxyPi5RiwifzjjrAf2Wsd+8nMTALHUsv3Sbz8PWSsw5G6U5F+IlR7/m umoTjSHKpeTw+Pr27qwFHbWBsBgiA77RbBcUYk+POs3eHl9SgM+5TZA/Af/crg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675812281; a=rsa-sha256; cv=none; b=TALC2aymUujtEsz9+1CDd4ud6ak8pZw2vcU/NaPY4nicKqd8YTlWvAkcocdwQyg869XI2l PDAydGMfIijhnx2Ab+KlQf1ua48eC1rlAv58WdsonHfXWmJxkO06xxuvklfblaeOB55wgf KCzQtQZjYIZIvzp+OaJL/2WoXFBkHnmBDE5LFol3i+V1CUMNKJ7GYQ2jg0zPmTQ4xup4mc 5Ba2EuihApBhUIJp2b74fZAXZVoNydtE7tKxg3ckiWqz0SI0ggnK5gEUwP9z2v2ZC23XyR ol8uxcgzxDm63dz3K2t0kRoqM+dawaKTI6NW0SZdmLYsXUMxmloTE3FwfUi8XA== 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 4PBK3F4YH0zZkD; Tue, 7 Feb 2023 23:24:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317NOfAp010132; Tue, 7 Feb 2023 23:24:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317NOfLt010130; Tue, 7 Feb 2023 23:24:41 GMT (envelope-from git) Date: Tue, 7 Feb 2023 23:24:41 GMT Message-Id: <202302072324.317NOfLt010130@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 724240c6fa24 - main - udf: ansify List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 724240c6fa249e03762cee62a95405105bd69ebe Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=724240c6fa249e03762cee62a95405105bd69ebe commit 724240c6fa249e03762cee62a95405105bd69ebe Author: Mateusz Guzik AuthorDate: 2023-02-07 23:24:24 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-07 23:24:24 +0000 udf: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/fs/udf/osta.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sys/fs/udf/osta.c b/sys/fs/udf/osta.c index 70a22d933652..b9d358b5aced 100644 --- a/sys/fs/udf/osta.c +++ b/sys/fs/udf/osta.c @@ -211,9 +211,7 @@ static unsigned short crc_table[256] = { }; unsigned short -udf_cksum(s, n) - unsigned char *s; - int n; +udf_cksum(unsigned char *s, int n) { unsigned short crc=0; @@ -224,9 +222,7 @@ udf_cksum(s, n) /* UNICODE Checksum */ unsigned short -udf_unicode_cksum(s, n) - unsigned short *s; - int n; +udf_unicode_cksum(unsigned short *s, int n) { unsigned short crc=0; From nobody Tue Feb 7 23:35:28 2023 X-Original-To: dev-commits-src-main@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 4PBKHj2Gkrz3nrqS; Tue, 7 Feb 2023 23:35:29 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBKHj1fsXz3tMZ; Tue, 7 Feb 2023 23:35:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675812929; 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=hkjkp4r5yBN2UkU5/3RPL0msve77H8nCMMN/vq2Haic=; b=LT+LjgqSzdMb8a0b5HASbNemis1PcpEHQq/q9ow0hjHWYOrLrb04k0dD0srXgVdMpcVVVP W4irYla3ZXIwIlC5kFGlQuT4edDZTnjWHrLlzNRwy8k0My3XAc73dB3v3ywGeNt9+NpWoY 9rlkiifK+AV/oIeh4MX8FpBZDjxT2NJjNCOm1ap0WcCw/ac9SbgnEypcEEmE7LnaeBIYQc W5OTYAzPTL3OH4N1dxOcbbM33j4mgV4rdLy7zhzJxi+kKgzX4itwzJZsO4sEDfXmsD3/mI RBhjtU0jHnnWM/LErQIM0g/LVog/HvH7YfoXY2LyoMcJnjiPLwFYHEreF+COXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675812929; 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=hkjkp4r5yBN2UkU5/3RPL0msve77H8nCMMN/vq2Haic=; b=MhRj1H76k5QI2MUapKyXu6BrFh6H9bLzcJEnQITVJUkwBZMqFdVc2JtzjIZbk1tYEmq1xy uq0CVdM01M5cZjwgnVjALew+J2Xxt/yaINeE/m1Gl/PyfU/SRCr1L10R6Z+UxifyTdTvsp QVZCdKgiF9I2OWW5lkS8+ax8imhlOd+iIFGyYIDYvXs1SM3dP/Hgf22LE1yS+zAh5Zid2S L92oNtGE1/JKGbm7hsnlPQE4RdGbYtX2L+F8aj6ZNQnz70JimXc5Y7kKFE7i26hGUZ9Bt7 n6pNczng3qrAT0pBcjbYFhWLDpMVhTE7OBANf0MaEomSukrdmcfMfuCC37NAtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675812929; a=rsa-sha256; cv=none; b=Bqw0JpCMBgrZxkWHiVJsdq+Qh6d5Fs+vptoJLNmyUb09l1zxgFWwpBWNMqjjHx5sSkIZl2 YXdMZjnhyV4/BHQhTnlFAbJ1NG5XpgdMc5pKbIvN9PfRoTV3YLE9PY6HoxhyUNT84sAmUQ QqrhlIMet9LLL11WxZvXFw1tJ+E+slqaBbyVdtxeb1TtvizjXwu2r5k3EzeI6KTTVhSKuY prZzEd9+W/U8gvSf64fSjFhXFAjsYknFJXVaug4xRcq0j6S9MMgwtjqGPwkCVO5A6L9/Sx JG4TMKC20OLkSISaxWrM8UVFC6QSBHx5fxF1LggZ6dBs2kwJS4IM9SB/NV4P5A== 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 4PBKHj0LyXzbRw; Tue, 7 Feb 2023 23:35:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 317NZSuT024374; Tue, 7 Feb 2023 23:35:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 317NZSuZ024373; Tue, 7 Feb 2023 23:35:28 GMT (envelope-from git) Date: Tue, 7 Feb 2023 23:35:28 GMT Message-Id: <202302072335.317NZSuZ024373@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: b09b03a19d26 - main - smbfs: ansify List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b09b03a19d26e63046f3413cc8be2e4ece08daff Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=b09b03a19d26e63046f3413cc8be2e4ece08daff commit b09b03a19d26e63046f3413cc8be2e4ece08daff Author: Mateusz Guzik AuthorDate: 2023-02-07 23:35:11 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-07 23:35:11 +0000 smbfs: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/fs/smbfs/smbfs_io.c | 17 +--- sys/fs/smbfs/smbfs_node.c | 10 +-- sys/fs/smbfs/smbfs_vfsops.c | 7 +- sys/fs/smbfs/smbfs_vnops.c | 184 ++++++-------------------------------------- 4 files changed, 30 insertions(+), 188 deletions(-) diff --git a/sys/fs/smbfs/smbfs_io.c b/sys/fs/smbfs/smbfs_io.c index f92fe50ccd99..0927ec420cf5 100644 --- a/sys/fs/smbfs/smbfs_io.c +++ b/sys/fs/smbfs/smbfs_io.c @@ -413,13 +413,7 @@ smbfs_doio(struct vnode *vp, struct buf *bp, struct ucred *cr, struct thread *td * Wish wish .... get rid from multiple IO routines */ int -smbfs_getpages(ap) - struct vop_getpages_args /* { - struct vnode *a_vp; - vm_page_t *a_m; - int a_count; - int a_reqpage; - } */ *ap; +smbfs_getpages(struct vop_getpages_args *ap) { #ifdef SMBFS_RWGENERIC return vop_stdgetpages(ap); @@ -544,14 +538,7 @@ out: * not necessary to open vnode. */ int -smbfs_putpages(ap) - struct vop_putpages_args /* { - struct vnode *a_vp; - vm_page_t *a_m; - int a_count; - int a_sync; - int *a_rtvals; - } */ *ap; +smbfs_putpages(struct vop_putpages_args *ap) { int error; struct vnode *vp = ap->a_vp; diff --git a/sys/fs/smbfs/smbfs_node.c b/sys/fs/smbfs/smbfs_node.c index ef47aa4cd623..bc690af5dbf1 100644 --- a/sys/fs/smbfs/smbfs_node.c +++ b/sys/fs/smbfs/smbfs_node.c @@ -257,10 +257,7 @@ smbfs_nget(struct mount *mp, struct vnode *dvp, const char *name, int nmlen, * Free smbnode, and give vnode back to system */ int -smbfs_reclaim(ap) - struct vop_reclaim_args /* { - struct vnode *a_vp; - } */ *ap; +smbfs_reclaim(struct vop_reclaim_args *ap) { struct vnode *vp = ap->a_vp; struct vnode *dvp; @@ -296,10 +293,7 @@ smbfs_reclaim(ap) } int -smbfs_inactive(ap) - struct vop_inactive_args /* { - struct vnode *a_vp; - } */ *ap; +smbfs_inactive(struct vop_inactive_args *ap) { struct thread *td = curthread; struct ucred *cred = td->td_ucred; diff --git a/sys/fs/smbfs/smbfs_vfsops.c b/sys/fs/smbfs/smbfs_vfsops.c index 9d6fa9274e36..d37633b550dd 100644 --- a/sys/fs/smbfs/smbfs_vfsops.c +++ b/sys/fs/smbfs/smbfs_vfsops.c @@ -349,12 +349,7 @@ out: */ /* ARGSUSED */ static int -smbfs_quotactl(mp, cmd, uid, arg, mp_busy) - struct mount *mp; - int cmd; - uid_t uid; - void *arg; - bool *mp_busy; +smbfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg, bool *mp_busy) { SMBVDEBUG("return EOPNOTSUPP\n"); return EOPNOTSUPP; diff --git a/sys/fs/smbfs/smbfs_vnops.c b/sys/fs/smbfs/smbfs_vnops.c index 1b1bb35e9749..58369b5b2676 100644 --- a/sys/fs/smbfs/smbfs_vnops.c +++ b/sys/fs/smbfs/smbfs_vnops.c @@ -116,13 +116,7 @@ struct vop_vector smbfs_vnodeops = { VFS_VOP_VECTOR_REGISTER(smbfs_vnodeops); static int -smbfs_access(ap) - struct vop_access_args /* { - struct vnode *a_vp; - accmode_t a_accmode; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; +smbfs_access(struct vop_access_args *ap) { struct vnode *vp = ap->a_vp; accmode_t accmode = ap->a_accmode; @@ -145,13 +139,7 @@ smbfs_access(ap) /* ARGSUSED */ static int -smbfs_open(ap) - struct vop_open_args /* { - struct vnode *a_vp; - int a_mode; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; +smbfs_open(struct vop_open_args *ap) { struct vnode *vp = ap->a_vp; struct smbnode *np = VTOSMB(vp); @@ -220,14 +208,7 @@ smbfs_open(ap) } static int -smbfs_close(ap) - struct vop_close_args /* { - struct vnodeop_desc *a_desc; - struct vnode *a_vp; - int a_fflag; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; +smbfs_close(struct vop_close_args *ap) { struct vnode *vp = ap->a_vp; struct thread *td = ap->a_td; @@ -249,12 +230,7 @@ smbfs_close(ap) * smbfs_getattr call from vfs. */ static int -smbfs_getattr(ap) - struct vop_getattr_args /* { - struct vnode *a_vp; - struct vattr *a_vap; - struct ucred *a_cred; - } */ *ap; +smbfs_getattr(struct vop_getattr_args *ap) { struct vnode *vp = ap->a_vp; struct smbnode *np = VTOSMB(vp); @@ -287,12 +263,7 @@ smbfs_getattr(ap) } static int -smbfs_setattr(ap) - struct vop_setattr_args /* { - struct vnode *a_vp; - struct vattr *a_vap; - struct ucred *a_cred; - } */ *ap; +smbfs_setattr(struct vop_setattr_args *ap) { struct vnode *vp = ap->a_vp; struct smbnode *np = VTOSMB(vp); @@ -489,13 +460,7 @@ out: * smbfs_read call. */ static int -smbfs_read(ap) - struct vop_read_args /* { - struct vnode *a_vp; - struct uio *a_uio; - int a_ioflag; - struct ucred *a_cred; - } */ *ap; +smbfs_read(struct vop_read_args *ap) { struct vnode *vp = ap->a_vp; struct uio *uio = ap->a_uio; @@ -507,13 +472,7 @@ smbfs_read(ap) } static int -smbfs_write(ap) - struct vop_write_args /* { - struct vnode *a_vp; - struct uio *a_uio; - int a_ioflag; - struct ucred *a_cred; - } */ *ap; +smbfs_write(struct vop_write_args *ap) { struct vnode *vp = ap->a_vp; struct uio *uio = ap->a_uio; @@ -531,13 +490,7 @@ smbfs_write(ap) * the pathname buffer pointed at by cnp->cn_pnbuf, always on error. */ static int -smbfs_create(ap) - struct vop_create_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - struct vattr *a_vap; - } */ *ap; +smbfs_create(struct vop_create_args *ap) { struct vnode *dvp = ap->a_dvp; struct vattr *vap = ap->a_vap; @@ -579,13 +532,7 @@ out: } static int -smbfs_remove(ap) - struct vop_remove_args /* { - struct vnodeop_desc *a_desc; - struct vnode * a_dvp; - struct vnode * a_vp; - struct componentname * a_cnp; - } */ *ap; +smbfs_remove(struct vop_remove_args *ap) { struct vnode *vp = ap->a_vp; /* struct vnode *dvp = ap->a_dvp;*/ @@ -610,15 +557,7 @@ smbfs_remove(ap) * smbfs_file rename call */ static int -smbfs_rename(ap) - struct vop_rename_args /* { - struct vnode *a_fdvp; - struct vnode *a_fvp; - struct componentname *a_fcnp; - struct vnode *a_tdvp; - struct vnode *a_tvp; - struct componentname *a_tcnp; - } */ *ap; +smbfs_rename(struct vop_rename_args *ap) { struct vnode *fvp = ap->a_fvp; struct vnode *tvp = ap->a_tvp; @@ -714,12 +653,7 @@ out: * somtime it will come true... */ static int -smbfs_link(ap) - struct vop_link_args /* { - struct vnode *a_tdvp; - struct vnode *a_vp; - struct componentname *a_cnp; - } */ *ap; +smbfs_link(struct vop_link_args *ap) { return EOPNOTSUPP; } @@ -729,34 +663,19 @@ smbfs_link(ap) * Sometime it will be functional... */ static int -smbfs_symlink(ap) - struct vop_symlink_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - struct vattr *a_vap; - char *a_target; - } */ *ap; +smbfs_symlink(struct vop_symlink_args *ap) { return EOPNOTSUPP; } static int -smbfs_mknod(ap) - struct vop_mknod_args /* { - } */ *ap; +smbfs_mknod(struct vop_mknod_args *ap) { return EOPNOTSUPP; } static int -smbfs_mkdir(ap) - struct vop_mkdir_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - struct vattr *a_vap; - } */ *ap; +smbfs_mkdir(struct vop_mkdir_args *ap) { struct vnode *dvp = ap->a_dvp; /* struct vattr *vap = ap->a_vap;*/ @@ -772,7 +691,7 @@ smbfs_mkdir(ap) if ((error = VOP_GETATTR(dvp, &vattr, cnp->cn_cred))) { return error; - } + } if ((name[0] == '.') && ((len == 1) || ((len == 2) && (name[1] == '.')))) return EEXIST; scred = smbfs_malloc_scred(); @@ -796,12 +715,7 @@ out: * smbfs_remove directory call */ static int -smbfs_rmdir(ap) - struct vop_rmdir_args /* { - struct vnode *a_dvp; - struct vnode *a_vp; - struct componentname *a_cnp; - } */ *ap; +smbfs_rmdir(struct vop_rmdir_args *ap) { struct vnode *vp = ap->a_vp; struct vnode *dvp = ap->a_dvp; @@ -832,15 +746,7 @@ smbfs_rmdir(ap) * smbfs_readdir call */ static int -smbfs_readdir(ap) - struct vop_readdir_args /* { - struct vnode *a_vp; - struct uio *a_uio; - struct ucred *a_cred; - int *a_eofflag; - uint64_t *a_cookies; - int a_ncookies; - } */ *ap; +smbfs_readdir(struct vop_readdir_args *ap) { struct vnode *vp = ap->a_vp; struct uio *uio = ap->a_uio; @@ -860,24 +766,14 @@ smbfs_readdir(ap) /* ARGSUSED */ static int -smbfs_fsync(ap) - struct vop_fsync_args /* { - struct vnodeop_desc *a_desc; - struct vnode * a_vp; - struct ucred * a_cred; - int a_waitfor; - struct thread * a_td; - } */ *ap; +smbfs_fsync(struct vop_fsync_args *ap) { /* return (smb_flush(ap->a_vp, ap->a_cred, ap->a_waitfor, ap->a_td, 1));*/ return (0); } -static -int smbfs_print (ap) - struct vop_print_args /* { - struct vnode *a_vp; - } */ *ap; +static +int smbfs_print(struct vop_print_args *ap) { struct vnode *vp = ap->a_vp; struct smbnode *np = VTOSMB(vp); @@ -892,12 +788,7 @@ int smbfs_print (ap) } static int -smbfs_pathconf (ap) - struct vop_pathconf_args /* { - struct vnode *vp; - int name; - register_t *retval; - } */ *ap; +smbfs_pathconf(struct vop_pathconf_args *ap) { struct smbmount *smp = VFSTOSMBFS(VTOVFS(ap->a_vp)); struct smb_vc *vcp = SSTOVC(smp->sm_share); @@ -928,10 +819,7 @@ smbfs_pathconf (ap) } static int -smbfs_strategy (ap) - struct vop_strategy_args /* { - struct buf *a_bp - } */ *ap; +smbfs_strategy(struct vop_strategy_args *ap) { struct buf *bp=ap->a_bp; struct ucred *cr; @@ -953,15 +841,7 @@ smbfs_strategy (ap) } int -smbfs_ioctl(ap) - struct vop_ioctl_args /* { - struct vnode *a_vp; - u_long a_command; - caddr_t a_data; - int fflag; - struct ucred *cred; - struct thread *td; - } */ *ap; +smbfs_ioctl(struct vop_ioctl_args *ap) { return ENOTTY; } @@ -1000,7 +880,6 @@ smbfs_getextattr(struct vop_getextattr_args *ap) buf[i] = (attr & 1) ? smbfs_atl[i] : '-'; buf[i] = 0; error = uiomove(buf, i, uio); - } else error = EINVAL; return error; @@ -1012,14 +891,7 @@ smbfs_getextattr(struct vop_getextattr_args *ap) * a callback mechanism because it will help to improve a level of consistency. */ int -smbfs_advlock(ap) - struct vop_advlock_args /* { - struct vnode *a_vp; - caddr_t a_id; - int a_op; - struct flock *a_fl; - int a_flags; - } */ *ap; +smbfs_advlock(struct vop_advlock_args *ap) { struct vnode *vp = ap->a_vp; struct smbnode *np = VTOSMB(vp); @@ -1168,13 +1040,7 @@ smbfs_pathcheck(struct smbmount *smp, const char *name, int nmlen, int nameiop) * Things go even weird without fixed inode numbers... */ int -smbfs_lookup(ap) - struct vop_lookup_args /* { - struct vnodeop_desc *a_desc; - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - } */ *ap; +smbfs_lookup(struct vop_lookup_args *ap) { struct componentname *cnp = ap->a_cnp; struct thread *td = curthread; From nobody Wed Feb 8 00:05:23 2023 X-Original-To: dev-commits-src-main@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 4PBKyD32SQz3p89v; Wed, 8 Feb 2023 00:05:24 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBKyD1bSBz3vxp; Wed, 8 Feb 2023 00:05:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675814724; 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=/3amczCd3I42pNcvyL3jrHB0ju+nTfNV2QhIyI3WncM=; b=F+Bx5mwTh+bSRdIE/q/pjspW6w3eEmc6OeF9sH7hHHwyouhq1TNuBNI6D+GHJ+EIAutOYF mWe5vIMq8DvPGzSkmZDyidcoysvqa3UV2RCAafJMND4PWoMHHQMFNdrMt1VDeDva+V1uc2 0jgxbZMrWXSStuf7UIppLLtpHggTmqQwAiCxDon12LQJmbFVBWIR+gG3iKMQQkCEUs8Z5c Zt8y/RdSIqU3Viwyr+sskV5yXm1o3Un1mKeiapcnPX8Igfdf/Y+4jLBgitsmjf3O2MQCLC j8rHYRbaQ3leHLANKaqdJOdUW5inFpr94Oh+EJVHKPBQmh7w37mDTfkeQcjdWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675814724; 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=/3amczCd3I42pNcvyL3jrHB0ju+nTfNV2QhIyI3WncM=; b=TPQ+GWTnpAZQjXexlQWfc2r+8IWYZ7bsWmuAPKmcmqzNSng4L7PByO4F92KACzfi7AxDUA WOmi4WEis3ZLWUZJRw5CwmrWcISgCRR4ntlGc30YoQfRMs3FdS9JJ9Qg9NLKcBvxyVC/kX Ta6PadvYlomBXTI4UHmfqMlwHwMswbUTlZPFDxBtbiyu+olf4JTjM5b0bbgjgafYRVKy6V ueY5qgo0Gk2wTkuYka2eCv97CEFkYcPGd0Gf2St/Urx76DskF0db3VaK0u9YzLlzc31RRB 44zRkMBV9fx6KOERILtqU4kX/EZaDEhdC0tdZ7MhGd3UyclEeX+V41ZY/wywrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675814724; a=rsa-sha256; cv=none; b=jIxPg0nRGIoW5tcTOHD77L3vzpS12YbB+4/y1xxGkKNNxIKapC8IQw6+OEzxf7vC9QpjI8 /QBL4efik47SpPhfqziu4fGf3bijKttf5ah4f5VPbw8XJ5AgZn1muMSN91KFVOdSd4Znbw XZwDzO4LvwrmWX2y/4zKHTpoWSDWeugwYzq4rsjPEHiZBgX71OlIyiHKYPFb+OY1+y4af3 Me6aQowa+rpidyI9maQNadWd51tS2EIolUldrf1tErX+L1TjIhA1icc5PKfcl3HKeZMSJr n/LthlCOkzmzXXH9qQS+RLo/PSJ8LPaXzs2ske8IjSecUhn/duLPThomsorv3g== 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 4PBKyD0g49zcSX; Wed, 8 Feb 2023 00:05:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31805NtM067489; Wed, 8 Feb 2023 00:05:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31805Nqa067488; Wed, 8 Feb 2023 00:05:23 GMT (envelope-from git) Date: Wed, 8 Feb 2023 00:05:23 GMT Message-Id: <202302080005.31805Nqa067488@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 82c519c21f15 - main - sk: ansify List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 82c519c21f15b7ce4775a7484aa4354f40771480 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=82c519c21f15b7ce4775a7484aa4354f40771480 commit 82c519c21f15b7ce4775a7484aa4354f40771480 Author: Mateusz Guzik AuthorDate: 2023-02-08 00:05:03 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-08 00:05:03 +0000 sk: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/dev/sk/if_sk.c | 225 +++++++++++++++-------------------------------------- 1 file changed, 64 insertions(+), 161 deletions(-) diff --git a/sys/dev/sk/if_sk.c b/sys/dev/sk/if_sk.c index 46a17db3a301..ac0f552da7d1 100644 --- a/sys/dev/sk/if_sk.c +++ b/sys/dev/sk/if_sk.c @@ -360,9 +360,7 @@ static struct resource_spec sk_res_spec_mem[] = { sk_win_write_2(sc, reg, sk_win_read_2(sc, reg) & ~x) static u_int32_t -sk_win_read_4(sc, reg) - struct sk_softc *sc; - int reg; +sk_win_read_4(struct sk_softc *sc, int reg) { #ifdef SK_USEIOSPACE CSR_WRITE_4(sc, SK_RAP, SK_WIN(reg)); @@ -373,9 +371,7 @@ sk_win_read_4(sc, reg) } static u_int16_t -sk_win_read_2(sc, reg) - struct sk_softc *sc; - int reg; +sk_win_read_2(struct sk_softc *sc, int reg) { #ifdef SK_USEIOSPACE CSR_WRITE_4(sc, SK_RAP, SK_WIN(reg)); @@ -386,9 +382,7 @@ sk_win_read_2(sc, reg) } static u_int8_t -sk_win_read_1(sc, reg) - struct sk_softc *sc; - int reg; +sk_win_read_1(struct sk_softc *sc, int reg) { #ifdef SK_USEIOSPACE CSR_WRITE_4(sc, SK_RAP, SK_WIN(reg)); @@ -399,10 +393,7 @@ sk_win_read_1(sc, reg) } static void -sk_win_write_4(sc, reg, val) - struct sk_softc *sc; - int reg; - u_int32_t val; +sk_win_write_4(struct sk_softc *sc, int reg, u_int32_t val) { #ifdef SK_USEIOSPACE CSR_WRITE_4(sc, SK_RAP, SK_WIN(reg)); @@ -414,10 +405,7 @@ sk_win_write_4(sc, reg, val) } static void -sk_win_write_2(sc, reg, val) - struct sk_softc *sc; - int reg; - u_int32_t val; +sk_win_write_2(struct sk_softc *sc, int reg, u_int32_t val) { #ifdef SK_USEIOSPACE CSR_WRITE_4(sc, SK_RAP, SK_WIN(reg)); @@ -429,10 +417,7 @@ sk_win_write_2(sc, reg, val) } static void -sk_win_write_1(sc, reg, val) - struct sk_softc *sc; - int reg; - u_int32_t val; +sk_win_write_1(struct sk_softc *sc, int reg, u_int32_t val) { #ifdef SK_USEIOSPACE CSR_WRITE_4(sc, SK_RAP, SK_WIN(reg)); @@ -444,9 +429,7 @@ sk_win_write_1(sc, reg, val) } static int -sk_miibus_readreg(dev, phy, reg) - device_t dev; - int phy, reg; +sk_miibus_readreg(device_t dev, int phy, int reg) { struct sk_if_softc *sc_if; int v; @@ -473,9 +456,7 @@ sk_miibus_readreg(dev, phy, reg) } static int -sk_miibus_writereg(dev, phy, reg, val) - device_t dev; - int phy, reg, val; +sk_miibus_writereg(device_t dev, int phy, int reg, int val) { struct sk_if_softc *sc_if; int v; @@ -502,8 +483,7 @@ sk_miibus_writereg(dev, phy, reg, val) } static void -sk_miibus_statchg(dev) - device_t dev; +sk_miibus_statchg(device_t dev) { struct sk_if_softc *sc_if; @@ -526,9 +506,7 @@ sk_miibus_statchg(dev) } static int -sk_xmac_miibus_readreg(sc_if, phy, reg) - struct sk_if_softc *sc_if; - int phy, reg; +sk_xmac_miibus_readreg(struct sk_if_softc *sc_if, int phy, int reg) { int i; @@ -554,9 +532,7 @@ sk_xmac_miibus_readreg(sc_if, phy, reg) } static int -sk_xmac_miibus_writereg(sc_if, phy, reg, val) - struct sk_if_softc *sc_if; - int phy, reg, val; +sk_xmac_miibus_writereg(struct sk_if_softc *sc_if, int phy, int reg, int val) { int i; @@ -584,8 +560,7 @@ sk_xmac_miibus_writereg(sc_if, phy, reg, val) } static void -sk_xmac_miibus_statchg(sc_if) - struct sk_if_softc *sc_if; +sk_xmac_miibus_statchg(struct sk_if_softc *sc_if) { struct mii_data *mii; @@ -605,9 +580,7 @@ sk_xmac_miibus_statchg(sc_if) } static int -sk_marv_miibus_readreg(sc_if, phy, reg) - struct sk_if_softc *sc_if; - int phy, reg; +sk_marv_miibus_readreg(struct sk_if_softc *sc_if, int phy, int reg) { u_int16_t val; int i; @@ -638,9 +611,7 @@ sk_marv_miibus_readreg(sc_if, phy, reg) } static int -sk_marv_miibus_writereg(sc_if, phy, reg, val) - struct sk_if_softc *sc_if; - int phy, reg, val; +sk_marv_miibus_writereg(struct sk_if_softc *sc_if, int phy, int reg, int val) { int i; @@ -660,8 +631,7 @@ sk_marv_miibus_writereg(sc_if, phy, reg, val) } static void -sk_marv_miibus_statchg(sc_if) - struct sk_if_softc *sc_if; +sk_marv_miibus_statchg(struct sk_if_softc *sc_if) { return; } @@ -669,8 +639,7 @@ sk_marv_miibus_statchg(sc_if) #define HASH_BITS 6 static u_int32_t -sk_xmchash(addr) - const uint8_t *addr; +sk_xmchash(const uint8_t *addr) { uint32_t crc; @@ -681,10 +650,7 @@ sk_xmchash(addr) } static void -sk_setfilt(sc_if, addr, slot) - struct sk_if_softc *sc_if; - u_int16_t *addr; - int slot; +sk_setfilt(struct sk_if_softc *sc_if, u_int16_t *addr, int slot) { int base; @@ -698,8 +664,7 @@ sk_setfilt(sc_if, addr, slot) } static void -sk_rxfilter(sc_if) - struct sk_if_softc *sc_if; +sk_rxfilter(struct sk_if_softc *sc_if) { struct sk_softc *sc; @@ -822,8 +787,7 @@ sk_rxfilter_yukon(struct sk_if_softc *sc_if) } static int -sk_init_rx_ring(sc_if) - struct sk_if_softc *sc_if; +sk_init_rx_ring(struct sk_if_softc *sc_if) { struct sk_ring_data *rd; bus_addr_t addr; @@ -855,8 +819,7 @@ sk_init_rx_ring(sc_if) } static int -sk_init_jumbo_rx_ring(sc_if) - struct sk_if_softc *sc_if; +sk_init_jumbo_rx_ring(struct sk_if_softc *sc_if) { struct sk_ring_data *rd; bus_addr_t addr; @@ -889,8 +852,7 @@ sk_init_jumbo_rx_ring(sc_if) } static void -sk_init_tx_ring(sc_if) - struct sk_if_softc *sc_if; +sk_init_tx_ring(struct sk_if_softc *sc_if) { struct sk_ring_data *rd; struct sk_txdesc *txd; @@ -922,9 +884,7 @@ sk_init_tx_ring(sc_if) } static __inline void -sk_discard_rxbuf(sc_if, idx) - struct sk_if_softc *sc_if; - int idx; +sk_discard_rxbuf(struct sk_if_softc *sc_if, int idx) { struct sk_rx_desc *r; struct sk_rxdesc *rxd; @@ -937,9 +897,7 @@ sk_discard_rxbuf(sc_if, idx) } static __inline void -sk_discard_jumbo_rxbuf(sc_if, idx) - struct sk_if_softc *sc_if; - int idx; +sk_discard_jumbo_rxbuf(struct sk_if_softc *sc_if, int idx) { struct sk_rx_desc *r; struct sk_rxdesc *rxd; @@ -952,9 +910,7 @@ sk_discard_jumbo_rxbuf(sc_if, idx) } static int -sk_newbuf(sc_if, idx) - struct sk_if_softc *sc_if; - int idx; +sk_newbuf(struct sk_if_softc *sc_if, int idx) { struct sk_rx_desc *r; struct sk_rxdesc *rxd; @@ -997,9 +953,7 @@ sk_newbuf(sc_if, idx) } static int -sk_jumbo_newbuf(sc_if, idx) - struct sk_if_softc *sc_if; - int idx; +sk_jumbo_newbuf(struct sk_if_softc *sc_if, int idx) { struct sk_rx_desc *r; struct sk_rxdesc *rxd; @@ -1051,8 +1005,7 @@ sk_jumbo_newbuf(sc_if, idx) * Set media options. */ static int -sk_ifmedia_upd(ifp) - if_t ifp; +sk_ifmedia_upd(if_t ifp) { struct sk_if_softc *sc_if = if_getsoftc(ifp); struct mii_data *mii; @@ -1068,9 +1021,7 @@ sk_ifmedia_upd(ifp) * Report current media status. */ static void -sk_ifmedia_sts(ifp, ifmr) - if_t ifp; - struct ifmediareq *ifmr; +sk_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct sk_if_softc *sc_if; struct mii_data *mii; @@ -1086,10 +1037,7 @@ sk_ifmedia_sts(ifp, ifmr) } static int -sk_ioctl(ifp, command, data) - if_t ifp; - u_long command; - caddr_t data; +sk_ioctl(if_t ifp, u_long command, caddr_t data) { struct sk_if_softc *sc_if = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; @@ -1177,8 +1125,7 @@ sk_ioctl(ifp, command, data) * IDs against our list and return a device name if we find a match. */ static int -skc_probe(dev) - device_t dev; +skc_probe(device_t dev) { const struct sk_type *t = sk_devs; @@ -1209,8 +1156,7 @@ skc_probe(dev) * Force the GEnesis into reset, then bring it out of reset. */ static void -sk_reset(sc) - struct sk_softc *sc; +sk_reset(struct sk_softc *sc) { CSR_WRITE_2(sc, SK_CSR, SK_CSR_SW_RESET); @@ -1267,8 +1213,7 @@ sk_reset(sc) } static int -sk_probe(dev) - device_t dev; +sk_probe(device_t dev) { struct sk_softc *sc; @@ -1299,8 +1244,7 @@ sk_probe(dev) * Single port cards will have only one logical interface of course. */ static int -sk_attach(dev) - device_t dev; +sk_attach(device_t dev) { struct sk_softc *sc; struct sk_if_softc *sc_if; @@ -1534,8 +1478,7 @@ fail: * setup and ethernet/BPF attach. */ static int -skc_attach(dev) - device_t dev; +skc_attach(device_t dev) { struct sk_softc *sc; int error = 0, *port; @@ -1810,8 +1753,7 @@ fail: * allocated. */ static int -sk_detach(dev) - device_t dev; +sk_detach(device_t dev) { struct sk_if_softc *sc_if; if_t ifp; @@ -1852,8 +1794,7 @@ sk_detach(dev) } static int -skc_detach(dev) - device_t dev; +skc_detach(device_t dev) { struct sk_softc *sc; @@ -1894,11 +1835,7 @@ struct sk_dmamap_arg { }; static void -sk_dmamap_cb(arg, segs, nseg, error) - void *arg; - bus_dma_segment_t *segs; - int nseg; - int error; +sk_dmamap_cb(void *arg, bus_dma_segment_t *segs, int nseg, int error) { struct sk_dmamap_arg *ctx; @@ -1919,8 +1856,7 @@ sk_dmamap_cb(arg, segs, nseg, error) * excessive amount of additional code. */ static int -sk_dma_alloc(sc_if) - struct sk_if_softc *sc_if; +sk_dma_alloc(struct sk_if_softc *sc_if) { struct sk_dmamap_arg ctx; struct sk_txdesc *txd; @@ -2107,8 +2043,7 @@ fail: } static int -sk_dma_jumbo_alloc(sc_if) - struct sk_if_softc *sc_if; +sk_dma_jumbo_alloc(struct sk_if_softc *sc_if) { struct sk_dmamap_arg ctx; struct sk_rxdesc *jrxd; @@ -2209,8 +2144,7 @@ jumbo_fail: } static void -sk_dma_free(sc_if) - struct sk_if_softc *sc_if; +sk_dma_free(struct sk_if_softc *sc_if) { struct sk_txdesc *txd; struct sk_rxdesc *rxd; @@ -2283,8 +2217,7 @@ sk_dma_free(sc_if) } static void -sk_dma_jumbo_free(sc_if) - struct sk_if_softc *sc_if; +sk_dma_jumbo_free(struct sk_if_softc *sc_if) { struct sk_rxdesc *jrxd; int i; @@ -2326,10 +2259,7 @@ sk_dma_jumbo_free(sc_if) } static void -sk_txcksum(ifp, m, f) - if_t ifp; - struct mbuf *m; - struct sk_tx_desc *f; +sk_txcksum(if_t ifp, struct mbuf *m, struct sk_tx_desc *f) { struct ip *ip; u_int16_t offset; @@ -2372,9 +2302,7 @@ sendit: } static int -sk_encap(sc_if, m_head) - struct sk_if_softc *sc_if; - struct mbuf **m_head; +sk_encap(struct sk_if_softc *sc_if, struct mbuf **m_head) { struct sk_txdesc *txd; struct sk_tx_desc *f = NULL; @@ -2464,8 +2392,7 @@ sk_encap(sc_if, m_head) } static void -sk_start(ifp) - if_t ifp; +sk_start(if_t ifp) { struct sk_if_softc *sc_if; @@ -2479,8 +2406,7 @@ sk_start(ifp) } static void -sk_start_locked(ifp) - if_t ifp; +sk_start_locked(if_t ifp) { struct sk_softc *sc; struct sk_if_softc *sc_if; @@ -2529,8 +2455,7 @@ sk_start_locked(ifp) } static void -sk_watchdog(arg) - void *arg; +sk_watchdog(void *arg) { struct sk_if_softc *sc_if; if_t ifp; @@ -2562,8 +2487,7 @@ done: } static int -skc_shutdown(dev) - device_t dev; +skc_shutdown(device_t dev) { struct sk_softc *sc; @@ -2584,8 +2508,7 @@ skc_shutdown(dev) } static int -skc_suspend(dev) - device_t dev; +skc_suspend(device_t dev) { struct sk_softc *sc; struct sk_if_softc *sc_if0, *sc_if1; @@ -2613,8 +2536,7 @@ skc_suspend(dev) } static int -skc_resume(dev) - device_t dev; +skc_resume(device_t dev) { struct sk_softc *sc; struct sk_if_softc *sc_if0, *sc_if1; @@ -2656,10 +2578,7 @@ skc_resume(dev) * TCP/UDP checksum offload support. */ static __inline void -sk_rxcksum(ifp, m, csum) - if_t ifp; - struct mbuf *m; - u_int32_t csum; +sk_rxcksum(if_t ifp, struct mbuf *m, u_int32_t csum) { struct ether_header *eh; struct ip *ip; @@ -2708,9 +2627,7 @@ sk_rxcksum(ifp, m, csum) } static __inline int -sk_rxvalid(sc, stat, len) - struct sk_softc *sc; - u_int32_t stat, len; +sk_rxvalid(struct sk_softc *sc, u_int32_t stat, u_int32_t len) { if (sc->sk_type == SK_GENESIS) { @@ -2730,8 +2647,7 @@ sk_rxvalid(sc, stat, len) } static void -sk_rxeof(sc_if) - struct sk_if_softc *sc_if; +sk_rxeof(struct sk_if_softc *sc_if) { struct sk_softc *sc; struct mbuf *m; @@ -2797,8 +2713,7 @@ sk_rxeof(sc_if) } static void -sk_jumbo_rxeof(sc_if) - struct sk_if_softc *sc_if; +sk_jumbo_rxeof(struct sk_if_softc *sc_if) { struct sk_softc *sc; struct mbuf *m; @@ -2865,8 +2780,7 @@ sk_jumbo_rxeof(sc_if) } static void -sk_txeof(sc_if) - struct sk_if_softc *sc_if; +sk_txeof(struct sk_if_softc *sc_if) { struct sk_txdesc *txd; struct sk_tx_desc *cur_tx; @@ -2915,8 +2829,7 @@ sk_txeof(sc_if) } static void -sk_tick(xsc_if) - void *xsc_if; +sk_tick(void *xsc_if) { struct sk_if_softc *sc_if; struct mii_data *mii; @@ -2960,8 +2873,7 @@ sk_tick(xsc_if) } static void -sk_yukon_tick(xsc_if) - void *xsc_if; +sk_yukon_tick(void *xsc_if) { struct sk_if_softc *sc_if; struct mii_data *mii; @@ -2974,8 +2886,7 @@ sk_yukon_tick(xsc_if) } static void -sk_intr_bcom(sc_if) - struct sk_if_softc *sc_if; +sk_intr_bcom(struct sk_if_softc *sc_if) { struct mii_data *mii; if_t ifp; @@ -3028,8 +2939,7 @@ sk_intr_bcom(sc_if) } static void -sk_intr_xmac(sc_if) - struct sk_if_softc *sc_if; +sk_intr_xmac(struct sk_if_softc *sc_if) { u_int16_t status; @@ -3062,8 +2972,7 @@ sk_intr_xmac(sc_if) } static void -sk_intr_yukon(sc_if) - struct sk_if_softc *sc_if; +sk_intr_yukon(struct sk_if_softc *sc_if) { u_int8_t status; @@ -3081,8 +2990,7 @@ sk_intr_yukon(sc_if) } static void -sk_intr(xsc) - void *xsc; +sk_intr(void *xsc) { struct sk_softc *sc = xsc; struct sk_if_softc *sc_if0, *sc_if1; @@ -3172,8 +3080,7 @@ done_locked: } static void -sk_init_xmac(sc_if) - struct sk_if_softc *sc_if; +sk_init_xmac(struct sk_if_softc *sc_if) { struct sk_softc *sc; if_t ifp; @@ -3334,8 +3241,7 @@ sk_init_xmac(sc_if) } static void -sk_init_yukon(sc_if) - struct sk_if_softc *sc_if; +sk_init_yukon(struct sk_if_softc *sc_if) { u_int32_t phy, v; u_int16_t reg; @@ -3468,8 +3374,7 @@ sk_init_yukon(sc_if) * you first have to take it out of reset mode. */ static void -sk_init(xsc) - void *xsc; +sk_init(void *xsc) { struct sk_if_softc *sc_if = xsc; @@ -3481,8 +3386,7 @@ sk_init(xsc) } static void -sk_init_locked(sc_if) - struct sk_if_softc *sc_if; +sk_init_locked(struct sk_if_softc *sc_if) { struct sk_softc *sc; if_t ifp; @@ -3681,8 +3585,7 @@ sk_init_locked(sc_if) } static void -sk_stop(sc_if) - struct sk_if_softc *sc_if; +sk_stop(struct sk_if_softc *sc_if) { int i; struct sk_softc *sc; From nobody Wed Feb 8 00:09:39 2023 X-Original-To: dev-commits-src-main@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 4PBL382JFlz3p86V; Wed, 8 Feb 2023 00:09:40 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBL381g0gz3wdT; Wed, 8 Feb 2023 00:09:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675814980; 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=NpoyrubeN7tToYuBMDLPRzaqrzAD6/e16N8K7xoAstA=; b=hNHx/rGLhFN821uyt6lJuOsCE12qvkyOEyN+gzFvCJPTrFnOs94dz1ZPnq2NMAW2wz77QR f62P4VMEzJWEPsCBzAkOmnFgtZDJLtMxADYXpfk2ofN+U/A6qc3bPEzeMKafmFadsal9fM MHeywODLoFhhStvxu+smauGnDjyXXpZ0m8AQNsgn08bDZ6jWVoaas3jEruKc+g/isbfu8v h8/4Rstzr/I7Dlzu3rdKImIGFI3w4XlLh05fJCI07vH3JFa55v+0TWQdDdil/tJofXe83Y l0nOuG3hoeCG2bg1ZmMnHr7sxQmz83PMrEaRWNIg0AJizqPqHx5wsUQTCEKwKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675814980; 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=NpoyrubeN7tToYuBMDLPRzaqrzAD6/e16N8K7xoAstA=; b=OafmiA4E7cVAuxro5nksAX/fNfAgb/SQO7B/tU3UQNPb/KxXpZsgEmZK58WBNbBaDbZuTd uCEGvTbj5zNCNVODd8Ig0h8CunSiORBkadjvghhDyLjs0PZZOw7sdG2SSZEbS8jIhBovwo pCaSn/yG88BZcOw/Uu1Lc7LZxw7B/+rdgOcSty5cj4Slpa1ozxFSn5k3cdsXL01GkVCrpC b8xNqBtFjQzQmcYPK7k6FQc9EGcJT+EUZL+7/CwwOqaocotjKlcNeXjKl1lMZy0jhHJPgB RXITYa7aEeEP/P+zElNVx6CyS6MPmDMln3QcNSBra6WHYK8ax4mIXViYJNKQrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675814980; a=rsa-sha256; cv=none; b=PxSJwnvmgG7ybwaMdzWLv2vsTQgyecGl5zB+WKRVUkp5N23mF1g///9ZVUAOLZ+E84qQ2g wmlcD7W8/iJXFdZ5NIRvhrZmWBJx1pTGPchi6IZd1btDvPKhk8INZDizDzN0rjeYjA0ceF t+3Nm7egqWzDyPClQNEGd5gKv6xOYIV05pnshYAjckRiZ8jCh0G+4INKwHE+M9C+FMXxni b6JzvrkPWeXGW41vC9KTJeazBkmpWzTQ3QjmqYwygQQD7/55AweOFAVdP9NjlGSOnhZAWT womcn9NRvS0+QAw8ets7OxEzih9JD3LAmESBE23sUMUka68jR3Fccopxe/vS8w== 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 4PBL380SHrzc88; Wed, 8 Feb 2023 00:09:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31809dMV068105; Wed, 8 Feb 2023 00:09:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31809dFr068104; Wed, 8 Feb 2023 00:09:39 GMT (envelope-from git) Date: Wed, 8 Feb 2023 00:09:39 GMT Message-Id: <202302080009.31809dFr068104@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: fb1b78bfcead - main - ddb: ansify List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb1b78bfcead2126f9a984ac1c3e6a3a7e505f83 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=fb1b78bfcead2126f9a984ac1c3e6a3a7e505f83 commit fb1b78bfcead2126f9a984ac1c3e6a3a7e505f83 Author: Mateusz Guzik AuthorDate: 2023-02-08 00:09:23 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-08 00:09:23 +0000 ddb: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/ddb/db_input.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/sys/ddb/db_input.c b/sys/ddb/db_input.c index a7d06e17f5c1..c5ee6c664a96 100644 --- a/sys/ddb/db_input.c +++ b/sys/ddb/db_input.c @@ -88,18 +88,14 @@ static void db_raw_push(int); static int db_raw_space(void); static void -db_putstring(s, count) - char *s; - int count; +db_putstring(char *s, int count) { while (--count >= 0) cnputc(*s++); } static void -db_putnchars(c, count) - int c; - int count; +db_putnchars(int c, int count) { while (--count >= 0) cnputc(c); @@ -111,9 +107,7 @@ db_putnchars(c, count) #define DEL_FWD 0 #define DEL_BWD 1 static void -db_delete(n, bwd) - int n; - int bwd; +db_delete(int n, int bwd) { char *p; @@ -132,8 +126,7 @@ db_delete(n, bwd) /* returns true at end-of-line */ static int -db_inputchar(c) - int c; +db_inputchar(int c) { static int escstate; @@ -370,9 +363,7 @@ db_raw_pop(void) } int -db_readline(lstart, lsize) - char * lstart; - int lsize; +db_readline(char *lstart, int lsize) { if (lsize < 2) From nobody Wed Feb 8 00:11:35 2023 X-Original-To: dev-commits-src-main@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 4PBL5M4N8xz3p86h; Wed, 8 Feb 2023 00:11: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBL5M3y1kz3x02; Wed, 8 Feb 2023 00:11:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675815095; 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=PC1IMXIA1ZWdaI+5VepyVw0y6tDpZcLCZVN44J6Jv7w=; b=hzYjXVDVcSBU49qk3oNbZGLPn/sdL6EhL5OrYCkqrJeZAtWa7KHhxn3wUnavzAwIr1Ip84 qifCKLWVDLjKv0TazA+drTXOnF0pn0wfuHKGjbeNHSr2AVKQV9YJNf3dFnQfrr8ZKSTuV7 HRnRi6Zqdo1teotXCt6/7mFoFVs7raZgjU9q+8Qp1C4qpfSQZoUBrEmWvzzpdq3rF/i4EG 9JRhFIQRBPkwY0ABhyvLsg3m8T9w8x5MCFWqBX8hbYl9C0/HGV7zNUhRRvYGXDXyOPd65d cjGZnitnBIH+APuukSzgMlCi92groDAWWzVrerfYQkQR2tzl6pz+uQIuEG7WTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675815095; 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=PC1IMXIA1ZWdaI+5VepyVw0y6tDpZcLCZVN44J6Jv7w=; b=VINDhNwqKEdvp499FJB7Mt6helR13HBzJUtiqpBSOvuj9tGpo39r7eZI6nwD52R8yc3Zry wdjBZFWBBVD0k9Eb/cCWXGCBa9PJO23LDGGn9Z7ys61RayiQN0xC2aHufVimDTrK2VnuLQ LffPSuL/VGKjwQN/doFcU1S4bJHc7jPlL2tX65m9re8TxlQQCzN21jB/9tfHdegFfUIiPM koy/iImoZ0fcFiqPP9qPCcVIzRCwVVO+ttkt7jZQp1bL/xz+gRFWu8VrZMvOhhFA6SwtT/ Y6OLFTDl7NE3G7D7GFPEgRKNUDVymx0t7XuOgvwyf3UYZTgXDyYAMrF/DW4+ZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675815095; a=rsa-sha256; cv=none; b=PLF4eqXjB75N1pZtD9gobLcVW/cNI+4RYt1AiLoQ6z9+/5qAKmYXNE8bmEw5P/QT6qxUtT KT8nprDvXj62xB0OutpsTzRGbqF/ubZyBWdQb9aa4A9vS61oxlzWqKvDeuuSfV0CDB4G/s EdSNRLk05VTzJOUYGo9wbzsgG5WFgnhhG+hEtfianf7bGkKXaocc+8ktKkm76V6m+RCiYA XAPWqu8zBmQfs4yiPR3lJR9AuUTOMhULx4IQDkxX+f6iNzrvx9Q4aEOZlkNOx8AJrT4g4M Wc0IrAZeNlhg4kEYw5QxhpeKDK7mVv3V8/E6ZakrH7pSA4VuqfrHw2/a+4XdWg== 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 4PBL5M31m4zccX; Wed, 8 Feb 2023 00:11:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3180BZ2W080417; Wed, 8 Feb 2023 00:11:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3180BZDh080416; Wed, 8 Feb 2023 00:11:35 GMT (envelope-from git) Date: Wed, 8 Feb 2023 00:11:35 GMT Message-Id: <202302080011.3180BZDh080416@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 08d357287b43 - main - sysv: ansify List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 08d357287b4306b24110dc5ff15bcf5d51f79b28 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=08d357287b4306b24110dc5ff15bcf5d51f79b28 commit 08d357287b4306b24110dc5ff15bcf5d51f79b28 Author: Mateusz Guzik AuthorDate: 2023-02-08 00:11:10 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-08 00:11:10 +0000 sysv: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/kern/sysv_sem.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/sys/kern/sysv_sem.c b/sys/kern/sysv_sem.c index 4104f1343cb7..551651be7c1a 100644 --- a/sys/kern/sysv_sem.c +++ b/sys/kern/sysv_sem.c @@ -1765,16 +1765,7 @@ static sy_call_t *semcalls[] = { * Entry point for all SEM calls. */ int -sys_semsys(td, uap) - struct thread *td; - /* XXX actually varargs. */ - struct semsys_args /* { - int which; - int a2; - int a3; - int a4; - int a5; - } */ *uap; +sys_semsys(struct thread *td, struct semsys_args *uap) { int error; From nobody Wed Feb 8 00:25:00 2023 X-Original-To: dev-commits-src-main@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 4PBLNs1Xtpz3p999; Wed, 8 Feb 2023 00:25: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBLNs0rjgz419T; Wed, 8 Feb 2023 00:25:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675815901; 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=1HFZHjrN93mnfyR9sMogHRzgzPnUgoIyiugYO7XbGJU=; b=srE1rnxjJbQyqgMhKWwyOmFIJfLRYLGTJWN3U1tQd0I2OnpVonk34jDKuRc5sKIg7mz8mu 2Ae6OxzhO+WMAiK8xcPycIG3jymHfQgutuTO9DHqBkH5tdWPQtQ/Nk4HuGxqSZOSU28jF4 ckb+ZXFknS3dBg+WYyGP5C0PBTME69DN0PC/TPE7DtukzgKGWe4QIThmdTji72Df6HVz3F Hb2rbHc3XKbo//W1I2F79C2+BLJ4Th5XxX95tQZv3FNdwJJet4UywsGGPuzVnxvI/lF9gp Ky3wJwLdFhEPu1u2Cd07OV39wlXP1zn+itYEtDE7fS7t5SG71nntfWa9UHUsxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675815901; 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=1HFZHjrN93mnfyR9sMogHRzgzPnUgoIyiugYO7XbGJU=; b=sm5DD+wUpVT+5BA3G8B/Z4pUxqVbEKy5jr7Hlr2/eooid7kD+mWg7pmUUYat9o/Fuj+S31 sEWnHyf0zcyPReKiNsw/ir32eYm8CwAH4nzkXswRSuNnvZUATeiGO75wpaCTQzpH9e5swv 5wmYbSnwN5ioWJyyBoWr5dV7o/Wei9gvUxAui3YIK8x6jCVWcC2AwoumxREh1TRn6u5wt1 HOb3sy+/XcDulrPYuTh+e7S1HI8ezTiL4jkKnzgkIC4XoOFjtzcX5rhKoeSSbMyuwVrr/y XE4svfBaMIewUk+57nu9DVQcZn7bSLGEzLyRK6kw55xOlQs+BRohzNQOOS/N0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675815901; a=rsa-sha256; cv=none; b=KNtTZi/EHUAjYg5Ua9NworxpRDSTWgqxvQ6HO3HUSygb66K5IUk0AkuJdf+0IwVmuipDk0 n6jkCzLOyrgAOnL8iVAAS/Mo6Qjt34swLpdp9QXOOncD7G3ruxdp3j8H4uj1RxWEBwUQjp Kf6SNtXAFwS4UNBlaW5wk9CdZ6sQO74tkvLrdpfDzM6Vfn06yHtGzrv4XY5HdWHLnbKkkX 5tmDuxR/MYv6AVZYpjCEQq+1I3p9Vd7eGOQbomqxdYn1v5JhsX+0Y+6BrhFoqxsKbxglCV q+eVxKBO1teRt8nLv4IK5S4Qzly/Atg5bwLv7u5d2mAGEIhKAVvMo0AYly6Kbg== 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 4PBLNr7259zcdk; Wed, 8 Feb 2023 00:25:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3180P0CF095796; Wed, 8 Feb 2023 00:25:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3180P0fJ095795; Wed, 8 Feb 2023 00:25:00 GMT (envelope-from git) Date: Wed, 8 Feb 2023 00:25:00 GMT Message-Id: <202302080025.3180P0fJ095795@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: d42f61c73d62 - main - committers-ports.dot: add fuz List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d42f61c73d62a1813f49cb4c08e8e4c5a201a53f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by fuz (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=d42f61c73d62a1813f49cb4c08e8e4c5a201a53f commit d42f61c73d62a1813f49cb4c08e8e4c5a201a53f Author: Robert Clausecker AuthorDate: 2023-02-07 14:00:04 +0000 Commit: Robert Clausecker CommitDate: 2023-02-08 00:24:36 +0000 committers-ports.dot: add fuz Onboard new ports committer Robert Clausecker (fuz) in accordance with step 5 of sec. 7.1 committers guide. Approved by: eduardo (mentor) See also: D38416 (steps 1--4) Differential Revision: https://reviews.freebsd.org/D38417 --- share/misc/committers-ports.dot | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/share/misc/committers-ports.dot b/share/misc/committers-ports.dot index 593fe7778907..48563c84adac 100644 --- a/share/misc/committers-ports.dot +++ b/share/misc/committers-ports.dot @@ -119,6 +119,7 @@ fjoe [label="Max Khon\nfjoe@FreeBSD.org\n2001/08/06"] flo [label="Florian Smeets\nflo@FreeBSD.org\n2010/12/07"] fluffy [label="Dima Panov\nfluffy@FreeBSD.org\n2009/08/10"] flz [label="Florent Thoumie\nflz@FreeBSD.org\n2005/03/01"] +fuz [label="Robert Clausecker\nfuz@FreeBSD.org\n2023/02/02"] gabor [label="Gabor Kovesdan\ngabor@FreeBSD.org\n2006/12/05"] gahr [label="Pietro Cerutti\ngahr@FreeBSD.org\n2008/02/20"] garga [label="Renato Botelho\ngarga@FreeBSD.org\n2005/07/11"] @@ -426,6 +427,8 @@ eadler -> milki eadler -> tj eadler -> vg +eduardo -> fuz + edwin -> cperciva edwin -> erwin edwin -> linimon @@ -459,6 +462,7 @@ fjoe -> krion fjoe -> osa flo -> bar +flo -> fuz flo -> jase flo -> jbeich flo -> grembo From nobody Wed Feb 8 04:08:57 2023 X-Original-To: dev-commits-src-main@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 4PBRMG0rMtz3pM1t; Wed, 8 Feb 2023 04:08:58 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBRMG0Hglz4LdQ; Wed, 8 Feb 2023 04:08:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675829338; 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=v8KdrGuSHXITL3MTcQc4DO70zQGIf4UuIAZeX+v+rkA=; b=wYvVglwVpkdtDbZQm0G8QdM9M47Fv2tSXM895sQtYnPh8FUhl8lwBAXheT7u347KJvFKHG a9K6dzz49A8eqgzRYI5UeK6GVF6ExNJOXN46bf52AqWHbkLZ6tO7G06y1+a3Sitkm5eCZF HfKOP6jbDRs7fSBwdjdd9L8v0Vw2QgnmqlXKk+UDWUxmc7/LJsNsI8pn5xu1BYejugXHkS vYz+GhZ8CjM9G3P6v5eAJl+9aX5AdkcbC7qWIoQTIOxM6dERZ5GCJSvkFSeBVPk7MhsdF6 nhKSab+4wTDuPQsACNkllETNcUqzOWL2vuHmioo8kCWeZb+NAisp1TpMw2LZOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675829338; 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=v8KdrGuSHXITL3MTcQc4DO70zQGIf4UuIAZeX+v+rkA=; b=Jvw4vsLRTAjVVoYn1Dinl9nXb+rufsFhQCEsQPh2Tee6GnOCFVo6ygY20FNey3Q1EQ06te 8cL+zYL7xP0Q6qkCaMiv5hauA+Sm5iNdfTQ8vRFSlKLTliTb65fDStnXLsgTV3LVhIqo0X A1ZqLLbyciVALLHz01Lkwtx3tKkspZFFLzPyzRbo6/XNszCFaE+i6kf5AKcJ/15/3m3Iyc 41qUyfgCh7KbP+k+qV3qregwV2Qhzn+BlI3Xuw5ncdjuyyVz0SQLvJ3MNppQ/Yf6z5o08S azfGN2+Cl/B163m+pv4r6Am1deX5fxGDCHjidme2U0rKQ7SgLsaZ1S3uPEMMTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675829338; a=rsa-sha256; cv=none; b=EUOk/forwJf5mX13x6pKFrNhC1yXyvGONtJ+KQYzfoI2/1lRQyM9BoVc9Lcvl8BxWVOiLU /TgxXtw3K+A+4KX5PY6vi78MxdQcNAyBrwTZ5/S4qgPHNngGjFLTYu0MiR5XmCAUiU+gEX 7L/g3mebSr1YFoPYwrm3bQdxSQuG9ypKcjCBo8IXQpQVn0lamjJjtZWpNT3A6N0Y7nF8mR HoQpuuJH9dAjiH5mtDbSbiLl1kOx8N7VcQbri9bJF8+Q7my0q3CJKjjrtMQp3WcEDpuqGv BxNd5n6/BO/b1oYYbUezINUZNh5ffLk5VoIDbwxHP9bOiR45wxqpRBumqFnMrg== 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 4PBRMF6TH0zjbr; Wed, 8 Feb 2023 04:08:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31848vdj011411; Wed, 8 Feb 2023 04:08:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31848vOk011410; Wed, 8 Feb 2023 04:08:57 GMT (envelope-from git) Date: Wed, 8 Feb 2023 04:08:57 GMT Message-Id: <202302080408.31848vOk011410@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 2e9d05fd6848 - main - asmc: Add support for 10 byte light sensor payloads; MacBookAir6,1 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2e9d05fd684803dbba7dd52eb64856c639e4fde2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=2e9d05fd684803dbba7dd52eb64856c639e4fde2 commit 2e9d05fd684803dbba7dd52eb64856c639e4fde2 Author: Adrian Chadd AuthorDate: 2023-02-08 04:06:16 +0000 Commit: Adrian Chadd CommitDate: 2023-02-08 04:06:16 +0000 asmc: Add support for 10 byte light sensor payloads; MacBookAir6,1 The later macbook models use a different packet payload for the light sensors: * There's only one, done in the camera * It's a 4 byte sensor value, not a 2 byte value * It's in a 10 byte payload. So, this adds support for that and flips it on for the MacbookAir6,2. It also adds support for MacBookAir6,1 as that now works fine here. Tested - MacBookAir6,1 and 6,2 Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D38365 --- sys/dev/asmc/asmc.c | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/sys/dev/asmc/asmc.c b/sys/dev/asmc/asmc.c index 337f641e4513..442463b9f47a 100644 --- a/sys/dev/asmc/asmc.c +++ b/sys/dev/asmc/asmc.c @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -106,6 +107,7 @@ static int asmc_mb_sysctl_sms_z(SYSCTL_HANDLER_ARGS); static int asmc_mbp_sysctl_light_left(SYSCTL_HANDLER_ARGS); static int asmc_mbp_sysctl_light_right(SYSCTL_HANDLER_ARGS); static int asmc_mbp_sysctl_light_control(SYSCTL_HANDLER_ARGS); +static int asmc_mbp_sysctl_light_left_10byte(SYSCTL_HANDLER_ARGS); struct asmc_model { const char *smc_model; /* smbios.system.product env var. */ @@ -151,6 +153,11 @@ static const struct asmc_model *asmc_match(device_t dev); asmc_mbp_sysctl_light_right, \ asmc_mbp_sysctl_light_control +#define ASMC_LIGHT_FUNCS_10BYTE \ + asmc_mbp_sysctl_light_left_10byte, \ + NULL, \ + asmc_mbp_sysctl_light_control + #define ASMC_LIGHT_FUNCS_DISABLED NULL, NULL, NULL static const struct asmc_model asmc_models[] = { @@ -427,11 +434,18 @@ static const struct asmc_model asmc_models[] = { ASMC_LIGHT_FUNCS, ASMC_MBA5_TEMPS, ASMC_MBA5_TEMPNAMES, ASMC_MBA5_TEMPDESCS }, + { + "MacBookAir6,1", "Apple SMC MacBook Air 11-inch (Early 2013)", + ASMC_SMS_FUNCS_DISABLED, + ASMC_FAN_FUNCS2, + ASMC_LIGHT_FUNCS_10BYTE, + ASMC_MBA6_TEMPS, ASMC_MBA6_TEMPNAMES, ASMC_MBA6_TEMPDESCS + }, { "MacBookAir6,2", "Apple SMC MacBook Air 13-inch (Early 2013)", ASMC_SMS_FUNCS_DISABLED, ASMC_FAN_FUNCS2, - ASMC_LIGHT_FUNCS, + ASMC_LIGHT_FUNCS_10BYTE, ASMC_MBA6_TEMPS, ASMC_MBA6_TEMPNAMES, ASMC_MBA6_TEMPDESCS }, { @@ -1540,3 +1554,33 @@ asmc_mbp_sysctl_light_control(SYSCTL_HANDLER_ARGS) } return (error); } + +static int +asmc_mbp_sysctl_light_left_10byte(SYSCTL_HANDLER_ARGS) +{ + device_t dev = (device_t) arg1; + uint8_t buf[10]; + int error; + uint32_t v; + + asmc_key_read(dev, ASMC_KEY_LIGHTLEFT, buf, sizeof buf); + + /* + * This seems to be a 32 bit big endian value from buf[6] -> buf[9]. + * + * Extract it out manually here, then shift/clamp it. + */ + v = be32dec(&buf[6]); + + /* + * Shift out, clamp at 255; that way it looks like the + * earlier SMC firmware version responses. + */ + v = v >> 8; + if (v > 255) + v = 255; + + error = sysctl_handle_int(oidp, &v, 0, req); + + return (error); +} From nobody Wed Feb 8 06:10:23 2023 X-Original-To: dev-commits-src-main@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 4PBV3M6nM3z3km7c; Wed, 8 Feb 2023 06:10: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBV3M66Lrz3Fp3; Wed, 8 Feb 2023 06:10:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675836623; 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=BPu2H8/hOARO7vcbpWtdkrBuJ7U6i8CYAUCjsbupdBQ=; b=csQNeXq+akw+zr4eln1z2didiBbafxA+KRcDSriXZhPui9veZ8rZx3qxV/nlxFhFYgbsct RgODPmFuehHq9VxalwsxfDGj+FA1+Pn8fUMl9A/oOCrirr9/+ieq8z5LsC8M9EjAv2vtFt XQcyY/Y2ogbWpyY6YBoI7yiCtBb5ORsS71B26ELprivLpJhjPFAKOnOR86wCqw65AgAtOH vZUXDaaE6JqhJER9jtbwAY8pu1j42B05GTkvpjrRIRvu57rVBM5fJUcF0ci+6Y45AFb169 J/E8wr58u3gwWy4Mop1de9FWSUKGrAzJD2iSnjh+JwX7V32OvoHgeYUMEndxnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675836623; 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=BPu2H8/hOARO7vcbpWtdkrBuJ7U6i8CYAUCjsbupdBQ=; b=Ma/DyJ81uCJAar+tzwE29J2ae/vwYHBn9gIHYncdzbZrtEFom2KFRxwH7XlFgeKntzVEWA YTZcXGYIFDMYqwHHY/n/9knvdmJFVSbiPQio5BZK5NL9Z+KDmkw8Khrv66rVQd9A4xKQ2l K0zHD8Qndj4Xk6NGpQ1pnR1DPNPFhwomCsrpSRrHDlnPNBdlruMa8KpHncgVhPsYgIdtr2 UkJnaRGP99gF0cscfpMtXph/SyC8NzYHc/JFIIUbcxriuLVJBcuyxDNN/7r7jvQjm/3nB6 h5SYjiUgGAm015ycbdsYFFJZmMLDTkbBGPU3eY0NnNu9+8ATWDWT2XTu7q2J1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675836623; a=rsa-sha256; cv=none; b=Ie+tZYPfcOQTjY9w7OqevAQI4e9mdDFmcPGg3s0GwjYwBJiqPhfl0vwk2apmyEXRomzcy9 jtsX1NSOOMI+AFFRDk+cW75ePgH30+gpGkgIVcfK8RX3Mebpyv8PsJFnZ6B9CUtAOfUrq2 y770m4tyg6h+K5qlTwC4TqarI4kdeNPEtfrdColcARdgs44zyWErCxvcAvJ5/lP+FKj1rE LRmKH9G9VMjKiNmmviLJ+ttZZzLzfxth8Dh5VdLzg+ScJzZ2f+ewuwYpWlVBUtiXMq77jo EJrQWYYPWP3isuH1nOKeIfznDJLVlhTKhrPS/lZqZqUFgZrHFetyEqzjRS3DGQ== 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 4PBV3M4tlQzmPX; Wed, 8 Feb 2023 06:10:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3186ANPW091169; Wed, 8 Feb 2023 06:10:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3186ANQd091168; Wed, 8 Feb 2023 06:10:23 GMT (envelope-from git) Date: Wed, 8 Feb 2023 06:10:23 GMT Message-Id: <202302080610.3186ANQd091168@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 2ffdc21324bd - main - config: make changes to allow some parts to build as C++ List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 2ffdc21324bd1772fa2f40efed3987afecabf5cb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=2ffdc21324bd1772fa2f40efed3987afecabf5cb commit 2ffdc21324bd1772fa2f40efed3987afecabf5cb Author: Kyle Evans AuthorDate: 2023-02-08 06:02:56 +0000 Commit: Kyle Evans CommitDate: 2023-02-08 06:09:10 +0000 config: make changes to allow some parts to build as C++ Highlights: - Avoid keywords (this, not) as variable names - Move yyparse into config.h with other declarations - All declarations in config.h are assumed guilty until proven innocent - Some const-correctness - Casting malloc/calloc returns Note that we're not building any C++ here yet, this will be introduced in other commits to replace some of the lib dependencies. Reducing the number of FreeBSD-specific dependencies we have reduces some friction for building our bootstrap tools independently in other environments. Reviewed by: imp Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D38274 --- usr.sbin/config/config.h | 6 ++++++ usr.sbin/config/main.c | 19 ++++++++++--------- usr.sbin/config/mkmakefile.c | 44 ++++++++++++++++++++++---------------------- usr.sbin/config/mkoptions.c | 28 ++++++++++++++-------------- 4 files changed, 52 insertions(+), 45 deletions(-) diff --git a/usr.sbin/config/config.h b/usr.sbin/config/config.h index 79d0a788bae7..7d97d66979e2 100644 --- a/usr.sbin/config/config.h +++ b/usr.sbin/config/config.h @@ -35,12 +35,15 @@ /* * Config. */ +#include /* __BEGIN_DECLS/__END_DECLS */ #include #include #include #include #include +__BEGIN_DECLS + struct cfgfile { STAILQ_ENTRY(cfgfile) cfg_next; char *cfg_path; @@ -190,6 +193,7 @@ char *raisestr(char *); void remember(const char *); void moveifchanged(const char *, const char *); int yylex(void); +int yyparse(void); void options(void); void makefile(void); void makeenv(void); @@ -218,5 +222,7 @@ extern int versreq; extern char *PREFIX; /* Config file name - for error messages */ extern char srcdir[]; /* root of the kernel source tree */ +__END_DECLS; + #define eq(a,b) (!strcmp(a,b)) #define ns(s) strdup(s) diff --git a/usr.sbin/config/main.c b/usr.sbin/config/main.c index 60bafb0b46ba..988c296d97ce 100644 --- a/usr.sbin/config/main.c +++ b/usr.sbin/config/main.c @@ -105,10 +105,9 @@ static void cleanheaders(char *); static void kernconfdump(const char *); static void badversion(void); static void checkversion(void); -extern int yyparse(void); struct hdr_list { - char *h_name; + const char *h_name; struct hdr_list *h_next; } *htab; @@ -620,10 +619,12 @@ moveifchanged(const char *from_name, const char *to_name) tsize = (size_t)from_sb.st_size; if (!changed) { - p = mmap(NULL, tsize, PROT_READ, MAP_SHARED, from_fd, (off_t)0); + p = (char *)mmap(NULL, tsize, PROT_READ, MAP_SHARED, from_fd, + (off_t)0); if (p == MAP_FAILED) err(EX_OSERR, "mmap %s", from_name); - q = mmap(NULL, tsize, PROT_READ, MAP_SHARED, to_fd, (off_t)0); + q = (char *)mmap(NULL, tsize, PROT_READ, MAP_SHARED, to_fd, + (off_t)0); if (q == MAP_FAILED) err(EX_OSERR, "mmap %s", to_name); @@ -688,7 +689,7 @@ cleanheaders(char *p) void remember(const char *file) { - char *s; + const char *s; struct hdr_list *hl; if ((s = strrchr(file, '/')) != NULL) @@ -697,16 +698,16 @@ remember(const char *file) s = ns(file); if (strchr(s, '_') && strncmp(s, "opt_", 4) != 0) { - free(s); + free(__DECONST(char *, s)); return; } for (hl = htab; hl != NULL; hl = hl->h_next) { if (eq(s, hl->h_name)) { - free(s); + free(__DECONST(char *, s)); return; } } - hl = calloc(1, sizeof(*hl)); + hl = (struct hdr_list *)calloc(1, sizeof(*hl)); if (hl == NULL) err(EXIT_FAILURE, "calloc"); hl->h_name = s; @@ -740,7 +741,7 @@ kernconfdump(const char *file) if (fp == NULL) err(EXIT_FAILURE, "fdopen() failed"); osz = 1024; - o = calloc(1, osz); + o = (char *)calloc(1, osz); if (o == NULL) err(EXIT_FAILURE, "Couldn't allocate memory"); /* ELF note section header. */ diff --git a/usr.sbin/config/mkmakefile.c b/usr.sbin/config/mkmakefile.c index 4f3bd13ffca3..9f103c0e5214 100644 --- a/usr.sbin/config/mkmakefile.c +++ b/usr.sbin/config/mkmakefile.c @@ -392,9 +392,9 @@ read_file(char *fname) struct file_list *tp; struct device *dp; struct opt *op; - char *wd, *this, *compilewith, *depends, *clean, *warning; + char *wd, *rfile, *compilewith, *depends, *clean, *warning; const char *objprefix; - int compile, match, nreqs, std, filetype, not, + int compile, match, nreqs, std, filetype, negate, imp_rule, no_ctfconvert, no_obj, before_depend, nowerror; fp = fopen(fname, "r"); @@ -434,13 +434,13 @@ next: ; goto next; } - this = ns(wd); + rfile = ns(wd); wd = get_word(fp); if (wd == (char *)EOF) return; if (wd == NULL) - errout("%s: No type for %s.\n", fname, this); - tp = fl_lookup(this); + errout("%s: No type for %s.\n", fname, rfile); + tp = fl_lookup(rfile); compile = 0; match = 1; nreqs = 0; @@ -454,25 +454,25 @@ next: no_obj = 0; before_depend = 0; nowerror = 0; - not = 0; + negate = 0; filetype = NORMAL; objprefix = ""; if (eq(wd, "standard")) std = 1; else if (!eq(wd, "optional")) errout("%s: \"%s\" %s must be optional or standard\n", - fname, wd, this); + fname, wd, rfile); for (wd = get_word(fp); wd; wd = get_word(fp)) { if (wd == (char *)EOF) return; if (eq(wd, "!")) { - not = 1; + negate = 1; continue; } if (eq(wd, "|")) { if (nreqs == 0) errout("%s: syntax error describing %s\n", - fname, this); + fname, rfile); compile += match; match = 1; nreqs = 0; @@ -491,7 +491,7 @@ next: errout("%s: alternate rule required when " "\"no-implicit-rule\" is specified for" " %s.\n", - fname, this); + fname, rfile); imp_rule++; continue; } @@ -503,7 +503,7 @@ next: wd = get_quoted_word(fp); if (wd == (char *)EOF || wd == NULL) errout("%s: %s missing dependency string.\n", - fname, this); + fname, rfile); depends = ns(wd); continue; } @@ -511,7 +511,7 @@ next: wd = get_quoted_word(fp); if (wd == (char *)EOF || wd == NULL) errout("%s: %s missing clean file list.\n", - fname, this); + fname, rfile); clean = ns(wd); continue; } @@ -519,7 +519,7 @@ next: wd = get_quoted_word(fp); if (wd == (char *)EOF || wd == NULL) errout("%s: %s missing compile command string.\n", - fname, this); + fname, rfile); compilewith = ns(wd); continue; } @@ -527,7 +527,7 @@ next: wd = get_quoted_word(fp); if (wd == (char *)EOF || wd == NULL) errout("%s: %s missing warning text string.\n", - fname, this); + fname, rfile); warning = ns(wd); continue; } @@ -535,7 +535,7 @@ next: wd = get_quoted_word(fp); if (wd == (char *)EOF || wd == NULL) errout("%s: %s missing object prefix string.\n", - fname, this); + fname, rfile); objprefix = ns(wd); continue; } @@ -554,10 +554,10 @@ next: nreqs++; if (std) errout("standard entry %s has optional inclusion specifier %s!\n", - this, wd); + rfile, wd); STAILQ_FOREACH(dp, &dtab, d_next) if (eq(dp->d_name, wd)) { - if (not) + if (negate) match = 0; else dp->d_done |= DEVDONE; @@ -566,21 +566,21 @@ next: SLIST_FOREACH(op, &opt, op_next) if (op->op_value == 0 && strcasecmp(op->op_name, wd) == 0) { - if (not) + if (negate) match = 0; goto nextparam; } - match &= not; + match &= negate; nextparam:; - not = 0; + negate = 0; } compile += match; if (compile && tp == NULL) { if (std == 0 && nreqs == 0) errout("%s: what is %s optional on?\n", - fname, this); + fname, rfile); tp = new_fent(); - tp->f_fn = this; + tp->f_fn = rfile; tp->f_type = filetype; if (filetype == LOCAL) tp->f_srcprefix = ""; diff --git a/usr.sbin/config/mkoptions.c b/usr.sbin/config/mkoptions.c index bf611cdb12c3..b93e56e3a491 100644 --- a/usr.sbin/config/mkoptions.c +++ b/usr.sbin/config/mkoptions.c @@ -312,41 +312,41 @@ tooption(char *name) static void -check_duplicate(const char *fname, const char *this) +check_duplicate(const char *fname, const char *chkopt) { struct opt_list *po; SLIST_FOREACH(po, &otab, o_next) { - if (eq(po->o_name, this)) { + if (eq(po->o_name, chkopt)) { fprintf(stderr, "%s: Duplicate option %s.\n", - fname, this); + fname, chkopt); exit(1); } } } static void -insert_option(const char *fname, char *this, char *val) +insert_option(const char *fname, char *optname, char *val) { struct opt_list *po; - check_duplicate(fname, this); + check_duplicate(fname, optname); po = (struct opt_list *) calloc(1, sizeof *po); if (po == NULL) err(EXIT_FAILURE, "calloc"); - po->o_name = this; + po->o_name = optname; po->o_file = val; po->o_flags = 0; SLIST_INSERT_HEAD(&otab, po, o_next); } static void -update_option(const char *this, char *val, int flags) +update_option(const char *optname, char *val, int flags) { struct opt_list *po; SLIST_FOREACH(po, &otab, o_next) { - if (eq(po->o_name, this)) { + if (eq(po->o_name, optname)) { free(po->o_file); po->o_file = val; po->o_flags = flags; @@ -364,7 +364,7 @@ static int read_option_file(const char *fname, int flags) { FILE *fp; - char *wd, *this, *val; + char *wd, *optname, *val; char genopt[MAXPATHLEN]; fp = fopen(fname, "r"); @@ -378,17 +378,17 @@ read_option_file(const char *fname, int flags) continue; continue; } - this = ns(wd); + optname = ns(wd); val = get_word(fp); if (val == (char *)EOF) return (1); if (val == NULL) { if (flags) { fprintf(stderr, "%s: compat file requires two" - " words per line at %s\n", fname, this); + " words per line at %s\n", fname, optname); exit(1); } - char *s = ns(this); + char *s = ns(optname); (void)snprintf(genopt, sizeof(genopt), "opt_%s.h", lower(s)); val = genopt; @@ -396,9 +396,9 @@ read_option_file(const char *fname, int flags) } val = ns(val); if (flags == 0) - insert_option(fname, this, val); + insert_option(fname, optname, val); else - update_option(this, val, flags); + update_option(optname, val, flags); } (void)fclose(fp); return (1); From nobody Wed Feb 8 06:10:24 2023 X-Original-To: dev-commits-src-main@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 4PBV3P12n5z3km7d; Wed, 8 Feb 2023 06:10:25 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBV3N6W6Hz3Fw4; Wed, 8 Feb 2023 06:10:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675836624; 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=ngB6VurBbmrMXZCC/yHd2rN80QUi+1s+TBFUpKcAt2A=; b=VZ2r471XKZe8Zeadb4D1VvtUYz1O5wr6Dsq+BFPQttDP/FyvuRIavqiCFRRne80RqTvNBN IBsBpXcCQUXnlrLhwq+lPbcI/P/UlE0a9ip4pgiEqd6ECVbQZjZSUj6EfFrifpdVIW3b75 PRERjgdK8s16DnbKZV0QUGf+X5pW/y1TKTUbu1acT5//vCERkqAX8ToiOv3BgUWHO51G+j q5RD6H2FV1WyIn27CSWyw+dkWO/jxROwIi9/Ux14chsUss6W+8ny7ySrW5VsHpIVp+ag9F AN4o7nHMmiO5UUwz9+BnmIgvKNCmsSe1X8m2FjfqOTQilB7iNMjRc4EQr9eCHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675836624; 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=ngB6VurBbmrMXZCC/yHd2rN80QUi+1s+TBFUpKcAt2A=; b=Ywp3l1GTNbz6qMLohpG2wWt9lrP2vMN8+Uz9YaCY7AOJek8FXPzINOhD1B4lq4027/eMxn 8mW4eJTXzxhQI/ltFNen4LYJNUPeTJSujekEDEfVaRLCGb9t5OqCiuk9HSpyF1yaw3y7kr 0q2Hb6qHwuIHYNd98Z1ZUQvi7kcpA5V3jigKL0MO/c9Y4fB+53r0WEGk5kNgnOHfNPAz1Y DjGoCp3a6dbJKOXeUuzYR1emtPV5di46EoptHiGM/v47Irn+xgZ0iyJFpBeknUbX249UEP nM9wZdPKY59olO3NwG2FVB7u3ZrEOQlJ1froaebd2CZchI9fu1s2u0JoALoVqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675836624; a=rsa-sha256; cv=none; b=vMTUG2zw1HHxf+50fX2z1xgKlitlQngLbSVFYDYLnU/YSU0UaxbrHpGEkQEchDSP3rb1/7 SrUTZ+RbVbPDWe15epU3334COIwpaxH8pa155OwA8aNbmHjWX7kh1ccukpOT3tlh1EJgdB oE8Eu1whtx6mJ6ihTVogyPWLel9g44sn+IE1Fk3dqgIcr5Li4tBwr/+SmKX84ysiZ4jnZZ TrCVfHF8bLAOeOVgSU7Pg+09he9yZ6o+misBP6DdNMmHOyfYmt6Cn0UkOoYc35jqw8CNFt Erc6oZ6/bePLT/vZSVElaYtJWI7DZuezgyvGUig2/jREtjXbwD/UxhAw9wWqMg== 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 4PBV3N5MP7zmS7; Wed, 8 Feb 2023 06:10:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3186AOQb091193; Wed, 8 Feb 2023 06:10:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3186AOCE091192; Wed, 8 Feb 2023 06:10:24 GMT (envelope-from git) Date: Wed, 8 Feb 2023 06:10:24 GMT Message-Id: <202302080610.3186AOCE091192@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 29c5f8bf9a01 - main - config: drop dependency on libnv List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 29c5f8bf9a011d92462977bae59b4889ec5d95ad Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=29c5f8bf9a011d92462977bae59b4889ec5d95ad commit 29c5f8bf9a011d92462977bae59b4889ec5d95ad Author: Kyle Evans AuthorDate: 2023-02-08 06:02:56 +0000 Commit: Kyle Evans CommitDate: 2023-02-08 06:09:19 +0000 config: drop dependency on libnv Compile mkmakefile.c as C++ instead and use an std::unordered_map to accomplish the same goal. Reviewed by: imp Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D38275 --- usr.sbin/config/Makefile | 6 +-- usr.sbin/config/{mkmakefile.c => mkmakefile.cc} | 52 ++++++++++--------------- 2 files changed, 23 insertions(+), 35 deletions(-) diff --git a/usr.sbin/config/Makefile b/usr.sbin/config/Makefile index 32bfa8de0a0e..241a501f52af 100644 --- a/usr.sbin/config/Makefile +++ b/usr.sbin/config/Makefile @@ -3,9 +3,9 @@ SRCDIR:=${.PARSEDIR:tA} -PROG= config +PROG_CXX= config MAN= config.5 config.8 -SRCS= config.y main.c lang.l mkmakefile.c mkheaders.c \ +SRCS= config.y main.c lang.l mkmakefile.cc mkheaders.c \ mkoptions.c y.tab.h kernconf.c FILE2C?=file2c @@ -18,7 +18,7 @@ CFLAGS+= -I. -I${SRCDIR} NO_WMISSING_VARIABLE_DECLARATIONS= -LIBADD= nv sbuf +LIBADD= sbuf CLEANFILES+= kernconf.c diff --git a/usr.sbin/config/mkmakefile.c b/usr.sbin/config/mkmakefile.cc similarity index 95% rename from usr.sbin/config/mkmakefile.c rename to usr.sbin/config/mkmakefile.cc index 9f103c0e5214..2aabb9e0f347 100644 --- a/usr.sbin/config/mkmakefile.c +++ b/usr.sbin/config/mkmakefile.cc @@ -42,6 +42,7 @@ static const char rcsid[] = * the information in the files files and the * additional files for the machine being compiled to. */ +#include #include #include @@ -49,13 +50,15 @@ static const char rcsid[] = #include #include #include -#include -#include -#include +#include +#include + #include "y.tab.h" #include "config.h" #include "configvers.h" +typedef std::unordered_map env_map; + static char *tail(char *); static void do_clean(FILE *); static void do_rules(FILE *); @@ -66,8 +69,8 @@ static void read_files(void); static void sanitize_envline(char *result, const char *src); static bool preprocess(char *line, char *result); static void process_into_file(char *line, FILE *ofp); -static void process_into_nvlist(char *line, nvlist_t *nvl); -static void dump_nvlist(nvlist_t *nvl, FILE *ofp); +static void process_into_map(char *line, env_map &emap); +static void dump_map(env_map &emap, FILE *ofp); static void errout(const char *fmt, ...) { @@ -267,35 +270,24 @@ process_into_file(char *line, FILE *ofp) } static void -process_into_nvlist(char *line, nvlist_t *nvl) +process_into_map(char *line, env_map &emap) { char result[BUFSIZ], *s; if (preprocess(line, result)) { s = strchr(result, '='); *s = '\0'; - if (nvlist_exists(nvl, result)) - nvlist_free(nvl, result); - nvlist_add_string(nvl, result, s + 1); + emap[result] = s + 1; } } static void -dump_nvlist(nvlist_t *nvl, FILE *ofp) +dump_map(env_map &emap, FILE *ofp) { - const char *name; - void *cookie; - - if (nvl == NULL) - return; - - while (!nvlist_empty(nvl)) { - cookie = NULL; - name = nvlist_next(nvl, NULL, &cookie); - fprintf(ofp, "\"%s=%s\\0\"\n", name, - cnvlist_get_string(cookie)); - cnvlist_free_string(cookie); + for (auto iter : emap) { + fprintf(ofp, "\"%s=%s\\0\"\n", iter.first.c_str(), + iter.second.c_str()); } } @@ -306,7 +298,7 @@ void makehints(void) { FILE *ifp, *ofp; - nvlist_t *nvl; + env_map emap; char line[BUFSIZ]; struct hint *hint; @@ -324,17 +316,15 @@ makehints(void) fprintf(ofp, "int hintmode = %d;\n", !STAILQ_EMPTY(&hints) ? 1 : 0); fprintf(ofp, "char static_hints[] = {\n"); - nvl = nvlist_create(0); STAILQ_FOREACH(hint, &hints, hint_next) { ifp = fopen(hint->hint_name, "r"); if (ifp == NULL) err(1, "%s", hint->hint_name); while (fgets(line, BUFSIZ, ifp) != NULL) - process_into_nvlist(line, nvl); - dump_nvlist(nvl, ofp); + process_into_map(line, emap); + dump_map(emap, ofp); fclose(ifp); } - nvlist_destroy(nvl); fprintf(ofp, "\"\\0\"\n};\n"); fclose(ofp); moveifchanged(path("hints.c.new"), path("hints.c")); @@ -347,7 +337,7 @@ void makeenv(void) { FILE *ifp, *ofp; - nvlist_t *nvl; + env_map emap; char line[BUFSIZ]; struct envvar *envvar; @@ -365,20 +355,18 @@ makeenv(void) fprintf(ofp, "int envmode = %d;\n", !STAILQ_EMPTY(&envvars) ? 1 : 0); fprintf(ofp, "char static_env[] = {\n"); - nvl = nvlist_create(0); STAILQ_FOREACH(envvar, &envvars, envvar_next) { if (envvar->env_is_file) { ifp = fopen(envvar->env_str, "r"); if (ifp == NULL) err(1, "%s", envvar->env_str); while (fgets(line, BUFSIZ, ifp) != NULL) - process_into_nvlist(line, nvl); - dump_nvlist(nvl, ofp); + process_into_map(line, emap); + dump_map(emap, ofp); fclose(ifp); } else process_into_file(envvar->env_str, ofp); } - nvlist_destroy(nvl); fprintf(ofp, "\"\\0\"\n};\n"); fclose(ofp); moveifchanged(path("env.c.new"), path("env.c")); From nobody Wed Feb 8 06:10:25 2023 X-Original-To: dev-commits-src-main@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 4PBV3Q1R3Zz3klsF; Wed, 8 Feb 2023 06:10:26 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBV3Q0KVtz3G7Y; Wed, 8 Feb 2023 06:10:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675836626; 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=M8KdWMICckhKgVgBkakQO9fp6DKF28GjzllxNnQiNcQ=; b=McN4Tr6H8cl5oscaKpPW0J93b81GQu+pz3Fx3mT/QjQWP3bgpNHf2SXBrTbZL6inRVsJKS SdN+LUeMZc2bKJubCouTd4P+4bXUHw8076cXsU+EBFlcSHS8dndby81Xz4Ag8t8hhPmtVW 41Uy2N0R+uNBsklpBEp0FWIKQOUkkJlTH8xooP6xAAucrG3Gh+GGsEw1IlZTlhRBQJ7SNR CfB5h8/cgRaW6KS73hkGKyv4kFOViKoOOf5CNUExO18b12IkmbKl1lY6Lpnb5ThCj0p1yb jBZsT7TE5i9g2mKjImHC+BHCa6SRhoeu9cWU3lG823xxC6sns+sD4Sv5yXuXEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675836626; 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=M8KdWMICckhKgVgBkakQO9fp6DKF28GjzllxNnQiNcQ=; b=rU7EbAsRfDKNaLdNNZLqXBiKmUfIYGgEdd80caWw6p895FA3y7FeXWDBGh/daYGC5pX6cd 7peTFc3pe2xQlY8hl5f1ikA/ZzQ8+eHD0xZyWY54I9pdZl8rwWjtRWPQ6E9/kYkx0cyegY Rty0BPNFPisGcmrRPaHHtBQBP8h+3GwqKPqzDDyEFdX3XJnikkv5VQjFl23Ei59VjiTSUJ YYRAlGrRo84HLJ4I/p/BBvL3sDswCnqfetOM0W9wTfSteVuXsXIYXadCdutqHYjKThQgLe 0GSMKautu0S/bRwiY0HXq+UECWsEykKh0tikEG/YKfIpT/31ayAiuwIo3edDKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675836626; a=rsa-sha256; cv=none; b=oh0Fav0fU4BvWB2FKq07R9vV6V8Af00cv4+IJ44MTrwjxK6wsVTS/Q2KyV/tnBeCRcXUta o/DumUADJel4pIgcyeyQCgB5iXrMRIDL8Z2yo+n9v7Xd0AFgPxKBaOq+4Q41eNpMUBVonn Smi8B8NINntEaP9555Y3iXwy8mNjSBQT6VmpFGXTS0J6/SmYzmov80FWYDroL9FOp2CkWc e4Hbb+bPCJk85vdW0IfJP5x82iry9eOhMwtD6JCiAB38bAPcu/y1JUzupsxKoGnTaiAqgt zChH3sUaImRktbNe2A8RY/eMeXP9F8mfUp8AAsdCZuRfurcZaNlFZL68nQA50Q== 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 4PBV3P6K5mzmS8; Wed, 8 Feb 2023 06:10:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3186APRv091228; Wed, 8 Feb 2023 06:10:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3186APkV091227; Wed, 8 Feb 2023 06:10:25 GMT (envelope-from git) Date: Wed, 8 Feb 2023 06:10:25 GMT Message-Id: <202302080610.3186APkV091227@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 4e8636941785 - main - tools: cleanup stale dependencies from recent config(8) change List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 4e86369417850050b0ca52f07fa559f02e9f2caa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=4e86369417850050b0ca52f07fa559f02e9f2caa commit 4e86369417850050b0ca52f07fa559f02e9f2caa Author: Kyle Evans AuthorDate: 2023-02-08 06:05:58 +0000 Commit: Kyle Evans CommitDate: 2023-02-08 06:09:57 +0000 tools: cleanup stale dependencies from recent config(8) change mkmakefile.c moved to mkmakefile.cc, let's preemptively handle it. Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D38275 --- tools/build/depend-cleanup.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index 64213d9c00f1..0d1c5521542c 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -116,3 +116,6 @@ if [ -d "$OBJTOP"/usr.sbin/zic/zic ] ; then echo "Removing old zic directory" rm -rf "$OBJTOP"/usr.sbin/zic/zic fi + +# 20230208 29c5f8bf9a01 move from mkmakefile.c to mkmakefile.cc +clean_dep usr.sbin/config mkmakefile c From nobody Wed Feb 8 06:40:02 2023 X-Original-To: dev-commits-src-main@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 4PBVjb0fSPz3knYn; Wed, 8 Feb 2023 06:40: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBVjb08S3z3Jv0; Wed, 8 Feb 2023 06:40:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675838403; 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=zKJq18rz7EtIG1WsMSN8h1qZVZw71xV0SwQs2S5RqRA=; b=lEMPDrttnEUqK9ryWulnaoR2jKLijY9yb20ohVaTiBnQc29EQHzatORXsfogoJYPQZrbII B6dMRhF/pAnzUx1mqzMfgMqzzznloM16odpgEqy6PdhS0S4bn5F36qu97bhJ/2GI/2hXPq 9Qa0GlZKBtLNkNe6ZK5fJqU/L2csI5AyAsYZsW4xYPcMakFGDVpO2C/jahwPkV7MmyK1mv YDEhilGUcf28fLdsvcINSQC8JmDapcsJ4BGTahH+OGcU+v7KthmpM2lCjVCEbq076K831i egjLuiifdCOfI8hFSVjbHCXFTGNy2y0WrNcg2/8DKF80skj585vAqqR6F23MPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675838403; 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=zKJq18rz7EtIG1WsMSN8h1qZVZw71xV0SwQs2S5RqRA=; b=tw9ghqJKgnkliJu12iH8hMX/hhYv1vWP6qsPYLrwZixGO0b/4XVKA1qNk4VYPryy6prwbN tMOGfG7k1YNQzlu0/vKMW94TcFBMi1gZYFjSYMOKRmYqh3afR4bQcFGvE7YFJtnU/HrRA3 m3jrNxcLDRAPNb7E/W9iZ0pCh6g8v6T7RJ4MkDQhY1joMPwXGaeM4ZgiqH4ZuudevXMfUZ GzNGbUk80zsqxvd7uZlivTUlksuXvpqOmG3Vxwvzrxp4WzMjSQ0HduC3CAPNXm2oJPaX9/ cybmTHM95/l8+oGMjZoU8mQmNQxGI/bx+0HBwSWrJCviL73mK8KhW2O9j3/WNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675838403; a=rsa-sha256; cv=none; b=W0cTHqAZJM03Abgd6YOb8A1AJBpRuUWto0zJ/3sEr+SA5RWgUXFDxTGo0OncL3qtwohdpK bBruqu1y2jAwWxw/sCOgdjBLoFfTYmm7zhGksL50A0SoUOjcmmW+/Yn1U/0p7yIHBPpgu5 sD1L1LCKi9hjKJDPrfhBjd/9LJKpxUzQ+L+PG1pOOO6ocQ1Gr+UtAmvNnALRreEeV8COFg i3rliEVGOG5nt82BjOrsmNfhQEVl3WiwDXw0rNyhhw0o7cXzyffY8x3d7W1cJpFobNucoh pO8DuayP6eziUHwH384V2LjqJ5dk5zHR9bu1G9XfQcYPJ6Zq89w6cDWBRsBjWQ== 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 4PBVjZ6Cbvzn7j; Wed, 8 Feb 2023 06:40:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3186e2b6026540; Wed, 8 Feb 2023 06:40:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3186e2gP026537; Wed, 8 Feb 2023 06:40:02 GMT (envelope-from git) Date: Wed, 8 Feb 2023 06:40:02 GMT Message-Id: <202302080640.3186e2gP026537@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: d4ecf62f1201 - main - libc: base64: trim some bogus trailing whitespace List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: d4ecf62f120183d07437d40e2cc64ef6a15787f5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d4ecf62f120183d07437d40e2cc64ef6a15787f5 commit d4ecf62f120183d07437d40e2cc64ef6a15787f5 Author: Kyle Evans AuthorDate: 2023-02-08 06:39:25 +0000 Commit: Kyle Evans CommitDate: 2023-02-08 06:39:25 +0000 libc: base64: trim some bogus trailing whitespace No functional change, just a style fix. Sponsored by: Klara, Inc. --- lib/libc/net/base64.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/libc/net/base64.c b/lib/libc/net/base64.c index 998c3c213834..fe70f2c71f08 100644 --- a/lib/libc/net/base64.c +++ b/lib/libc/net/base64.c @@ -110,9 +110,9 @@ static const char Pad64 = '='; end of the data is performed using the '=' character. Since all base64 input is an integral number of octets, only the - ------------------------------------------------- + ------------------------------------------------- following cases can arise: - + (1) the final quantum of encoding input is an integral multiple of 24 bits; here, the final unit of encoded output will be an integral multiple of 4 characters @@ -154,14 +154,14 @@ b64_ntop(u_char const *src, size_t srclength, char *target, size_t targsize) { target[datalength++] = Base64[output[2]]; target[datalength++] = Base64[output[3]]; } - + /* Now we worry about padding. */ if (0 != srclength) { /* Get what's left. */ input[0] = input[1] = input[2] = '\0'; for (i = 0; i < srclength; i++) input[i] = *src++; - + output[0] = input[0] >> 2; output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4); output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6); From nobody Wed Feb 8 07:54:12 2023 X-Original-To: dev-commits-src-main@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 4PBXM91CCnz3ksMn; Wed, 8 Feb 2023 07:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXM90h1Wz3hXb; Wed, 8 Feb 2023 07:54:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842853; 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=4mEjGiLWTCe8MzlhBx/G9dMjx5WGVdDKUKLOAa/eYmw=; b=vfWfIz0JG8ClMN14x5mituYl2Sqkx2/OXohuSTpjJQGQJz9sPnaUP2K/xbEQKlCjoFE2/i E0n5x9owktuOhqBf6wwuPigsjT9a2uENlusQ52NkIZCN/3QZYL6POO5b7AQb8cmQP/9H8s bPbdJK4Y277JKuBNIzy1bOB7EgPnkkrUygFrpX8cy7qP46I6wdpSDW7YuQuMwbJrB1ZzJW YwQgJxBYnb4LV17uOzJWdWBUJmQtvOMvLh+gS03z0EVzHwlySBgTCHjJmughx0pDLjq/KY 9Ip1YjKO7LPX5im5ox65mxne/5sO4QDfzL8sz/uzXinSJLze7we0Dhs5icf17w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842853; 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=4mEjGiLWTCe8MzlhBx/G9dMjx5WGVdDKUKLOAa/eYmw=; b=Whfhh6e208jSCYKdBuT0/dR/z6OTpOINvKopjV6f4UL2h9lNnRGkGGBcUqc2TiebJIkI6t GIwLYPnF1wXfjSTKV1NuOQCEfmZULOfPCA5ihVd4tZkZQQyySJWi8bZKGqeigD2i88VsYj WO3hMrQUk+KfTRi8OWQj+Ng2wwGZgyiHMlwxDDpgk/TsRvk5EIe1reX/+V0RbDJn07N09i 3BD4YoD1zNXqhzCqKBAatzRKGl2KT+jhDOq6oLMzlwyPYDCXOkMThUNY2y3K+aklygUnsQ K+aE+c92M9KrvL+LjW1l5S9Ic1NDasUcyAAuKQ6luF+xdaMc0yVm4SLiozHjFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842853; a=rsa-sha256; cv=none; b=eYBrAkzGhsfuPQb6ozCzsGHSNRXMyRYZDIRoMvv61nf9G9zDbepXJVyGJiMbtHQRCUqcZw mc8zBIlM91SXrx4SKPkQmaRKJXefoZESEhoXyqqV9zmUOREO+qsmxpN9OLPjtCrOl+pXQG dTo0kpcwvyxBA01hqF2pllMEHuFFAKjhI0wLhe6pMCyTDAj3qsPa1C2sYtZkICIVWpNdAS DafpVzUdkqG1FVLgZB1bT+XfIoJN0mRnh+06/TMIercl5xd1qVEZxEj885SjXufKHE8QtH QK3J89llfDnJhTOSp/ZIey1Ng6B/iC/7tDzcyB0wonKH0rVRxdE+TE7ejYUlrw== 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 4PBXM86s7qzpxb; Wed, 8 Feb 2023 07:54:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sC7t037985; Wed, 8 Feb 2023 07:54:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sCfw037984; Wed, 8 Feb 2023 07:54:12 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:12 GMT Message-Id: <202302080754.3187sCfw037984@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 9c1720e59a6a - main - pkgbase: Create a FreeBSD-smbutils package List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9c1720e59a6ab7bcae0ac71ef2ebc014ff5db7ad Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=9c1720e59a6ab7bcae0ac71ef2ebc014ff5db7ad commit 9c1720e59a6ab7bcae0ac71ef2ebc014ff5db7ad Author: Emmanuel Vadot AuthorDate: 2023-01-27 09:45:21 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:48:28 +0000 pkgbase: Create a FreeBSD-smbutils package And put smb related programs and lib in it. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38228 --- lib/libsmb/Makefile | 2 +- release/packages/Makefile.package | 2 ++ usr.bin/smbutil/Makefile | 1 + usr.sbin/mount_smbfs/Makefile | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/libsmb/Makefile b/lib/libsmb/Makefile index 3c310819f876..b9dcc060424c 100644 --- a/lib/libsmb/Makefile +++ b/lib/libsmb/Makefile @@ -4,7 +4,7 @@ CONFS= nsmb.conf CONFSMODE= 600 -PACKAGE=lib${LIB} +PACKAGE= smbutils CONTRIBDIR= ${SRCTOP}/contrib/smbfs .PATH: ${CONTRIBDIR}/lib/smb diff --git a/release/packages/Makefile.package b/release/packages/Makefile.package index 10f3dac80001..f9a3d1c45bdc 100644 --- a/release/packages/Makefile.package +++ b/release/packages/Makefile.package @@ -128,6 +128,8 @@ runtime-lib32-development_DESCR=32-bit Development Files runtime-lib32-profile_DESCR=32-bit Profiling Libraries sendmail_COMMENT= Sendmail Utilities sendmail_DESC= Sendmail Utilities +smbutils_COMMENT= SMB Utilities +smbutils_DESC= SMB Utilities ssh_COMMENT= Secure Shell Utilities ssh_DESC= Secure Shell Utilities svn_COMMENT= Subversion Version Control System diff --git a/usr.bin/smbutil/Makefile b/usr.bin/smbutil/Makefile index 7af710ac798d..2a735e619b5e 100644 --- a/usr.bin/smbutil/Makefile +++ b/usr.bin/smbutil/Makefile @@ -1,6 +1,7 @@ # $FreeBSD$ PROG= smbutil +PACKAGE= smbutils SRCS= smbutil.c dumptree.c login.c lookup.c view.c print.c LIBADD= smb diff --git a/usr.sbin/mount_smbfs/Makefile b/usr.sbin/mount_smbfs/Makefile index 64f428035700..9f49cdbeac59 100644 --- a/usr.sbin/mount_smbfs/Makefile +++ b/usr.sbin/mount_smbfs/Makefile @@ -1,6 +1,7 @@ # $FreeBSD$ PROG= mount_smbfs +PACKAGE= smbutils SRCS= mount_smbfs.c getmntopts.c MAN= mount_smbfs.8 From nobody Wed Feb 8 07:54:14 2023 X-Original-To: dev-commits-src-main@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 4PBXMB34Dmz3ks5X; Wed, 8 Feb 2023 07:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMB2Yhwz3j1N; Wed, 8 Feb 2023 07:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842854; 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=XcdnnC5CVEG5ySrf57Vdbym4mizmb+OgGTdxV6Ttuew=; b=BDLnwQKqlxZFWXcU8/fDS8H6bm9TjId9D58hrleHi8wKd+6+T8npSm6WThz+umlYAT6M8y N/0mhyBPdL17onotaYpbzqlUEjAjXH18egUary0dE84ZiqEYOVxZHSi09O/EuJx0DgXJnU UPm8NFFbeEJSKliWjHUfGa38j+6M/bVcpgYZx/dweqs6Ms6B/YFBS//5mtISWmAFPF/GoG 4e5SxcmjuwJAj0DT0FZinRFr/T2ic7wMPZey875dptwOCvTJKB6Tl8HhZWhqax7v100vgG ppvLJICnFEO/ZCyRF+aq9+ujP5dAN1ojXmg8Q6CWrvHQ/JgRoxd67sCbSQbOyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842854; 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=XcdnnC5CVEG5ySrf57Vdbym4mizmb+OgGTdxV6Ttuew=; b=qCUu9qkfjKhETy/vl0Z/Hpnj0OaGURoyd3Th82kweHoT2PQ6GL0IDo0gqClc5kTvBeRo+K wVFPT3W25WyR1qWuOeTgYjA33TGRTgZqAwRNaf3PbMSarU+yQaEygqtALWF1Lv/OneY08z VTwbRIDlHRe8MzxlroN3hcOUiGe8me+z4g7SFUpcp0C6qAFweiWis/69UYaawxTPC57Lkx y5jYiKRWnSv86/d28DCItNSGRtbsOZ/IAfnEQao2ICtIkytTVmvUWmqJjgdMDg0zl5KfVU JaDEWsF5N3LeSiIrzi2vjvpam/bJxcpHnxEMdVOB82jxNny4IrUdJPTLW3RnAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842854; a=rsa-sha256; cv=none; b=B9RojE78aEQ4rilWfD46NkGCe7JkOONlHPgmW3EOButSjncQqsTCojxg0ZcQ1B88dr6iVd fkR/5P6BZg8ChQAk+facdOw05qR6Pysy6Di4ONHbYCSWKm2o4ij/SvtBcl0eOME2SiE4qf NiiYEqapbVN6WeoWVMpTiFcWaX0ThvOe8uJSqRvzaWt86muH3eMM6CatcR9i6wNbh5xqKb p/k+VUBJjjejNr9uQAympMBp4JZIcWDJvEsLXfBHHM3W0Xz02USzNfjXFNhGn/2ZEjfcRM l9kxCELWnMZgMEW+Vh82Voinbqj1PIN9CXcG7l3/BYuBp7tlnIC3v6ryCBFMtQ== 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 4PBXMB0jBzzpsR; Wed, 8 Feb 2023 07:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sEn1038009; Wed, 8 Feb 2023 07:54:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sEnW038008; Wed, 8 Feb 2023 07:54:14 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:14 GMT Message-Id: <202302080754.3187sEnW038008@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 751ded1d02e4 - main - pkgbase: Create a FreeBSD-inetd package List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 751ded1d02e463249906b121df273f2fc9c15392 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=751ded1d02e463249906b121df273f2fc9c15392 commit 751ded1d02e463249906b121df273f2fc9c15392 Author: Emmanuel Vadot AuthorDate: 2023-01-27 09:48:11 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:48:43 +0000 pkgbase: Create a FreeBSD-inetd package And put inetd and its config file in it. This unbloat a bit FreeBSD-utilities and some people might not want inetd always installed. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38229 --- release/packages/Makefile.package | 2 ++ usr.sbin/inetd/Makefile | 1 + 2 files changed, 3 insertions(+) diff --git a/release/packages/Makefile.package b/release/packages/Makefile.package index f9a3d1c45bdc..ebb982b15c10 100644 --- a/release/packages/Makefile.package +++ b/release/packages/Makefile.package @@ -74,6 +74,8 @@ hostapd_COMMENT= 802.11 Access Point Daemon an Utilities hostapd_DESC= 802.11 Access Point Daemon an Utilities hyperv-tools_COMMENT= Microsoft HyperV Utilities hyperv-tools_DESC= Microsoft HyperV Utilities +inetd_COMMENT= Internet super-server +inetd_DESC= Internet super-server jail_COMMENT= Jail Utilities jail_DESC= Jail Utilities jail-debug_DESCR= Debugging Symbols diff --git a/usr.sbin/inetd/Makefile b/usr.sbin/inetd/Makefile index b8f216970d7f..9774a1a81d3b 100644 --- a/usr.sbin/inetd/Makefile +++ b/usr.sbin/inetd/Makefile @@ -5,6 +5,7 @@ CONFS= inetd.conf PROG= inetd +PACKAGE= inetd MAN= inetd.8 MLINKS= inetd.8 inetd.conf.5 SRCS= inetd.c builtins.c From nobody Wed Feb 8 07:54:15 2023 X-Original-To: dev-commits-src-main@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 4PBXMC30S2z3ks2D; Wed, 8 Feb 2023 07:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMC2YWzz3j67; Wed, 8 Feb 2023 07:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842855; 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=swWn4W3kodmZfoUkHN8CJgQ/t4FdArV9tFFWNCw8ZS8=; b=l9b/zGvAEGxDgn3ysz9U6y8F5tZctEuEDAtcl+1B+4x+HYqBt7EsDcgyfv78LS5zD70LMc W7Y77A2F7VSqXhmrawJbN+t+r/lurjF5DY9EzLjGv7qvVT8owjzt5LbGzCZYQmqe5ZgKq1 uo4i9+0f6IA3ePaLGZw+e2duS/z9LrNdxA0gxLu4XBj1AA2n0deCHNfLd4YjDVGoWHEhWE vYx2aS/QI5x754yLh7XR2ketl3cqdfBFedsSvFSW/Ffe+ZmUff5XXeLg2VoVylyW2yH1nR wJE/kXXYvU2p+jY3zO/8guG0MpIABfsWc4MAA1n/VPJKLfKtu/UaPkH8tHL6+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842855; 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=swWn4W3kodmZfoUkHN8CJgQ/t4FdArV9tFFWNCw8ZS8=; b=cWnOMcM0ALMwG8rwme2Mm9y4gs03Awyc4/SnwU8FrnPiQfgv/V0qpp7F8Fd1PSPUIbUA2L ClyX8UGfbsMZ5cZ4wgXcCMs0zOtF4hoCpv+MFW+y4fdv0bZYYdxHjINkVSZ/4jDfwRjM8d xBykkWy6JyUd4s5PFb7c6kntCXVpP9ktmxvOlGMdfYibskNXt9aiiY7yL791hRUDLWAqqD c87tUm+u4FKOcfFDaBQcaVW1JhCYOl2wbYGeUKHfI+SeTANQlSCENGrjTkJGs1se3EoYjz EXh/pfDGsJ6vLpOmoE0NYxX0ZpY+pgFqLePVJA/2a/FIkBvYsVqNSm4Xlu4KJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842855; a=rsa-sha256; cv=none; b=MHdkg/2HCJJz0/bV+LLkOvS37z/cTK2edbaN2Ss5Iorj6CKshH7xF+8HMfohFnlLO3CLIf 6eiB+yfIa71LTh7qjAWWRdbL1qM73E/Qi6PBMbUrY80dPt2wy20JfIGN1bBE3+CFZhInQu DqdMGr22Kpd60z9Po+OKYrSXTu6i8Y+4V6yv79VpMp9UB3KHk36mJDCAuO6FaSBsH0PHW4 LcvqEzmPCuAs/v1badHZYFIYmihQtLHBiFbGeViL44eSKaMeDlDzlH5moKxAfZn3pme1uH 5S/wd7n3c2b/c/SlvP7MYze3LU2bvq9FfO5ol2D4qlSHq2WzkNuBnzUJyakUlw== 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 4PBXMC1fkVzpgh; Wed, 8 Feb 2023 07:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sFk2038033; Wed, 8 Feb 2023 07:54:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sFZQ038032; Wed, 8 Feb 2023 07:54:15 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:15 GMT Message-Id: <202302080754.3187sFZQ038032@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: f0408cd92f4e - main - pkgbase: Create a FreeBSD-ctf-tools package List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f0408cd92f4effe7c6ad093d9e3506b03e86d81b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=f0408cd92f4effe7c6ad093d9e3506b03e86d81b commit f0408cd92f4effe7c6ad093d9e3506b03e86d81b Author: Emmanuel Vadot AuthorDate: 2023-01-27 14:25:21 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:48:58 +0000 pkgbase: Create a FreeBSD-ctf-tools package It contains the ctf tools that most users will never use. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38223 --- cddl/usr.bin/ctfconvert/Makefile | 1 + cddl/usr.bin/ctfdump/Makefile | 1 + cddl/usr.bin/ctfmerge/Makefile | 1 + release/packages/Makefile.package | 2 ++ 4 files changed, 5 insertions(+) diff --git a/cddl/usr.bin/ctfconvert/Makefile b/cddl/usr.bin/ctfconvert/Makefile index 78b65020452a..27db31cbd2ca 100644 --- a/cddl/usr.bin/ctfconvert/Makefile +++ b/cddl/usr.bin/ctfconvert/Makefile @@ -5,6 +5,7 @@ .PATH: ${SRCTOP}/cddl/contrib/opensolaris/tools/ctf/common .PATH: ${SRCTOP}/cddl/contrib/opensolaris/tools/ctf/cvt +PACKAGE= ctf-tools PROG= ctfconvert SRCS= alist.c \ ctf.c \ diff --git a/cddl/usr.bin/ctfdump/Makefile b/cddl/usr.bin/ctfdump/Makefile index d7ddd45d9778..cffb9ff9f14c 100644 --- a/cddl/usr.bin/ctfdump/Makefile +++ b/cddl/usr.bin/ctfdump/Makefile @@ -3,6 +3,7 @@ .PATH: ${SRCTOP}/cddl/contrib/opensolaris/tools/ctf/common .PATH: ${SRCTOP}/cddl/contrib/opensolaris/tools/ctf/dump +PACKAGE= ctf-tools PROG= ctfdump SRCS= dump.c \ symbol.c \ diff --git a/cddl/usr.bin/ctfmerge/Makefile b/cddl/usr.bin/ctfmerge/Makefile index e9c8e505ed76..93a686f3d46b 100644 --- a/cddl/usr.bin/ctfmerge/Makefile +++ b/cddl/usr.bin/ctfmerge/Makefile @@ -3,6 +3,7 @@ .PATH: ${SRCTOP}/cddl/contrib/opensolaris/tools/ctf/common .PATH: ${SRCTOP}/cddl/contrib/opensolaris/tools/ctf/cvt +PACKAGE= ctf-tools PROG= ctfmerge SRCS= alist.c \ barrier.c \ diff --git a/release/packages/Makefile.package b/release/packages/Makefile.package index ebb982b15c10..abfbf02328ed 100644 --- a/release/packages/Makefile.package +++ b/release/packages/Makefile.package @@ -32,6 +32,8 @@ clibs_COMMENT= Core C Libraries clibs_DESC= Core C Libraries csh_COMMENT= C Shell csh_DESC= C Shell +ctf-tools_COMMENT= CTF Utilities +ctf-tools_DESC= CTF Utilities cxgbe-tools_COMMENT= Chelsio cxbge Utilities cxgbe-tools_DESC= Chelsio cxbge Utilities devd_COMMENT= Devd Utility and scripts From nobody Wed Feb 8 07:54:16 2023 X-Original-To: dev-commits-src-main@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 4PBXMD3jSFz3ksRt; Wed, 8 Feb 2023 07:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMD37VLz3jG7; Wed, 8 Feb 2023 07:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842856; 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=eJ4J3aCqAgKLn/ch5ti3vhEHKCDbRAeemhUsxAujK3k=; b=n+YPPJAydCysxwjVXIOKRYnpSKKowbXwrdJ5VoCmkdaKOjmijp4xTdrOSunAv+W7vjI8P0 CLd51KM4vG77THGviWTl05Qukg99cIioc+xRoUSpQiXOI8Md8oukKu8FoP1QeXXRslU0Kf HiEoG1nUe3vwgZb/XXMxPLby5bbxgXBfRZieETGDMjXdBSbczjaKFvXo8qGYTzadpv9ivv CgJ8jgUtXs5KDnjxHvxb7YZq0P5TtKBTBUp4iiiipdC74xFQKHTuzwY9Kp2X0iG7FZBsHS AQa3ZeoDULKErHs8UMHSINVNebSpFMfeb+aOpdfYBSt90qj4kQKQbUNr3c6cDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842856; 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=eJ4J3aCqAgKLn/ch5ti3vhEHKCDbRAeemhUsxAujK3k=; b=WPIP17dYuR7DA1cXoT6XLm0l90OLra1BmvhNtaOPTZQn3FkeLvziG4jBgS4F41KYGkJ9EP T7qO2gFMvkuVnbaDWz8X2ir8HSzjsdUlRkQYJHanant9CkfiUw3dsqPGgN/9DdLLR31Xje 96kFJWE4MGSxE6WRs+geBLI1naMuS6Hk4ogcYrDwsH5JwZv+NIrGj8UWKh1T+cUN+R0smd KBcDqjqwSe2IX9G1m2X19WT2mhvt7GZCg8HWA2Ioqq9w2irK3/Vb45PpIpyx91fwi1k046 wSmJ1lgfTlwfnmN+TgjgGDUQYIqQw5MUrpR18qmq74EuyK8Egmhx/xz083/Iwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842856; a=rsa-sha256; cv=none; b=SXeNLBP8v1/uHBpvZyX7BlvNQfPHiMc2GzRXen44m3dZwgA/3M9DswBm4kZtrT+HWv0HB2 yBRO+MtpJEHtlTLXy8R+u/msXHqoi1fUF0jYiPcrmGBuL+8SYSPyo/JQB3lmTNABBFuqaU 2eZUDtonahCZLX8ZLVxclZzExpoDU7SD/JP4XBFv3lBahnnoj4EfOoOftOUTUDzFGnqbPe JgiK8ilvSaxiCqKNL8emG0v1bvTC20PMq4fJ1GY1/zqVg0Vf7MRGHnfLaARp/bDd8/gF83 APP0jUp2zW5srJZmsS9PdhDEPp1BMovIcs8d4JYm8LDk8+og1NlmDsv/8zEH2g== 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 4PBXMD2F4Bzpxc; Wed, 8 Feb 2023 07:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sGnN038057; Wed, 8 Feb 2023 07:54:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sGPn038056; Wed, 8 Feb 2023 07:54:16 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:16 GMT Message-Id: <202302080754.3187sGPn038056@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 1af3908ce612 - main - pkgbase: Create a FreeBSD-elftoolchain package List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1af3908ce6121eb091923b3932fe56ab54656093 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=1af3908ce6121eb091923b3932fe56ab54656093 commit 1af3908ce6121eb091923b3932fe56ab54656093 Author: Emmanuel Vadot AuthorDate: 2023-01-27 14:26:06 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:49:12 +0000 pkgbase: Create a FreeBSD-elftoolchain package It contain all the binaries and libs from the elftoolchain contrib project except for libelf which is used everywhere. All of those tools are never used by the average user. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38224 --- lib/libelftc/Makefile | 1 - release/packages/Makefile.package | 2 ++ usr.bin/addr2line/Makefile | 2 ++ usr.bin/cxxfilt/Makefile | 2 ++ usr.bin/nm/Makefile | 2 ++ usr.bin/objcopy/Makefile | 2 ++ usr.bin/readelf/Makefile | 2 ++ usr.bin/size/Makefile | 2 ++ 8 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/libelftc/Makefile b/lib/libelftc/Makefile index e25331cee719..7810add76771 100644 --- a/lib/libelftc/Makefile +++ b/lib/libelftc/Makefile @@ -1,7 +1,6 @@ # $FreeBSD$ .include -PACKAGE=lib${LIB} INTERNALLIB= ELFTCDIR= ${SRCTOP}/contrib/elftoolchain diff --git a/release/packages/Makefile.package b/release/packages/Makefile.package index abfbf02328ed..99097d9a46f9 100644 --- a/release/packages/Makefile.package +++ b/release/packages/Makefile.package @@ -54,6 +54,8 @@ ee_COMMENT= Easy Editor Utilities ee_DESC= Easy Editor Utilities efi-tools_COMMENT= UEFI Utilities efi-tools_DESC= UEFI Utilities +elftoolchain_COMMENT= ElfToolchain programs and libraries +elftoolchain_DESC= ElfToolchain programs and libraries fetch_COMMENT= Fetch Utility fetch_DESC= Fetch Utility ftp_COMMENT= FTP Utilities diff --git a/usr.bin/addr2line/Makefile b/usr.bin/addr2line/Makefile index fe9883f97a73..03e35c82df9c 100644 --- a/usr.bin/addr2line/Makefile +++ b/usr.bin/addr2line/Makefile @@ -2,6 +2,8 @@ .include +PACKAGE= elftoolchain + ELFTCDIR= ${SRCTOP}/contrib/elftoolchain ADDR2LINEDIR= ${ELFTCDIR}/addr2line diff --git a/usr.bin/cxxfilt/Makefile b/usr.bin/cxxfilt/Makefile index 75f39419bfd2..4d1a6298d25e 100644 --- a/usr.bin/cxxfilt/Makefile +++ b/usr.bin/cxxfilt/Makefile @@ -2,6 +2,8 @@ .include +PACKAGE= elftoolchain + ELFTCDIR= ${SRCTOP}/contrib/elftoolchain SRCDIR= ${ELFTCDIR}/cxxfilt diff --git a/usr.bin/nm/Makefile b/usr.bin/nm/Makefile index b1b9555962e7..cefe55b7480b 100644 --- a/usr.bin/nm/Makefile +++ b/usr.bin/nm/Makefile @@ -2,6 +2,8 @@ .include +PACKAGE= elftoolchain + ELFTCDIR= ${SRCTOP}/contrib/elftoolchain NMDIR= ${ELFTCDIR}/nm diff --git a/usr.bin/objcopy/Makefile b/usr.bin/objcopy/Makefile index 87472a4cd848..b40dafefe24f 100644 --- a/usr.bin/objcopy/Makefile +++ b/usr.bin/objcopy/Makefile @@ -2,6 +2,8 @@ .include +PACKAGE= elftoolchain + ELFTCDIR= ${SRCTOP}/contrib/elftoolchain ELFCOPYDIR= ${ELFTCDIR}/elfcopy diff --git a/usr.bin/readelf/Makefile b/usr.bin/readelf/Makefile index ed4de3b55745..2c7f1155edda 100644 --- a/usr.bin/readelf/Makefile +++ b/usr.bin/readelf/Makefile @@ -2,6 +2,8 @@ .include +PACKAGE= elftoolchain + ELFTCDIR= ${SRCTOP}/contrib/elftoolchain READELFDIR= ${ELFTCDIR}/readelf diff --git a/usr.bin/size/Makefile b/usr.bin/size/Makefile index 60b62b6c06a8..9622ffd30468 100644 --- a/usr.bin/size/Makefile +++ b/usr.bin/size/Makefile @@ -2,6 +2,8 @@ .include +PACKAGE= elftoolchain + ELFTCDIR= ${SRCTOP}/contrib/elftoolchain SIZEDIR= ${ELFTCDIR}/size From nobody Wed Feb 8 07:54:17 2023 X-Original-To: dev-commits-src-main@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 4PBXMF4L1Nz3ksMx; Wed, 8 Feb 2023 07:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMF3mNyz3jH0; Wed, 8 Feb 2023 07:54:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842857; 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=2GzV6QknNYaL1KNMEwnhyh5Jz1EHlrb8Ysekhvy+xYg=; b=OaSFNFErDvHCi9vVtH4izD9Ek02eYv/snE7fGkXwyWo6mrkVPsHZ/nhcC50Gg2YRcln3HL o3TqWqp3BaN26Ia2XFGV5Rt0RzkQL6upMYvWFSL1Fi6t9oUWg+UKFYq3Qj3dmfSsTW8N5b UMdOYjT/6v734jJkjTdh+avHNWQObOh0T6jVQLmvunnKGVLM5TikFTu6bSvLCgFNzQUmnx ePzFvPfieiYk731mEAht01x6IbglUNK/Ad72ysDzReQPbyLWzCZm+FrfzGTdTYUw6bcLP4 S8Wo8EWA1qPh6w4rSRiJf0lwFRcspQG/r1h2LI8XKJ2w0VkIRC/Npl2zXoYWvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842857; 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=2GzV6QknNYaL1KNMEwnhyh5Jz1EHlrb8Ysekhvy+xYg=; b=TS8jC+nW3SbldKVKvBy7DkkOvIWYV5UaLhoXPNATmNwaO4+ZDFOG4hPXzFDE0OLXG5WKHJ T1egqUTMGq2pu0jA3GiRZmtQD06ZihUeM4KnlPDfdDk8I/EbL9UxcSScgbBGecAlXCMdZA b/vGPgta+HgRAbbXKImgIJC4V1tN6UAK7IL7GGxTFi7rqynM5zxXQFSEC0NCZGn2/v1CYy /l9ZwiUztL3Q6I2to0KGT4fof+sp+DZcz9ZxLZKVnM5U+A/m0fc1NCPoLe38CDoLL5TRPI phg3O8SoKQOg6WQfgLz2U368gK4MrgyWbEPPwdgnJyeNt/DVXIzcAynZ1DwxCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842857; a=rsa-sha256; cv=none; b=p2KxDuMxfTcxhjKsDU8WlSbEEn/pY/KoVGPd0gHz3vdpcw7DU7+O/3l/++eqqlgjo6dq6+ kDjcIAjlAuib84rwSBU9e6949y1vAWoXrkXvyBs41VqAUCQ1OyjeHt+e1rooFAGyGKyqMC IZyb7KoSKX4vAa7CIupvVXgQaIa3uCZUychHtHTDBoEz5jsH5YQ3c5umjH3t7SgkViEnjo pVvu0YhA/9BBxfhUjEYfilVzFZ03JMc2k3U+cCsB+jagWCrEfyofdT4puPChG7qX1x1W1W ldbAE7PxHP8UkjwAtynIiR3RoXiifKLIpMZpAmZhCVsEoLsaR18qdrlzjUguMw== 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 4PBXMF2tGczq71; Wed, 8 Feb 2023 07:54:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sHIX038088; Wed, 8 Feb 2023 07:54:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sH8t038087; Wed, 8 Feb 2023 07:54:17 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:17 GMT Message-Id: <202302080754.3187sH8t038087@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 4c9c296e6378 - main - pkgbase: Create a FreeBSD-netmap package List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4c9c296e6378c731b2e7963482c33cfa3da7ef37 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=4c9c296e6378c731b2e7963482c33cfa3da7ef37 commit 4c9c296e6378c731b2e7963482c33cfa3da7ef37 Author: Emmanuel Vadot AuthorDate: 2023-01-27 14:45:44 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:49:28 +0000 pkgbase: Create a FreeBSD-netmap package This unbloat FreeBSD-utilities a bit and not everyone uses valectl which is the only in-tree consumer of libnetmap Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38225 --- lib/libnetmap/Makefile | 2 +- release/packages/Makefile.package | 2 ++ usr.sbin/valectl/Makefile | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/libnetmap/Makefile b/lib/libnetmap/Makefile index 4229180147d3..2cafa4717430 100644 --- a/lib/libnetmap/Makefile +++ b/lib/libnetmap/Makefile @@ -4,7 +4,7 @@ .include -PACKAGE= lib${LIB} +PACKAGE= netmap LIB= netmap SRCS= nmctx.c nmport.c \ nmctx-pthreads.c nmreq.c diff --git a/release/packages/Makefile.package b/release/packages/Makefile.package index 99097d9a46f9..26e1f7e2a14d 100644 --- a/release/packages/Makefile.package +++ b/release/packages/Makefile.package @@ -101,6 +101,8 @@ mlx-tools_COMMENT= Mellanox Utilities mlx-tools_DESC= Mellanox Utilities mtree_COMMENT= MTREE Files mtree_DESC= MTREE Files +netmap_COMMENT= Netmap Library and Utilities +netmap_DESC= Netmap Library and Utilities newsyslog_COMMENT= Newsyslog Utility newsyslog_DESC= Newsyslog Utility nfs_COMMENT= NFS Utilities diff --git a/usr.sbin/valectl/Makefile b/usr.sbin/valectl/Makefile index f9322fa05047..23060a523160 100644 --- a/usr.sbin/valectl/Makefile +++ b/usr.sbin/valectl/Makefile @@ -1,5 +1,6 @@ # $FreeBSD$ +PACKAGE= netmap PROG= valectl MAN= valectl.8 From nobody Wed Feb 8 07:54:18 2023 X-Original-To: dev-commits-src-main@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 4PBXMG6Jwcz3ksN1; Wed, 8 Feb 2023 07:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMG4TMkz3jRG; Wed, 8 Feb 2023 07:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842858; 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=aApsy6Rzr1pu/VU5v4Bf5DCa+YzuRD6wc9XZ9Gtfy6k=; b=ZzSu5oge01nCnbE0NtBp0pXrGQvGbA4D5Wjsn1ppzjWrYL6EMNC0IMyquQnOurqVxEdhfj VMYfgScfyj2QglYz1stZkJrVejKMPnoi4E0SuqJHrFwcj+8j3oixB2bL0sswvjARKFePmt og+7WhOD1wbLsycPQfh1ilFPTUynISjB9GJ1YvZ2ycICm4As4AI80tQtmMNWyMio0MGfo6 tfl6d7tffO7ZB9+OuvqP9Qm13OwxGXay3+5I+zUvfjIpzSVcmGkw4L0pLKGcAEQ62ZElX6 BTvPYkg+QzdgCRjSs8lYvocAzFEk/ovIGjp/haItJy/24/jYboG+qz2Nufs8Hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842858; 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=aApsy6Rzr1pu/VU5v4Bf5DCa+YzuRD6wc9XZ9Gtfy6k=; b=jeFhl/AxMUrXbd41umstKqsFDtdB5P8K7bCV6dGMcAh1cNZ/NZGjNXeN2YAUoVqazgTZEx Vuyg1SqnQQLdhax4GOj71LemqMK/tW6p+sMBN6FfviGEQ3td3QQS1J1tIA80f6Dm3e2KyG csE4LvqyQGKeprXuI1nnAREZ6HlnhrV5RLqRbDpuKRRnCcUfycD4dpoSzmShDGr0fazDHF O+HGJQ+5fHwz40HftDWrXWlTXU9OjWiKpFcnzqlU5ZxxEYv9zWa2tQ1gY0CfoBxdK/7UcZ /0we2jym7iFQBcDCXvnr5ynWGtnAQwLaTaXLjXVvO5cbiX//pIpIGxOHK5UPqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842858; a=rsa-sha256; cv=none; b=Rq9bnIMkI2f1/9CBLMl5rwJXTdYkjv2exswclCOKM5gGvVy8XTzaWioaLiuCV8A1B/yNYo Don0ZywG7JtQqXVav8hj+n1BVvgqDVof3YqZVn77Xb5XbkiSxjhCzw1gO2pU+NNFVdCePd 9g4gUFKOLC40QGRxB/9SWKZHr5PiZf86/xMrkGGOHfdgTaGuwXM5hJRsGmGzGGuq/gQQWG e438DBEWWRRwLj+HcvHPntB5Xwi6EsJ42LNxH0wcWzJdDmoFONvRZz9OAnE1EMadcEUBsb 0ROCu34ykkF2z+z0gz4onBwWCW/9TcglHcHCg6cHma5BRuW8MSgEpiO/TMr4wA== 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 4PBXMG3b8czpvC; Wed, 8 Feb 2023 07:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sIcB038114; Wed, 8 Feb 2023 07:54:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sInT038113; Wed, 8 Feb 2023 07:54:18 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:18 GMT Message-Id: <202302080754.3187sInT038113@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 06a69951fb59 - main - pkgbase: Put ftp-proxy in the FreeBSD-pf package List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 06a69951fb5968c21c48413e683f0332cfe9fd92 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=06a69951fb5968c21c48413e683f0332cfe9fd92 commit 06a69951fb5968c21c48413e683f0332cfe9fd92 Author: Emmanuel Vadot AuthorDate: 2023-01-27 14:57:56 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:49:43 +0000 pkgbase: Put ftp-proxy in the FreeBSD-pf package It belongs here. Also this unbloat FreeBSD-utilities a bit and it will not depend on the FreeBSD-libevent1 package now. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38226 --- usr.sbin/ftp-proxy/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.sbin/ftp-proxy/Makefile b/usr.sbin/ftp-proxy/Makefile index 768901f99131..864a35b5f5f1 100644 --- a/usr.sbin/ftp-proxy/Makefile +++ b/usr.sbin/ftp-proxy/Makefile @@ -2,6 +2,7 @@ .PATH: ${SRCTOP}/contrib/pf/ftp-proxy +PACKAGE= pf PROG= ftp-proxy MAN= ftp-proxy.8 From nobody Wed Feb 8 07:54:19 2023 X-Original-To: dev-commits-src-main@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 4PBXMJ0hg1z3ksS5; Wed, 8 Feb 2023 07:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMH5hZXz3jK1; Wed, 8 Feb 2023 07:54:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842859; 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=1GU84+xDv2Shzo5to+S67k5luy5d5ZMGrOMRPkyHF7g=; b=XM8gRGWMF1+afyCSCVnmVAkGRlGPQnWYggYuu801Y0UM+CrWkZyZavPPDUR4BGrpy3uAOn 3Y3b6dKwdINcUorofQvHkkIaAEwZtwxLncb7rjb3bplsVPDHOhAhZvtGw4l2hNChSkvyKK 1nVf9XGtjSx/DFCJgOauyQkuWNqCV85CxIZo1E0hhZrFqOFtHpTqoTUL363wDqtCFPG0uc VLoU1qZJPb14zbqRGXKSx1fi9M1KwZZ0/K0qp/2Qk9cZz/YA6Ig/vVnFFltlgQ7gs3kK2I fvL0MBsXYHsKnJEa+0QcxfESCgjD93hdgia4EmoiEfCyDyuJNSVaf8yqd3T8Jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842859; 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=1GU84+xDv2Shzo5to+S67k5luy5d5ZMGrOMRPkyHF7g=; b=ZjdR+itvIeKKHoSTme27BwnOqEhPHy+zmt1VIC0hpKtqzwlJUYOG8Lp6s9U7PZtBfgzwk6 yjO7VdFxytJoqdqXfhKMsGuX2FVi7ov9v4W4jH7+V2mxaCcPyMo+I9pWu6sxuDPDGXoda/ lECM6hyA34lhnPeBhrnE3iP42emHLSjspHF52Pcm6wPcUvxhQNk8uytu0lWKhRPKFs94Tq PYXsLXhGXHDEYXBFdwwic4A73WExAKi2/Sa+7GxmboeJdTsSjUSTRHYDHvCa6frdYsy4GW 4rttLgqmVWvUreEW5NSsSJNjwJxgr3afPEoghcm2PSe29Tu1+2RJlx4f9GfEjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842859; a=rsa-sha256; cv=none; b=YaL933vu7ti7OxnTF0rchoCn6YewrZOOL3Rr+GJlSMxJoywuV1Ieevtn6L+YUgXMpPJHUA KuoN8lBxGU7kfAzB/yZbZNDXJgbsJBgt1yeJtTYK1EPrnmEFWspTxoyhPr7m5jjYXnlHo7 HCrItuUI2f+ohQbOgCEL+OvBA6VJuTQkU+co2a5po39Al5T4VPDOT2JWLow0Auu1Lg2PgO zJsGOSgIyvfpWiJZjWU8UlMRvqu2aDWOpzoxOHmUbyUq+b6LFRxZE+t0tvm2XIKRw0oB4T GXI6Meud+eorROjhlxD/eFYBUmLjcMORxCG4dFa/WJIGZTrOgAsgOM6rEbSNEQ== 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 4PBXMH4p85zpsS; Wed, 8 Feb 2023 07:54:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sJ2Y038138; Wed, 8 Feb 2023 07:54:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sJHd038137; Wed, 8 Feb 2023 07:54:19 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:19 GMT Message-Id: <202302080754.3187sJHd038137@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: c9621d45a154 - main - pkgbase: Put libpanelw and libform in FreeBSD-clibs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c9621d45a1548e6b5bff0bdd3151667550170dd9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=c9621d45a1548e6b5bff0bdd3151667550170dd9 commit c9621d45a1548e6b5bff0bdd3151667550170dd9 Author: Emmanuel Vadot AuthorDate: 2023-01-27 15:17:32 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:49:59 +0000 pkgbase: Put libpanelw and libform in FreeBSD-clibs Put them with the others ncurses libs. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38227 --- lib/ncurses/form/Makefile | 1 + lib/ncurses/panel/Makefile | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/ncurses/form/Makefile b/lib/ncurses/form/Makefile index a6b186936dc5..8a26672544c5 100644 --- a/lib/ncurses/form/Makefile +++ b/lib/ncurses/form/Makefile @@ -5,6 +5,7 @@ SRCDIR= ${NCURSES_DIR}/form +PACKAGE= clibs LIB= formw SHLIB_MAJOR= 6 diff --git a/lib/ncurses/panel/Makefile b/lib/ncurses/panel/Makefile index 9dd950496b1b..5c7568d7ece2 100644 --- a/lib/ncurses/panel/Makefile +++ b/lib/ncurses/panel/Makefile @@ -5,6 +5,7 @@ SRCDIR= ${NCURSES_DIR}/panel +PACKAGE= clibs LIB= panelw SHLIB_MAJOR= 6 From nobody Wed Feb 8 07:54:20 2023 X-Original-To: dev-commits-src-main@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 4PBXMJ6v5Dz3ksGg; Wed, 8 Feb 2023 07:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMJ6PjGz3jVY; Wed, 8 Feb 2023 07:54:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842860; 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=fRZJXCwztvoHhX7HGDDuKrko1UeG6yR7C9oGi4g5MPg=; b=sVdnmS8QKIQocSYR9VwclK+AxlDYW7aS53M6w/9ffMhRej7oAOVxtsIupPSfr+sje8LYjL fVa/X6sQRgtgK8/1FqE1P/L46BO1X3RY+HFu1bayeuGglzFcSl3GMT2XMd8bL8C4Qf5MHK j+E0rfZRKIrFH45RxCjymMZTTJeFKuJEkbJvo/2re3muaG80tezqZ7p6Ur0vjrXC9o5U7A 7QbmRm4JlMOQJ/0Uzv2co3FQW/bgbGY7drY3RyowNsZxpylTuSua7/3xMfRMlS/KXrZE0g T38qr0mHbJfS+gX5zzh6bgtP7pJlKPAUStK8KGe+aL59HSpmwbf1ntDitbQM4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842860; 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=fRZJXCwztvoHhX7HGDDuKrko1UeG6yR7C9oGi4g5MPg=; b=m9OCKudqL+/YxbQwcY6jmEbE6ruYy+HmMMpU4kTB+2tODZcb7uHsuau2lRkqozfbFDthYt /2ABAxckBmRLCCsbi9k3Ipdk494IHZxkwkVQRz5RscruBuohfA9IhFm9p6kGsNA3dFVleO ge4aLJsa2/dBfVjkgBkex+92oFQFfwQsP8m4ysVLflp9EwsblsnkJYouiqe08ngK20ca0a yEHIE2jniJ/4tJtRzAVu3zoT9eRHay3h1kQAOSbEmYCwWUqYacwHOUBYWfvfw4qqqfL0kS ooIOpFOCqYWTPN+65yYjmsjJjzgInY+rdpjDPL77WcK175mzwMJXMVLG8Ypcvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842860; a=rsa-sha256; cv=none; b=bwKMVpFiY7jYm8/HS1aTVwv7hKdd71Tca31Ad4Bie8Hj1J7VzLDfB9ncSFACDl0rFyJbRr FFqbQ6KfdmJc6IdXEHQ6IoMXDXxlePEOHM6Z1pb2lL6K3FKBaX/nBhffbj6oCrWCvTzvC4 SC+UUYrGf6QvoOwV0zw0hCdPmTpRBFDae3BhZcDU5wcIT2us3RmfjjgOODE1RWOQ/v36+M LdJ60ble9yqeU7o7tJE8U9f3yC43vYr3MVySCrNw82+cM+GcCTC+8cjfRvDierglvLDHLo CGgtWl0L4OJWOo82q9x6NQT2SrvRoRpXj6DvCjH7whsfXv4Fkyzz2BFaYVh91A== 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 4PBXMJ5M4dzpV6; Wed, 8 Feb 2023 07:54:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sKJx038165; Wed, 8 Feb 2023 07:54:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sKvQ038164; Wed, 8 Feb 2023 07:54:20 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:20 GMT Message-Id: <202302080754.3187sKvQ038164@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 0b8a2c744ca4 - main - pkgbase: Do not override packages for FILES List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0b8a2c744ca41e035eb85244419ab9c9a0a1983c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=0b8a2c744ca41e035eb85244419ab9c9a0a1983c commit 0b8a2c744ca41e035eb85244419ab9c9a0a1983c Author: Emmanuel Vadot AuthorDate: 2023-01-31 15:14:27 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:50:16 +0000 pkgbase: Do not override packages for FILES Not all FILES entries should end up in FreeBSD-utilities Reviewed by: bapt Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38296 --- share/mk/bsd.files.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk index a327d142662c..f611694fa3b4 100644 --- a/share/mk/bsd.files.mk +++ b/share/mk/bsd.files.mk @@ -39,7 +39,7 @@ ${group}DIR?= BINDIR STAGE_SETS+= ${group:C,[/*],_,g} .if ${group} == "FILES" -FILESPACKAGE= ${PACKAGE:Uutilities} +FILESPACKAGE?= ${PACKAGE:Uutilities} .endif .if defined(NO_ROOT) From nobody Wed Feb 8 07:54:21 2023 X-Original-To: dev-commits-src-main@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 4PBXML0hKqz3kryt; Wed, 8 Feb 2023 07:54:22 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXML0Gp3z3jW9; Wed, 8 Feb 2023 07:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842862; 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=Hk5syrDZjdWZJ3+fSmFyzLcKESfQ502DJe5xHFUjgJs=; b=mzEiA4JozJJMkH6QU5BOEaPTdf7X2KUQVmA1puNvQ/tB4Vn6ONHMq+ZW7LY4nW69J5BXDM uGPorQB+hvTc6TxoelcU7WWOQ2o2MFeCWOSuRTzSPfdao1YeHxMl3yB/HD15Qb0ZkbTBZB xuYFFk/17xQiUsFhV2g6OOmq17g1v8NfjS8JH0IzoBq/xDwBzbMArkDAfUXVZRQw0GNk7H sEPlD0u7213Rctt2HBjdREEUFcXEROvEfiWqpRO1THcYsNbOZnSsSmH6eGT7E04zm47zM3 W4/T8FJsRsRQlQzsNCF1SmadlXuGHGhkvk7UscJbRqXzpsrALOQ2csqrYHtsyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842862; 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=Hk5syrDZjdWZJ3+fSmFyzLcKESfQ502DJe5xHFUjgJs=; b=HVmf0pSoXLmOLeSHokgeQE57Hvg61XxnJKx0I1g7m6m6bwdkpJrKk9gJdMltZKViPsG3uS jqOQiJpxLAKEWK8sSyTr1C+vP/u9+6qSmFEPfPHSCIW2U8MZJXuPl/itFNQz/ZF7CBNCmg HqFX4ZtAmdCqYkFqG+rSurZsDMdcEyzlHzxkQPifmmkj2RjNgKlCHM/HnwvfB3j6XkVJIE bBYYHfXHViT0XKPShOZ5okxKNT1fb2TXmvkVRIRCYDzE/MqnylNjPy1CZutlLe5TKOzoVc gtdq5Sa5tgbQGDysXDjQEu6uhj1r0xdXSZiJ3EW7UGrgJnpdWkRhDDk3FCYpPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842862; a=rsa-sha256; cv=none; b=crn9pQVHdlnya2KRAP/XTt/EJoemGCe2KqlJKceOpJMC4RdJ/AEe8Fthrcvo3K9Tk9vcG+ ZlprRfaWSXbGJNbFlzIOvv/VeNmflqPGmeec56WtK2gn2abV9X8JooZQPyE0j6esStnf8b qA/tq44a3d/vFUDqyCwzJ9vKNHap0rYUL6mc17uwElOb5c7wkO1NUTZTwsXZr37DA9FXRu bz7O+gr8fmCynpoRtj3DZKtr3tWFD8f2IXjD16ClwASAAMxoWz6NqYWq4cy/8TN4gRuh+k zrZsvdtKSEfe9RuTvpv2Yuq+tCm3BHuzZ86TH+AYEPV/hukyELysETugQIl6NQ== 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 4PBXMK6NvnzpvD; Wed, 8 Feb 2023 07:54:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sL5o038192; Wed, 8 Feb 2023 07:54:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sLRP038190; Wed, 8 Feb 2023 07:54:21 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:21 GMT Message-Id: <202302080754.3187sLRP038190@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 431b9b6692f5 - main - pkgbase: Put sendmail example in the sendmail package List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 431b9b6692f543968dad2eca14420cf72ebb78e8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=431b9b6692f543968dad2eca14420cf72ebb78e8 commit 431b9b6692f543968dad2eca14420cf72ebb78e8 Author: Emmanuel Vadot AuthorDate: 2023-01-31 15:15:11 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:50:31 +0000 pkgbase: Put sendmail example in the sendmail package Reviewed by: bapt Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38297 --- usr.sbin/mailwrapper/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.sbin/mailwrapper/Makefile b/usr.sbin/mailwrapper/Makefile index 0878a2f8c483..95020c3e769f 100644 --- a/usr.sbin/mailwrapper/Makefile +++ b/usr.sbin/mailwrapper/Makefile @@ -30,6 +30,7 @@ SYMLINKS+= ..${BINDIR}/mailwrapper /bin/rmail .if ${MK_SENDMAIL} != "no" FILES= ${SRCTOP}/etc/mail/mailer.conf FILESDIR= ${SHAREDIR}/examples/sendmail +FILESPACKAGE= sendmail .endif .if ${MK_MAILWRAPPER} != "no" From nobody Wed Feb 8 07:54:22 2023 X-Original-To: dev-commits-src-main@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 4PBXMM41znz3ks5t; Wed, 8 Feb 2023 07:54: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMM1D26z3jZJ; Wed, 8 Feb 2023 07:54:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842863; 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=1jmn7y3f4/3qYeY3d8Telc20Hxv1VJ7TuS4OVzDz35k=; b=H8DK9R/V2/Kx/yu6vZSkvCL1/ecr2J61Xi6VcuxH5kVeS/UlVbpFXb4n9nCkHNBegZVt0e 3x5p3twj2WbtCSz1NeOkPeKPm4IDBdtOJZomu7mNIuyj8jQyXFpbpJPkBxPA60oi4xV1e5 cMVd/5U4ZZRdMVWMB7vvDORYxxe7zBf5G2NiUXwtmdMb2HO27pkAcrCo+9skSg2d0+WZFe Oa1R4a9wP/cybyN2UYAkz9mZQAZYmYakVps1+JEA+u33L/4fUnbc9++sMCaF7aZbOSMujy z3mWtAnkA+ZeWzdlubf905FCStY6zfS5jX9cb4qsqSVQcvpDBlXGCJzemPtRTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842863; 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=1jmn7y3f4/3qYeY3d8Telc20Hxv1VJ7TuS4OVzDz35k=; b=ndfH6gjQ+682OXf+f70WWKtSwtW0st9Zpqzwk929GtNfaF5PAq7HaVMORlnXRVWbbINk55 sVra0Yvtc8PrmYV4sjREtRBRdEl36Rx1Z8LMQ6q7y7OTkkEcTJ2rRe6C1BT8QuqixQfBF8 un7xk9o1BKg2zFNU+0/D1bfcs+SwIcL9mfS0UTor2RhmQoEp8ZFnXi3NhlPTeUksrZbPDA asuIFYHcOoXVmgenAQak01nHj8isdwwA28LaMAlvro0Byb2rnPDpfM/xr/jHnafmIZExdw /hioZCteDHslqwsvZOjy2EbtvOolCHkpjyDmQssY1p2WygHsO3D+DmsAOcrtFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842863; a=rsa-sha256; cv=none; b=VQJTPD/HZEo92Xk1Z41NKmeBBBGDUmy//m8fD0lxH8S+9D3TCI5bW9qBIfefBcUkwSoijW VZetP0mtRgeD/O2omiz+442wUV7I3o9jxtcUPz5WJNnLpdFi5FAT0f0qphwga7G+zX44tU 4tR5x2PlIPnGpjQqeQpYU5kwH0UhUW1gXlhQJgZqIGw1F6PR96wrM6aTgov4aRwCPfk7Ts aiG0W80ApxWU8yOr1o/bw8NViAm1dHTpsviKvfrBMxm8BgaqqNCtDhG3Yapfz4zvTCM9Q1 RJ75az/W1XTvFjmQHP4AQPNI7oBKXBpnIxEYjV5gQOJu4TrLM4+dubWcxxF1ng== 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 4PBXMM0KVgzpXb; Wed, 8 Feb 2023 07:54:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sMS6038222; Wed, 8 Feb 2023 07:54:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sMHf038221; Wed, 8 Feb 2023 07:54:22 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:22 GMT Message-Id: <202302080754.3187sMHf038221@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: f4d9116de1da - main - devd: Move dhclient part in devd/dhclient.conf List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f4d9116de1dadc26d35302e1c5eb125e7de30db1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=f4d9116de1dadc26d35302e1c5eb125e7de30db1 commit f4d9116de1dadc26d35302e1c5eb125e7de30db1 Author: Emmanuel Vadot AuthorDate: 2023-02-01 07:41:56 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:51:20 +0000 devd: Move dhclient part in devd/dhclient.conf And make it part of the FreeBSD-dhclient package. This avoid calling dhclient on an installation without dhclient installed. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38322 --- sbin/devd/Makefile | 5 +++++ sbin/devd/devd.conf | 19 ------------------- sbin/devd/dhclient.conf | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile index 618dd032656b..c9d2470f30b5 100644 --- a/sbin/devd/Makefile +++ b/sbin/devd/Makefile @@ -12,6 +12,11 @@ DEVDDIR= /etc/devd DEVD+= asus.conf .endif +CONFGROUPS+= DHCLIENT +DHCLIENTDIR= ${DEVDDIR} +DHCLIENT+= dhclient.conf +DHCLIENTPACKAGE= dhclient + .if ${MK_HYPERV} != "no" CONFGROUPS+= HYPERV HYPERVDIR=${DEVDDIR} diff --git a/sbin/devd/devd.conf b/sbin/devd/devd.conf index 15b37ee8fd90..f7a8ea7ac8aa 100644 --- a/sbin/devd/devd.conf +++ b/sbin/devd/devd.conf @@ -44,19 +44,6 @@ notify 0 { action "/etc/pccard_ether $subsystem start"; }; -# -# Try to start dhclient on Ethernet-like interfaces when the link comes -# up. Only devices that are configured to support DHCP will actually -# run it. No link down rule exists because dhclient automatically exits -# when the link goes down. -# -notify 0 { - match "system" "IFNET"; - match "type" "LINK_UP"; - media-type "ethernet"; - action "service dhclient quietstart $subsystem"; -}; - # # Like Ethernet devices, but separate because 802.11 require spawning # wlan(4) interface. @@ -69,12 +56,6 @@ detach 0 { device-name "$wifi-driver-regex"; action "/etc/pccard_ether $device-name stopchildren"; }; -notify 0 { - match "system" "IFNET"; - match "type" "LINK_UP"; - media-type "802.11"; - action "service dhclient quietstart $subsystem"; -}; # An entry like this might be in a different file, but is included here # as an example of how to override things. Normally 'ed50' would match diff --git a/sbin/devd/dhclient.conf b/sbin/devd/dhclient.conf new file mode 100644 index 000000000000..e90558295e1a --- /dev/null +++ b/sbin/devd/dhclient.conf @@ -0,0 +1,19 @@ +# +# Try to start dhclient on Ethernet-like interfaces when the link comes +# up. Only devices that are configured to support DHCP will actually +# run it. No link down rule exists because dhclient automatically exits +# when the link goes down. +# +notify 0 { + match "system" "IFNET"; + match "type" "LINK_UP"; + media-type "ethernet"; + action "service dhclient quietstart $subsystem"; +}; + +notify 0 { + match "system" "IFNET"; + match "type" "LINK_UP"; + media-type "802.11"; + action "service dhclient quietstart $subsystem"; +}; From nobody Wed Feb 8 07:54:24 2023 X-Original-To: dev-commits-src-main@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 4PBXMN4BVxz3ksSG; Wed, 8 Feb 2023 07:54:24 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMN2T3pz3jq8; Wed, 8 Feb 2023 07:54:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842864; 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=vuo3P+3ImNE+Q8iKIs7+DQV+qkfF0avdz70kSZNAlpw=; b=qKKU/4pfpJD/+75bvjXe8GpYff1XFIsZMb3QmmRilyobOmv5Wkft/y+wKKxxvYiGfDAH0b 9pLlGOJD6YTBgNgaOBRuROU0WhwQC7JD8FMCK3cr1VRmNJDFjHs85x1lRnMrIJERgCsRKF /otWQ0nYwNwJG62vc7M818T+9ktZ3kcCfK6fCYueaueNt3K30FUdnQxR3qObr4xbn+gC5v Pl8+gyI906TO3CDEZNbYrwaN4ohILGXM5snDTJJ1q1VFMNK0uQqKmH9ZBUBE0txd/PJswR oasatwX/N5ZVElknKN6goX0iQmaX10daW5s2b/8mhp8k/nCSETh+Habv3w5tSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842864; 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=vuo3P+3ImNE+Q8iKIs7+DQV+qkfF0avdz70kSZNAlpw=; b=CUJDagokTwZIDQWqkyNpJt2OEnTQqRrQoahd4G9LaEYeqNpfTmyA2YX/BuHSDnxMlOEynn 8luG8FYIn1yn1Df/TVQgufe6Tv7P3Z2wrnUve3xWQ2uncmRYzDP9EMYNOQ9iaIOxC705ea aq2/B7pHN//VlN1h0+5FRDnGTtSlp0bUNLRivMYObMzF4lAuoDbAkE+0cTZJ019RhdUfw/ 2q/0BWlGMcYoFknks+Vv9BDM790CrhNE+qiFI5GZ+uq/c+5ArkmtYfUjSeo7XwCd+2fuui pfY1ns40gmfh2c5kXFdVWx16YphvUSUDBerwg1UfilKf3crizLuS3UXGTuHpBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842864; a=rsa-sha256; cv=none; b=YDPLfnThsRidkmabAbjdJ7yK3JNXB8sBWr3y66BTKjRy1l6H2DVrxFMbgmxbFBKr/FOg8n bAFMlKd9Fa1W1Vf0ClFgeP8vwCCN7RXAacd0f0q+6sOYlqUd+HWRp3aVtlCjVLqN9L06dq rft2iSSA3GeiqikHxTCvICCew3yo8pxR9jEnQ5c9A3rBzHRL31Q2sWUUKdNBNevOkx3Dfn 1H3fvYgySIppiU6UWF4u5fZJ9MHypGoAK2w5gI+3NyyXFu6U9iP/Y0/7yo1noh2DcR4N2E C1zYAig+/gVDYv9ZrFjHLAmy7iyqbgy+/DWj3mSThJGYdsmA0Rc4x1cBRQ6h9g== 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 4PBXMN1RxCzq72; Wed, 8 Feb 2023 07:54:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sOka038247; Wed, 8 Feb 2023 07:54:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sOvl038246; Wed, 8 Feb 2023 07:54:24 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:24 GMT Message-Id: <202302080754.3187sOvl038246@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 9150a0455e43 - main - devd: Move bluetooth part in devd/bluetooth.conf List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9150a0455e435e11d27b9b3f89a30cb2f04fe59e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=9150a0455e435e11d27b9b3f89a30cb2f04fe59e commit 9150a0455e435e11d27b9b3f89a30cb2f04fe59e Author: Emmanuel Vadot AuthorDate: 2023-02-01 07:44:46 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:51:34 +0000 devd: Move bluetooth part in devd/bluetooth.conf And make it part of the FreeBSD-bluetooth package. This avoid calling service bluetooth on an installation without it installed. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38323 --- sbin/devd/Makefile | 7 +++++++ sbin/devd/bluetooth.conf | 9 +++++++++ sbin/devd/devd.conf | 10 ---------- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile index c9d2470f30b5..5b2feb6c2bdb 100644 --- a/sbin/devd/Makefile +++ b/sbin/devd/Makefile @@ -17,6 +17,13 @@ DHCLIENTDIR= ${DEVDDIR} DHCLIENT+= dhclient.conf DHCLIENTPACKAGE= dhclient +.if ${MK_BLUETOOTH} != "no" +CONFGROUPS+= BLUETOOTH +BLUETOOTHDIR= ${DEVDDIR} +BLUETOOTH+= bluetooth.conf +BLUETOOTHPACKAGE= bluetooth +.endif + .if ${MK_HYPERV} != "no" CONFGROUPS+= HYPERV HYPERVDIR=${DEVDDIR} diff --git a/sbin/devd/bluetooth.conf b/sbin/devd/bluetooth.conf new file mode 100644 index 000000000000..29bd51e36fca --- /dev/null +++ b/sbin/devd/bluetooth.conf @@ -0,0 +1,9 @@ +# When a USB Bluetooth dongle appears, activate it +attach 100 { + device-name "ubt[0-9]+"; + action "service bluetooth quietstart $device-name"; +}; +detach 100 { + device-name "ubt[0-9]+"; + action "service bluetooth quietstop $device-name"; +}; diff --git a/sbin/devd/devd.conf b/sbin/devd/devd.conf index f7a8ea7ac8aa..43596fb9a9d5 100644 --- a/sbin/devd/devd.conf +++ b/sbin/devd/devd.conf @@ -69,16 +69,6 @@ detach 100 { device-name "ed50"; }; -# When a USB Bluetooth dongle appears, activate it -attach 100 { - device-name "ubt[0-9]+"; - action "service bluetooth quietstart $device-name"; -}; -detach 100 { - device-name "ubt[0-9]+"; - action "service bluetooth quietstop $device-name"; -}; - # Firmware downloader for Atheros AR3011 based USB Bluetooth devices #attach 100 { # match "vendor" "0x0cf3"; From nobody Wed Feb 8 07:54:25 2023 X-Original-To: dev-commits-src-main@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 4PBXMP4GrLz3ksKf; Wed, 8 Feb 2023 07:54:25 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMP3G8mz3jn7; Wed, 8 Feb 2023 07:54:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842865; 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=lAUIU1X788mplp7EkCeExn7naOGkvFPvsoNJOzLiIjs=; b=Gzihg/RpVi2Wp6aMzy2ROyD07C0ERMjXhL49baMjbhdmmPGhUsGuJcrZ75LueCiuHwugdS 9jSF5lXYISNojbKp38Eoij0R+xseZ6TWd65aMC6jh4zk7hXtASh+Zs92TUQM1U3rQEWS/R TPre57d3PGenmVNS/ausrh7LK39aKYXiZVdKx6jFHuzrxaUhv/bs1n5xpma1Nk4GCwPsEA Ri5ShXkGjGH8LbkmMaAg/io9BeFT6KvMXvbOeYfpDCjQP6S/bb5gxYEM1P0DBU5zqNidha rbY6/J1yaMnAM0EB7g7mmsCxUWsSSjdHH6vTx/zu/tD0zz7J/dnA4bOufMFhVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842865; 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=lAUIU1X788mplp7EkCeExn7naOGkvFPvsoNJOzLiIjs=; b=ZR7+G0hQjVl15A/hD3NCGBbbduleUiTovlTlLLfGdcvzvGqoPq2YZ/J7FJLwfxmGstND6K 7sTrrA9VP4FOZtvg6J5YLmu/3BhE/X4bQuBZBtQfoEvU7PjxWZsyjj2WnU8jMo14jEpAne 8bq86bnKWgHlQgZ3poEPXGr4Wjm+aK3kdn4HZSHboo+CF6xUEmAaoHdVsbhc1ukjJvNnL5 QIGce723jo9d/uOT0+Qixay0tydCQJogUtBibhxug4Zm9V7XUJ4NW93Di5XKjB0v4/FQ90 6uBOxAqh/wKZFJtPOVoDm/r5nh8DCvY9blQrDTDa+YEP3uwNF2QDOtbryoVIRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842865; a=rsa-sha256; cv=none; b=TlYLf2rrDxAl85cnJBYwElB8YPXSVEubybOx2t34FO84OjLHQGBBGiVa9Thx/fOLnkMrtZ OWpDMy069BTvCCuWrB2skCHxyd/cFm2PJTppw7hTy3piLQqpNsPQ9WBG1/rBsWQ5pSnAiy BJ9BBdO31sS1TGvfBs7hWryrT0UTXLBP4h+t4/4hVInqZWmbFnYqQkcxAkRZcxCZzYgzHa XTEGvSl+3etcraLyipW6+8iusXxoicIYmJIeJiCBEQTQ61rqLOIMURin2scT0UZ/7KTpvu wJBxwc44CN9dxvysw4Abo4uzW6G7/lby4+0p54eghYh2Hlz8UpZ4NQOnX/Fysw== 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 4PBXMP2J2xzpXc; Wed, 8 Feb 2023 07:54:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sPJd038271; Wed, 8 Feb 2023 07:54:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sPQq038270; Wed, 8 Feb 2023 07:54:25 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:25 GMT Message-Id: <202302080754.3187sPQq038270@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 2878e21ff11b - main - devd: Move power_profile part in devd/power_profile.conf List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2878e21ff11b373d39fa98a77f215c61027337ee Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=2878e21ff11b373d39fa98a77f215c61027337ee commit 2878e21ff11b373d39fa98a77f215c61027337ee Author: Emmanuel Vadot AuthorDate: 2023-02-01 07:49:18 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:52:17 +0000 devd: Move power_profile part in devd/power_profile.conf And make it part of the FreeBSD-acpi package. This avoid calling service power_profile on an installation without it installed. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38324 --- sbin/devd/Makefile | 5 +++++ sbin/devd/devd.conf | 7 ------- sbin/devd/power_profile.conf | 6 ++++++ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile index 5b2feb6c2bdb..72c65caa3317 100644 --- a/sbin/devd/Makefile +++ b/sbin/devd/Makefile @@ -17,6 +17,11 @@ DHCLIENTDIR= ${DEVDDIR} DHCLIENT+= dhclient.conf DHCLIENTPACKAGE= dhclient +CONFGROUPS+= POWERPROFILE +POWERPROFILEDIR= ${DEVDDIR} +POWERPROFILE+= power_profile.conf +POWERPROFILEPACKAGE= acpi + .if ${MK_BLUETOOTH} != "no" CONFGROUPS+= BLUETOOTH BLUETOOTHDIR= ${DEVDDIR} diff --git a/sbin/devd/devd.conf b/sbin/devd/devd.conf index 43596fb9a9d5..d30f97c7abb0 100644 --- a/sbin/devd/devd.conf +++ b/sbin/devd/devd.conf @@ -145,13 +145,6 @@ nomatch 10 { vendor $vendor bus $bus"; }; -# Switch power profiles when the AC line state changes. -notify 10 { - match "system" "ACPI"; - match "subsystem" "ACAD"; - action "service power_profile $notify"; -}; - # Notify all users before beginning emergency shutdown when we get # a _CRT or _HOT thermal event and we're going to power down the system # very soon. diff --git a/sbin/devd/power_profile.conf b/sbin/devd/power_profile.conf new file mode 100644 index 000000000000..294856071f00 --- /dev/null +++ b/sbin/devd/power_profile.conf @@ -0,0 +1,6 @@ +# Switch power profiles when the AC line state changes. +notify 10 { + match "system" "ACPI"; + match "subsystem" "ACAD"; + action "service power_profile $notify"; +}; From nobody Wed Feb 8 07:54:26 2023 X-Original-To: dev-commits-src-main@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 4PBXMQ6HcLz3ks2p; Wed, 8 Feb 2023 07:54:26 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMQ4jCgz3jfy; Wed, 8 Feb 2023 07:54:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842866; 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=MBK0N3SKT5JiLmr4d+yMDIxNDca90I4C6Iy+YiA5Xtc=; b=b8kA8ZmwJeGHeuiOcXMvVpcCapfVtjsgi2+KumHvCgiHIRfHbQj8Z5PkQla5WCTsV4tVTu jXXqPyNGgwAq8eb+A2keyitIyc1V6ElYxkL4JtzcWNPY7xYeDBy2s2fSBI1SfpmrdQXzqQ KvdhEJCDjqxJVo28OrP6WuCqty0ktcl/+sJ+IcYKt9JEjLGP6/pQJPdqFJsekSWmFmrPh3 TTNhsT3mTzLIQDwjCMMdgClbB+gPr7M9RvKG4//yGbaEo+qcgY+TPhlBwRq5lMads06/Cx 0eS4Y1/BBVphvu6Fkdckxmwmscn77QMoVQ+VDXl58YvdkBPEE4AqYgGhzt+eEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842866; 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=MBK0N3SKT5JiLmr4d+yMDIxNDca90I4C6Iy+YiA5Xtc=; b=C10Exz7NGENP5MR05DAE08OzbbG+ZveuA4rDgQAGKQbX88AC6Qej7gZJ+/CV/a4sJalIgC mlhQqf2U9cPd2UgXzTwY5rNQCfmZeOB295MfMqCo1XSgOfT0kmQYeQTXSNJvaO/tNO2XXt FZdijaETxoQ6ckkAuk/gbMv4zag//FiT2gXDTNWKrjFR/z4SJZ6y0IV3a874YQRkSUkC3E ECvdtzxv6Jwy6yeOAgzOaEID3FmVxLkj+Ddt5c6O0jI3xWZZS2rbF1KE9uGhbqels2ItI2 1MY3g2/+9I9Qiq6iyaaYW/pN/NjEHCBpjnOlYNx1UlWTR5lv9u8CmCkD7CD/zg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842866; a=rsa-sha256; cv=none; b=gAMjEvlJQPYpKF6KvO5j4lWojxs/otjwczmaudmZab6VXOl/Eowlqf3KzEaxw8EXtZFa66 7PxcYHUwlaJxLVhJKPSOqaV/yWbSqPCiCwja7RPyXtb/v3UvjYXTK8btIqmv0haJEXnI6o Z1tKB1c/WyVZPPvKOLXG9OaE6v3aUuCL1bpajFFQArrVR9HpvOga18YDGOrn17ryFdhzBo KsTYMK5ybeClduGPcTVgUcbcmFYTHTJFcewUd+97u74uv99gpYKtBbvCqG3uvaoeT1t2c0 c8CJaZewwmFkPyaSZixITJMBkosymhilRgzCrK6tZ7yOdkX6yMxdEZsRzoJXrA== 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 4PBXMQ3SmYzpqY; Wed, 8 Feb 2023 07:54:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sQoC038295; Wed, 8 Feb 2023 07:54:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sQgj038294; Wed, 8 Feb 2023 07:54:26 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:26 GMT Message-Id: <202302080754.3187sQgj038294@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: cab549c76c88 - main - pkgbase: Create a FreeBSD-console-tools package List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cab549c76c8822be2850f048a2f80d5a174f5910 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=cab549c76c8822be2850f048a2f80d5a174f5910 commit cab549c76c8822be2850f048a2f80d5a174f5910 Author: Emmanuel Vadot AuthorDate: 2023-02-01 09:35:56 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:52:40 +0000 pkgbase: Create a FreeBSD-console-tools package And put in it: - kbdcontrol - vidcontrol - moused - kbdmap Those aren't useful in a jail or for a modern desktop. While here, split the devd.conf part into some new files. Reviewed by: bapt Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38321 --- libexec/rc/rc.d/Makefile | 6 +++-- release/packages/Makefile.package | 2 ++ sbin/devd/Makefile | 5 +++++ sbin/devd/devd.conf | 46 --------------------------------------- sbin/devd/moused.conf | 35 +++++++++++++++++++++++++++++ sbin/devd/syscons.conf | 9 ++++++++ usr.sbin/kbdcontrol/Makefile | 1 + usr.sbin/kbdmap/Makefile | 1 + usr.sbin/moused/Makefile | 1 + usr.sbin/vidcontrol/Makefile | 1 + 10 files changed, 59 insertions(+), 48 deletions(-) diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile index 56ee41a8316d..e2019c60f196 100644 --- a/libexec/rc/rc.d/Makefile +++ b/libexec/rc/rc.d/Makefile @@ -252,8 +252,10 @@ JAILPACKAGE= jail .endif .if ${MK_LEGACY_CONSOLE} != "no" -CONFS+= moused -CONFS+= syscons +CONFGROUPS+= CONSOLE +CONSOLE+= moused +CONSOLE+= syscons +CONSOLEPACKAGE= console-tools .endif .if ${MK_LPR} != "no" diff --git a/release/packages/Makefile.package b/release/packages/Makefile.package index 26e1f7e2a14d..47e0ee1c224b 100644 --- a/release/packages/Makefile.package +++ b/release/packages/Makefile.package @@ -30,6 +30,8 @@ clang_COMMENT= Clang Utilities clang_DESC= Clang Utilities clibs_COMMENT= Core C Libraries clibs_DESC= Core C Libraries +console-tools_COMMENT= Console Utilities +console-tools_DESC= Console Utilities csh_COMMENT= C Shell csh_DESC= C Shell ctf-tools_COMMENT= CTF Utilities diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile index 72c65caa3317..d3b910b2e9ec 100644 --- a/sbin/devd/Makefile +++ b/sbin/devd/Makefile @@ -22,6 +22,11 @@ POWERPROFILEDIR= ${DEVDDIR} POWERPROFILE+= power_profile.conf POWERPROFILEPACKAGE= acpi +CONFGROUPS+= CONSOLE +CONSOLEDIR= ${DEVDDIR} +CONSOLE+= moused.conf syscons.conf +CONSOLEPACKAGE= console-tools + .if ${MK_BLUETOOTH} != "no" CONFGROUPS+= BLUETOOTH BLUETOOTHDIR= ${DEVDDIR} diff --git a/sbin/devd/devd.conf b/sbin/devd/devd.conf index d30f97c7abb0..9604fe8efc05 100644 --- a/sbin/devd/devd.conf +++ b/sbin/devd/devd.conf @@ -76,52 +76,6 @@ detach 100 { # action "sleep 2 && /usr/sbin/ath3kfw -d $device-name -f /usr/local/etc/ath3k-1.fw"; #}; -# When a USB keyboard arrives, attach it as the console keyboard. -attach 100 { - device-name "ukbd0"; - action "service syscons setkeyboard /dev/ukbd0"; -}; -detach 100 { - device-name "ukbd0"; - action "service syscons setkeyboard /dev/kbd0"; -}; - -notify 100 { - match "system" "DEVFS"; - match "subsystem" "CDEV"; - match "type" "CREATE"; - match "cdev" "atp[0-9]+"; - - action "service moused quietstart $cdev"; -}; - -notify 100 { - match "system" "DEVFS"; - match "subsystem" "CDEV"; - match "type" "CREATE"; - match "cdev" "ums[0-9]+"; - - action "service moused quietstart $cdev"; -}; - -notify 100 { - match "system" "DEVFS"; - match "subsystem" "CDEV"; - match "type" "CREATE"; - match "cdev" "wsp[0-9]+"; - - action "service moused quietstart $cdev"; -}; - -notify 100 { - match "system" "DEVFS"; - match "subsystem" "CDEV"; - match "type" "DESTROY"; - match "cdev" "ums[0-9]+"; - - action "service moused stop $cdev"; -}; - # Don't even try to second guess what to do about drivers that don't # match here. Instead, pass it off to syslog. Commented out for the # moment, as the pnpinfo variable isn't set in devd yet. Individual diff --git a/sbin/devd/moused.conf b/sbin/devd/moused.conf new file mode 100644 index 000000000000..002edad9a8a9 --- /dev/null +++ b/sbin/devd/moused.conf @@ -0,0 +1,35 @@ +notify 100 { + match "system" "DEVFS"; + match "subsystem" "CDEV"; + match "type" "CREATE"; + match "cdev" "atp[0-9]+"; + + action "service moused quietstart $cdev"; +}; + +notify 100 { + match "system" "DEVFS"; + match "subsystem" "CDEV"; + match "type" "CREATE"; + match "cdev" "ums[0-9]+"; + + action "service moused quietstart $cdev"; +}; + +notify 100 { + match "system" "DEVFS"; + match "subsystem" "CDEV"; + match "type" "CREATE"; + match "cdev" "wsp[0-9]+"; + + action "service moused quietstart $cdev"; +}; + +notify 100 { + match "system" "DEVFS"; + match "subsystem" "CDEV"; + match "type" "DESTROY"; + match "cdev" "ums[0-9]+"; + + action "service moused stop $cdev"; +}; diff --git a/sbin/devd/syscons.conf b/sbin/devd/syscons.conf new file mode 100644 index 000000000000..cd0c744955b9 --- /dev/null +++ b/sbin/devd/syscons.conf @@ -0,0 +1,9 @@ +# When a USB keyboard arrives, attach it as the console keyboard. +attach 100 { + device-name "ukbd0"; + action "service syscons setkeyboard /dev/ukbd0"; +}; +detach 100 { + device-name "ukbd0"; + action "service syscons setkeyboard /dev/kbd0"; +}; diff --git a/usr.sbin/kbdcontrol/Makefile b/usr.sbin/kbdcontrol/Makefile index 5a15ef3c9da6..960671a40fe7 100644 --- a/usr.sbin/kbdcontrol/Makefile +++ b/usr.sbin/kbdcontrol/Makefile @@ -1,5 +1,6 @@ # $FreeBSD$ +PACKAGE= console-tools PROG= kbdcontrol MAN= kbdcontrol.1 kbdmap.5 MLINKS= kbdmap.5 keymap.5 diff --git a/usr.sbin/kbdmap/Makefile b/usr.sbin/kbdmap/Makefile index 22747e70720c..a4f3158aa167 100644 --- a/usr.sbin/kbdmap/Makefile +++ b/usr.sbin/kbdmap/Makefile @@ -1,5 +1,6 @@ # $FreeBSD$ +PACKAGE= console-tools PROG= kbdmap CFLAGS+= -I${SRCTOP}/contrib/bsddialog/lib LIBADD= bsddialog diff --git a/usr.sbin/moused/Makefile b/usr.sbin/moused/Makefile index 0f9eac5b2417..e5d59e24be11 100644 --- a/usr.sbin/moused/Makefile +++ b/usr.sbin/moused/Makefile @@ -1,5 +1,6 @@ # $FreeBSD$ +PACKAGE= console-tools PROG= moused MAN= moused.8 diff --git a/usr.sbin/vidcontrol/Makefile b/usr.sbin/vidcontrol/Makefile index 8c8f6bb804b2..a09b0733ba94 100644 --- a/usr.sbin/vidcontrol/Makefile +++ b/usr.sbin/vidcontrol/Makefile @@ -1,5 +1,6 @@ # $FreeBSD$ +PACKAGE= console-tools PROG= vidcontrol SRCS= vidcontrol.c decode.c From nobody Wed Feb 8 07:54:27 2023 X-Original-To: dev-commits-src-main@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 4PBXMR6jb6z3ks0D; Wed, 8 Feb 2023 07:54:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMR5qjFz3jgK; Wed, 8 Feb 2023 07:54:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842867; 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=2Jv4i/cDgRttz5e53KJRo6Bzvu8N6ageuEpk+qZ5wHI=; b=rOt+Wt7VaIMyeyNv2ibnNjdKUFmy0OKxfsbrRbibuACgVHdjrTWD0MTd+xCQ+Pxg+wrFzf RlqceaMVsRkmSyPeWz0cUfw+5D5Bf9MmKqQUpGRPuUAsOYXmL0azp5bBlH5ulEhOqK5zhg 1aohzlbGjFSeOx7R2bFmE6EA60u24KbZUq4Omfqi49W1NI20AUjqk4IMA0K8QZFsGdVDGJ UxrPqx/XD1hVhJmyCroCtdpRyWa1teHi/toDeQn9qbGnNEFOG2oApMKNld23RhwzcNzUi/ Xd49i9v6ojtVKfmmLR6VKPSXhsRCQoRLsB8Ea04O2gnO6d45YxyA2Y9Tzr2ocg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842867; 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=2Jv4i/cDgRttz5e53KJRo6Bzvu8N6ageuEpk+qZ5wHI=; b=qI9VApm7F7fEUaO7Xb93XC2iV89OYUoXJ3BIj2U/Dc+g72OVSoHAWzxhH73lDdSOrUeYKP ZdMRF+mCFU7/T3VVSH4DBj4giJaP1bhytHVvSpJ6gZ9R85L2UgJ8JfSe708yRKg6YaOWlN ktYejJm7j14oSu0sL1UYhomBYJF772ZhVSZRloXsMtIhge5KtmaaiDUTL3LnFdLSQpV/pj vB2qi+2I77UaQ2jv1jfLfF+GF25o1j0PMbw/q6+/fiWN2PZyWOUUy7l3H0PjT5XWx/e5eY F767zR5z3wBtw3sDKsdyCrmKoyZ2FDjLR7A/PKJWXxLZQYVftmav1WZHSafrTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842867; a=rsa-sha256; cv=none; b=iE4Jh4qqrXucpoPI7VoSnfkBhoeTVelFYjt1piQGyq8MJzI8UGe5yBFbv2BBqrim5De0xe thyRSpvQL4D0QE/X4VsFXpvcVlUcuQC0Pc/pCjeIoye94HjuEyxrGAs3VSbVEFoI3FKjKA vRQmVVpY9RZV98n6VDbnS4aMXL9hZ5HPOox0xhF1BfczRLr9qPRKpi0vbx5WMGR2BWqAYl hn+HpTX0IWenWL5ucTf8szBXNqDbMgQExn0Vl2jzCszpnqsGL9RD/eGMg9vN3S1e+f4DXn maPV+oxNdgePqCVqETtRH65pCdsMaDliNL1hFnQv253n8QERwtV34bCHvynPTg== 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 4PBXMR4tBPzpV7; Wed, 8 Feb 2023 07:54:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sRHV038319; Wed, 8 Feb 2023 07:54:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sRk4038318; Wed, 8 Feb 2023 07:54:27 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:27 GMT Message-Id: <202302080754.3187sRk4038318@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: eac920e67016 - main - utx: Allow disabling user accounting List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eac920e670167a2c5e56cc1737bd84666f7679e6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=eac920e670167a2c5e56cc1737bd84666f7679e6 commit eac920e670167a2c5e56cc1737bd84666f7679e6 Author: Emmanuel Vadot AuthorDate: 2023-01-31 09:05:32 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:52:54 +0000 utx: Allow disabling user accounting Make it possible to not run utx at boot. Default to yes so this is a no-op for everyone. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38292 --- libexec/rc/rc.conf | 1 + libexec/rc/rc.d/utx | 1 + 2 files changed, 2 insertions(+) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index a1f6a3f69e8d..f4d8bc179678 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -55,6 +55,7 @@ powerd_flags="" # Flags to powerd (if enabled). tmpmfs="AUTO" # Set to YES to always create an mfs /tmp, NO to never tmpsize="20m" # Size of mfs /tmp if created tmpmfs_flags="-S" # Extra mdmfs options for the mfs /tmp +utx_enable="YES" # Enable user accounting varmfs="AUTO" # Set to YES to always create an mfs /var, NO to never varsize="32m" # Size of mfs /var if created varmfs_flags="-S" # Extra mount options for the mfs /var diff --git a/libexec/rc/rc.d/utx b/libexec/rc/rc.d/utx index 8c457a98c0c5..e3b36fe6815c 100755 --- a/libexec/rc/rc.d/utx +++ b/libexec/rc/rc.d/utx @@ -12,6 +12,7 @@ name="utx" desc="Manage the user accounting database" +rcvar="utx_enable" start_cmd="utx boot" stop_cmd="utx shutdown" From nobody Wed Feb 8 07:54:28 2023 X-Original-To: dev-commits-src-main@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 4PBXMT23Kzz3ks2w; Wed, 8 Feb 2023 07:54:29 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMT0r9yz3jv4; Wed, 8 Feb 2023 07:54:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842869; 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=XqX++STKkfomCuj+vQPmw7eXzcipsO2zTMTRrswB9U8=; b=wQAbQ+6pnt51+tkHS62uotYCbjVr1cv2GO7OsNzZTH5CEUxh8UoxMVvAMaEVBG52jtT7wi YC2dlEF838NzeCqIC0et5t+lo5CwhlKQRB/Usa72NeeiGHnFDdLAZqiE+2Ry8ryc0+nSO7 xwmRgGcjO8xBE+SWEUcpjXJxeS+yJHFthK0UV19j6xsjQBrMwZAmiWb/n+IYrdiLZ7qAqd exVi1oYLe7CpgG1fOBOrldcE61Fxh4N9JWt29cskOawTXcNXnSGrDzuUclRnxW2GTlXWUu UODL5ySKh6S4/wG8UfKLgm3XwyW2tYCEeqaQvuGDDkDDFUGsMvdSJvAdBLcYKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842869; 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=XqX++STKkfomCuj+vQPmw7eXzcipsO2zTMTRrswB9U8=; b=hBfGOE97M+QtWmuwnPQQW2H4pzsftHgh522DdkIAbf383ja+67TP0BILm4qSLH5WHtpkWa SaMXYmT3an0BU7zvwGQ3khdnxzwR5XBGlbOPjO6xoho0BFF41nxntXKxtJRjytnESpM5iw O1o4aT3bzrjjG+RYLDLFb/mUA2cTnXb89vks0MzkCyVf4WSEQEJ1ElKW0KWmS3QHEE+LV8 54xW+/tAHYUckIB+XYi9eph0Ur6zvav4WkhE0H6AgJWx8TZcs87QN7Vrxg741dl4dsFjF8 6HuL+lmRYDqRRVJeMU1UaZgXGsS2Enn7W+VTyyTfGOFrt2Q8JmO2MyXsVVAPPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842869; a=rsa-sha256; cv=none; b=J2N4ZD1ciwNVdKxpUUU0MjdFazEToyzsREdPZSMMUHnBGm1mhx7WWOwD+W1umDC+oLYHSv GoTpJ+FS0o2wH2HFNMwXmHk5tiuHETUtDZyjxFEP7BVKLBde/jlwb05bAdAICyCYkl2B8M D60UXcKTS73AtNJ+k1AOlqusVYq+JzIUYwYJovDMs5Omf5nUISHpYo7+dC3/IkuzqWcKqw PzdiG6JsHbTuWAy4Buq0IiZIjPXIaKHnrGRzfOLqhNJXW13oHxSmxln7bSzDDOI/vrwSBq ACk7UK9QNOL/GC+8hQdpz3sNmo+9qtKUR5YMn+6IsgTRxiUveIT/1//9PyBfQA== 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 4PBXMS5pzJzpsV; Wed, 8 Feb 2023 07:54:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sS7f038355; Wed, 8 Feb 2023 07:54:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sS9x038354; Wed, 8 Feb 2023 07:54:28 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:28 GMT Message-Id: <202302080754.3187sS9x038354@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 3662862f558f - main - rc: syscons: Add UEFI special case List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3662862f558f6afbdb53b1d6570c482c7d180580 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=3662862f558f6afbdb53b1d6570c482c7d180580 commit 3662862f558f6afbdb53b1d6570c482c7d180580 Author: Emmanuel Vadot AuthorDate: 2023-01-31 10:26:36 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:53:20 +0000 rc: syscons: Add UEFI special case Changing cursor, screenmap and setting blanktime doesn't work when booted with vt(4) and UEFI so add a special case for those depending on machdep.bootmethods. I have no way to test if this can work with vt(4) and bios boot so just in case keep calling those for this. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38293 --- libexec/rc/rc.d/syscons | 83 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 55 insertions(+), 28 deletions(-) diff --git a/libexec/rc/rc.d/syscons b/libexec/rc/rc.d/syscons index caca9dd33f37..1251363ff33f 100755 --- a/libexec/rc/rc.d/syscons +++ b/libexec/rc/rc.d/syscons @@ -50,8 +50,11 @@ _sc_config= _sc_console= _sc_initdone= _sc_keymap_msg= +_sc_bootmethod= sc_init() { + local bootmethod + if [ -z "${_sc_initdone}" ]; then if [ -z "${_sc_console}" ]; then if [ x`sysctl -n kern.vty` = x"vt" ]; then @@ -61,6 +64,23 @@ sc_init() fi _sc_config="${_sc_console}" fi + if [ -z "${_sc_bootmethod}" ]; then + bootmethod=$(sysctl -qn machdep.bootmethod) + case ${bootmethod} in + UEFI) + _sc_bootmethod="uefi" + ;; + BIOS) + _sc_bootmethod="bios" + ;; + PVH) + _sc_bootmethod="pvh" + ;; + *) + _sc_bootmethod="uefi" # Default to UEFI + ;; + esac + fi echo -n "Configuring ${_sc_config}:" _sc_initdone=yes fi @@ -259,16 +279,8 @@ syscons_precmd() return 0 } -syscons_start() +syscons_bios_start() { - # keyboard - # - if [ -n "${keyboard}" ]; then - syscons_setkeyboard ${keyboard} - fi - - syscons_configure_keyboard - # cursor type # case ${cursor} in @@ -291,62 +303,77 @@ syscons_start() ;; esac - # font 8x16 + # blank time # - case ${font8x16} in + case ${blanktime} in [Nn][Oo] | '') ;; *) sc_init - echo -n ' font8x16'; vidcontrol < ${viddev} -f 8x16 ${font8x16} + echo -n ' blanktime'; vidcontrol < ${viddev} -t ${blanktime} ;; esac - # font 8x14 + # screen saver # - case ${font8x14} in + case ${saver} in [Nn][Oo] | '') ;; *) sc_init - echo -n ' font8x14'; vidcontrol < ${viddev} -f 8x14 ${font8x14} + echo -n ' screensaver' + for i in `kldstat | awk '$5 ~ "_saver\.ko$" { print $5 }'`; do + kldunload ${i} + done + load_kld -e _saver ${saver}_saver ;; esac +} - # font 8x8 +syscons_start() +{ + # keyboard # - case ${font8x8} in + if [ -n "${keyboard}" ]; then + syscons_setkeyboard ${keyboard} + fi + + syscons_configure_keyboard + + if [ "${_sc_bootmethod}" = "bios" ]; then + syscons_bios_start + fi + + # font 8x16 + # + case ${font8x16} in [Nn][Oo] | '') ;; *) sc_init - echo -n ' font8x8'; vidcontrol < ${viddev} -f 8x8 ${font8x8} + echo -n ' font8x16'; vidcontrol < ${viddev} -f 8x16 ${font8x16} ;; esac - # blank time + # font 8x14 # - case ${blanktime} in + case ${font8x14} in [Nn][Oo] | '') ;; *) sc_init - echo -n ' blanktime'; vidcontrol < ${viddev} -t ${blanktime} + echo -n ' font8x14'; vidcontrol < ${viddev} -f 8x14 ${font8x14} ;; esac - # screen saver + # font 8x8 # - case ${saver} in + case ${font8x8} in [Nn][Oo] | '') ;; *) sc_init - echo -n ' screensaver' - for i in `kldstat | awk '$5 ~ "_saver\.ko$" { print $5 }'`; do - kldunload ${i} - done - load_kld -e _saver ${saver}_saver + echo -n ' font8x8'; vidcontrol < ${viddev} -f 8x8 ${font8x8} ;; esac From nobody Wed Feb 8 10:06:41 2023 X-Original-To: dev-commits-src-main@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 4PBbJ13pMQz3mykp; Wed, 8 Feb 2023 10:06:41 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBbJ12mZlz3wXy; Wed, 8 Feb 2023 10:06:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675850801; 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=IgygRiMr00Hgei1nq7MKnkNgSyQjE0TyAei58VZBj8k=; b=RVzihfYxrUW4B+5uM1fQA+bWJyiSpNp48cyo3zJ/sk0yFC3D2nI/lUbvgXiJPBPPXInaZs CsOMlkYWis2p2eDmucthZAV2rTOwX4xzKwOPw3FlsMMarmUyK5DXwoAKq3wZE4FNDcbtuf zdVqHs7dXpeZ5GT7VHwO87hA7Akc2ZaiHqgwHzvghI4/FuHTM/h+r3QntlDhIh7Jd7b5aq nQqqtr2g0aTz8cUrqRZPahktkEXf124CatcCG9rEODJms01FQ9WAjyutm7NOZO5rg5Fx2K ix/oo/K4ntZYOEtEk4M9BFskC89g2iJPL9SCjzgnZWh1u0Q8m9GkjJBRTM2QcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675850801; 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=IgygRiMr00Hgei1nq7MKnkNgSyQjE0TyAei58VZBj8k=; b=TF8ltXrLUU58H1Nf52rZ0CdhoQxh6WVZZCBT/u1uapHFItlmzCivLMLCCJDzCZWjGV/QoA AnrmdjJXpCkOeOjCe2tZhVw7dmFNIJdGF8agrCnBoPf7uhtFs7D39ia9356EV6DajnAJm9 X03AuW9mbVHmJ+YyT0rr7WOsBkWQN6u0zT6uQVkoQJ/uYaiFaxMVyQRWTkMAvgTsWzhMdI t3n0DhdIy/efjyGy4BC3kiU2DqZ1T6KFwtLY82tpqx91WqaUtYRLE5jNecpZPPmyHSu6fX aYOsz5wTEdkv2wA/aiN7v5a7EyvLJ9NeS6W/423dCMSXfuiej8Fl6VU4eRxLSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675850801; a=rsa-sha256; cv=none; b=XRG8AdwAEB0mKzm2JnQvWIIS6ADnMi0ix5ouPeSTTx1RX0TP9B3IFD+UaAUQIs/ytXUr+N pS+D5YW79kmjs/kqezTzDvvn+Dj5akuO3AyQdFy0i5PyGQNJx7cZkma/oMZ8ikXFTURqx9 +Fst05NebA4P4IsUbRILgiemypHqsyP1yF8EBd0dQMP21Czf5TB2X76pxFQFBPqsi+yU+2 Q7zRdZJns+qxmslSAhGfzlgMpegOqpOTRouACbwdi0qQZkqjcz9ehcPZz9hWZuG1jAv884 +pxzglcdthWeLK52cjzWQ2xZ2+5Hk1PUWjIa9nU1yD9/6pdvCYO/KMCTxQ39vA== 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 4PBbJ11kTdzsWt; Wed, 8 Feb 2023 10:06:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318A6fgQ024297; Wed, 8 Feb 2023 10:06:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318A6fFG024296; Wed, 8 Feb 2023 10:06:41 GMT (envelope-from git) Date: Wed, 8 Feb 2023 10:06:41 GMT Message-Id: <202302081006.318A6fFG024296@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 9df6eeabb379 - main - bpf: Add missing NOP stubs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9df6eeabb379b0816d58b05a4de24fc0478e1dba Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=9df6eeabb379b0816d58b05a4de24fc0478e1dba commit 9df6eeabb379b0816d58b05a4de24fc0478e1dba Author: Zhenlei Huang AuthorDate: 2023-02-08 04:35:02 +0000 Commit: Zhenlei Huang CommitDate: 2023-02-08 10:05:21 +0000 bpf: Add missing NOP stubs This fixes kernel build with nodevice bpf [1]. [1] https://lists.freebsd.org/archives/freebsd-current/2023-February/003178.html Reported by: Gary Jennejohn Reviewed by: jhibbits Fixes: 950cc1f44fbd bpf: Add "_if" tap APIs Differential Revision: https://reviews.freebsd.org/D38432 --- sys/net/bpf.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sys/net/bpf.c b/sys/net/bpf.c index ffac63ef95d9..43eed04375d7 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -3120,16 +3120,31 @@ bpf_tap(struct bpf_if *bp, u_char *pkt, u_int pktlen) { } +void +bpf_tap_if(if_t ifp, u_char *pkt, u_int pktlen) +{ +} + void bpf_mtap(struct bpf_if *bp, struct mbuf *m) { } +void +bpf_mtap_if(if_t ifp, struct mbuf *m) +{ +} + void bpf_mtap2(struct bpf_if *bp, void *d, u_int l, struct mbuf *m) { } +void +bpf_mtap2_if(if_t ifp, void *data, u_int dlen, struct mbuf *m) +{ +} + void bpfattach(struct ifnet *ifp, u_int dlt, u_int hdrlen) { From nobody Wed Feb 8 13:12:41 2023 X-Original-To: dev-commits-src-main@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 4PBgQr1K6hz3nPhT; Wed, 8 Feb 2023 13:12:52 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4PBgQq3VYhz4Ggl; Wed, 8 Feb 2023 13:12:51 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.16.1/8.16.1) with ESMTPS id 318DCfoS023367 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Wed, 8 Feb 2023 15:12:45 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 318DCfoS023367 Received: (from kostik@localhost) by tom.home (8.17.1/8.16.1/Submit) id 318DCfM8023366; Wed, 8 Feb 2023 15:12:41 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Wed, 8 Feb 2023 15:12:41 +0200 From: Konstantin Belousov To: Kyle Evans Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 2ffdc21324bd - main - config: make changes to allow some parts to build as C++ Message-ID: References: <202302080610.3186ANQd091168@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202302080610.3186ANQd091168@gitrepo.freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Rspamd-Queue-Id: 4PBgQq3VYhz4Ggl X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Wed, Feb 08, 2023 at 06:10:23AM +0000, Kyle Evans wrote: > The branch main has been updated by kevans: > > URL: https://cgit.FreeBSD.org/src/commit/?id=2ffdc21324bd1772fa2f40efed3987afecabf5cb > > commit 2ffdc21324bd1772fa2f40efed3987afecabf5cb > Author: Kyle Evans > AuthorDate: 2023-02-08 06:02:56 +0000 > Commit: Kyle Evans > CommitDate: 2023-02-08 06:09:10 +0000 > > config: make changes to allow some parts to build as C++ > > Highlights: > - Avoid keywords (this, not) as variable names > - Move yyparse into config.h with other declarations > - All declarations in config.h are assumed guilty until proven innocent > - Some const-correctness > - Casting malloc/calloc returns > > Note that we're not building any C++ here yet, this will be introduced > in other commits to replace some of the lib dependencies. Reducing the > number of FreeBSD-specific dependencies we have reduces some friction > for building our bootstrap tools independently in other environments. > > Reviewed by: imp > Sponsored by: Klara, Inc. > Sponsored by: NetApp, Inc. > Differential Revision: https://reviews.freebsd.org/D38274 > --- > usr.sbin/config/config.h | 6 ++++++ > usr.sbin/config/main.c | 19 ++++++++++--------- > usr.sbin/config/mkmakefile.c | 44 ++++++++++++++++++++++---------------------- > usr.sbin/config/mkoptions.c | 28 ++++++++++++++-------------- > 4 files changed, 52 insertions(+), 45 deletions(-) > > diff --git a/usr.sbin/config/config.h b/usr.sbin/config/config.h > index 79d0a788bae7..7d97d66979e2 100644 > --- a/usr.sbin/config/config.h > +++ b/usr.sbin/config/config.h > @@ -35,12 +35,15 @@ > /* > * Config. > */ > +#include /* __BEGIN_DECLS/__END_DECLS */ But sys/types.h already includes sys/cdefs.h (as most of our headers). > #include > #include From nobody Wed Feb 8 15:09:46 2023 X-Original-To: dev-commits-src-main@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 4PBk1t4TDdz3nW9Z; Wed, 8 Feb 2023 15:09:54 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBk1t415lz3F4d; Wed, 8 Feb 2023 15:09:54 +0000 (UTC) (envelope-from kevans@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675868994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=7c7aocgaKPQA4HgKt7XrUK6ewlLolDTFiML6iXttw0E=; b=Z4jjEf/1DdjdrCoKAJdmuumI95HINOs1r4NIycDoMtCGC4/2biT5fF+n6YADVWvXBPy3dP KyfFFNvg76XJR++k/DRpnwWofamlIaWON0Jw0lSYBJo5+T9Ax6XVxrrqza/QcpC9WlfYxa BmrVBt76kiExD78H7RiwbgeA5AiMWRc6sqIL/GH3TTdhiBNxQ3LlF++yLdRJU5mGPJio47 xp0oMMcQIGtLqN4VzusX2WN/j/pK5/T755824+yM8ZRqrrobjAnv2slPbSgn4B0xphQEbP y+58bz/GZFk1x2a92ttg323sqMMKoWrjYuUxVzdmgkZa2QEGnXz/DODozKiaEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675868994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=7c7aocgaKPQA4HgKt7XrUK6ewlLolDTFiML6iXttw0E=; b=RbclSDWOSVrPUiq3Vws1pLO2dIrYvld5+pSTF8cqG3FSx8vl/48UbjaZQELPFLziwwof3n BSoVRFBMvqj5JVzQ9GAcM+p2u9w7tqsm4UaTRtlg6M5M4HUWFZ7bQvRmkoJS/w1hStEG7y P7+yZWT2x8y/uR05D+4T5MiX3CF4IS2nMe2wa8g+OtvkqiP0HJY8wrNZSRgdWaKd1p6Ifd TdgEVAAnSQf0vyoBwDcNPLJzU5YZ8CXm8FgxLoTGvD8XP0qqR3SXNaDyR7y1YbMIMh74uf sqYk6K7HZMV+h9V+6Xy9MayZSWz2VqNJfSktl1W1c4UCi7pJj0MKXOU3HtCuhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675868994; a=rsa-sha256; cv=none; b=Ag+0ks2YHI1LClJ2XOh6dRWQ049UYniMoUWPloaxYxRv6o25t4G39Ozq9uYO938gOMp0xk n8YZwJp5pQPNuWckuYz/kiwDYauUaCu99O1cxuSs7RXk1ajbsDIDYr7ampwWKtnjfZid5T cpL5TQApaynPjALupCvS5swLEkbmPGN+fxFlqoHHxClS7Ed8d7mPvw2BtRdv+gN3ME+WB9 DHwYYv0ltPDo8m56/63RiZLsWKLKnafQAzONg+Vytao4f9JUU6aZ0kqHpi7esK/6lWcfwu 5uDGFb/ByF7uOeCleMYNVmwbDTuahy/3UunGHraZkehNL6pLe9NWCcQG4yJWAw== Received: from mail-qt1-f180.google.com (mail-qt1-f180.google.com [209.85.160.180]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PBk1t2dXhzyFm; Wed, 8 Feb 2023 15:09:54 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qt1-f180.google.com with SMTP id z5so20983629qtn.8; Wed, 08 Feb 2023 07:09:54 -0800 (PST) X-Gm-Message-State: AO0yUKVijG/gedlLacQOOPy6GW1uPCVVLZgXeO71MT4xiDJBUaS+GNaH tYF/Hvr1jR7n319UFRBCjpIOdpBcnzZt1N1miTQ= X-Google-Smtp-Source: AK7set8+vZifhhHE756ivbZN0Ke+zKVPUK33gX2HAqSUrgu95urM2hpgXA3WdOkk9r33App53gTKUDfixxm1zA9x2T0= X-Received: by 2002:a05:622a:1014:b0:3b8:6bd1:950f with SMTP id d20-20020a05622a101400b003b86bd1950fmr1607513qte.128.1675868993602; Wed, 08 Feb 2023 07:09:53 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202302080610.3186ANQd091168@gitrepo.freebsd.org> In-Reply-To: From: Kyle Evans Date: Wed, 8 Feb 2023 09:09:46 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: 2ffdc21324bd - main - config: make changes to allow some parts to build as C++ To: Konstantin Belousov Cc: Kyle Evans , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-ThisMailContainsUnwantedMimeParts: N On Wed, Feb 8, 2023 at 7:12 AM Konstantin Belousov wrote: > > On Wed, Feb 08, 2023 at 06:10:23AM +0000, Kyle Evans wrote: > > The branch main has been updated by kevans: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=2ffdc21324bd1772fa2f40efed3987afecabf5cb > > > > commit 2ffdc21324bd1772fa2f40efed3987afecabf5cb > > Author: Kyle Evans > > AuthorDate: 2023-02-08 06:02:56 +0000 > > Commit: Kyle Evans > > CommitDate: 2023-02-08 06:09:10 +0000 > > > > config: make changes to allow some parts to build as C++ > > > > Highlights: > > - Avoid keywords (this, not) as variable names > > - Move yyparse into config.h with other declarations > > - All declarations in config.h are assumed guilty until proven innocent > > - Some const-correctness > > - Casting malloc/calloc returns > > > > Note that we're not building any C++ here yet, this will be introduced > > in other commits to replace some of the lib dependencies. Reducing the > > number of FreeBSD-specific dependencies we have reduces some friction > > for building our bootstrap tools independently in other environments. > > > > Reviewed by: imp > > Sponsored by: Klara, Inc. > > Sponsored by: NetApp, Inc. > > Differential Revision: https://reviews.freebsd.org/D38274 > > --- > > usr.sbin/config/config.h | 6 ++++++ > > usr.sbin/config/main.c | 19 ++++++++++--------- > > usr.sbin/config/mkmakefile.c | 44 ++++++++++++++++++++++---------------------- > > usr.sbin/config/mkoptions.c | 28 ++++++++++++++-------------- > > 4 files changed, 52 insertions(+), 45 deletions(-) > > > > diff --git a/usr.sbin/config/config.h b/usr.sbin/config/config.h > > index 79d0a788bae7..7d97d66979e2 100644 > > --- a/usr.sbin/config/config.h > > +++ b/usr.sbin/config/config.h > > @@ -35,12 +35,15 @@ > > /* > > * Config. > > */ > > +#include /* __BEGIN_DECLS/__END_DECLS */ > But sys/types.h already includes sys/cdefs.h (as most of our headers). > Indeed, I couldn't recall if we can/should rely on the implicit inclusion or not and added it anyways. I'll fold removal into the last config(8) change along these lines[0], which I'll probably land tonight if I don't get any major complaints from the ones I've already landed. Thanks, Kyle Evans [0] https://reviews.freebsd.org/D38276 From nobody Wed Feb 8 15:24:33 2023 X-Original-To: dev-commits-src-main@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 4PBkM31D7lz3nXHn for ; Wed, 8 Feb 2023 15:24:47 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBkM25vTXz3Fv3 for ; Wed, 8 Feb 2023 15:24:46 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x531.google.com with SMTP id u21so20961150edv.3 for ; Wed, 08 Feb 2023 07:24:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=6peBK8MDw5yE0Fd0yOALWQqTIU5t8JvmIdMi0Tu4VZo=; b=WOU/BKsnHIiMTqQGR0ndPHqLeXErSRe59UBPQ6DdHLKQFbMN0/MAz6GP0b9ANt+ZrS b/AzZdEjj9AIyOkxRlzVkCPLyFPVv0vX4RjV91tm72w+qvQYZ/W2AK8Qv4EwcJly1kiQ dOtjTkObjxltcqrdOHs+OnqiOxWjKMW5N6T+pp1ZWplN4FrHdkFDFHHUYYvUJPUo6m9a td+Jsyf9jT9xv0TIVa9OjIdBMzmS03sjJ1kMANSoJYqbAVi23JrRruhJH4VEDJxnFPIw 3phY5iBpI3NnRZpIwE5iNzDS+K7HeXOHZHVp3Vo52yQclTjJPPxYBI9ow+uf1boduTgY kWBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=6peBK8MDw5yE0Fd0yOALWQqTIU5t8JvmIdMi0Tu4VZo=; b=iRx6NY73rEKlevV2DaieV5iVlEGiJbihsTAzw/nNCD1o5so+yLgpROpy200RzhWrJu MbZ0r315CHJSMqFJt9G4E8i104LDuZ/9GsMPhmveFzrxBnyehPUUzweur7ojFC2+F6EK jXsjr5m2lUithaBa0dE9gF4OddvMLZgdSn3uopnIonpzQ0IDSk3lDdF2q8DIV6Httsb/ pGVNwTe6FzjwlTLbl9JsqQgKmrXGRsPdm5Csf46CdwLU/k5348+i9VvCNe5Vc/8ou7Uw eitCQkC09AvVIbC2+Z0q5HKWlscMEr9dGvdx1k+7mJSK6WjNXNVtXKH3Vny+J0uVVfSw dGDg== X-Gm-Message-State: AO0yUKX8GdZe/dQo8oVhtE8mznovI2LrcZzgVv+Xvb+fzoGlJtmzZhzE kg6cHbfQhjSaUhRcefTq3IavqcvfQm6ISHTtHX9qTQ== X-Google-Smtp-Source: AK7set9lycO9u9xElgcnE9IdwJS4L2taOPKNFXA7O6J7gyNMdfIVByrkCODPSEMWKeO9rd55qVNaHwHAE60CRq3ROok= X-Received: by 2002:a50:d0cf:0:b0:4ab:d49:2120 with SMTP id g15-20020a50d0cf000000b004ab0d492120mr620854edf.0.1675869884830; Wed, 08 Feb 2023 07:24:44 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202302080610.3186ANQd091168@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Wed, 8 Feb 2023 08:24:33 -0700 Message-ID: Subject: Re: git: 2ffdc21324bd - main - config: make changes to allow some parts to build as C++ To: Kyle Evans Cc: Konstantin Belousov , src-committers , "" , dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000002ceb7d05f431dd32" X-Rspamd-Queue-Id: 4PBkM25vTXz3Fv3 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --0000000000002ceb7d05f431dd32 Content-Type: text/plain; charset="UTF-8" On Wed, Feb 8, 2023, 8:09 AM Kyle Evans wrote: > On Wed, Feb 8, 2023 at 7:12 AM Konstantin Belousov > wrote: > > > > On Wed, Feb 08, 2023 at 06:10:23AM +0000, Kyle Evans wrote: > > > The branch main has been updated by kevans: > > > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=2ffdc21324bd1772fa2f40efed3987afecabf5cb > > > > > > commit 2ffdc21324bd1772fa2f40efed3987afecabf5cb > > > Author: Kyle Evans > > > AuthorDate: 2023-02-08 06:02:56 +0000 > > > Commit: Kyle Evans > > > CommitDate: 2023-02-08 06:09:10 +0000 > > > > > > config: make changes to allow some parts to build as C++ > > > > > > Highlights: > > > - Avoid keywords (this, not) as variable names > > > - Move yyparse into config.h with other declarations > > > - All declarations in config.h are assumed guilty until proven > innocent > > > - Some const-correctness > > > - Casting malloc/calloc returns > > > > > > Note that we're not building any C++ here yet, this will be > introduced > > > in other commits to replace some of the lib dependencies. > Reducing the > > > number of FreeBSD-specific dependencies we have reduces some > friction > > > for building our bootstrap tools independently in other > environments. > > > > > > Reviewed by: imp > > > Sponsored by: Klara, Inc. > > > Sponsored by: NetApp, Inc. > > > Differential Revision: https://reviews.freebsd.org/D38274 > > > --- > > > usr.sbin/config/config.h | 6 ++++++ > > > usr.sbin/config/main.c | 19 ++++++++++--------- > > > usr.sbin/config/mkmakefile.c | 44 > ++++++++++++++++++++++---------------------- > > > usr.sbin/config/mkoptions.c | 28 ++++++++++++++-------------- > > > 4 files changed, 52 insertions(+), 45 deletions(-) > > > > > > diff --git a/usr.sbin/config/config.h b/usr.sbin/config/config.h > > > index 79d0a788bae7..7d97d66979e2 100644 > > > --- a/usr.sbin/config/config.h > > > +++ b/usr.sbin/config/config.h > > > @@ -35,12 +35,15 @@ > > > /* > > > * Config. > > > */ > > > +#include /* __BEGIN_DECLS/__END_DECLS */ > > But sys/types.h already includes sys/cdefs.h (as most of our headers). > > > > Indeed, I couldn't recall if we can/should rely on the implicit > inclusion or not and added it anyways. I'll fold removal into the last > config(8) change along these lines[0], which I'll probably land > tonight if I don't get any major complaints from the ones I've already > landed. > Sounds good. I meant to give feedback on that then got the creeping crude for a couple of days. I was going to make the same suggestion since I asked in the review . Warner > Thanks, > > Kyle Evans > > [0] https://reviews.freebsd.org/D38276 > --0000000000002ceb7d05f431dd32 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Wed, Feb 8, 2023, 8:09 AM Kyle Evans <kevans@freebsd.org> wrote:
On Wed, Feb 8, 2023 at 7:12 AM Konstantin Belous= ov <kostikbel@gmail.com> wrote:
>
> On Wed, Feb 08, 2023 at 06:10:23AM +0000, Kyle Evans wrote:
> > The branch main has been updated by kevans:
> >
> > URL: https://cgit.FreeBSD.org/src/commit/?id=3D2ffdc21324bd1772fa2f40efe= d3987afecabf5cb
> >
> > commit 2ffdc21324bd1772fa2f40efed3987afecabf5cb
> > Author:=C2=A0 =C2=A0 =C2=A0Kyle Evans <kevans@FreeBSD.org><= br> > > AuthorDate: 2023-02-08 06:02:56 +0000
> > Commit:=C2=A0 =C2=A0 =C2=A0Kyle Evans <kevans@FreeBSD.org><= br> > > CommitDate: 2023-02-08 06:09:10 +0000
> >
> >=C2=A0 =C2=A0 =C2=A0config: make changes to allow some parts to bu= ild as C++
> >
> >=C2=A0 =C2=A0 =C2=A0Highlights:
> >=C2=A0 =C2=A0 =C2=A0- Avoid keywords (this, not) as variable names=
> >=C2=A0 =C2=A0 =C2=A0- Move yyparse into config.h with other declar= ations
> >=C2=A0 =C2=A0 =C2=A0- All declarations in config.h are assumed gui= lty until proven innocent
> >=C2=A0 =C2=A0 =C2=A0- Some const-correctness
> >=C2=A0 =C2=A0 =C2=A0- Casting malloc/calloc returns
> >
> >=C2=A0 =C2=A0 =C2=A0Note that we're not building any C++ here = yet, this will be introduced
> >=C2=A0 =C2=A0 =C2=A0in other commits to replace some of the lib de= pendencies.=C2=A0 Reducing the
> >=C2=A0 =C2=A0 =C2=A0number of FreeBSD-specific dependencies we hav= e reduces some friction
> >=C2=A0 =C2=A0 =C2=A0for building our bootstrap tools independently= in other environments.
> >
> >=C2=A0 =C2=A0 =C2=A0Reviewed by:=C2=A0 =C2=A0 imp
> >=C2=A0 =C2=A0 =C2=A0Sponsored by:=C2=A0 =C2=A0Klara, Inc.
> >=C2=A0 =C2=A0 =C2=A0Sponsored by:=C2=A0 =C2=A0NetApp, Inc.
> >=C2=A0 =C2=A0 =C2=A0Differential Revision:=C2=A0 https://reviews.freebsd.org/D38274
> > ---
> >=C2=A0 usr.sbin/config/config.h=C2=A0 =C2=A0 =C2=A0|=C2=A0 6 +++++= +
> >=C2=A0 usr.sbin/config/main.c=C2=A0 =C2=A0 =C2=A0 =C2=A0| 19 +++++= +++++---------
> >=C2=A0 usr.sbin/config/mkmakefile.c | 44 ++++++++++++++++++++++---= -------------------
> >=C2=A0 usr.sbin/config/mkoptions.c=C2=A0 | 28 ++++++++++++++------= --------
> >=C2=A0 4 files changed, 52 insertions(+), 45 deletions(-)
> >
> > diff --git a/usr.sbin/config/config.h b/usr.sbin/config/config.h<= br> > > index 79d0a788bae7..7d97d66979e2 100644
> > --- a/usr.sbin/config/config.h
> > +++ b/usr.sbin/config/config.h
> > @@ -35,12 +35,15 @@
> >=C2=A0 /*
> >=C2=A0 =C2=A0* Config.
> >=C2=A0 =C2=A0*/
> > +#include <sys/cdefs.h>=C2=A0 =C2=A0 =C2=A0 =C2=A0/* __BEGI= N_DECLS/__END_DECLS */
> But sys/types.h already includes sys/cdefs.h (as most of our headers).=
>

Indeed, I couldn't recall if we can/should rely on the implicit
inclusion or not and added it anyways. I'll fold removal into the last<= br> config(8) change along these lines[0], which I'll probably land
tonight if I don't get any major complaints from the ones I've alre= ady
landed.

Sounds good. I meant to give feedback on that then got the creeping = crude for a couple of days.=C2=A0 I was going to make the same suggestion s= ince I asked in the review .=C2=A0

Warner


Thanks,

Kyle Evans

[0] https://reviews.freebsd.org/D38276
--0000000000002ceb7d05f431dd32-- From nobody Wed Feb 8 16:50:06 2023 X-Original-To: dev-commits-src-main@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 4PBmFV6JDXz3ndxS; Wed, 8 Feb 2023 16:50: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBmFV4Twxz3QsG; Wed, 8 Feb 2023 16:50:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675875006; 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=Z5UWsnN0hVb4x3Hm9wvOrDoBO8aL1bc0yjO5PjOB3MU=; b=GlCYz0pFoT7erp5li0w55emA6wCLZSRhpRZOh5wHkCbdsDbN0msan0WrlK/kjfkXo/i3tO ZTHD0W3dpikos1lNRHCMe9zn7HZKXCbmYEBfmtVf0uEfWpC1PX0ZA1pHz4K310MPmcdSLH 8S2TEy0PkfPCPzpQHUGaIS1e07EJCo8IRpRlBq9AZv7TbumPFrXS+Rulp1RK6z9UA2Ttaw AS86iYTAP9rt3wkFjSDJBu+dyM7mqQfs0OfWjftyV2vuz5o8YWFeIljJIcNwZo/ytEFNe/ SD0mTtkX3QeHMoro/bjMyjCBhVflqgJxfHornAMe5Y+pmEuu+QFm2VFwQqpUhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675875006; 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=Z5UWsnN0hVb4x3Hm9wvOrDoBO8aL1bc0yjO5PjOB3MU=; b=gdaa1McE10E1JK7iEYvICc3yE0b+Pd9An2uP11DVUchiSgsTSv6r9r5YAddzzND6/qWaAt kvOfsgIU/c/SCIG6cmpVwkZo56tyveBoEQ0UICoH3+GIHRRsPiDdwhjVeEYvJG74YMVSgO obSkTGjJQQMywb+sT0fxaPdmKp0+OFu0faIzvmjhKNB5FiXKns66JvNUC+whg3HKepcCbr Az/z5kI0bUYRrGprmBNoV6oHGg7+kEsC9Q+RpHKv5UgxNkdB8zvSsOyR2lKXHwPyfzfa+y iSCcQj0gLQtcELN2XWJ/4D6vtYt07YiIkmeO+lLz7SyqXC5FTWsWWed+1Rp3NA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675875006; a=rsa-sha256; cv=none; b=rU/jowN+1nLQONeQdQWHfPlHN2H6QXMQuDFtRMWEIO7TnBzsSpShUcFo4XmQ8a3kHa8hbV 06jS2N60DMEBFZhxGGO9BI4Abn6otryk06rRm6Bm6mZcAioAMeneNpzDMBa3B0NPe4Ra8P 1hqv2YhzUI5Xu/cb7RKdupm5N5Yt9QjUaCzBLwoEy0oBN+mqbaOla0AALSmWG2clFItWJU D8HRXL3xgO0oWqG0TsL/hhPJdpdlb12wmUYRJg2DCj1jjqdr/TmhH7rLVBRYzq80pUH3CN 1eCC/bWbH+mC5pA2UfCJ8I67FP2pFfalHp+6WY0WUm1eUbYJMMggvtuuwhScgw== 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 4PBmFV3YFhz145g; Wed, 8 Feb 2023 16:50:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318Go6We095902; Wed, 8 Feb 2023 16:50:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318Go6Bd095899; Wed, 8 Feb 2023 16:50:06 GMT (envelope-from git) Date: Wed, 8 Feb 2023 16:50:06 GMT Message-Id: <202302081650.318Go6Bd095899@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 8b418c83d175 - main - cp: Adjust the sparse file tests. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 8b418c83d175fde3b1f65210509ddcf2ac248d9f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=8b418c83d175fde3b1f65210509ddcf2ac248d9f commit 8b418c83d175fde3b1f65210509ddcf2ac248d9f Author: Dag-Erling Smørgrav AuthorDate: 2023-02-08 16:49:29 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-08 16:49:50 +0000 cp: Adjust the sparse file tests. * The sparsity check was ineffective: it compared the apparent size in bytes to the actual size in blocks. Instead, write a tool that reliably detects sparseness. * Some of the seq commands were missing an argument. * Based on empirical evidence, 1 MB holes are not necessarily large enough to be preserved by the underlying filesystem. Increase the hole size to 16 MB. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: cracauer Differential Revision: https://reviews.freebsd.org/D38414 --- bin/cp/tests/Makefile | 2 ++ bin/cp/tests/cp_test.sh | 46 +++++++++++++++---------------- bin/cp/tests/sparse.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+), 23 deletions(-) diff --git a/bin/cp/tests/Makefile b/bin/cp/tests/Makefile index faad22df713a..1e480ad706d1 100644 --- a/bin/cp/tests/Makefile +++ b/bin/cp/tests/Makefile @@ -3,5 +3,7 @@ PACKAGE= tests ATF_TESTS_SH= cp_test +PROGS+= sparse +BINDIR= ${TESTSDIR} .include diff --git a/bin/cp/tests/cp_test.sh b/bin/cp/tests/cp_test.sh index 932bd2221ba3..559a5ecc3c00 100755 --- a/bin/cp/tests/cp_test.sh +++ b/bin/cp/tests/cp_test.sh @@ -201,7 +201,7 @@ recursive_link_Lflag_body() file_is_sparse() { - atf_check test "$(stat -f "%b" "$1")" != "$(stat -f "%z" "$1")" + atf_check ${0%/*}/sparse "$1" } files_are_equal() @@ -213,8 +213,8 @@ files_are_equal() atf_test_case sparse_leading_hole sparse_leading_hole_body() { - # A one-megabyte hole followed by one megabyte of data - truncate -s 1M foo + # A 16-megabyte hole followed by one megabyte of data + truncate -s 16M foo seq -f%015g 65536 >>foo file_is_sparse foo @@ -227,14 +227,14 @@ atf_test_case sparse_multiple_holes sparse_multiple_holes_body() { # Three one-megabyte blocks of data preceded, separated, and - # followed by one-megabyte holes - truncate -s 1M foo - seq -f%015g >>foo - truncate -s 3M foo - seq -f%015g >>foo - truncate -s 5M foo - seq -f%015g >>foo - truncate -s 7M foo + # followed by 16-megabyte holes + truncate -s 16M foo + seq -f%015g 65536 >>foo + truncate -s 33M foo + seq -f%015g 65536 >>foo + truncate -s 50M foo + seq -f%015g 65536 >>foo + truncate -s 67M foo file_is_sparse foo atf_check cp foo bar @@ -245,8 +245,8 @@ sparse_multiple_holes_body() atf_test_case sparse_only_hole sparse_only_hole_body() { - # A one-megabyte hole - truncate -s 1M foo + # A 16-megabyte hole + truncate -s 16M foo file_is_sparse foo atf_check cp foo bar @@ -258,14 +258,14 @@ atf_test_case sparse_to_dev sparse_to_dev_body() { # Three one-megabyte blocks of data preceded, separated, and - # followed by one-megabyte holes - truncate -s 1M foo - seq -f%015g >>foo - truncate -s 3M foo - seq -f%015g >>foo - truncate -s 5M foo - seq -f%015g >>foo - truncate -s 7M foo + # followed by 16-megabyte holes + truncate -s 16M foo + seq -f%015g 65536 >>foo + truncate -s 33M foo + seq -f%015g 65536 >>foo + truncate -s 50M foo + seq -f%015g 65536 >>foo + truncate -s 67M foo file_is_sparse foo atf_check -o file:foo cp foo /dev/stdout @@ -274,9 +274,9 @@ sparse_to_dev_body() atf_test_case sparse_trailing_hole sparse_trailing_hole_body() { - # One megabyte of data followed by a one-megabyte hole + # One megabyte of data followed by a 16-megabyte hole seq -f%015g 65536 >foo - truncate -s 2M foo + truncate -s 17M foo file_is_sparse foo atf_check cp foo bar diff --git a/bin/cp/tests/sparse.c b/bin/cp/tests/sparse.c new file mode 100644 index 000000000000..78957581a56c --- /dev/null +++ b/bin/cp/tests/sparse.c @@ -0,0 +1,73 @@ +/*- + * Copyright (c) 2023 Klara, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include +#include +#include +#include +#include + +static bool verbose; + +/* + * Returns true if the file named by its argument is sparse, i.e. if + * seeking to SEEK_HOLE returns a different value than seeking to + * SEEK_END. + */ +static bool +sparse(const char *filename) +{ + off_t hole, end; + int fd; + + if ((fd = open(filename, O_RDONLY)) < 0 || + (hole = lseek(fd, 0, SEEK_HOLE)) < 0 || + (end = lseek(fd, 0, SEEK_END)) < 0) + err(1, "%s", filename); + close(fd); + if (end > hole) { + if (verbose) + printf("%s: hole at %zu\n", filename, (size_t)hole); + return (true); + } + return (false); +} + +static void +usage(void) +{ + + fprintf(stderr, "usage: sparse [-v] file [...]\n"); + exit(EX_USAGE); +} + +int +main(int argc, char *argv[]) +{ + int opt, rv; + + while ((opt = getopt(argc, argv, "v")) != -1) { + switch (opt) { + case 'v': + verbose = true; + break; + default: + usage(); + break; + } + } + argc -= optind; + argv += optind; + if (argc == 0) + usage(); + rv = EXIT_SUCCESS; + while (argc-- > 0) + if (!sparse(*argv++)) + rv = EXIT_FAILURE; + exit(rv); +} From nobody Wed Feb 8 17:19:04 2023 X-Original-To: dev-commits-src-main@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 4PBmtx0JBWz3ngd3; Wed, 8 Feb 2023 17: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBmtw6rwxz3hRG; Wed, 8 Feb 2023 17: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=1675876745; 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=cEDwSgpmJ6vPJvPswgruocBknAxWEsajNViDRQ2nBDc=; b=Lo4Ih/i5xpCavBE9Mgwm9sPo6+2R7qwjLOJ6Oar1D14vrowHbaDDFIEwZ0p3oChMd0GGbc xNmxJ67UvlS0aq7w8X2cuvYoKAIrPffsJANk2ilYmA1lD+y5OvrBm2wZT8CBqHfWqlSUWU LHDvpHe+z8i840tHRqPI5ew/bhA1VxTBNuX/JkjESNLv7RcLrZzpbDpt7Qy288NIUF9qw7 qFuPVlCSA8a0JgadMNdJfGP9nphQicm5BVHQfZt2Q9aH3cMF4NACG0K93RAfw3XX6kDIBw jO0TZY+6X31qsiDbDwouAoyIX8LA3qvfhrfuNGQA398l7VPptBsMGWAVULs8tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675876745; 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=cEDwSgpmJ6vPJvPswgruocBknAxWEsajNViDRQ2nBDc=; b=W9BRn1i7FjjjsEFmyH6nDNtntKkr45r9ypZgLL+Uc8iuzyBNZKGK/Wg4qOwgbyd5Y5hr43 RvGGumRh5BalDany70H6BQFPy0qmHEuPrYqdYoDAOobkdBPnAoksPcUxkohO9f8THHbWBU LiamFo2ksJTiW6fKLPW80SV+Yj8/dBLU1BTj8t+1a7/twEZJJgvB4RtB1pv0qrfST7rv95 udcmQzFwddSQ5b92xouUOEuFCMtE3hVQQBdkg/75YZMY+BYifpF8B2dfgDNBsDe4iBx7FV YZzcrL+ASjg2FVeGsXe53K6wP3u2P4krHyERSknVzRaYY+eYhOafqYUJQqwErw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675876745; a=rsa-sha256; cv=none; b=Nm87MFujxLEk6IcZK4ZcyWpUm6bNZe2qf9cZ5PfA1s2fUu0AYDIn6p1uRWgpq6CxAlJyaJ VzT8AaJ2OZ61CVXdd5nfoZkT4YdrTrrqgFm44vWIkc5gmSDRSQ1Bxu0Vw4KzPVSmIwbaMt WK8OCAjIZPiyCsBz2PxAV/P+GWZ4o61Fsg7nDWKX/lghgUwytOfmypbe/quaQ/c3shHB8s ECWdEZexHZNNPmDkgM2JRpuZPEJKVLCRtBsG5CH5AhUs/ufwyYudCBfrhB/nHzQacz1vp4 N2r/3Rtp92smJCZm+M90mNp6T5lk1zIKg+QydD2kEQ9q9OL3Kyx6tDKymEUwQQ== 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 4PBmtw5wPhz14Mj; Wed, 8 Feb 2023 17:19:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318HJ4Vw036074; Wed, 8 Feb 2023 17:19:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318HJ4bM036073; Wed, 8 Feb 2023 17:19:04 GMT (envelope-from git) Date: Wed, 8 Feb 2023 17:19:04 GMT Message-Id: <202302081719.318HJ4bM036073@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 87d405eab911 - main - iommu_gas: initialize start_gap as first node List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 87d405eab91169e0b650a7dd2e5097c0b990fac5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=87d405eab91169e0b650a7dd2e5097c0b990fac5 commit 87d405eab91169e0b650a7dd2e5097c0b990fac5 Author: Doug Moore AuthorDate: 2023-02-08 17:04:13 +0000 Commit: Doug Moore CommitDate: 2023-02-08 17:04:13 +0000 iommu_gas: initialize start_gap as first node In iommu_gas.c, domain->start_gap points to one of the nodes on either side of the first free, unallocated range. In iommu_gas_init_domain, it is initialized to point to the node after the single free range. Change it to point to the node before that free range, so that, when 'lowaddr' is within the initial free range, the first allocation search for free space below 'lowaddr' does not begin and end at an address above 'lowaddr'. This fixes problems on a machine with Intel DMAR enabled. Reported by: jah Reviewed by: dougm Tested by: jah Obtained from: jah Fixes: commit db151ca0c343531256b8839f938a4ecbd8b4fd7e iommu_gas: start space search from 1st free space MFC after: 1 day --- sys/dev/iommu/iommu_gas.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/iommu/iommu_gas.c b/sys/dev/iommu/iommu_gas.c index 86fc3bfa093c..fbef902e2f69 100644 --- a/sys/dev/iommu/iommu_gas.c +++ b/sys/dev/iommu/iommu_gas.c @@ -264,7 +264,7 @@ iommu_gas_init_domain(struct iommu_domain *domain) begin->flags = IOMMU_MAP_ENTRY_PLACE | IOMMU_MAP_ENTRY_UNMAPPED; RB_INSERT_PREV(iommu_gas_entries_tree, &domain->rb_root, end, begin); - domain->start_gap = end; + domain->start_gap = begin; domain->first_place = begin; domain->last_place = end; domain->flags |= IOMMU_DOMAIN_GAS_INITED; From nobody Wed Feb 8 18:01:35 2023 X-Original-To: dev-commits-src-main@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 4PBnr62pdYz3nk0S; Wed, 8 Feb 2023 18:01:42 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBnr62WV7z3mgv; Wed, 8 Feb 2023 18:01:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675879302; 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=jYpVsMu9L2oE+fapa7pueNit4wuonUVlOXwzZWsNrP8=; b=aWeJYdi3eAVJCPaqQv+imqEAMvdLIjHNmjUOAYWCmzJ91FKb4khAJIgkdQAUiftQhwFMO9 Q8lY1ddbCZod050hYZcCpAaNUQ1E8GYvheXp93MrceuEkQdlOTrTggOtAKzI2Q0JwuLAyW VoKtDWms03jFTaU4NmIRTiRQRToGUcZuZy/YzecEoXtjpbsxB/YshyaPqa+AnmnoI/G3yM 2tXMk5mtcGDrxxgEuO7HqtyOzKd9dDSTW1WlJ1AnXazcGMjQVpspq0jB0TVTAgtbXfmqkw Jik6mthL88z/yOLmuhreessaA3v7i7iBRbuu+HYrrNqjvVP8zbPuNwyR0aOK9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675879302; 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=jYpVsMu9L2oE+fapa7pueNit4wuonUVlOXwzZWsNrP8=; b=fsDdvZFmGs4nPjfaXfRFO90j+8mFZmnDG4MHqELzQgjIacuBRyv0XNR8fUs4iHexR/bXPk 4fiktsuDEEIJOdqO33ojAG/wq+1vJDH4XiHC7mdeZtYPENSYC1GtZ1cPfw/Qoage+2kN5Y uEeeCmdx7W5WKm3rqlYTj1s8ggBiVC4MHh7IsK1h6d3p1K04A6OJOUBO1hwNi2fk2NjWyz XqxXTeWKgeNW7A1B3RUdJELVc1HjM9K2DP0mwwZp9HVDx5262ES+zvqqCoY9MGRe5wIIom DapvMa3LHpG69/6ToDZmSRmiWBYwhnp3mwkD1eUXjWeOu3JT2NQTq8OQzrh34Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675879302; a=rsa-sha256; cv=none; b=sOz1HiUJ4ok6lvNMuKRsI58DOGL8zFbzhkjaBD2cj3EEbEXUdXpHLShJS3DpCSbdhR3U8O Pg7uGzw05KjJ5P0woDrXRL4sqPSA1D1YsigEvkaijVDlVEkE1U7/tQoWkp5aFuXuS3/ad3 VOdo7QJ+8E8MiNpEaxTpq4tJj13nUheicTgG1XSJInP3orMxdJ3IIi/vtgm/MdNb77k6Eu 7dBi2ka8ywPIUbqopZ6615kQJr/3gnyrslkiU1t82mCAXOro7VrzbBnr6A/70oosxjBE6R vsE8by2wPwtDxitLJ491MBj03g7X3yBt56dJ4Cwa8MxXgBZ6ZBIug/uyRBYdKg== 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 4PBnr61K1Hz164x; Wed, 8 Feb 2023 18:01:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318I1gsA006026; Wed, 8 Feb 2023 18:01:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318I1ZR6003504; Wed, 8 Feb 2023 18:01:35 GMT (envelope-from git) Date: Wed, 8 Feb 2023 18:01:35 GMT Message-Id: <202302081801.318I1ZR6003504@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 8c784bb8cf36 - main - lua: Update to 5.4.4 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 8c784bb8cf36911b828652f0bf7e88f443abec50 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8c784bb8cf36911b828652f0bf7e88f443abec50 commit 8c784bb8cf36911b828652f0bf7e88f443abec50 Merge: 87d405eab911 755d9301ca89 Author: Warner Losh AuthorDate: 2023-02-07 22:07:08 +0000 Commit: Warner Losh CommitDate: 2023-02-08 17:33:26 +0000 lua: Update to 5.4.4 Merge commit '755d9301ca89f02956fd17858b9d4d821ab5c972' from the vendor branch. This updates us from lua 5.4.2 to 5.4.4. In addition, it switches around how we flavor liblua for the boot loader and flua. This is done to reduce diffs with upstream and make it easier to import new versions (the current method has too many conflicts to resolve by hand): we include luaconf.local.h from luaconf.h (the only change to this file is now that #include at the end). We then define what we need to: for flua (which does very little) and one for stand (which creates the new FLOAT type out of int64). Sponsored by: Netflix contrib/lua/Makefile | 2 +- contrib/lua/README | 2 +- contrib/lua/doc/contents.html | 7 +- contrib/lua/doc/manual.html | 237 ++++++++----- contrib/lua/doc/readme.html | 8 +- contrib/lua/src/lapi.c | 107 ++++-- contrib/lua/src/lapi.h | 2 + contrib/lua/src/lauxlib.c | 75 ++-- contrib/lua/src/lauxlib.h | 31 +- contrib/lua/src/lbaselib.c | 40 ++- contrib/lua/src/lcode.c | 69 ++-- contrib/lua/src/lcorolib.c | 19 +- contrib/lua/src/ldblib.c | 11 +- contrib/lua/src/ldebug.c | 218 ++++++++---- contrib/lua/src/ldebug.h | 11 + contrib/lua/src/ldo.c | 490 ++++++++++++++++--------- contrib/lua/src/ldo.h | 7 +- contrib/lua/src/lfunc.c | 170 +++++---- contrib/lua/src/lfunc.h | 13 +- contrib/lua/src/lgc.c | 55 +-- contrib/lua/src/lgc.h | 10 + contrib/lua/src/liolib.c | 35 +- contrib/lua/src/llex.c | 31 +- contrib/lua/src/llimits.h | 30 +- contrib/lua/src/lmathlib.c | 9 +- contrib/lua/src/lmem.c | 33 +- contrib/lua/src/loadlib.c | 17 +- contrib/lua/src/lobject.c | 10 +- contrib/lua/src/lobject.h | 18 +- contrib/lua/src/lopcodes.h | 35 +- contrib/lua/src/loslib.c | 8 +- contrib/lua/src/lparser.c | 76 ++-- contrib/lua/src/lparser.h | 6 +- contrib/lua/src/lstate.c | 66 ++-- contrib/lua/src/lstate.h | 49 ++- contrib/lua/src/lstring.c | 8 +- contrib/lua/src/lstrlib.c | 269 ++++++++------ contrib/lua/src/ltable.c | 144 +++++--- contrib/lua/src/ltable.h | 8 +- contrib/lua/src/ltablib.c | 16 +- contrib/lua/src/ltm.c | 5 +- contrib/lua/src/lua.c | 63 +++- contrib/lua/src/lua.h | 11 +- contrib/lua/src/luac.c | 7 +- contrib/lua/src/luaconf.h | 786 +++++++++++++++++++++++++++++++++++++++++ contrib/lua/src/luaconf.h.dist | 115 +++--- contrib/lua/src/lualib.h | 6 - contrib/lua/src/lutf8lib.c | 11 +- contrib/lua/src/lvm.c | 132 +++---- contrib/lua/src/lvm.h | 6 +- lib/liblua/luaconf.local.h | 25 ++ stand/liblua/luaconf.local.h | 73 ++++ stand/lua.mk | 1 - 53 files changed, 2622 insertions(+), 1071 deletions(-) diff --cc contrib/lua/Makefile index 36447a0f61c7,000000000000..fef1af4821e6 mode 100644,000000..100644 --- a/contrib/lua/Makefile +++ b/contrib/lua/Makefile @@@ -1,106 -1,0 +1,106 @@@ +# Makefile for installing Lua +# See doc/readme.html for installation and customization instructions. + +# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= + +# Your platform. See PLATS for possible values. +PLAT= guess + +# Where to install. The installation starts in the src and doc directories, +# so take care if INSTALL_TOP is not an absolute path. See the local target. +# You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with +# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h. +INSTALL_TOP= /usr/local +INSTALL_BIN= $(INSTALL_TOP)/bin +INSTALL_INC= $(INSTALL_TOP)/include +INSTALL_LIB= $(INSTALL_TOP)/lib +INSTALL_MAN= $(INSTALL_TOP)/man/man1 +INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V +INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V + +# How to install. If your install program does not support "-p", then +# you may have to run ranlib on the installed liblua.a. +INSTALL= install -p +INSTALL_EXEC= $(INSTALL) -m 0755 +INSTALL_DATA= $(INSTALL) -m 0644 +# +# If you don't have "install" you can use "cp" instead. +# INSTALL= cp -p +# INSTALL_EXEC= $(INSTALL) +# INSTALL_DATA= $(INSTALL) + +# Other utilities. +MKDIR= mkdir -p +RM= rm -f + +# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= + +# Convenience platforms targets. +PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris + +# What to install. +TO_BIN= lua luac +TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp +TO_LIB= liblua.a +TO_MAN= lua.1 luac.1 + +# Lua version and release. +V= 5.4 - R= $V.2 ++R= $V.4 + +# Targets start here. +all: $(PLAT) + +$(PLATS) help test clean: + @cd src && $(MAKE) $@ + +install: dummy + cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) + cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) + cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) + cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) + cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) + +uninstall: + cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN) + cd src && cd $(INSTALL_INC) && $(RM) $(TO_INC) + cd src && cd $(INSTALL_LIB) && $(RM) $(TO_LIB) + cd doc && cd $(INSTALL_MAN) && $(RM) $(TO_MAN) + +local: + $(MAKE) install INSTALL_TOP=../install + +# make may get confused with install/ if it does not support .PHONY. +dummy: + +# Echo config parameters. +echo: + @cd src && $(MAKE) -s echo + @echo "PLAT= $(PLAT)" + @echo "V= $V" + @echo "R= $R" + @echo "TO_BIN= $(TO_BIN)" + @echo "TO_INC= $(TO_INC)" + @echo "TO_LIB= $(TO_LIB)" + @echo "TO_MAN= $(TO_MAN)" + @echo "INSTALL_TOP= $(INSTALL_TOP)" + @echo "INSTALL_BIN= $(INSTALL_BIN)" + @echo "INSTALL_INC= $(INSTALL_INC)" + @echo "INSTALL_LIB= $(INSTALL_LIB)" + @echo "INSTALL_MAN= $(INSTALL_MAN)" + @echo "INSTALL_LMOD= $(INSTALL_LMOD)" + @echo "INSTALL_CMOD= $(INSTALL_CMOD)" + @echo "INSTALL_EXEC= $(INSTALL_EXEC)" + @echo "INSTALL_DATA= $(INSTALL_DATA)" + +# Echo pkg-config data. +pc: + @echo "version=$R" + @echo "prefix=$(INSTALL_TOP)" + @echo "libdir=$(INSTALL_LIB)" + @echo "includedir=$(INSTALL_INC)" + +# Targets that do not create files (not all makes understand .PHONY). +.PHONY: all $(PLATS) help test clean install uninstall local dummy echo pc + +# (end of Makefile) diff --cc contrib/lua/src/lcode.c index 14d41f1a7ef4,06425a1db800..97e3c72857a5 --- a/contrib/lua/src/lcode.c +++ b/contrib/lua/src/lcode.c @@@ -601,8 -601,21 +601,28 @@@ static int luaK_intK (FuncState *fs, lu */ static int luaK_numberK (FuncState *fs, lua_Number r) { TValue o; + lua_Integer ik; setfltvalue(&o, r); ++#ifndef LUA_AVOID_FLOAT + if (!luaV_flttointeger(r, &ik, F2Ieq)) /* not an integral value? */ + return addk(fs, &o, &o); /* use number itself as key */ + else { /* must build an alternative key */ + const int nbm = l_floatatt(MANT_DIG); + const lua_Number q = l_mathop(ldexp)(l_mathop(1.0), -nbm + 1); + const lua_Number k = (ik == 0) ? q : r + r*q; /* new key */ + TValue kv; + setfltvalue(&kv, k); + /* result is not an integral value, unless value is too large */ + lua_assert(!luaV_flttointeger(k, &ik, F2Ieq) || + l_mathop(fabs)(r) >= l_mathop(1e6)); + return addk(fs, &kv, &o); + } ++#else ++ /* ++ ** When we're avoiding floats, allow any collision since floats are ints. ++ */ + return addk(fs, &o, &o); /* use number itself as key */ ++#endif } diff --cc contrib/lua/src/lstrlib.c index ed88abdb4db2,0b4fdbb7b5bf..2b5cd64b6ed9 --- a/contrib/lua/src/lstrlib.c +++ b/contrib/lua/src/lstrlib.c @@@ -1121,7 -1142,6 +1142,7 @@@ static void addquoted (luaL_Buffer *b, } - #if LUA_FLOAT_TYPE != LUA_FLOAT_INT64 ++#ifndef LUA_AVOID_FLOAT /* ** Serialize a floating-point number in such a way that it can be ** scanned back by Lua. Use hexadecimal format for "common" numbers @@@ -1150,8 -1170,8 +1171,9 @@@ static int quotefloat (lua_State *L, ch /* for the fixed representations */ return l_sprintf(buff, MAX_ITEM, "%s", s); } +#endif + static void addliteral (lua_State *L, luaL_Buffer *b, int arg) { switch (lua_type(L, arg)) { case LUA_TSTRING: { @@@ -1163,7 -1183,6 +1185,7 @@@ case LUA_TNUMBER: { char *buff = luaL_prepbuffsize(b, MAX_ITEM); int nb; - #if LUA_FLOAT_TYPE != LUA_FLOAT_INT64 ++#ifndef LUA_AVOID_FLOAT if (!lua_isinteger(L, arg)) /* float? */ nb = quotefloat(L, buff, lua_tonumber(L, arg)); else { /* integers */ @@@ -1264,14 -1319,13 +1325,15 @@@ static int str_format (lua_State *L) nb = lua_number2strx(L, buff, maxitem, form, luaL_checknumber(L, arg)); break; - #if LUA_FLOAT_TYPE != LUA_FLOAT_INT64 ++#ifndef LUA_AVOID_FLOAT case 'f': maxitem = MAX_ITEMF; /* extra space for '%f' */ buff = luaL_prepbuffsize(&b, maxitem); /* FALLTHROUGH */ +#endif case 'e': case 'E': case 'g': case 'G': { lua_Number n = luaL_checknumber(L, arg); + checkformat(L, form, L_FMTFLAGSF, 1); addlenmod(form, LUA_NUMBER_FRMLEN); nb = l_sprintf(buff, maxitem, form, (LUAI_UACNUMBER)n); break; @@@ -1397,7 -1428,9 +1436,11 @@@ typedef struct Header typedef enum KOption { Kint, /* signed integers */ Kuint, /* unsigned integers */ - Kfloat, /* floating-point numbers */ ++#ifndef LUA_AVOID_FLOAT + Kfloat, /* single-precision floating-point numbers */ - Knumber, /* Lua "native" floating-point numbers */ + Kdouble, /* double-precision floating-point numbers */ ++#endif ++ Knumber, /* Lua "native" floating-point numbers */ Kchar, /* fixed-length strings */ Kstring, /* strings with prefixed length */ Kzstr, /* zero-terminated strings */ @@@ -1465,11 -1500,9 +1510,11 @@@ static KOption getoption (Header *h, co case 'j': *size = sizeof(lua_Integer); return Kint; case 'J': *size = sizeof(lua_Integer); return Kuint; case 'T': *size = sizeof(size_t); return Kuint; - #if LUA_FLOAT_TYPE != LUA_FLOAT_INT64 ++#ifndef LUA_AVOID_FLOAT case 'f': *size = sizeof(float); return Kfloat; - case 'd': *size = sizeof(double); return Kfloat; - case 'n': *size = sizeof(lua_Number); return Knumber; + case 'd': *size = sizeof(double); return Kdouble; +#endif - case 'n': *size = sizeof(lua_Number); return Kfloat; ++ case 'n': *size = sizeof(lua_Number); return Knumber; case 'i': *size = getnumlimit(h, fmt, sizeof(int)); return Kint; case 'I': *size = getnumlimit(h, fmt, sizeof(int)); return Kuint; case 's': *size = getnumlimit(h, fmt, sizeof(size_t)); return Kstring; @@@ -1595,22 -1632,30 +1644,34 @@@ static int str_pack (lua_State *L) packint(&b, (lua_Unsigned)n, h.islittle, size, 0); break; } - case Kfloat: { /* floating-point options */ - Ftypes u; - char *buff = luaL_prepbuffsize(&b, size); - lua_Number n = luaL_checknumber(L, arg); /* get argument */ - #if LUA_FLOAT_TYPE != LUA_FLOAT_INT64 - if (size == sizeof(u.f)) u.f = (float)n; /* copy it into 'u' */ - else if (size == sizeof(u.d)) u.d = (double)n; - else u.n = n; - #else - u.n = n; ++#ifndef LUA_AVOID_FLOAT + case Kfloat: { /* C float */ + float f = (float)luaL_checknumber(L, arg); /* get argument */ + char *buff = luaL_prepbuffsize(&b, sizeof(f)); + /* move 'f' to final result, correcting endianness if needed */ + copywithendian(buff, (char *)&f, sizeof(f), h.islittle); + luaL_addsize(&b, size); + break; + } +#endif - /* move 'u' to final result, correcting endianness if needed */ - copywithendian(buff, (char *)&u, size, h.islittle); + case Knumber: { /* Lua float */ + lua_Number f = luaL_checknumber(L, arg); /* get argument */ + char *buff = luaL_prepbuffsize(&b, sizeof(f)); + /* move 'f' to final result, correcting endianness if needed */ + copywithendian(buff, (char *)&f, sizeof(f), h.islittle); + luaL_addsize(&b, size); + break; + } ++#ifndef LUA_AVOID_FLOAT + case Kdouble: { /* C double */ + double f = (double)luaL_checknumber(L, arg); /* get argument */ + char *buff = luaL_prepbuffsize(&b, sizeof(f)); + /* move 'f' to final result, correcting endianness if needed */ + copywithendian(buff, (char *)&f, sizeof(f), h.islittle); luaL_addsize(&b, size); break; } ++#endif case Kchar: { /* fixed-size string */ size_t len; const char *s = luaL_checklstring(L, arg, &len); @@@ -1732,20 -1777,24 +1793,28 @@@ static int str_unpack (lua_State *L) lua_pushinteger(L, res); break; } ++#ifndef LUA_AVOID_FLOAT case Kfloat: { - Ftypes u; - lua_Number num; - copywithendian((char *)&u, data + pos, size, h.islittle); - #if LUA_FLOAT_TYPE != LUA_FLOAT_INT64 - if (size == sizeof(u.f)) num = (lua_Number)u.f; - else if (size == sizeof(u.d)) num = (lua_Number)u.d; - else num = u.n; - #else - num = u.n; + float f; + copywithendian((char *)&f, data + pos, sizeof(f), h.islittle); + lua_pushnumber(L, (lua_Number)f); + break; + } +#endif - lua_pushnumber(L, num); + case Knumber: { + lua_Number f; + copywithendian((char *)&f, data + pos, sizeof(f), h.islittle); + lua_pushnumber(L, f); break; } ++#ifndef LUA_AVOID_FLOAT + case Kdouble: { + double f; + copywithendian((char *)&f, data + pos, sizeof(f), h.islittle); + lua_pushnumber(L, (lua_Number)f); + break; + } ++#endif case Kchar: { lua_pushlstring(L, data + pos, size); break; diff --cc contrib/lua/src/luaconf.h index 000000000000,d42d14b7d5f1..eab6318aaaef mode 000000,100644..100644 --- a/contrib/lua/src/luaconf.h +++ b/contrib/lua/src/luaconf.h @@@ -1,0 -1,786 +1,786 @@@ + /* + ** $Id: luaconf.h $ + ** Configuration file for Lua + ** See Copyright Notice in lua.h + */ + + + #ifndef luaconf_h + #define luaconf_h + + #include + #include + + + /* + ** =================================================================== + ** General Configuration File for Lua + ** + ** Some definitions here can be changed externally, through the compiler + ** (e.g., with '-D' options): They are commented out or protected + ** by '#if !defined' guards. However, several other definitions + ** should be changed directly here, either because they affect the + ** Lua ABI (by making the changes here, you ensure that all software + ** connected to Lua, such as C libraries, will be compiled with the same + ** configuration); or because they are seldom changed. + ** + ** Search for "@@" to find all configurable definitions. + ** =================================================================== + */ + + + /* + ** {==================================================================== + ** System Configuration: macros to adapt (if needed) Lua to some + ** particular platform, for instance restricting it to C89. + ** ===================================================================== + */ + + /* + @@ LUA_USE_C89 controls the use of non-ISO-C89 features. + ** Define it if you want Lua to avoid the use of a few C99 features + ** or Windows-specific features on Windows. + */ + /* #define LUA_USE_C89 */ + + + /* + ** By default, Lua on Windows use (some) specific Windows features + */ + #if !defined(LUA_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE) + #define LUA_USE_WINDOWS /* enable goodies for regular Windows */ + #endif + + + #if defined(LUA_USE_WINDOWS) + #define LUA_DL_DLL /* enable support for DLL */ + #define LUA_USE_C89 /* broadly, Windows is C89 */ + #endif + + + #if defined(LUA_USE_LINUX) + #define LUA_USE_POSIX + #define LUA_USE_DLOPEN /* needs an extra library: -ldl */ + #endif + + + #if defined(LUA_USE_MACOSX) + #define LUA_USE_POSIX + #define LUA_USE_DLOPEN /* MacOS does not need -ldl */ + #endif + + + /* + @@ LUAI_IS32INT is true iff 'int' has (at least) 32 bits. + */ + #define LUAI_IS32INT ((UINT_MAX >> 30) >= 3) + + /* }================================================================== */ + + + + /* + ** {================================================================== + ** Configuration for Number types. These options should not be + ** set externally, because any other code connected to Lua must + ** use the same configuration. + ** =================================================================== + */ + + /* + @@ LUA_INT_TYPE defines the type for Lua integers. + @@ LUA_FLOAT_TYPE defines the type for Lua floats. + ** Lua should work fine with any mix of these options supported + ** by your C compiler. The usual configurations are 64-bit integers + ** and 'double' (the default), 32-bit integers and 'float' (for + ** restricted platforms), and 'long'/'double' (for C compilers not + ** compliant with C99, which may not have support for 'long long'). + */ + + /* predefined options for LUA_INT_TYPE */ + #define LUA_INT_INT 1 + #define LUA_INT_LONG 2 + #define LUA_INT_LONGLONG 3 + + /* predefined options for LUA_FLOAT_TYPE */ + #define LUA_FLOAT_FLOAT 1 + #define LUA_FLOAT_DOUBLE 2 + #define LUA_FLOAT_LONGDOUBLE 3 + + + /* Default configuration ('long long' and 'double', for 64-bit Lua) */ + #define LUA_INT_DEFAULT LUA_INT_LONGLONG + #define LUA_FLOAT_DEFAULT LUA_FLOAT_DOUBLE + + + /* + @@ LUA_32BITS enables Lua with 32-bit integers and 32-bit floats. + */ + #define LUA_32BITS 0 + + + /* + @@ LUA_C89_NUMBERS ensures that Lua uses the largest types available for + ** C89 ('long' and 'double'); Windows always has '__int64', so it does + ** not need to use this case. + */ + #if defined(LUA_USE_C89) && !defined(LUA_USE_WINDOWS) + #define LUA_C89_NUMBERS 1 + #else + #define LUA_C89_NUMBERS 0 + #endif + + + #if LUA_32BITS /* { */ + /* + ** 32-bit integers and 'float' + */ + #if LUAI_IS32INT /* use 'int' if big enough */ + #define LUA_INT_TYPE LUA_INT_INT + #else /* otherwise use 'long' */ + #define LUA_INT_TYPE LUA_INT_LONG + #endif + #define LUA_FLOAT_TYPE LUA_FLOAT_FLOAT + + #elif LUA_C89_NUMBERS /* }{ */ + /* + ** largest types available for C89 ('long' and 'double') + */ + #define LUA_INT_TYPE LUA_INT_LONG + #define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE + + #else /* }{ */ + /* use defaults */ + + #define LUA_INT_TYPE LUA_INT_DEFAULT + #define LUA_FLOAT_TYPE LUA_FLOAT_DEFAULT + + #endif /* } */ + + + /* }================================================================== */ + + + + /* + ** {================================================================== + ** Configuration for Paths. + ** =================================================================== + */ + + /* + ** LUA_PATH_SEP is the character that separates templates in a path. + ** LUA_PATH_MARK is the string that marks the substitution points in a + ** template. + ** LUA_EXEC_DIR in a Windows path is replaced by the executable's + ** directory. + */ + #define LUA_PATH_SEP ";" + #define LUA_PATH_MARK "?" + #define LUA_EXEC_DIR "!" + + + /* + @@ LUA_PATH_DEFAULT is the default path that Lua uses to look for + ** Lua libraries. + @@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for + ** C libraries. + ** CHANGE them if your machine has a non-conventional directory + ** hierarchy or if you want to install your libraries in + ** non-conventional directories. + */ + + #define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR + #if defined(_WIN32) /* { */ + /* + ** In Windows, any exclamation mark ('!') in the path is replaced by the + ** path of the directory of the executable file of the current process. + */ + #define LUA_LDIR "!\\lua\\" + #define LUA_CDIR "!\\" + #define LUA_SHRDIR "!\\..\\share\\lua\\" LUA_VDIR "\\" + + #if !defined(LUA_PATH_DEFAULT) + #define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" \ + LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \ + ".\\?.lua;" ".\\?\\init.lua" + #endif + + #if !defined(LUA_CPATH_DEFAULT) + #define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.dll;" \ + LUA_CDIR"..\\lib\\lua\\" LUA_VDIR "\\?.dll;" \ + LUA_CDIR"loadall.dll;" ".\\?.dll" + #endif + + #else /* }{ */ + + #define LUA_ROOT "/usr/local/" + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" + + #if !defined(LUA_PATH_DEFAULT) + #define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ + "./?.lua;" "./?/init.lua" + #endif + + #if !defined(LUA_CPATH_DEFAULT) + #define LUA_CPATH_DEFAULT \ + LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so" + #endif + + #endif /* } */ + + + /* + @@ LUA_DIRSEP is the directory separator (for submodules). + ** CHANGE it if your machine does not use "/" as the directory separator + ** and is not Windows. (On Windows Lua automatically uses "\".) + */ + #if !defined(LUA_DIRSEP) + + #if defined(_WIN32) + #define LUA_DIRSEP "\\" + #else + #define LUA_DIRSEP "/" + #endif + + #endif + + /* }================================================================== */ + + + /* + ** {================================================================== + ** Marks for exported symbols in the C code + ** =================================================================== + */ + + /* + @@ LUA_API is a mark for all core API functions. + @@ LUALIB_API is a mark for all auxiliary library functions. + @@ LUAMOD_API is a mark for all standard library opening functions. + ** CHANGE them if you need to define those functions in some special way. + ** For instance, if you want to create one Windows DLL with the core and + ** the libraries, you may want to use the following definition (define + ** LUA_BUILD_AS_DLL to get it). + */ + #if defined(LUA_BUILD_AS_DLL) /* { */ + + #if defined(LUA_CORE) || defined(LUA_LIB) /* { */ + #define LUA_API __declspec(dllexport) + #else /* }{ */ + #define LUA_API __declspec(dllimport) + #endif /* } */ + + #else /* }{ */ + + #define LUA_API extern + + #endif /* } */ + + + /* + ** More often than not the libs go together with the core. + */ + #define LUALIB_API LUA_API + #define LUAMOD_API LUA_API + + + /* + @@ LUAI_FUNC is a mark for all extern functions that are not to be + ** exported to outside modules. + @@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables, + ** none of which to be exported to outside modules (LUAI_DDEF for + ** definitions and LUAI_DDEC for declarations). + ** CHANGE them if you need to mark them in some special way. Elf/gcc + ** (versions 3.2 and later) mark them as "hidden" to optimize access + ** when Lua is compiled as a shared library. Not all elf targets support + ** this attribute. Unfortunately, gcc does not offer a way to check + ** whether the target offers that support, and those without support + ** give a warning about it. To avoid these warnings, change to the + ** default definition. + */ + #if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ + defined(__ELF__) /* { */ + #define LUAI_FUNC __attribute__((visibility("internal"))) extern + #else /* }{ */ + #define LUAI_FUNC extern + #endif /* } */ + + #define LUAI_DDEC(dec) LUAI_FUNC dec + #define LUAI_DDEF /* empty */ + + /* }================================================================== */ + + + /* + ** {================================================================== + ** Compatibility with previous versions + ** =================================================================== + */ + + /* + @@ LUA_COMPAT_5_3 controls other macros for compatibility with Lua 5.3. + ** You can define it to get all options, or change specific options + ** to fit your specific needs. + */ + #if defined(LUA_COMPAT_5_3) /* { */ + + /* + @@ LUA_COMPAT_MATHLIB controls the presence of several deprecated + ** functions in the mathematical library. + ** (These functions were already officially removed in 5.3; + ** nevertheless they are still available here.) + */ + #define LUA_COMPAT_MATHLIB + + /* + @@ LUA_COMPAT_APIINTCASTS controls the presence of macros for + ** manipulating other integer types (lua_pushunsigned, lua_tounsigned, + ** luaL_checkint, luaL_checklong, etc.) + ** (These macros were also officially removed in 5.3, but they are still + ** available here.) + */ + #define LUA_COMPAT_APIINTCASTS + + + /* + @@ LUA_COMPAT_LT_LE controls the emulation of the '__le' metamethod + ** using '__lt'. + */ + #define LUA_COMPAT_LT_LE + + + /* + @@ The following macros supply trivial compatibility for some + ** changes in the API. The macros themselves document how to + ** change your code to avoid using them. + ** (Once more, these macros were officially removed in 5.3, but they are + ** still available here.) + */ + #define lua_strlen(L,i) lua_rawlen(L, (i)) + + #define lua_objlen(L,i) lua_rawlen(L, (i)) + + #define lua_equal(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPEQ) + #define lua_lessthan(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPLT) + + #endif /* } */ + + /* }================================================================== */ + + + + /* + ** {================================================================== + ** Configuration for Numbers (low-level part). + ** Change these definitions if no predefined LUA_FLOAT_* / LUA_INT_* + ** satisfy your needs. + ** =================================================================== + */ + + /* + @@ LUAI_UACNUMBER is the result of a 'default argument promotion' + @@ over a floating number. + @@ l_floatatt(x) corrects float attribute 'x' to the proper float type + ** by prefixing it with one of FLT/DBL/LDBL. + @@ LUA_NUMBER_FRMLEN is the length modifier for writing floats. + @@ LUA_NUMBER_FMT is the format for writing floats. + @@ lua_number2str converts a float to a string. + @@ l_mathop allows the addition of an 'l' or 'f' to all math operations. + @@ l_floor takes the floor of a float. + @@ lua_str2number converts a decimal numeral to a number. + */ + + + /* The following definitions are good for most cases here */ + + #define l_floor(x) (l_mathop(floor)(x)) + + #define lua_number2str(s,sz,n) \ + l_sprintf((s), sz, LUA_NUMBER_FMT, (LUAI_UACNUMBER)(n)) + + /* + @@ lua_numbertointeger converts a float number with an integral value + ** to an integer, or returns 0 if float is not within the range of + ** a lua_Integer. (The range comparisons are tricky because of + ** rounding. The tests here assume a two-complement representation, + ** where MININTEGER always has an exact representation as a float; + ** MAXINTEGER may not have one, and therefore its conversion to float + ** may have an ill-defined value.) + */ + #define lua_numbertointeger(n,p) \ + ((n) >= (LUA_NUMBER)(LUA_MININTEGER) && \ + (n) < -(LUA_NUMBER)(LUA_MININTEGER) && \ + (*(p) = (LUA_INTEGER)(n), 1)) + + + /* now the variable definitions */ + + #if LUA_FLOAT_TYPE == LUA_FLOAT_FLOAT /* { single float */ + + #define LUA_NUMBER float + + #define l_floatatt(n) (FLT_##n) + + #define LUAI_UACNUMBER double + + #define LUA_NUMBER_FRMLEN "" + #define LUA_NUMBER_FMT "%.7g" + + #define l_mathop(op) op##f + + #define lua_str2number(s,p) strtof((s), (p)) + + + #elif LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE /* }{ long double */ + + #define LUA_NUMBER long double + + #define l_floatatt(n) (LDBL_##n) + + #define LUAI_UACNUMBER long double + + #define LUA_NUMBER_FRMLEN "L" + #define LUA_NUMBER_FMT "%.19Lg" + + #define l_mathop(op) op##l + + #define lua_str2number(s,p) strtold((s), (p)) + + #elif LUA_FLOAT_TYPE == LUA_FLOAT_DOUBLE /* }{ double */ + + #define LUA_NUMBER double + + #define l_floatatt(n) (DBL_##n) + + #define LUAI_UACNUMBER double + + #define LUA_NUMBER_FRMLEN "" + #define LUA_NUMBER_FMT "%.14g" + + #define l_mathop(op) op + + #define lua_str2number(s,p) strtod((s), (p)) + + #else /* }{ */ + + #error "numeric float type not defined" + + #endif /* } */ + + + + /* + @@ LUA_UNSIGNED is the unsigned version of LUA_INTEGER. + @@ LUAI_UACINT is the result of a 'default argument promotion' + @@ over a LUA_INTEGER. + @@ LUA_INTEGER_FRMLEN is the length modifier for reading/writing integers. + @@ LUA_INTEGER_FMT is the format for writing integers. + @@ LUA_MAXINTEGER is the maximum value for a LUA_INTEGER. + @@ LUA_MININTEGER is the minimum value for a LUA_INTEGER. + @@ LUA_MAXUNSIGNED is the maximum value for a LUA_UNSIGNED. + @@ lua_integer2str converts an integer to a string. + */ + + + /* The following definitions are good for most cases here */ + + #define LUA_INTEGER_FMT "%" LUA_INTEGER_FRMLEN "d" + + #define LUAI_UACINT LUA_INTEGER + + #define lua_integer2str(s,sz,n) \ + l_sprintf((s), sz, LUA_INTEGER_FMT, (LUAI_UACINT)(n)) + + /* + ** use LUAI_UACINT here to avoid problems with promotions (which + ** can turn a comparison between unsigneds into a signed comparison) + */ + #define LUA_UNSIGNED unsigned LUAI_UACINT + + + /* now the variable definitions */ + + #if LUA_INT_TYPE == LUA_INT_INT /* { int */ + + #define LUA_INTEGER int + #define LUA_INTEGER_FRMLEN "" + + #define LUA_MAXINTEGER INT_MAX + #define LUA_MININTEGER INT_MIN + + #define LUA_MAXUNSIGNED UINT_MAX + + #elif LUA_INT_TYPE == LUA_INT_LONG /* }{ long */ + + #define LUA_INTEGER long + #define LUA_INTEGER_FRMLEN "l" + + #define LUA_MAXINTEGER LONG_MAX + #define LUA_MININTEGER LONG_MIN + + #define LUA_MAXUNSIGNED ULONG_MAX + + #elif LUA_INT_TYPE == LUA_INT_LONGLONG /* }{ long long */ + + /* use presence of macro LLONG_MAX as proxy for C99 compliance */ + #if defined(LLONG_MAX) /* { */ + /* use ISO C99 stuff */ + + #define LUA_INTEGER long long + #define LUA_INTEGER_FRMLEN "ll" + + #define LUA_MAXINTEGER LLONG_MAX + #define LUA_MININTEGER LLONG_MIN + + #define LUA_MAXUNSIGNED ULLONG_MAX + + #elif defined(LUA_USE_WINDOWS) /* }{ */ + /* in Windows, can use specific Windows types */ + + #define LUA_INTEGER __int64 + #define LUA_INTEGER_FRMLEN "I64" + + #define LUA_MAXINTEGER _I64_MAX + #define LUA_MININTEGER _I64_MIN + + #define LUA_MAXUNSIGNED _UI64_MAX + + #else /* }{ */ + + #error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \ + or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)" + + #endif /* } */ + + #else /* }{ */ + + #error "numeric integer type not defined" + + #endif /* } */ + + /* }================================================================== */ + + + /* + ** {================================================================== + ** Dependencies with C99 and other C details + ** =================================================================== + */ + + /* + @@ l_sprintf is equivalent to 'snprintf' or 'sprintf' in C89. + ** (All uses in Lua have only one format item.) + */ + #if !defined(LUA_USE_C89) + #define l_sprintf(s,sz,f,i) snprintf(s,sz,f,i) + #else + #define l_sprintf(s,sz,f,i) ((void)(sz), sprintf(s,f,i)) + #endif + + + /* + @@ lua_strx2number converts a hexadecimal numeral to a number. *** 1188 LINES SKIPPED *** From nobody Wed Feb 8 18:02:52 2023 X-Original-To: dev-commits-src-main@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 4PBnsS5HyCz3nk0n; Wed, 8 Feb 2023 18:02: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBnsS4jHjz3n4C; Wed, 8 Feb 2023 18:02:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675879372; 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=oeT56EDmdEqMn/qgau+ZnLX8jk8FzA6YFPwccWS+L8s=; b=bfebQ9/SAYHY/uWRazOjqZFRT8SKBT1v/LMp+AV5OUr4PKZrapOISuBng8KNMoUsmtwVcN QfR6AeC0VP2yuufiuX+S2eGlSdNmSu/m6cY4D4DmyISXJnNV0M6CqwiKUdZE/kub09x352 ysesiIqcllxbi7sMWvAs7mZI+CxjoeAou03OMhOZt0CH7eYym8ZMcOYOsBWbP+EkCGmXih AaIjfPn24jHPbl3qrMBX58E4uRpxkDENEfhLwKfZM55KCzkUbOqt8Je2jg1hOG6URJ/cF6 6XaO4Mwbwbtq7uiVBm75EoBMYAnEEak3n2fXCC7ntslXLnp9MjY+Pwwf3IHP6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675879372; 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=oeT56EDmdEqMn/qgau+ZnLX8jk8FzA6YFPwccWS+L8s=; b=st3vjsSPhSdZ4lcbCoO8dHoOGEuqjTeQJya6yj32j5G8AlgsifOOWzNEV+guPVq7DTsSSu Q34Frcolu9vDVjbQmTklyzVwAsbIKYiGDlIhdLwvajQdIZmwm9O/YNbmm4hT89rfxm/3Nl xWuZ5msupxCPyygGwca+5Ea1CCzEGZj01/kywuZCeCWp8UaUQALfkqvMOuSu/BuCkgmHY8 1Xm1HZyBrVhQDNuRaizRVFn/o74TFfi5nu8nL/AlDKyiTtvT+H/Rn/pAscPVWB2fBciTD4 mufyFAnurANcTiA4iWSkM7aQU2T43rcL0CSUCxdUBGkvAAX7eBRm4xTS+DtYeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675879372; a=rsa-sha256; cv=none; b=w2CgkShMqxa64O/eBXJMcYzATTmPyexmFmx7/3YhN7ATmNXQH9z3UkV+vbM6x5gyLgFQen eX/KVX2AEGkUZ06RMKgZHFlkUPuqGjESpePIt8IlSSr5WRjlR/3VKpdvl3+7tPV7MsurV1 wcCejLGlLiP0tWRXz+uVUaAtdgKQWzB6V81X/FQ1dsgOpNw4WVyojY/RQf8gUp6WcQrO2p UStprN3R2/8S63G9sUGkSr4+BN3yb8kC+0hsHiWCPlK6LjAAH3NK9Wv3rAr3NzybMNx/Kw 0m21qVsKSaLUz3MosAoHVbmgc7Yx67i6p861yg0C6D7RPR4cpGkbZYLmuByQhw== 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 4PBnsS3k10z15jT; Wed, 8 Feb 2023 18:02:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318I2qnh007380; Wed, 8 Feb 2023 18:02:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318I2qxg007379; Wed, 8 Feb 2023 18:02:52 GMT (envelope-from git) Date: Wed, 8 Feb 2023 18:02:52 GMT Message-Id: <202302081802.318I2qxg007379@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gordon Tetlow Subject: git: 5fff09660e06 - main - geli: split the initalization of HMAC List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5fff09660e06a66bed6482da9c70df328e16bbb6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=5fff09660e06a66bed6482da9c70df328e16bbb6 commit 5fff09660e06a66bed6482da9c70df328e16bbb6 Author: Mariusz Zaborski AuthorDate: 2023-02-08 16:41:06 +0000 Commit: Gordon Tetlow CommitDate: 2023-02-08 18:01:58 +0000 geli: split the initalization of HMAC GELI allows to read a user key from a standard input. However if user initialize multiple providers at once, the standard input will be empty for the second and next providers. This caused GELI to encrypt a master key with an empty key file. This commits initialize the HMAC with the key file, and then reuse the finalized structure to generate different encryption keys for different providers. Reported by: Nathan Dorfman Tested by: philip Security: FreeBSD-SA-23:01.geli Security: CVE-2023-0751 --- lib/geom/eli/geom_eli.c | 72 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 54 insertions(+), 18 deletions(-) diff --git a/lib/geom/eli/geom_eli.c b/lib/geom/eli/geom_eli.c index 4c04a9256b5e..8897af15b8f3 100644 --- a/lib/geom/eli/geom_eli.c +++ b/lib/geom/eli/geom_eli.c @@ -571,27 +571,35 @@ eli_genkey_passphrase(struct gctl_req *req, struct g_eli_metadata *md, bool new, return (0); } -static unsigned char * -eli_genkey(struct gctl_req *req, struct g_eli_metadata *md, unsigned char *key, - bool new) +static bool +eli_init_key_hmac_ctx(struct gctl_req *req, struct hmac_ctx *ctx, bool new) { - struct hmac_ctx ctx; - bool nopassphrase; int nfiles; + bool nopassphrase; nopassphrase = gctl_get_int(req, new ? "nonewpassphrase" : "nopassphrase"); - g_eli_crypto_hmac_init(&ctx, NULL, 0); - - nfiles = eli_genkey_files(req, new, "keyfile", &ctx, NULL, 0); - if (nfiles == -1) - return (NULL); - else if (nfiles == 0 && nopassphrase) { + g_eli_crypto_hmac_init(ctx, NULL, 0); + nfiles = eli_genkey_files(req, new, "keyfile", ctx, NULL, 0); + if (nfiles == -1) { + return (false); + } else if (nfiles == 0 && nopassphrase) { gctl_error(req, "No key components given."); - return (NULL); + return (false); } + return (true); +} + +static unsigned char * +eli_genkey(struct gctl_req *req, const struct hmac_ctx *ctxtemplate, + struct g_eli_metadata *md, unsigned char *key, bool new) +{ + struct hmac_ctx ctx; + + memcpy(&ctx, ctxtemplate, sizeof(ctx)); + if (eli_genkey_passphrase(req, md, new, &ctx) == -1) return (NULL); @@ -600,6 +608,22 @@ eli_genkey(struct gctl_req *req, struct g_eli_metadata *md, unsigned char *key, return (key); } +static unsigned char * +eli_genkey_single(struct gctl_req *req, struct g_eli_metadata *md, + unsigned char *key, bool new) +{ + struct hmac_ctx ctx; + unsigned char *rkey; + + if (!eli_init_key_hmac_ctx(req, &ctx, new)) { + return (NULL); + } + rkey = eli_genkey(req, &ctx, md, key, new); + explicit_bzero(&ctx, sizeof(ctx)); + + return (rkey); +} + static int eli_metadata_read(struct gctl_req *req, const char *prov, struct g_eli_metadata *md) @@ -711,6 +735,7 @@ eli_init(struct gctl_req *req) intmax_t val; int error, i, nargs, nparams, param; const int one = 1; + struct hmac_ctx ctxtemplate; nargs = gctl_get_int(req, "nargs"); if (nargs <= 0) { @@ -844,6 +869,10 @@ eli_init(struct gctl_req *req) */ nparams = req->narg - nargs - 1; + /* Generate HMAC context template. */ + if (!eli_init_key_hmac_ctx(req, &ctxtemplate, true)) + return; + /* Create new child request for each provider and issue to kernel */ for (i = 0; i < nargs; i++) { r = gctl_get_handle(); @@ -885,7 +914,7 @@ eli_init(struct gctl_req *req) arc4random_buf(md.md_mkeys, sizeof(md.md_mkeys)); /* Generate user key. */ - if (eli_genkey(r, &md, key, true) == NULL) { + if (eli_genkey(r, &ctxtemplate, &md, key, true) == NULL) { /* * Error generating key - details added to geom request * by eli_genkey(). @@ -1009,6 +1038,7 @@ out: /* Clear the cached metadata, including keys. */ explicit_bzero(&md, sizeof(md)); + explicit_bzero(&ctxtemplate, sizeof(ctxtemplate)); } static void @@ -1020,6 +1050,7 @@ eli_attach(struct gctl_req *req) off_t mediasize; int i, nargs, nparams, param; const int one = 1; + struct hmac_ctx ctxtemplate; nargs = gctl_get_int(req, "nargs"); if (nargs <= 0) { @@ -1035,6 +1066,10 @@ eli_attach(struct gctl_req *req) */ nparams = req->narg - nargs - 1; + /* Generate HMAC context template. */ + if (!eli_init_key_hmac_ctx(req, &ctxtemplate, false)) + return; + /* Create new child request for each provider and issue to kernel */ for (i = 0; i < nargs; i++) { r = gctl_get_handle(); @@ -1064,7 +1099,7 @@ eli_attach(struct gctl_req *req) goto out; } - if (eli_genkey(r, &md, key, false) == NULL) { + if (eli_genkey(r, &ctxtemplate, &md, key, false) == NULL) { /* * Error generating key - details added to geom request * by eli_genkey(). @@ -1098,6 +1133,7 @@ out: /* Clear sensitive data from memory. */ explicit_bzero(cached_passphrase, sizeof(cached_passphrase)); + explicit_bzero(&ctxtemplate, sizeof(ctxtemplate)); } static void @@ -1295,7 +1331,7 @@ eli_setkey_attached(struct gctl_req *req, struct g_eli_metadata *md) old = md->md_iterations; /* Generate key for Master Key encryption. */ - if (eli_genkey(req, md, key, true) == NULL) { + if (eli_genkey_single(req, md, key, true) == NULL) { explicit_bzero(key, sizeof(key)); return; } @@ -1330,7 +1366,7 @@ eli_setkey_detached(struct gctl_req *req, const char *prov, } /* Generate key for Master Key decryption. */ - if (eli_genkey(req, md, key, false) == NULL) { + if (eli_genkey_single(req, md, key, false) == NULL) { explicit_bzero(key, sizeof(key)); return; } @@ -1388,7 +1424,7 @@ eli_setkey_detached(struct gctl_req *req, const char *prov, explicit_bzero(mkey, sizeof(mkey)); /* Generate key for Master Key encryption. */ - if (eli_genkey(req, md, key, true) == NULL) { + if (eli_genkey_single(req, md, key, true) == NULL) { explicit_bzero(key, sizeof(key)); explicit_bzero(md, sizeof(*md)); return; @@ -1534,7 +1570,7 @@ eli_resume(struct gctl_req *req) return; } - if (eli_genkey(req, &md, key, false) == NULL) { + if (eli_genkey_single(req, &md, key, false) == NULL) { explicit_bzero(key, sizeof(key)); return; } From nobody Wed Feb 8 19:06:51 2023 X-Original-To: dev-commits-src-main@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 4PBqHS22csz3nnxg; Wed, 8 Feb 2023 19:07: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBqHS1nPPz42Ry; Wed, 8 Feb 2023 19:07:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883220; 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=7wH6SKlSnAdhj68K4vjdeiW0US128ZYd1CDsRP98Y2o=; b=OfIS6uWgcxSCfp4cjsV2hUELxvPyPFIN4WwVUwisKVdmLDMwfFEkD++/IAH1+A6ySzfEMa ATT/d8Gn0PQLBqCrPURWOMKK6xK5zHBKEB5u1su4N8NF3sfcf52/omKuOM9TyDntz5gol/ QefmJVen43V/w/qCT715onpkWHeiJe4q+oDIgnEgayikX9jru81O5ouC289+AzjUV6/NGJ hdj1PhnXZ1hIevkf1/CqqaoDBTOKjPn6qO2MywzvfuINNyOQSoqejwy09mAx4elqy+U7gS yK3Tadu791rXw1CTljvucrgbFCbPYb1FZTG4O5cesZ3SQc7Zx0ACGWeFsVWk+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883220; 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=7wH6SKlSnAdhj68K4vjdeiW0US128ZYd1CDsRP98Y2o=; b=dxzymKohrlA+xEXPYqgvEK5Go+XG9cOXljsm7D/2oqtDNGCskIJazVp+A5g2JKayvIgKfO 80AGem3SeFnsu1u6IUtTwhXoXnjaiogEa05WBHP/hcu0UtQMlvqCVO20NUUEYhc4viJqIm Ohp+zyCBhbMX4FBnCOT3MIz9pU4oIIWU6vljjZ/JuEjZO6peuS7TURBBjF4O8K7f93o0ty LG/4u6KJ9w9EP21XfMnL3+VVIggl3+p2RgexVwWkcJc32eFVtfZ1ANXdDJjCZJZ2CnPGKk UU9aRizUcZkCX/uXeSi1hS1l0/m+0aLOOuGqTh7Y9VZ+xiv4841ysRg0XjeBJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675883220; a=rsa-sha256; cv=none; b=wL/CxVxelmUdrx36EbxONESaMGYtYko7ZVTCuFgh+o0/F7zwlU3I7X+934tD/UIzgthsCz C2Yb/o1f5Jif+lZQy4sOWwpPtfVZ7uTg8JW5sEw2zqGMMVGjJ/zS6NDfN0hLrzLRsyvRSb wTkAHM1Q74vRbadlTmajffdh+fomiiV0wzfMoM52OngTZhdkmqbQu6EfSgt+RCddF5FKRB pI/Sbj+11RuxDAl8Vz++BJjVASNVEtRC+LgbJ5nVfPs0odgrmLffXGxROLRgbTjwRXezdo Nw9kaXf/DcIY34CnNyR5YRKwU4nnSIvymHw9Ti1DAig6rmDP+/zffAcVJqSVng== 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 4PBqHS0qLQz17KG; Wed, 8 Feb 2023 19:07:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318J70Xg095555; Wed, 8 Feb 2023 19:07:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318J6pXQ095544; Wed, 8 Feb 2023 19:06:51 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:06:51 GMT Message-Id: <202302081906.318J6pXQ095544@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 81ad626541db - main - Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 81ad626541db97eb356e2c1d4a20eb2a26a766ab Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=81ad626541db97eb356e2c1d4a20eb2a26a766ab commit 81ad626541db97eb356e2c1d4a20eb2a26a766ab Merge: 5fff09660e06 145449b1e420 Author: Dimitry Andric AuthorDate: 2022-07-04 19:20:19 +0000 Commit: Dimitry Andric CommitDate: 2023-02-08 19:02:26 +0000 Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-15358-g53dc0f10787. PR: 265425 MFC after: 2 weeks Makefile.inc1 | 3 +- ObsoleteFiles.inc | 318 + contrib/llvm-project/FREEBSD-Xlist | 48 +- contrib/llvm-project/clang/include/clang-c/Index.h | 68 +- .../clang/include/clang/APINotes/Types.h | 34 +- .../clang/include/clang/AST/ASTContext.h | 47 +- .../llvm-project/clang/include/clang/AST/ASTFwd.h | 1 + .../clang/include/clang/AST/ASTImportError.h | 51 + .../clang/include/clang/AST/ASTImporter.h | 36 +- .../include/clang/AST/ASTImporterSharedState.h | 18 +- .../clang/include/clang/AST/ASTLambda.h | 5 +- .../clang/include/clang/AST/ASTNodeTraverser.h | 7 + .../clang/include/clang/AST/ASTTypeTraits.h | 8 +- .../clang/include/clang/AST/AbstractBasicReader.h | 2 +- .../clang/include/clang/AST/AbstractTypeReader.h | 3 +- .../clang/include/clang/AST/CharUnits.h | 6 + .../llvm-project/clang/include/clang/AST/Comment.h | 21 +- .../clang/include/clang/AST/CommentCommands.td | 62 +- .../clang/include/clang/AST/CommentParser.h | 5 +- .../clang/include/clang/AST/CommentSema.h | 8 +- .../llvm-project/clang/include/clang/AST/Decl.h | 64 +- .../clang/include/clang/AST/DeclBase.h | 48 +- .../llvm-project/clang/include/clang/AST/DeclCXX.h | 89 +- .../clang/include/clang/AST/DeclObjC.h | 12 +- .../clang/include/clang/AST/DeclTemplate.h | 42 +- .../clang/include/clang/AST/DeclarationName.h | 29 +- .../llvm-project/clang/include/clang/AST/Expr.h | 27 +- .../llvm-project/clang/include/clang/AST/ExprCXX.h | 83 +- .../clang/include/clang/AST/ExprConcepts.h | 2 + .../clang/include/clang/AST/JSONNodeDumper.h | 2 + .../llvm-project/clang/include/clang/AST/Mangle.h | 35 +- .../clang/include/clang/AST/NestedNameSpecifier.h | 2 +- .../clang/include/clang/AST/OpenMPClause.h | 163 +- .../clang/include/clang/AST/ParentMapContext.h | 18 +- .../clang/include/clang/AST/PrettyPrinter.h | 11 +- .../clang/include/clang/AST/PropertiesBase.td | 17 +- .../clang/include/clang/AST/Randstruct.h | 35 + .../clang/include/clang/AST/RawCommentList.h | 15 + .../clang/include/clang/AST/RecursiveASTVisitor.h | 242 +- .../llvm-project/clang/include/clang/AST/Stmt.h | 59 +- .../llvm-project/clang/include/clang/AST/StmtCXX.h | 14 +- .../clang/include/clang/AST/StmtOpenMP.h | 744 +- .../clang/include/clang/AST/TemplateBase.h | 7 + .../clang/include/clang/AST/TemplateName.h | 50 +- .../clang/include/clang/AST/TextNodeDumper.h | 3 + .../llvm-project/clang/include/clang/AST/Type.h | 141 +- .../llvm-project/clang/include/clang/AST/TypeLoc.h | 41 + .../clang/include/clang/AST/TypeProperties.td | 15 +- .../clang/include/clang/ASTMatchers/ASTMatchers.h | 101 +- .../clang/ASTMatchers/ASTMatchersInternal.h | 37 +- .../clang/ASTMatchers/Dynamic/VariantValue.h | 2 +- .../clang/Analysis/Analyses/CalledOnceCheck.h | 2 +- .../clang/Analysis/Analyses/ExprMutationAnalyzer.h | 2 + .../include/clang/Analysis/Analyses/ThreadSafety.h | 9 +- .../clang/Analysis/Analyses/ThreadSafetyCommon.h | 47 +- .../include/clang/Analysis/AnalysisDeclContext.h | 6 +- .../clang/include/clang/Analysis/CloneDetection.h | 8 +- .../include/clang/Analysis/ConstructionContext.h | 3 +- .../Analysis/FlowSensitive/DataflowAnalysis.h | 43 +- .../FlowSensitive/DataflowAnalysisContext.h | 224 +- .../Analysis/FlowSensitive/DataflowEnvironment.h | 126 +- .../clang/Analysis/FlowSensitive/MatchSwitch.h | 151 + .../FlowSensitive/Models/ChromiumCheckModel.h | 39 + .../Models/UncheckedOptionalAccessModel.h | 85 + .../clang/Analysis/FlowSensitive/NoopLattice.h | 41 + .../include/clang/Analysis/FlowSensitive/Solver.h | 56 + .../clang/Analysis/FlowSensitive/StorageLocation.h | 10 +- .../clang/Analysis/FlowSensitive/Transfer.h | 15 +- .../FlowSensitive/TypeErasedDataflowAnalysis.h | 16 +- .../include/clang/Analysis/FlowSensitive/Value.h | 175 +- .../Analysis/FlowSensitive/WatchedLiteralsSolver.h | 37 + .../clang/include/clang/Analysis/PathDiagnostic.h | 8 +- .../llvm-project/clang/include/clang/Basic/Attr.td | 234 +- .../clang/include/clang/Basic/AttrDocs.td | 341 +- .../include/clang/Basic/AttrSubjectMatchRules.h | 3 + .../include/clang/Basic/AttributeCommonInfo.h | 23 +- .../clang/include/clang/Basic/Attributes.h | 22 +- .../clang/include/clang/Basic/Builtins.def | 32 +- .../clang/include/clang/Basic/Builtins.h | 40 +- .../clang/include/clang/Basic/BuiltinsAArch64.def | 12 + .../clang/include/clang/Basic/BuiltinsAMDGPU.def | 48 + .../clang/include/clang/Basic/BuiltinsARM.def | 3 + .../clang/include/clang/Basic/BuiltinsNVPTX.def | 127 +- .../clang/include/clang/Basic/BuiltinsPPC.def | 38 +- .../clang/include/clang/Basic/BuiltinsRISCV.def | 61 +- .../clang/include/clang/Basic/BuiltinsVE.def | 32 + .../clang/include/clang/Basic/BuiltinsVEVL.gen.def | 1257 ++ .../include/clang/Basic/BuiltinsWebAssembly.def | 13 +- .../clang/include/clang/Basic/BuiltinsX86.def | 32 +- .../clang/include/clang/Basic/BuiltinsX86_64.def | 1 - .../clang/include/clang/Basic/CharInfo.h | 43 +- .../clang/include/clang/Basic/CodeGenOptions.def | 17 +- .../clang/include/clang/Basic/CodeGenOptions.h | 9 +- .../llvm-project/clang/include/clang/Basic/Cuda.h | 9 + .../clang/include/clang/Basic/DarwinSDKInfo.h | 3 +- .../clang/include/clang/Basic/DeclNodes.td | 1 + .../clang/include/clang/Basic/Diagnostic.h | 29 +- .../include/clang/Basic/DiagnosticASTKinds.td | 6 +- .../include/clang/Basic/DiagnosticCategories.h | 3 +- .../include/clang/Basic/DiagnosticCommentKinds.td | 4 +- .../include/clang/Basic/DiagnosticCommonKinds.td | 12 +- .../include/clang/Basic/DiagnosticCrossTUKinds.td | 4 +- .../include/clang/Basic/DiagnosticDriverKinds.td | 95 +- .../include/clang/Basic/DiagnosticFrontendKinds.td | 9 + .../clang/include/clang/Basic/DiagnosticGroups.td | 45 +- .../clang/include/clang/Basic/DiagnosticIDs.h | 13 +- .../include/clang/Basic/DiagnosticLexKinds.td | 52 +- .../include/clang/Basic/DiagnosticParseKinds.td | 42 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 296 +- .../clang/Basic/DiagnosticSerializationKinds.td | 100 +- .../clang/include/clang/Basic/DirectoryEntry.h | 31 +- .../clang/include/clang/Basic/FPOptions.def | 8 +- .../clang/include/clang/Basic/Features.def | 12 +- .../clang/include/clang/Basic/FileEntry.h | 18 +- .../clang/include/clang/Basic/FileManager.h | 12 +- .../clang/include/clang/Basic/Lambda.h | 2 +- .../clang/include/clang/Basic/LangOptions.def | 36 +- .../clang/include/clang/Basic/LangOptions.h | 211 +- .../clang/include/clang/Basic/LangStandard.h | 15 +- .../clang/include/clang/Basic/LangStandards.def | 37 +- .../clang/include/clang/Basic/Module.h | 68 +- .../clang/include/clang/Basic/OpenCLOptions.h | 9 - .../clang/include/clang/Basic/OpenMPKinds.def | 3 + .../clang/include/clang/Basic/Sanitizers.def | 5 +- .../clang/include/clang/Basic/SourceLocation.h | 6 +- .../clang/include/clang/Basic/SourceManager.h | 52 +- .../clang/include/clang/Basic/Specifiers.h | 4 +- .../clang/include/clang/Basic/StmtNodes.td | 9 + .../clang/include/clang/Basic/TargetBuiltins.h | 7 +- .../clang/include/clang/Basic/TargetInfo.h | 75 +- .../clang/include/clang/Basic/TargetOptions.h | 24 +- .../clang/include/clang/Basic/TokenKinds.def | 48 +- .../clang/include/clang/Basic/TokenKinds.h | 3 + .../clang/include/clang/Basic/TypeNodes.td | 1 + .../clang/include/clang/Basic/arm_sve.td | 32 +- .../clang/include/clang/Basic/riscv_vector.td | 538 +- .../clang/include/clang/CodeGen/CGFunctionInfo.h | 14 + .../include/clang/CrossTU/CrossTranslationUnit.h | 18 +- .../clang/include/clang/Driver/Action.h | 42 +- .../clang/include/clang/Driver/Compilation.h | 21 +- .../clang/include/clang/Driver/Distro.h | 6 +- .../clang/include/clang/Driver/Driver.h | 97 +- .../clang/include/clang/Driver/Options.h | 3 +- .../clang/include/clang/Driver/Options.td | 652 +- .../clang/include/clang/Driver/SanitizerArgs.h | 19 + .../clang/include/clang/Driver/ToolChain.h | 31 +- .../clang/include/clang/Driver/Types.def | 12 +- .../clang/include/clang/Driver/Types.h | 6 +- .../clang/include/clang/ExtractAPI/API.h | 728 + .../include/clang/ExtractAPI/AvailabilityInfo.h | 78 + .../clang/ExtractAPI/DeclarationFragments.h | 287 + .../include/clang/ExtractAPI/FrontendActions.h | 69 + .../ExtractAPI/Serialization/SerializerBase.h | 63 + .../Serialization/SymbolGraphSerializer.h | 178 + .../clang/include/clang/Format/Format.h | 686 +- .../clang/include/clang/Frontend/ASTUnit.h | 4 +- .../include/clang/Frontend/CompilerInvocation.h | 13 - .../clang/include/clang/Frontend/FrontendActions.h | 15 +- .../clang/include/clang/Frontend/FrontendOptions.h | 49 +- .../include/clang/Frontend/MultiplexConsumer.h | 2 + .../include/clang/Frontend/PrecompiledPreamble.h | 79 +- .../clang/Frontend/PreprocessorOutputOptions.h | 2 + .../clang/include/clang/Frontend/Utils.h | 60 +- .../clang/include/clang/Index/IndexSymbol.h | 2 + .../clang/include/clang/Index/IndexingOptions.h | 4 +- .../clang/include/clang/Interpreter/Interpreter.h | 3 + .../clang/Lex/DependencyDirectivesScanner.h | 136 + .../Lex/DependencyDirectivesSourceMinimizer.h | 115 - .../clang/include/clang/Lex/DirectoryLookup.h | 4 + .../clang/include/clang/Lex/HeaderSearch.h | 173 +- .../clang/include/clang/Lex/HeaderSearchOptions.h | 12 +- .../llvm-project/clang/include/clang/Lex/Lexer.h | 61 +- .../clang/include/clang/Lex/LiteralSupport.h | 16 +- .../clang/include/clang/Lex/MacroInfo.h | 48 +- .../clang/include/clang/Lex/ModuleMap.h | 19 +- .../clang/include/clang/Lex/PPCallbacks.h | 62 +- .../clang/include/clang/Lex/PreprocessingRecord.h | 13 +- .../clang/include/clang/Lex/Preprocessor.h | 172 +- ...cessorExcludedConditionalDirectiveSkipMapping.h | 30 - .../clang/include/clang/Lex/PreprocessorLexer.h | 21 +- .../clang/include/clang/Lex/PreprocessorOptions.h | 23 +- .../llvm-project/clang/include/clang/Lex/Token.h | 5 +- .../clang/include/clang/Parse/Parser.h | 327 +- .../include/clang/Parse/RAIIObjectsForParser.h | 15 +- .../include/clang/Sema/CodeCompleteConsumer.h | 5 +- .../clang/include/clang/Sema/DeclSpec.h | 73 +- .../llvm-project/clang/include/clang/Sema/Lookup.h | 46 +- .../clang/include/clang/Sema/ParsedAttr.h | 106 +- .../clang/include/clang/Sema/ParsedTemplate.h | 6 +- .../llvm-project/clang/include/clang/Sema/Scope.h | 28 +- .../clang/include/clang/Sema/ScopeInfo.h | 7 +- .../llvm-project/clang/include/clang/Sema/Sema.h | 595 +- .../clang/include/clang/Sema/Template.h | 2 +- .../llvm-project/clang/include/clang/Sema/Weak.h | 39 +- .../include/clang/Serialization/ASTBitCodes.h | 20 +- .../clang/include/clang/Serialization/ASTReader.h | 37 +- .../include/clang/Serialization/ASTRecordReader.h | 18 +- .../include/clang/Serialization/ASTRecordWriter.h | 16 +- .../clang/include/clang/Serialization/ASTWriter.h | 15 +- .../clang/Serialization/SourceLocationEncoding.h | 163 + .../include/clang/Serialization/TypeBitCodes.def | 1 + .../clang/StaticAnalyzer/Checkers/CheckerBase.td | 9 +- .../clang/StaticAnalyzer/Checkers/Checkers.td | 124 +- .../clang/StaticAnalyzer/Checkers/SValExplainer.h | 8 +- .../clang}/StaticAnalyzer/Checkers/Taint.h | 0 .../include/clang/StaticAnalyzer/Core/Analyses.def | 8 - .../clang/StaticAnalyzer/Core/AnalyzerOptions.def | 41 +- .../clang/StaticAnalyzer/Core/AnalyzerOptions.h | 41 +- .../Core/BugReporter/BugReporterVisitors.h | 2 +- .../include/clang/StaticAnalyzer/Core/Checker.h | 12 - .../StaticAnalyzer/Core/PathSensitive/APSIntType.h | 4 +- .../Core/PathSensitive/BasicValueFactory.h | 14 +- .../Core/PathSensitive/CallDescription.h | 81 +- .../StaticAnalyzer/Core/PathSensitive/CallEvent.h | 15 +- .../Core/PathSensitive/CheckerContext.h | 1 + .../Core/PathSensitive/ConstraintManager.h | 118 +- .../StaticAnalyzer/Core/PathSensitive/CoreEngine.h | 8 +- .../Core/PathSensitive/DynamicType.h | 1 + .../Core/PathSensitive/ExplodedGraph.h | 6 +- .../StaticAnalyzer/Core/PathSensitive/ExprEngine.h | 39 +- .../StaticAnalyzer/Core/PathSensitive/MemRegion.h | 61 +- .../Core/PathSensitive/ProgramState.h | 54 +- .../Core/PathSensitive/ProgramStateTrait.h | 108 +- .../Core/PathSensitive/RangedConstraintManager.h | 43 + .../Core/PathSensitive/SMTConstraintManager.h | 6 +- .../StaticAnalyzer/Core/PathSensitive/SMTConv.h | 22 + .../Core/PathSensitive/SValBuilder.h | 62 +- .../StaticAnalyzer/Core/PathSensitive/SVals.h | 255 +- .../Core/PathSensitive/SimpleConstraintManager.h | 21 +- .../StaticAnalyzer/Core/PathSensitive/Store.h | 2 - .../StaticAnalyzer/Core/PathSensitive/SymExpr.h | 1 + .../Core/PathSensitive/SymbolManager.h | 106 +- .../StaticAnalyzer/Core/PathSensitive/Symbols.def | 2 + .../include/clang/Support/RISCVVIntrinsicUtils.h | 354 + .../clang/include/clang/Testing/CommandLineArgs.h | 2 + .../clang/include/clang/Testing/TestAST.h | 95 + .../DependencyScanningFilesystem.h | 125 +- .../DependencyScanning/DependencyScanningService.h | 17 +- .../DependencyScanning/DependencyScanningTool.h | 29 +- .../DependencyScanning/DependencyScanningWorker.h | 2 - .../DependencyScanning/ModuleDepCollector.h | 36 +- .../clang/include/clang/Tooling/DiagnosticsYaml.h | 3 +- .../clang/Tooling/Inclusions/CSymbolMap.inc | 945 + .../clang/Tooling/Inclusions/HeaderIncludes.h | 4 +- .../clang/Tooling/Inclusions/StandardLibrary.h | 141 + .../clang/Tooling/Inclusions/StdSymbolMap.inc | 1538 ++ .../clang/Tooling/Refactoring/AtomicChange.h | 2 + .../clang/Tooling/Transformer/RewriteRule.h | 148 +- .../include/clang/Tooling/Transformer/SourceCode.h | 4 + .../clang/Tooling/Transformer/Transformer.h | 191 +- .../clang/include/clang/module.modulemap | 2 + .../clang/lib/ARCMigrate/Transforms.cpp | 2 +- contrib/llvm-project/clang/lib/AST/APValue.cpp | 83 +- contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 223 +- .../llvm-project/clang/lib/AST/ASTDiagnostic.cpp | 18 +- contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 321 +- .../clang/lib/AST/ASTStructuralEquivalence.cpp | 150 +- .../llvm-project/clang/lib/AST/ASTTypeTraits.cpp | 6 + contrib/llvm-project/clang/lib/AST/AttrImpl.cpp | 6 +- .../llvm-project/clang/lib/AST/CommentParser.cpp | 47 +- contrib/llvm-project/clang/lib/AST/CommentSema.cpp | 48 +- .../clang/lib/AST/ComputeDependence.cpp | 2 +- contrib/llvm-project/clang/lib/AST/Decl.cpp | 109 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 9 +- contrib/llvm-project/clang/lib/AST/DeclCXX.cpp | 153 +- contrib/llvm-project/clang/lib/AST/DeclObjC.cpp | 11 +- contrib/llvm-project/clang/lib/AST/DeclPrinter.cpp | 13 +- .../llvm-project/clang/lib/AST/DeclTemplate.cpp | 30 +- contrib/llvm-project/clang/lib/AST/Expr.cpp | 248 +- contrib/llvm-project/clang/lib/AST/ExprCXX.cpp | 4 +- .../clang/lib/AST/ExprClassification.cpp | 13 +- .../llvm-project/clang/lib/AST/ExprConstant.cpp | 177 +- .../llvm-project/clang/lib/AST/FormatString.cpp | 4 +- .../clang/lib/AST/Interp/ByteCodeExprGen.h | 4 +- .../llvm-project/clang/lib/AST/Interp/Function.cpp | 3 +- .../llvm-project/clang/lib/AST/ItaniumMangle.cpp | 306 +- .../llvm-project/clang/lib/AST/JSONNodeDumper.cpp | 15 + contrib/llvm-project/clang/lib/AST/Mangle.cpp | 6 +- .../llvm-project/clang/lib/AST/MicrosoftCXXABI.cpp | 15 + .../llvm-project/clang/lib/AST/MicrosoftMangle.cpp | 30 +- contrib/llvm-project/clang/lib/AST/ODRHash.cpp | 1 + contrib/llvm-project/clang/lib/AST/OSLog.cpp | 2 +- .../llvm-project/clang/lib/AST/OpenMPClause.cpp | 89 +- .../clang/lib/AST/ParentMapContext.cpp | 14 +- .../llvm-project/clang/lib/AST/QualTypeNames.cpp | 8 +- contrib/llvm-project/clang/lib/AST/Randstruct.cpp | 231 + .../llvm-project/clang/lib/AST/RawCommentList.cpp | 65 +- .../clang/lib/AST/RecordLayoutBuilder.cpp | 19 +- contrib/llvm-project/clang/lib/AST/Stmt.cpp | 27 +- contrib/llvm-project/clang/lib/AST/StmtCXX.cpp | 1 - contrib/llvm-project/clang/lib/AST/StmtOpenMP.cpp | 405 +- contrib/llvm-project/clang/lib/AST/StmtPrinter.cpp | 185 +- contrib/llvm-project/clang/lib/AST/StmtProfile.cpp | 61 +- .../llvm-project/clang/lib/AST/TemplateBase.cpp | 44 +- .../llvm-project/clang/lib/AST/TemplateName.cpp | 55 +- .../llvm-project/clang/lib/AST/TextNodeDumper.cpp | 24 + contrib/llvm-project/clang/lib/AST/Type.cpp | 55 +- contrib/llvm-project/clang/lib/AST/TypeLoc.cpp | 8 + contrib/llvm-project/clang/lib/AST/TypePrinter.cpp | 63 +- .../llvm-project/clang/lib/AST/VTableBuilder.cpp | 10 +- .../clang/lib/ASTMatchers/ASTMatchFinder.cpp | 222 +- .../clang/lib/ASTMatchers/ASTMatchersInternal.cpp | 1 + .../clang/lib/ASTMatchers/Dynamic/Marshallers.cpp | 2 +- .../clang/lib/ASTMatchers/Dynamic/Marshallers.h | 10 +- .../clang/lib/ASTMatchers/Dynamic/Parser.cpp | 8 +- .../clang/lib/ASTMatchers/Dynamic/Registry.cpp | 7 +- .../clang/lib/Analysis/AnalysisDeclContext.cpp | 2 +- .../llvm-project/clang/lib/Analysis/BodyFarm.cpp | 57 +- contrib/llvm-project/clang/lib/Analysis/CFG.cpp | 122 +- .../clang/lib/Analysis/CalledOnceCheck.cpp | 4 +- .../clang/lib/Analysis/ExprMutationAnalyzer.cpp | 20 +- .../Analysis/FlowSensitive/ControlFlowContext.cpp | 4 +- .../FlowSensitive/DataflowAnalysisContext.cpp | 340 + .../Analysis/FlowSensitive/DataflowEnvironment.cpp | 309 +- .../FlowSensitive/Models/ChromiumCheckModel.cpp | 67 + .../Models/UncheckedOptionalAccessModel.cpp | 753 + .../clang/lib/Analysis/FlowSensitive/Transfer.cpp | 299 +- .../FlowSensitive/TypeErasedDataflowAnalysis.cpp | 203 +- .../FlowSensitive/WatchedLiteralsSolver.cpp | 600 + .../clang/lib/Analysis/PathDiagnostic.cpp | 8 +- .../clang/lib/Analysis/ReachableCode.cpp | 4 +- .../clang/lib/Analysis/RetainSummaryManager.cpp | 2 +- .../clang/lib/Analysis/ThreadSafety.cpp | 306 +- .../clang/lib/Analysis/ThreadSafetyCommon.cpp | 37 +- .../clang/lib/Analysis/UninitializedValues.cpp | 4 +- .../llvm-project/clang/lib/Basic/Attributes.cpp | 10 +- .../clang/lib/Basic/BuiltinTargetFeatures.h | 95 + contrib/llvm-project/clang/lib/Basic/Builtins.cpp | 48 +- contrib/llvm-project/clang/lib/Basic/Cuda.cpp | 9 +- .../llvm-project/clang/lib/Basic/Diagnostic.cpp | 92 +- .../llvm-project/clang/lib/Basic/DiagnosticIDs.cpp | 42 +- .../llvm-project/clang/lib/Basic/FileManager.cpp | 191 +- .../clang/lib/Basic/IdentifierTable.cpp | 8 +- .../llvm-project/clang/lib/Basic/LangOptions.cpp | 132 +- .../llvm-project/clang/lib/Basic/LangStandards.cpp | 45 + contrib/llvm-project/clang/lib/Basic/Module.cpp | 5 +- .../llvm-project/clang/lib/Basic/OpenCLOptions.cpp | 12 +- .../llvm-project/clang/lib/Basic/OpenMPKinds.cpp | 64 +- .../llvm-project/clang/lib/Basic/SourceManager.cpp | 22 +- contrib/llvm-project/clang/lib/Basic/TargetID.cpp | 6 +- .../llvm-project/clang/lib/Basic/TargetInfo.cpp | 24 +- contrib/llvm-project/clang/lib/Basic/Targets.cpp | 18 + .../clang/lib/Basic/Targets/AArch64.cpp | 30 +- .../llvm-project/clang/lib/Basic/Targets/AArch64.h | 2 - .../clang/lib/Basic/Targets/AMDGPU.cpp | 40 +- .../llvm-project/clang/lib/Basic/Targets/AMDGPU.h | 7 +- .../llvm-project/clang/lib/Basic/Targets/ARM.cpp | 1 + .../llvm-project/clang/lib/Basic/Targets/AVR.cpp | 557 +- .../llvm-project/clang/lib/Basic/Targets/CSKY.cpp | 314 + .../llvm-project/clang/lib/Basic/Targets/CSKY.h | 107 + .../clang/lib/Basic/Targets/DirectX.cpp | 22 + .../llvm-project/clang/lib/Basic/Targets/DirectX.h | 93 + .../llvm-project/clang/lib/Basic/Targets/NVPTX.cpp | 8 +- .../clang/lib/Basic/Targets/OSTargets.cpp | 52 +- .../clang/lib/Basic/Targets/OSTargets.h | 62 +- .../llvm-project/clang/lib/Basic/Targets/PPC.cpp | 35 +- contrib/llvm-project/clang/lib/Basic/Targets/PPC.h | 16 +- .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 16 +- .../llvm-project/clang/lib/Basic/Targets/RISCV.h | 4 + .../llvm-project/clang/lib/Basic/Targets/SPIR.h | 10 +- .../clang/lib/Basic/Targets/SystemZ.cpp | 13 +- .../llvm-project/clang/lib/Basic/Targets/SystemZ.h | 24 + .../llvm-project/clang/lib/Basic/Targets/VE.cpp | 9 +- .../clang/lib/Basic/Targets/WebAssembly.cpp | 19 +- .../clang/lib/Basic/Targets/WebAssembly.h | 1 + .../llvm-project/clang/lib/Basic/Targets/X86.cpp | 25 +- contrib/llvm-project/clang/lib/Basic/Targets/X86.h | 25 +- .../llvm-project/clang/lib/Basic/TokenKinds.cpp | 9 + contrib/llvm-project/clang/lib/CodeGen/ABIInfo.h | 1 + contrib/llvm-project/clang/lib/CodeGen/Address.h | 5 - .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 631 +- .../llvm-project/clang/lib/CodeGen/CGAtomic.cpp | 27 +- .../llvm-project/clang/lib/CodeGen/CGBlocks.cpp | 80 +- contrib/llvm-project/clang/lib/CodeGen/CGBuilder.h | 70 +- .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 2069 +- .../llvm-project/clang/lib/CodeGen/CGCUDANV.cpp | 84 +- .../llvm-project/clang/lib/CodeGen/CGCUDARuntime.h | 13 + .../llvm-project/clang/lib/CodeGen/CGCXXABI.cpp | 3 +- contrib/llvm-project/clang/lib/CodeGen/CGCXXABI.h | 5 +- contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 222 +- contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp | 246 +- .../llvm-project/clang/lib/CodeGen/CGCleanup.cpp | 30 +- .../llvm-project/clang/lib/CodeGen/CGCoroutine.cpp | 107 +- .../llvm-project/clang/lib/CodeGen/CGDebugInfo.cpp | 501 +- .../llvm-project/clang/lib/CodeGen/CGDebugInfo.h | 44 +- contrib/llvm-project/clang/lib/CodeGen/CGDecl.cpp | 73 +- .../llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp | 14 +- .../llvm-project/clang/lib/CodeGen/CGException.cpp | 5 +- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 403 +- .../llvm-project/clang/lib/CodeGen/CGExprCXX.cpp | 22 +- .../clang/lib/CodeGen/CGExprConstant.cpp | 47 +- .../clang/lib/CodeGen/CGExprScalar.cpp | 104 +- .../clang/lib/CodeGen/CGHLSLRuntime.cpp | 52 + .../llvm-project/clang/lib/CodeGen/CGHLSLRuntime.h | 38 + .../clang/lib/CodeGen/CGNonTrivialStruct.cpp | 14 +- contrib/llvm-project/clang/lib/CodeGen/CGObjC.cpp | 64 +- .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp | 84 +- .../llvm-project/clang/lib/CodeGen/CGObjCMac.cpp | 69 +- .../clang/lib/CodeGen/CGObjCRuntime.cpp | 2 +- .../clang/lib/CodeGen/CGOpenCLRuntime.cpp | 51 +- .../clang/lib/CodeGen/CGOpenCLRuntime.h | 6 +- .../clang/lib/CodeGen/CGOpenMPRuntime.cpp | 1030 +- .../clang/lib/CodeGen/CGOpenMPRuntime.h | 29 +- .../clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp | 173 +- .../clang/lib/CodeGen/CGRecordLayout.h | 6 + contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp | 70 +- .../clang/lib/CodeGen/CGStmtOpenMP.cpp | 1003 +- contrib/llvm-project/clang/lib/CodeGen/CGVTT.cpp | 4 +- .../llvm-project/clang/lib/CodeGen/CGVTables.cpp | 26 +- .../clang/lib/CodeGen/CodeGenAction.cpp | 38 +- .../clang/lib/CodeGen/CodeGenFunction.cpp | 198 +- .../clang/lib/CodeGen/CodeGenFunction.h | 176 +- .../clang/lib/CodeGen/CodeGenModule.cpp | 674 +- .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 115 +- .../llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp | 2 +- .../clang/lib/CodeGen/CodeGenTypes.cpp | 53 +- .../llvm-project/clang/lib/CodeGen/CodeGenTypes.h | 5 +- .../clang/lib/CodeGen/ConstantInitBuilder.cpp | 2 +- .../clang/lib/CodeGen/CoverageMappingGen.cpp | 52 +- .../clang/lib/CodeGen/CoverageMappingGen.h | 20 +- .../clang/lib/CodeGen/ItaniumCXXABI.cpp | 34 +- .../clang/lib/CodeGen/MacroPPCallbacks.cpp | 2 +- .../clang/lib/CodeGen/MacroPPCallbacks.h | 6 +- .../clang/lib/CodeGen/MicrosoftCXXABI.cpp | 25 +- .../clang/lib/CodeGen/ModuleBuilder.cpp | 12 + .../CodeGen/ObjectFilePCHContainerOperations.cpp | 4 + .../clang/lib/CodeGen/SanitizerMetadata.cpp | 121 +- .../clang/lib/CodeGen/SanitizerMetadata.h | 21 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp | 461 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.h | 2 +- .../clang/lib/CrossTU/CrossTranslationUnit.cpp | 114 +- .../lib/DirectoryWatcher/DirectoryScanner.cpp | 2 +- contrib/llvm-project/clang/lib/Driver/Action.cpp | 30 +- .../llvm-project/clang/lib/Driver/Compilation.cpp | 11 +- contrib/llvm-project/clang/lib/Driver/Distro.cpp | 3 + contrib/llvm-project/clang/lib/Driver/Driver.cpp | 814 +- .../clang/lib/Driver/SanitizerArgs.cpp | 116 +- .../llvm-project/clang/lib/Driver/ToolChain.cpp | 53 +- .../clang/lib/Driver/ToolChains/AIX.cpp | 11 +- .../clang/lib/Driver/ToolChains/AMDGPU.cpp | 69 +- .../clang/lib/Driver/ToolChains/AMDGPU.h | 3 +- .../clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp | 20 +- .../clang/lib/Driver/ToolChains/AVR.cpp | 154 +- .../llvm-project/clang/lib/Driver/ToolChains/AVR.h | 17 +- .../clang/lib/Driver/ToolChains/Arch/AArch64.cpp | 174 +- .../clang/lib/Driver/ToolChains/Arch/AArch64.h | 1 - .../clang/lib/Driver/ToolChains/Arch/ARM.cpp | 54 +- .../clang/lib/Driver/ToolChains/Arch/ARM.h | 1 - .../clang/lib/Driver/ToolChains/Arch/CSKY.cpp | 170 + .../clang/lib/Driver/ToolChains/Arch/CSKY.h | 47 + .../clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 2 +- .../clang/lib/Driver/ToolChains/Arch/VE.h | 2 +- .../clang/lib/Driver/ToolChains/Arch/X86.cpp | 26 +- .../clang/lib/Driver/ToolChains/CSKYToolChain.cpp | 204 + .../clang/lib/Driver/ToolChains/CSKYToolChain.h | 63 + .../clang/lib/Driver/ToolChains/Clang.cpp | 945 +- .../clang/lib/Driver/ToolChains/Clang.h | 13 + .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 215 +- .../clang/lib/Driver/ToolChains/CommonArgs.h | 15 +- .../clang/lib/Driver/ToolChains/Cuda.cpp | 99 +- .../clang/lib/Driver/ToolChains/Cuda.h | 4 + .../clang/lib/Driver/ToolChains/Darwin.cpp | 404 +- .../clang/lib/Driver/ToolChains/Darwin.h | 31 +- .../clang/lib/Driver/ToolChains/Flang.cpp | 55 +- .../clang/lib/Driver/ToolChains/FreeBSD.cpp | 2 + .../clang/lib/Driver/ToolChains/Fuchsia.cpp | 26 +- .../clang/lib/Driver/ToolChains/Fuchsia.h | 25 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 221 +- .../clang/lib/Driver/ToolChains/HIPAMD.cpp | 60 +- .../clang/lib/Driver/ToolChains/HIPAMD.h | 4 + .../clang/lib/Driver/ToolChains/HIPUtility.cpp | 12 +- .../clang/lib/Driver/ToolChains/HLSL.cpp | 183 + .../clang/lib/Driver/ToolChains/HLSL.h | 40 + .../clang/lib/Driver/ToolChains/Hexagon.cpp | 7 +- .../clang/lib/Driver/ToolChains/Hexagon.h | 3 - .../clang/lib/Driver/ToolChains/Lanai.h | 2 - .../clang/lib/Driver/ToolChains/Linux.cpp | 93 +- .../clang/lib/Driver/ToolChains/Linux.h | 2 + .../clang/lib/Driver/ToolChains/MSP430.cpp | 2 +- .../clang/lib/Driver/ToolChains/MSVC.cpp | 815 +- .../clang/lib/Driver/ToolChains/MSVC.h | 31 +- .../clang/lib/Driver/ToolChains/MinGW.cpp | 12 +- .../clang/lib/Driver/ToolChains/Minix.cpp | 9 +- .../clang/lib/Driver/ToolChains/OpenBSD.cpp | 31 +- .../clang/lib/Driver/ToolChains/PS4CPU.cpp | 188 +- .../clang/lib/Driver/ToolChains/PS4CPU.h | 115 +- .../clang/lib/Driver/ToolChains/RISCVToolchain.cpp | 7 + .../clang/lib/Driver/ToolChains/RISCVToolchain.h | 1 - .../clang/lib/Driver/ToolChains/ROCm.h | 38 +- .../clang/lib/Driver/ToolChains/SPIRV.h | 3 +- .../clang/lib/Driver/ToolChains/Solaris.cpp | 14 +- .../clang/lib/Driver/ToolChains/VEToolchain.h | 1 - .../clang/lib/Driver/ToolChains/WebAssembly.cpp | 110 +- .../clang/lib/Driver/ToolChains/WebAssembly.h | 9 + .../llvm-project/clang/lib/Driver/ToolChains/ZOS.h | 2 + contrib/llvm-project/clang/lib/Driver/Types.cpp | 41 +- .../clang/lib/Edit/RewriteObjCFoundationAPI.cpp | 6 +- contrib/llvm-project/clang/lib/ExtractAPI/API.cpp | 233 + .../clang/lib/ExtractAPI/DeclarationFragments.cpp | 799 + .../clang/lib/ExtractAPI/ExtractAPIConsumer.cpp | 974 + .../ExtractAPI/Serialization/SerializerBase.cpp | 19 + .../Serialization/SymbolGraphSerializer.cpp | 708 + .../ExtractAPI/TypedefUnderlyingTypeResolver.cpp | 79 + .../lib/ExtractAPI/TypedefUnderlyingTypeResolver.h | 46 + .../clang/lib/Format/AffectedRangeManager.cpp | 6 +- .../clang/lib/Format/BreakableToken.cpp | 98 +- .../clang/lib/Format/ContinuationIndenter.cpp | 844 +- .../clang/lib/Format/ContinuationIndenter.h | 6 - .../clang/lib/Format/DefinitionBlockSeparator.cpp | 30 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 456 +- .../llvm-project/clang/lib/Format/FormatToken.cpp | 32 +- .../llvm-project/clang/lib/Format/FormatToken.h | 626 +- .../clang/lib/Format/FormatTokenLexer.cpp | 277 +- .../clang/lib/Format/FormatTokenLexer.h | 7 + .../clang/lib/Format/MacroExpander.cpp | 3 +- .../clang/lib/Format/NamespaceEndCommentsFixer.cpp | 119 +- .../clang/lib/Format/QualifierAlignmentFixer.cpp | 141 +- .../clang/lib/Format/SortJavaScriptImports.cpp | 26 +- .../clang/lib/Format/TokenAnalyzer.cpp | 3 +- .../clang/lib/Format/TokenAnnotator.cpp | 1631 +- .../llvm-project/clang/lib/Format/TokenAnnotator.h | 37 +- .../clang/lib/Format/UnwrappedLineFormatter.cpp | 450 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 1549 +- .../clang/lib/Format/UnwrappedLineParser.h | 42 +- .../clang/lib/Format/WhitespaceManager.cpp | 276 +- .../clang/lib/Format/WhitespaceManager.h | 20 +- .../llvm-project/clang/lib/Frontend/ASTUnit.cpp | 16 +- .../clang/lib/Frontend/CompilerInstance.cpp | 23 +- .../clang/lib/Frontend/CompilerInvocation.cpp | 530 +- .../Frontend/CreateInvocationFromCommandLine.cpp | 29 +- .../clang/lib/Frontend/DependencyFile.cpp | 35 +- .../clang/lib/Frontend/DependencyGraph.cpp | 26 +- .../clang/lib/Frontend/ExtractAPIConsumer.cpp | 32 - .../clang/lib/Frontend/FrontendAction.cpp | 81 +- .../clang/lib/Frontend/FrontendActions.cpp | 137 +- .../clang/lib/Frontend/FrontendOptions.cpp | 2 +- .../clang/lib/Frontend/InitPreprocessor.cpp | 70 +- .../clang/lib/Frontend/LogDiagnosticPrinter.cpp | 6 +- .../lib/Frontend/ModuleDependencyCollector.cpp | 6 +- .../clang/lib/Frontend/MultiplexConsumer.cpp | 6 + .../clang/lib/Frontend/PrecompiledPreamble.cpp | 353 +- .../clang/lib/Frontend/PrintPreprocessedOutput.cpp | 44 +- .../lib/Frontend/Rewrite/InclusionRewriter.cpp | 8 +- .../lib/Frontend/Rewrite/RewriteModernObjC.cpp | 20 +- .../clang/lib/Frontend/Rewrite/RewriteObjC.cpp | 2 +- .../clang/lib/Frontend/TextDiagnostic.cpp | 3 +- .../lib/FrontendTool/ExecuteCompilerInvocation.cpp | 3 + .../clang/lib/Headers/__clang_cuda_intrinsics.h | 4 +- .../clang/lib/Headers/__wmmintrin_pclmul.h | 20 +- contrib/llvm-project/clang/lib/Headers/altivec.h | 735 +- contrib/llvm-project/clang/lib/Headers/amxintrin.h | 2 - .../llvm-project/clang/lib/Headers/avx2intrin.h | 16 +- .../clang/lib/Headers/avx512bwintrin.h | 24 +- .../llvm-project/clang/lib/Headers/avx512fintrin.h | 149 +- .../clang/lib/Headers/avx512vlbf16intrin.h | 2 +- .../clang/lib/Headers/avx512vlbwintrin.h | 16 +- .../clang/lib/Headers/avx512vlintrin.h | 176 +- .../clang/lib/Headers/avx512vlvnniintrin.h | 32 +- contrib/llvm-project/clang/lib/Headers/avxintrin.h | 95 +- .../llvm-project/clang/lib/Headers/avxvnniintrin.h | 32 +- contrib/llvm-project/clang/lib/Headers/bmiintrin.h | 8 +- contrib/llvm-project/clang/lib/Headers/cetintrin.h | 18 +- contrib/llvm-project/clang/lib/Headers/emmintrin.h | 1318 +- .../llvm-project/clang/lib/Headers/f16cintrin.h | 6 +- contrib/llvm-project/clang/lib/Headers/hlsl.h | 15 + .../clang/lib/Headers/hlsl/hlsl_basic_types.h | 64 + .../clang/lib/Headers/hlsl/hlsl_intrinsics.h | 15 + .../llvm-project/clang/lib/Headers/hresetintrin.h | 4 +- .../llvm-project/clang/lib/Headers/ia32intrin.h | 22 +- contrib/llvm-project/clang/lib/Headers/immintrin.h | 30 +- contrib/llvm-project/clang/lib/Headers/intrin.h | 33 +- .../clang/lib/Headers/keylockerintrin.h | 44 +- contrib/llvm-project/clang/lib/Headers/mm_malloc.h | 6 +- .../llvm-project/clang/lib/Headers/opencl-c-base.h | 10 + contrib/llvm-project/clang/lib/Headers/opencl-c.h | 13820 ++++++------ contrib/llvm-project/clang/lib/Headers/pmmintrin.h | 2 +- .../clang/lib/Headers/ppc_wrappers/bmi2intrin.h | 134 + .../clang/lib/Headers/ppc_wrappers/bmiintrin.h | 165 + .../clang/lib/Headers/ppc_wrappers/emmintrin.h | 2918 ++- .../clang/lib/Headers/ppc_wrappers/immintrin.h | 27 + .../clang/lib/Headers/ppc_wrappers/mm_malloc.h | 26 +- .../clang/lib/Headers/ppc_wrappers/mmintrin.h | 769 +- .../clang/lib/Headers/ppc_wrappers/nmmintrin.h | 26 + .../clang/lib/Headers/ppc_wrappers/pmmintrin.h | 147 +- .../clang/lib/Headers/ppc_wrappers/smmintrin.h | 580 +- .../clang/lib/Headers/ppc_wrappers/tmmintrin.h | 642 +- .../clang/lib/Headers/ppc_wrappers/x86gprintrin.h | 17 + .../clang/lib/Headers/ppc_wrappers/x86intrin.h | 28 + .../clang/lib/Headers/ppc_wrappers/xmmintrin.h | 2064 +- .../llvm-project/clang/lib/Headers/rdseedintrin.h | 6 +- contrib/llvm-project/clang/lib/Headers/rtmintrin.h | 2 +- contrib/llvm-project/clang/lib/Headers/smmintrin.h | 491 +- contrib/llvm-project/clang/lib/Headers/stdbool.h | 15 +- contrib/llvm-project/clang/lib/Headers/stddef.h | 2 +- .../llvm-project/clang/lib/Headers/stdnoreturn.h | 13 + .../llvm-project/clang/lib/Headers/uintrintrin.h | 16 +- contrib/llvm-project/clang/lib/Headers/unwind.h | 13 +- contrib/llvm-project/clang/lib/Headers/velintrin.h | 71 + .../clang/lib/Headers/velintrin_approx.h | 120 + .../llvm-project/clang/lib/Headers/velintrin_gen.h | 1257 ++ .../llvm-project/clang/lib/Headers/wasm_simd128.h | 4 +- contrib/llvm-project/clang/lib/Headers/xmmintrin.h | 12 +- contrib/llvm-project/clang/lib/Index/IndexBody.cpp | 22 +- contrib/llvm-project/clang/lib/Index/IndexDecl.cpp | 68 +- .../llvm-project/clang/lib/Index/IndexSymbol.cpp | 5 + .../clang/lib/Index/IndexTypeSourceInfo.cpp | 10 + .../clang/lib/Index/IndexingContext.cpp | 10 +- .../llvm-project/clang/lib/Index/USRGeneration.cpp | 31 +- .../clang/lib/Interpreter/IncrementalExecutor.cpp | 30 +- .../clang/lib/Interpreter/IncrementalExecutor.h | 14 +- .../clang/lib/Interpreter/IncrementalParser.cpp | 56 +- .../clang/lib/Interpreter/IncrementalParser.h | 4 + .../clang/lib/Interpreter/Interpreter.cpp | 30 +- .../clang/lib/Lex/DependencyDirectivesScanner.cpp | 862 + .../Lex/DependencyDirectivesSourceMinimizer.cpp | 982 - .../llvm-project/clang/lib/Lex/HeaderSearch.cpp | 237 +- .../clang/lib/Lex/InitHeaderSearch.cpp | 13 +- contrib/llvm-project/clang/lib/Lex/Lexer.cpp | 381 +- .../llvm-project/clang/lib/Lex/LiteralSupport.cpp | 241 +- contrib/llvm-project/clang/lib/Lex/MacroInfo.cpp | 34 +- contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp | 48 +- .../llvm-project/clang/lib/Lex/PPDirectives.cpp | 445 +- .../llvm-project/clang/lib/Lex/PPExpressions.cpp | 19 +- .../llvm-project/clang/lib/Lex/PPLexerChange.cpp | 109 +- .../clang/lib/Lex/PPMacroExpansion.cpp | 127 +- contrib/llvm-project/clang/lib/Lex/Pragma.cpp | 102 +- .../clang/lib/Lex/PreprocessingRecord.cpp | 7 +- .../llvm-project/clang/lib/Lex/Preprocessor.cpp | 38 +- .../clang/lib/Lex/PreprocessorLexer.cpp | 5 +- contrib/llvm-project/clang/lib/Lex/TokenLexer.cpp | 2 +- contrib/llvm-project/clang/lib/Parse/ParseAST.cpp | 8 +- .../clang/lib/Parse/ParseCXXInlineMethods.cpp | 13 +- contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp | 508 +- .../llvm-project/clang/lib/Parse/ParseDeclCXX.cpp | 245 +- contrib/llvm-project/clang/lib/Parse/ParseExpr.cpp | 112 +- .../llvm-project/clang/lib/Parse/ParseExprCXX.cpp | 48 +- contrib/llvm-project/clang/lib/Parse/ParseHLSL.cpp | 42 + contrib/llvm-project/clang/lib/Parse/ParseObjc.cpp | 63 +- .../llvm-project/clang/lib/Parse/ParseOpenMP.cpp | 164 +- .../llvm-project/clang/lib/Parse/ParsePragma.cpp | 343 +- contrib/llvm-project/clang/lib/Parse/ParseStmt.cpp | 181 +- .../llvm-project/clang/lib/Parse/ParseTemplate.cpp | 54 +- contrib/llvm-project/clang/lib/Parse/Parser.cpp | 328 +- .../clang/lib/Sema/AnalysisBasedWarnings.cpp | 9 +- .../clang/lib/Sema/CodeCompleteConsumer.cpp | 12 +- .../clang/lib/Sema/IdentifierResolver.cpp | 6 +- .../llvm-project/clang/lib/Sema/OpenCLBuiltins.td | 90 +- contrib/llvm-project/clang/lib/Sema/ParsedAttr.cpp | 64 + contrib/llvm-project/clang/lib/Sema/Sema.cpp | 68 +- contrib/llvm-project/clang/lib/Sema/SemaAccess.cpp | 35 +- contrib/llvm-project/clang/lib/Sema/SemaAttr.cpp | 265 +- .../clang/lib/Sema/SemaAvailability.cpp | 2 +- contrib/llvm-project/clang/lib/Sema/SemaCUDA.cpp | 51 +- .../clang/lib/Sema/SemaCXXScopeSpec.cpp | 15 +- contrib/llvm-project/clang/lib/Sema/SemaCast.cpp | 21 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 739 +- .../clang/lib/Sema/SemaCodeComplete.cpp | 36 +- .../llvm-project/clang/lib/Sema/SemaConcept.cpp | 89 +- .../llvm-project/clang/lib/Sema/SemaCoroutine.cpp | 323 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 943 +- .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 574 +- .../llvm-project/clang/lib/Sema/SemaDeclCXX.cpp | 297 +- .../llvm-project/clang/lib/Sema/SemaDeclObjC.cpp | 53 +- .../clang/lib/Sema/SemaExceptionSpec.cpp | 17 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 1044 +- .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 272 +- .../llvm-project/clang/lib/Sema/SemaExprMember.cpp | 30 +- .../llvm-project/clang/lib/Sema/SemaExprObjC.cpp | 8 +- contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 97 +- contrib/llvm-project/clang/lib/Sema/SemaLambda.cpp | 35 +- contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp | 426 +- contrib/llvm-project/clang/lib/Sema/SemaModule.cpp | 327 +- contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 2377 ++- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 488 +- contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp | 51 +- .../llvm-project/clang/lib/Sema/SemaStmtAsm.cpp | 27 +- .../llvm-project/clang/lib/Sema/SemaStmtAttr.cpp | 78 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 119 +- .../clang/lib/Sema/SemaTemplateDeduction.cpp | 51 +- .../clang/lib/Sema/SemaTemplateInstantiate.cpp | 99 +- .../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 194 +- .../clang/lib/Sema/SemaTemplateVariadic.cpp | 28 +- contrib/llvm-project/clang/lib/Sema/SemaType.cpp | 400 +- .../llvm-project/clang/lib/Sema/TreeTransform.h | 297 +- .../clang/lib/Serialization/ASTCommon.cpp | 5 +- .../clang/lib/Serialization/ASTReader.cpp | 1212 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 100 +- .../clang/lib/Serialization/ASTReaderStmt.cpp | 156 +- .../clang/lib/Serialization/ASTWriter.cpp | 461 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 74 +- .../clang/lib/Serialization/ASTWriterStmt.cpp | 67 +- .../clang/lib/Serialization/GlobalModuleIndex.cpp | 2 +- .../StaticAnalyzer/Checkers/ArrayBoundChecker.cpp | 4 +- .../Checkers/ArrayBoundCheckerV2.cpp | 19 +- .../Checkers/BasicObjCFoundationChecks.cpp | 12 +- .../Checkers/BoolAssignmentChecker.cpp | 16 +- .../lib/StaticAnalyzer/Checkers/CStringChecker.cpp | 80 +- .../Checkers/CallAndMessageChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/CastValueChecker.cpp | 6 +- .../StaticAnalyzer/Checkers/CheckObjCDealloc.cpp | 4 +- .../Checkers/CheckObjCInstMethSignature.cpp | 8 +- .../Checkers/CheckSecuritySyntaxOnly.cpp | 30 +- .../lib/StaticAnalyzer/Checkers/CloneChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/DeadStoresChecker.cpp | 7 +- .../StaticAnalyzer/Checkers/DereferenceChecker.cpp | 51 +- .../lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp | 2 +- .../Checkers/DynamicTypePropagation.cpp | 5 +- .../lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp | 249 + .../lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp | 288 + .../lib/StaticAnalyzer/Checkers/ErrnoModeling.h | 78 + .../StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp | 184 + .../Checkers/ExprInspectionChecker.cpp | 23 +- .../Checkers/FuchsiaHandleChecker.cpp | 6 +- .../lib/StaticAnalyzer/Checkers/GTestChecker.cpp | 19 +- .../Checkers/GenericTaintChecker.cpp | 185 +- .../Checkers/InnerPointerChecker.cpp | 15 +- .../clang/lib/StaticAnalyzer/Checkers/Iterator.cpp | 4 +- .../clang/lib/StaticAnalyzer/Checkers/Iterator.h | 8 +- .../StaticAnalyzer/Checkers/IteratorModeling.cpp | 8 +- .../Checkers/IvarInvalidationChecker.cpp | 4 +- .../Checkers/LLVMConventionsChecker.cpp | 2 +- .../Checkers/LocalizationChecker.cpp | 8 +- .../Checkers/MPI-Checker/MPIChecker.cpp | 2 +- .../lib/StaticAnalyzer/Checkers/MallocChecker.cpp | 150 +- .../Checkers/MallocSizeofChecker.cpp | 6 +- .../Checkers/MmapWriteExecChecker.cpp | 4 +- .../lib/StaticAnalyzer/Checkers/MoveChecker.cpp | 1 - .../lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp | 6 +- .../Checkers/NonNullParamChecker.cpp | 6 +- .../StaticAnalyzer/Checkers/NullabilityChecker.cpp | 6 +- .../Checkers/NumberObjectConversionChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp | 2 +- .../Checkers/ObjCAutoreleaseWriteChecker.cpp | 6 +- .../Checkers/ObjCContainersASTChecker.cpp | 6 +- .../Checkers/ObjCContainersChecker.cpp | 7 +- .../Checkers/ObjCSelfInitChecker.cpp | 22 +- .../lib/StaticAnalyzer/Checkers/PaddingChecker.cpp | 6 +- .../StaticAnalyzer/Checkers/PthreadLockChecker.cpp | 2 +- .../RetainCountChecker/RetainCountChecker.cpp | 5 +- .../RetainCountChecker/RetainCountDiagnostics.cpp | 9 +- .../Checkers/ReturnPointerRangeChecker.cpp | 4 +- .../Checkers/STLAlgorithmModeling.cpp | 4 +- .../Checkers/SimpleStreamChecker.cpp | 14 - .../StaticAnalyzer/Checkers/SmartPtrModeling.cpp | 34 +- .../Checkers/StackAddrEscapeChecker.cpp | 2 +- .../Checkers/StdLibraryFunctionsChecker.cpp | 679 +- .../lib/StaticAnalyzer/Checkers/StreamChecker.cpp | 30 +- .../lib/StaticAnalyzer/Checkers/StringChecker.cpp | 2 +- .../clang/lib/StaticAnalyzer/Checkers/Taint.cpp | 6 +- .../StaticAnalyzer/Checkers/TaintTesterChecker.cpp | 21 +- .../Checkers/TrustReturnsNonnullChecker.cpp | 60 + .../StaticAnalyzer/Checkers/UndefResultChecker.cpp | 9 +- .../UninitializedObjectChecker.cpp | 2 +- .../UninitializedObject/UninitializedPointee.cpp | 8 +- .../lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp | 8 +- .../lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp | 7 +- .../lib/StaticAnalyzer/Checkers/ValistChecker.cpp | 4 +- .../Checkers/cert/InvalidPtrChecker.cpp | 16 +- .../lib/StaticAnalyzer/Core/AnalyzerOptions.cpp | 17 +- .../clang/lib/StaticAnalyzer/Core/BugReporter.cpp | 2 +- .../StaticAnalyzer/Core/BugReporterVisitors.cpp | 78 +- .../lib/StaticAnalyzer/Core/CallDescription.cpp | 44 +- .../clang/lib/StaticAnalyzer/Core/CallEvent.cpp | 34 +- .../lib/StaticAnalyzer/Core/CheckerContext.cpp | 29 +- .../lib/StaticAnalyzer/Core/ConstraintManager.cpp | 80 + .../clang/lib/StaticAnalyzer/Core/CoreEngine.cpp | 71 +- .../clang/lib/StaticAnalyzer/Core/DynamicType.cpp | 8 +- .../clang/lib/StaticAnalyzer/Core/Environment.cpp | 2 +- .../clang/lib/StaticAnalyzer/Core/ExprEngine.cpp | 253 +- .../clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp | 21 +- .../lib/StaticAnalyzer/Core/ExprEngineCXX.cpp | 24 +- .../Core/ExprEngineCallAndReturn.cpp | 73 +- .../lib/StaticAnalyzer/Core/LoopUnrolling.cpp | 4 +- .../clang/lib/StaticAnalyzer/Core/MemRegion.cpp | 51 +- .../lib/StaticAnalyzer/Core/PlistDiagnostics.cpp | 2 +- .../clang/lib/StaticAnalyzer/Core/ProgramState.cpp | 37 +- .../StaticAnalyzer/Core/RangeConstraintManager.cpp | 243 +- .../Core/RangedConstraintManager.cpp | 71 +- .../clang/lib/StaticAnalyzer/Core/RegionStore.cpp | 152 +- .../clang/lib/StaticAnalyzer/Core/SValBuilder.cpp | 93 +- .../clang/lib/StaticAnalyzer/Core/SVals.cpp | 67 +- .../lib/StaticAnalyzer/Core/SarifDiagnostics.cpp | 15 +- .../Core/SimpleConstraintManager.cpp | 14 +- .../lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp | 173 +- .../clang/lib/StaticAnalyzer/Core/Store.cpp | 8 +- .../lib/StaticAnalyzer/Core/SymbolManager.cpp | 43 +- .../lib/StaticAnalyzer/Core/TextDiagnostics.cpp | 2 +- .../clang/lib/StaticAnalyzer/Core/WorkList.cpp | 16 +- .../StaticAnalyzer/Frontend/AnalysisConsumer.cpp | 63 +- .../StaticAnalyzer/Frontend/AnalyzerHelpFlags.cpp | 5 +- .../StaticAnalyzer/Frontend/CheckerRegistry.cpp | 4 +- .../clang/lib/Support/RISCVVIntrinsicUtils.cpp | 955 + .../clang/lib/Testing/CommandLineArgs.cpp | 42 + contrib/llvm-project/clang/lib/Testing/TestAST.cpp | 162 + .../clang/lib/Tooling/Core/Replacement.cpp | 4 +- .../DependencyScanningFilesystem.cpp | 124 +- .../DependencyScanningService.cpp | 4 +- .../DependencyScanning/DependencyScanningTool.cpp | 55 +- .../DependencyScanningWorker.cpp | 112 +- .../DependencyScanning/ModuleDepCollector.cpp | 129 +- .../lib/Tooling/Inclusions/HeaderIncludes.cpp | 3 +- .../lib/Tooling/Inclusions/StandardLibrary.cpp | 165 + .../Tooling/InterpolatingCompilationDatabase.cpp | 2 +- .../Refactoring/Rename/USRFindingAction.cpp | 6 +- .../clang/lib/Tooling/Syntax/BuildTree.cpp | 4 +- .../clang/lib/Tooling/Transformer/RewriteRule.cpp | 53 +- .../clang/lib/Tooling/Transformer/Stencil.cpp | 2 +- .../clang/lib/Tooling/Transformer/Transformer.cpp | 58 +- .../clang/tools/clang-format/ClangFormat.cpp | 56 +- .../clang/tools/clang-repl/ClangRepl.cpp | 30 +- .../llvm-project/clang/tools/driver/cc1_main.cpp | 3 +- .../llvm-project/clang/tools/driver/cc1as_main.cpp | 28 +- contrib/llvm-project/clang/tools/driver/driver.cpp | 64 +- .../clang/utils/TableGen/ClangAttrEmitter.cpp | 437 +- .../utils/TableGen/ClangDiagnosticsEmitter.cpp | 16 +- .../utils/TableGen/ClangOpenCLBuiltinEmitter.cpp | 108 +- .../clang/utils/TableGen/ClangOptionDocEmitter.cpp | 28 +- .../utils/TableGen/ClangSACheckersEmitter.cpp | 41 +- .../clang/utils/TableGen/MveEmitter.cpp | 19 +- .../clang/utils/TableGen/RISCVVEmitter.cpp | 1069 +- .../compiler-rt/{lib => include}/orc/c_api.h | 3 - .../compiler-rt/include/profile/InstrProfData.inc | 4 +- .../compiler-rt/include/profile/MIBEntryDef.inc | 47 + .../compiler-rt/include/profile/MemProfData.inc | 139 +- .../compiler-rt/lib/asan/asan_allocator.cpp | 17 +- .../compiler-rt/lib/asan/asan_errors.cpp | 4 +- .../compiler-rt/lib/asan/asan_errors.h | 2 +- .../compiler-rt/lib/asan/asan_fake_stack.cpp | 2 - .../compiler-rt/lib/asan/asan_flags.cpp | 2 +- .../compiler-rt/lib/asan/asan_flags.inc | 11 +- .../compiler-rt/lib/asan/asan_fuchsia.cpp | 21 +- .../compiler-rt/lib/asan/asan_globals.cpp | 29 +- .../compiler-rt/lib/asan/asan_interceptors.cpp | 12 +- .../compiler-rt/lib/asan/asan_interceptors.h | 4 +- .../compiler-rt/lib/asan/asan_interface_internal.h | 5 +- .../compiler-rt/lib/asan/asan_internal.h | 38 +- .../llvm-project/compiler-rt/lib/asan/asan_mac.cpp | 4 +- .../compiler-rt/lib/asan/asan_malloc_mac.cpp | 2 +- .../compiler-rt/lib/asan/asan_mapping.h | 6 +- .../compiler-rt/lib/asan/asan_new_delete.cpp | 12 +- .../compiler-rt/lib/asan/asan_poisoning.cpp | 4 +- .../compiler-rt/lib/asan/asan_posix.cpp | 47 +- .../compiler-rt/lib/asan/asan_report.cpp | 6 +- .../llvm-project/compiler-rt/lib/asan/asan_rtl.cpp | 38 +- .../compiler-rt/lib/asan/asan_rtl_static.cpp | 21 + .../compiler-rt/lib/asan/asan_rtl_x86_64.S | 10 +- .../compiler-rt/lib/asan/asan_thread.cpp | 4 +- .../llvm-project/compiler-rt/lib/asan/asan_win.cpp | 38 +- .../compiler-rt/lib/builtins/aarch64/fp_mode.c | 4 +- .../compiler-rt/lib/builtins/arm/fp_mode.c | 4 +- .../compiler-rt/lib/builtins/arm/sync-ops.h | 22 +- .../llvm-project/compiler-rt/lib/builtins/atomic.c | 2 + .../compiler-rt/lib/builtins/avr/divmodhi4.S | 57 + .../compiler-rt/lib/builtins/avr/divmodqi4.S | 44 + .../compiler-rt/lib/builtins/avr/exit.S | 18 + .../compiler-rt/lib/builtins/avr/mulhi3.S | 71 + .../compiler-rt/lib/builtins/avr/mulqi3.S | 53 + .../compiler-rt/lib/builtins/avr/udivmodhi4.S | 49 + .../compiler-rt/lib/builtins/avr/udivmodqi4.S | 39 + .../compiler-rt/lib/builtins/clear_cache.c | 4 +- .../compiler-rt/lib/builtins/cpu_model.c | 43 +- .../llvm-project/compiler-rt/lib/builtins/emutls.c | 12 +- .../compiler-rt/lib/builtins/fp_compare_impl.inc | 3 + .../compiler-rt/lib/builtins/fp_mode.c | 4 +- .../compiler-rt/lib/builtins/fp_trunc.h | 6 + .../compiler-rt/lib/builtins/gcc_personality_v0.c | 2 +- .../compiler-rt/lib/builtins/i386/fp_mode.c | 4 +- .../compiler-rt/lib/builtins/int_endianness.h | 2 +- .../compiler-rt/lib/builtins/os_version_check.c | 4 +- .../compiler-rt/lib/builtins/truncdfbf2.c | 13 + .../compiler-rt/lib/builtins/truncsfbf2.c | 13 + .../llvm-project/compiler-rt/lib/crt/crtbegin.c | 4 +- .../llvm-project/compiler-rt/lib/dfsan/dfsan.cpp | 27 +- contrib/llvm-project/compiler-rt/lib/dfsan/dfsan.h | 6 + .../compiler-rt/lib/dfsan/dfsan_custom.cpp | 213 +- .../compiler-rt/lib/dfsan/dfsan_thread.cpp | 28 +- .../compiler-rt/lib/dfsan/dfsan_thread.h | 4 +- .../compiler-rt/lib/fuzzer/FuzzerInternal.h | 5 +- .../compiler-rt/lib/fuzzer/FuzzerLoop.cpp | 24 +- .../compiler-rt/lib/fuzzer/FuzzerTracePC.cpp | 9 +- .../llvm-project/compiler-rt/lib/hwasan/hwasan.cpp | 1 + .../llvm-project/compiler-rt/lib/hwasan/hwasan.h | 15 - .../compiler-rt/lib/hwasan/hwasan_allocator.cpp | 4 +- .../compiler-rt/lib/hwasan/hwasan_fuchsia.cpp | 20 +- .../compiler-rt/lib/hwasan/hwasan_new_delete.cpp | 63 +- .../compiler-rt/lib/hwasan/hwasan_preinit.cpp | 23 + .../compiler-rt/lib/interception/interception.h | 18 +- .../lib/interception/interception_mac.cpp | 4 +- .../lib/interception/interception_mac.h | 4 +- .../lib/interception/interception_type_test.cpp | 4 +- .../lib/interception/interception_win.cpp | 2 +- contrib/llvm-project/compiler-rt/lib/lsan/lsan.cpp | 9 +- contrib/llvm-project/compiler-rt/lib/lsan/lsan.h | 1 + .../compiler-rt/lib/lsan/lsan_allocator.cpp | 16 +- .../compiler-rt/lib/lsan/lsan_allocator.h | 10 +- .../compiler-rt/lib/lsan/lsan_common.cpp | 25 +- .../compiler-rt/lib/lsan/lsan_common.h | 4 +- .../compiler-rt/lib/lsan/lsan_common_fuchsia.cpp | 9 + .../compiler-rt/lib/lsan/lsan_common_mac.cpp | 4 +- .../compiler-rt/lib/lsan/lsan_fuchsia.cpp | 7 + .../compiler-rt/lib/lsan/lsan_interceptors.cpp | 10 +- .../llvm-project/compiler-rt/lib/lsan/lsan_mac.cpp | 4 +- .../compiler-rt/lib/lsan/lsan_malloc_mac.cpp | 4 +- .../compiler-rt/lib/lsan/lsan_posix.cpp | 5 + .../compiler-rt/lib/memprof/memprof_allocator.cpp | 55 +- .../compiler-rt/lib/memprof/memprof_internal.h | 15 - .../compiler-rt/lib/memprof/memprof_rtl.cpp | 2 + .../compiler-rt/lib/memprof/tests/rawprofile.cpp | 4 +- contrib/llvm-project/compiler-rt/lib/msan/msan.cpp | 33 +- contrib/llvm-project/compiler-rt/lib/msan/msan.h | 26 +- .../compiler-rt/lib/msan/msan_allocator.cpp | 7 +- .../compiler-rt/lib/msan/msan_flags.inc | 2 +- .../compiler-rt/lib/msan/msan_interceptors.cpp | 43 +- contrib/llvm-project/compiler-rt/lib/orc/adt.h | 19 +- contrib/llvm-project/compiler-rt/lib/orc/common.h | 2 +- .../compiler-rt/lib/orc/dlfcn_wrapper.cpp | 52 + .../compiler-rt/lib/orc/elfnix_platform.cpp | 47 +- .../compiler-rt/lib/orc/elfnix_platform.h | 2 +- .../compiler-rt/lib/orc/executor_address.h | 11 + .../lib/orc/macho_ehframe_registration.cpp | 2 +- .../compiler-rt/lib/orc/macho_platform.cpp | 914 +- .../compiler-rt/lib/orc/macho_platform.h | 59 - .../compiler-rt/lib/orc/wrapper_function_utils.h | 2 +- .../compiler-rt/lib/profile/GCDAProfiling.c | 14 +- .../compiler-rt/lib/profile/InstrProfiling.c | 2 +- .../compiler-rt/lib/profile/InstrProfilingFile.c | 18 +- .../lib/profile/InstrProfilingInternal.c | 2 +- .../compiler-rt/lib/profile/InstrProfilingMerge.c | 2 +- .../lib/profile/InstrProfilingPlatformFuchsia.c | 2 +- .../lib/profile/InstrProfilingPlatformLinux.c | 44 +- .../lib/profile/InstrProfilingPlatformOther.c | 4 +- .../compiler-rt/lib/profile/InstrProfilingUtil.c | 6 +- .../compiler-rt/lib/profile/InstrProfilingValue.c | 4 +- .../compiler-rt/lib/safestack/safestack_platform.h | 2 +- .../sanitizer_allocator_report.cpp | 3 +- .../lib/sanitizer_common/sanitizer_atomic_clang.h | 4 +- .../sanitizer_chained_origin_depot.cpp | 2 + .../sanitizer_chained_origin_depot.h | 1 + .../lib/sanitizer_common/sanitizer_common.cpp | 50 +- .../lib/sanitizer_common/sanitizer_common.h | 33 +- .../sanitizer_common_interceptors.inc | 251 +- .../sanitizer_common_interceptors_ioctl.inc | 10 +- .../sanitizer_common/sanitizer_common_libcdep.cpp | 5 + .../sanitizer_common/sanitizer_common_nolibc.cpp | 2 +- .../sanitizer_coverage_fuchsia.cpp | 1 + .../sanitizer_coverage_libcdep_new.cpp | 20 +- .../lib/sanitizer_common/sanitizer_errno.h | 2 +- .../lib/sanitizer_common/sanitizer_file.cpp | 9 +- .../lib/sanitizer_common/sanitizer_file.h | 2 +- .../lib/sanitizer_common/sanitizer_flags.inc | 6 +- .../lib/sanitizer_common/sanitizer_fuchsia.cpp | 54 +- .../sanitizer_interface_internal.h | 178 +- .../lib/sanitizer_common/sanitizer_internal_defs.h | 11 +- .../lib/sanitizer_common/sanitizer_libignore.cpp | 4 +- .../lib/sanitizer_common/sanitizer_linux.cpp | 130 +- .../lib/sanitizer_common/sanitizer_linux.h | 1 + .../sanitizer_common/sanitizer_linux_libcdep.cpp | 14 +- .../lib/sanitizer_common/sanitizer_mac.cpp | 33 +- .../lib/sanitizer_common/sanitizer_mac.h | 10 +- .../lib/sanitizer_common/sanitizer_mac_libcdep.cpp | 4 +- .../lib/sanitizer_common/sanitizer_malloc_mac.inc | 2 +- .../lib/sanitizer_common/sanitizer_mutex.h | 16 +- .../lib/sanitizer_common/sanitizer_openbsd.cpp | 0 .../lib/sanitizer_common/sanitizer_platform.h | 93 +- .../sanitizer_platform_interceptors.h | 14 +- .../sanitizer_platform_limits_freebsd.cpp | 4 + .../sanitizer_platform_limits_freebsd.h | 37 + .../sanitizer_platform_limits_linux.cpp | 6 - *** 134338 LINES SKIPPED *** From nobody Wed Feb 8 19:07:05 2023 X-Original-To: dev-commits-src-main@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 4PBqHf0N5Yz3nnxk; Wed, 8 Feb 2023 19:07: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBqHf09Kcz439g; Wed, 8 Feb 2023 19:07:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883230; 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=KlbXvB/4o0LauVFEBpUTKtLvb4Om1ikZjIbV1Fypttc=; b=NnTUgCOZ1xTgaEYfKHP53Fh3jNc7zsWGFMLqpNhDvp+cFwRwiQFj/YaAPpcTOBux0AYA2t UHvgNoKKBwMj3Dx2PLzYbYQNFT+fF2T2CurGbwMV6FPswAERwyIzmLoGrk9CtDZFBv3YeI NX0wS2vMs2PJaAVimTh3sJShS5fUXg9C/08OlyxjjLZFFFDQA02mAvfqpHZvla9nhwHJj4 n9wWBeXcamP5R9wtUKzI1gS8HMZjOIYJ3dUYXF0h23+p+Zmt+/YsiiQCp370cflKoDtE7G kj5asy4wzHheJsuOPEYq/Er3+OlJvQ/LvQHEiiaPKFIDBTFI01o4fu0SpUsrwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883230; 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=KlbXvB/4o0LauVFEBpUTKtLvb4Om1ikZjIbV1Fypttc=; b=Fj879wtu9wyglGdKWjeVRr+uvVbejzUH//OwVjcqyTo6jh56G/V6Ssc7OrrlTfhHtEEMcG CorAsTbBuUAEX3rM9LhTeR0SzGoPd0E9VQt5iRIhQv5zt5vOys/bC6kgm0rKKR9eJvbqfA 6wmpZZZzEYYCG2rifsGDsOZGO077VSVhL1wrNkPY5G90CGnrQd+iveDvSHWDNRrnX4Zb99 rxBHCt+8LVUGaWUt6P0ttBEzkuHuvkUEgEZSsO1N60NJ3lUh9/ONRciXWsd7t7sfyeP0sE +w14JLJP28/D4sPOlMi3H4z0UornQE0zbTXoP0oxB4Dfu+HhnPIu8wuU0pYkow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675883230; a=rsa-sha256; cv=none; b=Fg0tM9yGNWRj6iHFu1Nixh6v+Funkz9edlloEGfQID0H/mf5r/yley9GgrI1duXFty5eW/ DENypXQk3IDzn2QWI64YU7AyNXLIi3oYe7vMpwyezZPPDo6lhsCocsUt/OLwsNL8eZbCad QY0H8OWV0itqhQplDNe2wzdOMYvMlFDyHZZ/s+JuY3gmgHA4h+hMX6vLlfJudjBUElu9pB JXquPAMtGRIQ0KdrlCATPxS2nbrbwZ0VbgZa3rQPZIyaTAtH2eRftqqC55X5ftj9iuUre7 JnWVrH2MzqVti05HCDCaqb1GcfsyXyKu7UqZJs01llxiSEsViX9m5guxWoJqmw== 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 4PBqHd5T93z17Pc; Wed, 8 Feb 2023 19:07:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318J79Y9095588; Wed, 8 Feb 2023 19:07:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318J75be095578; Wed, 8 Feb 2023 19:07:05 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:07:05 GMT Message-Id: <202302081907.318J75be095578@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 753f127f3ace - main - Merge llvm-project main llvmorg-15-init-16436-g18a6ab5b8d1f List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 753f127f3ace09432b2baeffd71a308760641a62 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=753f127f3ace09432b2baeffd71a308760641a62 commit 753f127f3ace09432b2baeffd71a308760641a62 Merge: 81ad626541db 1f917f69ff07 Author: Dimitry Andric AuthorDate: 2022-07-14 18:58:48 +0000 Commit: Dimitry Andric CommitDate: 2023-02-08 19:03:59 +0000 Merge llvm-project main llvmorg-15-init-16436-g18a6ab5b8d1f This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-16436-g18a6ab5b8d1f. PR: 265425 MFC after: 2 weeks .../clang/include/clang/APINotes/Types.h | 2 +- .../clang/include/clang/AST/ASTContext.h | 42 +- .../clang/include/clang/AST/ASTImportError.h | 1 - .../clang/include/clang/AST/DeclTemplate.h | 13 +- .../clang/include/clang/AST/PropertiesBase.td | 10 +- .../FlowSensitive/DataflowAnalysisContext.h | 28 +- .../clang/Analysis/FlowSensitive/DebugSupport.h | 63 + .../include/clang/Analysis/FlowSensitive/Solver.h | 62 +- .../clang/include/clang/Analysis/SelectorExtras.h | 2 +- .../clang/include/clang/Basic/AlignedAllocation.h | 4 +- .../llvm-project/clang/include/clang/Basic/Attr.td | 11 + .../clang/include/clang/Basic/AttrDocs.td | 47 +- .../clang/include/clang/Basic/BuiltinsX86.def | 1 + .../clang/include/clang/Basic/CodeGenOptions.def | 1 + .../clang/include/clang/Basic/CodeGenOptions.h | 3 + .../include/clang/Basic/DiagnosticDriverKinds.td | 2 - .../clang/include/clang/Basic/DiagnosticGroups.td | 4 + .../include/clang/Basic/DiagnosticLexKinds.td | 11 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 34 +- .../clang/include/clang/Basic/MakeSupport.h | 23 + .../clang/include/clang/Basic/TargetInfo.h | 6 +- .../clang/include/clang/Basic/riscv_vector.td | 99 +- .../clang/include/clang/Driver/Options.td | 27 +- .../clang/include/clang/Frontend/FrontendActions.h | 4 + .../clang/include/clang/Lex/Preprocessor.h | 63 + .../include/clang/Sema/HLSLExternalSemaSource.h | 41 + .../llvm-project/clang/include/clang/Sema/Sema.h | 45 +- .../StaticAnalyzer/Core/PathSensitive/CallEvent.h | 5 +- .../Core/PathSensitive/ConstraintManager.h | 12 +- .../Core/PathSensitive/SMTConstraintManager.h | 2 +- .../include/clang/Support/RISCVVIntrinsicUtils.h | 6 +- .../DependencyScanningFilesystem.h | 4 +- .../DependencyScanning/DependencyScanningTool.h | 12 +- .../DependencyScanning/ModuleDepCollector.h | 31 +- contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 169 +- contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 10 - contrib/llvm-project/clang/lib/AST/AttrImpl.cpp | 6 +- contrib/llvm-project/clang/lib/AST/DeclPrinter.cpp | 6 + .../llvm-project/clang/lib/AST/FormatString.cpp | 6 + .../clang/lib/AST/Interp/ByteCodeExprGen.cpp | 2 +- .../llvm-project/clang/lib/Analysis/BodyFarm.cpp | 4 +- .../Analysis/FlowSensitive/ControlFlowContext.cpp | 2 +- .../FlowSensitive/DataflowAnalysisContext.cpp | 8 +- .../lib/Analysis/FlowSensitive/DebugSupport.cpp | 197 ++ .../FlowSensitive/TypeErasedDataflowAnalysis.cpp | 6 +- .../FlowSensitive/WatchedLiteralsSolver.cpp | 66 +- .../clang/lib/Analysis/PathDiagnostic.cpp | 4 +- .../clang/lib/Analysis/UninitializedValues.cpp | 4 +- .../llvm-project/clang/lib/Basic/LangStandards.cpp | 4 +- .../llvm-project/clang/lib/Basic/MakeSupport.cpp | 35 + .../llvm-project/clang/lib/Basic/TargetInfo.cpp | 2 +- .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 2 +- .../llvm-project/clang/lib/Basic/Targets/SystemZ.h | 8 + .../llvm-project/clang/lib/Basic/Targets/X86.cpp | 6 + contrib/llvm-project/clang/lib/Basic/Targets/X86.h | 7 +- .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 12 + .../llvm-project/clang/lib/CodeGen/CGCUDANV.cpp | 11 +- contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 3 + contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp | 4 +- .../clang/lib/CodeGen/CGOpenMPRuntime.cpp | 140 +- .../clang/lib/CodeGen/CGOpenMPRuntime.h | 10 +- .../clang/lib/CodeGen/CGStmtOpenMP.cpp | 48 +- .../clang/lib/CodeGen/CodeGenFunction.cpp | 14 + .../clang/lib/CodeGen/CodeGenModule.cpp | 10 + .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 19 + .../llvm-project/clang/lib/CodeGen/CodeGenTBAA.cpp | 37 +- .../clang/lib/CodeGen/SanitizerMetadata.cpp | 18 +- contrib/llvm-project/clang/lib/Driver/Driver.cpp | 39 +- .../clang/lib/Driver/ToolChains/AVR.cpp | 8 +- .../clang/lib/Driver/ToolChains/Clang.cpp | 234 +- .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 3 +- .../clang/lib/Driver/ToolChains/Darwin.cpp | 14 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 2 +- .../clang/lib/Driver/ToolChains/Hexagon.cpp | 4 +- .../clang/lib/Driver/ToolChains/MinGW.cpp | 28 +- .../clang/lib/Driver/ToolChains/MinGW.h | 1 + .../clang/lib/Driver/ToolChains/RISCVToolchain.cpp | 7 +- .../Serialization/SymbolGraphSerializer.cpp | 4 +- .../clang/lib/Format/ContinuationIndenter.cpp | 6 +- .../clang/lib/Format/ContinuationIndenter.h | 2 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 31 +- .../llvm-project/clang/lib/Format/FormatToken.cpp | 2 +- .../llvm-project/clang/lib/Format/FormatToken.h | 9 + .../clang/lib/Format/MacroCallReconstructor.cpp | 573 +++++ contrib/llvm-project/clang/lib/Format/Macros.h | 279 ++- .../clang/lib/Format/TokenAnnotator.cpp | 8 +- .../clang/lib/Format/UnwrappedLineFormatter.cpp | 15 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 16 +- .../clang/lib/Format/UnwrappedLineParser.h | 3 +- .../clang/lib/Frontend/CompilerInstance.cpp | 21 +- .../clang/lib/Frontend/CompilerInvocation.cpp | 28 +- .../clang/lib/Frontend/FrontendAction.cpp | 9 + .../clang/lib/Frontend/FrontendActions.cpp | 3 +- .../clang/lib/Frontend/InitPreprocessor.cpp | 4 +- .../clang/lib/Headers/hlsl/hlsl_basic_types.h | 54 +- contrib/llvm-project/clang/lib/Headers/opencl-c.h | 18 - .../llvm-project/clang/lib/Headers/rdpruintrin.h | 57 + contrib/llvm-project/clang/lib/Headers/stdatomic.h | 4 - contrib/llvm-project/clang/lib/Headers/x86intrin.h | 4 + .../clang/lib/Lex/DependencyDirectivesScanner.cpp | 2 +- contrib/llvm-project/clang/lib/Lex/Lexer.cpp | 117 +- .../llvm-project/clang/lib/Lex/LiteralSupport.cpp | 10 +- contrib/llvm-project/clang/lib/Lex/MacroInfo.cpp | 2 +- contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp | 4 +- .../llvm-project/clang/lib/Lex/PPDirectives.cpp | 90 +- .../clang/lib/Lex/PPMacroExpansion.cpp | 4 +- .../clang/lib/Lex/PreprocessingRecord.cpp | 2 +- .../llvm-project/clang/lib/Lex/Preprocessor.cpp | 14 + .../llvm-project/clang/lib/Parse/ParseOpenMP.cpp | 18 +- contrib/llvm-project/clang/lib/Parse/Parser.cpp | 18 +- .../clang/lib/Sema/HLSLExternalSemaSource.cpp | 96 + contrib/llvm-project/clang/lib/Sema/SemaCUDA.cpp | 13 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 403 ++-- .../clang/lib/Sema/SemaCodeComplete.cpp | 4 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 72 +- .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 46 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 48 +- .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 35 + contrib/llvm-project/clang/lib/Sema/SemaModule.cpp | 13 + contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 79 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 65 +- .../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 9 +- .../clang/lib/Serialization/ASTReader.cpp | 16 +- .../clang/lib/Serialization/ASTWriter.cpp | 13 +- .../Checkers/BasicObjCFoundationChecks.cpp | 4 +- .../lib/StaticAnalyzer/Checkers/CStringChecker.cpp | 2 +- .../lib/StaticAnalyzer/Checkers/MallocChecker.cpp | 9 +- .../Checkers/NonNullParamChecker.cpp | 4 +- .../lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp | 3 +- .../lib/StaticAnalyzer/Core/AnalyzerOptions.cpp | 6 +- .../clang/lib/StaticAnalyzer/Core/BugReporter.cpp | 6 +- .../StaticAnalyzer/Core/BugReporterVisitors.cpp | 8 +- .../Core/ExprEngineCallAndReturn.cpp | 2 +- .../lib/StaticAnalyzer/Core/PlistDiagnostics.cpp | 4 +- .../clang/lib/StaticAnalyzer/Core/SValBuilder.cpp | 6 + .../clang/lib/Support/RISCVVIntrinsicUtils.cpp | 4 +- .../DependencyScanning/DependencyScanningTool.cpp | 19 +- .../DependencyScanning/ModuleDepCollector.cpp | 45 +- .../clang/tools/clang-format/ClangFormat.cpp | 16 +- contrib/llvm-project/clang/tools/driver/driver.cpp | 4 +- .../clang/utils/TableGen/RISCVVEmitter.cpp | 22 +- .../compiler-rt/lib/asan/asan_globals.cpp | 4 +- .../compiler-rt/lib/asan/asan_interceptors.cpp | 4 +- .../llvm-project/compiler-rt/lib/asan/asan_rtl.cpp | 3 - .../llvm-project/compiler-rt/lib/hwasan/hwasan.cpp | 6 + .../compiler-rt/lib/hwasan/hwasan_fuchsia.cpp | 6 +- .../lib/hwasan/hwasan_interface_internal.h | 8 + .../compiler-rt/lib/hwasan/hwasan_linux.cpp | 26 +- .../compiler-rt/lib/memprof/memprof_rtl.cpp | 3 - .../compiler-rt/lib/orc/elfnix_platform.cpp | 13 + .../compiler-rt/lib/orc/elfnix_tls.aarch64.S | 94 + .../compiler-rt/lib/profile/GCDAProfiling.c | 11 +- .../lib/sanitizer_common/sanitizer_common.h | 1 - .../sanitizer_common_interceptors.inc | 28 +- .../lib/sanitizer_common/sanitizer_flags.inc | 7 +- .../lib/sanitizer_common/sanitizer_fuchsia.cpp | 1 - .../lib/sanitizer_common/sanitizer_linux.cpp | 30 +- .../lib/sanitizer_common/sanitizer_linux.h | 3 + .../lib/sanitizer_common/sanitizer_mac.cpp | 136 +- .../lib/sanitizer_common/sanitizer_platform.h | 7 +- .../sanitizer_platform_limits_posix.cpp | 10 +- .../sanitizer_common/sanitizer_procmaps_mac.cpp | 8 +- .../lib/sanitizer_common/sanitizer_vector.h | 4 +- .../lib/sanitizer_common/sanitizer_win.cpp | 4 - .../compiler-rt/lib/scudo/standalone/fuchsia.cpp | 9 +- .../lib/scudo/standalone/include/scudo/interface.h | 14 +- .../compiler-rt/lib/scudo/standalone/release.h | 5 +- .../compiler-rt/lib/scudo/standalone/vector.h | 7 +- .../compiler-rt/lib/tsan/rtl/tsan_rtl.cpp | 3 - .../libcxx/include/__algorithm/binary_search.h | 10 +- .../libcxx/include/__algorithm/count.h | 4 +- .../libcxx/include/__algorithm/equal_range.h | 18 +- .../llvm-project/libcxx/include/__algorithm/fill.h | 12 +- .../libcxx/include/__algorithm/fill_n.h | 8 +- .../llvm-project/libcxx/include/__algorithm/find.h | 4 +- .../libcxx/include/__algorithm/find_end.h | 181 +- .../include/__algorithm/iterator_operations.h | 68 +- .../libcxx/include/__algorithm/lower_bound.h | 15 +- .../libcxx/include/__algorithm/make_heap.h | 43 +- .../libcxx/include/__algorithm/make_projected.h | 22 +- .../libcxx/include/__algorithm/minmax_element.h | 8 +- .../libcxx/include/__algorithm/nth_element.h | 44 +- .../libcxx/include/__algorithm/partial_sort.h | 9 +- .../libcxx/include/__algorithm/pop_heap.h | 60 +- .../libcxx/include/__algorithm/push_heap.h | 71 +- .../include/__algorithm/ranges_binary_search.h | 4 +- .../include/__algorithm/ranges_equal_range.h | 74 + .../libcxx/include/__algorithm/ranges_find_end.h | 113 + .../libcxx/include/__algorithm/ranges_generate.h | 73 + .../libcxx/include/__algorithm/ranges_generate_n.h | 65 + .../libcxx/include/__algorithm/ranges_includes.h | 75 + .../include/__algorithm/ranges_inplace_merge.h | 73 + .../libcxx/include/__algorithm/ranges_is_heap.h | 70 + .../include/__algorithm/ranges_is_heap_until.h | 71 + .../include/__algorithm/ranges_lower_bound.h | 4 +- .../libcxx/include/__algorithm/ranges_make_heap.h | 79 + .../libcxx/include/__algorithm/ranges_merge.h | 142 ++ .../include/__algorithm/ranges_nth_element.h | 79 + .../include/__algorithm/ranges_partial_sort_copy.h | 88 + .../libcxx/include/__algorithm/ranges_partition.h | 74 + .../include/__algorithm/ranges_partition_copy.h | 82 + .../include/__algorithm/ranges_partition_point.h | 71 + .../libcxx/include/__algorithm/ranges_pop_heap.h | 80 + .../libcxx/include/__algorithm/ranges_push_heap.h | 79 + .../libcxx/include/__algorithm/ranges_remove.h | 64 + .../include/__algorithm/ranges_remove_copy.h | 81 + .../include/__algorithm/ranges_remove_copy_if.h | 80 + .../libcxx/include/__algorithm/ranges_remove_if.h | 85 + .../include/__algorithm/ranges_replace_copy.h | 84 + .../include/__algorithm/ranges_replace_copy_if.h | 81 + .../include/__algorithm/ranges_reverse_copy.h | 67 + .../include/__algorithm/ranges_rotate_copy.h | 68 + .../libcxx/include/__algorithm/ranges_search.h | 134 ++ .../libcxx/include/__algorithm/ranges_search_n.h | 120 ++ .../include/__algorithm/ranges_set_difference.h | 104 + .../include/__algorithm/ranges_set_intersection.h | 117 + .../__algorithm/ranges_set_symmetric_difference.h | 116 + .../libcxx/include/__algorithm/ranges_set_union.h | 86 + .../libcxx/include/__algorithm/ranges_shuffle.h | 74 + .../libcxx/include/__algorithm/ranges_sort_heap.h | 79 + .../include/__algorithm/ranges_stable_partition.h | 75 + .../libcxx/include/__algorithm/ranges_unique.h | 74 + .../include/__algorithm/ranges_unique_copy.h | 88 + .../include/__algorithm/ranges_upper_bound.h | 4 +- .../libcxx/include/__algorithm/remove.h | 6 +- .../libcxx/include/__algorithm/remove_copy.h | 4 +- .../libcxx/include/__algorithm/search.h | 176 +- .../libcxx/include/__algorithm/search_n.h | 159 +- .../libcxx/include/__algorithm/set_difference.h | 81 +- .../libcxx/include/__algorithm/set_intersection.h | 101 +- .../include/__algorithm/set_symmetric_difference.h | 111 +- .../llvm-project/libcxx/include/__algorithm/sort.h | 7 +- .../libcxx/include/__algorithm/sort_heap.h | 33 +- .../libcxx/include/__algorithm/upper_bound.h | 12 +- .../llvm-project/libcxx/include/__bit_reference | 16 +- contrib/llvm-project/libcxx/include/__bits | 17 + .../libcxx/include/__charconv/tables.h | 50 + .../libcxx/include/__charconv/to_chars_base_10.h | 60 +- contrib/llvm-project/libcxx/include/__chrono/day.h | 23 +- .../libcxx/include/__chrono/duration.h | 8 +- .../libcxx/include/__chrono/time_point.h | 4 +- .../llvm-project/libcxx/include/__chrono/year.h | 9 +- .../libcxx/include/__chrono/year_month_weekday.h | 8 +- contrib/llvm-project/libcxx/include/__config | 56 +- contrib/llvm-project/libcxx/include/__debug | 16 - .../libcxx/include/__debug_utils/randomize_range.h | 42 + .../libcxx/include/__filesystem/copy_options.h | 34 +- .../include/__filesystem/directory_options.h | 46 +- .../libcxx/include/__filesystem/operations.h | 22 +- .../libcxx/include/__filesystem/perm_options.h | 34 +- .../libcxx/include/__filesystem/perms.h | 28 +- .../libcxx/include/__format/format_arg.h | 23 +- .../libcxx/include/__format/format_arg_store.h | 10 +- .../libcxx/include/__format/formatter.h | 227 -- .../libcxx/include/__format/formatter_bool.h | 1 + .../libcxx/include/__format/formatter_char.h | 2 +- .../include/__format/formatter_floating_point.h | 415 ++-- .../libcxx/include/__format/formatter_integer.h | 33 +- .../libcxx/include/__format/formatter_integral.h | 5 +- .../libcxx/include/__format/formatter_output.h | 59 +- .../include/__format/parser_std_format_spec.h | 893 +------- .../libcxx/include/__functional/default_searcher.h | 8 +- .../libcxx/include/__functional/function.h | 4 +- contrib/llvm-project/libcxx/include/__hash_table | 63 +- .../include/__iterator/back_insert_iterator.h | 8 +- .../include/__iterator/front_insert_iterator.h | 8 +- .../libcxx/include/__iterator/insert_iterator.h | 8 +- .../libcxx/include/__iterator/iterator_traits.h | 12 + .../libcxx/include/__iterator/ostream_iterator.h | 4 +- .../libcxx/include/__iterator/reverse_iterator.h | 17 +- contrib/llvm-project/libcxx/include/__mutex_base | 12 +- .../llvm-project/libcxx/include/__numeric/iota.h | 6 +- .../__random/piecewise_constant_distribution.h | 20 +- .../__random/piecewise_linear_distribution.h | 20 +- .../libcxx/include/__ranges/zip_view.h | 8 +- contrib/llvm-project/libcxx/include/__split_buffer | 26 +- .../libcxx/include/__string/char_traits.h | 4 +- .../libcxx/include/__threading_support | 22 +- contrib/llvm-project/libcxx/include/__tree | 32 +- contrib/llvm-project/libcxx/include/__tuple | 6 +- .../libcxx/include/__type_traits/extent.h | 6 +- .../include/__type_traits/has_virtual_destructor.h | 2 +- .../libcxx/include/__type_traits/is_array.h | 4 +- .../libcxx/include/__type_traits/is_assignable.h | 6 +- .../libcxx/include/__type_traits/is_compound.h | 6 +- .../libcxx/include/__type_traits/is_const.h | 4 +- .../libcxx/include/__type_traits/is_convertible.h | 6 +- .../libcxx/include/__type_traits/is_destructible.h | 6 +- .../libcxx/include/__type_traits/is_function.h | 4 +- .../libcxx/include/__type_traits/is_fundamental.h | 6 +- .../libcxx/include/__type_traits/is_integral.h | 4 +- .../__type_traits/is_member_function_pointer.h | 6 +- .../__type_traits/is_member_object_pointer.h | 6 +- .../include/__type_traits/is_member_pointer.h | 6 +- .../include/__type_traits/is_nothrow_assignable.h | 4 +- .../__type_traits/is_nothrow_constructible.h | 4 +- .../libcxx/include/__type_traits/is_object.h | 6 +- .../libcxx/include/__type_traits/is_pod.h | 4 +- .../libcxx/include/__type_traits/is_pointer.h | 6 +- .../libcxx/include/__type_traits/is_reference.h | 10 +- .../libcxx/include/__type_traits/is_scalar.h | 6 +- .../libcxx/include/__type_traits/is_signed.h | 6 +- .../include/__type_traits/is_standard_layout.h | 2 +- .../libcxx/include/__type_traits/is_trivial.h | 2 +- .../__type_traits/is_trivially_destructible.h | 6 +- .../libcxx/include/__type_traits/is_unsigned.h | 6 +- .../libcxx/include/__type_traits/is_void.h | 4 +- .../libcxx/include/__type_traits/is_volatile.h | 4 +- contrib/llvm-project/libcxx/include/algorithm | 234 ++ contrib/llvm-project/libcxx/include/any | 2 +- contrib/llvm-project/libcxx/include/array | 7 +- contrib/llvm-project/libcxx/include/atomic | 9 +- contrib/llvm-project/libcxx/include/barrier | 8 +- contrib/llvm-project/libcxx/include/charconv | 135 +- contrib/llvm-project/libcxx/include/chrono | 12 +- contrib/llvm-project/libcxx/include/cmath | 6 +- contrib/llvm-project/libcxx/include/codecvt | 96 +- .../llvm-project/libcxx/include/condition_variable | 2 +- contrib/llvm-project/libcxx/include/deque | 18 +- contrib/llvm-project/libcxx/include/exception | 6 +- .../libcxx/include/experimental/functional | 6 +- .../llvm-project/libcxx/include/experimental/simd | 12 +- contrib/llvm-project/libcxx/include/ext/hash_map | 24 +- contrib/llvm-project/libcxx/include/ext/hash_set | 24 +- contrib/llvm-project/libcxx/include/format | 93 +- contrib/llvm-project/libcxx/include/forward_list | 42 +- contrib/llvm-project/libcxx/include/future | 8 +- contrib/llvm-project/libcxx/include/list | 16 +- contrib/llvm-project/libcxx/include/map | 64 +- contrib/llvm-project/libcxx/include/memory | 4 +- .../libcxx/include/module.modulemap.in | 41 + contrib/llvm-project/libcxx/include/regex | 29 +- .../llvm-project/libcxx/include/scoped_allocator | 18 +- contrib/llvm-project/libcxx/include/shared_mutex | 4 +- contrib/llvm-project/libcxx/include/string_view | 4 +- contrib/llvm-project/libcxx/include/system_error | 4 +- contrib/llvm-project/libcxx/include/tuple | 16 +- contrib/llvm-project/libcxx/include/unordered_map | 52 +- contrib/llvm-project/libcxx/include/unordered_set | 40 +- contrib/llvm-project/libcxx/include/variant | 4 +- contrib/llvm-project/libcxx/include/vector | 68 +- contrib/llvm-project/libcxx/include/wchar.h | 8 +- contrib/llvm-project/lld/COFF/Config.h | 4 + contrib/llvm-project/lld/COFF/Driver.cpp | 35 +- contrib/llvm-project/lld/COFF/Options.td | 2 + contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 306 ++- contrib/llvm-project/lld/ELF/Config.h | 3 +- contrib/llvm-project/lld/ELF/Driver.cpp | 22 +- contrib/llvm-project/lld/ELF/InputSection.cpp | 29 +- contrib/llvm-project/lld/ELF/InputSection.h | 29 +- contrib/llvm-project/lld/ELF/LTO.cpp | 7 +- contrib/llvm-project/lld/ELF/Options.td | 2 + contrib/llvm-project/lld/ELF/OutputSections.cpp | 30 +- contrib/llvm-project/lld/ELF/OutputSections.h | 4 +- contrib/llvm-project/lld/ELF/Relocations.cpp | 9 +- contrib/llvm-project/lld/ELF/Relocations.h | 13 +- contrib/llvm-project/lld/ELF/Target.h | 4 + contrib/llvm-project/lld/ELF/Thunks.cpp | 29 +- contrib/llvm-project/lld/ELF/Writer.cpp | 38 +- contrib/llvm-project/lld/MachO/Arch/ARM.cpp | 36 + contrib/llvm-project/lld/MachO/Arch/ARM64.cpp | 208 +- .../llvm-project/lld/MachO/Arch/ARM64Common.cpp | 18 + contrib/llvm-project/lld/MachO/Arch/ARM64Common.h | 3 + contrib/llvm-project/lld/MachO/Arch/X86_64.cpp | 23 + contrib/llvm-project/lld/MachO/Config.h | 3 - contrib/llvm-project/lld/MachO/Driver.cpp | 1 - contrib/llvm-project/lld/MachO/InputFiles.cpp | 77 +- contrib/llvm-project/lld/MachO/InputFiles.h | 1 + contrib/llvm-project/lld/MachO/InputSection.cpp | 6 + contrib/llvm-project/lld/MachO/SymbolTable.cpp | 4 + contrib/llvm-project/lld/MachO/Target.h | 9 + .../llvm-project/lld/MachO/UnwindInfoSection.cpp | 2 +- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 8 +- contrib/llvm-project/lld/tools/lld/lld.cpp | 6 + .../lldb/bindings/interface/SBSection.i | 4 + .../llvm-project/lldb/bindings/interface/SBTrace.i | 2 + .../llvm-project/lldb/include/lldb/API/SBSection.h | 6 + .../llvm-project/lldb/include/lldb/API/SBTrace.h | 22 + .../lldb/include/lldb/Core/Disassembler.h | 17 +- .../lldb/include/lldb/Expression/DWARFExpression.h | 128 +- .../include/lldb/Expression/DWARFExpressionList.h | 151 ++ .../lldb/include/lldb/Interpreter/CommandObject.h | 3 - .../lldb/include/lldb/Symbol/Function.h | 16 +- .../lldb/include/lldb/Symbol/ObjectFile.h | 2 + .../lldb/include/lldb/Symbol/TypeList.h | 7 +- .../lldb/include/lldb/Symbol/TypeMap.h | 8 +- .../lldb/include/lldb/Symbol/Variable.h | 14 +- .../lldb/include/lldb/Target/StackFrame.h | 4 +- .../llvm-project/lldb/include/lldb/Target/Trace.h | 26 +- .../lldb/include/lldb/Target/TraceCursor.h | 10 + .../lldb/include/lldb/Target/TraceDumper.h | 3 + .../lldb/include/lldb/Utility/Environment.h | 2 +- .../lldb/include/lldb/Utility/RangeMap.h | 4 + .../lldb/Utility/TraceIntelPTGDBRemotePackets.h | 5 + .../lldb/include/lldb/lldb-enumerations.h | 47 +- .../llvm-project/lldb/include/lldb/lldb-forward.h | 1 + .../llvm-project/lldb/source/API/SBInstruction.cpp | 7 +- .../lldb/source/API/SBInstructionList.cpp | 5 +- contrib/llvm-project/lldb/source/API/SBSection.cpp | 9 + contrib/llvm-project/lldb/source/API/SBTrace.cpp | 18 + .../source/Commands/CommandObjectDisassemble.cpp | 8 + .../source/Commands/CommandObjectDisassemble.h | 1 + .../lldb/source/Commands/CommandObjectProcess.cpp | 128 +- .../lldb/source/Commands/CommandObjectTarget.cpp | 69 +- .../lldb/source/Commands/CommandObjectThread.cpp | 33 +- .../lldb/source/Commands/CommandObjectTrace.cpp | 116 +- .../llvm-project/lldb/source/Commands/Options.td | 28 +- contrib/llvm-project/lldb/source/Core/Debugger.cpp | 15 +- .../llvm-project/lldb/source/Core/Disassembler.cpp | 376 +++- .../lldb/source/Core/DumpDataExtractor.cpp | 5 +- contrib/llvm-project/lldb/source/Core/Module.cpp | 19 +- .../lldb/source/Core/ValueObjectVariable.cpp | 19 +- .../lldb/source/Expression/DWARFExpression.cpp | 334 +-- .../lldb/source/Expression/DWARFExpressionList.cpp | 248 +++ .../lldb/source/Expression/IRExecutionUnit.cpp | 4 +- .../lldb/source/Expression/Materializer.cpp | 2 +- .../lldb/source/Interpreter/CommandObject.cpp | 21 +- .../source/Plugins/ABI/X86/ABIWindows_x86_64.h | 11 +- .../Disassembler/LLVMC/DisassemblerLLVMC.cpp | 6 +- .../Clang/ClangExpressionDeclMap.cpp | 53 +- .../Clang/ClangExpressionDeclMap.h | 4 +- .../Language/CPlusPlus/CPlusPlusLanguage.cpp | 8 + .../source/Plugins/Language/CPlusPlus/LibCxx.cpp | 279 ++- .../source/Plugins/Language/CPlusPlus/LibCxx.h | 50 + .../BSD-Archive/ObjectContainerBSDArchive.cpp | 208 +- .../BSD-Archive/ObjectContainerBSDArchive.h | 22 +- .../Plugins/ObjectFile/ELF/ObjectFileELF.cpp | 3 +- .../Plugins/ObjectFile/PDB/ObjectFilePDB.cpp | 2 - .../gdb-remote/GDBRemoteCommunicationClient.cpp | 4 +- .../gdb-remote/GDBRemoteCommunicationClient.h | 2 - .../SymbolFile/DWARF/DWARFASTParserClang.cpp | 2 +- .../source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp | 2 +- .../source/Plugins/SymbolFile/DWARF/DWARFDIE.h | 11 +- .../SymbolFile/DWARF/DWARFDebugInfoEntry.cpp | 19 +- .../Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h | 2 +- .../source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp | 11 + .../source/Plugins/SymbolFile/DWARF/DWARFUnit.h | 2 + .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | 83 +- .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.h | 1 + .../NativePDB/DWARFLocationExpression.cpp | 4 +- .../Plugins/SymbolFile/NativePDB/PdbUtil.cpp | 10 +- .../source/Plugins/SymbolFile/NativePDB/PdbUtil.h | 4 +- .../SymbolFile/NativePDB/SymbolFileNativePDB.cpp | 28 +- .../PDB/PDBLocationToDWARFExpression.cpp | 2 +- .../Plugins/SymbolFile/PDB/SymbolFilePDB.cpp | 7 +- .../intel-pt/CommandObjectTraceStartIntelPT.cpp | 89 +- .../intel-pt/CommandObjectTraceStartIntelPT.h | 18 + .../Plugins/Trace/intel-pt/DecodedThread.cpp | 32 +- .../source/Plugins/Trace/intel-pt/DecodedThread.h | 23 +- .../Plugins/Trace/intel-pt/LibiptDecoder.cpp | 2 + .../Trace/intel-pt/PerfContextSwitchDecoder.cpp | 45 +- .../Trace/intel-pt/PerfContextSwitchDecoder.h | 5 + .../lldb/source/Plugins/Trace/intel-pt/TaskTimer.h | 4 +- .../Plugins/Trace/intel-pt/ThreadDecoder.cpp | 5 +- .../Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp | 4 + .../Plugins/Trace/intel-pt/TraceCursorIntelPT.h | 2 + .../source/Plugins/Trace/intel-pt/TraceIntelPT.cpp | 175 +- .../source/Plugins/Trace/intel-pt/TraceIntelPT.h | 23 +- .../Trace/intel-pt/TraceIntelPTBundleSaver.cpp | 138 +- .../Trace/intel-pt/TraceIntelPTBundleSaver.h | 12 +- .../Plugins/Trace/intel-pt/TraceIntelPTConstants.h | 1 + .../Trace/intel-pt/TraceIntelPTMultiCpuDecoder.cpp | 77 +- .../Trace/intel-pt/TraceIntelPTMultiCpuDecoder.h | 16 +- .../Plugins/Trace/intel-pt/TraceIntelPTOptions.td | 29 +- .../Plugins/TraceExporter/common/TraceHTR.cpp | 6 +- .../InstEmulation/UnwindAssemblyInstEmulation.cpp | 4 +- .../llvm-project/lldb/source/Symbol/Function.cpp | 14 +- contrib/llvm-project/lldb/source/Symbol/Symbol.cpp | 5 +- .../llvm-project/lldb/source/Symbol/TypeList.cpp | 9 +- .../llvm-project/lldb/source/Symbol/TypeMap.cpp | 41 +- .../llvm-project/lldb/source/Symbol/Variable.cpp | 30 +- .../lldb/source/Target/RegisterContextUnwind.cpp | 20 +- .../llvm-project/lldb/source/Target/StackFrame.cpp | 10 +- .../lldb/source/Target/ThreadPlanTracer.cpp | 5 +- .../lldb/source/Target/TraceCursor.cpp | 3 + .../lldb/source/Target/TraceDumper.cpp | 105 +- contrib/llvm-project/lldb/source/Utility/Args.cpp | 1 + .../Utility/TraceIntelPTGDBRemotePackets.cpp | 12 +- .../llvm-project/llvm/include/llvm-c/BitReader.h | 9 +- contrib/llvm-project/llvm/include/llvm-c/Core.h | 36 +- .../llvm/include/llvm/ADT/ScopedHashTable.h | 13 +- .../llvm-project/llvm/include/llvm/ADT/StringMap.h | 30 +- .../include/llvm/Analysis/BlockFrequencyInfoImpl.h | 8 +- .../llvm/include/llvm/Analysis/GlobalsModRef.h | 6 +- .../include/llvm/Analysis/InstSimplifyFolder.h | 17 +- .../llvm/include/llvm/Analysis/ScalarEvolution.h | 6 +- .../llvm/include/llvm/Analysis/TargetFolder.h | 53 +- .../include/llvm/Analysis/TargetTransformInfo.h | 14 +- .../llvm/Analysis/TargetTransformInfoImpl.h | 4 +- .../llvm/include/llvm/Analysis/ValueTracking.h | 6 +- .../llvm/include/llvm/Analysis/VectorUtils.h | 6 +- .../llvm/include/llvm/AsmParser/LLToken.h | 5 +- .../llvm/include/llvm/BinaryFormat/ELF.h | 1 + .../llvm/include/llvm/Bitcode/LLVMBitCodes.h | 5 +- .../llvm/include/llvm/Bitstream/BitstreamWriter.h | 4 +- .../llvm/include/llvm/CodeGen/AsmPrinter.h | 7 +- .../llvm/include/llvm/CodeGen/BasicTTIImpl.h | 2 +- .../llvm/CodeGen/GlobalISel/InstructionSelector.h | 4 + .../CodeGen/GlobalISel/InstructionSelectorImpl.h | 21 +- .../llvm/CodeGen/GlobalISel/LegalizerHelper.h | 3 - .../llvm/CodeGen/GlobalISel/MachineIRBuilder.h | 41 + .../llvm/include/llvm/CodeGen/ISDOpcodes.h | 7 + .../llvm/include/llvm/CodeGen/MachineScheduler.h | 2 + .../llvm/include/llvm/CodeGen/SelectionDAGISel.h | 1 + .../llvm/include/llvm/CodeGen/SelectionDAGNodes.h | 4 + .../llvm/include/llvm/CodeGen/TargetLowering.h | 3 + .../llvm/include/llvm/DWARFLinker/DWARFLinker.h | 3 - .../include/llvm/DebugInfo/Symbolize/Symbolize.h | 2 + .../llvm/include/llvm/Debuginfod/Debuginfod.h | 83 +- .../llvm/include/llvm/Debuginfod/HTTPServer.h | 123 ++ .../include/llvm/ExecutionEngine/JITLink/COFF.h | 39 + .../llvm/ExecutionEngine/JITLink/COFF_x86_64.h | 38 + .../include/llvm/ExecutionEngine/JITLink/aarch64.h | 14 +- .../llvm/ExecutionEngine/Orc/MachOPlatform.h | 3 - .../llvm/include/llvm/Frontend/OpenACC/ACC.td | 5 +- .../include/llvm/Frontend/OpenMP/OMPIRBuilder.h | 23 +- .../llvm/include/llvm/Frontend/OpenMP/OMPKinds.def | 10 + .../llvm/include/llvm/IR/Attributes.td | 4 + .../llvm-project/llvm/include/llvm/IR/Constant.h | 4 - .../llvm/include/llvm/IR/ConstantFolder.h | 50 +- .../llvm-project/llvm/include/llvm/IR/Constants.h | 36 +- .../llvm/include/llvm/IR/FixedMetadataKinds.def | 1 + .../llvm/include/llvm/IR/GlobalValue.h | 48 +- .../llvm-project/llvm/include/llvm/IR/IRBuilder.h | 24 +- .../llvm/include/llvm/IR/IRBuilderFolder.h | 10 +- .../llvm-project/llvm/include/llvm/IR/InlineAsm.h | 9 +- .../llvm/include/llvm/IR/Instructions.h | 12 +- .../llvm/include/llvm/IR/Intrinsics.td | 2 +- .../llvm/include/llvm/IR/IntrinsicsAArch64.td | 43 +- .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 2 +- .../llvm/include/llvm/IR/IntrinsicsDirectX.td | 10 +- .../llvm/include/llvm/IR/IntrinsicsX86.td | 6 + .../llvm-project/llvm/include/llvm/IR/Metadata.h | 20 +- contrib/llvm-project/llvm/include/llvm/IR/Module.h | 4 + .../llvm/include/llvm/IR/ModuleSummaryIndex.h | 2 +- .../llvm-project/llvm/include/llvm/IR/NoFolder.h | 18 +- .../llvm-project/llvm/include/llvm/IR/OptBisect.h | 4 +- .../llvm-project/llvm/include/llvm/LTO/Config.h | 6 +- .../llvm-project/llvm/include/llvm/MC/MCDwarf.h | 4 +- .../llvm/include/llvm/MC/MCSymbolWasm.h | 10 +- .../llvm/include/llvm/MC/MCSymbolXCOFF.h | 2 +- .../llvm/include/llvm/ObjCopy/CommonConfig.h | 1 + .../llvm/include/llvm/Object/Decompressor.h | 4 +- .../llvm/include/llvm/Support/ARMTargetParser.def | 3 + .../llvm/include/llvm/Support/Allocator.h | 21 +- .../llvm/include/llvm/Support/AllocatorBase.h | 22 + .../llvm/include/llvm/Support/Casting.h | 4 +- .../llvm/include/llvm/Support/CodeGen.h | 7 + .../llvm/include/llvm/Support/Compression.h | 23 +- .../llvm/include/llvm/Support/ConvertUTF.h | 2 + .../llvm-project/llvm/include/llvm/Support/Error.h | 2 +- .../llvm/include/llvm/Support/TargetOpcodes.def | 2 + .../llvm/include/llvm/Support/X86TargetParser.def | 1 + .../llvm/include/llvm/Target/GenericOpcodes.td | 2 + .../llvm/Target/GlobalISel/SelectionDAGCompat.td | 4 + .../llvm/include/llvm/Target/TargetSelectionDAG.td | 58 + .../llvm/Transforms/IPO/PassManagerBuilder.h | 2 - .../llvm/include/llvm/Transforms/Utils/Debugify.h | 66 +- .../llvm/include/llvm/Transforms/Utils/LoopUtils.h | 8 +- .../include/llvm/Transforms/Utils/ModuleUtils.h | 3 +- .../Vectorize/LoopVectorizationLegality.h | 7 - .../llvm/lib/Analysis/BranchProbabilityInfo.cpp | 11 +- .../llvm/lib/Analysis/ConstantFolding.cpp | 15 +- .../llvm/lib/Analysis/GlobalsModRef.cpp | 16 - .../llvm/lib/Analysis/IRSimilarityIdentifier.cpp | 4 +- .../llvm/lib/Analysis/InlineAdvisor.cpp | 13 +- .../llvm-project/llvm/lib/Analysis/InlineCost.cpp | 17 +- .../llvm/lib/Analysis/InstructionSimplify.cpp | 45 +- .../llvm/lib/Analysis/LazyValueInfo.cpp | 6 +- contrib/llvm-project/llvm/lib/Analysis/Loads.cpp | 5 +- .../llvm/lib/Analysis/MemoryBuiltins.cpp | 4 +- .../llvm-project/llvm/lib/Analysis/MustExecute.cpp | 2 +- .../llvm/lib/Analysis/ProfileSummaryInfo.cpp | 12 +- .../llvm/lib/Analysis/ScalarEvolution.cpp | 44 +- contrib/llvm-project/llvm/lib/Analysis/TFUtils.cpp | 11 +- .../llvm/lib/Analysis/TargetTransformInfo.cpp | 2 +- .../llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp | 34 +- .../llvm/lib/Analysis/ValueTracking.cpp | 24 +- .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 2 +- .../llvm-project/llvm/lib/AsmParser/LLLexer.cpp | 3 +- .../llvm-project/llvm/lib/AsmParser/LLParser.cpp | 84 +- .../llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 15 +- .../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 9 +- .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 125 +- .../lib/CodeGen/AsmPrinter/DIEHashAttributes.def | 2 +- .../llvm/lib/CodeGen/AtomicExpandPass.cpp | 2 + .../llvm/lib/CodeGen/ExpandVectorPredication.cpp | 3 +- .../llvm/lib/CodeGen/GlobalISel/CallLowering.cpp | 6 + .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 50 +- .../llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 15 +- .../lib/CodeGen/GlobalISel/MachineIRBuilder.cpp | 31 + .../llvm/lib/CodeGen/InterleavedAccessPass.cpp | 9 +- .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 46 +- .../llvm/lib/CodeGen/LiveIntervals.cpp | 17 +- .../llvm/lib/CodeGen/MIRParser/MIParser.cpp | 2 +- .../llvm/lib/CodeGen/MachineBasicBlock.cpp | 2 +- .../llvm/lib/CodeGen/MachineFunctionSplitter.cpp | 4 +- .../llvm/lib/CodeGen/MachineScheduler.cpp | 7 +- .../llvm/lib/CodeGen/MachineVerifier.cpp | 1 + .../llvm/lib/CodeGen/ModuloSchedule.cpp | 8 +- .../llvm/lib/CodeGen/PrologEpilogInserter.cpp | 2 +- .../llvm/lib/CodeGen/RegAllocEvictionAdvisor.h | 3 - .../llvm/lib/CodeGen/SelectOptimize.cpp | 4 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 128 +- .../CodeGen/SelectionDAG/LegalizeFloatTypes.cpp | 17 + .../CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp | 93 +- .../llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h | 3 + .../CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 8 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 38 +- .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 168 +- .../lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | 2 +- .../CodeGen/SelectionDAG/SelectionDAGDumper.cpp | 2 + .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 99 +- .../CodeGen/SelectionDAG/StatepointLowering.cpp | 4 +- .../lib/CodeGen/SelectionDAG/TargetLowering.cpp | 160 +- .../lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 6 +- .../llvm/lib/DWARFLinker/DWARFLinker.cpp | 1 + .../llvm/lib/DebugInfo/CodeView/CodeViewError.cpp | 5 +- .../llvm/lib/DebugInfo/DWARF/DWARFContext.cpp | 4 +- .../llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp | 10 +- .../llvm/lib/DebugInfo/DWARF/DWARFDie.cpp | 29 +- .../llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp | 8 + .../llvm/lib/DebugInfo/MSF/MSFError.cpp | 7 +- .../llvm/lib/DebugInfo/PDB/DIA/DIAError.cpp | 7 +- .../llvm/lib/DebugInfo/PDB/GenericError.cpp | 7 +- .../llvm/lib/DebugInfo/PDB/Native/RawError.cpp | 7 +- .../llvm/lib/DebugInfo/Symbolize/Symbolize.cpp | 4 +- .../llvm/lib/Debuginfod/Debuginfod.cpp | 315 ++- .../llvm/lib/Debuginfod/HTTPServer.cpp | 189 ++ .../ExecutionEngine/GDBRegistrationListener.cpp | 30 +- .../llvm/lib/ExecutionEngine/JITLink/COFF.cpp | 137 ++ .../JITLink/COFFLinkGraphBuilder.cpp | 527 +++++ .../ExecutionEngine/JITLink/COFFLinkGraphBuilder.h | 199 ++ .../lib/ExecutionEngine/JITLink/COFF_x86_64.cpp | 216 ++ .../lib/ExecutionEngine/JITLink/EHFrameSupport.cpp | 5 +- .../lib/ExecutionEngine/JITLink/ELF_aarch64.cpp | 161 +- .../llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp | 30 +- .../llvm/lib/ExecutionEngine/JITLink/JITLink.cpp | 11 +- .../lib/ExecutionEngine/JITLink/MachO_arm64.cpp | 2 +- .../llvm/lib/ExecutionEngine/JITLink/aarch64.cpp | 8 +- .../lib/ExecutionEngine/Orc/ELFNixPlatform.cpp | 6 +- .../llvm/lib/ExecutionEngine/Orc/LLJIT.cpp | 5 +- .../ExecutionEngine/Orc/ObjectFileInterface.cpp | 52 + .../llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp | 4 +- .../lib/ExecutionEngine/Orc/Shared/OrcError.cpp | 10 +- .../Orc/TargetProcess/JITLoaderGDB.cpp | 8 +- .../PerfJITEvents/PerfJITEventListener.cpp | 10 +- .../ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | 6 +- .../ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | 2 +- .../llvm/lib/Frontend/OpenMP/OMPContext.cpp | 4 +- .../llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp | 115 +- contrib/llvm-project/llvm/lib/IR/AsmWriter.cpp | 14 +- contrib/llvm-project/llvm/lib/IR/ConstantFold.cpp | 27 +- contrib/llvm-project/llvm/lib/IR/Constants.cpp | 183 +- .../llvm-project/llvm/lib/IR/ConstantsContext.h | 60 +- contrib/llvm-project/llvm/lib/IR/Core.cpp | 86 +- contrib/llvm-project/llvm/lib/IR/InlineAsm.cpp | 43 +- contrib/llvm-project/llvm/lib/IR/Instructions.cpp | 17 +- contrib/llvm-project/llvm/lib/IR/IntrinsicInst.cpp | 10 +- .../llvm-project/llvm/lib/IR/LLVMContextImpl.cpp | 5 +- contrib/llvm-project/llvm/lib/IR/Metadata.cpp | 7 - contrib/llvm-project/llvm/lib/IR/Module.cpp | 12 + contrib/llvm-project/llvm/lib/IR/OptBisect.cpp | 7 +- contrib/llvm-project/llvm/lib/IR/PassRegistry.cpp | 10 +- .../llvm/lib/InterfaceStub/IFSHandler.cpp | 21 +- contrib/llvm-project/llvm/lib/LTO/LTOBackend.cpp | 52 +- contrib/llvm-project/llvm/lib/Linker/IRMover.cpp | 28 +- .../llvm-project/llvm/lib/MC/ELFObjectWriter.cpp | 14 +- contrib/llvm-project/llvm/lib/MC/MCContext.cpp | 4 +- .../llvm/lib/MC/MCDisassembler/MCDisassembler.cpp | 4 +- .../llvm/lib/MC/MCParser/ELFAsmParser.cpp | 2 + .../llvm/lib/MC/MCParser/MasmParser.cpp | 92 +- contrib/llvm-project/llvm/lib/MC/MCSchedule.cpp | 8 +- contrib/llvm-project/llvm/lib/MC/MCSectionELF.cpp | 2 + .../llvm-project/llvm/lib/MC/MCSectionXCOFF.cpp | 4 +- .../llvm/lib/ObjCopy/ConfigManager.cpp | 28 +- .../llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp | 125 +- .../llvm/lib/ObjCopy/ELF/ELFObject.cpp | 24 +- .../llvm-project/llvm/lib/ObjCopy/ELF/ELFObject.h | 2 +- .../llvm-project/llvm/lib/Object/Decompressor.cpp | 7 +- contrib/llvm-project/llvm/lib/Object/ELF.cpp | 1 + .../llvm-project/llvm/lib/Object/ELFObjectFile.cpp | 18 +- contrib/llvm-project/llvm/lib/Object/Error.cpp | 6 +- .../llvm/lib/ObjectYAML/DXContainerEmitter.cpp | 6 +- .../llvm-project/llvm/lib/ObjectYAML/ELFYAML.cpp | 1 + .../llvm/lib/Passes/PassBuilderPipelines.cpp | 3 +- .../llvm/lib/Passes/StandardInstrumentations.cpp | 5 +- .../lib/ProfileData/Coverage/CoverageMapping.cpp | 6 +- .../ProfileData/Coverage/CoverageMappingReader.cpp | 12 +- .../ProfileData/Coverage/CoverageMappingWriter.cpp | 12 +- .../llvm/lib/ProfileData/InstrProf.cpp | 32 +- .../llvm/lib/ProfileData/SampleProf.cpp | 6 +- .../llvm/lib/ProfileData/SampleProfReader.cpp | 10 +- .../llvm/lib/ProfileData/SampleProfWriter.cpp | 11 +- .../llvm-project/llvm/lib/Support/CommandLine.cpp | 6 +- .../llvm-project/llvm/lib/Support/Compression.cpp | 52 +- .../llvm-project/llvm/lib/Support/ConvertUTF.cpp | 10 + contrib/llvm-project/llvm/lib/Support/Error.cpp | 12 +- contrib/llvm-project/llvm/lib/Support/Process.cpp | 2 +- contrib/llvm-project/llvm/lib/Support/Unicode.cpp | 2 +- .../llvm-project/llvm/lib/Support/Unix/Process.inc | 8 +- .../llvm/lib/Support/VirtualFileSystem.cpp | 6 +- .../llvm/lib/Support/Windows/Signals.inc | 5 + .../llvm/lib/Support/X86TargetParser.cpp | 6 +- .../llvm-project/llvm/lib/Support/raw_ostream.cpp | 2 +- contrib/llvm-project/llvm/lib/TableGen/Record.cpp | 2 +- .../llvm/lib/Target/AArch64/AArch64.td | 11 +- .../llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp | 2 + .../lib/Target/AArch64/AArch64ISelLowering.cpp | 239 +- .../llvm/lib/Target/AArch64/AArch64ISelLowering.h | 4 + .../llvm/lib/Target/AArch64/AArch64InstrAtomics.td | 38 +- .../llvm/lib/Target/AArch64/AArch64InstrFormats.td | 2 +- .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 2 + .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 73 +- .../llvm/lib/Target/AArch64/AArch64SchedA53.td | 3 +- .../llvm/lib/Target/AArch64/AArch64SchedA55.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedA57.td | 7 +- .../llvm/lib/Target/AArch64/AArch64SchedA64FX.td | 4 +- .../llvm/lib/Target/AArch64/AArch64SchedAmpere1.td | 4 +- .../llvm/lib/Target/AArch64/AArch64SchedCyclone.td | 3 +- .../lib/Target/AArch64/AArch64SchedExynosM3.td | 3 +- .../lib/Target/AArch64/AArch64SchedExynosM4.td | 3 +- .../lib/Target/AArch64/AArch64SchedExynosM5.td | 3 +- .../llvm/lib/Target/AArch64/AArch64SchedFalkor.td | 3 +- .../llvm/lib/Target/AArch64/AArch64SchedKryo.td | 3 +- .../lib/Target/AArch64/AArch64SchedNeoverseN2.td | 2279 ++++++++++++++++++++ .../llvm/lib/Target/AArch64/AArch64SchedTSV110.td | 3 +- .../lib/Target/AArch64/AArch64SchedThunderX.td | 3 +- .../lib/Target/AArch64/AArch64SchedThunderX2T99.td | 3 +- .../Target/AArch64/AArch64SchedThunderX3T110.td | 3 +- .../Target/AArch64/AArch64TargetTransformInfo.cpp | 47 + .../Target/AArch64/AArch64TargetTransformInfo.h | 6 +- .../Target/AArch64/GISel/AArch64CallLowering.cpp | 29 +- .../lib/Target/AArch64/GISel/AArch64CallLowering.h | 4 + .../AArch64/GISel/AArch64InstructionSelector.cpp | 57 +- .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 35 +- .../AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp | 14 +- .../AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp | 1 + .../AArch64/MCTargetDesc/AArch64MCTargetDesc.h | 1 + .../llvm/lib/Target/AArch64/SMEInstrFormats.td | 34 + .../llvm/lib/Target/AArch64/SVEInstrFormats.td | 10 +- .../lib/Target/AArch64/Utils/AArch64BaseInfo.h | 3 +- .../llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.h | 3 + .../lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp | 4 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 53 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h | 8 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 2 + .../Target/AMDGPU/AMDGPUInstructionSelector.cpp | 47 +- .../llvm/lib/Target/AMDGPU/AMDGPUInstructions.td | 76 +- .../llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp | 4 + .../lib/Target/AMDGPU/AMDGPUMachineModuleInfo.h | 4 +- .../llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp | 11 +- .../llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | 13 + .../llvm/lib/Target/AMDGPU/BUFInstructions.td | 27 +- .../llvm/lib/Target/AMDGPU/DSInstructions.td | 77 +- .../llvm/lib/Target/AMDGPU/FLATInstructions.td | 27 +- .../llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp | 175 ++ .../llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp | 127 +- .../llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp | 212 ++ .../llvm/lib/Target/AMDGPU/GCNVOPDUtils.h | 32 + .../AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h | 6 - .../AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp | 1 + .../AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h | 1 + .../AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp | 13 +- .../AMDGPU/MCTargetDesc/R600MCTargetDesc.cpp | 2 + .../Target/AMDGPU/MCTargetDesc/R600MCTargetDesc.h | 1 + .../Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp | 8 +- .../llvm/lib/Target/AMDGPU/R600ISelLowering.cpp | 2 +- .../llvm/lib/Target/AMDGPU/R600ISelLowering.h | 4 +- .../llvm/lib/Target/AMDGPU/R600MCInstLower.cpp | 4 + .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 2 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 19 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.h | 3 + .../llvm/lib/Target/AMDGPU/SIInstrInfo.td | 125 +- .../llvm/lib/Target/AMDGPU/SIInstructions.td | 37 + .../llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp | 1 + .../llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp | 2 +- .../llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp | 6 + .../llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp | 8 +- .../lib/Target/AMDGPU/SIOptimizeExecMasking.cpp | 524 ++--- .../Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp | 15 +- .../llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp | 4 + .../llvm/lib/Target/AMDGPU/SIRegisterInfo.h | 2 + .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | 34 + .../llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h | 14 + .../llvm/lib/Target/AMDGPU/VOP2Instructions.td | 6 +- .../llvm/lib/Target/AMDGPU/VOPCInstructions.td | 2 - .../llvm/lib/Target/AMDGPU/VOPInstructions.td | 6 +- .../llvm/lib/Target/ARC/ARCAsmPrinter.cpp | 3 + .../Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpp | 1 + .../lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.h | 1 + contrib/llvm-project/llvm/lib/Target/ARM/ARM.td | 11 +- .../llvm/lib/Target/ARM/ARMAsmPrinter.cpp | 4 + .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 14 +- .../llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp | 6 +- .../llvm/lib/Target/ARM/ARMTargetTransformInfo.h | 2 +- .../Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp | 1 + .../lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h | 1 + .../lib/Target/ARM/MVEGatherScatterLowering.cpp | 8 +- .../llvm/lib/Target/AVR/AVRAsmPrinter.cpp | 4 + .../Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp | 1 + .../lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.h | 1 + .../lib/Target/BPF/BPFAbstractMemberAccess.cpp | 79 + .../llvm/lib/Target/BPF/BPFAsmPrinter.cpp | 3 + contrib/llvm-project/llvm/lib/Target/BPF/BTF.h | 2 + .../Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp | 15 +- .../Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp | 1 + .../lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h | 1 + .../llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp | 3 + .../llvm/lib/Target/CSKY/CSKYInstrInfo.td | 2 +- .../llvm/lib/Target/CSKY/CSKYInstrInfo16Instr.td | 2 +- .../Target/CSKY/MCTargetDesc/CSKYMCTargetDesc.cpp | 1 + .../Target/CSKY/MCTargetDesc/CSKYMCTargetDesc.h | 1 + .../llvm-project/llvm/lib/Target/DirectX/DXIL.td | 8 +- .../DirectX/DXILWriter/DXILBitcodeWriter.cpp | 4 + .../llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp | 3 + .../lib/Target/Hexagon/HexagonFrameLowering.cpp | 2 +- .../Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp | 3 - .../Hexagon/MCTargetDesc/HexagonMCCodeEmitter.h | 5 - .../Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp | 1 + .../Hexagon/MCTargetDesc/HexagonMCTargetDesc.h | 1 + .../lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp | 4 +- .../llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp | 3 + .../Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp | 1 + .../Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h | 1 + .../lib/Target/LoongArch/LoongArchAsmPrinter.cpp | 3 + .../lib/Target/LoongArch/LoongArchAsmPrinter.h | 4 + .../Target/LoongArch/LoongArchFloat32InstrInfo.td | 52 + .../Target/LoongArch/LoongArchFloat64InstrInfo.td | 54 + .../Target/LoongArch/LoongArchFrameLowering.cpp | 172 +- .../lib/Target/LoongArch/LoongArchFrameLowering.h | 18 + .../lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp | 56 +- .../lib/Target/LoongArch/LoongArchISelDAGToDAG.h | 5 + .../lib/Target/LoongArch/LoongArchISelLowering.cpp | 569 +++++ .../lib/Target/LoongArch/LoongArchISelLowering.h | 26 + .../lib/Target/LoongArch/LoongArchInstrInfo.cpp | 70 +- .../llvm/lib/Target/LoongArch/LoongArchInstrInfo.h | 10 + .../lib/Target/LoongArch/LoongArchInstrInfo.td | 218 +- .../lib/Target/LoongArch/LoongArchMCInstLower.cpp | 33 +- .../lib/Target/LoongArch/LoongArchRegisterInfo.cpp | 24 +- .../Target/LoongArch/LoongArchTargetMachine.cpp | 7 + .../MCTargetDesc/LoongArchMCTargetDesc.cpp | 1 + .../LoongArch/MCTargetDesc/LoongArchMCTargetDesc.h | 1 + .../llvm/lib/Target/M68k/M68kAsmPrinter.cpp | 3 + .../Target/M68k/MCTargetDesc/M68kMCTargetDesc.cpp | 1 + .../Target/M68k/MCTargetDesc/M68kMCTargetDesc.h | 1 + .../MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp | 1 + .../MSP430/MCTargetDesc/MSP430MCTargetDesc.h | 1 + .../llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp | 3 + .../Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp | 1 + .../Target/Mips/MCTargetDesc/MipsMCTargetDesc.h | 1 + .../llvm/lib/Target/Mips/MipsAsmPrinter.cpp | 4 + .../NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp | 1 + .../Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h | 1 + contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTX.h | 1 + .../llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp | 3 + .../llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp | 4 - .../llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp | 2 +- .../llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp | 2 + .../lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp | 2 + .../llvm/lib/Target/NVPTX/NVPTXUtilities.cpp | 54 +- .../PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp | 10 +- .../Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.h | 6 - .../PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp | 1 + .../Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h | 1 + .../llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | 48 +- .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 9 +- .../llvm/lib/Target/PowerPC/PPCISelLowering.h | 1 + .../llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp | 20 +- .../RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp | 10 - .../RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp | 1 + .../Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h | 1 + .../llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp | 3 + .../llvm/lib/Target/RISCV/RISCVFrameLowering.cpp | 17 +- .../llvm/lib/Target/RISCV/RISCVFrameLowering.h | 4 +- .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | 646 +++--- .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h | 13 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 105 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.h | 6 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.td | 1 - .../llvm/lib/Target/RISCV/RISCVInstrInfoV.td | 85 +- .../lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td | 36 +- .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td | 16 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZb.td | 28 +- .../lib/Target/RISCV/RISCVMakeCompressible.cpp | 10 +- .../llvm/lib/Target/RISCV/RISCVScheduleV.td | 28 + .../lib/Target/RISCV/RISCVTargetTransformInfo.h | 4 + .../SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp | 10 - .../SPIRV/MCTargetDesc/SPIRVMCTargetDesc.cpp | 1 + .../Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.h | 1 + .../llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp | 3 + .../llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp | 6 + .../lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp | 95 + .../llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h | 174 ++ .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 52 +- .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h | 41 +- .../lib/Target/SPIRV/SPIRVInstructionSelector.cpp | 34 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | 101 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h | 6 + .../Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp | 15 +- .../Sparc/MCTargetDesc/SparcMCTargetDesc.cpp | 1 + .../Target/Sparc/MCTargetDesc/SparcMCTargetDesc.h | 1 + .../llvm/lib/Target/Sparc/SparcAsmPrinter.cpp | 2 + .../SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp | 17 +- .../SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp | 1 + .../SystemZ/MCTargetDesc/SystemZMCTargetDesc.h | 1 + .../llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp | 3 + .../llvm/lib/Target/SystemZ/SystemZCallingConv.td | 6 +- .../lib/Target/SystemZ/SystemZFrameLowering.cpp | 113 +- .../llvm/lib/Target/TargetLoweringObjectFile.cpp | 7 + .../lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp | 15 +- .../lib/Target/VE/MCTargetDesc/VEMCTargetDesc.cpp | 1 + .../lib/Target/VE/MCTargetDesc/VEMCTargetDesc.h | 1 + .../llvm/lib/Target/VE/VEAsmPrinter.cpp | 2 + .../llvm-project/llvm/lib/Target/VE/VEInstrInfo.td | 8 +- .../llvm/lib/Target/VE/VERegisterInfo.cpp | 203 +- .../llvm/lib/Target/VE/VVPISelLowering.cpp | 2 +- .../AsmParser/WebAssemblyAsmTypeCheck.cpp | 7 +- .../MCTargetDesc/WebAssemblyMCTargetDesc.cpp | 1 + .../MCTargetDesc/WebAssemblyMCTargetDesc.h | 1 + .../TargetInfo/WebAssemblyTargetInfo.cpp | 1 + .../WebAssembly/Utils/WebAssemblyTypeUtilities.cpp | 33 +- .../WebAssembly/Utils/WebAssemblyTypeUtilities.h | 8 +- .../WebAssembly/Utils/WebAssemblyUtilities.cpp | 22 + .../WebAssembly/Utils/WebAssemblyUtilities.h | 4 + .../Target/WebAssembly/WebAssemblyAsmPrinter.cpp | 2 + .../Target/WebAssembly/WebAssemblyCFGStackify.cpp | 22 +- .../Target/WebAssembly/WebAssemblyInstrInfo.cpp | 18 +- .../WebAssemblyLowerEmscriptenEHSjLj.cpp | 2 +- .../Target/WebAssembly/WebAssemblyMCInstLower.cpp | 25 +- .../lib/Target/WebAssembly/WebAssemblyPeephole.cpp | 27 +- .../WebAssemblyRuntimeLibcallSignatures.cpp | 17 +- .../Target/X86/MCTargetDesc/X86InstComments.cpp | 2 +- .../X86/MCTargetDesc/X86InstrRelaxTables.cpp | 8 +- .../Target/X86/MCTargetDesc/X86MCTargetDesc.cpp | 1 + contrib/llvm-project/llvm/lib/Target/X86/X86.h | 4 + contrib/llvm-project/llvm/lib/Target/X86/X86.td | 3 + .../llvm/lib/Target/X86/X86EvexToVex.cpp | 1 + .../llvm/lib/Target/X86/X86ISelLowering.cpp | 193 +- .../llvm/lib/Target/X86/X86InstrCompiler.td | 38 - .../llvm/lib/Target/X86/X86InstrFMA3Info.cpp | 2 +- .../llvm/lib/Target/X86/X86InstrFoldTables.cpp | 8 +- .../llvm/lib/Target/X86/X86InstrInfo.td | 1 + .../llvm/lib/Target/X86/X86InstrSystem.td | 9 + .../llvm/lib/Target/X86/X86IntrinsicsInfo.h | 3 +- .../llvm/lib/Target/X86/X86MCInstLower.cpp | 4 + .../llvm/lib/Target/X86/X86PartialReduction.cpp | 6 +- .../llvm/lib/Target/X86/X86ReturnThunks.cpp | 92 + .../llvm/lib/Target/X86/X86TargetMachine.cpp | 2 + .../XCore/MCTargetDesc/XCoreMCTargetDesc.cpp | 1 + .../Target/XCore/MCTargetDesc/XCoreMCTargetDesc.h | 1 + .../llvm/lib/Target/XCore/XCoreAsmPrinter.cpp | 3 + .../llvm/lib/ToolDrivers/llvm-lib/Options.td | 2 + .../llvm/lib/Transforms/Coroutines/CoroFrame.cpp | 49 +- .../llvm/lib/Transforms/Coroutines/CoroSplit.cpp | 2 +- .../llvm/lib/Transforms/IPO/Attributor.cpp | 12 +- .../lib/Transforms/IPO/AttributorAttributes.cpp | 173 +- .../llvm/lib/Transforms/IPO/GlobalOpt.cpp | 6 +- .../llvm/lib/Transforms/IPO/IROutliner.cpp | 34 +- .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 9 +- .../llvm/lib/Transforms/IPO/PassManagerBuilder.cpp | 177 -- .../lib/Transforms/IPO/SampleContextTracker.cpp | 2 +- .../llvm/lib/Transforms/IPO/SampleProfile.cpp | 4 +- .../Transforms/InstCombine/InstCombineAddSub.cpp | 105 +- .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 13 +- .../InstCombine/InstCombineAtomicRMW.cpp | 8 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 7 +- .../Transforms/InstCombine/InstCombineCasts.cpp | 9 +- *** 91567 LINES SKIPPED *** From nobody Wed Feb 8 19:07:15 2023 X-Original-To: dev-commits-src-main@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 4PBqHq4r6nz3nnk3; Wed, 8 Feb 2023 19:07: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBqHq3vW1z43Cb; Wed, 8 Feb 2023 19:07:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883239; 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=/6418G7ZvkKo4OnOt41UjGm1nvwpm3QyT3CQlX0vT6Q=; b=Lf+8r2OugWn38IGHuUyY6ADVa+vKLMnzipBmBo/fP8fp8zPUoBBpLw9r2k+pUxHSbO1Kfn YJls/8sLEzpKj1uz4QzVzCi+K3FwWMNqtQ4XZNKjJJi51zpkTzv1ZbaIVraYnxQzfBNzmP WgFzkMYE24TOhrmTk1/VTNCsm11Py4oTnkN5j8e1Ekv5d661l2U5Ari1aH9DM5o2rwwgCQ etYgzESaYjOzym8n0kWC4ihSrjDh/7i+7RX9SFxw7zDr1a9n0/3RIqsZMarDLfF0DgEMsf A87bpUfjunQ3CVHku5ySVCTl5zFKG1CpJ6sJXOJFPjeuJScISFsIDykoq2xXyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883239; 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=/6418G7ZvkKo4OnOt41UjGm1nvwpm3QyT3CQlX0vT6Q=; b=GtJCJHnrGv0WooBMKAxR2M2ycxecl8yvc0+QigCxCyt6akDxuuR87NNPmK/gsudynJ/71U DlmfbbwGvqp7FdfVzmoKbqnMojC+A8AiqG2fjC9PIY17Arkx/c/u0K45CpYPKnsBq3xKuN HzvQwJtjkwxbtb4CV3Goffim9iakFfa8/dbId+RejbGG/53Dow41t7kf8/zD74CJBNuLxz XXt3Gchwp2kPpNjcr+FAfdk0+uvXtvtM6mpIet0+oG496CxjJJzjR3l7ceq3nufD6fHjoZ iAWwMHo7GC+FiV/NrnddQFwOjAFBLx6MzYcjju2GF6eRKr/I/WkFZWoffMVuhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675883239; a=rsa-sha256; cv=none; b=AnANUE9JrN13nBDPMsRSYgdLZzjzJa08yTN43uLLUx5IuXaBIQ75D9Tp0px+Yuqr8H6QxY YvCjRS8d8vko5ihBVAuJLRMzQpDQZydxzQRlkFfPi5sEgoavZLfE4cep9WfZSWoWYOxfm/ foQW/mhr2vC0ZxBBUjPNBMK9wzWR2kihMn+JTKXBrB560++5HrWJ10fhLsUdkFy28V3hDM MACLYYv4e+WOZWYUobkBYBKM8KZ4IzzDUpNslqfTgU8uh7zE5/zADoIBOLmSYjiUFjQGJY +SMdjlphu2fXDue6gI06uXTfSr3TFel3pKY/80llZEq4GMFJ9PhKhi2sW2gATQ== 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 4PBqHq30Jqz17Xl; Wed, 8 Feb 2023 19:07:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318J7J62095635; Wed, 8 Feb 2023 19:07:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318J7Ftd095620; Wed, 8 Feb 2023 19:07:15 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:07:15 GMT Message-Id: <202302081907.318J7Ftd095620@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: fcaf7f8644a9 - main - Merge llvm-project main llvmorg-15-init-17485-ga3e38b4a206b List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: fcaf7f8644a9988098ac6be2165bce3ea4786e91 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=fcaf7f8644a9988098ac6be2165bce3ea4786e91 commit fcaf7f8644a9988098ac6be2165bce3ea4786e91 Merge: 753f127f3ace 4b4fe385e49b Author: Dimitry Andric AuthorDate: 2022-07-24 15:11:41 +0000 Commit: Dimitry Andric CommitDate: 2023-02-08 19:04:38 +0000 Merge llvm-project main llvmorg-15-init-17485-ga3e38b4a206b This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-17485-ga3e38b4a206b. PR: 265425 MFC after: 2 weeks .../clang/include/clang/APINotes/Types.h | 2 +- .../clang/include/clang/AST/ASTContext.h | 9 + .../llvm-project/clang/include/clang/AST/Decl.h | 27 +- .../clang/include/clang/AST/DeclBase.h | 10 +- .../clang/include/clang/ASTMatchers/ASTMatchers.h | 33 +- .../clang/Analysis/Analyses/ThreadSafetyTIL.h | 8 +- .../Analysis/FlowSensitive/DataflowAnalysis.h | 6 + .../FlowSensitive/DataflowAnalysisContext.h | 3 + .../Analysis/FlowSensitive/DataflowEnvironment.h | 3 +- .../clang/Analysis/FlowSensitive/DebugSupport.h | 23 +- .../clang/Analysis/FlowSensitive/NoopAnalysis.h | 47 + .../FlowSensitive/TypeErasedDataflowAnalysis.h | 25 +- .../llvm-project/clang/include/clang/Basic/Attr.td | 2 +- .../clang/include/clang/Basic/BuiltinsAMDGPU.def | 25 + .../clang/include/clang/Basic/CodeGenOptions.def | 4 + .../include/clang/Basic/DiagnosticDriverKinds.td | 7 + .../clang/include/clang/Basic/DiagnosticGroups.td | 3 +- .../include/clang/Basic/DiagnosticLexKinds.td | 14 +- .../clang/include/clang/Basic/DiagnosticOptions.h | 2 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 42 +- .../clang/include/clang/Basic/Features.def | 2 +- .../clang/include/clang/Basic/LangOptions.def | 3 +- .../clang/include/clang/Basic/Module.h | 12 + .../clang/include/clang/Basic/NoSanitizeList.h | 2 + .../llvm-project/clang/include/clang/Basic/Sarif.h | 440 ++++ .../clang/include/clang/Driver/Options.h | 3 +- .../clang/include/clang/Driver/Options.td | 49 +- .../clang/include/clang/Format/Format.h | 2 +- .../clang/include/clang/Frontend/FrontendOptions.h | 3 + .../include/clang/Sema/CodeCompleteConsumer.h | 18 + .../llvm-project/clang/include/clang/Sema/Sema.h | 5 + .../Core/PathSensitive/ConstraintManager.h | 3 + .../StaticAnalyzer/Core/PathSensitive/ExprEngine.h | 64 +- .../StaticAnalyzer/Core/PathSensitive/MemRegion.h | 1 + .../Core/PathSensitive/SValBuilder.h | 33 - .../StaticAnalyzer/Core/PathSensitive/SVals.h | 5 + .../DependencyScanning/DependencyScanningTool.h | 4 +- .../DependencyScanning/DependencyScanningWorker.h | 3 +- .../clang/Tooling/Inclusions/IncludeStyle.h | 8 +- .../clang/include/clang/Tooling/Syntax/BuildTree.h | 18 +- .../clang/include/clang/Tooling/Syntax/Mutations.h | 6 +- .../clang/include/clang/Tooling/Syntax/Nodes.h | 7 +- .../clang/Tooling/Syntax/TokenBufferTokenManager.h | 70 + .../include/clang/Tooling/Syntax/TokenManager.h | 47 + .../clang/include/clang/Tooling/Syntax/Tokens.h | 1 - .../clang/include/clang/Tooling/Syntax/Tree.h | 49 +- .../clang/include/clang/module.modulemap | 14 +- contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 5 + contrib/llvm-project/clang/lib/AST/Decl.cpp | 24 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 5 +- contrib/llvm-project/clang/lib/AST/DeclCXX.cpp | 2 +- contrib/llvm-project/clang/lib/AST/DeclPrinter.cpp | 8 +- .../llvm-project/clang/lib/AST/ExprConstant.cpp | 6 + .../llvm-project/clang/lib/AST/TextNodeDumper.cpp | 3 + .../FlowSensitive/DataflowAnalysisContext.cpp | 13 + .../Analysis/FlowSensitive/DataflowEnvironment.cpp | 6 +- .../lib/Analysis/FlowSensitive/DebugSupport.cpp | 83 +- .../clang/lib/Analysis/ThreadSafety.cpp | 11 + .../llvm-project/clang/lib/Basic/MakeSupport.cpp | 2 +- .../clang/lib/Basic/NoSanitizeList.cpp | 5 + contrib/llvm-project/clang/lib/Basic/Sarif.cpp | 389 ++++ .../clang/lib/Basic/Targets/AMDGPU.cpp | 1 + .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 4 +- contrib/llvm-project/clang/lib/CodeGen/ABIInfo.h | 4 - .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 1 + contrib/llvm-project/clang/lib/CodeGen/CGCall.h | 3 - .../llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp | 185 +- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 25 +- .../llvm-project/clang/lib/CodeGen/CGObjCRuntime.h | 3 +- contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp | 7 +- .../clang/lib/CodeGen/CGStmtOpenMP.cpp | 23 +- .../clang/lib/CodeGen/CodeGenFunction.cpp | 2 +- .../clang/lib/CodeGen/CodeGenModule.cpp | 137 +- .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 49 +- .../clang/lib/CodeGen/SwiftCallingConv.cpp | 3 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp | 14 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.h | 4 +- contrib/llvm-project/clang/lib/Driver/Driver.cpp | 36 +- contrib/llvm-project/clang/lib/Driver/Multilib.cpp | 7 +- .../llvm-project/clang/lib/Driver/ToolChain.cpp | 2 + .../clang/lib/Driver/ToolChains/AIX.cpp | 10 +- .../clang/lib/Driver/ToolChains/Ananas.cpp | 2 +- .../clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 12 +- .../clang/lib/Driver/ToolChains/BareMetal.cpp | 2 + .../clang/lib/Driver/ToolChains/Clang.cpp | 103 +- .../clang/lib/Driver/ToolChains/Clang.h | 6 + .../clang/lib/Driver/ToolChains/CloudABI.cpp | 2 + .../clang/lib/Driver/ToolChains/CrossWindows.cpp | 5 +- .../clang/lib/Driver/ToolChains/Darwin.cpp | 30 +- .../clang/lib/Driver/ToolChains/DragonFly.cpp | 2 +- .../clang/lib/Driver/ToolChains/FreeBSD.cpp | 16 +- .../clang/lib/Driver/ToolChains/Fuchsia.cpp | 4 +- .../clang/lib/Driver/ToolChains/Hexagon.cpp | 2 + .../clang/lib/Driver/ToolChains/MipsLinux.cpp | 2 + .../clang/lib/Driver/ToolChains/NaCl.cpp | 2 + .../clang/lib/Driver/ToolChains/NetBSD.cpp | 2 +- .../clang/lib/Driver/ToolChains/OpenBSD.cpp | 11 +- .../clang/lib/Driver/ToolChains/VEToolchain.cpp | 2 + .../clang/lib/Driver/ToolChains/WebAssembly.cpp | 2 + .../clang/lib/ExtractAPI/ExtractAPIConsumer.cpp | 1 + .../clang/lib/Format/ContinuationIndenter.cpp | 11 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 39 +- .../clang/lib/Format/TokenAnnotator.cpp | 13 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 3 +- .../clang/lib/Frontend/FrontendAction.cpp | 3 +- .../clang/lib/Frontend/InitPreprocessor.cpp | 21 +- .../clang/lib/Frontend/TextDiagnostic.cpp | 2 + .../clang/lib/Headers/__clang_cuda_intrinsics.h | 8 +- .../clang/lib/Headers/ppc_wrappers/emmintrin.h | 7 +- .../clang/lib/Headers/ppc_wrappers/mm_malloc.h | 3 +- .../clang/lib/Headers/ppc_wrappers/mmintrin.h | 7 +- .../clang/lib/Headers/ppc_wrappers/pmmintrin.h | 7 +- .../clang/lib/Headers/ppc_wrappers/smmintrin.h | 7 +- .../clang/lib/Headers/ppc_wrappers/tmmintrin.h | 7 +- .../clang/lib/Headers/ppc_wrappers/xmmintrin.h | 7 +- .../llvm-project/clang/lib/Headers/x86gprintrin.h | 28 +- contrib/llvm-project/clang/lib/Lex/Lexer.cpp | 6 +- contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp | 6 +- .../llvm-project/clang/lib/Lex/PPDirectives.cpp | 29 +- contrib/llvm-project/clang/lib/Parse/ParseAST.cpp | 23 + .../clang/lib/Sema/AnalysisBasedWarnings.cpp | 3 +- .../clang/lib/Sema/CodeCompleteConsumer.cpp | 15 +- contrib/llvm-project/clang/lib/Sema/SemaCUDA.cpp | 2 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 49 +- .../clang/lib/Sema/SemaCodeComplete.cpp | 72 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 37 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 11 +- .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 16 +- contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp | 15 +- contrib/llvm-project/clang/lib/Sema/SemaModule.cpp | 10 + .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 6 +- .../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 5 + contrib/llvm-project/clang/lib/Sema/SemaType.cpp | 3 +- .../clang/lib/Serialization/ASTReader.cpp | 502 +++-- .../clang/lib/Serialization/ASTReaderDecl.cpp | 4 + .../clang/lib/Serialization/ASTWriterDecl.cpp | 3 + .../Checkers/ExprInspectionChecker.cpp | 60 +- .../clang/lib/StaticAnalyzer/Core/ExprEngine.cpp | 156 +- .../lib/StaticAnalyzer/Core/ExprEngineCXX.cpp | 77 +- .../Core/ExprEngineCallAndReturn.cpp | 61 +- .../clang/lib/StaticAnalyzer/Core/MemRegion.cpp | 4 + .../StaticAnalyzer/Core/RangeConstraintManager.cpp | 133 +- .../clang/lib/StaticAnalyzer/Core/SValBuilder.cpp | 870 ++++---- .../clang/lib/StaticAnalyzer/Core/SVals.cpp | 10 + .../DependencyScanning/DependencyScanningTool.cpp | 5 +- .../DependencyScanningWorker.cpp | 7 +- .../clang/lib/Tooling/Syntax/BuildTree.cpp | 57 +- .../lib/Tooling/Syntax/ComputeReplacements.cpp | 37 +- .../clang/lib/Tooling/Syntax/Mutations.cpp | 5 +- .../clang/lib/Tooling/Syntax/Nodes.cpp | 2 +- .../clang/lib/Tooling/Syntax/Synthesis.cpp | 34 +- .../lib/Tooling/Syntax/TokenBufferTokenManager.cpp | 25 + .../llvm-project/clang/lib/Tooling/Syntax/Tree.cpp | 52 +- .../llvm-project/clang/tools/driver/cc1_main.cpp | 11 +- .../clang/utils/TableGen/ClangOptionDocEmitter.cpp | 28 + .../compiler-rt/lib/asan/asan_interceptors.cpp | 35 +- .../compiler-rt/lib/asan/asan_interceptors_vfork.S | 1 + .../compiler-rt/lib/asan/asan_internal.h | 1 + .../compiler-rt/lib/asan/asan_linux.cpp | 12 +- .../llvm-project/compiler-rt/lib/asan/asan_mac.cpp | 2 + .../compiler-rt/lib/asan/asan_mapping.h | 9 + .../llvm-project/compiler-rt/lib/asan/asan_win.cpp | 2 + .../compiler-rt/lib/hwasan/hwasan_linux.cpp | 13 +- .../compiler-rt/lib/lsan/lsan_common.cpp | 2 +- .../compiler-rt/lib/memprof/memprof_internal.h | 2 - .../compiler-rt/lib/memprof/memprof_linux.cpp | 6 - contrib/llvm-project/compiler-rt/lib/msan/msan.h | 21 + ...zer_common_interceptors_vfork_loongarch64.inc.S | 63 + .../sanitizer_coverage_interface.inc | 10 + .../sanitizer_coverage_libcdep_new.cpp | 10 + .../sanitizer_interface_internal.h | 20 + .../lib/sanitizer_common/sanitizer_linux.cpp | 104 +- .../sanitizer_common/sanitizer_linux_libcdep.cpp | 52 +- .../lib/sanitizer_common/sanitizer_mac.cpp | 56 + .../lib/sanitizer_common/sanitizer_mac.h | 11 + .../lib/sanitizer_common/sanitizer_platform.h | 6 + .../sanitizer_platform_limits_linux.cpp | 3 +- .../sanitizer_platform_limits_posix.cpp | 6 +- .../sanitizer_platform_limits_posix.h | 13 +- .../sanitizer_procmaps_solaris.cpp | 58 +- .../lib/sanitizer_common/sanitizer_solaris.h | 56 + .../lib/sanitizer_common/sanitizer_stacktrace.cpp | 4 +- .../sanitizer_stoptheworld_mac.cpp | 2 +- .../sanitizer_symbolizer_posix_libcdep.cpp | 1 - .../sanitizer_syscall_linux_loongarch64.inc | 167 ++ .../compiler-rt/lib/tsan/rtl/tsan_dense_alloc.h | 115 +- .../compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp | 59 +- .../compiler-rt/lib/tsan/rtl/tsan_rtl.cpp | 29 +- .../compiler-rt/lib/ubsan/ubsan_value.cpp | 6 +- .../libcxx/include/__algorithm/equal_range.h | 87 +- .../libcxx/include/__algorithm/includes.h | 58 +- .../libcxx/include/__algorithm/inplace_merge.h | 48 +- .../include/__algorithm/iterator_operations.h | 28 +- .../libcxx/include/__algorithm/make_heap.h | 7 +- .../libcxx/include/__algorithm/make_projected.h | 15 + .../libcxx/include/__algorithm/min_element.h | 44 +- .../libcxx/include/__algorithm/nth_element.h | 36 +- .../libcxx/include/__algorithm/partial_sort.h | 71 +- .../libcxx/include/__algorithm/partial_sort_copy.h | 12 +- .../libcxx/include/__algorithm/partition.h | 49 +- .../libcxx/include/__algorithm/pop_heap.h | 17 +- .../libcxx/include/__algorithm/push_heap.h | 17 +- .../include/__algorithm/ranges_equal_range.h | 41 +- .../libcxx/include/__algorithm/ranges_fill.h | 2 +- .../libcxx/include/__algorithm/ranges_find_end.h | 18 +- .../libcxx/include/__algorithm/ranges_for_each_n.h | 1 - .../libcxx/include/__algorithm/ranges_generate_n.h | 1 - .../libcxx/include/__algorithm/ranges_includes.h | 60 +- .../libcxx/include/__algorithm/ranges_is_heap.h | 1 - .../include/__algorithm/ranges_iterator_concept.h | 51 + .../libcxx/include/__algorithm/ranges_make_heap.h | 3 +- .../include/__algorithm/ranges_min_element.h | 1 + .../include/__algorithm/ranges_nth_element.h | 3 +- .../include/__algorithm/ranges_partial_sort.h | 77 + .../libcxx/include/__algorithm/ranges_partition.h | 22 +- .../include/__algorithm/ranges_partition_copy.h | 36 +- .../include/__algorithm/ranges_partition_point.h | 37 +- .../libcxx/include/__algorithm/ranges_pop_heap.h | 3 +- .../libcxx/include/__algorithm/ranges_push_heap.h | 3 +- .../libcxx/include/__algorithm/ranges_set_union.h | 84 +- .../libcxx/include/__algorithm/ranges_shuffle.h | 49 +- .../libcxx/include/__algorithm/ranges_sort.h | 3 +- .../libcxx/include/__algorithm/ranges_sort_heap.h | 3 +- .../include/__algorithm/ranges_stable_partition.h | 25 +- .../include/__algorithm/ranges_stable_sort.h | 3 +- .../libcxx/include/__algorithm/rotate.h | 85 +- .../libcxx/include/__algorithm/search_n.h | 2 +- .../libcxx/include/__algorithm/set_union.h | 102 +- .../libcxx/include/__algorithm/shuffle.h | 25 +- .../libcxx/include/__algorithm/sift_down.h | 13 +- .../llvm-project/libcxx/include/__algorithm/sort.h | 268 ++- .../libcxx/include/__algorithm/sort_heap.h | 12 +- .../libcxx/include/__algorithm/stable_partition.h | 95 +- .../libcxx/include/__algorithm/stable_sort.h | 75 +- .../libcxx/include/__algorithm/unwrap_iter.h | 76 +- .../libcxx/include/__algorithm/upper_bound.h | 64 +- contrib/llvm-project/libcxx/include/__config | 25 +- .../libcxx/include/__debug_utils/randomize_range.h | 7 +- .../__format/extended_grapheme_cluster_table.h | 332 +++ .../libcxx/include/__format/formatter_integral.h | 2 +- .../libcxx/include/__format/formatter_output.h | 111 +- .../libcxx/include/__format/formatter_string.h | 4 +- .../include/__format/parser_std_format_spec.h | 664 ++---- .../llvm-project/libcxx/include/__format/unicode.h | 339 +++ .../libcxx/include/__iterator/reverse_iterator.h | 39 +- contrib/llvm-project/libcxx/include/__locale | 9 +- .../include/__random/binomial_distribution.h | 2 +- .../include/__random/discrete_distribution.h | 2 +- .../include/__random/geometric_distribution.h | 2 +- .../libcxx/include/__random/is_valid.h | 7 +- .../__random/negative_binomial_distribution.h | 8 +- .../libcxx/include/__random/poisson_distribution.h | 2 +- .../include/__random/uniform_int_distribution.h | 2 +- contrib/llvm-project/libcxx/include/algorithm | 122 ++ contrib/llvm-project/libcxx/include/bit | 3 - contrib/llvm-project/libcxx/include/format | 3 +- contrib/llvm-project/libcxx/include/limits | 4 - .../libcxx/include/module.modulemap.in | 46 +- contrib/llvm-project/libcxx/include/ostream | 84 + contrib/llvm-project/libcxx/include/version | 4 +- .../llvm-project/libunwind/src/UnwindCursor.hpp | 10 +- contrib/llvm-project/lld/COFF/Chunks.cpp | 3 +- contrib/llvm-project/lld/COFF/DLL.cpp | 8 +- contrib/llvm-project/lld/COFF/DebugTypes.cpp | 3 +- contrib/llvm-project/lld/COFF/DriverUtils.cpp | 10 +- contrib/llvm-project/lld/COFF/PDB.cpp | 18 +- contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 82 +- contrib/llvm-project/lld/ELF/Driver.cpp | 27 +- contrib/llvm-project/lld/ELF/InputFiles.cpp | 37 +- contrib/llvm-project/lld/ELF/InputFiles.h | 10 +- contrib/llvm-project/lld/ELF/LTO.cpp | 4 +- contrib/llvm-project/lld/ELF/SyntheticSections.cpp | 8 +- contrib/llvm-project/lld/ELF/Writer.cpp | 4 +- contrib/llvm-project/lld/MachO/Arch/ARM.cpp | 34 +- contrib/llvm-project/lld/MachO/Arch/ARM64.cpp | 42 +- contrib/llvm-project/lld/MachO/Arch/ARM64_32.cpp | 39 +- contrib/llvm-project/lld/MachO/Arch/X86_64.cpp | 36 +- contrib/llvm-project/lld/MachO/Config.h | 11 +- contrib/llvm-project/lld/MachO/Driver.cpp | 138 +- contrib/llvm-project/lld/MachO/ICF.cpp | 31 +- contrib/llvm-project/lld/MachO/ICF.h | 2 +- contrib/llvm-project/lld/MachO/InputFiles.cpp | 74 +- contrib/llvm-project/lld/MachO/InputFiles.h | 1 + contrib/llvm-project/lld/MachO/InputSection.cpp | 5 + contrib/llvm-project/lld/MachO/InputSection.h | 3 +- contrib/llvm-project/lld/MachO/LTO.cpp | 25 +- contrib/llvm-project/lld/MachO/Options.td | 1 - .../llvm-project/lld/MachO/SectionPriorities.cpp | 2 +- contrib/llvm-project/lld/MachO/SymbolTable.cpp | 7 + contrib/llvm-project/lld/MachO/SymbolTable.h | 2 + .../llvm-project/lld/MachO/SyntheticSections.cpp | 235 ++- contrib/llvm-project/lld/MachO/SyntheticSections.h | 23 + contrib/llvm-project/lld/MachO/Target.h | 11 +- .../llvm-project/lld/MachO/UnwindInfoSection.cpp | 2 +- contrib/llvm-project/lld/MachO/Writer.cpp | 5 + .../lldb/include/lldb/Core/EmulateInstruction.h | 2 +- .../include/lldb/DataFormatters/TypeCategory.h | 2 +- .../include/lldb/DataFormatters/TypeSynthetic.h | 2 +- .../lldb/include/lldb/Expression/Materializer.h | 22 + .../lldb/include/lldb/Expression/UserExpression.h | 17 + .../lldb/include/lldb/Interpreter/CommandObject.h | 11 +- .../lldb/Interpreter/CommandOptionArgumentTable.h | 334 +++ .../lldb/include/lldb/Symbol/SymbolFile.h | 2 +- .../lldb/include/lldb/Target/MemoryRegionInfo.h | 2 +- .../llvm-project/lldb/include/lldb/Target/Target.h | 6 - .../lldb/Utility/StringExtractorGDBRemote.h | 1 + .../lldb/include/lldb/lldb-enumerations.h | 2 + .../lldb/include/lldb/lldb-private-enumerations.h | 23 + .../lldb/include/lldb/lldb-private-types.h | 6 + .../llvm-project/lldb/source/API/SBBreakpoint.cpp | 3 +- .../lldb/source/API/SBMemoryRegionInfo.cpp | 6 +- .../source/Commands/CommandObjectBreakpoint.cpp | 1 + .../Commands/CommandObjectBreakpointCommand.cpp | 31 +- .../lldb/source/Commands/CommandObjectCommands.cpp | 24 +- .../source/Commands/CommandObjectDisassemble.cpp | 1 + .../source/Commands/CommandObjectExpression.cpp | 18 +- .../lldb/source/Commands/CommandObjectFrame.cpp | 5 +- .../lldb/source/Commands/CommandObjectHelp.cpp | 1 + .../lldb/source/Commands/CommandObjectLog.cpp | 31 +- .../lldb/source/Commands/CommandObjectMemory.cpp | 5 +- .../source/Commands/CommandObjectMemoryTag.cpp | 1 + .../lldb/source/Commands/CommandObjectPlatform.cpp | 1 + .../lldb/source/Commands/CommandObjectProcess.cpp | 17 +- .../lldb/source/Commands/CommandObjectRegister.cpp | 1 + .../source/Commands/CommandObjectReproducer.cpp | 87 +- .../lldb/source/Commands/CommandObjectScript.cpp | 23 +- .../lldb/source/Commands/CommandObjectSession.cpp | 1 + .../lldb/source/Commands/CommandObjectSettings.cpp | 1 + .../lldb/source/Commands/CommandObjectSource.cpp | 1 + .../lldb/source/Commands/CommandObjectStats.cpp | 1 + .../lldb/source/Commands/CommandObjectTarget.cpp | 53 +- .../lldb/source/Commands/CommandObjectThread.cpp | 23 +- .../lldb/source/Commands/CommandObjectTrace.cpp | 1 + .../lldb/source/Commands/CommandObjectType.cpp | 75 +- .../source/Commands/CommandObjectWatchpoint.cpp | 1 + .../Commands/CommandObjectWatchpointCommand.cpp | 31 +- .../source/Commands/CommandOptionArgumentTable.cpp | 313 +++ .../Commands/CommandOptionsProcessLaunch.cpp | 2 + .../llvm-project/lldb/source/Commands/Options.td | 26 +- .../lldb/source/Commands/OptionsBase.td | 6 +- .../lldb/source/Core/DumpDataExtractor.cpp | 4 +- .../lldb/source/Core/ValueObjectChild.cpp | 6 +- .../lldb/source/Expression/DWARFExpression.cpp | 18 +- .../lldb/source/Expression/Materializer.cpp | 233 ++- .../lldb/source/Expression/UserExpression.cpp | 16 +- .../llvm-project/lldb/source/Host/common/File.cpp | 10 +- .../lldb/source/Host/common/Terminal.cpp | 4 +- .../lldb/source/Interpreter/CommandObject.cpp | 438 +--- .../lldb/source/Interpreter/OptionValueArray.cpp | 2 +- .../source/Interpreter/OptionValueFileSpecList.cpp | 2 +- .../source/Interpreter/OptionValuePathMappings.cpp | 2 +- .../lldb/source/Plugins/ABI/X86/ABIX86.cpp | 4 +- .../Disassembler/LLVMC/DisassemblerLLVMC.cpp | 6 +- .../Hexagon-DYLD/HexagonDYLDRendezvous.cpp | 4 + .../Clang/ASTResultSynthesizer.cpp | 27 +- .../ExpressionParser/Clang/ClangASTSource.cpp | 7 +- .../Clang/ClangExpressionDeclMap.cpp | 173 +- .../Clang/ClangExpressionDeclMap.h | 31 + .../Clang/ClangExpressionSourceCode.cpp | 54 +- .../Clang/ClangExpressionSourceCode.h | 16 +- .../ExpressionParser/Clang/ClangExpressionUtil.cpp | 27 + .../ExpressionParser/Clang/ClangExpressionUtil.h | 30 + .../Clang/ClangExpressionVariable.h | 8 +- .../ExpressionParser/Clang/ClangUserExpression.cpp | 38 +- .../ExpressionParser/Clang/ClangUserExpression.h | 4 + .../Instruction/ARM/EmulateInstructionARM.h | 3 +- .../Language/CPlusPlus/CPlusPlusLanguage.cpp | 18 +- .../Language/CPlusPlus/CPlusPlusNameParser.cpp | 12 +- .../Plugins/Language/CPlusPlus/LibCxxList.cpp | 10 +- .../Plugins/Language/CPlusPlus/LibCxxMap.cpp | 4 +- .../source/Plugins/Language/ObjC/CFBasicHash.h | 2 +- .../source/Plugins/Language/ObjC/NSDictionary.cpp | 2 +- .../lldb/source/Plugins/Language/ObjC/NSError.cpp | 2 +- .../lldb/source/Plugins/Language/ObjC/NSSet.cpp | 2 +- .../AppleObjCRuntime/AppleObjCClassDescriptorV2.h | 12 +- .../AppleObjCTrampolineHandler.cpp | 9 +- .../RenderScriptRuntime/RenderScriptRuntime.cpp | 4 +- .../RenderScriptRuntime/RenderScriptRuntime.h | 3 +- .../Plugins/ObjectFile/ELF/ObjectFileELF.cpp | 5 +- .../ObjectFile/Minidump/MinidumpFileBuilder.cpp | 1 + .../Process/Utility/RegisterContextPOSIX_x86.cpp | 1 + .../Process/Utility/RegisterInfoPOSIX_arm64.cpp | 8 +- .../Process/gdb-remote/GDBRemoteCommunication.cpp | 6 +- .../GDBRemoteCommunicationServerLLGS.cpp | 333 ++- .../gdb-remote/GDBRemoteCommunicationServerLLGS.h | 25 +- .../Process/gdb-remote/ProcessGDBRemote.cpp | 10 +- .../Python/ScriptInterpreterPython.cpp | 6 +- .../SymbolFile/DWARF/DWARFASTParserClang.cpp | 81 +- .../Plugins/SymbolFile/DWARF/DWARFASTParserClang.h | 16 + .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | 7 +- .../Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp | 34 + .../intel-pt/CommandObjectTraceStartIntelPT.cpp | 1 + .../ctf/CommandObjectThreadTraceExportCTF.cpp | 1 + .../Plugins/TypeSystem/Clang/TypeSystemClang.cpp | 2 +- .../InstEmulation/UnwindAssemblyInstEmulation.h | 4 +- .../x86/x86AssemblyInspectionEngine.cpp | 5 +- .../lldb/source/Symbol/ArmUnwindInfo.cpp | 2 +- .../lldb/source/Symbol/CompileUnit.cpp | 2 +- contrib/llvm-project/lldb/source/Symbol/Symtab.cpp | 2 +- .../lldb/source/Target/DynamicRegisterInfo.cpp | 2 +- contrib/llvm-project/lldb/source/Target/Target.cpp | 2 +- .../llvm-project/lldb/source/Target/TargetList.cpp | 3 +- contrib/llvm-project/lldb/source/Target/Thread.cpp | 3 +- .../lldb/source/Target/UnixSignals.cpp | 7 +- .../lldb/source/Utility/ReproducerProvider.cpp | 2 +- .../lldb/source/Utility/SelectHelper.cpp | 4 +- .../source/Utility/StringExtractorGDBRemote.cpp | 2 + contrib/llvm-project/lldb/source/Utility/Timer.cpp | 2 +- .../lldb/utils/TableGen/LLDBOptionDefEmitter.cpp | 8 +- contrib/llvm-project/llvm/include/llvm/ADT/APInt.h | 4 +- .../llvm-project/llvm/include/llvm/ADT/APSInt.h | 4 +- .../llvm/include/llvm/ADT/AddressRanges.h | 82 +- .../llvm-project/llvm/include/llvm/ADT/BitVector.h | 4 +- .../llvm/include/llvm/ADT/EpochTracker.h | 6 +- .../llvm/include/llvm/ADT/IntEqClasses.h | 4 +- .../llvm-project/llvm/include/llvm/ADT/Triple.h | 14 +- .../llvm/Analysis/FunctionPropertiesAnalysis.h | 1 - .../llvm/include/llvm/Analysis/IVDescriptors.h | 3 - .../llvm/include/llvm/Analysis/LoopCacheAnalysis.h | 5 +- .../llvm/include/llvm/Analysis/LoopInfo.h | 15 +- .../llvm/include/llvm/Analysis/MemoryBuiltins.h | 39 +- .../llvm/include/llvm/Analysis/MemoryProfileInfo.h | 112 + .../llvm/include/llvm/Analysis/ScalarEvolution.h | 6 +- .../llvm/include/llvm/Analysis/SparsePropagation.h | 4 +- .../include/llvm/Analysis/TargetTransformInfo.h | 20 +- .../llvm/Analysis/TargetTransformInfoImpl.h | 2 +- .../llvm/include/llvm/BinaryFormat/XCOFF.h | 1 + .../include/llvm/CodeGen/BasicBlockSectionUtils.h | 2 + .../llvm/CodeGen/BasicBlockSectionsProfileReader.h | 6 +- .../llvm/include/llvm/CodeGen/BasicTTIImpl.h | 4 +- .../llvm/include/llvm/CodeGen/CallingConvLower.h | 4 +- .../include/llvm/CodeGen/GlobalISel/IRTranslator.h | 1 + .../llvm/include/llvm/CodeGen/GlobalISel/Utils.h | 1 - .../llvm/include/llvm/CodeGen/ISDOpcodes.h | 6 + .../llvm/include/llvm/CodeGen/LiveIntervals.h | 7 +- .../llvm/include/llvm/CodeGen/LiveRangeEdit.h | 14 +- .../llvm/include/llvm/CodeGen/LiveVariables.h | 6 +- .../llvm/include/llvm/CodeGen/MachineInstr.h | 7 +- .../llvm/include/llvm/CodeGen/MachineModuleInfo.h | 1 - .../llvm/include/llvm/CodeGen/MachinePipeliner.h | 4 +- .../llvm/include/llvm/CodeGen/Passes.h | 1 - .../llvm/include/llvm/CodeGen/RegisterScavenging.h | 12 +- .../llvm/include/llvm/CodeGen/ScheduleDAG.h | 5 +- .../llvm/include/llvm/CodeGen/SelectionDAG.h | 6 +- .../llvm/include/llvm/CodeGen/SelectionDAGISel.h | 4 + .../llvm/include/llvm/CodeGen/TargetInstrInfo.h | 13 +- .../llvm/include/llvm/CodeGen/TargetLowering.h | 10 +- .../llvm/include/llvm/DWARFLinker/DWARFLinker.h | 22 +- .../llvm/DWARFLinker/DWARFLinkerCompileUnit.h | 26 +- .../llvm/include/llvm/DWARFLinker/DWARFStreamer.h | 2 +- .../llvm/DebugInfo/CodeView/CodeViewRegisters.def | 76 +- .../llvm/include/llvm/DebugInfo/Symbolize/Markup.h | 4 + .../llvm/DebugInfo/Symbolize/MarkupFilter.h | 98 +- .../llvm/include/llvm/Debuginfod/HTTPServer.h | 6 +- .../llvm/include/llvm/Demangle/ItaniumDemangle.h | 6 +- .../llvm/include/llvm/Demangle/StringView.h | 4 +- .../llvm/include/llvm/Demangle/Utility.h | 4 +- .../Orc/MapperJITLinkMemoryManager.h | 56 + .../llvm/ExecutionEngine/Orc/MemoryMapper.h | 60 +- .../llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h | 21 + .../Orc/Shared/SimplePackedSerialization.h | 9 +- .../Orc/Shared/TargetProcessControlTypes.h | 61 +- .../ExecutorSharedMemoryMapperService.h | 78 + .../llvm/Frontend/Directive/DirectiveBase.td | 12 + .../llvm/include/llvm/Frontend/OpenACC/ACC.td | 7 + .../include/llvm/Frontend/OpenMP/OMPIRBuilder.h | 9 + .../llvm/include/llvm/Frontend/OpenMP/OMPKinds.def | 5 +- .../llvm/include/llvm/IR/FixedMetadataKinds.def | 2 + .../llvm/include/llvm/IR/GlobalIFunc.h | 6 + .../llvm-project/llvm/include/llvm/IR/IRBuilder.h | 2 +- .../llvm-project/llvm/include/llvm/IR/InlineAsm.h | 5 +- .../llvm/include/llvm/IR/Instruction.h | 15 - .../llvm/include/llvm/IR/Instructions.h | 7 +- .../llvm/include/llvm/IR/IntrinsicInst.h | 2 +- .../llvm/include/llvm/IR/Intrinsics.td | 14 +- .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 78 + .../llvm/include/llvm/IR/IntrinsicsSPIRV.td | 3 +- .../llvm-project/llvm/include/llvm/IR/Metadata.h | 6 +- .../llvm/include/llvm/IR/PatternMatch.h | 18 +- .../llvm-project/llvm/include/llvm/IR/Statepoint.h | 1 - .../llvm/include/llvm/InitializePasses.h | 13 - .../llvm-project/llvm/include/llvm/LinkAllPasses.h | 5 - .../llvm-project/llvm/include/llvm/MC/MCContext.h | 2 - .../llvm/include/llvm/MC/MCDXContainerStreamer.h | 2 - .../llvm/include/llvm/MC/MCMachObjectWriter.h | 4 +- .../llvm/include/llvm/MC/MCSPIRVStreamer.h | 2 - .../llvm/include/llvm/MC/MCTargetOptions.h | 1 - .../llvm/include/llvm/Object/Archive.h | 2 +- .../llvm/include/llvm/Object/DXContainer.h | 2 +- .../llvm/include/llvm/Object/Decompressor.h | 12 - .../llvm-project/llvm/include/llvm/Object/ELF.h | 31 +- .../llvm/include/llvm/Object/ELFObjectFile.h | 2 + .../llvm/include/llvm/Object/OffloadBinary.h | 6 +- .../llvm/include/llvm/ObjectYAML/OffloadYAML.h | 2 +- .../include/llvm/Passes/StandardInstrumentations.h | 6 +- .../include/llvm/ProfileData/InstrProfReader.h | 11 +- .../llvm/include/llvm/ProfileData/SampleProf.h | 18 +- .../include/llvm/Support/AMDHSAKernelDescriptor.h | 3 +- .../llvm/include/llvm/Support/Casting.h | 2 +- .../llvm/include/llvm/Support/Compression.h | 23 +- .../include/llvm/Support/DivisionByConstantInfo.h | 8 +- .../llvm-project/llvm/include/llvm/Support/JSON.h | 106 +- .../llvm/include/llvm/Support/SpecialCaseList.h | 7 +- .../llvm/include/llvm/Support/VirtualFileSystem.h | 1 - .../llvm/include/llvm/TableGen/DirectiveEmitter.h | 10 + .../llvm/include/llvm/TableGen/Record.h | 10 +- .../llvm/include/llvm/Target/TargetCallingConv.td | 9 + .../llvm/include/llvm/Target/TargetSelectionDAG.td | 3 + .../llvm/include/llvm/Transforms/IPO.h | 40 - .../llvm/include/llvm/Transforms/IPO/Attributor.h | 165 +- .../llvm/Transforms/IPO/PassManagerBuilder.h | 16 - .../llvm/Transforms/IPO/ProfiledCallGraph.h | 4 +- .../llvm/Transforms/InstCombine/InstCombiner.h | 2 +- .../llvm/include/llvm/Transforms/Instrumentation.h | 10 - .../Transforms/Instrumentation/AddressSanitizer.h | 5 - .../Instrumentation/HWAddressSanitizer.h | 1 - .../Transforms/Instrumentation/MemorySanitizer.h | 1 - .../Transforms/Instrumentation/SanitizerCoverage.h | 11 +- .../Transforms/Instrumentation/ThreadSanitizer.h | 1 - .../llvm/include/llvm/Transforms/Scalar.h | 4 - .../llvm/include/llvm/Transforms/Utils.h | 16 - .../include/llvm/Transforms/Utils/LowerAtomic.h | 6 +- .../llvm/include/llvm/Transforms/Utils/MisExpect.h | 5 + .../Transforms/Utils/ScalarEvolutionExpander.h | 23 +- .../llvm/include/llvm/WindowsDriver/MSVCPaths.h | 4 +- .../llvm/lib/Analysis/AliasSetTracker.cpp | 2 +- .../llvm/lib/Analysis/BasicAliasAnalysis.cpp | 2 +- .../llvm/lib/Analysis/BranchProbabilityInfo.cpp | 2 +- contrib/llvm-project/llvm/lib/Analysis/CFG.cpp | 2 +- .../llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp | 2 +- contrib/llvm-project/llvm/lib/Analysis/CFLGraph.h | 3 +- .../llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp | 2 +- .../llvm/lib/Analysis/ConstraintSystem.cpp | 2 +- .../llvm-project/llvm/lib/Analysis/CostModel.cpp | 26 +- contrib/llvm-project/llvm/lib/Analysis/DDG.cpp | 4 +- .../llvm/lib/Analysis/Delinearization.cpp | 2 +- .../llvm/lib/Analysis/DivergenceAnalysis.cpp | 8 +- .../llvm/lib/Analysis/GlobalsModRef.cpp | 4 +- .../llvm/lib/Analysis/IVDescriptors.cpp | 16 +- contrib/llvm-project/llvm/lib/Analysis/IVUsers.cpp | 2 +- .../lib/Analysis/InstructionPrecedenceTracking.cpp | 4 +- .../llvm/lib/Analysis/LazyValueInfo.cpp | 6 +- .../llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp | 4 +- contrib/llvm-project/llvm/lib/Analysis/Lint.cpp | 2 +- .../llvm/lib/Analysis/LoopAccessAnalysis.cpp | 184 +- .../llvm/lib/Analysis/LoopCacheAnalysis.cpp | 29 +- .../llvm-project/llvm/lib/Analysis/LoopInfo.cpp | 19 +- .../llvm/lib/Analysis/MemoryBuiltins.cpp | 125 +- .../llvm/lib/Analysis/MemoryDependenceAnalysis.cpp | 10 +- .../llvm/lib/Analysis/MemoryProfileInfo.cpp | 226 ++ .../llvm/lib/Analysis/MemorySSAUpdater.cpp | 16 +- .../llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp | 2 +- .../llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | 32 +- .../llvm-project/llvm/lib/Analysis/MustExecute.cpp | 18 +- .../llvm/lib/Analysis/ScalarEvolution.cpp | 139 +- .../llvm/lib/Analysis/StackLifetime.cpp | 2 +- .../llvm/lib/Analysis/StackSafetyAnalysis.cpp | 20 +- .../llvm/lib/Analysis/TargetTransformInfo.cpp | 10 +- .../llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp | 5 +- .../llvm/lib/Analysis/ValueTracking.cpp | 12 +- .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 4 +- .../lib/BinaryFormat/AMDGPUMetadataVerifier.cpp | 3 + .../llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 55 + .../llvm/lib/Bitcode/Reader/MetadataLoader.cpp | 27 +- .../llvm/lib/Bitcode/Reader/ValueList.h | 1 - .../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 5 +- .../llvm/lib/Bitcode/Writer/ValueEnumerator.cpp | 2 +- .../llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp | 12 +- .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 55 +- .../lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp | 2 +- .../llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp | 2 +- .../AsmPrinter/DbgEntityHistoryCalculator.cpp | 4 +- .../lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp | 2 +- .../lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp | 6 +- .../llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 6 +- .../llvm/lib/CodeGen/AtomicExpandPass.cpp | 6 +- .../llvm/lib/CodeGen/BasicBlockSections.cpp | 8 +- .../llvm/lib/CodeGen/CalcSpillWeights.cpp | 4 +- .../llvm/lib/CodeGen/CodeGenPrepare.cpp | 48 +- .../llvm/lib/CodeGen/DFAPacketizer.cpp | 2 +- .../llvm/lib/CodeGen/EarlyIfConversion.cpp | 10 +- .../llvm/lib/CodeGen/ExpandVectorPredication.cpp | 87 +- .../llvm-project/llvm/lib/CodeGen/FaultMaps.cpp | 2 +- .../llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp | 2 +- .../llvm/lib/CodeGen/GlobalISel/CallLowering.cpp | 4 +- .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 20 +- .../llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 89 +- .../lib/CodeGen/GlobalISel/InlineAsmLowering.cpp | 5 +- .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 30 +- .../llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp | 6 +- .../lib/CodeGen/GlobalISel/MachineIRBuilder.cpp | 2 +- .../llvm/lib/CodeGen/GlobalISel/Utils.cpp | 2 +- .../llvm/lib/CodeGen/HardwareLoops.cpp | 6 +- .../llvm/lib/CodeGen/ImplicitNullChecks.cpp | 2 +- .../llvm/lib/CodeGen/InlineSpiller.cpp | 22 +- .../llvm/lib/CodeGen/InterleavedAccessPass.cpp | 2 +- .../lib/CodeGen/InterleavedLoadCombinePass.cpp | 8 +- .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 49 +- .../CodeGen/LiveDebugValues/VarLocBasedImpl.cpp | 6 +- .../llvm/lib/CodeGen/LiveDebugVariables.cpp | 2 +- .../llvm/lib/CodeGen/LiveIntervals.cpp | 13 +- .../llvm/lib/CodeGen/LiveRangeEdit.cpp | 23 +- .../llvm/lib/CodeGen/LiveVariables.cpp | 3 +- .../llvm-project/llvm/lib/CodeGen/LowerEmuTLS.cpp | 2 +- .../llvm/lib/CodeGen/MIRCanonicalizerPass.cpp | 4 +- .../llvm/lib/CodeGen/MIRParser/MIParser.cpp | 2 +- .../llvm/lib/CodeGen/MIRParser/MIRParser.cpp | 4 +- .../llvm/lib/CodeGen/MLRegallocEvictAdvisor.cpp | 8 +- .../llvm/lib/CodeGen/MachineBasicBlock.cpp | 2 +- .../llvm/lib/CodeGen/MachineBlockPlacement.cpp | 8 +- .../llvm-project/llvm/lib/CodeGen/MachineCSE.cpp | 2 +- .../llvm/lib/CodeGen/MachineCombiner.cpp | 49 +- .../llvm/lib/CodeGen/MachineFrameInfo.cpp | 2 +- .../llvm/lib/CodeGen/MachineFunction.cpp | 4 +- .../llvm/lib/CodeGen/MachineFunctionSplitter.cpp | 2 +- .../llvm-project/llvm/lib/CodeGen/MachineInstr.cpp | 12 +- .../llvm-project/llvm/lib/CodeGen/MachineLICM.cpp | 17 +- .../llvm/lib/CodeGen/MachinePipeliner.cpp | 24 +- .../llvm/lib/CodeGen/MachineScheduler.cpp | 2 +- .../llvm-project/llvm/lib/CodeGen/MachineSink.cpp | 2 +- .../llvm/lib/CodeGen/MachineStableHash.cpp | 4 +- .../llvm/lib/CodeGen/MachineTraceMetrics.cpp | 4 +- .../llvm/lib/CodeGen/MachineVerifier.cpp | 4 +- contrib/llvm-project/llvm/lib/CodeGen/RDFGraph.cpp | 4 +- .../llvm-project/llvm/lib/CodeGen/RDFLiveness.cpp | 12 +- .../llvm/lib/CodeGen/ReachingDefAnalysis.cpp | 2 +- .../llvm-project/llvm/lib/CodeGen/RegAllocBase.cpp | 2 +- .../llvm/lib/CodeGen/RegAllocBasic.cpp | 1 + .../llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp | 7 +- .../llvm/lib/CodeGen/RegAllocGreedy.cpp | 16 +- .../llvm-project/llvm/lib/CodeGen/RegAllocGreedy.h | 3 - .../llvm-project/llvm/lib/CodeGen/RegAllocPBQP.cpp | 2 +- .../llvm/lib/CodeGen/RegAllocScore.cpp | 5 +- .../llvm-project/llvm/lib/CodeGen/RegAllocScore.h | 4 +- .../llvm/lib/CodeGen/RegisterCoalescer.cpp | 4 +- .../llvm/lib/CodeGen/RegisterPressure.cpp | 6 +- .../llvm-project/llvm/lib/CodeGen/SafeStack.cpp | 4 +- .../llvm/lib/CodeGen/ScheduleDAGInstrs.cpp | 8 +- .../llvm/lib/CodeGen/SelectOptimize.cpp | 2 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 327 +-- .../llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 12 +- .../CodeGen/SelectionDAG/LegalizeFloatTypes.cpp | 18 + .../CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp | 140 +- .../llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h | 5 + .../lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp | 24 + .../lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp | 2 +- .../CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp | 2 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 131 +- .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 128 +- .../CodeGen/SelectionDAG/SelectionDAGDumper.cpp | 2 + .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 95 +- .../CodeGen/SelectionDAG/StatepointLowering.cpp | 42 +- .../lib/CodeGen/SelectionDAG/TargetLowering.cpp | 114 +- .../llvm-project/llvm/lib/CodeGen/SlotIndexes.cpp | 11 +- contrib/llvm-project/llvm/lib/CodeGen/SplitKit.cpp | 14 +- contrib/llvm-project/llvm/lib/CodeGen/SplitKit.h | 7 +- .../llvm-project/llvm/lib/CodeGen/StackMaps.cpp | 2 +- .../llvm/lib/CodeGen/SwiftErrorValueTracking.cpp | 2 +- .../llvm/lib/CodeGen/TailDuplicator.cpp | 2 +- .../llvm/lib/CodeGen/TargetInstrInfo.cpp | 4 +- .../llvm/lib/CodeGen/TargetLoweringBase.cpp | 2 +- .../llvm/lib/CodeGen/TwoAddressInstructionPass.cpp | 6 +- .../llvm/lib/CodeGen/TypePromotion.cpp | 6 +- .../llvm/lib/CodeGen/VLIWMachineScheduler.cpp | 2 +- .../llvm/lib/DWARFLinker/DWARFLinker.cpp | 64 +- .../lib/DWARFLinker/DWARFLinkerCompileUnit.cpp | 6 +- .../llvm/lib/DWARFLinker/DWARFStreamer.cpp | 20 +- contrib/llvm-project/llvm/lib/DWP/DWP.cpp | 19 +- .../lib/DebugInfo/CodeView/TypeRecordMapping.cpp | 6 +- .../llvm/lib/DebugInfo/DWARF/DWARFContext.cpp | 2 +- .../llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp | 4 - .../llvm/lib/DebugInfo/Symbolize/Markup.cpp | 3 + .../llvm/lib/DebugInfo/Symbolize/MarkupFilter.cpp | 389 +++- .../JITLink/COFFLinkGraphBuilder.cpp | 2 +- .../JITLink/DWARFRecordSectionSplitter.cpp | 2 +- .../Orc/JITTargetMachineBuilder.cpp | 4 + .../Orc/MapperJITLinkMemoryManager.cpp | 135 ++ .../llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp | 254 +++ .../lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp | 15 + .../ExecutorSharedMemoryMapperService.cpp | 341 ++++ .../TargetProcess/SimpleExecutorMemoryManager.cpp | 3 +- .../llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp | 31 +- contrib/llvm-project/llvm/lib/IR/Function.cpp | 2 + contrib/llvm-project/llvm/lib/IR/GCStrategy.cpp | 5 +- contrib/llvm-project/llvm/lib/IR/Globals.cpp | 37 +- contrib/llvm-project/llvm/lib/IR/InlineAsm.cpp | 20 +- contrib/llvm-project/llvm/lib/IR/Instructions.cpp | 13 +- contrib/llvm-project/llvm/lib/IR/IntrinsicInst.cpp | 22 +- contrib/llvm-project/llvm/lib/IR/Verifier.cpp | 110 +- contrib/llvm-project/llvm/lib/Linker/IRMover.cpp | 32 +- .../llvm-project/llvm/lib/MC/ELFObjectWriter.cpp | 82 +- contrib/llvm-project/llvm/lib/MC/MCContext.cpp | 18 - .../llvm-project/llvm/lib/MC/MCMachOStreamer.cpp | 18 +- .../llvm/lib/MC/MCParser/MasmParser.cpp | 33 +- contrib/llvm-project/llvm/lib/MC/MCPseudoProbe.cpp | 3 +- .../llvm-project/llvm/lib/MC/MachObjectWriter.cpp | 25 +- .../llvm/lib/MC/WinCOFFObjectWriter.cpp | 1 + .../llvm-project/llvm/lib/MC/XCOFFObjectWriter.cpp | 43 +- .../llvm/lib/ObjCopy/ELF/ELFObject.cpp | 3 - contrib/llvm-project/llvm/lib/Object/Archive.cpp | 61 +- .../llvm-project/llvm/lib/Object/Decompressor.cpp | 39 +- .../llvm/lib/Object/WasmObjectFile.cpp | 2 +- .../llvm/lib/Passes/PassBuilderPipelines.cpp | 2 +- .../llvm/lib/Passes/StandardInstrumentations.cpp | 84 +- .../lib/ProfileData/Coverage/CoverageMapping.cpp | 12 +- .../llvm/lib/ProfileData/InstrProfReader.cpp | 38 +- .../llvm/lib/Support/AddressRanges.cpp | 57 +- .../llvm-project/llvm/lib/Support/CommandLine.cpp | 2 +- .../llvm-project/llvm/lib/Support/Compression.cpp | 65 + .../llvm/lib/Support/DivisionByConstantInfo.cpp | 8 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 2 + .../llvm-project/llvm/lib/TableGen/JSONBackend.cpp | 4 +- contrib/llvm-project/llvm/lib/TableGen/Record.cpp | 8 + .../llvm-project/llvm/lib/TableGen/TGParser.cpp | 2 + .../llvm/lib/Target/AArch64/AArch64.td | 2 +- .../lib/Target/AArch64/AArch64ISelDAGToDAG.cpp | 55 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 119 +- .../llvm/lib/Target/AArch64/AArch64ISelLowering.h | 9 +- .../llvm/lib/Target/AArch64/AArch64InstrFormats.td | 6 + .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 25 + .../lib/Target/AArch64/AArch64MachineScheduler.cpp | 4 +- .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 36 +- .../lib/Target/AArch64/AArch64TargetMachine.cpp | 24 +- .../Target/AArch64/AArch64TargetTransformInfo.cpp | 86 + .../Target/AArch64/AArch64TargetTransformInfo.h | 10 + .../AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp | 65 +- .../llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td | 17 +- .../lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp | 5 + .../lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h | 2 + .../llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp | 67 + .../llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h | 3 + .../llvm/lib/Target/AMDGPU/AMDGPUAttributes.def | 1 + .../llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp | 19 +- .../llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp | 14 +- .../llvm/lib/Target/AMDGPU/AMDGPUGISel.td | 4 + .../Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp | 2 + .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 76 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h | 14 +- .../Target/AMDGPU/AMDGPUInstructionSelector.cpp | 166 +- .../lib/Target/AMDGPU/AMDGPUInstructionSelector.h | 8 +- .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | 32 + .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h | 7 + .../llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp | 23 +- .../lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp | 45 +- .../lib/Target/AMDGPU/AMDGPUMachineFunction.cpp | 16 + .../llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h | 5 +- .../lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp | 47 +- .../lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.h | 6 +- .../lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp | 5 +- .../lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp | 20 +- .../AMDGPU/AMDGPUReplaceLDSUseWithPointer.cpp | 2 +- .../lib/Target/AMDGPU/AMDGPUSearchableTables.td | 16 + .../llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp | 50 +- .../llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | 3 + .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 102 +- .../AMDGPU/Disassembler/AMDGPUDisassembler.cpp | 91 +- .../AMDGPU/Disassembler/AMDGPUDisassembler.h | 1 + .../llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp | 17 + .../llvm/lib/Target/AMDGPU/GCNProcessors.td | 4 +- .../llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp | 7 +- .../llvm/lib/Target/AMDGPU/GCNSchedStrategy.h | 2 +- .../llvm/lib/Target/AMDGPU/GCNSubtarget.h | 7 +- .../AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp | 5 +- .../AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp | 2 + .../llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp | 323 ++- .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 40 +- .../llvm/lib/Target/AMDGPU/SIISelLowering.h | 1 + .../llvm/lib/Target/AMDGPU/SIInstrFormats.td | 2 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 23 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.h | 3 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.td | 110 +- .../lib/Target/AMDGPU/SIMachineFunctionInfo.cpp | 11 + .../llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h | 6 + .../lib/Target/AMDGPU/SIOptimizeExecMasking.cpp | 309 +-- .../Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp | 82 +- .../llvm/lib/Target/AMDGPU/SIProgramInfo.h | 2 + .../llvm/lib/Target/AMDGPU/SMInstructions.td | 119 +- .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | 4 +- .../lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h | 2 +- .../llvm/lib/Target/AMDGPU/VOP1Instructions.td | 78 + .../llvm/lib/Target/AMDGPU/VOP3Instructions.td | 100 +- .../llvm/lib/Target/AMDGPU/VOP3PInstructions.td | 38 + .../llvm/lib/Target/AMDGPU/VOPCInstructions.td | 26 +- .../llvm/lib/Target/AMDGPU/VOPInstructions.td | 42 + .../llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp | 4 +- .../llvm/lib/Target/ARM/ARMBaseInstrInfo.h | 3 +- .../llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp | 15 +- .../llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp | 6 +- .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 42 + .../llvm/lib/Target/ARM/ARMISelLowering.h | 2 + .../llvm/lib/Target/ARM/ARMInstrMVE.td | 6 + .../llvm/lib/Target/ARM/ARMInstrThumb.td | 8 +- .../llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp | 14 +- .../llvm/lib/Target/ARM/ARMTargetTransformInfo.h | 8 +- .../llvm/lib/Target/AVR/AVRSubtarget.h | 14 +- .../llvm/lib/Target/CSKY/CSKYInstrInfo.cpp | 2 +- .../DirectX/DXILWriter/DXILBitcodeWriter.cpp | 8 +- .../DirectX/DXILWriter/DXILValueEnumerator.cpp | 2 +- .../lib/Target/Hexagon/HexagonVectorCombine.cpp | 1 - .../lib/Target/LoongArch/LoongArchISelLowering.cpp | 5 +- .../Target/LoongArch/LoongArchTargetMachine.cpp | 4 +- .../llvm/lib/Target/Mips/MipsISelLowering.cpp | 6 + .../llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp | 128 +- .../llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h | 100 +- .../llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp | 95 +- .../llvm/lib/Target/NVPTX/NVPTXSubtarget.h | 1 + .../llvm/lib/Target/NVPTX/NVPTXUtilities.h | 10 + .../llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 25 +- .../llvm/lib/Target/PowerPC/PPCInstrInfo.cpp | 4 +- .../llvm/lib/Target/PowerPC/PPCInstrInfo.h | 3 +- .../lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp | 13 +- contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.h | 3 + .../llvm-project/llvm/lib/Target/RISCV/RISCV.td | 26 +- .../llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp | 169 ++ .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | 27 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 376 ++-- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 112 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.h | 13 + .../llvm/lib/Target/RISCV/RISCVInstrInfo.td | 7 + .../llvm/lib/Target/RISCV/RISCVInstrInfoM.td | 22 +- .../llvm/lib/Target/RISCV/RISCVSExtWRemoval.cpp | 3 +- .../llvm/lib/Target/RISCV/RISCVSubtarget.cpp | 8 +- .../llvm/lib/Target/RISCV/RISCVSubtarget.h | 2 + .../llvm/lib/Target/RISCV/RISCVTargetMachine.cpp | 7 +- .../lib/Target/RISCV/RISCVTargetTransformInfo.cpp | 5 +- .../Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp | 10 + .../lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h | 13 + .../Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp | 15 +- contrib/llvm-project/llvm/lib/Target/SPIRV/SPIRV.h | 1 + .../llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp | 164 +- .../llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp | 201 +- .../llvm/lib/Target/SPIRV/SPIRVCallLowering.h | 6 +- .../lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp | 2 +- .../llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h | 4 +- .../llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 61 +- .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 425 +++- .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h | 53 +- .../llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp | 14 +- .../llvm/lib/Target/SPIRV/SPIRVInstrInfo.h | 1 + .../llvm/lib/Target/SPIRV/SPIRVInstrInfo.td | 24 +- .../lib/Target/SPIRV/SPIRVInstructionSelector.cpp | 252 ++- .../llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp | 7 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | 168 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h | 8 +- .../llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp | 75 +- .../lib/Target/SPIRV/SPIRVPrepareFunctions.cpp | 288 +++ .../llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp | 3 +- .../llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp | 5 +- .../llvm/lib/Target/SPIRV/SPIRVUtils.cpp | 31 + .../llvm/lib/Target/SPIRV/SPIRVUtils.h | 6 + .../Target/Sparc/TargetInfo/SparcTargetInfo.cpp | 8 +- .../llvm/lib/Target/SystemZ/SystemZCallingConv.cpp | 4 - .../llvm/lib/Target/SystemZ/SystemZCallingConv.h | 38 - .../llvm/lib/Target/SystemZ/SystemZCallingConv.td | 34 +- .../lib/Target/SystemZ/SystemZFrameLowering.cpp | 101 +- .../llvm/lib/Target/SystemZ/SystemZFrameLowering.h | 2 + .../lib/Target/SystemZ/SystemZISelLowering.cpp | 8 +- .../llvm/lib/Target/VE/VEInstrInfo.cpp | 40 +- .../llvm/lib/Target/VE/VEInstrPatternsVec.td | 14 + .../llvm-project/llvm/lib/Target/VE/VEInstrVec.td | 27 + .../llvm/lib/Target/VE/VERegisterInfo.cpp | 201 ++ .../Target/WebAssembly/WebAssemblyInstrInfo.cpp | 2 +- .../lib/Target/WebAssembly/WebAssemblyInstrInfo.h | 3 +- .../Target/WebAssembly/WebAssemblyRegStackify.cpp | 23 +- contrib/llvm-project/llvm/lib/Target/X86/X86.td | 2 +- .../llvm/lib/Target/X86/X86FixupBWInsts.cpp | 12 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 561 +++-- .../llvm/lib/Target/X86/X86InstrAVX512.td | 48 +- .../llvm/lib/Target/X86/X86InstrInfo.cpp | 12 +- .../llvm/lib/Target/X86/X86InstrInfo.h | 3 +- .../llvm/lib/Target/X86/X86InstrSSE.td | 70 + .../llvm/lib/Target/X86/X86TargetMachine.cpp | 8 +- .../llvm/lib/Target/X86/X86TargetTransformInfo.cpp | 65 +- .../llvm/lib/Target/XCore/XCoreFrameLowering.cpp | 2 +- .../llvm/lib/ToolDrivers/llvm-lib/Options.td | 1 + .../llvm/lib/Transforms/Coroutines/CoroCleanup.cpp | 4 +- .../llvm/lib/Transforms/Coroutines/CoroInternal.h | 2 - .../llvm/lib/Transforms/Coroutines/CoroSplit.cpp | 19 +- .../llvm/lib/Transforms/IPO/Attributor.cpp | 278 ++- .../lib/Transforms/IPO/AttributorAttributes.cpp | 2156 ++++++++++++-------- .../llvm/lib/Transforms/IPO/FunctionImport.cpp | 45 +- .../llvm/lib/Transforms/IPO/GlobalOpt.cpp | 2 +- .../llvm-project/llvm/lib/Transforms/IPO/IPO.cpp | 4 - .../llvm/lib/Transforms/IPO/Internalize.cpp | 36 +- .../llvm/lib/Transforms/IPO/LowerTypeTests.cpp | 42 - .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 2 +- .../llvm/lib/Transforms/IPO/PassManagerBuilder.cpp | 106 +- .../llvm/lib/Transforms/IPO/SampleProfile.cpp | 102 +- .../llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp | 70 - .../Transforms/InstCombine/InstCombineAddSub.cpp | 12 +- .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 45 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 55 +- .../Transforms/InstCombine/InstCombineCompares.cpp | 57 +- .../Transforms/InstCombine/InstCombineInternal.h | 2 +- .../Transforms/InstCombine/InstCombineShifts.cpp | 18 + .../InstCombine/InstructionCombining.cpp | 52 +- .../Instrumentation/AddressSanitizer.cpp | 3 + .../lib/Transforms/Instrumentation/CGProfile.cpp | 36 - .../Instrumentation/ControlHeightReduction.cpp | 53 - .../Transforms/Instrumentation/InstrOrderFile.cpp | 31 - .../Transforms/Instrumentation/InstrProfiling.cpp | 44 - .../Transforms/Instrumentation/Instrumentation.cpp | 5 - .../Transforms/Instrumentation/MemorySanitizer.cpp | 16 + .../Instrumentation/PGOInstrumentation.cpp | 42 +- .../Instrumentation/SanitizerCoverage.cpp | 64 - .../lib/Transforms/Scalar/DeadStoreElimination.cpp | 73 +- .../llvm/lib/Transforms/Scalar/IndVarSimplify.cpp | 5 +- .../Scalar/InductiveRangeCheckElimination.cpp | 4 +- .../lib/Transforms/Scalar/LoopDataPrefetch.cpp | 6 +- .../lib/Transforms/Scalar/LoopIdiomRecognize.cpp | 4 +- .../llvm/lib/Transforms/Scalar/LoopInterchange.cpp | 1 - .../llvm/lib/Transforms/Scalar/LoopPredication.cpp | 29 +- .../llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp | 12 + .../lib/Transforms/Scalar/LoopStrengthReduce.cpp | 93 +- .../llvm/lib/Transforms/Scalar/Reassociate.cpp | 58 +- .../Transforms/Scalar/RewriteStatepointsForGC.cpp | 14 +- .../llvm/lib/Transforms/Scalar/Scalar.cpp | 2 - .../llvm/lib/Transforms/Scalar/StructurizeCFG.cpp | 59 - .../llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | 13 +- .../llvm/lib/Transforms/Utils/BuildLibCalls.cpp | 228 ++- .../lib/Transforms/Utils/CanonicalizeAliases.cpp | 28 - .../llvm/lib/Transforms/Utils/CloneFunction.cpp | 19 +- .../lib/Transforms/Utils/EntryExitInstrumenter.cpp | 59 - .../llvm/lib/Transforms/Utils/Evaluator.cpp | 12 +- .../lib/Transforms/Utils/FunctionImportUtils.cpp | 7 + .../llvm/lib/Transforms/Utils/InlineFunction.cpp | 10 +- .../llvm/lib/Transforms/Utils/Local.cpp | 27 +- .../lib/Transforms/Utils/LoopRotationUtils.cpp | 2 +- .../llvm/lib/Transforms/Utils/LoopSimplify.cpp | 6 +- .../llvm/lib/Transforms/Utils/LoopUtils.cpp | 10 +- .../llvm/lib/Transforms/Utils/LowerAtomic.cpp | 2 +- .../llvm/lib/Transforms/Utils/NameAnonGlobals.cpp | 31 - .../Transforms/Utils/ScalarEvolutionExpander.cpp | 19 +- .../llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 2 +- .../llvm/lib/Transforms/Utils/SimplifyIndVar.cpp | 105 +- .../llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | 11 +- .../llvm/lib/Transforms/Utils/UnifyLoopExits.cpp | 46 +- .../llvm/lib/Transforms/Utils/Utils.cpp | 2 - .../lib/Transforms/Vectorize/LoopVectorize.cpp | 245 +-- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 11 +- .../lib/Transforms/Vectorize/VPRecipeBuilder.h | 6 +- .../llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp | 46 + .../lib/Transforms/Vectorize/VPlanVerifier.cpp | 66 +- .../lib/Transforms/Vectorize/VectorCombine.cpp | 2 +- contrib/llvm-project/llvm/tools/llc/llc.cpp | 2 - .../llvm-project/llvm/tools/llvm-ar/llvm-ar.cpp | 162 +- .../llvm/tools/llvm-cov/CodeCoverage.cpp | 17 +- .../llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp | 2 +- .../llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp | 277 +++ .../llvm/tools/llvm-dwarfutil/DebugInfoLinker.h | 31 + .../llvm-project/llvm/tools/llvm-dwarfutil/Error.h | 44 + .../llvm/tools/llvm-dwarfutil/Options.h | 46 + .../llvm/tools/llvm-dwarfutil/Options.td | 65 + .../llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp | 527 +++++ .../llvm-project/llvm/tools/llvm-mc/llvm-mc.cpp | 4 +- .../llvm/tools/llvm-objdump/llvm-objdump.cpp | 62 +- .../llvm/tools/llvm-objdump/llvm-objdump.h | 2 +- .../llvm/tools/llvm-profdata/llvm-profdata.cpp | 7 +- .../llvm/tools/llvm-size/llvm-size.cpp | 7 +- .../llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | 15 +- contrib/llvm-project/llvm/tools/opt/opt.cpp | 28 - .../llvm/utils/TableGen/CTagsEmitter.cpp | 29 +- .../llvm/utils/TableGen/CallingConvEmitter.cpp | 25 +- .../llvm/utils/TableGen/DXILEmitter.cpp | 51 +- .../llvm/utils/TableGen/DirectiveEmitter.cpp | 82 + .../llvm/utils/TableGen/SearchableTableEmitter.cpp | 6 +- contrib/llvm-project/openmp/runtime/src/kmp.h | 13 + .../openmp/runtime/src/kmp_affinity.cpp | 152 +- *** 80469 LINES SKIPPED *** From nobody Wed Feb 8 19:07:24 2023 X-Original-To: dev-commits-src-main@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 4PBqJ04NzFz3np5y; Wed, 8 Feb 2023 19:07: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBqJ03K8Tz43tx; Wed, 8 Feb 2023 19:07:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883248; 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=R+qjCbvx3XFqlYjI+wDBRwCMJRbkI6I5lLQYU8tuhR4=; b=MVdSRoO3MqGNftJ2YPY8OH2BYdzzXvn9JyyZfGCT9+Nzvk7i1x1faz6U4PmLY47BUn2hOW mXRDAxFDOv7F/YmrcAXGHyEL7RayrTvoO3LxgRTfVAwvtaEPMRX8ZeZTrXfnaYQCt0gBAJ iZbhVv/OcJkcfHYqWfcQ6IycRP0wSsCRKlGNfRlLHbW7vpRCrecMlZ4bvPdFuCwTnZ+Wi2 kkcqu9y1H6HXo6HwUe1r1/IrOEgSjkPrX6rpYkuKeYhq6dL5IQMaF5+504vrEovbzENwRu nKtp8vvtJFWnG2ib0Xj8+XaMkQnKWu6PDUTXPPhZlawIzSdAYg9OBBJR3PtUnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883248; 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=R+qjCbvx3XFqlYjI+wDBRwCMJRbkI6I5lLQYU8tuhR4=; b=w1+WbTiIe5v/mIftYdwClcrIXB8vrBvb2lxEB+L27nJpz7ifqffugBfc//s8MMaTwVm10i fP46DS5DaLccSoEkGGdhCBL0RMhnfs5G+Dj3cM49tac+GdZfqb2QOrnZIJzYViWepGX5Dn 8iiaBJLTsCAGF3SlpGY5R04XydTdDwv9DlCxerAcxJsRbC9dtgax8p9hiHDLY5JOCsu8J+ uNNKw9b0RprGp1lsJQitF0QLeyM/HNuYyN6QBK6oq1MQp86PEkSRKXU069JEzjDGko2gUK dmpPVGlGD1hAQq7DBVIBxoT47XWS8FjJiq1Jn/lsbgGK47wIYxJa0KRMRdkj7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675883248; a=rsa-sha256; cv=none; b=WUvupn22UDwIQmb7c01sLf7e5Lc31onEJZQPb3A+XkFDyClnvvRvvd+UjJIYqdizVv0bXZ qWVEXNld7nE738GSH1gmnqbac0F5bANXggibuE1LTUGrBwb+Q2lRS/nrv2IWOnR/S7Xtl3 YkdyVLe9Nke3fqaIe0KGQvG0ZcfWBJlq4blfv+AOMSdeLup624r1G5nAZm9XjtYX0AyCaO lwmj1cIYdYVqFNkk+HAUe9XR6O/MPPkIjlB2RHil+Vbj0IvygRx7u+rkqZVK6E+gvxNkBl Xy0FZW+CCR08r05ACTOeBtwJudG9EYRelmTkDLMvXyQfqpE7A2cvDqfkIni0Nw== 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 4PBqJ02Pg0z17Wn; Wed, 8 Feb 2023 19:07:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318J7SfD095673; Wed, 8 Feb 2023 19:07:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318J7OiC095666; Wed, 8 Feb 2023 19:07:24 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:07:24 GMT Message-Id: <202302081907.318J7OiC095666@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 972a253a57b6 - main - Merge llvm-project main llvmorg-15-init-17826-g1f8ae9d7e7e4 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 972a253a57b6f144b0e4a3e2080a2a0076ec55a0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=972a253a57b6f144b0e4a3e2080a2a0076ec55a0 commit 972a253a57b6f144b0e4a3e2080a2a0076ec55a0 Merge: fcaf7f8644a9 08e8dd7b9db7 Author: Dimitry Andric AuthorDate: 2022-07-27 20:11:54 +0000 Commit: Dimitry Andric CommitDate: 2023-02-08 19:04:48 +0000 Merge llvm-project main llvmorg-15-init-17826-g1f8ae9d7e7e4 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-17826-g1f8ae9d7e7e4, the last commit before the upstream release/16.x branch was created. PR: 265425 MFC after: 2 weeks .../clang/include/clang/Analysis/CFG.h | 3 +- .../include/clang/Analysis/ConstructionContext.h | 72 +- .../FlowSensitive/DataflowAnalysisContext.h | 4 + .../Analysis/FlowSensitive/DataflowEnvironment.h | 15 + .../clang/Analysis/FlowSensitive/MapLattice.h | 9 +- .../clang/Analysis/FlowSensitive/Transfer.h | 9 +- .../FlowSensitive/TypeErasedDataflowAnalysis.h | 11 +- .../include/clang/Analysis/FlowSensitive/Value.h | 59 +- .../clang/include/clang/Basic/AttrDocs.td | 6 + .../clang/include/clang/Basic/DiagnosticIDs.h | 24 +- .../include/clang/Basic/DiagnosticParseKinds.td | 6 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 8 +- .../clang/include/clang/Basic/LangOptions.def | 1 + .../clang/include/clang/Basic/TokenKinds.def | 3 + .../clang/include/clang/Basic/riscv_vector.td | 103 +-- .../clang/include/clang/CodeGen/ModuleBuilder.h | 8 +- .../clang/include/clang/Driver/Driver.h | 2 - .../clang/include/clang/Driver/Options.td | 4 + .../clang/include/clang/Frontend/Utils.h | 4 +- .../clang/include/clang/Lex/PreprocessingRecord.h | 1 - .../clang/include/clang/Lex/Preprocessor.h | 1 - .../clang/include/clang/Parse/Parser.h | 3 +- .../clang/include/clang/Sema/Overload.h | 4 + .../include/clang/Sema/RISCVIntrinsicManager.h | 36 + .../llvm-project/clang/include/clang/Sema/Scope.h | 38 +- .../llvm-project/clang/include/clang/Sema/Sema.h | 14 +- .../clang/include/clang/Sema/Template.h | 34 + .../clang/include/clang/Serialization/ASTWriter.h | 4 + .../Core/BugReporter/BugReporterVisitors.h | 2 +- .../StaticAnalyzer/Core/PathSensitive/ExprEngine.h | 19 +- .../Core/PathSensitive/ProgramState.h | 2 - .../StaticAnalyzer/Core/PathSensitive/SVals.h | 1 - .../include/clang/Support/RISCVVIntrinsicUtils.h | 100 ++- .../RefactoringActionRuleRequirements.h | 2 +- .../Tooling/Refactoring/RefactoringActionRules.h | 4 +- .../clang/Tooling/Refactoring/RefactoringOptions.h | 4 +- contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 52 +- contrib/llvm-project/clang/lib/AST/Decl.cpp | 14 +- .../llvm-project/clang/lib/AST/ExprConstant.cpp | 10 +- contrib/llvm-project/clang/lib/Analysis/CFG.cpp | 45 +- .../clang/lib/Analysis/ConstructionContext.cpp | 11 + .../clang/lib/Analysis/ExprMutationAnalyzer.cpp | 18 +- .../FlowSensitive/DataflowAnalysisContext.cpp | 71 +- .../Analysis/FlowSensitive/DataflowEnvironment.cpp | 48 +- .../lib/Analysis/FlowSensitive/DebugSupport.cpp | 14 + .../clang/lib/Analysis/FlowSensitive/Transfer.cpp | 48 +- .../FlowSensitive/TypeErasedDataflowAnalysis.cpp | 20 +- .../FlowSensitive/WatchedLiteralsSolver.cpp | 110 ++- .../clang/lib/Analysis/LiveVariables.cpp | 27 +- .../llvm-project/clang/lib/Basic/Targets/CSKY.h | 2 +- .../llvm-project/clang/lib/Basic/Targets/PPC.cpp | 3 + contrib/llvm-project/clang/lib/Basic/Targets/X86.h | 4 +- contrib/llvm-project/clang/lib/CodeGen/ABIInfo.h | 2 +- contrib/llvm-project/clang/lib/CodeGen/CGCXXABI.h | 2 + contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 19 +- contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp | 14 +- .../llvm-project/clang/lib/CodeGen/CGDebugInfo.cpp | 8 +- .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp | 12 +- .../clang/lib/CodeGen/CGOpenMPRuntimeGPU.h | 23 +- .../clang/lib/CodeGen/CodeGenAction.cpp | 25 +- .../clang/lib/CodeGen/CodeGenModule.cpp | 39 +- .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 11 +- .../clang/lib/CodeGen/ItaniumCXXABI.cpp | 6 +- .../clang/lib/CodeGen/MicrosoftCXXABI.cpp | 2 +- .../clang/lib/CodeGen/ModuleBuilder.cpp | 24 +- .../CodeGen/ObjectFilePCHContainerOperations.cpp | 4 +- .../clang/lib/CodeGen/SanitizerMetadata.h | 1 - .../clang/lib/Driver/ToolChains/Arch/ARM.cpp | 5 + .../clang/lib/Driver/ToolChains/Arch/PPC.cpp | 4 + .../clang/lib/Driver/ToolChains/Clang.cpp | 7 + .../clang/lib/Driver/ToolChains/FreeBSD.cpp | 6 +- .../llvm-project/clang/lib/Edit/EditedSource.cpp | 4 +- .../clang/lib/Format/FormatTokenLexer.cpp | 159 ++-- .../clang/lib/Frontend/CompilerInvocation.cpp | 6 + contrib/llvm-project/clang/lib/Headers/stdatomic.h | 3 +- .../clang/lib/Interpreter/IncrementalExecutor.h | 1 - contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp | 36 +- .../llvm-project/clang/lib/Parse/ParseDeclCXX.cpp | 594 +++++++-------- .../llvm-project/clang/lib/Parse/ParsePragma.cpp | 52 ++ contrib/llvm-project/clang/lib/Parse/Parser.cpp | 4 +- contrib/llvm-project/clang/lib/Sema/Scope.cpp | 82 +- contrib/llvm-project/clang/lib/Sema/Sema.cpp | 7 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 20 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 37 +- contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp | 45 ++ .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 26 +- .../clang/lib/Sema/SemaRISCVVectorLookup.cpp | 395 ++++++++++ contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp | 10 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 55 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 3 +- .../clang/lib/Serialization/ASTWriter.cpp | 6 +- .../lib/StaticAnalyzer/Checkers/CStringChecker.cpp | 100 ++- .../Checkers/InnerPointerChecker.cpp | 6 +- .../lib/StaticAnalyzer/Checkers/MallocChecker.cpp | 11 +- .../lib/StaticAnalyzer/Checkers/PaddingChecker.cpp | 2 +- .../Checkers/StdLibraryFunctionsChecker.cpp | 2 +- .../UninitializedObjectChecker.cpp | 20 +- .../UninitializedObject/UninitializedPointee.cpp | 26 +- .../StaticAnalyzer/Core/BugReporterVisitors.cpp | 23 +- .../clang/lib/StaticAnalyzer/Core/ExprEngine.cpp | 91 ++- .../lib/StaticAnalyzer/Core/ExprEngineCXX.cpp | 124 +++- .../Core/ExprEngineCallAndReturn.cpp | 28 +- .../clang/lib/StaticAnalyzer/Core/RegionStore.cpp | 69 +- .../clang/lib/Support/RISCVVIntrinsicUtils.cpp | 88 ++- .../clang/utils/TableGen/RISCVVEmitter.cpp | 417 +++++++---- .../llvm-project/clang/utils/TableGen/TableGen.cpp | 6 + .../clang/utils/TableGen/TableGenBackends.h | 1 + .../compiler-rt/lib/builtins/int_types.h | 2 +- .../lib/sanitizer_common/sanitizer_common.h | 5 + .../lib/sanitizer_common/sanitizer_win.cpp | 11 + .../compiler-rt/lib/tsan/rtl/tsan_flags.inc | 4 - .../compiler-rt/lib/tsan/rtl/tsan_platform.h | 1 + .../compiler-rt/lib/tsan/rtl/tsan_rtl.cpp | 63 +- .../compiler-rt/lib/tsan/rtl/tsan_rtl.h | 40 +- .../compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp | 9 - .../compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp | 44 +- .../compiler-rt/lib/tsan/rtl/tsan_shadow.h | 10 + .../llvm-project/libcxx/include/__algorithm/copy.h | 16 +- .../libcxx/include/__algorithm/copy_backward.h | 42 +- .../libcxx/include/__algorithm/equal_range.h | 1 + .../libcxx/include/__algorithm/includes.h | 19 +- .../libcxx/include/__algorithm/inplace_merge.h | 4 +- .../libcxx/include/__algorithm/is_heap.h | 2 +- .../libcxx/include/__algorithm/is_heap_until.h | 4 +- .../include/__algorithm/ranges_copy_backward.h | 7 +- .../libcxx/include/__algorithm/ranges_generate.h | 24 +- .../libcxx/include/__algorithm/ranges_generate_n.h | 14 +- .../libcxx/include/__algorithm/ranges_includes.h | 8 +- .../libcxx/include/__algorithm/ranges_is_heap.h | 23 +- .../include/__algorithm/ranges_is_heap_until.h | 20 +- contrib/llvm-project/libcxx/include/__assert | 6 +- .../libcxx/include/__concepts/arithmetic.h | 2 + .../libcxx/include/__format/formatter_integer.h | 1 + .../libcxx/include/__functional/invoke.h | 11 +- contrib/llvm-project/libcxx/include/__hash_table | 1 + .../include/__iterator/incrementable_traits.h | 1 + .../libcxx/include/__iterator/iterator_traits.h | 6 + .../libcxx/include/__iterator/reverse_iterator.h | 184 ++++- .../libcxx/include/__memory/swap_allocator.h | 53 ++ .../libcxx/include/__memory/temporary_buffer.h | 1 + .../include/__memory/uninitialized_algorithms.h | 144 ++++ contrib/llvm-project/libcxx/include/__split_buffer | 1 + contrib/llvm-project/libcxx/include/__tree | 1 + .../libcxx/include/__type_traits/aligned_storage.h | 142 ++++ .../libcxx/include/__type_traits/aligned_union.h | 55 ++ .../include/__type_traits/common_reference.h | 188 +++++ .../libcxx/include/__type_traits/common_type.h | 138 ++++ .../libcxx/include/__type_traits/copy_cv.h | 54 ++ .../libcxx/include/__type_traits/copy_cvref.h | 46 ++ .../include/__type_traits/is_nothrow_convertible.h | 53 ++ .../include/__type_traits/is_primary_template.h | 34 + .../include/__type_traits/is_signed_integer.h | 33 + .../include/__type_traits/is_unsigned_integer.h | 33 + .../include/__type_traits/is_valid_expansion.h | 31 + .../libcxx/include/__type_traits/lazy.h | 25 + .../include/__type_traits/make_32_64_or_128_bit.h | 48 ++ .../libcxx/include/__type_traits/make_signed.h | 76 ++ .../libcxx/include/__type_traits/make_unsigned.h | 89 +++ .../libcxx/include/__type_traits/nat.h | 32 + .../libcxx/include/__type_traits/promote.h | 95 +++ .../libcxx/include/__type_traits/remove_cvref.h | 41 + .../libcxx/include/__type_traits/type_list.h | 44 ++ .../libcxx/include/__utility/transaction.h | 5 + contrib/llvm-project/libcxx/include/algorithm | 33 + contrib/llvm-project/libcxx/include/charconv | 1 + contrib/llvm-project/libcxx/include/forward_list | 1 + contrib/llvm-project/libcxx/include/list | 1 + contrib/llvm-project/libcxx/include/math.h | 1 + contrib/llvm-project/libcxx/include/memory | 118 --- .../libcxx/include/module.modulemap.in | 20 + contrib/llvm-project/libcxx/include/string | 1 + contrib/llvm-project/libcxx/include/type_traits | 787 +------------------- contrib/llvm-project/libcxx/include/vector | 19 +- contrib/llvm-project/libcxx/src/assert.cpp | 47 +- contrib/llvm-project/lld/ELF/Driver.cpp | 15 +- contrib/llvm-project/lld/ELF/DriverUtils.cpp | 20 +- contrib/llvm-project/lld/ELF/InputFiles.cpp | 4 +- contrib/llvm-project/lld/ELF/LinkerScript.cpp | 12 +- contrib/llvm-project/lld/ELF/Options.td | 14 +- contrib/llvm-project/lld/ELF/ScriptParser.cpp | 7 +- contrib/llvm-project/lld/ELF/SyntheticSections.cpp | 12 +- contrib/llvm-project/lld/ELF/Writer.cpp | 30 +- contrib/llvm-project/lld/MachO/Driver.cpp | 20 +- contrib/llvm-project/lld/MachO/DriverUtils.cpp | 1 + contrib/llvm-project/lld/MachO/InputFiles.cpp | 60 +- contrib/llvm-project/lld/MachO/InputFiles.h | 12 +- contrib/llvm-project/lld/MachO/InputSection.cpp | 2 +- contrib/llvm-project/lld/MachO/Options.td | 10 +- contrib/llvm-project/lld/MachO/SyntheticSections.h | 6 +- .../lldb/include/lldb/Core/Disassembler.h | 8 +- .../lldb/include/lldb/Target/MemoryTagManager.h | 15 + .../lldb/include/lldb/Target/Process.h | 4 +- .../lldb/include/lldb/Target/TraceCursor.h | 36 +- .../lldb/include/lldb/Target/TraceDumper.h | 7 +- .../lldb/Utility/TraceIntelPTGDBRemotePackets.h | 4 +- .../lldb/include/lldb/lldb-enumerations.h | 8 +- .../source/Commands/CommandObjectDisassemble.cpp | 3 +- .../source/Commands/CommandObjectExpression.cpp | 2 +- .../lldb/source/Commands/CommandObjectMemory.cpp | 2 +- .../lldb/source/Commands/CommandObjectThread.cpp | 2 +- .../llvm-project/lldb/source/Commands/Options.td | 10 +- .../llvm-project/lldb/source/Core/Disassembler.cpp | 385 +--------- .../llvm-project/lldb/source/Host/common/Host.cpp | 2 +- .../Disassembler/LLVMC/DisassemblerLLVMC.cpp | 331 +++++++++ .../ExpressionParser/Clang/ClangASTSource.cpp | 10 +- .../Clang/ClangExpressionParser.cpp | 5 +- .../Instruction/ARM/EmulateInstructionARM.cpp | 4 +- .../Plugins/Instruction/ARM/EmulationStateARM.cpp | 85 ++- .../Plugins/Instruction/ARM/EmulationStateARM.h | 7 +- .../ObjectFile/Minidump/MinidumpFileBuilder.cpp | 4 +- .../Process/Utility/MemoryTagManagerAArch64MTE.cpp | 65 ++ .../Process/Utility/MemoryTagManagerAArch64MTE.h | 6 + .../Utility/RegisterContextDarwin_arm64.cpp | 2 +- .../Plugins/Process/Utility/ThreadMemory.cpp | 3 +- .../Plugins/Process/elf-core/ProcessElfCore.cpp | 72 +- .../Plugins/Process/elf-core/ProcessElfCore.h | 14 + .../gdb-remote/GDBRemoteCommunicationClient.cpp | 18 + .../gdb-remote/GDBRemoteCommunicationClient.h | 2 + .../Process/gdb-remote/ProcessGDBRemote.cpp | 68 +- .../Plugins/Process/minidump/ProcessMinidump.cpp | 3 +- .../Plugins/SymbolFile/NativePDB/PdbUtil.cpp | 2 +- .../Plugins/Trace/intel-pt/DecodedThread.cpp | 198 ++--- .../source/Plugins/Trace/intel-pt/DecodedThread.h | 180 +++-- .../Plugins/Trace/intel-pt/LibiptDecoder.cpp | 57 +- .../source/Plugins/Trace/intel-pt/LibiptDecoder.h | 10 + .../Plugins/Trace/intel-pt/ThreadDecoder.cpp | 19 +- .../source/Plugins/Trace/intel-pt/ThreadDecoder.h | 6 + .../Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp | 89 ++- .../Plugins/Trace/intel-pt/TraceCursorIntelPT.h | 46 +- .../source/Plugins/Trace/intel-pt/TraceIntelPT.cpp | 50 +- .../source/Plugins/Trace/intel-pt/TraceIntelPT.h | 9 + .../Trace/intel-pt/TraceIntelPTMultiCpuDecoder.cpp | 26 +- .../Trace/intel-pt/TraceIntelPTMultiCpuDecoder.h | 6 + .../x86/x86AssemblyInspectionEngine.cpp | 2 +- contrib/llvm-project/lldb/source/Symbol/Type.cpp | 4 +- .../llvm-project/lldb/source/Target/Process.cpp | 15 +- .../lldb/source/Target/RegisterContextUnwind.cpp | 4 +- .../llvm-project/lldb/source/Target/StackFrame.cpp | 42 +- .../lldb/source/Target/ThreadPlanCallFunction.cpp | 10 +- .../lldb/source/Target/ThreadPlanTracer.cpp | 4 +- .../lldb/source/Target/TraceCursor.cpp | 2 + .../lldb/source/Target/TraceDumper.cpp | 58 +- .../llvm-project/llvm/include/llvm/ADT/DenseMap.h | 2 + .../llvm-project/llvm/include/llvm/ADT/Optional.h | 7 +- .../llvm-project/llvm/include/llvm/Analysis/DDG.h | 23 +- .../llvm/include/llvm/Analysis/MemoryBuiltins.h | 1 - .../include/llvm/Analysis/TargetTransformInfo.h | 1 - .../llvm/include/llvm/BinaryFormat/ELF.h | 22 + .../llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h | 4 +- .../include/llvm/CodeGen/GlobalISel/IRTranslator.h | 2 +- .../llvm/include/llvm/CodeGen/LiveIntervals.h | 1 - .../llvm/include/llvm/CodeGen/SelectionDAGNodes.h | 6 + .../llvm/include/llvm/CodeGen/TargetInstrInfo.h | 1 - .../llvm/include/llvm/DWARFLinker/DWARFLinker.h | 2 +- .../include/llvm/DebugInfo/PDB/IPDBEnumChildren.h | 11 +- .../include/llvm/ExecutionEngine/JITLink/x86_64.h | 23 +- .../ExecutorSharedMemoryMapperService.h | 6 +- .../llvm/include/llvm/IR/Instructions.h | 2 + .../llvm/include/llvm/IR/IntrinsicInst.h | 11 +- .../llvm/include/llvm/IR/Intrinsics.td | 6 + .../llvm/include/llvm/IR/ModuleSummaryIndex.h | 6 + .../llvm/include/llvm/IR/PrintPasses.h | 15 + .../include/llvm/LTO/legacy/LTOCodeGenerator.h | 4 + .../llvm/MC/MCDisassembler/MCDisassembler.h | 23 + .../include/llvm/Passes/StandardInstrumentations.h | 10 +- .../include/llvm/ProfileData/SampleProfReader.h | 37 +- .../include/llvm/ProfileData/SampleProfWriter.h | 45 +- .../llvm/include/llvm/Support/BinaryByteStream.h | 4 +- .../include/llvm/Support/DXILOperationCommon.h | 63 ++ .../llvm-project/llvm/include/llvm/Support/Error.h | 2 +- .../llvm/include/llvm/Support/MathExtras.h | 6 + .../llvm/include/llvm/Support/raw_ostream.h | 4 +- .../llvm/Target/GlobalISel/SelectionDAGCompat.td | 2 + .../llvm/include/llvm/Transforms/IPO.h | 2 - .../llvm/include/llvm/Transforms/IPO/Attributor.h | 2 +- .../llvm/Transforms/IPO/WholeProgramDevirt.h | 4 +- .../include/llvm/Transforms/Utils/MatrixUtils.h | 47 +- .../include/llvm/Transforms/Utils/MemoryOpRemark.h | 6 +- .../llvm/Transforms/Utils/SimplifyLibCalls.h | 2 +- .../llvm-project/llvm/lib/Analysis/CodeMetrics.cpp | 3 +- .../llvm-project/llvm/lib/Analysis/InlineCost.cpp | 4 +- .../llvm/lib/Analysis/InstructionSimplify.cpp | 12 - .../llvm/lib/Analysis/LoopAccessAnalysis.cpp | 4 +- .../llvm/lib/Analysis/MemoryBuiltins.cpp | 7 - .../llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | 3 +- .../llvm/lib/Analysis/PHITransAddr.cpp | 17 +- .../llvm/lib/Analysis/ScalarEvolution.cpp | 26 +- .../llvm/lib/Analysis/TypeMetadataUtils.cpp | 4 +- .../llvm/lib/Analysis/ValueTracking.cpp | 43 +- .../llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 2 +- .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 7 +- .../llvm/lib/CodeGen/AsmPrinter/WasmException.h | 2 +- .../llvm/lib/CodeGen/AtomicExpandPass.cpp | 7 +- .../llvm/lib/CodeGen/CodeGenPrepare.cpp | 4 +- .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 3 +- .../llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 10 +- .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 5 +- .../llvm/lib/CodeGen/LiveRangeEdit.cpp | 16 +- .../llvm/lib/CodeGen/MachineFunctionPass.cpp | 29 + .../llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp | 7 +- .../llvm/lib/CodeGen/ProcessImplicitDefs.cpp | 2 +- .../llvm/lib/CodeGen/RegAllocGreedy.cpp | 19 +- .../llvm-project/llvm/lib/CodeGen/RegAllocGreedy.h | 2 + .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 90 ++- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 41 +- .../lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | 2 +- .../lib/CodeGen/SelectionDAG/TargetLowering.cpp | 17 +- .../llvm/lib/DWARFLinker/DWARFLinker.cpp | 53 +- contrib/llvm-project/llvm/lib/DWP/DWP.cpp | 7 + .../JITLink/COFFLinkGraphBuilder.cpp | 124 ++-- .../ExecutionEngine/JITLink/COFFLinkGraphBuilder.h | 10 +- .../lib/ExecutionEngine/JITLink/COFF_x86_64.cpp | 179 +++-- .../lib/ExecutionEngine/JITLink/SEHFrameSupport.h | 61 ++ .../llvm/lib/ExecutionEngine/JITLink/x86_64.cpp | 2 + .../ExecutionEngine/Orc/ObjectFileInterface.cpp | 38 +- .../llvm-project/llvm/lib/FileCheck/FileCheck.cpp | 2 + contrib/llvm-project/llvm/lib/IR/Instructions.cpp | 4 + contrib/llvm-project/llvm/lib/IR/IntrinsicInst.cpp | 33 + .../llvm/lib/IR/ModuleSummaryIndex.cpp | 8 +- contrib/llvm-project/llvm/lib/IR/PrintPasses.cpp | 44 ++ contrib/llvm-project/llvm/lib/LTO/LTO.cpp | 4 + contrib/llvm-project/llvm/lib/LTO/LTOBackend.cpp | 3 + .../llvm-project/llvm/lib/LTO/LTOCodeGenerator.cpp | 12 + .../llvm/lib/LTO/ThinLTOCodeGenerator.cpp | 6 + .../llvm-project/llvm/lib/MC/ELFObjectWriter.cpp | 5 +- .../llvm/lib/MC/MCDisassembler/MCDisassembler.cpp | 5 + .../llvm-project/llvm/lib/MC/XCOFFObjectWriter.cpp | 2 +- .../llvm/lib/ObjCopy/ELF/ELFObject.cpp | 52 +- .../llvm-project/llvm/lib/ObjCopy/ELF/ELFObject.h | 14 +- .../llvm-project/llvm/lib/ObjectYAML/ELFYAML.cpp | 8 + .../llvm/lib/Passes/PassBuilderPipelines.cpp | 3 + .../llvm/lib/Passes/StandardInstrumentations.cpp | 58 -- .../llvm/lib/Support/ARMAttributeParser.cpp | 2 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 144 +++- .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 6 + .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 32 +- .../AArch64/Disassembler/AArch64Disassembler.cpp | 8 + .../AArch64/Disassembler/AArch64Disassembler.h | 3 + .../GISel/AArch64O0PreLegalizerCombiner.cpp | 4 +- .../AArch64/GISel/AArch64PostLegalizerCombiner.cpp | 4 +- .../AArch64/GISel/AArch64PostLegalizerLowering.cpp | 4 +- .../AArch64/GISel/AArch64PreLegalizerCombiner.cpp | 4 +- .../llvm/lib/Target/AArch64/SVEInstrFormats.td | 12 +- .../lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp | 212 ++++-- .../llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.h | 2 +- .../Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp | 4 +- .../llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp | 826 ++++++++++++--------- .../llvm/lib/Target/AMDGPU/GCNSchedStrategy.h | 233 ++++-- .../Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp | 16 + .../llvm/lib/Target/AMDGPU/R600ISelLowering.h | 4 +- .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 6 +- .../llvm/lib/Target/AMDGPU/SIISelLowering.h | 8 +- .../llvm/lib/Target/AMDGPU/SIRegisterInfo.td | 56 +- .../llvm/lib/Target/AMDGPU/VOPCInstructions.td | 2 +- .../Target/ARM/Disassembler/ARMDisassembler.cpp | 30 + .../llvm/lib/Target/DirectX/DXILOpBuilder.cpp | 324 ++++++++ .../llvm/lib/Target/DirectX/DXILOpBuilder.h | 46 ++ .../llvm/lib/Target/DirectX/DXILOpLowering.cpp | 167 +---- .../DirectX/DXILWriter/DXILValueEnumerator.cpp | 4 +- .../llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h | 1 - .../llvm/lib/Target/Hexagon/HexagonISelLowering.h | 3 - .../llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp | 46 -- .../llvm/lib/Target/Hexagon/HexagonInstrInfo.h | 4 - .../LoongArch/AsmParser/LoongArchAsmParser.cpp | 2 +- .../Disassembler/LoongArchDisassembler.cpp | 2 +- .../llvm/lib/Target/LoongArch/LoongArch.h | 2 +- .../lib/Target/LoongArch/LoongArchFrameLowering.h | 2 +- .../lib/Target/LoongArch/LoongArchISelDAGToDAG.h | 2 +- .../lib/Target/LoongArch/LoongArchISelLowering.h | 2 +- .../lib/Target/LoongArch/LoongArchRegisterInfo.h | 2 +- .../llvm/lib/Target/LoongArch/LoongArchSubtarget.h | 2 +- .../Target/LoongArch/LoongArchTargetMachine.cpp | 2 +- .../LoongArch/MCTargetDesc/LoongArchAsmBackend.h | 2 +- .../LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp | 4 +- .../LoongArch/MCTargetDesc/LoongArchBaseInfo.h | 4 +- .../MCTargetDesc/LoongArchELFObjectWriter.cpp | 2 +- .../LoongArch/MCTargetDesc/LoongArchInstPrinter.h | 2 +- .../LoongArch/MCTargetDesc/LoongArchMCAsmInfo.h | 2 +- .../MCTargetDesc/LoongArchMCCodeEmitter.cpp | 2 +- .../MCTargetDesc/LoongArchMCTargetDesc.cpp | 2 +- .../LoongArch/MCTargetDesc/LoongArchMCTargetDesc.h | 2 +- .../LoongArch/MCTargetDesc/LoongArchMatInt.h | 4 +- .../LoongArch/TargetInfo/LoongArchTargetInfo.h | 2 +- .../lib/Target/Mips/MipsPreLegalizerCombiner.cpp | 4 +- .../llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp | 15 + .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 53 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.h | 1 + .../llvm/lib/Target/RISCV/RISCVInstrInfo.h | 21 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoC.td | 56 +- .../llvm/lib/Target/RISCV/RISCVTargetMachine.h | 3 +- .../llvm/lib/Target/SystemZ/SystemZRegisterInfo.h | 34 +- .../Target/WebAssembly/WebAssemblyISelLowering.cpp | 30 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 84 ++- .../llvm/lib/Target/X86/X86ISelLowering.h | 2 +- .../llvm/lib/Target/X86/X86InstrInfo.h | 2 +- .../AggressiveInstCombine.cpp | 55 +- .../llvm/lib/Transforms/IPO/ArgumentPromotion.cpp | 6 +- .../lib/Transforms/IPO/AttributorAttributes.cpp | 28 +- .../llvm/lib/Transforms/IPO/FunctionAttrs.cpp | 61 +- .../llvm/lib/Transforms/IPO/GlobalOpt.cpp | 3 +- .../llvm/lib/Transforms/IPO/LowerTypeTests.cpp | 61 +- .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 12 - .../llvm-project/llvm/lib/Transforms/IPO/SCCP.cpp | 2 +- .../lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp | 8 + .../llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp | 35 +- .../Transforms/InstCombine/InstCombineInternal.h | 7 +- .../Instrumentation/AddressSanitizer.cpp | 4 +- .../lib/Transforms/Scalar/LoopDataPrefetch.cpp | 8 +- .../Transforms/Scalar/LowerMatrixIntrinsics.cpp | 25 +- .../llvm/lib/Transforms/Scalar/Reassociate.cpp | 24 +- .../llvm/lib/Transforms/Utils/InlineFunction.cpp | 59 +- .../llvm/lib/Transforms/Utils/MatrixUtils.cpp | 42 +- .../llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | 137 +++- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 9 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 4 +- .../llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp | 49 +- .../llvm/tools/llvm-dwarfutil/DebugInfoLinker.h | 4 +- .../llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp | 22 +- .../llvm-project/llvm/tools/llvm-lto/llvm-lto.cpp | 7 + .../llvm/tools/llvm-mca/CodeRegionGenerator.cpp | 4 +- .../llvm/tools/llvm-objcopy/ObjcopyOptions.cpp | 27 +- .../llvm/tools/llvm-objcopy/ObjcopyOpts.td | 11 +- .../llvm/tools/llvm-objdump/llvm-objdump.cpp | 152 +++- .../llvm/tools/llvm-profdata/llvm-profdata.cpp | 3 +- .../llvm/tools/llvm-readobj/ELFDumper.cpp | 15 + .../llvm/tools/llvm-xray/xray-graph.cpp | 9 +- .../llvm/utils/TableGen/DXILEmitter.cpp | 107 ++- .../TableGen/GlobalISel/GIMatchDagPredicate.h | 6 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Config/config.h | 2 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 4 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/clang/libclang/Makefile | 9 + lib/clang/liblldb/LLDBWrapLua.cpp | 2 +- lib/libc++/Makefile | 20 + 438 files changed, 9684 insertions(+), 4700 deletions(-) diff --cc contrib/llvm-project/clang/include/clang/Sema/RISCVIntrinsicManager.h index 000000000000,505100249d6f..505100249d6f mode 000000,100644..100644 --- a/contrib/llvm-project/clang/include/clang/Sema/RISCVIntrinsicManager.h +++ b/contrib/llvm-project/clang/include/clang/Sema/RISCVIntrinsicManager.h diff --cc contrib/llvm-project/clang/lib/Basic/Targets/X86.h index 3caf5256118e,0affa58b2f4c..224145f4b020 --- a/contrib/llvm-project/clang/lib/Basic/Targets/X86.h +++ b/contrib/llvm-project/clang/lib/Basic/Targets/X86.h @@@ -229,18 -229,14 +229,18 @@@ public bool validateInputSize(const llvm::StringMap &FeatureMap, StringRef Constraint, unsigned Size) const override; - virtual bool + bool checkCFProtectionReturnSupported(DiagnosticsEngine &Diags) const override { - return true; + if (CPU == llvm::X86::CK_None || CPU >= llvm::X86::CK_PentiumPro) + return true; + return TargetInfo::checkCFProtectionReturnSupported(Diags); }; - virtual bool + bool checkCFProtectionBranchSupported(DiagnosticsEngine &Diags) const override { - return true; + if (CPU == llvm::X86::CK_None || CPU >= llvm::X86::CK_PentiumPro) + return true; + return TargetInfo::checkCFProtectionBranchSupported(Diags); }; virtual bool validateOperandSize(const llvm::StringMap &FeatureMap, diff --cc contrib/llvm-project/clang/lib/Sema/SemaRISCVVectorLookup.cpp index 000000000000,50fd841c231b..50fd841c231b mode 000000,100644..100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaRISCVVectorLookup.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaRISCVVectorLookup.cpp diff --cc contrib/llvm-project/libcxx/include/__memory/swap_allocator.h index 000000000000,64970fa9e2f4..64970fa9e2f4 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__memory/swap_allocator.h +++ b/contrib/llvm-project/libcxx/include/__memory/swap_allocator.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/aligned_storage.h index 000000000000,9659a90ae50c..9659a90ae50c mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/aligned_storage.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/aligned_storage.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/aligned_union.h index 000000000000,31eb9353a9e2..31eb9353a9e2 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/aligned_union.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/aligned_union.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/common_reference.h index 000000000000,559d39858ec8..559d39858ec8 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/common_reference.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/common_reference.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/common_type.h index 000000000000,55321e9936dd..55321e9936dd mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/common_type.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/common_type.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/copy_cv.h index 000000000000,8e9bfe0a522f..8e9bfe0a522f mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/copy_cv.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/copy_cv.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/copy_cvref.h index 000000000000,69b97ac1cb17..69b97ac1cb17 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/copy_cvref.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/copy_cvref.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/is_nothrow_convertible.h index 000000000000,712b6f2cf4b8..712b6f2cf4b8 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/is_nothrow_convertible.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/is_nothrow_convertible.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/is_primary_template.h index 000000000000,a9bebcf7e64c..a9bebcf7e64c mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/is_primary_template.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/is_primary_template.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/is_signed_integer.h index 000000000000,95aa11bfa1b5..95aa11bfa1b5 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/is_signed_integer.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/is_signed_integer.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/is_unsigned_integer.h index 000000000000,54b29acd9ea3..54b29acd9ea3 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/is_unsigned_integer.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/is_unsigned_integer.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/is_valid_expansion.h index 000000000000,c45db7509e41..c45db7509e41 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/is_valid_expansion.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/is_valid_expansion.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/lazy.h index 000000000000,6874b06f3c5a..6874b06f3c5a mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/lazy.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/lazy.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/make_32_64_or_128_bit.h index 000000000000,87340eac7fb1..87340eac7fb1 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/make_32_64_or_128_bit.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/make_32_64_or_128_bit.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/make_signed.h index 000000000000,fbc31172a978..fbc31172a978 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/make_signed.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/make_signed.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/make_unsigned.h index 000000000000,8110a5ca9609..8110a5ca9609 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/make_unsigned.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/make_unsigned.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/nat.h index 000000000000,5216ef520420..5216ef520420 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/nat.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/nat.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/promote.h index 000000000000,a9226a74b300..a9226a74b300 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/promote.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/promote.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/remove_cvref.h index 000000000000,d937501fedce..d937501fedce mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/remove_cvref.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/remove_cvref.h diff --cc contrib/llvm-project/libcxx/include/__type_traits/type_list.h index 000000000000,5a9e3319a1d4..5a9e3319a1d4 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/type_list.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/type_list.h diff --cc contrib/llvm-project/llvm/include/llvm/Support/DXILOperationCommon.h index 000000000000,09365411b3e7..09365411b3e7 mode 000000,100644..100644 --- a/contrib/llvm-project/llvm/include/llvm/Support/DXILOperationCommon.h +++ b/contrib/llvm-project/llvm/include/llvm/Support/DXILOperationCommon.h diff --cc contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/SEHFrameSupport.h index 000000000000,f7689e4e4043..f7689e4e4043 mode 000000,100644..100644 --- a/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/SEHFrameSupport.h +++ b/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/SEHFrameSupport.h diff --cc contrib/llvm-project/llvm/lib/Target/DirectX/DXILOpBuilder.cpp index 000000000000,1985bee8e0ae..1985bee8e0ae mode 000000,100644..100644 --- a/contrib/llvm-project/llvm/lib/Target/DirectX/DXILOpBuilder.cpp +++ b/contrib/llvm-project/llvm/lib/Target/DirectX/DXILOpBuilder.cpp diff --cc contrib/llvm-project/llvm/lib/Target/DirectX/DXILOpBuilder.h index 000000000000,0cc39e845b71..0cc39e845b71 mode 000000,100644..100644 --- a/contrib/llvm-project/llvm/lib/Target/DirectX/DXILOpBuilder.h +++ b/contrib/llvm-project/llvm/lib/Target/DirectX/DXILOpBuilder.h diff --cc lib/clang/include/VCSVersion.inc index 28ec17e11314,000000000000..571ed75d3dc9 mode 100644,000000..100644 --- a/lib/clang/include/VCSVersion.inc +++ b/lib/clang/include/VCSVersion.inc @@@ -1,10 -1,0 +1,10 @@@ +// $FreeBSD$ + - #define LLVM_REVISION "llvmorg-15-init-17485-ga3e38b4a206b" ++#define LLVM_REVISION "llvmorg-15-init-17826-g1f8ae9d7e7e4" +#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" + - #define CLANG_REVISION "llvmorg-15-init-17485-ga3e38b4a206b" ++#define CLANG_REVISION "llvmorg-15-init-17826-g1f8ae9d7e7e4" +#define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git" + - #define LLDB_REVISION "llvmorg-15-init-17485-ga3e38b4a206b" ++#define LLDB_REVISION "llvmorg-15-init-17826-g1f8ae9d7e7e4" +#define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --cc lib/clang/include/clang/Config/config.h index 49a883a045a5,000000000000..6c3208239419 mode 100644,000000..100644 --- a/lib/clang/include/clang/Config/config.h +++ b/lib/clang/include/clang/Config/config.h @@@ -1,108 -1,0 +1,108 @@@ +/* $FreeBSD$ */ +/* This generated file is for internal use. Do not include it from headers. */ + +#ifdef CLANG_CONFIG_H +#error config.h can only be included once +#else +#define CLANG_CONFIG_H + +/* Bug report URL. */ +#define BUG_REPORT_URL "https://bugs.freebsd.org/submit/" + +/* Default to -fPIE and -pie on Linux. */ +#define CLANG_DEFAULT_PIE_ON_LINUX 1 + +/* Default linker to use. */ +#define CLANG_DEFAULT_LINKER "" + +/* Default C/ObjC standard to use. */ +/* #undef CLANG_DEFAULT_STD_C */ +/* Always #define something so that missing the config.h #include at use sites + * becomes a compile error. + */ +#ifndef CLANG_DEFAULT_STD_C +#define CLANG_DEFAULT_STD_C LangStandard::lang_unspecified +#endif + +/* Default C++/ObjC++ standard to use. */ +/* #undef CLANG_DEFAULT_STD_CXX */ +/* Always #define something so that missing the config.h #include at use sites + * becomes a compile error. + */ +#ifndef CLANG_DEFAULT_STD_CXX +#define CLANG_DEFAULT_STD_CXX LangStandard::lang_unspecified +#endif + +/* Default C++ stdlib to use. */ +#define CLANG_DEFAULT_CXX_STDLIB "" + +/* Default runtime library to use. */ +#define CLANG_DEFAULT_RTLIB "" + +/* Default unwind library to use. */ +#define CLANG_DEFAULT_UNWINDLIB "" + +/* Default objcopy to use */ +#define CLANG_DEFAULT_OBJCOPY "objcopy" + +/* Default OpenMP runtime used by -fopenmp. */ +#define CLANG_DEFAULT_OPENMP_RUNTIME "libomp" + +/* Default architecture for OpenMP offloading to Nvidia GPUs. */ +#define CLANG_OPENMP_NVPTX_DEFAULT_ARCH "sm_35" + +/* Default architecture for SystemZ. */ +#define CLANG_SYSTEMZ_DEFAULT_ARCH "z10" + +/* Multilib suffix for libdir. */ +#define CLANG_LIBDIR_SUFFIX "" + +/* Relative directory for resource files */ +#define CLANG_RESOURCE_DIR "" + +/* Directories clang will search for headers */ +#define C_INCLUDE_DIRS "" + +/* Directories clang will search for configuration files */ +/* #undef CLANG_CONFIG_FILE_SYSTEM_DIR */ +/* #undef CLANG_CONFIG_FILE_USER_DIR */ + +/* Default to all compiler invocations for --sysroot=. */ +/* #undef DEFAULT_SYSROOT */ + +/* Directory where gcc is installed. */ +#define GCC_INSTALL_PREFIX "" + +/* Define if we have libxml2 */ +/* #undef CLANG_HAVE_LIBXML */ + +/* Define if we have sys/resource.h (rlimits) */ +#define CLANG_HAVE_RLIMITS 1 + +/* The LLVM product name and version */ - #define BACKEND_PACKAGE_STRING "LLVM 15.0.0git" ++#define BACKEND_PACKAGE_STRING "LLVM 15.0.0" + +/* Linker version detected at compile time. */ +/* #undef HOST_LINK_VERSION */ + +/* pass --build-id to ld */ +/* #undef ENABLE_LINKER_BUILD_ID */ + +/* enable x86 relax relocations by default */ +#define ENABLE_X86_RELAX_RELOCATIONS 1 + +/* Enable IEEE binary128 as default long double format on PowerPC Linux. */ +#define PPC_LINUX_DEFAULT_IEEELONGDOUBLE 0 + +/* Enable each functionality of modules */ +/* #undef CLANG_ENABLE_ARCMT */ +/* #undef CLANG_ENABLE_OBJC_REWRITER */ +/* #undef CLANG_ENABLE_STATIC_ANALYZER */ + +/* Spawn a new process clang.exe for the CC1 tool invocation, when necessary */ +#define CLANG_SPAWN_CC1 0 + +/* Whether to enable opaque pointers by default */ +#define CLANG_ENABLE_OPAQUE_POINTERS_INTERNAL 1 + +#endif diff --cc lib/clang/include/lld/Common/Version.inc index 5290875aeba6,000000000000..6e25b65b845e mode 100644,000000..100644 --- a/lib/clang/include/lld/Common/Version.inc +++ b/lib/clang/include/lld/Common/Version.inc @@@ -1,4 -1,0 +1,4 @@@ +// Local identifier in __FreeBSD_version style +#define LLD_FREEBSD_VERSION 1400005 + - #define LLD_VERSION_STRING "15.0.0 (FreeBSD llvmorg-15-init-17485-ga3e38b4a206b-" __XSTRING(LLD_FREEBSD_VERSION) ")" ++#define LLD_VERSION_STRING "15.0.0 (FreeBSD llvmorg-15-init-17826-g1f8ae9d7e7e4-" __XSTRING(LLD_FREEBSD_VERSION) ")" diff --cc lib/clang/include/lldb/Version/Version.inc index f2f189e58e28,000000000000..919499091d2a mode 100644,000000..100644 --- a/lib/clang/include/lldb/Version/Version.inc +++ b/lib/clang/include/lldb/Version/Version.inc @@@ -1,6 -1,0 +1,6 @@@ - #define LLDB_VERSION 15.0.0git - #define LLDB_VERSION_STRING "15.0.0git" ++#define LLDB_VERSION 15.0.0 ++#define LLDB_VERSION_STRING "15.0.0" +#define LLDB_VERSION_MAJOR 15 +#define LLDB_VERSION_MINOR 0 +#define LLDB_VERSION_PATCH 0 +/* #undef LLDB_FULL_VERSION_STRING */ diff --cc lib/clang/include/llvm/Config/config.h index 7b98178f61ac,000000000000..4834ac961e39 mode 100644,000000..100644 --- a/lib/clang/include/llvm/Config/config.h +++ b/lib/clang/include/llvm/Config/config.h @@@ -1,388 -1,0 +1,388 @@@ +/* $FreeBSD$ */ +#ifndef CONFIG_H +#define CONFIG_H + +// Include this header only under the llvm source tree. +// This is a private header. + +/* Exported configuration */ +#include "llvm/Config/llvm-config.h" + +/* Bug report URL. */ +#define BUG_REPORT_URL "https://bugs.freebsd.org/submit/" + +/* Define to 1 to enable backtraces, and to 0 otherwise. */ +#define ENABLE_BACKTRACES 1 + +/* Define to 1 to enable crash overrides, and to 0 otherwise. */ +#define ENABLE_CRASH_OVERRIDES 1 + +/* Define to 1 to enable crash memory dumps, and to 0 otherwise. */ +#define LLVM_ENABLE_CRASH_DUMPS 0 + +/* Define to 1 to prefer forward slashes on Windows, and to 0 prefer + backslashes. */ +#define LLVM_WINDOWS_PREFER_FORWARD_SLASH 0 + +/* Define to 1 if you have the `backtrace' function. */ +#define HAVE_BACKTRACE TRUE + +#define BACKTRACE_HEADER + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_CRASHREPORTERCLIENT_H */ + +/* can use __crashreporter_info__ */ +#if defined(__APPLE__) +#define HAVE_CRASHREPORTER_INFO 1 +#else +#define HAVE_CRASHREPORTER_INFO 0 +#endif + +/* Define to 1 if you have the declaration of `arc4random', and to 0 if you + don't. */ +#define HAVE_DECL_ARC4RANDOM 1 + +/* Define to 1 if you have the declaration of `FE_ALL_EXCEPT', and to 0 if you + don't. */ +#define HAVE_DECL_FE_ALL_EXCEPT 1 + +/* Define to 1 if you have the declaration of `FE_INEXACT', and to 0 if you + don't. */ +#define HAVE_DECL_FE_INEXACT 1 + +/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you + don't. */ +#define HAVE_DECL_STRERROR_S 0 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if dlopen() is available on this platform. */ +#define HAVE_DLOPEN 1 + +/* Define if dladdr() is available on this platform. */ +#define HAVE_DLADDR 1 + +#if !defined(__arm__) || defined(__USING_SJLJ_EXCEPTIONS__) || defined(__ARM_DWARF_EH__) +/* Define to 1 if we can register EH frames on this platform. */ +#define HAVE_REGISTER_FRAME 1 + +/* Define to 1 if we can deregister EH frames on this platform. */ +#define HAVE_DEREGISTER_FRAME 1 +#endif // !arm || USING_SJLJ_EXCEPTIONS || ARM_DWARF_EH_ + +/* Define if __unw_add_dynamic_fde() is available on this platform. */ +/* #undef HAVE_UNW_ADD_DYNAMIC_FDE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ERRNO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define if libffi is available on this platform. */ +/* #undef HAVE_FFI_CALL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FFI_FFI_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FFI_H */ + +/* Define to 1 if you have the `futimens' function. */ +#define HAVE_FUTIMENS 1 + +/* Define to 1 if you have the `futimes' function. */ +#define HAVE_FUTIMES 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrlimit' function. */ +#define HAVE_GETRLIMIT 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `isatty' function. */ +#define HAVE_ISATTY 1 + +/* Define to 1 if you have the `edit' library (-ledit). */ +#define HAVE_LIBEDIT TRUE + +/* Define to 1 if you have the `pfm' library (-lpfm). */ +/* #undef HAVE_LIBPFM */ + +/* Define to 1 if the `perf_branch_entry' struct has field cycles. */ +/* #undef LIBPFM_HAS_FIELD_CYCLES */ + +/* Define to 1 if you have the `psapi' library (-lpsapi). */ +/* #undef HAVE_LIBPSAPI */ + +/* Define to 1 if you have the `pthread' library (-lpthread). */ +#define HAVE_LIBPTHREAD 1 + +/* Define to 1 if you have the `pthread_getname_np' function. */ +#define HAVE_PTHREAD_GETNAME_NP 1 + +/* Define to 1 if you have the `pthread_setname_np' function. */ +#define HAVE_PTHREAD_SETNAME_NP 1 + +/* Define to 1 if you have the header file. */ +#if __has_include() +#define HAVE_LINK_H 1 +#else +#define HAVE_LINK_H 0 +#endif + +/* Define to 1 if you have the `lseek64' function. */ +#if defined(__linux__) +#define HAVE_LSEEK64 1 +#endif + +/* Define to 1 if you have the header file. */ +#if __has_include() +#define HAVE_MACH_MACH_H 1 +#endif + +/* Define to 1 if you have the `mallctl' function. */ +#if defined(__FreeBSD__) +#define HAVE_MALLCTL 1 +#endif + +/* Define to 1 if you have the `mallinfo' function. */ +#if defined(__linux__) +#define HAVE_MALLINFO 1 +#endif + +/* Define to 1 if you have the `mallinfo2' function. */ +/* #undef HAVE_MALLINFO2 */ + +/* Define to 1 if you have the header file. */ +#if __has_include() +#define HAVE_MALLOC_MALLOC_H 1 +#endif + +/* Define to 1 if you have the `malloc_zone_statistics' function. */ +#if defined(__APPLE__) +#define HAVE_MALLOC_ZONE_STATISTICS 1 +#endif + +/* Define to 1 if you have the `posix_spawn' function. */ +#define HAVE_POSIX_SPAWN 1 + +/* Define to 1 if you have the `pread' function. */ +#define HAVE_PREAD 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_PTHREAD_H 1 + +/* Have pthread_mutex_lock */ +#define HAVE_PTHREAD_MUTEX_LOCK 1 + +/* Have pthread_rwlock_init */ +#define HAVE_PTHREAD_RWLOCK_INIT 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `setrlimit' function. */ +#define HAVE_SETRLIMIT 1 + +/* Define to 1 if you have the `sigaltstack' function. */ +#define HAVE_SIGALTSTACK 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the `strerror' function. */ *** 76737 LINES SKIPPED *** From nobody Wed Feb 8 19:07:33 2023 X-Original-To: dev-commits-src-main@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 4PBqJ83fchz3np1J; Wed, 8 Feb 2023 19:07:36 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBqJ82DgSz443w; Wed, 8 Feb 2023 19:07:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883256; 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=Cw0prSeGbGVIg7GSMDvjBM5C9cqvSkHPw1GKwsdfS40=; b=wdjMQDbzUT5wyCBHaKylUT1q1iicdfcxR/WcTiEkNaRz+uLOrt+V6BkuSCK4hQXQ/jACJ+ 5QSnwwx+zAhpskdze8aeCL3QJdz8rwXQmjZAl1XK7YRipWNDC1AOeEV4TibGolnmpi2zEe Drt28Z4T9vm6pshZ0qa5Jbx8SaeBfnoczJ9XPuKlsMnTgqaG+EOZxBfw+Yi1+uX4wBZEwP ESh4p7HeF7C2DaS014EaIuFq8ivRkwxwUxfJJ13/nx6otyv1VKi/dsJkbZEE5/XRqfTKQO dSF1yHGlxP3nOI6Vkhb49oVu6lu2u0wg43t0uzbL5CSyWYz6JtdkoSjcJIXqIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883256; 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=Cw0prSeGbGVIg7GSMDvjBM5C9cqvSkHPw1GKwsdfS40=; b=Ax3se14oMpjEZXHoL0TB2LFHYEnZ25M1PJ546vp4DTZ6djNIopTS7sboDed8eAzz8QYAV/ fE7xbjETacJc1l2iq/UUF3seI8JGPx/EPPeHoTjPIrqNBW1pG1Zz/XbYZj7eB2Tk1mywIL kniYMwMztqvnx8s/79whnUdZjmWtO0855yDwzSz9uAmz1xclnTqhAiSeKXZb2wL8hpmumu 2cMBSMpIdWixwXFL2iP/g8zmh6avWrQOwy+B083/2nJejNo+/EZYYt7VjsuYwYVANNpN9S jf1V6aBJBrvT9jZoXaDlQQaMkk+MuFtiEtdsn2PNVFgf0JdNqzpvS7ivZm86Ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675883256; a=rsa-sha256; cv=none; b=XE6XbwRYOInRjOnZaq1qBsoIAO4gZ7mwiySc30lxCXD3U5Fq43yn/0PG8ai4EawHCPZU5C LaXqg6Rasfewi6TajEGow4LmCoFYNRxHCMxGkxRpXXtg4WqJbzph2gwWVbDzGsUnooqZgc zsK13Nl7FzCHwbMNVbueUWMdp0kUeK4WLUDwQ6TW6Ube4GMfREPIzfhNDT5s7d544fMzk9 DVI+csxmLd1IwqmcqyimefgtkHeoOH+2B1G4d5ehvNBKi5/dyqxNoMLjKBTMUevd9GBMuC V22N9esGhC2JYnZ/fWfcJ8/XREW+m93somm0DOiYNgiqTwrPgqiDA9omM5e7+w== 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 4PBqJ81L52z17KJ; Wed, 8 Feb 2023 19:07:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318J7aH9095716; Wed, 8 Feb 2023 19:07:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318J7Xue095706; Wed, 8 Feb 2023 19:07:33 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:07:33 GMT Message-Id: <202302081907.318J7Xue095706@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 61cfbce3347e - main - Merge llvm-project release/15.x llvmorg-15.0.0-rc2-40-gfbd2950d8d0d List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 61cfbce3347e4372143bcabf7b197577b9f3958a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=61cfbce3347e4372143bcabf7b197577b9f3958a commit 61cfbce3347e4372143bcabf7b197577b9f3958a Merge: 972a253a57b6 677727e8296a Author: Dimitry Andric AuthorDate: 2022-08-13 15:37:04 +0000 Commit: Dimitry Andric CommitDate: 2023-02-08 19:04:56 +0000 Merge llvm-project release/15.x llvmorg-15.0.0-rc2-40-gfbd2950d8d0d This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.0-rc2-40-gfbd2950d8d0d. PR: 265425 MFC after: 2 weeks .../clang/include/clang/AST/DeclTemplate.h | 8 +- .../clang/include/clang/Basic/Module.h | 5 + .../llvm-project/clang/include/clang/Sema/Sema.h | 2 + .../clang/include/clang/Serialization/ASTReader.h | 3 +- contrib/llvm-project/clang/lib/AST/APValue.cpp | 8 +- .../llvm-project/clang/lib/Basic/Targets/X86.cpp | 2 + contrib/llvm-project/clang/lib/Basic/Targets/X86.h | 4 + .../llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp | 8 +- contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp | 15 + .../clang/lib/CodeGen/CodeGenModule.cpp | 10 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp | 13 +- .../clang/lib/Driver/ToolChains/Arch/Sparc.cpp | 25 + .../clang/lib/Driver/ToolChains/Arch/Sparc.h | 3 + .../clang/lib/Driver/ToolChains/Clang.cpp | 21 +- .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 11 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 10 + .../clang/lib/Frontend/FrontendAction.cpp | 2 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 76 ++- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 5 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 8 +- .../clang/lib/Serialization/ASTReader.cpp | 89 ++-- .../compiler-rt/lib/builtins/fp_trunc.h | 2 +- .../compiler-rt/lib/builtins/int_types.h | 2 +- .../lib/sanitizer_common/sanitizer_platform.h | 2 +- .../libcxx/include/__algorithm/adjacent_find.h | 32 +- .../libcxx/include/__algorithm/clamp.h | 4 +- .../llvm-project/libcxx/include/__algorithm/copy.h | 10 +- .../libcxx/include/__algorithm/copy_backward.h | 6 +- .../llvm-project/libcxx/include/__algorithm/fill.h | 2 + .../libcxx/include/__algorithm/fill_n.h | 2 + .../libcxx/include/__algorithm/find_first_of.h | 3 +- .../libcxx/include/__algorithm/inplace_merge.h | 91 ++-- .../libcxx/include/__algorithm/is_permutation.h | 259 ++++++---- .../include/__algorithm/iterator_operations.h | 83 ++- .../libcxx/include/__algorithm/make_heap.h | 4 +- .../libcxx/include/__algorithm/make_projected.h | 98 ++-- .../llvm-project/libcxx/include/__algorithm/move.h | 26 +- .../libcxx/include/__algorithm/move_backward.h | 38 +- .../libcxx/include/__algorithm/next_permutation.h | 36 +- .../libcxx/include/__algorithm/partial_sort.h | 10 +- .../libcxx/include/__algorithm/partial_sort_copy.h | 42 +- .../libcxx/include/__algorithm/pop_heap.h | 4 +- .../libcxx/include/__algorithm/prev_permutation.h | 36 +- .../libcxx/include/__algorithm/push_heap.h | 2 +- .../libcxx/include/__algorithm/ranges_clamp.h | 65 +++ .../include/__algorithm/ranges_inplace_merge.h | 52 +- .../libcxx/include/__algorithm/ranges_is_heap.h | 2 +- .../include/__algorithm/ranges_is_heap_until.h | 2 +- .../include/__algorithm/ranges_is_permutation.h | 89 ++++ .../libcxx/include/__algorithm/ranges_make_heap.h | 2 +- .../libcxx/include/__algorithm/ranges_move.h | 15 +- .../include/__algorithm/ranges_move_backward.h | 5 +- .../include/__algorithm/ranges_next_permutation.h | 72 +++ .../include/__algorithm/ranges_nth_element.h | 2 +- .../include/__algorithm/ranges_partial_sort.h | 2 +- .../include/__algorithm/ranges_partial_sort_copy.h | 19 +- .../libcxx/include/__algorithm/ranges_partition.h | 2 +- .../libcxx/include/__algorithm/ranges_pop_heap.h | 2 +- .../include/__algorithm/ranges_prev_permutation.h | 76 +++ .../libcxx/include/__algorithm/ranges_push_heap.h | 2 +- .../include/__algorithm/ranges_remove_copy.h | 55 +- .../include/__algorithm/ranges_remove_copy_if.h | 58 ++- .../include/__algorithm/ranges_replace_copy.h | 69 +-- .../include/__algorithm/ranges_replace_copy_if.h | 72 +-- .../libcxx/include/__algorithm/ranges_rotate.h | 71 +++ .../libcxx/include/__algorithm/ranges_sample.h | 74 +++ .../libcxx/include/__algorithm/ranges_shuffle.h | 34 +- .../libcxx/include/__algorithm/ranges_sort.h | 2 +- .../libcxx/include/__algorithm/ranges_sort_heap.h | 2 +- .../include/__algorithm/ranges_stable_partition.h | 2 +- .../include/__algorithm/ranges_stable_sort.h | 2 +- .../include/__algorithm/ranges_swap_ranges.h | 11 +- .../libcxx/include/__algorithm/ranges_unique.h | 46 +- .../include/__algorithm/ranges_unique_copy.h | 73 ++- .../libcxx/include/__algorithm/reverse.h | 23 +- .../libcxx/include/__algorithm/rotate.h | 57 ++- .../libcxx/include/__algorithm/sample.h | 48 +- .../libcxx/include/__algorithm/sift_down.h | 4 +- .../libcxx/include/__algorithm/sort_heap.h | 4 +- .../libcxx/include/__algorithm/stable_partition.h | 4 +- .../libcxx/include/__algorithm/stable_sort.h | 2 +- .../libcxx/include/__algorithm/swap_ranges.h | 37 +- .../uniform_random_bit_generator_adaptor.h | 62 +++ .../libcxx/include/__algorithm/unique.h | 48 +- .../libcxx/include/__algorithm/unique_copy.h | 147 +++--- .../libcxx/include/__algorithm/unwrap_range.h | 97 ++++ contrib/llvm-project/libcxx/include/__assert | 11 +- contrib/llvm-project/libcxx/include/__availability | 41 +- .../llvm-project/libcxx/include/__bit_reference | 243 +++++---- .../include/__iterator/incrementable_traits.h | 1 + .../libcxx/include/__iterator/iterator_traits.h | 7 + .../libcxx/include/__iterator/reverse_iterator.h | 14 +- .../libcxx/include/__memory/construct_at.h | 3 +- .../libcxx/include/__memory/pointer_traits.h | 28 +- .../include/__memory/uninitialized_algorithms.h | 7 +- .../llvm-project/libcxx/include/__ranges/size.h | 1 + contrib/llvm-project/libcxx/include/__split_buffer | 134 +++-- .../llvm-project/libcxx/include/__verbose_abort | 51 ++ contrib/llvm-project/libcxx/include/algorithm | 219 +++++++- contrib/llvm-project/libcxx/include/format | 101 ++-- contrib/llvm-project/libcxx/include/memory | 26 +- .../libcxx/include/module.modulemap.in | 16 +- contrib/llvm-project/libcxx/include/vector | 557 ++++++++++++--------- contrib/llvm-project/libcxx/include/version | 8 +- .../libcxx/src/include/sso_allocator.h | 5 + .../libcxx/src/{assert.cpp => verbose_abort.cpp} | 22 +- contrib/llvm-project/lld/COFF/Driver.cpp | 17 +- contrib/llvm-project/lld/COFF/Driver.h | 4 +- contrib/llvm-project/lld/COFF/DriverUtils.cpp | 3 + contrib/llvm-project/lld/COFF/MinGW.cpp | 10 +- contrib/llvm-project/lld/COFF/MinGW.h | 6 +- contrib/llvm-project/lld/COFF/Options.td | 2 + contrib/llvm-project/lld/COFF/PDB.cpp | 4 + contrib/llvm-project/lld/ELF/Arch/AArch64.cpp | 4 +- contrib/llvm-project/lld/ELF/Config.h | 1 + contrib/llvm-project/lld/ELF/Driver.cpp | 6 +- contrib/llvm-project/lld/ELF/Options.td | 2 + contrib/llvm-project/lld/ELF/Relocations.cpp | 3 +- contrib/llvm-project/lld/ELF/SyntheticSections.cpp | 17 + contrib/llvm-project/lld/ELF/SyntheticSections.h | 10 + contrib/llvm-project/lld/ELF/Writer.cpp | 5 + contrib/llvm-project/lld/MachO/Arch/ARM64.cpp | 2 +- contrib/llvm-project/lld/MachO/DriverUtils.cpp | 2 +- contrib/llvm-project/lld/MachO/EhFrame.cpp | 10 +- contrib/llvm-project/lld/MachO/EhFrame.h | 8 +- contrib/llvm-project/lld/MachO/InputFiles.cpp | 118 ++++- contrib/llvm-project/lld/MachO/InputFiles.h | 17 +- .../llvm-project/lld/MachO/UnwindInfoSection.cpp | 8 +- contrib/llvm-project/lld/MachO/Writer.cpp | 122 ++--- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 144 +++++- .../llvm-project/lldb/source/Core/Disassembler.cpp | 1 + .../include/llvm/Analysis/TargetTransformInfo.h | 9 + .../llvm/Analysis/TargetTransformInfoImpl.h | 2 + .../llvm/include/llvm/BinaryFormat/ELF.h | 1 + .../llvm/include/llvm/CodeGen/ISDOpcodes.h | 5 + .../include/llvm/DebugInfo/CodeView/CodeView.h | 3 + .../ExecutorSharedMemoryMapperService.h | 3 + .../Orc/TargetProcess/JITLoaderGDB.h | 3 + contrib/llvm-project/llvm/include/llvm/IR/Type.h | 5 + .../llvm/include/llvm/Support/ErrorHandling.h | 6 +- .../llvm-project/llvm/include/llvm/Support/Host.h | 1 + .../llvm/lib/Analysis/ConstantFolding.cpp | 4 +- .../llvm/lib/Analysis/TargetTransformInfo.cpp | 4 + .../llvm/lib/CodeGen/MachineScheduler.cpp | 2 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 45 +- .../llvm/lib/DebugInfo/PDB/Native/FormatUtil.cpp | 7 + .../IntelJITEvents/IntelJITEventListener.cpp | 1 + .../llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp | 22 +- .../ExecutorSharedMemoryMapperService.cpp | 7 +- contrib/llvm-project/llvm/lib/Support/Host.cpp | 108 ++++ .../lib/Target/AArch64/AArch64ISelLowering.cpp | 47 +- .../Target/AArch64/AArch64TargetTransformInfo.h | 4 + .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 2 +- contrib/llvm-project/llvm/lib/Target/ARM/ARM.td | 9 + .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 3 +- .../llvm/lib/Target/PowerPC/PPCFastISel.cpp | 5 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 8 +- .../llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp | 25 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 96 ++-- .../llvm/lib/Target/X86/X86ISelLowering.h | 12 + .../lib/Transforms/IPO/AttributorAttributes.cpp | 13 +- .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 12 + .../Transforms/Utils/RelLookupTableConverter.cpp | 8 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 15 +- contrib/llvm-project/llvm/tools/lli/lli.cpp | 3 +- .../llvm-project/llvm/tools/llvm-ar/llvm-ar.cpp | 33 +- .../openmp/runtime/src/kmp_dispatch.cpp | 2 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/clang/libllvm/Makefile | 4 +- lib/libc++/Makefile | 11 +- sys/conf/kern.mk | 5 + 173 files changed, 3752 insertions(+), 1469 deletions(-) diff --cc contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h index 725bb0bced9c,baed5ca22fa7..baed5ca22fa7 mode 100755,100644..100755 --- a/contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h +++ b/contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h diff --cc contrib/llvm-project/libcxx/include/__algorithm/ranges_clamp.h index 000000000000,bdde97e178a7..bdde97e178a7 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__algorithm/ranges_clamp.h +++ b/contrib/llvm-project/libcxx/include/__algorithm/ranges_clamp.h diff --cc contrib/llvm-project/libcxx/include/__algorithm/ranges_is_permutation.h index 000000000000,41e302fe99dc..41e302fe99dc mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__algorithm/ranges_is_permutation.h +++ b/contrib/llvm-project/libcxx/include/__algorithm/ranges_is_permutation.h diff --cc contrib/llvm-project/libcxx/include/__algorithm/ranges_next_permutation.h index 000000000000,34c5fee04050..34c5fee04050 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__algorithm/ranges_next_permutation.h +++ b/contrib/llvm-project/libcxx/include/__algorithm/ranges_next_permutation.h diff --cc contrib/llvm-project/libcxx/include/__algorithm/ranges_prev_permutation.h index 000000000000,58da606d07f7..58da606d07f7 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__algorithm/ranges_prev_permutation.h +++ b/contrib/llvm-project/libcxx/include/__algorithm/ranges_prev_permutation.h diff --cc contrib/llvm-project/libcxx/include/__algorithm/ranges_rotate.h index 000000000000,1cd69a141fe3..1cd69a141fe3 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__algorithm/ranges_rotate.h +++ b/contrib/llvm-project/libcxx/include/__algorithm/ranges_rotate.h diff --cc contrib/llvm-project/libcxx/include/__algorithm/ranges_sample.h index 000000000000,a8477f803788..a8477f803788 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__algorithm/ranges_sample.h +++ b/contrib/llvm-project/libcxx/include/__algorithm/ranges_sample.h diff --cc contrib/llvm-project/libcxx/include/__algorithm/uniform_random_bit_generator_adaptor.h index 000000000000,04a67752dd0b..04a67752dd0b mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__algorithm/uniform_random_bit_generator_adaptor.h +++ b/contrib/llvm-project/libcxx/include/__algorithm/uniform_random_bit_generator_adaptor.h diff --cc contrib/llvm-project/libcxx/include/__algorithm/unwrap_range.h index 000000000000,745906a96e15..745906a96e15 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__algorithm/unwrap_range.h +++ b/contrib/llvm-project/libcxx/include/__algorithm/unwrap_range.h diff --cc contrib/llvm-project/libcxx/include/__verbose_abort index 000000000000,3c9cba824ce0..3c9cba824ce0 mode 000000,100644..100644 --- a/contrib/llvm-project/libcxx/include/__verbose_abort +++ b/contrib/llvm-project/libcxx/include/__verbose_abort diff --cc lib/clang/include/VCSVersion.inc index 571ed75d3dc9,000000000000..4756d002a956 mode 100644,000000..100644 --- a/lib/clang/include/VCSVersion.inc +++ b/lib/clang/include/VCSVersion.inc @@@ -1,10 -1,0 +1,10 @@@ +// $FreeBSD$ + - #define LLVM_REVISION "llvmorg-15-init-17826-g1f8ae9d7e7e4" ++#define LLVM_REVISION "llvmorg-15.0.0-rc2-40-gfbd2950d8d0d" +#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" + - #define CLANG_REVISION "llvmorg-15-init-17826-g1f8ae9d7e7e4" ++#define CLANG_REVISION "llvmorg-15.0.0-rc2-40-gfbd2950d8d0d" +#define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git" + - #define LLDB_REVISION "llvmorg-15-init-17826-g1f8ae9d7e7e4" ++#define LLDB_REVISION "llvmorg-15.0.0-rc2-40-gfbd2950d8d0d" +#define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --cc lib/clang/include/lld/Common/Version.inc index 6e25b65b845e,000000000000..eaf7ae8ff492 mode 100644,000000..100644 --- a/lib/clang/include/lld/Common/Version.inc +++ b/lib/clang/include/lld/Common/Version.inc @@@ -1,4 -1,0 +1,4 @@@ +// Local identifier in __FreeBSD_version style +#define LLD_FREEBSD_VERSION 1400005 + - #define LLD_VERSION_STRING "15.0.0 (FreeBSD llvmorg-15-init-17826-g1f8ae9d7e7e4-" __XSTRING(LLD_FREEBSD_VERSION) ")" ++#define LLD_VERSION_STRING "15.0.0 (FreeBSD llvmorg-15.0.0-rc2-40-gfbd2950d8d0d-" __XSTRING(LLD_FREEBSD_VERSION) ")" diff --cc lib/clang/include/llvm/Support/VCSRevision.h index 1405a0d08395,000000000000..8fd2403121b2 mode 100644,000000..100644 --- a/lib/clang/include/llvm/Support/VCSRevision.h +++ b/lib/clang/include/llvm/Support/VCSRevision.h @@@ -1,3 -1,0 +1,3 @@@ +/* $FreeBSD$ */ - #define LLVM_REVISION "llvmorg-15-init-17826-g1f8ae9d7e7e4" ++#define LLVM_REVISION "llvmorg-15.0.0-rc2-40-gfbd2950d8d0d" +#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --cc lib/clang/libllvm/Makefile index 9020bda31574,000000000000..01fe0705d954 mode 100644,000000..100644 --- a/lib/clang/libllvm/Makefile +++ b/lib/clang/libllvm/Makefile @@@ -1,2132 -1,0 +1,2134 @@@ +# $FreeBSD$ + +.include +.include "../llvm.pre.mk" + +LIB= llvm +INTERNALLIB= + +CFLAGS+= -I${.OBJDIR} + +.if ${MK_LLVM_TARGET_AARCH64} == "no" && ${MK_LLVM_TARGET_ARM} == "no" && \ + ${MK_LLVM_TARGET_BPF} == "no" && ${MK_LLVM_TARGET_MIPS} == "no" && \ + ${MK_LLVM_TARGET_POWERPC} == "no" && ${MK_LLVM_TARGET_RISCV} == "no" && \ + ${MK_LLVM_TARGET_X86} == "no" +.error Please enable at least one of: MK_LLVM_TARGET_AARCH64,\ + MK_LLVM_TARGET_ARM, MK_LLVM_TARGET_BPF, MK_LLVM_TARGET_MIPS, \ + MK_LLVM_TARGET_POWERPC, MK_LLVM_TARGET_RISCV, or MK_LLVM_TARGET_X86 +.endif + +.for arch in AArch64 ARM BPF Mips PowerPC RISCV X86 +. if ${MK_LLVM_TARGET_${arch:tu}} != "no" +CFLAGS+= -I${LLVM_SRCS}/lib/Target/${arch} +. endif +.endfor + +CFLAGS+= -I${LLVM_SRCS}/lib/ObjCopy + ++TARGET_ARCH?= ${MACHINE_ARCH} ++ +.if ${TARGET_ARCH} != "amd64" +CFLAGS+= -DBLAKE3_NO_AVX512 -DBLAKE3_NO_AVX2 -DBLAKE3_NO_SSE41 \ + -DBLAKE3_NO_SSE2 +.endif + +SRCDIR= llvm/lib + +# Explanation of different SRCS variants below: +# SRCS_MIN: always required, even for bootstrap +# SRCS_MIW: required for world stage (after cross-tools) +# SRCS_EXT: required for MK_CLANG_EXTRAS +# SRCS_EXL: required for MK_CLANG_EXTRAS and MK_LLD +# SRCS_FUL: required for MK_CLANG_FULL +# SRCS_LLD: required for MK_LLD +# SRCS_XDB: required for MK_CLANG_EXTRAS and MK_LLDB +# SRCS_XDL: required for MK_CLANG_EXTRAS, MK_LLD and MK_LLDB +# SRCS_XDW: required for MK_CLANG_EXTRAS and MK_LLDB in world stage + +SRCS_MIN+= Analysis/AliasAnalysis.cpp +SRCS_MIN+= Analysis/AliasAnalysisEvaluator.cpp +SRCS_MIN+= Analysis/AliasAnalysisSummary.cpp +SRCS_MIN+= Analysis/AliasSetTracker.cpp +SRCS_EXT+= Analysis/Analysis.cpp +SRCS_MIN+= Analysis/AssumeBundleQueries.cpp +SRCS_MIN+= Analysis/AssumptionCache.cpp +SRCS_MIN+= Analysis/BasicAliasAnalysis.cpp +SRCS_MIN+= Analysis/BlockFrequencyInfo.cpp +SRCS_MIN+= Analysis/BlockFrequencyInfoImpl.cpp +SRCS_MIN+= Analysis/BranchProbabilityInfo.cpp +SRCS_MIN+= Analysis/CFG.cpp +SRCS_MIN+= Analysis/CFGPrinter.cpp +SRCS_MIN+= Analysis/CFLAndersAliasAnalysis.cpp +SRCS_MIN+= Analysis/CFLSteensAliasAnalysis.cpp +SRCS_MIN+= Analysis/CGSCCPassManager.cpp +SRCS_MIN+= Analysis/CallGraph.cpp +SRCS_MIN+= Analysis/CallGraphSCCPass.cpp +SRCS_MIN+= Analysis/CallPrinter.cpp +SRCS_MIN+= Analysis/CaptureTracking.cpp +SRCS_MIN+= Analysis/CmpInstAnalysis.cpp +SRCS_MIN+= Analysis/CodeMetrics.cpp +SRCS_MIN+= Analysis/ConstantFolding.cpp +SRCS_MIN+= Analysis/ConstraintSystem.cpp +SRCS_MIN+= Analysis/CostModel.cpp +SRCS_MIN+= Analysis/CycleAnalysis.cpp +SRCS_MIN+= Analysis/DDG.cpp +SRCS_MIN+= Analysis/DDGPrinter.cpp +SRCS_MIN+= Analysis/Delinearization.cpp +SRCS_MIN+= Analysis/DemandedBits.cpp +SRCS_MIN+= Analysis/DependenceAnalysis.cpp +SRCS_MIN+= Analysis/DependenceGraphBuilder.cpp +SRCS_MIN+= Analysis/DivergenceAnalysis.cpp +SRCS_MIN+= Analysis/DomPrinter.cpp +SRCS_MIN+= Analysis/DomTreeUpdater.cpp +SRCS_MIN+= Analysis/DominanceFrontier.cpp +SRCS_MIN+= Analysis/EHPersonalities.cpp +SRCS_MIN+= Analysis/FunctionPropertiesAnalysis.cpp +SRCS_MIN+= Analysis/GlobalsModRef.cpp +SRCS_MIN+= Analysis/GuardUtils.cpp +SRCS_MIN+= Analysis/HeatUtils.cpp +SRCS_MIN+= Analysis/IRSimilarityIdentifier.cpp +SRCS_MIN+= Analysis/IVDescriptors.cpp +SRCS_MIN+= Analysis/IVUsers.cpp +SRCS_MIN+= Analysis/ImportedFunctionsInliningStatistics.cpp +SRCS_MIN+= Analysis/IndirectCallPromotionAnalysis.cpp +SRCS_MIN+= Analysis/InlineAdvisor.cpp +SRCS_MIN+= Analysis/InlineCost.cpp +SRCS_MIN+= Analysis/InlineSizeEstimatorAnalysis.cpp +SRCS_MIN+= Analysis/InstCount.cpp +SRCS_MIN+= Analysis/InstructionPrecedenceTracking.cpp +SRCS_MIN+= Analysis/InstructionSimplify.cpp +SRCS_MIN+= Analysis/Interval.cpp +SRCS_MIN+= Analysis/IntervalPartition.cpp +SRCS_MIN+= Analysis/LazyBlockFrequencyInfo.cpp +SRCS_MIN+= Analysis/LazyBranchProbabilityInfo.cpp +SRCS_MIN+= Analysis/LazyCallGraph.cpp +SRCS_MIN+= Analysis/LazyValueInfo.cpp +SRCS_MIN+= Analysis/LegacyDivergenceAnalysis.cpp +SRCS_MIN+= Analysis/Lint.cpp +SRCS_MIN+= Analysis/Loads.cpp +SRCS_MIN+= Analysis/LoopAccessAnalysis.cpp +SRCS_MIN+= Analysis/LoopAnalysisManager.cpp +SRCS_MIN+= Analysis/LoopCacheAnalysis.cpp +SRCS_MIN+= Analysis/LoopInfo.cpp +SRCS_MIN+= Analysis/LoopNestAnalysis.cpp +SRCS_MIN+= Analysis/LoopPass.cpp +SRCS_MIN+= Analysis/LoopUnrollAnalyzer.cpp +SRCS_MIN+= Analysis/MemDepPrinter.cpp +SRCS_MIN+= Analysis/MemDerefPrinter.cpp +SRCS_MIN+= Analysis/MemoryBuiltins.cpp +SRCS_MIN+= Analysis/MemoryDependenceAnalysis.cpp +SRCS_MIN+= Analysis/MemoryLocation.cpp +SRCS_MIN+= Analysis/MemorySSA.cpp +SRCS_MIN+= Analysis/MemorySSAUpdater.cpp +SRCS_MIN+= Analysis/ModuleDebugInfoPrinter.cpp +SRCS_MIN+= Analysis/ModuleSummaryAnalysis.cpp +SRCS_MIN+= Analysis/MustExecute.cpp +SRCS_MIN+= Analysis/ObjCARCAliasAnalysis.cpp +SRCS_MIN+= Analysis/ObjCARCAnalysisUtils.cpp +SRCS_MIN+= Analysis/ObjCARCInstKind.cpp +SRCS_MIN+= Analysis/OptimizationRemarkEmitter.cpp +SRCS_MIN+= Analysis/OverflowInstAnalysis.cpp +SRCS_MIN+= Analysis/PHITransAddr.cpp +SRCS_MIN+= Analysis/PhiValues.cpp +SRCS_MIN+= Analysis/PostDominators.cpp +SRCS_MIN+= Analysis/ProfileSummaryInfo.cpp +SRCS_MIN+= Analysis/PtrUseVisitor.cpp +SRCS_MIN+= Analysis/RegionInfo.cpp +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 +SRCS_MIN+= Analysis/ScopedNoAliasAA.cpp +SRCS_MIN+= Analysis/StackLifetime.cpp +SRCS_MIN+= Analysis/StackSafetyAnalysis.cpp +SRCS_MIN+= Analysis/SyncDependenceAnalysis.cpp +SRCS_MIN+= Analysis/SyntheticCountsUtils.cpp +SRCS_MIN+= Analysis/TargetLibraryInfo.cpp +SRCS_MIN+= Analysis/TargetTransformInfo.cpp +SRCS_MIN+= Analysis/TensorSpec.cpp +SRCS_MIN+= Analysis/TypeBasedAliasAnalysis.cpp +SRCS_MIN+= Analysis/TypeMetadataUtils.cpp +SRCS_MIN+= Analysis/VFABIDemangling.cpp +SRCS_MIN+= Analysis/ValueLattice.cpp +SRCS_MIN+= Analysis/ValueLatticeUtils.cpp +SRCS_MIN+= Analysis/ValueTracking.cpp +SRCS_MIN+= Analysis/VectorUtils.cpp +SRCS_MIN+= AsmParser/LLLexer.cpp +SRCS_MIN+= AsmParser/LLParser.cpp +SRCS_MIN+= AsmParser/Parser.cpp +SRCS_MIN+= BinaryFormat/AMDGPUMetadataVerifier.cpp +SRCS_MIN+= BinaryFormat/COFF.cpp +SRCS_MIN+= BinaryFormat/Dwarf.cpp +SRCS_MIN+= BinaryFormat/Magic.cpp +SRCS_MIN+= BinaryFormat/MachO.cpp +SRCS_MIN+= BinaryFormat/MsgPackDocument.cpp +SRCS_MIN+= BinaryFormat/MsgPackDocumentYAML.cpp +SRCS_MIN+= BinaryFormat/MsgPackReader.cpp +SRCS_MIN+= BinaryFormat/MsgPackWriter.cpp +SRCS_MIN+= BinaryFormat/Wasm.cpp +SRCS_MIN+= BinaryFormat/XCOFF.cpp +SRCS_MIN+= Bitcode/Reader/BitReader.cpp +SRCS_EXT+= Bitcode/Reader/BitcodeAnalyzer.cpp +SRCS_MIN+= Bitcode/Reader/BitcodeReader.cpp +SRCS_MIN+= Bitcode/Reader/MetadataLoader.cpp +SRCS_MIN+= Bitcode/Reader/ValueList.cpp +SRCS_MIN+= Bitcode/Writer/BitcodeWriter.cpp +SRCS_MIN+= Bitcode/Writer/BitcodeWriterPass.cpp +SRCS_MIN+= Bitcode/Writer/ValueEnumerator.cpp +SRCS_MIN+= Bitstream/Reader/BitstreamReader.cpp +SRCS_MIN+= CodeGen/AggressiveAntiDepBreaker.cpp +SRCS_MIN+= CodeGen/AllocationOrder.cpp +SRCS_MIN+= CodeGen/Analysis.cpp +SRCS_MIN+= CodeGen/AsmPrinter/AIXException.cpp +SRCS_MIN+= CodeGen/AsmPrinter/ARMException.cpp +SRCS_MIN+= CodeGen/AsmPrinter/AccelTable.cpp +SRCS_MIN+= CodeGen/AsmPrinter/AddressPool.cpp +SRCS_MIN+= CodeGen/AsmPrinter/AsmPrinter.cpp +SRCS_MIN+= CodeGen/AsmPrinter/AsmPrinterDwarf.cpp +SRCS_MIN+= CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp +SRCS_MIN+= CodeGen/AsmPrinter/CodeViewDebug.cpp +SRCS_MIN+= CodeGen/AsmPrinter/DIE.cpp +SRCS_MIN+= CodeGen/AsmPrinter/DIEHash.cpp +SRCS_MIN+= CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp +SRCS_MIN+= CodeGen/AsmPrinter/DebugHandlerBase.cpp +SRCS_MIN+= CodeGen/AsmPrinter/DebugLocStream.cpp +SRCS_MIN+= CodeGen/AsmPrinter/DwarfCFIException.cpp +SRCS_MIN+= CodeGen/AsmPrinter/DwarfCompileUnit.cpp +SRCS_MIN+= CodeGen/AsmPrinter/DwarfDebug.cpp +SRCS_MIN+= CodeGen/AsmPrinter/DwarfExpression.cpp +SRCS_MIN+= CodeGen/AsmPrinter/DwarfFile.cpp +SRCS_MIN+= CodeGen/AsmPrinter/DwarfStringPool.cpp +SRCS_MIN+= CodeGen/AsmPrinter/DwarfUnit.cpp +SRCS_MIN+= CodeGen/AsmPrinter/EHStreamer.cpp +SRCS_EXT+= CodeGen/AsmPrinter/ErlangGCPrinter.cpp +SRCS_MIN+= CodeGen/AsmPrinter/OcamlGCPrinter.cpp +SRCS_MIN+= CodeGen/AsmPrinter/PseudoProbePrinter.cpp +SRCS_MIN+= CodeGen/AsmPrinter/WasmException.cpp +SRCS_MIN+= CodeGen/AsmPrinter/WinCFGuard.cpp +SRCS_MIN+= CodeGen/AsmPrinter/WinException.cpp +SRCS_MIN+= CodeGen/AtomicExpandPass.cpp +SRCS_MIN+= CodeGen/BasicBlockSections.cpp +SRCS_MIN+= CodeGen/BasicBlockSectionsProfileReader.cpp +SRCS_MIN+= CodeGen/BasicTargetTransformInfo.cpp +SRCS_MIN+= CodeGen/BranchFolding.cpp +SRCS_MIN+= CodeGen/BranchRelaxation.cpp +SRCS_MIN+= CodeGen/BreakFalseDeps.cpp +SRCS_MIN+= CodeGen/CFGuardLongjmp.cpp +SRCS_MIN+= CodeGen/CFIFixup.cpp +SRCS_MIN+= CodeGen/CFIInstrInserter.cpp +SRCS_MIN+= CodeGen/CalcSpillWeights.cpp +SRCS_MIN+= CodeGen/CallingConvLower.cpp +SRCS_MIN+= CodeGen/CodeGen.cpp +SRCS_MIN+= CodeGen/CodeGenCommonISel.cpp +SRCS_MIN+= CodeGen/CodeGenPrepare.cpp +SRCS_EXL+= CodeGen/CommandFlags.cpp +SRCS_MIN+= CodeGen/CriticalAntiDepBreaker.cpp +SRCS_MIN+= CodeGen/DFAPacketizer.cpp +SRCS_MIN+= CodeGen/DeadMachineInstructionElim.cpp +SRCS_MIN+= CodeGen/DetectDeadLanes.cpp +SRCS_MIN+= CodeGen/DwarfEHPrepare.cpp +SRCS_MIN+= CodeGen/EHContGuardCatchret.cpp +SRCS_MIN+= CodeGen/EarlyIfConversion.cpp +SRCS_MIN+= CodeGen/EdgeBundles.cpp +SRCS_MIN+= CodeGen/ExecutionDomainFix.cpp +SRCS_MIN+= CodeGen/ExpandMemCmp.cpp +SRCS_MIN+= CodeGen/ExpandPostRAPseudos.cpp +SRCS_MIN+= CodeGen/ExpandReductions.cpp +SRCS_MIN+= CodeGen/ExpandVectorPredication.cpp +SRCS_MIN+= CodeGen/FEntryInserter.cpp +SRCS_MIN+= CodeGen/FaultMaps.cpp +SRCS_MIN+= CodeGen/FinalizeISel.cpp +SRCS_MIN+= CodeGen/FixupStatepointCallerSaved.cpp +SRCS_MIN+= CodeGen/FuncletLayout.cpp +SRCS_MIN+= CodeGen/GCMetadata.cpp +SRCS_MIN+= CodeGen/GCMetadataPrinter.cpp +SRCS_MIN+= CodeGen/GCRootLowering.cpp +SRCS_MIN+= CodeGen/GlobalISel/CSEInfo.cpp +SRCS_MIN+= CodeGen/GlobalISel/CSEMIRBuilder.cpp +SRCS_MIN+= CodeGen/GlobalISel/Combiner.cpp +SRCS_MIN+= CodeGen/GlobalISel/CombinerHelper.cpp +SRCS_MIN+= CodeGen/GlobalISel/CallLowering.cpp +SRCS_MIN+= CodeGen/GlobalISel/GISelChangeObserver.cpp +SRCS_MIN+= CodeGen/GlobalISel/GISelKnownBits.cpp +SRCS_MIN+= CodeGen/GlobalISel/GlobalISel.cpp +SRCS_MIN+= CodeGen/GlobalISel/IRTranslator.cpp +SRCS_MIN+= CodeGen/GlobalISel/InlineAsmLowering.cpp +SRCS_MIN+= CodeGen/GlobalISel/InstructionSelect.cpp +SRCS_MIN+= CodeGen/GlobalISel/InstructionSelector.cpp +SRCS_MIN+= CodeGen/GlobalISel/LegacyLegalizerInfo.cpp +SRCS_MIN+= CodeGen/GlobalISel/LegalityPredicates.cpp +SRCS_MIN+= CodeGen/GlobalISel/LegalizeMutations.cpp +SRCS_MIN+= CodeGen/GlobalISel/Legalizer.cpp +SRCS_MIN+= CodeGen/GlobalISel/LegalizerHelper.cpp +SRCS_MIN+= CodeGen/GlobalISel/LegalizerInfo.cpp +SRCS_MIN+= CodeGen/GlobalISel/LoadStoreOpt.cpp +SRCS_MIN+= CodeGen/GlobalISel/Localizer.cpp +SRCS_MIN+= CodeGen/GlobalISel/LostDebugLocObserver.cpp +SRCS_MIN+= CodeGen/GlobalISel/MachineIRBuilder.cpp +SRCS_MIN+= CodeGen/GlobalISel/RegBankSelect.cpp +SRCS_MIN+= CodeGen/GlobalISel/Utils.cpp +SRCS_MIN+= CodeGen/GlobalMerge.cpp +SRCS_MIN+= CodeGen/HardwareLoops.cpp +SRCS_MIN+= CodeGen/IfConversion.cpp +SRCS_MIN+= CodeGen/ImplicitNullChecks.cpp +SRCS_MIN+= CodeGen/IndirectBrExpandPass.cpp +SRCS_MIN+= CodeGen/InlineSpiller.cpp +SRCS_MIN+= CodeGen/InterferenceCache.cpp +SRCS_MIN+= CodeGen/InterleavedAccessPass.cpp +SRCS_MIN+= CodeGen/InterleavedLoadCombinePass.cpp +SRCS_MIN+= CodeGen/IntrinsicLowering.cpp +SRCS_MIN+= CodeGen/JMCInstrumenter.cpp +SRCS_MIN+= CodeGen/LLVMTargetMachine.cpp +SRCS_MIN+= CodeGen/LatencyPriorityQueue.cpp +SRCS_MIN+= CodeGen/LazyMachineBlockFrequencyInfo.cpp +SRCS_MIN+= CodeGen/LexicalScopes.cpp +SRCS_MIN+= CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp +SRCS_MIN+= CodeGen/LiveDebugValues/LiveDebugValues.cpp +SRCS_MIN+= CodeGen/LiveDebugValues/VarLocBasedImpl.cpp +SRCS_MIN+= CodeGen/LiveDebugVariables.cpp +SRCS_MIN+= CodeGen/LiveInterval.cpp +SRCS_MIN+= CodeGen/LiveIntervalCalc.cpp +SRCS_MIN+= CodeGen/LiveIntervalUnion.cpp +SRCS_MIN+= CodeGen/LiveIntervals.cpp +SRCS_MIN+= CodeGen/LivePhysRegs.cpp +SRCS_MIN+= CodeGen/LiveRangeCalc.cpp +SRCS_MIN+= CodeGen/LiveRangeEdit.cpp +SRCS_MIN+= CodeGen/LiveRangeShrink.cpp +SRCS_MIN+= CodeGen/LiveRegMatrix.cpp +SRCS_MIN+= CodeGen/LiveRegUnits.cpp +SRCS_MIN+= CodeGen/LiveStacks.cpp +SRCS_MIN+= CodeGen/LiveVariables.cpp +SRCS_MIN+= CodeGen/LocalStackSlotAllocation.cpp +SRCS_MIN+= CodeGen/LoopTraversal.cpp +SRCS_MIN+= CodeGen/LowLevelType.cpp +SRCS_MIN+= CodeGen/LowerEmuTLS.cpp +SRCS_MIN+= CodeGen/MBFIWrapper.cpp +SRCS_MIN+= CodeGen/MIRCanonicalizerPass.cpp +SRCS_MIN+= CodeGen/MIRFSDiscriminator.cpp +SRCS_MIN+= CodeGen/MIRNamerPass.cpp +SRCS_EXT+= CodeGen/MIRParser/MILexer.cpp +SRCS_EXT+= CodeGen/MIRParser/MIParser.cpp +SRCS_EXT+= CodeGen/MIRParser/MIRParser.cpp +SRCS_MIN+= CodeGen/MIRPrinter.cpp +SRCS_MIN+= CodeGen/MIRPrintingPass.cpp +SRCS_MIN+= CodeGen/MIRSampleProfile.cpp +SRCS_MIN+= CodeGen/MIRVRegNamerUtils.cpp +SRCS_MIN+= CodeGen/MLRegallocEvictAdvisor.cpp +SRCS_MIN+= CodeGen/MachineBasicBlock.cpp +SRCS_MIN+= CodeGen/MachineBlockFrequencyInfo.cpp +SRCS_MIN+= CodeGen/MachineBlockPlacement.cpp +SRCS_MIN+= CodeGen/MachineBranchProbabilityInfo.cpp +SRCS_MIN+= CodeGen/MachineCSE.cpp +SRCS_MIN+= CodeGen/MachineCheckDebugify.cpp +SRCS_MIN+= CodeGen/MachineCombiner.cpp +SRCS_MIN+= CodeGen/MachineCopyPropagation.cpp +SRCS_MIN+= CodeGen/MachineCycleAnalysis.cpp +SRCS_MIN+= CodeGen/MachineDebugify.cpp +SRCS_MIN+= CodeGen/MachineDominanceFrontier.cpp +SRCS_MIN+= CodeGen/MachineDominators.cpp +SRCS_MIN+= CodeGen/MachineFrameInfo.cpp +SRCS_MIN+= CodeGen/MachineFunction.cpp +SRCS_MIN+= CodeGen/MachineFunctionPass.cpp +SRCS_MIN+= CodeGen/MachineFunctionPrinterPass.cpp +SRCS_MIN+= CodeGen/MachineFunctionSplitter.cpp +SRCS_MIN+= CodeGen/MachineInstr.cpp +SRCS_MIN+= CodeGen/MachineInstrBundle.cpp +SRCS_MIN+= CodeGen/MachineLICM.cpp +SRCS_MIN+= CodeGen/MachineLoopInfo.cpp +SRCS_MIN+= CodeGen/MachineLoopUtils.cpp +SRCS_MIN+= CodeGen/MachineModuleInfo.cpp +SRCS_MIN+= CodeGen/MachineModuleInfoImpls.cpp +SRCS_MIN+= CodeGen/MachineModuleSlotTracker.cpp +SRCS_MIN+= CodeGen/MachineOperand.cpp +SRCS_MIN+= CodeGen/MachineOptimizationRemarkEmitter.cpp +SRCS_MIN+= CodeGen/MachineOutliner.cpp +SRCS_MIN+= CodeGen/MachinePipeliner.cpp +SRCS_MIN+= CodeGen/MachinePostDominators.cpp +SRCS_MIN+= CodeGen/MachineRegionInfo.cpp +SRCS_MIN+= CodeGen/MachineRegisterInfo.cpp +SRCS_MIN+= CodeGen/MachineSSAContext.cpp +SRCS_MIN+= CodeGen/MachineSSAUpdater.cpp +SRCS_MIN+= CodeGen/MachineScheduler.cpp +SRCS_MIN+= CodeGen/MachineSink.cpp +SRCS_MIN+= CodeGen/MachineSizeOpts.cpp +SRCS_MIN+= CodeGen/MachineStableHash.cpp +SRCS_MIN+= CodeGen/MachineStripDebug.cpp +SRCS_MIN+= CodeGen/MachineTraceMetrics.cpp +SRCS_MIN+= CodeGen/MachineVerifier.cpp +SRCS_MIN+= CodeGen/MacroFusion.cpp +SRCS_MIN+= CodeGen/ModuloSchedule.cpp +SRCS_MIN+= CodeGen/MultiHazardRecognizer.cpp +SRCS_EXT+= CodeGen/NonRelocatableStringpool.cpp +SRCS_MIN+= CodeGen/OptimizePHIs.cpp +SRCS_MIN+= CodeGen/PHIElimination.cpp +SRCS_MIN+= CodeGen/PHIEliminationUtils.cpp +SRCS_MIN+= CodeGen/ParallelCG.cpp +SRCS_MIN+= CodeGen/PatchableFunction.cpp +SRCS_MIN+= CodeGen/PeepholeOptimizer.cpp +SRCS_MIN+= CodeGen/PostRAHazardRecognizer.cpp +SRCS_MIN+= CodeGen/PostRASchedulerList.cpp +SRCS_MIN+= CodeGen/PreISelIntrinsicLowering.cpp +SRCS_MIN+= CodeGen/ProcessImplicitDefs.cpp +SRCS_MIN+= CodeGen/PrologEpilogInserter.cpp +SRCS_MIN+= CodeGen/PseudoProbeInserter.cpp +SRCS_MIN+= CodeGen/PseudoSourceValue.cpp +SRCS_MIN+= CodeGen/ReachingDefAnalysis.cpp +SRCS_MIN+= CodeGen/ReplaceWithVeclib.cpp +SRCS_MIN+= CodeGen/RDFGraph.cpp +SRCS_MIN+= CodeGen/RDFLiveness.cpp +SRCS_MIN+= CodeGen/RDFRegisters.cpp +SRCS_MIN+= CodeGen/RegAllocBase.cpp +SRCS_MIN+= CodeGen/RegAllocBasic.cpp +SRCS_MIN+= CodeGen/RegAllocEvictionAdvisor.cpp +SRCS_MIN+= CodeGen/RegAllocFast.cpp +SRCS_MIN+= CodeGen/RegAllocGreedy.cpp +SRCS_MIN+= CodeGen/RegAllocPBQP.cpp +SRCS_MIN+= CodeGen/RegUsageInfoCollector.cpp +SRCS_MIN+= CodeGen/RegUsageInfoPropagate.cpp +SRCS_MIN+= CodeGen/RegisterBank.cpp +SRCS_MIN+= CodeGen/RegisterBankInfo.cpp +SRCS_MIN+= CodeGen/RegisterClassInfo.cpp +SRCS_MIN+= CodeGen/RegisterCoalescer.cpp +SRCS_MIN+= CodeGen/RegisterPressure.cpp +SRCS_MIN+= CodeGen/RegisterScavenging.cpp +SRCS_MIN+= CodeGen/RegisterUsageInfo.cpp +SRCS_MIN+= CodeGen/RemoveRedundantDebugValues.cpp +SRCS_MIN+= CodeGen/RenameIndependentSubregs.cpp +SRCS_MIN+= CodeGen/ResetMachineFunctionPass.cpp +SRCS_MIN+= CodeGen/SafeStack.cpp +SRCS_MIN+= CodeGen/SafeStackLayout.cpp +SRCS_MIN+= CodeGen/ScheduleDAG.cpp +SRCS_MIN+= CodeGen/ScheduleDAGInstrs.cpp +SRCS_MIN+= CodeGen/ScheduleDAGPrinter.cpp +SRCS_MIN+= CodeGen/ScoreboardHazardRecognizer.cpp +SRCS_MIN+= CodeGen/SelectOptimize.cpp +SRCS_MIN+= CodeGen/SelectionDAG/DAGCombiner.cpp +SRCS_MIN+= CodeGen/SelectionDAG/FastISel.cpp +SRCS_MIN+= CodeGen/SelectionDAG/FunctionLoweringInfo.cpp +SRCS_MIN+= CodeGen/SelectionDAG/InstrEmitter.cpp +SRCS_MIN+= CodeGen/SelectionDAG/LegalizeDAG.cpp +SRCS_MIN+= CodeGen/SelectionDAG/LegalizeFloatTypes.cpp +SRCS_MIN+= CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp +SRCS_MIN+= CodeGen/SelectionDAG/LegalizeTypes.cpp +SRCS_MIN+= CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp +SRCS_MIN+= CodeGen/SelectionDAG/LegalizeVectorOps.cpp +SRCS_MIN+= CodeGen/SelectionDAG/LegalizeVectorTypes.cpp +SRCS_MIN+= CodeGen/SelectionDAG/ResourcePriorityQueue.cpp +SRCS_MIN+= CodeGen/SelectionDAG/ScheduleDAGFast.cpp +SRCS_MIN+= CodeGen/SelectionDAG/ScheduleDAGRRList.cpp +SRCS_MIN+= CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp +SRCS_MIN+= CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp +SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAG.cpp +SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp +SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAGDumper.cpp +SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAGISel.cpp +SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAGPrinter.cpp +SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp +SRCS_MIN+= CodeGen/SelectionDAG/StatepointLowering.cpp +SRCS_MIN+= CodeGen/SelectionDAG/TargetLowering.cpp +SRCS_MIN+= CodeGen/ShadowStackGCLowering.cpp +SRCS_MIN+= CodeGen/ShrinkWrap.cpp +SRCS_MIN+= CodeGen/SjLjEHPrepare.cpp +SRCS_MIN+= CodeGen/SlotIndexes.cpp +SRCS_MIN+= CodeGen/SpillPlacement.cpp +SRCS_MIN+= CodeGen/SplitKit.cpp +SRCS_MIN+= CodeGen/StackColoring.cpp +SRCS_MIN+= CodeGen/StackMapLivenessAnalysis.cpp +SRCS_MIN+= CodeGen/StackMaps.cpp +SRCS_MIN+= CodeGen/StackProtector.cpp +SRCS_MIN+= CodeGen/StackSlotColoring.cpp +SRCS_MIN+= CodeGen/SwiftErrorValueTracking.cpp +SRCS_MIN+= CodeGen/SwitchLoweringUtils.cpp +SRCS_MIN+= CodeGen/TailDuplication.cpp +SRCS_MIN+= CodeGen/TailDuplicator.cpp +SRCS_MIN+= CodeGen/TargetFrameLoweringImpl.cpp +SRCS_MIN+= CodeGen/TargetInstrInfo.cpp +SRCS_MIN+= CodeGen/TargetLoweringBase.cpp +SRCS_MIN+= CodeGen/TargetLoweringObjectFileImpl.cpp +SRCS_MIN+= CodeGen/TargetOptionsImpl.cpp +SRCS_MIN+= CodeGen/TargetPassConfig.cpp +SRCS_MIN+= CodeGen/TargetRegisterInfo.cpp +SRCS_MIN+= CodeGen/TargetSchedule.cpp +SRCS_MIN+= CodeGen/TargetSubtargetInfo.cpp +SRCS_MIN+= CodeGen/TwoAddressInstructionPass.cpp +SRCS_MIN+= CodeGen/TypePromotion.cpp +SRCS_MIN+= CodeGen/UnreachableBlockElim.cpp +SRCS_MIN+= CodeGen/ValueTypes.cpp +SRCS_MIN+= CodeGen/VirtRegMap.cpp +SRCS_MIN+= CodeGen/WasmEHPrepare.cpp +SRCS_MIN+= CodeGen/WinEHPrepare.cpp +SRCS_MIN+= CodeGen/XRayInstrumentation.cpp +SRCS_EXT+= DWARFLinker/DWARFLinker.cpp +SRCS_EXT+= DWARFLinker/DWARFLinkerCompileUnit.cpp +SRCS_EXT+= DWARFLinker/DWARFLinkerDeclContext.cpp +SRCS_EXT+= DWARFLinker/DWARFStreamer.cpp +SRCS_EXT+= DWP/DWP.cpp +SRCS_EXT+= DWP/DWPError.cpp +SRCS_EXT+= DebugInfo/CodeView/AppendingTypeTableBuilder.cpp +SRCS_MIN+= DebugInfo/CodeView/CVSymbolVisitor.cpp +SRCS_MIN+= DebugInfo/CodeView/CVTypeVisitor.cpp +SRCS_MIN+= DebugInfo/CodeView/CodeViewError.cpp +SRCS_MIN+= DebugInfo/CodeView/CodeViewRecordIO.cpp +SRCS_MIN+= DebugInfo/CodeView/ContinuationRecordBuilder.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugChecksumsSubsection.cpp +SRCS_EXT+= DebugInfo/CodeView/DebugCrossExSubsection.cpp +SRCS_EXT+= DebugInfo/CodeView/DebugCrossImpSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugFrameDataSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugLinesSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugStringTableSubsection.cpp +SRCS_MIW+= DebugInfo/CodeView/DebugSubsection.cpp +SRCS_EXT+= DebugInfo/CodeView/DebugSubsectionRecord.cpp +SRCS_EXT+= DebugInfo/CodeView/DebugSubsectionVisitor.cpp +SRCS_EXT+= DebugInfo/CodeView/DebugSymbolRVASubsection.cpp +SRCS_EXT+= DebugInfo/CodeView/DebugSymbolsSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/EnumTables.cpp +SRCS_MIN+= DebugInfo/CodeView/Formatters.cpp +SRCS_MIN+= DebugInfo/CodeView/GlobalTypeTableBuilder.cpp +SRCS_MIN+= DebugInfo/CodeView/LazyRandomTypeCollection.cpp +SRCS_MIN+= DebugInfo/CodeView/Line.cpp +SRCS_MIN+= DebugInfo/CodeView/MergingTypeTableBuilder.cpp +SRCS_MIN+= DebugInfo/CodeView/RecordName.cpp +SRCS_MIN+= DebugInfo/CodeView/RecordSerialization.cpp +SRCS_MIN+= DebugInfo/CodeView/SimpleTypeSerializer.cpp +SRCS_EXT+= DebugInfo/CodeView/StringsAndChecksums.cpp +SRCS_MIN+= DebugInfo/CodeView/SymbolDumper.cpp - SRCS_EXT+= DebugInfo/CodeView/SymbolRecordHelpers.cpp ++SRCS_MIN+= DebugInfo/CodeView/SymbolRecordHelpers.cpp +SRCS_MIN+= DebugInfo/CodeView/SymbolRecordMapping.cpp +SRCS_EXT+= DebugInfo/CodeView/SymbolSerializer.cpp +SRCS_MIN+= DebugInfo/CodeView/TypeDumpVisitor.cpp +SRCS_MIN+= DebugInfo/CodeView/TypeHashing.cpp +SRCS_MIN+= DebugInfo/CodeView/TypeIndex.cpp +SRCS_MIN+= DebugInfo/CodeView/TypeIndexDiscovery.cpp +SRCS_EXT+= DebugInfo/CodeView/TypeRecordHelpers.cpp +SRCS_MIN+= DebugInfo/CodeView/TypeRecordMapping.cpp +SRCS_MIN+= DebugInfo/CodeView/TypeStreamMerger.cpp +SRCS_MIN+= DebugInfo/CodeView/TypeTableCollection.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFAcceleratorTable.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFAddressRange.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFCompileUnit.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFContext.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDataExtractor.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDebugAbbrev.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDebugAddr.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDebugArangeSet.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDebugAranges.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDebugFrame.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDebugInfoEntry.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDebugLine.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDebugLoc.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDebugMacro.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDebugPubTable.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDebugRangeList.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDebugRnglists.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFDie.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFExpression.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFFormValue.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFGdbIndex.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFListTable.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFTypePrinter.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFTypeUnit.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFUnit.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFUnitIndex.cpp +SRCS_MIW+= DebugInfo/DWARF/DWARFVerifier.cpp +SRCS_MIN+= DebugInfo/MSF/MSFBuilder.cpp +SRCS_MIN+= DebugInfo/MSF/MSFCommon.cpp +SRCS_EXT+= DebugInfo/MSF/MSFError.cpp +SRCS_MIN+= DebugInfo/MSF/MappedBlockStream.cpp +SRCS_EXT+= DebugInfo/PDB/GenericError.cpp +SRCS_EXT+= DebugInfo/PDB/IPDBSourceFile.cpp +SRCS_EXT+= DebugInfo/PDB/Native/DbiModuleDescriptor.cpp +SRCS_EXT+= DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp +SRCS_EXT+= DebugInfo/PDB/Native/DbiModuleList.cpp +SRCS_EXT+= DebugInfo/PDB/Native/DbiStream.cpp +SRCS_EXT+= DebugInfo/PDB/Native/DbiStreamBuilder.cpp +SRCS_EXT+= DebugInfo/PDB/Native/EnumTables.cpp +SRCS_EXT+= DebugInfo/PDB/Native/FormatUtil.cpp +SRCS_EXT+= DebugInfo/PDB/Native/GSIStreamBuilder.cpp +SRCS_EXT+= DebugInfo/PDB/Native/GlobalsStream.cpp +SRCS_EXT+= DebugInfo/PDB/Native/Hash.cpp +SRCS_EXT+= DebugInfo/PDB/Native/HashTable.cpp +SRCS_EXT+= DebugInfo/PDB/Native/InfoStream.cpp +SRCS_EXT+= DebugInfo/PDB/Native/InfoStreamBuilder.cpp +SRCS_EXT+= DebugInfo/PDB/Native/InjectedSourceStream.cpp +SRCS_EXT+= DebugInfo/PDB/Native/InputFile.cpp +SRCS_EXT+= DebugInfo/PDB/Native/LinePrinter.cpp +SRCS_EXT+= DebugInfo/PDB/Native/ModuleDebugStream.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NamedStreamMap.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeCompilandSymbol.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeEnumGlobals.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeEnumInjectedSources.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeEnumLineNumbers.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeEnumModules.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeEnumSymbols.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeEnumTypes.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeExeSymbol.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeFunctionSymbol.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeInlineSiteSymbol.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeLineNumber.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativePublicSymbol.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeRawSymbol.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeSession.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeSourceFile.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeSymbolEnumerator.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeTypeArray.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeTypeBuiltin.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeTypeEnum.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeTypeFunctionSig.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeTypePointer.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeTypeTypedef.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeTypeUDT.cpp +SRCS_EXT+= DebugInfo/PDB/Native/NativeTypeVTShape.cpp +SRCS_EXT+= DebugInfo/PDB/Native/PDBFile.cpp +SRCS_EXT+= DebugInfo/PDB/Native/PDBFileBuilder.cpp +SRCS_EXT+= DebugInfo/PDB/Native/PDBStringTable.cpp +SRCS_EXT+= DebugInfo/PDB/Native/PDBStringTableBuilder.cpp +SRCS_EXT+= DebugInfo/PDB/Native/PublicsStream.cpp +SRCS_EXT+= DebugInfo/PDB/Native/RawError.cpp +SRCS_EXT+= DebugInfo/PDB/Native/SymbolCache.cpp +SRCS_EXT+= DebugInfo/PDB/Native/SymbolStream.cpp +SRCS_EXT+= DebugInfo/PDB/Native/TpiHashing.cpp +SRCS_EXT+= DebugInfo/PDB/Native/TpiStream.cpp +SRCS_EXT+= DebugInfo/PDB/Native/TpiStreamBuilder.cpp +SRCS_EXT+= DebugInfo/PDB/PDB.cpp +SRCS_EXT+= DebugInfo/PDB/PDBContext.cpp +SRCS_EXT+= DebugInfo/PDB/PDBExtras.cpp +SRCS_EXT+= DebugInfo/PDB/PDBInterfaceAnchors.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymDumper.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbol.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolAnnotation.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolBlock.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolCompiland.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolCompilandDetails.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolCompilandEnv.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolCustom.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolData.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolExe.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolFunc.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolLabel.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolPublicSymbol.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolThunk.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeArray.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeCustom.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeDimension.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeEnum.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeFriend.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeManaged.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypePointer.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeTypedef.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeUDT.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeVTable.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolUnknown.cpp +SRCS_EXT+= DebugInfo/PDB/PDBSymbolUsingNamespace.cpp +SRCS_EXT+= DebugInfo/PDB/UDTLayout.cpp +SRCS_MIW+= DebugInfo/Symbolize/DIFetcher.cpp +SRCS_MIW+= DebugInfo/Symbolize/DIPrinter.cpp +SRCS_MIW+= DebugInfo/Symbolize/Markup.cpp +SRCS_MIW+= DebugInfo/Symbolize/MarkupFilter.cpp +SRCS_MIW+= DebugInfo/Symbolize/SymbolizableObjectFile.cpp +SRCS_MIW+= DebugInfo/Symbolize/Symbolize.cpp +SRCS_MIW+= Debuginfod/DIFetcher.cpp +SRCS_MIW+= Debuginfod/Debuginfod.cpp +SRCS_MIW+= Debuginfod/HTTPClient.cpp +SRCS_MIN+= Demangle/DLangDemangle.cpp +SRCS_MIN+= Demangle/Demangle.cpp +SRCS_MIN+= Demangle/ItaniumDemangle.cpp +SRCS_MIN+= Demangle/MicrosoftDemangle.cpp +SRCS_MIN+= Demangle/MicrosoftDemangleNodes.cpp +SRCS_MIN+= Demangle/RustDemangle.cpp +SRCS_XDB+= ExecutionEngine/ExecutionEngine.cpp +SRCS_XDB+= ExecutionEngine/ExecutionEngineBindings.cpp +SRCS_XDB+= ExecutionEngine/GDBRegistrationListener.cpp +SRCS_XDB+= ExecutionEngine/Interpreter/Execution.cpp +SRCS_XDB+= ExecutionEngine/Interpreter/ExternalFunctions.cpp +SRCS_XDB+= ExecutionEngine/Interpreter/Interpreter.cpp +SRCS_EXT+= ExecutionEngine/JITLink/COFF.cpp +SRCS_EXT+= ExecutionEngine/JITLink/COFF_x86_64.cpp +SRCS_EXT+= ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp +SRCS_EXT+= ExecutionEngine/JITLink/DWARFRecordSectionSplitter.cpp +SRCS_EXT+= ExecutionEngine/JITLink/EHFrameSupport.cpp +SRCS_EXT+= ExecutionEngine/JITLink/ELF.cpp +SRCS_EXT+= ExecutionEngine/JITLink/ELF_aarch64.cpp +SRCS_EXT+= ExecutionEngine/JITLink/ELF_riscv.cpp +SRCS_EXT+= ExecutionEngine/JITLink/ELF_x86_64.cpp +SRCS_EXT+= ExecutionEngine/JITLink/ELFLinkGraphBuilder.cpp +SRCS_EXT+= ExecutionEngine/JITLink/JITLink.cpp +SRCS_EXT+= ExecutionEngine/JITLink/JITLinkGeneric.cpp +SRCS_EXT+= ExecutionEngine/JITLink/JITLinkMemoryManager.cpp +SRCS_EXT+= ExecutionEngine/JITLink/MachO.cpp +SRCS_EXT+= ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp +SRCS_EXT+= ExecutionEngine/JITLink/MachO_arm64.cpp +SRCS_EXT+= ExecutionEngine/JITLink/MachO_x86_64.cpp +SRCS_EXT+= ExecutionEngine/JITLink/MemoryFlags.cpp +SRCS_EXT+= ExecutionEngine/JITLink/aarch64.cpp +SRCS_EXT+= ExecutionEngine/JITLink/riscv.cpp +SRCS_EXT+= ExecutionEngine/JITLink/x86_64.cpp +SRCS_XDB+= ExecutionEngine/MCJIT/MCJIT.cpp +SRCS_EXT+= ExecutionEngine/Orc/CompileOnDemandLayer.cpp +SRCS_EXT+= ExecutionEngine/Orc/CompileUtils.cpp +SRCS_EXT+= ExecutionEngine/Orc/Core.cpp +SRCS_EXT+= ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp +SRCS_EXT+= ExecutionEngine/Orc/DebugUtils.cpp +SRCS_EXT+= ExecutionEngine/Orc/ELFNixPlatform.cpp +SRCS_EXT+= ExecutionEngine/Orc/EPCDebugObjectRegistrar.cpp +SRCS_EXT+= ExecutionEngine/Orc/EPCEHFrameRegistrar.cpp +SRCS_EXT+= ExecutionEngine/Orc/EPCGenericDylibManager.cpp +SRCS_EXT+= ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.cpp +SRCS_EXT+= ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp +SRCS_EXT+= ExecutionEngine/Orc/ExecutionUtils.cpp +SRCS_EXT+= ExecutionEngine/Orc/ExecutorProcessControl.cpp +SRCS_EXT+= ExecutionEngine/Orc/IRCompileLayer.cpp +SRCS_EXT+= ExecutionEngine/Orc/IRTransformLayer.cpp +SRCS_EXT+= ExecutionEngine/Orc/IndirectionUtils.cpp +SRCS_EXT+= ExecutionEngine/Orc/JITTargetMachineBuilder.cpp *** 2825 LINES SKIPPED *** From nobody Wed Feb 8 19:07:41 2023 X-Original-To: dev-commits-src-main@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 4PBqJJ1j7dz3nnhT; Wed, 8 Feb 2023 19:07: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBqJJ0jXKz44GZ; Wed, 8 Feb 2023 19:07:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883264; 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=2S088XzPpS12/ctfG4/Eb6wfS0sm+lD2NENNLhpMF+4=; b=qlLy2ctsRP4jUrkzEJ3sBncKYDA0QDvxGvfu0JbF0zDqKP5xlVqTBFO7mItL6qLwwnkesn 2OqgMLUE1t7vld4KgTbp52XlJhE1fzwL6yEx+X0JXv3+FjgqY4mKktIb2xbDbp/DKoZuw0 FmQ3RVqD7nfNaxAdQ2kFZ1vOWNm92gm5B335G4Aez3oTV2SF/1buHcuU7usga7vMe/y625 ohRjDzX394NpH9CKQmpgWvdxz8r9ybU155pruYn/rlEOIsM4l7902lj9bACdWfLskGM34z jLPtsJ6dZ1PRFI5EcQvtvOr7g89ajnNftuPXqZHnYHQc+3FPyevQiOybacf5iA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883264; 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=2S088XzPpS12/ctfG4/Eb6wfS0sm+lD2NENNLhpMF+4=; b=FL7zZKYMVNpjdeLisTVpPrU9Cem8DsQUQjCILiCrg9gFPJrPMSlxxFTaLCSvC3yvQXzIHI UgymAKknr80UG58jKx1TdpVK9y8CAsp8S/flCzCcQTGeVtjAKfk31h1C7w1kjgwYDtYKxp SIXivOyxGj6/Z+dr+4c6DpEbP2ABk9+AIeaxB2AkdSIzYS2DW1+DfiypvBF4ZepreiyUSC ip5Bbsoe+NI6IhRcV7DGc2Msr03ABzCtro2zXdAA0G2nUtYXJ+AtVJl2Mu9iHIP0SmjWmH sOyzH+h+J/SCwq6OUmRV43q2E+WgNZGiP1c59S49yLfmYO0DAlPZ0QS+qVrAKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675883264; a=rsa-sha256; cv=none; b=gJ0EKfv3g6VqwjVBxu43XhwYdrJEe7Bsi33G5WuMQuoC0dMUA72v1WWgulzy3tirau2/Tt dCrZ62hodwLqeE/lnOEqnErClsVQSa1CFsoxl0ccXbOzDaboBmdDWc0MvWBp4MhrQygVFK 3oYNhjr/XHwB1pPu0cPC5dElJjIioyhrQolKX3pLkSsFtMEHWinQFTO71t00IaMeK+EcVN Sf/1hXPlzGl2tz2geUHGZLorrMi7kQpjIHqAa33QwKcwnwfBr31A/mK7ywo6EGUj/q9EC2 iR5CAVw4QYhNu8x88kMJ8WOrAqhFCri2cWjXVgiqzZKMCenZmMOf50BKp/KftQ== 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 4PBqJH6HXKz17bB; Wed, 8 Feb 2023 19:07:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318J7hvZ095750; Wed, 8 Feb 2023 19:07:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318J7fsg095747; Wed, 8 Feb 2023 19:07:41 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:07:41 GMT Message-Id: <202302081907.318J7fsg095747@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: a4a491e2238b - main - Merge llvm-project release/15.x llvmorg-15.0.0-9-g1c73596d3454 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: a4a491e2238b12ccd64d3faf9e6401487f6f1f1b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=a4a491e2238b12ccd64d3faf9e6401487f6f1f1b commit a4a491e2238b12ccd64d3faf9e6401487f6f1f1b Merge: 61cfbce3347e 5bf671d65857 Author: Dimitry Andric AuthorDate: 2022-09-10 18:56:18 +0000 Commit: Dimitry Andric CommitDate: 2023-02-08 19:05:02 +0000 Merge llvm-project release/15.x llvmorg-15.0.0-9-g1c73596d3454 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.0-9-g1c73596d3454. PR: 265425 MFC after: 2 weeks .../clang/include/clang/Lex/Preprocessor.h | 7 + .../clang/lib/AST/RecordLayoutBuilder.cpp | 7 +- .../clang/lib/Basic/Targets/AArch64.cpp | 5 +- .../clang/lib/CodeGen/CGStmtOpenMP.cpp | 13 +- .../clang/lib/CodeGen/CodeGenFunction.h | 7 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp | 15 +- .../clang/lib/Driver/ToolChains/Cuda.cpp | 4 +- .../clang/lib/Format/TokenAnnotator.cpp | 19 -- contrib/llvm-project/clang/lib/Headers/cpuid.h | 1 + .../clang/lib/Lex/PPMacroExpansion.cpp | 55 ++++ contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 7 + .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 2 + contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 3 + .../clang/utils/TableGen/SveEmitter.cpp | 2 + contrib/llvm-project/libcxx/include/regex | 2 +- contrib/llvm-project/libcxx/include/span | 7 +- contrib/llvm-project/lld/COFF/Driver.cpp | 15 +- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 11 +- .../include/llvm/Analysis/LoopAccessAnalysis.h | 2 + .../llvm/DebugInfo/Symbolize/MarkupFilter.h | 30 +- .../llvm-project/llvm/include/llvm/MC/MCContext.h | 6 +- .../llvm-project/llvm/include/llvm/MC/MCDwarf.h | 6 + .../llvm/lib/Analysis/LoopAccessAnalysis.cpp | 3 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 56 ++-- .../CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp | 5 +- .../llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp | 10 +- .../llvm/lib/DebugInfo/Symbolize/MarkupFilter.cpp | 302 +++++++++++++++++++-- contrib/llvm-project/llvm/lib/MC/MCContext.cpp | 39 +-- contrib/llvm-project/llvm/lib/MC/MCDwarf.cpp | 14 +- .../llvm/lib/MC/MCParser/ELFAsmParser.cpp | 3 +- contrib/llvm-project/llvm/lib/Support/Host.cpp | 1 + .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 11 +- .../llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp | 4 +- .../Target/RISCV/TargetInfo/RISCVTargetInfo.cpp | 8 +- .../Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp | 1 - .../llvm/lib/Target/X86/X86ISelLowering.cpp | 49 +++- .../Transforms/InstCombine/InstCombineCompares.cpp | 4 +- .../llvm/lib/Transforms/Utils/LoopUtils.cpp | 5 +- .../llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | 12 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 18 +- .../llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | 28 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- sys/conf/kern.mk | 2 +- 45 files changed, 617 insertions(+), 194 deletions(-) diff --cc lib/clang/include/VCSVersion.inc index 4756d002a956,000000000000..4441e4d4aafa mode 100644,000000..100644 --- a/lib/clang/include/VCSVersion.inc +++ b/lib/clang/include/VCSVersion.inc @@@ -1,10 -1,0 +1,10 @@@ +// $FreeBSD$ + - #define LLVM_REVISION "llvmorg-15.0.0-rc2-40-gfbd2950d8d0d" ++#define LLVM_REVISION "llvmorg-15.0.0-9-g1c73596d3454" +#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" + - #define CLANG_REVISION "llvmorg-15.0.0-rc2-40-gfbd2950d8d0d" ++#define CLANG_REVISION "llvmorg-15.0.0-9-g1c73596d3454" +#define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git" + - #define LLDB_REVISION "llvmorg-15.0.0-rc2-40-gfbd2950d8d0d" ++#define LLDB_REVISION "llvmorg-15.0.0-9-g1c73596d3454" +#define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --cc lib/clang/include/lld/Common/Version.inc index eaf7ae8ff492,000000000000..7325d25e08a6 mode 100644,000000..100644 --- a/lib/clang/include/lld/Common/Version.inc +++ b/lib/clang/include/lld/Common/Version.inc @@@ -1,4 -1,0 +1,4 @@@ +// Local identifier in __FreeBSD_version style +#define LLD_FREEBSD_VERSION 1400005 + - #define LLD_VERSION_STRING "15.0.0 (FreeBSD llvmorg-15.0.0-rc2-40-gfbd2950d8d0d-" __XSTRING(LLD_FREEBSD_VERSION) ")" ++#define LLD_VERSION_STRING "15.0.0 (FreeBSD llvmorg-15.0.0-9-g1c73596d3454-" __XSTRING(LLD_FREEBSD_VERSION) ")" diff --cc lib/clang/include/llvm/Support/VCSRevision.h index 8fd2403121b2,000000000000..a655458a3666 mode 100644,000000..100644 --- a/lib/clang/include/llvm/Support/VCSRevision.h +++ b/lib/clang/include/llvm/Support/VCSRevision.h @@@ -1,3 -1,0 +1,3 @@@ +/* $FreeBSD$ */ - #define LLVM_REVISION "llvmorg-15.0.0-rc2-40-gfbd2950d8d0d" ++#define LLVM_REVISION "llvmorg-15.0.0-9-g1c73596d3454" +#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --cc sys/conf/kern.mk index 2b84b0be94b8,000000000000..bdceeba3a5b3 mode 100644,000000..100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@@ -1,335 -1,0 +1,335 @@@ +# $FreeBSD$ + +# +# Warning flags for compiling the kernel and components of the kernel: +# +CWARNFLAGS?= -Wall -Wnested-externs -Wstrict-prototypes \ + -Wmissing-prototypes -Wpointer-arith -Wcast-qual \ + -Wundef -Wno-pointer-sign ${FORMAT_EXTENSIONS} \ + -Wmissing-include-dirs -fdiagnostics-show-option \ + -Wno-unknown-pragmas \ + ${CWARNEXTRA} +# +# The following flags are next up for working on: +# -Wextra + +# Disable a few warnings for clang, since there are several places in the +# kernel where fixing them is more trouble than it is worth, or where there is +# a false positive. +.if ${COMPILER_TYPE} == "clang" +NO_WCONSTANT_CONVERSION= -Wno-error=constant-conversion +NO_WSHIFT_COUNT_NEGATIVE= -Wno-shift-count-negative +NO_WSHIFT_COUNT_OVERFLOW= -Wno-shift-count-overflow +NO_WSELF_ASSIGN= -Wno-self-assign +NO_WUNNEEDED_INTERNAL_DECL= -Wno-error=unneeded-internal-declaration +NO_WSOMETIMES_UNINITIALIZED= -Wno-error=sometimes-uninitialized +NO_WCAST_QUAL= -Wno-error=cast-qual +NO_WTAUTOLOGICAL_POINTER_COMPARE= -Wno-tautological-pointer-compare +.if ${COMPILER_VERSION} >= 100000 +NO_WMISLEADING_INDENTATION= -Wno-misleading-indentation +.endif +.if ${COMPILER_VERSION} >= 130000 +NO_WUNUSED_BUT_SET_VARIABLE= -Wno-unused-but-set-variable +.endif +.if ${COMPILER_VERSION} >= 140000 +NO_WBITWISE_INSTEAD_OF_LOGICAL= -Wno-bitwise-instead-of-logical +.endif +.if ${COMPILER_VERSION} >= 150000 +NO_WSTRICT_PROTOTYPES= -Wno-strict-prototypes +.endif +# Several other warnings which might be useful in some cases, but not severe +# enough to error out the whole kernel build. Display them anyway, so there is +# some incentive to fix them eventually. +CWARNEXTRA?= -Wno-error=tautological-compare -Wno-error=empty-body \ + -Wno-error=parentheses-equality -Wno-error=unused-function \ + -Wno-error=pointer-sign +CWARNEXTRA+= -Wno-error=shift-negative-value +CWARNEXTRA+= -Wno-address-of-packed-member +.if ${COMPILER_VERSION} >= 150000 +# Clang 15 has much more aggressive diagnostics about inconsistently declared +# array parameters, K&R prototypes, mismatched prototypes, and unused-but-set +# variables. Make these non-fatal for the time being. +CWARNEXTRA+= -Wno-error=array-parameter +CWARNEXTRA+= -Wno-error=deprecated-non-prototype - CWARNEXTRA+= -Wno-error=strict-protoypes ++CWARNEXTRA+= -Wno-error=strict-prototypes +CWARNEXTRA+= -Wno-error=unused-but-set-variable +.endif +.endif # clang + +.if ${COMPILER_TYPE} == "gcc" +# Catch-all for all the things that are in our tree, but for which we're +# not yet ready for this compiler. +NO_WUNUSED_BUT_SET_VARIABLE=-Wno-unused-but-set-variable +CWARNEXTRA?= -Wno-error=address \ + -Wno-error=aggressive-loop-optimizations \ + -Wno-error=array-bounds \ + -Wno-error=attributes \ + -Wno-error=cast-qual \ + -Wno-error=enum-compare \ + -Wno-error=maybe-uninitialized \ + -Wno-error=misleading-indentation \ + -Wno-error=nonnull-compare \ + -Wno-error=overflow \ + -Wno-error=sequence-point \ + -Wno-error=shift-overflow \ + -Wno-error=tautological-compare \ + -Wno-unused-but-set-variable +.if ${COMPILER_VERSION} >= 70100 +CWARNEXTRA+= -Wno-error=stringop-overflow +.endif +.if ${COMPILER_VERSION} >= 70200 +CWARNEXTRA+= -Wno-error=memset-elt-size +.endif +.if ${COMPILER_VERSION} >= 80000 +CWARNEXTRA+= -Wno-error=packed-not-aligned +.endif +.if ${COMPILER_VERSION} >= 90100 +CWARNEXTRA+= -Wno-address-of-packed-member \ + -Wno-error=alloca-larger-than= +.if ${COMPILER_VERSION} >= 120100 +CWARNEXTRA+= -Wno-error=nonnull \ + -Wno-dangling-pointer \ + -Wno-zero-length-bounds +NO_WINFINITE_RECURSION= -Wno-infinite-recursion +NO_WSTRINGOP_OVERREAD= -Wno-stringop-overread +.endif +.endif + +# GCC produces false positives for functions that switch on an +# enum (GCC bug 87950) +CWARNFLAGS+= -Wno-return-type +.endif # gcc + +# This warning is utter nonsense +CWARNFLAGS+= -Wno-format-zero-length + +# External compilers may not support our format extensions. Allow them +# to be disabled. WARNING: format checking is disabled in this case. +.if ${MK_FORMAT_EXTENSIONS} == "no" +FORMAT_EXTENSIONS= -Wno-format +.elif ${COMPILER_TYPE} == "clang" || \ + (${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 120100) +FORMAT_EXTENSIONS= -D__printf__=__freebsd_kprintf__ +.else +FORMAT_EXTENSIONS= -fformat-extensions +.endif + +# +# On i386, do not align the stack to 16-byte boundaries. Otherwise GCC 2.95 +# and above adds code to the entry and exit point of every function to align the +# stack to 16-byte boundaries -- thus wasting approximately 12 bytes of stack +# per function call. While the 16-byte alignment may benefit micro benchmarks, +# it is probably an overall loss as it makes the code bigger (less efficient +# use of code cache tag lines) and uses more stack (less efficient use of data +# cache tag lines). Explicitly prohibit the use of FPU, SSE and other SIMD +# operations inside the kernel itself. These operations are exclusively +# reserved for user applications. +# +# gcc: +# Setting -mno-mmx implies -mno-3dnow +# Setting -mno-sse implies -mno-sse2, -mno-sse3 and -mno-ssse3 +# +# clang: +# Setting -mno-mmx implies -mno-3dnow and -mno-3dnowa +# Setting -mno-sse implies -mno-sse2, -mno-sse3, -mno-ssse3, -mno-sse41 and -mno-sse42 +# +.if ${MACHINE_CPUARCH} == "i386" +CFLAGS.gcc+= -mpreferred-stack-boundary=2 +CFLAGS.clang+= -mno-aes -mno-avx +CFLAGS+= -mno-mmx -mno-sse -msoft-float +INLINE_LIMIT?= 8000 +.endif + +.if ${MACHINE_CPUARCH} == "arm" +INLINE_LIMIT?= 8000 +.endif + +.if ${MACHINE_CPUARCH} == "aarch64" +# We generally don't want fpu instructions in the kernel. +CFLAGS += -mgeneral-regs-only +# Reserve x18 for pcpu data +CFLAGS += -ffixed-x18 +INLINE_LIMIT?= 8000 +.endif + +# +# For RISC-V we specify the soft-float ABI (lp64) to avoid the use of floating +# point registers within the kernel. However, for kernels supporting hardware +# float (FPE), we have to include that in the march so we can have limited +# floating point support in context switching needed for that. This is different +# than userland where we use a hard-float ABI (lp64d). +# +# We also specify the "medium" code model, which generates code suitable for a +# 2GiB addressing range located at any offset, allowing modules to be located +# anywhere in the 64-bit address space. Note that clang and GCC refer to this +# code model as "medium" and "medany" respectively. +# +.if ${MACHINE_CPUARCH} == "riscv" +CFLAGS+= -march=rv64imafdc +CFLAGS+= -mabi=lp64 +CFLAGS.clang+= -mcmodel=medium +CFLAGS.gcc+= -mcmodel=medany +INLINE_LIMIT?= 8000 + +.if ${LINKER_FEATURES:Mriscv-relaxations} == "" +CFLAGS+= -mno-relax +.endif +.endif + +# +# For AMD64, we explicitly prohibit the use of FPU, SSE and other SIMD +# operations inside the kernel itself. These operations are exclusively +# reserved for user applications. +# +# gcc: +# Setting -mno-mmx implies -mno-3dnow +# Setting -mno-sse implies -mno-sse2, -mno-sse3, -mno-ssse3 and -mfpmath=387 +# +# clang: +# Setting -mno-mmx implies -mno-3dnow and -mno-3dnowa +# Setting -mno-sse implies -mno-sse2, -mno-sse3, -mno-ssse3, -mno-sse41 and -mno-sse42 +# (-mfpmath= is not supported) +# +.if ${MACHINE_CPUARCH} == "amd64" +CFLAGS.clang+= -mno-aes -mno-avx +CFLAGS+= -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float \ + -fno-asynchronous-unwind-tables +INLINE_LIMIT?= 8000 +.endif + +# +# For PowerPC we tell gcc to use floating point emulation. This avoids using +# floating point registers for integer operations which it has a tendency to do. +# Also explicitly disable Altivec instructions inside the kernel. +# +.if ${MACHINE_CPUARCH} == "powerpc" +CFLAGS+= -mno-altivec -msoft-float +INLINE_LIMIT?= 15000 +.endif + +.if ${MACHINE_ARCH} == "powerpcspe" +CFLAGS.gcc+= -mno-spe +.endif + +# +# Use dot symbols (or, better, the V2 ELF ABI) on powerpc64 to make +# DDB happy. ELFv2, if available, has some other efficiency benefits. +# +.if ${MACHINE_ARCH:Mpowerpc64*} != "" +CFLAGS+= -mabi=elfv2 +.endif + +# +# GCC 3.0 and above like to do certain optimizations based on the +# assumption that the program is linked against libc. Stop this. +# +CFLAGS+= -ffreestanding + +# +# The C standard leaves signed integer overflow behavior undefined. +# gcc and clang opimizers take advantage of this. The kernel makes +# use of signed integer wraparound mechanics so we need the compiler +# to treat it as a wraparound and not take shortcuts. +# +CFLAGS+= -fwrapv + +# +# GCC SSP support +# +.if ${MK_SSP} != "no" +CFLAGS+= -fstack-protector +.endif + +# +# Retpoline speculative execution vulnerability mitigation (CVE-2017-5715) +# +.if defined(COMPILER_FEATURES) && ${COMPILER_FEATURES:Mretpoline} != "" && \ + ${MK_KERNEL_RETPOLINE} != "no" +CFLAGS+= -mretpoline +.endif + +# +# Initialize stack variables on function entry +# +.if ${MK_INIT_ALL_ZERO} == "yes" +.if ${COMPILER_FEATURES:Minit-all} +CFLAGS+= -ftrivial-auto-var-init=zero \ + -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang +.else +.warning InitAll (zeros) requested but not support by compiler +.endif +.elif ${MK_INIT_ALL_PATTERN} == "yes" +.if ${COMPILER_FEATURES:Minit-all} +CFLAGS+= -ftrivial-auto-var-init=pattern +.else +.warning InitAll (pattern) requested but not support by compiler +.endif +.endif + +CFLAGS+= ${CWARNFLAGS:M*} ${CWARNFLAGS.${.IMPSRC:T}} +CFLAGS+= ${CWARNFLAGS.${COMPILER_TYPE}} +CFLAGS+= ${CFLAGS.${COMPILER_TYPE}} ${CFLAGS.${.IMPSRC:T}} + +# Tell bmake not to mistake standard targets for things to be searched for +# or expect to ever be up-to-date. +PHONY_NOTMAIN = afterdepend afterinstall all beforedepend beforeinstall \ + beforelinking build build-tools buildfiles buildincludes \ + checkdpadd clean cleandepend cleandir cleanobj configure \ + depend distclean distribute exe \ + html includes install installfiles installincludes \ + obj objlink objs objwarn \ + realinstall regress \ + tags whereobj + +.PHONY: ${PHONY_NOTMAIN} +.NOTMAIN: ${PHONY_NOTMAIN} + +CSTD= c99 + +.if ${CSTD} == "k&r" +CFLAGS+= -traditional +.elif ${CSTD} == "c89" || ${CSTD} == "c90" +CFLAGS+= -std=iso9899:1990 +.elif ${CSTD} == "c94" || ${CSTD} == "c95" +CFLAGS+= -std=iso9899:199409 +.elif ${CSTD} == "c99" +CFLAGS+= -std=iso9899:1999 +.else # CSTD +CFLAGS+= -std=${CSTD} +.endif # CSTD + +# Please keep this if in sync with bsd.sys.mk +.if ${LD} != "ld" && (${CC:[1]:H} != ${LD:[1]:H} || ${LD:[1]:T} != "ld") +# Add -fuse-ld=${LD} if $LD is in a different directory or not called "ld". +.if ${COMPILER_TYPE} == "clang" +# Note: Clang does not like relative paths for ld so we map ld.lld -> lld. +.if ${COMPILER_VERSION} >= 120000 +CCLDFLAGS+= --ld-path=${LD:[1]:S/^ld.//1W} +.else +CCLDFLAGS+= -fuse-ld=${LD:[1]:S/^ld.//1W} +.endif +.else +# GCC does not support an absolute path for -fuse-ld so we just print this +# warning instead and let the user add the required symlinks. +# However, we can avoid this warning if -B is set appropriately (e.g. for +# CROSS_TOOLCHAIN=...-gcc). +.if !(${LD:[1]:T} == "ld" && ${CC:tw:M-B${LD:[1]:H}/}) +.warning LD (${LD}) is not the default linker for ${CC} but -fuse-ld= is not supported +.endif +.endif +.endif + +# Set target-specific linker emulation name. +LD_EMULATION_aarch64=aarch64elf +LD_EMULATION_amd64=elf_x86_64_fbsd +LD_EMULATION_arm=armelf_fbsd +LD_EMULATION_armv6=armelf_fbsd +LD_EMULATION_armv7=armelf_fbsd +LD_EMULATION_i386=elf_i386_fbsd +LD_EMULATION_powerpc= elf32ppc_fbsd +LD_EMULATION_powerpcspe= elf32ppc_fbsd +LD_EMULATION_powerpc64= elf64ppc_fbsd +LD_EMULATION_powerpc64le= elf64lppc_fbsd +LD_EMULATION_riscv64= elf64lriscv +LD_EMULATION_riscv64sf= elf64lriscv +LD_EMULATION=${LD_EMULATION_${MACHINE_ARCH}} From nobody Wed Feb 8 19:07:49 2023 X-Original-To: dev-commits-src-main@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 4PBqJS17Wjz3nnhV; Wed, 8 Feb 2023 19:07: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBqJR74V1z44b8; Wed, 8 Feb 2023 19:07:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883272; 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=S39P8U7w4qmA11OzA60wqnnrYCtXvPpkYmlbQV6VbNQ=; b=a+ex1MYEAg8pd92aaRQnMbtYFV2zK3UjyDb+s/2rO13+bMqi4/jZjWp9QhSrs7U9xoTpxM 4iMOQFTPGcslHiJ00Nx1M/zVPsRG4vIbXCA0sXeWx+Cc0UTEBGDbpasmg7On2OsdMPf27S cH1D6BdK63F2OB6ZB/fnqD3qLOOXi40rqOaWTS5Wnz9CksYNK5jnG3Lpd2OZ7AqUpcy6dv NsvntN5f6tezV9RKP4pO9kwKNS6pBdoz4wUpGaaxcJlWJje6MDZzRVsIYio9llCqpsMhGE +P1bsT7lAbhUGf1Vz14r1OysffN6rNRqQ1i3rNIK/Sks23qOUx4jHdbbRScruw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883272; 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=S39P8U7w4qmA11OzA60wqnnrYCtXvPpkYmlbQV6VbNQ=; b=an8hIbf+whLFPKNLc0N7t9iBfsWwNQ/cwGcsNYCEScsw6BM63FCOKSxQcM4YjJPNNkbl+C 8gvvZTSBZEGWyGep1vS7GJSk2+n8zHwgbTe0AzSy4d5R8xauLHAz/HbM+mCs4iM+EEHJHy Q0KVDhq4/isHFM5KwtDvCbX2TxsMzoGwkAPqxdxkrCwGKJo+dnYuGYv5X9dw+wtQjRoSeK rISOTLIwSm5PCLJZyQlKPjA5REcNDQjYJHO7Ykdig97K5rKSt1CjbvVlymE227/cbVhIFX N0gVqk9EEg3uIEvS/0MqA2uBXvrmviBw73pGChNMMLchE6AcmhjgtD9pu3IEWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675883272; a=rsa-sha256; cv=none; b=JQ5E6WUKGbaEpXVs8s+IoQuTZWna6FZG8tV25jXcJhon3akHRC/0Weakx9eRwdzxzgr3nA ctUMzBVNH7roBe8qax/UdUfBHeR4ClM9jh+8kHwQwVLC/1MLOsSi+fc6/HrR3nGIR3EtXu my4LQKu0GVOF0DdutRjYhe+dgf2V+PN9b8vkqswXvqMutvcXUIlBNs0jz5Fl3wbipVqLoX BFePEGiIlydsJIPcbntu9W3ISQuQ3qNdEGOgPcB59I7Xn13npnnI7Wbq3Frh/sQhP4qXV3 oEf0Bizv7wxDpIGjkxkvavCqRonD0NrfP43Zk+81bZSsPEHNnf9hSQAUeCjP4A== 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 4PBqJR66lSz17Bg; Wed, 8 Feb 2023 19:07:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318J7pFm095793; Wed, 8 Feb 2023 19:07:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318J7naj095792; Wed, 8 Feb 2023 19:07:49 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:07:49 GMT Message-Id: <202302081907.318J7naj095792@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 6246ae0b85d8 - main - Merge llvm-project release/15.x llvmorg-15.0.2-10-gf3c5289e7846 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 6246ae0b85d8159978c01ae916a9ad6cde9378b5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=6246ae0b85d8159978c01ae916a9ad6cde9378b5 commit 6246ae0b85d8159978c01ae916a9ad6cde9378b5 Merge: a4a491e2238b dafdd7863e9e Author: Dimitry Andric AuthorDate: 2022-10-16 19:03:40 +0000 Commit: Dimitry Andric CommitDate: 2023-02-08 19:05:09 +0000 Merge llvm-project release/15.x llvmorg-15.0.2-10-gf3c5289e7846 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.2-10-gf3c5289e7846. PR: 265425 MFC after: 2 weeks ObsoleteFiles.inc | 4 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 8 +- contrib/llvm-project/clang/lib/AST/StmtPrinter.cpp | 2 +- contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp | 15 + .../clang/lib/CodeGen/CoverageMappingGen.cpp | 32 +- contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 8 +- .../Tooling/InterpolatingCompilationDatabase.cpp | 4 +- .../clang/lib/Tooling/Syntax/Tokens.cpp | 222 +++++-- contrib/llvm-project/libcxx/include/__config | 33 +- contrib/llvm-project/libcxx/include/atomic | 46 +- contrib/llvm-project/libcxx/include/stdatomic.h | 4 +- contrib/llvm-project/libcxx/include/version | 2 +- contrib/llvm-project/lld/COFF/Symbols.h | 5 +- contrib/llvm-project/lld/COFF/Writer.cpp | 2 +- contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 9 +- contrib/llvm-project/lld/MachO/InputFiles.cpp | 9 + .../llvm-project/lld/MachO/UnwindInfoSection.cpp | 45 +- .../llvm/include/llvm/ADT/GenericCycleImpl.h | 29 +- .../llvm/include/llvm/ADT/GenericCycleInfo.h | 19 +- .../llvm-project/llvm/include/llvm/Object/ELF.h | 2 +- .../llvm/lib/Analysis/ScalarEvolution.cpp | 7 +- .../llvm/lib/Analysis/ValueTracking.cpp | 13 +- .../llvm/lib/CodeGen/DwarfEHPrepare.cpp | 8 + .../llvm/lib/CodeGen/PrologEpilogInserter.cpp | 7 +- .../llvm/lib/Support/X86TargetParser.cpp | 10 +- .../lib/Target/Hexagon/HexagonVectorCombine.cpp | 3 + .../lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp | 2 + contrib/llvm-project/llvm/lib/Target/X86/X86.td | 1 - .../llvm/lib/Transforms/Utils/LoopVersioning.cpp | 4 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 12 +- .../llvm/lib/Transforms/Vectorize/VPlan.h | 8 +- .../llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp | 6 +- .../llvm/tools/llvm-objdump/ELFDump.cpp | 39 +- etc/mtree/BSD.debug.dist | 2 +- etc/mtree/BSD.usr.dist | 2 +- lib/clang/headers/Makefile | 2 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/clang/Config/config.h | 2 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/libc++/module.modulemap | 36 +- lib/libclang_rt/compiler-rt-vars.mk | 2 +- tools/build/mk/OptionalObsoleteFiles.inc | 644 ++++++++++----------- 47 files changed, 778 insertions(+), 562 deletions(-) diff --cc ObsoleteFiles.inc index 4c8194ea1a93,000000000000..9bf8f3d8043b mode 100644,000000..100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@@ -1,17215 -1,0 +1,17215 @@@ +# +# $FreeBSD$ +# +# This file lists old files (OLD_FILES), libraries (OLD_LIBS, MOVED_LIBS) +# and directories (OLD_DIRS) which should get removed after an update. +# Recently removed entries should be listed first (with the date as a +# comment). OLD_LIBS and MOVED_LIBS should only list dynamic libraries. +# Static libraries, links to dynamic libraries (lib*.so), and linker scripts +# should be listed in OLD_FILES. OLD_LIBS and MOVED_LIBS are removed by the +# delete-old-libs target, whereas OLD_FILES and OLD_DIRS are removed by the +# delete-old target. This separation allows users to avoid deleting old +# dynamic libraries still required by existing binaries. +# +# MOVED_LIBS should be used instead of OLD_LIBS when a library is moved +# from usr/lib to lib or vice versa. This avoids removing libraries for +# alternate ABIs (such as lib32) which store all libraries in a single +# directory (e.g. usr/lib32). +# +# For files listed in OLD_FILES, OLD_LIBS, and MOVED_LIBS, the check-old* +# and delete-old* targets will also delete associated debug symbols from +# usr/lib/debug. +# +# In case of a complete directory hierarchy the sorting is in depth first +# order. +# +# Files that are installed or removed depending on some build option +# should be listed in /usr/src/tools/build/mk/OptionalObsoleteFiles.inc +# instead of in this file. +# +# Before you commit changes to this file please check if any entries in +# tools/build/mk/OptionalObsoleteFiles.inc can be removed. The following +# command tells which files are listed more than once regardless of some +# architecture specific conditionals, so you can not blindly trust the +# output: +# ( grep '+=' /usr/src/ObsoleteFiles.inc | sort -u ; \ +# grep '+=' /usr/src/tools/build/mk/OptionalObsoleteFiles.inc | sort -u) | \ +# sort | uniq -d +# +# To find regular duplicates not dependent on optional components, you can +# also use something that will not give you false positives, e.g.: +# for t in `make -V TARGETS universe`; do +# __MAKE_CONF=/dev/null make -f Makefile.inc1 TARGET=$t \ +# -V OLD_FILES -V OLD_LIBS -V MOVED_LIBS -V OLD_DIRS check-old | \ +# xargs -n1 | sort | uniq -d; +# done +# +# For optional components, you can use the following to see if some entries +# in OptionalObsoleteFiles.inc have been obsoleted by ObsoleteFiles.inc +# for o in tools/build/options/WITH*; do +# __MAKE_CONF=/dev/null make -f Makefile.inc1 -D${o##*/} \ +# -V OLD_FILES -V OLD_LIBS -V MOVED_LIBS -V OLD_DIRS check-old | \ +# xargs -n1 | sort | uniq -d; +# done + - # 20230208: new clang import which bumps version from 14.0.5 to 15.0.0 ++# 20230208: new clang import which bumps version from 14.0.5 to 15.0.3 +OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/algorithm +OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.5/include/cuda_wrappers +OLD_FILES+=usr/lib/clang/14.0.5/include/fuzzer/FuzzedDataProvider.h +OLD_DIRS+=usr/lib/clang/14.0.5/include/fuzzer +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/__clang_openmp_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/cmath +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/complex.h +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/complex_cmath.h +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/math.h +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.5/include/openmp_wrappers +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/xmmintrin.h +OLD_DIRS+=usr/lib/clang/14.0.5/include/ppc_wrappers +OLD_FILES+=usr/lib/clang/14.0.5/include/profile/InstrProfData.inc +OLD_FILES+=usr/lib/clang/14.0.5/include/profile/MemProfData.inc +OLD_DIRS+=usr/lib/clang/14.0.5/include/profile +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/hwasan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/memprof_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/netbsd_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/scudo_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/tsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/tsan_interface_atomic.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/ubsan_interface.h +OLD_DIRS+=usr/lib/clang/14.0.5/include/sanitizer +OLD_FILES+=usr/lib/clang/14.0.5/include/xray/xray_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xray/xray_log_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xray/xray_records.h +OLD_DIRS+=usr/lib/clang/14.0.5/include/xray +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_math.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_texture_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_hip_cmath.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_hip_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_hip_math.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_hip_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__wmmintrin_aes.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__wmmintrin_pclmul.h +OLD_FILES+=usr/lib/clang/14.0.5/include/adxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/altivec.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ammintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/amxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm64intr.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_acle.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_bf16.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_cde.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_cmse.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_fp16.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_mve.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_neon.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_neon_sve_bridge.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_sve.h +OLD_FILES+=usr/lib/clang/14.0.5/include/armintr.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx2intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512bf16intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512bitalgintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512bwintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512cdintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512dqintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512erintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512fintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512fp16intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512ifmaintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512ifmavlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512pfintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vbmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vbmiintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vbmivlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlbf16intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlbitalgintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlbwintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlcdintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vldqintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlfp16intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlvbmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlvnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlvp2intersectintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vp2intersectintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vpopcntdqintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vpopcntdqvlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avxvnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/bmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/bmiintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/builtins.h +OLD_FILES+=usr/lib/clang/14.0.5/include/cet.h +OLD_FILES+=usr/lib/clang/14.0.5/include/cetintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/cldemoteintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/clflushoptintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/clwbintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/clzerointrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/cpuid.h +OLD_FILES+=usr/lib/clang/14.0.5/include/crc32intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/enqcmdintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/f16cintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/float.h +OLD_FILES+=usr/lib/clang/14.0.5/include/fma4intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/fmaintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/fxsrintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/gfniintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hexagon_circ_brev_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hexagon_protos.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hexagon_types.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hresetintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/htmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/htmxlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hvx_hexagon_protos.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ia32intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/immintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/inttypes.h +OLD_FILES+=usr/lib/clang/14.0.5/include/invpcidintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/iso646.h +OLD_FILES+=usr/lib/clang/14.0.5/include/keylockerintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/limits.h +OLD_FILES+=usr/lib/clang/14.0.5/include/lwpintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/lzcntintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/mm3dnow.h +OLD_FILES+=usr/lib/clang/14.0.5/include/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.5/include/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/module.modulemap +OLD_FILES+=usr/lib/clang/14.0.5/include/movdirintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/msa.h +OLD_FILES+=usr/lib/clang/14.0.5/include/mwaitxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/nmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/omp-tools.h +OLD_FILES+=usr/lib/clang/14.0.5/include/omp.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ompt.h +OLD_FILES+=usr/lib/clang/14.0.5/include/opencl-c-base.h +OLD_FILES+=usr/lib/clang/14.0.5/include/opencl-c.h +OLD_FILES+=usr/lib/clang/14.0.5/include/pconfigintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/pkuintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/popcntintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/prfchwintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ptwriteintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/rdseedintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/riscv_vector.h +OLD_FILES+=usr/lib/clang/14.0.5/include/rtmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/s390intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/serializeintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sgxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/shaintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdalign.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdarg.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdatomic.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdbool.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stddef.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdint.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdnoreturn.h +OLD_FILES+=usr/lib/clang/14.0.5/include/tbmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/tgmath.h +OLD_FILES+=usr/lib/clang/14.0.5/include/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/tsxldtrkintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/uintrintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/unwind.h +OLD_FILES+=usr/lib/clang/14.0.5/include/vadefs.h +OLD_FILES+=usr/lib/clang/14.0.5/include/vaesintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/varargs.h +OLD_FILES+=usr/lib/clang/14.0.5/include/vecintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/vpclmulqdqintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/waitpkgintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/wasm_simd128.h +OLD_FILES+=usr/lib/clang/14.0.5/include/wbnoinvdintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/wmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/x86gprintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/x86intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xopintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xsavecintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xsaveintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xsaveoptintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xsavesintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xtestintrin.h +OLD_DIRS+=usr/lib/clang/14.0.5/include +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-aarch64.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-arm.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-armhf.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-i386.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-x86_64.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.dd-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.dd-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-powerpc.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.safestack-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.safestack-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.safestack-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-x86_64.a +OLD_DIRS+=usr/lib/clang/14.0.5/lib/freebsd +OLD_DIRS+=usr/lib/clang/14.0.5/lib +OLD_FILES+=usr/lib/clang/14.0.5/share/asan_ignorelist.txt +OLD_FILES+=usr/lib/clang/14.0.5/share/cfi_ignorelist.txt +OLD_FILES+=usr/lib/clang/14.0.5/share/msan_ignorelist.txt +OLD_DIRS+=usr/lib/clang/14.0.5/share +OLD_DIRS+=usr/lib/clang/14.0.5 + - # 20230208: new libc++ import which bumps version from 14.0.5 to 15.0.0 ++# 20230208: new libc++ import which bumps version from 14.0.5 to 15.0.3 +OLD_FILES+=usr/include/c++/v1/__functional_base +OLD_FILES+=usr/include/c++/v1/__libcpp_version +OLD_FILES+=usr/include/c++/v1/__nullptr +OLD_FILES+=usr/include/c++/v1/__string +OLD_FILES+=usr/include/c++/v1/experimental/filesystem + +# 20230203: loader help files renamed +OLD_FILES+=boot/loader.help + +# 20230201: timeout moved from /usr/bin to /bin +OLD_FILES+=usr/tests/usr.bin/timeout/Kyuafile +OLD_FILES+=usr/tests/usr.bin/timeout/timeout_test + +# 20230124: rtalloc.9 removed +OLD_FILES+=usr/share/man/man9/rtalloc.9.gz + +# 20230123: PCBGROUP.9 removed +OLD_FILES+=usr/share/man/man9/PCBGROUP.9.gz + +# 20221214: TCPDEBUG removed +OLD_FILES+=usr/include/netinet/tcp_debug.h + +# 20221213: remove sync serial drivers and utilities +OLD_FILES+=sbin/sconfig +OLD_FILES+=usr/share/man/man4/ce.4 +OLD_FILES+=usr/share/man/man4/cp.4 +OLD_FILES+=usr/share/man/man8/sconfig.8.gz + +# 20221202: remove trpt(8) +OLD_FILES+=usr/sbin/trpt +OLD_FILES+=usr/share/man/man8/trpt.8.gz + +# 20221117: remove typo'd man page link +OLD_FILES+=usr/share/man/man9/vm_map_wire_mapped.9.gz + +# 20221114: remove othermta +OLD_FILES+=etc/rc.d/othermta + +# 20221109: remove rc.sendmail(8) +OLD_FILES+=etc/rc.sendmail +OLD_FILES+=usr/share/man/man8/rc.sendmail.8.gz + +# 20221015: update the ithread(9) man page +OLD_FILES+=usr/share/man/man9/ithread.9.gz +OLD_FILES+=usr/share/man/man9/ithread_add_handler.9.gz +OLD_FILES+=usr/share/man/man9/ithread_create.9.gz +OLD_FILES+=usr/share/man/man9/ithread_destroy.9.gz +OLD_FILES+=usr/share/man/man9/ithread_priority.9.gz +OLD_FILES+=usr/share/man/man9/ithread_remove_handler.9.gz +OLD_FILES+=usr/share/man/man9/ithread_schedule.9.gz + +# 20221012: remove nls support from sort +OLD_FILES+=usr/share/nls/hu_HU.ISO8859-2/sort.cat + +# 20221003: ip6protosw.h removed +OLD_FILES+=usr/include/netinet6/ip6protosw.h + +# 20221001: deorbit opie +OLD_FILES+=etc/opieaccess +OLD_FILES+=etc/opiekeys +OLD_FILES+=usr/bin/opieinfo +OLD_FILES+=usr/bin/opiekey +OLD_FILES+=usr/bin/opiepasswd +OLD_FILES+=usr/bin/otp-md4 +OLD_FILES+=usr/bin/otp-md5 +OLD_FILES+=usr/bin/otp-sha1 +OLD_FILES+=usr/lib/libopie.a +OLD_FILES+=usr/lib/libopie.so +OLD_LIBS+=usr/lib/libopie.so.8 +OLD_FILES+=usr/lib/libopie_p.a +OLD_FILES+=usr/lib/pam_opie.so +OLD_LIBS+=usr/lib/pam_opie.so.6 +OLD_FILES+=usr/lib/pam_opieaccess.so +OLD_LIBS+=usr/lib/pam_opieaccess.so.6 +OLD_FILES+=usr/share/man/man1/opieinfo.1.gz +OLD_FILES+=usr/share/man/man1/opiekey.1.gz +OLD_FILES+=usr/share/man/man1/opiepasswd.1.gz +OLD_FILES+=usr/share/man/man1/otp-md4.1.gz +OLD_FILES+=usr/share/man/man1/otp-md5.1.gz +OLD_FILES+=usr/share/man/man1/otp-sha1.1.gz +OLD_FILES+=usr/share/man/man4/opie.4.gz +OLD_FILES+=usr/share/man/man4/skey.4.gz +OLD_FILES+=usr/share/man/man5/opieaccess.5.gz +OLD_FILES+=usr/share/man/man5/opiekeys.5.gz +OLD_FILES+=usr/share/man/man8/pam_opie.8.gz +OLD_FILES+=usr/share/man/man8/pam_opieaccess.8.gz + +# 20220928: telnetd(8) removed +OLD_FILES+=etc/pam.d/telnetd +OLD_FILES+=usr/libexec/telnetd +OLD_FILES+=usr/share/man/man8/telnetd.8.gz + +# 20220914: domain(9) updated +OLD_FILES+=usr/share/man/man9/domain_init.9.gz +OLD_FILES+=usr/share/man/man9/pfctlinput.9.gz +OLD_FILES+=usr/share/man/man9/pffinddomain.9.gz +OLD_FILES+=usr/share/man/man9/pffindproto.9.gz +OLD_FILES+=usr/share/man/man9/pffindtype.9.gz + +# 20220825: awk tests moved to subdirs +OLD_FILES+=usr/tests/usr.bin/awk/awk_test +OLD_FILES+=usr/tests/usr.bin/awk/d_assign_NF.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_assign_NF.in +OLD_FILES+=usr/tests/usr.bin/awk/d_assign_NF.out +OLD_FILES+=usr/tests/usr.bin/awk/d_big_regexp.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_big_regexp.in +OLD_FILES+=usr/tests/usr.bin/awk/d_big_regexp.out +OLD_FILES+=usr/tests/usr.bin/awk/d_end1.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_end1.in +OLD_FILES+=usr/tests/usr.bin/awk/d_end1.out +OLD_FILES+=usr/tests/usr.bin/awk/d_end2.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_end2.in +OLD_FILES+=usr/tests/usr.bin/awk/d_end2.out +OLD_FILES+=usr/tests/usr.bin/awk/d_period.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_period.in +OLD_FILES+=usr/tests/usr.bin/awk/d_period.out +OLD_FILES+=usr/tests/usr.bin/awk/d_string1.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_string1.out +OLD_FILES+=usr/tests/usr.bin/awk/d_tolower.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_tolower.in +OLD_FILES+=usr/tests/usr.bin/awk/d_tolower.out +OLD_FILES+=usr/tests/usr.bin/awk/d_toupper.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_toupper.in +OLD_FILES+=usr/tests/usr.bin/awk/d_toupper.out + +# 20220820: remove knlist_init_rw_reader() +OLD_FILES+=usr/share/man/man9/knlist_init_rw_reader.9.gz + +# 20220813: minigzip(1) removed in favor of gzip(1) +OLD_FILES+=usr/bin/minigzip +OLD_FILES+=usr/share/man/man1/minigzip.1.gz + +# 20220811: new iconv encoder trait added +OLD_LIBS+=usr/lib/i18n/libBIG5.so.4 +OLD_LIBS+=usr/lib/i18n/libDECHanyu.so.4 +OLD_LIBS+=usr/lib/i18n/libEUC.so.4 +OLD_LIBS+=usr/lib/i18n/libEUCTW.so.4 +OLD_LIBS+=usr/lib/i18n/libGBK2K.so.4 +OLD_LIBS+=usr/lib/i18n/libHZ.so.4 +OLD_LIBS+=usr/lib/i18n/libISO2022.so.4 +OLD_LIBS+=usr/lib/i18n/libJOHAB.so.4 +OLD_LIBS+=usr/lib/i18n/libMSKanji.so.4 +OLD_LIBS+=usr/lib/i18n/libUES.so.4 +OLD_LIBS+=usr/lib/i18n/libUTF1632.so.4 +OLD_LIBS+=usr/lib/i18n/libUTF7.so.4 +OLD_LIBS+=usr/lib/i18n/libUTF8.so.4 +OLD_LIBS+=usr/lib/i18n/libVIQR.so.4 +OLD_LIBS+=usr/lib/i18n/libZW.so.4 +OLD_LIBS+=usr/lib/i18n/libiconv_none.so.4 +OLD_LIBS+=usr/lib/i18n/libiconv_std.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_646.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_none.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_parallel.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_serial.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_std.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_zone.so.4 + +# 20220811: raw socket layer removed +OLD_FILES+=usr/include/net/raw_cb.h + +# 20220721: libnv version bumps +OLD_LIBS+=lib/libnv.so.0 + +# 20220624: unix_passfd_test -> unix_passfd_stream/unix_passfd_dgram +OLD_FILES+=usr/tests/sys/kern/unix_passfd_test + +# 20220621: ISA sound card drivers removed +OLD_FILES+=usr/share/man/man4/snd_ad1816.4.gz +OLD_FILES+=usr/share/man/man4/snd_ess.4.gz +OLD_FILES+=usr/share/man/man4/snd_gusc.4.gz +OLD_FILES+=usr/share/man/man4/snd_mss.4.gz +OLD_FILES+=usr/share/man/man4/snd_sb16.4.gz +OLD_FILES+=usr/share/man/man4/snd_sb8.4.gz +OLD_FILES+=usr/share/man/man4/snd_sbc.4.gz + +# 20220612: new clang import which bumps version from 14.0.4 to 14.0.5 +OLD_FILES+=usr/lib/clang/14.0.4/include/cuda_wrappers/algorithm +OLD_FILES+=usr/lib/clang/14.0.4/include/cuda_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.4/include/cuda_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.4/include/cuda_wrappers +OLD_FILES+=usr/lib/clang/14.0.4/include/fuzzer/FuzzedDataProvider.h +OLD_DIRS+=usr/lib/clang/14.0.4/include/fuzzer +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/__clang_openmp_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/cmath +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/complex.h +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/complex_cmath.h +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/math.h +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.4/include/openmp_wrappers +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/xmmintrin.h +OLD_DIRS+=usr/lib/clang/14.0.4/include/ppc_wrappers +OLD_FILES+=usr/lib/clang/14.0.4/include/profile/InstrProfData.inc +OLD_FILES+=usr/lib/clang/14.0.4/include/profile/MemProfData.inc +OLD_DIRS+=usr/lib/clang/14.0.4/include/profile +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/hwasan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/memprof_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/netbsd_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/scudo_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/tsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/tsan_interface_atomic.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/ubsan_interface.h +OLD_DIRS+=usr/lib/clang/14.0.4/include/sanitizer +OLD_FILES+=usr/lib/clang/14.0.4/include/xray/xray_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xray/xray_log_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xray/xray_records.h +OLD_DIRS+=usr/lib/clang/14.0.4/include/xray +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_math.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_texture_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_hip_cmath.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_hip_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_hip_math.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_hip_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__wmmintrin_aes.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__wmmintrin_pclmul.h +OLD_FILES+=usr/lib/clang/14.0.4/include/adxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/altivec.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ammintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/amxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm64intr.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_acle.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_bf16.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_cde.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_cmse.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_fp16.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_mve.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_neon.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_neon_sve_bridge.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_sve.h +OLD_FILES+=usr/lib/clang/14.0.4/include/armintr.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx2intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512bf16intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512bitalgintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512bwintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512cdintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512dqintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512erintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512fintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512fp16intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512ifmaintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512ifmavlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512pfintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vbmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vbmiintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vbmivlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlbf16intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlbitalgintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlbwintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlcdintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vldqintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlfp16intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlvbmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlvnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlvp2intersectintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vp2intersectintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vpopcntdqintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vpopcntdqvlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avxvnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/bmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/bmiintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/builtins.h +OLD_FILES+=usr/lib/clang/14.0.4/include/cet.h +OLD_FILES+=usr/lib/clang/14.0.4/include/cetintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/cldemoteintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/clflushoptintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/clwbintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/clzerointrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/cpuid.h +OLD_FILES+=usr/lib/clang/14.0.4/include/crc32intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/enqcmdintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/f16cintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/float.h +OLD_FILES+=usr/lib/clang/14.0.4/include/fma4intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/fmaintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/fxsrintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/gfniintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hexagon_circ_brev_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hexagon_protos.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hexagon_types.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hresetintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/htmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/htmxlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hvx_hexagon_protos.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ia32intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/immintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/inttypes.h +OLD_FILES+=usr/lib/clang/14.0.4/include/invpcidintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/iso646.h +OLD_FILES+=usr/lib/clang/14.0.4/include/keylockerintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/limits.h +OLD_FILES+=usr/lib/clang/14.0.4/include/lwpintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/lzcntintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/mm3dnow.h +OLD_FILES+=usr/lib/clang/14.0.4/include/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.4/include/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/module.modulemap +OLD_FILES+=usr/lib/clang/14.0.4/include/movdirintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/msa.h +OLD_FILES+=usr/lib/clang/14.0.4/include/mwaitxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/nmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/omp-tools.h +OLD_FILES+=usr/lib/clang/14.0.4/include/omp.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ompt.h +OLD_FILES+=usr/lib/clang/14.0.4/include/opencl-c-base.h +OLD_FILES+=usr/lib/clang/14.0.4/include/opencl-c.h +OLD_FILES+=usr/lib/clang/14.0.4/include/pconfigintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/pkuintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/popcntintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/prfchwintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ptwriteintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/rdseedintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/riscv_vector.h +OLD_FILES+=usr/lib/clang/14.0.4/include/rtmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/s390intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/serializeintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sgxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/shaintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdalign.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdarg.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdatomic.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdbool.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stddef.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdint.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdnoreturn.h +OLD_FILES+=usr/lib/clang/14.0.4/include/tbmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/tgmath.h +OLD_FILES+=usr/lib/clang/14.0.4/include/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/tsxldtrkintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/uintrintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/unwind.h +OLD_FILES+=usr/lib/clang/14.0.4/include/vadefs.h +OLD_FILES+=usr/lib/clang/14.0.4/include/vaesintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/varargs.h +OLD_FILES+=usr/lib/clang/14.0.4/include/vecintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/vpclmulqdqintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/waitpkgintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/wasm_simd128.h +OLD_FILES+=usr/lib/clang/14.0.4/include/wbnoinvdintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/wmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/x86gprintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/x86intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xopintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xsavecintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xsaveintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xsaveoptintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xsavesintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xtestintrin.h +OLD_DIRS+=usr/lib/clang/14.0.4/include +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-aarch64.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-arm.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-armhf.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-i386.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-x86_64.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_static-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_static-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.dd-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.dd-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.msan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.msan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.msan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.msan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-powerpc.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.safestack-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.safestack-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.safestack-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.tsan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.tsan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-basic-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-basic-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-basic-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-basic-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-fdr-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-fdr-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-fdr-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-fdr-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-profiling-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-profiling-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-profiling-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-profiling-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-x86_64.a +OLD_DIRS+=usr/lib/clang/14.0.4/lib/freebsd +OLD_DIRS+=usr/lib/clang/14.0.4/lib/share +OLD_DIRS+=usr/lib/clang/14.0.4/lib +OLD_FILES+=usr/lib/clang/14.0.4/share/asan_ignorelist.txt +OLD_FILES+=usr/lib/clang/14.0.4/share/cfi_ignorelist.txt +OLD_FILES+=usr/lib/clang/14.0.4/share/msan_ignorelist.txt +OLD_DIRS+=usr/lib/clang/14.0.4/share +OLD_DIRS+=usr/lib/clang/14.0.4 + +# 20220605: new clang import which bumps version from 14.0.3 to 14.0.4 +OLD_FILES+=usr/lib/clang/14.0.3/include/cuda_wrappers/algorithm +OLD_FILES+=usr/lib/clang/14.0.3/include/cuda_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.3/include/cuda_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.3/include/cuda_wrappers +OLD_FILES+=usr/lib/clang/14.0.3/include/fuzzer/FuzzedDataProvider.h +OLD_DIRS+=usr/lib/clang/14.0.3/include/fuzzer +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/__clang_openmp_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/cmath +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/complex.h +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/complex_cmath.h +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/math.h +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.3/include/openmp_wrappers +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/xmmintrin.h +OLD_DIRS+=usr/lib/clang/14.0.3/include/ppc_wrappers +OLD_FILES+=usr/lib/clang/14.0.3/include/profile/InstrProfData.inc +OLD_FILES+=usr/lib/clang/14.0.3/include/profile/MemProfData.inc +OLD_DIRS+=usr/lib/clang/14.0.3/include/profile +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/hwasan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/memprof_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/netbsd_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/scudo_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/tsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/tsan_interface_atomic.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/ubsan_interface.h +OLD_DIRS+=usr/lib/clang/14.0.3/include/sanitizer +OLD_FILES+=usr/lib/clang/14.0.3/include/xray/xray_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/xray/xray_log_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/xray/xray_records.h +OLD_DIRS+=usr/lib/clang/14.0.3/include/xray +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_math.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_texture_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_hip_cmath.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_hip_libdevice_declares.h *** 29681 LINES SKIPPED *** From nobody Wed Feb 8 19:07:57 2023 X-Original-To: dev-commits-src-main@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 4PBqJc0yXZz3np1t; Wed, 8 Feb 2023 19:08: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBqJc00qHz44qk; Wed, 8 Feb 2023 19:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883280; 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=wgBBPIMkJDLY7Nmwmfc1VMwmNk59uCowgV4Om/XL984=; b=Wxfi/O2WjuOGmfglNfdUWYvwt1wW2B1JvcnPzRzbiPsbLr+nH6Ny7L9gi/5UnaGgdAD9f4 AvtbWWmpUjOiwFYqNra7YHoJZ6jiHcYzchswEUe4UxoJjKIooyp35t70cs08dB3XY6+WFU 5LGJ12j3zoJxtcJHeLdFcYFEHVdbpn7XIbQf3GHQtI3aHLd/wSAYdbNFDsUuqks5L2XFy1 z+ENKgDR6djVcBXlfROl2klkmMHuCR7iQ0uK0S0d8lYhDyr1hZ0CdqBeotBOhkh251ItTw EP1IWxgWEfVh/02Anu+MOM9IhJCVI62NtUuuYn3JsC2LKDiki4KC2JSk6KlKYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883280; 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=wgBBPIMkJDLY7Nmwmfc1VMwmNk59uCowgV4Om/XL984=; b=UP4bMvSmcGvETnaO+6gsZXHgrV1E/zi7V5nELpVjTh+n8Rv3UC6383r4/VQvhs3z5RykdR tvzfc/2oLpzO9kJqWGWYTDZdKTneGBn4dlMwc44vfWHcUkejV9QHh2jHbIXqebz/239gzO W61M4jK8b0Qg3wiaMNLYXP+zC5DwRnEk50zCCxMLaKu8oZv32dgKxrIPuqfOYJEKKWioYB fzJzQ/OmIikDQ32PTkxIYvIjB/0m0l5XzLwIzPNW7WRSIeOsjarBNkePo/35VajDKFWEep jpYavsgrmJcWGpwBz9pghnvIfI4eK+CMttUbxJew9pMy2t8YJ2DQUcOUsXoiKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675883280; a=rsa-sha256; cv=none; b=uqGfV3cayL8QFxXx2eOfSdnmaoMrAOQ0pZtmWoLp9cwcF+VtaEN+IkNkhmcNUuupJt7wzp C+6jwGsMpgO+xdYvxRIxKrEux2H12aGeHwvOU166DuT48a4HfcDKdg1QL+d/FY0iSSAIxe INgG9JDlIxQblqHU+PlyhrwBWiW6DAtbXf4Ifcf7mJYutpM5OKj4TDQ+kT5PcT8pYmH52y o0md5gKShabHbTpwRnC3MSLfssoucjSUn70qcg5bT9N5wWvkJ2OX3vQv24YtUSZD7ZehCS m4bsJX5eeYQ5M6LX3N7wrY1tIPWXYauSQkxz/Ylm0/uMDYpv9bThtbKO3hNA9Q== 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 4PBqJb5lRrz17Pd; Wed, 8 Feb 2023 19:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318J7xeL095836; Wed, 8 Feb 2023 19:07:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318J7v9Q095826; Wed, 8 Feb 2023 19:07:57 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:07:57 GMT Message-Id: <202302081907.318J7v9Q095826@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: f3fd488f1e19 - main - Merge llvm-project release/15.x llvmorg-15.0.6-0-g088f33605d8a List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: f3fd488f1e19a3d09c4bdcece893901de4f49cdd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=f3fd488f1e19a3d09c4bdcece893901de4f49cdd commit f3fd488f1e19a3d09c4bdcece893901de4f49cdd Merge: 6246ae0b85d8 458532c2dd24 Author: Dimitry Andric AuthorDate: 2022-12-04 22:09:55 +0000 Commit: Dimitry Andric CommitDate: 2023-02-08 19:05:19 +0000 Merge llvm-project release/15.x llvmorg-15.0.6-0-g088f33605d8a This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.6-0-g088f33605d8a. PR: 265425 MFC after: 2 weeks ObsoleteFiles.inc | 4 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp | 8 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 40 +- contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp | 8 +- contrib/llvm-project/clang/lib/Sema/SemaType.cpp | 3 + .../clang/lib/StaticAnalyzer/Core/ExprEngine.cpp | 6 + .../sanitizer_common_interceptors.inc | 2 +- contrib/llvm-project/libcxx/include/__config | 2 +- .../libcxx/include/__functional/function.h | 14 +- contrib/llvm-project/lld/ELF/Driver.cpp | 9 +- contrib/llvm-project/lld/ELF/InputFiles.cpp | 2 +- .../llvm-project/lld/MachO/UnwindInfoSection.cpp | 35 +- contrib/llvm-project/lld/MachO/UnwindInfoSection.h | 2 +- contrib/llvm-project/lld/MachO/Writer.cpp | 2 +- contrib/llvm-project/lldb/bindings/interfaces.swig | 3 - .../lldb/bindings/python/python-typemaps.swig | 2 +- .../llvm-project/lldb/include/lldb/API/SBType.h | 2 + .../lldb/include/lldb/Symbol/CompilerType.h | 24 +- .../lldb/include/lldb/Symbol/TypeSystem.h | 14 +- contrib/llvm-project/lldb/source/API/SBType.cpp | 12 +- .../Plugins/TypeSystem/Clang/TypeSystemClang.cpp | 81 ++- .../Plugins/TypeSystem/Clang/TypeSystemClang.h | 19 +- .../lldb/source/Symbol/CompilerType.cpp | 18 +- .../llvm-project/lldb/source/Symbol/TypeSystem.cpp | 12 +- .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 7 +- .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 1 + .../llvm/lib/CodeGen/TypePromotion.cpp | 8 +- contrib/llvm-project/llvm/lib/IR/AutoUpgrade.cpp | 2 +- .../llvm-project/llvm/lib/Support/Unix/Signals.inc | 4 - .../lib/Target/AArch64/AArch64ISelLowering.cpp | 67 ++- .../llvm/lib/Target/AArch64/AArch64ISelLowering.h | 2 +- .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 2 + .../llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp | 2 +- .../llvm/lib/Target/Sparc/SparcCallingConv.td | 10 +- .../llvm/lib/Target/Sparc/SparcISelLowering.cpp | 61 +- .../llvm/lib/Target/Sparc/SparcISelLowering.h | 5 + .../llvm/lib/Transforms/IPO/GlobalOpt.cpp | 2 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 4 + .../llvm/lib/Transforms/Scalar/SROA.cpp | 19 +- .../llvm/lib/Transforms/Utils/VNCoercion.cpp | 4 +- etc/mtree/BSD.debug.dist | 2 +- etc/mtree/BSD.usr.dist | 2 +- lib/clang/headers/Makefile | 2 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/clang/Config/config.h | 2 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/libclang_rt/compiler-rt-vars.mk | 2 +- tools/build/mk/OptionalObsoleteFiles.inc | 644 ++++++++++----------- 53 files changed, 694 insertions(+), 514 deletions(-) diff --cc ObsoleteFiles.inc index 9bf8f3d8043b,000000000000..89f13693daaf mode 100644,000000..100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@@ -1,17215 -1,0 +1,17215 @@@ +# +# $FreeBSD$ +# +# This file lists old files (OLD_FILES), libraries (OLD_LIBS, MOVED_LIBS) +# and directories (OLD_DIRS) which should get removed after an update. +# Recently removed entries should be listed first (with the date as a +# comment). OLD_LIBS and MOVED_LIBS should only list dynamic libraries. +# Static libraries, links to dynamic libraries (lib*.so), and linker scripts +# should be listed in OLD_FILES. OLD_LIBS and MOVED_LIBS are removed by the +# delete-old-libs target, whereas OLD_FILES and OLD_DIRS are removed by the +# delete-old target. This separation allows users to avoid deleting old +# dynamic libraries still required by existing binaries. +# +# MOVED_LIBS should be used instead of OLD_LIBS when a library is moved +# from usr/lib to lib or vice versa. This avoids removing libraries for +# alternate ABIs (such as lib32) which store all libraries in a single +# directory (e.g. usr/lib32). +# +# For files listed in OLD_FILES, OLD_LIBS, and MOVED_LIBS, the check-old* +# and delete-old* targets will also delete associated debug symbols from +# usr/lib/debug. +# +# In case of a complete directory hierarchy the sorting is in depth first +# order. +# +# Files that are installed or removed depending on some build option +# should be listed in /usr/src/tools/build/mk/OptionalObsoleteFiles.inc +# instead of in this file. +# +# Before you commit changes to this file please check if any entries in +# tools/build/mk/OptionalObsoleteFiles.inc can be removed. The following +# command tells which files are listed more than once regardless of some +# architecture specific conditionals, so you can not blindly trust the +# output: +# ( grep '+=' /usr/src/ObsoleteFiles.inc | sort -u ; \ +# grep '+=' /usr/src/tools/build/mk/OptionalObsoleteFiles.inc | sort -u) | \ +# sort | uniq -d +# +# To find regular duplicates not dependent on optional components, you can +# also use something that will not give you false positives, e.g.: +# for t in `make -V TARGETS universe`; do +# __MAKE_CONF=/dev/null make -f Makefile.inc1 TARGET=$t \ +# -V OLD_FILES -V OLD_LIBS -V MOVED_LIBS -V OLD_DIRS check-old | \ +# xargs -n1 | sort | uniq -d; +# done +# +# For optional components, you can use the following to see if some entries +# in OptionalObsoleteFiles.inc have been obsoleted by ObsoleteFiles.inc +# for o in tools/build/options/WITH*; do +# __MAKE_CONF=/dev/null make -f Makefile.inc1 -D${o##*/} \ +# -V OLD_FILES -V OLD_LIBS -V MOVED_LIBS -V OLD_DIRS check-old | \ +# xargs -n1 | sort | uniq -d; +# done + - # 20230208: new clang import which bumps version from 14.0.5 to 15.0.3 ++# 20230208: new clang import which bumps version from 14.0.5 to 15.0.6 +OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/algorithm +OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.5/include/cuda_wrappers +OLD_FILES+=usr/lib/clang/14.0.5/include/fuzzer/FuzzedDataProvider.h +OLD_DIRS+=usr/lib/clang/14.0.5/include/fuzzer +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/__clang_openmp_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/cmath +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/complex.h +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/complex_cmath.h +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/math.h +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.5/include/openmp_wrappers +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/xmmintrin.h +OLD_DIRS+=usr/lib/clang/14.0.5/include/ppc_wrappers +OLD_FILES+=usr/lib/clang/14.0.5/include/profile/InstrProfData.inc +OLD_FILES+=usr/lib/clang/14.0.5/include/profile/MemProfData.inc +OLD_DIRS+=usr/lib/clang/14.0.5/include/profile +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/hwasan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/memprof_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/netbsd_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/scudo_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/tsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/tsan_interface_atomic.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/ubsan_interface.h +OLD_DIRS+=usr/lib/clang/14.0.5/include/sanitizer +OLD_FILES+=usr/lib/clang/14.0.5/include/xray/xray_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xray/xray_log_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xray/xray_records.h +OLD_DIRS+=usr/lib/clang/14.0.5/include/xray +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_math.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_texture_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_hip_cmath.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_hip_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_hip_math.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_hip_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__wmmintrin_aes.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__wmmintrin_pclmul.h +OLD_FILES+=usr/lib/clang/14.0.5/include/adxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/altivec.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ammintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/amxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm64intr.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_acle.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_bf16.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_cde.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_cmse.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_fp16.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_mve.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_neon.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_neon_sve_bridge.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_sve.h +OLD_FILES+=usr/lib/clang/14.0.5/include/armintr.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx2intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512bf16intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512bitalgintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512bwintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512cdintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512dqintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512erintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512fintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512fp16intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512ifmaintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512ifmavlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512pfintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vbmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vbmiintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vbmivlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlbf16intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlbitalgintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlbwintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlcdintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vldqintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlfp16intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlvbmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlvnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlvp2intersectintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vp2intersectintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vpopcntdqintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vpopcntdqvlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avxvnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/bmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/bmiintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/builtins.h +OLD_FILES+=usr/lib/clang/14.0.5/include/cet.h +OLD_FILES+=usr/lib/clang/14.0.5/include/cetintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/cldemoteintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/clflushoptintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/clwbintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/clzerointrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/cpuid.h +OLD_FILES+=usr/lib/clang/14.0.5/include/crc32intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/enqcmdintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/f16cintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/float.h +OLD_FILES+=usr/lib/clang/14.0.5/include/fma4intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/fmaintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/fxsrintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/gfniintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hexagon_circ_brev_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hexagon_protos.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hexagon_types.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hresetintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/htmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/htmxlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hvx_hexagon_protos.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ia32intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/immintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/inttypes.h +OLD_FILES+=usr/lib/clang/14.0.5/include/invpcidintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/iso646.h +OLD_FILES+=usr/lib/clang/14.0.5/include/keylockerintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/limits.h +OLD_FILES+=usr/lib/clang/14.0.5/include/lwpintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/lzcntintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/mm3dnow.h +OLD_FILES+=usr/lib/clang/14.0.5/include/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.5/include/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/module.modulemap +OLD_FILES+=usr/lib/clang/14.0.5/include/movdirintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/msa.h +OLD_FILES+=usr/lib/clang/14.0.5/include/mwaitxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/nmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/omp-tools.h +OLD_FILES+=usr/lib/clang/14.0.5/include/omp.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ompt.h +OLD_FILES+=usr/lib/clang/14.0.5/include/opencl-c-base.h +OLD_FILES+=usr/lib/clang/14.0.5/include/opencl-c.h +OLD_FILES+=usr/lib/clang/14.0.5/include/pconfigintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/pkuintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/popcntintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/prfchwintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ptwriteintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/rdseedintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/riscv_vector.h +OLD_FILES+=usr/lib/clang/14.0.5/include/rtmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/s390intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/serializeintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sgxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/shaintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdalign.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdarg.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdatomic.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdbool.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stddef.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdint.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdnoreturn.h +OLD_FILES+=usr/lib/clang/14.0.5/include/tbmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/tgmath.h +OLD_FILES+=usr/lib/clang/14.0.5/include/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/tsxldtrkintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/uintrintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/unwind.h +OLD_FILES+=usr/lib/clang/14.0.5/include/vadefs.h +OLD_FILES+=usr/lib/clang/14.0.5/include/vaesintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/varargs.h +OLD_FILES+=usr/lib/clang/14.0.5/include/vecintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/vpclmulqdqintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/waitpkgintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/wasm_simd128.h +OLD_FILES+=usr/lib/clang/14.0.5/include/wbnoinvdintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/wmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/x86gprintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/x86intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xopintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xsavecintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xsaveintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xsaveoptintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xsavesintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xtestintrin.h +OLD_DIRS+=usr/lib/clang/14.0.5/include +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-aarch64.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-arm.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-armhf.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-i386.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-x86_64.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.dd-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.dd-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-powerpc.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.safestack-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.safestack-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.safestack-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-x86_64.a +OLD_DIRS+=usr/lib/clang/14.0.5/lib/freebsd +OLD_DIRS+=usr/lib/clang/14.0.5/lib +OLD_FILES+=usr/lib/clang/14.0.5/share/asan_ignorelist.txt +OLD_FILES+=usr/lib/clang/14.0.5/share/cfi_ignorelist.txt +OLD_FILES+=usr/lib/clang/14.0.5/share/msan_ignorelist.txt +OLD_DIRS+=usr/lib/clang/14.0.5/share +OLD_DIRS+=usr/lib/clang/14.0.5 + - # 20230208: new libc++ import which bumps version from 14.0.5 to 15.0.3 ++# 20230208: new libc++ import which bumps version from 14.0.5 to 15.0.6 +OLD_FILES+=usr/include/c++/v1/__functional_base +OLD_FILES+=usr/include/c++/v1/__libcpp_version +OLD_FILES+=usr/include/c++/v1/__nullptr +OLD_FILES+=usr/include/c++/v1/__string +OLD_FILES+=usr/include/c++/v1/experimental/filesystem + +# 20230203: loader help files renamed +OLD_FILES+=boot/loader.help + +# 20230201: timeout moved from /usr/bin to /bin +OLD_FILES+=usr/tests/usr.bin/timeout/Kyuafile +OLD_FILES+=usr/tests/usr.bin/timeout/timeout_test + +# 20230124: rtalloc.9 removed +OLD_FILES+=usr/share/man/man9/rtalloc.9.gz + +# 20230123: PCBGROUP.9 removed +OLD_FILES+=usr/share/man/man9/PCBGROUP.9.gz + +# 20221214: TCPDEBUG removed +OLD_FILES+=usr/include/netinet/tcp_debug.h + +# 20221213: remove sync serial drivers and utilities +OLD_FILES+=sbin/sconfig +OLD_FILES+=usr/share/man/man4/ce.4 +OLD_FILES+=usr/share/man/man4/cp.4 +OLD_FILES+=usr/share/man/man8/sconfig.8.gz + +# 20221202: remove trpt(8) +OLD_FILES+=usr/sbin/trpt +OLD_FILES+=usr/share/man/man8/trpt.8.gz + +# 20221117: remove typo'd man page link +OLD_FILES+=usr/share/man/man9/vm_map_wire_mapped.9.gz + +# 20221114: remove othermta +OLD_FILES+=etc/rc.d/othermta + +# 20221109: remove rc.sendmail(8) +OLD_FILES+=etc/rc.sendmail +OLD_FILES+=usr/share/man/man8/rc.sendmail.8.gz + +# 20221015: update the ithread(9) man page +OLD_FILES+=usr/share/man/man9/ithread.9.gz +OLD_FILES+=usr/share/man/man9/ithread_add_handler.9.gz +OLD_FILES+=usr/share/man/man9/ithread_create.9.gz +OLD_FILES+=usr/share/man/man9/ithread_destroy.9.gz +OLD_FILES+=usr/share/man/man9/ithread_priority.9.gz +OLD_FILES+=usr/share/man/man9/ithread_remove_handler.9.gz +OLD_FILES+=usr/share/man/man9/ithread_schedule.9.gz + +# 20221012: remove nls support from sort +OLD_FILES+=usr/share/nls/hu_HU.ISO8859-2/sort.cat + +# 20221003: ip6protosw.h removed +OLD_FILES+=usr/include/netinet6/ip6protosw.h + +# 20221001: deorbit opie +OLD_FILES+=etc/opieaccess +OLD_FILES+=etc/opiekeys +OLD_FILES+=usr/bin/opieinfo +OLD_FILES+=usr/bin/opiekey +OLD_FILES+=usr/bin/opiepasswd +OLD_FILES+=usr/bin/otp-md4 +OLD_FILES+=usr/bin/otp-md5 +OLD_FILES+=usr/bin/otp-sha1 +OLD_FILES+=usr/lib/libopie.a +OLD_FILES+=usr/lib/libopie.so +OLD_LIBS+=usr/lib/libopie.so.8 +OLD_FILES+=usr/lib/libopie_p.a +OLD_FILES+=usr/lib/pam_opie.so +OLD_LIBS+=usr/lib/pam_opie.so.6 +OLD_FILES+=usr/lib/pam_opieaccess.so +OLD_LIBS+=usr/lib/pam_opieaccess.so.6 +OLD_FILES+=usr/share/man/man1/opieinfo.1.gz +OLD_FILES+=usr/share/man/man1/opiekey.1.gz +OLD_FILES+=usr/share/man/man1/opiepasswd.1.gz +OLD_FILES+=usr/share/man/man1/otp-md4.1.gz +OLD_FILES+=usr/share/man/man1/otp-md5.1.gz +OLD_FILES+=usr/share/man/man1/otp-sha1.1.gz +OLD_FILES+=usr/share/man/man4/opie.4.gz +OLD_FILES+=usr/share/man/man4/skey.4.gz +OLD_FILES+=usr/share/man/man5/opieaccess.5.gz +OLD_FILES+=usr/share/man/man5/opiekeys.5.gz +OLD_FILES+=usr/share/man/man8/pam_opie.8.gz +OLD_FILES+=usr/share/man/man8/pam_opieaccess.8.gz + +# 20220928: telnetd(8) removed +OLD_FILES+=etc/pam.d/telnetd +OLD_FILES+=usr/libexec/telnetd +OLD_FILES+=usr/share/man/man8/telnetd.8.gz + +# 20220914: domain(9) updated +OLD_FILES+=usr/share/man/man9/domain_init.9.gz +OLD_FILES+=usr/share/man/man9/pfctlinput.9.gz +OLD_FILES+=usr/share/man/man9/pffinddomain.9.gz +OLD_FILES+=usr/share/man/man9/pffindproto.9.gz +OLD_FILES+=usr/share/man/man9/pffindtype.9.gz + +# 20220825: awk tests moved to subdirs +OLD_FILES+=usr/tests/usr.bin/awk/awk_test +OLD_FILES+=usr/tests/usr.bin/awk/d_assign_NF.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_assign_NF.in +OLD_FILES+=usr/tests/usr.bin/awk/d_assign_NF.out +OLD_FILES+=usr/tests/usr.bin/awk/d_big_regexp.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_big_regexp.in +OLD_FILES+=usr/tests/usr.bin/awk/d_big_regexp.out +OLD_FILES+=usr/tests/usr.bin/awk/d_end1.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_end1.in +OLD_FILES+=usr/tests/usr.bin/awk/d_end1.out +OLD_FILES+=usr/tests/usr.bin/awk/d_end2.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_end2.in +OLD_FILES+=usr/tests/usr.bin/awk/d_end2.out +OLD_FILES+=usr/tests/usr.bin/awk/d_period.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_period.in +OLD_FILES+=usr/tests/usr.bin/awk/d_period.out +OLD_FILES+=usr/tests/usr.bin/awk/d_string1.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_string1.out +OLD_FILES+=usr/tests/usr.bin/awk/d_tolower.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_tolower.in +OLD_FILES+=usr/tests/usr.bin/awk/d_tolower.out +OLD_FILES+=usr/tests/usr.bin/awk/d_toupper.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_toupper.in +OLD_FILES+=usr/tests/usr.bin/awk/d_toupper.out + +# 20220820: remove knlist_init_rw_reader() +OLD_FILES+=usr/share/man/man9/knlist_init_rw_reader.9.gz + +# 20220813: minigzip(1) removed in favor of gzip(1) +OLD_FILES+=usr/bin/minigzip +OLD_FILES+=usr/share/man/man1/minigzip.1.gz + +# 20220811: new iconv encoder trait added +OLD_LIBS+=usr/lib/i18n/libBIG5.so.4 +OLD_LIBS+=usr/lib/i18n/libDECHanyu.so.4 +OLD_LIBS+=usr/lib/i18n/libEUC.so.4 +OLD_LIBS+=usr/lib/i18n/libEUCTW.so.4 +OLD_LIBS+=usr/lib/i18n/libGBK2K.so.4 +OLD_LIBS+=usr/lib/i18n/libHZ.so.4 +OLD_LIBS+=usr/lib/i18n/libISO2022.so.4 +OLD_LIBS+=usr/lib/i18n/libJOHAB.so.4 +OLD_LIBS+=usr/lib/i18n/libMSKanji.so.4 +OLD_LIBS+=usr/lib/i18n/libUES.so.4 +OLD_LIBS+=usr/lib/i18n/libUTF1632.so.4 +OLD_LIBS+=usr/lib/i18n/libUTF7.so.4 +OLD_LIBS+=usr/lib/i18n/libUTF8.so.4 +OLD_LIBS+=usr/lib/i18n/libVIQR.so.4 +OLD_LIBS+=usr/lib/i18n/libZW.so.4 +OLD_LIBS+=usr/lib/i18n/libiconv_none.so.4 +OLD_LIBS+=usr/lib/i18n/libiconv_std.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_646.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_none.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_parallel.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_serial.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_std.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_zone.so.4 + +# 20220811: raw socket layer removed +OLD_FILES+=usr/include/net/raw_cb.h + +# 20220721: libnv version bumps +OLD_LIBS+=lib/libnv.so.0 + +# 20220624: unix_passfd_test -> unix_passfd_stream/unix_passfd_dgram +OLD_FILES+=usr/tests/sys/kern/unix_passfd_test + +# 20220621: ISA sound card drivers removed +OLD_FILES+=usr/share/man/man4/snd_ad1816.4.gz +OLD_FILES+=usr/share/man/man4/snd_ess.4.gz +OLD_FILES+=usr/share/man/man4/snd_gusc.4.gz +OLD_FILES+=usr/share/man/man4/snd_mss.4.gz +OLD_FILES+=usr/share/man/man4/snd_sb16.4.gz +OLD_FILES+=usr/share/man/man4/snd_sb8.4.gz +OLD_FILES+=usr/share/man/man4/snd_sbc.4.gz + +# 20220612: new clang import which bumps version from 14.0.4 to 14.0.5 +OLD_FILES+=usr/lib/clang/14.0.4/include/cuda_wrappers/algorithm +OLD_FILES+=usr/lib/clang/14.0.4/include/cuda_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.4/include/cuda_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.4/include/cuda_wrappers +OLD_FILES+=usr/lib/clang/14.0.4/include/fuzzer/FuzzedDataProvider.h +OLD_DIRS+=usr/lib/clang/14.0.4/include/fuzzer +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/__clang_openmp_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/cmath +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/complex.h +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/complex_cmath.h +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/math.h +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.4/include/openmp_wrappers +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/xmmintrin.h +OLD_DIRS+=usr/lib/clang/14.0.4/include/ppc_wrappers +OLD_FILES+=usr/lib/clang/14.0.4/include/profile/InstrProfData.inc +OLD_FILES+=usr/lib/clang/14.0.4/include/profile/MemProfData.inc +OLD_DIRS+=usr/lib/clang/14.0.4/include/profile +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/hwasan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/memprof_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/netbsd_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/scudo_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/tsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/tsan_interface_atomic.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/ubsan_interface.h +OLD_DIRS+=usr/lib/clang/14.0.4/include/sanitizer +OLD_FILES+=usr/lib/clang/14.0.4/include/xray/xray_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xray/xray_log_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xray/xray_records.h +OLD_DIRS+=usr/lib/clang/14.0.4/include/xray +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_math.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_texture_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_hip_cmath.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_hip_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_hip_math.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_hip_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__wmmintrin_aes.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__wmmintrin_pclmul.h +OLD_FILES+=usr/lib/clang/14.0.4/include/adxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/altivec.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ammintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/amxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm64intr.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_acle.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_bf16.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_cde.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_cmse.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_fp16.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_mve.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_neon.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_neon_sve_bridge.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_sve.h +OLD_FILES+=usr/lib/clang/14.0.4/include/armintr.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx2intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512bf16intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512bitalgintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512bwintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512cdintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512dqintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512erintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512fintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512fp16intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512ifmaintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512ifmavlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512pfintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vbmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vbmiintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vbmivlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlbf16intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlbitalgintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlbwintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlcdintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vldqintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlfp16intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlvbmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlvnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlvp2intersectintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vp2intersectintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vpopcntdqintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vpopcntdqvlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avxvnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/bmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/bmiintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/builtins.h +OLD_FILES+=usr/lib/clang/14.0.4/include/cet.h +OLD_FILES+=usr/lib/clang/14.0.4/include/cetintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/cldemoteintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/clflushoptintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/clwbintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/clzerointrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/cpuid.h +OLD_FILES+=usr/lib/clang/14.0.4/include/crc32intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/enqcmdintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/f16cintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/float.h +OLD_FILES+=usr/lib/clang/14.0.4/include/fma4intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/fmaintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/fxsrintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/gfniintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hexagon_circ_brev_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hexagon_protos.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hexagon_types.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hresetintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/htmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/htmxlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hvx_hexagon_protos.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ia32intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/immintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/inttypes.h +OLD_FILES+=usr/lib/clang/14.0.4/include/invpcidintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/iso646.h +OLD_FILES+=usr/lib/clang/14.0.4/include/keylockerintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/limits.h +OLD_FILES+=usr/lib/clang/14.0.4/include/lwpintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/lzcntintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/mm3dnow.h +OLD_FILES+=usr/lib/clang/14.0.4/include/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.4/include/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/module.modulemap +OLD_FILES+=usr/lib/clang/14.0.4/include/movdirintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/msa.h +OLD_FILES+=usr/lib/clang/14.0.4/include/mwaitxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/nmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/omp-tools.h +OLD_FILES+=usr/lib/clang/14.0.4/include/omp.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ompt.h +OLD_FILES+=usr/lib/clang/14.0.4/include/opencl-c-base.h +OLD_FILES+=usr/lib/clang/14.0.4/include/opencl-c.h +OLD_FILES+=usr/lib/clang/14.0.4/include/pconfigintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/pkuintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/popcntintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/prfchwintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ptwriteintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/rdseedintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/riscv_vector.h +OLD_FILES+=usr/lib/clang/14.0.4/include/rtmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/s390intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/serializeintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sgxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/shaintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdalign.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdarg.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdatomic.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdbool.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stddef.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdint.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdnoreturn.h +OLD_FILES+=usr/lib/clang/14.0.4/include/tbmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/tgmath.h +OLD_FILES+=usr/lib/clang/14.0.4/include/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/tsxldtrkintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/uintrintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/unwind.h +OLD_FILES+=usr/lib/clang/14.0.4/include/vadefs.h +OLD_FILES+=usr/lib/clang/14.0.4/include/vaesintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/varargs.h +OLD_FILES+=usr/lib/clang/14.0.4/include/vecintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/vpclmulqdqintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/waitpkgintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/wasm_simd128.h +OLD_FILES+=usr/lib/clang/14.0.4/include/wbnoinvdintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/wmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/x86gprintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/x86intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xopintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xsavecintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xsaveintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xsaveoptintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xsavesintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xtestintrin.h +OLD_DIRS+=usr/lib/clang/14.0.4/include +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-aarch64.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-arm.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-armhf.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-i386.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-x86_64.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_static-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_static-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.dd-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.dd-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.msan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.msan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.msan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.msan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-powerpc.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.safestack-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.safestack-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.safestack-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.tsan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.tsan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-basic-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-basic-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-basic-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-basic-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-fdr-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-fdr-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-fdr-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-fdr-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-profiling-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-profiling-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-profiling-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-profiling-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-x86_64.a +OLD_DIRS+=usr/lib/clang/14.0.4/lib/freebsd +OLD_DIRS+=usr/lib/clang/14.0.4/lib/share +OLD_DIRS+=usr/lib/clang/14.0.4/lib +OLD_FILES+=usr/lib/clang/14.0.4/share/asan_ignorelist.txt +OLD_FILES+=usr/lib/clang/14.0.4/share/cfi_ignorelist.txt +OLD_FILES+=usr/lib/clang/14.0.4/share/msan_ignorelist.txt +OLD_DIRS+=usr/lib/clang/14.0.4/share +OLD_DIRS+=usr/lib/clang/14.0.4 + +# 20220605: new clang import which bumps version from 14.0.3 to 14.0.4 +OLD_FILES+=usr/lib/clang/14.0.3/include/cuda_wrappers/algorithm +OLD_FILES+=usr/lib/clang/14.0.3/include/cuda_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.3/include/cuda_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.3/include/cuda_wrappers +OLD_FILES+=usr/lib/clang/14.0.3/include/fuzzer/FuzzedDataProvider.h +OLD_DIRS+=usr/lib/clang/14.0.3/include/fuzzer +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/__clang_openmp_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/cmath +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/complex.h +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/complex_cmath.h +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/math.h +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.3/include/openmp_wrappers +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/xmmintrin.h +OLD_DIRS+=usr/lib/clang/14.0.3/include/ppc_wrappers +OLD_FILES+=usr/lib/clang/14.0.3/include/profile/InstrProfData.inc +OLD_FILES+=usr/lib/clang/14.0.3/include/profile/MemProfData.inc +OLD_DIRS+=usr/lib/clang/14.0.3/include/profile +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/hwasan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/memprof_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/netbsd_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/scudo_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/tsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/tsan_interface_atomic.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/ubsan_interface.h +OLD_DIRS+=usr/lib/clang/14.0.3/include/sanitizer +OLD_FILES+=usr/lib/clang/14.0.3/include/xray/xray_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/xray/xray_log_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/xray/xray_records.h +OLD_DIRS+=usr/lib/clang/14.0.3/include/xray +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_libdevice_declares.h *** 28279 LINES SKIPPED *** From nobody Wed Feb 8 19:08:05 2023 X-Original-To: dev-commits-src-main@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 4PBqJm15xRz3np1x; Wed, 8 Feb 2023 19:08: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBqJl6nbSz4515; Wed, 8 Feb 2023 19:08:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883288; 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=D5T+SmC77FWxAWQwp7K5zS+Gv91vfgBBowSIT8uZZa8=; b=xpK6eawadM1RJc25FBFwXcOXBB9Ej+at/mjRWorsdu5ZOfwbU/M/+9iJRMVW/Y0T0YJqZW FgM6kOvl45dAvNEOm/7jMQZwUaGaVDvwYceDFN7j+AxCC11C3SYSyA6+yjgh/SNwhLbZqF NQR0M5vR7AeoBhqMI1K6G2bTLMT1ehiXbXaLM6FCCJqRSSCGCQu/QgiRuDKq4icxkaaetb SsLW7aQJyWc7a1hO7iPXgsrECvQKt3cmhcmq4bb8ZjwhKnG3Qtw1Jdve4xs5aJ166UiBwY V8pMT2ANMYWI9NRM76VtLp8rmsKLK7fk6wzimKqEmKWJuC50nK1Gp0XaoOUzJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675883288; 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=D5T+SmC77FWxAWQwp7K5zS+Gv91vfgBBowSIT8uZZa8=; b=BKHTmg4kOun6YuHIe8EBV9u6qXjYViAiDlm+lqoXHZ8MYFK1YRUNg1EfTikqT7SdyRKJW6 j0w0pFZcCKyH/D4U5k7GPLJa8QA4gwGIlh5+6cYi9zaHLt+gx2r6vxA1CVWud6phAYVVvK wvLAGKcIxOAYs8rKm2gvUQNI1OBq8waTCMYyyjF3HrlhEm/ZqBq0/th6zEOAjKMnP0BIGj O2N5BJZjhYN4q/2hQWFvh+0PpsQ97+psDZHJm8RPXG1J1NuI59RmyUzcGiomrXTgShSa47 CG12f6h6CsmgloSfXq+dujB2OsanBarNU+fvq8mE58OmDiE9OaUYvl2MFYEWdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675883288; a=rsa-sha256; cv=none; b=s5fNKXFjzpFyMtRZWgi1wBrIQ8phskkr0nXI+ljbd4DsZ+W4eUpjUIN3+Zgk3a3tXTsSbz gCh5f5IfzjQolPBZg784n2qjwDagKHvF1z0NhBCZ5JHI7kQply7wXJ/3SBQjhw9aARBn6z ask/DU3vHYsqFfJ+RyYKpF0toLEII71jazM7cb0GWMAbSUNyZIY5bN6v0YdQ92feHAqB8e /Jls94bWq1GcLPCbI0ljDBH1bU5+VaHZTIQgXHp285jLvuh4T1SnnnVdnPPpL+LetvmK4g oGtpWtI19dXzTbMKvPK7DBkgffhAJ1JGbhbkpuhqkGLuGqXySam7HBFIZAEybA== 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 4PBqJl4gzcz17Bh; Wed, 8 Feb 2023 19:08:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318J87pQ095868; Wed, 8 Feb 2023 19:08:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318J85Mo095867; Wed, 8 Feb 2023 19:08:05 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:08:05 GMT Message-Id: <202302081908.318J85Mo095867@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 50d7464c3fe6 - main - Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 50d7464c3fe687c0a3d4dea6b96a5437779a3ef6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=50d7464c3fe687c0a3d4dea6b96a5437779a3ef6 commit 50d7464c3fe687c0a3d4dea6b96a5437779a3ef6 Merge: f3fd488f1e19 b9a7e2c7438a Author: Dimitry Andric AuthorDate: 2023-01-14 16:33:24 +0000 Commit: Dimitry Andric CommitDate: 2023-02-08 19:05:25 +0000 Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.7-0-g8dfdcc7b7bf6. PR: 265425 MFC after: 2 weeks ObsoleteFiles.inc | 4 +- contrib/llvm-project/libcxx/include/__config | 2 +- contrib/llvm-project/libcxx/include/vector | 119 ++-- .../llvm/lib/CodeGen/PrologEpilogInserter.cpp | 8 +- .../llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp | 3 + .../llvm/lib/CodeGen/TypePromotion.cpp | 8 +- etc/mtree/BSD.debug.dist | 2 +- etc/mtree/BSD.usr.dist | 2 +- lib/clang/headers/Makefile | 2 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/clang/Config/config.h | 2 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/libclang_rt/compiler-rt-vars.mk | 2 +- tools/build/mk/OptionalObsoleteFiles.inc | 644 ++++++++++----------- 19 files changed, 440 insertions(+), 388 deletions(-) diff --cc ObsoleteFiles.inc index 89f13693daaf,000000000000..3af36e03c70a mode 100644,000000..100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@@ -1,17215 -1,0 +1,17215 @@@ +# +# $FreeBSD$ +# +# This file lists old files (OLD_FILES), libraries (OLD_LIBS, MOVED_LIBS) +# and directories (OLD_DIRS) which should get removed after an update. +# Recently removed entries should be listed first (with the date as a +# comment). OLD_LIBS and MOVED_LIBS should only list dynamic libraries. +# Static libraries, links to dynamic libraries (lib*.so), and linker scripts +# should be listed in OLD_FILES. OLD_LIBS and MOVED_LIBS are removed by the +# delete-old-libs target, whereas OLD_FILES and OLD_DIRS are removed by the +# delete-old target. This separation allows users to avoid deleting old +# dynamic libraries still required by existing binaries. +# +# MOVED_LIBS should be used instead of OLD_LIBS when a library is moved +# from usr/lib to lib or vice versa. This avoids removing libraries for +# alternate ABIs (such as lib32) which store all libraries in a single +# directory (e.g. usr/lib32). +# +# For files listed in OLD_FILES, OLD_LIBS, and MOVED_LIBS, the check-old* +# and delete-old* targets will also delete associated debug symbols from +# usr/lib/debug. +# +# In case of a complete directory hierarchy the sorting is in depth first +# order. +# +# Files that are installed or removed depending on some build option +# should be listed in /usr/src/tools/build/mk/OptionalObsoleteFiles.inc +# instead of in this file. +# +# Before you commit changes to this file please check if any entries in +# tools/build/mk/OptionalObsoleteFiles.inc can be removed. The following +# command tells which files are listed more than once regardless of some +# architecture specific conditionals, so you can not blindly trust the +# output: +# ( grep '+=' /usr/src/ObsoleteFiles.inc | sort -u ; \ +# grep '+=' /usr/src/tools/build/mk/OptionalObsoleteFiles.inc | sort -u) | \ +# sort | uniq -d +# +# To find regular duplicates not dependent on optional components, you can +# also use something that will not give you false positives, e.g.: +# for t in `make -V TARGETS universe`; do +# __MAKE_CONF=/dev/null make -f Makefile.inc1 TARGET=$t \ +# -V OLD_FILES -V OLD_LIBS -V MOVED_LIBS -V OLD_DIRS check-old | \ +# xargs -n1 | sort | uniq -d; +# done +# +# For optional components, you can use the following to see if some entries +# in OptionalObsoleteFiles.inc have been obsoleted by ObsoleteFiles.inc +# for o in tools/build/options/WITH*; do +# __MAKE_CONF=/dev/null make -f Makefile.inc1 -D${o##*/} \ +# -V OLD_FILES -V OLD_LIBS -V MOVED_LIBS -V OLD_DIRS check-old | \ +# xargs -n1 | sort | uniq -d; +# done + - # 20230208: new clang import which bumps version from 14.0.5 to 15.0.6 ++# 20230208: new clang import which bumps version from 14.0.5 to 15.0.7 +OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/algorithm +OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.5/include/cuda_wrappers +OLD_FILES+=usr/lib/clang/14.0.5/include/fuzzer/FuzzedDataProvider.h +OLD_DIRS+=usr/lib/clang/14.0.5/include/fuzzer +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/__clang_openmp_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/cmath +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/complex.h +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/complex_cmath.h +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/math.h +OLD_FILES+=usr/lib/clang/14.0.5/include/openmp_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.5/include/openmp_wrappers +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ppc_wrappers/xmmintrin.h +OLD_DIRS+=usr/lib/clang/14.0.5/include/ppc_wrappers +OLD_FILES+=usr/lib/clang/14.0.5/include/profile/InstrProfData.inc +OLD_FILES+=usr/lib/clang/14.0.5/include/profile/MemProfData.inc +OLD_DIRS+=usr/lib/clang/14.0.5/include/profile +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/hwasan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/memprof_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/netbsd_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/scudo_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/tsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/tsan_interface_atomic.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sanitizer/ubsan_interface.h +OLD_DIRS+=usr/lib/clang/14.0.5/include/sanitizer +OLD_FILES+=usr/lib/clang/14.0.5/include/xray/xray_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xray/xray_log_interface.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xray/xray_records.h +OLD_DIRS+=usr/lib/clang/14.0.5/include/xray +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_math.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_cuda_texture_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_hip_cmath.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_hip_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_hip_math.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__clang_hip_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__wmmintrin_aes.h +OLD_FILES+=usr/lib/clang/14.0.5/include/__wmmintrin_pclmul.h +OLD_FILES+=usr/lib/clang/14.0.5/include/adxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/altivec.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ammintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/amxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm64intr.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_acle.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_bf16.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_cde.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_cmse.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_fp16.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_mve.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_neon.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_neon_sve_bridge.h +OLD_FILES+=usr/lib/clang/14.0.5/include/arm_sve.h +OLD_FILES+=usr/lib/clang/14.0.5/include/armintr.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx2intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512bf16intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512bitalgintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512bwintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512cdintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512dqintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512erintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512fintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512fp16intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512ifmaintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512ifmavlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512pfintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vbmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vbmiintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vbmivlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlbf16intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlbitalgintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlbwintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlcdintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vldqintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlfp16intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlvbmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlvnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vlvp2intersectintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vp2intersectintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vpopcntdqintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avx512vpopcntdqvlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/avxvnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/bmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/bmiintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/builtins.h +OLD_FILES+=usr/lib/clang/14.0.5/include/cet.h +OLD_FILES+=usr/lib/clang/14.0.5/include/cetintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/cldemoteintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/clflushoptintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/clwbintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/clzerointrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/cpuid.h +OLD_FILES+=usr/lib/clang/14.0.5/include/crc32intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/enqcmdintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/f16cintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/float.h +OLD_FILES+=usr/lib/clang/14.0.5/include/fma4intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/fmaintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/fxsrintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/gfniintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hexagon_circ_brev_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hexagon_protos.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hexagon_types.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hresetintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/htmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/htmxlintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/hvx_hexagon_protos.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ia32intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/immintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/inttypes.h +OLD_FILES+=usr/lib/clang/14.0.5/include/invpcidintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/iso646.h +OLD_FILES+=usr/lib/clang/14.0.5/include/keylockerintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/limits.h +OLD_FILES+=usr/lib/clang/14.0.5/include/lwpintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/lzcntintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/mm3dnow.h +OLD_FILES+=usr/lib/clang/14.0.5/include/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.5/include/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/module.modulemap +OLD_FILES+=usr/lib/clang/14.0.5/include/movdirintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/msa.h +OLD_FILES+=usr/lib/clang/14.0.5/include/mwaitxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/nmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/omp-tools.h +OLD_FILES+=usr/lib/clang/14.0.5/include/omp.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ompt.h +OLD_FILES+=usr/lib/clang/14.0.5/include/opencl-c-base.h +OLD_FILES+=usr/lib/clang/14.0.5/include/opencl-c.h +OLD_FILES+=usr/lib/clang/14.0.5/include/pconfigintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/pkuintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/popcntintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/prfchwintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/ptwriteintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/rdseedintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/riscv_vector.h +OLD_FILES+=usr/lib/clang/14.0.5/include/rtmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/s390intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/serializeintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/sgxintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/shaintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdalign.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdarg.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdatomic.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdbool.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stddef.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdint.h +OLD_FILES+=usr/lib/clang/14.0.5/include/stdnoreturn.h +OLD_FILES+=usr/lib/clang/14.0.5/include/tbmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/tgmath.h +OLD_FILES+=usr/lib/clang/14.0.5/include/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/tsxldtrkintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/uintrintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/unwind.h +OLD_FILES+=usr/lib/clang/14.0.5/include/vadefs.h +OLD_FILES+=usr/lib/clang/14.0.5/include/vaesintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/varargs.h +OLD_FILES+=usr/lib/clang/14.0.5/include/vecintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/vpclmulqdqintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/waitpkgintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/wasm_simd128.h +OLD_FILES+=usr/lib/clang/14.0.5/include/wbnoinvdintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/wmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/x86gprintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/x86intrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xopintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xsavecintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xsaveintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xsaveoptintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xsavesintrin.h +OLD_FILES+=usr/lib/clang/14.0.5/include/xtestintrin.h +OLD_DIRS+=usr/lib/clang/14.0.5/include +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-aarch64.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-arm.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-armhf.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-i386.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-x86_64.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi_diag-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.dd-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.dd-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-powerpc.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.safestack-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.safestack-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.safestack-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-arm.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-x86_64.a +OLD_DIRS+=usr/lib/clang/14.0.5/lib/freebsd +OLD_DIRS+=usr/lib/clang/14.0.5/lib +OLD_FILES+=usr/lib/clang/14.0.5/share/asan_ignorelist.txt +OLD_FILES+=usr/lib/clang/14.0.5/share/cfi_ignorelist.txt +OLD_FILES+=usr/lib/clang/14.0.5/share/msan_ignorelist.txt +OLD_DIRS+=usr/lib/clang/14.0.5/share +OLD_DIRS+=usr/lib/clang/14.0.5 + - # 20230208: new libc++ import which bumps version from 14.0.5 to 15.0.6 ++# 20230208: new libc++ import which bumps version from 14.0.5 to 15.0.7 +OLD_FILES+=usr/include/c++/v1/__functional_base +OLD_FILES+=usr/include/c++/v1/__libcpp_version +OLD_FILES+=usr/include/c++/v1/__nullptr +OLD_FILES+=usr/include/c++/v1/__string +OLD_FILES+=usr/include/c++/v1/experimental/filesystem + +# 20230203: loader help files renamed +OLD_FILES+=boot/loader.help + +# 20230201: timeout moved from /usr/bin to /bin +OLD_FILES+=usr/tests/usr.bin/timeout/Kyuafile +OLD_FILES+=usr/tests/usr.bin/timeout/timeout_test + +# 20230124: rtalloc.9 removed +OLD_FILES+=usr/share/man/man9/rtalloc.9.gz + +# 20230123: PCBGROUP.9 removed +OLD_FILES+=usr/share/man/man9/PCBGROUP.9.gz + +# 20221214: TCPDEBUG removed +OLD_FILES+=usr/include/netinet/tcp_debug.h + +# 20221213: remove sync serial drivers and utilities +OLD_FILES+=sbin/sconfig +OLD_FILES+=usr/share/man/man4/ce.4 +OLD_FILES+=usr/share/man/man4/cp.4 +OLD_FILES+=usr/share/man/man8/sconfig.8.gz + +# 20221202: remove trpt(8) +OLD_FILES+=usr/sbin/trpt +OLD_FILES+=usr/share/man/man8/trpt.8.gz + +# 20221117: remove typo'd man page link +OLD_FILES+=usr/share/man/man9/vm_map_wire_mapped.9.gz + +# 20221114: remove othermta +OLD_FILES+=etc/rc.d/othermta + +# 20221109: remove rc.sendmail(8) +OLD_FILES+=etc/rc.sendmail +OLD_FILES+=usr/share/man/man8/rc.sendmail.8.gz + +# 20221015: update the ithread(9) man page +OLD_FILES+=usr/share/man/man9/ithread.9.gz +OLD_FILES+=usr/share/man/man9/ithread_add_handler.9.gz +OLD_FILES+=usr/share/man/man9/ithread_create.9.gz +OLD_FILES+=usr/share/man/man9/ithread_destroy.9.gz +OLD_FILES+=usr/share/man/man9/ithread_priority.9.gz +OLD_FILES+=usr/share/man/man9/ithread_remove_handler.9.gz +OLD_FILES+=usr/share/man/man9/ithread_schedule.9.gz + +# 20221012: remove nls support from sort +OLD_FILES+=usr/share/nls/hu_HU.ISO8859-2/sort.cat + +# 20221003: ip6protosw.h removed +OLD_FILES+=usr/include/netinet6/ip6protosw.h + +# 20221001: deorbit opie +OLD_FILES+=etc/opieaccess +OLD_FILES+=etc/opiekeys +OLD_FILES+=usr/bin/opieinfo +OLD_FILES+=usr/bin/opiekey +OLD_FILES+=usr/bin/opiepasswd +OLD_FILES+=usr/bin/otp-md4 +OLD_FILES+=usr/bin/otp-md5 +OLD_FILES+=usr/bin/otp-sha1 +OLD_FILES+=usr/lib/libopie.a +OLD_FILES+=usr/lib/libopie.so +OLD_LIBS+=usr/lib/libopie.so.8 +OLD_FILES+=usr/lib/libopie_p.a +OLD_FILES+=usr/lib/pam_opie.so +OLD_LIBS+=usr/lib/pam_opie.so.6 +OLD_FILES+=usr/lib/pam_opieaccess.so +OLD_LIBS+=usr/lib/pam_opieaccess.so.6 +OLD_FILES+=usr/share/man/man1/opieinfo.1.gz +OLD_FILES+=usr/share/man/man1/opiekey.1.gz +OLD_FILES+=usr/share/man/man1/opiepasswd.1.gz +OLD_FILES+=usr/share/man/man1/otp-md4.1.gz +OLD_FILES+=usr/share/man/man1/otp-md5.1.gz +OLD_FILES+=usr/share/man/man1/otp-sha1.1.gz +OLD_FILES+=usr/share/man/man4/opie.4.gz +OLD_FILES+=usr/share/man/man4/skey.4.gz +OLD_FILES+=usr/share/man/man5/opieaccess.5.gz +OLD_FILES+=usr/share/man/man5/opiekeys.5.gz +OLD_FILES+=usr/share/man/man8/pam_opie.8.gz +OLD_FILES+=usr/share/man/man8/pam_opieaccess.8.gz + +# 20220928: telnetd(8) removed +OLD_FILES+=etc/pam.d/telnetd +OLD_FILES+=usr/libexec/telnetd +OLD_FILES+=usr/share/man/man8/telnetd.8.gz + +# 20220914: domain(9) updated +OLD_FILES+=usr/share/man/man9/domain_init.9.gz +OLD_FILES+=usr/share/man/man9/pfctlinput.9.gz +OLD_FILES+=usr/share/man/man9/pffinddomain.9.gz +OLD_FILES+=usr/share/man/man9/pffindproto.9.gz +OLD_FILES+=usr/share/man/man9/pffindtype.9.gz + +# 20220825: awk tests moved to subdirs +OLD_FILES+=usr/tests/usr.bin/awk/awk_test +OLD_FILES+=usr/tests/usr.bin/awk/d_assign_NF.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_assign_NF.in +OLD_FILES+=usr/tests/usr.bin/awk/d_assign_NF.out +OLD_FILES+=usr/tests/usr.bin/awk/d_big_regexp.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_big_regexp.in +OLD_FILES+=usr/tests/usr.bin/awk/d_big_regexp.out +OLD_FILES+=usr/tests/usr.bin/awk/d_end1.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_end1.in +OLD_FILES+=usr/tests/usr.bin/awk/d_end1.out +OLD_FILES+=usr/tests/usr.bin/awk/d_end2.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_end2.in +OLD_FILES+=usr/tests/usr.bin/awk/d_end2.out +OLD_FILES+=usr/tests/usr.bin/awk/d_period.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_period.in +OLD_FILES+=usr/tests/usr.bin/awk/d_period.out +OLD_FILES+=usr/tests/usr.bin/awk/d_string1.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_string1.out +OLD_FILES+=usr/tests/usr.bin/awk/d_tolower.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_tolower.in +OLD_FILES+=usr/tests/usr.bin/awk/d_tolower.out +OLD_FILES+=usr/tests/usr.bin/awk/d_toupper.awk +OLD_FILES+=usr/tests/usr.bin/awk/d_toupper.in +OLD_FILES+=usr/tests/usr.bin/awk/d_toupper.out + +# 20220820: remove knlist_init_rw_reader() +OLD_FILES+=usr/share/man/man9/knlist_init_rw_reader.9.gz + +# 20220813: minigzip(1) removed in favor of gzip(1) +OLD_FILES+=usr/bin/minigzip +OLD_FILES+=usr/share/man/man1/minigzip.1.gz + +# 20220811: new iconv encoder trait added +OLD_LIBS+=usr/lib/i18n/libBIG5.so.4 +OLD_LIBS+=usr/lib/i18n/libDECHanyu.so.4 +OLD_LIBS+=usr/lib/i18n/libEUC.so.4 +OLD_LIBS+=usr/lib/i18n/libEUCTW.so.4 +OLD_LIBS+=usr/lib/i18n/libGBK2K.so.4 +OLD_LIBS+=usr/lib/i18n/libHZ.so.4 +OLD_LIBS+=usr/lib/i18n/libISO2022.so.4 +OLD_LIBS+=usr/lib/i18n/libJOHAB.so.4 +OLD_LIBS+=usr/lib/i18n/libMSKanji.so.4 +OLD_LIBS+=usr/lib/i18n/libUES.so.4 +OLD_LIBS+=usr/lib/i18n/libUTF1632.so.4 +OLD_LIBS+=usr/lib/i18n/libUTF7.so.4 +OLD_LIBS+=usr/lib/i18n/libUTF8.so.4 +OLD_LIBS+=usr/lib/i18n/libVIQR.so.4 +OLD_LIBS+=usr/lib/i18n/libZW.so.4 +OLD_LIBS+=usr/lib/i18n/libiconv_none.so.4 +OLD_LIBS+=usr/lib/i18n/libiconv_std.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_646.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_none.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_parallel.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_serial.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_std.so.4 +OLD_LIBS+=usr/lib/i18n/libmapper_zone.so.4 + +# 20220811: raw socket layer removed +OLD_FILES+=usr/include/net/raw_cb.h + +# 20220721: libnv version bumps +OLD_LIBS+=lib/libnv.so.0 + +# 20220624: unix_passfd_test -> unix_passfd_stream/unix_passfd_dgram +OLD_FILES+=usr/tests/sys/kern/unix_passfd_test + +# 20220621: ISA sound card drivers removed +OLD_FILES+=usr/share/man/man4/snd_ad1816.4.gz +OLD_FILES+=usr/share/man/man4/snd_ess.4.gz +OLD_FILES+=usr/share/man/man4/snd_gusc.4.gz +OLD_FILES+=usr/share/man/man4/snd_mss.4.gz +OLD_FILES+=usr/share/man/man4/snd_sb16.4.gz +OLD_FILES+=usr/share/man/man4/snd_sb8.4.gz +OLD_FILES+=usr/share/man/man4/snd_sbc.4.gz + +# 20220612: new clang import which bumps version from 14.0.4 to 14.0.5 +OLD_FILES+=usr/lib/clang/14.0.4/include/cuda_wrappers/algorithm +OLD_FILES+=usr/lib/clang/14.0.4/include/cuda_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.4/include/cuda_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.4/include/cuda_wrappers +OLD_FILES+=usr/lib/clang/14.0.4/include/fuzzer/FuzzedDataProvider.h +OLD_DIRS+=usr/lib/clang/14.0.4/include/fuzzer +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/__clang_openmp_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/cmath +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/complex.h +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/complex_cmath.h +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/math.h +OLD_FILES+=usr/lib/clang/14.0.4/include/openmp_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.4/include/openmp_wrappers +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ppc_wrappers/xmmintrin.h +OLD_DIRS+=usr/lib/clang/14.0.4/include/ppc_wrappers +OLD_FILES+=usr/lib/clang/14.0.4/include/profile/InstrProfData.inc +OLD_FILES+=usr/lib/clang/14.0.4/include/profile/MemProfData.inc +OLD_DIRS+=usr/lib/clang/14.0.4/include/profile +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/hwasan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/memprof_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/netbsd_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/scudo_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/tsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/tsan_interface_atomic.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sanitizer/ubsan_interface.h +OLD_DIRS+=usr/lib/clang/14.0.4/include/sanitizer +OLD_FILES+=usr/lib/clang/14.0.4/include/xray/xray_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xray/xray_log_interface.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xray/xray_records.h +OLD_DIRS+=usr/lib/clang/14.0.4/include/xray +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_math.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_cuda_texture_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_hip_cmath.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_hip_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_hip_math.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__clang_hip_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__wmmintrin_aes.h +OLD_FILES+=usr/lib/clang/14.0.4/include/__wmmintrin_pclmul.h +OLD_FILES+=usr/lib/clang/14.0.4/include/adxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/altivec.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ammintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/amxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm64intr.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_acle.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_bf16.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_cde.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_cmse.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_fp16.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_mve.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_neon.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_neon_sve_bridge.h +OLD_FILES+=usr/lib/clang/14.0.4/include/arm_sve.h +OLD_FILES+=usr/lib/clang/14.0.4/include/armintr.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx2intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512bf16intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512bitalgintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512bwintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512cdintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512dqintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512erintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512fintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512fp16intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512ifmaintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512ifmavlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512pfintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vbmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vbmiintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vbmivlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlbf16intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlbitalgintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlbwintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlcdintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vldqintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlfp16intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlvbmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlvnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vlvp2intersectintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vp2intersectintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vpopcntdqintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avx512vpopcntdqvlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/avxvnniintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/bmi2intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/bmiintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/builtins.h +OLD_FILES+=usr/lib/clang/14.0.4/include/cet.h +OLD_FILES+=usr/lib/clang/14.0.4/include/cetintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/cldemoteintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/clflushoptintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/clwbintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/clzerointrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/cpuid.h +OLD_FILES+=usr/lib/clang/14.0.4/include/crc32intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/enqcmdintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/f16cintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/float.h +OLD_FILES+=usr/lib/clang/14.0.4/include/fma4intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/fmaintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/fxsrintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/gfniintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hexagon_circ_brev_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hexagon_protos.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hexagon_types.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hresetintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/htmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/htmxlintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/hvx_hexagon_protos.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ia32intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/immintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/inttypes.h +OLD_FILES+=usr/lib/clang/14.0.4/include/invpcidintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/iso646.h +OLD_FILES+=usr/lib/clang/14.0.4/include/keylockerintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/limits.h +OLD_FILES+=usr/lib/clang/14.0.4/include/lwpintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/lzcntintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/mm3dnow.h +OLD_FILES+=usr/lib/clang/14.0.4/include/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.4/include/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/module.modulemap +OLD_FILES+=usr/lib/clang/14.0.4/include/movdirintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/msa.h +OLD_FILES+=usr/lib/clang/14.0.4/include/mwaitxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/nmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/omp-tools.h +OLD_FILES+=usr/lib/clang/14.0.4/include/omp.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ompt.h +OLD_FILES+=usr/lib/clang/14.0.4/include/opencl-c-base.h +OLD_FILES+=usr/lib/clang/14.0.4/include/opencl-c.h +OLD_FILES+=usr/lib/clang/14.0.4/include/pconfigintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/pkuintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/popcntintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/prfchwintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/ptwriteintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/rdseedintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/riscv_vector.h +OLD_FILES+=usr/lib/clang/14.0.4/include/rtmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/s390intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/serializeintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/sgxintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/shaintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdalign.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdarg.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdatomic.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdbool.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stddef.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdint.h +OLD_FILES+=usr/lib/clang/14.0.4/include/stdnoreturn.h +OLD_FILES+=usr/lib/clang/14.0.4/include/tbmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/tgmath.h +OLD_FILES+=usr/lib/clang/14.0.4/include/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/tsxldtrkintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/uintrintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/unwind.h +OLD_FILES+=usr/lib/clang/14.0.4/include/vadefs.h +OLD_FILES+=usr/lib/clang/14.0.4/include/vaesintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/varargs.h +OLD_FILES+=usr/lib/clang/14.0.4/include/vecintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/vpclmulqdqintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/waitpkgintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/wasm_simd128.h +OLD_FILES+=usr/lib/clang/14.0.4/include/wbnoinvdintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/wmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/x86gprintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/x86intrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xopintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xsavecintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xsaveintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xsaveoptintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xsavesintrin.h +OLD_FILES+=usr/lib/clang/14.0.4/include/xtestintrin.h +OLD_DIRS+=usr/lib/clang/14.0.4/include +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-aarch64.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-arm.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-armhf.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-i386.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan-x86_64.so +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_static-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.asan_static-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.cfi_diag-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.dd-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.dd-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.msan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.msan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.msan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.msan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-powerpc.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.profile-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.safestack-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.safestack-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.safestack-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.stats_client-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.tsan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.tsan-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-basic-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-basic-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-basic-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-basic-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-fdr-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-fdr-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-fdr-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-fdr-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-profiling-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-profiling-arm.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-profiling-armhf.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-profiling-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.4/lib/freebsd/libclang_rt.xray-x86_64.a +OLD_DIRS+=usr/lib/clang/14.0.4/lib/freebsd +OLD_DIRS+=usr/lib/clang/14.0.4/lib/share +OLD_DIRS+=usr/lib/clang/14.0.4/lib +OLD_FILES+=usr/lib/clang/14.0.4/share/asan_ignorelist.txt +OLD_FILES+=usr/lib/clang/14.0.4/share/cfi_ignorelist.txt +OLD_FILES+=usr/lib/clang/14.0.4/share/msan_ignorelist.txt +OLD_DIRS+=usr/lib/clang/14.0.4/share +OLD_DIRS+=usr/lib/clang/14.0.4 + +# 20220605: new clang import which bumps version from 14.0.3 to 14.0.4 +OLD_FILES+=usr/lib/clang/14.0.3/include/cuda_wrappers/algorithm +OLD_FILES+=usr/lib/clang/14.0.3/include/cuda_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.3/include/cuda_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.3/include/cuda_wrappers +OLD_FILES+=usr/lib/clang/14.0.3/include/fuzzer/FuzzedDataProvider.h +OLD_DIRS+=usr/lib/clang/14.0.3/include/fuzzer +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/__clang_openmp_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/cmath +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/complex +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/complex.h +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/complex_cmath.h +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/math.h +OLD_FILES+=usr/lib/clang/14.0.3/include/openmp_wrappers/new +OLD_DIRS+=usr/lib/clang/14.0.3/include/openmp_wrappers +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/emmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/mm_malloc.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/mmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/pmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/smmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/tmmintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ppc_wrappers/xmmintrin.h +OLD_DIRS+=usr/lib/clang/14.0.3/include/ppc_wrappers +OLD_FILES+=usr/lib/clang/14.0.3/include/profile/InstrProfData.inc +OLD_FILES+=usr/lib/clang/14.0.3/include/profile/MemProfData.inc +OLD_DIRS+=usr/lib/clang/14.0.3/include/profile +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/hwasan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/memprof_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/netbsd_syscall_hooks.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/scudo_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/tsan_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/tsan_interface_atomic.h +OLD_FILES+=usr/lib/clang/14.0.3/include/sanitizer/ubsan_interface.h +OLD_DIRS+=usr/lib/clang/14.0.3/include/sanitizer +OLD_FILES+=usr/lib/clang/14.0.3/include/xray/xray_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/xray/xray_log_interface.h +OLD_FILES+=usr/lib/clang/14.0.3/include/xray/xray_records.h +OLD_DIRS+=usr/lib/clang/14.0.3/include/xray +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_device_functions.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_math.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_cuda_texture_intrinsics.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_hip_cmath.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_hip_libdevice_declares.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_hip_math.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__clang_hip_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__wmmintrin_aes.h +OLD_FILES+=usr/lib/clang/14.0.3/include/__wmmintrin_pclmul.h +OLD_FILES+=usr/lib/clang/14.0.3/include/adxintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/altivec.h +OLD_FILES+=usr/lib/clang/14.0.3/include/ammintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/amxintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/arm64intr.h +OLD_FILES+=usr/lib/clang/14.0.3/include/arm_acle.h +OLD_FILES+=usr/lib/clang/14.0.3/include/arm_bf16.h +OLD_FILES+=usr/lib/clang/14.0.3/include/arm_cde.h +OLD_FILES+=usr/lib/clang/14.0.3/include/arm_cmse.h +OLD_FILES+=usr/lib/clang/14.0.3/include/arm_fp16.h +OLD_FILES+=usr/lib/clang/14.0.3/include/arm_mve.h +OLD_FILES+=usr/lib/clang/14.0.3/include/arm_neon.h +OLD_FILES+=usr/lib/clang/14.0.3/include/arm_neon_sve_bridge.h +OLD_FILES+=usr/lib/clang/14.0.3/include/arm_sve.h +OLD_FILES+=usr/lib/clang/14.0.3/include/armintr.h +OLD_FILES+=usr/lib/clang/14.0.3/include/avx2intrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/avx512bf16intrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/avx512bitalgintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/avx512bwintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/avx512cdintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/avx512dqintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/avx512erintrin.h +OLD_FILES+=usr/lib/clang/14.0.3/include/avx512fintrin.h *** 28245 LINES SKIPPED *** From nobody Wed Feb 8 19:20:54 2023 X-Original-To: dev-commits-src-main@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 4PBqbV5vK0z3nqY4; Wed, 8 Feb 2023 19:20: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBqbV47T8z4bKD; Wed, 8 Feb 2023 19:20:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675884054; 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=WmE0T6IyIR1urszNANG80HkbwteTRoqKsTYIy+6VkJM=; b=B/mNRFtKQX3ERYiQdm0BUv46+akAxUT+86BdOZwATs31ptT/YJm6CdbApRjrJNdVWH/1Ow Cb4j3/wItYR8cAlX6zW/5EMLP5nRt0L+UMq5bDHfLklHSzpA77UOkxCUNgx3+mx/+RtjFi +QH+IyQrswWUv9lKcZ0QhsycZzCX52oJ6HZXaSXrfPfgeA+zzKUMuNlvRNS/F2fNM8ghHK ri9QWnAKcQKu1txtLs+Sxwnoqb9L1uxTQnjzoeuWp9cdmAxhVXSMW7M26L2obNtQ7BFcxT zGj8FKSc3Ul/l3Yd+KNTQSkWMPZ9jD+LEtmFIP7wIysqp2o2NEEa6teariFeJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675884054; 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=WmE0T6IyIR1urszNANG80HkbwteTRoqKsTYIy+6VkJM=; b=T6/97ZGpzLh48ZFScX2g0fkUYF4j5gX/E/j103tcfI5/6zJbc7vcKsiBSouB/jBRKVNUlW im8k1qqX+E90sKBY5PZSfluBPt1BXBZQxLikFY+CTnVOp07zu/2oU/eCve2tli3xRa/50U 3fyUUg1GlTMY14OXe3aCe8NBiOP7xvaDXvPD6hMSS7SGG4Kop4HV0sRHyAeXjVPuC2+F1F tJXE37UoO93Rk6Lt3lfr1/FbvZ7RDZvIQ59C6EAbaS3uzE2S0lnQCiH0U+if/iWke2TM5u ehQNyLmzcmW8iuhbyjCRVSRYHbJYoAayqLo9TNXBqHCzgQq7vtBVnGg7aTxNGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675884054; a=rsa-sha256; cv=none; b=IYS502q45EoZ6b4jy2pwyT6BC8TpVES/bo7jLOznLT9PEhoO+cb36ElLJRnVuicDqFNN7o XbaJmFWlNq/q9K5nh9qT5lIj2Hb+BNufYPXpc68+ZsT5aTws6akJjcI4VfRNML/rn/R+4v MprkrBB0f8Hc7A6cKiLdaHnibqxhvtVsWCXgamWYmuh3kQQM9qBMJ+VnXXqWnuDFUMCaR5 EZ2vqphe/xXEPHZisWq1MKFUgG/JrdXVAO6zllWQUNesCqcQpC2iAaCIjV1DpO97kTFhWV 8T+VzSetJJ1n3auRNIFr5DK7dM3WeSSa00eDhBNuOYi1A00Tsprpda70AprYYw== 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 4PBqbV3B75z17Zy; Wed, 8 Feb 2023 19:20:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318JKs8m019750; Wed, 8 Feb 2023 19:20:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318JKs0E019749; Wed, 8 Feb 2023 19:20:54 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:20:54 GMT Message-Id: <202302081920.318JKs0E019749@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 3264f6b88fce - main - Bump __FreeBSD_version for llvm 15.0.7 merge List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 3264f6b88fce7c5437d205685863617d8f6a22dd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=3264f6b88fce7c5437d205685863617d8f6a22dd commit 3264f6b88fce7c5437d205685863617d8f6a22dd Author: Dimitry Andric AuthorDate: 2023-02-08 19:20:21 +0000 Commit: Dimitry Andric CommitDate: 2023-02-08 19:20:33 +0000 Bump __FreeBSD_version for llvm 15.0.7 merge PR: 265425 MFC after: 2 weeks --- sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index 07b3e6de80e6..b2c2b1a04b4b 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -76,7 +76,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1400078 +#define __FreeBSD_version 1400079 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Wed Feb 8 19:22:21 2023 X-Original-To: dev-commits-src-main@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 4PBqd92zG6z3nrGk; Wed, 8 Feb 2023 19:22: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBqd92YgVz4c8r; Wed, 8 Feb 2023 19:22:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675884141; 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=OMPM6qYSZkyB14aP+ouSWtuQbWGv+DIGaQNev6Gh+30=; b=G0wJ2Lxyo/NMoFTPGDAP4GIK1p9NfKBmcUQ+mYRDAY5QWEtllZdWF05xpz/+/DnU3QDJuT PZMrzxjnOvd/Ei17Yv1MtDKCd6JJnLoSzCJ1DbSzrGZYVcpoH223w1KF7GvDzzBssvCjRc vrM/SDEcPLR9fMi7OTOsXuQ1icCTOAjS+PjA40A9d2i+55c+mihsfH4efnYNtxdyWsmkHy WSgXey/fjOXxK0nzFFulopL1CUf/UbrgXBSFE1r+qJeZBbq5PnuoxXs2uNGaEfM2MHGB9y WyTNIjcqF2/Of8hu8a2g1Uo+9m3fQfFFptDelSgj/eFFGboJXiSt6VxZbduWrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675884141; 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=OMPM6qYSZkyB14aP+ouSWtuQbWGv+DIGaQNev6Gh+30=; b=UFg/UTd8S1QMq5+3gdaItfyCp7WOFvHR5PTfYH+wzil+fCYIuBNjR6KeIG1CWoqhSTuU4z qsBe0WfEOa8e5WbIBJAy/gBMVI3kK91cIj9V02qTnG9KT1THcXGMfdvvg77T3IIttQn6yN /9gA9lnWtwQIoAcgLuT/8OhyHN52g7kMColtRzp05TLIj8N7QeI/atLqX43UyEMlO/7CjX KgQsCwp2Rsn0IzVOI70g10hZzgKT8my5Y72tkMeRCiP4nc/zCFNjmft0c1I4ZtQwiz2UkJ dlKinrIeV+xbS4CvZUK/dv4kcHMrb6c4NhvHXYQ929a/5SyL5x+LlP2OyHK9/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675884141; a=rsa-sha256; cv=none; b=t8YDRDutW3hauO8SBIrxCg0IF8ESwCk+9w/a8GlMzQZK5S+uvuzOn/JofoQztrHf5qmibO z9DCpfHw/7KGIFZdKLa3nePzl8HJ72sfTpZOLALpuzPSsJ5hZoEXSuJyDT18eb7fel8UwV KyY0YbHZtmwdp3HpD8ZtPKdyVaIH/O24wquH8FGs5NCHfrdStvtlmRbiFKSISr7v2EQyJO CrB3MMtU4khNu7PEqq2O5OJKz1YyxP4Vnb0zPNS0Tyt7+iZA0/BsdM2pYJCVKxpksoa8O9 hu4nVScDcw2hoW7Tv9d0c82t+J1sylEqBQBqiVg85W6eRTpEBwiEdW81I3gjNw== 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 4PBqd91fJdz17j7; Wed, 8 Feb 2023 19:22:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318JMLa2023458; Wed, 8 Feb 2023 19:22:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318JMLgJ023457; Wed, 8 Feb 2023 19:22:21 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:22:21 GMT Message-Id: <202302081922.318JMLgJ023457@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 89a072d11cd2 - main - Makefile.amd64: remove construct that serves no purpose List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 89a072d11cd227c7350ae0f55ee0bb95993e1140 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=89a072d11cd227c7350ae0f55ee0bb95993e1140 commit 89a072d11cd227c7350ae0f55ee0bb95993e1140 Author: Alexander Kabaev AuthorDate: 2023-02-08 18:36:46 +0000 Commit: Warner Losh CommitDate: 2023-02-08 19:19:39 +0000 Makefile.amd64: remove construct that serves no purpose The variable expansion as written will never match anything but 'amd64/.8' in OBJDIR. The original intention behind the construct remains unclear, but "as is" it serves no other purpose but to generate the warning. Remove it altogether. Fixes: df90aeac24c9 Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D38440 --- usr.sbin/Makefile.amd64 | 5 ----- 1 file changed, 5 deletions(-) diff --git a/usr.sbin/Makefile.amd64 b/usr.sbin/Makefile.amd64 index 1191b5d6814e..c81a7530d6b7 100644 --- a/usr.sbin/Makefile.amd64 +++ b/usr.sbin/Makefile.amd64 @@ -2,16 +2,11 @@ # mptable: broken (not 64 bit clean) # pnpinfo: crashes (not really useful anyway) -_ARCH_SUBDIR=amd64 .if ${MK_ACPI} != "no" SUBDIR+= acpi .endif .if ${MK_APM} != "no" SUBDIR+= apm -# Link files to the architecture directory -.for _manpage in ${:!/bin/sh -c "/bin/ls ${_ARCH_SUBDIR}/.8"!:E} -MLINKS+=${_manpage} ${_ARCH_SUBDIR}/${_manpage} -.endfor .endif .if ${MK_BHYVE} != "no" SUBDIR+= bhyve From nobody Wed Feb 8 19:30:44 2023 X-Original-To: dev-commits-src-main@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 4PBqps1tJjz3nrXD; Wed, 8 Feb 2023 19:30: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBqps1R3mz4d2D; Wed, 8 Feb 2023 19:30:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675884645; 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=Z6vQ1qOkzKX4Utrme5S5oNyW0TNyeM9QaeqDPqcCHP0=; b=c5q/SDgvlplZSSc/3rE4xAK3Oma8/cVmSFgY/+eKFf1qkGKUaTMCSPDPrq++Tt4QriWnpF YKLvEF5yJIxcgGGytSjilL4OZdPxoKz2zXqpi7a1Exaa+6RacWD/NzxCRqM6ZmUa0sRCrH JAim01OX6ay6I7gLCkPu9MPFJ0P45I5fy+T72WzmXyTo1urlRjOo+Ihwh6aaQH3jFq32y3 bVwEedW8Yopek7q7uTgUpUCbFonwi2er11hoEWA0IlWifTbbY+XQB2NwwTPG4keP+2sXE3 5LcFUOa7Kk0dvcbiN8BdDRXkwCyTEaByGe2oJbxkqORXCU0Ana3rvnLBqXA/kA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675884645; 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=Z6vQ1qOkzKX4Utrme5S5oNyW0TNyeM9QaeqDPqcCHP0=; b=k7ivGfCt1dZFH4lxweRdHBKNcWmL0+syGa51lMSknXWT3Ycmfnr9Xoh3+4ksER0Zu5irLY ltMdV0bcl9OZWjN7zuhvqg1ATATe1BE3P6qkAlZl17BGXe1z6izivZOxQLGjxjvhULo39X 5kjhlLg6hV31i2/Ytc6b4UI1sUIfqI4xyOAVRu20KZFRIUl8nkBRReryq8W5xJQqw2TP0S eCNm0uhP48uqBPzWDGVby+WmxQ7S6IMFvyhQOmZE/OLZqTQVBWdrGEineIS7a0SX50DdiK +XO86Ju6ZxFpa39KeXFK646B/lZfM1idszbFYomjpKO7Jrt9cilC9ahhzAzMpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675884645; a=rsa-sha256; cv=none; b=MyeHzMgXw+xrprCYLv4825sffcS0Y0znV0skoHlhAqQFtF+RWFoAB9EPwNhqRW2gXKRdaA tEfM354/N5AeJPDuDxpHSWNwRqITJvQyQDWmeIYm55R6eKTc1Vu1byOxaNssFtLX6I/L4A Iea/59E4mcsoKkkJ796GdrDeY1pagHlrYhnrUg+V/gIUyes2yMYF1fQCpfaMNZuy2eBaBm hTLfTGdicS05znbNLu4hSHMyBUek5buCzZDleBoPKSB7ettmh/kCSrNCT2X48pazYqgkay xLKh8AD1sgQL8IdNkqs4K1qjSVYqL54QlQeQiO2G/5fYMxlJIFxU+CpGB/2ibg== 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 4PBqps0VLbz18BS; Wed, 8 Feb 2023 19:30:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318JUivQ036535; Wed, 8 Feb 2023 19:30:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318JUicp036534; Wed, 8 Feb 2023 19:30:44 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:30:44 GMT Message-Id: <202302081930.318JUicp036534@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: ae1dca798e0f - main - e1000: fix I219 hang on reset List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ae1dca798e0f826de46f4ec11914ba4c91928d7a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kbowling (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=ae1dca798e0f826de46f4ec11914ba4c91928d7a commit ae1dca798e0f826de46f4ec11914ba4c91928d7a Author: Kevin Bowling AuthorDate: 2023-02-08 19:21:45 +0000 Commit: Kevin Bowling CommitDate: 2023-02-08 19:30:34 +0000 e1000: fix I219 hang on reset Clear the rings before reset to avoid a HW hang. Inspired by em-7.7.8 and DPDK (1fc9701238edcf0541289b9ae15565b6d9d7ab30) Reviewed by: erj MFC after: 2 weeks Sponsored by: BBOX.io Pull Request: https://github.com/freebsd/freebsd-src/pull/540 --- sys/dev/e1000/if_em.c | 119 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 117 insertions(+), 2 deletions(-) diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index 7135f273fd94..6442b5f3f41e 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -351,6 +351,7 @@ static int em_get_regs(SYSCTL_HANDLER_ARGS); static void lem_smartspeed(struct e1000_softc *); static void igb_configure_queues(struct e1000_softc *); +static void em_flush_desc_rings(struct e1000_softc *); /********************************************************************* @@ -1913,6 +1914,10 @@ em_if_stop(if_ctx_t ctx) INIT_DEBUGOUT("em_if_stop: begin"); + /* I219 needs special flushing to avoid hangs */ + if (sc->hw.mac.type >= e1000_pch_spt && sc->hw.mac.type < igb_mac_min) + em_flush_desc_rings(sc); + e1000_reset_hw(&sc->hw); if (sc->hw.mac.type >= e1000_82544) E1000_WRITE_REG(&sc->hw, E1000_WUFC, 0); @@ -1978,8 +1983,7 @@ em_allocate_pci_resources(if_ctx_t ctx) sc->hw.hw_addr = (u8 *)&sc->osdep.mem_bus_space_handle; /* Only older adapters use IO mapping */ - if (sc->hw.mac.type < em_mac_min && - sc->hw.mac.type > e1000_82543) { + if (sc->hw.mac.type < em_mac_min && sc->hw.mac.type > e1000_82543) { /* Figure our where our IO BAR is ? */ for (rid = PCIR_BAR(0); rid < PCIR_CIS;) { val = pci_read_config(dev, rid, 4); @@ -2467,6 +2471,113 @@ igb_init_dmac(struct e1000_softc *sc, u32 pba) E1000_WRITE_REG(hw, E1000_DMACR, 0); } } +/********************************************************************* + * The 3 following flush routines are used as a workaround in the + * I219 client parts and only for them. + * + * em_flush_tx_ring - remove all descriptors from the tx_ring + * + * We want to clear all pending descriptors from the TX ring. + * zeroing happens when the HW reads the regs. We assign the ring itself as + * the data of the next descriptor. We don't care about the data we are about + * to reset the HW. + **********************************************************************/ +static void +em_flush_tx_ring(struct e1000_softc *sc) +{ + struct e1000_hw *hw = &sc->hw; + struct tx_ring *txr = &sc->tx_queues->txr; + struct e1000_tx_desc *txd; + u32 tctl, txd_lower = E1000_TXD_CMD_IFCS; + u16 size = 512; + + tctl = E1000_READ_REG(hw, E1000_TCTL); + E1000_WRITE_REG(hw, E1000_TCTL, tctl | E1000_TCTL_EN); + + txd = &txr->tx_base[txr->tx_cidx_processed]; + + /* Just use the ring as a dummy buffer addr */ + txd->buffer_addr = txr->tx_paddr; + txd->lower.data = htole32(txd_lower | size); + txd->upper.data = 0; + + /* flush descriptors to memory before notifying the HW */ + wmb(); + + E1000_WRITE_REG(hw, E1000_TDT(0), txr->tx_cidx_processed); + mb(); + usec_delay(250); +} + +/********************************************************************* + * em_flush_rx_ring - remove all descriptors from the rx_ring + * + * Mark all descriptors in the RX ring as consumed and disable the rx ring + **********************************************************************/ +static void +em_flush_rx_ring(struct e1000_softc *sc) +{ + struct e1000_hw *hw = &sc->hw; + u32 rctl, rxdctl; + + rctl = E1000_READ_REG(hw, E1000_RCTL); + E1000_WRITE_REG(hw, E1000_RCTL, rctl & ~E1000_RCTL_EN); + E1000_WRITE_FLUSH(hw); + usec_delay(150); + + rxdctl = E1000_READ_REG(hw, E1000_RXDCTL(0)); + /* zero the lower 14 bits (prefetch and host thresholds) */ + rxdctl &= 0xffffc000; + /* + * update thresholds: prefetch threshold to 31, host threshold to 1 + * and make sure the granularity is "descriptors" and not "cache lines" + */ + rxdctl |= (0x1F | (1 << 8) | E1000_RXDCTL_THRESH_UNIT_DESC); + E1000_WRITE_REG(hw, E1000_RXDCTL(0), rxdctl); + + /* momentarily enable the RX ring for the changes to take effect */ + E1000_WRITE_REG(hw, E1000_RCTL, rctl | E1000_RCTL_EN); + E1000_WRITE_FLUSH(hw); + usec_delay(150); + E1000_WRITE_REG(hw, E1000_RCTL, rctl & ~E1000_RCTL_EN); +} + +/********************************************************************* + * em_flush_desc_rings - remove all descriptors from the descriptor rings + * + * In I219, the descriptor rings must be emptied before resetting the HW + * or before changing the device state to D3 during runtime (runtime PM). + * + * Failure to do this will cause the HW to enter a unit hang state which can + * only be released by PCI reset on the device + * + **********************************************************************/ +static void +em_flush_desc_rings(struct e1000_softc *sc) +{ + struct e1000_hw *hw = &sc->hw; + device_t dev = sc->dev; + u16 hang_state; + u32 fext_nvm11, tdlen; + + /* First, disable MULR fix in FEXTNVM11 */ + fext_nvm11 = E1000_READ_REG(hw, E1000_FEXTNVM11); + fext_nvm11 |= E1000_FEXTNVM11_DISABLE_MULR_FIX; + E1000_WRITE_REG(hw, E1000_FEXTNVM11, fext_nvm11); + + /* do nothing if we're not in faulty state, or if the queue is empty */ + tdlen = E1000_READ_REG(hw, E1000_TDLEN(0)); + hang_state = pci_read_config(dev, PCICFG_DESC_RING_STATUS, 2); + if (!(hang_state & FLUSH_DESC_REQUIRED) || !tdlen) + return; + em_flush_tx_ring(sc); + + /* recheck, maybe the fault is caused by the rx ring */ + hang_state = pci_read_config(dev, PCICFG_DESC_RING_STATUS, 2); + if (hang_state & FLUSH_DESC_REQUIRED) + em_flush_rx_ring(sc); +} + /********************************************************************* * @@ -2698,6 +2809,10 @@ em_reset(if_ctx_t ctx) break; } + /* I219 needs some special flushing to avoid hangs */ + if (sc->hw.mac.type >= e1000_pch_spt && sc->hw.mac.type < igb_mac_min) + em_flush_desc_rings(sc); + /* Issue a global reset */ e1000_reset_hw(hw); if (hw->mac.type >= igb_mac_min) { From nobody Wed Feb 8 19:30:46 2023 X-Original-To: dev-commits-src-main@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 4PBqpt2r77z3nrYs; Wed, 8 Feb 2023 19:30: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBqpt2Knfz4k8v; Wed, 8 Feb 2023 19:30:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675884646; 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=wZrz+74qvms65W66j3HfLeC6E0cuK3PGDAmUIue+xuU=; b=ugwNPVJg96wZF0RBsiYJ6oeI9l5voqIWJesA8KIGK5Qzj5bL4IcwXR80B0QnmnHOwtrRfg 8z3FUaa4CifmMKpGfNu/livARStEqF7utd5mnqTxrs+gF3bEBccKi3JfAoK6retUUZquCi LLzZCcqWhbfyo/A/sES68Wye7tDlph0UwVvE+M0Y1HXVX1zoLPT2aMGIwomsYxTMCPlm5X BECTxEIiFgP2rOx1VGXVM7PHTS9eyNHvW8FPgzYtOndJOLC44A3rSRe9rb7l0GJzbJPuBs 4f/3i95uZRe7NHJZNDpGL0o84UqnNomHCJ4BOJBw7ErQ6Gqw41apP4cgS5SA+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675884646; 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=wZrz+74qvms65W66j3HfLeC6E0cuK3PGDAmUIue+xuU=; b=xzvNOD1Smhh9lDi2ApitX7cos30yYwJOewWd3lmT6wnRru+kzhhmHNzuO8gzYpyW1amajE kKmhpgVRGBKDEvr585W+H2mFuIcIE3zz6MSWfsZcvCYg+K3+RbrTB2Gw0fsoUaNAIX+qxk ky3dAoB74lFbl9nQ0dAjS2lFp2ElJy39fGhObngVoqL2/N9XxnE9/w6NzMyQcTzVpe9cLo pr7hZBkNfrrim4J5T485hjZu0N3jfW+QeBsZRyxwMrlyxHG/KBT1rI60lhfJZ9rtT1eQJw R//e37ILt3a16hRCFC2KPzZ/NCmP7S8RGbe+5K3Y1wBLUDWH3mG0Zk4Wt/O8Gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675884646; a=rsa-sha256; cv=none; b=Hc1Tc0tyH3YM3H7oAbIw0chhU1ie33yTj9FJh8952CMDhdK6UiZhfNRZdXR4PgYIfE/RzB s0y8VQ5uefkUaJnSiJxSXVgD+OB1FRsfXOWc4s891sRZ47r9Au3+WGS+gHY5JoAA2kVM9w ej/7Nb9+f0pxPa0bEtViT8SnnOEXEOqTOF3dgtTwDiLmmkKsVmf57DUcG1toDiI+CwCug4 pm5iWGxXtCDbNO8nAWMPslB22uAvvX+LzS1KqbqjDhG871c+zFIDjXv2T2+H0NbfHt45rF gmE+/yF3JttlIh6k2dy7VgU2L6aNRNk4pvhOnuhd5IyV0N2/rm6vfqAcoAHa+w== 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 4PBqpt1RTlz183h; Wed, 8 Feb 2023 19:30:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318JUk33036559; Wed, 8 Feb 2023 19:30:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318JUk6X036558; Wed, 8 Feb 2023 19:30:46 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:30:46 GMT Message-Id: <202302081930.318JUk6X036558@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 647f2d2bc0cb - main - e1000: bump driver version List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 647f2d2bc0cb9357ac083bf2aae4b669167dd66b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kbowling (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=647f2d2bc0cb9357ac083bf2aae4b669167dd66b commit 647f2d2bc0cb9357ac083bf2aae4b669167dd66b Author: Kevin Bowling AuthorDate: 2023-02-08 19:25:58 +0000 Commit: Kevin Bowling CommitDate: 2023-02-08 19:30:35 +0000 e1000: bump driver version Incrementing these to avoid confusion in users; we are on par with these out of tree versions. Reviewed by: erj MFC after: 2 weeks Sponsored by: BBOX.io Pull Request: https://github.com/freebsd/freebsd-src/pull/540 --- sys/dev/e1000/if_em.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index 6442b5f3f41e..2ed0164598a6 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -37,7 +37,8 @@ /********************************************************************* * Driver version: *********************************************************************/ -char em_driver_version[] = "7.6.1-k"; +char em_driver_version[] = "7.7.8-fbsd"; +char igb_driver_version[] = "2.5.19-fbsd"; /********************************************************************* * PCI Device ID Table @@ -599,7 +600,7 @@ static struct if_shared_ctx igb_sctx_init = { .isc_ntxqs = 1, .isc_admin_intrcnt = 1, .isc_vendor_info = igb_vendor_info_array, - .isc_driver_version = em_driver_version, + .isc_driver_version = igb_driver_version, .isc_driver = &igb_if_driver, .isc_flags = IFLIB_NEED_SCRATCH | IFLIB_TSO_INIT_IP | IFLIB_NEED_ZERO_CSUM, From nobody Wed Feb 8 19:47:37 2023 X-Original-To: dev-commits-src-main@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 4PBrBK5gYJz3p8VW; Wed, 8 Feb 2023 19:47:37 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBrBK58fcz3FwB; Wed, 8 Feb 2023 19:47:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675885657; 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=o3t0LClgJjWL633VTtrviMwZV+7upryEkpK/PvtPBkw=; b=EGcJYd8mMIhhJYcx7gyLPulp6RcuQMe/gkFCM0cQwQs+jLHGqqe+ay/Y/kfmrBcBznskbB iyCzj0B16iHuIA/OYBEwYbvROzvvLaDIfA4rIYZbO+Q4mefElkk/eIVjoL55VYinRzIjAJ LV81rIbr1BQTDvKNKvz22wki8RAG8Qdq3vtjdq4sQHob6dG/lz2RUUCBTVgama/eBy/uEY +1xtcnekMinnTq2AbrsAyZdNR25wlXRoMjULB0vPlnEO7c+ehmZSSvnjk0I+ikc48IqJCZ lBiu9ANmy7k9XREl0/0AI8eZtF88iZcqz9DFdMX9heFJF+uwctmZ0mTWwEAzDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675885657; 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=o3t0LClgJjWL633VTtrviMwZV+7upryEkpK/PvtPBkw=; b=UZON7c7OFRhnsHc/vVNtu/QrPcLijkC92G3NUj/4GQzCGRhP8v+XYxjgjjlFfodGXglTm7 dpbXuyD9xC5dNg99kQV9zKOm137GIfg6PjZasavrQZQj0vO20CyUHJR3YLJPlgydcZyxjB GFrjpgxvHcUjC6dgPyfPX8DGZoQnNE4IfdRwSz65MgYHl9fUFy90zwY6+7qCsHFdvb6a7y WCNotb9GgV60Dn+bwdA2bS96K6TBQRljRf4gBZHqL9P/+y2DqBg4NFLXJYXY1l2LV/pHCv QjiQtEANimgB+mg+qxF4eMq645lmi/QQfCxAJ4kMlSeTwskQ9nyOVIR4I4qjtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675885657; a=rsa-sha256; cv=none; b=HT6MxfrmP2sbTBXa6m7rt0sSzHUnoZlqLf7p7AV4U2efeux0+bJt5FmUw5iRoig0cCu+44 RogJAt5Zr30VAAUnRVBBqR+IK/OPVTqElxbTbFgJlYcf/+lmnvVxhGyFs7vap3jA3g+lE+ 46BxaiFyoJh6noe/DZdMJE+U9tgjlQa6fag1Xas/c0h4U3tkJULdSjL+D1te1SpPHoWADI 2riZmi428d4P+ZP8dD5shcrE8FqRXu9rGEI8e6mnJlQDN32Ouc7dG9h9gbPB2jaXv236Q3 S+mfb+5cMYctyltqG/4nlPOqst6b2KAN2M2oTeUlgRxvTJNjk5UiYpwa5fw7Wg== 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 4PBrBK4BhXz18S1; Wed, 8 Feb 2023 19:47:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318JlblP052827; Wed, 8 Feb 2023 19:47:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318Jlbt6052826; Wed, 8 Feb 2023 19:47:37 GMT (envelope-from git) Date: Wed, 8 Feb 2023 19:47:37 GMT Message-Id: <202302081947.318Jlbt6052826@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 48bfd3597654 - main - Add nproc(1) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 48bfd3597654490cdc43bf0f591a539d3a28b590 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=48bfd3597654490cdc43bf0f591a539d3a28b590 commit 48bfd3597654490cdc43bf0f591a539d3a28b590 Author: Mateusz Guzik AuthorDate: 2023-02-04 23:33:48 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-08 19:47:33 +0000 Add nproc(1) This program prints the number of CPU threads it can run on, while respecting cpusets (or not, depending on switches). It aims to be compatible with nproc as found in GNU coreutils. Reviewed by: des Reviewed by: pstef Differential Revision: https://reviews.freebsd.org/D38386 --- bin/Makefile | 1 + bin/nproc/Makefile | 4 ++ bin/nproc/nproc.1 | 54 ++++++++++++++++++++ bin/nproc/nproc.c | 132 ++++++++++++++++++++++++++++++++++++++++++++++++ usr.bin/cpuset/cpuset.1 | 1 + 5 files changed, 192 insertions(+) diff --git a/bin/Makefile b/bin/Makefile index cdd96d0b84e8..83bf79dcb9f9 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -24,6 +24,7 @@ SUBDIR= cat \ ls \ mkdir \ mv \ + nproc \ pax \ pkill \ ps \ diff --git a/bin/nproc/Makefile b/bin/nproc/Makefile new file mode 100644 index 000000000000..2a57083b9d40 --- /dev/null +++ b/bin/nproc/Makefile @@ -0,0 +1,4 @@ +PACKAGE=runtime +PROG= nproc + +.include diff --git a/bin/nproc/nproc.1 b/bin/nproc/nproc.1 new file mode 100644 index 000000000000..ae252fe0f50c --- /dev/null +++ b/bin/nproc/nproc.1 @@ -0,0 +1,54 @@ +.\"- +.\" * Copyright (c) 2023 Piotr Paweł Stefaniak +.\" +.\" * SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd February 5, 2023 +.Dt NPROC 1 +.Os +.Sh NAME +.Nm nproc +.Nd print the number of processors +.Sh SYNOPSIS +.Nm +.Op Fl -all +.Op Fl -ignore Ns = Ns Ar count +.Nm Fl -help +.Nm Fl -version +.Sh DESCRIPTION +The +.Nm +utility is used to print the number of processors limited to the +.Xr cpuset 2 +of the current process, unless the +.Fl -all +flag is specified. +.Pp +The available flags are: +.Bl -tag -width Ds +.It Fl -all +Count all processors currently online. +.It Fl -ignore Ns = Ns Ar count +The result is decreased by +.Ar count , +but never below 1. +.It Fl -version +Print the current program version and exit. Don't use this option. +.It Fl -help +Print usage information and exit. +.El +.Sh COMPATIBILITY +This program is intended to be compatible with nproc as found in GNU coreutils. +.Sh SEE ALSO +.Xr cpuset 1 +.Sh HISTORY +The +.Nm +utility first appeared in +.Fx 14.0 . +.Sh AUTHORS +.An -nosplit +.An Mateusz Guzik Aq Mt mjg@FreeBSD.org +wrote the program and +.An Piotr Paweł Stefaniak Aq Mt pstef@FreeBSD.org +wrote this page. diff --git a/bin/nproc/nproc.c b/bin/nproc/nproc.c new file mode 100644 index 000000000000..9037c74dbfff --- /dev/null +++ b/bin/nproc/nproc.c @@ -0,0 +1,132 @@ +/*- + * Copyright (c) 2023 Mateusz Guzik + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +/* + * This program is intended to be compatible with nproc as found in GNU + * coreutils. + * + * In order to maintain that, do not add any features here if they are not + * present in said program. If you are looking for anything more advanced you + * probably should patch cpuset(1) instead. + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define OPT_ALL (CHAR_MAX + 1) +#define OPT_IGNORE (CHAR_MAX + 2) +#define OPT_VERSION (CHAR_MAX + 3) +#define OPT_HELP (CHAR_MAX + 4) + +static struct option long_opts[] = { + { "all", no_argument, NULL, OPT_ALL }, + { "ignore", required_argument, NULL, OPT_IGNORE }, + { "version", no_argument, NULL, OPT_VERSION }, + { "help", no_argument, NULL, OPT_HELP }, + { NULL, 0, NULL, 0 } +}; + +static void +help(void) +{ + fprintf(stderr, + "usage: nproc [--all] [--ignore=count]\n"); + fprintf(stderr, + " nproc --help\n"); + fprintf(stderr, + " nproc --version\n"); +} + +static void +usage(void) +{ + help(); + exit(EX_USAGE); +} + +/* + * GNU variant ships with the --version switch. + * + * While we don't have anything to put there, print something which is + * whitespace-compatible with the original. Version number was taken + * from coreutils this code is in sync with. + */ +static void +version(void) +{ + printf("nproc (neither_GNU nor_coreutils) 8.32\n"); + exit(EXIT_SUCCESS); +} + +int +main(int argc, char *argv[]) +{ + const char *errstr; + cpuset_t mask; + int ch, cpus, ignore; + bool all_flag; + + ignore = 0; + all_flag = false; + + while ((ch = getopt_long(argc, argv, "", long_opts, NULL)) != -1) { + switch (ch) { + case OPT_ALL: + all_flag = true; + break; + case OPT_IGNORE: + ignore = strtonum(optarg, 0, INT_MAX, &errstr); + if (errstr) + errx(1, "bad ignore count: %s", errstr); + break; + case OPT_VERSION: + version(); + __builtin_unreachable(); + case OPT_HELP: + help(); + exit(EXIT_SUCCESS); + default: + usage(); + } + } + + argc -= optind; + argv += optind; + + if (argc != 0) + usage(); + + if (all_flag) { + cpus = sysconf(_SC_NPROCESSORS_ONLN); + if (cpus == -1) + err(1, "sysconf"); + } else { + CPU_ZERO(&mask); + if (cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, -1, + sizeof(mask), &mask) != 0) + err(1, "cpuset_getaffinity"); + cpus = CPU_COUNT(&mask); + } + + if (ignore >= cpus) + cpus = 1; + else + cpus -= ignore; + + printf("%u\n", cpus); + + exit(EXIT_SUCCESS); +} diff --git a/usr.bin/cpuset/cpuset.1 b/usr.bin/cpuset/cpuset.1 index 1a8902e1c235..31a3e45134d7 100644 --- a/usr.bin/cpuset/cpuset.1 +++ b/usr.bin/cpuset/cpuset.1 @@ -231,6 +231,7 @@ Create a new cpuset that is restricted to CPUs 0 and 2 and move into the new set: .Dl cpuset -C -c -l 0,2 -p .Sh SEE ALSO +.Xr nproc 1 , .Xr cpuset 2 , .Xr rctl 8 .Sh HISTORY From nobody Wed Feb 8 20:27:36 2023 X-Original-To: dev-commits-src-main@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 4PBs4Z4bgLz3pDwY; Wed, 8 Feb 2023 20:27:42 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4PBs4Z2PY4z3P8S; Wed, 8 Feb 2023 20:27:42 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Authentication-Results: mx1.freebsd.org; none Date: Wed, 08 Feb 2023 21:27:36 +0100 Author: Steffen Nurpmeso From: Steffen Nurpmeso To: Mateusz Guzik Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 48bfd3597654 - main - Add nproc(1) Message-ID: <20230208202736.L7hpB%steffen@sdaoden.eu> In-Reply-To: <202302081947.318Jlbt6052826@gitrepo.freebsd.org> References: <202302081947.318Jlbt6052826@gitrepo.freebsd.org> Mail-Followup-To: Mateusz Guzik , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org User-Agent: s-nail v14.9.24-403-gdc9ff6b368 OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. X-Rspamd-Queue-Id: 4PBs4Z2PY4z3P8S X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15987, ipnet:217.144.128.0/20, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mateusz Guzik wrote in <202302081947.318Jlbt6052826@gitrepo.freebsd.org>: ... |URL: https://cgit.FreeBSD.org/src/commit/?id=48bfd3597654490cdc43bf0f591\ |a539d3a28b590 ... | Add nproc(1) Hey! Great. (NPROC is mentioned in POSIX for environment variables, as well as a make macro that did not make it, .. and nproc(1) is commonly used on Linux it seems.) Thanks. | This program prints the number of CPU threads it can run on, while | respecting cpusets (or not, depending on switches). | | It aims to be compatible with nproc as found in GNU coreutils. That, "however", ... |+ if (all_flag) { |+ cpus = sysconf(_SC_NPROCESSORS_ONLN); is not compatible -- note i like the FreeBSD way better, and maybe someone should make a bug report even. #?0|kent:$ getconf -a|grep NPROC _NPROCESSORS_CONF 8 _NPROCESSORS_ONLN 4 #?0|kent:$ nproc 4 #?0|kent:$ nproc --all 8 #?0|kent:$ |+ if (cpus == -1) |+ err(1, "sysconf"); |+ } else { |+ CPU_ZERO(&mask); |+ if (cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, -1, |+ sizeof(mask), &mask) != 0) |+ err(1, "cpuset_getaffinity"); |+ cpus = CPU_COUNT(&mask); That is the right thing to do, imho! Thank you. --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) From nobody Wed Feb 8 20:52:22 2023 X-Original-To: dev-commits-src-main@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 4PBsd25jjQz3pHBl; Wed, 8 Feb 2023 20:52:22 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBsd25CCZz3Qhj; Wed, 8 Feb 2023 20:52:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675889542; 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=Hf5CHiHONhyYDzipSrXK5wV5V0a0rzdChCwd5V5vIlk=; b=IPwWN4zVYT4ZFhwDpce0Ysvx3FLHmWz51rfwmkfF6LdxeyDOfzzl3HMYAP974K+n7UHAFl oTr8rtHOs0Oe43gOR3DtrQWPzU/W4QNrAG6SjwO6A3smcmYSWZPiDFaH7BOjSpQMz/hhHL cjzINDjKvezEj4QNkICYXNCOyD/AaKHslw5hRhc7swu3QPKnRYs3qhIYFSIDjD8F9yPE4J s0aSJ9PHLw88MyjtKNpaJzHjUTVT1A+hPmeAbIEDDanRaDNlO4TxBZIGKcoJBpUeLFhB4f 87AiBTMTM2a713M9DEzqpGoaqx9jpqftHdGS1V/jxAjxPNkK34aVcFZRO542NQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675889542; 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=Hf5CHiHONhyYDzipSrXK5wV5V0a0rzdChCwd5V5vIlk=; b=Ib3JGOK9ssNe79Blmy2L56pheC/NaKnhQnfcXvnDcEwFGPVRrRWYxGnHX/uHJ5i0kaFLIK JloHzBcWxoMBzMeyA+vKuiPDwVNSbqwZ8XdLkqdkrGGhCSifjaFQZkDkKvTkAYjwnkeQly QJY9vTHs2KaV4jxSbtki3h3/Har3Dejq1z7YTbEbmmxYf2OtiYflaWwZMaE4m3GjNy33La TNS+hWfU1oqJPin6NBSxmoBClK6HnyF8OOsKHN7h7vYiKN5jCqKZMM7ul10ePjNKXSPyAR o2EA1fcJcE5EbUP4vHKgnj1t7vlArPypgYR8JmBTGvqtb41sr5QYfuNJn4q9zw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675889542; a=rsa-sha256; cv=none; b=FuZRuiDxxGj+L+ImGrZ3n+ADgieAdXqTkNnD8fAYEt7d8FVK1DiRjym1BUyZ7ijQm1d1bA sQImqB//yRz2ubLIhm0dNfSQGD/nnP6pHgXQPe/Hqz6TTBa4axPdCHupMHIdpNVS8j4hsV 4kzIG7u7tdY9haBX3PtdXPkdnyHlk4SKv4krrTDUqSTLybJYouNgVQrZg+w57bGvh9vW4p hle+zIfzhfuMQeFZ/7uw+yhud8tEqYVGPzHjtFxl/m2rzcUvP7YMC61k54E6u0YE3Juzlj bjVkfzkvEQrFrNJBbfCte3V7dxQoGdx5E+YPta7fC6Sd9sRBOash9vYtOecMdQ== 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 4PBsd24Fy6z19kQ; Wed, 8 Feb 2023 20:52:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318KqMcV052426; Wed, 8 Feb 2023 20:52:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318KqMoS052425; Wed, 8 Feb 2023 20:52:22 GMT (envelope-from git) Date: Wed, 8 Feb 2023 20:52:22 GMT Message-Id: <202302082052.318KqMoS052425@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 1d03c3578d05 - main - arm: add an interrupt rman to nexus List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1d03c3578d05b011dc714ec0735a5783c421530b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=1d03c3578d05b011dc714ec0735a5783c421530b commit 1d03c3578d05b011dc714ec0735a5783c421530b Author: Mitchell Horne AuthorDate: 2021-12-05 15:27:50 +0000 Commit: Mitchell Horne CommitDate: 2023-02-08 20:50:46 +0000 arm: add an interrupt rman to nexus Allow the nexus bus to own and manage interrupt resources. Currently, interrupt resources on this architecture are managed completely by ofwbus, but it is desirable that system-wide memory and interrupt resources be managed by the top-level bus. This is a pre-requisite to moving this resource management out of ofwbus. Reviewed By: ian, Elliott Mitchell MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D32357 --- sys/arm/arm/nexus.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/arm/arm/nexus.c b/sys/arm/arm/nexus.c index bc91becce6e0..81500f9b8e35 100644 --- a/sys/arm/arm/nexus.c +++ b/sys/arm/arm/nexus.c @@ -77,6 +77,7 @@ struct nexus_device { #define DEVTONX(dev) ((struct nexus_device *)device_get_ivars(dev)) static struct rman mem_rman; +static struct rman irq_rman; static int nexus_probe(device_t); static int nexus_attach(device_t); @@ -171,6 +172,12 @@ nexus_attach(device_t dev) if (rman_init(&mem_rman) || rman_manage_region(&mem_rman, 0, BUS_SPACE_MAXADDR)) panic("nexus_probe mem_rman"); + irq_rman.rm_start = 0; + irq_rman.rm_end = ~0; + irq_rman.rm_type = RMAN_ARRAY; + irq_rman.rm_descr = "Interrupts"; + if (rman_init(&irq_rman) || rman_manage_region(&irq_rman, 0, ~0)) + panic("nexus_attach irq_rman"); /* * First, deal with the children we know about already @@ -227,6 +234,10 @@ nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, flags &= ~RF_ACTIVE; switch (type) { + case SYS_RES_IRQ: + rm = &irq_rman; + break; + case SYS_RES_MEMORY: case SYS_RES_IOPORT: rm = &mem_rman; From nobody Wed Feb 8 20:52:23 2023 X-Original-To: dev-commits-src-main@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 4PBsd420mPz3pHfk; Wed, 8 Feb 2023 20:52:24 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBsd36Y7pz3R21; Wed, 8 Feb 2023 20:52:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675889543; 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=JuX8BnPZZIoaz0zLBcRwFSV7Cq7NH+GdFzUMSaQJFFk=; b=J1aojkjUmtFLLVtEg6gMv3aFGByEWkJaZ7TSwjabsDVc6z8sLgPNZxlK0O0ZwsmDdNHffW KIyR9TBSHSkHjHfm+XI0ZDzJgoMmOhABsG9arq+YQHnRK8vwDviSDbU9aCAQ11ychOLqY8 r51oRmgIUYBYY0h+XgKvFc4HJG8Sy01gF11QG918n9VHWHzetLVs8WDQPtOJpxHVUuGX/Y TiZZeflFU9cTIRWZDCQgB/YTi6gWhZ/+UaM/lWaFMEBgRkQZfIS7/fi1T9xCyo+Jza+QCk Rjsgkvq2hBR2Hxw/SHwm84Ce+hDwE3T0us79y8DtPe/et0KeVb5HS5DXqoXGNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675889543; 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=JuX8BnPZZIoaz0zLBcRwFSV7Cq7NH+GdFzUMSaQJFFk=; b=wjXkkrePdLRthkgxjCPqVg66GlEaIEipTswLL/jytF6yPqAdQ38IayQvObIVbAOiLKxcsc ApViU7KQt6XNQlnjHDzEQ0TGTtDbJK6bLeuRVgpA1sY3IOrtrKsSpGbJz60nVdBKH3Wfu1 CbfBmoq/LpjX/eF8sZQxq3UqbogzuflgbxUz5dr7OxGe7KYmGx29fPpr2F1B7Npn/Kheac 2mIkQL8Httu4YlFbop0n3ZAyi8o0xY5040tst6hR72qMWiK4C7ZbSieEs9JO7kFfRCAjqM TKnkx7Wp5AoTB6rZd04PrjGGX4PFa4ocIZb7HWkqbiacF2qQ8fpYTF9x4fq2VA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675889543; a=rsa-sha256; cv=none; b=hi+j2ri1Vcn8jgmEWifJ0QTb6JuViZt+k9bpbrtUCu99Y7GsFIwbsU5+nOfKS6a+faD8Rs YpTa4gQaJ8eraKU2B7K1aN8vOlx2hzAWqDckgFNi1qj3TboGyS07+gv400ClTRhmkWiWp4 RQbxSOnkA+FWQie4oNd8So0GS6IXp9Y6bo8NQgDqaDhYAoIkCnJscQvLYzfsm4NanIO8M8 WJNv2fZ3dmrsBvKz5vhnbtgvKsURfJh/bstR4AvpXEyOWjhudsEm9vXecfq9ZitomtkkWs 417IWG0EBcazK1WCBE0OTAUqaInbCAoo5LhD1X3wsGyeMqgzdUdsi7Zok4oM8w== 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 4PBsd35C4jz1B1b; Wed, 8 Feb 2023 20:52:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318KqNhU052450; Wed, 8 Feb 2023 20:52:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318KqNUL052449; Wed, 8 Feb 2023 20:52:23 GMT (envelope-from git) Date: Wed, 8 Feb 2023 20:52:23 GMT Message-Id: <202302082052.318KqNUL052449@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: f9bdaab95ec4 - main - ofwbus: remove handling of resources from ofwbus List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f9bdaab95ec469738fbfc1f0edd3e8c744b7f71f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=f9bdaab95ec469738fbfc1f0edd3e8c744b7f71f commit f9bdaab95ec469738fbfc1f0edd3e8c744b7f71f Author: Elliott Mitchell AuthorDate: 2023-02-08 20:17:03 +0000 Commit: Mitchell Horne CommitDate: 2023-02-08 20:50:46 +0000 ofwbus: remove handling of resources from ofwbus The architecture nexus should handle allocation and release of memory and interrupts. This is to ensure that system-wide resources such as these are available to all devices, not just children of ofwbus0. On powerpc this moves the ownership of these resources up one level, from ofwbus0 to nexus0. Other architectures already have the required logic in their nexus implementation, so this eliminates the duplication of resources. An implementation of nexus_adjust_resource() is added for arm, arm64, and riscv. As noted by ian@ in the review, resource handling was the main bit of logic distinguishing ofwbus from simplebus. With some attention to detail, it should be possible to merge the two in the future. Co-authored by: mhorne MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D30554 --- sys/arm/arm/nexus.c | 24 ++++++++++++ sys/arm64/arm64/nexus.c | 24 ++++++++++++ sys/dev/ofw/ofwbus.c | 92 +++++---------------------------------------- sys/powerpc/powerpc/nexus.c | 92 +++++++++++++++++++++++++++++++++++++++++++++ sys/riscv/riscv/nexus.c | 24 ++++++++++++ 5 files changed, 173 insertions(+), 83 deletions(-) diff --git a/sys/arm/arm/nexus.c b/sys/arm/arm/nexus.c index 81500f9b8e35..a2e043ff7c31 100644 --- a/sys/arm/arm/nexus.c +++ b/sys/arm/arm/nexus.c @@ -87,6 +87,8 @@ static struct resource *nexus_alloc_resource(device_t, device_t, int, int *, rman_res_t, rman_res_t, rman_res_t, u_int); static int nexus_activate_resource(device_t, device_t, int, int, struct resource *); +static int nexus_adjust_resource(device_t, device_t, int, struct resource *, + rman_res_t, rman_res_t); static bus_space_tag_t nexus_get_bus_tag(device_t, device_t); static bus_dma_tag_t nexus_get_dma_tag(device_t dev, device_t child); #ifdef SMP @@ -126,6 +128,7 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_add_child, nexus_add_child), DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), DEVMETHOD(bus_activate_resource, nexus_activate_resource), + DEVMETHOD(bus_adjust_resource, nexus_adjust_resource), DEVMETHOD(bus_config_intr, nexus_config_intr), DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), DEVMETHOD(bus_release_resource, nexus_release_resource), @@ -263,6 +266,27 @@ nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, return (rv); } +static int +nexus_adjust_resource(device_t bus __unused, device_t child __unused, int type, + struct resource *r, rman_res_t start, rman_res_t end) +{ + struct rman *rm; + + switch (type) { + case SYS_RES_IRQ: + rm = &irq_rman; + break; + case SYS_RES_MEMORY: + rm = &mem_rman; + break; + default: + return (EINVAL); + } + if (rman_is_region_manager(r, rm) == 0) + return (EINVAL); + return (rman_adjust_resource(r, start, end)); +} + static int nexus_release_resource(device_t bus, device_t child, int type, int rid, struct resource *res) diff --git a/sys/arm64/arm64/nexus.c b/sys/arm64/arm64/nexus.c index defd6755c48e..50604fd22e98 100644 --- a/sys/arm64/arm64/nexus.c +++ b/sys/arm64/arm64/nexus.c @@ -104,6 +104,8 @@ static struct resource *nexus_alloc_resource(device_t, device_t, int, int *, rman_res_t, rman_res_t, rman_res_t, u_int); static int nexus_activate_resource(device_t, device_t, int, int, struct resource *); +static int nexus_adjust_resource(device_t, device_t, int, struct resource *, + rman_res_t, rman_res_t); static int nexus_map_resource(device_t, device_t, int, struct resource *, struct resource_map_request *, struct resource_map *); static int nexus_config_intr(device_t dev, int irq, enum intr_trigger trig, @@ -135,6 +137,7 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_add_child, nexus_add_child), DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), DEVMETHOD(bus_activate_resource, nexus_activate_resource), + DEVMETHOD(bus_adjust_resource, nexus_adjust_resource), DEVMETHOD(bus_map_resource, nexus_map_resource), DEVMETHOD(bus_config_intr, nexus_config_intr), DEVMETHOD(bus_get_resource_list, nexus_get_reslist), @@ -273,6 +276,27 @@ nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, return (rv); } +static int +nexus_adjust_resource(device_t bus __unused, device_t child __unused, int type, + struct resource *r, rman_res_t start, rman_res_t end) +{ + struct rman *rm; + + switch (type) { + case SYS_RES_IRQ: + rm = &irq_rman; + break; + case SYS_RES_MEMORY: + rm = &mem_rman; + break; + default: + return (EINVAL); + } + if (rman_is_region_manager(r, rm) == 0) + return (EINVAL); + return (rman_adjust_resource(r, start, end)); +} + static int nexus_release_resource(device_t bus, device_t child, int type, int rid, struct resource *res) diff --git a/sys/dev/ofw/ofwbus.c b/sys/dev/ofw/ofwbus.c index a64f03b8099a..5ea0ba313353 100644 --- a/sys/dev/ofw/ofwbus.c +++ b/sys/dev/ofw/ofwbus.c @@ -63,22 +63,14 @@ __FBSDID("$FreeBSD$"); * hang from the Open Firmware root node and adds them as devices to this bus * (except some special nodes which are excluded) so that drivers can be * attached to them. - * */ -struct ofwbus_softc { - struct simplebus_softc simplebus_sc; - struct rman sc_intr_rman; - struct rman sc_mem_rman; -}; - #ifndef __aarch64__ static device_identify_t ofwbus_identify; #endif static device_probe_t ofwbus_probe; static device_attach_t ofwbus_attach; static bus_alloc_resource_t ofwbus_alloc_resource; -static bus_adjust_resource_t ofwbus_adjust_resource; static bus_release_resource_t ofwbus_release_resource; static device_method_t ofwbus_methods[] = { @@ -91,14 +83,14 @@ static device_method_t ofwbus_methods[] = { /* Bus interface */ DEVMETHOD(bus_alloc_resource, ofwbus_alloc_resource), - DEVMETHOD(bus_adjust_resource, ofwbus_adjust_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, ofwbus_release_resource), DEVMETHOD_END }; DEFINE_CLASS_1(ofwbus, ofwbus_driver, ofwbus_methods, - sizeof(struct ofwbus_softc), simplebus_driver); + sizeof(struct simplebus_softc), simplebus_driver); EARLY_DRIVER_MODULE(ofwbus, nexus, ofwbus_driver, 0, 0, BUS_PASS_BUS + BUS_PASS_ORDER_MIDDLE); MODULE_VERSION(ofwbus, 1); @@ -133,12 +125,9 @@ ofwbus_probe(device_t dev) static int ofwbus_attach(device_t dev) { - struct ofwbus_softc *sc; phandle_t node; struct ofw_bus_devinfo obd; - sc = device_get_softc(dev); - node = OF_peer(0); /* @@ -152,15 +141,6 @@ ofwbus_attach(device_t dev) * ofw_bus_devinfo from it. Pass node to simplebus_init directly. */ simplebus_init(dev, node); - sc->sc_intr_rman.rm_type = RMAN_ARRAY; - sc->sc_intr_rman.rm_descr = "Interrupts"; - sc->sc_mem_rman.rm_type = RMAN_ARRAY; - sc->sc_mem_rman.rm_descr = "Device Memory"; - if (rman_init(&sc->sc_intr_rman) != 0 || - rman_init(&sc->sc_mem_rman) != 0 || - rman_manage_region(&sc->sc_intr_rman, 0, ~0) != 0 || - rman_manage_region(&sc->sc_mem_rman, 0, BUS_SPACE_MAXADDR) != 0) - panic("%s: failed to set up rmans.", __func__); /* * Allow devices to identify. @@ -182,15 +162,12 @@ static struct resource * ofwbus_alloc_resource(device_t bus, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) { - struct ofwbus_softc *sc; - struct rman *rm; struct resource *rv; struct resource_list_entry *rle; - int isdefault, passthrough; + bool isdefault, passthrough; isdefault = RMAN_IS_DEFAULT_RANGE(start, end); passthrough = (device_get_parent(child) != bus); - sc = device_get_softc(bus); rle = NULL; if (!passthrough && isdefault) { rle = resource_list_find(BUS_GET_RESOURCE_LIST(bus, child), @@ -206,28 +183,11 @@ ofwbus_alloc_resource(device_t bus, device_t child, int type, int *rid, end = ummax(rle->end, start + count - 1); } - switch (type) { - case SYS_RES_IRQ: - rm = &sc->sc_intr_rman; - break; - case SYS_RES_MEMORY: - rm = &sc->sc_mem_rman; - break; - default: - return (NULL); - } - - rv = rman_reserve_resource(rm, start, end, count, flags & ~RF_ACTIVE, - child); + /* Let nexus handle the allocation. */ + rv = bus_generic_alloc_resource(bus, child, type, rid, start, end, + count, flags); if (rv == NULL) return (NULL); - rman_set_rid(rv, *rid); - - if ((flags & RF_ACTIVE) != 0 && bus_activate_resource(child, type, - *rid, rv) != 0) { - rman_release_resource(rv); - return (NULL); - } if (!passthrough && rle != NULL) { rle->res = rv; @@ -239,42 +199,12 @@ ofwbus_alloc_resource(device_t bus, device_t child, int type, int *rid, return (rv); } -static int -ofwbus_adjust_resource(device_t bus, device_t child __unused, int type, - struct resource *r, rman_res_t start, rman_res_t end) -{ - struct ofwbus_softc *sc; - struct rman *rm; - device_t ofwbus; - - ofwbus = bus; - while (strcmp(device_get_name(device_get_parent(ofwbus)), "root") != 0) - ofwbus = device_get_parent(ofwbus); - sc = device_get_softc(ofwbus); - switch (type) { - case SYS_RES_IRQ: - rm = &sc->sc_intr_rman; - break; - case SYS_RES_MEMORY: - rm = &sc->sc_mem_rman; - break; - default: - return (EINVAL); - } - if (rm == NULL) - return (ENXIO); - if (rman_is_region_manager(r, rm) == 0) - return (EINVAL); - return (rman_adjust_resource(r, start, end)); -} - static int ofwbus_release_resource(device_t bus, device_t child, int type, int rid, struct resource *r) { struct resource_list_entry *rle; - int passthrough; - int error; + bool passthrough; passthrough = (device_get_parent(child) != bus); if (!passthrough) { @@ -285,10 +215,6 @@ ofwbus_release_resource(device_t bus, device_t child, int type, rle->res = NULL; } - if ((rman_get_flags(r) & RF_ACTIVE) != 0) { - error = bus_deactivate_resource(child, type, rid, r); - if (error) - return (error); - } - return (rman_release_resource(r)); + /* Let nexus handle the release. */ + return (bus_generic_release_resource(bus, child, type, rid, r)); } diff --git a/sys/powerpc/powerpc/nexus.c b/sys/powerpc/powerpc/nexus.c index ccac47cee0ec..2e756782d47d 100644 --- a/sys/powerpc/powerpc/nexus.c +++ b/sys/powerpc/powerpc/nexus.c @@ -63,12 +63,18 @@ __FBSDID("$FreeBSD$"); * mapping. All direct subdevices of nexus are attached by DEVICE_IDENTIFY(). */ +static struct rman intr_rman; +static struct rman mem_rman; + static device_probe_t nexus_probe; static device_attach_t nexus_attach; static bus_setup_intr_t nexus_setup_intr; static bus_teardown_intr_t nexus_teardown_intr; +static bus_alloc_resource_t nexus_alloc_resource; static bus_activate_resource_t nexus_activate_resource; static bus_deactivate_resource_t nexus_deactivate_resource; +static bus_adjust_resource_t nexus_adjust_resource; +static bus_release_resource_t nexus_release_resource; static int nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, struct resource_map_request *argsp, @@ -92,8 +98,11 @@ static device_method_t nexus_methods[] = { /* Bus interface */ DEVMETHOD(bus_add_child, bus_generic_add_child), + DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), DEVMETHOD(bus_activate_resource, nexus_activate_resource), DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), + DEVMETHOD(bus_adjust_resource, nexus_adjust_resource), + DEVMETHOD(bus_release_resource, nexus_release_resource), DEVMETHOD(bus_map_resource, nexus_map_resource), DEVMETHOD(bus_unmap_resource, nexus_unmap_resource), DEVMETHOD(bus_setup_intr, nexus_setup_intr), @@ -128,6 +137,15 @@ static int nexus_attach(device_t dev) { + intr_rman.rm_type = RMAN_ARRAY; + intr_rman.rm_descr = "Interrupts"; + mem_rman.rm_type = RMAN_ARRAY; + mem_rman.rm_descr = "I/O memory addresses"; + if (rman_init(&intr_rman) != 0 || rman_init(&mem_rman) != 0 || + rman_manage_region(&intr_rman, 0, ~0) != 0 || + rman_manage_region(&mem_rman, 0, BUS_SPACE_MAXADDR) != 0) + panic("%s: failed to set up rmans.", __func__); + bus_generic_probe(dev); bus_generic_attach(dev); @@ -233,6 +251,44 @@ nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int icells, return (intr); } +/* + * Allocate a resource on behalf of child. NB: child is usually going to be a + * child of one of our descendants, not a direct child of nexus0. + */ +static struct resource * +nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, + rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) +{ + struct rman *rm; + struct resource *rv; + + switch (type) { + case SYS_RES_IRQ: + rm = &intr_rman; + break; + case SYS_RES_MEMORY: + rm = &mem_rman; + break; + default: + return (NULL); + } + + rv = rman_reserve_resource(rm, start, end, count, flags & ~RF_ACTIVE, + child); + if (rv == NULL) + return (NULL); + rman_set_rid(rv, *rid); + + if ((flags & RF_ACTIVE) != 0) { + if (bus_activate_resource(child, type, *rid, rv) != 0) { + rman_release_resource(rv); + return (NULL); + } + } + + return (rv); +} + static int nexus_activate_resource(device_t bus __unused, device_t child __unused, int type, int rid __unused, struct resource *r) @@ -275,6 +331,42 @@ nexus_deactivate_resource(device_t bus __unused, device_t child __unused, return (rman_deactivate_resource(r)); } +static int +nexus_adjust_resource(device_t bus, device_t child __unused, int type, + struct resource *r, rman_res_t start, rman_res_t end) +{ + struct rman *rm; + + switch (type) { + case SYS_RES_IRQ: + rm = &intr_rman; + break; + case SYS_RES_MEMORY: + rm = &mem_rman; + break; + default: + return (EINVAL); + } + if (rm == NULL) + return (ENXIO); + if (rman_is_region_manager(r, rm) == 0) + return (EINVAL); + return (rman_adjust_resource(r, start, end)); +} + +static int +nexus_release_resource(device_t bus, device_t child, int type, + int rid, struct resource *r) +{ + int error; + + if ((rman_get_flags(r) & RF_ACTIVE) != 0) { + error = bus_deactivate_resource(child, type, rid, r); + if (error) + return (error); + } + return (rman_release_resource(r)); +} static int nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, diff --git a/sys/riscv/riscv/nexus.c b/sys/riscv/riscv/nexus.c index 3818f9e91996..ae0bfe388484 100644 --- a/sys/riscv/riscv/nexus.c +++ b/sys/riscv/riscv/nexus.c @@ -85,6 +85,8 @@ static struct resource *nexus_alloc_resource(device_t, device_t, int, int *, rman_res_t, rman_res_t, rman_res_t, u_int); static int nexus_activate_resource(device_t, device_t, int, int, struct resource *); +static int nexus_adjust_resource(device_t, device_t, int, struct resource *, + rman_res_t, rman_res_t); static int nexus_map_resource(device_t, device_t, int, struct resource *, struct resource_map_request *, struct resource_map *); static int nexus_config_intr(device_t dev, int irq, enum intr_trigger trig, @@ -118,6 +120,7 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_add_child, nexus_add_child), DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), DEVMETHOD(bus_activate_resource, nexus_activate_resource), + DEVMETHOD(bus_adjust_resource, nexus_adjust_resource), DEVMETHOD(bus_map_resource, nexus_map_resource), DEVMETHOD(bus_config_intr, nexus_config_intr), DEVMETHOD(bus_get_resource_list, nexus_get_reslist), @@ -265,6 +268,27 @@ nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, return (rv); } +static int +nexus_adjust_resource(device_t bus __unused, device_t child __unused, int type, + struct resource *r, rman_res_t start, rman_res_t end) +{ + struct rman *rm; + + switch (type) { + case SYS_RES_IRQ: + rm = &irq_rman; + break; + case SYS_RES_MEMORY: + rm = &mem_rman; + break; + default: + return (EINVAL); + } + if (rman_is_region_manager(r, rm) == 0) + return (EINVAL); + return (rman_adjust_resource(r, start, end)); +} + static int nexus_release_resource(device_t bus, device_t child, int type, int rid, struct resource *res) From nobody Wed Feb 8 20:52:24 2023 X-Original-To: dev-commits-src-main@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 4PBsd50GL3z3pHXn; Wed, 8 Feb 2023 20:52:25 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBsd46ykwz3RGD; Wed, 8 Feb 2023 20:52:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675889545; 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=w+VtGVYfgisFvibOwfm/R1V/hfl6ui6D2+i9JPwrI+c=; b=E+i9gKNfgiOGeuWZKfF10y4EXgh4jagKxVCdRuIqO5syNgkQjwwUMEVa487N61db6fSaae VIpwwXNhicov8LZnIl9Pf0WtdEVrVdwXNOeLHcwbw7Zg26Zbp3aaZ/XokvIP8HXhkpuVPL VpVlCXEYeYhXq3apvBBuDVY4uo2ZhgC4wJpB/IoAa7KhGie82Kg5kM19EBdpHF/dOOQp4x 6IoukR08U4q5kJh/mtW7ezi9vQH7cydEcTqhQEa6FQVIeM9mRUN7LePvdRTQhKEp4nwpX5 PVqQZA7fSlTjMztGoHR2M/DMcftX8oIoAKh8xdenU4aBQPUKse5yeHpzlcYRYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675889545; 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=w+VtGVYfgisFvibOwfm/R1V/hfl6ui6D2+i9JPwrI+c=; b=gfPpqjQfmP39d5Drnlw4dRhzvjnxciv6Zj0PACuxBQXbskOK8f+YWH1qoJFspF0o4UON6i JZxmVikSgm9aWcnup4CwylSlsPUGOk4EQn5hiaJ0HlCGCojY9EYDsA7ZbCAvIR+e0o+Xxn Jo7RSA37AxWRsOUGIpfaQa6Bs1b//fMj4zLOeiX7TnO3wsAEr8S7GH8kXXFc0tcvE5nRWw VQ9nU7wUW8GV1Wc5hjS0zHhUNRTDfDc1KsQZkKnXGHxt/pLZhxbTB0N6XlIOkQAMxCxeAR kOpI0vePzS4ju9w5M6CTxpeDdzbdOJZ26y7F+UWpmdDdiv7VUJjUEp26Rj3GwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675889545; a=rsa-sha256; cv=none; b=ssW6wYlvaQzmeTvG8LI2V6hEhJcyhrP4qES8iuMBUekg8wNEMjxs53sf8ClM1Zwu8XF4jR IUsMyyCntEetkGLFdLqjsyo3gO/Hb6mzoEc9M9BKEjZNOYNgNU2HfgvnLOgJWWPVly4b9k 5HfXWX7F3ns9lxz8lZ1j5ToD6dGFISSHTNnx2ZecfZmVFPkdpywZWEexG3nj2+71/+oCp1 3832PspYeWJvteyIV18yTkSz/saw3dRLepQVdDC1xPHHN7RkGfHNCJmzZksht4VdagjZ8a cHun1WUKMF2VB/7NMHYZ0JNLdWH+cCiY2dKa2nLONojSegWu1hDRpOhssoQUQg== 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 4PBsd4619Rz19qG; Wed, 8 Feb 2023 20:52:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318KqOoZ052474; Wed, 8 Feb 2023 20:52:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318KqOE6052473; Wed, 8 Feb 2023 20:52:24 GMT (envelope-from git) Date: Wed, 8 Feb 2023 20:52:24 GMT Message-Id: <202302082052.318KqOE6052473@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: e6cf1a0826c9 - main - physmem: add ram0 pseudo-driver List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e6cf1a0826c9d7f229e41224ec7b783501636528 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=e6cf1a0826c9d7f229e41224ec7b783501636528 commit e6cf1a0826c9d7f229e41224ec7b783501636528 Author: Mitchell Horne AuthorDate: 2021-05-27 14:27:40 +0000 Commit: Mitchell Horne CommitDate: 2023-02-08 20:50:46 +0000 physmem: add ram0 pseudo-driver Its purpose is to reserve all I/O space belonging to physical memory from nexus, preventing it from being handed out by bus_alloc_resource() to callers such as xenpv_alloc_physmem(), which looks for the first available free range it can get. This mimics the existing pseudo-driver on x86. If needed, the device can be disabled with hint.ram.0.disabled="1" in /boot/device.hints. Reviewed by: imp MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D32343 --- sys/kern/subr_physmem.c | 100 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 99 insertions(+), 1 deletion(-) diff --git a/sys/kern/subr_physmem.c b/sys/kern/subr_physmem.c index 498ad2440f40..bb6af5a580aa 100644 --- a/sys/kern/subr_physmem.c +++ b/sys/kern/subr_physmem.c @@ -40,7 +40,9 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include +#include #include #ifdef _KERNEL @@ -49,7 +51,9 @@ __FBSDID("$FreeBSD$"); #include #include #include + #include +#include #else #include #include @@ -524,7 +528,6 @@ physmem_init_kernel_globals(void) panic("No memory entries in phys_avail"); Maxmem = atop(phys_avail[nextidx - 1]); } -#endif #ifdef DDB #include @@ -536,3 +539,98 @@ DB_SHOW_COMMAND_FLAGS(physmem, db_show_physmem, DB_CMD_MEMSAFE) } #endif /* DDB */ + +/* + * ram pseudo driver - this reserves I/O space resources corresponding to physical + * memory regions. + */ + +static void +ram_identify(driver_t *driver, device_t parent) +{ + + if (resource_disabled("ram", 0)) + return; + if (BUS_ADD_CHILD(parent, 0, "ram", 0) == NULL) + panic("ram_identify"); +} + +static int +ram_probe(device_t dev) +{ + + device_quiet(dev); + device_set_desc(dev, "System RAM"); + return (BUS_PROBE_SPECIFIC); +} + +static int +ram_attach(device_t dev) +{ + vm_paddr_t avail_list[PHYS_AVAIL_COUNT]; + rman_res_t start, end; + struct region *hwp; + int rid, i; + + rid = 0; + + /* Get the avail list. */ + bzero(avail_list, sizeof(avail_list)); + regions_to_avail(avail_list, EXFLAG_NOALLOC | EXFLAG_NODUMP, + PHYS_AVAIL_COUNT, 0, NULL, NULL); + + /* Reserve all memory regions. */ + for (i = 0; avail_list[i + 1] != 0; i += 2) { + start = avail_list[i]; + end = avail_list[i + 1]; + + if (bootverbose) + device_printf(dev, + "reserving memory region: %jx-%jx\n", + (uintmax_t)start, (uintmax_t)end); + + if (bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, start, end, + end - start, 0) == NULL) + panic("ram_attach: resource %d failed to attach", rid); + rid++; + } + + /* Now, reserve the excluded memory regions. */ + for (i = 0, hwp = exregions; i < excnt; i++, hwp++) { + start = hwp->addr; + end = hwp->addr + hwp->size; + + if (bootverbose) + device_printf(dev, + "reserving excluded region: %jx-%jx\n", + (uintmax_t)start, (uintmax_t)(end - 1)); + + /* + * Best-effort attempt to reserve the range. This may fail, as + * sometimes the excluded ranges provided by the device tree + * will cover or overlap some I/O range. + */ + if (bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, start, end, + end - start, 0) == NULL) { + if (bootverbose) + device_printf(dev, "failed to reserve region\n"); + continue; + } + rid++; + } + + return (0); +} + +static device_method_t ram_methods[] = { + /* Device interface */ + DEVMETHOD(device_identify, ram_identify), + DEVMETHOD(device_probe, ram_probe), + DEVMETHOD(device_attach, ram_attach), + + DEVMETHOD_END +}; + +DEFINE_CLASS_0(ram, ram_driver, ram_methods, /* no softc */ 1); +DRIVER_MODULE(ram, nexus, ram_driver, 0, 0); +#endif /* _KERNEL */ From nobody Wed Feb 8 20:55:43 2023 X-Original-To: dev-commits-src-main@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 4PBshy1hYTz3pJLl for ; Wed, 8 Feb 2023 20:55:46 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBshx6hh5z3hX0 for ; Wed, 8 Feb 2023 20:55:45 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f51.google.com with SMTP id az4-20020a05600c600400b003dff767a1f1so55499wmb.2 for ; Wed, 08 Feb 2023 12:55:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EyIDF9oMlnjCs1vyUWF1N3TWg8Jy+/jr7p/YPRbp1es=; b=Na4ItEhskoQ9nDbdE9s7hk2J+lLRtWDK939mXfGVIWLIUSnlXCCAS2VEcR2SI4OvRr dvUAalU9H4dBi1ntpQUdP6j0YWqbNRp4sD1RTF0hN6tqtVVUGmWvEH7BrBr8ttkN2vZm EGjRGCrdUDqgJ4uXmacZCLsf24W443bJPIAWTdXBZomrvj677OSZut/se6vMYo9dZyZl 8zW/BPtQ0V/k3I8mPnkZ3K0tEt4aYkW0MzOitwqM6PWPr5mrlTaKKEfCmuFXlPGQrKDT AhGMXsCPt0XfVrdHhpr7uN6cZ2WT0FfteNpJ95WIjNR6oWLLXr0yKDHUX6nDVbQ8/UJK Ourg== X-Gm-Message-State: AO0yUKVlcp5D6KlW+/eC/QIpoXbsxO5YQKDt5Bw7W8FELpnPYCOVQXUp LOp8LMi1YpKMdzIzdZFQLvMnjw== X-Google-Smtp-Source: AK7set+RzmSQhJl+Eg6f48RsKTW18/kDm/QmX5N0yMF5VEgRro6uxuBkJD8FIQMzmj2ZjVk22YbuSw== X-Received: by 2002:a05:600c:3086:b0:3dc:5c86:12f3 with SMTP id g6-20020a05600c308600b003dc5c8612f3mr10216109wmn.1.1675889744664; Wed, 08 Feb 2023 12:55:44 -0800 (PST) Received: from smtpclient.apple (global-5-143.n-2.net.cam.ac.uk. [131.111.5.143]) by smtp.gmail.com with ESMTPSA id r3-20020a05600c424300b003dc492e4430sm2674424wmm.28.2023.02.08.12.55.43 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 08 Feb 2023 12:55:44 -0800 (PST) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: git: e6cf1a0826c9 - main - physmem: add ram0 pseudo-driver From: Jessica Clarke In-Reply-To: <202302082052.318KqOE6052473@gitrepo.freebsd.org> Date: Wed, 8 Feb 2023 20:55:43 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <26339898-C02C-42D4-916A-2B6AD2562B02@freebsd.org> References: <202302082052.318KqOE6052473@gitrepo.freebsd.org> To: Mitchell Horne X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Rspamd-Queue-Id: 4PBshx6hh5z3hX0 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 8 Feb 2023, at 20:52, Mitchell Horne wrote: >=20 > The branch main has been updated by mhorne: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3De6cf1a0826c9d7f229e41224ec7b7835= 01636528 >=20 > commit e6cf1a0826c9d7f229e41224ec7b783501636528 > Author: Mitchell Horne > AuthorDate: 2021-05-27 14:27:40 +0000 > Commit: Mitchell Horne > CommitDate: 2023-02-08 20:50:46 +0000 >=20 > physmem: add ram0 pseudo-driver >=20 > Its purpose is to reserve all I/O space belonging to physical = memory If it=E2=80=99s RAM then it=E2=80=99s not I/O, and if it=E2=80=99s I/O = then it=E2=80=99s not RAM? Jess > from nexus, preventing it from being handed out by = bus_alloc_resource() > to callers such as xenpv_alloc_physmem(), which looks for the first > available free range it can get. This mimics the existing = pseudo-driver > on x86. >=20 > If needed, the device can be disabled with hint.ram.0.disabled=3D"1" = in > /boot/device.hints. >=20 > Reviewed by: imp > MFC after: 1 month > Differential Revision: https://reviews.freebsd.org/D32343 > --- > sys/kern/subr_physmem.c | 100 = +++++++++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 99 insertions(+), 1 deletion(-) >=20 > diff --git a/sys/kern/subr_physmem.c b/sys/kern/subr_physmem.c > index 498ad2440f40..bb6af5a580aa 100644 > --- a/sys/kern/subr_physmem.c > +++ b/sys/kern/subr_physmem.c > @@ -40,7 +40,9 @@ __FBSDID("$FreeBSD$"); >=20 > #include > #include > +#include > #include > +#include > #include >=20 > #ifdef _KERNEL > @@ -49,7 +51,9 @@ __FBSDID("$FreeBSD$"); > #include > #include > #include > + > #include > +#include > #else > #include > #include > @@ -524,7 +528,6 @@ physmem_init_kernel_globals(void) > panic("No memory entries in phys_avail"); > Maxmem =3D atop(phys_avail[nextidx - 1]); > } > -#endif >=20 > #ifdef DDB > #include > @@ -536,3 +539,98 @@ DB_SHOW_COMMAND_FLAGS(physmem, db_show_physmem, = DB_CMD_MEMSAFE) > } >=20 > #endif /* DDB */ > + > +/* > + * ram pseudo driver - this reserves I/O space resources = corresponding to physical > + * memory regions. > + */ > + > +static void > +ram_identify(driver_t *driver, device_t parent) > +{ > + > + if (resource_disabled("ram", 0)) > + return; > + if (BUS_ADD_CHILD(parent, 0, "ram", 0) =3D=3D NULL) > + panic("ram_identify"); > +} > + > +static int > +ram_probe(device_t dev) > +{ > + > + device_quiet(dev); > + device_set_desc(dev, "System RAM"); > + return (BUS_PROBE_SPECIFIC); > +} > + > +static int > +ram_attach(device_t dev) > +{ > + vm_paddr_t avail_list[PHYS_AVAIL_COUNT]; > + rman_res_t start, end; > + struct region *hwp; > + int rid, i; > + > + rid =3D 0; > + > + /* Get the avail list. */ > + bzero(avail_list, sizeof(avail_list)); > + regions_to_avail(avail_list, EXFLAG_NOALLOC | EXFLAG_NODUMP, > + PHYS_AVAIL_COUNT, 0, NULL, NULL); > + > + /* Reserve all memory regions. */ > + for (i =3D 0; avail_list[i + 1] !=3D 0; i +=3D 2) { > + start =3D avail_list[i]; > + end =3D avail_list[i + 1]; > + > + if (bootverbose) > + device_printf(dev, > + "reserving memory region: %jx-%jx\n", > + (uintmax_t)start, (uintmax_t)end); > + > + if (bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, start, = end, > + end - start, 0) =3D=3D NULL) > + panic("ram_attach: resource %d failed to = attach", rid); > + rid++; > + } > + > + /* Now, reserve the excluded memory regions. */ > + for (i =3D 0, hwp =3D exregions; i < excnt; i++, hwp++) { > + start =3D hwp->addr; > + end =3D hwp->addr + hwp->size; > + > + if (bootverbose) > + device_printf(dev, > + "reserving excluded region: %jx-%jx\n", > + (uintmax_t)start, (uintmax_t)(end - 1)); > + > + /* > + * Best-effort attempt to reserve the range. This may = fail, as > + * sometimes the excluded ranges provided by the device = tree > + * will cover or overlap some I/O range. > + */ > + if (bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, start, = end, > + end - start, 0) =3D=3D NULL) { > + if (bootverbose) > + device_printf(dev, "failed to reserve = region\n"); > + continue; > + } > + rid++; > + } > + > + return (0); > +} > + > +static device_method_t ram_methods[] =3D { > + /* Device interface */ > + DEVMETHOD(device_identify, ram_identify), > + DEVMETHOD(device_probe, ram_probe), > + DEVMETHOD(device_attach, ram_attach), > + > + DEVMETHOD_END > +}; > + > +DEFINE_CLASS_0(ram, ram_driver, ram_methods, /* no softc */ 1); > +DRIVER_MODULE(ram, nexus, ram_driver, 0, 0); > +#endif /* _KERNEL */ From nobody Wed Feb 8 21:06:17 2023 X-Original-To: dev-commits-src-main@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 4PBsx64tk1z3pK53; Wed, 8 Feb 2023 21:06:18 +0000 (UTC) (envelope-from mhorne@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBsx64LXsz3kjS; Wed, 8 Feb 2023 21:06:18 +0000 (UTC) (envelope-from mhorne@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675890378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=p75L6uADwx3qbqOKQOsyUlEJ7JeCMkiCoD2Y/1J4Pz8=; b=vNP/7wSdP1PYNHefjkPBpHqROb4fbXvpPaAZLz8up6Tidz395LLNrneFwPWuWfAsaYZZn7 ur6XMXlpKaskDoPQCtAm/8pMmGNN/akEgRK24LBZVExEVx8E7JOYtqABG28zShtu4Xu3Xy lChLSOeS1FXv0bxqrOKNm0ZV8UL04NZ6xxIlLAHh5jaEW5SxftolobNenprWH6hRV4E1fv P7kKpxFv/YTgXr3n6uMMozXcsmFfctwMqGYQdKxPm4p1ZHyC+rlX59hnitJHoB96+hO+iK zNvqJWoqH8ZulLsI/9ZJvOirn9UtoEwFFSeLIW6IhSIRNheVqc/oCUSJeef8+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675890378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=p75L6uADwx3qbqOKQOsyUlEJ7JeCMkiCoD2Y/1J4Pz8=; b=nZoI/6AHSglewkkjpNc/XynHi7Vv+acQPjz7xuskM7gdUh9MYFzwpSzNdpK/Sopmd6RVf0 HfcH1eTfG89eOl211oiP/S0Smiyi3A5lA58SmCOV365cazlmYbx+mG0/qtmEuhCyhjlFns hCgIMIvtFG5Ut7d+bT3PVs8TGJOto7fFUFqSstgb2PpbOkPdaYJEykHzxCaEWEF+zoEae4 liCM2+PLDnfeZHETtpjaBMEtgQvGwnNpum6luXn+Kn87IaqayyqWJp56Xx2KAD02sHjBgA pYc2jI7o1EttnmBvEgn1ZiqGyhPRVPTY4jUiaAKp5kriPbZGwP2XuiJ2GO/LfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675890378; a=rsa-sha256; cv=none; b=qkoQoXjhfyH3ETscH59JWlRRu6NBjHLFv5wvt58eAXdv1lVP8jWg5j+ur2xupIvFN7fxHU ip1vcLVYm+6Uqwh/vLywkVasd7uKJIVo7oNuvDUqCPgSb2pi78cK/dSyPyff9vNAjbqEI+ DPsM5cA1rywGKMk6WVc+sUjbP+i7DsmDUfEueos0RWlY2WthVid9uL88VAVftmwv1k06ov gfcGp5gxT4IJdGobhBSWEuU8ba/4Bk5iK+Oc3zstvstdAtwWgM4yv+uhCyiOL3GW9CCVf9 QA7d3VTrPuj91SnS8b6GdeVDXJ+U8yzVhbJCSkKa9t1n8zv28cOCB0gEnna1lw== Received: from [192.168.1.151] (host-173-212-76-127.public.eastlink.ca [173.212.76.127]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: mhorne) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PBsx61FyCz12QZ; Wed, 8 Feb 2023 21:06:18 +0000 (UTC) (envelope-from mhorne@freebsd.org) Message-ID: Date: Wed, 8 Feb 2023 17:06:17 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: git: e6cf1a0826c9 - main - physmem: add ram0 pseudo-driver Content-Language: en-CA To: Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" References: <202302082052.318KqOE6052473@gitrepo.freebsd.org> <26339898-C02C-42D4-916A-2B6AD2562B02@freebsd.org> From: Mitchell Horne In-Reply-To: <26339898-C02C-42D4-916A-2B6AD2562B02@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ThisMailContainsUnwantedMimeParts: N On 2/8/23 16:55, Jessica Clarke wrote: > On 8 Feb 2023, at 20:52, Mitchell Horne wrote: >> >> The branch main has been updated by mhorne: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=e6cf1a0826c9d7f229e41224ec7b783501636528 >> >> commit e6cf1a0826c9d7f229e41224ec7b783501636528 >> Author: Mitchell Horne >> AuthorDate: 2021-05-27 14:27:40 +0000 >> Commit: Mitchell Horne >> CommitDate: 2023-02-08 20:50:46 +0000 >> >> physmem: add ram0 pseudo-driver >> >> Its purpose is to reserve all I/O space belonging to physical memory > > If it’s RAM then it’s not I/O, and if it’s I/O then it’s not RAM? > > Jess > Yes, they are distinct. And yet, they share an address space. So this is to assist in the SYS_RES_MEMORY resource bookkeeping. Did I misuse some terminology, or what is your actual question? >> from nexus, preventing it from being handed out by bus_alloc_resource() >> to callers such as xenpv_alloc_physmem(), which looks for the first >> available free range it can get. This mimics the existing pseudo-driver >> on x86. >> >> If needed, the device can be disabled with hint.ram.0.disabled="1" in >> /boot/device.hints. >> >> Reviewed by: imp >> MFC after: 1 month >> Differential Revision: https://reviews.freebsd.org/D32343 >> --- >> sys/kern/subr_physmem.c | 100 +++++++++++++++++++++++++++++++++++++++++++++++- >> 1 file changed, 99 insertions(+), 1 deletion(-) >> >> diff --git a/sys/kern/subr_physmem.c b/sys/kern/subr_physmem.c >> index 498ad2440f40..bb6af5a580aa 100644 >> --- a/sys/kern/subr_physmem.c >> +++ b/sys/kern/subr_physmem.c >> @@ -40,7 +40,9 @@ __FBSDID("$FreeBSD$"); >> >> #include >> #include >> +#include >> #include >> +#include >> #include >> >> #ifdef _KERNEL >> @@ -49,7 +51,9 @@ __FBSDID("$FreeBSD$"); >> #include >> #include >> #include >> + >> #include >> +#include >> #else >> #include >> #include >> @@ -524,7 +528,6 @@ physmem_init_kernel_globals(void) >> panic("No memory entries in phys_avail"); >> Maxmem = atop(phys_avail[nextidx - 1]); >> } >> -#endif >> >> #ifdef DDB >> #include >> @@ -536,3 +539,98 @@ DB_SHOW_COMMAND_FLAGS(physmem, db_show_physmem, DB_CMD_MEMSAFE) >> } >> >> #endif /* DDB */ >> + >> +/* >> + * ram pseudo driver - this reserves I/O space resources corresponding to physical >> + * memory regions. >> + */ >> + >> +static void >> +ram_identify(driver_t *driver, device_t parent) >> +{ >> + >> + if (resource_disabled("ram", 0)) >> + return; >> + if (BUS_ADD_CHILD(parent, 0, "ram", 0) == NULL) >> + panic("ram_identify"); >> +} >> + >> +static int >> +ram_probe(device_t dev) >> +{ >> + >> + device_quiet(dev); >> + device_set_desc(dev, "System RAM"); >> + return (BUS_PROBE_SPECIFIC); >> +} >> + >> +static int >> +ram_attach(device_t dev) >> +{ >> + vm_paddr_t avail_list[PHYS_AVAIL_COUNT]; >> + rman_res_t start, end; >> + struct region *hwp; >> + int rid, i; >> + >> + rid = 0; >> + >> + /* Get the avail list. */ >> + bzero(avail_list, sizeof(avail_list)); >> + regions_to_avail(avail_list, EXFLAG_NOALLOC | EXFLAG_NODUMP, >> + PHYS_AVAIL_COUNT, 0, NULL, NULL); >> + >> + /* Reserve all memory regions. */ >> + for (i = 0; avail_list[i + 1] != 0; i += 2) { >> + start = avail_list[i]; >> + end = avail_list[i + 1]; >> + >> + if (bootverbose) >> + device_printf(dev, >> + "reserving memory region: %jx-%jx\n", >> + (uintmax_t)start, (uintmax_t)end); >> + >> + if (bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, start, end, >> + end - start, 0) == NULL) >> + panic("ram_attach: resource %d failed to attach", rid); >> + rid++; >> + } >> + >> + /* Now, reserve the excluded memory regions. */ >> + for (i = 0, hwp = exregions; i < excnt; i++, hwp++) { >> + start = hwp->addr; >> + end = hwp->addr + hwp->size; >> + >> + if (bootverbose) >> + device_printf(dev, >> + "reserving excluded region: %jx-%jx\n", >> + (uintmax_t)start, (uintmax_t)(end - 1)); >> + >> + /* >> + * Best-effort attempt to reserve the range. This may fail, as >> + * sometimes the excluded ranges provided by the device tree >> + * will cover or overlap some I/O range. >> + */ >> + if (bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, start, end, >> + end - start, 0) == NULL) { >> + if (bootverbose) >> + device_printf(dev, "failed to reserve region\n"); >> + continue; >> + } >> + rid++; >> + } >> + >> + return (0); >> +} >> + >> +static device_method_t ram_methods[] = { >> + /* Device interface */ >> + DEVMETHOD(device_identify, ram_identify), >> + DEVMETHOD(device_probe, ram_probe), >> + DEVMETHOD(device_attach, ram_attach), >> + >> + DEVMETHOD_END >> +}; >> + >> +DEFINE_CLASS_0(ram, ram_driver, ram_methods, /* no softc */ 1); >> +DRIVER_MODULE(ram, nexus, ram_driver, 0, 0); >> +#endif /* _KERNEL */ > From nobody Wed Feb 8 21:07:57 2023 X-Original-To: dev-commits-src-main@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 4PBsz13hXyz3pKPK; Wed, 8 Feb 2023 21:07: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBsz11yrvz3ldM; Wed, 8 Feb 2023 21:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675890477; 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=EsNuVdkugQMe1OgQNHnLgJWaBMlvM+IlOhII5Wv7VI4=; b=acNUgZzNTPy1O+88xF89yI1C/Z3qfzUrJWEl3O9kAJPH6PXDzvKsp8XKeoX1EzxWbbcPGS dVnjmQVamLDWtGpuV53WSZcVppAxWPTQU6wMT6CTv1RxmhUE7JJ7qSE7m7uu/n8iV+J1bT ZiXAvHBCXeBPxfRhdKttfSzGvbQj+++982KX+ARSd2Xz6+xjKZdADBd9KBl7un/QT8ku+S 0YtIsoPql5MAMAXF8SsUQ5GzEldu5v4MxLj652mtzGNyNMjywoDbbFENEB1Jp83oDfzEeZ CNSHyTLkGxtvMGIKQF2IxfTB5kdRcsUaOJ++KcUZY8VBwnkmtPu3R0ucLyg30A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675890477; 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=EsNuVdkugQMe1OgQNHnLgJWaBMlvM+IlOhII5Wv7VI4=; b=B4yrhKOTCKLYcnZk9zzhbCJuzkkVdQiJhmldfUIphYsK+PuNp1I9QgHPSlIMSi+WIAsA9h z+IK1iV0qksKoi0E9p0D5Is5FjwIxLauvAKkQfM45Bv8FrslW2tY6SU8V0o9/WBOw5yI+0 ZFPVfAQFir6l8udals+tWKKPVdaaM0ITNtYBA44RKHZSaeUKttQMkB8i+jwJRwnJ7H7fer u81vYCrj06cr5SWXNQubhSsfcfyDCYQgzRNGm53Ba7fe/nMozr5XLwkyXd/Wf4iR/nYgRk VZ4r8qSJmjmFVV1AAU9xojGXm8Z+lOL1xCXhVTbhBiepbN97pcv7VfRvZ9ysXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675890477; a=rsa-sha256; cv=none; b=Qo10yM9uRPR9pCFtcufjqNXjRTsanL5jJIWOAQuDWoyBHe2QD4PiAIh4dYPtjuLBpOBwAw QjjGGtp4mhATYOPjCwaP18RabG3dC/Tmw7AIrKbYbCWs0xNKwL7jaqx1ZcBnS9f4iwB0qI c+NU6tiiJMLYtBufUCPncTIpdK9fxl3LJXVi2TUOlmGa6rtkiHEUNdke+wKkoCMS4yfxUO wA/zIH0/Ue6GiG3FKl08tgbxs3105bJ6UTN5mmzxa34wBM/H0bMyaSkSd81RzBSFDCp1SV IgUs9EsPZzp97mm6agWDi3v08DWqocQWxy9a40iaXLd8VkA2g84PxAUKyQ06DQ== 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 4PBsz1141Qz1BM6; Wed, 8 Feb 2023 21:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318L7v4a068395; Wed, 8 Feb 2023 21:07:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318L7vBP068394; Wed, 8 Feb 2023 21:07:57 GMT (envelope-from git) Date: Wed, 8 Feb 2023 21:07:57 GMT Message-Id: <202302082107.318L7vBP068394@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vincenzo Maffione Subject: git: fa3f6655421f - main - netmap: drop redundant if_mtu assignment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vmaffione X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fa3f6655421f734ee8a01102612dd2092970c001 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by vmaffione: URL: https://cgit.FreeBSD.org/src/commit/?id=fa3f6655421f734ee8a01102612dd2092970c001 commit fa3f6655421f734ee8a01102612dd2092970c001 Author: Vincenzo Maffione AuthorDate: 2023-02-08 21:05:32 +0000 Commit: Vincenzo Maffione CommitDate: 2023-02-08 21:05:32 +0000 netmap: drop redundant if_mtu assignment Reported by: zlei MFC after 3 days --- sys/dev/netmap/netmap_freebsd.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/netmap/netmap_freebsd.c b/sys/dev/netmap/netmap_freebsd.c index 0f7372e959bb..8c480f2fb092 100644 --- a/sys/dev/netmap/netmap_freebsd.c +++ b/sys/dev/netmap/netmap_freebsd.c @@ -620,7 +620,6 @@ nm_os_vi_persist(const char *name, struct ifnet **ret) return ENOMEM; } if_initname(ifp, name, IF_DUNIT_NONE); - ifp->if_mtu = 65536; ifp->if_flags = IFF_UP | IFF_SIMPLEX | IFF_MULTICAST; ifp->if_init = (void *)nm_vi_dummy; ifp->if_ioctl = nm_vi_dummy; From nobody Wed Feb 8 21:09:46 2023 X-Original-To: dev-commits-src-main@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 4PBt164G6zz3pKg1; Wed, 8 Feb 2023 21:09: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBt163p2nz3m2w; Wed, 8 Feb 2023 21:09:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675890586; 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=17/M1rqL1Jw9szwot+51+Z9eCqP8IjaGvw5SSLRfvks=; b=IV3QPi2ZWg00Ff4e+/569z9fasCjv2nEQZNF9WAN5+ykUPVkzEWqay3kpD6C/ImLAk57XB zsT7pTYMeVe6piJz8YdBVGNe6ynXCxcHYs7KCNL4Etb0QyP1unJtq1bP3IL17CJmFtvmlG kQIKY2pt2uOZ9ikIrd/oG+BXHmLA6x9XNctrACTWBw18EyE5yYwv61CZBMp6JhMSDpmIeW 6tUuGX98K+nRzj59qatuR+3Nb3lIyYYF4hGemdwODb3rvoCDrFkCBycs1fFeevvqjvhoHs /KucwigwPH0kzIMBLicNewhFM4CbZh7L0jGw1skd6thlKAbnfzf4s5RMz7id7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675890586; 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=17/M1rqL1Jw9szwot+51+Z9eCqP8IjaGvw5SSLRfvks=; b=Y77lcTRHtTDa20gqWGpI11IjxdHAfRGo0ECsY3azdR9RbTXwbNS6qWMzfSokLipcBDY0Kh T7YZQDOI4BPjJdvQMaZccrbW3LdfIloKxBN9ddyr4/eof3up53+qxd8YN+hbusR4Sia/pi zW8r0loxEC2AtaxfnqTkS5qFDRxzfmyIvMEFtt2oMpX/01OD5WAYnNF9rkeD7ADeHKw2jT 5T5Y93cNxpgpkxY6aN8rYvXlIoGNTDIc/FbKmp0fIzN2Do0/P+jnwfSqEuz/ROD/y1I561 c0VrLjOLZh0ZQV3K1xv4W+JsZRHLkHffgyRqlPpjB73M7OIJh6DsL1/CZqSKAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675890586; a=rsa-sha256; cv=none; b=nFqFy3hQmbBHldRTSbUEApCLgodYjEGWa6PUf3klY2GEIVK2vjQIu30FGua7jKLkp4TslK aivGMXk+Z/re3jZzJF2ZSoDi79daRhvRPYaD+riMIlSYmUqCVDCGYeJaqLJJkK7I82SHua ugn4iTspVS2O9NHOrFAaHzG76C3Mjx3OOGxNjHBbO03M2beRgM3H5Y0lkR6yWjtRfoK2hG Fdnir0cd1Yssa6B1zYeTqpIxCysEat0XoV6mPVOlA+O5s711w5dZxOaggoXyn+sxbnxOfB hh3WdUGBEIWP4CsKmqCXwY47yVaTJ8uYHapnUYdJtiwZjK2D0YxYxAB7W3we4w== 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 4PBt162s6lz1BM7; Wed, 8 Feb 2023 21:09:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318L9ktb068729; Wed, 8 Feb 2023 21:09:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318L9kxj068728; Wed, 8 Feb 2023 21:09:46 GMT (envelope-from git) Date: Wed, 8 Feb 2023 21:09:46 GMT Message-Id: <202302082109.318L9kxj068728@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: ded5f2954e1a - main - nfsd: Fix handling of the error case for nfsvno_open List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ded5f2954e1a1bb7748646888938af767ee6257a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=ded5f2954e1a1bb7748646888938af767ee6257a commit ded5f2954e1a1bb7748646888938af767ee6257a Author: Rick Macklem AuthorDate: 2023-02-08 21:06:07 +0000 Commit: Rick Macklem CommitDate: 2023-02-08 21:08:51 +0000 nfsd: Fix handling of the error case for nfsvno_open Using done_namei instead of ni_startdir did not fix the crashes reported in the PR. Upon looking more closely at the code, the only case where the code near the end of nfsvno_open() needs to be executed is when nfsvno_namei() has succeeded, but a subsequent error was detected. This patch uses done_namei to indicate this case. Also, nfsvno_relpathbuf() should only be called for this case and not whenever nfsvno_open() is called with nd_repstat != 0. A bug was introduced here when the HASBUF flag was deleted. Reviewed by: mjg PR: 268971 Tested by: ish@amail.plala.or.jp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D38430 --- sys/fs/nfsserver/nfs_nfsdport.c | 22 +++++++++++++--------- sys/fs/nfsserver/nfs_nfsdserv.c | 10 +++++----- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index d02653823857..7305ae6a84fe 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -1916,16 +1916,20 @@ nfsvno_open(struct nfsrv_descript *nd, struct nameidata *ndp, stateidp, stp, vp, nd, p, nd->nd_repstat); } } - } else { + } else if (done_namei) { + /* + * done_namei is set when nfsvno_namei() has completed + * successfully, but a subsequent error was set in + * nd_repstat. As such, cleanup of the nfsvno_namei() + * results is required. + */ nfsvno_relpathbuf(ndp); - if (done_namei && create == NFSV4OPEN_CREATE) { - if (ndp->ni_dvp == ndp->ni_vp) - vrele(ndp->ni_dvp); - else - vput(ndp->ni_dvp); - if (ndp->ni_vp) - vput(ndp->ni_vp); - } + if (ndp->ni_dvp == ndp->ni_vp) + vrele(ndp->ni_dvp); + else + vput(ndp->ni_dvp); + if (ndp->ni_vp) + vput(ndp->ni_vp); } *vpp = vp; diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c index 0433e9cda656..569ddc9141bb 100644 --- a/sys/fs/nfsserver/nfs_nfsdserv.c +++ b/sys/fs/nfsserver/nfs_nfsdserv.c @@ -3043,7 +3043,6 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, if (!nd->nd_repstat) { nd->nd_repstat = nfsvno_namei(nd, &named, dp, 0, exp, &dirp); - done_namei = true; } else { vrele(dp); nfsvno_relpathbuf(&named); @@ -3051,7 +3050,7 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, if (create == NFSV4OPEN_CREATE) { switch (how) { case NFSCREATE_UNCHECKED: - if (done_namei && named.ni_vp != NULL) { + if (nd->nd_repstat == 0 && named.ni_vp != NULL) { /* * Clear the setable attribute bits, except * for Size, if it is being truncated. @@ -3063,13 +3062,14 @@ nfsrvd_open(struct nfsrv_descript *nd, __unused int isdgram, } break; case NFSCREATE_GUARDED: - if (done_namei && named.ni_vp != NULL && - nd->nd_repstat == 0) + if (nd->nd_repstat == 0 && named.ni_vp != NULL) { nd->nd_repstat = EEXIST; + done_namei = true; + } break; case NFSCREATE_EXCLUSIVE: exclusive_flag = 1; - if (done_namei && named.ni_vp == NULL) + if (nd->nd_repstat == 0 && named.ni_vp == NULL) nva.na_mode = 0; break; case NFSCREATE_EXCLUSIVE41: From nobody Wed Feb 8 21:13:28 2023 X-Original-To: dev-commits-src-main@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 4PBt5R5Cq2z3pL0y for ; Wed, 8 Feb 2023 21:13:31 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBt5R0HZsz3p75 for ; Wed, 8 Feb 2023 21:13:31 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f50.google.com with SMTP id az4-20020a05600c600400b003dff767a1f1so86834wmb.2 for ; Wed, 08 Feb 2023 13:13:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZG9pwPOxuVFMBjMWOGwHmHShVUUy+PsprH7hhW0UaxQ=; b=f/GHkmtLbx383t6/HepiAL91YCaAb5X42udtAvrjd+LwOeA6w8KsnypEm426gR0HPq WsXc2vgNCmFDVeDB5OQNmGJpNRGO5ZwXjLDHBbak1+9d3VDbgwsgm2OQMnM6kzjpAhFG /PnT+iA9ucQ/8J9wEWS+6HFWTzxNv350sAjLhKg1mYTpKsIcxAyV8rW3gqeLUEYHujDg nD2Ks4kUcnFXpShG+V3ag7nSR9SvO6jFkW74AdtAyiEtd078+KEmp653lMA8n1Bgt1HE Aa29Dt8HybGvlQ0M8VTqFZayuK/ra0q2YFLg1FZzw6ujVe0LdaotgvRnq0LrvipcJwFH Yazw== X-Gm-Message-State: AO0yUKUrfYjCH/2/cU08chOS/6flPP8jFZjtErCY/lUwBZrX+MR/76jH A1W4fZUrWGyqj1k03ukTBsAzcQ== X-Google-Smtp-Source: AK7set/oQ658hK2825ue2W1ozzXoaO6uNdsavKnh9uIJaIEYu1ciwvahvO7OXH12EPP/uKSDG6wr+Q== X-Received: by 2002:a05:600c:80f:b0:3d2:2d2a:d581 with SMTP id k15-20020a05600c080f00b003d22d2ad581mr7768960wmp.30.1675890809754; Wed, 08 Feb 2023 13:13:29 -0800 (PST) Received: from smtpclient.apple (global-5-143.n-2.net.cam.ac.uk. [131.111.5.143]) by smtp.gmail.com with ESMTPSA id j37-20020a05600c1c2500b003daf6e3bc2fsm7199646wms.1.2023.02.08.13.13.29 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 08 Feb 2023 13:13:29 -0800 (PST) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: git: e6cf1a0826c9 - main - physmem: add ram0 pseudo-driver From: Jessica Clarke In-Reply-To: Date: Wed, 8 Feb 2023 21:13:28 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <505D72C8-1F67-46C8-A6EF-39392841FBF5@freebsd.org> References: <202302082052.318KqOE6052473@gitrepo.freebsd.org> <26339898-C02C-42D4-916A-2B6AD2562B02@freebsd.org> To: Mitchell Horne X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Rspamd-Queue-Id: 4PBt5R0HZsz3p75 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 8 Feb 2023, at 21:06, Mitchell Horne wrote: >=20 > On 2/8/23 16:55, Jessica Clarke wrote: >> On 8 Feb 2023, at 20:52, Mitchell Horne wrote: >>>=20 >>> The branch main has been updated by mhorne: >>>=20 >>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3De6cf1a0826c9d7f229e41224ec7b7835= 01636528 >>>=20 >>> commit e6cf1a0826c9d7f229e41224ec7b783501636528 >>> Author: Mitchell Horne >>> AuthorDate: 2021-05-27 14:27:40 +0000 >>> Commit: Mitchell Horne >>> CommitDate: 2023-02-08 20:50:46 +0000 >>>=20 >>> physmem: add ram0 pseudo-driver >>>=20 >>> Its purpose is to reserve all I/O space belonging to physical = memory >> If it=E2=80=99s RAM then it=E2=80=99s not I/O, and if it=E2=80=99s = I/O then it=E2=80=99s not RAM? >> Jess >=20 > Yes, they are distinct. And yet, they share an address space. So this = is to assist in the SYS_RES_MEMORY resource bookkeeping. Did I misuse = some terminology, or what is your actual question? The commit message just doesn=E2=80=99t make sense to me, it switches = between talking about I/O space and memory (same applies to the comments in the code). Is this reserving I/O parts of the address space so SYS_RES_MEMORY doesn=E2=80=99t include them (which doesn=E2=80=99t = *belong* to physical memory, just resides in the same address space), reserving FDT/ACPI-reserved actual RAM memory regions so SYS_RES_MEMORY doesn=E2=80=99= t include them (which isn=E2=80=99t I/O space), or both? Currently it = reads to me as describing part of one and part of the other, but neither fully. Jess >>> from nexus, preventing it from being handed out by = bus_alloc_resource() >>> to callers such as xenpv_alloc_physmem(), which looks for the = first >>> available free range it can get. This mimics the existing = pseudo-driver >>> on x86. >>>=20 >>> If needed, the device can be disabled with = hint.ram.0.disabled=3D"1" in >>> /boot/device.hints. >>>=20 >>> Reviewed by: imp >>> MFC after: 1 month >>> Differential Revision: https://reviews.freebsd.org/D32343 >>> --- >>> sys/kern/subr_physmem.c | 100 = +++++++++++++++++++++++++++++++++++++++++++++++- >>> 1 file changed, 99 insertions(+), 1 deletion(-) >>>=20 >>> diff --git a/sys/kern/subr_physmem.c b/sys/kern/subr_physmem.c >>> index 498ad2440f40..bb6af5a580aa 100644 >>> --- a/sys/kern/subr_physmem.c >>> +++ b/sys/kern/subr_physmem.c >>> @@ -40,7 +40,9 @@ __FBSDID("$FreeBSD$"); >>>=20 >>> #include >>> #include >>> +#include >>> #include >>> +#include >>> #include >>>=20 >>> #ifdef _KERNEL >>> @@ -49,7 +51,9 @@ __FBSDID("$FreeBSD$"); >>> #include >>> #include >>> #include >>> + >>> #include >>> +#include >>> #else >>> #include >>> #include >>> @@ -524,7 +528,6 @@ physmem_init_kernel_globals(void) >>> panic("No memory entries in phys_avail"); >>> Maxmem =3D atop(phys_avail[nextidx - 1]); >>> } >>> -#endif >>>=20 >>> #ifdef DDB >>> #include >>> @@ -536,3 +539,98 @@ DB_SHOW_COMMAND_FLAGS(physmem, db_show_physmem, = DB_CMD_MEMSAFE) >>> } >>>=20 >>> #endif /* DDB */ >>> + >>> +/* >>> + * ram pseudo driver - this reserves I/O space resources = corresponding to physical >>> + * memory regions. >>> + */ >>> + >>> +static void >>> +ram_identify(driver_t *driver, device_t parent) >>> +{ >>> + >>> + if (resource_disabled("ram", 0)) >>> + return; >>> + if (BUS_ADD_CHILD(parent, 0, "ram", 0) =3D=3D NULL) >>> + panic("ram_identify"); >>> +} >>> + >>> +static int >>> +ram_probe(device_t dev) >>> +{ >>> + >>> + device_quiet(dev); >>> + device_set_desc(dev, "System RAM"); >>> + return (BUS_PROBE_SPECIFIC); >>> +} >>> + >>> +static int >>> +ram_attach(device_t dev) >>> +{ >>> + vm_paddr_t avail_list[PHYS_AVAIL_COUNT]; >>> + rman_res_t start, end; >>> + struct region *hwp; >>> + int rid, i; >>> + >>> + rid =3D 0; >>> + >>> + /* Get the avail list. */ >>> + bzero(avail_list, sizeof(avail_list)); >>> + regions_to_avail(avail_list, EXFLAG_NOALLOC | EXFLAG_NODUMP, >>> + PHYS_AVAIL_COUNT, 0, NULL, NULL); >>> + >>> + /* Reserve all memory regions. */ >>> + for (i =3D 0; avail_list[i + 1] !=3D 0; i +=3D 2) { >>> + start =3D avail_list[i]; >>> + end =3D avail_list[i + 1]; >>> + >>> + if (bootverbose) >>> + device_printf(dev, >>> + "reserving memory region: %jx-%jx\n", >>> + (uintmax_t)start, (uintmax_t)end); >>> + >>> + if (bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, start, = end, >>> + end - start, 0) =3D=3D NULL) >>> + panic("ram_attach: resource %d failed to = attach", rid); >>> + rid++; >>> + } >>> + >>> + /* Now, reserve the excluded memory regions. */ >>> + for (i =3D 0, hwp =3D exregions; i < excnt; i++, hwp++) { >>> + start =3D hwp->addr; >>> + end =3D hwp->addr + hwp->size; >>> + >>> + if (bootverbose) >>> + device_printf(dev, >>> + "reserving excluded region: %jx-%jx\n", >>> + (uintmax_t)start, (uintmax_t)(end - 1)); >>> + >>> + /* >>> + * Best-effort attempt to reserve the range. This may = fail, as >>> + * sometimes the excluded ranges provided by the device = tree >>> + * will cover or overlap some I/O range. >>> + */ >>> + if (bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, start, = end, >>> + end - start, 0) =3D=3D NULL) { >>> + if (bootverbose) >>> + device_printf(dev, "failed to reserve = region\n"); >>> + continue; >>> + } >>> + rid++; >>> + } >>> + >>> + return (0); >>> +} >>> + >>> +static device_method_t ram_methods[] =3D { >>> + /* Device interface */ >>> + DEVMETHOD(device_identify, ram_identify), >>> + DEVMETHOD(device_probe, ram_probe), >>> + DEVMETHOD(device_attach, ram_attach), >>> + >>> + DEVMETHOD_END >>> +}; >>> + >>> +DEFINE_CLASS_0(ram, ram_driver, ram_methods, /* no softc */ 1); >>> +DRIVER_MODULE(ram, nexus, ram_driver, 0, 0); >>> +#endif /* _KERNEL */ From nobody Wed Feb 8 22:14:09 2023 X-Original-To: dev-commits-src-main@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 4PBvRS1yPBz3n0H1; Wed, 8 Feb 2023 22:14:12 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-oa1-x2f.google.com (mail-oa1-x2f.google.com [IPv6:2001:4860:4864:20::2f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBvRR3JMGz3tFl; Wed, 8 Feb 2023 22:14:11 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b="bX5/piS7"; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2001:4860:4864:20::2f as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-oa1-x2f.google.com with SMTP id 586e51a60fabf-15f97c478a8so262355fac.13; Wed, 08 Feb 2023 14:14:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=QJ5renevzOhfLmniBce04Dfa3D6OqSrg0QDPyUrFEJ8=; b=bX5/piS79juoCoubyj5dIdzV1NodT7rTd/95yHXdpR+DfpytriWufvwiMSx7gMMPP5 sMdfrYTNjfO23upxKsbek26VAIt/gx//FtwqpzsvDw2HkyfSLf+U01u/+m4eyAjT/U+x hMtmVBBGI8hR/D4PBjRIiFks1i0EoyqyG0iQw6gudPiE8Xeb/UauJl80Ue67LfQnHTy9 EQixPwWfAnjDcW8ivQ+8+gA8qQcTlwtRuFRIvIXh7nAx4KLEj2jL3M6dISTtUp6tOlyp 9Skx3lBxKrlSD1QXKRJfv/Envdl+5CBGEPnjyl8mJ6cEap3F5YRrykk2hag0qCnIOn53 AUpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=QJ5renevzOhfLmniBce04Dfa3D6OqSrg0QDPyUrFEJ8=; b=N6/o6XWkhLLNyZXf7ie9ns8aFBR/Dds7MbxeUjYbDfs7sKROaYZfbxwIIIdKDZg34o rLTgVapPSYuO6nKtP4MnZq01R31C8CKnv4hEYyJD4epLFfDK6ll8Cpr1Q587HNK99/Gd Ueai5Q4/4Eg1/OjdL7MqHdos20x2G3pmGu7CMN59l2pmpCdd9k8AThEXBrevDA+4DDQ6 2JxG0TrT9R9EdItd8H8cyDcNcQPbKahA2Zu4f194vRqYXhAVYZcyz16MiqHyxtYvn3Od MmbsSjcovke+KPgQgBMvi0l4XtqBL0Ry2LL2bbWskf/bYWks3r2+uzpBZSO4+vHgQnbm xlIw== X-Gm-Message-State: AO0yUKXSwYfzcM42WBqqqhPoGRL6quJGiSAOAM21zl51H/2SEjSt0Lre mq7Anpx0L7ruaherk/2XHw5UqRRdDJWBycxUbVp8vA/2 X-Google-Smtp-Source: AK7set8+q+miB61WrmwySgRyaZXJN9GEIoY9+vl4x9R3K4aWzzAecT3Cof8sUwFBcCescGfNCnA0bImviCJhQIO3Szw= X-Received: by 2002:a05:6870:1257:b0:16a:9099:3868 with SMTP id 23-20020a056870125700b0016a90993868mr406490oao.81.1675894450145; Wed, 08 Feb 2023 14:14:10 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Received: by 2002:ac9:6c92:0:b0:4b3:d953:974c with HTTP; Wed, 8 Feb 2023 14:14:09 -0800 (PST) In-Reply-To: <202302072011.317KBmsS036242@gitrepo.freebsd.org> References: <202302072011.317KBmsS036242@gitrepo.freebsd.org> From: Mateusz Guzik Date: Wed, 8 Feb 2023 23:14:09 +0100 Message-ID: Subject: Re: git: 27202b98dc2d - main - jail: Use atomic(9) instead of CK atomics To: Mark Johnston Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-3.26 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_HAM_SHORT(-0.26)[-0.256]; R_SPF_ALLOW(-0.20)[+ip6:2001:4860:4000::/36:c]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2001:4860:4864::/48, country:US]; RCVD_IN_DNSWL_NONE(0.00)[2001:4860:4864:20::2f:from]; FROM_EQ_ENVFROM(0.00)[]; ARC_NA(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; MID_RHS_MATCH_FROMTLD(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FROM_HAS_DN(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-Rspamd-Queue-Id: 4PBvRR3JMGz3tFl X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N On 2/7/23, Mark Johnston wrote: > The branch main has been updated by markj: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=27202b98dc2d3361f4b5395a93488fc60c3f9af9 > > commit 27202b98dc2d3361f4b5395a93488fc60c3f9af9 > Author: Mark Johnston > AuthorDate: 2023-02-07 19:35:44 +0000 > Commit: Mark Johnston > CommitDate: 2023-02-07 20:10:24 +0000 > > jail: Use atomic(9) instead of CK atomics > > There's no reason to use one over the other here, let's prefer the > interface that's used elsewhere in the kernel. > > No functional change intended. > > Reviewed by: mjg > Sponsored by: Klara, Inc. > Differential Revision: https://reviews.freebsd.org/D38360 > --- > sys/kern/kern_jail.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c > index 4c1e3ff40c58..75be0df85448 100644 > --- a/sys/kern/kern_jail.c > +++ b/sys/kern/kern_jail.c > @@ -771,7 +771,7 @@ prison_ip_set(struct prison *pr, const pr_family_t af, > struct prison_ip *new) > mem = &pr->pr_addrs[af]; > > old = *mem; > - ck_pr_store_ptr(mem, new); > + atomic_store_ptr(mem, new); > prison_ip_free(old); > } > > @@ -897,7 +897,7 @@ prison_ip_check(const struct prison *pr, const > pr_family_t af, > in_epoch(net_epoch_preempt) || > sx_xlocked(&allprison_lock)); > > - pip = ck_pr_load_ptr(&pr->pr_addrs[af]); > + pip = atomic_load_ptr(&pr->pr_addrs[af]); > if (__predict_false(pip == NULL)) > return (EAFNOSUPPORT); > > so apparently this breaks kasan builds: /usr/src/sys/kern/kern_jail.c:900:8: error: cast from 'struct prison_ip *const *' to 'volatile unsigned long *' drops const qualifier [-Werror,-Wcast-qual] pip = atomic_load_ptr(&pr->pr_addrs[af]); ^ /usr/src/sys/sys/atomic_san.h:272:64: note: expanded from macro 'atomic_load_ptr' __retptr = (void *)ATOMIC_SAN(load_ptr)((volatile uintptr_t *)(x)); \ ^ /usr/src/sys/kern/kern_jail.c:900:8: error: cannot assign to variable '__retptr' with const-qualified type 'typeof (*&pr->pr_addrs[af])' (aka 'struct prison_ip *const') pip = atomic_load_ptr(&pr->pr_addrs[af]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/src/sys/sys/atomic_san.h:272:11: note: expanded from macro 'atomic_load_ptr' __retptr = (void *)ATOMIC_SAN(load_ptr)((volatile uintptr_t *)(x)); \ ~~~~~~~~ ^ /usr/src/sys/kern/kern_jail.c:900:8: note: variable '__retptr' declared const here pip = atomic_load_ptr(&pr->pr_addrs[af]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/src/sys/sys/atomic_san.h:271:15: note: expanded from macro 'atomic_load_ptr' __typeof(*x) __retptr; \ ~~~~~~~~~~~~~^~~~~~~~ 2 errors generated. -- Mateusz Guzik From nobody Wed Feb 8 22:26:25 2023 X-Original-To: dev-commits-src-main@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 4PBvjy4p2rz3n20m; Wed, 8 Feb 2023 22:26:46 +0000 (UTC) (envelope-from mhorne@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBvjy4G6fz3wrR; Wed, 8 Feb 2023 22:26:46 +0000 (UTC) (envelope-from mhorne@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675895206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=poIoXZ2e05sKkODcaDmGzcW4kZ7LMtg+Wv/bl5mb3Ic=; b=X09zqpgxTnEW+dq5hCRc5/kSs0vTLEaI3o2Hs+oXpGJZTEgBF5MxPvcaNufWt2RP36/oW0 OrnBWr6mDoek9iBcvNEE2EtXcD3EwE8I5HE3Gq/9GO3igKdwyqY3yoNi7Nh80xUpRJ7cRy Mjmz7J+rCZvkcgIc1Oz9HcPa/sAf1SwbXzcz7tTQNc+f8r9mZqfqKQF5i2kbwpFHWjNdtQ F7cbFWFlKJZ+9vYZNY5LXX4rcFOkhLM0VyNx3wN0OCiRNhbuVP6pl1TjiLOmLLh/C3SsrQ cg8r9SQ4L/T4agW7DDGZXCbjTfmRA4G0tx2bjsGVxhyJufmLO0QTN67KxisGLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675895206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=poIoXZ2e05sKkODcaDmGzcW4kZ7LMtg+Wv/bl5mb3Ic=; b=TWaGtjBi+VhikW0lsQlHrUAIqtH6g8Gvw+KRouGW7OoXRzXGgkTQ0ZAJbiWTnv2no3XK+A l4JBu4nxB7rd94t7irVNVoKsBSVFnE4wnOBIa43bfuTEHFprWrORNY72g6JaUqesNiJdYk w3pOOAm2RJBmpXPYI6R+7FhRiW9NfBkIWEdwWYHXo+MDYpiaFwznHQhaI6BptrJZCXn9P5 o5SEaAZg8V/ACg5WVM7i9eBzBIHRTZPBvoefDcdIdL+jA7WAANiVnQZ3ug16oi87Fym/WT 20ge6379uXp3tPZGcgkOc3aKLgZepoiVflYEl69egMdCxbe6p9CkEufaoQYcbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675895206; a=rsa-sha256; cv=none; b=O/PgPyjNCd2wRKqGMhxvQ8dwYuGrNPMJoT5N67fKaaE+2hs4Fy2TXj7JWa8BoImay0XczL eEG0uNThWCq130HfpPh47/CR4bDfDO8me/RjdhymdUakxbOGII9zREhvW1Ep71/jOPcdUj sbzTDvf7AFS2jSfBtokqHotmfLuCeqrvyqwtwRy9QH28eSJubLhN3+3LbmtxJkfDND+L4Q cYbL1g+5siiWa5lKi5IrAHoeND+FLN60auZq/xHZ1krWuJDw6/tjQZlc+2LKucJJtTg4Kr t7M5181Jr63U7MtVI5y2gJ5YonQILtBxSUw4KiGqBoZX3jJDM6cTeA83yFFiHQ== Received: from [192.168.1.151] (host-173-212-76-127.public.eastlink.ca [173.212.76.127]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: mhorne) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PBvjy1Shwz15LR; Wed, 8 Feb 2023 22:26:45 +0000 (UTC) (envelope-from mhorne@freebsd.org) Message-ID: <5cfc2de7-4b08-283b-b9fc-c990f236ff3e@freebsd.org> Date: Wed, 8 Feb 2023 18:26:25 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: git: e6cf1a0826c9 - main - physmem: add ram0 pseudo-driver Content-Language: en-CA To: Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" References: <202302082052.318KqOE6052473@gitrepo.freebsd.org> <26339898-C02C-42D4-916A-2B6AD2562B02@freebsd.org> <505D72C8-1F67-46C8-A6EF-39392841FBF5@freebsd.org> From: Mitchell Horne In-Reply-To: <505D72C8-1F67-46C8-A6EF-39392841FBF5@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ThisMailContainsUnwantedMimeParts: N On 2/8/23 17:13, Jessica Clarke wrote: > On 8 Feb 2023, at 21:06, Mitchell Horne wrote: >> >> On 2/8/23 16:55, Jessica Clarke wrote: >>> On 8 Feb 2023, at 20:52, Mitchell Horne wrote: >>>> >>>> The branch main has been updated by mhorne: >>>> >>>> URL: https://cgit.FreeBSD.org/src/commit/?id=e6cf1a0826c9d7f229e41224ec7b783501636528 >>>> >>>> commit e6cf1a0826c9d7f229e41224ec7b783501636528 >>>> Author: Mitchell Horne >>>> AuthorDate: 2021-05-27 14:27:40 +0000 >>>> Commit: Mitchell Horne >>>> CommitDate: 2023-02-08 20:50:46 +0000 >>>> >>>> physmem: add ram0 pseudo-driver >>>> >>>> Its purpose is to reserve all I/O space belonging to physical memory >>> If it’s RAM then it’s not I/O, and if it’s I/O then it’s not RAM? >>> Jess >> >> Yes, they are distinct. And yet, they share an address space. So this is to assist in the SYS_RES_MEMORY resource bookkeeping. Did I misuse some terminology, or what is your actual question? > > The commit message just doesn’t make sense to me, it switches between > talking about I/O space and memory (same applies to the comments in the > code). Is this reserving I/O parts of the address space so > SYS_RES_MEMORY doesn’t include them (which doesn’t *belong* to physical > memory, just resides in the same address space), reserving > FDT/ACPI-reserved actual RAM memory regions so SYS_RES_MEMORY doesn’t > include them (which isn’t I/O space), or both? Currently it reads to me > as describing part of one and part of the other, but neither fully. > > Jess Okay sure, perhaps the term I am searching for but missing is "physical address space". We know that some regions of physical address space correspond to RAM/memory/"physical memory". Other portions of the address space correspond to memory-mapped I/O regions belonging to one or more devices. Device drivers allocate SYS_RES_MEMORY resources using e.g. bus_alloc_resource(). They do this to declare ownership of the particular range of physical address space that they will use for I/O. If it's not RF_SHAREABLE, then it can't be handed out again. Memory/RAM is handed out by a different set of APIs, and therefore never touches SYS_RES_MEMORY resources. However, it is true that the (tangible) physical memory in the system maps to a set of regions in the (abstract) physical address space. This is the sense in which I used the word "belong". The purpose of the change is to reserve, from the system-wide SYS_RES_MEMORY rman, those portions of the physical address space that correspond to real physical memory/RAM. > >>>> from nexus, preventing it from being handed out by bus_alloc_resource() >>>> to callers such as xenpv_alloc_physmem(), which looks for the first >>>> available free range it can get. This mimics the existing pseudo-driver >>>> on x86. >>>> >>>> If needed, the device can be disabled with hint.ram.0.disabled="1" in >>>> /boot/device.hints. >>>> >>>> Reviewed by: imp >>>> MFC after: 1 month >>>> Differential Revision: https://reviews.freebsd.org/D32343 >>>> --- >>>> sys/kern/subr_physmem.c | 100 +++++++++++++++++++++++++++++++++++++++++++++++- >>>> 1 file changed, 99 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/sys/kern/subr_physmem.c b/sys/kern/subr_physmem.c >>>> index 498ad2440f40..bb6af5a580aa 100644 >>>> --- a/sys/kern/subr_physmem.c >>>> +++ b/sys/kern/subr_physmem.c >>>> @@ -40,7 +40,9 @@ __FBSDID("$FreeBSD$"); >>>> >>>> #include >>>> #include >>>> +#include >>>> #include >>>> +#include >>>> #include >>>> >>>> #ifdef _KERNEL >>>> @@ -49,7 +51,9 @@ __FBSDID("$FreeBSD$"); >>>> #include >>>> #include >>>> #include >>>> + >>>> #include >>>> +#include >>>> #else >>>> #include >>>> #include >>>> @@ -524,7 +528,6 @@ physmem_init_kernel_globals(void) >>>> panic("No memory entries in phys_avail"); >>>> Maxmem = atop(phys_avail[nextidx - 1]); >>>> } >>>> -#endif >>>> >>>> #ifdef DDB >>>> #include >>>> @@ -536,3 +539,98 @@ DB_SHOW_COMMAND_FLAGS(physmem, db_show_physmem, DB_CMD_MEMSAFE) >>>> } >>>> >>>> #endif /* DDB */ >>>> + >>>> +/* >>>> + * ram pseudo driver - this reserves I/O space resources corresponding to physical >>>> + * memory regions. >>>> + */ >>>> + >>>> +static void >>>> +ram_identify(driver_t *driver, device_t parent) >>>> +{ >>>> + >>>> + if (resource_disabled("ram", 0)) >>>> + return; >>>> + if (BUS_ADD_CHILD(parent, 0, "ram", 0) == NULL) >>>> + panic("ram_identify"); >>>> +} >>>> + >>>> +static int >>>> +ram_probe(device_t dev) >>>> +{ >>>> + >>>> + device_quiet(dev); >>>> + device_set_desc(dev, "System RAM"); >>>> + return (BUS_PROBE_SPECIFIC); >>>> +} >>>> + >>>> +static int >>>> +ram_attach(device_t dev) >>>> +{ >>>> + vm_paddr_t avail_list[PHYS_AVAIL_COUNT]; >>>> + rman_res_t start, end; >>>> + struct region *hwp; >>>> + int rid, i; >>>> + >>>> + rid = 0; >>>> + >>>> + /* Get the avail list. */ >>>> + bzero(avail_list, sizeof(avail_list)); >>>> + regions_to_avail(avail_list, EXFLAG_NOALLOC | EXFLAG_NODUMP, >>>> + PHYS_AVAIL_COUNT, 0, NULL, NULL); >>>> + >>>> + /* Reserve all memory regions. */ >>>> + for (i = 0; avail_list[i + 1] != 0; i += 2) { >>>> + start = avail_list[i]; >>>> + end = avail_list[i + 1]; >>>> + >>>> + if (bootverbose) >>>> + device_printf(dev, >>>> + "reserving memory region: %jx-%jx\n", >>>> + (uintmax_t)start, (uintmax_t)end); >>>> + >>>> + if (bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, start, end, >>>> + end - start, 0) == NULL) >>>> + panic("ram_attach: resource %d failed to attach", rid); >>>> + rid++; >>>> + } >>>> + >>>> + /* Now, reserve the excluded memory regions. */ >>>> + for (i = 0, hwp = exregions; i < excnt; i++, hwp++) { >>>> + start = hwp->addr; >>>> + end = hwp->addr + hwp->size; >>>> + >>>> + if (bootverbose) >>>> + device_printf(dev, >>>> + "reserving excluded region: %jx-%jx\n", >>>> + (uintmax_t)start, (uintmax_t)(end - 1)); >>>> + >>>> + /* >>>> + * Best-effort attempt to reserve the range. This may fail, as >>>> + * sometimes the excluded ranges provided by the device tree >>>> + * will cover or overlap some I/O range. >>>> + */ >>>> + if (bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, start, end, >>>> + end - start, 0) == NULL) { >>>> + if (bootverbose) >>>> + device_printf(dev, "failed to reserve region\n"); >>>> + continue; >>>> + } >>>> + rid++; >>>> + } >>>> + >>>> + return (0); >>>> +} >>>> + >>>> +static device_method_t ram_methods[] = { >>>> + /* Device interface */ >>>> + DEVMETHOD(device_identify, ram_identify), >>>> + DEVMETHOD(device_probe, ram_probe), >>>> + DEVMETHOD(device_attach, ram_attach), >>>> + >>>> + DEVMETHOD_END >>>> +}; >>>> + >>>> +DEFINE_CLASS_0(ram, ram_driver, ram_methods, /* no softc */ 1); >>>> +DRIVER_MODULE(ram, nexus, ram_driver, 0, 0); >>>> +#endif /* _KERNEL */ > From nobody Wed Feb 8 22:27:13 2023 X-Original-To: dev-commits-src-main@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 4PBvkT3Qcnz3n1xX; Wed, 8 Feb 2023 22:27: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBvkT2nCtz3x5r; Wed, 8 Feb 2023 22:27:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675895233; 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=AoU3VOpj1nqojdMErEx637vQXgwmJMdocf/dXJ7YUN4=; b=QjHstmD4t3AOmymZDIEX8AU51az0kClu4ardjDZP9CmuAM2msL1qbIPWSaOQUVFvbGyflB pnb+3/aaME0eaP5N/YnYRYbz9xKqiDu6iMKbMO9vaEz1XWg6NUoxHowtutJQ1TDXzlxl70 2CmvKBqGHrZC9ngP4Bg2Cs46FE/68xp9kHFDE2Mx5ttnIutUUCnWXfzQN9qCNJp/yirsj+ ezD9EZfqTdu1I4qpcehX4DpPKav8NwtG/EmLrinSZZkkEDWzvzxL1OnmHPMCTm/To9HZF0 R2NuDXpKYcTh1Da70Y23pvPGlIMuzJQhWsCMr2KEnzNMYGrGVJlRfpZ588FYxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675895233; 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=AoU3VOpj1nqojdMErEx637vQXgwmJMdocf/dXJ7YUN4=; b=U78ohExJLGn90zgdHqZfLW0Jehn9lQHaU8U08Dtp3rZgc3tFVVIhwokur+hOBqESeNY0ZK jsCDyY3KPiuDOZi5tCbRmuqmRBJVlePEr8rSxqpB6NG0xZXwfsPkbdbqYglsyksWjy/Dt9 aHzGK4xTRFzC9pJu8f3JDwl3KBWsNDQwM2qJLu+aXcFdfAFJWhESUmgw+4dzV8Msh/pHnd VqDI2T1HqrgOzUfKq2d9Fjl/VrBcM5XYbFlKhc12OhGQD/XGpGknv38pBgy1AL1XH+RwRM P/IMApgXIIR2RUP/ETo/oN9lVK2NQMe72JTEy1n+0XNmUT6OAvvMeoLlOQBPXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675895233; a=rsa-sha256; cv=none; b=PBY3ja9on3cTY2+tEdO/gv/qxzZnw116E3qLMfmuTs9aTJxN8UrHa0OmpgVvEAGKCIfbMs FBXB89hQk9+GUEM5EVpF84HK/SNrwmlaopwQkko/dy4KaRIBCTTKFPR1KV8QlwIBA6uOY3 c4jy9h5bt1Ldd0E7K/1jj1eb1RKy0qGXquyUWQqKbSvNSLI2StWQCeq7+RmHQXID8BAEWi Hz3MUl0NmYvfm7ClzKzLe6wHpV3KlV9EX4l34AijRxjGLhZxN/15DNjgofYwkNqmFAhYRw zhUQJHmuPuga8xTeRpZI84voNxfnYX+wj3Kw1LM7RGJdsxsYEnDp3tC0z28vHw== 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 4PBvkT1qhFz1CtZ; Wed, 8 Feb 2023 22:27:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318MRDYl081982; Wed, 8 Feb 2023 22:27:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318MRDaE081981; Wed, 8 Feb 2023 22:27:13 GMT (envelope-from git) Date: Wed, 8 Feb 2023 22:27:13 GMT Message-Id: <202302082227.318MRDaE081981@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 847967bc4e19 - main - nfscl: Fix interaction between mmap'd and VOP_WRITE file updates List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 847967bc4e198a258b030a5864e64e029e7452e5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=847967bc4e198a258b030a5864e64e029e7452e5 commit 847967bc4e198a258b030a5864e64e029e7452e5 Author: Rick Macklem AuthorDate: 2023-02-08 22:25:01 +0000 Commit: Rick Macklem CommitDate: 2023-02-08 22:25:01 +0000 nfscl: Fix interaction between mmap'd and VOP_WRITE file updates asomers@ found a problem with the NFS client, where a write to an NFS mounted file done via mmap(2) was lost when fspacectl(2) was done before it. This turned out to be caused by clearing the dirty bit on pages when the client was doing commit RPCs, due to the second argument to vfs_busy_pages() being set to 1. Commit RPCs tell the server to commit previously written data to stable storage. However, Commit RPCs do not write data from the client to the server. As such, if the dirty bit on the page has been set by a mmap'd write to an address in the page, it should not be cleared. Clearing it causes the mmap'd write to by lost. This patch fixes the problem by changing the 2nd argument to vfs_busy_pages() to 0 for this case. I doubt this bug has affected many, since it was inherited from the old NFS client and was in 4.3 FreeBSD twenty years ago. Although fspacectl(2) is FreeBSD 14 specific, a write(2) would cause the same failure. Reviewed by: kib Tested by: asomers PR: 269328 MFC after: 1 week --- sys/fs/nfsclient/nfs_clvnops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index eeffce65a7db..3e9cf7e3a475 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -3015,7 +3015,7 @@ again: wcred = bp->b_wcred; else if (wcred != bp->b_wcred) wcred = NOCRED; - vfs_busy_pages(bp, 1); + vfs_busy_pages(bp, 0); BO_LOCK(bo); /* From nobody Wed Feb 8 22:59:33 2023 X-Original-To: dev-commits-src-main@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 4PBwRp04TDz3n5Nk; Wed, 8 Feb 2023 22:59:34 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBwRn6f4kz425J; Wed, 8 Feb 2023 22:59:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675897173; 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=0SJd1GGuB9gR2grmRaljh3+mOVzuzaA8/Gftr8B9au8=; b=SjYo2ioee8gDlxlZxS/KpWOrWlDxXqZp0QeEaO7tT1p3e7ir6bqoy4vyPgDdCXz6Rr6N3a WN9jxWNtXZNgETjDNJ1L/3o9IZhf2VWFgsoKOSODKtIL4hdFarL2ahjMjNN7DO0MjApP2t sEHVEy56S/p7BXVf/aIDMijCtWMdV3JjcVu+79i4jT6hg/bFWJnvULrLKkyKydEgTqQg+q KyruVmE83Bs846Dp6mUkwShtIT+bPs5kIlRofTEYqNmgV8Tcpt7/B1NSeTWHCnouJnjA3r GHVb6yzXxoTdil4XJ4OiA16tAY3IsQcmkszgU1GOHtrNMdoq81U5LeBKeW2Hnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675897173; 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=0SJd1GGuB9gR2grmRaljh3+mOVzuzaA8/Gftr8B9au8=; b=K56jmm8aJd9uNmO1qgNjQomCPYo0aocMWwrmLCFGFepjdhBbG0YrIPODGsv0Kv0sp2S8/p l6FQZ+aN1Zv99SltnaBN6mOPm5fxVVXaHw0g43fwXjbXUMcd0WRxWj/gmwtmpsqkmwfggM 0V2cQyEk2d8dTcJY267S/1FJp2s/M8fUhEFy06GRGRm0TKDjhQKj2lwwaCkuY2GOgZ8u47 IiUydk3dojQYau9yI70HyU5tOBO3PqDbVLNmmWeq/KELt0c35iJgEyJW6UsrlnwlnEqKNR NZSqMBPPFedafAXmnttrCXrDjsEsdjLrup4aEXWsgm1vK9uAzeV3LoT8F90U2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675897173; a=rsa-sha256; cv=none; b=TUwel1D6pcwZaWbgM2GvU9vRnrzgv9CL8HkBZV/0ACR+pBga6Ct2A9KwAJxnliHk/837OG /AmwhsmlSlXz4umFTgJyoMgSyANgfpaTqvxtYpuhv82nyliCGa14FwL9196ILP0T18aXD2 ldMOtDT8RGh9YwDRi6rOtWwcx/+MDLEIJucfPYE7vkLkGzf15aFvdKv2NEKxKHKIhN0XPQ mfVyZMcHDK3Q3Fn/XWb8lrvFX5B5n91YjTbNiFZrVk8yD263KyNM3qnTXBtSITSTYIkDOw sASqTGRB1EQ74aFpTxO0uEghi0w1aco4x4/ykXFwY90nauN+O9DyPWXC2KUf2w== 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 4PBwRn5jCGzFSx; Wed, 8 Feb 2023 22:59:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318MxXG0024069; Wed, 8 Feb 2023 22:59:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318MxXdm024068; Wed, 8 Feb 2023 22:59:33 GMT (envelope-from git) Date: Wed, 8 Feb 2023 22:59:33 GMT Message-Id: <202302082259.318MxXdm024068@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 0dfaefa97547 - main - depend-cleanup.sh: Simplify the logic, and clean bootstrap tools. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 0dfaefa975477cee2ec3155c3e0689ba1fcdde9a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=0dfaefa975477cee2ec3155c3e0689ba1fcdde9a commit 0dfaefa975477cee2ec3155c3e0689ba1fcdde9a Author: Dag-Erling Smørgrav AuthorDate: 2023-02-08 22:58:51 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-08 22:59:13 +0000 depend-cleanup.sh: Simplify the logic, and clean bootstrap tools. * There's no need to check if the file exists before grepping it; if it does not exist, grep will fail, which is what we want. Just redirect the error message to /dev/null. * There's no need to split the .o and .pico cases; the bodies are identical, so combine the conditions. Use a glob to avoid a false negative if one exists but not the other. * Also run depend-cleanup.sh on the bootstrap build tree. This unbreaks the build after 29c5f8bf9a01. Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D38447 --- Makefile.inc1 | 3 +++ tools/build/depend-cleanup.sh | 14 ++------------ 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 2f84d882e966..c5848be438a2 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1062,6 +1062,9 @@ _bootstrap-tools: @echo "--------------------------------------------------------------" @echo ">>> stage 1.2: bootstrap tools" @echo "--------------------------------------------------------------" +.if ${MK_CLEAN} != "yes" + ${_+_}cd ${.CURDIR}; ${BMAKE} _NO_INCLUDE_COMPILERMK=t _cleanobj_fast_depend_hack +.endif ${_+_}cd ${.CURDIR}; ${BMAKE} bootstrap-tools mkdir -p ${WORLDTMP}/usr ${WORLDTMP}/lib/casper ${WORLDTMP}/lib/geom \ ${WORLDTMP}/bin diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index 0d1c5521542c..4739127f396a 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -28,18 +28,8 @@ fi # $3 source extension clean_dep() { - if [ -e "$OBJTOP"/$1/.depend.$2.pico ] && \ - egrep -qw "$2\.$3" "$OBJTOP"/$1/.depend.$2.pico; then \ - echo "Removing stale dependencies and objects for $2.$3"; \ - rm -f \ - "$OBJTOP"/$1/.depend.$2.* \ - "$OBJTOP"/$1/$2.*o \ - "$OBJTOP"/obj-lib32/$1/.depend.$2.* \ - "$OBJTOP"/obj-lib32/$1/$2.*o - fi - if [ -e "$OBJTOP"/$1/.depend.$2.o ] && \ - egrep -qw "$2\.$3" "$OBJTOP"/$1/.depend.$2.o; then \ - echo "Removing stale dependencies and objects for $2.$3"; \ + if egrep -qw "$2\.$3" "$OBJTOP"/$1/.depend.$2.*o 2>/dev/null; then + echo "Removing stale dependencies and objects for $2.$3" rm -f \ "$OBJTOP"/$1/.depend.$2.* \ "$OBJTOP"/$1/$2.*o \ From nobody Wed Feb 8 23:09:31 2023 X-Original-To: dev-commits-src-main@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 4PBwgJ1fG3z3n5ZQ; Wed, 8 Feb 2023 23:09:32 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBwgJ0y5mz43D2; Wed, 8 Feb 2023 23:09:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675897772; 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=8rvGbTKPI1bmDTTcGqpTyqOkLqo+Xkaw2Qf9e07/Tqg=; b=JGStVcqS4edzpxfeVlYJnV+1CuXU4RYxMotDUZg6S5syvvdjwNnkNDjMHeYqTHR82aYLTO FGgRhrS23i7IOPyOAweqoekHil6k0lY4eSNDzB6MJLU12E2AaSOBuBLqkjut8j3pnUhbPS 8bKZ3hmA9gOFGoKtgvwsXJ7PWK0H5qh3DsUGhv9mLCzcbKRTEh/ofQZNE35rzwt8c7FKdX gtqvu0AG6dcwYdaY55FOrPQgJ2rePafS0MJ9tzTZfLuyqs/6BoAmVDTlfvaACN7A+/j/3G M2zIwMHE1yttytcyFcgbL/F426aMAWKwGGOYM+C3RgBvH9R+jkCNVfUUUzP5Nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675897772; 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=8rvGbTKPI1bmDTTcGqpTyqOkLqo+Xkaw2Qf9e07/Tqg=; b=LmPwdknkUgJNQrXkDuViBaKqPi7jAz0wj821Ebuz35YCLvPCtitCYNDTagvr9FhvU0nQYT cTeb9Irprs2vn74xNclEXRvmhe8nkDUjCK5GLZHwvHYV1DItWwnNuj+bfPD2TYUPFyeLjc r8/J8J7eZNbrxsxIcdq5yILg20q5O3vsDDGv+eUkRvWHmdPckRyf1Bg3n4GqOTYparlnBd E2PrZ54i/p1RTsupTD9gExoZen60fmN16OZx2fZIXi1wdjgO9vh5fmwkKnNNvIKwo9LJcU Te6R+MR4orRG0s2FO1UmwrDk28KHanL3/i50H9NhIaDKVvS1GJ9Zp7CCkkpZVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675897772; a=rsa-sha256; cv=none; b=Yd8//43Ph7VuYch/oXn7mhaaYM7jeU5cOkyqw8r/muXoebtI4GIX7Nwxj8Mqe/sgeRzF76 wgVFJ3tUgFtPgiLHsIYg/WwifDGAWGZB+Df0Kng/D3F3GRxh9QGgP+s1TwdaqzD9Ge7dlg /UIGtwruuaKSFqgUIIRIB+Fwe6dra558bito4E5XTlXQeb+ODelDBRJBJU5rV+tdVAoyZT kmVpWzgRO9C1o2cTyX9mxu9K4Z46KHwMlwtBJa+bUrE3PvU+t6J5SRmiciuYQANRRYoa7Z 5Og33Xs3zCJVIVtlLCgqqmYaIkWzX3nVB33Kp0WeYhoQXhASI0IAil+XQFjavg== 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 4PBwgH6tQgzFdj; Wed, 8 Feb 2023 23:09:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318N9VtJ039394; Wed, 8 Feb 2023 23:09:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318N9Vv1039393; Wed, 8 Feb 2023 23:09:31 GMT (envelope-from git) Date: Wed, 8 Feb 2023 23:09:31 GMT Message-Id: <202302082309.318N9Vv1039393@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: 6a70e0b4cdc6 - main - heimdal: Resolve hdb_free_entry() SIGSEGV/SIGILL List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6a70e0b4cdc606931555cdc59dc6c8d4a3ab4e3e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=6a70e0b4cdc606931555cdc59dc6c8d4a3ab4e3e commit 6a70e0b4cdc606931555cdc59dc6c8d4a3ab4e3e Author: Cy Schubert AuthorDate: 2023-02-07 15:46:59 +0000 Commit: Cy Schubert CommitDate: 2023-02-08 23:08:54 +0000 heimdal: Resolve hdb_free_entry() SIGSEGV/SIGILL When the client sends kadmind a create principal (kadm_create) request kadm_s_create_principal() returns an error before zeroing out ent (an hdb entry structure wrapper -- hdb_entry_ex), resulting in a NULL reference. Fix obtained from upstream commit 35ea4955a. PR: 268059 Reported by: Robert Morris Obtained from: Heimdal commit 35ea4955a MFC after: 3 days --- crypto/heimdal/lib/kadm5/create_s.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/heimdal/lib/kadm5/create_s.c b/crypto/heimdal/lib/kadm5/create_s.c index 04312c024ed3..1033ca103239 100644 --- a/crypto/heimdal/lib/kadm5/create_s.c +++ b/crypto/heimdal/lib/kadm5/create_s.c @@ -65,6 +65,7 @@ create_principal(kadm5_server_context *context, kadm5_principal_ent_rec defrec, *defent; uint32_t def_mask; + memset(ent, 0, sizeof(*ent)); if((mask & required_mask) != required_mask) return KADM5_BAD_MASK; if((mask & forbidden_mask)) @@ -72,7 +73,6 @@ create_principal(kadm5_server_context *context, if((mask & KADM5_POLICY) && strcmp(princ->policy, "default")) /* XXX no real policies for now */ return KADM5_UNK_POLICY; - memset(ent, 0, sizeof(*ent)); ret = krb5_copy_principal(context->context, princ->principal, &ent->entry.principal); if(ret) From nobody Wed Feb 8 23:33:55 2023 X-Original-To: dev-commits-src-main@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 4PBxCj49SHz3nPqD; Wed, 8 Feb 2023 23:34:09 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-vk1-f182.google.com (mail-vk1-f182.google.com [209.85.221.182]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBxCh2PsLz45fj; Wed, 8 Feb 2023 23:34:08 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.221.182 as permitted sender) smtp.mailfrom=asomers@gmail.com; dmarc=none Received: by mail-vk1-f182.google.com with SMTP id o28so67018vkf.12; Wed, 08 Feb 2023 15:34:08 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=irj6q9elfIkmaFPFTqGbXTV4wDmqaDsLgThjJgKnPMQ=; b=EtgYO3wjL2qSaZ7kt2U0N3ch4ZH0AHRKVN/OKQGjwNmI8ISAtd6eMghpiso2pmu5Rr dvSyzB+OXnJqfE3Wq8rJCgdk/MrrX9UCTZe3cpwl4WUfUtyz85LBU/RbdYvuCs0wph2Y Ll23BoY41d3XjJhdFQGwlUZ6RWFiCpZceGUC8+5TAxDSypieu1P2t5IllDSdPNWzpZaH kITotHqEU1varE3OwHTPL4/T6t3UA5HGNiQ1/YiKr73lRyJgXcy/tQett8vRl2h8j9kJ CiyFz5vi+1ecZYaAlgOHxC2LN7WuAueIxTLtMnLegmkDTFzjlfF6eDmO5BmV0E5zekVu IfMQ== X-Gm-Message-State: AO0yUKUXNId23/9ljPU+ZPOTBhYpn7BQsKLGAgldsHLgyhcFtRMTJ8ue hJEE1DmpdGJDrQ5N4IyR0Hg4TJ8Lv1k1tgLfB9/wy8vcF44= X-Google-Smtp-Source: AK7set/HGsOtLXYp+VyfMHfKauFBrwM8cQLkJvocexzDDkzrwM9wBkdbPMYGTCSwVuaRewzfTVB3n9rOVdfqRN0a7eE= X-Received: by 2002:a1f:2bd0:0:b0:3e8:a035:4860 with SMTP id r199-20020a1f2bd0000000b003e8a0354860mr2300870vkr.7.1675899246830; Wed, 08 Feb 2023 15:34:06 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202202022128.212LSomS059974@gitrepo.freebsd.org> In-Reply-To: <202202022128.212LSomS059974@gitrepo.freebsd.org> From: Alan Somers Date: Wed, 8 Feb 2023 16:33:55 -0700 Message-ID: Subject: Re: git: 356deeb2e7f6 - main - kyua/qemu: When running in qemu, don't teset sendfile To: Warner Losh Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-3.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.998]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; RCVD_IN_DNSWL_NONE(0.00)[209.85.221.182:from]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.221.182:from]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; DMARC_NA(0.00)[freebsd.org]; FROM_HAS_DN(0.00)[]; FREEFALL_USER(0.00)[asomers]; ARC_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4PBxCh2PsLz45fj X-Spamd-Bar: -- X-ThisMailContainsUnwantedMimeParts: N On Wed, Feb 2, 2022 at 2:28 PM Warner Losh wrote: > > The branch main has been updated by imp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=356deeb2e7f64c5b3fff8e28f4b4fcc8b9cbf7bc > > commit 356deeb2e7f64c5b3fff8e28f4b4fcc8b9cbf7bc > Author: Warner Losh > AuthorDate: 2022-02-02 21:27:51 +0000 > Commit: Warner Losh > CommitDate: 2022-02-02 21:27:51 +0000 > > kyua/qemu: When running in qemu, don't teset sendfile > > qemu's bsd-user doesn't implement sendfile, so just skip those tests > that use it. > > Sponsored by: Netflix > --- > lib/libc/tests/sys/sendfile_test.c | 54 ++++++++++++++++++++++++++++++++++++++ > tests/sys/kern/sendfile_test.sh | 12 +++++++++ > 2 files changed, 66 insertions(+) Should you also check for qemu in tests/sys/fs/fusefs/read.cc ? There are also some test cases there that use sendfile. From nobody Wed Feb 8 23:34:16 2023 X-Original-To: dev-commits-src-main@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 4PBxCr3SDPz3nPY1; Wed, 8 Feb 2023 23:34: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBxCr2LVCz45y8; Wed, 8 Feb 2023 23:34:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675899256; 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=NITqjLnKfZKjxGqNNVEhEYaqrorIQB23PhTZXmAF9Dg=; b=ZU11iL3Cj8ZWvPvsCb1Jkgm+Ozvhw4fg06QQw0DorzrIC/K8+40h/D77U4AN9Z2YwChQJV dOzzAIrLB9r9VbJSUBhkIoLhc1wmizyw3VXy+6A9F5/r8t/lyWFpw2pBTVrMzk/DR8kgrX GSTXmGC8OT5i1Mzh8VA59wOrOlg/zNRDgLInohow4M+ifbR3Wl+9rA+nJJuLkdfp34QRS9 SNy9Zc1vV/RYW+jesRuGqY0/MJqcF2QNYyJh1Y3u1qr3cISS+lRHqVMs0l0IaMDAnteNZr fZ0IYxf97ICuokbKlx8lKt1zFrcxmV0OnVHXwE0Z5tV0SOiFqfZbtmEj+RdL9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675899256; 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=NITqjLnKfZKjxGqNNVEhEYaqrorIQB23PhTZXmAF9Dg=; b=GEzv0Wu5wLmZ2eWRKTLXPjTMP/IiizkK3b67righIN6fvlLbZymqNVXU30rO11hReDzsAC ItQh0qlGyyH4r5Tck4BLKFIscmL1tbXNAgPJ7gIhZZ/QNJF1ghwl9sUWsDFlFDekLkYtaC Zcc6EMqElFCMkF7L80G/1yMKp9lpwKnvDhG2Fny0OLBZ1/4dzG5bnGckK/UC0V1hicg1cs XOhyaVqGjNBffGYxBEqvDcB3hCcXo1y8UHpnLLqzp8+uz4wWFP/ORCVugYmcOgft0wLfcd Sp4N0+hKVI5zcsJRV9DHU6b0r85aUjH6PRCr+jPElqb+Vh5fXXlENBGlOliFpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675899256; a=rsa-sha256; cv=none; b=a2a898PNvsHSu6Yq6NXg2/P46ixW6Mr3ch5cDC2cauMwb276V2gatYyP8gxV+CEIyl5RxU uNBCB31ll2gRyAURPmrbD41HKN67VlzRHvmCutZL5Ym+f7DIwa8m6Maf4B3jB3QhQaKJNL t5TwY71I8uzVNnj2j6FT+pmQrnrcLGbk23Pitq+mJgDGFRWEki1GJESWn/AN1HGPKBni6F YTM7i1Bi3NuwzS5TUIaJ6lMf1wJuo2aw9aUjyEU1qkdYzdyzTUKpQ0Mtza3KWi71LW4YCB /7iSKq3kQpzHGpx/ToahCUwr8fkmE+XLZ05E8Uwq+ucWWS6JrXk5SIMYZ9wHaQ== 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 4PBxCr1KDnzG7p; Wed, 8 Feb 2023 23:34:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 318NYGK6081477; Wed, 8 Feb 2023 23:34:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 318NYGF8081476; Wed, 8 Feb 2023 23:34:16 GMT (envelope-from git) Date: Wed, 8 Feb 2023 23:34:16 GMT Message-Id: <202302082334.318NYGF8081476@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 1aa9a35f6361 - main - ssh: fix SIZEOF_TIME_T #define on i386 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 1aa9a35f6361cc898e2323e1f2823771eb4161da Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=1aa9a35f6361cc898e2323e1f2823771eb4161da commit 1aa9a35f6361cc898e2323e1f2823771eb4161da Author: Ed Maste AuthorDate: 2023-02-08 18:31:44 +0000 Commit: Ed Maste CommitDate: 2023-02-08 23:34:09 +0000 ssh: fix SIZEOF_TIME_T #define on i386 Reported by: imp Reviewed by: imp MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38443 --- crypto/openssh/config.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crypto/openssh/config.h b/crypto/openssh/config.h index 582c8b09a9d7..2c576da3a38c 100644 --- a/crypto/openssh/config.h +++ b/crypto/openssh/config.h @@ -1941,7 +1941,11 @@ #define SIZEOF_SHORT_INT 2 /* The size of `time_t', as computed by sizeof. */ +#ifdef __i386__ +#define SIZEOF_TIME_T 4 +#else #define SIZEOF_TIME_T 8 +#endif /* Define as const if snprintf() can declare const char *fmt */ #define SNPRINTF_CONST const From nobody Wed Feb 8 23:36:25 2023 X-Original-To: dev-commits-src-main@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 4PBxGZ0xPXz3nPkx for ; Wed, 8 Feb 2023 23:36:38 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBxGY5VRfz46Jq for ; Wed, 8 Feb 2023 23:36:37 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x530.google.com with SMTP id eq11so596948edb.6 for ; Wed, 08 Feb 2023 15:36:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=n/SJbkOmg+c2l8g1a++ljLelauc7PnGyaYu0rOQlkp0=; b=xueL4pcEqeHaM9DPpXjegqWpQ2y5XRa1t3dqPWZszu6rSiO5l24GWY+h54xbApmgbS +YP7v2pGWmbRuLa1HNh/oCOBwuSz+qT5Qki/kqrX+d1XtnbqXVwYOQcvQEqEij17ksmM doWZjPlN1Gcp+Zvm97POy9NXh3y9Fc1ifVYDvSV59nrRrFTgExNvHs4Quf3SuUihZGlX ahgMrCqSSTm47KMY7Nm6+lusHh12W+O/HHGdsfLEzPieq5FvQFT2zrI88Ll8GcYbN0Gc lu5VaPiuONAge+i8SS8+7/MgKKdMOiAIvcBP5yjcLFfgQv7JP+uOLNrkexa3lEsyuPJY ZvWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=n/SJbkOmg+c2l8g1a++ljLelauc7PnGyaYu0rOQlkp0=; b=S50segU6jckChBRANq41B8Vu2yQZd1yi1DAX58i9mxjazXSWG848PDD8kRcZrIwA1F Vry87rW1gIeeQjBhORai1wCbrS20CXz+KfUeBGjl5bly9RryLhKuAcmHQQ73K2/R3TNK mkU++hP6O2KNZW4DTXN7IUIOQI4P1Alli/k2WMNhZUWS/UZkFkbPP21UT3/xUDIzprak hz3YAXucSD1Tam3FcqJfPi3Ov/YjIEQo9XElT/HD7iMWyfkcSLwmtEe4fkKL5kob78vH fuOYc4kv9tdXcToPn/LVPEvA53sr6d4zuRFU4XtNrD1QWeyRs7HbMUhSIud6f+jIU+DB 3fnQ== X-Gm-Message-State: AO0yUKV3KvhXKj7VhU1hH1+TZnXV4WkKIpXk3rn9CAIBstXh1aGnSipT qB/vut4l5CMWExoUcq1AuxAcJRQpWfd4dyQkJV45Kw== X-Google-Smtp-Source: AK7set8H5APbaieJjNmu3YLPDQ+m5Xb+RLvPWQ6B2Dpb7Bz6U7WJO9CfI3+jTSc4SVMhDf7uLYDyVwPMouhnQ0I60mM= X-Received: by 2002:a50:f687:0:b0:4ab:15c4:c417 with SMTP id d7-20020a50f687000000b004ab15c4c417mr782211edn.81.1675899396432; Wed, 08 Feb 2023 15:36:36 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202202022128.212LSomS059974@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Wed, 8 Feb 2023 16:36:25 -0700 Message-ID: Subject: Re: git: 356deeb2e7f6 - main - kyua/qemu: When running in qemu, don't teset sendfile To: Alan Somers Cc: Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="00000000000034411e05f438bc9f" X-Rspamd-Queue-Id: 4PBxGY5VRfz46Jq X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --00000000000034411e05f438bc9f Content-Type: text/plain; charset="UTF-8" On Wed, Feb 8, 2023 at 4:34 PM Alan Somers wrote: > On Wed, Feb 2, 2022 at 2:28 PM Warner Losh wrote: > > > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=356deeb2e7f64c5b3fff8e28f4b4fcc8b9cbf7bc > > > > commit 356deeb2e7f64c5b3fff8e28f4b4fcc8b9cbf7bc > > Author: Warner Losh > > AuthorDate: 2022-02-02 21:27:51 +0000 > > Commit: Warner Losh > > CommitDate: 2022-02-02 21:27:51 +0000 > > > > kyua/qemu: When running in qemu, don't teset sendfile > > > > qemu's bsd-user doesn't implement sendfile, so just skip those tests > > that use it. > > > > Sponsored by: Netflix > > --- > > lib/libc/tests/sys/sendfile_test.c | 54 > ++++++++++++++++++++++++++++++++++++++ > > tests/sys/kern/sendfile_test.sh | 12 +++++++++ > > 2 files changed, 66 insertions(+) > > Should you also check for qemu in tests/sys/fs/fusefs/read.cc ? There > are also some test cases there that use sendfile. > Likely a good idea... It will be a while, though, until I get back to this... So if somebody else gets there first... Warner --00000000000034411e05f438bc9f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


--00000000000034411e05f438bc9f-- From nobody Thu Feb 9 00:30:36 2023 X-Original-To: dev-commits-src-main@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 4PBySr5s4cz3nWgb; Thu, 9 Feb 2023 00:30:36 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBySr2bRXz4Ghj; Thu, 9 Feb 2023 00:30:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675902636; 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=ZWmXOC6K7S7lkVBIjRqzxVA8lOoJdJ9Q9oahtB/6cCw=; b=V6TrjssExn5jI9wQm4Skbbra3Ad2AxUTQFhwNKI564Fjc1PzwlWRLKkmCLsCyC/Pw5fn6A y+XkvZ1DB3rsiPRtwwjoixTM413O/irk3Y30kaxv/bb7+SM2UF1gjlnnOxxINY6ujPrJ3d nh4fEvbSW9H55kK9Ak4OpFHKrcDPlmj2TTuyfBpRUxHMl9zuX4waQN+b8B6DRoqM5D/RD7 yusdIdYOsBR7+kK/SxYUHhWp/F9tiVR6fR1rcyZg7Yas9Fz2xiQw2Cxnp/mKbqKu0EVZwI ZGOhiAQfJQNWAvgy5nJR4M3RSATnyOY1PPlg+35oZvR6ElgT0/ruc/ah7uvxyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675902636; 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=ZWmXOC6K7S7lkVBIjRqzxVA8lOoJdJ9Q9oahtB/6cCw=; b=F+bDnBV7xF9AVlCxmPTe5S0H4AUL0E+OX7Az3CJz/BzJHkbFftp0vjEjdMq8HwLO9+OIHE euSIso8V1qSZnPpCxz7i1235ea+m0bpFLHhX4MEAwVOa8rk57rH4j9fJ8+Dq8Kk63HyH0E X8wzBujkgLm5cmC1MFcT2gqYFXlSGmzKFOPb6mj31p1eDbycDv4FK0OHDihQjjYmBuMhFl d5DAwmZ3A5dwZGQDfUAnNKdY6fTjduZ5ueyqBdiv4a01inOTU9f0ru+7m4nGPCNjqMzU1E pZhGFFgtqyYskzT7uZ3O8MgciGZjr3QTwb0ymepoVIHhepqyQ9G+s/Lq4AZ0yA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675902636; a=rsa-sha256; cv=none; b=FFiqS3e3GtNtmVzYhKxSxQPw0+KuSBDhjDAOo51B+Z4CjC8KCmFCBqJPyONLaGSZodzYOz Ul92P+n2Y5gdo6ifedmNmwtDTWqZGKhZ88U/IVCiVEhUoKLIkycOVBo88dQdBTiM3OMZiD 6W5crMkNNYJyMU8hC4/d2BkzJsrHWx/fbw9IApM87CIpnrb8PuYEB4HAKf+mY2e3tR4rjX qawV2o8VtrqXWG2mcUrIR7c8D4PnAI0tLEpTMn8Qz5WSmMvv+piWJnNlnJhcUaG4QdT9cO cdw6kxdgusmBOWQbjozNGhQLTFiErIt2SqSwyc7kNArO36Dy6yWp5oWSgcpK9Q== 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 4PBySr1KgFzHgk; Thu, 9 Feb 2023 00:30:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3190Ua9K062085; Thu, 9 Feb 2023 00:30:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3190Uao3062084; Thu, 9 Feb 2023 00:30:36 GMT (envelope-from git) Date: Thu, 9 Feb 2023 00:30:36 GMT Message-Id: <202302090030.3190Uao3062084@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: d36fbdb08ff5 - main - e1000: Remove redundant disable_ulp for ich8lan List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d36fbdb08ff567393a698aaf16f726275901ec96 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kbowling (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=d36fbdb08ff567393a698aaf16f726275901ec96 commit d36fbdb08ff567393a698aaf16f726275901ec96 Author: Kevin Bowling AuthorDate: 2023-02-08 23:17:03 +0000 Commit: Kevin Bowling CommitDate: 2023-02-09 00:24:28 +0000 e1000: Remove redundant disable_ulp for ich8lan This call only makes sense for ich8lan, and the shared code does it in e1000_setup_init_funcs() above this deletion. Obtained from: DPDK MFC after: 2 weeks Sponsored by: BBOX.io Pull Request: https://github.com/freebsd/freebsd-src/pull/539 --- sys/dev/e1000/e1000_ich8lan.c | 10 +++++----- sys/dev/e1000/if_em.c | 3 --- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/sys/dev/e1000/e1000_ich8lan.c b/sys/dev/e1000/e1000_ich8lan.c index 3f3e2307f83f..9c640e7b9667 100644 --- a/sys/dev/e1000/e1000_ich8lan.c +++ b/sys/dev/e1000/e1000_ich8lan.c @@ -72,6 +72,7 @@ #include "e1000_api.h" +static s32 e1000_oem_bits_config_ich8lan(struct e1000_hw *hw, bool d0_state); static s32 e1000_acquire_swflag_ich8lan(struct e1000_hw *hw); static void e1000_release_swflag_ich8lan(struct e1000_hw *hw); static s32 e1000_acquire_nvm_ich8lan(struct e1000_hw *hw); @@ -330,7 +331,9 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw) * so forcibly disable it. */ hw->dev_spec.ich8lan.ulp_state = e1000_ulp_state_unknown; - e1000_disable_ulp_lpt_lp(hw, TRUE); + ret_val = e1000_disable_ulp_lpt_lp(hw, true); + if (ret_val) + ERROR_REPORT("Failed to disable ULP\n"); ret_val = hw->phy.ops.acquire(hw); if (ret_val) { @@ -1290,14 +1293,12 @@ s32 e1000_enable_ulp_lpt_lp(struct e1000_hw *hw, bool to_sx) if (!to_sx) { int i = 0; - /* Poll up to 5 seconds for Cable Disconnected indication */ while (!(E1000_READ_REG(hw, E1000_FEXT) & E1000_FEXT_PHY_CABLE_DISCONNECTED)) { /* Bail if link is re-acquired */ if (E1000_READ_REG(hw, E1000_STATUS) & E1000_STATUS_LU) return -E1000_ERR_PHY; - if (i++ == 100) break; @@ -1310,7 +1311,6 @@ s32 e1000_enable_ulp_lpt_lp(struct e1000_hw *hw, bool to_sx) if (!(E1000_READ_REG(hw, E1000_FEXT) & E1000_FEXT_PHY_CABLE_DISCONNECTED)) return 0; - } ret_val = hw->phy.ops.acquire(hw); @@ -4318,7 +4318,7 @@ static s32 e1000_update_nvm_checksum_ich8lan(struct e1000_hw *hw) (u8)(data >> 8)); if (ret_val) break; - } + } /* Don't bother writing the segment valid bits if sector * programming failed. diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index 2ed0164598a6..ce5253cfae18 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -1111,9 +1111,6 @@ em_if_attach_pre(if_ctx_t ctx) em_print_fw_version(sc); - /* Disable ULP support */ - e1000_disable_ulp_lpt_lp(hw, true); - /* * Get Wake-on-Lan and Management info for later use */ From nobody Thu Feb 9 00:51:57 2023 X-Original-To: dev-commits-src-main@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 4PByxV1mjgz3nYs2; Thu, 9 Feb 2023 00:51:58 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PByxV1DBNz4JKF; Thu, 9 Feb 2023 00:51:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675903918; 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=dYWGvB92AgXDe16tSb0OJBQ2+ljGHsajCduCab1t1eM=; b=Vv/nGTjI5q4Hzk5q0/N91+kcmLdwCddm6OcJ4j9Mg85mM2F97g4JGLsKiYXoWYcT2+WtgC j/KJUECBtgv0PfJNwFauUhcWa1XkZ4I7vTi3KmWvG7s9ZhO4VoothH8VDb/T5fGX43QU7R Ld3reiIB3ea2GTXmzUBpnbXf42Nf/MH5mwQgxsObv4iTVd0y0PWMFDBYljG75JXLitQ3Te cRRInF3h+q7bq7LVId6PsPTVd6avpEddj1QwjhrQVW+uGituv+CrCgy/kZYmgdzOmPl2C4 kEmmuA0loaNrzyho3WxssNGflHR7AQuLWEoWvU6lJrx39f2ndBJESe3YQVCvRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675903918; 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=dYWGvB92AgXDe16tSb0OJBQ2+ljGHsajCduCab1t1eM=; b=nSs7qTymEbXreaxwzXy02nIIBYGUvZeINb1HOdlInfOGjv1pm5LsbiB7EVvRzRwgMdIYf+ EqFgDxazavLQ3EbmF3gbkn4iE081jpNLrzp8H4lzIw4b3Wc/8Xl7F7F+S6zTEK+Pd+c868 B/OrBTvtXHqbWSvKgQF5zoMprPFB/5iZbrsjdHr0TwjQ92aeDl4M0iRYTy+bf4j7qfuRQI b9k3eD351BPi4kjECVrbL+MukXvt3J9J4mB8YfdTYi4SyDKowTs94UchrZphqheE9qh87Z UnoVnt6GzifuFhw0kSPjGBp0i/TNU4z6VyGnYsqhCpBXDTilzfYYK1YfaRXiaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675903918; a=rsa-sha256; cv=none; b=SrTxhKaJOiaxzL/QMKoUnCQYbpqprzGVfZCQhXxkXJEWQV+DA8zHdcb48ci5DKlfdICOOL e9PfMqtya8ZoBlnuMPALsI9XRGZ7sI0NINR9JZwFJcBCipMIWv2LdhVHiAe6b7e+BRB4JV rckdHf/+GluF8Qmo4XsL6xJfT3LfU9qgOyF9BfwKCg7oqn7vc7JCBKuSZUU5fTZm6PbtEf PuNXm0cQT1VRs6naGoNkifohKB1xO5AMIumcIugC0LbYjmNn0VY+qiNmqtrY/EB0RKc1h/ +e4v2CHqk9arfQY4r9Qfut/FyOvGL3P8s0x2haUj0DHkaSlPcvPEfUyfv0UBLg== 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 4PByxV0HnVzJ8J; Thu, 9 Feb 2023 00:51:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3190pva6093926; Thu, 9 Feb 2023 00:51:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3190pvoO093925; Thu, 9 Feb 2023 00:51:57 GMT (envelope-from git) Date: Thu, 9 Feb 2023 00:51:57 GMT Message-Id: <202302090051.3190pvoO093925@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 563659021477 - main - e1000: Fix packet loss on 11th gen and later List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 56365902147791994157c3a8f75784dafd46dbd8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kbowling (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=56365902147791994157c3a8f75784dafd46dbd8 commit 56365902147791994157c3a8f75784dafd46dbd8 Author: Kevin Bowling AuthorDate: 2023-02-09 00:32:54 +0000 Commit: Kevin Bowling CommitDate: 2023-02-09 00:50:33 +0000 e1000: Fix packet loss on 11th gen and later Ungate DMA clock on TGP and later to avoid packet loss. A similar fix appears in Linux 639e298f432fb058a9496ea16863f53b1ce935fe This may be needed as far back as SPT but no confirmation from intel or other OS yet. Obtained from: OpenBSD (if_em_hw.c 1.116) MFC after: 2 weeks Sponsored by: BBOX.io --- sys/dev/e1000/e1000_ich8lan.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/dev/e1000/e1000_ich8lan.c b/sys/dev/e1000/e1000_ich8lan.c index 9c640e7b9667..40db185454e1 100644 --- a/sys/dev/e1000/e1000_ich8lan.c +++ b/sys/dev/e1000/e1000_ich8lan.c @@ -5167,6 +5167,13 @@ static s32 e1000_init_hw_ich8lan(struct e1000_hw *hw) snoop = (u32) ~(PCIE_NO_SNOOP_ALL); e1000_set_pcie_no_snoop_generic(hw, snoop); + /* ungate DMA clock to avoid packet loss */ + if (mac->type >= e1000_pch_tgp) { + uint32_t fflt_dbg = E1000_READ_REG(hw, E1000_FFLT_DBG); + fflt_dbg |= (1 << 12); + E1000_WRITE_REG(hw, E1000_FFLT_DBG, fflt_dbg); + } + ctrl_ext = E1000_READ_REG(hw, E1000_CTRL_EXT); ctrl_ext |= E1000_CTRL_EXT_RO_DIS; E1000_WRITE_REG(hw, E1000_CTRL_EXT, ctrl_ext); From nobody Thu Feb 9 01:05:47 2023 X-Original-To: dev-commits-src-main@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 4PBzFV0MGbz3nbS4; Thu, 9 Feb 2023 01:05:50 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-oa1-x2e.google.com (mail-oa1-x2e.google.com [IPv6:2001:4860:4864:20::2e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBzFT2DYnz4Kqx; Thu, 9 Feb 2023 01:05:49 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b=WZQxBg0z; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2001:4860:4864:20::2e as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-oa1-x2e.google.com with SMTP id 586e51a60fabf-16a291b16bfso754710fac.7; Wed, 08 Feb 2023 17:05:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:references:in-reply-to:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=ws3ZZQ3iRR1FtNmufgaa50GdLbD6DxbB0CdAe5RupOk=; b=WZQxBg0zj6CZ2gAZJhNJ9ENNA1vjcgcnWHXHEoLWraKaKo4ovdAcqW0saJkjB+qhWJ 1VrbKPF6MKZmWhvh0RyuTDWDgpKHOzg+puhFKtQrP4vhUEJruUg2bMPfdYFzyoSvxZi/ 6GvdGz5x+rBUx7hILjGRjqub3RPlSQ6wb5f0Bnl+hdFpnt5X3EZArroNV60TD0VCX0em 0vEyURhVM840XhpYYOdGT5E+LRhUINSjQVv8Xn2AfSp/u0XMbLeC2G3Fuj9xAjfSdjVB RkIn1YStGIVG7TmYeFg2ZsjJcndp7UWUqLQwh3lk30lWVeXFg0H9J5tRV1SpKIah6fLF rgvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:references:in-reply-to:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ws3ZZQ3iRR1FtNmufgaa50GdLbD6DxbB0CdAe5RupOk=; b=arUtzS7lhKuSzNVhPZs68cUcZszHn1yZiQfHSIin1/fwLsEklGeDFEAicPPr4rkS0B yEvLNYAmccBtc2SqnAkALSiJ59iwzK8xvNyh2UBgi18peBnyU9OhaMB38gq+2W0CY0vQ +dcHWlM9pn2OZBVdPQz+Oy2W6c8UDK2Th0uUScJwJF0H7djJphaqGIJ5A9Y8elp28t/E SJyiKk09vc971BOycwSFMD1F+1ZbjuYFzQ+M6R6zBYiN15WBnOAX4MJ2fzkNVt2+3Sfj syZZ886E2Mgp2XmjAWL8+qttiMNsq7FeTMQwbaZNo4VyYcC7cSjUh0o85QTQCPiTrLtv 59wQ== X-Gm-Message-State: AO0yUKVpH2/FW1gcy1MWWmEqeLn77DtRO0OkKokI6kr0UNVhomI+qGfB soYQBMf+o2J0niigLPu3HI+9xyxa3jDYYwKWtnnsG2sY X-Google-Smtp-Source: AK7set+N3UT7k+skbh75pCfIbs8z4EJZ4DsRRREp9Ge/xRsvrSVsyJhXiUru0ugO422Vmkmw5/cv31u3t1srCIE4JgQ= X-Received: by 2002:a05:6870:1257:b0:16a:9099:3868 with SMTP id 23-20020a056870125700b0016a90993868mr462261oao.81.1675904747769; Wed, 08 Feb 2023 17:05:47 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Received: by 2002:ac9:6c92:0:b0:4b3:d953:974c with HTTP; Wed, 8 Feb 2023 17:05:47 -0800 (PST) In-Reply-To: <20230208202736.L7hpB%steffen@sdaoden.eu> References: <202302081947.318Jlbt6052826@gitrepo.freebsd.org> <20230208202736.L7hpB%steffen@sdaoden.eu> From: Mateusz Guzik Date: Thu, 9 Feb 2023 02:05:47 +0100 Message-ID: Subject: Re: git: 48bfd3597654 - main - Add nproc(1) To: Mateusz Guzik , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_SPF_ALLOW(-0.20)[+ip6:2001:4860:4000::/36:c]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2001:4860:4864::/48, country:US]; RCVD_IN_DNSWL_NONE(0.00)[2001:4860:4864:20::2e:from]; FROM_EQ_ENVFROM(0.00)[]; ARC_NA(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; MID_RHS_MATCH_FROMTLD(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FROM_HAS_DN(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-Rspamd-Queue-Id: 4PBzFT2DYnz4Kqx X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N On 2/8/23, Steffen Nurpmeso wrote: > Mateusz Guzik wrote in > <202302081947.318Jlbt6052826@gitrepo.freebsd.org>: > ... > |URL: https://cgit.FreeBSD.org/src/commit/?id=48bfd3597654490cdc43bf0f591\ > |a539d3a28b590 > ... > | Add nproc(1) > > Hey! Great. (NPROC is mentioned in POSIX for environment > variables, as well as a make macro that did not make it, .. and > nproc(1) is commonly used on Linux it seems.) Thanks. > > | This program prints the number of CPU threads it can run on, while > | respecting cpusets (or not, depending on switches). > | > | It aims to be compatible with nproc as found in GNU coreutils. > > That, "however", > > ... > |+ if (all_flag) { > |+ cpus = sysconf(_SC_NPROCESSORS_ONLN); > > is not compatible -- note i like the FreeBSD way better, and maybe > someone should make a bug report even. > > #?0|kent:$ getconf -a|grep NPROC > _NPROCESSORS_CONF 8 > _NPROCESSORS_ONLN 4 > #?0|kent:$ nproc > 4 > #?0|kent:$ nproc --all > 8 > #?0|kent:$ > Is this from disabling hyperthreading? I have a 40-way box, after doing it I see: NPROCESSORS_CONF: 20 NPROCESSORS_ONLN: 20 _NPROCESSORS_CONF: 20 _NPROCESSORS_ONLN: 20 iow it wont make a difference. I'm going to sleep on it, will probably add BUGS to the manpage. I do think linux nproc behavior on this is one peculiar at best though. Thanks for reporting. > > |+ if (cpus == -1) > |+ err(1, "sysconf"); > |+ } else { > |+ CPU_ZERO(&mask); > |+ if (cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, -1, > |+ sizeof(mask), &mask) != 0) > |+ err(1, "cpuset_getaffinity"); > |+ cpus = CPU_COUNT(&mask); > > That is the right thing to do, imho! > > Thank you. > > --steffen > | > |Der Kragenbaer, The moon bear, > |der holt sich munter he cheerfully and one by one > |einen nach dem anderen runter wa.ks himself off > |(By Robert Gernhardt) > -- Mateusz Guzik From nobody Thu Feb 9 01:15:36 2023 X-Original-To: dev-commits-src-main@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 4PBzSm4xjcz3ncXY; Thu, 9 Feb 2023 01:15:36 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBzSm4Tl2z4Lps; Thu, 9 Feb 2023 01:15:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675905336; 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=Cc/RMBNgxPUXFVs4bfjuo978c3X5P3xBk+pa0rtwyVQ=; b=siB5N9EPqfftKiElXUAnmhhwBHn9Rdlb0kpxx62jML9OYtXSKFEb2JWmSQ7QtTgPNI2UcT Vqfmba7Wr0SvePH06GsVweg8Wujc4hEFC7hOlnu22jqQTQpXFTnJ1eN6O/RtPDp35WyLxn ImsXhDU4reDOueUhfRgWmmE7SFh6Z03C8DHAU3lpivSSr9FbEAPWPqevsQedWGdL/bkBZr l45E75FsAgnkLVpWMwrblmoZti7aKo3ZUk6CIJ34nsIvFAoQFfE5PkOFXep7T9wNjStm52 0pj9hjdUYhjby6Y2LuXih+jILszVh4gvMQGGTaoJFQyjl+bID/f9dcUNU+5Byw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675905336; 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=Cc/RMBNgxPUXFVs4bfjuo978c3X5P3xBk+pa0rtwyVQ=; b=xoOEaM6S2/6Xb6dy2N3LwaucDJ+L1Ke7eQKo6m+bjLy89WqQ6pDFPCtD0XJJ4S6/qQESbq QvFosNDgtbLA8NaKqk7j/52S63Y5x835Kyh2r+oiVDk1gfjrZ3Mg9/o3OlSvKRSl0cI5UN PYkY2Q539lhXFeGIustRvwzymAaPt+5MfZWBLIWACM3mzBszvTdxZBYQ6FQvYV29MWtJOE FOFJz4+9lAMojoz46owmbH7pWKQvRYMOBPF+jnRDJbLsCcJ6P9TlctSVZ9Dg3ZnQ9F7Q6+ dw5eRV9Hdm5uKXvZvbbEZjn87UuQ+jtSbmwbULfsDj4ay7+JTGTzJRs9U/kZJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675905336; a=rsa-sha256; cv=none; b=s0f5C/fYvFAE/u3YkKwUyt43gweS4DWRwJBdsNcNhYrHuKzMrajH4kMOF7jYmSEQu6Yfd1 U0gvmtouFui2C73njeZZEUhjO6R2b/M59psYLUDxcxwue7B5m8AVwIpVrRJbd9NzVx87se apUb5j/TIKlyGpUuEIKaWqRMMBPl2U556JqZyPrAW0uF4jl2Tjuc4wSTShwdPUF1BGejFW bu/F2i+7xxVOAmtwlqqVEtNefVyAAcenXc2W51Ki1gkwpSEAPnCwc2CqhXU9U9tkUHxKke rkItkoaT3WtNdrxcu/wmVQ33wijO78WVcZ80ze/wm4D2YhVKcvVX4SGHhNWADw== 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 4PBzSm3XQTzJrw; Thu, 9 Feb 2023 01:15:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3191Faa0023973; Thu, 9 Feb 2023 01:15:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3191Faes023972; Thu, 9 Feb 2023 01:15:36 GMT (envelope-from git) Date: Thu, 9 Feb 2023 01:15:36 GMT Message-Id: <202302090115.3191Faes023972@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 905ae5881bdc - main - e1000: Add support for future client platforms List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 905ae5881bdc1b9742e08d660d787204c08d6022 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kbowling (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=905ae5881bdc1b9742e08d660d787204c08d6022 commit 905ae5881bdc1b9742e08d660d787204c08d6022 Author: Kevin Bowling AuthorDate: 2023-02-09 01:14:41 +0000 Commit: Kevin Bowling CommitDate: 2023-02-09 01:14:41 +0000 e1000: Add support for future client platforms MFC after: 2 weeks Sponsored by: BBOX.io --- sys/dev/e1000/e1000_api.c | 11 +++++++++++ sys/dev/e1000/e1000_hw.h | 9 +++++++++ sys/dev/e1000/e1000_ich8lan.c | 7 +++++++ sys/dev/e1000/if_em.c | 11 +++++++++++ 4 files changed, 38 insertions(+) diff --git a/sys/dev/e1000/e1000_api.c b/sys/dev/e1000/e1000_api.c index 5fd0f598aa6d..9442dd26651b 100644 --- a/sys/dev/e1000/e1000_api.c +++ b/sys/dev/e1000/e1000_api.c @@ -355,6 +355,16 @@ s32 e1000_set_mac_type(struct e1000_hw *hw) case E1000_DEV_ID_PCH_LNL_I219_V21: mac->type = e1000_pch_mtp; break; + case E1000_DEV_ID_PCH_ARL_I219_LM24: + case E1000_DEV_ID_PCH_ARL_I219_V24: + case E1000_DEV_ID_PCH_PTP_I219_LM25: + case E1000_DEV_ID_PCH_PTP_I219_V25: + case E1000_DEV_ID_PCH_PTP_I219_LM26: + case E1000_DEV_ID_PCH_PTP_I219_V26: + case E1000_DEV_ID_PCH_PTP_I219_LM27: + case E1000_DEV_ID_PCH_PTP_I219_V27: + mac->type = e1000_pch_ptp; + break; case E1000_DEV_ID_82575EB_COPPER: case E1000_DEV_ID_82575EB_FIBER_SERDES: case E1000_DEV_ID_82575GB_QUAD_COPPER: @@ -511,6 +521,7 @@ s32 e1000_setup_init_funcs(struct e1000_hw *hw, bool init_device) case e1000_pch_tgp: case e1000_pch_adp: case e1000_pch_mtp: + case e1000_pch_ptp: e1000_init_function_pointers_ich8lan(hw); break; case e1000_82575: diff --git a/sys/dev/e1000/e1000_hw.h b/sys/dev/e1000/e1000_hw.h index 0a4b03df98b6..463bd6bd8a5b 100644 --- a/sys/dev/e1000/e1000_hw.h +++ b/sys/dev/e1000/e1000_hw.h @@ -183,6 +183,14 @@ struct e1000_hw; #define E1000_DEV_ID_PCH_RPL_I219_V22 0x0DC8 #define E1000_DEV_ID_PCH_RPL_I219_LM23 0x0DC5 #define E1000_DEV_ID_PCH_RPL_I219_V23 0x0DC6 +#define E1000_DEV_ID_PCH_ARL_I219_LM24 0x57A0 +#define E1000_DEV_ID_PCH_ARL_I219_V24 0x57A1 +#define E1000_DEV_ID_PCH_PTP_I219_LM25 0x57B3 +#define E1000_DEV_ID_PCH_PTP_I219_V25 0x57B4 +#define E1000_DEV_ID_PCH_PTP_I219_LM26 0x57B5 +#define E1000_DEV_ID_PCH_PTP_I219_V26 0x57B6 +#define E1000_DEV_ID_PCH_PTP_I219_LM27 0x57B7 +#define E1000_DEV_ID_PCH_PTP_I219_V27 0x57B8 #define E1000_DEV_ID_82576 0x10C9 #define E1000_DEV_ID_82576_FIBER 0x10E6 #define E1000_DEV_ID_82576_SERDES 0x10E7 @@ -274,6 +282,7 @@ enum e1000_mac_type { e1000_pch_tgp, e1000_pch_adp, e1000_pch_mtp, + e1000_pch_ptp, e1000_82575, e1000_82576, e1000_82580, diff --git a/sys/dev/e1000/e1000_ich8lan.c b/sys/dev/e1000/e1000_ich8lan.c index 40db185454e1..86b3d1194edd 100644 --- a/sys/dev/e1000/e1000_ich8lan.c +++ b/sys/dev/e1000/e1000_ich8lan.c @@ -352,6 +352,7 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw) case e1000_pch_tgp: case e1000_pch_adp: case e1000_pch_mtp: + case e1000_pch_ptp: if (e1000_phy_is_accessible_pchlan(hw)) break; @@ -504,6 +505,7 @@ static s32 e1000_init_phy_params_pchlan(struct e1000_hw *hw) case e1000_pch_tgp: case e1000_pch_adp: case e1000_pch_mtp: + case e1000_pch_ptp: /* In case the PHY needs to be in mdio slow mode, * set slow mode and try to get the PHY id again. */ @@ -806,6 +808,7 @@ static s32 e1000_init_mac_params_ich8lan(struct e1000_hw *hw) case e1000_pch_tgp: case e1000_pch_adp: case e1000_pch_mtp: + case e1000_pch_ptp: /* multicast address update for pch2 */ mac->ops.update_mc_addr_list = e1000_update_mc_addr_list_pch2lan; @@ -1851,6 +1854,7 @@ void e1000_init_function_pointers_ich8lan(struct e1000_hw *hw) case e1000_pch_tgp: case e1000_pch_adp: case e1000_pch_mtp: + case e1000_pch_ptp: hw->phy.ops.init_params = e1000_init_phy_params_pchlan; break; default: @@ -2310,6 +2314,7 @@ static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw) case e1000_pch_tgp: case e1000_pch_adp: case e1000_pch_mtp: + case e1000_pch_ptp: sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG_ICH8M; break; default: @@ -3435,6 +3440,7 @@ static s32 e1000_valid_nvm_bank_detect_ich8lan(struct e1000_hw *hw, u32 *bank) case e1000_pch_tgp: case e1000_pch_adp: case e1000_pch_mtp: + case e1000_pch_ptp: bank1_offset = nvm->flash_bank_size; act_offset = E1000_ICH_NVM_SIG_WORD; @@ -4409,6 +4415,7 @@ static s32 e1000_validate_nvm_checksum_ich8lan(struct e1000_hw *hw) case e1000_pch_tgp: case e1000_pch_adp: case e1000_pch_mtp: + case e1000_pch_ptp: word = NVM_COMPAT; valid_csum_mask = NVM_COMPAT_VALID_CSUM; break; diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index ce5253cfae18..89186767bc60 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -203,6 +203,14 @@ static pci_vendor_info_t em_vendor_info_array[] = PVID(0x8086, E1000_DEV_ID_PCH_RPL_I219_V22, "Intel(R) I219-V RPL(22)"), PVID(0x8086, E1000_DEV_ID_PCH_RPL_I219_LM23, "Intel(R) I219-LM RPL(23)"), PVID(0x8086, E1000_DEV_ID_PCH_RPL_I219_V23, "Intel(R) I219-V RPL(23)"), + PVID(0x8086, E1000_DEV_ID_PCH_ARL_I219_LM24, "Intel(R) I219-LM ARL(24)"), + PVID(0x8086, E1000_DEV_ID_PCH_ARL_I219_V24, "Intel(R) I219-V ARL(24)"), + PVID(0x8086, E1000_DEV_ID_PCH_PTP_I219_LM25, "Intel(R) I219-LM PTP(25)"), + PVID(0x8086, E1000_DEV_ID_PCH_PTP_I219_V25, "Intel(R) I219-V PTP(25)"), + PVID(0x8086, E1000_DEV_ID_PCH_PTP_I219_LM26, "Intel(R) I219-LM PTP(26)"), + PVID(0x8086, E1000_DEV_ID_PCH_PTP_I219_V26, "Intel(R) I219-V PTP(26)"), + PVID(0x8086, E1000_DEV_ID_PCH_PTP_I219_LM27, "Intel(R) I219-LM PTP(27)"), + PVID(0x8086, E1000_DEV_ID_PCH_PTP_I219_V27, "Intel(R) I219-V PTP(27)"), /* required last entry */ PVID_END }; @@ -1256,6 +1264,7 @@ em_if_mtu_set(if_ctx_t ctx, uint32_t mtu) case e1000_pch_tgp: case e1000_pch_adp: case e1000_pch_mtp: + case e1000_pch_ptp: case e1000_82574: case e1000_82583: case e1000_80003es2lan: @@ -2655,6 +2664,7 @@ em_reset(if_ctx_t ctx) case e1000_pch_tgp: case e1000_pch_adp: case e1000_pch_mtp: + case e1000_pch_ptp: pba = E1000_PBA_26K; break; case e1000_82575: @@ -2768,6 +2778,7 @@ em_reset(if_ctx_t ctx) case e1000_pch_tgp: case e1000_pch_adp: case e1000_pch_mtp: + case e1000_pch_ptp: hw->fc.high_water = 0x5C20; hw->fc.low_water = 0x5048; hw->fc.pause_time = 0x0650; From nobody Thu Feb 9 02:37:10 2023 X-Original-To: dev-commits-src-main@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 4PC1Gv0T8zz3np4c; Thu, 9 Feb 2023 02:37: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PC1Gt73dCz3HPb; Thu, 9 Feb 2023 02:37:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675910231; 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=1ROSGCy9FMeCl09LLOTaKKHYd8LwM5s/IqQIsh/LAr8=; b=BWd43cIb8oHR/fnnkTcnCecDFqJuqydtmt8bieHtFQZC9vuBOK6SalVuLcgv3Px7ZgU2Pk dCQ9Oi2W/cKbVXOts+QQBa/kY+7OPIeLXc5f/HQLODSIFYFUkWXMhTjcVf1M546ypQ+jPD joDlJ3MWVN+77YZ3rD43B+gR20Ucqqz1IOo0swX0tV+vZHp7M9FQpUI896WJBFZj0Bx+q7 ywqaxc1dJPqz2ZC4wHHlLLa5abhXsO/ZOMVABaRX/92X0sAzNvJFaFHtZUE/C+V7SprixM y2KfDXHDniOmKzEZD6U2Bt7dQeDnjk12/jruO2O0/n4INW2uoqJrCFR4ZsDVMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675910231; 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=1ROSGCy9FMeCl09LLOTaKKHYd8LwM5s/IqQIsh/LAr8=; b=EvxRDODwpgpHCvkpre48wVw2roH4zFl6sorh757yVm1VmX3OpxGMLI59ActqOLpzWpOK+r kx8AlRGZQksczb4QOzHtaxwSHc4JH3Ph3lS16OlwL1xABPInoJTLySgxyycynHGtGQIRvV pNhLHG5y04nK6e9Wokw7SNBZxdEmU1iUJbRtvhf/+f2zgJsQvEZXevj/G4VtZXBUK4bApT 3dwH6TgZFLxtrZNJJqluIhf1hZdVW8PFImgD95SSdCp9MNszX0z/pXNoP3O/zh3izdj78q eSwF5VsvlCYBnDYErdpRE8G+ejUZymO7tuZQwqU0p7OwKkKSGzVRHc6UdKqbJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675910231; a=rsa-sha256; cv=none; b=QjRvePZDzJY9Me0d+pAWK/OBdRFGDpqE70dj+xwisIOmUfPAyKAf07OLFDpXX/6jTnr5lD VQK3cRunpUmg/re40bKPGOp/QlBJtgeY2WG6X2CN1v1YEd2BfADZKv5vSwaazpL803NeC3 EpVnxsEwfWsWejS0norNBKjy+nD+QPGWU+t9TczRS3fuQwuGRNeHZqAkODQz1R9B4kN8En dTCChW4gUJB8w6XJ3cab7DQp0IbVqPdN2KYQjBFOkDwAFGZtaVgKDNL413jEbMLW7wJ0WP DkMrqS5eEq1f1FYm2p1mJIETFU712c8WSGQeFES9pM7h0OCu+5TULte58LLe2g== 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 4PC1Gt5sh7zLL5; Thu, 9 Feb 2023 02:37:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3192bAUG037619; Thu, 9 Feb 2023 02:37:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3192bAAV037618; Thu, 9 Feb 2023 02:37:10 GMT (envelope-from git) Date: Thu, 9 Feb 2023 02:37:10 GMT Message-Id: <202302090237.3192bAAV037618@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 5bb807fed462 - main - amd64: record a dependency of vdso on its linker script List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 5bb807fed4622b17f2b2aa837f5ebd124e08f904 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5bb807fed4622b17f2b2aa837f5ebd124e08f904 commit 5bb807fed4622b17f2b2aa837f5ebd124e08f904 Author: Konstantin Belousov AuthorDate: 2023-02-05 21:40:31 +0000 Commit: Konstantin Belousov CommitDate: 2023-02-09 02:36:39 +0000 amd64: record a dependency of vdso on its linker script Reviewed by: emaste, val_packett.cool Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D38392 --- sys/conf/files.amd64 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 index 75be68543394..d8541b9de67a 100644 --- a/sys/conf/files.amd64 +++ b/sys/conf/files.amd64 @@ -13,13 +13,13 @@ include "conf/files.x86" # # elf-vdso.so.o standard \ - dependency "$S/amd64/amd64/sigtramp.S assym.inc $S/tools/amd64_vdso.sh" \ + dependency "$S/amd64/amd64/sigtramp.S assym.inc $S/conf/vdso_amd64.ldscript $S/tools/amd64_vdso.sh" \ compile-with "env AWK='${AWK}' NM='${NM}' LD='${LD}' CC='${CC}' DEBUG='${DEBUG}' OBJCOPY='${OBJCOPY}' ELFDUMP='${ELFDUMP}' S='${S}' sh $S/tools/amd64_vdso.sh" \ no-implicit-rule before-depend \ clean "elf-vdso.so.o elf-vdso.so.1 vdso_offsets.h sigtramp.pico" # elf-vdso32.so.o optional compat_freebsd32 \ - dependency "$S/amd64/ia32/ia32_sigtramp.S ia32_assym.h $S/tools/amd64_ia32_vdso.sh" \ + dependency "$S/amd64/ia32/ia32_sigtramp.S ia32_assym.h $S/conf/vdso_amd64_ia32.ldscript $S/tools/amd64_ia32_vdso.sh" \ compile-with "env AWK='${AWK}' NM='${NM}' LD='${LD}' CC='${CC}' DEBUG='${DEBUG}' OBJCOPY='${OBJCOPY}' ELFDUMP='${ELFDUMP}' S='${S}' sh $S/tools/amd64_ia32_vdso.sh" \ no-implicit-rule before-depend \ clean "elf-vdso32.so.o elf-vdso32.so.1 vdso_ia32_offsets.h ia32_sigtramp.pico" From nobody Thu Feb 9 02:37:11 2023 X-Original-To: dev-commits-src-main@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 4PC1Gw1JMnz3nnnb; Thu, 9 Feb 2023 02:37: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PC1Gw0VBGz3HZq; Thu, 9 Feb 2023 02:37:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675910232; 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=09DoxjcBtTDVICTD3fLtkw3iwYl2W5q2mDCB953hSmE=; b=CIK7u7A4PNo0O9b7pb204KaG/4jpt9/8ZVA1mrm2wf/9zTEruMMEnSzXwjDBioIt2blK2N bVxA5wVeRlWsAYFj+WX2GzNl/0EYMj8tBjCi3EKtukjUszxCunFf42STU1Gki2NSfPeYys 1ADEX2UuIu7qUoy0QkHUYyWk6ZVurf0vNny00NtXeM83/nq0SlJU7YhMRxJh/a4ozxoOs4 CpBAFH0MId1xnJ2ZB/gtTWye1Phy+Vke0vW3TygTyzxUplc1MYMfznc/hGRy1XVfXrjD63 RK0qznazvWpwJo6JGmneJbk7Y/XaQGk3Xn06xeVs5JUIQ/WrE1SvA/IJ5h8LBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675910232; 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=09DoxjcBtTDVICTD3fLtkw3iwYl2W5q2mDCB953hSmE=; b=Woud34+10xvfPmP0JMnQ5iSTqyp+IvM/AT+23tOppgWmbLFNnfh6yh+Cd9zhS9Sj9AsEwH jAwChCU0dEfPA5spXZQJOrYX6XUsU69Xpsllo/HQcwNXo0ogzYpVtIBm5ISbJSyLuzK93o ASnDac7qpeI8ivAmXS1JlN+ZuckIwQGOgNwstifjgq/ruAj/9MXhBlL26uL/w+Mhwu3UQT 5AQ9i8W7HfiUj0fCv1zfurdoAmo9bGJQHCzNOgAvO9TGsH0JJs5jVqr1c0IhGaUYZxjvmd pR8HNkdj/tQ9+6OGLL5F/jwXu/RDHHHIVnmBlBYys6/IUvrbxsrY1dCTwmBv2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675910232; a=rsa-sha256; cv=none; b=Y75ADTE91+pMby+uio4ggpAnvhu8kc0eb/G/MzK2bTfh0FdTxYsN5GuMFdJqyeX4ac31Yg TfRNygWpA01HYmRWAHtAMO5f+DZB1oBlkuLZwcRnuGzk3WnXIC5MGC/rEmqqTDJPEojWDp o5jHDUVCiL+ze+oDqK4tzYljOwc3HYCRwRpxke76lNyiq8IqAndDD+wJHKo+Yqu2O8wEYU AJoZ32h8bQi8Yzs1cYEkiNLY/cN/do0J8YMMavnlTWYltfQhf55FmavaHnEz6Hem4l8XgE lOljjA/iMBfewqdNXGVaz+fyM7DsLzTmMtNtGy/5zNq2Z9c4DZFEoS7MTU6w+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 4PC1Gv6VJ0zLXk; Thu, 9 Feb 2023 02:37:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3192bBjR037644; Thu, 9 Feb 2023 02:37:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3192bBIB037643; Thu, 9 Feb 2023 02:37:11 GMT (envelope-from git) Date: Thu, 9 Feb 2023 02:37:11 GMT Message-Id: <202302090237.3192bBIB037643@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: ee8448712065 - main - amd64 ia32 vdso: always define some __vdso_ symbols List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: ee844871206562c6aaaa14ee4576cb20895adb00 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ee844871206562c6aaaa14ee4576cb20895adb00 commit ee844871206562c6aaaa14ee4576cb20895adb00 Author: Konstantin Belousov AuthorDate: 2023-02-05 21:41:25 +0000 Commit: Konstantin Belousov CommitDate: 2023-02-09 02:36:40 +0000 amd64 ia32 vdso: always define some __vdso_ symbols ... regardless of the kernel config options. It is reported that llvm16 ld.lld warns about undefined symbols referenced by the VERSION script. Reviewed by: emaste, val_packett.cool Discussed with: jrtc27 Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D38392 --- sys/amd64/ia32/ia32_sigtramp.S | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sys/amd64/ia32/ia32_sigtramp.S b/sys/amd64/ia32/ia32_sigtramp.S index f7f3fd129cc7..7d873127e848 100644 --- a/sys/amd64/ia32/ia32_sigtramp.S +++ b/sys/amd64/ia32/ia32_sigtramp.S @@ -84,10 +84,10 @@ __vdso_ia32_sigcode: jmp 1b .cfi_endproc -#ifdef COMPAT_FREEBSD4 ALIGN_TEXT .globl __vdso_freebsd4_ia32_sigcode __vdso_freebsd4_ia32_sigcode: +#ifdef COMPAT_FREEBSD4 calll *IA32_SIGF_HANDLER(%esp) leal IA32_SIGF_UC4(%esp),%eax/* get ucontext */ pushl %eax @@ -97,12 +97,14 @@ __vdso_freebsd4_ia32_sigcode: /* on stack */ 1: jmp 1b +#else + ud2 #endif -#ifdef COMPAT_43 ALIGN_TEXT .globl __vdso_ia32_osigcode __vdso_ia32_osigcode: +#ifdef COMPAT_43 calll *IA32_SIGF_HANDLER(%esp)/* call signal handler */ leal IA32_SIGF_SC(%esp),%eax /* get sigcontext */ pushl %eax @@ -111,6 +113,9 @@ __vdso_ia32_osigcode: int $0x80 /* enter kernel with args */ 1: jmp 1b +#else + ud2 +#endif /* * Our lcall $7,$0 handler remains in user mode (ring 3), since lcalls @@ -128,7 +133,10 @@ __vdso_ia32_osigcode: ALIGN_TEXT .globl __vdso_lcall_tramp __vdso_lcall_tramp: +#ifdef COMPAT_43 int $0x80 1: jmp 1b +#else + ud2 #endif .p2align 1 From nobody Thu Feb 9 02:42:53 2023 X-Original-To: dev-commits-src-main@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 4PC1Pl0kgDz3npqk; Thu, 9 Feb 2023 02:43:07 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4PC1Pk4XgVz3Jjq; Thu, 9 Feb 2023 02:43:06 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.17.1/8.17.1) with ESMTPS id 3192gr3f098366 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Thu, 9 Feb 2023 04:42:57 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 3192gr3f098366 Received: (from kostik@localhost) by tom.home (8.17.1/8.17.1/Submit) id 3192gruk098365; Thu, 9 Feb 2023 04:42:53 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 9 Feb 2023 04:42:53 +0200 From: Konstantin Belousov To: Mateusz Guzik Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 48bfd3597654 - main - Add nproc(1) Message-ID: References: <202302081947.318Jlbt6052826@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202302081947.318Jlbt6052826@gitrepo.freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Rspamd-Queue-Id: 4PC1Pk4XgVz3Jjq X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Wed, Feb 08, 2023 at 07:47:37PM +0000, Mateusz Guzik wrote: > The branch main has been updated by mjg: > > URL: https://cgit.FreeBSD.org/src/commit/?id=48bfd3597654490cdc43bf0f591a539d3a28b590 > > commit 48bfd3597654490cdc43bf0f591a539d3a28b590 > Author: Mateusz Guzik > AuthorDate: 2023-02-04 23:33:48 +0000 > Commit: Mateusz Guzik > CommitDate: 2023-02-08 19:47:33 +0000 > > Add nproc(1) > +Print the current program version and exit. Don't use this option. nroff/troff documents should start new sentence from the new line. Both due to the style(9) requirement and to the formatter algorithm details. From nobody Thu Feb 9 05:27:42 2023 X-Original-To: dev-commits-src-main@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 4PC53g0YH4z3pdwQ; Thu, 9 Feb 2023 05:27: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PC53g0B9Lz3mDj; Thu, 9 Feb 2023 05:27:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675920463; 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=aKJ6IjpB7KHHXFi7ndRXkPZJ8BWGE2CL+6t2UgJWKz8=; b=mvAd0sUFnxeTRKqJv4qI0KO6C0szrATXFQhHzsfCoOe3Kjy7TP7RF6EE7pE9lczK6lWsS4 ZnB8ig7mOPMOvofgW8Z3+vgxcCTUIVCX4uwO0renNvBf6CilGD/89rIsMtQQCEYiR+wr1l ANW+tujn11UvCuesUeLJr/2uJIwGvLm1aQnlHvyDzHpJROjHvjZMusRYolUPtm11SRJfbo cLpYUdrfWQxUno9C1STlArvYyIgXYUFjtQZySmE/yYTqY9rY2rZbu51tdPFKLDi5op9JDc dCuxJReX0CM4TmhQZPU7SQYUwhH3MPHe+Qq+hm6rlv4xiiOGBbK06OyzZxse2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675920463; 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=aKJ6IjpB7KHHXFi7ndRXkPZJ8BWGE2CL+6t2UgJWKz8=; b=SsOvppvpEvsnzprnC8tOO0s750rD/2DJlasSe/P4dm0yjlB3nzps9dF6l0sRWDCmw6NFUl IybC1RcIAounT62aUYDMnMQ/AacJKxqQh5tsqlqWeb5KF8m87LODtOtJ1j1aI2obI9T/nc Jawh3EwguniYdGWNg6jNEysWRfV0J2lXpehoxptY9+XFXAQbbljNIMVr0Qc/af+zu2ABXn aK4luf23LS2SxmtCureO+O7pg62r4BDl2uTf0pLGxv129PTf1CAyUlqMP2nfPNK5NYVldQ Z8S+OyBLED9jicx1y+8uKTozPDupbY9l1feIBNHZK/fAI9XjQnV0f6n7rb3NTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675920463; a=rsa-sha256; cv=none; b=uOVsTwtk8Oo3GZivHjzoJJzHZ+Lg5D+qEeVM4G3/jXA1FBXAkEGnVhbx5aWfrOfIIxhSeE PGmlBpZNjtGbL9rR2eBM5ED4f5wV/TxZC9YUQTxIy1VBCCA8sdIinBVfP9GhoqJ5hWrMYj XxFR6Fc70bYzPE0JPiqfzbVYlR92lFZbclY8s+Wsc/OtvIrQimJPsmnNZBQkOkbzX+AH04 sE1YlpveX6ji22MEIf499ME3Jz/9M/s2TigzZ7nP85O3gBvQbAleEiC+LfwCgaLtmkTau7 B3HLZjXe+k2J8w8UlaS7KrqY7NHsxna2S7RsuMaJ+bhWIoIqgvJPkEJxGSnWeQ== 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 4PC53f6Jq3zQFm; Thu, 9 Feb 2023 05:27:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3195RgjC079539; Thu, 9 Feb 2023 05:27:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3195Rg7x079538; Thu, 9 Feb 2023 05:27:42 GMT (envelope-from git) Date: Thu, 9 Feb 2023 05:27:42 GMT Message-Id: <202302090527.3195Rg7x079538@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 83d7ed8af3d9 - main - config: drop dependency on libsbuf List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 83d7ed8af3d9eab0567749d9d6e99a7e24d17817 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=83d7ed8af3d9eab0567749d9d6e99a7e24d17817 commit 83d7ed8af3d9eab0567749d9d6e99a7e24d17817 Author: Kyle Evans AuthorDate: 2023-02-09 04:56:10 +0000 Commit: Kyle Evans CommitDate: 2023-02-09 04:56:10 +0000 config: drop dependency on libsbuf Use an std::stringstream instead. get_word() and get_quoted_word() both return a buffer that's presumed to not need release, so solve this by returning a new special configword type that holds a string or eof/eol state. This cleans up caller checking for EOF/EOL to make it more explicit what they're doing, at least in the EOL cases which previously checked for NULL. Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D38276 --- usr.sbin/config/Makefile | 6 +- usr.sbin/config/config.h | 57 +++++++++++- usr.sbin/config/{main.c => main.cc} | 119 ++++++++++++-------------- usr.sbin/config/mkmakefile.cc | 38 ++++---- usr.sbin/config/{mkoptions.c => mkoptions.cc} | 39 +++++---- 5 files changed, 152 insertions(+), 107 deletions(-) diff --git a/usr.sbin/config/Makefile b/usr.sbin/config/Makefile index 241a501f52af..dab9aa43f036 100644 --- a/usr.sbin/config/Makefile +++ b/usr.sbin/config/Makefile @@ -5,8 +5,8 @@ SRCDIR:=${.PARSEDIR:tA} PROG_CXX= config MAN= config.5 config.8 -SRCS= config.y main.c lang.l mkmakefile.cc mkheaders.c \ - mkoptions.c y.tab.h kernconf.c +SRCS= config.y main.cc lang.l mkmakefile.cc mkheaders.c \ + mkoptions.cc y.tab.h kernconf.c FILE2C?=file2c @@ -18,8 +18,6 @@ CFLAGS+= -I. -I${SRCDIR} NO_WMISSING_VARIABLE_DECLARATIONS= -LIBADD= sbuf - CLEANFILES+= kernconf.c mkmakefile.o: configvers.h diff --git a/usr.sbin/config/config.h b/usr.sbin/config/config.h index 7d97d66979e2..8555bf000d0f 100644 --- a/usr.sbin/config/config.h +++ b/usr.sbin/config/config.h @@ -35,13 +35,66 @@ /* * Config. */ -#include /* __BEGIN_DECLS/__END_DECLS */ #include #include #include #include #include +#ifdef __cplusplus +#include + +class configword { +private: + std::string cw_word; + bool cw_eof; + bool cw_eol; +public: + configword() : cw_word(""), cw_eof(false), cw_eol(false) {} + configword(std::string &&word) : cw_word(word), cw_eof(false), cw_eol(false) {} + + bool eof() const { + return (cw_eof); + } + + bool eol() const { + return (cw_eol); + } + + configword &eof(bool eof) { + cw_eof = eof; + return (*this); + } + + configword &eol(bool eol) { + cw_eol = eol; + return (*this); + } + + char operator[](int idx) { + return (cw_word[idx]); + } + + operator const char*() const { + return (cw_word.c_str()); + } + + const std::string &operator*() const { + return (cw_word); + } + + const std::string *operator->() const { + return (&cw_word); + } +}; + +/* + * Is it ugly to limit these to C++ files? Yes. + */ +configword get_word(FILE *); +configword get_quoted_word(FILE *); +#endif + __BEGIN_DECLS struct cfgfile { @@ -186,8 +239,6 @@ extern char kernconfstr[]; extern int do_trace; extern int incignore; -char *get_word(FILE *); -char *get_quoted_word(FILE *); char *path(const char *); char *raisestr(char *); void remember(const char *); diff --git a/usr.sbin/config/main.c b/usr.sbin/config/main.cc similarity index 90% rename from usr.sbin/config/main.c rename to usr.sbin/config/main.cc index 988c296d97ce..ef24d373c8b0 100644 --- a/usr.sbin/config/main.c +++ b/usr.sbin/config/main.cc @@ -45,19 +45,21 @@ static const char rcsid[] = #include #include -#include #include #include #include #include #include +#include #include +#include +#include #include #include #include #include -#include + #include "y.tab.h" #include "config.h" #include "configvers.h" @@ -111,7 +113,7 @@ struct hdr_list { struct hdr_list *h_next; } *htab; -static struct sbuf *line_buf = NULL; +static std::stringstream line_buf; /* * Config builds a set of files for building a UNIX @@ -313,24 +315,21 @@ usage(void) static void init_line_buf(void) { - if (line_buf == NULL) { - line_buf = sbuf_new(NULL, NULL, 80, SBUF_AUTOEXTEND); - if (line_buf == NULL) { - errx(EXIT_FAILURE, "failed to allocate line buffer"); - } - } else { - sbuf_clear(line_buf); - } + + line_buf.str(""); } -static char * +static std::string get_line_buf(void) { - if (sbuf_finish(line_buf) != 0) { + + line_buf.flush(); + if (!line_buf.good()) { errx(EXIT_FAILURE, "failed to generate line buffer, " - "partial line = %s", sbuf_data(line_buf)); + "partial line = %s", line_buf.str().c_str()); } - return sbuf_data(line_buf); + + return line_buf.str(); } /* @@ -339,7 +338,7 @@ get_line_buf(void) * NULL on end of line * pointer to the word otherwise */ -char * +configword get_word(FILE *fp) { int ch; @@ -351,7 +350,7 @@ begin: if (ch != ' ' && ch != '\t') break; if (ch == EOF) - return ((char *)EOF); + return (configword().eof(true)); if (ch == '\\'){ escaped_nl = 1; goto begin; @@ -362,22 +361,22 @@ begin: goto begin; } else - return (NULL); + return (configword().eol(true)); } - sbuf_putc(line_buf, ch); + line_buf << (char)ch; /* Negation operator is a word by itself. */ if (ch == '!') { - return get_line_buf(); + return (configword(get_line_buf())); } while ((ch = getc(fp)) != EOF) { if (isspace(ch)) break; - sbuf_putc(line_buf, ch); + line_buf << (char)ch; } if (ch == EOF) - return ((char *)EOF); + return (configword().eof(true)); (void) ungetc(ch, fp); - return (get_line_buf()); + return (configword(get_line_buf())); } /* @@ -385,7 +384,7 @@ begin: * like get_word but will accept something in double or single quotes * (to allow embedded spaces). */ -char * +configword get_quoted_word(FILE *fp) { int ch; @@ -397,7 +396,7 @@ begin: if (ch != ' ' && ch != '\t') break; if (ch == EOF) - return ((char *)EOF); + return (configword().eof(true)); if (ch == '\\'){ escaped_nl = 1; goto begin; @@ -408,7 +407,7 @@ begin: goto begin; } else - return (NULL); + return (configword().eol(true)); } if (ch == '"' || ch == '\'') { int quote = ch; @@ -419,7 +418,7 @@ begin: break; if (ch == '\n' && !escaped_nl) { printf("config: missing quote reading `%s'\n", - get_line_buf()); + get_line_buf().c_str()); exit(2); } if (ch == '\\' && !escaped_nl) { @@ -427,23 +426,23 @@ begin: continue; } if (ch != quote && escaped_nl) - sbuf_putc(line_buf, '\\'); - sbuf_putc(line_buf, ch); + line_buf << "\\"; + line_buf << (char)ch; escaped_nl = 0; } } else { - sbuf_putc(line_buf, ch); + line_buf << (char)ch; while ((ch = getc(fp)) != EOF) { if (isspace(ch)) break; - sbuf_putc(line_buf, ch); + line_buf << (char)ch; } if (ch != EOF) (void) ungetc(ch, fp); } if (ch == EOF) - return ((char *)EOF); - return (get_line_buf()); + return (configword().eof(true)); + return (configword(get_line_buf())); } /* @@ -466,7 +465,7 @@ path(const char *file) * will be able to obtain and build conifguration file with one command. */ static void -configfile_dynamic(struct sbuf *sb) +configfile_dynamic(std::ostringstream &cfg) { struct cputype *cput; struct device *d; @@ -476,38 +475,35 @@ configfile_dynamic(struct sbuf *sb) asprintf(&lend, "\\n\\\n"); assert(lend != NULL); - sbuf_printf(sb, "options\t%s%s", OPT_AUTOGEN, lend); - sbuf_printf(sb, "ident\t%s%s", ident, lend); - sbuf_printf(sb, "machine\t%s%s", machinename, lend); + cfg << "options\t" << OPT_AUTOGEN << lend; + cfg << "ident\t" << ident << lend; + cfg << "machine\t" << machinename << lend; SLIST_FOREACH(cput, &cputype, cpu_next) - sbuf_printf(sb, "cpu\t%s%s", cput->cpu_name, lend); + cfg << "cpu\t" << cput->cpu_name << lend; SLIST_FOREACH(ol, &mkopt, op_next) - sbuf_printf(sb, "makeoptions\t%s=%s%s", ol->op_name, - ol->op_value, lend); + cfg << "makeoptions\t" << ol->op_name << '=' << + ol->op_value << lend; SLIST_FOREACH(ol, &opt, op_next) { if (strncmp(ol->op_name, "DEV_", 4) == 0) continue; - sbuf_printf(sb, "options\t%s", ol->op_name); + cfg << "options\t" << ol->op_name; if (ol->op_value != NULL) { - sbuf_putc(sb, '='); + cfg << '='; for (i = 0; i < strlen(ol->op_value); i++) { if (ol->op_value[i] == '"') - sbuf_printf(sb, "\\%c", - ol->op_value[i]); + cfg << '\\' << ol->op_value[i]; else - sbuf_printf(sb, "%c", - ol->op_value[i]); + cfg << ol->op_value[i]; } - sbuf_printf(sb, "%s", lend); - } else { - sbuf_printf(sb, "%s", lend); } + + cfg << lend; } /* * Mark this file as containing everything we need. */ STAILQ_FOREACH(d, &dtab, d_next) - sbuf_printf(sb, "device\t%s%s", d->d_name, lend); + cfg << "device\t" << d->d_name << lend; free(lend); } @@ -515,7 +511,7 @@ configfile_dynamic(struct sbuf *sb) * Generate file from the configuration files. */ static void -configfile_filebased(struct sbuf *sb) +configfile_filebased(std::ostringstream &cfg) { FILE *cff; struct cfgfile *cf; @@ -534,11 +530,11 @@ configfile_filebased(struct sbuf *sb) } while ((i = getc(cff)) != EOF) { if (i == '\n') - sbuf_printf(sb, "\\n\\\n"); + cfg << "\\n\\\n"; else if (i == '"' || i == '\'') - sbuf_printf(sb, "\\%c", i); + cfg << '\\' << i; else - sbuf_putc(sb, i); + cfg << i; } fclose(cff); } @@ -548,7 +544,7 @@ static void configfile(void) { FILE *fo; - struct sbuf *sb; + std::ostringstream cfg; char *p; /* Add main configuration file to the list of files to be included */ @@ -557,16 +553,14 @@ configfile(void) fo = fopen(p, "w"); if (!fo) err(2, "%s", p); - sb = sbuf_new(NULL, NULL, 2048, SBUF_AUTOEXTEND); - assert(sb != NULL); - sbuf_clear(sb); if (filebased) { /* Is needed, can be used for backward compatibility. */ - configfile_filebased(sb); + configfile_filebased(cfg); } else { - configfile_dynamic(sb); + configfile_dynamic(cfg); } - sbuf_finish(sb); + + cfg.flush(); /* * We print first part of the template, replace our tag with * configuration files content and later continue writing our @@ -577,10 +571,9 @@ configfile(void) errx(EXIT_FAILURE, "Something went terribly wrong!"); *p = '\0'; fprintf(fo, "%s", kernconfstr); - fprintf(fo, "%s", sbuf_data(sb)); + fprintf(fo, "%s", cfg.str().c_str()); p += strlen(KERNCONFTAG); fprintf(fo, "%s", p); - sbuf_delete(sb); fclose(fo); moveifchanged(path("config.c.new"), path("config.c")); cfgfile_removeall(); diff --git a/usr.sbin/config/mkmakefile.cc b/usr.sbin/config/mkmakefile.cc index 2aabb9e0f347..472f85fa4bc2 100644 --- a/usr.sbin/config/mkmakefile.cc +++ b/usr.sbin/config/mkmakefile.cc @@ -380,7 +380,8 @@ read_file(char *fname) struct file_list *tp; struct device *dp; struct opt *op; - char *wd, *rfile, *compilewith, *depends, *clean, *warning; + configword wd; + char *rfile, *compilewith, *depends, *clean, *warning; const char *objprefix; int compile, match, nreqs, std, filetype, negate, imp_rule, no_ctfconvert, no_obj, before_depend, nowerror; @@ -400,33 +401,34 @@ next: * [ nowerror ] [ local ] */ wd = get_word(fp); - if (wd == (char *)EOF) { + if (wd.eof()) { (void) fclose(fp); return; } - if (wd == NULL) + if (wd.eol()) goto next; if (wd[0] == '#') { - while (((wd = get_word(fp)) != (char *)EOF) && wd) + while (!(wd = get_word(fp)).eof() && !wd.eol()) ; goto next; } if (eq(wd, "include")) { wd = get_quoted_word(fp); - if (wd == (char *)EOF || wd == NULL) + if (wd.eof() || wd.eol()) errout("%s: missing include filename.\n", fname); - (void) snprintf(ifname, sizeof(ifname), "../../%s", wd); + (void) snprintf(ifname, sizeof(ifname), "../../%s", + wd->c_str()); read_file(ifname); - while (((wd = get_word(fp)) != (char *)EOF) && wd) + while (!(wd = get_word(fp)).eof() && !wd.eol()) ; goto next; } rfile = ns(wd); wd = get_word(fp); - if (wd == (char *)EOF) + if (wd.eof()) return; - if (wd == NULL) + if (wd.eol()) errout("%s: No type for %s.\n", fname, rfile); tp = fl_lookup(rfile); compile = 0; @@ -449,9 +451,9 @@ next: std = 1; else if (!eq(wd, "optional")) errout("%s: \"%s\" %s must be optional or standard\n", - fname, wd, rfile); - for (wd = get_word(fp); wd; wd = get_word(fp)) { - if (wd == (char *)EOF) + fname, wd->c_str(), rfile); + for (wd = get_word(fp); !wd.eol(); wd = get_word(fp)) { + if (wd.eof()) return; if (eq(wd, "!")) { negate = 1; @@ -489,7 +491,7 @@ next: } if (eq(wd, "dependency")) { wd = get_quoted_word(fp); - if (wd == (char *)EOF || wd == NULL) + if (wd.eof() || wd.eol()) errout("%s: %s missing dependency string.\n", fname, rfile); depends = ns(wd); @@ -497,7 +499,7 @@ next: } if (eq(wd, "clean")) { wd = get_quoted_word(fp); - if (wd == (char *)EOF || wd == NULL) + if (wd.eof() || wd.eol()) errout("%s: %s missing clean file list.\n", fname, rfile); clean = ns(wd); @@ -505,7 +507,7 @@ next: } if (eq(wd, "compile-with")) { wd = get_quoted_word(fp); - if (wd == (char *)EOF || wd == NULL) + if (wd.eof() || wd.eol()) errout("%s: %s missing compile command string.\n", fname, rfile); compilewith = ns(wd); @@ -513,7 +515,7 @@ next: } if (eq(wd, "warning")) { wd = get_quoted_word(fp); - if (wd == (char *)EOF || wd == NULL) + if (wd.eof() || wd.eol()) errout("%s: %s missing warning text string.\n", fname, rfile); warning = ns(wd); @@ -521,7 +523,7 @@ next: } if (eq(wd, "obj-prefix")) { wd = get_quoted_word(fp); - if (wd == (char *)EOF || wd == NULL) + if (wd.eof() || wd.eol()) errout("%s: %s missing object prefix string.\n", fname, rfile); objprefix = ns(wd); @@ -542,7 +544,7 @@ next: nreqs++; if (std) errout("standard entry %s has optional inclusion specifier %s!\n", - rfile, wd); + rfile, wd->c_str()); STAILQ_FOREACH(dp, &dtab, d_next) if (eq(dp->d_name, wd)) { if (negate) diff --git a/usr.sbin/config/mkoptions.c b/usr.sbin/config/mkoptions.cc similarity index 94% rename from usr.sbin/config/mkoptions.c rename to usr.sbin/config/mkoptions.cc index b93e56e3a491..f45c1026417c 100644 --- a/usr.sbin/config/mkoptions.c +++ b/usr.sbin/config/mkoptions.cc @@ -141,7 +141,7 @@ options(void) static void do_option(char *name) { - char *file, *inw; + char *file; const char *basefile; struct opt_list *ol; struct opt *op; @@ -198,18 +198,17 @@ do_option(char *name) seen = 0; tidy = 0; for (;;) { - char *cp; + configword cp, inw; char *invalue; /* get the #define */ - if ((inw = get_word(inf)) == NULL || inw == (char *)EOF) + if ((inw = get_word(inf)).eol() || inw.eof()) break; /* get the option name */ - if ((inw = get_word(inf)) == NULL || inw == (char *)EOF) + if ((inw = get_word(inf)).eol() || inw.eof()) break; - inw = ns(inw); /* get the option value */ - if ((cp = get_word(inf)) == NULL || cp == (char *)EOF) + if ((cp = get_word(inf)).eol() || cp.eof()) break; /* option value */ invalue = ns(cp); /* malloced */ @@ -224,25 +223,25 @@ do_option(char *name) if (!eq(inw, name) && !ol) { fprintf(stderr, "WARNING: unknown option `%s' removed from %s\n", - inw, file); + inw->c_str(), file); tidy++; } else if (ol != NULL && !eq(basefile, ol->o_file)) { fprintf(stderr, "WARNING: option `%s' moved from %s to %s\n", - inw, basefile, ol->o_file); + inw->c_str(), basefile, ol->o_file); tidy++; } else { op = (struct opt *) calloc(1, sizeof *op); if (op == NULL) err(EXIT_FAILURE, "calloc"); - op->op_name = inw; + op->op_name = ns(inw); op->op_value = invalue; SLIST_INSERT_HEAD(&op_head, op, op_next); } /* EOL? */ cp = get_word(inf); - if (cp == (char *)EOF) + if (cp.eof()) break; } (void)fclose(inf); @@ -364,25 +363,26 @@ static int read_option_file(const char *fname, int flags) { FILE *fp; - char *wd, *optname, *val; + configword wd; + char *optname, *val; char genopt[MAXPATHLEN]; fp = fopen(fname, "r"); if (fp == NULL) return (0); - while ((wd = get_word(fp)) != (char *)EOF) { - if (wd == NULL) + while (!(wd = get_word(fp)).eof()) { + if (wd.eol()) continue; if (wd[0] == '#') { - while (((wd = get_word(fp)) != (char *)EOF) && wd) + while (!(wd = get_word(fp)).eof() && !wd.eol()) continue; continue; } optname = ns(wd); - val = get_word(fp); - if (val == (char *)EOF) + wd = get_word(fp); + if (wd.eof()) return (1); - if (val == NULL) { + if (wd.eol()) { if (flags) { fprintf(stderr, "%s: compat file requires two" " words per line at %s\n", fname, optname); @@ -391,10 +391,11 @@ read_option_file(const char *fname, int flags) char *s = ns(optname); (void)snprintf(genopt, sizeof(genopt), "opt_%s.h", lower(s)); - val = genopt; + val = ns(genopt); free(s); + } else { + val = ns(wd); } - val = ns(val); if (flags == 0) insert_option(fname, optname, val); else From nobody Thu Feb 9 05:27:43 2023 X-Original-To: dev-commits-src-main@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 4PC53h2PgTz3pdtR; Thu, 9 Feb 2023 05:27: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PC53h14MVz3m2S; Thu, 9 Feb 2023 05:27:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675920464; 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=Cf4KDzKOvxrAAlmXiAjkGRU/AvZFpPulcAdnRQhORB4=; b=rYoxa/IXpmrsDjuSJ7iaN78O2RVStFtNQJNZ0Ys3vgOFsU0/A95eQUpg5fEQD3hR5+I9rV vEWHvtICc2N+yh4aOyoYBos6tO0vq3PZPUz8v5GiBVes6KH4N+TZzxn+Xk2/hTQAe+HD+7 O3ypcxdgxTurgizlQzqcRtqP7W7cFKd+1Pc17cHcgSECOye4YnPMOAsx2OBnhdqgxN6zbO tmLI7ySAOqU8F2iHhyEGFZl1HhjuNv8H9Zk3S5iUV9UQVRqgGGbifZQv5a9TJ6i7p+SXYI el7P8mDmBV7o82hRRbo3gG5+edxF7c2BWFsBJhNY7fzlbASdeHqWeThvT0EVFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675920464; 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=Cf4KDzKOvxrAAlmXiAjkGRU/AvZFpPulcAdnRQhORB4=; b=DYjxztP63fnFDd2cX/+CrUgEi1p1Hg0WbLDpw3C7UrLYtib2cdKbB7BrK+Yrj4eRLgOqvn cg7eVEhv45QQiZpQV/Bue41DG+S8scE08uFqCgxkG4K1FKmOdKV02n//Y0Vot666M5S8M9 DGKyAb4ODBbRF7dQIb/kvbsZTQ9ABCqPwOhFo/ANDcmlL6tmzuIGYWRWK607v0oWz7fIwe ZY2eAK3+5ONaAx5jcXzHH2oU2nsfmlYNxikRQXdy0crjG9gyZIyUuPm9foit/lj03fGAP8 PR89oCXjzYmK0IJcoJ5N6IcHY/5L/JsorkVgMrdVbM8Bg3ww04ZuGYgwvxm1wg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675920464; a=rsa-sha256; cv=none; b=V4NXgfZMw79cF3OmtSLr0riSqIjevMnagK1sPTOWKoQLdmHy5k5mRdEsa2qCYV1FTKCDoz qZiv/vTZFYAhdvL6ZUv/jwOkmykxAZK8FwG0LyaVYu0LG+R2++hcf0t0cofu8pD8D9s/vf 4BCFpGeS1R9PwTA0OwEL+SVfp9yG00dRYz8Km6tuH1ECIwCOWHJNwUUNgD6QilOGvW/HWz kywFM5ezO0W7d0XxzfI5kCYGJqJ+Rn12Di+89t/PGXZtpH5ObLQ0MQ2Ef5ylTjAUsuFY03 FWONZ5SC0L6mOFH4tG4ZwXc7OfVhvsfkvGf0srIuLm0aF4hDiNGGSUPBxe0dGw== 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 4PC53h044jzQFn; Thu, 9 Feb 2023 05:27:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3195RhVb079563; Thu, 9 Feb 2023 05:27:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3195RhXv079562; Thu, 9 Feb 2023 05:27:43 GMT (envelope-from git) Date: Thu, 9 Feb 2023 05:27:43 GMT Message-Id: <202302090527.3195RhXv079562@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: ee3872a71441 - main - tools: cleanup stale dependencies from further config(8) C++ification List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: ee3872a7144173d61a96ce110bf6b7aefe513b33 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=ee3872a7144173d61a96ce110bf6b7aefe513b33 commit ee3872a7144173d61a96ce110bf6b7aefe513b33 Author: Kyle Evans AuthorDate: 2023-02-09 04:56:11 +0000 Commit: Kyle Evans CommitDate: 2023-02-09 05:19:09 +0000 tools: cleanup stale dependencies from further config(8) C++ification Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D38276 --- tools/build/depend-cleanup.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index 4739127f396a..91b14ed29c84 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -109,3 +109,6 @@ fi # 20230208 29c5f8bf9a01 move from mkmakefile.c to mkmakefile.cc clean_dep usr.sbin/config mkmakefile c +# 20230209 83d7ed8af3d9 convert to main.cc and mkoptions.cc +clean_dep usr.sbin/config main c +clean_dep usr.sbin/config mkoptions c From nobody Thu Feb 9 05:27:45 2023 X-Original-To: dev-commits-src-main@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 4PC53j5F9Dz3pf6q; Thu, 9 Feb 2023 05:27: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PC53j2TJLz3m5D; Thu, 9 Feb 2023 05:27:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675920465; 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=/UTc12o5SEZlnFMZkQpW0EV0KK19Q/CsuA9lBDXfJzU=; b=jpUj6II6hz/ZfWmsFhss7x/k5gVBBrIaBuPvabEvSKOXut9IJmpJuYCjPTDWTSPm3UIrLf DJvaJ7i2pd4QozGLE4g7P/3zoF0gIxpFY6Vq1Bm2SzR13WYvdmy3eKKrgUBCoOaeC9TxK1 NSTmFTA4w0AePbo4wf5Hxfbx/859lreeb7p7cqRalbpvfvXjM2+MDVkojX8Tlq3XnCaKhY PaM3F6DDRywjDmT5khf3HerxyBykt4cNXbht+FiRGn1mEmYU1boGZedDCzm8wkkHSUA/En FCbRcObOEdpsAluAsBKlmkiQRtNCE6RI7g3A/qRH1EgjgxLvGifQUxKwT1bMUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675920465; 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=/UTc12o5SEZlnFMZkQpW0EV0KK19Q/CsuA9lBDXfJzU=; b=vEnH13rYVeq4vRHv7o8YHTj1+j0qT1QQHhTwRz4Kqdr30i1wnr0Ln89/Xe98uuwapImNzt 90ABpNRVk1rJUFgpg+jyNxfOwujpdsjmkEe4BgdSDYEJ4ssCxJiXW7b0FFftOC3VI2vKr6 XdustwaLznD+d67un5gERUYklKhlhgvjEqrM3y3mXxG2/wJAZfMQDrnBVwKotxvCTaV7WS inu79SQwNOcyVowXY9zSMhijBxVEw6C7+vLWwZk9q6jLMCC+AM+T1lfDEeh+OJrCPhdRXu MsxsCauCEnKtCzX4ggtTV0EYbXLRj3CzTquPmXhkreTXY2i1f9UhN4WTyT0YtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675920465; a=rsa-sha256; cv=none; b=I2ckbxGMK3uQPlYTlI4O1mBb3INuSVPyBl2A7V6CdQ5slSUosfwnCAKmbUjmfr+E7XXL/O peEym+w9PoH8g+yPcyg4kKKlcf3TUzOEcRu9RUebC2J49xuIgETQVkZzQd8RLXwU6jcs2R R1IjXXh8KdxSFgsPyKe5Qncuy/Q1l3wFbf40HmDtlgxuSdfCVzAa6UUR/Ppr5DXCwdaI/m wH1caFdUTLjZMDqFj7vqRC0MSSYgccpOkaAtOiDdmdh0asEory9JywW25fzmPDjp/HOqKO 7fIH9Tf9X7gsLmlXsegmTxWHqhlNZUpm2asI80MTDIVFqeeqhZn8vWM4WNqUEA== 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 4PC53j11MMzQXb; Thu, 9 Feb 2023 05:27:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3195Rjdm079588; Thu, 9 Feb 2023 05:27:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3195RjuW079587; Thu, 9 Feb 2023 05:27:45 GMT (envelope-from git) Date: Thu, 9 Feb 2023 05:27:45 GMT Message-Id: <202302090527.3195RjuW079587@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: b4f7a31fd16b - main - buildworld: drop config(8) dependencies from bootstrap List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: b4f7a31fd16b6ca48da0416f01f997433d226bdc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=b4f7a31fd16b6ca48da0416f01f997433d226bdc commit b4f7a31fd16b6ca48da0416f01f997433d226bdc Author: Kyle Evans AuthorDate: 2023-02-09 04:56:12 +0000 Commit: Kyle Evans CommitDate: 2023-02-09 05:19:23 +0000 buildworld: drop config(8) dependencies from bootstrap We may still need them for other parts, so just remove the dependency relationship for now and simplify config's place in bootstrap-tools. Reviewed by: imp Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D38277 --- Makefile.inc1 | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index c5848be438a2..c6f0269f8885 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2229,11 +2229,6 @@ BOOTSTRAP_ALL_TOOLS:= 1 BOOTSTRAPPING_OSRELDATE:= 0 .endif -# libnv and libsbuf are requirements for config(8), which is an unconditional -# bootstrap-tool. -_config=usr.sbin/config lib/libnv lib/libsbuf -${_bt}-usr.sbin/config: ${_bt}-lib/libnv ${_bt}-lib/libsbuf - .if ${MK_GAMES} != "no" _strfile= usr.bin/fortune/strfile .endif @@ -2529,7 +2524,7 @@ bootstrap-tools: ${_bt}-links .PHONY ${_other_bootstrap_tools} \ usr.bin/xinstall \ ${_gensnmptree} \ - ${_config} \ + usr.sbin/config \ ${_flua} \ ${_crunchide} \ ${_crunchgen} \ From nobody Thu Feb 9 09:00:18 2023 X-Original-To: dev-commits-src-main@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 4PC9my3Wf1z3n674; Thu, 9 Feb 2023 09:00: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PC9my2jm7z4J86; Thu, 9 Feb 2023 09:00:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675933218; 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=eXdRyuNVoKbDkjENf+BRSTh8VlFyLyyAO3Vjqfjaq0c=; b=CMLlNtVgC/kwJ7Vj6VxIHf1e/hq5gxtNaELP5VPGERnVXq9VZTOWjfykAA9ek5aymllg8K JIcnefguMLhRGG2yYCfX4OZgGHq86O8aWGoAK/dAE9R3YltFh+obt8S4gnUpJ9IUsTxxuC YNvIjK3nIH2NQ5zFlabidXWtuZr5TsIXvOFtEECBnvKoCS3onoIrbz03zwcGcNs9e0qHM3 YAWk6xTMK/GPxSlyq3sbZbw0QBaHRHl/Ga307TCr6Rf8UfVFiIpydcobmfU4dM+MVO7dVb t8eiMmDyrrWB94kwbIBdnAwGtCo74yba90uuXMc7N1lhKOeBsxqDvnI41mIMzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675933218; 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=eXdRyuNVoKbDkjENf+BRSTh8VlFyLyyAO3Vjqfjaq0c=; b=ooVNQhTWvSzFeQ/TEqgFT2d0SyHjw1xs+ITbJ9prIvAHEOke7B6y3OBR79D3BU7UmRnFgw BswRwpQXXXOa8nrLlyJXRRhyxJgBcLbbXmTlQegaZMN6Sz1DFLGmSOERaPyuVHL/XY24ZC xBcJs0qOmnoScLNGoLlM7ZIkLGlOvt1AS6BDZczutwmlkEGkr29xtSCQCOOvrXG9Lijvaj Hinja9kjosZbP02vRDeEENN2Kmv4vtEgGqRGqR+GKfFVrcxMVZ3MmCBiAUUyClXSWSEZf0 NahkedzTUQ4u6bMIlAoed9fIApSg/Esq0kIN7aq/LAACxG3U1qQpimF4U5iCoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675933218; a=rsa-sha256; cv=none; b=K+//aLfAO8a1zeLrtSlTHK4R6DGTUA/wJL86Fv2/DgB9aJQFHD5XIs3A3Izpxw6iMn0u60 zUTX8/PvwhJqeYbUz2aazMe+Koi5/NVFPszPPsg2nIthVuDq5hG3HR3rHXtJkaQ9Osq3Lj E/wRcG8gBRF8wA9WHBCoaslpsMDxGl7/7JJzo2qyzM1YqJGehycsZU47weBU2/Np8I/6oF LC6dcWQKXnBq2fd7/qLTFzC8iaHJeJEx6WeDtWWLuT8w+RpjTeFkqLHUpr2J1iALPJ0zGh Frf5ZbVXKpRjhuWgLRbgX2Oqrdcvx6erlKSwiF3iAfbcnFTiO0ntkTGySbDo3g== 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 4PC9my1j3YzX09; Thu, 9 Feb 2023 09:00:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31990IkM088702; Thu, 9 Feb 2023 09:00:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31990Iux088701; Thu, 9 Feb 2023 09:00:18 GMT (envelope-from git) Date: Thu, 9 Feb 2023 09:00:18 GMT Message-Id: <202302090900.31990Iux088701@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: c8f47b28827c - main - Add libclang_rt files for powerpc64 to ObsoleteFiles.inc List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: c8f47b28827ca03654ecf7a4605c3c5195b9b655 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=c8f47b28827ca03654ecf7a4605c3c5195b9b655 commit c8f47b28827ca03654ecf7a4605c3c5195b9b655 Author: Dimitry Andric AuthorDate: 2023-02-09 08:59:54 +0000 Commit: Dimitry Andric CommitDate: 2023-02-09 08:59:54 +0000 Add libclang_rt files for powerpc64 to ObsoleteFiles.inc Since f5024381ac16 we have also built and installed several clang runtime support libraries (for sanitizers) on powerpc64, so add entries to properly clean these up when upgrading. Reported by: pkubaj PR: 269423 MFC after: 2 weeks --- ObsoleteFiles.inc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 3af36e03c70a..61dee1d33dd4 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -264,10 +264,13 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-armhf.so OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-i386.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-powerpc64.so OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-x86_64.so @@ -275,8 +278,10 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-arm.a @@ -296,8 +301,10 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan_cxx-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan_cxx-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-arm.a @@ -314,30 +321,37 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan_cxx-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-arm.a From nobody Thu Feb 9 14:29:35 2023 X-Original-To: dev-commits-src-main@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 4PCK4w1Vxrz3pJRW; Thu, 9 Feb 2023 14:29:36 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCK4v6MW4z3xNg; Thu, 9 Feb 2023 14:29:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675952975; 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=Kpc2YP0dLjPwn0sIcsMLHiiAZNp7nXXfpjxaL7eO+cI=; b=olEMAv+m6wMcv8urawRKBibdYsGKGdBIfDLtxn6519Rw2G5/ofQgD7xz9tVB+USe03VGzV zPoG0ZHOHAqDevVnbNaeGsfzXUggmxgdIEygXy/ANn7qiiULRYs/wlhQ6EGzljS4Xdhk0d YVi5QZsYosBD+rIj1V6zAsN3WG/ILDLiD2m/mbWr+mmHu0elSKfJv1ydPvxONWvwOOSUg4 +TDekDRMq1oNUZTZI396w+lT6klpn+LJmjakBg1Gm2a5N//I9VYSP544zGB16xQ3l7ViBO y4/fp0Zz6terrzglmScrSmUdBdQqMvzijJkJBOeUpfe7uuxTwIes+FZWaZ8XKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675952975; 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=Kpc2YP0dLjPwn0sIcsMLHiiAZNp7nXXfpjxaL7eO+cI=; b=FKGJkHsr148kf2TYQIwTPNgPUFx73ogsDUn7JjEoQsKaRm90TOHJ3FmkUB3naFqesg5la+ rPZvkL7NnYpArt2OL9qsMmCuY23jaZz5hWEHLjGs3LcLiQk6TJGoiskLSqei6qxL4nyBUk 0nOro/5r9CFUemlyEGySRk0l1AbFfmKHEKPMZ2S580LzbmxFw75G4xkGV+9Te0k6zxXBTV 522ubQm71x7nCThaIJM6GzpsEFr6XuqTCWHygENEjwvsTkSZ789r+gKgvHig4VbQ6ye70u g4j1p8pl/+r8EcNTZUayZUabxImqzY3r/mE0KTuOS4+PcUIGLUe8nvCPOlU9qA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675952975; a=rsa-sha256; cv=none; b=M6N/m5spLyhF4FCbqHTkafhdAl+qAn/ABK0WXA2UzI5upz+0uT/UCrDqy6TtRURS9zanr+ ghKD3i2WvcouBfGAa/RwT4wq4fwTrFrE69wJl6E7Yggv6o9l2uTVh8QFfqcUHtxiE42fZA 09tBQcBIarrPrnDZipDK7WJyLiQjthqSEmh0D37WIXDaDtcmEMx1lUIPwVVt8zKuKdiIhj emuYjfFfCP0Mh3kyoDbOeHNDAjYckS8WXtjS4ULYT98G+laFyJxNnZl9PboEi9WfzQY0uh jEAL5CrJisfPpnue6VmiRbI4WhBKZeN7vs3kV5P3MmzBvOojRTwFax+ZG3C8OQ== 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 4PCK4v3RRBzgfg; Thu, 9 Feb 2023 14:29:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319ETZFA050582; Thu, 9 Feb 2023 14:29:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319ETZo3050581; Thu, 9 Feb 2023 14:29:35 GMT (envelope-from git) Date: Thu, 9 Feb 2023 14:29:35 GMT Message-Id: <202302091429.319ETZo3050581@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 5a5436eb5d96 - main - netlink: do not require elevated privileges when reading arp/ndp state. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5a5436eb5d960b9e243f8196147c6a51ca4f9dee Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=5a5436eb5d960b9e243f8196147c6a51ca4f9dee commit 5a5436eb5d960b9e243f8196147c6a51ca4f9dee Author: Alexander V. Chernikov AuthorDate: 2023-02-09 14:12:33 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-02-09 14:12:33 +0000 netlink: do not require elevated privileges when reading arp/ndp state. MFC after: 1 day --- sys/netlink/route/neigh.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index 9bcbb68dd375..8cd1e31ce67a 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -519,7 +519,6 @@ static const struct rtnl_cmd_handler cmd_handlers[] = { .cmd = NL_RTM_GETNEIGH, .name = "RTM_GETNEIGH", .cb = &rtnl_handle_getneigh, - .priv = PRIV_NET_ROUTE, } }; From nobody Thu Feb 9 14:50:48 2023 X-Original-To: dev-commits-src-main@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 4PCKYN2pxlz3pLpd; Thu, 9 Feb 2023 14:50: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCKYN23RRz40lC; Thu, 9 Feb 2023 14:50:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675954248; 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=33Ze8hqaZWSqo0gke+U77yccu++d1IPIqY9bSZEFUgA=; b=myjyqp08P8vgoqXlv+qdghrktBaEzYce4/AJzD+oUsXQtSAndZkONfJ43HUfzTkAoyUSYg o8pDA+od/uRqbSq6IhiABHjFpBbRioPmFlre24w1Lec7JrQrGDldOzYA6GgWnUuKjxqGfw 11Y7bcIBJfzTgkOhO2IHIbd7M8oaiWAsWH9+45xG3RpfzEr3VAtIo8RCMDe7fI0GR17/HC ZqqeCPvmSSzakNMBqRTDdY3Ock0Mw873ArIaTFCdonkrRCitGyV2kV5k8HKUjk3EL1Gv2h R8yDj4xLx4hoG3JVdyKer2nFLkwYstWlY4Aa2Zsl8L7k6cv//2YX9Zad2i5cNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675954248; 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=33Ze8hqaZWSqo0gke+U77yccu++d1IPIqY9bSZEFUgA=; b=ItPU7it0UnD4q/vld2w3KFWy2L85+M5rb5ZgPpWMqZ5x/5lFzfG8Hfn6rOP7A7pQEHb0Az AHBuruWQDDDT64ukxYjVNHb0XHrSgbjEALpfiJLScyNSPMoGZ/Nq61k/B+3CglOoO13uQf VWTUWrUrrnKug1qkDvQoInRCpPTxeZ9eoHqKQLpN+epARkaoWDJc+QDuTWIfPi3s7LXivU 2a1XoUSNg0LfeNxaLah+lmC5Wuwd6SB0J+HbOh8VJwArhBl0rihNJODtg2Cv98msLcrsyS nmq+YkPofreVEH+Su//+VyFLIGO0iB+0WndRvj0QqNtTyeo/lfgmgUpTMHolTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675954248; a=rsa-sha256; cv=none; b=Fu0atRpTrSJ5G55nm04vAXTVJGq+CtyEklSzeQJttrYPsxFq/cU6uucO7jvCatd2/0litH ZaGCV3XVE44Fql+BukdSNJ3LkDVUSrq3CIKLuZarz83mzt5SDILTXG0+6eGzj7Jz5vvnc5 ZNZD5VQnZhQUns+O2ojRwetpYbRD97lR8WhJ2Jt0cXAtRL0tLxcTz6Q3EFy8Zkp+/EXtjZ aVkluYaujvfUfRqyRLDmzDNq9HYm6xLutIFPpvA4xTTJqtsZLm66/NtrC2XGkFjmGfudn8 PTODlGayJa+9cNwU3CqHf4z+ExCbomWbDNqJZICcmE1sJw638W1V4kbSyKSfbw== 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 4PCKYN0z2WzgwB; Thu, 9 Feb 2023 14:50:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319Eom6E088009; Thu, 9 Feb 2023 14:50:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319Eomiq088008; Thu, 9 Feb 2023 14:50:48 GMT (envelope-from git) Date: Thu, 9 Feb 2023 14:50:48 GMT Message-Id: <202302091450.319Eomiq088008@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 6332ef894199 - main - testing: handling non-root users with VNETs in pytest-based tests. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6332ef8941999b0c074d1ece0e1e108447c70b98 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=6332ef8941999b0c074d1ece0e1e108447c70b98 commit 6332ef8941999b0c074d1ece0e1e108447c70b98 Author: Alexander V. Chernikov AuthorDate: 2023-02-09 14:31:34 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-02-09 14:49:27 +0000 testing: handling non-root users with VNETs in pytest-based tests. Currently isolation and resource requirements are handled directly by the kyua runner, based on the requirements specified by the test. It works well for simple tests, but may cause discrepancy with tests doing complex pre-setups. For example, all tests that perform VNET setups require root access to properly function. This change adds additional handling of the "require_user" property within the python testing framework. Specifically, it requests root access if the test class signals its root requirements and drops privileges to the desired user after performing the pre-setup. Differential Revision: https://reviews.freebsd.org/D37923 MFC after: 2 weeks --- tests/atf_python/atf_pytest.py | 54 ++++++++++++++++++++++++++++++++++++---- tests/atf_python/sys/net/vnet.py | 3 +++ tests/atf_python/utils.py | 23 ++++++++++++++++- tests/conftest.py | 26 +++++++++++++------ 4 files changed, 92 insertions(+), 14 deletions(-) diff --git a/tests/atf_python/atf_pytest.py b/tests/atf_python/atf_pytest.py index d530c7b4515c..db7244d3234b 100644 --- a/tests/atf_python/atf_pytest.py +++ b/tests/atf_python/atf_pytest.py @@ -3,6 +3,7 @@ from typing import Any from typing import Dict from typing import List from typing import NamedTuple +from typing import Optional from typing import Tuple import pytest @@ -51,10 +52,32 @@ class ATFTestObj(object): return line return obj.name + @staticmethod + def _convert_user_mark(mark, obj, ret: Dict): + username = mark.args[0] + if username == "unprivileged": + # Special unprivileged user requested. + # First, require the unprivileged-user config option presence + key = "require.config" + if key not in ret: + ret[key] = "unprivileged_user" + else: + ret[key] = "{} {}".format(ret[key], "unprivileged_user") + # Check if the framework requires root + test_cls = ATFHandler.get_test_class(obj) + if test_cls and getattr(test_cls, "NEED_ROOT", False): + # Yes, so we ask kyua to run us under root instead + # It is up to the implementation to switch back to the desired + # user + ret["require.user"] = "root" + else: + ret["require.user"] = username + + def _convert_marks(self, obj) -> Dict[str, Any]: wj_func = lambda x: " ".join(x) # noqa: E731 _map: Dict[str, Dict] = { - "require_user": {"name": "require.user"}, + "require_user": {"handler": self._convert_user_mark}, "require_arch": {"name": "require.arch", "fmt": wj_func}, "require_diskspace": {"name": "require.diskspace"}, "require_files": {"name": "require.files", "fmt": wj_func}, @@ -66,6 +89,9 @@ class ATFTestObj(object): ret = {} for mark in obj.iter_markers(): if mark.name in _map: + if "handler" in _map[mark.name]: + _map[mark.name]["handler"](mark, obj, ret) + continue name = _map[mark.name].get("name", mark.name) if "fmt" in _map[mark.name]: val = _map[mark.name]["fmt"](mark.args[0]) @@ -91,8 +117,24 @@ class ATFHandler(object): state: str reason: str - def __init__(self): + def __init__(self, report_file_name: Optional[str]): self._tests_state_map: Dict[str, ReportStatus] = {} + self._report_file_name = report_file_name + self._report_file_handle = None + + def setup_configure(self): + fname = self._report_file_name + if fname: + self._report_file_handle = open(fname, mode="w") + + def setup_method_pre(self, item): + """Called before actually running the test setup_method""" + # Check if we need to manually drop the privileges + for mark in item.iter_markers(): + if mark.name == "require_user": + cls = self.get_test_class(item) + cls.TARGET_USER = mark.args[0] + break def override_runtest(self, obj): # Override basic runtest command @@ -220,7 +262,9 @@ class ATFHandler(object): # global failure self.set_report_state(test_name, state, reason) - def write_report(self, path): + def write_report(self): + if self._report_file_handle is None: + return if self._tests_state_map: # If we're executing in ATF mode, there has to be just one test # Anyway, deterministically pick the first one @@ -230,8 +274,8 @@ class ATFHandler(object): line = test.state else: line = "{}: {}".format(test.state, test.reason) - with open(path, mode="w") as f: - print(line, file=f) + print(line, file=self._report_file_handle) + self._report_file_handle.close() @staticmethod def get_atf_vars() -> Dict[str, str]: diff --git a/tests/atf_python/sys/net/vnet.py b/tests/atf_python/sys/net/vnet.py index 1f61269ffe6c..c0e0a24f6687 100644 --- a/tests/atf_python/sys/net/vnet.py +++ b/tests/atf_python/sys/net/vnet.py @@ -329,6 +329,7 @@ class ObjectsMap(NamedTuple): class VnetTestTemplate(BaseTest): + NEED_ROOT: bool = True TOPOLOGY = {} def _get_vnet_handler(self, vnet_alias: str): @@ -374,6 +375,7 @@ class VnetTestTemplate(BaseTest): # Do unbuffered stdout for children # so the logs are present if the child hangs sys.stdout.reconfigure(line_buffering=True) + self.drop_privileges() handler(vnet) def setup_topology(self, topo: Dict, topology_id: str): @@ -465,6 +467,7 @@ class VnetTestTemplate(BaseTest): # Save state for the main handler self.iface_map = obj_map.iface_map self.vnet_map = obj_map.vnet_map + self.drop_privileges() def cleanup(self, test_id: str): # pytest test id: file::class::test_name diff --git a/tests/atf_python/utils.py b/tests/atf_python/utils.py index fddfadac9a56..c8146b943ce9 100644 --- a/tests/atf_python/utils.py +++ b/tests/atf_python/utils.py @@ -1,8 +1,10 @@ #!/usr/bin/env python3 import os +import pwd from ctypes import CDLL from ctypes import get_errno from ctypes.util import find_library +from typing import Dict from typing import List from typing import Optional @@ -31,6 +33,8 @@ libc = LibCWrapper() class BaseTest(object): + NEED_ROOT: bool = False # True if the class needs root privileges for the setup + TARGET_USER = None # Set to the target user by the framework REQUIRED_MODULES: List[str] = [] def _check_modules(self): @@ -41,9 +45,26 @@ class BaseTest(object): pytest.skip( "kernel module '{}' not available: {}".format(mod_name, err_str) ) + @property + def atf_vars(self) -> Dict[str, str]: + px = "_ATF_VAR_" + return {k[len(px):]: v for k, v in os.environ.items() if k.startswith(px)} + + def drop_privileges_user(self, user: str): + uid = pwd.getpwnam(user)[2] + print("Dropping privs to {}/{}".format(user, uid)) + os.setuid(uid) + + def drop_privileges(self): + if self.TARGET_USER: + if self.TARGET_USER == "unprivileged": + user = self.atf_vars["unprivileged-user"] + else: + user = self.TARGET_USER + self.drop_privileges_user(user) @property - def test_id(self): + def test_id(self) -> str: # 'test_ip6_output.py::TestIP6Output::test_output6_pktinfo[ipandif] (setup)' return os.environ.get("PYTEST_CURRENT_TEST").split(" ")[0] diff --git a/tests/conftest.py b/tests/conftest.py index b5ce5ae2286b..687f6bde375e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -7,10 +7,14 @@ PLUGIN_ENABLED = False DEFAULT_HANDLER = None +def set_handler(config): + global DEFAULT_HANDLER, PLUGIN_ENABLED + DEFAULT_HANDLER = ATFHandler(report_file_name=config.option.atf_file) + PLUGIN_ENABLED = True + return DEFAULT_HANDLER + + def get_handler(): - global DEFAULT_HANDLER - if DEFAULT_HANDLER is None: - DEFAULT_HANDLER = ATFHandler() return DEFAULT_HANDLER @@ -81,11 +85,9 @@ def pytest_configure(config): "markers", "timeout(dur): int/float with max duration in sec" ) - global PLUGIN_ENABLED - PLUGIN_ENABLED = config.option.atf - if not PLUGIN_ENABLED: + if not config.option.atf: return - get_handler() + handler = set_handler(config) if config.option.collectonly: # Need to output list of tests to stdout, hence override @@ -93,6 +95,8 @@ def pytest_configure(config): reporter = config.pluginmanager.getplugin("terminalreporter") if reporter: config.pluginmanager.unregister(reporter) + else: + handler.setup_configure() def pytest_collection_modifyitems(session, config, items): @@ -114,6 +118,12 @@ def pytest_collection_finish(session): handler.list_tests(session.items) +def pytest_runtest_setup(item): + if PLUGIN_ENABLED: + handler = get_handler() + handler.setup_method_pre(item) + + def pytest_runtest_logreport(report): if PLUGIN_ENABLED: handler = get_handler() @@ -123,4 +133,4 @@ def pytest_runtest_logreport(report): def pytest_unconfigure(config): if PLUGIN_ENABLED and config.option.atf_file: handler = get_handler() - handler.write_report(config.option.atf_file) + handler.write_report() From nobody Thu Feb 9 15:17:12 2023 X-Original-To: dev-commits-src-main@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 4PCL7s3pNlz3pf95; Thu, 9 Feb 2023 15:17: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCL7s2ndGz43ct; Thu, 9 Feb 2023 15:17:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675955833; 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=oKs40PqIIVzLofkwuDtDiqxMUZcA3ELGPY6m308lq9A=; b=pXKoYIQS0gjMZQHJFgg5mpCauPtUGoOAtqA1b/3Vvx/t/WVVZXQkCRtLBPsxozXr3mkclA GmC1tZdVYZB9hQBs+Y78j5owK7ihSip0NDC/R7+vnsexKR07Gp9HMIahSE0lRo8c4VE5u6 qI2iuFM6+Zkue8FM3NQzQiIIFOm+MLB5fQLHzCzYFx2JEkow15IaUK9Y8H+ED6UBGCPgk7 2+qu+D9Ub2WDUc9iQqXAFGADBwIAu+6Z0jzeiTPaD51nuD3aNEQBO/sGz3Hy/RiS/4SgAb Zj0pLawOM6W6R3UnQF8qeghnlkQVz+XM2no+Ne80Q7giAwW5IM0qi9N4o9l+uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675955833; 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=oKs40PqIIVzLofkwuDtDiqxMUZcA3ELGPY6m308lq9A=; b=HLf2SKFLHN73XDKOz2MiQMvYL1/i7X5Beiw8qrQkFPrs1W3JBvDhiSlHgrvb2oc1uipTxc FevoNSckgNErSe1erfWk1F++8Y+HaKAZN899gZUre0MKzoYfKiEvK6Vg2IGGCejuUH+abZ CNUd3mFm+Arqyga7aXbn94mk04YzxA6JuEYQEBiSfu4aIEYVPVX5uoXZ2VB20FO6p2b5ZZ 9Dyees9vg+1wPSi3Wy07P0e9u+rZtNPUQtuffZ6o3TTakH32cVW3sj3eon3zfcu8ctGfmZ OgTLDGH5g6Y4KR2chGFqqYZm9BKZkgdQ7mlY9gG+x9WuU1OnwRIom/y13yu3Cw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675955833; a=rsa-sha256; cv=none; b=suvU4Y6c3IfHTGEcSeqkNCzqLlIBZdVWShX3w0GHrZ81Z97/fKqZvJxEz1Hz5OIKZi329x W5eOn+0r8u3OwPIzCoKXhATjzkdrZFbAWNljLq5oIGSgILKjETwWnDrfD9TWWcSd1V1wNL O5YB3I7zv55Hmb342SQHS14iFcKG/CldaHUpWJKTpHbDl3airGBGmIlg5SitqBf/VwNF0X WRPDwfvKE8zwopmehV0D8bPSZsWog9yMxkNd+xNDyHXykCTWglwdoRxa0ecJwRfsx1j35e 7EQLWh6ZSmoRhH7LvW0oD2tQJQ4slkfLs/jjZpEgVcQQIT0cg68A2ozAyEmK+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 4PCL7s0PCdzhlD; Thu, 9 Feb 2023 15:17:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319FHCvm022157; Thu, 9 Feb 2023 15:17:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319FHC1O022156; Thu, 9 Feb 2023 15:17:12 GMT (envelope-from git) Date: Thu, 9 Feb 2023 15:17:12 GMT Message-Id: <202302091517.319FHC1O022156@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 08b0c98006b6 - main - atomic: Fix the atomic_load_ptr() *SAN interceptor List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 08b0c98006b6b9f3722df0ce462f6a4aa8ee06f2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=08b0c98006b6b9f3722df0ce462f6a4aa8ee06f2 commit 08b0c98006b6b9f3722df0ce462f6a4aa8ee06f2 Author: Mark Johnston AuthorDate: 2023-02-09 14:54:52 +0000 Commit: Mark Johnston CommitDate: 2023-02-09 15:16:34 +0000 atomic: Fix the atomic_load_ptr() *SAN interceptor The interceptor didn't handle a pointer of type "foo * const *" and in that case we'd get compiler errors 1) an invalid cast to volatile uintptr_t, and 2) an assignment to a variable of type "foo * const" (__retptr). Reported by: mjg MFC after: 1 week --- sys/sys/atomic_san.h | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/sys/sys/atomic_san.h b/sys/sys/atomic_san.h index beeea82a666b..3a72cb4b4980 100644 --- a/sys/sys/atomic_san.h +++ b/sys/sys/atomic_san.h @@ -267,17 +267,11 @@ ATOMIC_SAN_THREAD_FENCE(SAN_INTERCEPTOR_PREFIX); #define atomic_fcmpset_acq_ptr ATOMIC_SAN(fcmpset_acq_ptr) #define atomic_fcmpset_rel_ptr ATOMIC_SAN(fcmpset_rel_ptr) #define atomic_fetchadd_ptr ATOMIC_SAN(fetchadd_ptr) -#define atomic_load_ptr(x) ({ \ - __typeof(*x) __retptr; \ - __retptr = (void *)ATOMIC_SAN(load_ptr)((volatile uintptr_t *)(x)); \ - __retptr; \ -}) +#define atomic_load_ptr(x) \ + ((void *)ATOMIC_SAN(load_ptr)(__DECONST(volatile uintptr_t *, (x)))) #define atomic_load_acq_ptr ATOMIC_SAN(load_acq_ptr) -#define atomic_load_consume_ptr(x) ({ \ - __typeof(*x) __retptr; \ - __retptr = (void *)atomic_load_acq_ptr((volatile uintptr_t *)(x));\ - __retptr; \ -}) +#define atomic_load_consume_ptr(x) \ + ((void *)atomic_load_acq_ptr((volatile uintptr_t *)(x))) #define atomic_readandclear_ptr ATOMIC_SAN(readandclear_ptr) #define atomic_set_ptr ATOMIC_SAN(set_ptr) #define atomic_set_acq_ptr ATOMIC_SAN(set_acq_ptr) From nobody Thu Feb 9 15:30:09 2023 X-Original-To: dev-commits-src-main@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 4PCLQn35lwz3pg6Z; Thu, 9 Feb 2023 15:30: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCLQn2sbpz450x; Thu, 9 Feb 2023 15:30:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675956609; 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=IABNxK7nfSBhhY2BcG0zbz4Fx4g+UUsBzndkdbuOlq0=; b=VG7HG/aZe0DgftauIalSy55urDnVQNSfu8OUNaN/GrSYmkXnKdC/Yin6UgsswsjBzEYzxS uMkbapmxSLK0JGTz5kZSZqpdDZyo48Jr7pdYw+isX/85kZ7RO3iAbi7QhC/nqCNm7Z/t/W BDhA3OXoLcJmo2OKxzVoubAZ93i5BtfFjM3DPgSM7sCN/80mA4uVPdNza3VB0HGdUd32aW XH3jNrZjKGW53jkIXCkmBNC3AXXokWGHLyHa7+iXtQ1JlNsFjun82J8wsNLTGkXtdUTZ7r VpN9dgqpmGuSEFxTnC3FiBJf2hF2keQcLWScB4tVCK+6xdbUMCFGPnYWDTl38g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675956609; 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=IABNxK7nfSBhhY2BcG0zbz4Fx4g+UUsBzndkdbuOlq0=; b=stbKeADYstgah5CD2rgOtUzNsASF4phEpI+YU7BZvKKzoWnOSbGYWbL1kqpG8u7v5iPJ4p 3XUTUSk4BbCvTtLIA7Qpq687oQ25mqM5NxAoBPDdE2Px8WiEBe5lSSFjuZIcqLOc3xDOPp hB995/XMua+9W8WOcOYRmNNxDX1tpvZH3ZLmrk7LMf/+L7wXeMWqTTT5M6En68wp5NHVpD xK0ABKf/o2PuZoxothfMLTeNFJ1sn0dNLzziuutQjZQzs4PB8ntsjrZjRc2sG1J6ciyCQ8 rWs3Bsr5Hv4Y93j+ZbG9zO1mllh3y2IK3hupQ7vnE9criPKZKzGAcHk2OyL2JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675956609; a=rsa-sha256; cv=none; b=DmQfBLrwesgOzpCiDQxxP6E2zKdnci3fZ+b0DW1MI81002cAXPg+L90id5sMh0yQCI7aQ8 /N0qtUsHyGnbXrrKt0Ty/55pj8iyHLgBbetbcsjjmp//XtKB8dKzxCveHfclYenUfohiIe M2doEC7pAy0GUYtthgHL1rwhpei/QIODKnAuXCgFq6+2s+TZQCOkzA2DoCp5LtuySyYGc4 F2ftcZQv/bW7QolMZwJAjCUIWEGsHWiKdujyaXji3ZuvBWOCiY/NVgF6RUgnmRKetTDCkM zxYKv1cvJyJ5wuu9a3h4cjIYoy+Yqm3WvX97TraCDTgAi7+Ut6/pqCwH21HNmQ== 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 4PCLQn1r6MzhpM; Thu, 9 Feb 2023 15:30:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319FU9TK040627; Thu, 9 Feb 2023 15:30:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319FU9H9040616; Thu, 9 Feb 2023 15:30:09 GMT (envelope-from git) Date: Thu, 9 Feb 2023 15:30:09 GMT Message-Id: <202302091530.319FU9H9040616@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 25c2dd2f2c6c - main - netlink: return optional metadata with the operation result. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 25c2dd2f2c6c6144d59d463c95f0471301d6efaa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=25c2dd2f2c6c6144d59d463c95f0471301d6efaa commit 25c2dd2f2c6c6144d59d463c95f0471301d6efaa Author: Alexander V. Chernikov AuthorDate: 2023-02-09 14:53:44 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-02-09 15:30:00 +0000 netlink: return optional metadata with the operation result. Some operations like interface creation may need to return metadata - in this case, interface name - back to the caller if the operation is successful. This change implements attaching an `NLMSGERR_ATTR_COOKIE` nla to the operation reply message via `nlmsg_report_cookie()`. Additionally, on successful interface creation, interface index and interface name are returned in the `IFLA_NEW_IFINDEX` and `IFLA_IFNAME TLVs, encapsulated in the `NLMSGERR_ATTR_COOKIE`. Reviewed By: pauamma Differential Revision: https://reviews.freebsd.org/D38283 MFC after: 1 week --- share/man/man4/netlink.4 | 4 ++ share/man/man4/rtnetlink.4 | 7 ++ sys/netlink/netlink_message_parser.c | 19 +++++ sys/netlink/netlink_message_parser.h | 4 ++ sys/netlink/netlink_message_writer.c | 6 +- sys/netlink/netlink_message_writer.h | 31 ++++++++ sys/netlink/route/iface_drivers.c | 37 ++++++++++ tests/atf_python/sys/net/netlink.py | 134 +++++++++++++++++++---------------- tests/sys/netlink/test_rtnl_iface.py | 35 +++++++++ 9 files changed, 213 insertions(+), 64 deletions(-) diff --git a/share/man/man4/netlink.4 b/share/man/man4/netlink.4 index 1894de5841fe..fdcc823b01a6 100644 --- a/share/man/man4/netlink.4 +++ b/share/man/man4/netlink.4 @@ -217,6 +217,10 @@ socket option is set, the kernel may add a string TLV with the textual error description, optionally followed by the .Dv NLMSGERR_ATTR_OFFS TLV, indicating the offset from the message start that triggered an error. +Some operations may return additional metadata encapsulated in the +.Dv NLMSGERR_ATTR_COOKIE +TLV. +The metadata format is specific to the operation. If the operation reply is a multipart message, then no .Dv NLMSG_ERROR reply is generated, only a diff --git a/share/man/man4/rtnetlink.4 b/share/man/man4/rtnetlink.4 index 5849508b74c2..2c601251f7b0 100644 --- a/share/man/man4/rtnetlink.4 +++ b/share/man/man4/rtnetlink.4 @@ -284,6 +284,13 @@ struct ifinfomsg { Creates a new interface. The only mandatory TLV is .Dv IFLA_IFNAME . +The following attributes are returned inside the nested +.Dv NLMSGERR_ATTR_COOKIE : +.Pp +.Bd -literal -offset indent -compact +IFLA_NEW_IFINDEX (uint32) created interface index +IFLA_IFNAME (string) created interface name +.Ed .Ss RTM_DELLINK Deletes the interface specified by .Dv IFLA_IFNAME . diff --git a/sys/netlink/netlink_message_parser.c b/sys/netlink/netlink_message_parser.c index dc0c38712613..e30138266d9d 100644 --- a/sys/netlink/netlink_message_parser.c +++ b/sys/netlink/netlink_message_parser.c @@ -78,6 +78,25 @@ nlmsg_report_err_offset(struct nl_pstate *npt, uint32_t off) return (true); } +void +nlmsg_report_cookie(struct nl_pstate *npt, struct nlattr *nla) +{ + MPASS(nla->nla_type == NLMSGERR_ATTR_COOKIE); + MPASS(nla->nla_len >= sizeof(struct nlattr)); + npt->cookie = nla; +} + +void +nlmsg_report_cookie_u32(struct nl_pstate *npt, uint32_t val) +{ + struct nlattr *nla = npt_alloc(npt, sizeof(*nla) + sizeof(uint32_t)); + + nla->nla_type = NLMSGERR_ATTR_COOKIE; + nla->nla_len = sizeof(*nla) + sizeof(uint32_t); + memcpy(nla + 1, &val, sizeof(uint32_t)); + nlmsg_report_cookie(npt, nla); +} + static const struct nlattr_parser * search_states(const struct nlattr_parser *ps, int pslen, int key) { diff --git a/sys/netlink/netlink_message_parser.h b/sys/netlink/netlink_message_parser.h index 94f0ca5260d7..083c93dcbf8d 100644 --- a/sys/netlink/netlink_message_parser.h +++ b/sys/netlink/netlink_message_parser.h @@ -71,6 +71,7 @@ struct nl_pstate { uint32_t err_off; /* error offset from hdr start */ int error; /* last operation error */ char *err_msg; /* Description of last error */ + struct nlattr *cookie; /* NLA to return to the userspace */ bool strict; /* Strict parsing required */ }; @@ -198,6 +199,9 @@ bool nlmsg_report_err_msg(struct nl_pstate *npt, const char *fmt, ...); bool nlmsg_report_err_offset(struct nl_pstate *npt, uint32_t off); +void nlmsg_report_cookie(struct nl_pstate *npt, struct nlattr *nla); +void nlmsg_report_cookie_u32(struct nl_pstate *npt, uint32_t val); + /* * Have it inline so compiler can optimize field accesses into * the list of direct function calls without iteration. diff --git a/sys/netlink/netlink_message_writer.c b/sys/netlink/netlink_message_writer.c index 2187c40f2786..8a9315eedd1b 100644 --- a/sys/netlink/netlink_message_writer.c +++ b/sys/netlink/netlink_message_writer.c @@ -643,10 +643,6 @@ nlmsg_ack(struct nlpcb *nlp, int error, struct nlmsghdr *hdr, if ((npt->err_msg || npt->err_off) && nlp->nl_flags & NLF_EXT_ACK) nl_flags |= NLM_F_ACK_TLVS; - /* - * TODO: handle cookies - */ - NL_LOG(LOG_DEBUG3, "acknowledging message type %d seq %d", hdr->nlmsg_type, hdr->nlmsg_seq); @@ -662,6 +658,8 @@ nlmsg_ack(struct nlpcb *nlp, int error, struct nlmsghdr *hdr, nlattr_add_string(nw, NLMSGERR_ATTR_MSG, npt->err_msg); if (npt->err_off != 0 && nlp->nl_flags & NLF_EXT_ACK) nlattr_add_u32(nw, NLMSGERR_ATTR_OFFS, npt->err_off); + if (npt->cookie != NULL) + nlattr_add_raw(nw, npt->cookie); if (nlmsg_end(nw)) return; diff --git a/sys/netlink/netlink_message_writer.h b/sys/netlink/netlink_message_writer.h index 99f50fb94213..bb4bb759251a 100644 --- a/sys/netlink/netlink_message_writer.h +++ b/sys/netlink/netlink_message_writer.h @@ -163,6 +163,27 @@ _nlmsg_reserve_attr(struct nl_writer *nw, uint16_t nla_type, uint16_t sz) } #define nlmsg_reserve_attr(_ns, _at, _t) ((_t *)_nlmsg_reserve_attr(_ns, _at, NLA_ALIGN(sizeof(_t)))) +static inline bool +nlattr_add_nla(struct nl_writer *nw, const struct nlattr *nla_src) +{ + MPASS(nla_src->nla_len >= sizeof(struct nlattr)); + + int required_len = NLA_ALIGN(nla_src->nla_len); + if (__predict_false(nw->offset + required_len > nw->alloc_len)) { + if (!nlmsg_refill_buffer(nw, required_len)) + return (false); + } + + struct nlattr *nla = (struct nlattr *)(&nw->data[nw->offset]); + if ((nla_src->nla_len % 4) != 0) { + /* clear padding bytes */ + bzero((char *)nla + nla_src->nla_len - 4, 4); + } + memcpy(nla, nla_src, nla_src->nla_len); + nw->offset += required_len; + return (true); +} + static inline bool nlattr_add(struct nl_writer *nw, int attr_type, int attr_len, const void *data) { @@ -188,6 +209,16 @@ nlattr_add(struct nl_writer *nw, int attr_type, int attr_len, const void *data) return (true); } +static inline bool +nlattr_add_raw(struct nl_writer *nw, const struct nlattr *nla_src) +{ + int attr_len = nla_src->nla_len - sizeof(struct nlattr); + + MPASS(attr_len >= 0); + + return (nlattr_add(nw, nla_src->nla_type, attr_len, (const void *)(nla_src + 1))); +} + static inline bool nlattr_add_u8(struct nl_writer *nw, int attrtype, uint8_t value) { diff --git a/sys/netlink/route/iface_drivers.c b/sys/netlink/route/iface_drivers.c index 7f098b808743..e944fe88994e 100644 --- a/sys/netlink/route/iface_drivers.c +++ b/sys/netlink/route/iface_drivers.c @@ -109,6 +109,41 @@ modify_generic(struct ifnet *ifp, struct nl_parsed_link *lattrs, return (0); } +/* + * Saves the resulting ifindex and ifname to report them + * to userland along with the operation result. + * NLA format: + * NLMSGERR_ATTR_COOKIE(nested) + * IFLA_NEW_IFINDEX(u32) + * IFLA_IFNAME(string) + */ +static void +store_cookie(struct nl_pstate *npt, struct ifnet *ifp) +{ + int ifname_len = strlen(if_name(ifp)); + uint32_t ifindex = (uint32_t)ifp->if_index; + + int nla_len = sizeof(struct nlattr) * 3 + + sizeof(ifindex) + NL_ITEM_ALIGN(ifname_len + 1); + struct nlattr *nla_cookie = npt_alloc(npt, nla_len); + + /* Nested TLV */ + nla_cookie->nla_len = nla_len; + nla_cookie->nla_type = NLMSGERR_ATTR_COOKIE; + + struct nlattr *nla = nla_cookie + 1; + nla->nla_len = sizeof(struct nlattr) + sizeof(ifindex); + nla->nla_type = IFLA_NEW_IFINDEX; + memcpy(NLA_DATA(nla), &ifindex, sizeof(ifindex)); + + nla = NLA_NEXT(nla); + nla->nla_len = sizeof(struct nlattr) + ifname_len + 1; + nla->nla_type = IFLA_IFNAME; + strlcpy(NLA_DATA(nla), if_name(ifp), ifname_len + 1); + + nlmsg_report_cookie(npt, nla_cookie); +} + /* * Generic creation interface handler. * Responsible for creating interfaces w/o parameters and setting @@ -135,6 +170,8 @@ create_generic(struct nl_parsed_link *lattrs, const struct nlattr_bmask *bm, if (!success) return (EINVAL); error = modify_generic(ifp, lattrs, bm, nlp, npt); + if (error == 0) + store_cookie(npt, ifp); if_rele(ifp); } diff --git a/tests/atf_python/sys/net/netlink.py b/tests/atf_python/sys/net/netlink.py index 57c8582627cf..ba7d41c7cbf8 100644 --- a/tests/atf_python/sys/net/netlink.py +++ b/tests/atf_python/sys/net/netlink.py @@ -950,58 +950,68 @@ def prepare_attrs_map(attrs: List[AttrDescr]) -> Dict[str, Dict]: return ret -rtnl_route_attrs = [ - AttrDescr(RtattrType.RTA_DST, NlAttrIp), - AttrDescr(RtattrType.RTA_SRC, NlAttrIp), - AttrDescr(RtattrType.RTA_IIF, NlAttrIfindex), - AttrDescr(RtattrType.RTA_OIF, NlAttrIfindex), - AttrDescr(RtattrType.RTA_GATEWAY, NlAttrTable), - AttrDescr(RtattrType.RTA_VIA, NlAttrVia), - AttrDescr(RtattrType.RTA_NH_ID, NlAttrNhId), - AttrDescr( - RtattrType.RTA_METRICS, - NlAttrNested, - [ - AttrDescr(NlRtaxType.RTAX_MTU, NlAttrU32), - ], - ), -] - -nldone_attrs = [] - -nlerr_attrs = [ - AttrDescr(NlErrattrType.NLMSGERR_ATTR_MSG, NlAttrStr), - AttrDescr(NlErrattrType.NLMSGERR_ATTR_OFFS, NlAttrU32), -] - -rtnl_ifla_attrs = [ - AttrDescr(IflattrType.IFLA_ADDRESS, NlAttrMac), - AttrDescr(IflattrType.IFLA_BROADCAST, NlAttrMac), - AttrDescr(IflattrType.IFLA_IFNAME, NlAttrStr), - AttrDescr(IflattrType.IFLA_MTU, NlAttrU32), - AttrDescr(IflattrType.IFLA_PROMISCUITY, NlAttrU32), - AttrDescr(IflattrType.IFLA_OPERSTATE, NlAttrU8), - AttrDescr(IflattrType.IFLA_CARRIER, NlAttrU8), - AttrDescr(IflattrType.IFLA_IFALIAS, NlAttrStr), - AttrDescr(IflattrType.IFLA_STATS64, NlAttrIfStats), - AttrDescr( - IflattrType.IFLA_LINKINFO, - NlAttrNested, - [ - AttrDescr(IflinkInfo.IFLA_INFO_KIND, NlAttrStr), - AttrDescr(IflinkInfo.IFLA_INFO_DATA, NlAttr), - ], - ), -] - -rtnl_ifa_attrs = [ - AttrDescr(IfattrType.IFA_ADDRESS, NlAttrIp), - AttrDescr(IfattrType.IFA_LOCAL, NlAttrIp), - AttrDescr(IfattrType.IFA_LABEL, NlAttrStr), - AttrDescr(IfattrType.IFA_BROADCAST, NlAttrIp), - AttrDescr(IfattrType.IFA_ANYCAST, NlAttrIp), - AttrDescr(IfattrType.IFA_FLAGS, NlAttrU32), -] +rtnl_route_attrs = prepare_attrs_map( + [ + AttrDescr(RtattrType.RTA_DST, NlAttrIp), + AttrDescr(RtattrType.RTA_SRC, NlAttrIp), + AttrDescr(RtattrType.RTA_IIF, NlAttrIfindex), + AttrDescr(RtattrType.RTA_OIF, NlAttrIfindex), + AttrDescr(RtattrType.RTA_GATEWAY, NlAttrTable), + AttrDescr(RtattrType.RTA_VIA, NlAttrVia), + AttrDescr(RtattrType.RTA_NH_ID, NlAttrNhId), + AttrDescr( + RtattrType.RTA_METRICS, + NlAttrNested, + [ + AttrDescr(NlRtaxType.RTAX_MTU, NlAttrU32), + ], + ), + ] +) + +nldone_attrs = prepare_attrs_map([]) + +nlerr_attrs = prepare_attrs_map( + [ + AttrDescr(NlErrattrType.NLMSGERR_ATTR_MSG, NlAttrStr), + AttrDescr(NlErrattrType.NLMSGERR_ATTR_OFFS, NlAttrU32), + AttrDescr(NlErrattrType.NLMSGERR_ATTR_COOKIE, NlAttr), + ] +) + +rtnl_ifla_attrs = prepare_attrs_map( + [ + AttrDescr(IflattrType.IFLA_ADDRESS, NlAttrMac), + AttrDescr(IflattrType.IFLA_BROADCAST, NlAttrMac), + AttrDescr(IflattrType.IFLA_IFNAME, NlAttrStr), + AttrDescr(IflattrType.IFLA_MTU, NlAttrU32), + AttrDescr(IflattrType.IFLA_PROMISCUITY, NlAttrU32), + AttrDescr(IflattrType.IFLA_OPERSTATE, NlAttrU8), + AttrDescr(IflattrType.IFLA_CARRIER, NlAttrU8), + AttrDescr(IflattrType.IFLA_IFALIAS, NlAttrStr), + AttrDescr(IflattrType.IFLA_STATS64, NlAttrIfStats), + AttrDescr(IflattrType.IFLA_NEW_IFINDEX, NlAttrU32), + AttrDescr( + IflattrType.IFLA_LINKINFO, + NlAttrNested, + [ + AttrDescr(IflinkInfo.IFLA_INFO_KIND, NlAttrStr), + AttrDescr(IflinkInfo.IFLA_INFO_DATA, NlAttr), + ], + ), + ] +) + +rtnl_ifa_attrs = prepare_attrs_map( + [ + AttrDescr(IfattrType.IFA_ADDRESS, NlAttrIp), + AttrDescr(IfattrType.IFA_LOCAL, NlAttrIp), + AttrDescr(IfattrType.IFA_LABEL, NlAttrStr), + AttrDescr(IfattrType.IFA_BROADCAST, NlAttrIp), + AttrDescr(IfattrType.IFA_ANYCAST, NlAttrIp), + AttrDescr(IfattrType.IFA_FLAGS, NlAttrU32), + ] +) class BaseNetlinkMessage(object): @@ -1140,7 +1150,7 @@ class StdNetlinkMessage(BaseNetlinkMessage): raise return self - def _parse_attrs(self, data: bytes, attr_map): + def parse_attrs(self, data: bytes, attr_map): ret = [] off = 0 while len(data) - off >= 4: @@ -1157,7 +1167,7 @@ class StdNetlinkMessage(BaseNetlinkMessage): val = v["ad"].cls.from_bytes(data[off : off + nla_len], v["ad"].val) if "child" in v: # nested - attrs, _ = self._parse_attrs(data[off : off + nla_len], v["child"]) + attrs, _ = self.parse_attrs(data[off : off + nla_len], v["child"]) val = NlAttrNested(raw_nla_type, attrs) else: # unknown attribute @@ -1167,7 +1177,7 @@ class StdNetlinkMessage(BaseNetlinkMessage): return ret, off def parse_nla_list(self, data: bytes) -> List[NlAttr]: - return self._parse_attrs(data, self.nl_attrs_map) + return self.parse_attrs(data, self.nl_attrs_map) def print_message(self): self.print_nl_header(self.nl_hdr) @@ -1178,7 +1188,7 @@ class StdNetlinkMessage(BaseNetlinkMessage): class NetlinkDoneMessage(StdNetlinkMessage): messages = [NlMsgType.NLMSG_DONE.value] - nl_attrs_map = prepare_attrs_map(nldone_attrs) + nl_attrs_map = nldone_attrs @property def error_code(self): @@ -1197,7 +1207,7 @@ class NetlinkDoneMessage(StdNetlinkMessage): class NetlinkErrorMessage(StdNetlinkMessage): messages = [NlMsgType.NLMSG_ERROR.value] - nl_attrs_map = prepare_attrs_map(nlerr_attrs) + nl_attrs_map = nlerr_attrs @property def error_code(self): @@ -1217,6 +1227,10 @@ class NetlinkErrorMessage(StdNetlinkMessage): return nla.u32 return None + @property + def cookie(self): + return self.get_nla(NlErrattrType.NLMSGERR_ATTR_COOKIE) + def parse_base_header(self, data): if len(data) < sizeof(Nlmsgerr): raise ValueError("length less than nlmsgerr header") @@ -1257,7 +1271,7 @@ class NetlinkRtMessage(BaseNetlinkRtMessage): NlRtMsgType.RTM_DELROUTE.value, NlRtMsgType.RTM_GETROUTE.value, ] - nl_attrs_map = prepare_attrs_map(rtnl_route_attrs) + nl_attrs_map = rtnl_route_attrs def __init__(self, helper, nlm_type): super().__init__(helper, nlm_type) @@ -1297,7 +1311,7 @@ class NetlinkIflaMessage(BaseNetlinkRtMessage): NlRtMsgType.RTM_DELLINK.value, NlRtMsgType.RTM_GETLINK.value, ] - nl_attrs_map = prepare_attrs_map(rtnl_ifla_attrs) + nl_attrs_map = rtnl_ifla_attrs def __init__(self, helper, nlm_type): super().__init__(helper, nlm_type) @@ -1329,7 +1343,7 @@ class NetlinkIfaMessage(BaseNetlinkRtMessage): NlRtMsgType.RTM_DELADDR.value, NlRtMsgType.RTM_GETADDR.value, ] - nl_attrs_map = prepare_attrs_map(rtnl_ifa_attrs) + nl_attrs_map = rtnl_ifa_attrs def __init__(self, helper, nlm_type): super().__init__(helper, nlm_type) diff --git a/tests/sys/netlink/test_rtnl_iface.py b/tests/sys/netlink/test_rtnl_iface.py index 7cff592b1676..ecc932c6213e 100644 --- a/tests/sys/netlink/test_rtnl_iface.py +++ b/tests/sys/netlink/test_rtnl_iface.py @@ -17,6 +17,7 @@ from atf_python.sys.net.netlink import NlmBaseFlags from atf_python.sys.net.netlink import NlmNewFlags from atf_python.sys.net.netlink import NlMsgType from atf_python.sys.net.netlink import NlRtMsgType +from atf_python.sys.net.netlink import rtnl_ifla_attrs from atf_python.sys.net.vnet import SingleVnetTestTemplate @@ -91,6 +92,40 @@ class TestRtNlIface(NetlinkTestTemplate, SingleVnetTestTemplate): self.get_interface_byname("lo10") + @pytest.mark.require_user("root") + def test_create_iface_plain_retvals(self): + """Tests loopback creation w/o any parameters""" + flags = NlmNewFlags.NLM_F_EXCL.value | NlmNewFlags.NLM_F_CREATE.value + msg = NetlinkIflaMessage(self.helper, NlRtMsgType.RTM_NEWLINK.value) + msg.nl_hdr.nlmsg_flags = ( + flags | NlmBaseFlags.NLM_F_ACK.value | NlmBaseFlags.NLM_F_REQUEST.value + ) + msg.add_nla(NlAttrStr(IflattrType.IFLA_IFNAME, "lo10")) + msg.add_nla( + NlAttrNested( + IflattrType.IFLA_LINKINFO, + [ + NlAttrStrn(IflinkInfo.IFLA_INFO_KIND, "lo"), + ], + ) + ) + + rx_msg = self.get_reply(msg) + assert rx_msg.is_type(NlMsgType.NLMSG_ERROR) + assert rx_msg.error_code == 0 + assert rx_msg.cookie is not None + nla_list, _ = rx_msg.parse_attrs(bytes(rx_msg.cookie)[4:], rtnl_ifla_attrs) + nla_map = {n.nla_type: n for n in nla_list} + assert IflattrType.IFLA_IFNAME.value in nla_map + assert nla_map[IflattrType.IFLA_IFNAME.value].text == "lo10" + assert IflattrType.IFLA_NEW_IFINDEX.value in nla_map + assert nla_map[IflattrType.IFLA_NEW_IFINDEX.value].u32 > 0 + + lo_msg = self.get_interface_byname("lo10") + assert ( + lo_msg.base_hdr.ifi_index == nla_map[IflattrType.IFLA_NEW_IFINDEX.value].u32 + ) + @pytest.mark.require_user("root") def test_create_iface_attrs(self): """Tests interface creation with additional properties""" From nobody Thu Feb 9 16:02:40 2023 X-Original-To: dev-commits-src-main@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 4PCM8K1CXwz3pkRT; Thu, 9 Feb 2023 16:02:41 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCM8K0fwWz4Dk2; Thu, 9 Feb 2023 16:02:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958561; 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=wFi9Raue7JVrN6KW6mKUFEM/sFunZjg5P7+WK6C9p7w=; b=Y7hlPlE7iwADRFKpdCe5ktar2DxZC0n7SwLRR3WnNdzbxCP/UTUAR1tXC0nVv7rLGpenz+ 7r16l2nPalkyc++n3SRQpL1hs1Rh3dZXC7Xpvbpp0wrmdYW+JmLOME5e3NfgenHmzXr38H AwCjn/MtGzMbsmpq2xX/KYNpNL10n4Zrty2ZySp2qs4eUxieA3PF1/i4HOzcX/TwLX2EBz 5sIYMlJ6/R5FLDYAKCctUHtAE2LOn8mL3POtnELP15ERX0uFDYfpdCcH+bocAGTtITyU0P Wh7LVPlGXp1qthGLrg542TvTOb7+/QPz7unsX+Gpm03VaglYOIfR6himzZYIZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958561; 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=wFi9Raue7JVrN6KW6mKUFEM/sFunZjg5P7+WK6C9p7w=; b=OkizNX1GdTb7tbf79Xkyku75j69xOMzWLxI4Kh7wenq3vRRLTwLV4AFRNTnBj5KS9fzbvt 83LnzjphT/Jtr2x7aj+XfNL9fC2OQa2gGEpIdiMSOnDQNXfZHWYOi1hpUhy6L/Uzdyw5aT XwtGo8fwZOEDrQmoZGeZwmrD7G6oAzwEG/cE2K56sLbEG/roHAq1EGY3u5z0UsNKddMVl+ fH7l4rPWEWtXktJOKvbM7MyIWJL43/zKa8Ehloloj9jn3EPl9DjWDlkbSgPjEXyWjj9hD3 NDk/37gDh4G5L7L7cqLbdgv3hnni61GxHlnRs2uEmpARSQ51d/PnkaK6pDr+yQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675958561; a=rsa-sha256; cv=none; b=qFP0WHCxVZtZTYEyV425CKrYugMiod0td7A8PjXYKVtR9tQDdIwPi1/o7+N6c4eY8e28rn Y6c7dXXz9Ik5U7p67YK76l8vrdOZrqpzppP26y0Bp52wanrMo6GhG0XPHtk8FwmNJvBvz8 2rIDfco0qpH9jcNts5+98iWj19fb2SPBeK/STugjkGaFYBkeEMKNA+H5AhE8mXcCjOFr9l mStICaEF5RFHZXOR2ABXRMf22clJDvPVsl4rNyo4tulok2rNld1KNxlONe7Q5msrSOeRHb M0yqBj6ON7rqe7I+UYsLJb+eeruo7gi/eEPnqTGPUSWKoUAPrr/4/+Hsy5SQIQ== 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 4PCM8J6nbLzjyv; Thu, 9 Feb 2023 16:02:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319G2eHD094617; Thu, 9 Feb 2023 16:02:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319G2ej9094616; Thu, 9 Feb 2023 16:02:40 GMT (envelope-from git) Date: Thu, 9 Feb 2023 16:02:40 GMT Message-Id: <202302091602.319G2ej9094616@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: a7a452fedc42 - main - Update comments referencing create_thread() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a7a452fedc42d9e260224b7e2cd833df7287319f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=a7a452fedc42d9e260224b7e2cd833df7287319f commit a7a452fedc42d9e260224b7e2cd833df7287319f Author: Mitchell Horne AuthorDate: 2023-02-09 15:34:38 +0000 Commit: Mitchell Horne CommitDate: 2023-02-09 15:58:06 +0000 Update comments referencing create_thread() The equivalent function is now named thread_create(). Mention kthread_add() where it is also relevant. Reviewed by: kib, markj MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38180 --- sys/kern/kern_kthread.c | 2 +- sys/sys/proc.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/kern/kern_kthread.c b/sys/kern/kern_kthread.c index 2eef7798f3d6..782370b1ba77 100644 --- a/sys/kern/kern_kthread.c +++ b/sys/kern/kern_kthread.c @@ -296,7 +296,7 @@ kthread_add(void (*func)(void *), void *arg, struct proc *p, thread_cow_get_proc(newtd, p); - /* this code almost the same as create_thread() in kern_thr.c */ + /* This code is similar to thread_create() in kern_thr.c. */ p->p_flag |= P_HADTHREADS; thread_link(newtd, p); thread_lock(oldtd); diff --git a/sys/sys/proc.h b/sys/sys/proc.h index 2ad4505405c8..7ba7dbaff666 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -258,7 +258,7 @@ struct thread { u_char td_base_ithread_pri; /* (t) Base ithread pri */ struct kmsan_td *td_kmsan; /* (k) KMSAN state */ -/* Cleared during fork1() */ +/* Cleared during fork1(), thread_create(), or kthread_add(). */ #define td_startzero td_flags int td_flags; /* (t) TDF_* flags. */ int td_ast; /* (t) TDA_* indicators */ @@ -324,7 +324,7 @@ struct thread { u_int td_ucredref; /* (k) references on td_realucred */ #define td_endzero td_sigmask -/* Copied during fork1() or create_thread(). */ +/* Copied during fork1(), thread_create(), or kthread_add(). */ #define td_startcopy td_endzero sigset_t td_sigmask; /* (c) Current signal mask. */ u_char td_rqindex; /* (t) Run queue index. */ @@ -344,7 +344,7 @@ struct thread { #define td_endcopy td_pcb /* - * Fields that must be manually set in fork1() or create_thread() + * Fields that must be manually set in fork1(), thread_create(), kthread_add(), * or already have been set in the allocator, constructor, etc. */ struct pcb *td_pcb; /* (k) Kernel VA of pcb and kstack. */ From nobody Thu Feb 9 16:02:41 2023 X-Original-To: dev-commits-src-main@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 4PCM8L3MGYz3pkGM; Thu, 9 Feb 2023 16:02:42 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCM8L1KxYz4DMX; Thu, 9 Feb 2023 16:02:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958562; 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=TVri+ie6eMH9Tss5MHVHJZiy/BObdwWjeUShVGiXWkg=; b=oO0kLjCw0M+w08LGDiRZ8pAMdm0BzV/YaCzeLyuVMeuTtLKoMYkLcLD7ISHGjk72bnSX4h 6ZFmZg5YiruARazbWOnb3GKqXJoTiA5zgWqkkF0Oi5Bfi7qcYocWMcNXKhL9+GA6K5fRzc SS53bZHdErADcFeaNKNdcwXoSn0l+yDy3OdAlxTHiYDpNVsOjVFsPQr/8N0Afvo0lblhq7 ScIew3lwHmY8Y3Wyf4LI5dt3ZaRbjN50y5BYtHEtCDhKkIkHsPh44aneY9OZc2SkFgBm9Y BYNZsahinefjvFsSRoKNwW9HS6fP4QTdXA5VPBe7NRWSAkOgpshCqpYNxHTOrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958562; 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=TVri+ie6eMH9Tss5MHVHJZiy/BObdwWjeUShVGiXWkg=; b=ePK6nuAWOFVIGOPZ/PsSGClDjnICBuha0oqJCvzmkoqOjl0J8Vm3FbWJJGF6Qu1XwQw1SZ 6A5uVyLKLuu7kJjTMr58dWHd7/A7RrDGLLBeXFIXT3VO90ecRyl+9eOqLTuxGoj11+hIru bj/dH2t5ClAf+REbgCdWnl06uSb+Y2PiBju07Z8/uRF7JQhFgpVoM0zLxo9yfQivlFfZkW tagdelZol1KQyDN+bbkY8Btf/zLl92vOu0H5U9DvL5uRb3HH4GHUTE28Yra3LkcDTRGl7j itKXbViH3h0dmMpetzfYLwIGd1Rte/pCVvQee05B0BgYVL3LURQjnTq4GTuj7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675958562; a=rsa-sha256; cv=none; b=X63HXU6gPf4IeEzI+Nb0NrnWuVNPHFGjLjRlYgxW+0g7stneUCSy02ncZGLar6to1l9yj5 GM7GetCqiu2Bs4nTdNtZy4Go4qS/Ttg/2fR3V2HSUWBqE9IY+DvYiTwB1vNnm9Hn6ZhRfy cX4fE0o1bqookoChDg7r+RZ/KTpsZ5DLbsBUQaRVJ9koywivaw8WEvQpX7A7tpyZKduUmI 3XtA2yt6xtJLt7U3vFcD/fmRGL7kTwhFi4ng6eBtFzTh7laP9MTU63XOVTxlQGEqBIJm3p O/a70TSi7/icN8Yfy1y18mTx09a4g04XxeTybrGxqyHdCBdklRkchMxra7xN1w== 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 4PCM8L0QYDzjN8; Thu, 9 Feb 2023 16:02:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319G2gOk094641; Thu, 9 Feb 2023 16:02:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319G2f4V094640; Thu, 9 Feb 2023 16:02:41 GMT (envelope-from git) Date: Thu, 9 Feb 2023 16:02:41 GMT Message-Id: <202302091602.319G2f4V094640@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: d570418bd891 - main - Boolify should_yield() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d570418bd8918980e578ff78a229593766b832bb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=d570418bd8918980e578ff78a229593766b832bb commit d570418bd8918980e578ff78a229593766b832bb Author: Mitchell Horne AuthorDate: 2023-02-09 15:35:11 +0000 Commit: Mitchell Horne CommitDate: 2023-02-09 15:58:06 +0000 Boolify should_yield() Do this ahead of adding a man page that describes the function. No functional change. Reviewed by: kib, markj MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38181 --- sys/kern/kern_synch.c | 2 +- sys/sys/proc.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index 261675da6ce9..7d0cb6178fc3 100644 --- a/sys/kern/kern_synch.c +++ b/sys/kern/kern_synch.c @@ -658,7 +658,7 @@ synch_setup(void *dummy __unused) loadav(NULL); } -int +bool should_yield(void) { diff --git a/sys/sys/proc.h b/sys/sys/proc.h index 7ba7dbaff666..d031c2a73ce6 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -1217,7 +1217,7 @@ void sess_hold(struct session *); void sess_release(struct session *); int setrunnable(struct thread *, int); void setsugid(struct proc *p); -int should_yield(void); +bool should_yield(void); int sigonstack(size_t sp); void stopevent(struct proc *, u_int, u_int); struct thread *tdfind(lwpid_t, pid_t); From nobody Thu Feb 9 16:02:43 2023 X-Original-To: dev-commits-src-main@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 4PCM8M3KZlz3pkQl; Thu, 9 Feb 2023 16:02: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCM8M2cVzz4DvY; Thu, 9 Feb 2023 16:02:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958563; 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=znJsbA0ChCJIW2L2U23uZ6Vkk1lciYYih70yxQ57Lz0=; b=eyxXim8eqxO1/oRWFVx2/PZa+M4ncReVTMhSKGY81e5R6VpWV5FoXxXq0M0hDgW/M0+/TE M5dyIHyTS41zvmilDAElFziZZPthiExGWtL9jGMdq0lv/dbvMnTT3Fcjp6mSovFfNwvsn6 F3t048nUjEE3FsM+OJtqZjmPyg50+/gXK8fz3y/doFRJKbV4JL0ss8nyqf3oKyBFN5Ee1K hNOJT8j24qTiT9+D9UXMkJw+Fpa0iG8Tz6QTiQrnNM2U9SBL0pA0W7soA10qTdKpjZGPzE xUdgQ0tarSUUPt+nn3r9yzskcqxMqx2nxKMwxiknrsbO97xeRWwad6m4Ey0OoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958563; 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=znJsbA0ChCJIW2L2U23uZ6Vkk1lciYYih70yxQ57Lz0=; b=xrKhWhgAVC/hifTLNhVcW9IzZQjkO/qG64/6vjEwXPkQT+4PXYhTA/lho8N2DILCyt+Ov6 qBNEraZ93Ofc6YRd47E/yiwU3l9fvVsx4xy/K+ek/JgoJexki1Hg2Be/CegZXUk5Abpfyq D392o7MqEJ+4wCFIF3bbhHP1xSealUa8G0p6naT1OqDTuZF/HSPifOEGrs/X9Da8Bwj80V WvvvAyGfJOTIe9y9Jh2HrIHsd4LqwqwrPyOchrqhTqwCg1PTCBawpVaFs9WK5LsRunMsXk FCOhbgB5mY3wmDXi3rtC8HRO5dDMCYx7eK71+3rNBdgb4YPq52OrUuD0OmtZaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675958563; a=rsa-sha256; cv=none; b=GWMy9Xfa4x71TcwV6u53dhgNW95MU1ExSGMiVFBMIxO92arYwjm5/zTt0AizRfpp/GMab3 tHW5FQ6PPsLMC3yfrW8Q+esIi0Gck5m4wcWPmfTcO59xcL+zhYLOkjHSMqLFLFF4XfGR0n 6wy5VUiyN8TryeLdYu3yGF5mSAHyrNQiOR7LrRK3tYycb+rjlS+UYhsRj+cOphqWZ5DxKP nblNrjlT0ClcfBuEPyEO9ABK8Pi1rTD/DS+gY+y3zarq6TBtmM+p08cPXnJy/+IRbOkHiN m1zdErLGidpqGnoCBp6P6oWH3Ej8lvKQOoz8qZUhwuK9zbpvNS9QRWI22bxm9g== 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 4PCM8M1dXNzjN9; Thu, 9 Feb 2023 16:02:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319G2hPZ094665; Thu, 9 Feb 2023 16:02:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319G2hfh094664; Thu, 9 Feb 2023 16:02:43 GMT (envelope-from git) Date: Thu, 9 Feb 2023 16:02:43 GMT Message-Id: <202302091602.319G2hfh094664@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: dc9b13736fce - main - Use maybe_yield() in a few more places List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dc9b13736fce15ec3dc77a87e06d6406c92a0141 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=dc9b13736fce15ec3dc77a87e06d6406c92a0141 commit dc9b13736fce15ec3dc77a87e06d6406c92a0141 Author: Mitchell Horne AuthorDate: 2023-02-09 15:42:53 +0000 Commit: Mitchell Horne CommitDate: 2023-02-09 15:58:06 +0000 Use maybe_yield() in a few more places Reviewed by: kib, markj MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38186 --- sys/kern/vfs_subr.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 008e646f2b7f..0b9d7ca9778f 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1247,8 +1247,7 @@ restart: vn_finished_write(mp); done++; next_iter_unlocked: - if (should_yield()) - kern_yield(PRI_USER); + maybe_yield(); mtx_lock(&vnode_list_mtx); goto restart; next_iter: @@ -6719,8 +6718,7 @@ __mnt_vnode_next_all(struct vnode **mvp, struct mount *mp) { struct vnode *vp; - if (should_yield()) - kern_yield(PRI_USER); + maybe_yield(); MNT_ILOCK(mp); KASSERT((*mvp)->v_mount == mp, ("marker vnode mount list mismatch")); for (vp = TAILQ_NEXT(*mvp, v_nmntvnodes); vp != NULL; @@ -6935,8 +6933,7 @@ __mnt_vnode_next_lazy(struct vnode **mvp, struct mount *mp, mnt_lazy_cb_t *cb, void *cbarg) { - if (should_yield()) - kern_yield(PRI_USER); + maybe_yield(); mtx_lock(&mp->mnt_listmtx); return (mnt_vnode_next_lazy(mvp, mp, cb, cbarg)); } From nobody Thu Feb 9 16:02:44 2023 X-Original-To: dev-commits-src-main@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 4PCM8N4Fhyz3pkQp; Thu, 9 Feb 2023 16:02: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCM8N3XwCz4F1b; Thu, 9 Feb 2023 16:02:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958564; 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=XcU++aCE1Y5dTEZZNjd5cEoZOk1mi3CWFWC+X8dqxH4=; b=Sh0FmdkB0jjusAxicSwgsN4dmPkSt0CJDNHVMxjst4KgJJBUC9UDRNNFsFKdvj6RKuSo8D iGFWgRuglgofyq4WwXhW6Z6TkKmEkBDVcR82d/ic9ACn7a4VU68JnM5jksRxLbBcoKTjD6 S1gmm8aisdPLUHAV2ltsO1+oaHiuWItJ5HwNemGFllmk9ePaCns9mpecoZmdNpx8Dz1g25 mNpE06uDOhgak8qU752Wpkma9mH6kb/ZDFdw/tGJPuNqPCVzLEpm3CbvwNtD2PORUYSs5j B5ETGFTEDaoPuFFk27KgqmmvmZYD+q8S1V31tvYKt5jHjvmjFD8Tqfc2RSBkyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958564; 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=XcU++aCE1Y5dTEZZNjd5cEoZOk1mi3CWFWC+X8dqxH4=; b=WKjI+ccAvL3jeQ6FYveFvpsplKGY8V9cXLeW0xmgMzqCoeJMz8i7YsuUJLC25vUE37HUIB lDFSPMT3GyQWT2IwMWCnA4oOtQ1jWrQPrzzM/0TDcB+2R4i73b7kg68opXP6KKNItWP2hS JW+WNbjBqIxgEiQi4KkIoUkXbCgmQt6yiuB8/23i1QQMftf7rGEmZNXah7MiMrkByUpdHg mFgRvUYt3dylwabzkMvDz7WfbGq81+LKloRpfk5S/2Hm6/HrLVNr7BtnQ1J+g+7qBGWL8k I6Q3vN1hGIQ71HkzyDKLQMCRKBZ9uigaDvV4L1q3qXKYdPmepCpfTocZMcGxnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675958564; a=rsa-sha256; cv=none; b=PeobvDliOqnMVdU0itUUZrsomH5oVISFUddhgQ/vhaS3f+RKfFmpemDlPARXBV/X1K8D3Y i0VNK3PucOJiBxfI3jve7T4vy/c7Z6wNj3FRX080lU63fMOLRRer/JzN2e0iFvSnZ6OQxb frF4rZwEo9WEqZFlNl6PYffn/bxk8TVp6BxK0P+hVdPYo01OrV+3ElI7+U5XQqzMFMH8C5 NnmyNUhqV4umGKvVQ9i9XT/rbZKFtAHuXXhKqcZ15g4igIrPZ08rtkDKcpdck9wz6i6MIo tcv6w4BLhd2B7zlGA6OFNh8H/F+ksT6/6c3WLKRC38YadrlAR45sIX0XrtnheA== 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 4PCM8N2chTzjjj; Thu, 9 Feb 2023 16:02:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319G2ikC094689; Thu, 9 Feb 2023 16:02:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319G2iTV094688; Thu, 9 Feb 2023 16:02:44 GMT (envelope-from git) Date: Thu, 9 Feb 2023 16:02:44 GMT Message-Id: <202302091602.319G2iTV094688@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 30cd6fd75d46 - main - man9: Add man page for kern_yield() and friends List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 30cd6fd75d4639a468ab5ae2c8041e8cf9b14e08 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=30cd6fd75d4639a468ab5ae2c8041e8cf9b14e08 commit 30cd6fd75d4639a468ab5ae2c8041e8cf9b14e08 Author: Mitchell Horne AuthorDate: 2023-02-09 15:35:39 +0000 Commit: Mitchell Horne CommitDate: 2023-02-09 15:59:38 +0000 man9: Add man page for kern_yield() and friends The page is fairly simple and will be referenced by mi_switch(9). Provide some usage notes so that the broader implications of how/when to use these functions are understood. Reviewed by: kib, markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38182 --- share/man/man9/Makefile | 3 + share/man/man9/kern_yield.9 | 134 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 137 insertions(+) diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index d7d5b10f13d5..b2c141210ab9 100644 --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -196,6 +196,7 @@ MAN= accept_filter.9 \ KASSERT.9 \ kern_reboot.9 \ kern_testfrwk.9 \ + kern_yield.9 \ kernacc.9 \ kernel_mount.9 \ khelp.9 \ @@ -1332,6 +1333,8 @@ MLINKS+=intr_event.9 intr_event_add_handler.9 \ intr_event.9 intr_event_handle.9 \ intr_event.9 intr_event_remove_handler.9 \ intr_event.9 intr_priority.9 +MLINKS+=kern_yield.9 maybe_yield.9 \ + kern_yield.9 should_yield.9 MLINKS+=kernacc.9 useracc.9 MLINKS+=kernel_mount.9 free_mntarg.9 \ kernel_mount.9 mount_arg.9 \ diff --git a/share/man/man9/kern_yield.9 b/share/man/man9/kern_yield.9 new file mode 100644 index 000000000000..ba8d64a66b1f --- /dev/null +++ b/share/man/man9/kern_yield.9 @@ -0,0 +1,134 @@ +.\" +.\" Copyright (c) 2023 The FreeBSD Foundation +.\" +.\" This documentation was written by Mitchell Horne under +.\" sponsorship from the FreeBSD Foundation. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (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 January 30, 2023 +.Dt KERN_YIELD 9 +.Os +.Sh NAME +.Nm kern_yield , +.Nm maybe_yield , +.Nm should_yield +.Nd "functions for yielding execution of the current thread" +.Sh SYNOPSIS +.Ft void +.Fn kern_yield "int prio" +.Ft void +.Fn maybe_yield +.Ft bool +.Fn should_yield +.Sh DESCRIPTION +The +.Fn kern_yield +function causes the currently running thread to voluntarily, but +unconditionally, surrender its execution to the scheduler. +The +.Va prio +argument specifies the scheduling priority to be assigned before the context +switch, which has an influence on when execution will resume. +Note that the requested priority will take effect until the thread returns to +usermode, after which its base user priority will be restored. +Valid values for +.Va prio +are any of the +.Dv PRI_* +values defined in +.In sys/priority.h , +as well as the following special values: +.Bl -tag -width "PRI_UNCHANGED" +.It Dv PRI_USER +Schedule the thread with its base user priority; the value corresponding to +.Xr setpriority 2 / +.Xr nice 3 . +.It Dv PRI_UNCHANGED +Yield the thread without changing its priority. +.El +.Pp +The +.Fn should_yield +function checks if sufficient time has passed since the thread's last voluntary +context switch that yielding would be a useful service to other threads. +It returns +.Va true +when this is the case. +See +.Sx USAGE NOTES +for an elaboration of what this means. +.Pp +The +.Fn maybe_yield +function is a helper function for the common task of optionally yielding the +processor. +Internally, +.Fn kern_yield "PRI_USER" +will be called if +.Fn should_yield +returns +.Va true . +.Sh USAGE NOTES +Although the kernel supports preemption, this is usually reserved for +high-priority realtime or interrupt threads. +Kernel worker threads and timesharing threads are not guaranteed to preempt +each another. +Thus, threads executing in the kernel are expected to behave cooperatively +with respect to other threads in the system. +The yield functions are mostly intended to be used by threads which perform a +lot of work inside the kernel. +For example: +.Fn maybe_yield +is called by the +.Dv vlnru +process each time it reclaims a vnode. +.Pp +The scheduler aims to identify threads which monopolize the CPU, and will +schedule them with decreased priority. +Threads which regularly yield the processor will be given the chance to run +more often. +The possibly surprising effect of this is that, depending on the disposition of +other threads on the CPU's runqueue, a call to +.Fn kern_yield +does not guarantee that the yielding thread will be taken off the CPU. +.Pp +With the above considerations in mind, it is advised that code written using +.Fn kern_yield +be measured to confirm that its use has a positive effect on relevant +performance or responsiveness metrics. +Switching thread contexts has a non-zero cost, and thus yielding the processor +too eagerly could have a negative impact on performance. +.Pp +Additionally, since yielding is a cooperative action, it is advised that the +yielding thread release any locks that it may be holding, when possible. +Otherwise, threads which have been given the chance to run could end up waiting +on the yielding thread to release the lock, largely defeating the purpose of +the yield. +.Sh SEE ALSO +.Xr setpriority 2 , +.Xr nice 3 , +.Xr mi_switch 9 +.Sh AUTHORS +.An -nosplit +This manual page was written by +.An Mitchell Horne Aq Mt mhorne@FreeBSD.org . From nobody Thu Feb 9 16:02:45 2023 X-Original-To: dev-commits-src-main@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 4PCM8P4xfFz3pkV2; Thu, 9 Feb 2023 16:02: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCM8P4F4Hz4Dyb; Thu, 9 Feb 2023 16:02:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958565; 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=nGEul3H8QrLR2jXTsANK2IzuJo/DBLVwma2iACpS2RQ=; b=HREoHtFKXUbsN7xjWKp308a8nUnhIueAlpIKhf62RHL7L5WlaJBaItg+WNwECjGOrhBzl2 LK4GtmwEuvW2/TnpUv2eiY0P+nvm6b0u/np8npibSY5bwgiKchQRstXSXZW2xpLp0nIpJb wgOjwtgaHy+uL/+KM2FUP4fr8vkBwaYH246xDUp5cjQy7zBEsGnBzZMQsRPowNexP9Uqgi xieqG7Fjo49md/vt0nnm4fci8O/upcXHyhsQxSDswmTShPqezmyqFwbdXz7sPam9z8+GER eEW8yzdVDbgd892H8JuDIVqtjSOH1IEdifXYEc80XiHdQMM0y97x/yNWsXEeKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958565; 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=nGEul3H8QrLR2jXTsANK2IzuJo/DBLVwma2iACpS2RQ=; b=H1wQYaGPHKhupgIdim5uNu0uagbOp1siW/BlMDJrwgBCtx7aUqc7HIl2Q3KOPPbpgrQdoj kvjYCWlmp5fSjL0ubffpuF0HZ2jhMRpzow/FCtMnvJmN1vit5XnxzUOYeBblGLnnn39nct kd+BmrEk72Sn2oWDDqB08WupN0joYaiqZ0jxJXrYtINbMCyiWNqLYvBpcPfa2jit9Ai82Q AluiFA2rxfa15gj/27BXLpQUXvnMmPWYW4UXi2bsPU1pa8vfYsKq1KVikv76o997D7+NBM pA104MhWCmJBc0cxzNgdsKL21scA12A5Ct6Q3cllu53e/e91VedHINoZp5sfLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675958565; a=rsa-sha256; cv=none; b=pFlDz/INXBDAGL1CNl0Ev5SD9pYUq0H6FZEsEmZFNFZ7neb5yMPeoMhh2/FND8XjTSy3kb pAVbeGT13/U2Y6udjCCwm9J4owau47iAYfaRQ5Z0ij7xK9gD6QFgAJii4I409+MbYCd5Ze TSxBWKgUyh8ofoZhjocNQTp4Cr/j1bB/5ejZAX0AUt081MjrWdtHDL2M8akfdhdLHIyoM7 7RDd9oTMEODmqUkjk4Qq4zYCjkbhy8JZE25CljptpTTP14kU52cLO2kOiU4nKbGx9ir9Fh 5UqQpz0aDBKL/Hrzxi+eMcrHYpQ0G7+1qm8/XCMZSS6dLVxKAQxJnGXhCpZKMw== 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 4PCM8P3Klmzjjl; Thu, 9 Feb 2023 16:02:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319G2j6e094713; Thu, 9 Feb 2023 16:02:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319G2jaX094712; Thu, 9 Feb 2023 16:02:45 GMT (envelope-from git) Date: Thu, 9 Feb 2023 16:02:45 GMT Message-Id: <202302091602.319G2jaX094712@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: bff02948ed87 - main - sched_4bsd: use the same switch flags as ULE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bff02948ed87a9e791fa901557a88ae545bf3df7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=bff02948ed87a9e791fa901557a88ae545bf3df7 commit bff02948ed87a9e791fa901557a88ae545bf3df7 Author: Mitchell Horne AuthorDate: 2023-02-09 15:39:12 +0000 Commit: Mitchell Horne CommitDate: 2023-02-09 16:01:32 +0000 sched_4bsd: use the same switch flags as ULE ULE uses the more specific SWT_REMOTEPREEMPT and SWT_REMOTEWAKEIDLE switch types, let's do that here as well. SWT_PREEMPT is somewhat redundant when we also have the SW_PREEMPT flag. This only has an effect for kernels built with SCHED_STATS. Reviewed by: kib, markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38183 --- sys/kern/sched_4bsd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index 8bd697a67e7e..f0da4f8d8496 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -1542,13 +1542,17 @@ sched_choose(void) void sched_preempt(struct thread *td) { + int flags; SDT_PROBE2(sched, , , surrender, td, td->td_proc); if (td->td_critnest > 1) { td->td_owepreempt = 1; } else { thread_lock(td); - mi_switch(SW_INVOL | SW_PREEMPT | SWT_PREEMPT); + flags = SW_INVOL | SW_PREEMPT; + flags |= TD_IS_IDLETHREAD(td) ? SWT_REMOTEWAKEIDLE : + SWT_REMOTEPREEMPT; + mi_switch(flags); } } From nobody Thu Feb 9 16:02:46 2023 X-Original-To: dev-commits-src-main@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 4PCM8R0WPRz3pkb2; Thu, 9 Feb 2023 16:02: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCM8Q5Fdfz4F2k; Thu, 9 Feb 2023 16:02:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958566; 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=s1644utmbXqaRgBPiQX+iNcNqLz3Afp8uKc7frlcF2w=; b=iDU7GdPExbjey3OvK5tss0cvVPM8JQswqnoIc1oXYak4eJpjQEcQ/auF4rmeR6XS2EAk5E P2IUXEQ4mwxELh6rg7L2QVq+Napp7DBtxsdjO5YqV1neuxMf8Pjr5r+ZSV0G/pZICneSN5 DRAnHUx2mfWeSzydsHCczLIuzcvxlA70PF7+S451RfP5nKl3rYl4hvbMCSpVdPIyuQkYWy tV3h1fnte53YS6aOuHPcsFQCC5aH+chQgvniCX5NLRQ6HKRMhZvGPK60I+Y/fNVpeXXuXb P8T2dqm6ZRkau1Wc5cFt77/TsbrKfW7ljvPl7JWyDT+nBY83xhx4ZrEZ7ZK4dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958566; 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=s1644utmbXqaRgBPiQX+iNcNqLz3Afp8uKc7frlcF2w=; b=T+4YD8LmHGzDrk4Rkfe5w7/CJGWJZe09WQknCFX56RtsFWAYVdiSf+L2RRnATNM1L0+4DD j/6nYTJ/2R0YcjEgT/O0XpgVKJvWjqz9nSxaOAC6Hpw1523T15fZedEFdgiGlYUyH2m2pm iT/GVHWH8FpbkRqj7vYutMwRyXtyux/TXTo3D2MzvAaLkcTo/5DZAZY+DvNSKKtP1Z3RNg 2OAhm5kLIrvq7FC+EAMvPbjG/63K6TQkfLoza54c5hCFKHMe5KuFDf8c6uhlSwdX08OefI VnUsjCoVmqwTa4aF9K9EZmqRdEfWQKtWPqmIhqcfzQXQbEdU4PEXEk6woL+fkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675958566; a=rsa-sha256; cv=none; b=rHxksZfF4LSHsDO1fNQmHvHAKvQokBq1IzUlCIwor3EWyR3BRlLvVqfkPRLKtYfEZ4wsqt nDtdpC7sWXrcbvFLTZwqfX1FKVOeLXiC7k/8dWnlq6R+9h/2Q8unXF4ftZ8Nlj5aGN2R1z EwwR8B3nwKJXJmp6HAmyVqndYF392IgQ1IcmRfL6G4fZrpilJYzyeVCojjVr72AojPa9Cn QL3qvviLmXPM7/eDy5sGYtJ7Eq4kTYr4GJQYgLBWbOq8BoGbZc+Nyg6eL3NmvKvsOV5I0C 9DgCNJWGp1qLiBG2r59R5uNUAK8l/wWPSER8/frCTvPMlLdyDfTUvZ329az0Rw== 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 4PCM8Q4Lyqzjjm; Thu, 9 Feb 2023 16:02:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319G2k5J094745; Thu, 9 Feb 2023 16:02:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319G2kuC094744; Thu, 9 Feb 2023 16:02:46 GMT (envelope-from git) Date: Thu, 9 Feb 2023 16:02:46 GMT Message-Id: <202302091602.319G2kuC094744@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 1029dab63457 - main - mi_switch(): clean up switch types and their usage List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1029dab63457f23dace4dab3b698f1c177939b93 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=1029dab63457f23dace4dab3b698f1c177939b93 commit 1029dab63457f23dace4dab3b698f1c177939b93 Author: Mitchell Horne AuthorDate: 2023-02-09 15:40:29 +0000 Commit: Mitchell Horne CommitDate: 2023-02-09 16:01:32 +0000 mi_switch(): clean up switch types and their usage Overall, this is a non-functional change, except for kernels built with SCHED_STATS. However, the switch types are useful for communicating the intent of the caller. 1. Ensure that every caller provides a type. In most cases, we upgrade the basic yield to sched_relinquish() aka SWT_RELINQUISH. 2. The case of sched_bind() is distinct, so add a new switch type SWT_BIND. 3. Remove the two unused types, SWT_PREEMPT and SWT_SLEEPQTIMO. 4. Remove SWT_NONE altogether and assert that callers always provide a type flag. 5. Reference the mi_switch(9) man page in the comments, as these flags will be documented there. Reviewed by: kib, markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38184 --- sys/dev/dpaa/bman_portals.c | 3 +-- sys/dev/dpaa/qman_portals.c | 3 +-- sys/kern/kern_poll.c | 3 +-- sys/kern/kern_switch.c | 12 ++++-------- sys/kern/kern_synch.c | 9 +++++++-- sys/kern/sched_4bsd.c | 2 +- sys/kern/sched_ule.c | 2 +- sys/kern/vfs_bio.c | 4 ++-- sys/sys/proc.h | 28 +++++++++++++--------------- 9 files changed, 31 insertions(+), 35 deletions(-) diff --git a/sys/dev/dpaa/bman_portals.c b/sys/dev/dpaa/bman_portals.c index 9ef2bf7aa61c..d3c027bb29f8 100644 --- a/sys/dev/dpaa/bman_portals.c +++ b/sys/dev/dpaa/bman_portals.c @@ -141,8 +141,7 @@ bman_portal_setup(struct bman_softc *bsc) } /* Not inititialized and "owned" by another thread */ - thread_lock(curthread); - mi_switch(SW_VOL); + sched_relinquish(curthread); } /* Map portal registers */ diff --git a/sys/dev/dpaa/qman_portals.c b/sys/dev/dpaa/qman_portals.c index 92461665def2..37f9b4eec178 100644 --- a/sys/dev/dpaa/qman_portals.c +++ b/sys/dev/dpaa/qman_portals.c @@ -146,8 +146,7 @@ qman_portal_setup(struct qman_softc *qsc) } /* Not inititialized and "owned" by another thread */ - thread_lock(curthread); - mi_switch(SW_VOL); + sched_relinquish(curthread); } /* Map portal registers */ diff --git a/sys/kern/kern_poll.c b/sys/kern/kern_poll.c index 8232f98f59ef..64deb7132710 100644 --- a/sys/kern/kern_poll.c +++ b/sys/kern/kern_poll.c @@ -565,8 +565,7 @@ poll_idle(void) if (poll_in_idle_loop && poll_handlers > 0) { idlepoll_sleeping = 0; ether_poll(poll_each_burst); - thread_lock(td); - mi_switch(SW_VOL); + sched_relinquish(td); } else { idlepoll_sleeping = 1; tsleep(&idlepoll_sleeping, 0, "pollid", hz * 3); diff --git a/sys/kern/kern_switch.c b/sys/kern/kern_switch.c index 9d48ab188e13..aee0c9cbd1ae 100644 --- a/sys/kern/kern_switch.c +++ b/sys/kern/kern_switch.c @@ -83,25 +83,19 @@ SYSCTL_INT(_kern_sched, OID_AUTO, preemption, CTLFLAG_RD, SYSCTL_NODE(_kern_sched, OID_AUTO, stats, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "switch stats"); -/* Switch reasons from mi_switch(). */ +/* Switch reasons from mi_switch(9). */ DPCPU_DEFINE(long, sched_switch_stats[SWT_COUNT]); -SCHED_STAT_DEFINE_VAR(uncategorized, - &DPCPU_NAME(sched_switch_stats[SWT_NONE]), ""); -SCHED_STAT_DEFINE_VAR(preempt, - &DPCPU_NAME(sched_switch_stats[SWT_PREEMPT]), ""); SCHED_STAT_DEFINE_VAR(owepreempt, &DPCPU_NAME(sched_switch_stats[SWT_OWEPREEMPT]), ""); SCHED_STAT_DEFINE_VAR(turnstile, &DPCPU_NAME(sched_switch_stats[SWT_TURNSTILE]), ""); SCHED_STAT_DEFINE_VAR(sleepq, &DPCPU_NAME(sched_switch_stats[SWT_SLEEPQ]), ""); -SCHED_STAT_DEFINE_VAR(sleepqtimo, - &DPCPU_NAME(sched_switch_stats[SWT_SLEEPQTIMO]), ""); SCHED_STAT_DEFINE_VAR(relinquish, &DPCPU_NAME(sched_switch_stats[SWT_RELINQUISH]), ""); SCHED_STAT_DEFINE_VAR(needresched, &DPCPU_NAME(sched_switch_stats[SWT_NEEDRESCHED]), ""); -SCHED_STAT_DEFINE_VAR(idle, +SCHED_STAT_DEFINE_VAR(idle, &DPCPU_NAME(sched_switch_stats[SWT_IDLE]), ""); SCHED_STAT_DEFINE_VAR(iwait, &DPCPU_NAME(sched_switch_stats[SWT_IWAIT]), ""); @@ -111,6 +105,8 @@ SCHED_STAT_DEFINE_VAR(remotepreempt, &DPCPU_NAME(sched_switch_stats[SWT_REMOTEPREEMPT]), ""); SCHED_STAT_DEFINE_VAR(remotewakeidle, &DPCPU_NAME(sched_switch_stats[SWT_REMOTEWAKEIDLE]), ""); +SCHED_STAT_DEFINE_VAR(bind, + &DPCPU_NAME(sched_switch_stats[SWT_BIND]), ""); static int sysctl_stats_reset(SYSCTL_HANDLER_ARGS) diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index 7d0cb6178fc3..63a78353e9a5 100644 --- a/sys/kern/kern_synch.c +++ b/sys/kern/kern_synch.c @@ -483,7 +483,7 @@ kdb_switch(void) } /* - * The machine independent parts of context switching. + * mi_switch(9): The machine-independent parts of context switching. * * The thread lock is required on entry and is no longer held on return. */ @@ -500,10 +500,15 @@ mi_switch(int flags) if (!TD_ON_LOCK(td) && !TD_IS_RUNNING(td)) mtx_assert(&Giant, MA_NOTOWNED); #endif + /* thread_lock() performs spinlock_enter(). */ KASSERT(td->td_critnest == 1 || KERNEL_PANICKED(), - ("mi_switch: switch in a critical section")); + ("mi_switch: switch in a critical section")); KASSERT((flags & (SW_INVOL | SW_VOL)) != 0, ("mi_switch: switch must be voluntary or involuntary")); + KASSERT((flags & SW_TYPE_MASK) != 0, + ("mi_switch: a switch reason (type) must be specified")); + KASSERT((flags & SW_TYPE_MASK) < SWT_COUNT, + ("mi_switch: invalid switch reason %d", (flags & SW_TYPE_MASK))); /* * Don't perform context switches from the debugger. diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index f0da4f8d8496..e81b0c9d46ec 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -1582,7 +1582,7 @@ sched_bind(struct thread *td, int cpu) if (PCPU_GET(cpuid) == cpu) return; - mi_switch(SW_VOL); + mi_switch(SW_VOL | SWT_BIND); thread_lock(td); #endif } diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index ba179caf5d34..881413ca5e73 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -2922,7 +2922,7 @@ sched_bind(struct thread *td, int cpu) return; ts->ts_cpu = cpu; /* When we return from mi_switch we'll be on the correct cpu. */ - mi_switch(SW_VOL); + mi_switch(SW_VOL | SWT_BIND); thread_lock(td); } diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index cb94f3390d8a..3a5afec88a02 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -72,6 +72,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -1425,8 +1426,7 @@ bufshutdown(int show_busybufs) * threads to run. */ for (subiter = 0; subiter < 50 * iter; subiter++) { - thread_lock(curthread); - mi_switch(SW_VOL); + sched_relinquish(curthread); DELAY(1000); } #endif diff --git a/sys/sys/proc.h b/sys/sys/proc.h index d031c2a73ce6..c6670bdc96f8 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -904,22 +904,20 @@ struct proc { #ifdef _KERNEL -/* Types and flags for mi_switch(). */ +/* Types and flags for mi_switch(9). */ #define SW_TYPE_MASK 0xff /* First 8 bits are switch type */ -#define SWT_NONE 0 /* Unspecified switch. */ -#define SWT_PREEMPT 1 /* Switching due to preemption. */ -#define SWT_OWEPREEMPT 2 /* Switching due to owepreempt. */ -#define SWT_TURNSTILE 3 /* Turnstile contention. */ -#define SWT_SLEEPQ 4 /* Sleepq wait. */ -#define SWT_SLEEPQTIMO 5 /* Sleepq timeout wait. */ -#define SWT_RELINQUISH 6 /* yield call. */ -#define SWT_NEEDRESCHED 7 /* NEEDRESCHED was set. */ -#define SWT_IDLE 8 /* Switching from the idle thread. */ -#define SWT_IWAIT 9 /* Waiting for interrupts. */ -#define SWT_SUSPEND 10 /* Thread suspended. */ -#define SWT_REMOTEPREEMPT 11 /* Remote processor preempted. */ -#define SWT_REMOTEWAKEIDLE 12 /* Remote processor preempted idle. */ -#define SWT_COUNT 13 /* Number of switch types. */ +#define SWT_OWEPREEMPT 1 /* Switching due to owepreempt. */ +#define SWT_TURNSTILE 2 /* Turnstile contention. */ +#define SWT_SLEEPQ 3 /* Sleepq wait. */ +#define SWT_RELINQUISH 4 /* yield call. */ +#define SWT_NEEDRESCHED 5 /* NEEDRESCHED was set. */ +#define SWT_IDLE 6 /* Switching from the idle thread. */ +#define SWT_IWAIT 7 /* Waiting for interrupts. */ +#define SWT_SUSPEND 8 /* Thread suspended. */ +#define SWT_REMOTEPREEMPT 9 /* Remote processor preempted. */ +#define SWT_REMOTEWAKEIDLE 10 /* Remote processor preempted idle. */ +#define SWT_BIND 11 /* Thread bound to a new CPU. */ +#define SWT_COUNT 12 /* Number of switch types. */ /* Flags */ #define SW_VOL 0x0100 /* Voluntary switch. */ #define SW_INVOL 0x0200 /* Involuntary switch. */ From nobody Thu Feb 9 16:02:47 2023 X-Original-To: dev-commits-src-main@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 4PCM8S0dNLz3pkHm; Thu, 9 Feb 2023 16:02: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCM8R6dqlz4FCb; Thu, 9 Feb 2023 16:02:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958567; 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=goUvg570DQdwwxmFGP/nWCCqbvEje1xjoQK5cZobA54=; b=JroOTT6SuOtjW0Ve0RzSdHv5vmPT3aS+hhBDDCiFg4buZUXeXrS6UmLSH0cZIdelfL8IOM /Q5uN8s7EPyuES8Xa6hdicgNCqcK8hQHcR7XU24EGY8//i9eU0TBOt6b9N1yrK6ZMNcn/M kOZeIc7XyAtD9fyPAGWzRxoocJvk3roSbNodPELeZHyduxrdOzULVNVm+s49K3lFweHt/O KhFazZQqgoO9Gq6yaCskoeTSgMY/8NtJN4GsNMUWZOf84oa06O5PAYWsb0bCeNXRU9w5hj xN9ocCZxS8ZZzIndPmh83On0gHE7gfe3VHRrezszKwyHAufYHJRHSP9t5uwkGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675958567; 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=goUvg570DQdwwxmFGP/nWCCqbvEje1xjoQK5cZobA54=; b=dXTcSAEerq+rspC7kijFadZ7m3cJ4ifhaSNyGFS9eGngyzDjSIkZgmB/IV1PDBMgr36UYq ZqtoUOG+dwRz6wmBWzzZr3ZjMCh0vU1Agbg4/E/cXtAJmWn3j1LlhulQxqK3sNb1DQF2/I BMJEqhXF3J9qoYvmsOVVS0WzrxqezeF9M7A6wjL5AlFPPHY+bdnT3Q/bFaoFPTQBPFOhMD 2jtutVugJnvgQHGvEhKNpz43yaHfl04Qkke49kFVokCOP8Yq3ZTEIKPh7u4nUSZaIqFNig fhPKRVa4NKx5V0rHbrsOKgTUjqLye25AOFQL9HUYZOZLAiiuI6XVzTQ98OeB6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675958567; a=rsa-sha256; cv=none; b=b3MGsBRTDuGWAOfr639DiAkm4NlptXtS+IeGCq0hiXc/ysuq/isbBftm3fW04yxc7kerNS 3l2QaYADfFG8hmlw5IzP3ws6mYjx78Wl0b2uUcG0mCDPSURSdUrL0FNm2KESeLaggxZh1S 2x2eD/G6RxYXBUgwh5X0aEAkCju1FX9czWOs6qDOV8/RRrw/pC11HvafuGRonCxdlQaTtw xLlbViFcXQyPSUYq68byPxNoYVkcgGUOd18QKYoaxDkTtN5yvBe0HOWJWYR6Lxk3qRZjpC lg6lUKv7A3LCYLWzYUX2XyVLHd0dxFTyuhQ+ZXmfEFHh0bkZP9OvZNJaUsXseA== 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 4PCM8R5chlzjNB; Thu, 9 Feb 2023 16:02:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319G2lP7094773; Thu, 9 Feb 2023 16:02:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319G2lvL094772; Thu, 9 Feb 2023 16:02:47 GMT (envelope-from git) Date: Thu, 9 Feb 2023 16:02:47 GMT Message-Id: <202302091602.319G2lvL094772@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 175db7b58270 - main - mi_switch(9): update to current day List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 175db7b58270fb5ac98d874b106dc7b9afe7d9f6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=175db7b58270fb5ac98d874b106dc7b9afe7d9f6 commit 175db7b58270fb5ac98d874b106dc7b9afe7d9f6 Author: Mitchell Horne AuthorDate: 2023-02-09 15:41:14 +0000 Commit: Mitchell Horne CommitDate: 2023-02-09 16:01:32 +0000 mi_switch(9): update to current day The function itself and much of the information in this page remains relevant, but many details need to be fixed. - Update function signatures - Update the list of major uses of mi_switch() (it is not exhaustive) - Document 'flags' argument and its possible values - Document thread lock requirement for callers - Thread runtime limits are out of scope now, no need to describe them - Remove outdated information w.r.t. KSE, runqueue, non-preemptible kernel, etc - Update the description of cpu_switch() and its responsibilities PR: 149574 Reviewed by: kib Discussed with: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38185 --- share/man/man9/mi_switch.9 | 216 ++++++++++++++++++++++++++++++--------------- 1 file changed, 147 insertions(+), 69 deletions(-) diff --git a/share/man/man9/mi_switch.9 b/share/man/man9/mi_switch.9 index 835356744647..199569845380 100644 --- a/share/man/man9/mi_switch.9 +++ b/share/man/man9/mi_switch.9 @@ -2,10 +2,14 @@ .\" .\" Copyright (c) 1996 The NetBSD Foundation, Inc. .\" All rights reserved. +.\" Copyright (c) 2023 The FreeBSD Foundation .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Paul Kranenburg. .\" +.\" Portions of this documentation were written by Mitchell Horne +.\" under sponsorship from the FreeBSD Foundation. +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -29,7 +33,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 24, 1996 +.Dd January 9, 2023 .Dt MI_SWITCH 9 .Os .Sh NAME @@ -41,96 +45,171 @@ .In sys/param.h .In sys/proc.h .Ft void -.Fn mi_switch "void" +.Fn mi_switch "int flags" .Ft void -.Fn cpu_switch "void" +.Fn cpu_switch "struct thread *oldtd" "struct thread *newtd" "struct mtx *lock" .Ft void -.Fn cpu_throw "void" +.Fn cpu_throw "struct thread *oldtd" "struct thread *newtd" .Sh DESCRIPTION The .Fn mi_switch -function implements the machine independent prelude to a thread context +function implements the machine-independent prelude to a thread context switch. -It is called from only a few distinguished places in the kernel -code as a result of the principle of non-preemptable kernel mode execution. +It is the single entry point for every context switch and is called from only +a few distinguished places in the kernel. +The context switch is, by necessity, always performed by the switched thread, +even when the switch is initiated from elsewhere; e.g. preemption requested via +Inter-Processor Interrupt (IPI). +.Pp The various major uses of -.Nm +.Fn mi_switch can be enumerated as follows: .Bl -enum -offset indent .It From within a function such as -.Xr cv_wait 9 , -.Xr mtx_lock 9 , +.Xr sleepq_wait 9 or -.Xr tsleep 9 +.Fn turnstile_wait when the current thread voluntarily relinquishes the CPU to wait for some resource or lock to become available. .It -After handling a trap -(e.g.\& a system call, device interrupt) -when the kernel prepares a return to user-mode execution. -This case is -typically handled by machine dependent trap-handling code after detection -of a change in the signal disposition of the current process, or when a -higher priority thread might be available to run. -The latter event is -communicated by the machine independent scheduling routines by calling -the machine defined -.Fn need_resched . +Involuntary preemption due to arrival of a higher-priority thread. +.It +At the tail end of +.Xr critical_exit 9 , +if preemption was deferred due to the critical section. +.It +Within the TDA_SCHED AST handler, when rescheduling before the return to +usermode was requested. +There are several reasons for this, a notable one coming from +.Fn sched_clock +when the running thread has exceeded its time slice. .It In the signal handling code (see .Xr issignal 9 ) if a signal is delivered that causes a process to stop. .It -When a thread dies in -.Xr thread_exit 9 -and control of the processor can be passed to the next runnable thread. -.It In -.Xr thread_suspend_check 9 +.Fn thread_suspend_check where a thread needs to stop execution due to the suspension state of the process as a whole. +.It +In +.Xr kern_yield 9 +when a thread wants to voluntarily relinquish the processor. .El .Pp +The +.Va flags +argument to .Fn mi_switch -records the amount of time the current thread has been running in the -process structures and checks this value against the CPU time limits -allocated to the process -(see -.Xr getrlimit 2 ) . -Exceeding the soft limit results in a -.Dv SIGXCPU -signal to be posted to the process, while exceeding the hard limit will -cause a -.Dv SIGKILL . +indicates the context switch type. +One of the following must be passed: +.Bl -tag -offset indent -width "SWT_REMOTEWAKEIDLE" +.It Dv SWT_OWEPREEMPT +Switch due to delayed preemption after exiting a critical section. +.It Dv SWT_TURNSTILE +Switch after propagating scheduling priority to the owner of a resource. +.It Dv SWT_SLEEPQ +Begin waiting on a +.Xr sleepqueue 9 . +.It Dv SWT_RELINQUISH +Yield call. +.It Dv SWT_NEEDRESCHED +Rescheduling was requested. +.It Dv SWT_IDLE +Switch from the idle thread. +.It Dv SWT_IWAIT +A kernel thread which handles interrupts has finished work and must wait for +interrupts to schedule additional work. +.It Dv SWT_SUSPEND +Thread suspended. +.It Dv SWT_REMOTEPREEMPT +Preemption by a higher-priority thread, initiated by a remote processor. +.It Dv SWT_REMOTEWAKEIDLE +Idle thread preempted, initiated by a remote processor. +.It Dv SWT_BIND +The running thread has been bound to another processor and must be switched +out. +.El .Pp -If the thread is still in the -.Dv TDS_RUNNING -state, +In addition to the switch type, callers must specify the nature of the +switch by performing a bitwise OR with one of the +.Dv SW_VOL +or +.Dv SW_INVOL +flags, but not both. +Respectively, these flags denote whether the context switch is voluntary or +involuntary on the part of the current thread. +For an involuntary context switch in which the running thread is +being preempted, the caller should also pass the +.Dv SW_PREEMPT +flag. +.Pp +Upon entry to +.Fn mi_switch , +the current thread must be holding its assigned thread lock. +It may be unlocked as part of the context switch. +After they have been rescheduled and execution resumes, threads will exit .Fn mi_switch -will put it back onto the run queue, assuming that -it will want to run again soon. -If it is in one of the other -states and KSE threading is enabled, the associated -.Em KSE -will be made available to any higher priority threads from the same -group, to allow them to be scheduled next. +with their thread lock unlocked. .Pp -After these administrative tasks are done, .Fn mi_switch -hands over control to the machine dependent routine -.Fn cpu_switch , -which will perform the actual thread context switch. +records the amount of time the current thread has been running before handing +control over to the scheduler, via +.Fn sched_switch . +After selecting a new thread to run, the scheduler will call +.Fn cpu_switch +to perform the low-level context switch. .Pp .Fn cpu_switch -first saves the context of the current thread. -Next, it calls -.Fn choosethread -to determine which thread to run next. -Finally, it reads in the saved context of the new thread and starts to -execute the new thread. +is the machine-dependent function that performs the actual switch from the +running thread +.Fa oldtd +to the chosen thread +.Fa newtd . +First, it saves the context of +.Fa oldtd +to its Process Control Block, +.Po +PCB +.Vt struct pcb +.Pc , +pointed at by +.Va oldtd->td_pcb . +The function then updates important per-CPU state such as the +.Dv curthread +variable, and activates +.Fa newtd\&'s +virtual address space using its associated +.Xr pmap 9 +structure. +Finally, it reads in the saved context from +.Fa newtd\&'s +PCB. +CPU instruction flow continues in the new thread context, on +.Fa newtd\&'s +kernel stack. +The return from +.Fn cpu_switch +can be understood as a completion of the function call initiated by +.Fa newtd +when it was previously switched out, at some point in the distant (relative to +CPU time) past. +.Pp +The +.Fa mtx +argument to +.Fn cpu_switch +is used to pass the mutex which will be stored as +.Fa oldtd\&'s +thread lock at the moment that +.Fa oldtd +is completely switched out. +This is an implementation detail of +.Fn sched_switch . .Pp .Fn cpu_throw is similar to @@ -140,19 +219,18 @@ This function is useful when the kernel does not have an old thread context to save, such as when CPUs other than the boot CPU perform their first task switch, or when the kernel does not care about the state of the old thread, such as in -.Fn thread_exit +.Xr thread_exit 9 when the kernel terminates the current thread and switches into a new -thread. -.Pp -To protect the -.Xr runqueue 9 , -all of these functions must be called with the -.Va sched_lock -mutex held. +thread, +.Fa newtd . +The +.Fa oldtd +argument is unused. .Sh SEE ALSO -.Xr cv_wait 9 , +.Xr critical_exit 9 , .Xr issignal 9 , +.Xr kern_yield 9 , .Xr mutex 9 , -.Xr runqueue 9 , -.Xr tsleep 9 , -.Xr wakeup 9 +.Xr pmap 9 , +.Xr sleepqueue 9 , +.Xr thread_exit 9 From nobody Thu Feb 9 16:28:51 2023 X-Original-To: dev-commits-src-main@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 4PCMkW6QgHz3pnB8; Thu, 9 Feb 2023 16:28: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCMkW5v7gz4Lxr; Thu, 9 Feb 2023 16:28:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675960131; 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=qYYWb8Hm0YBPzE+t/SnTACki4023DE6jvWwlY1nA+7g=; b=iDLga4dv+nzLC6SUXREoTd4q5+DSw7ll7pLujlNVqLrxDwbigRLiuS15If1+eD4xn57qHq nfHiByv3nEIEprajMg1jthlCVPyS7BJqxDVEX8LsH7kXtbP2Qu9deDZ3BeVtbjd9Xssk2L em0mMMPV7oc/TMTiIQc63Yx6SdYFm8z54ykA8VdLVeVMCom3mZcqHxyZYNrrSsH3HmZ2pF sCIRQnYi7y3ZA/DWCZuAarhFe6ib6naJtSwHkOQDvS0FuSUyCsrOIhxsg1kh55z5ILPLVb 0rsIMXU7HlrsYC/a7hwgim/xH47hsG7rnTMB5Bl8fzyIv2ZuqMWVTVcNr2pSaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675960131; 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=qYYWb8Hm0YBPzE+t/SnTACki4023DE6jvWwlY1nA+7g=; b=RmVqBtCJOHRWcCQm78A8Sq5L9621RDNJBXGLQCA8vEFSkVi4EO0R0iIesz9/Y+dMZv3xLb kfiRGIbVb2HBNVr1Nirfom9nGvpfmK4RWOnOvX3PWJZlg5vTbHP4xD70ub+jcslLhzlDxJ uUp5cAm1XqG8xrWEXob0RmvBdr5uSWhNNSnixLhRjb8tofdg2U4xeDNGyQiRReqEIbPvDB 8S7zDfjF2SDkSel6uhA2R2tnBzi/zebd1aj8SVwx8qBiOP01nwkx+VOdEvgU1UHuJzlumH PnyarhOyNhNSejP6W3/pMffs/246RnWKIfWkVqux0Kmp21NHMW9h6WS+Uzjxag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675960131; a=rsa-sha256; cv=none; b=jteeqBsm7/qswI/lP5iNiCwiou1HUcipR49lCAkKGf0bOoEmOGdyd4mRndD44NKgC5b1Dt RvdiA/AaeFAgyRPu6QmkQSVSXxvA8LB+WCMTIdWpZ1fEFqT2DUQCCmK7bAgxSiH0+09gUG mm6etQw0xlcpp7MQeBfG+eDo6n71Wzod9+XH08+QDmA4PhqdIdDVnDAy5zmlY1UBAWJ+xr TjBXzh+Ilw8i7sHNwbDv7fcQNJKKv8F6LE6QfTdTRawrlo62xtfrpZ/I8ZEleMsWC63WyU kkJ9MhWOX+/g8AjyJsF/ZGWp58aQMr6qldtKPrV7kx8tBaiNJLZRmAsv9SCLVA== 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 4PCMkW4xFKzjy1; Thu, 9 Feb 2023 16:28:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319GSp9n024065; Thu, 9 Feb 2023 16:28:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319GSpbg024064; Thu, 9 Feb 2023 16:28:51 GMT (envelope-from git) Date: Thu, 9 Feb 2023 16:28:51 GMT Message-Id: <202302091628.319GSpbg024064@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 4378cc5cfb5c - main - Reapply: : Avoid instantiating a pointer type in std::decay<> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 4378cc5cfb5cf928e287c0143efb120d5558c4a0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=4378cc5cfb5cf928e287c0143efb120d5558c4a0 commit 4378cc5cfb5cf928e287c0143efb120d5558c4a0 Author: Dimitry Andric AuthorDate: 2023-02-09 09:33:42 +0000 Commit: Dimitry Andric CommitDate: 2023-02-09 16:28:32 +0000 Reapply: : Avoid instantiating a pointer type in std::decay<> GCC expands the pointer type in this conditional expression even for template types _Up that are not arrays. This raises an error when std::decay<> is used with reference types (as is done in LLVM's sources). Using add_pointer<> causes GCC to only instantiate a pointer type for array types. A similar change to this commit (albeit reworked due to upstream changes) has been merged to libc++ in commit 26068c6e60324ed866a1ca2afb5cb5eb0aaf015b. In file included from /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__compare/ordering.h:13, from /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__compare/common_comparison_category.h:12, from /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:168, from /usr/src/contrib/llvm-project/llvm/include/llvm/ADT/DenseMapInfo.h:20, from /usr/src/contrib/llvm-project/llvm/include/llvm/ADT/DenseMap.h:17, from /usr/src/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVNHoist.cpp:36: /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/type_traits: In instantiation of 'struct std::__1::__decay': /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/type_traits:1591:89: required from 'struct std::__1::decay' /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__utility/pair.h:132:16: required by substitution of 'template::type>::value && (! std::__1::is_same::type, std::__1::pair > >::value)), std::__1::pair >::_CheckTupleLikeConstructor, std::__1::__check_tuple_constructor_fail>::type::__enable_implicit<_Tuple>(), void>::type* > constexpr std::__1::pair >::pair(_Tuple&&) [with _Tuple = llvm::CHIArg&&; typename std::__1::enable_if::type>::value && (! std::__1::is_same::type, std::__1::pair > >::value)), std::__1::pair >::_CheckTupleLikeConstructor, std::__1::__check_tuple_constructor_fail>::type::__enable_implicit<_Tuple>(), void>::type* = ]' /usr/src/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVNHoist.cpp:892:51: required from here /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/type_traits:1582:30: error: forming pointer to reference type 'std::__1::remove_extent::type' {aka 'llvm::CHIArg&'} 1582 | >::type type; | ^~~~ Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D36898 This reapplies commit c36de97088a2b9141cdaf2fae2a7f41bf820ffa0, which I accidentally overwrote in the llvm 15 merge. (It turns out upstream did not merge this to their 15.x branch.) MFC after: 2 weeks --- contrib/llvm-project/libcxx/include/__type_traits/decay.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/llvm-project/libcxx/include/__type_traits/decay.h b/contrib/llvm-project/libcxx/include/__type_traits/decay.h index d47ad03fe008..2af0c1ca42c3 100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/decay.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/decay.h @@ -37,7 +37,7 @@ public: typedef _LIBCPP_NODEBUG typename conditional < is_array<_Up>::value, - typename remove_extent<_Up>::type*, + typename add_pointer::type>::type, typename conditional < is_function<_Up>::value, From nobody Thu Feb 9 17:25:04 2023 X-Original-To: dev-commits-src-main@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 4PCNzP2JL1z3mwmt; Thu, 9 Feb 2023 17:25: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCNzN4jcmz4Vxj; Thu, 9 Feb 2023 17:25:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675963504; 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=SmR2XUffHVT/zo7o3FYqB8h6lGtfNKm2aNoxGMG9yRQ=; b=esC0jRhGHeWJa9KUn1u9elmmM3g3wyZ7O9pznJCwFN3h+eZsp/lFgAvbxpoh6/nzwKLjOk Wpqddo9k3OeHZiktHKbsRn9Uym8w5gS8pBwqOd5W01x+qlWszOdgga5FIsrWw5IdZMIf8q UE/7/RRPcxejDbH1vtl09X3mFcKrP7P7b5x2arSLrk+qtmmQZL8g8sEEM4hBCQgBl6Z3zR c17zWhSNLXWOhfT7/3D7Cdci9e95hCdBi0cJ+yF1GSZdYCauQj7JZiW82alyF5/vYZQrrP MxM86SrhHJSvjZJkYv6gbD+tA8DE9TDw2STqnd1X4+nAKl9AYVkGYGaTtBD5lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675963504; 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=SmR2XUffHVT/zo7o3FYqB8h6lGtfNKm2aNoxGMG9yRQ=; b=SZLnDf/U4RU58Vwdi4f5hitrDNxYnB40M/64ZFdJcQBfkTImnlZ5fTq3GYMmw0wzPdCZj4 v05Us54t9zwfdQj4e26LbAW8OsRDq2FL6bxPCWQrMILS8o1x2BA0x2ClN8Q3JrPhG8Ig3q il0150MvMO3cJTcrSD48ZybQ/Y7A0CnHKLA0Wlyjqrca6CyrsimvXz78O35loODocV+8tE ty2ecc+unk84PuZHTxtuo8l01fkQF3r6A/AlLyKwNmq3K2+L/emDkZpc7TNDFtVEYKNM6q +jncZxHzv9V6v/iU6ay6gWhkW5x4TRCNicF2vGb9u4O49UqHw/j5RSVa1Qj6KQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675963504; a=rsa-sha256; cv=none; b=xdrYhaKbEIANtrv+XmVfumfwaUr/f36/tpB5FkEwS1ELiTQGo4j9DwsAqox2aVyPj2fweF QIM65LJvTshWetef/joiCxGZswTPEpGG8PZb9iRdXD4vSh1BMcwZrFmVTn+hMRslK89GSr O9AnqvKaQyhHfWjtVMFhIfuKqj4JpF74KHVAmP7V8r4fR3DSMT1sbqX4SslkITb0sqCf9x NBdZzrqi23mNvq98vltA1c4TXUn9EyAbsh4PCzoanO4MuHKO2vUwNaMxxwkTNxb0Od+DiS rHaEdj51fQUHmMURYbfmqT8lg+eyTQsy/Yuv4NA0PHSnEPGbxglju2/0faH7sg== 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 4PCNzN3mYTzlWn; Thu, 9 Feb 2023 17:25:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319HP4md010670; Thu, 9 Feb 2023 17:25:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319HP43P010669; Thu, 9 Feb 2023 17:25:04 GMT (envelope-from git) Date: Thu, 9 Feb 2023 17:25:04 GMT Message-Id: <202302091725.319HP43P010669@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 43d4680b399b - main - MINIMAL: Update and clean up. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 43d4680b399b34baa619dedbc747326000103136 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=43d4680b399b34baa619dedbc747326000103136 commit 43d4680b399b34baa619dedbc747326000103136 Author: Dag-Erling Smørgrav AuthorDate: 2023-02-09 17:24:08 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-09 17:24:45 +0000 MINIMAL: Update and clean up. * Add GEOM_LABEL, required to boot a default UEFI install. * Add enough of virtio to boot in bhyve. * Reduce diff between amd64 and i386. * Reduce diff to GENERIC. MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D38468 --- sys/amd64/conf/MINIMAL | 13 ++++++++++--- sys/i386/conf/MINIMAL | 29 ++++++++++++++--------------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/sys/amd64/conf/MINIMAL b/sys/amd64/conf/MINIMAL index 62f942eef677..fdafeed46eef 100644 --- a/sys/amd64/conf/MINIMAL +++ b/sys/amd64/conf/MINIMAL @@ -52,6 +52,7 @@ options UFS_DIRHASH # Improve performance on big directories options UFS_GJOURNAL # Enable gjournal-based UFS journaling options QUOTA # Enable disk quotas for UFS options MD_ROOT # MD is a potential root device +options GEOM_LABEL # Provides labelization options COMPAT_FREEBSD32 # Compatible with i386 binaries options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options COMPAT_FREEBSD5 # Compatible with FreeBSD5 @@ -118,9 +119,8 @@ device vt_vbefb device agp # support several AGP chipsets -# Bring in 'uart' as well, since it can be a console driver and all console -# drivers must be compiled into the kernel. -device uart +# Serial (COM) ports +device uart # Generic UART driver # Pseudo devices. device loop # Network loopback @@ -133,6 +133,13 @@ device ether # Ethernet support # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter +# VirtIO support +device virtio # Generic VirtIO bus (required) +device virtio_pci # VirtIO PCI device +device vtnet # VirtIO Ethernet device +device virtio_blk # VirtIO Block device +device virtio_balloon # VirtIO Memory Balloon device + # Linux KVM paravirtualization support device kvm_clock # KVM paravirtual clock driver diff --git a/sys/i386/conf/MINIMAL b/sys/i386/conf/MINIMAL index d9d556048b76..d939201d85a9 100644 --- a/sys/i386/conf/MINIMAL +++ b/sys/i386/conf/MINIMAL @@ -53,6 +53,7 @@ options UFS_DIRHASH # Improve performance on big directories options UFS_GJOURNAL # Enable gjournal-based UFS journaling options QUOTA # Enable disk quotas for UFS options MD_ROOT # MD is a potential root device +options GEOM_LABEL # Provides labelization options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options COMPAT_FREEBSD6 # Compatible with FreeBSD6 @@ -84,16 +85,6 @@ options INCLUDE_CONFIG_FILE # Include this file in kernel # Debugging support. Always need this: options KDB # Enable kernel debugger support. options KDB_TRACE # Print a stack trace for a panic. -# For full debugger support use (turn off in stable branch): -options DDB # Support DDB. -options GDB # Support remote GDB. -options DEADLKRES # Enable the deadlock resolver -options INVARIANTS # Enable calls of extra sanity checking -options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS -options WITNESS # Enable checks to detect deadlocks and cycles -options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed -options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones -options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default # Make an SMP-capable kernel by default options SMP # Symmetric MultiProcessor Kernel @@ -129,28 +120,36 @@ device vt_vbefb device agp # support several AGP chipsets +# Serial (COM) ports +device uart # Generic UART driver + # Pseudo devices. device loop # Network loopback device padlock_rng # VIA Padlock RNG device rdrand_rng # Intel Bull Mountain RNG device ether # Ethernet support -device vlan # 802.1Q VLAN support -device tuntap # Packet tunnel. -device gif # IPv6 and IPv4 tunneling # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter +# VirtIO support +device virtio # Generic VirtIO bus (required) +device virtio_pci # VirtIO PCI device +device vtnet # VirtIO Ethernet device +device virtio_blk # VirtIO Block device +device virtio_balloon # VirtIO Memory Balloon device + # Linux KVM paravirtualization support device kvm_clock # KVM paravirtual clock driver # Xen HVM Guest Optimizations -# NOTE: XENHVM depends on xenpci. They must be added or removed together. +# NOTE: XENHVM depends on xenpci and xentimer. +# They must be added or removed together. options XENHVM # Xen HVM kernel infrastructure device xenpci # Xen HVM Hypervisor services driver -device xentimer # Xen x86 PV timer device +device xentimer # Xen x86 PV timer device # evdev interface options EVDEV_SUPPORT # evdev support in legacy drivers From nobody Thu Feb 9 17:37:02 2023 X-Original-To: dev-commits-src-main@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 4PCPFf2DbYz3mxmT; Thu, 9 Feb 2023 17:37:26 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCPFf1qdXz4XLZ; Thu, 9 Feb 2023 17:37:26 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675964246; 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: in-reply-to:in-reply-to:references:references; bh=nYH151GMhmdfVfef9y7lvJgUjbUX/GbSg7c9JO+V8wM=; b=gh7YgN1bWSS92rz6tNPRCxHU+FEIQRXN/j66Jmhfkgt3OWXL4lEUSmXJF6aianhofNwXni gNaiNMkoVtu1lUiL46J5bmPR/mJ3xC+CrQeYlZrXuFBjvbxq+LVWZfIhh4M6UesXxj7hmT sUA6JCu6+0PTlgtyCyDHFiE6AOBXzqPAyFfinQJxqTeJzdq+i2VUwqWYWRqBwiX74y7VdX RVcbIuoyfIWwZOXQ9J0tDYlfOk3DY27JObd+9CiXfU/zKLVe2YGWzjz9wYtlpDRCq31QwR +ORntW/MPzhS7eKink1Sl6DyTo+x+Bm/uCM5FqU5K9qtmjBJrkVBzfAj0C9gtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675964246; 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: in-reply-to:in-reply-to:references:references; bh=nYH151GMhmdfVfef9y7lvJgUjbUX/GbSg7c9JO+V8wM=; b=YX6JiD2MuiT0HiGuDec1BREz9nr8ZVU6BCrSOdpN5Jxk7BEkismH7xEaFa3yMEyH7vfNOU jV6zjkx2SHaO0ek0gBzj+SnZh4lpYbdNT0gjTVSUNVizXG3iSov6gX4BKc1bUiNKisJZxZ oumLPnBjqjFcejvsKYqXVFs3Vq6q10nrR1j7OxBLSO426betx5r7/ntLQn0kZKt0P9vl7f ecVsMv5QANtNz4DaARiTFDEJ6797TIbY6KaXUE3fLRLfHcbXdmAphE2RzDzi9WMuIKn7kh Xmz7EOSqCHzBXfpRjCcpBipjxPUFMOl1Y25TiktFhTBIWAOOdAIun+VEDKpj0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675964246; a=rsa-sha256; cv=none; b=lOe40cybRZLIRyLX3iiR4RY6B3duG5/Aqzz82ke4jw4BRHke6tYZFb1n2Amev5SBT4yb3d vpx8CAGTBQXeDDHxcoJXEXzTNjaKFyrco7ze13xIIkrhTJZsDsBgLeuzgUpMvKGJkd06Sy E5o+wpqfKOqAsQhXT8h1qxJQlEpXjaU0JWLMAEdxMxQb8ad+jcEXW6UMR/loaSHiTDBMs1 wSoDR00SAbU4jpyp7i+beJuuKd5zGdVrzCDLsxlrDtQvXSxU3lvtJafR+k0JeLQ1ZEbnEe G7WB70g4Kmn7AMM9J24k0GoZ6S4Yp8M3UhpbQsa9rne37fkxL+PGb2DTdUmByg== Received: from [10.0.1.4] (ralph.baldwin.cx [66.234.199.215]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PCPFd4csfzSN3; Thu, 9 Feb 2023 17:37:25 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <15179deb-f5c7-d43d-2bf2-60d4c97ff45a@FreeBSD.org> Date: Thu, 9 Feb 2023 09:37:02 -0800 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.7.2 Subject: Re: git: 4378cc5cfb5c - main - Reapply: : Avoid instantiating a pointer type in std::decay<> To: Dimitry Andric , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202302091628.319GSpbg024064@gitrepo.freebsd.org> Content-Language: en-US From: John Baldwin In-Reply-To: <202302091628.319GSpbg024064@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On 2/9/23 8:28 AM, Dimitry Andric wrote: > The branch main has been updated by dim: > > URL: https://cgit.FreeBSD.org/src/commit/?id=4378cc5cfb5cf928e287c0143efb120d5558c4a0 > > commit 4378cc5cfb5cf928e287c0143efb120d5558c4a0 > Author: Dimitry Andric > AuthorDate: 2023-02-09 09:33:42 +0000 > Commit: Dimitry Andric > CommitDate: 2023-02-09 16:28:32 +0000 > > Reapply: : Avoid instantiating a pointer type in std::decay<> Thanks! -- John Baldwin From nobody Thu Feb 9 17:41:38 2023 X-Original-To: dev-commits-src-main@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 4PCPLV2sspz3mxyZ; Thu, 9 Feb 2023 17:41:38 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCPLV1rv5z4YWy; Thu, 9 Feb 2023 17:41:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675964498; 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=/gehXv+JlJzprYXbtGCdIE9bBn5KsGtbB72A3WDCN60=; b=omo1Rdv/LEgzNo74+Yb6KAXSzQ9t8gwObjlorfVSe0DXuiQ2rfImRfhsuiBp2171V3fuv+ AEh4hzMQNGCmH/R9hFyK8zEGtBRNY0DHxGK222szFOpHadhyPJuz14+iRP2s+2zXQd7nIb j5zH33letNfr1EIboRSFw4D/HYaNPBW2T+ulz0bsp1AVfvi7Fc57UP1AyZRJyjnXK1AxoB fwuiOwULqf+mc8Xst0897kXNP0NTvG4OAr92vknWxdq1kcnqnMdG0NolW6YikJEmxQSZ10 +olNcysTThxJTmeJq8LwsPiis/5F3ZB1rd6r3ut7tdCXy57NIoqbqWGX3duaIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675964498; 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=/gehXv+JlJzprYXbtGCdIE9bBn5KsGtbB72A3WDCN60=; b=mKNiFugjN+3E6PN+YJSJDWakHWn0G05GKJVWryP4ekEMeIPF4m92m8S40guqKuTkRE7rJB uJ/7ZQDKiWaxfPwpy4HCYiVx95L/tJQqU0QQVqhHesnXDpdyHxQUSkkLNOu0BqmAenYN0s 20WAXi2go5ySjIxUHlPQwoiKCwLIPtAs4xTNYKJp1jL1PjWDNgpTQuv77eOeLJyOAtUlGO WtxTkU4J6Cx198vXk//zHYuGhUAJcZk3MKo0y98OK6qwH5eI5LryUf3iUzhnFZB8d/8TLw /TMWIOTtlgN4UUqu3+FhVZ0ezPQqTn/IcLbzxfXbQ15OtyV4NZ76KIj70/5Srg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675964498; a=rsa-sha256; cv=none; b=rD3MCZE3Uy8r6MySmhJ+UXJoG5W60rf9kgVtXu7ect55KpaVFU06ENXzQx6Ju/M5NS8k9t HzHvu3UUmFnuE4iMU0gi2qDOa2y0s6qI3AkHoSxMg2pS5Y/X4sDTbMjY27n6aPxAY4TmBV QAe6pdsnKE5F6pqpV5cXNTHBrXgApFp6grf9+yeFV7wqkZ/lWNcH3/9W4PYmR/vPCSX7cs gTqBYQuDYKnv3ALvP/neqN16/5m8/MK3d+/KrqQTrqlsyXzHAaiKusUgOzvmIsgQa1oBV5 24Zi1si8Rp62zCQO+qG5BoZAW+uYwdMnQWWpCKd4INmDov/cdMcwFEzqursW0A== 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 4PCPLV0t8CzmG5; Thu, 9 Feb 2023 17:41:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319HfcBp035310; Thu, 9 Feb 2023 17:41:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319Hfcbd035309; Thu, 9 Feb 2023 17:41:38 GMT (envelope-from git) Date: Thu, 9 Feb 2023 17:41:38 GMT Message-Id: <202302091741.319Hfcbd035309@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: ce6a0c776b70 - main - tarfs: Fix issues revealed by static analysis and testing. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: ce6a0c776b702f063d4f200de34bfeaddcbb3cb7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=ce6a0c776b702f063d4f200de34bfeaddcbb3cb7 commit ce6a0c776b702f063d4f200de34bfeaddcbb3cb7 Author: Dag-Erling Smørgrav AuthorDate: 2023-02-09 17:35:28 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-09 17:35:47 +0000 tarfs: Fix issues revealed by static analysis and testing. * tarfs_alloc_mount(): Remove an unnecessary null check (CID 1504505) and an unused variable. * tarfs_alloc_one(): Verify that the file size is not negative (CID 1504506). While there, also validate the mode, owner and group. * tarfs_vget(), tarfs_zio_init(): Explicitly ignore return value from getnewvnode(), which cannot fail (CID 1504508) * tarfs_lookup_path(): Fix a case where a specially-crafted tarball could trigger a null pointer dereference by first descending into, and then backing out of, a previously unknown directory. (CID 1504515) * mktar: Construct a tarball that triggers the aforementioned null pointer dereference. Reported by: Coverity Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: imp, kib Differential Revision: https://reviews.freebsd.org/D38463 --- sys/fs/tarfs/tarfs_io.c | 2 +- sys/fs/tarfs/tarfs_vfsops.c | 88 +++++++++++++++++++++++++++------------------ sys/fs/tarfs/tarfs_vnops.c | 2 +- tests/sys/fs/tarfs/mktar.c | 43 ++++++++++++++++++++-- 4 files changed, 96 insertions(+), 39 deletions(-) diff --git a/sys/fs/tarfs/tarfs_io.c b/sys/fs/tarfs/tarfs_io.c index c185de8beef1..8837681ac5f0 100644 --- a/sys/fs/tarfs/tarfs_io.c +++ b/sys/fs/tarfs/tarfs_io.c @@ -630,7 +630,7 @@ tarfs_zio_init(struct tarfs_mount *tmp, off_t i, off_t o) zio->idx[zio->curidx].o = zio->opos = o; tmp->zio = zio; TARFS_DPF(ALLOC, "%s: allocated zio index\n", __func__); - getnewvnode("tarfsz", tmp->vfs, &tarfs_znodeops, &zvp); + (void)getnewvnode("tarfsz", tmp->vfs, &tarfs_znodeops, &zvp); zvp->v_data = zio; zvp->v_type = VREG; zvp->v_mount = tmp->vfs; diff --git a/sys/fs/tarfs/tarfs_vfsops.c b/sys/fs/tarfs/tarfs_vfsops.c index a45f005a2bd1..138a57c22e7f 100644 --- a/sys/fs/tarfs/tarfs_vfsops.c +++ b/sys/fs/tarfs/tarfs_vfsops.c @@ -289,7 +289,7 @@ tarfs_lookup_path(struct tarfs_mount *tmp, char *name, size_t namelen, char **endp, char **sepp, struct tarfs_node **retparent, struct tarfs_node **retnode, boolean_t create_dirs) { - struct componentname cn; + struct componentname cn = { }; struct tarfs_node *parent, *tnp; char *sep; size_t len; @@ -304,8 +304,6 @@ tarfs_lookup_path(struct tarfs_mount *tmp, char *name, size_t namelen, if (tnp == NULL) panic("%s: root node not yet created", __func__); - bzero(&cn, sizeof(cn)); - TARFS_DPF(LOOKUP, "%s: Full path: %.*s\n", __func__, (int)namelen, name); @@ -329,24 +327,21 @@ tarfs_lookup_path(struct tarfs_mount *tmp, char *name, size_t namelen, /* nothing */ ; /* check for . and .. */ - if (name[0] == '.' && len <= 2) { - if (len == 1) { - /* . */ - name += len; - namelen -= len; - continue; - } else if (name[1] == '.') { - /* .. */ - if (tnp == tmp->root) { - error = EINVAL; - break; - } - tnp = tnp->parent; - parent = tnp->parent; - name += len; - namelen -= len; - continue; + if (name[0] == '.' && len == 1) { + name += len; + namelen -= len; + continue; + } + if (name[0] == '.' && name[1] == '.' && len == 2) { + if (tnp == tmp->root) { + error = EINVAL; + break; } + tnp = parent; + parent = tnp->parent; + name += len; + namelen -= len; + continue; } /* create parent if necessary */ @@ -441,6 +436,7 @@ tarfs_alloc_one(struct tarfs_mount *tmp, off_t *blknump) struct sbuf *namebuf = NULL; char *exthdr = NULL, *name = NULL, *link = NULL; off_t blknum = *blknump; + int64_t num; int endmarker = 0; char *namep, *sep; struct tarfs_node *parent, *tnp; @@ -511,10 +507,41 @@ again: } /* get standard attributes */ - mode = tarfs_str2int64(hdrp->mode, sizeof(hdrp->mode)); - uid = tarfs_str2int64(hdrp->uid, sizeof(hdrp->uid)); - gid = tarfs_str2int64(hdrp->gid, sizeof(hdrp->gid)); - sz = tarfs_str2int64(hdrp->size, sizeof(hdrp->size)); + num = tarfs_str2int64(hdrp->mode, sizeof(hdrp->mode)); + if (num < 0 || num > ALLPERMS) { + TARFS_DPF(ALLOC, "%s: invalid file mode at %zu\n", + __func__, TARFS_BLOCKSIZE * (blknum - 1)); + mode = S_IRUSR; + } else { + mode = num; + } + num = tarfs_str2int64(hdrp->uid, sizeof(hdrp->uid)); + if (num < 0 || num > UID_MAX) { + TARFS_DPF(ALLOC, "%s: UID out of range at %zu\n", + __func__, TARFS_BLOCKSIZE * (blknum - 1)); + uid = tmp->root->uid; + mode &= ~S_ISUID; + } else { + uid = num; + } + num = tarfs_str2int64(hdrp->gid, sizeof(hdrp->gid)); + if (num < 0 || num > GID_MAX) { + TARFS_DPF(ALLOC, "%s: GID out of range at %zu\n", + __func__, TARFS_BLOCKSIZE * (blknum - 1)); + gid = tmp->root->gid; + mode &= ~S_ISGID; + } else { + gid = num; + } + num = tarfs_str2int64(hdrp->size, sizeof(hdrp->size)); + if (num < 0) { + TARFS_DPF(ALLOC, "%s: negative size at %zu\n", + __func__, TARFS_BLOCKSIZE * (blknum - 1)); + error = EINVAL; + goto bad; + } else { + sz = num; + } mtime = tarfs_str2int64(hdrp->mtime, sizeof(hdrp->mtime)); rdev = NODEV; TARFS_DPF(ALLOC, "%s: [%c] %zu @%jd %o %d:%d\n", __func__, @@ -777,7 +804,6 @@ tarfs_alloc_mount(struct mount *mp, struct vnode *vp, { struct vattr va; struct thread *td = curthread; - char *fullpath; struct tarfs_mount *tmp; struct tarfs_node *root; off_t blknum; @@ -788,7 +814,6 @@ tarfs_alloc_mount(struct mount *mp, struct vnode *vp, ASSERT_VOP_LOCKED(vp, __func__); tmp = NULL; - fullpath = NULL; TARFS_DPF(ALLOC, "%s: Allocating tarfs mount structure for vp %p\n", __func__, vp); @@ -802,8 +827,7 @@ tarfs_alloc_mount(struct mount *mp, struct vnode *vp, mtime = va.va_mtime.tv_sec; /* Allocate and initialize tarfs mount structure */ - tmp = (struct tarfs_mount *)malloc(sizeof(struct tarfs_mount), - M_TARFSMNT, M_WAITOK | M_ZERO); + tmp = malloc(sizeof(*tmp), M_TARFSMNT, M_WAITOK | M_ZERO); TARFS_DPF(ALLOC, "%s: Allocated mount structure\n", __func__); mp->mnt_data = tmp; @@ -848,9 +872,7 @@ tarfs_alloc_mount(struct mount *mp, struct vnode *vp, return (0); bad: - if (tmp != NULL) - tarfs_free_mount(tmp); - free(fullpath, M_TEMP); + tarfs_free_mount(tmp); return (error); } @@ -1104,9 +1126,7 @@ tarfs_vget(struct mount *mp, ino_t ino, int lkflags, struct vnode **vpp) if (tnp == NULL) return (ENOENT); - error = getnewvnode("tarfs", mp, &tarfs_vnodeops, &vp); - if (error != 0) - goto bad; + (void)getnewvnode("tarfs", mp, &tarfs_vnodeops, &vp); TARFS_DPF(FS, "%s: allocated vnode\n", __func__); vp->v_data = tnp; vp->v_type = tnp->type; diff --git a/sys/fs/tarfs/tarfs_vnops.c b/sys/fs/tarfs/tarfs_vnops.c index 266002bca7b2..99ff39d41271 100644 --- a/sys/fs/tarfs/tarfs_vnops.c +++ b/sys/fs/tarfs/tarfs_vnops.c @@ -250,7 +250,7 @@ tarfs_lookup(struct vop_cachedlookup_args *ap) static int tarfs_readdir(struct vop_readdir_args *ap) { - struct dirent cde; + struct dirent cde = { }; struct tarfs_node *current, *tnp; struct vnode *vp; struct uio *uio; diff --git a/tests/sys/fs/tarfs/mktar.c b/tests/sys/fs/tarfs/mktar.c index e1b1183af114..9b3d7910a12c 100644 --- a/tests/sys/fs/tarfs/mktar.c +++ b/tests/sys/fs/tarfs/mktar.c @@ -41,6 +41,8 @@ #define PROGNAME "mktar" #define SUBDIRNAME "directory" +#define EMPTYDIRNAME "empty" +#define NORMALFILENAME "file" #define SPARSEFILENAME "sparse_file" #define HARDLINKNAME "hard_link" #define SHORTLINKNAME "short_link" @@ -61,6 +63,25 @@ static void verbose(const char *fmt, ...) fprintf(stderr, "\n"); } +static void +mknormalfile(const char *filename, mode_t mode) +{ + char buf[512]; + ssize_t res; + int fd; + + if ((fd = open(filename, O_RDWR|O_CREAT|O_EXCL, mode)) < 0) + err(1, "%s", filename); + for (unsigned int i = 0; i < sizeof(buf); i++) + buf[i] = 32 + i % 64; + res = write(fd, buf, sizeof(buf)); + if (res < 0) + err(1, "%s", filename); + if (res != sizeof(buf)) + errx(1, "%s: short write", filename); + close(fd); +} + static void mksparsefile(const char *filename, mode_t mode) { @@ -68,7 +89,7 @@ mksparsefile(const char *filename, mode_t mode) ssize_t res; int fd; - if ((fd = open(filename, O_RDWR|O_CREAT|O_TRUNC, mode)) < 0) + if ((fd = open(filename, O_RDWR|O_CREAT|O_EXCL, mode)) < 0) err(1, "%s", filename); for (unsigned int i = 33; i <= 126; i++) { memset(buf, i, sizeof(buf)); @@ -106,6 +127,15 @@ mktar(void) if (mkdir(SUBDIRNAME, 0755) != 0) err(1, "%s", SUBDIRNAME); + /* create a second subdirectory which will remain empty */ + verbose("mkdir %s", EMPTYDIRNAME); + if (mkdir(EMPTYDIRNAME, 0755) != 0) + err(1, "%s", EMPTYDIRNAME); + + /* create a normal file */ + verbose("creating %s", NORMALFILENAME); + mknormalfile(NORMALFILENAME, 0644); + /* create a sparse file */ verbose("creating %s", SPARSEFILENAME); mksparsefile(SPARSEFILENAME, 0644); @@ -198,7 +228,12 @@ main(int argc, char *argv[]) #if 0 "--options", "zstd:frame-per-file", #endif - ".", + "./" EMPTYDIRNAME "/../" NORMALFILENAME, + "./" SPARSEFILENAME, + "./" HARDLINKNAME, + "./" SHORTLINKNAME, + "./" SUBDIRNAME, + "./" LONGLINKNAME, NULL); err(1, "execlp()"); } @@ -222,7 +257,9 @@ main(int argc, char *argv[]) (void)unlink(HARDLINKNAME); verbose("rm %s", SPARSEFILENAME); (void)unlink(SPARSEFILENAME); - verbose("rm %s", SUBDIRNAME); + verbose("rmdir %s", EMPTYDIRNAME); + (void)rmdir(EMPTYDIRNAME); + verbose("rmdir %s", SUBDIRNAME); (void)rmdir(SUBDIRNAME); verbose("cd -"); exit(0); From nobody Thu Feb 9 17:42:53 2023 X-Original-To: dev-commits-src-main@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 4PCPMz52yBz3my9f; Thu, 9 Feb 2023 17:42:55 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCPMz4VJLz4Z66; Thu, 9 Feb 2023 17:42:55 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675964575; 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: in-reply-to:in-reply-to:references:references; bh=UQJWzmCuPkVrlygmGqRqXwFTTvjXJZduLFrDzPGzZnA=; b=xMtESsZpw/HwOjw0DiCJoAoC3r4bQ1WWETeZjX9ofASuAuqZjNnWJKRCfgnnMWsFFK1561 7qGoYHqoLQaiYa6lvfm8kTqMoJhJDgpRKHsEegwugQFqoChRRg1K+MYvjhMdrKGtuEbQFO uP8yrKPHjHq7xL07T5piC3nq9ht6H/UnMszVUcrTAoa+ZkQigWmOLQmSm31ikRwiJVP7r1 k34/b9Txxs+wrPuqAo2uv14NQRX29/MLcoRR+WHXEHOnAQw34Ox9IMPw0hF9o9RIWvLuqp /0HdzHWnU+693yJCH9Md64oy3at+ev/eHP2MlCbczSkXZUc2v8Q6koZKjOU/WQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675964575; 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: in-reply-to:in-reply-to:references:references; bh=UQJWzmCuPkVrlygmGqRqXwFTTvjXJZduLFrDzPGzZnA=; b=Fs+WK7a7/88I9M48jZbd8wdPoytuoPmgMCnV4VWg2lKypI6UqAGwIt4n9AnTL5MQIaGaN+ JsBg5qhapCyEPH+5fUvc+DbNJ6Deq59lMOQwHgwlIHcVxn/8zaYJwMG278ucSUkPLJHI/w wkNkr78PANS/oBBttt6D3ihnTPEq1RtSDODGhQGz48h2xwGYwRTgiEyCWpEOmNTv0rLFK5 xvv0E+HDLhNVAgRsH1awWuhD7GxBhPREQsZJx8LHp8DOg+t5MnFIBVSoeBCj53F5KMkWKg G8ruqVPzge9ILNWN7Y65qe/yAWLo3X6VOOKXK8V2gsynn8GPrMTgmEPR6FGUpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675964575; a=rsa-sha256; cv=none; b=UC37/hylUQtwXPVajWAX3LUqLdSl4A/ZJN4moP/SKGkXJ310e7j+ESosal/LhbRlz93tsR hm0CEnq+gOZ5SA/JLNpvpM+GvBFql3tpePf9XeXaxh0K1ZPCVppJONR9+bzAuEF3G3m7At 1jUl5x1cr7ckYTdTL42PahhBca5wGJ1mXkvuPPgOPwvFb5RsoNZ2nD1xPtxAgVwKPCBFD7 xbJG+MvMP2CF8pPyyY6yTVpscUsifyXErf5SbajPWQUwDn6YJC4/iGDXegnfLmK/HnbOft cM6IMXnFjhbqoTIRM7DqJ3pSkqI828x8ZCiZt6KUZlvWlZBKKlgfrSxKaBiq0A== Received: from [10.0.1.4] (ralph.baldwin.cx [66.234.199.215]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PCPMz0HlfzSN5; Thu, 9 Feb 2023 17:42:54 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <195e5cd0-e2cf-14d4-07d4-f368ab1a5f59@FreeBSD.org> Date: Thu, 9 Feb 2023 09:42:53 -0800 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.7.2 Subject: Re: git: f9bdaab95ec4 - main - ofwbus: remove handling of resources from ofwbus Content-Language: en-US To: Mitchell Horne , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202302082052.318KqNUL052449@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202302082052.318KqNUL052449@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On 2/8/23 12:52 PM, Mitchell Horne wrote: > The branch main has been updated by mhorne: > > URL: https://cgit.FreeBSD.org/src/commit/?id=f9bdaab95ec469738fbfc1f0edd3e8c744b7f71f > > commit f9bdaab95ec469738fbfc1f0edd3e8c744b7f71f > Author: Elliott Mitchell > AuthorDate: 2023-02-08 20:17:03 +0000 > Commit: Mitchell Horne > CommitDate: 2023-02-08 20:50:46 +0000 > > ofwbus: remove handling of resources from ofwbus > > The architecture nexus should handle allocation and release of memory and > interrupts. This is to ensure that system-wide resources such as these > are available to all devices, not just children of ofwbus0. > > On powerpc this moves the ownership of these resources up one level, > from ofwbus0 to nexus0. Other architectures already have the required > logic in their nexus implementation, so this eliminates the duplication > of resources. An implementation of nexus_adjust_resource() is added for > arm, arm64, and riscv. > > As noted by ian@ in the review, resource handling was the main bit of > logic distinguishing ofwbus from simplebus. With some attention to > detail, it should be possible to merge the two in the future. > > Co-authored by: mhorne > MFC after: 1 month > Differential Revision: https://reviews.freebsd.org/D30554 Thanks! I actually had an earlier version of this but hadn't managed to get it tested on powerpc. I had it as part of a branch to cleanup bus_activate_resource methods across various architectures whcih I will now rebase and try to finish up. If you are curious: https://github.com/freebsd/freebsd-src/compare/main...bsdjhb:freebsd:bus_map_resource_more -- John Baldwin From nobody Thu Feb 9 17:53:08 2023 X-Original-To: dev-commits-src-main@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 4PCPbn0KnCz3n0XH; Thu, 9 Feb 2023 17:53: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCPbm70Chz4dQ3; Thu, 9 Feb 2023 17:53:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675965188; 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=+G++jgCBubc8d5in7EGVZcIHy7y6rkOctja9HFrrNU0=; b=jcA+OdUAodWh5DcY52oL7NFkOfavnUEoZbKrEqeVzgiDXpM3fTBXtmxIPOI3Jf+b8PyJgn AgMl/RpPRADmsJ0hk3fG1ZeyMcpOKEtoqO8g553q1KyMLkR3DsHOSN0jU3INbLZAxm4d+S g5K2z+zCcSX1/KP2QKrpmFLDMpmSkIXBs/lWhRET9PCwzTrL3ZPkb//nCsUlWquKflRPXH Vc5mTwto8LaSmZP5Gg4sPo2pJwqHdgXjEeYQsbnpHb1WL3V5p256dcO36rtfa2yOlz9gYD tWsSzwBy7DM/pL/SohA6FmtEvWHhJZ6BJ4mEBnCjkk1ZqiKVnW7KneUVaQQA8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675965188; 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=+G++jgCBubc8d5in7EGVZcIHy7y6rkOctja9HFrrNU0=; b=s8/IkxYkemFTDRqxqRhux+fUCjpZIDm8QLOEECDDa2rLziAXFXfMQsTFn8SP1xDyy7f9mA RaZ6jhElXZb4bRcX2oZVd0F/7P/eS5kekXGmHE4swpxFXBRUIbxturC/NIQnyuL27iyTNh BOZGXYiJKcGkk1iscJvreS0S6XGN9lhm8lwT/ZSY+OP5xOBVON0W6r2T98XA3lXomH0jYF u/5NFZvPAzTclcfbvQbziY61rBD/CfpSoq2Ex0BCYe+m89VBPGhTT15PmTxMeFJd5pC5CP nA9u9kVqM3E1XgBfvJGHp8qb0h4TZnYKL5O9HwEHqqp24MuuqxUg16klkWRzng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675965188; a=rsa-sha256; cv=none; b=YVOHh74ldIqsC8E2Cq/3IMdt/0RzBA0o20gbV9kz6uO/VtS818L6mrEtnqB+Hll9zLH9OI 2qtEWW5IVox6TvrraQxSP+5w9Y0je/nXtJAdaKUNXm4FKfr5+2zZxQlhbzG6j8+307a/On FT66IhSO6U1fjUPC1ua/Oy5v4ZPASHQoK8PhRFVHGLjkE6Syo3VN9aAjnyNCzCKOsRNutI pYpF/XQDkqKCcCB0M9mWL7TMFCOj82nHcfsz49WWJRUMWyzyCIFGIGijiyCrsDlSSCCYFV rg7FLvhvxvAra+aTtrabIuEabvLDfbEapkk0Vm8Cki9895lYzgG6Nm2DP/crYg== 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 4PCPbm62T3zlwg; Thu, 9 Feb 2023 17:53:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319Hr8nP053642; Thu, 9 Feb 2023 17:53:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319Hr852053641; Thu, 9 Feb 2023 17:53:08 GMT (envelope-from git) Date: Thu, 9 Feb 2023 17:53:08 GMT Message-Id: <202302091753.319Hr852053641@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Gallatin Subject: git: c0e4090e3d43 - main - ktls: Accurately track if ifnet ktls is enabled List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gallatin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c0e4090e3d43eeb86270dd35835862660b045c26 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=c0e4090e3d43eeb86270dd35835862660b045c26 commit c0e4090e3d43eeb86270dd35835862660b045c26 Author: Andrew Gallatin AuthorDate: 2023-02-08 20:37:08 +0000 Commit: Andrew Gallatin CommitDate: 2023-02-09 17:44:44 +0000 ktls: Accurately track if ifnet ktls is enabled This allows us to avoid spurious calls to ktls_disable_ifnet() When we implemented ifnet kTLSe, we set a flag in the tx socket buffer (SB_TLS_IFNET) to indicate ifnet kTLS. This flag meant that now, or in the past, ifnet ktls was active on a socket. Later, I added code to switch ifnet ktls sessions to software in the case of lossy TCP connections that have a high retransmit rate. Because TCP was using SB_TLS_IFNET to know if it needed to do math to calculate the retransmit ratio and potentially call into ktls_disable_ifnet(), it was doing unneeded work long after a session was moved to software. This patch carefully tracks whether or not ifnet ktls is still enabled on a TCP connection. Because the inp is now embedded in the tcpcb, and because TCP is the most frequent accessor of this state, it made sense to move this from the socket buffer flags to the tcpcb. Because we now need reliable access to the tcbcb, we take a ref on the inp when creating a tx ktls session. While here, I noticed that rack/bbr were incorrectly implementing tfb_hwtls_change(), and applying the change to all pending sends, when it should apply only to future sends. This change reduces spurious calls to ktls_disable_ifnet() by 95% or so in a Netflix CDN environment. Reviewed by: markj, rrs Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D38380 --- sys/kern/uipc_ktls.c | 145 +++++++++++++++++++++++++++++++++--------- sys/netinet/tcp_output.c | 2 +- sys/netinet/tcp_ratelimit.c | 4 +- sys/netinet/tcp_stacks/bbr.c | 2 +- sys/netinet/tcp_stacks/rack.c | 14 +--- sys/netinet/tcp_var.h | 3 + sys/sys/ktls.h | 3 +- sys/sys/sockbuf.h | 2 +- 8 files changed, 126 insertions(+), 49 deletions(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index ac55268728e9..b3895aee9249 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -222,6 +222,11 @@ static COUNTER_U64_DEFINE_EARLY(ktls_ifnet_disable_ok); SYSCTL_COUNTER_U64(_kern_ipc_tls_stats, OID_AUTO, ifnet_disable_ok, CTLFLAG_RD, &ktls_ifnet_disable_ok, "TLS sessions able to switch to SW from ifnet"); +static COUNTER_U64_DEFINE_EARLY(ktls_destroy_task); +SYSCTL_COUNTER_U64(_kern_ipc_tls_stats, OID_AUTO, destroy_task, CTLFLAG_RD, + &ktls_destroy_task, + "Number of times ktls session was destroyed via taskqueue"); + SYSCTL_NODE(_kern_ipc_tls, OID_AUTO, sw, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "Software TLS session stats"); SYSCTL_NODE(_kern_ipc_tls, OID_AUTO, ifnet, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, @@ -619,10 +624,14 @@ ktls_create_session(struct socket *so, struct tls_enable *en, counter_u64_add(ktls_offload_active, 1); refcount_init(&tls->refcount, 1); - if (direction == KTLS_RX) + if (direction == KTLS_RX) { TASK_INIT(&tls->reset_tag_task, 0, ktls_reset_receive_tag, tls); - else + } else { TASK_INIT(&tls->reset_tag_task, 0, ktls_reset_send_tag, tls); + tls->inp = so->so_pcb; + in_pcbref(tls->inp); + tls->tx = true; + } tls->wq_index = ktls_get_cpu(so); @@ -757,12 +766,16 @@ ktls_clone_session(struct ktls_session *tls, int direction) counter_u64_add(ktls_offload_active, 1); refcount_init(&tls_new->refcount, 1); - if (direction == KTLS_RX) + if (direction == KTLS_RX) { TASK_INIT(&tls_new->reset_tag_task, 0, ktls_reset_receive_tag, tls_new); - else + } else { TASK_INIT(&tls_new->reset_tag_task, 0, ktls_reset_send_tag, tls_new); + tls_new->inp = tls->inp; + tls_new->tx = true; + in_pcbref(tls_new->inp); + } /* Copy fields from existing session. */ tls_new->params = tls->params; @@ -1272,6 +1285,7 @@ ktls_enable_tx(struct socket *so, struct tls_enable *en) { struct ktls_session *tls; struct inpcb *inp; + struct tcpcb *tp; int error; if (!ktls_offload_enable) @@ -1336,8 +1350,13 @@ ktls_enable_tx(struct socket *so, struct tls_enable *en) SOCKBUF_LOCK(&so->so_snd); so->so_snd.sb_tls_seqno = be64dec(en->rec_seq); so->so_snd.sb_tls_info = tls; - if (tls->mode != TCP_TLS_MODE_SW) - so->so_snd.sb_flags |= SB_TLS_IFNET; + if (tls->mode != TCP_TLS_MODE_SW) { + tp = intotcpcb(inp); + MPASS(tp->t_nic_ktls_xmit == 0); + tp->t_nic_ktls_xmit = 1; + if (tp->t_fb->tfb_hwtls_change != NULL) + (*tp->t_fb->tfb_hwtls_change)(tp, 1); + } SOCKBUF_UNLOCK(&so->so_snd); INP_WUNLOCK(inp); SOCK_IO_SEND_UNLOCK(so); @@ -1438,6 +1457,7 @@ ktls_set_tx_mode(struct socket *so, int mode) { struct ktls_session *tls, *tls_new; struct inpcb *inp; + struct tcpcb *tp; int error; if (SOLISTENING(so)) @@ -1452,6 +1472,20 @@ ktls_set_tx_mode(struct socket *so, int mode) inp = so->so_pcb; INP_WLOCK_ASSERT(inp); + tp = intotcpcb(inp); + + if (mode == TCP_TLS_MODE_IFNET) { + /* Don't allow enabling ifnet ktls multiple times */ + if (tp->t_nic_ktls_xmit) + return (EALREADY); + /* + * Don't enable ifnet ktls if we disabled it due to an + * excessive retransmission rate + */ + if (tp->t_nic_ktls_xmit_dis) + return (ENXIO); + } + SOCKBUF_LOCK(&so->so_snd); tls = so->so_snd.sb_tls_info; if (tls == NULL) { @@ -1507,8 +1541,12 @@ ktls_set_tx_mode(struct socket *so, int mode) INP_WLOCK(inp); SOCKBUF_LOCK(&so->so_snd); so->so_snd.sb_tls_info = tls_new; - if (tls_new->mode != TCP_TLS_MODE_SW) - so->so_snd.sb_flags |= SB_TLS_IFNET; + if (tls_new->mode != TCP_TLS_MODE_SW) { + MPASS(tp->t_nic_ktls_xmit == 0); + tp->t_nic_ktls_xmit = 1; + if (tp->t_fb->tfb_hwtls_change != NULL) + (*tp->t_fb->tfb_hwtls_change)(tp, 1); + } SOCKBUF_UNLOCK(&so->so_snd); SOCK_IO_SEND_UNLOCK(so); @@ -1662,8 +1700,7 @@ ktls_reset_send_tag(void *context, int pending) mtx_pool_lock(mtxpool_sleep, tls); tls->reset_pending = false; mtx_pool_unlock(mtxpool_sleep, tls); - if (!in_pcbrele_wlocked(inp)) - INP_WUNLOCK(inp); + INP_WUNLOCK(inp); counter_u64_add(ktls_ifnet_reset, 1); @@ -1674,18 +1711,15 @@ ktls_reset_send_tag(void *context, int pending) } else { NET_EPOCH_ENTER(et); INP_WLOCK(inp); - if (!in_pcbrele_wlocked(inp)) { - if (!(inp->inp_flags & INP_DROPPED)) { - tp = intotcpcb(inp); - CURVNET_SET(inp->inp_vnet); - tp = tcp_drop(tp, ECONNABORTED); - CURVNET_RESTORE(); - if (tp != NULL) - INP_WUNLOCK(inp); + if (!(inp->inp_flags & INP_DROPPED)) { + tp = intotcpcb(inp); + CURVNET_SET(inp->inp_vnet); + tp = tcp_drop(tp, ECONNABORTED); + CURVNET_RESTORE(); + if (tp != NULL) counter_u64_add(ktls_ifnet_reset_dropped, 1); - } else - INP_WUNLOCK(inp); } + INP_WUNLOCK(inp); NET_EPOCH_EXIT(et); counter_u64_add(ktls_ifnet_reset_failed, 1); @@ -1746,8 +1780,6 @@ ktls_output_eagain(struct inpcb *inp, struct ktls_session *tls) mtx_pool_lock(mtxpool_sleep, tls); if (!tls->reset_pending) { (void) ktls_hold(tls); - in_pcbref(inp); - tls->inp = inp; tls->reset_pending = true; taskqueue_enqueue(taskqueue_thread, &tls->reset_tag_task); } @@ -1790,11 +1822,55 @@ ktls_modify_txrtlmt(struct ktls_session *tls, uint64_t max_pacing_rate) #endif #endif +static void +ktls_destroy_help(void *context, int pending __unused) +{ + ktls_destroy(context); +} + void ktls_destroy(struct ktls_session *tls) { + struct inpcb *inp; + struct tcpcb *tp; + bool wlocked; + MPASS(tls->refcount == 0); + inp = tls->inp; + if (tls->tx) { + wlocked = INP_WLOCKED(inp); + if (!wlocked && !INP_TRY_WLOCK(inp)) { + /* + * rwlocks read locks are anonymous, and there + * is no way to know if our current thread + * holds an rlock on the inp. As a rough + * estimate, check to see if the thread holds + * *any* rlocks at all. If it does not, then we + * know that we don't hold the inp rlock, and + * can safely take the wlock + */ + + if (curthread->td_rw_rlocks == 0) { + INP_WLOCK(inp); + } else { + /* + * We might hold the rlock, so let's + * do the destroy in a taskqueue + * context to avoid a potential + * deadlock. This should be very + * rare. + */ + counter_u64_add(ktls_destroy_task, 1); + TASK_INIT(&tls->destroy_task, 0, + ktls_destroy_help, tls); + (void)taskqueue_enqueue(taskqueue_thread, + &tls->destroy_task); + return; + } + } + } + if (tls->sequential_records) { struct mbuf *m, *n; int page_count; @@ -1841,6 +1917,12 @@ ktls_destroy(struct ktls_session *tls) m_snd_tag_rele(tls->snd_tag); if (tls->rx_ifp != NULL) if_rele(tls->rx_ifp); + if (tls->tx) { + INP_WLOCK_ASSERT(inp); + tp = intotcpcb(inp); + MPASS(tp->t_nic_ktls_xmit == 1); + tp->t_nic_ktls_xmit = 0; + } break; #ifdef TCP_OFFLOAD case TCP_TLS_MODE_TOE: @@ -1870,6 +1952,11 @@ ktls_destroy(struct ktls_session *tls) tls->params.cipher_key = NULL; tls->params.cipher_key_len = 0; } + if (tls->tx) { + INP_WLOCK_ASSERT(inp); + if (!in_pcbrele_wlocked(inp) && !wlocked) + INP_WUNLOCK(inp); + } explicit_bzero(tls->params.iv, sizeof(tls->params.iv)); uma_zfree(ktls_session_zone, tls); @@ -3213,8 +3300,7 @@ out: CURVNET_SET(so->so_vnet); sorele(so); CURVNET_RESTORE(); - if (!in_pcbrele_wlocked(inp)) - INP_WUNLOCK(inp); + INP_WUNLOCK(inp); ktls_free(tls); } @@ -3245,22 +3331,19 @@ ktls_disable_ifnet(void *arg) so = inp->inp_socket; SOCK_LOCK(so); tls = so->so_snd.sb_tls_info; - if (tls->disable_ifnet_pending) { + if (tp->t_nic_ktls_xmit_dis == 1) { SOCK_UNLOCK(so); return; } - /* - * note that disable_ifnet_pending is never cleared; disabling - * ifnet can only be done once per session, so we never want + * note that t_nic_ktls_xmit_dis is never cleared; disabling + * ifnet can only be done once per connection, so we never want * to do it again */ (void)ktls_hold(tls); - in_pcbref(inp); soref(so); - tls->disable_ifnet_pending = true; - tls->inp = inp; + tp->t_nic_ktls_xmit_dis = 1; SOCK_UNLOCK(so); TASK_INIT(&tls->disable_ifnet_task, 0, ktls_disable_ifnet_help, tls); (void)taskqueue_enqueue(taskqueue_thread, &tls->disable_ifnet_task); diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c index e0e8dfeb46ef..db9d96a1a58e 100644 --- a/sys/netinet/tcp_output.c +++ b/sys/netinet/tcp_output.c @@ -227,7 +227,7 @@ tcp_default_output(struct tcpcb *tp) isipv6 = (inp->inp_vflag & INP_IPV6) != 0; #endif #ifdef KERN_TLS - const bool hw_tls = (so->so_snd.sb_flags & SB_TLS_IFNET) != 0; + const bool hw_tls = tp->t_nic_ktls_xmit != 0; #else const bool hw_tls = false; #endif diff --git a/sys/netinet/tcp_ratelimit.c b/sys/netinet/tcp_ratelimit.c index 82aea5bdf0de..1d3e185855db 100644 --- a/sys/netinet/tcp_ratelimit.c +++ b/sys/netinet/tcp_ratelimit.c @@ -1350,7 +1350,7 @@ tcp_set_pacing_rate(struct tcpcb *tp, struct ifnet *ifp, } #ifdef KERN_TLS tls = NULL; - if (tptosocket(tp)->so_snd.sb_flags & SB_TLS_IFNET) { + if (tp->t_nic_ktls_xmit != 0) { tls = tptosocket(tp)->so_snd.sb_tls_info; if ((ifp->if_capenable & IFCAP_TXTLS_RTLMT) == 0 || @@ -1413,7 +1413,7 @@ tcp_chg_pacing_rate(const struct tcp_hwrate_limit_table *crte, } #ifdef KERN_TLS - if (tptosocket(tp)->so_snd.sb_flags & SB_TLS_IFNET) { + if (tp->t_nic_ktls_xmit) { tls = tptosocket(tp)->so_snd.sb_tls_info; if (tls->mode != TCP_TLS_MODE_IFNET) tls = NULL; diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c index d54d213c82dd..0c266849ebd3 100644 --- a/sys/netinet/tcp_stacks/bbr.c +++ b/sys/netinet/tcp_stacks/bbr.c @@ -11861,7 +11861,7 @@ bbr_output_wtime(struct tcpcb *tp, const struct timeval *tv) inp = bbr->rc_inp; so = inp->inp_socket; sb = &so->so_snd; - if (sb->sb_flags & SB_TLS_IFNET) + if (tp->t_nic_ktls_xmit) hw_tls = 1; else hw_tls = 0; diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c index 17c671705cab..953b74470738 100644 --- a/sys/netinet/tcp_stacks/rack.c +++ b/sys/netinet/tcp_stacks/rack.c @@ -18202,7 +18202,7 @@ send: * and initialize the header from the template for sends on this * connection. */ - hw_tls = (sb->sb_flags & SB_TLS_IFNET) != 0; + hw_tls = tp->t_nic_ktls_xmit != 0; if (len) { uint32_t max_val; uint32_t moff; @@ -20183,20 +20183,10 @@ rack_apply_deferred_options(struct tcp_rack *rack) static void rack_hw_tls_change(struct tcpcb *tp, int chg) { - /* - * HW tls state has changed.. fix all - * rsm's in flight. - */ + /* Update HW tls state */ struct tcp_rack *rack; - struct rack_sendmap *rsm; rack = (struct tcp_rack *)tp->t_fb_ptr; - RB_FOREACH(rsm, rack_rb_tree_head, &rack->r_ctl.rc_mtree) { - if (chg) - rsm->r_hw_tls = 1; - else - rsm->r_hw_tls = 0; - } if (chg) rack->r_ctl.fsb.hw_tls = 1; else diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index 68c2c3f9d9e6..c2d5c2c99587 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -209,6 +209,9 @@ struct tcpcb { tcp_seq snd_recover; /* for use in NewReno Fast Recovery */ char t_oobflags; /* have some */ char t_iobc; /* input character */ + uint8_t t_nic_ktls_xmit:1, /* active nic ktls xmit sessions */ + t_nic_ktls_xmit_dis:1, /* disabled nic xmit ktls? */ + t_nic_ktls_spare:6; /* spare nic ktls */ int t_rxtcur; /* current retransmit value (ticks) */ int t_rxtshift; /* log(2) of rexmt exp. backoff */ diff --git a/sys/sys/ktls.h b/sys/sys/ktls.h index 66b510ddfe40..909d5347bc47 100644 --- a/sys/sys/ktls.h +++ b/sys/sys/ktls.h @@ -194,13 +194,14 @@ struct ktls_session { struct ifnet *rx_ifp; u_short rx_vlan_id; bool reset_pending; - bool disable_ifnet_pending; + bool tx; bool sync_dispatch; bool sequential_records; /* Only used for TLS 1.0. */ uint64_t next_seqno; STAILQ_HEAD(, mbuf) pending_records; + struct task destroy_task; } __aligned(CACHE_LINE_SIZE); extern unsigned int ktls_ifnet_max_rexmit_pct; diff --git a/sys/sys/sockbuf.h b/sys/sys/sockbuf.h index 33c0abb381a3..80ac5cacc796 100644 --- a/sys/sys/sockbuf.h +++ b/sys/sys/sockbuf.h @@ -52,7 +52,7 @@ #define SB_AUTOSIZE 0x800 /* automatically size socket buffer */ #define SB_STOP 0x1000 /* backpressure indicator */ #define SB_AIO_RUNNING 0x2000 /* AIO operation running */ -#define SB_TLS_IFNET 0x4000 /* has used / is using ifnet KTLS */ +#define SB_UNUSED 0x4000 /* previously used for SB_TLS_IFNET */ #define SB_TLS_RX_RESYNC 0x8000 /* KTLS RX lost HW sync */ #define SBS_CANTSENDMORE 0x0010 /* can't send more data to peer */ From nobody Thu Feb 9 18:38:12 2023 X-Original-To: dev-commits-src-main@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 4PCQbm5FJMz3n5xv; Thu, 9 Feb 2023 18:38: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCQbm4bZSz3JMZ; Thu, 9 Feb 2023 18:38:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675967892; 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=FzQuSilkz8Jl/+kfiuayo0GBeJfNmX0m/S3hk887HRQ=; b=THIOQ0lx4SFjeYdJduZhJYahNbGIa4RKYzxYGukgD/hZB6qIChnivTaRifUjly4hwx2MiF nlOZyr7fBB64Oz22WYyXlXBE5H85VExWNECoJNrdaZ3EKil/v7zZKYX05Fb03cFbVd+Uoj Fsexjyi0jXnckBK8DsRtqN5dUySKT68QKOzLDXdXyjL2xxYbSPsiSsaoiOiOlttOpMBvvO 2TEhEq/ZhBRpG044osy6He/L6bLmIAGMI7P7vIlQaNeBGvmmEu66V8j/ts9k36PtHXrn+B Yi7F+f/g1sUdUiRb0BPlzAGINdSDgupEtsWPihQ8vLLpcmdvwAdkO/Yd/4P0WA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675967892; 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=FzQuSilkz8Jl/+kfiuayo0GBeJfNmX0m/S3hk887HRQ=; b=x76HiAdNgs6ED21iZf1k/bPjZR4sW+hSHe1JUy1OVSNSa34lXNlrKJvlMgkkZT2Y6csYRn mYs/PR3kRnlmmne7Ybns9Be7dGYZhd0x/f7gLAV8UkZz4Hj0kG1dM1fv/3UqFjWEaSl66E 0+nSKft3/DScOJ3ZqYYgtmy+6rv6ogL7ekqin7TUvZmDC0Kk+6zB3f22M6hslPT65GRYfu aPhP2ib014nc2VmcQR9F3gy9df2fgIN/8LMnK1jzOxU8AeqHpYh+Tg4YTiK2BgAMVeJZMR cFTsHqFZwo/ssPy2FelPxeiCHfA/imsW/0h/4ex1SxFTc135GJSYuQx5aon2mQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675967892; a=rsa-sha256; cv=none; b=BX9auTMjKV0xvqIZDvSkTlWUCrR/Ss55kpWS2WYSlHlLBK29Zye4N7cXzM52O6qdhwPJBy uRkz3LmD1mFeedDBLcwOVLZOmKhTzEVS51oN9ChMLqlRNFoXuT27HJPzv0Y5doUm/kCsgn qYQ6OsskIhqWegF20WdXodbDT3B0udGk638mj9x6QhVClkberLLtNRJmaclHdNAdjcFIlm 1lmAzU7bEQqZ1Bk2uHF41eohl9Bmrsl5o6vQRERmRqmVpA3X7WMmgD2YQPR7h+nwZ4J88Z sRC0t7BGXJPS0OOot3GNReiK8EhLIay3ITy4yxy3O6XXMOWYuHSPe0OHvYbERw== 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 4PCQbm3DSQznZR; Thu, 9 Feb 2023 18:38:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319IcCMx012249; Thu, 9 Feb 2023 18:38:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319IcCuW012248; Thu, 9 Feb 2023 18:38:12 GMT (envelope-from git) Date: Thu, 9 Feb 2023 18:38:12 GMT Message-Id: <202302091838.319IcCuW012248@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 71e0c8906e1a - main - tzcode: Resurrect tzsetwall(3) with a deprecation warning. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 71e0c8906e1a4ff774f8ae810aeb94af039eedb7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=71e0c8906e1a4ff774f8ae810aeb94af039eedb7 commit 71e0c8906e1a4ff774f8ae810aeb94af039eedb7 Author: Dag-Erling Smørgrav AuthorDate: 2023-02-09 18:35:34 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-09 18:35:34 +0000 tzcode: Resurrect tzsetwall(3) with a deprecation warning. This function has been around since 4.4BSD but was dropped upstream in 2020. This went unnoticed when tzcode was updated. Bring it back, but prepare for removing it before 14.0 is released. PR: 269445 MFC after: 3 days Reported by: val@packett.cool Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D38445 --- contrib/tzcode/localtime.c | 21 +++++++++++++++++++-- lib/libc/gen/tzset.3 | 14 +++++++++----- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/contrib/tzcode/localtime.c b/contrib/tzcode/localtime.c index 1b52e26a5faf..a8beaf47319a 100644 --- a/contrib/tzcode/localtime.c +++ b/contrib/tzcode/localtime.c @@ -1517,9 +1517,8 @@ zoneinit(struct state *sp, char const *name) } static void -tzset_unlocked(void) +tzset_unlocked_name(char const *name) { - char const *name = getenv("TZ"); struct state *sp = lclptr; int lcl = name ? strlen(name) < sizeof lcl_TZname : -1; if (lcl < 0 @@ -1541,6 +1540,12 @@ tzset_unlocked(void) lcl_is_set = lcl; } +static void +tzset_unlocked(void) +{ + tzset_unlocked_name(getenv("TZ")); +} + void tzset(void) { @@ -1550,6 +1555,18 @@ tzset(void) unlock(); } +void +freebsd13_tzsetwall(void) +{ + if (lock() != 0) + return; + tzset_unlocked_name(NULL); + unlock(); +} +__sym_compat(tzsetwall, freebsd13_tzsetwall, FBSD_1.0); +__warn_references(tzsetwall, + "warning: tzsetwall() is deprecated, use tzset() instead."); + static void gmtcheck(void) { diff --git a/lib/libc/gen/tzset.3 b/lib/libc/gen/tzset.3 index ddeb40585f33..788a6259b727 100644 --- a/lib/libc/gen/tzset.3 +++ b/lib/libc/gen/tzset.3 @@ -31,7 +31,7 @@ .\" @(#)tzset.3 8.2 (Berkeley) 11/17/93 .\" $FreeBSD$ .\" -.Dd November 17, 1993 +.Dd February 8, 2023 .Dt TZSET 3 .Os .Sh NAME @@ -102,10 +102,14 @@ is used. .Pp The .Fn tzsetwall -function -sets things up so that -.Xr localtime 3 -returns the best available approximation of local wall clock time. +function is equivalent to calling +.Fn tzset +with the +.Ev TZ +environment variable unset. +It is deprecated and may not be available in +.Fx 14.0 +and later. .Sh SPECIFICATION FORMAT When .Ev TZ From nobody Thu Feb 9 18:56:53 2023 X-Original-To: dev-commits-src-main@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 4PCR1L0cmjz3n8BR; Thu, 9 Feb 2023 18:56: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCR1L084Hz3LRS; Thu, 9 Feb 2023 18:56:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675969014; 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=BOVxn3qLTbQRo/zIvJfsHtEB9l7DcCNl/j7enVHxhdM=; b=B2oXPCUuF5i3L45f8JAE4nWieUnivUpOaHKS+Om77ljj0dJRaJHU8Q3fG/3fGYjh4CfKK4 2/mJl2DAQVOzVCdw0CssKf8K/umEX0x3+6UIp0FQOzKHfnk14jgpwYALgYs5fzF/boy3l/ JhyJ1g/GsEBOaAHrwiARNQes5pT04BnGv+IKkJtKZ69furcV4U6LUJauFin2HxEgy5stBV JQzfkWsbzYBWrT972SO4AvBcWmgMY5pDKq3mN+luY0szSno1aKz2d9BGLrIuI5IYWOZxkk 3N9WU0iIVnqexRH6TWXvKE6fxS1YS43VAOdztCEXcsDhsYmq7emNTwJWktQp4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675969014; 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=BOVxn3qLTbQRo/zIvJfsHtEB9l7DcCNl/j7enVHxhdM=; b=ecAtA58fZDz/gd5UI3Jj8Ee2XR/rKeOhYht13azwJ3CZkblp6h00wLYglOeaa9eBl/mSbG F9IoesQd4fjP3yNKDOB8wgJ7q3B53HL6mXwA17zDPTDUT4SPonsMkH4jexYx/Uz3on8tve bursf9eGzMx6lcIuPjR83XKsLYsLz2j29D8syyH6uCECK8bBzY0aBuR8LI2ovnQYu0N30k LxX0gNTVYnUH4QVTg3Tc9ikLFberg20VIAI37i1kQ1utkGexlHhnbMaFdsoo99cVYpLumz Jt4H6IWDlDo0qKtbA7kOvU+wxuril5YKydsPTSezMmEpj+h/evWzs7GaUjnQcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675969014; a=rsa-sha256; cv=none; b=gLJV2nbTghv/SLlpZNyKx+3X8nuWHm/uxRUzorDgIR1ZQRw2DkNU3ZWs936U9HM/1Uxxrq RAkaXuhWBZeergVZ26SyTw7rfit6EezkbPqfuzRn2i7bR6sfKEME9ZgRX9w81KxHpu0JHo gI/rURi2dEjHtapZJY72YZr/flbB1Oz+y9EN1zxCfxXD8bI6DWYA8U9rf7q4w6WB8oTMo9 Cp9PmvBSffSrhXqQ6m2qdXpCxujkg6MuBdEJd/R1gx3x1yHi1JJhVYUEhTC74yBcH6t0yh rSxYP7IvBU8tyIK6zmXhslgtb22Wj9e3Hn20uxJRG2fSObOKhtzA66tCJ9AVaA== 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 4PCR1K6J9xzp0L; Thu, 9 Feb 2023 18:56:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319IurrK041010; Thu, 9 Feb 2023 18:56:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319Iurns041009; Thu, 9 Feb 2023 18:56:53 GMT (envelope-from git) Date: Thu, 9 Feb 2023 18:56:53 GMT Message-Id: <202302091856.319Iurns041009@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: e9eee0f256a3 - main - lua: Export loaded modules env vars via environment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: e9eee0f256a3501862beafaa6a45bcac8dd193d9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e9eee0f256a3501862beafaa6a45bcac8dd193d9 commit e9eee0f256a3501862beafaa6a45bcac8dd193d9 Author: Warner Losh AuthorDate: 2023-02-09 16:49:43 +0000 Commit: Warner Losh CommitDate: 2023-02-09 18:56:20 +0000 lua: Export loaded modules env vars via environment To make auditing and debugging easier, export foo_load=XXX foo_name=yyy etc to the loader env that we export to the kernel. Original by: dhw Sponsored by: Netflix Discussed with: kevans Differential Revsion: https://reviews.freebsd.org/D38466 --- stand/lua/config.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/stand/lua/config.lua b/stand/lua/config.lua index 9ef7c0796f46..04d5cda1e704 100644 --- a/stand/lua/config.lua +++ b/stand/lua/config.lua @@ -256,6 +256,7 @@ local pattern_table = { modules[k] = {} end modules[k].load = v:upper() + setEnv(k .. "_load", v:upper()) end, }, -- module_name="value" @@ -263,6 +264,7 @@ local pattern_table = { str = MODULEEXPR .. "_name%s*=%s*$VALUE", process = function(k, v) setKey(k, "name", v) + setEnv(k .. "_name", v) end, }, -- module_type="value" @@ -270,6 +272,7 @@ local pattern_table = { str = MODULEEXPR .. "_type%s*=%s*$VALUE", process = function(k, v) setKey(k, "type", v) + setEnv(k .. "_type", v) end, }, -- module_flags="value" @@ -277,6 +280,7 @@ local pattern_table = { str = MODULEEXPR .. "_flags%s*=%s*$VALUE", process = function(k, v) setKey(k, "flags", v) + setEnv(k .. "_flags", v) end, }, -- module_before="value" @@ -284,6 +288,7 @@ local pattern_table = { str = MODULEEXPR .. "_before%s*=%s*$VALUE", process = function(k, v) setKey(k, "before", v) + setEnv(k .. "_before", v) end, }, -- module_after="value" @@ -291,6 +296,7 @@ local pattern_table = { str = MODULEEXPR .. "_after%s*=%s*$VALUE", process = function(k, v) setKey(k, "after", v) + setEnv(k .. "_after", v) end, }, -- module_error="value" @@ -298,6 +304,7 @@ local pattern_table = { str = MODULEEXPR .. "_error%s*=%s*$VALUE", process = function(k, v) setKey(k, "error", v) + setEnv(k .. "_error", v) end, }, -- exec="command" From nobody Thu Feb 9 19:12:24 2023 X-Original-To: dev-commits-src-main@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 4PCRMD4PWdz3nQkk; Thu, 9 Feb 2023 19:12:24 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCRMD3vyfz3Q0H; Thu, 9 Feb 2023 19:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675969944; 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=uVPYmlMVBGnPF30QQGPY6VMRftroIt9ddoEprWzDtrI=; b=JxVihUGE3ziNuN0bc7/JHmElFwXfzTIC0fOXYw1tabAYQIahifmydiLOrPim3yInQnfs5N yLGNfyR2z1PhJ8LinQzVECtjMm2pVajIZhLYE6c0UJFydbdlfZDFyvPijLIpM8t+UlAbxt fbqA2fB+pKcr+tkDRFkp0nF8615ARoQt78QnLLzi9AGmVuscVplIYM4+nhlpGhzGN3Meft 5Jcqz1q79t9FTgsxUMAz1yfCG8BV306Db7QwdsEqIraRVGcjzSzUcguXMXqUNty4aqxdV7 to3iwj++u5uYtZR4S9+njn2tSknH8MdebQUbqzEura3pw+LufF7ACl3+/KimKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675969944; 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=uVPYmlMVBGnPF30QQGPY6VMRftroIt9ddoEprWzDtrI=; b=H8pJk2Ih6K26854cym5oQ34x/KDNHhXctqPghFzsZVY5RDD1yexZgIglHFrIHye+8GPLU1 0vNxxmY1VPEnp0rcRdvMPaCJIEpSD1Pyq+hta10XLHkBV3haBU03CKqH2zERBnXNxHycGU O6yI4U40bfzya4+w+QOhceQYRfvvMujf5Zl5ViILrLGahQxmGtxxfYHAte2a7ngjIvEGgw RAyG3qPnLTDZD1Ztz9PysGpfGtFxtLxdS0T0tVUCaZMqtdNmsTKlpnoFd1hOpVoOjzJ667 sG/soWbdTQ1D35NuNpMfiGlmPEodaWkMojRT+6oVfE+TfQyDxHYJWLf+mzGQZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675969944; a=rsa-sha256; cv=none; b=UemLmjULCzJguruG/Rg5oPkvxyXhNWqeoPr6rOtkbY7VkkPqT9FDLPDd6oZ/ynMTMaF40r LP483uCwacEYl4ZH1XaJupaYUxx0MCqIRzBnWUJ4yMwvfKSCrJNf3noc+Fmy7C5YZlZXrN KcbzaLMto5Qan6sqDkKrEhTzKl9w/jcnJsoljI6pSLoD0eVs5TTCvTJNZDHJTloNhgulAi cOvs4j4B3cKJ5n2QukFLrAvlsN7TL1Ohv0SoO1WYrTN07EDtHsFbXdbfSAevrWFBSEhz6k T8YHFU1alWteFri4D9tTJvBTPA8KPz1NiUCbeLbhoZnW53t1wZByMUKP1Eqcbw== 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 4PCRMD2zFVzpj5; Thu, 9 Feb 2023 19:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319JCO7F069463; Thu, 9 Feb 2023 19:12:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319JCOa8069462; Thu, 9 Feb 2023 19:12:24 GMT (envelope-from git) Date: Thu, 9 Feb 2023 19:12:24 GMT Message-Id: <202302091912.319JCOa8069462@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Gallatin Subject: git: d24b032bec1b - main - ktls: Fix comments & whitespace issues with c0e4090e3d43 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gallatin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d24b032bec1b868b99fd1f3f23ec8116cd719e94 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=d24b032bec1b868b99fd1f3f23ec8116cd719e94 commit d24b032bec1b868b99fd1f3f23ec8116cd719e94 Author: Andrew Gallatin AuthorDate: 2023-02-09 19:09:05 +0000 Commit: Andrew Gallatin CommitDate: 2023-02-09 19:11:24 +0000 ktls: Fix comments & whitespace issues with c0e4090e3d43 Address some last minute review feedback on c0e4090e3d43 by fixing spacing around comments, and clarifying that the newly added destroy_task is not related to tls 1.0. No functional change intended. Pointed out by: jhb Sponsored by: Netflix --- sys/kern/uipc_ktls.c | 3 ++- sys/sys/ktls.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index b3895aee9249..cb2e3f272774 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -1478,6 +1478,7 @@ ktls_set_tx_mode(struct socket *so, int mode) /* Don't allow enabling ifnet ktls multiple times */ if (tp->t_nic_ktls_xmit) return (EALREADY); + /* * Don't enable ifnet ktls if we disabled it due to an * excessive retransmission rate @@ -1850,7 +1851,6 @@ ktls_destroy(struct ktls_session *tls) * know that we don't hold the inp rlock, and * can safely take the wlock */ - if (curthread->td_rw_rlocks == 0) { INP_WLOCK(inp); } else { @@ -3335,6 +3335,7 @@ ktls_disable_ifnet(void *arg) SOCK_UNLOCK(so); return; } + /* * note that t_nic_ktls_xmit_dis is never cleared; disabling * ifnet can only be done once per connection, so we never want diff --git a/sys/sys/ktls.h b/sys/sys/ktls.h index 909d5347bc47..549ce3ee869d 100644 --- a/sys/sys/ktls.h +++ b/sys/sys/ktls.h @@ -201,6 +201,8 @@ struct ktls_session { /* Only used for TLS 1.0. */ uint64_t next_seqno; STAILQ_HEAD(, mbuf) pending_records; + + /* Used to destroy any kTLS session */ struct task destroy_task; } __aligned(CACHE_LINE_SIZE); From nobody Thu Feb 9 20:13:34 2023 X-Original-To: dev-commits-src-main@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 4PCSjp4NGpz3nZm8; Thu, 9 Feb 2023 20:13:34 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCSjp3npsz3sV0; Thu, 9 Feb 2023 20:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675973614; 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=GLzAG3EEgPc//mmQKF2xTV1AiBgImi/f+KoRnnNr5LY=; b=xYL3cKfzTlG+CXis81YEx7UDjMalvwULMdG+Q5anvWMUGVSqX0t4E87TTDh/E/cfQEMl7R YnV7126qohZFysQOzP6jqC5ij6TZFhMmUfwpAlhyAmGgv5iLMrBbTvirOXEn1hr/s6fm2g f8A5z/NYmZfJ0jRxgWpCrjcS/p5zExOulwX+V/RQHmYIOlkJK59eXcsV6g1bASYW6FfSOs uplnQl2Gn3ibr0QyFG5PDpc5wZZDRqiPbYExjjia3h/2d7iszC61fWcUQtzk+DdZc2DvVa 34lxcaCLpx01bWD8oha0incbSir5YKHtr74qKnDykRF9GRsfcTj/mseYsH7Bng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675973614; 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=GLzAG3EEgPc//mmQKF2xTV1AiBgImi/f+KoRnnNr5LY=; b=Mx/omkpoSOvur78pwuW7W/eBSy6bn1TvVP6tOctW1QiWyhedXMhW1zOwfnyUqg1GKpJm+N RsmbV3bLku3Nm2NYrz4juJPwY5HCutHPYy5RmYAqckaPA9arDgUt1qOGPcwzGasgLlObB4 my6X/crSTVmUSjftae2Q7ctzQmnXf18KlZTCsz6iLIiq4Sh1HY7cKvdQeANYL09Y46Q5Wz uSqjRBkNRccoJZTkG0lNIp+6SGsJxsKN//sNREHlUvp5nB8imOkGNYUXQ0utaXWXYS9U1k MZ6xoeqlQFO4JaA8wkV7Pc6h0yUeIukVOEIhoekgo2oA6XgYwD1Jr5ZXV43qug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675973614; a=rsa-sha256; cv=none; b=X2UXFwug8veBrfA/BmtJuUSek8PAjQE4kuLM2cXLHDpXN0sZrOWdl08cEHTc/lPOLtT3tM OZgN9ypy3x/naVVJql5qVzCtWq+/ppy/MQpsUcXK7QQ3NpVLf9oUVT8vAh3zAtaAd4UPVp iahQbrMcvuijnnfZJXpZeiwwZV3RUf3aQscRSSJg3eKHSgv+qyBWSrdw3eqOPHZR0+Sn0H mzUv46zPAQ1O58AwruAlfVIiHc9/bexSNNVX0vhQmob0bWtgBTnbX+M4JGDnNSiEbdhJv/ uDgOIP6wIKRpQ2uj/hu9+XkXxmmkofQEPn2mWSqETc1NbTBMZdmr1RlLMVSl/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 4PCSjp2qWRzrBD; Thu, 9 Feb 2023 20:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319KDYab056254; Thu, 9 Feb 2023 20:13:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319KDYL4056253; Thu, 9 Feb 2023 20:13:34 GMT (envelope-from git) Date: Thu, 9 Feb 2023 20:13:34 GMT Message-Id: <202302092013.319KDYL4056253@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: aca7ff471acf - main - .github: Restrict permissions on cross-build jobs. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aca7ff471acffb59f0f9e2cc4de6363872444fcc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=aca7ff471acffb59f0f9e2cc4de6363872444fcc commit aca7ff471acffb59f0f9e2cc4de6363872444fcc Author: Alex AuthorDate: 2023-02-09 20:12:17 +0000 Commit: John Baldwin CommitDate: 2023-02-09 20:12:17 +0000 .github: Restrict permissions on cross-build jobs. --- .github/workflows/cross-bootstrap-tools.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/cross-bootstrap-tools.yml b/.github/workflows/cross-bootstrap-tools.yml index 85132996f826..9630470d0420 100644 --- a/.github/workflows/cross-bootstrap-tools.yml +++ b/.github/workflows/cross-bootstrap-tools.yml @@ -6,6 +6,9 @@ on: pull_request: branches: [ main ] +permissions: + contents: read + jobs: build: name: ${{ matrix.target_arch }} ${{ matrix.os }} (${{ matrix.compiler }}) From nobody Thu Feb 9 21:13:41 2023 X-Original-To: dev-commits-src-main@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 4PCV3B1NBFz3njYT; Thu, 9 Feb 2023 21:13:42 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCV3B0rS4z44SW; Thu, 9 Feb 2023 21:13:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675977222; 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=N1Yy/aUeX6MgZpLEXagdvfXXAWCDu2vwLgcw5YDxdn4=; b=MabFqLsIj8lpEt79Z4EapdnWO3jlddnEjXXvianp1Y0qEtAESDhwuGywYKkNgZjhYX0CRk TgW6nrxKvgY3LdruCViPv0FuhyO/aM3NiKUpVpGXG8/WSZK4qGOBGogDjL10WIk60nzDeW RtmwQqc5TEjo/ZgnycXbDqFS+Y0MD7AsRQsL9PwMvTUbHfNdTq4wh676Zds8IN9MkxgUB6 L3v+Fveoq2oFkcvHdQgNEBy71bcJ0i4igOhEfmsy8bbUVt3HUF/6UHnWOpwN0qE6OqPIg7 Zhc8BxMu7oSUEO5A7YP2iRB8Y/1kVna3bawLd0RzO6rzDKuTi/aeAmNviPVF9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675977222; 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=N1Yy/aUeX6MgZpLEXagdvfXXAWCDu2vwLgcw5YDxdn4=; b=h6+lvCQYDDp8e/Z0DQMirLYZ63HU6BgonsHxo1CDcjZ/q8QC2PwYzIgcYbsQ19fHBY5nSq jRL3CfxdHttFNowLSjNnkCpLzqen+JnIfH91/lSxv7KSaDFr8xR3lFXZr04wvQfRfO2i17 HO6RUsM1CpoWxQ2OXts1zufk5dh8JQjOfEmTFD6kQYKcr2jAJHOsUmV0RCPkK1VrNkr5Ei 6fa/Jv1z7hYg2N8Y57iup9SeJYEx9SFNb95sKoFFgJzCCrja/UYax3ZJeFOv6FWsRRzT81 8616OYm6cPaKm/TGXiWbEVDMDpkZDTCWhR25BykOW/qRicBTGxHm/Aqggb2IeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675977222; a=rsa-sha256; cv=none; b=k7HnN7g5hp+iDqo0lUCma5R+Ifeh5l7HUG4SpaJ+LCZl0FIdfe7XmLkAHh5GJqh2cIWsfS u1V1Z65sm8Rxa2I5nZECfaXOpRTidjX7pxi0vUgAelFKMH5N6GUnMSbgeV6C2+SWbfmxn8 qA+vu+3juSRI95cF4YcmTWF07UNxwh7eyrN7Mys7Z/X0TT/4IWW2h3yzYvEH7b5OlqrAfm G/bzoXlqXK3evHFZqef6KFvZtwpQHOiz017Io5wshfuVRn8ZwPpUPjxjGYKe1IDUT/cyIH C5dbaJWYVj2rnke7/R2zOjk+ec2mlR2TbH4s8orqvPk8AWxah5bFnsvH8ZjpHQ== 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 4PCV3972d9zsYF; Thu, 9 Feb 2023 21:13:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319LDf93042622; Thu, 9 Feb 2023 21:13:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319LDfXt042621; Thu, 9 Feb 2023 21:13:41 GMT (envelope-from git) Date: Thu, 9 Feb 2023 21:13:41 GMT Message-Id: <202302092113.319LDfXt042621@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 78919798e79e - main - kern_poll: include sys/sched.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 78919798e79e906cdf056a69e5abd6cbe93a1421 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=78919798e79e906cdf056a69e5abd6cbe93a1421 commit 78919798e79e906cdf056a69e5abd6cbe93a1421 Author: Mitchell Horne AuthorDate: 2023-02-09 21:08:33 +0000 Commit: Mitchell Horne CommitDate: 2023-02-09 21:13:02 +0000 kern_poll: include sys/sched.h For sched_relinquish(). This fixes the build for some kernel configs. Reported by: Jenkins Fixes: 1029dab63457 ("mi_switch(): clean up switch types and their usage") --- sys/kern/kern_poll.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/kern/kern_poll.c b/sys/kern/kern_poll.c index 64deb7132710..0f6650b50a5c 100644 --- a/sys/kern/kern_poll.c +++ b/sys/kern/kern_poll.c @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include /* needed by net/if.h */ #include #include From nobody Thu Feb 9 21:15:18 2023 X-Original-To: dev-commits-src-main@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 4PCV525PSBz3nkCb; Thu, 9 Feb 2023 21:15: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCV524vjDz44xh; Thu, 9 Feb 2023 21:15:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675977318; 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=t8aCnB4ZQZddVQIKT2dbgbA3AqVwON7gQk74DMeWO3I=; b=bU/i/Lz7Q1h7iD14kCn+N1f3f6i6lSLyWHvQRviyE/QBRZ8A+zOs4U9r2shD+ik6Yy6iKa amBvSe+78UuZoqTUrlCW+CHqcJnTH5dgUueI5XuxXWM50ldR1ys43B7XEt55jyeFUKn67G Wq+hqz3MvkombIyeMQM8h3jY4KupuwsUnwOF1QG77fxO0E1g8qu7wotkWHvSAMtdOCFlgP 26oMs//MPiC4sdyeIwzu7w0uKRoE0rPJRgxPNTWVGsRufsw3Rq3u2ynwTPOdhO63ZTmeK4 Jn9lKHuhmOO9H8sXCcAMjJ+WXX7MT+oSE210vVwh/GZpPeNfxXO66RV8O72rwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675977318; 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=t8aCnB4ZQZddVQIKT2dbgbA3AqVwON7gQk74DMeWO3I=; b=K/qlwYw1XTx/LzY7vVsu6B0IoTqCZTdB4Lp4hWkhr8qXemok2dVRUIfWfLNTfXC9BC3+Xs nz4yBxEhVVjIEbNG/KDJdn90MK89MO3yv5OF8bvDObNuBI22Ku1gmQhodP7MmljvpEiGix lVGvc8pnH8+WshftvsOEegYTWEiUm7YCKOyoOmgM/sKzfDQjaCdrYChIeCTqkNSf4RKhvH gO4xLrB7e5ZUCOVMqCWmVyVa/zvwEZ6UWTeaNt4vvP94iLkWYJ9DaHOpkVCLcpdOs5EY3d EiwoOX+awShhwvC8iQl2w2E2Qww1wNDVB+qXgl3vAEpLo8+IaIYE7jkMLXomnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675977318; a=rsa-sha256; cv=none; b=Ut01tFhVc30FNGuoensuWX0eByBZWE3Kp3ug9svknx4mE1gtfKBjQZXgJvh5bHTjPmsq+p 4FsTWAnb47Lcfta9F3ggAqzOupebG7bIgq3JbxWA6zZvPeaJFKwd5lIY9z34WOjnsd2Mfb tbIx2rJiQ6UzZVHvr9k0CjORFnFAuYVh6jj8zwI4geWiHyXdyaROijc2AIWD65x1aS0dX4 qRwPGHAOrBY1gLnthNCZC1QwOHC179Y8Ced2sKuXhVnjKlS5MBdDY+RIHDj7cUVLxuvVGK FUn4smRd4MKUmvzudwQCujbwUNn5JuFrxanpqFhR/2clve/tIgLDd/isttIKaA== 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 4PCV523yc5zsKw; Thu, 9 Feb 2023 21:15:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319LFI3K042962; Thu, 9 Feb 2023 21:15:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319LFI8G042961; Thu, 9 Feb 2023 21:15:18 GMT (envelope-from git) Date: Thu, 9 Feb 2023 21:15:18 GMT Message-Id: <202302092115.319LFI8G042961@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: f3bbd0e81800 - main - vmm: Collapse identical case statements in vlapic_icrlo_write_handler() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: f3bbd0e818008ddc4fbf1f6ade0f7e411b1dfee5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f3bbd0e818008ddc4fbf1f6ade0f7e411b1dfee5 commit f3bbd0e818008ddc4fbf1f6ade0f7e411b1dfee5 Author: Mark Johnston AuthorDate: 2023-02-09 20:49:40 +0000 Commit: Mark Johnston CommitDate: 2023-02-09 21:14:33 +0000 vmm: Collapse identical case statements in vlapic_icrlo_write_handler() No functional change intended. Reviewed by: jhb, corvink MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38446 --- sys/amd64/vmm/io/vlapic.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index 44641cc29035..a68c68073893 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -1118,22 +1118,6 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) break; case APIC_DELMODE_INIT: - if (!vlapic->ipi_exit) { - if (!phys) - break; - - i = vm_apicid2vcpuid(vlapic->vm, dest); - if (i >= vm_get_maxcpus(vlapic->vm) || - i == vlapic->vcpuid) - break; - - CPU_SETOF(i, &ipimask); - - break; - } - - CPU_COPY(&dmask, &ipimask); - break; case APIC_DELMODE_STARTUP: if (!vlapic->ipi_exit) { if (!phys) From nobody Thu Feb 9 21:15:19 2023 X-Original-To: dev-commits-src-main@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 4PCV536rmjz3nkHf; Thu, 9 Feb 2023 21:15: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCV535xZHz453g; Thu, 9 Feb 2023 21:15:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675977319; 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=aQC6I1qxKk33r/bpql5+6/GyVMHvUqzT2aFurBbHDGE=; b=mL16uOvJAmzOJltly/8TLmzF+uU0KI/+HRIif1/NI6fMRvDizoI5Wynjc20HesFx1m31ak 6/Yg88vKy3gu4/XmEKF/kBBz0JTECs9Nc1sJdZB/RMYPKDtOA180o78d88RVDmCkx8kUn7 XYrT4u2rPKmdSxEuqDpUeoDxtSegcuOwaqxcepVV3kDkpQIOyRxibzt+2Xqz3MSA1+Zkra f7hfcCI3rKJOdcHL067hcUj+iAoKRXBQlD3dbHHfXupyYz2RX+cgiytYljczgtnypwlt8r SMtYSBlAN+1yKR5FH1Bg/9atMRsfQzfWyx3MaGVgs6kFlqQ50cF5PYhvY1qTQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675977319; 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=aQC6I1qxKk33r/bpql5+6/GyVMHvUqzT2aFurBbHDGE=; b=BxZousVdt1CsFOvI5dEZYvw87TmG9RTswtLX3gGanVe/JLWz3oLX//mrE+4RY7eXojyB54 HfLF0TQgJAMFPH28z+9UKLjArNZr1Cu6oMdRlEq+2/7BH3ObsBAqtRhwxz928m6lU9tz2W SKcoWaWXwP2ZtqvFGT8VUOah3iKvXR4XBl11JsiJTHBizQxIgpKUx1304E9WkgZn3w8BDA iDqrHkMSNXPb/eFOkjoftXw8IlComb47QgSwUiEFxuFv5ANuHyisO4olJEO1WSYFDAX2I7 XfLT4V9VX9jSCJFHD8G+0dMDTrqV4IKPXBxiu86xz2aEPORMBi5gs7spHsPALA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675977319; a=rsa-sha256; cv=none; b=dE/s+S7Dq8K8sQ4LfLkH4cJ07EzSDqs4uCDlC+0UkIpbXmpFxG0vn7uXyPkKcJ1m2Rb8eu KJeKnKhpiyangJorX4VLKnCCwt7qtnMrfazhZOfIj1+BzAcXm4jnUqDE+RE1QFK/TKf9id MuKz3UOw07HsBFKAgoH+tRUeRfgzqtThD0p9NabKS6HGldAg8ZBG8IQJjrMqcNfBdVPYfs 98ctk2OrGv6Xq8wPdC+6Rvch++jwNdj3GdRHinKYV6NcdZb2w4oUnUqSVDQMn0UtENW14n eQjAB7oAezjdXdvg5dzSW59Muv6fpo2Mzaa6bo/nL5dLLByBXWFQkgOxVTMN3w== 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 4PCV534vrPzsKx; Thu, 9 Feb 2023 21:15:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319LFJox042986; Thu, 9 Feb 2023 21:15:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319LFJiW042985; Thu, 9 Feb 2023 21:15:19 GMT (envelope-from git) Date: Thu, 9 Feb 2023 21:15:19 GMT Message-Id: <202302092115.319LFJiW042985@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: ba34de1b3bf9 - main - vmm: Remove an unneeded initialization of "retu" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: ba34de1b3bf965d15f6c76c97fa7e6d17194d401 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ba34de1b3bf965d15f6c76c97fa7e6d17194d401 commit ba34de1b3bf965d15f6c76c97fa7e6d17194d401 Author: Mark Johnston AuthorDate: 2023-02-09 20:51:11 +0000 Commit: Mark Johnston CommitDate: 2023-02-09 21:14:33 +0000 vmm: Remove an unneeded initialization of "retu" vm_handle_ipi() unconditionally initializes "retu". No functional change intended. Reviewed by: jhb, corvink MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38446 --- sys/amd64/vmm/vmm.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 7327bf6f40be..9f5fc124f4ff 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -1930,10 +1930,8 @@ restart: * VM_EXITCODE_INST_EMUL could access the apic which could transform the * exit code into VM_EXITCODE_IPI. */ - if (error == 0 && vme->exitcode == VM_EXITCODE_IPI) { - retu = false; + if (error == 0 && vme->exitcode == VM_EXITCODE_IPI) error = vm_handle_ipi(vcpu, vme, &retu); - } if (error == 0 && retu == false) goto restart; From nobody Thu Feb 9 21:15:20 2023 X-Original-To: dev-commits-src-main@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 4PCV550kgkz3nkQK; Thu, 9 Feb 2023 21:15: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCV5471Lvz44yk; Thu, 9 Feb 2023 21:15:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675977321; 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=OcR6pN/47y+iiGL/pCQdZsOJwKfqrCgpByCDq8XreJg=; b=vHuXpH7Y+TJ2vqDZyVru7nxc0GZvzXD/k5yO2My2UWcaYW0HE6ja2d4WOLEPqodV5FfLtr /XH80HZiJf4PLFAPrKQyOOyPMj3jKKRl1CkrQMVDhNz3dfi8qH4mhzWO8zdnqRWAxiFAWJ pqVcvhP7GWA23Mz9kWGWwC2k3V1RBNHTMC5K2hNFcvtBsxkpjNUXQ0ZbS0BWKUSS3X8lCl q2pQSPkhWmUv/NZb9OofTkZ7DvbmhSRH09t1kbRWS0RwJAB0kj/7315JoqOPAR5SlZeKdp jCJYnPPvIYbXp89ciWzDjJymRuDmvcQbMKAwscnhcnVvojwFOnTJdMcwt9kgBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675977321; 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=OcR6pN/47y+iiGL/pCQdZsOJwKfqrCgpByCDq8XreJg=; b=oPRFhNHpL++IwGCdsmGjIgtmysQ+5EUPgxbLdaFq1B455suVy4cCIZGc8j44ATGtMixtT3 1SzF+XZWLkEXVVTe7NTxHgEeP9456WrHtYBe4Ooyp/m5HFQBF9RTWXjAq0whhRptU2fQeW IofsG+AKymVpx6+9/cvRqWnodRlsA5PnQtfUhJiASCe3d6JKIz9QCOTUX3sTzGy0Zr05Lx B33JP7Eq8fNjjRCQsqraXJRuk2UsKhCrVD0/mou0UhgNeAkLQP+B8Mq9VdDOh3eosUSgbU Y2XEVBoQrPmyXBLAOMmTzoGR2rJGqZsRz4gyGxSlsX97wa0jFNL2+kUe3r0RDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675977321; a=rsa-sha256; cv=none; b=jTSQ3Pkiw1lRMLt/aLdUm/nymr3Y7Xzv9MMzcW3ZYOlFN7v2t/2B1RA7WOoJqbwEYSbvjl fGe84eAUywi1DG26kp5nBOoY+IaqSape7QtdTT+vUvhI7SMlNdasAtncjdIPOeclcMBwdS Z1zcQUCuemAOHtNaftHwmBFnN4T8DdP4sS+07+XCBPIDdDOjnHsO2uLBx07Jmh6pa3QoE7 oqfwC2Q2J0Nbo+jWlyQrZDJuK1aYJfjcdm84EodcqG9zC3m41HZTnU5R+6h3y03dKa/3dB WzGx1Ci+inaRZFvS3/Rz4IZfSepj6hgnkrD8biVoBG0pIhMqBJRE3tHFTmKW9A== 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 4PCV545n4jzs0s; Thu, 9 Feb 2023 21:15:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319LFKZd043010; Thu, 9 Feb 2023 21:15:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319LFKSQ043009; Thu, 9 Feb 2023 21:15:20 GMT (envelope-from git) Date: Thu, 9 Feb 2023 21:15:20 GMT Message-Id: <202302092115.319LFKSQ043009@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: b265a2e0d764 - main - vmm: Fix AP startup compatibility for old bhyve executables List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: b265a2e0d76422f4007e96dd7295ed0aeb846e2d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b265a2e0d76422f4007e96dd7295ed0aeb846e2d commit b265a2e0d76422f4007e96dd7295ed0aeb846e2d Author: Mark Johnston AuthorDate: 2023-02-09 20:52:35 +0000 Commit: Mark Johnston CommitDate: 2023-02-09 21:14:33 +0000 vmm: Fix AP startup compatibility for old bhyve executables These changes unbreak AP startup when using a 13.1-RELEASE bhyve executable with a newer kernel: - Correct the destination mask for the VM_EXITCODE_IPI message generated by an INIT or STARTUP IPI in vlapic_icrlo_write_handler(). - Only initialize vlapics on active vCPUs. 13.1-RELEASE bhyve activates AP vCPUs only after the BSP starts them with an IPI, and vmm now allocates vcpu structures lazily, so the STARTUP handling in vm_handle_ipi() could trigger a page fault. - Fix an off-by-one setting the vcpuid in a VM_EXITCODE_SPINUP_AP message. Fixes: 7c326ab5bb9a ("vmm: don't lock a mtx in the icr_low write handler") Reviewed by: jhb, corvink MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38446 --- sys/amd64/vmm/io/vlapic.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index a68c68073893..884e232b1422 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -1144,7 +1144,7 @@ vlapic_icrlo_write_handler(struct vlapic *vlapic, bool *retu) vmexit->exitcode = VM_EXITCODE_IPI; vmexit->u.ipi.mode = mode; vmexit->u.ipi.vector = vec; - vmexit->u.ipi.dmask = dmask; + vmexit->u.ipi.dmask = ipimask; *retu = true; } @@ -1169,16 +1169,22 @@ vm_handle_ipi(struct vcpu *vcpu, struct vm_exit *vme, bool *retu) *retu = true; switch (vme->u.ipi.mode) { - case APIC_DELMODE_INIT: - vm_smp_rendezvous(vcpu, *dmask, vlapic_handle_init, - NULL); + case APIC_DELMODE_INIT: { + cpuset_t active, reinit; + + active = vm_active_cpus(vcpu_vm(vcpu)); + CPU_AND(&reinit, &active, dmask); + if (!CPU_EMPTY(&reinit)) { + vm_smp_rendezvous(vcpu, reinit, vlapic_handle_init, + NULL); + } vm_await_start(vcpu_vm(vcpu), dmask); - if (!vlapic->ipi_exit) { + if (!vlapic->ipi_exit) *retu = false; - } break; + } case APIC_DELMODE_STARTUP: /* * Ignore SIPIs in any state other than wait-for-SIPI @@ -1196,13 +1202,13 @@ vm_handle_ipi(struct vcpu *vcpu, struct vm_exit *vme, bool *retu) */ if (!vlapic->ipi_exit) { vme->exitcode = VM_EXITCODE_SPINUP_AP; - vme->u.spinup_ap.vcpu = CPU_FFS(dmask); + vme->u.spinup_ap.vcpu = CPU_FFS(dmask) - 1; vme->u.spinup_ap.rip = vec << PAGE_SHIFT; } break; default: - return (1); + __assert_unreachable(); } return (0); From nobody Thu Feb 9 21:15:21 2023 X-Original-To: dev-commits-src-main@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 4PCV561yvyz3nkSq; Thu, 9 Feb 2023 21:15:22 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCV560YGdz45FX; Thu, 9 Feb 2023 21:15:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675977322; 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=vSVAitlNFE71kAVvw8g1JCgf4JNVKKDmPq97llzUgY8=; b=MGrH4zC+TDFYcbDHHUA/+6ZEftaDKqGedLcH06gaQln4dmlsJV4MJksfg75/rJyl0NPFy9 HnMMsiNVfzyq+p4IzXdNOZA6aTyEL8wERKBAKnXxOq+SsOZFQQO1k0FMIfa/QBsiQqi98H ANWbebCNHwLhGpEH0IxtVqMEELspuBL1emnTjA5xue07ADkIUjZbMjrvVEKRGonvl7+Ega 0a/6yCVUess3Ud2q+XbG9IyK10/bpvBWWvrSPwnEAcrp8WN4Ycp2tEErRs+iYa2bt4eRSq OnR/rfFlEsOX2BqjxsNTNrjCYdl9PPbrwPfz4n7UYxUnttyAI7InlW7mDlE42g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675977322; 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=vSVAitlNFE71kAVvw8g1JCgf4JNVKKDmPq97llzUgY8=; b=uwr91Ly28wFhgOSP2hQvvCEmME6mL1+R1lsDxY+64SqbGFh9IcN4nLoxwxUcPu4h85YTOj F7psXM4oQs9vdaaN+/GM8KweSWzkd3emCzoqDww8T/gMDsPjFcdgP6W0YX+7VUpHmaUXsV WGL3LQDtoyK1mMaDeqTdnQhHhkym0wo98nvDotAXiYeXAmU96Ct9QXoDu6R/l73OrLndE5 qaEaP+UNo9VCV+ABEtWpVr7t/v9rKqriQVcFouBFU0h5u3hEnhSIG9NEApMsUHCOnBhJ3j FJX4u2N8+ElJ3AVWH7zYNmF2NiQD2W80U/6Ry00PdUvxMzMAlF9HPmvH0vWcRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675977322; a=rsa-sha256; cv=none; b=eIM7d7x05t7YE5Yif3xxaFPMmfKTbvEJUAN74zGMBU8azez3Acj4Ps6gHqu47gNr+Fsq/s hkaiYCL+oNHefKwmPFplq4Z3SJd2CTu4ZnMDxs5nsGPz7UcphqoK12mTGLbPZRh29NFqBg 5mkEWyHnLd69wJsUfnGRxt5cGFQfipBvcEonNOWHrvxLiZ1tB48JFAkgM6KuwrbYcjBtM6 aqR3qVOZBkEBs/yH1/eKLTxsYUIPJU1V43dRESab4j09ERhJ0rWfoLd+NAp1IXB6mpV/xO YSqgPvSKZBVigtnrTm1iItyW4Uq634F6oG26bqoXi4ba4zPhFMriUkRSgKi4+w== 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 4PCV556TvKzsYG; Thu, 9 Feb 2023 21:15:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319LFLR0043036; Thu, 9 Feb 2023 21:15:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319LFL7U043035; Thu, 9 Feb 2023 21:15:21 GMT (envelope-from git) Date: Thu, 9 Feb 2023 21:15:21 GMT Message-Id: <202302092115.319LFL7U043035@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 4130ea611fe0 - main - inpcb: Split in_pcblookup_hash_locked() and clean up a bit List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 4130ea611fe078035c4d85fcc223a7acd23de933 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4130ea611fe078035c4d85fcc223a7acd23de933 commit 4130ea611fe078035c4d85fcc223a7acd23de933 Author: Mark Johnston AuthorDate: 2023-02-09 20:59:27 +0000 Commit: Mark Johnston CommitDate: 2023-02-09 21:15:03 +0000 inpcb: Split in_pcblookup_hash_locked() and clean up a bit Split the in_pcblookup_hash_locked() function into several independent subroutine calls, each of which does some kind of hash table lookup. This refactoring makes it easier to introduce variants of the lookup algorithm that behave differently depending on whether they are synchronized by SMR or the PCB database hash lock. While here, do some related cleanup: - Remove an unused ifnet parameter from internal functions. Keep it in external functions so that it can be used in the future to derive a v6 scopeid. - Reorder the parameters to in_pcblookup_lbgroup() to be consistent with the other lookup functions. - Remove an always-true check from in_pcblookup_lbgroup(): we can assume that we're performing a wildcard match. No functional change intended. Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D38364 --- sys/netinet/in_pcb.c | 228 ++++++++++++++++++++++++++----------------------- sys/netinet6/in6_pcb.c | 205 ++++++++++++++++++++++---------------------- sys/netinet6/in6_pcb.h | 2 +- 3 files changed, 226 insertions(+), 209 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 728178f1011c..3369f16e15c7 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -139,8 +139,7 @@ VNET_DEFINE(int, ipport_randomized) = 1; static struct inpcb *in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr, u_int fport_arg, struct in_addr laddr, u_int lport_arg, - int lookupflags, struct ifnet *ifp, - uint8_t numa_domain); + int lookupflags, uint8_t numa_domain); #define RANGECHK(var, min, max) \ if ((var) < (min)) { (var) = (min); } \ @@ -785,14 +784,14 @@ in_pcb_lport_dest(struct inpcb *inp, struct sockaddr *lsa, u_short *lportp, if (lsa->sa_family == AF_INET) { tmpinp = in_pcblookup_hash_locked(pcbinfo, faddr, fport, laddr, lport, lookupflags, - NULL, M_NODOM); + M_NODOM); } #endif #ifdef INET6 if (lsa->sa_family == AF_INET6) { tmpinp = in6_pcblookup_hash_locked(pcbinfo, faddr6, fport, laddr6, lport, lookupflags, - NULL, M_NODOM); + M_NODOM); } #endif } else { @@ -1416,7 +1415,7 @@ in_pcbconnect_setup(struct inpcb *inp, struct sockaddr_in *sin, if (lport != 0) { if (in_pcblookup_hash_locked(inp->inp_pcbinfo, faddr, - fport, laddr, lport, 0, NULL, M_NODOM) != NULL) + fport, laddr, lport, 0, M_NODOM) != NULL) return (EADDRINUSE); } else { struct sockaddr_in lsin, fsin; @@ -2141,8 +2140,8 @@ in_pcblookup_lb_numa_match(const struct inpcblbgroup *grp, int domain) static struct inpcb * in_pcblookup_lbgroup(const struct inpcbinfo *pcbinfo, - const struct in_addr *laddr, uint16_t lport, const struct in_addr *faddr, - uint16_t fport, int lookupflags, int domain) + const struct in_addr *faddr, uint16_t fport, const struct in_addr *laddr, + uint16_t lport, int domain) { const struct inpcblbgrouphead *hdr; struct inpcblbgroup *grp; @@ -2185,8 +2184,7 @@ in_pcblookup_lbgroup(const struct inpcbinfo *pcbinfo, in_pcblookup_lb_numa_match(grp, domain)) { local_exact = grp; } - } else if (grp->il_laddr.s_addr == INADDR_ANY && - (lookupflags & INPLOOKUP_WILDCARD) != 0) { + } else if (grp->il_laddr.s_addr == INADDR_ANY) { if (injail) { if (jail_wild == NULL || in_pcblookup_lb_numa_match(grp, domain)) @@ -2213,32 +2211,16 @@ out: grp->il_inpcnt]); } -/* - * Lookup PCB in hash list, using pcbinfo tables. This variation assumes - * that the caller has either locked the hash list, which usually happens - * for bind(2) operations, or is in SMR section, which happens when sorting - * out incoming packets. - */ static struct inpcb * -in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr, - u_int fport_arg, struct in_addr laddr, u_int lport_arg, int lookupflags, - struct ifnet *ifp, uint8_t numa_domain) +in_pcblookup_hash_exact(struct inpcbinfo *pcbinfo, struct in_addr faddr, + u_short fport, struct in_addr laddr, u_short lport) { struct inpcbhead *head; - struct inpcb *inp; - u_short fport = fport_arg, lport = lport_arg; + struct inpcb *inp, *match; - KASSERT((lookupflags & ~(INPLOOKUP_WILDCARD)) == 0, - ("%s: invalid lookup flags %d", __func__, lookupflags)); - KASSERT(faddr.s_addr != INADDR_ANY, - ("%s: invalid foreign address", __func__)); - KASSERT(laddr.s_addr != INADDR_ANY, - ("%s: invalid local address", __func__)); INP_HASH_LOCK_ASSERT(pcbinfo); - /* - * First look for an exact match. - */ + match = NULL; head = &pcbinfo->ipi_hashbase[INP_PCBHASH(&faddr, lport, fport, pcbinfo->ipi_hashmask)]; CK_LIST_FOREACH(inp, head, inp_hash) { @@ -2253,99 +2235,128 @@ in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr, inp->inp_lport == lport) return (inp); } + return (match); +} - /* - * Then look for a wildcard match, if requested. - */ - if ((lookupflags & INPLOOKUP_WILDCARD) != 0) { - struct inpcb *local_wild = NULL, *local_exact = NULL; +static struct inpcb * +in_pcblookup_hash_wild_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr, + u_short fport, struct in_addr laddr, u_short lport) +{ + struct inpcbhead *head; + struct inpcb *inp, *local_wild, *local_exact, *jail_wild; #ifdef INET6 - struct inpcb *local_wild_mapped = NULL; + struct inpcb *local_wild_mapped; #endif - struct inpcb *jail_wild = NULL; - int injail; - /* - * First see if an LB group matches the request before scanning - * all sockets on this port. - */ - inp = in_pcblookup_lbgroup(pcbinfo, &laddr, lport, &faddr, - fport, lookupflags, numa_domain); - if (inp != NULL) - return (inp); + INP_HASH_LOCK_ASSERT(pcbinfo); - /* - * Order of socket selection - we always prefer jails. - * 1. jailed, non-wild. - * 2. jailed, wild. - * 3. non-jailed, non-wild. - * 4. non-jailed, wild. - */ + /* + * Order of socket selection - we always prefer jails. + * 1. jailed, non-wild. + * 2. jailed, wild. + * 3. non-jailed, non-wild. + * 4. non-jailed, wild. + */ + head = &pcbinfo->ipi_hashbase[INP_PCBHASH_WILD(lport, + pcbinfo->ipi_hashmask)]; + local_wild = local_exact = jail_wild = NULL; +#ifdef INET6 + local_wild_mapped = NULL; +#endif + CK_LIST_FOREACH(inp, head, inp_hash) { + bool injail; - head = &pcbinfo->ipi_hashbase[INP_PCBHASH_WILD(lport, - pcbinfo->ipi_hashmask)]; - CK_LIST_FOREACH(inp, head, inp_hash) { #ifdef INET6 - /* XXX inp locking */ - if ((inp->inp_vflag & INP_IPV4) == 0) - continue; + /* XXX inp locking */ + if ((inp->inp_vflag & INP_IPV4) == 0) + continue; #endif - if (inp->inp_faddr.s_addr != INADDR_ANY || - inp->inp_lport != lport) - continue; + if (inp->inp_faddr.s_addr != INADDR_ANY || + inp->inp_lport != lport) + continue; - injail = prison_flag(inp->inp_cred, PR_IP4); - if (injail) { - if (prison_check_ip4_locked( - inp->inp_cred->cr_prison, &laddr) != 0) - continue; - } else { - if (local_exact != NULL) - continue; - } + injail = prison_flag(inp->inp_cred, PR_IP4) != 0; + if (injail) { + if (prison_check_ip4_locked(inp->inp_cred->cr_prison, + &laddr) != 0) + continue; + } else { + if (local_exact != NULL) + continue; + } - if (inp->inp_laddr.s_addr == laddr.s_addr) { - if (injail) - return (inp); - else - local_exact = inp; - } else if (inp->inp_laddr.s_addr == INADDR_ANY) { + if (inp->inp_laddr.s_addr == laddr.s_addr) { + if (injail) + return (inp); + local_exact = inp; + } else if (inp->inp_laddr.s_addr == INADDR_ANY) { #ifdef INET6 - /* XXX inp locking, NULL check */ - if (inp->inp_vflag & INP_IPV6PROTO) - local_wild_mapped = inp; - else + /* XXX inp locking, NULL check */ + if (inp->inp_vflag & INP_IPV6PROTO) + local_wild_mapped = inp; + else #endif - if (injail) - jail_wild = inp; - else - local_wild = inp; - } - } /* LIST_FOREACH */ - if (jail_wild != NULL) - return (jail_wild); - if (local_exact != NULL) - return (local_exact); - if (local_wild != NULL) - return (local_wild); + if (injail) + jail_wild = inp; + else + local_wild = inp; + } + } + if (jail_wild != NULL) + return (jail_wild); + if (local_exact != NULL) + return (local_exact); + if (local_wild != NULL) + return (local_wild); #ifdef INET6 - if (local_wild_mapped != NULL) - return (local_wild_mapped); + if (local_wild_mapped != NULL) + return (local_wild_mapped); #endif - } /* if ((lookupflags & INPLOOKUP_WILDCARD) != 0) */ - return (NULL); } /* - * Lookup PCB in hash list, using pcbinfo tables. This variation locks the - * hash list lock, and will return the inpcb locked (i.e., requires - * INPLOOKUP_LOCKPCB). + * Lookup PCB in hash list, using pcbinfo tables. This variation assumes + * that the caller has either locked the hash list, which usually happens + * for bind(2) operations, or is in SMR section, which happens when sorting + * out incoming packets. */ static struct inpcb * -in_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in_addr faddr, +in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr, + u_int fport_arg, struct in_addr laddr, u_int lport_arg, int lookupflags, + uint8_t numa_domain) +{ + struct inpcb *inp; + const u_short fport = fport_arg, lport = lport_arg; + + KASSERT((lookupflags & ~INPLOOKUP_WILDCARD) == 0, + ("%s: invalid lookup flags %d", __func__, lookupflags)); + KASSERT(faddr.s_addr != INADDR_ANY, + ("%s: invalid foreign address", __func__)); + KASSERT(laddr.s_addr != INADDR_ANY, + ("%s: invalid local address", __func__)); + INP_HASH_LOCK_ASSERT(pcbinfo); + + inp = in_pcblookup_hash_exact(pcbinfo, faddr, fport, laddr, lport); + if (inp != NULL) + return (inp); + + if ((lookupflags & INPLOOKUP_WILDCARD) != 0) { + inp = in_pcblookup_lbgroup(pcbinfo, &faddr, fport, &laddr, + lport, numa_domain); + if (inp == NULL) { + inp = in_pcblookup_hash_wild_locked(pcbinfo, faddr, + fport, laddr, lport); + } + } + + return (inp); +} + +static struct inpcb * +in_pcblookup_hash_smr(struct inpcbinfo *pcbinfo, struct in_addr faddr, u_int fport, struct in_addr laddr, u_int lport, int lookupflags, - struct ifnet *ifp, uint8_t numa_domain) + uint8_t numa_domain) { struct inpcb *inp; @@ -2356,7 +2367,7 @@ in_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in_addr faddr, smr_enter(pcbinfo->ipi_smr); inp = in_pcblookup_hash_locked(pcbinfo, faddr, fport, laddr, lport, - lookupflags & INPLOOKUP_WILDCARD, ifp, numa_domain); + lookupflags & INPLOOKUP_WILDCARD, numa_domain); if (inp != NULL) { if (__predict_false(inp_smr_lock(inp, (lookupflags & INPLOOKUP_LOCKMASK)) == false)) @@ -2373,19 +2384,20 @@ in_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in_addr faddr, */ struct inpcb * in_pcblookup(struct inpcbinfo *pcbinfo, struct in_addr faddr, u_int fport, - struct in_addr laddr, u_int lport, int lookupflags, struct ifnet *ifp) + struct in_addr laddr, u_int lport, int lookupflags, + struct ifnet *ifp __unused) { - return (in_pcblookup_hash(pcbinfo, faddr, fport, laddr, lport, - lookupflags, ifp, M_NODOM)); + return (in_pcblookup_hash_smr(pcbinfo, faddr, fport, laddr, lport, + lookupflags, M_NODOM)); } struct inpcb * in_pcblookup_mbuf(struct inpcbinfo *pcbinfo, struct in_addr faddr, u_int fport, struct in_addr laddr, u_int lport, int lookupflags, - struct ifnet *ifp, struct mbuf *m) + struct ifnet *ifp __unused, struct mbuf *m) { - return (in_pcblookup_hash(pcbinfo, faddr, fport, laddr, lport, - lookupflags, ifp, m->m_pkthdr.numa_domain)); + return (in_pcblookup_hash_smr(pcbinfo, faddr, fport, laddr, lport, + lookupflags, m->m_pkthdr.numa_domain)); } #endif /* INET */ diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 80540f2695e7..2b8e48090f28 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -449,12 +449,10 @@ in6_pcbconnect(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred, return (error); if (in6_pcblookup_hash_locked(pcbinfo, &sin6->sin6_addr, - sin6->sin6_port, - IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr) - ? &laddr6.sin6_addr : &inp->in6p_laddr, - inp->inp_lport, 0, NULL, M_NODOM) != NULL) { + sin6->sin6_port, IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr) ? + &laddr6.sin6_addr : &inp->in6p_laddr, inp->inp_lport, 0, + M_NODOM) != NULL) return (EADDRINUSE); - } if (IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) { if (inp->inp_lport == 0) { /* @@ -885,8 +883,8 @@ in6_pcblookup_lb_numa_match(const struct inpcblbgroup *grp, int domain) static struct inpcb * in6_pcblookup_lbgroup(const struct inpcbinfo *pcbinfo, - const struct in6_addr *laddr, uint16_t lport, const struct in6_addr *faddr, - uint16_t fport, int lookupflags, uint8_t domain) + const struct in6_addr *faddr, uint16_t fport, const struct in6_addr *laddr, + uint16_t lport, uint8_t domain) { const struct inpcblbgrouphead *hdr; struct inpcblbgroup *grp; @@ -929,8 +927,7 @@ in6_pcblookup_lbgroup(const struct inpcbinfo *pcbinfo, in6_pcblookup_lb_numa_match(grp, domain)) { local_exact = grp; } - } else if (IN6_IS_ADDR_UNSPECIFIED(&grp->il6_laddr) && - (lookupflags & INPLOOKUP_WILDCARD) != 0) { + } else if (IN6_IS_ADDR_UNSPECIFIED(&grp->il6_laddr)) { if (injail) { if (jail_wild == NULL || in6_pcblookup_lb_numa_match(grp, domain)) @@ -957,30 +954,19 @@ out: grp->il_inpcnt]); } -/* - * Lookup PCB in hash list. Used in in_pcb.c as well as here. - */ -struct inpcb * -in6_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, - u_int fport_arg, struct in6_addr *laddr, u_int lport_arg, - int lookupflags, struct ifnet *ifp, uint8_t numa_domain) +static struct inpcb * +in6_pcblookup_hash_exact(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, + u_short fport, struct in6_addr *laddr, u_short lport) { struct inpcbhead *head; - struct inpcb *inp; - u_short fport = fport_arg, lport = lport_arg; - - KASSERT((lookupflags & ~(INPLOOKUP_WILDCARD)) == 0, - ("%s: invalid lookup flags %d", __func__, lookupflags)); - KASSERT(!IN6_IS_ADDR_UNSPECIFIED(faddr), - ("%s: invalid foreign address", __func__)); - KASSERT(!IN6_IS_ADDR_UNSPECIFIED(laddr), - ("%s: invalid local address", __func__)); + struct inpcb *inp, *match; INP_HASH_LOCK_ASSERT(pcbinfo); /* * First look for an exact match. */ + match = NULL; head = &pcbinfo->ipi_hashbase[INP6_PCBHASH(faddr, lport, fport, pcbinfo->ipi_hashmask)]; CK_LIST_FOREACH(inp, head, inp_hash) { @@ -993,89 +979,107 @@ in6_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, inp->inp_lport == lport) return (inp); } + return (match); +} + +static struct inpcb * +in6_pcblookup_hash_wild_locked(struct inpcbinfo *pcbinfo, + struct in6_addr *faddr, u_short fport, struct in6_addr *laddr, + u_short lport) +{ + struct inpcbhead *head; + struct inpcb *inp, *jail_wild, *local_exact, *local_wild; /* - * Then look for a wildcard match, if requested. + * Order of socket selection - we always prefer jails. + * 1. jailed, non-wild. + * 2. jailed, wild. + * 3. non-jailed, non-wild. + * 4. non-jailed, wild. */ - if ((lookupflags & INPLOOKUP_WILDCARD) != 0) { - struct inpcb *local_wild = NULL, *local_exact = NULL; - struct inpcb *jail_wild = NULL; - int injail; + head = &pcbinfo->ipi_hashbase[INP_PCBHASH_WILD(lport, + pcbinfo->ipi_hashmask)]; + local_wild = local_exact = jail_wild = NULL; + CK_LIST_FOREACH(inp, head, inp_hash) { + bool injail; - /* - * First see if an LB group matches the request before scanning - * all sockets on this port. - */ - inp = in6_pcblookup_lbgroup(pcbinfo, laddr, lport, faddr, - fport, lookupflags, numa_domain); - if (inp != NULL) - return (inp); + /* XXX inp locking */ + if ((inp->inp_vflag & INP_IPV6) == 0) + continue; - /* - * Order of socket selection - we always prefer jails. - * 1. jailed, non-wild. - * 2. jailed, wild. - * 3. non-jailed, non-wild. - * 4. non-jailed, wild. - */ - head = &pcbinfo->ipi_hashbase[INP_PCBHASH_WILD(lport, - pcbinfo->ipi_hashmask)]; - CK_LIST_FOREACH(inp, head, inp_hash) { - /* XXX inp locking */ - if ((inp->inp_vflag & INP_IPV6) == 0) - continue; + if (!IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_faddr) || + inp->inp_lport != lport) { + continue; + } - if (!IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_faddr) || - inp->inp_lport != lport) { + injail = prison_flag(inp->inp_cred, PR_IP6) != 0; + if (injail) { + if (prison_check_ip6_locked( + inp->inp_cred->cr_prison, laddr) != 0) continue; - } + } else { + if (local_exact != NULL) + continue; + } - injail = prison_flag(inp->inp_cred, PR_IP6); - if (injail) { - if (prison_check_ip6_locked( - inp->inp_cred->cr_prison, laddr) != 0) - continue; - } else { - if (local_exact != NULL) - continue; - } + if (IN6_ARE_ADDR_EQUAL(&inp->in6p_laddr, laddr)) { + if (injail) + return (inp); + else + local_exact = inp; + } else if (IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) { + if (injail) + jail_wild = inp; + else + local_wild = inp; + } + } - if (IN6_ARE_ADDR_EQUAL(&inp->in6p_laddr, laddr)) { - if (injail) - return (inp); - else - local_exact = inp; - } else if (IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) { - if (injail) - jail_wild = inp; - else - local_wild = inp; - } - } /* LIST_FOREACH */ + if (jail_wild != NULL) + return (jail_wild); + if (local_exact != NULL) + return (local_exact); + if (local_wild != NULL) + return (local_wild); + return (NULL); +} - if (jail_wild != NULL) - return (jail_wild); - if (local_exact != NULL) - return (local_exact); - if (local_wild != NULL) - return (local_wild); - } /* if ((lookupflags & INPLOOKUP_WILDCARD) != 0) */ +struct inpcb * +in6_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, + u_int fport_arg, struct in6_addr *laddr, u_int lport_arg, + int lookupflags, uint8_t numa_domain) +{ + struct inpcb *inp; + u_short fport = fport_arg, lport = lport_arg; - /* - * Not found. - */ - return (NULL); + KASSERT((lookupflags & ~INPLOOKUP_WILDCARD) == 0, + ("%s: invalid lookup flags %d", __func__, lookupflags)); + KASSERT(!IN6_IS_ADDR_UNSPECIFIED(faddr), + ("%s: invalid foreign address", __func__)); + KASSERT(!IN6_IS_ADDR_UNSPECIFIED(laddr), + ("%s: invalid local address", __func__)); + + INP_HASH_LOCK_ASSERT(pcbinfo); + + inp = in6_pcblookup_hash_exact(pcbinfo, faddr, fport, laddr, lport); + if (inp != NULL) + return (inp); + + if ((lookupflags & INPLOOKUP_WILDCARD) != 0) { + inp = in6_pcblookup_lbgroup(pcbinfo, faddr, fport, laddr, + lport, numa_domain); + if (inp == NULL) { + inp = in6_pcblookup_hash_wild_locked(pcbinfo, faddr, + fport, laddr, lport); + } + } + return (inp); } -/* - * Lookup PCB in hash list, using pcbinfo tables. This variation locks the - * hash list lock, and will return the inpcb locked (i.e., requires - * INPLOOKUP_LOCKPCB). - */ static struct inpcb * -in6_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, +in6_pcblookup_hash_smr(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, u_int fport, struct in6_addr *laddr, u_int lport, int lookupflags, - struct ifnet *ifp, uint8_t numa_domain) + uint8_t numa_domain) { struct inpcb *inp; @@ -1086,7 +1090,7 @@ in6_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, smr_enter(pcbinfo->ipi_smr); inp = in6_pcblookup_hash_locked(pcbinfo, faddr, fport, laddr, lport, - lookupflags & INPLOOKUP_WILDCARD, ifp, numa_domain); + lookupflags & INPLOOKUP_WILDCARD, numa_domain); if (inp != NULL) { if (__predict_false(inp_smr_lock(inp, (lookupflags & INPLOOKUP_LOCKMASK)) == false)) @@ -1103,19 +1107,20 @@ in6_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, */ struct inpcb * in6_pcblookup(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, u_int fport, - struct in6_addr *laddr, u_int lport, int lookupflags, struct ifnet *ifp) + struct in6_addr *laddr, u_int lport, int lookupflags, + struct ifnet *ifp __unused) { - return (in6_pcblookup_hash(pcbinfo, faddr, fport, laddr, lport, - lookupflags, ifp, M_NODOM)); + return (in6_pcblookup_hash_smr(pcbinfo, faddr, fport, laddr, lport, + lookupflags, M_NODOM)); } struct inpcb * in6_pcblookup_mbuf(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, u_int fport, struct in6_addr *laddr, u_int lport, int lookupflags, - struct ifnet *ifp, struct mbuf *m) + struct ifnet *ifp __unused, struct mbuf *m) { - return (in6_pcblookup_hash(pcbinfo, faddr, fport, laddr, lport, - lookupflags, ifp, m->m_pkthdr.numa_domain)); + return (in6_pcblookup_hash_smr(pcbinfo, faddr, fport, laddr, lport, + lookupflags, m->m_pkthdr.numa_domain)); } void diff --git a/sys/netinet6/in6_pcb.h b/sys/netinet6/in6_pcb.h index 0d3de62ddd54..800d26e8b3d6 100644 --- a/sys/netinet6/in6_pcb.h +++ b/sys/netinet6/in6_pcb.h @@ -84,7 +84,7 @@ struct inpcb * struct inpcb * in6_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, u_int fport_arg, struct in6_addr *laddr, - u_int lport_arg, int lookupflags, struct ifnet *ifp, uint8_t); + u_int lport_arg, int lookupflags, uint8_t); struct inpcb * in6_pcblookup(struct inpcbinfo *, struct in6_addr *, u_int, struct in6_addr *, u_int, int, From nobody Thu Feb 9 21:44:04 2023 X-Original-To: dev-commits-src-main@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 4PCVkD5nztz3nnlZ; Thu, 9 Feb 2023 21:44: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCVkD5HTsz4HgK; Thu, 9 Feb 2023 21:44:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675979044; 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=l2O2TzjOJujgsYYlRRkv6UBpmsibmyu2toGQ+QC+NAI=; b=RVKQvPcp/j8QqbKKGnqTJOPH1bVjJ7UfUO7Uf0DDPBcJN6JcSEzKCsjjrjdAhI7pFAGzBT lzpUQMhowQXUWQciqCVFO/jjQ7Njzg3qZNe/d2anO9SaiGaWkZxLwQUG3EZCeAi7tm+Zvo AsBTXcKy8G7EYalXPqTTJPe8cFSC+EtXtYrXClbDRGU0yNvQep5sOB/3NISQr4G33GX0uz Wq++zot/Y4yGHpueJtHviPFMCEU5tr/C6KDz0B1rWqPBRSDHcfCvLfEcAUu0vVePf626Hh XWIBDFFiSehN47ZMnix6SZzG9j6EB2aTQxGN0g/BvRoX5MQMo6stSoJ7gBtamw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675979044; 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=l2O2TzjOJujgsYYlRRkv6UBpmsibmyu2toGQ+QC+NAI=; b=sQrpqvEVrU/1f+iJXNzENCuEqZCQeJ2eu7zOVpSaP4OideVT0/46tbsNAJO5yVFep3v7oi DZ/ZiLD7tlZmM+vBvDFmUhYq0vuKHqcWXYNulTAPOLw54jPB/LYqG4w8yjGDBynJI+Bvml FJqk8CaCwca3YjkR5JkfDg+TYQ1ZIDo63xs0Aci6+2QLE3rZmSzbfnDlAEyngzRIyc243f mWT2YqBN3G9hwpcyCx+78iXkoqBCjSun5ZqVuJGRTL4qIRoumB4xoIMz+P29bbMBKqkvuR KMB0BUz0i8cm/3vMacr6F4PWL/C502lJkMbH1JyCk7skzl623QX1vG8+RKsIKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675979044; a=rsa-sha256; cv=none; b=gI8vOZGFnNS9InycXZAn0xmmXNzG8HlXWlhlILTcVCuJ4nVy+rSJ4JdheqbR2xNyqx7ITy 18XaWC9KYYfNhkSsNrLpB3/l3zBI2dqi1mIQoW7Z9coz/Gg43ix0HVmWRlNZis6eUdC8Fv aqWij52bY6su7dLM7UIaFeYbKQ0SKwLd3mGIMAHA3QBvYg1GHmOKcbiJwaRgv4QwUXcEc0 u42Z7kKwhyVlbhP3xeegFJlkIAJED7J+jZ8yVRyGxa7Gs62Ibgnf3C/0FsgDjTC1gCuPGl 9ng9PolWQEhWSvTe/mjx5VQtIQLJ3dmlN+qoVXC77sknMt1JdhZqJjmmx78E/w== 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 4PCVkD4MD1zsyM; Thu, 9 Feb 2023 21:44:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319Li4Cp086217; Thu, 9 Feb 2023 21:44:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319Li4kI086216; Thu, 9 Feb 2023 21:44:04 GMT (envelope-from git) Date: Thu, 9 Feb 2023 21:44:04 GMT Message-Id: <202302092144.319Li4kI086216@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alan Somers Subject: git: 09f29b03ddf8 - main - sesutil: plug memory leaks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 09f29b03ddf857a366f338145693b5449e6ca5de Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=09f29b03ddf857a366f338145693b5449e6ca5de commit 09f29b03ddf857a366f338145693b5449e6ca5de Author: Alan Somers AuthorDate: 2022-01-19 21:57:27 +0000 Commit: Alan Somers CommitDate: 2023-02-09 21:43:17 +0000 sesutil: plug memory leaks MFC after: 1 week Sponsored by: Axcient Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D33955 --- usr.sbin/sesutil/sesutil.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/usr.sbin/sesutil/sesutil.c b/usr.sbin/sesutil/sesutil.c index b11f02177c62..989216690edf 100644 --- a/usr.sbin/sesutil/sesutil.c +++ b/usr.sbin/sesutil/sesutil.c @@ -484,7 +484,6 @@ objmap(int argc, char **argv __unused) memset(&e_desc, 0, sizeof(e_desc)); e_desc.elm_idx = e_ptr[j].elm_idx; e_desc.elm_desc_len = UINT16_MAX; - /* XXX memory leak! */ e_desc.elm_desc_str = calloc(UINT16_MAX, sizeof(char)); if (e_desc.elm_desc_str == NULL) { close(fd); @@ -526,6 +525,7 @@ objmap(int argc, char **argv __unused) } print_extra_status(e_ptr[j].elm_type, e_status.cstat, PRINT_STYLE_DASHED); xo_close_instance("elements"); + free(e_desc.elm_desc_str); free(e_devname.elm_devnames); } xo_close_list("elements"); @@ -618,7 +618,7 @@ static void show_device(int fd, int elm_idx, encioc_elm_status_t e_status, encioc_elm_desc_t e_desc) { encioc_elm_devnames_t e_devname; - char *model, *serial; + char *model = NULL, *serial = NULL; off_t size; /* Get the device name(s) of the element */ @@ -635,8 +635,6 @@ show_device(int fd, int elm_idx, encioc_elm_status_t e_status, encioc_elm_desc_t (caddr_t) &e_devname) < 0) { /* We don't care if this fails */ e_devname.elm_devnames[0] = '\0'; - model = NULL; - serial = NULL; size = -1; } else { skip_pass_devices(e_devname.elm_devnames, 128); @@ -661,6 +659,8 @@ show_device(int fd, int elm_idx, encioc_elm_status_t e_status, encioc_elm_desc_t print_extra_status(ELMTYP_ARRAY_DEV, e_status.cstat, PRINT_STYLE_CSV); xo_emit("\n"); xo_close_instance("elements"); + free(serial); + free(model); free(e_devname.elm_devnames); } @@ -853,6 +853,7 @@ show(int argc, char **argv __unused) */ break; } + free(e_desc.elm_desc_str); } if (prev_type != (elm_type_t)-1 && prev_type != ELMTYP_DEVICE && prev_type != ELMTYP_ARRAY_DEV) From nobody Thu Feb 9 23:31:16 2023 X-Original-To: dev-commits-src-main@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 4PCY5w2VBvz3pJ71; Thu, 9 Feb 2023 23:31: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCY5w248Cz3J0m; Thu, 9 Feb 2023 23:31:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675985476; 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=Pq9RcFcaJKbdYmAkIphqi8Rers6ADm1HOxn6Gon30yw=; b=yK23sKvETurO6MEQgdE0znFLSpSfo6EPFHAZVlBosdgJOj9s3eZ5iUSX9EqGvVFsb6Q4Ny sY+9XUKHAoAWaOKd9aFY213IBgIx4JmRjSn886XFNczDmzIWsPi39CgPjApkCW9Nj6H8h0 hEtunBpIj/FAgMGZZFurz5RAe3zVCqNt4D744HxTw06Bp9kLsg6p5MwTp9Cvebz5+ixNta 3RwNQiZUaE3QNoQcMiyFrxUozqQ7YNYadZ8ZORnprEVZZCzZj5X+0+/kdZsD9OqcsQRVXz zcleZFenP9uM3UL+aCf7zQghyX6/dZ8lQEpzf1ccZtVdyq2B3Kt8TgrVKvQkow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675985476; 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=Pq9RcFcaJKbdYmAkIphqi8Rers6ADm1HOxn6Gon30yw=; b=dn70pQ6Q1X48Wz9iqwYi3zlLhZbB4cHyAMExBGAlYgSJM82okw5FDgFeowl/idheMQEatj i3IyDT0RRzcAjwJDmBZDOXAXdrwqplVf/rpeUa9yrPdHZu5x2bd3qJgAaXGH9RvcBIPUoQ o1vOncGeid1QjVxMOL61hmd7tazN7T393C+/GGu5mhy9cnx1dXnBgicON2YwQtSOdrrlCd eL7q4BCu92a9200h63gQAA1Dg/G5c9nn8B9DDgKi4qYA4iM16V4aj8A6oobklumcEEQdo5 LEIcAjC6AflApsKarh4OqxxADUACqG1QYtfOvSbIjAmT5OTQJHks5M2j0VBTig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675985476; a=rsa-sha256; cv=none; b=JxuOBcI5emsRb8YdtQLRZ+DQ4z0mzc/7tTIXVf8wzmAq6YyTmPsIpH8h0ehQEoBNLSVYpu hFYPdSFM1j5lJcwiKw1My98ZOmf522eWEEH2ukp4d9I+WHrsldWyjRPXJTkatew1HJiMCV U/DdwcCGAgfitSvAbDufTqBP3Y0jkivgTqm4/a2CfnWaWw5R4BJo1CRTdq98ZuLkv5SVa3 9XdAkGOqBrBvuCiJZmbAmIzVpLMXZyp2Q8r0ne6W0yQIQTm5yJhxiDJDcm0rXeruXnAGvz UxK2p8eYN2JxITO0ss53h0zrl+v8cy2C4Z7H3MG1iPVwH4DxCni0o96Mn7MGSw== 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 4PCY5w16VxzvxW; Thu, 9 Feb 2023 23:31:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 319NVGQk040362; Thu, 9 Feb 2023 23:31:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 319NVG6q040361; Thu, 9 Feb 2023 23:31:16 GMT (envelope-from git) Date: Thu, 9 Feb 2023 23:31:16 GMT Message-Id: <202302092331.319NVG6q040361@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: cd3193f640e2 - main - Add ck.h userspace shims for CK_SLIST_ List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cd3193f640e26991d94d87a45ee9b6a953c56fb5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kbowling (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=cd3193f640e26991d94d87a45ee9b6a953c56fb5 commit cd3193f640e26991d94d87a45ee9b6a953c56fb5 Author: Elliott Mitchell AuthorDate: 2023-02-09 23:27:12 +0000 Commit: Kevin Bowling CommitDate: 2023-02-09 23:30:17 +0000 Add ck.h userspace shims for CK_SLIST_ MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D38471 --- sys/sys/ck.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/sys/ck.h b/sys/sys/ck.h index b04fe67b476d..1dba51daf063 100644 --- a/sys/sys/ck.h +++ b/sys/sys/ck.h @@ -13,6 +13,8 @@ #define CK_STAILQ_ENTRY STAILQ_ENTRY #define CK_LIST_HEAD LIST_HEAD #define CK_LIST_ENTRY LIST_ENTRY +#define CK_SLIST_HEAD SLIST_HEAD +#define CK_SLIST_ENTRY SLIST_ENTRY #endif #endif /* !_SYS_CK_H_ */ From nobody Fri Feb 10 00:13:52 2023 X-Original-To: dev-commits-src-main@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 4PCZ3G2bYsz3pfMV; Fri, 10 Feb 2023 00:14:02 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4PCZ3G0Tn6z3NvF; Fri, 10 Feb 2023 00:14:02 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Authentication-Results: mx1.freebsd.org; none Date: Fri, 10 Feb 2023 01:13:52 +0100 Author: Steffen Nurpmeso From: Steffen Nurpmeso To: Mateusz Guzik Cc: Mateusz Guzik , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 48bfd3597654 - main - Add nproc(1) Message-ID: <20230210001352.DUAuj%steffen@sdaoden.eu> In-Reply-To: References: <202302081947.318Jlbt6052826@gitrepo.freebsd.org> <20230208202736.L7hpB%steffen@sdaoden.eu> Mail-Followup-To: Mateusz Guzik , Mateusz Guzik , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org User-Agent: s-nail v14.9.24-403-gdc9ff6b368 OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. X-Rspamd-Queue-Id: 4PCZ3G0Tn6z3NvF X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15987, ipnet:217.144.128.0/20, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mateusz Guzik wrote in : |On 2/8/23, Steffen Nurpmeso wrote: |> Mateusz Guzik wrote in |> <202302081947.318Jlbt6052826@gitrepo.freebsd.org>: |> ... |>| Add nproc(1) ... |>| It aims to be compatible with nproc as found in GNU coreutils. |> |> That, "however", |> |> ... |>|+ if (all_flag) { |>|+ cpus = sysconf(_SC_NPROCESSORS_ONLN); |> |> is not compatible -- note i like the FreeBSD way better, and maybe |> someone should make a bug report even. |> |> #?0|kent:$ getconf -a|grep NPROC |> _NPROCESSORS_CONF 8 |> _NPROCESSORS_ONLN 4 |> #?0|kent:$ nproc |> 4 |> #?0|kent:$ nproc --all |> 8 |> #?0|kent:$ |> | |Is this from disabling hyperthreading? Yes (compilations ~30-40% slower when enabled; last i tried). (Waiting for that tricky FINEIBT thing, maybe then again. Not that i really have an idea.) |I have a 40-way box, after doing it I see: |NPROCESSORS_CONF: 20 |NPROCESSORS_ONLN: 20 |_NPROCESSORS_CONF: 20 |_NPROCESSORS_ONLN: 20 | |iow it wont make a difference. I only get that in boxes. On bare metal i see the inactivated ones. By the way it was lscpu that requires /sys/ here, nproc works (i said it does not for the cpuset --count commit). And both coreutils as well as busybox variants use sched_getaffinity, indeed. Ciao, --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) From nobody Fri Feb 10 01:24:30 2023 X-Original-To: dev-commits-src-main@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 4PCbch2WYvz3pnd5; Fri, 10 Feb 2023 01:24:36 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCbch1tqLz3rsR; Fri, 10 Feb 2023 01:24:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675992276; 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=A/7ybT4qzGj2akSPNqyU+CcRpDnO1ImZtLFmE/7oVS4=; b=FwIC7G8iy8XW62/RjVVFImMN9FnVIWKMndB6juzAZNJ6ENR2i5pWFtGILa8ZxiLIUP1/Ne kzuavTVwAPd5rUCnHJWy/GfZepsBp2t0R2neQJl8K7u7DBdys4BmK5R5QJVLbS+Ww9Zu1F ApMWOGZ//5/l5RtDIuQtzl3DBFj3dhRZ9K8Cic1YTekkOIvKZWcvK40UywUmCtb9Pz+oO9 8QY5xfyIGYJqxveTGZ8XvMmaiZAOYpFoW64MWh9IUiRQBuSaXiFpZr6cFmyx0IfVFPp/8N /LGIctO+yPIR1iaITVzK03np3REUE6bRZlu53an9Bzm9ej6bKQvaXGK4hOYd4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675992276; 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=A/7ybT4qzGj2akSPNqyU+CcRpDnO1ImZtLFmE/7oVS4=; b=fXbsLs/rcYguihkoDIyY+DlJM0xFoURNCmKcty4gMrcYbAu2MraY9j3CJiNiAZnHnSah04 j06CtyX7Mtbk9jQdphi8T+ClMNoWGkoHtZ20BeexxfhLia9kN+No7NxLxvOLIBi8mMz6fw 5Gp1xp3fG9TLcmoyoHFF5XIf+oyipqHF7obN2DPy5GOZ2y1j5/ZMEVJNuA4VJGeJh/zWxn Eb4/6lQJl96yjof7XJvWtw9RgKs49NXpmNSXh02xURs+9vs5c4k3HC4TtANQD+043fAfb2 0h0d2/Was/fm8sSTkddwC/jHQMwhTPJrVc81QRNqogcm1C7QT+vSLKIM1JxDPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675992276; a=rsa-sha256; cv=none; b=tI8G+x/yqbT5cI38OTj9Nh+zG5eP7ZhiB3tMRbcP0WXAjfArPWOk44N2cshOr0MuQ0qyne 0UzUobcVh88u5fcZgcmTFCJiRl+rtefCmzCR8sumA+CNwJTLtNbazn4cTc+fXbb08VrhKu 34gJzGNfoGsH+voFYT01n4kOKxdg9bNQ8ys7FfdMIh8Maqs0XudsSDGJUwOYmoEV2JrpBJ jXFCUVYNBltkaCa+szuE10JW2roKkMvyhiqkEP9HG9M8qvEBGu8/7vhNX7ByYT+yTnfyEq 0nmd2w1B0iZ2HLBheV1Fz8652VmqsC9OxMhF61ap++zzhwjW5v7RomVESkvXyg== 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 4PCbch0yBYz1085; Fri, 10 Feb 2023 01:24:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31A1Oa2J003027; Fri, 10 Feb 2023 01:24:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31A1OUID003015; Fri, 10 Feb 2023 01:24:30 GMT (envelope-from git) Date: Fri, 10 Feb 2023 01:24:30 GMT Message-Id: <202302100124.31A1OUID003015@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: dc1b8c9a846e - main - Merge bmake-20230208 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dc1b8c9a846e78a87789fe1473350c3260722148 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=dc1b8c9a846e78a87789fe1473350c3260722148 commit dc1b8c9a846e78a87789fe1473350c3260722148 Merge: cd3193f640e2 f4d51098686d Author: Simon J. Gerraty AuthorDate: 2023-02-10 01:21:33 +0000 Commit: Simon J. Gerraty CommitDate: 2023-02-10 01:23:23 +0000 Merge bmake-20230208 Merge commit 'f4d51098686d961fc03dc5aa327619d0af3c9dcd' contrib/bmake/ChangeLog | 17 +++++++ contrib/bmake/Makefile | 10 ++--- contrib/bmake/VERSION | 2 +- contrib/bmake/install-sh | 59 ++++++++++++++++-------- contrib/bmake/mk/ChangeLog | 11 +++++ contrib/bmake/mk/autoconf.mk | 4 +- contrib/bmake/mk/install-mk | 13 ++++-- contrib/bmake/mk/whats.mk | 4 +- contrib/bmake/unit-tests/varmod-remember.mk | 69 +++++++++++++++++++++++------ contrib/bmake/var.c | 6 +-- usr.bin/bmake/Makefile | 2 +- usr.bin/bmake/Makefile.config | 2 +- 12 files changed, 151 insertions(+), 48 deletions(-) diff --cc contrib/bmake/Makefile index ad78883ff890,000000000000..4ad9ac92b266 mode 100644,000000..100644 --- a/contrib/bmake/Makefile +++ b/contrib/bmake/Makefile @@@ -1,238 -1,0 +1,238 @@@ - # $Id: Makefile,v 1.122 2022/10/08 02:53:30 sjg Exp $ ++# $Id: Makefile,v 1.123 2023/01/28 02:49:20 sjg Exp $ + +PROG= bmake + +SRCS= \ + arch.c \ + buf.c \ + compat.c \ + cond.c \ + dir.c \ + for.c \ + hash.c \ + job.c \ + lst.c \ + main.c \ + make.c \ + make_malloc.c \ + meta.c \ + metachar.c \ + parse.c \ + str.c \ + suff.c \ + targ.c \ + trace.c \ + util.c \ + var.c + +.-include "VERSION" +.-include "Makefile.inc" + +# this file gets generated by configure +.-include "Makefile.config" + +.if !empty(LIBOBJS) +SRCS+= ${LIBOBJS:T:.o=.c} +.endif + +# just in case +prefix?= /usr +srcdir?= ${.CURDIR} + +DEFAULT_SYS_PATH?= ${prefix}/share/mk + +CPPFLAGS+= -DUSE_META +CFLAGS+= ${CPPFLAGS} +CFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\" +CFLAGS+= -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE +CFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}} +COPTS.main.c+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\"" + +.for x in FORCE_MACHINE FORCE_MACHINE_ARCH +.ifdef $x +COPTS.main.c+= "-D$x=\"${$x}\"" +.endif +.endfor + +# meta mode can be useful even without filemon +# should be set by now +USE_FILEMON ?= no +.if ${USE_FILEMON:tl} != "no" +.PATH: ${srcdir}/filemon +SRCS+= filemon_${USE_FILEMON}.c +COPTS.meta.c+= -DUSE_FILEMON -DUSE_FILEMON_${USE_FILEMON:tu} +COPTS.job.c+= ${COPTS.meta.c} + +.if ${USE_FILEMON} == "dev" +FILEMON_H ?= /usr/include/dev/filemon/filemon.h +.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h" +COPTS.filemon_dev.c += -DHAVE_FILEMON_H -I${FILEMON_H:H} +.endif +.endif # USE_FILEMON == dev + +.endif # USE_FILEMON + +.PATH: ${srcdir} + +.if make(obj) || make(clean) +SUBDIR+= unit-tests +.endif + +# start-delete1 for bsd.after-import.mk +# we skip a lot of this when building as part of FreeBSD etc. + +# list of OS's which are derrived from BSD4.4 +BSD44_LIST= NetBSD FreeBSD OpenBSD DragonFly MirBSD Bitrig +# we are... +OS := ${.MAKE.OS:U${uname -s:L:sh}} +# are we 4.4BSD ? +isBSD44:=${BSD44_LIST:M${OS}} + +.if ${isBSD44} == "" && ${OS:NDarwin:NLinux} != "" +MANTARGET= cat +INSTALL?=${srcdir}/install-sh +.if ${MACHINE} == "sun386" +# even I don't have one of these anymore :-) +CFLAGS+= -DPORTAR +.elif ${OS} != "SunOS" +# assume the worst +SRCS+= sigcompat.c +CFLAGS+= -DSIGNAL_FLAGS=SA_RESTART +.endif +.else +MANTARGET?= man +.endif + +# turn this on by default - ignored if we are root +WITH_INSTALL_AS_USER= + +# suppress with -DWITHOUT_* +OPTIONS_DEFAULT_YES+= \ + AUTOCONF_MK \ + INSTALL_MK \ + PROG_LINK + +OPTIONS_DEFAULT_NO+= \ + PROG_VERSION + +# process options now +.include + +.if ${MK_PROG_VERSION} == "yes" +PROG_NAME= ${PROG}-${_MAKE_VERSION} +.if ${MK_PROG_LINK} == "yes" +SYMLINKS+= ${PROG_NAME} ${BINDIR}/${PROG} +.endif +.endif + +EXTRACT_MAN=no +# end-delete1 + +MAN= ${PROG}.1 +MAN1= ${MAN} + +.if ${PROG} != "make" +CLEANFILES+= my.history +.if make(${MAN}) || !exists(${srcdir}/${MAN}) +my.history: + @(echo ".Nm"; \ + echo "is derived from NetBSD"; \ + echo ".Xr make 1 ."; \ + echo "It uses autoconf to facilitate portability to other platforms."; \ + echo ".Pp") > $@ + +.NOPATH: ${MAN} +${MAN}: make.1 my.history + @echo making $@ + @sed \ + -e '/^.Dt/s/MAKE/${PROG:tu}/' \ + -e 's/^.Nx/NetBSD/' \ + -e '/^.Nm/s/make/${PROG}/' \ + -e '/^.Sh HISTORY/rmy.history' \ + -e '/^.Sh HISTORY/,$$s,^.Nm,make,' ${srcdir}/make.1 > $@ + +all beforeinstall: ${MAN} +_mfromdir=. +.endif +.endif + +MANTARGET?= cat +MANDEST?= ${MANDIR}/${MANTARGET}1 + +.if ${MANTARGET} == "cat" +_mfromdir=${srcdir} +.endif + +.include + +CPPFLAGS+= -DMAKE_NATIVE -DHAVE_CONFIG_H +COPTS.var.c += -Wno-cast-qual +COPTS.job.c += -Wno-format-nonliteral +COPTS.parse.c += -Wno-format-nonliteral +COPTS.var.c += -Wno-format-nonliteral + +# Force these +SHAREDIR= ${SHAREDIR.bmake:U${prefix}/share} +BINDIR= ${BINDIR.bmake:U${prefix}/bin} +MANDIR= ${MANDIR.bmake:U${SHAREDIR}/man} + +.if !exists(.depend) +${OBJS}: config.h +.endif + +# start-delete2 for bsd.after-import.mk + +# make sure that MAKE_VERSION gets updated. +main.o: ${srcdir}/VERSION + +.if ${MK_AUTOCONF_MK} == "yes" +CONFIGURE_DEPS += ${.CURDIR}/VERSION +# we do not need or want the generated makefile +CONFIGURE_ARGS += --without-makefile +AUTOCONF_GENERATED_MAKEFILE = Makefile.config +.include +.endif +SHARE_MK ?= ${SHAREDIR}/mk +MKSRC = ${srcdir}/mk +INSTALL ?= ${srcdir}/install-sh + +.if ${MK_INSTALL_MK} == "yes" +install: install-mk +.endif + +beforeinstall: - test -d ${DESTDIR}${BINDIR} || ${INSTALL} -m 775 -d ${DESTDIR}${BINDIR} - test -d ${DESTDIR}${MANDEST} || ${INSTALL} -m 775 -d ${DESTDIR}${MANDEST} ++ test -d ${DESTDIR}${BINDIR} || ${INSTALL} -m ${DIRMODE} -d ${DESTDIR}${BINDIR} ++ test -d ${DESTDIR}${MANDEST} || ${INSTALL} -m ${DIRMODE} -d ${DESTDIR}${MANDEST} + +install-mk: +.if exists(${MKSRC}/install-mk) - test -d ${DESTDIR}${SHARE_MK} || ${INSTALL} -m 775 -d ${DESTDIR}${SHARE_MK} - sh ${MKSRC}/install-mk -v -m 644 ${DESTDIR}${SHARE_MK} ++ test -d ${DESTDIR}${SHARE_MK} || ${INSTALL} -m ${DIRMODE} -d ${DESTDIR}${SHARE_MK} ++ sh ${MKSRC}/install-mk -v -m ${NONBINMODE} ${DESTDIR}${SHARE_MK} +.else + @echo need to unpack mk.tar.gz under ${srcdir} or set MKSRC; false +.endif +# end-delete2 + +# A simple unit-test driver to help catch regressions +TEST_MAKE ?= ${.OBJDIR}/${PROG:T} +accept test: .NOMETA + cd ${.CURDIR}/unit-tests && \ + MAKEFLAGS= ${TEST_MAKE} -r -m / ${.TARGET} ${TESTS:DTESTS=${TESTS:Q}} + + +.if make(test) && ${MK_AUTO_OBJ} == "yes" +# The test target above visits unit-tests with -r -m / +# which prevents MK_AUTO_OBJ doing its job +# so do it here +.if defined(MAKEOBJDIRPREFIX) || ${MAKEOBJDIR:U:M*/*} != "" +_utobj = ${.OBJDIR}/unit-tests +.else +_utobj = ${.CURDIR}/unit-tests/${MAKEOBJDIR:Uobj} +.endif +utobj: .NOMETA + @test -d ${_utobj} && exit 0; \ + echo "[Creating ${_utobj}...]"; \ + umask ${OBJDIR_UMASK:U002}; \ + mkdir -p ${_utobj} +test: utobj +.endif diff --cc usr.bin/bmake/Makefile index 722de897acbb,000000000000..f94c7d3d2914 mode 100644,000000..100644 --- a/usr.bin/bmake/Makefile +++ b/usr.bin/bmake/Makefile @@@ -1,181 -1,0 +1,181 @@@ +# This is a generated file, do NOT edit! +# See contrib/bmake/bsd.after-import.mk +# +# $FreeBSD$ + +SRCTOP?= ${.CURDIR:H:H} + +# look here first for config.h +CFLAGS+= -I${.CURDIR} + +# for after-import +CLEANDIRS+= FreeBSD +CLEANFILES+= bootstrap + - # $Id: Makefile,v 1.122 2022/10/08 02:53:30 sjg Exp $ ++# $Id: Makefile,v 1.123 2023/01/28 02:49:20 sjg Exp $ + +PROG?= ${.CURDIR:T} + +SRCS= \ + arch.c \ + buf.c \ + compat.c \ + cond.c \ + dir.c \ + for.c \ + hash.c \ + job.c \ + lst.c \ + main.c \ + make.c \ + make_malloc.c \ + meta.c \ + metachar.c \ + parse.c \ + str.c \ + suff.c \ + targ.c \ + trace.c \ + util.c \ + var.c + +.sinclude "Makefile.inc" + +# this file gets generated by configure +.sinclude "Makefile.config" + +.if !empty(LIBOBJS) +SRCS+= ${LIBOBJS:T:.o=.c} +.endif + +# just in case +prefix?= /usr +srcdir?= ${.CURDIR} + +DEFAULT_SYS_PATH?= ${prefix}/share/mk + +CPPFLAGS+= -DUSE_META +CFLAGS+= ${CPPFLAGS} +CFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\" +CFLAGS+= -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE +CFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}} +COPTS.main.c+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\"" + +.for x in FORCE_MACHINE FORCE_MACHINE_ARCH +.ifdef $x +COPTS.main.c+= "-D$x=\"${$x}\"" +.endif +.endfor + +# meta mode can be useful even without filemon +# should be set by now +USE_FILEMON ?= no +.if ${USE_FILEMON:tl} != "no" +.PATH: ${srcdir}/filemon +SRCS+= filemon_${USE_FILEMON}.c +COPTS.meta.c+= -DUSE_FILEMON -DUSE_FILEMON_${USE_FILEMON:tu} +COPTS.job.c+= ${COPTS.meta.c} + +.if ${USE_FILEMON} == "dev" +FILEMON_H ?= /usr/include/dev/filemon/filemon.h +.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h" +COPTS.filemon_dev.c += -DHAVE_FILEMON_H -I${FILEMON_H:H} +.endif +.endif # USE_FILEMON == dev + +.endif # USE_FILEMON + +.PATH: ${srcdir} + +.if make(obj) || make(clean) +SUBDIR+= unit-tests +.endif + + +MAN= ${PROG}.1 +MAN1= ${MAN} + +.if ${PROG} != "make" +CLEANFILES+= my.history +.if make(${MAN}) || !exists(${srcdir}/${MAN}) +my.history: + @(echo ".Nm"; \ + echo "is derived from NetBSD"; \ + echo ".Xr make 1 ."; \ + echo "It uses autoconf to facilitate portability to other platforms."; \ + echo ".Pp") > $@ + +.NOPATH: ${MAN} +${MAN}: make.1 my.history + @echo making $@ + @sed \ + -e '/^.Dt/s/MAKE/${PROG:tu}/' \ + -e 's/^.Nx/NetBSD/' \ + -e '/^.Nm/s/make/${PROG}/' \ + -e '/^.Sh HISTORY/rmy.history' \ + -e '/^.Sh HISTORY/,$$s,^.Nm,make,' ${srcdir}/make.1 > $@ + +all beforeinstall: ${MAN} +_mfromdir=. +.endif +.endif + +MANTARGET?= cat +MANDEST?= ${MANDIR}/${MANTARGET}1 + +.if ${MANTARGET} == "cat" +_mfromdir=${srcdir} +.endif + +.include + +CPPFLAGS+= -DMAKE_NATIVE -DHAVE_CONFIG_H +COPTS.var.c += -Wno-cast-qual +COPTS.job.c += -Wno-format-nonliteral +COPTS.parse.c += -Wno-format-nonliteral +COPTS.var.c += -Wno-format-nonliteral + +# Force these +SHAREDIR= ${SHAREDIR.bmake:U${prefix}/share} +BINDIR= ${BINDIR.bmake:U${prefix}/bin} +MANDIR= ${MANDIR.bmake:U${SHAREDIR}/man} + +.if !exists(.depend) +${OBJS}: config.h +.endif + + +# A simple unit-test driver to help catch regressions +TEST_MAKE ?= ${.OBJDIR}/${PROG:T} +accept test: .NOMETA + cd ${.CURDIR}/unit-tests && \ + MAKEFLAGS= ${TEST_MAKE} -r -m / ${.TARGET} ${TESTS:DTESTS=${TESTS:Q}} + + +.if make(test) && ${MK_AUTO_OBJ} == "yes" +# The test target above visits unit-tests with -r -m / +# which prevents MK_AUTO_OBJ doing its job +# so do it here +.if defined(MAKEOBJDIRPREFIX) || ${MAKEOBJDIR:U:M*/*} != "" +_utobj = ${.OBJDIR}/unit-tests +.else +_utobj = ${.CURDIR}/unit-tests/${MAKEOBJDIR:Uobj} +.endif +utobj: .NOMETA + @test -d ${_utobj} && exit 0; \ + echo "[Creating ${_utobj}...]"; \ + umask ${OBJDIR_UMASK:U002}; \ + mkdir -p ${_utobj} +test: utobj +.endif + +# override some simple things +BINDIR= /usr/bin +MANDIR= /usr/share/man/man + +# make sure we get this +CFLAGS+= ${COPTS.${.IMPSRC:T}} + +after-import: ${SRCTOP}/contrib/bmake/bsd.after-import.mk + cd ${.CURDIR} && ${.MAKE} -f ${SRCTOP}/contrib/bmake/bsd.after-import.mk + diff --cc usr.bin/bmake/Makefile.config index fab0991419ff,000000000000..a0310f91a5f8 mode 100644,000000..100644 --- a/usr.bin/bmake/Makefile.config +++ b/usr.bin/bmake/Makefile.config @@@ -1,28 -1,0 +1,28 @@@ +# This is a generated file, do NOT edit! +# See contrib/bmake/bsd.after-import.mk +# +# $FreeBSD$ + +SRCTOP?= ${.CURDIR:H:H} + +# things set by configure + - _MAKE_VERSION?=20230126 ++_MAKE_VERSION?=20230208 + +prefix?= /usr +srcdir= ${SRCTOP}/contrib/bmake +CC?= cc +DEFAULT_SYS_PATH?= .../share/mk:/usr/share/mk + +EGREP = egrep +CPPFLAGS+= +CFLAGS+= ${CPPFLAGS} -DHAVE_CONFIG_H +LDFLAGS+= +LIBOBJS+= ${LIBOBJDIR}stresep$U.o +LDADD+= +USE_META?= yes +USE_FILEMON?= dev +FILEMON_H?= /usr/include/dev/filemon/filemon.h +BMAKE_PATH_MAX?= 1024 +# used if MAXPATHLEN not defined +CPPFLAGS+= -DBMAKE_PATH_MAX=${BMAKE_PATH_MAX} From nobody Fri Feb 10 04:14:26 2023 X-Original-To: dev-commits-src-main@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 4PCgNf4g70z3nRNN; Fri, 10 Feb 2023 04:14:26 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCgNf41Nqz49CC; Fri, 10 Feb 2023 04:14:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676002466; 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=9NGRr4uxMQZGowOjLenqd27lgfmGY7qZi1Wwl/wUgBU=; b=B1qiT6zU31hhPj1e9G9vq6sHVwMKO9mkPlRhvUW/DZYh/F2KILSKweys8exc1TlmtnGRmm FOerlM+OhBpQfoX3rkRXHTof6OcSGtSROhaLfe2h8H7ORs8SgCO305Ru+4J7ca4QXo9HTe 7EpwkG76v9m+X3A2uh/1zkWT5K/AD1ja0JWb2vmQ0ek+2KrwgQDC68YKji/vBlp3T76FeQ Mt3/nQmbvHhOX0ixGR80naWFMVmihMnFbmV0eZGoPGuHaF1QYDUlk+0EamzYyOPjTLgAhQ RpBTVWfrM6UQDjKfjvUwak5mQWGxqu2ozw7mrb6hGHiG4dm92iE3a9v0j3vfsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676002466; 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=9NGRr4uxMQZGowOjLenqd27lgfmGY7qZi1Wwl/wUgBU=; b=UrSXbJ3Xge//srUBBRXYYE6dnSkT8cvjcN7kUNdZaozxvSxQcnlk8m6wBT3DDXn8lJFf8H aX5HK5894q8NmZEwsdmUe36/roaBSCAXylrKtQIWx0UotST/EBO88vZmiSwe5pa5NjwqvR 2bxQ4CK/yl+dc98QF9vpb5TnjZdUrH/widJzmIckLjxgoCS+dG9pNwsFT85gc549Ihfj3I nBvUF1YATg9R33+hZqO21INml5+Eun7xHyJrzlBhsW+zeQzrCzWdC9ysOdvMTM/YAd/Prf 85s5I9eOyBOq7l4j5KniEJA97OzgQ1NdDE14vL7pD5fd0RMyLkwyxEW8jC0l7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676002466; a=rsa-sha256; cv=none; b=H2jPM13DsE0j8xubSjg1VzhTIzedk/xtQsih//91uGTuk6kMb/aAVuGNyAoaaT+0q+ruTl aMaibg2mFm1CTKkDaOtyXvtk5m4Z1iuVsQuGRvj8gMug5joKUZkAiHjd+S1iYPJik6PXga xlRyA2A4ctCWfKH2Q89mjJ/FOPkWtsiRx0vnwcnoMvQ7vSMHLfbs8JdQJWW193xTkNEgol 7ogEFj7jirjUBNgR5Qt1tHqDJ0lyQtw9GC3c7kEd30IxeO5RXDPD7601RVJIRCt9KgU72v afgWFcv/JhKWJ5WcaeE2weYtmR8XDR2NZpYIZ1EIUzll9QuEeX+/caCTLYEshw== 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 4PCgNf352cz14J5; Fri, 10 Feb 2023 04:14:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31A4EQFo045939; Fri, 10 Feb 2023 04:14:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31A4EQSM045938; Fri, 10 Feb 2023 04:14:26 GMT (envelope-from git) Date: Fri, 10 Feb 2023 04:14:26 GMT Message-Id: <202302100414.31A4EQSM045938@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: f44df7959ae2 - main - libc: ssp: remove some GCC 4.2 remnants List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: f44df7959ae251e64939a03b92989592d7d6ac31 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=f44df7959ae251e64939a03b92989592d7d6ac31 commit f44df7959ae251e64939a03b92989592d7d6ac31 Author: Kyle Evans AuthorDate: 2023-02-10 04:08:07 +0000 Commit: Kyle Evans CommitDate: 2023-02-10 04:11:54 +0000 libc: ssp: remove some GCC 4.2 remnants With GCC 4.2 out of the tree for a while now and no sign of it returning, we don't really need to support older versions that don't allow us to specify a ctor priority anymore. Noticed by: mjg --- lib/libc/secure/stack_protector.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/lib/libc/secure/stack_protector.c b/lib/libc/secure/stack_protector.c index 7ddd6338ec55..909debecf26e 100644 --- a/lib/libc/secure/stack_protector.c +++ b/lib/libc/secure/stack_protector.c @@ -47,23 +47,15 @@ __FBSDID("$FreeBSD$"); * they're either not usually statically linked or they simply don't do things * in constructors that would be adversely affected by their positioning with * respect to this initialization. - * - * This conditional should be removed when GCC 4.2 is removed. */ -#if __has_attribute(__constructor__) || __GNUC_PREREQ__(4, 3) -#define _GUARD_SETUP_CTOR_ATTR \ +static void __guard_setup(void) __attribute__((__constructor__ (200), __used__)); -#else -#define _GUARD_SETUP_CTOR_ATTR \ - __attribute__((__constructor__, __used__)); -#endif extern long __stack_chk_guard[8]; extern int __sysctl(const int *name, u_int namelen, void *oldp, size_t *oldlenp, void *newp, size_t newlen); long __stack_chk_guard[8] = {0, 0, 0, 0, 0, 0, 0, 0}; -static void __guard_setup(void) _GUARD_SETUP_CTOR_ATTR; static void __fail(const char *) __dead2; void __stack_chk_fail(void) __dead2; void __chk_fail(void) __dead2; From nobody Fri Feb 10 04:37:59 2023 X-Original-To: dev-commits-src-main@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 4PCgvr0H7zz3nTgD; Fri, 10 Feb 2023 04:38: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCgvq6YRQz4C9j; Fri, 10 Feb 2023 04:37:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676003879; 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=dMnqx5MsXfssfwQ5a4RAxhwgVNgGCVf1w8Zq42epIVU=; b=W315xlZjADPHZE2Ijf0DlwUYRtNeS9+k7y5b9VuZfakCa6reNKgTDfGwGO8pzne1Yft9aT hlGGo2SK2oMvEvmX1WCuP2Foo+uYIjBm9Y1n5mfQHJPZx0Kt3CnnyeCLyP5A0KqPC1xqG4 nYXj5L+OQD078l0qGZHPjhtPd4hfg5nCxn6g/fbDQul+9vzt2tTNqYbEM0lRkGoSchVf2w WhqhyxgPXaCsjUNtWGwvZf0wopDGzrWadlsIb3/RgnZO+/5MU2vkDrWnmevgzJK1UqI9yl Vy6iQ1kwmaq8jUbPwSJtJcDAaN/oCXKUKMpUTqQu/mmLA0fehBPEWF7qKYiarw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676003879; 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=dMnqx5MsXfssfwQ5a4RAxhwgVNgGCVf1w8Zq42epIVU=; b=hU53gniBhSXrIRB4Sy+mJuDJaQVkrZaSyb67BunLiikgbWVD4nzviz3KqfciSsVh2XT5sL u97z4e7Bqt5PI5bQuK9H55nmR+rdVJRb9iuGl1+JTj3bj23Xv1zySKyutLpAKRgh/R6mVv 3xFYFBer59dQYuNtdqE54BO1yoYX33jg5nA9vZe+SUdYkwLE7awWngNsY/0vQMUjr3bqoY gMGWC3I/PhOMZp2M5JKKC3PowGVeOmnEdeunMZ2U4kghOv6qoMEemxzJVtNr8ipoRLYxDE MTWkHU4fpL9vbJOC+aKGEj0kJPODkrUanCBZD1PgVv2xKeuWSeeZyn5zYNo3dQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676003879; a=rsa-sha256; cv=none; b=o8thDppobFbgN9ddwjEOzrx565Mtms6ATORlBKVDpqGld8afrzKkQ+6LiEpl6hRjdmru3c cbayzRCgCCERy+e1dHk3LMBi0z7XzLVW6zN3enqPOJVflW/kotMuoyxyZrWdo9L84Q7oup A1W5zFZzMX69VjuuJ7n74SwLf4/UGL2sLMwtTUHAo13i3PTEhPzWc86jaEx3jqOWSiwGok CAhZsuWVKTRocBbrbL5az2QMapv5ayEOqpNkzpV/HKP8n7WtPMzHUi+VqqknkhhNOKJaVl 2I94CFo5BWMtrPLOfR6cxgok8WeumTKaP7Dv3519QQ69Mr2//F432rq8Z4xw1Q== 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 4PCgvq5ZTVz14Kl; Fri, 10 Feb 2023 04:37:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31A4bxIg074759; Fri, 10 Feb 2023 04:37:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31A4bxnR074758; Fri, 10 Feb 2023 04:37:59 GMT (envelope-from git) Date: Fri, 10 Feb 2023 04:37:59 GMT Message-Id: <202302100437.31A4bxnR074758@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 0a402ad2e6d6 - main - daemon: add long_opts List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 0a402ad2e6d6014ed8c622a90153f53b99c1b482 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=0a402ad2e6d6014ed8c622a90153f53b99c1b482 commit 0a402ad2e6d6014ed8c622a90153f53b99c1b482 Author: Ihor Antonov AuthorDate: 2023-02-10 04:36:07 +0000 Commit: Kyle Evans CommitDate: 2023-02-10 04:36:07 +0000 daemon: add long_opts Long options improve readability of scripts, makes code comprehension easier. This patch adds long options while preserving the existing CLI interface. Also --help/-h option is added. Reviewed by: allanjude, pauamma (both earlier versions), kevans Differential Revision: https://reviews.freebsd.org/D38244 --- usr.sbin/daemon/daemon.8 | 71 +++++++++++++++++++++---------------------- usr.sbin/daemon/daemon.c | 78 ++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 98 insertions(+), 51 deletions(-) diff --git a/usr.sbin/daemon/daemon.8 b/usr.sbin/daemon/daemon.8 index c4f20548d4a2..3b91b9b20f3d 100644 --- a/usr.sbin/daemon/daemon.8 +++ b/usr.sbin/daemon/daemon.8 @@ -57,10 +57,10 @@ log file. .Pp The options are as follows: .Bl -tag -width indent -.It Fl c +.It Fl c , Fl -change-dir Change the current working directory to the root .Pq Dq Pa / . -.It Fl f +.It Fl f , Fl -close-fds Redirect standard input, standard output and standard error to .Pa /dev/null . When this option is used together with any of the options related to file @@ -68,35 +68,35 @@ or syslog output, the standard file descriptors are first redirected to .Pa /dev/null , then stdout and/or stderr is redirected to a file or to syslog as specified by the other options. -.It Fl H +.It Fl H , Fl -sighup Close .Pa output_file and re-open it when signal SIGHUP is received, for interoperability with .Xr newsyslog 1 and similar log rotation / archival mechanisms. If -.Fl o +.Fl -output-file is not specified, this flag is ignored. -.It Fl S +.It Fl S , Fl -syslog Enable syslog output. This is implicitly applied if other syslog parameters are provided. The default values are daemon, notice, and daemon for facility, priority, and tag, respectively. -.It Fl o Ar output_file +.It Fl o , Fl -output-file Ar output_file Append output from the daemonized process to .Pa output_file . If the file does not exist, it is created with permissions 0600. When this option is used together with options -.Fl c +.Fl -change-dir and -.Fl H +.Fl -sighup the absolute path needs to be provided to ensure .Nm can re-open the file after a SIGHUP. -.It Fl m Ar output_mask +.It Fl m , Fl -output-mask Ar output_mask Redirect output from the child process stdout (1), stderr (2), or both (3). This value specifies what is sent to syslog and the log file. The default is 3. -.It Fl p Ar child_pidfile +.It Fl p , Fl -child-pidfile Ar child_pidfile Write the ID of the created process into the .Ar child_pidfile using the @@ -112,9 +112,9 @@ The owner is the user who runs the .Nm regardless of whether the -.Fl u +.Fl -user option is used or not. -.It Fl P Ar supervisor_pidfile +.It Fl P , Fl -supervisor-pidfile Ar supervisor_pidfile Write the ID of the .Nm process into the @@ -132,45 +132,46 @@ The owner is the user who runs the .Nm regardless of whether the -.Fl u +.Fl -user option is used or not. -.It Fl r +.It Fl r , Fl -restart Supervise and restart the program after a one-second delay if it has been terminated. -.It Fl R Ar restart_delay_seconds +.It Fl R , Fl -restart-delay Ar restart_delay_seconds Supervise and restart the program after the specified delay if it has been terminated. -.It Fl t Ar title +.It Fl t , Fl -title Ar title Set the title for the daemon process. The default is the daemonized invocation. -.It Fl u Ar user +.It Fl u , Fl -user Ar user Login name of the user to execute the program under. Requires adequate superuser privileges. -.It Fl s Ar syslog_priority +.It Fl s , Fl -syslog-priority Ar syslog_priority These priorities are accepted: emerg, alert, crit, err, warning, notice, info, and debug. The default is notice. -.It Fl l Ar syslog_facility +.It Fl l , Fl -syslog-facility Ar syslog_facility These facilities are accepted: auth, authpriv, console, cron, daemon, ftp, kern, lpr, mail, news, ntp, security, syslog, user, uucp, and local0, ..., local7. The default is daemon. -.It Fl T Ar syslog_tag +.It Fl T , Fl -syslog-tag Ar syslog_tag Set the tag which is appended to all syslog messages. The default is daemon. .El .Pp If any of the options -.Fl p , -.Fl P , -.Fl r , -.Fl o , -.Fl s , -.Fl T , -.Fl m , -.Fl S , +.Fl -child-pidfile , +.Fl -output-mask , +.Fl -restart , +.Fl -restart-delay , +.Fl -supervisor-pidfile , +.Fl -syslog , +.Fl -syslog-facility +.Fl -syslog-priority , +.Fl -syslog-tag , or -.Fl l +.Fl -output , are specified, the program is executed in a spawned child process. The .Nm @@ -187,21 +188,21 @@ If neither file or syslog output are selected, all output is redirected to the .Nm process and written to stdout. The -.Fl f +.Fl -close-fds option may be used to suppress the stdout output completely. .Pp The -.Fl P +.Fl -supervisor-pidfile option is useful combined with the -.Fl r +.Fl -restart option as .Ar supervisor_pidfile contains the ID of the supervisor not the child. This is especially important if you use -.Fl r +.Fl -restart in an rc script as the -.Fl p +.Fl -child-pidfile option will give you the child's ID to signal when you attempt to stop the service, causing .Nm @@ -229,7 +230,7 @@ cannot be opened for appending, and otherwise 0. If the command cannot be executed, an error message is printed to standard error. The exact behavior depends on the logging parameters and the -.Fl f +.Fl -close-fds flag. .Sh SEE ALSO .Xr nohup 1 , diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index e8cdaa230caa..edcdf3141fcc 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -77,11 +78,64 @@ static void open_pid_files(const char *, const char *, struct pidfh **, struct pidfh **); static void do_output(const unsigned char *, size_t, struct log_params *); static void daemon_sleep(time_t, long); -static void usage(void); static volatile sig_atomic_t terminate = 0, child_gone = 0, pid = 0, do_log_reopen = 0; +static const char shortopts[] = "+cfHSp:P:ru:o:s:l:t:m:R:T:h"; + +static const struct option longopts[] = { + { "change-dir", no_argument, NULL, 'c' }, + { "close-fds", no_argument, NULL, 'f' }, + { "sighup", no_argument, NULL, 'H' }, + { "syslog", no_argument, NULL, 'S' }, + { "output-file", required_argument, NULL, 'o' }, + { "output-mask", required_argument, NULL, 'm' }, + { "child-pidfile", required_argument, NULL, 'p' }, + { "supervisor-pidfile", required_argument, NULL, 'P' }, + { "restart", no_argument, NULL, 'r' }, + { "restart-delay", required_argument, NULL, 'R' }, + { "title", required_argument, NULL, 't' }, + { "user", required_argument, NULL, 'u' }, + { "syslog-priority", required_argument, NULL, 's' }, + { "syslog-facility", required_argument, NULL, 'l' }, + { "syslog-tag", required_argument, NULL, 'T' }, + { "help", no_argument, NULL, 'h' }, + { NULL, 0, NULL, 0 } +}; + +static _Noreturn void +usage(int exitcode) +{ + (void)fprintf(stderr, + "usage: daemon [-cfHrS] [-p child_pidfile] [-P supervisor_pidfile]\n" + " [-u user] [-o output_file] [-t title]\n" + " [-l syslog_facility] [-s syslog_priority]\n" + " [-T syslog_tag] [-m output_mask] [-R restart_delay_secs]\n" + "command arguments ...\n"); + + (void)fprintf(stderr, + " --change-dir -c Change the current working directory to root\n" + " --close-fds -f Set stdin, stdout, stderr to /dev/null\n" + " --sighup -H Close and re-open output file on SIGHUP\n" + " --syslog -S Send output to syslog\n" + " --output-file -o Append output of the child process to file\n" + " --output-mask -m What to send to syslog/file\n" + " 1=stdout, 2=stderr, 3=both\n" + " --child-pidfile -p Write PID of the child process to file\n" + " --supervisor-pidfile -P Write PID of the supervisor process to file\n" + " --restart -r Restart child if it terminates (1 sec delay)\n" + " --restart-delay -R Restart child if it terminates after N sec\n" + " --title -t Set the title of the supervisor process\n" + " --user -u <user> Drop privileges, run as given user\n" + " --syslog-priority -s <prio> Set syslog priority\n" + " --syslog-facility -l <flty> Set syslog facility\n" + " --syslog-tag -T <tag> Set syslog tag\n" + " --help -h Show this help\n"); + + exit(exitcode); +} + int main(int argc, char *argv[]) { @@ -106,7 +160,7 @@ main(int argc, char *argv[]) log_reopen = 0; outfn = NULL; title = NULL; - while ((ch = getopt(argc, argv, "cfHSp:P:ru:o:s:l:t:l:m:R:T:")) != -1) { + while ((ch = getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { switch (ch) { case 'c': nochdir = 0; @@ -164,15 +218,18 @@ main(int argc, char *argv[]) case 'u': user = optarg; break; + case 'h': + usage(0); + __builtin_unreachable(); default: - usage(); + usage(1); } } argc -= optind; argv += optind; if (argc == 0) - usage(); + usage(1); if (!title) title = argv[0]; @@ -182,7 +239,7 @@ main(int argc, char *argv[]) if (outfd == -1) err(7, "open"); } - + if (dosyslog) openlog(logtag, LOG_PID | LOG_NDELAY, logfac); @@ -610,14 +667,3 @@ reopen_log(struct log_params *lpp) lpp->outfd = outfd; } -static void -usage(void) -{ - (void)fprintf(stderr, - "usage: daemon [-cfHrS] [-p child_pidfile] [-P supervisor_pidfile]\n" - " [-u user] [-o output_file] [-t title]\n" - " [-l syslog_facility] [-s syslog_priority]\n" - " [-T syslog_tag] [-m output_mask] [-R restart_delay_secs]\n" - "command arguments ...\n"); - exit(1); -} From nobody Fri Feb 10 15:28:09 2023 X-Original-To: dev-commits-src-main@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 4PCyL32TKdz3ncgS; Fri, 10 Feb 2023 15:28:11 +0000 (UTC) (envelope-from mhorne@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCyL31RgPz4Q0f; Fri, 10 Feb 2023 15:28:11 +0000 (UTC) (envelope-from mhorne@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676042891; 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: in-reply-to:in-reply-to:references:references; bh=gClgrssH9bYHkx0eu5eznQegeGHjfzSgPH1COHPCxRc=; b=gfuEPEIeEBqw2ncHXMX+iU7n9w/DBQ4aF/TH1F8c/5nzj2Q8Mg7wwhtZTgTZ/lmWEGYLor azoW4dp4ITqX7QCxF8+/R19eLth2mIXXaIWnUwgSQ5SjoywjwJ7cxaZ31nKOhKUZnACAyV XYqgK44d36e69SoCVJRsQ5gsfPbFCSUay585lbhHrsMk8v3w61CZiDbKpXVBzh+I1+urFs oVRURwKd83+WDgpK8OoI4sqq1zeHmiP6LXKP41Nq6qzEZkLyE4tPWlOQnk0Yuzs41Ma6vG 1EgQ+gWL39MZ0CQqBKWegHYTTUT4Zr6rx9jJ29XJq0NQlznyK/6bRmula5ZZdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676042891; 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: in-reply-to:in-reply-to:references:references; bh=gClgrssH9bYHkx0eu5eznQegeGHjfzSgPH1COHPCxRc=; b=FlTWMuGy4TPbMgCbjmGQfdcnHQKEEc6s/hMBg8g0oeT5pVUzMFeGEPhrPuVFFiL9C4ahkj FyY3Z9MWfsBFkw6zkXB3yCwX72yiDkTHFCW/41RU8sMMlMVkKBGzVgZsiRLye/gk4k0cDN cgrXaArJPB8+H6W/yNGIWtZQhSD7z1VQC1r4YzOLpzj1VZPAxnvGufXFNXFmIEjsP3FGu6 4MqkzrRu0DJZWk0VESlYgjOl8/vC1NRSdPS0tw7i0cEVfUzlFWR+w4kCOiKec4fmH/jTX3 0k06f4bPMIuztqlFYb7nccP5dfJgxToPG8K9Zs6VXz85BvXsXruIF47T2Uc71Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676042891; a=rsa-sha256; cv=none; b=ei1H4SgiW3b/JPHshm4uThzIbCEQ0FdnQalY7JKu6YaC7ze6SSgkRxffW/1TUm8BcFkwqO YrC43ZiBYNmwHG9x08Cq9mF4x8zes9p6f3Ss0RCz14yHfz+O0OZVZ9oPZEmq7KiBiVbQbP AnqouGCfIl/xsCmM7JCxGqcfcwGiOndv0KAf+Tjc2M4zkxegy/+ttrdnTauc89SDkFfzXZ QZdFNAEytuHlwr/sMAMWzxgqNvwckrLaeH3ADDXiN/7yIvC9Hqx/LVnZNEkq4aENL/OY00 ZZCz6Jp5Axe8iVIPFIM81j2RZjazQVeDawejKkB1wPbWTt7CeeXDV6ZvnQ2/Zg== Received: from [192.168.1.151] (host-173-212-76-127.public.eastlink.ca [173.212.76.127]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: mhorne) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PCyL25hT4ztqx; Fri, 10 Feb 2023 15:28:10 +0000 (UTC) (envelope-from mhorne@freebsd.org) Message-ID: <69b2594c-6332-5169-50ec-de35fcce0fb6@freebsd.org> Date: Fri, 10 Feb 2023 11:28:09 -0400 List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: git: f9bdaab95ec4 - main - ofwbus: remove handling of resources from ofwbus To: John Baldwin <jhb@FreeBSD.org>, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202302082052.318KqNUL052449@gitrepo.freebsd.org> <195e5cd0-e2cf-14d4-07d4-f368ab1a5f59@FreeBSD.org> Content-Language: en-CA From: Mitchell Horne <mhorne@freebsd.org> In-Reply-To: <195e5cd0-e2cf-14d4-07d4-f368ab1a5f59@FreeBSD.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ThisMailContainsUnwantedMimeParts: N On 2/9/23 13:42, John Baldwin wrote: > On 2/8/23 12:52 PM, Mitchell Horne wrote: >> The branch main has been updated by mhorne: >> >> URL: >> https://cgit.FreeBSD.org/src/commit/?id=f9bdaab95ec469738fbfc1f0edd3e8c744b7f71f >> >> commit f9bdaab95ec469738fbfc1f0edd3e8c744b7f71f >> Author:     Elliott Mitchell <ehem+freebsd@m5p.com> >> AuthorDate: 2023-02-08 20:17:03 +0000 >> Commit:     Mitchell Horne <mhorne@FreeBSD.org> >> CommitDate: 2023-02-08 20:50:46 +0000 >> >>      ofwbus: remove handling of resources from ofwbus >>      The architecture nexus should handle allocation and release of >> memory and >>      interrupts. This is to ensure that system-wide resources such as >> these >>      are available to all devices, not just children of ofwbus0. >>      On powerpc this moves the ownership of these resources up one level, >>      from ofwbus0 to nexus0. Other architectures already have the >> required >>      logic in their nexus implementation, so this eliminates the >> duplication >>      of resources. An implementation of nexus_adjust_resource() is >> added for >>      arm, arm64, and riscv. >>      As noted by ian@ in the review, resource handling was the main >> bit of >>      logic distinguishing ofwbus from simplebus. With some attention to >>      detail, it should be possible to merge the two in the future. >>      Co-authored by: mhorne >>      MFC after:      1 month >>      Differential Revision: https://reviews.freebsd.org/D30554 > > Thanks!  I actually had an earlier version of this but hadn't managed to > get it > tested on powerpc.  I had it as part of a branch to cleanup > bus_activate_resource > methods across various architectures whcih I will now rebase and try to > finish > up. > > If you are curious: > https://github.com/freebsd/freebsd-src/compare/main...bsdjhb:freebsd:bus_map_resource_more > Hey, very nice. I definitely saw a lot of cleanup potential and it seems like your branch does a lot in that respect. I have a couple of follow-ups in the area, so I will get those up into phab shortly. Mitchell From nobody Fri Feb 10 16:09:37 2023 X-Original-To: dev-commits-src-main@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 4PCzFs3FTKz3pCV7; Fri, 10 Feb 2023 16:09:37 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PCzFs2Zl0z4VB8; Fri, 10 Feb 2023 16:09:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676045377; 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=CrI/K4YCsE0TgKbe2tESsc/FY/HUCmNHqNwiI2PBJjE=; b=CUyPueW10pxSgFsra+kgewygX79q4sTV1Hrl4BEBjlxz/sVxnDe+9MHCZ79annsbv6atsu ttX5e3nm1y/Pe0g23A73/YWbnjRemfkTLtORFIvDKKqBOqRbENcttRgY+2Wd35NjvBOhs2 23VGFYwezAGNNKvOcjvWMNNn/hXdN2Rc7Mx7X8FQ//+l4pV715a2ZUm8SSsDD88f6NRynk utU+lIiPbbunJmi8hp/pm8alnbJqFHZyQURSmpB6F92xITkqTy5UebAy4vEf/LqfITzoNB nfk26ay9W397y2+1esmuaUwZ9hPEWNBs204iXuI5VLyF9hMNzgJSLfFxWGwnFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676045377; 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=CrI/K4YCsE0TgKbe2tESsc/FY/HUCmNHqNwiI2PBJjE=; b=VbtIdubXSi5d4NOkHpMkG8zcki3IkYTRi6j4UevjDABJKQ3m0pzV9qG1qdxHSGsdiGIs9Z 1QwySysHCWQ3OqQEGArp+TA+lfh/LB0QJydAVfMbKFXJbAvI3iYbuFkmHeFF+VX7vAgJGu gRDhNNglVfAsxHJEXhTBzBoeyqOZaTPKz3Bm97GhkJq/LO3PFa8t44BE9hgttigHeGEhst vsNWDnnQRroRvP+y3WckBvkVmCGyiVw9Kv9SmFgaIeLvG0HIBnablAW6eYoV4ECki7sOAC vPn20d1DMC40TUTSjv21BjE4Tr5DHazMmAfU1WjGsWeu83OA+EDnIrDY58n8dQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676045377; a=rsa-sha256; cv=none; b=G2xeaVUEuw/4aYcJbomkbTvKaahKSYz6UCo2tS9HvVqMkcKHgNuXEZadSUC+5044N0ekhH FnmR4EJDjEaNxN6c6AaxWPfyzD+UHntql1cKIv4uNejVct4AqwhgjwPzUDYW056Eb6b9/u MnFUsOqYeXjk4k9iI6gXLm4gzj3oVG4YV+OMk0cA4ZDk9chAOfQMoqshAuhPFP/jpjLeHm I/WssPmQzsVdK0Di0xC6COwR/n8EAUlAHSYus5R4x+IDzI32GLsLpJAxbqP7Iz2uUrAncT NnBnOkUsYTHT+v6KS8ZVNhphEXedv2TIQsRn1Laee/CvvmX3Q1zltv1EO5mpHw== 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 4PCzFs1TPhzPCs; Fri, 10 Feb 2023 16:09:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31AG9bH9058851; Fri, 10 Feb 2023 16:09:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31AG9b5V058850; Fri, 10 Feb 2023 16:09:37 GMT (envelope-from git) Date: Fri, 10 Feb 2023 16:09:37 GMT Message-Id: <202302101609.31AG9b5V058850@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mariusz Zaborski <oshogbo@FreeBSD.org> Subject: git: 346483b1f104 - main - ahci: increase timout List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: oshogbo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 346483b1f10454c5617a25d5e136829f60fb1184 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by oshogbo: URL: https://cgit.FreeBSD.org/src/commit/?id=346483b1f10454c5617a25d5e136829f60fb1184 commit 346483b1f10454c5617a25d5e136829f60fb1184 Author: Mariusz Zaborski <oshogbo@FreeBSD.org> AuthorDate: 2023-02-10 15:56:04 +0000 Commit: Mariusz Zaborski <oshogbo@FreeBSD.org> CommitDate: 2023-02-10 16:10:04 +0000 ahci: increase timout For some devices, like Marvell 88SE9230, it takes more time to connect to the device. This patch introduces a special flag that extends the timeout from around 100ms to around 500ms. This change is based on the work of: Peter Eriksson <pen@lysator.liu.se> PR: 243401 Reviewed by: imp Tested by: dch MFC after: 3 days Sponsored by: Equinix Sponsored by: SkunkWerks, GmbH Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D38413 --- sys/dev/ahci/ahci.c | 12 ++++++++---- sys/dev/ahci/ahci.h | 4 +++- sys/dev/ahci/ahci_pci.c | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/sys/dev/ahci/ahci.c b/sys/dev/ahci/ahci.c index 821ef756c9ba..9a07636b01f1 100644 --- a/sys/dev/ahci/ahci.c +++ b/sys/dev/ahci/ahci.c @@ -2605,10 +2605,14 @@ static int ahci_sata_connect(struct ahci_channel *ch) { u_int32_t status; - int timeout, found = 0; + int timeout, timeoutslot, found = 0; - /* Wait up to 100ms for "connect well" */ - for (timeout = 0; timeout < 1000 ; timeout++) { + /* + * Wait for "connect well", up to 100ms by default and + * up to 500ms for devices with the SLOWDEV quirk. + */ + timeoutslot = ((ch->quirks & AHCI_Q_SLOWDEV) ? 5000 : 1000); + for (timeout = 0; timeout < timeoutslot; timeout++) { status = ATA_INL(ch->r_mem, AHCI_P_SSTS); if ((status & ATA_SS_DET_MASK) != ATA_SS_DET_NO_DEVICE) found = 1; @@ -2627,7 +2631,7 @@ ahci_sata_connect(struct ahci_channel *ch) break; DELAY(100); } - if (timeout >= 1000 || !found) { + if (timeout >= timeoutslot || !found) { if (bootverbose) { device_printf(ch->dev, "SATA connect timeout time=%dus status=%08x\n", diff --git a/sys/dev/ahci/ahci.h b/sys/dev/ahci/ahci.h index ae068d11ce4b..7f006ea031ca 100644 --- a/sys/dev/ahci/ahci.h +++ b/sys/dev/ahci/ahci.h @@ -621,6 +621,7 @@ enum ahci_err_type { #define AHCI_Q_NOCCS 0x00400000 #define AHCI_Q_NOAUX 0x00800000 #define AHCI_Q_IOMMU_BUSWIDE 0x01000000 +#define AHCI_Q_SLOWDEV 0x02000000 #define AHCI_Q_BIT_STRING \ "\020" \ @@ -648,7 +649,8 @@ enum ahci_err_type { "\026MRVL_SR_DEL" \ "\027NOCCS" \ "\030NOAUX" \ - "\031IOMMU_BUSWIDE" + "\031IOMMU_BUSWIDE" \ + "\032SLOWDEV" int ahci_attach(device_t dev); int ahci_detach(device_t dev); diff --git a/sys/dev/ahci/ahci_pci.c b/sys/dev/ahci/ahci_pci.c index 5bccb0dd914d..51bbe6e5cbe3 100644 --- a/sys/dev/ahci/ahci_pci.c +++ b/sys/dev/ahci/ahci_pci.c @@ -293,7 +293,7 @@ static const struct { {0x92201b4b, 0x00, "Marvell 88SE9220", AHCI_Q_ALTSIG | AHCI_Q_IOMMU_BUSWIDE}, {0x92301b4b, 0x00, "Marvell 88SE9230", AHCI_Q_ALTSIG | - AHCI_Q_IOMMU_BUSWIDE}, + AHCI_Q_IOMMU_BUSWIDE | AHCI_Q_SLOWDEV}, {0x92351b4b, 0x00, "Marvell 88SE9235", 0}, {0x06201103, 0x00, "HighPoint RocketRAID 620", 0}, {0x06201b4b, 0x00, "HighPoint RocketRAID 620", 0}, From nobody Fri Feb 10 17:19:59 2023 X-Original-To: dev-commits-src-main@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 4PD0q42D94z3pdwM; Fri, 10 Feb 2023 17:20: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PD0q41kH6z3Dwg; Fri, 10 Feb 2023 17:20:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676049600; 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=hRcqjndOXoOPCin6WPA3EQG6VkLNFExDK+0SPubLT0w=; b=Tk7CDryo9191wrrb55bEDxigEXC52qN5nMC+vHTud/j7gvTxIlgu21RqcZiAX1gC+NmjAL C/nsxTdSVsn7R7W9NiupNV0Ec2cnVDNQEtUK9XX36twc86W7/yRfRdPHVCglAwB+MojDpd OquxyTDdQ+21iLt6efWGA69D4YFuQih51btt9LSC64jXeIioaqdZ2IGl7tIMp78DLyXKUB TiCTo6ujOVhFJKXyjxAp6xoXoTHlGz+dR4NHkw7HHS1KcEGc4VJ1aDGznt+yxogkAfkVDq 6BTVNj3oINtpCD9/7sGHSeRDDcLrMLEdqE3sbKUPYah82GlHpKinyRj53Kbe9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676049600; 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=hRcqjndOXoOPCin6WPA3EQG6VkLNFExDK+0SPubLT0w=; b=y30JUrVJ11e0MqYo1dLjlkOXYFPXsAkz6Ztd/tvJC/PS6+8rQk92M1C+HnVWCqCOWSvK1k E2SJg3sm10cxy5JK/OZOJDG6ex1aCTJWQP1WP6yW2JSqS3bPNNwvOn3wni/6HE6Yww5V3b MYrLE1JfVhHhlA2pbZE0N3B7ULsRU2ogtBa8nBzKOj3FinL7p8p1Fre5CyPTou37cFks5i IE65QqU+N3ZXSJlLJC0KAPQibZ0dA1WI21YvqASpBla7PR1wuZIIvl8Tm+4GaVrzor5FeV l6RDsJ5/BMfRNVaYTPn+FwXxyC6VP9N9jWqZr4tafTgM3biC0uGKQMypYBBmvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676049600; a=rsa-sha256; cv=none; b=KJ9gWaxJi5j4i9gv0Kf2IayvCKdKfs5M1bZDNSU72Vt3m5GuzRmz4D6FCqtHRAWC4wpN/K RpzMwGuZYb0jwpls6N4U+j/MdgXsTsLBF9G3n8LkVFevBY5wNmlL09qd7NRbQOm9KyJMSB ml/tMrPpWaXfhKQH9mlzN9zRXs972FjL+rVB+r2mZ4EQpCahZgUX6GrM9We6kQ/YtsTNB9 3L3D1YL0k2DP4IiKB1urULDocCly0lpkNExySJMw/7MEh2giaSXMzxCtueukCaDkgoWqSN 4fnaw8UfC5ciY6pzhPDHe5e1wPpVvhv9HRXyfME0qJH7Ti1BdAsY8DkC+lIwUw== 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 4PD0q40gPMzR51; Fri, 10 Feb 2023 17:20:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31AHJxCG059477; Fri, 10 Feb 2023 17:19:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31AHJxJV059476; Fri, 10 Feb 2023 17:19:59 GMT (envelope-from git) Date: Fri, 10 Feb 2023 17:19:59 GMT Message-Id: <202302101719.31AHJxJV059476@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= <des@FreeBSD.org> Subject: git: af0435e16bab - main - tarfs: Fix deadlock between descent and ascent in tarfs_lookup(). List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: af0435e16bab8d6afb7760dcdcc5344efd10c844 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=af0435e16bab8d6afb7760dcdcc5344efd10c844 commit af0435e16bab8d6afb7760dcdcc5344efd10c844 Author: Dag-Erling Smørgrav <des@FreeBSD.org> AuthorDate: 2023-02-10 17:19:45 +0000 Commit: Dag-Erling Smørgrav <des@FreeBSD.org> CommitDate: 2023-02-10 17:19:45 +0000 tarfs: Fix deadlock between descent and ascent in tarfs_lookup(). Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D38486 --- sys/fs/tarfs/tarfs_vnops.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/fs/tarfs/tarfs_vnops.c b/sys/fs/tarfs/tarfs_vnops.c index 99ff39d41271..7a04f891350e 100644 --- a/sys/fs/tarfs/tarfs_vnops.c +++ b/sys/fs/tarfs/tarfs_vnops.c @@ -165,6 +165,7 @@ tarfs_getattr(struct vop_getattr_args *ap) static int tarfs_lookup(struct vop_cachedlookup_args *ap) { + struct tarfs_mount *tmp; struct tarfs_node *dirnode, *parent, *tnp; struct componentname *cnp; struct vnode *dvp, **vpp; @@ -180,6 +181,7 @@ tarfs_lookup(struct vop_cachedlookup_args *ap) *vpp = NULLVP; dirnode = VP_TO_TARFS_NODE(dvp); parent = dirnode->parent; + tmp = dirnode->tmp; tnp = NULL; TARFS_DPF(LOOKUP, "%s(%p=%s, %.*s)\n", __func__, @@ -228,7 +230,7 @@ tarfs_lookup(struct vop_cachedlookup_args *ap) (tnp->type != VDIR && tnp->type != VLNK)) return (ENOTDIR); - error = vn_vget_ino(dvp, tnp->ino, cnp->cn_lkflags, vpp); + error = VFS_VGET(tmp->vfs, tnp->ino, cnp->cn_lkflags, vpp); if (error != 0) return (error); } From nobody Fri Feb 10 18:31:00 2023 X-Original-To: dev-commits-src-main@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 4PD2P04sWTz3pnhx; Fri, 10 Feb 2023 18:31: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PD2P04K73z3Lck; Fri, 10 Feb 2023 18:31:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676053860; 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=sRd55fGKPr6OFqDlnRrK9pSqLjVMrWJ1kTBbsvgiSXY=; b=Ixkj8Pr4tfSkMiLwabVmHLdgxQ2CwX3g/ypUyCgcgdZ3nglGp4gCvZicgw9h982mb6J16X ubBXVVMOf/ABdb0BsSsNr6kjJjTasSI3sxUkzOg6LqTPm2RySRuV4hnFo27RH4xA6yLKCo h7X7t6AkyIapxnJctBTJUTdXjsoowMm38fWKGF1XP7SNXiUcr9re6MCIW8uqE7TJ8ckmFt UPpBJOevz+xIdL29r9Xfepvru7UaZ8A3dKvijzPj/2mRuMDnMPM5+yDmZZyn4Y6DUJ9TQs OwyZkVKGvdWXCmpIQHu3gFp5Kza0lrTGgQOzCl3l29uoRmXmP3eWn9ll7CA6ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676053860; 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=sRd55fGKPr6OFqDlnRrK9pSqLjVMrWJ1kTBbsvgiSXY=; b=dIIo3WSZsPPrCK9sn0tyXQ43uoTDZj2IYqWl/cDYTlCTQAoXUIAk3aFO1hUiMtgDKr6MpV z4ZovBDnLQ8VDFoIVEd2wGQsQRVJGYHiMALe+sFQfzIHgJsYOZ8YPVSbjN2KKNjYMPjapc QfooPZE7Jw0HqIHVDg32/qJJMwwZJivrQ0cZ/gGv3ZoroT4EqtaaZVBzn1FCCgzzxI0Skm UQajMqFgYUt7nofL92WMfBmzyzRcILAybg9QOokEl1QMBi3NSP+jdo7GLiwgAmXsUi31uh wch0Kfv1a0DzSX0yty1SMqSkp+qcd9zDSBCgRnPE+z1kKCjiZiW+XzucxBAqvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676053860; a=rsa-sha256; cv=none; b=bwsCXCLDchHtbARHfbyoLBvnlowx3n2yTsr9Tp+6ktHN1Jx4pbvoRw1NbFIUdQZEK+kX5T 2m2RaP3vxuoGF+4I1AAk3XZQXT259oDbVl+vACx+HTZi6TNS4u1NLdS4e4iDdaLjYbvQIn sAomQxHFwxbGgT+2CVYk8jE2DLRIpXAXjw+kPnolq2rA1f8LQ8D0ffju2qUP+rUHAteQyC MoE9aOuTdPOGMM4jT98BJbj+quce5Uej//vpOtHD66N1EJzAvPvL+XLij5LFfNOyUSFiK7 H8zR2SMvgUrg9SIRsfDUFHt6tz0z66hZQedw0ZudedxIQS2Iji9IhUT3c1b44A== 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 4PD2P03PrLzSqD; Fri, 10 Feb 2023 18:31:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31AIV0mq067885; Fri, 10 Feb 2023 18:31:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31AIV0tm067884; Fri, 10 Feb 2023 18:31:00 GMT (envelope-from git) Date: Fri, 10 Feb 2023 18:31:00 GMT Message-Id: <202302101831.31AIV0tm067884@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jung-uk Kim <jkim@FreeBSD.org> Subject: git: 47131a3278f3 - main - cxgbe: fix module loading List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jkim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 47131a3278f328f437bcd45ac4db926118cdd03f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jkim: URL: https://cgit.FreeBSD.org/src/commit/?id=47131a3278f328f437bcd45ac4db926118cdd03f commit 47131a3278f328f437bcd45ac4db926118cdd03f Author: Jung-uk Kim <jkim@FreeBSD.org> AuthorDate: 2023-02-10 18:27:20 +0000 Commit: Jung-uk Kim <jkim@FreeBSD.org> CommitDate: 2023-02-10 18:27:20 +0000 cxgbe: fix module loading After c03414326909, if_cxgbe.ko fails to load if crypto is not compiled in kernel, e.g., MINIMAL. link_elf_obj: symbol hmac_init_ipad undefined linker_load_file: /boot/kernel/if_cxgbe.ko - unsupported file type kldload: an error occurred while loading module if_cxgbe. Please check dmesg(8) for more details. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D38482 --- sys/dev/cxgbe/t4_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index b854da46b146..33d372f575d0 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -13240,6 +13240,7 @@ MODULE_DEPEND(t5nex, netmap, 1, 1, 1); DRIVER_MODULE(t6nex, pci, t6_driver, mod_event, 0); MODULE_VERSION(t6nex, 1); +MODULE_DEPEND(t6nex, crypto, 1, 1, 1); MODULE_DEPEND(t6nex, firmware, 1, 1, 1); #ifdef DEV_NETMAP MODULE_DEPEND(t6nex, netmap, 1, 1, 1); From nobody Fri Feb 10 19:10:56 2023 X-Original-To: dev-commits-src-main@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 4PD3H509PGz3pskR; Fri, 10 Feb 2023 19:10: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PD3H46pYxz3Qxp; Fri, 10 Feb 2023 19:10:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676056257; 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=fvjzjKoNf9wtiAH7M2xAYio2dM5+xO4MogSa8/IjoLI=; b=E4CbWL4RbxDH8Csd/fQjQZM02pVEToAeGnR1BOTlf1eG+a0DNtoiEUoUntfeyqR65RS9PE ITMgpSYT58GCMqigMKQiHLkdiIywhUiY3Wi90LS9kvC/HtLkH3FFo/98CqKgmWy990W4Fj t/udZL7reMmOkbvdD/gDQS8WzbnAEtzIvg2NEIFTJsM/N9AftQ7yKcnsS9UHCBFaZN7nMf E/LXazFlTdkO+M9IaV2MEJnfoZVLgPgt+pzLffHBERz+TxFITmaYiJqDnix/0bBcfuEQGw rVCi6w5ZhUE2fxUxNPpVwf6yp7xKZ7Ol89DUMFY+PfrHLhgafzv6FDR7xs3j/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676056257; 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=fvjzjKoNf9wtiAH7M2xAYio2dM5+xO4MogSa8/IjoLI=; b=otKyj6U5xlQxBymN5MoC73LsvDmaNIccHZRBJprNgk7/fbLhz3DI9OUz9hdw//YjvuHGMr bjKxVesAwQq0Fh9jCJynZrCMeElKGaMMG+CzK62cr5aI8rcrB3TpYl/jh80ySB/d9iZUYs g0EdpolXyqSY3QCncZClIrlfGzfV9vvCPEVSrdi/Fw3ikxm1W4Fy92Of9Xn8+HSEvBLKeI PaKJpv3KmkPuar6YUvH3uKoDVsXijktpEMXPtbcQWSWpqpmG72IRhVnsVBe8DnCT3JwVG4 pE3jF0U57r/yhLcu41LpNbTyI7/xpW5n4NpFM3w5Tko+b5sIQLZ23KNljV/msQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676056257; a=rsa-sha256; cv=none; b=qOn0mYXGEQ2O2g9S6l21SXBEsNxkWaMg3Ok0ObCWz09XE2CreTf1eLv+BD49KsyXegdhXu Z7AKQCFKjpVSI8t8feNNE/hpNS0V+0U7YMAxcwdhlI/0I1QqitnmJssirvLjBvXdLzx9yO Q1FUhHHm2g+i9uuu36PP7hnA6ytG9mIgPC38sfIt5P5JTJMapeneQ9PJ92oZ/5yH+yeKdf mlBLOe+S4/14ASaKlVtqZVHL8+yzqfH2R+qzIBJJRqDiTiMFxsjqYeb/512VKnvUQOgv/q dJOvfr0GZSI9ihBttLwBKX/d1m3lCz32n6vy5PNYXzOALTvkQhhoda8a4I80aA== 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 4PD3H45tQmzVBd; Fri, 10 Feb 2023 19:10:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31AJAujL026332; Fri, 10 Feb 2023 19:10:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31AJAuhk026331; Fri, 10 Feb 2023 19:10:56 GMT (envelope-from git) Date: Fri, 10 Feb 2023 19:10:56 GMT Message-Id: <202302101910.31AJAuhk026331@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric <dim@FreeBSD.org> Subject: git: 1329d49440e9 - main - Add libclang_rt files for powerpc64le to ObsoleteFiles.inc List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 1329d49440e9b5111431e57964f28df5539f572a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=1329d49440e9b5111431e57964f28df5539f572a commit 1329d49440e9b5111431e57964f28df5539f572a Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2023-02-10 19:10:31 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2023-02-10 19:10:44 +0000 Add libclang_rt files for powerpc64le to ObsoleteFiles.inc Since f5024381ac16 we have also built and installed several clang runtime support libraries (for sanitizers) on powerpc64le, so add entries to properly clean these up when upgrading. Reported by: pkubaj PR: 269423 MFC after: 2 weeks --- ObsoleteFiles.inc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 61dee1d33dd4..59941a50b7d6 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -266,11 +266,14 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-i386.so OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-powerpc64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-powerpc64.so +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-powerpc64le.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-powerpc64le.so OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-preinit-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan-x86_64.so @@ -279,9 +282,11 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_cxx-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.asan_static-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.cfi-arm.a @@ -302,9 +307,11 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan_cxx-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan_cxx-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan_cxx-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.msan_cxx-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.profile-arm.a @@ -322,36 +329,43 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.stats_client-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan_cxx-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan_cxx-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-powerpc64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-arm.a @@ -359,14 +373,18 @@ OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-armhf.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-basic-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-fdr-x86_64.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-aarch64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-arm.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-armhf.a +OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-powerpc64le.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-profiling-x86_64.a OLD_FILES+=usr/lib/clang/14.0.5/lib/freebsd/libclang_rt.xray-x86_64.a OLD_DIRS+=usr/lib/clang/14.0.5/lib/freebsd From nobody Fri Feb 10 23:36:40 2023 X-Original-To: dev-commits-src-main@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 4PD99j226xz3nST8; Fri, 10 Feb 2023 23:36:41 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PD99j0ZRCz4DGP; Fri, 10 Feb 2023 23:36:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676072201; 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=Q1A8+G3FIIMRz600luY/onC+9P3gG6Roz+Th3Rbjh3Q=; b=q/so6H/qxsq6OGKdfzPpYE6Q88rmFSYSx3l2ojWNZv4cftGxPkz7mkyEKpE43QbSQdCJTL /LJfyhis51Q/h9I4yGP7hURqO4EtGdjlAXVEU/tbJTxWuZ5S+91SLiHSZJNNrG1k63lJsI IIugP1is1ti6mc6+B4y3s2nmaWAUr42BRxMgkeyxVxDY38t+XGNKe9vX/tLmGlpYFzf4vL wc7ZOkBL1uBtjrpYGl1X5xa0+c91qJmcBMRa+PT3WFlhwhM0h/sm3YA3kg7ZrKS9aL8DLg DRCSWUXz65h1PlbYbcSE0BaBAzU4Q9xNhgpiG4VePuwj9D+L3LSc4Ac7HBy0xQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676072201; 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=Q1A8+G3FIIMRz600luY/onC+9P3gG6Roz+Th3Rbjh3Q=; b=ZEqwuoqE51qzrcnBzzV4/VysX8CgCRyvgQ90/gMf+tSPVC1iBZtDyeUF38nIM7FHfzijEt DHuSh3dRZDnORVvh1RRR2q8OoXcMi3M+u+ZoN/1a5Kkpro6EIR36tTSpw9OgFvBzaAS8dk ZkeHO1KFKKwVTnMBEclf/q07eE1lyJ9p4SI+vRJyX9qW8Ws4P9zbmTWvPHKvnNavAZilmN Wo5RmE1GzxJJYvFAziJZywRUDJrUZf9DnqwLya0+oG3yqc5MW53dVZW2/uDGpeTklBM6bU olVLq5a/0YC3gbrYoSTYKJrC5pF9gb5Y9XTg+tCJSWRiHpOXClPQFckuWUdFFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676072201; a=rsa-sha256; cv=none; b=Q0yaE5OmeetW23kwPb5c4hg06EHhIBtSbg+9RvlwElgxYDBeP1Myxdjf69lg9HlKppp0W5 A1Su0gruP7LjFQNlB1Z0TFk2KAed+ofagrgGuhjpz2hbEhF0PuPwOt2jXrlmRJnte2qOcK Dm3Yoe6uQfDDnlvqb3zQCyEwXmT1XD7qiMsPhnzt0G01r/WKgcZUjTwkexS5gPbuTzafom P9x3fYwrS1J0aAnOH/2FxYNgpIYfpb12lgRs14GYErRG1WJVlKW3lqeVFnOsBCytEeH00k eqv6FTObIYd1hqWXLuznjNmUda+47RLEWV7+lP9dxmVplVCJ/lCwb5RengSNuQ== 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 4PD99h6mMwzcxp; Fri, 10 Feb 2023 23:36:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31ANaeQ4002326; Fri, 10 Feb 2023 23:36:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31ANaeme002325; Fri, 10 Feb 2023 23:36:40 GMT (envelope-from git) Date: Fri, 10 Feb 2023 23:36:40 GMT Message-Id: <202302102336.31ANaeme002325@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh <imp@FreeBSD.org> Subject: git: 58e1d0102241 - main - cdce: add to cdce.4 information about NCM network mode List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 58e1d01022415e29d3e08c4d3936b6631c27406c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=58e1d01022415e29d3e08c4d3936b6631c27406c commit 58e1d01022415e29d3e08c4d3936b6631c27406c Author: Michael Paepcke <git@paepcke.de> AuthorDate: 2023-02-10 19:43:09 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2023-02-10 23:28:34 +0000 cdce: add to cdce.4 information about NCM network mode add a new section how to use NCM network mode and specify the required kernel modules Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/646 --- share/man/man4/cdce.4 | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/share/man/man4/cdce.4 b/share/man/man4/cdce.4 index b27d89bc1639..99d04bd12d07 100644 --- a/share/man/man4/cdce.4 +++ b/share/man/man4/cdce.4 @@ -28,7 +28,7 @@ .\" $NetBSD: cdce.4,v 1.4 2004/12/08 18:35:56 peter Exp $ .\" $FreeBSD$ .\" -.Dd July 10, 2019 +.Dd February 10, 2023 .Dt CDCE 4 .Os .Sh NAME @@ -47,6 +47,13 @@ kernel configuration file: .Cd "device cdce" .Ed .Pp +Mobile Devices (eg. Huawei E3372, E5573 and others) +may need additionally the u3g command port: +.Bd -ragged -offset indent +.Cd "device ucom" +.Cd "device u3g" +.Ed +.Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : @@ -77,6 +84,13 @@ received and transmitted over separate USB bulk transfer endpoints. The .Nm driver does not support different media types or options. +.Pp +Mobile +.Nm +Network Devices may need a connect command sequence via u3g +serial command port before they activate the NCM/ECM/ACM network +interface. Example: echo 'AT^NDISUP=1,1,"internet"' > /dev/cuaU[0].0, +where "internet" is your providers apn name. .Sh HARDWARE The following devices are supported by the .Nm @@ -93,6 +107,8 @@ Terayon TJ-715 DOCSIS Cable Modem Realtek RTL8156 USB GBE/2.5G Ethernet Family Controller .It Planex USB-LAN2500R +.It +Huawei 3G/4G LTE (eg. E3372, E5573) and other mobile network devices .El .Sh DIAGNOSTICS .Bl -diag @@ -127,6 +143,8 @@ is running low on mbufs. .Xr netintro 4 , .Xr urndis 4 , .Xr usb 4 , +.Xr ucom 4 , +.Xr u3g 4 , .Xr ifconfig 8 .Rs .%T "Universal Serial Bus Class Definitions for Communication Devices" From nobody Fri Feb 10 23:36:41 2023 X-Original-To: dev-commits-src-main@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 4PD99k25fZz3nSYQ; Fri, 10 Feb 2023 23:36:42 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PD99k1KvPz4DJj; Fri, 10 Feb 2023 23:36:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676072202; 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=c5PXPhNmiiGKdEUpgjn9qjKbKvAHqj39GJL0HFt2m04=; b=Zuy4XHrRm5rPdEjiyZ6rZLQWqQ5Sc9PI0lF5gX1OQ1ntcapoJL9NKO32D96V2qeZOBu/Jz B6x+5e814U7ZCx2vgPtFCI9tsu16r6+binxAq/S11NySGlVl0pYCFkerfbvxoAhdQPgoOP xcPEzEnaPUXdPYweF/ahKzmHvE/kqmFsBrAzrRpG3CIfLg1wDCOoJWkuswvXBlR/Oq7N29 pt+54UgE3P8aZflaxizYGswOEgwaV8+zssgvfl7m0y4ro6aEWKtvnHVBKZ2TPJikiOaFyk pJBnYrgYynmxKDC47ocT5b6WgeNf00Z/I3x/wv2h/i0GTzSn8zeCPcgwDqB5JA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676072202; 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=c5PXPhNmiiGKdEUpgjn9qjKbKvAHqj39GJL0HFt2m04=; b=IsNHxVZRidRgkQoj81+wAODUWqNU5i8wVF5VXn67gn2MRbQdfmisQ9d341LRNqVpOY8wSD XFSoR1N8HojfBLptzZzfx7irXxEaGrzGVKgfrm7JpZJA0AirbO9Rw3eDMIqQViCgmAy+aY jkoQw/eiLeD8zka1I4RPrHrFko8VFHXR8VYxhA50coBO1O9QL4MVPZA1V3yujrwE7QX9wb r5iWUZcVZvLr3il0heX3XLFy/G32AvhTcrVhcbxGUuDx5DeAt0GD71R/2fvuK0KqHgxhsp wNV2Opg5oBCaZqt8grHn37XTdzPcNq6KXvkQVsloDSvuXzZynR7yMn0IEfJ1bQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676072202; a=rsa-sha256; cv=none; b=hfhrnyHdpNViUueax7qx7iWzCrBaDoe7i29oA7wOtUzbSXhVOTdc93dqUk3CBiEM1Nm6m7 KcnLZRJTcEfhbmT0KGk/BTmK7W/mVKt2zMSLOeyt9n5s7GViUfVVVY6QQT83E/O/lq7Epg OehemzWRsSa/JB7HK7flkRm2iPeaBNZBQaScQvR7vbpH7FGRqeThS7wUJjPonutwgNSdfn wI+Kc8cfkLlAwVqkfEIrlZ6780Hl24Bi7yEcVWzcema4cEDo5Ui+mdQdE/84adY9Z9M/Pc UWHJjfwP1aL0uNWMTbhPN6xTlmkUONi4VFkAWVVgOcGwsEAgOzg4vgBxwd/sHw== 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 4PD99k0L85zcY0; Fri, 10 Feb 2023 23:36:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31ANafpw002356; Fri, 10 Feb 2023 23:36:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31ANaf7h002355; Fri, 10 Feb 2023 23:36:41 GMT (envelope-from git) Date: Fri, 10 Feb 2023 23:36:41 GMT Message-Id: <202302102336.31ANaf7h002355@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh <imp@FreeBSD.org> Subject: git: 08ecb40e88a0 - main - u3g: add huawei device id List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 08ecb40e88a0d34cf6a177218a22f07431cadf3c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=08ecb40e88a0d34cf6a177218a22f07431cadf3c commit 08ecb40e88a0d34cf6a177218a22f07431cadf3c Author: Michael Paepcke <git@paepcke.de> AuthorDate: 2023-02-10 19:06:39 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2023-02-10 23:29:54 +0000 u3g: add huawei device id Add missing entry for E3372h Model already in NCM mode Noticed by: David BOYER Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/645 --- sys/dev/usb/serial/u3g.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/usb/serial/u3g.c b/sys/dev/usb/serial/u3g.c index 9554f30fcfdf..8bcc99d5c61d 100644 --- a/sys/dev/usb/serial/u3g.c +++ b/sys/dev/usb/serial/u3g.c @@ -342,6 +342,7 @@ static const STRUCT_USB_HOST_ID u3g_devs[] = { U3G_DEV(HUAWEI, ETS2055, U3GINIT_HUAWEI), U3G_DEV(HUAWEI, E3272_INIT, U3GINIT_HUAWEISCSI2), U3G_DEV(HUAWEI, E3272, 0), + U3G_DEV(HUAWEI, E3372_NCM, 0), U3G_DEV(HUAWEI, E3372_INIT, U3GINIT_HUAWEISCSI3), U3G_DEV(HUAWEI, E3372v153_INIT, U3GINIT_HUAWEISCSI2), U3G_DEV(HUAWEI, E3372v153_NCM, 0), From nobody Fri Feb 10 23:36:43 2023 X-Original-To: dev-commits-src-main@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 4PD99l2s7hz3nSkc; Fri, 10 Feb 2023 23:36: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PD99l2DcRz4Dg5; Fri, 10 Feb 2023 23:36:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676072203; 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=wHUScQEdO50P6MgqEgHHslCGzYATh9Vbes06Hc5vshA=; b=dmaAf/qiXw3xpC8ze6pIQz26otfbB08RQ+AYRrTReKVA1EvlVlbf+roEj1CR8KVe0gqHsm OCIcRtlbeKeYG6Z/X/oYba445OpXYQyYD119EyJ763MX5xvz+00TYKoug8SzodIsJYN8uz U0EoNyKX0OpULdhnqMepVICZox+cPBxgMhNza14jU/nl1IRU5lIphGQFfjR+EedY4wF0nA B+H3upgQaUu4wrnNAw8Nwe+KK3Tpp5G3JQ+lIJ5E/ahqSJxxxsF7PBiN9bhSVFTaliYeeR lPBVBgtE6E4F85T0VuQ7pkwiY3+2cDrY6bT8m84Tl5B16oVoWrnzypVpypMMIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676072203; 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=wHUScQEdO50P6MgqEgHHslCGzYATh9Vbes06Hc5vshA=; b=Q79eTboQTSQikBqfS+GmygNgx7eHa/xi3YwTKkXKVDvpowzLjcy8Lh8/g2FBn7KkoyR0Gs 96geTBWCMLoav/psMF9/Gfe7omnfakVM7+QHxc7pE0bNTOq8UlJwNyPNJ5Yons4/YjOhX9 /4Py5iVWSvrpKnXQHmiAKGgcpFaKhmPzlaITTKZuHtVpUi+RiHkYHilB/VCRJPo+lNX98r 8hjIC1slwd+7iUZtlkoRmZw2hEq2vE/+wD/Zh3Fu15WAuLaXeba0ZhNwW4Nu0smTVPdWTG EngRI//BAXPk71ilEdzel9iY0IhZW1Pf+UW4UZv25KJ+ZDV7IRyQK4FvoozRIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676072203; a=rsa-sha256; cv=none; b=nY/v2EZUGX+ds80NIS1XvXkteY4YyFq4K3CPj9D/ofFac6H+pg2MkFn6q4J4bAPXIaNMZ1 RVipYSzoes9oOnBbPdzWtfOdG8OahSA+dJ7vYyREsUCRNK1adrgO20j1SpyYrQCjs2oN2Z dzMTlgNPf0fZDpy8tb8KyuGZotZrWxWNtC+nMdI+IY5HtTsYMWC7iaSQzJH07Rs2yMW5KY 5arv6DRkpxFaQTHK/HPrhLKiMVrVKL78xBeUs9WPzDl/E2RcAQDh9CUURwPAdM2hB9Sq/R DUzjV0sy7dyxg+6MHXM90uA+b3UOPSCwLZ/FcYnXkUsRO2ARpJhsy5yD9Y3MBA== 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 4PD99l1HS5zcY1; Fri, 10 Feb 2023 23:36:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31ANahGd002381; Fri, 10 Feb 2023 23:36:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31ANahXH002380; Fri, 10 Feb 2023 23:36:43 GMT (envelope-from git) Date: Fri, 10 Feb 2023 23:36:43 GMT Message-Id: <202302102336.31ANahXH002380@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh <imp@FreeBSD.org> Subject: git: c92790b3fb9f - main - UPDATING: add UPDATING section for HUAWEI 3G/4G Devices change List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: c92790b3fb9fcb97c4cbf44d4faa859e95e3ada5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c92790b3fb9fcb97c4cbf44d4faa859e95e3ada5 commit c92790b3fb9fcb97c4cbf44d4faa859e95e3ada5 Author: Michael Paepcke <git@paepcke.de> AuthorDate: 2023-02-10 19:26:13 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2023-02-10 23:35:39 +0000 UPDATING: add UPDATING section for HUAWEI 3G/4G Devices change help users to migrate existing devices Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/645 --- UPDATING | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/UPDATING b/UPDATING index 069be7562516..a1a02a755713 100644 --- a/UPDATING +++ b/UPDATING @@ -32,6 +32,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 14.x IS SLOW: Administrators who wish to enable X11Forwarding should add `X11Forwarding yes` to /etc/ssh/sshd_config. +20230204: + Since commit 75d41cb6967 Huawei 3G/4G LTE Mobile Devices do not default + to ECM, but NCM mode and need u3g and ucom modules loaded. See cdce(4). + 20230130: As of commit 7c40e2d5f685, the dependency on netlink(4) has been added to the linux_common(4) module. Users relying on linux_common may need From nobody Sat Feb 11 03:36:00 2023 X-Original-To: dev-commits-src-main@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 4PDGTs0H8nz3pk4T; Sat, 11 Feb 2023 03:36: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PDGTr6pVmz3JVp; Sat, 11 Feb 2023 03:36:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676086561; 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=rCndJPVF/kDUvEWJdOp0gQqa2TyVabNZ2c3Evj9NvAo=; b=mR4C+KsFoJMSFjH5RlPMG50H5n86X328ZaWeW8vjeq6TwvxFZzZ2pmsh4tuOK4xbm7niv8 xSeGjSaSOLU/y3hBg09O6yXpi7rrUaRODStf/CZUPweAQCiJ4laq6Vpc1EgmA0jKf7aNSw 5HET42d75C+gUPd+jJeuAhc/CAqjRT/VLFFEIEaiBG8/anOpSVcra+/oehmymIGVBPgm/4 F89R1yk4mbehAfwtbWuD328AjEI0Vbo/Y11/UDBqNGEaMTSP+2hhWycSL2dCBWA4yOPbTj crFhJJad4T/o/Pp/W40JHnN8KOaF0Hg4mj4ttdytaBMUvqnBdwtpGrr5z4dcvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676086561; 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=rCndJPVF/kDUvEWJdOp0gQqa2TyVabNZ2c3Evj9NvAo=; b=QGRBMeGp9sDzFMBAdG5WLuQNwKSYJLabblfHW2myU3EvyNpcMgxD79jFw1z/5JrJv/iuPi 8aaUmooDLM5KUBFd7UDG6AFojvpGK/pnR8wrL522soaziB6L+HtKYqAIsUAvU2N5DWAdAP DwGEezCkiNU7Q4WvYf1qbzQ1IhWyY/HnYpAoLTrcgJ+bBwktBSgebXyRUivVd41yFqQq5e Z7vT3066UntunH/0s83gspTrdR/OCMajbPmtDmmnzhz7T+2rGWoJvCE8890fz4OZPklkb1 mit8KtrggQHVzokmdRsceV7s/BqhOyvoFN0Bykz2GUtnyKjrAtvsIss9xOSE7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676086561; a=rsa-sha256; cv=none; b=bTJzUeZ0x7g3MFN1XyYpmOAhzyZqNZzEp9MgpzoweFGYMaR48YWl+kOqa0lnSiMVPL/N0z GdEQP43+azSRQNhZpE7AoB08FO0hQ6xaa689YIrzJEJJrPO44BCwOjaQVtaAisTK8F6DxF XrjVujbhqTsorjA6lbbzidt5i9XqhYWArFizQ8ru8a74FZfE+ULydzlxt8idTaP6/ZH/yr lS0bhJR92QQkMrC8vqnSbjSAK4crflFA9/naHrjfdP7PXBOhHhD7qb60HpiS0cTDi9at/M f75PwZrrYDCx/fH56Ro1+1JgIK9fyQBbPlXMYxqv0n+QIfLhv5sMk5DayP9H1w== 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 4PDGTr5lnGzkQG; Sat, 11 Feb 2023 03:36:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31B3a0CV047401; Sat, 11 Feb 2023 03:36:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31B3a04F047400; Sat, 11 Feb 2023 03:36:00 GMT (envelope-from git) Date: Sat, 11 Feb 2023 03:36:00 GMT Message-Id: <202302110336.31B3a04F047400@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem <rmacklem@FreeBSD.org> Subject: git: 3e230e0cc4ad - main - nfsd: Fix handling of the error case for nfsvno_open some more List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3e230e0cc4ad822554afaaa07369ca5ccb62054d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=3e230e0cc4ad822554afaaa07369ca5ccb62054d commit 3e230e0cc4ad822554afaaa07369ca5ccb62054d Author: Rick Macklem <rmacklem@FreeBSD.org> AuthorDate: 2023-02-11 03:34:57 +0000 Commit: Rick Macklem <rmacklem@FreeBSD.org> CommitDate: 2023-02-11 03:34:57 +0000 nfsd: Fix handling of the error case for nfsvno_open some more Commit ded5f2954e1a defined done_namei to indicate that nd_repstat was set after a successful nfsvno_namei(), so that a cleanup needs to be done in nfsvno_open(). However, it missed the case where a call to nfsrv_opencheck() in nfsvno_open() sets nd_repstat non-zero. This would cause panics due to a dangling locked vnode when nfsrv_opencheck() set nd_repstat, such as during grace just after a server boot. This patch fixes the problem. PR: 268971 --- sys/fs/nfsserver/nfs_nfsdport.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 7305ae6a84fe..daa57222fe22 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -1842,10 +1842,19 @@ nfsvno_open(struct nfsrv_descript *nd, struct nameidata *ndp, u_quad_t tempsize; struct nfsexstuff nes; struct thread *p = curthread; + uint32_t oldrepstat; - if (ndp->ni_vp == NULL) + if (ndp->ni_vp == NULL) { + /* + * If nfsrv_opencheck() sets nd_repstat, done_namei needs to be + * set true, since cleanup after nfsvno_namei() is needed. + */ + oldrepstat = nd->nd_repstat; nd->nd_repstat = nfsrv_opencheck(clientid, stateidp, stp, NULL, nd, p, nd->nd_repstat); + if (nd->nd_repstat != 0 && oldrepstat == 0) + done_namei = true; + } if (!nd->nd_repstat) { if (ndp->ni_vp == NULL) { nd->nd_repstat = VOP_CREATE(ndp->ni_dvp, From nobody Sat Feb 11 05:33:00 2023 X-Original-To: dev-commits-src-main@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 4PDK4r5PnZz3pyRC; Sat, 11 Feb 2023 05:33: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PDK4r35pLz3kh1; Sat, 11 Feb 2023 05:33:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676093580; 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=dDKeI2uUBXzbeLq1C4GpijO7U45n9Q+Mup+hgx/rXb8=; b=nycHMwRaodxhASadWl78vNrHneZ1u63+3f5O3QoaooF1tHCif6YhQ3UZoJzqxFPIGaPTFp utystkQhZWAGjxE9RDctH8bf9zaWxWQ6Lypl+SdnreWD2kZhAK7bsj/Atvnvn0qLcd6A3L SaOKKODmNm5brprcIrt+IldECW9zFAQv4+9ojaZqPQh0GmVQ/yyphSHSHUjFoLgHEMfxW6 R9ZJF0QHAZRPGlnkenkjMf/GYYh9GFO/2RDt5suDPuhRkSiowAPnndOVmRcLESZXMyARyp uMQcxcR6JYCZQZlsjs1OdSIPt1q/6y9zUpu6sCnpUADtJSf2TZYvfEl3SjStWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676093580; 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=dDKeI2uUBXzbeLq1C4GpijO7U45n9Q+Mup+hgx/rXb8=; b=NwQsW6ysaya6aGU7KstrPMFZEp56HzsWj/iSOgep+nHw18xV9n6zqb7eWglZLExItwymMx 5rd6fH4DvT6LaK/+pC/MByPqKhKjq8VKiL7PNVA4sIQbEzEhVG3gisg07YK06qwW5DEyXk c6I1UEdrZBCnI28WKgPgodZu3KRgY5iQCtI4rxITW0uOgMl2aeccxcSO4LTcl7KpFkx/s3 duPcUZHt7+QEswoHQcqExd14ezHIrL2FXWdjRmclq81ZLMR1BWtDjv6P8Jb3Sofrr7ED5I X8ELGuEZQJFNVO1KGMXejyL1ehsp9k5NoKNZyjT7ORJ+50WFDOBbhyZ1NKU3QQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676093580; a=rsa-sha256; cv=none; b=rsTlVhb8++Z6zw7l5/El86/ltA1x2yosa3Gi3Q5/0rzmphueX4K0tIYg8v63KuI689AMe+ X9E8Z4mE9xucyRBazCmms6g1+Qka3rpK6S6NwNxlk3uU4RMwmjfm75ELeqEXLWiuPhuuqL ZeGUz0emj1jEO+9kxI6PInu/m6Ua+HNA1oeT5OV6bn84L90TuJAdhXoqVbfgN8k2vl/59M waIet3Tt3Btyu3j7DR8+RG4AtadEt9iheY7EOLJywLvpb0hkqCbtTvzQ02lt/KnhL2JK3o 0JfmirWpKg432ILIH6yDxgf9BGvy5Nj90pQ4p0wZ5JvoYRYfrYy7kFenJf+evA== 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 4PDK4r2BRnzmWf; Sat, 11 Feb 2023 05:33:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31B5X07H017633; Sat, 11 Feb 2023 05:33:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31B5X0T0017632; Sat, 11 Feb 2023 05:33:00 GMT (envelope-from git) Date: Sat, 11 Feb 2023 05:33:00 GMT Message-Id: <202302110533.31B5X0T0017632@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans <kevans@FreeBSD.org> Subject: git: d646513e57c9 - main - getopt_long(3): note an inconsistency with getopt(3) in BUGS List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: d646513e57c9d59a7c0cc27a4d41518110db4359 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d646513e57c9d59a7c0cc27a4d41518110db4359 commit d646513e57c9d59a7c0cc27a4d41518110db4359 Author: Kyle Evans <kevans@FreeBSD.org> AuthorDate: 2023-02-11 05:31:13 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-02-11 05:32:50 +0000 getopt_long(3): note an inconsistency with getopt(3) in BUGS getopt_long(3) will not allow an `optind` setting of 0 to be bug-for-bug compatible with the GNU implementation, as some software does rely on it. Document it as a BUG, since it affects previous declarations of compatibility with getopt(3). Reviewed by: pauamma (markup) Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D37867 --- lib/libc/stdlib/getopt_long.3 | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/libc/stdlib/getopt_long.3 b/lib/libc/stdlib/getopt_long.3 index ab5da7387a45..0ac5d574c38e 100644 --- a/lib/libc/stdlib/getopt_long.3 +++ b/lib/libc/stdlib/getopt_long.3 @@ -31,7 +31,7 @@ .\" @(#)getopt.3 8.5 (Berkeley) 4/27/95 .\" $FreeBSD$ .\" -.Dd May 2, 2018 +.Dd December 24, 2022 .Dt GETOPT_LONG 3 .Os .Sh NAME @@ -546,3 +546,19 @@ is set). The implementation can completely replace .Xr getopt 3 , but right now we are using separate code. +.Pp +.Nm +makes the assumption that the first argument should always be skipped because +it's typically the program name. +As a result, setting +.Va optind +to 0 will indicate that +.Nm +should reset, and +.Va optind +will be set to 1 in the process. +This behavior differs from +.Xr getopt 3 , +which will handle an +.Va optind +value of 0 as expected and process the first element. From nobody Sat Feb 11 05:37:35 2023 X-Original-To: dev-commits-src-main@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 4PDKB735K9z3pyt7; Sat, 11 Feb 2023 05:37: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PDKB72TVhz3lQH; Sat, 11 Feb 2023 05:37:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676093855; 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=168cQeH0uy2C4BqjtVPHScSa/kzv+mRLecMrLvWOLhM=; b=LIRDLL5lMLfo+BciybPW/rWk+2QbwuNSfcBqXn/eefez95DHIuy9qoJ6d80ptN1drxviT7 Hv8sGVPInCO9hFUqOzg29j+dpEm6jpGoyNmSGB7F9T4g72YhV3vYW6zq17VrAQkHkcPTsy rhISRUIFESszBrl++GS4nERAwl3tGYFI0TXrsaqtTcGBsdxv3MeX7HO7b9XkhOUeIaoAcX TZhjrZa1EvtzVDps10HpDUIjXtF+kuWQxgLxTtcMYX/lCeK1iWQefOYwlNLdLGdJYv7yU7 O5Lqq4XnDxsGD3q3V/IwWMpGjAQEF+fE5xSLB0Bvd/MWVmP22Al7ZESKPv/BmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676093855; 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=168cQeH0uy2C4BqjtVPHScSa/kzv+mRLecMrLvWOLhM=; b=pNL7a/Hm6MzkRrsGC65BpAas0Ztwpctv2E+m/vIs7qBKUfHnYDo/13J8ELCNWs2lbxGik+ iGcmgMm4mP1uD3gbU09JFZbiDVw4+WVHBVeBimvY+gdxo1l6smuXYr+hYQZPVY/d1tN+Ul bG8i4tXQYYj3J/WkzV2C8hWWufW0w2z9bOXUNXbnq7fCavCCxEvs7h9ceEq34PWZadK2BY G2gGND9yKn7I2PJK49gqNtZLg6NscknBG9TPdP9LvKXKawdNgYdV4hKP1u7Ghxwzts5kVm tIzZ8suoiE+ELSFohE0wAPKqKyuyrlySXxzAzFedFBog2ScwxBNcqgCCMyeZbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676093855; a=rsa-sha256; cv=none; b=A52HjJIKfKVWkVE+KURnbsMI/geS1p6UxaciqxdXthDpQt22pp8ozyhL70rHLsB/Ss82sv PEBT7CybteMa5kqTLmgl68+0mBYRVYsySbNBHlNUGcTvGYQqHAfP5x9APL9yI/NdlkWYBs IwcqIUA/kvP4xlBXtbBs775onFtrtJcVZ0GvTx9/F2Xqg3KD5ZlnC1pdqq4zviqsSJPvjP MnEMf3F/X1pQr/aqXzGMoA/AQ527v3WNf6RAUwqyHXfF4aO3GxD7wsMBrErEGFt0tTCvBR H4BNpj9NAVRYPuwOO6aWesFJfndxfGPWiLoJ94RjY8XZ+Ki3r4F3HC4gua1rdA== 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 4PDKB71XbCzn53; Sat, 11 Feb 2023 05:37:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31B5bZ5u018350; Sat, 11 Feb 2023 05:37:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31B5bZL4018349; Sat, 11 Feb 2023 05:37:35 GMT (envelope-from git) Date: Sat, 11 Feb 2023 05:37:35 GMT Message-Id: <202302110537.31B5bZL4018349@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm <pho@FreeBSD.org> Subject: git: 32ded86a0616 - main - stress2: Fix compiler warning about unused variables List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 32ded86a0616aa2d66a59ea60f56ed4bcb3e36d2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=32ded86a0616aa2d66a59ea60f56ed4bcb3e36d2 commit 32ded86a0616aa2d66a59ea60f56ed4bcb3e36d2 Author: Peter Holm <pho@FreeBSD.org> AuthorDate: 2023-02-11 05:36:39 +0000 Commit: Peter Holm <pho@FreeBSD.org> CommitDate: 2023-02-11 05:36:39 +0000 stress2: Fix compiler warning about unused variables --- tools/test/stress2/misc/datamove.sh | 2 +- tools/test/stress2/misc/datamove2.sh | 2 +- tools/test/stress2/misc/datamove3.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/test/stress2/misc/datamove.sh b/tools/test/stress2/misc/datamove.sh index a27a53e5e31b..67de998f3816 100755 --- a/tools/test/stress2/misc/datamove.sh +++ b/tools/test/stress2/misc/datamove.sh @@ -194,7 +194,7 @@ int startIO(int fd,char *buffer) return 0; } -int main(int argc,char *argv[],char *envp[]) +int main(void) { int fdA,fdB,fdDelayA,fdDelayB; diff --git a/tools/test/stress2/misc/datamove2.sh b/tools/test/stress2/misc/datamove2.sh index 1b4c964a1f12..e503edf152a4 100755 --- a/tools/test/stress2/misc/datamove2.sh +++ b/tools/test/stress2/misc/datamove2.sh @@ -194,7 +194,7 @@ startIO(int fd, char *buffer) } int -main(int argc, char *argv[], char *envp[]) +main(void) { int fdA, fdB, fdDelayA, fdDelayB; diff --git a/tools/test/stress2/misc/datamove3.sh b/tools/test/stress2/misc/datamove3.sh index 19beffc00655..0cdd4b5c0c3c 100755 --- a/tools/test/stress2/misc/datamove3.sh +++ b/tools/test/stress2/misc/datamove3.sh @@ -192,7 +192,7 @@ startIO(int fd, char *buffer) } int -main(int argc, char *argv[], char *envp[]) +main(void) { int fdA, fdB, fdDelayA, fdDelayB; From nobody Sat Feb 11 07:04:11 2023 X-Original-To: dev-commits-src-main@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 4PDM634RZgz3p9fQ; Sat, 11 Feb 2023 07:04: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PDM633Hlqz3wfR; Sat, 11 Feb 2023 07:04:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676099051; 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=VURPRkP49PmGul/Orfg4fDxm9hzVVFYcomCYbvri9TQ=; b=hWf25p7vdiEo/7kIiA0Tr0NXAAFkBHW2ghE3zT9pSYMwSRXqZxH0mfpjof32phmU59vBuK 7lGoLhYVZCxtU2ywdkdqeucJs37HPuqRdVQVSLYrM+SprMFM156wPGkCw1S5jroxGoN8qK oW600AKMD18m9uzaAPYasqidh62fM1CFbG1umaEJE0fWk827gec0uteFduHH/r8qHXzUgS URoDHNHj6uG+ZfSwI5/10ceTipH8LaSVC4CJKss8MszXbOAxx0yjz4LtQWASV6iZdYUKcQ J3PpB03IbrSUAKvosnQyiq4r6yrVVaeBxgEzxwJaikaLRCH7GMb8DbXLP18N+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676099051; 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=VURPRkP49PmGul/Orfg4fDxm9hzVVFYcomCYbvri9TQ=; b=CNS92MaESPVAVD/oI6VQZ7jdZhk34WrUJg27JkZmqpYZNpKALNDEYKnjesqe7PPQPLdcL0 hUEFbMGdU1MlE+cU55JI5e+VCtycgYEqSOuqCqdFkV6k8Gweb8QcoXOvvQGgLoE9iyVOc+ Dv+8vK/8rmiW+LEa4MEbvObjpSrTCkoZ5p4zCbjSN6MRCTVW0c8eG7dALuJ1zupoFHUz/c cFqbEQ0FJ8P+G9kGkXnFy87GIDipzEX0Pt4AV5skdQySaqYvxAW6JY7V4rlbG9crgXXv3v ukRmbMmUCd3E5khYw1BHFkl5zri4qq4X4xbxysE8Vr+RZ9vVHYiQttwLEp8V8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676099051; a=rsa-sha256; cv=none; b=gGViU7F12w6tokXEbVNOCNkOlKK/KbPCSu1nxipJOgVNd4BFjfX8in0pWWITAxUR2oUAVe 0KOFVXDGFOHDac9XBTWJCPf/B2AV7sS35O79NJNIPuBGuIT0WOR4QpXaGlt5GDkw8Vqn7D QaALblL2Zn/sWeyNJ7upGEVp2W8MU0IFPaVVKGMzrDxL8OqmAdVqUX7+vLlN9kr6VwSSHF ZBuRUEwl0AG3ZZ2mjFM2LAr9iOzJr3tUQDM0eYODTxusjtz8I8EBYe7xFnthtEM5VwrC8m W9wquXIkCpdqrIHKYu6iOapa3HFZysMOSq3sKk0TJG9R0ezm/PgXgZQOz1CBYA== 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 4PDM63293pzqFs; Sat, 11 Feb 2023 07:04:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31B74BKv047615; Sat, 11 Feb 2023 07:04:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31B74Bvm047614; Sat, 11 Feb 2023 07:04:11 GMT (envelope-from git) Date: Sat, 11 Feb 2023 07:04:11 GMT Message-Id: <202302110704.31B74Bvm047614@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Fedor Uporov <fsu@FreeBSD.org> Subject: git: cbac1f346495 - main - Fix pjfstest issue tests/rename/09.t List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cbac1f3464956185cf95955344b6009e2cc3ae40 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by fsu: URL: https://cgit.FreeBSD.org/src/commit/?id=cbac1f3464956185cf95955344b6009e2cc3ae40 commit cbac1f3464956185cf95955344b6009e2cc3ae40 Author: Fedor Uporov <fsu@FreeBSD.org> AuthorDate: 2023-02-02 10:13:02 +0000 Commit: Fedor Uporov <fsu@FreeBSD.org> CommitDate: 2023-02-11 07:01:16 +0000 Fix pjfstest issue tests/rename/09.t Fix rename when renamed directory not owned by user, but when user owns the sticky parent directory. Reviewed by: kib MFC after: 2 week Differential revision: https://reviews.freebsd.org/D38245 --- sys/fs/tmpfs/tmpfs_vnops.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c index 55f0beebc848..28de8c989487 100644 --- a/sys/fs/tmpfs/tmpfs_vnops.c +++ b/sys/fs/tmpfs/tmpfs_vnops.c @@ -1129,6 +1129,13 @@ tmpfs_rename(struct vop_rename_args *v) if (de->td_node->tn_type == VDIR) { struct tmpfs_node *n; + error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred, curthread); + if (error) { + if (newname != NULL) + free(newname, M_TMPFSNAME); + goto out_locked; + } + /* * Ensure the target directory is not a child of the * directory being moved. Otherwise, we'd end up From nobody Sat Feb 11 15:15:12 2023 X-Original-To: dev-commits-src-main@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 4PDZ0c3z8Sz3p8ry; Sat, 11 Feb 2023 15:15: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PDZ0c3NVjz3tdw; Sat, 11 Feb 2023 15:15:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676128512; 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=gNjVSWwXVLCDR8M92qN3TAvxNYMVVdMs3LcjjXlQ8J0=; b=N9a/ZtIBOeRJ6r7Q50DhxRAYsbCcfRKCJsTaFsN2fHQqyECVVa4fzGYJlCkb33iwjSsABR URKHeSSq5BsoljaP0pIHfoleH3uJb9t1pkI32844KHYpziOjy7P5si3l0Fv4REZnPV/ihJ FFzQZ7c4vG8vJ5ftP3VxGY9o6qtxX3wwya0YSsYkG9Pj8nfSy4ePAyTJJsqIUtgXmeTESq tGFBsuBdlCyBBbkWKcYT9nQz02M1/NIjVZm18gyy9HWTBeVPIQ35iyOs4WINBs6npVi8pD w6kE0FLYZoHr1rJhiT0jcVVN/Ji+gdRj9nn+V3eqGiRCC3ezfFJxdO8C+kKkgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676128512; 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=gNjVSWwXVLCDR8M92qN3TAvxNYMVVdMs3LcjjXlQ8J0=; b=Yr32r0ExpOWx089GbxFKTydWQ33hLnDoy7adIDvgycJYBcQ+H5oYpu8itSSx0Cb75qy6w6 HwK1gVE8xtxsXBLuWVeUTBx5Tqm6qeQgU3KqRreeNExZ9T48nDYo1S2GXs8i+UmshD65nj ODuKqMJEu8H7pQaTEzOLpFlv7fOiKbFloBvlJ3MR5GH9UjAwaC3/+iDqxgEGuiSEAb0L8Q Fd0S8RS3Drsjmmf03I4TrvYYtLC8K9QfL+Z6GS7Y7hjEF4ZdKacdGuK0fIItDnpN73Ra0F jWEAJWRc9dCziroK1tWjBgd0NhSeZ3156Lig9snOntUkQZjG7gluHVzdhhhJuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676128512; a=rsa-sha256; cv=none; b=aIfn5Fct0bF5YKGZ3SvXqnBWvp21nQOAsOgVbbNcsRrDT+zk1MjzYMj9ZsmNFsVdnyXr3U f2gVofk692qrjAlHtV7VGbvTM6P2uA1+7d30iPmttOmsO7TnD62D0cD2y6VHa42Mm3ujM+ gWTjX5u6mk6eZIrFk6eY/9Q2MNSg35oXXQiSSTpIRg85gHfeFeT9xXskZ6nJGL/ezebQvn d3Nu+StMsJGvSVWJxACrQEQNdz15xDeI81NOWGmiHpIcGpqIdQflfMHyVrbEP5c3yZKo18 ATgldr6JqFanWaOBle+0Kvem/XH1G9thTIANwhX4e1sNfUULIcId/L+Uc/i2VA== 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 4PDZ0c2RLtz13Cw; Sat, 11 Feb 2023 15:15:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31BFFCjq046319; Sat, 11 Feb 2023 15:15:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31BFFC68046318; Sat, 11 Feb 2023 15:15:12 GMT (envelope-from git) Date: Sat, 11 Feb 2023 15:15:12 GMT Message-Id: <202302111515.31BFFC68046318@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem <rmacklem@FreeBSD.org> Subject: git: 5fd0916cdbfd - main - nfsd: Add a KASSERT in nfsvno_open List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5fd0916cdbfdbaad620f3d5e7ff80e3436c640ea Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=5fd0916cdbfdbaad620f3d5e7ff80e3436c640ea commit 5fd0916cdbfdbaad620f3d5e7ff80e3436c640ea Author: Rick Macklem <rmacklem@FreeBSD.org> AuthorDate: 2023-02-11 15:14:08 +0000 Commit: Rick Macklem <rmacklem@FreeBSD.org> CommitDate: 2023-02-11 15:14:08 +0000 nfsd: Add a KASSERT in nfsvno_open Commit ded5f2954e1a defined done_namei to indicate that nd_repstat was set after a successful nfsvno_namei(), so that a cleanup needs to be done in nfsvno_open(). This only happens when nfsvno_namei() is done with CREATE. This patch adds a KASSERT() to check for that. PR: 268971 --- sys/fs/nfsserver/nfs_nfsdport.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index daa57222fe22..9cd7f9320bd5 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -1926,6 +1926,8 @@ nfsvno_open(struct nfsrv_descript *nd, struct nameidata *ndp, } } } else if (done_namei) { + KASSERT(create == NFSV4OPEN_CREATE, + ("nfsvno_open: not create")); /* * done_namei is set when nfsvno_namei() has completed * successfully, but a subsequent error was set in From nobody Sat Feb 11 15:28:34 2023 X-Original-To: dev-commits-src-main@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 4PDZJJ1D1Cz3pC08; Sat, 11 Feb 2023 15:28:48 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-vk1-f175.google.com (mail-vk1-f175.google.com [209.85.221.175]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PDZJH6Gy8z3wxv; Sat, 11 Feb 2023 15:28:47 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-vk1-f175.google.com with SMTP id v5so4147982vkc.10; Sat, 11 Feb 2023 07:28:47 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1676129326; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=J9gT89HxtDt1eLCfal1xO7NJ4Npi2clW8ip7H1XMz/Q=; b=JZQURGlXQqgoHIdgfqKmQTDLlDW763xoaXixl22yE4k+XHbUbY0+zRH3x6obQ1ZMhp n62Cjx4z1To0Ri+sYDgTIsyOgVFl+YX1yBgg65MJek7pXWHBK9NsW2Pq9xHtz3bASmhJ F8eaLjunctj277t+BbGK8QuIIbilp6sRMIMMlnJTHv34YzsKFqqT9itO7r2nNvm6XHJR tBgdLgmNn/YSgJ5sOkGeZ8QxxRF8/6ahE08VuAATxYId0o8iD2tyiHMx42kzKKkVUWDw B1XnHSN+IgXRGBL1Bb/66u2Ot+uTc5L+nTwMb5UzKesVMKcvGytaj4UMVDkKtd1OwsOF P6iQ== X-Gm-Message-State: AO0yUKWqalqWyA6BJR/ZhapdQ+MzDOURbMgV29NMQogWMeyWUymrpan5 o4pyrcZqIlYHAUHMv9gNoDFslTrYNWmH5BY3nvdm1QCV X-Google-Smtp-Source: AK7set8VpvirAjK0dUWaqix7/aVnUK7Yd6FPSxSQlPbYH0LV6W1PYCgA6wSlz7CelP35wvO+sDyplXZNxP4qWVYNsiU= X-Received: by 2002:a1f:5804:0:b0:3e1:f8b0:e35d with SMTP id m4-20020a1f5804000000b003e1f8b0e35dmr3797732vkb.35.1676129326013; Sat, 11 Feb 2023 07:28:46 -0800 (PST) List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202302110704.31B74Bvm047614@gitrepo.freebsd.org> In-Reply-To: <202302110704.31B74Bvm047614@gitrepo.freebsd.org> From: Alan Somers <asomers@freebsd.org> Date: Sat, 11 Feb 2023 08:28:34 -0700 Message-ID: <CAOtMX2iUDxD6fw3FAJFC1T_7KuH9TMcw3WWkWfSJ5idpx+P6vw@mail.gmail.com> Subject: Re: git: cbac1f346495 - main - Fix pjfstest issue tests/rename/09.t To: Fedor Uporov <fsu@freebsd.org> Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4PDZJH6Gy8z3wxv X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Sat, Feb 11, 2023 at 12:04 AM Fedor Uporov <fsu@freebsd.org> wrote: > > The branch main has been updated by fsu: > > URL: https://cgit.FreeBSD.org/src/commit/?id=cbac1f3464956185cf95955344b6009e2cc3ae40 > > commit cbac1f3464956185cf95955344b6009e2cc3ae40 > Author: Fedor Uporov <fsu@FreeBSD.org> > AuthorDate: 2023-02-02 10:13:02 +0000 > Commit: Fedor Uporov <fsu@FreeBSD.org> > CommitDate: 2023-02-11 07:01:16 +0000 > > Fix pjfstest issue tests/rename/09.t > > Fix rename when renamed directory not owned by user, > but when user owns the sticky parent directory. > > Reviewed by: kib > MFC after: 2 week > Differential revision: https://reviews.freebsd.org/D38245 > --- > sys/fs/tmpfs/tmpfs_vnops.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c > index 55f0beebc848..28de8c989487 100644 > --- a/sys/fs/tmpfs/tmpfs_vnops.c > +++ b/sys/fs/tmpfs/tmpfs_vnops.c > @@ -1129,6 +1129,13 @@ tmpfs_rename(struct vop_rename_args *v) > if (de->td_node->tn_type == VDIR) { > struct tmpfs_node *n; > > + error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred, curthread); > + if (error) { > + if (newname != NULL) > + free(newname, M_TMPFSNAME); > + goto out_locked; > + } > + > /* > * Ensure the target directory is not a child of the > * directory being moved. Otherwise, we'd end up Nice. I'm glad to see that people are getting good use out of pjdfstest. From nobody Sat Feb 11 15:44:36 2023 X-Original-To: dev-commits-src-main@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 4PDZfd2ccVz3pDh5; Sat, 11 Feb 2023 15:44:41 +0000 (UTC) (envelope-from fluffy@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PDZfd1nWfz42CG; Sat, 11 Feb 2023 15:44:41 +0000 (UTC) (envelope-from fluffy@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676130281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=vr5ApTZLg/juHg03nOQjm16JnbAo7w2wZCH2YZHW1Ss=; b=F+oVDvU3vaUzVvsRbm6eHBEQQYstZrIG+8YKekue+7soEbIJ4sxu+L5Oob2RPO6hE1E5oH MeLeHg+J6nX2cu6ltX03cDi3zecaLuR0eimt8sCoJ3uFCDa+zH2nUiB5rj2fvAFnWBGXOa BFYzO0J77vJgqMzMWwpiqNKKYnwz701pJQB1Zppwth4vGOSWwV9Tcy6wwqaLOnR1W++K8M nT/aWqw6YiCqVUK9v069HHaAoKorWQz0XckRZ46aTwNOlyNn62zgnFPLTSwI0aZEhf5lwB a/91FuJJy471cJv07WTtl46AmQGg2aH6Iz2GCpHQ9C9MRWhYsVwnBFHf3k2l8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676130281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=vr5ApTZLg/juHg03nOQjm16JnbAo7w2wZCH2YZHW1Ss=; b=SUOZirOkG/vvghO7dLwU+QXYayGD4ptsW/x0wCKnWl6864768cb3olnrDpX8Kvdwn6Nf53 nbN2SS2IF5J4ZWgjmclL2XfRnHsLXppXy6hs8dCO1mPElUpyVMDUVjsdSPVlEApz8/+div GwM+0HERVlLeNuScGOfqQ/rO7cwGWMzTdg7DPSbktqvbVKtGfFb0gmh/tw8v9HEmzfuvFY 4MGQw6l+oVjATpG1aVlxEsaeTSnjvaCAcrteUDwyMmaD+B0VhkZeigthTdBgSsqaUyAdnE 7BugpOXTIpUncCQfwEIiOU1hh20+duqYuxUgcam5HMZj6jeYohkfSZNDY0ZrNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676130281; a=rsa-sha256; cv=none; b=CcnH+yDrETcgHphKGS3I6dcvL5x92rHB/VB8Unczgmp39dyKApPTVTMcpwuIOzUVKc1Kle WMxkaH99t87g0QIyW7pQ5X8tr6H5L3mB7BEsEZneLVtWZnCSfRveZtbuOsEqmWIX56eb3H 7vbS951sxmUplIZ0QksRHYbaxyQJ8z2EADlLGpmvINtqclE70IpTOIfj94lKIIiY25z18z FbNI94OGo2rXPaHVz+Tz2awYXGVG/wY7yn8wJnB6XMa285YjXslKOEBLoorgswuFa4X4le LMWR7z4U/3qDUPixim+bBTuARxJyhbQneo8pyqZupKHE9MGZjLvQmcK3a9p1HA== Received: from [192.168.0.102] (unknown [88.201.168.234]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: fluffy) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PDZfc3vgTzLmy; Sat, 11 Feb 2023 15:44:40 +0000 (UTC) (envelope-from fluffy@FreeBSD.org) Message-ID: <f790ba35-2fec-8aa2-c4eb-2ec8d35738ff@FreeBSD.org> Date: Sat, 11 Feb 2023 18:44:36 +0300 List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.7.2 Subject: Re: git: 4378cc5cfb5c - main - Reapply: <type_traits>: Avoid instantiating a pointer type in std::decay<> Content-Language: ru, en-GB, en-US To: Dimitry Andric <dim@FreeBSD.org>, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202302091628.319GSpbg024064@gitrepo.freebsd.org> From: Dima Panov <fluffy@FreeBSD.org> Organization: FreeBSD.org In-Reply-To: <202302091628.319GSpbg024064@gitrepo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------v55MjSs31P0TiZAhc90VJVIp" X-ThisMailContainsUnwantedMimeParts: N This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------v55MjSs31P0TiZAhc90VJVIp Content-Type: multipart/mixed; boundary="------------hm1oUaQsJwyVOizfbXDLB8zC"; protected-headers="v1" From: Dima Panov <fluffy@FreeBSD.org> To: Dimitry Andric <dim@FreeBSD.org>, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Message-ID: <f790ba35-2fec-8aa2-c4eb-2ec8d35738ff@FreeBSD.org> Subject: Re: git: 4378cc5cfb5c - main - Reapply: <type_traits>: Avoid instantiating a pointer type in std::decay<> References: <202302091628.319GSpbg024064@gitrepo.freebsd.org> In-Reply-To: <202302091628.319GSpbg024064@gitrepo.freebsd.org> --------------hm1oUaQsJwyVOizfbXDLB8zC Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 TW9pbi1tb2luIQ0KDQpUaGlzIGZpeGVzIGJ1aWxkIG9mIGRldmVsL2Jvb3N0LWxpYnMgb24g YW1kNjQvaTM4NiBidXQgbm90IG9uIGFhcmNoNjQuDQoNCkp1c3QgZm9yIG5vdGUgLS0geW91 ciBvd24gKGZyb20gZ2l0aHViKSB0ZXN0IGJyYW5jaCB3aXRoIGxsdm0xNSBpbXBvcnRlZCBp cyBhYmxlIHRvIGJ1aWxkIGJvb3N0IG9uIGFhcmNoNjQgdG9vOyBzbyBpdCBsb29rcyBsaWtl IG1pc3NlZCBzb21ldGhpbmcgZWxzZSBvbiBpbXBvcnQgdG8gbWFpbiB0cmVlLg0KDQpPbiAw OS4wMi4yMDIzIDE5OjI4LCBEaW1pdHJ5IEFuZHJpYyB3cm90ZToNCj4gVGhlIGJyYW5jaCBt YWluIGhhcyBiZWVuIHVwZGF0ZWQgYnkgZGltOg0KPiANCj4gVVJMOiBodHRwczovL2NnaXQu RnJlZUJTRC5vcmcvc3JjL2NvbW1pdC8/aWQ9NDM3OGNjNWNmYjVjZjkyOGUyODdjMDE0M2Vm YjEyMGQ1NTU4YzRhMA0KPiANCj4gY29tbWl0IDQzNzhjYzVjZmI1Y2Y5MjhlMjg3YzAxNDNl ZmIxMjBkNTU1OGM0YTANCj4gQXV0aG9yOiAgICAgRGltaXRyeSBBbmRyaWMgPGRpbUBGcmVl QlNELm9yZz4NCj4gQXV0aG9yRGF0ZTogMjAyMy0wMi0wOSAwOTozMzo0MiArMDAwMA0KPiBD b21taXQ6ICAgICBEaW1pdHJ5IEFuZHJpYyA8ZGltQEZyZWVCU0Qub3JnPg0KPiBDb21taXRE YXRlOiAyMDIzLTAyLTA5IDE2OjI4OjMyICswMDAwDQo+IA0KPiAgICAgIFJlYXBwbHk6IDx0 eXBlX3RyYWl0cz46IEF2b2lkIGluc3RhbnRpYXRpbmcgYSBwb2ludGVyIHR5cGUgaW4gc3Rk OjpkZWNheTw+DQo+ICAgICAgDQo+ICAgICAgICBHQ0MgZXhwYW5kcyB0aGUgcG9pbnRlciB0 eXBlIGluIHRoaXMgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiBldmVuIGZvcg0KPiAgICAgICAg dGVtcGxhdGUgdHlwZXMgX1VwIHRoYXQgYXJlIG5vdCBhcnJheXMuICBUaGlzIHJhaXNlcyBh biBlcnJvciB3aGVuDQo+ICAgICAgICBzdGQ6OmRlY2F5PD4gaXMgdXNlZCB3aXRoIHJlZmVy ZW5jZSB0eXBlcyAoYXMgaXMgZG9uZSBpbiBMTFZNJ3MNCj4gICAgICAgIHNvdXJjZXMpLiAg VXNpbmcgYWRkX3BvaW50ZXI8PiBjYXVzZXMgR0NDIHRvIG9ubHkgaW5zdGFudGlhdGUgYQ0K PiAgICAgICAgcG9pbnRlciB0eXBlIGZvciBhcnJheSB0eXBlcy4NCj4gICAgICANCj4gICAg ICAgIEEgc2ltaWxhciBjaGFuZ2UgdG8gdGhpcyBjb21taXQgKGFsYmVpdCByZXdvcmtlZCBk dWUgdG8gdXBzdHJlYW0NCj4gICAgICAgIGNoYW5nZXMpIGhhcyBiZWVuIG1lcmdlZCB0byBs aWJjKysgaW4gY29tbWl0DQo+ICAgICAgICAyNjA2OGM2ZTYwMzI0ZWQ4NjZhMWNhMmFmYjVj YjVlYjBhYWYwMTViLg0KU2luY2VyZWx5LA0KRGltYSAoZmx1ZmZ5QEZyZWVCU0Qub3JnLCBo dHRwczovL3QubWUvRmx1ZmZ5QlNEKQ0KKGRlc2t0b3AsIGtkZSwgeDExLCBvZmZpY2UsIHBv cnRzLXNlY3RlYW0pQEZyZWVCU0QgdGVhbQ0K --------------hm1oUaQsJwyVOizfbXDLB8zC-- --------------v55MjSs31P0TiZAhc90VJVIp Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEELTAsy5mEEwxvh7r8+4ugndU5jykFAmPnt+QFAwAAAAAACgkQ+4ugndU5jyna bQ/8CpSxWNga+QxSC39iUeJW2WDTGrTnbECQsv6kn4fcvCnJyQZpZGt7G6vi/+NQstzY+nOEeH5p amT6/Vl2rkgqJutBmPmCJ/Lpvi5uiJm0Mt5HhojejKtKMBXwqjruulI5K4alR6Qn4g8NngiYLYS9 qMDRRKCYVC3tG/OCmIQopm6bG65/G2DoPiU+fr0BlNp2KVP5BqR9z4xFYviPdJ9kIIUBe6Aw/ZFH dmZ9LU0sk43QzWZRGKS+FSb1XIG5cuEmsJ4szfl9ql76N/LgrkV9MkRUkz47RvD4N6APeowxX+ZE SvRU5Cm6GO/ja28149eA/GGMZctafNlralTQSB0RSVhUNyvwDVEXdzoC3j32FzPGADdTJ9LQWhsp Hw1QM24hAgDF6woxhpJSpiNumo8IeTCKyoAlYOwwNVnAzY/asKjMLzhGr6JgG4Ux+33dt9OhVpTA u9+VZpeOOJ1VwX+sstLgcS35ZsTe+I4c4J/p5fM0bRJN2rYwi/kQg8aKXgmjGjc5Dv+Ibow6gcFf Nh1R86B4MFCoZXEbrzOclQMbuV6akiybdCeKZI6Ue5VYykISIrOOSQR44G4aUM4+QiepO5dTEgdU uR9Axe/CS+aLl85tsxVVVaGaaL2/StVSDym2rOUcEF3m9plYr5iY7qt9Q1FOX39e30MUFi6FUlPo eVw= =tglb -----END PGP SIGNATURE----- --------------v55MjSs31P0TiZAhc90VJVIp-- From nobody Sat Feb 11 15:51:43 2023 X-Original-To: dev-commits-src-main@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 4PDZq61YRBz3pFT9; Sat, 11 Feb 2023 15:52:02 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PDZq616Lzz44mg; Sat, 11 Feb 2023 15:52:02 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676130722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=liLmxip889L6PSEXZg8UKi41kKnfElAiqvuf7lYEin4=; b=vrpyUGHOVpiPzceioIJmPxVf85hBBT3BaHqaWVPESND7Oo5P90m3uXcQqgM2POkx+Nd2ud l2PczxD+vydvaOwJI9stv/uzcD/f5Wy19eUMkuJpPeqoPJX5oNHvvB3Z/xylPtYIySf5dZ XmyWMqPU0Z8j341Ldx42eKLAG/36CBkDQ4ZpZUWIbNWUiaGsmR6KASY+tATm98jEPh86yk FB+6OixXlcqYFJtBhts3XezVOE26kgOryUzryJBhLKXWRsvNRB2X559qe4ufmxTsdlut0L vd5YhEoccR1AUurFHjjwg+JGK9+WZmNUP1DPZjdWpui/6CSNP3X2uo9sfa+Wpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676130722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=liLmxip889L6PSEXZg8UKi41kKnfElAiqvuf7lYEin4=; b=N1Tbm36/zl62t5YV42MUDNIr0h5IOi49C3vVU6tYHSs8V4R1gJL7C875TX2j0zamcc0cPE oWYewDbbctHBvzQRvjopRq6myU62MTHuU0awvM7R/RZ9WJc2SMj1PkGBVpqqh6GLYPMaIQ KbaW5AR8g8GMD9TCh6w/Wxl0SwVIVAPsIWCOo0GE2PKQN6oht0g3wYkReF2n7M78Oc0Ife +juVgEsKTy8dQE+keY+AHXVA+J0xG89sqvcwDtgZ9bt5yvB1JuOqdjX4G9egMcHrKQpNm+ Cti0o6O2mmhOLrsIOVrUD3NaFr1UN2xyPh4mNKee9RYK3hqzv+06yylZe0Dj2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676130722; a=rsa-sha256; cv=none; b=yPVMJqN4ep+yaVwxMwvBYtZ7bkpn4NCDTX5yUcrnoRybm+V8licbubyUOsvns0AKs9wqgA E5eVQyuomAVLSjiOx1jJYEasAgFCvOmDAA6HCDqiaefzeuFllD5Pcxz89l+qv+dFddawwW TRQ27ZPHiDOnfYPPggQ8wzQdA6GSczWOgpVaSmFktdPJPFWPxQ4ipqAOmBLRVCwRIaS79K V1DRblsat3EBZgmZd52A/KtcqpbcZOmvEsIDvCgKt7KAWqYKqYmwMYqg/BC968kZvbqCoc mpy29hbPG20aPnc+bHJDBb6OK0Nbb+8HOx87+X72QCB2zNEjVFyeW6oR4159dA== Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (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 (2048 bits) client-digest SHA256) (Client CN "tensor.andric.com", Issuer "R3" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 4PDZq56fgDzM30; Sat, 11 Feb 2023 15:52:01 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtpclient.apple (longrow.home.andric.com [192.168.0.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 636295AAD0; Sat, 11 Feb 2023 16:52:00 +0100 (CET) Content-Type: multipart/signed; boundary="Apple-Mail=_FA9DCD53-BA1B-4038-9EE0-B42A0122BCE8"; protocol="application/pgp-signature"; micalg=pgp-sha1 List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\)) Subject: Re: git: 4378cc5cfb5c - main - Reapply: <type_traits>: Avoid instantiating a pointer type in std::decay<> From: Dimitry Andric <dim@FreeBSD.org> In-Reply-To: <f790ba35-2fec-8aa2-c4eb-2ec8d35738ff@FreeBSD.org> Date: Sat, 11 Feb 2023 16:51:43 +0100 Cc: "src-committers@freebsd.org" <src-committers@FreeBSD.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@FreeBSD.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org> Message-Id: <BCB22D83-8B07-4D55-A9AF-83ED7B2694DC@FreeBSD.org> References: <202302091628.319GSpbg024064@gitrepo.freebsd.org> <f790ba35-2fec-8aa2-c4eb-2ec8d35738ff@FreeBSD.org> To: Dima Panov <fluffy@freebsd.org> X-Mailer: Apple Mail (2.3731.400.51.1.1) X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_FA9DCD53-BA1B-4038-9EE0-B42A0122BCE8 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 11 Feb 2023, at 16:44, Dima Panov <fluffy@freebsd.org> wrote: >=20 > This fixes build of devel/boost-libs on amd64/i386 but not on aarch64. >=20 > Just for note -- your own (from github) test branch with llvm15 = imported is able to build boost on aarch64 too; so it looks like missed = something else on import to main tree. >=20 > On 09.02.2023 19:28, Dimitry Andric wrote: >> The branch main has been updated by dim: >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D4378cc5cfb5cf928e287c0143efb120d= 5558c4a0 >> commit 4378cc5cfb5cf928e287c0143efb120d5558c4a0 >> Author: Dimitry Andric <dim@FreeBSD.org> >> AuthorDate: 2023-02-09 09:33:42 +0000 >> Commit: Dimitry Andric <dim@FreeBSD.org> >> CommitDate: 2023-02-09 16:28:32 +0000 >> Reapply: <type_traits>: Avoid instantiating a pointer type in = std::decay<> >> GCC expands the pointer type in this conditional = expression even for >> template types _Up that are not arrays. This raises an error = when >> std::decay<> is used with reference types (as is done in LLVM's >> sources). Using add_pointer<> causes GCC to only instantiate a >> pointer type for array types. >> A similar change to this commit (albeit reworked due to = upstream >> changes) has been merged to libc++ in commit >> 26068c6e60324ed866a1ca2afb5cb5eb0aaf015b. Can you point me to a bug report that lists the error(s)? -Dimitry --Apple-Mail=_FA9DCD53-BA1B-4038-9EE0-B42A0122BCE8 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.2 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCY+e5jwAKCRCwXqMKLiCW o9n1AJ0aP6d5N55d5H/w85T1sxNmiIWTsgCfVIXHeHswKXazHKxKEJ1QKrFe/4U= =Q4Ut -----END PGP SIGNATURE----- --Apple-Mail=_FA9DCD53-BA1B-4038-9EE0-B42A0122BCE8-- From nobody Sat Feb 11 17:24:18 2023 X-Original-To: dev-commits-src-main@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 4PDcsb0CrCz3phLB; Sat, 11 Feb 2023 17:24: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PDcsZ6rBMz4MQJ; Sat, 11 Feb 2023 17:24:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676136259; 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=IGEPQ7I/J2VzoBUtVS7p0mKBc4hTBEfHR0Jqv5mhsSs=; b=Z9bNIZ6aYUhWEnZf51dXUOT9792Q95uzRfeuFqfrHjo9Kg4YWU5eqQEDRqDdizZkY/BfAf IbFInxS18AgqHlWbDE3EAE5QuoAxirWCDVpZ0EPrIHFr3Dn8usd3hXloSzbZqAVAOSdPcI g2OQUg47yDtcqpzqcQ5rHkTWKiOLM1CNsZnJDnDqx68n7a69nMnZ5F4Wp5T0z3TjC6gGCd iK2FVPvrPmU5pkcExGnt2+ANhPlqQcypBRv3ND2YSypEJrVW3ZnMUkOJGhvbxqRnqmta/7 dp4ixQvyCuhJHL+gehByYPvOlg9FmHqQpfQohUhfzC/EypLj4Gd2SrctLhcDDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676136259; 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=IGEPQ7I/J2VzoBUtVS7p0mKBc4hTBEfHR0Jqv5mhsSs=; b=GqdM9K3PnqloIbGkwKuvpJHMalCYpCJxyLOjZSPKHE2hxKdB19zbwijHXmruDaWoLOpZu4 x86l1KpNT4O0Otpicj7iBlNvwCnc3uiVORCduQ+kcBo5bAjAEquR6/oaU2DBG2EYPS3jK6 ag4vrW8ceI5lxW7t8LpEc2Ilq1X9iPhxRXEdtChOIgu5fRkCPaG77eiUv5rLq4FtzlKggH wFd+fvRUnuLhcnaanHExtMtC81BAP7yfVO7amhKU/qCOBDtl2lT0+9wXNvsMBVl9lNoO5m xnjwx14JIXWVUSGtzT2dWxpDFTnI9U19VVaFfZPkkEEV3Ts6Z3dMdh0gkPe4pA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676136259; a=rsa-sha256; cv=none; b=wK6xhUaq1Lj+wsO80eE/JYY+A+QixwZTldRJQURX1LMhuN9hnHxhAX7N8wMhsf3R6qbd8Z dfuoxAgme95/DwxK5ABxzLim3AXfzPZxEtK1+IqPZgN0NXBkgZLejKz8HU8HlwB5jWOP24 R1x9ydOrFhI52qVbQZNyCYFPssGRUlXlWi3SzulO+1kgWfvAe4+MJbWYCA3/PUlwC2VSCe JlZPu75nRLg15RdM9n9ZQ6s0UiEzTpZhBg5a4TJBHWjRR0zwC/ULH0QdsEXH0MS2bIK+CD 6bkANS/GV30OsDfUCNsXcWE6j6fXucwo6d+OIkGa/YM1EItiwYl/QQb1WopOMA== 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 4PDcsZ5tgYz16Gt; Sat, 11 Feb 2023 17:24:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31BHOIwZ030886; Sat, 11 Feb 2023 17:24:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31BHOIdR030885; Sat, 11 Feb 2023 17:24:18 GMT (envelope-from git) Date: Sat, 11 Feb 2023 17:24:18 GMT Message-Id: <202302111724.31BHOIdR030885@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov <kib@FreeBSD.org> Subject: git: 6957cd86d914 - main - man: some typesetting and style fixes for recent additions List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 6957cd86d9143f5ff179515e52fc42946e642f66 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6957cd86d9143f5ff179515e52fc42946e642f66 commit 6957cd86d9143f5ff179515e52fc42946e642f66 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2023-02-11 00:46:34 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2023-02-11 17:23:54 +0000 man: some typesetting and style fixes for recent additions Mostly start each sentence from a new line. Also add more pretty typesetting to cdce(4). Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D38501 --- bin/nproc/nproc.1 | 3 ++- share/man/man4/cdce.4 | 8 ++++++-- share/man/man4/enic.4 | 8 ++++---- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/bin/nproc/nproc.1 b/bin/nproc/nproc.1 index ae252fe0f50c..91a87b1ca048 100644 --- a/bin/nproc/nproc.1 +++ b/bin/nproc/nproc.1 @@ -33,7 +33,8 @@ The result is decreased by .Ar count , but never below 1. .It Fl -version -Print the current program version and exit. Don't use this option. +Print the current program version and exit. +Do not use this option. .It Fl -help Print usage information and exit. .El diff --git a/share/man/man4/cdce.4 b/share/man/man4/cdce.4 index 99d04bd12d07..50f92a7b476d 100644 --- a/share/man/man4/cdce.4 +++ b/share/man/man4/cdce.4 @@ -89,8 +89,12 @@ Mobile .Nm Network Devices may need a connect command sequence via u3g serial command port before they activate the NCM/ECM/ACM network -interface. Example: echo 'AT^NDISUP=1,1,"internet"' > /dev/cuaU[0].0, -where "internet" is your providers apn name. +interface. +For example: +.Dl echo 'AT^NDISUP=1,1,"internet"' > /dev/cuaU[0].0 +where +.Dq internet +is your providers apn name. .Sh HARDWARE The following devices are supported by the .Nm diff --git a/share/man/man4/enic.4 b/share/man/man4/enic.4 index d33df8515f3e..5b5f412f3c30 100644 --- a/share/man/man4/enic.4 +++ b/share/man/man4/enic.4 @@ -54,10 +54,10 @@ if_enic_load="YES" .Sh DESCRIPTION The .Nm -driver provides support for Cisco Virtual Interface Card. Support -is limited to basic network connectivity. Media is controlled by the -NIC itself since there can be multiple virtual PCI NIC devices exposed -to the PCI bus. +driver provides support for Cisco Virtual Interface Card. +Support is limited to basic network connectivity. +Media is controlled by the NIC itself since there can be multiple +virtual PCI NIC devices exposed to the PCI bus. .Sh HARDWARE The .Nm From nobody Sat Feb 11 23:52:35 2023 X-Original-To: dev-commits-src-main@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 4PDnTb4m84z3rDMy; Sat, 11 Feb 2023 23:52: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PDnTb489Tz3rpC; Sat, 11 Feb 2023 23:52:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676159555; 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=lo9BM3/pdcV1GLFK/z5sWQ42Z6pf4hNpKrw0Sy6GbNc=; b=ChEKEJaQmNOw+jiUBmtIiJAEYsNL1CNBDVM8bH27jiKlHJYSFS7gaBx6FKPf8xeeJVM7DV qVqzQv/JWREB4TTG+I/APJqWrZnOOeukj1ePmP7d+KPjIPkJek1s3rleTTAbvW7fsUOj4g Dav9jynLaDGXf/+r5M2ffCaEN1P8QXgcFVg5m6Di6KTvyKTrU+dwn/soUzoUj6wj6GcgwL 0msq4DDmmwOFKSjQeZio8n3lC3mQFYtuqZBM7vbIQ5AQcUkySowVu+5REnK8ONOvH0DII7 yBXtXSpLjo3JDTR5rRsb0qKHsmxXAfRIWer7laCeaBTrwzG/dZpBdO2mG1gmJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676159555; 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=lo9BM3/pdcV1GLFK/z5sWQ42Z6pf4hNpKrw0Sy6GbNc=; b=tCUjznK1iz4rmbyMnjNbvf/LRfeENLLDpd8z9HuUCAcguTabHm6o07JO+/UTVkQmpJCGSk Yeoj2obnQfqMDc3abvklIM1x1uW8AT5JbVMKUXU4WnU9DvlaVO6/jdfUNJQKqVwQP3OAhw Z1CQmZa+HydbeKNUx9GQhcEh1q7Xn8zfDW65RwsCEfqLMIxhjIriDkOY5UFUGlxnpujh6q 9fLfNk7L+LEuYtB+mniRRLPzvpAh7BYXXMglq60XChT/j0KTq4xo2JLnjxNjKv9BGSi0Bb 2yEaDmB6oTXi5xKp5i6zgxnTgtz/7/fxZdE7GApWrLVt5y8nFxbEaNWeaK4T3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676159555; a=rsa-sha256; cv=none; b=GlyurKJprfPtSEyxSoNshbS1cmkyv4RZGRYS92yT5kzAd+gt5V8CEyM7x0zsCQECKqEilZ iA/+C647EiE2dfsmGsvNob8RJpYvEH5oOwpXhIs2kZgm/gzEODiUshivZMkkYZtIVc7YRU gqPFhQyxBzlCV++5D/j4u6Oxlp67D17UiF3gQJX3v7s1O4BcH999R++6csW3xthQ/lnM9w wRdUqK2Er9E+mSJwAoi0tmov0GlUqvskzXRWLR+4Qml6eXm61+0BpeWbX65kwDkwUWCGZ1 mYxgB1ftMT6vTCJiPXTNm5ePJEnryyEQVLlYcMrFW5Sj5X/IeN6HfLoFpdPd6g== 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 4PDnTb3BVbzHWJ; Sat, 11 Feb 2023 23:52:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31BNqZLM085667; Sat, 11 Feb 2023 23:52:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31BNqZ01085666; Sat, 11 Feb 2023 23:52:35 GMT (envelope-from git) Date: Sat, 11 Feb 2023 23:52:35 GMT Message-Id: <202302112352.31BNqZ01085666@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem <rmacklem@FreeBSD.org> Subject: git: 7e44856e3a6d - main - nfsd: Prepare the NFS server code to run in a vnet prison List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org> List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: <mailto:dev-commits-src-main+help@freebsd.org> List-Post: <mailto:dev-commits-src-main@freebsd.org> List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org> List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org> Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7e44856e3a6deb194c2c376e886854b256360c40 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=7e44856e3a6deb194c2c376e886854b256360c40 commit 7e44856e3a6deb194c2c376e886854b256360c40 Author: Rick Macklem <rmacklem@FreeBSD.org> AuthorDate: 2023-02-11 23:51:19 +0000 Commit: Rick Macklem <rmacklem@FreeBSD.org> CommitDate: 2023-02-11 23:51:19 +0000 nfsd: Prepare the NFS server code to run in a vnet prison This patch defines null macros that can be used to apply the vnet macros for global variables and SYSCTL flags. It also applies these macros to many of the global variables and some of the SYSCTLs. Since the macros do nothing, these changes should not result in semantics changes, although the changes are large in number. The patch does change several global variables that were arrays or structures to pointers to same. For these variables, modified initialization and cleanup code malloc's and free's the arrays/structures. This was done so that the vnet footprint would be about 300bytes when the macros are defined as vnet macros, allowing nfsd.ko to load dynamically. I believe the comments in D37519 have been addressed, although it has never been reviewed, due in part to the large size of the patch. This is the first of a series of patches that will put D37519 in main. Once everything is in main, the macros will be defined as front end macros to the vnet ones. MFC after: 3 months Differential Revision: https://reviews.freebsd.org/D37519 --- sys/fs/nfs/nfs_var.h | 2 +- sys/fs/nfs/nfsport.h | 14 ++ sys/fs/nfsserver/nfs_fha_new.c | 5 +- sys/fs/nfsserver/nfs_nfsdcache.c | 155 +++++++++++--------- sys/fs/nfsserver/nfs_nfsdkrpc.c | 100 ++++++++----- sys/fs/nfsserver/nfs_nfsdport.c | 292 +++++++++++++++++++++++++------------- sys/fs/nfsserver/nfs_nfsdsocket.c | 70 +++++---- sys/fs/nfsserver/nfs_nfsdstate.c | 188 +++++++++++++----------- sys/fs/nfsserver/nfs_nfsdsubs.c | 45 +++--- 9 files changed, 524 insertions(+), 347 deletions(-) diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index f8fd2229095f..0a6d46964ffd 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -122,7 +122,7 @@ int nfsrv_delegupdate(struct nfsrv_descript *, nfsquad_t, nfsv4stateid_t *, int nfsrv_releaselckown(struct nfsstate *, nfsquad_t, NFSPROC_T *); void nfsrv_zapclient(struct nfsclient *, NFSPROC_T *); int nfssvc_idname(struct nfsd_idargs *); -void nfsrv_servertimer(void); +void nfsrv_servertimer(void * __unused); int nfsrv_getclientipaddr(struct nfsrv_descript *, struct nfsclient *); void nfsrv_setupstable(NFSPROC_T *); void nfsrv_updatestable(NFSPROC_T *); diff --git a/sys/fs/nfs/nfsport.h b/sys/fs/nfs/nfsport.h index 2060ed03de34..bf59aea285f1 100644 --- a/sys/fs/nfs/nfsport.h +++ b/sys/fs/nfs/nfsport.h @@ -181,6 +181,20 @@ */ #define NFSMUTEX_T struct mtx +/* Define the NFSD_VNET macros similar to !VIMAGE. */ +#define NFSD_VNET_NAME(n) n +#define NFSD_VNET_DECLARE(t, n) extern t n +#define NFSD_VNET_DEFINE(t, n) t n +#define NFSD_VNET_DEFINE_STATIC(t, n) static t n +#define NFSD_VNET(n) (n) + +#define CTLFLAG_NFSD_VNET 0 + +#define NFSD_CURVNET_SET(n) +#define NFSD_CURVNET_SET_QUIET(n) +#define NFSD_CURVNET_RESTORE() +#define NFSD_TD_TO_VNET(n) NULL + #endif /* _KERNEL */ /* diff --git a/sys/fs/nfsserver/nfs_fha_new.c b/sys/fs/nfsserver/nfs_fha_new.c index 1f66842da5b8..59933ef01bd4 100644 --- a/sys/fs/nfsserver/nfs_fha_new.c +++ b/sys/fs/nfsserver/nfs_fha_new.c @@ -61,7 +61,8 @@ static struct fha_params fhanew_softc; SYSCTL_DECL(_vfs_nfsd); extern int newnfs_nfsv3_procid[]; -extern SVCPOOL *nfsrvd_pool; + +NFSD_VNET_DECLARE(SVCPOOL *, nfsrvd_pool); SYSINIT(nfs_fhanew, SI_SUB_ROOT_CONF, SI_ORDER_ANY, fhanew_init, NULL); SYSUNINIT(nfs_fhanew, SI_SUB_ROOT_CONF, SI_ORDER_ANY, fhanew_uninit, NULL); @@ -79,7 +80,7 @@ fhanew_init(void *foo) snprintf(softc->server_name, sizeof(softc->server_name), FHANEW_SERVER_NAME); - softc->pool = &nfsrvd_pool; + softc->pool = &NFSD_VNET(nfsrvd_pool); /* * Initialize the sysctl context list for the fha module. diff --git a/sys/fs/nfsserver/nfs_nfsdcache.c b/sys/fs/nfsserver/nfs_nfsdcache.c index 5efcb90411e0..e94d58481286 100644 --- a/sys/fs/nfsserver/nfs_nfsdcache.c +++ b/sys/fs/nfsserver/nfs_nfsdcache.c @@ -160,11 +160,15 @@ __FBSDID("$FreeBSD$"); */ #include <fs/nfs/nfsport.h> -extern struct nfsstatsv1 nfsstatsv1; extern struct mtx nfsrc_udpmtx; -extern struct nfsrchash_bucket nfsrchash_table[NFSRVCACHE_HASHSIZE]; -extern struct nfsrchash_bucket nfsrcahash_table[NFSRVCACHE_HASHSIZE]; -int nfsrc_floodlevel = NFSRVCACHE_FLOODLEVEL, nfsrc_tcpsavedreplies = 0; + +NFSD_VNET_DECLARE(struct nfsrvhashhead *, nfsrvudphashtbl); +NFSD_VNET_DECLARE(struct nfsrchash_bucket *, nfsrchash_table); +NFSD_VNET_DECLARE(struct nfsrchash_bucket *, nfsrcahash_table); +NFSD_VNET_DECLARE(struct nfsstatsv1 *, nfsstatsv1_p); + +NFSD_VNET_DEFINE(int, nfsrc_floodlevel) = NFSRVCACHE_FLOODLEVEL; +NFSD_VNET_DEFINE(int, nfsrc_tcpsavedreplies) = 0; SYSCTL_DECL(_vfs_nfsd); @@ -180,8 +184,8 @@ sysctl_tcphighwater(SYSCTL_HANDLER_ARGS) return (error); if (newhighwater < 0) return (EINVAL); - if (newhighwater >= nfsrc_floodlevel) - nfsrc_floodlevel = newhighwater + newhighwater / 5; + if (newhighwater >= NFSD_VNET(nfsrc_floodlevel)) + NFSD_VNET(nfsrc_floodlevel) = newhighwater + newhighwater / 5; nfsrc_tcphighwater = newhighwater; return (0); } @@ -202,9 +206,8 @@ SYSCTL_UINT(_vfs_nfsd, OID_AUTO, cachetcp, CTLFLAG_RW, &nfsrc_tcpnonidempotent, 0, "Enable the DRC for NFS over TCP"); -static int nfsrc_udpcachesize = 0; -static TAILQ_HEAD(, nfsrvcache) nfsrvudplru; -static struct nfsrvhashhead nfsrvudphashtbl[NFSRVCACHE_HASHSIZE]; +NFSD_VNET_DEFINE_STATIC(int, nfsrc_udpcachesize) = 0; +NFSD_VNET_DEFINE_STATIC(TAILQ_HEAD(, nfsrvcache), nfsrvudplru); /* * and the reverse mapping from generic to Version 2 procedure numbers @@ -236,10 +239,10 @@ static int newnfsv2_procid[NFS_V3NPROCS] = { #define nfsrc_hash(xid) (((xid) + ((xid) >> 24)) % NFSRVCACHE_HASHSIZE) #define NFSRCUDPHASH(xid) \ - (&nfsrvudphashtbl[nfsrc_hash(xid)]) + (&NFSD_VNET(nfsrvudphashtbl)[nfsrc_hash(xid)]) #define NFSRCHASH(xid) \ - (&nfsrchash_table[nfsrc_hash(xid)].tbl) -#define NFSRCAHASH(xid) (&nfsrcahash_table[nfsrc_hash(xid)]) + (&NFSD_VNET(nfsrchash_table)[nfsrc_hash(xid)].tbl) +#define NFSRCAHASH(xid) (&NFSD_VNET(nfsrcahash_table)[nfsrc_hash(xid)]) #define TRUE 1 #define FALSE 0 #define NFSRVCACHE_CHECKLEN 100 @@ -295,7 +298,7 @@ nfsrc_cachemutex(struct nfsrvcache *rp) if ((rp->rc_flag & RC_UDP) != 0) return (&nfsrc_udpmtx); - return (&nfsrchash_table[nfsrc_hash(rp->rc_xid)].mtx); + return (&NFSD_VNET(nfsrchash_table)[nfsrc_hash(rp->rc_xid)].mtx); } /* @@ -305,21 +308,27 @@ void nfsrvd_initcache(void) { int i; - static int inited = 0; - if (inited) - return; - inited = 1; + NFSD_VNET(nfsrvudphashtbl) = malloc(sizeof(struct nfsrvhashhead) * + NFSRVCACHE_HASHSIZE, M_NFSRVCACHE, M_WAITOK | M_ZERO); + NFSD_VNET(nfsrchash_table) = malloc(sizeof(struct nfsrchash_bucket) * + NFSRVCACHE_HASHSIZE, M_NFSRVCACHE, M_WAITOK | M_ZERO); + NFSD_VNET(nfsrcahash_table) = malloc(sizeof(struct nfsrchash_bucket) * + NFSRVCACHE_HASHSIZE, M_NFSRVCACHE, M_WAITOK | M_ZERO); + for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) { + mtx_init(&NFSD_VNET(nfsrchash_table)[i].mtx, "nfsrtc", NULL, + MTX_DEF); + mtx_init(&NFSD_VNET(nfsrcahash_table)[i].mtx, "nfsrtca", NULL, + MTX_DEF); + } for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) { - LIST_INIT(&nfsrvudphashtbl[i]); - LIST_INIT(&nfsrchash_table[i].tbl); - LIST_INIT(&nfsrcahash_table[i].tbl); + LIST_INIT(&NFSD_VNET(nfsrvudphashtbl)[i]); + LIST_INIT(&NFSD_VNET(nfsrchash_table)[i].tbl); + LIST_INIT(&NFSD_VNET(nfsrcahash_table)[i].tbl); } - TAILQ_INIT(&nfsrvudplru); - nfsrc_tcpsavedreplies = 0; - nfsrc_udpcachesize = 0; - nfsstatsv1.srvcache_tcppeak = 0; - nfsstatsv1.srvcache_size = 0; + TAILQ_INIT(&NFSD_VNET(nfsrvudplru)); + NFSD_VNET(nfsrc_tcpsavedreplies) = 0; + NFSD_VNET(nfsrc_udpcachesize) = 0; } /* @@ -392,17 +401,17 @@ loop: if (rp->rc_flag == 0) panic("nfs udp cache0"); rp->rc_flag |= RC_LOCKED; - TAILQ_REMOVE(&nfsrvudplru, rp, rc_lru); - TAILQ_INSERT_TAIL(&nfsrvudplru, rp, rc_lru); + TAILQ_REMOVE(&NFSD_VNET(nfsrvudplru), rp, rc_lru); + TAILQ_INSERT_TAIL(&NFSD_VNET(nfsrvudplru), rp, rc_lru); if (rp->rc_flag & RC_INPROG) { - nfsstatsv1.srvcache_inproghits++; + nfsstatsv1_p->srvcache_inproghits++; mtx_unlock(mutex); ret = RC_DROPIT; } else if (rp->rc_flag & RC_REPSTATUS) { /* * V2 only. */ - nfsstatsv1.srvcache_nonidemdonehits++; + nfsstatsv1_p->srvcache_nonidemdonehits++; mtx_unlock(mutex); nfsrvd_rephead(nd); *(nd->nd_errp) = rp->rc_status; @@ -410,7 +419,7 @@ loop: rp->rc_timestamp = NFSD_MONOSEC + NFSRVCACHE_UDPTIMEOUT; } else if (rp->rc_flag & RC_REPMBUF) { - nfsstatsv1.srvcache_nonidemdonehits++; + nfsstatsv1_p->srvcache_nonidemdonehits++; mtx_unlock(mutex); nd->nd_mreq = m_copym(rp->rc_reply, 0, M_COPYALL, M_WAITOK); @@ -425,9 +434,9 @@ loop: goto out; } } - nfsstatsv1.srvcache_misses++; - atomic_add_int(&nfsstatsv1.srvcache_size, 1); - nfsrc_udpcachesize++; + nfsstatsv1_p->srvcache_misses++; + atomic_add_int(&nfsstatsv1_p->srvcache_size, 1); + NFSD_VNET(nfsrc_udpcachesize)++; newrp->rc_flag |= RC_INPROG; saddr = NFSSOCKADDR(nd->nd_nam, struct sockaddr_in *); @@ -440,7 +449,7 @@ loop: newrp->rc_flag |= RC_INETIPV6; } LIST_INSERT_HEAD(hp, newrp, rc_hash); - TAILQ_INSERT_TAIL(&nfsrvudplru, newrp, rc_lru); + TAILQ_INSERT_TAIL(&NFSD_VNET(nfsrvudplru), newrp, rc_lru); mtx_unlock(mutex); nd->nd_rp = newrp; ret = RC_DOIT; @@ -472,15 +481,15 @@ nfsrvd_updatecache(struct nfsrv_descript *nd) panic("nfsrvd_updatecache not inprog"); rp->rc_flag &= ~RC_INPROG; if (rp->rc_flag & RC_UDP) { - TAILQ_REMOVE(&nfsrvudplru, rp, rc_lru); - TAILQ_INSERT_TAIL(&nfsrvudplru, rp, rc_lru); + TAILQ_REMOVE(&NFSD_VNET(nfsrvudplru), rp, rc_lru); + TAILQ_INSERT_TAIL(&NFSD_VNET(nfsrvudplru), rp, rc_lru); } /* * Reply from cache is a special case returned by nfsrv_checkseqid(). */ if (nd->nd_repstat == NFSERR_REPLYFROMCACHE) { - nfsstatsv1.srvcache_nonidemdonehits++; + nfsstatsv1_p->srvcache_nonidemdonehits++; mtx_unlock(mutex); nd->nd_repstat = 0; if (nd->nd_mreq) @@ -503,7 +512,7 @@ nfsrvd_updatecache(struct nfsrv_descript *nd) (rp->rc_refcnt > 0 || ((nd->nd_flag & ND_SAVEREPLY) && (rp->rc_flag & RC_UDP)) || ((nd->nd_flag & ND_SAVEREPLY) && !(rp->rc_flag & RC_UDP) && - nfsrc_tcpsavedreplies <= nfsrc_floodlevel && + NFSD_VNET(nfsrc_tcpsavedreplies) <= NFSD_VNET(nfsrc_floodlevel) && nfsrc_tcpnonidempotent))) { if (rp->rc_refcnt > 0) { if (!(rp->rc_flag & RC_NFSV4)) @@ -517,11 +526,12 @@ nfsrvd_updatecache(struct nfsrv_descript *nd) mtx_unlock(mutex); } else { if (!(rp->rc_flag & RC_UDP)) { - atomic_add_int(&nfsrc_tcpsavedreplies, 1); - if (nfsrc_tcpsavedreplies > - nfsstatsv1.srvcache_tcppeak) - nfsstatsv1.srvcache_tcppeak = - nfsrc_tcpsavedreplies; + atomic_add_int(&NFSD_VNET(nfsrc_tcpsavedreplies), + 1); + if (NFSD_VNET(nfsrc_tcpsavedreplies) > + nfsstatsv1_p->srvcache_tcppeak) + nfsstatsv1_p->srvcache_tcppeak = + NFSD_VNET(nfsrc_tcpsavedreplies); } mtx_unlock(mutex); m = m_copym(nd->nd_mreq, 0, M_COPYALL, M_WAITOK); @@ -678,7 +688,7 @@ tryagain: panic("nfs tcp cache0"); rp->rc_flag |= RC_LOCKED; if (rp->rc_flag & RC_INPROG) { - nfsstatsv1.srvcache_inproghits++; + nfsstatsv1_p->srvcache_inproghits++; mtx_unlock(mutex); if (newrp->rc_sockref == rp->rc_sockref) nfsrc_marksametcpconn(rp->rc_sockref); @@ -687,7 +697,7 @@ tryagain: /* * V2 only. */ - nfsstatsv1.srvcache_nonidemdonehits++; + nfsstatsv1_p->srvcache_nonidemdonehits++; mtx_unlock(mutex); if (newrp->rc_sockref == rp->rc_sockref) nfsrc_marksametcpconn(rp->rc_sockref); @@ -696,7 +706,7 @@ tryagain: *(nd->nd_errp) = rp->rc_status; rp->rc_timestamp = NFSD_MONOSEC + nfsrc_tcptimeout; } else if (rp->rc_flag & RC_REPMBUF) { - nfsstatsv1.srvcache_nonidemdonehits++; + nfsstatsv1_p->srvcache_nonidemdonehits++; mtx_unlock(mutex); if (newrp->rc_sockref == rp->rc_sockref) nfsrc_marksametcpconn(rp->rc_sockref); @@ -711,8 +721,8 @@ tryagain: free(newrp, M_NFSRVCACHE); goto out; } - nfsstatsv1.srvcache_misses++; - atomic_add_int(&nfsstatsv1.srvcache_size, 1); + nfsstatsv1_p->srvcache_misses++; + atomic_add_int(&nfsstatsv1_p->srvcache_size, 1); /* * For TCP, multiple entries for a key are allowed, so don't @@ -785,8 +795,8 @@ nfsrc_freecache(struct nfsrvcache *rp) LIST_REMOVE(rp, rc_hash); if (rp->rc_flag & RC_UDP) { - TAILQ_REMOVE(&nfsrvudplru, rp, rc_lru); - nfsrc_udpcachesize--; + TAILQ_REMOVE(&NFSD_VNET(nfsrvudplru), rp, rc_lru); + NFSD_VNET(nfsrc_udpcachesize)--; } else if (rp->rc_acked != RC_NO_SEQ) { hbp = NFSRCAHASH(rp->rc_sockref); mtx_lock(&hbp->mtx); @@ -798,10 +808,10 @@ nfsrc_freecache(struct nfsrvcache *rp) if (rp->rc_flag & RC_REPMBUF) { m_freem(rp->rc_reply); if (!(rp->rc_flag & RC_UDP)) - atomic_add_int(&nfsrc_tcpsavedreplies, -1); + atomic_add_int(&NFSD_VNET(nfsrc_tcpsavedreplies), -1); } free(rp, M_NFSRVCACHE); - atomic_add_int(&nfsstatsv1.srvcache_size, -1); + atomic_add_int(&nfsstatsv1_p->srvcache_size, -1); } /* @@ -814,20 +824,22 @@ nfsrvd_cleancache(void) int i; for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) { - mtx_lock(&nfsrchash_table[i].mtx); - LIST_FOREACH_SAFE(rp, &nfsrchash_table[i].tbl, rc_hash, nextrp) + mtx_lock(&NFSD_VNET(nfsrchash_table)[i].mtx); + LIST_FOREACH_SAFE(rp, &NFSD_VNET(nfsrchash_table)[i].tbl, + rc_hash, nextrp) nfsrc_freecache(rp); - mtx_unlock(&nfsrchash_table[i].mtx); + mtx_unlock(&NFSD_VNET(nfsrchash_table)[i].mtx); } mtx_lock(&nfsrc_udpmtx); for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) { - LIST_FOREACH_SAFE(rp, &nfsrvudphashtbl[i], rc_hash, nextrp) { + LIST_FOREACH_SAFE(rp, &NFSD_VNET(nfsrvudphashtbl)[i], rc_hash, + nextrp) { nfsrc_freecache(rp); } } - nfsstatsv1.srvcache_size = 0; + nfsstatsv1_p->srvcache_size = 0; mtx_unlock(&nfsrc_udpmtx); - nfsrc_tcpsavedreplies = 0; + NFSD_VNET(nfsrc_tcpsavedreplies) = 0; } #define HISTSIZE 16 @@ -864,25 +876,28 @@ nfsrc_trimcache(u_int64_t sockref, uint32_t snd_una, int final) if (atomic_cmpset_acq_int(&onethread, 0, 1) == 0) return; if (NFSD_MONOSEC != udp_lasttrim || - nfsrc_udpcachesize >= (nfsrc_udphighwater + + NFSD_VNET(nfsrc_udpcachesize) >= (nfsrc_udphighwater + nfsrc_udphighwater / 2)) { mtx_lock(&nfsrc_udpmtx); udp_lasttrim = NFSD_MONOSEC; - TAILQ_FOREACH_SAFE(rp, &nfsrvudplru, rc_lru, nextrp) { + TAILQ_FOREACH_SAFE(rp, &NFSD_VNET(nfsrvudplru), rc_lru, + nextrp) { if (!(rp->rc_flag & (RC_INPROG|RC_LOCKED|RC_WANTED)) && rp->rc_refcnt == 0 && ((rp->rc_flag & RC_REFCNT) || udp_lasttrim > rp->rc_timestamp || - nfsrc_udpcachesize > nfsrc_udphighwater)) + NFSD_VNET(nfsrc_udpcachesize) > + nfsrc_udphighwater)) nfsrc_freecache(rp); } mtx_unlock(&nfsrc_udpmtx); } if (NFSD_MONOSEC != tcp_lasttrim || - nfsrc_tcpsavedreplies >= nfsrc_tcphighwater) { + NFSD_VNET(nfsrc_tcpsavedreplies) >= nfsrc_tcphighwater) { force = nfsrc_tcphighwater / 4; if (force > 0 && - nfsrc_tcpsavedreplies + force >= nfsrc_tcphighwater) { + NFSD_VNET(nfsrc_tcpsavedreplies) + force >= + nfsrc_tcphighwater) { for (i = 0; i < HISTSIZE; i++) time_histo[i] = 0; i = 0; @@ -901,8 +916,9 @@ nfsrc_trimcache(u_int64_t sockref, uint32_t snd_una, int final) tto = nfsrc_tcptimeout; tcp_lasttrim = NFSD_MONOSEC; for (; i <= lastslot; i++) { - mtx_lock(&nfsrchash_table[i].mtx); - LIST_FOREACH_SAFE(rp, &nfsrchash_table[i].tbl, rc_hash, + mtx_lock(&NFSD_VNET(nfsrchash_table)[i].mtx); + LIST_FOREACH_SAFE(rp, + &NFSD_VNET(nfsrchash_table)[i].tbl, rc_hash, nextrp) { if (!(rp->rc_flag & (RC_INPROG|RC_LOCKED|RC_WANTED)) @@ -932,7 +948,7 @@ nfsrc_trimcache(u_int64_t sockref, uint32_t snd_una, int final) time_histo[j]++; } } - mtx_unlock(&nfsrchash_table[i].mtx); + mtx_unlock(&NFSD_VNET(nfsrchash_table)[i].mtx); } if (force) { /* @@ -951,8 +967,9 @@ nfsrc_trimcache(u_int64_t sockref, uint32_t snd_una, int final) k = 1; thisstamp = tcp_lasttrim + k; for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) { - mtx_lock(&nfsrchash_table[i].mtx); - LIST_FOREACH_SAFE(rp, &nfsrchash_table[i].tbl, + mtx_lock(&NFSD_VNET(nfsrchash_table)[i].mtx); + LIST_FOREACH_SAFE(rp, + &NFSD_VNET(nfsrchash_table)[i].tbl, rc_hash, nextrp) { if (!(rp->rc_flag & (RC_INPROG|RC_LOCKED|RC_WANTED)) @@ -962,7 +979,7 @@ nfsrc_trimcache(u_int64_t sockref, uint32_t snd_una, int final) rp->rc_acked == RC_ACK)) nfsrc_freecache(rp); } - mtx_unlock(&nfsrchash_table[i].mtx); + mtx_unlock(&NFSD_VNET(nfsrchash_table)[i].mtx); } } } diff --git a/sys/fs/nfsserver/nfs_nfsdkrpc.c b/sys/fs/nfsserver/nfs_nfsdkrpc.c index d2ba7887b8c2..696af8a0e409 100644 --- a/sys/fs/nfsserver/nfs_nfsdkrpc.c +++ b/sys/fs/nfsserver/nfs_nfsdkrpc.c @@ -52,7 +52,6 @@ __FBSDID("$FreeBSD$"); NFSDLOCKMUTEX; NFSV4ROOTLOCKMUTEX; -struct nfsv4lock nfsd_suspend_lock; char *nfsrv_zeropnfsdat = NULL; /* @@ -85,32 +84,39 @@ int newnfs_nfsv3_procid[NFS_V3NPROCS] = { SYSCTL_DECL(_vfs_nfsd); -SVCPOOL *nfsrvd_pool; - -static int nfs_privport = 0; -SYSCTL_INT(_vfs_nfsd, OID_AUTO, nfs_privport, CTLFLAG_RWTUN, - &nfs_privport, 0, +NFSD_VNET_DEFINE_STATIC(int, nfs_privport) = 0; +SYSCTL_INT(_vfs_nfsd, OID_AUTO, nfs_privport, CTLFLAG_NFSD_VNET | CTLFLAG_RWTUN, + &NFSD_VNET_NAME(nfs_privport), 0, "Only allow clients using a privileged port for NFSv2, 3 and 4"); -static int nfs_minvers = NFS_VER2; -SYSCTL_INT(_vfs_nfsd, OID_AUTO, server_min_nfsvers, CTLFLAG_RWTUN, - &nfs_minvers, 0, "The lowest version of NFS handled by the server"); +NFSD_VNET_DEFINE_STATIC(int, nfs_minvers) = NFS_VER2; +SYSCTL_INT(_vfs_nfsd, OID_AUTO, server_min_nfsvers, + CTLFLAG_NFSD_VNET | CTLFLAG_RWTUN, &NFSD_VNET_NAME(nfs_minvers), 0, + "The lowest version of NFS handled by the server"); -static int nfs_maxvers = NFS_VER4; -SYSCTL_INT(_vfs_nfsd, OID_AUTO, server_max_nfsvers, CTLFLAG_RWTUN, - &nfs_maxvers, 0, "The highest version of NFS handled by the server"); +NFSD_VNET_DEFINE_STATIC(int, nfs_maxvers) = NFS_VER4; +SYSCTL_INT(_vfs_nfsd, OID_AUTO, server_max_nfsvers, + CTLFLAG_NFSD_VNET | CTLFLAG_RWTUN, &NFSD_VNET_NAME(nfs_maxvers), 0, + "The highest version of NFS handled by the server"); static int nfs_proc(struct nfsrv_descript *, u_int32_t, SVCXPRT *xprt, struct nfsrvcache **); extern u_long sb_max_adj; extern int newnfs_numnfsd; -extern struct proc *nfsd_master_proc; extern time_t nfsdev_time; extern int nfsrv_writerpc[NFS_NPROCS]; extern volatile int nfsrv_devidcnt; extern struct nfsv4_opflag nfsv4_opflag[NFSV42_NOPS]; +NFSD_VNET_DECLARE(struct proc *, nfsd_master_proc); + +NFSD_VNET_DEFINE(SVCPOOL *, nfsrvd_pool); +NFSD_VNET_DEFINE(int, nfsrv_numnfsd) = 0; +NFSD_VNET_DEFINE(struct nfsv4lock, nfsd_suspend_lock); + +NFSD_VNET_DEFINE_STATIC(bool, nfsrvd_inited) = false; + /* * NFS server system calls */ @@ -125,6 +131,7 @@ nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt) u_int maxlen; #endif + NFSD_CURVNET_SET_QUIET(NFSD_TD_TO_VNET(curthread)); memset(&nd, 0, sizeof(nd)); if (rqst->rq_vers == NFS_VER2) { if (rqst->rq_proc > NFSV2PROC_STATFS || @@ -169,7 +176,7 @@ nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt) nd.nd_mreq = NULL; nd.nd_cred = NULL; - if (nfs_privport != 0) { + if (NFSD_VNET(nfs_privport) != 0) { /* Check if source port is privileged */ u_short port; struct sockaddr *nam = nd.nd_nam; @@ -261,17 +268,17 @@ nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt) * nfsv4root exports by nfsvno_v4rootexport(). */ NFSLOCKV4ROOTMUTEX(); - nfsv4_lock(&nfsd_suspend_lock, 0, NULL, NFSV4ROOTLOCKMUTEXPTR, - NULL); - nfsv4_getref(&nfsd_suspend_lock, NULL, NFSV4ROOTLOCKMUTEXPTR, - NULL); + nfsv4_lock(&NFSD_VNET(nfsd_suspend_lock), 0, NULL, + NFSV4ROOTLOCKMUTEXPTR, NULL); + nfsv4_getref(&NFSD_VNET(nfsd_suspend_lock), NULL, + NFSV4ROOTLOCKMUTEXPTR, NULL); NFSUNLOCKV4ROOTMUTEX(); if ((nd.nd_flag & ND_NFSV4) != 0) { nd.nd_repstat = nfsvno_v4rootexport(&nd); if (nd.nd_repstat != 0) { NFSLOCKV4ROOTMUTEX(); - nfsv4_relref(&nfsd_suspend_lock); + nfsv4_relref(&NFSD_VNET(nfsd_suspend_lock)); NFSUNLOCKV4ROOTMUTEX(); svcerr_weakauth(rqst); svc_freereq(rqst); @@ -287,7 +294,7 @@ nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt) #endif cacherep = nfs_proc(&nd, rqst->rq_xid, xprt, &rp); NFSLOCKV4ROOTMUTEX(); - nfsv4_relref(&nfsd_suspend_lock); + nfsv4_relref(&NFSD_VNET(nfsd_suspend_lock)); NFSUNLOCKV4ROOTMUTEX(); } else { NFSMGET(nd.nd_mreq); @@ -327,6 +334,7 @@ nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt) svc_freereq(rqst); out: + NFSD_CURVNET_RESTORE(); ast_kclear(curthread); NFSEXITCODE(0); } @@ -440,7 +448,9 @@ nfssvc_loss(SVCXPRT *xprt) ack = 0; SVC_ACK(xprt, &ack); + NFSD_CURVNET_SET(NFSD_TD_TO_VNET(curthread)); nfsrc_trimcache(xprt->xp_sockref, ack, 1); + NFSD_CURVNET_RESTORE(); } /* @@ -467,26 +477,28 @@ nfsrvd_addsock(struct file *fp) * unexpectedly. */ if (so->so_type == SOCK_DGRAM) - xprt = svc_dg_create(nfsrvd_pool, so, 0, 0); + xprt = svc_dg_create(NFSD_VNET(nfsrvd_pool), so, 0, 0); else - xprt = svc_vc_create(nfsrvd_pool, so, 0, 0); + xprt = svc_vc_create(NFSD_VNET(nfsrvd_pool), so, 0, 0); if (xprt) { fp->f_ops = &badfileops; fp->f_data = NULL; xprt->xp_sockref = ++sockref; - if (nfs_minvers == NFS_VER2) + if (NFSD_VNET(nfs_minvers) == NFS_VER2) svc_reg(xprt, NFS_PROG, NFS_VER2, nfssvc_program, NULL); - if (nfs_minvers <= NFS_VER3 && nfs_maxvers >= NFS_VER3) + if (NFSD_VNET(nfs_minvers) <= NFS_VER3 && + NFSD_VNET(nfs_maxvers) >= NFS_VER3) svc_reg(xprt, NFS_PROG, NFS_VER3, nfssvc_program, NULL); - if (nfs_maxvers >= NFS_VER4) + if (NFSD_VNET(nfs_maxvers) >= NFS_VER4) svc_reg(xprt, NFS_PROG, NFS_VER4, nfssvc_program, NULL); if (so->so_type == SOCK_STREAM) svc_loss_reg(xprt, nfssvc_loss); SVC_RELEASE(xprt); - } + } else + error = EPERM; out: NFSEXITCODE(error); @@ -518,13 +530,15 @@ nfsrvd_nfsd(struct thread *td, struct nfsd_nfsd_args *args) * use. */ NFSD_LOCK(); - if (newnfs_numnfsd == 0) { + if (NFSD_VNET(nfsrv_numnfsd) == 0) { + nfsrvd_init(0); nfsdev_time = time_second; p = td->td_proc; PROC_LOCK(p); p->p_flag2 |= P2_AST_SU; PROC_UNLOCK(p); - newnfs_numnfsd++; + newnfs_numnfsd++; /* Total num for all vnets. */ + NFSD_VNET(nfsrv_numnfsd)++; /* Num for this vnet. */ NFSD_UNLOCK(); error = nfsrv_createdevids(args, td); @@ -542,12 +556,15 @@ nfsrvd_nfsd(struct thread *td, struct nfsd_nfsd_args *args) NFS_VER4); if (!ret2 || !ret3 || !ret4) - printf( - "nfsd: can't register svc name\n"); + printf("nfsd: can't register svc " + "name %s jid:%d\n", principal, + td->td_ucred->cr_prison->pr_id); } - nfsrvd_pool->sp_minthreads = args->minthreads; - nfsrvd_pool->sp_maxthreads = args->maxthreads; + NFSD_VNET(nfsrvd_pool)->sp_minthreads = + args->minthreads; + NFSD_VNET(nfsrvd_pool)->sp_maxthreads = + args->maxthreads; /* * If this is a pNFS service, make Getattr do a @@ -558,7 +575,7 @@ nfsrvd_nfsd(struct thread *td, struct nfsd_nfsd_args *args) nfsv4_opflag[NFSV4OP_GETATTR].modifyfs = 1; } - svc_run(nfsrvd_pool); + svc_run(NFSD_VNET(nfsrvd_pool)); /* Reset Getattr to not do a vn_start_write(). */ nfsrv_writerpc[NFSPROC_GETATTR] = 0; @@ -572,6 +589,7 @@ nfsrvd_nfsd(struct thread *td, struct nfsd_nfsd_args *args) } NFSD_LOCK(); newnfs_numnfsd--; + NFSD_VNET(nfsrv_numnfsd)--; nfsrvd_init(1); PROC_LOCK(p); p->p_flag2 &= ~P2_AST_SU; @@ -596,21 +614,25 @@ nfsrvd_init(int terminating) NFSD_LOCK_ASSERT(); if (terminating) { - nfsd_master_proc = NULL; + NFSD_VNET(nfsd_master_proc) = NULL; NFSD_UNLOCK(); nfsrv_freealllayoutsanddevids(); nfsrv_freeallbackchannel_xprts(); - svcpool_close(nfsrvd_pool); + svcpool_close(NFSD_VNET(nfsrvd_pool)); free(nfsrv_zeropnfsdat, M_TEMP); nfsrv_zeropnfsdat = NULL; NFSD_LOCK(); } else { + /* Initialize per-vnet globals once per vnet. */ + if (NFSD_VNET(nfsrvd_inited)) + return; + NFSD_VNET(nfsrvd_inited) = true; NFSD_UNLOCK(); - nfsrvd_pool = svcpool_create("nfsd", + NFSD_VNET(nfsrvd_pool) = svcpool_create("nfsd", SYSCTL_STATIC_CHILDREN(_vfs_nfsd)); - nfsrvd_pool->sp_rcache = NULL; - nfsrvd_pool->sp_assign = fhanew_assign; - nfsrvd_pool->sp_done = fhanew_nd_complete; + NFSD_VNET(nfsrvd_pool)->sp_rcache = NULL; + NFSD_VNET(nfsrvd_pool)->sp_assign = fhanew_assign; + NFSD_VNET(nfsrvd_pool)->sp_done = fhanew_nd_complete; NFSD_LOCK(); } } diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 9cd7f9320bd5..af5327bd5a2d 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include <sys/callout.h> #include <sys/filio.h> #include <sys/hash.h> +#include <sys/osd.h> #include <sys/sysctl.h> #include <nlm/nlm_prot.h> #include <nlm/nlm.h> @@ -59,45 +60,57 @@ FEATURE(nfsd, "NFSv4 server"); extern u_int32_t newnfs_true, newnfs_false, newnfs_xdrneg1; extern int nfsrv_useacl; extern int newnfs_numnfsd; -extern struct mount nfsv4root_mnt; -extern struct nfsrv_stablefirst nfsrv_stablefirst; -extern SVCPOOL *nfsrvd_pool; -extern struct nfsv4lock nfsd_suspend_lock; -extern struct nfsclienthashhead *nfsclienthash; -extern struct nfslockhashhead *nfslockhash; -extern struct nfssessionhash *nfssessionhash; extern int nfsrv_sessionhashsize; extern struct nfsstatsv1 nfsstatsv1; extern struct nfslayouthash *nfslayouthash; extern int nfsrv_layouthashsize; extern struct mtx nfsrv_dslock_mtx; extern int nfs_pnfsiothreads; -extern struct nfsdontlisthead nfsrv_dontlisthead; -extern volatile int nfsrv_dontlistlen; extern volatile int nfsrv_devidcnt; extern int nfsrv_maxpnfsmirror; extern uint32_t nfs_srvmaxio; extern int nfs_bufpackets; extern u_long sb_max_adj; -struct vfsoptlist nfsv4root_opt, nfsv4root_newopt; + +NFSD_VNET_DECLARE(int, nfsrv_numnfsd); +NFSD_VNET_DECLARE(struct nfsrv_stablefirst, nfsrv_stablefirst); +NFSD_VNET_DECLARE(SVCPOOL *, nfsrvd_pool); +NFSD_VNET_DECLARE(struct nfsclienthashhead *, nfsclienthash); +NFSD_VNET_DECLARE(struct nfslockhashhead *, nfslockhash); +NFSD_VNET_DECLARE(struct nfssessionhash *, nfssessionhash); +NFSD_VNET_DECLARE(struct nfsv4lock, nfsd_suspend_lock); + NFSDLOCKMUTEX; NFSSTATESPINLOCK; -struct nfsrchash_bucket nfsrchash_table[NFSRVCACHE_HASHSIZE]; -struct nfsrchash_bucket nfsrcahash_table[NFSRVCACHE_HASHSIZE]; struct mtx nfsrc_udpmtx; struct mtx nfs_v4root_mutex; struct mtx nfsrv_dontlistlock_mtx; struct mtx nfsrv_recalllock_mtx; -struct nfsrvfh nfs_rootfh, nfs_pubfh; -int nfs_pubfhset = 0, nfs_rootfhset = 0; -struct proc *nfsd_master_proc = NULL; +struct nfsrvfh nfs_pubfh; +int nfs_pubfhset = 0; int nfsd_debuglevel = 0; static pid_t nfsd_master_pid = (pid_t)-1; static char nfsd_master_comm[MAXCOMLEN + 1]; static struct timeval nfsd_master_start; static uint32_t nfsv4_sysid = 0; static fhandle_t zerofh; -struct callout nfsd_callout; +static int nfsrv_osd_jail_slot; + +NFSD_VNET_DEFINE(struct proc *, nfsd_master_proc) = NULL; +NFSD_VNET_DEFINE(struct nfsrvhashhead *, nfsrvudphashtbl); +NFSD_VNET_DEFINE(struct nfsrchash_bucket *, nfsrchash_table); +NFSD_VNET_DEFINE(struct nfsrchash_bucket *, nfsrcahash_table); +NFSD_VNET_DEFINE(struct nfsrvfh, nfs_rootfh); +NFSD_VNET_DEFINE(int, nfs_rootfhset) = 0; +NFSD_VNET_DEFINE(struct callout, nfsd_callout); +NFSD_VNET_DEFINE(struct nfsstatsv1 *, nfsstatsv1_p); +NFSD_VNET_DEFINE_STATIC(struct mount *, nfsv4root_mnt); +NFSD_VNET_DEFINE_STATIC(struct vfsoptlist, nfsv4root_opt); +NFSD_VNET_DEFINE_STATIC(struct vfsoptlist, nfsv4root_newopt); +NFSD_VNET_DEFINE_STATIC(bool, nfsrv_suspend_nfsd) = false; +NFSD_VNET_DEFINE_STATIC(bool, nfsrv_mntinited) = false; + +static void nfsrv_cleanup(struct prison *); static int nfssvc_srvcall(struct thread *, struct nfssvc_args *, struct ucred *); @@ -108,7 +121,6 @@ static int nfs_commit_blks; static int nfs_commit_miss; extern int nfsrv_issuedelegs; extern int nfsrv_dolocallocks; -extern int nfsd_enable_stringtouid; extern struct nfsdevicehead nfsrv_devidhead; static int nfsrv_createiovec(int, struct mbuf **, struct mbuf **, @@ -170,8 +182,10 @@ SYSCTL_INT(_vfs_nfsd, OID_AUTO, enable_locallocks, CTLFLAG_RW, &nfsrv_dolocallocks, 0, "Enable nfsd to acquire local locks on files"); SYSCTL_INT(_vfs_nfsd, OID_AUTO, debuglevel, CTLFLAG_RW, &nfsd_debuglevel, 0, "Debug level for NFS server"); -SYSCTL_INT(_vfs_nfsd, OID_AUTO, enable_stringtouid, CTLFLAG_RW, - &nfsd_enable_stringtouid, 0, "Enable nfsd to accept numeric owner_names"); +NFSD_VNET_DECLARE(int, nfsd_enable_stringtouid); +SYSCTL_INT(_vfs_nfsd, OID_AUTO, enable_stringtouid, + CTLFLAG_NFSD_VNET | CTLFLAG_RW, &NFSD_VNET_NAME(nfsd_enable_stringtouid), + 0, "Enable nfsd to accept numeric owner_names"); static int nfsrv_pnfsgetdsattr = 1; SYSCTL_INT(_vfs_nfsd, OID_AUTO, pnfsgetdsattr, CTLFLAG_RW, &nfsrv_pnfsgetdsattr, 0, "When set getattr gets DS attributes via RPC"); @@ -1022,7 +1036,7 @@ nfsvno_read(struct vnode *vp, off_t off, int cnt, struct ucred *cred, nh = nfsrv_sequential_heuristic(uiop, vp); ioflag |= nh->nh_seqcount << IO_SEQSHIFT; /* XXX KDM make this more systematic? */ - nfsstatsv1.srvbytes[NFSV4OP_READ] += uiop->uio_resid; + nfsstatsv1_p->srvbytes[NFSV4OP_READ] += uiop->uio_resid; error = VOP_READ(vp, uiop, IO_NODELOCKED | ioflag, cred); free(iv, M_TEMP); if (error) { @@ -1147,7 +1161,7 @@ nfsvno_write(struct vnode *vp, off_t off, int retlen, int *stable, nh = nfsrv_sequential_heuristic(uiop, vp); ioflags |= nh->nh_seqcount << IO_SEQSHIFT; /* XXX KDM make this more systematic? */ - nfsstatsv1.srvbytes[NFSV4OP_WRITE] += uiop->uio_resid; + nfsstatsv1_p->srvbytes[NFSV4OP_WRITE] += uiop->uio_resid; error = VOP_WRITE(vp, uiop, ioflags, cred); if (error == 0) nh->nh_nextoff = uiop->uio_offset; @@ -3252,7 +3266,7 @@ nfsvno_checkexp(struct mount *mp, struct sockaddr *nam, struct nfsexstuff *exp, error = VFS_CHECKEXP(mp, nam, &exp->nes_exflag, credp, &exp->nes_numsecflavor, exp->nes_secflavors); if (error) { - if (nfs_rootfhset) { + if (NFSD_VNET(nfs_rootfhset)) { exp->nes_exflag = 0; exp->nes_numsecflavor = 0; error = 0; @@ -3287,7 +3301,7 @@ nfsvno_fhtovp(struct mount *mp, fhandle_t *fhp, struct sockaddr *nam, error = VFS_CHECKEXP(mp, nam, &exp->nes_exflag, credp, &exp->nes_numsecflavor, exp->nes_secflavors); if (error) { - if (nfs_rootfhset) { + if (NFSD_VNET(nfs_rootfhset)) { exp->nes_exflag = 0; exp->nes_numsecflavor = 0; error = 0; @@ -3455,9 +3469,9 @@ nfsrv_v4rootexport(void *argp, struct ucred *cred, struct thread *p) struct nameidata nd; fhandle_t fh; - error = vfs_export(&nfsv4root_mnt, &nfsexargp->export); + error = vfs_export(NFSD_VNET(nfsv4root_mnt), &nfsexargp->export); if ((nfsexargp->export.ex_flags & MNT_DELEXPORT) != 0) - nfs_rootfhset = 0; + NFSD_VNET(nfs_rootfhset) = 0; else if (error == 0) { if (nfsexargp->fspec == NULL) { error = EPERM; @@ -3472,11 +3486,11 @@ nfsrv_v4rootexport(void *argp, struct ucred *cred, struct thread *p) error = nfsvno_getfh(nd.ni_vp, &fh, p); vrele(nd.ni_vp); if (!error) { - nfs_rootfh.nfsrvfh_len = NFSX_MYFH; + NFSD_VNET(nfs_rootfh).nfsrvfh_len = NFSX_MYFH; NFSBCOPY((caddr_t)&fh, - nfs_rootfh.nfsrvfh_data, + NFSD_VNET(nfs_rootfh).nfsrvfh_data, sizeof (fhandle_t)); - nfs_rootfhset = 1; + NFSD_VNET(nfs_rootfhset) = 1; } } @@ -3512,29 +3526,53 @@ nfsrv_mallocmget_limit(void) void nfsd_mntinit(void) { - static int inited = 0; - if (inited) + NFSD_LOCK(); + if (NFSD_VNET(nfsrv_mntinited)) { + NFSD_UNLOCK(); return; - inited = 1; - nfsv4root_mnt.mnt_flag = (MNT_RDONLY | MNT_EXPORTED); - TAILQ_INIT(&nfsv4root_mnt.mnt_nvnodelist); - TAILQ_INIT(&nfsv4root_mnt.mnt_lazyvnodelist); - nfsv4root_mnt.mnt_export = NULL; - TAILQ_INIT(&nfsv4root_opt); - TAILQ_INIT(&nfsv4root_newopt); - nfsv4root_mnt.mnt_opt = &nfsv4root_opt; - nfsv4root_mnt.mnt_optnew = &nfsv4root_newopt; - nfsv4root_mnt.mnt_nvnodelistsize = 0; - nfsv4root_mnt.mnt_lazyvnodelistsize = 0; + } + NFSD_VNET(nfsrv_mntinited) = true; + NFSD_UNLOCK(); + + if (curthread->td_ucred->cr_prison == &prison0) + NFSD_VNET(nfsstatsv1_p) = &nfsstatsv1; + else + NFSD_VNET(nfsstatsv1_p) = malloc(sizeof(struct nfsstatsv1), + M_TEMP, M_WAITOK | M_ZERO); + nfsstatsv1_p->srvcache_tcppeak = 0; + nfsstatsv1_p->srvcache_size = 0; + NFSD_VNET(nfsv4root_mnt) = malloc(sizeof(struct mount), M_TEMP, + M_WAITOK | M_ZERO); + NFSD_VNET(nfsv4root_mnt)->mnt_flag = (MNT_RDONLY | MNT_EXPORTED); + mtx_init(&NFSD_VNET(nfsv4root_mnt)->mnt_mtx, "nfs4mnt", NULL, MTX_DEF); + lockinit(&NFSD_VNET(nfsv4root_mnt)->mnt_explock, PVFS, "explock", 0, 0); + TAILQ_INIT(&NFSD_VNET(nfsv4root_mnt)->mnt_nvnodelist); + TAILQ_INIT(&NFSD_VNET(nfsv4root_mnt)->mnt_lazyvnodelist); + NFSD_VNET(nfsv4root_mnt)->mnt_export = NULL; + TAILQ_INIT(&NFSD_VNET(nfsv4root_opt)); + TAILQ_INIT(&NFSD_VNET(nfsv4root_newopt)); + NFSD_VNET(nfsv4root_mnt)->mnt_opt = &NFSD_VNET(nfsv4root_opt); + NFSD_VNET(nfsv4root_mnt)->mnt_optnew = &NFSD_VNET(nfsv4root_newopt); + NFSD_VNET(nfsv4root_mnt)->mnt_nvnodelistsize = 0; + NFSD_VNET(nfsv4root_mnt)->mnt_lazyvnodelistsize = 0; + callout_init(&NFSD_VNET(nfsd_callout), 1); + + nfsrvd_initcache(); + nfsd_init(); } static void nfsd_timer(void *arg) { - - nfsrv_servertimer(); - callout_reset_sbt(&nfsd_callout, SBT_1S, SBT_1S, nfsd_timer, NULL, 0); + struct vnet *vnetp; + + vnetp = (struct vnet *)arg; + NFSD_CURVNET_SET_QUIET(vnetp); + nfsrv_servertimer(vnetp); + callout_reset_sbt(&NFSD_VNET(nfsd_callout), SBT_1S, SBT_1S, nfsd_timer, + arg, 0); + NFSD_CURVNET_RESTORE(); } /* @@ -3616,7 +3654,7 @@ nfsvno_v4rootexport(struct nfsrv_descript *nd) int error = 0, numsecflavor, secflavors[MAXSECFLAVORS], i; uint64_t exflags; - error = vfs_stdcheckexp(&nfsv4root_mnt, nd->nd_nam, &exflags, + error = vfs_stdcheckexp(NFSD_VNET(nfsv4root_mnt), nd->nd_nam, &exflags, &credanon, &numsecflavor, secflavors); if (error) { error = NFSERR_PROGUNAVAIL; @@ -3649,6 +3687,18 @@ out: *** 1213 LINES SKIPPED ***