From nobody Mon Apr 8 06:49:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfnt08gbz5GL0T; Mon, 8 Apr 2024 06:49: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 4VCfns6dDjz4m6x; Mon, 8 Apr 2024 06:49:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fxe8izaMqHs/trgM+2ttyTUC845RtLJ0fA5KYI3m4G4=; b=rfR5tmjDumwwmhmrKJVW3PZQIatIKLXVT8FRl++AIEtVDa1vb6xAuaGHSfwX5z8yxoHYCZ TCPUnJr4ckwsbuCi1myzMH+awKrKuATdyFs82LNc2QVmMqeQeQlJ0Z/PsrQpG0LMjd5D5Z wegLLZA/FHJMkd5X3e5U81T2PlIRX0CR3MtZO/87zgimpM37t5sBHo7aIJeH+MknBqlmur mSQmpD74W3i17TiQGrcOyeRwv4aqvjN1gKsw1to85RqazODEi4nBcLaA7uypdpbUGsD09h FaLvtkK9/2DTru6Nrq/rgbC1E6zRGP7GHPs5B3Zjkz9vZ0xgQCg0/MvNH2Z98A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558945; a=rsa-sha256; cv=none; b=PHogUYEPO8+Px3cCnKrFjAH9779urwjier4jxE8x2ZYuAhr/FJpTzw4jmQinHKGQuV0jz5 kAyBYJaiWdQUuaGKKvkSYdkzRXXvRj2yTMEJmSJsbTbgbvmha1NsSGPqPbDP46/FMB9Dyf k9hvd2+X6qauhZF6HXYq2qO+maE2P5cYznpAn7lCexSUOArObYo5RYvXblpwFcB1CEjh/B 3SQjMyUwJcQkSAZWI+tgfXzqaUUxBJktGxUjePPRS5z90XEwHF88LMFJq2u2kZxFx/pY9E VOv1I6tFhB1iCa8XHoT/swUsaQLlPhkrhzsP5lzRWTGMyTeePkTzgyEJU9WpRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fxe8izaMqHs/trgM+2ttyTUC845RtLJ0fA5KYI3m4G4=; b=cGSKC1wEElk1skd+kbz9lXFiU8bZNgSwPUw/uXToENP/94ZicEYcfxuhdm7p74/1qBuHSy SQt/vUsSZnvAGx8Dosp3MXKobI+HXiblxqL8MgEel4q3xLTc2bucts2ni/xQfXyOFkqNAg A/Q4GydlLLZhqb7KZA7LdTmuVIKIAWoTTOpCNiOcLhJ7Gqc5JoqJ+Pm8Q41nZ4WEZ/YA6j m8yH6rZJGQTU/MTYFfbrpqc3yLuP13vSgud+zw9WnLWM/vG62F6rF0GoKCIgqzCb7u/lvz 1WlAMw0Ko3egFiFJPyPrPQ0A+R0GSGGDVUUZ3rqH5Ezgna36Djm2OwZKPS392Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfns6DMxz11Ms; Mon, 8 Apr 2024 06:49:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386n514032542; Mon, 8 Apr 2024 06:49:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386n537032539; Mon, 8 Apr 2024 06:49:05 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:05 GMT Message-Id: <202404080649.4386n537032539@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: 8ace984e477b - main - LinuxKPI: Set suspend type on syspend/resume cycle enter 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: 8ace984e477b0ee1fcc317752603ec4fe9c7f636 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=8ace984e477b0ee1fcc317752603ec4fe9c7f636 commit 8ace984e477b0ee1fcc317752603ec4fe9c7f636 Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:41 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:41 +0000 LinuxKPI: Set suspend type on syspend/resume cycle enter Recent amdgpu depends on pm_suspend_target_state value to separate S3 and S0ix support. Sponsored by: Serenity Cyber Security, LLC Reviewed by: manu (in bugzilla) MFC after: 1 week --- sys/compat/linuxkpi/common/src/linux_acpi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_acpi.c b/sys/compat/linuxkpi/common/src/linux_acpi.c index e7b6854ecf13..60ec838e9da7 100644 --- a/sys/compat/linuxkpi/common/src/linux_acpi.c +++ b/sys/compat/linuxkpi/common/src/linux_acpi.c @@ -109,12 +109,14 @@ linux_handle_power_suspend_event(void *arg __unused) * TODO: Make acpi_sleep_event consistent */ linux_acpi_target_sleep_state = ACPI_STATE_S3; + pm_suspend_target_state = PM_SUSPEND_MEM; } static void linux_handle_power_resume_event(void *arg __unused) { linux_acpi_target_sleep_state = ACPI_STATE_S0; + pm_suspend_target_state = PM_SUSPEND_ON; } static void From nobody Mon Apr 8 06:49:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfnv26W3z5GKw7; Mon, 8 Apr 2024 06:49: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 4VCfnv08zSz4mH7; Mon, 8 Apr 2024 06:49:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4Yp59Lfecxq1OZWZ0bEHBIxBeG/lJdZ3VXqJHNgiawo=; b=AsdRBpTneTmGBKodIOr+dR/cXbUw7WpujETm95j4lf292Ceb+PeFTWiO+LQn8Z98Eo3uBI SK8autqXSnTQMX3Z+9tJtThDoqXMO4RcikdbSnKWL9tzOsGwTptc7+aJuQGaIFeUZAiaPh Beey+QppGElyzw//UrrKkNJu0+KvJtdVGOuaff4O4/K26pWVSgkwjvm+EWtd+M3rnMIBIe 5imJ/i2yS82Rq5H1Gdyfmn47LLfBU6w5knD2iXqTlfxtfsLSloaqIXlf0Q8XTR0RcebcvS Wd00lQWRM46VOhgI90Hz+yGoM6ccnDOqF8WnHeGfvQjpohx7NiisacDMF8xb1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558947; a=rsa-sha256; cv=none; b=udlu812skPiERRaAwvvr2x02g4Xzk8iunSMuvN34RtxlCSHq8l27uoPKzr/bKIQzOVctI+ swaZ/zO9ihpmCZtAAgl/IsB1E9XZyv9EAbGuWUawqGWlg46SoIeohaetdIrh+M7wBsVATm g/ITMDaXOGNISFjBe0M3/8K6tX6HtPYHNX3gFkR6QyDy3LJJfB/dasmqVFG7Fcb+jDGnJF Xl74vUwgORCeamwAlRmXZFLXgDHVTqmhfkaLDscMg1v3jVKsHsgr31MpX0Yj4xD0RFyMEq fmyNmXQ703Wy0BRSYBNP2PBQYmzdEzfuo1uSva7o4uOixxNZE3rF5zDY258bcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4Yp59Lfecxq1OZWZ0bEHBIxBeG/lJdZ3VXqJHNgiawo=; b=KCjO3V7RzXCjjSq2LC0iIEHJ2p0r+PRE+eUaqSJ/fujRszeeLM7A+xnUewxlRxn1Z8MYqI K2iV4YoxmKaXvKf6gB5+j+i9EC7WdAVGIVaTcucoPsPGlqgDQ5uh+7he8GOx6W95rfFQqO FW8AwiB1TiMZcARCCuKo7OgB0YS3EnQ8c1tcXtNYmNLWGla2ecOCAh4IipY2xA6HZQYCY0 ocOyY1zZ7P6dfUlZckky4ujl3WJ7dXltlXmApFFpwC3F5KK94crlDbzd9iqdx7/ckJOwTV jp6bHozDXGEhbiFjtxKEHSY4TkOeltSZxP1MOdX2sDRpJBIgFYUTY9b9oTtNKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfnt6t84z11kY; Mon, 8 Apr 2024 06:49:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386n6JK032578; Mon, 8 Apr 2024 06:49:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386n6IX032575; Mon, 8 Apr 2024 06:49:06 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:06 GMT Message-Id: <202404080649.4386n6IX032575@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: aafe4126f794 - main - LinuxKPI: Add ms_to_ktime 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: aafe4126f7942daef5b7d522bd4fafc5deddb0bf Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=aafe4126f7942daef5b7d522bd4fafc5deddb0bf commit aafe4126f7942daef5b7d522bd4fafc5deddb0bf Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:42 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:42 +0000 LinuxKPI: Add ms_to_ktime Sponsored by: Serenity CyberSecurity, LLC Reviewed by: emaste MFC after: 1 week --- sys/compat/linuxkpi/common/include/linux/ktime.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/ktime.h b/sys/compat/linuxkpi/common/include/linux/ktime.h index b13c7182bc61..53c2abd64fc6 100644 --- a/sys/compat/linuxkpi/common/include/linux/ktime.h +++ b/sys/compat/linuxkpi/common/include/linux/ktime.h @@ -69,6 +69,12 @@ ktime_to_ms(ktime_t kt) return (ktime_divns(kt, NSEC_PER_MSEC)); } +static inline ktime_t +ms_to_ktime(uint64_t ms) +{ + return (ms * NSEC_PER_MSEC); +} + static inline struct timeval ktime_to_timeval(ktime_t kt) { From nobody Mon Apr 8 06:49:08 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfnw3nZzz5GKsT; Mon, 8 Apr 2024 06:49: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 4VCfnw1Qgpz4mBn; Mon, 8 Apr 2024 06:49:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XsqfYZ6EvsV29UzbQaamsUA53/Xdh0Lid9UEVhdxkbk=; b=S25V2FowQwgm9Aeki7Jkkme5YaaCaKZ3cbtiH9WC5nqinxguN3BdzBRF2TNgg9Dw0lCAn0 UEdU54jM2vy1GFH9y200c1vxURlom9xiO954BZuLrm8JWmezfBPQlnS2JW8n1iO85EvPAC pbb49ZWv7xPTxsWhpxIyiiqP+WISE8PCH+LMwyRyF+4Rg8bwQloHJ8uXzv9PTir6rUEPFv +g9LVASktGFUEx0mgJf3LxEEecSfWkDP5illOEEXuP+VpZ4GuVNkuvS114+Jx4sbIRyG3U GuEySVZElF7E5enUXut1rMCky3cCm3HtT082Xv1ZLYJTamyhl71Fn9+xyM3h9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558948; a=rsa-sha256; cv=none; b=dElnyjqCBTZ2Y3+3vNvaxf/aKG8I/IWcs3/VaFETevKZ1cV/KtGllXeebaWDdoI8Czk7cc C8E1jPNGzv6aILVBc71Rxe+2oGedUnlw77pNtmhFGkTuaZDamCHRe/j+U3LAherhwgpQjC A7ZTU/kycChfZU1jpKaXEym+8ZiXTJKdy+O88kqhLxTLGi8Q3Fbl7dx2VD+nfXwgivza+t lRYbuJ6vmcjC2zOLhnShwv/6nUtQIgAOCCigLV1HjlAB2oCI14upj9+NpQjDFepFzASyLW LZ9PLT5glWfgUZvbNgwhn9aj/icE+pwjorC9binevl46eZ9qhd6dZj6Wxs68Zg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XsqfYZ6EvsV29UzbQaamsUA53/Xdh0Lid9UEVhdxkbk=; b=XZeXu1Q0h1A8Hj/x5IpKllHmPjrANjE0OCRlz7wFZVkbeJ3l5l4nn/VJuaDsY0V1vQCyQ3 upvViSbYB/w8i79uPH+qDw4z3E4tzlnVmYHwYdvDlT25HDaFQ3ogOYT0vSihhvdge4q5mc n9VSI4/wN/wkf2dnU7kTGnF7J+UUY7y3CaC2K7MRBzHX4sMV5Obkj1yDkSTPeQXiSA5Hyt L9Sxirq+vLQCeQAcVKxcmVG1ZQZza4IbhhDkUV33fv3pzxa8PcQR4JSjDqnSZpaj61kSUh ApUoVInL2D3K8nkSt3QFPVdfOPsAQq9PwARj/D/aJ8Xe4jXQfI9ztJhKTjVSdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfnw12nXz11h3; Mon, 8 Apr 2024 06:49:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386n8eS032624; Mon, 8 Apr 2024 06:49:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386n8og032621; Mon, 8 Apr 2024 06:49:08 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:08 GMT Message-Id: <202404080649.4386n8og032621@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: 19703887666d - main - LinuxKPI: Add strnchr function 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: 19703887666da09c79c571bc78f0923bae62be91 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=19703887666da09c79c571bc78f0923bae62be91 commit 19703887666da09c79c571bc78f0923bae62be91 Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:42 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:42 +0000 LinuxKPI: Add strnchr function strnchr() finds a character in a length limited string. Sponsored by: Serenity CyberSecurity, LLC Reviewed by: emaste MFC after: 1 month --- sys/compat/linuxkpi/common/include/linux/string.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/string.h b/sys/compat/linuxkpi/common/include/linux/string.h index f745c2f6d343..13c8fee602dd 100644 --- a/sys/compat/linuxkpi/common/include/linux/string.h +++ b/sys/compat/linuxkpi/common/include/linux/string.h @@ -214,6 +214,21 @@ strscpy_pad(char* dst, const char* src, size_t len) return (strscpy(dst, src, len)); } +static inline char * +strnchr(const char *cp, size_t n, int ch) +{ + char *p; + + for (p = __DECONST(char *, cp); n--; ++p) { + if (*p == ch) + return (p); + if (*p == '\0') + break; + } + + return (NULL); +} + static inline void * memset32(uint32_t *b, uint32_t c, size_t len) { From nobody Mon Apr 8 06:49:09 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfnx4CPRz5GL7h; Mon, 8 Apr 2024 06:49: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 4VCfnx2jBSz4mTF; Mon, 8 Apr 2024 06:49:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hE89In7MMroBDPlFaQtu4D/kxN3obakFTf7vDQdQnpI=; b=iA3nXu5ybPyp13BvGjHW3q77kfHVIWmQWpQd566exUu5GUb4IhlQf2diHPzJ/GeBZu98x3 V+1UztZyMG5xKHqvVBqHV997jT3dajoCzXYe18iKLFNX6IfBuY6Q4WGWWXG2nnmaO8ANsH bVLdjwpCONFuWk21fXA5O9Py5cCflJMVU5S2Q90nAuBNr7Py4hi8XvFfu0jabsRnzoN1zp TFkcgBviitbr3MpBU8XJ6WTb3ihLMTASpBe7XhTHyT25z5bdyNrn4yOaoBpNM4T+DurlXZ mPa/Ff2UMCvHKjjagnPFsEt0jjfc1OlhFPCSKrkhBeiTGD+UPoLF4TP+BAETFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558949; a=rsa-sha256; cv=none; b=W7OqMuXVtbWIGRsAJ6hso8ADGH432ywAhrL4ZAPjLSHo4jafnsCfiubgg2Rr30wNNacpvf A2o77MsEdQbDdeu1w1SCMz1+0pnOywavB8JaiZ+XB9sPOYSnnR6/coPLqa7vGD6D8p9c0P 8a8/Mn755IXm/Bw/+3S4LEUaKriwLlQpQ6G5J/i++/Z6rQ8sqJjM+2nSiW+rpPEd9HxgyM tocsbryCbDV39ZistUayXtoplOBHLC1ajzmYmR5E9LUzvy1P80/0tzllCD79u1ioJFgLS5 JdWeUYBMlLYSswp+Jl1q9UDd2ehffFs1DwQAB00hEexC19O1FQqaHRxafgVFZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hE89In7MMroBDPlFaQtu4D/kxN3obakFTf7vDQdQnpI=; b=a+gNVs2IgTi3MtwuEGbr/fluJijrsKP/7SJtHtxZDM70J8xCRJeqXEvMsl7V/u/9v24WX3 gL5+vXVPsFmg+5cnDC18waKGeR5SLJHy2RV5qE3Fd6ILCEwC1Eji9gW+HtG+3Yqm7YjtSF iyA5EKrG5TS7mqmb1ImNbAbr+gZv65PM44V16Omhk0ncJA74H+JCcwfHu5fMDewiPPYRkw 4GqDiTzcU2MlCEpOGkc/YimHRQB/xPLn4b/hcaGvPdgFXmFpPGA4yty8rLzjMC3gzWS2Av fXIEaboHIVItzI3UStA4LDgpmX1+47pZ7mVWI5BWekR/cpSzgx7epbxJy8qniQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfnx2GbGz11Mt; Mon, 8 Apr 2024 06:49:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386n95j032675; Mon, 8 Apr 2024 06:49:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386n9s0032672; Mon, 8 Apr 2024 06:49:09 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:09 GMT Message-Id: <202404080649.4386n9s0032672@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: 8cfd1dd821bd - main - LinuxKPI: Move [SU](8|16|32|64)_(MAX|MIN) defines to linux/limits.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: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8cfd1dd821bd8102dd91971c6ac88a64e25057d1 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=8cfd1dd821bd8102dd91971c6ac88a64e25057d1 commit 8cfd1dd821bd8102dd91971c6ac88a64e25057d1 Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:42 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:42 +0000 LinuxKPI: Move [SU](8|16|32|64)_(MAX|MIN) defines to linux/limits.h Some source files get them from linux/limits.h directly rather than from linux/kernel.h. While here replace Linux constant values with sys/stdint.h provided ones. Sponsored by: Serenity Cyber Security, LLC Reviewed by: emaste MFC after: 1 week --- sys/compat/linuxkpi/common/include/linux/kernel.h | 14 +------ sys/compat/linuxkpi/common/include/linux/limits.h | 47 +++++++++++++++++++++++ sys/compat/linuxkpi/dummy/include/linux/limits.h | 0 3 files changed, 48 insertions(+), 13 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/kernel.h b/sys/compat/linuxkpi/common/include/linux/kernel.h index 99ba19e9e25c..96259716d3a7 100644 --- a/sys/compat/linuxkpi/common/include/linux/kernel.h +++ b/sys/compat/linuxkpi/common/include/linux/kernel.h @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -70,19 +71,6 @@ #define KERN_INFO "<6>" #define KERN_DEBUG "<7>" -#define U8_MAX ((u8)~0U) -#define S8_MAX ((s8)(U8_MAX >> 1)) -#define S8_MIN ((s8)(-S8_MAX - 1)) -#define U16_MAX ((u16)~0U) -#define S16_MAX ((s16)(U16_MAX >> 1)) -#define S16_MIN ((s16)(-S16_MAX - 1)) -#define U32_MAX ((u32)~0U) -#define S32_MAX ((s32)(U32_MAX >> 1)) -#define S32_MIN ((s32)(-S32_MAX - 1)) -#define U64_MAX ((u64)~0ULL) -#define S64_MAX ((s64)(U64_MAX >> 1)) -#define S64_MIN ((s64)(-S64_MAX - 1)) - #define S8_C(x) x #define U8_C(x) x ## U #define S16_C(x) x diff --git a/sys/compat/linuxkpi/common/include/linux/limits.h b/sys/compat/linuxkpi/common/include/linux/limits.h new file mode 100644 index 000000000000..716366033bb3 --- /dev/null +++ b/sys/compat/linuxkpi/common/include/linux/limits.h @@ -0,0 +1,47 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Serenity Cyber Security, LLC. + * + * 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. + */ + +#ifndef _LINUXKPI_LINUX_LIMITS_H +#define _LINUXKPI_LINUX_LIMITS_H + +#include +#include + +#define U8_MAX UINT8_MAX +#define S8_MAX INT8_MAX +#define S8_MIN INT8_MIN +#define U16_MAX UINT16_MAX +#define S16_MAX INT16_MAX +#define S16_MIN INT16_MIN +#define U32_MAX UINT32_MAX +#define S32_MAX INT32_MAX +#define S32_MIN INT32_MIN +#define U64_MAX UINT64_MAX +#define S64_MAX INT64_MAX +#define S64_MIN INT64_MIN + +#endif diff --git a/sys/compat/linuxkpi/dummy/include/linux/limits.h b/sys/compat/linuxkpi/dummy/include/linux/limits.h deleted file mode 100644 index e69de29bb2d1..000000000000 From nobody Mon Apr 8 06:49:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfnz5mrHz5GKxg; Mon, 8 Apr 2024 06:49: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 4VCfnz42PGz4mNj; Mon, 8 Apr 2024 06:49:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QI1UtIFlCpW0EoFAp+rlYtcUsK+E42b3tWyZwUfMLS8=; b=o0s44F7794Z8oNy405MoIzBzB4+rNSOctQdsQs8zBeRftt+3YR2HuXDYYSDM/GHQdnxJ8H FHIjSKL/neSv3CjY15wZHU+3kTERAmZ/0Mece5CvRTgXlNq6D/GJYCSRwncl6HfJBKjVDw wvqspBC4BCLrxjkRuC9t+K4ep4C4zdAii/oOzhLrDAgG39gI2ibdPl5QL46eyY4BmosE7h whzJVHq/BblC3GrQjRitAn131OLFcJ/rLZrz3QTK2RsuxxH5qWRGTJm4QFKhx7NsGs7DBd xCP/2OKUCynG4Xd4CkIaI4irXJGfc8oUNqPhCKA4+KnG+w9QAOPEGsANN/RgLQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558951; a=rsa-sha256; cv=none; b=mo8HnGJGmDEAAf/MUuKA+RCoZSpIvP3yr+w0c6fT9sdDftgk81f5tVRG3HcrlHaQZJnm1n RJrdhqZuHeD4EivRs3f6aKiumDVnKZQoQXzwYO/FklrRkUJXTULZbSPzbMf9Zn78qWcC6x bgwsRgnbA5MFN8B/fOBv1W13zd0eFW/7nkecDkvSTWgWyG0V0Rm2pW4MUaqhSVjDq6EwtC glsv88YAq5zAwnb4dfiDDK5uHI12dDYJUDIQIR/pb9BH4Ku4z2p3y5dVfPz9uD7L1a91zm ggOkUESo+XeEg2D62kCYH3qDiOnG1b0SBn7fhoN1TdCUxyHq+JIIjsxO5PDJCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QI1UtIFlCpW0EoFAp+rlYtcUsK+E42b3tWyZwUfMLS8=; b=QeSNXeiHPnCguZaUqYgFz0wAeFLgx5XLn1zhctgOCZgUx/babiiv2AygKdiIGycXHwBjxy 5QAG1k3hhSTW/o8XQAVRwF5+NtWqdo5YL+VM3uhomObhI3tDPBnheJkMc2i5DkNtRwtv7y NNAuBiD38yPc8ycsy87n1ZdLTcNumRAcB+L4Iwe+jCuGb7Ry2FNXfXPeJGP0h9Kmgd6KZZ dsTgiA0RmOYfO85EinzG5VoYr1ro+Ou5D9zREeOWHCHBd+6HQWK0FxkW3dZDXLDwTGVwbj OeetdU1V1h9v5Diq6fMAa0Ny+zjt4NH26eXuX4+R/0aD0I1zRwkMBDgv0IjtMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfnz3cCZz11Vr; Mon, 8 Apr 2024 06:49:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386nBUq032762; Mon, 8 Apr 2024 06:49:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386nB4U032759; Mon, 8 Apr 2024 06:49:11 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:11 GMT Message-Id: <202404080649.4386nB4U032759@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: 38c276a43f2d - main - LinuxKPI: Add VM_ACCESS_FLAGS define to linux/mm.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: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 38c276a43f2d55e19ff6bd15ab5730315d41e3a8 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=38c276a43f2d55e19ff6bd15ab5730315d41e3a8 commit 38c276a43f2d55e19ff6bd15ab5730315d41e3a8 Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:42 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:42 +0000 LinuxKPI: Add VM_ACCESS_FLAGS define to linux/mm.h VM_ACCESS_FLAGS is a basic access permission flags. Sponsored by: Serenity CyberSecurity, LLC Reviewed by: emaste MFC after: 1 week --- sys/compat/linuxkpi/common/include/linux/mm.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index 1356d64dde28..1a7bae27fa8b 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -56,6 +56,8 @@ CTASSERT((VM_PROT_ALL & -(1 << 8)) == 0); #define VM_WRITE VM_PROT_WRITE #define VM_EXEC VM_PROT_EXECUTE +#define VM_ACCESS_FLAGS (VM_READ | VM_WRITE | VM_EXEC) + #define VM_PFNINTERNAL (1 << 8) /* FreeBSD private flag to vm_insert_pfn() */ #define VM_MIXEDMAP (1 << 9) #define VM_NORESERVE (1 << 10) From nobody Mon Apr 8 06:49:10 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfny4S63z5GL5N; Mon, 8 Apr 2024 06:49: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 4VCfny35mBz4mCD; Mon, 8 Apr 2024 06:49:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4D65DJxmn3Lhw7Y/9mtLr7CLpWLA+vrEF7bVV5TWc5E=; b=QeUd7s+PmuFuhRqXfHpbLIXCoODd0fPX0KoROGwtatGQqFi98EMJdVpqO8SUMRgOMbrZ0N kolW0QmVobqnH77UFrOqGAO+u6JJEyADMpGujY1c7RL8G67NZrR3fZ8Rjs39x+o1VZZjQN 3l1jLEnqd7qBACV0v5ehnPsfnjuXJgMiJWZ0eAFwsTIrs9M3cN2kOiB0SFYoNfGyxHLbHV GwKWJHRxTqwjWQdlOIBLOu8EmtJVtunDUZgJO6LtOUZVC9fLr1xNUbDlDF4YAMV+2sVRSc GUUHGDBccZsqsewEnLCsuOMb6aTqjWkY2x2AAL/jGJTJRjyNNcjGpSGCoIXZ8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558950; a=rsa-sha256; cv=none; b=FtshUmLuPKew9z5cXmwJt056FR7ewsUCHlLXJmeRxycqJ+tCLaMtJDcvkCI/j8IhMYIfyT dzpIJUpfVTe8E7H9a91I6cgM5E32DMYC3yKq9y0HPVcGF1WeY0rfejGe5f4vt7c6XRn0ri sa7ysHWz29ugM/FzGLMBe104nVUASjJer87oggWQEHRSTpGOVz/aBVMQAc2UtF7jBAVXKo 6zjOLohSJGtxyYkSgIS8hE8YyYhbspMzeQFINNSv1B7hYyCBMpCNGCz6Vpz0jhTV1Jac4O kwCDTJD8wGqzfGx6mRaikIM/Ga2C0EOhR0/eROMe68q76TA+Yv6Kcm1vdw7XyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4D65DJxmn3Lhw7Y/9mtLr7CLpWLA+vrEF7bVV5TWc5E=; b=scQxd3ZMy1qyqGswU9MD70Cong4u2cus21BZazVrWedAG5csQFhYVb9+cfbvQX4tcPExbo WV50XZJqaxJdY/VI+zRR098sWy0lqgUMCkDmwZ9ukgaaUDiFi2us7M9IoPOhu5gAwaI74l ocX38GAr5cgcl9hamF8nY2PWorS+ReouepCWe8ylVv4Hq7+kSmgml1v6ZMcdDHlwdVO2bO 3RGrj7e77R5NDuDqrnkaN3slVN4BMiD9mAKOR5sWEJdkOUE7ffztKTLY4oXVyQv7eLds8q 8FMI/tTVYOegDUGlo3mKTDvWcxzGogSG1tGPeEe781pbG/2lK5CBdZT3wPb/6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfny2gk4z11Vq; Mon, 8 Apr 2024 06:49:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386nAwC032717; Mon, 8 Apr 2024 06:49:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386nApx032714; Mon, 8 Apr 2024 06:49:10 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:10 GMT Message-Id: <202404080649.4386nApx032714@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: 3208d4ad2b83 - main - LinuxKPI: Import vanilla linux/overflow.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: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3208d4ad2b8320a24af4a8293f7fd3ef9c35caa6 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=3208d4ad2b8320a24af4a8293f7fd3ef9c35caa6 commit 3208d4ad2b8320a24af4a8293f7fd3ef9c35caa6 Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:42 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:42 +0000 LinuxKPI: Import vanilla linux/overflow.h It is dual-licensed (GPLv2 & MIT) and self-contained header file. No need to reimplement it. Sponsored by: Serenity CyberSecurity, LLC Reviewed by: emaste MFC after: 1 week --- .../linuxkpi/common/include/linux/compiler.h | 3 + sys/compat/linuxkpi/common/include/linux/device.h | 1 + sys/compat/linuxkpi/common/include/linux/kernel.h | 29 -- sys/compat/linuxkpi/common/include/linux/mm.h | 1 + .../linuxkpi/common/include/linux/overflow.h | 392 ++++++++++++++++++--- sys/compat/linuxkpi/common/include/linux/string.h | 1 + sys/compat/linuxkpi/common/include/linux/vmalloc.h | 1 + 7 files changed, 352 insertions(+), 76 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/compiler.h b/sys/compat/linuxkpi/common/include/linux/compiler.h index 97687ccdc7e1..1ae41d9ba641 100644 --- a/sys/compat/linuxkpi/common/include/linux/compiler.h +++ b/sys/compat/linuxkpi/common/include/linux/compiler.h @@ -110,4 +110,7 @@ #define sizeof_field(_s, _m) sizeof(((_s *)0)->_m) +#define is_signed_type(t) ((t)-1 < (t)1) +#define is_unsigned_type(t) ((t)-1 > (t)1) + #endif /* _LINUXKPI_LINUX_COMPILER_H_ */ diff --git a/sys/compat/linuxkpi/common/include/linux/device.h b/sys/compat/linuxkpi/common/include/linux/device.h index b4cd97931672..77c7a253a2e8 100644 --- a/sys/compat/linuxkpi/common/include/linux/device.h +++ b/sys/compat/linuxkpi/common/include/linux/device.h @@ -45,6 +45,7 @@ #include #include #include +#include #include /* via linux/dev_printk.h */ #include #include diff --git a/sys/compat/linuxkpi/common/include/linux/kernel.h b/sys/compat/linuxkpi/common/include/linux/kernel.h index 96259716d3a7..16499ef96a50 100644 --- a/sys/compat/linuxkpi/common/include/linux/kernel.h +++ b/sys/compat/linuxkpi/common/include/linux/kernel.h @@ -593,12 +593,6 @@ linux_ratelimited(linux_ratelimit_t *rl) return (ppsratecheck(&rl->lasttime, &rl->counter, 1)); } -#define struct_size(ptr, field, num) ({ \ - const size_t __size = offsetof(__typeof(*(ptr)), field); \ - const size_t __max = (SIZE_MAX - __size) / sizeof((ptr)->field[0]); \ - ((num) > __max) ? SIZE_MAX : (__size + sizeof((ptr)->field[0]) * (num)); \ -}) - #define __is_constexpr(x) \ __builtin_constant_p(x) @@ -608,29 +602,6 @@ linux_ratelimited(linux_ratelimit_t *rl) */ #define is_signed(datatype) (((datatype)-1 / (datatype)2) == (datatype)0) -/* - * The type_max() macro below returns the maxium positive value the - * passed data type can hold. - */ -#define type_max(datatype) ( \ - (sizeof(datatype) >= 8) ? (is_signed(datatype) ? INT64_MAX : UINT64_MAX) : \ - (sizeof(datatype) >= 4) ? (is_signed(datatype) ? INT32_MAX : UINT32_MAX) : \ - (sizeof(datatype) >= 2) ? (is_signed(datatype) ? INT16_MAX : UINT16_MAX) : \ - (is_signed(datatype) ? INT8_MAX : UINT8_MAX) \ -) - -/* - * The type_min() macro below returns the minimum value the passed - * data type can hold. For unsigned types the minimum value is always - * zero. For signed types it may vary. - */ -#define type_min(datatype) ( \ - (sizeof(datatype) >= 8) ? (is_signed(datatype) ? INT64_MIN : 0) : \ - (sizeof(datatype) >= 4) ? (is_signed(datatype) ? INT32_MIN : 0) : \ - (sizeof(datatype) >= 2) ? (is_signed(datatype) ? INT16_MIN : 0) : \ - (is_signed(datatype) ? INT8_MIN : 0) \ -) - #define TAINT_WARN 0 #define test_taint(x) (0) #define add_taint(x,y) do { \ diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index 8c50a2bbb3bc..1356d64dde28 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -38,6 +38,7 @@ #include #include #include +#include #include #include diff --git a/sys/compat/linuxkpi/common/include/linux/overflow.h b/sys/compat/linuxkpi/common/include/linux/overflow.h index bb9ac5bc5ffd..9ba9b9500f11 100644 --- a/sys/compat/linuxkpi/common/include/linux/overflow.h +++ b/sys/compat/linuxkpi/common/include/linux/overflow.h @@ -1,51 +1,349 @@ -/*- - * Copyright (c) 2020 The FreeBSD Foundation - * - * This software was developed by Emmanuel Vadot 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. - */ - -#ifndef __LINUXKPI_LINUX_OVERFLOW_H__ -#define __LINUXKPI_LINUX_OVERFLOW_H__ - -#include -#include - -#define check_add_overflow(a, b, c) \ - __builtin_add_overflow(a, b, c) - -#define check_mul_overflow(a, b, c) \ - __builtin_mul_overflow(a, b, c) - -static inline size_t -array_size(size_t x, size_t y) +/* SPDX-License-Identifier: GPL-2.0 OR MIT */ +#ifndef _LINUXKPI_LINUX_OVERFLOW_H +#define _LINUXKPI_LINUX_OVERFLOW_H + +#include +#include +#ifdef __linux__ +#include +#endif + +/* + * We need to compute the minimum and maximum values representable in a given + * type. These macros may also be useful elsewhere. It would seem more obvious + * to do something like: + * + * #define type_min(T) (T)(is_signed_type(T) ? (T)1 << (8*sizeof(T)-1) : 0) + * #define type_max(T) (T)(is_signed_type(T) ? ((T)1 << (8*sizeof(T)-1)) - 1 : ~(T)0) + * + * Unfortunately, the middle expressions, strictly speaking, have + * undefined behaviour, and at least some versions of gcc warn about + * the type_max expression (but not if -fsanitize=undefined is in + * effect; in that case, the warning is deferred to runtime...). + * + * The slightly excessive casting in type_min is to make sure the + * macros also produce sensible values for the exotic type _Bool. [The + * overflow checkers only almost work for _Bool, but that's + * a-feature-not-a-bug, since people shouldn't be doing arithmetic on + * _Bools. Besides, the gcc builtins don't allow _Bool* as third + * argument.] + * + * Idea stolen from + * https://mail-index.netbsd.org/tech-misc/2007/02/05/0000.html - + * credit to Christian Biere. + */ +#define __type_half_max(type) ((type)1 << (8*sizeof(type) - 1 - is_signed_type(type))) +#define type_max(T) ((T)((__type_half_max(T) - 1) + __type_half_max(T))) +#define type_min(T) ((T)((T)-type_max(T)-(T)1)) + +/* + * Avoids triggering -Wtype-limits compilation warning, + * while using unsigned data types to check a < 0. + */ +#define is_non_negative(a) ((a) > 0 || (a) == 0) +#define is_negative(a) (!(is_non_negative(a))) + +/* + * Allows for effectively applying __must_check to a macro so we can have + * both the type-agnostic benefits of the macros while also being able to + * enforce that the return value is, in fact, checked. + */ +static inline bool __must_check __must_check_overflow(bool overflow) { - size_t retval; + return unlikely(overflow); +} + +/** + * check_add_overflow() - Calculate addition with overflow checking + * @a: first addend + * @b: second addend + * @d: pointer to store sum + * + * Returns 0 on success. + * + * *@d holds the results of the attempted addition, but is not considered + * "safe for use" on a non-zero return value, which indicates that the + * sum has overflowed or been truncated. + */ +#define check_add_overflow(a, b, d) \ + __must_check_overflow(__builtin_add_overflow(a, b, d)) + +/** + * check_sub_overflow() - Calculate subtraction with overflow checking + * @a: minuend; value to subtract from + * @b: subtrahend; value to subtract from @a + * @d: pointer to store difference + * + * Returns 0 on success. + * + * *@d holds the results of the attempted subtraction, but is not considered + * "safe for use" on a non-zero return value, which indicates that the + * difference has underflowed or been truncated. + */ +#define check_sub_overflow(a, b, d) \ + __must_check_overflow(__builtin_sub_overflow(a, b, d)) + +/** + * check_mul_overflow() - Calculate multiplication with overflow checking + * @a: first factor + * @b: second factor + * @d: pointer to store product + * + * Returns 0 on success. + * + * *@d holds the results of the attempted multiplication, but is not + * considered "safe for use" on a non-zero return value, which indicates + * that the product has overflowed or been truncated. + */ +#define check_mul_overflow(a, b, d) \ + __must_check_overflow(__builtin_mul_overflow(a, b, d)) + +/** + * check_shl_overflow() - Calculate a left-shifted value and check overflow + * @a: Value to be shifted + * @s: How many bits left to shift + * @d: Pointer to where to store the result + * + * Computes *@d = (@a << @s) + * + * Returns true if '*@d' cannot hold the result or when '@a << @s' doesn't + * make sense. Example conditions: + * + * - '@a << @s' causes bits to be lost when stored in *@d. + * - '@s' is garbage (e.g. negative) or so large that the result of + * '@a << @s' is guaranteed to be 0. + * - '@a' is negative. + * - '@a << @s' sets the sign bit, if any, in '*@d'. + * + * '*@d' will hold the results of the attempted shift, but is not + * considered "safe for use" if true is returned. + */ +#define check_shl_overflow(a, s, d) __must_check_overflow(({ \ + typeof(a) _a = a; \ + typeof(s) _s = s; \ + typeof(d) _d = d; \ + u64 _a_full = _a; \ + unsigned int _to_shift = \ + is_non_negative(_s) && _s < 8 * sizeof(*d) ? _s : 0; \ + *_d = (_a_full << _to_shift); \ + (_to_shift != _s || is_negative(*_d) || is_negative(_a) || \ + (*_d >> _to_shift) != _a); \ +})) + +#define __overflows_type_constexpr(x, T) ( \ + is_unsigned_type(typeof(x)) ? \ + (x) > type_max(typeof(T)) : \ + is_unsigned_type(typeof(T)) ? \ + (x) < 0 || (x) > type_max(typeof(T)) : \ + (x) < type_min(typeof(T)) || (x) > type_max(typeof(T))) + +#define __overflows_type(x, T) ({ \ + typeof(T) v = 0; \ + check_add_overflow((x), v, &v); \ +}) + +/** + * overflows_type - helper for checking the overflows between value, variables, + * or data type + * + * @n: source constant value or variable to be checked + * @T: destination variable or data type proposed to store @x + * + * Compares the @x expression for whether or not it can safely fit in + * the storage of the type in @T. @x and @T can have different types. + * If @x is a constant expression, this will also resolve to a constant + * expression. + * + * Returns: true if overflow can occur, false otherwise. + */ +#define overflows_type(n, T) \ + __builtin_choose_expr(__is_constexpr(n), \ + __overflows_type_constexpr(n, T), \ + __overflows_type(n, T)) - if (__builtin_mul_overflow(x, y, &retval)) - retval = SIZE_MAX; - return (retval); +/** + * castable_to_type - like __same_type(), but also allows for casted literals + * + * @n: variable or constant value + * @T: variable or data type + * + * Unlike the __same_type() macro, this allows a constant value as the + * first argument. If this value would not overflow into an assignment + * of the second argument's type, it returns true. Otherwise, this falls + * back to __same_type(). + */ +#define castable_to_type(n, T) \ + __builtin_choose_expr(__is_constexpr(n), \ + !__overflows_type_constexpr(n, T), \ + __same_type(n, T)) + +/** + * size_mul() - Calculate size_t multiplication with saturation at SIZE_MAX + * @factor1: first factor + * @factor2: second factor + * + * Returns: calculate @factor1 * @factor2, both promoted to size_t, + * with any overflow causing the return value to be SIZE_MAX. The + * lvalue must be size_t to avoid implicit type conversion. + */ +static inline size_t __must_check size_mul(size_t factor1, size_t factor2) +{ + size_t bytes; + + if (check_mul_overflow(factor1, factor2, &bytes)) + return SIZE_MAX; + + return bytes; +} + +/** + * size_add() - Calculate size_t addition with saturation at SIZE_MAX + * @addend1: first addend + * @addend2: second addend + * + * Returns: calculate @addend1 + @addend2, both promoted to size_t, + * with any overflow causing the return value to be SIZE_MAX. The + * lvalue must be size_t to avoid implicit type conversion. + */ +static inline size_t __must_check size_add(size_t addend1, size_t addend2) +{ + size_t bytes; + + if (check_add_overflow(addend1, addend2, &bytes)) + return SIZE_MAX; + + return bytes; +} + +/** + * size_sub() - Calculate size_t subtraction with saturation at SIZE_MAX + * @minuend: value to subtract from + * @subtrahend: value to subtract from @minuend + * + * Returns: calculate @minuend - @subtrahend, both promoted to size_t, + * with any overflow causing the return value to be SIZE_MAX. For + * composition with the size_add() and size_mul() helpers, neither + * argument may be SIZE_MAX (or the result with be forced to SIZE_MAX). + * The lvalue must be size_t to avoid implicit type conversion. + */ +static inline size_t __must_check size_sub(size_t minuend, size_t subtrahend) +{ + size_t bytes; + + if (minuend == SIZE_MAX || subtrahend == SIZE_MAX || + check_sub_overflow(minuend, subtrahend, &bytes)) + return SIZE_MAX; + + return bytes; } -#endif /* __LINUXKPI_LINUX_OVERFLOW_H__ */ +/** + * array_size() - Calculate size of 2-dimensional array. + * @a: dimension one + * @b: dimension two + * + * Calculates size of 2-dimensional array: @a * @b. + * + * Returns: number of bytes needed to represent the array or SIZE_MAX on + * overflow. + */ +#define array_size(a, b) size_mul(a, b) + +/** + * array3_size() - Calculate size of 3-dimensional array. + * @a: dimension one + * @b: dimension two + * @c: dimension three + * + * Calculates size of 3-dimensional array: @a * @b * @c. + * + * Returns: number of bytes needed to represent the array or SIZE_MAX on + * overflow. + */ +#define array3_size(a, b, c) size_mul(size_mul(a, b), c) + +/** + * flex_array_size() - Calculate size of a flexible array member + * within an enclosing structure. + * @p: Pointer to the structure. + * @member: Name of the flexible array member. + * @count: Number of elements in the array. + * + * Calculates size of a flexible array of @count number of @member + * elements, at the end of structure @p. + * + * Return: number of bytes needed or SIZE_MAX on overflow. + */ +#define flex_array_size(p, member, count) \ + __builtin_choose_expr(__is_constexpr(count), \ + (count) * sizeof(*(p)->member) + __must_be_array((p)->member), \ + size_mul(count, sizeof(*(p)->member) + __must_be_array((p)->member))) + +/** + * struct_size() - Calculate size of structure with trailing flexible array. + * @p: Pointer to the structure. + * @member: Name of the array member. + * @count: Number of elements in the array. + * + * Calculates size of memory needed for structure of @p followed by an + * array of @count number of @member elements. + * + * Return: number of bytes needed or SIZE_MAX on overflow. + */ +#define struct_size(p, member, count) \ + __builtin_choose_expr(__is_constexpr(count), \ + sizeof(*(p)) + flex_array_size(p, member, count), \ + size_add(sizeof(*(p)), flex_array_size(p, member, count))) + +/** + * struct_size_t() - Calculate size of structure with trailing flexible array + * @type: structure type name. + * @member: Name of the array member. + * @count: Number of elements in the array. + * + * Calculates size of memory needed for structure @type followed by an + * array of @count number of @member elements. Prefer using struct_size() + * when possible instead, to keep calculations associated with a specific + * instance variable of type @type. + * + * Return: number of bytes needed or SIZE_MAX on overflow. + */ +#define struct_size_t(type, member, count) \ + struct_size((type *)NULL, member, count) + +/** + * _DEFINE_FLEX() - helper macro for DEFINE_FLEX() family. + * Enables caller macro to pass (different) initializer. + * + * @type: structure type name, including "struct" keyword. + * @name: Name for a variable to define. + * @member: Name of the array member. + * @count: Number of elements in the array; must be compile-time const. + * @initializer: initializer expression (could be empty for no init). + */ +#define _DEFINE_FLEX(type, name, member, count, initializer) \ + _Static_assert(__builtin_constant_p(count), \ + "onstack flex array members require compile-time const count"); \ + union { \ + u8 bytes[struct_size_t(type, member, count)]; \ + type obj; \ + } name##_u initializer; \ + type *name = (type *)&name##_u + +/** + * DEFINE_FLEX() - Define an on-stack instance of structure with a trailing + * flexible array member. + * + * @type: structure type name, including "struct" keyword. + * @name: Name for a variable to define. + * @member: Name of the array member. + * @count: Number of elements in the array; must be compile-time const. + * + * Define a zeroed, on-stack, instance of @type structure with a trailing + * flexible array member. + * Use __struct_size(@name) to get compile-time size of it afterwards. + */ +#define DEFINE_FLEX(type, name, member, count) \ + _DEFINE_FLEX(type, name, member, count, = {}) + +#endif /* _LINUXKPI_LINUX_OVERFLOW_H */ diff --git a/sys/compat/linuxkpi/common/include/linux/string.h b/sys/compat/linuxkpi/common/include/linux/string.h index 13c8fee602dd..1365b7d7823a 100644 --- a/sys/compat/linuxkpi/common/include/linux/string.h +++ b/sys/compat/linuxkpi/common/include/linux/string.h @@ -37,6 +37,7 @@ #include #include #include /* for BITS_PER_LONG */ +#include #include #include diff --git a/sys/compat/linuxkpi/common/include/linux/vmalloc.h b/sys/compat/linuxkpi/common/include/linux/vmalloc.h index 0a5cf0d409bf..00650a2df9b6 100644 --- a/sys/compat/linuxkpi/common/include/linux/vmalloc.h +++ b/sys/compat/linuxkpi/common/include/linux/vmalloc.h @@ -29,6 +29,7 @@ #ifndef _LINUXKPI_LINUX_VMALLOC_H_ #define _LINUXKPI_LINUX_VMALLOC_H_ +#include #include #define VM_MAP 0x0000 From nobody Mon Apr 8 06:49:12 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfp06GLrz5GKpl; Mon, 8 Apr 2024 06:49: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 4VCfp052rXz4mHt; Mon, 8 Apr 2024 06:49:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0TGM3iZcsYK6Xa/Afcd4lBzfsnySolj94EOGhq5v3t8=; b=gPIHT3FWPLXvBfLokPe6FJPPhNbzYrSCUHrd3tnybFQ5g8iaJANmPdfZhOb9Fwc/8M8Y/h oGUvPX153uWZx8/k50LBhEr6YsiF4smpWAoWknaDh3rKq1M+hPDl4PGuXlUQfvzER88PDI VRFna/uy0n4cHKBZXhznTU1YIvMtj8lxDTduxV34qYimH/DwY1LdGCqnQ/5uo5tgbz67BI zDNPJJa5KWXDzZFJ/K127acfAyYNN/haahfQy5tgnRTStr/7VIk6f4u9/xgcvyanQL1jCz 5fnNzzJU69QjbbzhOZuSQIrrDea8OYV2EXxoJnKad7Rjraa0Cm5nRNQXWIP1eg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558952; a=rsa-sha256; cv=none; b=ATkGtmsrtpSqzKf+YYk+M/E2nOh51lgfyR9+ptlagjZwu8JvCwqzaS+Q5sPdGULEoYouJZ RguD91hmGRS9WclO+Qfg6pkO2iX9DgNKc7hDS4VEr7Ha1V+X2WBY9ofLM3bPRDmBH9ZSPs d707P3ZdgNnxHjL3CtqIFQy1eEJJ53jKeSoV5F/HnazmY79fUCojlqNlluNcywnwcrkYBk bJ0WUl8lOcrutTcoj06Bz1Nv7X0ki2Fdp/17JbSulFhyQEdUUjvahvHpbxRhAcTKBPEETI nHZFIoEKdgtUvqCXGSx5OWinkb9dMQoYuoHjrcr41UK2exi6CZTdJ4CGuwcPyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0TGM3iZcsYK6Xa/Afcd4lBzfsnySolj94EOGhq5v3t8=; b=J4cjrCoeM4Mx/16rNosCHs7w0jydyUonKN5e1wlvFa25QqmosciXL4edCp+8rb+k5R7DzE 2NBGTw0s0EcGWETNzqnKxVFFC5j5JFjEmIoCIuBSDHg2ue+CLvjT+8tYaZRRbxnW3+YMfV SU9HIq8CWl12q+aHlhU0kq2uODuLGsM9aRdrk+7Av1qg9hXpMuju1WTDPfXHtD+SriGvdo QT7ThyPIX9yGFGnek9wHoEh73saXRtH8dHYKKUpfELmmxpzfYLvGRlfrQe7fU+kGM4ni6j aIJjYqJVHWixS1Hcfs8QtjNWbA3PIMG5//yrJD6DKbMfFqyr3f838Zvg57zhhQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfp04fVmz11Mv; Mon, 8 Apr 2024 06:49:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386nCnn032801; Mon, 8 Apr 2024 06:49:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386nC1h032798; Mon, 8 Apr 2024 06:49:12 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:12 GMT Message-Id: <202404080649.4386nC1h032798@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: 9289c1f6f151 - main - LinuxKPI: Add get_random_u32_below function 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: 9289c1f6f1514e714b17026c50ec09282f079cba Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=9289c1f6f1514e714b17026c50ec09282f079cba commit 9289c1f6f1514e714b17026c50ec09282f079cba Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:42 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:42 +0000 LinuxKPI: Add get_random_u32_below function get_random_u32_below returns a random integer in the interval [0, ceil), with uniform distribution. Sponsored by: Serenity CyberSecurity, LLC Reviewed by: emaste MFC after: 1 week --- sys/compat/linuxkpi/common/include/linux/random.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/random.h b/sys/compat/linuxkpi/common/include/linux/random.h index e87d4412ea4e..808c5bc55974 100644 --- a/sys/compat/linuxkpi/common/include/linux/random.h +++ b/sys/compat/linuxkpi/common/include/linux/random.h @@ -96,6 +96,12 @@ get_random_u64(void) return (val); } +static inline uint32_t +get_random_u32_below(uint32_t max) +{ + return (arc4random_uniform(max)); +} + static __inline uint32_t prandom_u32(void) { From nobody Mon Apr 8 06:49:13 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfp20Nz5z5GL7p; Mon, 8 Apr 2024 06:49: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 4VCfp166vRz4mLy; Mon, 8 Apr 2024 06:49:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558953; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B1763JEkBMLvX7HDwyWO9l4WOjczfLnUulbpsWxEjVg=; b=rj1BugbkeFLgoe0ygtn8RpPcZ7zI8ppBXdYXIWenlEYOuc2MdCVtt6pDsThH5ybayyZTs9 e8sWZr1STqcrnpCNg+8EpIv77s7DsRt2AnNx6BDz5pkq/BlU5OliZf0PeP6SGf558W4Gh4 yEXnAyPItcOoY7P4haInTORTqerxGGVvTRUnzD1K09wdeAWJbJ3pjWP8ONEj8TH10CzaBf cx75M/UtTZeM99clk/4i/bJuJ7TUF+ylm2kXUr3aAWFjiGUCZEhIDlGrzHUHsd3sC5fCLD UA5IgvXsJleJjoQbtmraA2OnX/BSZbxXmet7vb669jH5u3vDezR9xXJ9iNB5jw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558953; a=rsa-sha256; cv=none; b=tk8gxpm2QIXVwfpJJ73IJiLgtXQYeUzaOEz+oRH/sN8L1JBKl+JahD4gpz7MYzazNM4f4k Su2qAxRXOtwtQX6uWnx0XS+fwmSAU5OGx55UkfIV6wCTabQSCwf6HXlcBER7sb06OCeZYW P8RGSiFCOIz0qLuGvZwA9xAguYvHcYjPqt41HxIN18tQ9Lql8YYq78/QXwK3RXJmoQ/Cya bynHDoShqsixXEqQqIp6rHCnzSXHvzGfeRgBJWRK2hjSqTAH8i/EgQ3mIGPdhEBClsnqCd 5Yvdm5PRX3TD1y2ppnlfRT5XfLEKfylYAN2m2C2L9nZXDRuHWYrlnqPiK3Uzmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558953; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B1763JEkBMLvX7HDwyWO9l4WOjczfLnUulbpsWxEjVg=; b=eMwBzS62Geoad1791333sfNwet55rFfHZV26peRP1qUcJ5vseAyI/S9oybLTuLDA09+CIb xFJR4coq7n8KC5Fx0O0BuNgHNki+uthrrWssxcs98wYJI8ijBEq3uNOZP/5HhtzAn+tsm4 4cZynMWVOoJ7wvzK2Kw/R9Y/fPcKqNlEDSMgbtZCAzGQo/2mTqPn1wObNVQtesjB1R5oGy mx7kL5FavU4dwaE/uu4YFbKqnPHjOz/LE8EGONw2GRLS2TO2d+f1xZbUbqJoQYRTMK6hwe /U8ZR1OuH/iCoWuGVioDuvgnxd9cQfHaQIwJ1Klwvto4B2iJ476zCv3T7kTSiA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfp15kwDz11h4; Mon, 8 Apr 2024 06:49:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386nDOX032847; Mon, 8 Apr 2024 06:49:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386nDQm032844; Mon, 8 Apr 2024 06:49:13 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:13 GMT Message-Id: <202404080649.4386nDQm032844@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: 61fb195e8dd0 - main - LinuxKPI: Improve timer_shutdown_sync 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: 61fb195e8dd08d4b006a176c09682f061424cb95 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=61fb195e8dd08d4b006a176c09682f061424cb95 commit 61fb195e8dd08d4b006a176c09682f061424cb95 Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:42 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:42 +0000 LinuxKPI: Improve timer_shutdown_sync timer_shutdown_sync not only shutdowns a timer but prevents it rearming. Sponsored by: Serenity CyberSecurity, LLC Reviewed by: emaste MFC after: 1 week --- sys/compat/linuxkpi/common/src/linux_compat.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index 36ed7b84cc94..a6eb7bb17e16 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -1920,6 +1920,10 @@ linux_timer_callback_wrapper(void *context) timer = context; + /* the timer is about to be shutdown permanently */ + if (timer->function == NULL) + return; + if (linux_set_current_flags(curthread, M_NOWAIT)) { /* try again later */ callout_reset(&timer->callout, 1, @@ -1992,6 +1996,7 @@ int timer_shutdown_sync(struct timer_list *timer) { + timer->function = NULL; return (del_timer_sync(timer)); } From nobody Mon Apr 8 06:49:14 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfp31d1pz5GKxq; Mon, 8 Apr 2024 06:49: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 4VCfp3022hz4mD7; Mon, 8 Apr 2024 06:49:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558955; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u1WxkWAf0mzeiULDXY7tm1JQGnAdmZp4PT9xhRR3Yxo=; b=lr42yGZbzSwI3tg59yZ2XuyHkZu+Swp2F6IhT0so6mVZ4S/9Ai1QBk/Pn9i4HoC9JA3zbm O5DQKc5SsqJuYnwMsq9B4VsfAOkVTdiNJM6m9SJFLtCajDUKVPAnb4LVcVx+iyb3LK0M2c ATkHnRQ0AP0yzoMTGD3+5E1UBQesATTtMMpl8UZfCdnoOMBY9ab+vae17HjNL8VuxQNYMW s2O4zjUvTHuNiDYEKAVzJn8sYt1iiKAvkJTsfvNSngj4B41RhJaC01TYfXMreCLUyWsfNV mFbsidw9ycaWWmDOnWaJ3IR4MUhOAeGuDUHtXcmKnigoPcKdafShBlwxmctyeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558955; a=rsa-sha256; cv=none; b=GgEOrvz38EIrEPB9psVvQDMX3p/641ua3lAnRKS8WwSieW88fv0ttNIq4PlhqsnaRlEwrO mMR28FHOXQwT8aTOoUgLABrVjKsHwUVsCzTuiJ1g219HrMQa53v+ynH95yBJHq8/N6Xban h+KwNVOBpCPyUai5kWdkHQzvRMIycmViDK1Ej1ggCfqnQm1kmVZIInlDXRJeDuX2MfE/fZ SyspggvEHdUIUvMXRR089yqGbOgGl6hH9lC2waCvZvaPcrK+AHLQzML9D1Fp5WFIRcisAK I7FH43p1s8e3f6KJgaQQQFJeh9I8PxRmZpkjwZ13X5B+UJl3yAY4kEI734hytQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558955; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u1WxkWAf0mzeiULDXY7tm1JQGnAdmZp4PT9xhRR3Yxo=; b=Fkze3o511j8g03VeROww4yzEwi3BMUWuNM0MhuB1CWujNtSebtqdlejcay+YBlDohB05HJ BTRX4dvRDDLzyRKEDvWXNwcZzHL7kNDBXO8Swg1lryhjcZlVkxbtKNHHK1HMTqjwenE2cJ H5Sw0XDLFwr9BePfOx+5ypNatRs9+dkawnC123T6z4wHbFLv184EQ+P2YVLlRmvomwMbN0 90O4nEug582LirSfBKgjuJLSLVOpo4zA7c+I23/YHUjccMs6uM1ukXGGrxJkk+tEHFP0n0 e79O6a3M0r1x70u3TAbDbsHcOEGGRAlb/qpf5Q5WJtnzXxPgfEmArRjsm2af+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 4VCfp26dhvz11kZ; Mon, 8 Apr 2024 06:49:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386nEEG032889; Mon, 8 Apr 2024 06:49:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386nE4G032886; Mon, 8 Apr 2024 06:49:14 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:14 GMT Message-Id: <202404080649.4386nE4G032886@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: 06902a447934 - main - LinuxKPI: Add vm_flags_(clear|set) 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: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 06902a447934e855dc8f7eaf95b4235c684b264d Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=06902a447934e855dc8f7eaf95b4235c684b264d commit 06902a447934e855dc8f7eaf95b4235c684b264d Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:42 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:42 +0000 LinuxKPI: Add vm_flags_(clear|set) functions Sponsored by: Serenity Cyber Security, LLC Reviewed by: emaste MFC after: 1 week --- sys/compat/linuxkpi/common/include/linux/mm.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index 1a7bae27fa8b..0030cc6fb7a9 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -324,6 +324,18 @@ vm_get_page_prot(unsigned long vm_flags) return (vm_flags & VM_PROT_ALL); } +static inline void +vm_flags_set(struct vm_area_struct *vma, unsigned long flags) +{ + vma->vm_flags |= flags; +} + +static inline void +vm_flags_clear(struct vm_area_struct *vma, unsigned long flags) +{ + vma->vm_flags &= ~flags; +} + static inline struct page * vmalloc_to_page(const void *addr) { From nobody Mon Apr 8 06:49:15 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfp43Fs9z5GL5W; Mon, 8 Apr 2024 06:49: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 4VCfp41Kwbz4mMY; Mon, 8 Apr 2024 06:49:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558956; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=heKVfy+iBKCCGyk60h6FbcJV4MuzMKah5hUqYwOzECU=; b=r+15mRfnWfDk2i8NUBaPf8c3t4i8PqU0YP2UscdvQXgj3KQtuZpsap7B6uvwbN4FPmMtX2 xKdoiDGru8T/X/h5ZNUspK9D7V5wKxRaTBbEiFUdbtisPwaK4e6gi0do3/NduiNVQZrxJJ pbqtBD984DRHNrvNp7u0vOmlUWMwz4ycWq8Ab7WmVJtYgdePrV3umL2fElPEpOp3hgpEj8 u7nmsdTMRw4fpXdlfAvBdimu5RuCEdGn83G0E0zFDQyRTArl2fXVh3ZZP+imbQ1CPxGq7H IKDRGt5/a0hAJWL1w0Ws641+rdOxx29FiKEx4DUvY5JYlpuBb7nmfxgyVBEI8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558956; a=rsa-sha256; cv=none; b=JRhnHtCJHadp9WG9msrE152jCzTIicw/eIeR1FBCNuTNbV3tIlApZBKaQogC/o6HsAtCGf ZQ3q0zK5DiDOVx50vncMU4Y0v0EV17Io1d1kWNUzIAYNHLE9uK5PRM5CteaxxfX/BCCoqJ 7kC1F4a/o2PIwVtbTERm2toSAlbyZfSYBQxm1zzSLKxUR4uNV4fB4lhT0VxaJKE4v+kQqq 3KcEy4pZvEOnjJK9VdLFH7NXkx4rXJCHf67n4vmNdeoFf3wjPHT7T/lrpz8lSSFl+qz0Nu 0tC695XA+bZV4SSd9QxksberIoyid5gkqvXz02OwI2BfB1YMjDhr89sd3ZTDRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558956; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=heKVfy+iBKCCGyk60h6FbcJV4MuzMKah5hUqYwOzECU=; b=tnPn5f8I25+gaW8Liltxb1VDVRFD33o//3VDUBmsan6lfrlBCOXrngSkWXbD7dzHgsA54T JwwBJ46gnNkjCCdzmESv6lx5BxtGZpbOq4JG/D+I4Im0LC2D00onvNX7l96ikWsjgOpN/T 3dMeW75i1vpYDhVh0hal+g6m2lT21m+RHmx89l3BBecRCnS3qxJvjlzif0Lp1A4BjSWp8C B4QSz9KP8FAFyqukdBK+G/jdWuLDit94K4+0Un9RUSUd92s/lZtJA61NZASlVyvO/RmK5N lzGNqhx/7e0QnoxXT0Qaq3xcLBJ7m+5EqVoOQjLE40jZMCnQidbfUXypMg5wXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfp40WLMz11Vs; Mon, 8 Apr 2024 06:49:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386nFWT032928; Mon, 8 Apr 2024 06:49:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386nFg0032925; Mon, 8 Apr 2024 06:49:15 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:15 GMT Message-Id: <202404080649.4386nFg0032925@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: e0eeeca8b83a - main - LinuxKPI: Add PTR_IF macro 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: e0eeeca8b83a17aeebc4da525e813699bf3fabc2 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=e0eeeca8b83a17aeebc4da525e813699bf3fabc2 commit e0eeeca8b83a17aeebc4da525e813699bf3fabc2 Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:42 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:42 +0000 LinuxKPI: Add PTR_IF macro Sponsored by: Serenity Cyber Security, LLC Reviewed by: emaste MFC after: 1 week --- sys/compat/linuxkpi/common/include/linux/kernel.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/kernel.h b/sys/compat/linuxkpi/common/include/linux/kernel.h index 16499ef96a50..ed4320e80fa7 100644 --- a/sys/compat/linuxkpi/common/include/linux/kernel.h +++ b/sys/compat/linuxkpi/common/include/linux/kernel.h @@ -132,6 +132,8 @@ extern int linuxkpi_warn_dump_stack; #define printk(...) printf(__VA_ARGS__) #define vprintk(f, a) vprintf(f, a) +#define PTR_IF(x, p) ((x) ? (p) : NULL) + #define asm __asm extern void linux_dump_stack(void); From nobody Mon Apr 8 06:49:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfp54JmYz5GLB2; Mon, 8 Apr 2024 06:49: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 4VCfp51sYcz4mJp; Mon, 8 Apr 2024 06:49:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BKlRQ9Mh02BN1oNZ6IztURZGven9gxsN0gxv2xu5mvo=; b=VvW7gV/A9CVE6pJfpd9fYWZP+DiQgnig2QGnc0g8jwFNHNZAHC8JWoDujgmx+zdLCsYw5m VKWBNrk4gzWpG6pL2Ta9ebJ784FMHX43ybYT65AXxX5wTpBWdO1E6gOW6b/VKkfKyn9BRO rzwOynVl/otcG5uGjgCjN4dXGvMYQr6zSQ5YGEyaRhlAzNGUyC4HBytNtaLAEkg6MKiZVo PXQp2HD3WtJHcl8YS9RIULoxKdU54bZz6SImWisJyn4QKTWVHrSWM/4Lcyoiz5sAwwIZhA kqK/zGV3I2iblFs1gFPWE5xx4K/jJmczmqoaBbGpYI29IA2coFC6llm/3hv+pg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558957; a=rsa-sha256; cv=none; b=nMdHjvU1VprFGp1RYzbryiSQaVSGDX93Mb/Y+iwMTjNq0b67IpBw4geIGvqffiKgzmM2ZH +Pn71Nk1V6GRkWGiSn/XvQBEUxFunJQhqRMtnG45+hCtFheqHLDanGYlafsYyYaR3Mvo9m zjbODjinOPsIQAOsBVx3AmcnDf+n4ywjS2ejOfdAC7yWyoAMps3ejiQNemO4Pvq8OJPPt+ 2Ny0ePTO5IcnWNRgs+8uMmG3Jbbev/0VdwassiV3XNZPc6fyoaaRYJEDCD76ukj3j5nip8 S3zo7U3D07JF0ztMOISyJUUuxjlQLsI/Atnj/hS/szdYUNIdj6xGDPcJZNscZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BKlRQ9Mh02BN1oNZ6IztURZGven9gxsN0gxv2xu5mvo=; b=x+pW10IQ1SNtfkoofXML+lmIodHWYfnbQL8OcJiV+HssJZ+dMrsC/6k6c/Xh+T0Wo2YXHg hID70Ixv39khppk9+0ORCid19XoEsnZp68v9ZErNurZDhM4P3aLoYTfHHnRB6mzwXBIL5J gdOD3YPfWvvFfca2/JJ3d+kDiCy6HtGA+Xo4an7VvANu1PKax3tUZZsCYA8VgxJeNLY0mU qZf63lppHhtemSgoTskPb/xLlrfMgEFT2HgI/sO/m0oNXPCVd4Uhm4RkrSbu6fYVPncrA3 7rteY8Rl/SntNMZ6wjV/PHegKB4tU1ICRXvRbpbEM9T/17XYuWvalsmrgU+P2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfp51V0Qz11h5; Mon, 8 Apr 2024 06:49:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386nHRM032973; Mon, 8 Apr 2024 06:49:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386nHMi032970; Mon, 8 Apr 2024 06:49:17 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:17 GMT Message-Id: <202404080649.4386nHMi032970@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: e8f59f4d31b2 - main - LinuxKPI: Add the accelerator PCIe class 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: e8f59f4d31b243a6f296e819a5912ba63789ae32 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=e8f59f4d31b243a6f296e819a5912ba63789ae32 commit e8f59f4d31b243a6f296e819a5912ba63789ae32 Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:43 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:43 +0000 LinuxKPI: Add the accelerator PCIe class Sponsored by: Serenity Cyber Security, LLC Reviewed by: emaste MFC after: 1 week --- sys/compat/linuxkpi/common/include/linux/pci_ids.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/pci_ids.h b/sys/compat/linuxkpi/common/include/linux/pci_ids.h index b52ecc525db6..2f02d6ad1c14 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci_ids.h +++ b/sys/compat/linuxkpi/common/include/linux/pci_ids.h @@ -39,6 +39,8 @@ #define PCI_BASE_CLASS_BRIDGE 0x06 #define PCI_CLASS_BRIDGE_ISA 0x0601 +#define PCI_CLASS_ACCELERATOR_PROCESSING 0x1200 + /* XXX We should really generate these and use them throughout the tree. */ From nobody Mon Apr 8 06:49:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfp64fd0z5GL86; Mon, 8 Apr 2024 06:49: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 4VCfp62v44z4md3; Mon, 8 Apr 2024 06:49:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=21c2VhxjyADWC03a4jC5S+Jm9w2raeT7rxtsznp5cKY=; b=A0hua9F2fjheWHsYsCaTTxfhO1ByWZ+GCI7dtkdWFvSi++PMPW81sgnwXAUar+1YqrWM2i zsalhcOU/uyxRFRct675g0unf5gaZj/OiM/2WBcrmx309+45H2ntpiDcOtGhdMJhTmQhV1 mg9BSijgVegLDITf83pY8u+qonvY6C1y1Kyq2goV/greeWFlTXQzWTah8JTyygGgOaN2yt cS5n4VqTsOmJiAgPym5VxVo20OC87wj7kw7vfHqMa36WjsRz0IhuAYmyvEKNqkdSUSJIvk kY7dWGbNrHGs2Mhu28VFiS/ct0okamcXB1n3tvMb0qMHlpTpVvN789ALvI6IRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558958; a=rsa-sha256; cv=none; b=NUo7Xk7pWG6PKg+Ryw9jSaBlotgdvcJXNtJOCaD5oSBrBCrygWrSWLBLwZUNda2vFU4Zj8 G0mxlMVHB11AxzEKOaJgKYHejStT0NuwZk9r8hwO84R5GKeG0CHde10vmrEm6ZtVKarZ1E RDNhjU9/yI2wTp68pqw+S2AECyGuR4PQ1c0TLIDc8n1F0mmHLCjYiPz/JUjqpRvS5BO07h zWUTlC9onQ/uHawaZNcN0DBGbBVp0Bv1QcQgSi3xodvuhjnKKciGg57efOg+uDYpABZ8df rrgvQuV5kV7/tQtoxj35DUZsrOldEqR57fntR//AseP3B98jCyi0eTC1TcPQrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=21c2VhxjyADWC03a4jC5S+Jm9w2raeT7rxtsznp5cKY=; b=Xs9TbmFICufta+GLsqwJkYfgE7Kx60bU4Vc4gnGG/OjX1U/zMFvH+YD+tIbp1XvlZ2/Yn4 tBgf2n8gb1U+n5I4WLvD0mxrmAIQfaSvEx1X7U+2IG7hAVtxvKIj6/yguBrZA7G/PDsGRF ZGmbSB9lTorfBzQWgRf8580SIaUBcPBkJM4dojFAEL5uma88gum2Qtd7yFM0dllm4HLFnW 4dso9+vT5FyA8Dn49m45z66lEiKG7xpX+HrE4J3gMd6Vdo57vnDDr7boNK0G5d7Hi33DuI UN8ASbkB7tOFZxNwexQ7y5khaO4P1ebZqpeJ1qOfzwh41lJGElyIh4DhUxHQSA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfp62WFLz11h6; Mon, 8 Apr 2024 06:49:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386nI9T033015; Mon, 8 Apr 2024 06:49:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386nIZC033012; Mon, 8 Apr 2024 06:49:18 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:18 GMT Message-Id: <202404080649.4386nIZC033012@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: f1206503e5a0 - main - LinuxKPI: Add pci_dev_id to linux/pci.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: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f1206503e5a0073f56710bfebb6e503dcf612536 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=f1206503e5a0073f56710bfebb6e503dcf612536 commit f1206503e5a0073f56710bfebb6e503dcf612536 Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:43 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:43 +0000 LinuxKPI: Add pci_dev_id to linux/pci.h It returns bus/device/function number for given PCI device. Also add intermediate PCI_DEVID macro used in some drivers. Sponsored by: Serenity Cyber Security, LLC Reviewed by: emaste MFC after: 1 week --- sys/compat/linuxkpi/common/include/linux/pci.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index 9c7e39bf4a42..bf69846f06f0 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -94,6 +94,7 @@ MODULE_PNP_INFO("U32:vendor;U32:device;V32:subvendor;V32:subdevice", \ #define PCI_SLOT(devfn) (((devfn) >> 3) & 0x1f) #define PCI_FUNC(devfn) ((devfn) & 0x07) #define PCI_BUS_NUM(devfn) (((devfn) >> 8) & 0xff) +#define PCI_DEVID(bus, devfn) ((((uint16_t)(bus)) << 8) | (devfn)) #define PCI_VDEVICE(_vendor, _device) \ .vendor = PCI_VENDOR_ID_##_vendor, .device = (_device), \ @@ -384,6 +385,12 @@ dev_is_pci(struct device *dev) return (device_get_devclass(dev->bsddev) == devclass_find("pci")); } +static inline uint16_t +pci_dev_id(struct pci_dev *pdev) +{ + return (PCI_DEVID(pdev->bus->number, pdev->devfn)); +} + static inline int pci_resource_type(struct pci_dev *pdev, int bar) { From nobody Mon Apr 8 06:49:19 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfp75BFjz5GL2s; Mon, 8 Apr 2024 06:49: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 4VCfp73mn3z4mjl; Mon, 8 Apr 2024 06:49:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558959; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hNQNM5qunMDjI5GKJuiJix6xBY9eS4pWW9J0KsFTKKc=; b=sR9KM/REeXlxC1yPuCUsZ5XpKApLnEOUOUcGKCITEQHxAV6GnkX4fUHLcRIa49OV5cCY94 c5th+3Poiu4mFoRTmn2EuSW6oQAio21JySvre+Al5ThV91j4IlcrR5MPb8g9wjacFZxg3c 4dO+cuKSn6QbuyFaNqSYIRpnRr2RsVps9+frOyAc3LteL8Dy3pvzTZLRqflusT2OyO73sY 27t/zSv5O2Pcw7K6Y6TfhIFCf0ltSm/PYPVBL+7tJD4OKRb1rhjykvVlB2C5aXhwd3FfKm 4kA7OQ4jpfKN2hUudABFt4HbGjwkmESfQ/UPFB5QJQQICmGiHG0YkucnjN+peA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558959; a=rsa-sha256; cv=none; b=YQd8SlllqkZTCR8LY+LBU55A3lJ1adZbyZtuKlKYX5Yx/RorZBQyExSlGyV34cdi5JPZYN nxLh/63LDDB/U5p+5tacCQ3GwCFryF/JThoyVUCNhjSezedfbWNuhZ6E3dTNe+szCN1UE5 YgP1LYyAtsskzjSwKyPyk2j8nT8RtxjcNMcEJVSGD3pDzJEN+G3itGPPhj5CsfiQ+vG6iV 6QX995U3ON4rC/zeYqt6QnUQB+W4OqE7jDtl8XUV5Bp0w+kpd8AaIswrvY6TwcYbqIEKIj 2XWcnXcj8Irg9D6ysL1MluPbsTV0YEqoCBRnMQmYKaG0Cvh0W8txq9qKAEY5vw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558959; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hNQNM5qunMDjI5GKJuiJix6xBY9eS4pWW9J0KsFTKKc=; b=OzbIu2jKIxaJ+VJNeomxmKZng5LnCDhdvlodJ7RSlBjSpQpELqGp4q5Dnet8XrGUsRx+AK 3nrQC6gd+yui3amoqWznGsXqKjHP9j5PO0X3PapTLteCkWQqTg6aDCm1RShAKThzfjE8K4 e7pnPBvwKuqjwKquT5YDdJ8ptz+UhztaXAokOaHn8mJ8pbcHVr1TklxWPJ+qkRQjmkw/el 3bK1KazJM+ZIXA+rP/zrxEsdEmhQnGZXxwgiIFSHfl6SMBt5utel3isRypfiE29xHVSlgK 8u2lOkndNWVl0qKWL/fiCzwVWriafkJccjAncFQ71FqUrl66bzq+lcLa1sQSqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfp73NQSz11kb; Mon, 8 Apr 2024 06:49:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386nJUi033066; Mon, 8 Apr 2024 06:49:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386nJ7p033063; Mon, 8 Apr 2024 06:49:19 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:19 GMT Message-Id: <202404080649.4386nJ7p033063@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: f7ea333e2b20 - main - LinuxKPI: Add ACPI_ID_LEN const to linux/mod_devicetable.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: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f7ea333e2b20b5850d5be4eee1d26873111f47ff Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=f7ea333e2b20b5850d5be4eee1d26873111f47ff commit f7ea333e2b20b5850d5be4eee1d26873111f47ff Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:43 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:43 +0000 LinuxKPI: Add ACPI_ID_LEN const to linux/mod_devicetable.h Sponsored by: Serenity Cyber Security, LLC Reviewed by: emaste MFC after: 1 week --- sys/compat/linuxkpi/common/include/linux/mod_devicetable.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/mod_devicetable.h b/sys/compat/linuxkpi/common/include/linux/mod_devicetable.h index 5becc12ef960..87bd6ec24bce 100644 --- a/sys/compat/linuxkpi/common/include/linux/mod_devicetable.h +++ b/sys/compat/linuxkpi/common/include/linux/mod_devicetable.h @@ -78,4 +78,6 @@ struct dmi_system_id { #define I2C_NAME_SIZE 20 #define I2C_MODULE_PREFIX "i2c:" +#define ACPI_ID_LEN 16 + #endif /* __LINUXKPI_LINUX_MOD_DEVICETABLE_H__ */ From nobody Mon Apr 8 06:49:20 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfp91ZFLz5GKy3; Mon, 8 Apr 2024 06:49: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 4VCfp84mCmz4mSP; Mon, 8 Apr 2024 06:49:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PReE473UtV1Wx1IQMz+dHAkHdbwybkp3JvCXSVs5xYw=; b=K+v71lJL5GXWCJ+CQI5gxydbRhSEIjC3FecHz8cM5T70AxENRnsaiRS1eoVRzqTPsvVGq6 FfHqES9x+j7QKY73pLWWYF5oNwkyrWAm5Y3NdTTVlGSbMwHXzqh/vwHv4FQiCEWhhgy7eY U+y+jwC9lDSUebDJWWGprY4r+pDNvsqBI1JTLLHVMIimYNW6/IResGRheCDiXy9GldvNsT 4zDbtdxes8352jTpbCuvF+79NoulS0XO+t7lBJ7OgZ4dOXsXjcU4tsXApYn9Rwsz6Zn93b crPPZHggIKsq8LKxjRRwJLKqmUThCnI9g35Dd7TWMoNLVPYiiuinaa0r8oRomA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558960; a=rsa-sha256; cv=none; b=aKAK/1hYY+ag+4Vj8DkbOcJuLVItZ8k338nsbYl44t+KK4+WlfZj58FAzjdRtUortId1j4 M3vregdiPJ/6Pzk8IbgbBvE68FDFzk/x2AmrI/Si1zLt8iMVjQmWZrzKSMbvv8ZtYdTigu srBGl3J+9bK27/v5l18/Z3kBdGH0D2GbjSo3mO0ncKCj+5001NNVbQphSmlkXlxomKF6++ YLPaCa35tBi9xAOsuQz/sEudDa8HNWpd9sRHpwUZx8ZB87cFtvzaAfp0navIFNC0PIORZS UeAd1XCBmc6Zu2KpJcnD3kbAyjrE2tpDlLqkXSNtJsR1kWLz9EMZm2BStplCZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PReE473UtV1Wx1IQMz+dHAkHdbwybkp3JvCXSVs5xYw=; b=M26JmEwghyzUCNRMNKPcK2+q7x5O5go5oH8u+EyULeYw/dPwa10mpNnZlyxxUQ+cuYYDqR VDhV0DRxIxHjd6CitSP/kEQfO9LywVbwslO3Y0axsHUU6C2PizykdxnukrC3HO6ry+Ceyc PpoeXkzFj97Spi7246eFhiEi0DYC9D+Hey8sg6jb7iHqpTAXRFDF33uIN+EtG42ax0NXbF gaqTZeUDMrXCQ6JmFpV9h7gzHn9MWGXFYmIocDe+thHRTw8bOO9ESyGzUvCbopIqnNRLVG DCWbEiCbu8q74TzSXex/VaKK67tcF1oRGdVm0RNJ/bis8BIvNOG23tKweFbDOw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfp84MDwz115M; Mon, 8 Apr 2024 06:49:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386nKDn033110; Mon, 8 Apr 2024 06:49:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386nK7B033107; Mon, 8 Apr 2024 06:49:20 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:20 GMT Message-Id: <202404080649.4386nK7B033107@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: 56041ee817ff - main - LinuxKPI: Add want_init_on_free to linux/mm.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: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 56041ee817fff844e5b2de7eedc447e388ab988e Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=56041ee817fff844e5b2de7eedc447e388ab988e commit 56041ee817fff844e5b2de7eedc447e388ab988e Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:43 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:43 +0000 LinuxKPI: Add want_init_on_free to linux/mm.h want_init_on_free returns if heap memory zeroing on free is enabled. FreeBSD does not zeroes heap memory on free(). Sponsored by: Serenity Cyber Security Reviewed by: emaste MFC after: 1 week --- sys/compat/linuxkpi/common/include/linux/mm.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index 0030cc6fb7a9..109bfffe7d6a 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -382,4 +382,10 @@ might_alloc(gfp_t gfp_mask __unused) #define is_cow_mapping(flags) (false) +static inline bool +want_init_on_free(void) +{ + return (false); +} + #endif /* _LINUXKPI_LINUX_MM_H_ */ From nobody Mon Apr 8 06:49:21 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCfpB0T4wz5GL8B; Mon, 8 Apr 2024 06:49: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 4VCfp95Sssz4mgh; Mon, 8 Apr 2024 06:49:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WG/KtlwnfZb+1wjyYt705NAOUPe+6jAct8tS2T7wfkk=; b=TbmyooOjCqu/k4jhaVKyLFLR6eRf8iVgdun59e1fYL8ME4rYajCw42fxs+YoRj1edGke5e sB8Gr6rZXPUTU9YtKOlT4eM3w6sz+IBGYxop2IoSiSivphRN+lW1iHAsEWG3deq+q+Vha0 lDH6E7s5sB/Kw9qHyycfW83PGAgrS1mPlo4o4Mt+MCXWnmzufMFmAGOpM4tVjZRhIugM1M VCiFy+TcMPmMedHB/us3byRFfR6JSxdBzO1wr88GoNxETeQSz3hkkSLEXYBZLyMIpwAfkF dU59giJyMwIc+4P5nIc+83FKzQpWbkWxXPel6CHTu+xcw4w9ZuU2taYKRBVCMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712558961; a=rsa-sha256; cv=none; b=YhsZ7qVKKwBpBWd6RqyLlX/ed7E1FDV7mi74F5Nyc65/4HkmilRVqEFowufaL0ICgiOc2f DunrHtBa25nfCtFW93QYHJTm9ErDSQ+bNWQ7XFnV60c+EHc1cgoFD+M949ozW4BrfxNDZt A9VAvKc6LCGRzt0rc9YVoCzQPRJOmnUSs3ppFuS8OOSAYx+61f9hBnLrr9c1vV7KlwQ0dO XDPEHGzsF9Ve1zt3HQ/9m6qR4F3n2GTk4mnLunxaYFXkLz5aiZSlXr/4hSK3FWapY0vK5l IzYFbgQxSDacUzSrfW7QIuSrs3+r7YU5lPJD6PEVAVXyFusFzHjpoGf95AGhDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712558961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WG/KtlwnfZb+1wjyYt705NAOUPe+6jAct8tS2T7wfkk=; b=SzwgwS0jYqEZMbjY15XI4pe+Prj/QRMp2DaVeVDggcgr+XY9WnDkELclbpQWUaG7K7L+u5 46FiDMgu5ntyYBP1gvNSqT+sBmaUG+ekvbkJxB+84JQ8CBEr3hwqEeUEZlFdbM1Q5UpCWG /xcxrTsv8KpGa8ELKgRuferhVhuPzr8MIxahqPQ9w/oB7OEW93OyuajsTjDaOCktLaEzlj m0eAxIImRpNxdPhhBY4gxo8FtPrjQVgo2T6fYdVlQj3ZuvLDjc51r72LRDwuzinkpxc1zV EtYpn9HuMYcNC8NUyX5evIvDgX+sL2yMsHQxhsC4d/pTWn8+xFB1bB8Y9rFgKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCfp9546zz11kc; Mon, 8 Apr 2024 06:49:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4386nLLF033154; Mon, 8 Apr 2024 06:49:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4386nL2W033151; Mon, 8 Apr 2024 06:49:21 GMT (envelope-from git) Date: Mon, 8 Apr 2024 06:49:21 GMT Message-Id: <202404080649.4386nL2W033151@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: 4e7aa03b7076 - main - LinuxKPI: Stub sysfs_remove_link in linux/sysfs.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: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4e7aa03b7076353af4b960ade67f093af5736d38 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=4e7aa03b7076353af4b960ade67f093af5736d38 commit 4e7aa03b7076353af4b960ade67f093af5736d38 Author: Vladimir Kondratyev AuthorDate: 2024-04-08 06:47:43 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-04-08 06:47:43 +0000 LinuxKPI: Stub sysfs_remove_link in linux/sysfs.h sysfs_create_link is stubbed already. Stub sysfs_remove_link too to be feature-complete. Sponsored by: Serenity Cyber Security, LLC Reviewed by: emaste MFC after: 1 week --- sys/compat/linuxkpi/common/include/linux/sysfs.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/sysfs.h b/sys/compat/linuxkpi/common/include/linux/sysfs.h index 4a65095d9eb1..b5ad73e4460b 100644 --- a/sys/compat/linuxkpi/common/include/linux/sysfs.h +++ b/sys/compat/linuxkpi/common/include/linux/sysfs.h @@ -164,6 +164,12 @@ sysfs_create_link(struct kobject *kobj __unused, return (0); } +static inline void +sysfs_remove_link(struct kobject *kobj, const char *name) +{ + /* TODO (along with sysfs_create_link) */ +} + static inline int sysfs_create_files(struct kobject *kobj, const struct attribute * const *attrs) { From nobody Mon Apr 8 13:14:33 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCqLd24qzz5H1ZG; Mon, 8 Apr 2024 13:14: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 4VCqLd1F9pz4qGK; Mon, 8 Apr 2024 13:14:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712582073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Omw667sdFZZ8zidnD/BlGrnOkTg+xMGvq393TjXCyZc=; b=hbJ8rkhUo50rhC4P9EVjJ9w68ebpcoln7lxDKzZgtFwzDqwo/JsRysCprjwkAKOoSqmcny UJHFLS/8q36EogDGnVaVUHO7wuKTRLGJ3fmKSFvkfDWvzeAJPrAekukfQyV8jbwNTXwUB6 b+bVZxYw+TY9BVLp1it3wrbyNdkIpTy5aYaAB4rh5SFFgAxQePSsurJxmKK5r0VV+hvpgA JzegC2TX4VpZxHdN7dkR1ixzjvwd9a2rErMDShdFCywM0PBZIjGf9mfnfBHmpflWjbKJqc RX2E0cr89sJzGhZ/DAkbPdEGvZivpFi18noiRqgJu7xP2lrQYPvIL4klJaNZWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712582073; a=rsa-sha256; cv=none; b=BJjPKkdJ7Cv5bWQ0CcOUdQKxpG3sDO7qnwa+sorXB94TGwXIRqDqNMlIdK6M8VwfuCsFL+ YGiLW5OBaJBoYNjCLkRIxTCkjZF/g/0NOv4XI1XNTt9DnoN6l5puF66cy685/NLAy/7BpL KnUzyJUe4P6IuzhXLQK9ljLk0xodyC2/yTfO1K1/mlRkSND5UORl1DwNbsGNNo2OnkTj25 6JH7w3civ2SCNbRUhFuDzyq3fpQu7kT0AmEEqr92Gwi0F4UgLW15bDYysT3yIVYwOBuqTY +rCBQR9CTB/evpBthH3vrftcjbbOY9rPKs8h7WRuDA/iwWS4RSEHp2t+KpsfRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712582073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Omw667sdFZZ8zidnD/BlGrnOkTg+xMGvq393TjXCyZc=; b=hHmxXfkM3DN6KVfwOlZkDSGa9uN3CXh+7x6C/JAXdrlsILQAhQ9Y2h7cTEN//X74FDzd7a ZflCuXAiKm9J/nnUp+JI/GExHOuZ4Bul4bi62myygCsoM1+J4KKd2lo0tCIffvLjeS9Qsg wKB2Fjr1nEnLIOwvI0Sj70aTTQvx4YbOStqcs0cvGW1aOOH7wgQWey5c2Cd4slcQvsCQG8 UKuIdpYFsSCbKJtip1CFsUctsnu7PT1gSg4eRUAZENPnKqErx0tABanUJYpsVPPhXDTG5F NU5L7w4+/pIezAeoCCIrhommvEYIy0UK+vgeEYNV31gbqwonZKAGwROwGwHj/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 4VCqLd0rqTz1BZ7; Mon, 8 Apr 2024 13:14:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438DEXqZ000948; Mon, 8 Apr 2024 13:14:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438DEXCq000945; Mon, 8 Apr 2024 13:14:33 GMT (envelope-from git) Date: Mon, 8 Apr 2024 13:14:33 GMT Message-Id: <202404081314.438DEXCq000945@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: 4696650782e2 - main - swap_pager: Unbusy readahead pages after an I/O error 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: 4696650782e2e5cf7ae5823f1de04550c05b5b75 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4696650782e2e5cf7ae5823f1de04550c05b5b75 commit 4696650782e2e5cf7ae5823f1de04550c05b5b75 Author: Mark Johnston AuthorDate: 2024-04-08 13:02:48 +0000 Commit: Mark Johnston CommitDate: 2024-04-08 13:02:48 +0000 swap_pager: Unbusy readahead pages after an I/O error The swap pager itself allocates readahead pages, so should take care to unbusy them after a read error, just as it does in the non-error case. PR: 277538 Reviewed by: olce, dougm, alc, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44646 --- sys/vm/swap_pager.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index f6cfd45c3805..ee236c7f3988 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -1683,6 +1683,9 @@ swp_pager_async_iodone(struct buf *bp) * getpages so don't play cute tricks here. */ vm_page_invalid(m); + if (i < bp->b_pgbefore || + i >= bp->b_npages - bp->b_pgafter) + vm_page_free_invalid(m); } else { /* * If a write error occurs, reactivate page From nobody Mon Apr 8 13:14:34 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCqLf595Dz5H1Rk; Mon, 8 Apr 2024 13:14: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 4VCqLf39qmz4qVr; Mon, 8 Apr 2024 13:14:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712582074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MRHQdNmJHbF/SXoSQAouiTIi8QensVOO5RABN2eK9Yc=; b=rxz30KoRnaEC4k3DX2i8K6Onr8ZL51QhBuv9aF89WcfNca4Jp+Sw2rSQmUEe5xhdMFlGIF c6WW4u2eH2WMxqA2a2I0F/XDqEzS2DoTOocH7YojIqrlrRzKF/C2eIX3RAzTW61W5J2Ozw x0YhxQbD6PDXOD/rXEwyou57NglJ6HdHTdWIEK0jgUgHkT/J9pYZgtWw2pBZS5exJocmCH igxW72XZpmFjNWh00Oxg0Mz0ikoGnFvGGlObxhetEsUNCf8ZzH87bIF+Q9CLhlvHGFiEJt YQG5xcpD3xO2WR9eoN504JV3wQU/v2fRMNsj1yxWiwhpVUyh1QRs4GxfSMqjHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712582074; a=rsa-sha256; cv=none; b=VuwrkTMIe2Rp7yA3diO5TLWhzBuCz8RPO5+bL1sF1c1P8W9yVmCl8h3B2kxgED2Mb0Zeag JTyuxB5CDPRQkvYrD3MPvkGcpVQAHDojTILTLOsE/hzmbPo2cGH1zvC33OnHANDwI8Ro1n BmIUxsSgDx4GMq0g/9cr7/TKtXZj29Pc2kcpwtxkh51CeNoY7tQ0RpoQSPIWP9EaHCqz5X 1AFrpf4fwi2NrC93cX+bTJs5BmeoQQmzG8wHpTeZFUBKxK/V7tbiZVjIed2bP9JIb332jp GNTd/FojwhPPm/xqlJb9DJdFWRYyBhXLdfJyIzRC7ys+HDYUQopMZy67vlPbNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712582074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MRHQdNmJHbF/SXoSQAouiTIi8QensVOO5RABN2eK9Yc=; b=Hqahb4NHRSHniChQ+boi0/RAagxpRA5FzQckIaPH8LJvjd3gGsGoVlHh+hP/MPweuXqktU UtjLrWZQm8pvBYa0scday+gdqsbhuJUOrE0hqwHraOKUB32l0GxxlepMwdY0zsvK7iHAIZ H7biiNqjAybFr+JaoB633Iw27AYJmhERS09jdSjWlNbtCBCrWz6+mblOKlICCyQ6h83gl6 TFLNjLWQk7IiG13XgsRSAZ6mv0LAs9tzuxXPlG2zute4DrV3Cks+4Jf+k8jlOvOYsT9xwq 7n1ieMLaNnWcAWO29JB9sRbdZTLRnlSc6yIIT7f9n0nvuup8Ts6qidgc5eJhNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCqLf1X69z1Bkm; Mon, 8 Apr 2024 13:14:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438DEYoS000993; Mon, 8 Apr 2024 13:14:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438DEYpR000990; Mon, 8 Apr 2024 13:14:34 GMT (envelope-from git) Date: Mon, 8 Apr 2024 13:14:34 GMT Message-Id: <202404081314.438DEYpR000990@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: b9fa1500cb22 - main - bhyvectl: generate usage from options 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b9fa1500cb2265b95927e19b9d2119ca26d65be3 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b9fa1500cb2265b95927e19b9d2119ca26d65be3 commit b9fa1500cb2265b95927e19b9d2119ca26d65be3 Author: Rob Norris AuthorDate: 2024-04-08 13:07:32 +0000 Commit: Mark Johnston CommitDate: 2024-04-08 13:08:54 +0000 bhyvectl: generate usage from options table The usage text had fallen out of sync with the actually available options. Rather than keep them in sync by hand, just generate usage from the available options. Signed-off-by: Rob Norris Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44641 --- usr.sbin/bhyvectl/bhyvectl.c | 245 +++++++++++-------------------------------- 1 file changed, 63 insertions(+), 182 deletions(-) diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c index a055be46d8d4..90c9d51c2138 100644 --- a/usr.sbin/bhyvectl/bhyvectl.c +++ b/usr.sbin/bhyvectl/bhyvectl.c @@ -71,184 +71,6 @@ static const char *progname; -static void -usage(bool cpu_intel) -{ - - (void)fprintf(stderr, - "Usage: %s --vm=\n" - " [--cpu=]\n" - " [--create]\n" - " [--destroy]\n" -#ifdef BHYVE_SNAPSHOT - " [--checkpoint= | --suspend=]\n" -#endif - " [--get-all]\n" - " [--get-stats]\n" - " [--set-desc-ds]\n" - " [--get-desc-ds]\n" - " [--set-desc-es]\n" - " [--get-desc-es]\n" - " [--set-desc-gs]\n" - " [--get-desc-gs]\n" - " [--set-desc-fs]\n" - " [--get-desc-fs]\n" - " [--set-desc-cs]\n" - " [--get-desc-cs]\n" - " [--set-desc-ss]\n" - " [--get-desc-ss]\n" - " [--set-desc-tr]\n" - " [--get-desc-tr]\n" - " [--set-desc-ldtr]\n" - " [--get-desc-ldtr]\n" - " [--set-desc-gdtr]\n" - " [--get-desc-gdtr]\n" - " [--set-desc-idtr]\n" - " [--get-desc-idtr]\n" - " [--run]\n" - " [--capname=]\n" - " [--getcap]\n" - " [--setcap=<0|1>]\n" - " [--desc-base=]\n" - " [--desc-limit=]\n" - " [--desc-access=]\n" - " [--set-cr0=]\n" - " [--get-cr0]\n" - " [--set-cr2=]\n" - " [--get-cr2]\n" - " [--set-cr3=]\n" - " [--get-cr3]\n" - " [--set-cr4=]\n" - " [--get-cr4]\n" - " [--set-dr0=]\n" - " [--get-dr0]\n" - " [--set-dr1=]\n" - " [--get-dr1]\n" - " [--set-dr2=]\n" - " [--get-dr2]\n" - " [--set-dr3=]\n" - " [--get-dr3]\n" - " [--set-dr6=]\n" - " [--get-dr6]\n" - " [--set-dr7=]\n" - " [--get-dr7]\n" - " [--set-rsp=]\n" - " [--get-rsp]\n" - " [--set-rip=]\n" - " [--get-rip]\n" - " [--get-rax]\n" - " [--set-rax=]\n" - " [--get-rbx]\n" - " [--get-rcx]\n" - " [--get-rdx]\n" - " [--get-rsi]\n" - " [--get-rdi]\n" - " [--get-rbp]\n" - " [--get-r8]\n" - " [--get-r9]\n" - " [--get-r10]\n" - " [--get-r11]\n" - " [--get-r12]\n" - " [--get-r13]\n" - " [--get-r14]\n" - " [--get-r15]\n" - " [--set-rflags=]\n" - " [--get-rflags]\n" - " [--set-cs]\n" - " [--get-cs]\n" - " [--set-ds]\n" - " [--get-ds]\n" - " [--set-es]\n" - " [--get-es]\n" - " [--set-fs]\n" - " [--get-fs]\n" - " [--set-gs]\n" - " [--get-gs]\n" - " [--set-ss]\n" - " [--get-ss]\n" - " [--get-tr]\n" - " [--get-ldtr]\n" - " [--set-x2apic-state=]\n" - " [--get-x2apic-state]\n" - " [--unassign-pptdev=]\n" - " [--set-mem=]\n" - " [--get-lowmem]\n" - " [--get-highmem]\n" - " [--get-gpa-pmap]\n" - " [--assert-lapic-lvt=]\n" - " [--inject-nmi]\n" - " [--force-reset]\n" - " [--force-poweroff]\n" - " [--get-rtc-time]\n" - " [--set-rtc-time=]\n" - " [--get-rtc-nvram]\n" - " [--set-rtc-nvram=]\n" - " [--rtc-nvram-offset=]\n" - " [--get-active-cpus]\n" - " [--get-debug-cpus]\n" - " [--get-suspended-cpus]\n" - " [--get-intinfo]\n" - " [--get-eptp]\n" - " [--set-exception-bitmap]\n" - " [--get-exception-bitmap]\n" - " [--get-tsc-offset]\n" - " [--get-guest-pat]\n" - " [--get-io-bitmap-address]\n" - " [--get-msr-bitmap]\n" - " [--get-msr-bitmap-address]\n" - " [--get-guest-sysenter]\n" - " [--get-exit-reason]\n" - " [--get-cpu-topology]\n", - progname); - - if (cpu_intel) { - (void)fprintf(stderr, - " [--get-vmcs-pinbased-ctls]\n" - " [--get-vmcs-procbased-ctls]\n" - " [--get-vmcs-procbased-ctls2]\n" - " [--get-vmcs-entry-interruption-info]\n" - " [--set-vmcs-entry-interruption-info=]\n" - " [--get-vmcs-guest-physical-address\n" - " [--get-vmcs-guest-linear-address\n" - " [--get-vmcs-host-pat]\n" - " [--get-vmcs-host-cr0]\n" - " [--get-vmcs-host-cr3]\n" - " [--get-vmcs-host-cr4]\n" - " [--get-vmcs-host-rip]\n" - " [--get-vmcs-host-rsp]\n" - " [--get-vmcs-cr0-mask]\n" - " [--get-vmcs-cr0-shadow]\n" - " [--get-vmcs-cr4-mask]\n" - " [--get-vmcs-cr4-shadow]\n" - " [--get-vmcs-cr3-targets]\n" - " [--get-vmcs-apic-access-address]\n" - " [--get-vmcs-virtual-apic-address]\n" - " [--get-vmcs-tpr-threshold]\n" - " [--get-vmcs-vpid]\n" - " [--get-vmcs-instruction-error]\n" - " [--get-vmcs-exit-ctls]\n" - " [--get-vmcs-entry-ctls]\n" - " [--get-vmcs-link]\n" - " [--get-vmcs-exit-qualification]\n" - " [--get-vmcs-exit-interruption-info]\n" - " [--get-vmcs-exit-interruption-error]\n" - " [--get-vmcs-interruptibility]\n" - ); - } else { - (void)fprintf(stderr, - " [--get-vmcb-intercepts]\n" - " [--get-vmcb-asid]\n" - " [--get-vmcb-exit-details]\n" - " [--get-vmcb-tlb-ctrl]\n" - " [--get-vmcb-virq]\n" - " [--get-avic-apic-bar]\n" - " [--get-avic-backing-page]\n" - " [--get-avic-table]\n" - ); - } - exit(1); -} - static int get_rtc_time, set_rtc_time; static int get_rtc_nvram, set_rtc_nvram; static int rtc_nvram_offset; @@ -1566,6 +1388,65 @@ setup_options(bool cpu_intel) return (all_opts); } +static void +usage(const struct option *opts) +{ + static const char *set_desc[] = { + [VCPU] = "vcpu_number", + [SET_MEM] = "memory in units of MB", + [SET_EFER] = "EFER", + [SET_CR0] = "CR0", + [SET_CR2] = "CR2", + [SET_CR3] = "CR3", + [SET_CR4] = "CR4", + [SET_DR0] = "DR0", + [SET_DR1] = "DR1", + [SET_DR2] = "DR2", + [SET_DR3] = "DR3", + [SET_DR6] = "DR6", + [SET_DR7] = "DR7", + [SET_RSP] = "RSP", + [SET_RIP] = "RIP", + [SET_RAX] = "RAX", + [SET_RFLAGS] = "RFLAGS", + [DESC_BASE] = "BASE", + [DESC_LIMIT] = "LIMIT", + [DESC_ACCESS] = "ACCESS", + [SET_CS] = "CS", + [SET_DS] = "DS", + [SET_ES] = "ES", + [SET_FS] = "FS", + [SET_GS] = "GS", + [SET_SS] = "SS", + [SET_TR] = "TR", + [SET_LDTR] = "LDTR", + [SET_X2APIC_STATE] = "state", + [SET_CAP] = "0|1", + [CAPNAME] = "capname", + [UNASSIGN_PPTDEV] = "bus/slot.func", + [GET_GPA_PMAP] = "gpa", + [ASSERT_LAPIC_LVT] = "pin", + [SET_RTC_TIME] = "secs", + [SET_RTC_NVRAM] = "val", + [RTC_NVRAM_OFFSET] = "offset", +#ifdef BHYVE_SNAPSHOT + [SET_CHECKPOINT_FILE] = "filename", + [SET_SUSPEND_FILE] = "filename", +#endif + }; + (void)fprintf(stderr, "Usage: %s --vm=\n", progname); + for (const struct option *o = opts; o->name; o++) { + if (strcmp(o->name, "vm") == 0) + continue; + if (o->has_arg == REQ_ARG) + (void)fprintf(stderr, " [--%s=<%s>]\n", + o->name, set_desc[o->val]); + else + (void)fprintf(stderr, " [--%s]\n", o->name); + } + exit(1); +} + static const char * wday_str(int idx) { @@ -1915,7 +1796,7 @@ main(int argc, char *argv[]) case UNASSIGN_PPTDEV: unassign_pptdev = 1; if (sscanf(optarg, "%d/%d/%d", &bus, &slot, &func) != 3) - usage(cpu_intel); + usage(opts); break; case ASSERT_LAPIC_LVT: assert_lapic_lvt = atoi(optarg); @@ -1924,21 +1805,21 @@ main(int argc, char *argv[]) case SET_CHECKPOINT_FILE: case SET_SUSPEND_FILE: if (checkpoint_file != NULL) - usage(cpu_intel); + usage(opts); checkpoint_file = optarg; vm_suspend_opt = (ch == SET_SUSPEND_FILE); break; #endif default: - usage(cpu_intel); + usage(opts); } } argc -= optind; argv += optind; if (vmname == NULL) - usage(cpu_intel); + usage(opts); error = 0; From nobody Mon Apr 8 13:14:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCqLg5N9pz5H1ZH; Mon, 8 Apr 2024 13:14: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 4VCqLg3C9fz4qZc; Mon, 8 Apr 2024 13:14:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712582075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bv75fRjp74hCEOE7DFFuwQ1ocfV+0+g3r5NzErwJDgY=; b=mLMcOVurCnCrCGZPlitGQEbBhhXOM3MZCi6hM52x4chhpR5HRNyK9mczIgoWynn2uho/yH szm38u97RrCD2XgD9FVKQ2HevCGsefH4gBrXOorycpWWV1vBbrdxibSV2tzT2v4gxUHtUm 53NgS2nsyOJ1R9QLvEkvvoUmB061KtSmAlCmbEyCAyy7xAo2jspnqnvvnCK9kV0GrFAUKy Z6mt4rY6qUpZFYy7LQbeu4pNSTbPcNhHZjpQMq4PJeR3RRBjA6gmENYYMCXe4LY8C9D9Pv fXEJUL1qiv5AOw5FUWWfvBRgWGAx0kYV3t+tcvSxToPY37UO9Ct8ojHkBL7khQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712582075; a=rsa-sha256; cv=none; b=R1ZQl90TlOdTfUDE2xXF/OnWD3YipmbpQiVFI5Rn/WUaJbapYmg7y4nOBpA9xULWFp4QFP jFv2JVUqvYSS5rHDynNbTgQSubWFa+kGJ/Sz3xDu8/OGXeKGI+HP3hIn/h8HUjhJw3HJdk aXyqAYY62QfVlgrjFSIxJxtp9wHsXRndvDN7b7c9VysM3vI9mehi3ixaZQkczjNEN6gctH UHPu6KyZ5RweouK52411M2PLO9YH+7XSefCzlFvehxB+mP7fsrHDTzczNBlYkIj3zUAx74 W3Ohipi7XT0+HP86skq6Q+INOqJ8AnqDVIHXXjxvlHQij8ubKf4kR2dDgCSiQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712582075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bv75fRjp74hCEOE7DFFuwQ1ocfV+0+g3r5NzErwJDgY=; b=GL5PIBqq3xCl4h1hmRhRStuLK2nipfEmzTJkuo1H4JWTMKDOPI1W8llUakWJyVDvwcV32y CdELn5gBjdYL9vFUNIIYZOYcqHr5NuC36aFUiFKszvOeM3yeQTb7/Q07fmASZ2M5zz9jxF fMHtwINUgjm20q0E4C9w6aGni6DyuRlNvLXzhhMtA9geBkdKCthxSrRQxcrcrHbT4g+gUX cSbyS4m8GxpBszWbrl9EGrVviAC54tBi2h7KJcVibGVA2S5wdq/NAM0SgO60Zft+/HM/ok QcC9BHBEyOGs+m5gcKcCDuUvsejGr+Y4Pg1xhuBn7bXOtcOvd5W0HMP28kUbRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCqLg2qS0z1C1T; Mon, 8 Apr 2024 13:14:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438DEZKO001038; Mon, 8 Apr 2024 13:14:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438DEZId001035; Mon, 8 Apr 2024 13:14:35 GMT (envelope-from git) Date: Mon, 8 Apr 2024 13:14:35 GMT Message-Id: <202404081314.438DEZId001035@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: b6c7ff583fdb - main - libvmmapi: add missing capability strings 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: b6c7ff583fdb11bf611d58022aea15461c6158e9 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b6c7ff583fdb11bf611d58022aea15461c6158e9 commit b6c7ff583fdb11bf611d58022aea15461c6158e9 Author: Rob Norris AuthorDate: 2024-04-08 13:08:20 +0000 Commit: Mark Johnston CommitDate: 2024-04-08 13:08:59 +0000 libvmmapi: add missing capability strings Signed-off-by: Rob Norris Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44642 --- lib/libvmmapi/vmmapi.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index 1ab21e2f4de2..6527cfc48e0d 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -917,6 +917,11 @@ static const char *capstrmap[] = { [VM_CAP_UNRESTRICTED_GUEST] = "unrestricted_guest", [VM_CAP_ENABLE_INVPCID] = "enable_invpcid", [VM_CAP_BPT_EXIT] = "bpt_exit", + [VM_CAP_RDPID] = "rdpid", + [VM_CAP_RDTSCP] = "rdtscp", + [VM_CAP_IPI_EXIT] = "ipi_exit", + [VM_CAP_MASK_HWINTR] = "mask_hwintr", + [VM_CAP_RFLAGS_TF] = "rflags_tf", }; int From nobody Mon Apr 8 14:46:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCsPC0YPFz5H8XC; Mon, 8 Apr 2024 14:46: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 4VCsPC01ygz44mp; Mon, 8 Apr 2024 14:46:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712587615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F/FYcYQWq8ToW7Zk5ySWJZewFmqFQUfs+jbj/qncQss=; b=Xh5serpbHCarCP8K26ReXHkVXLQXgc4tIX59qsyUmKFzTvB3SNUKfUOgEMLuq+YOaEmR3D 3F5Vhq7/xA2tmt4wNNWTo1QGOn+GzXgtE1zhUzsKqLsyjT4w9Dkrbyihrpn/UgoRQKeT+P nZV6IIp1mFDHRqkU6m14dUhSilhEybzso78TrzX4ElHwPMm1svuDnea3YSqfek7OhytRtw rRoRLFsw2ReKP2WbUTvrv1u/jLvEDIeEWH0AOFgahYtKUxa7XjV5Eun4u57fPV3k+lwDNG KwG2DJ2X7GShWiZOgV4HE7pI0yvvo4yogXrQHUV7Ojcc9RVpc48SlPXHxZJ+LQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712587615; a=rsa-sha256; cv=none; b=o9cJXUCuqVfUh3MUkouzdq/CLYFci54SWSoJh99Y3PvQMdtViGwEP9X5/tlKTt24yXbjoq KNL80FkIDiVSlKhR+Z1Wp2UuwnLQ/a0rJhDVhJk7SvDkCFySjJLPyTaM4uXjmw6TgmPkLO cITxPZPBLrpzzw3o/wBRjXd5xHjjl9uub8xXYNaNTVWZXtM7+mOivoDIntWNeCba1vqcGw 1XGrUM8CcRjOUdzXE1LSu1Ji2ran/PQgv531Ve3N5WeD3Z7Fc++vTk1j8F44ihJKxJxhzz TquGdvxzHr3JUMnoIqgauW9AZfZ7NyctJc0PzbKF8I2eDaNPc7HrFKIkQVl/gQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712587615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F/FYcYQWq8ToW7Zk5ySWJZewFmqFQUfs+jbj/qncQss=; b=cYsKQW0bJ1g+JDnQykC+BYqg+0UpxsePmbKsmdj2t09hbDk53QxkWCKYpUuWJANHM88gC9 /xTxrCsbEgd9EIamHMAOHfHwf9hezRd5bzkm0dldCqkQv2REHDmQvbR805efNuae85C4Qg CeT/xUkyQeOBtjETqBbcMRCv0R0G+K6eCxmaNb2ae9xnYSWfSU9c3ahsw39EtxcA4aDNAM NUIA0G4ZDd4jR/F4j8rrDP+/G7P7BXOTWsEORPK6JFHXPSHoUBKzoBnPV4pfwIPRAn8uqm t2UY2KGmDMLrLDYab7hMUd2R6YOG5v7i97aL9QvhF1BvGVeWpJyFhfkaklHq6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCsPB6l7CzFMd; Mon, 8 Apr 2024 14:46:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438Eksx6053437; Mon, 8 Apr 2024 14:46:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438EkstP053434; Mon, 8 Apr 2024 14:46:54 GMT (envelope-from git) Date: Mon, 8 Apr 2024 14:46:54 GMT Message-Id: <202404081446.438EkstP053434@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jake Freeland Subject: git: 34791f4ac79e - main - capsicum.h: Include ktrace.h only in kernel 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: jfree X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 34791f4ac79ee41f6986178a3a89d13f37ac156c Auto-Submitted: auto-generated The branch main has been updated by jfree: URL: https://cgit.FreeBSD.org/src/commit/?id=34791f4ac79ee41f6986178a3a89d13f37ac156c commit 34791f4ac79ee41f6986178a3a89d13f37ac156c Author: Jake Freeland AuthorDate: 2024-04-08 13:27:17 +0000 Commit: Jake Freeland CommitDate: 2024-04-08 14:32:58 +0000 capsicum.h: Include ktrace.h only in kernel Fix cross build failure by including ktrace.h only when _KERNEL is defined. Fixes: 9bec84131215 Approved by: markj (mentor) MFC after: 1 month Sponsored by: The FreeBSD Foundation --- sys/sys/capsicum.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/capsicum.h b/sys/sys/capsicum.h index e1113f590b85..5c6813d2a450 100644 --- a/sys/sys/capsicum.h +++ b/sys/sys/capsicum.h @@ -44,7 +44,6 @@ #include #include #include -#include #ifndef _KERNEL #include @@ -419,6 +418,7 @@ __END_DECLS #ifdef _KERNEL #include +#include #ifdef KTRACE #define CAP_TRACING(td) KTRPOINT((td), KTR_CAPFAIL) From nobody Mon Apr 8 15:30:51 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCtMv5QWbz5HD2V; Mon, 8 Apr 2024 15:30: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 4VCtMv4lY2z4D7P; Mon, 8 Apr 2024 15:30:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712590251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6CyKM7gsJ4MY9kGRkxpvrR+ywUJwO+M5Wm2qwpMcla4=; b=SrBXVzhqqH183HW/OfWwI0gPmqM4ikxqMJn5+CatCFbdvpIMLCLUBD46/ZQVQf/q6Tw0b3 81UPPQnzaVnv2+2C+rk0pef+EyGSXI6DyZg2ZDCP9l+tt/64I840F3LC+SdKzVjUaZuGLm BDXS2BIyezAzPGU4qFUW6AFldzrWY0Xc0uDfoIMHDx5nQhif8FW15Xltasl5a2RwtlMwSm 1HuJvD7kqv3x3VD6X0WqILGdQZ+c1DFVo1R31cXOuBN3YQlpbicgmVMUod/8oaEK78FKiq krkTKNzVWMbRTmJbXTiCZ+DkEIxaww3D60hXLDfnaKb+HKbQftBSReW7XJ/rAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712590251; a=rsa-sha256; cv=none; b=rHw+Ld4sk8NLktl7OT1DtsCZtQ0QcMSFyWoBmli5l0dneg/WUtX5oQCUONaLaA6pkmpZ3h hPCYO/ugQdl9w7QyOxGN50oGUXmVExabXRj/kQOhKbXMeGd7t+9tHSTu2XJO+8qKqmnOvi Vaj4O0Bht+D1xEjtQt7QFhHQf4vKCtyeZ1FJXDGj8xGrnIv9PfzN5R9Lp1wQzAXzX0P2vv J4d2G61RRO9vbHjlvrFuTgioKpm9HhW/l79hf7LfFNhJ5tETVp/cwbYk6x6puZp4Mns77E sFvCzgqA1XMI2Q4aBonZwTKAqE/yZACNYMPTyhhNO7andrXKUvceTZNj6qzIng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712590251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6CyKM7gsJ4MY9kGRkxpvrR+ywUJwO+M5Wm2qwpMcla4=; b=nYwTM8kNvSRBsCvo33Ajn9I4vfTk/NKwlsKIP/gxGxB/NhVTXzvwJOWdrsX03OT03ZJqNt AC/8jb/+Sdm53uulQo9AGN7h5h+knOVJnGd8dEALFYDI5Vgqwx0ZPWBedLf9LVSns+dwTu T91ILyxgnvK5xrCwKuczUX30QmGCxNz2u8sYzWGYiksMQON5ZmE7TY6m+3J3MBegi33cUN h7qAUA4ilAM4nsSEPz3B3wgQm3ho/OcVWd3K5Kxg1B08O/6Dp8Sl1D2tAPd7MJaTKMqW0s MHFNLj5fnT8zrK22qD3CT0xfeXTtJszFC/Eg/CaaWFw4FXeYOK5wp2us/w+kQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCtMv4MC2zGqW; Mon, 8 Apr 2024 15:30:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438FUpAq030797; Mon, 8 Apr 2024 15:30:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438FUp2r030751; Mon, 8 Apr 2024 15:30:51 GMT (envelope-from git) Date: Mon, 8 Apr 2024 15:30:51 GMT Message-Id: <202404081530.438FUp2r030751@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 60d8dbbef075 - main - netinet: add a probe point for IP, IP6, ICMP, ICMP6, UDP and TCP stats counters 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 60d8dbbef075d3b39891ed35e124d0f7ef8e5fb9 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=60d8dbbef075d3b39891ed35e124d0f7ef8e5fb9 commit 60d8dbbef075d3b39891ed35e124d0f7ef8e5fb9 Author: Kristof Provost AuthorDate: 2024-01-18 19:44:47 +0000 Commit: Kristof Provost CommitDate: 2024-04-08 15:29:59 +0000 netinet: add a probe point for IP, IP6, ICMP, ICMP6, UDP and TCP stats counters When debugging network issues one common clue is an unexpectedly incrementing error counter. This is helpful, in that it gives us an idea of what might be going wrong, but often these counters may be incremented in different functions. Add a static probe point for them so that we can use dtrace to get futher information (e.g. a stack trace). For example: dtrace -n 'mib:ip:count: { printf("%d", arg0); stack(); }' This can be disabled by setting the following kernel option: options KDTRACE_NO_MIB_SDT Reviewed by: gallatin, tuexen (previous version), gnn (previous version) Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D43504 --- sys/conf/options | 1 + sys/netinet/icmp6.h | 71 +++++------ sys/netinet/icmp_var.h | 22 +++- sys/netinet/in_kdtrace.c | 305 +++++++++++++++++++++++++++++++++++++++++++++++ sys/netinet/in_kdtrace.h | 279 +++++++++++++++++++++++++++++++++++++++++++ sys/netinet/ip_icmp.c | 6 +- sys/netinet/ip_var.h | 28 +++-- sys/netinet/tcp_var.h | 17 ++- sys/netinet/udp_var.h | 18 ++- sys/netinet6/icmp6.c | 10 +- sys/netinet6/in6_src.c | 14 +-- sys/netinet6/ip6_input.c | 4 +- sys/netinet6/ip6_var.h | 17 ++- sys/netinet6/mld6.c | 2 +- sys/netinet6/nd6_nbr.c | 4 +- sys/netinet6/raw_ip6.c | 2 +- sys/sys/sdt.h | 11 ++ 17 files changed, 725 insertions(+), 86 deletions(-) diff --git a/sys/conf/options b/sys/conf/options index 276c6c5067f7..ba1efff080b7 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -145,6 +145,7 @@ GEOM_ZERO opt_geom.h IFLIB opt_iflib.h KDTRACE_HOOKS opt_global.h KDTRACE_FRAME opt_kdtrace.h +KDTRACE_NO_MIB_SDT opt_global.h KN_HASHSIZE opt_kqueue.h KSTACK_MAX_PAGES KSTACK_PAGES diff --git a/sys/netinet/icmp6.h b/sys/netinet/icmp6.h index e344c662783a..4368fd2a0fcf 100644 --- a/sys/netinet/icmp6.h +++ b/sys/netinet/icmp6.h @@ -572,22 +572,6 @@ do { \ * Variables related to this implementation * of the internet control message protocol version 6. */ -struct icmp6errstat { - uint64_t icp6errs_dst_unreach_noroute; - uint64_t icp6errs_dst_unreach_admin; - uint64_t icp6errs_dst_unreach_beyondscope; - uint64_t icp6errs_dst_unreach_addr; - uint64_t icp6errs_dst_unreach_noport; - uint64_t icp6errs_packet_too_big; - uint64_t icp6errs_time_exceed_transit; - uint64_t icp6errs_time_exceed_reassembly; - uint64_t icp6errs_paramprob_header; - uint64_t icp6errs_paramprob_nextheader; - uint64_t icp6errs_paramprob_option; - uint64_t icp6errs_redirect; /* we regard redirect as an error here */ - uint64_t icp6errs_unknown; -}; - struct icmp6stat { /* statistics related to icmp6 packets generated */ uint64_t icp6s_error; /* # of calls to icmp6_error */ @@ -607,25 +591,19 @@ struct icmp6stat { uint64_t icp6s_reflect; uint64_t icp6s_inhist[256]; uint64_t icp6s_nd_toomanyopt; /* too many ND options */ - struct icmp6errstat icp6s_outerrhist; -#define icp6s_odst_unreach_noroute \ - icp6s_outerrhist.icp6errs_dst_unreach_noroute -#define icp6s_odst_unreach_admin icp6s_outerrhist.icp6errs_dst_unreach_admin -#define icp6s_odst_unreach_beyondscope \ - icp6s_outerrhist.icp6errs_dst_unreach_beyondscope -#define icp6s_odst_unreach_addr icp6s_outerrhist.icp6errs_dst_unreach_addr -#define icp6s_odst_unreach_noport icp6s_outerrhist.icp6errs_dst_unreach_noport -#define icp6s_opacket_too_big icp6s_outerrhist.icp6errs_packet_too_big -#define icp6s_otime_exceed_transit \ - icp6s_outerrhist.icp6errs_time_exceed_transit -#define icp6s_otime_exceed_reassembly \ - icp6s_outerrhist.icp6errs_time_exceed_reassembly -#define icp6s_oparamprob_header icp6s_outerrhist.icp6errs_paramprob_header -#define icp6s_oparamprob_nextheader \ - icp6s_outerrhist.icp6errs_paramprob_nextheader -#define icp6s_oparamprob_option icp6s_outerrhist.icp6errs_paramprob_option -#define icp6s_oredirect icp6s_outerrhist.icp6errs_redirect -#define icp6s_ounknown icp6s_outerrhist.icp6errs_unknown + uint64_t icp6s_odst_unreach_noroute; + uint64_t icp6s_odst_unreach_admin; + uint64_t icp6s_odst_unreach_beyondscope; + uint64_t icp6s_odst_unreach_addr; + uint64_t icp6s_odst_unreach_noport; + uint64_t icp6s_opacket_too_big; + uint64_t icp6s_otime_exceed_transit; + uint64_t icp6s_otime_exceed_reassembly; + uint64_t icp6s_oparamprob_header; + uint64_t icp6s_oparamprob_nextheader; + uint64_t icp6s_oparamprob_option; + uint64_t icp6s_oredirect; + uint64_t icp6s_ounknown; uint64_t icp6s_pmtuchg; /* path MTU changes */ uint64_t icp6s_nd_badopt; /* bad ND options */ uint64_t icp6s_badns; /* bad neighbor solicitation */ @@ -643,6 +621,7 @@ struct icmp6stat { #ifdef _KERNEL #include +#include #ifdef SYSCTL_DECL SYSCTL_DECL(_net_inet6_icmp6); @@ -653,16 +632,28 @@ VNET_PCPUSTAT_DECLARE(struct icmp6stat, icmp6stat); * In-kernel consumers can use these accessor macros directly to update * stats. */ -#define ICMP6STAT_ADD(name, val) \ - VNET_PCPUSTAT_ADD(struct icmp6stat, icmp6stat, name, (val)) -#define ICMP6STAT_INC(name) ICMP6STAT_ADD(name, 1) +#define ICMP6STAT_ADD(name, val) \ + do { \ + MIB_SDT_PROBE1(icmp6, count, name, (val)); \ + VNET_PCPUSTAT_ADD(struct icmp6stat, icmp6stat, name, (val)); \ + } while (0) +#define ICMP6STAT_INC(name) ICMP6STAT_ADD(name, 1) +#define ICMP6STAT_INC2(name, type) \ + do { \ + MIB_SDT_PROBE2(icmp6, count, name, 1, type); \ + VNET_PCPUSTAT_ADD(struct icmp6stat, icmp6stat, name, 1); \ + } while (0) /* * Kernel module consumers must use this accessor macro. */ void kmod_icmp6stat_inc(int statnum); -#define KMOD_ICMP6STAT_INC(name) \ - kmod_icmp6stat_inc(offsetof(struct icmp6stat, name) / sizeof(uint64_t)) +#define KMOD_ICMP6STAT_INC(name) \ + do { \ + MIB_SDT_PROBE1(icmp6, count, name, 1); \ + kmod_icmp6stat_inc( \ + offsetof(struct icmp6stat, name) / sizeof(uint64_t)); \ + } while (0) #endif /* diff --git a/sys/netinet/icmp_var.h b/sys/netinet/icmp_var.h index a14b5607f39d..b1f2b0ebf911 100644 --- a/sys/netinet/icmp_var.h +++ b/sys/netinet/icmp_var.h @@ -57,22 +57,36 @@ struct icmpstat { #ifdef _KERNEL #include +#include VNET_PCPUSTAT_DECLARE(struct icmpstat, icmpstat); /* * In-kernel consumers can use these accessor macros directly to update * stats. */ -#define ICMPSTAT_ADD(name, val) \ - VNET_PCPUSTAT_ADD(struct icmpstat, icmpstat, name, (val)) +#define ICMPSTAT_ADD(name, val) \ + do { \ + MIB_SDT_PROBE1(icmp, count, name, (val)); \ + VNET_PCPUSTAT_ADD(struct icmpstat, icmpstat, name, (val)); \ + } while (0) + #define ICMPSTAT_INC(name) ICMPSTAT_ADD(name, 1) +#define ICMPSTAT_INC2(name, type) \ + do { \ + MIB_SDT_PROBE2(icmp, count, name, 1, type); \ + VNET_PCPUSTAT_ADD(struct icmpstat, icmpstat, name[type], 1); \ + } while (0) /* * Kernel module consumers must use this accessor macro. */ void kmod_icmpstat_inc(int statnum); -#define KMOD_ICMPSTAT_INC(name) \ - kmod_icmpstat_inc(offsetof(struct icmpstat, name) / sizeof(uint64_t)) +#define KMOD_ICMPSTAT_INC(name) \ + do { \ + MIB_SDT_PROBE1(icmp, count, name, 1); \ + kmod_icmpstat_inc( \ + offsetof(struct icmpstat, name) / sizeof(uint64_t)); \ + } while (0) #endif /* diff --git a/sys/netinet/in_kdtrace.c b/sys/netinet/in_kdtrace.c index 68a9c91ecba6..2a53b11c3be2 100644 --- a/sys/netinet/in_kdtrace.c +++ b/sys/netinet/in_kdtrace.c @@ -30,11 +30,316 @@ #include #include +SDT_PROVIDER_DEFINE(mib); SDT_PROVIDER_DEFINE(ip); SDT_PROVIDER_DEFINE(tcp); SDT_PROVIDER_DEFINE(udp); SDT_PROVIDER_DEFINE(udplite); +#ifndef KDTRACE_NO_MIB_SDT +#define MIB_PROBE_IP(name) \ + SDT_PROBE_DEFINE1(mib, ip, count, name, \ + "int") + +MIB_PROBE_IP(ips_total); +MIB_PROBE_IP(ips_badsum); +MIB_PROBE_IP(ips_tooshort); +MIB_PROBE_IP(ips_toosmall); +MIB_PROBE_IP(ips_badhlen); +MIB_PROBE_IP(ips_badlen); +MIB_PROBE_IP(ips_fragments); +MIB_PROBE_IP(ips_fragdropped); +MIB_PROBE_IP(ips_fragtimeout); +MIB_PROBE_IP(ips_forward); +MIB_PROBE_IP(ips_fastforward); +MIB_PROBE_IP(ips_cantforward); +MIB_PROBE_IP(ips_redirectsent); +MIB_PROBE_IP(ips_noproto); +MIB_PROBE_IP(ips_delivered); +MIB_PROBE_IP(ips_localout); +MIB_PROBE_IP(ips_odropped); +MIB_PROBE_IP(ips_reassembled); +MIB_PROBE_IP(ips_fragmented); +MIB_PROBE_IP(ips_ofragments); +MIB_PROBE_IP(ips_cantfrag); +MIB_PROBE_IP(ips_badoptions); +MIB_PROBE_IP(ips_noroute); +MIB_PROBE_IP(ips_badvers); +MIB_PROBE_IP(ips_rawout); +MIB_PROBE_IP(ips_toolong); +MIB_PROBE_IP(ips_notmember); +MIB_PROBE_IP(ips_nogif); +MIB_PROBE_IP(ips_badaddr); + +#define MIB_PROBE_IP6(name) \ + SDT_PROBE_DEFINE1(mib, ip6, count, name, \ + "int") +#define MIB_PROBE2_IP6(name) \ + SDT_PROBE_DEFINE2(mib, ip6, count, name, \ + "int", "int") + +MIB_PROBE_IP6(ip6s_total); +MIB_PROBE_IP6(ip6s_tooshort); +MIB_PROBE_IP6(ip6s_toosmall); +MIB_PROBE_IP6(ip6s_fragments); +MIB_PROBE_IP6(ip6s_fragdropped); +MIB_PROBE_IP6(ip6s_fragtimeout); +MIB_PROBE_IP6(ip6s_fragoverflow); +MIB_PROBE_IP6(ip6s_forward); +MIB_PROBE_IP6(ip6s_cantforward); +MIB_PROBE_IP6(ip6s_redirectsent); +MIB_PROBE_IP6(ip6s_delivered); +MIB_PROBE_IP6(ip6s_localout); +MIB_PROBE_IP6(ip6s_odropped); +MIB_PROBE_IP6(ip6s_reassembled); +MIB_PROBE_IP6(ip6s_atomicfrags); +MIB_PROBE_IP6(ip6s_fragmented); +MIB_PROBE_IP6(ip6s_ofragments); +MIB_PROBE_IP6(ip6s_cantfrag); +MIB_PROBE_IP6(ip6s_badoptions); +MIB_PROBE_IP6(ip6s_noroute); +MIB_PROBE_IP6(ip6s_badvers); +MIB_PROBE_IP6(ip6s_rawout); +MIB_PROBE_IP6(ip6s_badscope); +MIB_PROBE_IP6(ip6s_notmember); +MIB_PROBE2_IP6(ip6s_nxthist); +MIB_PROBE_IP6(ip6s_m1); +MIB_PROBE2_IP6(ip6s_m2m); +MIB_PROBE_IP6(ip6s_mext1); +MIB_PROBE_IP6(ip6s_mext2m); +MIB_PROBE_IP6(ip6s_exthdrtoolong); +MIB_PROBE_IP6(ip6s_nogif); +MIB_PROBE_IP6(ip6s_toomanyhdr); +MIB_PROBE_IP6(ip6s_sources_none); +MIB_PROBE2_IP6(ip6s_sources_sameif); +MIB_PROBE2_IP6(ip6s_sources_otherif); +MIB_PROBE2_IP6(ip6s_sources_samescope); +MIB_PROBE2_IP6(ip6s_sources_otherscope); +MIB_PROBE2_IP6(ip6s_sources_deprecated); +MIB_PROBE2_IP6(ip6s_sources_rule); + +#define MIB_PROBE_ICMP(name) \ + SDT_PROBE_DEFINE1(mib, icmp, count, name, \ + "int") +#define MIB_PROBE2_ICMP(name) \ + SDT_PROBE_DEFINE2(mib, icmp, count, name, \ + "int", "int") + +MIB_PROBE_ICMP(icps_error); +MIB_PROBE_ICMP(icps_oldshort); +MIB_PROBE_ICMP(icps_oldicmp); +MIB_PROBE2_ICMP(icps_outhist); +MIB_PROBE_ICMP(icps_badcode); +MIB_PROBE_ICMP(icps_tooshort); +MIB_PROBE_ICMP(icps_checksum); +MIB_PROBE_ICMP(icps_badlen); +MIB_PROBE_ICMP(icps_reflect); +MIB_PROBE2_ICMP(icps_inhist); +MIB_PROBE_ICMP(icps_bmcastecho); +MIB_PROBE_ICMP(icps_bmcasttstamp); +MIB_PROBE_ICMP(icps_badaddr); +MIB_PROBE_ICMP(icps_noroute); + +#define MIB_PROBE_ICMP6(name) \ + SDT_PROBE_DEFINE1(mib, icmp6, count, name, \ + "int") +#define MIB_PROBE2_ICMP6(name) \ + SDT_PROBE_DEFINE2(mib, icmp6, count, name, \ + "int", "int") + +MIB_PROBE_ICMP6(icp6s_error); +MIB_PROBE_ICMP6(icp6s_canterror); +MIB_PROBE_ICMP6(icp6s_toofreq); +MIB_PROBE2_ICMP6(icp6s_outhist); +MIB_PROBE_ICMP6(icp6s_badcode); +MIB_PROBE_ICMP6(icp6s_tooshort); +MIB_PROBE_ICMP6(icp6s_checksum); +MIB_PROBE_ICMP6(icp6s_badlen); +MIB_PROBE_ICMP6(icp6s_dropped); +MIB_PROBE_ICMP6(icp6s_reflect); +MIB_PROBE2_ICMP6(icp6s_inhist); +MIB_PROBE_ICMP6(icp6s_nd_toomanyopt); +MIB_PROBE_ICMP6(icp6s_odst_unreach_noroute); +MIB_PROBE_ICMP6(icp6s_odst_unreach_admin); +MIB_PROBE_ICMP6(icp6s_odst_unreach_beyondscope); +MIB_PROBE_ICMP6(icp6s_odst_unreach_addr); +MIB_PROBE_ICMP6(icp6s_odst_unreach_noport); +MIB_PROBE_ICMP6(icp6s_opacket_too_big); +MIB_PROBE_ICMP6(icp6s_otime_exceed_transit); +MIB_PROBE_ICMP6(icp6s_otime_exceed_reassembly); +MIB_PROBE_ICMP6(icp6s_oparamprob_header); +MIB_PROBE_ICMP6(icp6s_oparamprob_nextheader); +MIB_PROBE_ICMP6(icp6s_oparamprob_option); +MIB_PROBE_ICMP6(icp6s_oredirect); +MIB_PROBE_ICMP6(icp6s_ounknown); +MIB_PROBE_ICMP6(icp6s_pmtuchg); +MIB_PROBE_ICMP6(icp6s_nd_badopt); +MIB_PROBE_ICMP6(icp6s_badns); +MIB_PROBE_ICMP6(icp6s_badna); +MIB_PROBE_ICMP6(icp6s_badrs); +MIB_PROBE_ICMP6(icp6s_badra); +MIB_PROBE_ICMP6(icp6s_badredirect); +MIB_PROBE_ICMP6(icp6s_overflowdefrtr); +MIB_PROBE_ICMP6(icp6s_overflowprfx); +MIB_PROBE_ICMP6(icp6s_overflownndp); +MIB_PROBE_ICMP6(icp6s_overflowredirect); +MIB_PROBE_ICMP6(icp6s_invlhlim); + +#define MIB_PROBE_UDP(name) SDT_PROBE_DEFINE1(mib, udp, count, name, "int") +MIB_PROBE_UDP(udps_ipackets); +MIB_PROBE_UDP(udps_hdrops); +MIB_PROBE_UDP(udps_badsum); +MIB_PROBE_UDP(udps_nosum); +MIB_PROBE_UDP(udps_badlen); +MIB_PROBE_UDP(udps_noport); +MIB_PROBE_UDP(udps_noportbcast); +MIB_PROBE_UDP(udps_fullsock); +MIB_PROBE_UDP(udps_pcbcachemiss); +MIB_PROBE_UDP(udps_pcbhashmiss); +MIB_PROBE_UDP(udps_opackets); +MIB_PROBE_UDP(udps_fastout); +MIB_PROBE_UDP(udps_noportmcast); +MIB_PROBE_UDP(udps_filtermcast); + +#define MIB_PROBE_TCP(name) SDT_PROBE_DEFINE1(mib, tcp, count, name, "int") + +MIB_PROBE_TCP(tcps_connattempt); +MIB_PROBE_TCP(tcps_accepts); +MIB_PROBE_TCP(tcps_connects); +MIB_PROBE_TCP(tcps_drops); +MIB_PROBE_TCP(tcps_conndrops); +MIB_PROBE_TCP(tcps_minmmsdrops); +MIB_PROBE_TCP(tcps_closed); +MIB_PROBE_TCP(tcps_segstimed); +MIB_PROBE_TCP(tcps_rttupdated); +MIB_PROBE_TCP(tcps_delack); +MIB_PROBE_TCP(tcps_timeoutdrop); +MIB_PROBE_TCP(tcps_rexmttimeo); +MIB_PROBE_TCP(tcps_persisttimeo); +MIB_PROBE_TCP(tcps_keeptimeo); +MIB_PROBE_TCP(tcps_keepprobe); +MIB_PROBE_TCP(tcps_keepdrops); +MIB_PROBE_TCP(tcps_progdrops); + +MIB_PROBE_TCP(tcps_sndtotal); +MIB_PROBE_TCP(tcps_sndpack); +MIB_PROBE_TCP(tcps_sndbyte); +MIB_PROBE_TCP(tcps_sndrexmitpack); +MIB_PROBE_TCP(tcps_sndrexmitbyte); +MIB_PROBE_TCP(tcps_sndrexmitbad); +MIB_PROBE_TCP(tcps_sndacks); +MIB_PROBE_TCP(tcps_sndprobe); +MIB_PROBE_TCP(tcps_sndurg); +MIB_PROBE_TCP(tcps_sndwinup); +MIB_PROBE_TCP(tcps_sndctrl); + +MIB_PROBE_TCP(tcps_rcvtotal); +MIB_PROBE_TCP(tcps_rcvpack); +MIB_PROBE_TCP(tcps_rcvbyte); +MIB_PROBE_TCP(tcps_rcvbadsum); +MIB_PROBE_TCP(tcps_rcvbadoff); +MIB_PROBE_TCP(tcps_rcvreassfull); +MIB_PROBE_TCP(tcps_rcvshort); +MIB_PROBE_TCP(tcps_rcvduppack); +MIB_PROBE_TCP(tcps_rcvdupbyte); +MIB_PROBE_TCP(tcps_rcvpartduppack); +MIB_PROBE_TCP(tcps_rcvpartdupbyte); +MIB_PROBE_TCP(tcps_rcvoopack); +MIB_PROBE_TCP(tcps_rcvoobyte); +MIB_PROBE_TCP(tcps_rcvpackafterwin); +MIB_PROBE_TCP(tcps_rcvbyteafterwin); +MIB_PROBE_TCP(tcps_rcvafterclose); +MIB_PROBE_TCP(tcps_rcvwinprobe); +MIB_PROBE_TCP(tcps_rcvdupack); +MIB_PROBE_TCP(tcps_rcvacktoomuch); +MIB_PROBE_TCP(tcps_rcvackpack); +MIB_PROBE_TCP(tcps_rcvackbyte); +MIB_PROBE_TCP(tcps_rcvwinupd); +MIB_PROBE_TCP(tcps_pawsdrop); +MIB_PROBE_TCP(tcps_predack); +MIB_PROBE_TCP(tcps_preddat); +MIB_PROBE_TCP(tcps_pcbackemiss); +MIB_PROBE_TCP(tcps_cachedrtt); +MIB_PROBE_TCP(tcps_cachedrttvar); +MIB_PROBE_TCP(tcps_cachedssthresh); +MIB_PROBE_TCP(tcps_usedrtt); +MIB_PROBE_TCP(tcps_usedrttvar); +MIB_PROBE_TCP(tcps_usedssthresh); +MIB_PROBE_TCP(tcps_persistdrop); +MIB_PROBE_TCP(tcps_badsyn); +MIB_PROBE_TCP(tcps_mturesent); +MIB_PROBE_TCP(tcps_listendrop); +MIB_PROBE_TCP(tcps_badrst); + +MIB_PROBE_TCP(tcps_sc_added); +MIB_PROBE_TCP(tcps_sc_retransmitted); +MIB_PROBE_TCP(tcps_sc_dupsyn); +MIB_PROBE_TCP(tcps_sc_dropped); +MIB_PROBE_TCP(tcps_sc_completed); +MIB_PROBE_TCP(tcps_sc_bucketoverflow); +MIB_PROBE_TCP(tcps_sc_cacheoverflow); +MIB_PROBE_TCP(tcps_sc_reset); +MIB_PROBE_TCP(tcps_sc_stale); +MIB_PROBE_TCP(tcps_sc_aborted); +MIB_PROBE_TCP(tcps_sc_badack); +MIB_PROBE_TCP(tcps_sc_unreach); +MIB_PROBE_TCP(tcps_sc_zonefail); +MIB_PROBE_TCP(tcps_sc_sendcookie); +MIB_PROBE_TCP(tcps_sc_recvcookie); + +MIB_PROBE_TCP(tcps_hc_added); +MIB_PROBE_TCP(tcps_hc_bucketoverflow); + +MIB_PROBE_TCP(tcps_finwait2_drops); + +MIB_PROBE_TCP(tcps_sack_recovery_episode); +MIB_PROBE_TCP(tcps_sack_rexmits); +MIB_PROBE_TCP(tcps_sack_rexmit_bytes); +MIB_PROBE_TCP(tcps_sack_rcv_blocks); +MIB_PROBE_TCP(tcps_sack_send_blocks); +MIB_PROBE_TCP(tcps_sack_lostrexmt); +MIB_PROBE_TCP(tcps_sack_sboverflow); + +MIB_PROBE_TCP(tcps_ecn_rcvce); +MIB_PROBE_TCP(tcps_ecn_rcvect0); +MIB_PROBE_TCP(tcps_ecn_rcvect1); +MIB_PROBE_TCP(tcps_ecn_shs); +MIB_PROBE_TCP(tcps_ecn_rcwnd); + +MIB_PROBE_TCP(tcps_sig_rcvgoodsig); +MIB_PROBE_TCP(tcps_sig_rcvbadsig); +MIB_PROBE_TCP(tcps_sig_err_buildsig); +MIB_PROBE_TCP(tcps_sig_err_sigopt); +MIB_PROBE_TCP(tcps_sig_err_nosigopt); + +MIB_PROBE_TCP(tcps_pmtud_blackhole_activated); +MIB_PROBE_TCP(tcps_pmtud_blackhole_activated_min_mss); +MIB_PROBE_TCP(tcps_pmtud_blackhole_failed); + +MIB_PROBE_TCP(tcps_tunneled_pkts); +MIB_PROBE_TCP(tcps_tunneled_errs); + +MIB_PROBE_TCP(tcps_dsack_count); +MIB_PROBE_TCP(tcps_dsack_bytes); +MIB_PROBE_TCP(tcps_dsack_tlp_bytes); + +MIB_PROBE_TCP(tcps_tw_recycles); +MIB_PROBE_TCP(tcps_tw_resets); +MIB_PROBE_TCP(tcps_tw_responds); + +MIB_PROBE_TCP(tcps_ace_nect); +MIB_PROBE_TCP(tcps_ace_ect1); +MIB_PROBE_TCP(tcps_ace_ect0); +MIB_PROBE_TCP(tcps_ace_ce); + +MIB_PROBE_TCP(tcps_ecn_sndect0); +MIB_PROBE_TCP(tcps_ecn_sndect1); + +MIB_PROBE_TCP(tcps_tlpresends); +MIB_PROBE_TCP(tcps_tlpresend_bytes); + +#endif + SDT_PROBE_DEFINE6_XLATE(ip, , , receive, "void *", "pktinfo_t *", "void *", "csinfo_t *", diff --git a/sys/netinet/in_kdtrace.h b/sys/netinet/in_kdtrace.h index ca279cdfc3be..780839299993 100644 --- a/sys/netinet/in_kdtrace.h +++ b/sys/netinet/in_kdtrace.h @@ -28,6 +28,8 @@ #ifndef _SYS_IN_KDTRACE_H_ #define _SYS_IN_KDTRACE_H_ +#include + #define IP_PROBE(probe, arg0, arg1, arg2, arg3, arg4, arg5) \ SDT_PROBE6(ip, , , probe, arg0, arg1, arg2, arg3, arg4, arg5) #define UDP_PROBE(probe, arg0, arg1, arg2, arg3, arg4) \ @@ -52,6 +54,283 @@ SDT_PROVIDER_DECLARE(tcp); SDT_PROVIDER_DECLARE(udp); SDT_PROVIDER_DECLARE(udplite); +#ifndef KDTRACE_NO_MIB_SDT +SDT_PROVIDER_DECLARE(mib); + +SDT_PROBE_DECLARE(mib, ip, count, ips_total); +SDT_PROBE_DECLARE(mib, ip, count, ips_badsum); +SDT_PROBE_DECLARE(mib, ip, count, ips_tooshort); +SDT_PROBE_DECLARE(mib, ip, count, ips_toosmall); +SDT_PROBE_DECLARE(mib, ip, count, ips_badhlen); +SDT_PROBE_DECLARE(mib, ip, count, ips_badlen); +SDT_PROBE_DECLARE(mib, ip, count, ips_fragments); +SDT_PROBE_DECLARE(mib, ip, count, ips_fragdropped); +SDT_PROBE_DECLARE(mib, ip, count, ips_fragtimeout); +SDT_PROBE_DECLARE(mib, ip, count, ips_forward); +SDT_PROBE_DECLARE(mib, ip, count, ips_fastforward); +SDT_PROBE_DECLARE(mib, ip, count, ips_cantforward); +SDT_PROBE_DECLARE(mib, ip, count, ips_redirectsent); +SDT_PROBE_DECLARE(mib, ip, count, ips_noproto); +SDT_PROBE_DECLARE(mib, ip, count, ips_delivered); +SDT_PROBE_DECLARE(mib, ip, count, ips_localout); +SDT_PROBE_DECLARE(mib, ip, count, ips_odropped); +SDT_PROBE_DECLARE(mib, ip, count, ips_reassembled); +SDT_PROBE_DECLARE(mib, ip, count, ips_fragmented); +SDT_PROBE_DECLARE(mib, ip, count, ips_ofragments); +SDT_PROBE_DECLARE(mib, ip, count, ips_cantfrag); +SDT_PROBE_DECLARE(mib, ip, count, ips_badoptions); +SDT_PROBE_DECLARE(mib, ip, count, ips_noroute); +SDT_PROBE_DECLARE(mib, ip, count, ips_badvers); +SDT_PROBE_DECLARE(mib, ip, count, ips_rawout); +SDT_PROBE_DECLARE(mib, ip, count, ips_toolong); +SDT_PROBE_DECLARE(mib, ip, count, ips_notmember); +SDT_PROBE_DECLARE(mib, ip, count, ips_nogif); +SDT_PROBE_DECLARE(mib, ip, count, ips_badaddr); + +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_total); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_tooshort); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_toosmall); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_fragments); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_fragdropped); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_fragtimeout); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_fragoverflow); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_forward); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_cantforward); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_redirectsent); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_delivered); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_localout); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_odropped); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_reassembled); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_atomicfrags); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_fragmented); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_ofragments); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_cantfrag); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_badoptions); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_noroute); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_badvers); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_rawout); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_badscope); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_notmember); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_nxthist); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_m1); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_m2m); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_mext1); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_mext2m); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_exthdrtoolong); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_nogif); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_toomanyhdr); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_none); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_sameif); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_otherif); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_samescope); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_otherscope); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_deprecated); +SDT_PROBE_DECLARE(mib, ip6, count, ip6s_sources_rule); + +SDT_PROBE_DECLARE(mib, icmp, count, icps_error); +SDT_PROBE_DECLARE(mib, icmp, count, icps_oldshort); +SDT_PROBE_DECLARE(mib, icmp, count, icps_oldicmp); +SDT_PROBE_DECLARE(mib, icmp, count, icps_outhist); +SDT_PROBE_DECLARE(mib, icmp, count, icps_badcode); +SDT_PROBE_DECLARE(mib, icmp, count, icps_tooshort); +SDT_PROBE_DECLARE(mib, icmp, count, icps_checksum); +SDT_PROBE_DECLARE(mib, icmp, count, icps_badlen); +SDT_PROBE_DECLARE(mib, icmp, count, icps_reflect); +SDT_PROBE_DECLARE(mib, icmp, count, icps_inhist); +SDT_PROBE_DECLARE(mib, icmp, count, icps_bmcastecho); +SDT_PROBE_DECLARE(mib, icmp, count, icps_bmcasttstamp); +SDT_PROBE_DECLARE(mib, icmp, count, icps_badaddr); +SDT_PROBE_DECLARE(mib, icmp, count, icps_noroute); + +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_error); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_canterror); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_toofreq); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_outhist); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badcode); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_tooshort); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_checksum); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badlen); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_dropped); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_reflect); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_inhist); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_nd_toomanyopt); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_odst_unreach_noroute); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_odst_unreach_admin); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_odst_unreach_beyondscope); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_odst_unreach_addr); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_odst_unreach_noport); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_opacket_too_big); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_otime_exceed_transit); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_otime_exceed_reassembly); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_oparamprob_header); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_oparamprob_nextheader); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_oparamprob_option); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_oredirect); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_ounknown); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_pmtuchg); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_nd_badopt); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badns); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badna); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badrs); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badra); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_badredirect); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_overflowdefrtr); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_overflowprfx); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_overflownndp); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_overflowredirect); +SDT_PROBE_DECLARE(mib, icmp6, count, icp6s_invlhlim); + +SDT_PROBE_DECLARE(mib, udp, count, udps_ipackets); +SDT_PROBE_DECLARE(mib, udp, count, udps_hdrops); +SDT_PROBE_DECLARE(mib, udp, count, udps_badsum); +SDT_PROBE_DECLARE(mib, udp, count, udps_nosum); +SDT_PROBE_DECLARE(mib, udp, count, udps_badlen); +SDT_PROBE_DECLARE(mib, udp, count, udps_noport); +SDT_PROBE_DECLARE(mib, udp, count, udps_noportbcast); +SDT_PROBE_DECLARE(mib, udp, count, udps_fullsock); +SDT_PROBE_DECLARE(mib, udp, count, udps_pcbcachemiss); +SDT_PROBE_DECLARE(mib, udp, count, udps_pcbhashmiss); +SDT_PROBE_DECLARE(mib, udp, count, udps_opackets); +SDT_PROBE_DECLARE(mib, udp, count, udps_fastout); +SDT_PROBE_DECLARE(mib, udp, count, udps_noportmcast); +SDT_PROBE_DECLARE(mib, udp, count, udps_filtermcast); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_connattempt); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_accepts); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_connects); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_drops); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_conndrops); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_minmssdrops); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_closed); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_segstimed); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rttupdated); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_delack); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_timeoutdrop); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rexmttimeo); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_persisttimeo); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_keeptimeo); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_keepprobe); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_keepdrops); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_progdrops); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndtotal); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndpack); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndbyte); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndrexmitpack); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndrexmitbyte); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndrexmitbad); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndacks); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndprobe); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndurg); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndwinup); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sndctrl); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvtotal); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvpack); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvbyte); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvbadsum); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvbadoff); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvreassfull); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvshort); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvduppack); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvdupbyte); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvpartduppack); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvpartdupbyte); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvoopack); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvoobyte); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvpackafterwin); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvbyteafterwin); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvafterclose); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvwinprobe); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvdupack); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvacktoomuch); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvackpack); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvackbyte); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_rcvwinupd); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_pawsdrop); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_predack); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_preddat); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_pcbcachemiss); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_cachedrtt); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_cachedrttvar); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_cachedssthresh); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_usedrtt); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_usedrttvar); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_usedssthresh); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_persistdrop); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_badsyn); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_mturesent); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_listendrop); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_badrst); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_added); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_retransmitted); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_dupsyn); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_dropped); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_completed); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_bucketoverflow); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_cacheoverflow); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_reset); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_stale); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_aborted); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_badack); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_unreach); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_zonefail); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_sendcookie); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sc_recvcookie); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_hc_added); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_hc_bucketoverflow); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_finwait2_drops); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_recovery_episode); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rexmits); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rexmit_bytes); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_rcv_blocks); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_send_blocks); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_lostrexmt); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sack_sboverflow); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_rcvce); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_rcvect0); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_rcvect1); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_shs); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_rcwnd); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_rcvgoodsig); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_rcvbadsig); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_err_buildsig); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_err_sigopt); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_sig_err_nosigopt); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_pmtud_blackhole_activated); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_pmtud_blackhole_activated_min_mss); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_pmtud_blackhole_failed); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_tunneled_pkts); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_tunneled_errs); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_dsack_count); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_dsack_bytes); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_dsack_tlp_bytes); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_tw_recycles); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_tw_resets); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_tw_responds); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_ace_nect); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_ace_ect1); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_ace_ect0); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_ace_ce); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_sndect0); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_ecn_sndect1); + +SDT_PROBE_DECLARE(mib, tcp, count, tcps_tlpresends); +SDT_PROBE_DECLARE(mib, tcp, count, tcps_tlpresend_bytes); +#endif + SDT_PROBE_DECLARE(ip, , , receive); SDT_PROBE_DECLARE(ip, , , send); diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 4dfbd0c525ff..a8ce2b4c1d6c 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -344,7 +344,7 @@ stdreply: icmpelen = max(8, min(V_icmp_quotelen, ntohs(oip->ip_len) - */ M_SETFIB(m, M_GETFIB(n)); icp = mtod(m, struct icmp *); - ICMPSTAT_INC(icps_outhist[type]); + ICMPSTAT_INC2(icps_outhist, type); icp->icmp_type = type; if (type == ICMP_REDIRECT) icp->icmp_gwaddr.s_addr = dest; @@ -528,7 +528,7 @@ icmp_input(struct mbuf **mp, int *offp, int proto) icmpgw.sin_len = sizeof(struct sockaddr_in); icmpgw.sin_family = AF_INET; - ICMPSTAT_INC(icps_inhist[icp->icmp_type]); + ICMPSTAT_INC2(icps_inhist, icp->icmp_type); code = icp->icmp_code; switch (icp->icmp_type) { case ICMP_UNREACH: @@ -663,7 +663,7 @@ icmp_input(struct mbuf **mp, int *offp, int proto) } reflect: ICMPSTAT_INC(icps_reflect); - ICMPSTAT_INC(icps_outhist[icp->icmp_type]); + ICMPSTAT_INC2(icps_outhist, icp->icmp_type); icmp_reflect(m); return (IPPROTO_DONE); diff --git a/sys/netinet/ip_var.h b/sys/netinet/ip_var.h index 826954c6fb6a..0f2ed8c43e64 100644 --- a/sys/netinet/ip_var.h +++ b/sys/netinet/ip_var.h @@ -136,15 +136,19 @@ struct ipstat { #include #include +#include VNET_PCPUSTAT_DECLARE(struct ipstat, ipstat); /* * In-kernel consumers can use these accessor macros directly to update * stats. */ -#define IPSTAT_ADD(name, val) \ - VNET_PCPUSTAT_ADD(struct ipstat, ipstat, name, (val)) -#define IPSTAT_SUB(name, val) IPSTAT_ADD(name, -(val)) +#define IPSTAT_ADD(name, val) \ + do { \ + MIB_SDT_PROBE1(ip, count, name, (val)); \ + VNET_PCPUSTAT_ADD(struct ipstat, ipstat, name, (val)); \ + } while (0) +#define IPSTAT_SUB(name, val) IPSTAT_ADD(name, -(val)) #define IPSTAT_INC(name) IPSTAT_ADD(name, 1) #define IPSTAT_DEC(name) IPSTAT_SUB(name, 1) @@ -152,11 +156,19 @@ VNET_PCPUSTAT_DECLARE(struct ipstat, ipstat); * Kernel module consumers must use this accessor macro. */ void kmod_ipstat_inc(int statnum); -#define KMOD_IPSTAT_INC(name) \ - kmod_ipstat_inc(offsetof(struct ipstat, name) / sizeof(uint64_t)) -void kmod_ipstat_dec(int statnum); -#define KMOD_IPSTAT_DEC(name) \ - kmod_ipstat_dec(offsetof(struct ipstat, name) / sizeof(uint64_t)) +#define KMOD_IPSTAT_INC(name) \ + do { \ + MIB_SDT_PROBE1(ip, count, name, 1); \ + kmod_ipstat_inc( \ + offsetof(struct ipstat, name) / sizeof(uint64_t)); \ + } while (0) +void kmod_ipstat_dec(int statnum); +#define KMOD_IPSTAT_DEC(name) \ + do { \ + MIB_SDT_PROBE1(ip, count, name, -1); \ + kmod_ipstat_dec( \ + offsetof(struct ipstat, name) / sizeof(uint64_t)); \ + } while (0) /* flags passed to ip_output as last parameter */ #define IP_FORWARDING 0x1 /* most of ip header exists */ diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index 7542d680daa0..b16410dad4db 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -1093,22 +1093,31 @@ struct tcpstat { #define TI_UNLOCKED 1 #define TI_RLOCKED 2 #include +#include VNET_PCPUSTAT_DECLARE(struct tcpstat, tcpstat); /* tcp statistics */ /* * In-kernel consumers can use these accessor macros directly to update * stats. */ -#define TCPSTAT_ADD(name, val) \ - VNET_PCPUSTAT_ADD(struct tcpstat, tcpstat, name, (val)) +#define TCPSTAT_ADD(name, val) \ + do { \ + MIB_SDT_PROBE1(tcp, count, name, (val)); \ + VNET_PCPUSTAT_ADD(struct tcpstat, tcpstat, name, (val)); \ + } while (0) #define TCPSTAT_INC(name) TCPSTAT_ADD(name, 1) /* * Kernel module consumers must use this accessor macro. */ void kmod_tcpstat_add(int statnum, int val); -#define KMOD_TCPSTAT_ADD(name, val) \ - kmod_tcpstat_add(offsetof(struct tcpstat, name) / sizeof(uint64_t), val) +#define KMOD_TCPSTAT_ADD(name, val) \ + do { \ + MIB_SDT_PROBE1(tcp, count, name, (val)); \ + kmod_tcpstat_add(offsetof(struct tcpstat, name) / \ + sizeof(uint64_t), \ + val); \ + } while (0) #define KMOD_TCPSTAT_INC(name) KMOD_TCPSTAT_ADD(name, 1) /* diff --git a/sys/netinet/udp_var.h b/sys/netinet/udp_var.h index a66d76845eb6..0d70bad91df4 100644 --- a/sys/netinet/udp_var.h +++ b/sys/netinet/udp_var.h @@ -93,6 +93,7 @@ struct udpstat { #ifdef _KERNEL #include #include +#include struct mbuf; typedef bool udp_tun_func_t(struct mbuf *, int, struct inpcb *, @@ -127,16 +128,23 @@ VNET_PCPUSTAT_DECLARE(struct udpstat, udpstat); * In-kernel consumers can use these accessor macros directly to update * stats. */ -#define UDPSTAT_ADD(name, val) \ - VNET_PCPUSTAT_ADD(struct udpstat, udpstat, name, (val)) -#define UDPSTAT_INC(name) UDPSTAT_ADD(name, 1) +#define UDPSTAT_ADD(name, val) \ + do { \ + MIB_SDT_PROBE1(udp, count, name, (val)); \ + VNET_PCPUSTAT_ADD(struct udpstat, udpstat, name, (val)); \ + } while (0) +#define UDPSTAT_INC(name) UDPSTAT_ADD(name, 1) /* * Kernel module consumers must use this accessor macro. */ void kmod_udpstat_inc(int statnum); -#define KMOD_UDPSTAT_INC(name) \ *** 232 LINES SKIPPED *** From nobody Mon Apr 8 16:38:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCvtS6GkRz5HKfw; Mon, 8 Apr 2024 16:38: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 4VCvtS5ll4z4LVS; Mon, 8 Apr 2024 16:38:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712594336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2THbpjoHesThy7yn1clvBYFzcNi/kr261pXDiBe/MEQ=; b=VrMapW+64XchSE3YNdeR+gSQ/AjRlgos31S7HE0a+x6eWARLT1jvlS+iKvxeaZPGh/63vM bTuRZ/E+ja7LfBZXJG7fQpG1ZSHFg53Y9TF9l/Ze1BreuZj7beXX9oAhOUMzt+dbC2ilSt 8wW6d1O4kql5EIw04p0+RS5uGmj3j4SHLz+fkIpsYadEDgA87agbHQx8TJ2+MrS7PBMMYJ Ux1IM8GfI+QfNXZ4jnVyiS36fMdPd2I/O/YpIz28sd4bQMkwsgEHug+5ccHYKlsFDbYwgi 7/sHYYtEHtnZ8eJ90gYuMWnTvJJDPk9KCifxFwiTeXk/LFArB+8XG8UMMEkuRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712594336; a=rsa-sha256; cv=none; b=fwimbAppKjg4NRYRX8vFWXKO9EOyz4NHub9QdoLK1C9ybpLaKel4bZU+52NjJIh2jFr+xy ihMvm9oXn9PcY2vL/6xiqcTZoRy/EgoiK72ESrGWLKFAKFDKwPJpCf4a/E3fxXVzMHAorg ApuTbvZEgLroTG89uclI6bgOzqBsNwH3Qpk+4jHRHFbjkmxC936TdH4gg4AhqDW8VSbH6I Ri6exPIr0tuLcD8mP98HNiMFlrE8akJatEG/qCorhnTlu/W2dmQTONnJ5yrEFWNs66otM6 7I+9g8+U2JDPlQ6eJvC2z8kt9mT5Jm6LIRhTBDsjSHn/kUfpLEE2SNHvZHCnLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712594336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2THbpjoHesThy7yn1clvBYFzcNi/kr261pXDiBe/MEQ=; b=R8iOluwJEnVonCbL813lIYs0tJ+DW2Y29e9dvD2gW0YUE+eBCkz+Qw72c3KQu3qrrDRBvp 82/qTYFFVevvthA62QKn5iOhk+Cr5E9wbwbb5/lcl4ZD+piBXJZg5AgnA26xFj0qYutq2T zqvMZxY74dt1Okckk78FE9zKUpocfSvaPvs+jBn1RlLa8XduuWbpPQGNGnuwGcAESXorIg juWODkjiA8FTKKVVdIbtcIHym087pWiYmqinmM1P65TY2cAvlC6BDmY2Fcni2PPGKFJw4B fzINa5lX61EZhy6zzeEId0wESuAkrjEYflQIIgKTCw0W5XAY3JgQ5fUA9GfAyg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCvtS5DfjzJ20; Mon, 8 Apr 2024 16:38:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438Gcu90038976; Mon, 8 Apr 2024 16:38:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438GcuSm038973; Mon, 8 Apr 2024 16:38:56 GMT (envelope-from git) Date: Mon, 8 Apr 2024 16:38:56 GMT Message-Id: <202404081638.438GcuSm038973@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Fernando =?utf-8?Q?Apestegu=C3=ADa?= Subject: git: 7e68976408e4 - main - echo(1): Add EXAMPLES 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: fernape X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7e68976408e4df21e120e2d6440392302cac84f3 Auto-Submitted: auto-generated The branch main has been updated by fernape: URL: https://cgit.FreeBSD.org/src/commit/?id=7e68976408e4df21e120e2d6440392302cac84f3 commit 7e68976408e4df21e120e2d6440392302cac84f3 Author: Fernando ApesteguĂ­a AuthorDate: 2023-09-07 13:27:49 +0000 Commit: Fernando ApesteguĂ­a CommitDate: 2024-04-08 16:35:40 +0000 echo(1): Add EXAMPLES While here add CAVEAT section and promote the use of printf(1) Reviewed by: gbe@, imp@ Approved by: manpages (gbe) Differential Revision: https://reviews.freebsd.org/D43493 --- bin/echo/echo.1 | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/bin/echo/echo.1 b/bin/echo/echo.1 index aa547d2350f5..cb60bdcc88dd 100644 --- a/bin/echo/echo.1 +++ b/bin/echo/echo.1 @@ -89,6 +89,24 @@ Consult the manual page. .Sh EXIT STATUS .Ex -std +.Sh EXAMPLES +Special treatment of options and backslashes: +.Bd -literal -offset indent +$ /bin/echo "-hello\\tworld" +-hello\tworld +.Ed +.Pp +Avoid new line character: +.Bd -literal -offset indent +$ /bin/echo -n hello;/bin/echo world +helloworld +.Ed +.Pp +Or to achieve the same result: +.Bd -literal -offset indent +$ /bin/echo "hello\\c";/bin/echo world +helloworld +.Ed .Sh SEE ALSO .Xr builtin 1 , .Xr csh 1 , @@ -105,3 +123,14 @@ The .Nm command appeared in .At v2 . +.Sh CAVEATS +The +.Nm +command behaves differently with regards to the built-in +.Nm +shell command in a number of ways including escaped characters handling. +It also differs in behavior between different systems hence complicating writing +portable scripts. +It is advised to use the +.Xr printf 1 +command to avoid these shortcomings. From nobody Mon Apr 8 16:46:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCw2f5fC6z5HL5H; Mon, 8 Apr 2024 16:46: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 4VCw2f4s5xz4MfZ; Mon, 8 Apr 2024 16:46:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712594762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=50G16SaSwutG4tCG12hVyc1NJD6uQRDjSJYSDRTczrI=; b=ZrnESfhibMNwR6v6A0UKcKEHe+Ird17G29lDs6Sz+NWvmgivMBqEXj6xeQhU8OegE5QWrh 5MhKV9LObYVUJGsu1Ckd/0q+UFoumTciQVNO5dpIeXE5HR6xuc8uK1F4YPMC9K0j2WkT4S jN5hVAd9jAxa3uncFFRV8jsTCcD50yRCCJWb/NTP1yi1vm8khtWfN2C0QGIHM3NcyLSB+K Esl4p3DixZJ3n5cBnmf81awqASaR9CwEmd+76Tjr4m96QtBek7FcSJDQSUJsXaFwfCG1mA 4QQWkUREPGzWDTPHzEllXIbPzTrxEibx/xOXLrsmGuYcZ9Vge5CwwEUNCWfW8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712594762; a=rsa-sha256; cv=none; b=uouRaj/QtGRn5BCfC4/Mi1XnBSJovbexnIm+QLnEt3MFFxk6N0aX5rm2yGXcWQ77ZGUH7W kGxoQ44sRS2hq6bw+fWocG8iwSwAI4kp5VKytnXIW5/wVBdymxCB01JDWO55UO+TxcSDaA MU5UO7/sRtgdpS47E1xd2VUJXA+SNnL0oXl7H5ep2tOqX+D4LNKgYsoIf18EDaiDjauQhk EIFY9LYtygbaxYeckgmS26qvocygClkSj8ufDX+0g74JlNWoyWnzLDqx8e8jtNNI2srIkM A4hG26/LkrhPcG93rTYDdKP1hx3Yi3SFrjaYxt3VO5TrbFPShEHj9PZuBO+h+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712594762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=50G16SaSwutG4tCG12hVyc1NJD6uQRDjSJYSDRTczrI=; b=J+FEYTdx+Vv9B3RKVYd6UvIwZbt6EFVg4mY+Tac5VUBZ+7mIqrdWEgn3ODW+KGgGm0C049 IxdcyPypx+AsGRL8L8g/G2EtY3IJ60oNAEmLHURd2H91j9IaV+UZo6T1iT7nqB8evHAF/V T+FpMYp4QrtYsYy8R4ONDzxr1h9Lzt1d7BYzKM11FlgcbhESIodN1f7Zg+VrncBKc9+/nv AShTwJT3FdNpgTQLK6tUWsSoT4n7o1WflkjooE1zn9GO5TziL2MEdjPKHMBPvwwiNHq/YI +52XaWZIpOaxwHNnVH55QE2eLDth2zRkM5STFmbmd5uL7T8PQbA8UitW1F5nhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCw2f4Lh1zJJn; Mon, 8 Apr 2024 16:46:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438Gk1Bu055935; Mon, 8 Apr 2024 16:46:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438Gk1YR055932; Mon, 8 Apr 2024 16:46:01 GMT (envelope-from git) Date: Mon, 8 Apr 2024 16:46:01 GMT Message-Id: <202404081646.438Gk1YR055932@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: e7102929bf4f - main - ethernet: Fix logging of frame length 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: e7102929bf4fea4bf22855d2d6031edf6c413608 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=e7102929bf4fea4bf22855d2d6031edf6c413608 commit e7102929bf4fea4bf22855d2d6031edf6c413608 Author: Zhenlei Huang AuthorDate: 2024-04-08 16:44:33 +0000 Commit: Zhenlei Huang CommitDate: 2024-04-08 16:44:33 +0000 ethernet: Fix logging of frame length Both the mbuf length and the total packet length are signed. While here, update a stall comment to reflect the current practice. Reviewed by: kp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42390 --- sys/net/if_ethersubr.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 4332f4ce864e..eeb2c1ea4ef3 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -534,10 +534,10 @@ ether_input_internal(struct ifnet *ifp, struct mbuf *m) return; } #endif - if (m->m_len < ETHER_HDR_LEN) { - /* XXX maybe should pullup? */ + if (__predict_false(m->m_len < ETHER_HDR_LEN)) { + /* Drivers should pullup and ensure the mbuf is valid */ if_printf(ifp, "discard frame w/o leading ethernet " - "header (len %u pkt len %u)\n", + "header (len %d pkt len %d)\n", m->m_len, m->m_pkthdr.len); if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); m_freem(m); From nobody Mon Apr 8 16:48:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCw641CXKz5HLMp; Mon, 8 Apr 2024 16:49: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 4VCw640k2Fz4N98; Mon, 8 Apr 2024 16:49:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712594940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mAFIdrE8did8x6NRrbqNfe09X3/a5sgyBcEAx6XwBSE=; b=SLEeHrvC6x3KyDOU3RGu32Bix5OFVY6gNnwkJFi8mqycB8yAjRHWBEALtUgNYCguTtmBvH Uak3yMitNV8UwDYxA4lCgJkaGnKeY35YkVQKVraZFMG6d0mtOJmbF5mQEReu790T0NhjQH NFAzqvnTfCSxtNaw7OL6rT0TDT/+eqT0Jwauwyw7kAaba8/z/pQDB86pAVPxxxpLjxJNHX jzouzUvv1bNDiTtkyVPBNHcjiNia5Q76v8pRIXAJzbTpC/rrMff+r2TaZjEz11LqdCz7rh l+BUFhKF9gBGvySeBbFSKOVATLw4kxGqtFd8Qr9l80+97njM4W3Ggn+rI0Yqrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712594940; a=rsa-sha256; cv=none; b=G5SP/y/hQhpTTQWkjv6nAZE4LS1ji/YeTiSPzc31jlnh/3mQlsCaXtoqMDMr9H3fCPgKtF T0y8XluQPYEXqgzA8pPvDVKHyYXtDvOdIAh6t5wIWCA44U7Ehn/i6baGtIgdoWoL64EtqD abOYOQdRW04DQbzFiCeujkrZHRBbrPj6hr1CodUxdMOXDLtgnVffbjs/Jjt6q661IsLSoC kgqj/pyOwBI5sOI3DRzdybfwiEjLLwTBYVerzj9S9CM1VHbjJooRt+r/ij8/j0jlWQ6hPt uAUq/acUht68VE9QTqfTiBVEFlquWHm6Snw6y3Uu/TKtNWNFrWpuvB91Hb/A5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712594940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mAFIdrE8did8x6NRrbqNfe09X3/a5sgyBcEAx6XwBSE=; b=ldPeUdkJ0S68Hw31/4lFcaCnq9z666jeDxQqakaVpcjcGNbeDBLfO2+LpSw02JkF/bDwAE hDS6qlZXveRnP/3cwlBrto9qN39Z8DnGcJKNsQTxXcl7y6BwBSRcRCbhowBqhckVhsAo+7 E+NbuFTWrVIyKVrEP0GeQkY566Te5OaXHD6XMVftxN7tFZe9loGwjWW00591C1QmRswu9B 9CjWl9AVNFfnMQRZCsrHR8AxYTuvW1LRWqHswg7Ti/UyJ4lZhDO/sS4d2BvOVGGRP4qu38 7LRFOrDbxHdKAIDzbagbNEV4urAYL98Y/fspo6A6j4SuVUguSY7gq2BOliRlNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCw640KYDzJn9; Mon, 8 Apr 2024 16:49:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438GmxZa056487; Mon, 8 Apr 2024 16:48:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438Gmx6T056484; Mon, 8 Apr 2024 16:48:59 GMT (envelope-from git) Date: Mon, 8 Apr 2024 16:48:59 GMT Message-Id: <202404081648.438Gmx6T056484@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: 6fe4d8395bc5 - main - debugnet: Fix logging of frame length 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: 6fe4d8395bc5ec51a5ec68b5f1176b4710676b7c Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=6fe4d8395bc5ec51a5ec68b5f1176b4710676b7c commit 6fe4d8395bc5ec51a5ec68b5f1176b4710676b7c Author: Zhenlei Huang AuthorDate: 2024-04-08 16:47:06 +0000 Commit: Zhenlei Huang CommitDate: 2024-04-08 16:47:10 +0000 debugnet: Fix logging of frame length MFC after: 1 week --- sys/net/debugnet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/debugnet.c b/sys/net/debugnet.c index c54c1a3904ec..c6f57ec84618 100644 --- a/sys/net/debugnet.c +++ b/sys/net/debugnet.c @@ -566,7 +566,7 @@ debugnet_input_one(struct ifnet *ifp, struct mbuf *m) } if (m->m_len < ETHER_HDR_LEN) { DNETDEBUG_IF(ifp, - "discard frame without leading eth header (len %u pktlen %u)\n", + "discard frame without leading eth header (len %d pktlen %d)\n", m->m_len, m->m_pkthdr.len); goto done; } From nobody Mon Apr 8 17:48:45 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCxR16WKfz5HRCq; Mon, 8 Apr 2024 17:48: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 4VCxR160Rlz4XJ8; Mon, 8 Apr 2024 17:48:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712598525; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BqGXjy9MCkdrqHLKuNG3ET8cNW/cAsO9VEuLI4LvbSE=; b=tc0tg68mdA72TcePjtX8GZrRF05oiP8uF+2aDIlI677kPhJVbKrkOM2WpimP4jL7ly07bw taqma7cONUOdAA4yYgor03Eo862eS6ApU9a03Pg6j/nyT7mcSLd5Ra24CrE7doF8iwQsRH ThBd/Fb750Ar3zv7f7/HN+1gfd3d1iuPzMCpqYle6VItwjiCj1DnN8G53SvtQMA4C25ILE W0Mw8uxRMLRZsFPkOd/ydlXe8NdUriSl5sLfB7vI3smDpy2mfhIr9h/FFhBkZ9DYupCcUI 4f7tbWo6DOjIveim+GJoOBWndzobP7XXEcFh1CmgnuBR4N0wx4kPgNln6GxNSw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712598525; a=rsa-sha256; cv=none; b=oMiYMdvKkIJUb84GWcnVZU94oRDFXoSU0ewEU4Npfd2g91Uym5tXJhqsKuI+aWwZ5naUln 22BEtpEgcSW3n6ZrFUvXsLv9cZCSDzjf3kqai5eCm4iW84frMJ7+ChtCAaQFfEKu9666zB 3BDoTvFX0PNr/44+s8W2fR/nBjHNZCkjQOIX3/ReCaqFz9APjC0mMaIjkfvD0G+ghah99d XUsiI56h41ygdsZCbRH9OBsUoZL0Q4lpjIZXLR2OVB9MXSh7ZJYVhnqc4M1D2NXedVA/t7 hZDw3E1IUuY8t2yBxOXMIWyEqZj1l5KN1Ygvl7c/zQPt/RwNzaKTFOcgU2ymNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712598525; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BqGXjy9MCkdrqHLKuNG3ET8cNW/cAsO9VEuLI4LvbSE=; b=Jh8mZDztuu80pApknA0fk8Kp2Rpuzej99mJKtgyk+wf4U90wUvXjyXJXpgaTQYBEHDZv2E SN77DvDke9Hx5SMNJAlhx3+psdONUim71QlkD0lnDm3VBLNUSTyxC6fDot02JWftOcFOzx bGYH642y4C1CnipjEjnOc4hug89eJswZZJWIMLj6iNQhE75d6h0m+ToBVeBRO7mc4cCjXx F9SW6Wd4YhUVK7JSRsEnMOsZHJA2PEOjOWt9LLXlkrIefxcWhZr76UUtC5ksgKmAHD+6V0 EmiiVGMxB2ghD+rFgQdfOxPOMawNAhnYnM3d9hSlYFs25PzU7TkpJZDxoASVow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCxR15SnqzKt6; Mon, 8 Apr 2024 17:48:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438Hmjnc057586; Mon, 8 Apr 2024 17:48:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438Hmjku057583; Mon, 8 Apr 2024 17:48:45 GMT (envelope-from git) Date: Mon, 8 Apr 2024 17:48:45 GMT Message-Id: <202404081748.438Hmjku057583@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: 86a6393a7d67 - main - ng_bridge: allow to automatically assign numbers to new hooks 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: 86a6393a7d6766875a9e03daa0273a2e55faacdd Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=86a6393a7d6766875a9e03daa0273a2e55faacdd commit 86a6393a7d6766875a9e03daa0273a2e55faacdd Author: David Marker AuthorDate: 2024-04-08 17:48:22 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-08 17:48:22 +0000 ng_bridge: allow to automatically assign numbers to new hooks This will allow a userland machinery that orchestrates a bridge (e.g. a jail or vm manager) to not double the number allocation logic. See bug 278130 for longer description and examples. Reviewed by: glebius, afedorov Differential Revision: https://reviews.freebsd.org/D44615 PR: 278130 --- share/man/man4/ng_bridge.4 | 13 +++++- sys/netgraph/ng_bridge.c | 104 +++++++++++++++++++++++++++++++++++---------- 2 files changed, 93 insertions(+), 24 deletions(-) diff --git a/share/man/man4/ng_bridge.4 b/share/man/man4/ng_bridge.4 index 45bc6b3cb6a7..7e5b4e0bd0ca 100644 --- a/share/man/man4/ng_bridge.4 +++ b/share/man/man4/ng_bridge.4 @@ -32,7 +32,7 @@ .\" .\" Author: Archie Cobbs .\" -.Dd May 13, 2021 +.Dd April 8, 2024 .Dt NG_BRIDGE 4 .Os .Sh NAME @@ -108,6 +108,17 @@ Frames with unknown MACs are always sent out to .Ar uplink hooks, so no functionality is lost. .Pp +The +.Ar linkX +and +.Ar uplinkX +hook numbers can be autoassigned. +If a new hook name was specified as +.Ar link +or +.Ar uplink +the node will append lowest available valid number to the name of the new hook. +.Pp Frames with unknown destination MAC addresses are replicated to any available hook, unless the first connected hook is an .Ar uplink diff --git a/sys/netgraph/ng_bridge.c b/sys/netgraph/ng_bridge.c index ebe811acc5b5..70bc581f8570 100644 --- a/sys/netgraph/ng_bridge.c +++ b/sys/netgraph/ng_bridge.c @@ -124,6 +124,8 @@ struct ng_bridge_private { unsigned int persistent : 1, /* can exist w/o hooks */ sendUnknown : 1;/* links receive unknowns by default */ struct callout timer; /* one second periodic timer */ + struct unrhdr *linkUnit; /* link unit number allocator */ + struct unrhdr *uplinkUnit; /* uplink unit number allocator */ }; typedef struct ng_bridge_private *priv_p; typedef struct ng_bridge_private const *priv_cp; /* read only access */ @@ -140,6 +142,21 @@ struct ng_bridge_host { /* Hash table bucket declaration */ SLIST_HEAD(ng_bridge_bucket, ng_bridge_host); +/* [up]link prefix matching */ +struct ng_link_prefix { + const char * const prefix; + size_t len; +}; + +static const struct ng_link_prefix link_pfx = { + .prefix = NG_BRIDGE_HOOK_LINK_PREFIX, + .len = sizeof(NG_BRIDGE_HOOK_LINK_PREFIX) - 1, +}; +static const struct ng_link_prefix uplink_pfx = { + .prefix = NG_BRIDGE_HOOK_UPLINK_PREFIX, + .len = sizeof(NG_BRIDGE_HOOK_UPLINK_PREFIX) - 1, +}; + /* Netgraph node methods */ static ng_constructor_t ng_bridge_constructor; static ng_rcvmsg_t ng_bridge_rcvmsg; @@ -149,6 +166,7 @@ static ng_rcvdata_t ng_bridge_rcvdata; static ng_disconnect_t ng_bridge_disconnect; /* Other internal functions */ +static const struct ng_link_prefix *ng_get_link_prefix(const char *name); static void ng_bridge_free_link(link_p link); static struct ng_bridge_host *ng_bridge_get(priv_cp priv, const u_char *addr); static int ng_bridge_put(priv_p priv, const u_char *addr, link_p link); @@ -350,6 +368,10 @@ ng_bridge_constructor(node_p node) NG_NODE_SET_PRIVATE(node, priv); priv->node = node; + /* Allocators for links. Historically "uplink0" is not allowed. */ + priv->linkUnit = new_unrhdr(0, INT_MAX, NULL); + priv->uplinkUnit = new_unrhdr(1, INT_MAX, NULL); + /* Start timer; timer is always running while node is alive */ ng_callout(&priv->timer, node, NULL, hz, ng_bridge_timeout, NULL, 0); @@ -364,36 +386,50 @@ static int ng_bridge_newhook(node_p node, hook_p hook, const char *name) { const priv_p priv = NG_NODE_PRIVATE(node); - char linkName[NG_HOOKSIZ]; - u_int32_t linkNum; link_p link; - const char *prefix = NG_BRIDGE_HOOK_LINK_PREFIX; bool isUplink; + uint32_t linkNum; + struct unrhdr *unit; + + const struct ng_link_prefix *pfx = ng_get_link_prefix(name); + if (pfx == NULL) + return (EINVAL); /* not a valid prefix */ + + isUplink = (pfx == &uplink_pfx); + unit = isUplink ? priv->uplinkUnit : priv->linkUnit; + + if (strlen(name) > pfx->len) { /* given number */ + char linkName[NG_HOOKSIZ]; + int rvnum __diagused; + + linkNum = strtoul(name + pfx->len, NULL, 10); + /* Validate by comparing against the reconstucted name. */ + snprintf(linkName, sizeof(linkName), "%s%u", pfx->prefix, + linkNum); + if (strcmp(linkName, name) != 0) + return (EINVAL); + if (linkNum == 0 && isUplink) + return (EINVAL); + rvnum = alloc_unr_specific(unit, linkNum); + MPASS(rvnum == linkNum); + } else { + /* auto-assign and update hook name */ + linkNum = alloc_unr(unit); + MPASS(linkNum != -1); + snprintf(NG_HOOK_NAME(hook), NG_HOOKSIZ, "%s%u", pfx->prefix, + linkNum); + } - /* Check for a link hook */ - if (strlen(name) <= strlen(prefix)) - return (EINVAL); /* Unknown hook name */ - - isUplink = (name[0] == 'u'); - if (isUplink) - prefix = NG_BRIDGE_HOOK_UPLINK_PREFIX; - - /* primitive parsing */ - linkNum = strtoul(name + strlen(prefix), NULL, 10); - /* validation by comparing against the reconstucted name */ - snprintf(linkName, sizeof(linkName), "%s%u", prefix, linkNum); - if (strcmp(linkName, name) != 0) - return (EINVAL); - - if (linkNum == 0 && isUplink) - return (EINVAL); - - if(NG_PEER_NODE(hook) == node) + if (NG_PEER_NODE(hook) == node) { + free_unr(unit, linkNum); return (ELOOP); + } link = malloc(sizeof(*link), M_NETGRAPH_BRIDGE, M_NOWAIT | M_ZERO); - if (link == NULL) + if (link == NULL) { + free_unr(unit, linkNum); return (ENOMEM); + } #define NG_BRIDGE_COUNTER_ALLOC(f) do { \ link->stats.f = counter_u64_alloc(M_NOWAIT); \ @@ -431,6 +467,7 @@ ng_bridge_newhook(node_p node, hook_p hook, const char *name) return (0); nomem: + free_unr(unit, linkNum); ng_bridge_free_link(link); return (ENOMEM); } @@ -914,6 +951,8 @@ ng_bridge_shutdown(node_p node) ("%s: numLinks=%d numHosts=%d", __func__, priv->numLinks, priv->numHosts)); ng_uncallout(&priv->timer, node); + delete_unrhdr(priv->linkUnit); + delete_unrhdr(priv->uplinkUnit); NG_NODE_SET_PRIVATE(node, NULL); NG_NODE_UNREF(node); free(priv->tab, M_NETGRAPH_BRIDGE); @@ -927,8 +966,11 @@ ng_bridge_shutdown(node_p node) static int ng_bridge_disconnect(hook_p hook) { + char *name = NG_HOOK_NAME(hook); const priv_p priv = NG_NODE_PRIVATE(NG_HOOK_NODE(hook)); link_p link = NG_HOOK_PRIVATE(hook); + const struct ng_link_prefix *pfx = ng_get_link_prefix(name); + uint32_t linkNum; /* Remove all hosts associated with this link */ ng_bridge_remove_hosts(priv, link); @@ -937,6 +979,9 @@ ng_bridge_disconnect(hook_p hook) ng_bridge_free_link(link); priv->numLinks--; + linkNum = strtoul(name + pfx->len, NULL, 10); + free_unr(pfx == &link_pfx ? priv->linkUnit: priv->uplinkUnit, linkNum); + /* If no more hooks, go away */ if ((NG_NODE_NUMHOOKS(NG_HOOK_NODE(hook)) == 0) && (NG_NODE_IS_VALID(NG_HOOK_NODE(hook))) @@ -1095,6 +1140,19 @@ ng_bridge_rehash(priv_p priv) MISC FUNCTIONS ******************************************************************/ +static const struct ng_link_prefix * +ng_get_link_prefix(const char *name) +{ + static const struct ng_link_prefix *pfxs[] = + { &link_pfx, &uplink_pfx, }; + + for (u_int i = 0; i < nitems(pfxs); i++) + if (strncmp(pfxs[i]->prefix, name, pfxs[i]->len) == 0) + return (pfxs[i]); + + return (NULL); +} + /* * Remove all hosts associated with a specific link from the hashtable. * If linkNum == -1, then remove all hosts in the table. From nobody Mon Apr 8 17:48:46 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCxR23dg5z5HRQh; Mon, 8 Apr 2024 17:48: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 4VCxR22YQ5z4Xnx; Mon, 8 Apr 2024 17:48:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712598526; h=from:from:reply-to:subject:subject: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/Bp2fGexWSf33X6xY8yZBmiwfW0nelK8urKRwidBAc=; b=WezQKmygQiPHRNGTB9/Y2ke0erv4w26A4b1oyfeFXVOEhDqc0aocrQnE5s5BQMrbH/PuPz K4QXYhUcbalPGhT7VOSkW17cUA1mJeT3RUCetYVwc7gfjPIMmXPee1KkNFyD2rWehyAlKS WEQwUhc3j2noD5Hz5ZKhEWxExwRItq1Com5t0vG2XL8NCE2YEQy5k19hWEN8rzmOdbmBiN 3ZZN/GbRBJ3yKerumhkAz0FPJdM0vJlTNlAmkwfLJMK+5TP0buxjy9BMpC+KvwMmX0bmdh 9/Rrva86d1nI6MHQYwzqG5tTv2m5/bSsQC5URNky5ZrVy7jINNtkDRlbDgiK0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712598526; a=rsa-sha256; cv=none; b=iNLCEfQ4TIzyk0kS0/SC6hCjepBn7ixifDJ+GioqktsDZCeDu0QfxoV8EUHUHvyE62FkGD swHifv0N8Evrvi+E0ENQNMiFJJ2sHkuO3Px2PcRPfofADwZNvInnh78NZ98+ZxPl79S2Ya bvCn2MVn/5EHfuQ+vEGsyLLtM1HlBYd6ORtcaBMqafAcZNFwaeoCrO2kXGsqgeTLk2wIrK tkNZCbD3LPsKGwAaa/2LLq72bx6or4AXdyeEkn5Z39GvrBrg9preBy1HTaJqwnj8AyjXDK IfYuKAHYHHb2NrnIW1GSLO9Z0FtNo8wMxWqHG9jk48ZL8SuvOwp7BTx2iyDplg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712598526; h=from:from:reply-to:subject:subject: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/Bp2fGexWSf33X6xY8yZBmiwfW0nelK8urKRwidBAc=; b=mzXRWfRpv/jJc//Frb0RRZH2gNFPm4ewwsw6gtT2ClODYMQZXtAJ7/pzA/wGg2auraJqdC qzxjFER/2nZmmfEdSnCnsR8jEwqSee7yKQbgZdAC8zChqqhhJMxn0nZ3WPu18fvuMxVB94 kG7NtTS10MsLZP93ovTiZ7Z47LP0NLsTyGcqIlzadrC6WlNYu9R/+WES2viKO++lxqWGa6 JkI0T7R9V+ucc/mEdpM87DkZQWaiXAnvAOK96D1VtG5k64mLTXqescdo6uvtObAyJogaz6 nHLZw9PddE6ObAf92EkYnT/M4se7j0fDqfIgVurwHJGA4hsYQqgeHxBhDxCB4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCxR228gXzLK4; Mon, 8 Apr 2024 17:48:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438HmkDc057635; Mon, 8 Apr 2024 17:48:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438HmkGf057632; Mon, 8 Apr 2024 17:48:46 GMT (envelope-from git) Date: Mon, 8 Apr 2024 17:48:46 GMT Message-Id: <202404081748.438HmkGf057632@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: e943eceb928d - main - ng_bridge: document the limitation brought in f961caf2184c 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: e943eceb928d1d277f28f262dd6d758c1d85e8d0 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=e943eceb928d1d277f28f262dd6d758c1d85e8d0 commit e943eceb928d1d277f28f262dd6d758c1d85e8d0 Author: Gleb Smirnoff AuthorDate: 2024-04-08 17:48:22 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-08 17:48:22 +0000 ng_bridge: document the limitation brought in f961caf2184c --- share/man/man4/ng_bridge.4 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/share/man/man4/ng_bridge.4 b/share/man/man4/ng_bridge.4 index 7e5b4e0bd0ca..998c428cbad0 100644 --- a/share/man/man4/ng_bridge.4 +++ b/share/man/man4/ng_bridge.4 @@ -107,6 +107,9 @@ hook of the bridge, and ignore the complexity of the outside world. Frames with unknown MACs are always sent out to .Ar uplink hooks, so no functionality is lost. +The +.Ar uplink0 +hook is not allowed. .Pp The .Ar linkX @@ -277,3 +280,11 @@ node type was implemented in .Fx 4.2 . .Sh AUTHORS .An Archie Cobbs Aq Mt archie@FreeBSD.org +.Sh BUGS +The +.Nm +node refuses to create the +.Ar uplink0 +hook to avoid later ambiguity with the +.Dv NGM_BRIDGE_GET_STATS +message. From nobody Mon Apr 8 18:21:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCy8X4ncZz5HTlt; Mon, 8 Apr 2024 18:21:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VCy8X4KKVz4b9g; Mon, 8 Apr 2024 18:21:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712600476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bLA1hK9hMYOPjC5O7tuPb6Mzt9vzUw8NqJdo43KFCoA=; b=SAsy+Ye53afZwClg9rhXnYV+i4IGOGlSMiwWGSMJRvxrHSlHpgrTg9jZm60v/96v9L/9VX yvyGhWoHODFB6qUTMG4BdDt7CQESgzp+9OoPw+3deyNqcnuykoYAya8cf2tnJIuk7o29Kr 1M97Vh8Lm7xpVqetktSiAUvQygqQbukBLxPhORf4XxvI3bc1LzqKunq8aoEt8Sy67OE2H6 2LBlL80jFlja3HLS4oNqxvX8fSOs5It8OoFpnBGWFm4GYMQdl+XwtGhXq34Qyc9YlKG7ay aOBVPcMryVshtYBc7SyF/WVXPNfylDZJwzwNmrWkOibSJmAeqF0DhFkVHQ2pyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712600476; a=rsa-sha256; cv=none; b=APanbFMpY/zvE/vIu8traOUA1XA4WYrbU9B5FkXDAi5jYtIBJHCUByENe0yRf9Gp+6Kbg+ oq383N6gZDlX2ED9KycRGQcx/rlEwHPkjdwizlo+zlWaJIhmIHt/2wTsZMFjUiUpiYiuVd dUGirc+OD4Y+SUUsIJUNnSh/OR4jRwhgCC7MwRNTzxs/f3Rk3XVdipvvALMxJyqPEdaOcA SxUcKsZHgwFZl6FN8xF4giw9DzQD4scscJ5omlp+IM+bx1jJFszVgsp+IKQ3Gb4eAkXRs/ oyJ82bnOFOLDCFugv/mVfogZH89R01yhUkvnGhU3hSNR65T4qqh/E5yHU4h8nA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712600476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bLA1hK9hMYOPjC5O7tuPb6Mzt9vzUw8NqJdo43KFCoA=; b=y0DYTqCyS4EaxWzknWaUJhXn4SmvCNww79Dj2mHHF55Kg8acbpJbo0+LkdivJbMHi74/h4 5EowT5aNsRObW9pIN05EArjPRmsm+Rz/8fYCpLLmt1mCTqf9VttPC7xfaqozWNIbMGIFlE vD5pvBLTdhQn+Dn7gZbzAU5fF2AMnLST3sOl3Rs0HfEmmNdVkHCo6KICMIFYdICO15FGTx R7QfBuw8cqwlHwSbpk2qAwALUOqdpmfT6FoQnPXOGL507rLqvFTsyUY0CTbl5NtLmn0RRl ckTz+t/TYcLPUT0dxihnh3vlT9C4OszSf2BSrod04l00G0sbORKjC2tBoDtVBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCy8X3wbqzM1c; Mon, 8 Apr 2024 18:21:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438ILGqu019098; Mon, 8 Apr 2024 18:21:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438ILG3J019094; Mon, 8 Apr 2024 18:21:16 GMT (envelope-from git) Date: Mon, 8 Apr 2024 18:21:16 GMT Message-Id: <202404081821.438ILG3J019094@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 69fd60f1ead5 - main - sys/queue.h: Whitespace cleanup. 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: 69fd60f1ead5a86eeb0b18847dd71f7ae3fce4a0 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=69fd60f1ead5a86eeb0b18847dd71f7ae3fce4a0 commit 69fd60f1ead5a86eeb0b18847dd71f7ae3fce4a0 Author: Dag-Erling Smørgrav AuthorDate: 2024-04-08 18:16:35 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-04-08 18:16:46 +0000 sys/queue.h: Whitespace cleanup. MFC after: 1 week Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D44678 --- sys/sys/queue.h | 60 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/sys/sys/queue.h b/sys/sys/queue.h index 58154b435c7d..2b11d54cdd45 100644 --- a/sys/sys/queue.h +++ b/sys/sys/queue.h @@ -393,9 +393,9 @@ struct { \ (head)->stqh_last = &STAILQ_NEXT((elm), field); \ } while (0) -#define STAILQ_LAST(head, type, field) \ - (STAILQ_EMPTY((head)) ? NULL : \ - __containerof((head)->stqh_last, \ +#define STAILQ_LAST(head, type, field) \ + (STAILQ_EMPTY((head)) ? NULL : \ + __containerof((head)->stqh_last, \ QUEUE_TYPEOF(type), field.stqe_next)) #define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next) @@ -498,7 +498,7 @@ struct { \ if (LIST_NEXT((elm), field) != NULL && \ LIST_NEXT((elm), field)->field.le_prev != \ &((elm)->field.le_next)) \ - panic("Bad link elm %p next->prev != elm", (elm)); \ + panic("Bad link elm %p next->prev != elm", (elm)); \ } while (0) /* @@ -516,21 +516,21 @@ struct { \ #define QMD_LIST_CHECK_PREV(elm, field) #endif /* (_KERNEL && INVARIANTS) */ -#define LIST_CONCAT(head1, head2, type, field) do { \ - QUEUE_TYPEOF(type) *curelm = LIST_FIRST(head1); \ - if (curelm == NULL) { \ - if ((LIST_FIRST(head1) = LIST_FIRST(head2)) != NULL) { \ - LIST_FIRST(head2)->field.le_prev = \ - &LIST_FIRST((head1)); \ - LIST_INIT(head2); \ - } \ - } else if (LIST_FIRST(head2) != NULL) { \ - while (LIST_NEXT(curelm, field) != NULL) \ - curelm = LIST_NEXT(curelm, field); \ - LIST_NEXT(curelm, field) = LIST_FIRST(head2); \ - LIST_FIRST(head2)->field.le_prev = &LIST_NEXT(curelm, field); \ - LIST_INIT(head2); \ - } \ +#define LIST_CONCAT(head1, head2, type, field) do { \ + QUEUE_TYPEOF(type) *curelm = LIST_FIRST(head1); \ + if (curelm == NULL) { \ + if ((LIST_FIRST(head1) = LIST_FIRST(head2)) != NULL) { \ + LIST_FIRST(head2)->field.le_prev = \ + &LIST_FIRST((head1)); \ + LIST_INIT(head2); \ + } \ + } else if (LIST_FIRST(head2) != NULL) { \ + while (LIST_NEXT(curelm, field) != NULL) \ + curelm = LIST_NEXT(curelm, field); \ + LIST_NEXT(curelm, field) = LIST_FIRST(head2); \ + LIST_FIRST(head2)->field.le_prev = &LIST_NEXT(curelm, field);\ + LIST_INIT(head2); \ + } \ } while (0) #define LIST_EMPTY(head) ((head)->lh_first == NULL) @@ -588,12 +588,12 @@ struct { \ #define LIST_NEXT(elm, field) ((elm)->field.le_next) -#define LIST_PREV(elm, head, type, field) \ - ((elm)->field.le_prev == &LIST_FIRST((head)) ? NULL : \ - __containerof((elm)->field.le_prev, \ +#define LIST_PREV(elm, head, type, field) \ + ((elm)->field.le_prev == &LIST_FIRST((head)) ? NULL : \ + __containerof((elm)->field.le_prev, \ QUEUE_TYPEOF(type), field.le_next)) -#define LIST_REMOVE_HEAD(head, field) \ +#define LIST_REMOVE_HEAD(head, field) \ LIST_REMOVE(LIST_FIRST(head), field) #define LIST_REMOVE(elm, field) do { \ @@ -602,7 +602,7 @@ struct { \ QMD_LIST_CHECK_NEXT(elm, field); \ QMD_LIST_CHECK_PREV(elm, field); \ if (LIST_NEXT((elm), field) != NULL) \ - LIST_NEXT((elm), field)->field.le_prev = \ + LIST_NEXT((elm), field)->field.le_prev = \ (elm)->field.le_prev; \ *(elm)->field.le_prev = LIST_NEXT((elm), field); \ TRASHIT(*oldnext); \ @@ -679,7 +679,7 @@ struct { \ */ #define QMD_TAILQ_CHECK_TAIL(head, field) do { \ if (*(head)->tqh_last != NULL) \ - panic("Bad tailq NEXT(%p->tqh_last) != NULL", (head)); \ + panic("Bad tailq NEXT(%p->tqh_last) != NULL", (head)); \ } while (0) /* @@ -761,7 +761,7 @@ struct { \ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \ (var) = (tvar)) -#define TAILQ_FOREACH_REVERSE_FROM_SAFE(var, head, headname, field, tvar) \ +#define TAILQ_FOREACH_REVERSE_FROM_SAFE(var, head, headname, field, tvar)\ for ((var) = ((var) ? (var) : TAILQ_LAST((head), headname)); \ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \ (var) = (tvar)) @@ -775,7 +775,7 @@ struct { \ #define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ QMD_TAILQ_CHECK_NEXT(listelm, field); \ if ((TAILQ_NEXT((elm), field) = TAILQ_NEXT((listelm), field)) != NULL)\ - TAILQ_NEXT((elm), field)->field.tqe_prev = \ + TAILQ_NEXT((elm), field)->field.tqe_prev = \ &TAILQ_NEXT((elm), field); \ else { \ (head)->tqh_last = &TAILQ_NEXT((elm), field); \ @@ -830,7 +830,7 @@ struct { \ * the previous element. FAST is very useful for instances when * you may want to prefetch the last data element. */ -#define TAILQ_LAST_FAST(head, type, field) \ +#define TAILQ_LAST_FAST(head, type, field) \ (TAILQ_EMPTY(head) ? NULL : __containerof((head)->tqh_last, QUEUE_TYPEOF(type), field.tqe_next)) #define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) @@ -842,7 +842,7 @@ struct { \ ((elm)->field.tqe_prev == &(head)->tqh_first ? NULL : \ __containerof((elm)->field.tqe_prev, QUEUE_TYPEOF(type), field.tqe_next)) -#define TAILQ_REMOVE_HEAD(head, field) \ +#define TAILQ_REMOVE_HEAD(head, field) \ TAILQ_REMOVE(head, TAILQ_FIRST(head), field) #define TAILQ_REMOVE(head, elm, field) do { \ @@ -851,7 +851,7 @@ struct { \ QMD_TAILQ_CHECK_NEXT(elm, field); \ QMD_TAILQ_CHECK_PREV(elm, field); \ if ((TAILQ_NEXT((elm), field)) != NULL) \ - TAILQ_NEXT((elm), field)->field.tqe_prev = \ + TAILQ_NEXT((elm), field)->field.tqe_prev = \ (elm)->field.tqe_prev; \ else { \ (head)->tqh_last = (elm)->field.tqe_prev; \ From nobody Mon Apr 8 18:21:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCy8Z070Qz5HTp0; Mon, 8 Apr 2024 18:21:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VCy8Y5HYzz4bMk; Mon, 8 Apr 2024 18:21:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712600477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/mglCGXpXclDYHNObbpqMpEEuVK2K+FDfR+9U2GgrbA=; b=dpv9+YKB6/DYlhFgL+HfmDJ79LYs9fvtKPUGmreDnfyrz2c0eGlXAo1VRW8H6x0gRRlLYo VXtNSkNEqlFBKv1zCZHqb7HBrPmUYksGJjDLD9fzqt/6zK0t1h7Hh8MjZ0AIYNircBYpK2 B7fma3Pn73adheeKfpT+QRH6DeEnVNnuhhP821qHXyNeS8CS1qBg0Yf5Ag67GADJkSK4br bD3bzloeylOefC+Nuu7YhuNzIAURFMW+TCBkOXqP7o7ZDg98M81vaLKyBWtnzINah0F0+2 ksLkYhxGjgFPdZhFpOeqJPXea42FqcDF7ez17Jl+BEXI8M66sPs5klhpA7O2rA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712600477; a=rsa-sha256; cv=none; b=TzbbAhkfTXPuB4nNZ+BneT7RJegMJZH/6TLClYKLVw7fgOL5vVy4FmuG8gpEjXIzk7GZND LFLyOSo3T7uNTifc80YXstujD8wjA/2fFyIJb0EjlqnSDxGDelUK2dKJEiDMfrfKkvxUGp hasuxuOy385XX6/d5RtyTg4t+b/f8VSinHb7XY1M3ifbclVLK9Sj67/ORHzJTR6lnfLfHF 9N0OBDdM8o02ECLWB7sCrWDtCosooTgoI/iIDdo6Dq6HNEDMcarUXe4GV4gnt5VQwcnCN0 OWQEoeBmPE3wcKlD4jix0i0X7a0cxZ0HjqhEgYROU2wWDBsbM0bzLqtAVzPSGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712600477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/mglCGXpXclDYHNObbpqMpEEuVK2K+FDfR+9U2GgrbA=; b=O4U6DlbPR2dzYj+cwxxz8KygzQCp3XaZi1LdsyB4qSzTdBcSPxG9HhfCF3tqIQxyBmX+RC 110IR8k4nTQ6Fn0NYVnMKLEHvvYjAQticBJXsoDiefMw/M5k9B5aMtxwPbImjI4gGHxJeg CXegQLZwtr8DqM2hEBV2L23zHfEVOZZs8pvpTz9ZbaN2wliRlaN9lumoW71LXRkMPTKivv EIebfWIYoh3blRFCdA+XeMIP1JlLg0voMFgel7jkxut/mwxdwtVX9mtnPNHymh6y0yNeYU d4fQeoL4waFe2aoXj2j4ORyQw+uIrrcws/JvAvO+8OlVidqzTgDuEhIq40//mQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCy8Y4vKZzM66; Mon, 8 Apr 2024 18:21:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438ILHNW019143; Mon, 8 Apr 2024 18:21:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438ILHOW019140; Mon, 8 Apr 2024 18:21:17 GMT (envelope-from git) Date: Mon, 8 Apr 2024 18:21:17 GMT Message-Id: <202404081821.438ILHOW019140@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 7f479dee4897 - main - sys/queue.h: Add {LIST,TAILQ}_REPLACE(). 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: 7f479dee48973541da8c869b888b953161301c3b Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=7f479dee48973541da8c869b888b953161301c3b commit 7f479dee48973541da8c869b888b953161301c3b Author: Dag-Erling Smørgrav AuthorDate: 2024-04-08 18:16:40 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-04-08 18:16:46 +0000 sys/queue.h: Add {LIST,TAILQ}_REPLACE(). MFC after: 1 week Obtained from: NetBSD Sponsored by: Klara, Inc. Reviewed by: cperciva, imp Differential Revision: https://reviews.freebsd.org/D44679 --- share/man/man3/Makefile | 2 ++ share/man/man3/queue.3 | 34 ++++++++++++++++++++++++++++++++-- sys/sys/queue.h | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 2 deletions(-) diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile index b1f9cc087837..d82ff2bccd51 100644 --- a/share/man/man3/Makefile +++ b/share/man/man3/Makefile @@ -215,6 +215,7 @@ MLINKS+= queue.3 LIST_CLASS_ENTRY.3 \ queue.3 LIST_NEXT.3 \ queue.3 LIST_PREV.3 \ queue.3 LIST_REMOVE.3 \ + queue.3 LIST_REPLACE.3 \ queue.3 LIST_SWAP.3 \ queue.3 SLIST_CLASS_ENTRY.3 \ queue.3 SLIST_CLASS_HEAD.3 \ @@ -283,6 +284,7 @@ MLINKS+= queue.3 LIST_CLASS_ENTRY.3 \ queue.3 TAILQ_NEXT.3 \ queue.3 TAILQ_PREV.3 \ queue.3 TAILQ_REMOVE.3 \ + queue.3 TAILQ_REPLACE.3 \ queue.3 TAILQ_SWAP.3 MLINKS+= stats.3 stats_tpl_alloc.3 \ stats.3 stats_tpl_fetch_allocid.3 \ diff --git a/share/man/man3/queue.3 b/share/man/man3/queue.3 index 41d88cb6ffce..be890fd2cc88 100644 --- a/share/man/man3/queue.3 +++ b/share/man/man3/queue.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 8, 2016 +.Dd April 8, 2024 .Dt QUEUE 3 .Os .Sh NAME @@ -90,6 +90,7 @@ .Nm LIST_NEXT , .Nm LIST_PREV , .Nm LIST_REMOVE , +.Nm LIST_REPLACE , .Nm LIST_SWAP , .Nm TAILQ_CLASS_ENTRY , .Nm TAILQ_CLASS_HEAD , @@ -116,6 +117,7 @@ .Nm TAILQ_NEXT , .Nm TAILQ_PREV , .Nm TAILQ_REMOVE , +.Nm TAILQ_REPLACE , .Nm TAILQ_SWAP .Nd implementations of singly-linked lists, singly-linked tail queues, lists and tail queues @@ -185,6 +187,7 @@ lists and tail queues .Fn LIST_NEXT "TYPE *elm" "LIST_ENTRY NAME" .Fn LIST_PREV "TYPE *elm" "LIST_HEAD *head" "TYPE" "LIST_ENTRY NAME" .Fn LIST_REMOVE "TYPE *elm" "LIST_ENTRY NAME" +.Fn LIST_REPLACE "TYPE *elm" "TYPE *new" "LIST_ENTRY NAME" .Fn LIST_SWAP "LIST_HEAD *head1" "LIST_HEAD *head2" "TYPE" "LIST_ENTRY NAME" .\" .Fn TAILQ_CLASS_ENTRY "CLASSTYPE" @@ -212,6 +215,7 @@ lists and tail queues .Fn TAILQ_NEXT "TYPE *elm" "TAILQ_ENTRY NAME" .Fn TAILQ_PREV "TYPE *elm" "HEADNAME" "TAILQ_ENTRY NAME" .Fn TAILQ_REMOVE "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME" +.Fn TAILQ_REPLACE "TAILQ_HEAD *head" "TYPE *elm" "TYPE *new" "TAILQ_ENTRY NAME" .Fn TAILQ_SWAP "TAILQ_HEAD *head1" "TAILQ_HEAD *head2" "TYPE" "TAILQ_ENTRY NAME" .\" .Sh DESCRIPTION @@ -963,6 +967,17 @@ removes the element from the list. .Pp The macro +.Fn LIST_REPLACE +replaces the element +.Fa elm +with +.Fa new +in the list. +The element +.Fa new +must not already be on a list. +.Pp +The macro .Nm LIST_SWAP swaps the contents of .Fa head1 @@ -1221,6 +1236,17 @@ removes the element from the tail queue. .Pp The macro +.Fn TAILQ_REPLACE +replaces the element +.Fa elm +with +.Fa new +in the tail queue. +The element +.Fa new +must not already be on a list. +.Pp +The macro .Nm TAILQ_SWAP swaps the contents of .Fa head1 @@ -1235,7 +1261,7 @@ struct entry { ... TAILQ_ENTRY(entry) entries; /* Tail queue. */ ... -} *n1, *n2, *n3, *np; +} *n1, *n2, *n3, *n4, *np; TAILQ_INIT(&head); /* Initialize the queue. */ @@ -1253,6 +1279,10 @@ TAILQ_INSERT_BEFORE(n2, n3, entries); TAILQ_REMOVE(&head, n2, entries); /* Deletion. */ free(n2); + +n4 = malloc(sizeof(struct entry)); /* Replacement. */ +TAILQ_REPLACE(&head, n3, n4, entries); +free(n3); /* Forward traversal. */ TAILQ_FOREACH(np, &head, entries) np-> ... diff --git a/sys/sys/queue.h b/sys/sys/queue.h index 2b11d54cdd45..0479d780fd85 100644 --- a/sys/sys/queue.h +++ b/sys/sys/queue.h @@ -110,6 +110,7 @@ * _REMOVE_AFTER + - + - * _REMOVE_HEAD + + + + * _REMOVE s + s + + * _REPLACE - + - + * _SWAP + + + + * */ @@ -609,6 +610,21 @@ struct { \ TRASHIT(*oldprev); \ } while (0) +#define LIST_REPLACE(elm, elm2, field) do { \ + QMD_SAVELINK(oldnext, (elm)->field.le_next); \ + QMD_SAVELINK(oldprev, (elm)->field.le_prev); \ + QMD_LIST_CHECK_NEXT(elm, field); \ + QMD_LIST_CHECK_PREV(elm, field); \ + LIST_NEXT((elm2), field) = LIST_NEXT((elm), field); \ + if (LIST_NEXT((elm2), field) != NULL) \ + LIST_NEXT((elm2), field)->field.le_prev = \ + &(elm2)->field.le_next; \ + (elm2)->field.le_prev = (elm)->field.le_prev; \ + *(elm2)->field.le_prev = (elm2); \ + TRASHIT(*oldnext); \ + TRASHIT(*oldprev); \ +} while (0) + #define LIST_SWAP(head1, head2, type, field) do { \ QUEUE_TYPEOF(type) *swap_tmp = LIST_FIRST(head1); \ LIST_FIRST((head1)) = LIST_FIRST((head2)); \ @@ -863,6 +879,24 @@ struct { \ QMD_TRACE_ELEM(&(elm)->field); \ } while (0) +#define TAILQ_REPLACE(head, elm, elm2, field) do { \ + QMD_SAVELINK(oldnext, (elm)->field.tqe_next); \ + QMD_SAVELINK(oldprev, (elm)->field.tqe_prev); \ + QMD_TAILQ_CHECK_NEXT(elm, field); \ + QMD_TAILQ_CHECK_PREV(elm, field); \ + TAILQ_NEXT((elm2), field) = TAILQ_NEXT((elm), field); \ + if (TAILQ_NEXT((elm2), field) != TAILQ_END(head)) \ + TAILQ_NEXT((elm2), field)->field.tqe_prev = \ + &(elm2)->field.tqe_next; \ + else \ + (head)->tqh_last = &(elm2)->field.tqe_next; \ + (elm2)->field.tqe_prev = (elm)->field.tqe_prev; \ + *(elm2)->field.tqe_prev = (elm2); \ + TRASHIT(*oldnext); \ + TRASHIT(*oldprev); \ + QMD_TRACE_ELEM(&(elm)->field); \ +} while (0) + #define TAILQ_SWAP(head1, head2, type, field) do { \ QUEUE_TYPEOF(type) *swap_first = (head1)->tqh_first; \ QUEUE_TYPEOF(type) **swap_last = (head1)->tqh_last; \ From nobody Mon Apr 8 20:29:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD10g6VFnz5HjHj; Mon, 8 Apr 2024 20:29:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-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 4VD10g5vHPz45nx; Mon, 8 Apr 2024 20:29:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ulbIFc4d2kVe9H6Ol7JMSDngddCOmzzSNXjTClncxL8=; b=Id5HjP76SuDeky/8OzPe+hVqwmg0ysJ+dELOCcq68KyK8msgLeV0pu1jinO4hnUQon2wRx n1W5txfXie3VshV8VJJEmQt3oMswoWiWxd1e35GwvdwAfezsgUTXVEFeK1EZ6ePiHDPjNY Ke4EVoMAauCViUnzcDmDSoydApyy+mau4bNTZeEzLydzLIgne/iXfw4lkDFgRYRlHrLV4K dqTNC11DqA+rrrc7OJpPCdncLzwKp6P78+BsCn4xQuo5RarPWMRpxH94ysMrp14NSxROaF VV8J724G7wFj3oopkLxQ/RKV9aiQ41VpUs9QDXzRHRBdj9IsoyKKYDD8+PFUEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712608179; a=rsa-sha256; cv=none; b=J3y4teNr21a9KXjdcw39W9WRmh30PfengZURMhKIT3sp4h+SsKoCPdZ6Tepa44d8bBhA2T QcyZwT9xjEQu/m+Bx/9El1k2AXOM3lMF551KcAM4jWNJHLiLDlAE+4DQR56BaSx4vX8vY7 2NxDe8O5eQFgJdVzL+QDvXlmENXnjG8XFctyDGZTKpBlhQCkTINjQMCpDx6Su2P6mfi6RN KvlQuHvjkBl56Bf+MapnXif0uWhe1DlYdKfHEx5sILGxXfP48uTow9DM+VJ/aGW1UaoiL0 pBZfYUq8c/8P0/Kmfh2H1mVeZzL6n2zHPAwYY3sXnR+ra+0tVATXqehUq7LTmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ulbIFc4d2kVe9H6Ol7JMSDngddCOmzzSNXjTClncxL8=; b=D5BkBT5E/2tcbnv7VGXHjgO4yVatQ5DgKztQX8OBQeof9ngSD1w5vIm26Stii7BEXJkVsO GTjtQg49j+qR22h8mQIZUJt8MsICFhoX+zdpeRZLgM/j7ut0LloalG+7mdCd0RjVn2vNfD ucyBCxTnUWP2xCyNqQzqP+xmgvw2x2WKQyQ2QPWyGpYkdpG66Z4NT3o4nYP8541TbmyBLr S48u+Zoj/QEfXp4xj/gRTeoQU7l4n67OFgkNrNFr8Zfy8GjovdWvyAnNWSKzmh+ZN60Zu8 bep04vfzysol/JSy4Fp45qW+WOaGoKBZHj7+aUovjG5t2h6VYP5CNWEJyadXEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD10g5VsxzQjY; Mon, 8 Apr 2024 20:29:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438KTd6J041439; Mon, 8 Apr 2024 20:29:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KTdCX041436; Mon, 8 Apr 2024 20:29:39 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:29:39 GMT Message-Id: <202404082029.438KTdCX041436@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: eb338e2370b4 - main - tests/unix_seqpacket: provide random data pumping test with MSG_EOR 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: eb338e2370b4644382e6404d7402bc05eef13e54 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=eb338e2370b4644382e6404d7402bc05eef13e54 commit eb338e2370b4644382e6404d7402bc05eef13e54 Author: Gleb Smirnoff AuthorDate: 2024-04-08 20:16:50 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-08 20:16:50 +0000 tests/unix_seqpacket: provide random data pumping test with MSG_EOR Allocate a big chunk of randomly initialized memory. Send it to the peer in random sized chunks, throwing MSG_EOR at randomly initialized offsets. Receive into random sized chunks setting MSG_WAITALL randomly. Check that MSG_EORs where they should be, check that MSG_WAITALL is abode, but overriden by MSG_EOR. And finally memcmp() what we receive. Reviewed by: asomers, tuexen Differential Revision: https://reviews.freebsd.org/D43775 --- tests/sys/kern/unix_seqpacket_test.c | 151 +++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) diff --git a/tests/sys/kern/unix_seqpacket_test.c b/tests/sys/kern/unix_seqpacket_test.c index ca3fcdef9e6a..d463ae9b3ce6 100644 --- a/tests/sys/kern/unix_seqpacket_test.c +++ b/tests/sys/kern/unix_seqpacket_test.c @@ -1,5 +1,8 @@ /*- + * + * Copyright (c) 2024 Gleb Smirnoff * Copyright (c) 2014 Spectra Logic Corporation. All rights reserved. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -27,7 +30,9 @@ #include #include #include +#include #include +#include #include #include @@ -1089,6 +1094,151 @@ ATF_TC_BODY(sendrecv_128k_nonblocking, tc) test_sendrecv_symmetric_buffers(128 * 1024, false); } +ATF_TC(random_eor_and_waitall); +ATF_TC_HEAD(random_eor_and_waitall, tc) +{ + atf_tc_set_md_var(tc, "descr", "Test random sized send/recv with " + "randomly placed MSG_EOR and randomly applied MSG_WAITALL on " + "PF_UNIX/SOCK_SEQPACKET"); +} + +struct random_eor_params { + u_long recvspace; + char *sendbuf; + size_t *records; + u_int nrecords; + int sock; + u_short seed[6]; +}; + +#define RANDOM_TESTSIZE ((size_t)100 * 1024 * 1024) +/* Below defines are factor of recvspace. */ +#define RANDOM_MAXRECORD 10 +#define RANDOM_SENDSIZE 2 +#define RANDOM_RECVSIZE 4 + +static void * +sending_thread(void *arg) +{ + struct random_eor_params *params = arg; + size_t off = 0; + int eor = 0; + + while (off < RANDOM_TESTSIZE) { + ssize_t len; + int flags; + + len = nrand48(¶ms->seed[3]) % + (RANDOM_SENDSIZE * params->recvspace); + if (off + len >= params->records[eor]) { + len = params->records[eor] - off; + flags = MSG_EOR; + eor++; + } else + flags = 0; + ATF_REQUIRE(send(params->sock, ¶ms->sendbuf[off], len, + flags) == len); + off += len; +#ifdef DEBUG + printf("send %zd%s\n", off, flags ? " EOR" : ""); +#endif + } + + return (NULL); +} + +ATF_TC_BODY(random_eor_and_waitall, tc) +{ + struct random_eor_params params; + void *recvbuf; + pthread_t t; + size_t off; + int fd[2], eor; + + arc4random_buf(params.seed, sizeof(params.seed)); + printf("Using seed:"); + for (u_int i = 0; i < (u_int)sizeof(params.seed)/sizeof(u_short); i++) + printf(" 0x%.4x,", params.seed[i]); + printf("\n"); + + ATF_REQUIRE((params.sendbuf = malloc(RANDOM_TESTSIZE)) != NULL); + for (u_int i = 0; i < RANDOM_TESTSIZE / (u_int )sizeof(long); i++) + ((long *)params.sendbuf)[i] = nrand48(¶ms.seed[0]); + + ATF_REQUIRE(sysctlbyname("net.local.stream.recvspace", + ¶ms.recvspace, &(size_t){sizeof(u_long)}, NULL, 0) != -1); + ATF_REQUIRE((recvbuf = + malloc(RANDOM_RECVSIZE * params.recvspace)) != NULL); + + params.nrecords = 2 * RANDOM_TESTSIZE / + (RANDOM_MAXRECORD * params.recvspace); + + ATF_REQUIRE((params.records = + malloc(params.nrecords * sizeof(size_t *))) != NULL); + off = 0; + for (u_int i = 0; i < params.nrecords; i++) { + off += 1 + nrand48(¶ms.seed[0]) % + (RANDOM_MAXRECORD * params.recvspace); + if (off > RANDOM_TESTSIZE) { + params.nrecords = i; + break; + } + params.records[i] = off; + } + params.records[params.nrecords - 1] = RANDOM_TESTSIZE; + + ATF_REQUIRE(socketpair(PF_LOCAL, SOCK_SEQPACKET, 0, fd) == 0); + params.sock = fd[0]; + ATF_REQUIRE(pthread_create(&t, NULL, sending_thread, ¶ms) == 0); + + off = 0; + eor = 0; + while (off < RANDOM_TESTSIZE) { + struct iovec iov = { + .iov_base = recvbuf, + .iov_len = nrand48(¶ms.seed[0]) % + (RANDOM_RECVSIZE * params.recvspace) + }; + struct msghdr hdr = { + .msg_iov = &iov, + .msg_iovlen = 1, + }; + size_t len; + int waitall = iov.iov_len & 0x1 ? MSG_WAITALL : 0; + + len = recvmsg(fd[1], &hdr, waitall); + if (waitall && !(hdr.msg_flags & MSG_EOR)) + ATF_CHECK_EQ_MSG(len, iov.iov_len, + "recvmsg(MSG_WAITALL): %zd, expected %zd", + len, iov.iov_len); + if (off + len == params.records[eor]) { + ATF_REQUIRE_MSG(hdr.msg_flags & MSG_EOR, + "recvmsg(): expected EOR @ %zd", off + len); + eor++; + } else { + ATF_REQUIRE_MSG(off + len < params.records[eor], + "recvmsg() past EOR: %zd, expected %zd", + off + len, params.records[eor]); + ATF_REQUIRE_MSG(!(hdr.msg_flags & MSG_EOR), + "recvmsg() spurious EOR at %zd, expected %zd", + off + len, params.records[eor]); + } + ATF_REQUIRE_MSG(0 == memcmp(params.sendbuf + off, recvbuf, len), + "data corruption past %zd", off); + off += len; +#ifdef DEBUG + printf("recv %zd%s %zd/%zd%s\n", off, + (hdr.msg_flags & MSG_EOR) ? " EOR" : "", + len, iov.iov_len, + waitall ? " WAITALL" : ""); +#endif + } + + ATF_REQUIRE(pthread_join(t, NULL) == 0); + free(params.sendbuf); + free(recvbuf); + free(params.records); +} /* * Main. @@ -1142,6 +1292,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, pipe_8k_128k); ATF_TP_ADD_TC(tp, pipe_128k_8k); ATF_TP_ADD_TC(tp, pipe_128k_128k); + ATF_TP_ADD_TC(tp, random_eor_and_waitall); return atf_no_error(); } From nobody Mon Apr 8 20:29:40 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD10j1Ms6z5HjS6; Mon, 8 Apr 2024 20:29: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 4VD10h6dngz45w1; Mon, 8 Apr 2024 20:29:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ndrFoBWr6XRIejsviyWkk5iZ+drLQG6GrqHTlVTIap0=; b=ewm4yU/zdJWaAHy5mNQGpF7OyE7HB1FUHgqvlTuDiOMQkY63jp+L3S9cXpqMQqeqhVR4nh fxTc8a97j+F9O26VOpfpQsIxka3Aos0TAw36ZKbYJmzs9J3Cp3s3+/EAvrZwQu/ts1uXLZ VbqDXy3XiopugXZi48XPSIm58w6IX5d1bBEJ3HFrDQfJwMVsGUNwZR+zEANjgl1RKEIQ/m c/mzGhJeJxC4/9EqeYyEBlyzjnSmXYhMV4dmGO5prCRxqEH7yp1RzUO736uZqDuih0MHfG hlVRJj4YSkduO94S4Wep0h391mfS1lnVMdl/t2BgrPtnuHjSc/qq1HJ8xN0t4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712608180; a=rsa-sha256; cv=none; b=cX7/fGfpGbEjz2ks3zv8t5/t/MexD5JtoWatSsqA3t/IZNvAa1fMODdWOYB0VBAdVXKraQ WEitF0q3QGuG1jU6N5yaXb7wsLJ87tB3fQHktiJnYTHsB38wHBhf1XD1qbAON73eRfwLyp LlRH5KoKnUJYSQ7O0awxcghHkHpKkgfSALDVR6c8w8BH3+lZU+UB0nLdLz0MTdiIGFqPzx XcchGa04jtpwzR4URZtUOQiFQnG4B97TZHBfzmX6m3Rtp3jMftffI0a9SHooV4SckRBtGU OhpVx+j11SAEI3YjJkI0oS/y+SvWSYOqMRGS4OqQHLfMDk26g0hqQ8TAjqsCWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ndrFoBWr6XRIejsviyWkk5iZ+drLQG6GrqHTlVTIap0=; b=TrfIJt7FcdnAFBSbSTVLLS1DkDbO70E7Y4T1gh1xxHuyh21jfXl5HCpRsKCGuTruXr1Bd4 fs5FVjCBRhzAinQq9O1t5QGctoJczRNStVlTq/1DxDRKhSsWBT7mg4NVGbQ/zxthggJnWk 1AFzf9xhgzqK/X4dUpZFZC0W6jhNdV8irftaJd/XAwSFr2GyIuniZlECbpSTswcXAg7A3Q OHYcc/fyOxFNcDi/fWEcAwIqoJDTY+xN7AohpWyn1GkskzFM1RyZOTkG/ObdNYO1Blo2dX 9OvFb9cdBiA2iOEw3/nowTIDNp74A/vQ2NajSfhLmEDH26Cnz8AlM1DF+2IDFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD10h6F3vzQS5; Mon, 8 Apr 2024 20:29:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438KTefC041496; Mon, 8 Apr 2024 20:29:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KTeu1041493; Mon, 8 Apr 2024 20:29:40 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:29:40 GMT Message-Id: <202404082029.438KTeu1041493@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: f9927821240a - main - tests/unix_seqpacket: test send(2) to a closed or aborted peer 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f9927821240aae9083a56ea66c4725e7f0082461 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=f9927821240aae9083a56ea66c4725e7f0082461 commit f9927821240aae9083a56ea66c4725e7f0082461 Author: Gleb Smirnoff AuthorDate: 2024-04-08 20:16:50 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-08 20:16:50 +0000 tests/unix_seqpacket: test send(2) to a closed or aborted peer socket In both cases the kernel returns EPIPE and delivers SIGPIPE, unless blocked or disabled. The test isn't specific to SOCK_SEQPACKET, it is the same for SOCK_STREAM. Put the test into this file, since it has all primitives to write this test tersely. Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D44146 --- tests/sys/kern/unix_seqpacket_test.c | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/tests/sys/kern/unix_seqpacket_test.c b/tests/sys/kern/unix_seqpacket_test.c index d463ae9b3ce6..7c7c37a3cf0a 100644 --- a/tests/sys/kern/unix_seqpacket_test.c +++ b/tests/sys/kern/unix_seqpacket_test.c @@ -530,6 +530,53 @@ ATF_TC_BODY(send_before_accept, tc) close(a); } +/* + * Test that close(2) of the peer ends in EPIPE when we try to send(2). + * Test both normal case as well as a peer that was not accept(2)-ed. + */ +static bool sigpipe_received = false; +static void +sigpipe_handler(int signo __unused) +{ + sigpipe_received = true; +} + +ATF_TC_WITHOUT_HEAD(send_to_closed); +ATF_TC_BODY(send_to_closed, tc) +{ + struct sigaction sa = { + .sa_handler = sigpipe_handler, + }; + const struct sockaddr_un *sun; + int l, s, a; + + ATF_REQUIRE(sigemptyset(&sa.sa_mask) == 0); + ATF_REQUIRE(sigaction(SIGPIPE, &sa, NULL) == 0); + + sun = mk_listening_socket(&l); + + ATF_REQUIRE((s = socket(PF_LOCAL, SOCK_SEQPACKET, 0)) > 0); + ATF_REQUIRE(connect(s, (struct sockaddr *)sun, sizeof(*sun)) == 0); + ATF_REQUIRE((a = accept(l, NULL, NULL)) != 1); + close(a); + ATF_REQUIRE(send(s, &s, sizeof(s), 0) == -1); + ATF_REQUIRE(errno == EPIPE); + ATF_REQUIRE(sigpipe_received == true); + close(s); + + ATF_REQUIRE((s = socket(PF_LOCAL, SOCK_SEQPACKET, 0)) > 0); + ATF_REQUIRE(connect(s, (struct sockaddr *)sun, sizeof(*sun)) == 0); + close(l); + sigpipe_received = false; + ATF_REQUIRE(send(s, &s, sizeof(s), 0) == -1); + ATF_REQUIRE(errno == EPIPE); + ATF_REQUIRE(sigpipe_received == true); + close(s); + + sa.sa_handler = SIG_DFL; + ATF_REQUIRE(sigaction(SIGPIPE, &sa, NULL) == 0); +} + /* Implied connect is unix/dgram only feature. Fails on stream or seqpacket. */ ATF_TC_WITHOUT_HEAD(implied_connect); ATF_TC_BODY(implied_connect, tc) @@ -1264,6 +1311,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, send_recv_with_connect); ATF_TP_ADD_TC(tp, sendto_recvfrom); ATF_TP_ADD_TC(tp, send_before_accept); + ATF_TP_ADD_TC(tp, send_to_closed); ATF_TP_ADD_TC(tp, implied_connect); ATF_TP_ADD_TC(tp, shutdown_send); ATF_TP_ADD_TC(tp, shutdown_send_sigpipe); From nobody Mon Apr 8 20:29:41 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD10k3q24z5HjN2; Mon, 8 Apr 2024 20:29: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 4VD10k0RcFz45t7; Mon, 8 Apr 2024 20:29:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608182; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/6qtKKtjbg3GqPlfIqH3xp00bkbl20KFBMRhhoRueGY=; b=qSz1gCWuMmTbJm1JPby9FFJx2nSl5p1K+eaPg+MFDJpO2jdIo0llI/bC/z21shgAHH4tT2 4JpzVc88DQWFN7odqziDPDDroZxmyvrcgOt/exk9tueEeK6JxTmRRErVfQ7Ve7nsSw1DOx vNq9lK7wzPaEjCCXUSFk0/Q4OnyQDMdU7eLTETcID1j/hVbgi+nXOAi25RMWBvjyR/tMKm ekVUIweU0BarkKx1zFQWy+/Lxlod4Qzfwz6/hj1ZjAcmOvKAp8/Ff3qDXqrrNrd1byY6B8 OBrbXZal+A3/NlUJrjZRlZ6oIhIqvYUbAB9g+FJTVaUXVpOva4Ldt0ZndoZwPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712608182; a=rsa-sha256; cv=none; b=FRneaxyLwhnszxgZA1dT1c3UKE6HOEt+d3z7WQ78XKiFqI89IjGo9KtwCi6dKZfQzC+gCd khGDKlMNbWEJEy3xL3sUeJv/pDKtmqhpmycTprTpWPNGvtNgV9jR2yBT7/Z4VttAEbJSQ3 cmydEdbVt28VEZzraZBXEd2L3DI2vEQS2qks5+bilpJYjF1tqodpxKtOqSQnD5hbuPCVav abyFqtjvcWxl+d2CCRjo0uTAJm5uBusEF1nqkDEMA4hiG9sMnR8462qP9n5cA9ct2mojPr R0cV2RZcOJBSLgWOCATxOZ9nBgzc6vJslIuWV9hHAgBlSfqE71m+arSXw4smOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608182; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/6qtKKtjbg3GqPlfIqH3xp00bkbl20KFBMRhhoRueGY=; b=JEiERsI0axdiGMUfMRdVdwMeUtgz1OX3oSY8ihslrCX+MHwwli7p7/8BWiGUy1fslJVA1f 1y8/Fl1/c10d0wABvBgkXnpxtvcRGu+Ngzwbc4skpvxeIMbv1sHIlkU3Kw0hk3fqwlhF5X Rnph6umlhDhowPypLZtxyjyl9tu0h1ppgj2t8jVPOPteqrpHDLGcpBQewacEjUHdDJNCOw Jp0HHBbeHwuZ2SosT5DA8IijNP1bA5L/FrwbBCLjtYy6xi4yoCD2wLfgu7xTIc8CJGImh1 7P4btAAWmqt0JjOsF7LAa7TpYiOEM3MaF/hI9hVkXiSxcdNgV8bpq90ZX9mxnQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD10k03CyzPmH; Mon, 8 Apr 2024 20:29:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438KTf9w041562; Mon, 8 Apr 2024 20:29:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KTfOP041559; Mon, 8 Apr 2024 20:29:41 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:29:41 GMT Message-Id: <202404082029.438KTfOP041559@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: 0b4992976226 - main - tests/unix_seqpacket: remove workaround for a kernel bug that is no 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0b49929762265776b1d7111e55b451d7d9e00550 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=0b49929762265776b1d7111e55b451d7d9e00550 commit 0b49929762265776b1d7111e55b451d7d9e00550 Author: Gleb Smirnoff AuthorDate: 2024-04-08 20:16:51 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-08 20:16:51 +0000 tests/unix_seqpacket: remove workaround for a kernel bug that is no longer --- tests/sys/kern/unix_seqpacket_test.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/tests/sys/kern/unix_seqpacket_test.c b/tests/sys/kern/unix_seqpacket_test.c index 7c7c37a3cf0a..dc5f89270a07 100644 --- a/tests/sys/kern/unix_seqpacket_test.c +++ b/tests/sys/kern/unix_seqpacket_test.c @@ -260,12 +260,7 @@ test_pipe_simulator(int sndbufsize, int rcvbufsize) memset(sndbuf, num_sent, pktsize); ssize = send(sv[0], sndbuf, pktsize, MSG_EOR); if (ssize < 0) { - /* - * XXX: This is bug-compatible with the kernel. - * The kernel returns EMSGSIZE when it should - * return EAGAIN - */ - if (errno == EAGAIN || errno == EMSGSIZE) + if (errno == EAGAIN) currently_sending = false; else { perror("send"); From nobody Mon Apr 8 20:29:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD10l3SNnz5HjN3; Mon, 8 Apr 2024 20:29: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 4VD10l1ZcTz45yc; Mon, 8 Apr 2024 20:29:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J/YduWCkZwouVTT3HlKv7Ooi56crpIZr04F5p4Rb7Hs=; b=vxqRdt4lVwGinY9Yc8PXglasLZXwtWiwSP0NsFt3HwK5F6w7WDyRWWuweKP7QiQVtewtRU n31En+T7uo5UOKGcj8i/DZ5nb7UviGWqBTrWTl/iXAmxcpVr00SaKgHdQsFsXZ2nBj3Q5+ 0Cwp6g+3gr7a7laVELLQ8OPbMaNGo/vcqSl2lH3SyP8ud8rhD+9O1LB+UdoSpr5oX4V0fM my4N5HNj8Ptj3dQpRw23tZ8fxlEvgBxG8T9ez2T3RWDvQQdf3Gcr85TEXpHCzE9B8gArc0 m7Ri9qZ8hGrsoN6gO+FGcP70Lfy1KIZsIiaJH2VcB/mbj37PRirqVkNTC7BcwA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712608183; a=rsa-sha256; cv=none; b=BIrc3X+7uDAuiOcuDSEII9PEAmiuMg68YfPwPXptM6+ThDnXHB+t0AaO2+7+mvo1/TlMEy cRbDJUbRSA+ej3M9MRZ9p0qKKf2lbNSQX0Xfu/MdykBbNI4EGAkc2mGd4WTpZHMEBWDhdi ZWtIFBid5f02+N+hsxycq8QNL8dnTi8ctm2tYzOqcYHvb3mspf++DkYOQ7SEJyYViVLoHC YIXBjUyrjQkm4421JcRbQ8+qC4QNxevlLT3Z9ZSkawrk55DvFCZ5jdg9+zwgXYfoLT+9mL zfRPimirl4xpAa5RYi/Z+lWxudLnAwkI5zQlulIrsBe1JbOaRAqplTYOe2INvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J/YduWCkZwouVTT3HlKv7Ooi56crpIZr04F5p4Rb7Hs=; b=rePXawg9Ltgf5pkcLISdKFPbINAV2o33kbqeFj+qKgwE95MBS6diHNP7SnPlYw02aR/eRN ebCKeE5ELTWXgEvw/4cEozDMgoqgSuB55c2LcCm5GqD/3fQnZkWF/FAF4YAOx9VEdv/mE8 kyaHmUOI0gQwwvhgFj56TCUbWs9gOehKHUbBqhTdGhTbI9jUohFbRe5FYLmuQI68bOtLJ4 s8J/3a/IjtZB4q6jFV/3SlUY/0hFslI31ntbTjLaS4elIVDJNNrv7rtI3MoqS3hCnhvqGB N/Jpx4LoGBEicJ5/Zai0ub/untd7YetqiFgQ2f58WoSpd70hXxc2OvyMETS3Zw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD10l15rWzQg2; Mon, 8 Apr 2024 20:29:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438KThsC041618; Mon, 8 Apr 2024 20:29:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KThIr041615; Mon, 8 Apr 2024 20:29:43 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:29:43 GMT Message-Id: <202404082029.438KThIr041615@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: 3b7aa842e27d - main - sendfile: mark it explicitly as a TCP only feature 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: 3b7aa842e27dcf07181f161b1abde0067ed51e97 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=3b7aa842e27dcf07181f161b1abde0067ed51e97 commit 3b7aa842e27dcf07181f161b1abde0067ed51e97 Author: Gleb Smirnoff AuthorDate: 2024-04-08 20:16:51 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-08 20:16:51 +0000 sendfile: mark it explicitly as a TCP only feature Back in 2015 when it turned non-blocking, it was working with PF_UNIX and it may still work. However, the usefullness of such application of sendfile(2) is questionable. Disable the feature while unix/stream is under refactoring. Relnotes: yes --- sys/kern/kern_sendfile.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/sys/kern/kern_sendfile.c b/sys/kern/kern_sendfile.c index 323e7fcde07b..071c2fbbd436 100644 --- a/sys/kern/kern_sendfile.c +++ b/sys/kern/kern_sendfile.c @@ -649,20 +649,16 @@ sendfile_getsock(struct thread *td, int s, struct file **sock_fp, *sock_fp = NULL; *so = NULL; - /* - * The socket must be a stream socket and connected. - */ error = getsock(td, s, &cap_send_rights, sock_fp); if (error != 0) return (error); *so = (*sock_fp)->f_data; - if ((*so)->so_type != SOCK_STREAM) - return (EINVAL); /* - * SCTP one-to-one style sockets currently don't work with - * sendfile(). So indicate EINVAL for now. + * sendfile(2) should be supported for every SOCK_STREAM socket. + * However, the support of PF_UNIX/SOCK_STREAM is temporarily degraded + * and IPPROTO_SCTP isn't supported, yet. */ - if ((*so)->so_proto->pr_protocol == IPPROTO_SCTP) + if ((*so)->so_proto->pr_protocol != IPPROTO_TCP) return (EINVAL); return (0); } From nobody Mon Apr 8 20:29:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD10m4lRKz5HjSC; Mon, 8 Apr 2024 20:29: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 4VD10m2Xllz462V; Mon, 8 Apr 2024 20:29:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8mNBDFZ5fTgMm6IMl7L3yVrAF2rN64iP2khBwehkMVk=; b=ZnUMFeyOglZY9YbII4Krzz0UsNtexVOqxk/lX4oDQPDELB8OieLOUtCoTkIHK+90KPdPZ5 3+BbP7wVuPDHyl6JcmKBaBchH6ev+GJrn9iRjy/oHBi2jVBnWWlwFuyXjvZ6fSgy0smxqb C/o2lOcn6+pF9hAh1TvIV+HbSZiGYBstlHwZzVltlBoxocAqAgdmMSjQP3A+cX1r9DN3O1 LOB1R8vPbbkh7EwAiHhJ65/ZRiHLNI6rmIs5tUkiKwvbcz9BeVnJwKoLCvnHD3/9Z6wE/B NxAZTMtZ8hJF14hVntQ03J6pDec+GBlIwO/wuMWEjRAqH3++BfA1uJou1ylJAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712608184; a=rsa-sha256; cv=none; b=jPm+AMchAQ63ekczy5mJPrmiSM0gIcjSz2Zta7ZBThDM9MVVUxNSqPM5a8S4mRMzzcdhDB AAG2YgQwz323adaXJjIO4rv23KLcMJ8BMu9zy8032ri+TtlfVHzh77Vw3tT+fNJWIqf9Wk lvj4QUUpAaY9PiLEhd6R6cyk7ZxkFVqjxSaOyXFpg1bMkxyEzglSh/PBxdM13KHF6SuE5w 0JMOLgho28x9mjqPJ9FFaJM6TL038sgZkWYaUl0c0Jc+A0UXF0kvzubluZVCBai3YQsMbP 8XJnBtZ2j1/BaRyUgYXKdBlo79nc+Ehr/RY6Aw+jA0rrzrgSpTJu1OyliKRK0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8mNBDFZ5fTgMm6IMl7L3yVrAF2rN64iP2khBwehkMVk=; b=QGy6nSVUP9MFKiS1046i2gSZuEY8+JSB39YFpcSmJWdwoLAhETzGZg+WYEJgnXtMX8+PM3 0cqMocmtfdFAVMkqOh4I8322yUwcHhSsjhBypKF4Lpl7H+u2LMbG09Qc4+2Sf6mg+iPMdJ p1r5/5t/9LFJ+K+6Z+qtITzCAIzr77K0YzPZAlcaNaJncQkwRtP73qVExmrQKNU5AO/qzv v3xwHRry+JCfNiiYphJSxYFj6SCO7cxN/WZQwhlyZQNF422CQWMp7G71THzTs1bcjAhsma 6Zx7cvOum5kWcYNM5RPDo405U+YfEnm03KBjXS8UXeD0PGGirMCQ7UHzr11hCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD10m29NTzQ29; Mon, 8 Apr 2024 20:29:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438KTiwD041678; Mon, 8 Apr 2024 20:29:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KTi5x041675; Mon, 8 Apr 2024 20:29:44 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:29:44 GMT Message-Id: <202404082029.438KTi5x041675@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: ab8a51c45586 - main - mbuf: provide new type for mbuf manipulation - mbuf chain 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: ab8a51c455863d8c7df6155fae3fe2edd507d100 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=ab8a51c455863d8c7df6155fae3fe2edd507d100 commit ab8a51c455863d8c7df6155fae3fe2edd507d100 Author: Gleb Smirnoff AuthorDate: 2024-04-08 20:16:51 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-08 20:16:51 +0000 mbuf: provide new type for mbuf manipulation - mbuf chain It tracks both the first mbuf and last mbuf, making it handy to use inside functions that are interested in both. It also tracks length of data and memory usage. It can be allocated on stack and passed to an mbuf allocation or another mbuf manipulation function. It can be embedded into some kernel facility internal structure representing most simple data buffer. It uses modern queue(3) based linkage, but is also compatible with old style m_next linkage. Transitioning older code to new type can be done gradually - a code that doesn't understand the chain yet, can be supplied with STAILQ_FIRST(&mc.mc_q). So you can have a mix of old style and new style code in one function as a temporary solution. Reviewed by: markj, tuexen Differential Revision: https://reviews.freebsd.org/D44147 --- sys/sys/mbuf.h | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index b84898fc268e..823b56295c2f 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -1555,6 +1555,10 @@ uint32_t m_infiniband_tcpip_hash(const uint32_t, const struct mbuf *, uint32_t); #define M_PROFILE(m) #endif +/* + * Structure describing a packet queue: mbufs linked by m_stailqpkt. + * Does accounting of number of packets and has a cap. + */ struct mbufq { STAILQ_HEAD(, mbuf) mq_head; int mq_len; @@ -1672,6 +1676,116 @@ mbufq_concat(struct mbufq *mq_dst, struct mbufq *mq_src) mq_src->mq_len = 0; } +/* + * Structure describing a chain of mbufs linked by m_stailq, also tracking + * the pointer to the last. Also does accounting of data length and memory + * usage. + * To be used as an argument to mbuf chain allocation and manipulation KPIs, + * and can be allocated on the stack of a caller. Kernel facilities may use + * it internally as a most simple implementation of a stream data buffer. + */ +struct mchain { + STAILQ_HEAD(, mbuf) mc_q; + u_int mc_len; + u_int mc_mlen; +}; + +#define MCHAIN_INITIALIZER(mc) \ + (struct mchain){ .mc_q = STAILQ_HEAD_INITIALIZER((mc)->mc_q) } + +static inline struct mbuf * +mc_first(struct mchain *mc) +{ + return (STAILQ_FIRST(&mc->mc_q)); +} + +static inline struct mbuf * +mc_last(struct mchain *mc) +{ + return (STAILQ_LAST(&mc->mc_q, mbuf, m_stailq)); +} + +static inline bool +mc_empty(struct mchain *mc) +{ + return (STAILQ_EMPTY(&mc->mc_q)); +} + +/* Account addition of m to mc. */ +static inline void +mc_inc(struct mchain *mc, struct mbuf *m) +{ + mc->mc_len += m->m_len; + mc->mc_mlen += MSIZE; + if (m->m_flags & M_EXT) + mc->mc_mlen += m->m_ext.ext_size; +} + +/* Account removal of m from mc. */ +static inline void +mc_dec(struct mchain *mc, struct mbuf *m) +{ + MPASS(mc->mc_len >= m->m_len); + mc->mc_len -= m->m_len; + MPASS(mc->mc_mlen >= MSIZE); + mc->mc_mlen -= MSIZE; + if (m->m_flags & M_EXT) { + MPASS(mc->mc_mlen >= m->m_ext.ext_size); + mc->mc_mlen -= m->m_ext.ext_size; + } +} + +/* + * Get mchain from a classic mbuf chain linked by m_next. Two hacks here: + * we use the fact that m_next is alias to m_stailq, we use internal queue(3) + * fields. + */ +static inline void +mc_init_m(struct mchain *mc, struct mbuf *m) +{ + struct mbuf *last; + + STAILQ_FIRST(&mc->mc_q) = m; + mc->mc_len = mc->mc_mlen = 0; + STAILQ_FOREACH(m, &mc->mc_q, m_stailq) { + mc_inc(mc, m); + last = m; + } + mc->mc_q.stqh_last = &STAILQ_NEXT(last, m_stailq); +} + +static inline void +mc_freem(struct mchain *mc) +{ + if (!mc_empty(mc)) + m_freem(mc_first(mc)); +} + +static inline void +mc_prepend(struct mchain *mc, struct mbuf *m) +{ + STAILQ_INSERT_HEAD(&mc->mc_q, m, m_stailq); + mc_inc(mc, m); +} + +static inline void +mc_append(struct mchain *mc, struct mbuf *m) +{ + STAILQ_INSERT_TAIL(&mc->mc_q, m, m_stailq); + mc_inc(mc, m); +} + +/* + * Note: STAILQ_REMOVE() is expensive. mc_remove_after() needs to be provided + * as long as there consumers that would benefit from it. + */ +static inline void +mc_remove(struct mchain *mc, struct mbuf *m) +{ + STAILQ_REMOVE(&mc->mc_q, m, mbuf, m_stailq); + mc_dec(mc, m); +} + #ifdef _SYS_TIMESPEC_H_ static inline void mbuf_tstmp2timespec(struct mbuf *m, struct timespec *ts) From nobody Mon Apr 8 20:29:45 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD10n6bVYz5HjPq; Mon, 8 Apr 2024 20:29: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 4VD10n3dwMz4602; Mon, 8 Apr 2024 20:29:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FnxIbTY7ZAI8aFN3M4WSzO7ErldGp7JIm94hjjxe6I0=; b=j/apGFezr9VJXf7Mv9P0Ap5mo1L4/SnkvIpneu8TY90Byry3JBtgFyG2CKOKXS+sJrQ/lt 9pq3okGwihjeegS/cTnJZG9Lwxgi64ywKKE8AmqipJQzzAmAdFPhA/w/LViITB8uOM3QCq KCFRSfg3S3+2aApFGHvCMlf4vs0lfcKW4uA1fxHfdrGTeZ7FJHy7ZdLfBXXR2J49cFGzyX A3cUipBe4uAhvmlp+1DMEOETyIsbqxH2N6d2OYj2QbUO48dXwEX3o/AIRS5u2Gvc4VsS15 v4GqDjHcktA7DT8jfjqrLFqlpwV2p1U0neXZ4xIb0JtYrTJIGvcfE5AJMdz/qw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712608185; a=rsa-sha256; cv=none; b=ENn3kc9lt/chHY1d1mwWLb9FauFiHVUcvSJvP0kAdEQ7sN6RqKj5IuTEhnwk8Bp83Jxi+y MAfPsIiN0KoDuVzdmQfDLz6elYyOlnqoOrVL1cJ4TSfJ2sxhcb6nxUjdWcH5X58Lm2dkYm A4UllvniMaGHPVD1kq4HSJB/+Ek3ziE8LZQHb41ychJqMkNI/CaO4PPc6f5uXRfR5Ik57G Ai053KY7fTUA0vxBCJUIbhWTRybwk7l5AU6BPZklLuWfGJag6jd2TrRNhR/OKu7DyoMZGv bcZM1pfJVzO9vlu5rNJps85Dd87H8DkPNn4TNtFp/QsxTBYtk3g6uXVbA3DO7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FnxIbTY7ZAI8aFN3M4WSzO7ErldGp7JIm94hjjxe6I0=; b=XdH2T3hm1mGuD3E0fUCTMCUwRVAK/HWsr/SXTFGsOydPoOSwA/vc/RK1tdjr+gAmYpLxyQ 8MWF8yjWy3wYmj6TY+0uhCNGUeHQ6W+Vz2AwHuIaCtb4VfwIi7jg78qmdjW4E7hwOraNSh X2SrtvTWu9UknvhOsCG7FC+tTJssvkwSBceDzSkxKu1StBo1oMqVhPbLYRWab0IT5t/eLp HKcoq70hIoVL7Ug88Zr6TOem1MxHObNUGR0CS6ijFEm4PWDrDVCVV1GrjNA40DLUaDbG5r cb04r5I947AfkcGa3w2pGiznM+1eOiAF0jf9N2CHh3b3W+KfSiOvEtf10qkM2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD10n3D22zQc9; Mon, 8 Apr 2024 20:29:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438KTjvm041732; Mon, 8 Apr 2024 20:29:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KTjOa041729; Mon, 8 Apr 2024 20:29:45 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:29:45 GMT Message-Id: <202404082029.438KTjOa041729@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: fd01798fc48d - main - mbuf: add mc_split() that works on two struct mchain 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: fd01798fc48d2e1dbf0eb42aaa97838515bc5268 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=fd01798fc48d2e1dbf0eb42aaa97838515bc5268 commit fd01798fc48d2e1dbf0eb42aaa97838515bc5268 Author: Gleb Smirnoff AuthorDate: 2024-04-08 20:16:51 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-08 20:16:51 +0000 mbuf: add mc_split() that works on two struct mchain It preserves tail points and all length/memory accounting, so that caller doesn't need to do any extra traversals. It doesn't respect M_PKTHDR but it may be improved if needed. It respects M_EOR, though. First consumer will be the new unix(4) SOCK_STREAM and SOCK_SEQPACKET. Also provide much more simple mc_concat() that glues two chains back. Reviewed by: markj Differentail Revision: https://reviews.freebsd.org/D44148 --- sys/kern/uipc_mbuf.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sys/sys/mbuf.h | 11 +++++++++ 2 files changed, 77 insertions(+) diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c index 5125ad902c34..2593238d5445 100644 --- a/sys/kern/uipc_mbuf.c +++ b/sys/kern/uipc_mbuf.c @@ -1108,6 +1108,72 @@ extpacket: m->m_next = NULL; return (n); } + +/* + * Partition mchain in two pieces, keeping len0 bytes in head and transferring + * remainder to tail. In case of failure, both chains to be left untouched. + * M_EOR is observed correctly. + * Resulting mbufs might be read-only. + */ +int +mc_split(struct mchain *head, struct mchain *tail, u_int len0, int wait) +{ + struct mbuf *m, *n; + u_int len, mlen, remain; + + MPASS(!(mc_first(head)->m_flags & M_PKTHDR)); + MBUF_CHECKSLEEP(wait); + + mlen = 0; + len = len0; + STAILQ_FOREACH(m, &head->mc_q, m_stailq) { + mlen += MSIZE; + if (m->m_flags & M_EXT) + mlen += m->m_ext.ext_size; + if (len > m->m_len) + len -= m->m_len; + else + break; + } + if (__predict_false(m == NULL)) { + *tail = MCHAIN_INITIALIZER(tail); + return (0); + } + remain = m->m_len - len; + if (remain > 0) { + if (__predict_false((n = m_get(wait, m->m_type)) == NULL)) + return (ENOMEM); + m_align(n, remain); + if (m->m_flags & M_EXT) { + n->m_data = m->m_data + len; + mb_dupcl(n, m); + } else + bcopy(mtod(m, char *) + len, mtod(n, char *), remain); + } + + /* XXXGL: need STAILQ_SPLIT */ + STAILQ_FIRST(&tail->mc_q) = STAILQ_NEXT(m, m_stailq); + tail->mc_q.stqh_last = head->mc_q.stqh_last; + tail->mc_len = head->mc_len - len0; + tail->mc_mlen = head->mc_mlen - mlen; + if (remain > 0) { + MPASS(n->m_len == 0); + mc_prepend(tail, n); + n->m_len = remain; + m->m_len -= remain; + if (m->m_flags & M_EOR) { + m->m_flags &= ~M_EOR; + n->m_flags |= M_EOR; + } + } + head->mc_q.stqh_last = &STAILQ_NEXT(m, m_stailq); + STAILQ_NEXT(m, m_stailq) = NULL; + head->mc_len = len0; + head->mc_mlen = mlen; + + return (0); +} + /* * Routine to copy from device local memory into mbufs. * Note that `off' argument is offset into first mbuf of target chain from diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index 823b56295c2f..a5af2291123b 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -1775,6 +1775,15 @@ mc_append(struct mchain *mc, struct mbuf *m) mc_inc(mc, m); } +static inline void +mc_concat(struct mchain *head, struct mchain *tail) +{ + STAILQ_CONCAT(&head->mc_q, &tail->mc_q); + head->mc_len += tail->mc_len; + head->mc_mlen += tail->mc_mlen; + tail->mc_len = tail->mc_mlen = 0; +} + /* * Note: STAILQ_REMOVE() is expensive. mc_remove_after() needs to be provided * as long as there consumers that would benefit from it. @@ -1786,6 +1795,8 @@ mc_remove(struct mchain *mc, struct mbuf *m) mc_dec(mc, m); } +int mc_split(struct mchain *, struct mchain *, u_int, int); + #ifdef _SYS_TIMESPEC_H_ static inline void mbuf_tstmp2timespec(struct mbuf *m, struct timespec *ts) From nobody Mon Apr 8 20:29:46 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD10q0DxXz5Hj5p; Mon, 8 Apr 2024 20:29: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 4VD10p4fXRz45v4; Mon, 8 Apr 2024 20:29:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XG99dqYeQcoe2qx8PHLOD/deL9YMK67bJmRotZuhVT8=; b=wYYy20NcfZJFEBSAv4jQlaNQgaxePURDPa/1YVBszIfS3E5ysfUA9shhPC+wTiqGxVEtWE 068YtCc7ieFbIofBkvJk+WL7hPckaOroGO2D2tqixeW9AN8reYLOp2fOfstRCWxGp1LT4P sEfY71HLTaw1Bz0v5N6Q7w3EwythIaD8C/NyJejjmY2LlIZeGVAs4aPkq1lODwy65BvYhH WhuwTxz5it+dktvBt1nL6gFKKMr5OjTTRggz7+oLftN+bzzjIYSZwIH5fLZu28V61ARlNn r0k5245ubd9Ose/LDa3svUxd5U67I1vG0pRlxTWgeAbSzdBreWItdPskchAp9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712608186; a=rsa-sha256; cv=none; b=EcW/9+1c/4OwRXp9u3AYosxeHXTbMP/v/8Y6gopksByaFThovOzEmnaEtC4Gq3fc7Fg6Wz rp9cFfQu0GVUH9hU87QU+s5Pf3ivRSNtmazTdt5mNqdnkkNUG9uISWU5hkAXehGcvkSj2D QXDXaWyM+3s+tV9BsfF7CoBYYDc3jntGjJm/6W8PeE6E62rNOiPzKT7ylvhRPeBbddifif uXgnEsc6YNb9ybYrpnKEbaGiHDS/3hkEscB/b3htKhT66qDNGtBJ81sjAaK2luuk9TnoXv Yn7fKbRMS7yw/+L4SxWSEBfyawIdqYFX2FhFqWwkCJXEZvmN+lCDbaK4pyfsjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XG99dqYeQcoe2qx8PHLOD/deL9YMK67bJmRotZuhVT8=; b=pdy+JgTFFyxhw7aEB2TtN3GfKJitWhxwJOImOKZIQj0c3yoR7Wh41PnPdUQiQGMRBlOAHh tmmT7QCKOztwmHzjFviSzXFPpEoYfwt4APF6u5WL1nL4j8Kze3No1Qj8NplUvl6Ff4UyIQ 1q41S16wJwKF9vJ4+tthHsQ89Aw/7RXSQK+L8sxdfwEW95UiIXTeMWS21jxu0hfSk24eCu cn/CNmyW+wKwfT7SU4vYaQ0TkpfvRwPjKSp9qexxIfn2GF0nDVLS2HLy/8mUZl8PdUNc62 X2HiRN4H8+uCvxV+xW+Iv4iNEdOfJhbEFVJ0v4kanUW10bW038bLbZr89ndLUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD10p4Gw6zPmJ; Mon, 8 Apr 2024 20:29:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438KTkvM041789; Mon, 8 Apr 2024 20:29:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KTkeN041787; Mon, 8 Apr 2024 20:29:46 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:29:46 GMT Message-Id: <202404082029.438KTkeN041787@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: 71f8702f49a7 - main - mbuf: provide mc_get() that allocates struct mchain of given length 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: 71f8702f49a7c3294429e227a2b07cc3a0c408c7 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=71f8702f49a7c3294429e227a2b07cc3a0c408c7 commit 71f8702f49a7c3294429e227a2b07cc3a0c408c7 Author: Gleb Smirnoff AuthorDate: 2024-04-08 20:16:51 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-08 20:16:51 +0000 mbuf: provide mc_get() that allocates struct mchain of given length Implement m_getm2(), which is widely used via m_getm() macro, as a wrapper around mc_get(). New code is advised to use mc_get(). Reviewed by: markj, tuexen Differential Revision: https://reviews.freebsd.org/D44149 --- sys/kern/kern_mbuf.c | 89 ++++++++++++++++++++++++++++++++-------------------- sys/sys/mbuf.h | 1 + 2 files changed, 56 insertions(+), 34 deletions(-) diff --git a/sys/kern/kern_mbuf.c b/sys/kern/kern_mbuf.c index 60c638735ec4..0df807e47bd6 100644 --- a/sys/kern/kern_mbuf.c +++ b/sys/kern/kern_mbuf.c @@ -1446,34 +1446,36 @@ m_getjcl(int how, short type, int flags, int size) } /* - * Allocate a given length worth of mbufs and/or clusters (whatever fits - * best) and return a pointer to the top of the allocated chain. If an - * existing mbuf chain is provided, then we will append the new chain - * to the existing one and return a pointer to the provided mbuf. + * Allocate mchain of a given length of mbufs and/or clusters (whatever fits + * best). May fail due to ENOMEM. In case of failure state of mchain is + * inconsistent. */ -struct mbuf * -m_getm2(struct mbuf *m, int len, int how, short type, int flags) +int +mc_get(struct mchain *mc, u_int length, int how, short type, int flags) { - struct mbuf *mb, *nm = NULL, *mtail = NULL; + struct mbuf *mb; + u_int progress; - KASSERT(len >= 0, ("%s: len is < 0", __func__)); + MPASS(length >= 0); - /* Validate flags. */ + *mc = MCHAIN_INITIALIZER(mc); flags &= (M_PKTHDR | M_EOR); - - /* Packet header mbuf must be first in chain. */ - if ((flags & M_PKTHDR) && m != NULL) - flags &= ~M_PKTHDR; + progress = 0; /* Loop and append maximum sized mbufs to the chain tail. */ - while (len > 0) { - mb = NULL; - if (len > MCLBYTES) { + do { + if (length - progress > MCLBYTES) { + /* + * M_NOWAIT here is intentional, it avoids blocking if + * the jumbop zone is exhausted. See 796d4eb89e2c and + * D26150 for more detail. + */ mb = m_getjcl(M_NOWAIT, type, (flags & M_PKTHDR), MJUMPAGESIZE); - } + } else + mb = NULL; if (mb == NULL) { - if (len >= MINCLSIZE) + if (length - progress >= MINCLSIZE) mb = m_getcl(how, type, (flags & M_PKTHDR)); else if (flags & M_PKTHDR) mb = m_gethdr(how, type); @@ -1485,31 +1487,50 @@ m_getm2(struct mbuf *m, int len, int how, short type, int flags) * allocated. */ if (mb == NULL) { - m_freem(nm); - return (NULL); + m_freem(mc_first(mc)); + return (ENOMEM); } } - /* Book keeping. */ - len -= M_SIZE(mb); - if (mtail != NULL) - mtail->m_next = mb; - else - nm = mb; - mtail = mb; - flags &= ~M_PKTHDR; /* Only valid on the first mbuf. */ - } + progress += M_SIZE(mb); + mc_append(mc, mb); + /* Only valid on the first mbuf. */ + flags &= ~M_PKTHDR; + } while (progress < length); if (flags & M_EOR) - mtail->m_flags |= M_EOR; /* Only valid on the last mbuf. */ + /* Only valid on the last mbuf. */ + mc_last(mc)->m_flags |= M_EOR; + + return (0); +} + +/* + * Allocate a given length worth of mbufs and/or clusters (whatever fits + * best) and return a pointer to the top of the allocated chain. If an + * existing mbuf chain is provided, then we will append the new chain + * to the existing one and return a pointer to the provided mbuf. + */ +struct mbuf * +m_getm2(struct mbuf *m, int len, int how, short type, int flags) +{ + struct mchain mc; + + /* Packet header mbuf must be first in chain. */ + if (m != NULL && (flags & M_PKTHDR)) + flags &= ~M_PKTHDR; + + if (__predict_false(mc_get(&mc, len, how, type, flags) != 0)) + return (NULL); /* If mbuf was supplied, append new chain to the end of it. */ if (m != NULL) { - for (mtail = m; mtail->m_next != NULL; mtail = mtail->m_next) - ; - mtail->m_next = nm; + struct mbuf *mtail; + + mtail = m_last(m); + mtail->m_next = mc_first(&mc); mtail->m_flags &= ~M_EOR; } else - m = nm; + m = mc_first(&mc); return (m); } diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index a5af2291123b..76c0005ae963 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -1795,6 +1795,7 @@ mc_remove(struct mchain *mc, struct mbuf *m) mc_dec(mc, m); } +int mc_get(struct mchain *, u_int, int, short, int); int mc_split(struct mchain *, struct mchain *, u_int, int); #ifdef _SYS_TIMESPEC_H_ From nobody Mon Apr 8 20:29:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD10r1wzvz5HjF7; Mon, 8 Apr 2024 20:29: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 4VD10q5jHLz463R; Mon, 8 Apr 2024 20:29:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2nhgzwLS2jhw8uuQNgx4oNmFQU3ccLEIWT5hk63m5IQ=; b=QkRxTIptYfW36yTL9FuRJ/L/E2AICP3ZxZI2HIOUKlOLAsMgWKvH7gwGRNc9PXFNgOWarS zY8LqsWXXXXtYxEwTOU1SUSRvAk5c1i4kAVuNs38UqnzK+4rvt9TAfF5gZ87kD2Z+GWLmQ jJsGmQg+kezqdVhsb2eQo4T0/KvAOpoS/4W+az1SxkeD8JU9wWPCT3v1kWyO7G9OoWmEYo YknPD7QxDU5JnSp1yNe/LMcv6Qy9P86sylaPU25D8nfkuGwF/IJEKf3jPMeN/J3XcxDNAP TUvBrmbYprpLeWE278f5sAY0XX8310qMIuBfC/yDWJLNPZ9g9c4WlvEJAyzc1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712608187; a=rsa-sha256; cv=none; b=Lo/TcevMqWKNK1pJefNyOzOGpqGXj0OEEwqtJP9P5mR56V7eAIOO+5NYHxXEnS9RWFiX/J A+RmBwOpQ0wJZBSV+dTwL7RF/FnEOOBq2Hy1u//64QHtRYKwMPIxRCDxx0kmSgPvEtE18T 1VPZy0K0A3tz+iVE17RNn6MZCh1U6tw3ZrDMiOktA58awShWxx6QKga0bQKet2PSVVB6M+ YoE3x6x7EYrcOCpHhOuR8cMe3494+rhQo8qQoMiyGYHqkuwNp54GUBlA1Tgd9dL1Q6+OXZ cw0yLM8HFJmK3Ii3Z6WMfLOhwbozKWDJDUlIt3NWmOR/rzuMCWGjwcpvPBIdfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2nhgzwLS2jhw8uuQNgx4oNmFQU3ccLEIWT5hk63m5IQ=; b=s+OI3N56dHueVfvKVQZsfpiO3CoSJmvhiyrG+nCIG1GXQN0V+L/OwtTsuWhUNFJoUNRykC vsyh0XouDLJqMU5jUKFG1p7zrnVq5yXn+kcwlYjm3is8u4NQQX8IgbtdPiQNVuWjW0dcrP XAelF2KO/xtJL2zhObuvxZ2umzDG0vkBN6zH+TVl245/GLBWvX/JnxpV54zxyJkvJZTOoo TSScd1SHUCyU3EauhRgkbioRWlT7DSPovyPsvTMP1RZAwab+pfvAnfM2lOtyrc/UJmlXui TjnMRux2XWx+h+oDH5NRDwtFpbOJKwDg3PrurmAIgisHuAaCU+17xkqUK7qA2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD10q5KqXzQS6; Mon, 8 Apr 2024 20:29:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438KTlGr041853; Mon, 8 Apr 2024 20:29:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KTlBE041850; Mon, 8 Apr 2024 20:29:47 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:29:47 GMT Message-Id: <202404082029.438KTlBE041850@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: aba79b0f4a3f - main - mbuf: provide mc_uiotomc() a function to copy from uio(9) to mchain 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: aba79b0f4a3f69f070ace6effd5700d65226bd20 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=aba79b0f4a3f69f070ace6effd5700d65226bd20 commit aba79b0f4a3f69f070ace6effd5700d65226bd20 Author: Gleb Smirnoff AuthorDate: 2024-04-08 20:16:51 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-08 20:16:51 +0000 mbuf: provide mc_uiotomc() a function to copy from uio(9) to mchain Implement m_uiotombuf() as a wrapper around mc_uiotomc(). The M_EXTPG is left untouched. The m_uiotombuf() is left as a compat KPI. New code should use either mc_uiotomc() or m_uiotombuf_nomap(). Reviewed by: markj, tuexen Differential Revision: https://reviews.freebsd.org/D44150 --- sys/kern/uipc_mbuf.c | 126 +++++++++++++++++++++++++++++++++------------------ sys/sys/mbuf.h | 1 + 2 files changed, 83 insertions(+), 44 deletions(-) diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c index 2593238d5445..f5f6db752883 100644 --- a/sys/kern/uipc_mbuf.c +++ b/sys/kern/uipc_mbuf.c @@ -1938,65 +1938,103 @@ failed: /* * Copy the contents of uio into a properly sized mbuf chain. + * A compat KPI. Users are recommended to use direct calls to backing + * functions. */ struct mbuf * -m_uiotombuf(struct uio *uio, int how, int len, int align, int flags) +m_uiotombuf(struct uio *uio, int how, int len, int lspace, int flags) { - struct mbuf *m, *mb; - int error, length; - ssize_t total; - int progress = 0; - if (flags & M_EXTPG) - return (m_uiotombuf_nomap(uio, how, len, align, flags)); + if (flags & M_EXTPG) { + /* XXX: 'lspace' magically becomes maxseg! */ + return (m_uiotombuf_nomap(uio, how, len, lspace, flags)); + } else if (__predict_false(uio->uio_resid + len == 0)) { + struct mbuf *m; - /* - * len can be zero or an arbitrary large value bound by - * the total data supplied by the uio. - */ - if (len > 0) - total = (uio->uio_resid < len) ? uio->uio_resid : len; + /* + * m_uiotombuf() is known to return zero length buffer, keep + * this compatibility. mc_uiotomc() won't do that. + */ + if (flags & M_PKTHDR) { + m = m_gethdr(how, MT_DATA); + m->m_pkthdr.memlen = MSIZE; + } else + m = m_get(how, MT_DATA); + if (m != NULL) + m->m_data += lspace; + return (m); + } else { + struct mchain mc; + int error; + + error = mc_uiotomc(&mc, uio, len, lspace, how, flags); + if (__predict_true(error == 0)) { + if (flags & M_PKTHDR) { + mc_first(&mc)->m_pkthdr.len = mc.mc_len; + mc_first(&mc)->m_pkthdr.memlen = mc.mc_mlen; + } + return (mc_first(&mc)); + } else + return (NULL); + } +} + +/* + * Copy the contents of uio into a properly sized mbuf chain. + * In case of failure state of mchain is inconsistent. + * @param length Limit copyout length. If 0 entire uio_resid is copied. + * @param lspace Provide leading space in the first mbuf in the chain. + */ +int +mc_uiotomc(struct mchain *mc, struct uio *uio, u_int length, u_int lspace, + int how, int flags) +{ + struct mbuf *mb; + u_int total; + int error; + + MPASS(lspace < MHLEN); + MPASS(UINT_MAX - lspace >= length); + MPASS(uio->uio_rw == UIO_WRITE); + MPASS(uio->uio_resid >= 0); + + if (length > 0) { + if (uio->uio_resid > length) { + total = length; + flags &= ~M_EOR; + } else + total = uio->uio_resid; + } else if (__predict_false(uio->uio_resid + lspace > UINT_MAX)) + return (EOVERFLOW); else total = uio->uio_resid; - /* - * The smallest unit returned by m_getm2() is a single mbuf - * with pkthdr. We can't align past it. - */ - if (align >= MHLEN) - return (NULL); + if (__predict_false(total + lspace == 0)) { + *mc = MCHAIN_INITIALIZER(mc); + return (0); + } - /* - * Give us the full allocation or nothing. - * If len is zero return the smallest empty mbuf. - */ - m = m_getm2(NULL, max(total + align, 1), how, MT_DATA, flags); - if (m == NULL) - return (NULL); - m->m_data += align; + error = mc_get(mc, total + lspace, how, MT_DATA, flags); + if (__predict_false(error)) + return (error); + mc_first(mc)->m_data += lspace; /* Fill all mbufs with uio data and update header information. */ - for (mb = m; mb != NULL; mb = mb->m_next) { - length = min(M_TRAILINGSPACE(mb), total - progress); - - error = uiomove(mtod(mb, void *), length, uio); - if (error) { - m_freem(m); - return (NULL); - } + STAILQ_FOREACH(mb, &mc->mc_q, m_stailq) { + u_int mlen; - mb->m_len = length; - progress += length; - if (flags & M_PKTHDR) { - m->m_pkthdr.len += length; - m->m_pkthdr.memlen += MSIZE; - if (mb->m_flags & M_EXT) - m->m_pkthdr.memlen += mb->m_ext.ext_size; + mlen = min(M_TRAILINGSPACE(mb), total - mc->mc_len); + error = uiomove(mtod(mb, void *), mlen, uio); + if (__predict_false(error)) { + mc_freem(mc); + return (error); } + mb->m_len = mlen; + mc->mc_len += mlen; } - KASSERT(progress == total, ("%s: progress != total", __func__)); + MPASS(mc->mc_len == total); - return (m); + return (0); } /* diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index 76c0005ae963..e13ba39c27aa 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -1797,6 +1797,7 @@ mc_remove(struct mchain *mc, struct mbuf *m) int mc_get(struct mchain *, u_int, int, short, int); int mc_split(struct mchain *, struct mchain *, u_int, int); +int mc_uiotomc(struct mchain *, struct uio *, u_int, u_int, int, int); #ifdef _SYS_TIMESPEC_H_ static inline void From nobody Mon Apr 8 20:29:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD10s0NVqz5HjBS; Mon, 8 Apr 2024 20:29: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 4VD10r6krYz469h; Mon, 8 Apr 2024 20:29:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7NrHtFnj8jSEMhC3NsLLA5RDQyO5Y8IcVs8f/TL25vc=; b=BJl78Ni7Yxr65mI1LxnKYZUBTT78kGZq2sOKIRA4EaMvvpm1O4XdqMrYhKlC8HKKYAbOMp diUKcLo1RXeb0YBjtggTFAwXJS5yjkz2VVZehrM18KJz4PoLkpFiuCeI45vRLZQT9fYYJp FBfXBuzhwN+ecT619dDQhFeuAjeUBlwEBlj63XEk957URyp9PruWuZXeIBRQa5Ed1JaGHM wKmJ5z99leQcdcYmD3BklTQ9j1Op6V8MvLsQ5DZJ66C8r1S8X5kxxRA8CcJvnY7k918L1W LAQobq5QIqeWu3v8J3hta9lhBAYbpEUK2h8Zz7mWS8y/9bSsCczVePWPEUCxtA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712608188; a=rsa-sha256; cv=none; b=wq0F14//0onkycO6RFfSEKHqCxlLf98HUcFYn0P6HCglaTadO+NWLPZn44YuNfFKG17F6z 9BYjxHqfvsJmC+ue6ThDNULRNlDGCBwY5L3O0fdP/BOGVDM5szWqWBpS3VwbROH+gjJwWg tieQ5VtB3g161Crexatysi4/4p2pUCldTpvnMUjaWZDLJOnHVQYxeprdgQDf5tcTbJVf6v +4XssA6EW/lfiTgr5WEt67SDZoEiDxfWliJLcF5lSwkp5ad0R43PrIG/9f9R36GTYv3nz5 8ZYa/8j1vXHGyZUmcYhqQO1mL+ZCPJWrDPTdot/5/5jOAdqmS/wXHSF+J4D6Ew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712608188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7NrHtFnj8jSEMhC3NsLLA5RDQyO5Y8IcVs8f/TL25vc=; b=DZRxSW/Vgb42/f5lh41IKRjXcv1laQvGKrTFnJmwB1yNJxHN0ZPV5ZXwEF1hkRQWlF2aKR tPsLI0UvuF/tj3TYlZ0wLy81LeVh38biewU8pg9eJ2h7ZjCaxfKTz+apy/FBuYiOKekQ9W EIZyllKnFR25iBuHN3j15p5IWhO9Pn7gZL3pPHRS6ibwFTWsZQNbZ0nH7imxsL1xsmKrsE Zs6CKRNaH4/s5s+rWTBhviLtvQRXIYfotpMwJZAGbuhpw2J2kgmgs7SGZgr2/67aWYl+S3 hcnTNnDXE66+mKJctDXRsWd3u70/xuPH6nSSdW15YxdrbXGVB1tyIVFT1imXsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD10r6JcfzQcX; Mon, 8 Apr 2024 20:29:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438KTm78041903; Mon, 8 Apr 2024 20:29:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KTmpR041900; Mon, 8 Apr 2024 20:29:48 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:29:48 GMT Message-Id: <202404082029.438KTmpR041900@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: d80a97def9a1 - main - unix: new implementation of unix/stream & unix/seqpacket 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: d80a97def9a1db6f07f5d2e68f7ad62b27918947 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=d80a97def9a1db6f07f5d2e68f7ad62b27918947 commit d80a97def9a1db6f07f5d2e68f7ad62b27918947 Author: Gleb Smirnoff AuthorDate: 2024-04-08 20:16:51 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-08 20:16:51 +0000 unix: new implementation of unix/stream & unix/seqpacket Provide protocol specific pr_sosend and pr_soreceive for PF_UNIX SOCK_STREAM sockets and implement SOCK_SEQPACKET sockets as an extension of SOCK_STREAM. The change meets three goals: get rid of unix(4) specific stuff in the generic socket code, provide a faster and robust unix/stream sockets and bring unix/seqpacket much closer to specification. Highlights follow: - The send buffer now is truly bypassed. Previously it was always empty, but the send(2) still needed to acquire its lock and do a variety of tricks to be woken up in the right time while sleeping on it. Now the only two things we care about in the send buffer is the I/O sx(9) lock that serializes operations and value of so_snd.sb_hiwat, which we can read without obtaining a lock. The sleep of a send(2) happens on the mutex of the receive buffer of the peer. A bulk send/recv of data with large socket buffers will make both syscalls just bounce between owning the receive buffer lock and copyin(9)/copyout(9), no other locks would be involved. - The implementation uses new mchain structure to manipulate mbuf chains. Note that this required converting to mchain two functions that are shared with unix/dgram: unp_internalize() and unp_addsockcred() as well as adding a new shared one uipc_process_kernel_mbuf(). This induces some non- functional changes in the unix/dgram code as well. There is a space for improvement here, as right now it is a mix of mchain and manually managed mbuf chains. - unix/seqpacket previously marked as PR_ADDR & PR_ATOMIC and thus treated as a datagram socket by the generic socket code, now becomes a true stream socket with record markers. - unix/stream loses the sendfile(2) support. This can be brought back, but requires some work. Let's first see if there is any interest in this feature, except purely academical. Reviewed by: markj, tuexen Differential Revision: https://reviews.freebsd.org/D44151 --- sys/kern/uipc_usrreq.c | 956 +++++++++++++++++++++++++++++++++---------------- sys/sys/sockbuf.h | 7 + 2 files changed, 645 insertions(+), 318 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 6e83e2be6f05..1b9416269696 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -5,7 +5,7 @@ * The Regents of the University of California. All Rights Reserved. * Copyright (c) 2004-2009 Robert N. M. Watson All Rights Reserved. * Copyright (c) 2018 Matthew Macy - * Copyright (c) 2022 Gleb Smirnoff + * Copyright (c) 2022-2024 Gleb Smirnoff * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -141,11 +141,14 @@ static struct timeout_task unp_gc_task; static struct task unp_defer_task; /* - * Both send and receive buffers are allocated PIPSIZ bytes of buffering for - * stream sockets, although the total for sender and receiver is actually - * only PIPSIZ. + * SOCK_STREAM and SOCK_SEQPACKET unix(4) sockets fully bypass the send buffer, + * however the notion of send buffer still makes sense with them. Its size is + * the amount of space that a send(2) syscall may copyin(9) before checking + * with the receive buffer of a peer. Although not linked anywhere yet, + * pointed to by a stack variable, effectively it is a buffer that needs to be + * sized. * - * Datagram sockets really use the sendspace as the maximum datagram size, + * SOCK_DGRAM sockets really use the sendspace as the maximum datagram size, * and don't really want to reserve the sendspace. Their recvspace should be * large enough for at least one max-size datagram plus address. */ @@ -156,7 +159,7 @@ static u_long unpst_sendspace = PIPSIZ; static u_long unpst_recvspace = PIPSIZ; static u_long unpdg_maxdgram = 8*1024; /* support 8KB syslog msgs */ static u_long unpdg_recvspace = 16*1024; -static u_long unpsp_sendspace = PIPSIZ; /* really max datagram size */ +static u_long unpsp_sendspace = PIPSIZ; static u_long unpsp_recvspace = PIPSIZ; static SYSCTL_NODE(_net, PF_LOCAL, local, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, @@ -300,13 +303,12 @@ static void unp_gc(__unused void *, int); static void unp_scan(struct mbuf *, void (*)(struct filedescent **, int)); static void unp_discard(struct file *); static void unp_freerights(struct filedescent **, int); -static int unp_internalize(struct mbuf **, struct thread *, - struct mbuf **, u_int *, u_int *); +static int unp_internalize(struct mbuf *, struct mchain *, + struct thread *); static void unp_internalize_fp(struct file *); static int unp_externalize(struct mbuf *, struct mbuf **, int); static int unp_externalize_fp(struct file *); -static struct mbuf *unp_addsockcred(struct thread *, struct mbuf *, - int, struct mbuf **, u_int *, u_int *); +static void unp_addsockcred(struct thread *, struct mchain *, int); static void unp_process_defers(void * __unused, int); static void @@ -449,6 +451,7 @@ uipc_attach(struct socket *so, int proto, struct thread *td) case SOCK_STREAM: sendspace = unpst_sendspace; recvspace = unpst_recvspace; + STAILQ_INIT(&so->so_rcv.sb_mbq); break; case SOCK_DGRAM: @@ -466,6 +469,7 @@ uipc_attach(struct socket *so, int proto, struct thread *td) case SOCK_SEQPACKET: sendspace = unpsp_sendspace; recvspace = unpsp_recvspace; + STAILQ_INIT(&so->so_rcv.sb_mbq); break; default: @@ -797,6 +801,10 @@ uipc_detach(struct socket *so) taskqueue_enqueue_timeout(taskqueue_thread, &unp_gc_task, -1); switch (so->so_type) { + case SOCK_STREAM: + case SOCK_SEQPACKET: + MPASS(STAILQ_EMPTY(&so->so_rcv.sb_mbq)); + break; case SOCK_DGRAM: /* * Everything should have been unlinked/freed by unp_dispose() @@ -852,6 +860,10 @@ uipc_listen(struct socket *so, int backlog, struct thread *td) error = solisten_proto_check(so); if (error == 0) { cru2xt(td, &unp->unp_peercred); + (void)chgsbsize(so->so_cred->cr_uidinfo, &so->so_snd.sb_hiwat, + 0, RLIM_INFINITY); + (void)chgsbsize(so->so_cred->cr_uidinfo, &so->so_rcv.sb_hiwat, + 0, RLIM_INFINITY); solisten_proto(so, backlog); } SOCK_UNLOCK(so); @@ -885,187 +897,563 @@ uipc_peeraddr(struct socket *so, struct sockaddr *ret) return (0); } -static int -uipc_rcvd(struct socket *so, int flags) +/* + * pr_sosend() called with mbuf instead of uio is a kernel thread. NFS, + * netgraph(4) and other subsystems can call into socket code. The + * function will condition the mbuf so that it can be safely put onto socket + * buffer and calculate its char count and mbuf count. + * + * Note: we don't support receiving control data from a kernel thread. Our + * pr_sosend methods have MPASS() to check that. This may change. + */ +static void +uipc_reset_kernel_mbuf(struct mbuf *m, struct mchain *mc) { - struct unpcb *unp, *unp2; - struct socket *so2; - u_int mbcnt, sbcc; - unp = sotounpcb(so); - KASSERT(unp != NULL, ("%s: unp == NULL", __func__)); - KASSERT(so->so_type == SOCK_STREAM || so->so_type == SOCK_SEQPACKET, - ("%s: socktype %d", __func__, so->so_type)); + M_ASSERTPKTHDR(m); - /* - * Adjust backpressure on sender and wakeup any waiting to write. - * - * The unp lock is acquired to maintain the validity of the unp_conn - * pointer; no lock on unp2 is required as unp2->unp_socket will be - * static as long as we don't permit unp2 to disconnect from unp, - * which is prevented by the lock on unp. We cache values from - * so_rcv to avoid holding the so_rcv lock over the entire - * transaction on the remote so_snd. - */ - SOCKBUF_LOCK(&so->so_rcv); - mbcnt = so->so_rcv.sb_mbcnt; - sbcc = sbavail(&so->so_rcv); - SOCKBUF_UNLOCK(&so->so_rcv); - /* - * There is a benign race condition at this point. If we're planning to - * clear SB_STOP, but uipc_send is called on the connected socket at - * this instant, it might add data to the sockbuf and set SB_STOP. Then - * we would erroneously clear SB_STOP below, even though the sockbuf is - * full. The race is benign because the only ill effect is to allow the - * sockbuf to exceed its size limit, and the size limits are not - * strictly guaranteed anyway. - */ - UNP_PCB_LOCK(unp); - unp2 = unp->unp_conn; - if (unp2 == NULL) { - UNP_PCB_UNLOCK(unp); - return (0); + m_clrprotoflags(m); + m_tag_delete_chain(m, NULL); + m->m_pkthdr.rcvif = NULL; + m->m_pkthdr.flowid = 0; + m->m_pkthdr.csum_flags = 0; + m->m_pkthdr.fibnum = 0; + m->m_pkthdr.rsstype = 0; + + mc_init_m(mc, m); + MPASS(m->m_pkthdr.len == mc->mc_len); +} + +#ifdef SOCKBUF_DEBUG +static inline void +uipc_stream_sbcheck(struct sockbuf *sb) +{ + struct mbuf *d; + u_int dcc, dctl, dmbcnt; + + dcc = dctl = dmbcnt = 0; + STAILQ_FOREACH(d, &sb->sb_mbq, m_stailq) { + if (d->m_type == MT_CONTROL) + dctl += d->m_len; + else if (d->m_type == MT_DATA) + dcc += d->m_len; + else + MPASS(0); + dmbcnt += MSIZE; + if (d->m_flags & M_EXT) + dmbcnt += d->m_ext.ext_size; + if (d->m_stailq.stqe_next == NULL) + MPASS(sb->sb_mbq.stqh_last == &d->m_stailq.stqe_next); } - so2 = unp2->unp_socket; - SOCKBUF_LOCK(&so2->so_snd); - if (sbcc < so2->so_snd.sb_hiwat && mbcnt < so2->so_snd.sb_mbmax) - so2->so_snd.sb_flags &= ~SB_STOP; - sowwakeup_locked(so2); - UNP_PCB_UNLOCK(unp); - return (0); + MPASS(dcc == sb->sb_acc); + MPASS(dcc == sb->sb_ccc); + MPASS(dctl == sb->sb_ctl); + MPASS(dmbcnt == sb->sb_mbcnt); +} +#define UIPC_STREAM_SBCHECK(sb) uipc_stream_sbcheck(sb) +#else +#define UIPC_STREAM_SBCHECK(sb) do {} while (0) +#endif + +/* + * uipc_stream_sbspace() returns how much a writer can send, limited by char + * count or mbuf memory use, whatever ends first. + * + * XXXGL: sb_mbcnt may overcommit sb_mbmax in case if previous write observed + * 'space < mbspace', but mchain allocated to hold 'space' bytes of data ended + * up with 'mc_mlen > mbspace'. A typical scenario would be a full buffer with + * writer trying to push in a large write, and a slow reader, that reads just + * a few bytes at a time. In that case writer will keep creating new mbufs + * with mc_split(). These mbufs will carry little chars, but will all point at + * the same cluster, thus each adding cluster size to sb_mbcnt. This means we + * will count same cluster many times potentially underutilizing socket buffer. + * We aren't optimizing towards ineffective readers. Classic socket buffer had + * the same "feature". + */ +static inline u_int +uipc_stream_sbspace(struct sockbuf *sb) +{ + u_int space, mbspace; + + MPASS(sb->sb_hiwat >= sb->sb_ccc + sb->sb_ctl); + space = sb->sb_hiwat - sb->sb_ccc - sb->sb_ctl; + if (__predict_true(sb->sb_mbmax >= sb->sb_mbcnt)) + mbspace = sb->sb_mbmax - sb->sb_mbcnt; + else + return (0); + + return (min(space, mbspace)); } static int -uipc_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *nam, - struct mbuf *control, struct thread *td) +uipc_sosend_stream_or_seqpacket(struct socket *so, struct sockaddr *addr, + struct uio *uio, struct mbuf *m, struct mbuf *c, int flags, + struct thread *td) { struct unpcb *unp, *unp2; struct socket *so2; - u_int mbcnt, sbcc; + struct sockbuf *sb; + struct mchain mc, cmc; + ssize_t resid, sent; + bool nonblock, eor; int error; - unp = sotounpcb(so); - KASSERT(unp != NULL, ("%s: unp == NULL", __func__)); - KASSERT(so->so_type == SOCK_STREAM || so->so_type == SOCK_SEQPACKET, - ("%s: socktype %d", __func__, so->so_type)); + MPASS((uio != NULL && m == NULL) || (m != NULL && uio == NULL)); + MPASS(m == NULL || c == NULL); - error = 0; - if (flags & PRUS_OOB) { + if (__predict_false(flags & MSG_OOB)) { error = EOPNOTSUPP; - goto release; + goto out; } - if (control != NULL && - (error = unp_internalize(&control, td, NULL, NULL, NULL))) - goto release; - unp2 = NULL; - if ((so->so_state & SS_ISCONNECTED) == 0) { - if (nam != NULL) { - if ((error = unp_connect(so, nam, td)) != 0) - goto out; - } else { - error = ENOTCONN; + nonblock = (so->so_state & SS_NBIO) || + (flags & (MSG_DONTWAIT | MSG_NBIO)); + eor = flags & MSG_EOR; + + mc = MCHAIN_INITIALIZER(&mc); + cmc = MCHAIN_INITIALIZER(&cmc); + sent = 0; + + if (m == NULL) { + if (c != NULL && (error = unp_internalize(c, &cmc, td))) goto out; - } - } + /* + * Optimization for a case when our send fits into the receive + * buffer - do the copyin before taking any locks, sized to our + * send buffer. Later copyins will also take into account + * space in the peer's receive buffer. + */ + resid = uio->uio_resid; + error = mc_uiotomc(&mc, uio, so->so_snd.sb_hiwat, 0, M_WAITOK, + eor ? M_EOR : 0); + if (__predict_false(error)) + goto out2; + } else + uipc_reset_kernel_mbuf(m, &mc); + + error = SOCK_IO_SEND_LOCK(so, SBLOCKWAIT(flags)); + if (error) + goto out2; + unp = sotounpcb(so); UNP_PCB_LOCK(unp); - if ((unp2 = unp_pcb_lock_peer(unp)) == NULL) { + unp2 = unp_pcb_lock_peer(unp); + if (__predict_false(so->so_error != 0)) { + error = so->so_error; + so->so_error = 0; UNP_PCB_UNLOCK(unp); - error = ENOTCONN; - goto out; - } else if (so->so_snd.sb_state & SBS_CANTSENDMORE) { - unp_pcb_unlock_pair(unp, unp2); - error = EPIPE; - goto out; + if (unp2 != NULL) + UNP_PCB_UNLOCK(unp2); + goto out3; } - UNP_PCB_UNLOCK(unp); - if ((so2 = unp2->unp_socket) == NULL) { - UNP_PCB_UNLOCK(unp2); - error = ENOTCONN; - goto out; + if (__predict_false(unp2 == NULL)) { + /* + * Different error code for a previously connected socket and + * a never connected one. The SS_ISDISCONNECTED is set in the + * unp_soisdisconnected() and is synchronized by the pcb lock. + */ + error = so->so_state & SS_ISDISCONNECTED ? EPIPE : ENOTCONN; + UNP_PCB_UNLOCK(unp); + goto out3; } - SOCKBUF_LOCK(&so2->so_rcv); + UNP_PCB_UNLOCK(unp); + if (unp2->unp_flags & UNP_WANTCRED_MASK) { /* * Credentials are passed only once on SOCK_STREAM and * SOCK_SEQPACKET (LOCAL_CREDS => WANTCRED_ONESHOT), or * forever (LOCAL_CREDS_PERSISTENT => WANTCRED_ALWAYS). */ - control = unp_addsockcred(td, control, unp2->unp_flags, NULL, - NULL, NULL); + unp_addsockcred(td, &cmc, unp2->unp_flags); unp2->unp_flags &= ~UNP_WANTCRED_ONESHOT; } /* - * Send to paired receive port and wake up readers. Don't - * check for space available in the receive buffer if we're - * attaching ancillary data; Unix domain sockets only check - * for space in the sending sockbuf, and that check is - * performed one level up the stack. At that level we cannot - * precisely account for the amount of buffer space used - * (e.g., because control messages are not yet internalized). + * Cycle through the data to send and available space in the peer's + * receive buffer. Put a reference on the peer socket, so that it + * doesn't get freed while we sbwait(). If peer goes away, we will + * observe the SBS_CANTRCVMORE and our sorele() will finalize peer's + * socket destruction. */ - switch (so->so_type) { - case SOCK_STREAM: - if (control != NULL) { - sbappendcontrol_locked(&so2->so_rcv, - m->m_len > 0 ? m : NULL, control, flags); - control = NULL; - } else - sbappend_locked(&so2->so_rcv, m, flags); - break; + so2 = unp2->unp_socket; + soref(so2); + UNP_PCB_UNLOCK(unp2); + sb = &so2->so_rcv; + while (mc.mc_len + cmc.mc_len > 0) { + struct mchain mcnext = MCHAIN_INITIALIZER(&mcnext); + u_int space; - case SOCK_SEQPACKET: - if (sbappendaddr_nospacecheck_locked(&so2->so_rcv, - &sun_noname, m, control)) - control = NULL; - break; + SOCK_RECVBUF_LOCK(so2); +restart: + UIPC_STREAM_SBCHECK(sb); + if (__predict_false(cmc.mc_len > sb->sb_hiwat)) { + SOCK_RECVBUF_UNLOCK(so2); + error = EMSGSIZE; + goto out4; + } + if (__predict_false(sb->sb_state & SBS_CANTRCVMORE)) { + SOCK_RECVBUF_UNLOCK(so2); + error = EPIPE; + goto out4; + } + /* + * Wait on the peer socket receive buffer until we have enough + * space to put at least control. The data is a stream and can + * be put partially, but control is really a datagram. + */ + space = uipc_stream_sbspace(sb); + if (space < sb->sb_lowat || space < cmc.mc_len) { + if (nonblock) { + SOCK_RECVBUF_UNLOCK(so2); + error = EWOULDBLOCK; + goto out4; + } + if ((error = sbwait(so2, SO_RCV)) != 0) { + SOCK_RECVBUF_UNLOCK(so2); + goto out4; + } else + goto restart; + } + MPASS(space >= cmc.mc_len); + space -= cmc.mc_len; + if (space == 0) { + /* There is space only to send control. */ + MPASS(!STAILQ_EMPTY(&cmc.mc_q)); + mcnext = mc; + mc = MCHAIN_INITIALIZER(&mc); + } else if (space < mc.mc_len) { + /* Not enough space. */ + if (__predict_false(mc_split(&mc, &mcnext, space, + M_NOWAIT) == ENOMEM)) { + /* + * If allocation failed use M_WAITOK and merge + * the chain back. Next time mc_split() will + * easily split at the same place. Only if we + * race with setsockopt(SO_RCVBUF) shrinking + * sb_hiwat can this happen more than once. + */ + SOCK_RECVBUF_UNLOCK(so2); + (void)mc_split(&mc, &mcnext, space, M_WAITOK); + mc_concat(&mc, &mcnext); + SOCK_RECVBUF_LOCK(so2); + goto restart; + } + MPASS(mc.mc_len == space); + } + if (!STAILQ_EMPTY(&cmc.mc_q)) { + STAILQ_CONCAT(&sb->sb_mbq, &cmc.mc_q); + sb->sb_ctl += cmc.mc_len; + sb->sb_mbcnt += cmc.mc_mlen; + cmc.mc_len = 0; + } + sent += mc.mc_len; + sb->sb_acc += mc.mc_len; + sb->sb_ccc += mc.mc_len; + sb->sb_mbcnt += mc.mc_mlen; + STAILQ_CONCAT(&sb->sb_mbq, &mc.mc_q); + UIPC_STREAM_SBCHECK(sb); + space = uipc_stream_sbspace(sb); + sorwakeup_locked(so2); + mc = mcnext; + if (STAILQ_EMPTY(&mc.mc_q) && + uio != NULL && uio->uio_resid > 0) { + /* + * Copyin sum of peer's receive buffer space and our + * sb_hiwat, which is our virtual send buffer size. + * See comment above unpst_sendspace declaration. + * We are reading sb_hiwat locklessly, cause a) we + * don't care about an application that does send(2) + * and setsockopt(2) racing internally, and for an + * application that does this in sequence we will see + * the correct value cause sbsetopt() uses buffer lock + * and we also have already acquired it at least once. + */ + error = mc_uiotomc(&mc, uio, space + + atomic_load_int(&so->so_snd.sb_hiwat), 0, M_WAITOK, + eor ? M_EOR : 0); + if (__predict_false(error)) + goto out4; + } } - mbcnt = so2->so_rcv.sb_mbcnt; - sbcc = sbavail(&so2->so_rcv); - if (sbcc) - sorwakeup_locked(so2); - else - SOCKBUF_UNLOCK(&so2->so_rcv); + MPASS(STAILQ_EMPTY(&mc.mc_q)); - /* - * The PCB lock on unp2 protects the SB_STOP flag. Without it, - * it would be possible for uipc_rcvd to be called at this - * point, drain the receiving sockbuf, clear SB_STOP, and then - * we would set SB_STOP below. That could lead to an empty - * sockbuf having SB_STOP set - */ - SOCKBUF_LOCK(&so->so_snd); - if (sbcc >= so->so_snd.sb_hiwat || mbcnt >= so->so_snd.sb_mbmax) - so->so_snd.sb_flags |= SB_STOP; - SOCKBUF_UNLOCK(&so->so_snd); - UNP_PCB_UNLOCK(unp2); - m = NULL; + td->td_ru.ru_msgsnd++; +out4: + sorele(so2); +out3: + SOCK_IO_SEND_UNLOCK(so); +out2: + if (!mc_empty(&cmc)) + unp_scan(mc_first(&cmc), unp_freerights); out: + mc_freem(&mc); + mc_freem(&cmc); + + if (uio != NULL) + uio->uio_resid = resid - sent; + + return (error); +} + +static int +uipc_soreceive_stream_or_seqpacket(struct socket *so, struct sockaddr **psa, + struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp) +{ + struct sockbuf *sb = &so->so_rcv; + struct mbuf *control, *m, *first, *last, *next; + u_int ctl, space, datalen, mbcnt, lastlen; + int error, flags; + bool nonblock, waitall, peek; + + MPASS(mp0 == NULL); + + if (psa != NULL) + *psa = NULL; + if (controlp != NULL) + *controlp = NULL; + + flags = flagsp != NULL ? *flagsp : 0; + nonblock = (so->so_state & SS_NBIO) || + (flags & (MSG_DONTWAIT | MSG_NBIO)); + peek = flags & MSG_PEEK; + waitall = (flags & MSG_WAITALL) && !peek; + /* - * PRUS_EOF is equivalent to pr_send followed by pr_shutdown. + * This check may fail only on a socket that never went through + * connect(2). We can check this locklessly, cause: a) for a new born + * socket we don't care about applications that may race internally + * between connect(2) and recv(2), and b) for a dying socket if we + * miss update by unp_sosidisconnected(), we would still get the check + * correct. For dying socket we would observe SBS_CANTRCVMORE later. */ - if (flags & PRUS_EOF) { - UNP_PCB_LOCK(unp); - socantsendmore(so); - unp_shutdown(unp); - UNP_PCB_UNLOCK(unp); + if (__predict_false((atomic_load_short(&so->so_state) & + (SS_ISCONNECTED|SS_ISDISCONNECTED)) == 0)) + return (ENOTCONN); + + error = SOCK_IO_RECV_LOCK(so, SBLOCKWAIT(flags)); + if (__predict_false(error)) + return (error); + +restart: + SOCK_RECVBUF_LOCK(so); + UIPC_STREAM_SBCHECK(sb); + while (sb->sb_acc < sb->sb_lowat && + (sb->sb_ctl == 0 || controlp == NULL)) { + if (so->so_error) { + error = so->so_error; + if (!peek) + so->so_error = 0; + SOCK_RECVBUF_UNLOCK(so); + SOCK_IO_RECV_UNLOCK(so); + return (error); + } + if (sb->sb_state & SBS_CANTRCVMORE) { + SOCK_RECVBUF_UNLOCK(so); + SOCK_IO_RECV_UNLOCK(so); + return (0); + } + if (nonblock) { + SOCK_RECVBUF_UNLOCK(so); + SOCK_IO_RECV_UNLOCK(so); + return (EWOULDBLOCK); + } + error = sbwait(so, SO_RCV); + if (error) { + SOCK_RECVBUF_UNLOCK(so); + SOCK_IO_RECV_UNLOCK(so); + return (error); + } } - if (control != NULL && error != 0) - unp_scan(control, unp_freerights); -release: - if (control != NULL) - m_freem(control); + MPASS(STAILQ_FIRST(&sb->sb_mbq)); + MPASS(sb->sb_acc > 0 || sb->sb_ctl > 0); + + mbcnt = 0; + ctl = 0; + first = STAILQ_FIRST(&sb->sb_mbq); + if (first->m_type == MT_CONTROL) { + control = first; + STAILQ_FOREACH_FROM(first, &sb->sb_mbq, m_stailq) { + if (first->m_type != MT_CONTROL) + break; + ctl += first->m_len; + mbcnt += MSIZE; + if (first->m_flags & M_EXT) + mbcnt += first->m_ext.ext_size; + } + } else + control = NULL; + /* - * In case of PRUS_NOTREADY, uipc_ready() is responsible - * for freeing memory. - */ - if (m != NULL && (flags & PRUS_NOTREADY) == 0) - m_freem(m); - return (error); + * Find split point for the next copyout. On exit from the loop: + * last == NULL - socket to be flushed + * last != NULL + * lastlen > last->m_len - uio to be filled, last to be adjusted + * lastlen == 0 - MT_CONTROL or M_EOR encountered + */ + space = uio->uio_resid; + datalen = 0; + for (m = first, last = NULL; m != NULL; m = STAILQ_NEXT(m, m_stailq)) { + if (m->m_type != MT_DATA) { + last = m; + lastlen = 0; + break; + } + if (space >= m->m_len) { + space -= m->m_len; + datalen += m->m_len; + mbcnt += MSIZE; + if (m->m_flags & M_EXT) + mbcnt += m->m_ext.ext_size; + if (m->m_flags & M_EOR) { + last = STAILQ_NEXT(m, m_stailq); + lastlen = 0; + flags |= MSG_EOR; + break; + } + } else { + datalen += space; + last = m; + lastlen = space; + break; + } + } + + UIPC_STREAM_SBCHECK(sb); + if (!peek) { + if (last == NULL) + STAILQ_INIT(&sb->sb_mbq); + else { + STAILQ_FIRST(&sb->sb_mbq) = last; + MPASS(last->m_len > lastlen); + last->m_len -= lastlen; + last->m_data += lastlen; + } + MPASS(sb->sb_acc >= datalen); + sb->sb_acc -= datalen; + sb->sb_ccc -= datalen; + MPASS(sb->sb_ctl >= ctl); + sb->sb_ctl -= ctl; + MPASS(sb->sb_mbcnt >= mbcnt); + sb->sb_mbcnt -= mbcnt; + UIPC_STREAM_SBCHECK(sb); + /* Mind the name. We are waking writer here, not reader. */ + sorwakeup_locked(so); + } else + SOCK_RECVBUF_UNLOCK(so); + + while (control != NULL && control->m_type == MT_CONTROL) { + if (!peek) { + struct mbuf *c; + + /* + * unp_externalize() failure must abort entire read(2). + * Such failure should also free the problematic + * control, so that socket is not left in a state + * where it can't progress forward with reading. + * Probability of such a failure is really low, so it + * is fine that we need to perform pretty complex + * operation here to reconstruct the buffer. + * XXXGL: unp_externalize() used to be + * dom_externalize() KBI and it frees whole chain, so + * we need to feed it with mbufs one by one. + */ + c = control; + control = STAILQ_NEXT(c, m_stailq); + STAILQ_NEXT(c, m_stailq) = NULL; + error = unp_externalize(c, controlp, flags); + if (__predict_false(error)) { + SOCK_RECVBUF_LOCK(so); + UIPC_STREAM_SBCHECK(sb); + MPASS(!(sb->sb_state & SBS_CANTRCVMORE)); + /* XXXGL: STAILQ_PREPEND */ + if (STAILQ_EMPTY(&sb->sb_mbq)) + STAILQ_INSERT_HEAD(&sb->sb_mbq, + control, m_stailq); + else + STAILQ_FIRST(&sb->sb_mbq) = control; + sb->sb_ctl = sb->sb_acc = sb->sb_ccc = + sb->sb_mbcnt = 0; + STAILQ_FOREACH(m, &sb->sb_mbq, m_stailq) { + if (m->m_type == MT_DATA) { + sb->sb_acc += m->m_len; + sb->sb_ccc += m->m_len; + } else { + sb->sb_ctl += m->m_len; + } + sb->sb_mbcnt += MSIZE; + if (m->m_flags & M_EXT) + sb->sb_mbcnt += + m->m_ext.ext_size; + } + UIPC_STREAM_SBCHECK(sb); + SOCK_RECVBUF_UNLOCK(so); + SOCK_IO_RECV_UNLOCK(so); + return (error); + } + if (controlp != NULL) { + while (*controlp != NULL) + controlp = &(*controlp)->m_next; + } + } else { + /* + * XXXGL + * + * In MSG_PEEK case control is not externalized. This + * means we are leaking some kernel pointers to the + * userland. They are useless to a law-abiding + * application, but may be useful to a malware. This + * is what the historical implementation in the + * soreceive_generic() did. To be improved? + */ + if (controlp != NULL) { + *controlp = m_copym(control, 0, control->m_len, + M_WAITOK); + controlp = &(*controlp)->m_next; + } + control = STAILQ_NEXT(control, m_stailq); + } + } + + for (m = first; m != last; m = next) { + next = STAILQ_NEXT(m, m_stailq); + error = uiomove(mtod(m, char *), m->m_len, uio); + if (__predict_false(error)) { + SOCK_IO_RECV_UNLOCK(so); + if (!peek) + for (; m != last; m = next) { + next = STAILQ_NEXT(m, m_stailq); + m_free(m); + } + return (error); + } + if (!peek) + m_free(m); + } + if (last != NULL && lastlen > 0) { + if (!peek) { + MPASS(!(m->m_flags & M_PKTHDR)); + MPASS(last->m_data - M_START(last) >= lastlen); + error = uiomove(mtod(last, char *) - lastlen, + lastlen, uio); + } else + error = uiomove(mtod(last, char *), lastlen, uio); + if (__predict_false(error)) { + SOCK_IO_RECV_UNLOCK(so); + return (error); + } + } + if (waitall && !(flags & MSG_EOR) && uio->uio_resid > 0) + goto restart; + SOCK_IO_RECV_UNLOCK(so); + + if (flagsp != NULL) + *flagsp |= flags; + + uio->uio_td->td_ru.ru_msgrcv++; + + return (0); } /* PF_UNIX/SOCK_DGRAM version of sbspace() */ @@ -1111,7 +1499,8 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, const struct sockaddr *from; struct socket *so2; struct sockbuf *sb; - struct mbuf *f, *clast; + struct mchain cmc = MCHAIN_INITIALIZER(&cmc); + struct mbuf *f; u_int cc, ctl, mbcnt; u_int dcc __diagused, dctl __diagused, dmbcnt __diagused; int error; @@ -1120,7 +1509,6 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, error = 0; f = NULL; - ctl = 0; if (__predict_false(flags & MSG_OOB)) { error = EOPNOTSUPP; @@ -1139,16 +1527,14 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, f = m_gethdr(M_WAITOK, MT_SONAME); cc = m->m_pkthdr.len; mbcnt = MSIZE + m->m_pkthdr.memlen; - if (c != NULL && - (error = unp_internalize(&c, td, &clast, &ctl, &mbcnt))) + if (c != NULL && (error = unp_internalize(c, &cmc, td))) goto out; } else { - /* pr_sosend() with mbuf usually is a kernel thread. */ - - M_ASSERTPKTHDR(m); - if (__predict_false(c != NULL)) - panic("%s: control from a kernel thread", __func__); + struct mchain mc; + uipc_reset_kernel_mbuf(m, &mc); + cc = mc.mc_len; + mbcnt = mc.mc_mlen; if (__predict_false(m->m_pkthdr.len > unpdg_maxdgram)) { error = EMSGSIZE; goto out; @@ -1157,22 +1543,6 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, error = ENOBUFS; goto out; } - /* Condition the foreign mbuf to our standards. */ - m_clrprotoflags(m); - m_tag_delete_chain(m, NULL); - m->m_pkthdr.rcvif = NULL; - m->m_pkthdr.flowid = 0; - m->m_pkthdr.csum_flags = 0; - m->m_pkthdr.fibnum = 0; - m->m_pkthdr.rsstype = 0; - - cc = m->m_pkthdr.len; - mbcnt = MSIZE; - for (struct mbuf *mb = m; mb != NULL; mb = mb->m_next) { - mbcnt += MSIZE; - if (mb->m_flags & M_EXT) - mbcnt += mb->m_ext.ext_size; - } } unp = sotounpcb(so); @@ -1224,8 +1594,7 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, } if (unp2->unp_flags & UNP_WANTCRED_MASK) - c = unp_addsockcred(td, c, unp2->unp_flags, &clast, &ctl, - &mbcnt); + unp_addsockcred(td, &cmc, unp2->unp_flags); if (unp->unp_addr != NULL) from = (struct sockaddr *)unp->unp_addr; else @@ -1233,25 +1602,21 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, f->m_len = from->sa_len; MPASS(from->sa_len <= MLEN); bcopy(from, mtod(f, void *), from->sa_len); - ctl += f->m_len; /* * Concatenate mbufs: from -> control -> data. * Save overall cc and mbcnt in "from" mbuf. */ - if (c != NULL) { -#ifdef INVARIANTS - struct mbuf *mc; - - for (mc = c; mc->m_next != NULL; mc = mc->m_next); - MPASS(mc == clast); -#endif - f->m_next = c; - clast->m_next = m; - c = NULL; + if (!STAILQ_EMPTY(&cmc.mc_q)) { + f->m_next = mc_first(&cmc); + mc_last(&cmc)->m_next = m; + /* XXXGL: This is dirty as well as rollback after ENOBUFS. */ + STAILQ_INIT(&cmc.mc_q); } else f->m_next = m; m = NULL; + ctl = f->m_len + cmc.mc_len; + mbcnt += cmc.mc_mlen; #ifdef INVARIANTS dcc = dctl = dmbcnt = 0; for (struct mbuf *mb = f; mb != NULL; mb = mb->m_next) { @@ -1317,7 +1682,7 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, soroverflow_locked(so2); error = ENOBUFS; if (f->m_next->m_type == MT_CONTROL) { - c = f->m_next; + STAILQ_FIRST(&cmc.mc_q) = f->m_next; f->m_next = NULL; } } @@ -1332,13 +1697,12 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, out3: SOCK_IO_SEND_UNLOCK(so); out2: - if (c) - unp_scan(c, unp_freerights); + if (!mc_empty(&cmc)) + unp_scan(mc_first(&cmc), unp_freerights); out: if (f) m_freem(f); - if (c) - m_freem(c); + mc_freem(&cmc); if (m) m_freem(m); @@ -1579,6 +1943,7 @@ uipc_soreceive_dgram(struct socket *so, struct sockaddr **psa, struct uio *uio, return (0); } *** 428 LINES SKIPPED *** From nobody Mon Apr 8 22:41:51 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD3xC40Y2z5Fyjx; Mon, 8 Apr 2024 22:41: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 4VD3xC3YzMz4Rsq; Mon, 8 Apr 2024 22:41:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712616111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AkkaD3xUXc+ihIRdVbPXHEUZM4ISj1p5f50t+7CmxVk=; b=cho6QedR24VPlV7XhAqZ65o6GQQz3/rCkvw64Z2gOMiNvrgfZzPP2+rD4vwQ6D3IJvkk6D wOZzy3fuI4CLOztov3KwqdzUJNfOyedLZUt5CEHSDFJR3oVCKNyo2i4p7QGxB+HN511+2n RijS0nhqTRsFMyHfsSQUFxBXoiIRjLfGrevAa9ozF/peh28C665Zy5Rh2H4iPnJ2Tj5rmx 5mefMOno63RvcWnopENDFbMu7tLOB+mtM4wOxBkP2aoKi6/ZRvdRhdj1tKiU+oHYaLFHTj 3pQ7KQ9JB/EzRy79vC2dGyhkdRXL0SiMgiFnF/bprbYcABkUm2O5cjhEYYPXOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712616111; a=rsa-sha256; cv=none; b=QxHnxhptD0yZwZFEGcqLF2lIWrWRQ88TSP/0+EkXRBeA2fPkzkoQrLelUbV7sAExxWKDld 8wDFciMpB/BnAOZ6rIPEmscKduT3q5mJNNKUlRF/qyqRyvYc86CkAGdaXy6eTGe7zvy1/P yysJxb0/ZUMvJcriD11M3+WKr6UhzXcuTMtUdKhXXTQqupmuaDLgGxxeZ5XlABwmi4AzlM G8kuST3QfzZPOv78c32tkwKF7bcP1Yve+jFdLgNyKSOWgphODff5vcaPU2TeOFjsjqNqpc JqFKius1Btj2XT57HRJ6BGmZyuNbP2DXNAcsWWKK/4epxrsql/Qwo4F2EtFnLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712616111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AkkaD3xUXc+ihIRdVbPXHEUZM4ISj1p5f50t+7CmxVk=; b=ZXSQ85jH/fJedp2BVBVJw9trJfolqym7HGHOKHtLmNSwVaCCIdSjOIKQ/aESp5LWeNqVz2 6uAyhf2pLlEshC0bbLrtjFye2pl9PYIAjzvrh3HiUaVRJd70G3aPgtTAAKJtbXrFhoViFG cPvTuK16OTt8brWMUe7HOQST0THNEDXcEj9ePc6J8QBGmfVvxb49g8sP7FMoVhdMqNA59s 7P9s2nbwwnEIV683QbSZ6WsqR585gmSCtB0N5QHO8vOythvWCHRkeKNsRfqdPUhmEfslOL yQ5KZVZ8BfDLc5rzIhITYvbWwmyAlmLEM4DUVPM24I0saWKGDZtLoQob+iVLAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD3xC2s8QzV7j; Mon, 8 Apr 2024 22:41:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 438MfpBX076124; Mon, 8 Apr 2024 22:41:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438Mfpgd076121; Mon, 8 Apr 2024 22:41:51 GMT (envelope-from git) Date: Mon, 8 Apr 2024 22:41:51 GMT Message-Id: <202404082241.438Mfpgd076121@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 0729d1e8fd90 - main - cp: Never follow symbolic links in destination. 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: 0729d1e8fd90afc2f19e9b9834533181caf6ddee Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=0729d1e8fd90afc2f19e9b9834533181caf6ddee commit 0729d1e8fd90afc2f19e9b9834533181caf6ddee Author: Dag-Erling Smørgrav AuthorDate: 2024-04-08 22:41:33 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-04-08 22:41:33 +0000 cp: Never follow symbolic links in destination. Historically, BSD cp has followed symbolic links in the destination when copying recursively, while GNU cp has not. POSIX is somewhat vague on the topic, but both interpretations are within bounds. In 33ad990ce974, cp was changed to apply the same logic for symbolic links in the destination as for symbolic links in the source: follow if not recursing (which is moot, as this situation can only arise while recursing) or if the `-L` option was given. There is no support for this in POSIX. We can either switch back, or go all the way. Having carefully weighed the kind of trouble you can run into by following unexpected symlinks up against the kind of trouble you can run into by not following symlinks you expected to follow, we choose to go all the way. Note that this means we need to stat the destination twice: once, following links, to check if it is or references the same file as the source, and a second time, not following links, to set the dne flag and determine the destination's type. While here, remove a needless complication in the dne logic. We don't need to explicitly reject overwriting a directory with a non-directory, because it will fail anyway. Finally, add test cases for copying a directory to a symlink and overwriting a directory with a non-directory. MFC after: never Relnotes: yes Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D44578 --- bin/cp/cp.c | 52 +++++++++++++------------------------------------ bin/cp/tests/cp_test.sh | 31 +++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 39 deletions(-) diff --git a/bin/cp/cp.c b/bin/cp/cp.c index 02b879006a4f..cee412e57264 100644 --- a/bin/cp/cp.c +++ b/bin/cp/cp.c @@ -260,22 +260,6 @@ main(int argc, char *argv[]) &to_stat))); } -/* Does the right thing based on -R + -H/-L/-P */ -static int -copy_stat(const char *path, struct stat *sb) -{ - - /* - * For -R -H/-P, we need to lstat() instead; copy() cares about the link - * itself rather than the target if we're not following links during the - * traversal. - */ - if (!Rflag || Lflag) - return (stat(path, sb)); - return (lstat(path, sb)); -} - - static int copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) { @@ -403,7 +387,6 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) continue; } - if (asprintf(&recurse_path, "%s/%s", to.p_path, rootname) == -1) err(1, "asprintf"); @@ -452,30 +435,21 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) continue; } - /* Not an error but need to remember it happened. */ - if (copy_stat(to.p_path, &to_stat) == -1) - dne = 1; - else { - if (to_stat.st_dev == curr->fts_statp->st_dev && - to_stat.st_ino == curr->fts_statp->st_ino) { - warnx("%s and %s are identical (not copied).", - to.p_path, curr->fts_path); - badcp = rval = 1; - if (S_ISDIR(curr->fts_statp->st_mode)) - (void)fts_set(ftsp, curr, FTS_SKIP); - continue; - } - if (!S_ISDIR(curr->fts_statp->st_mode) && - S_ISDIR(to_stat.st_mode)) { - warnx("cannot overwrite directory %s with " - "non-directory %s", - to.p_path, curr->fts_path); - badcp = rval = 1; - continue; - } - dne = 0; + /* Check if source and destination are identical. */ + if (stat(to.p_path, &to_stat) == 0 && + to_stat.st_dev == curr->fts_statp->st_dev && + to_stat.st_ino == curr->fts_statp->st_ino) { + warnx("%s and %s are identical (not copied).", + to.p_path, curr->fts_path); + badcp = rval = 1; + if (S_ISDIR(curr->fts_statp->st_mode)) + (void)fts_set(ftsp, curr, FTS_SKIP); + continue; } + /* Not an error but need to remember it happened. */ + dne = lstat(to.p_path, &to_stat) != 0; + switch (curr->fts_statp->st_mode & S_IFMT) { case S_IFLNK: /* Catch special case of a non-dangling symlink. */ diff --git a/bin/cp/tests/cp_test.sh b/bin/cp/tests/cp_test.sh index 397c06d75bbb..5c581e06ab8e 100755 --- a/bin/cp/tests/cp_test.sh +++ b/bin/cp/tests/cp_test.sh @@ -363,6 +363,35 @@ symlink_exists_force_body() atf_check -o inline:"foo\n" readlink bar } +atf_test_case directory_to_symlink +directory_to_symlink_body() +{ + mkdir -p foo + ln -s .. foo/bar + mkdir bar + touch bar/baz + atf_check -s not-exit:0 -e match:"Not a directory" \ + cp -R bar foo + atf_check -s not-exit:0 -e match:"Not a directory" \ + cp -r bar foo +} + +atf_test_case overwrite_directory +overwrite_directory_body() +{ + mkdir -p foo/bar/baz + touch bar + atf_check -s not-exit:0 -e match:"Is a directory" \ + cp bar foo + rm bar + mkdir bar + touch bar/baz + atf_check -s not-exit:0 -e match:"Is a directory" \ + cp -R bar foo + atf_check -s not-exit:0 -e match:"Is a directory" \ + cp -r bar foo +} + atf_init_test_cases() { atf_add_test_case basic @@ -388,4 +417,6 @@ atf_init_test_cases() atf_add_test_case symlink atf_add_test_case symlink_exists atf_add_test_case symlink_exists_force + atf_add_test_case directory_to_symlink + atf_add_test_case overwrite_directory } From nobody Tue Apr 9 00:03:55 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD5lv4jvbz5G6sg; Tue, 9 Apr 2024 00:03: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 4VD5lv4CZWz4Yvv; Tue, 9 Apr 2024 00:03:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712621035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Vmv2fRoXX3bFDmBG0wu2/YYQa0kem6PxbJQhrnRzsg=; b=jFXMjyacwEu2r4YOEkC2k+pR5OrlVdHVVRpjVDidMCa70ir6RviiUAIdI28UNEHrU4hJ9P YeTPKw4OAvi/JDNbHWtJlIM+7Io3j4XCz0VDDBe0vpudZyO43LKhhbo1aAFTVCl3rG4fGY IlXnmZX/NRIj53Kw+oBVj+OQjliSewpfa7WjZQwEXe3gSQGur85qfy40n1cGm7taU7MTQk iSI28+Pk5pptPrQsHGASrcWoMC1Q5ZMpTF0oUDEFPH7MCJE7GGnE1XsSC/s2KWFIQ8P9eK EGKhaVCm4ffum3F6C8+M+RQBpyl2kKvOOh0KVxFPKbHFLRE4hpI+PLSAtap1fQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712621035; a=rsa-sha256; cv=none; b=hHiTT6vZw/EooNdWVjKXTr5whwLoF4LeYovH7f/r8haB3uEvBv4/jnEHfyTGUEwI67qLdZ vEAUaPP5M3zZcm9atHypS/3dGhMTfrH/jkdTG7+rxSv96vWua9KCyiVQI7dZWlMbRoNPyd yMNXsUef6yW4Apydru0vhz/CdAgGKtozusQlheSmhHQbJHqXcRKAupVFgyx4UegyrFREFB JBcwJ+0YA1zBXRBAD98Wx7DTRgU/VR34cBMTDRK5Y7ofcoCxbJLEhWFg7EpXqsX8W++JIQ j/gGLbf/X9SbiqTyhnkPk3FIl7axusXoNgS5F6tIr4pFNylE0PNkEnJf4fdgIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712621035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Vmv2fRoXX3bFDmBG0wu2/YYQa0kem6PxbJQhrnRzsg=; b=eWCX7ypd9eS9HC8jsi2xzZgNH2LvcUWPL1gklNIAeeKS2Tl9mV4ZdTJpALxWnUer/T6YWR xzp3wVFCu8m7TJLc7vhMLPRUGxWN28+AF3wZOaw2JPfyD9j+8C5VI/exD30Wzy9T1oglzR XApQW95Pr54KFxu5LqEpb3Llboa7UbV+8kM7O+NqYFBDVrnSasxOInr5jOHclgegG0pHIS gYOjCLEdii1f9dkkdoF8+7pvm2khoe7WvzxVY0TQI12gRS3E+eCQ+8nwZ41XcULgiS/OYl VpPbRV3M13eCx1H9tF64It0iUoU6W246Twt9R3sUYR3xg2MmR0IfZpHuek0mug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD5lv3m4NzXSF; Tue, 9 Apr 2024 00:03:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43903tZ1014842; Tue, 9 Apr 2024 00:03:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43903tVC014839; Tue, 9 Apr 2024 00:03:55 GMT (envelope-from git) Date: Tue, 9 Apr 2024 00:03:55 GMT Message-Id: <202404090003.43903tVC014839@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: f7c4d12bcd5b - main - icmp: correct the assertion that checks limit + jitter 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: f7c4d12bcd5bd7f7fbf6bf9fa601c47e7f97bc5f Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=f7c4d12bcd5bd7f7fbf6bf9fa601c47e7f97bc5f commit f7c4d12bcd5bd7f7fbf6bf9fa601c47e7f97bc5f Author: Gleb Smirnoff AuthorDate: 2024-04-08 23:54:19 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-08 23:54:19 +0000 icmp: correct the assertion that checks limit + jitter Fixes: 4399e055ea610cdefa1470ad1ee614dd81ba5e56 --- sys/netinet/ip_icmp.c | 2 +- sys/netinet6/icmp6.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index a8ce2b4c1d6c..1149796c0db3 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1148,7 +1148,7 @@ sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) } } } - MPASS(V_icmplim + V_icmplim_curr_jitter > 0); + MPASS(V_icmplim + V_icmplim_curr_jitter >= 0); return (error); } diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index b4473a40be6a..c5e3334eca67 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2817,7 +2817,7 @@ sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) } } } - MPASS(V_icmp6errppslim + V_icmp6lim_curr_jitter > 0); + MPASS(V_icmp6errppslim + V_icmp6lim_curr_jitter >= 0); return (error); } From nobody Tue Apr 9 00:03:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD5lw5XkGz5G6sh; Tue, 9 Apr 2024 00: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 4VD5lw55dlz4Ysf; Tue, 9 Apr 2024 00: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=1712621036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TBapWDXLTlftrsbMBL9FBv55LA1QLJu1fszx/zUpmkI=; b=V44OxfCQ++CasgmEnr26KDueSBj3ajwPLyxH56byPTfhCoR//SvoEo0DI07jR/DAjid79n 0HOMfChng+tY/GpzsfUmHLeNoxwpqx1arUmkSV7rMicWD62qwsj0gU13HiZhWk76c9wxM8 WIekiU3E93qMb3DPw7lu9CGL6su3VPHMAHWO0MinzjtmsBLAuRqbJIIHqMmeKKDnzF4z2t u24pXra342Y0peTnB8pOqjR/J3mTdt/fVqfjXNF2lrUqxWSsrgADJWNP6JFlc8sjC0M9aO 1grvyjIuu1OBWJRb2VXgz+CD/8MMMxBSH5Kmdzjg7FKX43ucnLw/RpeIPtfdsw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712621036; a=rsa-sha256; cv=none; b=Uz411JnRFt3qbYsA9AL6MFql88/3qsC6NL57LbWb2eO/V7B/F5l1EzYiZczpUI60RkzKa7 DEermc1Ghwo/PSeBBDTcuI11i+WAG0W5ghBAKvfjfhCfigVzyQaq20pj8Rb1NI0+jibkoT 9U1KvN50xNIDApY+3Ca5vN4TV7CICwijF4dmQDdmPbwHkjoHDcRVlfb6xtvPcPmKcY30A7 LIS8R1bG35MN31gqWsKBVXurx96f36Gb2oMx7PlBpHQcF3rVTy9pMJu6/xYMCLbzpsPTr1 frc248rPFNs2x9hvy4fLNcOzltn2a3T8s1g6pZIBgHSrKYBuRQEFo5FwFVRToQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712621036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TBapWDXLTlftrsbMBL9FBv55LA1QLJu1fszx/zUpmkI=; b=vmbB87sNe+PHITeS7Spt7R78fhbLaxXFuwtAXOE0MwNHFChZgC9daXg/y96KRywpACzR4G fNcoQ04O6CcNhZWntEq2NtaZ+PqfRS5yZhoXcA19DHvHoEBIoXqy6Ue15Il8NCJY64cTMp sOLU5EreYQ/QST30ljC/4MBGEy6LJksiJ7P/Z2SRRLzZ0hMLxzWeseMyupQZTQgg576O/L R2vEggjNLif4tfSrMyAGNfTBa9eALIZgn3LpzIl+2+NeteBTUkgFBGgugKhEWRGalprT3g kRFfNlKBf42BKxKYbL9YGEnLWNT43mHpZz1ArckUOatdh/+IUFY24BWLz2WoKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD5lw4jnczY02; Tue, 9 Apr 2024 00:03:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43903uBc014892; Tue, 9 Apr 2024 00:03:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43903uVj014889; Tue, 9 Apr 2024 00:03:56 GMT (envelope-from git) Date: Tue, 9 Apr 2024 00:03:56 GMT Message-Id: <202404090003.43903uVj014889@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: d1cbb17a873c - main - unix: fix the ad hoc STAILQ_PREPEND() 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: d1cbb17a873c787a527316bbb27551e97d5ad30c Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=d1cbb17a873c787a527316bbb27551e97d5ad30c commit d1cbb17a873c787a527316bbb27551e97d5ad30c Author: Gleb Smirnoff AuthorDate: 2024-04-09 00:02:00 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-09 00:02:00 +0000 unix: fix the ad hoc STAILQ_PREPEND() If there is nothing to prepend, don't try STAILQ_INSERT_HEAD(). Fixes: d80a97def9a1db6f07f5d2e68f7ad62b27918947 Reported-by: syzbot+bb7f3d07c79b5faf8de8@syzkaller.appspotmail.com --- sys/kern/uipc_usrreq.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 1b9416269696..d1f32cf3d711 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -1368,7 +1368,8 @@ restart: UIPC_STREAM_SBCHECK(sb); MPASS(!(sb->sb_state & SBS_CANTRCVMORE)); /* XXXGL: STAILQ_PREPEND */ - if (STAILQ_EMPTY(&sb->sb_mbq)) + if (STAILQ_EMPTY(&sb->sb_mbq) && + control != NULL) STAILQ_INSERT_HEAD(&sb->sb_mbq, control, m_stailq); else From nobody Tue Apr 9 00:10:25 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD5vP5W5Vz5G7Vc; Tue, 9 Apr 2024 00: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 4VD5vP4vgcz4bNv; Tue, 9 Apr 2024 00:10:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712621425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z8XPK8+uRnSw3FiF1eeHnMI4+D03nfGByxmK/H9WjAU=; b=ggjIgJD0URxSsZ9lkBX/uV4nuZLG6Tkp5u9W/z1okSiAYAngNejuCvhARg8iHAL2c6wExr anrwGBCs3gTLztUGIrwavq+N8IAJ/HNuxvHdV0LVK5xy7t2SmwrbnwKhcPdP9Yz2KMvyMo KqBZgszXKWDxxTIE4jR+A8kghKvVwt4PR/5iYjnb/2R5B7F2zZaQhH/3W/ibjxvUR1OE/U 3qEPVclEcd2u87LKAiWk1awoSU8fDlBrK6MiasZS6UvpSa+5l7yJPmxpjio6VEx+vV8Myl RbNwWdd6y29LtriQPg8z/8hN72y+bWJEIe5HSeXPx8rsezTzuqti9ML5zv8M9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712621425; a=rsa-sha256; cv=none; b=DffWigxu/kEs1flIxh1pmMVE8EkNp2BN8M/DTNu9so5CSpJ0GnGNP7+/Bqp4lwdkqyj7yg YTe7npHzcuFbnAzxNCjDHvEKS2FRigRmIC3Z+lemzCkUM/eYOLFnBfxmJhJ/m6LuGjAuTd qKo+pxIzLZJ082p8KWwlrRf4ZiZGiH5ayPGUN3DYhhyyt8CEJslLydUzqMzCtpiincd+ZX c2+p6KDoRYXtoC3inD0IS1svszjtf3oqaBgjLo3eaK33ZW+2gjaWi3MaHcwZUeHM5X9vpu y6UJH7Y9mrCsJwmQiu3d1E3rdABos32Z9aWDVmRR1zeocKihcVmy99uVwi3v3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712621425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z8XPK8+uRnSw3FiF1eeHnMI4+D03nfGByxmK/H9WjAU=; b=cF43IyDOjJWxAj77CmW77zs0YhZSm+vClCstsZmKD3RP+Qx4ScTNkBk9mSORuoplBrYp3F 5XWPnbdyj2pPmueuyDEoGlBfwTL16kfdJx479Jh52mKtsjDdOBshJ5pjdaXZOsIOCYjXJq WiWnu6f3l0CxpILv6OOYRsEaK4ASu9iRcOytua2M7QBTdNHWcm1UoH2AlBfzgNFD0xE1O7 J3wrOMxtjdEbw4nD0zZ1H1JwazT4Ao0kKpJbOc7HWnw9irXsv8IildMXVjB/DlEHt4ylDf j+/VxICKRBVOgARslF9wdcUoYkRT5L6DPpnAbfQu2VZRDjws32ZsFcFLq86r5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD5vP4WMNzY8Q; Tue, 9 Apr 2024 00:10:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4390APcm024824; Tue, 9 Apr 2024 00:10:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4390APbn024821; Tue, 9 Apr 2024 00:10:25 GMT (envelope-from git) Date: Tue, 9 Apr 2024 00:10:25 GMT Message-Id: <202404090010.4390APbn024821@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: fb8a8333b481 - main - unix: return immediately on MSG_OOB 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: fb8a8333b481cc4256d0b3f0b5b4feaa4594e01f Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=fb8a8333b481cc4256d0b3f0b5b4feaa4594e01f commit fb8a8333b481cc4256d0b3f0b5b4feaa4594e01f Author: Gleb Smirnoff AuthorDate: 2024-04-09 00:09:16 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-09 00:09:16 +0000 unix: return immediately on MSG_OOB Jumping to cleanup routines will work on uninitialized stack mc. Fixes: d80a97def9a1db6f07f5d2e68f7ad62b27918947 Reported-by: syzbot+4adf0b37849ea7723586@syzkaller.appspotmail.com --- sys/kern/uipc_usrreq.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index d1f32cf3d711..4a1c480c43fa 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -1001,10 +1001,8 @@ uipc_sosend_stream_or_seqpacket(struct socket *so, struct sockaddr *addr, MPASS((uio != NULL && m == NULL) || (m != NULL && uio == NULL)); MPASS(m == NULL || c == NULL); - if (__predict_false(flags & MSG_OOB)) { - error = EOPNOTSUPP; - goto out; - } + if (__predict_false(flags & MSG_OOB)) + return (EOPNOTSUPP); nonblock = (so->so_state & SS_NBIO) || (flags & (MSG_DONTWAIT | MSG_NBIO)); From nobody Tue Apr 9 01:34:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD7mM0Vxmz5GGj3; Tue, 9 Apr 2024 01:34: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 4VD7mL5jgYz4lxK; Tue, 9 Apr 2024 01:34:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712626466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=waQqG+P1YulAqT7piS19SBefFQ3WHCPm9AA7c3C0rTA=; b=vErwmpV+qTLlQV/hhVtBzv++5GrqccMagY/vHDrtI9KPKM07J5JkE0N9dCOAu/SYj33O2u 7Y6MTOWbpZAdAnWvCVmu750fKuY30dxhgpoMGinUbUS1c0LzQnRd1wAa8BFo/ihnY3do7y pvECtN5i6AK9eWzoY8toK37RCAwnXPpN27yXtu55W6Kkxv1uwqA/grML4PgPO7fO5IGWaf iiR4FfVTK1ohfvMfVq0HWRQxooH+sVpl5z6A5q4N7oF2H91bj1Ah2yh2eG9zee98JRkaSB 5f3ve/pCSYA7xtegNuJpfAcPd0yOrkx79S47rp4ZBkVdd2IwheZBHSWcXeWuUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712626466; a=rsa-sha256; cv=none; b=c/9j0QzlTVKQhf5cOCBZTvHULVu+3Jm30wUwdE8vWlzeFQtOhrraaEak/LolsGWS+RLNlZ hmAp0bCjVVwxYgDrscKN4rXRePSJ1/YbCPCz3MLGOn+WPrXnqfcfcD1R2tCP01I/33Ngpk hTGoTaC6IQolxQOLdDYlVIbpy+r+qPe9n1KAJoyHp/lPdqA/lqTrz3XkHOk1sH/KOd5kuh pHqcVNtxal9WRpINnRRWFuBrUnQ4FG8CuuhZoTHV9PQGRAvrRaOS+CS0Y1TaflVFn/3nZN G87iMcWjVLJQupvfY/8DQgwN65x2plNsIF+lXSqQPTusljeHoeGc0eOXXMybyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712626466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=waQqG+P1YulAqT7piS19SBefFQ3WHCPm9AA7c3C0rTA=; b=SCmgtP9eRhuud8NRXK3Ni/CfLmKclhZ95kDHfPjvMyestIxRjsijpJjkFoBMonDOvQm56l Ao09Qgs8Ouvrs46m8z/dhkM1APr2JnlYhMo3oWg48wM1MknUh2wzX0LkPqZMZMoNQoL2Po D+IAQL37y5w9NN/EMdv1PPvySmy6r+UaCqsyE+5TC/hSOMN6CVi9LtJy46k5y+NvRaDMAd buBhy329tZBJ6v8ZY+SAWWSKstYL6hbYptuqyxJYgsA90Se501Hn2OlkrYjHoXpTUevD4N o3fraGWgGJPVslvsHnb/4UJwyM+uc00UoGCzQGdMjVTyNGYosiKxmyQaJDNvJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD7mL5JnszbR3; Tue, 9 Apr 2024 01:34:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4391YQCB066903; Tue, 9 Apr 2024 01:34:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4391YQXV066900; Tue, 9 Apr 2024 01:34:26 GMT (envelope-from git) Date: Tue, 9 Apr 2024 01:34:26 GMT Message-Id: <202404090134.4391YQXV066900@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Stephen J. Kiernan" Subject: git: 81b4d1c4d487 - main - sockets: Add hhook in sonewconn for inheriting OSD specific data 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: stevek X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 81b4d1c4d487099d0d81c50f9a9c62459ec33752 Auto-Submitted: auto-generated The branch main has been updated by stevek: URL: https://cgit.FreeBSD.org/src/commit/?id=81b4d1c4d487099d0d81c50f9a9c62459ec33752 commit 81b4d1c4d487099d0d81c50f9a9c62459ec33752 Author: Stephen J. Kiernan AuthorDate: 2024-04-09 01:31:34 +0000 Commit: Stephen J. Kiernan CommitDate: 2024-04-09 01:31:34 +0000 sockets: Add hhook in sonewconn for inheriting OSD specific data Added HHOOK_SOCKET_NEWCONN and bumped HHOOK_SOCKET_LAST Reviewed by: glebius, tuexen Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D44632 --- sys/kern/uipc_socket.c | 7 +++++++ sys/sys/socketvar.h | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index ce618eeba3ba..c040bdf4d3eb 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -769,6 +769,13 @@ solisten_clone(struct socket *head) so->so_fibnum = head->so_fibnum; so->so_proto = head->so_proto; so->so_cred = crhold(head->so_cred); + if (V_socket_hhh[HHOOK_SOCKET_NEWCONN]->hhh_nhooks > 0) { + if (hhook_run_socket(so, head, HHOOK_SOCKET_NEWCONN)) { + sodealloc(so); + log(LOG_DEBUG, "%s: hhook run failed\n", __func__); + return (NULL); + } + } #ifdef MAC mac_socket_newconn(head, so); #endif diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h index cba7dd655aa0..15d770721361 100644 --- a/sys/sys/socketvar.h +++ b/sys/sys/socketvar.h @@ -414,7 +414,8 @@ MALLOC_DECLARE(M_SONAME); #define HHOOK_FILT_SOREAD 4 #define HHOOK_FILT_SOWRITE 5 #define HHOOK_SOCKET_CLOSE 6 -#define HHOOK_SOCKET_LAST HHOOK_SOCKET_CLOSE +#define HHOOK_SOCKET_NEWCONN 7 +#define HHOOK_SOCKET_LAST HHOOK_SOCKET_NEWCONN struct socket_hhook_data { struct socket *so; From nobody Tue Apr 9 01:59:51 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD8Kg3XBNz5GKJy; Tue, 9 Apr 2024 01:59: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 4VD8Kg2vVjz4ngQ; Tue, 9 Apr 2024 01:59:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712627991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cR7Qamv8sfSHf1716cFCeMCO/EBJeSzdNnQzE9vVVJg=; b=nTQKLc8iAUwPq2Cdd2XURUlc7oqkEFid4jAzNA1p5dc+Fd77UeFEFwo0y4LjysCvRs+7XM lUSjWquxjWNBpKXn7rNiDQr2ktXzOGjKHqUQA9P9if/F3pN59x8GxbblXbE5UZuy2aGPN8 sNLunZ++0ASn1HKMJThRwLoOGgeGwHtotfW+HSb9CI5cyZYTTqvmQhZZTDly8UFNrmGKB6 AIcFdRWjoDZPzwliWUISwYkTpPrOavBSMHkgLNBcvORqQiW5wvfFL+IgurkVZkFf6Boi5y cjZuGZwAd/euGsjlPQTkGY6iDc/CZBPidlOMLvZ2ri8ZCpTeiyxURLgnJCHF3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712627991; a=rsa-sha256; cv=none; b=O3SvBsLfYSRO2wpYMMNd/NyvFNRLtqDYsrKkgj4nO22wBUVC37b31SQdejUfbzDyK0NTGC DVVVg7X/8B/Lh0EcBgajUd4c+JhlLReFMWimdtXW3LMtVZY4naPHhJpHC11Qd0964OyRVc mWAl3VejkuWCQu0stUUcFZXrsbdY0VbfNu7idh1JPdQ1ZM4frwVug1mvWgcz0/pdo+Srsh nchESCvjN+cMdERxHVQpdgCBkoAwDSNTqrE7BQhhIvvbBsNNDgReKx+LRCvHFtbYizDlcv 3rzWNfsH0egWx8hk4t+06lcb5flirMZJgIWSCJ1296EXNUgaLLEikEmUNXrIcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712627991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cR7Qamv8sfSHf1716cFCeMCO/EBJeSzdNnQzE9vVVJg=; b=p24wS5wXGIewPD/eNtcVmOHgorXt1JaECwtz1lENsRFK95v77PdOgEdsDVlEUpMG0Oh58c Bd9/Q6E7YoNNE06SBk4dVGaDWpaEQ+Wq4wj1rhIdn0qXqsyCJzJ5/MIeaT9hWEcaqQv9uE NH1k1JWUYxcNDYWIk14K8KAsAWto34iv7H7k9aIlzGmk9fexw6ET/4WKZG2qBpM5Ypghdi oKnUf8S6Ogl7Ziy6lWaI+NAct9PdKpL5YNiSTcklcWaY0JoRUvZdMqqw1gs4Jtx9Xs3H9z MO90lzmldDtn3sVUHVNFntraXg++JhK6BVPW88gEfqXIGiM2giK/Q5xCi19g6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD8Kg2NbJzb24; Tue, 9 Apr 2024 01:59:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 4391xpd7001273; Tue, 9 Apr 2024 01:59:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4391xp5t001270; Tue, 9 Apr 2024 01:59:51 GMT (envelope-from git) Date: Tue, 9 Apr 2024 01:59:51 GMT Message-Id: <202404090159.4391xp5t001270@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: cce11997a052 - main - mountd.8: Document the new -A mountd option 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: cce11997a052549933ca1c4d7412bf51137e4d0b Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=cce11997a052549933ca1c4d7412bf51137e4d0b commit cce11997a052549933ca1c4d7412bf51137e4d0b Author: Rick Macklem AuthorDate: 2024-04-09 01:58:40 +0000 Commit: Rick Macklem CommitDate: 2024-04-09 01:58:40 +0000 mountd.8: Document the new -A mountd option Commit fefb7c399b39 added warning messages noting that administrative controls that exported directories that are not local server file system mount points actually export the entire local server file system. This commit also added a new command line option "-A' that silences these warnings. This patch documents the new "-A' mountd option. This is a content change. Reviewed by: markj, pauamma_gundo.com (manpages) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44692 --- usr.sbin/mountd/mountd.8 | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/usr.sbin/mountd/mountd.8 b/usr.sbin/mountd/mountd.8 index de0e82e6f8c5..6528aa3c94a1 100644 --- a/usr.sbin/mountd/mountd.8 +++ b/usr.sbin/mountd/mountd.8 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 18, 2023 +.Dd April 8, 2024 .Dt MOUNTD 8 .Os .Sh NAME @@ -35,7 +35,7 @@ mount requests .Sh SYNOPSIS .Nm -.Op Fl 2delnRrS +.Op Fl 2AdelnRrS .Op Fl h Ar bindip .Op Fl p Ar port .Op Ar exportsfile ... @@ -60,6 +60,16 @@ Allow the administrator to force clients to use only the version 2 .Tn NFS protocol to mount file systems from this server. +.It Fl A +Silence the warnings related to +.Dq administrative controls . +These warnings remind users that an exported +.Dq administrative control +directory that is not a local server file system mount point +actually exports the entire local file system and not just +the subtree below the directory exported. +(See +.Xr exports 5 ) .It Fl d Output debugging information. .Nm From nobody Tue Apr 9 10:06:42 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDM7Q3sJHz5GdLJ; Tue, 9 Apr 2024 10:06: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 4VDM7Q2zRFz4fTl; Tue, 9 Apr 2024 10:06:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712657202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rYecTAnoEW/pFeVexlwjc8X5ug22ueUqZhyfI4oQL2I=; b=ExNdkdBbuq09SArIZADGCaHrHSUnIhryOgU3VPMng5Su+DGGLyFCruKoHg+sGtnueiDw03 U29aDJJNEcOrsq01P20kTTVQ5GKms6qlw+L9pZ61WfuHEwhu13F2aVM07Pnt4bFCrKzgcr g8wQFkkyC1Uje/mCx67AIIdBM+iVqjrf1iHrXJJE8R833ksJOugpFSaQCHOMdZ8npouSoa OLm4tqZp45QoaNcC1d6jsyZJLXcWW0mzp4G8Rv2yi9Ing1pEMHZSQX2eBHt3FMRjM9NEkA nPwSB1Ka443rbfhs1sdohsc4Av8L8dTOpFw+5xyGu9YWM9tOpBN5+6cuiJlCbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712657202; a=rsa-sha256; cv=none; b=V6x4cKzyWY9accpmhtvP5XENEZFL43JOnsoVqdzOlb8xv6byWt+9/I/1iDMa5rUTwpC+z3 d4IgJO8V8SCNzjMC5E8n7b3Si65UdRL8HKgBP3T2e3szQKG4RyntY3tFlemo1wvHaNxoeA WDJCZhVvmP6muuRlLXA6vvU4Y5/OtX4YJFgvY87mnRc3v1/zYqGyM2CFF3BHk43h23XrJC o8FvT3AnySn2GaWoKs9AOAH0BXTKA0NB8qXyjOeJXzLIMmmwuBjIJZTHK2a7VYrPyRzAax WWsJwh22O7kIhPjn/Vxpox8LfoQzoK3Oxmg+m/VlLog3I8avlSrOmq/DqfPfZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712657202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rYecTAnoEW/pFeVexlwjc8X5ug22ueUqZhyfI4oQL2I=; b=nSkr+3ovcZAtyuk3nQ7n1+xFRQkLFC0Tzs/eegfkOI2I/FoJpSpfZZaOzDdxNX2VcxQRI/ dLBAYBb0ft9R5lA3OMKol6v0m6h/yaELqYnMUaclEFXkFdCCLUKbeHH9cpHjtpEHUEFSnV aDl8vKsbIbvGb3h1aq27o6MxY2jv3K9rdapRHndVKcrtVQhJG6D0aK3QBomvsq7TlaVEJB 2kymuktMvcmdHR+Xf71p0sKflIHVH6XUNz81u9dmetO+5qiFgwWadTeL3SAepON6KvrocN JH9MuOgy4nBEgt1fOGzYPP0fJSqQ68q1SXYIsFGAWe9l4z/BzBNjJvmF2i3B5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDM7Q2SffzqCp; Tue, 9 Apr 2024 10:06:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439A6g32032796; Tue, 9 Apr 2024 10:06:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439A6g7Y032793; Tue, 9 Apr 2024 10:06:42 GMT (envelope-from git) Date: Tue, 9 Apr 2024 10:06:42 GMT Message-Id: <202404091006.439A6g7Y032793@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: f6f67f58c19d - main - ng_socket: Treat EEXIST from kern_kldload() as success 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: dev-commits-src-main+owner@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: f6f67f58c19db4f25f5c2cf4869efc7054493a55 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=f6f67f58c19db4f25f5c2cf4869efc7054493a55 commit f6f67f58c19db4f25f5c2cf4869efc7054493a55 Author: Zhenlei Huang AuthorDate: 2024-04-09 10:04:47 +0000 Commit: Zhenlei Huang CommitDate: 2024-04-09 10:04:47 +0000 ng_socket: Treat EEXIST from kern_kldload() as success EEXIST is possible in a race condition. Inspired by: ffc72591b1f5 (Don't worry if a module is already loaded ...) Reviewed by: glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44633 --- sys/netgraph/ng_socket.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sys/netgraph/ng_socket.c b/sys/netgraph/ng_socket.c index c356f7d6aa12..c570584d4b44 100644 --- a/sys/netgraph/ng_socket.c +++ b/sys/netgraph/ng_socket.c @@ -285,11 +285,15 @@ ngc_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr, if (ng_findtype(mkp->type) == NULL) { char filename[NG_TYPESIZ + 3]; int fileid; + bool loaded; /* Not found, try to load it as a loadable module. */ snprintf(filename, sizeof(filename), "ng_%s", mkp->type); error = kern_kldload(curthread, filename, &fileid); + loaded = (error == 0); + if (error == EEXIST) + error = 0; if (error != 0) { free(msg, M_NETGRAPH_MSG); goto release; @@ -298,9 +302,10 @@ ngc_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr, /* See if type has been loaded successfully. */ if (ng_findtype(mkp->type) == NULL) { free(msg, M_NETGRAPH_MSG); - (void)kern_kldunload(curthread, fileid, - LINKER_UNLOAD_NORMAL); - error = ENXIO; + if (loaded) + (void)kern_kldunload(curthread, fileid, + LINKER_UNLOAD_NORMAL); + error = ENXIO; goto release; } } From nobody Tue Apr 9 14:24:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDSsR3cyGz5H5rd; Tue, 9 Apr 2024 14: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 4VDSsR2zn7z47dS; Tue, 9 Apr 2024 14:24:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712672699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bJFXh5tcrlxjT5t/jgYJhzN9HH0FThflALE62KsPehU=; b=ugRUjk2TWQJVTT9CCkJcxZvTiJ3vikVO7yYQZN6pt+1g8lTtb/wBPQKCXbf4pR/bVFQueR lNzw6DHpqXmWC8GYR0ZbCdNozoEiN//sOI7si+E1voM8p7UTYO+r4dYB+hefHHpdthnTs4 gZ6d5XAKJUPJb54J+VRZpXrQSBfKjxfOh4zfOpINKzgGJX3iK97ys++2w2CEGQ5jMujMOC WA4BTqDZnEpbyual13XDT8iJGVQGu6xO0kD9RJ5EI7BvRkkH3yLoDYYcuK8XRNzoQchtkL ZXDcwizjKDbP2x+jf6qUfL3haR6J5kJtCd4HtUk7I0s/3J2KFOe8dEQGxdYvmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712672699; a=rsa-sha256; cv=none; b=AxmCZiSX9WQaT9O8AifnujsfCqCGoOvvZMo+ZiQ0T8VsBS5zFm0eSn4k4MrnQB2Ivcdxta HJawGKvAVypCG/1X6nyvw4tSe+9vsWXrfVjUmhsaN0E7vLfP5sWgW1M1LivEqGrco+ZCi+ vEjJuiVYnYvhevuAKlW8PDHpjOdhO3oeP7SPC77d1giE14nmJcVXCE5RmB3Ruiod/1m9MS bKmKS9DaAV8eNi0JbS0sl4WjsJCe1tPNhv63+fcpEJp/kpvxdDM4Bzra0uA9r7KrVXQlyT wJbsxJ0NxJtoMQaj5lpdkJntpU82rfjjsfDkTSfqSTsQJXSt5czaFQsP89ou6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712672699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bJFXh5tcrlxjT5t/jgYJhzN9HH0FThflALE62KsPehU=; b=HTg1yO9OHkP4YbTHmRxzWVUyTqz2KPfYIg8jQ+GShlDU/qLLUWp7cUhk1HjyCK5nNBashf a/iCO5wkwOH/o2k662AcqVbKjihpkEfiZvWt3RE3JpZ1Glozcp8CI5lhQ2HzBvlXdKYMWb MT2D3qGQ9OepLfh/ikZpSx7Ok0xEz1vHOYY7Yo9U5iJGbR3XH4R5DrXpd3zQkIVZelBUqz UubIAUNV4s4W7piMLDjpTtN4ezJxywukMJ/B0MRLjzD01P0Misimq0b+2BtHmNoq6iSPCn LOgisoh15s7kL86Tp2F31GZ/pH3ZgEWUxPRSiQosZ8N9OvDMWc7yM/9JVbPgsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDSsR2TDWzyFh; Tue, 9 Apr 2024 14:24:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439EOxPo071481; Tue, 9 Apr 2024 14:24:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439EOxav071478; Tue, 9 Apr 2024 14:24:59 GMT (envelope-from git) Date: Tue, 9 Apr 2024 14:24:59 GMT Message-Id: <202404091424.439EOxav071478@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Stephen J. Kiernan" Subject: git: cb20a74ca063 - main - vm: add macro to mark arguments used when NUMA is defined 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: dev-commits-src-main+owner@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: stevek X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb20a74ca06381e96c41cb4495d633710cc6cb79 Auto-Submitted: auto-generated The branch main has been updated by stevek: URL: https://cgit.FreeBSD.org/src/commit/?id=cb20a74ca06381e96c41cb4495d633710cc6cb79 commit cb20a74ca06381e96c41cb4495d633710cc6cb79 Author: Stephen J. Kiernan AuthorDate: 2024-04-03 21:05:24 +0000 Commit: Stephen J. Kiernan CommitDate: 2024-04-09 14:23:47 +0000 vm: add macro to mark arguments used when NUMA is defined This fixes compiler warnings when -Wunused-arguments is enabled and not quieted. Reviewed by: kib, markj Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D44623 --- sys/vm/vm.h | 6 ++++++ sys/vm/vm_page.h | 2 +- sys/vm/vm_phys.c | 13 +++++-------- sys/vm/vm_phys.h | 2 +- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/sys/vm/vm.h b/sys/vm/vm.h index 499a504e3328..5fac6b3f2e78 100644 --- a/sys/vm/vm.h +++ b/sys/vm/vm.h @@ -154,6 +154,12 @@ struct kva_md_info { #define SWAP_RESERVE_RLIMIT_ON (1 << 1) #define SWAP_RESERVE_ALLOW_NONWIRED (1 << 2) +#ifdef NUMA +#define __numa_used +#else +#define __numa_used __unused +#endif + #ifdef _KERNEL struct ucred; diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h index 37cb1374b9f6..221f58b8fb04 100644 --- a/sys/vm/vm_page.h +++ b/sys/vm/vm_page.h @@ -1005,7 +1005,7 @@ vm_page_none_valid(vm_page_t m) } static inline int -vm_page_domain(vm_page_t m) +vm_page_domain(vm_page_t m __numa_used) { #ifdef NUMA int domn, segind; diff --git a/sys/vm/vm_phys.c b/sys/vm/vm_phys.c index 8c15f107c2f9..66ad9c13dceb 100644 --- a/sys/vm/vm_phys.c +++ b/sys/vm/vm_phys.c @@ -226,7 +226,8 @@ vm_phys_fictitious_cmp(struct vm_phys_fictitious_seg *p1, } int -vm_phys_domain_match(int prefer, vm_paddr_t low, vm_paddr_t high) +vm_phys_domain_match(int prefer __numa_used, vm_paddr_t low __numa_used, + vm_paddr_t high __numa_used) { #ifdef NUMA domainset_t mask; @@ -330,7 +331,7 @@ sysctl_vm_phys_segs(SYSCTL_HANDLER_ARGS) * Return affinity, or -1 if there's no affinity information. */ int -vm_phys_mem_affinity(int f, int t) +vm_phys_mem_affinity(int f __numa_used, int t __numa_used) { #ifdef NUMA @@ -629,8 +630,8 @@ vm_phys_init(void) * Invoked by platform-dependent code prior to vm_phys_init(). */ void -vm_phys_register_domains(int ndomains, struct mem_affinity *affinity, - int *locality) +vm_phys_register_domains(int ndomains __numa_used, + struct mem_affinity *affinity __numa_used, int *locality __numa_used) { #ifdef NUMA int i; @@ -651,10 +652,6 @@ vm_phys_register_domains(int ndomains, struct mem_affinity *affinity, for (i = 0; i < vm_ndomains; i++) DOMAINSET_SET(i, &all_domains); -#else - (void)ndomains; - (void)affinity; - (void)locality; #endif } diff --git a/sys/vm/vm_phys.h b/sys/vm/vm_phys.h index f3a41785b1b5..1f502ad745c4 100644 --- a/sys/vm/vm_phys.h +++ b/sys/vm/vm_phys.h @@ -89,7 +89,7 @@ vm_paddr_t vm_phys_avail_size(int i); bool vm_phys_is_dumpable(vm_paddr_t pa); static inline int -vm_phys_domain(vm_paddr_t pa) +vm_phys_domain(vm_paddr_t pa __numa_used) { #ifdef NUMA int i; From nobody Tue Apr 9 16:17:55 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDWMl391bz5HG3s; Tue, 9 Apr 2024 16:17: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 4VDWMl2fcXz4X3d; Tue, 9 Apr 2024 16:17:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712679475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qpkhgTt9SHcYX3ZFb8HigWF0nc+qd/z5sBRX2nO3Obo=; b=GBAI24Hu4aBnd47+sEfp9B4QnQRpLUwhYhIg2DuaOB2qvXZAO5MDNDM2KY7UN7FkkBNB+/ mtsXRoMVmVrXLEVWHSQ2OBKaMsmqm1GyZ7xIZ+BwJ38LpKtwCUYrJZ5xHScR1L4rGUe/9t HOV/Xv4ikKaVy+GxSs3Yrq1rZcUuVDpcGAug+HPER6nv3nZ8QnpGEWPCkmF67vkWX3Nipn 0PmHvogxFMsbgSzaRSC8ww40d0cd8Kkppnjnmx/fQvQ07UFB9ed0K7ZsLalZQNV8TYTuKx pmAe8L1JwyPNfU7ly0/leVHQXt29JoHPUzYKRhzb1GftudRK05G3zJ5/6m/4IQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712679475; a=rsa-sha256; cv=none; b=S1Xwn3cpy9tsNLAM8evEjj6ThkCyx9ymxVgex+FGY1zhZIJ3GtHsmYJGcfn7re5h2nQMWx VSFhovb2HPAjHCTw0/pNGOCOGIk9tkGGNOKlildiryXM8QXg5u8pQ6/lCVUTHnyRdef5xX txj6EQTLuxg4LA6vk516b0MQ9YtbdPBIqjoSQyISddj13OnKZKOGtvghsk5CJakoICaUs8 sREwpzmQi7PtiXr+5QqY249B9cXf1uIQtqnRbstqPXO9TLbd4gX02fDcIR84n/3pVbEFgv ot1UyoA0n8R2/ZmwJktoDSuZDXwsF0Z2QlaUjUTBoxiTz0Ab9R6QDo670PVK2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712679475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qpkhgTt9SHcYX3ZFb8HigWF0nc+qd/z5sBRX2nO3Obo=; b=GXlCv63Ve7eZgp22Z4FUfTvoiXeTls+rRYzpF/Nbchn1zgC6ASE6vvWHr7HVkkA5WXVx96 YWvRGkzWa6BLg0kER0XUjEblLiDEMTFgnEGC6skJpuxSC/+jIVPjOPhjGz9bebdPH3knyQ FaEd5B1cq79pfZD+WwK591QQyxaybmNoCCm4KlWfXwszwxLiGvevjiN0PXTwrQGfOe5mir aPW5qekVkrQFG1UAyI7Z5X6SRTkY+M2ISGZ981VazrFyfO3rj1QLw2le+SiEM9lRamj/Xp NXYzfgXnIp/TE/f/jtCgQEoyRABb51f+2ck4UfIFNmtbTFw0k6t7Dia+kIifHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDWMl2FhNz11L5; Tue, 9 Apr 2024 16:17:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439GHtSg058756; Tue, 9 Apr 2024 16:17:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439GHtxI058753; Tue, 9 Apr 2024 16:17:55 GMT (envelope-from git) Date: Tue, 9 Apr 2024 16:17:55 GMT Message-Id: <202404091617.439GHtxI058753@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: e205fd318a29 - main - rpc: use new macros to lock socket buffers 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: dev-commits-src-main+owner@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: e205fd318a296ffdb7392486cdcec7f660fcffcf Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=e205fd318a296ffdb7392486cdcec7f660fcffcf commit e205fd318a296ffdb7392486cdcec7f660fcffcf Author: Gleb Smirnoff AuthorDate: 2024-04-09 16:17:19 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-09 16:17:19 +0000 rpc: use new macros to lock socket buffers Fixes: d80a97def9a1db6f07f5d2e68f7ad62b27918947 --- sys/rpc/clnt_bck.c | 4 ++-- sys/rpc/clnt_dg.c | 24 ++++++++++++------------ sys/rpc/clnt_vc.c | 24 ++++++++++++------------ sys/rpc/svc_dg.c | 16 ++++++++-------- sys/rpc/svc_vc.c | 20 ++++++++++---------- 5 files changed, 44 insertions(+), 44 deletions(-) diff --git a/sys/rpc/clnt_bck.c b/sys/rpc/clnt_bck.c index ab8fd514465c..7e4781ec7e9d 100644 --- a/sys/rpc/clnt_bck.c +++ b/sys/rpc/clnt_bck.c @@ -318,9 +318,9 @@ if (error != 0) printf("sosend=%d\n", error); mreq = NULL; if (error == EMSGSIZE) { printf("emsgsize\n"); - SOCKBUF_LOCK(&xprt->xp_socket->so_snd); + SOCK_SENDBUF_LOCK(xprt->xp_socket); sbwait(xprt->xp_socket, SO_SND); - SOCKBUF_UNLOCK(&xprt->xp_socket->so_snd); + SOCK_SENDBUF_UNLOCK(xprt->xp_socket); sx_xunlock(&xprt->xp_lock); AUTH_VALIDATE(auth, xid, NULL, NULL); mtx_lock(&ct->ct_lock); diff --git a/sys/rpc/clnt_dg.c b/sys/rpc/clnt_dg.c index f06f6b034c9a..b6a8cdce0d76 100644 --- a/sys/rpc/clnt_dg.c +++ b/sys/rpc/clnt_dg.c @@ -112,7 +112,7 @@ TAILQ_HEAD(cu_request_list, cu_request); * member. It is separate from the client private data to facilitate * multiple clients sharing the same socket. The cs_lock mutex is used * to protect all fields of this structure, the socket's receive - * buffer SOCKBUF_LOCK is used to ensure that exactly one of these + * buffer lock is used to ensure that exactly one of these * structures is installed on the socket. */ struct cu_socket { @@ -270,11 +270,11 @@ clnt_dg_create( } sb = &so->so_rcv; - SOCKBUF_LOCK(&so->so_rcv); + SOCK_RECVBUF_LOCK(so); recheck_socket: if (sb->sb_upcall) { if (sb->sb_upcall != clnt_dg_soupcall) { - SOCKBUF_UNLOCK(&so->so_rcv); + SOCK_RECVBUF_UNLOCK(so); printf("clnt_dg_create(): socket already has an incompatible upcall\n"); goto err2; } @@ -287,9 +287,9 @@ recheck_socket: * We are the first on this socket - allocate the * structure and install it in the socket. */ - SOCKBUF_UNLOCK(&so->so_rcv); + SOCK_RECVBUF_UNLOCK(so); cs = mem_alloc(sizeof(*cs)); - SOCKBUF_LOCK(&so->so_rcv); + SOCK_RECVBUF_LOCK(so); if (sb->sb_upcall) { /* * We have lost a race with some other client. @@ -303,7 +303,7 @@ recheck_socket: TAILQ_INIT(&cs->cs_pending); soupcall_set(so, SO_RCV, clnt_dg_soupcall, cs); } - SOCKBUF_UNLOCK(&so->so_rcv); + SOCK_RECVBUF_UNLOCK(so); cl->cl_refs = 1; cl->cl_ops = &clnt_dg_ops; @@ -993,7 +993,7 @@ clnt_dg_destroy(CLIENT *cl) cs = cu->cu_socket->so_rcv.sb_upcallarg; clnt_dg_close(cl); - SOCKBUF_LOCK(&cu->cu_socket->so_rcv); + SOCK_RECVBUF_LOCK(cu->cu_socket); mtx_lock(&cs->cs_lock); cs->cs_refs--; @@ -1001,13 +1001,13 @@ clnt_dg_destroy(CLIENT *cl) mtx_unlock(&cs->cs_lock); soupcall_clear(cu->cu_socket, SO_RCV); clnt_dg_upcallsdone(cu->cu_socket, cs); - SOCKBUF_UNLOCK(&cu->cu_socket->so_rcv); + SOCK_RECVBUF_UNLOCK(cu->cu_socket); mtx_destroy(&cs->cs_lock); mem_free(cs, sizeof(*cs)); lastsocketref = TRUE; } else { mtx_unlock(&cs->cs_lock); - SOCKBUF_UNLOCK(&cu->cu_socket->so_rcv); + SOCK_RECVBUF_UNLOCK(cu->cu_socket); lastsocketref = FALSE; } @@ -1052,14 +1052,14 @@ clnt_dg_soupcall(struct socket *so, void *arg, int waitflag) uio.uio_resid = 1000000000; uio.uio_td = curthread; do { - SOCKBUF_UNLOCK(&so->so_rcv); + SOCK_RECVBUF_UNLOCK(so); m = NULL; control = NULL; rcvflag = MSG_DONTWAIT; error = soreceive(so, NULL, &uio, &m, &control, &rcvflag); if (control) m_freem(control); - SOCKBUF_LOCK(&so->so_rcv); + SOCK_RECVBUF_LOCK(so); if (error == EWOULDBLOCK) break; @@ -1140,7 +1140,7 @@ static void clnt_dg_upcallsdone(struct socket *so, struct cu_socket *cs) { - SOCKBUF_LOCK_ASSERT(&so->so_rcv); + SOCK_RECVBUF_LOCK_ASSERT(so); while (cs->cs_upcallrefs > 0) (void) msleep(&cs->cs_upcallrefs, SOCKBUF_MTX(&so->so_rcv), 0, diff --git a/sys/rpc/clnt_vc.c b/sys/rpc/clnt_vc.c index 8b69117ba2ac..386153dc1f36 100644 --- a/sys/rpc/clnt_vc.c +++ b/sys/rpc/clnt_vc.c @@ -263,9 +263,9 @@ clnt_vc_create( cl->cl_private = ct; cl->cl_auth = authnone_create(); - SOCKBUF_LOCK(&ct->ct_socket->so_rcv); + SOCK_RECVBUF_LOCK(ct->ct_socket); soupcall_set(ct->ct_socket, SO_RCV, clnt_vc_soupcall, ct); - SOCKBUF_UNLOCK(&ct->ct_socket->so_rcv); + SOCK_RECVBUF_UNLOCK(ct->ct_socket); ct->ct_raw = NULL; ct->ct_record = NULL; @@ -437,9 +437,9 @@ call_again: mreq = NULL; if (error == EMSGSIZE || (error == ERESTART && (ct->ct_waitflag & PCATCH) == 0 && trycnt-- > 0)) { - SOCKBUF_LOCK(&ct->ct_socket->so_snd); + SOCK_SENDBUF_LOCK(ct->ct_socket); sbwait(ct->ct_socket, SO_SND); - SOCKBUF_UNLOCK(&ct->ct_socket->so_snd); + SOCK_SENDBUF_UNLOCK(ct->ct_socket); AUTH_VALIDATE(auth, xid, NULL, NULL); mtx_lock(&ct->ct_lock); TAILQ_REMOVE(&ct->ct_pending, cr, cr_link); @@ -821,12 +821,12 @@ clnt_vc_close(CLIENT *cl) ct->ct_closing = TRUE; mtx_unlock(&ct->ct_lock); - SOCKBUF_LOCK(&ct->ct_socket->so_rcv); + SOCK_RECVBUF_LOCK(ct->ct_socket); if (ct->ct_socket->so_rcv.sb_upcall != NULL) { soupcall_clear(ct->ct_socket, SO_RCV); clnt_vc_upcallsdone(ct); } - SOCKBUF_UNLOCK(&ct->ct_socket->so_rcv); + SOCK_RECVBUF_UNLOCK(ct->ct_socket); /* * Abort any pending requests and wait until everyone @@ -967,7 +967,7 @@ clnt_vc_soupcall(struct socket *so, void *arg, int waitflag) /* * If another thread is already here, it must be in * soreceive(), so just return to avoid races with it. - * ct_upcallrefs is protected by the SOCKBUF_LOCK(), + * ct_upcallrefs is protected by the socket receive buffer lock * which is held in this function, except when * soreceive() is called. */ @@ -987,9 +987,9 @@ clnt_vc_soupcall(struct socket *so, void *arg, int waitflag) if (ct->ct_sslrefno != 0 && (ct->ct_rcvstate & RPCRCVSTATE_NORMAL) != 0) rcvflag |= MSG_TLSAPPDATA; - SOCKBUF_UNLOCK(&so->so_rcv); + SOCK_RECVBUF_UNLOCK(so); error = soreceive(so, NULL, &uio, &m, &m2, &rcvflag); - SOCKBUF_LOCK(&so->so_rcv); + SOCK_RECVBUF_LOCK(so); if (error == EWOULDBLOCK) { /* @@ -1255,7 +1255,7 @@ static void clnt_vc_upcallsdone(struct ct_data *ct) { - SOCKBUF_LOCK_ASSERT(&ct->ct_socket->so_rcv); + SOCK_RECVBUF_LOCK_ASSERT(ct->ct_socket); while (ct->ct_upcallrefs > 0) (void) msleep(&ct->ct_upcallrefs, @@ -1296,9 +1296,9 @@ clnt_vc_dotlsupcall(void *data) if ((ct->ct_rcvstate & RPCRCVSTATE_SOUPCALLNEEDED) != 0) { ct->ct_rcvstate &= ~RPCRCVSTATE_SOUPCALLNEEDED; mtx_unlock(&ct->ct_lock); - SOCKBUF_LOCK(&ct->ct_socket->so_rcv); + SOCK_RECVBUF_LOCK(ct->ct_socket); clnt_vc_soupcall(ct->ct_socket, ct, M_NOWAIT); - SOCKBUF_UNLOCK(&ct->ct_socket->so_rcv); + SOCK_RECVBUF_UNLOCK(ct->ct_socket); mtx_lock(&ct->ct_lock); } msleep(&ct->ct_sslrefno, &ct->ct_lock, 0, "clntvcdu", hz); diff --git a/sys/rpc/svc_dg.c b/sys/rpc/svc_dg.c index d77a727e820d..02e0c9a43fd9 100644 --- a/sys/rpc/svc_dg.c +++ b/sys/rpc/svc_dg.c @@ -130,9 +130,9 @@ svc_dg_create(SVCPOOL *pool, struct socket *so, size_t sendsize, xprt_register(xprt); - SOCKBUF_LOCK(&so->so_rcv); + SOCK_RECVBUF_LOCK(so); soupcall_set(so, SO_RCV, svc_dg_soupcall, xprt); - SOCKBUF_UNLOCK(&so->so_rcv); + SOCK_RECVBUF_UNLOCK(so); return (xprt); freedata: @@ -190,18 +190,18 @@ svc_dg_recv(SVCXPRT *xprt, struct rpc_msg *msg, * from racing the upcall after our soreadable() call * returns false. */ - SOCKBUF_LOCK(&xprt->xp_socket->so_rcv); + SOCK_RECVBUF_LOCK(xprt->xp_socket); if (!soreadable(xprt->xp_socket)) xprt_inactive_self(xprt); - SOCKBUF_UNLOCK(&xprt->xp_socket->so_rcv); + SOCK_RECVBUF_UNLOCK(xprt->xp_socket); sx_xunlock(&xprt->xp_lock); return (FALSE); } if (error) { - SOCKBUF_LOCK(&xprt->xp_socket->so_rcv); + SOCK_RECVBUF_LOCK(xprt->xp_socket); soupcall_clear(xprt->xp_socket, SO_RCV); - SOCKBUF_UNLOCK(&xprt->xp_socket->so_rcv); + SOCK_RECVBUF_UNLOCK(xprt->xp_socket); xprt_inactive_self(xprt); sx_xunlock(&xprt->xp_lock); return (FALSE); @@ -266,9 +266,9 @@ static void svc_dg_destroy(SVCXPRT *xprt) { - SOCKBUF_LOCK(&xprt->xp_socket->so_rcv); + SOCK_RECVBUF_LOCK(xprt->xp_socket); soupcall_clear(xprt->xp_socket, SO_RCV); - SOCKBUF_UNLOCK(&xprt->xp_socket->so_rcv); + SOCK_RECVBUF_UNLOCK(xprt->xp_socket); sx_destroy(&xprt->xp_lock); if (xprt->xp_socket) diff --git a/sys/rpc/svc_vc.c b/sys/rpc/svc_vc.c index 8e7ff888eaa2..9fc4108a5149 100644 --- a/sys/rpc/svc_vc.c +++ b/sys/rpc/svc_vc.c @@ -315,10 +315,10 @@ svc_vc_create_conn(SVCPOOL *pool, struct socket *so, struct sockaddr *raddr) xprt_register(xprt); - SOCKBUF_LOCK(&so->so_rcv); + SOCK_RECVBUF_LOCK(so); xprt->xp_upcallset = 1; soupcall_set(so, SO_RCV, svc_vc_soupcall, xprt); - SOCKBUF_UNLOCK(&so->so_rcv); + SOCK_RECVBUF_UNLOCK(so); /* * Throw the transport into the active list in case it already @@ -537,13 +537,13 @@ svc_vc_destroy(SVCXPRT *xprt) struct cf_conn *cd = (struct cf_conn *)xprt->xp_p1; CLIENT *cl = (CLIENT *)xprt->xp_p2; - SOCKBUF_LOCK(&xprt->xp_socket->so_rcv); + SOCK_RECVBUF_LOCK(xprt->xp_socket); if (xprt->xp_upcallset) { xprt->xp_upcallset = 0; if (xprt->xp_socket->so_rcv.sb_upcall != NULL) soupcall_clear(xprt->xp_socket, SO_RCV); } - SOCKBUF_UNLOCK(&xprt->xp_socket->so_rcv); + SOCK_RECVBUF_UNLOCK(xprt->xp_socket); if (cl != NULL) CLNT_RELEASE(cl); @@ -780,10 +780,10 @@ svc_vc_recv(SVCXPRT *xprt, struct rpc_msg *msg, /* Check for next request in a pending queue. */ svc_vc_process_pending(xprt); if (cd->mreq == NULL || cd->resid != 0) { - SOCKBUF_LOCK(&so->so_rcv); + SOCK_RECVBUF_LOCK(so); if (!soreadable(so)) xprt_inactive_self(xprt); - SOCKBUF_UNLOCK(&so->so_rcv); + SOCK_RECVBUF_UNLOCK(so); } sx_xunlock(&xprt->xp_lock); @@ -834,10 +834,10 @@ tryagain: * after our call to soreceive fails with * EWOULDBLOCK. */ - SOCKBUF_LOCK(&so->so_rcv); + SOCK_RECVBUF_LOCK(so); if (!soreadable(so)) xprt_inactive_self(xprt); - SOCKBUF_UNLOCK(&so->so_rcv); + SOCK_RECVBUF_UNLOCK(so); sx_xunlock(&xprt->xp_lock); return (FALSE); } @@ -877,12 +877,12 @@ tryagain: if (error) { KRPC_CURVNET_RESTORE(); - SOCKBUF_LOCK(&so->so_rcv); + SOCK_RECVBUF_LOCK(so); if (xprt->xp_upcallset) { xprt->xp_upcallset = 0; soupcall_clear(so, SO_RCV); } - SOCKBUF_UNLOCK(&so->so_rcv); + SOCK_RECVBUF_UNLOCK(so); xprt_inactive_self(xprt); cd->strm_stat = XPRT_DIED; sx_xunlock(&xprt->xp_lock); From nobody Tue Apr 9 16:21:53 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDWSL2Dpbz5HGpD; Tue, 9 Apr 2024 16:21: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 4VDWSK6QG1z4Ylj; Tue, 9 Apr 2024 16:21:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712679713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aLPy6dpeyFey3EKpNhLbgq96BWT0gTtZkppi9ErRepA=; b=qTMZLBDjYfh8F7uLiOjBJsN+0GKTZRdEaFINy9iuRbh8QPkNDdLBd24uoDmqoyEJiU2NmB +Qel7aDfWAV4fMLLu83YHJ/MOkKa+7F6mXEhtXGgbGykfcK6YbmGxrXbKTVMTq7C2VXVjI dQVntf4z9MarEl/5LrHgj0lGeQniU8/z69PYCZkNVT7tuYqJVaRNOGECmE9qZvrYuMzO0V e+9IzoCBU2Sr6wJP4Uc1+frv3+FRxCKrwkxlwqxO9f2L8+b9ireexkvDvUGWgiH8L+tXwu U9gcRnFbnrbHXDc3ko6PXspBeE+sBlocYnHkb0Fq0gZ2bMjWy1QqEteU1Byf1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712679713; a=rsa-sha256; cv=none; b=oLlg/hp1yTHUAF0RpoDBgc6hebWizrmoRJl0tm2U/B7aHP7P6XHG8s9lsn2FSGe2XZpI0N dxXE9piEEoM2QskkjBFkPcf0rR4g8513nyh3EDDIQEdpm9voi6qr7+yXiwjzk6GdkS57pk 366FQoYxRg1nOLwHTiZMk0WWqx+MGbjtG4Ewkxc+td8WDOSK3Ycu+O9iU3iJeY9WIxkqdq /Dx4Zpt6qkRx98tH7WqKyi3R2JuKCwKSh900HoXuvy0tH4JYa644uuhkmsfmxRUvBkgM/s z6DeXNaBxNykWJ1ND3WL7YD8X3SgDTcVf+sxXzSblY/+1KuS7y3xhCRkb2BhJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712679713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aLPy6dpeyFey3EKpNhLbgq96BWT0gTtZkppi9ErRepA=; b=VA6JVa8XlhttMl2ZHLauBNPF9ze/s8PVPvh+3vZbDHm19pVEYT2phGDBtE65oZeLaZI0LV fjKFKdmySC/7dtZlLcK7HS/a9b8auirBsxRZPX2ZwLPcXV/J9SbriRsKgec4eLchruJKDw OMm+NV+vFFlnWHIsHekOZAlp5TqEjESG2LPdEq0yfL0KJF93hLXpaC+CPF+++WmeS91STa /t9frWE767mZSr8djxJqT5CWhy/xNAXWKuGVyqdPe1hEtM2LV/lHDNAVNe3+dYk6nG7OB6 rqolF6F7vb50UU6d+RUGHmVHioozO0V/2QbvwAoE3o5YT5ZGTIdZbrZRnMc7Bw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDWSK61lRz11pQ; Tue, 9 Apr 2024 16:21:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439GLr4c074245; Tue, 9 Apr 2024 16:21:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439GLrE6074242; Tue, 9 Apr 2024 16:21:53 GMT (envelope-from git) Date: Tue, 9 Apr 2024 16:21:53 GMT Message-Id: <202404091621.439GLrE6074242@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alan Cox Subject: git: 841cf52595b6 - main - arm64 pmap: Add ATTR_CONTIGUOUS support [Part 2] 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: dev-commits-src-main+owner@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: alc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 841cf52595b6a6b98e266b63e54a7cf6fb6ca73e Auto-Submitted: auto-generated The branch main has been updated by alc: URL: https://cgit.FreeBSD.org/src/commit/?id=841cf52595b6a6b98e266b63e54a7cf6fb6ca73e commit 841cf52595b6a6b98e266b63e54a7cf6fb6ca73e Author: Alan Cox AuthorDate: 2024-04-08 05:05:54 +0000 Commit: Alan Cox CommitDate: 2024-04-09 16:21:08 +0000 arm64 pmap: Add ATTR_CONTIGUOUS support [Part 2] Create ATTR_CONTIGUOUS mappings in pmap_enter_object(). As a result, when the base page size is 4 KB, the read-only data and text sections of large (2 MB+) executables, e.g., clang, can be mapped using 64 KB pages. Similarly, when the base page size is 16 KB, the read-only data section of large executables can be mapped using 2 MB pages. Rename pmap_enter_2mpage(). Given that we have grown support for 16 KB base pages, we should no longer include page sizes that may vary, e.g., 2mpage, in pmap function names. Requested by: andrew Co-authored-by: Eliot Solomon Differential Revision: https://reviews.freebsd.org/D44575 --- sys/arm64/arm64/pmap.c | 252 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 245 insertions(+), 7 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 258aa141653b..ea7ff18971e4 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -472,6 +472,8 @@ static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, vm_page_t mpte, struct rwlock **lockp); static int pmap_enter_l2(pmap_t pmap, vm_offset_t va, pd_entry_t new_l2, u_int flags, vm_page_t m, struct rwlock **lockp); +static int pmap_enter_l3c(pmap_t pmap, vm_offset_t va, pt_entry_t l3e, u_int flags, + vm_page_t m, vm_page_t *ml3p, struct rwlock **lockp); static bool pmap_every_pte_zero(vm_paddr_t pa); static int pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte, bool promoted, bool all_l3e_AF_set); @@ -5177,13 +5179,13 @@ out: } /* - * Tries to create a read- and/or execute-only 2MB page mapping. Returns + * Tries to create a read- and/or execute-only L2 page mapping. Returns * KERN_SUCCESS if the mapping was created. Otherwise, returns an error * value. See pmap_enter_l2() for the possible error values when "no sleep", * "no replace", and "no reclaim" are specified. */ static int -pmap_enter_2mpage(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, +pmap_enter_l2_rx(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, struct rwlock **lockp) { pd_entry_t new_l2; @@ -5233,13 +5235,13 @@ pmap_every_pte_zero(vm_paddr_t pa) } /* - * Tries to create the specified 2MB page mapping. Returns KERN_SUCCESS if + * Tries to create the specified L2 page mapping. Returns KERN_SUCCESS if * the mapping was created, and one of KERN_FAILURE, KERN_NO_SPACE, or * KERN_RESOURCE_SHORTAGE otherwise. Returns KERN_FAILURE if - * PMAP_ENTER_NOREPLACE was specified and a 4KB page mapping already exists - * within the 2MB virtual address range starting at the specified virtual + * PMAP_ENTER_NOREPLACE was specified and a base page mapping already exists + * within the L2 virtual address range starting at the specified virtual * address. Returns KERN_NO_SPACE if PMAP_ENTER_NOREPLACE was specified and a - * 2MB page mapping already exists at the specified virtual address. Returns + * L2 page mapping already exists at the specified virtual address. Returns * KERN_RESOURCE_SHORTAGE if either (1) PMAP_ENTER_NOSLEEP was specified and a * page table page allocation failed or (2) PMAP_ENTER_NORECLAIM was specified * and a PV entry allocation failed. @@ -5405,6 +5407,235 @@ pmap_enter_l2(pmap_t pmap, vm_offset_t va, pd_entry_t new_l2, u_int flags, return (KERN_SUCCESS); } +/* + * Tries to create a read- and/or execute-only L3C page mapping. Returns + * KERN_SUCCESS if the mapping was created. Otherwise, returns an error + * value. + */ +static int +pmap_enter_l3c_rx(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t *ml3p, + vm_prot_t prot, struct rwlock **lockp) +{ + pt_entry_t l3e; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + PMAP_ASSERT_STAGE1(pmap); + KASSERT(ADDR_IS_CANONICAL(va), + ("%s: Address not in canonical form: %lx", __func__, va)); + + l3e = PHYS_TO_PTE(VM_PAGE_TO_PHYS(m)) | ATTR_DEFAULT | + ATTR_S1_IDX(m->md.pv_memattr) | ATTR_S1_AP(ATTR_S1_AP_RO) | + ATTR_CONTIGUOUS | L3_PAGE; + l3e |= pmap_pte_bti(pmap, va); + if ((m->oflags & VPO_UNMANAGED) == 0) { + l3e |= ATTR_SW_MANAGED; + l3e &= ~ATTR_AF; + } + if ((prot & VM_PROT_EXECUTE) == 0 || + m->md.pv_memattr == VM_MEMATTR_DEVICE) + l3e |= ATTR_S1_XN; + if (!ADDR_IS_KERNEL(va)) + l3e |= ATTR_S1_AP(ATTR_S1_AP_USER) | ATTR_S1_PXN; + else + l3e |= ATTR_S1_UXN; + if (pmap != kernel_pmap) + l3e |= ATTR_S1_nG; + return (pmap_enter_l3c(pmap, va, l3e, PMAP_ENTER_NOSLEEP | + PMAP_ENTER_NOREPLACE | PMAP_ENTER_NORECLAIM, m, ml3p, lockp)); +} + +static int +pmap_enter_l3c(pmap_t pmap, vm_offset_t va, pt_entry_t l3e, u_int flags, + vm_page_t m, vm_page_t *ml3p, struct rwlock **lockp) +{ + pd_entry_t *l2p, *pde; + pt_entry_t *l3p, *tl3p; + vm_page_t mt; + vm_paddr_t pa; + vm_pindex_t l2pindex; + int lvl; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + KASSERT((va & L3C_OFFSET) == 0, + ("pmap_enter_l3c: va is not aligned")); + KASSERT(!VA_IS_CLEANMAP(va) || (l3e & ATTR_SW_MANAGED) == 0, + ("pmap_enter_l3c: managed mapping within the clean submap")); + + /* + * If the L3 PTP is not resident, we attempt to create it here. + */ + if (!ADDR_IS_KERNEL(va)) { + /* + * Were we given the correct L3 PTP? If so, we can simply + * increment its ref count. + */ + l2pindex = pmap_l2_pindex(va); + if (*ml3p != NULL && (*ml3p)->pindex == l2pindex) { + (*ml3p)->ref_count += L3C_ENTRIES; + } else { +retry: + /* + * Get the L2 entry. + */ + pde = pmap_pde(pmap, va, &lvl); + + /* + * If the L2 entry is a superpage, we either abort or + * demote depending on the given flags. + */ + if (lvl == 1) { + l2p = pmap_l1_to_l2(pde, va); + if ((pmap_load(l2p) & ATTR_DESCR_MASK) == + L2_BLOCK) { + if ((flags & PMAP_ENTER_NOREPLACE) != 0) + return (KERN_FAILURE); + l3p = pmap_demote_l2_locked(pmap, l2p, + va, lockp); + if (l3p != NULL) { + *ml3p = PHYS_TO_VM_PAGE( + PTE_TO_PHYS(pmap_load( + l2p))); + (*ml3p)->ref_count += + L3C_ENTRIES; + goto have_l3p; + } + } + /* We need to allocate an L3 PTP. */ + } + + /* + * If the L3 PTP is mapped, we just increment its ref + * count. Otherwise, we attempt to allocate it. + */ + if (lvl == 2 && pmap_load(pde) != 0) { + *ml3p = PHYS_TO_VM_PAGE(PTE_TO_PHYS( + pmap_load(pde))); + (*ml3p)->ref_count += L3C_ENTRIES; + } else { + *ml3p = _pmap_alloc_l3(pmap, l2pindex, (flags & + PMAP_ENTER_NOSLEEP) != 0 ? NULL : lockp); + if (*ml3p == NULL) { + if ((flags & PMAP_ENTER_NOSLEEP) != 0) + return (KERN_FAILURE); + + /* + * The page table may have changed + * while we slept. + */ + goto retry; + } + (*ml3p)->ref_count += L3C_ENTRIES - 1; + } + } + l3p = (pt_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(*ml3p)); + } else { + *ml3p = NULL; + + /* + * If the L2 entry is a superpage, we either abort or demote + * depending on the given flags. + */ + pde = pmap_pde(kernel_pmap, va, &lvl); + if (lvl == 1) { + l2p = pmap_l1_to_l2(pde, va); + KASSERT((pmap_load(l2p) & ATTR_DESCR_MASK) == L2_BLOCK, + ("pmap_enter_l3c: missing L2 block")); + if ((flags & PMAP_ENTER_NOREPLACE) != 0) + return (KERN_FAILURE); + l3p = pmap_demote_l2_locked(pmap, l2p, va, lockp); + } else { + KASSERT(lvl == 2, + ("pmap_enter_l3c: Invalid level %d", lvl)); + l3p = (pt_entry_t *)PHYS_TO_DMAP(PTE_TO_PHYS( + pmap_load(pde))); + } + } +have_l3p: + l3p = &l3p[pmap_l3_index(va)]; + + /* + * If bti is not the same for the whole L3C range, return failure + * and let vm_fault() cope. Check after L3 allocation, since + * it could sleep. + */ + if (!pmap_bti_same(pmap, va, va + L3C_SIZE)) { + KASSERT(*ml3p != NULL, ("pmap_enter_l3c: missing L3 PTP")); + (*ml3p)->ref_count -= L3C_ENTRIES - 1; + pmap_abort_ptp(pmap, va, *ml3p); + *ml3p = NULL; + return (KERN_PROTECTION_FAILURE); + } + + /* + * If there are existing mappings, either abort or remove them. + */ + if ((flags & PMAP_ENTER_NOREPLACE) != 0) { + for (tl3p = l3p; tl3p < &l3p[L3C_ENTRIES]; tl3p++) { + if (pmap_load(tl3p) != 0) { + if (*ml3p != NULL) + (*ml3p)->ref_count -= L3C_ENTRIES; + return (KERN_FAILURE); + } + } + } else { + /* + * Because we increment the L3 page's reference count above, + * it is guaranteed not to be freed here and we can pass NULL + * instead of a valid free list. + */ + pmap_remove_l3_range(pmap, pmap_load(pmap_l2(pmap, va)), va, + va + L3C_SIZE, NULL, lockp); + } + + /* + * Enter on the PV list if part of our managed memory. + */ + if ((l3e & ATTR_SW_MANAGED) != 0) { + if (!pmap_pv_insert_l3c(pmap, va, m, lockp)) { + if (*ml3p != NULL) { + (*ml3p)->ref_count -= L3C_ENTRIES - 1; + pmap_abort_ptp(pmap, va, *ml3p); + *ml3p = NULL; + } + return (KERN_RESOURCE_SHORTAGE); + } + if ((l3e & ATTR_SW_DBM) != 0) + for (mt = m; mt < &m[L3C_ENTRIES]; mt++) + vm_page_aflag_set(mt, PGA_WRITEABLE); + } + + /* + * Increment counters. + */ + if ((l3e & ATTR_SW_WIRED) != 0) + pmap->pm_stats.wired_count += L3C_ENTRIES; + pmap_resident_count_inc(pmap, L3C_ENTRIES); + + pa = VM_PAGE_TO_PHYS(m); + KASSERT((pa & L3C_OFFSET) == 0, ("pmap_enter_l3c: pa is not aligned")); + + /* + * Sync the icache before the mapping is stored. + */ + if ((l3e & ATTR_S1_XN) == 0 && pmap != kernel_pmap && + m->md.pv_memattr == VM_MEMATTR_WRITE_BACK) + cpu_icache_sync_range((void *)PHYS_TO_DMAP(pa), L3C_SIZE); + + /* + * Map the superpage. + */ + for (tl3p = l3p; tl3p < &l3p[L3C_ENTRIES]; tl3p++) { + pmap_store(tl3p, l3e); + l3e += L3_SIZE; + } + dsb(ishst); + + atomic_add_long(&pmap_l3c_mappings, 1); + CTR2(KTR_PMAP, "pmap_enter_l3c: success for va %#lx in pmap %p", + va, pmap); + return (KERN_SUCCESS); +} + /* * Maps a sequence of resident pages belonging to the same object. * The sequence begins with the given page m_start. This page is @@ -5438,9 +5669,16 @@ pmap_enter_object(pmap_t pmap, vm_offset_t start, vm_offset_t end, va = start + ptoa(diff); if ((va & L2_OFFSET) == 0 && va + L2_SIZE <= end && m->psind == 1 && pmap_ps_enabled(pmap) && - ((rv = pmap_enter_2mpage(pmap, va, m, prot, &lock)) == + ((rv = pmap_enter_l2_rx(pmap, va, m, prot, &lock)) == KERN_SUCCESS || rv == KERN_NO_SPACE)) m = &m[L2_SIZE / PAGE_SIZE - 1]; + else if ((va & L3C_OFFSET) == 0 && va + L3C_SIZE <= end && + (VM_PAGE_TO_PHYS(m) & L3C_OFFSET) == 0 && + vm_reserv_is_populated(m, L3C_ENTRIES) && + pmap_ps_enabled(pmap) && + ((rv = pmap_enter_l3c_rx(pmap, va, m, &mpte, prot, + &lock)) == KERN_SUCCESS || rv == KERN_NO_SPACE)) + m = &m[L3C_ENTRIES - 1]; else mpte = pmap_enter_quick_locked(pmap, va, m, prot, mpte, &lock); From nobody Tue Apr 9 17:07:57 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDXTT3V9Rz5HL8t; Tue, 9 Apr 2024 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 4VDXTT2cgBz4fp4; Tue, 9 Apr 2024 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=1712682477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GAMXWCOKceY0oLeUmZorMBdZAbbHq83RsPv8AA1SL9Q=; b=Nh+XJzbYde4/+XjwC1QZ6eaVvGPrPUR4I+UtRSJIIB/X2QXbMQ5vcJEZxuMT6J3j1nza6q Ka64p6RXDwS5Wyx2Dw4DwQwDAocg1wgzYPjm8l3tK8PjQrYdikrM5iXQzoUBu5Mv756oOm mZbdtlErQgsENvR0yyqyc18QJoTOVrqqpnoJVrE17OhWQUvC0IsXSR8Y2bNyreee/6k59M iEP3qwEGPeJIvaO36P+WOPcRw1HLT5WVXmkvyu4QGh7k6BIUo2P8vmTj4y//5MpRx/mf+u ayX/hrXEWssyFbzwkUEf3Pnu6FiXmOsw2IAfcoti6nShWyfIzYafAx3PQ6e61A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712682477; a=rsa-sha256; cv=none; b=rq2Vmb1SqG+VAhihzsKPh4dcIh2nhYDcOrIVElSL4y0uZpkwaGr0wYtgTgxq0XSRd6m3T3 RciZyWz5ZsRbDRqEXR+C0TXk3OfOzshuaUyOIrievYHoU4GnG+AMwBAzm8NrCkABH1JA62 g2qy6SE201lgllTrZrTnGCo53rFjSzvY/XsFEEAsC9jnN88eMPvzlzgU6xSg8aGfBnpy3E iK0of2nWw7Q1TlvY1CdsbIyUrtsX+nToYmxS6Hu6FnHtuDC2EygNuilexg4T+vU1BN7l57 CwrnpISYFvYx6jHzU238yzpF0gIhJURnE8oMS6JHxkD56Mqe0DBOHgqZ+tKiOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712682477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GAMXWCOKceY0oLeUmZorMBdZAbbHq83RsPv8AA1SL9Q=; b=bTrjZ2SuQ35O2a9BpAleNXXh2u9hfIfGB5mRybziZL6VDuaJKUKBTh3Co7apZDoxlEfv5f UHcKOm4mNVKvmgIxYTBA1pGeZfy2tTVW7Civ2HRNXtfDkHjQSah6mzYn0SbacwlFEqbnNF 7PWpqKJ3qcL7Q3BD3OY2aKVSoSNSxbamI2B/xuuK+ovARBTzrD8B8OitHa5HLRSffX99P5 fPxDGOrxBQ+w5yWAZ6hzIxXv2rw0qBufBQycVVczsThbOUdz0Eof+DIwjT71PM0XT0hIce 7gRHxjBQjm+wD/rWpdvpk7TcPd2vlqnLuRN4K+zpO/HaQWCyy77e29fgny+a4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDXTT2Cs1z13Hk; Tue, 9 Apr 2024 17:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439H7vHK043585; Tue, 9 Apr 2024 17:07:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439H7vOb043582; Tue, 9 Apr 2024 17:07:57 GMT (envelope-from git) Date: Tue, 9 Apr 2024 17:07:57 GMT Message-Id: <202404091707.439H7vOb043582@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Stephen J. Kiernan" Subject: git: 22ca6db50f4e - main - config.mk: Add MK_VIMAGE knob 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: dev-commits-src-main+owner@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: stevek X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 22ca6db50f4e6bd75a141f57cf953d8de6531a06 Auto-Submitted: auto-generated The branch main has been updated by stevek: URL: https://cgit.FreeBSD.org/src/commit/?id=22ca6db50f4e6bd75a141f57cf953d8de6531a06 commit 22ca6db50f4e6bd75a141f57cf953d8de6531a06 Author: Stephen J. Kiernan AuthorDate: 2024-04-09 17:04:24 +0000 Commit: Stephen J. Kiernan CommitDate: 2024-04-09 17:05:56 +0000 config.mk: Add MK_VIMAGE knob Default to VIMAGE as yes. Add VIMAGE to __DEFAULT_DEPENDENT_OPTIONS (to define VIMAGE_SUPPORT) Only output VIMAGE to opt_global.h when VIMAGE support is wanted. Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D39636 --- share/mk/src.opts.mk | 2 ++ sys/conf/config.mk | 2 ++ sys/conf/kern.opts.mk | 4 +++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 99218febf476..a205629fdb2c 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -184,6 +184,7 @@ __DEFAULT_YES_OPTIONS = \ USB \ UTMPX \ VI \ + VIMAGE \ VT \ WIRELESS \ WPA_SUPPLICANT_EAPOL \ @@ -249,6 +250,7 @@ __LIBC_MALLOC_DEFAULT= jemalloc NETGRAPH \ PAM \ TESTS \ + VIMAGE \ WIRELESS __DEFAULT_DEPENDENT_OPTIONS+= ${var}_SUPPORT/${var} .endfor diff --git a/sys/conf/config.mk b/sys/conf/config.mk index 729111b4ef3a..6e26ee0d5e66 100644 --- a/sys/conf/config.mk +++ b/sys/conf/config.mk @@ -11,7 +11,9 @@ opt_global.h: touch ${.TARGET} @echo "#define SMP 1" >> ${.TARGET} @echo "#define MAC 1" >> ${.TARGET} +.if ${MK_VIMAGE_SUPPORT} != "no" @echo "#define VIMAGE 1" >> ${.TARGET} +.endif # Note: Define 'options' in DEFAULTS to 1. For simplicity, no check if the # option is in opt_global.h. Nearly all the options in DEFAUlTS today are in # opt_global.h with GEOM_* being the main exceptions. Move any options from diff --git a/sys/conf/kern.opts.mk b/sys/conf/kern.opts.mk index d9d96a133250..8b1151f3d624 100644 --- a/sys/conf/kern.opts.mk +++ b/sys/conf/kern.opts.mk @@ -52,6 +52,7 @@ __DEFAULT_YES_OPTIONS = \ SPLIT_KERNEL_DEBUG \ TESTS \ USB_GADGET_EXAMPLES \ + VIMAGE \ ZFS __DEFAULT_NO_OPTIONS = \ @@ -182,7 +183,8 @@ OPT_${opt}:= ${rep} # .for var in \ INET \ - INET6 + INET6 \ + VIMAGE .if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" MK_${var}_SUPPORT:= no .else From nobody Tue Apr 9 20:19:34 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDckZ6STvz5Fw0M; Tue, 9 Apr 2024 20:19: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 4VDckZ672Nz50rt; Tue, 9 Apr 2024 20:19:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712693974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HTsC+k8WGYhpzFo3ni6OlBxnLBFpxhZixDeQZy/bWVo=; b=whHg5Adyhk5cGeTttLSKZT+wU6825ZNzP41LNMld3N44+wC+NcjipRMlkbXjjBmku9DSFX CbefBoWxOm6mcGlFwhxppS3BwP9q0FMQUXvJ35jPM/3DWZQPMzPRLO4vmBYHNQNzB5IA+z jbSYt8rxJ0RYwSSnUaV22PQU+K85DyoBQTJ0ulkP9SOK5ucXt8skUwT5EXuTIw1MRZWYoQ 86Ji04hkuHUKFEfHUVp6LIIWn06+Mlc+HdNYpGuTIaWzWKHvLVE8dZa9TODHZchcVgnIHe RQ9hBEdZnxbTPYioArSJoQwyF44Qjj0dOPLwgSWAkI7TctlBo+r+xbLh5lGjIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712693974; a=rsa-sha256; cv=none; b=myK5EahlAfjcM6ZsQ6BR1jdyMtxQ3DKXY8/G6gfREP9VFI5Uo1Mlh84olIyJUvr8ygAKVo 09VDCE2nyMuEpo9WST7j5muPKmE1bW1lFT3hGeYwLqpJEOi8rgRl1XK4SVuCJkRyjZoL5i PmHWJYU3U9Xs0NcGKLqALfgeODiBbL5LreoTn1599utpSdF461e43W4+xow+fIQUVZO6Lm SVHXu28Cy/JolKIioFvobQo2UFYGMCZMNSER8qdcG6I2eulqyw2nvu8fEGLa7gmYgV9stp ScTOreR86jHBp2DeDX54XsLoO/tBVi24YhmDq5XcgRJl6AqA5uCrJevo6iRocQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712693974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HTsC+k8WGYhpzFo3ni6OlBxnLBFpxhZixDeQZy/bWVo=; b=ReOx2XNDYlpOr6Kob7zVpsRAAI6q2Xpryzfi6mDQ1UsjPR2S2nW1IE7lOq9VDE9Ddwb/sX O8WBdAi8c26x5A1Mpy5J5GECFcpd6spL2n3gcJc1NlB9vod9vC8ptwYo2n2F/fHZhqlpTE P7jAvmavhWXjWSmT3PvLSeJHSQmnaA4SJ/mkPVO1UbRXyFhDqvvVj9m3tvLQ5aSWaDpADb aeB1q9EzQlGt5kW9Tw1ryxPU2ojjph9HTQ2udXMKQ/coBe8/PxSswJ8kqOSNNQo3273NO0 u+CVBipu/q5psPEGoj7H1TOzMLHLb76+/shhgUnAiZeOqxcBq3YKHD340/xFdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDckZ5Ytpz17qw; Tue, 9 Apr 2024 20:19:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439KJYgo064399; Tue, 9 Apr 2024 20:19:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439KJYU9064396; Tue, 9 Apr 2024 20:19:34 GMT (envelope-from git) Date: Tue, 9 Apr 2024 20:19:34 GMT Message-Id: <202404092019.439KJYU9064396@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: 5716d902ae1d - main - Revert "unix: new implementation of unix/stream & unix/seqpacket" 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: dev-commits-src-main+owner@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: 5716d902ae1d2dbd396f7808c12d7b0d285f2c9d Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=5716d902ae1d2dbd396f7808c12d7b0d285f2c9d commit 5716d902ae1d2dbd396f7808c12d7b0d285f2c9d Author: Gleb Smirnoff AuthorDate: 2024-04-09 20:15:16 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-09 20:15:47 +0000 Revert "unix: new implementation of unix/stream & unix/seqpacket" The regressions in aio(4) and kernel RPC aren't a 5 minute problem. This reverts commit d80a97def9a1db6f07f5d2e68f7ad62b27918947. This reverts commit d1cbb17a873c787a527316bbb27551e97d5ad30c. This reverts commit fb8a8333b481cc4256d0b3f0b5b4feaa4594e01f. --- sys/kern/uipc_usrreq.c | 959 +++++++++++++++++-------------------------------- sys/sys/sockbuf.h | 7 - 2 files changed, 320 insertions(+), 646 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 4a1c480c43fa..6e83e2be6f05 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -5,7 +5,7 @@ * The Regents of the University of California. All Rights Reserved. * Copyright (c) 2004-2009 Robert N. M. Watson All Rights Reserved. * Copyright (c) 2018 Matthew Macy - * Copyright (c) 2022-2024 Gleb Smirnoff + * Copyright (c) 2022 Gleb Smirnoff * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -141,14 +141,11 @@ static struct timeout_task unp_gc_task; static struct task unp_defer_task; /* - * SOCK_STREAM and SOCK_SEQPACKET unix(4) sockets fully bypass the send buffer, - * however the notion of send buffer still makes sense with them. Its size is - * the amount of space that a send(2) syscall may copyin(9) before checking - * with the receive buffer of a peer. Although not linked anywhere yet, - * pointed to by a stack variable, effectively it is a buffer that needs to be - * sized. + * Both send and receive buffers are allocated PIPSIZ bytes of buffering for + * stream sockets, although the total for sender and receiver is actually + * only PIPSIZ. * - * SOCK_DGRAM sockets really use the sendspace as the maximum datagram size, + * Datagram sockets really use the sendspace as the maximum datagram size, * and don't really want to reserve the sendspace. Their recvspace should be * large enough for at least one max-size datagram plus address. */ @@ -159,7 +156,7 @@ static u_long unpst_sendspace = PIPSIZ; static u_long unpst_recvspace = PIPSIZ; static u_long unpdg_maxdgram = 8*1024; /* support 8KB syslog msgs */ static u_long unpdg_recvspace = 16*1024; -static u_long unpsp_sendspace = PIPSIZ; +static u_long unpsp_sendspace = PIPSIZ; /* really max datagram size */ static u_long unpsp_recvspace = PIPSIZ; static SYSCTL_NODE(_net, PF_LOCAL, local, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, @@ -303,12 +300,13 @@ static void unp_gc(__unused void *, int); static void unp_scan(struct mbuf *, void (*)(struct filedescent **, int)); static void unp_discard(struct file *); static void unp_freerights(struct filedescent **, int); -static int unp_internalize(struct mbuf *, struct mchain *, - struct thread *); +static int unp_internalize(struct mbuf **, struct thread *, + struct mbuf **, u_int *, u_int *); static void unp_internalize_fp(struct file *); static int unp_externalize(struct mbuf *, struct mbuf **, int); static int unp_externalize_fp(struct file *); -static void unp_addsockcred(struct thread *, struct mchain *, int); +static struct mbuf *unp_addsockcred(struct thread *, struct mbuf *, + int, struct mbuf **, u_int *, u_int *); static void unp_process_defers(void * __unused, int); static void @@ -451,7 +449,6 @@ uipc_attach(struct socket *so, int proto, struct thread *td) case SOCK_STREAM: sendspace = unpst_sendspace; recvspace = unpst_recvspace; - STAILQ_INIT(&so->so_rcv.sb_mbq); break; case SOCK_DGRAM: @@ -469,7 +466,6 @@ uipc_attach(struct socket *so, int proto, struct thread *td) case SOCK_SEQPACKET: sendspace = unpsp_sendspace; recvspace = unpsp_recvspace; - STAILQ_INIT(&so->so_rcv.sb_mbq); break; default: @@ -801,10 +797,6 @@ uipc_detach(struct socket *so) taskqueue_enqueue_timeout(taskqueue_thread, &unp_gc_task, -1); switch (so->so_type) { - case SOCK_STREAM: - case SOCK_SEQPACKET: - MPASS(STAILQ_EMPTY(&so->so_rcv.sb_mbq)); - break; case SOCK_DGRAM: /* * Everything should have been unlinked/freed by unp_dispose() @@ -860,10 +852,6 @@ uipc_listen(struct socket *so, int backlog, struct thread *td) error = solisten_proto_check(so); if (error == 0) { cru2xt(td, &unp->unp_peercred); - (void)chgsbsize(so->so_cred->cr_uidinfo, &so->so_snd.sb_hiwat, - 0, RLIM_INFINITY); - (void)chgsbsize(so->so_cred->cr_uidinfo, &so->so_rcv.sb_hiwat, - 0, RLIM_INFINITY); solisten_proto(so, backlog); } SOCK_UNLOCK(so); @@ -897,562 +885,187 @@ uipc_peeraddr(struct socket *so, struct sockaddr *ret) return (0); } -/* - * pr_sosend() called with mbuf instead of uio is a kernel thread. NFS, - * netgraph(4) and other subsystems can call into socket code. The - * function will condition the mbuf so that it can be safely put onto socket - * buffer and calculate its char count and mbuf count. - * - * Note: we don't support receiving control data from a kernel thread. Our - * pr_sosend methods have MPASS() to check that. This may change. - */ -static void -uipc_reset_kernel_mbuf(struct mbuf *m, struct mchain *mc) -{ - - M_ASSERTPKTHDR(m); - - m_clrprotoflags(m); - m_tag_delete_chain(m, NULL); - m->m_pkthdr.rcvif = NULL; - m->m_pkthdr.flowid = 0; - m->m_pkthdr.csum_flags = 0; - m->m_pkthdr.fibnum = 0; - m->m_pkthdr.rsstype = 0; - - mc_init_m(mc, m); - MPASS(m->m_pkthdr.len == mc->mc_len); -} - -#ifdef SOCKBUF_DEBUG -static inline void -uipc_stream_sbcheck(struct sockbuf *sb) +static int +uipc_rcvd(struct socket *so, int flags) { - struct mbuf *d; - u_int dcc, dctl, dmbcnt; - - dcc = dctl = dmbcnt = 0; - STAILQ_FOREACH(d, &sb->sb_mbq, m_stailq) { - if (d->m_type == MT_CONTROL) - dctl += d->m_len; - else if (d->m_type == MT_DATA) - dcc += d->m_len; - else - MPASS(0); - dmbcnt += MSIZE; - if (d->m_flags & M_EXT) - dmbcnt += d->m_ext.ext_size; - if (d->m_stailq.stqe_next == NULL) - MPASS(sb->sb_mbq.stqh_last == &d->m_stailq.stqe_next); - } - MPASS(dcc == sb->sb_acc); - MPASS(dcc == sb->sb_ccc); - MPASS(dctl == sb->sb_ctl); - MPASS(dmbcnt == sb->sb_mbcnt); -} -#define UIPC_STREAM_SBCHECK(sb) uipc_stream_sbcheck(sb) -#else -#define UIPC_STREAM_SBCHECK(sb) do {} while (0) -#endif + struct unpcb *unp, *unp2; + struct socket *so2; + u_int mbcnt, sbcc; -/* - * uipc_stream_sbspace() returns how much a writer can send, limited by char - * count or mbuf memory use, whatever ends first. - * - * XXXGL: sb_mbcnt may overcommit sb_mbmax in case if previous write observed - * 'space < mbspace', but mchain allocated to hold 'space' bytes of data ended - * up with 'mc_mlen > mbspace'. A typical scenario would be a full buffer with - * writer trying to push in a large write, and a slow reader, that reads just - * a few bytes at a time. In that case writer will keep creating new mbufs - * with mc_split(). These mbufs will carry little chars, but will all point at - * the same cluster, thus each adding cluster size to sb_mbcnt. This means we - * will count same cluster many times potentially underutilizing socket buffer. - * We aren't optimizing towards ineffective readers. Classic socket buffer had - * the same "feature". - */ -static inline u_int -uipc_stream_sbspace(struct sockbuf *sb) -{ - u_int space, mbspace; + unp = sotounpcb(so); + KASSERT(unp != NULL, ("%s: unp == NULL", __func__)); + KASSERT(so->so_type == SOCK_STREAM || so->so_type == SOCK_SEQPACKET, + ("%s: socktype %d", __func__, so->so_type)); - MPASS(sb->sb_hiwat >= sb->sb_ccc + sb->sb_ctl); - space = sb->sb_hiwat - sb->sb_ccc - sb->sb_ctl; - if (__predict_true(sb->sb_mbmax >= sb->sb_mbcnt)) - mbspace = sb->sb_mbmax - sb->sb_mbcnt; - else + /* + * Adjust backpressure on sender and wakeup any waiting to write. + * + * The unp lock is acquired to maintain the validity of the unp_conn + * pointer; no lock on unp2 is required as unp2->unp_socket will be + * static as long as we don't permit unp2 to disconnect from unp, + * which is prevented by the lock on unp. We cache values from + * so_rcv to avoid holding the so_rcv lock over the entire + * transaction on the remote so_snd. + */ + SOCKBUF_LOCK(&so->so_rcv); + mbcnt = so->so_rcv.sb_mbcnt; + sbcc = sbavail(&so->so_rcv); + SOCKBUF_UNLOCK(&so->so_rcv); + /* + * There is a benign race condition at this point. If we're planning to + * clear SB_STOP, but uipc_send is called on the connected socket at + * this instant, it might add data to the sockbuf and set SB_STOP. Then + * we would erroneously clear SB_STOP below, even though the sockbuf is + * full. The race is benign because the only ill effect is to allow the + * sockbuf to exceed its size limit, and the size limits are not + * strictly guaranteed anyway. + */ + UNP_PCB_LOCK(unp); + unp2 = unp->unp_conn; + if (unp2 == NULL) { + UNP_PCB_UNLOCK(unp); return (0); - - return (min(space, mbspace)); + } + so2 = unp2->unp_socket; + SOCKBUF_LOCK(&so2->so_snd); + if (sbcc < so2->so_snd.sb_hiwat && mbcnt < so2->so_snd.sb_mbmax) + so2->so_snd.sb_flags &= ~SB_STOP; + sowwakeup_locked(so2); + UNP_PCB_UNLOCK(unp); + return (0); } static int -uipc_sosend_stream_or_seqpacket(struct socket *so, struct sockaddr *addr, - struct uio *uio, struct mbuf *m, struct mbuf *c, int flags, - struct thread *td) +uipc_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *nam, + struct mbuf *control, struct thread *td) { struct unpcb *unp, *unp2; struct socket *so2; - struct sockbuf *sb; - struct mchain mc, cmc; - ssize_t resid, sent; - bool nonblock, eor; + u_int mbcnt, sbcc; int error; - MPASS((uio != NULL && m == NULL) || (m != NULL && uio == NULL)); - MPASS(m == NULL || c == NULL); - - if (__predict_false(flags & MSG_OOB)) - return (EOPNOTSUPP); - - nonblock = (so->so_state & SS_NBIO) || - (flags & (MSG_DONTWAIT | MSG_NBIO)); - eor = flags & MSG_EOR; + unp = sotounpcb(so); + KASSERT(unp != NULL, ("%s: unp == NULL", __func__)); + KASSERT(so->so_type == SOCK_STREAM || so->so_type == SOCK_SEQPACKET, + ("%s: socktype %d", __func__, so->so_type)); - mc = MCHAIN_INITIALIZER(&mc); - cmc = MCHAIN_INITIALIZER(&cmc); - sent = 0; + error = 0; + if (flags & PRUS_OOB) { + error = EOPNOTSUPP; + goto release; + } + if (control != NULL && + (error = unp_internalize(&control, td, NULL, NULL, NULL))) + goto release; - if (m == NULL) { - if (c != NULL && (error = unp_internalize(c, &cmc, td))) + unp2 = NULL; + if ((so->so_state & SS_ISCONNECTED) == 0) { + if (nam != NULL) { + if ((error = unp_connect(so, nam, td)) != 0) + goto out; + } else { + error = ENOTCONN; goto out; - /* - * Optimization for a case when our send fits into the receive - * buffer - do the copyin before taking any locks, sized to our - * send buffer. Later copyins will also take into account - * space in the peer's receive buffer. - */ - resid = uio->uio_resid; - error = mc_uiotomc(&mc, uio, so->so_snd.sb_hiwat, 0, M_WAITOK, - eor ? M_EOR : 0); - if (__predict_false(error)) - goto out2; - } else - uipc_reset_kernel_mbuf(m, &mc); - - error = SOCK_IO_SEND_LOCK(so, SBLOCKWAIT(flags)); - if (error) - goto out2; + } + } - unp = sotounpcb(so); UNP_PCB_LOCK(unp); - unp2 = unp_pcb_lock_peer(unp); - if (__predict_false(so->so_error != 0)) { - error = so->so_error; - so->so_error = 0; - UNP_PCB_UNLOCK(unp); - if (unp2 != NULL) - UNP_PCB_UNLOCK(unp2); - goto out3; - } - if (__predict_false(unp2 == NULL)) { - /* - * Different error code for a previously connected socket and - * a never connected one. The SS_ISDISCONNECTED is set in the - * unp_soisdisconnected() and is synchronized by the pcb lock. - */ - error = so->so_state & SS_ISDISCONNECTED ? EPIPE : ENOTCONN; + if ((unp2 = unp_pcb_lock_peer(unp)) == NULL) { UNP_PCB_UNLOCK(unp); - goto out3; + error = ENOTCONN; + goto out; + } else if (so->so_snd.sb_state & SBS_CANTSENDMORE) { + unp_pcb_unlock_pair(unp, unp2); + error = EPIPE; + goto out; } UNP_PCB_UNLOCK(unp); - + if ((so2 = unp2->unp_socket) == NULL) { + UNP_PCB_UNLOCK(unp2); + error = ENOTCONN; + goto out; + } + SOCKBUF_LOCK(&so2->so_rcv); if (unp2->unp_flags & UNP_WANTCRED_MASK) { /* * Credentials are passed only once on SOCK_STREAM and * SOCK_SEQPACKET (LOCAL_CREDS => WANTCRED_ONESHOT), or * forever (LOCAL_CREDS_PERSISTENT => WANTCRED_ALWAYS). */ - unp_addsockcred(td, &cmc, unp2->unp_flags); + control = unp_addsockcred(td, control, unp2->unp_flags, NULL, + NULL, NULL); unp2->unp_flags &= ~UNP_WANTCRED_ONESHOT; } /* - * Cycle through the data to send and available space in the peer's - * receive buffer. Put a reference on the peer socket, so that it - * doesn't get freed while we sbwait(). If peer goes away, we will - * observe the SBS_CANTRCVMORE and our sorele() will finalize peer's - * socket destruction. + * Send to paired receive port and wake up readers. Don't + * check for space available in the receive buffer if we're + * attaching ancillary data; Unix domain sockets only check + * for space in the sending sockbuf, and that check is + * performed one level up the stack. At that level we cannot + * precisely account for the amount of buffer space used + * (e.g., because control messages are not yet internalized). */ - so2 = unp2->unp_socket; - soref(so2); - UNP_PCB_UNLOCK(unp2); - sb = &so2->so_rcv; - while (mc.mc_len + cmc.mc_len > 0) { - struct mchain mcnext = MCHAIN_INITIALIZER(&mcnext); - u_int space; + switch (so->so_type) { + case SOCK_STREAM: + if (control != NULL) { + sbappendcontrol_locked(&so2->so_rcv, + m->m_len > 0 ? m : NULL, control, flags); + control = NULL; + } else + sbappend_locked(&so2->so_rcv, m, flags); + break; - SOCK_RECVBUF_LOCK(so2); -restart: - UIPC_STREAM_SBCHECK(sb); - if (__predict_false(cmc.mc_len > sb->sb_hiwat)) { - SOCK_RECVBUF_UNLOCK(so2); - error = EMSGSIZE; - goto out4; - } - if (__predict_false(sb->sb_state & SBS_CANTRCVMORE)) { - SOCK_RECVBUF_UNLOCK(so2); - error = EPIPE; - goto out4; - } - /* - * Wait on the peer socket receive buffer until we have enough - * space to put at least control. The data is a stream and can - * be put partially, but control is really a datagram. - */ - space = uipc_stream_sbspace(sb); - if (space < sb->sb_lowat || space < cmc.mc_len) { - if (nonblock) { - SOCK_RECVBUF_UNLOCK(so2); - error = EWOULDBLOCK; - goto out4; - } - if ((error = sbwait(so2, SO_RCV)) != 0) { - SOCK_RECVBUF_UNLOCK(so2); - goto out4; - } else - goto restart; - } - MPASS(space >= cmc.mc_len); - space -= cmc.mc_len; - if (space == 0) { - /* There is space only to send control. */ - MPASS(!STAILQ_EMPTY(&cmc.mc_q)); - mcnext = mc; - mc = MCHAIN_INITIALIZER(&mc); - } else if (space < mc.mc_len) { - /* Not enough space. */ - if (__predict_false(mc_split(&mc, &mcnext, space, - M_NOWAIT) == ENOMEM)) { - /* - * If allocation failed use M_WAITOK and merge - * the chain back. Next time mc_split() will - * easily split at the same place. Only if we - * race with setsockopt(SO_RCVBUF) shrinking - * sb_hiwat can this happen more than once. - */ - SOCK_RECVBUF_UNLOCK(so2); - (void)mc_split(&mc, &mcnext, space, M_WAITOK); - mc_concat(&mc, &mcnext); - SOCK_RECVBUF_LOCK(so2); - goto restart; - } - MPASS(mc.mc_len == space); - } - if (!STAILQ_EMPTY(&cmc.mc_q)) { - STAILQ_CONCAT(&sb->sb_mbq, &cmc.mc_q); - sb->sb_ctl += cmc.mc_len; - sb->sb_mbcnt += cmc.mc_mlen; - cmc.mc_len = 0; - } - sent += mc.mc_len; - sb->sb_acc += mc.mc_len; - sb->sb_ccc += mc.mc_len; - sb->sb_mbcnt += mc.mc_mlen; - STAILQ_CONCAT(&sb->sb_mbq, &mc.mc_q); - UIPC_STREAM_SBCHECK(sb); - space = uipc_stream_sbspace(sb); - sorwakeup_locked(so2); - mc = mcnext; - if (STAILQ_EMPTY(&mc.mc_q) && - uio != NULL && uio->uio_resid > 0) { - /* - * Copyin sum of peer's receive buffer space and our - * sb_hiwat, which is our virtual send buffer size. - * See comment above unpst_sendspace declaration. - * We are reading sb_hiwat locklessly, cause a) we - * don't care about an application that does send(2) - * and setsockopt(2) racing internally, and for an - * application that does this in sequence we will see - * the correct value cause sbsetopt() uses buffer lock - * and we also have already acquired it at least once. - */ - error = mc_uiotomc(&mc, uio, space + - atomic_load_int(&so->so_snd.sb_hiwat), 0, M_WAITOK, - eor ? M_EOR : 0); - if (__predict_false(error)) - goto out4; - } + case SOCK_SEQPACKET: + if (sbappendaddr_nospacecheck_locked(&so2->so_rcv, + &sun_noname, m, control)) + control = NULL; + break; } - MPASS(STAILQ_EMPTY(&mc.mc_q)); - - td->td_ru.ru_msgsnd++; -out4: - sorele(so2); -out3: - SOCK_IO_SEND_UNLOCK(so); -out2: - if (!mc_empty(&cmc)) - unp_scan(mc_first(&cmc), unp_freerights); -out: - mc_freem(&mc); - mc_freem(&cmc); - - if (uio != NULL) - uio->uio_resid = resid - sent; - - return (error); -} - -static int -uipc_soreceive_stream_or_seqpacket(struct socket *so, struct sockaddr **psa, - struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp) -{ - struct sockbuf *sb = &so->so_rcv; - struct mbuf *control, *m, *first, *last, *next; - u_int ctl, space, datalen, mbcnt, lastlen; - int error, flags; - bool nonblock, waitall, peek; - - MPASS(mp0 == NULL); - - if (psa != NULL) - *psa = NULL; - if (controlp != NULL) - *controlp = NULL; - - flags = flagsp != NULL ? *flagsp : 0; - nonblock = (so->so_state & SS_NBIO) || - (flags & (MSG_DONTWAIT | MSG_NBIO)); - peek = flags & MSG_PEEK; - waitall = (flags & MSG_WAITALL) && !peek; + mbcnt = so2->so_rcv.sb_mbcnt; + sbcc = sbavail(&so2->so_rcv); + if (sbcc) + sorwakeup_locked(so2); + else + SOCKBUF_UNLOCK(&so2->so_rcv); /* - * This check may fail only on a socket that never went through - * connect(2). We can check this locklessly, cause: a) for a new born - * socket we don't care about applications that may race internally - * between connect(2) and recv(2), and b) for a dying socket if we - * miss update by unp_sosidisconnected(), we would still get the check - * correct. For dying socket we would observe SBS_CANTRCVMORE later. + * The PCB lock on unp2 protects the SB_STOP flag. Without it, + * it would be possible for uipc_rcvd to be called at this + * point, drain the receiving sockbuf, clear SB_STOP, and then + * we would set SB_STOP below. That could lead to an empty + * sockbuf having SB_STOP set */ - if (__predict_false((atomic_load_short(&so->so_state) & - (SS_ISCONNECTED|SS_ISDISCONNECTED)) == 0)) - return (ENOTCONN); - - error = SOCK_IO_RECV_LOCK(so, SBLOCKWAIT(flags)); - if (__predict_false(error)) - return (error); - -restart: - SOCK_RECVBUF_LOCK(so); - UIPC_STREAM_SBCHECK(sb); - while (sb->sb_acc < sb->sb_lowat && - (sb->sb_ctl == 0 || controlp == NULL)) { - if (so->so_error) { - error = so->so_error; - if (!peek) - so->so_error = 0; - SOCK_RECVBUF_UNLOCK(so); - SOCK_IO_RECV_UNLOCK(so); - return (error); - } - if (sb->sb_state & SBS_CANTRCVMORE) { - SOCK_RECVBUF_UNLOCK(so); - SOCK_IO_RECV_UNLOCK(so); - return (0); - } - if (nonblock) { - SOCK_RECVBUF_UNLOCK(so); - SOCK_IO_RECV_UNLOCK(so); - return (EWOULDBLOCK); - } - error = sbwait(so, SO_RCV); - if (error) { - SOCK_RECVBUF_UNLOCK(so); - SOCK_IO_RECV_UNLOCK(so); - return (error); - } - } - - MPASS(STAILQ_FIRST(&sb->sb_mbq)); - MPASS(sb->sb_acc > 0 || sb->sb_ctl > 0); - - mbcnt = 0; - ctl = 0; - first = STAILQ_FIRST(&sb->sb_mbq); - if (first->m_type == MT_CONTROL) { - control = first; - STAILQ_FOREACH_FROM(first, &sb->sb_mbq, m_stailq) { - if (first->m_type != MT_CONTROL) - break; - ctl += first->m_len; - mbcnt += MSIZE; - if (first->m_flags & M_EXT) - mbcnt += first->m_ext.ext_size; - } - } else - control = NULL; - + SOCKBUF_LOCK(&so->so_snd); + if (sbcc >= so->so_snd.sb_hiwat || mbcnt >= so->so_snd.sb_mbmax) + so->so_snd.sb_flags |= SB_STOP; + SOCKBUF_UNLOCK(&so->so_snd); + UNP_PCB_UNLOCK(unp2); + m = NULL; +out: /* - * Find split point for the next copyout. On exit from the loop: - * last == NULL - socket to be flushed - * last != NULL - * lastlen > last->m_len - uio to be filled, last to be adjusted - * lastlen == 0 - MT_CONTROL or M_EOR encountered + * PRUS_EOF is equivalent to pr_send followed by pr_shutdown. */ - space = uio->uio_resid; - datalen = 0; - for (m = first, last = NULL; m != NULL; m = STAILQ_NEXT(m, m_stailq)) { - if (m->m_type != MT_DATA) { - last = m; - lastlen = 0; - break; - } - if (space >= m->m_len) { - space -= m->m_len; - datalen += m->m_len; - mbcnt += MSIZE; - if (m->m_flags & M_EXT) - mbcnt += m->m_ext.ext_size; - if (m->m_flags & M_EOR) { - last = STAILQ_NEXT(m, m_stailq); - lastlen = 0; - flags |= MSG_EOR; - break; - } - } else { - datalen += space; - last = m; - lastlen = space; - break; - } - } - - UIPC_STREAM_SBCHECK(sb); - if (!peek) { - if (last == NULL) - STAILQ_INIT(&sb->sb_mbq); - else { - STAILQ_FIRST(&sb->sb_mbq) = last; - MPASS(last->m_len > lastlen); - last->m_len -= lastlen; - last->m_data += lastlen; - } - MPASS(sb->sb_acc >= datalen); - sb->sb_acc -= datalen; - sb->sb_ccc -= datalen; - MPASS(sb->sb_ctl >= ctl); - sb->sb_ctl -= ctl; - MPASS(sb->sb_mbcnt >= mbcnt); - sb->sb_mbcnt -= mbcnt; - UIPC_STREAM_SBCHECK(sb); - /* Mind the name. We are waking writer here, not reader. */ - sorwakeup_locked(so); - } else - SOCK_RECVBUF_UNLOCK(so); - - while (control != NULL && control->m_type == MT_CONTROL) { - if (!peek) { - struct mbuf *c; - - /* - * unp_externalize() failure must abort entire read(2). - * Such failure should also free the problematic - * control, so that socket is not left in a state - * where it can't progress forward with reading. - * Probability of such a failure is really low, so it - * is fine that we need to perform pretty complex - * operation here to reconstruct the buffer. - * XXXGL: unp_externalize() used to be - * dom_externalize() KBI and it frees whole chain, so - * we need to feed it with mbufs one by one. - */ - c = control; - control = STAILQ_NEXT(c, m_stailq); - STAILQ_NEXT(c, m_stailq) = NULL; - error = unp_externalize(c, controlp, flags); - if (__predict_false(error)) { - SOCK_RECVBUF_LOCK(so); - UIPC_STREAM_SBCHECK(sb); - MPASS(!(sb->sb_state & SBS_CANTRCVMORE)); - /* XXXGL: STAILQ_PREPEND */ - if (STAILQ_EMPTY(&sb->sb_mbq) && - control != NULL) - STAILQ_INSERT_HEAD(&sb->sb_mbq, - control, m_stailq); - else - STAILQ_FIRST(&sb->sb_mbq) = control; - sb->sb_ctl = sb->sb_acc = sb->sb_ccc = - sb->sb_mbcnt = 0; - STAILQ_FOREACH(m, &sb->sb_mbq, m_stailq) { - if (m->m_type == MT_DATA) { - sb->sb_acc += m->m_len; - sb->sb_ccc += m->m_len; - } else { - sb->sb_ctl += m->m_len; - } - sb->sb_mbcnt += MSIZE; - if (m->m_flags & M_EXT) - sb->sb_mbcnt += - m->m_ext.ext_size; - } - UIPC_STREAM_SBCHECK(sb); - SOCK_RECVBUF_UNLOCK(so); - SOCK_IO_RECV_UNLOCK(so); - return (error); - } - if (controlp != NULL) { - while (*controlp != NULL) - controlp = &(*controlp)->m_next; - } - } else { - /* - * XXXGL - * - * In MSG_PEEK case control is not externalized. This - * means we are leaking some kernel pointers to the - * userland. They are useless to a law-abiding - * application, but may be useful to a malware. This - * is what the historical implementation in the - * soreceive_generic() did. To be improved? - */ - if (controlp != NULL) { - *controlp = m_copym(control, 0, control->m_len, - M_WAITOK); - controlp = &(*controlp)->m_next; - } - control = STAILQ_NEXT(control, m_stailq); - } + if (flags & PRUS_EOF) { + UNP_PCB_LOCK(unp); + socantsendmore(so); + unp_shutdown(unp); + UNP_PCB_UNLOCK(unp); } + if (control != NULL && error != 0) + unp_scan(control, unp_freerights); - for (m = first; m != last; m = next) { - next = STAILQ_NEXT(m, m_stailq); - error = uiomove(mtod(m, char *), m->m_len, uio); - if (__predict_false(error)) { - SOCK_IO_RECV_UNLOCK(so); - if (!peek) - for (; m != last; m = next) { - next = STAILQ_NEXT(m, m_stailq); - m_free(m); - } - return (error); - } - if (!peek) - m_free(m); - } - if (last != NULL && lastlen > 0) { - if (!peek) { - MPASS(!(m->m_flags & M_PKTHDR)); - MPASS(last->m_data - M_START(last) >= lastlen); - error = uiomove(mtod(last, char *) - lastlen, - lastlen, uio); - } else - error = uiomove(mtod(last, char *), lastlen, uio); - if (__predict_false(error)) { - SOCK_IO_RECV_UNLOCK(so); - return (error); - } - } - if (waitall && !(flags & MSG_EOR) && uio->uio_resid > 0) - goto restart; - SOCK_IO_RECV_UNLOCK(so); - - if (flagsp != NULL) - *flagsp |= flags; - - uio->uio_td->td_ru.ru_msgrcv++; - - return (0); +release: + if (control != NULL) + m_freem(control); + /* + * In case of PRUS_NOTREADY, uipc_ready() is responsible + * for freeing memory. + */ + if (m != NULL && (flags & PRUS_NOTREADY) == 0) + m_freem(m); + return (error); } /* PF_UNIX/SOCK_DGRAM version of sbspace() */ @@ -1498,8 +1111,7 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, const struct sockaddr *from; struct socket *so2; struct sockbuf *sb; - struct mchain cmc = MCHAIN_INITIALIZER(&cmc); - struct mbuf *f; + struct mbuf *f, *clast; u_int cc, ctl, mbcnt; u_int dcc __diagused, dctl __diagused, dmbcnt __diagused; int error; @@ -1508,6 +1120,7 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, error = 0; f = NULL; + ctl = 0; if (__predict_false(flags & MSG_OOB)) { error = EOPNOTSUPP; @@ -1526,14 +1139,16 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, f = m_gethdr(M_WAITOK, MT_SONAME); cc = m->m_pkthdr.len; mbcnt = MSIZE + m->m_pkthdr.memlen; - if (c != NULL && (error = unp_internalize(c, &cmc, td))) + if (c != NULL && + (error = unp_internalize(&c, td, &clast, &ctl, &mbcnt))) goto out; } else { - struct mchain mc; + /* pr_sosend() with mbuf usually is a kernel thread. */ + + M_ASSERTPKTHDR(m); + if (__predict_false(c != NULL)) + panic("%s: control from a kernel thread", __func__); - uipc_reset_kernel_mbuf(m, &mc); - cc = mc.mc_len; - mbcnt = mc.mc_mlen; if (__predict_false(m->m_pkthdr.len > unpdg_maxdgram)) { error = EMSGSIZE; goto out; @@ -1542,6 +1157,22 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, error = ENOBUFS; goto out; } + /* Condition the foreign mbuf to our standards. */ + m_clrprotoflags(m); + m_tag_delete_chain(m, NULL); + m->m_pkthdr.rcvif = NULL; + m->m_pkthdr.flowid = 0; + m->m_pkthdr.csum_flags = 0; + m->m_pkthdr.fibnum = 0; + m->m_pkthdr.rsstype = 0; + + cc = m->m_pkthdr.len; + mbcnt = MSIZE; + for (struct mbuf *mb = m; mb != NULL; mb = mb->m_next) { + mbcnt += MSIZE; + if (mb->m_flags & M_EXT) + mbcnt += mb->m_ext.ext_size; + } } unp = sotounpcb(so); @@ -1593,7 +1224,8 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, } if (unp2->unp_flags & UNP_WANTCRED_MASK) - unp_addsockcred(td, &cmc, unp2->unp_flags); + c = unp_addsockcred(td, c, unp2->unp_flags, &clast, &ctl, + &mbcnt); if (unp->unp_addr != NULL) from = (struct sockaddr *)unp->unp_addr; else @@ -1601,21 +1233,25 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, f->m_len = from->sa_len; MPASS(from->sa_len <= MLEN); bcopy(from, mtod(f, void *), from->sa_len); + ctl += f->m_len; /* * Concatenate mbufs: from -> control -> data. * Save overall cc and mbcnt in "from" mbuf. */ - if (!STAILQ_EMPTY(&cmc.mc_q)) { - f->m_next = mc_first(&cmc); - mc_last(&cmc)->m_next = m; - /* XXXGL: This is dirty as well as rollback after ENOBUFS. */ - STAILQ_INIT(&cmc.mc_q); + if (c != NULL) { +#ifdef INVARIANTS + struct mbuf *mc; + + for (mc = c; mc->m_next != NULL; mc = mc->m_next); + MPASS(mc == clast); +#endif + f->m_next = c; + clast->m_next = m; + c = NULL; } else f->m_next = m; m = NULL; - ctl = f->m_len + cmc.mc_len; - mbcnt += cmc.mc_mlen; #ifdef INVARIANTS dcc = dctl = dmbcnt = 0; for (struct mbuf *mb = f; mb != NULL; mb = mb->m_next) { @@ -1681,7 +1317,7 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, soroverflow_locked(so2); error = ENOBUFS; if (f->m_next->m_type == MT_CONTROL) { - STAILQ_FIRST(&cmc.mc_q) = f->m_next; + c = f->m_next; f->m_next = NULL; } } @@ -1696,12 +1332,13 @@ uipc_sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, out3: SOCK_IO_SEND_UNLOCK(so); out2: - if (!mc_empty(&cmc)) - unp_scan(mc_first(&cmc), unp_freerights); + if (c) + unp_scan(c, unp_freerights); out: if (f) m_freem(f); - mc_freem(&cmc); + if (c) + m_freem(c); if (m) m_freem(m); @@ -1942,7 +1579,6 @@ uipc_soreceive_dgram(struct socket *so, struct sockaddr **psa, struct uio *uio, return (0); } -#if 0 /* No sendfile support. */ static bool uipc_ready_scan(struct socket *so, struct mbuf *m, int count, int *errorp) { @@ -2022,7 +1658,6 @@ uipc_ready(struct socket *so, struct mbuf *m, int count) } return (error); } -#endif static int uipc_sense(struct socket *so, struct stat *sb) @@ -2461,19 +2096,6 @@ unp_connect2(struct socket *so, struct socket *so2) } } -static void -unp_soisdisconnected(struct socket *so) -{ - SOCK_LOCK(so); - MPASS(!SOLISTENING(so)); - so->so_state |= SS_ISDISCONNECTED; - so->so_state &= ~SS_ISCONNECTED; - SOCK_RECVBUF_LOCK(so); - socantrcvmore_locked(so); - SOCK_UNLOCK(so); - wakeup(&so->so_timeo); /* XXXGL: is this needed? */ -} - *** 398 LINES SKIPPED *** From nobody Tue Apr 9 21:56:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDfsy0FVzz5G5fb; Tue, 9 Apr 2024 21:56: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 4VDfsx6p85z57N2; Tue, 9 Apr 2024 21:56:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712699766; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FWKrGnJdR8wb1xSKoQPi3iTEGVS40rZr7HRzh5XH94Q=; b=isDEEHvnJCFTQ4jV07OXpQ7ENUJob0inZXYtcOOwP5cI/fK2CzWs+0q09RMZJWXpvgZjSe IzHp4A5tQgiciQpmAvU+geGqNvuRZG2VJ1AVBnnC+c14i6q6XBmxVE32AQixo3eFamTj/F opR1l2waM3TQvk9deQ58qpQN2+ReqdHKQzE3hvQPgKeTg6k+YEUahS/YQ4ZmJOf8ZfnnIa xiQ06bTiTv7FGBkog0sSxnrhk1QmSRZvanaEYNhkBuZ7oWBf0CgPCJLj6AHGz0tfLI2Yx2 CBz55KGz3ZXqPwjtihWTFUIQUlpasxP7N2JXdjYGPQt6leXYww1tUa1aO3sHYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712699766; a=rsa-sha256; cv=none; b=mYi74uw1FKZITooaGQVbmGzBu8BRwjSzYRD23VlQ7lwmjXexG/yfEdUMBQeQTMebsNS7G4 h4KiwkaHOUADl3kq5ChP4MbrDM88Qu/bdlHwl+Qj0BR150fzIOxpKpF41oOvQJrhd6dhW2 xvqbbD49x8+Zyx6rFrFUovDD8QBRjnU69kgoWepgTonwZf724bji68BPn/VElvyrh+LvmT MJs+/vt5OYierkygDCs3ZzmQHYa7bEXEF6A5hl/tHMBR39auxtiYtzSnPEi5xsKdVqhKy4 e7fAcr5QeXzK4QQWI789obX9LtPCBB7a4mrcTyhqLPPg51eniFUEuELqPX1PqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712699766; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FWKrGnJdR8wb1xSKoQPi3iTEGVS40rZr7HRzh5XH94Q=; b=Ly7B57a2VcMMkxqAP77fmB464LKtT9rWD5W5/AUvU5ajO0TV/KwL66kOPotwU8ZbmcdKlC 1geMt9Rw1bds+Gogvg+ykYuyP0r7mF58aCbq1+I0KeSQXYgjBVSfs0WgQc2ixPwOMDwDqx th4bT9IOZ1Jw16wBmcfaF+p4viY3LbngWhGQ9WulT+ZFOMCZGj/lt1GSdORV/WM8lD5yTz LFElFxwRJ0zOkcIklcgjR7qi0SIWtVjWmnp7r1+YSmq9BTIljRDO+A5iVudFfA6oTYIi3d PrWgt3Jm4znroUtfI67kOlJ/UKZSLsUcuPAkm3l2eJtmpaf/jleNcAPtKapd2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDfsx6PWcz1B5X; Tue, 9 Apr 2024 21:56:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439Lu5eJ031470; Tue, 9 Apr 2024 21:56:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439Lu5bu031467; Tue, 9 Apr 2024 21:56:05 GMT (envelope-from git) Date: Tue, 9 Apr 2024 21:56:05 GMT Message-Id: <202404092156.439Lu5bu031467@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: 03713f805a91 - main - pci_host_generic: Tolerate range resource allocation failures 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: dev-commits-src-main+owner@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: 03713f805a91749eabcfb2e23e86489b2d4034df Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=03713f805a91749eabcfb2e23e86489b2d4034df commit 03713f805a91749eabcfb2e23e86489b2d4034df Author: John Baldwin AuthorDate: 2024-04-09 21:55:40 +0000 Commit: John Baldwin CommitDate: 2024-04-09 21:55:40 +0000 pci_host_generic: Tolerate range resource allocation failures QEMU for armv7 includes a PCI memory range whose CPU address is greater than 4GB. This falls outside the range of armv7's global mem_rman used by the nexus driver. As a result, pcib0 fails to attach blocking all PCI devices. Instead, change the driver to be a bit more tolerant. If allocating a resource for a range fails, don't fail attaching the entire driver, but do skip adding the associated PCI range to the relevant rman in the pcib driver. This will prevent child devices from using BARs that allocate from this range. In the case of QEMU on armv7 devices can still allocate from an earlier PCI memory range that is within the 32-bit address space (and in fact none of the firmware-assigned memory BARs use addresses from the upper range). While here, reorder the operations on I/O ranges a bit: 1) print the range under bootverbose first (rather than last) so that the range is printed before any relevant errors for the range, 2) move rman_manage_region last after the parent resource has been set and allocated. Reported by: markj, Jenkins Reviewed by: markj Fixes: d79b6b8ec267 pci_host_generic: Don't rewrite resource start address for translation Differential Revision: https://reviews.freebsd.org/D44698 --- sys/dev/pci/pci_host_generic.c | 55 ++++++++++++------------------------------ 1 file changed, 16 insertions(+), 39 deletions(-) diff --git a/sys/dev/pci/pci_host_generic.c b/sys/dev/pci/pci_host_generic.c index 0bdc121f9727..82ed51460621 100644 --- a/sys/dev/pci/pci_host_generic.c +++ b/sys/dev/pci/pci_host_generic.c @@ -80,6 +80,7 @@ pci_host_generic_core_attach(device_t dev) struct resource_map map; #endif struct generic_pcie_core_softc *sc; + struct rman *rm; uint64_t phys_base; uint64_t pci_base; uint64_t size; @@ -183,75 +184,51 @@ pci_host_generic_core_attach(device_t dev) range_descr = "prefetch"; flags = RF_PREFETCHABLE; type = SYS_RES_MEMORY; - error = rman_manage_region(&sc->pmem_rman, - pci_base, pci_base + size - 1); + rm = &sc->pmem_rman; break; case FLAG_TYPE_MEM: range_descr = "memory"; flags = 0; type = SYS_RES_MEMORY; - error = rman_manage_region(&sc->mem_rman, - pci_base, pci_base + size - 1); + rm = &sc->mem_rman; break; case FLAG_TYPE_IO: range_descr = "I/O port"; flags = 0; type = SYS_RES_IOPORT; - error = rman_manage_region(&sc->io_rman, - pci_base, pci_base + size - 1); + rm = &sc->io_rman; break; default: continue; } - if (error) { - device_printf(dev, "rman_manage_region() failed." - "error = %d\n", error); - goto err_rman_manage; - } + if (bootverbose) + device_printf(dev, + "PCI addr: 0x%jx, CPU addr: 0x%jx, Size: 0x%jx, Type: %s\n", + pci_base, phys_base, size, range_descr); error = bus_set_resource(dev, type, rid, phys_base, size); if (error != 0) { device_printf(dev, "failed to set resource for range %d: %d\n", tuple, error); - goto err_rman_manage; + continue; } sc->ranges[tuple].res = bus_alloc_resource_any(dev, type, &rid, RF_ACTIVE | RF_UNMAPPED | flags); if (sc->ranges[tuple].res == NULL) { device_printf(dev, "failed to allocate resource for range %d\n", tuple); - error = ENXIO; - goto err_rman_manage; + continue; + } + error = rman_manage_region(rm, pci_base, pci_base + size - 1); + if (error) { + device_printf(dev, "rman_manage_region() failed." + "error = %d\n", error); + continue; } - if (bootverbose) - device_printf(dev, - "PCI addr: 0x%jx, CPU addr: 0x%jx, Size: 0x%jx, Type: %s\n", - pci_base, phys_base, size, range_descr); } return (0); -err_rman_manage: - for (tuple = 0; tuple < MAX_RANGES_TUPLES; tuple++) { - if (sc->ranges[tuple].size == 0) - continue; /* empty range element */ - switch (FLAG_TYPE(sc->ranges[tuple].flags)) { - case FLAG_TYPE_PMEM: - case FLAG_TYPE_MEM: - type = SYS_RES_MEMORY; - break; - case FLAG_TYPE_IO: - type = SYS_RES_IOPORT; - break; - default: - continue; - } - if (sc->ranges[tuple].res != NULL) - bus_release_resource(dev, type, tuple + 1, - sc->ranges[tuple].res); - bus_delete_resource(dev, type, tuple + 1); - } - rman_fini(&sc->io_rman); err_io_rman: rman_fini(&sc->mem_rman); err_mem_rman: From nobody Tue Apr 9 21:57:07 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDfv75kvFz5G5hf; Tue, 9 Apr 2024 21:57: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 4VDfv75DH9z57dj; Tue, 9 Apr 2024 21:57:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712699827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xHQbNvIDCOo/e+bJynbxy5UsmUm/DsFbFEETDmWsPws=; b=sYL8UyWytvTGM/FqAgDMSKvNKIHchYfyBKGm+IqaLCyTLRH58rtID42cqu69NWwydxi3PV xuGJZoDXaz+7JLZG5I/S31xSDu9+3bx8d5781PijeUzxOqE3QP5wXlWBTbRkQkFy3UHBN3 lONUKu/SwGggrcdSI7ygk1jcBQrKPpIKn5d0XnWyipXpWj9aeiaYNx4KmvXv94VgWRTTA/ /aJIKfz0tiTKt8bY4Pce6z/Vh+JFfIsHe7gDXt9w299MT+0sB6We1aO7mTjzEDoGBXQFTU ovK7BtN/IGGeqwTXM82gGf6TUMs5ZqaltZFaJRQgMpZPFnMK+CD7LGsRLeKu1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712699827; a=rsa-sha256; cv=none; b=ZMrSs58gtdDL9TsSB40ZTv1vP2DNyQe9W6bSitH8UgvFDorva/LfHXrWWIYnTB4lGZdczc K276hwOY3524OyO6VkJtzoIDe2/Hc1e0BQCeYP7Yl7Daq11bgAdBiryNZViOHRcGr98hY1 GFhgJEGfLSVcvI0/z735HoSQMSo712cW5XV8C0hrNbR56Ue0qMifresKNZyitTWhwfsmIb 1GQ+jS8StlOqGf+L77w2aaE4XJVImrmOumZaYhoiXh0ofCJNmOeSf4fYUtpg+mlkLFWAGP G4GTgb90+QCnvAKuXufuIu+9a59lIJU0DrNgOmQPW9TGzITZrV+fKkhZvSPNaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712699827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xHQbNvIDCOo/e+bJynbxy5UsmUm/DsFbFEETDmWsPws=; b=JXOY4wPtSBJjdSuA0GT3rXF97y+HHBuU5X5wuyyNWOl+/6RQg0JHgD4sVatu3CvprM050W VWchFT5MEkqcxeYsj/VzjIYRZl1ktcBRpO+eAe76dkpIdpTS1nEYmfAQmEeebzRLWvYKNI yzEoMVUEWdZQX/8FBcgyn6g+cZWc25CV+R/NhpmnzAXi7+oAngLmIVkwwP8fbYcXwfl/lx JvQHu6/T9jPQWk9o/jeIEfvupdYuJAauW2Lh9v45V8CtSLyOs8kuIsC+bcfZ+CvfOUQS3s zJw+S7rA5VWcAMCyh/Htdu1sZ8vzYnq2DRmp7EffBEazWTsme+b8RfcBmaYjYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDfv74qYHz19yS; Tue, 9 Apr 2024 21:57:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439Lv7Fv031762; Tue, 9 Apr 2024 21:57:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439Lv7GF031759; Tue, 9 Apr 2024 21:57:07 GMT (envelope-from git) Date: Tue, 9 Apr 2024 21:57:07 GMT Message-Id: <202404092157.439Lv7GF031759@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: 493908c4b45c - main - periodic/daily/801.trim-zfs: Add a daily zfs trim 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: dev-commits-src-main+owner@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: 493908c4b45c7b75e4a6b4aea3b5b63ea5c268d5 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=493908c4b45c7b75e4a6b4aea3b5b63ea5c268d5 commit 493908c4b45c7b75e4a6b4aea3b5b63ea5c268d5 Author: Lexi Winter AuthorDate: 2024-04-09 21:49:56 +0000 Commit: Warner Losh CommitDate: 2024-04-09 21:55:11 +0000 periodic/daily/801.trim-zfs: Add a daily zfs trim script As mentioned in zpoolprops(7), on some SSDs, it may not be desirable to use ZFS autotrim because a large number of trim requests can degrade disk performance; instead, the pool should be manually trimmed at regular intervals. Add a new daily periodic script for this purpose, 801.trim-zfs. If enabled (daily_trim_zfs_enable=YES; the default is NO), it will run a 'zpool trim' operation on all online pools, or on the pools listed in 'daily_trim_zfs_pools'. The trim is not started if the pool is degraded (which matches the behaviour of the existing 800.scrub-zfs script) or if a trim is already running on that pool. Having autotrim enabled does not inhibit the periodic trim; it's sometimes desirable to run periodic trims even with autotrim enabled, because autotrim can elide trims for very small regions. PR: 275965 MFC after: 1 week Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/956 --- share/man/man5/periodic.conf.5 | 11 +++++- usr.sbin/periodic/etc/daily/801.trim-zfs | 59 ++++++++++++++++++++++++++++++++ usr.sbin/periodic/etc/daily/Makefile | 3 +- usr.sbin/periodic/periodic.conf | 5 +++ 4 files changed, 76 insertions(+), 2 deletions(-) diff --git a/share/man/man5/periodic.conf.5 b/share/man/man5/periodic.conf.5 index 29fff146c212..a2ed2b09d772 100644 --- a/share/man/man5/periodic.conf.5 +++ b/share/man/man5/periodic.conf.5 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 31, 2023 +.Dd April 9, 2024 .Dt PERIODIC.CONF 5 .Os .Sh NAME @@ -634,6 +634,15 @@ The same as .Va daily_scrub_zfs_default_threshold but specific to the pool .Ao Ar poolname Ac Ns . +.It Va daily_trim_zfs_enable +.Pq Vt bool +Set to +.Dq Li YES +if you want to run a zfs trim daily. +.It Va daily_trim_zfs_pools +.Pq Vt str +A space separated list of names of zfs pools to trim. +If the list is empty or not set, all zfs pools are trimmed. .It Va daily_local .Pq Vt str Set to a list of extra scripts that should be run after all other diff --git a/usr.sbin/periodic/etc/daily/801.trim-zfs b/usr.sbin/periodic/etc/daily/801.trim-zfs new file mode 100755 index 000000000000..17d2ce217c10 --- /dev/null +++ b/usr.sbin/periodic/etc/daily/801.trim-zfs @@ -0,0 +1,59 @@ +#!/bin/sh +# +# + +# If there is a global system configuration file, suck it in. +# + +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_trim_zfs_enable" in + [Yy][Ee][Ss]) + echo + echo 'Trimming of zfs pools:' + + if [ -z "${daily_trim_zfs_pools}" ]; then + daily_trim_zfs_pools="$(zpool list -H -o name)" + fi + + rc=0 + for pool in ${daily_trim_zfs_pools}; do + # sanity check + _status=$(zpool list -Hohealth "${pool}" 2> /dev/null) + if [ $? -ne 0 ]; then + rc=2 + echo " WARNING: pool '${pool}' specified in" + echo " '/etc/periodic.conf:daily_trim_zfs_pools'" + echo " does not exist" + continue + fi + case ${_status} in + FAULTED) + rc=3 + echo "Skipping faulted pool: ${pool}" + continue ;; + UNAVAIL) + rc=4 + echo "Skipping unavailable pool: ${pool}" + continue ;; + esac + + if ! zpool status "${pool}" | grep -q '(trimming)'; then + echo " starting trim of pool '${pool}'" + zpool trim ${daily_zfs_trim_flags} "${pool}" + else + echo " trim of pool '${pool}' already in progress, skipping" + fi + done + ;; + + *) + rc=0 + ;; +esac + +exit $rc diff --git a/usr.sbin/periodic/etc/daily/Makefile b/usr.sbin/periodic/etc/daily/Makefile index 4eabc0bb1d52..3bf4601f5145 100644 --- a/usr.sbin/periodic/etc/daily/Makefile +++ b/usr.sbin/periodic/etc/daily/Makefile @@ -60,7 +60,8 @@ SENDMAILPACKAGE= sendmail .if ${MK_ZFS} != "no" CONFS+= 223.backup-zfs \ 404.status-zfs \ - 800.scrub-zfs + 800.scrub-zfs \ + 801.trim-zfs .endif .include diff --git a/usr.sbin/periodic/periodic.conf b/usr.sbin/periodic/periodic.conf index 5e3a7837c6b4..608a199b3cc9 100644 --- a/usr.sbin/periodic/periodic.conf +++ b/usr.sbin/periodic/periodic.conf @@ -179,6 +179,11 @@ daily_scrub_zfs_pools="" # empty string selects all pools daily_scrub_zfs_default_threshold="35" # days between scrubs #daily_scrub_zfs_${poolname}_threshold="35" # pool specific threshold +# 801.trim-zfs +daily_trim_zfs_enable="NO" +daily_trim_zfs_pools="" # empty string selects all pools +daily_trim_zfs_flags="" # zpool-trim(8) flags + # 999.local daily_local="/etc/daily.local" # Local scripts From nobody Tue Apr 9 22:03:42 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDg2k60wtz5G5vk; Tue, 9 Apr 2024 22:03: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 4VDg2k5MDpz58jT; Tue, 9 Apr 2024 22:03:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712700222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iUd552EImG1qau4XquvxoXdMaBdFHbkPajKG1ykAuOs=; b=YeTDnTJrKBy9Kdu/wLa1bllg0MAwXd7D+7ChFMaAJ/sUsbveDx8+GvT8sRjGLT2oQFxtOb /Xh3gKO1VjqbaNQlXKe0KObGMPnrbDVe8swlQOAOa7pG2x6zl39tk0aUFPZqSSdMJeug9X /4z3ep/sDKhKlLHp3aCQ6JQRa4Wk+caAVYnBT1jnx+aHjCwqWRxFYMMypVq3Daf40nEmrO 2TuaCgSyiP7h0e8DdPdUjH4GVBI7fmSbhBbSWLkkd+JK1fHyLGbwBzy8LfTWl4ks1OFS5V C0z6MKmeXDSMM7hvqSzj+o8P9V4kxDiKWE/aU/wPlgEUYRr6d5042qkHMP6n9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712700222; a=rsa-sha256; cv=none; b=p5FDPy/SLd4174Nwc0rs5O0NEaBTHXevQJKrnKUNJ0GMeWU3RNbHr07MCjCcAJyN3G48Ke 0QQ4Oy9L4naJO9KRLrCaaYBn3PEZzL5x37vzS6ptccbJsgVnbAG8/4tyaQPLqi6tGImoTS 0qNMG+/V/sdGDM+yRPRIQ80nujyRrRhHsT6fAAlgtU897HTCj3KgbN9720YzHEAv3iTA0c CkgVu7NOCSsmeDkKTTe0YfddEAbNBh5n3TyGUq7GF6Jkt7vWWi7q536QD4QqpCXexRYlNB I2enjPAbckoJdY7rpYVZH/DgdkrVwkvLo31kGb6XAX49AwZOudkyoRfRgYN2kQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712700222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iUd552EImG1qau4XquvxoXdMaBdFHbkPajKG1ykAuOs=; b=UllHJf2tjzwOAvPP0JdWM2paiQp5jW00V2TATercPsAaYQHLbWeKITH3t+a2oTtHXlYsSI IK/6V+4c4HmO9OzlJeRAdQFt+CHoJjqN+gNKzNbGOXMnscOop6p5V4Bjo66OoHHPs5EFR0 S+p5T8KkWn1l/Q0semRS05sH8v1hdL3dtpYeqHCBpHnJghy9SqeLkm2+d/9r3APvkTJEj4 5x5Yajn2KYRKS6cIZBhNDhFCOyG1qflNVovusBeafrSzwlVm6na3cKaRn3oUQpy/ItwkjI iuDujoFjnzumcAPHrsoI00z0+Br2MVn/8OEMVEvzlROQeJRCVJWsYp1GwyVwFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDg2k4yHCz1BbP; Tue, 9 Apr 2024 22:03:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439M3gRB049387; Tue, 9 Apr 2024 22:03:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439M3g2L049384; Tue, 9 Apr 2024 22:03:42 GMT (envelope-from git) Date: Tue, 9 Apr 2024 22:03:42 GMT Message-Id: <202404092203.439M3g2L049384@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: 973d3a82096b - main - NOTES: Move OFED options to MI NOTES 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: dev-commits-src-main+owner@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: 973d3a82096bc135f6c230e348e2f33c382096bc Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=973d3a82096bc135f6c230e348e2f33c382096bc commit 973d3a82096bc135f6c230e348e2f33c382096bc Author: John Baldwin AuthorDate: 2024-04-09 22:02:58 +0000 Commit: John Baldwin CommitDate: 2024-04-09 22:02:58 +0000 NOTES: Move OFED options to MI NOTES Disable in armv7 NOTES to match sys/modules/Makefile Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44686 --- sys/amd64/conf/NOTES | 13 ------------- sys/arm/conf/NOTES | 5 +++++ sys/conf/NOTES | 13 +++++++++++++ sys/i386/conf/NOTES | 13 ------------- 4 files changed, 18 insertions(+), 26 deletions(-) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 9c91a4fa9bbb..761728337ac2 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -90,19 +90,6 @@ options DEVICE_POLLING options BPF_JITTER -# OpenFabrics Enterprise Distribution (Infiniband). -options OFED -options OFED_DEBUG_INIT - -# Sockets Direct Protocol -options SDP -options SDP_DEBUG - -# IP over Infiniband -options IPOIB -options IPOIB_DEBUG -options IPOIB_CM - ##################################################################### # CLOCK OPTIONS diff --git a/sys/arm/conf/NOTES b/sys/arm/conf/NOTES index 1eecd2534977..9d084096e66f 100644 --- a/sys/arm/conf/NOTES +++ b/sys/arm/conf/NOTES @@ -74,6 +74,11 @@ nooptions COMPAT_FREEBSD9 nooptions PPC_PROBE_CHIPSET nooptions MAXCPU # value is set in machine/param.h +nooptions OFED +nooptions SDP +nooptions IPOIB +nooptions IPOIB_CM + nodevice sym nodevice ccr diff --git a/sys/conf/NOTES b/sys/conf/NOTES index b12d5def2d57..e41e89c30130 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -771,6 +771,19 @@ options SCTP_PACKET_LOGGING options SCTP_LTRACE_CHUNKS options SCTP_LTRACE_ERRORS +# OpenFabrics Enterprise Distribution (Infiniband). +options OFED +options OFED_DEBUG_INIT + +# Sockets Direct Protocol +options SDP +options SDP_DEBUG + +# IP over Infiniband +options IPOIB +options IPOIB_DEBUG +options IPOIB_CM + # altq(9). Enable the base part of the hooks with the ALTQ option. # Individual disciplines must be built into the base system and can not be # loaded as modules at this point. ALTQ requires a stable TSC so if yours is diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index ce115b1640e0..45613c10c583 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -238,19 +238,6 @@ options DEVICE_POLLING options BPF_JITTER -# OpenFabrics Enterprise Distribution (Infiniband). -options OFED -options OFED_DEBUG_INIT - -# Sockets Direct Protocol -options SDP -options SDP_DEBUG - -# IP over Infiniband -options IPOIB -options IPOIB_DEBUG -options IPOIB_CM - ##################################################################### # CLOCK OPTIONS From nobody Tue Apr 9 22:03:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDg2m08n4z5G61B; Tue, 9 Apr 2024 22:03: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 4VDg2l6Jrnz58V8; Tue, 9 Apr 2024 22:03:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712700223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YbvleDuzYQDhm6wLFYHj+z2P0FyqG5nMmeW+2+Jr6Sg=; b=dktFC+hY0sx65qgHZR7w1RzyWL6PpYCCc/z7xyCXn/OhgXimb0f6lFzwlZbrPU0isTSHeq MTAluW0HCENwhObxsBTikg/6Y7Tx7VPaxbH6hCnHS4A8Vo8QKiSmkkP+QDIMi3DyWe0uvV jYKXrNJo7TcGJeO/dbnkn4BzTpfwg2k4FW8XmbfEJXFUaqvncwAuAm+OFJC1w4IeH6RsFY TZpkNFkABRuI4pWxmAmYpl10irqVk9N/YmraGWnx994ZJIR8A81DMAbr7QpqAIr2xoiLYq oDfHQS4BC9zwAu6W40b1wdgrD1I/Ivyptw0jU8SzNPqTfWZPW0iu7+kQBEvBDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712700223; a=rsa-sha256; cv=none; b=DyoDaLHnDK90ncSDFwWmbcjlkxh3j715Wn2VXGt3ZVRlLWimrC/3/JFlH8SN2xiSL7bFS6 zBnnKzepZNxYzTpyOFZgPVWAxU4xNkU3fWGQfJLpaJcLJyMKD2rafs3ZRRsvnGv8xnoXT+ Psscs2uJVpnlEUfsTajR5Zk/HWj2g8AmqnAPc/rWlEJtllJ/bAadv6jgCApi/Yd7lMlfRu PEu0AqjSOAATydrzTxqpmBMv5UTIU+RjwYlfP9dBb157OlwzKm5zEV9tIAp6vMpXh3Afz7 sCYGsp/xS1N54+Ub73RVyKa7gsEsAYNSkBTwnMmLm/sRU4M1gG1pyc+wRG3dxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712700223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YbvleDuzYQDhm6wLFYHj+z2P0FyqG5nMmeW+2+Jr6Sg=; b=eLGazIMOI81QHp1KVCFEWyZg71mb3llZcdTVye26dsmCYL5nwclpNPYZmdswbFT863C3cR cu0Vti0ah0RLaPvRBQFClh54SJkOetEXc7cPPwYQ5z7nxuu4iow/z/X1OBoDIMh4L07Tng v9UkwgSjZIoXatkw9wKQwmgBhBSzdqnf3N/IPltxSKPrlv4cuijmzpipW4zKn2Bhh/m7HW yeHQI0WcqBezpU0bg/nPZ/nqkV6/kVU4FaEhSGGgSeF0Hdylu4/L9dsEuJFFaPrRN+IWZO +g4Rkyi6Tws9t1JK12ZHcYqKAmVoC/I2lIPHpHktTBAIZT585HNX0TrKt6GbbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDg2l5xYJz1BRB; Tue, 9 Apr 2024 22:03:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439M3h0A049429; Tue, 9 Apr 2024 22:03:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439M3hSi049426; Tue, 9 Apr 2024 22:03:43 GMT (envelope-from git) Date: Tue, 9 Apr 2024 22:03:43 GMT Message-Id: <202404092203.439M3hSi049426@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: 60bb979b3c32 - main - iser: Add kernel build glue 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: dev-commits-src-main+owner@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: 60bb979b3c3224f01e96f7e3c92a270977d2587b Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=60bb979b3c3224f01e96f7e3c92a270977d2587b commit 60bb979b3c3224f01e96f7e3c92a270977d2587b Author: John Baldwin AuthorDate: 2024-04-09 22:02:58 +0000 Commit: John Baldwin CommitDate: 2024-04-09 22:02:58 +0000 iser: Add kernel build glue 'device iser' is documented in iser(4) but not supported. Hook it up to the build. Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44687 --- sys/conf/files | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/conf/files b/sys/conf/files index 549a3590f76b..68f8060e61ad 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1891,6 +1891,14 @@ dev/iscsi/icl_conn_if.m optional cfiscsi | iscsi dev/iscsi/icl_soft.c optional iscsi dev/iscsi/icl_soft_proxy.c optional iscsi dev/iscsi/iscsi.c optional iscsi scbus +dev/iser/icl_iser.c optional iser \ + compile-with "${OFED_C} -DICL_KERNEL_PROXY" +dev/iser/iser_initiator.c optional iser \ + compile-with "${OFED_C} -DICL_KERNEL_PROXY" +dev/iser/iser_memory.c optional iser \ + compile-with "${OFED_C} -DICL_KERNEL_PROXY" +dev/iser/iser_verbs.c optional iser \ + compile-with "${OFED_C} -DICL_KERNEL_PROXY" dev/ismt/ismt.c optional ismt dev/isl/isl.c optional isl iicbus dev/isp/isp.c optional isp From nobody Tue Apr 9 22:03:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDg2n24H8z5G63Z; Tue, 9 Apr 2024 22:03: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 4VDg2n0Bsvz58Pq; Tue, 9 Apr 2024 22:03:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712700225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ep8hxcgjWGkvdsvSAzO+EFvJXVNOdA69ba3oSx6dA3M=; b=BQ9WVfPSHqmrZ3TkX1W7p7knadgbh8NUwq/HwnSVv2b6WkVG+nHOZo3b+KPw19M9oQAYWM k8fvSfExO3ELZXbsZJKTLvmPZmQ0CW6GpWUQ5vpNgfAgMY2gEFHs2cOQ3Svs3zybn1NUN9 tOg4PLFtTYHCPIh2oeJ81vD2ZJHd75SDXfFmAo/24QQhZPEkJEKtjyTl4zImur8RWPV8F4 hqKqitDpzEQKLImHvEIq/kKOO+4F4B0785robzG7twgs/skGv3FPwRlQoOxW3TrKJ4Z5EV CXW1BsxXS2ZbNNzmDB1IJIlLLimltZu7CakDc86lkWrgUhfbeowy8xKIHm9cBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712700225; a=rsa-sha256; cv=none; b=YHu3tEtL+9zVdj6gJBmr/KGdMXX36jjeHSoV3ZEkCSw23iR23OLnIW3M9VoTZ0RA84rHLc WODshBtExK0dnF/KqOXdgCAknuVWfT1HVv/ygP9Cu5aWSB7cvTYJl52kljWd8CK3vBmrcw 15gmIJDBUM9JzTxKsgFgnMjwlq0EnR9xGaXtJre4pK4uQk/nyF0uhMR0ZHjA7UvNMHaaTX 1PiRZ9OjNXD/KysXoldFXuwd0O9vVJPkJWB6qH2TjM3k4yvpfwTIWQyj/UVehCuFK7tUUm J419vNin7vGTO2P9tQxwsE/nB7Nuua8fciJQCZ0BC+32j+JW0rn7zHBTYshcnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712700225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ep8hxcgjWGkvdsvSAzO+EFvJXVNOdA69ba3oSx6dA3M=; b=amMkwyx3Fvz7gYcYWGQo8mo3KsGgXqn5ljMxVczXwrPNhrVqqNN9ZyGvPp0D01BdjZC23q wjS7xjjAeIEKWrVgtKIpY0uCTsjW7fjoUQlztL6LOwXb5fLJkIE2xfA3edMCRzAlh+pA0X D6Y5ba5uceeyjShDEew1Sy+eRtz0F6EYjTqRE9R+xq+fkTJcnZCI/+wq7hmkAF8QIzJ+77 DhS1HH+V85+cJ1/4NkSBAVHle15ORzlhYqXtawmK2P5axDbDgxuAYd3JtQCUB/CMoELvCf yO0Fur3fld/V2qykS8hD+VuYMqqHKKyH88cA5Xr6Dt9bZijrS/Jt1ttMqSYHxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDg2m6wCFz1BHf; Tue, 9 Apr 2024 22:03:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439M3idd049474; Tue, 9 Apr 2024 22:03:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439M3i90049471; Tue, 9 Apr 2024 22:03:44 GMT (envelope-from git) Date: Tue, 9 Apr 2024 22:03:44 GMT Message-Id: <202404092203.439M3i90049471@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: 76f22e353f66 - main - NOTES: Add devices for iSCSI 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: dev-commits-src-main+owner@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: 76f22e353f66d9ec1c1bea1d72eeec56078d4728 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=76f22e353f66d9ec1c1bea1d72eeec56078d4728 commit 76f22e353f66d9ec1c1bea1d72eeec56078d4728 Author: John Baldwin AuthorDate: 2024-04-09 22:02:58 +0000 Commit: John Baldwin CommitDate: 2024-04-09 22:02:58 +0000 NOTES: Add devices for iSCSI support Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44688 --- sys/arm/conf/NOTES | 1 + sys/conf/NOTES | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/sys/arm/conf/NOTES b/sys/arm/conf/NOTES index 9d084096e66f..db7da3ff1ea6 100644 --- a/sys/arm/conf/NOTES +++ b/sys/arm/conf/NOTES @@ -79,6 +79,7 @@ nooptions SDP nooptions IPOIB nooptions IPOIB_CM +nodevice iser nodevice sym nodevice ccr diff --git a/sys/conf/NOTES b/sys/conf/NOTES index e41e89c30130..b15f2fdd22f5 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -1461,6 +1461,19 @@ options SCSI_PT_DEFAULT_TIMEOUT=60 # a topology with the SES device that's on the box these drives are in.... options SES_ENABLE_PASSTHROUGH +# iSCSI +# +# iSCSI permits access to SCSI peripherals over a network connection +# (e.g. via a TCP/IP socket) + +device cfiscsi # CAM Target Layer iSCSI target frontend +device iscsi # iSCSI initiator +device iser # iSCSI Extensions for RDMA (iSER) initiator + +# Options used in dev/iscsi (Software iSCSI stack) +# +options ISCSI_INITIATOR_DEBUG=9 + ##################################################################### # MISCELLANEOUS DEVICES AND OPTIONS @@ -1620,10 +1633,6 @@ options AHD_REG_PRETTY_PRINT # Bitmap of units to enable targetmode operations. options AHD_TMODE_ENABLE -# Options used in dev/iscsi (Software iSCSI stack) -# -options ISCSI_INITIATOR_DEBUG=9 - # Options used in dev/isp/ (Qlogic SCSI/FC driver). # # ISP_TARGET_MODE - enable target mode operation From nobody Tue Apr 9 22:03:46 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDg2p68qfz5G66d; Tue, 9 Apr 2024 22:03: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 4VDg2p1B44z58xh; Tue, 9 Apr 2024 22:03:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712700226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ybaryZZlR83tTjRzBWHJ8hLjHb809KKvKoXg24m9NMc=; b=FbjwSSy/wjMSaz+BSFgS/4ZgN8YdJRXXj+n/TZ4xvOdwb+vm6lHIV6KFFwEo33icSD9Z8W ETYy5vX0DdXLIwnUPijKVXimdwXhzEUocmvrZ8I/XliG1zFgMO4AsOjtEYcqB0aa04x3BG zqJeCzoow9RZXuwYWOWKVp0BUzIUg2D0XNp6hlvYi5APloqCwd4NuAl/bKUfzj+nDZwsPd s9onKDywBGIWcRpcj3k6zSLuQRhFlkOuDBX9RWDcJXaENMC2hXOTVlzz6xhzsCKg75i4Yw Lj+dF2LvMQDMmkrmAzlE43PH817U//y639MeKRi51sdoJ57TNI9cXqcmaPDYLQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712700226; a=rsa-sha256; cv=none; b=vl+CHwYDO4kXFq2xAhHxI5RgyDxJEBw5/zx1wX6d1u8IYa4xoB7J6scdxFsCGQ1dQEWVWV 3NuDqdrXkTdIXVeEu1naDK0ZvU25/P1SS62rYSPaTEOmy9yaMEBIr2cvqr0IJK0G+skT3y zX/ZRJ5PrB4/rnLTxqI1L2U9S+GmLPVect0HS5/taiw6TZRaimcPBJLIBn9NuUytolNKsf daUfrL4oF+BsBg4OvwpKTMIxiHXHkR/TFKo/poIwkjhyCLMijO+vNOzw5K1v9SwyIhA3Kx vNOcsPWuRWTcuBuP4FpajJrUW//oKAu/kTkQe5Z1pW87cHoY+M8IvhXCkVkKUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712700226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ybaryZZlR83tTjRzBWHJ8hLjHb809KKvKoXg24m9NMc=; b=Rz3ihc0WykclgjSpcP0gLCTq2JrWVezTJ3nbRZ+MBHihqdRpxyIMHmrMqDUglHHKx0i/9l HqRtPOQAw2WYCOHkfRZkzcCiS0v+2SpR3k2ELnJuBQMgi7y74yaNTcXu3gK/heW1aAxyzi 2SQw4R92ySph2abFVxoih8MDyrEYFtKsOI456nfcC0V3/E54d7ST5qY3FkAMjhOQaOhmyC 7ue64yp0iAYRkuzgFZXanJ6okhY1o6KnZHOBHaJsinHdqA+svg4kLsEwRxNxr5SSy3kiW0 nzCppgcL+0TciTHx7PE7MBeBtK3WwoYDP0AENKRBVqYGuC39xjdHtM8nHxS4pQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDg2p0pG7z1BFR; Tue, 9 Apr 2024 22:03:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439M3kN4049520; Tue, 9 Apr 2024 22:03:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439M3kpa049517; Tue, 9 Apr 2024 22:03:46 GMT (envelope-from git) Date: Tue, 9 Apr 2024 22:03:46 GMT Message-Id: <202404092203.439M3kpa049517@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: a508f5d92a93 - main - NOTES: Tidy entries for SATA controllers 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: dev-commits-src-main+owner@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: a508f5d92a93cda11b0c68084dbb181f97e7f5f7 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a508f5d92a93cda11b0c68084dbb181f97e7f5f7 commit a508f5d92a93cda11b0c68084dbb181f97e7f5f7 Author: John Baldwin AuthorDate: 2024-04-09 22:02:58 +0000 Commit: John Baldwin CommitDate: 2024-04-09 22:02:58 +0000 NOTES: Tidy entries for SATA controllers - Add typical comments after device entries (copied from amd64 GENERIC) - Add an entry for 'device ada'. Normally this is pulled in via 'device sd', but is documented in ada(4) and can be used to include ATA/SATA disk support in a kernel without SCSI disk support. Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44689 --- sys/conf/NOTES | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/conf/NOTES b/sys/conf/NOTES index b15f2fdd22f5..cf447004cb92 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -1685,9 +1685,10 @@ device mrsas # LSI/Avago MegaRAID SAS/SATA, 6Gb/s and 12Gb/s # These drivers are part of cam(4) subsystem. They supersede less featured # ata(4) subsystem drivers, supporting same hardware. -device ahci -device mvs -device siis +device ahci # AHCI-compatible SATA controllers +device mvs # Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA +device siis # SiliconImage SiI3124/SiI3132/SiI3531 SATA +device ada # ATA/SATA direct access devices (aka disks) # # The 'ATA' driver supports all legacy ATA/ATAPI controllers, including @@ -1697,7 +1698,7 @@ device siis # the 'atacore' driver then selecting the drivers on a per vendor basis. # For example to build a system which only supports a VIA chipset, # omit 'ata' and include the 'atacore', 'atapci' and 'atavia' drivers. -device ata +device ata # Legacy ATA/SATA controllers # Modular ATA #device atacore # Core ATA functionality From nobody Tue Apr 9 22:03:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDg2q5dVKz5G6SS; Tue, 9 Apr 2024 22:03: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 4VDg2q2BzRz58dW; Tue, 9 Apr 2024 22:03:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712700227; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qDckFs347SEnxoMGl633XsO6YpwsYZjeWiJT4upuNNo=; b=qYweuBM3tGhfTlKXCyZVeqCxzdS2I6FTx8bf+rB4jt2cB48rCHyD40NX4pdLPi+fSPC4bl pnXgPTN8YfwdAU0MqaRkbN1h2TA69OokhAYbtw3cK/BtZ73srovprJJoytZyVHFEevCAYE 0dE0Ik8ocZUJ5+MLSVx8eTGfTbH07bS7S1ZENpbdsBFTzkeMrZ7V848HewThCJjT1fDb8G T8ZtBdKUuL1znbq2VO6y8UwJydgMh3wrMggvyDiy+GNRuumNksrvZRzjrPIgwZ9OXE+2w4 pYfCGhWhDmAMhs/mp/ELBdAZ9dIISB2Fc47PFz0vBpQmP9V1jP7zXhsqF/IsuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712700227; a=rsa-sha256; cv=none; b=UgzlVEwn/p7MNLl6VEP5DofV9prPBzJVwd6VROAaRBWUvljfyeQjBPwtN+FTnYTlMFUpCz +aEftqZX+gLtfF+BdJ0JLtCNtaJ3qMuwLKpbOVFL7Xjg0UKWOG76RGllhKbOELYlBv7jj/ Al0+GkL7wIj5LgeHFsHAWUlDDrA9RXPz1Bcii1NyysKcj2bCQGy75KVQGhuJcD9TlCVEL7 mojFliDMuVqjs7fBagrqVYIi8kPuPZch04sdFD8P94Y43ILwAEtwiIkdgCe7rlQnLEltPQ awn0uX0HttgaG2Rkkue6W2r3Cnyho+AZAEIYNDLgmCNERJUEnN0ZGmt+bJSdxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712700227; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qDckFs347SEnxoMGl633XsO6YpwsYZjeWiJT4upuNNo=; b=edee8Nz1J7LfiCVI8/isXXwGEatveIVSENUtqrKPrGCX7Wb6++rV+Rroocps8YbK2UjwPN svDh2/D5li/UcrGqSFT5z2RZOpPuSIjK4iQfYGIu+lnx8OFT9QK+ak8FZMz2VACQz3Fvh2 smZ2aNaFffpHIU4YTwPmZlaTFGUirbu0lgHcTOQsMTrklcfjFaQ5yCdu74ElkpU6t0g676 p6w4tCqI482XLZERutJq7YuE6tjCzmWkV3Oc8B3YqipljaDa0lR+2sVVWh609u7FIxNLHe Ki96zppdP/GtO8JbbY8DJpOJJ9H96hEINPgWqb8Oc9IsOiIl19mNAOSK4C3c+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 4VDg2q1pmMz1BFS; Tue, 9 Apr 2024 22:03:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439M3lqj049575; Tue, 9 Apr 2024 22:03:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439M3lcJ049572; Tue, 9 Apr 2024 22:03:47 GMT (envelope-from git) Date: Tue, 9 Apr 2024 22:03:47 GMT Message-Id: <202404092203.439M3lcJ049572@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: 16e846fa1ed3 - main - sys: Enable NVMe drivers on all architectures 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: dev-commits-src-main+owner@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: 16e846fa1ed3c97419b55b292f77b0f4209f0875 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=16e846fa1ed3c97419b55b292f77b0f4209f0875 commit 16e846fa1ed3c97419b55b292f77b0f4209f0875 Author: John Baldwin AuthorDate: 2024-04-09 22:02:58 +0000 Commit: John Baldwin CommitDate: 2024-04-09 22:02:58 +0000 sys: Enable NVMe drivers on all architectures The NVMe drivers are portable and are already included statically in GENERIC on other architectures such as aarch64 and riscv64. Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44690 --- share/man/man4/Makefile | 11 ++--------- sys/modules/Makefile | 8 ++------ 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index c3f5e3223bf9..b668cccf50ae 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -404,9 +404,9 @@ MAN= aac.4 \ ${_if_ntb.4} \ null.4 \ numa.4 \ - ${_nvd.4} \ + nvd.4 \ ${_nvdimm.4} \ - ${_nvme.4} \ + nvme.4 \ ${_nvram.4} \ oce.4 \ ocs_fc.4\ @@ -836,8 +836,6 @@ _ntb_hw_amd.4= ntb_hw_amd.4 _ntb_hw_intel.4= ntb_hw_intel.4 _ntb_hw_plx.4= ntb_hw_plx.4 _ntb_transport.4=ntb_transport.4 -_nvd.4= nvd.4 -_nvme.4= nvme.4 _nvram.4= nvram.4 _padlock.4= padlock.4 _pchtherm.4= pchtherm.4 @@ -885,11 +883,6 @@ _vmm.4= vmm.4 .endif .endif -.if ${MACHINE_CPUARCH} == "powerpc" -_nvd.4= nvd.4 -_nvme.4= nvme.4 -.endif - .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" || \ ${MACHINE_CPUARCH} == "aarch64" _gve.4= gve.4 diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 748b0b18a14d..aab0865a842d 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -290,9 +290,9 @@ SUBDIR= \ nmdm \ nullfs \ ${_ntb} \ - ${_nvd} \ + nvd \ ${_nvdimm} \ - ${_nvme} \ + nvme \ ${_nvram} \ oce \ ${_ocs_fc} \ @@ -795,8 +795,6 @@ _iwmfw= iwmfw _iwnfw= iwnfw .endif _nfe= nfe -_nvd= nvd -_nvme= nvme _nvram= nvram .if ${MK_CRYPT} != "no" || defined(ALL_MODULES) _padlock= padlock @@ -880,8 +878,6 @@ _cfi= cfi _cpufreq= cpufreq _exca= exca _ffec= ffec -_nvd= nvd -_nvme= nvme .endif .if ${MACHINE_ARCH:Mpowerpc64*} != "" From nobody Tue Apr 9 22:03:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDg2r53Hqz5G66f; Tue, 9 Apr 2024 22:03: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 4VDg2r3HTGz596B; Tue, 9 Apr 2024 22:03:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712700228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kXs1ID3No8t4NB7H5L/vL2fvxmSsaQc4fwjRMdz96nQ=; b=IyaNZy6KEBjz2hVseWKIJMcoq3L7KR8YJJFD2ut4Fae+8OcpP1cLxo+uqAoVFbbdfWdKfT d+fBkv1GU9RtzMEOjY+EypCQAKVKAIit43mLmsfKr2SdTyLQSILwhi0nPzuRETyc9FLG7H Wk0/toJePppISq1IvVa7pJjgVjB7BP1ag4vKesId0XKG9pujld9eDw87tz5uifpDbBX3+U uLvpAVAyALdk4lNwOJ/q+9K/7gyuNzw6C6+zFMT5e15XVpYoLYBvWFgv8tnC4VdqFsLCL9 qD8hYKlkQXM+7eYbuQBM6M3Dpx0cJuCk2ymi1ChUua7ju8bmyTiWBOs7Z7fBPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712700228; a=rsa-sha256; cv=none; b=fwOgzGk3IgMbfrkxeaszJwvbA4G5ImuY7m1q5vuf+j4Bfni86annz+/sKHUoU5QCzTZGZC zwtJutDu8IHugmxjgMRc6NspT83223hiHtjeGLOoVlkti+cODHQ3z+eZGGP6JUK00XfjR1 QP4ob2ia5BDxAM2oiNvMPgoPv5wVlMdejpIkESJK4beKNZaGlhU0yd8XfgM/WJRxHTXBq9 vYmq2STJkCAmInudScyEzSew5nc6TgjO8YYJSTJl7knu1C1JWYKm40Xe82aM1ShByN9WGi dqZC3k6V+BuWc9FdOH5FT3NuZSkkDj5dInUqqKNTyzs7zPhiOB1OS2XOFaW6OQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712700228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kXs1ID3No8t4NB7H5L/vL2fvxmSsaQc4fwjRMdz96nQ=; b=VHooL4MB8fWwogyXOGZBOCgl0d/MKPWf6UqVROR/rk4vTUYe9B+mIgs90Kjg5X65P8qboo DrOWr59x3hUaFOaA+TjwwkX92Njph5HyRQRDKBLu9JkRzy6XE/zVRoOi1WJrxJ5emxH8DD KH6hZDlx4oQXnbyyz3spFAu/I/0JxIXLP7fnPHH5d6dGx/ARSKGWQ2eNpefH6ARvAAvZzv 7HdV3bxZMJZnLuVcWC+28IyGIcfKxKm5NsBgYmQzFjcnnX35o6kcKMoegnXD6pxv232Y3Q MhYxsVbiTyInYxIWqvsbU5LW6ln5bAdeDFyerfPnKbXgyEwqnpBn+9/IkhDazg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDg2r2tSxz19lS; Tue, 9 Apr 2024 22:03:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439M3mHX049623; Tue, 9 Apr 2024 22:03:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439M3mJl049620; Tue, 9 Apr 2024 22:03:48 GMT (envelope-from git) Date: Tue, 9 Apr 2024 22:03:48 GMT Message-Id: <202404092203.439M3mJl049620@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: 8f7105a20697 - main - NOTES: Move NVMe entries to MI file 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: dev-commits-src-main+owner@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: 8f7105a20697d47060dbedc966cf085a64aeced6 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=8f7105a20697d47060dbedc966cf085a64aeced6 commit 8f7105a20697d47060dbedc966cf085a64aeced6 Author: John Baldwin AuthorDate: 2024-04-09 22:02:58 +0000 Commit: John Baldwin CommitDate: 2024-04-09 22:02:58 +0000 NOTES: Move NVMe entries to MI file While here, adjust the sample setting for NVME_USE_NVD to use a non-default setting as is typical in entries in NOTES. Discussed with: imp Reviewed by: manu Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44691 --- sys/amd64/conf/NOTES | 5 ----- sys/arm64/conf/NOTES | 5 ----- sys/conf/NOTES | 11 +++++++++++ sys/i386/conf/NOTES | 5 ----- sys/riscv/conf/NOTES | 5 ----- 5 files changed, 11 insertions(+), 20 deletions(-) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 761728337ac2..39ecfb529be5 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -439,11 +439,6 @@ device imcsmb device isci options ISCI_LOGGING # enable debugging in isci HAL -# -# NVM Express (NVMe) support -device nvme # base NVMe driver -device nvd # expose NVMe namespaces as disks, depends on nvme - # # Intel Volume Management Device (VMD) support device vmd diff --git a/sys/arm64/conf/NOTES b/sys/arm64/conf/NOTES index 21b1b22a5f01..91455d6032b9 100644 --- a/sys/arm64/conf/NOTES +++ b/sys/arm64/conf/NOTES @@ -102,11 +102,6 @@ device ice_ddp # Intel 800 Series DDP Package # Etherswitch devices device e6000sw # Marvell mv88e6085 based switches -# NVM Express (NVMe) support -device nvme # base NVMe driver -options NVME_USE_NVD=0 # prefer the cam(4) based nda(4) driver -device nvd # expose NVMe namespaces as disks, depends on nvme - # MMC/SD/SDIO Card slot support device sdhci_xenon # Marvell Xenon SD/MMC controller device aw_mmc # Allwinner SD/MMC controller diff --git a/sys/conf/NOTES b/sys/conf/NOTES index cf447004cb92..e3332ee20120 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -1675,6 +1675,17 @@ device mfip # LSI MegaRAID SAS passthrough, requires CAM options MFI_DEBUG device mrsas # LSI/Avago MegaRAID SAS/SATA, 6Gb/s and 12Gb/s +# NVM Express +# +# nvme: PCI-express NVM Express host controllers +# nda: CAM NVMe disk driver +# nvd: non-CAM NVMe disk driver + +device nvme # base NVMe driver +options NVME_USE_NVD=1 # Use nvd(4) instead of the CAM nda(4) driver +device nda # NVMe direct access devices (aka disks) +device nvd # expose NVMe namespaces as disks, depends on nvme + # # Serial ATA host controllers: # diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index 45613c10c583..6692a9dba10e 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -634,11 +634,6 @@ device ips device isci options ISCI_LOGGING # enable debugging in isci HAL -# -# NVM Express (NVMe) support -device nvme # base NVMe driver -device nvd # expose NVMe namespaces as disks, depends on nvme - # # Intel Volume Management Device (VMD) support device vmd diff --git a/sys/riscv/conf/NOTES b/sys/riscv/conf/NOTES index f6b27a626dfb..d818fd0581c3 100644 --- a/sys/riscv/conf/NOTES +++ b/sys/riscv/conf/NOTES @@ -40,11 +40,6 @@ device virtio_blk # VirtIO Block device device virtio_mmio # VirtIO MMIO bus device virtio_random # VirtIO Entropy device -# NVM Express (NVMe) support -device nvme # base NVMe driver -options NVME_USE_NVD=0 # prefer the cam(4) based nda(4) driver -device nvd # expose NVMe namespaces as disks, depends on nvme - # MMC/SD/SDIO Card slot support device dwmmc From nobody Tue Apr 9 22:38:02 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDgpL2pC6z5G9RF; Tue, 9 Apr 2024 22:38: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 4VDgpL29rGz41KC; Tue, 9 Apr 2024 22:38:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712702282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hytN9egvCfa0KvXl/BtQ/YSxKJs36adHXYac+0C6oYM=; b=hu4FhbG7yPEBRGLCvKrg68IoAmQbcSZ7RrIQGL+HU4VwXSllQs2PkmRdSbbcWBcVzRFxV1 /r9TWZmobkcXFRpKJGjR39DeQJtH9ajDG7i1pmtybGdCcVB560nvRDdXaOakYmQJ81OwPI 7aXBYjF5a7gK+/t0ymk7AFydGeP/SQq2Ex7EVu3gnNqYTvl3XDaxGFQtTaFIOqTFEsCq5R 3XoTJDqWyCeqJyCk4LL1M1N0jwGsru3ZeQiQdgHE5xWPhvgEEYkkOYOaiHkunaLxWotTGa VLpwZCdCohDPATSNWVh3aGRaEbfIP5zgBBpIpKW1+bXkdkGPTU31x3TfgEyIsg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712702282; a=rsa-sha256; cv=none; b=u0p83cqTiZ0ddhPQaqPA/7w4tKE71YjbCZ+6hCvJFqUMsf2MF9S20ZwPyRfUl04+uBDQD0 Me5taxOphUI2RGpI49ECQy6nm7ypm22N5bIXGyKGX4AsiEigyacqz3rgTpNB+6tWpc4Evv CM1JEIdtNUTYJMnic+M6DrWp0l9Jh9G2ucTjtEiuMWDVxzW7aOBWZS9DdcOtBuA3YPJ7sB 5kXSBaZAoDrM4Gc7j5WP/dF1X8bK87qIjui4A2vZ9EtnwXNas5ulLAAqDDVabKWjhPEZNv VSyfDbCq3aFdFX9Pz0V8gGuzpGHsPOYlNKcka8KbrmDH3HQZwuPU2odPJojGZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712702282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hytN9egvCfa0KvXl/BtQ/YSxKJs36adHXYac+0C6oYM=; b=AOnrMx3oq/66Eru3JoC1rt7ZMH3R9wG5koDimeWIoH/xuE26y986xZfHl9wZ2TIzNJCUtL FyPLQF+okPvMyMnVRFurRLfQ+CJM2a8Rzo7Wnu8T8dQ5ojqlh0k8NTXOfsBIiRhJBvuPDU a+FUFICFJa8g6SJCIpCeuxVBsoQJdBcYfjs/3hz6vrrgj9uq3i9cohF7WRRG23Dv7Vma+F njTAQRU3vGCtDZHVJ/nCHW4dP7JWIMg2DMSmL+C8GwT63M8Q5piOIWDR7dN2z4DWgTKytP ii7ihkuIxx0Q6JSNPLGdTuR1mrn7hxlqWoPai0Vc4Dw+uyQHXUEmO/N1sv6c3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDgpL1nlMz1CGm; Tue, 9 Apr 2024 22:38:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 439Mc2n8099834; Tue, 9 Apr 2024 22:38:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439Mc2B9099831; Tue, 9 Apr 2024 22:38:02 GMT (envelope-from git) Date: Tue, 9 Apr 2024 22:38:02 GMT Message-Id: <202404092238.439Mc2B9099831@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Jason A. Harmening" Subject: git: b18029bc59d2 - main - unionfs_lookup(): fix wild accesses to vnode private data 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: dev-commits-src-main+owner@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: jah X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b18029bc59d2ed6b0eeeb233189cf713b34b467c Auto-Submitted: auto-generated The branch main has been updated by jah: URL: https://cgit.FreeBSD.org/src/commit/?id=b18029bc59d2ed6b0eeeb233189cf713b34b467c commit b18029bc59d2ed6b0eeeb233189cf713b34b467c Author: Jason A. Harmening AuthorDate: 2024-02-18 00:19:32 +0000 Commit: Jason A. Harmening CommitDate: 2024-04-09 22:36:59 +0000 unionfs_lookup(): fix wild accesses to vnode private data There are a few spots in which unionfs_lookup() accesses unionfs vnode private data without holding the corresponding vnode lock or interlock. Reviewed by: kib, olce MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D44601 --- sys/fs/unionfs/union_vnops.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c index 3e8853baeb4d..187d0513da25 100644 --- a/sys/fs/unionfs/union_vnops.c +++ b/sys/fs/unionfs/union_vnops.c @@ -79,7 +79,7 @@ static int unionfs_lookup(struct vop_cachedlookup_args *ap) { - struct unionfs_node *dunp; + struct unionfs_node *dunp, *unp; struct vnode *dvp, *udvp, *ldvp, *vp, *uvp, *lvp, *dtmpvp; struct vattr va; struct componentname *cnp; @@ -139,6 +139,9 @@ unionfs_lookup(struct vop_cachedlookup_args *ap) if (dtmpvp == udvp && ldvp != NULLVP) { VOP_UNLOCK(udvp); vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); + dunp = VTOUNIONFS(dvp); + if (error == 0 && dunp == NULL) + error = ENOENT; } if (error == 0) { @@ -152,14 +155,15 @@ unionfs_lookup(struct vop_cachedlookup_args *ap) VOP_UNLOCK(vp); vrele(vp); + dtmpvp = dunp->un_dvp; + vref(dtmpvp); VOP_UNLOCK(dvp); - *(ap->a_vpp) = dunp->un_dvp; - vref(dunp->un_dvp); + *(ap->a_vpp) = dtmpvp; if (nameiop == DELETE || nameiop == RENAME) - vn_lock(dunp->un_dvp, LK_EXCLUSIVE | LK_RETRY); + vn_lock(dtmpvp, LK_EXCLUSIVE | LK_RETRY); else if (cnp->cn_lkflags & LK_TYPE_MASK) - vn_lock(dunp->un_dvp, cnp->cn_lkflags | + vn_lock(dtmpvp, cnp->cn_lkflags | LK_RETRY); vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); @@ -272,8 +276,12 @@ unionfs_lookup(struct vop_cachedlookup_args *ap) vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); lockflag = 1; } - error = unionfs_mkshadowdir(MOUNTTOUNIONFSMOUNT(dvp->v_mount), - udvp, VTOUNIONFS(vp), cnp, td); + unp = VTOUNIONFS(vp); + if (unp == NULL) + error = ENOENT; + else + error = unionfs_mkshadowdir(MOUNTTOUNIONFSMOUNT(dvp->v_mount), + udvp, unp, cnp, td); if (lockflag != 0) VOP_UNLOCK(vp); if (error != 0) { From nobody Wed Apr 10 02:21:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDmld0RKGz5GY4F; Wed, 10 Apr 2024 02:21: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 4VDmlc5WDlz4Jgy; Wed, 10 Apr 2024 02:21:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712715660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y1WimzucT5v6AUAk/1kNKH2AcJB+1sMZs4PPuPzaA8o=; b=XPTQdVmv2Av2Bcw59/eDVy+E7XYDIEsBfOk9MJ8SGNkKhE+EPcKfuBmLxRuA96FX9Qzwgi 9n5glfGyFGTk5e2XGLqMho3+qExo5AA5x7fRJ/8oAeDAKiGD3fnOcgjnYZxQlTrQhVJ4/+ zm1GTqpd+E0lq9NwotycZHOa3dTg05nibOkPbl6qDU4sQMvMHKfawKCLdR1a1Z4BPYpTfW gYc8+JtxJazbxZHddhl0TEhSFdAhjmnYuN0HZKqkZBzhkHqa6fbfRGMOX+9dwwAs96oPyf JdQejEoHW8TsE4HqYfAYBjdzLjfmEiWPQix5TBbTSwycC66Kn0oTOFwwrYDYrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712715660; a=rsa-sha256; cv=none; b=UKqZDhIP46GxbVL39NW9GX/giGA9iRTPBlOS7s/XSLzOSedmPRwYoL8/QdD9wLXO/zpH8F rS6bOboAo+3u4jDLHxit2Qq4Oh4LObs28xDrYPJinZZQtLAs/iZY1RldSYsUsMu7ubJu3u AlFZF99E6h09TEkS5e4elWOndRZZ8KqXPinxjsayBVtdTy+oD4hyAxdEz6TL6x324q6vCv i5FihiUPh4PH6gPybClIvJ6I9NC+hXGOhDZm0XStVVLwSi7q36EzlCb9iRrZjOqmicJ3B/ heUKhOXcY8dZ7vzwcGqjmSK4q6O8OyoDdiUGlvvplJsnxmuChMtVBZrgBYEWvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712715660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y1WimzucT5v6AUAk/1kNKH2AcJB+1sMZs4PPuPzaA8o=; b=XJiEPVIeiB056HTMGxGKsXRWVCNMo5Z8fsTEuK8ca/4Q/rHot55ld7NwrBxnx92GTqpDd+ RCtr223PP1XF93xC+b3eNU2sY6zKWSkRwbrE99nyQLFQH6fibTj08gQrBkoUXdKnH2Im6d k6QeOktxkm0qqGljk3ARdDEmeF0rcuYdD4Hu38H5tznY7/uSb9iWI7ayyKSsHr4YzpKEtd HrRbeuOf/cAetybkmx+MzN7aulY9qRYskzFGnsZNF1ogjTf0rVbjo9Bwlni4fHpBuqJExK t4UmbRWW68tmS/eESrWAQH86DABmhzyCMSjBF0jmJ+s2ab54ZuDTvQ9C4nekyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDmlc57NlzKPl; Wed, 10 Apr 2024 02:21:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A2L0Vg079348; Wed, 10 Apr 2024 02:21:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A2L0K9079345; Wed, 10 Apr 2024 02:21:00 GMT (envelope-from git) Date: Wed, 10 Apr 2024 02:21:00 GMT Message-Id: <202404100221.43A2L0K9079345@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jake Freeland Subject: git: b112232e4fb9 - main - uipc_shm: Copyin userpath for ktrace(2) 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: dev-commits-src-main+owner@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: jfree X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b112232e4fb931ebafae9d79fbc970e3df020b57 Auto-Submitted: auto-generated The branch main has been updated by jfree: URL: https://cgit.FreeBSD.org/src/commit/?id=b112232e4fb931ebafae9d79fbc970e3df020b57 commit b112232e4fb931ebafae9d79fbc970e3df020b57 Author: Jake Freeland AuthorDate: 2024-04-10 02:17:11 +0000 Commit: Jake Freeland CommitDate: 2024-04-10 02:17:11 +0000 uipc_shm: Copyin userpath for ktrace(2) If userpath is not SHM_ANON, then copy it in early so ktrace(2) can record it. Without this change, ktrace(2) will attempt to strcpy a userspace string and trigger a page fault. Reported by: syzbot+490b9c2a89f53b1b9779@syzkaller.appspotmail.com Fixes: 0cd9cde767c3 Approved by: markj (mentor) Reviewed by: markj MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D44702 --- sys/kern/uipc_shm.c | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c index 5347378c2b4d..14fe43524935 100644 --- a/sys/kern/uipc_shm.c +++ b/sys/kern/uipc_shm.c @@ -1173,18 +1173,6 @@ kern_shm_open2(struct thread *td, const char *userpath, int flags, mode_t mode, if ((shmflags & SHM_ALLOW_SEALING) != 0) initial_seals &= ~F_SEAL_SEAL; -#ifdef CAPABILITY_MODE - /* - * shm_open(2) is only allowed for anonymous objects. - */ - if (userpath != SHM_ANON) { - if (CAP_TRACING(td)) - ktrcapfail(CAPFAIL_NAMEI, userpath); - if (IN_CAPABILITY_MODE(td)) - return (ECAPMODE); - } -#endif - AUDIT_ARG_FFLAGS(flags); AUDIT_ARG_MODE(mode); @@ -1209,6 +1197,26 @@ kern_shm_open2(struct thread *td, const char *userpath, int flags, mode_t mode, if ((initial_seals & ~F_SEAL_SEAL) != 0) return (EINVAL); + if (userpath != SHM_ANON) { + error = shm_copyin_path(td, userpath, &path); + if (error != 0) + return (error); + +#ifdef CAPABILITY_MODE + /* + * shm_open(2) is only allowed for anonymous objects. + */ + if (CAP_TRACING(td)) + ktrcapfail(CAPFAIL_NAMEI, path); + if (IN_CAPABILITY_MODE(td)) { + free(path, M_SHMFD); + return (ECAPMODE); + } +#endif + + AUDIT_ARG_UPATH1_CANON(path); + } + pdp = td->td_proc->p_pd; cmode = (mode & ~pdp->pd_cmask) & ACCESSPERMS; @@ -1220,8 +1228,10 @@ kern_shm_open2(struct thread *td, const char *userpath, int flags, mode_t mode, * in sys_shm_open() to keep this implementation compliant. */ error = falloc_caps(td, &fp, &fd, flags & O_CLOEXEC, fcaps); - if (error) + if (error) { + free(path, M_SHMFD); return (error); + } /* A SHM_ANON path pointer creates an anonymous object. */ if (userpath == SHM_ANON) { @@ -1235,14 +1245,6 @@ kern_shm_open2(struct thread *td, const char *userpath, int flags, mode_t mode, shmfd->shm_seals = initial_seals; shmfd->shm_flags = shmflags; } else { - error = shm_copyin_path(td, userpath, &path); - if (error != 0) { - fdclose(td, fp, fd); - fdrop(fp, td); - return (error); - } - - AUDIT_ARG_UPATH1_CANON(path); fnv = fnv_32_str(path, FNV1_32_INIT); sx_xlock(&shm_dict_lock); shmfd = shm_lookup(path, fnv); From nobody Wed Apr 10 02:21:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDmlf1DTJz5GXsR; Wed, 10 Apr 2024 02:21: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 4VDmld68nBz4Jww; Wed, 10 Apr 2024 02:21:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712715661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qM8Ti9K32Kf91DkN38YDmDApCDp2zQenrqBETlMuAhY=; b=oUl1rcxQGaSdw6sX8iyo6AkG5osvzW6zv1Z1cvGOrSQLWKdMFFma6F/17vkDgyl81F03ye GLkRL/Pny7ErsIcuhWHWkgMV+usvYyXUWMaCRi/jOKa5r4nQ6eDjkajKNQmzWiYwfc5LLj eYVYEqFmljJGjm+UmwP5a90Oq5DdRJU9YCZGI/iowh2H+T6VTpLSNu1xqZxTXbrohzpqHW b3OGfxkVdpttUQNAZNX9CwbMhenUeKB+1hAUHJul/UQGJwuY+XUf5vLa6WA24CoVvn27AH 6JaML165iusYYj0Nv9jG4suwEmAvu0GeKBjhldhRwY9702m3SgxhR8zt8uj6TA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712715661; a=rsa-sha256; cv=none; b=doguwzXVIm9mwi2uG7s79qYDt/vBLsL7zWxW6Z5CFNIoq5z28/znFgC7CWZtrwzJdZNlsn hERR6oo/OZliimrxYT5eCUJEheMrXG7UWxOofReZNxqo5K2BbcQPT5HAMx4Zb1m7E9pjPx BlQw9Td9tZLIOWylDLmZInvatog21wT9QxMHKIoA3jpYT2hVDkad38s9CzCwdGzrOPoX3J YELnC3g9JOSIM46enUsHna6vjsltOvnQQR/EtMJX32OvwKaprbUPSmC8RYcVdm8AZibBCT qrRrVnt1eOnYbx/1vACtf+t5rNusDs3+jXwFqcIvmlWUjyu7kwS+/pbfz/nElw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712715661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qM8Ti9K32Kf91DkN38YDmDApCDp2zQenrqBETlMuAhY=; b=Y6VHpQOKmqtAJ1jIuDe/mGENlMs7Hgl3TTOxnwMDH/1mcAfzdNofH6vhnxbUF1Ov0kJqq9 isZahHsuhtdEmDfmebi99tMrsceWOXDYLqMyeeSV/xWvgDt6irwZacBQkGnF6dQiODpBcY kb3Q2RozCXvtWoRvi7wt2wxdbXguljN9vLAIOpn64ycEpFLIYl5to/NqrH4gjeHGplsYLN dOF5s/DDPMleY5uqJ8ufg7w1YsRLkG6BrK2wEvotMUP/JYuuhTz5P5rVH2CUivAIkJF1LK ZXwjk6JIgmlL7UHjzvNF38slFtq16ETwXDZyu6U9ZKjGXzzdyVH9di3DuLMQ8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDmld5nJKzJSZ; Wed, 10 Apr 2024 02:21:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A2L1GL080128; Wed, 10 Apr 2024 02:21:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A2L1iw080110; Wed, 10 Apr 2024 02:21:01 GMT (envelope-from git) Date: Wed, 10 Apr 2024 02:21:01 GMT Message-Id: <202404100221.43A2L1iw080110@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jake Freeland Subject: git: 054a4720591f - main - tests: Add ktrace regression test for shm_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: dev-commits-src-main+owner@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: jfree X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 054a4720591f0c98579bccef2751fd458ee4f71f Auto-Submitted: auto-generated The branch main has been updated by jfree: URL: https://cgit.FreeBSD.org/src/commit/?id=054a4720591f0c98579bccef2751fd458ee4f71f commit 054a4720591f0c98579bccef2751fd458ee4f71f Author: Jake Freeland AuthorDate: 2024-04-10 02:18:11 +0000 Commit: Jake Freeland CommitDate: 2024-04-10 02:19:03 +0000 tests: Add ktrace regression test for shm_open Verify that a capability violation is recorded when shm_open(2) is called with a non-anonymous path. Approved by: markj (mentor) Reviewed by: markj MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D44733 --- tests/sys/kern/ktrace_test.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/sys/kern/ktrace_test.c b/tests/sys/kern/ktrace_test.c index 49e2ed05fed9..21868441c687 100644 --- a/tests/sys/kern/ktrace_test.c +++ b/tests/sys/kern/ktrace_test.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -474,6 +475,38 @@ ATF_TC_BODY(ktrace__cap_cpuset, tc) "cpuset_setaffinity"); } +ATF_TC_WITHOUT_HEAD(ktrace__cap_shm_open); +ATF_TC_BODY(ktrace__cap_shm_open, tc) +{ + struct ktr_cap_fail violation; + sigset_t set = { }; + pid_t pid; + int error; + + /* Block SIGUSR1 so child does not terminate. */ + ATF_REQUIRE(sigaddset(&set, SIGUSR1) != -1); + ATF_REQUIRE(sigprocmask(SIG_BLOCK, &set, NULL) != -1); + + ATF_REQUIRE((pid = fork()) != -1); + if (pid == 0) { + /* Wait until ktrace has started. */ + CHILD_REQUIRE(sigwait(&set, &error) != -1); + CHILD_REQUIRE_EQ(error, SIGUSR1); + + CHILD_REQUIRE(shm_open("/ktrace_shm", O_RDWR | O_CREAT, + 0600) != -1); + CHILD_REQUIRE(shm_unlink("/ktrace_shm") != -1); + exit(0); + } + + cap_trace_child(pid, &violation, 1); + ATF_REQUIRE_EQ(violation.cap_type, CAPFAIL_NAMEI); + error = syscallabi(violation.cap_svflags); + ATF_REQUIRE_STREQ(sysdecode_syscallname(error, violation.cap_code), + "shm_open2"); + ATF_REQUIRE_STREQ(violation.cap_data.cap_path, "/ktrace_shm"); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, ktrace__cap_not_capable); @@ -484,5 +517,6 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, ktrace__cap_sockaddr); ATF_TP_ADD_TC(tp, ktrace__cap_namei); ATF_TP_ADD_TC(tp, ktrace__cap_cpuset); + ATF_TP_ADD_TC(tp, ktrace__cap_shm_open); return (atf_no_error()); } From nobody Wed Apr 10 03:22:29 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDp6Y3d4Sz5GdnZ; Wed, 10 Apr 2024 03:22: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 4VDp6Y3Bnbz4PcZ; Wed, 10 Apr 2024 03:22:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712719349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oj7ErvvyY6MyasJtMsMLfkAbXbvd5vjorHpFE0ivq9A=; b=NVMyDDPVyS6SBRgZxv3xXsxQsa8hzcv8yEh5oUE/J351qKEfzIBjoVVYDZryj21+4JXh/R tldCo2bwdIPy9ulmECqAjGo3on9BgA+zdkzhqpdguhi8w0uCcRf2HsoVrcPZB3SpRVH9Dv byUjbnOyKUjPNDGFTNnyr9cEcVVpsa9Lvb34/SFmJz1XTcc5XFZFru0nQxfmcQL1VSKjBG qzOxDDT6vPX2nTTIzFnzD/gX/yaWMoU7cyBOCYJFHkHLXR5xHyF6ZpzzPqiaqVeFKYI7De JfShqYtEt+AzzO7C1QtfnkWci4ylNN4vYVuPhKw5Gu+0ZdcDqvudrVGijuLH/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712719349; a=rsa-sha256; cv=none; b=iz2/CE5qcgzUgPYSLFe77wfmgTkY4iD6HEpVz3f1GK8X8dQRUhj9in8JJb+QmD/S+lbSQX Zb6ZJ5l+zRIUtDgRN2B3gfzSWnqYkn75Z772XONmIth8EThArtuGmOXna+VzF7vtLmcwJT Xtdevt7s+FWTgTLStZGrPEGAIcTYoHcT/KSKaXggUwMG5Nlyv2haV8XlEhalgp6ZhXwCHW +UqIfbRGat7qJ8DMyAeUJOnbLSxtdpXmHBLH8fnj3IKR1Pi3StpoyeSDQnKe8LlRcs83V+ rh18jK/Ok2hGnxtfrgq2azrYDMD4OW19ADdGcmQVKCMI1MZ9Q3qVUwFCdgE8WA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712719349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oj7ErvvyY6MyasJtMsMLfkAbXbvd5vjorHpFE0ivq9A=; b=ajjJhfZ6/jp8hwzjhITzb9a5Dr3xUWL5KSrEte7lOsFAo6SNCeIhU7yk/UG+S87e94vuKv 3otou/mbnk1co4cF0jPNxdCJHYoRoZClq+kGkPDxawLbqSgDcghySThYgCcQSEit1xcWCI aftNR9LlPmXUJWIVMxuL0lVJ56SCkxlBtobRk9tk4hg4L5IWLuIU+1TvqEnyAruwJBHZL8 ZOqAQsOYhfz/0RyD2gL3HjgT5S8XGJiPlxnP2sBKib+s415eN0hq8bWUbVV7FNUxOsOive f75lUniapZWcsABlrLzLKXzfsv7PIIdRHnGCcB3hm0Kc3KWA+Sp3gyhCSx3PNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDp6Y2pB2zM2w; Wed, 10 Apr 2024 03:22:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A3MTaA087270; Wed, 10 Apr 2024 03:22:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A3MTXZ087267; Wed, 10 Apr 2024 03:22:29 GMT (envelope-from git) Date: Wed, 10 Apr 2024 03:22:29 GMT Message-Id: <202404100322.43A3MTXZ087267@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: ac83063d37e5 - main - bcm2838_xhci: add module 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: dev-commits-src-main+owner@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: ac83063d37e5e92ad048cc4ed958654c02103f74 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ac83063d37e5e92ad048cc4ed958654c02103f74 commit ac83063d37e5e92ad048cc4ed958654c02103f74 Author: Lexi Winter AuthorDate: 2024-04-10 03:11:36 +0000 Commit: Warner Losh CommitDate: 2024-04-10 03:11:39 +0000 bcm2838_xhci: add module bcm2838_xhci(4) is a shim for the XHCI controller on the Raspberry Pi 4B SoC. It loads the controller's firmware before passing control to the normal xhci(4) driver. When xhci(4) is built as a module (and not in the kernel), bcm2838_xhci is not built at all and the RPi4's XHCI controller won't attach due to missing firmware. To fix this, build a new module, bcm2838_xhci.ko, which depends on xhci.ko. For the dependency to work correctly, also modify xhci to provide the 'xhci' module in addition to the 'xhci_pci' module it already provided. Since bcm2838_xhci is specific to a quirk of the RPi4 SoC, only build the module for AArch64. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1142 --- sys/arm/broadcom/bcm2835/bcm2838_xhci.c | 2 ++ sys/dev/usb/controller/xhci.c | 2 ++ sys/modules/usb/Makefile | 7 ++++++- sys/modules/usb/bcm2838_xhci/Makefile | 12 ++++++++++++ 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/sys/arm/broadcom/bcm2835/bcm2838_xhci.c b/sys/arm/broadcom/bcm2835/bcm2838_xhci.c index 11b3bccf68a1..25579d7227a5 100644 --- a/sys/arm/broadcom/bcm2835/bcm2838_xhci.c +++ b/sys/arm/broadcom/bcm2835/bcm2838_xhci.c @@ -212,3 +212,5 @@ DEFINE_CLASS_1(bcm_xhci, bcm_xhci_driver, bcm_xhci_methods, DRIVER_MODULE(bcm_xhci, pci, bcm_xhci_driver, 0, 0); MODULE_DEPEND(bcm_xhci, usb, 1, 1, 1); +MODULE_DEPEND(bcm_xhci, pci, 1, 1, 1); +MODULE_DEPEND(bcm_xhci, xhci, 1, 1, 1); diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c index 17800dc11d0c..5be592512196 100644 --- a/sys/dev/usb/controller/xhci.c +++ b/sys/dev/usb/controller/xhci.c @@ -4406,3 +4406,5 @@ static const struct usb_bus_methods xhci_bus_methods = { .set_hw_power_sleep = xhci_set_hw_power_sleep, .set_endpoint_mode = xhci_set_endpoint_mode, }; + +MODULE_VERSION(xhci, 1); diff --git a/sys/modules/usb/Makefile b/sys/modules/usb/Makefile index 2c593495b9a4..3a81c7fd44f3 100644 --- a/sys/modules/usb/Makefile +++ b/sys/modules/usb/Makefile @@ -44,7 +44,7 @@ MAKE+=" DEBUG_FLAGS+=-DUSB_REQ_DEBUG" SUBDIR = usb SUBDIR += ${_dwc_otg} ehci ${_musb} ohci uhci xhci ${_uss820dci} \ - ${_atmegadci} ${_avr32dci} ${_rsu} ${_rsufw} + ${_atmegadci} ${_avr32dci} ${_rsu} ${_rsufw} ${_bcm2838_xhci} SUBDIR += ${_rum} ${_run} ${_runfw} ${_uath} upgt usie ural ${_zyd} ${_urtw} SUBDIR += atp cfumass uhid uhid_snes ukbd ums udbp uep wmt wsp ugold uled \ usbhid @@ -98,6 +98,11 @@ _urtw= urtw _avr32dci= avr32dci .endif +.if ${MACHINE_CPUARCH} == "aarch64" +# The bcm2838_xhci shim is specific to the Raspberry Pi 4 SoC. +_bcm2838_xhci= bcm2838_xhci +.endif + .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ ${MACHINE_CPUARCH} == "i386" _uacpi= uacpi diff --git a/sys/modules/usb/bcm2838_xhci/Makefile b/sys/modules/usb/bcm2838_xhci/Makefile new file mode 100644 index 000000000000..3c90b4c8b32c --- /dev/null +++ b/sys/modules/usb/bcm2838_xhci/Makefile @@ -0,0 +1,12 @@ +# Copyright (c) 2024 Lexi Winter. +# +# SPDX-License-Identifier: BSD-2-Clause + +S= ${SRCTOP}/sys + +.PATH: $S/arm/broadcom/bcm2835 + +KMOD= bcm2838_xhci +SRCS= bcm2838_xhci.c + +.include From nobody Wed Apr 10 03:29:20 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDpGS6BF6z5GfcF; Wed, 10 Apr 2024 03:29: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 4VDpGS4GRCz4Pyh; Wed, 10 Apr 2024 03:29:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712719760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dpq2Y8tlsCDtrsqux9yborkvebuSXgBz4eF1WttWDjk=; b=qgtxwNmwl98pj2/hKn5jzhhH3vUX2UR179DE6KsDgMSZNyVWsHZsp8TOrfEgHG3NJknL7V gQF6SR6CL7kzqtlAiHmAU8rM5duTOUEg7jU7ERIYXne2ct1SBSs2BWPGLp9sj+MEOb5rhb pjryy9i+bz3AS81Uw3wz8J5FoRPcOkY58gjIyPZYjKS/gblnN7+GSyHmtbE5TvvRcVlzcY /glEiPaSUx3BYzZEf3i0hRer7jzdBoeICvjJ9JGiDf9Vr4MJpqRmEvOXdzKzhtkldE0ME1 xEk170vrArPDpfnDFilawDsVekPzSoBQ6EiT8+83In/qJcFfe1HkoML1wDP0oQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712719760; a=rsa-sha256; cv=none; b=WARvTVju4nJeDVV4glqu7eiW83E0yh6nBVh9prSBfzyics9WhNFhZEXGKWXkywc0nsRvpk X/eMCz+Zk5Mlu6ygDkEmZBQ55SwdzwGKW85vaIYa76gmt0wY6UgFx112LVVgJo8PgT9GtL SCQ9UGLorAec9x0hRSHKaX8QPY6qPXcs0azNMktVzIEuB8C4ClW6kxLEm6oquZB3E1pL96 K8D7k/zvCZVA3K1cyWYE07VrgMm+f2ijugt5pa+o86NQVuD3M6F+s8zk/pqzrS9PUpUfL0 rRgMUEr4qjLRif1EnDRW5xTMiySh0FSYqU6MVw4wYOx166Ta6W3xWz/HMeXvug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712719760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dpq2Y8tlsCDtrsqux9yborkvebuSXgBz4eF1WttWDjk=; b=HHbcUjRIftmAxg4K/0XaY3ncetIygCDy3SKmMTzaEraXXKndz8ADgvOlDsnIjjMtsURMlR KEtAIfMhWPpA1W6YATPRhYh4aByZV93SWcecmVxUr+JcL1+oswhtYarHObrV20bwcKDZqt 8TpWIk9gkZmNbm3GWf1qkwopyBiePCooRtuL/11tvB1TGpz+cAl4ewtX5nqAYE+HRPLi1c dmJSjvH8sZ6x9viFiVcAkz4b6i/H4cnoshNgXMASEo2QwGFL+Za2O98nIi887wsPe7ISY+ EQgUY+gvUmpdd9Idpis+XKX/oWeWcnm0Fe0MJQU3neHUQmtr0GtuIXfBftPjpg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDpGS3kFTzLQr; Wed, 10 Apr 2024 03:29:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A3TKbS089589; Wed, 10 Apr 2024 03:29:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A3TKJ6089586; Wed, 10 Apr 2024 03:29:20 GMT (envelope-from git) Date: Wed, 10 Apr 2024 03:29:20 GMT Message-Id: <202404100329.43A3TKJ6089586@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 93e4813b9a15 - main - release: make -j compat: cd inside subshell 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: dev-commits-src-main+owner@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 93e4813b9a157396ffbcf8456ca4f5c25599807d Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=93e4813b9a157396ffbcf8456ca4f5c25599807d commit 93e4813b9a157396ffbcf8456ca4f5c25599807d Author: Colin Percival AuthorDate: 2024-04-10 03:25:34 +0000 Commit: Colin Percival CommitDate: 2024-04-10 03:29:16 +0000 release: make -j compat: cd inside subshell Place instances of "cd foo && bar" inside subshells for compatibility with modern make(8) which uses a single shell for the duration of a makefile target. MFC after: 1 week --- release/Makefile | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/release/Makefile b/release/Makefile index 3bfdde407cec..628a3e3140d4 100644 --- a/release/Makefile +++ b/release/Makefile @@ -117,7 +117,7 @@ clean: beforeclean base.txz: mkdir -p ${DISTDIR} - cd ${WORLDDIR} && ${IMAKE} distributeworld DISTDIR=${.OBJDIR}/${DISTDIR} + ( cd ${WORLDDIR} && ${IMAKE} distributeworld DISTDIR=${.OBJDIR}/${DISTDIR} ) # Bootstrap etcupdate(8) database. sh ${WORLDDIR}/usr.sbin/etcupdate/etcupdate.sh extract -B \ -m "${MAKE}" -M "TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET}" \ @@ -130,41 +130,41 @@ base.txz: rm ${.OBJDIR}/${DISTDIR}/base/var/db/etcupdate/current/METALOG .endif # Package all components - cd ${WORLDDIR} && ${IMAKE} packageworld DISTDIR=${.OBJDIR}/${DISTDIR} + ( cd ${WORLDDIR} && ${IMAKE} packageworld DISTDIR=${.OBJDIR}/${DISTDIR} ) mv ${DISTDIR}/*.txz . kernel.txz: mkdir -p ${DISTDIR} - cd ${WORLDDIR} && ${IMAKE} distributekernel packagekernel DISTDIR=${.OBJDIR}/${DISTDIR} + ( cd ${WORLDDIR} && ${IMAKE} distributekernel packagekernel DISTDIR=${.OBJDIR}/${DISTDIR} ) mv ${DISTDIR}/kernel*.txz . src.txz: mkdir -p ${DISTDIR}/usr ln -fs ${WORLDDIR} ${DISTDIR}/usr/src - cd ${DISTDIR} && ${TAR_CMD} cLvf - --exclude .svn --exclude .zfs \ + ( cd ${DISTDIR} && ${TAR_CMD} cLvf - --exclude .svn --exclude .zfs \ --exclude .git --exclude @ --exclude usr/src/release/dist usr/src | \ - ${XZ_CMD} > ${.OBJDIR}/src.txz + ${XZ_CMD} > ${.OBJDIR}/src.txz ) ports.txz: mkdir -p ${DISTDIR}/usr ln -fs ${PORTSDIR} ${DISTDIR}/usr/ports - cd ${DISTDIR} && ${TAR_CMD} cLvf - \ + ( cd ${DISTDIR} && ${TAR_CMD} cLvf - \ --exclude .git --exclude .svn \ --exclude usr/ports/distfiles --exclude usr/ports/packages \ --exclude 'usr/ports/INDEX*' --exclude work usr/ports | \ - ${XZ_CMD} > ${.OBJDIR}/ports.txz + ${XZ_CMD} > ${.OBJDIR}/ports.txz ) disc1: packagesystem # Install system mkdir -p ${.TARGET} - cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ + ( cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ DESTDIR=${.OBJDIR}/${.TARGET} MK_AT=no \ MK_INSTALLLIB=no MK_MAIL=no \ ${_ALL_LIBCOMPATS:@v@MK_LIB$v=no@} \ MK_TOOLCHAIN=no MK_PROFILE=no \ MK_RESCUE=no MK_DICT=no \ MK_KERNEL_SYMBOLS=no MK_TESTS=no MK_DEBUG_FILES=no \ - -DDB_FROM_SRC + -DDB_FROM_SRC ) # Copy distfiles mkdir -p ${.TARGET}/usr/freebsd-dist for dist in MANIFEST $$(ls *.txz | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ @@ -197,7 +197,7 @@ disc1: packagesystem bootonly: packagesystem # Install system mkdir -p ${.TARGET} - cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ + ( cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ DESTDIR=${.OBJDIR}/${.TARGET} MK_AT=no \ MK_GAMES=no \ MK_INSTALLLIB=no MK_MAIL=no \ @@ -205,7 +205,7 @@ bootonly: packagesystem MK_TOOLCHAIN=no MK_PROFILE=no \ MK_RESCUE=no MK_DICT=no \ MK_KERNEL_SYMBOLS=no MK_TESTS=no MK_DEBUG_FILES=no \ - -DDB_FROM_SRC + -DDB_FROM_SRC ) # Copy manifest only (no distfiles) to get checksums mkdir -p ${.TARGET}/usr/freebsd-dist cp MANIFEST ${.TARGET}/usr/freebsd-dist @@ -233,10 +233,10 @@ bootonly: packagesystem dvd: packagesystem # Install system mkdir -p ${.TARGET} - cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ + ( cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ DESTDIR=${.OBJDIR}/${.TARGET} MK_RESCUE=no MK_KERNEL_SYMBOLS=no \ MK_TESTS=no MK_DEBUG_FILES=no \ - -DDB_FROM_SRC + -DDB_FROM_SRC ) # Copy distfiles mkdir -p ${.TARGET}/usr/freebsd-dist for dist in MANIFEST $$(ls *.txz | grep -v -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ @@ -331,8 +331,8 @@ release-install: ${XZ_CMD} -k ${DESTDIR}/${OSRELEASE}-${I} . endif .endfor - cd ${DESTDIR} && sha512 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA512 - cd ${DESTDIR} && sha256 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA256 + ( cd ${DESTDIR} && sha512 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA512 ) + ( cd ${DESTDIR} && sha256 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA256 ) .endif .include "${.CURDIR}/Makefile.inc1" From nobody Wed Apr 10 03:29:22 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDpGW1HhPz5GfJQ; Wed, 10 Apr 2024 03:29: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 4VDpGV6Cnbz4Q4M; Wed, 10 Apr 2024 03:29:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712719762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YMSDc+ouvX6FYsQRP6dZLu7ZnamJlGbcZDg65tYVGWI=; b=HDIIkqDI/PNdjvRkuy2RrGq4IpADqIaMVSUsdyDKBGtJT3wbaR+/rw4fywRhZmaAGD7r/s h97/cGf4uijtQw7X3WoRuaFmc8dezP0DKjQax4OTLwm96aTWMNztYYgVp64cQJGgoVaE0e tPHEgaWBZ3FP5ZaocKaUPVCF68kXzBBnycsq9ent6H+sEGo8WP6/u+QXPo/+RpbY4aYtMj RCXusxGQU5REvctUdUdIDho6uyF1l4Xet7AL5xSvUQ1IclAPvpeJFZkPZ7cpbaMSGFQnHC sW1JvGMlhxur9FNzwZLXVUDD1hRhsSFr8mDpuy4mcKPReUb6QIA08rRyIkcdGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712719762; a=rsa-sha256; cv=none; b=AkGsRdVsW3KHYjHh4Sh9T7UeDB0zmRg6dctGhJ4bvl5L9uTMWVvFlML16iND6tQtWZ9jQb 8XtjRr/CmwXtpAp4evzzWz27xLbgm5URl3WcimgZ1tnirKVlIkOL4wapqDL6UljrkUBY12 w/9lCtxBLf4i6iefxN3BZAxKuFLxMnq7UHguONVh426NbS1T15o8LktcGwkq3h9QnSr9aW +TDDdG/RF4Ec3UytJcJoCjkQT7jgLNdc6HXm5DL8t/8snU0VklcXjH3XEdHDvWeWtr0KaM 7RoI6w5KANKKAHOLRBE8xF5H9MfQ/wv8+zXeE6zSWtjPfXQIgdPs7SaN6CdHCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712719762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YMSDc+ouvX6FYsQRP6dZLu7ZnamJlGbcZDg65tYVGWI=; b=e4Hlve2RiuugWMTHlTSb7XW3qECjxNrpWiCF3tulOcFXYhI4t+OAaQIgVfvi6Hfr3mxW8Q 3M2Hvj/UnHobECDL1QpNlUAJRD0NLaB/EMzKYORJBjAt8siZvYdzsDdw3SSkPsrz2GZAaY hipJMVzcnt0BNkF8FD+r8XLXVnretj98IJx4WVCXv7RNqmCgsEb9LDCI8/nT82zWwi1LHU ZQz0sXZD9H6bVz+oatNBWOPvDsZcq5Kn653xhpj9OUfvLp3WFV4ab30cC6bsXfdrH42+Gb /PAWYC5SGPAPtsqsjYvmw+edzpvolUzzwRPpZGAwFdsR2lZ3dxYOo697xdA76A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDpGV5gjBzLgG; Wed, 10 Apr 2024 03:29:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A3TMru089690; Wed, 10 Apr 2024 03:29:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A3TMCp089687; Wed, 10 Apr 2024 03:29:22 GMT (envelope-from git) Date: Wed, 10 Apr 2024 03:29:22 GMT Message-Id: <202404100329.43A3TMCp089687@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: a1bff97300ab - main - release: Don't reuse disc1/bootonly directories 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: dev-commits-src-main+owner@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a1bff97300abe4b46528357e39c83da764df1fd8 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=a1bff97300abe4b46528357e39c83da764df1fd8 commit a1bff97300abe4b46528357e39c83da764df1fd8 Author: Colin Percival AuthorDate: 2024-04-10 03:27:19 +0000 Commit: Colin Percival CommitDate: 2024-04-10 03:29:16 +0000 release: Don't reuse disc1/bootonly directories The disc1 and bootonly directories have files distributed into them for use in "full" and "mini" images; the former are disc1.iso and memstick.img, and the latter is bootonly.iso and mini-memstick.img. Unfortunately the scripts which package a directory tree into an ISO or memory stick image also modify the directory, for example to create an appropriate /etc/fstab file; so creating two images at the same time breaks. Resolve this by copying disc1 to disc1-disc1 and disc1-memstick, and copying bootonly to bootonly-bootonly and bootonly-memstick, before using those directories for constructing the ISO+memstick images. MFC after: 1 week --- release/Makefile | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/release/Makefile b/release/Makefile index 26f39e8f8acb..99927d611257 100644 --- a/release/Makefile +++ b/release/Makefile @@ -109,7 +109,7 @@ CLEANFILES+= ${I}.xz .if defined(WITH_DVD) && !empty(WITH_DVD) CLEANFILES+= pkg-stage .endif -CLEANDIRS= dist ftp disc1 bootonly dvd +CLEANDIRS= dist ftp disc1 disc1-disc1 disc1-memstick bootonly bootonly-bootonly bootonly-memstick dvd beforeclean: chflags -R noschg . .include @@ -267,23 +267,31 @@ dvd: packagesystem .endif touch ${.TARGET} +disc1-disc1 disc1-memstick: disc1 + mkdir ${.TARGET} + tar -cf- -C disc1 . | tar -xf- -C ${.TARGET} + +bootonly-bootonly bootonly-memstick: bootonly + mkdir ${.TARGET} + tar -cf- -C bootonly . | tar -xf- -C ${.TARGET} + release.iso: disc1.iso -disc1.iso: disc1 - cd disc1 && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_CD ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} +disc1.iso: disc1-disc1 + cd disc1-disc1 && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_CD ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} dvd1.iso: dvd pkg-stage cd dvd && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_DVD ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} -bootonly.iso: bootonly - cd bootonly && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_BO ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} +bootonly.iso: bootonly-bootonly + cd bootonly-bootonly && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b ${VOLUME_LABEL}_BO ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} memstick: memstick.img -memstick.img: disc1 - cd disc1 && sh ${.CURDIR}/${TARGET}/make-memstick.sh .${NO_ROOT:D/METALOG} ../${.TARGET} +memstick.img: disc1-memstick + cd disc1-memstick && sh ${.CURDIR}/${TARGET}/make-memstick.sh .${NO_ROOT:D/METALOG} ../${.TARGET} mini-memstick: mini-memstick.img -mini-memstick.img: bootonly - cd bootonly && sh ${.CURDIR}/${TARGET}/make-memstick.sh .${NO_ROOT:D/METALOG} ../${.TARGET} +mini-memstick.img: bootonly-memstick + cd bootonly-memstick && sh ${.CURDIR}/${TARGET}/make-memstick.sh .${NO_ROOT:D/METALOG} ../${.TARGET} packagesystem: ${DISTRIBUTIONS} sh ${.CURDIR}/scripts/make-manifest.sh *.txz > MANIFEST From nobody Wed Apr 10 03:29:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDpGX34gbz5GfYs; Wed, 10 Apr 2024 03:29: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 4VDpGX0D1Zz4Psw; Wed, 10 Apr 2024 03:29:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712719764; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GMD7cz/3zcKXYAygEpKIp4+QKzyaPL755KjoPvDpIys=; b=gklYfrr5hdIjpxCDgc8xtj5g/gUU06YxqOzDN2dIMOPR1jCODUMbod8ePNPDIGlzg6KnVZ S99y9pYrp0daOE1+79IXw5y1x0WsqaBGmbM8PfCkQDuwqsUT621lUgIUDBTMFqprVXoy1V LZ9GLrQC0Tix3UiPSU8UL9S7UYUC8XfNHtXOVcjiSC2Zl9bviuL1/+iq3RpPCa5yocU2ua 6xPHs4eZW8B33VHrzzxcGX7l3R47jBK3uk/rpSAujkNwRTHbMp6VRAaxOxXS27IJ43c1It eIgkixWWANLQU1pQHXOAFm5to3w7QJ02Hn9mxX2cAv9e4868wjT7hmL3/kZNuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712719764; a=rsa-sha256; cv=none; b=w3TbE+fTdt8spJAzGFvuBqse0xhHHpJO2ADWLAbwR1olHzV53EPiD3JFhgl4acGfkup0oj lMRkx1euvfbgnvD1nAPZHmes6GdK+Y4iWDgShePrd6j9e+7lpV+jhWvD2GOObRwLk/KTf3 W/5pf8NqcVuZNWovcofWvnnuzPY0z2OfEvYO9A6UOOpg9Hvv1zy/gPmV7cLgHl/jo16LFP RGATns5WZ329nkzvjdOpSSrFOjOki7GeDkN0OZidu5mmzsf73XwOVJSr+XxA24mxq3sATG rdYlvATpRveb6LlfJ99h5h+zgfqYQ2g9XDfv5KpiTKQhuMpZCqvcpdJfXd3Dig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712719764; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GMD7cz/3zcKXYAygEpKIp4+QKzyaPL755KjoPvDpIys=; b=QnT6ZZyueCw35qaQ0TBb5ffL2dGHuPTT/Q+Xw3o4PPiAIZZuvTLrcLiJTvHart6Gq2+btz DPF9L96yAcLL3NpS291HvQGcOajJ3TV5bPRMMCTlwB+OmQgz4AzZr/dv+qsqkeOJJFycdw CnWOXZfeAOgyJMzC+g4YvSQ0eJQRHjesSw0SFVsbfLaYUyg/YmtgRXCwz+ufIyjPzZV4kQ 98TAh2lvmLy+NHOam/PHZj1YXRN3suaHeN9JUeQn01a/6HS159pclcuUNepxNIP4W+k5Sq xUKk3n9OolRzNr5W7lmS7MBOuqH8jqU0NWqjNF+Zu/dQqUSRslAilA+PbKpsVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDpGW6NnLzLgH; Wed, 10 Apr 2024 03:29:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A3TNXM089738; Wed, 10 Apr 2024 03:29:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A3TNgd089735; Wed, 10 Apr 2024 03:29:23 GMT (envelope-from git) Date: Wed, 10 Apr 2024 03:29:23 GMT Message-Id: <202404100329.43A3TNgd089735@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 2c01e189ff19 - main - Reapply "release.sh: Add -jN to `make release`" 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: dev-commits-src-main+owner@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2c01e189ff190cf1618dedd01f196bca68298c44 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=2c01e189ff190cf1618dedd01f196bca68298c44 commit 2c01e189ff190cf1618dedd01f196bca68298c44 Author: Colin Percival AuthorDate: 2024-04-10 03:27:44 +0000 Commit: Colin Percival CommitDate: 2024-04-10 03:29:16 +0000 Reapply "release.sh: Add -jN to `make release`" With the latest changes to release/Makefile, it is now possible to run `make release -jN` without the build failing (at least in my latest tests). This reverts commit 7b707e797b2cd6265ba8f6215e59445e9efb9e97. MFC after: 1 week --- release/release.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/release/release.sh b/release/release.sh index c9d0203debd4..3c68f89c2cc3 100755 --- a/release/release.sh +++ b/release/release.sh @@ -89,9 +89,11 @@ env_setup() { SRC_CONF="/dev/null" # The number of make(1) jobs, defaults to the number of CPUs available - # for buildworld, and half of number of CPUs available for buildkernel. + # for buildworld, and half of number of CPUs available for buildkernel + # and 'make release'. WORLD_FLAGS="-j$(sysctl -n hw.ncpu)" KERNEL_FLAGS="-j$(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2))" + RELEASE_FLAGS="-j$(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2))" MAKE_FLAGS="-s" @@ -190,7 +192,7 @@ env_check() { ${CONF_FILES}" RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} \ KERNCONF=\"${KERNEL}\" ${ARCH_FLAGS} ${CONF_FILES}" - RELEASE_RMAKEFLAGS="${ARCH_FLAGS} \ + RELEASE_RMAKEFLAGS="${ARCH_FLAGS} ${RELEASE_FLAGS} \ KERNCONF=\"${KERNEL}\" ${CONF_FILES} ${SRCPORTS} \ WITH_DVD=${WITH_DVD} WITH_VMIMAGES=${WITH_VMIMAGES} \ WITH_CLOUDWARE=${WITH_CLOUDWARE} XZ_THREADS=${XZ_THREADS}" From nobody Wed Apr 10 03:39:50 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDpVb1Jtyz5GgMY; Wed, 10 Apr 2024 03:39: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 4VDpVb0TzZz4Rhm; Wed, 10 Apr 2024 03:39:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712720391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jrZ/sCfi4BPtkAWkIFt2CGbrlPtLXs6EnVnaImOKWk0=; b=sODATe/RxhAWgYzir8OCKTsur0/GUC4tPq3g1ne1h2e5VvLJqQBAMne0q3aSdg9yAiO0XI zQpv53L/3HbaD7m7fRgw9/ZUjuDhmbIGse1rLtQVxXDFZ1YAvFfGqxy2H0bNMWCzauuWma OKt7RWfLzmV9B+PRfYm3GJkXcSEPsMhfSeZOupLdu/trd3lv+rO3sAJZGmY4SABZt58GcP ouFzh3UTzIrX4QbUBf0erfDX38NSzDg7+yWC9yCqGA+qKnQ8Avnp6HTHQhqG/9OmicZcxX baTGbF3Rq1q5y1AQoLP1tYi/0VE5MJ8C6EcrtxnanlcxXuhn8vcSFCkitCTTtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712720391; a=rsa-sha256; cv=none; b=Slz2mjeItto9RX+9uG/QrywjjVzVmvajRMYPgp7fOEFhshf2rN29zERUJ0BqD84pj90sNk 1+AW5HQ7I7Ojd/ohULsZXis0gJePsKEuckN6cQp67O17EV3CkDFiTzEWh9Cu9OgHC3kNeM Bu4HJB69w5M7TrC8la9CJOkz9lpW5yLjQTGOQSA+LzuIKEirXb5HyGzNAEzfryX4RpnaZo 1YFgXJZzKfosparwEWX1m8sjZFaqSsmcEVALQ0abMCpsmaegzM7vMJbZ7ZgY7NKWJ6K8lc f9b7ZvbPsMXNJhw6o0hMcVjWOwtp+nhDHRb7Yicr5fMlrSa3u3oJKRQMw6rcMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712720391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jrZ/sCfi4BPtkAWkIFt2CGbrlPtLXs6EnVnaImOKWk0=; b=DF3QE0TogZsKl8foBXZXF+cR8k1GqSiISOFcyVsRD+cp7s/rzdG8SDVTsKeL45cumRIM3p 74sYZ+OQasRVHzeWkax0m1aQQ7TWUobJScWea47BhfBffu3ICVtkPuK4aq2Uey1mj7+x7n wCGVkFQ6kEhypYYYElAFB8C9v9sSXqr6V9bC+gfJGxqQLz6Ob8UPFfUbRexkLgs0F09mDR plAoSErCMcI4s4urs1t7+u9znOBYc++wgIYn0HTlFJw7bjF77zFRWHWVzL1VHhYK9tEMgn /7UTpBn7a+AbYJYpIR31t6oDUQBkq7bB38nUSdNgiJuYoCkcQj/qaSWr4qopPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDpVb002WzMDq; Wed, 10 Apr 2024 03:39:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A3do0t006414; Wed, 10 Apr 2024 03:39:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A3doO3006410; Wed, 10 Apr 2024 03:39:50 GMT (envelope-from git) Date: Wed, 10 Apr 2024 03:39:50 GMT Message-Id: <202404100339.43A3doO3006410@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: 2a3d453049ae - main - exit.3: add the comma after an empty space 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: dev-commits-src-main+owner@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: 2a3d453049ae6da2b0071185827d6b140fbeea62 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2a3d453049ae6da2b0071185827d6b140fbeea62 commit 2a3d453049ae6da2b0071185827d6b140fbeea62 Author: rilysh AuthorDate: 2024-04-10 03:36:10 +0000 Commit: Warner Losh CommitDate: 2024-04-10 03:38:01 +0000 exit.3: add the comma after an empty space exit(3) man page shows __cxa_atexit(3,) instead of __cxa_atexit(3), in a particular section. It seems the comma gets inside the parenthesis and with an extra space, it can be viewed as expected. Signed-off-by: rilysh Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1006 --- lib/libc/stdlib/exit.3 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/stdlib/exit.3 b/lib/libc/stdlib/exit.3 index 4ae3fb70b1de..1ff590bb3ae8 100644 --- a/lib/libc/stdlib/exit.3 +++ b/lib/libc/stdlib/exit.3 @@ -78,7 +78,7 @@ The implementation of the .Fn _Exit function does not call destructors registered with -.Xr __cxa_atexit 3, +.Xr __cxa_atexit 3 , does not flush buffers, and does not close streams. .Pp Both functions make the low-order eight bits of the From nobody Wed Apr 10 04:05:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDq3h2DS6z5GjwL; Wed, 10 Apr 2024 04:05: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 4VDq3h1Dc8z4VKD; Wed, 10 Apr 2024 04:05:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712721904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qUWW1C8Z1x8hEC2AphJc0FA8AILuGPMKOVhxZbYxQI0=; b=XLvxokl5UNyiMCrQUfYZoy9sOvC3A5zqx/cRxIf57FevKEEkSDht7x1DZ82iod5xIeL4e6 NZA5O9XklalsktTCrF1Il9jAuCC2Jd/aJrTOCii5a30XqNaHIY8ENwGERIi3BV3TsB2t1W yE8tfeU22rtq91qDJ+ME71A49737wkWqA7aC1EzO7d248JspvZKeWriPSEMsQtVBFwGFzU DpyWMkydrcMHcw8cQnNQtH6GCK3ojJtnhYQysKQ6TWmaqW7IaruPGf1Ggj5snxkrylH/Rs Rd3SyLNr7EFjPkpuuVX3yspU7RXk+INHZ4FwkJxiFh2h5WCxMPULdrsjvVvCIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712721904; a=rsa-sha256; cv=none; b=C/B+Dk/wVjTjZZ3OX7CCRiI+muFHXNgTD4nkkoWhGOp3hyZXWxnjNXnUPLmS1ncLJZAWRq kSgw3VRe2Uq7uVvM/PK/P+mX3SMDwtSgl96EEY/GO6IUw1qYS83mavlI1IHcALf9bInCgy WD3pm4cqJa7DZMdSawM3noCH6bYSELOWzVaXKsgBnWw5oOqhQLWWPWaEdmO9rGzly0857S 6JgsQ9Z3l6ljIY0hveiLftSt0fDctssnh+Zc2iCcfQ1CPzyJnJXC1G1I6MvHWo/Pta4su3 uESgDZsWn7RHETmH8uzfEZ3Xj8fAODjqdUu3bP4pArh8Wy/4hfUgemixFsetHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712721904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qUWW1C8Z1x8hEC2AphJc0FA8AILuGPMKOVhxZbYxQI0=; b=E2rp2r0fmk48vnQIkKvhjq6IzZS/02UZY4QgW/f/x+FOUSEG3wn9J9Ls3B5j6PtYiJdBfM YopMT/rypIcpvjwbiF1Bfxuu9tnWeNTu23cFeggmIn/wpsqD2aFrKBOW9upAvFd91RX/9+ +NAgXNZ7pjdjed4eQ5gjPewIYbXWwJ4xWFIE2lHKtSxuICsz1Vr77dBVdSMXa66TmLzrw3 mucaRccPhEKdZkwVJabltpYMo1UGfd7fDjWcQnohckWGfA2jVJybRlDGbD1pTuh3QkKcRi tco5usXXDHYnYjVtIiz4Hl1PwKgUJ3cpL7uIXFXwH+ElpzL9nNvoGgnGvLU9CQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDq3h0r33zMYS; Wed, 10 Apr 2024 04:05:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A454AS056981; Wed, 10 Apr 2024 04:05:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A454p1056978; Wed, 10 Apr 2024 04:05:04 GMT (envelope-from git) Date: Wed, 10 Apr 2024 04:05:04 GMT Message-Id: <202404100405.43A454p1056978@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: a27e19a223a1 - main - bectl(8): corrections, changes 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: dev-commits-src-main+owner@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: a27e19a223a1259416aaec6bbfc45953c4fe0bb9 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a27e19a223a1259416aaec6bbfc45953c4fe0bb9 commit a27e19a223a1259416aaec6bbfc45953c4fe0bb9 Author: Graham Perrin AuthorDate: 2023-10-03 09:08:16 +0000 Commit: Warner Losh CommitDate: 2024-04-10 04:00:48 +0000 bectl(8): corrections, changes beadm(1) no longer exists. Cross-reference beadm(8). Aim to improve the HISTORY and AUTHORS sections, including consistency with the manual pages for beadm(8) and libbe(3). Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/857 --- sbin/bectl/bectl.8 | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/sbin/bectl/bectl.8 b/sbin/bectl/bectl.8 index be927d123e9f..a1ea090e0dbd 100644 --- a/sbin/bectl/bectl.8 +++ b/sbin/bectl/bectl.8 @@ -13,7 +13,7 @@ .\" documentation and/or other materials provided with the distribution. .\" .\" -.Dd March 18, 2024 +.Dd April 9, 2024 .Dt BECTL 8 .Os .Sh NAME @@ -201,7 +201,7 @@ Destroy the given boot environment or .Ar beName Ns Cm @ Ns Ar snapshot snapshot without confirmation, unlike in -.Xr beadm 1 . +.Xr beadm 8 . Specifying .Fl F will automatically unmount without confirmation. @@ -492,20 +492,28 @@ flags. .Xr zpool 8 .Sh HISTORY .Nm -is based on -.Xr beadm 1 -and was implemented as a project for the 2017 Summer of Code, along with -.Xr libbe 3 . -.Sh AUTHORS +and +.Xr libbe 3 +were written by +.An Kyle Kneitinger (kneitinger) Aq Mt kyle@kneit.in +as a 2017 Google Summer of Code project, with +.An Allan Jude (allanjude) Aq Mt allanjude@freebsd.org +as mentor. +.Pp .Nm -was written by -.An Kyle Kneitinger (kneitinger) Aq Mt kyle@kneit.in . +was based on +.Xr beadm 8 . +.Sh AUTHORS +.An Slawomir Wojciech Wojtczak (vermaden) Aq Mt vermaden@interia.pl +is the creator and maintainer of +.Xr beadm 8 ; +.An Bryan Drewery (bdrewery) Aq Mt bryan@shatow.net +contributed child dataset fixes, and wrote its manual page. .Pp -.Xr beadm 1 -was written and is maintained by -.An Slawomir Wojciech Wojtczak (vermaden) Aq Mt vermaden@interia.pl . +This manual page derived from the page for +.Xr beadm 8 . .Pp -.An Bryan Drewery (bdrewery) Aq Mt bryan@shatow.net -wrote the original -.Xr beadm 1 -manual page that this one is derived from. +Most subsequent changes to +.Nm +and this page were written by +.An Kyle Evans (kevans) Aq Mt kevans@freebsd.org . From nobody Wed Apr 10 04:05:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDq3j2f2Qz5Gk4y; Wed, 10 Apr 2024 04:05: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 4VDq3j2DBkz4VNn; Wed, 10 Apr 2024 04:05:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712721905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xzs4Qp8G+nsoYjU47tEMbpa79bn4TFn5wBR0mHiHfRY=; b=I/NbADVF095xFPoUc64eOOUv8UerdJkOejmTDc8NfnCOAvlWnZf/47Ailojo1PiDqFkyc4 8H5e00LZiF8r8W0dyVWaorUVi6P9mi2Zv90PVbcAqAW866DTCY00BcuS1zvTg0JUdcGYhj qXIuVohY6SagIbV3PQHVC7HQB4No2y/2pOP/or4LYynFngwrZllPLZnsymkm7Rvp32h2mh jYQZyf7OrtZFP56/d5Fm0C7CmUsy+xT1mR8ke+cMm0tZvhqG0BJt8i5t023ocUoYVo1Cj0 T7ItfDh4yF4q8+Ljb6ZGvkWSuouZ1O93x2i9dW0Iq2DXXa1a0chuXIpjHv1tYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712721905; a=rsa-sha256; cv=none; b=qaKvdIxPVw4Yi+L25JjQauygFicjyAdvP7D84zVLcQm3mCgEmreZQYaQMAGllsHPi/JvOJ fKs5YUf3ahNm47rS5h/G2kumDZwdGevYAeLdgZeVc11jeP6alkZO6HTVCukr04R8teJJAi 2YsKWP+1BFaHmVkCOdOlUAjDE6mlslYlehISqIBAs0EbCLYirMKG0VwvA85dvhZ/fv5WEq bmekui9n8WQ/Ev1nnBwPA/bySvlhitIyB2bX2nNicqVLLmTn9tmxaFfZeF2e+bEXk4qlZ0 IuZ7GocLHxbsl9Vgf/ivbZ3TiemdpSpaia0vsrmnLVM/FeupwmTmbXgeHQt0nA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712721905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xzs4Qp8G+nsoYjU47tEMbpa79bn4TFn5wBR0mHiHfRY=; b=uW84GgRnv1uPDJW6oYdoyArF+CI7wp6wRgSmVqZRxtI9Zqo4Idb7P4gxnh+0hiSpzJd/GM 5lljUBR56S6WYt7SXtL5b0XNlQnWbSUKZ2x4s7KpGFIGBSNOm90SU2Apb/ktgQtonF2OzL bi8Idsmm1ZBSpmInxLpZBxqpsnDk9ANDzDrc/Fi7jkwfk7ILSSOqrH++99eYJOWeJKrudM mvGJD1svKTZ/3h0No9KxglHI9ghP2vtl2XkiDuwolP7qy6IrJimkNGAvHUGK8EbTNPv7Pa t0VhCl6VLo92OUOBAaSrn2D+PG/5p6s+Wm7qp2eye/Ruh7VYM97PGknT+d4TOg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDq3j1ql3zNGS; Wed, 10 Apr 2024 04:05:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A455Ks057024; Wed, 10 Apr 2024 04:05:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A455hV057021; Wed, 10 Apr 2024 04:05:05 GMT (envelope-from git) Date: Wed, 10 Apr 2024 04:05:05 GMT Message-Id: <202404100405.43A455hV057021@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: 6e3e24d14593 - main - bectl(8): HISTORY, AUTHORS: further attention 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: dev-commits-src-main+owner@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: 6e3e24d1459393438fd80c3700e17e7f25cc121e Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6e3e24d1459393438fd80c3700e17e7f25cc121e commit 6e3e24d1459393438fd80c3700e17e7f25cc121e Author: Graham Perrin AuthorDate: 2023-10-03 12:07:18 +0000 Commit: Warner Losh CommitDate: 2024-04-10 04:00:56 +0000 bectl(8): HISTORY, AUTHORS: further attention Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/857 --- sbin/bectl/bectl.8 | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/sbin/bectl/bectl.8 b/sbin/bectl/bectl.8 index a1ea090e0dbd..de6e0c661343 100644 --- a/sbin/bectl/bectl.8 +++ b/sbin/bectl/bectl.8 @@ -501,7 +501,7 @@ as a 2017 Google Summer of Code project, with as mentor. .Pp .Nm -was based on +and this manual page were derived from .Xr beadm 8 . .Sh AUTHORS .An Slawomir Wojciech Wojtczak (vermaden) Aq Mt vermaden@interia.pl @@ -510,10 +510,7 @@ is the creator and maintainer of .An Bryan Drewery (bdrewery) Aq Mt bryan@shatow.net contributed child dataset fixes, and wrote its manual page. .Pp -This manual page derived from the page for -.Xr beadm 8 . -.Pp -Most subsequent changes to +Most changes to .Nm and this page were written by .An Kyle Evans (kevans) Aq Mt kevans@freebsd.org . From nobody Wed Apr 10 04:05:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDq3k6WF9z5Gk2P; Wed, 10 Apr 2024 04:05: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 4VDq3k3BXSz4VHD; Wed, 10 Apr 2024 04:05:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712721906; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ckdJ2zsiKnez396BcW1bY12BJLoZz6wWWQJCKd1hyVc=; b=Onoq2kEoXBC0zPCMzCFGf3J5epniQy26KajRwtKcXBy/QLgfuS2kjdv5ZYMBoJeOat4RKO jqO+7sOO3ZiKQYAL/V5VciRv69FO/24MQMUtzmK+JJzMdFFEWFNp3t+iRAXA+7/gLFEU7m 4yrvSSAEaMt1K6VZ3ztgNZiwK2PEYECrZ4f/iK1zNBuqZxANGLPspart0iQUW9gt2oS/MH yaysrUqhTWFHtDUVwEhnFiJDvdWhuRdlG3huAzja6IGWawCtG5EG8k1E/46emvUpV0ZTSb vkotqHsXbxa8iqUZgMFV/kXt1lTHIeHoN30sZBP8Sx+96kXXwNiZSYbY0+F6AA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712721906; a=rsa-sha256; cv=none; b=ZcRBJcHcxGz8qNCqDrJ/aVD2Wm4GaDV+TZ8mbWCvUUsdKxtLx3jJock+loiwNzbhxH+ntr 3yL4WVWL6mt3WnOVY4QYwc0tXr4WR/LM0uw+wAFeSh2i5bKRTXZylgiZ5CagghOV2tejkZ GaT6YxuwkVNzQgeiNyEe4AKA4Yq+TmfrFVVammJ1hSMSVvcULXitJtg3kip+28JaDmc6Vj qJau4EV32PQEswrc8pzU90YDTsWR5FU/cCRfx713h95GVrXR4pd0MZWmDzSAdJ5y1EmXHp 3KQs7deo7imXOYj0/vujpQzAkjodFaL4Eej3o4uQoWGdx/d/50x5j00VfV+0ew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712721906; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ckdJ2zsiKnez396BcW1bY12BJLoZz6wWWQJCKd1hyVc=; b=O4rPbVrBXvIgddgXBb83nYfLgJFphMMkmphTnd8TLH9Dr4TzAPm2eoAvDG88sKfa+r7UC7 58/711lvXcGBT35BAxjMmmP/gy3zyieGVlOsEC9JSHlYUlZsbuSQW1SJObxXAGLOFolFnx U0sHyzo4Y/H41OviJ3FPRPhF0sTBpW2o63ijT3/lFIZHKFrgpN3rjC8zJls/S1uiKARTax 62Z5YXCBiuWK8RTwmFLZUP6uTuXvdYtFGqQ09yklqLW8tyZ1zOBsGQgAgHJzzUd3/fODqc YZOUk5OmhqkOSUvM0FYMWgdt2+N/A9sb/LkonNJa1HPYaqfTHSQ44jVWSm81wQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDq3k2ndGzN0J; Wed, 10 Apr 2024 04:05:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A456sM057074; Wed, 10 Apr 2024 04:05:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A4564S057071; Wed, 10 Apr 2024 04:05:06 GMT (envelope-from git) Date: Wed, 10 Apr 2024 04:05:06 GMT Message-Id: <202404100405.43A4564S057071@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: 984f5037490c - main - bectl(8): authors: be more explicit 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: dev-commits-src-main+owner@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: 984f5037490c533a314e1e30c2371d3bb33e7335 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=984f5037490c533a314e1e30c2371d3bb33e7335 commit 984f5037490c533a314e1e30c2371d3bb33e7335 Author: Graham Perrin AuthorDate: 2023-10-05 02:03:58 +0000 Commit: Warner Losh CommitDate: 2024-04-10 04:00:59 +0000 bectl(8): authors: be more explicit Cross-reference (name) the manual page that was written by Bryan Drewery. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/857 --- sbin/bectl/bectl.8 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sbin/bectl/bectl.8 b/sbin/bectl/bectl.8 index de6e0c661343..ea4ff8388329 100644 --- a/sbin/bectl/bectl.8 +++ b/sbin/bectl/bectl.8 @@ -506,9 +506,11 @@ and this manual page were derived from .Sh AUTHORS .An Slawomir Wojciech Wojtczak (vermaden) Aq Mt vermaden@interia.pl is the creator and maintainer of -.Xr beadm 8 ; +.Xr beadm 8 . .An Bryan Drewery (bdrewery) Aq Mt bryan@shatow.net -contributed child dataset fixes, and wrote its manual page. +contributed child dataset fixes, and wrote the +.Xr beadm 8 +manual page. .Pp Most changes to .Nm From nobody Wed Apr 10 04:05:07 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDq3l62fKz5GjRG; Wed, 10 Apr 2024 04:05: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 4VDq3l47mhz4VkW; Wed, 10 Apr 2024 04:05:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712721907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MA/z3DpuABFvLr3LeQhVhI1VqdSZ9/Wv7TUpBP+l5m8=; b=tCSpk8jNwABge6YxrrP1UdR4AhDUPljYEICtpVadXwbVAUS9J170tT3W7JExn5UvCG2Z6z yJ6wbZlAmL9DXOUPFcxhhyAC1NmoOwJNwXpoZ7AHuR8Zx0hW0Zx4aoKAyEzR3QpRZkj6+K 5WNLkbvqB7HhM/4cGSAlemlOPSzCwEiDNSExVihQyzVD/mA+JP0zazpoER3BYk1ziEUX6M phL4gnkwFUKf7IOobYunKTZs+oh+C5OUwENyQ0V+WJ1Vot+3VnYhsiy+G0XSXfgzSC1rsX Zmj1R0CnE5JZER1CMVKzLPjtixd1iCrRrAJP93OSjv8/wBJo3YFyUiIzC+a+cw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712721907; a=rsa-sha256; cv=none; b=MHarl/3e+y4/FXarKb+9YEiQD86/FVg9GuKbJ3BpXGhh7WyAlNEEqDvB3HTQPbxUSMD/dF ESmmXdsUUMLNZ0t9X44WsQ9Ap2AdVWs7jiogxJ/oU0zZlS1Vvh8o2xuMxHrW31RrcuyoPy EPi74TZ6HYmfCqzmHnlWeJJ09+zr03eKju5FYpVu0VUjAquVIjpwdjbX5oSs+HbsfZaJM9 bIqU9J2v8i91iz8L/yhDD3yWGcQ/74PC0oLjBkM+RhwdZFOom4fc2Pl+aiIr6c5ubhfRuX zUPBUi4ZcJiQ3pH5Xf6JeCisksGecE6MpH3xST94lEIiHDByarnixOrB2BK0Nw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712721907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MA/z3DpuABFvLr3LeQhVhI1VqdSZ9/Wv7TUpBP+l5m8=; b=OvTr5HxMAhPVjYwLHhU94IzN3euIIQtw8eGuxpVsyOjL9Uq+H1CmKF6cL66P8VAw7VKqQJ ekfj3Jbm/rlVu1Eky6HcUVoFVildvDVtY0Yth0a3+YDDLJoZJRMpby3u1ZSII1qIto9S+l ZPP4gRmPyRVpZlnz3d03Wj2gYqT+naofmhVSglU9gvYi4xRmwmRHhwvMs7JWxP0OqTK5sm smPNJZXy2P8sRvG58nW1cFPCDd0FIU2BpeeUcCSaAwjxSijEcEJSrhQjSOKAQVnmPhVIbP sAgBQwnym63M9fPd9c7GS90quDgobm7YOPph2Ig4Aqe1Qe3lzvPJNQC5BJ2kdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDq3l3lyFzN2c; Wed, 10 Apr 2024 04:05:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A457Jq057122; Wed, 10 Apr 2024 04:05:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A4575u057119; Wed, 10 Apr 2024 04:05:07 GMT (envelope-from git) Date: Wed, 10 Apr 2024 04:05:07 GMT Message-Id: <202404100405.43A4575u057119@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: 20b5e47c9383 - main - bectl(8): authors: Kyle Evans: fine-tune 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: dev-commits-src-main+owner@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: 20b5e47c9383974cdef648beaecbf05bf2242154 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=20b5e47c9383974cdef648beaecbf05bf2242154 commit 20b5e47c9383974cdef648beaecbf05bf2242154 Author: Graham Perrin AuthorDate: 2023-10-05 02:30:35 +0000 Commit: Warner Losh CommitDate: 2024-04-10 04:01:03 +0000 bectl(8): authors: Kyle Evans: fine-tune Discussed with Kyle in Discord. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/857 --- sbin/bectl/bectl.8 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sbin/bectl/bectl.8 b/sbin/bectl/bectl.8 index ea4ff8388329..3014576cad4c 100644 --- a/sbin/bectl/bectl.8 +++ b/sbin/bectl/bectl.8 @@ -512,7 +512,7 @@ contributed child dataset fixes, and wrote the .Xr beadm 8 manual page. .Pp -Most changes to -.Nm -and this page were written by +Most later changes to +.Nm , +and to this page, were written by .An Kyle Evans (kevans) Aq Mt kevans@freebsd.org . From nobody Wed Apr 10 04:05:09 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDq3p0Wq0z5Gk7G; Wed, 10 Apr 2024 04:05: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 4VDq3n65Z9z4VtC; Wed, 10 Apr 2024 04:05:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712721909; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+AIQNveRXs0LZjk/U5VI5acxvB2xq5qWCwwrWi2NRys=; b=H+h2h2q1Hmo9TzQBAkbYiGTBtyyPvcn4LAjy8cR06oLH5Vornog+LAxOrsijwXmWQPKP6e PXNxnfdhwkNjtZV4xjWkx/eToODlTIWYm52QzATllzV94z9jsiTxwWWnJsjPkhK1POPLYB w/AiLXWLIcL/LLpfqM1pwbWJxf6h2JDwbsUKBMq4iQzgtXpJ+R3mn1K3SowmWu1kc9fzmq gVvXlB0epXzK157Luom0iIQxkta/viGjCc6QuMKmNH/4dtDU+Ycik6qi1tZPd6Mr41aNSO +G4bgBnOH4goL8BaaprAF+KYmSzWx8CDgMQHDccWpRTXXHLYLjLePmdCwtf9gQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712721909; a=rsa-sha256; cv=none; b=QC4ZE0U7O/xlGpSJFgnr3WLw4oPTm2aN+ses0zB+BUtkh5I94ugB8BUx/McBb50IH2A+OG QasZp9RHVu/xDnqEw9j7VxlWtDOu0hlxfHnoQDSMGL42+oS6eTQGsh5MTCS8bQ61BHZOo5 YM54ysQoWSOehQoDySF51j4FzlCX5+wAMXttv3UKqJ0/XkoI542h2VfsnL5ZzIP2CfPDPO e0EwPDlvvLnTC8XtGYZgAZfLTlcCOEQTJtA5QYspvn1rH8jcwQ4Tmnwh2BikC+frjWeBp9 8nlH4Uz6SUFBm6pUyS4HoNwkgA2Ha+i+Fske/ij3Z853q8EZ/YNskmu56FL7CA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712721909; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+AIQNveRXs0LZjk/U5VI5acxvB2xq5qWCwwrWi2NRys=; b=JuLGtQhjHyEih2xNBvpocV3CRAMZpGOCc/PGJMp3JZGhIbHluJlL+hHaqQdSj+cuYIxvZr HJU9B8mUBgU5QfTzrZvv7MEGBirxM0ZtPtMKmLQ2GlpIKwc9DGoA03viqwmkBKO6ON7ExK dBrm544AICF9V+qW5NGDm6nTHpgIdUaKmi1rSLb5KW83fDriqjLetCf+2zcoeHHKwxIBJI dGp8WcAZgDxzw8khQ5cGpXcb7gveNyBy9okXmHVxIeA6wN4cTWc+f4KXClrcDke2eLHr9x Ulnig6bWQyFLQ87RpeudKBGMHcbBpaaBghfBG+bg0yFXuVUdPGhVc76Zk2Lz0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDq3n5jFKzN2d; Wed, 10 Apr 2024 04:05:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A459BX057201; Wed, 10 Apr 2024 04:05:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A459bD057198; Wed, 10 Apr 2024 04:05:09 GMT (envelope-from git) Date: Wed, 10 Apr 2024 04:05:09 GMT Message-Id: <202404100405.43A459bD057198@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: 763f5da97dfd - main - libbe(3): history: fix 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: dev-commits-src-main+owner@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: 763f5da97dfd11e80c60cf6a7df6ae3a221f2519 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=763f5da97dfd11e80c60cf6a7df6ae3a221f2519 commit 763f5da97dfd11e80c60cf6a7df6ae3a221f2519 Author: Graham Perrin AuthorDate: 2023-10-05 03:45:22 +0000 Commit: Warner Losh CommitDate: 2024-04-10 04:01:10 +0000 libbe(3): history: fix 'bectl(8) and libbe' (not 'libbe and libbe(3)'). Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/857 --- lib/libbe/libbe.3 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libbe/libbe.3 b/lib/libbe/libbe.3 index 29448a26c640..eb0e9a34bb5e 100644 --- a/lib/libbe/libbe.3 +++ b/lib/libbe/libbe.3 @@ -574,9 +574,9 @@ BE_ERR_INVORIGIN .Sh SEE ALSO .Xr bectl 8 .Sh HISTORY -.Nm +.Xr bectl 8 and -.Xr libbe 3 +.Nm were written by .An Kyle Kneitinger (kneitinger) Aq Mt kyle@kneit.in as a 2017 Google Summer of Code project, with From nobody Wed Apr 10 04:05:08 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDq3n1gxNz5Gk7B; Wed, 10 Apr 2024 04:05: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 4VDq3m59sfz4VqV; Wed, 10 Apr 2024 04:05:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712721908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P21oxWaVbzSIARDJmaA+YnYDEnyGSYH5WzUPkR6eP2Y=; b=arEt0hBf/ehI7hxNmH4GSR0GX/wSii5G6eCEsZIs9XUKK6jIWrMtEQd0AgPuaO/lOqJVvC idCZutzM0wKrO26ruaEWF6T/3POLj133LgXDPBmHyD9Pu5OwJ2WSkN1oKPMM/VPrxuv3O7 APFo5DHD/CIYfZ+uRxTb3ASAZ4QxWQytl5b0wRFN0W1eksLkrIZ1DDmn/mrCBMH3kD2e0z NU4xY9BjyNAhPD9bvs1UruCokOKoWOGVtYMxrTYvXm+SLWaO06iamAPVx4HYbNWDKTc1zk WsVulpwtbt9M5VgEHaquhxlUnDgb8Y4wS+asLlQgro+W3CuGw8z/sehqgusOPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712721908; a=rsa-sha256; cv=none; b=xpk748gKHroGU+NmRlMp+SgAryK39oUqfT8I1V9a994GwMkxb4T/NIyItZcrSbW+tUbIbu rzdFQgXosGlViD7kzTgfEuU6GWL3SUs42HA1sfFPz1ao2nwHYtDfU3mKLHguURHGYZVIBm HM8RgmHeOSpou2VAaJ65waMOrkkx9kg0ncI2OHBYy7NIbDG79WJqRs942LHqCAyEoGIatu vpGnG9nGPQSUpM6ynU1uOJ9QGye2VXPmZu6RjcGgzTUYRUm3ZWlKTl8TKc867vzboFPEd8 Bk+wDLnTKp6bFwd0eJXjYjOHk+AkXc2ZJUpTEV4TlE0xmZPpa0EH2ZFBTXz9+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712721908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P21oxWaVbzSIARDJmaA+YnYDEnyGSYH5WzUPkR6eP2Y=; b=xytx6AOd7NGhNad7HPKApXItTqbVGXOLwZJwKjJMB19iAt/FrajWXEhRm5PNM3qEvYk3Fr bF5h9KLd6BKDtDJ2cVCNwptf05Az09YeTWXY1uCSF2ooX7cdyB4+pqK4GD4ucpMKefQD0j 5iCoFFbydoUNW+ld3mwIBdGaU6KzmIYsrgNm65eDQ0ULLVDDUPkG4Mp7+rXJxM0bezpBav ye5jtg06bX4LQVd5qAvwnwzeCJQlnEPGKGanIb/+gMW7KkMLbo3qOdkt2LQZGBVRNotBHI rI3wbQgDKWQ3KngLSolAmQ3Okc2y/CHEhiDU86PKfLLqdCTsOC0Xu+CkHMgULQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDq3m4mDMzNJx; Wed, 10 Apr 2024 04:05:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A4584h057165; Wed, 10 Apr 2024 04:05:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A4589f057162; Wed, 10 Apr 2024 04:05:08 GMT (envelope-from git) Date: Wed, 10 Apr 2024 04:05:08 GMT Message-Id: <202404100405.43A4589f057162@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: 04610d665e26 - main - libbe(3): consistency, and authors 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: dev-commits-src-main+owner@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: 04610d665e26f069031e6d125cf7a9e64879e1f7 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=04610d665e26f069031e6d125cf7a9e64879e1f7 commit 04610d665e26f069031e6d125cf7a9e64879e1f7 Author: Graham Perrin AuthorDate: 2023-10-05 02:45:04 +0000 Commit: Warner Losh CommitDate: 2024-04-10 04:01:06 +0000 libbe(3): consistency, and authors Consistency with the manual page for bectl(8), including addition of an AUTHORS section. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/857 --- lib/libbe/libbe.3 | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/lib/libbe/libbe.3 b/lib/libbe/libbe.3 index 8a176e37c7bf..29448a26c640 100644 --- a/lib/libbe/libbe.3 +++ b/lib/libbe/libbe.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 18, 2024 +.Dd April 9, 2024 .Dt LIBBE 3 .Os .Sh NAME @@ -575,9 +575,15 @@ BE_ERR_INVORIGIN .Xr bectl 8 .Sh HISTORY .Nm -and its corresponding command, -.Xr bectl 8 , -were written as a 2017 Google Summer of Code project with Allan Jude serving -as a mentor. -Later work was done by -.An Kyle Evans Aq Mt kevans@FreeBSD.org . +and +.Xr libbe 3 +were written by +.An Kyle Kneitinger (kneitinger) Aq Mt kyle@kneit.in +as a 2017 Google Summer of Code project, with +.An Allan Jude (allanjude) Aq Mt allanjude@freebsd.org +as mentor. +.Sh AUTHORS +Kyle Kneitinger, mentored as above. +.Pp +Post-GSoC changes were written by +.An Kyle Evans (kevans) Aq Mt kevans@freebsd.org . From nobody Wed Apr 10 05:18:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDrhY6lMJz5GqS0 for ; Wed, 10 Apr 2024 05:18:37 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) (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 4VDrhY47Ydz4bkw for ; Wed, 10 Apr 2024 05:18:37 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-lj1-f174.google.com with SMTP id 38308e7fff4ca-2d8b2389e73so13441841fa.3 for ; Tue, 09 Apr 2024 22:18:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712726315; x=1713331115; 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=RKOGe8HL9KjQsXR2LhSIzPihmfChz7CsfqIZhiKnGIw=; b=BNyfu3Zah0lmHByGgjG6l4WeF90TuO68lZIGTJwT76Hy4x601VmNE+R6x1Hsbimz9n szFtfemWvSYEVZAJzb8pjafEx947SRAPEpnM6513wWP1wR9uQhT8vVj+1hTCtsCiensE OFE+q1P6oQwZxrHGBpk1dVUyvwl5YOxL4SLQG5cAq0lXOcXFDuj0OfL0jkbfl9po3Usv FXJ2enEThOTaEEFXWlKUQi/rAjwdBP58ho+CKmS2RxhT8LESLI5tuhKEHO1OAl2vBtRO vlVfhIt9JOR6kVwD6AsCXQKj2E1EgIXIMaI5Fy7AEwltFSfKYRZOd/hFkbJkiaFLKZyP Yh9g== X-Forwarded-Encrypted: i=1; AJvYcCVN9qyWswXs4yzZaTKiPo8E/bzPy2kP/lL+N9d6MPR9cbDDLkhHFk/MyNutM9EjYvCiqlciWUFL+JotswJN9al4taj2IpMNblb2Q7/FMgUYhg== X-Gm-Message-State: AOJu0Yyg62cvtSN2/kcTd7mArFvP9pW2oT2s4JOpf13XzcC5zaWUen7V VPl+/kHW6PC/6NBZCtFB2Y3VJklw/mQR7SZubZ9AmyATSTG02YtQp5auWhsCX5RDmGM1rmCm29+ U X-Google-Smtp-Source: AGHT+IEN2vJCIgut77UnnkKH1vrvtVV5p+3n4RaPQrkOty00+WpY1F7/y3L9MAnfAqK8xjD2RUrlfg== X-Received: by 2002:ac2:47fc:0:b0:516:c97b:96f5 with SMTP id b28-20020ac247fc000000b00516c97b96f5mr847484lfp.3.1712726315005; Tue, 09 Apr 2024 22:18:35 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id b17-20020a5d40d1000000b00343cad2a4d3sm12947233wrq.18.2024.04.09.22.18.34 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 09 Apr 2024 22:18:34 -0700 (PDT) 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: dev-commits-src-main+owner@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.200.91.1.1\)) Subject: Re: git: a1bff97300ab - main - release: Don't reuse disc1/bootonly directories From: Jessica Clarke In-Reply-To: <202404100329.43A3TMCp089687@gitrepo.freebsd.org> Date: Wed, 10 Apr 2024 06:18:23 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <6F0E287D-D46C-4AC3-BF1F-030E02989372@freebsd.org> References: <202404100329.43A3TMCp089687@gitrepo.freebsd.org> To: Colin Percival X-Mailer: Apple Mail (2.3774.200.91.1.1) X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated 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-Queue-Id: 4VDrhY47Ydz4bkw On 10 Apr 2024, at 04:29, Colin Percival wrote: >=20 > The branch main has been updated by cperciva: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Da1bff97300abe4b46528357e39c83da7= 64df1fd8 >=20 > commit a1bff97300abe4b46528357e39c83da764df1fd8 > Author: Colin Percival > AuthorDate: 2024-04-10 03:27:19 +0000 > Commit: Colin Percival > CommitDate: 2024-04-10 03:29:16 +0000 >=20 > release: Don't reuse disc1/bootonly directories >=20 > The disc1 and bootonly directories have files distributed into them > for use in "full" and "mini" images; the former are disc1.iso and > memstick.img, and the latter is bootonly.iso and mini-memstick.img. >=20 > Unfortunately the scripts which package a directory tree into an = ISO > or memory stick image also modify the directory, for example to > create an appropriate /etc/fstab file; so creating two images at = the > same time breaks. >=20 > Resolve this by copying disc1 to disc1-disc1 and disc1-memstick, > and copying bootonly to bootonly-bootonly and bootonly-memstick, > before using those directories for constructing the ISO+memstick > images. >=20 > MFC after: 1 week > --- > release/Makefile | 26 +++++++++++++++++--------- > 1 file changed, 17 insertions(+), 9 deletions(-) >=20 > diff --git a/release/Makefile b/release/Makefile > index 26f39e8f8acb..99927d611257 100644 > --- a/release/Makefile > +++ b/release/Makefile > @@ -109,7 +109,7 @@ CLEANFILES+=3D ${I}.xz > .if defined(WITH_DVD) && !empty(WITH_DVD) > CLEANFILES+=3D pkg-stage > .endif > -CLEANDIRS=3D dist ftp disc1 bootonly dvd > +CLEANDIRS=3D dist ftp disc1 disc1-disc1 disc1-memstick bootonly = bootonly-bootonly bootonly-memstick dvd > beforeclean: > chflags -R noschg . > .include > @@ -267,23 +267,31 @@ dvd: packagesystem > .endif > touch ${.TARGET} >=20 > +disc1-disc1 disc1-memstick: disc1 > + mkdir ${.TARGET} > + tar -cf- -C disc1 . | tar -xf- -C ${.TARGET} What=E2=80=99s wrong with cp -a? Besides, shouldn=E2=80=99t this use -p if using tar? And -f- is the same as nothing. Jess > +bootonly-bootonly bootonly-memstick: bootonly > + mkdir ${.TARGET} > + tar -cf- -C bootonly . | tar -xf- -C ${.TARGET} > + > release.iso: disc1.iso > -disc1.iso: disc1 > - cd disc1 && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b = ${VOLUME_LABEL}_CD ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} > +disc1.iso: disc1-disc1 > + cd disc1-disc1 && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b = ${VOLUME_LABEL}_CD ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} >=20 > dvd1.iso: dvd pkg-stage > cd dvd && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b = ${VOLUME_LABEL}_DVD ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} >=20 > -bootonly.iso: bootonly > - cd bootonly && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b = ${VOLUME_LABEL}_BO ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} > +bootonly.iso: bootonly-bootonly > + cd bootonly-bootonly && sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b = ${VOLUME_LABEL}_BO ../${.TARGET} .${NO_ROOT:D/METALOG} ${XTRADIR} >=20 > memstick: memstick.img > -memstick.img: disc1 > - cd disc1 && sh ${.CURDIR}/${TARGET}/make-memstick.sh = .${NO_ROOT:D/METALOG} ../${.TARGET} > +memstick.img: disc1-memstick > + cd disc1-memstick && sh ${.CURDIR}/${TARGET}/make-memstick.sh = .${NO_ROOT:D/METALOG} ../${.TARGET} >=20 > mini-memstick: mini-memstick.img > -mini-memstick.img: bootonly > - cd bootonly && sh ${.CURDIR}/${TARGET}/make-memstick.sh = .${NO_ROOT:D/METALOG} ../${.TARGET} > +mini-memstick.img: bootonly-memstick > + cd bootonly-memstick && sh ${.CURDIR}/${TARGET}/make-memstick.sh = .${NO_ROOT:D/METALOG} ../${.TARGET} >=20 > packagesystem: ${DISTRIBUTIONS} > sh ${.CURDIR}/scripts/make-manifest.sh *.txz > MANIFEST From nobody Wed Apr 10 05:28:57 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDrwT5f9Nz5GrBL; Wed, 10 Apr 2024 05:28: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 4VDrwT54g4z4cZJ; Wed, 10 Apr 2024 05:28:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712726937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j4jgz/autXJzxHJCPmUyseWAnxnGFbNayjnf5g4ysno=; b=cVS5x95cMgCaUf0HcjzHp64tUz8sUgi7ittVJeDQmAx6bj9JNrxlOZXGsFH3Tmo/WLc3Mr ClnIurtSZ+lByssf9mZbodMDV3FONhq/ZLRuaQAs/rbalbEShxrtf3zreRRaHMYBbifvrm mUugqM5fi4qSxfCoFggYwkQUxLGDoKs967kJeSYtIP2ofq9PHTTaIJt2oLuGgu8mQXqUva iABPXulSfE2zZOZ7vYWIRgQOJEm+VSpOqIve8Rt1qR0fvP/0CFpSJXT+mHQ+tWqf4gX5HE Iwe1kUMjGq3gdQZllezhf0fzHbp0JFlwHsfH/KgtZPPW7eA10CCpnhkwjj2wVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712726937; a=rsa-sha256; cv=none; b=Egv+kDDlgLAog8PRjHLyW4wEFMY6AiB20BQI+HdquVEpTOwptUYFm6FlDgcYTD303tDrBs txjGWhHVUs55DTYBCImE8Qmx23Qj+cjJ5dQYvDbozbCrxNZdeagjiNBpRdJauHsN94UXZn nGDx7eC205GoEvpmgPf+dOTXWfeOAz/2HaCo+hfcBbgLgN70HMrb+gok8IgV7AsyJlFDBa K6vfpAFspqIE5EnMSpi3DwhNO//jHmXPtn+wkFZ5Tl/8sbrUngf/dnvjt8SGbXs3bSl40g cSgBUHphaVWnq8D8aQUrgz5K1vs58npH/W+jUrRoltAmr4rU/yj1K4XNlLXNgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712726937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j4jgz/autXJzxHJCPmUyseWAnxnGFbNayjnf5g4ysno=; b=GW97ufVXmsw4hC3wADneG5DIJm6++bINEWtXDE/nZmR40QKFR1RzBeXroJslOZk7R1vy59 fmtkQW8+zS+RDj2O2IeVEFgMxPnn/eDFkgW3jMsEeC8axm/gGTNc013Unftx9xjoJr+uhY xRADRDl0/kcrK9et+oTPxTWcu/5EPzEp7Z9+/Cq02e5sD5VHQkaxsSVRkQAZhVXKEil/BZ f98aCO/qFTz5RuU5PMVvgwnB3J1S5MW3WtZdu2BR59osQSImNpLreEfwqIfitaQMP3dPPg Wm+BmIT5jYVLJQKZC00XFxtVgqjtWdEFJ738P2bh0Cmgt6uN4QTrvMT73hPuFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDrwT4gyVzQG9; Wed, 10 Apr 2024 05:28:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A5Sv68092153; Wed, 10 Apr 2024 05:28:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A5SvmT092150; Wed, 10 Apr 2024 05:28:57 GMT (envelope-from git) Date: Wed, 10 Apr 2024 05:28:57 GMT Message-Id: <202404100528.43A5SvmT092150@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: 1cd9868f04c3 - main - pcireg.h: add include guard 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: dev-commits-src-main+owner@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: 1cd9868f04c3e91929974dca3444a79047f4e602 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1cd9868f04c3e91929974dca3444a79047f4e602 commit 1cd9868f04c3e91929974dca3444a79047f4e602 Author: Konstantin Belousov AuthorDate: 2024-04-07 01:27:46 +0000 Commit: Konstantin Belousov CommitDate: 2024-04-10 05:28:23 +0000 pcireg.h: add include guard Reviewed by: emaste Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D44732 --- sys/dev/pci/pcireg.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/dev/pci/pcireg.h b/sys/dev/pci/pcireg.h index ef9b7799f534..c94decd8ef2a 100644 --- a/sys/dev/pci/pcireg.h +++ b/sys/dev/pci/pcireg.h @@ -26,6 +26,9 @@ * */ +#ifndef __PCI_PCIREG_H +#define __PCI_PCIREG_H + /* * PCIM_xxx: mask to locate subfield in register * PCIR_xxx: config register offset @@ -1121,3 +1124,5 @@ #define PCIM_ACS_USP_MEM_TGT_ACC_CTL 0x0c00 #define PCIM_ACS_UNCLAIMED_REQ_REDIRECT_CTL 0x1000 #define PCIR_ACS_EGRESS_CONTROL_VECTOR 0x8 + +#endif /* __PCI_PCIREG_H */ From nobody Wed Apr 10 05:28:58 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDrwW0V8Rz5GrGc; Wed, 10 Apr 2024 05:28: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 4VDrwV6yn5z4csx; Wed, 10 Apr 2024 05:28:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712726939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3wqCPrJdTuiEb7l4ryK7QTsKPl+3KYZCxsg1sAjfa0w=; b=Vk2Ouf7ekDuK+T5ZXtIFKjgkioltPYbAb+3eBejk3sXyIFUiGwwYTgDDFBtsmX//eoKuDD QdRVFTs1GK8liWtbMiP6SFDxVx/feP1uU6R7cbRonZIS6GvoKIRChXBaJzSO1hk13DNYcO SIUeM8VXsIWguHRd77iZnpG5SvtP6IFzOilMIz9mOk6Db+Glxnao6kk6dDn/16NVez7q5m XBR7NhqSM47Dxe7LcN7GCXD6SvTyPzdViHGB7sEyZPdFQH/mCfCPR4hvAY+lY8VBYUDVmk XY9IpkqcJNSKWegFDwRf1izWrAlGHH5jhj9Airi/dAy87zyhbQSrVD0PCLZX1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712726939; a=rsa-sha256; cv=none; b=d8uefqn8hN6GLSPlzS6m6+aO7UpDFR2zkQU5YaHiRiNLj4oir3c7CnvnzCJhrP7xkjQHOP XXZkJh2e2hlSnu6euAWnH/CA6hdCNtIklJgEew7Be1KfnscaXsiTRWJ5HvWDou2iT61SsQ KcdY79bhJSStgmjcS3XAifQU4RM+DWvd5rgSqicNnjydKyA7NAubsZ9TTuKVMX4BK0sPEA d+esMjimj6iq4mZDq4yn25FmxPX09lW8R19RR9ss6/9q8Jr+JC7EgqzzkIUesXju/0Oo2j HP1SRKjJ2VZBoA+w6D9SAGtR0gBe7iw87lqnFDXUb+66OiAvoBuHP3RCnl7Dcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712726939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3wqCPrJdTuiEb7l4ryK7QTsKPl+3KYZCxsg1sAjfa0w=; b=WS1E+IFdjxgzCw2q/0USt0yLyZvDnkKRH8eEVi+G4xKtiW6UyIiIuxhqT8xj+GzGpviyDm woo7+0zgk4c3D8koxw6yuNEfDIBvjeDQSR1K5//QCr54/jWnyISh29kXZ1uDTNaZlhCSDH vQ25IgdSGyqNmYQT4GOKeFPYvSzQTab0QQ7XQM7Sf1Ot7WiatLDNU1mg3ztohAV0VbXAR7 yVGMRn5XNN/YUyNJlXMYS/KPWX3kE3+iR7VqE5H9LDWHCMw7jAUMK8BMBgczoygzyyHypd ZBkPmY7OyxlCI8R/ZDyax7WMy6at2cxFWSxTj1mHDWV1Fd8/ddp/3/ZuUwbglA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDrwV5g8MzQGB; Wed, 10 Apr 2024 05:28:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A5Sw16092201; Wed, 10 Apr 2024 05:28:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A5SwU0092198; Wed, 10 Apr 2024 05:28:58 GMT (envelope-from git) Date: Wed, 10 Apr 2024 05:28:58 GMT Message-Id: <202404100528.43A5SwU0092198@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: 33adb388c78e - main - pcireg.h: Add AMD IOMMU Base Cap definitions 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: dev-commits-src-main+owner@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: 33adb388c78ee48efbdc9b497fe2224397fdee84 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=33adb388c78ee48efbdc9b497fe2224397fdee84 commit 33adb388c78ee48efbdc9b497fe2224397fdee84 Author: Konstantin Belousov AuthorDate: 2024-04-07 01:25:46 +0000 Commit: Konstantin Belousov CommitDate: 2024-04-10 05:28:24 +0000 pcireg.h: Add AMD IOMMU Base Cap definitions Reviewed by: emaste Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D44732 --- sys/dev/pci/pcireg.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/sys/dev/pci/pcireg.h b/sys/dev/pci/pcireg.h index c94decd8ef2a..623deb8b4505 100644 --- a/sys/dev/pci/pcireg.h +++ b/sys/dev/pci/pcireg.h @@ -1125,4 +1125,56 @@ #define PCIM_ACS_UNCLAIMED_REQ_REDIRECT_CTL 0x1000 #define PCIR_ACS_EGRESS_CONTROL_VECTOR 0x8 +/* + * AMD IOMMU Base Capability + * From AMD I/O Virtualization Technology (IOMMU) Specification + * Publication # 48882 Revision: 3.09-PUB Date: October 2023 + */ +#define PCIR_AMDIOMMU_CAP_HEADER 0x0000 +#define PCIR_AMDIOMMU_BASE_LOW 0x0004 +#define PCIR_AMDIOMMU_BASE_HIGH 0x0008 +#define PCIR_AMDIOMMU_RANGE 0x000c +#define PCIR_AMDIOMMU_MISC0 0x0010 +#define PCIR_AMDIOMMU_MISC1 0x0014 + +#define PCIM_AMDIOMMU_CAP_CAPEXT (1 << 28) +#define PCIM_AMDIOMMU_CAP_EFR (1 << 27) +#define PCIM_AMDIOMMU_CAP_NPCACHE (1 << 26) +#define PCIM_AMDIOMMU_CAP_HTTUN (1 << 25) +#define PCIM_AMDIOMMU_CAP_IOTLB (1 << 24) +#define PCIM_AMDIOMMU_CAP_REV_MASK (0x1f << 19) +#define PCIM_AMDIOMMU_CAP_REV_VAL (0x1 << 19) +#define PCIM_AMDIOMMU_CAP_TYPE_MASK (7 << 16) +#define PCIM_AMDIOMMU_CAP_TYPE_VAL (0x3 << 16) + +#define PCIM_AMDIOMMU_BASE_LOW_EN 0x00000001 +#define PCIM_AMDIOMMU_BASE_LOW_ADDRM 0xffffc000 + +#define PCIM_AMDIOMMU_RANGE_UNITID_MASK 0x1f +#define PCIM_AMDIOMMU_RANGE_RNGVALID (1 << 7) +#define PCIM_AMDIOMMU_RANGE_BUSNUM_MASK (0xffffu << 8) +#define PCIM_AMDIOMMU_RANGE_FIRSTDEV_MASK (0xffffu << 16) +#define PCIM_AMDIOMMU_RANGE_LASTDEV_MASK (0xffffu << 24) + +#define PCIM_AMDIOMMU_MISC0_MSINUMPPR_MASK (0x1f << 27) +#define PCIM_AMDIOMMU_MISC0_HTATSRESV (1 << 22) +#define PCIM_AMDIOMMU_MISC0_VASIZE_MASK (0x7f << 15) +#define PCIM_AMDIOMMU_MISC0_PASIZE_MASK (0x7f << 8) +#define PCIM_AMDIOMMU_MISC0_GVASIZE_MASK (0x3 << 5) +#define PCIM_AMDIOMMU_MISC0_MSINUM_MASK 0x1f + +#define PCIM_AMDIOMMU_MISC0_VASIZE_32 (0x20 << 15) +#define PCIM_AMDIOMMU_MISC0_VASIZE_40 (0x28 << 15) +#define PCIM_AMDIOMMU_MISC0_VASIZE_48 (0x30 << 15) +#define PCIM_AMDIOMMU_MISC0_VASIZE_64 (0x40 << 15) + +#define PCIM_AMDIOMMU_MISC0_PASIZE_40 (0x28 << 8) +#define PCIM_AMDIOMMU_MISC0_PASIZE_48 (0x30 << 8) +#define PCIM_AMDIOMMU_MISC0_PASIZE_52 (0x34 << 8) + +#define PCIM_AMDIOMMU_MISC0_GVASIZE_48 (0x2 << 5) +#define PCIM_AMDIOMMU_MISC0_GVASIZE_57 (0x3 << 5) + +#define PCIM_AMDIOMMU_MISC1_MSINUMGA_MASK 0x1f + #endif /* __PCI_PCIREG_H */ From nobody Wed Apr 10 05:28:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDrwX0mmtz5GrSG; Wed, 10 Apr 2024 05:29: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 4VDrwW6rpVz4ct9; Wed, 10 Apr 2024 05:28:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712726940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bc+YGKSWrjjSB9vaaJPRzpL3msSx7XlTaNxkz7EHGC0=; b=X4dt/B0zO4CsL3cy88IfkVj2F8yEe9XcwTMdgibpXAfY7b/V+5O5Z1e9kZ3z4gZHX6gsHw uJmjUiZKnyQC9sgeTB6Tutatq4g5IypaVjmDCUqT7t9zL7keheWgdODr28gQ5mBdUZXtDS UGaF+MrkLb3PXCO8j/JL8eMFA8LDvGR0/feMgLxKTXWGS8bwgTp1Q6mx6u5opBEeaPWAe9 CUuxZetA0RbPxoojszC8xKKocvlq4yyF/cQHTV9oNxfiIq+58sUE8fZs49BHyRdD6xHyW3 dQ+ffWu1VrrwN8xfSX66R2FVUu4FuEBQPtHfI/qpl96H/0QehPfapr1f0yhX8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712726940; a=rsa-sha256; cv=none; b=Wq2pzl+jxxrfo9uV/igx2Rn1XbokFTBDzEZ+52xwUfq1VQXx6ioMh2brDw8L1wUOaqhhzq MjVlM3otjeoc8iZZcOzhy/Man3xSXLVra1j/eNhV6MsCx6nXzBRYZ19WL1KCmQqAZCAX3f xD0JzkFSugbotslX/ebu7yWIuIoMP4AcPpAqzEhIJqdNmFuqXR7Iq21P8eS03MZXC/wY3r eqHmAKFJSo/6x60AWVLL5TpbBOYXRUn2lppIJ0uCqXJ0bybyTZitiSApg376oHOemkEmlb 1JlOJGkw1lm2x0OsY7vlJuadxqvE+qSbD58Q8XnBJ51Y+mxHMwp/9GIdy1hLpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712726940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Bc+YGKSWrjjSB9vaaJPRzpL3msSx7XlTaNxkz7EHGC0=; b=BRNGKCcnk6PoVGSDx0J9Yx+jRR9+tnk07laZOWWSxue5YpRV8MA9wHxUokwrmkK5fnQiTD y8eptLG0XB5YpBN572wb/H6hgcT+INuHzcf6hFnhpMtcoC7Dkec6wZw6sU97bEVTY+vCjz DLDaVdh3uAJxbHZmSVKYgq/X5vvRrl0Ui7kDIRtFSAimnHEIfj7BKQvSSWeKLBkgtxHLqk s3DSs8RrWcf4p6bNowdt7LfDgSOmO7+2PPQrtWuzlw4ETw+MwUhNS7EXYGEzDKK1TIfimb 4g9xUu//IU7KTpvtFoePKt8mqKGkngQvG+teLRd1+yP9J6c9issGKTD5hLxqDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDrwW6TBJzQGC; Wed, 10 Apr 2024 05:28:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43A5Sxd4092251; Wed, 10 Apr 2024 05:28:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43A5SxwJ092248; Wed, 10 Apr 2024 05:28:59 GMT (envelope-from git) Date: Wed, 10 Apr 2024 05:28:59 GMT Message-Id: <202404100528.43A5SxwJ092248@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: 1e6db7be6921 - main - pciconf(8): dump AMD IOMMU Base Capability 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: dev-commits-src-main+owner@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: 1e6db7be692198acfa7f02dea83aa9aa1dfce273 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1e6db7be692198acfa7f02dea83aa9aa1dfce273 commit 1e6db7be692198acfa7f02dea83aa9aa1dfce273 Author: Konstantin Belousov AuthorDate: 2024-04-09 22:13:59 +0000 Commit: Konstantin Belousov CommitDate: 2024-04-10 05:28:24 +0000 pciconf(8): dump AMD IOMMU Base Capability Reviewed by: emaste Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D44732 --- usr.sbin/pciconf/cap.c | 115 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) diff --git a/usr.sbin/pciconf/cap.c b/usr.sbin/pciconf/cap.c index 8595bff3d3d7..e252926ab9be 100644 --- a/usr.sbin/pciconf/cap.c +++ b/usr.sbin/pciconf/cap.c @@ -376,6 +376,118 @@ cap_subvendor(int fd, struct pci_conf *p, uint8_t ptr) printf("PCI Bridge subvendor=0x%04x subdevice=0x%04x", ssvid, ssid); } +static const char * +cap_secdev_amdiommu_decode_vasize(uint32_t misc0) +{ + switch (misc0 & PCIM_AMDIOMMU_MISC0_VASIZE_MASK) { + case PCIM_AMDIOMMU_MISC0_VASIZE_32: + return ("32bit"); + case PCIM_AMDIOMMU_MISC0_VASIZE_40: + return ("40bit"); + case PCIM_AMDIOMMU_MISC0_VASIZE_48: + return ("48bit"); + case PCIM_AMDIOMMU_MISC0_VASIZE_64: + return ("64bit"); + default: + return ("unknown"); + } +} + +static const char * +cap_secdev_amdiommu_decode_pasize(uint32_t misc0) +{ + switch (misc0 & PCIM_AMDIOMMU_MISC0_PASIZE_MASK) { + case PCIM_AMDIOMMU_MISC0_PASIZE_40: + return ("40bit"); + case PCIM_AMDIOMMU_MISC0_PASIZE_48: + return ("48bit"); + case PCIM_AMDIOMMU_MISC0_PASIZE_52: + return ("52bit"); + default: + return ("unknown"); + } +} + +static const char * +cap_secdev_amdiommu_decode_gvasize(uint32_t misc0) +{ + switch (misc0 & PCIM_AMDIOMMU_MISC0_GVASIZE_MASK) { + case PCIM_AMDIOMMU_MISC0_GVASIZE_48: + return ("48bit"); + case PCIM_AMDIOMMU_MISC0_GVASIZE_57: + return ("57bit"); + default: + return ("unknown"); + } +} + +static void +cap_secdev(int fd, struct pci_conf *p, uint8_t ptr) +{ + uint32_t cap_h; + uint32_t cap_type, cap_rev; + uint32_t base_low, base_high; + uint32_t range; + uint32_t misc0, misc1; + const char *delim; + + cap_h = read_config(fd, &p->pc_sel, ptr + PCIR_AMDIOMMU_CAP_HEADER, 4); + cap_type = cap_h & PCIM_AMDIOMMU_CAP_TYPE_MASK; + cap_rev = cap_h & PCIM_AMDIOMMU_CAP_REV_MASK; + if (cap_type != PCIM_AMDIOMMU_CAP_TYPE_VAL || + cap_rev != PCIM_AMDIOMMU_CAP_REV_VAL) { + printf("Secure Device Type=0x%1x Rev=0x%02x\n", + cap_type >> 16, cap_rev >> 19); + return; + } + base_low = read_config(fd, &p->pc_sel, ptr + PCIR_AMDIOMMU_BASE_LOW, + 4); + base_high = read_config(fd, &p->pc_sel, ptr + PCIR_AMDIOMMU_BASE_HIGH, + 4); + printf("AMD IOMMU Base Capability Base=%#018jx/%sabled", + (uintmax_t)(base_low & PCIM_AMDIOMMU_BASE_LOW_ADDRM) + + ((uintmax_t)base_high << 32), + (base_low & PCIM_AMDIOMMU_BASE_LOW_EN) != 0 ? "En" : "Dis"); + + delim = "\n\t\t"; +#define PRINTCAP(bit, name) \ + if ((cap_h & PCIM_AMDIOMMU_CAP_ ##bit) != 0) { \ + printf("%s%s", delim, #name); \ + delim = ","; \ + } + PRINTCAP(CAPEXT, CapExt); + PRINTCAP(EFR, EFRSup); + PRINTCAP(NPCACHE, NpCache); + PRINTCAP(HTTUN, HtTunnel); + PRINTCAP(IOTLB, IotlbSup); +#undef PRINTCAP + + range = read_config(fd, &p->pc_sel, ptr + PCIR_AMDIOMMU_RANGE, 4); + printf("\n\t\tUnitId=%d", range & PCIM_AMDIOMMU_RANGE_UNITID_MASK); + if ((range & PCIM_AMDIOMMU_RANGE_RNGVALID) != 0) { + printf(" BusNum=%#06x FirstDev=%#06x LastDev=%#06x", + (range & PCIM_AMDIOMMU_RANGE_BUSNUM_MASK) >> 8, + (range & PCIM_AMDIOMMU_RANGE_FIRSTDEV_MASK) >> 16, + (range & PCIM_AMDIOMMU_RANGE_LASTDEV_MASK) >> 24); + } + + misc0 = read_config(fd, &p->pc_sel, ptr + PCIR_AMDIOMMU_MISC0, 4); + printf("\n\t\tMsiNum=%d MsiNumPPR=%d HtAtsResv=%d", + misc0 & PCIM_AMDIOMMU_MISC0_MSINUM_MASK, + (misc0 & PCIM_AMDIOMMU_MISC0_MSINUMPPR_MASK) >> 27, + (misc0 & PCIM_AMDIOMMU_MISC0_HTATSRESV) != 0); + if ((cap_h & PCIM_AMDIOMMU_CAP_CAPEXT) != 0) { + misc1 = read_config(fd, &p->pc_sel, + ptr + PCIR_AMDIOMMU_MISC1, 4); + printf(" MsiNumGA=%d", + misc1 & PCIM_AMDIOMMU_MISC1_MSINUMGA_MASK); + } + printf("\n\t\tVAsize=%s PAsize=%s GVAsize=%s", + cap_secdev_amdiommu_decode_vasize(misc0), + cap_secdev_amdiommu_decode_pasize(misc0), + cap_secdev_amdiommu_decode_gvasize(misc0)); +} + #define MAX_PAYLOAD(field) (128 << (field)) static const char * @@ -813,6 +925,9 @@ list_caps(int fd, struct pci_conf *p, int level) case PCIY_SUBVENDOR: cap_subvendor(fd, p, ptr); break; + case PCIY_SECDEV: + cap_secdev(fd, p, ptr); + break; case PCIY_EXPRESS: express = 1; cap_express(fd, p, ptr); From nobody Wed Apr 10 12:52:32 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF2mJ5DnSz5H4PC; Wed, 10 Apr 2024 12:52: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 4VF2mJ3Plxz4WKY; Wed, 10 Apr 2024 12:52:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712753552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eHVV+FbwTrk7On3p1H+55IPYdpsQp5gVOFXZa4+pWJM=; b=YveBsGcsf+wBvR4Y+rlHpA+ESLnwrAFIwwjSK2smmNiSQ48RkwJWiUvoLMNp9Kdg0yKyLT C5UukoKF+3FHnyZEmbHBgjniNCqt1lehW7cEgRZweARAWm/6K5ubsrbTOeszBSDrsf/jqO rGiOPPVLN6IO7/fUIIBD0+VP0phbY/a2SJQVpNCsvUP7NpPTc7oMXOrfGlAXMGU7wGSdWg 6DKebmRJZE2e8VKGcnbGzHP8X19gla3KiwlNae9WKGi2y6zUQhT1huJeldsGdmpYRtwxDZ ii+p1jO72K/HPI75caTnVhP441vAjhTBY7mqgi7aY28mvtKMRsnIv1Y1kjS9og== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712753552; a=rsa-sha256; cv=none; b=IW7N133bw7lVPOI8KPbV2ALaKn142e2tvAL7y5Kk2HaD6hWxAfshWBataEo6Uy0WN9hHTr GJ8dXs76wouKe/5iAbT8wyBPnzNBE2AVdWbrDXNICbtoSFiHOmomqy/egXkqf33jsVmTAM lgGVL5b5fJ62/xu0H+++fJXAZfYp32aMGdBHLNEcAfsCbkU3QjYSP/fa14WZy514C8XBwA mwSL/us+d8cRzIqngsOPaEqpAsAwbmadYEm9wEqgHcyeiZfWVjrEjEKb7ZPXKGERNm3o24 Hj8uTyloT+ofAf4yhHF+CVyumebrLNfzbZJ+h+HjxXpkcCr5qVZKLb5us9xXzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712753552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eHVV+FbwTrk7On3p1H+55IPYdpsQp5gVOFXZa4+pWJM=; b=Ja4NDM2yedgYZLhD86iEPiLEtkEwExzK0l+UrMIrJ6nZXi1WclbnvkHYIfkmq4UxfWSkYv SPjRtZX0PqctFpR6WPPN3mA8QjVJ+2XiD71Z61MDUBmxXsWl5SfjHY/c4/nRGWlGia0c2y A6Oi8sd6WXIeNf73cVPN3s3m/9Vu3D/xxrZUzx0eSVpGHWuf4Qd4VgJH39zW87IYKeAFLX dOAXn5XrCVQHx0N/utknV/YwgCnkMK1Sdtm1Smvv5FsARm+5g3hxzbwpggpkN0d7sqoUgh 0EBTXgQsPDJxHSTud7bOmArXAfzV3ZoCO2ZYTmrCMX6SzgdFvw7462kKCNibbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF2mJ30vtzfJ3; Wed, 10 Apr 2024 12:52:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43ACqWl6053018; Wed, 10 Apr 2024 12:52:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43ACqWF1053015; Wed, 10 Apr 2024 12:52:32 GMT (envelope-from git) Date: Wed, 10 Apr 2024 12:52:32 GMT Message-Id: <202404101252.43ACqWF1053015@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: 989a2cf19d05 - main - vm_reserv_reclaim_contig: Return NULL not false 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: dev-commits-src-main+owner@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: 989a2cf19d053954f0bad28790114a374b05c9c1 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=989a2cf19d053954f0bad28790114a374b05c9c1 commit 989a2cf19d053954f0bad28790114a374b05c9c1 Author: Minsoo Choo AuthorDate: 2024-04-10 12:49:26 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 12:50:16 +0000 vm_reserv_reclaim_contig: Return NULL not false Reviewed by: dougm, zlei MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44667 --- sys/vm/vm_reserv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_reserv.c b/sys/vm/vm_reserv.c index b3b1dc62f14e..a4bbccdfb428 100644 --- a/sys/vm/vm_reserv.c +++ b/sys/vm/vm_reserv.c @@ -1213,7 +1213,7 @@ vm_reserv_find_contig(vm_reserv_t rv, int npages, int lo, * Searches the partially populated reservation queue for the least recently * changed reservation with free pages that satisfy the given request for * contiguous physical memory. If a satisfactory reservation is found, it is - * broken. Returns true if a reservation is broken and false otherwise. + * broken. Returns a page if a reservation is broken and NULL otherwise. */ vm_page_t vm_reserv_reclaim_contig(int domain, u_long npages, vm_paddr_t low, @@ -1229,7 +1229,7 @@ vm_reserv_reclaim_contig(int domain, u_long npages, vm_paddr_t low, KASSERT(powerof2(alignment), ("alignment is not a power of 2")); KASSERT(powerof2(boundary), ("boundary is not a power of 2")); if (npages > VM_LEVEL_0_NPAGES - 1) - return (false); + return (NULL); size = npages << PAGE_SHIFT; /* * Ensure that a free range starting at a boundary-multiple From nobody Wed Apr 10 12:54:22 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF2pQ6sSXz5H4My; Wed, 10 Apr 2024 12: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 4VF2pQ6MLvz4WQW; Wed, 10 Apr 2024 12: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=1712753662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VDvEP3Ji19AhoZCb5y8NJCpIf9Yx58CImWuARGfYwqE=; b=l+Uzea2Qh7jmfrMgmdphXgQEO/FDWQbwadTU32iFRkelZunkZgDyG5xa9/69qGb3Yg19wx Bk8Q5GJNdGsqu1zFYqGpURdrUB2rxOg9DJmLe8vRjuHOfv2A8dvJZIcgVZDLCQyFV9kcNP Ao5zPoam/AO44Y/fpOpxLFAVnmT2OnWg3JGuWMvhX7E2JMLiFfbhx2qycaPslQb8Dfurbv sksn3t3N2xfONyJz2qSQrMhTWVn7fhf1ydp00M1m1xAGO0odDUBK0GAmkCtLGz1SbP8w0m PRYY0lCTznpp3GhGGSJVu2i/Fr42OYnwMXzgbnwJQEDADL796appyM9YdPAePg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712753662; a=rsa-sha256; cv=none; b=jtUjvMxdVeJT4QzFMRo2pGCPsLAGBlWSs5HXOUEAF67GeXS41EQT9wALOMIwP1XKWeusu/ cmHhMUgQBqOTdwGSHf0OkNGQJSwmGiUGFrf7QtENKMKsyMU7Z5t8OpQmsOYnRjwDVzaVer aDpTcsah2MrPUIZXIAYIUJEdk0WmqMcZqXWQtx+sSbJOCHGvwsepQf77WbnqhV1b3KpCkT qNqWmqVxdzxZt1okOqRuJirVw8AjUN1UWRucvwXz5Ofzm+8R4XucDC4eS7JY+e4FcLWTi9 ygXqoDkN5d5u5m6GfYVuONbCZsxJQhjeoI6xtpOxzK/nmA2i45/cZIEsGFArXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712753662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VDvEP3Ji19AhoZCb5y8NJCpIf9Yx58CImWuARGfYwqE=; b=DcMzfYAKRVgP5l63n0BzPLo2i0Q4MxcMUFyJEd4+4GadO4Hc/E0pHbITwmivqlvPuPCGuh cnhj4kIkgwziM0UuF43yzP/+WaDycOaaUn3CoTyk1fYB6FLiwiZR6eRSGIomPMvyR0h+/M k1dvcMjAj8LCVDSPTUVtUsQpPsf6dwNnDQZb00fwek6cKXYsIadVCiWwcE8UvVN19qAOJG kmSoPKiIDizB3M0if+iq4n2uIpBaZBi0RGVY6D3XdAbkVhjEx/5bV3N9GrUfQT1ac7pTAZ f9aM7EbgwB0vnovHhlwDJdcTTUlZMqSy02DJVDJcYkAaISBm1R9KbBmmOQ3Cww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF2pQ5vDHzf9Z; Wed, 10 Apr 2024 12:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43ACsMhl053376; Wed, 10 Apr 2024 12:54:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43ACsMW4053373; Wed, 10 Apr 2024 12:54:22 GMT (envelope-from git) Date: Wed, 10 Apr 2024 12:54:22 GMT Message-Id: <202404101254.43ACsMW4053373@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: 1d14e88e5332 - main - tcp: Make tcp_var.h more self-contained 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: dev-commits-src-main+owner@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: 1d14e88e5332cfddbec1893f6b5332f81d378d61 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1d14e88e5332cfddbec1893f6b5332f81d378d61 commit 1d14e88e5332cfddbec1893f6b5332f81d378d61 Author: Mark Johnston AuthorDate: 2024-04-08 17:37:25 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 12:53:49 +0000 tcp: Make tcp_var.h more self-contained struct tcpcb embeds a struct osd and a struct callout. Rather than forcing all consumers to pull in the same headers, include the headers directly. No functional change intended. Reviewed by: glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44685 --- sys/netinet/tcp_var.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index b16410dad4db..a339f52c2ffa 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -86,6 +86,9 @@ #define TCP_EI_BITS_2MS_TIMER 0x400 /* 2 MSL timer expired */ #if defined(_KERNEL) || defined(_WANT_TCPCB) +#include +#include + #include /* TCP segment queue entry */ From nobody Wed Apr 10 15:16:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF5y40gf9z5HH7R; Wed, 10 Apr 2024 15:16: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 4VF5y401b5z4m5w; Wed, 10 Apr 2024 15:16:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z91pCr4D/OhRZcNkNH0K2CCymy+32mKzabzqtXrTzKU=; b=lVQaRwOnps/L3i7diW80kXUNsytSEm/vVMCf9+eEJTShhVZYEt6+KN4wfVVe5xzIi6bIYm OgMNyhxZ/FjHEhw+SF0+MQvo2PS0AtC8JO+wn/0ENsnPbLgDTrQluUaLKZtLN9ZYBlfaf/ EAprgzZgKVMIVF4IWPg/B8YsTfWPDnlsi8jv+omYsFqb/vVyrrlVPq3Cx/dgWzrNJVhN85 W7vjJj4SHbFxqnX4N7f1fy4SOjDfOtM/r2HoCPHJ9tzuQsh4WLeGq2vkoYKhLk8gAQmV3g McUAchDJxsdQCT+9Ma/v5PKqUcrXeOYyAQ2vj/f+ydwAd9zAVdeuid7OT0CJiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762172; a=rsa-sha256; cv=none; b=PsfEdKfLnjwdvGnYeY+3UyJrTobvXrSZ5J9hRMX0dLfkHreb2RqsPyChAkArvPtaiwUtH3 Do4ur47oSDY/n4D+eBWf4bJZdGDkEeNvOSwB7mmNgi/12mb3twL7LxUMc3PCk14e/+e51d SfIBgZm85vRdOLxGPnQe2pYAhmwxBsMSurqlTJhbOvMUaHDHov5MorTtukrxOutxaJWx66 wTNqYhIRb1mrAUFN6ljyRkSV1m8glk0meZg9opyadPXT7FbIdR5+UI0/mo2N0KCSWVrOeC TgAvpcvUOLjz72ahdmACmEVx1Uq7Zh94P/AOZKiV1bJqZpJUnSKkE7IRJvIAnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z91pCr4D/OhRZcNkNH0K2CCymy+32mKzabzqtXrTzKU=; b=dTuWRLUTuY7C8Ec2fQpYGWSEUaXkyyjjoGR9I2Akn+9MrjrbDpk8NzUaynDOgSSo8i87Pl U4jMOlWW8tTc5T/p9FYSxk3JlVsnsG4B4PbUn8DFmVdWZZcwLNUknFtsuCTMD9RcpTCYnI wZapOR+ky9NXT11y5o77XR9VIZauXjlJz+RQhkPP/Z0gDuADqFjRJrPhVWxmAbTFs2Vzfr K5Vx3R5u7m2oWX7uBY8NkNk4b3AQi9bkaFj15b6IRJOKNQ1KuuNukIcUHOCBnlpLoyNkls dB68omUY2DQU/QI0/rhHXbv/EjcwLur3I94g8esWpOFcio7QRrSTkjHlCsxgWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF5y36XcyzjjX; Wed, 10 Apr 2024 15:16:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFGBmr091914; Wed, 10 Apr 2024 15:16:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFGBpZ091911; Wed, 10 Apr 2024 15:16:11 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:16:11 GMT Message-Id: <202404101516.43AFGBpZ091911@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: afc10f8bba3d - main - sys_procctl(): Make it clear that negative commands are invalid 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: dev-commits-src-main+owner@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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: afc10f8bba3dd293a66461aaca41237c986b6ca7 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=afc10f8bba3dd293a66461aaca41237c986b6ca7 commit afc10f8bba3dd293a66461aaca41237c986b6ca7 Author: Olivier Certner AuthorDate: 2024-04-10 14:32:32 +0000 Commit: Olivier Certner CommitDate: 2024-04-10 15:15:25 +0000 sys_procctl(): Make it clear that negative commands are invalid An initial reading of the preamble of sys_procctl() gives the impression that no test prevents a malicious user from passing a negative commands index (in 'uap->com'), which is soon used as an index into the static array procctl_cmds_info[]. However, a closer examination leads to the conclusion that the existing code is technically correct. Indeed, the comparison of 'uap->com' to the nitems() expression, which expands to a ratio of sizeof(), leads to a conversion of 'uap->com' to an 'unsigned int' as per Usual Arithmetic Conversions/Integer Promotions applied by '<=', because sizeof() returns 'size_t' values, and we define 'size_t' as an equivalent of 'unsigned int' (which is not mandated by the standard, the latter allowing, e.g., integers of lower ranks). With this conversion, negative values of 'uap->com' are automatically ruled-out since they are converted to very big unsigned integers which are caught by the test. An analysis of assembly code produced by LLVM 16 on amd64 and practical tests confirm that no exploitation is possible. However, the guard code as written is misleading to readers and might trip up static analysis tools. Make sure that negative values are explicitly excluded so that it is immediately clear that EINVAL will be returned in this case. Build tested with clang 16 and GCC 12. Approved by: markj (mentor) MFC after: 1 week Sponsored by: The FreeBSD Foundation --- sys/kern/kern_procctl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_procctl.c b/sys/kern/kern_procctl.c index 46ddfaf709bd..150a8612c2f8 100644 --- a/sys/kern/kern_procctl.c +++ b/sys/kern/kern_procctl.c @@ -1126,7 +1126,7 @@ sys_procctl(struct thread *td, struct procctl_args *uap) if (uap->com >= PROC_PROCCTL_MD_MIN) return (cpu_procctl(td, uap->idtype, uap->id, uap->com, uap->data)); - if (uap->com == 0 || uap->com >= nitems(procctl_cmds_info)) + if (uap->com <= 0 || uap->com >= nitems(procctl_cmds_info)) return (EINVAL); cmd_info = &procctl_cmds_info[uap->com]; bzero(&x, sizeof(x)); From nobody Wed Apr 10 15:18:58 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61G4d1Sz5HHGh; Wed, 10 Apr 2024 15:18: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 4VF61G48Kqz4mm5; Wed, 10 Apr 2024 15:18:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XZZ5i97bRXrhDacy4ns8lcft47Z1Vxo2PceKg96jfcI=; b=hFMiC5pbAUBIqdqU2lICwp2ch2eD1thwJKeACnvDCH5Fss6rYYZaeZixAHaUIG8ZHp77lv T/gI5W8rDL1yjnRwzQjLT8Ju7HWKnpKWu18xCvlRFEwRNHjpwEoLmQ18fz0yXF1oRjNim9 HYikrFzccw+9SJrsFgSCn2qDOMf/cjRGKKtECWYyuhzA6g1L917vYs3cWYSI0WCCdDpk08 QK+cGiNJ32mn2+zLRDi5zJHxhFNwZgI3+HYu1pfP6KdhyyF1TFNhrLhVO8Ym4kJfEDtJzc nWu7ldE5+dCI9QP2Q0fG4jSsiA5ITYY92dy3zPASTz/TWJ7oR3KJGvhw3xLgbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762338; a=rsa-sha256; cv=none; b=eIqoIFFDOntUBtUDf5sMf/OVwvotQkfIMzF4zPD45uUnkCtjnwRYVXEqoA9wBVjYMSE3vv qU9lnhq/XkB2KPe2ifHgcsMc8Znw5g1+YVKkuIizq0UcZVDSSWKRDvlLtgJZLSnmN3Su5X KmovyMCNPqu5h7L5yr6r9f7uYIK4uZ+bMePKne9fiA+SGVEUpec57e2AOmsDaYQQXjDYbK u7U5iZLD7kMsinKBF7inriPwKV8DGSF5/02gW8clISguRFNJoZw2TVQG8wGgJNzf9/Xm7L Ow/IlXoPH4VTaeMIZVoJLj8XO1wiEJ5UCVOqjuxYF9BXGwYwf23FNMcjbTehcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XZZ5i97bRXrhDacy4ns8lcft47Z1Vxo2PceKg96jfcI=; b=gsdjLB9SmxObn6tWALbCBNwY9rDPbBHJHzUNpzgUqGJJbodHcVpwL5wsxcGPbw+4nqWajm DTChAQgFSO2eh/lKVUb7VuTefakRkSvQKPKGMzWaBk3sD1mKGbUmHZ/BBNjj8hDjJC+LQM CkZeO+hDqnm/6Z5zCFntfoFMOawJXJcIlhMImjLIvKqaPUZUz3Z2rLcClPEES23/DjcYkd S4oLYjuopeJhKH2R8SIYheLfkud1HcUDWiCRCWh+I5Kcu+Mc2kAMXwTNPFEo4jUyEz3dXK IVBIMzjA9uJERyT7mB3PqCOHmMftxx0FWx6w2QHNHL7dj4xwA3Ik0ryIiZTwOw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61G3lkMzjXf; Wed, 10 Apr 2024 15:18:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFIwFn092488; Wed, 10 Apr 2024 15:18:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFIwGa092485; Wed, 10 Apr 2024 15:18:58 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:18:58 GMT Message-Id: <202404101518.43AFIwGa092485@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: f3003a0dfb91 - main - bhyve: Add PL011 UART emulation 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: dev-commits-src-main+owner@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: f3003a0dfb91ce887587ff73ce758f31a921e5a3 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f3003a0dfb91ce887587ff73ce758f31a921e5a3 commit f3003a0dfb91ce887587ff73ce758f31a921e5a3 Author: Andrew Turner AuthorDate: 2024-04-03 16:46:43 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:55 +0000 bhyve: Add PL011 UART emulation This will be use for arm64 guests, instead of the existing ns16550 UART model. Reviewed by: corvink, jhb MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D40997 --- usr.sbin/bhyve/uart_emul.h | 11 +- usr.sbin/bhyve/uart_pl011.c | 394 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 404 insertions(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/uart_emul.h b/usr.sbin/bhyve/uart_emul.h index 3487af9e1cb1..129314153d3f 100644 --- a/usr.sbin/bhyve/uart_emul.h +++ b/usr.sbin/bhyve/uart_emul.h @@ -32,6 +32,7 @@ #define UART_NS16550_IO_BAR_SIZE 8 struct uart_ns16550_softc; +struct uart_pl011_softc; struct vm_snapshot_meta; typedef void (*uart_intr_func_t)(void *arg); @@ -49,4 +50,12 @@ int uart_ns16550_tty_open(struct uart_ns16550_softc *sc, int uart_ns16550_snapshot(struct uart_ns16550_softc *sc, struct vm_snapshot_meta *meta); #endif -#endif + +uint32_t uart_pl011_read(struct uart_pl011_softc *sc, int offset); +void uart_pl011_write(struct uart_pl011_softc *sc, int offset, + uint32_t value); +struct uart_pl011_softc *uart_pl011_init(uart_intr_func_t intr_assert, + uart_intr_func_t intr_deassert, void *arg); +int uart_pl011_tty_open(struct uart_pl011_softc *sc, const char *device); + +#endif /* _UART_EMUL_H_ */ diff --git a/usr.sbin/bhyve/uart_pl011.c b/usr.sbin/bhyve/uart_pl011.c new file mode 100644 index 000000000000..e2d5c8bf5657 --- /dev/null +++ b/usr.sbin/bhyve/uart_pl011.c @@ -0,0 +1,394 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2020 Andrew Turner + * + * This work was supported by Innovate UK project 105694, "Digital Security + * by Design (DSbD) Technology Platform Prototype". + * + * 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 + +#include +#include +#include +#include +#include + +#include "uart_backend.h" +#include "uart_emul.h" + +#define UART_FIFO_SIZE 16 + +#define UARTDR 0x00 +#define UARTDR_RSR_SHIFT 8 + +#define UARTRSR 0x01 +#define UARTRSR_OE (1 << 3) + +#define UARTFR 0x06 +#define UARTFR_TXFE (1 << 7) +#define UARTFR_RXFF (1 << 6) +#define UARTFR_TXFF (1 << 5) +#define UARTFR_RXFE (1 << 4) + +#define UARTRTINTR (1 << 6) +#define UARTTXINTR (1 << 5) +#define UARTRXINTR (1 << 4) + +#define UARTIBRD 0x09 + +#define UARTFBRD 0x0a +#define UARTFBRD_MASK 0x003f + +#define UARTLCR_H 0x0b +#define UARTLCR_H_MASK 0x00ff +#define UARTLCR_H_FEN (1 << 4) + +#define UARTCR 0x0c +/* TODO: Check the flags in the UARTCR register */ +#define UARTCR_MASK 0xffc7 +#define UARTCR_LBE (1 << 7) + +#define UARTIFLS 0x0d +#define UARTIFLS_MASK 0x003f +#define UARTIFLS_RXIFLSEL(x) (((x) >> 3) & 0x7) +#define UARTIFLS_TXIFLSEL(x) (((x) >> 0) & 0x7) + +#define UARTIMSC 0x0e +#define UARTIMSC_MASK 0x07ff + +#define UARTRIS 0x0f +#define UARTMIS 0x10 + +#define UARTICR 0x11 + +#define UARTPeriphID 0x00241011 +#define UARTPeriphID0 0x3f8 +#define UARTPeriphID0_VAL (((UARTPeriphID) >> 0) & 0xff) +#define UARTPeriphID1 0x3f9 +#define UARTPeriphID1_VAL (((UARTPeriphID) >> 8) & 0xff) +#define UARTPeriphID2 0x3fa +#define UARTPeriphID2_VAL (((UARTPeriphID) >> 16) & 0xff) +#define UARTPeriphID3 0x3fb +#define UARTPeriphID3_VAL (((UARTPeriphID) >> 24) & 0xff) + +#define UARTPCellID 0xb105f00d +#define UARTPCellID0 0x3fc +#define UARTPCellID0_VAL (((UARTPCellID) >> 0) & 0xff) +#define UARTPCellID1 0x3fd +#define UARTPCellID1_VAL (((UARTPCellID) >> 8) & 0xff) +#define UARTPCellID2 0x3fe +#define UARTPCellID2_VAL (((UARTPCellID) >> 16) & 0xff) +#define UARTPCellID3 0x3ff +#define UARTPCellID3_VAL (((UARTPCellID) >> 24) & 0xff) + +struct uart_pl011_softc { + struct uart_softc *backend; + pthread_mutex_t mtx; /* protects all softc elements */ + + uint16_t irq_state; + + uint16_t rsr; + + uint16_t cr; + uint16_t ifls; + uint16_t imsc; + uint16_t lcr_h; + + uint16_t ibrd; + uint16_t fbrd; + + void *arg; + uart_intr_func_t intr_assert; + uart_intr_func_t intr_deassert; +}; + +static void +uart_reset(struct uart_pl011_softc *sc) +{ + sc->ifls = 0x12; + + /* no fifo until enabled by software */ + uart_rxfifo_reset(sc->backend, 1); +} + +static int +uart_rx_trigger_level(struct uart_pl011_softc *sc) +{ + /* If the FIFO is disabled trigger when we have any data */ + if ((sc->lcr_h & UARTLCR_H_FEN) != 0) + return (1); + + /* Trigger base on how full the fifo is */ + switch (UARTIFLS_RXIFLSEL(sc->ifls)) { + case 0: + return (UART_FIFO_SIZE / 8); + case 1: + return (UART_FIFO_SIZE / 4); + case 2: + return (UART_FIFO_SIZE / 2); + case 3: + return (UART_FIFO_SIZE * 3 / 4); + case 4: + return (UART_FIFO_SIZE * 7 / 8); + default: + /* TODO: Find out what happens in this case */ + return (UART_FIFO_SIZE); + } +} + +static void +uart_toggle_intr(struct uart_pl011_softc *sc) +{ + if ((sc->irq_state & sc->imsc) == 0) + (*sc->intr_deassert)(sc->arg); + else + (*sc->intr_assert)(sc->arg); +} + +static void +uart_drain(int fd __unused, enum ev_type ev, void *arg) +{ + struct uart_pl011_softc *sc; + int old_size, trig_lvl; + bool loopback; + + sc = arg; + + assert(ev == EVF_READ); + + /* + * This routine is called in the context of the mevent thread + * to take out the softc lock to protect against concurrent + * access from a vCPU i/o exit + */ + pthread_mutex_lock(&sc->mtx); + + old_size = uart_rxfifo_numchars(sc->backend); + + loopback = (sc->cr & UARTCR_LBE) != 0; + uart_rxfifo_drain(sc->backend, loopback); + + /* If we cross the trigger level raise UARTRXINTR */ + trig_lvl = uart_rx_trigger_level(sc); + if (old_size < trig_lvl && + uart_rxfifo_numchars(sc->backend) >= trig_lvl) + sc->irq_state |= UARTRXINTR; + + if (uart_rxfifo_numchars(sc->backend) > 0) + sc->irq_state |= UARTRTINTR; + if (!loopback) + uart_toggle_intr(sc); + + pthread_mutex_unlock(&sc->mtx); +} + +void +uart_pl011_write(struct uart_pl011_softc *sc, int offset, uint32_t value) +{ + bool loopback; + + pthread_mutex_lock(&sc->mtx); + switch (offset) { + case UARTDR: + loopback = (sc->cr & UARTCR_LBE) != 0; + if (uart_rxfifo_putchar(sc->backend, value & 0xff, loopback)) + sc->rsr |= UARTRSR_OE; + + /* We don't have a TX fifo, so trigger when we have data */ + sc->irq_state |= UARTTXINTR; + break; + case UARTRSR: + /* Any write clears this register */ + sc->rsr = 0; + break; + case UARTFR: + /* UARTFR is a read-only register */ + break; + /* TODO: UARTILPR */ + case UARTIBRD: + sc->ibrd = value; + break; + case UARTFBRD: + sc->fbrd = value & UARTFBRD_MASK; + break; + case UARTLCR_H: + /* Check if the FIFO enable bit changed */ + if (((sc->lcr_h ^ value) & UARTLCR_H_FEN) != 0) { + if ((value & UARTLCR_H_FEN) != 0) { + uart_rxfifo_reset(sc->backend, UART_FIFO_SIZE); + } else { + uart_rxfifo_reset(sc->backend, 1); + } + } + sc->lcr_h = value & UARTLCR_H_MASK; + break; + case UARTCR: + sc->cr = value & UARTCR_MASK; + break; + case UARTIFLS: + sc->ifls = value & UARTCR_MASK; + break; + case UARTIMSC: + sc->imsc = value & UARTIMSC_MASK; + break; + case UARTRIS: + case UARTMIS: + /* UARTRIS and UARTMIS are read-only registers */ + break; + case UARTICR: + sc->irq_state &= ~value; + break; + default: + /* Ignore writes to unassigned/ID registers */ + break; + } + uart_toggle_intr(sc); + pthread_mutex_unlock(&sc->mtx); +} + +uint32_t +uart_pl011_read(struct uart_pl011_softc *sc, int offset) +{ + uint32_t reg; + int fifo_sz; + + reg = 0; + pthread_mutex_lock(&sc->mtx); + switch (offset) { + case UARTDR: + reg = uart_rxfifo_getchar(sc->backend); + /* Deassert the irq if below the trigger level */ + fifo_sz = uart_rxfifo_numchars(sc->backend); + if (fifo_sz < uart_rx_trigger_level(sc)) + sc->irq_state &= ~UARTRXINTR; + if (fifo_sz == 0) + sc->irq_state &= ~UARTRTINTR; + + reg |= sc->rsr << UARTDR_RSR_SHIFT; + + /* After reading from the fifo there is now space in it */ + sc->rsr &= UARTRSR_OE; + break; + case UARTRSR: + /* Any write clears this register */ + reg = sc->rsr; + break; + case UARTFR: + /* Transmit is intstant, so the fifo is always empty */ + reg = UARTFR_TXFE; + + /* Set the receive fifo full/empty flags */ + fifo_sz = uart_rxfifo_numchars(sc->backend); + if (fifo_sz == UART_FIFO_SIZE) + reg |= UARTFR_RXFF; + else if (fifo_sz == 0) + reg |= UARTFR_RXFE; + break; + /* TODO: UARTILPR */ + case UARTIBRD: + reg = sc->ibrd; + break; + case UARTFBRD: + reg = sc->fbrd; + break; + case UARTLCR_H: + reg = sc->lcr_h; + break; + case UARTCR: + reg = sc->cr; + break; + case UARTIMSC: + reg = sc->imsc; + break; + case UARTRIS: + reg = sc->irq_state; + break; + case UARTMIS: + reg = sc->irq_state & sc->imsc; + break; + case UARTICR: + reg = 0; + break; + case UARTPeriphID0: + reg = UARTPeriphID0_VAL; + break; + case UARTPeriphID1: + reg =UARTPeriphID1_VAL; + break; + case UARTPeriphID2: + reg = UARTPeriphID2_VAL; + break; + case UARTPeriphID3: + reg = UARTPeriphID3_VAL; + break; + case UARTPCellID0: + reg = UARTPCellID0_VAL; + break; + case UARTPCellID1: + reg = UARTPCellID1_VAL; + break; + case UARTPCellID2: + reg = UARTPCellID2_VAL; + break; + case UARTPCellID3: + reg = UARTPCellID3_VAL; + break; + default: + /* Return 0 in reads from unasigned registers */ + reg = 0; + break; + } + uart_toggle_intr(sc); + pthread_mutex_unlock(&sc->mtx); + + return (reg); +} + +struct uart_pl011_softc * +uart_pl011_init(uart_intr_func_t intr_assert, uart_intr_func_t intr_deassert, + void *arg) +{ + struct uart_pl011_softc *sc; + + sc = calloc(1, sizeof(struct uart_pl011_softc)); + + sc->arg = arg; + sc->intr_assert = intr_assert; + sc->intr_deassert = intr_deassert; + sc->backend = uart_init(); + + pthread_mutex_init(&sc->mtx, NULL); + + uart_reset(sc); + + return (sc); +} + +int +uart_pl011_tty_open(struct uart_pl011_softc *sc, const char *device) +{ + return (uart_tty_open(sc->backend, device, uart_drain, sc)); +} From nobody Wed Apr 10 15:18:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61J04Rhz5HHGj; Wed, 10 Apr 2024 15:19:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VF61H578Xz4mpG; Wed, 10 Apr 2024 15:18:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ShvJBMhnqxpmTUNYlS65I32tTdj0BgGUse/zO9pfYgg=; b=VCA2m2Qrb356xfjHEZZnUgmB0xFMFqI/zrcs0hnUitlz0YZry632zI5YmdRf8svUNxtNwr EYs0ybqkm3gWOeyZcEvqCo1A2HI9oVrkPS9kpH9XcEQw+Q5wyidaZGUtUdDbbNyaa9eEqE 53PUhZKrMaMo/DmYNndpQ3rW5OgtCTooQ18klpPhElKHUg0amwPFKNLG23VTcGN8kAx2L4 9ztRJD1/7jJwLkpXu69ID8+cl1P0ptOl2Ai8nx579pUJ2bzABxzpa03CtzMI1KGTQ9FR1b Sme+aMH42B5c2yilja/x646ttVdjPnE/IfZh9qM2idBSqdnn+MPFPpOo0w6RLQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762339; a=rsa-sha256; cv=none; b=ctQoHZUQZv17vdKEQh5q/ewTjnAkx+p8qZ32RbEvA4+uDymUWfDC42gNXi69m236wdT6Gn ZRcQ3UL+fD+2FuNML7OepE6XrcjJMCwmoimZWv2jfGM4p4el8vbhGhVXJzKFI8cKY/oeJF +VI34+m56B/D+idlCLvotGdDVZXzB7DXT6efa5LI+nLhAoN3SSEQ0bAlprFUbWIqI/rMpp U1++8v+FhbrDOqWfVt4yknrHZBjG/1M9Sn5ZzFTHAKmNzKjOkA6Jq1HtRouT9naOZ1AMHM z7Rb4ZXqSaILX0QwCVARE7Xy0M17eES76GOf8JeU0OJywwABfNaoQA2zzuMZzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ShvJBMhnqxpmTUNYlS65I32tTdj0BgGUse/zO9pfYgg=; b=Lt2MhWkjYm/vwcO8CdPcxuqIZA29bljhbfXawQPRihzHsqizAbwwV1ZPYEGYleIJjaZ2CE YC60nkMK3BXxyQPCGqGOtjTjgRJrvIs1IfaNmjmdw4tRwtlfxqz+JJWRL+PiZCZkRXTmDw vR+UZQBR8mNzRQHIstX52VZKICgyyhbPwTlTsr8CxHozkxG/ptf+lYlCDobw8g7i5F0tZ3 sA7REUBZpeFEei0WcrIL5aKOap3gISpCucK1rFMxw6ECwIRBfceR/PRmGRKzjUdBHR0E/a RN6jw2USjqyt0VMUfJY+7i0jM9XoDtg7WGm6B8cDm3LkLz9XnvIul8PxlzR51A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61H4kjRzjsH; Wed, 10 Apr 2024 15:18:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFIxto092533; Wed, 10 Apr 2024 15:18:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFIxw9092530; Wed, 10 Apr 2024 15:18:59 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:18:59 GMT Message-Id: <202404101518.43AFIxw9092530@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: d878f72a73e1 - main - bhyve: Provide optional libfdt linking 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: dev-commits-src-main+owner@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: d878f72a73e104b705d7ee07a3152ad841eadf05 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d878f72a73e104b705d7ee07a3152ad841eadf05 commit d878f72a73e104b705d7ee07a3152ad841eadf05 Author: Mark Johnston AuthorDate: 2024-04-03 16:48:45 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:55 +0000 bhyve: Provide optional libfdt linking The arm64 port currently does not support ACPI, it instead builds up an FDT which is exported to the guest. This mechanism will not be used on amd64 but isn't really arm64-specific either, so provide an opt-in mechanism to link libfdt. No functional change intended. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D40995 --- usr.sbin/bhyve/Makefile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index 03ea77769754..efa5b4acf897 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -70,6 +70,11 @@ SRCS+= snapshot.c .include "${MACHINE_CPUARCH}/Makefile.inc" +.if defined(BHYVE_FDT_SUPPORT) +LIBADD+= fdt +CFLAGS+= -I${SRCTOP}/sys/contrib/libfdt +.endif + .if defined(BHYVE_GDB_SUPPORT) SRCS+= gdb.c CFLAGS+= -DBHYVE_GDB @@ -83,7 +88,7 @@ CFLAGS+=-I${.CURDIR} \ -I${.CURDIR}/../../contrib/lib9p \ -I${SRCTOP}/sys -LIBADD= vmmapi md nv pthread z util sbuf cam 9p +LIBADD+= vmmapi md nv pthread z util sbuf cam 9p .if ${MK_BHYVE_SNAPSHOT} != "no" LIBADD+= ucl xo From nobody Wed Apr 10 15:19:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61J6wYLz5HHGm; Wed, 10 Apr 2024 15:19:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VF61J5sSJz4mdr; Wed, 10 Apr 2024 15:19:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UVn9z08fvdKu0lw0yV2kA43PelBFPaxErfMLo/KudOc=; b=azaudMEwUaE8ykDYxnxFMdqBbcv5xJb4FMqYgCIYT2RpBJLIj8qrap+bq00/dYf9E06q+6 0UGrht6Ec3l9dScM+jWd2AGR1qmbi2oYOrVZ4+zX50SV+TzskUDZ2Vh07ariCdyRD2L/DS Od4p3EORh5ejYwtYEYPfW9kDQBuo/+BI+R9OXT4sF+wKK4uB/cJIMWu0anVTgwIjWQNGRh JqNd1sGRhbvAoc5v4gxER64d593+q1R7vNoP1fnPdlqbKO+mbHdCS9u6xtN67Z5VX1xEwX T9Ss6qun9dqpb21zQHzNP97LvcJ6NhmmcnaN2In4FhWWFBfEWnLo7w3VZsxYKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762340; a=rsa-sha256; cv=none; b=iZTkLCcJFLyMhPOIQkmQ+TRBgbGI75kHaf32wMwit/YPhdWF94AVMPnWD3SucYHyRbiQGd vsEqGPl4/GzEjxbTPn2o5h8g8FCLROCLmE75+0EySWYU4HB7ZK/Zl8jGWk+pURm1KzfaOS sBuh4zm7IUKC9/axi/q20X+4r8r+3ufhdbhMybeA7MDuAIiNcJmd51aN9ZJzH+g1X+/mup YSkSZ4wGNyk5kcJx9F54zoZCfMe0Qulxn1UnKyTznpDFb8rq1lxkdPb01ABoyWsALrKUYx TfWPcdoLSN7RCqMAIP13Ub4quZ7+Dfg9ZG5R4ZenRYBTq5iCZTvNrht/iPBMgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UVn9z08fvdKu0lw0yV2kA43PelBFPaxErfMLo/KudOc=; b=S+4753Bev7pLIpAc876Wq/XMaSTeZDtrK+XsWpSGm718U0TKKawjQycQ0MjjN7v68DcMCY 89gvAkjpx4E3uZKUVFSxw3mB3iWAvX77qvpKiI5iqH3pGV5PqiNatPx+crE1XIzpXwEXrU v/LN4ZUn+4yyKL27DIhXKZP5gE5eV8iYE10wGFjpyE2LdgKm4nV60Cfh3CZ0aMdqT2RGL8 cndS/XOGI6UjMq0cwtc+njaYTiT2kJW+IBwQLsyZPViAhj/3FtYa5reCXSg0NfXvsG+IN0 nufo6v5uxVIbsoOWwCkWOWkZ2MPg207quSpqgfqbnYcwPcdm8IfJP4neSzW98Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61J5Sxxzj7F; Wed, 10 Apr 2024 15:19:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJ0ja092594; Wed, 10 Apr 2024 15:19:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJ0BK092591; Wed, 10 Apr 2024 15:19:00 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:00 GMT Message-Id: <202404101519.43AFJ0BK092591@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: eaff4c4f92dc - main - bhyve: Add FDT building code for arm64 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: dev-commits-src-main+owner@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: eaff4c4f92dc447cf5f0bbf80449cad7738fdf39 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=eaff4c4f92dc447cf5f0bbf80449cad7738fdf39 commit eaff4c4f92dc447cf5f0bbf80449cad7738fdf39 Author: Mark Johnston AuthorDate: 2024-04-03 16:50:21 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:55 +0000 bhyve: Add FDT building code for arm64 fdt.c provides some basic routines which let platform initialization code build the FDT that gets passed into the guest. For now this is not very generic; we declare info about CPUs, memory, a single UART (specified by -o console), a PCIe controller (used for virtio devices), an interrupt controller and the platform timer. Co-authored-by: andrew Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40996 --- usr.sbin/bhyve/aarch64/fdt.c | 351 +++++++++++++++++++++++++++++++++++++++++++ usr.sbin/bhyve/aarch64/fdt.h | 47 ++++++ 2 files changed, 398 insertions(+) diff --git a/usr.sbin/bhyve/aarch64/fdt.c b/usr.sbin/bhyve/aarch64/fdt.c new file mode 100644 index 000000000000..4b99e7009296 --- /dev/null +++ b/usr.sbin/bhyve/aarch64/fdt.c @@ -0,0 +1,351 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 The FreeBSD Foundation + * + * This software was developed by Andrew Turner 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. + */ + +#include + +#include +#include +#include +#include + +#include +#include + +#include "config.h" +#include "bhyverun.h" +#include "fdt.h" + +#define SET_PROP_U32(prop, idx, val) \ + ((uint32_t *)(prop))[(idx)] = cpu_to_fdt32(val) +#define SET_PROP_U64(prop, idx, val) \ + ((uint64_t *)(prop))[(idx)] = cpu_to_fdt64(val) + +#define GIC_SPI 0 +#define GIC_PPI 1 +#define IRQ_TYPE_LEVEL_HIGH 4 +#define IRQ_TYPE_LEVEL_LOW 8 + +#define GIC_FIRST_PPI 16 +#define GIC_FIRST_SPI 32 + +static void *fdtroot; +static uint32_t gic_phandle = 0; + +static uint32_t +assign_phandle(void *fdt) +{ + static uint32_t next_phandle = 1; + uint32_t phandle; + + phandle = next_phandle; + next_phandle++; + fdt_property_u32(fdt, "phandle", phandle); + + return (phandle); +} + +static void +set_single_reg(void *fdt, uint64_t start, uint64_t len) +{ + void *reg; + + fdt_property_placeholder(fdt, "reg", 2 * sizeof(uint64_t), ®); + SET_PROP_U64(reg, 0, start); + SET_PROP_U64(reg, 1, len); +} + +static void +add_cpu(void *fdt, int cpuid) +{ + char node_name[16]; + + snprintf(node_name, sizeof(node_name), "cpu@%d", cpuid); + + fdt_begin_node(fdt, node_name); + fdt_property_string(fdt, "device_type", "cpu"); + fdt_property_string(fdt, "compatible", "arm,armv8"); + fdt_property_u64(fdt, "reg", cpuid); + fdt_property_string(fdt, "enable-method", "psci"); + fdt_end_node(fdt); +} + +static void +add_cpus(void *fdt, int ncpu) +{ + int cpuid; + + fdt_begin_node(fdt, "cpus"); + /* XXX: Needed given the root #address-cells? */ + fdt_property_u32(fdt, "#address-cells", 2); + fdt_property_u32(fdt, "#size-cells", 0); + + for (cpuid = 0; cpuid < ncpu; cpuid++) { + add_cpu(fdt, cpuid); + } + fdt_end_node(fdt); +} + +int +fdt_init(struct vmctx *ctx, int ncpu, vm_paddr_t fdtaddr, vm_size_t fdtsize) +{ + void *fdt; + const char *bootargs; + + fdt = paddr_guest2host(ctx, fdtaddr, fdtsize); + if (fdt == NULL) + return (EFAULT); + + fdt_create(fdt, (int)fdtsize); + + /* Add the memory reserve map (needed even if none is reserved) */ + fdt_finish_reservemap(fdt); + + /* Create the root node */ + fdt_begin_node(fdt, ""); + + fdt_property_string(fdt, "compatible", "freebsd,bhyve"); + fdt_property_u32(fdt, "#address-cells", 2); + fdt_property_u32(fdt, "#size-cells", 2); + + fdt_begin_node(fdt, "chosen"); + fdt_property_string(fdt, "stdout-path", "serial0:115200n8"); + bootargs = get_config_value("fdt.bootargs"); + if (bootargs != NULL) + fdt_property_string(fdt, "bootargs", bootargs); + fdt_end_node(fdt); + + fdt_begin_node(fdt, "memory"); + fdt_property_string(fdt, "device_type", "memory"); + /* There is no lowmem on arm64. */ + assert(vm_get_lowmem_size(ctx) == 0); + set_single_reg(fdt, vm_get_highmem_base(ctx), vm_get_highmem_size(ctx)); + fdt_end_node(fdt); + + add_cpus(fdt, ncpu); + + fdt_begin_node(fdt, "psci"); + fdt_property_string(fdt, "compatible", "arm,psci-1.0"); + fdt_property_string(fdt, "method", "hvc"); + fdt_end_node(fdt); + + /* Finalized by fdt_finalized(). */ + fdtroot = fdt; + + return (0); +} + +void +fdt_add_gic(uint64_t dist_base, uint64_t dist_size, + uint64_t redist_base, uint64_t redist_size) +{ + char node_name[32]; + void *fdt, *prop; + + fdt = fdtroot; + + snprintf(node_name, sizeof(node_name), "interrupt-controller@%lx", + (unsigned long)dist_base); + fdt_begin_node(fdt, node_name); + + gic_phandle = assign_phandle(fdt); + fdt_property_string(fdt, "compatible", "arm,gic-v3"); + fdt_property(fdt, "interrupt-controller", NULL, 0); + fdt_property(fdt, "msi-controller", NULL, 0); + /* XXX: Needed given the root #address-cells? */ + fdt_property_u32(fdt, "#address-cells", 2); + fdt_property_u32(fdt, "#interrupt-cells", 3); + fdt_property_placeholder(fdt, "reg", 4 * sizeof(uint64_t), &prop); + /* GICD */ + SET_PROP_U64(prop, 0, dist_base); + SET_PROP_U64(prop, 1, dist_size); + /* GICR */ + SET_PROP_U64(prop, 2, redist_base); + SET_PROP_U64(prop, 3, redist_size); + + fdt_property_placeholder(fdt, "mbi-ranges", 2 * sizeof(uint32_t), + &prop); + SET_PROP_U32(prop, 0, 256); + SET_PROP_U32(prop, 1, 64); + + fdt_end_node(fdt); + + fdt_property_u32(fdt, "interrupt-parent", gic_phandle); +} + +void +fdt_add_uart(uint64_t uart_base, uint64_t uart_size, int intr) +{ + void *fdt, *interrupts, *prop; + char node_name[32]; + uint32_t clk_phandle; + + assert(gic_phandle != 0); + assert(intr >= GIC_FIRST_SPI); + + fdt = fdtroot; + + fdt_begin_node(fdt, "uart-clock"); + fdt_property_string(fdt, "compatible", "fixed-clock"); + fdt_property_string(fdt, "clock-output-names", "clk24mhz"); + fdt_property_u32(fdt, "#clock-cells", 0); + fdt_property_u32(fdt, "clock-frequency", 24000000); + clk_phandle = assign_phandle(fdt); + fdt_end_node(fdt); + + snprintf(node_name, sizeof(node_name), "serial@%lx", uart_base); + fdt_begin_node(fdt, node_name); +#define UART_COMPAT "arm,pl011\0arm,primecell" + fdt_property(fdt, "compatible", UART_COMPAT, sizeof(UART_COMPAT)); +#undef UART_COMPAT + set_single_reg(fdt, uart_base, uart_size); + fdt_property_u32(fdt, "interrupt-parent", gic_phandle); + fdt_property_placeholder(fdt, "interrupts", 3 * sizeof(uint32_t), + &interrupts); + SET_PROP_U32(interrupts, 0, GIC_SPI); + SET_PROP_U32(interrupts, 1, intr - GIC_FIRST_SPI); + SET_PROP_U32(interrupts, 2, IRQ_TYPE_LEVEL_HIGH); + fdt_property_placeholder(fdt, "clocks", 2 * sizeof(uint32_t), &prop); + SET_PROP_U32(prop, 0, clk_phandle); + SET_PROP_U32(prop, 1, clk_phandle); +#define UART_CLK_NAMES "uartclk\0apb_pclk" + fdt_property(fdt, "clock-names", UART_CLK_NAMES, + sizeof(UART_CLK_NAMES)); +#undef UART_CLK_NAMES + + fdt_end_node(fdt); + + snprintf(node_name, sizeof(node_name), "/serial@%lx", uart_base); + fdt_begin_node(fdt, "aliases"); + fdt_property_string(fdt, "serial0", node_name); + fdt_end_node(fdt); +} + +void +fdt_add_timer(void) +{ + void *fdt, *interrupts; + uint32_t irqs[] = { 13, 14, 11 }; + + assert(gic_phandle != 0); + + fdt = fdtroot; + + fdt_begin_node(fdt, "timer"); + fdt_property_string(fdt, "compatible", "arm,armv8-timer"); + fdt_property_u32(fdt, "interrupt-parent", gic_phandle); + fdt_property_placeholder(fdt, "interrupts", 9 * sizeof(uint32_t), + &interrupts); + for (u_int i = 0; i < nitems(irqs); i++) { + SET_PROP_U32(interrupts, i * 3 + 0, GIC_PPI); + SET_PROP_U32(interrupts, i * 3 + 1, irqs[i]); + SET_PROP_U32(interrupts, i * 3 + 2, IRQ_TYPE_LEVEL_LOW); + } + fdt_end_node(fdt); +} + +void +fdt_add_pcie(int intr) +{ + void *fdt, *prop; + + assert(gic_phandle != 0); + assert(intr >= GIC_FIRST_SPI); + + fdt = fdtroot; + + fdt_begin_node(fdt, "pcie@1f0000000"); + fdt_property_string(fdt, "compatible", "pci-host-ecam-generic"); + fdt_property_u32(fdt, "#address-cells", 3); + fdt_property_u32(fdt, "#size-cells", 2); + fdt_property_string(fdt, "device_type", "pci"); + fdt_property_u64(fdt, "bus-range", (0ul << 32) | 1); + set_single_reg(fdt, 0xe0000000, 0x10000000); + fdt_property_placeholder(fdt, "ranges", + 2 * 7 * sizeof(uint32_t), &prop); + SET_PROP_U32(prop, 0, 0x01000000); + + SET_PROP_U32(prop, 1, 0); + SET_PROP_U32(prop, 2, 0xdf000000); + + SET_PROP_U32(prop, 3, 0); + SET_PROP_U32(prop, 4, 0xdf000000); + + SET_PROP_U32(prop, 5, 0); + SET_PROP_U32(prop, 6, 0x01000000); + + SET_PROP_U32(prop, 7, 0x02000000); + + SET_PROP_U32(prop, 8, 0); + SET_PROP_U32(prop, 9, 0xa0000000); + + SET_PROP_U32(prop, 10, 0); + SET_PROP_U32(prop, 11, 0xa0000000); + + SET_PROP_U32(prop, 12, 0); + SET_PROP_U32(prop, 13, 0x3f000000); + + fdt_property_placeholder(fdt, "msi-map", 4 * sizeof(uint32_t), &prop); + SET_PROP_U32(prop, 0, 0); /* RID base */ + SET_PROP_U32(prop, 1, gic_phandle); /* MSI parent */ + SET_PROP_U32(prop, 2, 0); /* MSI base */ + SET_PROP_U32(prop, 3, 0x10000); /* RID length */ + fdt_property_u32(fdt, "msi-parent", gic_phandle); + + fdt_property_u32(fdt, "#interrupt-cells", 1); + fdt_property_u32(fdt, "interrupt-parent", gic_phandle); + fdt_property_placeholder(fdt, "interrupt-map-mask", + 4 * sizeof(uint32_t), &prop); + SET_PROP_U32(prop, 0, 0); + SET_PROP_U32(prop, 1, 0); + SET_PROP_U32(prop, 2, 0); + SET_PROP_U32(prop, 3, 7); + fdt_property_placeholder(fdt, "interrupt-map", + 10 * sizeof(uint32_t), &prop); + SET_PROP_U32(prop, 0, 0); + SET_PROP_U32(prop, 1, 0); + SET_PROP_U32(prop, 2, 0); + SET_PROP_U32(prop, 3, 1); + SET_PROP_U32(prop, 4, gic_phandle); + SET_PROP_U32(prop, 5, 0); + SET_PROP_U32(prop, 6, 0); + SET_PROP_U32(prop, 7, GIC_SPI); + SET_PROP_U32(prop, 8, intr - GIC_FIRST_SPI); + SET_PROP_U32(prop, 9, IRQ_TYPE_LEVEL_HIGH); + + fdt_end_node(fdt); +} + +void +fdt_finalize(void) +{ + fdt_end_node(fdtroot); + + fdt_finish(fdtroot); +} diff --git a/usr.sbin/bhyve/aarch64/fdt.h b/usr.sbin/bhyve/aarch64/fdt.h new file mode 100644 index 000000000000..a559d2289187 --- /dev/null +++ b/usr.sbin/bhyve/aarch64/fdt.h @@ -0,0 +1,47 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 The FreeBSD Foundation + * + * This software was developed by Andrew Turner 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. + */ + +#ifndef _FDT_H_ +#define _FDT_H_ + +#include + +struct vmctx; + +int fdt_init(struct vmctx *ctx, int ncpu, vm_paddr_t addrp, + vm_size_t size); +void fdt_add_gic(uint64_t dist_base, uint64_t dist_size, + uint64_t redist_base, uint64_t redist_size); +void fdt_add_timer(void); +void fdt_add_pcie(int intr); +void fdt_add_uart(uint64_t uart_base, uint64_t uart_size, int intr); +void fdt_finalize(void); + +#endif /* _FDT_H_ */ From nobody Wed Apr 10 15:19:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61L260Wz5HHS6; Wed, 10 Apr 2024 15:19:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VF61L0bn3z4mk6; Wed, 10 Apr 2024 15:19:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rj6MiDmStsQxXM7CuuPfawtEkR8zrs6RTra4L379Evk=; b=DiP7zGjmigFoen5NQAvxZ3fD9yMn+TwXc1x1adRkZjtA35SLcSahzJhtn1xVZo+JBPsH+N IjhskvqWCpudRHl5gpETdt1/d6OH2nuw7Q6pvbg6h7B8N+E8g11XODiPt9b3HkszW9/Tb1 Rk4liFULszEckxN/pkj58OZ3CZioV/MUq1e1OOVK+jYF1/el5SSwwWUBYn/gt6jjfAc3Cq mujE0Ag8wuG5t/zH7txg4RBxCQp7yWGG9k1XSjfPSWiwvH7/5vqhGTfQensBQPB4/xPzdR rDVTErJiixLwYbnCYncV51XppjCCuWNlM9P8cp3K/ShsacOcb69aFj3ySH5SUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762342; a=rsa-sha256; cv=none; b=R4rGFDI0Yloj5RWKhGOmuEJSTDv292NzwF6ekbNQhXeQXejKSt0mxKpcvvluDnIGfGIR2h OFhU7WVY2KAw71VOJgvI4LvlYjg++hyZfdJIxiFk0E8a2ngk7hDS2poTxrfjTMf4C+PG3E q2FlNGq2xH6J6qeN/u7xLUe9qT89W1kBzprLZV6nMlEfGqI13s/zeDvd4dmGfdzSgBnS/k pfbTdismwtA+StAbVitYPd9hkLUAUNvQdUOUzc+Y5jZ2HfB9aLvouvrFKhHKaMCThun86i bQh3wFizdDhfA8JhB837es6GRx3MGaY6YpJVPNTs+rahWTDZrlOlEKGC7uRLLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rj6MiDmStsQxXM7CuuPfawtEkR8zrs6RTra4L379Evk=; b=LXZJ/jvL1PK6I10BJdr97lWdkX1SGleNAbj1WrbMkEP6QTLTWlGyiBnhpHIPxoyizxgOX2 rTm9stNZCdp0weCDwdYH0u2xKkSYvhnaiPPLkVhl97tbOJiNdkOz8AgbZnqNETAxcEAj2P F5ihIUb7hCMpxdiSGkUSXzOVwMGNAmxkpI1WrBUgu+9rLtDbfLmPQWne6nK3SMeVjdtN2L +oDbCnyU5/DU2UGVaOSvHZNhamORZoQvkpPk2xZVpBrTUP3w3ZCFGXoJaecAjw6EKWJOl2 1/DXRYnZKUSGrIpzxBlGVHkzMGRjt8Dl+fyzSt9jtWURF2xgscbvZ7/1UAVovA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61K6p0zzjjZ; Wed, 10 Apr 2024 15:19:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJ12J092645; Wed, 10 Apr 2024 15:19:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJ1WY092642; Wed, 10 Apr 2024 15:19:01 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:01 GMT Message-Id: <202404101519.43AFJ1WY092642@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: e497fe865703 - main - bhyve: Use vm_get_highmem_base() instead of hard-coding the value 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: dev-commits-src-main+owner@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: e497fe8657031bf52a27d28943e6517922e330ba Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e497fe8657031bf52a27d28943e6517922e330ba commit e497fe8657031bf52a27d28943e6517922e330ba Author: Mark Johnston AuthorDate: 2024-04-03 16:51:37 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:55 +0000 bhyve: Use vm_get_highmem_base() instead of hard-coding the value This reduces the coupling between libvmmapi (which creates the highmem segment) and bhyve, in preparation for the arm64 port. No functional change intended. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D40992 --- usr.sbin/bhyve/bootrom.c | 7 +++++-- usr.sbin/bhyve/pci_emul.c | 3 ++- usr.sbin/bhyve/smbiostbl.c | 7 ++++--- usr.sbin/bhyve/snapshot.c | 4 ++-- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/usr.sbin/bhyve/bootrom.c b/usr.sbin/bhyve/bootrom.c index 64f1921f901e..1d461ba76597 100644 --- a/usr.sbin/bhyve/bootrom.c +++ b/usr.sbin/bhyve/bootrom.c @@ -118,12 +118,15 @@ bootrom_var_mem_handler(struct vcpu *vcpu __unused, int dir, uint64_t addr, void init_bootrom(struct vmctx *ctx) { + vm_paddr_t highmem; + romptr = vm_create_devmem(ctx, VM_BOOTROM, "bootrom", BOOTROM_SIZE); if (romptr == MAP_FAILED) err(4, "%s: vm_create_devmem", __func__); - gpa_base = (1ULL << 32) - BOOTROM_SIZE; + highmem = vm_get_highmem_base(ctx); + gpa_base = highmem - BOOTROM_SIZE; gpa_allocbot = gpa_base; - gpa_alloctop = (1ULL << 32) - 1; + gpa_alloctop = highmem - 1; } int diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index 3d6797c7168e..e5e9e56cc3c3 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -1509,7 +1509,8 @@ init_pci(struct vmctx *ctx) pci_emul_iobase = PCI_EMUL_IOBASE; pci_emul_membase32 = PCI_EMUL_MEMBASE32; - pci_emul_membase64 = 4*GB + vm_get_highmem_size(ctx); + pci_emul_membase64 = vm_get_highmem_base(ctx) + + vm_get_highmem_size(ctx); pci_emul_membase64 = roundup2(pci_emul_membase64, PCI_EMUL_MEMSIZE64); pci_emul_memlim64 = pci_emul_membase64 + PCI_EMUL_MEMSIZE64; diff --git a/usr.sbin/bhyve/smbiostbl.c b/usr.sbin/bhyve/smbiostbl.c index 4a98278d5e61..e09fbc95fc9e 100644 --- a/usr.sbin/bhyve/smbiostbl.c +++ b/usr.sbin/bhyve/smbiostbl.c @@ -600,7 +600,7 @@ static struct smbios_template_entry smbios_template[] = { { NULL,NULL, NULL } }; -static uint64_t guest_lomem, guest_himem; +static uint64_t guest_lomem, guest_himem, guest_himem_base; static uint16_t type16_handle; static int @@ -831,8 +831,8 @@ smbios_type19_initializer(const struct smbios_structure *template_entry, curaddr, endaddr, n); type19 = (struct smbios_table_type19 *)curaddr; type19->arrayhand = type16_handle; - type19->xsaddr = 4*GB; - type19->xeaddr = type19->xsaddr + guest_himem; + type19->xsaddr = guest_himem_base; + type19->xeaddr = guest_himem_base + guest_himem; } return (0); @@ -891,6 +891,7 @@ smbios_build(struct vmctx *ctx) guest_lomem = vm_get_lowmem_size(ctx); guest_himem = vm_get_highmem_size(ctx); + guest_himem_base = vm_get_highmem_base(ctx); startaddr = paddr_guest2host(ctx, SMBIOS_BASE, SMBIOS_MAX_LENGTH); if (startaddr == NULL) { diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index 9bb7873f1d25..997faa254284 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -758,8 +758,8 @@ vm_snapshot_mem(struct vmctx *ctx, int snapfd, size_t memsz, const bool op_wr) if (highmem == 0) goto done; - ret = vm_snapshot_mem_part(snapfd, lowmem, baseaddr + 4*GB, - highmem, totalmem, op_wr); + ret = vm_snapshot_mem_part(snapfd, lowmem, + baseaddr + vm_get_highmem_base(ctx), highmem, totalmem, op_wr); if (ret) { fprintf(stderr, "%s: Could not %s highmem\r\n", __func__, op_wr ? "write" : "read"); From nobody Wed Apr 10 15:19:02 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61M3PTYz5HHSB; Wed, 10 Apr 2024 15:19:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VF61M1Cwrz4mkL; Wed, 10 Apr 2024 15:19:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sr1hbNBpGD/TjCVUAUJegqLdhxnjBGu7LXzYlsjTYoY=; b=sa5d9Y53oBGTHHr09XRw0c7ZRseNMS+RbkUr4g2LyDSgManatZavauhRszyR07I+X8PFft ynTeBmunlNkLp4culptXhnKU1sB9e1swCtjrOwJMuNhLnuLvqDw5yJKgg1lk2Fw/dsnsrW 11BOJFngIZBa63xyjn2YjhVxYpWy1eGsR9wNyZztRP45ah28PjCJ0lrS1EpFPTjzsRuJAf rFc35pjFXCqufrQRLzwSWxyOI3YChPCiW9GnCTUdUJkmBUBNfp9s0T0mQ9gOkHSkDs2bNd BQYaFWo1m95ITLcr98ZNDFImFLR8MAqTMY7OUihR3xdryf9w1BxTGcKHjVDmog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762343; a=rsa-sha256; cv=none; b=lKqP++zb9lkKCUwMHpCqBNl1afhvOdXCmBPI0SqnzTVAMudq1MNMSwZyFd1hz9y1N6XxuV GvwrxLip2NPYxG+Ug5/rz57u7p3Y819o14UwGeYjDtQ2d7IaQynJE3BeOmEG6c+dU85w2l p6OR4brJ1oqKilzhJwErwfCzlXGq7A5qcPKyJZSyG4rYoZqRi7O9V2hBYZOazTzyWPzUka m9fMLLzwQrj5ecU4TWW24nVLdeSZj6j7/Y466lZqWa/zzsth1/hx/WIJ0lCYKwpqpEuWpn HBvfZLfhbWz0q4voPn8amDyxESYeTi1sDTno1OsFy9vmgAVlkuLxERvfyHbw2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sr1hbNBpGD/TjCVUAUJegqLdhxnjBGu7LXzYlsjTYoY=; b=tKY1Un8cj0I29bQUTmsJVv/ymByhZ7tPp6l1xGlTmpgwrqHHm9PXmByC8s55tCPKOgFS/1 yRppM4RDaL+guaVMuJP1DJkH7GzHeaQGGqD/uxco4HEuMLCX7m9EN4cG/qbhFbk2OabF05 yFq3MZHNuNYe+28RGXmJAAnulcXoyxownsWIj9Uan6+wNRMsmjOH7SKqv+VrpB0yMfZWvK RsD5CJE3rpr9PKkIn7vnC+23jPLGk+Bw0kkUrxiChi/rMQ0yEZY0e08fG3GWumexoeDlHv +FVFODQ58peEEU2pw2dPEij/0j0zFn4XnTwxdpIo+mn3l1JeT+yzDXzDn3R3Zg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61M0mcbzjlk; Wed, 10 Apr 2024 15:19:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJ3o6092693; Wed, 10 Apr 2024 15:19:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJ2uY092690; Wed, 10 Apr 2024 15:19:02 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:02 GMT Message-Id: <202404101519.43AFJ2uY092690@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: 967264cfcd6d - main - libvmmapi: Add a subdirectory for amd64-specific 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: dev-commits-src-main+owner@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: 967264cfcd6d1a42dc0c9f9916320afe90f1faa4 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=967264cfcd6d1a42dc0c9f9916320afe90f1faa4 commit 967264cfcd6d1a42dc0c9f9916320afe90f1faa4 Author: Mark Johnston AuthorDate: 2024-04-03 16:52:00 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:55 +0000 libvmmapi: Add a subdirectory for amd64-specific code Move vmmapi_freebsd.c there. It contains x86-specific code used only by bhyveload(8). Move vcpu_reset() into vmmapi_machdep.c. It is also x86-specific. No functional change intended. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D40998 --- lib/libvmmapi/Makefile | 10 +- lib/libvmmapi/amd64/Makefile.inc | 2 + .../vmmapi_freebsd_machdep.c} | 0 lib/libvmmapi/amd64/vmmapi_machdep.c | 225 +++++++++++++++++++++ lib/libvmmapi/vmmapi.c | 195 +----------------- 5 files changed, 235 insertions(+), 197 deletions(-) diff --git a/lib/libvmmapi/Makefile b/lib/libvmmapi/Makefile index d871ffef9120..dc7d48183439 100644 --- a/lib/libvmmapi/Makefile +++ b/lib/libvmmapi/Makefile @@ -2,11 +2,15 @@ PACKAGE=lib${LIB} LIB= vmmapi SHLIB_MAJOR= 6 -SRCS= vmmapi.c vmmapi_freebsd.c +SRCS= vmmapi.c INCS= vmmapi.h -LIBADD= util - CFLAGS+= -I${.CURDIR} +.PATH: ${.CURDIR}/${MACHINE_CPUARCH} + +.include "${MACHINE_CPUARCH}/Makefile.inc" + +LIBADD= util + .include diff --git a/lib/libvmmapi/amd64/Makefile.inc b/lib/libvmmapi/amd64/Makefile.inc new file mode 100644 index 000000000000..e51b9f9c2bfa --- /dev/null +++ b/lib/libvmmapi/amd64/Makefile.inc @@ -0,0 +1,2 @@ +SRCS+= vmmapi_machdep.c \ + vmmapi_freebsd_machdep.c diff --git a/lib/libvmmapi/vmmapi_freebsd.c b/lib/libvmmapi/amd64/vmmapi_freebsd_machdep.c similarity index 100% rename from lib/libvmmapi/vmmapi_freebsd.c rename to lib/libvmmapi/amd64/vmmapi_freebsd_machdep.c diff --git a/lib/libvmmapi/amd64/vmmapi_machdep.c b/lib/libvmmapi/amd64/vmmapi_machdep.c new file mode 100644 index 000000000000..e0b592a29b35 --- /dev/null +++ b/lib/libvmmapi/amd64/vmmapi_machdep.c @@ -0,0 +1,225 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2011 NetApp, 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 NETAPP, INC ``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 NETAPP, INC 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 + +#include "vmmapi.h" +#include "internal.h" + +/* + * From Intel Vol 3a: + * Table 9-1. IA-32 Processor States Following Power-up, Reset or INIT + */ +int +vcpu_reset(struct vcpu *vcpu) +{ + int error; + uint64_t rflags, rip, cr0, cr4, zero, desc_base, rdx; + uint32_t desc_access, desc_limit; + uint16_t sel; + + zero = 0; + + rflags = 0x2; + error = vm_set_register(vcpu, VM_REG_GUEST_RFLAGS, rflags); + if (error) + goto done; + + rip = 0xfff0; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_RIP, rip)) != 0) + goto done; + + /* + * According to Intels Software Developer Manual CR0 should be + * initialized with CR0_ET | CR0_NW | CR0_CD but that crashes some + * guests like Windows. + */ + cr0 = CR0_NE; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR0, cr0)) != 0) + goto done; + + if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR2, zero)) != 0) + goto done; + + if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR3, zero)) != 0) + goto done; + + cr4 = 0; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR4, cr4)) != 0) + goto done; + + /* + * CS: present, r/w, accessed, 16-bit, byte granularity, usable + */ + desc_base = 0xffff0000; + desc_limit = 0xffff; + desc_access = 0x0093; + error = vm_set_desc(vcpu, VM_REG_GUEST_CS, + desc_base, desc_limit, desc_access); + if (error) + goto done; + + sel = 0xf000; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_CS, sel)) != 0) + goto done; + + /* + * SS,DS,ES,FS,GS: present, r/w, accessed, 16-bit, byte granularity + */ + desc_base = 0; + desc_limit = 0xffff; + desc_access = 0x0093; + error = vm_set_desc(vcpu, VM_REG_GUEST_SS, + desc_base, desc_limit, desc_access); + if (error) + goto done; + + error = vm_set_desc(vcpu, VM_REG_GUEST_DS, + desc_base, desc_limit, desc_access); + if (error) + goto done; + + error = vm_set_desc(vcpu, VM_REG_GUEST_ES, + desc_base, desc_limit, desc_access); + if (error) + goto done; + + error = vm_set_desc(vcpu, VM_REG_GUEST_FS, + desc_base, desc_limit, desc_access); + if (error) + goto done; + + error = vm_set_desc(vcpu, VM_REG_GUEST_GS, + desc_base, desc_limit, desc_access); + if (error) + goto done; + + sel = 0; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_SS, sel)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_DS, sel)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_ES, sel)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_FS, sel)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_GS, sel)) != 0) + goto done; + + if ((error = vm_set_register(vcpu, VM_REG_GUEST_EFER, zero)) != 0) + goto done; + + /* General purpose registers */ + rdx = 0xf00; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_RAX, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_RBX, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_RCX, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_RDX, rdx)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_RSI, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_RDI, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_RBP, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_RSP, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_R8, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_R9, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_R10, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_R11, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_R12, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_R13, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_R14, zero)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_R15, zero)) != 0) + goto done; + + /* GDTR, IDTR */ + desc_base = 0; + desc_limit = 0xffff; + desc_access = 0; + error = vm_set_desc(vcpu, VM_REG_GUEST_GDTR, + desc_base, desc_limit, desc_access); + if (error != 0) + goto done; + + error = vm_set_desc(vcpu, VM_REG_GUEST_IDTR, + desc_base, desc_limit, desc_access); + if (error != 0) + goto done; + + /* TR */ + desc_base = 0; + desc_limit = 0xffff; + desc_access = 0x0000008b; + error = vm_set_desc(vcpu, VM_REG_GUEST_TR, 0, 0, desc_access); + if (error) + goto done; + + sel = 0; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_TR, sel)) != 0) + goto done; + + /* LDTR */ + desc_base = 0; + desc_limit = 0xffff; + desc_access = 0x00000082; + error = vm_set_desc(vcpu, VM_REG_GUEST_LDTR, desc_base, + desc_limit, desc_access); + if (error) + goto done; + + sel = 0; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_LDTR, 0)) != 0) + goto done; + + if ((error = vm_set_register(vcpu, VM_REG_GUEST_DR6, + 0xffff0ff0)) != 0) + goto done; + if ((error = vm_set_register(vcpu, VM_REG_GUEST_DR7, 0x400)) != + 0) + goto done; + + if ((error = vm_set_register(vcpu, VM_REG_GUEST_INTR_SHADOW, + zero)) != 0) + goto done; + + error = 0; +done: + return (error); +} diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index 6527cfc48e0d..5f812bcc832b 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -30,8 +30,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -1163,199 +1163,6 @@ vm_set_x2apic_state(struct vcpu *vcpu, enum x2apic_state state) return (error); } -/* - * From Intel Vol 3a: - * Table 9-1. IA-32 Processor States Following Power-up, Reset or INIT - */ -int -vcpu_reset(struct vcpu *vcpu) -{ - int error; - uint64_t rflags, rip, cr0, cr4, zero, desc_base, rdx; - uint32_t desc_access, desc_limit; - uint16_t sel; - - zero = 0; - - rflags = 0x2; - error = vm_set_register(vcpu, VM_REG_GUEST_RFLAGS, rflags); - if (error) - goto done; - - rip = 0xfff0; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_RIP, rip)) != 0) - goto done; - - /* - * According to Intels Software Developer Manual CR0 should be - * initialized with CR0_ET | CR0_NW | CR0_CD but that crashes some - * guests like Windows. - */ - cr0 = CR0_NE; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR0, cr0)) != 0) - goto done; - - if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR2, zero)) != 0) - goto done; - - if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR3, zero)) != 0) - goto done; - - cr4 = 0; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR4, cr4)) != 0) - goto done; - - /* - * CS: present, r/w, accessed, 16-bit, byte granularity, usable - */ - desc_base = 0xffff0000; - desc_limit = 0xffff; - desc_access = 0x0093; - error = vm_set_desc(vcpu, VM_REG_GUEST_CS, - desc_base, desc_limit, desc_access); - if (error) - goto done; - - sel = 0xf000; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_CS, sel)) != 0) - goto done; - - /* - * SS,DS,ES,FS,GS: present, r/w, accessed, 16-bit, byte granularity - */ - desc_base = 0; - desc_limit = 0xffff; - desc_access = 0x0093; - error = vm_set_desc(vcpu, VM_REG_GUEST_SS, - desc_base, desc_limit, desc_access); - if (error) - goto done; - - error = vm_set_desc(vcpu, VM_REG_GUEST_DS, - desc_base, desc_limit, desc_access); - if (error) - goto done; - - error = vm_set_desc(vcpu, VM_REG_GUEST_ES, - desc_base, desc_limit, desc_access); - if (error) - goto done; - - error = vm_set_desc(vcpu, VM_REG_GUEST_FS, - desc_base, desc_limit, desc_access); - if (error) - goto done; - - error = vm_set_desc(vcpu, VM_REG_GUEST_GS, - desc_base, desc_limit, desc_access); - if (error) - goto done; - - sel = 0; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_SS, sel)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_DS, sel)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_ES, sel)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_FS, sel)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_GS, sel)) != 0) - goto done; - - if ((error = vm_set_register(vcpu, VM_REG_GUEST_EFER, zero)) != 0) - goto done; - - /* General purpose registers */ - rdx = 0xf00; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_RAX, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_RBX, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_RCX, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_RDX, rdx)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_RSI, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_RDI, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_RBP, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_RSP, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_R8, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_R9, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_R10, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_R11, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_R12, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_R13, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_R14, zero)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_R15, zero)) != 0) - goto done; - - /* GDTR, IDTR */ - desc_base = 0; - desc_limit = 0xffff; - desc_access = 0; - error = vm_set_desc(vcpu, VM_REG_GUEST_GDTR, - desc_base, desc_limit, desc_access); - if (error != 0) - goto done; - - error = vm_set_desc(vcpu, VM_REG_GUEST_IDTR, - desc_base, desc_limit, desc_access); - if (error != 0) - goto done; - - /* TR */ - desc_base = 0; - desc_limit = 0xffff; - desc_access = 0x0000008b; - error = vm_set_desc(vcpu, VM_REG_GUEST_TR, 0, 0, desc_access); - if (error) - goto done; - - sel = 0; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_TR, sel)) != 0) - goto done; - - /* LDTR */ - desc_base = 0; - desc_limit = 0xffff; - desc_access = 0x00000082; - error = vm_set_desc(vcpu, VM_REG_GUEST_LDTR, desc_base, - desc_limit, desc_access); - if (error) - goto done; - - sel = 0; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_LDTR, 0)) != 0) - goto done; - - if ((error = vm_set_register(vcpu, VM_REG_GUEST_DR6, - 0xffff0ff0)) != 0) - goto done; - if ((error = vm_set_register(vcpu, VM_REG_GUEST_DR7, 0x400)) != - 0) - goto done; - - if ((error = vm_set_register(vcpu, VM_REG_GUEST_INTR_SHADOW, - zero)) != 0) - goto done; - - error = 0; -done: - return (error); -} - int vm_get_gpa_pmap(struct vmctx *ctx, uint64_t gpa, uint64_t *pte, int *num) { From nobody Wed Apr 10 15:19:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61N55Qzz5HHK3; Wed, 10 Apr 2024 15:19:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VF61N2gC6z4mcC; Wed, 10 Apr 2024 15: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=1712762344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GwIYjPUEtKoGYAM/QS2DEbGKkkfR+v9iU8MrqZvqI6Y=; b=nGov2HipWfxFLt+L8AjskZIPwAjIxwGjyhko2R2z5kjQXummULuSiOLbDAg5z2QT7IijTu euVClMNbpB95cfX1XeyBgZ19BcgrVgMF8ezCaWonKjtQkXdAZArni9QqoYRGOoPXnH2huC RGQ0l/mLYyuUla3LqAYwys2i1JDucDeLcMxt78NBuHIJRLOy/ZuU2pK+ajuzuk6mihgAml R5B0znPXEhN6b6F3WGgGLLL5JBId8EZxvHYGGt/xLDmvvpIesgCQOlifXoJIyEhCMTLTHX h2ragvnpGOUAWczl1GB82V3utqp5cCeNT4cwMgRm0ndJvwkegp1mMyxV9sqaVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762344; a=rsa-sha256; cv=none; b=nSTPCc8AvDitEgP6El3/Z4MzkyVesy0HPGefB341qUxGVDvojUw+NamCq/cIk9jjcurOfh c9ipbnAP9xmGsjjcd5O9cnWSG12ZialU7H7BD8w8jsWh/UJtZOlytkOPoo7z3wRKWSmqzJ XjKGpOMYfHHTCTS4zWTPoBQ9oV9DDrBafe4qbQh+1t7Y9D+yYS56ehnthF3O97+tCOUxBR 30s3ZfuFVwShwRVlWkp+LOH2jXdrdIm+J//8dagUKltDkhEuMak5M56l/SJ9KkPccAun4o 8HLIQIghSqN+98vk0ivPh65Atd0e7XV5xn5L3XUWUhB8X71LzIif4KTrNqMryw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GwIYjPUEtKoGYAM/QS2DEbGKkkfR+v9iU8MrqZvqI6Y=; b=Tq9DE6/Twh3dxJ5WLTlokAWUbmpKa41/mIVGvgV3IuDnD2Bglw2mCEkAFeja9nRR7oAOf/ 08bcvDlKpPWF72BEsuEVUcgWgJb2SM6VZ03OY/sFCz/bOp/A+T2sjzVHjLtiHEExO+kUxl Q9BBep5JYBRyqAkOcvBIGJdggpgGx60OsnPUdxzJ/FZYFHSwjp2CgjsCBHhptrlJhYOEFr 9QNWupqLqpkGuhJgepNiDCO2E0zyJ2qJ4/XLzpylrjmh/jepFTMVWPZuVf4+8/qHkeF1oO N5O0iY3yvingY4T5VPvSW/CcGpdE1Ro0BSn2rDY0IMhgHOb0/pDIJAoFUosUwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61N1nRYzj7G; Wed, 10 Apr 2024 15:19:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJ4PX092742; Wed, 10 Apr 2024 15:19:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJ4xJ092739; Wed, 10 Apr 2024 15:19:04 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:04 GMT Message-Id: <202404101519.43AFJ4xJ092739@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: e4656e10d131 - main - libvmmapi: Move some ioctl wrappers to vmmapi_machdep.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: dev-commits-src-main+owner@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: e4656e10d13190d3149e3bb60e01c50f1c210885 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e4656e10d13190d3149e3bb60e01c50f1c210885 commit e4656e10d13190d3149e3bb60e01c50f1c210885 Author: Mark Johnston AuthorDate: 2024-04-03 16:52:25 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:55 +0000 libvmmapi: Move some ioctl wrappers to vmmapi_machdep.c ioctls relating to segments and various x86-specific interrupt controllers are easy candidates to move to vmmapi_machdep.c. In vmmapi.h I'm just ifdefing MD prototypes for now. We could instead split vmmapi.h into multiple headers, e.g., vmmapi.h and vmmapi_machdep.h, but it's not obvious to me yet that that's the right approach. No functional change intended. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D40999 --- lib/libvmmapi/amd64/vmmapi_machdep.c | 195 +++++++++++++++++++++++++++++++++ lib/libvmmapi/internal.h | 12 ++- lib/libvmmapi/vmmapi.c | 201 +---------------------------------- lib/libvmmapi/vmmapi.h | 8 +- 4 files changed, 213 insertions(+), 203 deletions(-) diff --git a/lib/libvmmapi/amd64/vmmapi_machdep.c b/lib/libvmmapi/amd64/vmmapi_machdep.c index e0b592a29b35..5ed198d7b76a 100644 --- a/lib/libvmmapi/amd64/vmmapi_machdep.c +++ b/lib/libvmmapi/amd64/vmmapi_machdep.c @@ -26,11 +26,206 @@ * SUCH DAMAGE. */ +#include +#include + #include +#include + +#include #include "vmmapi.h" #include "internal.h" +int +vm_set_desc(struct vcpu *vcpu, int reg, + uint64_t base, uint32_t limit, uint32_t access) +{ + int error; + struct vm_seg_desc vmsegdesc; + + bzero(&vmsegdesc, sizeof(vmsegdesc)); + vmsegdesc.regnum = reg; + vmsegdesc.desc.base = base; + vmsegdesc.desc.limit = limit; + vmsegdesc.desc.access = access; + + error = vcpu_ioctl(vcpu, VM_SET_SEGMENT_DESCRIPTOR, &vmsegdesc); + return (error); +} + +int +vm_get_desc(struct vcpu *vcpu, int reg, uint64_t *base, uint32_t *limit, + uint32_t *access) +{ + int error; + struct vm_seg_desc vmsegdesc; + + bzero(&vmsegdesc, sizeof(vmsegdesc)); + vmsegdesc.regnum = reg; + + error = vcpu_ioctl(vcpu, VM_GET_SEGMENT_DESCRIPTOR, &vmsegdesc); + if (error == 0) { + *base = vmsegdesc.desc.base; + *limit = vmsegdesc.desc.limit; + *access = vmsegdesc.desc.access; + } + return (error); +} + +int +vm_get_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *seg_desc) +{ + int error; + + error = vm_get_desc(vcpu, reg, &seg_desc->base, &seg_desc->limit, + &seg_desc->access); + return (error); +} + +int +vm_lapic_irq(struct vcpu *vcpu, int vector) +{ + struct vm_lapic_irq vmirq; + + bzero(&vmirq, sizeof(vmirq)); + vmirq.vector = vector; + + return (vcpu_ioctl(vcpu, VM_LAPIC_IRQ, &vmirq)); +} + +int +vm_lapic_local_irq(struct vcpu *vcpu, int vector) +{ + struct vm_lapic_irq vmirq; + + bzero(&vmirq, sizeof(vmirq)); + vmirq.vector = vector; + + return (vcpu_ioctl(vcpu, VM_LAPIC_LOCAL_IRQ, &vmirq)); +} + +int +vm_lapic_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg) +{ + struct vm_lapic_msi vmmsi; + + bzero(&vmmsi, sizeof(vmmsi)); + vmmsi.addr = addr; + vmmsi.msg = msg; + + return (ioctl(ctx->fd, VM_LAPIC_MSI, &vmmsi)); +} + +int +vm_apicid2vcpu(struct vmctx *ctx __unused, int apicid) +{ + /* + * The apic id associated with the 'vcpu' has the same numerical value + * as the 'vcpu' itself. + */ + return (apicid); +} + +int +vm_ioapic_assert_irq(struct vmctx *ctx, int irq) +{ + struct vm_ioapic_irq ioapic_irq; + + bzero(&ioapic_irq, sizeof(struct vm_ioapic_irq)); + ioapic_irq.irq = irq; + + return (ioctl(ctx->fd, VM_IOAPIC_ASSERT_IRQ, &ioapic_irq)); +} + +int +vm_ioapic_deassert_irq(struct vmctx *ctx, int irq) +{ + struct vm_ioapic_irq ioapic_irq; + + bzero(&ioapic_irq, sizeof(struct vm_ioapic_irq)); + ioapic_irq.irq = irq; + + return (ioctl(ctx->fd, VM_IOAPIC_DEASSERT_IRQ, &ioapic_irq)); +} + +int +vm_ioapic_pulse_irq(struct vmctx *ctx, int irq) +{ + struct vm_ioapic_irq ioapic_irq; + + bzero(&ioapic_irq, sizeof(struct vm_ioapic_irq)); + ioapic_irq.irq = irq; + + return (ioctl(ctx->fd, VM_IOAPIC_PULSE_IRQ, &ioapic_irq)); +} + +int +vm_ioapic_pincount(struct vmctx *ctx, int *pincount) +{ + + return (ioctl(ctx->fd, VM_IOAPIC_PINCOUNT, pincount)); +} + +int +vm_isa_assert_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq) +{ + struct vm_isa_irq isa_irq; + + bzero(&isa_irq, sizeof(struct vm_isa_irq)); + isa_irq.atpic_irq = atpic_irq; + isa_irq.ioapic_irq = ioapic_irq; + + return (ioctl(ctx->fd, VM_ISA_ASSERT_IRQ, &isa_irq)); +} + +int +vm_isa_deassert_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq) +{ + struct vm_isa_irq isa_irq; + + bzero(&isa_irq, sizeof(struct vm_isa_irq)); + isa_irq.atpic_irq = atpic_irq; + isa_irq.ioapic_irq = ioapic_irq; + + return (ioctl(ctx->fd, VM_ISA_DEASSERT_IRQ, &isa_irq)); +} + +int +vm_isa_pulse_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq) +{ + struct vm_isa_irq isa_irq; + + bzero(&isa_irq, sizeof(struct vm_isa_irq)); + isa_irq.atpic_irq = atpic_irq; + isa_irq.ioapic_irq = ioapic_irq; + + return (ioctl(ctx->fd, VM_ISA_PULSE_IRQ, &isa_irq)); +} + +int +vm_isa_set_irq_trigger(struct vmctx *ctx, int atpic_irq, + enum vm_intr_trigger trigger) +{ + struct vm_isa_irq_trigger isa_irq_trigger; + + bzero(&isa_irq_trigger, sizeof(struct vm_isa_irq_trigger)); + isa_irq_trigger.atpic_irq = atpic_irq; + isa_irq_trigger.trigger = trigger; + + return (ioctl(ctx->fd, VM_ISA_SET_IRQ_TRIGGER, &isa_irq_trigger)); +} + +int +vm_inject_nmi(struct vcpu *vcpu) +{ + struct vm_nmi vmnmi; + + bzero(&vmnmi, sizeof(vmnmi)); + + return (vcpu_ioctl(vcpu, VM_INJECT_NMI, &vmnmi)); +} + /* * From Intel Vol 3a: * Table 9-1. IA-32 Processor States Following Power-up, Reset or INIT diff --git a/lib/libvmmapi/internal.h b/lib/libvmmapi/internal.h index 142026e76345..e312e21958ca 100644 --- a/lib/libvmmapi/internal.h +++ b/lib/libvmmapi/internal.h @@ -7,11 +7,21 @@ #ifndef __VMMAPI_INTERNAL_H__ #define __VMMAPI_INTERNAL_H__ -struct vmctx; +struct vmctx { + int fd; + uint32_t lowmem_limit; + int memflags; + size_t lowmem; + size_t highmem; + char *baseaddr; + char *name; +}; struct vcpu { struct vmctx *ctx; int vcpuid; }; +int vcpu_ioctl(struct vcpu *vcpu, u_long cmd, void *arg); + #endif /* !__VMMAPI_INTERNAL_H__ */ diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index 5f812bcc832b..2401f7cd2428 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -69,16 +69,6 @@ #define PROT_RW (PROT_READ | PROT_WRITE) #define PROT_ALL (PROT_READ | PROT_WRITE | PROT_EXEC) -struct vmctx { - int fd; - uint32_t lowmem_limit; - int memflags; - size_t lowmem; - size_t highmem; - char *baseaddr; - char *name; -}; - #define CREATE(x) sysctlbyname("hw.vmm.create", NULL, NULL, (x), strlen((x))) #define DESTROY(x) sysctlbyname("hw.vmm.destroy", NULL, NULL, (x), strlen((x))) @@ -594,7 +584,7 @@ done: return (ptr); } -static int +int vcpu_ioctl(struct vcpu *vcpu, u_long cmd, void *arg) { /* @@ -606,52 +596,6 @@ vcpu_ioctl(struct vcpu *vcpu, u_long cmd, void *arg) return (ioctl(vcpu->ctx->fd, cmd, arg)); } -int -vm_set_desc(struct vcpu *vcpu, int reg, - uint64_t base, uint32_t limit, uint32_t access) -{ - int error; - struct vm_seg_desc vmsegdesc; - - bzero(&vmsegdesc, sizeof(vmsegdesc)); - vmsegdesc.regnum = reg; - vmsegdesc.desc.base = base; - vmsegdesc.desc.limit = limit; - vmsegdesc.desc.access = access; - - error = vcpu_ioctl(vcpu, VM_SET_SEGMENT_DESCRIPTOR, &vmsegdesc); - return (error); -} - -int -vm_get_desc(struct vcpu *vcpu, int reg, uint64_t *base, uint32_t *limit, - uint32_t *access) -{ - int error; - struct vm_seg_desc vmsegdesc; - - bzero(&vmsegdesc, sizeof(vmsegdesc)); - vmsegdesc.regnum = reg; - - error = vcpu_ioctl(vcpu, VM_GET_SEGMENT_DESCRIPTOR, &vmsegdesc); - if (error == 0) { - *base = vmsegdesc.desc.base; - *limit = vmsegdesc.desc.limit; - *access = vmsegdesc.desc.access; - } - return (error); -} - -int -vm_get_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *seg_desc) -{ - int error; - - error = vm_get_desc(vcpu, reg, &seg_desc->base, &seg_desc->limit, - &seg_desc->access); - return (error); -} - int vm_set_register(struct vcpu *vcpu, int reg, uint64_t val) { @@ -749,90 +693,6 @@ vm_inject_exception(struct vcpu *vcpu, int vector, int errcode_valid, return (vcpu_ioctl(vcpu, VM_INJECT_EXCEPTION, &exc)); } -int -vm_apicid2vcpu(struct vmctx *ctx __unused, int apicid) -{ - /* - * The apic id associated with the 'vcpu' has the same numerical value - * as the 'vcpu' itself. - */ - return (apicid); -} - -int -vm_lapic_irq(struct vcpu *vcpu, int vector) -{ - struct vm_lapic_irq vmirq; - - bzero(&vmirq, sizeof(vmirq)); - vmirq.vector = vector; - - return (vcpu_ioctl(vcpu, VM_LAPIC_IRQ, &vmirq)); -} - -int -vm_lapic_local_irq(struct vcpu *vcpu, int vector) -{ - struct vm_lapic_irq vmirq; - - bzero(&vmirq, sizeof(vmirq)); - vmirq.vector = vector; - - return (vcpu_ioctl(vcpu, VM_LAPIC_LOCAL_IRQ, &vmirq)); -} - -int -vm_lapic_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg) -{ - struct vm_lapic_msi vmmsi; - - bzero(&vmmsi, sizeof(vmmsi)); - vmmsi.addr = addr; - vmmsi.msg = msg; - - return (ioctl(ctx->fd, VM_LAPIC_MSI, &vmmsi)); -} - -int -vm_ioapic_assert_irq(struct vmctx *ctx, int irq) -{ - struct vm_ioapic_irq ioapic_irq; - - bzero(&ioapic_irq, sizeof(struct vm_ioapic_irq)); - ioapic_irq.irq = irq; - - return (ioctl(ctx->fd, VM_IOAPIC_ASSERT_IRQ, &ioapic_irq)); -} - -int -vm_ioapic_deassert_irq(struct vmctx *ctx, int irq) -{ - struct vm_ioapic_irq ioapic_irq; - - bzero(&ioapic_irq, sizeof(struct vm_ioapic_irq)); - ioapic_irq.irq = irq; - - return (ioctl(ctx->fd, VM_IOAPIC_DEASSERT_IRQ, &ioapic_irq)); -} - -int -vm_ioapic_pulse_irq(struct vmctx *ctx, int irq) -{ - struct vm_ioapic_irq ioapic_irq; - - bzero(&ioapic_irq, sizeof(struct vm_ioapic_irq)); - ioapic_irq.irq = irq; - - return (ioctl(ctx->fd, VM_IOAPIC_PULSE_IRQ, &ioapic_irq)); -} - -int -vm_ioapic_pincount(struct vmctx *ctx, int *pincount) -{ - - return (ioctl(ctx->fd, VM_IOAPIC_PINCOUNT, pincount)); -} - int vm_readwrite_kernemu_device(struct vcpu *vcpu, vm_paddr_t gpa, bool write, int size, uint64_t *value) @@ -851,65 +711,6 @@ vm_readwrite_kernemu_device(struct vcpu *vcpu, vm_paddr_t gpa, return (rc); } -int -vm_isa_assert_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq) -{ - struct vm_isa_irq isa_irq; - - bzero(&isa_irq, sizeof(struct vm_isa_irq)); - isa_irq.atpic_irq = atpic_irq; - isa_irq.ioapic_irq = ioapic_irq; - - return (ioctl(ctx->fd, VM_ISA_ASSERT_IRQ, &isa_irq)); -} - -int -vm_isa_deassert_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq) -{ - struct vm_isa_irq isa_irq; - - bzero(&isa_irq, sizeof(struct vm_isa_irq)); - isa_irq.atpic_irq = atpic_irq; - isa_irq.ioapic_irq = ioapic_irq; - - return (ioctl(ctx->fd, VM_ISA_DEASSERT_IRQ, &isa_irq)); -} - -int -vm_isa_pulse_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq) -{ - struct vm_isa_irq isa_irq; - - bzero(&isa_irq, sizeof(struct vm_isa_irq)); - isa_irq.atpic_irq = atpic_irq; - isa_irq.ioapic_irq = ioapic_irq; - - return (ioctl(ctx->fd, VM_ISA_PULSE_IRQ, &isa_irq)); -} - -int -vm_isa_set_irq_trigger(struct vmctx *ctx, int atpic_irq, - enum vm_intr_trigger trigger) -{ - struct vm_isa_irq_trigger isa_irq_trigger; - - bzero(&isa_irq_trigger, sizeof(struct vm_isa_irq_trigger)); - isa_irq_trigger.atpic_irq = atpic_irq; - isa_irq_trigger.trigger = trigger; - - return (ioctl(ctx->fd, VM_ISA_SET_IRQ_TRIGGER, &isa_irq_trigger)); -} - -int -vm_inject_nmi(struct vcpu *vcpu) -{ - struct vm_nmi vmnmi; - - bzero(&vmnmi, sizeof(vmnmi)); - - return (vcpu_ioctl(vcpu, VM_INJECT_NMI, &vmnmi)); -} - static const char *capstrmap[] = { [VM_CAP_HALT_EXIT] = "hlt_exit", [VM_CAP_MTRAP_EXIT] = "mtrap_exit", diff --git a/lib/libvmmapi/vmmapi.h b/lib/libvmmapi/vmmapi.h index 8c96bbcb1131..c38e1fca810a 100644 --- a/lib/libvmmapi/vmmapi.h +++ b/lib/libvmmapi/vmmapi.h @@ -141,11 +141,13 @@ int vm_get_memflags(struct vmctx *ctx); const char *vm_get_name(struct vmctx *ctx); size_t vm_get_lowmem_size(struct vmctx *ctx); size_t vm_get_highmem_size(struct vmctx *ctx); +#ifdef __amd64__ int vm_set_desc(struct vcpu *vcpu, int reg, uint64_t base, uint32_t limit, uint32_t access); int vm_get_desc(struct vcpu *vcpu, int reg, uint64_t *base, uint32_t *limit, uint32_t *access); int vm_get_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *seg_desc); +#endif int vm_set_register(struct vcpu *vcpu, int reg, uint64_t val); int vm_get_register(struct vcpu *vcpu, int reg, uint64_t *retval); int vm_set_register_set(struct vcpu *vcpu, unsigned int count, @@ -158,6 +160,7 @@ int vm_reinit(struct vmctx *ctx); int vm_apicid2vcpu(struct vmctx *ctx, int apicid); int vm_inject_exception(struct vcpu *vcpu, int vector, int errcode_valid, uint32_t errcode, int restart_instruction); +#ifdef __amd64__ int vm_lapic_irq(struct vcpu *vcpu, int vector); int vm_lapic_local_irq(struct vcpu *vcpu, int vector); int vm_lapic_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg); @@ -165,14 +168,15 @@ int vm_ioapic_assert_irq(struct vmctx *ctx, int irq); int vm_ioapic_deassert_irq(struct vmctx *ctx, int irq); int vm_ioapic_pulse_irq(struct vmctx *ctx, int irq); int vm_ioapic_pincount(struct vmctx *ctx, int *pincount); -int vm_readwrite_kernemu_device(struct vcpu *vcpu, - vm_paddr_t gpa, bool write, int size, uint64_t *value); int vm_isa_assert_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq); int vm_isa_deassert_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq); int vm_isa_pulse_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq); int vm_isa_set_irq_trigger(struct vmctx *ctx, int atpic_irq, enum vm_intr_trigger trigger); int vm_inject_nmi(struct vcpu *vcpu); +#endif +int vm_readwrite_kernemu_device(struct vcpu *vcpu, + vm_paddr_t gpa, bool write, int size, uint64_t *value); int vm_capability_name2type(const char *capname); const char *vm_capability_type2name(int type); int vm_get_capability(struct vcpu *vcpu, enum vm_cap_type cap, From nobody Wed Apr 10 15:19:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61P5pJKz5HHQM; Wed, 10 Apr 2024 15: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 4VF61P3g02z4mxy; Wed, 10 Apr 2024 15:19:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I8HNd+uT1swtsq2InmvFo6cp95d7fDvMoPY+0Mfuh1w=; b=xVN7KonBUHJAh9LDuNHyBPxbepFcGe4vmBwP3E8GkPRiDJIQtLnI+hvMTzCBhTb/psWdBt dtLcsnfqWb48bo5Cyy9r7oHaCgSfJepLM/cWXoYRPYoj2MoLBHbcLiCOnTquIrn91osMYq mf8+2ukX5IbBPUwjftWerRkdT+JBq7f+xbPt55KkJqBkhgqtp9Ok216Mc2vq1syI/LAqPH HpYDFBb4rJQKs7Pqy3W2Uw1RzVnaHy4Rgv31NHI+W5p7yRnvLqpPixY5J3LN/3KdRIQ1qd sy/vZKQQEPlw9C/GhWu7Na8tIwU3HRjRVISzWTpaxJ7cMPI4J7lE21TmoLBYpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762345; a=rsa-sha256; cv=none; b=hK5W+Gt5WpxKXZ1czjU1/CaANDeeKKVLNvFwCY5ar45GflsHnwqT9nTL7K5EHzaxURZux0 5dlSRyOdjyoFfmf446nsu+4bW1/TER5yVxl4CWOiSkvWggjtAOmNPqhfUFzGGwaSyDjF0g JykwX4zP3oxDucovGhzCI1fcns1WfA6OG2gNNvoOCd7Vwn8fO/nA/+epPTK95dVmXebZV3 +AfOKzekZ6QZcerLEd+hMi/TupaCyV8KlsiWBYg2fPTndCap05diHTyNsGt1nxq5H31kBC icF0RaLYlQnq9O7S949xCNF6/Quciom9YqOap2cmHCo0A88+Ld3DJ5VubDVsyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I8HNd+uT1swtsq2InmvFo6cp95d7fDvMoPY+0Mfuh1w=; b=jzDwuaST978h6lDyf1D7BFSpJtbmP6k5RohzqMlJS2RomptQDYUUP5eI0gdhiSEXHgWiXf CxJ7GynRXOAokxFCiOZuwLWHtN4qfk05/DCBSbP4WCSV8ohjT6+r48TjsUtKG1tIezpMIH X7AnmoeIGbfDHuH6nPIlXoM3C8cffCMXkTDAXTRiHLy5GcSMGeAiqs/EfIiDsO5C+Mf2Wb VEe6F2SMqUu8CLYvx3of80xDMoT5HtV9NVktZgLFirq//aRxaiutLNGAdmCMF2Zvm68uFj icAD3jgvhcdtI9t2Yg0jQ1kWGkHy+aZxNAKAFWex62DNttUjlvhBwXlgd7ttVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61P2nyhzjSH; Wed, 10 Apr 2024 15:19:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJ54L092790; Wed, 10 Apr 2024 15:19:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJ5xP092787; Wed, 10 Apr 2024 15:19:05 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:05 GMT Message-Id: <202404101519.43AFJ5xP092787@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: 85efb31d50af - main - libvmmapi: Move VM capability names to vmmapi_machdep.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: dev-commits-src-main+owner@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: 85efb31d50af3cf6987d74f4abe9c54ae493f3a6 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=85efb31d50af3cf6987d74f4abe9c54ae493f3a6 commit 85efb31d50af3cf6987d74f4abe9c54ae493f3a6 Author: Mark Johnston AuthorDate: 2024-04-03 16:55:36 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:55 +0000 libvmmapi: Move VM capability names to vmmapi_machdep.c Add some missing entries while here. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41000 --- lib/libvmmapi/amd64/vmmapi_machdep.c | 15 +++++++++++++++ lib/libvmmapi/internal.h | 2 ++ lib/libvmmapi/vmmapi.c | 23 +++++------------------ 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/lib/libvmmapi/amd64/vmmapi_machdep.c b/lib/libvmmapi/amd64/vmmapi_machdep.c index 5ed198d7b76a..c19e9c6f935f 100644 --- a/lib/libvmmapi/amd64/vmmapi_machdep.c +++ b/lib/libvmmapi/amd64/vmmapi_machdep.c @@ -37,6 +37,21 @@ #include "vmmapi.h" #include "internal.h" +const char *vm_capstrmap[] = { + [VM_CAP_HALT_EXIT] = "hlt_exit", + [VM_CAP_MTRAP_EXIT] = "mtrap_exit", + [VM_CAP_PAUSE_EXIT] = "pause_exit", + [VM_CAP_UNRESTRICTED_GUEST] = "unrestricted_guest", + [VM_CAP_ENABLE_INVPCID] = "enable_invpcid", + [VM_CAP_BPT_EXIT] = "bpt_exit", + [VM_CAP_RDPID] = "rdpid", + [VM_CAP_RDTSCP] = "rdtscp", + [VM_CAP_IPI_EXIT] = "ipi_exit", + [VM_CAP_MASK_HWINTR] = "mask_hwintr", + [VM_CAP_RFLAGS_TF] = "rflags_tf", + [VM_CAP_MAX] = NULL, +}; + int vm_set_desc(struct vcpu *vcpu, int reg, uint64_t base, uint32_t limit, uint32_t access) diff --git a/lib/libvmmapi/internal.h b/lib/libvmmapi/internal.h index e312e21958ca..973a70afe022 100644 --- a/lib/libvmmapi/internal.h +++ b/lib/libvmmapi/internal.h @@ -24,4 +24,6 @@ struct vcpu { int vcpu_ioctl(struct vcpu *vcpu, u_long cmd, void *arg); +extern const char *vm_capstrmap[]; + #endif /* !__VMMAPI_INTERNAL_H__ */ diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index 2401f7cd2428..cc765deb904c 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -711,27 +711,14 @@ vm_readwrite_kernemu_device(struct vcpu *vcpu, vm_paddr_t gpa, return (rc); } -static const char *capstrmap[] = { - [VM_CAP_HALT_EXIT] = "hlt_exit", - [VM_CAP_MTRAP_EXIT] = "mtrap_exit", - [VM_CAP_PAUSE_EXIT] = "pause_exit", - [VM_CAP_UNRESTRICTED_GUEST] = "unrestricted_guest", - [VM_CAP_ENABLE_INVPCID] = "enable_invpcid", - [VM_CAP_BPT_EXIT] = "bpt_exit", - [VM_CAP_RDPID] = "rdpid", - [VM_CAP_RDTSCP] = "rdtscp", - [VM_CAP_IPI_EXIT] = "ipi_exit", - [VM_CAP_MASK_HWINTR] = "mask_hwintr", - [VM_CAP_RFLAGS_TF] = "rflags_tf", -}; - int vm_capability_name2type(const char *capname) { int i; - for (i = 0; i < (int)nitems(capstrmap); i++) { - if (strcmp(capstrmap[i], capname) == 0) + for (i = 0; i < VM_CAP_MAX; i++) { + if (vm_capstrmap[i] != NULL && + strcmp(vm_capstrmap[i], capname) == 0) return (i); } @@ -741,8 +728,8 @@ vm_capability_name2type(const char *capname) const char * vm_capability_type2name(int type) { - if (type >= 0 && type < (int)nitems(capstrmap)) - return (capstrmap[type]); + if (type >= 0 && type < VM_CAP_MAX) + return (vm_capstrmap[type]); return (NULL); } From nobody Wed Apr 10 15:19:07 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61R6r4Xz5HHVg; Wed, 10 Apr 2024 15:19:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VF61R5JDTz4mnY; Wed, 10 Apr 2024 15:19:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mJng3TV8nrRdYW8KaP7qMLcP2FcvdSazGhoY60kR+LM=; b=MSFVT9w3M42hdplDJazE4JGL1QTrcbXHzmnzb5kP77cY+oR4mhbHu5+2LdlY2MG2NjDUJS eqaV1G7aJKzgZcHDHuFbn++iScrFBR17FMpd3pE3ZzOdHsZmdzz11BvODPzAtwwqIG2bcF 1GZtCZZHd12YmngHha4dr7SpKT/6feHeAJrmNb0JIADDzkScqxdO1F7wKDfr+fqubIN8er niQeZw/6QNMKo4fFdGeh1ecVzcLrK6/otWkNZ/ULG2vE2iJ4IM/OWEurdSisfpILSWE2Bq uh84q6kC4hmS9cNDMLw7/B/53RD5i44Vt/9dIvxwdEiFlhuySrBtdxrh0HJbRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762347; a=rsa-sha256; cv=none; b=A8nQjrgBaAIOpII/S0V7R8CXpO8pmjAFsoHc0ePBBkMYo+z7MrU2I7Jza59cq6shUsM+EI ZNMUheuiRmLSNB5zH+EW7b+oucvBGBsdESvMVKMsao+ZldvZ0OX8PzctAssygTaxNSY+uC S2ijsFPGsC5BbWh9tcqASSzuB23yRDY+JxB4t+A1QnRBrtUmxtd1kEA370yCh6e5OHKyN5 aY1G5o6jOZ74eANZph9/LdBNxIFVS5//O44WhA0gUlZRsQzEJQoHeGUFkYS3Sr0gDqSgPI 8S24aV7vAetldaCcUPlLIDJmq6yzmIhyyVMTq+89zf1SMa1GpSohevdrNzQwZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mJng3TV8nrRdYW8KaP7qMLcP2FcvdSazGhoY60kR+LM=; b=nV3kxXsIPlRM+eru/kj2MmQm3k/vqNVTc3HQbg8lATSWmCnd1AQoSD7LzxWdKoOY411hVw DqCejutRcPLFbQwfOXuPKl+ShZ3j++7lHGxZwZU8nr4d5Wx1zqTIZcwo8iQNV6XsC3PXb3 SwaqnIYpSIfd7rrT739gx9lf27MZ5JDVBwDl4KBH1XT2mNimg5lhs11i802V8L+i9l5PPB HGreXDF23XyW8strqy3gkHMS10hLd30R/tQVp2O1GBdae4NLc+VmOf8Aj3qwteE0YU9tA4 PR7XgbAEfna0n1ZhlJS/LAvyd61D/TD6g30+KcgS6DuG5v0lQT3dyq2v3GYkFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61R4vzszjw9; Wed, 10 Apr 2024 15:19:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJ7iS092904; Wed, 10 Apr 2024 15:19:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJ7p3092901; Wed, 10 Apr 2024 15:19:07 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:07 GMT Message-Id: <202404101519.43AFJ7p3092901@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: 3170dcaea96d - main - libvmmapi: Move more amd64-specific ioctl wrappers to vmmapi_machdep.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: dev-commits-src-main+owner@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: 3170dcaea96debdd383d974f2b1582d2eb126f50 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3170dcaea96debdd383d974f2b1582d2eb126f50 commit 3170dcaea96debdd383d974f2b1582d2eb126f50 Author: Mark Johnston AuthorDate: 2024-04-03 16:56:11 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 libvmmapi: Move more amd64-specific ioctl wrappers to vmmapi_machdep.c No functional change intended. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41002 --- lib/libvmmapi/amd64/vmmapi_machdep.c | 124 +++++++++++++++++++++++++++++++++++ lib/libvmmapi/vmmapi.c | 124 ----------------------------------- lib/libvmmapi/vmmapi.h | 8 ++- 3 files changed, 130 insertions(+), 126 deletions(-) diff --git a/lib/libvmmapi/amd64/vmmapi_machdep.c b/lib/libvmmapi/amd64/vmmapi_machdep.c index 2b50b2b1f3b7..49844be8a574 100644 --- a/lib/libvmmapi/amd64/vmmapi_machdep.c +++ b/lib/libvmmapi/amd64/vmmapi_machdep.c @@ -275,6 +275,130 @@ vm_inject_nmi(struct vcpu *vcpu) return (vcpu_ioctl(vcpu, VM_INJECT_NMI, &vmnmi)); } +int +vm_inject_exception(struct vcpu *vcpu, int vector, int errcode_valid, + uint32_t errcode, int restart_instruction) +{ + struct vm_exception exc; + + exc.vector = vector; + exc.error_code = errcode; + exc.error_code_valid = errcode_valid; + exc.restart_instruction = restart_instruction; + + return (vcpu_ioctl(vcpu, VM_INJECT_EXCEPTION, &exc)); +} + +int +vm_readwrite_kernemu_device(struct vcpu *vcpu, vm_paddr_t gpa, + bool write, int size, uint64_t *value) +{ + struct vm_readwrite_kernemu_device irp = { + .access_width = fls(size) - 1, + .gpa = gpa, + .value = write ? *value : ~0ul, + }; + long cmd = (write ? VM_SET_KERNEMU_DEV : VM_GET_KERNEMU_DEV); + int rc; + + rc = vcpu_ioctl(vcpu, cmd, &irp); + if (rc == 0 && !write) + *value = irp.value; + return (rc); +} + +int +vm_get_x2apic_state(struct vcpu *vcpu, enum x2apic_state *state) +{ + int error; + struct vm_x2apic x2apic; + + bzero(&x2apic, sizeof(x2apic)); + + error = vcpu_ioctl(vcpu, VM_GET_X2APIC_STATE, &x2apic); + *state = x2apic.state; + return (error); +} + +int +vm_set_x2apic_state(struct vcpu *vcpu, enum x2apic_state state) +{ + int error; + struct vm_x2apic x2apic; + + bzero(&x2apic, sizeof(x2apic)); + x2apic.state = state; + + error = vcpu_ioctl(vcpu, VM_SET_X2APIC_STATE, &x2apic); + + return (error); +} + +int +vm_get_hpet_capabilities(struct vmctx *ctx, uint32_t *capabilities) +{ + int error; + struct vm_hpet_cap cap; + + bzero(&cap, sizeof(struct vm_hpet_cap)); + error = ioctl(ctx->fd, VM_GET_HPET_CAPABILITIES, &cap); + if (capabilities != NULL) + *capabilities = cap.capabilities; + return (error); +} + +int +vm_rtc_write(struct vmctx *ctx, int offset, uint8_t value) +{ + struct vm_rtc_data rtcdata; + int error; + + bzero(&rtcdata, sizeof(struct vm_rtc_data)); + rtcdata.offset = offset; + rtcdata.value = value; + error = ioctl(ctx->fd, VM_RTC_WRITE, &rtcdata); + return (error); +} + +int +vm_rtc_read(struct vmctx *ctx, int offset, uint8_t *retval) +{ + struct vm_rtc_data rtcdata; + int error; + + bzero(&rtcdata, sizeof(struct vm_rtc_data)); + rtcdata.offset = offset; + error = ioctl(ctx->fd, VM_RTC_READ, &rtcdata); + if (error == 0) + *retval = rtcdata.value; + return (error); +} + +int +vm_rtc_settime(struct vmctx *ctx, time_t secs) +{ + struct vm_rtc_time rtctime; + int error; + + bzero(&rtctime, sizeof(struct vm_rtc_time)); + rtctime.secs = secs; + error = ioctl(ctx->fd, VM_RTC_SETTIME, &rtctime); + return (error); +} + +int +vm_rtc_gettime(struct vmctx *ctx, time_t *secs) +{ + struct vm_rtc_time rtctime; + int error; + + bzero(&rtctime, sizeof(struct vm_rtc_time)); + error = ioctl(ctx->fd, VM_RTC_GETTIME, &rtctime); + if (error == 0) + *secs = rtctime.secs; + return (error); +} + /* * From Intel Vol 3a: * Table 9-1. IA-32 Processor States Following Power-up, Reset or INIT diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index db442a4cd94f..4bf4ded17481 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -679,38 +679,6 @@ vm_reinit(struct vmctx *ctx) return (ioctl(ctx->fd, VM_REINIT, 0)); } -int -vm_inject_exception(struct vcpu *vcpu, int vector, int errcode_valid, - uint32_t errcode, int restart_instruction) -{ - struct vm_exception exc; - - exc.vector = vector; - exc.error_code = errcode; - exc.error_code_valid = errcode_valid; - exc.restart_instruction = restart_instruction; - - return (vcpu_ioctl(vcpu, VM_INJECT_EXCEPTION, &exc)); -} - -int -vm_readwrite_kernemu_device(struct vcpu *vcpu, vm_paddr_t gpa, - bool write, int size, uint64_t *value) -{ - struct vm_readwrite_kernemu_device irp = { - .access_width = fls(size) - 1, - .gpa = gpa, - .value = write ? *value : ~0ul, - }; - long cmd = (write ? VM_SET_KERNEMU_DEV : VM_GET_KERNEMU_DEV); - int rc; - - rc = vcpu_ioctl(vcpu, cmd, &irp); - if (rc == 0 && !write) - *value = irp.value; - return (rc); -} - int vm_capability_name2type(const char *capname) { @@ -924,33 +892,6 @@ vm_get_stat_desc(struct vmctx *ctx, int index) return (NULL); } -int -vm_get_x2apic_state(struct vcpu *vcpu, enum x2apic_state *state) -{ - int error; - struct vm_x2apic x2apic; - - bzero(&x2apic, sizeof(x2apic)); - - error = vcpu_ioctl(vcpu, VM_GET_X2APIC_STATE, &x2apic); - *state = x2apic.state; - return (error); -} - -int -vm_set_x2apic_state(struct vcpu *vcpu, enum x2apic_state state) -{ - int error; - struct vm_x2apic x2apic; - - bzero(&x2apic, sizeof(x2apic)); - x2apic.state = state; - - error = vcpu_ioctl(vcpu, VM_SET_X2APIC_STATE, &x2apic); - - return (error); -} - int vm_get_gpa_pmap(struct vmctx *ctx, uint64_t gpa, uint64_t *pte, int *num) { @@ -971,19 +912,6 @@ vm_get_gpa_pmap(struct vmctx *ctx, uint64_t gpa, uint64_t *pte, int *num) return (error); } -int -vm_get_hpet_capabilities(struct vmctx *ctx, uint32_t *capabilities) -{ - int error; - struct vm_hpet_cap cap; - - bzero(&cap, sizeof(struct vm_hpet_cap)); - error = ioctl(ctx->fd, VM_GET_HPET_CAPABILITIES, &cap); - if (capabilities != NULL) - *capabilities = cap.capabilities; - return (error); -} - int vm_gla2gpa(struct vcpu *vcpu, struct vm_guest_paging *paging, uint64_t gla, int prot, uint64_t *gpa, int *fault) @@ -1236,58 +1164,6 @@ vm_set_intinfo(struct vcpu *vcpu, uint64_t info1) return (error); } -int -vm_rtc_write(struct vmctx *ctx, int offset, uint8_t value) -{ - struct vm_rtc_data rtcdata; - int error; - - bzero(&rtcdata, sizeof(struct vm_rtc_data)); - rtcdata.offset = offset; - rtcdata.value = value; - error = ioctl(ctx->fd, VM_RTC_WRITE, &rtcdata); - return (error); -} - -int -vm_rtc_read(struct vmctx *ctx, int offset, uint8_t *retval) -{ - struct vm_rtc_data rtcdata; - int error; - - bzero(&rtcdata, sizeof(struct vm_rtc_data)); - rtcdata.offset = offset; - error = ioctl(ctx->fd, VM_RTC_READ, &rtcdata); - if (error == 0) - *retval = rtcdata.value; - return (error); -} - -int -vm_rtc_settime(struct vmctx *ctx, time_t secs) -{ - struct vm_rtc_time rtctime; - int error; - - bzero(&rtctime, sizeof(struct vm_rtc_time)); - rtctime.secs = secs; - error = ioctl(ctx->fd, VM_RTC_SETTIME, &rtctime); - return (error); -} - -int -vm_rtc_gettime(struct vmctx *ctx, time_t *secs) -{ - struct vm_rtc_time rtctime; - int error; - - bzero(&rtctime, sizeof(struct vm_rtc_time)); - error = ioctl(ctx->fd, VM_RTC_GETTIME, &rtctime); - if (error == 0) - *secs = rtctime.secs; - return (error); -} - int vm_restart_instruction(struct vcpu *vcpu) { diff --git a/lib/libvmmapi/vmmapi.h b/lib/libvmmapi/vmmapi.h index c38e1fca810a..b69f02cde7e4 100644 --- a/lib/libvmmapi/vmmapi.h +++ b/lib/libvmmapi/vmmapi.h @@ -158,9 +158,9 @@ int vm_run(struct vcpu *vcpu, struct vm_run *vmrun); int vm_suspend(struct vmctx *ctx, enum vm_suspend_how how); int vm_reinit(struct vmctx *ctx); int vm_apicid2vcpu(struct vmctx *ctx, int apicid); +#ifdef __amd64__ int vm_inject_exception(struct vcpu *vcpu, int vector, int errcode_valid, uint32_t errcode, int restart_instruction); -#ifdef __amd64__ int vm_lapic_irq(struct vcpu *vcpu, int vector); int vm_lapic_local_irq(struct vcpu *vcpu, int vector); int vm_lapic_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg); @@ -174,9 +174,9 @@ int vm_isa_pulse_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq); int vm_isa_set_irq_trigger(struct vmctx *ctx, int atpic_irq, enum vm_intr_trigger trigger); int vm_inject_nmi(struct vcpu *vcpu); -#endif int vm_readwrite_kernemu_device(struct vcpu *vcpu, vm_paddr_t gpa, bool write, int size, uint64_t *value); +#endif int vm_capability_name2type(const char *capname); const char *vm_capability_type2name(int type); int vm_get_capability(struct vcpu *vcpu, enum vm_cap_type cap, @@ -206,10 +206,12 @@ uint64_t *vm_get_stats(struct vcpu *vcpu, struct timeval *ret_tv, int *ret_entries); const char *vm_get_stat_desc(struct vmctx *ctx, int index); +#ifdef __amd64__ int vm_get_x2apic_state(struct vcpu *vcpu, enum x2apic_state *s); int vm_set_x2apic_state(struct vcpu *vcpu, enum x2apic_state s); int vm_get_hpet_capabilities(struct vmctx *ctx, uint32_t *capabilities); +#endif /* * Translate the GLA range [gla,gla+len) into GPA segments in 'iov'. @@ -227,11 +229,13 @@ void vm_copyin(struct iovec *guest_iov, void *host_dst, size_t len); void vm_copyout(const void *host_src, struct iovec *guest_iov, size_t len); void vm_copy_teardown(struct iovec *iov, int iovcnt); +#ifdef __amd64__ /* RTC */ int vm_rtc_write(struct vmctx *ctx, int offset, uint8_t value); int vm_rtc_read(struct vmctx *ctx, int offset, uint8_t *retval); int vm_rtc_settime(struct vmctx *ctx, time_t secs); int vm_rtc_gettime(struct vmctx *ctx, time_t *secs); +#endif /* Reset vcpu register state */ int vcpu_reset(struct vcpu *vcpu); From nobody Wed Apr 10 15:19:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61Q5NDhz5HHK8; Wed, 10 Apr 2024 15:19: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 4VF61Q443cz4n1g; Wed, 10 Apr 2024 15:19:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CUdEf4XT+cH1ZygvR2vNg0KX+90/FfllM0U6d7FL0W4=; b=Wn0A2CkFQur2S7hvmEIw1g1D9b2whNRu5hfoaUAjpICiKxCz/fvgHNj0NK0n7aiMGI0R7Q TAvMEp5+VRQQLicex9pfMgo/Tl1ZEJQwvkev/Q6tc//SGgUgdwL6+zEmubg9YDKoSowUhL UO8cNrxC4ph35FtXd8ZnrCExmahPCsfopDKjkNmHU6r+duFbQ59ZnkgAV1ViNgOki4Z9Nf ArpCT8Ggp893rOaJh+7DNak2ujv5HmgBzoXjkDflhoY08+7jDuRpzVTCYuLvXSan0GRI05 vMYAFBVYIq+mcSsHxYsjxiVUeUKXpeeTvlKasKhia0237qu358VADrfAZBor9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762346; a=rsa-sha256; cv=none; b=G0Ndvri4Upulsm/htfpav4H4hQfTYdgd5cf1k3u8GW9qcQP+WVYvLG/dgsqXwmcinaPbjr 9XphHmJFPd/ZuK3HwvR5/UA6mxgefhn/QNzjRKrxuwgE0LTiN0PdUbvButnyIsmLL5a49q jccXV/SHMyJAoV7QLygj0tZUgkmbN5CxHSiMoh9tsDxHM9w2wkg5zAua2in0sPS+u/csMR bjaqpJyLFTaqKR3jjbVjaEb0u8R60BdLwAwbwPDgnVY87WQKtdeOHo1q374InsIHO2dMFo 0l/C1STyjIyxnMxJwhwYN0Gj1354qEUK30KpjuV+yCe0522KzktRQp3t/9PgeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CUdEf4XT+cH1ZygvR2vNg0KX+90/FfllM0U6d7FL0W4=; b=GcBu9RR83Wqz83CYObYb0pyJUHRFInUeoc2MQAAB8CB0Lfk+AiMb9Z68bCjqwYmJQLwyXp uqL7/MtqYucxwsmAhMYFfZVcG3TzHcW2vwG44svv2v75hJvWWdFNclAtqHmwWHKlo7ksRi aAa8vwHKtKpQ8Gs3ChoasHWfofbb5LHSohC8nBhoEyeSAIrm4Lwa5ftkB70Nc/qSQS+plh +4eSYXkm+UHlkaTPq6ag1IKVm96ewedSSlDwpqYbS2QASHIRFtqiI32kT1vO79vXnIbRYa kuHoXIj2y0cTITWErIyCwkZ43ggNn+gkOXt6Jp+vz/aRrpQfnQIYmoNAS3QNzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61Q3hM5zjlm; Wed, 10 Apr 2024 15:19:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJ6M9092853; Wed, 10 Apr 2024 15:19:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJ6AA092850; Wed, 10 Apr 2024 15:19:06 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:06 GMT Message-Id: <202404101519.43AFJ6AA092850@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: 7f00e46b85e8 - main - libvmmapi: Split the ioctl list into MI and MD lists 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: dev-commits-src-main+owner@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: 7f00e46b85e8c60259ad0bdd53593ea246f3e549 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7f00e46b85e8c60259ad0bdd53593ea246f3e549 commit 7f00e46b85e8c60259ad0bdd53593ea246f3e549 Author: Mark Johnston AuthorDate: 2024-04-03 16:55:54 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 libvmmapi: Split the ioctl list into MI and MD lists To enable use in capability mode, libvmmapi needs a list of all the ioctls that might be invoked on the vmm device handle. Some of these ioctls are amd64-specific. Move the ioctl list to vmmapi_machdep.c and define a list of MI ioctls so that the arm64 port can build its own list without duplicating common ioctls. No functional change intended. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41001 --- lib/libvmmapi/amd64/vmmapi_machdep.c | 34 +++++++++++++++++++++++++ lib/libvmmapi/internal.h | 48 ++++++++++++++++++++++++++++++++++++ lib/libvmmapi/vmmapi.c | 37 +++++---------------------- 3 files changed, 88 insertions(+), 31 deletions(-) diff --git a/lib/libvmmapi/amd64/vmmapi_machdep.c b/lib/libvmmapi/amd64/vmmapi_machdep.c index c19e9c6f935f..2b50b2b1f3b7 100644 --- a/lib/libvmmapi/amd64/vmmapi_machdep.c +++ b/lib/libvmmapi/amd64/vmmapi_machdep.c @@ -31,6 +31,8 @@ #include #include +#include +#include #include @@ -52,6 +54,38 @@ const char *vm_capstrmap[] = { [VM_CAP_MAX] = NULL, }; +#define VM_MD_IOCTLS \ + VM_SET_SEGMENT_DESCRIPTOR, \ + VM_GET_SEGMENT_DESCRIPTOR, \ + VM_SET_KERNEMU_DEV, \ + VM_GET_KERNEMU_DEV, \ + VM_LAPIC_IRQ, \ + VM_LAPIC_LOCAL_IRQ, \ + VM_LAPIC_MSI, \ + VM_IOAPIC_ASSERT_IRQ, \ + VM_IOAPIC_DEASSERT_IRQ, \ + VM_IOAPIC_PULSE_IRQ, \ + VM_IOAPIC_PINCOUNT, \ + VM_ISA_ASSERT_IRQ, \ + VM_ISA_DEASSERT_IRQ, \ + VM_ISA_PULSE_IRQ, \ + VM_ISA_SET_IRQ_TRIGGER, \ + VM_INJECT_NMI, \ + VM_SET_X2APIC_STATE, \ + VM_GET_X2APIC_STATE, \ + VM_GET_HPET_CAPABILITIES, \ + VM_RTC_WRITE, \ + VM_RTC_READ, \ + VM_RTC_SETTIME, \ + VM_RTC_GETTIME + +const cap_ioctl_t vm_ioctl_cmds[] = { + VM_COMMON_IOCTLS, + VM_PPT_IOCTLS, + VM_MD_IOCTLS, +}; +size_t vm_ioctl_ncmds = nitems(vm_ioctl_cmds); + int vm_set_desc(struct vcpu *vcpu, int reg, uint64_t base, uint32_t limit, uint32_t access) diff --git a/lib/libvmmapi/internal.h b/lib/libvmmapi/internal.h index 973a70afe022..98e50f9a1bf4 100644 --- a/lib/libvmmapi/internal.h +++ b/lib/libvmmapi/internal.h @@ -7,6 +7,8 @@ #ifndef __VMMAPI_INTERNAL_H__ #define __VMMAPI_INTERNAL_H__ +#include + struct vmctx { int fd; uint32_t lowmem_limit; @@ -26,4 +28,50 @@ int vcpu_ioctl(struct vcpu *vcpu, u_long cmd, void *arg); extern const char *vm_capstrmap[]; +#define VM_COMMON_IOCTLS \ + VM_RUN, \ + VM_SUSPEND, \ + VM_REINIT, \ + VM_ALLOC_MEMSEG, \ + VM_GET_MEMSEG, \ + VM_MMAP_MEMSEG, \ + VM_MMAP_MEMSEG, \ + VM_MMAP_GETNEXT, \ + VM_MUNMAP_MEMSEG, \ + VM_SET_REGISTER, \ + VM_GET_REGISTER, \ + VM_SET_REGISTER_SET, \ + VM_GET_REGISTER_SET, \ + VM_INJECT_EXCEPTION, \ + VM_SET_CAPABILITY, \ + VM_GET_CAPABILITY, \ + VM_STATS, \ + VM_STAT_DESC, \ + VM_GET_GPA_PMAP, \ + VM_GLA2GPA, \ + VM_GLA2GPA_NOFAULT, \ + VM_ACTIVATE_CPU, \ + VM_GET_CPUS, \ + VM_SUSPEND_CPU, \ + VM_RESUME_CPU, \ + VM_SET_INTINFO, \ + VM_GET_INTINFO, \ + VM_RESTART_INSTRUCTION, \ + VM_SET_TOPOLOGY, \ + VM_GET_TOPOLOGY, \ + VM_SNAPSHOT_REQ, \ + VM_RESTORE_TIME + +#define VM_PPT_IOCTLS \ + VM_BIND_PPTDEV, \ + VM_UNBIND_PPTDEV, \ + VM_MAP_PPTDEV_MMIO, \ + VM_PPTDEV_MSI, \ + VM_PPTDEV_MSIX, \ + VM_UNMAP_PPTDEV_MMIO, \ + VM_PPTDEV_DISABLE_MSIX + +extern const cap_ioctl_t vm_ioctl_cmds[]; +extern size_t vm_ioctl_ncmds; + #endif /* !__VMMAPI_INTERNAL_H__ */ diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index cc765deb904c..db442a4cd94f 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -1351,42 +1351,15 @@ vm_get_topology(struct vmctx *ctx, return (error); } -/* Keep in sync with machine/vmm_dev.h. */ -static const cap_ioctl_t vm_ioctl_cmds[] = { VM_RUN, VM_SUSPEND, VM_REINIT, - VM_ALLOC_MEMSEG, VM_GET_MEMSEG, VM_MMAP_MEMSEG, VM_MMAP_MEMSEG, - VM_MMAP_GETNEXT, VM_MUNMAP_MEMSEG, VM_SET_REGISTER, VM_GET_REGISTER, - VM_SET_SEGMENT_DESCRIPTOR, VM_GET_SEGMENT_DESCRIPTOR, - VM_SET_REGISTER_SET, VM_GET_REGISTER_SET, - VM_SET_KERNEMU_DEV, VM_GET_KERNEMU_DEV, - VM_INJECT_EXCEPTION, VM_LAPIC_IRQ, VM_LAPIC_LOCAL_IRQ, - VM_LAPIC_MSI, VM_IOAPIC_ASSERT_IRQ, VM_IOAPIC_DEASSERT_IRQ, - VM_IOAPIC_PULSE_IRQ, VM_IOAPIC_PINCOUNT, VM_ISA_ASSERT_IRQ, - VM_ISA_DEASSERT_IRQ, VM_ISA_PULSE_IRQ, VM_ISA_SET_IRQ_TRIGGER, - VM_SET_CAPABILITY, VM_GET_CAPABILITY, VM_BIND_PPTDEV, - VM_UNBIND_PPTDEV, VM_MAP_PPTDEV_MMIO, VM_PPTDEV_MSI, - VM_PPTDEV_MSIX, VM_UNMAP_PPTDEV_MMIO, VM_PPTDEV_DISABLE_MSIX, - VM_INJECT_NMI, VM_STATS, VM_STAT_DESC, - VM_SET_X2APIC_STATE, VM_GET_X2APIC_STATE, - VM_GET_HPET_CAPABILITIES, VM_GET_GPA_PMAP, VM_GLA2GPA, - VM_GLA2GPA_NOFAULT, - VM_ACTIVATE_CPU, VM_GET_CPUS, VM_SUSPEND_CPU, VM_RESUME_CPU, - VM_SET_INTINFO, VM_GET_INTINFO, - VM_RTC_WRITE, VM_RTC_READ, VM_RTC_SETTIME, VM_RTC_GETTIME, - VM_RESTART_INSTRUCTION, VM_SET_TOPOLOGY, VM_GET_TOPOLOGY, - VM_SNAPSHOT_REQ, VM_RESTORE_TIME -}; - int vm_limit_rights(struct vmctx *ctx) { cap_rights_t rights; - size_t ncmds; cap_rights_init(&rights, CAP_IOCTL, CAP_MMAP_RW); if (caph_rights_limit(ctx->fd, &rights) != 0) return (-1); - ncmds = nitems(vm_ioctl_cmds); - if (caph_ioctls_limit(ctx->fd, vm_ioctl_cmds, ncmds) != 0) + if (caph_ioctls_limit(ctx->fd, vm_ioctl_cmds, vm_ioctl_ncmds) != 0) return (-1); return (0); } @@ -1407,15 +1380,17 @@ const cap_ioctl_t * vm_get_ioctls(size_t *len) { cap_ioctl_t *cmds; + size_t sz; if (len == NULL) { - cmds = malloc(sizeof(vm_ioctl_cmds)); + sz = vm_ioctl_ncmds * sizeof(vm_ioctl_cmds[0]); + cmds = malloc(sz); if (cmds == NULL) return (NULL); - bcopy(vm_ioctl_cmds, cmds, sizeof(vm_ioctl_cmds)); + bcopy(vm_ioctl_cmds, cmds, sz); return (cmds); } - *len = nitems(vm_ioctl_cmds); + *len = vm_ioctl_ncmds; return (NULL); } From nobody Wed Apr 10 15:19:08 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61T1VdRz5HHGv; Wed, 10 Apr 2024 15: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 4VF61S6MBhz4myS; Wed, 10 Apr 2024 15:19:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c6XzE7XsNt5aa+9q05CXjrFuCOXtIhjpPISyFwlRBNk=; b=s6OWV+PqHMfgS71/5lLkiyyMzYwjENKhmsxZyDjm6zzOJwti36ngaoEB2sov5mWYyOxTjM DMEoA7kJr9DayYnbQDHgF9myNnLxvTWce1wnDIWcEih2ooR+zh1gVxvf1+zzt7Wp6188xq z0AJQ/Hc+hMVri5jGebffcuPUZArNugYHkBHT9WkTDjeD8l+IN9C2Es2RZhqLbpZdUkPNB 3sR9nRTTF1qUAQgFBizkP5GaiomJo8GmNd7nMNfXQXPsuRNo3E0Y19p/o8bkzyOcy3GInC B4HjeNXNMIQP+gVf6dwGu8JmX/r+PYNhJOUza84sBN45vhoogv3Eqk3QZyyWWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762348; a=rsa-sha256; cv=none; b=tI/q9HVp3gzHw1YMIYzfyxy66eRdSo9kyZSKZ6rgvfdcBQO5zqgGc2JADNMzQ7UuVzbFwB EiFwSF2X43Aj/sbk91xsOxjFL01GyN2yVAkla9jS0qTqvlpkOrrbmb3YEfK4AMy0CfYiHR OlkZKxKNqDc5YMyWIAmzraPguwNh54gPpk6E6ddJWidTxT5pJKiLpZre66ulLYVtJ0pcNk mrzneDgZYsW7XEH6qgGYB/Jbc0ii8bHZ74y7T0bCdVsNYsMPIXmOO2nulYqq/vwghtf/2A zfb2rLiQ4fhLy1h0IxZ/LL+HuUr+7vbc6ZKpYMtxVUpbhmJS/Dlpm9ws67SawA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c6XzE7XsNt5aa+9q05CXjrFuCOXtIhjpPISyFwlRBNk=; b=mbk+Uaqs5LEHtp5P4V1x+U3NIdZ2OibyzgXurOkuqApw9QhZ/EvT9ivo2VALYH+KGZHobK IPrhMPOClkynLF1/kDNXTlOgtyl8akzTbzDls8pwUiITcf/0u4oXCtFhpBgp8gXHVI+fsi E2VWp7+RY1vujrpd2odq4ThK1zToIhz0UGUbT4aN6486PHV7xkBpouRa/jxBWVVbMsIGMm 9KtD+6zlbm/2G7c/gJ1aqSNFbe/BqJ2VH64WEljaWAh8Yt5Z2G9AbqKfOy+SC2uabLrzz4 z5QT2lCwiOQH6GykBJSlmKH54rMpvTcZTRZ7oAy0TARFBafg+EHyywCkTqeY9Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61S5y2rzjsJ; Wed, 10 Apr 2024 15:19:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJ89H092964; Wed, 10 Apr 2024 15:19:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJ87C092961; Wed, 10 Apr 2024 15:19:08 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:08 GMT Message-Id: <202404101519.43AFJ87C092961@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: 8b06bdc91ddf - main - libvmmapi: Move PCI passthrough ioctl wrappers into a separate file 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: dev-commits-src-main+owner@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: 8b06bdc91ddff995beed7bdcb6e5541c5ca227ef Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8b06bdc91ddff995beed7bdcb6e5541c5ca227ef commit 8b06bdc91ddff995beed7bdcb6e5541c5ca227ef Author: Mark Johnston AuthorDate: 2024-04-03 16:56:22 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 libvmmapi: Move PCI passthrough ioctl wrappers into a separate file The arm64 port doesn't implement PCI passthrough and in particular doesn't define the ioctls used by these wrappers. It might be that the ppt ioctl interface will require modification to support arm64. Until that's sorted out one way or another, put this code in a separate file so that it's easy to conditionally compile. No functional change intended. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41003 --- lib/libvmmapi/amd64/Makefile.inc | 3 +- lib/libvmmapi/ppt.c | 144 +++++++++++++++++++++++++++++++++++++++ lib/libvmmapi/vmmapi.c | 107 ----------------------------- 3 files changed, 146 insertions(+), 108 deletions(-) diff --git a/lib/libvmmapi/amd64/Makefile.inc b/lib/libvmmapi/amd64/Makefile.inc index e51b9f9c2bfa..d122f742a667 100644 --- a/lib/libvmmapi/amd64/Makefile.inc +++ b/lib/libvmmapi/amd64/Makefile.inc @@ -1,2 +1,3 @@ -SRCS+= vmmapi_machdep.c \ +SRCS+= ppt.c \ + vmmapi_machdep.c \ vmmapi_freebsd_machdep.c diff --git a/lib/libvmmapi/ppt.c b/lib/libvmmapi/ppt.c new file mode 100644 index 000000000000..fd49f8eed168 --- /dev/null +++ b/lib/libvmmapi/ppt.c @@ -0,0 +1,144 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2011 NetApp, 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 NETAPP, INC ``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 NETAPP, INC 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 +#include + +#include + +#include + +#include "vmmapi.h" +#include "internal.h" + +int +vm_assign_pptdev(struct vmctx *ctx, int bus, int slot, int func) +{ + struct vm_pptdev pptdev; + + bzero(&pptdev, sizeof(pptdev)); + pptdev.bus = bus; + pptdev.slot = slot; + pptdev.func = func; + + return (ioctl(ctx->fd, VM_BIND_PPTDEV, &pptdev)); +} + +int +vm_unassign_pptdev(struct vmctx *ctx, int bus, int slot, int func) +{ + struct vm_pptdev pptdev; + + bzero(&pptdev, sizeof(pptdev)); + pptdev.bus = bus; + pptdev.slot = slot; + pptdev.func = func; + + return (ioctl(ctx->fd, VM_UNBIND_PPTDEV, &pptdev)); +} + +int +vm_map_pptdev_mmio(struct vmctx *ctx, int bus, int slot, int func, + vm_paddr_t gpa, size_t len, vm_paddr_t hpa) +{ + struct vm_pptdev_mmio pptmmio; + + bzero(&pptmmio, sizeof(pptmmio)); + pptmmio.bus = bus; + pptmmio.slot = slot; + pptmmio.func = func; + pptmmio.gpa = gpa; + pptmmio.len = len; + pptmmio.hpa = hpa; + + return (ioctl(ctx->fd, VM_MAP_PPTDEV_MMIO, &pptmmio)); +} + +int +vm_unmap_pptdev_mmio(struct vmctx *ctx, int bus, int slot, int func, + vm_paddr_t gpa, size_t len) +{ + struct vm_pptdev_mmio pptmmio; + + bzero(&pptmmio, sizeof(pptmmio)); + pptmmio.bus = bus; + pptmmio.slot = slot; + pptmmio.func = func; + pptmmio.gpa = gpa; + pptmmio.len = len; + + return (ioctl(ctx->fd, VM_UNMAP_PPTDEV_MMIO, &pptmmio)); +} + +int +vm_setup_pptdev_msi(struct vmctx *ctx, int bus, int slot, int func, + uint64_t addr, uint64_t msg, int numvec) +{ + struct vm_pptdev_msi pptmsi; + + bzero(&pptmsi, sizeof(pptmsi)); + pptmsi.bus = bus; + pptmsi.slot = slot; + pptmsi.func = func; + pptmsi.msg = msg; + pptmsi.addr = addr; + pptmsi.numvec = numvec; + + return (ioctl(ctx->fd, VM_PPTDEV_MSI, &pptmsi)); +} + +int +vm_setup_pptdev_msix(struct vmctx *ctx, int bus, int slot, int func, + int idx, uint64_t addr, uint64_t msg, uint32_t vector_control) +{ + struct vm_pptdev_msix pptmsix; + + bzero(&pptmsix, sizeof(pptmsix)); + pptmsix.bus = bus; + pptmsix.slot = slot; + pptmsix.func = func; + pptmsix.idx = idx; + pptmsix.msg = msg; + pptmsix.addr = addr; + pptmsix.vector_control = vector_control; + + return (ioctl(ctx->fd, VM_PPTDEV_MSIX, &pptmsix)); +} + +int +vm_disable_pptdev_msix(struct vmctx *ctx, int bus, int slot, int func) +{ + struct vm_pptdev ppt; + + bzero(&ppt, sizeof(ppt)); + ppt.bus = bus; + ppt.slot = slot; + ppt.func = func; + + return (ioctl(ctx->fd, VM_PPTDEV_DISABLE_MSIX, &ppt)); +} diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index 4bf4ded17481..63f0fe0f16fe 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -728,113 +728,6 @@ vm_set_capability(struct vcpu *vcpu, enum vm_cap_type cap, int val) return (vcpu_ioctl(vcpu, VM_SET_CAPABILITY, &vmcap)); } -int -vm_assign_pptdev(struct vmctx *ctx, int bus, int slot, int func) -{ - struct vm_pptdev pptdev; - - bzero(&pptdev, sizeof(pptdev)); - pptdev.bus = bus; - pptdev.slot = slot; - pptdev.func = func; - - return (ioctl(ctx->fd, VM_BIND_PPTDEV, &pptdev)); -} - -int -vm_unassign_pptdev(struct vmctx *ctx, int bus, int slot, int func) -{ - struct vm_pptdev pptdev; - - bzero(&pptdev, sizeof(pptdev)); - pptdev.bus = bus; - pptdev.slot = slot; - pptdev.func = func; - - return (ioctl(ctx->fd, VM_UNBIND_PPTDEV, &pptdev)); -} - -int -vm_map_pptdev_mmio(struct vmctx *ctx, int bus, int slot, int func, - vm_paddr_t gpa, size_t len, vm_paddr_t hpa) -{ - struct vm_pptdev_mmio pptmmio; - - bzero(&pptmmio, sizeof(pptmmio)); - pptmmio.bus = bus; - pptmmio.slot = slot; - pptmmio.func = func; - pptmmio.gpa = gpa; - pptmmio.len = len; - pptmmio.hpa = hpa; - - return (ioctl(ctx->fd, VM_MAP_PPTDEV_MMIO, &pptmmio)); -} - -int -vm_unmap_pptdev_mmio(struct vmctx *ctx, int bus, int slot, int func, - vm_paddr_t gpa, size_t len) -{ - struct vm_pptdev_mmio pptmmio; - - bzero(&pptmmio, sizeof(pptmmio)); - pptmmio.bus = bus; - pptmmio.slot = slot; - pptmmio.func = func; - pptmmio.gpa = gpa; - pptmmio.len = len; - - return (ioctl(ctx->fd, VM_UNMAP_PPTDEV_MMIO, &pptmmio)); -} - -int -vm_setup_pptdev_msi(struct vmctx *ctx, int bus, int slot, int func, - uint64_t addr, uint64_t msg, int numvec) -{ - struct vm_pptdev_msi pptmsi; - - bzero(&pptmsi, sizeof(pptmsi)); - pptmsi.bus = bus; - pptmsi.slot = slot; - pptmsi.func = func; - pptmsi.msg = msg; - pptmsi.addr = addr; - pptmsi.numvec = numvec; - - return (ioctl(ctx->fd, VM_PPTDEV_MSI, &pptmsi)); -} - -int -vm_setup_pptdev_msix(struct vmctx *ctx, int bus, int slot, int func, - int idx, uint64_t addr, uint64_t msg, uint32_t vector_control) -{ - struct vm_pptdev_msix pptmsix; - - bzero(&pptmsix, sizeof(pptmsix)); - pptmsix.bus = bus; - pptmsix.slot = slot; - pptmsix.func = func; - pptmsix.idx = idx; - pptmsix.msg = msg; - pptmsix.addr = addr; - pptmsix.vector_control = vector_control; - - return ioctl(ctx->fd, VM_PPTDEV_MSIX, &pptmsix); -} - -int -vm_disable_pptdev_msix(struct vmctx *ctx, int bus, int slot, int func) -{ - struct vm_pptdev ppt; - - bzero(&ppt, sizeof(ppt)); - ppt.bus = bus; - ppt.slot = slot; - ppt.func = func; - - return ioctl(ctx->fd, VM_PPTDEV_DISABLE_MSIX, &ppt); -} - uint64_t * vm_get_stats(struct vcpu *vcpu, struct timeval *ret_tv, int *ret_entries) From nobody Wed Apr 10 15:19:09 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61V2cMlz5HHKC; Wed, 10 Apr 2024 15:19: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 4VF61V0J5jz4n6g; Wed, 10 Apr 2024 15:19:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LZGGV0erY33YNOl/jpWkCk4Dr8zuYLgRE/kiRD/VNgc=; b=v8FpafsBKbWPzXVEo3qpfGsoRTfahosuhcUqWkN5c3kTS9hQRuuQa+Ave1Hvmq0++6SPOh odO9+EYJs9+ViQj+zOQFWpkagTabDHa7w5CZadoawQZz4Y3OpHASKCHEHPeGSt5KZ3KY6e D49itmgpqZvvmv2NxGvMMkLR17uLPBlmXG0slmTiKNo979nIluRmk27bNQGfedXt9zaO0H JG9ikpD2AnA4CafIyUUCB3/JDSGemHxwlZCoD+Y5aoUcDNjgwF718zxswFU6PyCbQnsmqs F7JTHEI8VTIywG3N2N4lqV+LwBilOLiPP5shvZs4pVF0i298x3VPAUz9+Iv4qQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762350; a=rsa-sha256; cv=none; b=s40rRpuy80floLVTGqUdJGgOio9qqwBKzcjYZ1woByAo8o3hjsdECl9JQuSNzms/JjMl9O tK8JNYSeJAQPvgkUwfOELknQ9vm2oKy+grzpFjN48O72ig8OjD4wn0DQeMBldP/rJskB9p EXpyUPhpw+8plQk+dPqgG050I/citrXccfpamDpu1SVEd+o9GNfWPBfvTwLBG43QYC2Mlv jFt7WUVPIkfm9taEn9YZcF7H3l4XXbXLlHGWF3akbhP35KbW80As9iYh0b5SSCducQYexx 3up54qvx+V5QJ8Eea+t+D9fo2a+/9k1iOzlE/IXdVbpts/JVPy5eIrSUTUAMKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LZGGV0erY33YNOl/jpWkCk4Dr8zuYLgRE/kiRD/VNgc=; b=lmjjQwZUmYc0wVQi9uaY38sqsztERU3DI5s4fhy4izVzer8/b0g+rUvNWb0tBPuVq53uiW mbSGeoA+Znm+SXdHrJVfdoRqwXwi9YKXTnKfQc7v2Ge4CkrJ6eUIEzZD4kC7xzwlUDkjRU J0uIP1OHPbriPJa4WAUxRh3ZDbT6gtaPoYP4FE/cPZpAq0r7THy96TliD97owX2msSgugw iGiYzbXwEHinlAAh9a6KSdAEoK4+XGuBRml8m2kWYmkLnLeQEed6pn5NIwHkKeYXSv4D73 K2OIdyOkst9QFAUeEkTLqu7k64EWwpsdbGg0k4D0UQkmYZ44b9+43Slx7WGQKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61T728tzjsK; Wed, 10 Apr 2024 15:19:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJ9iS093018; Wed, 10 Apr 2024 15:19:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJ9Fd093015; Wed, 10 Apr 2024 15:19:09 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:09 GMT Message-Id: <202404101519.43AFJ9Fd093015@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: 7e0fa794123e - main - libvmmapi: Make memory segment handling a bit more abstract 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: dev-commits-src-main+owner@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: 7e0fa794123eb8395fffa976c47e8ba4f44f2df0 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7e0fa794123eb8395fffa976c47e8ba4f44f2df0 commit 7e0fa794123eb8395fffa976c47e8ba4f44f2df0 Author: Mark Johnston AuthorDate: 2024-04-03 17:01:31 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 libvmmapi: Make memory segment handling a bit more abstract libvmmapi leaves a hole at [3GB, 4GB) in the guest physical address space. This hole is not used in the arm64 port, which maps everything above 4GB. This change makes the code a bit more general to accomodate arm64 more naturally. In particular: - Remove vm_set_lowmem_limit(): it is unused and doesn't have well-defined constraints, e.g., nothing prevents a consumer from setting a lowmem limit above the highmem base. - Define a constant for the highmem base and use that everywhere that the base is currently hard-coded. - Make the lowmem limit a compile-time constant instead of a vmctx field. - Store segment info in an array. - Add vm_get_highmem_base(), for use in bhyve since the current value is hard-coded in some places. No functional change intended. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41004 --- lib/libvmmapi/internal.h | 13 +++++-- lib/libvmmapi/vmmapi.c | 90 ++++++++++++++++++++++++++---------------------- lib/libvmmapi/vmmapi.h | 2 +- 3 files changed, 59 insertions(+), 46 deletions(-) diff --git a/lib/libvmmapi/internal.h b/lib/libvmmapi/internal.h index 98e50f9a1bf4..2b2f9eac3757 100644 --- a/lib/libvmmapi/internal.h +++ b/lib/libvmmapi/internal.h @@ -9,12 +9,19 @@ #include +enum { + VM_MEMSEG_LOW, + VM_MEMSEG_HIGH, + VM_MEMSEG_COUNT, +}; + struct vmctx { int fd; - uint32_t lowmem_limit; + struct { + vm_paddr_t base; + vm_size_t size; + } memsegs[VM_MEMSEG_COUNT]; int memflags; - size_t lowmem; - size_t highmem; char *baseaddr; char *name; }; diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index 63f0fe0f16fe..ab20df3f3fc9 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -59,6 +59,9 @@ #define MB (1024 * 1024UL) #define GB (1024 * 1024 * 1024UL) +#define VM_LOWMEM_LIMIT (3 * GB) +#define VM_HIGHMEM_BASE (4 * GB) + /* * Size of the guard region before and after the virtual address space * mapping the guest physical memory. This must be a multiple of the @@ -110,9 +113,9 @@ vm_open(const char *name) vm->fd = -1; vm->memflags = 0; - vm->lowmem_limit = 3 * GB; vm->name = (char *)(vm + 1); strcpy(vm->name, name); + memset(vm->memsegs, 0, sizeof(vm->memsegs)); if ((vm->fd = vm_device_open(vm->name)) < 0) goto err; @@ -194,17 +197,10 @@ vm_parse_memsize(const char *opt, size_t *ret_memsize) } uint32_t -vm_get_lowmem_limit(struct vmctx *ctx) +vm_get_lowmem_limit(struct vmctx *ctx __unused) { - return (ctx->lowmem_limit); -} - -void -vm_set_lowmem_limit(struct vmctx *ctx, uint32_t limit) -{ - - ctx->lowmem_limit = limit; + return (VM_LOWMEM_LIMIT); } void @@ -266,8 +262,8 @@ vm_get_guestmem_from_ctx(struct vmctx *ctx, char **guest_baseaddr, { *guest_baseaddr = ctx->baseaddr; - *lowmem_size = ctx->lowmem; - *highmem_size = ctx->highmem; + *lowmem_size = ctx->memsegs[VM_MEMSEG_LOW].size; + *highmem_size = ctx->memsegs[VM_MEMSEG_HIGH].size; return (0); } @@ -418,17 +414,17 @@ vm_setup_memory(struct vmctx *ctx, size_t memsize, enum vm_mmap_style vms) assert(vms == VM_MMAP_ALL); /* - * If 'memsize' cannot fit entirely in the 'lowmem' segment then - * create another 'highmem' segment above 4GB for the remainder. + * If 'memsize' cannot fit entirely in the 'lowmem' segment then create + * another 'highmem' segment above VM_HIGHMEM_BASE for the remainder. */ - if (memsize > ctx->lowmem_limit) { - ctx->lowmem = ctx->lowmem_limit; - ctx->highmem = memsize - ctx->lowmem_limit; - objsize = 4*GB + ctx->highmem; + if (memsize > VM_LOWMEM_LIMIT) { + ctx->memsegs[VM_MEMSEG_LOW].size = VM_LOWMEM_LIMIT; + ctx->memsegs[VM_MEMSEG_HIGH].size = memsize - VM_LOWMEM_LIMIT; + objsize = VM_HIGHMEM_BASE + ctx->memsegs[VM_MEMSEG_HIGH].size; } else { - ctx->lowmem = memsize; - ctx->highmem = 0; - objsize = ctx->lowmem; + ctx->memsegs[VM_MEMSEG_LOW].size = memsize; + ctx->memsegs[VM_MEMSEG_HIGH].size = 0; + objsize = memsize; } error = vm_alloc_memseg(ctx, VM_SYSMEM, objsize, NULL); @@ -445,17 +441,17 @@ vm_setup_memory(struct vmctx *ctx, size_t memsize, enum vm_mmap_style vms) return (-1); baseaddr = ptr + VM_MMAP_GUARD_SIZE; - if (ctx->highmem > 0) { - gpa = 4*GB; - len = ctx->highmem; + if (ctx->memsegs[VM_MEMSEG_HIGH].size > 0) { + gpa = VM_HIGHMEM_BASE; + len = ctx->memsegs[VM_MEMSEG_HIGH].size; error = setup_memory_segment(ctx, gpa, len, baseaddr); if (error) return (error); } - if (ctx->lowmem > 0) { + if (ctx->memsegs[VM_MEMSEG_LOW].size > 0) { gpa = 0; - len = ctx->lowmem; + len = ctx->memsegs[VM_MEMSEG_LOW].size; error = setup_memory_segment(ctx, gpa, len, baseaddr); if (error) return (error); @@ -476,20 +472,19 @@ vm_setup_memory(struct vmctx *ctx, size_t memsize, enum vm_mmap_style vms) void * vm_map_gpa(struct vmctx *ctx, vm_paddr_t gaddr, size_t len) { + vm_size_t lowsize, highsize; - if (ctx->lowmem > 0) { - if (gaddr < ctx->lowmem && len <= ctx->lowmem && - gaddr + len <= ctx->lowmem) + lowsize = ctx->memsegs[VM_MEMSEG_LOW].size; + if (lowsize > 0) { + if (gaddr < lowsize && len <= lowsize && gaddr + len <= lowsize) return (ctx->baseaddr + gaddr); } - if (ctx->highmem > 0) { - if (gaddr >= 4*GB) { - if (gaddr < 4*GB + ctx->highmem && - len <= ctx->highmem && - gaddr + len <= 4*GB + ctx->highmem) - return (ctx->baseaddr + gaddr); - } + highsize = ctx->memsegs[VM_MEMSEG_HIGH].size; + if (highsize > 0 && gaddr >= VM_HIGHMEM_BASE) { + if (gaddr < VM_HIGHMEM_BASE + highsize && len <= highsize && + gaddr + len <= VM_HIGHMEM_BASE + highsize) + return (ctx->baseaddr + gaddr); } return (NULL); @@ -499,15 +494,19 @@ vm_paddr_t vm_rev_map_gpa(struct vmctx *ctx, void *addr) { vm_paddr_t offaddr; + vm_size_t lowsize, highsize; offaddr = (char *)addr - ctx->baseaddr; - if (ctx->lowmem > 0) - if (offaddr <= ctx->lowmem) + lowsize = ctx->memsegs[VM_MEMSEG_LOW].size; + if (lowsize > 0) + if (offaddr <= lowsize) return (offaddr); - if (ctx->highmem > 0) - if (offaddr >= 4*GB && offaddr < 4*GB + ctx->highmem) + highsize = ctx->memsegs[VM_MEMSEG_HIGH].size; + if (highsize > 0) + if (offaddr >= VM_HIGHMEM_BASE && + offaddr < VM_HIGHMEM_BASE + highsize) return (offaddr); return ((vm_paddr_t)-1); @@ -524,14 +523,21 @@ size_t vm_get_lowmem_size(struct vmctx *ctx) { - return (ctx->lowmem); + return (ctx->memsegs[VM_MEMSEG_LOW].size); +} + +vm_paddr_t +vm_get_highmem_base(struct vmctx *ctx __unused) +{ + + return (VM_HIGHMEM_BASE); } size_t vm_get_highmem_size(struct vmctx *ctx) { - return (ctx->highmem); + return (ctx->memsegs[VM_MEMSEG_HIGH].size); } void * diff --git a/lib/libvmmapi/vmmapi.h b/lib/libvmmapi/vmmapi.h index b69f02cde7e4..bd182b0914fc 100644 --- a/lib/libvmmapi/vmmapi.h +++ b/lib/libvmmapi/vmmapi.h @@ -135,11 +135,11 @@ int vm_gla2gpa_nofault(struct vcpu *vcpu, struct vm_guest_paging *paging, uint64_t gla, int prot, uint64_t *gpa, int *fault); uint32_t vm_get_lowmem_limit(struct vmctx *ctx); -void vm_set_lowmem_limit(struct vmctx *ctx, uint32_t limit); void vm_set_memflags(struct vmctx *ctx, int flags); int vm_get_memflags(struct vmctx *ctx); const char *vm_get_name(struct vmctx *ctx); size_t vm_get_lowmem_size(struct vmctx *ctx); +vm_paddr_t vm_get_highmem_base(struct vmctx *ctx); size_t vm_get_highmem_size(struct vmctx *ctx); #ifdef __amd64__ int vm_set_desc(struct vcpu *vcpu, int reg, From nobody Wed Apr 10 15:19:12 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61X5LpPz5HHMm; Wed, 10 Apr 2024 15:19: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 4VF61X2HKxz4mtn; Wed, 10 Apr 2024 15:19:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8scQ1Xyn/UY25lcUn9vwzVMBT6dlj8RA6QlmHiUw9DY=; b=u8oaj7L4MQcw14uXh9237P7LBQrJuJrEobxEx1opAeZTbG6wkUm4YJhs8JwgI530xOAyWe F1MG7XD4xNP5lnQ8qLzGytZjAtbxfg+jDC5ZntH5qHWqY0NbwU1gAWrSLISWyiSEVPPznr ZEWOxOLhHJz0T/YeNBF4iJaf7CaJdpndQXWyO9DKOQAqM/d81fgfZXQlthUdwrN6Id0vY6 VPBGNvGA5RROXgT0vaGh9bqfO0OuniW5Mf5wuWrF+TrLRrk8i0gJUwB3kT6mdFU51Vyc0G Cx0XzVcDr16wzKMt453ZQUCO9AEbUjWGGFvWOoN/8b5wzFMj4dm+dr0rMoo26g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762352; a=rsa-sha256; cv=none; b=ht9eFZWhNDM1TBKtvBi+enYWZ+DJ1LRWUYncJj1K9zPIzd5zV6qkNelgOZv+8Uzw8e1ySM 4mK43H6eF4yLtuwL7UHFPjSo0HtXPzVYP3/DdDzdPvmEUAbvpcl4SVBy7wjBntejh3RDI2 C+b3NW4PiQNC/bIj8BC8xmhGsoNtoCN5Vw9OwZ9Bjj+3xsMaV2UE4jYz3dOHtCwWqU3Kn9 atnzHaPUof72Wvw5fdq3HzkIWhc8L432g6vft7YS8NqoqfFmy9TLvpX4je9LsX0vwowCNu 5sHOb/72HWGXEyPoMmgMmNf991nQZ7KfOpzJoaSrRtIppQVWAtjErvh3XoS1Ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8scQ1Xyn/UY25lcUn9vwzVMBT6dlj8RA6QlmHiUw9DY=; b=w7NQuVuOw0SE9CA5Vb1UZDfcc/Ij95MHGPxK+sYBVXPj6LKR1nxwuZkwd5OS2mfK0yfg6d gaSp72hwafiRfhdi9RLQdHXBLq6u0Psv0h2nmK1S13asDcdD1iWZsVd39H9EOzxwUhYcji Q5gW705JTqRNkLZIPxRCtqI0Xx7R4PqJ98qZBGm+KlEeNYvfJOTOAdz/xqvrHZaiKWaBQx 5DAMe2gEVFf5I8F0CWDTdPD0Qx0MVm+7adEoFppK5Nx0Ak0sJqLAo9sbFWDe7WFJEV1989 qA5jfRtlBtCUlhqVRp8sSzr1eaVLtoyZK3ayaAA3Fms7m/xH3MeTBaY6r+6HPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61X1jDCzjXh; Wed, 10 Apr 2024 15:19:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJCVA093111; Wed, 10 Apr 2024 15:19:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJCsp093108; Wed, 10 Apr 2024 15:19:12 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:12 GMT Message-Id: <202404101519.43AFJCsp093108@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: 1855002ddf0b - main - libvmmapi: Make vm_raise_msi() a common function 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: dev-commits-src-main+owner@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: 1855002ddf0b226d92ce5d698bae06305d9a3a4e Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1855002ddf0b226d92ce5d698bae06305d9a3a4e commit 1855002ddf0b226d92ce5d698bae06305d9a3a4e Author: Mark Johnston AuthorDate: 2024-04-03 17:09:32 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 libvmmapi: Make vm_raise_msi() a common function Currently, bhyve PCI emulation uses vm_lapic_msi() to raise an MSI in the guest. The arm64 port has a similar function, vm_raise_msi(). Add vm_raise_msi() on amd64 as well and have it simply call vm_lapic_msi() so that bhyve can use a common, generically named function. Reviewed by: corvink, andrew, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41752 --- lib/libvmmapi/aarch64/vmmapi_machdep.c | 4 ++-- lib/libvmmapi/amd64/vmmapi_machdep.c | 7 +++++++ lib/libvmmapi/vmmapi.h | 6 +++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/libvmmapi/aarch64/vmmapi_machdep.c b/lib/libvmmapi/aarch64/vmmapi_machdep.c index 5440adaaf3ef..fb2556af3be2 100644 --- a/lib/libvmmapi/aarch64/vmmapi_machdep.c +++ b/lib/libvmmapi/aarch64/vmmapi_machdep.c @@ -99,8 +99,8 @@ vm_deassert_irq(struct vmctx *ctx, uint32_t irq) } int -vm_raise_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg, int bus, int slot, - int func) +vm_raise_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg, + int bus, int slot, int func) { struct vm_msi vmsi; diff --git a/lib/libvmmapi/amd64/vmmapi_machdep.c b/lib/libvmmapi/amd64/vmmapi_machdep.c index 49844be8a574..8990b28b4432 100644 --- a/lib/libvmmapi/amd64/vmmapi_machdep.c +++ b/lib/libvmmapi/amd64/vmmapi_machdep.c @@ -166,6 +166,13 @@ vm_lapic_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg) return (ioctl(ctx->fd, VM_LAPIC_MSI, &vmmsi)); } +int +vm_raise_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg, + int bus __unused, int slot __unused, int func __unused) +{ + return (vm_lapic_msi(ctx, addr, msg)); +} + int vm_apicid2vcpu(struct vmctx *ctx __unused, int apicid) { diff --git a/lib/libvmmapi/vmmapi.h b/lib/libvmmapi/vmmapi.h index 751cfa6ca330..ea869a0c1749 100644 --- a/lib/libvmmapi/vmmapi.h +++ b/lib/libvmmapi/vmmapi.h @@ -157,17 +157,17 @@ int vm_get_register_set(struct vcpu *vcpu, unsigned int count, int vm_run(struct vcpu *vcpu, struct vm_run *vmrun); int vm_suspend(struct vmctx *ctx, enum vm_suspend_how how); int vm_reinit(struct vmctx *ctx); -int vm_apicid2vcpu(struct vmctx *ctx, int apicid); +int vm_raise_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg, + int bus, int slot, int func); #ifdef __aarch64__ int vm_attach_vgic(struct vmctx *ctx, uint64_t dist_start, size_t dist_size, uint64_t redist_start, size_t redist_size); int vm_assert_irq(struct vmctx *ctx, uint32_t irq); int vm_deassert_irq(struct vmctx *ctx, uint32_t irq); -int vm_raise_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg, int bus, - int slot, int func); int vm_inject_exception(struct vcpu *vcpu, uint64_t esr, uint64_t far); #endif #ifdef __amd64__ +int vm_apicid2vcpu(struct vmctx *ctx, int apicid); int vm_inject_exception(struct vcpu *vcpu, int vector, int errcode_valid, uint32_t errcode, int restart_instruction); int vm_lapic_irq(struct vcpu *vcpu, int vector); From nobody Wed Apr 10 15:19:10 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61W2kqGz5HHSJ; Wed, 10 Apr 2024 15:19: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 4VF61W11Sdz4mwm; Wed, 10 Apr 2024 15:19:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bVIESvXEQkkurVtx0/qEPyAbz6Oj8v3E5gzC+dPi8Vg=; b=GOd3GWayz8ZpKKQ/rtLB0ydIH9lKn8my2PmlpkF00Bmt3Cz0SSjwt96nphjzwkNvXdgfJF ubC6TeQz5DHg2BmY3e62SiWdPlLrwaJblFfC+lPxwhQhJUIZPLcW/04xDLKZD4u1ZML6U+ Y1Et0C+xisg0G8hHYQl2LkvlqtyUmo1RbqX92IjsxonrxW1Xtb/3a4XGucHOV8dRBGQive dl6S3NffITc7dO68+3G2ppqEFGpnyFZD91duvBn842F79GpRPNngGIS0w8A31DlmlUxTZp 9+ddYzab/Sqysr+DVGZvJnPgVWxa4ls4Neu0buX+mvCpyvSkGqfE/bExRm8WpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762351; a=rsa-sha256; cv=none; b=LcZRahANY8yQY702uO2MHW9T620Gdqr1HQfQO140PEbjxt3KstPZNzIut3/0PN/NUoTWkX F4aa8LEKwreqQ08o6bjb1RwC5SpOhGQxWVnOxKjGwzEI1wNpnUerkb9Dz9tpwzJlShjS80 gmrbUmQPmfy9L4RMKgYzbKJ2pg3xuQN9TfP7WamvvK3xx0FbOHYqF/qCz2EH+0YeSQpgdB 5Zo2fg3KnzM9yXp2MmD+QaPehEbzfC8gvuXwTecOC9FGKJz0JoOjJUVkULu7ES2ooGaLQH 1GNSsFsfZZ+yTyPGqISfA7oLOKy5O/dVKMguqiPRyQPOQZHVLbfZ3QH19rQL1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bVIESvXEQkkurVtx0/qEPyAbz6Oj8v3E5gzC+dPi8Vg=; b=v6GK85szz00cDx4CBEvN786ZyHoIUny+gG5PnzZ2i3op0YnPTKorFI4vJhM5KdUl/ZOEDp JsnDXcSFvku4/bBgTOj2leKJNM4yFirp0A2aEO33yA06lOD0H7fxf3C+fWJ4VwHPaf0v+1 2I5qi3q3Q8MIVo6LjI5fk0EeciYCEROLhllRtDCcP9Ym7v5Uczqi35AV9ivfsy3vTgA8uu Y3Gaer3j2WJ+6e3YduYQMCn/qJUfT62kNk52xhbPEiU/vS7mO7Yrb1FwhTZ8W0Z7HAYMie vIYjIa0zXCuBYPFzhjDsbXU0HAervSGwvJbd0NAUR6lmlJDv6yFqq/QcYMrRNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61W0ZMHzjXg; Wed, 10 Apr 2024 15:19:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJAnr093057; Wed, 10 Apr 2024 15:19:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJA1m093054; Wed, 10 Apr 2024 15:19:10 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:10 GMT Message-Id: <202404101519.43AFJA1m093054@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: 5ec6c3007e36 - main - libvmmapi: Add arm64 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: dev-commits-src-main+owner@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: 5ec6c3007e36736a979434d9bf5c9e22293970b3 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5ec6c3007e36736a979434d9bf5c9e22293970b3 commit 5ec6c3007e36736a979434d9bf5c9e22293970b3 Author: Mark Johnston AuthorDate: 2024-04-03 17:07:51 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 libvmmapi: Add arm64 support - Define wrappers for some MD ioctls. - Provide a list of vmm device ioctls for cap_ioctl_limit(). - Disable use of the lowmem region. Reviewed by: corvink MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41005 --- lib/libvmmapi/aarch64/Makefile.inc | 1 + lib/libvmmapi/aarch64/vmmapi_machdep.c | 127 +++++++++++++++++++++++++++++++++ lib/libvmmapi/vmmapi.c | 4 ++ lib/libvmmapi/vmmapi.h | 9 +++ 4 files changed, 141 insertions(+) diff --git a/lib/libvmmapi/aarch64/Makefile.inc b/lib/libvmmapi/aarch64/Makefile.inc new file mode 100644 index 000000000000..663ea0ab90a3 --- /dev/null +++ b/lib/libvmmapi/aarch64/Makefile.inc @@ -0,0 +1 @@ +SRCS+= vmmapi_machdep.c diff --git a/lib/libvmmapi/aarch64/vmmapi_machdep.c b/lib/libvmmapi/aarch64/vmmapi_machdep.c new file mode 100644 index 000000000000..5440adaaf3ef --- /dev/null +++ b/lib/libvmmapi/aarch64/vmmapi_machdep.c @@ -0,0 +1,127 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2011 NetApp, 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 NETAPP, INC ``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 NETAPP, INC 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 +#include + +#include +#include +#include + +#include +#include + +#include "vmmapi.h" +#include "internal.h" + +const char *vm_capstrmap[] = { + [VM_CAP_MAX] = NULL, +}; + +#define VM_MD_IOCTLS \ + VM_GET_VGIC_VERSION, \ + VM_ATTACH_VGIC, \ + VM_ASSERT_IRQ, \ + VM_DEASSERT_IRQ, \ + VM_RAISE_MSI + +const cap_ioctl_t vm_ioctl_cmds[] = { + VM_COMMON_IOCTLS, + VM_MD_IOCTLS, +}; +size_t vm_ioctl_ncmds = nitems(vm_ioctl_cmds); + +int +vm_attach_vgic(struct vmctx *ctx, uint64_t dist_start, size_t dist_size, + uint64_t redist_start, size_t redist_size) +{ + struct vm_vgic_descr vgic; + int error; + + bzero(&vgic, sizeof(vgic)); + error = ioctl(ctx->fd, VM_GET_VGIC_VERSION, &vgic.ver); + if (error != 0) + return (error); + assert(vgic.ver.version == 3); + vgic.v3_regs.dist_start = dist_start; + vgic.v3_regs.dist_size = dist_size; + vgic.v3_regs.redist_start = redist_start; + vgic.v3_regs.redist_size = redist_size; + + return (ioctl(ctx->fd, VM_ATTACH_VGIC, &vgic)); +} + +int +vm_assert_irq(struct vmctx *ctx, uint32_t irq) +{ + struct vm_irq vi; + + bzero(&vi, sizeof(vi)); + vi.irq = irq; + + return (ioctl(ctx->fd, VM_ASSERT_IRQ, &vi)); +} + +int +vm_deassert_irq(struct vmctx *ctx, uint32_t irq) +{ + struct vm_irq vi; + + bzero(&vi, sizeof(vi)); + vi.irq = irq; + + return (ioctl(ctx->fd, VM_DEASSERT_IRQ, &vi)); +} + +int +vm_raise_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg, int bus, int slot, + int func) +{ + struct vm_msi vmsi; + + bzero(&vmsi, sizeof(vmsi)); + vmsi.addr = addr; + vmsi.msg = msg; + vmsi.bus = bus; + vmsi.slot = slot; + vmsi.func = func; + + return (ioctl(ctx->fd, VM_RAISE_MSI, &vmsi)); +} + +int +vm_inject_exception(struct vcpu *vcpu, uint64_t esr, uint64_t far) +{ + struct vm_exception vmexc; + + bzero(&vmexc, sizeof(vmexc)); + vmexc.esr = esr; + vmexc.far = far; + + return (vcpu_ioctl(vcpu, VM_INJECT_EXCEPTION, &vmexc)); +} diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index ab20df3f3fc9..073aaddf4c92 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -59,7 +59,11 @@ #define MB (1024 * 1024UL) #define GB (1024 * 1024 * 1024UL) +#ifdef __amd64__ #define VM_LOWMEM_LIMIT (3 * GB) +#else +#define VM_LOWMEM_LIMIT 0 +#endif #define VM_HIGHMEM_BASE (4 * GB) /* diff --git a/lib/libvmmapi/vmmapi.h b/lib/libvmmapi/vmmapi.h index bd182b0914fc..751cfa6ca330 100644 --- a/lib/libvmmapi/vmmapi.h +++ b/lib/libvmmapi/vmmapi.h @@ -158,6 +158,15 @@ int vm_run(struct vcpu *vcpu, struct vm_run *vmrun); int vm_suspend(struct vmctx *ctx, enum vm_suspend_how how); int vm_reinit(struct vmctx *ctx); int vm_apicid2vcpu(struct vmctx *ctx, int apicid); +#ifdef __aarch64__ +int vm_attach_vgic(struct vmctx *ctx, uint64_t dist_start, size_t dist_size, + uint64_t redist_start, size_t redist_size); +int vm_assert_irq(struct vmctx *ctx, uint32_t irq); +int vm_deassert_irq(struct vmctx *ctx, uint32_t irq); +int vm_raise_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg, int bus, + int slot, int func); +int vm_inject_exception(struct vcpu *vcpu, uint64_t esr, uint64_t far); +#endif #ifdef __amd64__ int vm_inject_exception(struct vcpu *vcpu, int vector, int errcode_valid, uint32_t errcode, int restart_instruction); From nobody Wed Apr 10 15:19:13 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61Y5Fr8z5HHSQ; Wed, 10 Apr 2024 15:19: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 4VF61Y3DvMz4n0Q; Wed, 10 Apr 2024 15:19:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DcqHQ0iU96wFecnYyFdL85M1bUOeN+SVIxh5yAmF5ME=; b=BNwOlKlGNBK5Lkam9yi8+9wanIV5yvwktddepTZJl1mZlv6M/U7W4zJ8iL9aZLN7h71cqx UeeM2Xjm45MZ+bMFQ1gRGHWnjZZ0j+ftmGBcQWAnjzEuKsC8Cf5RGCOd0pL9MXz+jxEWcY CmMpSfy1D+Hl5+OM1VVO70xk9XJvvHzXHJEHxgTvK285AMUYwWP9Ip2u95ZHxFbX4/7krG d6ifyiT34w859dCUXfAR3InYPLK7V+Pp2GGH9Io+Ar9pLFzGB4LWrYAuhHTJrGGqUOJpgD sjoO3aGL4Brv3f37K8JvEt4ey/Wu8vbIZ1Q1lN/EUgcd2ECTpwWTWu2aFH2BFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762353; a=rsa-sha256; cv=none; b=Hg+Kmcpc70G7FQaS57WCAX1p+ldHHG3JJ+zsa4PtkRthw1IH42LWoPKwXDPwPYVUTZyfxZ tlpzgxS5C+KRU25pKdqkpbzq65wzn2BETmaVqMwjlSci7n69j0ctIW2+FvAkN9SXZHx0ks eW9/W9DQG3o929q8U5irPwPgZJbGvwEU0HHFehqR/HJs8Qv0s8+9CEWDXnDKbJAtQLrb0K Xvbg155n15vn9l770ohpynAsLOxs9DqfXfFuZ2Y5dNUyrHUKBUYpjBXoYAyHp/FwuJkG6V jKMib9ft7nukYc5CNQoTo6+HgWCR9kD1v4hTvDpVZE4M5psNeh8pziu6XaGlcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DcqHQ0iU96wFecnYyFdL85M1bUOeN+SVIxh5yAmF5ME=; b=RRcXTzn6aqtVjf6wE7r0mbHhtdA0iX9WjXJIMIx6ZhYwggmzx6Qd0Izw0UgKJuH2x4wMk+ /C33NtOxPKpx0ALMZcyZnMtKzZ9G3r2Ok7Ali4tqQN0kwFiZEb9vykhC5RNxQsUTfDZ5if shbCmzMwfaeoUlFiN8CDZZIpLKNi2TyJFr9b+fMpsG8FQY49CSk+20CLzEPf9LRQ5UYOvJ Gh5cajVB6R34vy1F3JB5ZawEm38rp8teK1wD1fljHpzMs0mfA4mC+7r0lV9A4W9x493VV3 yIqSBzEXuobqqSQ37lAJ6imDGV+oJSrr82MvTQdLryrRXJs/d5qhakaWPaCisA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61Y2r83zjjb; Wed, 10 Apr 2024 15:19:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJDtP093162; Wed, 10 Apr 2024 15:19:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJDtI093159; Wed, 10 Apr 2024 15:19:13 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:13 GMT Message-Id: <202404101519.43AFJDtI093159@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: e499fdcb66b9 - main - libvmmapi: Zero out the structure passed to VM_GET_MEMSEG 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: dev-commits-src-main+owner@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: e499fdcb66b9ef3d9fc3c626daaefe909c65a2ab Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e499fdcb66b9ef3d9fc3c626daaefe909c65a2ab commit e499fdcb66b9ef3d9fc3c626daaefe909c65a2ab Author: Mark Johnston AuthorDate: 2024-04-03 17:09:43 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 libvmmapi: Zero out the structure passed to VM_GET_MEMSEG Avoid assuming that the kernel zeros the name buffer, it does not do this for zero-length segments. MFC after: 2 weeks Sponsored by: Innovate UK --- lib/libvmmapi/vmmapi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index 073aaddf4c92..5dcad8a16703 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -371,6 +371,7 @@ vm_get_memseg(struct vmctx *ctx, int segid, size_t *lenp, char *namebuf, size_t n; int error; + bzero(&memseg, sizeof(memseg)); memseg.segid = segid; error = ioctl(ctx->fd, VM_GET_MEMSEG, &memseg); if (error == 0) { From nobody Wed Apr 10 15:19:15 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61b6WPRz5HHST; Wed, 10 Apr 2024 15:19: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 4VF61b52Ppz4nJd; Wed, 10 Apr 2024 15:19:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qUqZt4UVAteR8+tMg19X+2yh/NbT9aQLVICaFwRltJs=; b=sTXfLwycavBwkvRzHqv6HyjY2w7CIKfiJvtulIJ6SisicWtfeaCNuvneES/5bX8pBEjSNX pXvMKy0wkxM+XzhGQTDhBRcQg5JIx/sCfxM+EmXSv60ouEgOJ3UPHjUwK3A5D93B/62zei 37Q46Lvoztqpp3pgS+JgxJCNlOyC9ZIzLO4X/7Esj3fBA5ygLo/fn2X/1mNcMrho4+9wI6 PKelulivvnm2uy8cO7eDQvEwPIjxez1cFDkeb0ZOa9WaSSj56POQeo6VKWWE8T8FZk0YJp XcfeG/u4pNLsB4R1RBs0t1LPA94fY2pAjJYHHX1+hdXPv1819k4H1y5CB7CPLQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762355; a=rsa-sha256; cv=none; b=b2wpzUJLgQJQ61K0wr2RisOwvkfKBIrVa/vjzOKdok5U7VU9+2a2MJGDoHmCXLlgKWmgkO APBxm3t4EDzyyOhGCvJd3+DNBSslMpFLlDR/fwDS6bvwVUzQkv+r2xThIZzuuxKbNXmFAr 594HvhzKHzOpY1kpE56X+s6SHfdRI3unzvUUw7ewjI1IZRec7ee8981l9ryv6UGCzi9Dcz qRhUC6MJ9yNDQxSJ9Zydh2XBioTOQT1MAYCT2vf0VeX/ERvuW4K5tvUqmsSpWdk3aq/OCF WBDu9P50tHt0lCGh9oLmb2LURnGcuNt3jB+ho6WxnQzzQKmIVvihI9vI8BSU+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qUqZt4UVAteR8+tMg19X+2yh/NbT9aQLVICaFwRltJs=; b=rpFlvfLXXvxWRJJdDxM0rizrEqK0oYMRW5Jj/UMcKgct4Es2o4sRWU2U0+wEC6b7rvBBJC N+sh6ls+luyVIfZzM8TfLRrpSbEGQP4DKR5GzeRES0YidUbh1JW84fDmSBPuj9DnPUtuQF uH6NnsPfVJB+JwR3FB3pNxl9g4tdiKccYY5bwvPbV1wL57Y/q4Sd5bBGdgPO4iQNR4MQAx ThPC76vjuCW/M8cTQkjRcjZshoZhHOXWgvMnKdaflU4TBZ+mA3iW1bwa2xbXl9enugd4LO fI1ziipCxImvtQXU60ZM0iRp9jA/1MiOP9tY/Q5e/y7SOhGDkCfqp1W/SrN2OQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61b4fc8zjsL; Wed, 10 Apr 2024 15:19:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJFii093275; Wed, 10 Apr 2024 15:19:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJFit093272; Wed, 10 Apr 2024 15:19:15 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:15 GMT Message-Id: <202404101519.43AFJFit093272@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: fc98569fc370 - main - bhyve: Do not compile PCI passthrough support on arm64 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: dev-commits-src-main+owner@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: fc98569fc370c7f5a2039d472ee3b01f5a78b177 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fc98569fc370c7f5a2039d472ee3b01f5a78b177 commit fc98569fc370c7f5a2039d472ee3b01f5a78b177 Author: Mark Johnston AuthorDate: 2024-04-03 17:11:24 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 bhyve: Do not compile PCI passthrough support on arm64 Some required kernel functionality is not yet implemented. For now this means that one cannot specify host PCI register values, but that functionality is only used by amd64-specific device models for now. Note that this limitation is rather artificial; it arises only because pci_host_read_config() lives in pci_passthru.c. Reviewed by: corvink, andrew, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41738 --- usr.sbin/bhyve/Makefile | 1 - usr.sbin/bhyve/amd64/Makefile.inc | 1 + usr.sbin/bhyve/pci_emul.c | 6 +++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index efa5b4acf897..124476ef7d2f 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -40,7 +40,6 @@ SRCS= \ pci_emul.c \ pci_hostbridge.c \ pci_nvme.c \ - pci_passthru.c \ pci_virtio_9p.c \ pci_virtio_block.c \ pci_virtio_console.c \ diff --git a/usr.sbin/bhyve/amd64/Makefile.inc b/usr.sbin/bhyve/amd64/Makefile.inc index bc0ffa720d31..d281e3cf1581 100644 --- a/usr.sbin/bhyve/amd64/Makefile.inc +++ b/usr.sbin/bhyve/amd64/Makefile.inc @@ -15,6 +15,7 @@ SRCS+= \ pci_hda.c \ pci_irq.c \ pci_lpc.c \ + pci_passthru.c \ pci_uart.c \ pci_xhci.c \ pctestdev.c \ diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index e5e9e56cc3c3..9df05fda5866 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -59,8 +59,8 @@ #ifdef __amd64__ #include "amd64/pci_irq.h" #include "amd64/pci_lpc.h" -#endif #include "pci_passthru.h" +#endif #include "qemu_fwcfg.h" #define CONF1_ADDR_PORT 0x0cf8 @@ -381,7 +381,11 @@ pci_config_read_reg(const struct pcisel *const host_sel, nvlist_t *nvl, if (config == NULL) { return def; } else if (host_sel != NULL && strcmp(config, "host") == 0) { +#ifdef __amd64__ return pci_host_read_config(host_sel, reg, size); +#else + errx(1, "cannot fetch host PCI configuration"); +#endif } else { return strtol(config, NULL, 16); } From nobody Wed Apr 10 15:19:14 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61Z6JFRz5HHQZ; Wed, 10 Apr 2024 15:19: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 4VF61Z4P9Cz4n0f; Wed, 10 Apr 2024 15:19:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SQ5l7cSF1orHtQoT5TUE4+AD2LqvQt2YeCaG/EOthZw=; b=qu1UxKfICHWDKCPXiyIR8w2lxszGzQ8UAxZLwIMRIPTuJralFBw5m3vglrzfi9ZQzRp7oV Aq6j5ivIyKk0l+gTw8MAF4PdwGrjM5ccJwYBAwIu4eor1lcVxjrICsEqbPelJeoc/lEpiY VHz18a37PhD2vpH7AkVXUpKMhOyNe02o9I9n6DRjgF2cnlGSRkCsRB9qjS2xdQU9v0hXQ2 F/QYKB+PXfoBHi0xYVe/aKAZbII8NwTwPaSQMh4Nw011TmrFT/My6n3Og9oF6+Fw8OE0XG TkGFWBHNKOW/5VnDPar3w2qPlNO3/SxftjayrCruLAzouVxyjkR03SreVbA/Qg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762354; a=rsa-sha256; cv=none; b=rQqskP3px2MrLANQojG/f6yChUV8EHOTW8Cyu4fX0+7C8MkWRYEpWJn1eqZuNDHg8gS+W5 TbGn7puuJ9TcJAIT0BXKMt2qcOioT4o0IK4psMEd1TZzin7AAAHNaKGYXlF0CREA6JpHFp SzlJt4nTuEbmiGZ+hfJ8VrVGx/raQouLtLBKVe0aQSgSFNyJQ8ZTGjvEiHPJWqc7LC8rci 9PrVJqgjQIjdMviQbDGHsCDbIa+Hv2pqJKlE8ex7mHrZaR0XBNR+YmxybzpAStMrUTSQO/ ck1gT5MEMAPgeWONYiNL17WpnQ//2SF0JItSV63CNI+tnuDmx5jIg8VtKAgtXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SQ5l7cSF1orHtQoT5TUE4+AD2LqvQt2YeCaG/EOthZw=; b=XaxevkITwJlKJSXdW5rNbnTshKIo62Wt7gYjz36oeOYYGJeK3rb/W4fLr+S8K1qyVaVlvR 9R6uH1rwY9MnoBWSlJkJxLjEe2tSEbVtTKULf8oaGbvia4dWxhiu5aRbWXEbPbSzEieE1Q ZI+Q3VGq900xnBz7YL4A+YQ+cLw/uVFRkPxUFRqVoAIBMG8OzKEADGdg7vzNYpi1VuPhO5 cMKrGYglOqJUSnHRtdYsKTTqB1JHdVj7JMbGxTinpQtNze5VabHLMLerfx34CwefLfddc8 TehMZtyoBHWyhytau/U8MG2nieG+sve10CvkhZmjhM8+n/znfGgCdwAcEGfeKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61Z40FGzjwB; Wed, 10 Apr 2024 15:19:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJEFY093218; Wed, 10 Apr 2024 15:19:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJEZf093215; Wed, 10 Apr 2024 15:19:14 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:14 GMT Message-Id: <202404101519.43AFJEZf093215@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: ff50e9d53ff8 - main - bhyve: Add bhyverun and vmexit handlers for arm64 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: dev-commits-src-main+owner@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: ff50e9d53ff836bd6276c9f5a355e0ab03a99c61 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ff50e9d53ff836bd6276c9f5a355e0ab03a99c61 commit ff50e9d53ff836bd6276c9f5a355e0ab03a99c61 Author: Andrew Turner AuthorDate: 2024-04-03 17:10:41 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 bhyve: Add bhyverun and vmexit handlers for arm64 Reviewed by: corvink, jhb MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D41006 --- usr.sbin/bhyve/aarch64/Makefile.inc | 8 + usr.sbin/bhyve/aarch64/bhyverun_machdep.c | 245 ++++++++++++++++++++++++++++ usr.sbin/bhyve/aarch64/vmexit.c | 260 ++++++++++++++++++++++++++++++ usr.sbin/bhyve/bhyverun.c | 7 +- 4 files changed, 517 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/aarch64/Makefile.inc b/usr.sbin/bhyve/aarch64/Makefile.inc new file mode 100644 index 000000000000..2c7a3cac105e --- /dev/null +++ b/usr.sbin/bhyve/aarch64/Makefile.inc @@ -0,0 +1,8 @@ +SRCS+= \ + fdt.c \ + uart_pl011.c + +.PATH: ${BHYVE_SYSDIR}/sys/arm64/vmm +SRCS+= vmm_instruction_emul.c + +BHYVE_FDT_SUPPORT= diff --git a/usr.sbin/bhyve/aarch64/bhyverun_machdep.c b/usr.sbin/bhyve/aarch64/bhyverun_machdep.c new file mode 100644 index 000000000000..9b0010a78b47 --- /dev/null +++ b/usr.sbin/bhyve/aarch64/bhyverun_machdep.c @@ -0,0 +1,245 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2011 NetApp, 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 NETAPP, INC ``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 NETAPP, INC 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 +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +#include "bhyverun.h" +#include "config.h" +#include "debug.h" +#include "fdt.h" +#include "mem.h" +#include "uart_emul.h" + +/* Start of mem + 1M */ +#define FDT_BASE 0x100000 +#define FDT_SIZE (64 * 1024) + +/* Start of lowmem + 64K */ +#define UART_MMIO_BASE 0x10000 +#define UART_MMIO_SIZE 0x1000 +#define UART_INTR 32 + +#define GIC_DIST_BASE 0x2f000000 +#define GIC_DIST_SIZE 0x10000 +#define GIC_REDIST_BASE 0x2f100000 +#define GIC_REDIST_SIZE(ncpu) ((ncpu) * 2 * PAGE_SIZE_64K) + +#define PCIE_INTR 33 + +void +bhyve_init_config(void) +{ + init_config(); + + /* Set default values prior to option parsing. */ + set_config_bool("acpi_tables", false); + set_config_bool("acpi_tables_in_memory", false); + set_config_value("memory.size", "256M"); +} + +void +bhyve_init_vcpu(struct vcpu *vcpu __unused) +{ +} + +void +bhyve_start_vcpu(struct vcpu *vcpu, bool bsp __unused) +{ + fbsdrun_addcpu(vcpu_id(vcpu)); +} + +/* + * Load the specified boot code at the beginning of high memory. + */ +static void +load_bootrom(struct vmctx *ctx, const char *path, uint64_t *elrp) +{ + struct stat sb; + void *data, *gptr; + vm_paddr_t loadaddr; + off_t size; + int fd; + + fd = open(path, O_RDONLY); + if (fd < 0) + err(1, "open(%s)", path); + if (fstat(fd, &sb) != 0) + err(1, "fstat(%s)", path); + + size = sb.st_size; + + loadaddr = vm_get_highmem_base(ctx); + gptr = vm_map_gpa(ctx, loadaddr, round_page(size)); + + data = mmap(NULL, size, PROT_READ, MAP_PRIVATE, fd, 0); + if (data == MAP_FAILED) + err(1, "mmap(%s)", path); + (void)close(fd); + memcpy(gptr, data, size); + + if (munmap(data, size) != 0) + err(1, "munmap(%s)", path); + + *elrp = loadaddr; +} + +static void +mmio_uart_intr_assert(void *arg) +{ + struct vmctx *ctx = arg; + + vm_assert_irq(ctx, UART_INTR); +} + +static void +mmio_uart_intr_deassert(void *arg) +{ + struct vmctx *ctx = arg; + + vm_deassert_irq(ctx, UART_INTR); +} + +static int +mmio_uart_mem_handler(struct vcpu *vcpu __unused, int dir, + uint64_t addr, int size __unused, uint64_t *val, void *arg1, long arg2) +{ + struct uart_pl011_softc *sc = arg1; + long reg; + + reg = (addr - arg2) >> 2; + if (dir == MEM_F_WRITE) + uart_pl011_write(sc, reg, *val); + else + *val = uart_pl011_read(sc, reg); + + return (0); +} + +static bool +init_mmio_uart(struct vmctx *ctx) +{ + struct uart_pl011_softc *sc; + struct mem_range mr; + const char *path; + int error; + + path = get_config_value("console"); + if (path == NULL) + return (false); + + sc = uart_pl011_init(mmio_uart_intr_assert, mmio_uart_intr_deassert, + ctx); + if (uart_pl011_tty_open(sc, path) != 0) { + EPRINTLN("Unable to initialize backend '%s' for mmio uart", + path); + assert(0); + } + + bzero(&mr, sizeof(struct mem_range)); + mr.name = "uart"; + mr.base = UART_MMIO_BASE; + mr.size = UART_MMIO_SIZE; + mr.flags = MEM_F_RW; + mr.handler = mmio_uart_mem_handler; + mr.arg1 = sc; + mr.arg2 = mr.base; + error = register_mem(&mr); + assert(error == 0); + + return (true); +} + +static vm_paddr_t +fdt_gpa(struct vmctx *ctx) +{ + return (vm_get_highmem_base(ctx) + FDT_BASE); +} + +int +bhyve_init_platform(struct vmctx *ctx, struct vcpu *bsp) +{ + const char *bootrom; + uint64_t elr; + int error; + + bootrom = get_config_value("bootrom"); + if (bootrom == NULL) { + warnx("no bootrom specified"); + return (ENOENT); + } + load_bootrom(ctx, bootrom, &elr); + error = vm_set_register(bsp, VM_REG_GUEST_PC, elr); + if (error != 0) { + warn("vm_set_register(GUEST_PC)"); + return (error); + } + + error = fdt_init(ctx, guest_ncpus, fdt_gpa(ctx), FDT_SIZE); + if (error != 0) + return (error); + + fdt_add_gic(GIC_DIST_BASE, GIC_DIST_SIZE, GIC_REDIST_BASE, + GIC_REDIST_SIZE(guest_ncpus)); + error = vm_attach_vgic(ctx, GIC_DIST_BASE, GIC_DIST_SIZE, + GIC_REDIST_BASE, GIC_REDIST_SIZE(guest_ncpus)); + if (error != 0) { + warn("vm_attach_vgic()"); + return (error); + } + + if (init_mmio_uart(ctx)) + fdt_add_uart(UART_MMIO_BASE, UART_MMIO_SIZE, UART_INTR); + fdt_add_timer(); + fdt_add_pcie(PCIE_INTR); + + return (0); +} + +int +bhyve_init_platform_late(struct vmctx *ctx, struct vcpu *bsp __unused) +{ + int error; + + fdt_finalize(); + + error = vm_set_register(bsp, VM_REG_GUEST_X0, fdt_gpa(ctx)); + assert(error == 0); + + return (0); +} diff --git a/usr.sbin/bhyve/aarch64/vmexit.c b/usr.sbin/bhyve/aarch64/vmexit.c new file mode 100644 index 000000000000..0d328ab4ff85 --- /dev/null +++ b/usr.sbin/bhyve/aarch64/vmexit.c @@ -0,0 +1,260 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2011 NetApp, 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 NETAPP, INC ``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 NETAPP, INC 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 +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +#include "bhyverun.h" +#include "config.h" +#include "debug.h" +#include "mem.h" +#include "vmexit.h" + +static cpuset_t running_cpumask; + +static int +vmexit_inst_emul(struct vmctx *ctx __unused, struct vcpu *vcpu, + struct vm_run *vmrun) +{ + struct vm_exit *vme; + struct vie *vie; + int err; + + vme = vmrun->vm_exit; + vie = &vme->u.inst_emul.vie; + + err = emulate_mem(vcpu, vme->u.inst_emul.gpa, vie, + &vme->u.inst_emul.paging); + if (err) { + if (err == ESRCH) { + EPRINTLN("Unhandled memory access to 0x%lx\n", + vme->u.inst_emul.gpa); + } + goto fail; + } + + return (VMEXIT_CONTINUE); + +fail: + fprintf(stderr, "Failed to emulate instruction "); + FPRINTLN(stderr, "at 0x%lx", vme->pc); + return (VMEXIT_ABORT); +} + +static int +vmexit_suspend(struct vmctx *ctx, struct vcpu *vcpu, struct vm_run *vmrun) +{ + struct vm_exit *vme; + enum vm_suspend_how how; + int vcpuid = vcpu_id(vcpu); + + vme = vmrun->vm_exit; + how = vme->u.suspended.how; + + fbsdrun_deletecpu(vcpuid); + + switch (how) { + case VM_SUSPEND_RESET: + exit(0); + case VM_SUSPEND_POWEROFF: + if (get_config_bool_default("destroy_on_poweroff", false)) + vm_destroy(ctx); + exit(1); + case VM_SUSPEND_HALT: + exit(2); + default: + fprintf(stderr, "vmexit_suspend: invalid reason %d\n", how); + exit(100); + } + return (0); /* NOTREACHED */ +} + +static int +vmexit_debug(struct vmctx *ctx __unused, struct vcpu *vcpu __unused, + struct vm_run *vmrun __unused) +{ + return (VMEXIT_CONTINUE); +} + +static int +vmexit_bogus(struct vmctx *ctx __unused, struct vcpu *vcpu __unused, + struct vm_run *vmrun __unused) +{ + return (VMEXIT_CONTINUE); +} + +static uint64_t +smccc_affinity_info(uint64_t target_affinity, uint32_t lowest_affinity_level) +{ + uint64_t cpu_aff, mask = 0; + + switch (lowest_affinity_level) { + case 0: + mask |= CPU_AFF0_MASK; + /* FALLTHROUGH */ + case 1: + mask |= CPU_AFF1_MASK; + /* FALLTHROUGH */ + case 2: + mask |= CPU_AFF2_MASK; + /* FALLTHROUGH */ + case 3: + mask |= CPU_AFF3_MASK; + break; + default: + return (PSCI_RETVAL_INVALID_PARAMS); + } + + for (int vcpu = 0; vcpu < guest_ncpus; vcpu++) { + /* TODO: We should get this from the kernel */ + cpu_aff = (vcpu & 0xf) << MPIDR_AFF0_SHIFT | + ((vcpu >> 4) & 0xff) << MPIDR_AFF1_SHIFT | + ((vcpu >> 12) & 0xff) << MPIDR_AFF2_SHIFT | + (uint64_t)((vcpu >> 20) & 0xff) << MPIDR_AFF3_SHIFT; + + if ((cpu_aff & mask) == (target_affinity & mask) && + CPU_ISSET(vcpu, &running_cpumask)) { + /* Return ON if any CPUs are on */ + return (PSCI_AFFINITY_INFO_ON); + } + } + + /* No CPUs in the affinity mask are on, return OFF */ + return (PSCI_AFFINITY_INFO_OFF); +} + +static int +vmexit_smccc(struct vmctx *ctx, struct vcpu *vcpu, struct vm_run *vmrun) +{ + struct vcpu *newvcpu; + struct vm_exit *vme; + uint64_t newcpu, smccc_rv; + enum vm_suspend_how how; + int error; + + /* Return the Unknown Function Identifier by default */ + smccc_rv = SMCCC_RET_NOT_SUPPORTED; + + vme = vmrun->vm_exit; + switch (vme->u.smccc_call.func_id) { + case PSCI_FNID_VERSION: + /* We implement PSCI 1.0 */ + smccc_rv = PSCI_VER(1, 0); + break; + case PSCI_FNID_CPU_SUSPEND: + case PSCI_FNID_CPU_OFF: + break; + case PSCI_FNID_CPU_ON: + newcpu = vme->u.smccc_call.args[0]; + if (newcpu > (uint64_t)guest_ncpus) { + smccc_rv = PSCI_RETVAL_INVALID_PARAMS; + break; + } + + if (CPU_ISSET(newcpu, &running_cpumask)) { + smccc_rv = PSCI_RETVAL_ALREADY_ON; + break; + } + + newvcpu = fbsdrun_vcpu(newcpu); + assert(newvcpu != NULL); + + /* Set the context ID */ + error = vm_set_register(newvcpu, VM_REG_GUEST_X0, + vme->u.smccc_call.args[2]); + assert(error == 0); + + /* Set the start program counter */ + error = vm_set_register(newvcpu, VM_REG_GUEST_PC, + vme->u.smccc_call.args[1]); + assert(error == 0); + + vm_resume_cpu(newvcpu); + CPU_SET_ATOMIC(newcpu, &running_cpumask); + + smccc_rv = PSCI_RETVAL_SUCCESS; + break; + case PSCI_FNID_AFFINITY_INFO: + smccc_rv = smccc_affinity_info(vme->u.smccc_call.args[0], + vme->u.smccc_call.args[1]); + break; + case PSCI_FNID_SYSTEM_OFF: + case PSCI_FNID_SYSTEM_RESET: + if (vme->u.smccc_call.func_id == PSCI_FNID_SYSTEM_OFF) + how = VM_SUSPEND_POWEROFF; + else + how = VM_SUSPEND_RESET; + vm_suspend(ctx, how); + break; + default: + break; + } + + error = vm_set_register(vcpu, VM_REG_GUEST_X0, smccc_rv); + assert(error == 0); + + return (VMEXIT_CONTINUE); +} + +static int +vmexit_hyp(struct vmctx *ctx __unused, struct vcpu *vcpu __unused, + struct vm_run *vmrun) +{ + struct vm_exit *vme; + + vme = vmrun->vm_exit; + printf("unhandled exception: esr %#lx, far %#lx\n", + vme->u.hyp.esr_el2, vme->u.hyp.far_el2); + return (VMEXIT_ABORT); +} + +const vmexit_handler_t vmexit_handlers[VM_EXITCODE_MAX] = { + [VM_EXITCODE_BOGUS] = vmexit_bogus, + [VM_EXITCODE_INST_EMUL] = vmexit_inst_emul, + [VM_EXITCODE_SUSPENDED] = vmexit_suspend, + [VM_EXITCODE_DEBUG] = vmexit_debug, + [VM_EXITCODE_SMCCC] = vmexit_smccc, + [VM_EXITCODE_HYP] = vmexit_hyp, +}; diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index 8163ab0d810a..b9f00385d9e8 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -561,11 +561,12 @@ do_open(const char *vmname) int error; bool reinit, romboot; - reinit = romboot = false; + reinit = false; #ifdef __amd64__ - if (lpc_bootrom()) - romboot = true; + romboot = lpc_bootrom() != NULL; +#else + romboot = true; #endif error = vm_create(vmname); From nobody Wed Apr 10 15:19:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61c6sqLz5HHKK; Wed, 10 Apr 2024 15:19: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 4VF61c5VH1z4mxm; Wed, 10 Apr 2024 15:19:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K7j+q+Nxhe/JGjUAxBWE+x8aFxVilWPYhXfMctl0ZT8=; b=RZTof6t0qwD10PzndKntVNluuJoWUZAmz8mD1SITJXfpUjZT96Nnqx1ilhG0ujfNC6muRY PMW/8JBVjufYtQxqwEqtpdyhBmJjInblUT780IeiiR2bOt7EhGJhgXGk/rm4pJY6ik5zmd lgbYnlzI1KeO0mHVIXTHtLaPHBjz+kF8/fD0koP1leB1YHxhREioNpo6RuHgaTuoX4G7Hi 8JXjTamET3QcgmXhPLBFZh3HFDGpC5TpVadYBxc1j+b7RTvLTOjUZFpJTb7D2ml5tCsdlK osZH6OVGSRT7f13mDT5Uzb4fyv5xB2OMpvO+iW2Hv/4Y9ULPRiTOVUwqVqeGNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762356; a=rsa-sha256; cv=none; b=K3X0+YwWva3TU+aPwNIm8lFH/qL0JxztCu8JTfvRxVoGz6DUlZAPs6z1mxCFEb0TXXeEZo DxexQMnnD/HIWdM6ngEpQ+TIbdeHG9ykhxREbzsDtvAJoobzPjcg5h4+mRdbkJnKHMhf+g +mNUSKqxjukKv4LEX81kJfKnp7wwBkNK1n96B/cd0Mikjsy9dE/jMsbretGhZQFlyX+2jk 29KzBR3EKBi4vNNVAgvFdemlQFhi1hcBBIpK1SWu0+uIotShJy1cto1jK1HVvGPGnZxkNV Q5mblexkziZdm1cfWzScsVxVWnFffxdPoMnigREXShaevQjr4lz2OK8ly6rE0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K7j+q+Nxhe/JGjUAxBWE+x8aFxVilWPYhXfMctl0ZT8=; b=fC4iVUT1gWiwR3EWm0an2c1Pub+dHvVZmdSTJsrBNxlSGNqI8WWwPbUXHlH07Bth9eByyF 14EfMUJyLnmEeMKJiKxBlbxDsiKTE48eWdDTNJWxYjJfYbVBMhb8MNukV4gSU7Eq/8KRhJ LW/ZnFl/kHTGJUHsvMQD757RFiFnAMaaNajn60wlgkVRDUgVaQkpp2+OOstLh1Xl4DmCF7 CO1MKhMK+kWuAI+KjS3vsKqrbbA6RyJ2ro0nInY0VuzsUQlL9891qS3EDuVkoGryVlv2rq /ww8BXtVc0GLBSQ+/s/3dlFwbxSDxJJeNRoltT59nsAM0UBb5KzunHRtLUjXjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61c52LlzjXj; Wed, 10 Apr 2024 15:19:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJGMO093320; Wed, 10 Apr 2024 15:19:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJGZK093317; Wed, 10 Apr 2024 15:19:16 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:16 GMT Message-Id: <202404101519.43AFJGZK093317@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: f286f746f4ac - main - bhyve: Add PCI mappings for arm64 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: dev-commits-src-main+owner@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: f286f746f4ac32c58969834aeb6f9b5076b52c86 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f286f746f4ac32c58969834aeb6f9b5076b52c86 commit f286f746f4ac32c58969834aeb6f9b5076b52c86 Author: Mark Johnston AuthorDate: 2024-04-03 17:11:37 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 bhyve: Add PCI mappings for arm64 - The extended config space and BAR ranges are listed in the FDT. - Avoid referencing I/O ports in ACPI tables. Currently the arm64 port does not support ACPI in any case. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41739 --- usr.sbin/bhyve/pci_emul.c | 47 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 9 deletions(-) diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index 9df05fda5866..2da97e0a522f 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -129,20 +129,31 @@ struct boot_device { static TAILQ_HEAD(boot_list, boot_device) boot_devices = TAILQ_HEAD_INITIALIZER( boot_devices); +#if defined(__amd64__) #define PCI_EMUL_IOBASE 0x2000 #define PCI_EMUL_IOLIMIT 0x10000 +#define PCI_EMUL_IOMASK 0xffff +/* + * OVMF always uses 0xc0000000 as base address for 32 bit PCI MMIO. Don't + * change this address without changing it in OVMF. + */ +#define PCI_EMUL_MEMBASE32 0xc0000000 +#elif defined(__aarch64__) +#define PCI_EMUL_IOBASE 0x00df00000UL +#define PCI_EMUL_IOLIMIT 0x00e000000UL +#define PCI_EMUL_MEMBASE32 0x0a0000000UL +#else +#error Unsupported platform +#endif -#define PCI_EMUL_ROMSIZE 0x10000000 +#define PCI_EMUL_ROMSIZE 0x10000000 #define PCI_EMUL_ECFG_BASE 0xE0000000 /* 3.5GB */ #define PCI_EMUL_ECFG_SIZE (MAXBUSES * 1024 * 1024) /* 1MB per bus */ +#ifdef __amd64__ SYSRES_MEM(PCI_EMUL_ECFG_BASE, PCI_EMUL_ECFG_SIZE); +#endif -/* - * OVMF always uses 0xC0000000 as base address for 32 bit PCI MMIO. Don't - * change this address without changing it in OVMF. - */ -#define PCI_EMUL_MEMBASE32 0xC0000000 #define PCI_EMUL_MEMLIMIT32 PCI_EMUL_ECFG_BASE #define PCI_EMUL_MEMSIZE64 (32*GB) @@ -1635,13 +1646,25 @@ init_pci(struct vmctx *ctx) } /* - * The guest physical memory map looks like the following: + * The guest physical memory map looks like the following on amd64: * [0, lowmem) guest system memory * [lowmem, 0xC0000000) memory hole (may be absent) * [0xC0000000, 0xE0000000) PCI hole (32-bit BAR allocation) * [0xE0000000, 0xF0000000) PCI extended config window * [0xF0000000, 4GB) LAPIC, IOAPIC, HPET, firmware - * [4GB, 4GB + highmem) + * [4GB, 4GB + highmem) guest system memory + * [roundup(4GB + highmem, 32GB), ...) PCI 64-bit BAR allocation + * + * On arm64 the guest physical memory map looks like this: + * [0x0DF00000, 0x10000000) PCI I/O memory + * [0xA0000000, 0xE0000000) PCI 32-bit BAR allocation + * [0xE0000000, 0xF0000000) PCI extended config window + * [4GB, 4GB + highmem) guest system memory + * [roundup(4GB + highmem, 32GB), ...) PCI 64-bit BAR allocation + * + * "lowmem" is guest memory below 0xC0000000. amd64 guests provisioned + * with less than 3GB of RAM will have no memory above the 4GB boundary. + * System memory for arm64 guests is all above the 4GB boundary. */ /* @@ -1750,6 +1773,7 @@ pci_bus_write_dsdt(int bus) dsdt_line(" 0x0001, // Length"); dsdt_line(" ,, )"); +#ifdef __amd64__ if (bus == 0) { dsdt_indent(3); dsdt_fixed_ioport(0xCF8, 8); @@ -1780,6 +1804,7 @@ pci_bus_write_dsdt(int bus) goto done; } } +#endif assert(bi != NULL); /* i/o window */ @@ -1855,7 +1880,9 @@ pci_bus_write_dsdt(int bus) } } dsdt_unindent(2); +#ifdef __amd64__ done: +#endif dsdt_line(" }"); } @@ -2337,7 +2364,9 @@ pci_cfgrw(int in, int bus, int slot, int func, int coff, int bytes, break; case PCIBAR_IO: addr = *valp & mask; - addr &= 0xffff; +#if defined(PCI_EMUL_IOMASK) + addr &= PCI_EMUL_IOMASK; +#endif bar = addr | pi->pi_bar[idx].lobits; /* * Register the new BAR value for interception From nobody Wed Apr 10 15:19:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61f1504z5HHKM; Wed, 10 Apr 2024 15:19: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 4VF61d6lSDz4nGd; Wed, 10 Apr 2024 15:19:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762357; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BNxHdGZoiOlsvy87fduxj2cZN+MuQTH9deVzsoJ//X8=; b=ec3IasUvBZTMhIjW5OZpfJxDmewVsPuuF411IY+Gujl3I9kdeO7Bbqti3X55Y7CHB7Fz4C Wnb28CVuzLGfeukqXUWjYdZ5ABA64VVOCgvgWY0ticUb2KT3X44bLggpj6KdUWveHwtYi7 cJYfC/e+nAxx6Dbp+zvUQ4VTK0m7nUA5gTPVkwuhTXw62pHcWvPALnoYhK5ewF9bijLvvS fi6UIPRo++lyAl+CQ2sHtD/q0JwsLYmdW4+d66QmHp346aWq/G8h3WJxaDp/ORgTZP+D6v HHlU28g+9rSQDUcKY1rjDvQotvgIg9Nml6lJ2LMht6PCRGAoyH63hAZcSM3lIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762357; a=rsa-sha256; cv=none; b=xHVt8D+/Xf27RLePFaRntZLcdqHqY8eThIP0CS5pzpWA8T5DRxEDnXmuZ1HXoy+NXEgddy w5qQwpbX7HwyfOzq9bWoh68xjaEB7iA5exS9fomNkraEbycc3CM1BZSs9Slpf/tw/5DPG5 fZcb9rfLvZyrxaw2S4354yDYPd0Vf4ZNKYrMZbH7ik68yG46Vloqr9fkWhkcBb2zdJjIin 5rb8ByJohwOr8C+0QV5uiSU8uFsLeZtn9Ifk1ocJCV3rtse4qnxdlV+IibJf5HJe5Jzzmh /wpB41u1lHmqSulh4o5HHKzbl9BCXv/I+2mYQVGYv6bkl8nloyvnjrvySUnyDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762357; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BNxHdGZoiOlsvy87fduxj2cZN+MuQTH9deVzsoJ//X8=; b=nf1kXc8Jl/GkQHovkU6HMjY05MccDonIC7b5IoO8hcCvZTcnniJMDl9pydE7au4RDCgwho X9K1WcJg0sNsYGh9XPnpiZ/XonX5pGzdU6+3Aoj/m5Ac5tMjlD+Pv6TXpeHGEuvO0D4bRm IPPWlR2XKoVSCC1EYPcunHTfymT+eGRcFyoLWevnjT+FG5f+FvX4PKQH0n2Q5IC8HSAlm9 qd67gMxlBvIpfNDgmZp1kzE3c6LMM05kxx/L7kdHmPpfS8xhnWyYzmlm2d8ApO6+2rNvH1 n7uJ0K1B6PuSQGtqLpGUUUyLTzXO1kTUWqTu9zh4Dpa9n7sA/QhitkA/Vqy7gw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61d6Mzpzj7H; Wed, 10 Apr 2024 15:19:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJHiT093371; Wed, 10 Apr 2024 15:19:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJHtq093368; Wed, 10 Apr 2024 15:19:17 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:17 GMT Message-Id: <202404101519.43AFJHtq093368@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: dc6a00f2e424 - main - bhyve: Use vm_raise_msi() instead of vm_lapic_msi() 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: dev-commits-src-main+owner@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: dc6a00f2e4242521cb7099f95f87686b35b98231 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=dc6a00f2e4242521cb7099f95f87686b35b98231 commit dc6a00f2e4242521cb7099f95f87686b35b98231 Author: Mark Johnston AuthorDate: 2024-04-03 17:43:35 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 bhyve: Use vm_raise_msi() instead of vm_lapic_msi() No functional change intended. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41740 --- usr.sbin/bhyve/pci_emul.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index 2da97e0a522f..f2c9c4c9b6e7 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -1952,7 +1952,8 @@ pci_generate_msix(struct pci_devinst *pi, int index) mte = &pi->pi_msix.table[index]; if ((mte->vector_control & PCIM_MSIX_VCTRL_MASK) == 0) { /* XXX Set PBA bit if interrupt is disabled */ - vm_lapic_msi(pi->pi_vmctx, mte->addr, mte->msg_data); + vm_raise_msi(pi->pi_vmctx, mte->addr, mte->msg_data, + pi->pi_bus, pi->pi_slot, pi->pi_func); } } @@ -1961,8 +1962,9 @@ pci_generate_msi(struct pci_devinst *pi, int index) { if (pci_msi_enabled(pi) && index < pci_msi_maxmsgnum(pi)) { - vm_lapic_msi(pi->pi_vmctx, pi->pi_msi.addr, - pi->pi_msi.msg_data + index); + vm_raise_msi(pi->pi_vmctx, pi->pi_msi.addr, + pi->pi_msi.msg_data + index, + pi->pi_bus, pi->pi_slot, pi->pi_func); } } From nobody Wed Apr 10 15:19:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61g1lBXz5HHW9; Wed, 10 Apr 2024 15:19: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 4VF61g0DJVz4nKJ; Wed, 10 Apr 2024 15:19:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GmzhUz8ww33CGRktSKw+h3MeQvAXd1WbY9x/rldbUrg=; b=m4naRJOdwmz9RB0m5TrCSWqjz2WVgRFcLAhw63pPfycNNB8QaF5th3v4qHJzHnvUbOEEv3 H+3pLsA84QAYmygRwnyWqo/HAUfa6V81NSSEDnizA3jl1tADYGP9b5sEuX1D1gG6fA1umO pFFsequWtEHkzLI5QzIqN5K9R8jaKWGDjaHg2Fpbuz2V/g/NtnboSw48pXjByDii1fm11Z WvX9S+wxO9zS0sc0ZlbyZZxcive0GsDJuD5eTy7vKKtUIFgMJhDI19FGRcB5WPdXzecpkV 0/qYYS2wPR0fvqco/yUMDu0KO7SAukLPbBLd27JPrLLBqJHuuBF39Wi78VZ75g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762359; a=rsa-sha256; cv=none; b=JxyFWhlqlYY7vcAcnNfV2i8FbMZUZZ+ual3mjSGU0YbM3hcN0HGCgNt0VeSWijQ37eQnXY mntgNypF7Lsf0Uk/p3DsjQSr3ApihfDodx3OR9B2CMf2XF9S/qiqJ54UjR5ihsbbtLYd+N n83Rv/iU+rSxAJE9TtPE1aPhOToJUroJw2qbvTVE1PuPZ7y8/WSOw/F8p9hDYD7wxOjMSL aWvMac6Bz0jARi9dtGU0/VuZq4yBmnC3BbMptghMo+BaWmCiO1ezk39RnyRnPSFe4knpMj YL6Dmw4BkDNBg/qLqtFADEsc1Ec2u8ZdG7QQZVRzzHQRdWhJbSI9SizRA17s4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GmzhUz8ww33CGRktSKw+h3MeQvAXd1WbY9x/rldbUrg=; b=r7N9BO9JrA86faKXbuW65VCDu20rZ8n2mMc4ybp4WOPwWyOQBIWDKl7UyNvB7G0bjhFN7U bCfskfMssm7XdBS7WN3LAdYV7HytMbEya4JW9t9UI/AAZ9bCU4TXfcpnFtFAsZlG78NbO8 hYMCmtOlbFu4VHPLGof+ndkiNaM51ZvgmoScsLpHwnmDEb2LlV8/FfC117k8IHdEWBeKEb J4k1RvEbSXHEmm0trXtjwS0kL8V02KNCMMJrwMa6k73Cwrjm2TMaYBnmAOY2KrXiGR9coA hS70Ef7/fGdXaHvsM9fKK+3q3OyeplMUmw5RHoj+OHysgs0+j7+6+x+EEQD7VQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61f6vw2zjsw; Wed, 10 Apr 2024 15:19:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJIJu093425; Wed, 10 Apr 2024 15:19:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJIGd093422; Wed, 10 Apr 2024 15:19:18 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:18 GMT Message-Id: <202404101519.43AFJIGd093422@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: 4bb929cc6d60 - main - bhyve: Partially disable INT#x support in virtio for arm64 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: dev-commits-src-main+owner@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: 4bb929cc6d60aed8910ab02c32a7e1bd3fdfa298 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4bb929cc6d60aed8910ab02c32a7e1bd3fdfa298 commit 4bb929cc6d60aed8910ab02c32a7e1bd3fdfa298 Author: Mark Johnston AuthorDate: 2024-04-03 17:43:48 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 bhyve: Partially disable INT#x support in virtio for arm64 A FreeBSD guest won't make use of this support and pci_lintr_* is not implemented on arm64. Simply make pci_lintr_*() calls amd64-specific for now. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41741 --- usr.sbin/bhyve/virtio.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/usr.sbin/bhyve/virtio.c b/usr.sbin/bhyve/virtio.c index 26df39ceb5b3..eb09714d4f20 100644 --- a/usr.sbin/bhyve/virtio.c +++ b/usr.sbin/bhyve/virtio.c @@ -114,8 +114,10 @@ vi_reset_dev(struct virtio_softc *vs) vs->vs_negotiated_caps = 0; vs->vs_curq = 0; /* vs->vs_status = 0; -- redundant */ +#ifdef __amd64__ if (vs->vs_isr) pci_lintr_deassert(vs->vs_pi); +#endif vs->vs_isr = 0; vs->vs_msix_cfg_idx = VIRTIO_MSI_NO_VECTOR; } @@ -162,8 +164,11 @@ vi_intr_init(struct virtio_softc *vs, int barnum, int use_msix) /* Only 1 MSI vector for bhyve */ pci_emul_add_msicap(vs->vs_pi, 1); + /* XXX-MJ missing an implementation for arm64 */ +#ifdef __amd64__ /* Legacy interrupts are mandatory for virtio devices */ pci_lintr_request(vs->vs_pi); +#endif return (0); } @@ -651,8 +656,10 @@ bad: case VIRTIO_PCI_ISR: value = vs->vs_isr; vs->vs_isr = 0; /* a read clears this flag */ +#ifdef __amd64__ if (value) pci_lintr_deassert(pi); +#endif break; case VIRTIO_MSI_CONFIG_VECTOR: value = vs->vs_msix_cfg_idx; From nobody Wed Apr 10 15:19:21 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61j3mvCz5HHN2; Wed, 10 Apr 2024 15:19: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 4VF61j2TvJz4nVT; Wed, 10 Apr 2024 15:19:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=brFSH3AqLSWoSWswPDZSidaFESpBgYDtASvV3t1ADHU=; b=xL2UVNvlPW+GJfRiFELNnwKeNwMzA1aCS3vPC7TrX8dlb2kZLwj+sjK1fDRJCY1qTyLBrB /s5hfhz+tPWlt6Pzcsg0I7BhqKAdv09IW/XwxvWdgf3iM++YjwbunhTdVI2Wo3stDNVxG7 xZHw51NAiro4JgGIt/nGWbg80unaDEZYrnjiqxveBH+rrP+HH6B8EhPO3sWdM0KnP7OEgm O+C1SUKdU4WRx6vfPhAkQp3HmoxGyoVyKtNdNED9zWRZXIO/RhLCprnBZq3bpr43sWFY/W e6CJGAIyHN395zDGLuDKkqJiuP5FaBtbPRmBFS5VbSQgwybr4RvYvaqNVvup0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762361; a=rsa-sha256; cv=none; b=w+JniuX3Vu6H8apzr9p/JDnRpeWVpGC0a+B72icDslEi8kiL+YFZACvRCOlYI0j6E7HqsB /BIDANncAINL6xT5fNeefKlEG7NpIrzMjTHkcUX1dMIS6ZnBDJpxw5oWDBAhpv5aciETWe Rc6G2fJ+5ijTNQY6ppcae8OyxGxFbXVop2Gt0sIbcs7DUGDLJD44G+DvjysR2a8c5fROJn uF32OWWqPJDNcC8lcvUrvUWvIowIkl1bvxSWuLvPaM7xxlF0t62bCzgqij84n8tMSpXTSB 0/Tk710SIbtNCRmxnKYclOdLhz9+vMoIYu5AvAZaWaT+05+ZJ6xcmZANf9Kywg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=brFSH3AqLSWoSWswPDZSidaFESpBgYDtASvV3t1ADHU=; b=LqZoozz7TMYeY/G0dz/92W39BmFdpeGClUYQaFC9oqCLb7fJ6AqeKVvvFQNtt7logfCUkX 1UpZuT9vmVI2FbIzyZ4aZpnVYeWoFOFp3TWLBWoNWeGnk+sMdnwLcMq9EQNXQ0R2L2zVRq pnXKwYWqZMy7oFxLyIkkQER5DNLsPXJWzgGbvyTJrAf0CJ2xQ6xEa5fCGiEO1m49Hxfvyj unYonPUXxMK8h8qQa/wFmsCcrRyyFyDBFR5UciMYhICMJcHpS9/B179jvJUzeGOKcRGvpg Ro5JZYQqPSJ7zlMbNU3EDWAzilcUB1YnGrGlkkjXpR7tMkw4W4oGniTnsESO5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61j1tLjzjXk; Wed, 10 Apr 2024 15:19:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJLnZ093524; Wed, 10 Apr 2024 15:19:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJLlf093521; Wed, 10 Apr 2024 15:19:21 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:21 GMT Message-Id: <202404101519.43AFJLlf093521@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: 981f9f7495bb - main - bhyve: Push option parsing down into bhyverun_machdep.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: dev-commits-src-main+owner@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: 981f9f7495bb8247e0eba48e15dcc7f2e0b1b342 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=981f9f7495bb8247e0eba48e15dcc7f2e0b1b342 commit 981f9f7495bb8247e0eba48e15dcc7f2e0b1b342 Author: Mark Johnston AuthorDate: 2024-04-03 17:44:40 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 bhyve: Push option parsing down into bhyverun_machdep.c After a couple of attempts I think this is the cleanest approach despite the expense of some code duplication. Quite a few of the single-letter bhyve options are x86-specific. I think that going forward we should strongly discourage the addition of new options and instead configure guests using the more general configuration file syntax. Reviewed by: corvink, jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41753 --- usr.sbin/bhyve/aarch64/bhyverun_machdep.c | 98 ++++++++++++++ usr.sbin/bhyve/amd64/bhyverun_machdep.c | 181 +++++++++++++++++++++++++ usr.sbin/bhyve/bhyverun.c | 212 +++--------------------------- usr.sbin/bhyve/bhyverun.h | 12 ++ 4 files changed, 307 insertions(+), 196 deletions(-) diff --git a/usr.sbin/bhyve/aarch64/bhyverun_machdep.c b/usr.sbin/bhyve/aarch64/bhyverun_machdep.c index 9b0010a78b47..22b8b85e6b9b 100644 --- a/usr.sbin/bhyve/aarch64/bhyverun_machdep.c +++ b/usr.sbin/bhyve/aarch64/bhyverun_machdep.c @@ -34,7 +34,9 @@ #include #include #include +#include #include +#include #include #include @@ -44,6 +46,7 @@ #include "debug.h" #include "fdt.h" #include "mem.h" +#include "pci_emul.h" #include "uart_emul.h" /* Start of mem + 1M */ @@ -73,6 +76,101 @@ bhyve_init_config(void) set_config_value("memory.size", "256M"); } +void +bhyve_usage(int code) +{ + const char *progname; + + progname = getprogname(); + + fprintf(stderr, + "Usage: %s [-CDHhSW]\n" + " %*s [-c [[cpus=]numcpus][,sockets=n][,cores=n][,threads=n]]\n" + " %*s [-k config_file] [-m mem] [-o var=value]\n" + " %*s [-p vcpu:hostcpu] [-r file] [-s pci] [-U uuid] vmname\n" + " -C: include guest memory in core file\n" + " -c: number of CPUs and/or topology specification\n" + " -D: destroy on power-off\n" + " -h: help\n" + " -k: key=value flat config file\n" + " -m: memory size\n" + " -o: set config 'var' to 'value'\n" + " -p: pin 'vcpu' to 'hostcpu'\n" + " -S: guest memory cannot be swapped\n" + " -s: PCI slot config\n" + " -U: UUID\n" + " -W: force virtio to use single-vector MSI\n", + progname, (int)strlen(progname), "", (int)strlen(progname), "", + (int)strlen(progname), ""); + exit(code); +} + +void +bhyve_optparse(int argc, char **argv) +{ + const char *optstr; + int c; + + optstr = "hCDSWk:f:o:p:c:s:m:U:"; + while ((c = getopt(argc, argv, optstr)) != -1) { + switch (c) { + case 'c': + if (bhyve_topology_parse(optarg) != 0) { + errx(EX_USAGE, "invalid cpu topology '%s'", + optarg); + } + break; + case 'C': + set_config_bool("memory.guest_in_core", true); + break; + case 'D': + set_config_bool("destroy_on_poweroff", true); + break; + case 'k': + bhyve_parse_simple_config_file(optarg); + break; + case 'm': + set_config_value("memory.size", optarg); + break; + case 'o': + if (!bhyve_parse_config_option(optarg)) { + errx(EX_USAGE, + "invalid configuration option '%s'", + optarg); + } + break; + case 'p': + if (bhyve_pincpu_parse(optarg) != 0) { + errx(EX_USAGE, + "invalid vcpu pinning configuration '%s'", + optarg); + } + break; + case 's': + if (strncmp(optarg, "help", strlen(optarg)) == 0) { + pci_print_supported_devices(); + exit(0); + } else if (pci_parse_slot(optarg) != 0) + exit(4); + else + break; + case 'S': + set_config_bool("memory.wired", true); + break; + case 'U': + set_config_value("uuid", optarg); + break; + case 'W': + set_config_bool("virtio_msix", false); + break; + case 'h': + bhyve_usage(0); + default: + bhyve_usage(1); + } + } +} + void bhyve_init_vcpu(struct vcpu *vcpu __unused) { diff --git a/usr.sbin/bhyve/amd64/bhyverun_machdep.c b/usr.sbin/bhyve/amd64/bhyverun_machdep.c index 4f482586f900..fc2f91e31db7 100644 --- a/usr.sbin/bhyve/amd64/bhyverun_machdep.c +++ b/usr.sbin/bhyve/amd64/bhyverun_machdep.c @@ -30,6 +30,7 @@ #include #include #include +#include #include @@ -44,6 +45,7 @@ #include "inout.h" #include "kernemu_dev.h" #include "mptbl.h" +#include "pci_emul.h" #include "pci_irq.h" #include "pci_lpc.h" #include "rtc.h" @@ -63,6 +65,185 @@ bhyve_init_config(void) set_config_value("lpc.fwcfg", "bhyve"); } +void +bhyve_usage(int code) +{ + const char *progname; + + progname = getprogname(); + + fprintf(stderr, + "Usage: %s [-AaCDeHhPSuWwxY]\n" + " %*s [-c [[cpus=]numcpus][,sockets=n][,cores=n][,threads=n]]\n" + " %*s [-G port] [-k config_file] [-l lpc] [-m mem] [-o var=value]\n" + " %*s [-p vcpu:hostcpu] [-r file] [-s pci] [-U uuid] vmname\n" + " -A: create ACPI tables\n" + " -a: local apic is in xAPIC mode (deprecated)\n" + " -C: include guest memory in core file\n" + " -c: number of CPUs and/or topology specification\n" + " -D: destroy on power-off\n" + " -e: exit on unhandled I/O access\n" + " -G: start a debug server\n" + " -H: vmexit from the guest on HLT\n" + " -h: help\n" + " -k: key=value flat config file\n" + " -K: PS2 keyboard layout\n" + " -l: LPC device configuration\n" + " -m: memory size\n" + " -o: set config 'var' to 'value'\n" + " -P: vmexit from the guest on pause\n" + " -p: pin 'vcpu' to 'hostcpu'\n" +#ifdef BHYVE_SNAPSHOT + " -r: path to checkpoint file\n" +#endif + " -S: guest memory cannot be swapped\n" + " -s: PCI slot config\n" + " -U: UUID\n" + " -u: RTC keeps UTC time\n" + " -W: force virtio to use single-vector MSI\n" + " -w: ignore unimplemented MSRs\n" + " -x: local APIC is in x2APIC mode\n" + " -Y: disable MPtable generation\n", + progname, (int)strlen(progname), "", (int)strlen(progname), "", + (int)strlen(progname), ""); + exit(code); +} + +void +bhyve_optparse(int argc, char **argv) +{ + const char *optstr; + int c; + +#ifdef BHYVE_SNAPSHOT + optstr = "aehuwxACDHIPSWYk:f:o:p:G:c:s:m:l:K:U:r:"; +#else + optstr = "aehuwxACDHIPSWYk:f:o:p:G:c:s:m:l:K:U:"; +#endif + while ((c = getopt(argc, argv, optstr)) != -1) { + switch (c) { + case 'a': + set_config_bool("x86.x2apic", false); + break; + case 'A': + /* + * NOP. For backward compatibility. Most systems don't + * work properly without sane ACPI tables. Therefore, + * we're always generating them. + */ + break; + case 'D': + set_config_bool("destroy_on_poweroff", true); + break; + case 'p': + if (bhyve_pincpu_parse(optarg) != 0) { + errx(EX_USAGE, "invalid vcpu pinning " + "configuration '%s'", optarg); + } + break; + case 'c': + if (bhyve_topology_parse(optarg) != 0) { + errx(EX_USAGE, "invalid cpu topology " + "'%s'", optarg); + } + break; + case 'C': + set_config_bool("memory.guest_in_core", true); + break; + case 'f': + if (qemu_fwcfg_parse_cmdline_arg(optarg) != 0) { + errx(EX_USAGE, "invalid fwcfg item '%s'", + optarg); + } + break; + case 'G': + bhyve_parse_gdb_options(optarg); + break; + case 'k': + bhyve_parse_simple_config_file(optarg); + break; + case 'K': + set_config_value("keyboard.layout", optarg); + break; + case 'l': + if (strncmp(optarg, "help", strlen(optarg)) == 0) { + lpc_print_supported_devices(); + exit(0); + } else if (lpc_device_parse(optarg) != 0) { + errx(EX_USAGE, "invalid lpc device " + "configuration '%s'", optarg); + } + break; +#ifdef BHYVE_SNAPSHOT + case 'r': + restore_file = optarg; + break; +#endif + case 's': + if (strncmp(optarg, "help", strlen(optarg)) == 0) { + pci_print_supported_devices(); + exit(0); + } else if (pci_parse_slot(optarg) != 0) + exit(4); + else + break; + case 'S': + set_config_bool("memory.wired", true); + break; + case 'm': + set_config_value("memory.size", optarg); + break; + case 'o': + if (!bhyve_parse_config_option(optarg)) { + errx(EX_USAGE, + "invalid configuration option '%s'", + optarg); + } + break; + case 'H': + set_config_bool("x86.vmexit_on_hlt", true); + break; + case 'I': + /* + * The "-I" option was used to add an ioapic to the + * virtual machine. + * + * An ioapic is now provided unconditionally for each + * virtual machine and this option is now deprecated. + */ + break; + case 'P': + set_config_bool("x86.vmexit_on_pause", true); + break; + case 'e': + set_config_bool("x86.strictio", true); + break; + case 'u': + set_config_bool("rtc.use_localtime", false); + break; + case 'U': + set_config_value("uuid", optarg); + break; + case 'w': + set_config_bool("x86.strictmsr", false); + break; + case 'W': + set_config_bool("virtio_msix", false); + break; + case 'x': + set_config_bool("x86.x2apic", true); + break; + case 'Y': + set_config_bool("x86.mptable", false); + break; + case 'h': + bhyve_usage(0); + default: + bhyve_usage(1); + } + } +} + void bhyve_init_vcpu(struct vcpu *vcpu) { diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c index b9f00385d9e8..1c3b810efb02 100644 --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -100,7 +100,6 @@ uint16_t cpu_cores, cpu_sockets, cpu_threads; int raw_stdio = 0; -static char *progname; static const int BSP = 0; static cpuset_t cpumask; @@ -115,48 +114,6 @@ static struct vcpu_info { static cpuset_t **vcpumap; -static void -usage(int code) -{ - - fprintf(stderr, - "Usage: %s [-AaCDeHhPSuWwxY]\n" - " %*s [-c [[cpus=]numcpus][,sockets=n][,cores=n][,threads=n]]\n" - " %*s [-G port] [-k config_file] [-l lpc] [-m mem] [-o var=value]\n" - " %*s [-p vcpu:hostcpu] [-r file] [-s pci] [-U uuid] vmname\n" - " -A: create ACPI tables\n" - " -a: local apic is in xAPIC mode (deprecated)\n" - " -C: include guest memory in core file\n" - " -c: number of CPUs and/or topology specification\n" - " -D: destroy on power-off\n" - " -e: exit on unhandled I/O access\n" - " -G: start a debug server\n" - " -H: vmexit from the guest on HLT\n" - " -h: help\n" - " -k: key=value flat config file\n" - " -K: PS2 keyboard layout\n" - " -l: LPC device configuration\n" - " -m: memory size\n" - " -o: set config 'var' to 'value'\n" - " -P: vmexit from the guest on pause\n" - " -p: pin 'vcpu' to 'hostcpu'\n" -#ifdef BHYVE_SNAPSHOT - " -r: path to checkpoint file\n" -#endif - " -S: guest memory cannot be swapped\n" - " -s: PCI slot config\n" - " -U: UUID\n" - " -u: RTC keeps UTC time\n" - " -W: force virtio to use single-vector MSI\n" - " -w: ignore unimplemented MSRs\n" - " -x: local APIC is in x2APIC mode\n" - " -Y: disable MPtable generation\n", - progname, (int)strlen(progname), "", (int)strlen(progname), "", - (int)strlen(progname), ""); - - exit(code); -} - /* * XXX This parser is known to have the following issues: * 1. It accepts null key=value tokens ",," as setting "cpus" to an @@ -165,8 +122,8 @@ usage(int code) * The acceptance of a null specification ('-c ""') is by design to match the * manual page syntax specification, this results in a topology of 1 vCPU. */ -static int -topology_parse(const char *opt) +int +bhyve_topology_parse(const char *opt) { char *cp, *str, *tofree; @@ -275,8 +232,8 @@ calc_topology(void) guest_ncpus = ncpus; } -static int -pincpu_parse(const char *opt) +int +bhyve_pincpu_parse(const char *opt) { const char *value; char *newval; @@ -619,8 +576,8 @@ do_open(const char *vmname) return (ctx); } -static bool -parse_config_option(const char *option) +bool +bhyve_parse_config_option(const char *option) { const char *value; char *path; @@ -635,8 +592,8 @@ parse_config_option(const char *option) return (true); } -static void -parse_simple_config_file(const char *path) +void +bhyve_parse_simple_config_file(const char *path) { FILE *fp; char *line, *cp; @@ -655,7 +612,7 @@ parse_simple_config_file(const char *path) cp = strchr(line, '\n'); if (cp != NULL) *cp = '\0'; - if (!parse_config_option(line)) + if (!bhyve_parse_config_option(line)) errx(4, "%s line %u: invalid config option '%s'", path, lineno, line); } @@ -664,8 +621,8 @@ parse_simple_config_file(const char *path) } #ifdef BHYVE_GDB -static void -parse_gdb_options(const char *opt) +void +bhyve_parse_gdb_options(const char *opt) { const char *sport; char *colon; @@ -692,12 +649,12 @@ parse_gdb_options(const char *opt) int main(int argc, char *argv[]) { - int c, error; + int error; int max_vcpus, memflags; struct vcpu *bsp; struct vmctx *ctx; size_t memsize; - const char *optstr, *value, *vmname; + const char *value, *vmname; #ifdef BHYVE_SNAPSHOT char *restore_file; struct restore_state rstate; @@ -706,149 +663,12 @@ main(int argc, char *argv[]) #endif bhyve_init_config(); - - progname = basename(argv[0]); - -#ifdef BHYVE_SNAPSHOT - optstr = "aehuwxACDHIPSWYk:f:o:p:G:c:s:m:l:K:U:r:"; -#else - optstr = "aehuwxACDHIPSWYk:f:o:p:G:c:s:m:l:K:U:"; -#endif - while ((c = getopt(argc, argv, optstr)) != -1) { - switch (c) { -#ifdef __amd64__ - case 'a': - set_config_bool("x86.x2apic", false); - break; -#endif - case 'A': - /* - * NOP. For backward compatibility. Most systems don't - * work properly without sane ACPI tables. Therefore, - * we're always generating them. - */ - break; - case 'D': - set_config_bool("destroy_on_poweroff", true); - break; - case 'p': - if (pincpu_parse(optarg) != 0) { - errx(EX_USAGE, "invalid vcpu pinning " - "configuration '%s'", optarg); - } - break; - case 'c': - if (topology_parse(optarg) != 0) { - errx(EX_USAGE, "invalid cpu topology " - "'%s'", optarg); - } - break; - case 'C': - set_config_bool("memory.guest_in_core", true); - break; - case 'f': - if (qemu_fwcfg_parse_cmdline_arg(optarg) != 0) { - errx(EX_USAGE, "invalid fwcfg item '%s'", optarg); - } - break; -#ifdef BHYVE_GDB - case 'G': - parse_gdb_options(optarg); - break; -#endif - case 'k': - parse_simple_config_file(optarg); - break; - case 'K': - set_config_value("keyboard.layout", optarg); - break; -#ifdef __amd64__ - case 'l': - if (strncmp(optarg, "help", strlen(optarg)) == 0) { - lpc_print_supported_devices(); - exit(0); - } else if (lpc_device_parse(optarg) != 0) { - errx(EX_USAGE, "invalid lpc device " - "configuration '%s'", optarg); - } - break; -#endif -#ifdef BHYVE_SNAPSHOT - case 'r': - restore_file = optarg; - break; -#endif - case 's': - if (strncmp(optarg, "help", strlen(optarg)) == 0) { - pci_print_supported_devices(); - exit(0); - } else if (pci_parse_slot(optarg) != 0) - exit(4); - else - break; - case 'S': - set_config_bool("memory.wired", true); - break; - case 'm': - set_config_value("memory.size", optarg); - break; - case 'o': - if (!parse_config_option(optarg)) - errx(EX_USAGE, "invalid configuration option '%s'", optarg); - break; -#ifdef __amd64__ - case 'H': - set_config_bool("x86.vmexit_on_hlt", true); - break; - case 'I': - /* - * The "-I" option was used to add an ioapic to the - * virtual machine. - * - * An ioapic is now provided unconditionally for each - * virtual machine and this option is now deprecated. - */ - break; - case 'P': - set_config_bool("x86.vmexit_on_pause", true); - break; - case 'e': - set_config_bool("x86.strictio", true); - break; - case 'u': - set_config_bool("rtc.use_localtime", false); - break; -#endif - case 'U': - set_config_value("uuid", optarg); - break; -#ifdef __amd64__ - case 'w': - set_config_bool("x86.strictmsr", false); - break; -#endif - case 'W': - set_config_bool("virtio_msix", false); - break; -#ifdef __amd64__ - case 'x': - set_config_bool("x86.x2apic", true); - break; - case 'Y': - set_config_bool("x86.mptable", false); - break; -#endif - case 'h': - usage(0); - default: - usage(1); - } - } + bhyve_optparse(argc, argv); argc -= optind; argv += optind; if (argc > 1) - usage(1); + bhyve_usage(1); #ifdef BHYVE_SNAPSHOT if (restore_file != NULL) { @@ -869,7 +689,7 @@ main(int argc, char *argv[]) vmname = get_config_value("name"); if (vmname == NULL) - usage(1); + bhyve_usage(1); if (get_config_bool_default("config.dump", false)) { dump_config(); diff --git a/usr.sbin/bhyve/bhyverun.h b/usr.sbin/bhyve/bhyverun.h index 5fe97ca07f0b..e6ff90e5daa0 100644 --- a/usr.sbin/bhyve/bhyverun.h +++ b/usr.sbin/bhyve/bhyverun.h @@ -58,6 +58,18 @@ typedef int (*vmexit_handler_t)(struct vmctx *, struct vcpu *, struct vm_run *); /* Interfaces implemented by machine-dependent code. */ void bhyve_init_config(void); +void bhyve_optparse(int argc, char **argv); +void bhyve_usage(int code); + +/* Interfaces used by command-line option-parsing code. */ +bool bhyve_parse_config_option(const char *option); +void bhyve_parse_simple_config_file(const char *path); +#ifdef BHYVE_GDB +void bhyve_parse_gdb_options(const char *opt); +#endif +int bhyve_pincpu_parse(const char *opt); +int bhyve_topology_parse(const char *opt); + void bhyve_init_vcpu(struct vcpu *vcpu); void bhyve_start_vcpu(struct vcpu *vcpu, bool bsp); int bhyve_init_platform(struct vmctx *ctx, struct vcpu *bsp); From nobody Wed Apr 10 15:19:20 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61h32CHz5HHN1; Wed, 10 Apr 2024 15:19: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 4VF61h1W0yz4nMl; Wed, 10 Apr 2024 15:19:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Empl6ADoqQsNoNq1pVikO5u0cnkwHc0hDsyad3KMoaw=; b=l09yY4H4PGq82ccDipJsLyeiAUWyMr7sfwGTCbc2qJPYnkBNHlzvUIz3NHAHKRPZ+80IvQ dNEzhYLb7wWCBqAX9vcnTIRUKNAN9RgN9lBWOGzHlIS60Hhr5kKGgFlmUX9ZrHUROLyQ5Y NCNamA/qYUqRgpVVJRoQKbNFI88OYiKgkBiJM7UMsAQNET0Bl3DmsK5GEa8rPlu1Q0oA3B GDIkz95mA40k+FydxVMEwfxI3YuvM0+I5gfAMuutkjrmCZRDe8gImGGs43bhQqSPo2PpLg pdggu6qvq5RtioXHBcV4+VDMAzvoDUcZCQQvAhChEEvdhgnySBYFQxV5fgXCfg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762360; a=rsa-sha256; cv=none; b=eGHE5k89Wx7nxmZO2Z6UvrSRuSOHa2EG1BzmoJbDHsprYqExSOPPVjoAGuPrMuWWGld5vH EgXxUtaibCQqTHnf75/iKUp+por4XJypxHyzZ3MJUMzBDYAIcZQ++ZmDCDnDmfjikqNLqQ 9dJFiubRcpIDVeP4ubzViKRx+vQ2658q9BqlcHrEhOdd5AD7Wp5KdfH4MU8jr06981anyZ IRbIVGNZ7kS3nWiDeL6ofzwhvNAjllernqZh7qRg/gAJr+bhqWQe+MiQu/EAwj6SDoODb0 vj22iEO1ld4nBjvA5whK5WbUVkhOIYJu27Dov5TyISWhQaKZgjt65D7LPHDeiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Empl6ADoqQsNoNq1pVikO5u0cnkwHc0hDsyad3KMoaw=; b=M/e8noHEmgTFDF6gDCcEGcOcEeMt/rGImLaBmibiPKMp6d5eQtrMZ5NiP8jJ7oNXRRVW6K dxQx4ilekshryEJLtpSAhscPxUuM1dsFSH8r6ecSOrW0hXSLjnZTkeaDQbYqxemhFabJw1 OiNhAOWYnsiz3OmQqursKc97tMy2zsTqYOkDuF7ZYUq4XoqjTCB1NV5JLnbeq+y1PsrLPI 3oAfjGwQw1pZPL88dFvdArw7DmDqyC/Y8LFLl8Ic7r3dSbJ4lCg8c9QWQ/e929XfMAR8pu dpm/9W0n58VzbLx/A07UaWmSM4d073HgTi3UKkN7iz9eMVofPQ03MRrExWy/LA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61h1750zjSJ; Wed, 10 Apr 2024 15:19:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJKuP093476; Wed, 10 Apr 2024 15:19:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJKLu093473; Wed, 10 Apr 2024 15:19:20 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:20 GMT Message-Id: <202404101519.43AFJKLu093473@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: 11c79f9e358d - main - arm64: Connect bhyve and libvmmapi to the 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: dev-commits-src-main+owner@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: 11c79f9e358d725dd75d91d2ff2996fd77dc88e5 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=11c79f9e358d725dd75d91d2ff2996fd77dc88e5 commit 11c79f9e358d725dd75d91d2ff2996fd77dc88e5 Author: Mark Johnston AuthorDate: 2024-04-03 17:44:29 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 arm64: Connect bhyve and libvmmapi to the build Reviewed by: corvink, andrew, jhb, emaste MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41742 --- lib/Makefile | 3 +++ tools/build/options/WITHOUT_BHYVE | 2 +- usr.sbin/Makefile.aarch64 | 4 +++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/Makefile b/lib/Makefile index a3c4dd966040..cd1476a62d35 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -203,6 +203,9 @@ SUBDIR.${MK_PMC}+= libopencsd .if ${MACHINE_CPUARCH} == "amd64" SUBDIR.${MK_PMC}+= libipt +.endif + +.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64" SUBDIR.${MK_BHYVE}+= libvmmapi .endif diff --git a/tools/build/options/WITHOUT_BHYVE b/tools/build/options/WITHOUT_BHYVE index 44b992b5a286..5d523bc58b0a 100644 --- a/tools/build/options/WITHOUT_BHYVE +++ b/tools/build/options/WITHOUT_BHYVE @@ -2,4 +2,4 @@ Do not build or install .Xr bhyve 8 , associated utilities, and examples. .Pp -This option only affects amd64/amd64. +This option only affects amd64/amd64 and arm64/aarch64. diff --git a/usr.sbin/Makefile.aarch64 b/usr.sbin/Makefile.aarch64 index a72a085ff618..6302b6a78ef7 100644 --- a/usr.sbin/Makefile.aarch64 +++ b/usr.sbin/Makefile.aarch64 @@ -1,4 +1,6 @@ - .if ${MK_ACPI} != "no" SUBDIR+= acpi .endif +.if ${MK_BHYVE} != "no" +SUBDIR+= bhyve +.endif From nobody Wed Apr 10 15:19:22 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61k6P57z5HHbR; Wed, 10 Apr 2024 15:19: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 4VF61k3HqKz4nN2; Wed, 10 Apr 2024 15:19:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B2qIKRTJ81jh3/0JkubbmSfG81mVgNi9v2GKpjut6AU=; b=kVQx7jUNsdLG7FJn6V1KEhBQnGXjaRcrisYW+BzpkDuvyd4gwJUOt71IPDL+QotUYmh8pJ 961oqL++B2/YcG5H1XSk212G5vqiw7ZgqLRPdSds8JWtYGQrz8YLywAF6RPkvnFrDDjl8Z 3PcZ7QMg4D9G3YLWrxghBLp7YMykCR0aT/w/RnLPIIGu9jdGBKUm4s0GRBfm8Q4TMD5FlD BbVHoHomaEDFr4c+dCR+Hl86ubKjJsvM4T8OYQMztA+qUue3obFFr35uElhbp6O2/pC3Ix ZOTG8PyN9Vb/gUJY1EJ7TpZATEQNbsbSoVgxy4C9d+j7hICAh3gKrtNdN00+mA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762362; a=rsa-sha256; cv=none; b=MEEi9x+9PF11+BXh7Yt1IufuOOBwBhCHy0LKIyhvxprEnIbGt93NrVkWUOubiEO2xkLpn/ I3thPXOgv1q6p9+hnJsPnq8nhFd8Zre2n2pZYoWsbzL25BYmcW1fMI5MrAqXep90z5oJcn TEvEX4tXhwC2WuPYWChItxniCZieIucZnW3UsZV7Sy/wUfY8X4K0DVPJFjaXL+nL1ZMA24 xqDjlDRefB4MS633xbEkdqmxoC6soX17J8x4Vud4BmPR7A7R1YuK/rngu9a/zOqyyNp5EN qWFj0R/Mxa6NvaB6wlnVrUfvsk5f5q0XUJRV7TCXekT6WgzM/+uoP9hEiryavw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B2qIKRTJ81jh3/0JkubbmSfG81mVgNi9v2GKpjut6AU=; b=Btujh4mMuIhOfEeLoZ6vnPuOCvkb7wHYpzqFkcoK1a1bEAXy12GOZSvMGJJuzRtNsVnqd9 zh8OH1p3Xb0k9eQie+Aahda0w1OT2f5WdbYOhIjx4Ak4StXawrm7aYksqGAzyRjLhf1gtw NRZcE/6HNfnWBToDx+nZlS2R3USoT1ZN4MHq6JwxybNCIIZBqs5pDpjsSyl4GhX9X27/QB li3DT+f0ZErxzrXIBKl5kqRPpSZJmoHvU63jORd/Gs5G06Xq5HB5E7G/JNBy4TE3BgJzB8 NIQblRem0lVb8bUapcKPyfl3DN4bYEQkPvREnD6wiy01Dh5qAYjelLVSxC0T0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61k2t99zjln; Wed, 10 Apr 2024 15:19:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJMK4093569; Wed, 10 Apr 2024 15:19:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJMEI093566; Wed, 10 Apr 2024 15:19:22 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:22 GMT Message-Id: <202404101519.43AFJMEI093566@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: 56a26fc1af60 - main - libvmmapi: Conditionalize compilation of some 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: dev-commits-src-main+owner@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: 56a26fc1af60e31732f8913ebe4c058095b6c721 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=56a26fc1af60e31732f8913ebe4c058095b6c721 commit 56a26fc1af60e31732f8913ebe4c058095b6c721 Author: Mark Johnston AuthorDate: 2024-04-03 17:45:06 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 libvmmapi: Conditionalize compilation of some functions Hide definitions of several functions that currently don't have implementatations in the arm64 vmm port. In particular, add a WITH_VMMAPI_SNAPSHOT preprocessor variable that can be used to enable compilation of save/restore functions, and conditionalize compilation of some functions only used by amd64 bhyve. If in the long term they remain amd64-only, they can move to vmmapi_machdep.c, but for now it's not clear to me that that's the right thing to do. MFC after: 2 weeks Sponsored by: Innovate UK --- lib/libvmmapi/Makefile | 1 - lib/libvmmapi/amd64/Makefile.inc | 2 ++ lib/libvmmapi/amd64/vmmapi_machdep.c | 9 ++++++++- lib/libvmmapi/internal.h | 9 +-------- lib/libvmmapi/vmmapi.c | 10 ++++++++++ lib/libvmmapi/vmmapi.h | 4 +++- 6 files changed, 24 insertions(+), 11 deletions(-) diff --git a/lib/libvmmapi/Makefile b/lib/libvmmapi/Makefile index dc7d48183439..1866c8fa5e7c 100644 --- a/lib/libvmmapi/Makefile +++ b/lib/libvmmapi/Makefile @@ -1,4 +1,3 @@ - PACKAGE=lib${LIB} LIB= vmmapi SHLIB_MAJOR= 6 diff --git a/lib/libvmmapi/amd64/Makefile.inc b/lib/libvmmapi/amd64/Makefile.inc index d122f742a667..a3da271433a1 100644 --- a/lib/libvmmapi/amd64/Makefile.inc +++ b/lib/libvmmapi/amd64/Makefile.inc @@ -1,3 +1,5 @@ SRCS+= ppt.c \ vmmapi_machdep.c \ vmmapi_freebsd_machdep.c + +CFLAGS+= -DWITH_VMMAPI_SNAPSHOT diff --git a/lib/libvmmapi/amd64/vmmapi_machdep.c b/lib/libvmmapi/amd64/vmmapi_machdep.c index 8990b28b4432..806c31abf426 100644 --- a/lib/libvmmapi/amd64/vmmapi_machdep.c +++ b/lib/libvmmapi/amd64/vmmapi_machdep.c @@ -77,7 +77,14 @@ const char *vm_capstrmap[] = { VM_RTC_WRITE, \ VM_RTC_READ, \ VM_RTC_SETTIME, \ - VM_RTC_GETTIME + VM_RTC_GETTIME, \ + VM_GET_GPA_PMAP, \ + VM_GLA2GPA, \ + VM_SET_INTINFO, \ + VM_GET_INTINFO, \ + VM_RESTART_INSTRUCTION, \ + VM_SNAPSHOT_REQ, \ + VM_RESTORE_TIME const cap_ioctl_t vm_ioctl_cmds[] = { VM_COMMON_IOCTLS, diff --git a/lib/libvmmapi/internal.h b/lib/libvmmapi/internal.h index 2b2f9eac3757..42be9ec59770 100644 --- a/lib/libvmmapi/internal.h +++ b/lib/libvmmapi/internal.h @@ -54,20 +54,13 @@ extern const char *vm_capstrmap[]; VM_GET_CAPABILITY, \ VM_STATS, \ VM_STAT_DESC, \ - VM_GET_GPA_PMAP, \ - VM_GLA2GPA, \ VM_GLA2GPA_NOFAULT, \ VM_ACTIVATE_CPU, \ VM_GET_CPUS, \ VM_SUSPEND_CPU, \ VM_RESUME_CPU, \ - VM_SET_INTINFO, \ - VM_GET_INTINFO, \ - VM_RESTART_INSTRUCTION, \ VM_SET_TOPOLOGY, \ - VM_GET_TOPOLOGY, \ - VM_SNAPSHOT_REQ, \ - VM_RESTORE_TIME + VM_GET_TOPOLOGY #define VM_PPT_IOCTLS \ VM_BIND_PPTDEV, \ diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index 5dcad8a16703..0cf051567110 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -51,7 +51,9 @@ #include #include #include +#ifdef WITH_VMMAPI_SNAPSHOT #include +#endif #include "vmmapi.h" #include "internal.h" @@ -796,6 +798,7 @@ vm_get_stat_desc(struct vmctx *ctx, int index) return (NULL); } +#ifdef __amd64__ int vm_get_gpa_pmap(struct vmctx *ctx, uint64_t gpa, uint64_t *pte, int *num) { @@ -835,6 +838,7 @@ vm_gla2gpa(struct vcpu *vcpu, struct vm_guest_paging *paging, } return (error); } +#endif int vm_gla2gpa_nofault(struct vcpu *vcpu, struct vm_guest_paging *paging, @@ -860,6 +864,7 @@ vm_gla2gpa_nofault(struct vcpu *vcpu, struct vm_guest_paging *paging, #define min(a,b) (((a) < (b)) ? (a) : (b)) #endif +#ifdef __amd64__ int vm_copy_setup(struct vcpu *vcpu, struct vm_guest_paging *paging, uint64_t gla, size_t len, int prot, struct iovec *iov, int iovcnt, @@ -897,6 +902,7 @@ vm_copy_setup(struct vcpu *vcpu, struct vm_guest_paging *paging, } return (0); } +#endif void vm_copy_teardown(struct iovec *iov __unused, int iovcnt __unused) @@ -1041,6 +1047,7 @@ vm_resume_all_cpus(struct vmctx *ctx) return (error); } +#ifdef __amd64__ int vm_get_intinfo(struct vcpu *vcpu, uint64_t *info1, uint64_t *info2) { @@ -1067,7 +1074,9 @@ vm_set_intinfo(struct vcpu *vcpu, uint64_t info1) error = vcpu_ioctl(vcpu, VM_SET_INTINFO, &vmii); return (error); } +#endif +#ifdef WITH_VMMAPI_SNAPSHOT int vm_restart_instruction(struct vcpu *vcpu) { @@ -1098,6 +1107,7 @@ vm_restore_time(struct vmctx *ctx) dummy = 0; return (ioctl(ctx->fd, VM_RESTORE_TIME, &dummy)); } +#endif int vm_set_topology(struct vmctx *ctx, diff --git a/lib/libvmmapi/vmmapi.h b/lib/libvmmapi/vmmapi.h index ea869a0c1749..d2a217c4d2e9 100644 --- a/lib/libvmmapi/vmmapi.h +++ b/lib/libvmmapi/vmmapi.h @@ -128,9 +128,11 @@ int vm_setup_memory(struct vmctx *ctx, size_t len, enum vm_mmap_style s); void *vm_map_gpa(struct vmctx *ctx, vm_paddr_t gaddr, size_t len); /* inverse operation to vm_map_gpa - extract guest address from host pointer */ vm_paddr_t vm_rev_map_gpa(struct vmctx *ctx, void *addr); +#ifdef __amd64__ int vm_get_gpa_pmap(struct vmctx *, uint64_t gpa, uint64_t *pte, int *num); int vm_gla2gpa(struct vcpu *vcpu, struct vm_guest_paging *paging, uint64_t gla, int prot, uint64_t *gpa, int *fault); +#endif int vm_gla2gpa_nofault(struct vcpu *vcpu, struct vm_guest_paging *paging, uint64_t gla, int prot, uint64_t *gpa, int *fault); @@ -220,7 +222,6 @@ int vm_get_x2apic_state(struct vcpu *vcpu, enum x2apic_state *s); int vm_set_x2apic_state(struct vcpu *vcpu, enum x2apic_state s); int vm_get_hpet_capabilities(struct vmctx *ctx, uint32_t *capabilities); -#endif /* * Translate the GLA range [gla,gla+len) into GPA segments in 'iov'. @@ -234,6 +235,7 @@ int vm_get_hpet_capabilities(struct vmctx *ctx, uint32_t *capabilities); int vm_copy_setup(struct vcpu *vcpu, struct vm_guest_paging *pg, uint64_t gla, size_t len, int prot, struct iovec *iov, int iovcnt, int *fault); +#endif void vm_copyin(struct iovec *guest_iov, void *host_dst, size_t len); void vm_copyout(const void *host_src, struct iovec *guest_iov, size_t len); void vm_copy_teardown(struct iovec *iov, int iovcnt); From nobody Wed Apr 10 15:19:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61l6Srdz5HHWM; Wed, 10 Apr 2024 15:19: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 4VF61l4G5Mz4nbS; Wed, 10 Apr 2024 15:19:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZJv1L5Yg5b/sHo/dbL+wtFdsuJOn9YK0+zI+e+Urjvo=; b=tTyqgBXWOf562RHXy0i+y8cnk1BitxTziekJ8Wzt7uzmI29jq+fxn29GIx7zTtUCe+u103 zeE4XwN1jjUQMprL+iFkibnG1VCQAfG1t/q+q/8PgU3dhm5v/Aw/T/tBpFFNbfZ/6gzHzw CgtSNC3LQxXoLvty6SS3YU+IuIY3MQsIifBxEOnJFVzX+STffdO+lLoTlruLSGjCrpCR5m +1i30y7HyIAWZrIXWeXNGuzZnKkP3m27F4idiwGn201aMNNvq0wiM7+jc7aPFcBi8aRRGS AyGo7e8WTfqWaV+mNEiukkpHrNB2D+k+Mthbs2T8oEzQI/qz/0zZUfz2cu3DGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762363; a=rsa-sha256; cv=none; b=kyTKSfYxBe/6nnW9RpOV5zHIPn58x4H5SF/pHOye2kJN4rQhn6oKeqo3cKVrB1Whk7gxGf jVXF3NRnSc1557g738M6WL6ba6pwEI5VIbSqVPVth1sQ3uCBjynxPx+QreSqUrR+wxCmCd 7LPixC1odvy9pYC+pGPVmzR+airsc2HOMLR6vHd77/7+Fggc6FuqEbzHXKKbDAkscXryIP 1daRUQ+oMj4334Urs5SJH4AAoIjZKKgrvqgQ503TVva3WYVUyRULGbpIHq2JTQd/tA8YLH 7y/xIrzmlKDJg8sDwhPgNRKxIAfFrltfYyCXssTx3ZW9jT8F3MWmToliGKo2oA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZJv1L5Yg5b/sHo/dbL+wtFdsuJOn9YK0+zI+e+Urjvo=; b=MloKBMsq6pXj9HKyIAAQIELDyhh84NnSMDjjfLDxFqEeKw5X2SW/Z39hInS/RAotrpklgE CBNXKX9uPQb+oaI1L1kgZK93trfuczMmzx8ChhpET6fdsSwbrNnrHHGP1qeRM2MOmDFqmW y/E2ldkI7w6rbq6RWrQtHHN3YN3toH49cLveZJk9WCzFJuKemtlKYq8rpaa9Tu+QcNG9Xo 7sODR2VUlIxkUOFX2aAerbsWynGmf95U9Fo8Bza/5fiHe0z3M5+yoQxvty6QzMkWZI9q0X w9TL2MQNWdzOqOhVYU2EoFVCXjPwHPb7P96lNXXloIZS2XBH2/0P+esZoEeI2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61l3s6JzjsM; Wed, 10 Apr 2024 15:19:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJN31093624; Wed, 10 Apr 2024 15:19:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJNFL093621; Wed, 10 Apr 2024 15:19:23 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:23 GMT Message-Id: <202404101519.43AFJNFL093621@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: 54416d2d786a - main - src.conf.5: Regenerate 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: dev-commits-src-main+owner@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: 54416d2d786ae364b918c9c5af2d8f1d1bb0a1c1 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=54416d2d786ae364b918c9c5af2d8f1d1bb0a1c1 commit 54416d2d786ae364b918c9c5af2d8f1d1bb0a1c1 Author: Mark Johnston AuthorDate: 2024-04-03 17:45:25 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 src.conf.5: Regenerate --- share/man/man5/src.conf.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index b3e482fd8a7f..c6546e951e13 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -183,7 +183,7 @@ Do not build or install .Xr bhyve 8 , associated utilities, and examples. .Pp -This option only affects amd64/amd64. +This option only affects amd64/amd64 and arm64/aarch64. .It Va WITH_BHYVE_SNAPSHOT Include support for save and restore (snapshots) in .Xr bhyve 8 From nobody Wed Apr 10 15:19:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61n1PsLz5HHSm; Wed, 10 Apr 2024 15:19: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 4VF61m4rSLz4nWG; Wed, 10 Apr 2024 15:19:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XuVFGzHwCqp+mieb/9E6O4HoHSZBI2xs9T+wvqoemZU=; b=HpjcTSVt1z6HEor/ByXkRieg/GS/3VWIIOrHU1sn1rho+o5VJi+Pg6Bcw4gx5E0suv7JmJ Iw4TwSSaoBaVn1VjsXJH9i7GbvOjHpnXYUUwZXIylSP9FDNpX0+wzyI7ETj75/ySC1UmO4 rWIoRudG1hcyWoryGMY2RwkQH6kGJekdijtWOW19Ul27hn3mKXFGKUeLxDTaScsI1UEh+Y BxuWBZA1xmX6meiKYNzB0069r0/yp7qtdVfRY4pd02HPowUaVHaGYyAOzpNcLI2PZdpKS3 RcW8nRL0U8YBreh0emtme1hcr381U+2TD7TgthQo68Ln0NPeRGRF4H//nxI7qg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762364; a=rsa-sha256; cv=none; b=iDLccH5/IYAepbedQB1tMitNaYlWnvSyLiXW4fb9ZotjAloChpnkJYvaXKt52aD1N16DYR qn1YhYIQglz//VhcDboDHj8YtCtZKqxp4Z+2zgtdBr3HDC6fLgERG3UaoizMl0XROIYfcS Cviyl9XYybbVo1IRyaq2e0yTt/V4GuZS1AhafrYJzB0n4zO7lyqLz1SpSAntrIBdwwRvP0 c2dyRicYRxHai9DWd566S1STLeru3E6V+x9/40b/DdbS2UspqUsHgVHVCiRBGakfp6r19i tRq1ofYDZdHoXS0+ViayYHrOJ1Km/e742CKbC00VYQhNLtcPBpLcvwiv2pobBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XuVFGzHwCqp+mieb/9E6O4HoHSZBI2xs9T+wvqoemZU=; b=wDQ6Mg91TXFFox72P4uS7e1RMydRnCLmzXg5UAvFxjvYic3pJhB3+ISJzrRa/rfnCvY+iU uKOfrfbMD8wV73bswIMFEaaya3vqkJvq7txKV+kGk4eHvC1C33qu+SvRZ8Mdcr9z4d2jNf tLrgsXCvHNU3/zWe72c1vzseafmkTe7Yx/feNI7NEkfp3obL7B9LGljyS2a9JSfLDLkQNF ZTTtwrJfIbr7uzOsOiXN24jL7OoUCEsEBcUwB7hSfZXPJBiS46hWpF9gHWtPWeWL5DHYNk 9WdKYKZ40XVLVsS6am3rWUkqJYmrMX4jfBUkmsW5NtJD6AnUeKdm94s/Y8+qJw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61m4Skjzjjc; Wed, 10 Apr 2024 15:19:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJORd093672; Wed, 10 Apr 2024 15:19:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJOAc093669; Wed, 10 Apr 2024 15:19:24 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:24 GMT Message-Id: <202404101519.43AFJOAc093669@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: 0efad4aceb53 - main - bhyve: Support legacy PCI interrupts on arm64 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: dev-commits-src-main+owner@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: 0efad4aceb533ef32905de586ab0112b1c563996 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0efad4aceb533ef32905de586ab0112b1c563996 commit 0efad4aceb533ef32905de586ab0112b1c563996 Author: Jessica Clarke AuthorDate: 2024-02-17 01:44:51 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 bhyve: Support legacy PCI interrupts on arm64 This allows us to remove various #ifdef hacks and enable building more PCI devices. Note that a hole is left in the interrupt mapping for the RTC rather than having the two core devices straddle the PCIe interrupts. QEMU's virt machine also takes this approach. Reviewed by: jhb MFC after: 2 weeks Obtained from: CheriBSD --- usr.sbin/bhyve/Makefile | 6 +++ usr.sbin/bhyve/aarch64/bhyverun_machdep.c | 10 ++++- usr.sbin/bhyve/aarch64/fdt.c | 39 +++++++++++------- usr.sbin/bhyve/aarch64/fdt.h | 2 +- usr.sbin/bhyve/aarch64/pci_irq.c | 66 +++++++++++++++++++++++++++++++ usr.sbin/bhyve/aarch64/pci_irq_machdep.h | 49 +++++++++++++++++++++++ usr.sbin/bhyve/amd64/Makefile.inc | 6 --- usr.sbin/bhyve/amd64/mptbl.c | 6 +-- usr.sbin/bhyve/amd64/pci_irq.c | 35 ++++++++++++---- usr.sbin/bhyve/amd64/pci_irq_machdep.h | 60 ++++++++++++++++++++++++++++ usr.sbin/bhyve/pci_emul.c | 64 ++++++++---------------------- usr.sbin/bhyve/pci_emul.h | 13 +++--- usr.sbin/bhyve/{amd64 => }/pci_irq.h | 16 ++++---- usr.sbin/bhyve/virtio.c | 7 ---- usr.sbin/bhyve/virtio.h | 2 - 15 files changed, 276 insertions(+), 105 deletions(-) diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index 124476ef7d2f..d5d7dfc26ab9 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -37,9 +37,14 @@ SRCS= \ net_backend_slirp.c \ net_backends.c \ net_utils.c \ + pci_ahci.c \ + pci_e82545.c \ pci_emul.c \ + pci_hda.c \ pci_hostbridge.c \ + pci_irq.c \ pci_nvme.c \ + pci_uart.c \ pci_virtio_9p.c \ pci_virtio_block.c \ pci_virtio_console.c \ @@ -47,6 +52,7 @@ SRCS= \ pci_virtio_net.c \ pci_virtio_rnd.c \ pci_virtio_scsi.c \ + pci_xhci.c \ qemu_fwcfg.c \ qemu_loader.c \ smbiostbl.c \ diff --git a/usr.sbin/bhyve/aarch64/bhyverun_machdep.c b/usr.sbin/bhyve/aarch64/bhyverun_machdep.c index 22b8b85e6b9b..2aa7d2d9b4fd 100644 --- a/usr.sbin/bhyve/aarch64/bhyverun_machdep.c +++ b/usr.sbin/bhyve/aarch64/bhyverun_machdep.c @@ -47,6 +47,7 @@ #include "fdt.h" #include "mem.h" #include "pci_emul.h" +#include "pci_irq.h" #include "uart_emul.h" /* Start of mem + 1M */ @@ -63,7 +64,10 @@ #define GIC_REDIST_BASE 0x2f100000 #define GIC_REDIST_SIZE(ncpu) ((ncpu) * 2 * PAGE_SIZE_64K) -#define PCIE_INTR 33 +#define PCIE_INTA 34 +#define PCIE_INTB 35 +#define PCIE_INTC 36 +#define PCIE_INTD 37 void bhyve_init_config(void) @@ -295,6 +299,7 @@ bhyve_init_platform(struct vmctx *ctx, struct vcpu *bsp) const char *bootrom; uint64_t elr; int error; + int pcie_intrs[4] = {PCIE_INTA, PCIE_INTB, PCIE_INTC, PCIE_INTD}; bootrom = get_config_value("bootrom"); if (bootrom == NULL) { @@ -324,7 +329,8 @@ bhyve_init_platform(struct vmctx *ctx, struct vcpu *bsp) if (init_mmio_uart(ctx)) fdt_add_uart(UART_MMIO_BASE, UART_MMIO_SIZE, UART_INTR); fdt_add_timer(); - fdt_add_pcie(PCIE_INTR); + pci_irq_init(pcie_intrs); + fdt_add_pcie(pcie_intrs); return (0); } diff --git a/usr.sbin/bhyve/aarch64/fdt.c b/usr.sbin/bhyve/aarch64/fdt.c index 4b99e7009296..65876f0f90e8 100644 --- a/usr.sbin/bhyve/aarch64/fdt.c +++ b/usr.sbin/bhyve/aarch64/fdt.c @@ -271,12 +271,12 @@ fdt_add_timer(void) } void -fdt_add_pcie(int intr) +fdt_add_pcie(int intrs[static 4]) { void *fdt, *prop; + int slot, pin, intr, i; assert(gic_phandle != 0); - assert(intr >= GIC_FIRST_SPI); fdt = fdtroot; @@ -320,24 +320,35 @@ fdt_add_pcie(int intr) fdt_property_u32(fdt, "#interrupt-cells", 1); fdt_property_u32(fdt, "interrupt-parent", gic_phandle); + + /* + * Describe standard swizzled interrupts routing (pins rotated by one + * for each consecutive slot). Must match pci_irq_route(). + */ fdt_property_placeholder(fdt, "interrupt-map-mask", 4 * sizeof(uint32_t), &prop); - SET_PROP_U32(prop, 0, 0); + SET_PROP_U32(prop, 0, 3 << 11); SET_PROP_U32(prop, 1, 0); SET_PROP_U32(prop, 2, 0); SET_PROP_U32(prop, 3, 7); fdt_property_placeholder(fdt, "interrupt-map", - 10 * sizeof(uint32_t), &prop); - SET_PROP_U32(prop, 0, 0); - SET_PROP_U32(prop, 1, 0); - SET_PROP_U32(prop, 2, 0); - SET_PROP_U32(prop, 3, 1); - SET_PROP_U32(prop, 4, gic_phandle); - SET_PROP_U32(prop, 5, 0); - SET_PROP_U32(prop, 6, 0); - SET_PROP_U32(prop, 7, GIC_SPI); - SET_PROP_U32(prop, 8, intr - GIC_FIRST_SPI); - SET_PROP_U32(prop, 9, IRQ_TYPE_LEVEL_HIGH); + 160 * sizeof(uint32_t), &prop); + for (i = 0; i < 16; ++i) { + pin = i % 4; + slot = i / 4; + intr = intrs[(pin + slot) % 4]; + assert(intr >= GIC_FIRST_SPI); + SET_PROP_U32(prop, 10 * i + 0, slot << 11); + SET_PROP_U32(prop, 10 * i + 1, 0); + SET_PROP_U32(prop, 10 * i + 2, 0); + SET_PROP_U32(prop, 10 * i + 3, pin + 1); + SET_PROP_U32(prop, 10 * i + 4, gic_phandle); + SET_PROP_U32(prop, 10 * i + 5, 0); + SET_PROP_U32(prop, 10 * i + 6, 0); + SET_PROP_U32(prop, 10 * i + 7, GIC_SPI); + SET_PROP_U32(prop, 10 * i + 8, intr - GIC_FIRST_SPI); + SET_PROP_U32(prop, 10 * i + 9, IRQ_TYPE_LEVEL_HIGH); + } fdt_end_node(fdt); } diff --git a/usr.sbin/bhyve/aarch64/fdt.h b/usr.sbin/bhyve/aarch64/fdt.h index a559d2289187..6534266173d0 100644 --- a/usr.sbin/bhyve/aarch64/fdt.h +++ b/usr.sbin/bhyve/aarch64/fdt.h @@ -40,7 +40,7 @@ int fdt_init(struct vmctx *ctx, int ncpu, vm_paddr_t addrp, void fdt_add_gic(uint64_t dist_base, uint64_t dist_size, uint64_t redist_base, uint64_t redist_size); void fdt_add_timer(void); -void fdt_add_pcie(int intr); +void fdt_add_pcie(int intrs[static 4]); void fdt_add_uart(uint64_t uart_base, uint64_t uart_size, int intr); void fdt_finalize(void); diff --git a/usr.sbin/bhyve/aarch64/pci_irq.c b/usr.sbin/bhyve/aarch64/pci_irq.c new file mode 100644 index 000000000000..f2c4602fe2e9 --- /dev/null +++ b/usr.sbin/bhyve/aarch64/pci_irq.c @@ -0,0 +1,66 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Jessica Clarke + * + * 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 + +#include "pci_emul.h" +#include "pci_irq.h" + +static int gic_irqs[4]; + +void +pci_irq_init(int intrs[static 4]) +{ + int i; + + for (i = 0; i < 4; ++i) + gic_irqs[i] = intrs[i]; +} + +void +pci_irq_assert(struct pci_devinst *pi) +{ + vm_assert_irq(pi->pi_vmctx, pi->pi_lintr.irq.gic_irq); +} + +void +pci_irq_deassert(struct pci_devinst *pi) +{ + vm_deassert_irq(pi->pi_vmctx, pi->pi_lintr.irq.gic_irq); +} + +void +pci_irq_route(struct pci_devinst *pi, struct pci_irq *irq) +{ + /* + * Assign swizzled IRQ for this INTx if one is not yet assigned. Must + * match fdt_add_pcie(). + */ + if (irq->gic_irq == 0) + irq->gic_irq = + gic_irqs[(pi->pi_slot + pi->pi_lintr.pin - 1) % 4]; +} diff --git a/usr.sbin/bhyve/aarch64/pci_irq_machdep.h b/usr.sbin/bhyve/aarch64/pci_irq_machdep.h new file mode 100644 index 000000000000..c10af3aa53b2 --- /dev/null +++ b/usr.sbin/bhyve/aarch64/pci_irq_machdep.h @@ -0,0 +1,49 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Jessica Clarke + * + * 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. + */ + +#ifndef __PCI_IRQ_MD_H__ +#define __PCI_IRQ_MD_H__ + +struct pci_irq { + int gic_irq; +}; + +void pci_irq_init(int intrs[static 4]); + +static inline void +pci_irq_init_irq(struct pci_irq *irq) +{ + irq->gic_irq = 0; +} + +static inline uint8_t +pci_irq_intline(struct pci_irq *irq __unused) +{ + return (255); +} + +#endif diff --git a/usr.sbin/bhyve/amd64/Makefile.inc b/usr.sbin/bhyve/amd64/Makefile.inc index d281e3cf1581..53320a70178b 100644 --- a/usr.sbin/bhyve/amd64/Makefile.inc +++ b/usr.sbin/bhyve/amd64/Makefile.inc @@ -8,16 +8,10 @@ SRCS+= \ ioapic.c \ kernemu_dev.c \ mptbl.c \ - pci_ahci.c \ - pci_e82545.c \ pci_fbuf.c \ pci_gvt-d.c \ - pci_hda.c \ - pci_irq.c \ pci_lpc.c \ pci_passthru.c \ - pci_uart.c \ - pci_xhci.c \ pctestdev.c \ pm.c \ post.c \ diff --git a/usr.sbin/bhyve/amd64/mptbl.c b/usr.sbin/bhyve/amd64/mptbl.c index 4be412524b60..328cc77980ac 100644 --- a/usr.sbin/bhyve/amd64/mptbl.c +++ b/usr.sbin/bhyve/amd64/mptbl.c @@ -208,8 +208,8 @@ mpt_count_ioint_entries(void) } static void -mpt_generate_pci_int(int bus, int slot, int pin, int pirq_pin __unused, - int ioapic_irq, void *arg) +mpt_generate_pci_int(int bus, int slot, int pin, struct pci_irq *irq, + void *arg) { int_entry_ptr *mpiep, mpie; @@ -226,7 +226,7 @@ mpt_generate_pci_int(int bus, int slot, int pin, int pirq_pin __unused, mpie->src_bus_id = bus; mpie->src_bus_irq = slot << 2 | (pin - 1); mpie->dst_apic_id = mpie[-1].dst_apic_id; - mpie->dst_apic_int = ioapic_irq; + mpie->dst_apic_int = irq->ioapic_irq; *mpiep = mpie + 1; } diff --git a/usr.sbin/bhyve/amd64/pci_irq.c b/usr.sbin/bhyve/amd64/pci_irq.c index 24593befee49..7e1aee7fbb1d 100644 --- a/usr.sbin/bhyve/amd64/pci_irq.c +++ b/usr.sbin/bhyve/amd64/pci_irq.c @@ -39,6 +39,7 @@ #include "acpi.h" #include "inout.h" +#include "ioapic.h" #include "pci_emul.h" #include "pci_irq.h" #include "pci_lpc.h" @@ -156,7 +157,7 @@ pci_irq_assert(struct pci_devinst *pi) struct pirq *pirq; int pin; - pin = pi->pi_lintr.pirq_pin; + pin = pi->pi_lintr.irq.pirq_pin; if (pin > 0) { assert(pin <= NPIRQS); pirq = &pirqs[pin - 1]; @@ -164,13 +165,13 @@ pci_irq_assert(struct pci_devinst *pi) pirq->active_count++; if (pirq->active_count == 1 && pirq_valid_irq(pirq->reg)) { vm_isa_assert_irq(pi->pi_vmctx, pirq->reg & PIRQ_IRQ, - pi->pi_lintr.ioapic_irq); + pi->pi_lintr.irq.ioapic_irq); pthread_mutex_unlock(&pirq->lock); return; } pthread_mutex_unlock(&pirq->lock); } - vm_ioapic_assert_irq(pi->pi_vmctx, pi->pi_lintr.ioapic_irq); + vm_ioapic_assert_irq(pi->pi_vmctx, pi->pi_lintr.irq.ioapic_irq); } void @@ -179,7 +180,7 @@ pci_irq_deassert(struct pci_devinst *pi) struct pirq *pirq; int pin; - pin = pi->pi_lintr.pirq_pin; + pin = pi->pi_lintr.irq.pirq_pin; if (pin > 0) { assert(pin <= NPIRQS); pirq = &pirqs[pin - 1]; @@ -187,16 +188,16 @@ pci_irq_deassert(struct pci_devinst *pi) pirq->active_count--; if (pirq->active_count == 0 && pirq_valid_irq(pirq->reg)) { vm_isa_deassert_irq(pi->pi_vmctx, pirq->reg & PIRQ_IRQ, - pi->pi_lintr.ioapic_irq); + pi->pi_lintr.irq.ioapic_irq); pthread_mutex_unlock(&pirq->lock); return; } pthread_mutex_unlock(&pirq->lock); } - vm_ioapic_deassert_irq(pi->pi_vmctx, pi->pi_lintr.ioapic_irq); + vm_ioapic_deassert_irq(pi->pi_vmctx, pi->pi_lintr.irq.ioapic_irq); } -int +static int pirq_alloc_pin(struct pci_devinst *pi) { struct vmctx *ctx = pi->pi_vmctx; @@ -248,6 +249,26 @@ pirq_irq(int pin) return (pirqs[pin - 1].reg & PIRQ_IRQ); } +void +pci_irq_route(struct pci_devinst *pi, struct pci_irq *irq) +{ + /* + * Attempt to allocate an I/O APIC pin for this intpin if one + * is not yet assigned. + */ + if (irq->ioapic_irq == 0) + irq->ioapic_irq = ioapic_pci_alloc_irq(pi); + assert(irq->ioapic_irq > 0); + + /* + * Attempt to allocate a PIRQ pin for this intpin if one is + * not yet assigned. + */ + if (irq->pirq_pin == 0) + irq->pirq_pin = pirq_alloc_pin(pi); + assert(irq->pirq_pin > 0); +} + /* XXX: Generate $PIR table. */ static void diff --git a/usr.sbin/bhyve/amd64/pci_irq_machdep.h b/usr.sbin/bhyve/amd64/pci_irq_machdep.h new file mode 100644 index 000000000000..c4be29babe34 --- /dev/null +++ b/usr.sbin/bhyve/amd64/pci_irq_machdep.h @@ -0,0 +1,60 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2014 Hudson River Trading LLC + * Written by: John H. Baldwin + * 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. + */ + +#ifndef __PCI_IRQ_MD_H__ +#define __PCI_IRQ_MD_H__ + +struct vmctx; + +struct pci_irq { + int pirq_pin; + int ioapic_irq; +}; + +void pci_irq_init(struct vmctx *ctx); +void pci_irq_reserve(int irq); +void pci_irq_use(int irq); +int pirq_irq(int pin); +uint8_t pirq_read(int pin); +void pirq_write(struct vmctx *ctx, int pin, uint8_t val); + +static inline void +pci_irq_init_irq(struct pci_irq *irq) +{ + irq->pirq_pin = 0; + irq->ioapic_irq = 0; +} + +static inline uint8_t +pci_irq_intline(struct pci_irq *irq) +{ + return (pirq_irq(irq->pirq_pin)); +} + +#endif diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index f2c9c4c9b6e7..0b0be09c4de7 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -52,12 +52,10 @@ #include "debug.h" #ifdef __amd64__ #include "amd64/inout.h" -#include "amd64/ioapic.h" #endif #include "mem.h" #include "pci_emul.h" #ifdef __amd64__ -#include "amd64/pci_irq.h" #include "amd64/pci_lpc.h" #include "pci_passthru.h" #endif @@ -81,9 +79,8 @@ struct funcinfo { }; struct intxinfo { - int ii_count; - int ii_pirq_pin; - int ii_ioapic_irq; + int ii_count; + struct pci_irq ii_irq; }; struct slotinfo { @@ -157,10 +154,8 @@ SYSRES_MEM(PCI_EMUL_ECFG_BASE, PCI_EMUL_ECFG_SIZE); #define PCI_EMUL_MEMLIMIT32 PCI_EMUL_ECFG_BASE #define PCI_EMUL_MEMSIZE64 (32*GB) -#ifdef __amd64__ static void pci_lintr_route(struct pci_devinst *pi); static void pci_lintr_update(struct pci_devinst *pi); -#endif static struct pci_devemu *pci_emul_finddev(const char *name); static void pci_cfgrw(int in, int bus, int slot, int func, int coff, @@ -1133,13 +1128,10 @@ pci_emul_init(struct vmctx *ctx, struct pci_devemu *pde, int bus, int slot, pdi->pi_bus = bus; pdi->pi_slot = slot; pdi->pi_func = func; -#ifdef __amd64__ pthread_mutex_init(&pdi->pi_lintr.lock, NULL); pdi->pi_lintr.pin = 0; pdi->pi_lintr.state = IDLE; - pdi->pi_lintr.pirq_pin = 0; - pdi->pi_lintr.ioapic_irq = 0; -#endif + pci_irq_init_irq(&pdi->pi_lintr.irq); pdi->pi_d = pde; snprintf(pdi->pi_name, PI_NAMESZ, "%s@pci.%d.%d.%d", pde->pe_emu, bus, slot, func); @@ -1277,9 +1269,7 @@ msixcap_cfgwrite(struct pci_devinst *pi, int capoff, int offset, pi->pi_msix.enabled = val & PCIM_MSIXCTRL_MSIX_ENABLE; pi->pi_msix.function_mask = val & PCIM_MSIXCTRL_FUNCTION_MASK; -#ifdef __amd64__ pci_lintr_update(pi); -#endif } CFGWRITE(pi, offset, val, bytes); @@ -1321,9 +1311,7 @@ msicap_cfgwrite(struct pci_devinst *pi, int capoff, int offset, } else { pi->pi_msi.maxmsgnum = 0; } -#ifdef __amd64__ pci_lintr_update(pi); -#endif } static void @@ -1617,7 +1605,6 @@ init_pci(struct vmctx *ctx) bi->memlimit64 = pci_emul_membase64; } -#ifdef __amd64__ /* * PCI backends are initialized before routing INTx interrupts * so that LPC devices are able to reserve ISA IRQs before @@ -1637,6 +1624,7 @@ init_pci(struct vmctx *ctx) } } } +#ifdef __amd64__ lpc_pirq_routed(); #endif @@ -1696,8 +1684,8 @@ init_pci(struct vmctx *ctx) #ifdef __amd64__ static void -pci_apic_prt_entry(int bus __unused, int slot, int pin, int pirq_pin __unused, - int ioapic_irq, void *arg __unused) +pci_apic_prt_entry(int bus __unused, int slot, int pin, struct pci_irq *irq, + void *arg __unused) { dsdt_line(" Package ()"); @@ -1705,17 +1693,17 @@ pci_apic_prt_entry(int bus __unused, int slot, int pin, int pirq_pin __unused, dsdt_line(" 0x%X,", slot << 16 | 0xffff); dsdt_line(" 0x%02X,", pin - 1); dsdt_line(" Zero,"); - dsdt_line(" 0x%X", ioapic_irq); + dsdt_line(" 0x%X", irq->ioapic_irq); dsdt_line(" },"); } static void -pci_pirq_prt_entry(int bus __unused, int slot, int pin, int pirq_pin, - int ioapic_irq __unused, void *arg __unused) +pci_pirq_prt_entry(int bus __unused, int slot, int pin, struct pci_irq *irq, + void *arg __unused) { char *name; - name = lpc_pirq_name(pirq_pin); + name = lpc_pirq_name(irq->pirq_pin); if (name == NULL) return; dsdt_line(" Package ()"); @@ -1968,7 +1956,6 @@ pci_generate_msi(struct pci_devinst *pi, int index) } } -#ifdef __amd64__ static bool pci_lintr_permitted(struct pci_devinst *pi) { @@ -2013,6 +2000,7 @@ pci_lintr_route(struct pci_devinst *pi) { struct businfo *bi; struct intxinfo *ii; + struct pci_irq *irq; if (pi->pi_lintr.pin == 0) return; @@ -2020,26 +2008,10 @@ pci_lintr_route(struct pci_devinst *pi) bi = pci_businfo[pi->pi_bus]; assert(bi != NULL); ii = &bi->slotinfo[pi->pi_slot].si_intpins[pi->pi_lintr.pin - 1]; - - /* - * Attempt to allocate an I/O APIC pin for this intpin if one - * is not yet assigned. - */ - if (ii->ii_ioapic_irq == 0) - ii->ii_ioapic_irq = ioapic_pci_alloc_irq(pi); - assert(ii->ii_ioapic_irq > 0); - - /* - * Attempt to allocate a PIRQ pin for this intpin if one is - * not yet assigned. - */ - if (ii->ii_pirq_pin == 0) - ii->ii_pirq_pin = pirq_alloc_pin(pi); - assert(ii->ii_pirq_pin > 0); - - pi->pi_lintr.ioapic_irq = ii->ii_ioapic_irq; - pi->pi_lintr.pirq_pin = ii->ii_pirq_pin; - pci_set_cfgdata8(pi, PCIR_INTLINE, pirq_irq(ii->ii_pirq_pin)); + irq = &ii->ii_irq; + pci_irq_route(pi, irq); + pi->pi_lintr.irq = *irq; + pci_set_cfgdata8(pi, PCIR_INTLINE, pci_irq_intline(irq)); } void @@ -2124,12 +2096,10 @@ pci_walk_lintr(int bus, pci_lintr_cb cb, void *arg) for (pin = 0; pin < 4; pin++) { ii = &si->si_intpins[pin]; if (ii->ii_count != 0) - cb(bus, slot, pin + 1, ii->ii_pirq_pin, - ii->ii_ioapic_irq, arg); + cb(bus, slot, pin + 1, &ii->ii_irq, arg); } } } -#endif /* __amd64__ */ /* * Return 1 if the emulated device in 'slot' is a multi-function device. @@ -2234,13 +2204,11 @@ pci_emul_cmd_changed(struct pci_devinst *pi, uint16_t old) } } -#ifdef __amd64__ /* * If INTx has been unmasked and is pending, assert the * interrupt. */ pci_lintr_update(pi); -#endif } static void diff --git a/usr.sbin/bhyve/pci_emul.h b/usr.sbin/bhyve/pci_emul.h index c367169113f8..063b4b84e044 100644 --- a/usr.sbin/bhyve/pci_emul.h +++ b/usr.sbin/bhyve/pci_emul.h @@ -40,6 +40,8 @@ #include +#include "pci_irq.h" + #define PCI_BARMAX PCIR_MAX_BAR_0 /* BAR registers in a Type 0 header */ #define PCI_BARMAX_WITH_ROM (PCI_BARMAX + 1) #define PCI_ROM_IDX (PCI_BARMAX + 1) @@ -124,7 +126,6 @@ struct pci_devinst { int pi_prevcap; int pi_capend; -#ifdef __amd64__ struct { int8_t pin; enum { @@ -132,11 +133,9 @@ struct pci_devinst { ASSERTED, PENDING, } state; - int pirq_pin; - int ioapic_irq; + struct pci_irq irq; pthread_mutex_t lock; } pi_lintr; -#endif struct { int enabled; @@ -221,15 +220,13 @@ struct pciecap { } __packed; static_assert(sizeof(struct pciecap) == 60, "compile-time assertion failed"); -#ifdef __amd64__ -typedef void (*pci_lintr_cb)(int b, int s, int pin, int pirq_pin, - int ioapic_irq, void *arg); +typedef void (*pci_lintr_cb)(int b, int s, int pin, struct pci_irq *irq, + void *arg); void pci_lintr_assert(struct pci_devinst *pi); void pci_lintr_deassert(struct pci_devinst *pi); void pci_lintr_request(struct pci_devinst *pi); int pci_count_lintr(int bus); void pci_walk_lintr(int bus, pci_lintr_cb cb, void *arg); -#endif int init_pci(struct vmctx *ctx); void pci_callback(void); diff --git a/usr.sbin/bhyve/amd64/pci_irq.h b/usr.sbin/bhyve/pci_irq.h similarity index 86% rename from usr.sbin/bhyve/amd64/pci_irq.h rename to usr.sbin/bhyve/pci_irq.h index 50ea2eec00a9..8b556ddc91a2 100644 --- a/usr.sbin/bhyve/amd64/pci_irq.h +++ b/usr.sbin/bhyve/pci_irq.h @@ -32,14 +32,16 @@ struct pci_devinst; +#if defined(__amd64__) +#include "amd64/pci_irq_machdep.h" +#elif defined(__aarch64__) +#include "aarch64/pci_irq_machdep.h" +#else +#error Unsupported platform +#endif + void pci_irq_assert(struct pci_devinst *pi); void pci_irq_deassert(struct pci_devinst *pi); -void pci_irq_init(struct vmctx *ctx); -void pci_irq_reserve(int irq); -void pci_irq_use(int irq); -int pirq_alloc_pin(struct pci_devinst *pi); -int pirq_irq(int pin); -uint8_t pirq_read(int pin); -void pirq_write(struct vmctx *ctx, int pin, uint8_t val); +void pci_irq_route(struct pci_devinst *pi, struct pci_irq *irq); #endif diff --git a/usr.sbin/bhyve/virtio.c b/usr.sbin/bhyve/virtio.c index eb09714d4f20..26df39ceb5b3 100644 --- a/usr.sbin/bhyve/virtio.c +++ b/usr.sbin/bhyve/virtio.c @@ -114,10 +114,8 @@ vi_reset_dev(struct virtio_softc *vs) vs->vs_negotiated_caps = 0; vs->vs_curq = 0; /* vs->vs_status = 0; -- redundant */ -#ifdef __amd64__ if (vs->vs_isr) pci_lintr_deassert(vs->vs_pi); -#endif vs->vs_isr = 0; vs->vs_msix_cfg_idx = VIRTIO_MSI_NO_VECTOR; } @@ -164,11 +162,8 @@ vi_intr_init(struct virtio_softc *vs, int barnum, int use_msix) /* Only 1 MSI vector for bhyve */ pci_emul_add_msicap(vs->vs_pi, 1); - /* XXX-MJ missing an implementation for arm64 */ -#ifdef __amd64__ /* Legacy interrupts are mandatory for virtio devices */ pci_lintr_request(vs->vs_pi); -#endif return (0); } @@ -656,10 +651,8 @@ bad: case VIRTIO_PCI_ISR: value = vs->vs_isr; vs->vs_isr = 0; /* a read clears this flag */ -#ifdef __amd64__ if (value) pci_lintr_deassert(pi); -#endif break; case VIRTIO_MSI_CONFIG_VECTOR: value = vs->vs_msix_cfg_idx; diff --git a/usr.sbin/bhyve/virtio.h b/usr.sbin/bhyve/virtio.h index 4c6c8004b2d1..2b72b862ab21 100644 --- a/usr.sbin/bhyve/virtio.h +++ b/usr.sbin/bhyve/virtio.h @@ -358,9 +358,7 @@ vi_interrupt(struct virtio_softc *vs, uint8_t isr, uint16_t msix_idx) VS_LOCK(vs); vs->vs_isr |= isr; pci_generate_msi(vs->vs_pi, 0); -#ifdef __amd64__ pci_lintr_assert(vs->vs_pi); -#endif VS_UNLOCK(vs); } } From nobody Wed Apr 10 15:19:25 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61p1wwNz5HHYY; Wed, 10 Apr 2024 15:19: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 4VF61n5sMrz4nTR; Wed, 10 Apr 2024 15:19:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a4SlGKJ/lxC65+5DYBnDQemIPr3aS5JsA3MNH/391MI=; b=LZg2YcfPjbEzlMk5PJ+X/CM5HL8kg42zizAKsGdjCGDb7DAw8Hb0YIgNnKmSQYi58Mrt8F 8i/m6BXaTKerj0IrRLbcIEmuq676J2JI+kOnz1wdZBENKSwDzyMFQbui6DOKwKhCB7QzD/ lCw3Zh4YjvdWPHRWxk2VhlQU2d2k2vZDv0nDync2ll7iZjWHxSZ9HBFVg+7N6Lam1dPAG0 9LSj9vZlBCtXbG6bBPEND3ebh7dLN4VpFI8moG6sVLZWZjJz1rbJU/EslX8YQsYjXgQKPl 6XNe+qfYFjsM+vpJ4ojfFHuhOxG0XZWzTUosvGc6Suac/5KLffQQLIdQQl7yGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762365; a=rsa-sha256; cv=none; b=HlM1fhovlikT16JnIpdgUwiOquMEtilMcNl/LYAQaI0FsNfCJyhDfVEJR/hskZRHA9s+kX xNL/94VrwLo/MI2nGsUNesk5k38/HciKsRFLQt6bmX0OIxjx+9PUMR7gfJp0T6/9XXMpvL Ou0qLQmBAkjkexP1e3O3Csl/JUpwugJU8Ru9TvhESTSMfS8qDyqhAiaE2CRf5ULti0g0ap i5SuzKyyB/5TSm8oPmQN2+x22Ej0sstz6Rzx6cxtTju6X4XH44jaqkglA1Da0+jAO7NIYb 4o4d0E5K2daRX37mvwqwVVaZRVLhj9xZacUnzgWKmfB7tyEUzuU++tbzQBK6CQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a4SlGKJ/lxC65+5DYBnDQemIPr3aS5JsA3MNH/391MI=; b=uKnNQ7HTeGDgBxCBd0kE94H+27AN+hFPcqFB8z9w0RfEqMcrPlhHbrOiMhXaUt99PXyOV8 EGTBpIi340JNmNyytRf3qxbPL94Ct+miL61H4SFmnf/7SauZ9BLkT9bdp8U/OE/iyHpRux hbMuuBe06qfbBgAVMQqbzMssqOI5uP6gpBTS06aLA9x6XOy6WuxT0QOVFGlrD2Miyw9jOO 6UwRhQkiZW2jFOLErkqYaFlU/Z6q28pf5EF7EXrUZVpRjbVmdKTrUfwo+zWME8i5Dj0bQT ImqpQIP/+M+n/mP+ZzAOTV8xWSOz/8upwQU54pY1ORRCuuOblCqb2v9aNjUU5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61n5TFgzjlp; Wed, 10 Apr 2024 15:19:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJP3x093726; Wed, 10 Apr 2024 15:19:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJPSG093723; Wed, 10 Apr 2024 15:19:25 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:25 GMT Message-Id: <202404101519.43AFJPSG093723@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: 95b948c1d118 - main - bhyve: Fix arm64 PCI I/O range to match FDT 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: dev-commits-src-main+owner@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: 95b948c1d11831e4a47735371097a397bf0cf707 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=95b948c1d11831e4a47735371097a397bf0cf707 commit 95b948c1d11831e4a47735371097a397bf0cf707 Author: Jessica Clarke AuthorDate: 2024-02-19 22:40:24 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 bhyve: Fix arm64 PCI I/O range to match FDT This is supposed to combine with the memory range to make one contiguous block, as is laid out in the FDT, so make this match what the OS is told and thus actually configures. Also drop the confusing leading zero from all three of these constants that is making these 9 rather than 8 hex digits long (as one would expect for a 32-bit address). Reviewed by: jhb MFC after: 2 weeks Obtained from: CheriBSD --- usr.sbin/bhyve/pci_emul.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index 0b0be09c4de7..8eaa9b71fa15 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -136,9 +136,9 @@ static TAILQ_HEAD(boot_list, boot_device) boot_devices = TAILQ_HEAD_INITIALIZER( */ #define PCI_EMUL_MEMBASE32 0xc0000000 #elif defined(__aarch64__) -#define PCI_EMUL_IOBASE 0x00df00000UL -#define PCI_EMUL_IOLIMIT 0x00e000000UL -#define PCI_EMUL_MEMBASE32 0x0a0000000UL +#define PCI_EMUL_IOBASE 0xdf000000UL +#define PCI_EMUL_IOLIMIT 0xe0000000UL +#define PCI_EMUL_MEMBASE32 0xa0000000UL #else #error Unsupported platform #endif From nobody Wed Apr 10 15:19:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61q1Gzhz5HHR0; Wed, 10 Apr 2024 15:19: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 4VF61p6fBfz4nWy; Wed, 10 Apr 2024 15:19:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tOFqO4THPDr+ARebVebBBe4NrOG5k1DfmCyvBw7IBCg=; b=gKk9zveADhdJceGuGUK3G6uj7e5fNS/j6sQFjNrBKKFJne3O/qUH92OgZVXyLIE+M1R/Q8 FKmAUWO79nC2CsWOorBRcJ+zHC/sgXBamNDWxxx3Jpvl5ELZLnv5Su6O9BHFWf0bI6LSui u31nKrhsO0A0HvWnS9TUWa7hM8s83aZDBIuclIpPIy40U7emuMmPZyfS4N3ZBXaBQkzBiu 3rFLKKNS0qFOVoabQN3FiHi9ON7PcVpYwU8EC980HNDU3ws04IGnr4uQo/aXEuxc2fuIGO w5nyaDf9ybF4o/hpJxGNnNUlE9Pprr8qVwBId/9GmmCpWJVTLjH5duoJbK7xPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762366; a=rsa-sha256; cv=none; b=Sf7VjLS5q2Az0dS+OsX1PgEc61tfkRN1Y0RZW/nS6/SbDkc9+l2JOVNGL3l82N4TnqJA2l 8UXclP2akdsBKGcRuULwAlS3yUsZGjLEPu2zgSLTDGrOnwxsz1ayGOm488oC3P0zhmADdC yjVxC+2AzIwp1fOlFxNk4x7JbbLivGrGh6jNVTLcybLx4DicYO1f67t7TEo3/mFzInvF0K DSeTvbDFxxcWSpuHM0m/69XtqtKkxbG1MQiYrZ5uNkl4Ej/jSM7Jk++OpURW5xbGe9FOwc hmfQ75tRKg2BR6cBqQRYsQBCYY5vkNDojTSmClOh6h/Qibu1+X12Gb9/mV40Sg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tOFqO4THPDr+ARebVebBBe4NrOG5k1DfmCyvBw7IBCg=; b=SJ7eLGbkWzupkhK/hBRxsmMHYelNlxT2NbIKbl/PVobVBJyB9Xshe6NbhBZ87b1GoBbmDc LT7iZuIJrOL979Ycxi5PrQfin2l8L/7vXlP9Egtu2dMnPl8tZqVPu/uCyN3GbHbUh7kLha N6lYYc3osWhe9ZZKkyIzsErcKDFLd4uRyjvF3GnppCg203wzKm+WcOri/ClmJBR1RJomdV lVdG6lZkx+HhlsRankSPjLpBPsQLvWSWXyRdPvOXbf1Nnz77XtmQtmMoBBWN/nRw4kDnkx H425TGJJ+ozJe8wU5GI2ueJ82XWsYCW4RFslehKRqB8EVLhgzH4cOMrrZFOo+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 4VF61p6DFLzjjd; Wed, 10 Apr 2024 15:19:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJQq5093776; Wed, 10 Apr 2024 15:19:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJQO5093773; Wed, 10 Apr 2024 15:19:26 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:26 GMT Message-Id: <202404101519.43AFJQO5093773@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: 4dfa329f4861 - main - bhyve: Extend mevent to support updating timers 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: dev-commits-src-main+owner@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: 4dfa329f48618d30e0c32529f874c1d0cc7beb00 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4dfa329f48618d30e0c32529f874c1d0cc7beb00 commit 4dfa329f48618d30e0c32529f874c1d0cc7beb00 Author: Jessica Clarke AuthorDate: 2024-02-21 22:42:19 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 bhyve: Extend mevent to support updating timers This will be used by a new PL031 implementation to provide an RTC for arm64 guests. Reviewed by: jhb MFC after: 2 weeks Obtained from: CheriBSD --- usr.sbin/bhyve/mevent.c | 34 ++++++++++++++++++++++++---------- usr.sbin/bhyve/mevent.h | 1 + 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/usr.sbin/bhyve/mevent.c b/usr.sbin/bhyve/mevent.c index ce272ce87f3d..dbcc39148ca1 100644 --- a/usr.sbin/bhyve/mevent.c +++ b/usr.sbin/bhyve/mevent.c @@ -80,6 +80,12 @@ struct mevent { LIST_ENTRY(mevent) me_list; }; +enum mevent_update_type { + UPDATE_ENABLE, + UPDATE_DISABLE, + UPDATE_TIMER, +}; + static LIST_HEAD(listhead, mevent) global_head, change_head; static void @@ -237,7 +243,6 @@ mevent_build(struct kevent *kev) */ close(mevp->me_fd); } else { - assert((mevp->me_state & EV_ADD) == 0); mevent_populate(mevp, &kev[i]); i++; } @@ -375,30 +380,35 @@ mevent_add_disabled(int tfd, enum ev_type type, } static int -mevent_update(struct mevent *evp, bool enable) +mevent_update(struct mevent *evp, enum mevent_update_type type, int msecs) { int newstate; mevent_qlock(); /* - * It's not possible to enable/disable a deleted event + * It's not possible to update a deleted event */ assert((evp->me_state & EV_DELETE) == 0); newstate = evp->me_state; - if (enable) { + if (type == UPDATE_ENABLE) { newstate |= EV_ENABLE; newstate &= ~EV_DISABLE; - } else { + } else if (type == UPDATE_DISABLE) { newstate |= EV_DISABLE; newstate &= ~EV_ENABLE; + } else { + assert(type == UPDATE_TIMER); + assert(evp->me_type == EVF_TIMER); + newstate |= EV_ADD; + evp->me_msecs = msecs; } /* - * No update needed if state isn't changing + * No update needed if enable/disable had no effect */ - if (evp->me_state != newstate) { + if (evp->me_state != newstate || type == UPDATE_TIMER) { evp->me_state = newstate; /* @@ -421,15 +431,19 @@ mevent_update(struct mevent *evp, bool enable) int mevent_enable(struct mevent *evp) { - - return (mevent_update(evp, true)); + return (mevent_update(evp, UPDATE_ENABLE, -1)); } int mevent_disable(struct mevent *evp) { + return (mevent_update(evp, UPDATE_DISABLE, -1)); +} - return (mevent_update(evp, false)); +int +mevent_timer_update(struct mevent *evp, int msecs) +{ + return (mevent_update(evp, UPDATE_TIMER, msecs)); } static int diff --git a/usr.sbin/bhyve/mevent.h b/usr.sbin/bhyve/mevent.h index de70361059bd..23107fc55982 100644 --- a/usr.sbin/bhyve/mevent.h +++ b/usr.sbin/bhyve/mevent.h @@ -55,6 +55,7 @@ int mevent_enable(struct mevent *evp); int mevent_disable(struct mevent *evp); int mevent_delete(struct mevent *evp); int mevent_delete_close(struct mevent *evp); +int mevent_timer_update(struct mevent *evp, int msecs); void mevent_dispatch(void); From nobody Wed Apr 10 15:19:27 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61r1dC6z5HHbc; Wed, 10 Apr 2024 15:19: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 4VF61r0nHQz4ncN; Wed, 10 Apr 2024 15:19:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zLQhic69hcj0fwDiTVW9nDIT7Jj3E5KW5NOmWTHDAk8=; b=RA0Wd7qTauOnxW42YcFhKR0pXjBJga9vNdDC/8DURsvylKmpjg0W9nt0YBtdf2lMNt4bxB BaD0AoE3h/KhZcG5kt4XUbDbNsxO0etL5yf8SZ8k2yXrmKjkOurg2e8M0Y5FqecHFcoqZB 7YUbWHjR+Ri1KInXcvuXVVYVw4c47EQhL0BMsvSWIrfUju09hCdjhmjlkqsyHE0KN/830G AQRJy1fRloOZFRmyQl1aAedmDOjGxDRzcUqywiPDQ2PjP7TYqaoPUBRR5PFONu63ktsMrh ZyvPwpRRXD4XUDXSBZrEcPeFyUcz8LoRurDfRxcJdKWCVW2vCyWqykIJravDOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762368; a=rsa-sha256; cv=none; b=SySe1qywArzfmc6L410XyZ4p3VOwmXVRgV55g63Cyv/5BB30Qk63rjgc+Qsv7Zrnq/Gtxr v2wtCPHYx9PObS/xPGhfLy4bjEdITjPlfl7vUOPqD2f1exMTichJOM/FfulH3DtQs1Hm/o wN/5EU0OYIzyGwXKMPMQi49a850XYC/dxGm6zMIk1yVw4mgsqc3Lr7oBzLF0slrfIBP1W9 /7KsvyJ5QkoW9d5qoXMzB3JweNFCfSxH3TYBruF2D+tr19ADVvR/157zUIG4SmjG4pJop+ ZkjyVDFzlkd4EMsrAHbjnYQwhuBq1TQ/+IeJfe8jlmXm1FTu+rdoUk0+tQoMhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zLQhic69hcj0fwDiTVW9nDIT7Jj3E5KW5NOmWTHDAk8=; b=ChfOxuH8i8iC09bE+wTjiXb3VNFUagYuj2ZVINzmAcvr1eIMQdGWwPd3CDp37890tekdmk draBtmDk+PjoikkU5+45r1f8OR144d8TutlMBHqI8HbgWC9LtE1IVtYB9Cut28JWCyfJYb qci2SHW4MtMiK03TL+VVsE/c5mGJhOQXYah1sDP/rpghQ6xj6V61cacNhztu0UKXfROvjl U0n843dLFdDzn9ZX3H5o0kJ3vzKMNtVRvY7ZDR2g+kg4oksqTk33vouhmfGOJwGLrNotEr YkDYwHdPX6nW9YdNY8rfO+yw5e1FcXRZat94s5f5l2Ij9jvFQi4hkaJJ+OZ9zg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF61r0PV0zjsN; Wed, 10 Apr 2024 15:19:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJRDa093828; Wed, 10 Apr 2024 15:19:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJRPb093825; Wed, 10 Apr 2024 15:19:27 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:27 GMT Message-Id: <202404101519.43AFJRPb093825@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: e3bd5730ca92 - main - bhyve: Extract uart-clock from fdt_add_uart as an apb-pclk 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: dev-commits-src-main+owner@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: e3bd5730ca925cd74dece9c52bcc10237b058546 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e3bd5730ca925cd74dece9c52bcc10237b058546 commit e3bd5730ca925cd74dece9c52bcc10237b058546 Author: Jessica Clarke AuthorDate: 2024-02-21 22:44:57 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 bhyve: Extract uart-clock from fdt_add_uart as an apb-pclk This clock will also be used by the PL031 RTC (rather than defining redundant per-device clocks). Reviewed by: jhb MFC after: 2 weeks Obtained from: CheriBSD --- usr.sbin/bhyve/aarch64/fdt.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/usr.sbin/bhyve/aarch64/fdt.c b/usr.sbin/bhyve/aarch64/fdt.c index 65876f0f90e8..e8c959a65f3b 100644 --- a/usr.sbin/bhyve/aarch64/fdt.c +++ b/usr.sbin/bhyve/aarch64/fdt.c @@ -57,6 +57,7 @@ static void *fdtroot; static uint32_t gic_phandle = 0; +static uint32_t apb_pclk_phandle; static uint32_t assign_phandle(void *fdt) @@ -155,6 +156,14 @@ fdt_init(struct vmctx *ctx, int ncpu, vm_paddr_t fdtaddr, vm_size_t fdtsize) fdt_property_string(fdt, "method", "hvc"); fdt_end_node(fdt); + fdt_begin_node(fdt, "apb-pclk"); + fdt_property_string(fdt, "compatible", "fixed-clock"); + fdt_property_string(fdt, "clock-output-names", "clk24mhz"); + fdt_property_u32(fdt, "#clock-cells", 0); + fdt_property_u32(fdt, "clock-frequency", 24000000); + apb_pclk_phandle = assign_phandle(fdt); + fdt_end_node(fdt); + /* Finalized by fdt_finalized(). */ fdtroot = fdt; @@ -204,21 +213,13 @@ fdt_add_uart(uint64_t uart_base, uint64_t uart_size, int intr) { void *fdt, *interrupts, *prop; char node_name[32]; - uint32_t clk_phandle; assert(gic_phandle != 0); + assert(apb_pclk_phandle != 0); assert(intr >= GIC_FIRST_SPI); fdt = fdtroot; - fdt_begin_node(fdt, "uart-clock"); - fdt_property_string(fdt, "compatible", "fixed-clock"); - fdt_property_string(fdt, "clock-output-names", "clk24mhz"); - fdt_property_u32(fdt, "#clock-cells", 0); - fdt_property_u32(fdt, "clock-frequency", 24000000); - clk_phandle = assign_phandle(fdt); - fdt_end_node(fdt); - snprintf(node_name, sizeof(node_name), "serial@%lx", uart_base); fdt_begin_node(fdt, node_name); #define UART_COMPAT "arm,pl011\0arm,primecell" @@ -232,8 +233,8 @@ fdt_add_uart(uint64_t uart_base, uint64_t uart_size, int intr) SET_PROP_U32(interrupts, 1, intr - GIC_FIRST_SPI); SET_PROP_U32(interrupts, 2, IRQ_TYPE_LEVEL_HIGH); fdt_property_placeholder(fdt, "clocks", 2 * sizeof(uint32_t), &prop); - SET_PROP_U32(prop, 0, clk_phandle); - SET_PROP_U32(prop, 1, clk_phandle); + SET_PROP_U32(prop, 0, apb_pclk_phandle); + SET_PROP_U32(prop, 1, apb_pclk_phandle); #define UART_CLK_NAMES "uartclk\0apb_pclk" fdt_property(fdt, "clock-names", UART_CLK_NAMES, sizeof(UART_CLK_NAMES)); From nobody Wed Apr 10 15:19:29 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF61s2SlTz5HHYh; Wed, 10 Apr 2024 15:19: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 4VF61s1rJLz4nXc; Wed, 10 Apr 2024 15:19:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WbEeHEiqk77c99InBVPNmPX46Vyl+0JcrsJedsgmOBI=; b=A5iWCGO2/9FgU4M7TXf76JNZqnmSN2GDfwvKS71iz51pXboCa3Iqp+n1Yl95Hl86NZTIuO lF8Yc+3g1zx5AGrCQC8L12sIgVrGs7j42XJK2MLzLkSExn5z8KGwnrWxYDqwZ+wn8oPHmP rPRIxJI7aP1bcfh/ZYvIUQVhBItsKtLCzR2lDLgcuW3DMXqBmRSdDVvxF5ZXrOfaDpyg8G O1liQiZCJ7lNyApCW5FwL2nnv8W8riSyaUVvIl5IiHt9QdisuHle2DqMQ2xslWI6jcRky5 8j+bg0ZBPYiOKkiL/v1i0amAre0ylPbu+WcWTf2VcYLc1lDYmZreiR36kMgr3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762369; a=rsa-sha256; cv=none; b=IIAdE44bw7xVUnIMKQHLmihbSpWQBDo5ZipCzibL4EPa+WuBNDvqNdUsajJeLcwUXavSSI SPfgcRHPM/gH/v/PHhrcyaCyef2yg4JNbPD6cnVnCTQ9XcWXdpfanXCGb8NtwLpeffL2Gi NcPniy/InpQHclqLmw0pIJunZhXjS55MUaxJODDdG90qqErY56f6mwjQx2ffosgooUIkaA ON5Q2626PCWyaRb/XLm6nJCYkOcboJa+f8Di+YMu3ffIVKmfqN1jFCI1i/nlnLZxZE+DLk XdHqEQD1A8RnqwZtbh7xX2JYRfvW8lm8Bsc5r/am5EZzFABPlwHKjqNhis9Iaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WbEeHEiqk77c99InBVPNmPX46Vyl+0JcrsJedsgmOBI=; b=dVvLIAiLosWfuv5YDaEvj/VFtGA5FgHFqFP401YUzCf3ZKlFT8VyY9QaV9xL+KIi+za6d6 tZ+ZUPVQPzGhAGnpN+1puOkJ0YSfX4u+UioG7hqoUba5tnQaGN691IaUVeTYpdH8jdj6xx YTL0sGQixsPwj8hfurQI4NtVQjw/xl60Uu/Ee1OymiA3wI+HziywPgAYwXEO+5cUvkT7MR kHtoRRGTdRwIEja6f6t7oSJSB1fJXcfiPqXu3vsrTY9Yx8ldOev1MUhD/SrZ+KkcuaJ3JZ yIfJmTpJFntE4MGcplLNSdD+Y/MH6YXzWGikvQBvZNLO+tbgmNzXYJmuZpjk/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 4VF61s1SgmzjXl; Wed, 10 Apr 2024 15:19:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFJTel093882; Wed, 10 Apr 2024 15:19:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFJT2U093879; Wed, 10 Apr 2024 15:19:29 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:19:29 GMT Message-Id: <202404101519.43AFJT2U093879@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: 014d7082a239 - main - bhyve: Implement a PL031 RTC on arm64 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: dev-commits-src-main+owner@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: 014d7082a2398ec39e76b5f7b1f842fc9be6c51e Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=014d7082a2398ec39e76b5f7b1f842fc9be6c51e commit 014d7082a2398ec39e76b5f7b1f842fc9be6c51e Author: Jessica Clarke AuthorDate: 2024-02-21 22:57:04 +0000 Commit: Mark Johnston CommitDate: 2024-04-10 15:17:56 +0000 bhyve: Implement a PL031 RTC on arm64 Unlike amd64's, this RTC is implemented entirely in userspace. This is the same RTC as is provided by QEMU's virt machine. Reviewed by: jhb MFC after: 2 weeks Obtained from: CheriBSD --- usr.sbin/bhyve/aarch64/Makefile.inc | 1 + usr.sbin/bhyve/aarch64/bhyverun_machdep.c | 60 +++++++ usr.sbin/bhyve/aarch64/fdt.c | 31 ++++ usr.sbin/bhyve/aarch64/fdt.h | 1 + usr.sbin/bhyve/rtc_pl031.c | 279 ++++++++++++++++++++++++++++++ usr.sbin/bhyve/rtc_pl031.h | 40 +++++ 6 files changed, 412 insertions(+) diff --git a/usr.sbin/bhyve/aarch64/Makefile.inc b/usr.sbin/bhyve/aarch64/Makefile.inc index 2c7a3cac105e..e2ea4414ca19 100644 --- a/usr.sbin/bhyve/aarch64/Makefile.inc +++ b/usr.sbin/bhyve/aarch64/Makefile.inc @@ -1,5 +1,6 @@ SRCS+= \ fdt.c \ + rtc_pl031.c \ uart_pl011.c .PATH: ${BHYVE_SYSDIR}/sys/arm64/vmm diff --git a/usr.sbin/bhyve/aarch64/bhyverun_machdep.c b/usr.sbin/bhyve/aarch64/bhyverun_machdep.c index 2aa7d2d9b4fd..a5fd3f054706 100644 --- a/usr.sbin/bhyve/aarch64/bhyverun_machdep.c +++ b/usr.sbin/bhyve/aarch64/bhyverun_machdep.c @@ -48,6 +48,7 @@ #include "mem.h" #include "pci_emul.h" #include "pci_irq.h" +#include "rtc_pl031.h" #include "uart_emul.h" /* Start of mem + 1M */ @@ -58,6 +59,9 @@ #define UART_MMIO_BASE 0x10000 #define UART_MMIO_SIZE 0x1000 #define UART_INTR 32 +#define RTC_MMIO_BASE 0x11000 +#define RTC_MMIO_SIZE 0x1000 +#define RTC_INTR 33 #define GIC_DIST_BASE 0x2f000000 #define GIC_DIST_SIZE 0x10000 @@ -287,6 +291,60 @@ init_mmio_uart(struct vmctx *ctx) return (true); } +static void +mmio_rtc_intr_assert(void *arg) +{ + struct vmctx *ctx = arg; + + vm_assert_irq(ctx, RTC_INTR); +} + +static void +mmio_rtc_intr_deassert(void *arg) +{ + struct vmctx *ctx = arg; + + vm_deassert_irq(ctx, RTC_INTR); +} + +static int +mmio_rtc_mem_handler(struct vcpu *vcpu __unused, int dir, + uint64_t addr, int size __unused, uint64_t *val, void *arg1, long arg2) +{ + struct rtc_pl031_softc *sc = arg1; + long reg; + + reg = addr - arg2; + if (dir == MEM_F_WRITE) + rtc_pl031_write(sc, reg, *val); + else + *val = rtc_pl031_read(sc, reg); + + return (0); +} + +static void +init_mmio_rtc(struct vmctx *ctx) +{ + struct rtc_pl031_softc *sc; + struct mem_range mr; + int error; + + sc = rtc_pl031_init(mmio_rtc_intr_assert, mmio_rtc_intr_deassert, + ctx); + + bzero(&mr, sizeof(struct mem_range)); + mr.name = "rtc"; + mr.base = RTC_MMIO_BASE; + mr.size = RTC_MMIO_SIZE; + mr.flags = MEM_F_RW; + mr.handler = mmio_rtc_mem_handler; + mr.arg1 = sc; + mr.arg2 = mr.base; + error = register_mem(&mr); + assert(error == 0); +} + static vm_paddr_t fdt_gpa(struct vmctx *ctx) { @@ -328,6 +386,8 @@ bhyve_init_platform(struct vmctx *ctx, struct vcpu *bsp) if (init_mmio_uart(ctx)) fdt_add_uart(UART_MMIO_BASE, UART_MMIO_SIZE, UART_INTR); + init_mmio_rtc(ctx); + fdt_add_rtc(RTC_MMIO_BASE, RTC_MMIO_SIZE, RTC_INTR); fdt_add_timer(); pci_irq_init(pcie_intrs); fdt_add_pcie(pcie_intrs); diff --git a/usr.sbin/bhyve/aarch64/fdt.c b/usr.sbin/bhyve/aarch64/fdt.c index e8c959a65f3b..3fb97a40c241 100644 --- a/usr.sbin/bhyve/aarch64/fdt.c +++ b/usr.sbin/bhyve/aarch64/fdt.c @@ -248,6 +248,37 @@ fdt_add_uart(uint64_t uart_base, uint64_t uart_size, int intr) fdt_end_node(fdt); } +void +fdt_add_rtc(uint64_t rtc_base, uint64_t rtc_size, int intr) +{ + void *fdt, *interrupts, *prop; + char node_name[32]; + + assert(gic_phandle != 0); + assert(apb_pclk_phandle != 0); + assert(intr >= GIC_FIRST_SPI); + + fdt = fdtroot; + + snprintf(node_name, sizeof(node_name), "rtc@%lx", rtc_base); + fdt_begin_node(fdt, node_name); +#define RTC_COMPAT "arm,pl031\0arm,primecell" + fdt_property(fdt, "compatible", RTC_COMPAT, sizeof(RTC_COMPAT)); +#undef RTC_COMPAT + set_single_reg(fdt, rtc_base, rtc_size); + fdt_property_u32(fdt, "interrupt-parent", gic_phandle); + fdt_property_placeholder(fdt, "interrupts", 3 * sizeof(uint32_t), + &interrupts); + SET_PROP_U32(interrupts, 0, GIC_SPI); + SET_PROP_U32(interrupts, 1, intr - GIC_FIRST_SPI); + SET_PROP_U32(interrupts, 2, IRQ_TYPE_LEVEL_HIGH); + fdt_property_placeholder(fdt, "clocks", sizeof(uint32_t), &prop); + SET_PROP_U32(prop, 0, apb_pclk_phandle); + fdt_property_string(fdt, "clock-names", "apb_pclk"); + + fdt_end_node(fdt); +} + void fdt_add_timer(void) { diff --git a/usr.sbin/bhyve/aarch64/fdt.h b/usr.sbin/bhyve/aarch64/fdt.h index 6534266173d0..c19d19d34a46 100644 --- a/usr.sbin/bhyve/aarch64/fdt.h +++ b/usr.sbin/bhyve/aarch64/fdt.h @@ -42,6 +42,7 @@ void fdt_add_gic(uint64_t dist_base, uint64_t dist_size, void fdt_add_timer(void); void fdt_add_pcie(int intrs[static 4]); void fdt_add_uart(uint64_t uart_base, uint64_t uart_size, int intr); +void fdt_add_rtc(uint64_t rtc_base, uint64_t rtc_size, int intr); void fdt_finalize(void); #endif /* _FDT_H_ */ diff --git a/usr.sbin/bhyve/rtc_pl031.c b/usr.sbin/bhyve/rtc_pl031.c new file mode 100644 index 000000000000..e334de6f92bb --- /dev/null +++ b/usr.sbin/bhyve/rtc_pl031.c @@ -0,0 +1,279 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Jessica Clarke + * + * 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 + +#include +#include +#include +#include +#include + +#include "config.h" +#include "mevent.h" +#include "rtc_pl031.h" + +#define RTCDR 0x000 +#define RTCMR 0x004 +#define RTCLR 0x008 +#define RTCCR 0x00C +#define RTCIMSC 0x010 +#define RTCRIS 0x014 +#define RTCMIS 0x018 +#define RTCICR 0x01C + +#define RTCPeriphID0 0xFE0 +#define RTCPeriphID1 0xFE4 +#define RTCPeriphID2 0xFE8 +#define RTCPeriphID3 0xFEC +#define _RTCPeriphID_VAL 0x00141031 +#define RTCPeriphID_VAL(_n) ((_RTCPeriphID_VAL >> (8 * (_n))) & 0xff) + +#define RTCCellID0 0xFF0 +#define RTCCellID1 0xFF4 +#define RTCCellID2 0xFF8 +#define RTCCellID3 0xFFC +#define _RTCCellID_VAL 0xb105f00d +#define RTCCellID_VAL(_n) ((_RTCCellID_VAL >> (8 * (_n))) & 0xff) + +struct rtc_pl031_softc { + pthread_mutex_t mtx; + + time_t last_tick; + uint32_t dr; + uint32_t mr; + uint32_t lr; + uint8_t imsc; + uint8_t ris; + uint8_t prev_mis; + + struct mevent *mevp; + + void *arg; + rtc_pl031_intr_func_t intr_assert; + rtc_pl031_intr_func_t intr_deassert; +}; + +static void rtc_pl031_callback(int fd, enum ev_type type, void *param); + +/* + * Returns the current RTC time as number of seconds since 00:00:00 Jan 1, 1970 + */ +static time_t +rtc_pl031_time(void) +{ + struct tm tm; + time_t t; + + time(&t); + if (get_config_bool_default("rtc.use_localtime", false)) { + localtime_r(&t, &tm); + t = timegm(&tm); + } + return (t); +} + +static void +rtc_pl031_update_mis(struct rtc_pl031_softc *sc) +{ + uint8_t mis; + + mis = sc->ris & sc->imsc; + if (mis == sc->prev_mis) + return; + + sc->prev_mis = mis; + if (mis) + (*sc->intr_assert)(sc->arg); + else + (*sc->intr_deassert)(sc->arg); +} + +static uint64_t +rtc_pl031_next_match_ticks(struct rtc_pl031_softc *sc) +{ + uint32_t ticks; + + ticks = sc->mr - sc->dr; + if (ticks == 0) + return ((uint64_t)1 << 32); + + return (ticks); +} + +static int +rtc_pl031_next_timer_msecs(struct rtc_pl031_softc *sc) +{ + uint64_t ticks; + + ticks = rtc_pl031_next_match_ticks(sc); + return (MIN(ticks * 1000, INT_MAX)); +} + +static void +rtc_pl031_update_timer(struct rtc_pl031_softc *sc) +{ + mevent_timer_update(sc->mevp, rtc_pl031_next_timer_msecs(sc)); +} + +static void +rtc_pl031_tick(struct rtc_pl031_softc *sc, bool from_timer) +{ + bool match; + time_t now, ticks; + + now = rtc_pl031_time(); + ticks = now - sc->last_tick; + match = ticks >= 0 && + (uint64_t)ticks >= rtc_pl031_next_match_ticks(sc); + sc->dr += ticks; + sc->last_tick = now; + + if (match) { + sc->ris = 1; + rtc_pl031_update_mis(sc); + } + + if (match || from_timer || ticks < 0) + rtc_pl031_update_timer(sc); +} + +static void +rtc_pl031_callback(int fd __unused, enum ev_type type __unused, void *param) +{ + struct rtc_pl031_softc *sc = param; + + pthread_mutex_lock(&sc->mtx); + rtc_pl031_tick(sc, true); + pthread_mutex_unlock(&sc->mtx); +} + +void +rtc_pl031_write(struct rtc_pl031_softc *sc, int offset, uint32_t value) +{ + pthread_mutex_lock(&sc->mtx); + rtc_pl031_tick(sc, false); + switch (offset) { + case RTCMR: + sc->mr = value; + rtc_pl031_update_timer(sc); + break; + case RTCLR: + sc->lr = value; + sc->dr = sc->lr; + rtc_pl031_update_timer(sc); + break; + case RTCIMSC: + sc->imsc = value & 1; + rtc_pl031_update_mis(sc); + break; + case RTCICR: + sc->ris &= ~value; + rtc_pl031_update_mis(sc); + break; + default: + /* Ignore writes to read-only/unassigned/ID registers */ + break; + } + pthread_mutex_unlock(&sc->mtx); +} + +uint32_t +rtc_pl031_read(struct rtc_pl031_softc *sc, int offset) +{ + uint32_t reg; + + pthread_mutex_lock(&sc->mtx); + rtc_pl031_tick(sc, false); + switch (offset) { + case RTCDR: + reg = sc->dr; + break; + case RTCMR: + reg = sc->mr; + break; + case RTCLR: + reg = sc->lr; + break; + case RTCCR: + /* RTC enabled from reset */ + reg = 1; + break; + case RTCIMSC: + reg = sc->imsc; + break; + case RTCRIS: + reg = sc->ris; + break; + case RTCMIS: + reg = sc->ris & sc->imsc; + break; + case RTCPeriphID0: + case RTCPeriphID1: + case RTCPeriphID2: + case RTCPeriphID3: + reg = RTCPeriphID_VAL(offset - RTCPeriphID0); + break; + case RTCCellID0: + case RTCCellID1: + case RTCCellID2: + case RTCCellID3: + reg = RTCCellID_VAL(offset - RTCCellID0); + break; + default: + /* Return 0 in reads from unasigned registers */ + reg = 0; + break; + } + pthread_mutex_unlock(&sc->mtx); + + return (reg); +} + +struct rtc_pl031_softc * +rtc_pl031_init(rtc_pl031_intr_func_t intr_assert, + rtc_pl031_intr_func_t intr_deassert, void *arg) +{ + struct rtc_pl031_softc *sc; + time_t now; + + sc = calloc(1, sizeof(struct rtc_pl031_softc)); + + pthread_mutex_init(&sc->mtx, NULL); + + now = rtc_pl031_time(); + sc->dr = now; + sc->last_tick = now; + sc->arg = arg; + sc->intr_assert = intr_assert; + sc->intr_deassert = intr_deassert; + + sc->mevp = mevent_add(rtc_pl031_next_timer_msecs(sc), EVF_TIMER, + rtc_pl031_callback, sc); + + return (sc); +} diff --git a/usr.sbin/bhyve/rtc_pl031.h b/usr.sbin/bhyve/rtc_pl031.h new file mode 100644 index 000000000000..8e4ef685908a --- /dev/null +++ b/usr.sbin/bhyve/rtc_pl031.h @@ -0,0 +1,40 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Jessica Clarke + * + * 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. + */ + +#ifndef _RTC_PL031_H_ +#define _RTC_PL031_H_ + +struct rtc_pl031_softc; +typedef void (*rtc_pl031_intr_func_t)(void *arg); + +struct rtc_pl031_softc *rtc_pl031_init(rtc_pl031_intr_func_t intr_assert, + rtc_pl031_intr_func_t intr_deassert, void *arg); +void rtc_pl031_write(struct rtc_pl031_softc *sc, int offset, + uint32_t value); +uint32_t rtc_pl031_read(struct rtc_pl031_softc *sc, int offset); + +#endif /* _RTC_PL031_H_ */ From nobody Wed Apr 10 15:29:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF6F01ctPz5HJCv; Wed, 10 Apr 2024 15:29:08 +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 4VF6F015Q5z40fZ; Wed, 10 Apr 2024 15:29:08 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762948; h=from:from:reply-to:subject: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=wlb29B8CU8Tx5rJ6z+7r10QiWXk2lDPGmzeUFq5yyZ0=; b=veTJuMcn9yfHU9y9v+U7J0z8PJ1NdafyDuRuZcHgsYJko5t0NvDVEDzmG+uBcqcQ+pm4bD i6sBywCNonlOTU/Od/0M2B0VSFX0+1gm9CcNhNCMFxpoeA9lqjc1GlWuxgRB97liNXj/Xe Dx8bT/LAR3kV4Lr7GZbRSSv4LyamkdDzHlzJvq5AAjiJOx2SPmGi6/rw2PvT6yVp7aFWe6 NnG04LYMKyboFV8ndI6o/saWM3jRCuGxRg4PiDpnMZrXiAsuXtPI2exkeCaPjFT2Q7JEHl xVoeQH61DIPp3N/w1ZEFvK8zYOn0pKvtamIuQcRvs+xn+JLuT8DBqY3SrBUGhA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712762948; a=rsa-sha256; cv=none; b=Bk+yCb8eO1EUMs71/u9EKt0/bOIs+W3WAN++VKHx/x5ku4gzd8oi00E+KNC6/3p1/0X9ZL sODdf4ER1foTx5q/KOUN4wsNuRrSpB8cgef2rCMVxehJxEZuoLJzkkW8M5d0MGSo29v/Co K5+5oKmviYEF7jl91aNb8Jhr+wAkIJI5rcHO2JqfCkgTErVO8mlYAKXXExLegHRd4Hnia4 K+rnJSSwsKaLMLR9Oj7zRtCzsQr3iIj28jowSUjAYdc2B3+ZV+iSJZfgASTWGpBL+3F6Ot jLZGEobPiXiljFAD8rVTvvGUjPIFV6HQdH657R8+D6krSf6eJPdN+z5EjKAozw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712762948; h=from:from:reply-to:subject: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=wlb29B8CU8Tx5rJ6z+7r10QiWXk2lDPGmzeUFq5yyZ0=; b=RxnYtjRZEy+kcNPCM++AIUkehNlqRESP20dxsHthuKEwJCNVAyW1yeWVCxMivLv3H+IQIe b1C0yzgh084yxKhfiub9e+peHeeNP3Sg8WkEpVKxmKkXz62UEjqgJB30D5nGhVO105Dc5V lgU79fUzDGd8p6OLtAFDcBNfeovm3uChlwDVnWJpcFM9HuZg0yEZrUw5S68ll74FQQeKus xWCmyXYfWIFKwpRjSx9VADbd2BtXiiquuFL1dgntwHJEyI/vq+EWIOUGTNRRt1ZG/u9QLY LzZZ39CTlaKfmuVt57hsCaBslp3nKBqHfN1JsmIxBp/SOEnctn41AoZwYrvBQQ== Received: from [IPV6:2601:644:937f:4c50:7d01:266e:5339:1e93] (unknown [IPv6:2601:644:937f:4c50:7d01:266e:5339:1e93]) (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 4VF6Dz4yNszNqs; Wed, 10 Apr 2024 15:29:07 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Wed, 10 Apr 2024 08:29:05 -0700 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: dev-commits-src-main+owner@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 65c603ed65c7 - main - release: distributekernel before packagekernel Content-Language: en-US To: Colin Percival , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202404100329.43A3TLA1089631@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202404100329.43A3TLA1089631@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 4/9/24 11:29 PM, Colin Percival wrote: > The branch main has been updated by cperciva: > > URL: https://cgit.FreeBSD.org/src/commit/?id=65c603ed65c700d6eacdf9e1e94dc42fd70fb0b7 > > commit 65c603ed65c700d6eacdf9e1e94dc42fd70fb0b7 > Author: Colin Percival > AuthorDate: 2024-04-10 03:26:51 +0000 > Commit: Colin Percival > CommitDate: 2024-04-10 03:29:16 +0000 > > release: distributekernel before packagekernel > > With these as a single make command, `make -j` breaks when it tries to > package up a kernel which hasn't been distributed yet. > > MFC after: 1 week Hmm, should this section of the toplevel Makefile be updated instead? .ORDER: buildworld installworld .ORDER: buildworld distrib-dirs .ORDER: buildworld distribution .ORDER: buildworld distribute .ORDER: buildworld distributeworld .ORDER: buildworld buildkernel .ORDER: distrib-dirs distribute .ORDER: distrib-dirs distributeworld .ORDER: distrib-dirs installworld .ORDER: distribution distribute .ORDER: distributeworld distribute .ORDER: distributeworld distribution .ORDER: installworld distribute .ORDER: installworld distribution .ORDER: installworld installkernel .ORDER: buildkernel installkernel .ORDER: buildkernel installkernel.debug .ORDER: buildkernel reinstallkernel .ORDER: buildkernel reinstallkernel.debug .ORDER: kernel-toolchain buildkernel Seems like explicit .ORDER's for the various package* targets might be useful in general. -- John Baldwin From nobody Wed Apr 10 15:37:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF6Qp1G2Kz5HKGy; Wed, 10 Apr 2024 15:37: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 4VF6Qp0jPQz41Qr; Wed, 10 Apr 2024 15:37:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712763458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5T8yRysYwyaA6GNnFn3oOElnWVLJAwrb0gDgpaxtfT4=; b=XcL9DI8CdC6nAP7oE87OW13Q3U0sx+0CfjH3LQWUycjyI+WuT2ddeJ1+KUvOpUt6IESKNC FhfBhyWfkQP30Lircz5QUGZgfrxfL4PAikVeGEuyx3MqMjJ58D0oNoJAY2gUX1dcM2czYF MTDOa3BFIxx4Kw5VoynG3UfmAzbheXbroh5SbdSQCqAUoDWMC5/03xJVgGL1mHtM3FAF2C zq7P/qtYQ8Jtiej/n9G3K/ImeRO/Kv28Bs18crODjtwmLBtQ3hLNyv0k/m304OlvdbZKSx 7QET7ouzv3sxghg53dpoemhQVozOFsXZ98WNedvb8wxEQrB6p05u1nMCk1qL0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712763458; a=rsa-sha256; cv=none; b=SMQT0wf4YfHYpqx59bkq0O7/+rnLxdOYJdWUdZI5hozPfqs6xxRtdrYjNyV3pD7WBL0kTT 0fTP8VIXgNrD1kPioxQpBY11P6dwbzYrGd3GT3Du5fe5kE1Ry6tq5CHmsmQbBreuE+VEMu kmhVXfLsJFpvmHMR40cWTCT8DRuPc+fQcZQQbt38QCASDVT1MtNpdLtjMtfOF6MaAkLV4V 5v0bsj7Xf0TsweXS5hxUpvJvA9Hmo7Absjb8pBsDp1AGjrWIbpaE2wy+34VqQcJIppDcmi Rs3n/ECET2HFeoJW67zzFCso8GGNhyugbIS5nd9dz/TPwipK03O/FvfIyPvBuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712763458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5T8yRysYwyaA6GNnFn3oOElnWVLJAwrb0gDgpaxtfT4=; b=Nk4yhj3OGQvUaX0RAZ3KwKlCPgAFjEaOvEO2GL6i2fHSaapNPm7+57av4pDL2srGhuCVyg vPwNM0IeKCaMxTtFdo/CvUu8jTApGrfsBdD7HXRef4Pu5vLsrhQNCQD96Sdo0g4KEabeus LaNLDh/IeicoxXeKU4hO65xm59ikOriagAymbB5uSFcy4R6uUphVcumlkXcONzlPcQV1xt ygkNXNPWfGPZWP6G2hJ/ISVRZY6eht4NqEZvzo3J9GL6obav2QV9hJ9wg11BUAuXjQvq/+ WjwosxpalmWQGBM4hgfnBkTvq/FPVa3KFDnN1Ths5sR1osRTuFLpKg6QuDFxdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VF6Qp09sVzjxX; Wed, 10 Apr 2024 15:37:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AFbbTf026901; Wed, 10 Apr 2024 15:37:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AFbbkk026898; Wed, 10 Apr 2024 15:37:37 GMT (envelope-from git) Date: Wed, 10 Apr 2024 15:37:37 GMT Message-Id: <202404101537.43AFbbkk026898@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan =?utf-8?Q?Novkovi=C4=87?= Subject: git: 7a79d0669761 - main - vm: improve kstack_object pindex calculation to avoid pindex holes 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: dev-commits-src-main+owner@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: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7a79d066976149349ecb90240d02eed0c4268737 Auto-Submitted: auto-generated The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=7a79d066976149349ecb90240d02eed0c4268737 commit 7a79d066976149349ecb90240d02eed0c4268737 Author: Bojan Novković AuthorDate: 2024-04-09 19:02:12 +0000 Commit: Bojan Novković CommitDate: 2024-04-10 15:37:20 +0000 vm: improve kstack_object pindex calculation to avoid pindex holes This commit replaces the linear transformation of kernel virtual addresses to kstack_object pindex values with a non-linear scheme that circumvents physical memory fragmentation caused by kernel stack guard pages. The new mapping scheme is used to effectively "skip" guard pages and assign pindices for non-guard pages in a contiguous fashion. The new allocation scheme requires that all default-sized kstack KVAs come from a separate, specially aligned region of the KVA space. For this to work, this commited introduces a dedicated per-domain kstack KVA arena used to allocate kernel stacks of default size. The behaviour on 32-bit platforms remains unchanged due to a significatly smaller KVA space. Aside from fullfilling the requirements imposed by the new scheme, a separate kstack KVA arena facilitates superpage promotion in the rest of kernel and causes most kstacks to have guard pages at both ends. Reviewed by: alc, kib, markj Tested by: markj Approved by: markj (mentor) Differential Revision: https://reviews.freebsd.org/D38852 --- sys/sys/proc.h | 3 +- sys/vm/vm_extern.h | 6 +- sys/vm/vm_glue.c | 336 +++++++++++++++++++++++++++++++++++++++++++++------- sys/vm/vm_kern.h | 2 - sys/vm/vm_swapout.c | 29 +++-- 5 files changed, 314 insertions(+), 62 deletions(-) diff --git a/sys/sys/proc.h b/sys/sys/proc.h index b08226c89dfd..fa4c7d2768f0 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -366,7 +366,8 @@ struct thread { struct callout td_slpcallout; /* (h) Callout for sleep. */ struct trapframe *td_frame; /* (k) */ vm_offset_t td_kstack; /* (a) Kernel VA of kstack. */ - int td_kstack_pages; /* (a) Size of the kstack. */ + u_short td_kstack_pages; /* (a) Size of the kstack. */ + u_short td_kstack_domain; /* (a) Domain backing kstack KVA. */ volatile u_int td_critnest; /* (k*) Critical section nest level. */ struct mdthread td_md; /* (k) Any machine-dependent fields. */ struct kaudit_record *td_ar; /* (k) Active audit record, if any. */ diff --git a/sys/vm/vm_extern.h b/sys/vm/vm_extern.h index 2e2bc18a0233..b50abab7380c 100644 --- a/sys/vm/vm_extern.h +++ b/sys/vm/vm_extern.h @@ -127,8 +127,10 @@ struct sf_buf *vm_imgact_map_page(vm_object_t object, vm_ooffset_t offset); void vm_imgact_unmap_page(struct sf_buf *sf); void vm_thread_dispose(struct thread *td); int vm_thread_new(struct thread *td, int pages); -void vm_thread_stack_back(struct domainset *ds, vm_offset_t kaddr, - vm_page_t ma[], int npages, int req_class); +vm_pindex_t vm_kstack_pindex(vm_offset_t ks, int npages); +vm_object_t vm_thread_kstack_size_to_obj(int npages); +int vm_thread_stack_back(vm_offset_t kaddr, vm_page_t ma[], int npages, + int req_class, int domain); u_int vm_active_count(void); u_int vm_inactive_count(void); u_int vm_laundry_count(void); diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c index 100d31e7c4ec..4292a7533503 100644 --- a/sys/vm/vm_glue.c +++ b/sys/vm/vm_glue.c @@ -96,14 +96,23 @@ #include #include #include +#include #include #include #include #include #include +#include #include +#if VM_NRESERVLEVEL > 0 +#define KVA_KSTACK_QUANTUM_SHIFT (VM_LEVEL_0_ORDER + PAGE_SHIFT) +#else +#define KVA_KSTACK_QUANTUM_SHIFT (8 + PAGE_SHIFT) +#endif +#define KVA_KSTACK_QUANTUM (1ul << KVA_KSTACK_QUANTUM_SHIFT) + /* * MPSAFE * @@ -262,9 +271,11 @@ vm_sync_icache(vm_map_t map, vm_offset_t va, vm_offset_t sz) pmap_sync_icache(map->pmap, va, sz); } -vm_object_t kstack_object; +static vm_object_t kstack_object; +static vm_object_t kstack_alt_object; static uma_zone_t kstack_cache; static int kstack_cache_size; +static vmem_t *vmd_kstack_arena[MAXMEMDOM]; static int sysctl_kstack_cache_size(SYSCTL_HANDLER_ARGS) @@ -282,63 +293,218 @@ SYSCTL_PROC(_vm, OID_AUTO, kstack_cache_size, sysctl_kstack_cache_size, "IU", "Maximum number of cached kernel stacks"); /* - * Create the kernel stack (including pcb for i386) for a new thread. + * Allocate a virtual address range from a domain kstack arena, following + * the specified NUMA policy. */ static vm_offset_t -vm_thread_stack_create(struct domainset *ds, int pages) +vm_thread_alloc_kstack_kva(vm_size_t size, int domain) { - vm_page_t ma[KSTACK_MAX_PAGES]; - vm_offset_t ks; - int i; +#ifndef __ILP32__ + int rv; + vmem_t *arena; + vm_offset_t addr = 0; + + size = round_page(size); + /* Allocate from the kernel arena for non-standard kstack sizes. */ + if (size != ptoa(kstack_pages + KSTACK_GUARD_PAGES)) { + arena = vm_dom[domain].vmd_kernel_arena; + } else { + arena = vmd_kstack_arena[domain]; + } + rv = vmem_alloc(arena, size, M_BESTFIT | M_NOWAIT, &addr); + if (rv == ENOMEM) + return (0); + KASSERT(atop(addr - VM_MIN_KERNEL_ADDRESS) % + (kstack_pages + KSTACK_GUARD_PAGES) == 0, + ("%s: allocated kstack KVA not aligned to multiple of kstack size", + __func__)); + + return (addr); +#else + return (kva_alloc(size)); +#endif +} +/* + * Release a region of kernel virtual memory + * allocated from the kstack arena. + */ +static __noinline void +vm_thread_free_kstack_kva(vm_offset_t addr, vm_size_t size, int domain) +{ + vmem_t *arena; + + size = round_page(size); +#ifdef __ILP32__ + arena = kernel_arena; +#else + arena = vmd_kstack_arena[domain]; + if (size != ptoa(kstack_pages + KSTACK_GUARD_PAGES)) { + arena = vm_dom[domain].vmd_kernel_arena; + } +#endif + vmem_free(arena, addr, size); +} + +static vmem_size_t +vm_thread_kstack_import_quantum(void) +{ +#ifndef __ILP32__ /* - * Get a kernel virtual address for this thread's kstack. + * The kstack_quantum is larger than KVA_QUANTUM to account + * for holes induced by guard pages. */ - ks = kva_alloc((pages + KSTACK_GUARD_PAGES) * PAGE_SIZE); - if (ks == 0) { - printf("%s: kstack allocation failed\n", __func__); - return (0); + return (KVA_KSTACK_QUANTUM * (kstack_pages + KSTACK_GUARD_PAGES)); +#else + return (KVA_KSTACK_QUANTUM); +#endif +} + +/* + * Import KVA from a parent arena into the kstack arena. Imports must be + * a multiple of kernel stack pages + guard pages in size. + * + * Kstack VA allocations need to be aligned so that the linear KVA pindex + * is divisible by the total number of kstack VA pages. This is necessary to + * make vm_kstack_pindex work properly. + * + * We import a multiple of KVA_KSTACK_QUANTUM-sized region from the parent + * arena. The actual size used by the kstack arena is one kstack smaller to + * allow for the necessary alignment adjustments to be made. + */ +static int +vm_thread_kstack_arena_import(void *arena, vmem_size_t size, int flags, + vmem_addr_t *addrp) +{ + int error, rem; + size_t kpages = kstack_pages + KSTACK_GUARD_PAGES; + + KASSERT(atop(size) % kpages == 0, + ("%s: Size %jd is not a multiple of kstack pages (%d)", __func__, + (intmax_t)size, (int)kpages)); + + error = vmem_xalloc(arena, vm_thread_kstack_import_quantum(), + KVA_KSTACK_QUANTUM, 0, 0, VMEM_ADDR_MIN, VMEM_ADDR_MAX, flags, + addrp); + if (error) { + return (error); } - if (KSTACK_GUARD_PAGES != 0) { - pmap_qremove(ks, KSTACK_GUARD_PAGES); - ks += KSTACK_GUARD_PAGES * PAGE_SIZE; + rem = atop(*addrp - VM_MIN_KERNEL_ADDRESS) % kpages; + if (rem != 0) { + /* Bump addr to next aligned address */ + *addrp = *addrp + (kpages - rem) * PAGE_SIZE; } + return (0); +} + +/* + * Release KVA from a parent arena into the kstack arena. Released imports must + * be a multiple of kernel stack pages + guard pages in size. + */ +static void +vm_thread_kstack_arena_release(void *arena, vmem_addr_t addr, vmem_size_t size) +{ + int rem; + size_t kpages __diagused = kstack_pages + KSTACK_GUARD_PAGES; + + KASSERT(size % kpages == 0, + ("%s: Size %jd is not a multiple of kstack pages (%d)", __func__, + (intmax_t)size, (int)kpages)); + + KASSERT((addr - VM_MIN_KERNEL_ADDRESS) % kpages == 0, + ("%s: Address %p is not properly aligned (%p)", __func__, + (void *)addr, (void *)VM_MIN_KERNEL_ADDRESS)); /* - * Allocate physical pages to back the stack. + * If the address is not KVA_KSTACK_QUANTUM-aligned we have to decrement + * it to account for the shift in kva_import_kstack. */ - vm_thread_stack_back(ds, ks, ma, pages, VM_ALLOC_NORMAL); - for (i = 0; i < pages; i++) - vm_page_valid(ma[i]); - pmap_qenter(ks, ma, pages); + rem = addr % KVA_KSTACK_QUANTUM; + if (rem) { + KASSERT(rem <= ptoa(kpages), + ("%s: rem > kpages (%d), (%d)", __func__, rem, + (int)kpages)); + addr -= rem; + } + vmem_xfree(arena, addr, vm_thread_kstack_import_quantum()); +} + +/* + * Create the kernel stack for a new thread. + */ +static vm_offset_t +vm_thread_stack_create(struct domainset *ds, int pages) +{ + vm_page_t ma[KSTACK_MAX_PAGES]; + struct vm_domainset_iter di; + int req = VM_ALLOC_NORMAL; + vm_object_t obj; + vm_offset_t ks; + int domain, i; + + obj = vm_thread_kstack_size_to_obj(pages); + if (vm_ndomains > 1) + obj->domain.dr_policy = ds; + vm_domainset_iter_page_init(&di, obj, 0, &domain, &req); + do { + /* + * Get a kernel virtual address for this thread's kstack. + */ + ks = vm_thread_alloc_kstack_kva(ptoa(pages + KSTACK_GUARD_PAGES), + domain); + if (ks == 0) + continue; + ks += ptoa(KSTACK_GUARD_PAGES); - return (ks); + /* + * Allocate physical pages to back the stack. + */ + if (vm_thread_stack_back(ks, ma, pages, req, domain) != 0) { + vm_thread_free_kstack_kva(ks - ptoa(KSTACK_GUARD_PAGES), + ptoa(pages + KSTACK_GUARD_PAGES), domain); + continue; + } + if (KSTACK_GUARD_PAGES != 0) { + pmap_qremove(ks - ptoa(KSTACK_GUARD_PAGES), + KSTACK_GUARD_PAGES); + } + for (i = 0; i < pages; i++) + vm_page_valid(ma[i]); + pmap_qenter(ks, ma, pages); + return (ks); + } while (vm_domainset_iter_page(&di, obj, &domain) == 0); + + return (0); } -static void +static __noinline void vm_thread_stack_dispose(vm_offset_t ks, int pages) { vm_page_t m; vm_pindex_t pindex; - int i; - - pindex = atop(ks - VM_MIN_KERNEL_ADDRESS); + int i, domain; + vm_object_t obj = vm_thread_kstack_size_to_obj(pages); + pindex = vm_kstack_pindex(ks, pages); + domain = vm_phys_domain(vtophys(ks)); pmap_qremove(ks, pages); - VM_OBJECT_WLOCK(kstack_object); + VM_OBJECT_WLOCK(obj); for (i = 0; i < pages; i++) { - m = vm_page_lookup(kstack_object, pindex + i); + m = vm_page_lookup(obj, pindex + i); if (m == NULL) panic("%s: kstack already missing?", __func__); + KASSERT(vm_page_domain(m) == domain, + ("%s: page %p domain mismatch, expected %d got %d", + __func__, m, domain, vm_page_domain(m))); vm_page_xbusy_claim(m); vm_page_unwire_noq(m); vm_page_free(m); } - VM_OBJECT_WUNLOCK(kstack_object); + VM_OBJECT_WUNLOCK(obj); kasan_mark((void *)ks, ptoa(pages), ptoa(pages), 0); - kva_free(ks - (KSTACK_GUARD_PAGES * PAGE_SIZE), - (pages + KSTACK_GUARD_PAGES) * PAGE_SIZE); + vm_thread_free_kstack_kva(ks - (KSTACK_GUARD_PAGES * PAGE_SIZE), + ptoa(pages + KSTACK_GUARD_PAGES), domain); } /* @@ -348,6 +514,7 @@ int vm_thread_new(struct thread *td, int pages) { vm_offset_t ks; + u_short ks_domain; /* Bounds check */ if (pages <= 1) @@ -369,8 +536,13 @@ vm_thread_new(struct thread *td, int pages) pages); if (ks == 0) return (0); + + ks_domain = vm_phys_domain(vtophys(ks)); + KASSERT(ks_domain >= 0 && ks_domain < vm_ndomains, + ("%s: invalid domain for kstack %p", __func__, (void *)ks)); td->td_kstack = ks; td->td_kstack_pages = pages; + td->td_kstack_domain = ks_domain; kasan_mark((void *)ks, ptoa(pages), ptoa(pages), 0); kmsan_mark((void *)ks, ptoa(pages), KMSAN_STATE_UNINIT); return (1); @@ -389,6 +561,7 @@ vm_thread_dispose(struct thread *td) ks = td->td_kstack; td->td_kstack = 0; td->td_kstack_pages = 0; + td->td_kstack_domain = MAXMEMDOM; kasan_mark((void *)ks, 0, ptoa(pages), KASAN_KSTACK_FREED); if (pages == kstack_pages) uma_zfree(kstack_cache, (void *)ks); @@ -396,33 +569,78 @@ vm_thread_dispose(struct thread *td) vm_thread_stack_dispose(ks, pages); } +/* + * Calculate kstack pindex. + * + * Uses a non-identity mapping if guard pages are + * active to avoid pindex holes in the kstack object. + */ +vm_pindex_t +vm_kstack_pindex(vm_offset_t ks, int kpages) +{ + vm_pindex_t pindex = atop(ks - VM_MIN_KERNEL_ADDRESS); + +#ifdef __ILP32__ + return (pindex); +#else + /* + * Return the linear pindex if guard pages aren't active or if we are + * allocating a non-standard kstack size. + */ + if (KSTACK_GUARD_PAGES == 0 || kpages != kstack_pages) { + return (pindex); + } + KASSERT(pindex % (kpages + KSTACK_GUARD_PAGES) >= KSTACK_GUARD_PAGES, + ("%s: Attempting to calculate kstack guard page pindex", __func__)); + + return (pindex - + (pindex / (kpages + KSTACK_GUARD_PAGES) + 1) * KSTACK_GUARD_PAGES); +#endif +} + /* * Allocate physical pages, following the specified NUMA policy, to back a * kernel stack. */ -void -vm_thread_stack_back(struct domainset *ds, vm_offset_t ks, vm_page_t ma[], - int npages, int req_class) +int +vm_thread_stack_back(vm_offset_t ks, vm_page_t ma[], int npages, int req_class, + int domain) { + vm_object_t obj = vm_thread_kstack_size_to_obj(npages); vm_pindex_t pindex; + vm_page_t m; int n; - pindex = atop(ks - VM_MIN_KERNEL_ADDRESS); + pindex = vm_kstack_pindex(ks, npages); - VM_OBJECT_WLOCK(kstack_object); + VM_OBJECT_WLOCK(obj); for (n = 0; n < npages;) { - if (vm_ndomains > 1) - kstack_object->domain.dr_policy = ds; - - /* - * Use WAITFAIL to force a reset of the domain selection policy - * if we had to sleep for pages. - */ - n += vm_page_grab_pages(kstack_object, pindex + n, - req_class | VM_ALLOC_WIRED | VM_ALLOC_WAITFAIL, - &ma[n], npages - n); + m = vm_page_grab(obj, pindex + n, + VM_ALLOC_NOCREAT | VM_ALLOC_WIRED); + if (m == NULL) { + m = vm_page_alloc_domain(obj, pindex + n, domain, + req_class | VM_ALLOC_WIRED); + } + if (m == NULL) + break; + ma[n++] = m; } - VM_OBJECT_WUNLOCK(kstack_object); + if (n < npages) + goto cleanup; + VM_OBJECT_WUNLOCK(obj); + + return (0); +cleanup: + vm_object_page_remove(obj, pindex, pindex + n, 0); + VM_OBJECT_WUNLOCK(obj); + + return (ENOMEM); +} + +vm_object_t +vm_thread_kstack_size_to_obj(int npages) +{ + return (npages == kstack_pages ? kstack_object : kstack_alt_object); } static int @@ -459,6 +677,9 @@ kstack_release(void *arg, void **store, int cnt) static void kstack_cache_init(void *null) { + vm_size_t kstack_quantum; + int domain; + kstack_object = vm_object_allocate(OBJT_SWAP, atop(VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS)); kstack_cache = uma_zcache_create("kstack_cache", @@ -467,6 +688,31 @@ kstack_cache_init(void *null) UMA_ZONE_FIRSTTOUCH); kstack_cache_size = imax(128, mp_ncpus * 4); uma_zone_set_maxcache(kstack_cache, kstack_cache_size); + + kstack_alt_object = vm_object_allocate(OBJT_SWAP, + atop(VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS)); + + kstack_quantum = vm_thread_kstack_import_quantum(); + /* + * Reduce size used by the kstack arena to allow for + * alignment adjustments in vm_thread_kstack_arena_import. + */ + kstack_quantum -= (kstack_pages + KSTACK_GUARD_PAGES) * PAGE_SIZE; + /* + * Create the kstack_arena for each domain and set kernel_arena as + * parent. + */ + for (domain = 0; domain < vm_ndomains; domain++) { + vmd_kstack_arena[domain] = vmem_create("kstack arena", 0, 0, + PAGE_SIZE, 0, M_WAITOK); + KASSERT(vmd_kstack_arena[domain] != NULL, + ("%s: failed to create domain %d kstack_arena", __func__, + domain)); + vmem_set_import(vmd_kstack_arena[domain], + vm_thread_kstack_arena_import, + vm_thread_kstack_arena_release, + vm_dom[domain].vmd_kernel_arena, kstack_quantum); + } } SYSINIT(vm_kstacks, SI_SUB_KMEM, SI_ORDER_ANY, kstack_cache_init, NULL); diff --git a/sys/vm/vm_kern.h b/sys/vm/vm_kern.h index a70f79f4ba3c..848f28fe90b8 100644 --- a/sys/vm/vm_kern.h +++ b/sys/vm/vm_kern.h @@ -76,6 +76,4 @@ extern struct vmem *memguard_arena; extern u_long vm_kmem_size; extern u_int exec_map_entries; extern u_int exec_map_entry_size; -extern vm_object_t kstack_object; - #endif /* _VM_VM_KERN_H_ */ diff --git a/sys/vm/vm_swapout.c b/sys/vm/vm_swapout.c index fab25283a7e8..20b975f252e9 100644 --- a/sys/vm/vm_swapout.c +++ b/sys/vm/vm_swapout.c @@ -530,22 +530,24 @@ vm_thread_swapout(struct thread *td) vm_offset_t kaddr; vm_pindex_t pindex; int i, pages; + vm_object_t obj; cpu_thread_swapout(td); kaddr = td->td_kstack; pages = td->td_kstack_pages; - pindex = atop(kaddr - VM_MIN_KERNEL_ADDRESS); + obj = vm_thread_kstack_size_to_obj(pages); + pindex = vm_kstack_pindex(kaddr, pages); pmap_qremove(kaddr, pages); - VM_OBJECT_WLOCK(kstack_object); + VM_OBJECT_WLOCK(obj); for (i = 0; i < pages; i++) { - m = vm_page_lookup(kstack_object, pindex + i); + m = vm_page_lookup(obj, pindex + i); if (m == NULL) panic("vm_thread_swapout: kstack already missing?"); vm_page_dirty(m); vm_page_xunbusy_unchecked(m); vm_page_unwire(m, PQ_LAUNDRY); } - VM_OBJECT_WUNLOCK(kstack_object); + VM_OBJECT_WUNLOCK(obj); } /* @@ -556,31 +558,34 @@ vm_thread_swapin(struct thread *td, int oom_alloc) { vm_page_t ma[KSTACK_MAX_PAGES]; vm_offset_t kaddr; + vm_object_t obj; int a, count, i, j, pages, rv __diagused; kaddr = td->td_kstack; pages = td->td_kstack_pages; - vm_thread_stack_back(td->td_domain.dr_policy, kaddr, ma, pages, - oom_alloc); + obj = vm_thread_kstack_size_to_obj(pages); + while (vm_thread_stack_back(kaddr, ma, pages, oom_alloc, + td->td_kstack_domain) == ENOMEM) + ; for (i = 0; i < pages;) { vm_page_assert_xbusied(ma[i]); if (vm_page_all_valid(ma[i])) { i++; continue; } - vm_object_pip_add(kstack_object, 1); + vm_object_pip_add(obj, 1); for (j = i + 1; j < pages; j++) if (vm_page_all_valid(ma[j])) break; - VM_OBJECT_WLOCK(kstack_object); - rv = vm_pager_has_page(kstack_object, ma[i]->pindex, NULL, &a); - VM_OBJECT_WUNLOCK(kstack_object); + VM_OBJECT_WLOCK(obj); + rv = vm_pager_has_page(obj, ma[i]->pindex, NULL, &a); + VM_OBJECT_WUNLOCK(obj); KASSERT(rv == 1, ("%s: missing page %p", __func__, ma[i])); count = min(a + 1, j - i); - rv = vm_pager_get_pages(kstack_object, ma + i, count, NULL, NULL); + rv = vm_pager_get_pages(obj, ma + i, count, NULL, NULL); KASSERT(rv == VM_PAGER_OK, ("%s: cannot get kstack for proc %d", __func__, td->td_proc->p_pid)); - vm_object_pip_wakeup(kstack_object); + vm_object_pip_wakeup(obj); i += count; } pmap_qenter(kaddr, ma, pages); From nobody Wed Apr 10 15:51:36 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF6ky23KRz5HLCq for ; Wed, 10 Apr 2024 15:51:38 +0000 (UTC) (envelope-from cperciva@freebsd.org) Received: from mail.tarsnap.com (mail.tarsnap.com [54.86.246.204]) by mx1.freebsd.org (Postfix) with SMTP id 4VF6kx6zPMz43FN for ; Wed, 10 Apr 2024 15:51:37 +0000 (UTC) (envelope-from cperciva@freebsd.org) Authentication-Results: mx1.freebsd.org; none Received: (qmail 7336 invoked from network); 10 Apr 2024 15:51:36 -0000 Received: from unknown (HELO framework.daemonology.net) (127.0.0.1) by mail.tarsnap.com with SMTP; 10 Apr 2024 15:51:36 -0000 Received: (qmail 69335 invoked from network); 10 Apr 2024 15:51:36 -0000 Received: from unknown (HELO ?127.0.0.1?) (127.0.0.1) by localhost with SMTP; 10 Apr 2024 15:51:36 -0000 Message-ID: <188287b6-681a-4b2e-86ee-fb62fe5bdfd7@freebsd.org> Date: Wed, 10 Apr 2024 08:51:36 -0700 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: dev-commits-src-main+owner@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 65c603ed65c7 - main - release: distributekernel before packagekernel To: John Baldwin , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202404100329.43A3TLA1089631@gitrepo.freebsd.org> Content-Language: en-US From: Colin Percival Autocrypt: addr=cperciva@freebsd.org; keydata= xsFNBGWMSrYBEACdWRqDn3B3SKO7IG0/fGHYtfs26f3Q5QeAcasy1fQLniwGQWn5rlILhbCD K/jdNoDm5Zxq20eqyffoDNObCjnHgg4tGANdi+RmDy+7CDpE789H8dss9y7Pt5DlGGAXQQnt hxush3EYS/Ctprd9UUL/lzOOLOU1aNtzB84tNrJBtcJmL7OYHfyTSNFxvedqJrrasejIQOLI t/DQ89BPzz+vsKHz7FJPXh3fsVkzLA00DJYcfkgxyABfJNA7U6yMwd4DVSdx/SsvfIDMVXnu UXCXswo106WPZbYGlZPpq0wW6iibtTerJix+8AeuwXvl9O1p8yESK4ErkIxCnmghTSz+pdzj z/6xBRkdDM9VdZ0r+CzsaNXMpDOzFuKyjaiYBdgCLljbDnXIHFcqXenrZ7Xwkm09g/M4uVSh pIUG2RYa6tsHSQoGCp3f2RZv1znfViKQFbbL83QjtPA20AhseZSYbHp1FPhXyy9J0wkGL16L e99g6gdGeIRE82BZjBjKGDkoyDPq+oDRSFl8NtzmIKy+cfz00nViqcTF4bREXEawFGhlpO0X O9q8mijI9iFB6zaPBiSdJGBL5ML5qLTNCl8Zlf4m1TBvmRTqF/lzMHVXHidDoUhpSh/y3AFZ 1KrYc27ztJQywDJPJPWPbtY8YhFLFs377gfP8WldsZjzp8nvoQARAQABzSVDb2xpbiBQZXJj aXZhbCA8Y3BlcmNpdmFARnJlZUJTRC5vcmc+wsGRBBMBCAA7FiEEglY7hNBiDtwN+4ZBOJfy 4i5lrT8FAmWMSrYCGwMICwkNCAwHCwMFFQoJCAsFFgMCAQACHgUCF4AACgkQOJfy4i5lrT++ ig/9GZKdN2fHSyrANKZX38ivd7IX2wAYouqH9DrQM94W8IciaDLmarN4Pl9mY+aucMwQUSyp uNtKOJwKqhVVaalF9Zw0sRMH4CJuvT7vKCtZ3q1Okb7soRvFte4d+vXhvPxCvBFDA5JzU7Lg DR5eqqcvF1dN1OuCq16pl0zCOSH/Jr5ToE3LM3Av1KBGcZD7ZSzHRWsFjV5AOUJKySuA3GwJ e/jASQcQ0YfCnru8ntLmYg/2SKvZFlfthZiCBnAppMt4n4BUAw3TDvf10HIDtdneejawcbLS gofLCvGqumwbZYAMKWrFzT4+7KQvr0pOw8QD7EbxnB4f9hQ7UiVF8qWsyKU3iv6b5JLhbS59 ooKRccyOvdMLcVJ0ZdpqoxrNv061ZUqLL5RiWjBlc1qjBnDxeg5oyM0rT8WLftdgvyH6RQt0 KWngumBAT5AT2DUYL8Uz1490cqfO9K4yEGZAJB9XRVX1g2IWTOjae+0g9ZII+h91UngFz+Rz aKDeseKBbCGDOFXx1TqKiHl2g255ZnUxKYTlucFtguv4gDGBgEk4G9JaEWBw1IWblcKhxH7L 2vWsUhvwghjIxHdO/RkeIeHvSp4YZxCJ7a3TaJLYAlwYopfTKVzNhcDY5h5syEuoHjyJCxXK SyoJYAVu8Yl2KUhvOtOmL1VZ6xyHnpdMRWKJZ5jOwU0EZYxKtgEQANYfgbtUMVnhjxDHhWLp g5kLHK3YW0TfJKzpXqDB7NiqxHofn4OcbZnVC3MKggcbs9o1/UtsjnlsG8550PfiYkDXvPiO RJwgbGs6MGIDK797C6cnBLQ8xwBa9SL4cl5iQFnhWmt6vwnJ+an/cm5JpYves3wL7jV09qU9 57hkHXEUcl38r4FssZzVcLKPUVTa3Un+QGRTGDGe/f4ctjMaqv0ZCM+l2ixPhf/vqESrfSLv V/+T3dmtUfXjazO3SABvsHwxgGuTTYOlKoPCaebr+BRdqm0xeIShoIlhvTI8y4clchqx/Uxg UG5X2kvU13k3DS3Q8uLE4Et9x1CcZT6WGgBZSR6R0WfD0SDnzufNnRWJ0dEPA2MtJHE7+85R Vi9j/IgZV+y5Ur+bnPkjDG1s2SVciX5v9HQ0oilcBhvx0j5lGE9hhurD9F+fCvkr4KdbCknE 6Y8ce8pCNBUoB/DqibJivOzTk9K9MGB5x0De5TerIrFiaw3/mQC9nGeO9dtE7wvDJetWeoTq 4BEaCzpufNqbkpOaTQILr4V6Gp7M6v97g83TVAwZntz/q8ptwuKQPZ2JaSFLZn7oWUpYXA5s +SIODFHLn6iMoYpBQskHQjnj4lEPJadl4qj+ZKA89iDAKsniyoFXsbJe2CPbMS1yzBxKZq6K D/jpt7BOnuHr/JrXABEBAAHCwXYEGAEIACAWIQSCVjuE0GIO3A37hkE4l/LiLmWtPwUCZYxK tgIbDAAKCRA4l/LiLmWtP3jmEACQrh9gWe8F1Tkw3m6VoHKwLc5he4tX3WpQa//soPO6iGG3 S3WPruQ46NrAaAojoOcKI9UONDO5rxG0ZTX53S+lu2EO47jbcLwOCjaEpjKpDRt9ZXBQE8Xl mtBE9Bp3W9gpjB1nE3KNM1mJYgsK0QdRpwwfh4pVgGpOj8j23I6MCK+v99zEBnpgCn2GX8W/ kctRXHqWwndHysOJtRP/zrl7dDaABF1f9efUl0LL3TD3GJ9VDz+DNOin/uK2a1hiJo8QzTRk PpfUQ2ebzDsrd1i/pOWkMSkdH+rEu4AGrXWtaBwrMyrGkL6Icb6yO+P9/z0W2wlgBf3P1YRt JPgQt/Dj3yvA/UnaV/QmuVQPjl13o24UnJGsZM8XGnNdfWBKkC1Q6VXC4QT+dyBHYH9MuE9d 6oGl8pFM1+cTfEfbM62/rRoPkF1yHMsI/903VxEvuUIKfhEZAVLFyHldooNxuchntHQP9y8J 8Ou9bWYQP7MnEn+kwSwrZkjurfPkan+xQvp6dDYnj3V0GwA5pprBMaB928VIDVOv+1PNQI3t Cvk5VPv/skq+TJRMHW7bFSt8PRa91cUf1FOLIz9APDiJOzXkwxUEHGV3zPSaUhs1JYjyBeGT wDAvtLUdjOnRhEUOwlnIrztmvyciutjJoVzKEEjj5WXnHk9L9kQ1bpAjkjTONw== In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:14618, ipnet:54.86.0.0/16, country:US] X-Rspamd-Queue-Id: 4VF6kx6zPMz43FN On 4/10/24 08:29, John Baldwin wrote: > On 4/9/24 11:29 PM, Colin Percival wrote: >>      release: distributekernel before packagekernel >>      With these as a single make command, `make -j` breaks when it tries to >>      package up a kernel which hasn't been distributed yet. >>      MFC after:      1 week > > Hmm, should this section of the toplevel Makefile be updated instead? > [...] > > Seems like explicit .ORDER's for the various package* targets might be useful in > general. I tried that, but the release build was still breaking. I wanted to make sure that I got this into the tree before we start 14.1 builds so I went with the option which was guaranteed to work rather than tracking down why. -- Colin Percival FreeBSD Release Engineering Lead & EC2 platform maintainer Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid From nobody Wed Apr 10 15:58:09 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF6tZ4Drdz5HLj6 for ; Wed, 10 Apr 2024 15:58:14 +0000 (UTC) (envelope-from cperciva@freebsd.org) Received: from mail.tarsnap.com (mail.tarsnap.com [54.86.246.204]) by mx1.freebsd.org (Postfix) with SMTP id 4VF6tZ3SPLz43nk for ; Wed, 10 Apr 2024 15:58:14 +0000 (UTC) (envelope-from cperciva@freebsd.org) Authentication-Results: mx1.freebsd.org; none Received: (qmail 7585 invoked from network); 10 Apr 2024 15:58:14 -0000 Received: from unknown (HELO framework.daemonology.net) (127.0.0.1) by mail.tarsnap.com with SMTP; 10 Apr 2024 15:58:14 -0000 Received: (qmail 69482 invoked from network); 10 Apr 2024 15:58:13 -0000 Received: from unknown (HELO ?127.0.0.1?) (127.0.0.1) by localhost with SMTP; 10 Apr 2024 15:58:13 -0000 Message-ID: <2f0b6e8b-83d8-420b-9f8e-86244b429e4a@freebsd.org> Date: Wed, 10 Apr 2024 08:58:09 -0700 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: dev-commits-src-main+owner@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: a1bff97300ab - main - release: Don't reuse disc1/bootonly directories To: Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" References: <202404100329.43A3TMCp089687@gitrepo.freebsd.org> <6F0E287D-D46C-4AC3-BF1F-030E02989372@freebsd.org> Content-Language: en-US From: Colin Percival Autocrypt: addr=cperciva@freebsd.org; keydata= xsFNBGWMSrYBEACdWRqDn3B3SKO7IG0/fGHYtfs26f3Q5QeAcasy1fQLniwGQWn5rlILhbCD K/jdNoDm5Zxq20eqyffoDNObCjnHgg4tGANdi+RmDy+7CDpE789H8dss9y7Pt5DlGGAXQQnt hxush3EYS/Ctprd9UUL/lzOOLOU1aNtzB84tNrJBtcJmL7OYHfyTSNFxvedqJrrasejIQOLI t/DQ89BPzz+vsKHz7FJPXh3fsVkzLA00DJYcfkgxyABfJNA7U6yMwd4DVSdx/SsvfIDMVXnu UXCXswo106WPZbYGlZPpq0wW6iibtTerJix+8AeuwXvl9O1p8yESK4ErkIxCnmghTSz+pdzj z/6xBRkdDM9VdZ0r+CzsaNXMpDOzFuKyjaiYBdgCLljbDnXIHFcqXenrZ7Xwkm09g/M4uVSh pIUG2RYa6tsHSQoGCp3f2RZv1znfViKQFbbL83QjtPA20AhseZSYbHp1FPhXyy9J0wkGL16L e99g6gdGeIRE82BZjBjKGDkoyDPq+oDRSFl8NtzmIKy+cfz00nViqcTF4bREXEawFGhlpO0X O9q8mijI9iFB6zaPBiSdJGBL5ML5qLTNCl8Zlf4m1TBvmRTqF/lzMHVXHidDoUhpSh/y3AFZ 1KrYc27ztJQywDJPJPWPbtY8YhFLFs377gfP8WldsZjzp8nvoQARAQABzSVDb2xpbiBQZXJj aXZhbCA8Y3BlcmNpdmFARnJlZUJTRC5vcmc+wsGRBBMBCAA7FiEEglY7hNBiDtwN+4ZBOJfy 4i5lrT8FAmWMSrYCGwMICwkNCAwHCwMFFQoJCAsFFgMCAQACHgUCF4AACgkQOJfy4i5lrT++ ig/9GZKdN2fHSyrANKZX38ivd7IX2wAYouqH9DrQM94W8IciaDLmarN4Pl9mY+aucMwQUSyp uNtKOJwKqhVVaalF9Zw0sRMH4CJuvT7vKCtZ3q1Okb7soRvFte4d+vXhvPxCvBFDA5JzU7Lg DR5eqqcvF1dN1OuCq16pl0zCOSH/Jr5ToE3LM3Av1KBGcZD7ZSzHRWsFjV5AOUJKySuA3GwJ e/jASQcQ0YfCnru8ntLmYg/2SKvZFlfthZiCBnAppMt4n4BUAw3TDvf10HIDtdneejawcbLS gofLCvGqumwbZYAMKWrFzT4+7KQvr0pOw8QD7EbxnB4f9hQ7UiVF8qWsyKU3iv6b5JLhbS59 ooKRccyOvdMLcVJ0ZdpqoxrNv061ZUqLL5RiWjBlc1qjBnDxeg5oyM0rT8WLftdgvyH6RQt0 KWngumBAT5AT2DUYL8Uz1490cqfO9K4yEGZAJB9XRVX1g2IWTOjae+0g9ZII+h91UngFz+Rz aKDeseKBbCGDOFXx1TqKiHl2g255ZnUxKYTlucFtguv4gDGBgEk4G9JaEWBw1IWblcKhxH7L 2vWsUhvwghjIxHdO/RkeIeHvSp4YZxCJ7a3TaJLYAlwYopfTKVzNhcDY5h5syEuoHjyJCxXK SyoJYAVu8Yl2KUhvOtOmL1VZ6xyHnpdMRWKJZ5jOwU0EZYxKtgEQANYfgbtUMVnhjxDHhWLp g5kLHK3YW0TfJKzpXqDB7NiqxHofn4OcbZnVC3MKggcbs9o1/UtsjnlsG8550PfiYkDXvPiO RJwgbGs6MGIDK797C6cnBLQ8xwBa9SL4cl5iQFnhWmt6vwnJ+an/cm5JpYves3wL7jV09qU9 57hkHXEUcl38r4FssZzVcLKPUVTa3Un+QGRTGDGe/f4ctjMaqv0ZCM+l2ixPhf/vqESrfSLv V/+T3dmtUfXjazO3SABvsHwxgGuTTYOlKoPCaebr+BRdqm0xeIShoIlhvTI8y4clchqx/Uxg UG5X2kvU13k3DS3Q8uLE4Et9x1CcZT6WGgBZSR6R0WfD0SDnzufNnRWJ0dEPA2MtJHE7+85R Vi9j/IgZV+y5Ur+bnPkjDG1s2SVciX5v9HQ0oilcBhvx0j5lGE9hhurD9F+fCvkr4KdbCknE 6Y8ce8pCNBUoB/DqibJivOzTk9K9MGB5x0De5TerIrFiaw3/mQC9nGeO9dtE7wvDJetWeoTq 4BEaCzpufNqbkpOaTQILr4V6Gp7M6v97g83TVAwZntz/q8ptwuKQPZ2JaSFLZn7oWUpYXA5s +SIODFHLn6iMoYpBQskHQjnj4lEPJadl4qj+ZKA89iDAKsniyoFXsbJe2CPbMS1yzBxKZq6K D/jpt7BOnuHr/JrXABEBAAHCwXYEGAEIACAWIQSCVjuE0GIO3A37hkE4l/LiLmWtPwUCZYxK tgIbDAAKCRA4l/LiLmWtP3jmEACQrh9gWe8F1Tkw3m6VoHKwLc5he4tX3WpQa//soPO6iGG3 S3WPruQ46NrAaAojoOcKI9UONDO5rxG0ZTX53S+lu2EO47jbcLwOCjaEpjKpDRt9ZXBQE8Xl mtBE9Bp3W9gpjB1nE3KNM1mJYgsK0QdRpwwfh4pVgGpOj8j23I6MCK+v99zEBnpgCn2GX8W/ kctRXHqWwndHysOJtRP/zrl7dDaABF1f9efUl0LL3TD3GJ9VDz+DNOin/uK2a1hiJo8QzTRk PpfUQ2ebzDsrd1i/pOWkMSkdH+rEu4AGrXWtaBwrMyrGkL6Icb6yO+P9/z0W2wlgBf3P1YRt JPgQt/Dj3yvA/UnaV/QmuVQPjl13o24UnJGsZM8XGnNdfWBKkC1Q6VXC4QT+dyBHYH9MuE9d 6oGl8pFM1+cTfEfbM62/rRoPkF1yHMsI/903VxEvuUIKfhEZAVLFyHldooNxuchntHQP9y8J 8Ou9bWYQP7MnEn+kwSwrZkjurfPkan+xQvp6dDYnj3V0GwA5pprBMaB928VIDVOv+1PNQI3t Cvk5VPv/skq+TJRMHW7bFSt8PRa91cUf1FOLIz9APDiJOzXkwxUEHGV3zPSaUhs1JYjyBeGT wDAvtLUdjOnRhEUOwlnIrztmvyciutjJoVzKEEjj5WXnHk9L9kQ1bpAjkjTONw== In-Reply-To: <6F0E287D-D46C-4AC3-BF1F-030E02989372@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:14618, ipnet:54.86.0.0/16, country:US] X-Rspamd-Queue-Id: 4VF6tZ3SPLz43nk On 4/9/24 22:18, Jessica Clarke wrote: > On 10 Apr 2024, at 04:29, Colin Percival wrote: >> +disc1-disc1 disc1-memstick: disc1 >> + mkdir ${.TARGET} >> + tar -cf- -C disc1 . | tar -xf- -C ${.TARGET} > > What’s wrong with cp -a? A couple decades of muscle memory using tar -c | tar -x. I would have used cp -Rl, but that breaks with noschg files. > Besides, shouldn’t this use -p if using tar? That's the default if we're running as root. And if we're not running as root then we get permissions/flags/etc from the METALOG, I believe? > And -f- is the same as nothing. When did that change? I thought the default was to use the tape device. -- Colin Percival FreeBSD Release Engineering Lead & EC2 platform maintainer Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid From nobody Wed Apr 10 16:48:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF80L5TJ2z5HQM8 for ; Wed, 10 Apr 2024 16:48:18 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic312-24.consmr.mail.gq1.yahoo.com (sonic312-24.consmr.mail.gq1.yahoo.com [98.137.69.205]) (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) by mx1.freebsd.org (Postfix) with ESMTPS id 4VF80L016fz47LR for ; Wed, 10 Apr 2024 16:48:17 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b="BlbRh1/7"; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.69.205 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1712767695; bh=Hxior7oVvngmZiOSl9vgfCaafqm/o3m88FdOR+aqpC8=; h=From:Subject:Date:Cc:To:References:From:Subject:Reply-To; b=BlbRh1/7rIAaQs1WTbNYwgqZpX7XC7VM/fruc3LU7ET7eFlK9uvi+sN5RDFK5DPqyGXpIIs3BC8sf47TLS5UyClYfCe60B5hWser1xecSwAAfv0moqL98rfS7F5tgjsIdsrap+G53Eyab4UQWIh1OAJpVQXMEpQr3dUOK8RpelUHnG/U54JRdx+xn8DmaL/VI4R9yxpmIOLjRrfjACpcBOJ6DJIELM3vRnws5Fpw5FFsUTDbeol/EIgwkLPI3ggg0BQyeuVHRv4++6DjXKNw/CF3k5HYBLj6a5pF/E8CrSmF4G2GOzpu+Y5JZbLS6Dycwa024JaChg+4GSWPz9tCeQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1712767695; bh=S6tE/HaZvXB/LKTL4ukCoFS8PrW5h+9ZhCRbNkLZRhr=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=YotAegUQa4s/FUpjcjwYpnR/Ic1F15xYbwPoTR8u0Uuca8seehOFRvnWGSZHdj61xdP5FZXT6I3CLKVxah8x1KHyOPk484ryamGfpsmsSLLjRtaVUUHJF4DlCUteUwyZumPnF4DzZ3T4fu0jxyfviea1MjPx7vKtBjN9/dGgthuNGq7+cgJ+kCu3PScmVs99TLSOOQ9s3Uus/ss0jDiC/pjQQYu7e4clTZVQ/vb/JolPrlIcBvvMTCScY7n4zq7iKIrz6UFm6uBAdWp87FjBKfkYRdOc5SjQ7cFappXXwYW9vMsrBiVV9T1TQJ/kTLJ3yq3cpnj/2REQ3EzU6w6Xng== X-YMail-OSG: n8Oc6CsVM1k2f4AMQFY3w7Ui84vQ6iffXzaFa32Gr5ZEeT1ysRf4Obh7EmPmawM TIQUOSjXQWm2RNjyzfYCRIFSL2GAaNXWBCIJimyfrmh3TOfIvpNQaAcyVvZzFEkhQuGlhPNz85R8 30Tza.oTz5VzF1kLnEMMXgDgu_XIyPBR0g4XtAg2Eh2CtSQ_YlwJL4aYknfkoRnBpIKG9dZORp1x o5Ue.pJejF1kPcD1aoWz8sD9wstJXs7FMsmplUPpOFiMQJOYo6fnCEzytnJiSOKV9fbN1rZQ0wt. 2A9TEZ3gOu0h61Yc5GCPKZ5ykaqa2t3RrgqshsSnLDIAi2aInJtPTUlbhwhdo0.DVV_XMCZnRTQ1 ltb7eX2xu5BZG7FyeRPRsQQ4BKsNBk9.KexdCqIhWpm7kIRlU6yhqww2JJsEH3Dy0jZH0anrqiGI SuVZWaCs7r.7Uu0D3rDjoDUKSSo4ZmeLBmUN5HmRyb4kfpYokM3kXJZw_8OJW8zZFELJnEf5LbgP G6Vo_Pr9hClifcbs7HKI2LuAGb5ccYwCRD2yY.gUOESEVD6r2p4BwjgvWjX8XWeuP0r.leO7rd4H zX59i_GNmX1CSgPRb7jViz.x1YrfWls_6tCroBZuecypU2LDpr1RgoEB2r_Utz6uVvrTy2g27ULu 8syt08iTyiPrFIZWNdoKO2GxwWIjX7GQWDYVvcmSvobvrOsnprLDySt8O4BhT4mqrbvV5WHyy6Mb Jsfte95f6HOtKn6QrhsUDhMI6wjcAYdITe8wWJn9RGU_083Rbwd5BYHAO0Yhfx2xnCxsgzDIQWMd yw.JN0gox8wNkWgfvSLdXAj8vtOdPV0vbs9cvodTjnqEWfHSgzmlqtk4Mv8NQgqyelUJmgRIw7qu hLLX7n5NcWd.9ljA_5F32YjuDMklO2DNkRdVju6p2lNpjz54_A3Ughxr0U0JF1MDfemh7FPmzDmv ZLtYFqa_vQsuC50vPI1LgXzgoEN6vFcfWtZ9gk1fVYOHBs92eM9u_XdQ3at02eJpvVi5OkpTju4. zIqa14o6VMUDtDCDXGbygdbgFQjPBBDbGK6FVS3M4Z2jGUQsool_vW20w2BirzzL7dWYytbATEtg p1hQ2v6z2PbCTclZal2Tw37kYGRP2.b0bLxc9BcyRQAT4DXlG9TaXBQ1mGZwWa.TNFKb8LOIPimR VoLYX6fFCHhJ6i4GA22xX.NO5eEh8fWLV0gVfz5IwzOuzj7az7t2F04H8gS0w0ICa5.qQ_cAtP86 s0ngVm3BLMsWx2vha0PNIpgnjJowaKU_9yMC_iKsrG1QlievnSjsQGc0SuYpm09yVsy1zuuzmrgL 2QqCrIMycAGXuLtaOcQnzi6.UrMgLxMDf1BQXZNx.W55x5o03m.M5byDpf6Jz0l_deND3pnNAuZG m7eKNW39g4cueH_xDyakE8bAdll1n98cZ85kFQm8p4w1BFnLPu84qrVwy4fMBzsS3Q4.0WzZYpXu U.n6sf59CO8xkl2KZJ_FQ0IOSnDksxjjKTu3wPJHuzmFaSWlBJxwz.jtvbD2YT6ot921L6Db.CZh gKErUjaWUkBt.z07xxWEaGInAKcUUHennI6y4xZYQbe1XkyDLrqie_z3.R1cuVe8k4l2Ptx156_r NQzoMTBXVMIIwuwwJUroJskTfBV.0JENeTT9aU9GqtHXwBEI1nQYRPrR3MII8qmOSNijDXq1hL.4 7bBIhgZRSbEhgljRpm.VsutBR1ZNGWfZWt4e7oNAU13z9rM37l7RTxxlTL25HI8m4Ez66hC4v7wC oSxG7guYYKInyLyrhyHgZC4gHsQiuYyDohrarddcMxE5Zi8F3JtKSzGsJBb0T.PYBCXYCfScPgKP shTUUuz8EUEnSyEs3e72OZIbsAzM.mr_PV1ZCCzumZm7cEXksN6Iv8bfTaIOMFcCGX6e9mwW9oo7 quhRsOuG8o7d3ABA0SMlngLgznG2b07OFor5gCJ93vQEvPhjWfh4WFwnnIASMv9LQ9E.jdx1vTpI 6nDZaYIp56..zcrS6rxtKp7uhTxnmhamdt0rO6Dyvtu8C7eO81eALBm5FoaAq7TCo_PdLjSxaqhu NFSgLGsF2omQX88YoS40Ix1olw.f49K53E5hEVZ9Z.RxJqaB7pm0z.Rqtv8TeB5osJJAVcz_kaz5 Xi5VwjaGVLCDaPB3zQYvwt7eBtGdgRgectCrq4eTZ0YbcsiPFvygtRuzUuZlgkBentGZ66QMw2I1 qE5OfL5WR0UdtCZv8jLmGwX.AkXxxAo8ICdvbETAuOChlfZ724_atdFfVzbMv2PKRc2XyoQcdcIa jfoA5m9la X-Sonic-MF: X-Sonic-ID: c7a776a6-6290-4b66-9dbb-064ff27e4158 Received: from sonic.gate.mail.ne1.yahoo.com by sonic312.consmr.mail.gq1.yahoo.com with HTTP; Wed, 10 Apr 2024 16:48:15 +0000 Received: by hermes--production-gq1-5c57879fdf-c7xks (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID eae3ea74c32df4b608ea8370e5888676; Wed, 10 Apr 2024 16:48:12 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: dev-commits-src-main+owner@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: Re: git: a1bff97300ab - main - release: Don't reuse disc1/bootonly directories Message-Id: <73727045-7276-465F-9567-32C7A4FDDAE0@yahoo.com> Date: Wed, 10 Apr 2024 09:48:01 -0700 Cc: "cperciva@freebsd.org" To: Jessica Clarke , dev-commits-src-main@freebsd.org X-Mailer: Apple Mail (2.3774.500.171.1.1) References: <73727045-7276-465F-9567-32C7A4FDDAE0.ref@yahoo.com> X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.50 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.996]; MV_CASE(0.50)[]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; FROM_HAS_DN(0.00)[]; RCVD_TLS_LAST(0.00)[]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FREEMAIL_FROM(0.00)[yahoo.com]; DKIM_TRACE(0.00)[yahoo.com:+]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.69.205:from]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.205:from] X-Rspamd-Queue-Id: 4VF80L016fz47LR Jessica Clarke wrote on Date: Wed, 10 Apr 2024 05:18:23 UTC : > On 10 Apr 2024, at 04:29, Colin Percival wrote: > >=20 > > . . . > >=20 > > +disc1-disc1 disc1-memstick: disc1 > > + mkdir ${.TARGET} > > + tar -cf- -C disc1 . | tar -xf- -C ${.TARGET} >=20 > What=E2=80=99s wrong with cp -a? A possibility from "man cp": QUOTE Note that cp copies hard linked files as separate files. If = you need to preserve hard links, consider using tar(1), cpio(1), = or pax(1) instead. END QUOTE cp should be avoided if there might be hard links involved on the source = materials that should be preserved in the destination material produced. >=20 > Besides, shouldn=E2=80=99t this use -p if using tar? (I'm not commenting on the above.) >=20 > And -f- is the same as nothing. "man tar" reports the deafult as /dev/sa0 on FreeBSD: QUOTE -f file, --file file Read the archive from or write the archive to the specified = file. The filename can be - for standard input or standard = output. The default varies by system; on FreeBSD, the default is = /dev/sa0; on Linux, the default is /dev/st0. END QUOTE =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Wed Apr 10 16:48:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF80N6gWGz5HQ5C for ; Wed, 10 Apr 2024 16:48:20 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic316-54.consmr.mail.gq1.yahoo.com (sonic316-54.consmr.mail.gq1.yahoo.com [98.137.69.30]) (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) by mx1.freebsd.org (Postfix) with ESMTPS id 4VF80N0rQdz47SY for ; Wed, 10 Apr 2024 16:48:20 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=oeX7gteO; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.69.30 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1712767697; bh=Hxior7oVvngmZiOSl9vgfCaafqm/o3m88FdOR+aqpC8=; h=From:Subject:Date:Cc:To:References:From:Subject:Reply-To; b=oeX7gteOPzSY9TSAOSAg3wCe+56jghr9ytEeoX0Y7a3y1mRuoQsz7p43du/kpaL/tVpFGZAQDKpGHVy5I0HxQyD/E/tF0aYI8MA1df0Dgr++Dg7ZxOM2tFHLKNtHlSBD2Z6ynBq39JInNUxBIjruzxiIfpQ8ht9Xq4Dx6H2dnAXJsnvx2Qn4nnzBuapr9VRHE+BdpWU4UHHkCe8VfEihjyaMt1EPbHIxM7wiLikFG+uhfunX/30WEIpDEI2n68oM8xv0PAPa+p3o617tBp8XMZ0tvNyI+V+FAzTlCEPePGmBXb2ivvho3o6NwD+xU2SNl7ujqYHZBLI6xc/xCVzIjA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1712767697; bh=Q2hRWBT26VicQJUMf4cvG1CTahyb6E4MQcOph9YN28l=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=R0Q8hcvrDwP+jNtukzSv984wHugQsoC409Ixa7Di9v8goLncCL87mqwKbdpZ7Ha3c/NLbg82KWCkzFpC7KCqi3cbc492vNECuA/HQbhDCo7RixylGaPK8daqH8hOVBWT3N2q84us0Bx5nmUoQDdmuBwJjc3XCVfEoWLzFU2mGVgXjcNuK7JffO/HH+fY7DdyMYejPm7lRkpcCnNvmdJd4O4KnLgPiFJpD2vVvQkuwqJaQOWygP7udhRiJal7OZtlQ2MF6ai334PMktxbSUI/zADmS7hMNqjaXNFPN/ijqobNRTt7uS3ScxyFfVKRa5H4fiFEb+ppWSoUDk7XsXneBQ== X-YMail-OSG: bJfmRUoVM1kEkebIp4mjDmRiuHOP8nW809DVR_HSxvnPAqP0yzvZMQZ177_1ZYt jpzZfq89GdFWv5a4npMhWWBQ3aKCehteGQegnj42qPmGm_qfWuWjNFEZbhzF9vrXrwNd6blgxt7j PedGGJjMckPnSeW0M2IFmxNiJxXatlfnN09ZmFCSJws8.Q7Xb_FRIIOFE06DKCZAkdQH3WCh4h47 QNMTgsLhL9SvRFn.ahtjHdU_dzrbkB1085J_I9s16RWApcG7J92c0OiCT1C3bv6AaYDNBNRo0km5 xsmblLfB4Tn2FwfiLsoBh.LhmrfG12IeMsZfZmkRJgWGEfS2ogHesSHlldJ8_YiKU9tVtJbkSSil zLAFVR4xHZB8BoK08..YksmQRKj6VUtAjaqXdpGZfrvMnxmavuju30qEWVcH9lBeiLKo98F47xfr cVJXMCC.S9bZMPKKkKndcm_df.da7a1o5U07tp6PNPF38dAnWWUWxHoowWqu1d.tbrz3wzsA1J3i VnLU3YyGlrQDPr3ZCso65jiMLla8AerM9RqayBagFi1WPYdrjyXrlX8nbVbdqs8_7P0pkgRbwIqP OxvpU9l2FWz5ZeQ0vYRxos6K_9xKNzZJyTb.DeEjL6fYEV2FpE9ZeSaqYsUK2qDK47TiINZm7UKB 0MNDazK8jpuvsPzECRMSSaWbu30tYlLl1nx7ofw4Fo5vQYaE1fm25An1sHYBGX_UIiufKEZ5L9xV 9WAq4wDj7CArnxZ8rHg66P1Ad2352oRlobONeE.Sl.ljf2cjxT7u8nGTLMEoFnIhfhJc8IChyScl jQq59qH9jqjcfueiSGObre6xdwIRIkMyFIrJKm9f_GF9v4RPrNkZjq01tpk5prrZab0u2JKbBBlV 02YMbHqtQRCerwcDSo71RVnOX_aJ4zAFnm6m8QC1ejTjSgvCrHcHN_P4wdh8OSruxuRwYiq4oGms O.a_Nky1zowDjtO0xLwwcs.s7xLfaxmmhZpgyJ3QnG7InBZv1wbE7h4GBeAHkHq5YzfoBLRkNbnV 5JWMCVnC3xEE.G2WiDjsPlD7wBJr7m7LlNDrv13j8jJr1fIHlClPeVdQvMhdcF_bqul8b204FjhJ gG0EmwYTFSS83FJTZ4xfh7pyP6rQ0c1zXDHQtPyCi8jTQMyZDrsUnBvv2aEQTkbSGbvGPWbfLKG7 kWYy2xNMhGZP7nvlG0WKx6JjMjKhJwHqR70W3JzEIEd42DCvyfWG9O.WkA9AIQCCdhdIydSoETmZ TPDpFNCs0cWWoBk7x82I6Hqsxs12_WnVvZRt7tD23TU8L4k.ujiaZ_.7EX_qnw4.06wyJ1ly6TDa xGekqwKY97lSeqbtnfYDGr4UsczYI8N.Rdf4rZs3wlUYOSzGlsZsmYAxX7gX5vfgiqY0NCCNExxT ehKXxzMxombIUS7iQz5Qv32l9yQg2Fr_iLVXV1PIXGMwhBjDOhvun0SrjXRcudOQZ7m4hbCdAX4X wttvvgaqDL5TAnJIPsSRFdO_Aggt.XoZ60Vwmp3ls_rtd2IIkFVTjTgA5mT6ri6yn1MF1nCTxqnh Y1ThlJDIeSzbxb9zYfKTcvbEsYXvFbpwwiej.O7NaloM0efVcV2HpjEHwb4IVQRGfeyGbgQ9r5Eh guxg2UN49oXtDswDetH2anyZH8cfHWI0dRZwBVFwRz7rDgOZvJc2mxcfyM6bTChUak3o7Ko_AddT p8Ux0m1mjgOkT0Bv2sOp.a9a35GskxqMBtljieol22YCklEqrsH9CvRARxN_wO6cR7eHKn716Lre PzEQgwALbgDu0oCUiA3G.F55sKYYLLj.UZAj2byfzkOS0v_Y7In4i8lNLQLmUIPuuadDmshEtD_i EKavPaugq4rT7a65TgT9BL3yus4La9sIWjD6CtxL6xYZKJ6.pa8mX9SgtOX7qJ.4EmQZtm6Vks3Q z7_ZKhGS4Izpr3zZtillw.rMQAgGeGUMWdMujZDgXyNFU9zgy1vAcHjZwR05VYJdEHVfnGOnUOKv emwIDDjJgGccd6OIwnSLdFtlj5DNBpnHlQPQMDcZKfX3.UNSXaD1HfpdWfUED01U_esAm2h2TcJ5 2D4UHtIcznhJaSC9COSdKuCgilu3rC.zy.gl69yReQ_G_2i_7s7fjmUgL1hYXHXbcTabs5kCGW3i GRg4MTM25hV_9JgyqSQrvLBBSM9b63Z7NMoz7Mz4u3_P8bMw2v4hBZuCdHkL008G05dFCEONs2ij 2aa.fnU3NQO8G74wOXJJkbacppiAPIoZ2KyiRJCqZe7BDe_.ZfoYF..F8hX13UChJ2YkaXFr1gkr 4X5Iq6lRF X-Sonic-MF: X-Sonic-ID: d208fb4c-674d-4cc9-99c8-821d7ed8cbec Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.gq1.yahoo.com with HTTP; Wed, 10 Apr 2024 16:48:17 +0000 Received: by hermes--production-gq1-5c57879fdf-c7xks (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 88256ebd491993e03648df1d1644ee6f; Wed, 10 Apr 2024 16:48:12 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: dev-commits-src-main+owner@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: Re: git: a1bff97300ab - main - release: Don't reuse disc1/bootonly directories Message-Id: <73727045-7276-465F-9567-32C7A4FDDAE0@yahoo.com> Date: Wed, 10 Apr 2024 09:48:01 -0700 Cc: "cperciva@freebsd.org" To: Jessica Clarke , dev-commits-src-main@freebsd.org X-Mailer: Apple Mail (2.3774.500.171.1.1) References: <73727045-7276-465F-9567-32C7A4FDDAE0.ref@yahoo.com> X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.49 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.995]; MV_CASE(0.50)[]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; FROM_HAS_DN(0.00)[]; RCVD_TLS_LAST(0.00)[]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; FREEMAIL_FROM(0.00)[yahoo.com]; DKIM_TRACE(0.00)[yahoo.com:+]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.30:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.69.30:from]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim] X-Rspamd-Queue-Id: 4VF80N0rQdz47SY Jessica Clarke wrote on Date: Wed, 10 Apr 2024 05:18:23 UTC : > On 10 Apr 2024, at 04:29, Colin Percival wrote: > >=20 > > . . . > >=20 > > +disc1-disc1 disc1-memstick: disc1 > > + mkdir ${.TARGET} > > + tar -cf- -C disc1 . | tar -xf- -C ${.TARGET} >=20 > What=E2=80=99s wrong with cp -a? A possibility from "man cp": QUOTE Note that cp copies hard linked files as separate files. If = you need to preserve hard links, consider using tar(1), cpio(1), = or pax(1) instead. END QUOTE cp should be avoided if there might be hard links involved on the source = materials that should be preserved in the destination material produced. >=20 > Besides, shouldn=E2=80=99t this use -p if using tar? (I'm not commenting on the above.) >=20 > And -f- is the same as nothing. "man tar" reports the deafult as /dev/sa0 on FreeBSD: QUOTE -f file, --file file Read the archive from or write the archive to the specified = file. The filename can be - for standard input or standard = output. The default varies by system; on FreeBSD, the default is = /dev/sa0; on Linux, the default is /dev/st0. END QUOTE =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Wed Apr 10 16:49:28 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF81k3sYJz5HQYf; Wed, 10 Apr 2024 16:49:30 +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 4VF81k30jVz47jv; Wed, 10 Apr 2024 16:49:30 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712767770; h=from:from:reply-to:subject: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=Pmcv4XEzhvBd2uNxxoqH2OCaPJlGlzJuN/YDmviw0S4=; b=ZLmPxDbkoZB5sJmhBmUr8l5O2H0A0CdaXMvP7tQbCfT6309Ig1dI8CLGFRn+PJKyZINeXr rMl949kWqmp4/+kbq0khbG64uKf74v82AaWV0a37B1vZKhx2PgykpszRLkogJ5koVyPXHu o2iaBRm+d4013lnr1XllnzyLLveeeUmdtnYBX/gWyYFSDh8M/E07J1NO11zYZbCSAhJN3z XgOpwZ3vcZh0qk1ugm6haT85UelBeh6dyDZEsHCqr0+nMd9aGOYqmmpx9RShMod0vaHBFl bGzm/IxVsPFrUSvFNFjFGDNrnPndNiFDMRaJw8A/VuAT7k8G9hQpzH26P/2Tig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712767770; a=rsa-sha256; cv=none; b=ojaAorhwFczu93Xv+5cHQihU9yVZpRHjCrCpgAMLQ8AR8VlLFAvQT5hKg4wXVHGAPjLiWl SQFjqudyYxyjNTD2zJvrx8d/Mxh0g73jgsX0/EN4MWQBCXBr/mNCg7HLZ4tMSeRSmDt+TS iVsgdqPCbTg3YQfWeo1aWxY7rJXLTOrEbBoaLeZGWX2UgEAd6WwXt3kUyDSC0Bf1gpRyfs yAc1mVx8d2oE02/zoB9mu61msbWBsVzSupq7DoQtmJKxJIMTxtLAsH8VcMEgztwgzaq77I geBFrxH3cdvHwya8561U7OMOgHiaQEI7xhf5SuT+LxaVyjxYPeM+9NtDAM67VQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712767770; h=from:from:reply-to:subject: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=Pmcv4XEzhvBd2uNxxoqH2OCaPJlGlzJuN/YDmviw0S4=; b=vckIq/KI7r3uzMuDwZN1/2YvdRi65SCk7YcRNr5HMES6z99kQdOfUbeyPcn9o/VZlSDYeJ qQfJ0PIw+LYDltLMxb4k1ThvfYmw3HjsdKJn5cPQSi2AVTttqI0rdphqrioOKcLf5U7XCB X4RDE078ch/ltjHs2A9pRHIo25qeOHsi73xJXnb8/4J91yfouj3R3Wj/i+jqqysenhrFo/ 1hU1jDV3YUja9uddXttO2IikOKqZD4rPpCZ7wo30F3Ns9fjtmYcqRZ+OkLysQjp6z0xcaT wCCOpc0VkM1JPqBV+Af8aCj6rDcCmD3R31sE4igtUfC8NjdWP9M6M37Fh6dZcA== Received: from [IPV6:2601:644:937f:4c50:edc2:c5b9:7ac9:bfc7] (unknown [IPv6:2601:644:937f:4c50:edc2:c5b9:7ac9:bfc7]) (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 4VF81j6jQ9zSn9; Wed, 10 Apr 2024 16:49:29 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <94d3233f-426d-4328-97cc-78874dd85637@FreeBSD.org> Date: Wed, 10 Apr 2024 09:49:28 -0700 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: dev-commits-src-main+owner@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 65c603ed65c7 - main - release: distributekernel before packagekernel Content-Language: en-US To: Colin Percival , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202404100329.43A3TLA1089631@gitrepo.freebsd.org> <188287b6-681a-4b2e-86ee-fb62fe5bdfd7@freebsd.org> From: John Baldwin In-Reply-To: <188287b6-681a-4b2e-86ee-fb62fe5bdfd7@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 4/10/24 11:51 AM, Colin Percival wrote: > On 4/10/24 08:29, John Baldwin wrote: >> On 4/9/24 11:29 PM, Colin Percival wrote: >>>      release: distributekernel before packagekernel >>>      With these as a single make command, `make -j` breaks when it tries to >>>      package up a kernel which hasn't been distributed yet. >>>      MFC after:      1 week >> >> Hmm, should this section of the toplevel Makefile be updated instead? >> [...] >> >> Seems like explicit .ORDER's for the various package* targets might be useful in >> general. > > I tried that, but the release build was still breaking. I wanted to make sure > that I got this into the tree before we start 14.1 builds so I went with the > option which was guaranteed to work rather than tracking down why. Sounds reasonable. -- John Baldwin From nobody Wed Apr 10 16:57:57 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF8Cl50Zzz5HQy9 for ; Wed, 10 Apr 2024 16:58:11 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (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 4VF8Cl38gKz49T9 for ; Wed, 10 Apr 2024 16:58:11 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-416c4767b07so7673375e9.0 for ; Wed, 10 Apr 2024 09:58:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712768289; x=1713373089; 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=pilDUuRWOu1ZT2NR0D3jvOJ+MlqlKQaOkmQUrGt5HgI=; b=e+4fY8bM/yFjsv1gE1mG62NhWlnlVf+QptlOKq4o2KlkPXRCojsU7DzcwlbfbBrj/t zX7L9gcr9Kv59hLl82jQ93eHA63z+/ouc4qsE67Os4nSjrxW13jMxvaDaQonIaEs13FA DnXDFlw6lvByueC7W/y+JHLuprplZSmTrO55TTuhiW09vV6Im7RycnFRaUdzC6WJtdvG RUuaFvVgSUC3JPgfypuhv7Rad+uLCppIpbyTVjpLm8HRj2IXXVXBK4zLZ2/TBF30fn0J 0zTSCTa+rCKFYoXN8w0D+vEJggs7KcwhnrenlKp7zek4iRJXD/x7N4Etm2egyK6OdlQt imng== X-Gm-Message-State: AOJu0YzMgtenDo32U5M8OI0A9iBdXmkuu42dzOEQFdaKivmebcGJLYlT OMpfQvAXW8ZkWL4MMua6w8kymTP2AvHNw5DJRpYP9JNq02PIa/XR2Y//0U8b9GE= X-Google-Smtp-Source: AGHT+IHtqQNR0bMjrAjw+a8DNXO6cj3yND5tPpb4YfR9rNNSMa3UvuUVNl8X7NniS53hzc42pA1jVA== X-Received: by 2002:a7b:ca57:0:b0:414:8c5:42ce with SMTP id m23-20020a7bca57000000b0041408c542cemr2509538wml.19.1712768289491; Wed, 10 Apr 2024 09:58:09 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id m18-20020a05600c3b1200b0041668162b45sm2852391wms.26.2024.04.10.09.58.08 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Apr 2024 09:58:09 -0700 (PDT) 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: dev-commits-src-main+owner@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.200.91.1.1\)) Subject: Re: git: a1bff97300ab - main - release: Don't reuse disc1/bootonly directories From: Jessica Clarke In-Reply-To: <73727045-7276-465F-9567-32C7A4FDDAE0@yahoo.com> Date: Wed, 10 Apr 2024 17:57:57 +0100 Cc: dev-commits-src-main@freebsd.org, "cperciva@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <2AA8E587-7ED4-434B-AE5A-64CB021A55F9@freebsd.org> References: <73727045-7276-465F-9567-32C7A4FDDAE0.ref@yahoo.com> <73727045-7276-465F-9567-32C7A4FDDAE0@yahoo.com> To: Mark Millard X-Mailer: Apple Mail (2.3774.200.91.1.1) X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated 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-Queue-Id: 4VF8Cl38gKz49T9 On 10 Apr 2024, at 17:48, Mark Millard wrote: >=20 > Jessica Clarke wrote on > Date: Wed, 10 Apr 2024 05:18:23 UTC : >=20 >> On 10 Apr 2024, at 04:29, Colin Percival = wrote: >>>=20 >>> . . . >>>=20 >>> +disc1-disc1 disc1-memstick: disc1 >>> + mkdir ${.TARGET} >>> + tar -cf- -C disc1 . | tar -xf- -C ${.TARGET} >>=20 >> What=E2=80=99s wrong with cp -a? >=20 > A possibility from "man cp": >=20 > QUOTE > Note that cp copies hard linked files as separate files. If = you > need to preserve hard links, consider using tar(1), cpio(1), = or > pax(1) instead. > END QUOTE >=20 > cp should be avoided if there might be hard links involved on the = source materials > that should be preserved in the destination material produced. Fair enough then. >> Besides, shouldn=E2=80=99t this use -p if using tar? >=20 >=20 > (I'm not commenting on the above.) >=20 >>=20 >> And -f- is the same as nothing. >=20 > "man tar" reports the deafult as /dev/sa0 on FreeBSD: >=20 > QUOTE > -f file, --file file > Read the archive from or write the archive to the = specified file. > The filename can be - for standard input or standard = output. The > default varies by system; on FreeBSD, the default is = /dev/sa0; on > Linux, the default is /dev/st0. > END QUOTE I dug some more, and the documentation is incomplete: * If TAPE is set in the environment it will use that. * Otherwise, if _PATH_DEFTAPE (the default documented there) can be accessed per access(2) it will use that. * Otherwise it will use stdin/stdout. Since most people don=E2=80=99t set TAPE, nor do they have a tape device present, this effectively means that no -f means -f -, but technically one should not rely on this. So TIL. Jess From nobody Wed Apr 10 18:28:22 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFBCp35X0z5Frh6; Wed, 10 Apr 2024 18:28: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 4VFBCp2SNkz4KH6; Wed, 10 Apr 2024 18:28:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712773702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oUQCIDU+7D2kd1m/Vf/BwN+sTXPn0wZqPNr2lgdVoC4=; b=bX+lVI43Wj90Ki4Ofw0vv+V/BOhiya9G5P4TQozMl1NiM3JJamjCBxZd4yMaIjDfXjcIua E3uw29FK8HGR/LumocPC5Jy7tcLd5E6/GJBn/rZ+njZZrXVF79nYAeZuhzjtbzOtnGmOmF Wxu3wiyfP76gKSGWGI0SH0rcna5kcmRhUpLXYC6mrQhrr6HgztU5nEGFXHWQZ476BbqFtr xY3tJ7BK3q0XF5034j8WVx37fn6ZTSaQcTo1w920HZcpq7AmQfROI2K2smWo98EcRzPr8p i2C8Tdz7Rktdt8lsMXFSrwzPfPzDNnOoj0ZVnREXsuJZCNoMcoBZG95nOfy1ow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712773702; a=rsa-sha256; cv=none; b=Z/Zo9v+Kj5/B8M1shRjGTVhkPzq1cRMQALyG4KwOKzb/f0Q74eTlL08f/WPePeyyv4Ir+n zFG8HjfVQJCcySYmW8Z5alwHN2JPMvpTpnyfdOlc3g9Om/IBQoy5VwdSBQiK1ZsYaW+7Jn HLRHU6gHZcYhY1PQ8xj4X4uk+C63KJUTK6Q/uxnEVlrUs+OB+zR15aFHXjeKmtTAw3/YEs kkUK5CFMMaBxreIZGl3I9+W+UGAU5z2UDLwIpuzZ8H6v+f9q2XbUKodZa0aOHfUROxXLQM pphtcI637rRs6vcMIIpIjgGqmKTs4H7a33sntcst8gCBj3O2YDjOgZG4Tp9hAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712773702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oUQCIDU+7D2kd1m/Vf/BwN+sTXPn0wZqPNr2lgdVoC4=; b=yqRWrStmcOJz2KvxwcvMliHRIoq+dy9v94xN8znFF9N0YtjL8VdEfn6vqmyTiCfPKualrA z+SRyADPIGGN9SkFaCbZR1+PrkQ1Eqd90sERRXdDadEugGt2SUA3Vx5BkCttImbUqNRYmz nAaGn1+Cf5q7td9koRRwAcPiOn1HCAHiizGcINJbsUaolfc4ySlvG1RGRy45CLbRSbEsuy 2h0ajylKVQ/0U0KNZLFyi8KtMwsCIa9E+r316psO1SfMlSFYheYS/azp+g8UXbTvqJDuxA SBzKR3BTVPdz6A4b29c7H0yJjFf7xzLyK42eXeZhug+eP2/u3crTPMP4mvJN+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 4VFBCp23wZzpQL; Wed, 10 Apr 2024 18:28:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AISMDr015645; Wed, 10 Apr 2024 18:28:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AISMfr015642; Wed, 10 Apr 2024 18:28:22 GMT (envelope-from git) Date: Wed, 10 Apr 2024 18:28:22 GMT Message-Id: <202404101828.43AISMfr015642@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: 0020e1b617dc - main - Revert "sendfile: mark it explicitly as a TCP only feature" 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: dev-commits-src-main+owner@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: 0020e1b617dc71142a5d0c1738e72deaabdfe756 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=0020e1b617dc71142a5d0c1738e72deaabdfe756 commit 0020e1b617dc71142a5d0c1738e72deaabdfe756 Author: Gleb Smirnoff AuthorDate: 2024-04-10 18:28:11 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-10 18:28:11 +0000 Revert "sendfile: mark it explicitly as a TCP only feature" This reverts commit 3b7aa842e27dcf07181f161b1abde0067ed51e97. --- sys/kern/kern_sendfile.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/kern/kern_sendfile.c b/sys/kern/kern_sendfile.c index 071c2fbbd436..323e7fcde07b 100644 --- a/sys/kern/kern_sendfile.c +++ b/sys/kern/kern_sendfile.c @@ -649,16 +649,20 @@ sendfile_getsock(struct thread *td, int s, struct file **sock_fp, *sock_fp = NULL; *so = NULL; + /* + * The socket must be a stream socket and connected. + */ error = getsock(td, s, &cap_send_rights, sock_fp); if (error != 0) return (error); *so = (*sock_fp)->f_data; + if ((*so)->so_type != SOCK_STREAM) + return (EINVAL); /* - * sendfile(2) should be supported for every SOCK_STREAM socket. - * However, the support of PF_UNIX/SOCK_STREAM is temporarily degraded - * and IPPROTO_SCTP isn't supported, yet. + * SCTP one-to-one style sockets currently don't work with + * sendfile(). So indicate EINVAL for now. */ - if ((*so)->so_proto->pr_protocol != IPPROTO_TCP) + if ((*so)->so_proto->pr_protocol == IPPROTO_SCTP) return (EINVAL); return (0); } From nobody Wed Apr 10 20:23:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFDms2QPkz5G3qh; Wed, 10 Apr 2024 20:23:41 +0000 (UTC) (envelope-from vishwin@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 4VFDms1VRYz4VKs; Wed, 10 Apr 2024 20:23:41 +0000 (UTC) (envelope-from vishwin@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712780621; 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:autocrypt:autocrypt; bh=j0cEmyyvGzCuHlrHBHueFA6JHHGIfjRRxtLa6uNguPA=; b=XSGfBb12wKkCrqS+ntLvElMWSBL7xKRgIkzpkqPa5fLLg3FOJufOpNrlv1U6Q2WS3a5ZEo TVhWoFaHyhaDbczN3xmqHEXu3oEwA5GObffowgaMx3UK67T2V0myhupcGxGnIGZRbMhgZ+ K0yIy9Rl8kj3/2UqJeteMVN0oYjjH2NNHIc0jeh7Fon83zPhyxWAvs0BQrG71BR2SvpWOI Wos10ZSLOidpzmTZj0u4p0uj9UC+b4lN5j940q5ZVIKVj6DXaY8yBkx8tl7W7GxBDMl2FB 3M6wgRUmla8li3KYwFI1I30qpQIEU/XAdfNZ99TdnhR4Xoj+0G8vqeTuDIj3jw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712780621; a=rsa-sha256; cv=none; b=PGwlELtc4tWbYRVN4Xzfq9L+HzPkuE9GS0ci1+rN0QHaJH9QLTSM9XAH9CL00l6lkiTkg+ 5xQXwaCX9jE8q9o7OyZn2djtLAC15qzmetjnvaRllS6UdWY67Ab0TP13yHGyGc9XuVK5Tt Ifs/zYImyqamNHxYQXBPJYX0vINJXBClbUQ1NqHyEhP8FpA8/ANqBJS619Fu/jA1A/EQ4F 1F6jTY4DFLJ99RQqA/liL24WmV0wgv3cTuN8SOcOGb09z3goBMbmiRHqXrS7bJxQyPUHFY ZvQrQRLr8V0MSw+CgzI0H4C76lhaQjj9rL6D4c2PeJrF5UuCX+JpgnX0pxhJOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712780621; 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:autocrypt:autocrypt; bh=j0cEmyyvGzCuHlrHBHueFA6JHHGIfjRRxtLa6uNguPA=; b=Vz9eGtsXccSadph66L17/KX7yyU2+qKYDXA7YIii2Ws5wTltxn7CY+NIJWqeCGQbCWg5By Y3x1bQ4kY7gTB273VPq1e0O3hUkCYV8Qf5TgRusrWIJW4JUq16tuvIZLdUQB+SfZtphkef aedavsUoi1hYcuHRG/nY8emkJu0LHUbVXGGek22St+5XefQhR5G1DbEhHwIaL2MXfjn6r7 OpeNKtJnBB4d0iDkK3eiWdMx//oOAEEy4WW+SfOtsA2L6aMg3utCXl8x2pNf+o9nshd8Bu RS0DAd+LbUcs9zrmPJrOKxuGta6HQ56aJBReG81zNZZtSc9lmkbJ4nVJSQP1fw== Received: from [IPV6:2607:fb91:bd3c:473c:16eb:b6ff:fe8f:3e06] (unknown [IPv6:2607:fb91:bd3c:473c:16eb:b6ff:fe8f:3e06]) (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: vishwin/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4VFDmr6jBKzXp6; Wed, 10 Apr 2024 20:23:40 +0000 (UTC) (envelope-from vishwin@freebsd.org) Message-ID: Date: Wed, 10 Apr 2024 16:23:37 -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: dev-commits-src-main+owner@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 5f757f3ff914 - main - Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb To: Dimitry Andric , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202404062017.436KHEW6029246@gitrepo.freebsd.org> Content-Language: en-US From: Charlie Li Autocrypt: addr=vishwin@freebsd.org; keydata= xjMEZFWWqBYJKwYBBAHaRw8BAQdAINFDmM+bgGkT1C4nD5a3BxgcH8Xnx5qTJbPuIBxD57LN MkNoYXJsaWUgTGkgKEZyZWVCU0QgUHJvamVjdCkgPHZpc2h3aW5ARnJlZUJTRC5vcmc+wpkE ExYKAEEWIQRTQA7vBfo8y1zE1rpnj5NgWEFcygUCZFWWqAIbAwUJA+3ogAULCQgHAgIiAgYV CgkICwIEFgIDAQIeBwIXgAAKCRBnj5NgWEFcyllaAP9CGICFEvTUOv5BYh/H8m49VJ87a/wd 0obeQfVBnS464AD9FopTHbjEs0HDV0ZYmJPxzJIznjumsj9gBxX0bBqqTgzOOARkVZaoEgor BgEEAZdVAQUBAQdA6BUWuG5RuT0vmtoDyCUUqiJGdtd78GM5ic3kw2AntSADAQgHwn4EGBYK ACYWIQRTQA7vBfo8y1zE1rpnj5NgWEFcygUCZFWWqAIbDAUJA+3ogAAKCRBnj5NgWEFcyn55 AP9ezKDCUgHqAq6JX976abb9pYdbSjxxNJqnrjgNkfhgIQD/QhR+fgnUHhcGTMBy+pYHZUGH 5DCuITsK1U4+v252uws= Organization: FreeBSD Project In-Reply-To: <202404062017.436KHEW6029246@gitrepo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------MxWxLVo5pcoMP9fyfC06U4yf" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------MxWxLVo5pcoMP9fyfC06U4yf Content-Type: multipart/mixed; boundary="------------EBYUNZLU5rZQqzuMZyfG3ZJv"; protected-headers="v1" From: Charlie Li To: Dimitry Andric , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Message-ID: Subject: Re: git: 5f757f3ff914 - main - Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb References: <202404062017.436KHEW6029246@gitrepo.freebsd.org> In-Reply-To: <202404062017.436KHEW6029246@gitrepo.freebsd.org> --------------EBYUNZLU5rZQqzuMZyfG3ZJv Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 RGltaXRyeSBBbmRyaWMgd3JvdGU6DQo+IFRoZSBicmFuY2ggbWFpbiBoYXMgYmVlbiB1cGRh dGVkIGJ5IGRpbToNCj4gDQo+IFVSTDogaHR0cHM6Ly9jZ2l0LkZyZWVCU0Qub3JnL3NyYy9j b21taXQvP2lkPTVmNzU3ZjNmZjkxNDRiNjA5YjNjNDMzZGZkMzcwY2M2YmRjMTkxYWQNCj4g DQo+IGNvbW1pdCA1Zjc1N2YzZmY5MTQ0YjYwOWIzYzQzM2RmZDM3MGNjNmJkYzE5MWFkDQo+ IE1lcmdlOiAzZTFjOGEzNWY3NDEgMzEyYzBlZDE5Y2M1DQo+IEF1dGhvcjogICAgIERpbWl0 cnkgQW5kcmljIDxkaW1ARnJlZUJTRC5vcmc+DQo+IEF1dGhvckRhdGU6IDIwMjMtMTItMTgg MjA6MzA6MTIgKzAwMDANCj4gQ29tbWl0OiAgICAgRGltaXRyeSBBbmRyaWMgPGRpbUBGcmVl QlNELm9yZz4NCj4gQ29tbWl0RGF0ZTogMjAyNC0wNC0wNiAyMDoxMTo1NSArMDAwMA0KPiAN Cj4gICAgICBNZXJnZSBsbHZtLXByb2plY3QgbWFpbiBsbHZtb3JnLTE4LWluaXQtMTUwODgt Z2QxNGVlNzYxODFmYg0KPiAgICAgIA0KPiAgICAgIFRoaXMgdXBkYXRlcyBsbHZtLCBjbGFu ZywgY29tcGlsZXItcnQsIGxpYmMrKywgbGlidW53aW5kLCBsbGQsIGxsZGIgYW5kDQo+ICAg ICAgb3Blbm1wIHRvIGxsdm0tcHJvamVjdCBtYWluIGxsdm1vcmctMTgtaW5pdC0xNTA4OC1n ZDE0ZWU3NjE4MWZiLg0KPiAgICAgIA0KPiAgICAgIFBSOiAgICAgICAgICAgICAyNzYxMDQN Cj4gICAgICBNRkMgYWZ0ZXI6ICAgICAgMSBtb250aA0KPiANCj4gKioqIDEzMDcxNiBMSU5F UyBTS0lQUEVEICoqKg0KPiANCj4gDQpXSVRIX0xMVk1fVEFSR0VUX0JQRiBmYWlsczoNCg0K SW4gZmlsZSBpbmNsdWRlZCBmcm9tIA0KL3Vzci9zcmMvY29udHJpYi9sbHZtLXByb2plY3Qv bGx2bS9saWIvVGFyZ2V0L0JQRi9CUEZTdWJ0YXJnZXQuY3BwOjE4Og0KL3Vzci9zcmMvY29u dHJpYi9sbHZtLXByb2plY3QvbGx2bS9saWIvVGFyZ2V0L0JQRi9HSVNlbC9CUEZSZWdpc3Rl ckJhbmtJbmZvLmg6MjI6MTA6IA0KZmF0YWwgZXJyb3I6ICdCUEZHZW5SZWdpc3RlckJhbmsu aW5jJyBmaWxlIG5vdCBmb3VuZA0KICAgIDIyIHwgI2luY2x1ZGUgIkJQRkdlblJlZ2lzdGVy QmFuay5pbmMiDQogICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4N CjEgZXJyb3IgZ2VuZXJhdGVkLg0KKioqIFtUYXJnZXQvQlBGL0JQRlN1YnRhcmdldC5vXSBF cnJvciBjb2RlIDENCg0KbWFrZVs0XTogc3RvcHBlZCBpbiAvdXNyL3NyYy9saWIvY2xhbmcv bGlibGx2bQ0KDQotLSANCkNoYXJsaWUgTGkNCi4uLm5vcGUsIHN0aWxsIGRvbid0IGhhdmUg YW4gZXhpdCBsaW5lLg0KDQo= --------------EBYUNZLU5rZQqzuMZyfG3ZJv-- --------------MxWxLVo5pcoMP9fyfC06U4yf Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQRTQA7vBfo8y1zE1rpnj5NgWEFcygUCZhb1SQUDAAAAAAAKCRBnj5NgWEFcyscV AP0R8Xxy357P8btQP8wbSbOoPI4bjuejcqcHxjwVVX0r/AD+OzRaiJ5l9ZzhlPgIb8wo98Lpz7rU JuRiH0LcKSJTfg4= =uWZ+ -----END PGP SIGNATURE----- --------------MxWxLVo5pcoMP9fyfC06U4yf-- From nobody Wed Apr 10 20:27:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFDs01K4zz5G49l; Wed, 10 Apr 2024 20:27:16 +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 4VFDs00nnJz4Vwr; Wed, 10 Apr 2024 20:27:16 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712780836; 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=EPn6FVFltGqKfYzf/TZ0A7L+kvzB22UQ1QS8wpaU9G4=; b=IspULnVtwSyciFSvk75q9HGebKQINADQPkeQHvk4tI+X0FdMHhSOjSnTeyXZF7Em6EOeOs Q8SgUTiKwIT4RcEDfVwClBvVh+EtI60ywezr/HDbF3Sx1nihg96tgyVI4PcJRdO18Drjji owf78yhjXAYF78sryibPO9yrpoXv2vuk/ArbVQNWyrU+oc4QAqpfpDtH9sVMC3tfcR0NiP lIsb7UFTlBrHUTJj6MvoBixL3QRggijXGkNkOdOjNq/+Nh9cVCT3H/aQRm4RADPD8JJkjM /YOeS36nbdHTulzU7Ji6JCUo3AcgfklC++37qu0Pg7V0bqrIHpDPdlOUBlXQbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712780836; a=rsa-sha256; cv=none; b=S/DVbOi/L0wPqATf328CHk9PG9SP+Kg2Wwp6AtHqbEW0GBMvX37u7ytneMQjSxyGOV1WlV kkgEBAOwPgH9ls2q5PpuISxKiSNSpKhoBoltiSH94FvkG8bjnWBA/t5vW+wzRQtUXl/frT NiZmX/nigaii1T0BiVJ+Qhwh3NjK25FXWq/xBTJ2+4bYG6hSh4d2d36VM4URG1E5hVfw79 2tj5fNSLYznhxQQUOfb8jQ3bfhVY7K6Mic516djoYehWS/g/s2XLI2g6nknvDtRrfpIck0 OKOtlsKtZ6hqPdph+kcPHRFeYcdtQei53bjWYWEsPPMtNpws7F0bndM9mK9jpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712780836; 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=EPn6FVFltGqKfYzf/TZ0A7L+kvzB22UQ1QS8wpaU9G4=; b=hWAO5/kK8yBMezTEluCCRpKKx8LqeXq+m0vFUKxI9gN4QO2FmmFHkoT4YpOY4dRwMK3JUY W/fnoEmXXlSiCfFxaQsEIN35e1RVThlXk7L6fNzYp2/ZcYvfh+6RlF6l55PTaCIZKODbOr 530iEI7At5AUTtWeIUgck5wlddO7WpqZ0wOjtSqZhF/mDJRxJd7V+xQij/HVLZ5oxoplZg 3ObPYoeBVeyUZIQUY44snOnfT+wjExAT4R29ps1iMDfLyRGZh31DnuWjJVZ0AQvyoh0oxI pYcwnnq5yLSsiG++DZEXjFZKnHWMaIcSwXdxCdIYxGgFSj6TT6YybWhIAiV7sQ== 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 4VFDrz6pZLzXcw; Wed, 10 Apr 2024 20:27:15 +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 875EF7658A; Wed, 10 Apr 2024 22:27:13 +0200 (CEST) Content-Type: multipart/signed; boundary="Apple-Mail=_B1BC7F9C-5D7D-4CBE-8B40-C9C712CA9A24"; protocol="application/pgp-signature"; micalg=pgp-sha1 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: dev-commits-src-main+owner@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6.1.1\)) Subject: Re: git: 5f757f3ff914 - main - Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb From: Dimitry Andric In-Reply-To: Date: Wed, 10 Apr 2024 22:27:00 +0200 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Message-Id: <98AFAF9F-A1C5-4EC9-BBCA-A623EFBB139D@FreeBSD.org> References: <202404062017.436KHEW6029246@gitrepo.freebsd.org> To: Charlie Li X-Mailer: Apple Mail (2.3731.700.6.1.1) --Apple-Mail=_B1BC7F9C-5D7D-4CBE-8B40-C9C712CA9A24 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 10 Apr 2024, at 22:23, Charlie Li wrote: >=20 > Dimitry Andric wrote: >> The branch main has been updated by dim: >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D5f757f3ff9144b609b3c433dfd370cc6= bdc191ad >> commit 5f757f3ff9144b609b3c433dfd370cc6bdc191ad >> Merge: 3e1c8a35f741 312c0ed19cc5 >> Author: Dimitry Andric >> AuthorDate: 2023-12-18 20:30:12 +0000 >> Commit: Dimitry Andric >> CommitDate: 2024-04-06 20:11:55 +0000 >> Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb >> This updates llvm, clang, compiler-rt, libc++, libunwind, = lld, lldb and >> openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb. >> PR: 276104 >> MFC after: 1 month >> *** 130716 LINES SKIPPED *** > WITH_LLVM_TARGET_BPF fails: >=20 > In file included from = /usr/src/contrib/llvm-project/llvm/lib/Target/BPF/BPFSubtarget.cpp:18: > = /usr/src/contrib/llvm-project/llvm/lib/Target/BPF/GISel/BPFRegisterBankInf= o.h:22:10: fatal error: 'BPFGenRegisterBank.inc' file not found > 22 | #include "BPFGenRegisterBank.inc" > | ^~~~~~~~~~~~~~~~~~~~~~~~ > 1 error generated. > *** [Target/BPF/BPFSubtarget.o] Error code 1 >=20 > make[4]: stopped in /usr/src/lib/clang/libllvm D'oh, I always forget this one! Will fix shortly, thanks for the report. -Dimitry --Apple-Mail=_B1BC7F9C-5D7D-4CBE-8B40-C9C712CA9A24 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 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCZhb2FAAKCRCwXqMKLiCW o6KWAKDcQKl0kFgN/A+lDZymPCvIpVi63QCfbA6HsohGAcmhmJIo1W/+99aXWCQ= =+s43 -----END PGP SIGNATURE----- --Apple-Mail=_B1BC7F9C-5D7D-4CBE-8B40-C9C712CA9A24-- From nobody Wed Apr 10 20:50:32 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFFMr2FkDz5G5lr; Wed, 10 Apr 2024 20:50: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 4VFFMr1kqnz4XMt; Wed, 10 Apr 2024 20:50:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712782232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hdxlude7mZd3k2rLXSA/s8RdnV37dUsjD5aMpj+blq0=; b=UoPiQchxg0hg9ORoAJkEWc2daxzvLhl4ufHCQCwbsz9eQXeOp5OKKYqggAU7/RWO1MEX7f cAxpYSgSvQDEtrlUrlx3+mfyFsQOMCu0N+vVhw4Q8PpXHHWL9TRe39ViLQr0SdNFozLSjz nZuxUimMsQKNLfqTIAqsyzFi08kg1P+qhhXH7BnQPLGgmay19MnFm9uhiO9xRt11Mipp/a 0Fy3Lp+9K6nFz10TBMglC1/9xKRBlT9FxzGuCVIM6c52u1yROi6APP48CnYGk7VKA2/2Mw YdWqc5lt6LfoctrV+iAsRL525DX1QR6QWm9MNDpFI/OqsMt3w4ShrftGpECx7g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712782232; a=rsa-sha256; cv=none; b=ZMZOw9v8cGuuZACB8KIEVMMXhvz3kObiKXw9YP4cehdt7iSHshuwD44iSXAQ37e4tzYJan u9xorJ6KswPXkjn8A2qyYvHVWP+WHLpfvfETYKo3P6DtHadXDGIuIDPabC65bPZm5DMQTy Iy5uW+XUT/4us/6huVgRvpUpjzFSvLtAjW2q40qczvq4E4usjYiB7qgVFUt8KjGCVekno+ RzVfaooefAMYMyKFAZCFeswb+xDix0gzBVMCzLRkaIVOKJqaQ4201Wa//RCiP4WZKfqgBU Y9qpHuVpdRASbHu18rLpqVcwRER7E9JVyyp7Ecm2AKPo1JyRnGaduSLmgZBPQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712782232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hdxlude7mZd3k2rLXSA/s8RdnV37dUsjD5aMpj+blq0=; b=naxIbc/BL+vI4R2cEmqrmHu3BAs1xTkRl6rkDLCaDbtEDii7EHsLCtDqPXO3/aQDhgG8NU IVq9tTWes9dqDxRLMvRKkEIHHxfSKUTyFZH5ptmKl/+FDKuOeOopk/WrBZYjc2LuDbsfNE 7DJlX5MW03M85yXngAfsIpGQbhZCJ8vg+2bKiNNMLt8FB0goXE2CtnioaVphi2tgVidNjt FTWb63VpXgHRYawwC8eYTYRMKyO7mhHo1KPmIlPl7+A8DcvsCb4YPNmRtpxmCpiVg3rR1i PfJp9cUdtUCEQ9sIifIayW0ufD0GuUh+4D9WJk29z9SoyRAGSjb6/YX05wBhcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFFMr1Lctzt5s; Wed, 10 Apr 2024 20:50:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AKoWFh061147; Wed, 10 Apr 2024 20:50:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AKoWhl061144; Wed, 10 Apr 2024 20:50:32 GMT (envelope-from git) Date: Wed, 10 Apr 2024 20:50:32 GMT Message-Id: <202404102050.43AKoWhl061144@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Motin Subject: git: f1e4c095777d - main - ahc/ahd: Fix target mode operation 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: dev-commits-src-main+owner@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: mav X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f1e4c095777db088645008848b3bfb87146c13ec Auto-Submitted: auto-generated The branch main has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=f1e4c095777db088645008848b3bfb87146c13ec commit f1e4c095777db088645008848b3bfb87146c13ec Author: Alexander Motin AuthorDate: 2024-04-10 20:44:00 +0000 Commit: Alexander Motin CommitDate: 2024-04-10 20:44:00 +0000 ahc/ahd: Fix target mode operation After 5e63cdb457f9 the drivers didn't clear CAM_DIS_DISCONNECT in ah*_handle_target_cmd() when needed, only set it. Reported/tested by: HP van Braam MFC after: 1 week --- sys/dev/aic7xxx/aic79xx.c | 3 +++ sys/dev/aic7xxx/aic7xxx.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/sys/dev/aic7xxx/aic79xx.c b/sys/dev/aic7xxx/aic79xx.c index 116418dda25f..58b795a9d4ce 100644 --- a/sys/dev/aic7xxx/aic79xx.c +++ b/sys/dev/aic7xxx/aic79xx.c @@ -10317,7 +10317,10 @@ ahd_handle_target_cmd(struct ahd_softc *ahd, struct target_cmd *cmd) ahd->pending_device = lstate; ahd_freeze_ccb((union ccb *)atio); atio->ccb_h.flags |= CAM_DIS_DISCONNECT; + } else { + atio->ccb_h.flags &= ~CAM_DIS_DISCONNECT; } + xpt_done((union ccb*)atio); return (0); } diff --git a/sys/dev/aic7xxx/aic7xxx.c b/sys/dev/aic7xxx/aic7xxx.c index 4b62f76b9cf8..9934fbcc41bb 100644 --- a/sys/dev/aic7xxx/aic7xxx.c +++ b/sys/dev/aic7xxx/aic7xxx.c @@ -7843,7 +7843,10 @@ ahc_handle_target_cmd(struct ahc_softc *ahc, struct target_cmd *cmd) ahc->pending_device = lstate; aic_freeze_ccb((union ccb *)atio); atio->ccb_h.flags |= CAM_DIS_DISCONNECT; + } else { + atio->ccb_h.flags &= ~CAM_DIS_DISCONNECT; } + xpt_done((union ccb*)atio); return (0); } From nobody Wed Apr 10 22:10:30 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFH866xgJz5GF1B; Wed, 10 Apr 2024 22:10: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 4VFH86644qz4g1P; Wed, 10 Apr 2024 22:10:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712787030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eQy/AffYSisJ7zM5k4rJrlA/h/JU1D66Mn77BRQRiJc=; b=kh97WDedxH51yDuXBaRJMzSM7uxAlwW/z4wCmbKjxkLhG0CcRyN+Iots+WdD/cJtvDwx2/ axa8vcXp6BFULitBmnRUvYBQVJ2OAGcsAZ1gKYHt8+Q79xBDwDfyFDhBcmOAyQ1J/Q8LAc w4ezdxjIvUwtStt4pZrGojMYCuPYft0BkNHgFxdLfYtUYrsANPwTiqxnkfWSa+87N9E7/f NGyGpNqKSQFQIzCzJpbQcfWZW1ZHRcbqLRRqgH9njb9suEESFHViIsCsm6QAbuk8U4gEqp xC4TGFApKMBsNSCHTr5iUPdlYDmgxBIZoWW6n2zTC5X9cSd2xkcQnDKEKyTW8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712787030; a=rsa-sha256; cv=none; b=W0KESyEa5xI0K2FUCYi1LMOeD6/Rnx9+8sYyxNAj+aYtu4B/luKPp9fivKeImCFWZOMvU1 a96z6F+SdiyR4eHROT1QfgbC1gVPPXfQvFjqiu3aPChP5JABa/cuS9jONFwONHMC6DnUlF d3sxczVVHFSWfYiZKzxtoExpZti8KzVA0ACwDEhTYNYALen0Z3cDS0x4N/srxWzeBIBqmQ 17cA6+W86JRo2brma2l5XQ/pQ/Cc3oFs4XpvvDqbJgVhzfvaYg9XUoL0hvqzm0HrwZ6gtl oz7twQEsi+/4Eyysljb2euWtYbeoqvlqtp5pHk9ql4VCm6Oss+8CaRG9Q+ZGbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712787030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eQy/AffYSisJ7zM5k4rJrlA/h/JU1D66Mn77BRQRiJc=; b=r8S8x2auA9aXUTGCRVDhEVtcl+TwzMfP+eB4Mpf2ly6IC0k+eAQPnRMD8ZviMM8qr5HpIT LpxFr7WF+65badIqGp74AaejBr1RtrGhAY+WmcWXfWupe4gm7/1hZc4uaoTBooOi2Kq6VO cBOkbdoiXXWsR0BkUUwV1JixZi77px/DHU2FxE5wi2qHcW86a1kiTgJUtW1Fug6yGXbP2y qoxCSSY2k7cmZhyUHSvWURDWYsmLNNUBTKnSiqiFJMhjgnrIZYpBKpZcyCtWV15sr/2KWz uMwMWKg2CK1hzeR5Rxe3aZTjarQdeRKKjMysVTSsVM5Ppdysp7QkPesLHq6WvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFH865gCmzvxs; Wed, 10 Apr 2024 22:10:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43AMAU0R096919; Wed, 10 Apr 2024 22:10:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43AMAU8h096916; Wed, 10 Apr 2024 22:10:30 GMT (envelope-from git) Date: Wed, 10 Apr 2024 22:10:30 GMT Message-Id: <202404102210.43AMAU8h096916@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: 442d351bd242 - main - libllvm: add missed tlbgen headers and sources for BPF target 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: dev-commits-src-main+owner@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: 442d351bd242d14b1c0bb67cd048ac022f2e82ad Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=442d351bd242d14b1c0bb67cd048ac022f2e82ad commit 442d351bd242d14b1c0bb67cd048ac022f2e82ad Author: Dimitry Andric AuthorDate: 2024-04-10 22:10:07 +0000 Commit: Dimitry Andric CommitDate: 2024-04-10 22:10:13 +0000 libllvm: add missed tlbgen headers and sources for BPF target Noticed by: vishwin PR: 276104 MFC after: 1 month --- lib/clang/libllvm/Makefile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/clang/libllvm/Makefile b/lib/clang/libllvm/Makefile index 5dc864fabbcd..528551aab852 100644 --- a/lib/clang/libllvm/Makefile +++ b/lib/clang/libllvm/Makefile @@ -1393,12 +1393,17 @@ SRCS_MIN+= Target/BPF/BPFMIChecking.cpp SRCS_MIN+= Target/BPF/BPFMIPeephole.cpp SRCS_MIN+= Target/BPF/BPFMISimplifyPatchable.cpp SRCS_MIN+= Target/BPF/BPFPreserveDIType.cpp +SRCS_MIN+= Target/BPF/BPFPreserveStaticOffset.cpp SRCS_MIN+= Target/BPF/BPFRegisterInfo.cpp SRCS_MIN+= Target/BPF/BPFSelectionDAGInfo.cpp SRCS_MIN+= Target/BPF/BPFSubtarget.cpp SRCS_MIN+= Target/BPF/BPFTargetMachine.cpp SRCS_MIN+= Target/BPF/BTFDebug.cpp SRCS_MIN+= Target/BPF/Disassembler/BPFDisassembler.cpp +SRCS_MIN+= Target/BPF/GISel/BPFCallLowering.cpp +SRCS_MIN+= Target/BPF/GISel/BPFInstructionSelector.cpp +SRCS_MIN+= Target/BPF/GISel/BPFLegalizerInfo.cpp +SRCS_MIN+= Target/BPF/GISel/BPFRegisterBankInfo.cpp SRCS_MIN+= Target/BPF/MCTargetDesc/BPFAsmBackend.cpp SRCS_MIN+= Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp SRCS_MIN+= Target/BPF/MCTargetDesc/BPFInstPrinter.cpp @@ -2199,8 +2204,10 @@ TGHDRS+= BPFGenAsmWriter.inc TGHDRS+= BPFGenCallingConv.inc TGHDRS+= BPFGenDAGISel.inc TGHDRS+= BPFGenDisassemblerTables.inc +TGHDRS+= BPFGenGlobalISel.inc TGHDRS+= BPFGenInstrInfo.inc TGHDRS+= BPFGenMCCodeEmitter.inc +TGHDRS+= BPFGenRegisterBank.inc TGHDRS+= BPFGenRegisterInfo.inc TGHDRS+= BPFGenSubtargetInfo.inc .endif # MK_LLVM_TARGET_BPF From nobody Thu Apr 11 02:08:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFNRB5mW3z5GdCj; Thu, 11 Apr 2024 02:08: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 4VFNRB59B8z41Wb; Thu, 11 Apr 2024 02:08:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712801334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WxWvXLRtWzB1SV9uzZ6Wag2HidUxTyTA728h6YZ/ejk=; b=Igcp6IA3NQVutXoxnk9H8O7o2LC2TPQXOM4CEdplOoPRP2d6X8T7CWSc6pBu6AARhELAlI IWcpIOpL+rPS+ZFgnbrzprdy9oT6MBuSNOBRFOCKsA2Guo09v3GFzfNbVLNUra29DGmQfz 43VjWklshQM8/EQt3hmNz1ppe6Nwr2kPufqvbsTO7N703QYkdLAj4harF33Hy0hL3NQUg8 aw37oY+WZEHQfUl5/lsMXfVxWLQe5SiOHdkI4thP5mdL7WE2r6VYgw9sNe+ascGkQf2QFU 0xEK1MLXm1Q+pxgzhS7JnDNtQ1gdfkzlO4jFOMnnaYU8Yv42m3TG0d315NjB1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712801334; a=rsa-sha256; cv=none; b=UBf12vwNYTgKYuKb2WRiI1FbKzMxLP0EH2BcEG26NKOeclNG6K5SymRQo9MPIP0X/2feNX h22RBBWxEFDCXaOUot5HNKJEWmmKdT5SvvXMleWD4Nv4bA+u5XXfaEFnYfCF1CB82iEJt0 N6XYcNvmVWLmQO7XhcXXVLnFxwPXZEmPRaaF+ctPswUbkTV/qhXnVQ4eD/0W2mUvegRHPA XJgO6opBqiECQMly6RmdgBAybkPat5IBvKyiUh70duAwyYZ/z742vU8MbmP0YgmFVq3ksW lTDm7HG2rrPWjFyn4vOJ7yvTAR/a4U73vv7Kx/9VZGJQ/snptK/olS0yJHrlzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712801334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WxWvXLRtWzB1SV9uzZ6Wag2HidUxTyTA728h6YZ/ejk=; b=JG2j+eVAIqdVHfQQNw638hSepyj559jJRc2MWYHLDc1SzZt7tVgidALhwOlRXsN6+3R5Ju StX/aZSVEG1tHQGAV5uRspWOu5ZEVwvTrABC5wDyu0Il4DTYw1y+7Fvj4oLnwnYz6e26hT b8Lc5h2vleJkIxn08H6a0c3QygMJ9TCO5Mu2DmmFP3PsO909otKwAbMW7fd4kq3gpX3aXZ gbIx9sOBQXZiq7fjiUpdNSRVitJrPE+UkvDEknCbUN2piCaDzYNJHPm+liSwQzqSp32CQq sWEuV+pwWg6r8qAWkb+Jn4qgjSLRy8ZppugZ6fi5/AMqZVZsPhvhJk/y2yZdiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFNRB4S4Xz12v8; Thu, 11 Apr 2024 02:08:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43B28sTv092933; Thu, 11 Apr 2024 02:08:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43B28srA092929; Thu, 11 Apr 2024 02:08:54 GMT (envelope-from git) Date: Thu, 11 Apr 2024 02:08:54 GMT Message-Id: <202404110208.43B28srA092929@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: f03a2e7b59d9 - main - macio: Set resource map size 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: dev-commits-src-main+owner@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: f03a2e7b59d98629bc9a81882ce7ca534bd4f224 Auto-Submitted: auto-generated The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=f03a2e7b59d98629bc9a81882ce7ca534bd4f224 commit f03a2e7b59d98629bc9a81882ce7ca534bd4f224 Author: Justin Hibbits AuthorDate: 2024-04-11 01:42:31 +0000 Commit: Justin Hibbits CommitDate: 2024-04-11 02:05:38 +0000 macio: Set resource map size PR: 278278 Fixes: af081ec6f7cf ("powerpc: powermac: Use bus_generic_rman_*") --- sys/powerpc/powermac/macio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/powerpc/powermac/macio.c b/sys/powerpc/powermac/macio.c index b3d9e9f73f25..8b96f56ad25f 100644 --- a/sys/powerpc/powermac/macio.c +++ b/sys/powerpc/powermac/macio.c @@ -686,6 +686,7 @@ macio_map_resource(device_t bus, device_t child, struct resource *r, length, args.memattr); if (map->r_vaddr == NULL) return (ENOMEM); + map->r_size = length; map->r_bustag = &bs_le_tag; map->r_bushandle = (bus_space_handle_t)map->r_vaddr; return (0); From nobody Thu Apr 11 09:59:20 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFZt04FTkz5H7Q3; Thu, 11 Apr 2024 09:59: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 4VFZt03dRWz4l11; Thu, 11 Apr 2024 09:59:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829560; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9A6/qupz56bnvIbmiCXJ5wXxxNfj8p8iHGTsNe9zoGs=; b=uQf1lGpuluo54L0x71MLo5YyzVh3rbx6DWO92hsJIYSD8IwsqovA9l8gEDGwt+tVzaaWNE CxRPZd/NWj1FNP7u1P3+s8wHWfFd67NLtx46/fV5V8l/Gt0sq2muEBSwtbEGgiBJ7SYC9Y Joybp2TZ1oKm8Kbpu7TkygjynBqDZr8CHvoekUwVv48ExDoRgluOA5QsCmrmYplOEo6s6Q fyYbqEMd/bOW6HRvczLmjxfSAUO5n19LwLjiu338GdfNbyiA2Bi2j6Nssdoqq1tFisZr2y e3UYUElzkNfX98S6AleiuMPXGlKXA6VoWqnAZdHdG8diLFXXCeF3QKGtoVFsWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712829560; a=rsa-sha256; cv=none; b=fTRFzyUvK3d5sZCtH1YGVXl7FS8eCW1ORLxP61sayTMQiQYb/5Iu7NbHcYFX/xa4gHSEjc r/KY3H5iBfNK0ScxaiqwWIMZWnpMZOXmZk03BsReDwXj4L+xoHm4XDDo4FnqrCC+MzQiYm TTGP30V74a6W+3kfuhR7Wc1MSFYaYNWaf6lOilDoiefA4rtX1Iz/+8FbaYL9KWR1NkdGmU XPL4vkZAebCyWuP0M8Ae+knW29Qv8gByYmFrzzyhXCYS9KYA3gwg66c1epLdQnt0LvlNEq RSUX4ihW5acF90XxUxtb/dw8p4vCYyiEYnQh6hLLr47IQENm/VQc2ib2tzXBiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829560; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9A6/qupz56bnvIbmiCXJ5wXxxNfj8p8iHGTsNe9zoGs=; b=wyzRmPeaTKuGMwclitWLJFbqQ6v8HDqt201JcjvAN9IU78r1/9F4ptWN+RW0muZ4zJO7g4 JJn8Gg0wODqJUMo2xokpjDggsuD2lnLNOIfM21x1tFZp2tzaYd23Q12Zh/i/D8yw8jaM3w sqVwCNsSd1THgmerbPBVU+fNOxMW+LTpJ7GdjGMfP3wgE5ox77MHqNy1PGbgl1/q/KHXuz SIdWoKyY/vxTOygl6jwa/enF2SCrknjgSyWVWYNtshZksyvrcbzGFQ8MCqnhWdkefGjK3F nM9SGXG0NuExkZZBigD9a9NjrgQPnAyyIxqfzON0PPzjhlqgTT7aypz6a/hPwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFZt03DYpz1Fsh; Thu, 11 Apr 2024 09:59:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43B9xKUN090317; Thu, 11 Apr 2024 09:59:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43B9xK36090314; Thu, 11 Apr 2024 09:59:20 GMT (envelope-from git) Date: Thu, 11 Apr 2024 09:59:20 GMT Message-Id: <202404110959.43B9xK36090314@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: ecd8cc84dcee - main - scmi: Implement scmi_clknode_recalc_freq method 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: dev-commits-src-main+owner@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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ecd8cc84dcee7d08be8663f721f0502dc5b65808 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=ecd8cc84dcee7d08be8663f721f0502dc5b65808 commit ecd8cc84dcee7d08be8663f721f0502dc5b65808 Author: Cristian Marussi AuthorDate: 2023-12-10 22:14:21 +0000 Commit: Andrew Turner CommitDate: 2024-04-11 09:58:56 +0000 scmi: Implement scmi_clknode_recalc_freq method Allow the SCMI clock frequency to be queried back, useful for testing the IRQ path via sysctl access. Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43038 --- sys/dev/firmware/arm/scmi_clk.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/sys/dev/firmware/arm/scmi_clk.c b/sys/dev/firmware/arm/scmi_clk.c index da7a8d37b465..b9ab2145ed76 100644 --- a/sys/dev/firmware/arm/scmi_clk.c +++ b/sys/dev/firmware/arm/scmi_clk.c @@ -55,7 +55,7 @@ struct scmi_clknode_softc { int clock_id; }; -static int __unused +static int scmi_clk_get_rate(struct scmi_clk_softc *sc, int clk_id, uint64_t *rate) { struct scmi_clk_rate_get_out out; @@ -154,8 +154,18 @@ scmi_clknode_init(struct clknode *clk, device_t dev) static int scmi_clknode_recalc_freq(struct clknode *clk, uint64_t *freq) { + struct scmi_clknode_softc *clk_sc; + struct scmi_clk_softc *sc; + uint64_t rate; + int ret; - return (0); + clk_sc = clknode_get_softc(clk); + sc = device_get_softc(clk_sc->dev); + ret = scmi_clk_get_rate(sc, clk_sc->clock_id, &rate); + if (ret == 0) + *freq = rate; + + return (ret); } static int From nobody Thu Apr 11 09:59:21 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFZt16kWHz5H7KK; Thu, 11 Apr 2024 09:59: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 4VFZt14jJRz4kxs; Thu, 11 Apr 2024 09:59:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PoRG5quOh4sbCx+0KJ4zzo8sKTVm7nKv58Innp+9XRQ=; b=ey7mGkcbShGZZsyTO9tL63LArIA79kH/nwdx4o5d63cThbVlS6uR7ehmONKXc97OlrDkO3 iFh6DmChM9i2lcMpRHBy+qR1iyzoif94UHbFVKw6REntwFxACxwGZ+Gy/1Rhybzq28IbK3 W8vLSBqsZX4hA/VCNdvG9YcB4cBULySNE/mUig/IbbLav1u/FjnCDfH+gsVeGtM0CtPTvt g5yaFEB5sDplzeDnKDtMEoVH+0M2NlWjkMgMzkAFMYJDcQOcBT9MGgQOZhqfZhRqdmLRH6 CfmEe+1grZF19c+GEqc0o/EHnTrQErHnw/w5koDEMOa9ntfgv4jAeJaH86+0hg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712829561; a=rsa-sha256; cv=none; b=kRZ08UrvLLjqmRsSBetNIAb/yAPF884FxVRdpEwcOvSoyeddi1hNHrxzP3oq6f20eVOFF1 KHj6m9MPLkNfPX44yOtMlI8nULNg9SW0YXWEwUv+i2Tutz547XBrVitq2EFTMfdFeCl6Gn dHYYLWyO7E17Ro0a9XTgrXQO216ihFmZ+Pn/uHH3nUW6LTovC2tC2AdGJ0KSiia7VZWFye gSENpKlKKYokwwK737+gtyXNHl+gEEf685KtVENg6Seb7GB6najJQMckuFQhhcTEYvns5o TkmtqQaPzbEPjkVm6SeYjOrUCrB5uKe0u0djr5J0kAsaXd1zncH4eP1WKr+zFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PoRG5quOh4sbCx+0KJ4zzo8sKTVm7nKv58Innp+9XRQ=; b=ifhP9YUWXxec64g9h0SgkyXLHGBpod28iMZk+POk/n1d5+kGUKzv40Ohu//8qM2Y3Sq/Zb KJfDbJo9g2vJ7otoPpa4UnMt5AfKuHbp5z4kwc56XGQq13dFltw6rV7diai2Vq4XvDyQfa vHKAo0xRvcXlDgr+agx5WIKH6UoG8LD4NiymX9rc+68mKBJ5RIQ4FN8FGfmyKJ6j93sgAs kbE5A/JM4sO6CUZshZ1JzSZPQUf8wS0CcW1+Gj0pVKHkJqjfN5VGcUAVQ4ixtV2muzwYyM qxj+w6zsIYNtOIUHKdr/4PVblfTNsitkLlhVCKcF6spbnmR3GzweHYN0CT4y4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFZt14J5mz1GC8; Thu, 11 Apr 2024 09:59:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43B9xLS4090380; Thu, 11 Apr 2024 09:59:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43B9xLw5090377; Thu, 11 Apr 2024 09:59:21 GMT (envelope-from git) Date: Thu, 11 Apr 2024 09:59:21 GMT Message-Id: <202404110959.43B9xLw5090377@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: d46f01fd590e - main - scmi: Split out the SCMI mailbox to a new file 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: dev-commits-src-main+owner@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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d46f01fd590eab5b7c25c7b218d390704a5bcb81 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d46f01fd590eab5b7c25c7b218d390704a5bcb81 commit d46f01fd590eab5b7c25c7b218d390704a5bcb81 Author: Andrew Turner AuthorDate: 2023-10-04 09:32:29 +0000 Commit: Andrew Turner CommitDate: 2024-04-11 09:58:56 +0000 scmi: Split out the SCMI mailbox to a new file Add a new SCMI interface file to allow for multiple kind of transports and move the mailbox transport to its own file, using the new interface. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43039 --- sys/conf/files.arm64 | 2 + sys/dev/firmware/arm/scmi.c | 82 ++--------------- sys/dev/firmware/arm/scmi.h | 13 +++ sys/dev/firmware/arm/scmi_if.m | 32 +++++++ sys/dev/firmware/arm/scmi_mailbox.c | 178 ++++++++++++++++++++++++++++++++++++ 5 files changed, 232 insertions(+), 75 deletions(-) diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index 293a0ae1c0f9..5541a18af659 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -272,6 +272,8 @@ dev/etherswitch/felix/felix.c optional enetc etherswitch fdt felix pci soc_nxp dev/firmware/arm/scmi.c optional fdt scmi dev/firmware/arm/scmi_clk.c optional fdt scmi +dev/firmware/arm/scmi_if.m optional fdt scmi +dev/firmware/arm/scmi_mailbox.c optional fdt scmi dev/firmware/arm/scmi_shmem.c optional fdt scmi dev/gpio/pl061.c optional pl061 gpio diff --git a/sys/dev/firmware/arm/scmi.c b/sys/dev/firmware/arm/scmi.c index 3101be245ee1..fae4ec676a17 100644 --- a/sys/dev/firmware/arm/scmi.c +++ b/sys/dev/firmware/arm/scmi.c @@ -47,15 +47,6 @@ #include "scmi.h" #include "scmi_protocols.h" -struct scmi_softc { - struct simplebus_softc simplebus_sc; - device_t dev; - device_t tx_shmem; - struct arm_doorbell *db; - struct mtx mtx; - int req_done; -}; - static device_t scmi_get_shmem(struct scmi_softc *sc, int index) { @@ -90,26 +81,11 @@ scmi_get_shmem(struct scmi_softc *sc, int index) return (dev); } -static void -scmi_callback(void *arg) -{ - struct scmi_softc *sc; - - sc = arg; - - dprintf("%s sc %p\n", __func__, sc); - - SCMI_LOCK(sc); - sc->req_done = 1; - wakeup(sc); - SCMI_UNLOCK(sc); -} - static int scmi_request_locked(struct scmi_softc *sc, struct scmi_req *req) { struct scmi_smt_header hdr; - int timeout; + int ret; bzero(&hdr, sizeof(struct scmi_smt_header)); @@ -125,6 +101,7 @@ scmi_request_locked(struct scmi_softc *sc, struct scmi_req *req) hdr.channel_status &= ~SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE; hdr.msg_header = req->protocol_id << SMT_HEADER_PROTOCOL_ID_S; hdr.msg_header |= req->message_id << SMT_HEADER_MESSAGE_ID_S; + /* TODO: Allocate a token */ hdr.length = sizeof(hdr.msg_header) + req->in_size; hdr.flags |= SCMI_SHMEM_FLAG_INTR_ENABLED; @@ -135,31 +112,9 @@ scmi_request_locked(struct scmi_softc *sc, struct scmi_req *req) scmi_shmem_write(sc->tx_shmem, SMT_HEADER_SIZE, req->in_buf, req->in_size); - sc->req_done = 0; - - /* Interrupt SCP firmware. */ - arm_doorbell_set(sc->db); - - timeout = 200; - - dprintf("%s: request\n", __func__); - - do { - if (cold) { - if (arm_doorbell_get(sc->db)) - break; - DELAY(10000); - } else { - msleep(sc, &sc->mtx, 0, "scmi", hz / 10); - if (sc->req_done) - break; - } - } while (timeout--); - - if (timeout <= 0) - return (-1); - - dprintf("%s: got reply, timeout %d\n", __func__, timeout); + ret = SCMI_XFER_MSG(sc->dev); + if (ret != 0) + return (ret); /* Read header. */ scmi_shmem_read(sc->tx_shmem, 0, &hdr, SMT_HEADER_SIZE); @@ -186,22 +141,7 @@ scmi_request(device_t dev, struct scmi_req *req) return (error); } -static int -scmi_probe(device_t dev) -{ - - if (!ofw_bus_is_compatible(dev, "arm,scmi")) - return (ENXIO); - - if (!ofw_bus_status_okay(dev)) - return (ENXIO); - - device_set_desc(dev, "ARM SCMI interface driver"); - - return (BUS_PROBE_DEFAULT); -} - -static int +int scmi_attach(device_t dev) { struct scmi_softc *sc; @@ -221,16 +161,8 @@ scmi_attach(device_t dev) return (ENXIO); } - sc->db = arm_doorbell_ofw_get(sc->dev, "tx"); - if (sc->db == NULL) { - device_printf(dev, "Doorbell device not found.\n"); - return (ENXIO); - } - mtx_init(&sc->mtx, device_get_nameunit(dev), "SCMI", MTX_DEF); - arm_doorbell_set_handler(sc->db, scmi_callback, sc); - simplebus_init(dev, node); /* @@ -257,9 +189,9 @@ scmi_detach(device_t dev) } static device_method_t scmi_methods[] = { - DEVMETHOD(device_probe, scmi_probe), DEVMETHOD(device_attach, scmi_attach), DEVMETHOD(device_detach, scmi_detach), + DEVMETHOD_END }; diff --git a/sys/dev/firmware/arm/scmi.h b/sys/dev/firmware/arm/scmi.h index 34faa3ff7e73..f1c81a609894 100644 --- a/sys/dev/firmware/arm/scmi.h +++ b/sys/dev/firmware/arm/scmi.h @@ -31,12 +31,21 @@ #ifndef _ARM64_SCMI_SCMI_H_ #define _ARM64_SCMI_SCMI_H_ +#include "scmi_if.h" + #define SCMI_LOCK(sc) mtx_lock(&(sc)->mtx) #define SCMI_UNLOCK(sc) mtx_unlock(&(sc)->mtx) #define SCMI_ASSERT_LOCKED(sc) mtx_assert(&(sc)->mtx, MA_OWNED) #define dprintf(fmt, ...) +struct scmi_softc { + struct simplebus_softc simplebus_sc; + device_t dev; + device_t tx_shmem; + struct mtx mtx; +}; + /* Shared Memory Transfer. */ struct scmi_smt_header { uint32_t reserved; @@ -71,7 +80,11 @@ struct scmi_req { uint32_t out_size; }; +DECLARE_CLASS(scmi_driver); + +int scmi_attach(device_t dev); int scmi_request(device_t dev, struct scmi_req *req); + void scmi_shmem_read(device_t dev, bus_size_t offset, void *buf, bus_size_t len); void scmi_shmem_write(device_t dev, bus_size_t offset, const void *buf, diff --git a/sys/dev/firmware/arm/scmi_if.m b/sys/dev/firmware/arm/scmi_if.m new file mode 100644 index 000000000000..524cf0fb0d66 --- /dev/null +++ b/sys/dev/firmware/arm/scmi_if.m @@ -0,0 +1,32 @@ +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2023 Arm Ltd +# +# 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. +# + +INTERFACE scmi; + +METHOD int xfer_msg { + device_t dev; +}; diff --git a/sys/dev/firmware/arm/scmi_mailbox.c b/sys/dev/firmware/arm/scmi_mailbox.c new file mode 100644 index 000000000000..bebdc7348b98 --- /dev/null +++ b/sys/dev/firmware/arm/scmi_mailbox.c @@ -0,0 +1,178 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 Ruslan Bukin + * Copyright (c) 2023 Arm Ltd + * + * This work was supported by Innovate UK project 105694, "Digital Security + * by Design (DSbD) Technology Platform Prototype". + * + * 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 + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "dev/mailbox/arm/arm_doorbell.h" + +#include "scmi.h" +#include "scmi_protocols.h" + +struct scmi_mailbox_softc { + struct scmi_softc base; + struct arm_doorbell *db; + int req_done; +}; + +static void +scmi_mailbox_callback(void *arg) +{ + struct scmi_mailbox_softc *sc; + + sc = arg; + + dprintf("%s sc %p\n", __func__, sc); + + SCMI_LOCK(&sc->base); + sc->req_done = 1; + wakeup(sc); + SCMI_UNLOCK(&sc->base); +} + +static int +scmi_mailbox_xfer_msg(device_t dev) +{ + struct scmi_mailbox_softc *sc; + int timeout; + + sc = device_get_softc(dev); + SCMI_ASSERT_LOCKED(&sc->base); + + sc->req_done = 0; + + /* Interrupt SCP firmware. */ + arm_doorbell_set(sc->db); + + timeout = 200; + + dprintf("%s: request\n", __func__); + + do { + if (cold) { + if (arm_doorbell_get(sc->db)) + break; + DELAY(10000); + } else { + msleep(sc, &sc->base.mtx, 0, "scmi", hz / 10); + if (sc->req_done) + break; + } + } while (timeout--); + + if (timeout <= 0) + return (-1); + + dprintf("%s: got reply, timeout %d\n", __func__, timeout); + + return (0); +} + +static int +scmi_mailbox_probe(device_t dev) +{ + + if (!ofw_bus_is_compatible(dev, "arm,scmi")) + return (ENXIO); + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + + device_set_desc(dev, "ARM SCMI interface driver"); + + return (BUS_PROBE_DEFAULT); +} + +static int +scmi_mailbox_attach(device_t dev) +{ + struct scmi_mailbox_softc *sc; + int ret; + + sc = device_get_softc(dev); + + /* TODO: Support other mailbox devices */ + sc->db = arm_doorbell_ofw_get(dev, "tx"); + if (sc->db == NULL) { + device_printf(dev, "Doorbell device not found.\n"); + return (ENXIO); + } + + arm_doorbell_set_handler(sc->db, scmi_mailbox_callback, sc); + + ret = scmi_attach(dev); + if (ret != 0) + arm_doorbell_set_handler(sc->db, NULL, NULL); + + return (ret); +} + +static int +scmi_mailbox_detach(device_t dev) +{ + struct scmi_mailbox_softc *sc; + + sc = device_get_softc(dev); + + arm_doorbell_set_handler(sc->db, NULL, NULL); + + return (0); +} + +static device_method_t scmi_mailbox_methods[] = { + DEVMETHOD(device_probe, scmi_mailbox_probe), + DEVMETHOD(device_attach, scmi_mailbox_attach), + DEVMETHOD(device_detach, scmi_mailbox_detach), + + /* SCMI interface */ + DEVMETHOD(scmi_xfer_msg, scmi_mailbox_xfer_msg), + + DEVMETHOD_END +}; + +DEFINE_CLASS_1(scmi_mailbox, scmi_mailbox_driver, scmi_mailbox_methods, + sizeof(struct scmi_mailbox_softc), scmi_driver); + +DRIVER_MODULE(scmi_mailbox, simplebus, scmi_mailbox_driver, 0, 0); +MODULE_VERSION(scmi_mailbox, 1); From nobody Thu Apr 11 09:59:22 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFZt26TLTz5H7b5; Thu, 11 Apr 2024 09:59: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 4VFZt25gN5z4kjn; Thu, 11 Apr 2024 09:59:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829562; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g5yuuiUaB0Os3JzBByL1ZVed/dYjlloY3VWE0ZR69Jo=; b=CnURqwu+93+AxLkAqweAx5Xz7xcNm0WhuQ2zmQ49Khd0/G8YC0/1FrLiLwSP/MKGBv/U3t RWAc+npadEPaceMv7DKc34UChZZbJoF2pgXgP5lub9igaqvAj4fyR3eGBPbDjyRpzyRHFz 581lx99kTYUiif94L0MhJUu1tVJWyHYbfrRyiISKghNovp8K/VmS/voIHoCf0eBuhb0chn i4jzwoShKAT3fBMtUfVSFduV0kqeSM5xfiFT/hP+Hoxq3b7FGBH9dvUnD8R9iagSf/kboZ zbeeroezrlKoCeKC5m91SdQx3Q/FYVS7F4l+cg8dQ5RlITMuw9wgNYKYh31TRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712829562; a=rsa-sha256; cv=none; b=fSq8Q1eIr0rtiNrr2HDFUM6J+f4/SF7d9VsAotdIpTJomYExl819ovc171Db0DdVCCAgMD sfIso9eDloCS9QK4f6jh/NmBV/N/DVXKy/t0UASoakTgtfonH+9s2ndNidigTnCIp18eeD 0l2XbKFZrlErrz9511jojGLdzXiL4kf8/PR/j2MkuN/YMpd/GdYcHNbW0Gd6BZNWYTwyCW SNDXGq3pWc4yQxdAeQG6DqjubJHOOOcLFmn5Eg/8XEuDFlVonKiF6Ad7ipQzd8eWVDIHzR 6PdrQ8M0aLi95Jdh4nqyp1SpJFaeT4u88utWOXI0H0D478yrjos7XJDeYt3N0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829562; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g5yuuiUaB0Os3JzBByL1ZVed/dYjlloY3VWE0ZR69Jo=; b=XyKmPzGevlfV+yywAOQwlILKTJmaqZiH0+FcfVMHlDdesjrArXEt5YLPIKHWFDN2UCYdWr km4XWWkb+mwm1Mkuu1raLJwhThbQ8Uunae+O6gwQaFXQCSunIO8YelfvhVvrXLHknWGP5l TmNVIZq4CVmYUR51P5VQi/hnck9vV9qXj755rHR3TpaZyRQJoNH1gHZR1fMlNSEbypkjAx EbSoBywtO3CnZ/XZ0VtS3WptbUOFuY8AWIwz8cBFgbNRbriqZevtrTET1h367CDbeIUpSE j6PfWhBMmk/Z5/acQh/4/AGgwdEOQPXzokgD9SRWG4bvq7UwB3YbQC5Qh4dxaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFZt25Hghz1Gb0; Thu, 11 Apr 2024 09:59:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43B9xMBe090428; Thu, 11 Apr 2024 09:59:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43B9xMwK090425; Thu, 11 Apr 2024 09:59:22 GMT (envelope-from git) Date: Thu, 11 Apr 2024 09:59:22 GMT Message-Id: <202404110959.43B9xMwK090425@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 5ea251c4ed6e - main - scmi: Add an SCMI SMC transport 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: dev-commits-src-main+owner@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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5ea251c4ed6e511050037db62600ddf815b623d2 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=5ea251c4ed6e511050037db62600ddf815b623d2 commit 5ea251c4ed6e511050037db62600ddf815b623d2 Author: Andrew Turner AuthorDate: 2023-10-04 13:00:50 +0000 Commit: Andrew Turner CommitDate: 2024-04-11 09:58:56 +0000 scmi: Add an SCMI SMC transport driver Using the SCMI transport interface add a new SMC transport to the SCMI stack. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43040 --- sys/conf/files.arm64 | 1 + sys/dev/firmware/arm/scmi_smc.c | 131 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index 5541a18af659..a22ffa2b7f0c 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -274,6 +274,7 @@ dev/firmware/arm/scmi.c optional fdt scmi dev/firmware/arm/scmi_clk.c optional fdt scmi dev/firmware/arm/scmi_if.m optional fdt scmi dev/firmware/arm/scmi_mailbox.c optional fdt scmi +dev/firmware/arm/scmi_smc.c optional fdt scmi dev/firmware/arm/scmi_shmem.c optional fdt scmi dev/gpio/pl061.c optional pl061 gpio diff --git a/sys/dev/firmware/arm/scmi_smc.c b/sys/dev/firmware/arm/scmi_smc.c new file mode 100644 index 000000000000..ff5f4a2d1491 --- /dev/null +++ b/sys/dev/firmware/arm/scmi_smc.c @@ -0,0 +1,131 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 Ruslan Bukin + * Copyright (c) 2023 Arm Ltd + * + * This work was supported by Innovate UK project 105694, "Digital Security + * by Design (DSbD) Technology Platform Prototype". + * + * 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 + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include "scmi.h" +#include "scmi_protocols.h" + +struct scmi_smc_softc { + struct scmi_softc base; + uint32_t smc_id; +}; + +static int +scmi_smc_xfer_msg(device_t dev) +{ + struct scmi_smc_softc *sc; + + sc = device_get_softc(dev); + SCMI_ASSERT_LOCKED(&sc->base); + + arm_smccc_smc(sc->smc_id, 0, 0, 0, 0, 0, 0, 0, NULL); + + return (0); +} + +static int +scmi_smc_probe(device_t dev) +{ + + if (!ofw_bus_is_compatible(dev, "arm,scmi-smc")) + return (ENXIO); + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + + device_set_desc(dev, "ARM SCMI SCM interface driver"); + + return (BUS_PROBE_DEFAULT); +} + +static int +scmi_smc_attach(device_t dev) +{ + struct scmi_smc_softc *sc; + phandle_t node; + ssize_t len; + + sc = device_get_softc(dev); + + node = ofw_bus_get_node(dev); + len = OF_getencprop(node, "arm,smc-id", &sc->smc_id, + sizeof(sc->smc_id)); + if (len <= 0) { + device_printf(dev, "No SMC ID found\n"); + return (EINVAL); + } + + device_printf(dev, "smc id %x\n", sc->smc_id); + + return (scmi_attach(dev)); +} + +static int +scmi_smc_detach(device_t dev) +{ + + return (0); +} + +static device_method_t scmi_smc_methods[] = { + DEVMETHOD(device_probe, scmi_smc_probe), + DEVMETHOD(device_attach, scmi_smc_attach), + DEVMETHOD(device_detach, scmi_smc_detach), + + /* SCMI interface */ + DEVMETHOD(scmi_xfer_msg, scmi_smc_xfer_msg), + + DEVMETHOD_END +}; + +DEFINE_CLASS_1(scmi_smc, scmi_smc_driver, scmi_smc_methods, + sizeof(struct scmi_smc_softc), scmi_driver); + +/* Needs to be after the mmio_sram driver */ +EARLY_DRIVER_MODULE(scmi_smc, simplebus, scmi_smc_driver, 0, 0, + BUS_PASS_SUPPORTDEV + BUS_PASS_ORDER_LATE); +MODULE_VERSION(scmi_smc, 1); From nobody Thu Apr 11 09:59:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFZt41JxVz5H7KN; Thu, 11 Apr 2024 09:59: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 4VFZt36WK4z4ky4; Thu, 11 Apr 2024 09:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QXxm9mJI7wODYNtfmU+uGBRaNWxepN6ZmXh6q9y0k/A=; b=fjFUvkAIqTIwrUbIFh8+y2asGRPeos+np6AdJe/5PwCS15etQNU0W1vgDEz/tm+Tmx0uPR bYAFJm55/rbd0jMPhZbdRmtxNbOpSV5t/eWbQ3py0Ex8fPh5WsqIT/jSJhM4LHxlbbPQaH 71uAqZTWsrmtgV9P/QFl3eAB9Pd/6e9hieb3OwIUyU4jdpXDIRH3jVLfr+gbBQ4vSy21aj Bha7rJK5bxSEFaaXryNvt7sQebTFzIezv2OUVt7EZcYE24Hcg7uI2aCz5AC1J2OQmm5xqb Ahq6Ab6ynV9RZeQpksmkUj64XUF2Zdsuc8CfpPl8kfJonZrc1yVvICS7aWoxlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712829563; a=rsa-sha256; cv=none; b=aa+NJsQ03p6bkS0RwinCvzgNBe6ipSnZkCAaw1EpE5BOfRxgZvblL9k4LO1B86Ox01+irU zPxrORGnt2S5SvNRWBM1/2tcaO/POXr0ZlFO13MGY379oQBNDlqmewt79cvbAi+2HwlyIE R+rXeBgA714vFCuSGNYBWlqoUmaSIvJOItz/4Hbq3YzctbAiT70m99Sieus5o7i5zriB/K 5xIPukBsG3KCuX51K/Qr8HEwYIYDXKvUkSATQdx0UCewirzsgWtVyEWInH7q52I9MbqbAw p4H+ohT/pnzJEQJhDA2moKUCRpDhN8bHs26Nex+pyLMImxLRv7+c0yUlMwX6LA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QXxm9mJI7wODYNtfmU+uGBRaNWxepN6ZmXh6q9y0k/A=; b=vUznCaEgZZBm2TVFys4dUD7lY33iWzm5huEpo05mNqG4q5qjjWLGJxqd0WNLMj5N5XUTwl xS6gHdfDxEH+0qMj9Dg2/TzVBL/kXieXK59f+SLOVMx1raApNuQiw1ALQQAx2xwQt+/+3a gnhUf8VsHfsV5oFhc6zX8PReFaOpS700+JfhpIIhduCX5cGLEKiVRE3lVOkNKJV0Cfmn1/ IWOYVTTXSq72CC69RNhnKgW73jtejA03Yeo+EXXMGt0vRzZQtSI/AoKh11doTo0ODYyjEB 8DPUMbIh+ocu5zyQeqE1mRTuzfb3g/OKn+3stFozb2OCgUf7P/dWCFI0lntSmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFZt367Q3z1Gb1; Thu, 11 Apr 2024 09:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43B9xN7o090476; Thu, 11 Apr 2024 09:59:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43B9xN0k090473; Thu, 11 Apr 2024 09:59:23 GMT (envelope-from git) Date: Thu, 11 Apr 2024 09:59:23 GMT Message-Id: <202404110959.43B9xN0k090473@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: d220b1cf02ce - main - scmi: Extend and refactor SCMI shmem 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: dev-commits-src-main+owner@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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d220b1cf02ce5e7cc0c39052b4e8bffa408d9ed3 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d220b1cf02ce5e7cc0c39052b4e8bffa408d9ed3 commit d220b1cf02ce5e7cc0c39052b4e8bffa408d9ed3 Author: Cristian Marussi AuthorDate: 2023-12-06 19:36:02 +0000 Commit: Andrew Turner CommitDate: 2024-04-11 09:58:56 +0000 scmi: Extend and refactor SCMI shmem support Add a few new common public scmi_shmem methods to be used to handle SCMI shared memory areas from multiple transports; while doing that review the shared memory accesses to read only the SMT header fields strictly relevant to the SCMI message processing. Move all the SCMI shmem related code to the existing scmi_shmem.c file and add a new dedicated scmi_shmem.h header. Introduce some commonly needed message header manipulation macros. Reviewed by: andrew Tested on: Arm Morello Board Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43041 --- sys/dev/firmware/arm/scmi.c | 95 ++++++++++++------------------- sys/dev/firmware/arm/scmi.h | 42 ++++---------- sys/dev/firmware/arm/scmi_shmem.c | 115 +++++++++++++++++++++++++++++++++++++- sys/dev/firmware/arm/scmi_shmem.h | 70 +++++++++++++++++++++++ 4 files changed, 231 insertions(+), 91 deletions(-) diff --git a/sys/dev/firmware/arm/scmi.c b/sys/dev/firmware/arm/scmi.c index fae4ec676a17..8428d17cecec 100644 --- a/sys/dev/firmware/arm/scmi.c +++ b/sys/dev/firmware/arm/scmi.c @@ -2,6 +2,7 @@ * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2022 Ruslan Bukin + * Copyright (c) 2023 Arm Ltd * * This work was supported by Innovate UK project 105694, "Digital Security * by Design (DSbD) Technology Platform Prototype". @@ -46,84 +47,62 @@ #include "scmi.h" #include "scmi_protocols.h" +#include "scmi_shmem.h" -static device_t -scmi_get_shmem(struct scmi_softc *sc, int index) -{ - phandle_t *shmems; - phandle_t node; - device_t dev; - size_t len; - - node = ofw_bus_get_node(sc->dev); - if (node <= 0) - return (NULL); - - len = OF_getencprop_alloc_multi(node, "shmem", sizeof(*shmems), - (void **)&shmems); - if (len <= 0) { - device_printf(sc->dev, "%s: Can't get shmem node.\n", __func__); - return (NULL); - } +#define SCMI_HDR_TOKEN_S 18 +#define SCMI_HDR_TOKEN_BF (0x3fff) +#define SCMI_HDR_TOKEN_M (SCMI_HDR_TOKEN_BF << SCMI_HDR_TOKEN_S) - if (index >= len) { - OF_prop_free(shmems); - return (NULL); - } +#define SCMI_HDR_PROTOCOL_ID_S 10 +#define SCMI_HDR_PROTOCOL_ID_BF (0xff) +#define SCMI_HDR_PROTOCOL_ID_M \ + (SCMI_HDR_PROTOCOL_ID_BF << SCMI_HDR_PROTOCOL_ID_S) - dev = OF_device_from_xref(shmems[index]); - if (dev == NULL) - device_printf(sc->dev, "%s: Can't get shmem device.\n", - __func__); +#define SCMI_HDR_MESSAGE_TYPE_S 8 +#define SCMI_HDR_MESSAGE_TYPE_BF (0x3) +#define SCMI_HDR_MESSAGE_TYPE_M \ + (SCMI_HDR_MESSAGE_TYPE_BF << SCMI_HDR_MESSAGE_TYPE_S) - OF_prop_free(shmems); +#define SCMI_HDR_MESSAGE_ID_S 0 +#define SCMI_HDR_MESSAGE_ID_BF (0xff) +#define SCMI_HDR_MESSAGE_ID_M \ + (SCMI_HDR_MESSAGE_ID_BF << SCMI_HDR_MESSAGE_ID_S) - return (dev); -} +#define SCMI_MSG_TYPE_CMD 0 +#define SCMI_MSG_TYPE_DRESP 2 +#define SCMI_MSG_TYPE_NOTIF 3 static int scmi_request_locked(struct scmi_softc *sc, struct scmi_req *req) { - struct scmi_smt_header hdr; + uint32_t reply_header; int ret; - bzero(&hdr, sizeof(struct scmi_smt_header)); - SCMI_ASSERT_LOCKED(sc); - /* Read header */ - scmi_shmem_read(sc->tx_shmem, 0, &hdr, SMT_HEADER_SIZE); - - if ((hdr.channel_status & SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE) == 0) - return (1); - - /* Update header */ - hdr.channel_status &= ~SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE; - hdr.msg_header = req->protocol_id << SMT_HEADER_PROTOCOL_ID_S; - hdr.msg_header |= req->message_id << SMT_HEADER_MESSAGE_ID_S; + req->msg_header = req->message_id << SCMI_HDR_MESSAGE_ID_S; /* TODO: Allocate a token */ - hdr.length = sizeof(hdr.msg_header) + req->in_size; - hdr.flags |= SCMI_SHMEM_FLAG_INTR_ENABLED; - - /* Write header */ - scmi_shmem_write(sc->tx_shmem, 0, &hdr, SMT_HEADER_SIZE); + req->msg_header |= SCMI_MSG_TYPE_CMD << SCMI_HDR_MESSAGE_TYPE_S; + req->msg_header |= req->protocol_id << SCMI_HDR_PROTOCOL_ID_S; - /* Write request */ - scmi_shmem_write(sc->tx_shmem, SMT_HEADER_SIZE, req->in_buf, - req->in_size); + ret = scmi_shmem_prepare_msg(sc->a2p_dev, req); + if (ret != 0) + return (ret); ret = SCMI_XFER_MSG(sc->dev); if (ret != 0) return (ret); /* Read header. */ - scmi_shmem_read(sc->tx_shmem, 0, &hdr, SMT_HEADER_SIZE); + ret = scmi_shmem_read_msg_header(sc->a2p_dev, &reply_header); + if (ret != 0) + return (ret); - /* Read response */ - scmi_shmem_read(sc->tx_shmem, SMT_HEADER_SIZE, req->out_buf, - req->out_size); + if (reply_header != req->msg_header) + return (EPROTO); - return (0); + return (scmi_shmem_read_msg_payload(sc->a2p_dev, req->out_buf, + req->out_size)); } int @@ -155,9 +134,9 @@ scmi_attach(device_t dev) if (node == -1) return (ENXIO); - sc->tx_shmem = scmi_get_shmem(sc, 0); - if (sc->tx_shmem == NULL) { - device_printf(dev, "TX shmem dev not found.\n"); + sc->a2p_dev = scmi_shmem_get(dev, node, SCMI_CHAN_A2P); + if (sc->a2p_dev == NULL) { + device_printf(dev, "A2P shmem dev not found.\n"); return (ENXIO); } diff --git a/sys/dev/firmware/arm/scmi.h b/sys/dev/firmware/arm/scmi.h index f1c81a609894..bebebff50429 100644 --- a/sys/dev/firmware/arm/scmi.h +++ b/sys/dev/firmware/arm/scmi.h @@ -2,6 +2,7 @@ * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2022 Ruslan Bukin + * Copyright (c) 2023 Arm Ltd * * This work was supported by Innovate UK project 105694, "Digital Security * by Design (DSbD) Technology Platform Prototype". @@ -39,41 +40,25 @@ #define dprintf(fmt, ...) +#define SCMI_MSG_HDR_SIZE (sizeof(uint32_t)) + +enum scmi_chan { + SCMI_CHAN_A2P, + SCMI_CHAN_P2A, + SCMI_CHAN_MAX +}; + struct scmi_softc { struct simplebus_softc simplebus_sc; device_t dev; - device_t tx_shmem; + device_t a2p_dev; struct mtx mtx; }; -/* Shared Memory Transfer. */ -struct scmi_smt_header { - uint32_t reserved; - uint32_t channel_status; -#define SCMI_SHMEM_CHAN_STAT_CHANNEL_ERROR (1 << 1) -#define SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE (1 << 0) - uint32_t reserved1[2]; - uint32_t flags; -#define SCMI_SHMEM_FLAG_INTR_ENABLED (1 << 0) - uint32_t length; - uint32_t msg_header; - uint8_t msg_payload[0]; -}; - -#define SMT_HEADER_SIZE sizeof(struct scmi_smt_header) - -#define SMT_HEADER_TOKEN_S 18 -#define SMT_HEADER_TOKEN_M (0x3fff << SMT_HEADER_TOKEN_S) -#define SMT_HEADER_PROTOCOL_ID_S 10 -#define SMT_HEADER_PROTOCOL_ID_M (0xff << SMT_HEADER_PROTOCOL_ID_S) -#define SMT_HEADER_MESSAGE_TYPE_S 8 -#define SMT_HEADER_MESSAGE_TYPE_M (0x3 << SMT_HEADER_MESSAGE_TYPE_S) -#define SMT_HEADER_MESSAGE_ID_S 0 -#define SMT_HEADER_MESSAGE_ID_M (0xff << SMT_HEADER_MESSAGE_ID_S) - struct scmi_req { int protocol_id; int message_id; + uint32_t msg_header; const void *in_buf; uint32_t in_size; void *out_buf; @@ -85,9 +70,4 @@ DECLARE_CLASS(scmi_driver); int scmi_attach(device_t dev); int scmi_request(device_t dev, struct scmi_req *req); -void scmi_shmem_read(device_t dev, bus_size_t offset, void *buf, - bus_size_t len); -void scmi_shmem_write(device_t dev, bus_size_t offset, const void *buf, - bus_size_t len); - #endif /* !_ARM64_SCMI_SCMI_H_ */ diff --git a/sys/dev/firmware/arm/scmi_shmem.c b/sys/dev/firmware/arm/scmi_shmem.c index 45a4414a7fb4..efb6b77c6e4b 100644 --- a/sys/dev/firmware/arm/scmi_shmem.c +++ b/sys/dev/firmware/arm/scmi_shmem.c @@ -2,6 +2,7 @@ * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2022 Ruslan Bukin + * Copyright (c) 2023 Arm Ltd * * This work was supported by Innovate UK project 105694, "Digital Security * by Design (DSbD) Technology Platform Prototype". @@ -41,6 +42,7 @@ #include "mmio_sram_if.h" +#include "scmi_shmem.h" #include "scmi.h" struct shmem_softc { @@ -49,6 +51,14 @@ struct shmem_softc { int reg; }; +static void scmi_shmem_read(device_t, bus_size_t, void *, bus_size_t); +static void scmi_shmem_write(device_t, bus_size_t, const void *, + bus_size_t); + +static int shmem_probe(device_t); +static int shmem_attach(device_t); +static int shmem_detach(device_t); + static int shmem_probe(device_t dev) { @@ -97,7 +107,7 @@ shmem_detach(device_t dev) return (0); } -void +static void scmi_shmem_read(device_t dev, bus_size_t offset, void *buf, bus_size_t len) { struct shmem_softc *sc; @@ -112,7 +122,7 @@ scmi_shmem_read(device_t dev, bus_size_t offset, void *buf, bus_size_t len) addr[i] = MMIO_SRAM_READ_1(sc->parent, sc->reg + offset + i); } -void +static void scmi_shmem_write(device_t dev, bus_size_t offset, const void *buf, bus_size_t len) { @@ -128,6 +138,107 @@ scmi_shmem_write(device_t dev, bus_size_t offset, const void *buf, MMIO_SRAM_WRITE_1(sc->parent, sc->reg + offset + i, addr[i]); } +device_t +scmi_shmem_get(device_t dev, phandle_t node, int index) +{ + phandle_t *shmems; + device_t shmem_dev; + size_t len; + + len = OF_getencprop_alloc_multi(node, "shmem", sizeof(*shmems), + (void **)&shmems); + if (len <= 0) { + device_printf(dev, "%s: Can't get shmem node.\n", __func__); + return (NULL); + } + + if (index >= len) { + OF_prop_free(shmems); + return (NULL); + } + + shmem_dev = OF_device_from_xref(shmems[index]); + if (shmem_dev == NULL) + device_printf(dev, "%s: Can't get shmem device.\n", + __func__); + + OF_prop_free(shmems); + + return (shmem_dev); +} + +int +scmi_shmem_prepare_msg(device_t dev, struct scmi_req *req) +{ + struct scmi_smt_header hdr = {}; + uint32_t channel_status; + + /* Read channel status */ + scmi_shmem_read(dev, SMT_OFFSET_CHAN_STATUS, &channel_status, + SMT_SIZE_CHAN_STATUS); + if ((channel_status & SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE) == 0) { + device_printf(dev, "Shmem channel busy. Abort !.\n"); + return (1); + } + + /* Update header */ + hdr.channel_status &= ~SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE; + hdr.msg_header = htole32(req->msg_header); + hdr.length = htole32(sizeof(req->msg_header) + req->in_size); + hdr.flags |= SCMI_SHMEM_FLAG_INTR_ENABLED; + + /* Write header */ + scmi_shmem_write(dev, 0, &hdr, SMT_SIZE_HEADER); + + /* Write request payload if any */ + if (req->in_size) + scmi_shmem_write(dev, SMT_SIZE_HEADER, req->in_buf, + req->in_size); + + return (0); +} + +int +scmi_shmem_read_msg_header(device_t dev, uint32_t *msg_header) +{ + uint32_t length, header; + + /* Read and check length. */ + scmi_shmem_read(dev, SMT_OFFSET_LENGTH, &length, SMT_SIZE_LENGTH); + if (le32toh(length) < sizeof(header)) + return (EINVAL); + + /* Read header. */ + scmi_shmem_read(dev, SMT_OFFSET_MSG_HEADER, &header, + SMT_SIZE_MSG_HEADER); + + *msg_header = le32toh(header); + + return (0); +} + +int +scmi_shmem_read_msg_payload(device_t dev, uint8_t *buf, uint32_t buf_len) +{ + uint32_t length, payld_len; + + /* Read length. */ + scmi_shmem_read(dev, SMT_OFFSET_LENGTH, &length, SMT_SIZE_LENGTH); + payld_len = le32toh(length) - SCMI_MSG_HDR_SIZE; + + if (payld_len > buf_len) { + device_printf(dev, + "RX payload %dbytes exceeds buflen %dbytes. Truncate.\n", + payld_len, buf_len); + payld_len = buf_len; + } + + /* Read response payload */ + scmi_shmem_read(dev, SMT_SIZE_HEADER, buf, payld_len); + + return (0); +} + static device_method_t shmem_methods[] = { DEVMETHOD(device_probe, shmem_probe), DEVMETHOD(device_attach, shmem_attach), diff --git a/sys/dev/firmware/arm/scmi_shmem.h b/sys/dev/firmware/arm/scmi_shmem.h new file mode 100644 index 000000000000..ce82a3c90d87 --- /dev/null +++ b/sys/dev/firmware/arm/scmi_shmem.h @@ -0,0 +1,70 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2022 Ruslan Bukin + * Copyright (c) 2023 Arm Ltd + * + * This work was supported by Innovate UK project 105694, "Digital Security + * by Design (DSbD) Technology Platform Prototype". + * + * 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. + */ + +#ifndef _ARM64_SCMI_SCMI_SHMEM_H_ +#define _ARM64_SCMI_SCMI_SHMEM_H_ + +/* Shared Memory Transfer. */ +struct scmi_smt_header { + uint32_t reserved; + uint32_t channel_status; +#define SCMI_SHMEM_CHAN_STAT_CHANNEL_ERROR (1 << 1) +#define SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE (1 << 0) + uint32_t reserved1[2]; + uint32_t flags; +#define SCMI_SHMEM_FLAG_INTR_ENABLED (1 << 0) + uint32_t length; + uint32_t msg_header; + uint8_t msg_payload[0]; +}; + +#define SMT_SIZE_HEADER sizeof(struct scmi_smt_header) + +#define SMT_OFFSET_CHAN_STATUS \ + __offsetof(struct scmi_smt_header, channel_status) +#define SMT_SIZE_CHAN_STATUS sizeof(uint32_t) + +#define SMT_OFFSET_LENGTH \ + __offsetof(struct scmi_smt_header, length) +#define SMT_SIZE_LENGTH sizeof(uint32_t) + +#define SMT_OFFSET_MSG_HEADER \ + __offsetof(struct scmi_smt_header, msg_header) +#define SMT_SIZE_MSG_HEADER sizeof(uint32_t) + +struct scmi_req; + +device_t scmi_shmem_get(device_t sdev, phandle_t node, int index); +int scmi_shmem_prepare_msg(device_t dev, struct scmi_req *req); +int scmi_shmem_read_msg_header(device_t dev, uint32_t *msg_header); +int scmi_shmem_read_msg_payload(device_t dev, uint8_t *buf, uint32_t buf_len); + +#endif /* !_ARM64_SCMI_SCMI_SHMEM_H_ */ From nobody Thu Apr 11 09:59:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFZt52ndqz5H7KP; Thu, 11 Apr 2024 09:59: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 4VFZt50ZLxz4l5r; Thu, 11 Apr 2024 09:59:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829565; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IjCjFiJFsvgk9xBV+rCows/epWyfz4Ov0vjwDJ3yqG0=; b=JNhlEOKYou+DFiYB4pERqcCR4inu8YWqaxaygvZUO9/ch24CgQ4WX2tJcgPP8EAuJnPdc9 ecklp/nM2v9h2QXwzcNeGJcOdARCRLfM5ZgOV0vMu0qaIA9G90VaIUwUwsck/qusrSJbVQ AEcyOW45zLaWVkvNrbydmmi4dBRiw3ezTEupOF/chIkQnsy7aFp91HTKFjYJw2t6yGg0Q9 bEMaRUnwprmVHccgKLJV2jCbP0j2bzgFEVAcEQkgANwkEjKs+aH7m/DV9AgwFH0Q5GVHo7 Y7ENkUZ4aBakKFDXBcYA7fmK4c0XwmrKj070pVo2ydmP3955PqhnmdnvMtYAKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712829565; a=rsa-sha256; cv=none; b=i/segCsqwcKT1JTuTt2ph5yi3zDOg3xsZkz0r3Tja5tHouj3SLEQ8pBQmdRotPUSNsVLp3 DJoJEB7YZP+jF0++2xGjkU9+4/vM7r+1FDtpiLrR3YhG1Ckbq6SwUU3vutQU5AsV8QsagW CQ7imlZLhxWDWa3UJvMwsLKySA/83Q6Qqy4bujq4PqYl1oyHO8rt+L0YtS8GlLR63DNz9+ rJlnJAd6qIk4HK5h74tQl2NgbJkiVq+awYN8ECmSfvX7LweaMkTY/cxELkwhN5O7b0Cys4 CDh/3x87EJP/bnUNT9tnckPYQ2UszmiIbWM84ZnKthxKVnyPdNRH5hVOaTQlKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829565; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IjCjFiJFsvgk9xBV+rCows/epWyfz4Ov0vjwDJ3yqG0=; b=V6ZeURDfHFZ8QIgBh6MWd72xHzjzUPT75Lyu/wmG7H9BmY180p2tD5IxQNg2x9HlQHZSDn ZF3+zxi5EvCm/R+aaMI3Ek/ktFBxyJtPEvF6R7sRNSw+t1BGk19M9gS4xNCyPfPBvz0XGQ Kftc1SZ5EfDEw2ZPsEXaSj//BcLG2fZPCm093HSkawWxToZDj8HiAt1DdJPdyPj/iZigha sthua+dF78AZwc4IXiNneHzzsPM4dB4KOnArwQes3QwWNfCYA5IA7cKnz6Vcj0kPFNNtl4 qYqhCGxZbxYEr+34EIntW3VzFVIP9KphZ8jtQVhzYmbWIb3o6S2kGB1zDZKBmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFZt504FYz1Gb2; Thu, 11 Apr 2024 09:59:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43B9xOSh090521; Thu, 11 Apr 2024 09:59:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43B9xOh0090518; Thu, 11 Apr 2024 09:59:24 GMT (envelope-from git) Date: Thu, 11 Apr 2024 09:59:24 GMT Message-Id: <202404110959.43B9xOh0090518@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: cbcfdff05678 - main - scmi: Fix SCMI mailbox polling mechanism 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: dev-commits-src-main+owner@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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cbcfdff05678b143436f81e09f21b3c727efd805 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=cbcfdff05678b143436f81e09f21b3c727efd805 commit cbcfdff05678b143436f81e09f21b3c727efd805 Author: Cristian Marussi AuthorDate: 2023-12-07 07:06:10 +0000 Commit: Andrew Turner CommitDate: 2024-04-11 09:58:56 +0000 scmi: Fix SCMI mailbox polling mechanism When the system is cold, the SCMI stack processes commands in polling mode with the current polling mechanism being a check of the status register in the mailbox controller to see if there is any pending doorbell request. Anyway, the completion interrupt is optional by the SCMI specification and a system could have been simply designed without it: for this reason polling on the mailbox controller status registers is not going to work in all situations. Moreover even alternative SCMI transports based on shared memory, like SMC, will not have at all a mailbox controller to poll for. On the other side, the associated SCMI Shared Memory Transport defines dedicated channel flags and status bits that can be used by the agent to explicitly request a polling-based transaction, even if the completion interrupt was available, and to check afterwards when the platform has completed its processing on the outstanding command. Use SCMI/SMT specific mechanism to process transactions in polling mode. Reviewed by: andrew Tested on: Arm Morello Board Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43042 --- sys/dev/firmware/arm/scmi.c | 2 +- sys/dev/firmware/arm/scmi_mailbox.c | 3 ++- sys/dev/firmware/arm/scmi_shmem.c | 18 ++++++++++++++++-- sys/dev/firmware/arm/scmi_shmem.h | 4 +++- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/sys/dev/firmware/arm/scmi.c b/sys/dev/firmware/arm/scmi.c index 8428d17cecec..ee41ad4383c0 100644 --- a/sys/dev/firmware/arm/scmi.c +++ b/sys/dev/firmware/arm/scmi.c @@ -85,7 +85,7 @@ scmi_request_locked(struct scmi_softc *sc, struct scmi_req *req) req->msg_header |= SCMI_MSG_TYPE_CMD << SCMI_HDR_MESSAGE_TYPE_S; req->msg_header |= req->protocol_id << SCMI_HDR_PROTOCOL_ID_S; - ret = scmi_shmem_prepare_msg(sc->a2p_dev, req); + ret = scmi_shmem_prepare_msg(sc->a2p_dev, req, cold); if (ret != 0) return (ret); diff --git a/sys/dev/firmware/arm/scmi_mailbox.c b/sys/dev/firmware/arm/scmi_mailbox.c index bebdc7348b98..c7f4fda4d5c4 100644 --- a/sys/dev/firmware/arm/scmi_mailbox.c +++ b/sys/dev/firmware/arm/scmi_mailbox.c @@ -49,6 +49,7 @@ #include "scmi.h" #include "scmi_protocols.h" +#include "scmi_shmem.h" struct scmi_mailbox_softc { struct scmi_softc base; @@ -91,7 +92,7 @@ scmi_mailbox_xfer_msg(device_t dev) do { if (cold) { - if (arm_doorbell_get(sc->db)) + if (scmi_shmem_poll_msg(sc->base.a2p_dev)) break; DELAY(10000); } else { diff --git a/sys/dev/firmware/arm/scmi_shmem.c b/sys/dev/firmware/arm/scmi_shmem.c index efb6b77c6e4b..066f28777cb7 100644 --- a/sys/dev/firmware/arm/scmi_shmem.c +++ b/sys/dev/firmware/arm/scmi_shmem.c @@ -168,7 +168,7 @@ scmi_shmem_get(device_t dev, phandle_t node, int index) } int -scmi_shmem_prepare_msg(device_t dev, struct scmi_req *req) +scmi_shmem_prepare_msg(device_t dev, struct scmi_req *req, bool polling) { struct scmi_smt_header hdr = {}; uint32_t channel_status; @@ -185,7 +185,10 @@ scmi_shmem_prepare_msg(device_t dev, struct scmi_req *req) hdr.channel_status &= ~SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE; hdr.msg_header = htole32(req->msg_header); hdr.length = htole32(sizeof(req->msg_header) + req->in_size); - hdr.flags |= SCMI_SHMEM_FLAG_INTR_ENABLED; + if (!polling) + hdr.flags |= SCMI_SHMEM_FLAG_INTR_ENABLED; + else + hdr.flags &= ~SCMI_SHMEM_FLAG_INTR_ENABLED; /* Write header */ scmi_shmem_write(dev, 0, &hdr, SMT_SIZE_HEADER); @@ -239,6 +242,17 @@ scmi_shmem_read_msg_payload(device_t dev, uint8_t *buf, uint32_t buf_len) return (0); } +bool scmi_shmem_poll_msg(device_t dev) +{ + uint32_t status; + + scmi_shmem_read(dev, SMT_OFFSET_CHAN_STATUS, &status, + SMT_SIZE_CHAN_STATUS); + + return (status & (SCMI_SHMEM_CHAN_STAT_CHANNEL_ERROR | + SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE)); +} + static device_method_t shmem_methods[] = { DEVMETHOD(device_probe, shmem_probe), DEVMETHOD(device_attach, shmem_attach), diff --git a/sys/dev/firmware/arm/scmi_shmem.h b/sys/dev/firmware/arm/scmi_shmem.h index ce82a3c90d87..d46493dc0342 100644 --- a/sys/dev/firmware/arm/scmi_shmem.h +++ b/sys/dev/firmware/arm/scmi_shmem.h @@ -63,7 +63,9 @@ struct scmi_smt_header { struct scmi_req; device_t scmi_shmem_get(device_t sdev, phandle_t node, int index); -int scmi_shmem_prepare_msg(device_t dev, struct scmi_req *req); +int scmi_shmem_prepare_msg(device_t dev, struct scmi_req *req, + bool polling); +bool scmi_shmem_poll_msg(device_t); int scmi_shmem_read_msg_header(device_t dev, uint32_t *msg_header); int scmi_shmem_read_msg_payload(device_t dev, uint8_t *buf, uint32_t buf_len); From nobody Thu Apr 11 09:59:27 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFZt74CCzz5H7d3; Thu, 11 Apr 2024 09:59: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 4VFZt72Dcgz4l9D; Thu, 11 Apr 2024 09:59:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829567; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tq1gDHtkMbFkWmYw/gUs7xGhGSjFTB+QhqSHwY2pX/A=; b=lfvfrmnDxYKoMHaSb9HIZePbJoZe9hUOexcO0tWad99Ryr4/Wtz27rf7MCxbobThMUClMH 9zmoMDnRnN6mBq4+uak6mMXPBceLSAReOJlOh8rYIdWzmRHthRF9mPFFjYJPw9KIfbb8+O UzDScwj9aPFhA00OXcLf8KZA0zRrTlhGuWZRE7CNNw+ULBehemsiTjE/e7WAGQVW1u4Ghg 416SklCDkpQhY2oIs6FaJXiwlXV4eb5BmOwndOf5xKYzDckfVG916F1XMSggV8UOvFy1Or USaLkqqQW8eJnRy7B1Ky/ihtjjAkmDdOmRQ5Jt/Eb9Ya5mhjcQa8hs3ckU3Ghw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712829567; a=rsa-sha256; cv=none; b=IDlH4ZPReJ7Z0PQamVIVytYB7sqxH7bHsmbEPqbxkC3wBDvk9p2wBXyBXAumrGRj94iNqV Hy79bDVqEigyADs64JtPKX8CaEIK7jqHuhoF5Ud3Q2/nkLCa3+X+jDgqI4914LoKXuubra Dsu4oLBdNZPYFXWfCMT6iO07qQG7JMZEfeCRHKBs1Eg2qFWQ39powukZmj5xEDLV3dAJUN jVlcwDTQd1qwqWcQ4zIw3pXiWus9pI+DfRS69ZVvshjCmL8VNqtZh4+NNtT6JTlRMkKLCY wtWtNFZZc7kP2wjaViXgAVwkoa03rlEvGZ10Ni2Upp7YAYfA5HcQTGONZLeV3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829567; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tq1gDHtkMbFkWmYw/gUs7xGhGSjFTB+QhqSHwY2pX/A=; b=vs4+Dw4/JUtsVxdlEOdTEUmRviQ2Oc8TB201C/t/wMoU69BWbUOPyGJn/0vvXJB4JAnUzP EZkQfR9njfqMSD4JitXufSaimOSXssJuqeUzcNMQD4rWI4zrwTnGFFfumVP+CVZGXALcEt IHDQDjgozwGojubeDna9PuZo+sLWjTCy+YsEARRtsh1jg+Rg7mKOpMGKlctXddeNzO8c1u 0N6ic2tGbu/v9eTyTEg2PfcOUooqAtC+q7YGRtuaS8CXukay3ifV8lZ5C5FgGfVrLoazPS CJ7sSD0aCjXDp/YAEX4oyk099aM2EDp8ScBt7QqtWSL8ekJMfqP9ySAizVUhfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFZt71qwXz1GZV; Thu, 11 Apr 2024 09:59:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43B9xRJl090637; Thu, 11 Apr 2024 09:59:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43B9xR0m090634; Thu, 11 Apr 2024 09:59:27 GMT (envelope-from git) Date: Thu, 11 Apr 2024 09:59:27 GMT Message-Id: <202404110959.43B9xR0m090634@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 403ca28c28bd - main - scmi: Add new SCMI interfaces for init and message processing 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: dev-commits-src-main+owner@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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 403ca28c28bdd34849b7e621b5e0acb4a864111c Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=403ca28c28bdd34849b7e621b5e0acb4a864111c commit 403ca28c28bdd34849b7e621b5e0acb4a864111c Author: Cristian Marussi AuthorDate: 2023-12-07 14:06:36 +0000 Commit: Andrew Turner CommitDate: 2024-04-11 09:58:56 +0000 scmi: Add new SCMI interfaces for init and message processing Introduce a couple of new SCMI interface methods to allow centralized initialization of transport-specific features and a couple of methods to handle message reception from the SCMI core. Move SCMI SMT related calls out of the core common SCMI code into the transport specific layers Mailbox/SMC. Make SCMI Mailbox/SMC transports use the new interface methods for initialization and message reception. Reviewed by: andrew Tested on: Arm Morello Board Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43044 --- sys/dev/firmware/arm/scmi.c | 42 +++--------- sys/dev/firmware/arm/scmi.h | 1 - sys/dev/firmware/arm/scmi_if.m | 23 +++++++ sys/dev/firmware/arm/scmi_mailbox.c | 127 +++++++++++++++++++++++++----------- sys/dev/firmware/arm/scmi_shmem.c | 2 +- sys/dev/firmware/arm/scmi_smc.c | 78 +++++++++++++++++++--- 6 files changed, 192 insertions(+), 81 deletions(-) diff --git a/sys/dev/firmware/arm/scmi.c b/sys/dev/firmware/arm/scmi.c index a797e52d74b1..5a69dc1daa7b 100644 --- a/sys/dev/firmware/arm/scmi.c +++ b/sys/dev/firmware/arm/scmi.c @@ -43,11 +43,8 @@ #include #include -#include "dev/mailbox/arm/arm_doorbell.h" - #include "scmi.h" #include "scmi_protocols.h" -#include "scmi_shmem.h" #define SCMI_HDR_TOKEN_S 18 #define SCMI_HDR_TOKEN_BF (0x3fff) @@ -75,7 +72,6 @@ static int scmi_request_locked(struct scmi_softc *sc, struct scmi_req *req) { - uint32_t reply_header; int ret; SCMI_ASSERT_LOCKED(sc); @@ -85,29 +81,12 @@ scmi_request_locked(struct scmi_softc *sc, struct scmi_req *req) req->msg_header |= SCMI_MSG_TYPE_CMD << SCMI_HDR_MESSAGE_TYPE_S; req->msg_header |= req->protocol_id << SCMI_HDR_PROTOCOL_ID_S; - ret = scmi_shmem_prepare_msg(sc->a2p_dev, req, cold); - if (ret != 0) - return (ret); - - ret = SCMI_XFER_MSG(sc->dev); - if (ret != 0) - goto out; - - /* Read header. */ - ret = scmi_shmem_read_msg_header(sc->a2p_dev, &reply_header); - if (ret != 0) - goto out; - - if (reply_header != req->msg_header) { - ret = EPROTO; - goto out; - } + ret = SCMI_XFER_MSG(sc->dev, req); + if (ret == 0) + ret = SCMI_COLLECT_REPLY(sc->dev, req); - ret = scmi_shmem_read_msg_payload(sc->a2p_dev, req->out_buf, - req->out_size); - -out: - scmi_shmem_tx_complete(sc->a2p_dev); + if (ret == 0 || ret != EBUSY) + SCMI_TX_COMPLETE(sc->dev, NULL); return (ret); } @@ -141,16 +120,14 @@ scmi_attach(device_t dev) if (node == -1) return (ENXIO); - sc->a2p_dev = scmi_shmem_get(dev, node, SCMI_CHAN_A2P); - if (sc->a2p_dev == NULL) { - device_printf(dev, "A2P shmem dev not found.\n"); - return (ENXIO); - } - mtx_init(&sc->mtx, device_get_nameunit(dev), "SCMI", MTX_DEF); simplebus_init(dev, node); + error = SCMI_TRANSPORT_INIT(dev); + if (error != 0) + return (error); + /* * Allow devices to identify. */ @@ -171,6 +148,7 @@ static int scmi_detach(device_t dev) { + SCMI_TRANSPORT_CLEANUP(dev); return (0); } diff --git a/sys/dev/firmware/arm/scmi.h b/sys/dev/firmware/arm/scmi.h index bebebff50429..2647db9d9e90 100644 --- a/sys/dev/firmware/arm/scmi.h +++ b/sys/dev/firmware/arm/scmi.h @@ -51,7 +51,6 @@ enum scmi_chan { struct scmi_softc { struct simplebus_softc simplebus_sc; device_t dev; - device_t a2p_dev; struct mtx mtx; }; diff --git a/sys/dev/firmware/arm/scmi_if.m b/sys/dev/firmware/arm/scmi_if.m index 524cf0fb0d66..5cacf99edc47 100644 --- a/sys/dev/firmware/arm/scmi_if.m +++ b/sys/dev/firmware/arm/scmi_if.m @@ -27,6 +27,29 @@ INTERFACE scmi; +HEADER { + struct scmi_req; +}; + +METHOD int transport_init { + device_t dev; +}; + +METHOD void transport_cleanup { + device_t dev; +}; + METHOD int xfer_msg { device_t dev; + struct scmi_req *req; +}; + +METHOD int collect_reply { + device_t dev; + struct scmi_req *req; +}; + +METHOD void tx_complete { + device_t dev; + void *chan; }; diff --git a/sys/dev/firmware/arm/scmi_mailbox.c b/sys/dev/firmware/arm/scmi_mailbox.c index c7f4fda4d5c4..fa2b196478cd 100644 --- a/sys/dev/firmware/arm/scmi_mailbox.c +++ b/sys/dev/firmware/arm/scmi_mailbox.c @@ -53,10 +53,19 @@ struct scmi_mailbox_softc { struct scmi_softc base; + device_t a2p_dev; struct arm_doorbell *db; int req_done; }; +static int scmi_mailbox_transport_init(device_t); +static void scmi_mailbox_transport_cleanup(device_t); +static int scmi_mailbox_xfer_msg(device_t, struct scmi_req *); +static int scmi_mailbox_collect_reply(device_t, struct scmi_req *); +static void scmi_mailbox_tx_complete(device_t, void *); + +static int scmi_mailbox_probe(device_t); + static void scmi_mailbox_callback(void *arg) { @@ -73,16 +82,64 @@ scmi_mailbox_callback(void *arg) } static int -scmi_mailbox_xfer_msg(device_t dev) +scmi_mailbox_transport_init(device_t dev) +{ + struct scmi_mailbox_softc *sc; + phandle_t node; + + sc = device_get_softc(dev); + + node = ofw_bus_get_node(dev); + if (node == -1) + return (ENXIO); + /* + * TODO + * - Support P2A shmem + IRQ/doorbell + * - Support other mailbox devices + */ + sc->a2p_dev = scmi_shmem_get(dev, node, SCMI_CHAN_A2P); + if (sc->a2p_dev == NULL) { + device_printf(dev, "A2P shmem dev not found.\n"); + return (ENXIO); + } + + /* TODO: Fix ofw_get...mbox doorbell names NOT required in Linux DT */ + sc->db = arm_doorbell_ofw_get(dev, "tx"); + if (sc->db == NULL) { + device_printf(dev, "Doorbell device not found.\n"); + return (ENXIO); + } + + arm_doorbell_set_handler(sc->db, scmi_mailbox_callback, sc); + + return (0); +} + +static void +scmi_mailbox_transport_cleanup(device_t dev) +{ + struct scmi_mailbox_softc *sc; + + sc = device_get_softc(dev); + + arm_doorbell_set_handler(sc->db, NULL, NULL); +} + +static int +scmi_mailbox_xfer_msg(device_t dev, struct scmi_req *req) { struct scmi_mailbox_softc *sc; - int timeout; + int ret, timeout; sc = device_get_softc(dev); SCMI_ASSERT_LOCKED(&sc->base); sc->req_done = 0; + ret = scmi_shmem_prepare_msg(sc->a2p_dev, req, cold); + if (ret != 0) + return (ret); + /* Interrupt SCP firmware. */ arm_doorbell_set(sc->db); @@ -92,7 +149,7 @@ scmi_mailbox_xfer_msg(device_t dev) do { if (cold) { - if (scmi_shmem_poll_msg(sc->base.a2p_dev)) + if (scmi_shmem_poll_msg(sc->a2p_dev)) break; DELAY(10000); } else { @@ -103,7 +160,7 @@ scmi_mailbox_xfer_msg(device_t dev) } while (timeout--); if (timeout <= 0) - return (-1); + return (ETIMEDOUT); dprintf("%s: got reply, timeout %d\n", __func__, timeout); @@ -111,63 +168,59 @@ scmi_mailbox_xfer_msg(device_t dev) } static int -scmi_mailbox_probe(device_t dev) +scmi_mailbox_collect_reply(device_t dev, struct scmi_req *req) { + struct scmi_mailbox_softc *sc; + uint32_t reply_header; + int ret; - if (!ofw_bus_is_compatible(dev, "arm,scmi")) - return (ENXIO); + sc = device_get_softc(dev); - if (!ofw_bus_status_okay(dev)) - return (ENXIO); + /* Read header. */ + ret = scmi_shmem_read_msg_header(sc->a2p_dev, &reply_header); + if (ret != 0) + return (ret); - device_set_desc(dev, "ARM SCMI interface driver"); + if (reply_header != req->msg_header) + return (EPROTO); - return (BUS_PROBE_DEFAULT); + return (scmi_shmem_read_msg_payload(sc->a2p_dev, req->out_buf, + req->out_size)); } -static int -scmi_mailbox_attach(device_t dev) +static void +scmi_mailbox_tx_complete(device_t dev, void *chan) { struct scmi_mailbox_softc *sc; - int ret; sc = device_get_softc(dev); - - /* TODO: Support other mailbox devices */ - sc->db = arm_doorbell_ofw_get(dev, "tx"); - if (sc->db == NULL) { - device_printf(dev, "Doorbell device not found.\n"); - return (ENXIO); - } - - arm_doorbell_set_handler(sc->db, scmi_mailbox_callback, sc); - - ret = scmi_attach(dev); - if (ret != 0) - arm_doorbell_set_handler(sc->db, NULL, NULL); - - return (ret); + scmi_shmem_tx_complete(sc->a2p_dev); } static int -scmi_mailbox_detach(device_t dev) +scmi_mailbox_probe(device_t dev) { - struct scmi_mailbox_softc *sc; - sc = device_get_softc(dev); + if (!ofw_bus_is_compatible(dev, "arm,scmi")) + return (ENXIO); - arm_doorbell_set_handler(sc->db, NULL, NULL); + if (!ofw_bus_status_okay(dev)) + return (ENXIO); - return (0); + device_set_desc(dev, "ARM SCMI interface driver"); + + return (BUS_PROBE_DEFAULT); } static device_method_t scmi_mailbox_methods[] = { DEVMETHOD(device_probe, scmi_mailbox_probe), - DEVMETHOD(device_attach, scmi_mailbox_attach), - DEVMETHOD(device_detach, scmi_mailbox_detach), /* SCMI interface */ - DEVMETHOD(scmi_xfer_msg, scmi_mailbox_xfer_msg), + DEVMETHOD(scmi_transport_init, scmi_mailbox_transport_init), + DEVMETHOD(scmi_transport_cleanup, scmi_mailbox_transport_cleanup), + DEVMETHOD(scmi_xfer_msg, scmi_mailbox_xfer_msg), + DEVMETHOD(scmi_collect_reply, scmi_mailbox_collect_reply), + DEVMETHOD(scmi_tx_complete, scmi_mailbox_tx_complete), DEVMETHOD_END }; diff --git a/sys/dev/firmware/arm/scmi_shmem.c b/sys/dev/firmware/arm/scmi_shmem.c index 5fb41af05246..7cb2db48f9fe 100644 --- a/sys/dev/firmware/arm/scmi_shmem.c +++ b/sys/dev/firmware/arm/scmi_shmem.c @@ -210,7 +210,7 @@ scmi_shmem_prepare_msg(device_t dev, struct scmi_req *req, bool polling) if ((channel_status & SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE) == 0) { scmi_shmem_release_channel(sc); device_printf(dev, "Shmem channel busy. Abort !.\n"); - return (1); + return (EBUSY); } /* Update header */ diff --git a/sys/dev/firmware/arm/scmi_smc.c b/sys/dev/firmware/arm/scmi_smc.c index ff5f4a2d1491..e238e8024068 100644 --- a/sys/dev/firmware/arm/scmi_smc.c +++ b/sys/dev/firmware/arm/scmi_smc.c @@ -48,25 +48,88 @@ #include "scmi.h" #include "scmi_protocols.h" +#include "scmi_shmem.h" struct scmi_smc_softc { struct scmi_softc base; uint32_t smc_id; + device_t a2p_dev; }; +static int scmi_smc_transport_init(device_t); +static int scmi_smc_xfer_msg(device_t, struct scmi_req *); +static int scmi_smc_collect_reply(device_t, struct scmi_req *); +static void scmi_smc_tx_complete(device_t, void *); + +static int scmi_smc_probe(device_t); +static int scmi_smc_attach(device_t); + static int -scmi_smc_xfer_msg(device_t dev) +scmi_smc_transport_init(device_t dev) { struct scmi_smc_softc *sc; + phandle_t node; + ssize_t len; + + sc = device_get_softc(dev); + + node = ofw_bus_get_node(dev); + len = OF_getencprop(node, "arm,smc-id", &sc->smc_id, + sizeof(sc->smc_id)); + if (len <= 0) { + device_printf(dev, "No SMC ID found\n"); + return (EINVAL); + } + + device_printf(dev, "smc id %x\n", sc->smc_id); + + sc->a2p_dev = scmi_shmem_get(dev, node, SCMI_CHAN_A2P); + if (sc->a2p_dev == NULL) { + device_printf(dev, "A2P shmem dev not found.\n"); + return (ENXIO); + } + + return (0); +} + +static int +scmi_smc_xfer_msg(device_t dev, struct scmi_req *req) +{ + struct scmi_smc_softc *sc; + int ret; sc = device_get_softc(dev); SCMI_ASSERT_LOCKED(&sc->base); + ret = scmi_shmem_prepare_msg(sc->a2p_dev, req, cold); + if (ret != 0) + return (ret); + arm_smccc_smc(sc->smc_id, 0, 0, 0, 0, 0, 0, 0, NULL); return (0); } +static int +scmi_smc_collect_reply(device_t dev, struct scmi_req *req) +{ + struct scmi_smc_softc *sc; + + sc = device_get_softc(dev); + + return (scmi_shmem_read_msg_payload(sc->a2p_dev, req->out_buf, + req->out_size)); +} + +static void +scmi_smc_tx_complete(device_t dev, void *chan) +{ + struct scmi_smc_softc *sc; + + sc = device_get_softc(dev); + scmi_shmem_tx_complete(sc->a2p_dev); +} + static int scmi_smc_probe(device_t dev) { @@ -104,20 +167,15 @@ scmi_smc_attach(device_t dev) return (scmi_attach(dev)); } -static int -scmi_smc_detach(device_t dev) -{ - - return (0); -} - static device_method_t scmi_smc_methods[] = { DEVMETHOD(device_probe, scmi_smc_probe), DEVMETHOD(device_attach, scmi_smc_attach), - DEVMETHOD(device_detach, scmi_smc_detach), /* SCMI interface */ - DEVMETHOD(scmi_xfer_msg, scmi_smc_xfer_msg), + DEVMETHOD(scmi_transport_init, scmi_smc_transport_init), + DEVMETHOD(scmi_xfer_msg, scmi_smc_xfer_msg), + DEVMETHOD(scmi_collect_reply, scmi_smc_collect_reply), + DEVMETHOD(scmi_tx_complete, scmi_smc_tx_complete), DEVMETHOD_END }; From nobody Thu Apr 11 09:59:28 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFZt85Qpkz5H7KV; Thu, 11 Apr 2024 09:59: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 4VFZt833C0z4l0C; Thu, 11 Apr 2024 09:59:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VRAk655KEWazzAmAAMs0K9C4FcLVVEGUUv3YNDWuaIg=; b=fU3eleHzL7obvmOUqlhKL9tkyrIsEkowy/4oqDCg/bGgbDrpXiAJaH8D44LxWilV3iIip8 xgWOZNDBsWsPlgUHk2JG9krTkgTZHk/uF5V4plvUxkmi0nt+WGtWV/NM3ObRZlIjIqLtSo xq7cBo1o2eATWNS8+ZFlJI3NaX2AN4Jwnog6T7xpKFU39cyKNq43U3xoeM6GKjevvG3fB0 A5OVzUubZ90OQZLmHvMYKzrKqkQf8C3sQgzDjITtKn7Pt4i7eRf4vUyawC19oK+BCsg9IK 2QYVLBCSyJ7Hz8ITM8qFNG7SrhwYuk80/lZcDej5RswKT5JR9gYDVgTmV2XBZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712829568; a=rsa-sha256; cv=none; b=wYF0fjHw95W4vEluLywK/P8ku4unmcSQH23GZrYknWE4RiM5jaDqHDYdRVUOer/vxqTkWF QV/k4gD6fzLyP/zOt1oM3WIexvqDf+SDFUTajzPYZkdVmhAbxECRAhTdijYxJ4HnwEE+uh NlM8Eke8quh2FzHgeWvvGKuH6iWY/A7QKTQ08Zr/QhvaBCtp9oOgkLRgcqT/AxqvS9JUpz i0GKrCZ73trcKexmQQSluxwo8yWGSlmzl/KzHkZsus1mqvZpt++2Et25TsU7RO6ZKKiMso snFs0GtADo/uociB52BbWBNeskG5yA+UNl5KC3iDj7Bz5r11YL7qUc/JI4ulxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VRAk655KEWazzAmAAMs0K9C4FcLVVEGUUv3YNDWuaIg=; b=nBD61QJY5dhJedGJXI8isteqJ5GIJdzg3aAw58agkjcuh9Agm9CNBgYhuF/UUbX7f+uAHF JT02BMRHK77aPeJax7OxuRBDCqxChgE8Ra6GxL22GXeqpj208I3O41U5lDyqDcSdBMARko 9GTQLsU3anYgHz7l3obc8Q2+9ESJNawLf7CEVd38sHC04kqp3mwDnjBcWQdSuOf2N30SdI 4mOr4v2y4cBQe4HRHVAzx2HASFcAuSiAdkLdo2LdnG+hB7Jfwb4twlmKWEXKmIfYTjnIpi f12PBDlbOslV+yYCKT+aGXjunFbzTbKlGqiD7+5VUOwuayBdW2pJ7GyPPUCFqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFZt82gFwz1GN3; Thu, 11 Apr 2024 09:59:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43B9xS02090691; Thu, 11 Apr 2024 09:59:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43B9xSZt090688; Thu, 11 Apr 2024 09:59:28 GMT (envelope-from git) Date: Thu, 11 Apr 2024 09:59:28 GMT Message-Id: <202404110959.43B9xSZt090688@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 3595f18fc78b - main - scmi: Add SCMI message tracking and centralize tx/rx logic 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: dev-commits-src-main+owner@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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3595f18fc78b9f799010a1a45fb890e3b087394d Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=3595f18fc78b9f799010a1a45fb890e3b087394d commit 3595f18fc78b9f799010a1a45fb890e3b087394d Author: Cristian Marussi AuthorDate: 2023-12-07 18:32:29 +0000 Commit: Andrew Turner CommitDate: 2024-04-11 09:58:56 +0000 scmi: Add SCMI message tracking and centralize tx/rx logic In order to be able to support also new, more parallel, SCMI transports that by nature can allow multiple concurrent commands to be in-flight, pending a reply, we must be able to use the sequence number provided in the SCMI messages to track the message status, matching commands and replies while keeping track of timeouts and duplicates. Add the needed message tracking machinery in the core SCMI stack and move the residual common tx/rx logic from the specific transports to the core SCMI stack, while adding one more interface to let the transports customize ther behaviour. Reviewed by: andrew Tested on: Arm Morello Board Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43045 --- sys/dev/firmware/arm/scmi.c | 298 ++++++++++++++++++++++++++++++++---- sys/dev/firmware/arm/scmi.h | 40 +++-- sys/dev/firmware/arm/scmi_if.m | 11 ++ sys/dev/firmware/arm/scmi_mailbox.c | 73 +++++---- sys/dev/firmware/arm/scmi_shmem.c | 23 ++- sys/dev/firmware/arm/scmi_shmem.h | 3 +- sys/dev/firmware/arm/scmi_smc.c | 52 +++---- 7 files changed, 391 insertions(+), 109 deletions(-) diff --git a/sys/dev/firmware/arm/scmi.c b/sys/dev/firmware/arm/scmi.c index 5a69dc1daa7b..620b40ba32aa 100644 --- a/sys/dev/firmware/arm/scmi.c +++ b/sys/dev/firmware/arm/scmi.c @@ -31,12 +31,17 @@ #include #include +#include +#include #include #include +#include #include #include +#include #include #include +#include #include #include @@ -46,6 +51,8 @@ #include "scmi.h" #include "scmi_protocols.h" +#define SCMI_MAX_TOKEN 1024 + #define SCMI_HDR_TOKEN_S 18 #define SCMI_HDR_TOKEN_BF (0x3fff) #define SCMI_HDR_TOKEN_M (SCMI_HDR_TOKEN_BF << SCMI_HDR_TOKEN_S) @@ -69,42 +76,43 @@ #define SCMI_MSG_TYPE_DRESP 2 #define SCMI_MSG_TYPE_NOTIF 3 -static int -scmi_request_locked(struct scmi_softc *sc, struct scmi_req *req) -{ - int ret; - - SCMI_ASSERT_LOCKED(sc); - - req->msg_header = req->message_id << SCMI_HDR_MESSAGE_ID_S; - /* TODO: Allocate a token */ - req->msg_header |= SCMI_MSG_TYPE_CMD << SCMI_HDR_MESSAGE_TYPE_S; - req->msg_header |= req->protocol_id << SCMI_HDR_PROTOCOL_ID_S; - - ret = SCMI_XFER_MSG(sc->dev, req); - if (ret == 0) - ret = SCMI_COLLECT_REPLY(sc->dev, req); +#define SCMI_MSG_TYPE_CHECK(_h, _t) \ + ((((_h) & SCMI_HDR_MESSAGE_TYPE_M) >> SCMI_HDR_MESSAGE_TYPE_S) == (_t)) - if (ret == 0 || ret != EBUSY) - SCMI_TX_COMPLETE(sc->dev, NULL); +#define SCMI_IS_MSG_TYPE_NOTIF(h) \ + SCMI_MSG_TYPE_CHECK((h), SCMI_MSG_TYPE_NOTIF) +#define SCMI_IS_MSG_TYPE_DRESP(h) \ + SCMI_MSG_TYPE_CHECK((h), SCMI_MSG_TYPE_DRESP) - return (ret); -} +#define SCMI_MSG_TOKEN(_hdr) \ + (((_hdr) & SCMI_HDR_TOKEN_M) >> SCMI_HDR_TOKEN_S) -int -scmi_request(device_t dev, struct scmi_req *req) -{ - struct scmi_softc *sc; - int error; +BITSET_DEFINE(_scmi_tokens, SCMI_MAX_TOKEN); +LIST_HEAD(inflight_head, scmi_req); +#define REQHASH(_sc, _tk) \ + (&((_sc)->trs->inflight_ht[(_tk) & (_sc)->trs->inflight_mask])) - sc = device_get_softc(dev); +struct scmi_transport { + unsigned long next_id; + struct _scmi_tokens avail_tokens; + struct inflight_head *inflight_ht; + unsigned long inflight_mask; + struct mtx mtx; +}; - SCMI_LOCK(sc); - error = scmi_request_locked(sc, req); - SCMI_UNLOCK(sc); +static int scmi_transport_init(struct scmi_softc *); +static void scmi_transport_cleanup(struct scmi_softc *); +static int scmi_token_pick(struct scmi_softc *); +static void scmi_token_release_unlocked(struct scmi_softc *, int); +static int scmi_req_track_inflight(struct scmi_softc *, + struct scmi_req *); +static int scmi_req_drop_inflight(struct scmi_softc *, + struct scmi_req *); +static struct scmi_req *scmi_req_lookup_inflight(struct scmi_softc *, uint32_t); - return (error); -} +static int scmi_wait_for_response(struct scmi_softc *, + struct scmi_req *); +static void scmi_process_response(struct scmi_softc *, uint32_t); int scmi_attach(device_t dev) @@ -120,14 +128,15 @@ scmi_attach(device_t dev) if (node == -1) return (ENXIO); - mtx_init(&sc->mtx, device_get_nameunit(dev), "SCMI", MTX_DEF); - simplebus_init(dev, node); - error = SCMI_TRANSPORT_INIT(dev); + error = scmi_transport_init(sc); if (error != 0) return (error); + device_printf(dev, "Transport reply timeout initialized to %dms\n", + sc->trs_desc.reply_timo_ms); + /* * Allow devices to identify. */ @@ -147,8 +156,11 @@ scmi_attach(device_t dev) static int scmi_detach(device_t dev) { + struct scmi_softc *sc; + + sc = device_get_softc(dev); + scmi_transport_cleanup(sc); - SCMI_TRANSPORT_CLEANUP(dev); return (0); } @@ -164,3 +176,221 @@ DEFINE_CLASS_1(scmi, scmi_driver, scmi_methods, sizeof(struct scmi_softc), DRIVER_MODULE(scmi, simplebus, scmi_driver, 0, 0); MODULE_VERSION(scmi, 1); + +static int +scmi_transport_init(struct scmi_softc *sc) +{ + struct scmi_transport *trs; + int ret; + + trs = malloc(sizeof(*trs), M_DEVBUF, M_ZERO | M_WAITOK); + + BIT_FILL(SCMI_MAX_TOKEN, &trs->avail_tokens); + mtx_init(&trs->mtx, "tokens", "SCMI", MTX_SPIN); + + trs->inflight_ht = hashinit(SCMI_MAX_MSG, M_DEVBUF, + &trs->inflight_mask); + + sc->trs = trs; + ret = SCMI_TRANSPORT_INIT(sc->dev); + if (ret != 0) { + free(trs, M_DEVBUF); + return (ret); + } + + return (0); +} +static void +scmi_transport_cleanup(struct scmi_softc *sc) +{ + + SCMI_TRANSPORT_CLEANUP(sc->dev); + mtx_destroy(&sc->trs->mtx); + hashdestroy(sc->trs->inflight_ht, M_DEVBUF, sc->trs->inflight_mask); + free(sc->trs, M_DEVBUF); +} + +static int +scmi_token_pick(struct scmi_softc *sc) +{ + unsigned long next_msg_id, token; + + mtx_lock_spin(&sc->trs->mtx); + /* + * next_id is a monotonically increasing unsigned long that can be used + * for tracing purposes; next_msg_id is a 10-bit sequence number derived + * from it. + */ + next_msg_id = sc->trs->next_id++ & SCMI_HDR_TOKEN_BF; + token = BIT_FFS_AT(SCMI_MAX_TOKEN, &sc->trs->avail_tokens, next_msg_id); + /* TODO Account for wrap-arounds and holes */ + if (token != 0) + BIT_CLR(SCMI_MAX_TOKEN, token - 1, &sc->trs->avail_tokens); + mtx_unlock_spin(&sc->trs->mtx); + + /* + * BIT_FFS_AT returns 1-indexed values, so 0 means failure to find a + * free slot: all possible SCMI messages are in-flight using all of the + * SCMI_MAX_TOKEN sequence numbers. + */ + if (!token) + return (-EBUSY); + + return ((int)(token - 1)); +} + +static void +scmi_token_release_unlocked(struct scmi_softc *sc, int token) +{ + + BIT_SET(SCMI_MAX_TOKEN, token, &sc->trs->avail_tokens); +} + +static int +scmi_finalize_req(struct scmi_softc *sc, struct scmi_req *req) +{ + uint32_t header = 0; + + req->token = scmi_token_pick(sc); + if (req->token < 0) + return (EBUSY); + + header = req->message_id; + header |= SCMI_MSG_TYPE_CMD << SCMI_HDR_MESSAGE_TYPE_S; + header |= req->protocol_id << SCMI_HDR_PROTOCOL_ID_S; + header |= req->token << SCMI_HDR_TOKEN_S; + + req->msg_header = htole32(header); + + return (0); +} + +static int +scmi_req_track_inflight(struct scmi_softc *sc, struct scmi_req *req) +{ + int error; + + /* build hdr, pick token */ + error = scmi_finalize_req(sc, req); + if (error != 0) + return (error); + + /* TODO Review/simplify locking around inflight ?*/ + mtx_lock_spin(&sc->trs->mtx); + LIST_INSERT_HEAD(REQHASH(sc, req->token), req, next); + mtx_unlock_spin(&sc->trs->mtx); + + return (0); +} + +static int +scmi_req_drop_inflight(struct scmi_softc *sc, struct scmi_req *req) +{ + + mtx_lock_spin(&sc->trs->mtx); + LIST_REMOVE(req, next); + scmi_token_release_unlocked(sc, req->token); + mtx_unlock_spin(&sc->trs->mtx); + + return (0); +} + +static struct scmi_req * +scmi_req_lookup_inflight(struct scmi_softc *sc, uint32_t hdr) +{ + struct scmi_req *req = NULL; + unsigned int token; + + token = SCMI_MSG_TOKEN(hdr); + mtx_lock_spin(&sc->trs->mtx); + LIST_FOREACH(req, REQHASH(sc, token), next) { + if (req->token == token) + break; + } + mtx_unlock_spin(&sc->trs->mtx); + + return (req); +} + +static void +scmi_process_response(struct scmi_softc *sc, uint32_t hdr) +{ + struct scmi_req *req; + + req = scmi_req_lookup_inflight(sc, hdr); + if (req == NULL) { + device_printf(sc->dev, + "Unexpected reply with header |%X| - token: 0x%X Drop.\n", + hdr, SCMI_MSG_TOKEN(hdr)); + return; + } + + req->done = true; + wakeup(req); +} + +void +scmi_rx_irq_callback(device_t dev, void *chan, uint32_t hdr) +{ + struct scmi_softc *sc; + + sc = device_get_softc(dev); + + if (SCMI_IS_MSG_TYPE_NOTIF(hdr) || SCMI_IS_MSG_TYPE_DRESP(hdr)) { + device_printf(dev, "DRESP/NOTIF unsupported. Drop.\n"); + SCMI_CLEAR_CHANNEL(dev, chan); + return; + } + + scmi_process_response(sc, hdr); +} + +static int +scmi_wait_for_response(struct scmi_softc *sc, struct scmi_req *req) +{ + int ret; + + if (req->use_polling) { + ret = SCMI_POLL_MSG(sc->dev, req, sc->trs_desc.reply_timo_ms); + } else { + ret = tsleep(req, 0, "scmi_wait4", + (sc->trs_desc.reply_timo_ms * hz) / 1000); + /* Check for lost wakeups since there is no associated lock */ + if (ret != 0 && req->done) + ret = 0; + } + + if (ret == 0) + SCMI_COLLECT_REPLY(sc->dev, req); + else + device_printf(sc->dev, + "Request for token 0x%X timed-out.\n", req->token); + + SCMI_TX_COMPLETE(sc->dev, NULL); + + return (ret); +} + +int +scmi_request(device_t dev, struct scmi_req *req) +{ + struct scmi_softc *sc; + int error; + + sc = device_get_softc(dev); + + req->use_polling = cold || sc->trs_desc.no_completion_irq; + + /* Set inflight and send using transport specific method - refc-2 */ + error = scmi_req_track_inflight(sc, req); + if (error != 0) + return (error); + + error = SCMI_XFER_MSG(sc->dev, req); + if (error == 0) + error = scmi_wait_for_response(sc, req); + + scmi_req_drop_inflight(sc, req); + + return (error); +} diff --git a/sys/dev/firmware/arm/scmi.h b/sys/dev/firmware/arm/scmi.h index 2647db9d9e90..361e56c76212 100644 --- a/sys/dev/firmware/arm/scmi.h +++ b/sys/dev/firmware/arm/scmi.h @@ -34,12 +34,10 @@ #include "scmi_if.h" -#define SCMI_LOCK(sc) mtx_lock(&(sc)->mtx) -#define SCMI_UNLOCK(sc) mtx_unlock(&(sc)->mtx) -#define SCMI_ASSERT_LOCKED(sc) mtx_assert(&(sc)->mtx, MA_OWNED) #define dprintf(fmt, ...) +#define SCMI_MAX_MSG 32 #define SCMI_MSG_HDR_SIZE (sizeof(uint32_t)) enum scmi_chan { @@ -48,22 +46,38 @@ enum scmi_chan { SCMI_CHAN_MAX }; +struct scmi_transport_desc { + bool no_completion_irq; + unsigned int reply_timo_ms; +}; + +struct scmi_transport; + struct scmi_softc { - struct simplebus_softc simplebus_sc; - device_t dev; - struct mtx mtx; + struct simplebus_softc simplebus_sc; + device_t dev; + struct mtx mtx; + struct scmi_transport_desc trs_desc; + struct scmi_transport *trs; }; struct scmi_req { - int protocol_id; - int message_id; - uint32_t msg_header; - const void *in_buf; - uint32_t in_size; - void *out_buf; - uint32_t out_size; + bool use_polling; + bool done; + LIST_ENTRY(scmi_req) next; + int protocol_id; + int message_id; + int token; + uint32_t msg_header; + const void *in_buf; + uint32_t in_size; + void *out_buf; + uint32_t out_size; }; +int scmi_request(device_t dev, struct scmi_req *req); +void scmi_rx_irq_callback(device_t dev, void *chan, uint32_t hdr); + DECLARE_CLASS(scmi_driver); int scmi_attach(device_t dev); diff --git a/sys/dev/firmware/arm/scmi_if.m b/sys/dev/firmware/arm/scmi_if.m index 5cacf99edc47..ab9adb911fda 100644 --- a/sys/dev/firmware/arm/scmi_if.m +++ b/sys/dev/firmware/arm/scmi_if.m @@ -44,6 +44,12 @@ METHOD int xfer_msg { struct scmi_req *req; }; +METHOD int poll_msg { + device_t dev; + struct scmi_req *req; + unsigned int tmo; +}; + METHOD int collect_reply { device_t dev; struct scmi_req *req; @@ -53,3 +59,8 @@ METHOD void tx_complete { device_t dev; void *chan; }; + +METHOD void clear_channel { + device_t dev; + void *chan; +}; diff --git a/sys/dev/firmware/arm/scmi_mailbox.c b/sys/dev/firmware/arm/scmi_mailbox.c index fa2b196478cd..5d53294f4378 100644 --- a/sys/dev/firmware/arm/scmi_mailbox.c +++ b/sys/dev/firmware/arm/scmi_mailbox.c @@ -38,7 +38,6 @@ #include #include #include -#include #include #include @@ -51,34 +50,36 @@ #include "scmi_protocols.h" #include "scmi_shmem.h" +#define SCMI_MBOX_POLL_INTERVAL_MS 3 + struct scmi_mailbox_softc { struct scmi_softc base; device_t a2p_dev; struct arm_doorbell *db; - int req_done; }; static int scmi_mailbox_transport_init(device_t); static void scmi_mailbox_transport_cleanup(device_t); static int scmi_mailbox_xfer_msg(device_t, struct scmi_req *); +static int scmi_mailbox_poll_msg(device_t, struct scmi_req *, + unsigned int); static int scmi_mailbox_collect_reply(device_t, struct scmi_req *); static void scmi_mailbox_tx_complete(device_t, void *); static int scmi_mailbox_probe(device_t); static void -scmi_mailbox_callback(void *arg) +scmi_mailbox_a2p_callback(void *arg) { struct scmi_mailbox_softc *sc; + uint32_t msg_header; + int ret; sc = arg; - dprintf("%s sc %p\n", __func__, sc); - - SCMI_LOCK(&sc->base); - sc->req_done = 1; - wakeup(sc); - SCMI_UNLOCK(&sc->base); + ret = scmi_shmem_read_msg_header(sc->a2p_dev, &msg_header); + if (ret == 0) + scmi_rx_irq_callback(sc->base.dev, sc->a2p_dev, msg_header); } static int @@ -110,7 +111,9 @@ scmi_mailbox_transport_init(device_t dev) return (ENXIO); } - arm_doorbell_set_handler(sc->db, scmi_mailbox_callback, sc); + sc->base.trs_desc.reply_timo_ms = 30; + + arm_doorbell_set_handler(sc->db, scmi_mailbox_a2p_callback, sc); return (0); } @@ -129,42 +132,37 @@ static int scmi_mailbox_xfer_msg(device_t dev, struct scmi_req *req) { struct scmi_mailbox_softc *sc; - int ret, timeout; + int ret; sc = device_get_softc(dev); - SCMI_ASSERT_LOCKED(&sc->base); - - sc->req_done = 0; - ret = scmi_shmem_prepare_msg(sc->a2p_dev, req, cold); + ret = scmi_shmem_prepare_msg(sc->a2p_dev, req, req->use_polling); if (ret != 0) return (ret); /* Interrupt SCP firmware. */ arm_doorbell_set(sc->db); - timeout = 200; - dprintf("%s: request\n", __func__); + return (0); +} + +static int +scmi_mailbox_poll_msg(device_t dev, struct scmi_req *req, unsigned int tmo_ms) +{ + struct scmi_mailbox_softc *sc; + unsigned int tmo_loops = tmo_ms / SCMI_MBOX_POLL_INTERVAL_MS; + + sc = device_get_softc(dev); + do { - if (cold) { - if (scmi_shmem_poll_msg(sc->a2p_dev)) - break; - DELAY(10000); - } else { - msleep(sc, &sc->base.mtx, 0, "scmi", hz / 10); - if (sc->req_done) - break; - } - } while (timeout--); - - if (timeout <= 0) - return (ETIMEDOUT); - - dprintf("%s: got reply, timeout %d\n", __func__, timeout); + if (scmi_shmem_poll_msg(sc->a2p_dev, req->msg_header)) + break; + DELAY(SCMI_MBOX_POLL_INTERVAL_MS * 1000); + } while (tmo_loops--); - return (0); + return (tmo_loops ? 0 : 1); } static int @@ -197,6 +195,13 @@ scmi_mailbox_tx_complete(device_t dev, void *chan) scmi_shmem_tx_complete(sc->a2p_dev); } +static void +scmi_mailbox_clear_channel(device_t dev, void *chan) +{ + /* Only P2A channel can be cleared forcibly by agent */ + scmi_shmem_clear_channel(chan); +} + static int scmi_mailbox_probe(device_t dev) { @@ -219,8 +224,10 @@ static device_method_t scmi_mailbox_methods[] = { DEVMETHOD(scmi_transport_init, scmi_mailbox_transport_init), DEVMETHOD(scmi_transport_cleanup, scmi_mailbox_transport_cleanup), DEVMETHOD(scmi_xfer_msg, scmi_mailbox_xfer_msg), + DEVMETHOD(scmi_poll_msg, scmi_mailbox_poll_msg), DEVMETHOD(scmi_collect_reply, scmi_mailbox_collect_reply), DEVMETHOD(scmi_tx_complete, scmi_mailbox_tx_complete), + DEVMETHOD(scmi_clear_channel, scmi_mailbox_clear_channel), DEVMETHOD_END }; diff --git a/sys/dev/firmware/arm/scmi_shmem.c b/sys/dev/firmware/arm/scmi_shmem.c index 7cb2db48f9fe..36e2ee3d03ab 100644 --- a/sys/dev/firmware/arm/scmi_shmem.c +++ b/sys/dev/firmware/arm/scmi_shmem.c @@ -233,6 +233,19 @@ scmi_shmem_prepare_msg(device_t dev, struct scmi_req *req, bool polling) return (0); } +void +scmi_shmem_clear_channel(device_t dev) +{ + uint32_t channel_status = 0; + + if (dev == NULL) + return; + + channel_status |= SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE; + scmi_shmem_write(dev, SMT_OFFSET_CHAN_STATUS, &channel_status, + SMT_SIZE_CHAN_STATUS); +} + int scmi_shmem_read_msg_header(device_t dev, uint32_t *msg_header) { @@ -283,9 +296,15 @@ scmi_shmem_tx_complete(device_t dev) scmi_shmem_release_channel(sc); } -bool scmi_shmem_poll_msg(device_t dev) +bool scmi_shmem_poll_msg(device_t dev, uint32_t msg_header) { - uint32_t status; + uint32_t status, header; + + scmi_shmem_read(dev, SMT_OFFSET_MSG_HEADER, &header, + SMT_SIZE_MSG_HEADER); + /* Bail out if it is NOT what we were polling for. */ + if (le32toh(header) != msg_header) + return (false); scmi_shmem_read(dev, SMT_OFFSET_CHAN_STATUS, &status, SMT_SIZE_CHAN_STATUS); diff --git a/sys/dev/firmware/arm/scmi_shmem.h b/sys/dev/firmware/arm/scmi_shmem.h index 149b7c1d89bb..7e057ca31da2 100644 --- a/sys/dev/firmware/arm/scmi_shmem.h +++ b/sys/dev/firmware/arm/scmi_shmem.h @@ -65,9 +65,10 @@ struct scmi_req; device_t scmi_shmem_get(device_t sdev, phandle_t node, int index); int scmi_shmem_prepare_msg(device_t dev, struct scmi_req *req, bool polling); -bool scmi_shmem_poll_msg(device_t); +bool scmi_shmem_poll_msg(device_t, uint32_t msg_header); int scmi_shmem_read_msg_header(device_t dev, uint32_t *msg_header); int scmi_shmem_read_msg_payload(device_t dev, uint8_t *buf, uint32_t buf_len); void scmi_shmem_tx_complete(device_t); +void scmi_shmem_clear_channel(device_t dev); #endif /* !_ARM64_SCMI_SCMI_SHMEM_H_ */ diff --git a/sys/dev/firmware/arm/scmi_smc.c b/sys/dev/firmware/arm/scmi_smc.c index e238e8024068..5fc6692fa306 100644 --- a/sys/dev/firmware/arm/scmi_smc.c +++ b/sys/dev/firmware/arm/scmi_smc.c @@ -58,11 +58,11 @@ struct scmi_smc_softc { static int scmi_smc_transport_init(device_t); static int scmi_smc_xfer_msg(device_t, struct scmi_req *); +static int scmi_smc_poll_msg(device_t, struct scmi_req *, unsigned int); static int scmi_smc_collect_reply(device_t, struct scmi_req *); static void scmi_smc_tx_complete(device_t, void *); static int scmi_smc_probe(device_t); -static int scmi_smc_attach(device_t); static int scmi_smc_transport_init(device_t dev) @@ -89,6 +89,9 @@ scmi_smc_transport_init(device_t dev) return (ENXIO); } + sc->base.trs_desc.no_completion_irq = true; + sc->base.trs_desc.reply_timo_ms = 30; + return (0); } @@ -99,7 +102,6 @@ scmi_smc_xfer_msg(device_t dev, struct scmi_req *req) int ret; sc = device_get_softc(dev); - SCMI_ASSERT_LOCKED(&sc->base); ret = scmi_shmem_prepare_msg(sc->a2p_dev, req, cold); if (ret != 0) @@ -110,6 +112,26 @@ scmi_smc_xfer_msg(device_t dev, struct scmi_req *req) return (0); } +static int +scmi_smc_poll_msg(device_t dev, struct scmi_req *req, unsigned int tmo) +{ + struct scmi_smc_softc *sc; + uint32_t msg_header; + int ret; + + sc = device_get_softc(dev); + + /* + * Nothing to poll since commands are completed as soon as smc + * returns ... but did we get back what we were poling for ? + */ + ret = scmi_shmem_read_msg_header(sc->a2p_dev, &msg_header); + if (ret != 0 || msg_header != req->msg_header) + return (1); + + return (0); +} + static int scmi_smc_collect_reply(device_t dev, struct scmi_req *req) { @@ -140,40 +162,18 @@ scmi_smc_probe(device_t dev) if (!ofw_bus_status_okay(dev)) return (ENXIO); - device_set_desc(dev, "ARM SCMI SCM interface driver"); + device_set_desc(dev, "ARM SCMI SMC Transport driver"); return (BUS_PROBE_DEFAULT); } -static int -scmi_smc_attach(device_t dev) -{ - struct scmi_smc_softc *sc; - phandle_t node; - ssize_t len; - - sc = device_get_softc(dev); - - node = ofw_bus_get_node(dev); - len = OF_getencprop(node, "arm,smc-id", &sc->smc_id, - sizeof(sc->smc_id)); - if (len <= 0) { - device_printf(dev, "No SMC ID found\n"); - return (EINVAL); - } - - device_printf(dev, "smc id %x\n", sc->smc_id); - - return (scmi_attach(dev)); -} - static device_method_t scmi_smc_methods[] = { DEVMETHOD(device_probe, scmi_smc_probe), - DEVMETHOD(device_attach, scmi_smc_attach), /* SCMI interface */ DEVMETHOD(scmi_transport_init, scmi_smc_transport_init), DEVMETHOD(scmi_xfer_msg, scmi_smc_xfer_msg), + DEVMETHOD(scmi_poll_msg, scmi_smc_poll_msg), DEVMETHOD(scmi_collect_reply, scmi_smc_collect_reply), DEVMETHOD(scmi_tx_complete, scmi_smc_tx_complete), From nobody Thu Apr 11 09:59:29 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFZt975lMz5H7MQ; Thu, 11 Apr 2024 09:59: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 4VFZt93tb6z4l75; Thu, 11 Apr 2024 09:59:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7WDP834Usi7MejiCKDVQBYk6Qs/M2e/Y6FcWbLnTG7o=; b=Rbs/KDFC1Z/q5Bnv1M7fRlB2KpOxJCObhRMGq64jTN14W7mwFJIuBAaOad4PECOyOVz8lZ a/zremqaxJb6x1PvjHV/rnReUbj/663KaEYJ5kQ9hZxtC0/6FAr4Jn5mDs1iIPcQZx6z4p Y4jko83jHNHINM8Ow7BSEirlvdj1VeuBwuoUIgsHoURrdnkGAVKc7XBmIKvAt+4Y0l3F1j D9gLEVs5eMM59M3qweESvtM+Fvzue0y4GI8fqI01uLnwMKW87FjSso2XDrvbHAQFzKnrlI /+/mbk9voUwqK0SOUrlsST7WLbKsMAH5E3EusnX5lnmMCI0PtOiHK5suyCvSUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712829569; a=rsa-sha256; cv=none; b=b2q4chX2Cuoqa9TzBxGy4+2Nsgbv4Rgkfufu46RS1Z8gLIkXAawa+efhWBCV00rn9c90Kf j9sNVYgOC/NNL5bti3Kh9oA1TPMdHFpp93oqbynlv/VpqwTb0IdAuPfTo+NmBIKfMemOHI zE7OmuMhl5HmHekBvxo0Q7Ay6KC4Pp3mRWRy5aOhosJgdkSPdB5ewLksTly1pqhq2Ip+aT u5X3fA2No0Ory2SE+KQf3j9Ngzpy7QyWt3er+6jX/vc/gOURDYIgzeRrP+H++z38NiMBDp F28T2ToxGBvb1XuH7jD7AGdnS91jix9CaCZVFz2i9ZJQQuSOxwAYU3ufUQIIsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7WDP834Usi7MejiCKDVQBYk6Qs/M2e/Y6FcWbLnTG7o=; b=rIdjgKdEnih6pnOo1MpTQ/N+rGUkI5AHCYM734DmnFUpz0oBVtoHXGEtixnA/FYRFNsg7i l/84zIADU2dOYUa1RSzAo4dX/H1fvKMYwyd3nOAYPTdIwE7RBQj+oZpJElXUA/2A7TfvEL ry5thPZVdwd55oj9TFPoqCiBKK3RM0oVSqOcMx8b00I4QfIPMVtxVQs0ax5cezVl4hLa7B tS3U8teHxg9DF3Wn/dvDAL9UDqDkmLyzrj6ifcfqpOlPOOYjCM1gEbH2LYQmPrLJNVdR74 h6Xx8ZIzcA/7FWi/iGAoRNjvX+6vS1QSSEz5JF6ll4VygEzTKUR1HEcqM1veNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFZt93VrLz1FwS; Thu, 11 Apr 2024 09:59:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43B9xTd7090757; Thu, 11 Apr 2024 09:59:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43B9xTJm090754; Thu, 11 Apr 2024 09:59:29 GMT (envelope-from git) Date: Thu, 11 Apr 2024 09:59:29 GMT Message-Id: <202404110959.43B9xTJm090754@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 35f93203963f - main - scmi: Introduce a new SCMI API and port CLK SCMI driver to it 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: dev-commits-src-main+owner@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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 35f93203963f83161012cd731e858a56548c2ef9 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=35f93203963f83161012cd731e858a56548c2ef9 commit 35f93203963f83161012cd731e858a56548c2ef9 Author: Cristian Marussi AuthorDate: 2023-12-11 08:33:01 +0000 Commit: Andrew Turner CommitDate: 2024-04-11 09:58:56 +0000 scmi: Introduce a new SCMI API and port CLK SCMI driver to it Expose new scmi_buf_get/put API methods to build and send messages; command request descriptors are now pre-allocated when the SCMI core is initialized and kept in a free list, instead of being allocated on the stack of the caller of the SCMI request. Dynamically allocated descriptors enable the SCMI core to keep around and track outstanding transactions for as long as needed, outliving the lifetime of the caller stack: this allows tracking of late or missing replies and it will be needed when adding support for SCMI transports that allows for more messages to be inflight concurrently. Move the existing CLK SCMI driver to the new API. Reviewed by: andrew Tested on: Arm Morello Board Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43046 --- sys/dev/firmware/arm/scmi.c | 282 +++++++++++++++++++++++++++++++++--- sys/dev/firmware/arm/scmi.h | 32 ++-- sys/dev/firmware/arm/scmi_clk.c | 232 +++++++++++++---------------- sys/dev/firmware/arm/scmi_clk.h | 13 +- sys/dev/firmware/arm/scmi_if.m | 8 +- sys/dev/firmware/arm/scmi_mailbox.c | 36 ++--- sys/dev/firmware/arm/scmi_shmem.c | 39 ++--- sys/dev/firmware/arm/scmi_shmem.h | 10 +- sys/dev/firmware/arm/scmi_smc.c | 30 ++-- 9 files changed, 433 insertions(+), 249 deletions(-) diff --git a/sys/dev/firmware/arm/scmi.c b/sys/dev/firmware/arm/scmi.c index 620b40ba32aa..945c2b2e9f6e 100644 --- a/sys/dev/firmware/arm/scmi.c +++ b/sys/dev/firmware/arm/scmi.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include @@ -87,6 +88,31 @@ #define SCMI_MSG_TOKEN(_hdr) \ (((_hdr) & SCMI_HDR_TOKEN_M) >> SCMI_HDR_TOKEN_S) +struct scmi_req { + int cnt; + bool timed_out; + bool use_polling; + bool done; + struct mtx mtx; + LIST_ENTRY(scmi_req) next; + int protocol_id; + int message_id; + int token; + uint32_t header; + struct scmi_msg msg; +}; + +#define buf_to_msg(b) __containerof((b), struct scmi_msg, payld) +#define msg_to_req(m) __containerof((m), struct scmi_req, msg) +#define buf_to_req(b) msg_to_req(buf_to_msg(b)) + +LIST_HEAD(reqs_head, scmi_req); + +struct scmi_reqs_pool { + struct mtx mtx; + struct reqs_head head; +}; + BITSET_DEFINE(_scmi_tokens, SCMI_MAX_TOKEN); LIST_HEAD(inflight_head, scmi_req); #define REQHASH(_sc, _tk) \ @@ -97,11 +123,19 @@ struct scmi_transport { struct _scmi_tokens avail_tokens; struct inflight_head *inflight_ht; unsigned long inflight_mask; + struct scmi_reqs_pool *chans[SCMI_CHAN_MAX]; struct mtx mtx; }; static int scmi_transport_init(struct scmi_softc *); static void scmi_transport_cleanup(struct scmi_softc *); +static struct scmi_reqs_pool *scmi_reqs_pool_allocate(const int, const int); +static void scmi_reqs_pool_free(struct scmi_reqs_pool *); +static struct scmi_req *scmi_req_alloc(struct scmi_softc *, enum scmi_chan); +static void scmi_req_free_unlocked(struct scmi_softc *, + enum scmi_chan, struct scmi_req *); +static void scmi_req_get(struct scmi_softc *, struct scmi_req *); +static void scmi_req_put(struct scmi_softc *, struct scmi_req *); static int scmi_token_pick(struct scmi_softc *); static void scmi_token_release_unlocked(struct scmi_softc *, int); static int scmi_req_track_inflight(struct scmi_softc *, @@ -111,7 +145,7 @@ static int scmi_req_drop_inflight(struct scmi_softc *, static struct scmi_req *scmi_req_lookup_inflight(struct scmi_softc *, uint32_t); static int scmi_wait_for_response(struct scmi_softc *, - struct scmi_req *); + struct scmi_req *, void **); static void scmi_process_response(struct scmi_softc *, uint32_t); int @@ -177,6 +211,42 @@ DEFINE_CLASS_1(scmi, scmi_driver, scmi_methods, sizeof(struct scmi_softc), DRIVER_MODULE(scmi, simplebus, scmi_driver, 0, 0); MODULE_VERSION(scmi, 1); +static struct scmi_reqs_pool * +scmi_reqs_pool_allocate(const int max_msg, const int max_payld_sz) +{ + struct scmi_reqs_pool *rp; + struct scmi_req *req; + + rp = malloc(sizeof(*rp), M_DEVBUF, M_ZERO | M_WAITOK); + + LIST_INIT(&rp->head); + for (int i = 0; i < max_msg; i++) { + req = malloc(sizeof(*req) + max_payld_sz, + M_DEVBUF, M_ZERO | M_WAITOK); + + mtx_init(&req->mtx, "req", "SCMI", MTX_SPIN); + LIST_INSERT_HEAD(&rp->head, req, next); + } + + mtx_init(&rp->mtx, "reqs_pool", "SCMI", MTX_SPIN); + + return (rp); +} + +static void +scmi_reqs_pool_free(struct scmi_reqs_pool *rp) +{ + struct scmi_req *req; + + LIST_FOREACH(req, &rp->head, next) { + mtx_destroy(&req->mtx); + free(req, M_DEVBUF); + } + + mtx_destroy(&rp->mtx); + free(rp, M_DEVBUF); +} + static int scmi_transport_init(struct scmi_softc *sc) { @@ -191,9 +261,26 @@ scmi_transport_init(struct scmi_softc *sc) trs->inflight_ht = hashinit(SCMI_MAX_MSG, M_DEVBUF, &trs->inflight_mask); + trs->chans[SCMI_CHAN_A2P] = + scmi_reqs_pool_allocate(SCMI_MAX_MSG, SCMI_MAX_MSG_PAYLD_SIZE); + if (trs->chans[SCMI_CHAN_A2P] == NULL) { + free(trs, M_DEVBUF); + return (ENOMEM); + } + + trs->chans[SCMI_CHAN_P2A] = + scmi_reqs_pool_allocate(SCMI_MAX_MSG, SCMI_MAX_MSG_PAYLD_SIZE); + if (trs->chans[SCMI_CHAN_P2A] == NULL) { + scmi_reqs_pool_free(trs->chans[SCMI_CHAN_A2P]); + free(trs, M_DEVBUF); + return (ENOMEM); + } + sc->trs = trs; ret = SCMI_TRANSPORT_INIT(sc->dev); if (ret != 0) { + scmi_reqs_pool_free(trs->chans[SCMI_CHAN_A2P]); + scmi_reqs_pool_free(trs->chans[SCMI_CHAN_P2A]); free(trs, M_DEVBUF); return (ret); } @@ -207,9 +294,72 @@ scmi_transport_cleanup(struct scmi_softc *sc) SCMI_TRANSPORT_CLEANUP(sc->dev); mtx_destroy(&sc->trs->mtx); hashdestroy(sc->trs->inflight_ht, M_DEVBUF, sc->trs->inflight_mask); + scmi_reqs_pool_free(sc->trs->chans[SCMI_CHAN_A2P]); + scmi_reqs_pool_free(sc->trs->chans[SCMI_CHAN_P2A]); free(sc->trs, M_DEVBUF); } +static struct scmi_req * +scmi_req_alloc(struct scmi_softc *sc, enum scmi_chan ch_idx) +{ + struct scmi_reqs_pool *rp; + struct scmi_req *req = NULL; + + rp = sc->trs->chans[ch_idx]; + mtx_lock_spin(&rp->mtx); + if (!LIST_EMPTY(&rp->head)) { + req = LIST_FIRST(&rp->head); + LIST_REMOVE_HEAD(&rp->head, next); + } + mtx_unlock_spin(&rp->mtx); + + if (req != NULL) + refcount_init(&req->cnt, 1); + + return (req); +} + +static void +scmi_req_free_unlocked(struct scmi_softc *sc, enum scmi_chan ch_idx, + struct scmi_req *req) +{ + struct scmi_reqs_pool *rp; + + rp = sc->trs->chans[ch_idx]; + mtx_lock_spin(&rp->mtx); + req->timed_out = false; + req->done = false; + refcount_init(&req->cnt, 0); + LIST_INSERT_HEAD(&rp->head, req, next); + mtx_unlock_spin(&rp->mtx); +} + +static void +scmi_req_get(struct scmi_softc *sc, struct scmi_req *req) +{ + bool ok; + + mtx_lock_spin(&req->mtx); + ok = refcount_acquire_if_not_zero(&req->cnt); + mtx_unlock_spin(&req->mtx); + + if (!ok) + device_printf(sc->dev, "%s() -- BAD REFCOUNT\n", __func__); + + return; +} + +static void +scmi_req_put(struct scmi_softc *sc, struct scmi_req *req) +{ + mtx_lock_spin(&req->mtx); + if (!refcount_release_if_not_last(&req->cnt)) { + bzero(&req->msg, sizeof(req->msg) + SCMI_MAX_MSG_PAYLD_SIZE); + scmi_req_free_unlocked(sc, SCMI_CHAN_A2P, req); + } + mtx_unlock_spin(&req->mtx); +} + static int scmi_token_pick(struct scmi_softc *sc) { @@ -260,7 +410,8 @@ scmi_finalize_req(struct scmi_softc *sc, struct scmi_req *req) header |= req->protocol_id << SCMI_HDR_PROTOCOL_ID_S; header |= req->token << SCMI_HDR_TOKEN_S; - req->msg_header = htole32(header); + req->header = htole32(header); + req->msg.hdr = htole32(header); return (0); } @@ -275,7 +426,9 @@ scmi_req_track_inflight(struct scmi_softc *sc, struct scmi_req *req) if (error != 0) return (error); - /* TODO Review/simplify locking around inflight ?*/ + /* Bump refcount to get hold of this in-flight transaction */ + scmi_req_get(sc, req); + /* Register in the inflight hashtable */ mtx_lock_spin(&sc->trs->mtx); LIST_INSERT_HEAD(REQHASH(sc, req->token), req, next); mtx_unlock_spin(&sc->trs->mtx); @@ -287,10 +440,13 @@ static int scmi_req_drop_inflight(struct scmi_softc *sc, struct scmi_req *req) { + /* Remove from inflight hashtable at first ... */ mtx_lock_spin(&sc->trs->mtx); LIST_REMOVE(req, next); scmi_token_release_unlocked(sc, req->token); mtx_unlock_spin(&sc->trs->mtx); + /* ...and drop refcount..potentially releasing *req */ + scmi_req_put(sc, req); return (0); } @@ -315,6 +471,7 @@ scmi_req_lookup_inflight(struct scmi_softc *sc, uint32_t hdr) static void scmi_process_response(struct scmi_softc *sc, uint32_t hdr) { + bool timed_out = false; struct scmi_req *req; req = scmi_req_lookup_inflight(sc, hdr); @@ -325,8 +482,24 @@ scmi_process_response(struct scmi_softc *sc, uint32_t hdr) return; } + mtx_lock_spin(&req->mtx); req->done = true; - wakeup(req); + if (!req->timed_out) + wakeup(req); + else + timed_out = true; + mtx_unlock_spin(&req->mtx); + + if (timed_out) + device_printf(sc->dev, + "Late reply for timed-out request - token: 0x%X. Ignore.\n", + req->token); + + /* + * In case of a late reply to a timed-out transaction this will + * finally free the pending scmi_req + */ + scmi_req_drop_inflight(sc, req); } void @@ -346,51 +519,124 @@ scmi_rx_irq_callback(device_t dev, void *chan, uint32_t hdr) } static int -scmi_wait_for_response(struct scmi_softc *sc, struct scmi_req *req) +scmi_wait_for_response(struct scmi_softc *sc, struct scmi_req *req, void **out) { int ret; - if (req->use_polling) { - ret = SCMI_POLL_MSG(sc->dev, req, sc->trs_desc.reply_timo_ms); + if (req->msg.polling) { + bool needs_drop; + + ret = SCMI_POLL_MSG(sc->dev, &req->msg, + sc->trs_desc.reply_timo_ms); + /* + * Drop reference to successfully polled req unless it had + * already also been processed on the IRQ path. + * Addresses a possible race-condition between polling and + * interrupt reception paths. + */ + mtx_lock_spin(&req->mtx); + needs_drop = (ret == 0) && !req->done; + mtx_unlock_spin(&req->mtx); + if (needs_drop) + scmi_req_drop_inflight(sc, req); + if (ret == 0 && req->msg.hdr != req->header) { + device_printf(sc->dev, + "Malformed reply with header |%08X|. Expected: |%08X|Drop.\n", + le32toh(req->msg.hdr), le32toh(req->header)); + } } else { ret = tsleep(req, 0, "scmi_wait4", (sc->trs_desc.reply_timo_ms * hz) / 1000); /* Check for lost wakeups since there is no associated lock */ + mtx_lock_spin(&req->mtx); if (ret != 0 && req->done) ret = 0; + mtx_unlock_spin(&req->mtx); } - if (ret == 0) - SCMI_COLLECT_REPLY(sc->dev, req); - else + if (ret == 0) { + SCMI_COLLECT_REPLY(sc->dev, &req->msg); + if (req->msg.payld[0] != 0) + ret = req->msg.payld[0]; + *out = &req->msg.payld[SCMI_MSG_HDR_SIZE]; + } else { + mtx_lock_spin(&req->mtx); + req->timed_out = true; + mtx_unlock_spin(&req->mtx); device_printf(sc->dev, "Request for token 0x%X timed-out.\n", req->token); + } SCMI_TX_COMPLETE(sc->dev, NULL); return (ret); } +void * +scmi_buf_get(device_t dev, uint8_t protocol_id, uint8_t message_id, + int tx_payld_sz, int rx_payld_sz) +{ + struct scmi_softc *sc; + struct scmi_req *req; + + sc = device_get_softc(dev); + + if (tx_payld_sz > SCMI_MAX_MSG_PAYLD_SIZE || + rx_payld_sz > SCMI_MAX_MSG_REPLY_SIZE) { + device_printf(dev, "Unsupported payload size. Drop.\n"); + return (NULL); + } + + /* Pick one from free list */ + req = scmi_req_alloc(sc, SCMI_CHAN_A2P); + if (req == NULL) + return (NULL); + + req->protocol_id = protocol_id & SCMI_HDR_PROTOCOL_ID_BF; + req->message_id = message_id & SCMI_HDR_MESSAGE_ID_BF; + req->msg.tx_len = sizeof(req->msg.hdr) + tx_payld_sz; + req->msg.rx_len = rx_payld_sz ? + rx_payld_sz + 2 * sizeof(uint32_t) : SCMI_MAX_MSG_SIZE; + + return (&req->msg.payld[0]); +} + +void +scmi_buf_put(device_t dev, void *buf) +{ + struct scmi_softc *sc; + struct scmi_req *req; + + sc = device_get_softc(dev); + + req = buf_to_req(buf); + scmi_req_put(sc, req); +} + int -scmi_request(device_t dev, struct scmi_req *req) +scmi_request(device_t dev, void *in, void **out) { struct scmi_softc *sc; + struct scmi_req *req; int error; sc = device_get_softc(dev); - req->use_polling = cold || sc->trs_desc.no_completion_irq; + req = buf_to_req(in); + + req->msg.polling = + (cold || sc->trs_desc.no_completion_irq || req->use_polling); /* Set inflight and send using transport specific method - refc-2 */ error = scmi_req_track_inflight(sc, req); if (error != 0) return (error); - error = SCMI_XFER_MSG(sc->dev, req); - if (error == 0) - error = scmi_wait_for_response(sc, req); - - scmi_req_drop_inflight(sc, req); + error = SCMI_XFER_MSG(sc->dev, &req->msg); + if (error != 0) { + scmi_req_drop_inflight(sc, req); + return (error); + } - return (error); + return (scmi_wait_for_response(sc, req, out)); } diff --git a/sys/dev/firmware/arm/scmi.h b/sys/dev/firmware/arm/scmi.h index 361e56c76212..572422594292 100644 --- a/sys/dev/firmware/arm/scmi.h +++ b/sys/dev/firmware/arm/scmi.h @@ -34,11 +34,10 @@ #include "scmi_if.h" - -#define dprintf(fmt, ...) - #define SCMI_MAX_MSG 32 -#define SCMI_MSG_HDR_SIZE (sizeof(uint32_t)) +#define SCMI_MAX_MSG_PAYLD_SIZE 128 +#define SCMI_MAX_MSG_REPLY_SIZE (SCMI_MAX_MSG_PAYLD_SIZE - sizeof(uint32_t)) +#define SCMI_MAX_MSG_SIZE (SCMI_MAX_MSG_PAYLD_SIZE + sizeof(uint32_t)) enum scmi_chan { SCMI_CHAN_A2P, @@ -61,26 +60,23 @@ struct scmi_softc { struct scmi_transport *trs; }; -struct scmi_req { - bool use_polling; - bool done; - LIST_ENTRY(scmi_req) next; - int protocol_id; - int message_id; - int token; - uint32_t msg_header; - const void *in_buf; - uint32_t in_size; - void *out_buf; - uint32_t out_size; +struct scmi_msg { + bool polling; + uint32_t tx_len; + uint32_t rx_len; +#define SCMI_MSG_HDR_SIZE (sizeof(uint32_t)) + uint32_t hdr; + uint8_t payld[]; }; -int scmi_request(device_t dev, struct scmi_req *req); +void *scmi_buf_get(device_t dev, uint8_t protocol_id, uint8_t message_id, + int tx_payd_sz, int rx_payld_sz); +void scmi_buf_put(device_t dev, void *buf); +int scmi_request(device_t dev, void *in, void **); void scmi_rx_irq_callback(device_t dev, void *chan, uint32_t hdr); DECLARE_CLASS(scmi_driver); int scmi_attach(device_t dev); -int scmi_request(device_t dev, struct scmi_req *req); #endif /* !_ARM64_SCMI_SCMI_H_ */ diff --git a/sys/dev/firmware/arm/scmi_clk.c b/sys/dev/firmware/arm/scmi_clk.c index b9ab2145ed76..d5cfb335008b 100644 --- a/sys/dev/firmware/arm/scmi_clk.c +++ b/sys/dev/firmware/arm/scmi_clk.c @@ -2,6 +2,7 @@ * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2022 Ruslan Bukin + * Copyright (c) 2023 Arm Ltd * * This work was supported by Innovate UK project 105694, "Digital Security * by Design (DSbD) Technology Platform Prototype". @@ -58,88 +59,68 @@ struct scmi_clknode_softc { static int scmi_clk_get_rate(struct scmi_clk_softc *sc, int clk_id, uint64_t *rate) { - struct scmi_clk_rate_get_out out; - struct scmi_clk_rate_get_in in; - struct scmi_req req; + struct scmi_clk_rate_get_out *out; + struct scmi_clk_rate_get_in *in; int error; - req.protocol_id = SCMI_PROTOCOL_ID_CLOCK; - req.message_id = SCMI_CLOCK_RATE_GET; - req.in_buf = ∈ - req.in_size = sizeof(struct scmi_clk_rate_get_in); - req.out_buf = &out; - req.out_size = sizeof(struct scmi_clk_rate_get_out); - - in.clock_id = clk_id; - - error = scmi_request(sc->scmi, &req); - if (error != 0) - return (error); - - if (out.status != 0) + in = scmi_buf_get(sc->scmi, SCMI_PROTOCOL_ID_CLOCK, + SCMI_CLOCK_RATE_GET, sizeof(*in), sizeof(*out)); + if (in == NULL) return (ENXIO); - *rate = out.rate_lsb | ((uint64_t)out.rate_msb << 32); + in->clock_id = clk_id; + error = scmi_request(sc->scmi, in, (void **)&out); + if (error == 0) + *rate = out->rate_lsb | ((uint64_t)out->rate_msb << 32); - return (0); + scmi_buf_put(sc->scmi, in); + + return (error); } static int scmi_clk_set_rate(struct scmi_clk_softc *sc, int clk_id, uint64_t rate) { - struct scmi_clk_rate_set_out out; - struct scmi_clk_rate_set_in in; - struct scmi_req req; + struct scmi_clk_rate_set_in *in; + void *out; int error; - req.protocol_id = SCMI_PROTOCOL_ID_CLOCK; - req.message_id = SCMI_CLOCK_RATE_SET; - req.in_buf = ∈ - req.in_size = sizeof(struct scmi_clk_rate_set_in); - req.out_buf = &out; - req.out_size = sizeof(struct scmi_clk_rate_set_out); + in = scmi_buf_get(sc->scmi, SCMI_PROTOCOL_ID_CLOCK, + SCMI_CLOCK_RATE_SET, sizeof(*in), 0); + if (in == NULL) + return (ENXIO); - in.clock_id = clk_id; - in.flags = SCMI_CLK_RATE_ROUND_CLOSEST; - in.rate_lsb = (uint32_t)rate; - in.rate_msb = (uint32_t)(rate >> 32); + in->clock_id = clk_id; + in->flags = SCMI_CLK_RATE_ROUND_CLOSEST; + in->rate_lsb = (uint32_t)rate; + in->rate_msb = (uint32_t)(rate >> 32); - error = scmi_request(sc->scmi, &req); - if (error != 0) - return (error); + error = scmi_request(sc->scmi, in, &out); - if (out.status != 0) - return (ENXIO); + scmi_buf_put(sc->scmi, in); - return (0); + return (error); } static int __unused scmi_clk_gate(struct scmi_clk_softc *sc, int clk_id, int enable) { - struct scmi_clk_state_out out; - struct scmi_clk_state_in in; - struct scmi_req req; + struct scmi_clk_state_in *in; + void *out; int error; - req.protocol_id = SCMI_PROTOCOL_ID_CLOCK; - req.message_id = SCMI_CLOCK_CONFIG_SET; - req.in_buf = ∈ - req.in_size = sizeof(struct scmi_clk_state_in); - req.out_buf = &out; - req.out_size = sizeof(struct scmi_clk_state_out); - - in.clock_id = clk_id; - in.attributes = enable; + in = scmi_buf_get(sc->scmi, SCMI_PROTOCOL_ID_CLOCK, + SCMI_CLOCK_CONFIG_SET, sizeof(*in), 0); + if (in == NULL) + return (ENXIO); - error = scmi_request(sc->scmi, &req); - if (error != 0) - return (error); + in->clock_id = clk_id; + in->attributes = enable; + error = scmi_request(sc->scmi, in, &out); - if (out.status != 0) - return (ENXIO); + scmi_buf_put(sc->scmi, in); - return (0); + return (error); } static int @@ -178,8 +159,6 @@ scmi_clknode_set_freq(struct clknode *clk, uint64_t fin, uint64_t *fout, clk_sc = clknode_get_softc(clk); sc = device_get_softc(clk_sc->dev); - dprintf("%s: %ld\n", __func__, *fout); - scmi_clk_set_rate(sc, clk_sc->clock_id, *fout); *stop = 1; @@ -235,71 +214,60 @@ scmi_clk_add_node(struct scmi_clk_softc *sc, int index, char *clock_name) static int scmi_clk_get_name(struct scmi_clk_softc *sc, int index, char **result) { - struct scmi_clk_name_get_out out; - struct scmi_clk_name_get_in in; - struct scmi_req req; - char *clock_name; + struct scmi_clk_name_get_out *out; + struct scmi_clk_name_get_in *in; int error; - req.protocol_id = SCMI_PROTOCOL_ID_CLOCK; - req.message_id = SCMI_CLOCK_NAME_GET; - req.in_buf = ∈ - req.in_size = sizeof(struct scmi_clk_name_get_in); - req.out_buf = &out; - req.out_size = sizeof(struct scmi_clk_name_get_out); - - in.clock_id = index; - - error = scmi_request(sc->scmi, &req); - if (error != 0) - return (error); - - if (out.status != 0) + in = scmi_buf_get(sc->scmi, SCMI_PROTOCOL_ID_CLOCK, + SCMI_CLOCK_NAME_GET, sizeof(*in), sizeof(*out)); + if (in == NULL) return (ENXIO); - clock_name = malloc(sizeof(out.name), M_DEVBUF, M_WAITOK); - strncpy(clock_name, out.name, sizeof(out.name)); + in->clock_id = index; + error = scmi_request(sc->scmi, in, (void **)&out); + if (error == 0) { + char *clock_name; - *result = clock_name; + clock_name = malloc(sizeof(out->name), M_DEVBUF, M_WAITOK); + strncpy(clock_name, out->name, sizeof(out->name)); + *result = clock_name; + } - return (0); + scmi_buf_put(sc->scmi, in); + + return (error); } static int scmi_clk_attrs(struct scmi_clk_softc *sc, int index) { - struct scmi_clk_attrs_out out; - struct scmi_clk_attrs_in in; - struct scmi_req req; - int error; + struct scmi_clk_attrs_out *out; + struct scmi_clk_attrs_in *in; char *clock_name; + int error; - req.protocol_id = SCMI_PROTOCOL_ID_CLOCK; - req.message_id = SCMI_CLOCK_ATTRIBUTES; - req.in_buf = ∈ - req.in_size = sizeof(struct scmi_clk_attrs_in); - req.out_buf = &out; - req.out_size = sizeof(struct scmi_clk_attrs_out); - - in.clock_id = index; - - error = scmi_request(sc->scmi, &req); - if (error != 0) - return (error); - - if (out.status != 0) + in = scmi_buf_get(sc->scmi, SCMI_PROTOCOL_ID_CLOCK, + SCMI_CLOCK_ATTRIBUTES, sizeof(*in), sizeof(*out)); + if (in == NULL) return (ENXIO); - if (out.attributes & CLK_ATTRS_EXT_CLK_NAME) { - error = scmi_clk_get_name(sc, index, &clock_name); - if (error) - return (error); - } else { - clock_name = malloc(sizeof(out.clock_name), M_DEVBUF, M_WAITOK); - strncpy(clock_name, out.clock_name, sizeof(out.clock_name)); + in->clock_id = index; + error = scmi_request(sc->scmi, in, (void **)&out); + if (error == 0) { + if (out->attributes & CLK_ATTRS_EXT_CLK_NAME) { + error = scmi_clk_get_name(sc, index, &clock_name); + } else { + clock_name = malloc(sizeof(out->clock_name), + M_DEVBUF, M_WAITOK); + strncpy(clock_name, out->clock_name, + sizeof(out->clock_name)); + } + + if (error == 0) + error = scmi_clk_add_node(sc, index, clock_name); } - error = scmi_clk_add_node(sc, index, clock_name); + scmi_buf_put(sc->scmi, in); return (error); } @@ -307,47 +275,45 @@ scmi_clk_attrs(struct scmi_clk_softc *sc, int index) static int scmi_clk_discover(struct scmi_clk_softc *sc) { - struct scmi_clk_protocol_attrs_out out; - struct scmi_req req; + struct scmi_clk_protocol_attrs_out *out; + void *in; int nclocks; int failing; int error; int i; - req.protocol_id = SCMI_PROTOCOL_ID_CLOCK; - req.message_id = SCMI_PROTOCOL_ATTRIBUTES; - req.in_buf = NULL; - req.in_size = 0; - req.out_buf = &out; - req.out_size = sizeof(struct scmi_clk_protocol_attrs_out); - - error = scmi_request(sc->scmi, &req); - if (error != 0) - return (error); - - if (out.status != 0) + in = scmi_buf_get(sc->scmi, SCMI_PROTOCOL_ID_CLOCK, + SCMI_PROTOCOL_ATTRIBUTES, 0, sizeof(*out)); + if (in == NULL) return (ENXIO); - nclocks = (out.attributes & CLK_ATTRS_NCLOCKS_M) >> - CLK_ATTRS_NCLOCKS_S; + error = scmi_request(sc->scmi, in, (void **)&out); + if (error == 0) { + nclocks = (out->attributes & CLK_ATTRS_NCLOCKS_M) >> + CLK_ATTRS_NCLOCKS_S; - device_printf(sc->dev, "Found %d clocks.\n", nclocks); + device_printf(sc->dev, "Found %d clocks.\n", nclocks); - failing = 0; + failing = 0; - for (i = 0; i < nclocks; i++) { - error = scmi_clk_attrs(sc, i); - if (error) { - device_printf(sc->dev, - "Could not process clock index %d.\n", i); - failing++; + for (i = 0; i < nclocks; i++) { + error = scmi_clk_attrs(sc, i); + if (error) { + device_printf(sc->dev, + "Could not process clock index %d.\n", i); + failing++; + error = 0; + } } + if (failing == nclocks) + error = ENXIO; + } else { + error = ENXIO; } - if (failing == nclocks) - return (ENXIO); + scmi_buf_put(sc->scmi, in); - return (0); + return (error); } static int diff --git a/sys/dev/firmware/arm/scmi_clk.h b/sys/dev/firmware/arm/scmi_clk.h index a293b00d846e..d987586a6e8e 100644 --- a/sys/dev/firmware/arm/scmi_clk.h +++ b/sys/dev/firmware/arm/scmi_clk.h @@ -2,6 +2,7 @@ * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2022 Ruslan Bukin + * Copyright (c) 2023 Arm Ltd * * This work was supported by Innovate UK project 105694, "Digital Security * by Design (DSbD) Technology Platform Prototype". @@ -36,7 +37,6 @@ */ struct scmi_clk_protocol_attrs_out { - int32_t status; uint32_t attributes; #define CLK_ATTRS_NCLOCKS_S 0 #define CLK_ATTRS_NCLOCKS_M (0xffff << CLK_ATTRS_NCLOCKS_S) @@ -47,7 +47,6 @@ struct scmi_clk_attrs_in { }; struct scmi_clk_attrs_out { - int32_t status; uint32_t attributes; #define CLK_ATTRS_RATE_CHANGE_NOTIFY_SUPP (1 << 31) #define CLK_ATTRS_RATE_REQ_CHANGE_NOTIFY_SUPP (1 << 30) @@ -62,7 +61,6 @@ struct scmi_clk_name_get_in { }; struct scmi_clk_name_get_out { - int32_t status; uint32_t flags; uint8_t name[64]; }; @@ -86,16 +84,11 @@ struct scmi_clk_state_in { uint32_t attributes; }; -struct scmi_clk_state_out { - int32_t status; -}; - struct scmi_clk_rate_get_in { uint32_t clock_id; }; struct scmi_clk_rate_get_out { - int32_t status; uint32_t rate_lsb; uint32_t rate_msb; }; @@ -107,8 +100,4 @@ struct scmi_clk_rate_set_in { uint32_t rate_msb; }; -struct scmi_clk_rate_set_out { - int32_t status; -}; - #endif /* !_ARM64_SCMI_SCMI_CLK_H_ */ diff --git a/sys/dev/firmware/arm/scmi_if.m b/sys/dev/firmware/arm/scmi_if.m index ab9adb911fda..a8d606406e50 100644 --- a/sys/dev/firmware/arm/scmi_if.m +++ b/sys/dev/firmware/arm/scmi_if.m @@ -28,7 +28,7 @@ INTERFACE scmi; HEADER { - struct scmi_req; + struct scmi_msg; }; METHOD int transport_init { @@ -41,18 +41,18 @@ METHOD void transport_cleanup { METHOD int xfer_msg { device_t dev; - struct scmi_req *req; + struct scmi_msg *msg; }; METHOD int poll_msg { device_t dev; - struct scmi_req *req; + struct scmi_msg *msg; unsigned int tmo; }; METHOD int collect_reply { device_t dev; - struct scmi_req *req; + struct scmi_msg *msg; }; METHOD void tx_complete { diff --git a/sys/dev/firmware/arm/scmi_mailbox.c b/sys/dev/firmware/arm/scmi_mailbox.c index 5d53294f4378..858b81f68845 100644 --- a/sys/dev/firmware/arm/scmi_mailbox.c +++ b/sys/dev/firmware/arm/scmi_mailbox.c @@ -36,10 +36,8 @@ #include #include #include -#include #include -#include #include #include #include @@ -60,10 +58,10 @@ struct scmi_mailbox_softc { static int scmi_mailbox_transport_init(device_t); static void scmi_mailbox_transport_cleanup(device_t); -static int scmi_mailbox_xfer_msg(device_t, struct scmi_req *); -static int scmi_mailbox_poll_msg(device_t, struct scmi_req *, +static int scmi_mailbox_xfer_msg(device_t, struct scmi_msg *); +static int scmi_mailbox_poll_msg(device_t, struct scmi_msg *, unsigned int); -static int scmi_mailbox_collect_reply(device_t, struct scmi_req *); +static int scmi_mailbox_collect_reply(device_t, struct scmi_msg *); static void scmi_mailbox_tx_complete(device_t, void *); static int scmi_mailbox_probe(device_t); @@ -129,27 +127,26 @@ scmi_mailbox_transport_cleanup(device_t dev) } static int -scmi_mailbox_xfer_msg(device_t dev, struct scmi_req *req) +scmi_mailbox_xfer_msg(device_t dev, struct scmi_msg *msg) { struct scmi_mailbox_softc *sc; int ret; *** 283 LINES SKIPPED *** From nobody Thu Apr 11 09:59:30 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFZtB6JGkz5H7S6; Thu, 11 Apr 2024 09:59: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 4VFZtB4NNJz4l7R; Thu, 11 Apr 2024 09:59:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=57UPD7+A1hqq8r203BHG82gPWj7fPDYiFX67WCT9ADY=; b=VSyLX0qetbtDGF5/I7aY5ypWZwgnTxe2FaygL3XEvzKDrI42D047v0QWUbQg2adaB2aW6/ yXHjpJ/jO20D53jmLwROUfW4t657DCs8IjUE8+Olbxdg6XftDsIIFxlXqHL4LQ8nC5vEeQ 4xGcf0CDPx7c1B0XRGSFkrocdLoA8fmVEw3q+G8hMLDrS7vWnOh8bEJ6ROaMff0HPK6Oxb N6EKAYOeR7JzWGpDClBBfbUkJMgrAKIAQldlwkjiryfXb+6nZRyqNVtza1I+wZbFQ+xmmP 5DjReZxWTdLJbffzijEM5aqqVzmQLc7N6yzFeqCdmBpBUlzYNsEQuDToH1igSw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712829570; a=rsa-sha256; cv=none; b=Hi5f6+5dLEQYDHhY9x9cMWfmwwvhek2atWtAbiOESo8Z0phRiF5MXQeOcSc0t6bv3RMy0u hSc8W31BnVbSSoUshEPGnla4Z6anfN0KS6bY7o7omFdWTmuoP5YqktcB944D1Thf5VV3OM Of/muqzcGlAr2ZsqfdiLpK3z2v/33cAUmGCdOx6hbU3SwvWryr+E2/1xoUm7VpmCLTvMgG vNxcu5d9BHeQlMdcVuGC2occiV/itWKqd1l7pBmOVC+9rynX63N5GSRnUCEc3b9+qScwlo G9oz3NcR+2PTMcSasHWsgptGqRbjGuPEOat4xnqvfxOCLlVKydZrfHV4w5m7DQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829570; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=57UPD7+A1hqq8r203BHG82gPWj7fPDYiFX67WCT9ADY=; b=QGgs7csCaYZECVxHyLlVdb3RJel4PEPMSZnFwgsmpfwVsyt5CM9Q+4gkwvZwWs0pLjwKk1 aEgEJsuZchW8/oCtiFLHGRwMOuJBhlfXk2F36RTGK8xwA/gVtOqrDSPiKnJXbnBI9ZCDdS blUCxNhwroaY68hBUwovDsT5gc7VuFvjhD8thh/Y15GyFrVKY1fyZyzPLQ9ulermqxfd1O 799Xp1gWksyTPrxh8ysz82NB2WjLwcEHWHHurG/+Jmat5SbAOglMaGg/ISQ5l8cN+OirLj 2qyMmo4iu5SIFrQn/HrcE3Zx564cfODc+AYe0ACXpJk9qM6H7EbowYX6WVv9zA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFZtB3znXz1GN4; Thu, 11 Apr 2024 09:59:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43B9xUr1090799; Thu, 11 Apr 2024 09:59:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43B9xUDw090796; Thu, 11 Apr 2024 09:59:30 GMT (envelope-from git) Date: Thu, 11 Apr 2024 09:59:30 GMT Message-Id: <202404110959.43B9xUDw090796@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: e1c4c8dd8d2d - main - vtscmi: Add a virtio-scmi 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: dev-commits-src-main+owner@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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e1c4c8dd8d2d10b6104f06856a77bd5b4813a801 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=e1c4c8dd8d2d10b6104f06856a77bd5b4813a801 commit e1c4c8dd8d2d10b6104f06856a77bd5b4813a801 Author: Cristian Marussi AuthorDate: 2023-10-20 13:17:38 +0000 Commit: Andrew Turner CommitDate: 2024-04-11 09:58:56 +0000 vtscmi: Add a virtio-scmi driver Add a new virtio backend to support SCMI VirtIO devices (type 32) as defined by the VirtIO specification since version v1.2. https://docs.oasis-open.org/virtio/virtio/v1.2/cs01/virtio-v1.2-cs01.pdf Reviewed by: andrew, bryanv Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43047 --- sys/arm64/conf/NOTES | 1 + sys/arm64/conf/std.virt | 1 + sys/conf/files | 1 + sys/dev/virtio/scmi/virtio_scmi.c | 520 ++++++++++++++++++++++++++++++++++++++ sys/dev/virtio/scmi/virtio_scmi.h | 66 +++++ sys/dev/virtio/virtio.c | 1 + sys/dev/virtio/virtio_ids.h | 1 + 7 files changed, 591 insertions(+) diff --git a/sys/arm64/conf/NOTES b/sys/arm64/conf/NOTES index 91455d6032b9..128fb80b95d4 100644 --- a/sys/arm64/conf/NOTES +++ b/sys/arm64/conf/NOTES @@ -66,6 +66,7 @@ device virtio_pci device virtio_mmio device virtio_blk device vtnet +device virtio_scmi # Google Virtual NIC device gve # Google Virtual NIC (gVNIC) driver diff --git a/sys/arm64/conf/std.virt b/sys/arm64/conf/std.virt index 5047aabac42c..8e64ce44f89b 100644 --- a/sys/arm64/conf/std.virt +++ b/sys/arm64/conf/std.virt @@ -20,6 +20,7 @@ device virtio_pci # VirtIO PCI device device virtio_mmio # VirtIO Memory Mapped IO device device virtio_blk # VirtIO Block device device virtio_gpu # VirtIO GPU device +device virtio_scmi # VirtIO SCMI device device virtio_scsi # VirtIO SCSI device device vtnet # VirtIO Ethernet device diff --git a/sys/conf/files b/sys/conf/files index 68f8060e61ad..2c262e36eeb0 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3422,6 +3422,7 @@ dev/virtio/gpu/virtio_gpu.c optional virtio_gpu dev/virtio/scsi/virtio_scsi.c optional virtio_scsi dev/virtio/random/virtio_random.c optional virtio_random dev/virtio/console/virtio_console.c optional virtio_console +dev/virtio/scmi/virtio_scmi.c optional virtio_scmi dev/vkbd/vkbd.c optional vkbd dev/vmgenc/vmgenc_acpi.c optional acpi dev/vmware/vmxnet3/if_vmx.c optional vmx diff --git a/sys/dev/virtio/scmi/virtio_scmi.c b/sys/dev/virtio/scmi/virtio_scmi.c new file mode 100644 index 000000000000..f5427756e971 --- /dev/null +++ b/sys/dev/virtio/scmi/virtio_scmi.c @@ -0,0 +1,520 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Arm Ltd + * + * 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. + */ + +/* Driver for VirtIO SCMI device. */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include + +struct vtscmi_pdu { + enum vtscmi_chan chan; + struct sglist sg; + struct sglist_seg segs[2]; + void *buf; + SLIST_ENTRY(vtscmi_pdu) next; +}; + +struct vtscmi_queue { + device_t dev; + int vq_id; + unsigned int vq_sz; + struct virtqueue *vq; + struct mtx vq_mtx; + struct vtscmi_pdu *pdus; + SLIST_HEAD(pdus_head, vtscmi_pdu) p_head; + struct mtx p_mtx; + virtio_scmi_rx_callback_t *rx_callback; + void *priv; +}; + +struct vtscmi_softc { + device_t vtscmi_dev; + uint64_t vtscmi_features; + uint8_t vtscmi_vqs_cnt; + struct vtscmi_queue vtscmi_queues[VIRTIO_SCMI_CHAN_MAX]; + bool has_p2a; + bool has_shared; +}; + +static device_t vtscmi_dev; + +static int vtscmi_modevent(module_t, int, void *); + +static int vtscmi_probe(device_t); +static int vtscmi_attach(device_t); +static int vtscmi_detach(device_t); +static int vtscmi_shutdown(device_t); +static int vtscmi_negotiate_features(struct vtscmi_softc *); +static int vtscmi_setup_features(struct vtscmi_softc *); +static void vtscmi_vq_intr(void *); +static int vtscmi_alloc_virtqueues(struct vtscmi_softc *); +static int vtscmi_alloc_queues(struct vtscmi_softc *); +static void vtscmi_free_queues(struct vtscmi_softc *); +static void *virtio_scmi_pdu_get(struct vtscmi_queue *, void *, + unsigned int, unsigned int); +static void virtio_scmi_pdu_put(device_t, struct vtscmi_pdu *); + +static struct virtio_feature_desc vtscmi_feature_desc[] = { + { VIRTIO_SCMI_F_P2A_CHANNELS, "P2AChannel" }, + { VIRTIO_SCMI_F_SHARED_MEMORY, "SharedMem" }, + { 0, NULL } +}; + +static device_method_t vtscmi_methods[] = { + /* Device methods. */ + DEVMETHOD(device_probe, vtscmi_probe), + DEVMETHOD(device_attach, vtscmi_attach), + DEVMETHOD(device_detach, vtscmi_detach), + DEVMETHOD(device_shutdown, vtscmi_shutdown), + + DEVMETHOD_END +}; + +static driver_t vtscmi_driver = { + "vtscmi", + vtscmi_methods, + sizeof(struct vtscmi_softc) +}; + +VIRTIO_DRIVER_MODULE(virtio_scmi, vtscmi_driver, vtscmi_modevent, NULL); +MODULE_VERSION(virtio_scmi, 1); +MODULE_DEPEND(virtio_scmi, virtio, 1, 1, 1); + +VIRTIO_SIMPLE_PNPINFO(virtio_scmi, VIRTIO_ID_SCMI, "VirtIO SCMI Adapter"); + +static int +vtscmi_modevent(module_t mod, int type, void *unused) +{ + int error; + + switch (type) { + case MOD_LOAD: + case MOD_QUIESCE: + case MOD_UNLOAD: + case MOD_SHUTDOWN: + error = 0; + break; + default: + error = EOPNOTSUPP; + break; + } + + return (error); +} + +static int +vtscmi_probe(device_t dev) +{ + return (VIRTIO_SIMPLE_PROBE(dev, virtio_scmi)); +} + +static int +vtscmi_attach(device_t dev) +{ + struct vtscmi_softc *sc; + int error; + + /* Only one SCMI device per-agent */ + if (vtscmi_dev != NULL) + return (EEXIST); + + sc = device_get_softc(dev); + sc->vtscmi_dev = dev; + + virtio_set_feature_desc(dev, vtscmi_feature_desc); + error = vtscmi_setup_features(sc); + if (error) { + device_printf(dev, "cannot setup features\n"); + goto fail; + } + + error = vtscmi_alloc_virtqueues(sc); + if (error) { + device_printf(dev, "cannot allocate virtqueues\n"); + goto fail; + } + + error = vtscmi_alloc_queues(sc); + if (error) { + device_printf(dev, "cannot allocate queues\n"); + goto fail; + } + + error = virtio_setup_intr(dev, INTR_TYPE_MISC); + if (error) { + device_printf(dev, "cannot setup intr\n"); + vtscmi_free_queues(sc); + goto fail; + } + + /* Save unique device */ + vtscmi_dev = sc->vtscmi_dev; + +fail: + + return (error); +} + +static int +vtscmi_detach(device_t dev) +{ + struct vtscmi_softc *sc; + + sc = device_get_softc(dev); + + /* These also disable related interrupts */ + virtio_scmi_channel_callback_set(dev, VIRTIO_SCMI_CHAN_A2P, NULL, NULL); + virtio_scmi_channel_callback_set(dev, VIRTIO_SCMI_CHAN_P2A, NULL, NULL); + + virtio_stop(dev); + + vtscmi_free_queues(sc); + + return (0); +} + +static int +vtscmi_shutdown(device_t dev) +{ + + return (0); +} + +static int +vtscmi_negotiate_features(struct vtscmi_softc *sc) +{ + device_t dev; + uint64_t features; + + dev = sc->vtscmi_dev; + /* We still don't support shared mem (stats)...so don't advertise it */ + features = VIRTIO_SCMI_F_P2A_CHANNELS; + + sc->vtscmi_features = virtio_negotiate_features(dev, features); + return (virtio_finalize_features(dev)); +} + +static int +vtscmi_setup_features(struct vtscmi_softc *sc) +{ + device_t dev; + int error; + + dev = sc->vtscmi_dev; + error = vtscmi_negotiate_features(sc); + if (error) + return (error); + + if (virtio_with_feature(dev, VIRTIO_SCMI_F_P2A_CHANNELS)) + sc->has_p2a = true; + if (virtio_with_feature(dev, VIRTIO_SCMI_F_SHARED_MEMORY)) + sc->has_shared = true; + + device_printf(dev, "Platform %s P2A channel.\n", + sc->has_p2a ? "supports" : "does NOT support"); + + return (0); +} + +static int +vtscmi_alloc_queues(struct vtscmi_softc *sc) +{ + int idx; + + for (idx = VIRTIO_SCMI_CHAN_A2P; idx < VIRTIO_SCMI_CHAN_MAX; idx++) { + int i, vq_sz; + struct vtscmi_queue *q; + struct vtscmi_pdu *pdu; + + if (idx == VIRTIO_SCMI_CHAN_P2A && !sc->has_p2a) + continue; + + q = &sc->vtscmi_queues[idx]; + q->dev = sc->vtscmi_dev; + q->vq_id = idx; + vq_sz = virtqueue_size(q->vq); + q->vq_sz = idx != VIRTIO_SCMI_CHAN_A2P ? vq_sz : vq_sz / 2; + + q->pdus = mallocarray(q->vq_sz, sizeof(*pdu), M_DEVBUF, + M_ZERO | M_WAITOK); + + SLIST_INIT(&q->p_head); + for (i = 0, pdu = q->pdus; i < q->vq_sz; i++, pdu++) { + pdu->chan = idx; + //XXX Maybe one seg redndant for P2A + sglist_init(&pdu->sg, + idx == VIRTIO_SCMI_CHAN_A2P ? 2 : 1, pdu->segs); + SLIST_INSERT_HEAD(&q->p_head, pdu, next); + } + + mtx_init(&q->p_mtx, "vtscmi_pdus", "VTSCMI", MTX_SPIN); + mtx_init(&q->vq_mtx, "vtscmi_vq", "VTSCMI", MTX_SPIN); + } + + return (0); +} + +static void +vtscmi_free_queues(struct vtscmi_softc *sc) +{ + int idx; + + for (idx = VIRTIO_SCMI_CHAN_A2P; idx < VIRTIO_SCMI_CHAN_MAX; idx++) { + struct vtscmi_queue *q; + + if (idx == VIRTIO_SCMI_CHAN_P2A && !sc->has_p2a) + continue; + + q = &sc->vtscmi_queues[idx]; + if (q->vq_sz == 0) + continue; + + free(q->pdus, M_DEVBUF); + mtx_destroy(&q->p_mtx); + mtx_destroy(&q->vq_mtx); + } +} + +static void +vtscmi_vq_intr(void *arg) +{ + struct vtscmi_queue *q = arg; + + /* + * TODO + * - consider pressure on RX by msg floods + * + Does it need a taskqueue_ like virtio/net to postpone processing + * under pressure ? (SCMI is low_freq compared to network though) + */ + for (;;) { + struct vtscmi_pdu *pdu; + uint32_t rx_len; + + mtx_lock_spin(&q->vq_mtx); + pdu = virtqueue_dequeue(q->vq, &rx_len); + mtx_unlock_spin(&q->vq_mtx); + if (!pdu) + return; + + if (q->rx_callback) + q->rx_callback(pdu->buf, rx_len, q->priv); + + /* Note that this only frees the PDU, NOT the buffer itself */ + virtio_scmi_pdu_put(q->dev, pdu); + } +} + +static int +vtscmi_alloc_virtqueues(struct vtscmi_softc *sc) +{ + device_t dev; + struct vq_alloc_info vq_info[VIRTIO_SCMI_CHAN_MAX]; + + dev = sc->vtscmi_dev; + sc->vtscmi_vqs_cnt = sc->has_p2a ? 2 : 1; + + VQ_ALLOC_INFO_INIT(&vq_info[VIRTIO_SCMI_CHAN_A2P], 0, + vtscmi_vq_intr, + &sc->vtscmi_queues[VIRTIO_SCMI_CHAN_A2P], + &sc->vtscmi_queues[VIRTIO_SCMI_CHAN_A2P].vq, + "%s cmdq", device_get_nameunit(dev)); + + if (sc->has_p2a) { + VQ_ALLOC_INFO_INIT(&vq_info[VIRTIO_SCMI_CHAN_P2A], 0, + vtscmi_vq_intr, + &sc->vtscmi_queues[VIRTIO_SCMI_CHAN_P2A], + &sc->vtscmi_queues[VIRTIO_SCMI_CHAN_P2A].vq, + "%s evtq", device_get_nameunit(dev)); + } + + return (virtio_alloc_virtqueues(dev, sc->vtscmi_vqs_cnt, vq_info)); +} + +static void * +virtio_scmi_pdu_get(struct vtscmi_queue *q, void *buf, unsigned int tx_len, + unsigned int rx_len) +{ + struct vtscmi_pdu *pdu = NULL; + + if (rx_len == 0) + return (NULL); + + mtx_lock_spin(&q->p_mtx); + if (!SLIST_EMPTY(&q->p_head)) { + pdu = SLIST_FIRST(&q->p_head); + SLIST_REMOVE_HEAD(&q->p_head, next); + } + mtx_unlock_spin(&q->p_mtx); + + if (pdu == NULL) { + device_printf(q->dev, "Cannnot allocate PDU.\n"); + return (NULL); + } + + /*Save msg buffer for easy access */ + pdu->buf = buf; + if (tx_len != 0) + sglist_append(&pdu->sg, pdu->buf, tx_len); + sglist_append(&pdu->sg, pdu->buf, rx_len); + + return (pdu); +} + +static void +virtio_scmi_pdu_put(device_t dev, struct vtscmi_pdu *pdu) +{ + struct vtscmi_softc *sc; + struct vtscmi_queue *q; + + if (pdu == NULL) + return; + + sc = device_get_softc(dev); + q = &sc->vtscmi_queues[pdu->chan]; + + sglist_reset(&pdu->sg); + + mtx_lock_spin(&q->p_mtx); + SLIST_INSERT_HEAD(&q->p_head, pdu, next); + mtx_unlock_spin(&q->p_mtx); +} + +device_t +virtio_scmi_transport_get(void) +{ + return (vtscmi_dev); +} + +int +virtio_scmi_channel_size_get(device_t dev, enum vtscmi_chan chan) +{ + struct vtscmi_softc *sc; + + sc = device_get_softc(dev); + if (chan >= sc->vtscmi_vqs_cnt) + return (0); + + return (sc->vtscmi_queues[chan].vq_sz); +} + +int +virtio_scmi_channel_callback_set(device_t dev, enum vtscmi_chan chan, + virtio_scmi_rx_callback_t *cb, void *priv) +{ + struct vtscmi_softc *sc; + + sc = device_get_softc(dev); + if (chan >= sc->vtscmi_vqs_cnt) + return (1); + + if (cb == NULL) + virtqueue_disable_intr(sc->vtscmi_queues[chan].vq); + + sc->vtscmi_queues[chan].rx_callback = cb; + sc->vtscmi_queues[chan].priv = priv; + + /* Enable Interrupt on VQ once the callback is set */ + if (cb != NULL) + /* + * TODO + * Does this need a taskqueue_ task to process already pending + * messages ? + */ + virtqueue_enable_intr(sc->vtscmi_queues[chan].vq); + + device_printf(dev, "%sabled interrupts on VQ[%d].\n", + cb ? "En" : "Dis", chan); + + return (0); +} + +int +virtio_scmi_message_enqueue(device_t dev, enum vtscmi_chan chan, + void *buf, unsigned int tx_len, unsigned int rx_len) +{ + struct vtscmi_softc *sc; + struct vtscmi_pdu *pdu; + struct vtscmi_queue *q; + int ret; + + sc = device_get_softc(dev); + if (chan >= sc->vtscmi_vqs_cnt) + return (1); + + q = &sc->vtscmi_queues[chan]; + pdu = virtio_scmi_pdu_get(q, buf, tx_len, rx_len); + if (pdu == NULL) + return (ENXIO); + + mtx_lock_spin(&q->vq_mtx); + ret = virtqueue_enqueue(q->vq, pdu, &pdu->sg, + chan == VIRTIO_SCMI_CHAN_A2P ? 1 : 0, 1); + if (ret == 0) + virtqueue_notify(q->vq); + mtx_unlock_spin(&q->vq_mtx); + + return (ret); +} + +void * +virtio_scmi_message_poll(device_t dev, uint32_t *rx_len) +{ + struct vtscmi_softc *sc; + struct vtscmi_queue *q; + struct vtscmi_pdu *pdu; + void *buf = NULL; + + sc = device_get_softc(dev); + + q = &sc->vtscmi_queues[VIRTIO_SCMI_CHAN_A2P]; + + mtx_lock_spin(&q->vq_mtx); + /* Not using virtqueue_poll since has no configurable timeout */ + pdu = virtqueue_dequeue(q->vq, rx_len); + mtx_unlock_spin(&q->vq_mtx); + if (pdu != NULL) { + buf = pdu->buf; + virtio_scmi_pdu_put(dev, pdu); + } + + return (buf); +} diff --git a/sys/dev/virtio/scmi/virtio_scmi.h b/sys/dev/virtio/scmi/virtio_scmi.h new file mode 100644 index 000000000000..7e5c97c8b372 --- /dev/null +++ b/sys/dev/virtio/scmi/virtio_scmi.h @@ -0,0 +1,66 @@ +/* + * Virtio SCMI Device + * + * Copyright (c) 2023 Arm Ltd + * + * This header is BSD licensed so anyone can use the definitions + * to implement compatible drivers/servers: + * + * 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. + * 3. Neither the name of IBM nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 IBM 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. + */ + +#ifndef VIRTIO_SCMI_H +#define VIRTIO_SCMI_H + +#include + +/* Features bits */ +/* Device implements some SCMI notifications, or delayed responses */ +#define VIRTIO_SCMI_F_P2A_CHANNELS (1 << 0) +/* Device implements any SCMI statistics region */ +#define VIRTIO_SCMI_F_SHARED_MEMORY (1 << 1) + +#define VIRTIO_SCMI_FEATURES \ + (VIRTIO_SCMI_F_P2A_CHANNELS | VIRTIO_SCMI_F_SHARED_MEMORY) + +/* Virtqueues */ +enum vtscmi_chan { + VIRTIO_SCMI_CHAN_A2P, + VIRTIO_SCMI_CHAN_P2A, + VIRTIO_SCMI_CHAN_MAX +}; + +typedef void virtio_scmi_rx_callback_t(void *msg, unsigned int len, void *priv); + +device_t virtio_scmi_transport_get(void); +int virtio_scmi_channel_size_get(device_t dev, enum vtscmi_chan chan); +int virtio_scmi_channel_callback_set(device_t dev, enum vtscmi_chan chan, + virtio_scmi_rx_callback_t *cb, void *priv); +int virtio_scmi_message_enqueue(device_t dev, enum vtscmi_chan chan, + void *buf, unsigned int tx_len, + unsigned int rx_len); +void *virtio_scmi_message_poll(device_t dev, uint32_t *rx_len); + +#endif diff --git a/sys/dev/virtio/virtio.c b/sys/dev/virtio/virtio.c index 9e375e98d1e3..75d65ba4a8c8 100644 --- a/sys/dev/virtio/virtio.c +++ b/sys/dev/virtio/virtio.c @@ -71,6 +71,7 @@ static struct virtio_ident { { VIRTIO_ID_FS, "Filesystem" }, { VIRTIO_ID_PMEM, "Persistent Memory" }, { VIRTIO_ID_RPMB, "RPMB" }, + { VIRTIO_ID_SCMI, "SCMI" }, { VIRTIO_ID_GPIO, "GPIO" }, { 0, NULL } diff --git a/sys/dev/virtio/virtio_ids.h b/sys/dev/virtio/virtio_ids.h index c9bd6f52bef6..d99caa40a482 100644 --- a/sys/dev/virtio/virtio_ids.h +++ b/sys/dev/virtio/virtio_ids.h @@ -50,6 +50,7 @@ #define VIRTIO_ID_FS 26 #define VIRTIO_ID_PMEM 27 #define VIRTIO_ID_RPMB 28 +#define VIRTIO_ID_SCMI 32 #define VIRTIO_ID_GPIO 41 #endif /* _VIRTIO_IDS_H_ */ From nobody Thu Apr 11 09:59:31 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFZtC72Nxz5H7S7; Thu, 11 Apr 2024 09:59:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-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 4VFZtC5hZ6z4lLF; Thu, 11 Apr 2024 09:59:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829571; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lta9s7mv224OvXv8eu1ywWISNU7aJekuR8Kf9yjaYKQ=; b=VllPOF9hwNYaz5XurRP0reQHY9A/k87COwmscLznq2+P68zEkitbONlGKD/W34YQoB1796 +/EU74cL1+IP7yRu8vW8B29Cu3p5dv3rcukQm/jlw/sUIBBWVyyPx6q4YkSnNIntEhvbhu g72O6fSvjg1CpkqCz8Y/xN7jp6gtwTfnVi8lq+3tJxUcCuhwlUKXAvLiTTmcrRVZp8Ib4I vM5j7kWqtTdZ53RrvNDIY5w1CveA4vjL1TMSQl9EmphKFdo385bOTYsoiJHX15YABiHjOY LQLxO+uzOlgd0KHOTCKzwrc+gW/pqcrkuHr1Vm7bgrBtYysqd9ZJ0ZhGJ79p3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712829571; a=rsa-sha256; cv=none; b=f0lpHTWJDZ300OvvPy65tm4OodFR8Y7jPbrGKlrPhctylt6ES+YQ/PM+WdDe6k1VrfHzTe 6iTvUrEDgSJRkLwpsUriK7jhxK9CMVXBmhd4/QWi3MxXlJoRchqC7HNaZM0sBa2Q/sZEXV jvv2MFRZSGUU0fjrXW8G+ECqRAzd+S+sTfEI6XFPr2tlCo3wKo7ZED6yxu+ZItcZ8sxouE Ep4iGDVx/WzGaCL6sxPzLMpK55/KueSrrlJmq/kUY5/Gh0P2G2LWnLNA1yjyJqibThpzX+ NXVDkOKDb0mCLgOb7E3KAakIXd2HfZI00dZ51cDdyD+pC3nPd8zubwoDhkDeXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712829571; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lta9s7mv224OvXv8eu1ywWISNU7aJekuR8Kf9yjaYKQ=; b=cQx7MyiW6B7JJVtr0B/14RIo7b+8q8QSXFE0tfPbVXy0QNbSYqmBdxpB/nLhF//h9NxR3Q JbiM/rYaUSCJGJYW28+Zxdo279GamcBe20alnUS7T2vH06y80DfSLuz0/r+V17kVRvsWxg fniRSto1uPd+dCwngDrCy5Qs1TUWEA0RIUrCHxmdTBxNT5oL5zmQWuanvdqPxV/Had9gOo j4F2ugmD34Jqr2X9FiKLbOLaGZQSdNrIBS7G53WsLRLX7t0//k0Q94xkE8cYYVEjlwI9f9 UK/gSvsMO2nP90j8OuzwlUyo1VoyCqTenK9NcxRnCXJo0s2JQta/NXHrFEc/og== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFZtC5HRTz1FwT; Thu, 11 Apr 2024 09:59:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43B9xVT8090853; Thu, 11 Apr 2024 09:59:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43B9xVBJ090851; Thu, 11 Apr 2024 09:59:31 GMT (envelope-from git) Date: Thu, 11 Apr 2024 09:59:31 GMT Message-Id: <202404110959.43B9xVBJ090851@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: a87dd74125d2 - main - scmi: Add an SCMI VirtIO transport 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: dev-commits-src-main+owner@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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a87dd74125d290791d7259ceeab9507bada9987e Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=a87dd74125d290791d7259ceeab9507bada9987e commit a87dd74125d290791d7259ceeab9507bada9987e Author: Cristian Marussi AuthorDate: 2023-10-23 18:07:06 +0000 Commit: Andrew Turner CommitDate: 2024-04-11 09:58:57 +0000 scmi: Add an SCMI VirtIO transport driver Add an SCMI transport driver based on the virtio-scmi backend. Reviewed by: andrew, bryanv Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43048 --- sys/conf/files.arm64 | 1 + sys/dev/firmware/arm/scmi.c | 15 +- sys/dev/firmware/arm/scmi.h | 2 + sys/dev/firmware/arm/scmi_virtio.c | 298 +++++++++++++++++++++++++++++++++++++ 4 files changed, 313 insertions(+), 3 deletions(-) diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index a22ffa2b7f0c..632fbab5070d 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -275,6 +275,7 @@ dev/firmware/arm/scmi_clk.c optional fdt scmi dev/firmware/arm/scmi_if.m optional fdt scmi dev/firmware/arm/scmi_mailbox.c optional fdt scmi dev/firmware/arm/scmi_smc.c optional fdt scmi +dev/firmware/arm/scmi_virtio.c optional fdt scmi dev/firmware/arm/scmi_shmem.c optional fdt scmi dev/gpio/pl061.c optional pl061 gpio diff --git a/sys/dev/firmware/arm/scmi.c b/sys/dev/firmware/arm/scmi.c index 945c2b2e9f6e..ef4bcbf13996 100644 --- a/sys/dev/firmware/arm/scmi.c +++ b/sys/dev/firmware/arm/scmi.c @@ -484,10 +484,19 @@ scmi_process_response(struct scmi_softc *sc, uint32_t hdr) mtx_lock_spin(&req->mtx); req->done = true; - if (!req->timed_out) - wakeup(req); - else + if (!req->timed_out) { + /* + * Consider the case in which a polled message is picked + * by chance on the IRQ path on another CPU: setting poll_done + * will terminate the other poll loop. + */ + if (!req->msg.polling) + wakeup(req); + else + atomic_store_rel_int(&req->msg.poll_done, 1); + } else { timed_out = true; + } mtx_unlock_spin(&req->mtx); if (timed_out) diff --git a/sys/dev/firmware/arm/scmi.h b/sys/dev/firmware/arm/scmi.h index 572422594292..345ae6eeb03a 100644 --- a/sys/dev/firmware/arm/scmi.h +++ b/sys/dev/firmware/arm/scmi.h @@ -62,12 +62,14 @@ struct scmi_softc { struct scmi_msg { bool polling; + int poll_done; uint32_t tx_len; uint32_t rx_len; #define SCMI_MSG_HDR_SIZE (sizeof(uint32_t)) uint32_t hdr; uint8_t payld[]; }; +#define hdr_to_msg(h) __containerof((h), struct scmi_msg, hdr) void *scmi_buf_get(device_t dev, uint8_t protocol_id, uint8_t message_id, int tx_payd_sz, int rx_payld_sz); diff --git a/sys/dev/firmware/arm/scmi_virtio.c b/sys/dev/firmware/arm/scmi_virtio.c new file mode 100644 index 000000000000..12cbb9ecefd5 --- /dev/null +++ b/sys/dev/firmware/arm/scmi_virtio.c @@ -0,0 +1,298 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Arm Ltd + * + * 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 +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include "scmi.h" +#include "scmi_protocols.h" + +#define SCMI_VIRTIO_POLLING_INTERVAL_MS 2 + +struct scmi_virtio_softc { + struct scmi_softc base; + device_t virtio_dev; + int cmdq_sz; + int evtq_sz; + void *p2a_pool; +}; + +static void scmi_virtio_callback(void *, unsigned int, void *); +static void *scmi_virtio_p2a_pool_init(device_t, unsigned int); +static int scmi_virtio_transport_init(device_t); +static void scmi_virtio_transport_cleanup(device_t); +static int scmi_virtio_xfer_msg(device_t, struct scmi_msg *); +static int scmi_virtio_poll_msg(device_t, struct scmi_msg *, unsigned int); +static void scmi_virtio_clear_channel(device_t, void *); +static int scmi_virtio_probe(device_t); +static int scmi_virtio_attach(device_t); + +static void +scmi_virtio_callback(void *msg, unsigned int len, void *priv) +{ + struct scmi_virtio_softc *sc; + uint32_t hdr; + + sc = priv; + + if (msg == NULL || len < sizeof(hdr)) { + device_printf(sc->virtio_dev, "Ignoring malformed message.\n"); + return; + } + + hdr = le32toh(*((uint32_t *)msg)); + scmi_rx_irq_callback(sc->base.dev, msg, hdr); +} + +static void * +scmi_virtio_p2a_pool_init(device_t dev, unsigned int max_msg) +{ + struct scmi_virtio_softc *sc; + void *pool; + uint8_t *buf; + int i; + + sc = device_get_softc(dev); + + pool = mallocarray(max_msg, SCMI_MAX_MSG_SIZE, M_DEVBUF, + M_ZERO | M_WAITOK); + + for (i = 0, buf = pool; i < max_msg; i++, buf += SCMI_MAX_MSG_SIZE) { + /* Feed platform with pre-allocated P2A buffers */ + virtio_scmi_message_enqueue(sc->virtio_dev, + VIRTIO_SCMI_CHAN_P2A, buf, 0, SCMI_MAX_MSG_SIZE); + } + + device_printf(dev, + "Fed %d initial P2A buffers to platform.\n", max_msg); + + return (pool); +} + +static void +scmi_virtio_clear_channel(device_t dev, void *msg) +{ + struct scmi_virtio_softc *sc; + + sc = device_get_softc(dev); + virtio_scmi_message_enqueue(sc->virtio_dev, VIRTIO_SCMI_CHAN_P2A, + msg, 0, SCMI_MAX_MSG_SIZE); +} + +static int +scmi_virtio_transport_init(device_t dev) +{ + struct scmi_virtio_softc *sc; + int ret; + + sc = device_get_softc(dev); + + sc->cmdq_sz = virtio_scmi_channel_size_get(sc->virtio_dev, + VIRTIO_SCMI_CHAN_A2P); + sc->evtq_sz = virtio_scmi_channel_size_get(sc->virtio_dev, + VIRTIO_SCMI_CHAN_P2A); + + if (!sc->cmdq_sz) { + device_printf(dev, + "VirtIO cmdq virtqueue not found. Aborting.\n"); + return (ENXIO); + } + + /* + * P2A buffers are owned by the platform initially; allocate a feed an + * appropriate number of buffers. + */ + if (sc->evtq_sz != 0) { + sc->p2a_pool = scmi_virtio_p2a_pool_init(dev, sc->evtq_sz); + if (sc->p2a_pool == NULL) + return (ENOMEM); + } + + /* Note that setting a callback also enables that VQ interrupts */ + ret = virtio_scmi_channel_callback_set(sc->virtio_dev, + VIRTIO_SCMI_CHAN_A2P, scmi_virtio_callback, sc); + if (ret) { + device_printf(dev, "Failed to set VirtIO cmdq callback.\n"); + return (ENXIO); + } + + device_printf(dev, + "VirtIO cmdq virtqueue configured - cmdq_sz:%d\n", sc->cmdq_sz); + + /* P2A channel is optional */ + if (sc->evtq_sz) { + ret = virtio_scmi_channel_callback_set(sc->virtio_dev, + VIRTIO_SCMI_CHAN_P2A, scmi_virtio_callback, sc); + if (ret == 0) { + device_printf(dev, + "VirtIO evtq virtqueue configured - evtq_sz:%d\n", + sc->evtq_sz); + } else { + device_printf(dev, + "Failed to set VirtIO evtq callback.Skip.\n"); + sc->evtq_sz = 0; + } + } + + sc->base.trs_desc.reply_timo_ms = 100; + + return (0); +} + +static void +scmi_virtio_transport_cleanup(device_t dev) +{ + struct scmi_virtio_softc *sc; + + sc = device_get_softc(dev); + + if (sc->evtq_sz != 0) { + virtio_scmi_channel_callback_set(sc->virtio_dev, + VIRTIO_SCMI_CHAN_P2A, NULL, NULL); + free(sc->p2a_pool, M_DEVBUF); + } + + virtio_scmi_channel_callback_set(sc->virtio_dev, + VIRTIO_SCMI_CHAN_A2P, NULL, NULL); +} + +static int +scmi_virtio_xfer_msg(device_t dev, struct scmi_msg *msg) +{ + struct scmi_virtio_softc *sc; + + sc = device_get_softc(dev); + + return (virtio_scmi_message_enqueue(sc->virtio_dev, + VIRTIO_SCMI_CHAN_A2P, &msg->hdr, msg->tx_len, msg->rx_len)); +} + +static int +scmi_virtio_poll_msg(device_t dev, struct scmi_msg *msg, unsigned int tmo_ms) +{ + struct scmi_virtio_softc *sc; + device_t vdev; + int tmo_loops; + + sc = device_get_softc(dev); + vdev = sc->virtio_dev; + + tmo_loops = tmo_ms / SCMI_VIRTIO_POLLING_INTERVAL_MS; + while (tmo_loops-- && atomic_load_acq_int(&msg->poll_done) == 0) { + struct scmi_msg *rx_msg; + void *rx_buf; + uint32_t rx_len; + + rx_buf = virtio_scmi_message_poll(vdev, &rx_len); + if (rx_buf == NULL) { + DELAY(SCMI_VIRTIO_POLLING_INTERVAL_MS * 1000); + continue; + } + + rx_msg = hdr_to_msg(rx_buf); + rx_msg->rx_len = rx_len; + /* Complete the polling on any poll path */ + if (rx_msg->polling) + atomic_store_rel_int(&rx_msg->poll_done, 1); + + if (__predict_true(rx_msg == msg)) + break; + + /* + * Polling returned an unexpected message: either a message + * polled by some other thread of execution or a message not + * supposed to be polled. + */ + device_printf(dev, "POLLED OoO HDR:|%08X| - polling:%d\n", + rx_msg->hdr, rx_msg->polling); + + if (!rx_msg->polling) + scmi_rx_irq_callback(sc->base.dev, rx_msg, rx_msg->hdr); + } + + return (tmo_loops > 0 ? 0 : ETIMEDOUT); +} + +static int +scmi_virtio_probe(device_t dev) +{ + if (!ofw_bus_is_compatible(dev, "arm,scmi-virtio")) + return (ENXIO); + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + + device_set_desc(dev, "ARM SCMI VirtIO Transport driver"); + + return (BUS_PROBE_DEFAULT); +} + +static int +scmi_virtio_attach(device_t dev) +{ + struct scmi_virtio_softc *sc; + + sc = device_get_softc(dev); + sc->virtio_dev = virtio_scmi_transport_get(); + if (sc->virtio_dev == NULL) + return (1); + + /* When attach fails there is nothing to cleanup*/ + return (scmi_attach(dev)); +} + +static device_method_t scmi_virtio_methods[] = { + DEVMETHOD(device_probe, scmi_virtio_probe), + DEVMETHOD(device_attach, scmi_virtio_attach), + + /* SCMI interface */ + DEVMETHOD(scmi_transport_init, scmi_virtio_transport_init), + DEVMETHOD(scmi_transport_cleanup, scmi_virtio_transport_cleanup), + DEVMETHOD(scmi_xfer_msg, scmi_virtio_xfer_msg), + DEVMETHOD(scmi_poll_msg, scmi_virtio_poll_msg), + DEVMETHOD(scmi_clear_channel, scmi_virtio_clear_channel), + + DEVMETHOD_END +}; + +DEFINE_CLASS_1(scmi_virtio, scmi_virtio_driver, scmi_virtio_methods, + sizeof(struct scmi_virtio_softc), scmi_driver); + +/* Needs to be after the mmio_sram driver */ +DRIVER_MODULE(scmi_virtio, simplebus, scmi_virtio_driver, 0, 0); +MODULE_VERSION(scmi_virtio, 1); From nobody Thu Apr 11 10:09:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFb6Q2rPcz5H7qd for ; Thu, 11 Apr 2024 10:10:06 +0000 (UTC) (envelope-from bounce.v7odq7bf30=mx6k6rgoyljv=pya5rmvi9x@em790814.fubar.geek.nz) Received: from e3i19.smtp2go.com (e3i19.smtp2go.com [158.120.84.19]) (using TLSv1.3 with cipher TLS_AES_256_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 4VFb6M1qJ1z4q1s for ; Thu, 11 Apr 2024 10:10:02 +0000 (UTC) (envelope-from bounce.v7odq7bf30=mx6k6rgoyljv=pya5rmvi9x@em790814.fubar.geek.nz) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=smtpservice.net header.s=a1-4 header.b=zTKnK7cV; dkim=pass header.d=fubar.geek.nz header.s=s790814 header.b="aUvHGf/t"; dmarc=pass (policy=none) header.from=fubar.geek.nz; spf=pass (mx1.freebsd.org: domain of "bounce.v7odq7bf30=mx6k6rgoyljv=pya5rmvi9x@em790814.fubar.geek.nz" designates 158.120.84.19 as permitted sender) smtp.mailfrom="bounce.v7odq7bf30=mx6k6rgoyljv=pya5rmvi9x@em790814.fubar.geek.nz" Received: from [10.99.243.232] (helo=morbo.fubar.geek.nz) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.96.1-S2G) (envelope-from ) id 1rurNX-9EHbge-1Y; Thu, 11 Apr 2024 10:09:59 +0000 Received: from smtpclient.apple (92.40.168.11.threembb.co.uk [92.40.168.11]) by morbo.fubar.geek.nz (Postfix) with ESMTPSA id 5882618818; Thu, 11 Apr 2024 10:09:57 +0000 (UTC) Content-Type: text/plain; charset=us-ascii 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: dev-commits-src-main+owner@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.100.2.1.4\)) Subject: Re: git: ac83063d37e5 - main - bcm2838_xhci: add module From: Andrew Turner In-Reply-To: <202404100322.43A3MTXZ087267@gitrepo.freebsd.org> Date: Thu, 11 Apr 2024 11:09:47 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202404100322.43A3MTXZ087267@gitrepo.freebsd.org> To: Warner Losh X-Mailer: Apple Mail (2.3774.100.2.1.4) X-smtpcorp-track: 1rIrNb9EHPg-1Y.F2P1G6fpdojs2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smtpservice.net; i=@smtpservice.net; q=dns/txt; s=a1-4; t=1712830200; h=feedback-id : x-smtpcorp-track : date : message-id : to : subject : from : reply-to : sender : list-unsubscribe; bh=WV4AnEMaQNLzYvFYOrSQ+AbdCGd1HhCI9yvn2++59YY=; b=zTKnK7cVLM+AcArnZ+ijgF2ZKz6YuSZA0b/hHEcCQeElh57mArSP01KRghrIFlNfkp8PQ MmrrGwvk2E2cPJo9Y/1PI8rGaXPaod7i+BEEpyNNRnS8Mh+N3NC3Gd/CcL43hoXP8CvmBTK GPrFUiYuZanEx8mSUorYH95lJFCGRhZw2FoTYSJJnPoHwbtniQzMscidGOjL7iHnXgKKAH7 K4WSienAMaR2fD8/OhMICC2FaVAQ8xO7x2zNAhZEiXg/NH+dKgN5TOXscXOfXL41rIyFiaC tmDfP+eFoyLLqubLem/JdQ9qiHcgZAlC5qUlL+pLTL0zyxKKFA0Z3V6HqzkQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fubar.geek.nz; i=@fubar.geek.nz; q=dns/txt; s=s790814; t=1712830200; h=from : subject : to : message-id : date; bh=WV4AnEMaQNLzYvFYOrSQ+AbdCGd1HhCI9yvn2++59YY=; b=aUvHGf/tgGcDB+YSBdb1Gaga3JcJ9/aMYWxZ7U1RcHbaO2QXcTUtNHc4AptkJw2f6695Q ngQaxpFau3JinxTnjWVVbaB00FJ0bM7oapbjYFc/wN8I8PYEMO/UnoOphkmoOqYZnow1Uzx wz6zYhEQU/2NmGtZ3ggvj+t40DztpsYCZtOMBIKDCl75zJbpZl1EhgmEFna660TipNxBhJ4 3Epr5L6nlxny8Ux4fKTr85+M6PJPpj+/0Z/arSIUf+4vxUFLpiLgjKywkYIGbrNgSSKpGVB vo0vrVnRJmoW+n6ytWXxmTjxf/TZGR87hAoSusm+dOyfIe2QGLut0e2/B5kA== X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.40 / 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)[fubar.geek.nz,none]; MV_CASE(0.50)[]; FORGED_SENDER(0.30)[andrew@fubar.geek.nz,bounce.v7odq7bf30=mx6k6rgoyljv=pya5rmvi9x@em790814.fubar.geek.nz]; RWL_MAILSPIKE_VERYGOOD(-0.20)[158.120.84.19:from]; R_DKIM_ALLOW(-0.20)[smtpservice.net:s=a1-4,fubar.geek.nz:s=s790814]; R_SPF_ALLOW(-0.20)[+ip4:158.120.80.0/21]; MIME_GOOD(-0.10)[text/plain]; ASN(0.00)[asn:23352, ipnet:158.120.84.0/22, country:US]; TO_DN_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FROM_NEQ_ENVFROM(0.00)[andrew@fubar.geek.nz,bounce.v7odq7bf30=mx6k6rgoyljv=pya5rmvi9x@em790814.fubar.geek.nz]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; MLMMJ_DEST(0.00)[dev-commits-src-main@FreeBSD.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; DKIM_TRACE(0.00)[smtpservice.net:+,fubar.geek.nz:+] X-Rspamd-Queue-Id: 4VFb6M1qJ1z4q1s > On 10 Apr 2024, at 04:22, Warner Losh wrote: >=20 > The branch main has been updated by imp: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dac83063d37e5e92ad048cc4ed958654c= 02103f74 >=20 > commit ac83063d37e5e92ad048cc4ed958654c02103f74 > Author: Lexi Winter > AuthorDate: 2024-04-10 03:11:36 +0000 > Commit: Warner Losh > CommitDate: 2024-04-10 03:11:39 +0000 >=20 > bcm2838_xhci: add module >=20 > bcm2838_xhci(4) is a shim for the XHCI controller on the Raspberry = Pi 4B > SoC. It loads the controller's firmware before passing control to = the > normal xhci(4) driver. >=20 > When xhci(4) is built as a module (and not in the kernel), = bcm2838_xhci > is not built at all and the RPi4's XHCI controller won't attach due = to > missing firmware. >=20 > To fix this, build a new module, bcm2838_xhci.ko, which depends on > xhci.ko. For the dependency to work correctly, also modify xhci to > provide the 'xhci' module in addition to the 'xhci_pci' module it > already provided. >=20 > Since bcm2838_xhci is specific to a quirk of the RPi4 SoC, only = build > the module for AArch64. I think this broke GENERIC-ACPI kernel. The bcm2838_xhci driver is FDT = only. Andrew= From nobody Thu Apr 11 14:08:02 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFhNy2J7Qz5HTT7; Thu, 11 Apr 2024 14:08: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 4VFhNy1kW2z41Hj; Thu, 11 Apr 2024 14:08:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712844482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EOU1kdaA3x8urEMcCTzQ/zFwajhREV1IvwE3+fSBZM4=; b=q4zXJul0sDcfg73th3XdrpLXKQBBW00wZFx3DCDOEhQmfwD8HgGInTMRGoYX5ZDO8JJ9sV 4A2JHCPm6O9+tPlugbJsfZDz61QewxrV5bGCcxK0aW4Cm35HMF40QzZtXyMuj1P4cto2Cq zsmMxaD0ywuLEuAHFoSEmMehZ0pCjCbpbfbD8JCYqxCFBMNd9VErCup0KD6imbwFHoYAcW 8ggMHDw+/qiutJOioKsmVzxis2mTIg94uRcCiVVNQdANo0wl2CJILHQPw+zdJRNwLu2y8O 5NMqgNr1uJYaKtieLFX6cSeE3T1roNmkkgODS/yUMN1DkgjXhFQHp6B+k+IO1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712844482; a=rsa-sha256; cv=none; b=vd4gwRw/u0Kgm9JY+9QJOtugNl0TqPFidjSbpJMjYmE+61GROzfVtgBfn4kdPrt+Gii57Z 2Qf/aCg9hXxVqcVhRoMzchKnZdchAF/EXma/vDERoEDuwp2+/hGMnouJ0jzGaqLZQKT2oV iG/49ptehiQJKYJZQhUpsr0H0fucjImUY/dMtIH558rJ3P5WS76TLBXXHBpgHQ4hWC16cg OcJQR0wsv9UoIKXqyR6trO5Sr6IxvMztnF8Y9BztHUCWkFeDXyUku0vAVglSvUUHIIuATV ACIiG9IIZ9rjBndf/3e1bVLEyZ5SvCARcyO15uwQRmW+SqvjdHXbr+dc14fw3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712844482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EOU1kdaA3x8urEMcCTzQ/zFwajhREV1IvwE3+fSBZM4=; b=dPJ+/1PjBw/j/Iag6T3wa8Sgot+l4y36xbtkZP0rbWpLn3BDosgcURfF69jVhbC4alpJEP yuBgQsmj5XIQL18SUI6YGCfCo6cygqSkQuGtywHxPw9bBTKcfkTZtsTo3WEAFlqYk/xUnJ h4Yf/tUxSgqnAFPiTEVZ4wF6OCo9pHhvH0jdnmJ1GYFOKLWb38U4eb0CN5nZ54RZE7913n HX0nbSLu+Lfs9rbghJbHyjM0bAMX75RLPs5djuc6TaePR5E+/s1P2JxAySF8yT5klEFwj+ 7n4H8ERBmEvxIXiDpW1cywvHbI/nfyGSUPtUC0jrTJFycvL6Sa5fNfVCKhkNIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFhNy1Ktcz1NkS; Thu, 11 Apr 2024 14:08:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BE82d9015262; Thu, 11 Apr 2024 14:08:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BE82hj015259; Thu, 11 Apr 2024 14:08:02 GMT (envelope-from git) Date: Thu, 11 Apr 2024 14:08:02 GMT Message-Id: <202404111408.43BE82hj015259@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: 6ec9aaf63c81 - main - cloudware: allow disk format to be a list 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: dev-commits-src-main+owner@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: 6ec9aaf63c81a68881cb6312f777349a0ac82ad5 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=6ec9aaf63c81a68881cb6312f777349a0ac82ad5 commit 6ec9aaf63c81a68881cb6312f777349a0ac82ad5 Author: Baptiste Daroussin AuthorDate: 2024-04-11 07:33:49 +0000 Commit: Baptiste Daroussin CommitDate: 2024-04-11 14:07:50 +0000 cloudware: allow disk format to be a list Make basic-cloudinit available both in qcow2 and raw formats MFC After: 1 week Reviewed by: Allanjude Sponsored by: OVHCloud Differential Revision: https://reviews.freebsd.org/D44747 --- release/Makefile.vm | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index a52e3b9bac81..f403928ed78a 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -30,7 +30,7 @@ AZURE_DESC= Microsoft Azure platform image BASIC-CI_FORMAT= raw BASIC-CI_FSLIST?= ufs BASIC-CI_DESC= Image for CI -BASIC-CLOUDINIT_FORMAT= raw +BASIC-CLOUDINIT_FORMAT= raw qcow2 BASIC-CLOUDINIT_FSLIST?= ufs zfs BASIC-CLOUDINIT_DESC?= Images for VM with cloudinit disk config support EC2_FORMAT= raw @@ -99,33 +99,37 @@ QEMUTGT?= . if exists(${.CURDIR}/tools/${_CW:tl}.conf) && !defined(${_CW:tu}CONF) ${_CW:tu}CONF?= ${.CURDIR}/tools/${_CW:tl}.conf . endif -. for _FS in ${${_CW:tu}_FSLIST} -CLOUDTARGETS+= cw-${_CW:tl}-${_FS} -CLEANDIRS+= cw-${_CW:tl}-${_FS} +. for _FMT in ${${_CW:tu}_FORMAT} +. for _FS in ${${_CW:tu}_FSLIST} +CLOUDTARGETS+= cw-${_CW:tl}-${_FS}-${_FMT} +CLEANDIRS+= cw-${_CW:tl}-${_FS}-${_FMT} CLEANFILES+= ${_CW:tl}.${_FS}.img \ - ${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT} \ - ${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT}.raw -${_CW:tu}${_FS:tu}IMAGE= ${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT} + ${_CW:tl}.${_FS}.${_FMT} \ + ${_CW:tl}.${_FS}.${_FMT}.raw +${_CW:tu}${_FS:tu}IMAGE= ${_CW:tl}.${_FS}.${_FMT} -cw-${_CW:tl}-${_FS}: ${QEMUTGT} +cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} mkdir -p ${.OBJDIR}/${.TARGET} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ QEMUSTATIC=${QEMUSTATIC} \ ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} -F ${_FS} \ - -i ${.OBJDIR}/${_CW:tl}.${_FS}.img -s ${VMSIZE} -f ${${_CW:tu}_FORMAT} \ + -i ${.OBJDIR}/${_CW:tl}.${_FS}.img -s ${VMSIZE} -f ${_FMT} \ -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}${_FS:tu}IMAGE} -c ${${_CW:tu}CONF} touch ${.TARGET} +. endfor . endfor # Hardlinks from "foo.bar" to "foo-${VMFS}.bar". These can go away once all # of the cloudware code knows how to handle multiple filesystem images (or # at least knows the name of the UFS image). -CLOUDTARGETS+= cw-${_CW:tl} -CLEANFILES+= ${_CW:tl}.${${_CW:tu}_FORMAT} -${_CW:tu}IMAGE= ${_CW:tl}.${${_CW:tu}_FORMAT} -cw-${_CW:tl}: cw-${_CW:tl}-${VMFS} +. for _FMT in ${${_CW:tu}_FORMAT} +CLOUDTARGETS+= cw-${_CW:tl}-${_FMT} +CLEANFILES+= ${_CW:tl}.${_FMT} +${_CW:tu}IMAGE= ${_CW:tl}.${${_FMT} +cw-${_CW:tl}-${_FMT}: cw-${_CW:tl}-${VMFS}-${_FMT} ln -f ${${_CW:tu}${VMFS:tu}IMAGE} ${${_CW:tu}IMAGE} +. endfor . endfor .endif From nobody Thu Apr 11 15:05:19 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFjg40QK8z5HYp5; Thu, 11 Apr 2024 15:05: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 4VFjg372vlz45T0; Thu, 11 Apr 2024 15:05:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712847920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uqtrfq3mukNVeq3U9TUQ7PggdeKg6jTq8O3TxUCwvWs=; b=WPeehPkJGSF4sAJCvK2ARfgvJUVFpJx3quiXnDviSzqetjg6WpqelMCVVIlRDb9nMEESdI ZlqUWHG87Urii7Ise/VVNajANi9UBJ6Re43vpvwZN4PAIF1zacbWfyio6Xg6skhtryh5cG Dj4GzmXFYeJ9j2nAM85KOeZGLdnDOrfUgg4d8+VV6EgOr0knVwSEmMOodn93Vl+tkLMwht VupW5UjYbNVvCZoC+ai0HZLBdGt1l4QXiVHI5EG1PykaYLBjNYFsAueQptoQ1pKxBQx1VW VdFoECktEXjc5QpoMp/KH8OK4x1ZL49fC/keXJsUNyEKLK83vEDH2QlU57Et5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712847920; a=rsa-sha256; cv=none; b=OWSZFTWbfvNMKTx1DHyh9bFEElDHcLDDGX8u6GEgyW0BS804YLDVEoB9Ds6wzYOO7riqbJ n8XAKw7S8u9FKtuEAQfK0P291RGJ39MGm6SUtNKVuNUxRylraU1CX+6agJYqfddUELNCKy Pc1IV8kRJ3Y4tirwqW9LnOilgFyVJQrnmhjuN6Fz1pJBCIRPet6vsPsqKjB3wfWbzTQdBs zKQqoddiZiBnq5MAiTJfEI5Pz4PmGGyBghiAoW+tIMmaONSUcWWyqmQ7cJJlr/p/BvFYcr 7/oNPVknKVVQQFzGJGaKc6f+fcKnRuEW8KMies9f1A0PGzBRIZAcmukAsGNytA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712847920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uqtrfq3mukNVeq3U9TUQ7PggdeKg6jTq8O3TxUCwvWs=; b=e4A6mDa7mF6DhTenP8TAmO88wgzabcQROJ6oeCnsGJLjUbMwJPutx0nehYlxWfdTBV4jH0 MdBmCJKrAVWYmSQPpxlSKUcgMj5IRT4BKE3hHhX8boCd9dtJYH6l/BQBI1ll1kqyMGsey6 HRtdSRaNE6SRM26QVdcgdPYYaFrJZrS4B3dsuptIVRGRsxWLSJEXVRvcAH7Zxz1iN8Rvym O3s9VAa9ftOWNiBPF5jPRIvb4euqRVs0nIaC40a9TGvKeQgRKcGm+xZF3BI9dWbe3N3cj7 7L+CXEPPXJ+L7QuSmstMhb8lc5e5yMz0KDh4PQRU67xhZotLAkk+z3sY6JSuQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFjg36X2fz1Q2C; Thu, 11 Apr 2024 15:05:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BF5JgD016706; Thu, 11 Apr 2024 15:05:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BF5J37016703; Thu, 11 Apr 2024 15:05:19 GMT (envelope-from git) Date: Thu, 11 Apr 2024 15:05:19 GMT Message-Id: <202404111505.43BF5J37016703@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: 52f3d650894d - main - arm64/vmm: Define a dummy _start symbol in vmm_hyp_blob.elf 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: dev-commits-src-main+owner@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: 52f3d650894d84a7986f915dba75823c5b3c1249 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=52f3d650894d84a7986f915dba75823c5b3c1249 commit 52f3d650894d84a7986f915dba75823c5b3c1249 Author: Mark Johnston AuthorDate: 2024-04-10 14:10:10 +0000 Commit: Mark Johnston CommitDate: 2024-04-11 15:04:22 +0000 arm64/vmm: Define a dummy _start symbol in vmm_hyp_blob.elf To silence a linker warning about _start being missing. This blob contains code executed at EL2 and is only meant to be entered via exception handlers. Reviewed by: bz, emaste Fixes: 47e073941f4e ("Import the kernel parts of bhyve/arm64") Differential Revision: https://reviews.freebsd.org/D44735 --- sys/conf/files.arm64 | 2 +- sys/modules/vmm/Makefile | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index 632fbab5070d..c7468b577dd8 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -131,7 +131,7 @@ arm64/vmm/vmm_hyp.c optional vmm \ no-obj vmm_hyp_blob.elf.full optional vmm \ dependency "vmm_hyp.o vmm_hyp_exception.o" \ - compile-with "${SYSTEM_LD_BASECMD} -o ${.TARGET} ${.ALLSRC} --defsym=text_start='0x0'" \ + compile-with "${SYSTEM_LD_BASECMD} -o ${.TARGET} ${.ALLSRC} --defsym=_start='0x0' --defsym=text_start='0x0'" \ no-obj no-implicit-rule vmm_hyp_blob.elf optional vmm \ dependency "vmm_hyp_blob.elf.full" \ diff --git a/sys/modules/vmm/Makefile b/sys/modules/vmm/Makefile index 1ef9e264ee97..a98f0f27e25b 100644 --- a/sys/modules/vmm/Makefile +++ b/sys/modules/vmm/Makefile @@ -50,9 +50,9 @@ vmm_hyp.o: vmm_hyp.c vmm_hyp_blob.elf.full: vmm_hyp_exception.o vmm_hyp.o ${LD} -m ${LD_EMULATION} -Bdynamic -T ${SYSDIR}/conf/ldscript.arm64 \ - ${_LDFLAGS} --no-warn-mismatch --warn-common --export-dynamic \ - --dynamic-linker /red/herring -X -o ${.TARGET} ${.ALLSRC} \ - --defsym=text_start='0x0' + ${_LDFLAGS} --no-warn-mismatch --warn-common --export-dynamic \ + --dynamic-linker /red/herring -X -o ${.TARGET} ${.ALLSRC} \ + --defsym=_start='0x0' --defsym=text_start='0x0' vmm_hyp_blob.elf: vmm_hyp_blob.elf.full ${OBJCOPY} --strip-debug ${.ALLSRC} ${.TARGET} From nobody Thu Apr 11 15:13:33 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFjrY25mlz5HZT2; Thu, 11 Apr 2024 15:13: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 4VFjrY1g1rz46Jp; Thu, 11 Apr 2024 15:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712848413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UCEwEmSsXiwKfm8z7t0Cv+q2g0ePm61qrSUroC2eNvw=; b=j0yZKy6l1BjniI2HhufnCu43i8bqzszKWJfO8Eowyvt8aPr5/KnChRZbompun7ZA32AXRB xQdvtJTiF2H+jzv/0kMYIy9TofGFixDgXYhlv8VxPfQWTNOxdGI/OM+ZGLXC5H2KorIBvt T28TlrvpVI0K9CN1DZ51EoTMknABvYVQ5JAwcricGoiCwG7JuLWoWYLZUc7uQKgWsyBd7V 4Zw4uSAt488+FJk4dognxT2e4H9vYq9vht48OtGjQNvo3fkJ4tQFtLeflLKTUJExY1jE56 AM1AYf/ETxlaBsc2rbFvTzPZBtfUAioLJzBnfe8+KS4d3v4k2G8RKw7RpU8dqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712848413; a=rsa-sha256; cv=none; b=dMl/gz8i+2xFUe0GeKgB3ot6wawONVg6kZnueryqQ07TpjmfmTLrzvofSW3zzifZTTlwOk 0qd0phIfFfmridqWY92zLL0iHCpduFZkzsfaB66KN1+r/xOA1frzQsaJNGFceSnRnECS7T 1TMuXW0sY4xfcImLQAlbZas3K3q21Ei9KthjRiL7C+b4t9phVnW6qYylKWd7Trlmm6qX73 2CfOHdxdrOyDt6h4AxKAEhMdpZShe2EA8zsQOieL8dyZsfJjNNUdaPRtuAp8K9bcEimplU 7FrUMgqUvzKkGrW9xXIyFOUN95pflzyTCBpPWqrF1Ta+2eCbrTi/a0H/qDCUHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712848413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UCEwEmSsXiwKfm8z7t0Cv+q2g0ePm61qrSUroC2eNvw=; b=rBhqB9CfNG3tkSaA/gpa6dOHro6t9NR6cNkVDcxDYgWo8HRyFKyH0uUbhsqixHTfaJpgWi 9L/8oTKmw6grJjyuVfttkIoxQt0y5iwRfpv1bUF1CY2fthovL93im9dmyGgBxLmycFxgmy Z2W8jwMaNjSmanHQF39Nu81ZCHPdzVuwlmJyfela/vp4AQjttITlMIoN932zYHPeokC7C2 Y+dZ69BbrSt0COjAm0NvLY0fE1Gbn0Ls++gMnjdPM21A+1DLn+f+qZ1nfi6PuBaA2Okzrz ITxV8M2YfUGMgJIwq8PkuMgIBqu13lO555U5YnwPGjYENDY7amTNT5NO6R4WkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFjrY0zHwz1QBD; Thu, 11 Apr 2024 15:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BFDXxH032805; Thu, 11 Apr 2024 15:13:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BFDXDX032802; Thu, 11 Apr 2024 15:13:33 GMT (envelope-from git) Date: Thu, 11 Apr 2024 15:13:33 GMT Message-Id: <202404111513.43BFDXDX032802@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: eeec7a1199d0 - main - Revert "cloudware: allow disk format to be a list" 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: dev-commits-src-main+owner@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: eeec7a1199d0ce913b40fedb9d7e0d08d3f4f9c4 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=eeec7a1199d0ce913b40fedb9d7e0d08d3f4f9c4 commit eeec7a1199d0ce913b40fedb9d7e0d08d3f4f9c4 Author: Baptiste Daroussin AuthorDate: 2024-04-11 15:12:52 +0000 Commit: Baptiste Daroussin CommitDate: 2024-04-11 15:13:29 +0000 Revert "cloudware: allow disk format to be a list" This reverts commit 6ec9aaf63c81a68881cb6312f777349a0ac82ad5. Requested by: cperciva --- release/Makefile.vm | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index f403928ed78a..a52e3b9bac81 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -30,7 +30,7 @@ AZURE_DESC= Microsoft Azure platform image BASIC-CI_FORMAT= raw BASIC-CI_FSLIST?= ufs BASIC-CI_DESC= Image for CI -BASIC-CLOUDINIT_FORMAT= raw qcow2 +BASIC-CLOUDINIT_FORMAT= raw BASIC-CLOUDINIT_FSLIST?= ufs zfs BASIC-CLOUDINIT_DESC?= Images for VM with cloudinit disk config support EC2_FORMAT= raw @@ -99,37 +99,33 @@ QEMUTGT?= . if exists(${.CURDIR}/tools/${_CW:tl}.conf) && !defined(${_CW:tu}CONF) ${_CW:tu}CONF?= ${.CURDIR}/tools/${_CW:tl}.conf . endif -. for _FMT in ${${_CW:tu}_FORMAT} -. for _FS in ${${_CW:tu}_FSLIST} -CLOUDTARGETS+= cw-${_CW:tl}-${_FS}-${_FMT} -CLEANDIRS+= cw-${_CW:tl}-${_FS}-${_FMT} +. for _FS in ${${_CW:tu}_FSLIST} +CLOUDTARGETS+= cw-${_CW:tl}-${_FS} +CLEANDIRS+= cw-${_CW:tl}-${_FS} CLEANFILES+= ${_CW:tl}.${_FS}.img \ - ${_CW:tl}.${_FS}.${_FMT} \ - ${_CW:tl}.${_FS}.${_FMT}.raw -${_CW:tu}${_FS:tu}IMAGE= ${_CW:tl}.${_FS}.${_FMT} + ${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT} \ + ${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT}.raw +${_CW:tu}${_FS:tu}IMAGE= ${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT} -cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} +cw-${_CW:tl}-${_FS}: ${QEMUTGT} mkdir -p ${.OBJDIR}/${.TARGET} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ QEMUSTATIC=${QEMUSTATIC} \ ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} -F ${_FS} \ - -i ${.OBJDIR}/${_CW:tl}.${_FS}.img -s ${VMSIZE} -f ${_FMT} \ + -i ${.OBJDIR}/${_CW:tl}.${_FS}.img -s ${VMSIZE} -f ${${_CW:tu}_FORMAT} \ -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}${_FS:tu}IMAGE} -c ${${_CW:tu}CONF} touch ${.TARGET} -. endfor . endfor # Hardlinks from "foo.bar" to "foo-${VMFS}.bar". These can go away once all # of the cloudware code knows how to handle multiple filesystem images (or # at least knows the name of the UFS image). -. for _FMT in ${${_CW:tu}_FORMAT} -CLOUDTARGETS+= cw-${_CW:tl}-${_FMT} -CLEANFILES+= ${_CW:tl}.${_FMT} -${_CW:tu}IMAGE= ${_CW:tl}.${${_FMT} -cw-${_CW:tl}-${_FMT}: cw-${_CW:tl}-${VMFS}-${_FMT} +CLOUDTARGETS+= cw-${_CW:tl} +CLEANFILES+= ${_CW:tl}.${${_CW:tu}_FORMAT} +${_CW:tu}IMAGE= ${_CW:tl}.${${_CW:tu}_FORMAT} +cw-${_CW:tl}: cw-${_CW:tl}-${VMFS} ln -f ${${_CW:tu}${VMFS:tu}IMAGE} ${${_CW:tu}IMAGE} -. endfor . endfor .endif From nobody Thu Apr 11 16:28:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFlVg4FZGz5Hgnl; Thu, 11 Apr 2024 16: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 4VFlVg3mf1z4GYx; Thu, 11 Apr 2024 16: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=1712852891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AkrU5RKpX/da8lJx10zUb3l+PHH95P0U6htD2PTkiPM=; b=cgchABrywnPg641ipXC9RnjJJfGZvt738ltBi+nBjEqNdDDiblOKcgQ85Pulk20trgyI7F IzctpU/CBEJ/Gn6zl57G5/LwQLNKIsmplc3yhRmLSxBwHTB/aSFmH9/SH8J41+NUfI6c9H nE1XgFKHjevGWcBaEKSt9epGBrCzhgDYXEbECex23biNvyFv/jefoYMYUxR1OnTZyjXP2M VWWJaXqwxUE9bk5WywLSP1wwD8ocuNAVDyxtnqBxWBF8yiV+4W9WKETnvXtmNq94CSTF0j V9/czEtzeEOdYvdyfNVIH2kcfGZoxYf/uAcrwxIaCL/ZwVWJUzjlY0CQ3GDyzw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712852891; a=rsa-sha256; cv=none; b=Tlvee1S91o4rm42IbPuqn2b9jezEpxhQczYEBm4MewiZIo3NjrkPEiNbW3QAxZ0VLfX1GA 7Mn8riAN8R2MEXzsB6XGTeXyrl8b1qk2B4E4LcE6YieFF1i4m6UdkGwIP8YWRfN0rMLTDw 1PiwB+yV8q/HX2Diy81Cc/uFI7GsRaAyL2jAqMvJUXMuY9uQVfITR6Ni7uD37pE34rdXPq A/NXAtqPLzb3UX+pWVeA+bO4J8BoZ1R1TfT9jDO8riMq+aooN1QnkqFBLKfQTXiZBy7aSh vrAjaq1BIz03FVHOmECErYPariyBwbQSpIfITd+y/eQn4nCSjpVUTRBbi3Yh5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712852891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AkrU5RKpX/da8lJx10zUb3l+PHH95P0U6htD2PTkiPM=; b=sCulq2gtYS3mKb+6yeUQM4ceyill6Fz/u9nwmafTHsqcAdaA2lsKA4F7YmdrCM0jZdkz3h Z4JmEhnFYZu3K+GeIb/r35eXyoSGS6Vi33NXWpaAlG0Y+bc5yn7EYrrw/TDDKaePAv4j63 8rPCiPDA/tER6/+ruZzr5bGSm/BrnO88NbVOWAGqAmK3/s59sG7LXizYPsX9GRIzft0T4f F2HyiGbBl6jbM9WDRHwBsmE4Xt9Cl5M0wXRua3uvbC548zMvAiwnLFt895PnMczeppF0qS kmnPS5yVwu3vSexvB++JtRYoPtuxrdsWTEgdm1tJ9f+pps/axvttQe/LAERGQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFlVg3NDgz1SB4; Thu, 11 Apr 2024 16:28:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BGSBYU051765; Thu, 11 Apr 2024 16:28:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BGSBQV051762; Thu, 11 Apr 2024 16:28:11 GMT (envelope-from git) Date: Thu, 11 Apr 2024 16:28:11 GMT Message-Id: <202404111628.43BGSBQV051762@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 6f454c211b29 - main - release/Makefile.vm: Support read-only ports tree 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: dev-commits-src-main+owner@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6f454c211b295ad13e80fc5b858efc9bad33e33b Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=6f454c211b295ad13e80fc5b858efc9bad33e33b commit 6f454c211b295ad13e80fc5b858efc9bad33e33b Author: Colin Percival AuthorDate: 2024-04-11 16:24:59 +0000 Commit: Colin Percival CommitDate: 2024-04-11 16:28:05 +0000 release/Makefile.vm: Support read-only ports tree Build qemu (if needed) with WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles so that we can have a read-only /usr/ports and don't contaminate it. This became an issue when I enabled parallel release building, since one image might be creating its ports.txz file at the same time as we're building qemu as a prerequisite for building another image. MFC after: 5 days --- release/Makefile.vm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index a52e3b9bac81..de73749f1985 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -76,7 +76,10 @@ ${_V}!= eval $$(awk '/^${_V}=/{print}' ${.CURDIR}/../sys/conf/newvers.sh); echo emulator-portinstall: .if !exists(/usr/local/bin/qemu-${TARGET_ARCH}-static) .if exists(${PORTSDIR}/emulators/qemu-user-static/Makefile) - env - UNAME_r=${UNAME_r} PATH=$$PATH make -C ${PORTSDIR}/emulators/qemu-user-static BATCH=1 all install clean + env - UNAME_r=${UNAME_r} PATH=$$PATH \ + make -C ${PORTSDIR}/emulators/qemu-user-static \ + BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \ + all install clean .else .if !exists(/usr/local/sbin/pkg-static) env ASSUME_ALWAYS_YES=yes pkg bootstrap -y From nobody Thu Apr 11 17:34:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFmzN22WMz5HmWw; Thu, 11 Apr 2024 17:34: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 4VFmzN1005z4Pvb; Thu, 11 Apr 2024 17:34:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xp+0e3scdVPUDs3K+rF/znje7Yxt8YxHBLNM4rKCxtE=; b=ABANeGuDtzeWnrfWnF2RcMQ+kGQLbhmZoC8cm3ISPaz6pFn1+7F94GAROvLEei0oiQq6RU HXYrEl8XxXrchD7VezWOCnP1hhkuw7asK843CkWXxg3HA1l+RveJ69z2DENj2W8TvY6IGG H4JbUff/HR0fxEHcjvkVSKN4muB8+6DUMzpeu4rkZnblur9hdpXC9HIJY2439vK+ytNM6d eVopBMvOnLAlNkFOziZ6dgVGG1+KxUwW29VDPtTlkKPt01UKXFftoDv5Kb71ibYwo+SIYD AFiqDgXlg1T3f77xZokFUavRRgrNIcUhYA0h9i79P6vkbOsETZYviJpobSq+Uw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712856880; a=rsa-sha256; cv=none; b=d3r8wL3HsRpB8rI1U+ICbqzrwudgHPEgpfHCqFOZr9lQdgJB8yBf4LYQnnhn8kPhgxfR9F uLooJEtQWtaMutQThDonj8dCcBBMsJyZocQRIyLji08lJ9zgth0KC9i8s1IXwmywx5yYLm Fe1ZEO3VEwh6FlYBt0qpnLKm8PXD0VSoitIEdocwtQHSpKYwAab4zYQovlULcrryqrZnEe Y1Cs/+3dU5gfM3TUrq3nqRXyPphLNVUo0it1ty+TZBYKGtXQXC5QBXYMdjbtYN42pwWmKo z101oo1cRpdsIWWs3X5eJXvWUMth9rz96sOMwktpAmXKpkEEnT21gGVpSO357Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xp+0e3scdVPUDs3K+rF/znje7Yxt8YxHBLNM4rKCxtE=; b=SmDW4FOXp/C0xDXKZ4DBFxZYALrpMB1s4pe5x82/4Y2D0/IKODlSt2rSYrn9ZfTVaDy4/7 /i0dAjAM5dMAmXmc9T0yuh//xo4qk20i7ynFDGNKF52U8MjVXoL+W2syxf8Ae/kLbqGigU SApecWyGTa9f56aPRy0SMATZFMZKOrm30RBP6W+OkAPuOcFnzx4NvW9hKlWWgBluhe5Uqz IzWGzKL+QkorNWRT3aeGc8g1kL1sIpdt7pskDSf8YhUwqmkQfQQ71Tv6mupo1/2n/0YM+B PX4rvoUQg4nMtCHQF81V/yZPVKJ4QijZeaf7f7lfn3f2t4ag3yeo08SbeYAqDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFmzN0ZXyzFxt; Thu, 11 Apr 2024 17:34:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHYd2b069726; Thu, 11 Apr 2024 17:34:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHYdiS069723; Thu, 11 Apr 2024 17:34:39 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:34:39 GMT Message-Id: <202404111734.43BHYdiS069723@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: f6df79ab8d36 - main - msan: Fix 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: dev-commits-src-main+owner@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: f6df79ab8d36176c91219840729baa56d738c9ba Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f6df79ab8d36176c91219840729baa56d738c9ba commit f6df79ab8d36176c91219840729baa56d738c9ba Author: Elyes Haouas AuthorDate: 2024-04-11 17:27:28 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:28:09 +0000 msan: Fix typo Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/885 --- sys/amd64/include/msan.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/include/msan.h b/sys/amd64/include/msan.h index b62b3c243505..00b0b636d6d7 100644 --- a/sys/amd64/include/msan.h +++ b/sys/amd64/include/msan.h @@ -81,7 +81,7 @@ kmsan_md_unsupported(vm_offset_t addr) * The kernel itself isn't shadowed: for most purposes global variables * are always initialized, and because KMSAN kernels are large * (GENERIC-KMSAN is ~80MB at the time of writing), shadowing would - * incur signficant memory usage. + * incur significant memory usage. */ return (addr < VM_MIN_KERNEL_ADDRESS || addr >= KERNBASE); } From nobody Thu Apr 11 17:34:41 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFmzP2JTGz5Hmx2; Thu, 11 Apr 2024 17:34: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 4VFmzP1gMGz4PsM; Thu, 11 Apr 2024 17:34:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j7ouDLMsEEqDRPdCA5BaAFj0gw4G8IevBB7Btd8y2Sc=; b=gMLV4Kp3PD2Y/PCqcSg1SZThvWp5XWk4sGh2d0bK6evDVnhG98AHxLeMeId47WZ/aUOapT f4kbJl6OPDL1AGm3pKVth/F4D1BWgvcS8fVvSIsr1dNN2oUEN50BNFN+8G6gzapbfoQQNH x4p7nbAQLClfyk1TWhuxvXL8iWFwKBsvaI/cDwKNtWd3Kc/xROiDaJXvROG2BehgV4zQWr x1IlUKhP3HcuwJt9NkNZxo2D5iLPXHDwbJ+dop+Crdo8sQs42Oz5i6tov1Ru6cKSOhk4RI XzSRCpBhstFmHO3b2f28ZDwG7/TEhCTbXcZhnmhHMX5uAeMAFrO5o+2wzGYbMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712856881; a=rsa-sha256; cv=none; b=ur1eTM3fz9yAi8llqfVDHkUMz9hVeFQwMXyWi98tFm21Qpo6nhnZ9TIw7AYDySVbx2Ikp3 QlcaHqnWFaCuM8Yi1NhtWSQbIT5L0Yp/+9kQ63nUt9HCcjBgOw2BmUIiR6JpOjwEIz0O2r 9zDBefDkCrtxPh0H+y0Dxw8mt9tRle+eqScneYXNyAJ1WSQaczk4hiUfBo2GmtWmNZDEtb LhtXG1wy1+kuxnm8N4zMk0xnhrEfhvjBqwQIks1TvakDAEWITzy1OF+plgk99EmhEbwVcy ZafkUSQwqCKXUBQuKV/VMHOivXROeF9zvv1/RlIKRdz0j8HXQlcavBoRUwYwaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j7ouDLMsEEqDRPdCA5BaAFj0gw4G8IevBB7Btd8y2Sc=; b=fMcNRZzNah5BstHRXtO7Yl5dV9aTb1hyPT5Ha6Pa/CId3on+AuCkukK2Slu86uMMnkknf+ Dj0EKNyhHy+hcjg85gu54tGLDXBqs19Ruqfho6GDokUAqpiu0J304axgpHmEh+xVpNazSP AnCjFJX09OhjDET4jCwJYdMx0OHLUaMIUhK0fPFSy1lVGjDjw1KOPzFmJce4O7Fj67lZWk InkIpDwSl+X2o87+6x6urJr6fZW+pX7U1bq3YUdMMvXKhhDaiYlxMfli+MgKH+NzdV3pW2 qKMUImm6WoR+LPrfxTrn2LvZnWxgj6sMO2DmJ2JVt+IAHWnWlGmNkXD4VwmGnQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFmzP1Cg0zFTw; Thu, 11 Apr 2024 17:34:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHYfO0069762; Thu, 11 Apr 2024 17:34:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHYfFx069759; Thu, 11 Apr 2024 17:34:41 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:34:41 GMT Message-Id: <202404111734.43BHYfFx069759@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: 73bb5aea88da - main - atomic: Fix 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: dev-commits-src-main+owner@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: 73bb5aea88da5c02676ad606c215f442d35e68e8 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=73bb5aea88da5c02676ad606c215f442d35e68e8 commit 73bb5aea88da5c02676ad606c215f442d35e68e8 Author: Elyes Haouas AuthorDate: 2024-04-11 17:27:28 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:28:13 +0000 atomic: Fix typo Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/885 --- sys/amd64/include/atomic.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/include/atomic.h b/sys/amd64/include/atomic.h index e5f21b2efd05..facf6da844d3 100644 --- a/sys/amd64/include/atomic.h +++ b/sys/amd64/include/atomic.h @@ -102,7 +102,7 @@ */ /* - * Always use lock prefixes. The result is slighly less optimal for + * Always use lock prefixes. The result is slightly less optimal for * UP systems, but it matters less now, and sometimes UP is emulated * over SMP. * From nobody Thu Apr 11 17:34:42 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFmzQ5YHRz5Hmd6; Thu, 11 Apr 2024 17:34: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 4VFmzQ3MPCz4PY8; Thu, 11 Apr 2024 17:34:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=My4R06LCVj04qYveSpbIhD/odLsxO+amr5f2EiXx8Qs=; b=Ho2HQHckF1NErwBIOqXWFCJajwoaizgGJ4yvfuoepEEbmeVLZUABZr6h5EKj377iNfi4Ol 6uYBA8szAw8n5f/i1OF+yq6j+zOIuUcPx31ex7xP5sptozFD/W/c6E/X7h7DFe0qfCwIIy EJV4I2rwnKCkA9YwrtdZHro/ePgvUGtaGDAxv8QB2AyQQebyGAASPSIM33U6iKN14bgYFD g1lR7jRGRdUbqUDH82LfnjOjecpO4pPwcECzbcHH/CxGu3YzT+Vk1WEfR9DAQPePYSCpH5 fINWWsoaB4//WiYBuxkgpJWg/pt/hRQCSqtd0DDn8D9DIQUKVqOsIGgf0bIc4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712856882; a=rsa-sha256; cv=none; b=FkhlZqu4/2pd2vYM4RUtafl7b8CUFzwJ4eqvex12UPtqbNweWA3IWjqE1ukQMAmfbrgbgS jdmKURsNta/zqdxMM5jtJwpMOYwyZ9YIC43c+NNcJC8KjXnJ2yDx7DSg5jQYAkkuiFGjZH pIEPIGfEicHJhwvWNngOjivrFDEteWmvhXS1VLvP8bjrLXIMPgyAjG/mMq7ThCeatn15S/ 4PPZKZR2zcCvZLrojLH036RUV76LZhkhHXxHOQ09qauRlQgv4ghMtyw/7nH7rLQjWCApeH oy5mJI9AWejmGHs9S8LG/o9lHnvE84BTPtFsinpTzLgQvtmagsqKr8AXs1xgRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=My4R06LCVj04qYveSpbIhD/odLsxO+amr5f2EiXx8Qs=; b=VaU2xlsE6yrTNVRrSObQHMxsDBkPRHwQS+TPldN1tdweyJAdKn0U9F0zGm/y3GXEDPQ+YY T9GFi8m4XXGUR6kaGtuzJo5SY38nZXN9fYj62c9nrEJOJ3v7iFuJXnUNBUse+Ybr4+1WZv x+JjXkH8BCYw4YjlvHuppdYk6XXAwtoZPVFpZap4Xr5O7e10ZdBjdK+2NFo1AhHWQWRwGR FwUTmQlROrhrj6rTZDOcTBQX/1RTi9prHLA9iBrU9IKYP8vPj8cQc8g6aeTV4OYlfuG5vD 1eMJmEM1/6wkBdJdYApbI9TSNNcWL7O9L5gEsZ7ylxqBMVWIjHBYcDTDhk46DQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFmzQ2VVrzFZh; Thu, 11 Apr 2024 17:34:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHYgud069798; Thu, 11 Apr 2024 17:34:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHYg9l069795; Thu, 11 Apr 2024 17:34:42 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:34:42 GMT Message-Id: <202404111734.43BHYg9l069795@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: 1eedb4e59265 - main - vmm: Fix 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: dev-commits-src-main+owner@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: 1eedb4e592650889d0eff7afef536e454e576f86 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1eedb4e592650889d0eff7afef536e454e576f86 commit 1eedb4e592650889d0eff7afef536e454e576f86 Author: Elyes Haouas AuthorDate: 2024-04-11 17:27:29 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:28:16 +0000 vmm: Fix typo Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/885 --- sys/amd64/include/vmm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 7d5d13678122..08c54ed7c49b 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -446,7 +446,7 @@ int vm_get_intinfo(struct vcpu *vcpu, uint64_t *info1, uint64_t *info2); /* * Function used to keep track of the guest's TSC offset. The - * offset is used by the virutalization extensions to provide a consistent + * offset is used by the virtualization extensions to provide a consistent * value for the Time Stamp Counter to the guest. */ void vm_set_tsc_offset(struct vcpu *vcpu, uint64_t offset); From nobody Thu Apr 11 17:34:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFmzR5HWpz5HmWy; Thu, 11 Apr 2024 17:34: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 4VFmzR3W63z4PqD; Thu, 11 Apr 2024 17:34:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+YLrSrRU7P9nTjepZOg6whKan9qZElXq87H50R1e7VU=; b=rd05dBHt7xM3tyraKIkaKKYxmefRigDlHEbTQ5bPHRuH2ZMkqiyGlZHx7tmnKUX08G+/Wa XumFMq5qtGiKR5dbWLEZ6yO/aFOH9ayDDuh+xzOdwymzzQqkkFi62dmTp+LJGJFN+l6fKv BS2g43/oPeyRVYsByFWXf13M7hY38nTRXsPXStv9IdYWzZjVxaTTYhYSu3Z2R/WLlYYKcM a5SJPrE/tv7HGbegMENxcp1rXmhoAcn5/3BNyRzgJ/b6trXTQJTqYRx+6ke58MEUIb5uPM eT4jxV3j9zD3zrkMDf61KyYiAwOlqnxAgVypOsjDi0E3XSA9MHegneK9JHPdMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712856883; a=rsa-sha256; cv=none; b=T1WkpqDGIXGm0z4AiBpzkduJl36lKr920GEmH9HMyOE3vZfTuyiEQpSqLtdKyf4FwoP9AQ e56eyS1vOp5JCSFbvnEnj5ZNO1OSN34aljPp6ryhRHmWxgMQ75kRoYe3MHzRzbJhVwUgPx SBmxfCSb1QsfEpPEiDtH7XAi2W5yHuts+UP1AfcbkfJSNOCx1OHXRt70aXYJu/mN0D/BxI Utr8Jtu5skWxG03w+/NNnY7I4dPcXWHr1aKuicIW+bDX/85U1gjJW9rOZbvDYpWJt+5ZeB Ec/k2ZfdWDMHAQCN65+s8pguG8WgTAeUI4yTPzmh3u1FuoAOk/MQuaNDuYQiJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+YLrSrRU7P9nTjepZOg6whKan9qZElXq87H50R1e7VU=; b=miRENP9Bs126bY99PUoTY8GfvT4d8CHHavjQ0TqeWJOCkS+1RFSaNHTlD730eMkQqjlpAl C/DO0O0ZsIpxNdv/EvKpEuMx5kVO3ccKWVi9Ceuo2PfpFip0YAvhA8LoaNfGd+tgmXDTGC lm6mMpfZoOA+nNilSq4PGo+a0sS/nFutsDneBgRyTooHer5nkZke1jYKqL7BnL0EHGySrm bURJ9eJ4BpwzOHnLVi9WwjmqP9SH2iwH7UbyHR70FQA30C/WHJ/IP04FemvluZdhzb2uwB 3Dxq7G/jldB1bhu7Am5AlkYg5/w4yOtmSZ1/g0XdrQDpW4yb0A6sJ11t6oAcyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFmzR2yBqzFxv; Thu, 11 Apr 2024 17:34:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHYhb6069834; Thu, 11 Apr 2024 17:34:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHYhFw069831; Thu, 11 Apr 2024 17:34:43 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:34:43 GMT Message-Id: <202404111734.43BHYhFw069831@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: b8d29d68c46c - main - pmap: Fix typos 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: dev-commits-src-main+owner@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: b8d29d68c46cbe7ab822889de8f2fd963150ed1c Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b8d29d68c46cbe7ab822889de8f2fd963150ed1c commit b8d29d68c46cbe7ab822889de8f2fd963150ed1c Author: Elyes Haouas AuthorDate: 2024-04-11 17:27:29 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:28:19 +0000 pmap: Fix typos Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/885 --- sys/amd64/amd64/pmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index d74c40915fe1..ff702ed2dcfb 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -9437,7 +9437,7 @@ pmap_mapdev_internal(vm_paddr_t pa, vm_size_t size, int mode, int flags) panic("%s: too many preinit mappings", __func__); } else { /* - * If we have a preinit mapping, re-use it. + * If we have a preinit mapping, reuse it. */ for (i = 0; i < PMAP_PREINIT_MAPPING_COUNT; i++) { ppim = pmap_preinit_mapping + i; @@ -11030,7 +11030,7 @@ pmap_large_map_wb_large(vm_offset_t sva, vm_offset_t eva) /* * If we saw other write-back - * occuring, we cannot rely on PG_M to + * occurring, we cannot rely on PG_M to * indicate state of the cache. The * PG_M bit is cleared before the * flush to avoid ignoring new writes, From nobody Thu Apr 11 17:34:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFmzS5np1z5HmV4; Thu, 11 Apr 2024 17:34: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 4VFmzS4hbHz4Pyh; Thu, 11 Apr 2024 17:34:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ttpoN8RdBq4x18eNNdzh4OuTFywPMi2/IPMmsWwcUXo=; b=nvsEuWr4IrAZTzBRi7YP+n0rmaiWD1G6G0bTlB2GT4U74XSmUxlGlBT3puitj4RYvTtxEu pLHarxisJMtJkDv3SwU+gaDsI1qiu1rrm7d9fZYXNvlC4jKKdoR6heE9wE2atVdPUJpnyy 4zoOCmhf2x+PyWSRYufkLKG5VL9PN53RKoG8Bdg9BbefqUSjAukAUjSPFwSQvXvg0t8f69 vFuV0RYCbKPF1E0C22z9kDsBdye6LcEg5g6WbRIxZgV5Os6SoT9F0uSHG8REikwh+1/2LA 4NwxikgvsG59Z2ptZyKkyuyYhOzq+JP/DWsNlYEr2PZr0AvFrwbzKzW3iBbq/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712856884; a=rsa-sha256; cv=none; b=jchwm4Lf8e+FQyUKDVS04AW8W9vwiGr3+MdUrBVW06sB0RN9k4l9bMab+BwZurQbZxeTQw I90vAXPgpx419CtRQkdnipi/W+NCcTOpC4E4SIxY3UQMDBvgvScq0tCVSI93l/gnl+M73D XNKPmMh+1tV683kdRRtwkbVnUx0QIMEAKr1eL6KWz/3qlR0QqEKS0IN6nZ2CBxE2s7ggZi ylzhKJv1I0wVokpRRaeZV+kIKUOfgUASYOP3TI98KVjsj+oRhsslodJ646g3VG56mLDLvg +cj9z8TNkvnn0C+aF2py5RQ+PLRHsPLYOUtq2z2e+aJpr82q5/ojFhttkyegfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ttpoN8RdBq4x18eNNdzh4OuTFywPMi2/IPMmsWwcUXo=; b=XoaVHkykVPN/Ap6u2s7t3XPFIhDUEpgQwqJMlTANcLqV9xi4eiU0O7/WlMXkaHrqw1fffj kakFzJbYwPsGT23WphXxeO0TI4PBU+lQ8fyiB9ClCL3AkQbV6/WpjfxyZQxtAA4ol6JJYY DHji1MCqQxYD684IdsJqC0dXa851mkRvXgU8cHNoJfUtPKcMKW3/Cfv3L0Li5HJxUSmICe iHl3mDnRmgOpoJYwZVTbEsrXLElFbNY6aZQ0B6eS4VL+xYTzXOnLmHn00HQuOaUsWr+peS PIqH+JaUP+nWOaEWJG97XwJcEz9z7eWD6g/wQkLIXvmzC7CJIDOELYCqMsxhAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFmzS4FRYzFZj; Thu, 11 Apr 2024 17:34:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHYiSd069870; Thu, 11 Apr 2024 17:34:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHYiqw069867; Thu, 11 Apr 2024 17:34:44 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:34:44 GMT Message-Id: <202404111734.43BHYiqw069867@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: ca4ceadbe542 - main - minidump_machdep: Fix 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: dev-commits-src-main+owner@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: ca4ceadbe542ac35a0dd73d71b185f8384d5e036 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ca4ceadbe542ac35a0dd73d71b185f8384d5e036 commit ca4ceadbe542ac35a0dd73d71b185f8384d5e036 Author: Elyes Haouas AuthorDate: 2024-04-11 17:27:29 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:28:21 +0000 minidump_machdep: Fix typo Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/885 --- sys/amd64/amd64/minidump_machdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/amd64/minidump_machdep.c b/sys/amd64/amd64/minidump_machdep.c index 8960d743593c..6d0917e16099 100644 --- a/sys/amd64/amd64/minidump_machdep.c +++ b/sys/amd64/amd64/minidump_machdep.c @@ -97,7 +97,7 @@ blk_write(struct dumperinfo *di, char *ptr, vm_paddr_t pa, size_t sz) return (EINVAL); } if (ptr != NULL && pa != 0) { - printf("cant have both va and pa!\n"); + printf("can't have both va and pa!\n"); return (EINVAL); } if ((((uintptr_t)pa) % PAGE_SIZE) != 0) { From nobody Thu Apr 11 17:34:45 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFmzV13Tpz5Hmx6; Thu, 11 Apr 2024 17:34: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 4VFmzT5NKBz4Pnw; Thu, 11 Apr 2024 17:34:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PokKvMv10Q8gPn3NgHde6MNR3DD3cnC7Wi+ZHAga8QY=; b=yY3fc8KGwtmm36yjsanomyPQFJ0MMusZw5+04zr6LcXzFhcOKffhXWLtgxlz91o1TRl84f PQla3l+Lux3VnuYix7aL6jlCX0Oy5NH3R4OhuQCnUBhXkZeby+cDgkJ3mZfUplPoi+nmQS hz/9jgIX4RTVLEXNwQu+NvA44YonNwINHEEVSn6D7pU5CFLndWdkb+rG8Vpgm1KPqzl1qH f9LsFje9K4SnKhLEF+oOaBE1NwbAEpoiniK/yrzXcO+CG587ZAuCzjt/IOjenF+6ZdjjdX 9v7frHsyKcENaxw811k2El1VVEsfmUOFR7LBc9IFtCIFvKcqReoqzqwLMtNcrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712856885; a=rsa-sha256; cv=none; b=TYwlHP4TV8XZcK0uZ6H7G8buoYCqohhko1hXr1qTY3MafUs7JC8r6eOJpiLwLrZ/144BiS F6qM2ryCMJcec/gu3kc0VD4BAp5BLRAWLTREWxO24zLHXBSIIKUJceNB7HmDTOlHEb0soW PrR6eIXK84X+gAMJRcHjHWIQS0xShFdqXDeuxBX+b+CPrDVwfVxkBwh7tK9cbxT4bh8WwQ 9ilhHK/gR7I7oq9wMGehaoMGmPVMLrdtfjwPt8z0NNM87BUabWoRRE4SVcvT9O4f4TQV1K zJFNMczvJfON1hN4zpEbHuQy0GVeJhCg0Iob9egNdyrtFXFI3YYw/2C9K3+zDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PokKvMv10Q8gPn3NgHde6MNR3DD3cnC7Wi+ZHAga8QY=; b=u5s12OFXEOWvhOpAG6nYShXR7nXRF53U+acN7qrWHMRZxf5/x8E7ACLSN0m53y9RDA8DUG gEdLYkzGLHuhlLtdfC29BpM+o8f4llEXN/q2h+kYPRQl0Kkp2gUyMR9xHaYyBp2siQFOmk 9KOvWk320Nm6CqmMfrW4bM6sJ/dVmaHJYQhvmZAW613ALG5zyfHK2sLXEHaP4lfrq6xGUb bBLTGqlKtUVkhUTBNZyMZVwwtMSOr94cq9+Jp1QFaHdrGs9LTttmjnFm1gPAfKGCz8/d9w lfF/IgD/LaP07P0nmg38nsbx/HLZXgWKt6p4h+pQQizixzC9361NmClyDqvzhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFmzT4qcWzFXD; Thu, 11 Apr 2024 17:34:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHYjoq069913; Thu, 11 Apr 2024 17:34:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHYjOs069910; Thu, 11 Apr 2024 17:34:45 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:34:45 GMT Message-Id: <202404111734.43BHYjOs069910@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: 8551c31b2eee - main - exception: Fix typos 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: dev-commits-src-main+owner@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: 8551c31b2eee1bb10ad6bbd38f413e483447fc6f Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8551c31b2eee1bb10ad6bbd38f413e483447fc6f commit 8551c31b2eee1bb10ad6bbd38f413e483447fc6f Author: Elyes Haouas AuthorDate: 2024-04-11 17:27:29 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:28:25 +0000 exception: Fix typos Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/885 --- sys/amd64/amd64/exception.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/amd64/amd64/exception.S b/sys/amd64/amd64/exception.S index 90f7a88f5d52..7b6cde824203 100644 --- a/sys/amd64/amd64/exception.S +++ b/sys/amd64/amd64/exception.S @@ -207,7 +207,7 @@ X\l: * alltraps_u/k entry points. * SWAPGS must be already performed by prologue, * if this is the first time in the kernel from userland. - * Reenable interrupts if they were enabled before the trap. + * Re-enable interrupts if they were enabled before the trap. * This approximates SDT_SYS386TGT on the i386 port. */ SUPERALIGN_TEXT @@ -512,7 +512,7 @@ prot_addrf: /* * Fast syscall entry point. We enter here with just our new %cs/%ss set, - * and the new privilige level. We are still running on the old user stack + * and the new privilege level. We are still running on the old user stack * pointer. We have to juggle a few things around to find our stack etc. * swapgs gives us access to our PCPU space only. * @@ -1087,7 +1087,7 @@ ENTRY(fork_trampoline) * and bintr, and only interrupt handlers between the labels bintr and * eintr. This is implemented (partly) by including files that contain * some of the handlers. Before including the files, set up a normal asm - * environment so that the included files doen't need to know that they are + * environment so that the included files doesn't need to know that they are * included. */ From nobody Thu Apr 11 17:34:46 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFmzW0jFqz5Hmvp; Thu, 11 Apr 2024 17:34: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 4VFmzV6TWxz4Pr7; Thu, 11 Apr 2024 17:34:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856886; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CAs9C0E1Dvtlm4qUBPvMDJFnm7RuwdgNgh/iEkW8umc=; b=EFNNT4kp0OnCB8zKrJxjkY9AnpNSlwBWsFTgaldnO31ZzltXAF3nAS8+N151uaK56F63A2 OX0Qalm5n1hWSRsQaLMhwS0oF99j8cENFaPV4LMg6X0IKKfu2aEpWOladBSxLYnEAnAJRk IAkib6IwoyG1Prp5Vmornlv87gJ0fLsX6JFTe8riDLWbCnXhxlMLroioowC+83tOWxedB/ iPzOLJUaYD/vS1mYnCHLHrOnz43CNT5iFfbnDTVoKRXAA2WIhO6yI2OGTDiZtFldIU72dq rWAbr4ePOy0MzTgUp+dUPRZBV08v8tFBa9LAZUh9x4An0Ul4GwjV1d5Ik2y/Rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712856886; a=rsa-sha256; cv=none; b=s3Ywpi6uqoiMCNj2Qsn4q30siiV9W8y54ngUPEgKuZHe0/92LsGcrViXYuHqiu88IgjsIr dy9+jq6BXJiW42JD3c3b7qxb94DA2hhWkZ8knChMq4CapnSObHiLwpGesXtEVr5qnjdOxW 87b+GQvTD7NKUSXg9/VuiuOXJop+jHtj3WybciVD9sUTkeTB5/dCt8leipxGAiXFT/poxv rhQVOWYCGddf41JjLH5JDkHphtsypjQLau3gS4eePPM/eJlap2nWcEOkpbrEocWHa/45eE PKyVBFGMgQWPzRqoCgUA8pIn43Te0zDe6DgUjwz71Sq24ObUbbS/cx+HsR3T/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856886; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CAs9C0E1Dvtlm4qUBPvMDJFnm7RuwdgNgh/iEkW8umc=; b=tyg+ga3MWum21HiZ5tO/rnjeqXX+XMHhnmxMhlDC2sWFfxwbB8LPtA1ZLQHW9U2dcfjVhN FL8jC66P6FxTKFb8segqZ048YHli0MZbwjb+8nyRezeBKlxbcIQ1twzqS8r3xN7LT04Q5P lQXx5cU9LizH1KM0+w3J8NkF3CHuTEDC/t+D0bkKAg0i0w1fBoVXwotv1P6jDGk6lXloQA 8jviPDtIMbCLwWa+kYrPOwn/2VcDMXxITcxblApxP+BAujMWrkoXEX4wUCFZwYgl6Vr4hN PLsQji7LPnDd8x90FnG7aL0bzcN/POGRIvZNF+IfAwyz4ucfU+FESUnguPxOeQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFmzV63bBzFvK; Thu, 11 Apr 2024 17:34:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHYk05069949; Thu, 11 Apr 2024 17:34:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHYkPt069946; Thu, 11 Apr 2024 17:34:46 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:34:46 GMT Message-Id: <202404111734.43BHYkPt069946@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: 33afe704bf17 - main - sigtramp: Fix 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: dev-commits-src-main+owner@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: 33afe704bf1797b3720c4d45e7a8dcf1f0794110 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=33afe704bf1797b3720c4d45e7a8dcf1f0794110 commit 33afe704bf1797b3720c4d45e7a8dcf1f0794110 Author: Elyes Haouas AuthorDate: 2024-04-11 17:27:29 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:28:27 +0000 sigtramp: Fix typo Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/885 --- sys/amd64/amd64/sigtramp.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/amd64/sigtramp.S b/sys/amd64/amd64/sigtramp.S index 3ab9e32ca520..4676d5f67650 100644 --- a/sys/amd64/amd64/sigtramp.S +++ b/sys/amd64/amd64/sigtramp.S @@ -91,7 +91,7 @@ ENTRY(__vdso_sigcode) .cfi_def_cfa %rsp, 8 movq $SYS_sigreturn,%rax syscall /* enter kernel with args */ -0: hlt /* trap priviliged instruction */ +0: hlt /* trap privileged instruction */ jmp 0b .cfi_endproc END(__vdso_sigcode) From nobody Thu Apr 11 17:34:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFmzX1DmHz5HmgW; Thu, 11 Apr 2024 17:34: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 4VFmzX04FHz4Q6l; Thu, 11 Apr 2024 17:34:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j5IAXl/tyrm+exySCa7WEisr4ZJZZJp6Kcqh/fRLuzg=; b=SToFWvoHZ9q9NovD4KEUo7KX5dXQIbQ00SEqg1KW2XjKHVsnckT8XmlCbjTDyfUiMJZUGl Ig5x5NskuSskpdMOr2flpCPM8NFmqclHWnvLoChwa+VT8LDvF0sn/FITFKbJAfYuLbWCOv RaL41oir0cvL+qLI1m0FoFN8hNJ8EtlhaA3qi4SRO0oIwWJhobXU42cW/DMcPIDN9h3+zc TzdYEXQ/UMVMQCf45sVj20WDsPNUqV85XsOUWFnDDz2/O3oTPOqWghkGVchCZqqX+049tG bSlA9hjTU5cSmxSOnCj0+jLuNfStc1d3bUj8f1HVOvItfKIVMpPfYdyOoEQs3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712856888; a=rsa-sha256; cv=none; b=LqVJnO1FMqOROgqTlpoUi5ZIlPsEU24S+1ogLMzoTihjhixjzoNNKZnCXoNXioe3uWbTdE jYdXYD47rS2ieUtlWc7N6CDRsK58dLJqX1iVhgobmq/RlYZDZCY/SBVwhJdHCMC6K1WXsk ilFtH/7NZe1E4J3z7L4OwM3as82n+DCMg2JyA4D1rDEL7UJUbRf6WcRgPcxorILXsH20OW nQ9i9OE/bOdQptaqeO8jQ78qd/T+4h80QNvo5ghva2iLWn25Kpy0cEPk7hd+HVqY08iztY aPGToIGM9dAFBEhqesyXqGNdirSiYueMIPWAr4Bvnp990lOB1n5ChUotpWanpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j5IAXl/tyrm+exySCa7WEisr4ZJZZJp6Kcqh/fRLuzg=; b=tTtIwVHUpvRlvb8B1VFzw6/Awzv63jvKiIYRCyGj82vzBX0d4pd8TWq9foGs1v2v4IBkR1 G3KYZCebQNRrVH5ayDrrKjhVVibKb2XKMpkRIkTypbIiYhHxiGU1NE6mmPEZieUKqvLMj0 ojWndVSE9NjzVegfeD8EJ+5hWe3hs4umMKHz5S4Xh5lk7gIx0PDLviz0TiYXdx9nqAI0jk SZsB50N7mNACjwvxad0Rp/iYTYjyZnWDP45q7TzYjY+vjQWUAlo2sc7QNy7O4cg6LZc4ld VM6uZRiA26H0ZIdoLMtdwW5TWEF8uWbvgZO0XB9kXqtUIlHluLtLCym2wzk1ng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFmzW6mkxzF9Q; Thu, 11 Apr 2024 17:34:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHYlYs069985; Thu, 11 Apr 2024 17:34:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHYlXA069982; Thu, 11 Apr 2024 17:34:47 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:34:47 GMT Message-Id: <202404111734.43BHYlXA069982@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: 8d66b134f36e - main - vmm/x86: Fix 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: dev-commits-src-main+owner@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: 8d66b134f36e975efedfda7ca8d15ff4fc37063a Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8d66b134f36e975efedfda7ca8d15ff4fc37063a commit 8d66b134f36e975efedfda7ca8d15ff4fc37063a Author: Elyes Haouas AuthorDate: 2024-04-11 17:27:29 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:28:30 +0000 vmm/x86: Fix typo Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/885 --- sys/amd64/vmm/x86.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/vmm/x86.c b/sys/amd64/vmm/x86.c index 7a6ec461d450..3cf689217590 100644 --- a/sys/amd64/vmm/x86.c +++ b/sys/amd64/vmm/x86.c @@ -234,7 +234,7 @@ x86_emulate_cpuid(struct vcpu *vcpu, uint64_t *rax, uint64_t *rbx, goto default_leaf; /* - * Similar to Intel, generate a ficticious cache + * Similar to Intel, generate a fictitious cache * topology for the guest with L3 shared by the * package, and L1 and L2 local to a core. */ From nobody Thu Apr 11 17:34:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFmzY3WFJz5HmX6; Thu, 11 Apr 2024 17:34: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 4VFmzY10tqz4Q2D; Thu, 11 Apr 2024 17:34:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NeO901Tzczq4qvRBZc5oBC26rQyDu8F9tywYrRsMJPc=; b=kchyd0YNw3fCZSFCieJW45amswoZb908l4pGB4jlAMQjCf2rc5Vs3vLU8Xxw35/XypTiev w+UTB1rf/gPd9jN2ruhyxcHT25+M4SJj2g1Wl6hPqtwcDxdWGjhgvHFImJBvr+1QlIJr93 r0ZlBBztUDIPUMMrplQl3RaRdwW3P3o1CA7zN4W+VBcc51E7ABSJ6lCLxnDtpNogWe3eya MdlIhU91US/hEOitxGJQbqEZ+rkh48I+kMErtHxrjJ+0XQ8DR0olFkGVHl85z8ZiLskO8f sNZhls/zZ3M9+E9IbH3HMtPoG3vYbi2x5WC1qqj9bS1C47V+SyotAhONXc4pcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712856889; a=rsa-sha256; cv=none; b=S4yDIP1ugVAd/LJl73xInzDZBPOCPJzIwNiuqXKwL8ojSs+QSgzqGg1h1V70lvexick0XR 1eSNDgsFuTtfgCU+kYPovLOVJnLQl6nSh/sPe0AQFrnQ3fxD2wHXrWxmv4xVt/pH4r/Oie VUZpQnPatoqORgmt+kzRZy/ih9aa/kzALi+lhflx3q3ocSbEUhOW0Qx2C9pat4lpjOdb0S DRr+Z6QdCj2/1ZcsY78Q5fkIiFds91P6ZAI74oCuf6iIYVARgflXgDHcpT5aesdpYWizjT JEnZK9nOnjCRfRnhPrASiYKcHGOAmc7cmCYTEHFyks7rfoqaqzrC2kG+xHfLCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NeO901Tzczq4qvRBZc5oBC26rQyDu8F9tywYrRsMJPc=; b=NF/+EOGywxGOvhD2uERhh92g8oUunn6DMEOLnwNi9SPONDoN8oIFkvdjVv0NoA3Ezjcn0/ 0VvN2IisXlCt/eImHXP4OejVupnlX93g4Y6WVc4LNBgaOOckDRxmjx5513cp9i7LrO7qLm VPbbNwUcKKUbA0jfT/wPRYKayhU/DEQNdXbZy4rSdf8hk9E+TLbjr4J63bAH2Z9DUvfAlG ACjVJZ6sMi4etqevSwHQTq3qpWZlpkNcxPklLuceWlcfHSUxszo4nsTNXG+m+rC+yg7hh9 Y3aIniBt27tMEVATZrN7ohpWV+CbszRFma4HqyB768gZovGk8RHoBHdrtM2Zug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFmzY0ZVxzFZk; Thu, 11 Apr 2024 17:34:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHYmUG070026; Thu, 11 Apr 2024 17:34:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHYmoc070023; Thu, 11 Apr 2024 17:34:48 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:34:48 GMT Message-Id: <202404111734.43BHYmoc070023@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: ef764e4801cc - main - vhpet: Fix 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: dev-commits-src-main+owner@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: ef764e4801cc503303ae264fe6b005ae3640bbbe Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ef764e4801cc503303ae264fe6b005ae3640bbbe commit ef764e4801cc503303ae264fe6b005ae3640bbbe Author: Elyes Haouas AuthorDate: 2024-04-11 17:27:29 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:28:32 +0000 vhpet: Fix typo Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/885 --- sys/amd64/vmm/io/vhpet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/vmm/io/vhpet.c b/sys/amd64/vmm/io/vhpet.c index 9682de2eb2fe..daa85bccf14f 100644 --- a/sys/amd64/vmm/io/vhpet.c +++ b/sys/amd64/vmm/io/vhpet.c @@ -776,7 +776,7 @@ vhpet_snapshot(struct vhpet *vhpet, struct vm_snapshot_meta *meta) /* at restore time the countbase should have the value it had when the * snapshot was created; since the value is not directly kept in * vhpet->countbase, but rather computed relative to the current system - * uptime using countbase_sbt, save the value retured by vhpet_counter + * uptime using countbase_sbt, save the value returned by vhpet_counter */ if (meta->op == VM_SNAPSHOT_SAVE) countbase = vhpet_counter(vhpet, NULL); From nobody Thu Apr 11 17:34:50 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFmzZ46Hcz5HmdL; Thu, 11 Apr 2024 17:34:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VFmzZ1cqSz4Q4r; Thu, 11 Apr 2024 17:34:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hkgoItz+rCn9vAe8O5imuBlZxuEJ+Bvjw7JvC94oMwI=; b=wTmI2SFY/xIoKwnKwEaHyQUTSxiGq0m9LkyYpUQ8HVYRW012px6NnqfkV/1mdxniIZvKNq elU/0dpPZa5QsEdViJrfDxWSxVADrTohfdNd6oV1tPjS/ovEgZg6eNzVW5SNwJ+Y+UHN9J TQxGPa6cSYMroRr4mcYRNbbBlJ8tLJrOx3Jj0cWROtUNLpX5qFZ2jYOJ9eJBJlXBICvgO0 xnEx0EtkozbK5YDONsiALDejhHOBtTpWE8ug/AL48B5iTqWq+Vxwz0gxRbeQQ8OJbfjqo1 UWoOUYjJEPJuKb5F9JuRIYvU9e3zCFEH81agriAxhCv2bURYyegTkwkzPwxALg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712856890; a=rsa-sha256; cv=none; b=H1iXwEE/8MOTjxcBe1DzGL6sGYdWD398NBSwcr9vWsRnFSx3scclkR9pgK2WZJtOFHj7M0 YfR83LgHDw/BOP61iv0IwqcA8tlfaXkjlEO9Zik7SUGsmXZ6dbqqCqxZWS2htHiPAvMsKW aM4u1fjHv3DABt2HENwHnqJFJA54D6q915QB7a9xGqcKEOz0bJTUWKq5KLvhKDWEU7OGN+ /EC/HuNVj8zVYSLTCmIVe26/OTiAJItkIJB5y6Bl1wpJhPOixXlVF/gZNWZEXnW2fmnJKe Hj3bA6TIXvuE3v5J6TzAxC0MBiEg9o1j5gA3QBe/gbW6B7qLUp+NUTBK1/Du/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712856890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hkgoItz+rCn9vAe8O5imuBlZxuEJ+Bvjw7JvC94oMwI=; b=rK1DrSEbM2GZn44iDQlUx4C1P7IjfTRs7tGFbdw9yxjffiZDIPVO48LqwXqYqPwrJAgpsK RUY3GiGrhnw5PJ/Zd2AGnchmWYm54HS9QJH9dKFQzDk5XC8ddJy21JWg5JjHNYCZ4HdGYK +SxOEgsUu4TLQ0D+4Sin1hIxG3k6nPWOTGcEhpjfTxffHPrxV/io08HOoa5s4A9ngmmHF6 tyKwrBmpihPQd/yLkQc0JroQ5+PryJw8EGbwY1janoofdSzmX/mLbmh1YWdLlXVDvTndSk moKx2ztZ4+DVxbg5t0fdQUTEPBUB6FfIC5kJeErC+Vm9B3zd5zlwiVmu0Xu+yQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFmzZ1DpVzF9R; Thu, 11 Apr 2024 17:34:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHYoJV070068; Thu, 11 Apr 2024 17:34:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHYo4O070064; Thu, 11 Apr 2024 17:34:50 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:34:50 GMT Message-Id: <202404111734.43BHYo4O070064@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: c1aa50bf31c9 - main - specialreg: Fix typos 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: dev-commits-src-main+owner@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: c1aa50bf31c975d264d3eb5206cab950b50593ea Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c1aa50bf31c975d264d3eb5206cab950b50593ea commit c1aa50bf31c975d264d3eb5206cab950b50593ea Author: Elyes Haouas AuthorDate: 2024-04-11 17:27:29 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:28:35 +0000 specialreg: Fix typos Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/885 --- sys/x86/include/specialreg.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/x86/include/specialreg.h b/sys/x86/include/specialreg.h index 37bf56d31922..3ea8c988aa07 100644 --- a/sys/x86/include/specialreg.h +++ b/sys/x86/include/specialreg.h @@ -918,7 +918,7 @@ #define CCR4 0xe8 #define CCR4_IOMASK 0x07 -#define CCR4_MEM 0x08 /* Enables momory bypassing */ +#define CCR4_MEM 0x08 /* Enables memory bypassing */ #define CCR4_DTE 0x10 /* Enables directory table entry cache */ #define CCR4_FASTFPE 0x20 /* Fast FPU exception */ #define CCR4_CPUID 0x80 /* Enables CPUID instruction */ @@ -938,7 +938,7 @@ #define PCR0_RSTK 0x01 /* Enables return stack */ #define PCR0_BTB 0x02 /* Enables branch target buffer */ #define PCR0_LOOP 0x04 /* Enables loop */ -#define PCR0_AIS 0x08 /* Enables all instrcutions stalled to +#define PCR0_AIS 0x08 /* Enables all instructions stalled to serialize pipe. */ #define PCR0_MLR 0x10 /* Enables reordering of misaligned loads */ #define PCR0_BTBRT 0x40 /* Enables BTB test register. */ @@ -1092,7 +1092,7 @@ /* * The region control registers specify the attributes associated with - * the ARRx addres regions. + * the ARRx address regions. */ #define RCR0 0xdc #define RCR1 0xdd From nobody Thu Apr 11 17:44:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFnC34zSnz5Hnmk; Thu, 11 Apr 2024 17: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 4VFnC34TyPz4Tjs; Thu, 11 Apr 2024 17: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=1712857487; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DRYy7xCSen6PMlFy7dewTJMfygn/GbkUP3NavyusT5g=; b=VHxocvx56l3KZIGhckTYcbVuxsfl3v7jZwVDpCjPI5v37rAMDDVaOdia8hm8Ml0QEgWajQ 27mrRIqd/6wWE/BFoa0cGO7690+TMIul8LoQyZADm31wOsEeUIkW7a8Fg2qCcl+qeOuV09 tq//NDpZH3gXqR8sdpQMbKfRk1ozLaVJDW5tXEpxOn8IwJjs/b3DZBFS4Ml1FkB5leZBY6 +mU0UrWKMmSS0hc7h3S2zk87YkCcSOSOuiwWEh+iG651vDNOlJICKCbGarsHQbHIT4sZ8/ BzGBgGbnUoZEtAg02hEZAKZsW7dDh5OfAQYSbyommw3pND80QUa/CYRjUWNfdA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712857487; a=rsa-sha256; cv=none; b=RRBnEKNd5bpfYaHPumMgfnAWYOcZ4N8cTbUWwCAl2mK36jmZHYfztwhlsMfVME26GOX9x6 +w0IxtOXOoMq0TYM+7Es1COswIx9EMfHQfgv6s8j8T+eP4L0kIXXVgpG7MibPMgwTo0QzZ 4U43sX6QwIuIeAXxe1QWI6oo8zESOiHw/LrV8vNMhxLTh5g4NT295aeTM+u7yG/keK9Ypw 9QTa93hP1IA6Isc+270IYclXaQKx+snf9fKtGvKQrowmbe6GVSOg85oaZo3AqqL8u7YZI+ 1/37iSpccznC+Ntks3oa9TTSn8msoAKdv8X5IBIhLzZUzJYfZ/H9gEWpxVgwwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712857487; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DRYy7xCSen6PMlFy7dewTJMfygn/GbkUP3NavyusT5g=; b=Ov62jJNcmeNXMnKr57OlEfUvmfQHBhUXByTTlLsfyXRX9twRFSaosf2M5NTuh1/tCaIV7T pD+ZhP9bSG897E64XuQMGPb8PSy/d4UaqpBlYf0gXZSKbL01i2ZnWGlsCJTjvDzmour/+z EedllI4RH2Sfr3HsA8Dtn4rNUROdQt52AnF/DE2AvRVvMCQ05CXvga3zo+1/8w/fizdAEf vEuujALuc3L2dao9Gn5dm/bdnH2VUcea/QRoppEXALPD5TTQqBUNAD7qVvlpX9U5CGSzVb XcScpg9FZKolPQINGYdLgDkYxr62GPEpvqCV2dKiMKmOyQwEHZQpEVNRr9flFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFnC34395zFVK; Thu, 11 Apr 2024 17:44:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHil36086742; Thu, 11 Apr 2024 17:44:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHilr3086739; Thu, 11 Apr 2024 17:44:47 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:44:47 GMT Message-Id: <202404111744.43BHilr3086739@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: f092a54fdc6d - main - Makefile.inc1: Fix 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: dev-commits-src-main+owner@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: f092a54fdc6d394d510451ed0429f78abe0f3a55 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f092a54fdc6d394d510451ed0429f78abe0f3a55 commit f092a54fdc6d394d510451ed0429f78abe0f3a55 Author: Elyes Haouas AuthorDate: 2024-04-11 17:40:04 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:40:31 +0000 Makefile.inc1: Fix typo Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/882 --- Makefile.inc1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 2ed76aa68c65..a0fd539ed25f 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1048,7 +1048,7 @@ _cleanworldtmp: .PHONY # Note: for delete-old we need to set $PATH to also include the host $PATH # since otherwise a partial build with missing symlinks in ${WORLDTMP}/legacy/ # will fail to run due to missing binaries. $WMAKE sets PATH to only ${TMPPATH} -# so we remove that assingnment from $WMAKE and prepend the new $PATH +# so we remove that assignment from $WMAKE and prepend the new $PATH ${_+_}@if [ -e "${WORLDTMP}" ]; then \ echo ">>> Deleting stale files in build tree..."; \ cd ${.CURDIR}; env PATH=${TMPPATH:Q}:${PATH:Q} ${WMAKE:NPATH=*} \ From nobody Thu Apr 11 17:44:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFnC46VxNz5HnhP; Thu, 11 Apr 2024 17:44: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 4VFnC451LWz4Tpb; Thu, 11 Apr 2024 17:44:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712857488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RkxGQeZ6XeH1w7oj4r/OBp4s90nL9mrHHOrW9agClH8=; b=ryEDVvBQu7QXiTDtd72vf2iW1jv2IZpZr74fQdmeNkh6JfORfylJylJiiAGvl1TYhYRlCb SCJAPy7r1rJe5fttkEQj67h2WuZZe4iOmfn7j3JhTLmrb1J869fqumUIK1vbtGO1+tWB7+ LYPHUyRkTwnwjcfevAg04y6zeE6hmYBCKVnNSK5M/C5vXbYpo4ICV0h8utvsdqXL4wnhqd Ay4pr/x37OKnXfHquGtCbsPULdDpnKleXYFwgIGQKrcceGDUMSbsfTiENI6uyzBywSs0+D AlwDuT+sSCOVLymJ9XFSQl4a/zYW/hbDpbzQjXodMIhhP2fAZO5T1BtLTWNjvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712857488; a=rsa-sha256; cv=none; b=P9xuiE4nagNiO6zGgoiqbtuahUwuQiNaHMUGNfrZJn06bA+i6rhXhi4Pu8rf6INu8AAevb GzRLstn7xmWVTJubREzoghdDj7ZBQ+qRsyKap27tYhVPkmPiYCR7y2sl6JOcytNdyAWBSz KDBvZnokYnMw4Vu1abL0+eLp+z94SjDu1FC1H6cRlu9JVUjc/CDWK2t7cTivx7NzSHEm5w /BHBcPmbdfbOtbjhUT5eUpsZrdFVUFlh5+d9jM6JlRp3QJ5CYg5oYBVXRZYSEvNA72EfSh pcklrJkPl4vrHU5bgDXkNIDPylYRiteLzYypQMzVnFKuit/+Nr8B7dH9+y6AZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712857488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RkxGQeZ6XeH1w7oj4r/OBp4s90nL9mrHHOrW9agClH8=; b=Cla4H9ItfaqBg9+8uk0GyS2q95df4+eUlTypE2kFYHK09dYR1xsEKvwlJ12wrRZFGRyF40 3uS5k102kqgZE0ulPd+fYkEJ4bcB3P5/PVmvD8k9NfiO7KeWEMufoihzVSufIBlS+DP67U EDbCJu+9YoB1gE7Hw1FZmy3YQmyPTVKU0126Gl08ZnS/juiqOPVh+TFhgrFJTDxmG68W80 1dd8BjmL6KISh6KTO8Z59UYJScFigaYCIF+dammZr1jFZCSMHxDgYGsQIdvIXCZaGDfB2Z bqTZW/aXL0b46Dvykz+gWp5Kb5tVF5UtVfao3lmqnu9rxjWnG3h++T1Wf4Wf6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFnC44chpzFvf; Thu, 11 Apr 2024 17:44:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHimMu086783; Thu, 11 Apr 2024 17:44:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHimn9086780; Thu, 11 Apr 2024 17:44:48 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:44:48 GMT Message-Id: <202404111744.43BHimn9086780@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: 5ef49c7820d3 - main - zonectl: 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: dev-commits-src-main+owner@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: 5ef49c7820d3d79404a28d182ab8401866dfd751 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5ef49c7820d3d79404a28d182ab8401866dfd751 commit 5ef49c7820d3d79404a28d182ab8401866dfd751 Author: Elyes Haouas AuthorDate: 2024-04-11 17:40:04 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:40:35 +0000 zonectl: Fix a typo Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/882 --- usr.sbin/zonectl/zonectl.8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/zonectl/zonectl.8 b/usr.sbin/zonectl/zonectl.8 index 367d2c0ed390..72cebfaf1ff0 100644 --- a/usr.sbin/zonectl/zonectl.8 +++ b/usr.sbin/zonectl/zonectl.8 @@ -147,7 +147,7 @@ For the Report Zones command, specify a subset of zones to report. .It all Report all zones. This is the default. -.It emtpy +.It empty Report only empty zones. .It imp_open Report zones that are implicitly open. From nobody Thu Apr 11 17:44:49 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFnC60xBQz5HnhQ; Thu, 11 Apr 2024 17:44:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VFnC56Rjzz4Tjv; Thu, 11 Apr 2024 17:44:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712857489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eBEWXJdPA7f4quN/FQVd1h6OtpLlXtKAUAjupu4C/UE=; b=dfw2+gl4/2QayyFDg18W0gUJW0UjJLvZzC1kqAE/NtzPpq0ZPvD+i3IKJdL+txQJYaov7Z Bv5TUzKi9h2pp5NJM3Rp7YYtHsddw6okRHEDZ6JNarL6Gr1HWPguxRIQWgNGiUta1F9/40 FARqghKg6nc26Hjb+arhPScxUbx2Bit+KpmuFW+vxnOPNBSTQrbX4cngJIzHqBS8tyRp7E SahjRBbVoTRIVDiTkx+XidoF5QfxWBK3JlvTfxbsHMBhGrozaEpZ8HdM47Qd1S9mxPKvdh 3DnAYOIAGrJ/0M0ySHeEVDMQOUKajv34RDFTdlTLTBe1J5MBN3ksAB6NwCN2Cw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712857489; a=rsa-sha256; cv=none; b=PT1YDn3hmYD74Fe0AGY+fLmPvtkU4wHRPVN30Z08Q3R8R/spX4YeRWFV9VvJ2+Hy7FNz0P sBLi5soABX8ldRfaZv3clPqT84QZK3uw0HaHjjLSbN5rSEm0ssatOqKI+l616mIGV7r4lm 6aHms+H9nXDMR30exmhdGWvm4jUZN02tVYquJB0uIWK7Idw47Ku3CMNIudRVDUqrcn26Tn k4Ryn0Xm7eQW4Y5S2E21XkfPFozsFuFC9/7HJCppW94P3b2ZDdhc4jufCiZopfd3tDlK+M J9rN5wclEc3y3srvSogJ2TSw8aPqWTlqbN7a3Fdai483hjOyX7ox4rq2hpMOHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712857489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eBEWXJdPA7f4quN/FQVd1h6OtpLlXtKAUAjupu4C/UE=; b=DBfr7RzXSPTUhzEAvipvnCSWUNAWYKGNpqNS41DYbPu3ilgToFBJkaY0A78AxHMf6QtNwy h8ERSIbHbwZ1NgoFnjFbnvvRcTAOOV3x2T/4lirM5Gsi/ian8MuwDpD/s0BSSpHVKTIR/H sRNycF4UeGQWSv6mgZ6EM7ToqphdUcclvdmyH3cjTQFCo2KE4ijAjclsg1IMB9lK+Th3NB hVAkfNAzFvCSSIHaGJN2GsEaORr3jtnpeSRSjibw1M1EMOEeML9AKaQfNKfIrG8J/qvP7Y U9znuaSSTrL3Ljf7OWlaTQd92YNuK6ltUQm7DgJLK+TtCYIC8cFxlRyooVxheQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFnC561xgzFvg; Thu, 11 Apr 2024 17:44:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHinLt086819; Thu, 11 Apr 2024 17:44:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHinnh086816; Thu, 11 Apr 2024 17:44:49 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:44:49 GMT Message-Id: <202404111744.43BHinnh086816@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: 068e918057a5 - main - manctl: Fix 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: dev-commits-src-main+owner@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: 068e918057a5cebfdc2f95c6923ff263c983eb5d Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=068e918057a5cebfdc2f95c6923ff263c983eb5d commit 068e918057a5cebfdc2f95c6923ff263c983eb5d Author: Elyes Haouas AuthorDate: 2024-04-11 17:40:04 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:40:37 +0000 manctl: Fix typo Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/882 --- usr.sbin/manctl/manctl.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/manctl/manctl.sh b/usr.sbin/manctl/manctl.sh index 048066379584..1b23d7901a2e 100644 --- a/usr.sbin/manctl/manctl.sh +++ b/usr.sbin/manctl/manctl.sh @@ -36,7 +36,7 @@ # manctl: # a utility for manipulating manual pages # functions: -# compress uncompressed man pages (elliminating .so's) +# compress uncompressed man pages (eliminating .so's) # this is now two-pass. If possible, .so's # are replaced with hard links # uncompress compressed man pages From nobody Thu Apr 11 17:44:50 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFnC71TGJz5Hnmp; Thu, 11 Apr 2024 17:44: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 4VFnC673Rkz4TXQ; Thu, 11 Apr 2024 17:44:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712857491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zoHVteCzijNZSdoLlB7KgdC+H3kVLNmWfLSTbKhZM9Q=; b=nahzxNXQlU/EVPIRq8PjsucJ5/ErWj/ZhHXkmMaGU2YFCk6671CdYcPqewxd2wEIe0UDMa qVO3QPVciY3LjCjI7L5CkgRjs5OQuro6H7EK7fxWzUTqBpdsyEyjZYVOUnfqxzyT/rikrf MHoBxgsPIwD7zdZYGfjm8FUAQ/Qg99r13Kog/EgK99/gEE27w4ArVCdDZf4P/Z48dsCknl qoV3Fm+oTTQtCkmH6dwsB7R5OiOHIRMjNnTCs4kbRwMqA6Ww3XHOEi946lii21lD0BjmcG gydLw34/iaFy1QSCFI0P+Wo+nyGZXPT3O4EGNYWE7ICaLgVJh/WkbhAMoJaH+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712857491; a=rsa-sha256; cv=none; b=AuH3keAKfv6sKqbPDDcpwdQWvxmMC+CGhuwHstjbCtqmjbRUaGi6cdDMsn1eoVz+2+8wEP p5HvV80nBFnKP2Qgr4UjEBHMPDTVQ1OoEQQtJpmC2vBZc4xZTCDovQfxM1Fah1ZlSccwOx 0j7Eqn8gWc7vB3Pg3PmBAMRDEDaTqa3n9sGGSAHUU7Ta3eusH05kDDIh/VoX4Tv2As/aV+ fzxehIrq6gVda4j2M95XwC7dztLqYaCAfMdiBdzB5BHlNY4KW32WDuX/s3ulKA6m6BNh9H QmDsL0gc0JojNYKobznhp5dfjevxf+gW9jlngmYP1HiOoPxHgM1E30J6IuP0QQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712857491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zoHVteCzijNZSdoLlB7KgdC+H3kVLNmWfLSTbKhZM9Q=; b=mL3e14MUYAQrrGauvRb1TzYk4h9NcHzYZLYnlXhT7jEyQcDLhTgXOxaW6SKujGLMIQft0k GorZivbbNgWmLyNcTvdBlDYOxFUl976OM5myiXIe/kAWmtpwxpSP/PrxDrE/1WrQdoigWx N0m6Va2r4/9P3s5vhv8t/lLv4ZrH48SQ3KdIwb4wiDh7pSQzKQWtKV3VqQtHryidoig+qd +3NA8FixYEnwFh0E2InyHe0CZeIIcmLYDLoL0pdA5z5a4xcFsmquNVUZKExT5eokDnK5jm KPrUpOVHGna/QDKQsceiVvIsiuevIvjDJhk19KalZXvd4to/yqv2KBzh/4TeUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFnC66Zt4zFyq; Thu, 11 Apr 2024 17:44:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHioba086865; Thu, 11 Apr 2024 17:44:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHiofZ086861; Thu, 11 Apr 2024 17:44:50 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:44:50 GMT Message-Id: <202404111744.43BHiofZ086861@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: e57d2e4aeeb9 - main - crunch: Fix 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: dev-commits-src-main+owner@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: e57d2e4aeeb98d08df38f1d514e5f93d523826e9 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e57d2e4aeeb98d08df38f1d514e5f93d523826e9 commit e57d2e4aeeb98d08df38f1d514e5f93d523826e9 Author: Elyes Haouas AuthorDate: 2024-04-11 17:40:04 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:40:40 +0000 crunch: Fix typo Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/882 --- usr.sbin/crunch/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/crunch/README b/usr.sbin/crunch/README index 27c2d0298afb..0845f1f56e3f 100644 --- a/usr.sbin/crunch/README +++ b/usr.sbin/crunch/README @@ -69,7 +69,7 @@ bringing together a solid, state of the art development environment. Thanks to the FreeBSD guys; Rod Grimes, Nate Williams and Jordan Hubbard; and to Bruce Evans, for immediate and detailed feedback on -crunch 0.1, and for pressing me to make the prototype more useable. +crunch 0.1, and for pressing me to make the prototype more usable. Crunch was written for the Maruti Hard Real-Time Operating System project at the University of Maryland, to help make for better install From nobody Thu Apr 11 17:44:51 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFnC81nsYz5HnNH; Thu, 11 Apr 2024 17:44: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 4VFnC80jrzz4Trt; Thu, 11 Apr 2024 17:44:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712857492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1t8/Ql2cUk1g4hI48cGSM+2WApSha+sHHiMVdc0/vVg=; b=WQp52O1hXwmt+K/P/HqR9YHvQZoKbj7iPEf+Zw9OE82yp/F4CNxDSgJvtTQ7KPqM/NfA0d qqe/aWXHS1wNw4wSi6gJgdmKhEeNtsCnUVeV/HdPcd79gMGsFmR7uK4j+2GJ3Qpzdn6DY1 4Xr1hUtg4TKmRdTz9NZRteYkClwKPHK2ynHjOnahfYH+WyH0igowyQzlI+98/6lAGSqEdj hvlJCkS7eOiyw0D4ebYypZHBq3LKOcYHMOBgHxFM0AS1jEw5VR2U7X572e3mYRkD176B6V H+JFB1eQYc9qq0jt6gDS9zhoQUKL1ZqqriCrPBkzb/QWZI6L/vjCTAtQZP7sEw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712857492; a=rsa-sha256; cv=none; b=xLvpY44D5r+xdKaajc91aL6q6lePZzR0y9Mk50lH9t1V4qZAwLGcIL9H3nZORoUjrWy1n6 BMfn7CVZboXCOJXoSeebgH38+KUz/jZpLU27iNqqayxyzjSQ75wqItHygE+echa6K9gUx3 voSFvQdPPPMm9wyXL4HEVMHz7OD/YL4MJEURAhaY05z0v0mFCFSCn+AQ0MniUbaBp4e+4f Fs13eQJEUwEvXayyyPkhKcE2XEY9mARowA5Fv6q2vEC6iCHcxK0xmK4k9hX37DL5hugS+5 SLVVg5XUcwTzKQFlo78XdEr3HZrTWp5STBhMPKMVytEZ8vHsGnGSGJ1R7/8JUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712857492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1t8/Ql2cUk1g4hI48cGSM+2WApSha+sHHiMVdc0/vVg=; b=qUR9RiJZLavXmCc4Fubav/JzL7WQi6Nb7rxFHZB44ywrgZAbcyJa3/1FRQxHF2HozGEhIv Gll208/U1+o00AhevU+vlNqryY6saouRTc9GSCOb92YF9dYU8BJ3tPt+l7RohtqLciDuqx J1U9ijFrbTcVmBl9873zo+KEFwtFRgU0mWKJ6n9qVFc8DjpXqpwm/BLjnP59AEwJbWwPaB ReMQiBJNMdEWM126VH6tCB93wQJ35ZxqlsuKmEtmqGqUUspxPUmzIycV4X0ex4jofTB3Lb 6bWM0tE8LzfeY0eSgrNHbrHmcADDp0aO6Nsuo0C2HYIfIPN6Xtg0ojWwlCsuDw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFnC80H0xzFyr; Thu, 11 Apr 2024 17:44:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHipjo086902; Thu, 11 Apr 2024 17:44:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHipO1086898; Thu, 11 Apr 2024 17:44:51 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:44:51 GMT Message-Id: <202404111744.43BHipO1086898@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: dc8725726d02 - main - pnfsdscopymr: Fix typos 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: dev-commits-src-main+owner@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: dc8725726d0205c10b01c06717cb265ab7d239e5 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=dc8725726d0205c10b01c06717cb265ab7d239e5 commit dc8725726d0205c10b01c06717cb265ab7d239e5 Author: Elyes Haouas AuthorDate: 2024-04-11 17:40:05 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:40:42 +0000 pnfsdscopymr: Fix typos Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/882 --- usr.sbin/pnfsdscopymr/pnfsdscopymr.8 | 2 +- usr.sbin/pnfsdscopymr/pnfsdscopymr.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/pnfsdscopymr/pnfsdscopymr.8 b/usr.sbin/pnfsdscopymr/pnfsdscopymr.8 index 7be848d5bb46..607f902a585e 100644 --- a/usr.sbin/pnfsdscopymr/pnfsdscopymr.8 +++ b/usr.sbin/pnfsdscopymr/pnfsdscopymr.8 @@ -62,7 +62,7 @@ in order to recover the data storage files onto a repaired DS. .It Fl m Ar source-mounted-on-DS-dir destination-mounted-on-DS-dir This option indicates that the data storage file is to be migrated from -the source DS mounted on the diectory +the source DS mounted on the directory .Dq source-mounted-on-DS-dir to the DS mounted on the directory .Dq destination-mounted-on-DS-dir . diff --git a/usr.sbin/pnfsdscopymr/pnfsdscopymr.c b/usr.sbin/pnfsdscopymr/pnfsdscopymr.c index 639cb7f92027..2f155ed354c0 100644 --- a/usr.sbin/pnfsdscopymr/pnfsdscopymr.c +++ b/usr.sbin/pnfsdscopymr/pnfsdscopymr.c @@ -171,7 +171,7 @@ main(int argc, char *argv[]) pnfsdarg.dspath); /* - * Check the IP address of the NFS server against the entrie(s) + * Check the IP address of the NFS server against the entry(ies) * in the extended attribute. */ strlcpy(host, sf.f_mntfromname, sizeof(host)); @@ -233,7 +233,7 @@ main(int argc, char *argv[]) pnfsdarg.curdspath); /* - * Check the IP address of the NFS server against the entrie(s) + * Check the IP address of the NFS server against the entry(ies) * in the extended attribute. */ strlcpy(host, sf.f_mntfromname, sizeof(host)); From nobody Thu Apr 11 17:44:53 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFnC95P9dz5Hndn; Thu, 11 Apr 2024 17:44: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 4VFnC91t5bz4Tq4; Thu, 11 Apr 2024 17:44:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712857493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H481BcOnOkWaLbWW9PsT3nElOBtKvlIuXMX5mySMUmA=; b=q6zhxt2/CtmYI1V6RTZ+e4ad2i/71P6/Vaa/8ZWs9jptFecoxkCXueYaZz330mTXvaij+H yIR6SJdhxvf9fZgtfhQqW6EQVcAL/h2Rxpar88bj9lsuTnXpXz28V7RMVM22kbzSILyNK9 PN4vZLOUtjdTv3f6ntwPtoqNN6Tka47eFpZXWo7KEzClWVfb2ELn7/RilE7J9RAy4mVRZf m0F86gQQ4TNRvnl6+MAwFz8vF7GMPa203XhAHqQaVV5s/YBIMUaYW8COcGAmti2xyrZhm+ JgDtFRuXms8R9MzGhHKDLnjVFqGBQTz4DEbR2+oQ79VdHKg0dVpkEQOvMnGiIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712857493; a=rsa-sha256; cv=none; b=GX5cECGyF24am5D7sYRpnSv3J6ujpPltawiBsKi5QyUdhyiPB9p8R7+1CUkOj+AGBnGDVR 5qlv2v40F6l+lEyqrEnmphvbSJO3LswglM3gv4/AO9iA2qnuUpPnMNEDA5U9yqVxLJ0dzg cR1h2kzm9fyqo4rpY8NUy+6JeO7fJFCUW8imEaydJsGF4dtGqx2IGOWVTDGg6n4dlLPSbs WtkIr93ckwRON9iQoYuYnyvMjvGRbZ2ixLmLoxJf7xFaBmmR4AQruvCOwUb68t6ehCZqIE J4LuZzuDPj+wGXW+LRkipJWuP+zM5HzJwz67nEu5Je6N94OdMUWuA6KOI6tf4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712857493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H481BcOnOkWaLbWW9PsT3nElOBtKvlIuXMX5mySMUmA=; b=od5nxHyXX5dpBhsa/Xxv3azu08Gum24QsMXTJn53hF68rCCu3nfBBKRWZNlyHOeCMj2I33 o37Dz3M7S7DtdFjhtN7ZikDP0+wI4SS0cTuHQhNe6c0U7NqPwNxEuFhzONDNge9bgrw8uI Xr3E4EMDtA9kitVti/NCP683C9VZww6bS7TNVNmJhxAII8S98jK5lUm07YsJlEr3r4Bjwe NxHQtr/XE71zEES+gtGtlDClyHwiggpaE/WodXsnpK8bR2t+cYW74mvOKvaaYMVvaeLdpo zdO6x5gJWD0CsASR/1+auHuLukwW38qgwvucZCMx5vHlPkZk4NQe/16qTSoJ+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 4VFnC91QF6zFFy; Thu, 11 Apr 2024 17:44:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHira9086944; Thu, 11 Apr 2024 17:44:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHir1e086941; Thu, 11 Apr 2024 17:44:53 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:44:53 GMT Message-Id: <202404111744.43BHir1e086941@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: 6addf2595e5e - main - inetd: Fix typos 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: dev-commits-src-main+owner@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: 6addf2595e5ea95d7cc45233ca44c3faa09520b7 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6addf2595e5ea95d7cc45233ca44c3faa09520b7 commit 6addf2595e5ea95d7cc45233ca44c3faa09520b7 Author: Elyes Haouas AuthorDate: 2024-04-11 17:40:05 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:40:44 +0000 inetd: Fix typos Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/882 --- usr.sbin/inetd/builtins.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/inetd/builtins.c b/usr.sbin/inetd/builtins.c index aed304ae99c2..9609faf0b104 100644 --- a/usr.sbin/inetd/builtins.c +++ b/usr.sbin/inetd/builtins.c @@ -313,8 +313,8 @@ echo_stream(int s, struct servtab *sep) /* RFC 1413 says the following are the only errors you can return. */ #define ID_INVALID "INVALID-PORT" /* Port number improperly specified. */ -#define ID_NOUSER "NO-USER" /* Port not in use/not identifable. */ -#define ID_HIDDEN "HIDDEN-USER" /* Hiden at user's request. */ +#define ID_NOUSER "NO-USER" /* Port not in use/not identifiable. */ +#define ID_HIDDEN "HIDDEN-USER" /* Hidden at user's request. */ #define ID_UNKNOWN "UNKNOWN-ERROR" /* Everything else. */ /* Generic ident_stream error-sending func */ @@ -405,7 +405,7 @@ ident_stream(int s, struct servtab *sep) * random number only when necessary. * * 32 bits from arc4random corresponds to - * about 6 base-36 digits, so we reseed evey 6. + * about 6 base-36 digits, so we reseed every 6. */ for (i = 0; i < sizeof(idbuf) - 1; i++) { static const char *const base36 = From nobody Thu Apr 11 17:44:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFnCB5PQBz5Hnn0; Thu, 11 Apr 2024 17:44: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 4VFnCB2dPCz4TXw; Thu, 11 Apr 2024 17:44:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712857494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KO1Xg5MPRI0UUbPoAH/8ggelJmK6+0Mc93BlFSfhfls=; b=aM9yB3hnx9uXhk4ggivK4lZ6C2ch/qO7ub+SQEWqpSAq914wj/191cLoCmJBcaR971I/Z/ XPQuwoKNFc0s2R3slzXF/bptOgIxQdwqhzj/7Ilv3xZ+SvcUOuJiQH6Vl9xdGMSa16ad22 QoYQUxnzbzbtHjLTt3hmICVuRu/gG5AaDppZ65gXLnc6EBASJKQMBd0FOORj/tgPBnyWpK upcKMYtxx3UBb5BTKJRsIuM1CwvRaBocd8GHEyfedOxwHb4gonjLAa2es2olYPrI9Hthhr PrGih/a8ZuFv+8lQGOgSs5UML92B6z9k6mD0bqdeSmP5VE4IDC6TzNnXZwcRJA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712857494; a=rsa-sha256; cv=none; b=t1m3O3fXKvQvtZCVeWMN6/g7eB+5lCDx5zU1N8UhivbAyNCDqSmyzD7qIG2BAUc42rnJzv UDtOt7xmwkjcluoN23pyQQodyNW1/9wqKA3iwHpqCo7ZRQA0LwAGoJfmItcDNgAcdKGyYh 1yP9nZhOpBGyRhUchpsEaEw2myN+gTBdm8Cw6UZRSD89KxwHIZaj1CgDdaSRUuiRq6HSuV uvkmoLd90cSLvTZki5ZPDJqkCxDfRmPs26ZLXIMoKvdNtelLxlG5ms5fpUS39dXhnuXJdl 1FOKj0c4ausXOepTEa7z5a4QclrR/3YXIJHtIzeSMKBvuF4Yej858Url0kSCrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712857494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KO1Xg5MPRI0UUbPoAH/8ggelJmK6+0Mc93BlFSfhfls=; b=LIig08pM5kCrQwxCf4/qGG8QZe5JMWdFpPZyIBU29+yiQbOBQ6E4lhVdpatwK5exb36Sgd SER3rf+gmjop1vECQZbiu19HvL4GMB7suakCw3RHfM53q4bmG7xHWybOX5UNdpw73RVCoL vuqxdNIJr1oOpe4+ehvqKII3rOJm1+/C4oW6oQiK3Eo+iPOdPMpUkUMvRIZKuXf2/lHwmS k3E9WSnpUrF25+S3XrYCMnAxFP+8WXvEf5zzqc225kIaFZPBKL3nJdU8rLf6zDKILk55qZ R9nat1lzTj+USYOL6Y/NmbF8ssD/AcZDHH437Oi6vX+spYnnk70oYZbgJ2bH0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFnCB27TFzFbb; Thu, 11 Apr 2024 17:44:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHisb7086986; Thu, 11 Apr 2024 17:44:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHis8o086983; Thu, 11 Apr 2024 17:44:54 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:44:54 GMT Message-Id: <202404111744.43BHis8o086983@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: c384235c1633 - main - mergemaster: Fix 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: dev-commits-src-main+owner@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: c384235c16330cb48c3b0b02ff821ff0915bd2a4 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c384235c16330cb48c3b0b02ff821ff0915bd2a4 commit c384235c16330cb48c3b0b02ff821ff0915bd2a4 Author: Elyes Haouas AuthorDate: 2024-04-11 17:40:05 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:40:47 +0000 mergemaster: Fix typo Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/882 --- usr.sbin/mergemaster/mergemaster.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/mergemaster/mergemaster.sh b/usr.sbin/mergemaster/mergemaster.sh index d362af6a2b4f..572415164101 100755 --- a/usr.sbin/mergemaster/mergemaster.sh +++ b/usr.sbin/mergemaster/mergemaster.sh @@ -1246,7 +1246,7 @@ handle_symbolic_link () { esac } -# Compare symblic links +# Compare symbolic links for COMPSYMLINK in `find . -type l | sort`; do if [ ! -L "${DESTDIR}${COMPSYMLINK#.}" ]; then if [ -n "${AUTO_RUN}" -a -z "${AUTO_INSTALL}" ]; then From nobody Thu Apr 11 17:55:29 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFnRP23lmz5HpP1; Thu, 11 Apr 2024 17:55: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 4VFnRP1Vhdz4YMb; Thu, 11 Apr 2024 17:55:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712858129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6wE0cRE0hWh3iuBgN/4s3LNBxoa5h8viFV0I4j17a8M=; b=CgtVxDs6KvZouNLo28Q6DFdUIK86FpRQs3x6gF6roizpjzXOFqx1iAWuo2eb7CAgUQQAFa ul8A96w/3sjnmEF8+qnuSC4dcgKrbEPkvAJNigRoyY+y3H7BWAmaTk/pcJ9uDqA1eMaKTA 5u85ZTzRPnHWulcupBTE/7IOySsXIcCeuJqcn68l8zYM7OqFUoSQtNIIym1IRRzjZmjJmI pySJWgoh1Xc7BQJu/N/t49ibEONh5+5MRr25UXfMjm+8Gt/jCwRDsOYDFzr1GCTPeLYMQp A/yWtg0ICjT/snFRnhVvATSP26a98lgrSEgukupxsqsQF1IIKWTaigr9gRjH0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712858129; a=rsa-sha256; cv=none; b=pKSzux1a9zYpZ/uhcifOvAfo2ekqsH1qNz8mDesueAtpbuVRPzAdw8oQHaUn1Txpt0VcWD ZaCCDE37fK+dUVf7BxU1C9EVtU/uK+yUGNgKexDExXox5e2YYCD7lYZQciXh/iUJ1/sAbi 5n8pF/90qz1faX8p7F6KuSkfWinPXaoHUrzl2GDRn2f1GnfqLik4b5AIVOIVzi4kEnXYgd q8xTp2g9AShBmFBIw0oz2ICwSsDS6pqzE46Q9erWuWhltlfgXw5CvbCMbIZldBjSx7fQAV 6Q0vSRzkdgXp18PSxlcGvmSeNMHKt9vDnNA2dEbsisKcjCf/yzwPnMLSxiarnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712858129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6wE0cRE0hWh3iuBgN/4s3LNBxoa5h8viFV0I4j17a8M=; b=R+cFAeBCcluEhtAdmt4iMxXHz9jLa9nJ7gRwQFnSYHsNa6YbcIOGPG/DsII4Pl42PUlOUJ uRW8d8sG1JaIgAGyttAAB2cn0fzH5rQyohzpL/QL/SecvKjXb0WPxhjL9ip4tWi1QKLgWr cXlEcaCBvX7f18hDyao03Gd/EnJXr+phsa8RWXNm4nu5HMHlf0v6S+OUREPXtK4nU3wshG 3l/xRLgruOwjPHQQLO3XNvqJ3xZL/0VrBMBa0Rk5AtJHgFEsh2VkfKqUUtxpMKzK5g3QsO gYZ1aZKws2UcIXF6OOC7hSpOZdL86fxO2kp9pzVvyzb1vWZjCFM80yNnxlRUKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFnRP13YYzG0p; Thu, 11 Apr 2024 17:55:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHtTCp004366; Thu, 11 Apr 2024 17:55:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHtTOC004363; Thu, 11 Apr 2024 17:55:29 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:55:29 GMT Message-Id: <202404111755.43BHtTOC004363@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: d600ad8101d4 - main - ipfw: Remove repeated words 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: dev-commits-src-main+owner@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: d600ad8101d44906af74620f5f53bac97faff319 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d600ad8101d44906af74620f5f53bac97faff319 commit d600ad8101d44906af74620f5f53bac97faff319 Author: Elyes Haouas AuthorDate: 2024-04-11 17:46:59 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:53:26 +0000 ipfw: Remove repeated words Remove repeated words in error message. Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/887 --- sbin/ipfw/ipfw2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c index 7a8601aad46a..72927e336fa8 100644 --- a/sbin/ipfw/ipfw2.c +++ b/sbin/ipfw/ipfw2.c @@ -3522,7 +3522,7 @@ ipfw_delete(char *av[]) if (g_co.do_quiet) continue; if (rt.start_rule != rt.end_rule) - warnx("no rules rules in %u-%u range", + warnx("no rules in %u-%u range", rt.start_rule, rt.end_rule); else warnx("rule %u not found", From nobody Thu Apr 11 17:55:30 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFnRQ2zFGz5HpRk; Thu, 11 Apr 2024 17:55: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 4VFnRQ2Tx0z4YKB; Thu, 11 Apr 2024 17:55:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712858130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NL8sm1fs6oILnjv3xIcljcfE8/m1+9qjs69Ef6QrPRI=; b=lqNFPP6rWKeQKU9KUcNVV9z2Cy9qDOlWifcnEXDg14HYXgzKu/2LfxLYoIO659bRyYDGFv gmo9dERxnQBztma4KrTn4SawKH9ZupFSzSw0IZNzSax3JJ1TI2vSOPYouf6dNQVVt0c8w0 MyoH48BtwLMELPbgtY0YxFxiMfLdNsXZNCjjqtxNVF2Pvyg1/YXwX8um0gNoIx2s99PGth 8gBF6u7/LGV1/SEdFIMcUO881dpCLJucjbRcW7yyPlfllM6Ct8B8iwCDvECk9REW8ez97X 9OuqHkQPN8d+zWlt4+Ffh3ukqESTetiSO23kKm1ysr0YLdOCB684+211cDVCvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712858130; a=rsa-sha256; cv=none; b=Kth3lmucaS/kL8Lwd3aab9KbCEzkzQSMaFPrlZKeBqZlAfPlwzmMtwbWrCiAUifPvkRT52 3OmNZFzi6JKXx+2qY/0RAiNUZ6O67QQCBzCid/FLEbUqpQ+mKaRV8a1FP5uPkH9RL+56b9 88vanP0RpY8NgEc755lR/+EzIxyYTuquRBX4+oY1RhWYgoBChH62iOokjDobPclfwTMB3X FZn14Shfj1TujaJ9C7eDNiSuIezx2Sdwc2/R5mWCR73QpycFxrIyfZUEUVxrwimTO42TJI nnuGR8yBak/G+t3qqfS9hrw4HZ/PNOhU5G8mETqoCuujnJtoYiIAurDQDyCjDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712858130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NL8sm1fs6oILnjv3xIcljcfE8/m1+9qjs69Ef6QrPRI=; b=srkyDO77dPqxjqHp4WqylS+GvoEI1VzqpKxIzRLnkNjVHRfRBzqYl6AzuNKB5FOkrWoiLN ehpl0Yy9srnnLlTwa+e/nwR6Eo7Q0y3z0kkB4S7NIF3NN7Puq2jW4sP4z0gxwbpUm0ilWG hoXpxiSJ1g2kVyFeoaWX0AT8FfrfNKrq2qJyehEj2ti/VGCSnKUOopw7a/6yFBsETpO6BQ syDtxIFBrDUM9K8FY3QZtsIMIVjKFIkALIpMrX1zVSzvMrwEb4LDYryPMNJVuCUrXmg8xu XLEqC6/L3bWZhgbgutblBpWqFO1yK3eNzYkAhkTIrnN+smj9mbBB20//nQeHLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFnRQ23S1zFVw; Thu, 11 Apr 2024 17:55:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHtUru004406; Thu, 11 Apr 2024 17:55:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHtUnu004403; Thu, 11 Apr 2024 17:55:30 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:55:30 GMT Message-Id: <202404111755.43BHtUnu004403@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: 5e2a419256b7 - main - include: Remove repeated words 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: dev-commits-src-main+owner@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: 5e2a419256b7effb67b72796f68f9d23ea68fea5 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5e2a419256b7effb67b72796f68f9d23ea68fea5 commit 5e2a419256b7effb67b72796f68f9d23ea68fea5 Author: Elyes Haouas AuthorDate: 2024-04-11 17:46:59 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:53:36 +0000 include: Remove repeated words Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/887 --- include/rpcsvc/yp_prot.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/rpcsvc/yp_prot.h b/include/rpcsvc/yp_prot.h index 4c90fe079126..091347231c8b 100644 --- a/include/rpcsvc/yp_prot.h +++ b/include/rpcsvc/yp_prot.h @@ -271,7 +271,7 @@ struct ypbind_setdom { * * Sun says: * "Protocol between clients (ypxfr, only) and yppush - * yppush speaks a protocol in the transient range, which + * speaks a protocol in the transient range, which * is supplied to ypxfr as a command-line parameter when it * is activated by ypserv." * From nobody Thu Apr 11 17:55:31 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFnRR6BFWz5HpmJ; Thu, 11 Apr 2024 17:55:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-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 4VFnRR40jFz4Y3B; Thu, 11 Apr 2024 17:55:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712858131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nVBrWV1SFd4MNM2sq+tIrDXJz1qMSIp69FX2IuMwP1w=; b=Y4EP46vIof7XGyi7TRRIZ2qbcGvtfXLVZUOJ9oK7jz4uJ1xW+4EpNf8ST8XtHB2DqMKhq6 vhKyUAjJjlZzXj0TlFahvXFv/85FuPkJIgS46C8B1YfCE5iR28D+pIsDcIyo1tAGnpMkEn ikoaAJtlRYIlERGaQMoWEnFVlneVcDFBTrV2AbkVNKigAXQNypPSVqAgnCACAh6s9MR1ki apz/r049q2DMThRv5eTO1QD8tHtBLLKEZntWzSlNeSy7y/cbAgV7Ea3ejIyUO5JO1CGKsL KjbiRB086EFFrHdD44O2qFtyhFpi9ShEdKMv22tbBvUWxGBUDJwwz59afjvM7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712858131; a=rsa-sha256; cv=none; b=U/RcCJTo07BvL1xPVxox0KFPz8gqLK7XLN15sy6ZWMT4F0IGOQPBLVALSqinDvg1FPfg1h Zspre3ZrQ+Q4Vq5WzmL/RCwKUL9XXc7wZdUjYs2NHhQJPQ1UmhmNaTwvIDzzGqOSdbz51x nUUOElkRKTfHE17ODo9vn4g3Dvonsaoc4TMVj6x2atCV8VKiogWjem/RUEWiuNvhpSQzGC TaMbMjUo235ADa8maCHVPxdQUr+8TUvJNmKHAtctX6jJvihV+4KwmrmURnJ0N39d1q1elj GrncN5naMYP8gZIeGF6+aFo+U7kwxs44hKbY/OsPeuCIhzAimUET2PZbpzlIJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712858131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nVBrWV1SFd4MNM2sq+tIrDXJz1qMSIp69FX2IuMwP1w=; b=Mr07rhY91CY4wt9gXTQ5SO2Jh0ZBieknKHdWHD+yROAzXnAtt9Eq9cLSYqnQHy6Un6/W+K 553h/13Mchq+UTPylUIHKuDB6XphDQtpXqL4mkQbR1Rj9ZwRx6H1t9M9j9S0Z6rxYCAAKP tSxgbvqr+0aOEMvI1rAOJCmtrtG+FFFVLZaifiKSXP5fE13myixPp+r40YqmxrLiDc9Zuo G9WV1oIYiGP+Yd4B8A6lxqbjLQmM/qRZpPuNXcE9zfS0RmZFpZui4K1stQYsTTiobAZeAu KAraAnwG08CaF00xsiXRbT6KdRUa19PO13cgMI6ghETxJsCPzbMtz1mJ1bMuSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFnRR3JzfzFMS; Thu, 11 Apr 2024 17:55:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHtVNU004447; Thu, 11 Apr 2024 17:55:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHtVK5004444; Thu, 11 Apr 2024 17:55:31 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:55:31 GMT Message-Id: <202404111755.43BHtVK5004444@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: f7cee4fa57a2 - main - sbin: Remove repeated words 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: dev-commits-src-main+owner@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: f7cee4fa57a2b52a6e43a1f820ce7ba891b8e7d9 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f7cee4fa57a2b52a6e43a1f820ce7ba891b8e7d9 commit f7cee4fa57a2b52a6e43a1f820ce7ba891b8e7d9 Author: Elyes Haouas AuthorDate: 2024-04-11 17:46:59 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:53:37 +0000 sbin: Remove repeated words Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/887 --- sbin/fsck_ffs/dir.c | 2 +- sbin/hastd/lzf.c | 2 +- sbin/ipf/ipf/bpf-ipf.h | 2 +- sbin/ipf/ipf/ipfcomp.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sbin/fsck_ffs/dir.c b/sbin/fsck_ffs/dir.c index cc63aadae04c..3eb0b63c0988 100644 --- a/sbin/fsck_ffs/dir.c +++ b/sbin/fsck_ffs/dir.c @@ -252,7 +252,7 @@ fsck_readdir(struct inodesc *idesc) dp = (struct direct *)(bp->b_un.b_buf + idesc->id_loc); /* * Only need to check current entry if it is the first in the - * the block, as later entries will have been checked in the + * block, as later entries will have been checked in the * previous call to this function. */ if (idesc->id_loc % DIRBLKSIZ != 0 || dircheck(idesc, bp, dp) != 0) { diff --git a/sbin/hastd/lzf.c b/sbin/hastd/lzf.c index 2b0ee88b2cd3..371dee3a037b 100644 --- a/sbin/hastd/lzf.c +++ b/sbin/hastd/lzf.c @@ -118,7 +118,7 @@ lzf_compress (const void *const in_data, unsigned int in_len, /* off requires a type wide enough to hold a general pointer difference. * ISO C doesn't have that (size_t might not be enough and ptrdiff_t only * works for differences within a single object). We also assume that no - * no bit pattern traps. Since the only platform that is both non-POSIX + * bit pattern traps. Since the only platform that is both non-POSIX * and fails to support both assumptions is windows 64 bit, we make a * special workaround for it. */ diff --git a/sbin/ipf/ipf/bpf-ipf.h b/sbin/ipf/ipf/bpf-ipf.h index 7bc299d57256..e41e9d71bbb9 100644 --- a/sbin/ipf/ipf/bpf-ipf.h +++ b/sbin/ipf/ipf/bpf-ipf.h @@ -86,7 +86,7 @@ struct bpf_stat { * bpf understands a program iff kernel_major == filter_major && * kernel_minor >= filter_minor, that is, if the value returned by the * running kernel has the same major number and a minor number equal - * equal to or less than the filter being downloaded. Otherwise, the + * to or less than the filter being downloaded. Otherwise, the * results are undefined, meaning an error may be returned or packets * may be accepted haphazardly. * It has nothing to do with the source code version. diff --git a/sbin/ipf/ipf/ipfcomp.c b/sbin/ipf/ipf/ipfcomp.c index da4f270333c7..9d0b3642e732 100644 --- a/sbin/ipf/ipf/ipfcomp.c +++ b/sbin/ipf/ipf/ipfcomp.c @@ -685,7 +685,7 @@ emitGroup(int num, int dir, void *v, frentry_t *fr, char *group, if (n) { /* * Calculate the indentation interval upto the last common - * common comparison being made. + * comparison being made. */ for (i = 0, in = 1; i < FRC_MAX; i++) { if (n[i].c != m[i].c) From nobody Thu Apr 11 17:55:32 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFnRS6t5Bz5HppS; Thu, 11 Apr 2024 17:55: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 4VFnRS4pfcz4YBl; Thu, 11 Apr 2024 17:55:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712858132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=asUKMk25A4YfI8TDDfnDgWWXYfBVIP219FYG6OVzQEk=; b=Hjo/NwBqoWZ5Ur/2GkNQlIPEnglKBjKuyzacFZnuR8IDde93oom2BtOC5zmzQQyD5R17Du ApBwvR3i5pqz4CqUfSaKZIVOmX0QZtslC7unrRZsJJnhwUMtRpnWP0qu3OJKaZtQ3pSA4o XQ9jQROh9IuJrYFaBJqmLKAAdXZvoeJlSu9uXhVy+3vi6NFZbCrCtlHFepiZ/Vh1JkcUph Dk24Q7kY7lhBc40425+ag1Om7OEtXdZUkkfWJ0h0p6/LSGIQZlpBy38WaDTutyt1p31SGF xX14iCWLT8WmJk8iIT6Jaz23V5T7rk+zULGD4UYJggUivUjapaHvka79mGA2uQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712858132; a=rsa-sha256; cv=none; b=Q8D4U+l1HcC3U/dV+SxIIhniD3rCIsrfosEBHq6FijAEErdYs7RT1aT7gMEDKVMTe3ptKN K+mSAd0DBM+TSWRFMfGucqn/NczTk7eABZpSXegmTYQsXm7c49iqbiv61wf9785Pi2COKB LXatLaxX8oepFXqgokVdYLajOKcYRcLcUd1LI9GolZj4zk906ITrW6oMV0TpF7qEXYA41y U0kwGgAdz0a+cCxS6lcsWkBAm5m5BnfgcgWl8gEasJ2kWRCp3mr04+8UZ3S3UJ1IwwymN9 RxYKoEGo0bWgrChOhwejTflMBCXUGpf+usIC5AqNgAX7QUtdg8oJkAV64uIX5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712858132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=asUKMk25A4YfI8TDDfnDgWWXYfBVIP219FYG6OVzQEk=; b=pw9H1eDJNzcX/6ZfejlPw7Mby5WuU1/YWKcPvA8UzroTyHbU51HM1RbxAf4qFghE0J3I2F NYUoBotOPuTGy3ovDZmtegRewOnRlojqoxAE/OuiaeXclQ7Ez5W/SlcXxjbBSxx/DBNz4p 0W27dEDXXmN/d3/lD21uhEEpJKvdiqVbiN22sdA54UsowNCiuAySyb0uXL1sTuv2hVM04Z L1LIZ6Uv8zkumWGwStE+9tEpMfqUgxqyGjI5Z3j9+rfYwPsguq2W+LrdAIfYnxlszqwcDa AcWZmmwTvb4gobSY358Bv32GmMRayQutLJNYMHlboBTAmVPIhNuQ1q8z3uSrYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFnRS4QzlzFVx; Thu, 11 Apr 2024 17:55:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BHtW0u004487; Thu, 11 Apr 2024 17:55:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BHtWhN004484; Thu, 11 Apr 2024 17:55:32 GMT (envelope-from git) Date: Thu, 11 Apr 2024 17:55:32 GMT Message-Id: <202404111755.43BHtWhN004484@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: ec8a394d9c67 - main - usr.sbin: Remove repeated words 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: dev-commits-src-main+owner@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: ec8a394d9c676b3c4fd2cd721cf554e073736fc1 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ec8a394d9c676b3c4fd2cd721cf554e073736fc1 commit ec8a394d9c676b3c4fd2cd721cf554e073736fc1 Author: Elyes Haouas AuthorDate: 2024-04-11 17:46:59 +0000 Commit: Warner Losh CommitDate: 2024-04-11 17:53:37 +0000 usr.sbin: Remove repeated words Signed-off-by: Elyes Haouas Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/887 --- usr.sbin/arp/arp.c | 2 +- usr.sbin/bhyve/amd64/spinup_ap.c | 2 +- usr.sbin/bhyve/pci_emul.c | 2 +- usr.sbin/bhyve/virtio.h | 2 +- usr.sbin/crunch/crunchgen/crunchgen.c | 2 +- usr.sbin/fstyp/hammer2_disk.h | 2 +- usr.sbin/kldxref/kldxref.c | 2 +- usr.sbin/newsyslog/newsyslog.c | 2 +- usr.sbin/nscd/config.h | 2 +- usr.sbin/nscd/parser.c | 2 +- usr.sbin/nscd/query.c | 2 +- usr.sbin/pmcstat/pmcpl_callgraph.c | 2 +- usr.sbin/ppp/arp.c | 2 +- usr.sbin/sesutil/eltsub.h | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/usr.sbin/arp/arp.c b/usr.sbin/arp/arp.c index 562d982196c3..e5b94ca053e1 100644 --- a/usr.sbin/arp/arp.c +++ b/usr.sbin/arp/arp.c @@ -819,7 +819,7 @@ doit: /* * get_ether_addr - get the hardware address of an interface on the - * the same subnet as ipaddr. + * same subnet as ipaddr. */ static int get_ether_addr(in_addr_t ipaddr, struct ether_addr *hwaddr) diff --git a/usr.sbin/bhyve/amd64/spinup_ap.c b/usr.sbin/bhyve/amd64/spinup_ap.c index df90ad6443d0..294775bb2c96 100644 --- a/usr.sbin/bhyve/amd64/spinup_ap.c +++ b/usr.sbin/bhyve/amd64/spinup_ap.c @@ -51,7 +51,7 @@ spinup_ap_realmode(struct vcpu *newcpu, uint64_t rip) /* * Update the %cs and %rip of the guest so that it starts - * executing real mode code at at 'vector << 12'. + * executing real mode code at 'vector << 12'. */ error = vm_set_register(newcpu, VM_REG_GUEST_RIP, 0); assert(error == 0); diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c index 8eaa9b71fa15..00e9138d3910 100644 --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -2256,7 +2256,7 @@ pci_cfgrw(int in, int bus, int slot, int func, int coff, int bytes, /* * Just return if there is no device at this slot:func or if the - * the guest is doing an un-aligned access. + * guest is doing an un-aligned access. */ if (pi == NULL || (bytes != 1 && bytes != 2 && bytes != 4) || (coff & (bytes - 1)) != 0) { diff --git a/usr.sbin/bhyve/virtio.h b/usr.sbin/bhyve/virtio.h index 2b72b862ab21..a4f37034d93d 100644 --- a/usr.sbin/bhyve/virtio.h +++ b/usr.sbin/bhyve/virtio.h @@ -97,7 +97,7 @@ * begin with a 16-bit field and 16-bit index , then * have 16-bit values, followed by one final 16-bit * field . The entries are simply indices - * indices into the descriptor ring (and thus must meet the same + * into the descriptor ring (and thus must meet the same * constraints as each value). However, is counted * up from 0 (initially) and simply wraps around after 65535; it * is taken mod to find the next available entry. diff --git a/usr.sbin/crunch/crunchgen/crunchgen.c b/usr.sbin/crunch/crunchgen/crunchgen.c index 1deb2bb2f7ea..462a13f9c897 100644 --- a/usr.sbin/crunch/crunchgen/crunchgen.c +++ b/usr.sbin/crunch/crunchgen/crunchgen.c @@ -656,7 +656,7 @@ fillin_program(prog_t *p) } /* Unless the option to make object files was specified the - * the objects will be built in the source directory unless + * objects will be built in the source directory unless * an object directory already exists. */ if (!makeobj && !p->objdir && p->srcdir) { diff --git a/usr.sbin/fstyp/hammer2_disk.h b/usr.sbin/fstyp/hammer2_disk.h index eae40b618966..6efefe9a2495 100644 --- a/usr.sbin/fstyp/hammer2_disk.h +++ b/usr.sbin/fstyp/hammer2_disk.h @@ -619,7 +619,7 @@ typedef struct hammer2_dirent_head hammer2_dirent_head_t; * * Simple check codes are not sufficient for unverified dedup. Even with * a maximally-sized check code unverified dedup should only be used in - * in subdirectory trees where you do not need 100% data integrity. + * subdirectory trees where you do not need 100% data integrity. * * Unverified dedup is deduping based on meta-data only without verifying * that the data blocks are actually identical. Verified dedup guarantees diff --git a/usr.sbin/kldxref/kldxref.c b/usr.sbin/kldxref/kldxref.c index 8f3d24718211..c88769ce1824 100644 --- a/usr.sbin/kldxref/kldxref.c +++ b/usr.sbin/kldxref/kldxref.c @@ -230,7 +230,7 @@ typedef TAILQ_HEAD(pnp_head, pnp_elt) pnp_list; /* * this function finds the data from the pnp table, as described by the - * the description and creates a new output (new_desc). This output table + * description and creates a new output (new_desc). This output table * is a form that's easier for the agent that's automatically loading the * modules. * diff --git a/usr.sbin/newsyslog/newsyslog.c b/usr.sbin/newsyslog/newsyslog.c index 9f9185c1ad20..e9b84bae342d 100644 --- a/usr.sbin/newsyslog/newsyslog.c +++ b/usr.sbin/newsyslog/newsyslog.c @@ -2411,7 +2411,7 @@ set_swpid(struct sigwork_entry *swork, const struct conf_entry *ent) /* * Warn if the PID file is empty, but do not consider * it an error. Most likely it means the process has - * has terminated, so it should be safe to rotate any + * terminated, so it should be safe to rotate any * log files that the process would have been using. */ if (feof(f) && enforcepid == 0) { diff --git a/usr.sbin/nscd/config.h b/usr.sbin/nscd/config.h index 243c18582df6..f7baf46fff90 100644 --- a/usr.sbin/nscd/config.h +++ b/usr.sbin/nscd/config.h @@ -68,7 +68,7 @@ struct configuration_entry { /* * configuration_entry holds pointers for all actual cache_entries, * which are used for it. There is one for positive caching, one for - * for negative caching, and several (one per each euid/egid) for + * negative caching, and several (one per each euid/egid) for * multipart caching. */ cache_entry positive_cache_entry; diff --git a/usr.sbin/nscd/parser.c b/usr.sbin/nscd/parser.c index 6427f179707b..dc8ad809e8a8 100644 --- a/usr.sbin/nscd/parser.c +++ b/usr.sbin/nscd/parser.c @@ -362,7 +362,7 @@ set_threads_num(struct configuration *config, int value) /* * The main configuration routine. Its implementation is hugely inspired by the - * the same routine implementation in Solaris NSCD. + * same routine implementation in Solaris NSCD. */ int parse_config_file(struct configuration *config, diff --git a/usr.sbin/nscd/query.c b/usr.sbin/nscd/query.c index bf9cae5a0c60..aa048f029aa6 100644 --- a/usr.sbin/nscd/query.c +++ b/usr.sbin/nscd/query.c @@ -78,7 +78,7 @@ static int on_write_response_write1(struct query_state *); /* * Clears the specified configuration entry (clears the cache for positive and - * and negative entries) and also for all multipart entries. + * negative entries) and also for all multipart entries. */ static void clear_config_entry(struct configuration_entry *config_entry) diff --git a/usr.sbin/pmcstat/pmcpl_callgraph.c b/usr.sbin/pmcstat/pmcpl_callgraph.c index 76c89b0d4c80..ade99464a4a3 100644 --- a/usr.sbin/pmcstat/pmcpl_callgraph.c +++ b/usr.sbin/pmcstat/pmcpl_callgraph.c @@ -358,7 +358,7 @@ pmcpl_cg_process(struct pmcstat_process *pp, struct pmcstat_pmcrecord *pmcr, * For each return address in the call chain record, subject * to the maximum depth desired. * - Find the image associated with the sample. Stop if there - * there is no valid image at that address. + * is no valid image at that address. * - Find the function that overlaps the return address. * - If found: use the start address of the function. * If not found (say an object's symbol table is not present or diff --git a/usr.sbin/ppp/arp.c b/usr.sbin/ppp/arp.c index fa45502f488a..ad623525ad4c 100644 --- a/usr.sbin/ppp/arp.c +++ b/usr.sbin/ppp/arp.c @@ -221,7 +221,7 @@ arp_ClearProxy(struct bundle *bundle, struct in_addr addr, int s) /* * arp_EtherAddr - get the hardware address of an interface on the - * the same subnet as ipaddr. + * same subnet as ipaddr. */ int diff --git a/usr.sbin/sesutil/eltsub.h b/usr.sbin/sesutil/eltsub.h index 3be59d31cb7c..d7feb461368e 100644 --- a/usr.sbin/sesutil/eltsub.h +++ b/usr.sbin/sesutil/eltsub.h @@ -12,7 +12,7 @@ * derived from this software without specific prior written permission. * * Alternatively, this software may be distributed under the terms of the - * the GNU Public License ("GPL"). + * GNU Public License ("GPL"). * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE From nobody Thu Apr 11 18:07:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFnhm6kY2z5HqcR; Thu, 11 Apr 2024 18:07: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 4VFnhm4dlFz4c9F; Thu, 11 Apr 2024 18:07:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712858824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tLWTqn8MPMf9IQtJci2gsohakVYa8zoHCzCbM1CzO5c=; b=V5HcmqTv6332HQh+m8gTKBg+hoqYdzpjbjFNAWeRm41WODrQTYD7CvrewH+zXlD8gyCvGZ iIt9EcF//ZgBNlISUTg3yBoZkCGY4Ki7Cp71zpkoiL6WnJisyEkeAyCHzhtFex6zOQMPFq CDOsHRnEUgjhxJ/NwK4Kys/CFmgFrwdMb1gbJSYVbOqXSesWE849Ss5hTWFThIs+jnG1Zc D+e44UNspbIA1A36fhaM8R9dBQoouB69uvDdJEDZcaXQQRxsVAnLwJVtm7FpWL13Hqf1/u UMKespV5SjMa20uFRIMUvLthptUS+IrzkRKcNNeuP600NQ7Ds6jxMcNpsaVlUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712858824; a=rsa-sha256; cv=none; b=NjGL44F+HXpGbhcWm/BSg5/PKLPbTn1N1xk99kn+X9Kf4irP2xr/35Wr9KLm4h6/ehxHGS AUXSVuW2ohtu8A2kROizZnRdTe40m/QdDjPk5+z6jfm5rux1k2caZNOc80ahtvs1rzaL25 g9MtwNcqTLGSAv8vThUpI8R/lgbrI+vlQD/rXLNa+yRkg489R7D94E4NA8c2MbMzl5Cd2c qV+BESKQHjWoQQhWbn38rf4PeCjQ8VBZLW+M6xuog+v5R7uwtjKyzlYkaS6c4g0oF4XeG5 fyGAPCFroEjN9UgyATC/Aj7IiT91iIbmkFufsJaJl6UWktwUdYYW2Yew/EBFfA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712858824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tLWTqn8MPMf9IQtJci2gsohakVYa8zoHCzCbM1CzO5c=; b=OiROpt+lul9ZU3HeTQuMn0tWFJg9YpDO9GLCm8wwS7llvbHAd7+SOGujP4gvn82nQQRWXH WCRhl6FqHJ4LU/3/NGex92NupSCGoSeiqhnfgZOWAOIYoXWSafOYMQmTRn/WCJ8PNsgGky nfBZYSPa01+wRRUxqSoTnssKPEagAPEHdswlQHA1GAlODkGMBxc/5Cn7MXbbh3AMM3YN7X xeUqQl65FlL5VspRFszj/IJtwc256MkGcnS7CIXhS+IrMGRTYRFWXvWrA4HKf2R/zr2f6k L30XSOIySON9XwzxDfil3g+EkCNzCjQwH2tLIRIx/4+BtnXvV6Hk6Y6PtCSe/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 4VFnhm4C9TzGcw; Thu, 11 Apr 2024 18:07:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BI74SF022811; Thu, 11 Apr 2024 18:07:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BI74T9022808; Thu, 11 Apr 2024 18:07:04 GMT (envelope-from git) Date: Thu, 11 Apr 2024 18:07:04 GMT Message-Id: <202404111807.43BI74T9022808@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: e8c0d15a64fa - main - sound: Get rid of snd_clone and use DEVFS_CDEVPRIV(9) 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: dev-commits-src-main+owner@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: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e8c0d15a64fadb4a330f2da7244becaac161bb70 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=e8c0d15a64fadb4a330f2da7244becaac161bb70 commit e8c0d15a64fadb4a330f2da7244becaac161bb70 Author: Christos Margiolis AuthorDate: 2024-04-11 18:06:30 +0000 Commit: Christos Margiolis CommitDate: 2024-04-11 18:06:30 +0000 sound: Get rid of snd_clone and use DEVFS_CDEVPRIV(9) Currently the snd_clone framework creates device nodes on-demand for every channel, through the dsp_clone() callback, and is responsible for routing audio to the appropriate channel(s). This patch gets rid of the whole snd_clone framework (including any related sysctls) and instead uses DEVFS_CDEVPRIV(9) to handle device opening, channel allocation and audio routing. This results in a significant reduction in code size as well as complexity. Behavior that is preserved: - hw.snd.basename_clone. - Exclusive access of an audio device (i.e VCHANs disabled). - Multiple processes can read from/write to the device. - A device can only be opened as many times as the maximum allowed channel number (see SND_MAXHWCHAN in pcm/sound.h). - OSSv4 compatibility aliases are preserved. Behavior changes: Only one /dev/dspX device node is created (on attach) for each audio device, as opposed to the current /dev/dspX.Y devices created by snd_clone. According to the sound(4) man page, devices are not meant to be opened through /dev/dspX.Y anyway, so it is best if we do not create device nodes for them in the first place. As a result of this, modify dsp_oss_audioinfo() to print /dev/dspX in the "ai->devnode", instead of /dev/dspX.Y. Sponsored by: The FreeBSD Foundation MFC after: 2 months Reviewed by: dev_submerge.ch, bapt, markj Differential Revision: https://reviews.freebsd.org/D44411 --- share/man/man4/pcm.4 | 53 +- sys/conf/files | 1 - sys/dev/sound/clone.c | 705 ------------------------- sys/dev/sound/clone.h | 127 ----- sys/dev/sound/pcm/dsp.c | 1051 ++++++++++++-------------------------- sys/dev/sound/pcm/dsp.h | 7 +- sys/dev/sound/pcm/sound.c | 194 +------ sys/dev/sound/pcm/sound.h | 6 +- sys/modules/sound/sound/Makefile | 2 +- 9 files changed, 332 insertions(+), 1814 deletions(-) diff --git a/share/man/man4/pcm.4 b/share/man/man4/pcm.4 index 17ac499e6bb3..e406bd2c8343 100644 --- a/share/man/man4/pcm.4 +++ b/share/man/man4/pcm.4 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 10, 2024 +.Dd March 24, 2024 .Dt SOUND 4 .Os .Sh NAME @@ -513,14 +513,6 @@ device state on each tick using a mechanism. Disabled by default and currently only available for a few device drivers. .El -.Ss Recording Channels -On devices that have more than one recording source (ie: mic and line), -there is a corresponding -.Pa /dev/dsp%d.r%d -device. -The -.Xr mixer 8 -utility can be used to start and stop recording from an specific device. .Ss Statistics Channel statistics are only kept while the device is open. So with situations involving overruns and underruns, consider the output @@ -542,36 +534,24 @@ functions. .Sh FILES The .Nm -drivers may create the following -device nodes: +drivers may create the following device nodes: .Pp -.Bl -tag -width ".Pa /dev/audio%d.%d" -compact -.It Pa /dev/audio%d.%d -Sparc-compatible audio device. -.It Pa /dev/dsp%d.%d -Digitized voice device. -.It Pa /dev/dspW%d.%d -Like -.Pa /dev/dsp , -but 16 bits per sample. -.It Pa /dev/dsp%d.p%d -Playback channel. -.It Pa /dev/dsp%d.r%d -Record channel. -.It Pa /dev/dsp%d.vp%d -Virtual playback channel. -.It Pa /dev/dsp%d.vr%d -Virtual recording channel. +.Bl -tag -width ".Pa /dev/sndstat" -compact +.It Pa /dev/dsp%d +Audio device. +The number represents the unit number of the device. +.It Pa /dev/dsp +Alias of +.Pa /dev/dsp${hw.snd.default_unit} . +Available only if +.Pa hw.snd.basename_clone +is set. .It Pa /dev/sndstat Current .Nm status, including all channels and drivers. .El .Pp -The first number in the device node -represents the unit number of the -.Nm -device. All .Nm devices are listed @@ -581,15 +561,6 @@ Additional messages are sometimes recorded when the device is probed and attached, these messages can be viewed with the .Xr dmesg 8 utility. -.Pp -The above device nodes are only created on demand through the dynamic -.Xr devfs 5 -clone handler. -Users are strongly discouraged to access them directly. -For specific sound card access, please instead use -.Pa /dev/dsp -or -.Pa /dev/dsp%d . .Sh EXAMPLES Use the sound metadriver to load all .Nm diff --git a/sys/conf/files b/sys/conf/files index 2c262e36eeb0..8c62e8e7bcc7 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3072,7 +3072,6 @@ dev/smc/if_smc.c optional smc dev/smc/if_smc_acpi.c optional smc acpi dev/smc/if_smc_fdt.c optional smc fdt dev/snp/snp.c optional snp -dev/sound/clone.c optional sound dev/sound/unit.c optional sound dev/sound/pci/als4000.c optional snd_als4000 pci dev/sound/pci/atiixp.c optional snd_atiixp pci diff --git a/sys/dev/sound/clone.c b/sys/dev/sound/clone.c deleted file mode 100644 index 4cac5f050ee2..000000000000 --- a/sys/dev/sound/clone.c +++ /dev/null @@ -1,705 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2007 Ariff Abdullah - * 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. - */ - -#include -#include -#include -#include -#include -#include - -#ifdef HAVE_KERNEL_OPTION_HEADERS -#include "opt_snd.h" -#endif - -#if defined(SND_DIAGNOSTIC) || defined(SND_DEBUG) -#include -#endif - -#include - -/* - * So here we go again, another clonedevs manager. Unlike default clonedevs, - * this clone manager is designed to withstand various abusive behavior - * (such as 'while : ; do ls /dev/whatever ; done', etc.), reusable object - * after reaching certain expiration threshold, aggressive garbage collector, - * transparent device allocator and concurrency handling across multiple - * thread/proc. Due to limited information given by dev_clone EVENTHANDLER, - * we don't have much clues whether the caller wants a real open() or simply - * making fun of us with things like stat(), mtime() etc. Assuming that: - * 1) Time window between dev_clone EH <-> real open() should be small - * enough and 2) mtime()/stat() etc. always looks like a half way / stalled - * operation, we can decide whether a new cdev must be created, old - * (expired) cdev can be reused or an existing cdev can be shared. - * - * Most of the operations and logics are generic enough and can be applied - * on other places (such as if_tap, snp, etc). Perhaps this can be - * rearranged to complement clone_*(). However, due to this still being - * specific to the sound driver (and as a proof of concept on how it can be - * done), si_drv2 is used to keep the pointer of the clone list entry to - * avoid expensive lookup. - */ - -/* clone entry */ -struct snd_clone_entry { - TAILQ_ENTRY(snd_clone_entry) link; - struct snd_clone *parent; - struct cdev *devt; - struct timespec tsp; - uint32_t flags; - pid_t pid; - int unit; -}; - -/* clone manager */ -struct snd_clone { - TAILQ_HEAD(link_head, snd_clone_entry) head; - struct timespec tsp; - int refcount; - int size; - int typemask; - int maxunit; - int deadline; - uint32_t flags; -}; - -#ifdef SND_DIAGNOSTIC -#define SND_CLONE_ASSERT(x, y) do { \ - if (!(x)) \ - panic y; \ -} while (0) -#else -#define SND_CLONE_ASSERT(...) KASSERT(__VA_ARGS__) -#endif - -/* - * snd_clone_create() : Return opaque allocated clone manager. - */ -struct snd_clone * -snd_clone_create(int typemask, int maxunit, int deadline, uint32_t flags) -{ - struct snd_clone *c; - - SND_CLONE_ASSERT(!(typemask & ~SND_CLONE_MAXUNIT), - ("invalid typemask: 0x%08x", typemask)); - SND_CLONE_ASSERT(maxunit == -1 || - !(maxunit & ~(~typemask & SND_CLONE_MAXUNIT)), - ("maxunit overflow: typemask=0x%08x maxunit=%d", - typemask, maxunit)); - SND_CLONE_ASSERT(!(flags & ~SND_CLONE_MASK), - ("invalid clone flags=0x%08x", flags)); - - c = malloc(sizeof(*c), M_DEVBUF, M_WAITOK | M_ZERO); - c->refcount = 0; - c->size = 0; - c->typemask = typemask; - c->maxunit = (maxunit == -1) ? (~typemask & SND_CLONE_MAXUNIT) : - maxunit; - c->deadline = deadline; - c->flags = flags; - getnanouptime(&c->tsp); - TAILQ_INIT(&c->head); - - return (c); -} - -int -snd_clone_busy(struct snd_clone *c) -{ - struct snd_clone_entry *ce; - - SND_CLONE_ASSERT(c != NULL, ("NULL snd_clone")); - - if (c->size == 0) - return (0); - - TAILQ_FOREACH(ce, &c->head, link) { - if ((ce->flags & SND_CLONE_BUSY) || - (ce->devt != NULL && ce->devt->si_threadcount != 0)) - return (EBUSY); - } - - return (0); -} - -/* - * snd_clone_enable()/disable() : Suspend/resume clone allocation through - * snd_clone_alloc(). Everything else will not be affected by this. - */ -int -snd_clone_enable(struct snd_clone *c) -{ - SND_CLONE_ASSERT(c != NULL, ("NULL snd_clone")); - - if (c->flags & SND_CLONE_ENABLE) - return (EINVAL); - - c->flags |= SND_CLONE_ENABLE; - - return (0); -} - -int -snd_clone_disable(struct snd_clone *c) -{ - SND_CLONE_ASSERT(c != NULL, ("NULL snd_clone")); - - if (!(c->flags & SND_CLONE_ENABLE)) - return (EINVAL); - - c->flags &= ~SND_CLONE_ENABLE; - - return (0); -} - -/* - * Getters / Setters. Not worth explaining :) - */ -int -snd_clone_getsize(struct snd_clone *c) -{ - SND_CLONE_ASSERT(c != NULL, ("NULL snd_clone")); - - return (c->size); -} - -int -snd_clone_getmaxunit(struct snd_clone *c) -{ - SND_CLONE_ASSERT(c != NULL, ("NULL snd_clone")); - - return (c->maxunit); -} - -int -snd_clone_setmaxunit(struct snd_clone *c, int maxunit) -{ - SND_CLONE_ASSERT(c != NULL, ("NULL snd_clone")); - SND_CLONE_ASSERT(maxunit == -1 || - !(maxunit & ~(~c->typemask & SND_CLONE_MAXUNIT)), - ("maxunit overflow: typemask=0x%08x maxunit=%d", - c->typemask, maxunit)); - - c->maxunit = (maxunit == -1) ? (~c->typemask & SND_CLONE_MAXUNIT) : - maxunit; - - return (c->maxunit); -} - -int -snd_clone_getdeadline(struct snd_clone *c) -{ - SND_CLONE_ASSERT(c != NULL, ("NULL snd_clone")); - - return (c->deadline); -} - -int -snd_clone_setdeadline(struct snd_clone *c, int deadline) -{ - SND_CLONE_ASSERT(c != NULL, ("NULL snd_clone")); - - c->deadline = deadline; - - return (c->deadline); -} - -uint32_t -snd_clone_getflags(struct snd_clone *c) -{ - SND_CLONE_ASSERT(c != NULL, ("NULL snd_clone")); - - return (c->flags); -} - -uint32_t -snd_clone_setflags(struct snd_clone *c, uint32_t flags) -{ - SND_CLONE_ASSERT(c != NULL, ("NULL snd_clone")); - SND_CLONE_ASSERT(!(flags & ~SND_CLONE_MASK), - ("invalid clone flags=0x%08x", flags)); - - c->flags = flags; - - return (c->flags); -} - -uint32_t -snd_clone_getdevflags(struct cdev *dev) -{ - struct snd_clone_entry *ce; - - SND_CLONE_ASSERT(dev != NULL, ("NULL dev")); - - ce = dev->si_drv2; - if (ce == NULL) - return (0xffffffff); - - SND_CLONE_ASSERT(ce->parent != NULL, ("NULL parent")); - - return (ce->flags); -} - -uint32_t -snd_clone_setdevflags(struct cdev *dev, uint32_t flags) -{ - struct snd_clone_entry *ce; - - SND_CLONE_ASSERT(dev != NULL, ("NULL dev")); - SND_CLONE_ASSERT(!(flags & ~SND_CLONE_DEVMASK), - ("invalid clone dev flags=0x%08x", flags)); - - ce = dev->si_drv2; - if (ce == NULL) - return (0xffffffff); - - SND_CLONE_ASSERT(ce->parent != NULL, ("NULL parent")); - - ce->flags = flags; - - return (ce->flags); -} - -/* Elapsed time conversion to ms */ -#define SND_CLONE_ELAPSED(x, y) \ - ((((x)->tv_sec - (y)->tv_sec) * 1000) + \ - (((y)->tv_nsec > (x)->tv_nsec) ? \ - (((1000000000L + (x)->tv_nsec - \ - (y)->tv_nsec) / 1000000) - 1000) : \ - (((x)->tv_nsec - (y)->tv_nsec) / 1000000))) - -#define SND_CLONE_EXPIRED(x, y, z) \ - ((x)->deadline < 1 || \ - ((y)->tv_sec - (z)->tv_sec) > ((x)->deadline / 1000) || \ - SND_CLONE_ELAPSED(y, z) > (x)->deadline) - -/* - * snd_clone_gc() : Garbage collector for stalled, expired objects. Refer to - * clone.h for explanations on GC settings. - */ -int -snd_clone_gc(struct snd_clone *c) -{ - struct snd_clone_entry *ce, *tce; - struct timespec now; - int pruned; - - SND_CLONE_ASSERT(c != NULL, ("NULL snd_clone")); - - if (!(c->flags & SND_CLONE_GC_ENABLE) || c->size == 0) - return (0); - - getnanouptime(&now); - - /* - * Bail out if the last clone handler was invoked below the deadline - * threshold. - */ - if ((c->flags & SND_CLONE_GC_EXPIRED) && - !SND_CLONE_EXPIRED(c, &now, &c->tsp)) - return (0); - - pruned = 0; - - /* - * Visit each object in reverse order. If the object is still being - * referenced by a valid open(), skip it. Look for expired objects - * and either revoke its clone invocation status or mercilessly - * throw it away. - */ - TAILQ_FOREACH_REVERSE_SAFE(ce, &c->head, link_head, link, tce) { - if (!(ce->flags & SND_CLONE_BUSY) && - (!(ce->flags & SND_CLONE_INVOKE) || - SND_CLONE_EXPIRED(c, &now, &ce->tsp))) { - if ((c->flags & SND_CLONE_GC_REVOKE) || - ce->devt->si_threadcount != 0) { - ce->flags &= ~SND_CLONE_INVOKE; - ce->pid = -1; - } else { - TAILQ_REMOVE(&c->head, ce, link); - destroy_dev(ce->devt); - free(ce, M_DEVBUF); - c->size--; - } - pruned++; - } - } - - /* return total pruned objects */ - return (pruned); -} - -void -snd_clone_destroy(struct snd_clone *c) -{ - struct snd_clone_entry *ce, *tmp; - - SND_CLONE_ASSERT(c != NULL, ("NULL snd_clone")); - - ce = TAILQ_FIRST(&c->head); - while (ce != NULL) { - tmp = TAILQ_NEXT(ce, link); - if (ce->devt != NULL) - destroy_dev(ce->devt); - free(ce, M_DEVBUF); - ce = tmp; - } - - free(c, M_DEVBUF); -} - -/* - * snd_clone_acquire() : The vital part of concurrency management. Must be - * called somewhere at the beginning of open() handler. ENODEV is not really - * fatal since it just tell the caller that this is not cloned stuff. - * EBUSY is *real*, don't forget that! - */ -int -snd_clone_acquire(struct cdev *dev) -{ - struct snd_clone_entry *ce; - - SND_CLONE_ASSERT(dev != NULL, ("NULL dev")); - - ce = dev->si_drv2; - if (ce == NULL) - return (ENODEV); - - SND_CLONE_ASSERT(ce->parent != NULL, ("NULL parent")); - - ce->flags &= ~SND_CLONE_INVOKE; - - if (ce->flags & SND_CLONE_BUSY) - return (EBUSY); - - ce->flags |= SND_CLONE_BUSY; - - return (0); -} - -/* - * snd_clone_release() : Release busy status. Must be called somewhere at - * the end of close() handler, or somewhere after fail open(). - */ -int -snd_clone_release(struct cdev *dev) -{ - struct snd_clone_entry *ce; - - SND_CLONE_ASSERT(dev != NULL, ("NULL dev")); - - ce = dev->si_drv2; - if (ce == NULL) - return (ENODEV); - - SND_CLONE_ASSERT(ce->parent != NULL, ("NULL parent")); - - ce->flags &= ~SND_CLONE_INVOKE; - - if (!(ce->flags & SND_CLONE_BUSY)) - return (EBADF); - - ce->flags &= ~SND_CLONE_BUSY; - ce->pid = -1; - - return (0); -} - -/* - * snd_clone_ref/unref() : Garbage collector reference counter. To make - * garbage collector run automatically, the sequence must be something like - * this (both in open() and close() handlers): - * - * open() - 1) snd_clone_acquire() - * 2) .... check check ... if failed, snd_clone_release() - * 3) Success. Call snd_clone_ref() - * - * close() - 1) .... check check check .... - * 2) Success. snd_clone_release() - * 3) snd_clone_unref() . Garbage collector will run at this point - * if this is the last referenced object. - */ -int -snd_clone_ref(struct cdev *dev) -{ - struct snd_clone_entry *ce; - struct snd_clone *c; - - SND_CLONE_ASSERT(dev != NULL, ("NULL dev")); - - ce = dev->si_drv2; - if (ce == NULL) - return (0); - - c = ce->parent; - SND_CLONE_ASSERT(c != NULL, ("NULL parent")); - SND_CLONE_ASSERT(c->refcount >= 0, ("refcount < 0")); - - return (++c->refcount); -} - -int -snd_clone_unref(struct cdev *dev) -{ - struct snd_clone_entry *ce; - struct snd_clone *c; - - SND_CLONE_ASSERT(dev != NULL, ("NULL dev")); - - ce = dev->si_drv2; - if (ce == NULL) - return (0); - - c = ce->parent; - SND_CLONE_ASSERT(c != NULL, ("NULL parent")); - SND_CLONE_ASSERT(c->refcount > 0, ("refcount <= 0")); - - c->refcount--; - - /* - * Run automatic garbage collector, if needed. - */ - if ((c->flags & SND_CLONE_GC_UNREF) && - (!(c->flags & SND_CLONE_GC_LASTREF) || - (c->refcount == 0 && (c->flags & SND_CLONE_GC_LASTREF)))) - (void)snd_clone_gc(c); - - return (c->refcount); -} - -void -snd_clone_register(struct snd_clone_entry *ce, struct cdev *dev) -{ - SND_CLONE_ASSERT(ce != NULL, ("NULL snd_clone_entry")); - SND_CLONE_ASSERT(dev != NULL, ("NULL dev")); - SND_CLONE_ASSERT(dev->si_drv2 == NULL, ("dev->si_drv2 not NULL")); - SND_CLONE_ASSERT((ce->flags & SND_CLONE_ALLOC) == SND_CLONE_ALLOC, - ("invalid clone alloc flags=0x%08x", ce->flags)); - SND_CLONE_ASSERT(ce->devt == NULL, ("ce->devt not NULL")); - SND_CLONE_ASSERT(ce->unit == dev2unit(dev), - ("invalid unit ce->unit=0x%08x dev2unit=0x%08x", - ce->unit, dev2unit(dev))); - - SND_CLONE_ASSERT(ce->parent != NULL, ("NULL parent")); - - dev->si_drv2 = ce; - ce->devt = dev; - ce->flags &= ~SND_CLONE_ALLOC; - ce->flags |= SND_CLONE_INVOKE; -} - -struct snd_clone_entry * -snd_clone_alloc(struct snd_clone *c, struct cdev **dev, int *unit, int tmask) -{ - struct snd_clone_entry *ce, *after, *bce, *cce, *nce, *tce; - struct timespec now; - int cunit, allocunit; - pid_t curpid; - - SND_CLONE_ASSERT(c != NULL, ("NULL snd_clone")); - SND_CLONE_ASSERT(dev != NULL, ("NULL dev pointer")); - SND_CLONE_ASSERT((c->typemask & tmask) == tmask, - ("invalid tmask: typemask=0x%08x tmask=0x%08x", - c->typemask, tmask)); - SND_CLONE_ASSERT(unit != NULL, ("NULL unit pointer")); - SND_CLONE_ASSERT(*unit == -1 || !(*unit & (c->typemask | tmask)), - ("typemask collision: typemask=0x%08x tmask=0x%08x *unit=%d", - c->typemask, tmask, *unit)); - - if (!(c->flags & SND_CLONE_ENABLE) || - (*unit != -1 && *unit > c->maxunit)) - return (NULL); - - ce = NULL; - after = NULL; - bce = NULL; /* "b"usy candidate */ - cce = NULL; /* "c"urthread/proc candidate */ - nce = NULL; /* "n"ull, totally unbusy candidate */ - tce = NULL; /* Last "t"ry candidate */ - cunit = 0; - allocunit = (*unit == -1) ? 0 : *unit; - curpid = curthread->td_proc->p_pid; - - getnanouptime(&now); - - TAILQ_FOREACH(ce, &c->head, link) { - /* - * Sort incrementally according to device type. - */ - if (tmask > (ce->unit & c->typemask)) { - if (cunit == 0) - after = ce; - continue; - } else if (tmask < (ce->unit & c->typemask)) - break; - - /* - * Shoot.. this is where the grumpiness begin. Just - * return immediately. - */ - if (*unit != -1 && *unit == (ce->unit & ~tmask)) - goto snd_clone_alloc_out; - - cunit++; - /* - * Simmilar device type. Sort incrementally according - * to allocation unit. While here, look for free slot - * and possible collision for new / future allocation. - */ - if (*unit == -1 && (ce->unit & ~tmask) == allocunit) - allocunit++; - if ((ce->unit & ~tmask) < allocunit) - after = ce; - /* - * Clone logic: - * 1. Look for non busy, but keep track of the best - * possible busy cdev. - * 2. Look for the best (oldest referenced) entry that is - * in a same process / thread. - * 3. Look for the best (oldest referenced), absolute free - * entry. - * 4. Lastly, look for the best (oldest referenced) - * any entries that doesn't fit with anything above. - */ - if (ce->flags & SND_CLONE_BUSY) { - if (ce->devt != NULL && (bce == NULL || - timespeccmp(&ce->tsp, &bce->tsp, <))) - bce = ce; - continue; - } - if (ce->pid == curpid && - (cce == NULL || timespeccmp(&ce->tsp, &cce->tsp, <))) - cce = ce; - else if (!(ce->flags & SND_CLONE_INVOKE) && - (nce == NULL || timespeccmp(&ce->tsp, &nce->tsp, <))) - nce = ce; - else if (tce == NULL || timespeccmp(&ce->tsp, &tce->tsp, <)) - tce = ce; - } - if (*unit != -1) - goto snd_clone_alloc_new; - else if (cce != NULL) { - /* Same proc entry found, go for it */ - ce = cce; - goto snd_clone_alloc_out; - } else if (nce != NULL) { - /* - * Next, try absolute free entry. If the calculated - * allocunit is smaller, create new entry instead. - */ - if (allocunit < (nce->unit & ~tmask)) - goto snd_clone_alloc_new; - ce = nce; - goto snd_clone_alloc_out; - } else if (allocunit > c->maxunit) { - /* - * Maximum allowable unit reached. Try returning any - * available cdev and hope for the best. If the lookup is - * done for things like stat(), mtime() etc. , things should - * be ok. Otherwise, open() handler should do further checks - * and decide whether to return correct error code or not. - */ - if (tce != NULL) { - ce = tce; - goto snd_clone_alloc_out; - } else if (bce != NULL) { - ce = bce; - goto snd_clone_alloc_out; - } - return (NULL); - } - -snd_clone_alloc_new: - /* - * No free entries found, and we still haven't reached maximum - * allowable units. Allocate, setup a minimal unique entry with busy - * status so nobody will monkey on this new entry. Unit magic is set - * right here to avoid collision with other contesting handler. - * The caller must be carefull here to maintain its own - * synchronization, as long as it will not conflict with malloc(9) - * operations. - * - * That said, go figure. - */ - ce = malloc(sizeof(*ce), M_DEVBUF, - ((c->flags & SND_CLONE_WAITOK) ? M_WAITOK : M_NOWAIT) | M_ZERO); - if (ce == NULL) { - if (*unit != -1) - return (NULL); - /* - * We're being dense, ignorance is bliss, - * Super Regulatory Measure (TM).. TRY AGAIN! - */ - if (nce != NULL) { - ce = nce; - goto snd_clone_alloc_out; - } else if (tce != NULL) { - ce = tce; - goto snd_clone_alloc_out; - } else if (bce != NULL) { - ce = bce; - goto snd_clone_alloc_out; - } - return (NULL); - } - /* Setup new entry */ - ce->parent = c; - ce->unit = tmask | allocunit; - ce->pid = curpid; - ce->tsp = now; - ce->flags |= SND_CLONE_ALLOC; - if (after != NULL) { - TAILQ_INSERT_AFTER(&c->head, after, ce, link); - } else { - TAILQ_INSERT_HEAD(&c->head, ce, link); - } - c->size++; - c->tsp = now; - /* - * Save new allocation unit for caller which will be used - * by make_dev(). - */ - *unit = allocunit; - - return (ce); - -snd_clone_alloc_out: - /* - * Set, mark, timestamp the entry if this is a truly free entry. - * Leave busy entry alone. - */ - if (!(ce->flags & SND_CLONE_BUSY)) { - ce->pid = curpid; - ce->tsp = now; - ce->flags |= SND_CLONE_INVOKE; - } - c->tsp = now; - *dev = ce->devt; - - return (NULL); -} diff --git a/sys/dev/sound/clone.h b/sys/dev/sound/clone.h deleted file mode 100644 index 38b57b85b3e4..000000000000 --- a/sys/dev/sound/clone.h +++ /dev/null @@ -1,127 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2007 Ariff Abdullah - * 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. - */ - -#ifndef _SND_CLONE_H_ -#define _SND_CLONE_H_ - -struct snd_clone_entry; -struct snd_clone; - -/* - * 750 milisecond default deadline. Short enough to not cause excessive - * garbage collection, long enough to indicate stalled VFS. - */ -#define SND_CLONE_DEADLINE_DEFAULT 750 - -/* - * Fit within 24bit MAXMINOR. - */ -#define SND_CLONE_MAXUNIT 0xffffff - -/* - * Creation flags, mostly related to the behaviour of garbage collector. - * - * SND_CLONE_ENABLE - Enable clone allocation. - * SND_CLONE_GC_ENABLE - Enable garbage collector operation, automatically - * or if explicitly called upon. - * SND_CLONE_GC_UNREF - Garbage collect during unref operation. - * SND_CLONE_GC_LASTREF - Garbage collect during last reference - * (refcount = 0) - * SND_CLONE_GC_EXPIRED - Don't garbage collect unless the global clone - * handler has been expired. - * SND_CLONE_GC_REVOKE - Revoke clone invocation status which has been - * expired instead of removing and freeing it. - * SND_CLONE_WAITOK - malloc() is allowed to sleep while allocating - * clone entry. - */ -#define SND_CLONE_ENABLE 0x00000001 -#define SND_CLONE_GC_ENABLE 0x00000002 -#define SND_CLONE_GC_UNREF 0x00000004 -#define SND_CLONE_GC_LASTREF 0x00000008 -#define SND_CLONE_GC_EXPIRED 0x00000010 -#define SND_CLONE_GC_REVOKE 0x00000020 -#define SND_CLONE_WAITOK 0x80000000 - -#define SND_CLONE_GC_MASK (SND_CLONE_GC_ENABLE | \ - SND_CLONE_GC_UNREF | \ - SND_CLONE_GC_LASTREF | \ - SND_CLONE_GC_EXPIRED | \ - SND_CLONE_GC_REVOKE) - -#define SND_CLONE_MASK (SND_CLONE_ENABLE | SND_CLONE_GC_MASK | \ - SND_CLONE_WAITOK) - -/* - * Runtime clone device flags - * - * These are mostly private to the clone manager operation: - * - * SND_CLONE_NEW - New clone allocation in progress. - * SND_CLONE_INVOKE - Cloning being invoked, waiting for next VFS operation. - * SND_CLONE_BUSY - In progress, being referenced by living thread/proc. - */ -#define SND_CLONE_NEW 0x00000001 -#define SND_CLONE_INVOKE 0x00000002 -#define SND_CLONE_BUSY 0x00000004 - -/* - * Nothing important, just for convenience. - */ -#define SND_CLONE_ALLOC (SND_CLONE_NEW | SND_CLONE_INVOKE | \ - SND_CLONE_BUSY) - -#define SND_CLONE_DEVMASK SND_CLONE_ALLOC - -struct snd_clone *snd_clone_create(int, int, int, uint32_t); -int snd_clone_busy(struct snd_clone *); -int snd_clone_enable(struct snd_clone *); -int snd_clone_disable(struct snd_clone *); -int snd_clone_getsize(struct snd_clone *); -int snd_clone_getmaxunit(struct snd_clone *); -int snd_clone_setmaxunit(struct snd_clone *, int); -int snd_clone_getdeadline(struct snd_clone *); -int snd_clone_setdeadline(struct snd_clone *, int); -uint32_t snd_clone_getflags(struct snd_clone *); -uint32_t snd_clone_setflags(struct snd_clone *, uint32_t); *** 1943 LINES SKIPPED *** From nobody Thu Apr 11 18:07:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFnhp0mvZz5HqRd; Thu, 11 Apr 2024 18:07: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 4VFnhn5qkdz4c7V; Thu, 11 Apr 2024 18:07:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712858825; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VYfT+khZbM7Z1/oPrq7N8mCpY/gN+koV9QkI36Z/3Jc=; b=pXKRjNCW9bAzldGaPQMPV1XjUe5mDvM6995qmAlR9BnT7b7lvuoVJYFhWcOf/+kbAnEC7p Q5NXxNIx2zK4u0D1W3A5hSLVy1/c2gk8Acb3kEJXwPydmzuHgc+cpzJSi6Fcojd3nAlt4c 6s5OAGy+uyj0YymdtohQBtUwbkKd/DshlzsDHFeAMZxhT+V1m1yhKBAD7+4Jb8KHyeKUmU +mp4hcuTQX/7RSbndM7HPTz9LYAmmBF4F9f7Xcx8bxEQfkWZ9byWX3zflP5wNy/g2tdkll CsGThU3VWK7BLsQbfsgBC/HydLqI7I5A+01GJHRD1qA65i9Ropa1infb33iN1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712858825; a=rsa-sha256; cv=none; b=RVFjO3GWjrwJnbDNaIdL7aFSbW93OVQQPM2EmFujEHpyIR0l6bzdeWN9lIiyihp/6g4ZKB WTvQyxsBCZCwG6l3DZxEtgyRtHLLPiizVk99meS920Tx/mGFGFQgR2MUT/M35x5e3+Y1/3 gaWQNe/WF0H61CTqq/y/sMHzDHhSFM7UNs/eVt/YrY+KCn0CvCaQ5DPLRRKNPnrZf64c8Z gs5Iqss8YG23wIWDZjM9d4CBNdU/CGxr6COsIi/YCInyC8km5VhKkDpcugkTNT5E1E4HUC vUeg2oHRmYPbUyGm4rzsCYmbGyP8kc3qGv/Td4fTEH3JV//SiLi/sByaZVD0dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712858825; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VYfT+khZbM7Z1/oPrq7N8mCpY/gN+koV9QkI36Z/3Jc=; b=Kyjdu2nwjTLZKmuOVS7AGEzI8OrYlTVidDZ0WQnXxP0kkZQSJkF51XiEsmPFhRPK3K+GcG 8pJ5RHO6/+y0+R9YrmdtJIRKDWNNh/gXOE8hIAYfvLNW1/3h5nO+5QCWaA7VgRhA1TQRPo o7qt8LHkgvEsQsdrg2d0XEbE06tIQIpB1cUp+giujGE47s73q/UI5GJvXOjDDD1PvTntK2 LXpcLlwhpnXuQxifnZZjkHXTxnBCq/tJ7Dfb0BEWE6SGz5mjmX8XRylO6nQA2BDa9+wuap 5bKxbjU5BO2v8z4v34vjWjz5Pr2KK/FUTmYZrK58zW/TrzIwKT9UFnKzERHD4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFnhn58QCzGZV; Thu, 11 Apr 2024 18:07:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BI75Ad022853; Thu, 11 Apr 2024 18:07:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BI759M022850; Thu, 11 Apr 2024 18:07:05 GMT (envelope-from git) Date: Thu, 11 Apr 2024 18:07:05 GMT Message-Id: <202404111807.43BI759M022850@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 44e128fe9d92 - main - sound: Implement asynchronous device detach 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: dev-commits-src-main+owner@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: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 44e128fe9d92c1a544b801cb56e907a66ef34691 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=44e128fe9d92c1a544b801cb56e907a66ef34691 commit 44e128fe9d92c1a544b801cb56e907a66ef34691 Author: Christos Margiolis AuthorDate: 2024-04-11 18:06:50 +0000 Commit: Christos Margiolis CommitDate: 2024-04-11 18:06:50 +0000 sound: Implement asynchronous device detach Hot-unplugging a sound device, such as a USB sound card, whilst being consumed by an application, results in an infinite loop until either the application closes the device's file descriptor, or the channel automatically times out after hw.snd.timeout seconds. In the case of a detach however, the timeout approach is still not ideal, since we want all resources to be released immediatelly, without waiting for N seconds until we can use the bus again. The timeout mechanism works by calling chn_sleep() in chn_read() and chn_write() (see pcm/channel.c) in order to send the thread to sleep, using cv_timedwait_sig(). Since chn_sleep() sets the CHN_F_SLEEPING flag while waiting for cv_timedwait_sig() to return, we can test this flag in pcm_unregister() (called during detach) and wakeup the sleeping thread(s) to immediately kill the channel(s) being consumed. Sponsored by: The FreeBSD Foundation MFC after: 2 months PR: 194727 Reviewed by: dev_submerge.ch, bapt, markj Differential Revision: https://reviews.freebsd.org/D43545 --- share/man/man4/snd_uaudio.4 | 11 +---------- sys/dev/sound/pcm/dsp.c | 2 +- sys/dev/sound/pcm/mixer.c | 11 ----------- sys/dev/sound/pcm/sound.c | 24 ++++++++++-------------- sys/dev/sound/usb/uaudio.c | 13 +++---------- 5 files changed, 15 insertions(+), 46 deletions(-) diff --git a/share/man/man4/snd_uaudio.4 b/share/man/man4/snd_uaudio.4 index b6a6c06a2312..6e2509b8f2ac 100644 --- a/share/man/man4/snd_uaudio.4 +++ b/share/man/man4/snd_uaudio.4 @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd January 29, 2024 +.Dd March 26, 2024 .Dt SND_UAUDIO 4 .Os .Sh NAME @@ -156,15 +156,6 @@ and modified for by .An Hiten Pandya Aq Mt hmp@FreeBSD.org . .Sh BUGS -The PCM framework in -.Fx -only supports synchronous device detach. -That means all mixer and DSP character devices belonging to a given -USB audio device must be closed when receiving an error on a DSP read, -a DSP write or a DSP IOCTL request. -Else the USB audio driver will wait for this to happen, preventing -enumeration of new devices on the parenting USB controller. -.Pp Some USB audio devices might refuse to work properly unless the sample rate is configured the same for both recording and playback, even if only simplex is used. diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index 003e57446a69..4112e87ba527 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -274,7 +274,7 @@ dsp_close(void *data) d = priv->sc; /* At this point pcm_unregister() will destroy all channels anyway. */ - if (!PCM_REGISTERED(d)) + if (PCM_DETACHING(d)) goto skip; PCM_GIANT_ENTER(d); diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index ee1ed11a8ed0..cc8cf5b1ceea 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -817,17 +817,6 @@ mixer_uninit(device_t dev) KASSERT(m->type == MIXER_TYPE_PRIMARY, ("%s(): illegal mixer type=%d", __func__, m->type)); - snd_mtxlock(m->lock); - - if (m->busy) { - snd_mtxunlock(m->lock); - return EBUSY; - } - - /* destroy dev can sleep --hps */ - - snd_mtxunlock(m->lock); - pdev->si_drv1 = NULL; destroy_dev(pdev); diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index 53cde49c4905..1517126210c4 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -1001,26 +1001,22 @@ pcm_unregister(device_t dev) CHN_FOREACH(ch, d, channels.pcm) { CHN_LOCK(ch); - if (ch->refcount > 0) { - device_printf(dev, - "unregister: channel %s busy (pid %d)\n", - ch->name, ch->pid); - CHN_UNLOCK(ch); - PCM_RELEASE_QUICK(d); - return (EBUSY); + if (ch->flags & CHN_F_SLEEPING) { + /* + * We are detaching, so do not wait for the timeout in + * chn_read()/chn_write(). Wake up the thread and kill + * the channel immediately. + */ + CHN_BROADCAST(&ch->intr_cv); + ch->flags |= CHN_F_DEAD; } + chn_abort(ch); CHN_UNLOCK(ch); } dsp_destroy_dev(dev); - if (mixer_uninit(dev) == EBUSY) { - device_printf(dev, "unregister: mixer busy\n"); - PCM_LOCK(d); - PCM_RELEASE(d); - PCM_UNLOCK(d); - return (EBUSY); - } + (void)mixer_uninit(dev); /* remove /dev/sndstat entry first */ sndstat_unregister(dev); diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c index 5d7396c527e0..2351c2522021 100644 --- a/sys/dev/sound/usb/uaudio.c +++ b/sys/dev/sound/usb/uaudio.c @@ -1255,20 +1255,13 @@ uaudio_detach_sub(device_t dev) unsigned i = uaudio_get_child_index_by_dev(sc, dev); int error = 0; -repeat: if (sc->sc_child[i].pcm_registered) { error = pcm_unregister(dev); - } else { - if (sc->sc_child[i].mixer_init) - error = mixer_uninit(dev); + } else if (sc->sc_child[i].mixer_init) { + error = mixer_uninit(dev); } - if (error) { - device_printf(dev, "Waiting for sound application to exit!\n"); - usb_pause_mtx(NULL, 2 * hz); - goto repeat; /* try again */ - } - return (0); /* success */ + return (error); } static int From nobody Thu Apr 11 18:15:31 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFntX03GDz5Hr1j; Thu, 11 Apr 2024 18:15: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 4VFntW6T8Mz4dRc; Thu, 11 Apr 2024 18:15:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712859331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fp6ei/3D/i8AQ7Wwv8JC63sll2CpitaiRViAsWVu1bI=; b=jUdUIjBiRHIvxd6mnOxUfz8oTgJ48LB5NFPbCcT4zYEkhCzZncsIdxqiFeZDAuRotDH8nY 07/QMTunWBUVDRNLUOFt9qP7wNCzWI+8wGOasJvM5U54Hn8M3RYKw+LQDO3QUjEcQ7vcRm rUSNHX3XYZCthge18RfHpz79g//y4uGJ9pUgwgu4GeOtUfTpYUM8BuI/hFhqctbEfls9H9 E7OUa37WbLBXoqehi7+jlfaps731+xs9kVzg7FgoNtiMXM9HOZQiYNlR0XUfPkLV5wHiD0 M+OU3XE+sXEDo42bFdRbhTlzq1hF67a8z5cI6TpaHCrTPXlmjCxLBbH2ty4JrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712859331; a=rsa-sha256; cv=none; b=lPP054rMRizoCiyNAxUjo8Y3KCLdsK2mlbBrOtigbbomRIce1Sy2CQcxsthNV1sh4o3d4w SiM26DG/qcYn7MaJPYhxEe8J5ZGv9bqS7xTsEEY4d2UvDK20JbTiRcH11Y+xCXRFjh7Bkb UM/pHTWxWNqS8+H89RQKUgkv3FP43fnTvK97MOTUnzk5eNnRM5wYRe1h4mSdS5LV2F6ml7 LowS1uxNMkx+FtmDI65MzyyIMBaPebB5w6DlP5wj6wig+rxsWf2dJhDSjJOGigXSKzpsBd AiIEMuJsWQam06D8B7l5Yt7ALxyL/CXRsTn74SmvGjvsP0/WwfMnixslU+TCrw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712859331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fp6ei/3D/i8AQ7Wwv8JC63sll2CpitaiRViAsWVu1bI=; b=ZcuP1iLT2g++p6zxRmepWx61brpq7UMlFF+GlJOWH/G5y4ydib+ni2bKLM6VMhbpZd6Fgt jzURVtl4kuVT48FWvWqzK8n1P6RWUmPRjV1GTYK5Q6Kr3ngwUHV6Gp0CmcEJrT94ochfOP dFX5KSpFgPSegIGhxCSa+kynRWsRQaR2YbMEIrPHt3jKRozwrOMzF1U7YlBasrvv/BjQ/Y PX04bJKp68Vyt4UR4G2DR1tRhBqjWXfkFyX94L7qxC2XtZtUBxZATEXdUVUe+Yq1Xv8KMq jbkV5c9MJREx3HT5w4k6GZn8d/5y9NGV6rztqs/s8dpDJmlrRALYjtbxlwboew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFntW5h5KzGm6; Thu, 11 Apr 2024 18:15:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BIFV2u039301; Thu, 11 Apr 2024 18:15:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BIFVJq039298; Thu, 11 Apr 2024 18:15:31 GMT (envelope-from git) Date: Thu, 11 Apr 2024 18:15:31 GMT Message-Id: <202404111815.43BIFVJq039298@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: 215c0a5158f1 - main - adduser(8): support creation of ZFS dataset 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: dev-commits-src-main+owner@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: 215c0a5158f17f515f365fc28a9ff0b367be8fc9 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=215c0a5158f17f515f365fc28a9ff0b367be8fc9 commit 215c0a5158f17f515f365fc28a9ff0b367be8fc9 Author: John Grafton AuthorDate: 2024-04-11 18:11:18 +0000 Commit: Warner Losh CommitDate: 2024-04-11 18:13:05 +0000 adduser(8): support creation of ZFS dataset On systems utilizing ZFS, default to creating a ZFS dataset for a new user's home directory if the parent directory resides on a ZFS dataset. Add a flag that disables this behavior if the administrator explicitly does not want it. If run during installation from within a chroot, set mountpoint to legacy after dataset creation and mount directly into the chroot. Then umount and reset the mountpoint to inherit from parent. Also support ZFS default encryption on user's home directory. Feedback by: delphij Reviewed by: imp, kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/881 --- usr.sbin/adduser/adduser.8 | 10 ++- usr.sbin/adduser/adduser.conf.5 | 2 + usr.sbin/adduser/adduser.sh | 161 +++++++++++++++++++++++++++++++++++++--- 3 files changed, 159 insertions(+), 14 deletions(-) diff --git a/usr.sbin/adduser/adduser.8 b/usr.sbin/adduser/adduser.8 index 4669afc2bfe6..ed67e21f9430 100644 --- a/usr.sbin/adduser/adduser.8 +++ b/usr.sbin/adduser/adduser.8 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 15, 2012 +.Dd April 11, 2024 .Dt ADDUSER 8 .Os .Sh NAME @@ -32,7 +32,7 @@ .Nd command for adding new users .Sh SYNOPSIS .Nm -.Op Fl CDENShq +.Op Fl CDENSZhq .Op Fl G Ar groups .Op Fl L Ar login_class .Op Fl M Ar mode @@ -52,6 +52,10 @@ utility is a shell script, implemented around the command, for adding new users. It creates passwd/group entries, a home directory, copies dotfiles and sends the new user a welcome message. +On systems where the parent of home directory is a ZFS dataset, +.Nm +will create the home directory as a ZFS dataset by default, +unless the system administrator specified otherwise. It supports two modes of operation. It may be used interactively at the command line to add one user at a time, or it may be directed @@ -295,6 +299,8 @@ In addition, it will be available for inclusion in the message file in the .Va randompass variable. .El +.It Fl Z +Do not attempt to create ZFS home dataset. .El .Sh FORMAT When the diff --git a/usr.sbin/adduser/adduser.conf.5 b/usr.sbin/adduser/adduser.conf.5 index 2d445a2fabbf..09b80f2df021 100644 --- a/usr.sbin/adduser/adduser.conf.5 +++ b/usr.sbin/adduser/adduser.conf.5 @@ -171,6 +171,8 @@ The default information to be held in the GECOS field of .It Va uidstart The default user ID setting. This must be a number above 1000 and fewer than 65534. +.It Va Zflag +Do not attempt to create ZFS home dataset. .El .Sh EXAMPLES The following is an example diff --git a/usr.sbin/adduser/adduser.sh b/usr.sbin/adduser/adduser.sh index fef9e293c1ce..0d5a628f8f33 100644 --- a/usr.sbin/adduser/adduser.sh +++ b/usr.sbin/adduser/adduser.sh @@ -84,6 +84,7 @@ show_usage() { echo " -L login class of the user" echo " -M file permission for home directory" echo " -N do not read configuration file" + echo " -Z do not attempt to create ZFS home dataset" echo " -S a nonexistent shell is not an error" echo " -d home directory" echo " -f file from which input will be received" @@ -283,6 +284,22 @@ add_user() { ;; esac + # create ZFS dataset before home directory is created with pw + if [ "${Zcreate}" = "yes" ]; then + if [ "${Zencrypt}" = "yes" ]; then + echo "Enter encryption keyphrase for ZFS dataset (${zhome}):" + fi + if [ -n "$BSDINSTALL_CHROOT" ]; then + create_zfs_chrooted_dataset + else + create_zfs_dataset + if [ "$?" -ne 0 ]; then + err "There was an error adding user ($username)." + return 1 + fi + fi + fi + _pwcmd="$_upasswd ${PWCMD} useradd $_uid $_name $_group $_grouplist $_comment" _pwcmd="$_pwcmd $_shell $_class $_home $_dotdir $_passwdmethod $_passwd" _pwcmd="$_pwcmd $_expire $_pwexpire" @@ -306,6 +323,14 @@ add_user() { fi fi + # give newly created user permissions to their home zfs dataset + if [ "${Zcreate}" = "yes" ]; then + set_zfs_perms + if [ -n "$BSDINSTALL_CHROOT" ]; then + umount_legacy_zfs + fi + fi + _line= _owner= _perms= @@ -479,6 +504,26 @@ get_homeperm() { fi } +# get_zfs_home +# Determine if homeprefix is located on a ZFS filesystem and if +# so, enable ZFS home dataset creation. +# +get_zfs_home() { + # check if zfs kernel module is loaded before attempting to run zfs to + # prevent loading the kernel module on systems that don't use ZFS + if ! "$KLDSTATCMD" -q -m zfs; then + Zcreate="no" + return + fi + zfs_homeprefix=`${ZFSCMD} list -Ho name "${homeprefix}" 2>/dev/null` + if [ "$?" -ne 0 ]; then + Zcreate="no" + elif [ -z "${zfs_homeprefix}" ]; then + Zcreate="no" + fi + zhome="${zfs_homeprefix}/${username}" +} + # get_uid # Reads a numeric userid in an interactive or batch session. Automatically # allocates one if it is not specified. @@ -613,6 +658,81 @@ get_password() { fi } +# get_zfs_encryption +# Ask user if they want to enable encryption on their ZFS home dataset. +# +get_zfs_encryption() { + _input= + _prompt="Enable ZFS encryption? (yes/no) [${Zencrypt}]: " + while : ; do + echo -n "$_prompt" + read _input + + [ -z "$_input" ] && _input=$Zencrypt + case $_input in + [Nn][Oo]|[Nn]) + Zencrypt="no" + break + ;; + [Yy][Ee][Ss]|[Yy][Ee]|[Yy]) + Zencrypt="yes" + break + ;; + *) + # invalid answer; repeat loop + continue + ;; + esac + done + + if [ "${Zencrypt}" = "yes" ]; then + zfsopt="-o encryption=on -o keylocation=prompt -o keyformat=passphrase" + fi +} + +# create_zfs_chrooted_dataset +# Create ZFS dataset owned by the user that was just added within a bsdinstall chroot +# +create_zfs_chrooted_dataset() { + if ! ${ZFSCMD} create -u ${zfsopt} "${zhome}"; then + err "There was an error creating ZFS dataset (${zhome})." + return 1 + fi + ${ZFSCMD} set mountpoint=legacy "${zhome}" + ${MKDIRCMD} -p "${uhome}" + ${MOUNTCMD} -t zfs "${zhome}" "${uhome}" +} + +# umount_legacy_zfs +# Unmount ZFS home directory created as a legacy mount and switch inheritance +# +umount_legacy_zfs() { + ${UMOUNTCMD} "${uhome}" + ${ZFSCMD} inherit mountpoint "${zhome}" +} + +# create_zfs_dataset +# Create ZFS dataset owned by the user that was just added. +# +create_zfs_dataset() { + if ! ${ZFSCMD} create ${zfsopt} "${zhome}"; then + err "There was an error creating ZFS dataset (${zhome})." + return 1 + else + info "Successfully created ZFS dataset (${zhome})." + fi +} + +# set_zfs_perms +# Give new user ownership of newly created zfs dataset. +# +set_zfs_perms() { + if ! ${ZFSCMD} allow "${username}" create,destroy,mount,snapshot "${zhome}"; then + err "There was an error setting permissions on ZFS dataset (${zhome})." + return 1 + fi +} + # input_from_file # Reads a line of account information from standard input and # adds it to the user database. @@ -632,6 +752,7 @@ input_from_file() { get_class get_shell get_homedir + get_zfs_home get_homeperm get_password get_expire_dates @@ -704,6 +825,8 @@ input_interactive() { get_shell get_homedir get_homeperm + get_zfs_home + [ "$Zcreate" = "yes" ] && get_zfs_encryption while : ; do echo -n "Use password-based authentication? [$_usepass]: " @@ -787,12 +910,12 @@ input_interactive() { esac break done - + # Display the information we have so far and prompt to # commit it. # _disable=${disableflag:-"no"} - [ -z "$configflag" ] && printf "%-10s : %s\n" Username $username + [ -z "$configflag" ] && printf "%-11s : %s\n" Username $username case $passwdtype in yes) _pass='*****' @@ -807,16 +930,18 @@ input_interactive() { _pass='' ;; esac - [ -z "$configflag" ] && printf "%-10s : %s\n" "Password" "$_pass" - [ -n "$configflag" ] && printf "%-10s : %s\n" "Pass Type" "$passwdtype" - [ -z "$configflag" ] && printf "%-10s : %s\n" "Full Name" "$ugecos" - [ -z "$configflag" ] && printf "%-10s : %s\n" "Uid" "$uuid" - printf "%-10s : %s\n" "Class" "$uclass" - printf "%-10s : %s %s\n" "Groups" "${ulogingroup:-$username}" "$ugroups" - printf "%-10s : %s\n" "Home" "$uhome" - printf "%-10s : %s\n" "Home Mode" "$uhomeperm" - printf "%-10s : %s\n" "Shell" "$ushell" - printf "%-10s : %s\n" "Locked" "$_disable" + [ -z "$configflag" ] && printf "%-11s : %s\n" "Password" "$_pass" + [ -n "$configflag" ] && printf "%-11s : %s\n" "Pass Type" "$passwdtype" + [ -z "$configflag" ] && printf "%-11s : %s\n" "Full Name" "$ugecos" + [ -z "$configflag" ] && printf "%-11s : %s\n" "Uid" "$uuid" + [ "$Zcreate" = "yes" -a -z "$configflag" ] && printf "%-11s : %s\n" "ZFS dataset" "${zhome}" + [ "$Zencrypt" = "yes" -a -z "$configflag" ] && printf "%-11s : %s\n" "Encrypted" "${Zencrypt}" + printf "%-11s : %s\n" "Class" "$uclass" + printf "%-11s : %s %s\n" "Groups" "${ulogingroup:-$username}" "$ugroups" + printf "%-11s : %s\n" "Home" "$uhome" + printf "%-11s : %s\n" "Home Mode" "$uhomeperm" + printf "%-11s : %s\n" "Shell" "$ushell" + printf "%-11s : %s\n" "Locked" "$_disable" while : ; do echo -n "OK? (yes/no) [$_all_ok]: " read _input @@ -852,6 +977,11 @@ NOLOGIN="nologin" NOLOGIN_PATH="/usr/sbin/nologin" GREPCMD="/usr/bin/grep" DATECMD="/bin/date" +MKDIRCMD="/bin/mkdir" +MOUNTCMD="/sbin/mount" +UMOUNTCMD="/sbin/umount" +ZFSCMD="/sbin/zfs" +KLDSTATCMD="/sbin/kldstat" # Set default values # @@ -880,6 +1010,7 @@ infile= disableflag= Dflag= Sflag= +Zcreate="yes" readconfig="yes" homeprefix="/home" randompass= @@ -890,6 +1021,8 @@ defaultLgroup= defaultgroups= defaultshell="${DEFAULTSHELL}" defaultHomePerm= +zfsopt= +Zencrypt="no" # Make sure the user running this program is root. This isn't a security # measure as much as it is a useful method of reminding the user to @@ -1014,6 +1147,10 @@ for _switch ; do uidstart=$2 shift; shift ;; + -Z) + Zcreate="no" + shift + ;; esac done From nobody Thu Apr 11 18:27:52 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFp8n0N6Qz5HrvB; Thu, 11 Apr 2024 18:27: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 4VFp8m70frz4fCX; Thu, 11 Apr 2024 18:27:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712860073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lvV40lwL/j86KIklOgTkHjIa6fCLufY+Z4KtsQ6ivl4=; b=VLnUsgtR1sdfdVsk5Pr8dn6S3AnwTI452zpnUe1KJmnbt/fW2ukrc3fr8MnmrRqQ5NDMlk Fd4WFaqcw3TUH1G9b+C9YIg0cO3juKWvlmmkvxrF6BgLF4qVBwGjSmoIlA6zldz1MkaHye 1F1rSJiQN3EoLzuh4BR55Ll8+z50kKjzIP+waz3OJxAGC7BM1LuxbQxKIzVDnjAjoGktNb XmwaVlYYfSgmm8INKVWY8uj75pxajwaF/e5I+ku6srEv0PhplexoIFLnNmy6KlzzT4W+eG p34IjNrL7EKrReEG7BbdNCSZL6MeHmGMDN3EhTXIOQMVva9Nc6Kcz7dtJsDovA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712860073; a=rsa-sha256; cv=none; b=VUElTuBsLZF2T90xUP0ONsCyTdOUtYO0zBTxJ+wxU1z6BVgMKSlaTZ1hWKXqbQchjMy4Kf pmjg7Jw8Ng1WGNlZQnRhStPlHk5KJ7+L0csKm9IYZa8UhjO66TepHER5J/lu4k1KJj70IV gsFd6Hr4P3Aabi9vKeSqCbDc+poar4ckpIWjyyeIJdUms3UufEJQpcW7MEZOJUtqxChf8k jOiVmdqg1qSb3a6PyH27Wrc+5kN7JZ9/VWFbK/jc/LHac4DWxsSnv06N85pyII1m4joOn5 MHCFoYzyYRAMqJXC2gmWlQsip4jm1B47VUfDticDsYItFjCZP/ro0uq57jxyxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712860073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lvV40lwL/j86KIklOgTkHjIa6fCLufY+Z4KtsQ6ivl4=; b=F0nm+IEq16P4tgKGNbnM88tDrBdos7ZyylNZ3nZV9HiafB7lk3Nt4UR93Q8QjITqWP16Oa jNmj6CUuhK14ezYZLdiLxn0IR/f3QaL68VfGETCd0MqPHOM1w6CvRwBzD2zXO3MS9l0XBl fIabgBO/uVscaylcbb9crYm6NiGsL/cUUmdudDtxTAFIxW9t7A1HEdwsKjbWkwht9xi7pQ 5O1OZwVWSXm8TV9ecp+lPYd5G5qXvu3zQoU7KWVu3UJdt9lw+P6N9y8Vr3GO+iVQWGQhAD bGQD8Gua5wNh3Yy3xOTRFvXWDShWfCE72AkABYnqlQuSPdiy76ZT7xH7L4IrUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFp8m6c2dzGxw; Thu, 11 Apr 2024 18:27:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BIRqYr055899; Thu, 11 Apr 2024 18:27:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BIRq0J055896; Thu, 11 Apr 2024 18:27:52 GMT (envelope-from git) Date: Thu, 11 Apr 2024 18:27:52 GMT Message-Id: <202404111827.43BIRq0J055896@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: 16e5eb212fb8 - main - fdwrite.c: initialize pointers to NULL and a few other cleanups 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: dev-commits-src-main+owner@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: 16e5eb212fb8e054513adafa6c44db23f27dbb46 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=16e5eb212fb8e054513adafa6c44db23f27dbb46 commit 16e5eb212fb8e054513adafa6c44db23f27dbb46 Author: rilysh AuthorDate: 2024-04-11 18:23:33 +0000 Commit: Warner Losh CommitDate: 2024-04-11 18:24:36 +0000 fdwrite.c: initialize pointers to NULL and a few other cleanups 1. Both trackbuf and vrfybuf are initialized to zero (NULL). While it's okay to initialize pointers to zero, to keep consistency, as they're explicitly pointers, it's better to just use NULL ((void *)0) instead of 0 (both are equivalent to the compilers). 2. Call free() for both trackbuf and vrfybuf after their job has been done. 3. Remove the register keyword. Compilers generally ignore this keyword (except for very very old compilers and CPUs). 4. Remove the ctype.h header. It's not being used anywhere in the file. Signed-off-by: rilysh Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1059 --- usr.sbin/fdwrite/fdwrite.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/usr.sbin/fdwrite/fdwrite.c b/usr.sbin/fdwrite/fdwrite.c index 4c91ae2599c6..94052028c6dc 100644 --- a/usr.sbin/fdwrite/fdwrite.c +++ b/usr.sbin/fdwrite/fdwrite.c @@ -10,7 +10,6 @@ * */ -#include #include #include #include @@ -26,7 +25,7 @@ format_track(int fd, int cyl, int secs, int head, int rate, int gaplen, int secsize, int fill, int interleave) { struct fd_formb f; - register int i,j; + int i, j; int il[100]; memset(il,0,sizeof il); @@ -68,7 +67,7 @@ main(int argc, char **argv) int bpt, verbose=1, nbytes=0, track; int interactive = 1; const char *device= "/dev/fd0"; - char *trackbuf = 0,*vrfybuf = 0; + char *trackbuf = NULL, *vrfybuf = NULL; struct fd_type fdt; FILE *tty; @@ -192,5 +191,8 @@ main(int argc, char **argv) } if(verbose) printf("%d bytes on %d flopp%s\n",nbytes,fdn,fdn==1?"y":"ies"); + + free(trackbuf); + free(vrfybuf); exit(0); } From nobody Thu Apr 11 18:42:41 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFpTs1z82z5HtCd; Thu, 11 Apr 2024 18:42: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 4VFpTs1Tr4z4hqN; Thu, 11 Apr 2024 18:42:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712860961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QkJHqj/RX59a51XbBec/tV2sYaAJMmc5vXmAQz6u57c=; b=bvqlTAtOKVxrs7b9LKAGhYaT6L3alxyJCwtRZiFqPv8thdNZTrDkFUmzeusM6114Av4qtV 5tco7T7WnqZMoLmTkvsKeBr3SR4p6/wgkQZ/P8tetjfI4tMudfWqNEEGeIOkFdN2I6Ae4f Y2CwZLfGSmwcYvP2og9snqVuKWKixVnG+0WHlGn6V5Q3NLKTdKR/xFXE5gXZB+WlmArolT tf4C9o/oeeEIaIPPZ4RTGa9Z4t1JRnUqyD5NCObJIz7pf7L8UekcCARn3UNAFxz6Vbt5A7 W+25WNNlsJLmBFyKmQEEdB1+MBSedsKEN49coemMlVGVPQl9u+2zSykz+zrUow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712860961; a=rsa-sha256; cv=none; b=d31sWoGTL8UDQ5eW54v0tUp5TTRsIKIx6YWTFIzODy9aioLwda9VbFv2rECSRJuPmlqEJP pIyx02hPtX8zs9tzbYm0KtajuUw5kxxoLePupAH9cEz8mKipdg6dKTVOR+YCMYGNeWIRnu XnTzsZxnkhLUDyA+hGYSvAZoBWcsM2Rv9IqLgf4oMcx058wuPU9zCcrSDuo9ELKyU+BiHb 7jwO+9JcKr7iMFpJsqDjZwdBJOdkWpyOQ4/mUe8m/Aix26vl4RtRhoxuRdxS7fsT365XpP 8g2GFFbbnJjoM1J384icZmGPtAG6CDd7rBt/+6BTHPMdDPt3qIfy5PhCuEiNIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712860961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QkJHqj/RX59a51XbBec/tV2sYaAJMmc5vXmAQz6u57c=; b=n0n6W61gS2MW7zY/y9A/Ws8SyQXaqsGPgaef/JssnySueiGJ92fCSgJCL1Hz2a3BTYPMBc 2nVWfEOiX/4CgIILx1kRbgGgjl6V3jW76S25OjR5zQwtMZTWxcTlVQG2gwDItGv+sT5wQw J6hoWQqqh50hJO7kEzAz+PzpQ9SyL+Vemht+Q4toGlSnc84lBrKIk+sfbTE420Y4LLQMO2 +jinx5BXLTY5wBT3i9Z31feSAHEdsjiBMREAx7H1iw08lTDLF1vq72/6GGtrcOGyBCvZtu VzMPpXdFHTICj7Y6WV6SLAAtdgYlPXDkqQlxZHKOF28ZaL15w3ZMhcJdqyMqVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFpTs0n9nzHRd; Thu, 11 Apr 2024 18:42:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BIgfvp089312; Thu, 11 Apr 2024 18:42:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BIgfin089309; Thu, 11 Apr 2024 18:42:41 GMT (envelope-from git) Date: Thu, 11 Apr 2024 18:42:41 GMT Message-Id: <202404111842.43BIgfin089309@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Toomas Soome Subject: git: b724c8292df5 - main - ds1307: use the correct Microchip part number in enum and device description 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: dev-commits-src-main+owner@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: tsoome X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b724c8292df5d12aa02a98da3466cde6eb5a6008 Auto-Submitted: auto-generated The branch main has been updated by tsoome: URL: https://cgit.FreeBSD.org/src/commit/?id=b724c8292df5d12aa02a98da3466cde6eb5a6008 commit b724c8292df5d12aa02a98da3466cde6eb5a6008 Author: Josef 'Jeff' Sipek AuthorDate: 2024-04-11 17:41:18 +0000 Commit: Toomas Soome CommitDate: 2024-03-21 02:53:58 +0000 ds1307: use the correct Microchip part number in enum and device description During a minor refactoring two years ago (part of 2486b446), the newly created enum used the wrong part number - MCP7491x instead of MCP7941x. The device description string got the same transposition of digits. This change swaps the digits back to what they should be. Reviewed by: emaste, tsoome, imp Differential Revision: https://reviews.freebsd.org/D44436 --- sys/dev/iicbus/rtc/ds1307.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/dev/iicbus/rtc/ds1307.c b/sys/dev/iicbus/rtc/ds1307.c index cc232bae0e94..bf247b618c2c 100644 --- a/sys/dev/iicbus/rtc/ds1307.c +++ b/sys/dev/iicbus/rtc/ds1307.c @@ -56,7 +56,7 @@ enum { TYPE_DS1307, TYPE_MAXIM1307, - TYPE_MICROCHIP_MCP7491X, + TYPE_MICROCHIP_MCP7941X, TYPE_EPSON_RX8035, TYPE_COUNT }; @@ -75,7 +75,7 @@ static void ds1307_start(void *); static const struct ofw_compat_data ds1307_compat_data[] = { {"dallas,ds1307", TYPE_DS1307}, {"maxim,ds1307", TYPE_MAXIM1307}, - {"microchip,mcp7941x", TYPE_MICROCHIP_MCP7491X}, + {"microchip,mcp7941x", TYPE_MICROCHIP_MCP7941X}, {"epson,rx8035", TYPE_EPSON_RX8035}, { NULL, 0 } }; @@ -136,7 +136,7 @@ ds1307_sqwe_sysctl(SYSCTL_HANDLER_ARGS) error = ds1307_ctrl_read(sc); if (error != 0) return (error); - if (sc->chiptype == TYPE_MICROCHIP_MCP7491X) + if (sc->chiptype == TYPE_MICROCHIP_MCP7941X) sqwe_bit = MCP7941X_CTRL_SQWE; else sqwe_bit = DS1307_CTRL_SQWE; @@ -233,8 +233,8 @@ ds1307_probe(device_t dev) case TYPE_MAXIM1307: device_set_desc(dev, "Maxim DS1307"); break; - case TYPE_MICROCHIP_MCP7491X: - device_set_desc(dev, "Microchip MCP7491X"); + case TYPE_MICROCHIP_MCP7941X: + device_set_desc(dev, "Microchip MCP7941X"); break; case TYPE_EPSON_RX8035: device_set_desc(dev, "Epson RX-8035"); @@ -382,7 +382,7 @@ static bool is_dev_time_valid(struct ds1307_softc *sc) } switch (sc->chiptype) { - case TYPE_MICROCHIP_MCP7491X: + case TYPE_MICROCHIP_MCP7941X: osc_en = 0x80; break; default: @@ -538,7 +538,7 @@ ds1307_settime(device_t dev, struct timespec *ts) data[DS1307_WEEKDAY] = bct.dow; data[DS1307_MONTH] = bct.mon; data[DS1307_YEAR] = bct.year & 0xff; - if (sc->chiptype == TYPE_MICROCHIP_MCP7491X) { + if (sc->chiptype == TYPE_MICROCHIP_MCP7941X) { data[DS1307_SECS] |= MCP7941X_SECS_ST; data[DS1307_WEEKDAY] |= MCP7941X_WEEKDAY_VBATEN; year = bcd2bin(bct.year >> 8) * 100 + bcd2bin(bct.year & 0xff); From nobody Thu Apr 11 20:31:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFrvb1sBKz5G416; Thu, 11 Apr 2024 20:31:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-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 4VFrvb1J4vz4qr7; Thu, 11 Apr 2024 20:31:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712867499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tXQJslu1m/VNWm0g0pmyoRkCg99biwbwxFXYeJQICOc=; b=Ulw/F8xuQISL3kpCBu6HMY/s/WbRnUEyi8ia3G0hE2790rYIchoBJHt6hxpTsDDlOjskN0 4cPhBS9vbd2UkK5FLfCNKKRJRmZm68aM5l/jKVcy3Z7fvCLtOmGTBpIHGczFwvmFYK93/W rUSknP0LSCV10bkODMbRCLOipY3mVpchKUj2QMJl12E3pgyKkqfSLKFUzK8Nb/DwVrCIfK 6cTZ86pL9ovUpaCC4udFTh+ciwwFKNOsHUyY66RGtBxjJWyY2iYz3wwoRAW5NNocFZNvkM XHIGfLxPz5cEAKI7/wj8S01lLeJIBTpnqMe4GnUJT9hWt1hQSLbEXr51Yf+dDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712867499; a=rsa-sha256; cv=none; b=hvve9ce0Lhp38FYJiWytCX4zl/gPXItV5P5Eek1u8bVp0K5NhrkkqYLzEFT5+wgHRPmsnc gmpNY5FvP31zh75qnG+X5GthX5K5lTP68c5LMXp3i83NDTxs5LRCXGPDH8Lrfu9S8Z1le+ TLIhXMih9x/qfDTV1iWK4xrg8j4x7P6SfdmaeknszbHn6HgcyfrEuel8YeCEdFW/4GbFe0 EgAUBxx9apjmWicfyzC/BN3zPTGj0PxZMp8ywZkNGGScGHF3TtRi3dhcpNM6tbMULDUyeu Q+NSR+qIRIMkaTrnEZ/XVVnSBxxPoz989Md0M5uUnKLHtmir/vEfceAPxxvReg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712867499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tXQJslu1m/VNWm0g0pmyoRkCg99biwbwxFXYeJQICOc=; b=b8nd5v5GkfxKkFJVIILRojWkF4toym3ipyZEV+DqYD2jAFYVqa9AuiyU5jpZs/5SOTPmxI pOnSpPxtnBmnPO2IZ11Ko0ZjsgIV7oe8yusfmQz2IfSQunk23KSm1HaKd/O2bU0qaYpCsl KruL3ghk87h/J8F3xftuxGIrQQz/BiV5AA/JfI9AP5EykE+VmMT+ycwKzrn/tQNRsRNggj FF9aRwgWS/IM/owQ2cGfJ73aFgVARQ0cKIy92KlMWRtaGyZ53WPw/rvrppmDdRY9rHpqIK ix7RNN6F9wxI9j3ud2LH1B5eG/FhCokbLqmasYU82e+TmTwvYVfeAV5cdAaSoQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFrvb0vZhzL4J; Thu, 11 Apr 2024 20:31:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BKVdOT071753; Thu, 11 Apr 2024 20:31:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BKVdxW071750; Thu, 11 Apr 2024 20:31:39 GMT (envelope-from git) Date: Thu, 11 Apr 2024 20:31:39 GMT Message-Id: <202404112031.43BKVdxW071750@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: d00c64bb2347 - main - nfscl: Purge name cache when readdir_plus is done 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: dev-commits-src-main+owner@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: d00c64bb2347cc620d31a178c7755aa7e594f065 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=d00c64bb2347cc620d31a178c7755aa7e594f065 commit d00c64bb2347cc620d31a178c7755aa7e594f065 Author: Zaphrod Beeblebrox AuthorDate: 2024-04-11 20:27:27 +0000 Commit: Rick Macklem CommitDate: 2024-04-11 20:27:27 +0000 nfscl: Purge name cache when readdir_plus is done The author reported that this patch was needed to avoid crashes on a fairly busy RISC-V system. The author did not provide details w.r.t. the crashes. Although I have not seen any such crash, the patch looks reasonable and I have not found any regressions when testing it. Since "rdirplus" is not a default option, the patch is only needed if you are doing NFS mounts with the "rdirplus" mount option and seeing crashes related to the name cache. MFC after: 1 week --- sys/fs/nfsclient/nfs_clvnops.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index 0b8c587a542c..85c0ebd7a10f 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -2459,6 +2459,16 @@ nfs_readdir(struct vop_readdir_args *ap) return (EINVAL); uio->uio_resid -= left; + /* + * For readdirplus, if starting to read the directory, + * purge the name cache, since it will be reloaded by + * this directory read. + * This removes potentially stale name cache entries. + */ + if (uio->uio_offset == 0 && + (VFSTONFS(vp->v_mount)->nm_flag & NFSMNT_RDIRPLUS) != 0) + cache_purge(vp); + /* * Call ncl_bioread() to do the real work. */ From nobody Thu Apr 11 21:12:42 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFspy34QVz5G72d; Thu, 11 Apr 2024 21:12: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 4VFspy2ZgNz4vZR; Thu, 11 Apr 2024 21:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712869962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0zxM463ACq9RgaB61egWSSszxRXI12RBlMSWSi/hYCA=; b=vaXJTg2ukIW/D5Dvg0OoOI3wPNXZ3ywKvd26PHDTvdn8h3uolvB5hf+eugYN6QqzxH9nbM iz9S4oQeSU2OTDchdEO8uhzMRGXCWWBpq20p9C3AFNuHJJpzGOLFvtgbRiMBjS+nqfQYkv NOh0NVYLph0ry7zPmR2NLx9XgCTokQ5bw7rZhtWjrYK7/3GLMjSZ44UvWEE08Y94/T/DXf W8beremfqnAof25b9FOWUkhiIOUI16WeopS2JpTIe3NB3XzVGSatd9EVFdvIVhmZ7s7k5G eRLZpevF/js4+GQ8YXI8wEThCx7XbVJ0eAfvcg+2uXUa6XmeFYfSpIekg3YZ1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712869962; a=rsa-sha256; cv=none; b=CnOf3Ba6VwqEyDiUO0yWC0faHZbyxQ2V60S5fJQyrq46fXQRaqyIfq6gx1WPUolFFqJ2He QxkXbmfBi2kYa+2HdoB6VwS52QshZpyHcKnXtLroEFgGBI2tS1LZBGa8u9To/5cLZgZngj Em89ebKRuAJTaOcCgMEKnkyubbG574/lRee92fnHFAWltIO4ld4PWzGG14aoNkOlXfePpI I8swsyc8h5rTvAbmbO/ot2Jcn4q+BMQiKYej2UZ39ANOS+vu7Np9UxAXBxQEeevPXjTQkk VohwLbn48bwKmuAH/cWYP5KgPWBjEtgjhaOBt10jHeKe6pSFcX6Sx5Q4/kv/lQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712869962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0zxM463ACq9RgaB61egWSSszxRXI12RBlMSWSi/hYCA=; b=N2lhuJ4UVyMqfjgR1+OwhRDpGsOfYPUkCqVZKOA3xho0UlZ8BAXiy1zka8mspMD6tK7j8h s3e4VndKuyxp9fqR+F5XJCvq3eHojVvxipSAXQkHp6wCDypk9eXjQ+Qrr29AyGCdue8H3p LiMMV4UIdjmjtVv8dImTwnc3sWHAf5dEmS/P7H2+fQAVNdOvwUEowjmqEb2XQLoS+WwHw3 FWlcYJMSOQQDokCOG0erI287Z49qt3TtRrMmYO7FVd0WFtxGqD8hRON/17cvgorAgiW9gg 0czx5usCXIHvbbNrIK40NC8HIGHVxPsGNi7E7D4IVuP/cQGSq75WeIKIExYx6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFspy28C0zM9n; Thu, 11 Apr 2024 21:12:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BLCgYq043953; Thu, 11 Apr 2024 21:12:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BLCg0N043950; Thu, 11 Apr 2024 21:12:42 GMT (envelope-from git) Date: Thu, 11 Apr 2024 21:12:42 GMT Message-Id: <202404112112.43BLCg0N043950@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 2039437c7655 - main - ec2: homedir bug fixed in 24.1.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: dev-commits-src-main+owner@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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2039437c7655c9cd481c6c4ad92b6bc2a945dd14 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=2039437c7655c9cd481c6c4ad92b6bc2a945dd14 commit 2039437c7655c9cd481c6c4ad92b6bc2a945dd14 Author: Mina Galić AuthorDate: 2024-04-11 20:16:58 +0000 Commit: Colin Percival CommitDate: 2024-04-11 21:12:16 +0000 ec2: homedir bug fixed in 24.1.4 This bug fix is due to be released in Quarterly: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275896 While here, overwrite the `doas` stanza, which needs to correspond to the user that we are creating. MFC after: 5 days Sponsored by: The FreeBSD Foundation Pull Request: https://github.com/freebsd/freebsd-src/pull/1163 --- release/tools/ec2-cloud-init.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/release/tools/ec2-cloud-init.conf b/release/tools/ec2-cloud-init.conf index 2dd4df390fa3..7682d635b1d6 100644 --- a/release/tools/ec2-cloud-init.conf +++ b/release/tools/ec2-cloud-init.conf @@ -23,8 +23,9 @@ vm_extra_pre_umount() { lock_passwd: True groups: [wheel] shell: /bin/sh - # Currently broken, cloud-init hard-codes to /usr/home/* homedir: /home/ec2-user + doas: + - permit nopass ec2-user EOF return 0 From nobody Thu Apr 11 21:17:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFsws1R4Tz5G87P; Thu, 11 Apr 2024 21:17: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 4VFsws0txQz3wdK; Thu, 11 Apr 2024 21:17:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712870269; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ui3W140buH+wrE254mAzwprH7bi+LOKNPPh+1DF/xlE=; b=TN2iTnr6DsTY2nqc7n56ihYEIpTE0pBZRS2eU/LmNbD6ZcGOqf4vk2QeSc3i1eRHEXejEX /LoqNUfu1TVDeAathXHstBpY/DV4PIyxozQO9ZpElcZDIgOoG3vAG0BplAr1Jr6HTs2vFn pELzqx2juXuFOmN+ctMviep/VllS391qCGGtVcgi9ZHi1m1zleQy579UXmt70DpRePLf1H BHs7nj8TDmKmE+Hyu3OugxYNUwAdy8c/AYC6RuuYAxRknaHu36zxV5cha9FIgNCEIgeebw s2F8nbDNOsrUS9SZijybskk01gQI5GUn6cHFGSEqXuFzXLEiU041lD7gbanNjA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712870269; a=rsa-sha256; cv=none; b=q5yvHHguRtoAIEq5IYmwVHrTfn4LrznE/G7j0KTHcJFaRhB8JGXrPjmCe0vWNqzo/EZ9Il XkT1MyAZuXMEbvJfQNX/gSpRPdw0lVSm9USobN91aU9AigiRQHz2z6NE/j2IerXi1YAo8U aCcNXc2YUa8kvVIrVaGISQujymA9+kAZb8SURDronIc3rVbWxaI0oQX0CiHbUOMYfmHnVw lCRkhpQ/IpXeZOMxLcshIT7bkTaPaVjAe/lz8FGaAr0p1wCABjUBwB9Wjh42SIpMdrJ588 RZWtcLL/97LN4ZeHr65I8z1/lPdJ9egAWPdaMIJikhhA2PjQ/c1sqR1pfol62Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712870269; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ui3W140buH+wrE254mAzwprH7bi+LOKNPPh+1DF/xlE=; b=dcs+Q46J4Ofi+6Jqcn8T7hsvkFWlBySpxwU2yNV+88PKkAkNnm9tbIZbCOOFZ5STMB52Db VnwR9TYR4GwEMhZroSdASDZDb0qKY2PPHIVACD8MMx2y36gp61et83UntyNCsSw9/SP4q4 8wDd6+IF8gZ/uVLjq8DucvB6fhXBaMhblEbedFQ81COLRLzbUNxnqQZguTNhyf7DSwcZi0 OQqe+rkAX89hbjcXRAde9C2RlJLtitGTzLVOL17oHrPcgLuxggIs7i762nGb3iscu/BdfT Snrw2ZUhinc8Z2+fGV99YaWZOPchQW++mV2nhNb8IPlybj/6133hOtLp8bneug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFsws0NsszLxC; Thu, 11 Apr 2024 21:17:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43BLHmbg044782; Thu, 11 Apr 2024 21:17:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BLHmhP044780; Thu, 11 Apr 2024 21:17:48 GMT (envelope-from git) Date: Thu, 11 Apr 2024 21:17:48 GMT Message-Id: <202404112117.43BLHmhP044780@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: 78d3648e73d1 - main - Merge commit 55c466da2f2f from llvm-project (by Benjamin Kramer): 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: dev-commits-src-main+owner@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: 78d3648e73d11c5a4dbcc0392907f0723bf1df1c Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=78d3648e73d11c5a4dbcc0392907f0723bf1df1c commit 78d3648e73d11c5a4dbcc0392907f0723bf1df1c Author: Dimitry Andric AuthorDate: 2024-04-11 21:12:42 +0000 Commit: Dimitry Andric CommitDate: 2024-04-11 21:16:36 +0000 Merge commit 55c466da2f2f from llvm-project (by Benjamin Kramer): [X86][AVX512BF16] Add a few missing insert/extract patterns These are really the same as the f16 (and i16) instructions, but we need them for any type that can occur. Merge commit 2e4e04c59043 from llvm-project (by Phoebe Wang): [X86][BF16] Do not lower to VCVTNEPS2BF16 without AVX512VL (#86395) Fixes: #86305 These should fix "fatal error: error in backend: Cannot select: t71: v32bf16 = insert_subvector t67, t64, Constant:i32<16>" when building the misc/ncnn port. PR: 278305 Reported by: yuri MFC after: 1 month --- contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp | 7 +++++-- contrib/llvm-project/llvm/lib/Target/X86/X86InstrAVX512.td | 12 ++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp b/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp index 9e64726fb6ff..96bbd981ff24 100644 --- a/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -21420,7 +21420,9 @@ SDValue X86TargetLowering::LowerFP_ROUND(SDValue Op, SelectionDAG &DAG) const { } if (VT.getScalarType() == MVT::bf16) { - if (SVT.getScalarType() == MVT::f32 && isTypeLegal(VT)) + if (SVT.getScalarType() == MVT::f32 && + ((Subtarget.hasBF16() && Subtarget.hasVLX()) || + Subtarget.hasAVXNECONVERT())) return Op; return SDValue(); } @@ -21527,7 +21529,8 @@ SDValue X86TargetLowering::LowerFP_TO_BF16(SDValue Op, SDLoc DL(Op); MVT SVT = Op.getOperand(0).getSimpleValueType(); - if (SVT == MVT::f32 && (Subtarget.hasBF16() || Subtarget.hasAVXNECONVERT())) { + if (SVT == MVT::f32 && ((Subtarget.hasBF16() && Subtarget.hasVLX()) || + Subtarget.hasAVXNECONVERT())) { SDValue Res; Res = DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, MVT::v4f32, Op.getOperand(0)); Res = DAG.getNode(X86ISD::CVTNEPS2BF16, DL, MVT::v8bf16, Res); diff --git a/contrib/llvm-project/llvm/lib/Target/X86/X86InstrAVX512.td b/contrib/llvm-project/llvm/lib/Target/X86/X86InstrAVX512.td index bb5e22c71427..fdca58141f0f 100644 --- a/contrib/llvm-project/llvm/lib/Target/X86/X86InstrAVX512.td +++ b/contrib/llvm-project/llvm/lib/Target/X86/X86InstrAVX512.td @@ -494,6 +494,8 @@ defm : vinsert_for_size_lowering<"VINSERTI32x4Z256", v16i8x_info, v32i8x_info, vinsert128_insert, INSERT_get_vinsert128_imm, [HasVLX]>; defm : vinsert_for_size_lowering<"VINSERTF32x4Z256", v8f16x_info, v16f16x_info, vinsert128_insert, INSERT_get_vinsert128_imm, [HasVLX]>; +defm : vinsert_for_size_lowering<"VINSERTF32x4Z256", v8bf16x_info, v16bf16x_info, + vinsert128_insert, INSERT_get_vinsert128_imm, [HasVLX]>; // Codegen pattern with the alternative types insert VEC128 into VEC512 defm : vinsert_for_size_lowering<"VINSERTI32x4Z", v8i16x_info, v32i16_info, vinsert128_insert, INSERT_get_vinsert128_imm, [HasAVX512]>; @@ -501,6 +503,8 @@ defm : vinsert_for_size_lowering<"VINSERTI32x4Z", v16i8x_info, v64i8_info, vinsert128_insert, INSERT_get_vinsert128_imm, [HasAVX512]>; defm : vinsert_for_size_lowering<"VINSERTF32x4Z", v8f16x_info, v32f16_info, vinsert128_insert, INSERT_get_vinsert128_imm, [HasAVX512]>; +defm : vinsert_for_size_lowering<"VINSERTF32x4Z", v8bf16x_info, v32bf16_info, + vinsert128_insert, INSERT_get_vinsert128_imm, [HasAVX512]>; // Codegen pattern with the alternative types insert VEC256 into VEC512 defm : vinsert_for_size_lowering<"VINSERTI64x4Z", v16i16x_info, v32i16_info, vinsert256_insert, INSERT_get_vinsert256_imm, [HasAVX512]>; @@ -508,6 +512,8 @@ defm : vinsert_for_size_lowering<"VINSERTI64x4Z", v32i8x_info, v64i8_info, vinsert256_insert, INSERT_get_vinsert256_imm, [HasAVX512]>; defm : vinsert_for_size_lowering<"VINSERTF64x4Z", v16f16x_info, v32f16_info, vinsert256_insert, INSERT_get_vinsert256_imm, [HasAVX512]>; +defm : vinsert_for_size_lowering<"VINSERTF64x4Z", v16bf16x_info, v32bf16_info, + vinsert256_insert, INSERT_get_vinsert256_imm, [HasAVX512]>; multiclass vinsert_for_mask_cast; defm : vextract_for_size_lowering<"VEXTRACTF32x4Z256", v16f16x_info, v8f16x_info, vextract128_extract, EXTRACT_get_vextract128_imm, [HasVLX]>; +defm : vextract_for_size_lowering<"VEXTRACTF32x4Z256", v16bf16x_info, v8bf16x_info, + vextract128_extract, EXTRACT_get_vextract128_imm, [HasVLX]>; // Codegen pattern with the alternative types extract VEC128 from VEC512 defm : vextract_for_size_lowering<"VEXTRACTI32x4Z", v32i16_info, v8i16x_info, @@ -803,6 +811,8 @@ defm : vextract_for_size_lowering<"VEXTRACTI32x4Z", v64i8_info, v16i8x_info, vextract128_extract, EXTRACT_get_vextract128_imm, [HasAVX512]>; defm : vextract_for_size_lowering<"VEXTRACTF32x4Z", v32f16_info, v8f16x_info, vextract128_extract, EXTRACT_get_vextract128_imm, [HasAVX512]>; +defm : vextract_for_size_lowering<"VEXTRACTF32x4Z", v32bf16_info, v8bf16x_info, + vextract128_extract, EXTRACT_get_vextract128_imm, [HasAVX512]>; // Codegen pattern with the alternative types extract VEC256 from VEC512 defm : vextract_for_size_lowering<"VEXTRACTI64x4Z", v32i16_info, v16i16x_info, vextract256_extract, EXTRACT_get_vextract256_imm, [HasAVX512]>; @@ -810,6 +820,8 @@ defm : vextract_for_size_lowering<"VEXTRACTI64x4Z", v64i8_info, v32i8x_info, vextract256_extract, EXTRACT_get_vextract256_imm, [HasAVX512]>; defm : vextract_for_size_lowering<"VEXTRACTF64x4Z", v32f16_info, v16f16x_info, vextract256_extract, EXTRACT_get_vextract256_imm, [HasAVX512]>; +defm : vextract_for_size_lowering<"VEXTRACTF64x4Z", v32bf16_info, v16bf16x_info, + vextract256_extract, EXTRACT_get_vextract256_imm, [HasAVX512]>; // A 128-bit extract from bits [255:128] of a 512-bit vector should use a From nobody Thu Apr 11 22:53:27 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFw3W0D21z5GJDp for ; Thu, 11 Apr 2024 22:53:43 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) (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 4VFw3V4dbjz4647 for ; Thu, 11 Apr 2024 22:53:42 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-a52223e004dso28639666b.2 for ; Thu, 11 Apr 2024 15:53:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1712876020; x=1713480820; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=R7ZLQYAnpLs6Yfg+fWq1HmGh8SOvDLqaL38f2WzwHNk=; b=EkxMhAtB6qsHQo0LIGUBoY+7ehnRFNZUrZcvM7z85oE+AILfpLFvMDCxUOqogN0JXs oeBm+ebsBDwrRbFI+l+mN14+uu0OE1A6PHuhSoEb8adof+IdWnaSqVGEho7lInW+v8jb CfbtB/IW191ESdKMdHnrmPXpgM3AtuPZxCZbMp6Ct/r4lcdJd2aVB6YfAuI0lWowAPeQ Q4ILJEdPuBE3aPXm+yxMMIQ5PkPze5Pu2lBQvDEGvnHUF/y5Sg6A4mbgWKOaWj+kT0EN Vbwx3jQzq1oBIzY8uRq61mu7KNpUqwyrmv13sTTx0M0GLNkOZov/JpSVZLXuehgFcrVx IEaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712876020; x=1713480820; 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=R7ZLQYAnpLs6Yfg+fWq1HmGh8SOvDLqaL38f2WzwHNk=; b=GKT431UNt9Ocy3VBkgeJjocnsg0YIMK1sJNMYudHtVlQ4FsWO30hbPZNn/yLs5BPJK hue5JC7WiXzTnsgyCLljsA+DZDuW56btPWRmU6V1qzmMj1zbGyVYucYlDuvOQpl529UF hAylb4shU5mvZco0+VKsxxKhbxAZp8wCAYarCMTW5sk5Fa/PgJBxEbKkMZPBV+JNtxqC FAO1LjLfafX+oSm2QCN8HyAa9PAau3wiCdkAkLBN/punrSqYggdVyGuq+J2zSKdOOgsq KnaaKHcc5tuLBYGvf4578jg299DWYd/WsXIXFtKA4TmWofSKbEnRGY1F4kaZgy1vUpi7 7zPQ== X-Forwarded-Encrypted: i=1; AJvYcCW3AuFQ+jEEU6vOfoyFjsIwC1dUu9XQSRabU/QvcKBImqAfiJREC21OlBSPrIVqQDuePAXFC9qYBjHi9aZ7h3XAPfJTEtIl0eTjBPbCFdoptA== X-Gm-Message-State: AOJu0Yyq2TetdMTiuhnJothhclS14qwF36SlcLYXo0Tso0qyuZR8ssla u2MAEkM2jo+gw1d2PJhJQVGaIZ3fhBOwv8oxbJCjbBB3B7MeJ7Y8EFiqkzDEzJ4a6dE34mVlVXd 7QlaxvnfVCvPY27eVzL9Nhps46dlsSL65SvdjuQ7rx5ZowYuUv4c= X-Google-Smtp-Source: AGHT+IF4prt71erzlQ9/lDMVnErV5YMS7GXcEBk+arC5+iSfptVJptv/GH3xeaTRFpEq4ADlC4kgcY6f7/yn6fYSLyk= X-Received: by 2002:a17:907:1747:b0:a4e:65e5:9ffc with SMTP id lf7-20020a170907174700b00a4e65e59ffcmr696688ejc.75.1712876019688; Thu, 11 Apr 2024 15:53:39 -0700 (PDT) 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: dev-commits-src-main+owner@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202404100322.43A3MTXZ087267@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Thu, 11 Apr 2024 16:53:27 -0600 Message-ID: Subject: Re: git: ac83063d37e5 - main - bcm2838_xhci: add module To: Andrew Turner Cc: Warner Losh , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: multipart/alternative; boundary="000000000000b2c55c0615da064f" X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated 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-Queue-Id: 4VFw3V4dbjz4647 --000000000000b2c55c0615da064f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Apr 11, 2024 at 4:10=E2=80=AFAM Andrew Turner wrote: > > > On 10 Apr 2024, at 04:22, Warner Losh wrote: > > > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3Dac83063d37e5e92ad048cc4ed958654= c02103f74 > > > > commit ac83063d37e5e92ad048cc4ed958654c02103f74 > > Author: Lexi Winter > > AuthorDate: 2024-04-10 03:11:36 +0000 > > Commit: Warner Losh > > CommitDate: 2024-04-10 03:11:39 +0000 > > > > bcm2838_xhci: add module > > > > bcm2838_xhci(4) is a shim for the XHCI controller on the Raspberry P= i > 4B > > SoC. It loads the controller's firmware before passing control to t= he > > normal xhci(4) driver. > > > > When xhci(4) is built as a module (and not in the kernel), > bcm2838_xhci > > is not built at all and the RPi4's XHCI controller won't attach due = to > > missing firmware. > > > > To fix this, build a new module, bcm2838_xhci.ko, which depends on > > xhci.ko. For the dependency to work correctly, also modify xhci to > > provide the 'xhci' module in addition to the 'xhci_pci' module it > > already provided. > > > > Since bcm2838_xhci is specific to a quirk of the RPi4 SoC, only buil= d > > the module for AArch64. > > I think this broke GENERIC-ACPI kernel. The bcm2838_xhci driver is FDT > only. > You may be right... But I don't see GENERIC-ACPI committed to the tree. Maybe you could share it with me so I can fix this? Warner --000000000000b2c55c0615da064f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Thu, Apr 11, 2024 at 4:10=E2=80=AF= AM Andrew Turner <andrew@fubar.g= eek.nz> wrote:

> On 10 Apr 2024, at 04:22, Warner Losh <imp@FreeBSD.org> wrote: >
> The branch main has been updated by imp:
>
> URL: https://= cgit.FreeBSD.org/src/commit/?id=3Dac83063d37e5e92ad048cc4ed958654c02103f74<= /a>
>
> commit ac83063d37e5e92ad048cc4ed958654c02103f74
> Author:=C2=A0 =C2=A0 =C2=A0Lexi Winter <lexi@le-Fay.ORG>
> AuthorDate: 2024-04-10 03:11:36 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>
> CommitDate: 2024-04-10 03:11:39 +0000
>
>=C2=A0 =C2=A0 bcm2838_xhci: add module
>
>=C2=A0 =C2=A0 bcm2838_xhci(4) is a shim for the XHCI controller on the = Raspberry Pi 4B
>=C2=A0 =C2=A0 SoC.=C2=A0 It loads the controller's firmware before = passing control to the
>=C2=A0 =C2=A0 normal xhci(4) driver.
>
>=C2=A0 =C2=A0 When xhci(4) is built as a module (and not in the kernel)= , bcm2838_xhci
>=C2=A0 =C2=A0 is not built at all and the RPi4's XHCI controller wo= n't attach due to
>=C2=A0 =C2=A0 missing firmware.
>
>=C2=A0 =C2=A0 To fix this, build a new module, bcm2838_xhci.ko, which d= epends on
>=C2=A0 =C2=A0 xhci.ko.=C2=A0 For the dependency to work correctly, also= modify xhci to
>=C2=A0 =C2=A0 provide the 'xhci' module in addition to the '= ;xhci_pci' module it
>=C2=A0 =C2=A0 already provided.
>
>=C2=A0 =C2=A0 Since bcm2838_xhci is specific to a quirk of the RPi4 SoC= , only build
>=C2=A0 =C2=A0 the module for AArch64.

I think this broke GENERIC-ACPI kernel. The bcm2838_xhci driver is FDT only= .


--000000000000b2c55c0615da064f-- From nobody Fri Apr 12 01:04:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFyym0rBSz5GWcm; Fri, 12 Apr 2024 01:04: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 4VFyym0Jpmz4N6P; Fri, 12 Apr 2024 01:04:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712883888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DJkZIbNRBjVaSz/a7R5dbA2WAT0woBPfc9XHyvoSP4U=; b=iaTnt/Utt+gEddku0lqzFw49v7TH30FcXbuSJ5OIQsBXOG2LStNGfKlUie0sWQudBmYVWf LjTEqVH7c3FS5TwIweDhNYfFSu9+SMgKu/NzMuMOHJDql9jxa/SMz/40709QvI2SRE0D3l /u/hWZ8V+71x00eIGM5J542y9x60EE7ZOUpG3wGYzWc7zlbaQ3R5KY28RxWsKW3bgNioqR Idq3BnNDQptjqIDyuk41iZhS76sVUAN4cylnysbQPHeJECBetAew/sJ9lQIE/5aYioYSXc wlisCxt55NX5LO2tWKbwMg8cYI6FNpB4McvYNva4OdeM4c4qImPyOGe2fuhhqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712883888; a=rsa-sha256; cv=none; b=j4RBZR5Ja8mojADiXwIWQALv6QC1QcYPY7z1zJD04T+qkVSexvXwu5enohY3Zvc5yt4/k6 +Wy6NDdQv5MdTOOFxgV/Mb1kbaO0OkwxO1tu9qShQw00saw9QxmRiDgr5RWy8aPSO2YSTI JakoHBQ98Pw/8bwI3aj5KmhYpfyWBg9J5uRytiTQNWA3kKHXUZr0aECeL8lEKTimFyM8Hr vigls/PVisqVM94BHpBQs6+7n1fhSNw8Tw4hL4S23AEKqYOd8d64UA7HL48PLsCGyk40BH oZnqTiVkms1VcaWEe4klZhCB3a+KrPk6EiGu3lnpV02sPizrttn8jDvNZ/5Pwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712883888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DJkZIbNRBjVaSz/a7R5dbA2WAT0woBPfc9XHyvoSP4U=; b=WQqfEN4O7iLutVeUff9z1PQmqjTaup0w8Chi8PC4lN/oBwIkEx788YV3VIXMLkCVeqmM9a /hATTN2JF/4XZkUOb4Fov9+WocsNlvs6d2V2XF9UqVKdA/zgS6+uymw92FMOaAN4fIRDwu AgHr5dFF+xc4HolOleBjIN9l0m8UY2pm+2LkRvEjamlqjvk+5v2QwUrF+c6C76x2dJfNxH 4sechVzHfY7jm3/gzZLX8E5L1jPUZxYV6S2cE9SITKHFTWiPoKYfrIJ5J8ciyBDa5XoOHu o2XkDhIRNv1IUXiRVfPJiuiYYriZjKxW2MiwHeAq2JgFk7gKkH6166+kVvixiA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFyyl71yczT0D; Fri, 12 Apr 2024 01:04:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43C14l92032653; Fri, 12 Apr 2024 01:04:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C14lIe032650; Fri, 12 Apr 2024 01:04:47 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:04:47 GMT Message-Id: <202404120104.43C14lIe032650@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: fc901e984e1d - main - bcm2838_xhci: Need to generate ofw_bus_if.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: dev-commits-src-main+owner@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: fc901e984e1de4e2d62db7569fb7a0a2916b2aae Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fc901e984e1de4e2d62db7569fb7a0a2916b2aae commit fc901e984e1de4e2d62db7569fb7a0a2916b2aae Author: Warner Losh AuthorDate: 2024-04-12 01:00:45 +0000 Commit: Warner Losh CommitDate: 2024-04-12 01:02:44 +0000 bcm2838_xhci: Need to generate ofw_bus_if.h Add ofw_bus_if.h to SRCS so that this will always be generated so this can build standalone, or when FDT isn't in the kernel. Fixes: ac83063d37e5e92ad048cc4ed958654c02103f74 (for LINT-ACPI) Sponsored by: Netflix --- sys/modules/usb/bcm2838_xhci/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/modules/usb/bcm2838_xhci/Makefile b/sys/modules/usb/bcm2838_xhci/Makefile index 3c90b4c8b32c..cbea037c9351 100644 --- a/sys/modules/usb/bcm2838_xhci/Makefile +++ b/sys/modules/usb/bcm2838_xhci/Makefile @@ -7,6 +7,6 @@ S= ${SRCTOP}/sys .PATH: $S/arm/broadcom/bcm2835 KMOD= bcm2838_xhci -SRCS= bcm2838_xhci.c +SRCS= bcm2838_xhci.c ofw_bus_if.h .include From nobody Fri Apr 12 07:39:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VG7kc2SRVz5GsfN; Fri, 12 Apr 2024 07:39:52 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: from mx.blih.net (mx.blih.net [212.83.155.74]) (using TLSv1.3 with cipher TLS_AES_256_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 4VG7kZ3BrFz40hY; Fri, 12 Apr 2024 07:39:50 +0000 (UTC) (envelope-from manu@bidouilliste.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bidouilliste.com header.s=mx header.b=AS6LyWg9; dmarc=pass (policy=none) header.from=bidouilliste.com; spf=pass (mx1.freebsd.org: domain of manu@bidouilliste.com designates 212.83.155.74 as permitted sender) smtp.mailfrom=manu@bidouilliste.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bidouilliste.com; s=mx; t=1712907582; 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=sCgTkKFKNWVVtiMe2JX6qcNnyFs4nkUK8XzdSo/8FEQ=; b=AS6LyWg90tC3ebjP1ussKXtHT4VfnzaJjAdiEzfHPNU0eISab6HldfPdmRayOp3/yB8alL qYmyNnM/VIy3i1kzna6EXYJuU6ak5Bcn6JKNwk77xah+gAkzaS6DH71ydlWvFB3JFQcFxY U9VHD4Jn3F0jPM43P6AiRi9ro9+MqN8= Received: from skull.home.blih.net (lfbn-lyo-1-2174-135.w90-66.abo.wanadoo.fr [90.66.97.135]) by mx.blih.net (OpenSMTPD) with ESMTPSA id 861ac016 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 12 Apr 2024 07:39:42 +0000 (UTC) Date: Fri, 12 Apr 2024 09:39:39 +0200 From: Emmanuel Vadot To: Gleb Smirnoff Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: aba79b0f4a3f - main - mbuf: provide mc_uiotomc() a function to copy from uio(9) to mchain Message-Id: <20240412093939.1d71c1d9178211c6b9e2e754@bidouilliste.com> In-Reply-To: <202404082029.438KTlBE041850@gitrepo.freebsd.org> References: <202404082029.438KTlBE041850@gitrepo.freebsd.org> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; amd64-portbld-freebsd15.0) 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: X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.40 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[bidouilliste.com,none]; MV_CASE(0.50)[]; R_DKIM_ALLOW(-0.20)[bidouilliste.com:s=mx]; R_SPF_ALLOW(-0.20)[+ip4:212.83.155.74/32]; ONCE_RECEIVED(0.10)[]; MIME_GOOD(-0.10)[text/plain]; ASN(0.00)[asn:12876, ipnet:212.83.128.0/19, country:FR]; FREEFALL_USER(0.00)[manu]; RCVD_TLS_ALL(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_ONE(0.00)[1]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-main@FreeBSD.org]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_TRACE(0.00)[bidouilliste.com:+] X-Rspamd-Queue-Id: 4VG7kZ3BrFz40hY Hi Gleb, On Mon, 8 Apr 2024 20:29:47 GMT Gleb Smirnoff wrote: > The branch main has been updated by glebius: > > URL: https://cgit.FreeBSD.org/src/commit/?id=aba79b0f4a3f69f070ace6effd5700d65226bd20 > > commit aba79b0f4a3f69f070ace6effd5700d65226bd20 > Author: Gleb Smirnoff > AuthorDate: 2024-04-08 20:16:51 +0000 > Commit: Gleb Smirnoff > CommitDate: 2024-04-08 20:16:51 +0000 > > mbuf: provide mc_uiotomc() a function to copy from uio(9) to mchain > > Implement m_uiotombuf() as a wrapper around mc_uiotomc(). The M_EXTPG is > left untouched. The m_uiotombuf() is left as a compat KPI. New code > should use either mc_uiotomc() or m_uiotombuf_nomap(). > > Reviewed by: markj, tuexen > Differential Revision: https://reviews.freebsd.org/D44150 > --- > sys/kern/uipc_mbuf.c | 126 +++++++++++++++++++++++++++++++++------------------ > sys/sys/mbuf.h | 1 + > 2 files changed, 83 insertions(+), 44 deletions(-) > As discussed on irc yesterday this is the commit that broke something wrt unix socket. This was fixed by d80a97def9a1db6f07f5d2e68f7ad62b27918947 but since this commit was later reverted we still have the problem. I now see problems with sway and swaymsg, it's unable to write to the socket setup by sway itself. Other unix socket seems to work fine (I can nc -U /var/run/devd.pipe correctly). 1590 swaymsg CALL socket(PF_LOCAL,0x1,0) 1590 swaymsg RET socket 3 1590 swaymsg CALL connect(0x3,0x821170006,0x6a) 1590 swaymsg CAP system call not allowed: connect 1590 swaymsg STRU struct sockaddr { AF_LOCAL, /var/run/xdg/manu/sway-ipc.1001.1561.sock } 1590 swaymsg NAMI "/var/run/xdg/manu/sway-ipc.1001.1561.sock" 1590 swaymsg RET connect 0 1590 swaymsg CALL setsockopt(0x3,SOL_SOCKET,SO_RCVTIMEO, 0x821170068,0x10) 1590 swaymsg RET setsockopt 0 1590 swaymsg CALL write(0x3,0x821170058,0xe) 1590 swaymsg GIO fd 3 wrote 14 bytes "i3-ipc\0\0\0\0\0\0\0\0" 1590 swaymsg RET write 14/0xe 1590 swaymsg CALL write(0x3,0x1fbe1da08008,0) 1590 swaymsg RET write -1 errno 14 Bad address What swaymsg do differently from nc -U is : 1590 swaymsg CALL setsockopt(0x3,SOL_SOCKET,SO_RCVTIMEO, 0x821170068,0x10) 1590 swaymsg RET setsockopt 0 There is probably more difference but that's the main one I can see. Cheers, -- Emmanuel Vadot From nobody Fri Apr 12 09:37:40 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGBLX2Z0bz5H3yD; Fri, 12 Apr 2024 09:37: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 4VGBLX24xHz4Dvr; Fri, 12 Apr 2024 09:37:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712914660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8HpmlX2fZbDoeSw2lNfjG0VxXcTYpg7/jpra+KCAJaw=; b=Ig8gsuPqPherHfaB3+Uo2sNMt/VmcRW8t1kegFtG4xs7m15k2nn1N/9HyofISzzpW+B/gB jygVgtyBFXATiyqwwBP3XEGW6xFdqbqb+P8e5W8FRq06wrnpubdDPdYiAf6Xw74JQMf6G7 9dEZAJuU0k25xn3QuoQiAQqjVhuo3kcFXybDYLbCa7LbCxvqJi/EChzAbdFAPBHaQiPpiV IjJDc8A1xXV4GuAhLOxR9hq7EZY0pbvL7Pi45RPluh9eaQKwNO9FrVnqVWjVtVKHPjs61s ykS6JM+n6eqW9NqKWaDJuj6QSpenKoi2CBgvVerGKK7XWympAXjnHW1N6RRr6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712914660; a=rsa-sha256; cv=none; b=MhtynjuFu3ukY15J7g56zpM8JAz3rIvHqyVwAUi+mijeH+IlwXg3IJmXxDKiOj0q9yBCgb 7PTrcR863wF8wyodngiRI+OuH/NVMXE8iLrxT0EGTjzN/92dtUv/qadBeQ7l45RUNK4n09 HT5E0L0fqjyHjqRFKraIoRo3lEA3Pdl8K1g5Yo7+82hQTqK3wt2EUfXrztMyjZH8Plhfze 9Cr35vrMdN4MXswt5C7rzXcoxTem4YK3ZmRqjGrwfIWUjXb6fJ/HbaHAQisWAIngCAW33y PD3vtCtzVUwaeQaB+/GJRxcLEGIgBgbpsrpU7ohAJ6hCmOway6cjK04FeB4uig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712914660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8HpmlX2fZbDoeSw2lNfjG0VxXcTYpg7/jpra+KCAJaw=; b=F7DOi/Mo1UCmja8GuW/yMnDTVPLPCx1WfjAYWYZq4NrIQuIbjPHLQFUo1JwRfsJgBnxiIl /P7wAfpPqKAg3QvtAz4rfC3CnqVmXpB0nPApUmzjHGTKDUgOa5HIwac245QRNv6ihkL3wA qAj6QJiuuXGg8knFWBJ/5nh9e8TujKjAsjYdUiyaZarwv4eoFuInlDjahq+x6iaFX90e+u tC7ttNUQR3f7BvHDDbN/1ClToeIPynOlWD0hjLcysE1gyL6UVQW7Kv9UoNs0uhp1MaOtyj p306wHPCEPb08W9A3mOXaQBPpsyU95OmcerzErV0qeXBLoW8LSKutBOL3hkoOg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGBLX1hk9zksj; Fri, 12 Apr 2024 09:37:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43C9be6P096565; Fri, 12 Apr 2024 09:37:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C9beDY096562; Fri, 12 Apr 2024 09:37:40 GMT (envelope-from git) Date: Fri, 12 Apr 2024 09:37:40 GMT Message-Id: <202404120937.43C9beDY096562@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: f4a6036a3a0d - main - ddb: Start to generalise breakpoints 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: 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f4a6036a3a0d6749a435a4c8decfdb59c64ec619 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=f4a6036a3a0d6749a435a4c8decfdb59c64ec619 commit f4a6036a3a0d6749a435a4c8decfdb59c64ec619 Author: Andrew Turner AuthorDate: 2024-03-21 14:11:17 +0000 Commit: Andrew Turner CommitDate: 2024-04-12 09:29:13 +0000 ddb: Start to generalise breakpoints To allow for hardware breakpoints it is useful to reuse the same management code. Start to generalise the code by moving common data into a new struct and pas this to internal functions to work with. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D44461 --- sys/ddb/db_break.c | 92 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 57 insertions(+), 35 deletions(-) diff --git a/sys/ddb/db_break.c b/sys/ddb/db_break.c index 91d927f03eaf..65045d909890 100644 --- a/sys/ddb/db_break.c +++ b/sys/ddb/db_break.c @@ -44,56 +44,74 @@ #include #include +struct db_breakpoint_type { + db_breakpoint_t db_next_free_breakpoint; + db_breakpoint_t db_breakpoint_limit; + db_breakpoint_t db_free_breakpoints; + db_breakpoint_t db_breakpoint_list; +}; + #define NBREAKPOINTS 100 static struct db_breakpoint db_break_table[NBREAKPOINTS]; -static db_breakpoint_t db_next_free_breakpoint = &db_break_table[0]; -static db_breakpoint_t db_free_breakpoints = 0; -static db_breakpoint_t db_breakpoint_list = 0; - -static db_breakpoint_t db_breakpoint_alloc(void); -static void db_breakpoint_free(db_breakpoint_t bkpt); -static void db_delete_breakpoint(vm_map_t map, db_addr_t addr); -static db_breakpoint_t db_find_breakpoint(vm_map_t map, db_addr_t addr); + +static struct db_breakpoint_type db_breakpoint = { + .db_next_free_breakpoint = &db_break_table[0], + .db_breakpoint_limit = &db_break_table[NBREAKPOINTS], + .db_free_breakpoints = NULL, + .db_breakpoint_list = NULL, +}; + +static db_breakpoint_t db_breakpoint_alloc( + struct db_breakpoint_type *bkpt_type); +static void db_breakpoint_free(struct db_breakpoint_type *bkpt_typ, + db_breakpoint_t bkpt); +static void db_delete_breakpoint(struct db_breakpoint_type *bkpt_type, + vm_map_t map, db_addr_t addr); +static db_breakpoint_t db_find_breakpoint(struct db_breakpoint_type *bkpt_type, + vm_map_t map, db_addr_t addr); static void db_list_breakpoints(void); -static void db_set_breakpoint(vm_map_t map, db_addr_t addr, int count); +static void db_set_breakpoint(struct db_breakpoint_type *bkpt_type, + vm_map_t map, db_addr_t addr, int count); static db_breakpoint_t -db_breakpoint_alloc(void) +db_breakpoint_alloc(struct db_breakpoint_type *bkpt_type) { register db_breakpoint_t bkpt; - if ((bkpt = db_free_breakpoints) != 0) { - db_free_breakpoints = bkpt->link; + if ((bkpt = bkpt_type->db_free_breakpoints) != 0) { + bkpt_type->db_free_breakpoints = bkpt->link; return (bkpt); } - if (db_next_free_breakpoint == &db_break_table[NBREAKPOINTS]) { + if (bkpt_type->db_next_free_breakpoint == + bkpt_type->db_breakpoint_limit) { db_printf("All breakpoints used.\n"); return (0); } - bkpt = db_next_free_breakpoint; - db_next_free_breakpoint++; + bkpt = bkpt_type->db_next_free_breakpoint; + bkpt_type->db_next_free_breakpoint++; return (bkpt); } static void -db_breakpoint_free(db_breakpoint_t bkpt) +db_breakpoint_free(struct db_breakpoint_type *bkpt_type, db_breakpoint_t bkpt) { - bkpt->link = db_free_breakpoints; - db_free_breakpoints = bkpt; + bkpt->link = bkpt_type->db_free_breakpoints; + bkpt_type->db_free_breakpoints = bkpt; } static void -db_set_breakpoint(vm_map_t map, db_addr_t addr, int count) +db_set_breakpoint(struct db_breakpoint_type *bkpt_type, vm_map_t map, + db_addr_t addr, int count) { register db_breakpoint_t bkpt; - if (db_find_breakpoint(map, addr)) { + if (db_find_breakpoint(bkpt_type, map, addr)) { db_printf("Already set.\n"); return; } - bkpt = db_breakpoint_alloc(); + bkpt = db_breakpoint_alloc(bkpt_type); if (bkpt == 0) { db_printf("Too many breakpoints.\n"); return; @@ -105,17 +123,18 @@ db_set_breakpoint(vm_map_t map, db_addr_t addr, int count) bkpt->init_count = count; bkpt->count = count; - bkpt->link = db_breakpoint_list; - db_breakpoint_list = bkpt; + bkpt->link = bkpt_type->db_breakpoint_list; + bkpt_type->db_breakpoint_list = bkpt; } static void -db_delete_breakpoint(vm_map_t map, db_addr_t addr) +db_delete_breakpoint(struct db_breakpoint_type *bkpt_type, vm_map_t map, + db_addr_t addr) { register db_breakpoint_t bkpt; register db_breakpoint_t *prev; - for (prev = &db_breakpoint_list; + for (prev = &bkpt_type->db_breakpoint_list; (bkpt = *prev) != 0; prev = &bkpt->link) { if (db_map_equal(bkpt->map, map) && @@ -129,15 +148,16 @@ db_delete_breakpoint(vm_map_t map, db_addr_t addr) return; } - db_breakpoint_free(bkpt); + db_breakpoint_free(bkpt_type, bkpt); } static db_breakpoint_t -db_find_breakpoint(vm_map_t map, db_addr_t addr) +db_find_breakpoint(struct db_breakpoint_type *bkpt_type, vm_map_t map, + db_addr_t addr) { register db_breakpoint_t bkpt; - for (bkpt = db_breakpoint_list; + for (bkpt = bkpt_type->db_breakpoint_list; bkpt != 0; bkpt = bkpt->link) { @@ -151,7 +171,7 @@ db_find_breakpoint(vm_map_t map, db_addr_t addr) db_breakpoint_t db_find_breakpoint_here(db_addr_t addr) { - return db_find_breakpoint(db_map_addr(addr), addr); + return db_find_breakpoint(&db_breakpoint, db_map_addr(addr), addr); } static bool db_breakpoints_inserted = true; @@ -175,7 +195,7 @@ db_set_breakpoints(void) register db_breakpoint_t bkpt; if (!db_breakpoints_inserted) { - for (bkpt = db_breakpoint_list; + for (bkpt = db_breakpoint.db_breakpoint_list; bkpt != 0; bkpt = bkpt->link) if (db_map_current(bkpt->map)) { @@ -191,7 +211,7 @@ db_clear_breakpoints(void) register db_breakpoint_t bkpt; if (db_breakpoints_inserted) { - for (bkpt = db_breakpoint_list; + for (bkpt = db_breakpoint.db_breakpoint_list; bkpt != 0; bkpt = bkpt->link) if (db_map_current(bkpt->map)) { @@ -209,13 +229,13 @@ db_list_breakpoints(void) { register db_breakpoint_t bkpt; - if (db_breakpoint_list == 0) { + if (db_breakpoint.db_breakpoint_list == 0) { db_printf("No breakpoints set\n"); return; } db_printf(" Map Count Address\n"); - for (bkpt = db_breakpoint_list; + for (bkpt = db_breakpoint.db_breakpoint_list; bkpt != 0; bkpt = bkpt->link) { db_printf("%s%8p %5d ", @@ -231,7 +251,8 @@ db_list_breakpoints(void) void db_delete_cmd(db_expr_t addr, bool have_addr, db_expr_t count, char *modif) { - db_delete_breakpoint(db_map_addr(addr), (db_addr_t)addr); + db_delete_breakpoint(&db_breakpoint, db_map_addr(addr), + (db_addr_t)addr); } /* Set breakpoint with skip count */ @@ -242,7 +263,8 @@ db_breakpoint_cmd(db_expr_t addr, bool have_addr, db_expr_t count, char *modif) if (count == -1) count = 1; - db_set_breakpoint(db_map_addr(addr), (db_addr_t)addr, count); + db_set_breakpoint(&db_breakpoint, db_map_addr(addr), (db_addr_t)addr, + count); } /* list breakpoints */ From nobody Fri Apr 12 09:37:41 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGBLY4h1pz5H4Br; Fri, 12 Apr 2024 09:37: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 4VGBLY2f7lz4Dbs; Fri, 12 Apr 2024 09:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712914661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z1VX8o7WlGsrxXFf2hDorSMROr2KvIpIDnNzf1W7QLk=; b=RnLD8eo3Co2r2A0XsVycfJU3Aq2sJh7xO+Mjcw3r4FerZAhFYIWQhjT7mcLIIOePz1EemW aRUV1NfJfLQxwoLmxzUqYTthrPgXPLHwpSu9EmZZ5drBnHU/iWITHbDQDK0LVr+cXAwoqh ZvljJuT+XTTOHg4vLiPwfOkjtILnBrOqmmD3EEsH3r8vWSc5oHvCk/f1r1ql+Jur3vKOYP UjdxFpFcZOj4y+TnkrI0QTGCVYomd64ThfjGuNNfUMgi2RH7tP8ni/b/9psDBqO3KsvLsn 4/NrjaEgzky7N1raAPSyTaxilTyOBSJxp9XrsqC+zbiG5TfztTZfqmCDzNMY5w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712914661; a=rsa-sha256; cv=none; b=YUuF8HxJqlVk8vjTCbt0TZTU70a3dEbVKbadst5cdH6RYXadL5ZePJ1RfTpjEUQ1OOcrtq lKJ+diZHYRbB+ceZnfH7cBex7oMrnzQZKII1TeLFYkhFv8ZthMEgVM0ipos9I1a8d4DtZM qPEoT3NxYqS+IsDMYRAXwV51B7dB5cIF6S2RtC7AmReuO79UNAwgWKk+xBsW3Hy8Kuyp+Y NNZMrBuswoFakDSSLDkS/1ckYsAD+rojsJxtdfk8IsHauyQwXo/viKQ6IwytMfmZ9CycWc RBOZcOIxnKIwrZeoeJmKcssN7F66qNnNs/n47OPkpQWInmaD+HnKRlXrFH6/Jg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712914661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z1VX8o7WlGsrxXFf2hDorSMROr2KvIpIDnNzf1W7QLk=; b=bdpnzplw2auApIH/i8yeJd+XF7sLD2ViUP3ZEUriztPt4e81t/8YYeZHPQbUUvbRYEru0o yP6t2GamBv9Lnh1b4I5Q+T0KwirN8CUTllYZw9QHVvH+xqORI6uVDGY7r9W89qnJs1MlK8 chDzL+vRwP0EC7JpqTUOwjTn0PCDVmQd6I4xkMDb0gdH/PsMi40ILp9481G5EMipQsTtxg SYErcRO0wNSokh/iivwEKjWTkYEXncAtydwz4E3rsfnYAXpZ3Sc+F6XbyaLrsKdjdNZKHz fTBJyr9mUimg3ekmFI75p048aA0q5a1uZTUcF2yblXEfPfasQxzfhAfiyFfCLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGBLY2FQjzky8; Fri, 12 Apr 2024 09:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43C9bf1s096619; Fri, 12 Apr 2024 09:37:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C9bfiJ096616; Fri, 12 Apr 2024 09:37:41 GMT (envelope-from git) Date: Fri, 12 Apr 2024 09:37:41 GMT Message-Id: <202404120937.43C9bfiJ096616@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 076b64e83ac9 - main - sys/ddb: Add hardware breakpoint support to ddb 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: 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 076b64e83ac9e0cfd361a58d5967dfa939fe8139 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=076b64e83ac9e0cfd361a58d5967dfa939fe8139 commit 076b64e83ac9e0cfd361a58d5967dfa939fe8139 Author: Andrew Turner AuthorDate: 2024-03-12 17:01:26 +0000 Commit: Andrew Turner CommitDate: 2024-04-12 09:32:41 +0000 sys/ddb: Add hardware breakpoint support to ddb As with hardware watchpoints add support for hardware breakpoints. The command is only enabled on architectures that report support for them. Currently no architectures do, however arm64 will add support in a future change. Reviewed by: jhb (earlier version) Sponsored by: Arm Ltd Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D22191 --- sys/ddb/db_break.c | 96 +++++++++++++++++++++++++++++++++++++++++++++++----- sys/ddb/db_command.c | 4 +++ sys/ddb/ddb.h | 7 ++++ 3 files changed, 99 insertions(+), 8 deletions(-) diff --git a/sys/ddb/db_break.c b/sys/ddb/db_break.c index 65045d909890..44b51fb7f402 100644 --- a/sys/ddb/db_break.c +++ b/sys/ddb/db_break.c @@ -35,10 +35,14 @@ */ #include +#include +#include #include #include +#include + #include #include #include @@ -61,6 +65,17 @@ static struct db_breakpoint_type db_breakpoint = { .db_breakpoint_list = NULL, }; +#ifdef HAS_HW_BREAKPOINT +static struct db_breakpoint db_hbreak_table[NHBREAKPOINTS]; + +static struct db_breakpoint_type db_hbreakpoint = { + .db_next_free_breakpoint = &db_hbreak_table[0], + .db_breakpoint_limit = &db_hbreak_table[NHBREAKPOINTS], + .db_free_breakpoints = NULL, + .db_breakpoint_list = NULL, +}; +#endif + static db_breakpoint_t db_breakpoint_alloc( struct db_breakpoint_type *bkpt_type); static void db_breakpoint_free(struct db_breakpoint_type *bkpt_typ, @@ -70,7 +85,7 @@ static void db_delete_breakpoint(struct db_breakpoint_type *bkpt_type, static db_breakpoint_t db_find_breakpoint(struct db_breakpoint_type *bkpt_type, vm_map_t map, db_addr_t addr); static void db_list_breakpoints(void); -static void db_set_breakpoint(struct db_breakpoint_type *bkpt_type, +static bool db_set_breakpoint(struct db_breakpoint_type *bkpt_type, vm_map_t map, db_addr_t addr, int count); static db_breakpoint_t @@ -100,7 +115,7 @@ db_breakpoint_free(struct db_breakpoint_type *bkpt_type, db_breakpoint_t bkpt) bkpt_type->db_free_breakpoints = bkpt; } -static void +static bool db_set_breakpoint(struct db_breakpoint_type *bkpt_type, vm_map_t map, db_addr_t addr, int count) { @@ -108,13 +123,13 @@ db_set_breakpoint(struct db_breakpoint_type *bkpt_type, vm_map_t map, if (db_find_breakpoint(bkpt_type, map, addr)) { db_printf("Already set.\n"); - return; + return (false); } bkpt = db_breakpoint_alloc(bkpt_type); if (bkpt == 0) { db_printf("Too many breakpoints.\n"); - return; + return (false); } bkpt->map = map; @@ -125,6 +140,8 @@ db_set_breakpoint(struct db_breakpoint_type *bkpt_type, vm_map_t map, bkpt->link = bkpt_type->db_breakpoint_list; bkpt_type->db_breakpoint_list = bkpt; + + return (true); } static void @@ -171,7 +188,16 @@ db_find_breakpoint(struct db_breakpoint_type *bkpt_type, vm_map_t map, db_breakpoint_t db_find_breakpoint_here(db_addr_t addr) { - return db_find_breakpoint(&db_breakpoint, db_map_addr(addr), addr); + db_breakpoint_t bkpt; + + bkpt = db_find_breakpoint(&db_breakpoint, db_map_addr(addr), addr); +#ifdef HAS_HW_BREAKPOINT + if (bkpt == NULL) + bkpt = db_find_breakpoint(&db_hbreakpoint, db_map_addr(addr), + addr); +#endif + + return (bkpt); } static bool db_breakpoints_inserted = true; @@ -189,6 +215,9 @@ do { \ db_put_value(addr, BKPT_SIZE, *storage) #endif +/* + * Set software breakpoints. + */ void db_set_breakpoints(void) { @@ -205,6 +234,9 @@ db_set_breakpoints(void) } } +/* + * Clean software breakpoints. + */ void db_clear_breakpoints(void) { @@ -222,7 +254,7 @@ db_clear_breakpoints(void) } /* - * List breakpoints. + * List software breakpoints. */ static void db_list_breakpoints(void) @@ -246,7 +278,9 @@ db_list_breakpoints(void) } } -/* Delete breakpoint */ +/* + * Delete software breakpoint + */ /*ARGSUSED*/ void db_delete_cmd(db_expr_t addr, bool have_addr, db_expr_t count, char *modif) @@ -255,7 +289,9 @@ db_delete_cmd(db_expr_t addr, bool have_addr, db_expr_t count, char *modif) (db_addr_t)addr); } -/* Set breakpoint with skip count */ +/* + * Set software breakpoint with skip count + */ /*ARGSUSED*/ void db_breakpoint_cmd(db_expr_t addr, bool have_addr, db_expr_t count, char *modif) @@ -267,11 +303,55 @@ db_breakpoint_cmd(db_expr_t addr, bool have_addr, db_expr_t count, char *modif) count); } +#ifdef HAS_HW_BREAKPOINT +/* + * Delete hardware breakpoint + */ +void +db_deletehbreak_cmd(db_expr_t addr, bool have_addr, db_expr_t count, + char *modif) +{ + if (count == -1) + count = 1; + + if (kdb_cpu_clr_breakpoint(addr) != 0) { + db_printf("hardware breakpoint could not be delete\n"); + return; + } + + db_delete_breakpoint(&db_hbreakpoint, db_map_addr(addr), + (db_addr_t)addr); +} + +/* + * Set hardware breakpoint + */ +void +db_hbreakpoint_cmd(db_expr_t addr, bool have_addr, db_expr_t count, char *modif) +{ + if (count == -1) + count = 1; + + if (!db_set_breakpoint(&db_hbreakpoint, db_map_addr(addr), + (db_addr_t)addr, count)) + return; + + if (kdb_cpu_set_breakpoint(addr) != 0) { + db_printf("hardware breakpoint could not be set\n"); + db_delete_breakpoint(&db_hbreakpoint, db_map_addr(addr), + (db_addr_t)addr); + } +} +#endif + /* list breakpoints */ void db_listbreak_cmd(db_expr_t dummy1, bool dummy2, db_expr_t dummy3, char *dummy4) { db_list_breakpoints(); +#ifdef HAS_HW_BREAKPOINT + db_md_list_breakpoints(); +#endif } /* diff --git a/sys/ddb/db_command.c b/sys/ddb/db_command.c index 0c88d496f6b8..f621bd614ca2 100644 --- a/sys/ddb/db_command.c +++ b/sys/ddb/db_command.c @@ -126,6 +126,10 @@ static struct db_command db_cmds[] = { DB_CMD("delete", db_delete_cmd, 0), DB_CMD("d", db_delete_cmd, 0), DB_CMD("dump", db_dump, DB_CMD_MEMSAFE), +#ifdef HAS_HW_BREAKPOINT + DB_CMD("dhbreak", db_deletehbreak_cmd, 0), + DB_CMD("hbreak", db_hbreakpoint_cmd, 0), +#endif DB_CMD("break", db_breakpoint_cmd, 0), DB_CMD("b", db_breakpoint_cmd, 0), DB_CMD("dwatch", db_deletewatch_cmd, 0), diff --git a/sys/ddb/ddb.h b/sys/ddb/ddb.h index bb92fef63e94..ab7dab1daa45 100644 --- a/sys/ddb/ddb.h +++ b/sys/ddb/ddb.h @@ -299,6 +299,13 @@ db_cmdfcn_t db_watchpoint_cmd; db_cmdfcn_t db_write_cmd; db_cmdfcn_t db_pprint_cmd; +#ifdef HAS_HW_BREAKPOINT +void db_md_list_breakpoints(void); + +db_cmdfcn_t db_deletehbreak_cmd; +db_cmdfcn_t db_hbreakpoint_cmd; +#endif + /* * Interface between DDB and the DDB output capture facility. */ From nobody Fri Apr 12 09:37:42 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGBLZ5ZZtz5H48V; Fri, 12 Apr 2024 09:37: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 4VGBLZ3xNgz4Dvv; Fri, 12 Apr 2024 09:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712914662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pKj2byVEnmdm1hjyC2TI3bDo5RMRiKlH0CzXtKSn9lU=; b=M/+8qhKRUYcZYUn3UrQd1tqovPRoFFrfyhL0E5kW7tvB+5NbuJ/gTsiV5HhJolw88UzlmY hM/un3kWHtHHQCuXvBlfPJKh8nRED0pFe/RVJEWRbnmkss4RDc7NgQnCT7K3gdlTwqNmOC NVZ/Cyn8Zk3+Ac2qlFQvBzxsiXYJEt9EP56eb63LciuT4NZ+v8U2Zr9QXRhe4juzJNACca pVVi0ur/A20T/N/osMAgEdLJr+ej9u/RIn3+n2ccEpTzv/Ow4gJD+ue1ktGZy/px97XU3N qoa9J11FTuGNWGbG9dDYd2H89n55EDQAKoiTHNDjUXiNAosVM09TOBjRSDjMuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712914662; a=rsa-sha256; cv=none; b=TC5tgmi49PFr5ZFO76tBmGsBi2NlgxCslqcYC6S4LXk7Nhe0IjAhncy95eOKgBTgS5txVW MdnmBqVaDOw+bll373Bb/Ch7PSj684lcV6FrJnY5GoVR7u/kqbAOOnNu4I/Ej1GQmG6koS Ma7RG7KMgYfS3qsLkfYM6DdzySORvxUlLxnf87nNwONzkZmKhx3o7vxEMxkxjeGHoAWp+Q FWT1KOnIlQqKgkXvnkSda9xTbd1LOv/RiFMHHYQNCmJjEar+pe93NQqKZ5HnNZPkLAm6y1 w1dWckRwnop5mXmA0iULMgawDPZqFhXybttYgy1nZuh1YJw1UprFjddkwXOiCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712914662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pKj2byVEnmdm1hjyC2TI3bDo5RMRiKlH0CzXtKSn9lU=; b=IB6QEscaHgcx9q4i0yIijJFlTCNlaMudBCwbkGu/toErWW/2pPqrKQdCNxPBMX6mkfQ3R0 Wkl10vywGYqG21WDqCD8bF89ul3flRqLqo4azlPiU/aKyVCoPl2okK+YsndsA5lA1IKuK1 oGhqBQM1bTnHLjtoijFQ4U8dC66QagBMGe2+Kj2Djc/MZdPuox/evc4vGRvTkxZCtx9Sfz A/0f1lyAuHeMXUhmhmmMvYtEz4kYTIr9ItX9LzjfhBoxGK89ZqjKW9PR4AJF5M4aeJ1I5a NSXqIbcmh1/i/hzOUQwXhUD1uM/4pKFPvcB/wWVYi7r7lgT3nUh83RTMjpHitw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGBLZ3YV3zjsN; Fri, 12 Apr 2024 09:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43C9bgPZ096659; Fri, 12 Apr 2024 09:37:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C9bgGm096656; Fri, 12 Apr 2024 09:37:42 GMT (envelope-from git) Date: Fri, 12 Apr 2024 09:37:42 GMT Message-Id: <202404120937.43C9bgGm096656@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 0adc959a3730 - main - sys/gdb: Support hardware breakpoints 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: 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0adc959a37303939e6c64cbeea47a62670bfaf58 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0adc959a37303939e6c64cbeea47a62670bfaf58 commit 0adc959a37303939e6c64cbeea47a62670bfaf58 Author: Andrew Turner AuthorDate: 2024-03-14 15:09:03 +0000 Commit: Andrew Turner CommitDate: 2024-04-12 09:32:55 +0000 sys/gdb: Support hardware breakpoints Support the use of hardware breakpoints in the kernel gdb stub. Reviewed by: jhb (earlier version) Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D44354 --- sys/gdb/gdb_main.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sys/gdb/gdb_main.c b/sys/gdb/gdb_main.c index 5567c12c2a9f..3e8ada42adac 100644 --- a/sys/gdb/gdb_main.c +++ b/sys/gdb/gdb_main.c @@ -267,6 +267,11 @@ nofeatures: gdb_tx_str(";qXfer:threads:read+"); +#ifdef HAS_HW_BREAKPOINT + if ((*feat & GDB_HWBREAK) != 0) + gdb_tx_str(";hwbreak+"); +#endif + /* * If the debugport is a reliable transport, request No Ack mode from * the server. The server may or may not choose to enter No Ack mode. @@ -648,6 +653,10 @@ gdb_z_insert(void) (vm_size_t)length, KDB_DBG_ACCESS_RW); break; case '1': /* hardware breakpoint */ +#ifdef HAS_HW_BREAKPOINT + error = kdb_cpu_set_breakpoint((vm_offset_t)addr); + break; +#endif case '0': /* software breakpoint */ /* Not implemented. */ gdb_tx_empty(); @@ -692,6 +701,10 @@ gdb_z_remove(void) (vm_size_t)length); break; case '1': /* hardware breakpoint */ +#ifdef HAS_HW_BREAKPOINT + error = kdb_cpu_clr_breakpoint((vm_offset_t)addr); + break; +#endif case '0': /* software breakpoint */ /* Not implemented. */ gdb_tx_empty(); From nobody Fri Apr 12 09:37:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGBLb69Xhz5H4H5; Fri, 12 Apr 2024 09:37: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 4VGBLb4Qgvz4DyZ; Fri, 12 Apr 2024 09:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712914663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Agr3pZ72DUCcPbJsWJYG9U4IZVlBkYu0HQgQXL4lg0=; b=Bzk0F4lDfmQxghsiWeucrvtUo9pCISa1xukTWguEtP46ETJJabjt9WVMTgpGpr+Sc1RYv9 XVcS0q9oxMyOYACnZURwx1BeZAj0K6/DBF1hpRCWsFPOAH6VGks+sGU4eeq9Wu5Zdog/bF MSmYOQF4I99825nMuWwPMQ8Mp/Gt3UtVoqYFZW7DXmnu+YH2OGM3YlKaYuK3aaawzGEW/D uDZ2u5stHSKsWGj8jui+lfQzs7DbqkFTFrPTcKu2AGONk6EOEw+I/XOTmpLqhMoKf46O9s stRpsswpW0VtRjs7pClwmdKMqnCGPjMybxUQKyzFVR3sGIPnCaUaCfXHxt0AdQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712914663; a=rsa-sha256; cv=none; b=u6SzY7ZoJxiYHufv+UtqIgLyUMdWib8EaGdu58PwzhDhcGsQ9nfEUhHc/NyVSpbkH0SpcP d9XJ2wOy5udUTg6nVqTFsV+LmbpwazT4u//p0GNFjQpWAG9uxCEtv4uCtqc52B3yI55v5f 6U/0vZCMQbPrLRoDuezaPDAwJwFi8mxYcE//YKlKJeL1FL0d9YUk9GGOivVvcgCUAmCf8U Bou6ruq81uwec5CoNyT7tsH5ATJeA28mtN06g/S1HPHpZJNV/8ot5kmysn/XpVAl02IFR2 uGSBL0MDdvNOQo79YfVWAh+wBd4d6G33k8ZeCgy1EIYFooEHXgwErQk9HuVQWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712914663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Agr3pZ72DUCcPbJsWJYG9U4IZVlBkYu0HQgQXL4lg0=; b=OyV3qhjI/ZfMz2ZpkGaGmOOA9J0hI7mgKVvZmYOUiZNqMGgrSwxNk/2Ay0C6Xmk4ay0lhL aSbcblwF/dARRxlgVSNzsGZNhVfSTwSBNGfXP0a2OFkfPaxdrl23031LLpOncaiJ5SfWLn 3CdmsvR9uTTdAOkdCm0Tu6Ylq27Dhhfrtv04DaqeeEb5ppVN8/312LJLo2yGAiD8COIt3e KjV5eCofcSv42ARH3/MFHpRuo6WOtn+oSRZrMJ0KXI1x0YlTnq/4R/9ZFDOncat/ONu5Hl xo071rLCs3CCPbE2mORIdvJVIKWGdU9jCTUFSCk8U37VE6AvLePaj4bhXwq+lA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGBLb3p4JzkkB; Fri, 12 Apr 2024 09:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43C9bhOu096698; Fri, 12 Apr 2024 09:37:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C9bhTN096695; Fri, 12 Apr 2024 09:37:43 GMT (envelope-from git) Date: Fri, 12 Apr 2024 09:37:43 GMT Message-Id: <202404120937.43C9bhTN096695@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: f242c47ee278 - main - arm64: Support hardware breakpoints 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: 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f242c47ee278e8e119e98b8f4f00e52fbd0d4efd Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=f242c47ee278e8e119e98b8f4f00e52fbd0d4efd commit f242c47ee278e8e119e98b8f4f00e52fbd0d4efd Author: Andrew Turner AuthorDate: 2024-03-12 17:14:38 +0000 Commit: Andrew Turner CommitDate: 2024-04-12 09:32:56 +0000 arm64: Support hardware breakpoints As with watchpoints allow the kernel debugger to set hardware breakpoints on arm64. These have been tested to work in both the ddb and gdb backends. Reviewed by: jhb (earlier version) Sponsored by: Arm Ltd Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D44355 --- sys/arm64/arm64/db_trace.c | 7 +++ sys/arm64/arm64/debug_monitor.c | 99 +++++++++++++++++++++++++++++++++++++++ sys/arm64/arm64/gdb_machdep.c | 9 +++- sys/arm64/include/db_machdep.h | 3 ++ sys/arm64/include/debug_monitor.h | 1 + sys/arm64/include/kdb.h | 2 + 6 files changed, 120 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/db_trace.c b/sys/arm64/arm64/db_trace.c index 4bc6af26a023..7b0fdeaeba29 100644 --- a/sys/arm64/arm64/db_trace.c +++ b/sys/arm64/arm64/db_trace.c @@ -47,6 +47,13 @@ #define FRAME_SERROR 3 #define FRAME_UNHANDLED 4 +void +db_md_list_breakpoints(void) +{ + + dbg_show_breakpoint(); +} + void db_md_list_watchpoints(void) { diff --git a/sys/arm64/arm64/debug_monitor.c b/sys/arm64/arm64/debug_monitor.c index 3d8e753e1c45..2e1a956ad75c 100644 --- a/sys/arm64/arm64/debug_monitor.c +++ b/sys/arm64/arm64/debug_monitor.c @@ -44,7 +44,9 @@ #include #ifdef DDB +#include #include +#include #include #endif @@ -59,6 +61,10 @@ static struct debug_monitor_state kernel_monitor = { .dbg_flags = DBGMON_KERNEL }; +static int dbg_setup_breakpoint(struct debug_monitor_state *monitor, + vm_offset_t addr); +static int dbg_remove_breakpoint(struct debug_monitor_state *monitor, + vm_offset_t addr); static int dbg_setup_watchpoint(struct debug_monitor_state *, vm_offset_t, vm_size_t, enum dbg_access_t); static int dbg_remove_watchpoint(struct debug_monitor_state *, vm_offset_t, @@ -185,6 +191,18 @@ dbg_wb_write_reg(int reg, int n, uint64_t val) } #if defined(DDB) || defined(GDB) +int +kdb_cpu_set_breakpoint(vm_offset_t addr) +{ + return (dbg_setup_breakpoint(NULL, addr)); +} + +int +kdb_cpu_clr_breakpoint(vm_offset_t addr) +{ + return (dbg_remove_breakpoint(NULL, addr)); +} + void kdb_cpu_set_singlestep(void) { @@ -272,6 +290,33 @@ kdb_cpu_clr_watchpoint(vm_offset_t addr, vm_size_t size) #endif /* DDB || GDB */ #ifdef DDB +void +dbg_show_breakpoint(void) +{ + db_breakpoint_t bkpt; + uint32_t bcr; + uint64_t addr; + int i; + + db_printf("\nhardware breakpoints:\n"); + db_printf(" break status count address symbol\n"); + db_printf(" ----- -------- ----- ------------------ ------------------\n"); + for (i = 0; i < dbg_breakpoint_num; i++) { + bcr = dbg_wb_read_reg(DBG_REG_BASE_BCR, i); + if ((bcr & DBG_WB_CTRL_E) != 0) { + addr = dbg_wb_read_reg(DBG_REG_BASE_BVR, i); + bkpt = db_find_breakpoint_here(addr); + db_printf(" %-5d %-8s %-5d 0x%16lx ", + i, "enabled", bkpt == NULL ? -1 : bkpt->count, + addr); + db_printsym((db_addr_t)addr, DB_STGY_ANY); + db_printf("\n"); + } else { + db_printf(" %-5d disabled\n", i); + } + } +} + static const char * dbg_watchtype_str(uint32_t type) { @@ -394,6 +439,60 @@ dbg_find_slot(struct debug_monitor_state *monitor, enum dbg_t type, return (-1); } +static int +dbg_setup_breakpoint(struct debug_monitor_state *monitor, vm_offset_t addr) +{ + uint64_t bcr_priv; + u_int i; + + if (monitor == NULL) + monitor = &kernel_monitor; + + i = dbg_find_free_slot(monitor, DBG_TYPE_BREAKPOINT); + if (i == -1) { + printf("Can not find slot for breakpoint, max %d" + " breakpoints supported\n", dbg_breakpoint_num); + return (EBUSY); + } + + if ((monitor->dbg_flags & DBGMON_KERNEL) == 0) + bcr_priv = DBG_WB_CTRL_EL0; + else + bcr_priv = DBG_WB_CTRL_EL1; + + monitor->dbg_bvr[i] = addr; + monitor->dbg_bcr[i] = (0xf << 5) | bcr_priv | DBG_WB_CTRL_E; + monitor->dbg_enable_count++; + monitor->dbg_flags |= DBGMON_ENABLED; + dbg_register_sync(monitor); + + return (0); +} + +static int +dbg_remove_breakpoint(struct debug_monitor_state *monitor, vm_offset_t addr) +{ + u_int i; + + if (monitor == NULL) + monitor = &kernel_monitor; + + i = dbg_find_slot(monitor, DBG_TYPE_BREAKPOINT, addr); + if (i == -1) { + printf("Can not find breakpoint for address 0%lx\n", addr); + return (i); + } + + monitor->dbg_bvr[i] = 0; + monitor->dbg_bcr[i] = 0; + monitor->dbg_enable_count--; + if (monitor->dbg_enable_count == 0) + monitor->dbg_flags &= ~DBGMON_ENABLED; + dbg_register_sync(monitor); + + return (0); +} + static int dbg_setup_watchpoint(struct debug_monitor_state *monitor, vm_offset_t addr, vm_size_t size, enum dbg_access_t access) diff --git a/sys/arm64/arm64/gdb_machdep.c b/sys/arm64/arm64/gdb_machdep.c index 7b21675ea927..04c69e5f6079 100644 --- a/sys/arm64/arm64/gdb_machdep.c +++ b/sys/arm64/arm64/gdb_machdep.c @@ -121,9 +121,16 @@ void gdb_cpu_stop_reason(int type, int code __unused) { - if (type == EXCP_WATCHPT_EL1) { + switch (type) { + case EXCP_WATCHPT_EL1: gdb_tx_str("watch:"); gdb_tx_varhex((uintmax_t)READ_SPECIALREG(far_el1)); gdb_tx_char(';'); + break; + case EXCP_BRKPT_EL1: + gdb_tx_str("hwbreak:;"); + break; + default: + break; } } diff --git a/sys/arm64/include/db_machdep.h b/sys/arm64/include/db_machdep.h index 45b97443aec5..5dc496ca851d 100644 --- a/sys/arm64/include/db_machdep.h +++ b/sys/arm64/include/db_machdep.h @@ -40,6 +40,9 @@ #define T_SINGLESTEP (EXCP_SOFTSTP_EL1) #define T_WATCHPOINT (EXCP_WATCHPT_EL1) +#define HAS_HW_BREAKPOINT +#define NHBREAKPOINTS 16 + typedef vm_offset_t db_addr_t; typedef long db_expr_t; diff --git a/sys/arm64/include/debug_monitor.h b/sys/arm64/include/debug_monitor.h index 578e90db7f12..8698f21a7c2a 100644 --- a/sys/arm64/include/debug_monitor.h +++ b/sys/arm64/include/debug_monitor.h @@ -56,6 +56,7 @@ void dbg_monitor_init(void); void dbg_register_sync(struct debug_monitor_state *); #ifdef DDB +void dbg_show_breakpoint(void); void dbg_show_watchpoint(void); #endif diff --git a/sys/arm64/include/kdb.h b/sys/arm64/include/kdb.h index aa36e7e756f9..3148b7df7d1b 100644 --- a/sys/arm64/include/kdb.h +++ b/sys/arm64/include/kdb.h @@ -37,6 +37,8 @@ void kdb_cpu_clear_singlestep(void); void kdb_cpu_set_singlestep(void); +int kdb_cpu_set_breakpoint(vm_offset_t addr); +int kdb_cpu_clr_breakpoint(vm_offset_t addr); int kdb_cpu_set_watchpoint(vm_offset_t addr, size_t size, int access); int kdb_cpu_clr_watchpoint(vm_offset_t addr, size_t size); From nobody Fri Apr 12 12:33:12 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGGF43v1dz5HKDd; Fri, 12 Apr 2024 12:33: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 4VGGF43M4sz4SrJ; Fri, 12 Apr 2024 12:33:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712925192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=02ieSgaF1Kkv5WXEs2SL/d4WS0j2609RUNTzCTcoA3c=; b=iubfo86zn7foyxqmLn8SR8XPodexH2MRXtzi65MHGn0xqGwEsZPxuPNtBJNAb4bfKUWpbs eRM8NlPWz2qbSYZBwHZaURQjukBahFx2wOZmt1b9Q8Ra6lf9rXDeKqbHPK5dXD5dLQJa/M 9i6ppbVRcsi8inky2K58AeM7Q0JVERM42UZMUzJnaD+TVh5z7CpTsbv5Hy/gxlRikRDt5K HTAlq8CSnQS4N2yKRMjR1QTl7leAUNeG9kVBT30ZfXF053WTWceuu5YBiiyhe+WamKED/X sj1B/mMpFKJObaa0NPpZDJmwRGAfjsltbkrquLMsEX5oZhrvQs2LqakPVr580w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712925192; a=rsa-sha256; cv=none; b=tuAU4by4Xfmq2K+A5L8Eg7EYj7glYh6CeSPXiR5qkojRHEC3iTeTcQQ5GnxgpWnhsES/4l TKfad4qeRCp3jlVzz7iQXouAF6ntQmG5Kx/2necgFVck+TMkMBzG6D74E2LAaPrjVwnGC2 sbZW8D/n8OSkH5m4bgvd9suXxH/hXzsvfgRdNe4K8puKm3zgWraA8iSJB4YbpXRJ76A/eh QKXH2nHxTnk8iMvgwA8IiA2tE52/rYoez94oAzo1yLcGZBrSYOG94afQFllM5Rq1LRWysG InRhC+tlC7tuZ4vrgaT/O5wM8Dm3s9VWgdqsJJrXBCixgDlxtnFHAbIkF/TQ8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712925192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=02ieSgaF1Kkv5WXEs2SL/d4WS0j2609RUNTzCTcoA3c=; b=XcqrgDgFIly9+DE0UWuNBdxrcC6CLAmlfE/XWQeutzNML2akWub/5owU86T19OkEisqnLd aEkpQF77YpwOXv6aXVZTQQ1MM1NxRnrGspMZtcOFIdI7SQyXjQgwEIrbjNUooFHl6mDFVl 8GF1Qv9LClmNCswS/JyCEPr7uFPZA7Tm5rJQ4f1Fi6wfiaro0nAYyyPbfw6POgXtkxvH3W svlDyfC+GU8aZ0yQC85UfPKoFvw3OtE9TLerXJA7zyW/hPwphM9u4x8oyo52/ONbyoA7Y8 bScOlWIyKdy1jBiPzKujH+qvckljefSB49JAS7nO8dPTRIeML64Sps4oMm8mZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGGF42ykgzqCb; Fri, 12 Apr 2024 12:33:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CCXCcm000806; Fri, 12 Apr 2024 12:33:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CCXCFi000803; Fri, 12 Apr 2024 12:33:12 GMT (envelope-from git) Date: Fri, 12 Apr 2024 12:33:12 GMT Message-Id: <202404121233.43CCXCFi000803@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gordon Bergling Subject: git: 38cc6c3d95d4 - main - atrtc(4): Fix a typo in a sysctl description 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: 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 38cc6c3d95d4d1156960a9c5ba69c360e36f9976 Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=38cc6c3d95d4d1156960a9c5ba69c360e36f9976 commit 38cc6c3d95d4d1156960a9c5ba69c360e36f9976 Author: Gordon Bergling AuthorDate: 2024-04-12 12:32:48 +0000 Commit: Gordon Bergling CommitDate: 2024-04-12 12:32:48 +0000 atrtc(4): Fix a typo in a sysctl description - s/emtpy/empty/ MFC after: 5 days --- sys/x86/isa/atrtc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/x86/isa/atrtc.c b/sys/x86/isa/atrtc.c index 7c42cc28566e..df0acdd499be 100644 --- a/sys/x86/isa/atrtc.c +++ b/sys/x86/isa/atrtc.c @@ -62,7 +62,7 @@ /* tunable to detect a power loss of the rtc */ static bool atrtc_power_lost = false; SYSCTL_BOOL(_machdep, OID_AUTO, atrtc_power_lost, CTLFLAG_RD, &atrtc_power_lost, - false, "RTC lost power on last power cycle (probably caused by an emtpy cmos battery)"); + false, "RTC lost power on last power cycle (probably caused by an empty cmos battery)"); /* * atrtc_lock protects low-level access to individual hardware registers. From nobody Fri Apr 12 14:31:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGJsK5bndz5HV01; Fri, 12 Apr 2024 14:31: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 4VGJsK4nVNz4d4t; Fri, 12 Apr 2024 14:31:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712932277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UdVoNZrVoklpcgIbp5mYWdpvaKizsryX8qevJB3WVGs=; b=Z1pgnDcRQnzBC+e469kZbH2cAHhS8GSs0JVusJjCVchL1ZeZwZN2TGsBNoEmJ4cTMJ4Yk8 Ykxnh4SQXvvDAp2l8nq8BLLt8VgDqgPfIpyEM5VdGaoMGUE3Ogiu3L70+fi2NGx39lBWXq AEdSJOkfl4wrgMFh9nppqlzgykVgSQqg+pEES5YfzRQY509fbQDdimTFAwaz7daNOn9tEe TqcxU9byqiobtIuU4qiq5KZtOnu9lRGUr+wHAxc76CzZKHe0lAeN7xWeiyKMPC4ad9y6Yu JBxf+BnFpt/WtI9/t+ekmirI9j2w3xGCPgOM4OdW6VUFssRw2JuVqQ+7yajycQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712932277; a=rsa-sha256; cv=none; b=VzHgOytY1p7pvYxSate4lzBImgl+oRni9HGUfuzfbVEmLwCuUH+eLDnIRsFGUDl3PXE7AJ joRRukMfmPeOWI8KN0inWtP8tAqzJGIaRtQdGmJ/ZEKrS/UpQRIYUWh/HgEqFvOAxb4fVF RdTUtX2HRat2mQsZJJiXZnRjw5MOWZxFz8sP2pJFUu5TgO3mSqwJDKsinHdYUN/8LCIsjc Oivfpju5r5BbO/wKyPLwn+jtk4fEidyXdsHM3HO59IWX8A7OaF2UNJZs7QRa/ySm7I1zmw XHN3a3UYlYF6xnkC1pB1J5qjgyWzm/mvhEDk8IVq/5os3oZqmo+sjPHCfjaI+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712932277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UdVoNZrVoklpcgIbp5mYWdpvaKizsryX8qevJB3WVGs=; b=C6qec/F02J6EWn9SMCwI0ZSUZSby7TZ298a0YmA5ooxQzT9ix/XCsZzdMBO1wd+yIDnauo 6Z6QJj0IuM5Pql3vLX2+vTO5Ea8S5Vp3Sd390sSpEXcDIdSfPcr3tMGTaBzshwhDAi9veL ywIA4Y/SV4Zlmj8MrWJaIllTlGe+gNvvOmSanKFDm5Mzt3QImpjwkfZ26g6RY6+HUCgFUc jtfoFE4oyll9KAMzlHSxaq6Z838z8RB8u7I9a+9uneiGy0LGg6kLBYqK9hUhxe3UVU16aJ WtHyf2TkzCyOR+Um6gCqt6R+IGhEs9wYUaoWuEqJz3xUgpcPJ2/WTdOcLfv4rA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGJsK4LZ1zspc; Fri, 12 Apr 2024 14:31:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CEVHwd096038; Fri, 12 Apr 2024 14:31:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CEVHFo096030; Fri, 12 Apr 2024 14:31:17 GMT (envelope-from git) Date: Fri, 12 Apr 2024 14:31:17 GMT Message-Id: <202404121431.43CEVHFo096030@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: d8925a5f42b5 - main - Support BTI in rtld 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: 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d8925a5f42b517131f926d665538be95db710c4a Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d8925a5f42b517131f926d665538be95db710c4a commit d8925a5f42b517131f926d665538be95db710c4a Author: Andrew Turner AuthorDate: 2023-04-05 12:44:31 +0000 Commit: Andrew Turner CommitDate: 2024-04-12 14:30:44 +0000 Support BTI in rtld Read the elf note to decide when to set the guard page on arm64. Reviewed by: kib Sponsored by: Arm Ltd Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39452 --- libexec/rtld-elf/aarch64/reloc.c | 47 +++++++++++++++++++++++++++++++ libexec/rtld-elf/aarch64/rtld_machdep.h | 2 ++ libexec/rtld-elf/amd64/rtld_machdep.h | 3 ++ libexec/rtld-elf/arm/rtld_machdep.h | 3 ++ libexec/rtld-elf/i386/rtld_machdep.h | 3 ++ libexec/rtld-elf/powerpc/rtld_machdep.h | 3 ++ libexec/rtld-elf/powerpc64/rtld_machdep.h | 3 ++ libexec/rtld-elf/riscv/rtld_machdep.h | 3 ++ libexec/rtld-elf/rtld.c | 3 ++ 9 files changed, 70 insertions(+) diff --git a/libexec/rtld-elf/aarch64/reloc.c b/libexec/rtld-elf/aarch64/reloc.c index 44d390c5e083..d73982e26b76 100644 --- a/libexec/rtld-elf/aarch64/reloc.c +++ b/libexec/rtld-elf/aarch64/reloc.c @@ -29,6 +29,8 @@ #include +#include + #include #include "debug.h" @@ -52,6 +54,51 @@ void *_rtld_tlsdesc_dynamic(void *); void _exit(int); +bool +arch_digest_note(struct Struct_Obj_Entry *obj __unused, const Elf_Note *note) +{ + const char *note_name; + const uint32_t *note_data; + + note_name = (const char *)(note + 1); + /* Only handle GNU notes */ + if (note->n_namesz != sizeof(ELF_NOTE_GNU) || + strncmp(note_name, ELF_NOTE_GNU, sizeof(ELF_NOTE_GNU)) != 0) + return (false); + + /* Only handle GNU property notes */ + if (note->n_type != NT_GNU_PROPERTY_TYPE_0) + return (false); + + /* + * note_data[0] - Type + * note_data[1] - Length + * note_data[2] - Data + * note_data[3] - Padding? + */ + note_data = (const uint32_t *)(note_name + note->n_namesz); + + /* Only handle AArch64 feature notes */ + if (note_data[0] != GNU_PROPERTY_AARCH64_FEATURE_1_AND) + return (false); + + /* We expect at least 4 bytes of data */ + if (note_data[1] < 4) + return (false); + + /* TODO: Only guard if HWCAP2_BTI is set */ + if ((note_data[2] & GNU_PROPERTY_AARCH64_FEATURE_1_BTI) != 0) { + struct arm64_guard_page_args guard; + + guard.addr = (uintptr_t)obj->mapbase; + guard.len = obj->mapsize; + + sysarch(ARM64_GUARD_PAGE, &guard); + } + + return (true); +} + void init_pltgot(Obj_Entry *obj) { diff --git a/libexec/rtld-elf/aarch64/rtld_machdep.h b/libexec/rtld-elf/aarch64/rtld_machdep.h index b1c5e21cb505..36e3ec3e1a4e 100644 --- a/libexec/rtld-elf/aarch64/rtld_machdep.h +++ b/libexec/rtld-elf/aarch64/rtld_machdep.h @@ -45,6 +45,8 @@ struct Struct_Obj_Entry; (const Elf_Dyn *)_dynamic_addr; \ }) +bool arch_digest_note(struct Struct_Obj_Entry *obj, const Elf_Note *note); + Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, const struct Struct_Obj_Entry *defobj, const struct Struct_Obj_Entry *obj, const Elf_Rel *rel); diff --git a/libexec/rtld-elf/amd64/rtld_machdep.h b/libexec/rtld-elf/amd64/rtld_machdep.h index 68e51c4894f4..ab23567cb6e6 100644 --- a/libexec/rtld-elf/amd64/rtld_machdep.h +++ b/libexec/rtld-elf/amd64/rtld_machdep.h @@ -39,6 +39,9 @@ struct Struct_Obj_Entry; Elf_Dyn *rtld_dynamic_addr(void); #define rtld_dynamic(obj) rtld_dynamic_addr() +/* No architecture specific notes */ +#define arch_digest_note(obj, note) false + Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, const struct Struct_Obj_Entry *obj, const struct Struct_Obj_Entry *refobj, const Elf_Rel *rel); diff --git a/libexec/rtld-elf/arm/rtld_machdep.h b/libexec/rtld-elf/arm/rtld_machdep.h index 6a08aa5eb02c..26f62547ae8e 100644 --- a/libexec/rtld-elf/arm/rtld_machdep.h +++ b/libexec/rtld-elf/arm/rtld_machdep.h @@ -39,6 +39,9 @@ struct Struct_Obj_Entry; /* Return the address of the .dynamic section in the dynamic linker. */ #define rtld_dynamic(obj) (&_DYNAMIC) +/* No architecture specific notes */ +#define arch_digest_note(obj, note) false + Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, const struct Struct_Obj_Entry *defobj, const struct Struct_Obj_Entry *obj, const Elf_Rel *rel); diff --git a/libexec/rtld-elf/i386/rtld_machdep.h b/libexec/rtld-elf/i386/rtld_machdep.h index 6afb5e069cb5..69078d56df4c 100644 --- a/libexec/rtld-elf/i386/rtld_machdep.h +++ b/libexec/rtld-elf/i386/rtld_machdep.h @@ -39,6 +39,9 @@ struct Struct_Obj_Entry; #define rtld_dynamic(obj) \ ((const Elf_Dyn *)((obj)->relocbase + (Elf_Addr)&_DYNAMIC)) +/* No architecture specific notes */ +#define arch_digest_note(obj, note) false + Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, const struct Struct_Obj_Entry *obj, const struct Struct_Obj_Entry *refobj, const Elf_Rel *rel); diff --git a/libexec/rtld-elf/powerpc/rtld_machdep.h b/libexec/rtld-elf/powerpc/rtld_machdep.h index 7b106b7e38d7..2450d58490e1 100644 --- a/libexec/rtld-elf/powerpc/rtld_machdep.h +++ b/libexec/rtld-elf/powerpc/rtld_machdep.h @@ -38,6 +38,9 @@ struct Struct_Obj_Entry; /* Return the address of the .dynamic section in the dynamic linker. */ #define rtld_dynamic(obj) (&_DYNAMIC) +/* No architecture specific notes */ +#define arch_digest_note(obj, note) false + Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, const struct Struct_Obj_Entry *defobj, const struct Struct_Obj_Entry *obj, const Elf_Rel *rel); diff --git a/libexec/rtld-elf/powerpc64/rtld_machdep.h b/libexec/rtld-elf/powerpc64/rtld_machdep.h index 7e6f13940daf..63939110356b 100644 --- a/libexec/rtld-elf/powerpc64/rtld_machdep.h +++ b/libexec/rtld-elf/powerpc64/rtld_machdep.h @@ -38,6 +38,9 @@ struct Struct_Obj_Entry; /* Return the address of the .dynamic section in the dynamic linker. */ #define rtld_dynamic(obj) (&_DYNAMIC) +/* No architecture specific notes */ +#define arch_digest_note(obj, note) false + Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, const struct Struct_Obj_Entry *defobj, const struct Struct_Obj_Entry *obj, const Elf_Rel *rel); diff --git a/libexec/rtld-elf/riscv/rtld_machdep.h b/libexec/rtld-elf/riscv/rtld_machdep.h index 023245fbe6a4..814840790902 100644 --- a/libexec/rtld-elf/riscv/rtld_machdep.h +++ b/libexec/rtld-elf/riscv/rtld_machdep.h @@ -52,6 +52,9 @@ uint64_t set_gp(struct Struct_Obj_Entry *obj); (const Elf_Dyn *)_dynamic_addr; \ }) +/* No architecture specific notes */ +#define arch_digest_note(obj, note) false + Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, const struct Struct_Obj_Entry *defobj, const struct Struct_Obj_Entry *obj, const Elf_Rel *rel); diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index ad0e426f2f0e..a46cbe4e59c8 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -1729,6 +1729,9 @@ digest_notes(Obj_Entry *obj, Elf_Addr note_start, Elf_Addr note_end) note = (const Elf_Note *)((const char *)(note + 1) + roundup2(note->n_namesz, sizeof(Elf32_Addr)) + roundup2(note->n_descsz, sizeof(Elf32_Addr)))) { + if (arch_digest_note(obj, note)) + continue; + if (note->n_namesz != sizeof(NOTE_FREEBSD_VENDOR) || note->n_descsz != sizeof(int32_t)) continue; From nobody Fri Apr 12 15:36:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGLJW0fCqz5HZ44; Fri, 12 Apr 2024 15:36: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 4VGLJV6sFqz4k4N; Fri, 12 Apr 2024 15:36:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712936187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C1I6Omu9d91Wk+7e/xGWf5fBuMzYM+HSGh2YIJUYNBc=; b=KDOtHinDUTEfocmLc8/hOFc6aZseyAA/kofB0QsjYmr9Nj1yXLN//fr4ZleBJOP7Sj/XoS xigYoNY4uoqXPf8zND1z+RozaTA/P/uitya0C2xTlbvwlzo8TRkAS2ngb/5jxjrmOwjmI4 IkVArBfPMRCyC2KQ03u2ZH0SEti1nYoaVDhak7kEUmrdosV9zjisvLkciP+0o1nv45tJQ2 VRzuaLDhiknTIE8Rqw9YISmV4X4ouzexyjwxkSbioWDTlX4GhaQtWGOpZXihUGg0xA3Q0r 21vWrMxCbgeRp1QOiZ7hTrgSJVA4tvaMcrOesuSCJztYLZpx/a9BpJORp7nUqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712936187; a=rsa-sha256; cv=none; b=GjoPLCxj8Mm+nVNzpWCuypMegYLQ4icJEg6cpIsR+dWGf7KzkM9vKVRos6PDyWkCt+2rsU 2diQoVUkQ2Czd4z3J/bQaaR5zLuBAWPvsLhimTgGW8TyBCyBzluCPXqd25ynkZP8ELpi57 8otr5ug+NqipDxkTtkaszyw6+LgGrjkjUYsVZRAaNXNNBRYHjznJTl2owoJMKV/chDP0xP Iaj3Tnl1RgBLjh7iR+8IQV3jnNDhOtq0I26w1KqmJnp5qWQmvyXMl9cja2C7sbZOHJEJmN bQSJVgEN21QcSnaHSJ+fbeSDEyD4YNdeVohTbvAEKEmtE0sXNvvY40QPO9cajA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712936187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C1I6Omu9d91Wk+7e/xGWf5fBuMzYM+HSGh2YIJUYNBc=; b=G6Zl7vzLAjeEATbET4czaz3FLzhi0yuNBu4aBiUga+BqdazgBLofzmEZGnrant6JQSiBNA Gz90G5KxlV6zswfXTwGb9v7sG9H880dxDRVId3Ev89SQfbV/TKBKpLhe6sQUzmU8SRk3A3 PplzQz7UnHkz+9utb4jb8FHq+WEJSvPCaeLn5JipF/84+tCBj7oGBSI/FVWsr0QTmGK0QY qbdzUgMi+44ND1bbY8WCWCle3wn2rx5b0ux2G4HovYIkPBlS7sHuqtNPlAVt+Q1ltlqxEy fDG0XFXnStKWWaOCRyd2KGPBi7fpNHHETOkii5v8hcNe3KjHQRXk2bBaDZjuiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGLJV6SM7zvM2; Fri, 12 Apr 2024 15:36:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CFaQF8004911; Fri, 12 Apr 2024 15:36:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CFaQ8d004908; Fri, 12 Apr 2024 15:36:26 GMT (envelope-from git) Date: Fri, 12 Apr 2024 15:36:26 GMT Message-Id: <202404121536.43CFaQ8d004908@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Murray Subject: git: 737799dfd3a8 - main - Now that D44168 has been merged to stable/14, update the manpage to correctly reflect history. 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: 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: markm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 737799dfd3a87cbbe1ff091c13a90c98e3ee21d3 Auto-Submitted: auto-generated The branch main has been updated by markm: URL: https://cgit.FreeBSD.org/src/commit/?id=737799dfd3a87cbbe1ff091c13a90c98e3ee21d3 commit 737799dfd3a87cbbe1ff091c13a90c98e3ee21d3 Author: Mark Murray AuthorDate: 2024-04-12 15:33:54 +0000 Commit: Mark Murray CommitDate: 2024-04-12 15:33:54 +0000 Now that D44168 has been merged to stable/14, update the manpage to correctly reflect history. --- lib/msun/man/lgamma.3 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/msun/man/lgamma.3 b/lib/msun/man/lgamma.3 index a77d524373fb..41d680e41bda 100644 --- a/lib/msun/man/lgamma.3 +++ b/lib/msun/man/lgamma.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 1, 2024 +.Dd April 12, 2024 .Dt LGAMMA 3 .Os .Sh NAME @@ -209,5 +209,5 @@ version of .Fn tgammal replaced the 80-bit stub version in version in -.Fx 16 , +.Fx 14.1 , thanks to an appropriate implementation from Arm. From nobody Fri Apr 12 16:52:53 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGN0k1t2Hz5HjNp; Fri, 12 Apr 2024 16:52: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 4VGN0k02XJz3x97; Fri, 12 Apr 2024 16:52:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712940774; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JbemtQpMCuHVNJVwMakJoVl866myMSENHDxVXullOWE=; b=R1a4faPFVtLkDq7GLtzDj3nRbrsMJqWKFRdsFkztr+h//KirRg/H71GmbZb+D0VTt7jG3h NDwL7BIaeYVCbvM0eAflfbCkhQF9dsVc+GMyY+AT7eCnRE/RkDaTcm7TgU1GjEIOJ8tPqc A1AJ2CfVQ8EKx19gWVgEuRf1Dz4G0jFk2AfrNElYTN4M4jw4XU7pQRgpuRKltAMJ7SqQDA B0nlQaUK4b+JhX1Bw82TdGlo1IjWJhD0xTLjmvNqfJ8/99vKo3SWkNmn54Ni65swBZA5H0 hCE1B5pBus2+7hjUGohjUCDR4rjzghZ+4aY4So7iNwCtQFh4zPCSZZk0ALq19g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712940774; a=rsa-sha256; cv=none; b=TjUFfnErIUBiHI1Dswu7X3ZnaU+LTixzHnAMcUfQcphhQn0EjlSjG7spJn9/UVQ0oNbno6 m3YrLriiAx9W6goL/HfT66ia60ezrgNK6XndkAVe4FxOnxwkD1yguEWW48p70JmMNz6mNn EsfdUE9QyHwE+A97sbA5lOt8XBxlSzhYoQL1Zjt+DPIKjeBUTvqLFCujvL3hXwzLIw/1SF CUtbuEVr6FpCaAp/koOgAfpsH/AQZS947nn0EBMYhaXXReK8nQgT0wP0DhMZZmzP52xIxB hDxB8eyAWku8eEzEY/HG5/IcCyU0DmIt8IL7LrUzuEk7egoGh6uzQ4w8/REeDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712940774; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JbemtQpMCuHVNJVwMakJoVl866myMSENHDxVXullOWE=; b=ly4QXFYjBf78YyXGDTeeze3Ihk2T14U3NqNILQy9aAGuSa7XXNlxRzke1TbDATrkJAshwo LBZ/Hcl2y86tjaBknYPBCJLUmhchH83e/AYnL5y3lF8x4kiXOby9PdZ19QdQyNbXIXiJFi CbF6HkYYo8Gh0GAfQz+zzdqc/OGdgsAR9MJD+l90ePX1T4eepxDpcEDpVqWrFTrdkw90g6 sgKipt4aI4dcKOgGecN0oDAeKMwfcE87T9nJTMRIvDHZyabHebQRSMtIkafhvBWf8EiJXl L/kO+ypfAdXJaesI3U2uIKvzD6KAKsUscKZv97eYxMqvJrIg76aaBrZlG7/p/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 4VGN0j6lmzzxn4; Fri, 12 Apr 2024 16:52:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CGqreV040046; Fri, 12 Apr 2024 16:52:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CGqrrF040043; Fri, 12 Apr 2024 16:52:53 GMT (envelope-from git) Date: Fri, 12 Apr 2024 16:52:53 GMT Message-Id: <202404121652.43CGqrrF040043@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: 122dd78c143e - main - sys/netipsec: fix IPSEC_SUPPORT for non-INET kernels 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: 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: 122dd78c143e3d138b5d503a30da4c326f41002a Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=122dd78c143e3d138b5d503a30da4c326f41002a commit 122dd78c143e3d138b5d503a30da4c326f41002a Author: Lexi Winter AuthorDate: 2024-04-12 16:30:20 +0000 Commit: Warner Losh CommitDate: 2024-04-12 16:30:22 +0000 sys/netipsec: fix IPSEC_SUPPORT for non-INET kernels The functions ipsec_kmod_udp_input() and ipsec_kmod_udp_pcbctl() are used by netinet6 for IPSEC_SUPPORT, but are guarded behind #ifdef INET. Since neither of these require INET, remove the guard so they're built even without INET. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1158 --- sys/netipsec/subr_ipsec.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/netipsec/subr_ipsec.c b/sys/netipsec/subr_ipsec.c index ce874bcd57b5..a1eb8f220525 100644 --- a/sys/netipsec/subr_ipsec.c +++ b/sys/netipsec/subr_ipsec.c @@ -328,6 +328,15 @@ static struct ipsec_support ipv4_ipsec = { .methods = NULL }; struct ipsec_support * const ipv4_ipsec_support = &ipv4_ipsec; +#endif + +#ifdef INET6 +static struct ipsec_support ipv6_ipsec = { + .enabled = 0, + .methods = NULL +}; +struct ipsec_support * const ipv6_ipsec_support = &ipv6_ipsec; +#endif IPSEC_KMOD_METHOD(int, ipsec_kmod_udp_input, sc, udp_input, METHOD_DECL(struct ipsec_support * const sc, struct mbuf *m, @@ -338,15 +347,6 @@ IPSEC_KMOD_METHOD(int, ipsec_kmod_udp_pcbctl, sc, udp_pcbctl, METHOD_DECL(struct ipsec_support * const sc, struct inpcb *inp, struct sockopt *sopt), METHOD_ARGS(inp, sopt) ) -#endif - -#ifdef INET6 -static struct ipsec_support ipv6_ipsec = { - .enabled = 0, - .methods = NULL -}; -struct ipsec_support * const ipv6_ipsec_support = &ipv6_ipsec; -#endif IPSEC_KMOD_METHOD(int, ipsec_kmod_input, sc, input, METHOD_DECL(struct ipsec_support * const sc, struct mbuf *m, From nobody Fri Apr 12 16:52:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGN0l3W9hz5HjRL; Fri, 12 Apr 2024 16:52: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 4VGN0l0hhnz3xC7; Fri, 12 Apr 2024 16:52:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712940775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/QSa8MQsflthSQ5lokVgSQOj+eBq14SyzEMwzJb/Of4=; b=gs+xrUFNxmLZdw9Ma7uftndv2xpMNO8iAtEXBQT9MiiJmL3Lf8o8wIKWFXjNQQfYSX6IeK d4/OF9QuE2hH99n1aCx4q33T29DCod+Y+S8qSgMLgePupTON+dkpR2rCWnVMhsMDJ+JdrX ez8OZqffCzuJwl79LxNaZgwn+MZ9yQX/65hji4y1nPjT86M2s4F4Iqc3jGTklADWliEmPi Ejghqrp3VhLDQPL0vp6Y5tyszImDUXBtCGY/Ik9mO9YsjliwCIJBOd/ITTrc1eCau9qNK8 NeIL9CzjRYu58hMksp/Ejq4axZzVVLMd76HnfUtEDtC2ZywH5k6C7+jffb6u+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712940775; a=rsa-sha256; cv=none; b=Hof4BvgQ3M9e8ZKwAvAxu61Jc6AvNLGDzjYmLQO8Jj+WWs4P0j4Ozv5hFS2FORK8S7W33V xaywFASc0FcJ+5BZMfNOkRPhqJ8MtClhxUY8Yqpoa/yBFOu3kViD2YK+XiVJjipYT+Kc6I CHdhRtKX613A301452V2qvoiqnRyBLQs7FQPRPThAaH4J/m1vESOd3Z9GaU9KpR6faMHgA gykV/gMUXaLQmRtdCk+zAMrViPscOiSb6wKQ0/e4kqhATOcvNeS5hNDad+9Z1FQ9Qaf3a0 7+VxipSVYvw8+8X5fT8gwCPbPxptOhL2m3nKXSuw4zLascpAoRsGq/oYmPI6YQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712940775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/QSa8MQsflthSQ5lokVgSQOj+eBq14SyzEMwzJb/Of4=; b=PO88ruFxar5hWFIIJ3RPMAL6kqjHlxUIQuZj2vQeVsIjh3inBubJVd5YOLsJntsqpDj1nH IVKk9dLRgcpArQo5CqQSzpTY3mA6SHG/rv3D9xYPn0e1uCEQ3WDOFEWTTnUzo50jDH/nnE rlCAgX/iSWaHHAG6L+ZwmATou4Z6cm9IBQGv1rO5N/fSv4ah5Wai7SxR0aLP4pZjzOB5lp lVe2QQ8fZVE/ZfhZ3iMoEUIRwVxv7ENeYNcoIWcJb8x2kJhts5BNWO10C8Ffircd6Z/THw NpSYtW009LHjixei7U2aRvoRCyLVa3fKdR1lIqDu3xoi9UXVYL/AkB0Uh8ctvg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGN0l0KC6zxlM; Fri, 12 Apr 2024 16:52:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CGqsno040093; Fri, 12 Apr 2024 16:52:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CGqskI040090; Fri, 12 Apr 2024 16:52:54 GMT (envelope-from git) Date: Fri, 12 Apr 2024 16:52:54 GMT Message-Id: <202404121652.43CGqskI040090@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: 0478a0356272 - main - sys/dev/irdma/irdma_cm: fix compile without INET 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: 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: 0478a0356272ab3907af9d97711f0bb8b14bf38b Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0478a0356272ab3907af9d97711f0bb8b14bf38b commit 0478a0356272ab3907af9d97711f0bb8b14bf38b Author: Lexi Winter AuthorDate: 2024-04-12 16:47:16 +0000 Commit: Warner Losh CommitDate: 2024-04-12 16:47:19 +0000 sys/dev/irdma/irdma_cm: fix compile without INET irdma_get_vlan_ipv4() calls ip_ifp_find() even if INET isn't defined, in which case this function isn't available. Stub this out for the non-INET case to return an error (0xffff) instead. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1156 --- sys/dev/irdma/irdma_cm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/dev/irdma/irdma_cm.c b/sys/dev/irdma/irdma_cm.c index 65cb5c643783..167e3c67390c 100644 --- a/sys/dev/irdma/irdma_cm.c +++ b/sys/dev/irdma/irdma_cm.c @@ -1664,9 +1664,11 @@ irdma_get_vlan_mac_ipv6(struct iw_cm_id *cm_id, u32 *addr, u16 *vlan_id, u8 *mac u16 irdma_get_vlan_ipv4(struct iw_cm_id *cm_id, u32 *addr) { + u16 vlan_id = 0xFFFF; + +#ifdef INET if_t netdev; struct vnet *vnet = &init_net; - u16 vlan_id = 0xFFFF; #ifdef VIMAGE vnet = irdma_cmid_to_vnet(cm_id); @@ -1676,6 +1678,7 @@ irdma_get_vlan_ipv4(struct iw_cm_id *cm_id, u32 *addr) vlan_id = rdma_vlan_dev_vlan_id(netdev); dev_put(netdev); } +#endif return vlan_id; } From nobody Fri Apr 12 16:58:15 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGN6w14r4z5HjgX; Fri, 12 Apr 2024 16:58: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 4VGN6v70Lpz40SH; Fri, 12 Apr 2024 16:58:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712941096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YigEKWeIfQ4R8peXRQ9jFsLaTtCgi96AqqcYaBPF9KU=; b=ps8/rp439fGCsCG4WlCU+sX4ASSXm0kbnLMJgbUomybdMld/2gBpX0U9l+I7xnMySYg2K6 IHHTBtSZT997Eg1SZf96ct6iMJzUpOmlGOGRnpNZCPdgRtliqIZUe0XDrAJmjV9IcAXHHR 8JQwD1H3CIearR/zjhaHIussjAcs/Fmm0jJ6dgeB3RUjMwwQvKcg0WEBemsR8YLLEe6bWw 66F6QL8Sb9AI/dMhcW6FjPtdCBCMVFYzQOn//ODsH1sBCxIvNfVeIpolCt3zF/IrbuYO6y KJBPw3c1xSRZsOy9EQOLHJ8OylZ3ugzBjYb3hY3GUrd+xer+7/SRYadHJ0mgCw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712941096; a=rsa-sha256; cv=none; b=IGHLfhfc6gjasRwKBqvQaHkbwg6qw9deCQ0DVIYl4PepQsV9NrD4URn1uYU41vXoxsTGx6 CH2CAP6o6L14QBUEgEsyoNGrFrWGa3XQJYBY51Pt2YHPpkTwI0PftTzz6LA3gxtMsjXw4f nVsxLc4f+V1oOzYf3d0/D5St+FS4El1zgJmhQJLci6lvi1p3+jPI6z2NLCoPYfZ6FIztdA zueSbcdyfQvP96lMQ+k6ND0D1pDRc1ub9Df4gv2pXCwVm4vxyVLH176lk2u6jZ/JEj4Mp1 yiYmFiFTEnmYYAS+53JiMT52awDYXRt093v/tE+u1649vxsmXIfvnjN57y9lwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712941096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YigEKWeIfQ4R8peXRQ9jFsLaTtCgi96AqqcYaBPF9KU=; b=HsCQM5jPI/tdddOosPpXa4t6gTCSPXae3l5e/J8JcT5YT/ulgI0GLhXvvKVcw37qu6pn0H 1vldTF2yVZbfKqMUdpysxicRqItLHjMorgJaQ2vi154U4dhq1t3ybQMiFBi1SsllOjglTs /lskrCiHMh3ci0hkQf5/UkzywsBPCAyOlsy4iPqb2jKby3vazA5TIKRKCxo2OujidxvcyW 6P5woAw0HzBgmdmfNTwM1fRWe3R8WE7wpNW973+K5/K01T9a73+Z4Z9oxyqYYIGP8Mqd0m a9xtMFOC0Y45/pt1v1hjFq0T1DV0Fwpj1X6VUv3N2LonycugAX2bBurpjc1+vA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGN6v6bWlzxJw; Fri, 12 Apr 2024 16:58:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CGwFpO040969; Fri, 12 Apr 2024 16:58:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CGwF6r040966; Fri, 12 Apr 2024 16:58:15 GMT (envelope-from git) Date: Fri, 12 Apr 2024 16:58:15 GMT Message-Id: <202404121658.43CGwF6r040966@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: 042fb58d009e - main - sys/netinet6/in6_pcb.c: fix compile without INET 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: 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: 042fb58d009e7efc5b334b68fffbef9b1f620ec8 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=042fb58d009e7efc5b334b68fffbef9b1f620ec8 commit 042fb58d009e7efc5b334b68fffbef9b1f620ec8 Author: Lexi Winter AuthorDate: 2024-04-12 16:54:24 +0000 Commit: Warner Losh CommitDate: 2024-04-12 16:54:27 +0000 sys/netinet6/in6_pcb.c: fix compile without INET in6_mapped_sockaddr() and in6_mapped_peeraddr() both define a local variable named 'inp', but in the non-INET case, this variable is set and never used, causing a compiler error: /src/freebsd/src/lf/sys/netinet6/in6_pcb.c:547:16: error: variable 'inp' set but not used [-Werror,-Wunused-but-set-variable] 547 | struct inpcb *inp; | ^ /src/freebsd/src/lf/sys/netinet6/in6_pcb.c:573:16: error: variable 'inp' set but not used [-Werror,-Wunused-but-set-variable] 573 | struct inpcb *inp; Fix this by guarding all the INET-specific logic, including the variable definition, behind #ifdef INET. While here, tweak formatting in in6_mapped_peeraddr() so both functions are the same. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1155 --- sys/netinet6/in6_pcb.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index d18a7283ba05..e6ec0f24c898 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -544,13 +544,13 @@ in6_getpeeraddr(struct socket *so, struct sockaddr *sa) int in6_mapped_sockaddr(struct socket *so, struct sockaddr *sa) { - struct inpcb *inp; int error; +#ifdef INET + struct inpcb *inp; inp = sotoinpcb(so); KASSERT(inp != NULL, ("in6_mapped_sockaddr: inp == NULL")); -#ifdef INET if ((inp->inp_vflag & (INP_IPV4 | INP_IPV6)) == INP_IPV4) { struct sockaddr_in sin; @@ -570,13 +570,13 @@ in6_mapped_sockaddr(struct socket *so, struct sockaddr *sa) int in6_mapped_peeraddr(struct socket *so, struct sockaddr *sa) { - struct inpcb *inp; int error; +#ifdef INET + struct inpcb *inp; inp = sotoinpcb(so); KASSERT(inp != NULL, ("in6_mapped_peeraddr: inp == NULL")); -#ifdef INET if ((inp->inp_vflag & (INP_IPV4 | INP_IPV6)) == INP_IPV4) { struct sockaddr_in sin; @@ -585,8 +585,10 @@ in6_mapped_peeraddr(struct socket *so, struct sockaddr *sa) in6_sin_2_v4mapsin6(&sin, (struct sockaddr_in6 *)sa); } else #endif - /* scope issues will be handled in in6_getpeeraddr(). */ - error = in6_getpeeraddr(so, sa); + { + /* scope issues will be handled in in6_getpeeraddr(). */ + error = in6_getpeeraddr(so, sa); + } return error; } From nobody Fri Apr 12 17:01:10 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGNBG4PZbz5Hk16; Fri, 12 Apr 2024 17:01: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 4VGNBG3yfLz40mb; Fri, 12 Apr 2024 17:01:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712941270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qj8mMBqnUVKQrAGKahYPFty+/+YBOUZrNPac3A5TL4Y=; b=Z9KNMuno9eQTwBVG8qkcEpjliqCz7ZDss9PAovnPKtvPg98bMP0UAS9giVs52EtLGYngLk zveZUSIQdZrg2nKFkYgBgtn121m27BzxRhSdsCuMBfW3zwKdANg1gBjWyt6q5+z/Tais3a hFU+hGqzRMFAssKR/onnSYzfaGumnfbrEAhSZ64mESRPBIutHigcznLVr9RvTRIR1JAv2Y QJ72X1jJ4U8x8oSs/OB+BCH+A7dxzOEFyGwlr44rH/E81UTMvLxLK0ZHTGhjP4UdF7FVM6 QOLf7MTgrF2vCdAWER+T3jQ8tCgGNZUHwqLcHjmN9w0BAGtOTSS7ca0o6rEYpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712941270; a=rsa-sha256; cv=none; b=b7Ni7P73X0WaesewnVtw/RODkAcAemSIOeAKEsm5YZ6NyqG1gLve3WNXPD3+gMkXW5AGiI lEGnsUIy/5V+Ae+FfQIAZ9owowoKStoyGWInIikfk3sNOqQmL1vMmT7N32przIaGKDRSAC rvc0R5U6LeNiGcFMNTrdeAMB+ZJ8Rj5EVNqv00ntOQi2+TAKH6/eccDRoZDuxW/7LVONw5 82ZLBsYPgof46AlEjaBn1hQotyXdRL5qABZd+jDtLOhoMxIt6wVU+El9CLharnxfcFNMyf NJqWrbq8Q/b8ENEClXemLKLJEJvlM8QE5NsmViC/ZomHJgmAVTXkFJh8eeCEpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712941270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qj8mMBqnUVKQrAGKahYPFty+/+YBOUZrNPac3A5TL4Y=; b=rGg5jZJi7LDUW7qPmfyshuYGj/98TV77lFUpt7bCKpz9ZrkrAA3lHgCoEQgPgm0mkYuhpU TzuGQ2BSGEDUxPTbUffX5hxC7Ne2tqhjZveHeVWb+5yEs72nmnJNJ09EcVyzPfrzcxZc+6 xQHd14hI2vphT8fXftjzdeE+MlGk3HLWV2oN7fVQGqysSCkJQYBlYxHK+CPX11clyvBjMq mA4mQkPhnTf/Rfcxa371TBiZ1yuHtXcUd/ahV4pQURbGI71CcQNsEqcr0EemZUw9L8DaJi BvcTx8/GDGNSRc/9HbWvgvy9R1Kpdb6FzZsRpN+efq3I/D597etO/OtgeOeOKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGNBG3Yv2zxYx; Fri, 12 Apr 2024 17:01:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CH1Ate053140; Fri, 12 Apr 2024 17:01:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CH1AEo053137; Fri, 12 Apr 2024 17:01:10 GMT (envelope-from git) Date: Fri, 12 Apr 2024 17:01:10 GMT Message-Id: <202404121701.43CH1AEo053137@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: cc0af6d5a6c2 - main - intro.1: 2024 edition 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: 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: cc0af6d5a6c2b10b8655945abdd4ab110cb11998 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=cc0af6d5a6c2b10b8655945abdd4ab110cb11998 commit cc0af6d5a6c2b10b8655945abdd4ab110cb11998 Author: Alexander Ziaee AuthorDate: 2024-04-12 16:57:54 +0000 Commit: Warner Losh CommitDate: 2024-04-12 16:58:36 +0000 intro.1: 2024 edition Modernize intro.1, attempting to preserve style and brevity, including a paragraph about installing more commands, a FILES section explaining where the commands are located and why, and adding section number to HISTORY for clarity. Advances: #248562 Reviewed by: imp, mhrone Pull Request: https://github.com/freebsd/freebsd-src/pull/1136 --- share/man/man1/intro.1 | 40 ++++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/share/man/man1/intro.1 b/share/man/man1/intro.1 index 00199e90140a..65e77ac606b7 100644 --- a/share/man/man1/intro.1 +++ b/share/man/man1/intro.1 @@ -1,3 +1,6 @@ +.\"- +.\" SPDX-License-Identifier: BSD-3-Clause +.\" .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" @@ -25,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 21, 2001 +.Dd April 12, 2024 .Dt INTRO 1 .Os .Sh NAME @@ -34,9 +37,9 @@ .Sh DESCRIPTION Section one of the manual contains most of the commands which comprise the -.Bx +.Fx user environment. -Some of the commands included in section one are +Some of the commands included with the system in section one are text editors, command shell interpreters, searching and sorting tools, file manipulation commands, @@ -46,6 +49,16 @@ compilers and compiler tools, formatted output tools, and line printer commands. .Pp +Tens of thousands of additional commands are available to be installed +with +.Xr pkg 8 , +or compiled with the +.Xr ports 7 +collection. +Some of which include web browsers, office suites, calendars, +conferencing utilities, integrated development environments, +media players, audio and video processing suites, etc. +.Pp All commands set a status value upon exit which may be tested to see if the command completed normally. Traditionally, the value 0 signifies successful @@ -53,10 +66,23 @@ completion of the command, while a value >0 indicates an error. Some commands attempt to describe the nature of the failure by using exit codes as defined in .Xr sysexits 3 , -while others simply set the status to an arbitrary value >0 (typically 1). +while others simply set the status to an arbitrary value >0 +.Pq typically 1 . +.Sh FILES +.Bl -tag -width "/usr/local/bin/tab" -compact +.It Pa /bin/ +Commands fundamental to single- and multi-user modes. +.It Pa /usr/bin/ +General commands included with the base system. +.It Pa /usr/local/bin/ +Locally installed commands from +.Xr pkg 8 or +.Xr ports 7 . +.El .Sh SEE ALSO .Xr apropos 1 , .Xr man 1 , +.Xr which 1 , .Xr intro 2 , .Xr intro 3 , .Xr sysexits 3 , @@ -64,14 +90,16 @@ while others simply set the status to an arbitrary value >0 (typically 1). .Xr intro 5 , .Xr intro 6 , .Xr intro 7 , +.Xr ports 7 , .Xr security 7 , .Xr intro 8 , +.Xr pkg 8 , .Xr intro 9 .Pp Tutorials in the .%T "UNIX User's Manual Supplementary Documents" . .Sh HISTORY The -.Nm -manual page appeared in +.Nm Ns Pq 1 +manual page first appeared in .At v6 . From nobody Fri Apr 12 17:21:09 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGNdL0h9zz5HlR3; Fri, 12 Apr 2024 17:21: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 4VGNdL0DWWz43DY; Fri, 12 Apr 2024 17:21:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712942470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uK4sX7O8WjHpvOc0R4RD9ZwKvlugkC6PONn///x40nc=; b=a53+saj4y0QOrCD5ZzslH9zsnABvku44r7he6dSAO7DbsXUbECk9idgevpDqSkv9R9/YSw /rOl9wjNKyhzvPjhIO+6qecFyMTsSguyvr/4Gmul4KiDopPET13/n+RT3emkpKYdzrje9k E8uvuLFLvI7G1DSxbhtAUeULx8Wo+TG82upOon+BAcreH2r/bUE+1yN3eqTG2oykj33C8W pNWLpCBO8caA/LHne3exNils8DunXY9Dquv6FVkcoiTcaHtzaeJOEzZDJfEnqEVqg7dgG2 TixxY036oPNw8No4EjD4vy0aZkFLs3oE51vuuP32lfHgB1z+8f4/bTZU6v+lfg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712942470; a=rsa-sha256; cv=none; b=OtmB2LJf6UVProIAlLasXZr0BWasTYPfxA/D5t/z8m2PbKvOwKDa1wfX4px7miBZmOmmrN haBPwi31N+/se2/1C0myUmb0CtaZympFcHFtUcwIdejg1dyJM28Wmf+UoFcEtflXszopfz rE0LWJoAM8TuMsA+TchrekYzseTy7njnOmZrreFs5KsiPnuxCBTayERuJvGX3sMqGiCIo7 sAHg6Sxl/rYrCqHH7W9PIulkFphqVzhjXVHySJ0pdjSt6YZfLai4w5mDLVBu9Am1m4eBY1 2tWYhuzHV/W0bp27ul6iKuslHIpatJbh8H05zC3q46W7fBRmxL5CrQ+hBiZ3KA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712942470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uK4sX7O8WjHpvOc0R4RD9ZwKvlugkC6PONn///x40nc=; b=mRORrnwpPBbUJlFtmpcTM0jiHkUgjc0Y21zVTg2PKeyo3zlo/+DLZAmjeYka51qU0EZAeU EM48YVA8WDPR/4lPGgClxTL++q5d+EWpIoe42QLnUEa8YiBPaATss0WrWT/krVc10GC5+8 Lf+Yaze5X7PwE+OHEpJaOh17Lk7MgciA6AFTUAE0B1Pd5/U/bj5nkVV4fJDli0wBNKUT0P ntBV7EEolAqbQFYLidHUR1ka4jjZkxT55+1vdTtilU3XKirbe1g+tynBelDrDa/9wrEb+s 3+VmcvIlB3+GwUZGMIZHNm6x2pwj+LyoZE2ziXiolc6HRr7EdIEws+S1ZNIyNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGNdK6wN1zy37; Fri, 12 Apr 2024 17:21:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CHL9wQ086449; Fri, 12 Apr 2024 17:21:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CHL9B6086446; Fri, 12 Apr 2024 17:21:09 GMT (envelope-from git) Date: Fri, 12 Apr 2024 17:21:09 GMT Message-Id: <202404121721.43CHL9B6086446@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ka Ho Ng Subject: git: 53b5393319dd - main - uart_snps: Register a device xref for UARTs 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: 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: khng X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 53b5393319dd7b54d63e8bf9aa82e48618552ecb Auto-Submitted: auto-generated The branch main has been updated by khng: URL: https://cgit.FreeBSD.org/src/commit/?id=53b5393319dd7b54d63e8bf9aa82e48618552ecb commit 53b5393319dd7b54d63e8bf9aa82e48618552ecb Author: Ka Ho Ng AuthorDate: 2024-04-12 16:56:42 +0000 Commit: Ka Ho Ng CommitDate: 2024-04-12 17:04:23 +0000 uart_snps: Register a device xref for UARTs This is useful for other drivers to be able to find the UART (such as the case of UARTs where hardware flow control lines are handled by another device.) Sponsored by: Juniper Networks, Inc. MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44532 --- sys/dev/uart/uart_dev_snps.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/sys/dev/uart/uart_dev_snps.c b/sys/dev/uart/uart_dev_snps.c index b6efd1948b3e..6067920e3c2a 100644 --- a/sys/dev/uart/uart_dev_snps.c +++ b/sys/dev/uart/uart_dev_snps.c @@ -223,6 +223,22 @@ snps_probe(device_t dev) return (BUS_PROBE_VENDOR); } +static int +snps_attach(device_t dev) +{ + phandle_t node; + int ret; + + ret = uart_bus_attach(dev); + if (ret == 0) { + node = ofw_bus_get_node(dev); + /* Set up phandle to dev mapping */ + OF_device_register_xref(OF_xref_from_node(node), dev); + } + + return (ret); +} + static int snps_detach(device_t dev) { @@ -269,7 +285,7 @@ snps_detach(device_t dev) static device_method_t snps_bus_methods[] = { /* Device interface */ DEVMETHOD(device_probe, snps_probe), - DEVMETHOD(device_attach, uart_bus_attach), + DEVMETHOD(device_attach, snps_attach), DEVMETHOD(device_detach, snps_detach), DEVMETHOD_END }; From nobody Fri Apr 12 17:21:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGNdM3ZtDz5HlZ0; Fri, 12 Apr 2024 17:21: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 4VGNdM1S4cz434V; Fri, 12 Apr 2024 17:21:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712942471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L/ep6Wb1yXsYez7r2DK9wSMkixE77bo3pKLMco2divo=; b=iUDdcVPdwtRJU4F6PbaGk/OO4xSWo7hp99uhvVm/sFkmFQN2NMVn4p2F/RUPRB2dH4dR9I bjKrFD1zk52GNbDNIzcEl/hmbFBm0ipuXotaIXfEjHMYH1XCUk6YYnWF9KyCHw4Ek0sqdW oWEfqbyad+T3ljyZOfaYToKWzPYj83cIauRbO961twpqfFIVDZDd7CPWaZlmeES2GhxnGk ggqaQ6CItqDRPvw++Z8OHRYa7cBx8aVjd/W46Dl02tfNm1ElKDluYHMIsKuBXJ32MsE/lh MCVxxQo9ysoBu5KLI3twwI10DT4RPf3+M3kw4uOVCaz72z4LlAwVYMnKt2OLsw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712942471; a=rsa-sha256; cv=none; b=aILgvPhoDkCUWlbZXv0NJPXpnOWsDiMqjsAkZBp+u8jsbhgXuPKzQEBUAZ4mN+tthghzuP wT0QFEivh79JOJciBcX6M3ITGTsX6BvJ8wC8rp0zbb/fZthrZw3fnHFZjdAq8sxKRpOqVe 6U5ZHWEc1I7YzXfvYz8JofDGPCBySXZk0Gv7sSuJwnbO6VbNG3y05mEI7+lJsE6UbMVCKJ gmW4OACh0j742o++QzitUqpBWLlRwBPgxNgUt5KxADWLRfw2PGSCsCGGvKnIyJbrGx1jrj cK+wJjxGmIqP2u0Th/IIq8ieCl6fsk9r8AMgnXEMnZ5r5FOtRMHIWwoNX+T+ag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712942471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L/ep6Wb1yXsYez7r2DK9wSMkixE77bo3pKLMco2divo=; b=t+4a8eSsmz0F3YLlUWXCGkozR7dKEZL36Tn42KEIq51ZhNTCcLwuYAb1liSkgzc7EeuytQ aHeKs/L9w+6vOvZs4dzs1StYLR+apsUM55LpDnCyPopyYz9bnGNFRugtmORd6g8eEdr5XP rdbO+bKRggY+TTqKwBw1UEmM/pbjywm6I1x2EBJvXeJKqwq1stJjTXvXn2kw4jZippFbKn Lb+uevJpHrHo8Em4SoyrYiTtG3NF47bv7ByEFo+6BRBSdfvonS162OFw19Ih8wZzxOXAQj SwLopL/Ao0BsdK/kOc4Mj6UdF8MqQr2PQBd/J+/lpTE/rxleO/uSPEZ6h7soPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGNdM0ngdzy38; Fri, 12 Apr 2024 17:21:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CHLBaQ086497; Fri, 12 Apr 2024 17:21:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CHLBx2086494; Fri, 12 Apr 2024 17:21:11 GMT (envelope-from git) Date: Fri, 12 Apr 2024 17:21:11 GMT Message-Id: <202404121721.43CHLBx2086494@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ka Ho Ng Subject: git: cb722b67796d - main - ibcore: Remove the use of NULL_IB_OBJECT 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: 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: khng X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb722b67796ddc700c73919183e80049c3ec17f3 Auto-Submitted: auto-generated The branch main has been updated by khng: URL: https://cgit.FreeBSD.org/src/commit/?id=cb722b67796ddc700c73919183e80049c3ec17f3 commit cb722b67796ddc700c73919183e80049c3ec17f3 Author: Ka Ho Ng AuthorDate: 2024-04-12 16:57:35 +0000 Commit: Ka Ho Ng CommitDate: 2024-04-12 17:04:23 +0000 ibcore: Remove the use of NULL_IB_OBJECT LinuxKPI's XArray implementation accepts NULL as an input as of the following commit: - linuxkpi: Accept NULL as a value in linux_xarray (3102ea3b15b6) Sponsored by: Juniper Networks, Inc. MFC after: 1 week Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44533 --- sys/ofed/drivers/infiniband/core/ib_rdma_core.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/sys/ofed/drivers/infiniband/core/ib_rdma_core.c b/sys/ofed/drivers/infiniband/core/ib_rdma_core.c index d259449f698e..456c5df9a22f 100644 --- a/sys/ofed/drivers/infiniband/core/ib_rdma_core.c +++ b/sys/ofed/drivers/infiniband/core/ib_rdma_core.c @@ -293,8 +293,6 @@ static struct ib_uobject *alloc_uobj(struct uverbs_attr_bundle *attrs, return uobj; } -#define NULL_IB_UOBJECT ((struct ib_uobject *)1) - static int idr_add_uobj(struct ib_uobject *uobj) { /* @@ -302,7 +300,7 @@ static int idr_add_uobj(struct ib_uobject *uobj) * object which isn't initialized yet. We'll replace it later on with * the real object once we commit. */ - return xa_alloc(&uobj->ufile->idr, &uobj->id, NULL_IB_UOBJECT, xa_limit_32b, + return xa_alloc(&uobj->ufile->idr, &uobj->id, NULL, xa_limit_32b, GFP_KERNEL); } @@ -325,7 +323,7 @@ lookup_get_idr_uobject(const struct uverbs_api_object *obj, * kfree() could be called at any time. */ uobj = xa_load(&ufile->idr, id); - if (!uobj || uobj == NULL_IB_UOBJECT || !kref_get_unless_zero(&uobj->ref)) + if (!uobj || !kref_get_unless_zero(&uobj->ref)) uobj = ERR_PTR(-ENOENT); rcu_read_unlock(); return uobj; @@ -589,7 +587,7 @@ static void alloc_commit_idr_uobject(struct ib_uobject *uobj) * It will be put by remove_commit_idr_uobject() */ old = xa_store(&ufile->idr, uobj->id, uobj, GFP_KERNEL); - WARN_ON(old != NULL_IB_UOBJECT); + WARN_ON(old != NULL); } static void alloc_commit_fd_uobject(struct ib_uobject *uobj) From nobody Fri Apr 12 17:30:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGNrS3lbvz5Hm52; Fri, 12 Apr 2024 17:30: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 4VGNrS2GlVz44vx; Fri, 12 Apr 2024 17:30:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712943048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a8ygm9futc+GXh9iL9hbasPzsJ+8TkXFafWtfxAW3iU=; b=vX407Fq/Ohe9clt9H2YEv8S2OSOZLZAUC5s1gk6TyIIxx3+a23fUsQFndjFwmAIxFsjV/G 3Gd0wKUu6MUEqLh5QmNlS9bOvCr1mKeqbK2tkXVxoKdNLdmw+J+Dv5XO6yu/J3GmV+RmfA b/ADc9Te4UN1MLJwLb2DcLVFo4DDphHO9mqjF9v21T/RAnG8KKNob9vV3wLOyw17D+gQR/ /ClMkqurkQhFENsTRnIfNZi1iIBu+ZFNSJBHSy/STXOjrpiw7uao9dT+j2QWAIaX6XTSDn ztHjkguNrdXwqgmuLNMPdqwI6USVnvunVzYYfPOcCRP8us373eHKrpmrzHYw+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712943048; a=rsa-sha256; cv=none; b=U3O3eSEMUxF3EP1Bkt9KU+3aaVpG46MttCDHgN3iv5VM9+mbEQlOXZ+cIvPKZOM1vy7hfY WGcWcoso1BwPUWHrgTYPC1YTzdzXSFguNrxNtzvK0lJpp5QOY8tfGllH89akb/JolOjHVt WWZa7yFIUO941L6QOz8IJRABDpwzxs/0Zcdmq/caEiF3OcUhkycp8ajjOE9GoM7Vh3e5Sz jOha6RMsq49s074+R/nUjbqS7tT6AhwpO417j9ZeKPiZMq0aflbbDtkGTQtR4k6k06IXl5 SNLYbd7le2dONs8T1O0lqzP/iJzTKUfSdGx149MJDVwPni4faIn8YJw4XyQndg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712943048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a8ygm9futc+GXh9iL9hbasPzsJ+8TkXFafWtfxAW3iU=; b=RD/Iencu6j00elGVGmNt6+EuHfyJ4GEuO9VrPi4WrWhlsYdLh9B6VDYcb791nr/jAZbwm5 Yj/dEL01QKPxfnh44ICq20FUnM95Dtt6CZ9guDtwZzb8W7IirjQoV+JDi6nA/HE3wc9rD5 HiIVrSvaryTW6GnJA/M1nYoQwQzXr1xeUH0s0F08sah+9iIFiIrticKxvsUNPm2nH9TC4S HSgliq/hd5CGeIdeTtpx/ufmJNfCzo+rI1pZhAzFJzCwfM8VzCHphI8yEH8uPAsRvOpQ89 kmZYyx3eUp4t+J3/DHIS5JRgqyCD0t78JcasLqZqqCBOPxukqmI+6lgevw2h7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGNrS1ttSzyCx; Fri, 12 Apr 2024 17:30:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CHUmLT001919; Fri, 12 Apr 2024 17:30:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CHUmbj001915; Fri, 12 Apr 2024 17:30:48 GMT (envelope-from git) Date: Fri, 12 Apr 2024 17:30:48 GMT Message-Id: <202404121730.43CHUmbj001915@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Stephen J. Kiernan" Subject: git: bfd2ce2a5a61 - main - efidev: Allow for optionally including efidev and efirtc into the kernel 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: 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: stevek X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bfd2ce2a5a61f16f2f8c98f4fbdcf47a758275ce Auto-Submitted: auto-generated The branch main has been updated by stevek: URL: https://cgit.FreeBSD.org/src/commit/?id=bfd2ce2a5a61f16f2f8c98f4fbdcf47a758275ce commit bfd2ce2a5a61f16f2f8c98f4fbdcf47a758275ce Author: Stephen J. Kiernan AuthorDate: 2024-04-10 21:44:59 +0000 Commit: Stephen J. Kiernan CommitDate: 2024-04-12 17:30:32 +0000 efidev: Allow for optionally including efidev and efirtc into the kernel Require both "efirt" and "efidev" in order to build in efidev Require both "efirt" and "efirtc" in order to build in efirtc Update FIRECRACKER, GENERIC, and NOTES for amd64 Update NOTES and std.arm for arm64 Reviewed by: imp Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D44745 --- sys/amd64/conf/FIRECRACKER | 4 ++++ sys/amd64/conf/GENERIC | 4 ++++ sys/amd64/conf/NOTES | 6 ++++++ sys/arm64/conf/NOTES | 4 +++- sys/arm64/conf/std.arm64 | 4 ++++ sys/conf/files | 4 ++-- 6 files changed, 23 insertions(+), 3 deletions(-) diff --git a/sys/amd64/conf/FIRECRACKER b/sys/amd64/conf/FIRECRACKER index 590a3059beac..b8ea17ee4a78 100644 --- a/sys/amd64/conf/FIRECRACKER +++ b/sys/amd64/conf/FIRECRACKER @@ -195,3 +195,7 @@ device pci options XENHVM # Xen HVM kernel infrastructure device xenpci # Xen HVM Hypervisor services driver device xentimer # Xen x86 PV timer device + +# EFI devices +device efidev # EFI pseudo-device +device efirtc # EFI RTC diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index cfdfb2c89d4a..f11601891efd 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -394,3 +394,7 @@ device uinput # install /dev/uinput cdev options HID_DEBUG # enable debug msgs device hid # Generic HID support options IICHID_SAMPLING # Workaround missing GPIO INTR support + +# EFI devices +device efidev # EFI pseudo-device +device efirtc # EFI RTC diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 39ecfb529be5..426db398a4ae 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -594,6 +594,12 @@ options NKPT=31 # EFI Runtime Services support options EFIRT +# EFI pseudo-device +device efidev + +# EFI RTC +device efirtc + # # HID-over-I2C support # diff --git a/sys/arm64/conf/NOTES b/sys/arm64/conf/NOTES index 128fb80b95d4..d58bc5b82f89 100644 --- a/sys/arm64/conf/NOTES +++ b/sys/arm64/conf/NOTES @@ -193,8 +193,9 @@ options EVDEV_SUPPORT # evdev support in legacy drivers device aw_cir # Pseudo devices. -options EFIRT # EFI Runtime Services device clk +device efidev # EFI pseudo-device +device efirtc # EFI RTC device phy device hwreset device nvmem @@ -212,6 +213,7 @@ device xdma # xDMA framework for SoC on-chip dma controllers # Chip-specific errata options THUNDERX_PASS_1_1_ERRATA +options EFIRT # EFI Runtime Services options FDT device acpi diff --git a/sys/arm64/conf/std.arm64 b/sys/arm64/conf/std.arm64 index eb4a0238ecdd..1b6b0e8b1812 100644 --- a/sys/arm64/conf/std.arm64 +++ b/sys/arm64/conf/std.arm64 @@ -106,3 +106,7 @@ options SMP # Symmetric MultiProcessor Kernel # More info in ntpd documentation: http://www.eecis.udel.edu/~ntp options PPS_SYNC + +# EFI devices +device efidev # EFI pseudo-device +device efirtc # EFI RTC diff --git a/sys/conf/files b/sys/conf/files index 8c62e8e7bcc7..0594392ad553 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1598,9 +1598,9 @@ dev/dwc/if_dwc.c optional dwc fdt dev/dwc/if_dwc_if.m optional dwc fdt dev/dwc/dwc1000_core.c optional dwc fdt dev/dwc/dwc1000_dma.c optional dwc fdt -dev/efidev/efidev.c optional efirt +dev/efidev/efidev.c optional efirt efidev dev/efidev/efirt.c optional efirt -dev/efidev/efirtc.c optional efirt +dev/efidev/efirtc.c optional efirt efirtc dev/e1000/if_em.c optional em \ compile-with "${NORMAL_C} -I$S/dev/e1000" dev/e1000/em_txrx.c optional em \ From nobody Fri Apr 12 17:31:46 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGNsb01hLz5Hm0V; Fri, 12 Apr 2024 17:31: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 4VGNsZ4qPmz45Q4; Fri, 12 Apr 2024 17:31:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712943106; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0UWybfp6DKjJwtWr8IH0cBFSt+VeARrHeTEYj3GSKK8=; b=BfqKGZ4+YYGp3oo5yaDhoEJ2XRVE/NKQnAtJq3jUHq8By1fFmj6hs4CRduxgjJz2veUOJV cvUSA93jOuko1WO7EtjPE9RPAcQO8c4ifJ+HnxAtorzN9IZaUleLCPUu7ANeyXNRpnCroE ZiOfmwvfwzy0UD8kdcEmqsaIS4hpCPkTTNLdVAzLZnkKAyLKY239w1PoO6ELQx+bqHIK/A duJ0iki1C5lg4p6V1jIEzrFzfUgrCYuR2jYSt9cdWZLFKStQA1l+evgCAOtLKye5oxFD6v 0/tOoTe0/RglhDqs/DROUyEbqVADuxa3vNoy2Lo/sqgY4ddIg7ucafv9Ef1gvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712943106; a=rsa-sha256; cv=none; b=Naz7rg2oADBqrtaaF2nkyM2iwgoarjN8P2lO6hIJG4XQqyIA5+HbX6EHeplTWLE6cdT/wC xzrjnQ3/MMrAXOeEuk2g5U23KhNKzuvqskG7Or4+axYYl9nIWClXvGHNI/nGRQL1FAQUyN fNlOpddIs9lH5TVaO5lvRq1FzAeg9IqzpUao9mMs+z37EA0+YAPMaRupTLQWfSaXOXy53x csk8WBkb4EqTo4d3pj90dDN3/CH6z2hzdQ9++lfw0ggtoJFNxsNxAfU16hw6x4FLcg+ECM wF2Qsuvki6ECY3XYuZZAI1XtETrTv/a069vBpEZhgDIi8uNVW29X36/cr9+hug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712943106; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0UWybfp6DKjJwtWr8IH0cBFSt+VeARrHeTEYj3GSKK8=; b=Vu3YA8MZYm8zKlKSOdL2cvvHuxgiz3rrj4++RcyJ2wmtTDem2+o4CeleKxzdxRACcchQde 9ip++FYCF8laVGiHXgKQw1Js1wwRdP3yphHde+14zgbLzMnfTCGvOsmoRBrC51pfPS8DZH hJI55t5XU0nNwIGHBRa/lSx+FFuVugXpqbTfEcxPnBNuI5QXP/k9Bc2dOBszQRjz0qe+8/ z8ttAnhuJaQ0rY+qEt3MXhAPp4+RiYwkkfGCxiacLZvotlxMoL4Y3E0+jOe8r9qxx5yJTv ED6kCrYtqHQgT2VCbl8xUaKJJejRxiWpebG+GnSqCw+NrQIKWV3BdKSYsyMATQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGNsZ4QZrzyWq; Fri, 12 Apr 2024 17:31:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CHVkkU006705; Fri, 12 Apr 2024 17:31:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CHVkee006702; Fri, 12 Apr 2024 17:31:46 GMT (envelope-from git) Date: Fri, 12 Apr 2024 17:31:46 GMT Message-Id: <202404121731.43CHVkee006702@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: e5035d08578e - main - install: Always use a temporary file. 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: 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: e5035d08578e372d40b4e2d4c3574b7583549bd6 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e5035d08578e372d40b4e2d4c3574b7583549bd6 commit e5035d08578e372d40b4e2d4c3574b7583549bd6 Author: Dag-Erling Smørgrav AuthorDate: 2024-04-12 17:30:48 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-04-12 17:31:35 +0000 install: Always use a temporary file. Previously, we would only use a temporary file if explicitly asked to with the `-S` option, and even then, only if the target file already existed. This meant that an outside observer looking for the target file might see a partial file, and might see the file disappear and then reappear. With this patch, we always use a temporary file, ensuring atomicity. The downside is slightly increased disk usage. The upside is never having to worry about, for instance, cron jobs randomly failing if they happen to run simultaneously with `make installworld`. The `-S` option is retained, partly for compatibility, and partly to control the use of `fsync(2)`, which has a non-negligible cost (approximately 10% increase in wall time for `make installworld`). MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: 0mp, brooks, imp, markj Differential Revision: https://reviews.freebsd.org/D44742 --- usr.bin/xinstall/install.1 | 30 +++++------ usr.bin/xinstall/xinstall.c | 127 ++++++++------------------------------------ 2 files changed, 33 insertions(+), 124 deletions(-) diff --git a/usr.bin/xinstall/install.1 b/usr.bin/xinstall/install.1 index a87c4508d919..c87a1f464555 100644 --- a/usr.bin/xinstall/install.1 +++ b/usr.bin/xinstall/install.1 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 4, 2022 +.Dd April 10, 2024 .Dt INSTALL 1 .Os .Sh NAME @@ -225,16 +225,18 @@ Copy the file, as if the except if the target file does not already exist or is different, then preserve the access and modification times of the source file. .It Fl S -Safe copy. -Normally, +Flush each file to disk after copying. +This has a non-negligible impact on performance, but reduces the risk +of being left with a partial file if the system crashes or loses power +shortly after .Nm -unlinks an existing target before installing the new file. -With the +runs. +.Pp +Historically, .Fl S -flag a temporary file is used and then renamed to be -the target. -The reason this is safer is that if the copy or -rename fails, the existing target is left untouched. +also enabled the use of temporary files to ensure atomicity when +replacing an existing target. +Temporary files are no longer optional. .It Fl s .Nm exec's the command @@ -300,15 +302,7 @@ Ports Collection. .Sh FILES .Bl -tag -width "INS@XXXXXX" -compact .It Pa INS@XXXXXX -If either -.Fl S -option is specified, or the -.Fl C -or -.Fl p -option is used in conjunction with the -.Fl s -option, temporary files named +Temporary files named .Pa INS@XXXXXX , where .Pa XXXXXX diff --git a/usr.bin/xinstall/xinstall.c b/usr.bin/xinstall/xinstall.c index 01e5bf0b5174..6d2f05d64e2c 100644 --- a/usr.bin/xinstall/xinstall.c +++ b/usr.bin/xinstall/xinstall.c @@ -144,7 +144,6 @@ static char *destdir, *digest, *fflags, *metafile, *tags; static int compare(int, const char *, size_t, int, const char *, size_t, char **); static char *copy(int, const char *, int, const char *, off_t); -static int create_newfile(const char *, int, struct stat *); static int create_tempfile(const char *, char *, size_t); static char *quiet_mktemp(char *template); static char *digest_file(const char *); @@ -328,10 +327,6 @@ main(int argc, char *argv[]) } } - /* need to make a temp copy so we can compare stripped version */ - if (docompare && dostrip) - safecopy = 1; - /* get group and owner id's */ if (group != NULL && !dounpriv) { if (gid_from_group(group, &gid) == -1) { @@ -572,7 +567,7 @@ do_link(const char *from_name, const char *to_name, char tmpl[MAXPATHLEN]; int ret; - if (safecopy && target_sb != NULL) { + if (target_sb != NULL) { (void)snprintf(tmpl, sizeof(tmpl), "%s.inst.XXXXXX", to_name); /* This usage is safe. */ if (quiet_mktemp(tmpl) == NULL) @@ -619,7 +614,7 @@ do_symlink(const char *from_name, const char *to_name, { char tmpl[MAXPATHLEN]; - if (safecopy && target_sb != NULL) { + if (target_sb != NULL) { (void)snprintf(tmpl, sizeof(tmpl), "%s.inst.XXXXXX", to_name); /* This usage is safe. */ if (quiet_mktemp(tmpl) == NULL) @@ -808,7 +803,7 @@ install(const char *from_name, const char *to_name, u_long fset, u_int flags) struct stat from_sb, temp_sb, to_sb; struct timespec tsb[2]; int devnull, files_match, from_fd, serrno, stripped, target; - int tempcopy, temp_fd, to_fd; + int temp_fd, to_fd; char backup[MAXPATHLEN], *p, pathbuf[MAXPATHLEN], tempfile[MAXPATHLEN]; char *digestresult; @@ -843,16 +838,6 @@ install(const char *from_name, const char *to_name, u_long fset, u_int flags) target = (lstat(to_name, &to_sb) == 0); if (dolink) { - if (target && !safecopy) { - if (to_sb.st_mode & S_IFDIR && rmdir(to_name) == -1) - err(EX_OSERR, "%s", to_name); -#if HAVE_STRUCT_STAT_ST_FLAGS - if (to_sb.st_flags & NOCHANGEBITS) - (void)chflags(to_name, - to_sb.st_flags & ~NOCHANGEBITS); -#endif - unlink(to_name); - } makelink(from_name, to_name, target ? &to_sb : NULL); return; } @@ -863,9 +848,6 @@ install(const char *from_name, const char *to_name, u_long fset, u_int flags) return; } - /* Only copy safe if the target exists. */ - tempcopy = safecopy && target; - if (!devnull && (from_fd = open(from_name, O_RDONLY, 0)) < 0) err(EX_OSERR, "%s", from_name); @@ -886,40 +868,32 @@ install(const char *from_name, const char *to_name, u_long fset, u_int flags) } if (!files_match) { - if (tempcopy) { - to_fd = create_tempfile(to_name, tempfile, - sizeof(tempfile)); - if (to_fd < 0) - err(EX_OSERR, "%s", tempfile); - } else { - if ((to_fd = create_newfile(to_name, target, - &to_sb)) < 0) - err(EX_OSERR, "%s", to_name); - if (verbose) - (void)printf("install: %s -> %s\n", - from_name, to_name); - } + to_fd = create_tempfile(to_name, tempfile, + sizeof(tempfile)); + if (to_fd < 0) + err(EX_OSERR, "%s", tempfile); if (!devnull) { - if (dostrip) - stripped = strip(tempcopy ? tempfile : to_name, - to_fd, from_name, &digestresult); - if (!stripped) - digestresult = copy(from_fd, from_name, to_fd, - tempcopy ? tempfile : to_name, from_sb.st_size); + if (dostrip) { + stripped = strip(tempfile, to_fd, from_name, + &digestresult); + } + if (!stripped) { + digestresult = copy(from_fd, from_name, to_fd, + tempfile, from_sb.st_size); + } } } if (dostrip) { if (!stripped) - (void)strip(tempcopy ? tempfile : to_name, to_fd, - NULL, &digestresult); + (void)strip(tempfile, to_fd, NULL, &digestresult); /* * Re-open our fd on the target, in case * we did not strip in-place. */ close(to_fd); - to_fd = open(tempcopy ? tempfile : to_name, O_RDONLY, 0); + to_fd = open(tempfile, O_RDONLY, 0); if (to_fd < 0) err(EX_OSERR, "stripping %s", to_name); } @@ -963,16 +937,16 @@ install(const char *from_name, const char *to_name, u_long fset, u_int flags) digestresult = digest_file(tempfile); /* - * Move the new file into place if doing a safe copy - * and the files are different (or just not compared). + * Move the new file into place if the files are different (or + * just not compared). */ - if (tempcopy && !files_match) { + if (!files_match) { #if HAVE_STRUCT_STAT_ST_FLAGS /* Try to turn off the immutable bits. */ if (to_sb.st_flags & NOCHANGEBITS) (void)chflags(to_name, to_sb.st_flags & ~NOCHANGEBITS); #endif - if (dobackup) { + if (target && dobackup) { if ((size_t)snprintf(backup, MAXPATHLEN, "%s%s", to_name, suffix) != strlen(to_name) + strlen(suffix)) { unlink(tempfile); @@ -1222,65 +1196,6 @@ create_tempfile(const char *path, char *temp, size_t tsize) return (mkstemp(temp)); } -/* - * create_newfile -- - * create a new file, overwriting an existing one if necessary - */ -static int -create_newfile(const char *path, int target, struct stat *sbp) -{ - char backup[MAXPATHLEN]; - int saved_errno = 0; - int newfd; - - if (target) { - /* - * Unlink now... avoid ETXTBSY errors later. Try to turn - * off the append/immutable bits -- if we fail, go ahead, - * it might work. - */ -#if HAVE_STRUCT_STAT_ST_FLAGS - if (sbp->st_flags & NOCHANGEBITS) - (void)chflags(path, sbp->st_flags & ~NOCHANGEBITS); -#endif - - if (dobackup) { - if ((size_t)snprintf(backup, MAXPATHLEN, "%s%s", - path, suffix) != strlen(path) + strlen(suffix)) { - saved_errno = errno; -#if HAVE_STRUCT_STAT_ST_FLAGS - if (sbp->st_flags & NOCHANGEBITS) - (void)chflags(path, sbp->st_flags); -#endif - errno = saved_errno; - errx(EX_OSERR, "%s: backup filename too long", - path); - } - (void)snprintf(backup, MAXPATHLEN, "%s%s", - path, suffix); - if (verbose) - (void)printf("install: %s -> %s\n", - path, backup); - if (rename(path, backup) < 0) { - saved_errno = errno; -#if HAVE_STRUCT_STAT_ST_FLAGS - if (sbp->st_flags & NOCHANGEBITS) - (void)chflags(path, sbp->st_flags); -#endif - errno = saved_errno; - err(EX_OSERR, "rename: %s to %s", path, backup); - } - } else - if (unlink(path) < 0) - saved_errno = errno; - } - - newfd = open(path, O_CREAT | O_RDWR | O_TRUNC, S_IRUSR | S_IWUSR); - if (newfd < 0 && saved_errno != 0) - errno = saved_errno; - return newfd; -} - /* * copy -- * copy from one file to another From nobody Fri Apr 12 17:31:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGNsc03Vvz5Hm0W; Fri, 12 Apr 2024 17:31: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 4VGNsb6bdTz45Tm; Fri, 12 Apr 2024 17:31:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712943107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z8qLfR5ZB12xV+YrvNRegVvI2OjPP8OEas4YrJZX6ik=; b=rdzLEUWzD8xP4V3xJbmKRjMfkfbCeOHOxddsIV02EXEQW1LHx+2UaWoW1x6KMbppsZcDu8 WMDRAHNPwgaiXFVC9gUBe01tc5lMeRpeuH4z6+V2Qa7C8aBpj8qWV1o8+FHKjMGb9DG963 QAFB/wcD01OvAGwypw8S/WOkJvrG2qYO10yLhduYeFYM0nlc8ae+sd+chaHBojSEW4kmAT gojyq7juzPwUQTCD0CgrVO2LQ/723d0QtKd9mzscNm5WyHen5zjM58N/m0Y8gXDFKhnPfI MxOVtZFl2yyJJz0YiFmoPisdUlZf+LfbZXg5bc+o0vqQxJZW1LMlf9a9q3ap7g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712943107; a=rsa-sha256; cv=none; b=dVhKg8gb398N5ntduuzfvHrx8oiNbH5tIWEHCHzOUi5xJ4nEAU35xCVvexI/3myCGCMx6k +K6ISm4ZF+CvBxaatSZjuTXFsF2STpA6H8Qm/sUREREYbWZ3w6eZSiKQBVEzizJ9LmSRJs 2Wq0uSbAaBxkCHCw1c4Jem9gOXL5KVluxIKBnofT3T32i0Y8rg8hn6voGKNShkGkqGfgDq 8JVDfNTB75PGx70d6gqv/E7sc8ZRFbJGnZROA7pu4RolI1roAcyc9M3UWaFXLCOZP+rtsn QbUtLNdc9sjsMk1Ab0x/A2KB1GawMoNsJz1Q25aTIPREYU0Sg25WGYsWBohNbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712943107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z8qLfR5ZB12xV+YrvNRegVvI2OjPP8OEas4YrJZX6ik=; b=PXQsA43v2CZMMhmbAvsZp1X891Mc0p/fvwAygqI8e7bvbl8o/ltjMS4LxJiMgbfSOh1uCa iEm/tsT8Wli4Mw1h/HwnnDE9wujq4aCovk62Yqgoubaw8BtSjRHci77kGJaQdS4QNMgDet Hgi8bBXGRG5NiNEAn43FusfefogF0YPuEIv9juS4Jc2nVinG4ZDWVwn199sZ1oJ3sO0kKv u43mFMfv/Cx6R6HHs3rg+O7V1dbk9bauSG7t1WkvwnItj74IWfxNfYCT/tWfTZL59TNfkv ytZsTp67uwgJDKLmX8jYWhdVvzxmZpynTdrTAX4mlzRVv9I3RO2+og9/fON9Vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGNsb5plpzy2K; Fri, 12 Apr 2024 17:31:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CHVlck006749; Fri, 12 Apr 2024 17:31:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CHVl6S006746; Fri, 12 Apr 2024 17:31:47 GMT (envelope-from git) Date: Fri, 12 Apr 2024 17:31:47 GMT Message-Id: <202404121731.43CHVl6S006746@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 17dc7017d737 - main - install: Simplify path construction. 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: 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: 17dc7017d7375b3463d65adffe1eb980b0f86795 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=17dc7017d7375b3463d65adffe1eb980b0f86795 commit 17dc7017d7375b3463d65adffe1eb980b0f86795 Author: Dag-Erling Smørgrav AuthorDate: 2024-04-12 17:30:52 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-04-12 17:31:35 +0000 install: Simplify path construction. There's no need to copy the path twice to split it into base and dir. We simply call `basename()` first, then handle the two trivial cases in which it isn't safe to call `dirname()`. While here, add an early check that the destination is not an empty string. This would always fail eventually, so it may as well fail right away. Also add a test case for this shortcut. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D44743 --- usr.bin/xinstall/tests/install_test.sh | 8 ++++++++ usr.bin/xinstall/xinstall.c | 34 +++++++++++++++++++++------------- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/usr.bin/xinstall/tests/install_test.sh b/usr.bin/xinstall/tests/install_test.sh index cbe95f0dfbf3..b35706521ec3 100755 --- a/usr.bin/xinstall/tests/install_test.sh +++ b/usr.bin/xinstall/tests/install_test.sh @@ -25,6 +25,13 @@ # # +atf_test_case copy_to_empty +copy_to_empty_body() { + printf 'test\n123\r456\r\n789\0z' >testf + atf_check -s not-exit:0 -e match:"empty string" \ + install testf "" +} + copy_to_nonexistent_with_opts() { printf 'test\n123\r456\r\n789\0z' >testf atf_check install "$@" testf copyf @@ -497,6 +504,7 @@ set_optional_exec_body() } atf_init_test_cases() { + atf_add_test_case copy_to_empty atf_add_test_case copy_to_nonexistent atf_add_test_case copy_to_nonexistent_safe atf_add_test_case copy_to_nonexistent_comparing diff --git a/usr.bin/xinstall/xinstall.c b/usr.bin/xinstall/xinstall.c index 6d2f05d64e2c..6ab0a88d5cd7 100644 --- a/usr.bin/xinstall/xinstall.c +++ b/usr.bin/xinstall/xinstall.c @@ -657,8 +657,10 @@ static void makelink(const char *from_name, const char *to_name, const struct stat *target_sb) { - char src[MAXPATHLEN], dst[MAXPATHLEN], lnk[MAXPATHLEN]; - struct stat to_sb; + char src[MAXPATHLEN], dst[MAXPATHLEN], lnk[MAXPATHLEN]; + char *to_name_copy, *d, *ld, *ls, *s; + const char *base, *dir; + struct stat to_sb; /* Try hard links first. */ if (dolink & (LN_HARD|LN_MIXED)) { @@ -719,8 +721,6 @@ makelink(const char *from_name, const char *to_name, } if (dolink & LN_RELATIVE) { - char *to_name_copy, *cp, *d, *ld, *ls, *s; - if (*from_name != '/') { /* this is already a relative link */ do_symlink(from_name, to_name, target_sb); @@ -740,17 +740,23 @@ makelink(const char *from_name, const char *to_name, to_name_copy = strdup(to_name); if (to_name_copy == NULL) err(EX_OSERR, "%s: strdup", to_name); - cp = dirname(to_name_copy); - if (realpath(cp, dst) == NULL) - err(EX_OSERR, "%s: realpath", cp); - /* .. and add the last component. */ - if (strcmp(dst, "/") != 0) { - if (strlcat(dst, "/", sizeof(dst)) > sizeof(dst)) + base = basename(to_name_copy); + if (base == to_name_copy) { + /* destination is a file in cwd */ + (void)strlcpy(dst, "./", sizeof(dst)); + } else if (base == to_name_copy + 1) { + /* destination is a file in the root */ + (void)strlcpy(dst, "/", sizeof(dst)); + } else { + /* all other cases: safe to call dirname() */ + dir = dirname(to_name_copy); + if (realpath(dir, dst) == NULL) + err(EX_OSERR, "%s: realpath", dir); + if (strcmp(dst, "/") != 0 && + strlcat(dst, "/", sizeof(dst)) > sizeof(dst)) errx(1, "resolved pathname too long"); } - strcpy(to_name_copy, to_name); - cp = basename(to_name_copy); - if (strlcat(dst, cp, sizeof(dst)) > sizeof(dst)) + if (strlcat(dst, base, sizeof(dst)) > sizeof(dst)) errx(1, "resolved pathname too long"); free(to_name_copy); @@ -834,6 +840,8 @@ install(const char *from_name, const char *to_name, u_long fset, u_int flags) } else { devnull = 1; } + if (*to_name == '\0') + errx(EX_USAGE, "destination cannot be an empty string"); target = (lstat(to_name, &to_sb) == 0); From nobody Fri Apr 12 17:31:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGNsd3xXrz5Hm3d; Fri, 12 Apr 2024 17:31: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 4VGNsd1rkQz45Q9; Fri, 12 Apr 2024 17:31:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712943109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H2f2fjTbktg2ezWeRjMyyqa0X0rsDJ7SzbvGa+3VySw=; b=nV6zbRBz7CHJcXi0perfIGIqvaFK3tsjimINjMT3OZDA6G+0zOarw7jTE9qsOQi8+PUoAB 4MAfU6O1FYGvp1MVG6xeuXU0xyykZSHdUqZh90Y+hyJqDLIzW1F46IRjObY2VL/s3wguj5 yWFp0//K5hDn51LLv0DU+Cw7uNZjD89Qj7Y17/AawVKEo40IUPIJ6B+AfyMi1QAlJ7r81J B2okXiz9erSR1QmqniN6l+cVSzN+7K9ofKJYKooZvAWDFMfxxGky3yFGkWt7EinJBa12PR qEPvSBwqPkko1jxlifzi2iUTsTrOOsqz1ZLI9wl6Aqf9CZyAcmIPlLekpPziJw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712943109; a=rsa-sha256; cv=none; b=PVOobovLY3uRtG2mQD074iSDn0co/9SEjnpH2Y7ya+Hr1vaMAZhajjNeIA389mkyPrpeeO YXGqQBHdFAGIvrSPU00M8PhHScsNWL4n6pEZL5dt0G48xlLCpWlOq1MVDTObC5Zwb8081P jLxPi2LTu5hPP7btReD79TER0yjHXz2j28AwqTjIv1qdj0RTwS1WzmHXZrbktdZKnQSERP LYXSng/u/9X3KYpbrm8lXrcerd++atWQx1FEsSKgemaZpQvGfZiXcJ3uwbiR7cOpNEea0t +UEZQsDtkB5o86HC2YKRrpUWagbOVUNOB5qQWyYGZfvT/iGDNQJgrqbouPBGkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712943109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H2f2fjTbktg2ezWeRjMyyqa0X0rsDJ7SzbvGa+3VySw=; b=xhDk0m6G1TVs99k/wgXJ0VyiJvjh8F+5Ii26oHf2I3XtUut2N9cvMBaU0WugS/82XYgwGl 41EA6TDP9mcIRAlhHOTQn/8iA7T7dVlWn+VacIYjLba6nnvIMrulRYIQsa6/40LlAI1Jny AKb1eV0zYPYuBYZvgFnMCK1NSsTjDEYAYpIebElt8t+Zr6lyhydyRHa3A30cOVhv4OG6vh RJt1V+ZVYe/JUNNvoQQV/WB8xhhmT4M/zJLXCLcJckxTtQYMoSLxSMVumWL5S4e00yVkx5 U3P3bOCHnHjx5+95tLG/BR47iyOltNJWzA3qRw6ZVyebtN6MZ9AMtn0gG06L7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGNsc667HzyD8; Fri, 12 Apr 2024 17:31:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CHVmnW006811; Fri, 12 Apr 2024 17:31:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CHVmEc006809; Fri, 12 Apr 2024 17:31:48 GMT (envelope-from git) Date: Fri, 12 Apr 2024 17:31:48 GMT Message-Id: <202404121731.43CHVmEc006809@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 4336161cc9c6 - main - install: Don't skip syncing in the common 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: 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: 4336161cc9c631d40d00adee97dfc8161b6bec9f Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=4336161cc9c631d40d00adee97dfc8161b6bec9f commit 4336161cc9c631d40d00adee97dfc8161b6bec9f Author: Dag-Erling Smørgrav AuthorDate: 2024-04-12 17:30:55 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-04-12 17:31:35 +0000 install: Don't skip syncing in the common case. In `copy()`, if no digest was requested (which is the common case), we use `copy_file_range()` to avoid needlessly copying the contents of the file into user space and back. When `copy_file_range()` returns successfully (which, again, is the common case), we simply return, and therefore never get to the point where we call `fsync()` if the `-S` option was specified. Fix this. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D44756 --- usr.bin/xinstall/xinstall.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/usr.bin/xinstall/xinstall.c b/usr.bin/xinstall/xinstall.c index 6ab0a88d5cd7..d696a8429c88 100644 --- a/usr.bin/xinstall/xinstall.c +++ b/usr.bin/xinstall/xinstall.c @@ -1232,15 +1232,12 @@ copy(int from_fd, const char *from_name, int to_fd, const char *to_name, #ifndef BOOTSTRAP_XINSTALL /* Try copy_file_range() if no digest is requested */ if (digesttype == DIGEST_NONE) { - ret = 1; - while (ret > 0) { + do { ret = copy_file_range(from_fd, NULL, to_fd, NULL, SSIZE_MAX, 0); - } - if (ret == 0) { - /* DIGEST_NONE always returns NULL */ - return (NULL); - } + } while (ret > 0); + if (ret == 0) + goto done; if (errno != EINVAL) { serrno = errno; (void)unlink(to_name); @@ -1313,6 +1310,7 @@ copy(int from_fd, const char *from_name, int to_fd, const char *to_name, err(EX_OSERR, "%s", from_name); } } +done: if (safecopy && fsync(to_fd) == -1) { serrno = errno; (void)unlink(to_name); From nobody Fri Apr 12 17:58:15 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGPS748Hxz5Hpcp; Fri, 12 Apr 2024 17:58: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 4VGPS73XdJz4Dwl; Fri, 12 Apr 2024 17:58:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712944695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DiEy7ZVKBZwlpz7Yz9ywMknL9moEikPppyCAQBNA/mc=; b=AcMdJNmZbZFXmF8yxAXG3y9dgrYJB/tGdTJT4f50DFtrvK36XLYjhjM4hnFPWFR/QPKXZ+ w5/w18pO6Gi/IzpWjiNQ4zOqu3ZwkDMskK4qspbHMN912tvs0/gRMoqhtdhAzSzC90owPN cA02vue3qgqPYdjpyfXJFh/fPIHGteUYKq7z86JeHODoj7tbcnyxsUKeCHQOsRlao/s7k6 s/jeMDIQv9+pXBgllTG5W/DOoekB6giawiO5eKZqwlwY//TsQ0Ta67CcbV97Uu4lKBkVES 5+zchUBZ3PLmx+2dPK/jNTaA9+s2nhkbDBn/BuewvEaUE+kXUJax3el8V4cixw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712944695; a=rsa-sha256; cv=none; b=O7uQ5cKKHw9V4O2oYW6rcco61KDFa9KUqolYj2Pv/zAtYKF6K0KS0tC3zPMaufEeUiGL6K RIm+p5CigFeLyIHWNUWwcbVob471jq0NlryqkZroFq7xPq0Ay0VU+3d91uzdpZAVkywW4K CISeUr9IeQUemFrTksJd8pW7fp4iJPg/8VpQd4qYITlseUr1k3ZOymncF57fiAKxkR4GEt mLYBBI3DyxL5UckgPiUFhmVO3GGH2p99E0KNe2RQm6FLQVN8BUhM2rRuSpB8forKiFvXAw LHWGZkxYngNw2FTQatt12xRZ5r/0v03VvOsmNb8iHmZIsfNZlRF8wnXf4V/uLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712944695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DiEy7ZVKBZwlpz7Yz9ywMknL9moEikPppyCAQBNA/mc=; b=jheZzMGFu3SzSWtNwIpoTKx7fb4i0AeXq4/jF9K7Ak/gYLeI3ncLks/U7/aqgUgnIhOpZE g7jATS05E+PYTvQP0AhJZPaljlo9WJm9TQXx43LHe/4pq8JReE4fCmtk9zU/+2VGWZK9LE zNIj9e2IkVToUs8++fNGwXJ+5pVHKRackTfrCd+ZWHOhKaS0JeUNEUGLOHi+v9p0ieziml UC1V90VKXkXaiN06wWSc9IEP3XozLpsVKQIjz4+tjHR1QVR8HQ4OcUnmTgs8VuBVZDGzFX QakOIsGkQnPRTFmsteEgQmKtvVGanjgrFB9m7qRfYvyULp1OihZLk0UYW+Z+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 4VGPS72x7sz1076; Fri, 12 Apr 2024 17:58:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CHwFiY043836; Fri, 12 Apr 2024 17:58:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CHwFYV043833; Fri, 12 Apr 2024 17:58:15 GMT (envelope-from git) Date: Fri, 12 Apr 2024 17:58:15 GMT Message-Id: <202404121758.43CHwFYV043833@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 6c87aed39c30 - main - release: Support r/o /usr/ports for cloudware 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: 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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6c87aed39c3053cd338c1ec18fba5b1d773beca9 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=6c87aed39c3053cd338c1ec18fba5b1d773beca9 commit 6c87aed39c3053cd338c1ec18fba5b1d773beca9 Author: Colin Percival AuthorDate: 2024-04-12 17:20:25 +0000 Commit: Colin Percival CommitDate: 2024-04-12 17:58:09 +0000 release: Support r/o /usr/ports for cloudware Set WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles when building tools needed for uploading cloudware images. While I'm here, adjust the bsdec2-image-upload build target to match the style used by the Azure/GCE/Vagrant Makefiles. MFC after: 3 days --- release/Makefile.azure | 4 +++- release/Makefile.ec2 | 16 ++++++++++------ release/Makefile.gce | 8 ++++++-- release/Makefile.vagrant | 4 +++- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/release/Makefile.azure b/release/Makefile.azure index a8f59282a09c..36f3f8715de1 100644 --- a/release/Makefile.azure +++ b/release/Makefile.azure @@ -37,7 +37,9 @@ azure-check-depends: . endif env ASSUME_ALWAYS_YES=yes pkg install -y sysutils/py-azure-cli . else - env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/sysutils/py-azure-cli BATCH=1 all install clean + env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/sysutils/py-azure-cli \ + BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \ + all install clean . endif .endif diff --git a/release/Makefile.ec2 b/release/Makefile.ec2 index c674c967ff57..8f5f6f205779 100644 --- a/release/Makefile.ec2 +++ b/release/Makefile.ec2 @@ -40,13 +40,17 @@ CW_EC2_PORTINSTALL= .endif cw-ec2-portinstall: -.if exists(${PORTSDIR}/net/bsdec2-image-upload/Makefile) - env - UNAME_r=${UNAME_r} PATH=$$PATH make -C ${PORTSDIR}/net/bsdec2-image-upload BATCH=1 all install clean -.else -. if !exists(/usr/local/sbin/pkg-static) - env ASSUME_ALWAYS_YES=yes pkg bootstrap -y -. endif +.if !exists(/usr/local/bin/bsdec2-image-upload) +. if !exists(${PORTSDIR}/net/bsdec2-image-upload/Makefile) +. if !exists(/usr/local/sbin/pkg-static) + env ASSUME_ALWAYS_YES=yes pkg bootstrap -yf +. endif env ASSUME_ALWAYS_YES=yes pkg install -y net/bsdec2-image-upload +. else + env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/net/bsdec2-image-upload \ + BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \ + all install clean +. endif .endif @touch ${.TARGET} diff --git a/release/Makefile.gce b/release/Makefile.gce index 2bfdf4edc246..51dc5e3436e2 100644 --- a/release/Makefile.gce +++ b/release/Makefile.gce @@ -43,8 +43,12 @@ gce-check-depends: env ASSUME_ALWAYS_YES=yes pkg install -y net/google-cloud-sdk \ lang/python . else - env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/net/google-cloud-sdk BATCH=1 all install clean - env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/lang/python BATCH=1 all install clean + env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/net/google-cloud-sdk \ + BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \ + all install clean + env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/lang/python \ + BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \ + all install clean . endif .endif diff --git a/release/Makefile.vagrant b/release/Makefile.vagrant index bcfbf9a5a6f7..d8f3c14e9498 100644 --- a/release/Makefile.vagrant +++ b/release/Makefile.vagrant @@ -57,7 +57,9 @@ vagrant-check-depends: . endif env ASSUME_ALWAYS_YES=yes pkg install -y curl . else - env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/ftp/curl BATCH=1 all install clean + env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/ftp/curl \ + BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \ + all install clean . endif .endif From nobody Fri Apr 12 17:58:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGPS84jcQz5HpS7; Fri, 12 Apr 2024 17:58: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 4VGPS84Bc7z4F1w; Fri, 12 Apr 2024 17:58:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712944696; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oQSKXEffL+WsL36uPoADXmsBZU7oBT8CNbSH4+Tts7E=; b=Y4QhRW44anzcLarjjhYVss4qnioboByAbQx3C6FKVPOIdN6ND5Qbis9KoaY1X/yPlDPAyH LqbcMg4WyShTQsLNDNs6F6/w67+kUBZMmr3KsPepFqjRQFyno2nbDufLEjQ48nai627gJD O+Ew1JZjzj2BFHG7AmQMj/+nGoZwqTLcpNuYeYj9GHU5RpKwco2QeQfQGXplTcsQQK+uqv zO5dc7DP+C4B8rbd+A4DdrlQTzYxB/kvsekGmGkkOyLJtfhjY+9NY7i2jI3O0lkVH2DqZY Na1lggXUL/egIG17ITcqbfLqhBfGFXjodiJQQcpkIevKC+T9kQdVPX8cutKWRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712944696; a=rsa-sha256; cv=none; b=smnSFpGPq8XK9RQhEP40qWmjg8iycwqoDssQpjpgHiNw/MgSJuw9ufNWgRd5+ZMlbEcbQm PsZYjtesBn0pNjas3Njt3k4a3AsDCUNdaIS8/aANKPjbTMoGaggOni1mEmziYkpNFfl1PT XI5XZaf6UJrKSJVEgOmd/80+1k9wE7LtFWbhEgQE5wOsVWvbrsNvFZIjDpYcY7WF30VfsX p9QfDLfDV7bb2zrc+x43rAj1N8xemh5dy61L4Y7pjJ5VEaeJtUo35jjxRLihAgLVWAITS+ OrC0ass0zeokLtcePo3jSX0+qE1Yp7OAP7e4YZp5ulxZFNyI1MP5sTky+qC0Jg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712944696; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oQSKXEffL+WsL36uPoADXmsBZU7oBT8CNbSH4+Tts7E=; b=KR4OdwkA4XIKrHxK2Av7RqQSulXjWm/3iOwk+mSL7Hamabh2pou6Dh1BWrqO19JzNocMaf ClM4QRrpWvoU+TnTXXcNamoMXxMB49DE3exBHiPJT+WuKYaKqsWntcCGj6caXOQwxtiLZO 216H3PAoxXsck95Ex7E+D8hk01FYHkoxInUWFc9BK2OaEMmv9IaiLWybFRN1sVwreZ1qOP 9prJ9IYbPPcER6ZqFR+fTJws9NBZV02Ih7M8Eptp5Rt8/cpkUnDkD6KDQG+EqgeaNiBJ2Y YyKGiAn/YZMtg3tZm5x6Vh2gk7z7W8XcZ0F2wdrSfUREqZjhpeI5xDLwamZX4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGPS83pD7z102P; Fri, 12 Apr 2024 17:58:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CHwGjg043884; Fri, 12 Apr 2024 17:58:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CHwG1u043881; Fri, 12 Apr 2024 17:58:16 GMT (envelope-from git) Date: Fri, 12 Apr 2024 17:58:16 GMT Message-Id: <202404121758.43CHwG1u043881@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 6c3e01bf8578 - main - release: Randomize powerpc boot block file 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: 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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6c3e01bf8578de54abc019832d799de80da7378c Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=6c3e01bf8578de54abc019832d799de80da7378c commit 6c3e01bf8578de54abc019832d799de80da7378c Author: Colin Percival AuthorDate: 2024-04-12 17:42:05 +0000 Commit: Colin Percival CommitDate: 2024-04-12 17:58:09 +0000 release: Randomize powerpc boot block file name With parallel builds enabled, we can end up building multiple ISOs at once, which causes problems if mkisoimages.sh uses a consistent file name "/tmp/hfs-boot-block". MFC after: 3 days --- release/powerpc/mkisoimages.sh | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/release/powerpc/mkisoimages.sh b/release/powerpc/mkisoimages.sh index 8a802e6c62ae..e030ee41691c 100644 --- a/release/powerpc/mkisoimages.sh +++ b/release/powerpc/mkisoimages.sh @@ -67,14 +67,15 @@ fi if [ -n "$bootable" ]; then echo "Building bootable disc" + BOOTBLOCK=$(mktemp /tmp/hfs-boot-block.XXXXXX) + # Apple boot code - uudecode -o /tmp/hfs-boot-block.bz2 "`dirname "$0"`/hfs-boot.bz2.uu" - bzip2 -d /tmp/hfs-boot-block.bz2 - OFFSET=$(hd /tmp/hfs-boot-block | grep 'Loader START' | cut -f 1 -d ' ') + uudecode "`dirname "$0"`/hfs-boot.bz2.uu" | bunzip2 > $BOOTBLOCK + OFFSET=$(hd $BOOTBLOCK | grep 'Loader START' | cut -f 1 -d ' ') OFFSET=0x$(echo 0x$OFFSET | awk '{printf("%x\n",$1/512);}') - dd if="$BASEBITSDIR/boot/loader" of=/tmp/hfs-boot-block seek=$OFFSET conv=notrunc + dd if="$BASEBITSDIR/boot/loader" of=$BOOTBLOCK seek=$OFFSET conv=notrunc - bootable="-o bootimage=macppc;/tmp/hfs-boot-block -o no-emul-boot" + bootable="-o bootimage=macppc;$BOOTBLOCK -o no-emul-boot" # pSeries/PAPR boot code mkdir -p "$BASEBITSDIR/ppc/chrp" @@ -108,7 +109,9 @@ if [ -n "${METALOG}" ]; then fi makefs -D -N ${BASEBITSDIR}/etc -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$MAKEFSARG" "$@" rm -f "$BASEBITSDIR/etc/fstab" -rm -f /tmp/hfs-boot-block +if [ n "$bootable" ]; then + rm $BOOTBLOCK +fi rm -rf "$BASEBITSDIR/ppc" if [ -n "${METALOG}" ]; then rm ${metalogfilename} From nobody Fri Apr 12 18:33:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGQDJ2ld6z5Hrtn; Fri, 12 Apr 2024 18:33: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 4VGQDJ226qz4J1J; Fri, 12 Apr 2024 18:33:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712946784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hriYcpkGk+kuhzdl6hDaNIa7MDk3JgsXqUjBwdA/lGQ=; b=ltmGs6xHXsuO3M2ujVPwVIUbMcNggTW3/ntuGLSoADy8ETXQRtgTGGLnWMhCYLohieWC4c WBP82tQoTudNeweygMXSwdtcyBKCNisVmRjOVSBsqEUvTMJNXee/P0Kp70cf92w/cakjhV YcbIYk8xIAkmBo5s9ZcRscxjpuBO3DaDnVLXlVr7XIBC7onE79V5ShnyXxyzjBCrf39oBD IZAYWFzT/9kq+G3Af7MggOGhJta+k4Id44U4NZgNkNpe/oRhp8b/UgbosmzRhCT/raCYKR jC/Qnpr87lCkgFzFAwb7bFRVjny5PASYi3yjTdbalsrNpKW+1LpXP5HG+5zhig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712946784; a=rsa-sha256; cv=none; b=OsW3tHH4LdsFVpwlWKYLxAtDjOG5M4TkoIRLLYDIQeVhYY4yMahsKxKpduacg2EwMCvRcU BYmzZAaDjGL71/SYEJnW1RjAMzQp68IvGGqlb+ByETYc05M5WCyExi3ki9HnzemzRlefST +4wXdgm24nxFXAJDz/DmfgVC/Pb3w2a8adxR1cnWDTosgHl52xCY4sNqByFv9vAdc4Zpbs 4WK2ujrKdcJeQKdFMSaT7OUcKm2mkxQK1PFEm//eMwz0+fPsjRTYNY6mUZ9aNsXNMnFO1I Y1Jm1OTinUh5lshv6b/A1o1xAZtTNE5GeExaSWIZfzixcEVD0WtvEWLJsachqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712946784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hriYcpkGk+kuhzdl6hDaNIa7MDk3JgsXqUjBwdA/lGQ=; b=UpnzUhqi+irhEevAM3Az5RcZqniXGVmk5S8O8r3+LUmIxO3JOgZM9ETrcxYf6kVZvvCwe4 F8OmAxfnvke+L+rnBuTheRy0KazmBhbi8ldAJExuxvLg+MQ9yj8IpSD6L9IuEcui+TxFWw j0Yogs6oMbx/fEDxcyXm5VmFUqoQq+PiRvIbJ2SrtGWBJ8iayikpzQOFaWoC1hkda1pgRe xzj/0cl5dg4HXevdKIBMvwCecsYwl36qwiFH5RHr0dGcLjn9yIorL6QWCoKjyyfnECaIwW kc7ryyO5GgggxYM/wPiOyhLANFSc1F8IFimb8z9+xWBFDXyS9Mue1srBpZ7HMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGQDJ1dLDz10hl; Fri, 12 Apr 2024 18:33:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CIX4GT010781; Fri, 12 Apr 2024 18:33:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CIX4WT010778; Fri, 12 Apr 2024 18:33:04 GMT (envelope-from git) Date: Fri, 12 Apr 2024 18:33:04 GMT Message-Id: <202404121833.43CIX4WT010778@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: 22ddb5bb83a2 - main - math: Add long double constant definitions 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: 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: 22ddb5bb83a2c963821c96317318389d07300d2e Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=22ddb5bb83a2c963821c96317318389d07300d2e commit 22ddb5bb83a2c963821c96317318389d07300d2e Author: Collin Funk AuthorDate: 2024-04-12 17:12:59 +0000 Commit: Warner Losh CommitDate: 2024-04-12 18:30:58 +0000 math: Add long double constant definitions These constants are GNU libc extensions that are likely to be adopted by the next POSIX revision [1]. The definitions can be verified in a PARI-GP shell session: * M_El: exp (1) * M_LOG2El: log (exp (1)) / log (2) * M_LOG10El: log (exp (1)) / log (10) * M_LN2l: log (2) * M_LN10l: log (10) * M_PIl: Pi * M_PI_2l: Pi / 2 * M_PI_4l: Pi / 4 * M_1_PIl: 1 / Pi * M_2_PIl: 2 / Pi * M_2_SQRTPIl: 2 / sqrt (Pi) * M_SQRT2l: sqrt (2) * M_SQRT1_2l: 1 / sqrt (2) [1] https://austingroupbugs.net/view.php?id=828 Put these behind __BSD_VISIBLE || __XSI_VISIBLE >= 800 to future-proof these changes. They shouldn't be defined at lower levels of XSI, but don't have other XSI 800 stuff in place yet. Signed-off-by: Collin Funk Reviewed by: imp, allanjude Pull Request: https://github.com/freebsd/freebsd-src/pull/1121 --- lib/msun/src/math.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/msun/src/math.h b/lib/msun/src/math.h index 5fc359ead158..0abf4b605fb8 100644 --- a/lib/msun/src/math.h +++ b/lib/msun/src/math.h @@ -142,6 +142,22 @@ typedef __float_t float_t; #define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ #define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ +#if __BSD_VISIBLE || __XSI_VISIBLE >= 800 +#define M_El 2.718281828459045235360287471352662498L /* e */ +#define M_LOG2El 1.442695040888963407359924681001892137L /* log_2 e */ +#define M_LOG10El 0.434294481903251827651128918916605082L /* log_10 e */ +#define M_LN2l 0.693147180559945309417232121458176568L /* log_e 2 */ +#define M_LN10l 2.302585092994045684017991454684364208L /* log_e 10 */ +#define M_PIl 3.141592653589793238462643383279502884L /* pi */ +#define M_PI_2l 1.570796326794896619231321691639751442L /* pi/2 */ +#define M_PI_4l 0.785398163397448309615660845819875721L /* pi/4 */ +#define M_1_PIl 0.318309886183790671537767526745028724L /* 1/pi */ +#define M_2_PIl 0.636619772367581343075535053490057448L /* 2/pi */ +#define M_2_SQRTPIl 1.128379167095512573896158903121545172L /* 2/sqrt(pi) */ +#define M_SQRT2l 1.414213562373095048801688724209698079L /* sqrt(2) */ +#define M_SQRT1_2l 0.707106781186547524400844362104849039L /* 1/sqrt(2) */ +#endif /* __BSD_VISIBLE || __XSI_VISIBLE >= 800 */ + #define MAXFLOAT ((float)3.40282346638528860e+38) extern int signgam; #endif /* __BSD_VISIBLE || __XSI_VISIBLE */ From nobody Fri Apr 12 18:34:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGQG72q6Jz5HrmN; Fri, 12 Apr 2024 18:34:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-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 4VGQG72Hb3z4JWy; Fri, 12 Apr 2024 18:34:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712946879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oCzp3HsebgCm2ufOGkTFnIhkTbM83LpInFxSsB9d0w4=; b=MZ1oOQyFuZ6rzHa6kO9IlgSINtLJROzkVIts7ZQn1JS/RrLWK+GJP4xBHYXPQtXRGtFyKz tSvFtvaCH10ZEV3p9bjfANhJ2V0RdWaENPx0yoJ8B7qrSwx8/Yik/SwE2bvRsL8uITqLja yR8pfuoBxT3ujWEGhVKJfnBf3zJB8EagwZF+cgqymy8h/SUVDr3qIYmrY6lg6c/+B1fcCW wW0Q9jadOyGu3arw/b8WHzyPJ/4q8Ocq6ioyc1nBEMKWBnRkeGosfrnWxxu76AAtM5bCYo 3g9dvAdfygF5HHMxRu1+zPVb3coAeQaOSxe/L945zNAJA2J3OiX9hr6N9/NFUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712946879; a=rsa-sha256; cv=none; b=nChzQJKUh+Fe8iz/xBQQdQpcSnpQvr5ithjDIyLqAwzzZOsTgEzDDAaRYhfpvyHJefq6GO kJEALXgltC/b6W6amSKtjElJ3ZX1RHAvG67JK9zf7nRrk+uKquS/cxpjv44BtH9ct3ocOe VJytXYrvszAoc3eXE8e/YyOjL9Tg1HwrIBAkHQDDCR2AcD+6uKhy+WH8xaPhEyLoQs6GTM UelzrozeUAX1bKtIhnU6i74MiHFRmwDc7lraRoNA9QTIUGqNezTMbRnPQIm1q7fgS9yg/2 KqwO5eLKPT9tMnxNYoi1PCQ12hbNeKOZSFmMYmIYK/XJg5zXYRf/j5FKxa2FgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712946879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oCzp3HsebgCm2ufOGkTFnIhkTbM83LpInFxSsB9d0w4=; b=gf6EJ5+Hidpn1+1me4XnL63oEYemuAECWmzD0/91VbwnPtu5eY3CtlIHP6pLeYaivliy7E IZPM9HqHAKVKFylF2XNr2xR7Hd60FmJfsEaZepJPCoksJL78aUIMhr33yrIcUTH2JNYd6M mjVtXomng6c6sM4NL26uZN09QUM4dvap0jRf94dByrDjCU3U0AAkOix8/7oNfWyanYuzCG Y+dvFgiPApbTJMvmI7cyoosNjhjbAfCoDFyPJEHCIAiY8+n47U0dGSrcA1G84OOXi8/ixz iRC6pCKvdtkZnsEZqC2nu9+FUGkeJWK3N8s7Rak1f+G85P02shJgviuD7zTtJw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGQG71bH5z116b; Fri, 12 Apr 2024 18:34:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CIYdKX011134; Fri, 12 Apr 2024 18:34:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CIYdQl011131; Fri, 12 Apr 2024 18:34:39 GMT (envelope-from git) Date: Fri, 12 Apr 2024 18:34:39 GMT Message-Id: <202404121834.43CIYdQl011131@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 4f854658c5d6 - main - sound: Update some LICENSE headers 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: 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: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4f854658c5d6ca98c822491991052574d948617d Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=4f854658c5d6ca98c822491991052574d948617d commit 4f854658c5d6ca98c822491991052574d948617d Author: Christos Margiolis AuthorDate: 2024-04-12 18:34:27 +0000 Commit: Christos Margiolis CommitDate: 2024-04-12 18:34:27 +0000 sound: Update some LICENSE headers The following commits introduced substantial changes to pcm/dsp.c, pcm/sndstat.c and pcm/sound.c. 9da3b645dbaaad724d524727d003fed7be05ff7c ("sound: Move sndstat_prepare_pcm() to pcm/sndstat.c and remove sndstat_entry->handler") e8c0d15a64fadb4a330f2da7244becaac161bb70 ("sound: Get rid of snd_clone and use DEVFS_CDEVPRIV(9)") Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D44757 --- sys/dev/sound/pcm/dsp.c | 4 ++++ sys/dev/sound/pcm/sndstat.c | 4 ++++ sys/dev/sound/pcm/sound.c | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index 4112e87ba527..f685d7e38f6d 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -5,6 +5,10 @@ * Portions Copyright (c) Ryan Beasley - GSoC 2006 * Copyright (c) 1999 Cameron Grant * All rights reserved. + * Copyright (c) 2024 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * 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 diff --git a/sys/dev/sound/pcm/sndstat.c b/sys/dev/sound/pcm/sndstat.c index 0279060181b3..ef006a580d40 100644 --- a/sys/dev/sound/pcm/sndstat.c +++ b/sys/dev/sound/pcm/sndstat.c @@ -5,6 +5,10 @@ * Copyright (c) 2001 Cameron Grant * Copyright (c) 2020 The FreeBSD Foundation * All rights reserved. + * Copyright (c) 2024 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Portions of this software were developed by Ka Ho Ng * under sponsorship from the FreeBSD Foundation. diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index 1517126210c4..52ead91853e9 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -6,6 +6,10 @@ * Copyright (c) 1999 Cameron Grant * Copyright (c) 1997 Luigi Rizzo * All rights reserved. + * Copyright (c) 2024 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * 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 From nobody Fri Apr 12 19:29:40 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGRTr0hKbz5Hwyq; Fri, 12 Apr 2024 19:29:52 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) 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)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VGRTp4pXkz4RQT; Fri, 12 Apr 2024 19:29:50 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of bzeeb-lists@lists.zabbadoz.net designates 195.201.62.131 as permitted sender) smtp.mailfrom=bzeeb-lists@lists.zabbadoz.net 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 DB46E8D4A177; Fri, 12 Apr 2024 19:29:42 +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 86B892D029D8; Fri, 12 Apr 2024 19:29:42 +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 NMeyl30zHQ20; Fri, 12 Apr 2024 19:29:41 +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 749772D029D2; Fri, 12 Apr 2024 19:29:41 +0000 (UTC) Date: Fri, 12 Apr 2024 19:29:40 +0000 (UTC) From: "Bjoern A. Zeeb" To: "Stephen J. Kiernan" cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 22ca6db50f4e - main - config.mk: Add MK_VIMAGE knob In-Reply-To: <202404091707.439H7vOb043582@gitrepo.freebsd.org> Message-ID: <5op16p78-969n-61p6-q049-o34ps2n04677@yvfgf.mnoonqbm.arg> References: <202404091707.439H7vOb043582@gitrepo.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: X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.28 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.98)[-0.978]; R_SPF_ALLOW(-0.20)[+ip4:195.201.62.131]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ASN(0.00)[asn:24940, ipnet:195.201.0.0/16, country:DE]; MIME_TRACE(0.00)[0:+]; MISSING_XM_UA(0.00)[]; TO_DN_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; R_DKIM_NA(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-main@FreeBSD.org]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[zabbadoz.net]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4VGRTp4pXkz4RQT On Tue, 9 Apr 2024, Stephen J. Kiernan wrote: > The branch main has been updated by stevek: > > URL: https://cgit.FreeBSD.org/src/commit/?id=22ca6db50f4e6bd75a141f57cf953d8de6531a06 > > commit 22ca6db50f4e6bd75a141f57cf953d8de6531a06 > Author: Stephen J. Kiernan > AuthorDate: 2024-04-09 17:04:24 +0000 > Commit: Stephen J. Kiernan > CommitDate: 2024-04-09 17:05:56 +0000 > > config.mk: Add MK_VIMAGE knob > > Default to VIMAGE as yes. > Add VIMAGE to __DEFAULT_DEPENDENT_OPTIONS (to define VIMAGE_SUPPORT) > > Only output VIMAGE to opt_global.h when VIMAGE support is wanted. > > Obtained from: Juniper Networks, Inc. > Differential Revision: https://reviews.freebsd.org/D39636 > --- > share/mk/src.opts.mk | 2 ++ > sys/conf/config.mk | 2 ++ > sys/conf/kern.opts.mk | 4 +++- > 3 files changed, 7 insertions(+), 1 deletion(-) I now see: cat: /usr/obj/usr/src/src.git/amd64.amd64/sys/FOO/opt_vimage.h: No such file or directory during builds. I made sure I cleaned the sys/FOO obj tree. Any ideas? -- Bjoern A. Zeeb r15:7 From nobody Fri Apr 12 19:39:51 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGRjM68ydz5HxTp; Fri, 12 Apr 2024 19:39: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 4VGRjM5R8Zz4TKq; Fri, 12 Apr 2024 19:39:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712950791; h=from:from:reply-to:subject:subject: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+boC9KsUZ0DmXUudiE/hxJ7T3gL0JhGBdFZzSsBxnA=; b=ogXWQFyeBdzQqB2Gj6nLPFBAmNSyKQpaOOo9/GK5v3q/e/uJs1mE5armC2dpFZtZrFkILE ICT/Q4SYCDnrGPrwpj3Qn8yP/AvFZpcX8MQ0/YbLj8k87h3VD+swdB2dM5iSw7hUN4satK KINuDD6fcPeOWZou2fI6ZruBOGwQ0Z2EeIqltnd4al6xW3ujXI+nUEXoh9Et7hE4etjRLu VqKhIqm60h2ZEj95dsckVxnHDT5WPWUeT2hMMoITDbZLChYbudTJ1BA2VA+TR69lASu0x0 J7pOZvU+VehJkhiZZeeDzG6UdG7+otkba5efsYhoih6+ThEfPQoEMqniU/1L8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712950791; a=rsa-sha256; cv=none; b=gi3Fn9YN6c2CSzMb8i2zQtSr6jmuZsGaHNZYz21tbYiY3c495psbc9AWMt9DYMuzg+rq7c wmhAoYr/EhrfBvL9bFH+hxeXVrP4F4VUao2Kb1+WuFHmdpbwtk9Xu22uCiDR/4+DyH+wQe LrxONryPrCaJM86g9PnGcHLPAxYnkjNfXRFh6b3p3HHcztU80MKFGcMPgGfjVrEEpBRxGz cxi26g+1I2incSKa4p1JVs84QJ1UYiFeEvDH+Vsi2xgwJYW7ySIqemkcsJ818ebQ9+XiWP BurVCI+3SYbhabnSEqmfF3aU8ZveTlHX+otBxAov9O/CZ/r5yjstRC6F6FJdHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712950791; h=from:from:reply-to:subject:subject: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+boC9KsUZ0DmXUudiE/hxJ7T3gL0JhGBdFZzSsBxnA=; b=PYHpdPZsH/yE+CdqeBpCrPT/HaHrmvyqdtX+POOBmhE1l5YUoWQ97zoBCnZKtOuSMO6XiQ ntm5shxBa9RY1k5hTCOzb07CvKP9DGOU0FOgkelLtMiLgFOISQqH/fFlKbIb5MiXJJR616 mskeGc+U6nn3UdcDdtQEiYegz/blArZb4bWBdTqUrmy/WCvn8anVSY00i+GfeVoXcX+wjW Tu59kBDot9/gc9difKhMlHK9vxWmqp0unjaH8XmxpZsUDY0gT3wNW7ff1wlbJLOgAPfM6R R6Ai9Ui7d5LEzsStMqkVUp1h/P36X0ZYgu0gtvgDdH++Bg4BpYXmtQFrbXvCkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGRjM4sLqz12Vd; Fri, 12 Apr 2024 19:39:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CJdp9F013343; Fri, 12 Apr 2024 19:39:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CJdptQ013340; Fri, 12 Apr 2024 19:39:51 GMT (envelope-from git) Date: Fri, 12 Apr 2024 19:39:51 GMT Message-Id: <202404121939.43CJdptQ013340@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: 7c7299df76e2 - main - libc: Remove support for pre-C99 C standards 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: 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: 7c7299df76e2c4b43a2a52d0df66ee977bb6773b Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=7c7299df76e2c4b43a2a52d0df66ee977bb6773b commit 7c7299df76e2c4b43a2a52d0df66ee977bb6773b Author: Minsoo Choo AuthorDate: 2024-04-12 19:05:09 +0000 Commit: John Baldwin CommitDate: 2024-04-12 19:05:09 +0000 libc: Remove support for pre-C99 C standards Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D43254 --- lib/libc/stdlib/div.c | 30 +----------------------------- lib/libc/stdlib/imaxdiv.c | 7 +------ lib/libc/stdlib/ldiv.c | 7 +------ lib/libc/stdlib/lldiv.c | 7 +------ 4 files changed, 4 insertions(+), 47 deletions(-) diff --git a/lib/libc/stdlib/div.c b/lib/libc/stdlib/div.c index af6f95553435..351dca870553 100644 --- a/lib/libc/stdlib/div.c +++ b/lib/libc/stdlib/div.c @@ -41,34 +41,6 @@ div(int num, int denom) r.quot = num / denom; r.rem = num % denom; -#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) - /* - * The ANSI standard says that |r.quot| <= |n/d|, where - * n/d is to be computed in infinite precision. In other - * words, we should always truncate the quotient towards - * 0, never -infinity. - * - * Machine division and remainer may work either way when - * one or both of n or d is negative. If only one is - * negative and r.quot has been truncated towards -inf, - * r.rem will have the same sign as denom and the opposite - * sign of num; if both are negative and r.quot has been - * truncated towards -inf, r.rem will be positive (will - * have the opposite sign of num). These are considered - * `wrong'. - * - * If both are num and denom are positive, r will always - * be positive. - * - * This all boils down to: - * if num >= 0, but r.rem < 0, we got the wrong answer. - * In that case, to get the right answer, add 1 to r.quot and - * subtract denom from r.rem. - */ - if (num >= 0 && r.rem < 0) { - r.quot++; - r.rem -= denom; - } -#endif + return (r); } diff --git a/lib/libc/stdlib/imaxdiv.c b/lib/libc/stdlib/imaxdiv.c index de72ead031d5..bf9737a3c47a 100644 --- a/lib/libc/stdlib/imaxdiv.c +++ b/lib/libc/stdlib/imaxdiv.c @@ -36,11 +36,6 @@ imaxdiv(intmax_t numer, intmax_t denom) retval.quot = numer / denom; retval.rem = numer % denom; -#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) - if (numer >= 0 && retval.rem < 0) { - retval.quot++; - retval.rem -= denom; - } -#endif + return (retval); } diff --git a/lib/libc/stdlib/ldiv.c b/lib/libc/stdlib/ldiv.c index 999e8472042d..4c73bcc14af4 100644 --- a/lib/libc/stdlib/ldiv.c +++ b/lib/libc/stdlib/ldiv.c @@ -43,11 +43,6 @@ ldiv(long num, long denom) r.quot = num / denom; r.rem = num % denom; -#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) - if (num >= 0 && r.rem < 0) { - r.quot++; - r.rem -= denom; - } -#endif + return (r); } diff --git a/lib/libc/stdlib/lldiv.c b/lib/libc/stdlib/lldiv.c index f7030e7ae1ff..6feeb74bacd6 100644 --- a/lib/libc/stdlib/lldiv.c +++ b/lib/libc/stdlib/lldiv.c @@ -36,11 +36,6 @@ lldiv(long long numer, long long denom) retval.quot = numer / denom; retval.rem = numer % denom; -#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) - if (numer >= 0 && retval.rem < 0) { - retval.quot++; - retval.rem -= denom; - } -#endif + return (retval); } From nobody Fri Apr 12 19:42:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGRmx6QWpz5HxvK; Fri, 12 Apr 2024 19:42:57 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:13b:39f::9f:25]) (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)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VGRmw5J0bz4V9P; Fri, 12 Apr 2024 19:42:56 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of bzeeb-lists@lists.zabbadoz.net designates 2a01:4f8:13b:39f::9f:25 as permitted sender) smtp.mailfrom=bzeeb-lists@lists.zabbadoz.net 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 3C54E8D4A177; Fri, 12 Apr 2024 19:42:50 +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 DBC332D029D8; Fri, 12 Apr 2024 19:42:49 +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 m_taoXEpbN1G; Fri, 12 Apr 2024 19:42:49 +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 2B6F62D029D2; Fri, 12 Apr 2024 19:42:49 +0000 (UTC) Date: Fri, 12 Apr 2024 19:42:48 +0000 (UTC) From: "Bjoern A. Zeeb" To: Martin Matuska cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 783d3ff6d7fa - main - zfs: merge openzfs/zfs@39be46f43 In-Reply-To: <202403302256.42UMu3Vk098091@gitrepo.freebsd.org> Message-ID: References: <202403302256.42UMu3Vk098091@gitrepo.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: X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.22 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.92)[-0.922]; R_SPF_ALLOW(-0.20)[+ip6:2a01:4f8:13b:39f::9f:25:c]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/32, country:DE]; MIME_TRACE(0.00)[0:+]; MISSING_XM_UA(0.00)[]; TO_DN_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; R_DKIM_NA(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-main@FreeBSD.org]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[zabbadoz.net]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4VGRmw5J0bz4V9P On Sat, 30 Mar 2024, Martin Matuska wrote: > The branch main has been updated by mm: > > URL: https://cgit.FreeBSD.org/src/commit/?id=783d3ff6d7fae619db8a7990b8a6387de0c677b5 > > commit 783d3ff6d7fae619db8a7990b8a6387de0c677b5 > Merge: e0388a906ca7 39be46f43f96 > Author: Martin Matuska > AuthorDate: 2024-03-30 21:14:52 +0000 > Commit: Martin Matuska > CommitDate: 2024-03-30 22:54:24 +0000 > > zfs: merge openzfs/zfs@39be46f43 > > Notable upstream pull request merges: > #15509 b1e46f869 Add ashift validation when adding devices to a pool > #15927 45e23abed Update resume token at object receive > #15941 bf8f72359 BRT: Skip duplicate BRT prefetches > #15950 8cd8ccca5 BRT: Skip getting length in brt_entry_lookup() > #15951 80cc51629 ZAP: Massively switch to _by_dnode() interfaces > #15954 2c01cae8b BRT: Change brt_pending_tree sorting order > #15955 4616b96a6 BRT: Relax brt_pending_apply() locking > #15959 5c4a4f82c zio: update ZIO type x stage documentation > #15962 493fcce9b Provide macros for setting and getting blkptr birth times > #15963 90ff73235 freebsd: fix missing headers in distribution tarball > #15967 f68bde723 BRT: Make BRT block sizes configurable > #15976 c28f94f32 ZAP: Some cleanups/micro-optimizations > #15995 cfb96c772 vdev_disk: clean up spa/bdev mode conversion > #16006 c0aab8b8f zvols: prevent overflow of minor device numbers > #16007 a89d209bb BRT: Fix holes cloning > #16008 c9d8f6c59 Fix option string, adding -e and fixing order > > Obtained from: OpenZFS > OpenZFS commit: 39be46f43f96fb7420386d03751b01f5cb376d6b I see this during builds: /usr/src/src.git/sys/contrib/openzfs/module/zfs/arc.c:1362:1: warning: function 'arc_buf_is_shared' is not needed and will not be emitted [-Wunneeded-internal-declaration] -- Bjoern A. Zeeb r15:7 From nobody Fri Apr 12 21:36:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGVHr4CqDz5GB98; Fri, 12 Apr 2024 21:36: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 4VGVHr24ncz4l3V; Fri, 12 Apr 2024 21:36:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2OjSgmfNnmT7JmQhHkKpqBUjUneKWVV0Bmpd14+TorY=; b=oGI7kv7HJLY28EoZYH6TrARTuF7IvGTxAS9VowA5IKwGghMdfmEtESChdejUn1NPaETN1t Rvx6QEZmk8kldyebrb1PTSCsd3OaeVMjpe/ZZCloJyVmgYj89R5gOqFWTylB28U9ZskorM c2nccVaCL43MWpTiimtFUusq/sy/e0rOesqfrcYkTvhbpSuRhPJ9uc87Y68XqXQPUDIWXM jUN/q4RxHqFn0+9oKyYkRZQuUau+7jCH9DLnFPHHM8IXWdQf3eHehMA0Rp7fNj91KRSvPU UIXV5i7FGIjrceWmgE7cqf1U6Iq0EUAyZz/9CmvHsXhqJR8BNL9FRoHXpjkojg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712957784; a=rsa-sha256; cv=none; b=eSVHXGta6j8R8BWHaoYTW2hjXmFsx4t4JwB8CFDIQKSb3ASJ0dAsVOfhxjX1ghFnYQ8XoL fbj1QcPUhYd0gTddMdpg553sPoZJMMi5E4c+MI47cwDL048XzzFjSLu7f0Y5iZbYE1yk5H D/+hMBv/rVOlL7AiR36pkh/a03DinMrN223e0v2fMyEWgeKzLeHQEX8gMzp5EjoZ01wLVN 8+jYOdSTZn5cis4RCoTf4KcKhgr6+eW2kt24s3TEr7PZ5GXqnq3LA8y60T6d9f6NY0gOag RDey7GvvCSkeUrWJ0r/Hg4tCu+HKCOg1iuMKgkpAhAHmwtgvyXVWMsT9U163KQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2OjSgmfNnmT7JmQhHkKpqBUjUneKWVV0Bmpd14+TorY=; b=wYPhE+Ltz9TRCHv2LCRFrtyDYX1lKqhZdOiJ9reZ5gji+X3RydB9XA/hiB66MYsWqNYArZ 00IaBUQCN1jKPidcJzm04qEYi58ivcw7InoTwJwH7T+SrPPpm6ULMiuAwUIgGMzoZ4hNyI b78yMHAG8AL8Rtas5pZkmRnwZ1AMnjOM37GeJzVldRtbnMAtgSqMMQhqrnCFluxFCdLKUi vBzZjSihM+8foOzxxT5pe4CLDQX9uXsWap+qadHv82KuFuZavj27zQg/B8jrA8hthI9kRL R2+9vJF8+LtMgsoeiAtygkuUUW07SiLX6nPbn1ZdQxCUjJ2G8fSteklh/mHCDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGVHr1Zgwz15gP; Fri, 12 Apr 2024 21:36:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CLaOIu016229; Fri, 12 Apr 2024 21:36:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CLaOPJ016226; Fri, 12 Apr 2024 21:36:24 GMT (envelope-from git) Date: Fri, 12 Apr 2024 21:36:24 GMT Message-Id: <202404122136.43CLaOPJ016226@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: e6e38bc522e2 - main - rc.d/ldconfig: Compute ldconfig paths in a function 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: 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: e6e38bc522e29de6299536b547bf11dab11e9679 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e6e38bc522e29de6299536b547bf11dab11e9679 commit e6e38bc522e29de6299536b547bf11dab11e9679 Author: Konrad Witaszczyk AuthorDate: 2024-04-12 21:34:59 +0000 Commit: John Baldwin CommitDate: 2024-04-12 21:34:59 +0000 rc.d/ldconfig: Compute ldconfig paths in a function Move logic that computes paths passed to ldconfig(8) to a ldconfig_paths() function that can be called for multiple ABIs. Reviewed by: olce, kib Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D44751 --- libexec/rc/rc.d/ldconfig | 55 +++++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/libexec/rc/rc.d/ldconfig b/libexec/rc/rc.d/ldconfig index 5c404a823dbb..fd54b2d3444e 100755 --- a/libexec/rc/rc.d/ldconfig +++ b/libexec/rc/rc.d/ldconfig @@ -14,6 +14,31 @@ ldconfig_command="/sbin/ldconfig" start_cmd="ldconfig_start" stop_cmd=":" +ldconfig_paths() +{ + local _dirs _files _ii _ldpaths _paths + + _dirs="${1}" + _paths="${2}" + _ldpaths="${3}" + + for _ii in ${_dirs}; do + if [ -d "${_ii}" ]; then + _files=`find ${_ii} -type f` + if [ -n "${_files}" ]; then + _paths="${_paths} `cat ${_files} | sort -u`" + fi + fi + done + for _ii in ${_paths}; do + if [ -r "${_ii}" ]; then + _ldpaths="${_ldpaths} ${_ii}" + fi + done + + echo "${_ldpaths}" +} + ldconfig_start() { local _files _ins @@ -23,31 +48,12 @@ ldconfig_start() checkyesno ldconfig_insecure && _ins="-i" if [ -x "${ldconfig_command}" ]; then _LDC=$(/libexec/ld-elf.so.1 -v | sed -n -e '/^Default lib path /s///p' | tr : ' ') - for i in ${ldconfig_local_dirs}; do - if [ -d "${i}" ]; then - _files=`find ${i} -type f` - if [ -n "${_files}" ]; then - ldconfig_paths="${ldconfig_paths} `cat ${_files} | sort -u`" - fi - fi - done - for i in ${ldconfig_paths} /etc/ld-elf.so.conf; do - if [ -r "${i}" ]; then - _LDC="${_LDC} ${i}" - fi - done + _LDC=$(ldconfig_paths "${ldconfig_local_dirs}" \ + "${ldconfig_paths} /etc/ld-elf.so.conf" "$_LDC") startmsg 'ELF ldconfig path:' ${_LDC} ${ldconfig} -elf ${_ins} ${_LDC} if check_kern_features compat_freebsd32; then - for i in ${ldconfig_local32_dirs}; do - if [ -d "${i}" ]; then - _files=`find ${i} -type f` - if [ -n "${_files}" ]; then - ldconfig32_paths="${ldconfig32_paths} `cat ${_files} | sort -u`" - fi - fi - done _LDC="" if [ -x /libexec/ld-elf32.so.1 ]; then for x in $(/libexec/ld-elf32.so.1 -v | sed -n -e '/^Default lib path /s///p' | tr : ' '); do @@ -56,11 +62,8 @@ ldconfig_start() fi done fi - for i in ${ldconfig32_paths}; do - if [ -r "${i}" ]; then - _LDC="${_LDC} ${i}" - fi - done + _LDC=$(ldconfig_paths "${ldconfig_local32_dirs}" \ + "${ldconfig32_paths}" "$_LDC") startmsg '32-bit compatibility ldconfig path:' ${_LDC} ${ldconfig} -32 ${_ins} ${_LDC} fi From nobody Fri Apr 12 21:36:25 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGVHs4mN0z5G9dS; Fri, 12 Apr 2024 21:36: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 4VGVHs2mlwz4knK; Fri, 12 Apr 2024 21:36:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mkpFV6mprXMaM9TNNIt4Q3FxflgS2lAeTfSz4CYspjQ=; b=nhuEsAfS+KNDsKcsG2pCP5TiVfMF2LBg7nb69MH0vluVaZddTNPL+jb1vP3izA9y4kAs+a x2jluaXJxuVF2wCvNSCl0EKC10mw5IFWi7L1G9Pq8ufSHRwaDKgMgQW8gEiGiNE8+9s71g vAEaxERR4ciBUT37eUcgagbPbYZy5FGTaAZJ3CF1+MJcARwTbIG10yKgfcjRo24wrakUv7 AVayWgKjXg764PH83vu18tutdspRr7C9WDgxKveRqeXjA7cdJNx+sD5RdFovK5JhqCx9xO SOokfKqttWoyZdZWbC29EXqj692ug3U2EBYxtrWwdiFXAqADw1t/S5JFRUMwLw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712957785; a=rsa-sha256; cv=none; b=majFq/alJ5blbH05BWavEylVOERiwniTkyRaOs9oinGdyML22IXMEGJijFPAEBn9u3eNOO O/0H+kUCsvDzRXFGpDVKY6YaaA104L4rcuxmB/L64Mwd4Dv5AHzOjXJb8Tn2Nob61BZfE7 yMIJ2/SW9Uv7kE6UxAAIZLGos80Snv2DJFYnTkpYIG/P3vZn8gJ1JxLN3nT7vfGIgJLr+A gy7T4LjoRSIVUwDqc4GWFccYFGR4qz+gauGdpQNuz9FufFldNXOX8fqTNrWZ+y9pWpZ/oB GAEA5bDNx3VMKPzUZ6lmS65NNrQE7ajKWmcJxWZKujp+GLe0OKJE51M2Bq+HqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mkpFV6mprXMaM9TNNIt4Q3FxflgS2lAeTfSz4CYspjQ=; b=HrQ58VPWSk4XztfvsjdimCHgALi8uTe8TUBDvx1W7IMVrZMHfutZrG/FnASTpHB2rB/fzX S+dczW7sPPjVF2BrWuYSNmTzrhcZu2KLFyf4WD1Cg6L2iGsU6J6upSqOXVIAAL48ctZNHF w1Z451Us8fXZJOyDIVvBFhMXQoR6WHWGoX7QLNLj3fqpH+kTaXsZB2m7Uh2DiVQkdmBFfX F6zJX9zbrjH8HvE0Fa76+o7QE8UwxunwKQixhhXWB0pZ6P6a2mjlSqqft5dqiIiA/0PPIv wFbQmqFukoqtZzNRUSqaoMPh2e0DdCXLrJc+b8PhiyyYsGj7++QnUt2Kier3VA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGVHs2JtNz15bF; Fri, 12 Apr 2024 21:36:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CLaPMk016271; Fri, 12 Apr 2024 21:36:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CLaPYl016268; Fri, 12 Apr 2024 21:36:25 GMT (envelope-from git) Date: Fri, 12 Apr 2024 21:36:25 GMT Message-Id: <202404122136.43CLaPYl016268@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: 4bf5db113f76 - main - defaults/rc.conf: Remove /usr/lib32 from ldconfig32_paths 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: 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: 4bf5db113f760619bf754c22864b1d7e2acdeabd Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4bf5db113f760619bf754c22864b1d7e2acdeabd commit 4bf5db113f760619bf754c22864b1d7e2acdeabd Author: John Baldwin AuthorDate: 2024-04-12 21:35:23 +0000 Commit: John Baldwin CommitDate: 2024-04-12 21:35:23 +0000 defaults/rc.conf: Remove /usr/lib32 from ldconfig32_paths Commit 99132daf6f70cb0cc969c555d3612547fa3cf1db prepends /usr/lib32 to the list of paths in ldconfig32_paths since it is a standard library path in ld-elf32.so.1. Remove /usr/lib32 from the value in rc.conf so that it is not listed twice. Reviewed by: olce, kib Sponsored by: University of Cambridge, Google, Inc. Differential Revision: https://reviews.freebsd.org/D44752 --- libexec/rc/rc.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index 2fa3b676cb38..96dd0c534dc2 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -674,7 +674,7 @@ clear_tmp_X="YES" # Clear and recreate X11-related directories in /tmp ldconfig_insecure="NO" # Set to YES to disable ldconfig security checks ldconfig_paths="/usr/lib/compat ${_localbase}/lib ${_localbase}/lib/compat/pkg" # shared library search paths -ldconfig32_paths="/usr/lib32 /usr/lib32/compat" +ldconfig32_paths="/usr/lib32/compat" # 32-bit compatibility shared library search paths ldconfig_local_dirs="${_localbase}/libdata/ldconfig" # Local directories with ldconfig configuration files. From nobody Fri Apr 12 21:36:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGVHt4Z5Hz5G9wq; Fri, 12 Apr 2024 21:36: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 4VGVHt3QVbz4l5f; Fri, 12 Apr 2024 21:36:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957786; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z0BJUhqflGhh/eHhgN+gKbj18cjOdeazwVjvfGn2qDw=; b=jteP8lqI5dswLLfOTpOja4AFPvBox85ZRmyA3cuP3JTwqZOS0t1FfcehZ2DqPA+4kZ4U4Z zB5BQX05iyvtITfL+Xy5q5/DiksqxUdTxcsgb8tCbvCgqLFva+rGYjfNjV4qJRrZh8dNEg X/gES4aFPpKeGVTTZjC3j8NUua51q36d5vVl4cn4WWAg86pbax2ZTJ4kFyqQqKVQMCD5QC SKBFyASCanr51KvxSAEEHh85Wi65v9pJGbGBsm4NKnLmPu4k5VY2LxYmKeXKKsPBhDE0ce Itkq/28Dnv/hx7ERm2dN5qVwY7nYBPnjTTPtjrhfjzWLuEGkHZBnKKCKRL+HFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712957786; a=rsa-sha256; cv=none; b=CyXB+JbumtpQ5joIRP3vw/Nh71zRK0z92jDkuefQNoyH4yBWeQV/n5e228Eh8cPC+xsxxp kZk+rSXF8ziXoBqZqUN98LkvGKBKiE+GmvXGkH5xhlbbZZexDXe4D4MMUP81gUK02CuMmr iP7Zr+gNfXtI41QqIDChfwLtVT9+Ql0Fr+wrAnbZqCK9a5IOAqTEaJMyHulCU0PeRE34/w iQ9a8A5lzYOxd5IrP7ilBJcWzpWH707JoRzfscH7o0yNFZpThrSpVTf1OmE94NMtsNHtCt NbSdIxFFGlQBS83z0xNHW/frofZG1uKzWFwbbLNJIxdB694ozU+adqFGJLGqIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957786; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z0BJUhqflGhh/eHhgN+gKbj18cjOdeazwVjvfGn2qDw=; b=Rl/Ue/PKCE0o9SicPg99r/G4mF3lbiZPg4WChH68RaO23y/WZXY/Pr/D0HDRSbR3U/spLD YJP5muIcNOhDNXEElUjVx3SpgdG+loTJGkRAerX25M2Ni19Kp90yj4r3K6cv8cVO4rblhf +WFw+ZGiGUIuTabmEtrZGHNJi+IQ/+Po1tNxxLOYN1SXpcnhF1OoW/qgXOapYgLOBE2J4a JBAk4ncCvrYW4t5mxuLLdYbSrqXS9V5Dx8BTNheQDWFbNbnFhDfBRJWXuP5x64tq3+oAI9 31qFlUGLzOFxrS9bg25NKEXhiSJDJoM11EQOmGH9FCwW/fsrU0v08jK8R6CGQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGVHt32TSz15Cf; Fri, 12 Apr 2024 21:36:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CLaQ7E016327; Fri, 12 Apr 2024 21:36:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CLaQgd016324; Fri, 12 Apr 2024 21:36:26 GMT (envelope-from git) Date: Fri, 12 Apr 2024 21:36:26 GMT Message-Id: <202404122136.43CLaQgd016324@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: b9c6fa339d9c - main - files.x86: Pull in some more duplicate lines from files.{amd64,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: 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: b9c6fa339d9c7c90a1c0f9ebc000ecbde8873508 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b9c6fa339d9c7c90a1c0f9ebc000ecbde8873508 commit b9c6fa339d9c7c90a1c0f9ebc000ecbde8873508 Author: John Baldwin AuthorDate: 2024-04-12 21:35:45 +0000 Commit: John Baldwin CommitDate: 2024-04-12 21:35:45 +0000 files.x86: Pull in some more duplicate lines from files.{amd64,i386} Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44759 --- sys/conf/files.amd64 | 32 +------------------------------- sys/conf/files.i386 | 32 -------------------------------- sys/conf/files.x86 | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 63 deletions(-) diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 index 09478599efc5..6322837c887b 100644 --- a/sys/conf/files.amd64 +++ b/sys/conf/files.amd64 @@ -109,10 +109,6 @@ crypto/openssl/amd64/sha1-x86_64.S optional ossl crypto/openssl/amd64/sha256-x86_64.S optional ossl crypto/openssl/amd64/sha512-x86_64.S optional ossl crypto/openssl/amd64/ossl_aes_gcm.c optional ossl -dev/acpi_support/acpi_wmi_if.m standard -dev/agp/agp_amd64.c optional agp -dev/agp/agp_i810.c optional agp -dev/agp/agp_via.c optional agp dev/amdgpio/amdgpio.c optional amdgpio dev/axgbe/if_axgbe_pci.c optional axp dev/axgbe/xgbe-desc.c optional axp @@ -239,20 +235,7 @@ dev/ixl/i40e_adminq.c optional ixl pci \ compile-with "${NORMAL_C} -I$S/dev/ixl" dev/ixl/i40e_dcb.c optional ixl pci \ compile-with "${NORMAL_C} -I$S/dev/ixl" -dev/nctgpio/nctgpio.c optional nctgpio dev/ncthwm/ncthwm.c optional ncthwm superio -dev/nfe/if_nfe.c optional nfe pci -dev/ntb/if_ntb/if_ntb.c optional if_ntb -dev/ntb/ntb_transport.c optional ntb_transport | if_ntb -dev/ntb/ntb.c optional ntb | ntb_transport | if_ntb | ntb_hw_amd | ntb_hw_intel | ntb_hw_plx | ntb_hw -dev/ntb/ntb_if.m optional ntb | ntb_transport | if_ntb | ntb_hw_amd | ntb_hw_intel | ntb_hw_plx | ntb_hw -dev/ntb/ntb_hw/ntb_hw_amd.c optional ntb_hw_amd | ntb_hw -dev/ntb/ntb_hw/ntb_hw_intel.c optional ntb_hw_intel | ntb_hw -dev/ntb/ntb_hw/ntb_hw_plx.c optional ntb_hw_plx | ntb_hw -dev/ntb/test/ntb_tool.c optional ntb_tool -dev/nvram/nvram.c optional nvram isa -dev/random/ivy.c optional rdrand_rng !random_loadable -dev/random/nehemiah.c optional padlock_rng !random_loadable dev/qlxge/qls_dbg.c optional qlxge pci dev/qlxge/qls_dump.c optional qlxge pci dev/qlxge/qls_hw.c optional qlxge pci @@ -387,29 +370,16 @@ dev/smartpqi/smartpqi_request.c optional smartpqi dev/smartpqi/smartpqi_response.c optional smartpqi dev/smartpqi/smartpqi_sis.c optional smartpqi dev/smartpqi/smartpqi_tag.c optional smartpqi -dev/speaker/spkr.c optional speaker dev/sume/if_sume.c optional sume -dev/superio/superio.c optional superio isa dev/syscons/apm/apm_saver.c optional apm_saver apm -dev/syscons/scvesactl.c optional sc vga vesa -dev/syscons/scvgarndr.c optional sc vga -dev/tpm/tpm.c optional tpm -dev/tpm/tpm20.c optional tpm +dev/tpm/tpm20.c optional tpm dev/tpm/tpm_crb.c optional tpm acpi dev/tpm/tpm_tis.c optional tpm acpi dev/tpm/tpm_acpi.c optional tpm acpi dev/tpm/tpm_isa.c optional tpm isa -dev/uart/uart_cpu_x86.c optional uart -dev/viawd/viawd.c optional viawd -dev/vmd/vmd.c optional vmd | vmd_bus -dev/wbwd/wbwd.c optional wbwd -dev/wdatwd/wdatwd.c optional wdatwd dev/p2sb/p2sb.c optional p2sb pci dev/p2sb/lewisburg_gpiocm.c optional lbggpiocm p2sb dev/p2sb/lewisburg_gpio.c optional lbggpio lbggpiocm -isa/syscons_isa.c optional sc -isa/vga_isa.c optional vga -kern/imgact_aout.c optional compat_aout kern/link_elf_obj.c standard # # IA32 binary support diff --git a/sys/conf/files.i386 b/sys/conf/files.i386 index a55d5302b3e1..41c51a7aa9c5 100644 --- a/sys/conf/files.i386 +++ b/sys/conf/files.i386 @@ -22,49 +22,20 @@ crypto/openssl/i386/sha256-586.S optional ossl crypto/openssl/i386/sha512-586.S optional ossl dev/agp/agp_ali.c optional agp dev/agp/agp_amd.c optional agp -dev/agp/agp_amd64.c optional agp dev/agp/agp_ati.c optional agp -dev/agp/agp_i810.c optional agp dev/agp/agp_intel.c optional agp dev/agp/agp_nvidia.c optional agp dev/agp/agp_sis.c optional agp -dev/agp/agp_via.c optional agp dev/glxiic/glxiic.c optional glxiic dev/glxsb/glxsb.c optional glxsb dev/glxsb/glxsb_hash.c optional glxsb dev/hyperv/vmbus/i386/hyperv_machdep.c optional hyperv dev/le/if_le_isa.c optional le isa -dev/nctgpio/nctgpio.c optional nctgpio -dev/nfe/if_nfe.c optional nfe pci -dev/ntb/if_ntb/if_ntb.c optional if_ntb -dev/ntb/ntb_transport.c optional ntb_transport | if_ntb -dev/ntb/ntb.c optional ntb | ntb_transport | if_ntb | ntb_hw_amd | ntb_hw_intel | ntb_hw_plx | ntb_hw -dev/ntb/ntb_if.m optional ntb | ntb_transport | if_ntb | ntb_hw_amd | ntb_hw_intel | ntb_hw_plx | ntb_hw -dev/ntb/ntb_hw/ntb_hw_amd.c optional ntb_hw_amd | ntb_hw -dev/ntb/ntb_hw/ntb_hw_intel.c optional ntb_hw_intel | ntb_hw -dev/ntb/ntb_hw/ntb_hw_plx.c optional ntb_hw_plx | ntb_hw -dev/ntb/test/ntb_tool.c optional ntb_tool -dev/nvram/nvram.c optional nvram isa dev/ofw/ofw_pcib.c optional fdt pci dev/pcf/pcf_isa.c optional pcf -dev/random/ivy.c optional rdrand_rng !random_loadable -dev/random/nehemiah.c optional padlock_rng !random_loadable dev/sbni/if_sbni.c optional sbni dev/sbni/if_sbni_isa.c optional sbni isa dev/sbni/if_sbni_pci.c optional sbni pci -dev/speaker/spkr.c optional speaker -dev/superio/superio.c optional superio isa -dev/syscons/scvesactl.c optional sc vga vesa -dev/syscons/scvgarndr.c optional sc vga -dev/tpm/tpm.c optional tpm -dev/tpm/tpm_acpi.c optional tpm acpi -dev/tpm/tpm_isa.c optional tpm isa -dev/uart/uart_cpu_x86.c optional uart -dev/viawd/viawd.c optional viawd -dev/vmd/vmd.c optional vmd -dev/acpi_support/acpi_wmi_if.m standard -dev/wbwd/wbwd.c optional wbwd -dev/wdatwd/wdatwd.c optional wdatwd i386/acpica/acpi_machdep.c optional acpi i386/acpica/acpi_wakeup.c optional acpi acpi_wakecode.o optional acpi \ @@ -134,9 +105,6 @@ i386/i386/vm86.c standard i386/i386/vm_machdep.c standard i386/pci/pci_cfgreg.c optional pci i386/pci/pci_pir.c optional pci -isa/syscons_isa.c optional sc -isa/vga_isa.c optional vga -kern/imgact_aout.c optional compat_aout kern/subr_sfbuf.c standard libkern/divdi3.c standard libkern/divmoddi4.c standard diff --git a/sys/conf/files.x86 b/sys/conf/files.x86 index 8bd58ab4d339..ce31c42215be 100644 --- a/sys/conf/files.x86 +++ b/sys/conf/files.x86 @@ -58,6 +58,10 @@ dev/acpica/acpi_pcib_acpi.c optional acpi pci dev/acpica/acpi_pcib_pci.c optional acpi pci dev/acpica/acpi_pxm.c optional acpi dev/acpica/acpi_timer.c optional acpi +dev/acpi_support/acpi_wmi_if.m standard +dev/agp/agp_amd64.c optional agp +dev/agp/agp_i810.c optional agp +dev/agp/agp_via.c optional agp dev/amdsbwd/amdsbwd.c optional amdsbwd dev/amdsmn/amdsmn.c optional amdsmn | amdtemp dev/amdtemp/amdtemp.c optional amdtemp @@ -292,14 +296,42 @@ dev/mana/mana_sysctl.c optional mana dev/mana/shm_channel.c optional mana dev/mana/hw_channel.c optional mana dev/mana/gdma_util.c optional mana +dev/nctgpio/nctgpio.c optional nctgpio +dev/nfe/if_nfe.c optional nfe pci +dev/ntb/if_ntb/if_ntb.c optional if_ntb +dev/ntb/ntb_transport.c optional ntb_transport | if_ntb +dev/ntb/ntb.c optional ntb | ntb_transport | if_ntb | ntb_hw_amd | ntb_hw_intel | ntb_hw_plx | ntb_hw +dev/ntb/ntb_if.m optional ntb | ntb_transport | if_ntb | ntb_hw_amd | ntb_hw_intel | ntb_hw_plx | ntb_hw +dev/ntb/ntb_hw/ntb_hw_amd.c optional ntb_hw_amd | ntb_hw +dev/ntb/ntb_hw/ntb_hw_intel.c optional ntb_hw_intel | ntb_hw +dev/ntb/ntb_hw/ntb_hw_plx.c optional ntb_hw_plx | ntb_hw +dev/ntb/test/ntb_tool.c optional ntb_tool +dev/nvram/nvram.c optional nvram isa +dev/random/ivy.c optional rdrand_rng !random_loadable +dev/random/nehemiah.c optional padlock_rng !random_loadable dev/qat_c2xxx/qat.c optional qat_c2xxx dev/qat_c2xxx/qat_ae.c optional qat_c2xxx dev/qat_c2xxx/qat_c2xxx.c optional qat_c2xxx dev/qat_c2xxx/qat_hw15.c optional qat_c2xxx dev/smbios/smbios_subr.c standard +dev/speaker/spkr.c optional speaker +dev/superio/superio.c optional superio isa +dev/syscons/scvesactl.c optional sc vga vesa +dev/syscons/scvgarndr.c optional sc vga +dev/tpm/tpm.c optional tpm +dev/tpm/tpm_acpi.c optional tpm acpi +dev/tpm/tpm_isa.c optional tpm isa +dev/uart/uart_cpu_x86.c optional uart +dev/viawd/viawd.c optional viawd +dev/vmd/vmd.c optional vmd | vmd_bus +dev/wbwd/wbwd.c optional wbwd +dev/wdatwd/wdatwd.c optional wdatwd +isa/syscons_isa.c optional sc +isa/vga_isa.c optional vga libkern/strcmp.c standard libkern/strncmp.c standard libkern/x86/crc32_sse42.c standard +kern/imgact_aout.c optional compat_aout # # x86 shared code between IA32 and AMD64 architectures # From nobody Fri Apr 12 21:56:36 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGVl86zb0z5GD9b; Fri, 12 Apr 2024 21:56: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 4VGVl86FnKz4n87; Fri, 12 Apr 2024 21:56:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712958996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aBvbC6xq4SwgaSlZCs/I+58UNCrHo+bYEmDrnFRQFgU=; b=lf43jk3VbabDcq8241m09CuR+hcHKZXi+A/ZXWf1F5fntkG0ww2cA1EUfTvGCv4OtKZga4 NUP8dFpmzdsCkiLKkp1G/OQwTYuYjS/HVJLG9UlSRGIgMKWXSedsveHi4aXBUVFgMHpu9A lxi9MKvod08wdHLgXQrftsPBNfjgeABL/MR3Ldlo/X8Oundy5NlUXLCjxbIWgQgMUo5juX jEDyRn0YU8XSjV4I5RAVbGsENPkdQU++M+NBZqovMUBYRlzr9wVjom8sNr1dH8j9Z9NGLr uBcJQUVKd58fxmUJcgaXfcX2W79B9dX/x7TIuHLQcZXh9Gd0ldgU1c/A77A7Jw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712958996; a=rsa-sha256; cv=none; b=ZC00JxkzInEmsccKFuB/E4FMVQQh82Q2bqotJr3id0Uymw0vz1HPewSg1otvBLBI+XWjCi vICFqzyIzgClS7Tl4QeX3etBBj7AUm9h44SfZ7frGzAHvDTjJu5bJX5X7fZr39zI1KiLUf //6iJLnKj3uCSaFds98WEFGMXrdILvLeoCoKbHa+OVKghkyktYbBAYSr8oAk3A0G6SpgqC xLyF8ctXsWOiFdrSUQtldObt3aixRbJ/fwwibtks+8rc8nb0UViyK+C9K8dufVAMpujLFh xWRfuKzEmBAOjeH4xCT/A/A4Y2RMea68Sm/2aaGGNAvy8YGTVRGf95dHZQXK/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712958996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aBvbC6xq4SwgaSlZCs/I+58UNCrHo+bYEmDrnFRQFgU=; b=QFKVND7KhatJ5ihnYLmS1JWZe+w66+L9ilewlpw6DEOOPvnaUQqoz88cTGCdLhGlsHeOgj iDnGKxuWqgdrzrvNgcwqzD4as8Idzv3nHvpS9ZqjhttJ6Yz6SbhpNrPxv15FQZgoSX4B93 b6pnnuj5rfnA7HyhDoEy139XOOPMbcGZx+6c4PzcbEtyR7FOFzz9sVH7yFMe3+AsBHW1pf 2Dz8znKAmi0TB8aWzSTij2iiqXYFESgRGA2B1766LsaOBSazfbSZatNoAXQPB6Z3s0Dhnu fkV6k6NV3esV3TOss+gh8/PV7OBIwftYqZGl7A2x+vE14TePPhPgYghedxwkcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGVl85pg2z15ny; Fri, 12 Apr 2024 21:56:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CLuaaJ050140; Fri, 12 Apr 2024 21:56:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CLuaEa050137; Fri, 12 Apr 2024 21:56:36 GMT (envelope-from git) Date: Fri, 12 Apr 2024 21:56:36 GMT Message-Id: <202404122156.43CLuaEa050137@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: 2cf0c51793da - main - genet: add module (if_genet.ko) 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: 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: 2cf0c51793da5a2fc03db8990fc2feb3f9aa119f Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2cf0c51793da5a2fc03db8990fc2feb3f9aa119f commit 2cf0c51793da5a2fc03db8990fc2feb3f9aa119f Author: Lexi Winter AuthorDate: 2024-04-12 21:41:11 +0000 Commit: Warner Losh CommitDate: 2024-04-12 21:54:32 +0000 genet: add module (if_genet.ko) The driver already had the appropriate module macros, it just wasn't hooked into the build system. Since this device is specific to the Raspberry Pi 4, only build it for AArch64. Reviewed by: imp, emaste (earlier version) Pull Request: https://github.com/freebsd/freebsd-src/pull/1139 --- sys/modules/Makefile | 6 ++++++ sys/modules/genet/Makefile | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/sys/modules/Makefile b/sys/modules/Makefile index aab0865a842d..d83a75ef2d4d 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -154,6 +154,7 @@ SUBDIR= \ if_edsc \ ${_if_enc} \ if_epair \ + ${_genet} \ ${_if_gif} \ ${_if_gre} \ ${_if_me} \ @@ -641,6 +642,11 @@ _cxgbe= cxgbe _mpi3mr=mpi3mr .endif +# Specific to the Raspberry Pi. +.if ${MACHINE_CPUARCH} == "aarch64" +_genet= genet +.endif + .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64" || \ ${MACHINE_ARCH:Mpowerpc64*} _ice= ice diff --git a/sys/modules/genet/Makefile b/sys/modules/genet/Makefile new file mode 100644 index 000000000000..fac165c688ba --- /dev/null +++ b/sys/modules/genet/Makefile @@ -0,0 +1,9 @@ + +.PATH: ${SRCTOP}/sys/arm64/broadcom/genet + +KMOD= if_genet +SRCS= if_genet.c +SRCS+= bus_if.h device_if.h gpio_if.h miibus_if.h ofw_bus_if.h syscon_if.h +SRCS+= opt_device_polling.h opt_platform.h + +.include From nobody Fri Apr 12 22:17:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGWCB2nM3z5GFPY; Fri, 12 Apr 2024 22:17: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 4VGWCB26DVz4pv4; Fri, 12 Apr 2024 22:17:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712960246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oNPUo56cQSeBk8Emzgf/9TyCgdeCOt319gS4/UBYqfU=; b=qKcSbRHtjX/O/ZO4ys634WKbsyl5kFLWfrxtNudUD/1MR68hdWDclLTMTiJJak34cF4N2i Zc7MnVYFzaY46D+ZS6lBV44G5sg4toPovnaU2tpwfdLzffwHot0Y3c2dfRUcyzE16xqIp8 MhUzUP0nSRIVfxIO/cbIEj45rQK2YkH/IEIIjAjBcLuWTbMFmhKqOZt+7dujSpSQz8JZ9k S8iPzhF5XTFcoUyKoXyrOcJtBbIIW9Z6BNyg8X+0+I1m6hVmu7wScb9hxIgMy4hDJF7bO0 fElvnwE1H0VgDKyGLlg2syZNlN8KcW2tHxVLkP1Hdoa3tcKfq0NCK+hHpdzawQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712960246; a=rsa-sha256; cv=none; b=hqenwTUji9libe8Uby38bcTQecHvznvlm75EJFHbGOKaT2iGQiqjWJj0lHiOyXclRSrQIs qMFFbVzhbF9/roC6RDpnWOPVasCXWPQUh1/cVNGrVg0LhbPg6al6i9G8d4vIyfJd8ZcFzI xzB6Kq/FRzgZNtfhqX6vMPb5qup6HfEZ9joBEMVyXTzdq+jJAK0D0hR7jBzHR2q0KkNF3R GeDP5NOziJIKEyWChT5P6aHFMttB5H+mvZAzkpd1t1vwSuB6WMtbUDfNSvXkSNhuACSjaW /14EHKV3xinv3g5+UMkpwqolqBDv+ZAjisUhL4jMMrW1gR4ULX/tAwp/KJc85g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712960246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oNPUo56cQSeBk8Emzgf/9TyCgdeCOt319gS4/UBYqfU=; b=g+ezMSL7r+w5R49lmb6ZX7Bc7NSLCTymkUtiG6E5FTMdr7nVZH2MYpcnKV05UYoizxlFYh tpKBbkvT3aVjL936rjapb2qG1EMXKaSR9+htlhCGPQHAIJGBTYz6b3O+T1R/tGPRcgAe43 Ygl/3awej4WGg1BXvX52TXdGY2TsYhd2shOothto1mY6c3h8fN1BdMHqzAvyNjdHBpdlkR mMJlpPRf76JUjgA1CgLt0592HMIO89ANrLizvhnMD2z6eKa6RnzLhgR0qJRCAhyHw8KDKw Wj+L6I/DJUK8WQacoU40CkgpK/KwQ1cihoATPCwQ2TBA2paz/+3mi0xMQI6RiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGWCB1bZKz16dQ; Fri, 12 Apr 2024 22:17:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CMHQLZ084188; Fri, 12 Apr 2024 22:17:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CMHQ5f084185; Fri, 12 Apr 2024 22:17:26 GMT (envelope-from git) Date: Fri, 12 Apr 2024 22:17:26 GMT Message-Id: <202404122217.43CMHQ5f084185@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: 2b2cd97844b8 - main - msun: Fix math error in comment explaining y reduction 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: 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: 2b2cd97844b81e4a45504c90a791c3c3509898ad Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2b2cd97844b81e4a45504c90a791c3c3509898ad commit 2b2cd97844b81e4a45504c90a791c3c3509898ad Author: Henri Chataing AuthorDate: 2024-04-12 22:08:01 +0000 Commit: Warner Losh CommitDate: 2024-04-12 22:15:04 +0000 msun: Fix math error in comment explaining y reduction x = k + y for some integer k and |y| < 1/2 exp2(x) = exp2(k + y) = exp2(k) * exp2(y) which can be written as 2**k * exp2(y) The original had x = 2**k + y, which is has an extra 2** in it which isn't correct. Confirmed by forumula 2 in Gal and Bachelis referenced in the comments for the source of this method https://dl.acm.org/doi/pdf/10.1145/103147.103151 The actual code is correct. Reviewed by: imp (who added s_exp2.c and wrote the commit message) Pull Request: https://github.com/freebsd/freebsd-src/pull/1127 --- lib/msun/src/s_exp2.c | 2 +- lib/msun/src/s_exp2f.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/msun/src/s_exp2.c b/lib/msun/src/s_exp2.c index 338312f0de97..2064d22f44f3 100644 --- a/lib/msun/src/s_exp2.c +++ b/lib/msun/src/s_exp2.c @@ -314,7 +314,7 @@ static const double tbl[TBLSIZE * 2] = { * Method: (accurate tables) * * Reduce x: - * x = 2**k + y, for integer k and |y| <= 1/2. + * x = k + y, for integer k and |y| <= 1/2. * Thus we have exp2(x) = 2**k * exp2(y). * * Reduce y: diff --git a/lib/msun/src/s_exp2f.c b/lib/msun/src/s_exp2f.c index 85edd611944e..c863b7512194 100644 --- a/lib/msun/src/s_exp2f.c +++ b/lib/msun/src/s_exp2f.c @@ -72,7 +72,7 @@ static const double exp2ft[TBLSIZE] = { * Method: (equally-spaced tables) * * Reduce x: - * x = 2**k + y, for integer k and |y| <= 1/2. + * x = k + y, for integer k and |y| <= 1/2. * Thus we have exp2f(x) = 2**k * exp2(y). * * Reduce y: From nobody Fri Apr 12 22:31:49 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGWWn6mLSz5GGg8; Fri, 12 Apr 2024 22:31: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 4VGWWn6K2qz4rK2; Fri, 12 Apr 2024 22:31:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HVvU8j0uGTadEnLdDELDMEsFhllTIBf3UhafraGZ8jU=; b=RD4iZtMPj/d3bES6ZUGA6S2qB10z8ZM7FxBZ1m+DUn6c36tAxRaH4+lgZeIdt/FzHtbhRy vDYu2zZ30Ds/yU6RrMDI82qR5ooSL8bL0X4KKsGG1vWT+CQ0THaZGWvKzT4R3WigvW82Ue gK4jFaqoUNOL9XfZBeQWSn/R31P90ciM10gCWgesW7TJ/qUU05pRGwPVVqW0eSDsJlwj9v TqLhKQ80wP/xr4+b+1qLaTG2L8dQ+89B5Z7OriMWUD+pXVgRo7lpnsbh46lJpo93ANcDd/ vYG2ZF2JTVqLLU65dahhEBGe+k1QbXemDdi0SdwDqBVZQ/b0YPFqmPunBAW1JQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712961109; a=rsa-sha256; cv=none; b=WdZJis0YsDtr/g3ccFjg1Jj2SL76FGySH77JXQWt9qoMjruxD726SRxP65icuKQXuU04LM hH4A/1scvYO3OSoDAiRNBIFCkpgD7jzA8FvQBlvPcLfNnvZuJks9uNvCm4w3OEZ2ackPMg DSUYSzQiuI9f1JiJTg77GaQOcQ6HPNrKDYCaTVScw9bmbzenoGZGmRYwz87+RammhDqh25 gVND2ne3HvTrtJZjr7D1JfXrPUdlPXVlYSQTOq5yrGC7qAdEtvxBZZPQ2m1ZgJQI3Wgmdg eYbzSXVakk6qX9SRYAL+GciJ1kAzAeyN/wZ2s++OVvuLmMyteKb/h7wYUN2lJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HVvU8j0uGTadEnLdDELDMEsFhllTIBf3UhafraGZ8jU=; b=bcaxy0L9wIOvCUijZOw344z26h6utxtdDc9ZDsl2kQMqkdtkETImLV8k9h2oqGPZuuvfXy 7L/7lK1HZHEKFKcDxWZjvgFdMUC8/Qd8swrTHl4lPtQziZ41O+IMA97uA4p8OKdBPbnwAR H4DLqbglcfemzD/rM2JLAQAVtYUi/ZCHm29/tL+FPUYNmPjcqFVeV8BXeF85J+PQJujNzr 8yOrqDqjNBezRZ6X8saJHfHn1wlv2yClhAJOcOKBI/fyTr4wY4psrLXXBFPymCTktyg0HG nNw52uyf5rntcy0MkNBOYB3ar2KDwQyjras+Yo3TcgY3Ptd7nPuf98cvfZUm9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGWWn5w4Hz16s4; Fri, 12 Apr 2024 22:31:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CMVnlX016291; Fri, 12 Apr 2024 22:31:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CMVnsr016288; Fri, 12 Apr 2024 22:31:49 GMT (envelope-from git) Date: Fri, 12 Apr 2024 22:31:49 GMT Message-Id: <202404122231.43CMVnsr016288@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: e7ff917057ea - main - style.mdoc.5: maintenence 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: 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: e7ff917057eaf209c003660f02decb64ccb811da Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e7ff917057eaf209c003660f02decb64ccb811da commit e7ff917057eaf209c003660f02decb64ccb811da Author: Alexander Ziaee AuthorDate: 2024-04-12 22:28:12 +0000 Commit: Warner Losh CommitDate: 2024-04-12 22:29:25 +0000 style.mdoc.5: maintenence - description: increase visibility by s/file/manual page/ - examples: s/No Doing Something/Doing Something/ - examples: remove depreciated .Li macro - examples: remove extra newline (one display block) - see also: link roff language reference for mandoc Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1130 --- share/man/man5/style.mdoc.5 | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/share/man/man5/style.mdoc.5 b/share/man/man5/style.mdoc.5 index c1592bf8b87f..42dbc940074c 100644 --- a/share/man/man5/style.mdoc.5 +++ b/share/man/man5/style.mdoc.5 @@ -1,4 +1,4 @@ -.\" +.\"- .\" SPDX-License-Identifier: BSD-2-Clause .\" .\" Copyright (c) 2018-2022 Mateusz Piotrowski <0mp@FreeBSD.org> @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 29, 2022 +.Dd April 12, 2024 .Dt STYLE.MDOC 5 .Os .Sh NAME @@ -32,7 +32,7 @@ .Nd .Fx .Xr mdoc 7 -file style guide +manual page style guide .Sh DESCRIPTION This file specifies the preferred style for manual pages in the .Fx @@ -82,17 +82,17 @@ Format the section in the following way: .Bd -literal -offset indent \&.Bl -tag -width 0n -\&.It Sy Example 1\\&: No Doing Something +\&.It Sy Example 1\\&: Doing Something \&.Pp The following command does something. \&.Bd -literal -offset 2n -\&.Li # Ic make -VLEGAL +\&.Ic # make -VLEGAL \&.Ed -\&.It Sy Example 2\\&: No Doing Something Different +\&.It Sy Example 2\\&: Doing Something Different \&.Pp The following command does something different. \&.Bd -literal -offset 2n -\&.Li # Ic bectl list +\&.Ic # bectl list \&.Ed \&.Pp It is good to know this command. @@ -100,24 +100,22 @@ It is good to know this command. .Ed .Pp which renders as: -.Bd -filled -offset indent .Bl -tag -width 0n -.It Sy Example 1\&: No Doing Something +.It Sy Example 1\&: Doing Something .Pp The following command does something. .Bd -literal -offset 2n -.Li # Ic make -VLEGAL +.Ic # make -VLEGAL .Ed -.It Sy Example 2\&: No Doing Something Different +.It Sy Example 2\&: Doing Something Different .Pp The following command does something different. .Bd -literal -offset 2n -.Li # Ic bectl list +.Ic # bectl list .Ed .Pp It is good to know this command. .El -.Ed .El .Ss Lists .Bl -dash -width "" @@ -285,6 +283,7 @@ that would be rendered as: .Xr man 1 , .Xr mandoc 1 , .Xr mdoc 7 , +.Xr roff 7 , .Xr style 9 .Sh HISTORY This manual page first appeared in From nobody Fri Apr 12 22:37:10 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGWdz0ht8z5GHBK; Fri, 12 Apr 2024 22: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 4VGWdz0BXzz4rgq; Fri, 12 Apr 2024 22:37:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OmZXa1Desbv1zIErGQRAj765EK//+pDXFg1Ob3PSsu0=; b=re7vZofatRfrx9IMxh02OIsbGpCjzUjC0XfCHpO1T4UcLXl8H3bBZ2MxPNR8mwpjqqX1PM 5W3n9FlY409wy5d+InYPBaLxHuaS+1nB7oJc0+gnCQ+o2G2+G3Sau4OjgfdJu/+vss8iwR t2Rot/9052lvqA12dhKsOC4CIUGeoKLumtH6wew7PPx4sdT99GNlbz/hZbm7R/j94JW4HT knQIO4yp0uiILfxApSJfWX0fQry7bYeUNKF2FGIJtnvHEJ1lrLd4FQqQ231iI4yzrBX5tC lb2tfpOFDaD8ZWKMbZsUrU06FMEEwMdMmj0hlr8OQx9sfLil2H4dxOdOxq2Qng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712961431; a=rsa-sha256; cv=none; b=aKMm0mmnbSBZPb5VMSn7OuJXpAavd6bQ8HnerOT/R3FoFtH4paUnnNad7EfbAchLSUyKKB 4bej9C3am9kyorTi+rKG9vl4tqeEX2m74vNp+ggx3gUo4zi9YfNQlzTo5dw/9hRb1WiLss 2+TeDlsdn3tntHbZwKePhgM1Cb5XSi5atdnOT/iILbYk3thZYwuI5LThYLoFIh7WXLsFU+ rJBnyd5TlRulZrn8JpqAmwxRTPBSqwhGj3KY1wt12klVYLNyYul3tQJLGEC1cHIy1BsRpQ Z2OubUHIetnRLNsf3oQSGF4hYxSaVXUvL19+8lKAnr/vqWAC+bWbBO2gW5vgbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OmZXa1Desbv1zIErGQRAj765EK//+pDXFg1Ob3PSsu0=; b=wDHOrXE0bk5ix+VP/GxPpXRvGojqRp924j9bC8GW1jJZKkc25pNtykerXAQMdkLPYIGICk 4ATM0YXh3tTHUELe7KqUyWhN5Lf9Zdw3OPlID9MmyBWVESO7QDDL/J8v3tYdQjgmus0fdy GkPQsKpd82skRz4wyCp7XzvKuVQYPPvE3UXc+1NKATM7c/aXx1VjgOrkoogOQxI1eOfpnI 9+fr2Ln1abs5YZSzqrBK1wYh/9QOoaUinh0g63l72jGYw29oxBunTaxDFoAoj+Kn5Jx88m k9HTlySb1C5VCfrJtuvHPU2+4zhl7c5jcp1yAzBbA+PEHmoCCK8NAfSfnwd4VQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGWdy6ngcz1767; Fri, 12 Apr 2024 22:37:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CMbAMG018555; Fri, 12 Apr 2024 22:37:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CMbAk7018552; Fri, 12 Apr 2024 22:37:10 GMT (envelope-from git) Date: Fri, 12 Apr 2024 22:37:10 GMT Message-Id: <202404122237.43CMbAk7018552@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: 2f1da80f21bf - main - libc(localeconv.c): fix "appropriate" spelling 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: 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: 2f1da80f21bf95607b0fb5f3ec15d65aa6a323a0 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2f1da80f21bf95607b0fb5f3ec15d65aa6a323a0 commit 2f1da80f21bf95607b0fb5f3ec15d65aa6a323a0 Author: rilysh AuthorDate: 2024-04-12 22:32:05 +0000 Commit: Warner Losh CommitDate: 2024-04-12 22:34:51 +0000 libc(localeconv.c): fix "appropriate" spelling From "approprate" to "appropriate". Signed-off-by: rilysh Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1119 --- lib/libc/locale/localeconv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/locale/localeconv.c b/lib/libc/locale/localeconv.c index 6b7d560b3932..2cd629e8210d 100644 --- a/lib/libc/locale/localeconv.c +++ b/lib/libc/locale/localeconv.c @@ -45,7 +45,7 @@ * monetary and numeric locales. * * Because localeconv() may be called many times (especially by library - * routines like printf() & strtod()), the approprate members of the + * routines like printf() & strtod()), the appropriate members of the * lconv structure are computed only when the monetary or numeric * locale has been changed. */ From nobody Fri Apr 12 22:37:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGWf01hbFz5GH8S; Fri, 12 Apr 2024 22: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 4VGWf00WjJz4rdj; Fri, 12 Apr 2024 22: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=1712961432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=89xj+CONx2mmF05IQcFFA+QCEFQmO3jArQD883Ogbb8=; b=AfgGxQWPwigGR1nplEXrNeKfargtPMPlyOnfB1zq66M34iG90K/qIpSGMwVrcFf3roL+Jr 1RDfbi833HMDAQzVmr7M86E6mTW/5Pe18us29ExODc/Btv5ZjDQy0Zf4YHxQNzaJbtc0k3 33FMHUi3vYfk/aQO4T861ym4e6qc9BQIqkhFZkSIdXyo1xHa6MsNXcWZ/S0pS5OB6Fe+qI BvDYT7TTzOL0AB/60pKQ4n45QxZoJp94LnJDNtHSyG67FbE4D2jqha+tjk0HPE4y02kIx9 krlZfVzT2ZlMQMZyanVOEynk7KaT0ywjjFwqP/3+MyHUVwdeihhcKrc+Y5zpSg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712961432; a=rsa-sha256; cv=none; b=SDuC6R+fynd2tXGdv4zomfuWZTQmPYkbDzknHtS6/6Zm2gcgAkmgBuj09EGHkSAWZr78lG /qlOhjd1ZZOJF0zXirkWGNGPHt6Cn/KH+YGaB6/mHmg2wpN33NWs6Ca187hSACvp9Rhw7F 9RxhjTHqUDqHd9dbkOIGznObzGabXqNVrKFC2QNSx7Ut9WpJfrJfyhmLvkK+3HGIwHa3+v FJE6o5mCbXCSIlWGrQdft9M+708XxrF8Yij0mGD4xLjGRK0IeWNPCKWK+x8O49B7jo6wTM gDliQLM/BfFqW/YGlzdb+TDuGMsIvKdJve7GGsngcQzzwYlTv2ZKTT0qweCFGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=89xj+CONx2mmF05IQcFFA+QCEFQmO3jArQD883Ogbb8=; b=CN1dxm7gE9aMo14luxt6dU30sD9o7u8QP0yxsE9WuKGKhbmDkN6ufsFhc3rtRcKitpMeuL G+FspQRi0ELbPlwAvuh96GdeFy1K3sx1nxJCK0eYOnambAZWSN5JU/fNkAxwCyaMhvBUH2 AqMBmhYuiPKJqRrdj8fM8vDCBdy77EQmhfRDUVcK7jW6isIuDm4T8tksKnKIpt2ZsC1z+p +Ys+N5+DSFPQhmr5VXo0L306TO84527EovgZoC6mfOiYbmtLyNdOGXwq5e5PKeAq3vNOw6 A2rfLjNkPlpq4o3PyBqKeVkT1jtp11L+k/cinmdfnTiCITPggbOakiHLNSWWag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGWf007Xnz1768; Fri, 12 Apr 2024 22:37:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CMbBYD018594; Fri, 12 Apr 2024 22:37:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CMbBa4018591; Fri, 12 Apr 2024 22:37:11 GMT (envelope-from git) Date: Fri, 12 Apr 2024 22:37:11 GMT Message-Id: <202404122237.43CMbBa4018591@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: 9a7f7b2480a9 - main - libc(inet_net_pton.c): fix "Fiery" spelling 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: 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: 9a7f7b2480a9f332f7f7f19ee00dc1606dfd2265 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9a7f7b2480a9f332f7f7f19ee00dc1606dfd2265 commit 9a7f7b2480a9f332f7f7f19ee00dc1606dfd2265 Author: rilysh AuthorDate: 2024-04-12 22:32:05 +0000 Commit: Warner Losh CommitDate: 2024-04-12 22:34:51 +0000 libc(inet_net_pton.c): fix "Fiery" spelling From "Firey" to "Fiery". Signed-off-by: rilysh Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1119 --- lib/libc/inet/inet_net_pton.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/inet/inet_net_pton.c b/lib/libc/inet/inet_net_pton.c index 6187c8c0025c..d566a0e1d3c3 100644 --- a/lib/libc/inet/inet_net_pton.c +++ b/lib/libc/inet/inet_net_pton.c @@ -138,7 +138,7 @@ inet_net_pton_ipv4(const char *src, u_char *dst, size_t size) { goto enoent; } - /* Firey death and destruction unless we prefetched EOS. */ + /* Fiery death and destruction unless we prefetched EOS. */ if (ch != '\0') goto enoent; From nobody Fri Apr 12 22:37:13 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGWf13rTfz5GHKh; Fri, 12 Apr 2024 22:37: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 4VGWf11lLdz4rpD; Fri, 12 Apr 2024 22:37:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vnfdlDuzGf1ZWh5M4VTn98FOLNVWzJh6rbucBvJmDcQ=; b=CA3XUsqnjG+u7gmHylsWqh591tNjv/w/5E0dgEP/RamCS83T9rIHQ8IAvfwORQ5BuShgyr 9UQUTe8GNk5pKocBhGS6nrf+V5GFYKmrdj9JqRf+I+r3Nbp7Wuz3NnUC+uW333VLvU/Nvq phrrZe5aWorY1OKE1XoYdf5O1+HhxBqDh7Va7Ekr6N9hkx+lWc/OMF3QptGhoT2Efckdhq QtOjepY8hUZ9tU/ZRKKYKYGW+2lncgjxNgJy3qnTgg127cuLz1HbNcquqBQDQwOiphd17a tPxPCfqCSq3GVpuhfIRsaaaz82Fbv6YzWFyOlP8SP14WJUJZjxybDKvofuDhnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712961433; a=rsa-sha256; cv=none; b=BxnSoByV2f7qLItfIwZv8OOhL9vmcDjMFxOEzWuAmWQwiIKQZ4w9nobcVG2mtYieIy5lq5 YeiMSlzZDXdWkbD55RR2X1JX+oZMleyOdFYDKwg23W+HCwiKqSNMTm8G95L7AcVmjnZngh mWp4FB9mSVqn2xEbT6M8p0FoOZSOe8cZ4ii7eYpz/9ANKLmowtyn08YExU1YHawPHhMEH8 ou26lfhc0/OuO2U6FTGiEYGLie8GBuM6I27r7BnPTfJCApMFAeNt/bL8Ihy11oSL0WHfZ9 YnR6s51JTKR8Y8F1TQRibv3TbzUqoLgQYSQ+vb6LqJOEbbtJn/VuCf9OXXqDEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vnfdlDuzGf1ZWh5M4VTn98FOLNVWzJh6rbucBvJmDcQ=; b=BAwZJh0aZraKJqyxz9PvX0PQk0gFS/5UQvlG4F8vdsYaHzqb2WH7PqGM3CNBWAGsWRSjW0 1Oq0zj/uhd6Hx8Mlv+f11pZZJ3tIBUMATd320AJ67mWd9OLWLPY6ZYy3m0NHh3NP7uclaQ Oo5R5sqmUVqmFhRlzguatDzPXvvbm14ocG1u0+TmB4f0wteYqDRpUR5+1bPdlYYzOzUpaf FobpgHYZcmpOpkRtz6O+CxIHJf7oDmSfFwpt5rSr0guW0+bjvmk3tGBsbai8vJZrLBkm6C vcBtXVrOtYW7nZDwvxNXReXi357ZdJxs5jnn/sHq46hdKRpKZB20bGKCC2z67w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGWf10zxsz1769; Fri, 12 Apr 2024 22:37:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CMbDH3018633; Fri, 12 Apr 2024 22:37:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CMbDCA018630; Fri, 12 Apr 2024 22:37:13 GMT (envelope-from git) Date: Fri, 12 Apr 2024 22:37:13 GMT Message-Id: <202404122237.43CMbDCA018630@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: 84970eab6ace - main - libc(xdr.c): fix "discriminated" spelling 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: 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: 84970eab6ace0f50688f95e82e2a2f3fca6b50b8 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=84970eab6ace0f50688f95e82e2a2f3fca6b50b8 commit 84970eab6ace0f50688f95e82e2a2f3fca6b50b8 Author: rilysh AuthorDate: 2024-04-12 22:32:06 +0000 Commit: Warner Losh CommitDate: 2024-04-12 22:34:52 +0000 libc(xdr.c): fix "discriminated" spelling From "descriminated" to "discriminated". Signed-off-by: rilysh Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1119 --- lib/libc/xdr/xdr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/xdr/xdr.c b/lib/libc/xdr/xdr.c index 79aa4ac3f4bc..6992cae69bf1 100644 --- a/lib/libc/xdr/xdr.c +++ b/lib/libc/xdr/xdr.c @@ -621,7 +621,7 @@ xdr_netobj(XDR *xdrs, struct netobj *np) } /* - * XDR a descriminated union + * XDR a discriminated union * Support routine for discriminated unions. * You create an array of xdrdiscrim structures, terminated with * an entry with a null procedure pointer. The routine gets From nobody Fri Apr 12 22:37:14 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGWf24dbbz5GHKj; Fri, 12 Apr 2024 22:37: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 4VGWf22N4Dz4rxG; Fri, 12 Apr 2024 22:37:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961434; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GVc6p9gosX972TT4fv0TRREWNieri3P7J4Z8tFQWTeY=; b=cFLI5wUBjylkBuSQjZRF1UPvYvSZzzZWGY0cREcvmlUtRwTEmOHE+aRp7pjfpJXF4ccZai QTU3vyE4GlcFYYs8mbHkuhxrGUCu+A4qxUFCLiPRtq4L93cua8Zb5enmFNsJIskQTZdLpv VXI+fj/XeWMyZcyckLKsKQo6QIgzVGRcn/SXZlTg9SKrjJaWTq/KP5bJRI3gIl0vI7GgcH Lf13gpckuE26PxleiyH1P+cSA+yNjW53NBGzJH16i7I4gUsY4KY3DsoTfS0wKprJO1ySRa Tyxsyz0hM2mBlhfe3K7jm5BmGWAnxNY3tRgt42d6WIDojXmT/B+lvT8/s+HGCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712961434; a=rsa-sha256; cv=none; b=wchhMu1NnuLp14Z4rVpCJ2QMPjZ23MoCFEI/IKrYJ5gLqsjVkv6SrSOZMVPedpXljrxrhn jFo9hkUG11PPBVbkVSfrZLwQZbh1PytX6oI/wVk7R3tGPbzzxsHFiN9cxvRIkLc0B3YTFg Dqa04s8HHbhF/ush7tpg9TuUEeLLh7jhhv2vgqKkAbFepPWOoE4SPLygvHw2CmU8ijhuUT S8QwvlyfXtI7SOUQqgEiCFdzuIB7UH9nvUFVibCHnRywCFixSaqa91/q2N/JzeKHdDoJJt /Ns8fG9XzBcCVgAvPudAdZ8Ef6Gl37a9HQAK58zZXLpmsoGDuf8tZZltgvCbCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961434; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GVc6p9gosX972TT4fv0TRREWNieri3P7J4Z8tFQWTeY=; b=OUVS22SATui1S0+SkUm4mwZZhaFAVHvvmSi6GlZzjdPBmRNYwLEinssC/jCCRM78F8dAEi r8BSriYYm/iJfidNDEdWpqO1vFWWq/6uAu5KCgUW2mjNjpCGj1V0O4pQ7rjUlg91bB2p7R u/+A9vx6/u2hgIxIXoMiiI1vXcJXgh/qQvauCT8eEIjDGA1Xz6KSitT9kO9OZ92Zn7dDwz HfEBJ6Vz18Kp2qKbR/QVKlhEKLRp29ayE6H+iTOe/zmIDHwprGnx8LlGSsYiMq20+9Ak/g Xydx20+W9D5EZG81V08mJ15tsrFDS2mwmv3u5Jbhnn0ISrhOabLAZUc0P+o0Wg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGWf21zX2z16w4; Fri, 12 Apr 2024 22:37:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CMbEtt018672; Fri, 12 Apr 2024 22:37:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CMbE5j018669; Fri, 12 Apr 2024 22:37:14 GMT (envelope-from git) Date: Fri, 12 Apr 2024 22:37:14 GMT Message-Id: <202404122237.43CMbE5j018669@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: bdf5675a4955 - main - libc(xdr_reference.c): fix "referenced" spelling 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: 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: bdf5675a4955415efd28b677b7be11cb6c567b20 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=bdf5675a4955415efd28b677b7be11cb6c567b20 commit bdf5675a4955415efd28b677b7be11cb6c567b20 Author: rilysh AuthorDate: 2024-04-12 22:32:06 +0000 Commit: Warner Losh CommitDate: 2024-04-12 22:34:53 +0000 libc(xdr_reference.c): fix "referenced" spelling From "referneced" to referenced". Signed-off-by: rilysh Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1119 --- lib/libc/xdr/xdr_reference.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/xdr/xdr_reference.c b/lib/libc/xdr/xdr_reference.c index 8379173ad5ca..e3698a35acd9 100644 --- a/lib/libc/xdr/xdr_reference.c +++ b/lib/libc/xdr/xdr_reference.c @@ -56,7 +56,7 @@ * referenced by a pointer inside the structure that is currently being * translated. pp references a pointer to storage. If *pp is null * the necessary storage is allocated. - * size is the sizeof the referneced structure. + * size is the sizeof the referenced structure. * proc is the routine to handle the referenced structure. */ bool_t From nobody Fri Apr 12 22:37:15 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGWf34Lmhz5GHHP; Fri, 12 Apr 2024 22:37: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 4VGWf33Kbvz4rhQ; Fri, 12 Apr 2024 22:37:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mZaazsTtq4c6GMCYoujVqPg2+Dsure8RcU5lH2ch93E=; b=W6qGtmsPP1vEjU4DOMDYw5Hx9UOk0NFwKDfkn2v8/9jsJZ5TXMBYBks2dfrSt9KdMp1sO2 rlo01AQGAjgDhc2FYdjYTdI8kwRkHpUMMuJqGaOG2KPEQ8PZaE6OQq0kQZGbOyDsfGbnTu yaItCX/PHbDYcCv097SocJWwB369g5F3SYtGRqOJ712KsjOOJ2QDUyvw6nz6eRSK/lwu0U HKY0VPXlTg+m6wZEWOLqC9sL5IT7qNiRhmWN+b/+kHDB+5qO+iEUFk7s5AjxglbELWwYgi erFYcukByU5hYcKY4+i9RPlWZxGJbtiIOT7ihevOqopyWQCLcAibb4/VDyvV8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712961435; a=rsa-sha256; cv=none; b=KFQ8cuO5rNz6ILLAZGGsTsSQ8cCjtLhPGMRB3ExtoVm9AQYCoiDtaToH2fXp1eOsfE7Dqt KbXBR0IzpUFmjj/+DnDdUm6ASANV+T5Oy4k58VvLJ8z8cek9BzBPh++mmr/Vkqv15uD+fI 4DM3PTIw0WNuOUP3fxmxjSRv9UF7kWikNf69BhOHk0kCuPhEzUXMnudwNQTmRNCFr0lSY8 H10kc837MgfoE3U6yWXv1PAJlVHuu/wOwDaJoy3NlTbtpylM+ru/2oCa/DHGomGwBMx+ri hXAWWg64rnafP/Nz9WqzdqUW6t31cMHzvZWgdxgPzN0m5ziHDvQxH2qhoAexyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mZaazsTtq4c6GMCYoujVqPg2+Dsure8RcU5lH2ch93E=; b=ODZoEr4QXrDJX9QMPZqnNm+xA8yd1ZnZYKACJVS0ibFZMRs/60sezQMfIZ1QZoTymBqkIM eN+BCQxiGgNUHR/qSywksa6BzD/ZQIEaEXhoe3CFXaDEBCvl3MX/xhJR0jpiD4sgaJaAO3 UL3wDdR2E8fpITR8lpHOnzwMj0iDuhLXYrdOvSeG87EmURn4+rXIPKsOqohaej90uZ3Khh 9CHobhHND84saJAAGWHjaf2GSxd1KqNh4ign/3nAc27C6wLpkuwkPpegyV3z9H6HQeW+2S tZhf+gmeFRpUQDzeR9Ba1zidQ+2q/SA5kQu6K3jTjr2V5eDjsLcVXmPZ79KUHA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGWf32xxDz16sD; Fri, 12 Apr 2024 22:37:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CMbFJ6018717; Fri, 12 Apr 2024 22:37:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CMbFli018714; Fri, 12 Apr 2024 22:37:15 GMT (envelope-from git) Date: Fri, 12 Apr 2024 22:37:15 GMT Message-Id: <202404122237.43CMbFli018714@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: 0fc1fb1491c6 - main - libc(bt_seq.c): fix "uninitialized" spelling 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: 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: 0fc1fb1491c6e5d41d2d5096cd7b14cb321a4d9c Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0fc1fb1491c6e5d41d2d5096cd7b14cb321a4d9c commit 0fc1fb1491c6e5d41d2d5096cd7b14cb321a4d9c Author: rilysh AuthorDate: 2024-02-13 08:47:03 +0000 Commit: Warner Losh CommitDate: 2024-04-12 22:34:54 +0000 libc(bt_seq.c): fix "uninitialized" spelling From "unitialized" to "uninitialized". Signed-off-by: rilysh Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1119 --- lib/libc/db/btree/bt_seq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/db/btree/bt_seq.c b/lib/libc/db/btree/bt_seq.c index 9324149f1d5a..2562724faf33 100644 --- a/lib/libc/db/btree/bt_seq.c +++ b/lib/libc/db/btree/bt_seq.c @@ -83,7 +83,7 @@ __bt_seq(const DB *dbp, DBT *key, DBT *data, u_int flags) } /* - * If scan unitialized as yet, or starting at a specific record, set + * If scan uninitialized as yet, or starting at a specific record, set * the scan to a specific key. Both __bt_seqset and __bt_seqadv pin * the page the cursor references if they're successful. */ From nobody Fri Apr 12 22:37:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGWf456bbz5GHFZ; Fri, 12 Apr 2024 22:37: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 4VGWf44Jrxz4rs5; Fri, 12 Apr 2024 22:37:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UNVFGfd9dCx7yEtXBN+iDrkD5pfBukx1SkasetvhT9k=; b=ldYgMgQOPIHQLqMDAeXVRPnrMYzdw9UwdZYu+4bxlHyCvzW0MdnoXO6Sz7a8Jtcyd+LQ9F VhW3zu3kd2rPT7Te+MN8pPp2/Un8aBaq36f2++Mm5g9AsqlVaArNeS80x0c5xtmqdBbcsc glceE2WUeFIJ050Sk6J0c050GgOHTzbEgPAImxZMBqPefW0lKD/h210aWKJAZW7p2y4+sY ND/DGnzKx90Wct3wQJ0Eq8lkHmkXsS8KPFHW9FcRKYk+POUEP6oDMZbahIwvsUi5X1jLzU gTyhVrPU505lxLCl2ZxEaOcj7S1UPlGNtC0KZVHjcWO7JUsnkt4Vm4150VCTKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712961436; a=rsa-sha256; cv=none; b=s3L1oTm/GUDRiCCihrNFdAgrVgrJIJoTrd3Uza1ouuRrv6Aaz62tP/Bx0ys4bMDOPZaoDh BIsJo0q2XWFGkEW94hmAu1R18mOctztttqXTYdZseugnNgXKI4x8r4/uHbvYrPPD9z0hdv 4RRCMYJhDCAK8yRwLbaLQm1BQhXcQgm3+FKJXOB6piPmlJ0LeBvBLWOj8Q5He8yp9D43HA URL4yuTgSebJtbkgtgRjE6Rjb4q+njmgiSKZTdnfmYvBL3xcO4dq0Sz9ZrHsRnV3pz4bWO lvv2TsoJ3Ru2MvDqDxBE7bmCODOL24+61cj60FerendVSvGcbXsnqauisUe1Rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UNVFGfd9dCx7yEtXBN+iDrkD5pfBukx1SkasetvhT9k=; b=wvo3mY5z2XHV7ihlfVdQ52l8cxCeK0sdBHxp7yVjjwE8pcFCLxkZ6ewld++kzzDLYHtFXV RKi41cX8vDbd55FhZ2oAY9DhScHMl1jUUzFmVHtjRGw+NoM9BohQFUm1hbKxx9cd0O0nS/ 53FcjONtkgudTc45pVIxem/lNKlKlRCPyxw5R2Ut8D1g/9h0mKPUAOKmuE4igTpPplREaN yYC3Ucc9AawMM0cUPaLBZ2UvX1sJnjca0/0b+Q2483q+DilT0it5ZoLw774a4upqijTKZJ vVguwM8rWVgOyvFatNXwJARJErSdJ6CUGmEa6jG9EKNuCUuIMnentAndku78PQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGWf43x6pz16w5; Fri, 12 Apr 2024 22:37:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CMbG8M018757; Fri, 12 Apr 2024 22:37:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CMbG5f018754; Fri, 12 Apr 2024 22:37:16 GMT (envelope-from git) Date: Fri, 12 Apr 2024 22:37:16 GMT Message-Id: <202404122237.43CMbG5f018754@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: f362c952a53a - main - libc(bt_utils.c): fix "contiguous" spelling 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: 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: f362c952a53a1113b019c38afaba5cf375f3df95 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f362c952a53a1113b019c38afaba5cf375f3df95 commit f362c952a53a1113b019c38afaba5cf375f3df95 Author: rilysh AuthorDate: 2024-02-13 08:48:39 +0000 Commit: Warner Losh CommitDate: 2024-04-12 22:34:55 +0000 libc(bt_utils.c): fix "contiguous" spelling From "contigous" to "contiguous". Signed-off-by: rilysh Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1119 --- lib/libc/db/btree/bt_utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/db/btree/bt_utils.c b/lib/libc/db/btree/bt_utils.c index 994d9a14ab86..0594fbad6e9c 100644 --- a/lib/libc/db/btree/bt_utils.c +++ b/lib/libc/db/btree/bt_utils.c @@ -66,7 +66,7 @@ __bt_ret(BTREE *t, EPG *e, DBT *key, DBT *rkey, DBT *data, DBT *rdata, int copy) bl = GETBLEAF(e->page, e->index); /* - * We must copy big keys/data to make them contigous. Otherwise, + * We must copy big keys/data to make them contiguous. Otherwise, * leave the page pinned and don't copy unless the user specified * concurrent access. */ From nobody Fri Apr 12 22:42:46 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGWmR029Wz5GHdw; Fri, 12 Apr 2024 22:42: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 4VGWmQ6bcdz4trl; Fri, 12 Apr 2024 22:42:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961766; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rVHjPjtO4fbgi7Tni9GqtYBZWhXuBNALdXdkEADlxK4=; b=caMrebxbMA5USH0Fyc7S3Sm0HE9avE3EfdKJAgK4gA56C3ChwE5VDAxKvQznqdxloPO4uN sHb2ZSOm5+TDfDgyxN9q/0iU8hFQx4npmJQQtXei1RAlDrY4YWtACTb1w0EhNqj0V4ga66 h7VFThDrJ9rB3nWoNiN4Jtgi6sXTXw0Sd2M+cbN2rvNd+fMG80Vy5z7JwD2E9rDnMTr2W8 SwY20IL3lQwdvy3S/wqKnDune11b+pCioe9efy4ZKwJiuBznPw/ZryENooxxIvSXETn3/R SfA1GGwcBPOVWo1wm8j6ZRWlH7EyXJ60jtg+eLsmfiwlAnhHDctibWi+8oEAmQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712961766; a=rsa-sha256; cv=none; b=rbn9mVZYTbRYPnB6bCGoGA3awty0tpvHzrvUdx30I/WQXopImtEPiNFnckHJaDMK7XABc+ KlbNxikk51jjXpHWMZ9h3rNw9p2PXZOY2OllcppZ8NfacFG8mrHAw5rBu2ysucTJlozX9n UO63jYNJ3BkmRGR1doDtkZ36Nd1QoLONFux5WTfiW3TaSo8vmBagKSYOXvaohm2tTxFO6Q AFsXKYEqRpU7x3FESw58j9t3IFpKb12jVkCcBWeZfsLhQnTujtVQIr8NAsWw+yHvheuMqw oiK9b3Vv2c/83yICSGxhQ2LX/uEmk8tR5QDWffg/7krmGyK7Q7rsejk7Tt4JiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961766; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rVHjPjtO4fbgi7Tni9GqtYBZWhXuBNALdXdkEADlxK4=; b=k5Fpv8//eo5uirjGODAW7jqhYeuSWD9m6PljTBAZJs4bmiNlEl61CbwxkgcnNt0aBrkSd9 rFlrhxQqnWZt/D3UbiVeB5bL+6J+hVVeCDjbg6/CKNzyRB/0gocGoddbwXj7iOPhXeW5eZ xQ8EPzWSWnkjS1VBWokqOY8gVJa9JelV3XLPNDAFaRSFW6ECsgWyPheHhy2Dtft5AAW/gd rGZFM3vYcihswA+/uju+c7nJKHGpsRnxduNSeTihV+U94TGEJiE2a7FBt2LJIsy3uMiTe/ 7FuUiL53W9771oBaqkWjX10qMvijiOk+TJVfH3ubYgxu9BElQp6bJkne/C3a8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGWmQ6Bpfz176b; Fri, 12 Apr 2024 22:42:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CMgkpq034617; Fri, 12 Apr 2024 22:42:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CMgk6B034614; Fri, 12 Apr 2024 22:42:46 GMT (envelope-from git) Date: Fri, 12 Apr 2024 22:42:46 GMT Message-Id: <202404122242.43CMgk6B034614@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: 606c37c54160 - main - nproc: Prefer sys/cdefs.h __unreachable over the builtin 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: 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: 606c37c54160479130a7337e45efbdf01d013b13 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=606c37c54160479130a7337e45efbdf01d013b13 commit 606c37c54160479130a7337e45efbdf01d013b13 Author: Collin Funk AuthorDate: 2024-04-12 22:38:18 +0000 Commit: Warner Losh CommitDate: 2024-04-12 22:39:05 +0000 nproc: Prefer sys/cdefs.h __unreachable over the builtin The __builtin_unreachable macro provided by Clang and GCC is a hint to the compiler used for optimization. The programs work fine even if the compiler doesn't support it. The sys/cdefs.h has had __unreachable for 9 years (commit 732b31de5d9244bd1cc98192e09ee1881e9f55e9). It expands to the builtin if it is available. In the rare case that it is unsupported it expands to a null statement so compilation does not fail. Signed-off-by: Collin Funk Reviewed by: imp, freebsd@igalic.co Pull Request: https://github.com/freebsd/freebsd-src/pull/1117 --- bin/nproc/nproc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/nproc/nproc.c b/bin/nproc/nproc.c index c2ab75826ce1..d8affe11b796 100644 --- a/bin/nproc/nproc.c +++ b/bin/nproc/nproc.c @@ -94,7 +94,7 @@ main(int argc, char *argv[]) break; case OPT_VERSION: version(); - __builtin_unreachable(); + __unreachable(); case OPT_HELP: help(); exit(EXIT_SUCCESS); From nobody Fri Apr 12 22:42:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGWmS24tsz5GHyt; Fri, 12 Apr 2024 22:42: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 4VGWmS0Tb6z4trm; Fri, 12 Apr 2024 22:42:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961768; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dcJCG80XU2+t/uzssSpcKsMzgwkOO5Q/eFj0m5tg+7Y=; b=pjlRiUVCUvYHGvEBjXiWuQpmx86UWEIhn1V3HFMsaLhldVmTfwxSdRqnwzB7wilTclRezk jTdp79Fu2EeGcUbl0HOJjRAyLfQ04Ferwqgog1s1JAiux3p8UC9gj32rU7mIhvtLjrFUYm ZotqaSI+nyoIU196efr5FTO/oGIzt2oIOIVo5rkb5rwbMwtOYqjao9fXdZCe18/jt4Ur8M xdQGdc4eU8tGgUTwy2m8+H2VDkA3y7s2wB9Lo7oiItMeitWr0zgpXNpf2KDAoqFuUXL3Qp hhG76So+3a6GUkvx5DlFYj3g0C6bd+p142iBApMlu8qwXDj5N0M61XF0lU9CuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712961768; a=rsa-sha256; cv=none; b=yVVk7hEJjll+Ar1GPh2Gw1IQNs2IOtLth+3XyKlgR+s4XEZYbRbfPP04s3iJgIgsD3ItBu 7ysGKB8jGOMIuyaSQYdjlZUJiAG7QBZR7Sym4Jf/px+92u5S8SP3M64razWnCPlevIrnLE sOzbI//wex0W93MdNOjH14/6YIgqOyOyukl+bqgHGuF6cVnODvaK0BxEkhuPs4pa79c201 oIrAgLCUSWqRlIrbvGlJggFqmM5QTkpv5rHmZMp2i/ZzA9m4JHM9iJoCSXGWX2h7MOxLx/ zwrurzc+nlOCuik4qQDHcYjc1eAVeFx3xxg3/k/vwN9SWQjrHrCebWSZ9bPuew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961768; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dcJCG80XU2+t/uzssSpcKsMzgwkOO5Q/eFj0m5tg+7Y=; b=dsYLGRlmJa9H5THtYzr2VIudQYu8xNyi5/w3be9kWn+jC2//MXt4k/KBAzFahiJrnzASVn k/55BxO7CkR8jIrb8GO8tFMQSiUkdKDNEw1x8WAYr8vBeS2UCvOVtt1cQr4nJr4+TdqNnJ Au1qN5XnBuQLdveL23nEVHqLWF22m8y42nBuROMoWTGiggC6A4iZGFQYLXxYfTzhtsKKqP AyWY/zgssFsLfYeR+Ww6T8ekeYiOLrwgCJTDtQqlCwu2d/3+eytxOgpA/8HT8VzF5S7bX0 q0f3bk2VzU1U39EXLdjY0THtedHaho7L4onlnEiTV+NYNne+xpwHlV4Ps3o1kw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGWmS06HHz16Rj; Fri, 12 Apr 2024 22:42:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CMglgA034665; Fri, 12 Apr 2024 22:42:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CMglcM034662; Fri, 12 Apr 2024 22:42:47 GMT (envelope-from git) Date: Fri, 12 Apr 2024 22:42:47 GMT Message-Id: <202404122242.43CMglcM034662@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: f7a10a775259 - main - daemon: Prefer sys/cdefs.h __unreachable over the builtin 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: 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: f7a10a7752592c0bec6e6ea377f3f6640e9ecfa5 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f7a10a7752592c0bec6e6ea377f3f6640e9ecfa5 commit f7a10a7752592c0bec6e6ea377f3f6640e9ecfa5 Author: Collin Funk AuthorDate: 2024-04-12 22:38:18 +0000 Commit: Warner Losh CommitDate: 2024-04-12 22:39:18 +0000 daemon: Prefer sys/cdefs.h __unreachable over the builtin The __builtin_unreachable macro provided by Clang and GCC is a hint to the compiler used for optimization. The programs work fine even if the compiler doesn't support it. The sys/cdefs.h has had __unreachable for 9 years (commit 732b31de5d9244bd1cc98192e09ee1881e9f55e9). It expands to the builtin if it is available. In the rare case that it is unsupported it expands to a null statement so compilation does not fail. Signed-off-by: Collin Funk Reviewed by: imp, freebsd@igalic.co Pull Request: https://github.com/freebsd/freebsd-src/pull/1117 --- usr.sbin/daemon/daemon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index bce215af75d1..dd3315dadee4 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -275,7 +275,7 @@ main(int argc, char *argv[]) break; case 'h': usage(0); - __builtin_unreachable(); + __unreachable(); default: usage(1); } From nobody Fri Apr 12 22:42:49 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGWmT3v5Xz5GHj8; Fri, 12 Apr 2024 22:42: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 4VGWmT1DtNz4tnx; Fri, 12 Apr 2024 22:42:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961769; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NJOaIW/W5kxO6CbYC2cIWIaoXBzLb5XbgZQkK+p/IFE=; b=qPjXeGo3Slmf+8yC0/qGoF+2GG/EDFQow3zfBBOWSLG+szKOyR9zcRJcvMJo3RVca+VyOH q01VXbl4JyYd2XWBhn0qFwNlSMqPzhah7skeh36jawtivS2aK1vUPPfjnEEl4e4BL0bPBe 207EVoAUaZyKtySnlWu1yGwMRKeegD6XT3xdilreh5dJ4/JhyZ3og4m1Ln+atH5ZaUAm/i so3yfp6uYkU3fsp+WkxFS4PUZmnGg8HnMs3FL2BreBdH2swP1owJwwpfSk0mMEYjzJwFtL i4jg1VkMRZe5IGoZE0fBY5pRTHd4Bg0vO3VizAnkCQeyV+j8xD2TcvVnSzZKjQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712961769; a=rsa-sha256; cv=none; b=Q0qohNoS/l2Z3k+fM//OvziAwZuI7Sxkxg2c0Q+6ddk+m94GdmqAJIuE+XiZRC8aCR2GmL gZdMNhr0NdKY4OlLzH8uuDpl0+jxebxl7HcivGI77BU6WP3YYyWx6NHsNLBM8ekTm7jQXX 8dVC4MQ6vqwMoka4dOMrKDX4OWt2rWLpu61m9hi6/czSNzARfkBUzEpUnH+49aXXjhHLmy cd693w+wQGitAzjUjA+IfscxzPJ8K7ILJtRdldlh0zVr+sOvPyEEqHYTx0SYEjbgihnSnZ 6Hb8Cpc6oNeI3XcxZhMtnlA+X9+MCm5b6N+e4LwZ63cfijOgt31aE8v2huxMVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712961769; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NJOaIW/W5kxO6CbYC2cIWIaoXBzLb5XbgZQkK+p/IFE=; b=ijhRxHXVyYILvvUNOtoCVyZ35BtGbqtLf/l6/lr3AwULlN1qH53xLDj2eRe2gSj2dd2RPU zrj5rAlTAu4si/GwmMyK7kKQV2jHa6z2q1zDuR+1YGDLSNryAKX23bbGpH11yRvENNXXiR SEFl45SG/WH8wpiuKs7zdfxNzWlQUYOl80B2UMFlzVkUma8lqIpiBnbiN9ronqRrL6tmKE Rm3l32I69aizVinCdKCdOtx6yFnzS+MBhbM5/7pHUwjWwIfSBPKVj2q3ihB76JHpscAFOo h2LQPpN9ekayly8MJ/288a7opjxeHccaHp/BiF/jz+/T4vzhlgaWS4ayyD6glA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGWmT0q6fz16sk; Fri, 12 Apr 2024 22:42:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CMgniB034716; Fri, 12 Apr 2024 22:42:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CMgnwt034713; Fri, 12 Apr 2024 22:42:49 GMT (envelope-from git) Date: Fri, 12 Apr 2024 22:42:49 GMT Message-Id: <202404122242.43CMgnwt034713@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: 52a19a90de6a - main - kldxref: Prefer sys/cdefs.h __unreachable over the builtin 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: 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: 52a19a90de6a5ad43e68742a477796580b69fb99 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=52a19a90de6a5ad43e68742a477796580b69fb99 commit 52a19a90de6a5ad43e68742a477796580b69fb99 Author: Collin Funk AuthorDate: 2024-04-12 22:38:19 +0000 Commit: Warner Losh CommitDate: 2024-04-12 22:39:25 +0000 kldxref: Prefer sys/cdefs.h __unreachable over the builtin The __builtin_unreachable macro provided by Clang and GCC is a hint to the compiler used for optimization. The programs work fine even if the compiler doesn't support it. The sys/cdefs.h has had __unreachable for 9 years (commit 732b31de5d9244bd1cc98192e09ee1881e9f55e9). It expands to the builtin if it is available. In the rare case that it is unsupported it expands to a null statement so compilation does not fail. Signed-off-by: Collin Funk Reviewed by: imp, freebsd@igalic.co Pull Request: https://github.com/freebsd/freebsd-src/pull/1117 --- usr.sbin/kldxref/elf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/kldxref/elf.c b/usr.sbin/kldxref/elf.c index a93cf996ccc7..f98c39b69c0b 100644 --- a/usr.sbin/kldxref/elf.c +++ b/usr.sbin/kldxref/elf.c @@ -532,7 +532,7 @@ elf_address_from_pointer(struct elf_file *efile, const void *p) else return (be64dec(p)); default: - __builtin_unreachable(); + __unreachable(); } } From nobody Fri Apr 12 23:08:25 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGXL14jYtz5GKlh; Fri, 12 Apr 2024 23:08: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 4VGXL13lkfz4wvt; Fri, 12 Apr 2024 23:08:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712963305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=79R91RQ4or9pUziePtQzZMjkpO/Nmq29MPiRRy+fhZs=; b=slELxrWaObcZ37rZXTKskWlSY7tKG5AthEb8BdtxM2KaLGk3CTk29bEoKj8qVZAN9I3d98 +W9xQw0TDlXsBFaRdKzohZLoWbYfa97F4hDWg5owOgwU65QvCKmUPHHMZe+xOQSA2gVrRY Rutd0PySL7pvJzolGJR9fMqm3EgDiQ7bNSr+dXKY2i4xNhfjo1/O05H/mouCA+W24wcaQt rvQg18xzK7EW1n9b0bG2BJAuiVg+9TXrGhu8IvoEIk7wUCGTXKzxuF/F6HHsSKtHYecyfV w6R2CzOJ1w3AO227urwhLmyPJrr/QvQZJuS/5mcuwt+qOuoVDvVtYtF1rGi6gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712963305; a=rsa-sha256; cv=none; b=UcCFzRCnDkXon7uaAGuK4GZfiyx3rwdTN34NpheIVI1WaDY8eqSI15Vkq2/IjlhVTOynwu EkxvpBNIOjZ5x9TWqxk2V/pL+ADgOFX+qxMs9OvVXg3raiXgDZwNTPxt1sZZ6Lcv+MwhCG Myx9Y6+STTDs0tY6MpuMgr1hZkwYRJeCeN/KnkFOx/z6gGeFuHc1TtR2CQhgqB6xmMPZNn zA41yATAr6zjlJFxmR6aSqwHKSxKtGENLtkyhW0b3AL9HIJi8Ht2HrMUUUhup/TIzgnojQ wZUKjd/1KiKBXRAVRKgHFJ1+WB3Y2z7juojuVfmOaD/9oHsJG6Zgk8X+XPUUpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712963305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=79R91RQ4or9pUziePtQzZMjkpO/Nmq29MPiRRy+fhZs=; b=g1xbCZFh8q4tyG6wqFwTALeL2/qapKgdoK8F9bxV2nteGTQ2x6xNUEmBtSqtNwnFmm8Y/E +/jlR5X75nA9MNcAiLDtkE/eBr4C9uSJm9ciKCBvdoa6V0d8AIP0gRdIyW1N3v4UwHXjDR dq+Q1jUd4jr7h0PFe3X4BBwOGn67Zhf5prx0c6fw/jwsGNlK36tYMr6R9IQcx3iIO55Ygv Sr2qV9Ql5gBr5lXkociyTVok9oNNX9MHGaUwykXVm3HBqBaNXlqsMyXOgFyA9OiSWO+Utf 5lhhB3pFTrN8uS03uUnJSzdNesbASWoScvDMukeLk/1zzAGSdVpSCIbrYKCAvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGXL13M89z17Zl; Fri, 12 Apr 2024 23:08:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CN8PeI070376; Fri, 12 Apr 2024 23:08:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CN8PIo070373; Fri, 12 Apr 2024 23:08:25 GMT (envelope-from git) Date: Fri, 12 Apr 2024 23:08:25 GMT Message-Id: <202404122308.43CN8PIo070373@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: a1cdddcf1596 - main - LinuxKPI: add further constants to pci.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: 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: a1cdddcf1596d258ce0b01b156dfd9921bd60e08 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a1cdddcf1596d258ce0b01b156dfd9921bd60e08 commit a1cdddcf1596d258ce0b01b156dfd9921bd60e08 Author: Bjoern A. Zeeb AuthorDate: 2024-03-31 17:26:29 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-04-12 23:08:06 +0000 LinuxKPI: add further constants to pci.h Updated wireless drivers require more knowledge about PCI (BAR) bits. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D44573 --- sys/compat/linuxkpi/common/include/linux/pci.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index bf69846f06f0..be3b13f07e53 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -106,6 +106,8 @@ MODULE_PNP_INFO("U32:vendor;U32:device;V32:subvendor;V32:subdevice", \ #define to_pci_dev(n) container_of(n, struct pci_dev, dev) #define PCI_STD_NUM_BARS 6 +#define PCI_BASE_ADDRESS_0 PCIR_BARS +#define PCI_BASE_ADDRESS_MEM_TYPE_64 PCIM_BAR_MEM_64 #define PCI_VENDOR_ID PCIR_VENDOR #define PCI_DEVICE_ID PCIR_DEVICE #define PCI_COMMAND PCIR_COMMAND From nobody Fri Apr 12 23:09:55 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGXMm1Qv7z5GKln; Fri, 12 Apr 2024 23:09: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 4VGXMm0cHcz4xPV; Fri, 12 Apr 2024 23:09:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712963396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Baqp5YMZhk2fMr4me/eFhhPoTTHeoGNE7XQZDi8F1yQ=; b=owPbWp7sPIXhvsQP4nbS4pot8zBfZuUR1BJ+zAwd4T2XWQh6CyZoTuTmXgWYuAqqg+7vua oTIJqqLBvU+cMN00QLFOLd9BQdBZlqZGY4xwO0bMXamnPhTTeciHtq22Gc0Hq34dU0gCfc BsCFJ4jTLFfaRr1GAHJ8rvTNz4oOcX0XfmXYwuhpS1rwmcVyLJD4GXpZ+6Qaj+SCRyT5Im U3ukwvTXFEw55K/Rmndk7c9rGnjgsC3cN5WPnkvbcNnx97m+YSHSX8bD5yetNJAuMwSB+4 xktwoCfSIPYD/V/zSGM8SbmS3X9kbotFFgsW4MqNxMZ0Kz7utU4lC0aUABmQIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712963396; a=rsa-sha256; cv=none; b=WLMCD0ZWQnysJPmylVSbZBEP2sW/dgMh/sPkEVaCinKNpCU+byOg8cV8pCPNvaZGRQikrK L4xVLy+LDhZj9RaqB1QqQsVyWcqaRGBkiGsvNOymKeaU3FSrhr7Mbq31t2Mx+PI5992Hck S3hHEIqlkFdoANf8UQKC673Dd4WkRW8YNQnbv65GFeiS2oJukd/mbQRBoXyuLQRTEXLeK2 h61mozaoGCu4kOGMLZBgO2oI1QKe90XK0C9wmD4CY7dPw1CIHZEyyx8tnKFgsymdVBaQ01 ne4n9lp0wHTCvVW1mdN2eXOgtXxCA2q6sV3a60sgkqQoXVx+rt9D18tFmi++aQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712963396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Baqp5YMZhk2fMr4me/eFhhPoTTHeoGNE7XQZDi8F1yQ=; b=PZa4QowryA42Eebo9WweKi52YCWgAuQiXM2f4lHDQV2Zatxc7HtGkae0ht2fG6kTvBBaCE Yfq48Ie7G+b47maqNf4aTAs1PoYK+0Joga+EuH66ZkQKdJuFNNuyLQEz7VEKTT/mSoLs7T fmTjKA2PKAQfhxmFrd38ctAeTnMcP1Qk8os8Pz4gEV8kdQturM0pFG3oZaqOyiDqzzIXcH nDoV9BGz319Uin3/iUhcPPuhXlHOJFK203wMYLMzL61JEs7jx2NYqbQDEGMgLP+SQ42qgL Uq7aI3vLoyHY9LbySl4GdSMzNhlSdhnKZqSMaUO0S0R5Sl9KtbQQIg4nCsDIhw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGXMm0CwTz17Zm; Fri, 12 Apr 2024 23:09:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CN9tOI070680; Fri, 12 Apr 2024 23:09:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CN9tJp070677; Fri, 12 Apr 2024 23:09:55 GMT (envelope-from git) Date: Fri, 12 Apr 2024 23:09:55 GMT Message-Id: <202404122309.43CN9tJp070677@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: 218b2ccf8cc9 - main - LinuxKPI: implement memzero_explicit() 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: 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: 218b2ccf8cc90698487515c681f3e3453b0dcead Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=218b2ccf8cc90698487515c681f3e3453b0dcead commit 218b2ccf8cc90698487515c681f3e3453b0dcead Author: Bjoern A. Zeeb AuthorDate: 2024-04-02 09:30:49 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-04-12 23:09:19 +0000 LinuxKPI: implement memzero_explicit() Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D44586 --- sys/compat/linuxkpi/common/include/linux/string.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/string.h b/sys/compat/linuxkpi/common/include/linux/string.h index 1365b7d7823a..9e1818a38594 100644 --- a/sys/compat/linuxkpi/common/include/linux/string.h +++ b/sys/compat/linuxkpi/common/include/linux/string.h @@ -289,4 +289,11 @@ memcpy_and_pad(void *dst, size_t dstlen, const void *src, size_t len, int ch) memset(_ptr + _o, _c, sizeof(*(ptr)) - _o); \ }) +static inline void +memzero_explicit(void *p, size_t s) +{ + memset(p, 0, s); + __asm__ __volatile__("": :"r"(p) :"memory"); +} + #endif /* _LINUXKPI_LINUX_STRING_H_ */ From nobody Fri Apr 12 23:12:29 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGXQj4yCcz5GL2T; Fri, 12 Apr 2024 23:12: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 4VGXQj4W79z4y9w; Fri, 12 Apr 2024 23:12:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712963549; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6POEk55lPXSGakUBojb5NNn1MWpKzTOOJ4xxDmnEd5E=; b=P/GP29M21kuC/uHeWZOEnpsqhM2nGonuMDPSn2ZX1MZfqroXlTZD+zRGD6/74PG9fPFDD9 1T7Objtes6cTDwzJbkOZR2qUYI6hTg7uGw6OplNza0CVqjBDdE8RoBvf3T5jPZaOz7Jk8W g0edasYhnW/rWSPKjoks5U+D65A1mqPgXH9y6nyfIi64sxFSDoZXoqEWSFX8pFDY2bhffC bKXVIbSYibgZZ+lh57bnayIrS4SF3Jis3ZdonofJVjxQOVD1nRSUqzhow2h9Vjvx5KDzYd HbsPlu8PllvrdGZAVCefce0iE6D037bvBJBLkk5mehyYCletsdu1QlTSZSd6TA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712963549; a=rsa-sha256; cv=none; b=IJ8aBIFrUAAowb+2GlMmFnTSBnzymr0Qmd4iq1rp7MWfkQ4ls4h0w2iIU7H1IPDaTBYl0b q3bOaddDQW596/vwBGHSapeYx/C4PKlhI5RbmdxBop41WrYhk/zHC9puvJWI9YOkCuofFc HBfJv1JevNlZ9NkVwrZKvJ04XT1D81X7Pc+vEtZDfwxym0go6P96dhQl2FHuUOVGDLjJa7 76BTRd0FuCOPnN1ognLDXeiO3gcSoFhliuBUI3rmecdRFpMF6UW5buc2U2vnsd1aEe7HPB Y2Kz5xg+OWf2gQqz4lGsHFjXaWm4PEySPd6qHQdKq3xKuFzLZpQlyb1/3usEcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712963549; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6POEk55lPXSGakUBojb5NNn1MWpKzTOOJ4xxDmnEd5E=; b=SMoCVDfq8wHvNnpRn4ZHGn6P5svbtGknNzizCuYdZyM2FhMb/t/OT9qCLTYb7uRRDWIayY vFRiwg8CDcrW2qjVHhKQ0BiAmVdFuDNbOa6RWWbuhuEho5HyzG7x//eSBYq269TB8ZwYD/ Cr1HFa7dPgiK5S3ufKo4OHBCzyPqN0chBBZ8RsPvHYq/mM7oT4i7bkDs32faR4JX1Jg50a 522mTxeveK8FKI6kLgtNQUrKHfkkouavoqWO8rh6bCxjy5gPatGYmNdB18IcWMxUKWNWfd BMRWAkT0KZCKnjAcCc2cbvoEn3P5nuJoRuAd3p32uvKJWZsrrdvvMj7u2+g8HA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGXQj467Sz17qL; Fri, 12 Apr 2024 23:12:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CNCT1F086266; Fri, 12 Apr 2024 23:12:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CNCTrc086263; Fri, 12 Apr 2024 23:12:29 GMT (envelope-from git) Date: Fri, 12 Apr 2024 23:12:29 GMT Message-Id: <202404122312.43CNCTrc086263@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: f674f016c03d - main - LinuxKPI: add BITS_TO_BYTES() 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: 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: f674f016c03d49e14f1c651ed088a6f2d01a62ee Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f674f016c03d49e14f1c651ed088a6f2d01a62ee commit f674f016c03d49e14f1c651ed088a6f2d01a62ee Author: Bjoern A. Zeeb AuthorDate: 2024-04-02 23:48:05 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-04-12 23:11:47 +0000 LinuxKPI: add BITS_TO_BYTES() Just like BITS_TO_LONG() ... used in rtw89. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D44603 --- sys/compat/linuxkpi/common/include/linux/bitops.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linuxkpi/common/include/linux/bitops.h b/sys/compat/linuxkpi/common/include/linux/bitops.h index 58677631b604..1415d5224084 100644 --- a/sys/compat/linuxkpi/common/include/linux/bitops.h +++ b/sys/compat/linuxkpi/common/include/linux/bitops.h @@ -54,6 +54,7 @@ #define GENMASK_ULL(h, l) (((~0ULL) >> (BITS_PER_LONG_LONG - (h) - 1)) & ((~0ULL) << (l))) #define BITS_PER_BYTE 8 #define BITS_PER_TYPE(t) (sizeof(t) * BITS_PER_BYTE) +#define BITS_TO_BYTES(n) howmany((n), BITS_PER_BYTE) #define hweight8(x) bitcount((uint8_t)(x)) #define hweight16(x) bitcount16(x) From nobody Fri Apr 12 23:16:30 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGXWL2zcmz5GL4b; Fri, 12 Apr 2024 23:16: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 4VGXWL2K1Cz4yTk; Fri, 12 Apr 2024 23:16:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712963790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zm//redvc1/jjRF0G6qZicKvL0Tjr6h1w9Tp0SNzIA4=; b=bDTw1jwQckeTapy+xNUEzDktnlpk8PkZ4AX+TdJ7MB+V/Qmb+RtZXGieQWxMxmwOWqaYXh VfwxWROMtqhdlESp+DhaQtLUCvIzRG+7VgVzroTvoXeRfM7odiTOArkqhrgtxWXyr9wzkK 6graOAzWNTWZTqLgGdUU0+WHA8YJ3ynCZ/By4bOwutwslC32bLl4VQ+FyeWgZxw4sc8Ol4 3gLBkxezqabGm5aw76Ak9jFoL948F1rr9J5ABInYtsmksJvuu57e0Dueq2ITra7UVYZNG2 Vp1R4obFo3vA+u99B9vn5GwM7Z4Liv4CfzqFagxR7dewDD4nnEzH9iZQjPq1pg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712963790; a=rsa-sha256; cv=none; b=WnjyFyR4KEjRaf2jqDbc5Mt+YLyvLG6ahXEVMZWbTIkl2zrlMXIRuAFTA4ea4nMwD8OeDM 16xS9KwZjqkRYlICFV6z98mZsS1j/fAkuAx/Nh+WqFUoEa4KkklFa0nF0LJnP+dm8b7+an moo/sdK+cIPZzlxJcRVGoZv1dCT3P3vr9B0Np6A5mFkD0t2vzQqfSRs9JYoDdDXvx6B4c+ CW0OEaCIsi0FX+bhf4tKnZs+tOHWvPWP0f22WR6feJzkLrtRwpBOGKE7FeiF2KT6k1O9IT YmExDboTGszh/p34LLBXqSO9hZ6qOX/47p9oK+TaK4CJGoFGGGSwpAdwyfkroA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712963790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zm//redvc1/jjRF0G6qZicKvL0Tjr6h1w9Tp0SNzIA4=; b=pCNzgusidM1FRT4fqQDWV0v2P5TX2IPY8ugS1nPn0dpCpfTxdqBso7nTjblAmlKa3qGCkE 4k4Bz3VMSfS1Hlwoxvk3oeenbCBHnPjlf4F3jpSzjbzZDU2YljV7TAhPgZ1YWbLMQkvBz7 ky5ZjWr+LnP7Pr4lyKBASSqaPLg47tc8EDiPvSM3lySkEIxJAZLI/Rf5lqRC9e/o62qFmV TDMUzt6/oBDJ3ua1I6S5XrhuEoDRY/+XioQhqC1vEkh+V3Bf3BYxB+nNKAfk43O1mjlZCC WZyk7MsUNxt1/TTK7v/C0KMNpyxr8C70EDvfxrT+rBIbe49M4OIDe1mD5XxWhQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGXWL1kWKz17g4; Fri, 12 Apr 2024 23:16:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43CNGUT7086938; Fri, 12 Apr 2024 23:16:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CNGUbD086935; Fri, 12 Apr 2024 23:16:30 GMT (envelope-from git) Date: Fri, 12 Apr 2024 23:16:30 GMT Message-Id: <202404122316.43CNGUbD086935@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: 738c02ba24c6 - main - LinuxKPI: add dev_alloc_pages() 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: 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: 738c02ba24c66391870067602f1c9c030d5c5e5d Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=738c02ba24c66391870067602f1c9c030d5c5e5d commit 738c02ba24c66391870067602f1c9c030d5c5e5d Author: Bjoern A. Zeeb AuthorDate: 2024-04-02 09:44:29 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-04-12 23:15:27 +0000 LinuxKPI: add dev_alloc_pages() Add dev_alloc_pages() though it seems a weird KPI, not passing a dev despite its name. Used by updated wireless driver. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D44588 --- sys/compat/linuxkpi/common/include/linux/gfp.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/gfp.h b/sys/compat/linuxkpi/common/include/linux/gfp.h index c086fb9effe4..f6cce379924d 100644 --- a/sys/compat/linuxkpi/common/include/linux/gfp.h +++ b/sys/compat/linuxkpi/common/include/linux/gfp.h @@ -137,6 +137,12 @@ __free_page(struct page *page) linux_free_pages(page, 0); } +static inline struct page * +dev_alloc_pages(unsigned int order) +{ + return (linux_alloc_pages(GFP_ATOMIC, order)); +} + /* * Page management for mapped pages: */ From nobody Sat Apr 13 00:36:42 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGZHt3g0Xz5GTK1; Sat, 13 Apr 2024 00: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 4VGZHt362Hz54ck; Sat, 13 Apr 2024 00: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=1712968602; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t3NWN3hTBg/ii8VfkX1UJybMNPjQ7gAwASyMiploXsU=; b=JArTQo1bv2rzfa0SJl5/azaXExWUN/WBRNGyJUXavJpkIjkh6mKnhEtiZWO4zsCsTZj0aA 8pbYlVwB9eE92MzimG+Na4jubWiCIUjuRznAutvAqvZUh5OfuqLs34iXqnww+FF4wPjkw8 QQobiO4bI7SsnULjMS+nK4XrI0WIBh5wFNN+pcuQr2BS+wIJErd9wYjBG69S/o7mJSTYzr ocekE/996pqoznyF6pTnkxeybQY2iH7x5oLRcuMA4dKkC584Lk8DoD38qA+Xm5FKxMEdIZ 2UHPz80K4+sCJhhALD0JVa6RUuFQlAv2HfnP9zWBsOtIegJvVaDq87HVn7R/Yg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712968602; a=rsa-sha256; cv=none; b=Lt4W5LB7vay8WzhVlSLhJXBNVOiWJwMwAm/iqM7Ufqau+klhKis+WNFNZvUn1f1sl2+uwF K8XKZvKg6U6cMNhEhB9MaEPMwaMADHDriV+FmCh2mw+z7SzKj93rrIKqGlmdH62xFBBDCk EZIup3fqOuODSLaMGQ6IAeQMJAL3x/HEV68sZWgIqd54sqse1IjKHX+EgdrrHOb6ATJ/SS 9ooDt9s+900vvw6iUt21rBCSuMpgukfLH3Z81rltvg0EE+Ni5zEUHw5kQ7i+USaEiYjnOh KuLLq/jIeUIXDZLYKnZZS3kUrtI4ombVbI2jKVwc/CsPuO4WMfoxTqRV7wp5BQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712968602; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t3NWN3hTBg/ii8VfkX1UJybMNPjQ7gAwASyMiploXsU=; b=uT6AVKMAnAoioYDOhHCFkrnR3GvH4F/Yv/oA7zq6f8D4y/Z3WDqOF3/lr+j4jVBXvpVPbs CJaPcZ7tCBwinseg1O9x5lEZERxhnaC/JoXgRMi8+wI1impEP+IJd2ouYVsDZ6J7fz3wcl jIjLjW04KD1UOhBmw1VUUS+/v8ybRhY6y3BlJv/ee2mLHOZtzSxnJzlCIBXjAuI+1RXSOl iVtMSfzgM2Q+YcgbseML3d0uaQ/pXdK85jCH+AODSuJRAnC/TFHmXZPZ+FBLqNNEUP7/83 0PE7waCXwW3jiddZuzGWehB4roikxXVxNoU43PhbTNXXP6fYsfZuPIXgo3LuBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGZHt2jBrz19YJ; Sat, 13 Apr 2024 00:36:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43D0agKB021840; Sat, 13 Apr 2024 00:36:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43D0ag1l021837; Sat, 13 Apr 2024 00:36:42 GMT (envelope-from git) Date: Sat, 13 Apr 2024 00:36:42 GMT Message-Id: <202404130036.43D0ag1l021837@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: 25038e8de6b4 - main - zfsd: fix unit tests after 89f4f91dbfdcabe65bc7476bc5f13dfb837870fe 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: 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: 25038e8de6b4e5f2ffca821565b50a633eea499a Auto-Submitted: auto-generated The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=25038e8de6b4e5f2ffca821565b50a633eea499a commit 25038e8de6b4e5f2ffca821565b50a633eea499a Author: Alan Somers AuthorDate: 2024-04-10 20:55:03 +0000 Commit: Alan Somers CommitDate: 2024-04-13 00:34:23 +0000 zfsd: fix unit tests after 89f4f91dbfdcabe65bc7476bc5f13dfb837870fe Reported by: markj MFC after: 1 week MFC with: 89f4f91dbfdcabe65bc7476bc5f13dfb837870fe Sponsored by: Axcient Reviewed by: Alek Pinchuk Differential Revision: https://reviews.freebsd.org/D44744 --- cddl/usr.sbin/zfsd/tests/zfsd_unittest.cc | 3 +++ cddl/usr.sbin/zfsd/vdev.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/cddl/usr.sbin/zfsd/tests/zfsd_unittest.cc b/cddl/usr.sbin/zfsd/tests/zfsd_unittest.cc index d76abb54c9ed..f1e925b0b4ef 100644 --- a/cddl/usr.sbin/zfsd/tests/zfsd_unittest.cc +++ b/cddl/usr.sbin/zfsd/tests/zfsd_unittest.cc @@ -134,6 +134,7 @@ public: MOCK_CONST_METHOD0(PoolGUID, Guid()); MOCK_CONST_METHOD0(State, vdev_state()); MOCK_CONST_METHOD0(PhysicalPath, string()); + MOCK_CONST_METHOD2(Name, string(zpool_handle_t * zhp, bool verbose)); }; MockVdev::MockVdev(nvlist_t *vdevConfig) @@ -431,6 +432,8 @@ protected: m_vdev = new MockVdev(m_vdevConfig); ON_CALL(*m_vdev, GUID()) .WillByDefault(::testing::Return(Guid(123))); + ON_CALL(*m_vdev, Name(::testing::_, ::testing::_)) + .WillByDefault(::testing::Return(string("/dev/da999"))); ON_CALL(*m_vdev, PoolGUID()) .WillByDefault(::testing::Return(Guid(456))); ON_CALL(*m_vdev, State()) diff --git a/cddl/usr.sbin/zfsd/vdev.h b/cddl/usr.sbin/zfsd/vdev.h index ace5d5a009fa..42278a3d7229 100644 --- a/cddl/usr.sbin/zfsd/vdev.h +++ b/cddl/usr.sbin/zfsd/vdev.h @@ -130,7 +130,7 @@ public: nvlist_t *Config() const; Vdev Parent(); Vdev RootVdev(); - std::string Name(zpool_handle_t *, bool verbose) const; + virtual std::string Name(zpool_handle_t *, bool verbose) const; bool IsSpare(); bool IsAvailableSpare() const; bool IsActiveSpare() const; From nobody Sat Apr 13 00:52:36 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGZfD45JGz5GVcK; Sat, 13 Apr 2024 00:52: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 4VGZfD3Mwkz55kW; Sat, 13 Apr 2024 00:52:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712969556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zZ2mUSncA9MsYW369uaLE8uCYYi6qyHCJOZUU9KcuZw=; b=wUzGAc5jotdJujR84Kb/k63Xq3IhUWJvawFJt0eAXxfiAp7LfQPy463JBkP2OhVJ3ePAoi i8XRrQ5zY+4X+otTqm89dev0tzjL43aBrEwWruzqkTc+p7luAIK7Di+zxPjd0OebY1BlRD MNr8JIFXJsU0Rab9A8OBGQeZw5VKDd4Jkx5feD+M4nT9/3Zz8VyR7zC1meXsGLNr83FwgW 4wbHmxcHjO0WnLKPApVvi1mzugkKUrebCrVWLQPEGFqeW0Icana5NRs/1VXsbdW6Z6Lop0 bygIzfvONH4xBpTzbALzRzevZbgXMfUOpS4x1wbWlFLfJ2wJ1xOYOoaOoUL4Fw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712969556; a=rsa-sha256; cv=none; b=vHZYlVjN9uxO8cmHlsN62pzLR6PRPCGGgf3/ug7QqqCEnIWu6BdTTeZE0/PUR/ylOpzzr0 x/4SR4S9OfjzJ26FJzvln38V83aZu/Bbhp9EhG2Gj22GKFJUZ7ILTBR6fa4/0LSiepq30p Oyt9yWE8uBNAZ2ptdoYGyahf3WdUT72vU9Qgs+nLb8J7hlOGuCg692q/zcSLD9wzCjQZhe 9Bzc5+3uviIk2Bq5QsPOjJ2OrybdlrpX0qOze1EW24dL3981+fi22xHe0Y/dvQx0muKZ4j yQAUdIzLLS4e8yRv0Wnhl7rHxKwRhY7lpQKUb0WOJER2D0NK4Drpx3z2lt5Hiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712969556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zZ2mUSncA9MsYW369uaLE8uCYYi6qyHCJOZUU9KcuZw=; b=Mfoi5wD3DAte1UzjIr45AJLiTkjHnMhvhrRJqHMinDgoPV7oHQgZU1w+4WRcHUSLwipyTt ZdoYFkHgXltQDn0G2k2IrmfGkbvAXdKviwG4kqjvkjuXaArp4VkQRzemWbUF4zEpo3AMhc 8wS24ZUWYaD53ujxoNdoPCcCEvwhY6+k1EMrwwJ3D8YpHR0NyKw8q1ZbmrmCU0oOEUOoeQ q2Bz8Q8jsf033SZWqVqssf5xTIhzL8BKsBAVewtpMgR0WLXk3ALp/9crIe5EJnmEjgoJnh hOmmLGaO/nxgeMzgeAFxIGokKLllFE6pmFsw7kVIzs0rq/j42dnpZIo/dtx1LQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGZfD2zWYz19wj; Sat, 13 Apr 2024 00:52:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43D0qauB054663; Sat, 13 Apr 2024 00:52:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43D0qaOH054660; Sat, 13 Apr 2024 00:52:36 GMT (envelope-from git) Date: Sat, 13 Apr 2024 00:52:36 GMT Message-Id: <202404130052.43D0qaOH054660@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 4d7174b1d91f - main - release: Fix powerpc boot block uudecoding 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: 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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4d7174b1d91ff3651ef78987d93989a40a4facd2 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=4d7174b1d91ff3651ef78987d93989a40a4facd2 commit 4d7174b1d91ff3651ef78987d93989a40a4facd2 Author: Colin Percival AuthorDate: 2024-04-13 00:50:15 +0000 Commit: Colin Percival CommitDate: 2024-04-13 00:52:28 +0000 release: Fix powerpc boot block uudecoding Confusingly, uuencode writes to stdout by default, but uudecode does not. Fixes: 6c3e01bf8578 "release: Randomize powerpc boot block file name" MFC after: 3 days --- release/powerpc/mkisoimages.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/powerpc/mkisoimages.sh b/release/powerpc/mkisoimages.sh index e030ee41691c..ba7c32f87bee 100644 --- a/release/powerpc/mkisoimages.sh +++ b/release/powerpc/mkisoimages.sh @@ -70,7 +70,7 @@ if [ -n "$bootable" ]; then BOOTBLOCK=$(mktemp /tmp/hfs-boot-block.XXXXXX) # Apple boot code - uudecode "`dirname "$0"`/hfs-boot.bz2.uu" | bunzip2 > $BOOTBLOCK + uudecode -p "`dirname "$0"`/hfs-boot.bz2.uu" | bunzip2 > $BOOTBLOCK OFFSET=$(hd $BOOTBLOCK | grep 'Loader START' | cut -f 1 -d ' ') OFFSET=0x$(echo 0x$OFFSET | awk '{printf("%x\n",$1/512);}') dd if="$BASEBITSDIR/boot/loader" of=$BOOTBLOCK seek=$OFFSET conv=notrunc From nobody Sat Apr 13 08:46:07 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGn8b4wnkz5H2X4; Sat, 13 Apr 2024 08:46: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 4VGn8b4LByz4WvL; Sat, 13 Apr 2024 08:46:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712997967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6lhWUeg1CI4JqYh52Y3fzf7YTbLtk3v0wx/O5qF0KiQ=; b=eYYme7ybMczG/w9ucatpkSyt0/piwOs8vgUjPc0cmMCOvAwXt1A6tgkqxSUJe+wR/8oETU enHBKJVea8qNpRc4Vjln8CZ7O0Rv0QQkrOrM8sXMHsadAyFc0nqYa5EcQsraXLufpvph49 jeYgqrnEc16Au8KKXm2ViMkQawaJtDzXxzFhWrU3Oi8ihNX8Jjo8T/zjZmj4+8DEhUYSI1 8GXlxmUVcAwnpMDKdYKJW08uroUp1Km+2+8dR/2Urc/jLiVhTxJgqjTPAwvOqSLL6GtmoN gVtqLIwtIMQY+o1Dwa0I1/Mx2wyGeVnzBusHuBG7S5l4o++Ns39vYHcfH0S2vA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712997967; a=rsa-sha256; cv=none; b=rgCby0nY1Zye+bs88fcl6COUU7NT25oLZLftWV/ztwrsyEGe1BFuWsNu0eGbUoLgJY2o5w 3K0wmv5WXheq2yYN2LdCZokTftK0rgg1wKDqQAlnI8/A6187aX8jRZFgzj+aNXQQpMfnt3 KExBvY6d3U+uQKpVK/q9GbESAGJDT+uK8ng4K0J2qlklYo3h4FLzQo09bWcnZKwbqFYGib ZRw/S4+Xr4sRIaOwEbD/gCsMvCYYJvGups2V9UbKgDZdwRstNBHJIS5cZtReH/uyBmx3Fe iRPCRe4jb3IN6AjCXEAvzFLctG/sJAZLwGIiwKslvpaYjBFoRLMYk6jDrgAZPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712997967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6lhWUeg1CI4JqYh52Y3fzf7YTbLtk3v0wx/O5qF0KiQ=; b=ZILIC44LN58BeJ3uvgUwMHs4dK/bxFxB1vwuhjgHE9O26PWcgL8N/71oDDfCxmWoutBTOT o+ts9tf6Gr7mO0LpKM9ExhkguOyWJQuMhEpjSm8Nd9ihAexxtDEr0FUPBBe5bLZJf6GnhK EAL2V6wetkacERsTvETX5Vq/aE2vQkSbPPukQPRWCmjizcSA3mULKozIC9gHhYZ053OVFJ IfpELdjXCpWW4+hurvF+cX20T16N4nLfP1vTzLOp16bQGe02zyBCgGQ/jvFAT6JnuObVry 0uRF/FvzMbHFu8i8dBktl9fN4zft2sHvlT3CiRAZQ6K6lLBmSaP0NX83BFHURQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGn8b3x6kzQZp; Sat, 13 Apr 2024 08:46:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43D8k7NX049574; Sat, 13 Apr 2024 08:46:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43D8k7sT049571; Sat, 13 Apr 2024 08:46:07 GMT (envelope-from git) Date: Sat, 13 Apr 2024 08:46:07 GMT Message-Id: <202404130846.43D8k7sT049571@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: 2365f012951e - main - Revert commit 925a11a5f221 from llvm-project (by Nikolas Klauser): 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: 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: 2365f012951e5f0333cf31c690f668299c86b30e Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=2365f012951e5f0333cf31c690f668299c86b30e commit 2365f012951e5f0333cf31c690f668299c86b30e Author: Dimitry Andric AuthorDate: 2024-04-13 08:44:26 +0000 Commit: Dimitry Andric CommitDate: 2024-04-13 08:45:15 +0000 Revert commit 925a11a5f221 from llvm-project (by Nikolas Klauser): [libc++] Simplify is_convertible GCC 13 has added __is_convertible(), so we don't need to keep the fallback implementation around. Reviewed By: #libc, Mordante Spies: Mordante, libcxx-commits Differential Revision: https://reviews.llvm.org/D157939 This should allow buildworld with gcc 12 to work again. PR: 276104 MFC after: 1 month --- .../libcxx/include/__type_traits/is_convertible.h | 79 +++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) diff --git a/contrib/llvm-project/libcxx/include/__type_traits/is_convertible.h b/contrib/llvm-project/libcxx/include/__type_traits/is_convertible.h index bc91d8b23430..b378a20cedeb 100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/is_convertible.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/is_convertible.h @@ -24,12 +24,89 @@ _LIBCPP_BEGIN_NAMESPACE_STD +#if __has_builtin(__is_convertible) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK) + template struct _LIBCPP_TEMPLATE_VIS is_convertible : public integral_constant {}; +#elif __has_builtin(__is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK) + +template +struct _LIBCPP_TEMPLATE_VIS is_convertible : public integral_constant {}; + +// TODO: Remove this fallback when GCC < 13 support is no longer required. +// GCC 13 has the __is_convertible built-in. +#else // __has_builtin(__is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK) + +namespace __is_convertible_imp { +template +void __test_convert(_Tp); + +template +struct __is_convertible_test : public false_type {}; + +template +struct __is_convertible_test<_From, _To, decltype(__is_convertible_imp::__test_convert<_To>(std::declval<_From>()))> + : public true_type {}; + +// clang-format off +template ::value, + bool _IsFunction = is_function<_Tp>::value, + bool _IsVoid = is_void<_Tp>::value> + struct __is_array_function_or_void { enum { value = 0 }; }; +template struct __is_array_function_or_void<_Tp, true, false, false> { enum { value = 1 }; }; +template struct __is_array_function_or_void<_Tp, false, true, false> { enum { value = 2 }; }; +template struct __is_array_function_or_void<_Tp, false, false, true> { enum { value = 3 }; }; +// clang-format on +} // namespace __is_convertible_imp + +template >::value> +struct __is_convertible_check { + static const size_t __v = 0; +}; + +template +struct __is_convertible_check<_Tp, 0> { + static const size_t __v = sizeof(_Tp); +}; + +template ::value, + unsigned _T2_is_array_function_or_void = __is_convertible_imp::__is_array_function_or_void<_T2>::value> +struct __is_convertible + : public integral_constant::value >{}; + +// clang-format off +template struct __is_convertible<_T1, _T2, 0, 1> : public false_type{}; +template struct __is_convertible<_T1, _T2, 1, 1> : public false_type{}; +template struct __is_convertible<_T1, _T2, 2, 1> : public false_type{}; +template struct __is_convertible<_T1, _T2, 3, 1> : public false_type{}; + +template struct __is_convertible<_T1, _T2, 0, 2> : public false_type{}; +template struct __is_convertible<_T1, _T2, 1, 2> : public false_type{}; +template struct __is_convertible<_T1, _T2, 2, 2> : public false_type{}; +template struct __is_convertible<_T1, _T2, 3, 2> : public false_type{}; + +template struct __is_convertible<_T1, _T2, 0, 3> : public false_type{}; +template struct __is_convertible<_T1, _T2, 1, 3> : public false_type{}; +template struct __is_convertible<_T1, _T2, 2, 3> : public false_type{}; +template struct __is_convertible<_T1, _T2, 3, 3> : public true_type{}; +// clang-format on + +template +struct _LIBCPP_TEMPLATE_VIS is_convertible : public __is_convertible<_T1, _T2> { + static const size_t __complete_check1 = __is_convertible_check<_T1>::__v; + static const size_t __complete_check2 = __is_convertible_check<_T2>::__v; +}; + +#endif // __has_builtin(__is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK) + #if _LIBCPP_STD_VER >= 17 template -inline constexpr bool is_convertible_v = __is_convertible(_From, _To); +inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value; #endif _LIBCPP_END_NAMESPACE_STD From nobody Sat Apr 13 15:21:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGxwg75Z5z5Hd7W; Sat, 13 Apr 2024 15:21: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 4VGxwg6dVLz4HSJ; Sat, 13 Apr 2024 15:21:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713021683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IwRiTVBNf/K9nkYw1tKgeNhkQJ+3j5LCkltB8EwCwgo=; b=ggxXJrDHewdjEfC5GusAhLVbwLZKR5adRvQ08SgoE3CndvoTqedzz15gF8o6Qun3DlFOjX PQO5InLTtWejYqJByMxgMIE8NxSS0hSxeVVp0h8SJVY9tk19leso35e3tyBUFL+L3v6sKX IvoYQ9kL6Yonlej2LNuRlrM20b1XzYtq4W/2WBTWfHTAzakRz2gBsD91syP06mi6h9tZaj Q1MBjZE8nQU2YbrbPycY77sgPOIPHMaQQ28WX1gKjuxibICJ4EKRJWZ1gDUJaN+uP/W4Ad scHA2oS0JWe9GdIBmbpnVknAuuXnK8liHfDooLvZlCe83MANymdF0NsQU3pCrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713021683; a=rsa-sha256; cv=none; b=VsjiianrhxlThNXQ8N04G+OpFUp1O6aGmUe2aWysZLVbTBylSJ99xEse3vpVnVRRH8dXJC pPk2SvCBpU7X7/C41HfanV5UUkrim37wfL0Esp3xyCTN8+PEMBtfIvqQc02R/Y4zbtL3MM bgqZFIbrBHq5VUVB/4QScM73FMmhEZIUsTTFFCClL8EpDQW1XBiqDWATJeOckwBzq3udx8 NBcyR1PRxWsM8N3GgrHgAN+uo43Xfyiz3nE3b7fdBK93RkndJEt1Qc0R18hSsQgItwBl0B 26czWeSFqgGChltOB9ig1cKq+0A3PjjTGZgKK9j06HsmbgoiCQAtUVpcL34xBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713021683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IwRiTVBNf/K9nkYw1tKgeNhkQJ+3j5LCkltB8EwCwgo=; b=gAutlmclzDSKBIFGhmCgAJ0dBl24d0VYnEg18zp8AYE4TOc9ab5bhnMkWjvYhaG5Dtm0jV EwSunXP4RTvl3fFed0hPFSaY8ukhE0W84j95rNNEGWJ4SbUxW585mCJTeLjqOCHuyi5WuM xkZlg0zsbSaOf1BByHyjcmN/i2YjV8w5biMKncvguDhsbc/BHp24J0wNHsbIDVLzgXTGUl 6yD6z8SR8yjx+uspmeQP+jE5QCfFwCiNHBK3Ws13Ip0i4QJbHSRTVMs4Jz10ETHmaohnN7 pi27Wstwfw0i/Y2VRsc+VVszxveYzdScBy2B0iy25t5CIGDuhZBTYYitTEBJmQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGxwg6F2Pzdtf; Sat, 13 Apr 2024 15:21:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43DFLNjK031339; Sat, 13 Apr 2024 15:21:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43DFLNbY031336; Sat, 13 Apr 2024 15:21:23 GMT (envelope-from git) Date: Sat, 13 Apr 2024 15:21:23 GMT Message-Id: <202404131521.43DFLNbY031336@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 2b258dd17caf - main - nullfs: Show correct exported flag. 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: 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: 2b258dd17caf329bc549f93d9858b74109a479d7 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=2b258dd17caf329bc549f93d9858b74109a479d7 commit 2b258dd17caf329bc549f93d9858b74109a479d7 Author: Dag-Erling Smørgrav AuthorDate: 2024-04-13 15:20:49 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-04-13 15:21:01 +0000 nullfs: Show correct exported flag. MFC after: 3 days Reviewed by: allanjude, kib Differential Revision: https://reviews.freebsd.org/D44773 --- sys/fs/nullfs/null_vfsops.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/fs/nullfs/null_vfsops.c b/sys/fs/nullfs/null_vfsops.c index a15a5e22673e..7ab1fb6c1a25 100644 --- a/sys/fs/nullfs/null_vfsops.c +++ b/sys/fs/nullfs/null_vfsops.c @@ -367,9 +367,10 @@ nullfs_statfs(struct mount *mp, struct statfs *sbp) /* now copy across the "interesting" information and fake the rest */ sbp->f_type = mstat->f_type; - sbp->f_flags = (sbp->f_flags & (MNT_RDONLY | MNT_NOEXEC | MNT_NOSUID | - MNT_UNION | MNT_NOSYMFOLLOW | MNT_AUTOMOUNTED | MNT_IGNORE)) | - (mstat->f_flags & ~(MNT_ROOTFS | MNT_AUTOMOUNTED)); + sbp->f_flags &= MNT_RDONLY | MNT_NOEXEC | MNT_NOSUID | MNT_UNION | + MNT_NOSYMFOLLOW | MNT_AUTOMOUNTED | MNT_EXPORTED | MNT_IGNORE; + mstat->f_flags &= ~(MNT_ROOTFS | MNT_AUTOMOUNTED | MNT_EXPORTED); + sbp->f_flags |= mstat->f_flags; sbp->f_bsize = mstat->f_bsize; sbp->f_iosize = mstat->f_iosize; sbp->f_blocks = mstat->f_blocks; From nobody Sat Apr 13 17:07:25 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VH0HK5vrcz5HnXv for ; Sat, 13 Apr 2024 17:07:41 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [IPv6:2a00:1450:4864:20::631]) (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 4VH0HK1VKYz4SYy for ; Sat, 13 Apr 2024 17:07:41 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-a51a7d4466bso212945066b.2 for ; Sat, 13 Apr 2024 10:07:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1713028057; x=1713632857; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=AtAYMXqQ3MIsNw429DC7cCkWJ25qxU5Oe8ZguM0LnZY=; b=hiGMOIJHKe9w/AXuWFkoUGie8VwGa/xloRUbjcl2z4LlGjlEemEeo9mLvptngdb5zH 6acxBWuxR6hHWIsA41LnKYB9ZBM9a7j2qm92D6XMQBHFnb4BP7A/EkIoHmJfH6hJ/0m/ 3OIf0Qzpk5QO3QJIPXOXv6IV5R2vgfhkVs4SEPNMAZkUhwHg7aspo7j8EUHV0F88jD0j I/segw9vV6bCmFu7BAeeyPhFgr2jxCooaA8cTeKqnpJHBqKqx0LK60S9ST1a3mJMeTYp 2xd/qrFJp3MTopPYSTa12za9FSf+vOteR4lxUdLh/Nrrr0gEdbP1Ky8/EwN2UtPVNKjc fJjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713028057; x=1713632857; 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=AtAYMXqQ3MIsNw429DC7cCkWJ25qxU5Oe8ZguM0LnZY=; b=wZIY0DTv1gVHw7CKWVIsJDk5ysH2rprngNuEIbmk5nfQdI3bk/XKmFAiBI4IdER8Al Ium6xXV9Cu7aExt9VAvTn4QGJhSCx7Ys/KCg8iw950JJ6vK0EFudtIpTY7FrUqq0C8rm evyRTJmOomsxdtoCE5++nTKBuFLQN58u1Tr1qGBJozh5uG97wpnsLJuaKoxnJQSuv08n dlISyJhAAiVlVxetRQ1teIDCnA4YSXkwoWHeTtjfJ3LKs1rkF0qbKdxDndQj5WjJ18E5 GxyOXfDdk9snbkGwxL0xvgV6h+lRdSyzlwDjQsLizYWo78M/SO31yaugKaaJn1csrNvs HcRQ== X-Forwarded-Encrypted: i=1; AJvYcCWJCPkD5fKuB1/A2HdS7P9jtIIxja72UBfkKCuUbwDlNCv2v189Co64OPTOtLE41g+jnd+uPiHwpnv99cFFSpb/Z527hlWiz+i7eG1wWtRv+g== X-Gm-Message-State: AOJu0YxzKSN89x7g4i9jp2njtMASppq7IUjpeDkdffHoWoj/UwjW+Yfv upwcZs01HPmxF6MjGCoj37Vut462mccp6OTtpNmqiGsfC1df9bTm3VTNXs1XILWmMODLBJMvV16 Ufoa7y1rJNx+9pA7KF0tmAzcoNHlvV+Kz/vjUHQ== X-Google-Smtp-Source: AGHT+IHZS1bMp270MbH3H5RnqLaFbu7oKALxTazvGUYDWbX4BipGRZxgNIDwVa9IFLqJ9d/XQw/YKzHlJaZpN+Ofq3M= X-Received: by 2002:a17:906:5f81:b0:a52:4edc:5514 with SMTP id a1-20020a1709065f8100b00a524edc5514mr1121545eju.26.1713028057467; Sat, 13 Apr 2024 10:07:37 -0700 (PDT) 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: X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202404091707.439H7vOb043582@gitrepo.freebsd.org> <5op16p78-969n-61p6-q049-o34ps2n04677@yvfgf.mnoonqbm.arg> In-Reply-To: <5op16p78-969n-61p6-q049-o34ps2n04677@yvfgf.mnoonqbm.arg> From: Warner Losh Date: Sat, 13 Apr 2024 11:07:25 -0600 Message-ID: Subject: Re: git: 22ca6db50f4e - main - config.mk: Add MK_VIMAGE knob To: "Bjoern A. Zeeb" Cc: "Stephen J. Kiernan" , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000db26820615fd6c1b" X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated 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-Queue-Id: 4VH0HK1VKYz4SYy --000000000000db26820615fd6c1b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Apr 12, 2024 at 1:29=E2=80=AFPM Bjoern A. Zeeb < bzeeb-lists@lists.zabbadoz.net> wrote: > On Tue, 9 Apr 2024, Stephen J. Kiernan wrote: > > > The branch main has been updated by stevek: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D22ca6db50f4e6bd75a141f57cf953d8= de6531a06 > > > > commit 22ca6db50f4e6bd75a141f57cf953d8de6531a06 > > Author: Stephen J. Kiernan > > AuthorDate: 2024-04-09 17:04:24 +0000 > > Commit: Stephen J. Kiernan > > CommitDate: 2024-04-09 17:05:56 +0000 > > > > config.mk: Add MK_VIMAGE knob > > > > Default to VIMAGE as yes. > > Add VIMAGE to __DEFAULT_DEPENDENT_OPTIONS (to define VIMAGE_SUPPORT) > > > > Only output VIMAGE to opt_global.h when VIMAGE support is wanted. > > > > Obtained from: Juniper Networks, Inc. > > Differential Revision: https://reviews.freebsd.org/D39636 > > --- > > share/mk/src.opts.mk | 2 ++ > > sys/conf/config.mk | 2 ++ > > sys/conf/kern.opts.mk | 4 +++- > > 3 files changed, 7 insertions(+), 1 deletion(-) > > I now see: > > cat: /usr/obj/usr/src/src.git/amd64.amd64/sys/FOO/opt_vimage.h: No such > file or directory > > during builds. I made sure I cleaned the sys/FOO obj tree. Any ideas? > I see this too... :( The problem is that VIMAGE is in opt_global.h, not in opt_vimage, so it was improper to add it here: for var in \ INET \ INET6 \ VIMAGE .if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} =3D=3D "no" MK_${var}_SUPPORT:=3D no .else .if defined(KERNBUILDDIR) # See if there's an opt_foo.h .if !defined(OPT_${var}) OPT_${var}!=3D cat ${KERNBUILDDIR}/opt_${var:tl}.h; echo <----------------- opt_vimage.h isn't a thing, it lives in opt_global.h .export OPT_${var} .endif .if ${OPT_${var}} =3D=3D "" # nothing -> no MK_${var}_SUPPORT:=3D no .else MK_${var}_SUPPORT:=3D yes .endif .else # otherwise, yes MK_${var}_SUPPORT:=3D yes .endif .endif .endfor So prior to this addition, this was abusing our build system somewhat, but it worked. Now, it doesn't work and can only work with more abuse: diff --git a/sys/conf/kern.opts.mk b/sys/conf/kern.opts.mk index 8b1151f3d624..99e4433ec3cf 100644 --- a/sys/conf/kern.opts.mk +++ b/sys/conf/kern.opts.mk @@ -188,9 +188,13 @@ OPT_${opt}:=3D ${rep} .if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} =3D=3D "no" MK_${var}_SUPPORT:=3D no .else -.if defined(KERNBUILDDIR) # See if there's an opt_foo.h +.if defined(KERNBUILDDIR) # See if there's an opt_foo.h or opt_global.h .if !defined(OPT_${var}) +.if exists(${KERNBUILDDIR}/opt_${var:tl}.h) OPT_${var}!=3D cat ${KERNBUILDDIR}/opt_${var:tl}.h; echo +.else +OPT_${var}!=3D cat ${KERNBUILDDIR}/opt_global.h; echo +.endif .export OPT_${var} .endif .if ${OPT_${var}} =3D=3D "" # nothing -> no which I think gets us past the present problem... But I think that config(8) should be generating a canonical list of options so we don't have to do this crazy gymnastics of kludgitude. Warner Warner --000000000000db26820615fd6c1b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


= On Tue, 9 Apr 2024, Stephen J.= Kiernan wrote:

> The branch main has been updated by stevek:
>
> URL: https://= cgit.FreeBSD.org/src/commit/?id=3D22ca6db50f4e6bd75a141f57cf953d8de6531a06<= /a>
>
> commit 22ca6db50f4e6bd75a141f57cf953d8de6531a06
> Author:=C2=A0 =C2=A0 =C2=A0Stephen J. Kiernan <stevek@FreeBSD.org&g= t;
> AuthorDate: 2024-04-09 17:04:24 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Stephen J. Kiernan <stevek@FreeBSD.org&g= t;
> CommitDate: 2024-04-09 17:05:56 +0000
>
>=C2=A0 =C2=A0
config.mk: Add MK_VIMAGE knob
>
>=C2=A0 =C2=A0 Default to VIMAGE as yes.
>=C2=A0 =C2=A0 Add VIMAGE to __DEFAULT_DEPENDENT_OPTIONS (to define VIMA= GE_SUPPORT)
>
>=C2=A0 =C2=A0 Only output VIMAGE to opt_global.h when VIMAGE support is= wanted.
>
>=C2=A0 =C2=A0 Obtained from:=C2=A0 Juniper Networks, Inc.
>=C2=A0 =C2=A0 Differential Revision:=C2=A0 https://reviews.fre= ebsd.org/D39636
> ---
> share/mk/src.opts.mk=C2=A0 | 2 ++
> sys/conf/config.mk=C2=A0 =C2=A0 | 2 ++
> sys/conf/kern.opts.mk | 4 +++-
> 3 files changed, 7 insertions(+), 1 deletion(-)

I now see:

cat: /usr/obj/usr/src/src.git/amd64.amd64/sys/FOO/opt_vimage.h: No such fil= e or directory

during builds.=C2=A0 I made sure I cleaned the sys/FOO obj tree.=C2=A0 Any = ideas?

I see this too... :(
<= br>
The problem is that VIMAGE is in opt_global.h, not in opt_vim= age, so it was improper to add it here:
for var in \
=C2=A0 = =C2=A0 INET \
=C2=A0 =C2=A0 INET6 \
=C2=A0 =C2=A0 VIMAGE
.if defin= ed(WITHOUT_${var}_SUPPORT) || ${MK_${var}} =3D=3D "no"
MK_${va= r}_SUPPORT:=3D no
.else
.if defined(KERNBUILDDIR) =C2=A0 =C2=A0 =C2= =A0 # See if there's an opt_foo.h =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0=C2=A0
.if !defined(OPT_${var})
OPT_${var}!=3D cat ${KERNB= UILDDIR}/opt_${var:tl}.h; echo <----------------- opt_vimage.h isn't= a thing, it lives in opt_global.h
.export OPT_${var}
.endif.if ${OPT_${var}} =3D=3D "" =C2=A0 =C2=A0 =C2=A0 =C2=A0 # nothi= ng -> no =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0
MK_${var}_SUPPORT:=3D no
.else
MK_${var}_SUPPORT:=3D yes.endif
.else =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 # otherwise, yes =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
MK_${var}_SUPPORT:=3D y= es
.endif
.endif
.endfor

So prior to this additi= on, this was abusing our build system somewhat, but it worked. Now, it does= n't work and can only work with more abuse:

di= ff --git a/sys/conf/kern.opts.mk b/sys/= conf/kern.opts.mk
index 8b1151f3d624= ..99e4433ec3cf 100644
--- a/sys/conf/ker= n.opts.mk
+++ b/sys/conf/kern.opts.m= k
@@ -188,9 +188,13 @@ OPT_${opt}:=3D =C2=A0 =C2=A0 =C2=A0 ${rep}=C2=A0.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} =3D=3D "no&= quot;
=C2=A0MK_${var}_SUPPORT:=3D no
=C2=A0.else
-.if defined(KERN= BUILDDIR) =C2=A0# See if there's an opt_foo.h
+.if defined(KERNBUILD= DIR) =C2=A0 =C2=A0# See if there's an opt_foo.h or opt_global.h
=C2= =A0.if !defined(OPT_${var})
+.if exists(${KERNBUILDDIR}/opt_${var:tl}.h)=
=C2=A0OPT_${var}!=3D cat ${KERNBUILDDIR}/opt_${var:tl}.h; echo
+.els= e
+OPT_${var}!=3D cat ${KERNBUILDDIR}/opt_global.h; echo
+.endif
= =C2=A0.export OPT_${var}
=C2=A0.endif
=C2=A0.if ${OPT_${var}} =3D=3D = "" =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0# nothi= ng -> no

which I think gets us past the present= problem...

But I think that config(8) should be g= enerating a canonical list of options so we don't have to do this crazy= gymnastics of kludgitude.

Warner
Warner
--000000000000db26820615fd6c1b-- From nobody Sat Apr 13 17:12:36 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VH0P03dlnz5Hp85; Sat, 13 Apr 2024 17:12: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 4VH0P036JYz4TL7; Sat, 13 Apr 2024 17:12:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713028356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P6jFsugwTx8flFe2C7QTFcxyKxloAS4UbpmG/bDHUXk=; b=gHn1aqrlkhOSlN/eHhq5PjI/WQ+pJRDmAf1mCUXXsOYjsyikrS0gzwF3CUIR334VzbqRut +MZdLe2SSVdGeZT6S/KpaOhzTr73p2H/ycQ9y6sA7OCrfSBIeY8yk3NbcJeKAranOyzzHE 1ju/Ks4C6vR01uqLVMgPfHyI8ICkGMmDZq1xCXGZ/dVYS2hXu6csGQih5/seFv0kTtTR4r 1OKHtuP58Z1MXSM4RTz7q+1oQ/Srj4C/+LeoAHfr4+87RMtfEwAHtAHWPl+/c8/CR3DWWK KS/EvKaVoHvxmTyaSU03sRW6qPm9AdzczpOmJRk/rdJWrP9TvWNE9Gt9wDvwfg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713028356; a=rsa-sha256; cv=none; b=ZSIdf8GBzcBCqeoeHtnLwN1XA74np29VLBFffs1tMB1dSSdYw7SXvFZI+IeEES0yhSDm6+ T2BavoYlYLdsfruDtMCad13VSaVUNHm3YqnclGdLlpqh4h011zmbonadiCxJAXRXfqhA86 PDQG17S2b1/IKb+plscgFbcUaUsGTDZq3//oeYh80hFgI/cj700GYrEP+cvEXdF7akOxWb LDu6znYXGeAWZqGwUiYJTW8+vdm749YtS3Gcrg3XJopGT/LWsWIYWXGi6cnHwdTKgNnJwE Uzcc+x0nJgnA1GTDJzTuEXW2H9kQTvxcxnBpAIA43pcYH05yJVh0zlfOc3xZtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713028356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P6jFsugwTx8flFe2C7QTFcxyKxloAS4UbpmG/bDHUXk=; b=JnATIJepV7/72ai4w93vlCF5Z3o4kfzjug/0CHWsWvNvwVSwwjuT61mBdG/Zdvrd3SOv05 kfLB0QwTu3b1R7RLRWVsQ+icVcR9/7tC03/ncH+D08h9R6Wqz5BSVIUTl2ojNm2tR+LlWp 3Wbl5NypyF2f7vK3AcVXGAz0Vwp+XI8NpdLNrOP8gUiGL/LX173QWnGLY/flL52h4EsG99 JRFsrQV35fMW9cbD8+pBqKnQklcjcLp64N8IMyqOx4BrHZ+ROeokZNj/EZ9dohQz6Ep1Ch /DMsAiV36Czu2dKnYVo/sC5a8CPj7R8d2vSYfrokUohgbjw2YC/BGiN3pRGXNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VH0P02jvzzhhZ; Sat, 13 Apr 2024 17:12:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43DHCacr019839; Sat, 13 Apr 2024 17:12:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43DHCarN019836; Sat, 13 Apr 2024 17:12:36 GMT (envelope-from git) Date: Sat, 13 Apr 2024 17:12:36 GMT Message-Id: <202404131712.43DHCarN019836@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 068c675ca7ae - main - sound: Remove leftover references to snd_clone 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: 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: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 068c675ca7aec11d3546c3f908e842a7eca2ccae Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=068c675ca7aec11d3546c3f908e842a7eca2ccae commit 068c675ca7aec11d3546c3f908e842a7eca2ccae Author: Christos Margiolis AuthorDate: 2024-04-13 17:12:27 +0000 Commit: Christos Margiolis CommitDate: 2024-04-13 17:12:27 +0000 sound: Remove leftover references to snd_clone The snd_clone framework does not exist as of e8c0d15a64fadb4a330f2da7244becaac161bb70 ("sound: Get rid of snd_clone and use DEVFS_CDEVPRIV(9)"), so remove leftover references to it from unit.c. Sponsored by: The FreeBSD Foundation MFC after: 2 months Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D44758 --- sys/dev/sound/unit.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/sys/dev/sound/unit.c b/sys/dev/sound/unit.c index 1f1b889b42ce..28ffbde1f7ec 100644 --- a/sys/dev/sound/unit.c +++ b/sys/dev/sound/unit.c @@ -44,24 +44,17 @@ * * eg: dsp0.p1 - u=0, d=p, c=1 * dsp1.vp0 - u=1, d=vp, c=0 - * dsp0.10 - u=0, d=clone, c=allocated clone (see further explanation) * - * Maximum unit of soundcards can be tuned through "hw.snd.maxunit", which - * is between SND_UNIT_UMIN (16) and SND_UNIT_UMAX (2048). By design, - * maximum allowable allocated channel is 256, with exception for clone - * devices which doesn't have any notion of channel numbering. The use of - * channel numbering in a clone device is simply to provide uniqueness among - * allocated clones. This also means that the maximum allowable clonable - * device is largely dependant and dynamically tuned depending on - * hw.snd.maxunit. + * Maximum unit of soundcards can be tuned through "hw.snd.maxunit", which is + * between SND_UNIT_UMIN (16) and SND_UNIT_UMAX (2048). By design, the maximum + * allowable allocated channel is 256. */ /* Default width */ static int snd_u_shift = 9; /* 0 - 0x1ff : 512 distinct soundcards */ static int snd_d_shift = 5; /* 0 - 0x1f : 32 distinct device types */ static int snd_c_shift = 10; /* 0 - 0x3ff : 1024 distinct channels - (256 limit "by design", - except for clone devices) */ + (256 limit "by design") */ static int snd_unit_initialized = 0; @@ -184,10 +177,7 @@ snd_unit_init(void) snd_u_shift++) ; - /* - * Make room for channels/clones allocation unit - * to fit within 24bit MAXMINOR limit. - */ + /* Make room for channels to fit within 24bit MAXMINOR limit. */ snd_c_shift = 24 - snd_u_shift - snd_d_shift; } From nobody Sun Apr 14 01:00:14 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHBmt64sFz5GcK4; Sun, 14 Apr 2024 01:00:30 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (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 4VHBms3Pggz46Z6; Sun, 14 Apr 2024 01:00:29 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of carpeddiem@gmail.com designates 209.85.167.43 as permitted sender) smtp.mailfrom=carpeddiem@gmail.com Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-516a01c8490so2186198e87.1; Sat, 13 Apr 2024 18:00:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713056427; x=1713661227; 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=WyFP4L+KEBHV/1+4uRfD21va1YtxByftf+z60NneDUU=; b=kuDnkKcDgTtNQ/tWtW01P7q+B0JcdDvsN6EX+xHlKqy9WVcsulfP/iC4TpeSBmLH+W tQvVMsPt2KD8XhswAmoeDCPkeGGGb0kFDypMyaoxC2qOeyxcrEnasCsWrNGRU7UReZ/q LhKUVtczLgPG4hRjMH/R5U8lZ0/Zp7HzntaUdleDKbPpgzXokm9W6WtMvS8Gbf3R/VKx fjTJKour2LZlyV27gRLI/Y09kpPIz3DT3nvqzIxGy7Rjx6STlP3zItVIGztkkkJ8p1WW dVoLQ5/6aPS/9fKjsmIMY8fmSQNhc+9Ax0294FqkfF55nrcqyV2aoeW0ml5DHZgN1/66 bvmA== X-Forwarded-Encrypted: i=1; AJvYcCWgCa6dVm15mAClcqAwTU8B8irkGojHVIqHsQkgxVlKoOSVuSp/m5EQhKb+wgKBdWjgv9jzDYBKifCWeHEqZc/tzl3kEtlNmdIdsBEw5P4vkyH3PW9trfFR/yg5og+R++wgxiceHvXNFZ4RhavfmtnTEw== X-Gm-Message-State: AOJu0YwoHAPF0YTJUZMnNDTJ7mO/64OJuyheMFAFas1+D1WTON/Kj3Vy 2RaxVf6snCtDB7vHsy9sVnrb9hMmlKON1zk7jeCuPMsiZ+LMNtS/h4a+s2cL0kFqsbB2eUPjEHn 16ihTAVskODVr0wfX4UO7ICMVxNMzx9Az X-Google-Smtp-Source: AGHT+IF1aPYHW6nd/k8IAsMXnRodwdJjuBHBvIANf0QKipB5PP0TO2w4h/aFkNDK4U2uioT7vtWWgdA5R4zbhRIT92E= X-Received: by 2002:a19:f604:0:b0:518:b7cb:c1ec with SMTP id x4-20020a19f604000000b00518b7cbc1ecmr482764lfe.11.1713056426821; Sat, 13 Apr 2024 18:00:26 -0700 (PDT) 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: X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202404091707.439H7vOb043582@gitrepo.freebsd.org> In-Reply-To: <202404091707.439H7vOb043582@gitrepo.freebsd.org> From: Ed Maste Date: Sat, 13 Apr 2024 21:00:14 -0400 Message-ID: Subject: Re: git: 22ca6db50f4e - main - config.mk: Add MK_VIMAGE knob To: "Stephen J. Kiernan" 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-Bar: -- X-Spamd-Result: default: False [-2.85 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.95)[-0.948]; FORGED_SENDER(0.30)[emaste@freebsd.org,carpeddiem@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FREEFALL_USER(0.00)[carpeddiem]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCVD_COUNT_ONE(0.00)[1]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.167.43:from]; RCVD_IN_DNSWL_NONE(0.00)[209.85.167.43:from]; R_DKIM_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[emaste@freebsd.org,carpeddiem@gmail.com]; FROM_HAS_DN(0.00)[]; MISSING_XM_UA(0.00)[]; ARC_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4VHBms3Pggz46Z6 On Tue, 9 Apr 2024 at 13:08, Stephen J. Kiernan wrote: > > The branch main has been updated by stevek: > > URL: https://cgit.FreeBSD.org/src/commit/?id=22ca6db50f4e6bd75a141f57cf953d8de6531a06 > > commit 22ca6db50f4e6bd75a141f57cf953d8de6531a06 > Author: Stephen J. Kiernan > AuthorDate: 2024-04-09 17:04:24 +0000 > Commit: Stephen J. Kiernan > CommitDate: 2024-04-09 17:05:56 +0000 > > config.mk: Add MK_VIMAGE knob This breaks the makeman CI test, erroring with no description found for WITHOUT_VIMAGE, skipping no description found for WITHOUT_VIMAGE_SUPPORT, skipping From nobody Sun Apr 14 01:36:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHCZF3NBKz5GgVn for ; Sun, 14 Apr 2024 01:36:21 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) (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 4VHCZF157Rz4ClV for ; Sun, 14 Apr 2024 01:36:21 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-a523d34be5fso256408366b.0 for ; Sat, 13 Apr 2024 18:36:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1713058579; x=1713663379; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=O0TYGY3kHRVxtM1QqDAYQNKhCPqS/jHXWziz4VCttHo=; b=g3pFvRvh/YEqVLf9A+i6lcWKaVfwwrFP3MN5eo4HVbKpWbnEumA4FmeL87k/y8H8nX Bq19EOcBYyZRqbRVtKLOse0pRj/F5DIqMJA3XNU91SFqfcX/tfLdORE51djKzn2ivxsw GXdtHXrPScQji5WnUg7nEwiEusaBzb3ZzuSuTYtD09ENJ6KoX3jBYoMrTR4HyCM5WdUp 0ecPQNNSqvUu6dDX6kJCtVUfMO7OyNDKmTQ33XmToAEp7gS2NwbfEgulWrkDSblbYqK5 qEZwA82N93xzEhF+NENcFTslJBrSAyIgA52HjEcJnTfhcmmrua+S7X22LpTtkotxfQqv kVlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713058579; x=1713663379; 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=O0TYGY3kHRVxtM1QqDAYQNKhCPqS/jHXWziz4VCttHo=; b=FGHIR1mlspPP+yJtosBoavj02kezELh+c8cmplsCkfcybiXqgVECrKcByh/un39Pin 8SqQo2Xc/cv2BuyDEOF9QKqOu5nUaxwz2sZhgEwAxEZKqw2adBq17jfwj5/GBpnyHO34 eir0oCTyf7QLVtn8EoGPuV3h1iOX+euIqMdJDkr2zTSVsuoQKdsbiv/1p912a7ro+ej5 wKL+ExWdaLjYVwE2uSYHIW4hgvH0/c1p6xqJY53Ry/KX2COPMsK5oaHoPm5i1RwiAl7j njodkuiibcZd04co93hNy/4n1NJQOmvz8HpsIYZMtr56w3VdjBEMfCiGM61GrIsdA2d6 iziw== X-Forwarded-Encrypted: i=1; AJvYcCVBpGlq3x6sack3YHHgtql4hEPNlHE/u8+r2Smi/tn4hgCG3f0SeJOhOcSjBO/ogfLb7+S4riJ3EO3+1fA+FAmJhogmoZY6OXccLYXvcmsRsQ== X-Gm-Message-State: AOJu0YxsQ11QhelSJkRGfRLILnX7chihDJTzcfzFkrPeVfbG966AE0BK 5qN1Wp+dG9FvxhdtCjeAtEQJhs/x9+YbeG7c6czHOONPY/s4DQY1uctSnEnsiWOY1mXQz0xtbMF fvhE9x711r4JZL4gsH9ctyO4dd96ypvWW2SMyqQ== X-Google-Smtp-Source: AGHT+IEUbaz5gDJLRbfc/Rof584BInaaHZod3lP5MNVNV+MmIMqGOObXUc+0ksIzoGRnXSOOvWz6i6a2jW7axk+QaxU= X-Received: by 2002:a17:907:25cd:b0:a52:3657:9a00 with SMTP id ae13-20020a17090725cd00b00a5236579a00mr4620414ejc.36.1713058579403; Sat, 13 Apr 2024 18:36:19 -0700 (PDT) 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: X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202404091707.439H7vOb043582@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Sat, 13 Apr 2024 19:36:06 -0600 Message-ID: Subject: Re: git: 22ca6db50f4e - main - config.mk: Add MK_VIMAGE knob To: Ed Maste Cc: "Stephen J. Kiernan" , src-committers , "" , "" Content-Type: multipart/alternative; boundary="0000000000001af0f606160488ae" X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated 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-Queue-Id: 4VHCZF157Rz4ClV --0000000000001af0f606160488ae Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Apr 13, 2024, 7:00=E2=80=AFPM Ed Maste wrote: > On Tue, 9 Apr 2024 at 13:08, Stephen J. Kiernan > wrote: > > > > The branch main has been updated by stevek: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D22ca6db50f4e6bd75a141f57cf953d8= de6531a06 > > > > commit 22ca6db50f4e6bd75a141f57cf953d8de6531a06 > > Author: Stephen J. Kiernan > > AuthorDate: 2024-04-09 17:04:24 +0000 > > Commit: Stephen J. Kiernan > > CommitDate: 2024-04-09 17:05:56 +0000 > > > > config.mk: Add MK_VIMAGE knob > > This breaks the makeman CI test, erroring with > no description found for WITHOUT_VIMAGE, skipping > no description found for WITHOUT_VIMAGE_SUPPORT, skipping > Based on that and my other email, i think a revert is in order. Warner > --0000000000001af0f606160488ae Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Sat, Apr 13, 2024, 7:00=E2=80=AFPM Ed Maste <emaste@freebsd.org> wrote:
On Tue, 9 Apr 2024 at 13:08, Stephen J. K= iernan <stevek@freebsd.org> wrote:
>
> The branch main has been updated by stevek:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=3D22ca6db50f4e6bd75a141f57cf953d= 8de6531a06
>
> commit 22ca6db50f4e6bd75a141f57cf953d8de6531a06
> Author:=C2=A0 =C2=A0 =C2=A0Stephen J. Kiernan <stevek@FreeBSD.org&g= t;
> AuthorDate: 2024-04-09 17:04:24 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Stephen J. Kiernan <stevek@FreeBSD.org&g= t;
> CommitDate: 2024-04-09 17:05:56 +0000
>
>=C2=A0 =C2=A0 =C2=A0config.mk: Add MK_VIMAGE knob

This breaks the makeman CI test, erroring with
no description found for WITHOUT_VIMAGE, skipping
no description found for WITHOUT_VIMAGE_SUPPORT, skipping
<= /div>

Based on that and = my other email, i think a revert is in order.

Warner
--0000000000001af0f606160488ae-- From nobody Sun Apr 14 02:12:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHDMk5YdPz5Gkd7; Sun, 14 Apr 2024 02:12: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 4VHDMk5439z4Fq5; Sun, 14 Apr 2024 02:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mw4SAVgWNx6FEpjnXynSeQCFq4GZkKrzab0luYgRzew=; b=tPltzpTvjTaaW0Xfm2ASvS/RKmBs1svR7UBsXosVynbzNY1Hnwm9HmUBxd94+M4yqUp+Z9 QeAJMHwBnHTulj6NlTj3qMEx1JzDchsxNgVJETbqOvuq0SmSvtL+Y+WhrDpj6S+s6nr7fa khycoMAmU8VVs+N+X1FOeT0fZ2rzmtJ6bLDh19mczo5loyb/I6pMHlIGTw0A+bXbl19yFY PPuFslFtMwvjBkLbA50FgSkmV9lx41VAZ/tToOttX4rMFZz2EetvoJKSuvl4iGmEBEvZzX cVmVGIcXSRyhiP+AqadtcgsQA2CUri/EZe55R8GjV3/cylb54USP46PNcm5MBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713060738; a=rsa-sha256; cv=none; b=vUqbHqaoULzFuelryiA6mIkEo80GYe4bkZnWIA4yiqfNtDY7HcLz07264FPXpRdMcLcOqS goq8M5Ry+FUK8GA8Msd6wX8zk02sYYQX4AMFvS60UOH3UkdQJNUyLC8SepfWIlmvO7WKdy 2km342GrDdfxms4xUsMniMNVoS4k/NjCYmi5DxqlMkxOxbzaQhFXYJiXGCP2coh9ARqYNJ 4ex8W5RsJXuq2+VSNjLRMovQgwBMU+BBwmawu1e1AZ844ToowedupOWtCrNpDa/6g5Wlot VFgQvPrgauFH0gJOKWCu9POgTSJLbOEPY7V1JJoubxLapgwJeyD3Z8y0fn4FbQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mw4SAVgWNx6FEpjnXynSeQCFq4GZkKrzab0luYgRzew=; b=MVLMgjlLTRLb8tsXZneIutifLBjO4AO8II3s/aXVL6lo+0Al1XmIRy8gB9PvuGH4V2uYvp YvG2a4y3WGLMte0wQxAq80aPDjHX0MCzwi/Pzw/tmf6X7xshvM6RHul2dBc+oypEhkEeFa iJa2crjTztASdpbYQQVyio0JGsTHezBnQNOTtUg4meIiDkEcUJZuOMB1lYj4wz5SyJ67bj ap+AA7TgLVIWvGWb7yf8s9LZgf/1Sv4t47slhzv1po0JfSSyEp77G+Y4dsSXkSd2n2rexJ hCob+RaywtIM/+3MQ7h9FU3MMJj4DOsu7J5vx4mHhZ0D/4yqm5Js5rCsH59ymw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHDMk4gWbzxZF; Sun, 14 Apr 2024 02:12:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43E2CIIP030084; Sun, 14 Apr 2024 02:12:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E2CIUb030081; Sun, 14 Apr 2024 02:12:18 GMT (envelope-from git) Date: Sun, 14 Apr 2024 02:12:18 GMT Message-Id: <202404140212.43E2CIUb030081@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: 9c3fd2c1c7b8 - main - NOTES: Move IEEE80211_DEBUG_REFCNT to the MI NOTES file 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: 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: 9c3fd2c1c7b8887d2ffaf14c61b04c55657d68bf Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9c3fd2c1c7b8887d2ffaf14c61b04c55657d68bf commit 9c3fd2c1c7b8887d2ffaf14c61b04c55657d68bf Author: John Baldwin AuthorDate: 2024-04-14 02:09:38 +0000 Commit: John Baldwin CommitDate: 2024-04-14 02:09:38 +0000 NOTES: Move IEEE80211_DEBUG_REFCNT to the MI NOTES file This option is not specific to amd64 Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44779 --- sys/amd64/conf/NOTES | 3 --- sys/conf/NOTES | 1 + 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 426db398a4ae..6eaed3fa7f52 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -368,9 +368,6 @@ device iwn6000g2bfw device iwn6050fw device wpifw -# net80211 options -options IEEE80211_DEBUG_REFCNT - # # Non-Transparent Bridge (NTB) drivers # diff --git a/sys/conf/NOTES b/sys/conf/NOTES index e3332ee20120..a4c62dac873a 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -886,6 +886,7 @@ device vxlan # and ath drivers and will eventually be required by all 802.11 drivers. device wlan options IEEE80211_DEBUG #enable debugging msgs +options IEEE80211_DEBUG_REFCNT options IEEE80211_SUPPORT_MESH #enable 802.11s D3.0 support options IEEE80211_SUPPORT_TDMA #enable TDMA support From nobody Sun Apr 14 02:12:19 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHDMm0Fhwz5GkqT; Sun, 14 Apr 2024 02:12: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 4VHDMl62xDz4Fxs; Sun, 14 Apr 2024 02:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O7k2XxKLRxkki3665XPcYEShdTGNwUt6XQqxpcBDW6I=; b=JNU660NVG9EXBlZed+WShTnqMexnYCOVBUkBHTzS7UTXJrBgF1qP6vxbiWV6WD8JOfR7oT AUlbE2o7obUb/o8/30ouH2L+9fjtjFDFz0k5Jmu4+JBoGCAwyjI7M9lLsg/mgxHCrUDxx7 1vxdcd5Vs6DVlzBhN1Uv8OiAO9m0aHw1TaThBw8yQ5D0quRBPVGbv327dffjDuQb0L7AG+ KcKnD/TaWJuZc55t0+hrkOVHq6jmXU6nrnZQO0eidmljHxsj/Z5TvHO3nbWiiSLpmn4dhc Jju11v478pc1AKijMqoIorL9svuC6/oVjHfn9exebZqBWe3hfcwjYWtw5+N6oQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713060739; a=rsa-sha256; cv=none; b=wlM3ZFxaomBkoYiY/ojrVCvPjV0UGac9rr5ICo+XR+3cGqJz1edOXVqLw86jL9Ci/H4phX gpv7CtujJHSSAuZ8kznjzIs9WDbOPvOWHJkf/t1tBX/2egSBMLsJzuj85vFJc5O/ZZo1pa MmuUpX/i5jyiT9ZdQN3fH6mVN9/GB41qg+qJXX9ythFfUfvumP3/9gA9BNPI38GAlsmxNK 3Mh6FdLod677h387qwA2b7zE0F6ko8+3cudjJEIemvseSUBC2wyk8ykBpQodFDOiDZ1ucH gZEcCBj88yYHsiB0C60OnOxZ4cCGl0G0ImGW/KAnnrjGy2vq+QKN0WsFNjqqrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O7k2XxKLRxkki3665XPcYEShdTGNwUt6XQqxpcBDW6I=; b=rxMXA3jcDN79qSGBgm7NBYFkW+189saq9PWKM9fP0yozNJ0wx0Pit99UAVr4kqgQmWRyDe wuxbl5Du1owOgdsfjLOdhT/ripak0sJ4AubQDI8DRo47CelZX1JsCSH+7gIBqM9d8n5soN MoBfPwwU+9Q+Ssigo8LQjao0cnuZ475wgUxJLCBrHOKSfJy0wlkLmNFZ3pONfzFlnxW0VH rj9/ZQmtBny2zTKzgGCgd8U773M8CB5qAJhSF3RJbgX7MdNwziqLgHBeLAbqJ05PEkBak8 0cdEt9WtGPYNmx3hDJA5m+HeQ4g8bItw2+J8jODBhb44kQu4Lv/UXoJMSRWlBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHDMl5fNQzxfg; Sun, 14 Apr 2024 02:12:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43E2CJBe030135; Sun, 14 Apr 2024 02:12:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E2CJsd030132; Sun, 14 Apr 2024 02:12:19 GMT (envelope-from git) Date: Sun, 14 Apr 2024 02:12:19 GMT Message-Id: <202404140212.43E2CJsd030132@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: ff3569be6fe0 - main - NOTES: Move safe(4) to the MI NOTES file 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: 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: ff3569be6fe01839affdefa14f55cc03a1f4f9d0 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ff3569be6fe01839affdefa14f55cc03a1f4f9d0 commit ff3569be6fe01839affdefa14f55cc03a1f4f9d0 Author: John Baldwin AuthorDate: 2024-04-14 02:09:57 +0000 Commit: John Baldwin CommitDate: 2024-04-14 02:09:57 +0000 NOTES: Move safe(4) to the MI NOTES file Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44780 --- sys/amd64/conf/NOTES | 8 -------- sys/conf/NOTES | 4 ++++ sys/i386/conf/NOTES | 7 ------- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 6eaed3fa7f52..0cabacb45dd7 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -450,14 +450,6 @@ device pmspcv # Only for legacy Atom C2XXX chipsets. device qat_c2xxx -# -# SafeNet crypto driver: can be moved to the MI NOTES as soon as -# it's tested on a big-endian machine -# -device safe # SafeNet 1141 -options SAFE_DEBUG # enable debugging support: hw.safe.debug -options SAFE_RNDTEST # enable rndtest support - # # VirtIO support # diff --git a/sys/conf/NOTES b/sys/conf/NOTES index a4c62dac873a..85cd1a307c14 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -2635,6 +2635,10 @@ device hifn # Hifn 7951, 7781, etc. options HIFN_DEBUG # enable debugging support: hw.hifn.debug options HIFN_RNDTEST # enable rndtest support +device safe # SafeNet 1141 +options SAFE_DEBUG # enable debugging support: hw.safe.debug +options SAFE_RNDTEST # enable rndtest support + ##################################################################### diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index 6692a9dba10e..eee1424b2118 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -641,13 +641,6 @@ device vmd # # PMC-Sierra SAS/SATA controller device pmspcv -# -# SafeNet crypto driver: can be moved to the MI NOTES as soon as -# it's tested on a big-endian machine -# -device safe # SafeNet 1141 -options SAFE_DEBUG # enable debugging support: hw.safe.debug -options SAFE_RNDTEST # enable rndtest support # # glxiic is an I2C driver for the AMD Geode LX CS5536 System Management Bus From nobody Sun Apr 14 02:12:20 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHDMn2Fm0z5Gksb; Sun, 14 Apr 2024 02:12: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 4VHDMm6NGsz4Fq8; Sun, 14 Apr 2024 02:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vlc7z4OE1mqF5dffMc8j1JJxsq6DljPTQDJBWhesC+U=; b=D9XReducVO4xzWjaMRBY5d0SpSJUq83V6GuVliPaO0II6ioB1LjtfAfUXF9cVa8gdiv93C ullXtS0cA0hK4iZRx48S15MREtL/6BWqNq1GmbWmO/6u+xqJnYcayRfp8Pwew8w6uYOdOq 920NG7UsJejPsMstCISLZdEPGpsCoM+np/fHSg9z3f+DxJPVZGMbP6hlA+fwI+TSumK7fG cioXyJjiVf0q8/gj64MjY1Q/AaaGLuFQs3OxJYkmGTJys4qMf/sryeZq5eJs+9GkqtCDjZ WZKWcdfruVWAaOnhV7nGPObRRz9bV0FNO+tFNC2iogONDiTYAzUJ0Wm9JIcfyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713060740; a=rsa-sha256; cv=none; b=p8blFGz9Mbk4RjhAknPNKk6osoXHeuhWftG8ge9GO+iXCXPGPmXBkXSlMHqCIQTKuXDoIZ 0tMXqdx/Lv3MpbQhzGQpmNlDlQzYj32+edbQVj4yjktOr4sRPVRPEYmJtc6mwoa26jwQS8 pYrpFRuHl444I3WBPqgrAtghkm3WVMPDyPgCCX2dcObjINCu4saknfHNy60fb2vWM8f1NV XJRvxgcrR7GBhlMhOU0U1MLfD3Z8rwEm60tID9NMZ7BdmfXtjX1QoJI9u6gAT0cYCK4yn2 u4GENy0ZauGTSh+3V3VKlt+AE19oanJu8LWBIm8N8CIKw06cyAbJfVVzYIyYCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vlc7z4OE1mqF5dffMc8j1JJxsq6DljPTQDJBWhesC+U=; b=iZ4XluRaCu11mrf7V4s/BY11i/op5clCOdQ1KLRGe973v4L89GoxcuiwdXeY8jXyayTEak sia6Yxj/liv4XfZq8FboLBVZrmz0sl3aV5ddNnFHrGbZgmZQ7ocsidgjZyMJXyoDeq2jyo wfCuCkwmNWDYv0VYM5qb9aULKB3ZbqeOcoO+g4a7NJcKEu7R4CtMGjOUQJ3FkpIzrTFfsp 8ZZ3xWw12iXzpdS/EbtRAjC+GW+jW+XjjEliYrFqBuFaf/KA0Vwfl+SImj6Q/5b89ZmDCg gXR3MBkOKFXcuSDw7P4BJtZiYKt0SlNvUXzZkfQOVsn2M6mWG91oVFiawDpctA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHDMm60CTzxrC; Sun, 14 Apr 2024 02:12:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43E2CKNT030180; Sun, 14 Apr 2024 02:12:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E2CKJ6030177; Sun, 14 Apr 2024 02:12:20 GMT (envelope-from git) Date: Sun, 14 Apr 2024 02:12:20 GMT Message-Id: <202404140212.43E2CKJ6030177@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: 1d51575980bd - main - files: Sort the VirtIO device entries 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: 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: 1d51575980bd246c1583cd02df47278aac5b6f4c Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1d51575980bd246c1583cd02df47278aac5b6f4c commit 1d51575980bd246c1583cd02df47278aac5b6f4c Author: John Baldwin AuthorDate: 2024-04-14 02:10:14 +0000 Commit: John Baldwin CommitDate: 2024-04-14 02:10:14 +0000 files: Sort the VirtIO device entries Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44781 --- sys/conf/files | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index 0594392ad553..941fa6a5a48b 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3415,13 +3415,13 @@ dev/virtio/mmio/virtio_mmio_cmdline.c optional virtio_mmio dev/virtio/mmio/virtio_mmio_fdt.c optional virtio_mmio fdt dev/virtio/mmio/virtio_mmio_if.m optional virtio_mmio dev/virtio/network/if_vtnet.c optional vtnet -dev/virtio/block/virtio_blk.c optional virtio_blk dev/virtio/balloon/virtio_balloon.c optional virtio_balloon +dev/virtio/block/virtio_blk.c optional virtio_blk +dev/virtio/console/virtio_console.c optional virtio_console dev/virtio/gpu/virtio_gpu.c optional virtio_gpu -dev/virtio/scsi/virtio_scsi.c optional virtio_scsi dev/virtio/random/virtio_random.c optional virtio_random -dev/virtio/console/virtio_console.c optional virtio_console dev/virtio/scmi/virtio_scmi.c optional virtio_scmi +dev/virtio/scsi/virtio_scsi.c optional virtio_scsi dev/vkbd/vkbd.c optional vkbd dev/vmgenc/vmgenc_acpi.c optional acpi dev/vmware/vmxnet3/if_vmx.c optional vmx From nobody Sun Apr 14 02:12:21 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHDMp2CJHz5Gl8K; Sun, 14 Apr 2024 02:12: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 4VHDMp0Mj5z4Fkd; Sun, 14 Apr 2024 02:12:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A5nvnOliSPHfzJQrPaCWBbS3Zhdp4r/8s8wJC0jp8Fw=; b=coH+ZklodD6bIgdd7ogBB8g3tTyn92jWPCYcBotuLibLtncJXQZvPrSFmTd9LoBwTh1sGz Xnv+qZIK5TBWzG5jX+r166/hMOFL0wy5z40L+75LXuxfOWquHZlBGrYQisMDOwPj2x1p/l 85oDNthVTN31Jg1NurLhag5CgQkPCaG8lKSXbCvmrRynOCDHXK/y0/SO5NGdhEnyVagbkJ SLxWsrm5fI3KnqnHnckbI/BWO5j4i+nrJkwwbBp7q0f5OKtihl9YBMYFGNB4qeoB6bkAyl cy25ztNvqyo19wXQOBUZYIrFtmceLmjc4Aab7KechTrzh6jQZBkVBEE72QMQFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713060742; a=rsa-sha256; cv=none; b=XjjxhIpKjOuVnutKAB7qCDSNrDqXSciDHv8w/gUQCc5fl3sFwgVIqXqry4pa4rChW8pDn0 iBiyadT80KR8k1UdpNQa5GkFbsIJXm6GirlASRuKNSLl4lt4/gWPzPs4xlxRr0N8w+0H72 y5wvJee7aPbuHiUzxZkuIe3zwEDXVUrvgcnAiEZvNqxZfCny4G10pe9W0vp2e+AsqOsTVm ndMvauimIqL9Jg+IpjTfZ/X1oUrmPKpVuITygH7LlT2pOumkwDxAMLFEUMmru7M9cgedWv 4/5OUCB/tVbcQqfDjE0ZZ06TQ0Kucqc1DP8JxxaVavZOMejHnpTgfBUfVwbSSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A5nvnOliSPHfzJQrPaCWBbS3Zhdp4r/8s8wJC0jp8Fw=; b=umDRGnfw/8LAsvv2VW7x9AVbkP/cg2Zj7y0dddlagOSpt+zES3mSBSSRvIyIdBydSmhosT bHIcRn6HjaAOjJtrVx6+v5dVYOrHLtd0ml+LZy32k/ekQ9Ba0RuEQDYqHkCAUkikFt5Pr8 Kb9IWZjtbmkqW79M0PFCCO59Q9O9kvG1EymrhsF/9m6O8bvIC6X4HwpDHSvViPt1y0XjLz ETFehY1N7LSOv1D/lvamENTSWD9SYRp7j7cq/iZLV6r8EaKN/6OS/EMTZXeTXq5Zzjgm9F GcqHfGUp47jBLQJNYVT4h9W8jnkRttqmCMG62QeiWJ6Hqgh9mepxUmUEDma/9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHDMn75SRzxfh; Sun, 14 Apr 2024 02:12:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43E2CLgm030237; Sun, 14 Apr 2024 02:12:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E2CLXw030234; Sun, 14 Apr 2024 02:12:21 GMT (envelope-from git) Date: Sun, 14 Apr 2024 02:12:21 GMT Message-Id: <202404140212.43E2CLXw030234@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: 1f678b6ba215 - main - NOTES: Move the VirtIO entries to the MI NOTES file 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: 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: 1f678b6ba215aad01a1610772c77af653a981601 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1f678b6ba215aad01a1610772c77af653a981601 commit 1f678b6ba215aad01a1610772c77af653a981601 Author: John Baldwin AuthorDate: 2024-04-14 02:10:27 +0000 Commit: John Baldwin CommitDate: 2024-04-14 02:10:27 +0000 NOTES: Move the VirtIO entries to the MI NOTES file While here, add virtio_gpu Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D44782 --- sys/amd64/conf/NOTES | 18 ------------------ sys/arm64/conf/NOTES | 8 -------- sys/conf/NOTES | 20 ++++++++++++++++++++ sys/i386/conf/NOTES | 18 ------------------ sys/riscv/conf/NOTES | 8 -------- 5 files changed, 20 insertions(+), 52 deletions(-) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 0cabacb45dd7..35154d7b634d 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -450,24 +450,6 @@ device pmspcv # Only for legacy Atom C2XXX chipsets. device qat_c2xxx -# -# VirtIO support -# -# The virtio entry provides a generic bus for use by the device drivers. -# It must be combined with an interface that communicates with the host. -# Multiple such interfaces are defined by the VirtIO specification. FreeBSD -# only has support for PCI. Therefore, virtio_pci must be statically -# compiled in or loaded as a module for the device drivers to function. -# -device virtio # Generic VirtIO bus (required) -device virtio_pci # VirtIO PCI Interface -device vtnet # VirtIO Ethernet device -device virtio_blk # VirtIO Block device -device virtio_scsi # VirtIO SCSI device -device virtio_balloon # VirtIO Memory Balloon device -device virtio_random # VirtIO Entropy device -device virtio_console # VirtIO Console device - # Linux KVM paravirtualization support device kvm_clock # KVM paravirtual clock driver diff --git a/sys/arm64/conf/NOTES b/sys/arm64/conf/NOTES index d58bc5b82f89..3e8499c872b9 100644 --- a/sys/arm64/conf/NOTES +++ b/sys/arm64/conf/NOTES @@ -60,14 +60,6 @@ device al_udma # Universal DMA # Qualcomm Snapdragon drivers device qcom_gcc # Global Clock Controller -# VirtIO support -device virtio -device virtio_pci -device virtio_mmio -device virtio_blk -device vtnet -device virtio_scmi - # Google Virtual NIC device gve # Google Virtual NIC (gVNIC) driver diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 85cd1a307c14..cb28ddd00c20 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -2409,6 +2409,26 @@ options NSFBUFS=1024 # options DEBUG_LOCKS +# +# VirtIO support +# +# The virtio entry provides a generic bus for use by the device drivers. +# It must be combined with an interface that communicates with the host. +# Multiple such interfaces are defined by the VirtIO specification +# including PCI and MMIO. +# +device virtio # Generic VirtIO bus (required) +device virtio_mmio # VirtIO MMIO Interface +device virtio_pci # VirtIO PCI Interface +device vtnet # VirtIO Ethernet device +device virtio_balloon # VirtIO Memory Balloon device +device virtio_blk # VirtIO Block device +device virtio_console # VirtIO Console device +device virtio_gpu # VirtIO GPU device +device virtio_random # VirtIO Entropy device +device virtio_scmi # VirtIO SCSI device +device virtio_scsi # VirtIO SCMI device + ##################################################################### # HID support device hid # Generic HID support diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index eee1424b2118..bab537ac1dfe 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -654,24 +654,6 @@ device glxiic # AMD Geode LX CS5536 System Management Bus # device glxsb # AMD Geode LX Security Block -# -# VirtIO support -# -# The virtio entry provides a generic bus for use by the device drivers. -# It must be combined with an interface that communicates with the host. -# Multiple such interfaces defined by the VirtIO specification. FreeBSD -# only has support for PCI. Therefore, virtio_pci must be statically -# compiled in or loaded as a module for the device drivers to function. -# -device virtio # Generic VirtIO bus (required) -device virtio_pci # VirtIO PCI Interface -device vtnet # VirtIO Ethernet device -device virtio_blk # VirtIO Block device -device virtio_scsi # VirtIO SCSI device -device virtio_balloon # VirtIO Memory Balloon device -device virtio_random # VirtIO Entropy device -device virtio_console # VirtIO Console device - # Linux KVM paravirtualization support device kvm_clock # KVM paravirtual clock driver diff --git a/sys/riscv/conf/NOTES b/sys/riscv/conf/NOTES index d818fd0581c3..36d2e06fb698 100644 --- a/sys/riscv/conf/NOTES +++ b/sys/riscv/conf/NOTES @@ -32,14 +32,6 @@ device riscv_syscon # Backlight subsystem device backlight -# 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_mmio # VirtIO MMIO bus -device virtio_random # VirtIO Entropy device - # MMC/SD/SDIO Card slot support device dwmmc From nobody Sun Apr 14 02:12:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHDMr4Zdvz5Gl3q; Sun, 14 Apr 2024 02: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 4VHDMr2VH5z4G1r; Sun, 14 Apr 2024 02: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=1713060744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RtygGIAnbOpuhGYzIcBhHLNBOiDBL9W4enlxUeq6qfQ=; b=t1jV+nsBJme4ashNO06Rng1BPzAju4ccPo/Qk9KzjbXPS9DLA3fWEco7TUkRsRjMrnCmFS GdxF29jBChtpSHjTPRh/YdIympjCPVd7F2plnJw2KxX4vBT6wV9bGWBUj+f1X8cEIlzDND 3uHe2MJv1pVlyn0ahU/aSMzjkB8glvpnscgeeAwC+T29vdsq8kyrQh2AOrY7EZoQpFG8WO ue/2rj/Ynh7ri3k4BlhxmtluL85cKfRzK2vFAUi68BVfcLxBPiBLJlI9o35zbnwhFyl7Jo PmhklY/Bot9xtZ0o5WxFyOfaPI2Fh3rIwdlDvzbNuWBjtkpb7KEVtufRmQgrNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713060744; a=rsa-sha256; cv=none; b=FZadk6wwlKYQy2bbZsVb8/kiaSIdW84y9ciNrH18MRENVZwjkOlGRpljii/3uay47gPT4h JAYUrcCAREMxSS3qKvd/9BQA4W9e0/x+ZqmIH8wLMNc6gTQ92b09w/0QzwMH9ItyItC/uS aYEJNTeHQ4GUMES4iWk1iqwtjSd+t3V26P40SErSvHQScyAVITW/azBLcfNZzhZ+QlySRt vB88IPqhXUohFhEHbIfZzj3aRwk/f48+qC3x+eqLDhBbaVTWuYzfzIUGfKuP7WsXgwITJj zZl9V5MdwSXo7fcS5sOHmdMArTEHR4UkooRmKjjssipbX71Sm85CK+gJxnkH4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RtygGIAnbOpuhGYzIcBhHLNBOiDBL9W4enlxUeq6qfQ=; b=ODt9AABAesurDLPxZ86+abiHSRiNVRtyUnmxuKF4SlqbP2S5loVNJHdbba6qQy6JKP79jj nnbqB0+aTXqgQyfNgBbc1UP1WCn0Zd01bB9cGHT5tcM6c4EQI6uA1lPOZ7Sc75UCiM6CBa MLKXoYnv0jL0cPFHME5C625IvEfmTsMmm/p7TBdvy7/A8pUXh3FbVKy8r9ZGjqL1EFBHN1 p+taRCVkvJvHaTJM6YYuYPueBNR9Evp8x15TIzOtIbh0cTlbRp4jJAc5CvLQ/cM/1Tj9/q LH+YhAb8TBhfGzb2FM4tp33Bv44F6Bddk/CIOFRrJl6K3RTS0kQw9mz1EwcJtw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHDMr26DczxnX; Sun, 14 Apr 2024 02:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43E2COm9030340; Sun, 14 Apr 2024 02:12:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E2COTg030337; Sun, 14 Apr 2024 02:12:24 GMT (envelope-from git) Date: Sun, 14 Apr 2024 02:12:24 GMT Message-Id: <202404140212.43E2COTg030337@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: 717b22e18ca2 - main - x86 NOTES: Remove some obsolete comments 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: 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: 717b22e18ca249dee0ec858c6571f68e00008290 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=717b22e18ca249dee0ec858c6571f68e00008290 commit 717b22e18ca249dee0ec858c6571f68e00008290 Author: John Baldwin AuthorDate: 2024-04-14 02:11:06 +0000 Commit: John Baldwin CommitDate: 2024-04-14 02:11:06 +0000 x86 NOTES: Remove some obsolete comments Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44784 --- sys/amd64/conf/NOTES | 3 --- sys/i386/conf/NOTES | 12 ------------ 2 files changed, 15 deletions(-) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 35154d7b634d..c99aae19f10e 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -581,9 +581,6 @@ options IICHID_SAMPLING # Workaround missing GPIO INTR support ##################################################################### # ABI Emulation -#XXX keep these here for now and reactivate when support for emulating -#XXX these 32 bit binaries is added. - # Enable 32-bit runtime support for FreeBSD/i386 binaries. options COMPAT_FREEBSD32 diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index d421f2511478..dc3107349711 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -683,18 +683,6 @@ device hvhid # HyperV HID device # The Rev 2 host cards use a 32K chunk, on a 32K boundary. # The cards can use an IRQ of 11, 12 or 15. -# Notes on the Sony Programmable I/O controller -# This is a temporary driver that should someday be replaced by something -# that hooks into the ACPI layer. The device is hooked to the PIIX4's -# General Device 10 decoder, which means you have to fiddle with PCI -# registers to map it in, even though it is otherwise treated here as -# an ISA device. At the moment, the driver polls, although the device -# is capable of generating interrupts. It largely undocumented. -# The port location in the hint is where you WANT the device to be -# mapped. 0x10a0 seems to be traditional. At the moment the jogdial -# is the only thing truly supported, but apparently a fair percentage -# of the Vaio extra features are controlled by this device. - device ipmi device smapi device smbios From nobody Sun Apr 14 02:12:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHDMq4GwSz5GkqV; Sun, 14 Apr 2024 02:12: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 4VHDMq1ZMcz4Ft2; Sun, 14 Apr 2024 02:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tyqg98KJXjPSPLC6mtnZNuFzH4Rsu0L2sKaIMUZMUNI=; b=OgrF+RRYxCa9ZS9hiIgkeDehBmfBsZEM2RSMNmIGGq5NMawns1H1b5hUXArTN6/XTpT/fJ 0keOukmBbcpslXCdAzF2BYgFg/n6QJA/N4K+3N5MQ0Tem8+//Y/PRTb9oT9Ez7TipUi4YJ CE3V18J2gtaj4NkYofdEHzVc9xFEFuX/Z6EpqrOLyNJmUUsCFyAyZTpGnK8RGobwUZMfQB 6cGlqECP2MpX7EqMuG3vpSTC9JcuMLV+KZ0ksi5ayqc0m+GGQJ6TtwsY9l/WU+Cu4nt3ov hb2rHl5SLXdmDVK/umSGNKfv2CPoMPUcMgrSYxknWR9ImVCqyiRj/tY5wInq2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713060743; a=rsa-sha256; cv=none; b=MsjIUOn2nJuggaK9EBJaUHQQuoE6kOj1l1Tk6Micl7rgsnhBtiItJRPuyhHX1e25GJGZ0R stqiI9hfnsh9Y9VFwVFwHuDqakhQuS+/aM6wsdVIbyq67oMECjYOsvzOtoFnGsCBASyreL jmUp+tRGv3LlgDhT1H88KS60w93B2NZwPwhjO9LHVrFkhQA26C4UMQfdCAb2gnR+6EVxnL Fn0yf68OeOcQfD8j3TowRuUkw//W/zti8klY2EIEfwG724a9WcyUwjh28jsP8vlWoIZeoj 3ThjPdbxcJEAdlEaSmQWnHsYpl+EmgjmLYr2Z11mL1K7/c3UnFv3vfodnCaRWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tyqg98KJXjPSPLC6mtnZNuFzH4Rsu0L2sKaIMUZMUNI=; b=lPJOD37ehHGOb4rCaMNMJFDhf45/Tc1PPHxeevjGJzDvPx3ZaP8URis0iVhE5a+4dBZRYO E96rJvO7ryP1HZdYM4LxkxgIqB22vkj2lCnE/rqaS6/NH/+ospomegljOtMn0JrA6uWI9F 7O5I3dCjbR9XH8R3uIxf3c/UN8SJm7pS1ox4ZEZa3s2ooPzR2VRoIR1q9DXAGpKRQj9wRE nYI9HyEdMYWbLklQGf7xlaGiQ/hBQSeas/y79abcLRnG/CPp6kASYGU6wpaSPeEVloJaqa +irG+1HzmhbeEjVBu/2Ytqk4UJweDA202ldKPKnS8t8dz5Iq6TxeUBQp2m+ZKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHDMq17VpzxrD; Sun, 14 Apr 2024 02:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43E2CN9F030292; Sun, 14 Apr 2024 02:12:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E2CN2r030289; Sun, 14 Apr 2024 02:12:23 GMT (envelope-from git) Date: Sun, 14 Apr 2024 02:12:23 GMT Message-Id: <202404140212.43E2CN2r030289@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: e045163cce95 - main - i386: Use DEV_HYPERV to enable HyperV APIC 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: 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: e045163cce955c32332a02a8eb9a48f3c2cd3c3f Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e045163cce955c32332a02a8eb9a48f3c2cd3c3f commit e045163cce955c32332a02a8eb9a48f3c2cd3c3f Author: John Baldwin AuthorDate: 2024-04-14 02:10:44 +0000 Commit: John Baldwin CommitDate: 2024-04-14 02:10:44 +0000 i386: Use DEV_HYPERV to enable HyperV APIC vector This avoids requiring both 'device hyperv' and 'options HYPERV' for kernel configs. Instead, just 'device hyperv' can now be used matching the kernel configuration used for amd64. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44783 --- sys/conf/options.i386 | 2 +- sys/i386/conf/GENERIC | 2 -- sys/i386/conf/NOTES | 1 - sys/i386/i386/exception.S | 2 +- 4 files changed, 2 insertions(+), 5 deletions(-) diff --git a/sys/conf/options.i386 b/sys/conf/options.i386 index b98591a2a7da..c577568c837f 100644 --- a/sys/conf/options.i386 +++ b/sys/conf/options.i386 @@ -97,7 +97,7 @@ NPX_DEBUG opt_npx.h BPF_JITTER opt_bpf.h # Hyper-V support -HYPERV opt_hyperv.h +DEV_HYPERV opt_hyperv.h XENHVM opt_global.h diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC index 461a21fe7b70..b5898ed94b81 100644 --- a/sys/i386/conf/GENERIC +++ b/sys/i386/conf/GENERIC @@ -327,8 +327,6 @@ device virtio_balloon # VirtIO Memory Balloon device device kvm_clock # KVM paravirtual clock driver # HyperV drivers and enhancement support -# NOTE: HYPERV depends on hyperv. They must be added or removed together. -options HYPERV # Kernel support for HyperV drivers device hyperv # HyperV drivers # Xen HVM Guest Optimizations diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index bab537ac1dfe..d421f2511478 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -660,7 +660,6 @@ device kvm_clock # KVM paravirtual clock driver # Google Virtual NIC device gve # Google Virtual NIC (gVNIC) driver -options HYPERV device hyperv # HyperV drivers device hvhid # HyperV HID device diff --git a/sys/i386/i386/exception.S b/sys/i386/i386/exception.S index 32456b63092b..a2a59db3c836 100644 --- a/sys/i386/i386/exception.S +++ b/sys/i386/i386/exception.S @@ -450,7 +450,7 @@ ENTRY(fork_trampoline) #include #endif -#ifdef HYPERV +#ifdef DEV_HYPERV .data .p2align 4 .text From nobody Sun Apr 14 02:12:25 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHDMs6dg8z5GlBZ; Sun, 14 Apr 2024 02:12: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 4VHDMs3qk9z4G2F; Sun, 14 Apr 2024 02:12:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gYQarocnctB9iMBgl5l5GmITnjJjURqMqL3+9ZKserE=; b=Lmnrl4Vwc7IHdFBctd/pvvzYBSf38VK6Fnmp59u/vE+piODv+Q/JNYH8BiMLBl43DeJjY+ Ap6wfCzIk6nYC7RAeoPUZhukBLatOLN4Z63ij62GjLHeb6B/8LwaI+RDDGuOOERlSeBtgw j5h5rRtaIXpK6x4B9ik/p1oiJFowXDMKg5MovZa18JULqTM1QpvbPPw9pjPRlYVfTm8HG7 guzHaZYf9drJ0GxCd65POD/ynygvqdyCVtFY2pkwAA3Xw6y+aPjNAdPf+xooMG3OwVUcdI 353/7gQSYdQYohMsvwFeS1q68z0nku0DlrCsXNjBW0YhOFHEimR7q4RaF7pdOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713060745; a=rsa-sha256; cv=none; b=McCivYtaMFwu4h3hSYO9RQXgw/fXQkiJmIiG9dEvUXazvc1mRbAwY1wUD5osW0J5s6qS7C 9HN0wRmpQebtDC7l1gz5C7CwvG9y6Hf8qJixN28SBiNocEm4tVy525uk44gq7TIvB9tAql w1+bACNcnVZj5lrV8Mv4EwQ7Hr1jZrmrViUvtXMqGAD1vMkF+Bb0ZWUKRibykp2hcwnWhK hR0X31k/EnYsJbrkcwVsrLRjzpdYP/+DSapc2ygPd/FvW1b6fdm/HX8tzfsy4+sBKrAz8e x57b8QrIGHpA3I3+0RTSMhiBC+FhtXkyLF128jcCqxD6QNauHXeL8pu2yM2wuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gYQarocnctB9iMBgl5l5GmITnjJjURqMqL3+9ZKserE=; b=vDO8Pezas1OawZIodhTaGDSnv/d9D4VUd8C9fGaDOJc1IOcYt2cG1SsURtVug9Ra7V0VYY EKauHLjMBwAz4I/8joBMjiW0OHf3P6Gw3aOyQjdMwhG5ZBcnho+iOAHUgRlvPjVXwfzHjU hoCNq1LepspjXv+4N/jmVSu+xcoN8O46X/Vu3m4dUkbvr6NBrciPWFs0v0MnYD3UOXHalN jsh28lI5RSkV+UPZuA4y9SilSRk+dn/EwrLE8xU/ZpmaJXH0G6erfBcDAtYSm4mpYyb2Ad tvGhHcapbyQf5XpKOfP8oYnAG6xxpwmtalCS8N22Y4CdJZgwrEDSPuB6gziW/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 4VHDMs39Cgzy2L; Sun, 14 Apr 2024 02:12:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43E2CP7l030401; Sun, 14 Apr 2024 02:12:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E2CP7C030398; Sun, 14 Apr 2024 02:12:25 GMT (envelope-from git) Date: Sun, 14 Apr 2024 02:12:25 GMT Message-Id: <202404140212.43E2CP7C030398@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: b620daf63309 - main - x86 NOTES: Move NKPT and PMAP_SHPGPERPROC options to VM OPTIONS section 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: 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: b620daf63309f655546caa060ea79cb230e4c9bc Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b620daf63309f655546caa060ea79cb230e4c9bc commit b620daf63309f655546caa060ea79cb230e4c9bc Author: John Baldwin AuthorDate: 2024-04-14 02:11:21 +0000 Commit: John Baldwin CommitDate: 2024-04-14 02:11:21 +0000 x86 NOTES: Move NKPT and PMAP_SHPGPERPROC options to VM OPTIONS section Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44785 --- sys/amd64/conf/NOTES | 16 ++++++++-------- sys/i386/conf/NOTES | 32 ++++++++++++++++---------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index c99aae19f10e..49d2bec91364 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -554,14 +554,6 @@ options ENABLE_ALART # Control alarm on Intel intpm driver # device amdsmn -# -# Number of initial kernel page table pages used for early bootstrap. -# This number should include enough pages to map the kernel and any -# modules or other data loaded with the kernel by the loader. Each -# page table page maps 2MB. -# -options NKPT=31 - # EFI Runtime Services support options EFIRT @@ -596,6 +588,14 @@ options ZFS ##################################################################### # VM OPTIONS +# +# Number of initial kernel page table pages used for early bootstrap. +# This number should include enough pages to map the kernel and any +# modules or other data loaded with the kernel by the loader. Each +# page table page maps 2MB. +# +options NKPT=31 + # KSTACK_PAGES is the number of memory pages to assign to the kernel # stack of each thread. diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index dc3107349711..8f6098301b12 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -764,6 +764,22 @@ device superio # options ENABLE_ALART # Control alarm on Intel intpm driver +# +# HID-over-I2C support +# +device iichid # HID-over-I2C support +options IICHID_DEBUG # Enable HID-over-I2C debug messages +options IICHID_SAMPLING # Workaround missing GPIO INTR support + +##################################################################### +# ABI Emulation + +# Enable (32-bit) a.out binary support +options COMPAT_AOUT + +##################################################################### +# VM OPTIONS + # # Set the number of PV entries per process. Increasing this can # stop panics related to heavy use of shared memory. However, that can @@ -786,22 +802,6 @@ options PMAP_SHPGPERPROC=201 # options NKPT=31 -# -# HID-over-I2C support -# -device iichid # HID-over-I2C support -options IICHID_DEBUG # Enable HID-over-I2C debug messages -options IICHID_SAMPLING # Workaround missing GPIO INTR support - -##################################################################### -# ABI Emulation - -# Enable (32-bit) a.out binary support -options COMPAT_AOUT - -##################################################################### -# VM OPTIONS - # KSTACK_PAGES is the number of memory pages to assign to the kernel # stack of each thread. From nobody Sun Apr 14 02:12:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHDMt6q8bz5Gkqc; Sun, 14 Apr 2024 02:12: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 4VHDMt4gHZz4G0H; Sun, 14 Apr 2024 02:12:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kAhwqZ15SBHEGLyNkLrjPLwm1oMW78qrJSv8nNro6fg=; b=RT2GZiTM/J52ug8fp7aeh0vE09to1TuPegKP0ZqJbEgDHU0WAlMI5ZsyL2EbGY4FpStwh/ zsRCSLnfgqpXkAwZ6A7+ZzIKTPRQOxYVdNv4U+7CzBbmBalfGuhHHwm7ZrGE/XGx4CLfMi j1vj/IkE7r+0SaPY+tv0iYXGeu5mN9MZ/YPB2N/l5YtAhL3nwlc/4NjMtrONRv11BT5A+o A1WG5Ov0aDWpcY2T42Eo2QAzKvKCtV5pDXsOfXhdtOodIqJIHtW2+zaoKqQSXsc5iLBQqv 1BA+omEn3eeCBqSclA0owyoEW2L85eC1OErAhSngc2nFhSehbDe1M3lfvfLreQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713060746; a=rsa-sha256; cv=none; b=iNGAyhXZtxrl2SOaXguRfeFsPcaE8y7bUD6HLgWpv8RntBKbsrGP2rPhgSBdrQ3l+z6TlS qP6BLiKMUqVbF+zMDMMW3I+4qAMERo7SOMCWF4n/rx1dXHRs54G1e2UM1TACa5PKABkMx/ oYQAbKfS4GpylLXXQohRkB84PAKkR+JiO8gVGD9FY6cNxpQlq+5HQ+uOMD3UgCKKIfXWvY hjTK8Ya7bDS7SAIwX7UnFRR6C5noL4PvFNDmEexZjsH+J2GHFAQzDz8xsGcXvd8zL+WNko l5qrV4ePuX5wLheCFKIEHX7fvyZIxcy/8UAilJNhTeOx2kwkqoW5hvTyHTva7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kAhwqZ15SBHEGLyNkLrjPLwm1oMW78qrJSv8nNro6fg=; b=D99/QAJBivXLzHVee2xRjKyID9+997qSWVvpWZrmBUx2Mrx/YYQWRUp14krhnZrIZpXdPg ChruYna4rD7fB+NikWJHMjitV8VQH3KIYzt1C3EZUa32MLIVzQ4pBbRUshJQFjr6ZEJXu+ 5QUzI59fVUmTQucp/tisHfAO2HVnQuB7cU0wjuY6/Fjv0f9Jd73cqoAQum5twhT6wNQn5P NldeHMaYcO7t/KglqRirSH4ePrbiz24H6U8ZxiQO6boOM/AQB2DS/4V7M0OkJDYjDEziRI 6T6YvDr0hqynjFHd7+4kiOeJ25iVc1O2DRW+E37XsWElwjPUIa152mFoQhR16Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHDMt4FkWzxZK; Sun, 14 Apr 2024 02:12:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43E2CQjb030461; Sun, 14 Apr 2024 02:12:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E2CQ7j030458; Sun, 14 Apr 2024 02:12:26 GMT (envelope-from git) Date: Sun, 14 Apr 2024 02:12:26 GMT Message-Id: <202404140212.43E2CQ7j030458@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: 5ea0b89242db - main - NOTES: Move ENABLE_ALART option to MI NOTES next to intpm device 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: 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: 5ea0b89242dbc1e4d4bac16983291a7c3803f88e Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=5ea0b89242dbc1e4d4bac16983291a7c3803f88e commit 5ea0b89242dbc1e4d4bac16983291a7c3803f88e Author: John Baldwin AuthorDate: 2024-04-14 02:11:49 +0000 Commit: John Baldwin CommitDate: 2024-04-14 02:11:49 +0000 NOTES: Move ENABLE_ALART option to MI NOTES next to intpm device This option is for this driver. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44786 --- sys/amd64/conf/NOTES | 5 ----- sys/conf/NOTES | 1 + sys/i386/conf/NOTES | 5 ----- 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 49d2bec91364..f69a25213e49 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -544,11 +544,6 @@ device cpuctl # device superio -# -# System Management Bus (SMB) -# -options ENABLE_ALART # Control alarm on Intel intpm driver - # # AMD System Management Network (SMN) # diff --git a/sys/conf/NOTES b/sys/conf/NOTES index cb28ddd00c20..3bdfdbe6e7eb 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -2224,6 +2224,7 @@ device rtsx device smbus # Bus support, required for smb below. device intpm +options ENABLE_ALART # Control alarm on Intel intpm driver device alpm device ichsmb device viapm diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index 8f6098301b12..7137fd983c66 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -759,11 +759,6 @@ device cpuctl # device superio -# -# System Management Bus (SMB) -# -options ENABLE_ALART # Control alarm on Intel intpm driver - # # HID-over-I2C support # From nobody Sun Apr 14 02:12:27 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHDMw1Lhfz5Gkh7; Sun, 14 Apr 2024 02:12: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 4VHDMv5bjLz4GG7; Sun, 14 Apr 2024 02:12:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x/3+YWLVt9Q1mUC2X43E+Lxo6p31X+AIVh/bEQlEAn0=; b=LkXSQkJ+jAhv3MGMNJhDLvdEtw2uMEP1wp59f2Xc+/EKnVwa6noSzgBMz51rbQY0rRaGnx U3Y7IRr3zuN4QLKnefTxg0K9mxGXbR93FVuQduaVALby9LxyYyBCRp9kCiEr6qATcrJAO/ oAsAW/n+paD+lN0WMYp5XRRUnCPpQkM/dskf9IYmvCop2R1S5qbEjAfmzlwTY/qpo0grS2 kwtpfOBM/IyFAEg6T5YCGKpPZQp83HABRywIepFJ23P6P8scrTlotuImoSme0HiPBgduIp 4nwiSgd0vpe1wJI8beOSu4gBoP8TD5DS7152B2gMInwnDrNzKSWfW9S+8/wB0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713060747; a=rsa-sha256; cv=none; b=yoYczcuxazwhbAeF+zdI+ESeOvQ0ZeC6t3MDcz3nQRqsWRY6Tkrop8Uwss7ZGCga4XCzwH xrFRwT+Lu1BD+aVkI63tPhW9R0tRJMSRVys20fKzqiH3sH3rucRT7QyAbfMO/4vQ7mTk6V X9INg6xzeC7Dvw/I8qz/GfEeydMJ0JgAlSe77vTc6LLpISixl+5Mq+QQV/eSuSc1LB37ZW 3o0sS1gcrEAvdtGLvcXr+lOb6j5DGJhW41TQDhoNSRCmPlR1UJ5gscK3KZYUDOK/1G1INP tlip1oWf0G6LWjTUd34p5T2wfA7riR9/eE1LG1QHo5f779HFl25/8w4X7zYwzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713060747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x/3+YWLVt9Q1mUC2X43E+Lxo6p31X+AIVh/bEQlEAn0=; b=VxD8bee0g/LxJRF2/003WPw9v7ho5xsdMX3cVFjx7yaloKlKzQxI3n0xZGCMT5QSVvD7h9 8jpS299K80aIYjCBF3n07G3/qKwcZ+vjATvF8lFdJ77mLPiPhFsOuOMFR+nULg5UF8cl/q feDKbW7zrrxrnmgFHSOC3VC2IHri1yycb097l9K1VtJ17sGAXPvltINyzFepG4ZZPkxhVP 8Rst5VgPm2DFFQcsXynq9Im0ltfUgODIZL8MfU22FCmEJJlZNRsaFAfHisJMrzFcE0Ojwy S+RJc9brciBQ/8QOjVQ9mQDs0Jmcu3zLEm0fWg+Y3Ix9eiQsiBfnGP5ZGPeykA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHDMv58wTzxrF; Sun, 14 Apr 2024 02:12:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43E2CRY4030521; Sun, 14 Apr 2024 02:12:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E2CRDk030518; Sun, 14 Apr 2024 02:12:27 GMT (envelope-from git) Date: Sun, 14 Apr 2024 02:12:27 GMT Message-Id: <202404140212.43E2CRDk030518@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: 1f38677ba40b - main - x86 NOTES: Move shared options from amd/i386 NOTES to x86 NOTES 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: 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: 1f38677ba40b26b861e063e130117143c9342c5d Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1f38677ba40b26b861e063e130117143c9342c5d commit 1f38677ba40b26b861e063e130117143c9342c5d Author: John Baldwin AuthorDate: 2024-04-14 02:12:07 +0000 Commit: John Baldwin CommitDate: 2024-04-14 02:12:07 +0000 x86 NOTES: Move shared options from amd/i386 NOTES to x86 NOTES While here, reorder some of the entries using headers more aligned with sys/conf/NOTES. Also add a pointer from the amd64/i386 NOTES files to x86 NOTES. The "extra" ACPI device drivers were only present in i386 NOTES previously. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44787 --- sys/amd64/conf/NOTES | 509 +++---------------------------------------------- sys/i386/conf/NOTES | 521 ++------------------------------------------------ sys/x86/conf/NOTES | 528 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 570 insertions(+), 988 deletions(-) diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index f69a25213e49..31db96e6d0e2 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -2,52 +2,24 @@ # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # # This file contains machine dependent kernel configuration notes. For -# machine independent notes, look in /sys/conf/NOTES. +# machine independent notes, look in /sys/conf/NOTES. For notes shared +# with i386, look in /sys/x86/conf/NOTES. # # -# -# Enable the kernel DTrace hooks which are required to load the DTrace -# kernel modules. -# -options KDTRACE_HOOKS - -# DTrace core -# NOTE: introduces CDDL-licensed components into the kernel -#device dtrace - -# DTrace modules -#device dtrace_profile -#device dtrace_sdt -#device dtrace_fbt -#device dtrace_systrace -#device dtrace_prototype -#device dtnfscl -#device dtmalloc +# GCOV (code coverage) support -# Alternatively include all the DTrace modules -#device dtraceall +options LINDEBUGFS +options GCOV ##################################################################### # SMP OPTIONS: -# -# Notes: -# -# IPI_PREEMPTION instructs the kernel to preempt threads running on other -# CPUS if needed. Relies on the PREEMPTION option # Optional: -options IPI_PREEMPTION device atpic # Optional legacy pic support device mptable # Optional MPSPEC mptable support -# Debugging options. -# -options COUNT_XINVLTLB_HITS # Counters for TLB events -options COUNT_IPIS # Per-CPU IPI interrupt counters - - ##################################################################### # CPU OPTIONS @@ -63,179 +35,16 @@ cpu HAMMER # aka K8, aka Opteron & Athlon64 # Options for CPU features. # - -##################################################################### -# NETWORKING OPTIONS - -# -# DEVICE_POLLING adds support for mixed interrupt-polling handling -# of network device drivers, which has significant benefits in terms -# of robustness to overloads and responsivity, as well as permitting -# accurate scheduling of the CPU time between kernel network processing -# and other activities. The drawback is a moderate (up to 1/HZ seconds) -# potential increase in response times. -# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING -# to achieve smoother behaviour. -# Additionally, you can enable/disable polling at runtime with help of -# the ifconfig(8) utility, and select the CPU fraction reserved to -# userland with the sysctl variable kern.polling.user_frac -# (default 50, range 0..100). -# -# Not all device drivers support this mode of operation at the time of -# this writing. See polling(4) for more details. - -options DEVICE_POLLING - -# BPF_JITTER adds support for BPF just-in-time compiler. - -options BPF_JITTER - - -##################################################################### -# CLOCK OPTIONS - -# Provide read/write access to the memory in the clock chip. -device nvram # Access to rtc cmos via /dev/nvram - - -##################################################################### -# MISCELLANEOUS DEVICES AND OPTIONS - -device speaker #Play IBM BASIC-style noises out your speaker -envvar hint.speaker.0.at="isa" -envvar hint.speaker.0.port="0x61" - - -##################################################################### -# HARDWARE BUS CONFIGURATION - -# -# ISA bus -# -device isa - -# -# Options for `isa': -# -# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A -# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. -# This option breaks suspend/resume on some portables. -# -# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A -# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. -# Automatic EOI is documented not to work for the slave with the -# original i8259A, but it works for some clones and some integrated -# versions. -# -# MAXMEM specifies the amount of RAM on the machine; if this is not -# specified, FreeBSD will first read the amount of memory from the CMOS -# RAM, so the amount of memory will initially be limited to 64MB or 16MB -# depending on the BIOS. If the BIOS reports 64MB, a memory probe will -# then attempt to detect the installed amount of RAM. If this probe -# fails to detect >64MB RAM you will have to use the MAXMEM option. -# The amount is in kilobytes, so for a machine with 128MB of RAM, it would -# be 131072 (128 * 1024). -# -# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to -# reset the CPU for reboot. This is needed on some systems with broken -# keyboard controllers. - -options AUTO_EOI_1 -#options AUTO_EOI_2 - -options MAXMEM=(128*1024) -#options BROKEN_KEYBOARD_RESET - -# -# AGP GART support -device agp - -# -# AGP debugging. -# -options AGP_DEBUG - ##################################################################### # HARDWARE DEVICE CONFIGURATION -# To include support for VGA VESA video modes -options VESA - -# Turn on extra debugging checks and output for VESA support. -options VESA_DEBUG - -device dpms # DPMS suspend & resume via VESA BIOS - -# x86 real mode BIOS emulator, required by atkbdc/dpms/vesa -options X86BIOS - # # Optional devices: # -# PS/2 mouse -device psm -envvar hint.psm.0.at="atkbdc" -envvar hint.psm.0.irq="12" - -# Options for psm: -options PSM_HOOKRESUME #hook the system resume event, useful - #for some laptops -options PSM_RESETAFTERSUSPEND #reset the device at the resume event - -# The keyboard controller; it controls the keyboard and the PS/2 mouse. -device atkbdc -envvar hint.atkbdc.0.at="isa" -envvar hint.atkbdc.0.port="0x060" - -# The AT keyboard -device atkbd -envvar hint.atkbd.0.at="atkbdc" -envvar hint.atkbd.0.irq="1" - -# Options for atkbd: -options ATKBD_DFLT_KEYMAP # specify the built-in keymap -makeoptions ATKBD_DFLT_KEYMAP=fr.dvorak - -# `flags' for atkbd: -# 0x01 Force detection of keyboard, else we always assume a keyboard -# 0x02 Don't reset keyboard, useful for some newer ThinkPads -# 0x03 Force detection and avoid reset, might help with certain -# dockingstations -# 0x04 Old-style (XT) keyboard support, useful for older ThinkPads - -# Video card driver for VGA adapters. -device vga -envvar hint.vga.0.at="isa" - -# Options for vga: -# Try the following option if the mouse pointer is not drawn correctly -# or font does not seem to be loaded properly. May cause flicker on -# some systems. -options VGA_ALT_SEQACCESS - -# If you can dispense with some vga driver features, you may want to -# use the following options to save some memory. -#options VGA_NO_FONT_LOADING # don't save/load font -#options VGA_NO_MODE_CHANGE # don't change video modes - -# Older video cards may require this option for proper operation. -options VGA_SLOW_IOACCESS # do byte-wide i/o's to TS and GDC regs - -# The following option probably won't work with the LCD displays. -options VGA_WIDTH90 # support 90 column modes - -# Debugging. -options VGA_DEBUG - # vt(4) drivers. -device vt_vga # VGA device vt_efifb # EFI framebuffer -device vt_vbefb # VBE framebuffer - -# Linear framebuffer driver for S3 VESA 1.2 cards. Works on top of VESA. -device s3pci # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create # the /dev/3dfx0 device to work with glide implementations. This should get @@ -246,19 +55,18 @@ device s3pci device tdfx # Enable 3Dfx Voodoo support # -# ACPI support using the Intel ACPI Component Architecture reference -# implementation. +# RAID adapters # -# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer -# kernel environment variables to select initial debugging levels for the -# Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER -# defined when it is built). -device acpi -options ACPI_DEBUG +#XXX this stores pointers in a 32bit field that is defined by the hardware +#device pst -# The cpufreq(4) driver provides support for non-ACPI CPU frequency control -device cpufreq +# +# Microsemi smartpqi controllers. +# These controllers have a SCSI-like interface, and require the +# CAM infrastructure. +# +device smartpqi # # Network interfaces: @@ -266,183 +74,44 @@ device cpufreq # axp: AMD EPYC integrated NIC # Requires the miibus module -# bxe: Broadcom NetXtreme II (BCM5771X/BCM578XX) PCIe 10Gb Ethernet -# adapters. # ice: Intel 800 Series Physical Function # Requires the ice_ddp module for full functionality -# igc: Intel I225 2.5Gb Ethernet adapter -# ipw: Intel PRO/Wireless 2100 IEEE 802.11 adapter -# Requires the ipw firmware module # irdma: Intel 800 Series RDMA driver # Requires the ice module -# iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters -# Requires the iwi firmware module -# iwn: Intel Wireless WiFi Link 1000/105/135/2000/4965/5000/6000/6050 abgn -# 802.11 network adapters -# Requires the iwn firmware module -# mthca: Mellanox HCA InfiniBand -# mlx4ib: Mellanox ConnectX HCA InfiniBand -# mlx4en: Mellanox ConnectX HCA Ethernet -# nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) # qlxgb: QLogic 3200 and 8200 series 10 Gigabit Ethernet & CNA Adapter # qlxgbe: QLogic 8300 series 10 Gigabit Ethernet & CNA Adapter # qlxge: QLogic 8100 series 10 Gigabit Ethernet & CNA Adapter # qlnxe: Cavium QLogic 41000/45000 series 10/25/40/100 Gigabit Ethernet & CNA Adapter # sfxge: Solarflare SFC9000 family 10Gb Ethernet adapters -# vmx: VMware VMXNET3 Ethernet (BSD open source) -# wpi: Intel 3945ABG Wireless LAN controller -# Requires the wpi firmware module device axp # AMD EPYC integrated NIC -device bxe # Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE -device igc # Intel I225 2.5G Ethernet -device ipw # Intel 2100 wireless NICs. -device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. -device iwn # Intel 4965/1000/5000/6000 wireless NICs. device ixl # Intel 700 Series Physical Function device iavf # Intel Adaptive Virtual Function device ice # Intel 800 Series Physical Function device ice_ddp # Intel 800 Series DDP Package device irdma # Intel 800 Series RDMA driver -device mthca # Mellanox HCA InfiniBand -device mlx4 # Shared code module between IB and Ethernet -device mlx4ib # Mellanox ConnectX HCA InfiniBand -device mlx4en # Mellanox ConnectX HCA Ethernet -device nfe # nVidia nForce MCP on-board Ethernet device qlxgb # QLogic 3200/8200 Ethernet device qlxgbe # QLogic 8300 Ethernet device qlxge # QLogic 8100 Ethernet device qlnxe # QLogic 41000/45000 Ethernet device sfxge # Solarflare SFC9000 10Gb Ethernet -device vmx # VMware VMXNET3 Ethernet -device wpi # Intel 3945ABG wireless NICs. - -# IEEE 802.11 adapter firmware modules - -# Intel PRO/Wireless 2100 firmware: -# ipwfw: BSS/IBSS/monitor mode firmware -# ipwbssfw: BSS mode firmware -# ipwibssfw: IBSS mode firmware -# ipwmonitorfw: Monitor mode firmware -# Intel PRO/Wireless 2200BG/2225BG/2915ABG firmware: -# iwifw: BSS/IBSS/monitor mode firmware -# iwibssfw: BSS mode firmware -# iwiibssfw: IBSS mode firmware -# iwimonitorfw: Monitor mode firmware -# Intel Wireless WiFi Link 4965/1000/5000/6000 series firmware: -# iwnfw: Single module to support all devices -# iwn1000fw: Specific module for the 1000 only -# iwn105fw: Specific module for the 105 only -# iwn135fw: Specific module for the 135 only -# iwn2000fw: Specific module for the 2000 only -# iwn2030fw: Specific module for the 2030 only -# iwn4965fw: Specific module for the 4965 only -# iwn5000fw: Specific module for the 5000 only -# iwn5150fw: Specific module for the 5150 only -# iwn6000fw: Specific module for the 6000 only -# iwn6000g2afw: Specific module for the 6000g2a only -# iwn6000g2bfw: Specific module for the 6000g2b only -# iwn6050fw: Specific module for the 6050 only -# wpifw: Intel 3945ABG Wireless LAN Controller firmware - -device iwifw -device iwibssfw -device iwiibssfw -device iwimonitorfw -device ipwfw -device ipwbssfw -device ipwibssfw -device ipwmonitorfw -device iwnfw -device iwn1000fw -device iwn105fw -device iwn135fw -device iwn2000fw -device iwn2030fw -device iwn4965fw -device iwn5000fw -device iwn5150fw -device iwn6000fw -device iwn6000g2afw -device iwn6000g2bfw -device iwn6050fw -device wpifw - -# -# Non-Transparent Bridge (NTB) drivers -# -device if_ntb # Virtual NTB network interface -device ntb_transport # NTB packet transport driver -device ntb # NTB hardware interface -device ntb_hw_amd # AMD NTB hardware driver -device ntb_hw_intel # Intel NTB hardware driver -device ntb_hw_plx # PLX NTB hardware driver - -# -#XXX this stores pointers in a 32bit field that is defined by the hardware -#device pst - -# -# Areca 11xx and 12xx series of SATA II RAID controllers. -# CAM is required. -# -device arcmsr # Areca SATA II RAID - -# -# Microsemi smartpqi controllers. -# These controllers have a SCSI-like interface, and require the -# CAM infrastructure. -# -device smartpqi - -# -# Adaptec FSA RAID controllers, including integrated DELL controllers, -# the Dell PERC 2/QC and the HP NetRAID-4M -device aac -device aacp # SCSI Passthrough interface (optional, CAM required) - -# -# Highpoint RocketRAID 27xx. -device hpt27xx - -# -# Highpoint RocketRAID 182x. -device hptmv -# -# Highpoint DC7280 and R750. -device hptnr - -# -# Highpoint RocketRAID. Supports RR172x, RR222x, RR2240, RR232x, RR2340, -# RR2210, RR174x, RR2522, RR231x, RR230x. -device hptrr +##################################################################### # -# Highpoint RocketRaid 3xxx series SATA RAID -device hptiop - +# Miscellaneous hardware: # -# IBM (now Adaptec) ServeRAID controllers -device ips -# -# Intel integrated Memory Controller (iMC) SMBus controller -# Sandybridge-Xeon, Ivybridge-Xeon, Haswell-Xeon, Broadwell-Xeon -device imcsmb +device ioat # Intel I/OAT DMA engine -# -# Intel C600 (Patsburg) integrated SAS controller -device isci -options ISCI_LOGGING # enable debugging in isci HAL +# EFI Runtime Services support +options EFIRT -# -# Intel Volume Management Device (VMD) support -device vmd +# EFI pseudo-device +device efidev -# -# PMC-Sierra SAS/SATA controller -device pmspcv +# EFI RTC +device efirtc # # Intel QuickAssist driver with OpenCrypto support @@ -450,121 +119,12 @@ device pmspcv # Only for legacy Atom C2XXX chipsets. device qat_c2xxx -# Linux KVM paravirtualization support -device kvm_clock # KVM paravirtual clock driver - -# Google Virtual NIC -device gve # Google Virtual NIC (gVNIC) 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 device xenefi # Xen EFI timer device device xenpci # Xen HVM Hypervisor services driver device xentimer # Xen x86 PV timer device -##################################################################### - -# -# Miscellaneous hardware: -# -# ipmi: Intelligent Platform Management Interface -# pbio: Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724) -# smbios: DMI/SMBIOS entry point (requires EFIRT option) -# vpd: Vital Product Data kernel interface -# asmc: Apple System Management Controller -# si: Specialix International SI/XIO or SX intelligent serial card -# tpm: Trusted Platform Module - -# Notes on the Specialix SI/XIO driver: -# The host card is memory, not IO mapped. -# The Rev 1 host cards use a 64K chunk, on a 32K boundary. -# The Rev 2 host cards use a 32K chunk, on a 32K boundary. -# The cards can use an IRQ of 11, 12 or 15. - -device ipmi -device pbio -envvar hint.pbio.0.at="isa" -envvar hint.pbio.0.port="0x360" -device smbios -device vpd -device asmc -device tpm -device padlock_rng # VIA Padlock RNG -device rdrand_rng # Intel Bull Mountain RNG -device aesni # AES-NI OpenCrypto module -device ossl # OpenSSL OpenCrypto module -device ioat # Intel I/OAT DMA engine - -# -# Laptop/Notebook options: -# - -device backlight - -# -# I2C Bus -# - -# -# Hardware watchdog timers: -# -# ichwd: Intel ICH watchdog timer -# amdsbwd: AMD SB7xx watchdog timer -# viawd: VIA south bridge watchdog timer -# wbwd: Winbond watchdog timer -# itwd: ITE Super I/O watchdog timer -# -device ichwd -device amdsbwd -device viawd -device wbwd -device itwd - -# -# Temperature sensors: -# -# coretemp: on-die sensor on Intel Core and newer CPUs -# amdtemp: on-die sensor on AMD K8/K10/K11 CPUs -# -device coretemp -device amdtemp - -# -# CPU control pseudo-device. Provides access to MSRs, CPUID info and -# microcode update feature. -# -device cpuctl - -# -# SuperIO driver. -# -device superio - -# -# AMD System Management Network (SMN) -# -device amdsmn - -# EFI Runtime Services support -options EFIRT - -# EFI pseudo-device -device efidev - -# EFI RTC -device efirtc - -# -# HID-over-I2C support -# -device iichid # HID-over-I2C support -options IICHID_DEBUG # Enable HID-over-I2C debug messages -options IICHID_SAMPLING # Workaround missing GPIO INTR support - ##################################################################### # ABI Emulation @@ -599,26 +159,3 @@ options KSTACK_PAGES=5 # Enable detailed accounting by the PV entry allocator. options PV_STATS - -##################################################################### - -# More undocumented options for linting. -# Note that documenting these are not considered an affront. - -options KBDIO_DEBUG=2 -options KBD_MAXRETRY=4 -options KBD_MAXWAIT=6 -options KBD_RESETDELAY=201 - -options PSM_DEBUG=1 - -options TIMER_FREQ=((14318182+6)/12) - -options VM_KMEM_SIZE -options VM_KMEM_SIZE_MAX -options VM_KMEM_SIZE_SCALE - -# GCOV (code coverage) support - -options LINDEBUGFS -options GCOV diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index 7137fd983c66..93dc00634cc0 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -2,32 +2,11 @@ # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # # This file contains machine dependent kernel configuration notes. For -# machine independent notes, look in /sys/conf/NOTES. +# machine independent notes, look in /sys/conf/NOTES. For notes shared +# with amd64, look in /sys/x86/conf/NOTES. # # -# -# Enable the kernel DTrace hooks which are required to load the DTrace -# kernel modules. -# -options KDTRACE_HOOKS - -# DTrace core -# NOTE: introduces CDDL-licensed components into the kernel -#device dtrace - -# DTrace modules -#device dtrace_profile -#device dtrace_sdt -#device dtrace_fbt -#device dtrace_systrace -#device dtrace_prototype -#device dtnfscl -#device dtmalloc - -# Alternatively include all the DTrace modules -#device dtraceall - ##################################################################### # SMP OPTIONS: @@ -57,13 +36,6 @@ device apic # I/O apic # Optional: options MPTABLE_FORCE_HTT # Enable HTT CPUs with the MP Table -options IPI_PREEMPTION - -# Debugging options. -# -options COUNT_XINVLTLB_HITS # Counters for TLB events -options COUNT_IPIS # Per-CPU IPI interrupt counters - ##################################################################### @@ -211,111 +183,6 @@ options NPX_DEBUG # enable npx debugging # options PERFMON - -##################################################################### -# NETWORKING OPTIONS - -# -# DEVICE_POLLING adds support for mixed interrupt-polling handling -# of network device drivers, which has significant benefits in terms -# of robustness to overloads and responsivity, as well as permitting -# accurate scheduling of the CPU time between kernel network processing -# and other activities. The drawback is a moderate (up to 1/HZ seconds) -# potential increase in response times. -# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING -# to achieve smoother behaviour. -# Additionally, you can enable/disable polling at runtime with help of -# the ifconfig(8) utility, and select the CPU fraction reserved to -# userland with the sysctl variable kern.polling.user_frac -# (default 50, range 0..100). -# -# Not all device drivers support this mode of operation at the time of -# this writing. See polling(4) for more details. - -options DEVICE_POLLING - -# BPF_JITTER adds support for BPF just-in-time compiler. - -options BPF_JITTER - - -##################################################################### -# CLOCK OPTIONS - -# Provide read/write access to the memory in the clock chip. -device nvram # Access to rtc cmos via /dev/nvram - - -##################################################################### -# MISCELLANEOUS DEVICES AND OPTIONS - -device speaker #Play IBM BASIC-style noises out your speaker -envvar hint.speaker.0.at="isa" -envvar hint.speaker.0.port="0x61" - - -##################################################################### -# HARDWARE BUS CONFIGURATION - -# -# ISA bus -# -device isa - -# -# Options for `isa': -# -# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A -# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. -# This option breaks suspend/resume on some portables. -# -# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A -# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. -# Automatic EOI is documented not to work for the slave with the -# original i8259A, but it works for some clones and some integrated -# versions. -# -# MAXMEM specifies the amount of RAM on the machine; if this is not -# specified, FreeBSD will first read the amount of memory from the CMOS -# RAM, so the amount of memory will initially be limited to 64MB or 16MB -# depending on the BIOS. If the BIOS reports 64MB, a memory probe will -# then attempt to detect the installed amount of RAM. If this probe -# fails to detect >64MB RAM you will have to use the MAXMEM option. -# The amount is in kilobytes, so for a machine with 128MB of RAM, it would -# be 131072 (128 * 1024). -# -# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to -# reset the CPU for reboot. This is needed on some systems with broken -# keyboard controllers. - -options AUTO_EOI_1 -#options AUTO_EOI_2 - -options MAXMEM=(128*1024) -#options BROKEN_KEYBOARD_RESET - -# -# AGP GART support -device agp - -# AGP debugging. -options AGP_DEBUG - - -##################################################################### -# HARDWARE DEVICE CONFIGURATION - -# To include support for VGA VESA video modes -options VESA - -# Turn on extra debugging checks and output for VESA support. -options VESA_DEBUG - -device dpms # DPMS suspend & resume via VESA BIOS - -# x86 real mode BIOS emulator, required by atkbdc/dpms/vesa -options X86BIOS - # # Hints for the non-optional Numeric Processing eXtension driver. envvar hint.npx.0.flags="0x0" @@ -339,72 +206,14 @@ envvar hint.npx.0.irq="13" # Flag 0x08 automatically disables the i586 optimized routines. # + +##################################################################### +# HARDWARE DEVICE CONFIGURATION + # # Optional devices: # -# PS/2 mouse -device psm -envvar hint.psm.0.at="atkbdc" -envvar hint.psm.0.irq="12" - -# Options for psm: -options PSM_HOOKRESUME #hook the system resume event, useful - #for some laptops -options PSM_RESETAFTERSUSPEND #reset the device at the resume event - -# The keyboard controller; it controls the keyboard and the PS/2 mouse. -device atkbdc -envvar hint.atkbdc.0.at="isa" -envvar hint.atkbdc.0.port="0x060" - -# The AT keyboard -device atkbd -envvar hint.atkbd.0.at="atkbdc" -envvar hint.atkbd.0.irq="1" - -# Options for atkbd: -options ATKBD_DFLT_KEYMAP # specify the built-in keymap -makeoptions ATKBD_DFLT_KEYMAP=fr.dvorak - -# `flags' for atkbd: -# 0x01 Force detection of keyboard, else we always assume a keyboard -# 0x02 Don't reset keyboard, useful for some newer ThinkPads -# 0x03 Force detection and avoid reset, might help with certain -# dockingstations -# 0x04 Old-style (XT) keyboard support, useful for older ThinkPads - -# Video card driver for VGA adapters. -device vga -envvar hint.vga.0.at="isa" - -# Options for vga: -# Try the following option if the mouse pointer is not drawn correctly -# or font does not seem to be loaded properly. May cause flicker on -# some systems. -options VGA_ALT_SEQACCESS - -# If you can dispense with some vga driver features, you may want to -# use the following options to save some memory. -#options VGA_NO_FONT_LOADING # don't save/load font -#options VGA_NO_MODE_CHANGE # don't change video modes - -# Older video cards may require this option for proper operation. -options VGA_SLOW_IOACCESS # do byte-wide i/o's to TS and GDC regs - -# The following option probably won't work with the LCD displays. -options VGA_WIDTH90 # support 90 column modes - -# Debugging. -options VGA_DEBUG - -# vt(4) drivers. -device vt_vga -device vt_vbefb - -# Linear framebuffer driver for S3 VESA 1.2 cards. Works on top of VESA. -device s3pci - # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create # the /dev/3dfx0 device to work with glide implementations. This should get # linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as @@ -414,73 +223,19 @@ device s3pci device tdfx # Enable 3Dfx Voodoo support -options IOMMU # Enable IOMMU support - # -# ACPI support using the Intel ACPI Component Architecture reference -# implementation. +# RAID adapters # -# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer -# kernel environment variables to select initial debugging levels for the -# Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER -# defined when it is built). - -device acpi -options ACPI_DEBUG - -# ACPI WMI Mapping driver -device acpi_wmi - -# ACPI Asus Extras (LCD backlight/brightness, video output, etc.) -device acpi_asus - -# ACPI Fujitsu Extras (Buttons) -device acpi_fujitsu - -# ACPI extras driver for HP laptops -device acpi_hp - -# ACPI extras driver for IBM laptops -device acpi_ibm - -# ACPI Panasonic Extras (LCD backlight/brightness, video output, etc.) -device acpi_panasonic - -# ACPI Sony extra (LCD brightness) -device acpi_sony - -# ACPI Toshiba Extras (LCD backlight/brightness, video output, etc.) -device acpi_toshiba - -# ACPI Video Extensions (LCD backlight/brightness, video output, etc.) -device acpi_video - -# ACPI Docking Station -device acpi_dock - -# ACPI ASOC ATK0110 ASUSTeK AI Booster (voltage, temperature and fan sensors) -device aibs +device pst -# The cpufreq(4) driver provides support for non-ACPI CPU frequency control -device cpufreq +# +# Adaptec by PMC RAID controllers, Series 6/7/8 and upcoming families +device aacraid # Container interface, CAM required # # Network interfaces: # -# bxe: Broadcom NetXtreme II (BCM5771X/BCM578XX) PCIe 10Gb Ethernet -# adapters. -# igc: Intel I225 2.5G Ethernet adapter -# ipw: Intel PRO/Wireless 2100 IEEE 802.11 adapter -# iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters -# Requires the iwi firmware module -# iwn: Intel Wireless WiFi Link 1000/105/135/2000/4965/5000/6000/6050 abgn -# 802.11 network adapters -# Requires the iwn firmware module -# mthca: Mellanox HCA InfiniBand -# mlx4ib: Mellanox ConnectX HCA InfiniBand -# mlx4en: Mellanox ConnectX HCA Ethernet -# nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) # sbni: Granch SBNI12-xx ISA and PCI adapters # vmx: VMware VMXNET3 Ethernet (BSD open source) # wpi: Intel 3945ABG Wireless LAN controller @@ -488,214 +243,31 @@ device cpufreq # Order for ISA/EISA devices is important here -device bxe # Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE envvar hint.cs.0.at="isa" envvar hint.cs.0.port="0x300" envvar hint.ed.0.at="isa" envvar hint.ed.0.port="0x280" envvar hint.ed.0.irq="5" envvar hint.ed.0.maddr="0xd8000" -device igc # Intel I225 2.5G Ethernet -device ipw # Intel 2100 wireless NICs. -device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. -device iwn # Intel 4965/1000/5000/6000 wireless NICs. # Hint for the i386-only ISA front-end of le(4). envvar hint.le.0.at="isa" envvar hint.le.0.port="0x280" envvar hint.le.0.irq="10" envvar hint.le.0.drq="0" -device mthca # Mellanox HCA InfiniBand -device mlx4 # Shared code module between IB and Ethernet -device mlx4ib # Mellanox ConnectX HCA InfiniBand -device mlx4en # Mellanox ConnectX HCA Ethernet -device nfe # nVidia nForce MCP on-board Ethernet *** 852 LINES SKIPPED *** From nobody Sun Apr 14 02:16:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHDT24Glgz5GlFF; Sun, 14 Apr 2024 02:16: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 4VHDT23fSNz4K34; Sun, 14 Apr 2024 02:16:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713061014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1vIKYehE79j2h+xtCx1fvIz50DJIpNSsd7k46S8uVAQ=; b=iVMn4xQ+0TOnVuFjiWzgBKJzB7VhQuRnuqlW+AFRnk3eDzT1arHawGcHZAQWXn6wVFAcby 2UZRA/laJiXEi37ThsV67/xIoci3nfNBT8he10tDsY76xP5axAxMktp3lwo43zizlGhYrA 9nBC1yXkYxmQ6nv+0tIe3Np9vcTo1Ne/BmkYlQ4hlnfHBQDdk0pIGrnmdDuDB7o9fou1Js 0FQIL5o2XHvXwzi78G7uljTkbXd9asUc+T3sjwWpUWo5w1Gf81AZSYpbJvYEDQ1ScfNqsV pdEutvqj0OmLrigsTBJQjLsfg36pedsV+duSmn3Nm3R5MwYzDskvLdfZGf+HIg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713061014; a=rsa-sha256; cv=none; b=Oqeh5TDdppT+rkiZxJz+K540JJJk9MNTJT8wuOOYkRAla7hl6+7lymzszOMz8GEbDM4Ree fJElcwt8OttAZcG6hORBHNExo6ocEXmsJjk6IUNMZmiJQmAjCgDOw671CBQNyHVWqZpv+6 cDx3XZ6RzPmQtD0qqoBYZV3GPbB9Ym3Jcz1XwYCqdpnO1yoJnhkt7VJnCGQ8lE7fSzuOTX +mv+uHKhLgB5YP+oSXVkOniTnSs2B4vrNoYIs6JsNCJ2XTohHVKhqz7XCVXcgsXGV6wqZo WHwJMirOMSw8AlIHiNFOg1GW+/2iyXvkgieH+Hwjn1J1Kv68Y+HD1Yi/i63qvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713061014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1vIKYehE79j2h+xtCx1fvIz50DJIpNSsd7k46S8uVAQ=; b=vidNl3m7a8JD9z3xs/fiAFNbP6bGch21MCgbc3oXfszgC7ES4OIG6ZO9iE5XR2sWRy0YbZ 3j1UXYtTQyPPPuycr3XdPytkblXaCxfbTIelTiNkXOUVXlEkDsBuyqyrFJGKCqNNvKkAXs QVbo1tcODcpdOqBtD0Ub3lLoDF7Fl4wrkVBVly3S6mUaGf/d2vjpIHHPJkKM9FfIhiC6EA NLFBzYIIUZr0EFAmlUnvNo4d0OGYAqEmKBMhYBV3M7xk6QX4WFufQjt8Cplwl/e2z24TmW aIHXb6ME+96pFxIvhvYH9iZ3a+hyS0BgMbQxwT55Yjzh5KK+MWalZ1mRD7aA9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHDT23GMvzy35; Sun, 14 Apr 2024 02:16:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43E2GsF0031274; Sun, 14 Apr 2024 02:16:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E2Gsn7031271; Sun, 14 Apr 2024 02:16:54 GMT (envelope-from git) Date: Sun, 14 Apr 2024 02:16:54 GMT Message-Id: <202404140216.43E2Gsn7031271@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: f3f04c4027a7 - main - sys: Retire the ISCSI_INITIATOR_DEBUG option 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: 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: f3f04c4027a71421b38094bb22e3aa4710ddcc38 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f3f04c4027a71421b38094bb22e3aa4710ddcc38 commit f3f04c4027a71421b38094bb22e3aa4710ddcc38 Author: John Baldwin AuthorDate: 2024-04-14 02:16:13 +0000 Commit: John Baldwin CommitDate: 2024-04-14 02:16:13 +0000 sys: Retire the ISCSI_INITIATOR_DEBUG option This was used by the old iSCSI initiator, not the current one. Reported by: trasz --- sys/conf/NOTES | 4 ---- sys/conf/options | 3 --- 2 files changed, 7 deletions(-) diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 3bdfdbe6e7eb..4280d477bcb5 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -1471,10 +1471,6 @@ device cfiscsi # CAM Target Layer iSCSI target frontend device iscsi # iSCSI initiator device iser # iSCSI Extensions for RDMA (iSER) initiator -# Options used in dev/iscsi (Software iSCSI stack) -# -options ISCSI_INITIATOR_DEBUG=9 - ##################################################################### # MISCELLANEOUS DEVICES AND OPTIONS diff --git a/sys/conf/options b/sys/conf/options index ba1efff080b7..4e9d8a5b0741 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -421,9 +421,6 @@ ISP_DEFAULT_ROLES opt_isp.h ISP_INTERNAL_TARGET opt_isp.h ISP_FCTAPE_OFF opt_isp.h -# Options used only in dev/iscsi -ISCSI_INITIATOR_DEBUG opt_iscsi_initiator.h - # Net stuff. ACCEPT_FILTER_DATA ACCEPT_FILTER_DNS From nobody Sun Apr 14 03:13:02 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHFjq1M7Dz5GqwL; Sun, 14 Apr 2024 03:13: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 4VHFjp5rwZz4NSF; Sun, 14 Apr 2024 03:13:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713064382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f+adD7+acOentBvYr9ppxNt5ht7d8JoT94nrlyFNKPs=; b=rXkS3kL3Iweb4cu5PVWwlNmY4AXJfHGw1Gds/+SLRuY6UUjgQDCB87FPsAjzU8ZUtsK49s o5UDJ5HJ/OWoxZgR+5kOAI9/R2qojynE9UgPt9Rn88OAIkYkzO4uhHXA/CPyKTU2+qn6b1 T2Y0e+nUUf0wq4myk/b7Z0bn9PhJBIFmXPJLmLZmaUHEAF3kxBGjAdlVNDzrMqvTscgnOh 2INDyAQShVjmiq8T13eU8fdCxSi4zDgIoTy4fR42sS0T8v9m0HmVVOKcWXfFC7LxDdABpM vtJ7zs3SPxF9CZruYq4KWVoj26nlAJcszgPWHsMRw2KbQ4GEbEuAhD0TJ1Xvmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713064382; a=rsa-sha256; cv=none; b=GBj53d9L7XLRYhsKCxx5Iz/zG5OKR2Dmkzk94//grJBIVRuG1x7/S0by/S2kIET38OVnHT 10PfUL7rLeodmvXsuWOh8hTTBKz0WqCa+AKVjMFl2rmrSY+yhoKtomhh8mEhVTPRCqY1kh 0pV18vaI9kDQHJurCYd1GLyrJWQ0kvcJXJuThOiPJ1vHCwJj0dceZ0bpGuF2sfSvjihQfG QHPjk7ar9V/gAj775ENYmzOANTabSQSUEbmn+TKm2W5UkBLlv+j7/qlgUKN+FsTaDW2twF 1UxEy0/PT+8U9Y0TZZtKYCtkoE7QBAMi82gLQkaiNZVPAMF70SkXWTKDW3DoQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713064382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f+adD7+acOentBvYr9ppxNt5ht7d8JoT94nrlyFNKPs=; b=e42K0yZzHA82kCJwB0b2b+pOwYOiEzNpWzw59FlQMsgL9DNBCOEmv6Ny4pw/yUZqoOwDxm bVQxgswjvT3SKGprIEfiZRmJq9Q6w7/GBGiIKsGCrCkvACsHZ9bv05pn3szoP5Cx+K83o3 4qHLbivb4tJ2EsGltdCys0K4z8O7krJGD2ugXoerlsK8mHbuPvIgnoPL7BnoO7K0agVc4G HLAVWdvYFxFjvyyMC+KWfFyU0HEJyxixPB4uOCPkW2kwgWZpanARXPz7JXZ+2YU/mI/Fy+ cy3fF0T5KyHgBE+axXN0w2/Syyc3qsLJjpE7Ur4x9LJsqDNikKMiVwbexk2X1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHFjp5S9yz102x; Sun, 14 Apr 2024 03:13:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43E3D2RB033656; Sun, 14 Apr 2024 03:13:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E3D2vP033653; Sun, 14 Apr 2024 03:13:02 GMT (envelope-from git) Date: Sun, 14 Apr 2024 03:13:02 GMT Message-Id: <202404140313.43E3D2vP033653@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: bbc6e6c5ec8c - main - daemon: fix -R to enable supervision 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: 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: bbc6e6c5ec8c7938b98a36899fa083aa7ce4724e Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=bbc6e6c5ec8c7938b98a36899fa083aa7ce4724e commit bbc6e6c5ec8c7938b98a36899fa083aa7ce4724e Author: Mathieu AuthorDate: 2024-04-14 03:10:06 +0000 Commit: Kyle Evans CommitDate: 2024-04-14 03:12:36 +0000 daemon: fix -R to enable supervision mode If we're doing restarts, then we must supervise -- the 'R' case simply got missed. PR: 278342 Fixes: f907027b49d ("daemon: set supervise_enabled during [..]") --- usr.sbin/daemon/daemon.c | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index dd3315dadee4..26e34d1d2e2b 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -248,6 +248,7 @@ main(int argc, char *argv[]) if (e != NULL) { errx(6, "invalid restart delay: %s", e); } + state.mode = MODE_SUPERVISE; break; case 's': state.syslog_priority = get_log_mapping(optarg, From nobody Sun Apr 14 08:03:10 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHN8Z3nr0z5G2h4; Sun, 14 Apr 2024 08:03: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 4VHN8Z2ztPz4jy7; Sun, 14 Apr 2024 08:03:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713081790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O2Rhf+nW7aioPo5LGmrywrMms+qZKk7jj4jG1/OpV7E=; b=MJY7rvYfI83T1uLzkQS8mJtQjkxjuKO8xRwKldPwZNaz3R8qSpxDt2AvPa4+ua3sMiEkn4 S0Oo5QAjuT1gfS8i0qasaVCskcMykA+1V+X2Ace3PKrdWx6CVC1elCjqOL0s/WEnA7FfFl 5m5p7PgaK26FSXOh4Z4h6Tv3++QrLV9FC421SxuXOQxjNU3/NuPACFQ9t1DOsqf4Orz1CV Z41jl70Wef7v8hABrx59SxbfyWl63NyTk9nrPByqy7+oZzka/VDSmcSru0lLhz5WXxb+yR eOoOsUgPGM7zG/gxIJ45UcYnAlUTq+RmWjVnMMmcyfzdaC3ShzG0VyJsT1JCkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713081790; a=rsa-sha256; cv=none; b=ii98eyom/+z1wA+10D857wuGlQSnZ3SYcMAPfIPhF6hfQxArBKsBzA/J8turs5kItNSFel vjhlxbpKieE+6brQ27R7wwN8GbkX4dPx2KkcefnMooYT/WPVBVw1XT9nvZj6gCUYZvRHpT KCjAqqiNAV4xIz2Ovvt7GEnGUoAdM+BQ0ih9VRkWcTV9W2FQO3mXqO2UMDjE9GZVa2AlVC xPMMXFCOq6SuCZUPaEE5veOFjIwlUsxWL0BN9l3/Ec9DuVKynhKAxwy7tyQNhequZ/UvpD suAhHkLduaidr1x5kBE8m7gcwpouNClk38Xk3XUqAPc0pH/aJjPdbScG6X7Z/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713081790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O2Rhf+nW7aioPo5LGmrywrMms+qZKk7jj4jG1/OpV7E=; b=ZLDbZjwZYKLVQcyhdfOZSktjwb5Gm80/0SpkC4ccBYbQ6Q0IM/r6QmdQmk8ety+OfOMin8 6lI86He7QXPc+V0c1xrpmf8DEUrweRSglwiQh6CeINpDPpxOjenDaJgEw0S5G2J/XYmmzP CtMnDHg0T/eeZO9PvJoggKsBc9y+5MdZwKNUPvTx+y34QfyyIE1DhRIVJGXX/z058XalHu FCINYqpOXMhn8XbqWEqpSUM+DDsl/0TEKrZ8eSNkEaJJ2BWrXP7KSBmDYGhxE15u/fTyDA yJ+dRRyWo/uJwVO30d0FiWxdbs65Vm9Z8bMgz47edagGR6hYLigIt3gIEx1XxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHN8Z2bC3z17cf; Sun, 14 Apr 2024 08:03:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43E83ACO022130; Sun, 14 Apr 2024 08:03:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E83AxG022127; Sun, 14 Apr 2024 08:03:10 GMT (envelope-from git) Date: Sun, 14 Apr 2024 08:03:10 GMT Message-Id: <202404140803.43E83AxG022127@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: 51c69c8682e8 - main - amdsmn(4), amdtemp(4): add support for AMD Family 19h Models 10h-1Fh. 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: 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: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 51c69c8682e8ab0e5d82ab3d6f2d16419d40bad4 Auto-Submitted: auto-generated The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=51c69c8682e8ab0e5d82ab3d6f2d16419d40bad4 commit 51c69c8682e8ab0e5d82ab3d6f2d16419d40bad4 Author: Xin LI AuthorDate: 2024-04-14 07:45:17 +0000 Commit: Xin LI CommitDate: 2024-04-14 07:52:08 +0000 amdsmn(4), amdtemp(4): add support for AMD Family 19h Models 10h-1Fh. Tested on AMD Threadripper 7960X. PR: kern/278311 Tested by: jbo MFC after: 1 week --- sys/dev/amdsmn/amdsmn.c | 7 +++++++ sys/dev/amdtemp/amdtemp.c | 14 +++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/sys/dev/amdsmn/amdsmn.c b/sys/dev/amdsmn/amdsmn.c index a676bbb6b0f2..ddb5be4c2c3c 100644 --- a/sys/dev/amdsmn/amdsmn.c +++ b/sys/dev/amdsmn/amdsmn.c @@ -58,6 +58,7 @@ #define PCI_DEVICE_ID_AMD_17H_M10H_ROOT 0x15d0 #define PCI_DEVICE_ID_AMD_17H_M30H_ROOT 0x1480 /* Also M70H, F19H M00H/M20H */ #define PCI_DEVICE_ID_AMD_17H_M60H_ROOT 0x1630 +#define PCI_DEVICE_ID_AMD_19H_M10H_ROOT 0x14a4 #define PCI_DEVICE_ID_AMD_19H_M60H_ROOT 0x14d8 struct pciid; @@ -102,6 +103,12 @@ static const struct pciid { .amdsmn_addr_reg = F17H_SMN_ADDR_REG, .amdsmn_data_reg = F17H_SMN_DATA_REG, }, + { + .amdsmn_vendorid = CPU_VENDOR_AMD, + .amdsmn_deviceid = PCI_DEVICE_ID_AMD_19H_M10H_ROOT, + .amdsmn_addr_reg = F17H_SMN_ADDR_REG, + .amdsmn_data_reg = F17H_SMN_DATA_REG, + }, { .amdsmn_vendorid = CPU_VENDOR_AMD, .amdsmn_deviceid = PCI_DEVICE_ID_AMD_19H_M60H_ROOT, diff --git a/sys/dev/amdtemp/amdtemp.c b/sys/dev/amdtemp/amdtemp.c index 865804bdc96e..56772432773e 100644 --- a/sys/dev/amdtemp/amdtemp.c +++ b/sys/dev/amdtemp/amdtemp.c @@ -69,7 +69,11 @@ typedef enum { CCD6, CCD7, CCD8, - CCD_MAX = CCD8, + CCD9, + CCD10, + CCD11, + CCD12, + CCD_MAX = CCD12, NUM_CCDS = CCD_MAX - CCD_BASE + 1, } amdsensor_t; @@ -109,6 +113,7 @@ struct amdtemp_softc { #define DEVICEID_AMD_HOSTB17H_M10H_ROOT 0x15d0 #define DEVICEID_AMD_HOSTB17H_M30H_ROOT 0x1480 /* Also M70H, F19H M00H/M20H */ #define DEVICEID_AMD_HOSTB17H_M60H_ROOT 0x1630 +#define DEVICEID_AMD_HOSTB19H_M10H_ROOT 0x14a4 #define DEVICEID_AMD_HOSTB19H_M60H_ROOT 0x14d8 static const struct amdtemp_product { @@ -134,6 +139,7 @@ static const struct amdtemp_product { { VENDORID_AMD, DEVICEID_AMD_HOSTB17H_M10H_ROOT, false }, { VENDORID_AMD, DEVICEID_AMD_HOSTB17H_M30H_ROOT, false }, { VENDORID_AMD, DEVICEID_AMD_HOSTB17H_M60H_ROOT, false }, + { VENDORID_AMD, DEVICEID_AMD_HOSTB19H_M10H_ROOT, false }, { VENDORID_AMD, DEVICEID_AMD_HOSTB19H_M60H_ROOT, false }, }; @@ -180,6 +186,7 @@ static const struct amdtemp_product { #define AMDTEMP_17H_CCD_TMP_BASE 0x59954 #define AMDTEMP_17H_CCD_TMP_VALID (1u << 11) +#define AMDTEMP_ZEN4_10H_CCD_TMP_BASE 0x59b00 #define AMDTEMP_ZEN4_CCD_TMP_BASE 0x59b08 /* @@ -860,6 +867,11 @@ amdtemp_probe_ccd_sensors19h(device_t dev, uint32_t model) maxreg = 8; _Static_assert((int)NUM_CCDS >= 8, ""); break; + case 0x10 ... 0x1f: + sc->sc_temp_base = AMDTEMP_ZEN4_10H_CCD_TMP_BASE; + maxreg = 12; + _Static_assert((int)NUM_CCDS >= 12, ""); + break; case 0x60 ... 0x6f: /* Zen4 Ryzen "Raphael" */ sc->sc_temp_base = AMDTEMP_ZEN4_CCD_TMP_BASE; maxreg = 8; From nobody Sun Apr 14 17:21:41 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHcY13zTyz5Gy53; Sun, 14 Apr 2024 17:21: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 4VHcY13W3Mz4Vng; Sun, 14 Apr 2024 17:21:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713115301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xs3OdoROE6mr6riLYZKtOVnpLEPO7Xa2ld9YGbHFQ1o=; b=WvnlggFfoQmE8XQ2VJJpzyUerMtimQRah77cWX0T8y9pHqY79JXJO5gJED5HjMJ5UsIIWt +T9kWuKk5VtWm2wXOQ9aFQtAVKc7niS+/QJH3qPbVqnOKOQ5X4ct15Yt+WjYJwCfjgnQbw Go8jgA9XhPYwdDj53Vt6DM3XVR86y7x3GbgwcD9NSy+i/yTaaa4lMy2DWN7ou7mWzGE1KM D2oQgAYG6LPHGNjIudtEkmaz+du0Q6uc9yjfMfBM0bzb7unQ/6F72dUQY3ALcZ99NuRS9j qamBnLf4PYocDbeppabUPp2FP0zQebMlvoN0c+1UwxlfJNiXrPtNbjXaAuSgpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713115301; a=rsa-sha256; cv=none; b=VkRC7oe0jbwh0HZrjzR3O+9IVZZEKHmLOrgm37JfYIrPoZPD/Pjc+k8+CXe7RnPZ4fjQPF dip6TkPNYBD+OlxZWCk/iCEeVaTl8p9Gy773Fd5O3vSenCVolTO+8cE0QmxKraGe2syBPH IwxXGgSBVrgIF82TLGb1SUHQmE89DVFL10GDXOjnxFarMGXesqqGwQLwisk8U/YFX35VDu w40jOe53y/4DRY4vJoJC0nJaeoENDsG4igilD8pguoO8AIyGsiB6YFK1XrWUjz/Bf5ljWE bPti0KcF46/EI/mX6gwaDOT64Utu2/YqyoCTc/Gy1wJTHt6+AXXDNNfA4UCLpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713115301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xs3OdoROE6mr6riLYZKtOVnpLEPO7Xa2ld9YGbHFQ1o=; b=mgfzg02sZQKop0GT/BEF+I8fAt7oKgNE5GdTfde00+K+8bf4lBYL+fdfi/7YI65s1xu4Ib F5GO7NiCamjGjm1xJ/WdHnzOjbT1U4BrUOZ8Fw3KGdCSX8su9ZIVXL2iOS1/3ByeEmP4Fk yx6XZmbB1DmKTBtcV1hiKsunz67hnbyHqWgbHb92z5jAm2V8Ld9N+TDEbhBKwcfTzautfB cBYJa4E18My5uhs0jMcA4BTQCKu1+2GZ1sRpleYDfkixWAVfA9d0ZuM9XvfrJkV8f/2JY1 C7AWroCaN59LuqyP0h88Z0iKrR0jPeBfCKDD2zh3LEp2o5R9iOLo3ewun0PbgA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHcY135W6zQ1J; Sun, 14 Apr 2024 17:21:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43EHLfnQ064487; Sun, 14 Apr 2024 17:21:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43EHLfgj064484; Sun, 14 Apr 2024 17:21:41 GMT (envelope-from git) Date: Sun, 14 Apr 2024 17:21:41 GMT Message-Id: <202404141721.43EHLfgj064484@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: eac87a7a7e26 - main - ObsoleteFiles.inc: fix timestamps of the recent entries 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: 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: eac87a7a7e26086fc3da8a31ce06c4c1a8ee9ef5 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=eac87a7a7e26086fc3da8a31ce06c4c1a8ee9ef5 commit eac87a7a7e26086fc3da8a31ce06c4c1a8ee9ef5 Author: Gleb Smirnoff AuthorDate: 2024-04-14 17:19:20 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-14 17:19:20 +0000 ObsoleteFiles.inc: fix timestamps of the recent entries --- ObsoleteFiles.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index f9728ccd799e..e7d62afdd764 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,7 +51,7 @@ # xargs -n1 | sort | uniq -d; # done -# 2024mmdd: new clang import which bumps version from 17 to 18 +# 20240406: new clang import which bumps version from 17 to 18 OLD_FILES+=usr/lib/clang/17/include/__clang_cuda_builtin_vars.h OLD_FILES+=usr/lib/clang/17/include/__clang_cuda_cmath.h OLD_FILES+=usr/lib/clang/17/include/__clang_cuda_complex_builtins.h @@ -442,7 +442,7 @@ OLD_FILES+=usr/lib/clang/17/share/msan_ignorelist.txt OLD_DIRS+=usr/lib/clang/17/share OLD_DIRS+=usr/lib/clang/17 -# 2024mmdd: new libc++ import which bumps version from 17 to 18 +# 20240406: new libc++ import which bumps version from 17 to 18 OLD_FILES+=usr/include/c++/v1/__pstl/internal/algorithm_fwd.h OLD_FILES+=usr/include/c++/v1/__pstl/internal/algorithm_impl.h OLD_FILES+=usr/include/c++/v1/__pstl/internal/execution_defs.h From nobody Sun Apr 14 17:21:42 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHcY24htKz5Gy71; Sun, 14 Apr 2024 17:21: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 4VHcY24524z4Vr6; Sun, 14 Apr 2024 17:21:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713115302; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IKFtyLBJl6slfd8ghEoXZ5PVunhyVjM1x5eSzmOW4qA=; b=NppOjktgYxmphdUuT5pPrcq1iGB6G0+4QnPZuUogYsPQfvqO8F1HRnOB+vaWVPh+ILjTE/ Jwidwe6zYMzxdh1PqoKBNjzC55WEpeePy9q3xTToAFKHVVkZIruEVdSp5HhEpAXZrDVj8d 7PbtKego5JyMpJAn3dwzp+utQ2Je2ynEZvRJcz30EYk8XkLcjogdFfF50gS7OX+C+iJ6lS LjQc6/7JP9m8G88gD4ccFrPN+Xwv8iNDgHRh9IqbsyUGw/qNgFZEudEc5F0YoKlep3riDo eMFJi2db1tnF/vm7vNIRVlaoJrI6B8fFRPYc8FJKS5Oo/msvjA2YuKL0JYukyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713115302; a=rsa-sha256; cv=none; b=ILhkS206KSFu4GNDHWZWFQ28EnvN2Ho0QbIBGSvEPRBqxHDt8j8sq/2jZ/PjYjvjLup+Hu h064ZUBvZUJU2REXSP24IV/1m6F05F7kmnYXKgHPLIYn6Jh3H9dNQZg44X1tl42MOuzymZ L6H/LwiIi/EF1Y1SjnKut0CwOPM0dwqngcaPqA8ahDIDuFFFVvtvENx+rsBUer1SSerQmc QL5MzZ371/68FvVgoWcTR5IKcuc1jM0Kq59PU0/9r1elCyUq9h/Y0fyafl5efl8yZLHuH0 j4OQmPjZrhYzvtNSDCyhbLXB4DpQIpmRhPev5B8qNLRT/ElLBLZj96YTgwhCUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713115302; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IKFtyLBJl6slfd8ghEoXZ5PVunhyVjM1x5eSzmOW4qA=; b=q9fuq+EmTIkxchKLUAggiSA42ERV6uTiK+ZH3PrnfKkkC/WEokr0n9jcx88uYQ0otIkuzj MuwlDU7oI44ZQMCbj5c06FpV9dxTudxiehKnBuzb4rhcdf9Zcd53Q3hlM9j2guCoA7S/Pp QZvPxhmIuaX2FK0DkQI4xtZiRsrjPFtG0yYFrPH1vNj3k/BdlqUjsz15E1FQkCUFs6riWo WRRgsg0z8SjMBf6MpHNco4gBHWNy/3yq5kJtLepB9HTxQq3zgA5rEoWsXiXYGrlPVzjiB3 NzyL0J3JAUNLYg6hBCe0HFXx+k8/79UL89vZYVVaPwSSmsKIAcfUo77ZzW/UkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHcY23gjNzPYY; Sun, 14 Apr 2024 17:21:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43EHLgTB064541; Sun, 14 Apr 2024 17:21:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43EHLgB6064538; Sun, 14 Apr 2024 17:21:42 GMT (envelope-from git) Date: Sun, 14 Apr 2024 17:21:42 GMT Message-Id: <202404141721.43EHLgB6064538@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: 6655bec4e268 - main - tests/unix_stream: test that send(2) of zero bytes is successful 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: 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: 6655bec4e268eeb779f5e57e5914761cf86b5f8a Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=6655bec4e268eeb779f5e57e5914761cf86b5f8a commit 6655bec4e268eeb779f5e57e5914761cf86b5f8a Author: Gleb Smirnoff AuthorDate: 2024-04-14 17:19:20 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-14 17:19:20 +0000 tests/unix_stream: test that send(2) of zero bytes is successful Put this simple test into an existing file. We don't have a designated file for all unix/stream tests. There is extensive unix_seqpacket_test, but (at least right now) unix/seqpacket is not a superset of unix/stream, but a different implementation. We have one file that does one test for unix/stream - unix_socketpair_test. So rename it to unix_stream and start collecting all unix/stream tests in it. --- ObsoleteFiles.inc | 3 ++ tests/sys/kern/Makefile | 2 +- .../kern/{unix_socketpair_test.c => unix_stream.c} | 32 ++++++++++++++++++---- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index e7d62afdd764..50f426085eff 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20240414: unix_socketpair_test renamed +OLD_FILES+=usr/tests/sys/kern/unix_socketpair_test + # 20240406: new clang import which bumps version from 17 to 18 OLD_FILES+=usr/lib/clang/17/include/__clang_cuda_builtin_vars.h OLD_FILES+=usr/lib/clang/17/include/__clang_cuda_cmath.h diff --git a/tests/sys/kern/Makefile b/tests/sys/kern/Makefile index bc42f53a2849..c5107ce8f9fe 100644 --- a/tests/sys/kern/Makefile +++ b/tests/sys/kern/Makefile @@ -50,7 +50,7 @@ ATF_TESTS_C+= unix_passfd_stream TEST_METADATA.unix_passfd_stream+= is_exclusive="true" ATF_TESTS_C+= unix_seqpacket_test TEST_METADATA.unix_seqpacket_test+= timeout="15" -ATF_TESTS_C+= unix_socketpair_test +ATF_TESTS_C+= unix_stream ATF_TESTS_C+= waitpid_nohang ATF_TESTS_C+= pdeathsig ATF_TESTS_C+= sigsys diff --git a/tests/sys/kern/unix_socketpair_test.c b/tests/sys/kern/unix_stream.c similarity index 83% rename from tests/sys/kern/unix_socketpair_test.c rename to tests/sys/kern/unix_stream.c index b994b791a2ed..d57cfad020fa 100644 --- a/tests/sys/kern/unix_socketpair_test.c +++ b/tests/sys/kern/unix_stream.c @@ -37,23 +37,30 @@ #include +static void +do_socketpair(int *sv) +{ + int s; + + s = socketpair(PF_LOCAL, SOCK_STREAM, 0, sv); + ATF_REQUIRE_EQ(0, s); + ATF_REQUIRE(sv[0] >= 0); + ATF_REQUIRE(sv[1] >= 0); + ATF_REQUIRE(sv[0] != sv[1]); +} + /* getpeereid(3) should work with stream sockets created via socketpair(2) */ ATF_TC_WITHOUT_HEAD(getpeereid); ATF_TC_BODY(getpeereid, tc) { int sv[2]; - int s; uid_t real_euid, euid; gid_t real_egid, egid; real_euid = geteuid(); real_egid = getegid(); - s = socketpair(PF_LOCAL, SOCK_STREAM, 0, sv); - ATF_CHECK_EQ(0, s); - ATF_CHECK(sv[0] >= 0); - ATF_CHECK(sv[1] >= 0); - ATF_CHECK(sv[0] != sv[1]); + do_socketpair(sv); ATF_REQUIRE_EQ(0, getpeereid(sv[0], &euid, &egid)); ATF_CHECK_EQ(real_euid, euid); @@ -67,10 +74,23 @@ ATF_TC_BODY(getpeereid, tc) close(sv[1]); } +/* Sending zero bytes should succeed (once regressed in aba79b0f4a3f). */ +ATF_TC_WITHOUT_HEAD(send_0); +ATF_TC_BODY(send_0, tc) +{ + int sv[2]; + + do_socketpair(sv); + ATF_REQUIRE(send(sv[0], sv, 0, 0) == 0); + close(sv[0]); + close(sv[1]); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, getpeereid); + ATF_TP_ADD_TC(tp, send_0); return atf_no_error(); } From nobody Sun Apr 14 17:21:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHcY374VFz5Gy00; Sun, 14 Apr 2024 17:21: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 4VHcY35Cgkz4W3s; Sun, 14 Apr 2024 17:21:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713115303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MvgZmqWuZLbsustzBiwdCDrhItNt/nQDhCGYk9wlL7k=; b=RvaXot4mK6copdF6efjg7UnHRDw+pNuJ1cPU10FpF1y7j7Y6DYp0MhCzA+/F6t0qavcAKY SSoFZ/yO5oAJieDjL0oG9G455CM4XP98UD2QcYE5t7k7D292JLySaB81cmfhnmwvOvaXN+ DCo+v7jKYjfh2VKn8AtTJTp0LUtWS6RSV6Qp/7s4QvDDG8+7Vs78tuBcsGLJO33mwBxrVP dX4CW6GDAVoeJRe+UoI1YX6PNMKqtZ3+6O5M283NOAUbapzFg8DRPi2N+4BKPfOjPlCQJv a9ulTAyQqRwnrrMdZgzgc/P56rVJSHpeBTAFV6r+CCvT+sG1v9FMAI0oXUDgAw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713115303; a=rsa-sha256; cv=none; b=JI93VPmmFatU+MWtO03mnJaxFILf5UumHVRw0Hdk3NRxrlSWSJvg+KQ0ujJqi/hZr51RH/ o4zVa9b8Afd5RqJEDS80YFz0pzxxoObrmeejvfdUHaCk8DNVmfQHLpby4fQ6DwCTJRdqmR TtXUMOepmBmrEpJei/msGglFUUScdfezg7e5pvpMLuzvT06oaykHA6Q9+0KBzO/gmNiTuM WNNLBFEsZ+ICPmHGh+0a5EiVnrDCln+mgr4ThkuPx4zmfiVEdxwHsiLi2s6QogKSLsmnna qm+XgaesEbf7vrOniym1v3MjZmkT6jQVmyb8cnY7BkQECnIjc49OLXKtudNqNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713115303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MvgZmqWuZLbsustzBiwdCDrhItNt/nQDhCGYk9wlL7k=; b=SLmjIWqoy6eRrzq1MsDKOUHqi+WVhSOjO9RIOyOct8H+3ksCnegyVSB2MP77lwXkaeMjn/ md1G+qS43t1hfvPrhLDt1nP+96CZMex7FaoD/kBA7um+jJI3rjZ9fGFKyA0k9L3Rjzswea L3bd+2JmO25UHTm5crsO84V6qbUba6bayAyV9B8CugPhgjeWB0+h5vk+wwyrP++ys2WTAm HTuxrVf0ReiuV7WbPoBpGx0ND4z1eIoO6a+Hgpz3xgI9gkw9k8gkUP2B8WCUMNUbU1RNGI Q3OiztyygfCXoWCk0oDyE+1JaJ2h3u1rlkylXW53Ucs/TFbgnY9XVLYZugP75Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHcY34pBBzPc8; Sun, 14 Apr 2024 17:21:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43EHLhsM064598; Sun, 14 Apr 2024 17:21:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43EHLhqV064595; Sun, 14 Apr 2024 17:21:43 GMT (envelope-from git) Date: Sun, 14 Apr 2024 17:21:43 GMT Message-Id: <202404141721.43EHLhqV064595@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: e6a4b57239da - main - mbuf: restore m_uiotombuf() feature of returning a zero length 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: 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: e6a4b57239dafc6c944473326891d46d966c0264 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=e6a4b57239dafc6c944473326891d46d966c0264 commit e6a4b57239dafc6c944473326891d46d966c0264 Author: Gleb Smirnoff AuthorDate: 2024-04-14 17:21:07 +0000 Commit: Gleb Smirnoff CommitDate: 2024-04-14 17:21:07 +0000 mbuf: restore m_uiotombuf() feature of returning a zero length mbuf PR: 278340 Fixes: aba79b0f4a3f69f070ace6effd5700d65226bd20 --- sys/kern/uipc_mbuf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c index f5f6db752883..d3389aeeccaf 100644 --- a/sys/kern/uipc_mbuf.c +++ b/sys/kern/uipc_mbuf.c @@ -1948,7 +1948,7 @@ m_uiotombuf(struct uio *uio, int how, int len, int lspace, int flags) if (flags & M_EXTPG) { /* XXX: 'lspace' magically becomes maxseg! */ return (m_uiotombuf_nomap(uio, how, len, lspace, flags)); - } else if (__predict_false(uio->uio_resid + len == 0)) { + } else if (__predict_false(uio->uio_resid == 0)) { struct mbuf *m; /* From nobody Sun Apr 14 17:41:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHczK5gdJz5Gkvm; Sun, 14 Apr 2024 17:41: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 4VHczK3jyDz4YC8; Sun, 14 Apr 2024 17:41:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713116461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8XmO9mvvp6J1eBMyHNQmv2SyODYcM/ZHuRhgn0BvLEY=; b=rGk5ovjqNWoVDQnY4dV0UMXV5Jiu7fFVpALRzdf6y4B4UqeaZcJrE9XEEVKVbKQdd1xtUs d6CeHnnic3FKMkhBXvIa0ty3vZhIv3X6iBH81EfKo/NofUzF+kk9RCDkj60Y50ghYjkK0I EoSAHOD3y2ivSp76cvxk4Hnq79HdUhiNGakOuJQ3qkK4c/oHnbE0OYAQxx6SMZWOEZ1OkN 6++VGhvw7n8RbIxlqb097ap5A3QdlH7+iO7s1d9BuUe5UenIJREEIoc1P1cPeDtrByVV8J L8+Hp+/K2k4bQX16lhZbNwW+eHNMoSpnpzkLv5+8Ru5ZgwQAGZEEJp+Mn3pjHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713116461; a=rsa-sha256; cv=none; b=l96YGfIjPE5urObqtBkwhCk8MIc0l/9OoNgStz5Eb5nNyEZTjFrJEDzxSCxTMkDA38vdvb 339ebtQ/YvX42ZTdLEb8Kzzk7TQMhgbex8Bmf8EhRxtoCNqKuUOeSK+vYT6VdI8bzwCoKd M4Mf2pTHO65qzUtXlGd9grwxFgWCeOuoCHKtZFRKSfE4dElQ5GODiIEtdHAsNQPUvS1mcI 7PXFk5n6B+RMQDKS9RrNBBuok8E+fE9/AkcgU1vhRyhxFyDVwYIFtXSqnsSGL7ClM9zScU VZApqYb+hYtndBX0v3kVJoSR2qxrP8+P9WChz0bQyaWrzmzrzaE5IbAms3vFkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713116461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8XmO9mvvp6J1eBMyHNQmv2SyODYcM/ZHuRhgn0BvLEY=; b=i6M+pHlfO5CfPZDRFxbF3r3zRBTjq/5xtGPXqOoTgpSTfdWKb8Brjdb2gwTLf3EvGg3RjB x32E9ifIEbPUWGXAas5LRX6YVilfZ/Fe5mMWfv9jeWV1/1lQqg5zH44OaWiVjCxuPs94re C59ZhlVi44Xu0wX7YPHa3S7N61K68EB2mksoox5NzKnpwxF8yGzP1J0+/pX3onT4wAavoI xPKwdTPCr5brTzL80O9b9YLBpB97FZvJuQOBXazuH50CtodYD1/OEjzl44T455mYt0UnRU ZRIqTP0lTNmLN4Je10XWHb5HR9YBoHbTpH6Dog5UVPc9DrQx0jmulW2oME8ohQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHczK3KWNzQg6; Sun, 14 Apr 2024 17:41:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43EHf1s5095502; Sun, 14 Apr 2024 17:41:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43EHf1EB095499; Sun, 14 Apr 2024 17:41:01 GMT (envelope-from git) Date: Sun, 14 Apr 2024 17:41:01 GMT Message-Id: <202404141741.43EHf1EB095499@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: 8b181c2fbaa8 - main - sanitizers: mark __elf_aux_vector as weak, to allow linking without libsys 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: 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: 8b181c2fbaa8c6b32e5510ef6e3a6d364ff4710e Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=8b181c2fbaa8c6b32e5510ef6e3a6d364ff4710e commit 8b181c2fbaa8c6b32e5510ef6e3a6d364ff4710e Author: Dimitry Andric AuthorDate: 2024-04-14 17:38:42 +0000 Commit: Dimitry Andric CommitDate: 2024-04-14 17:40:12 +0000 sanitizers: mark __elf_aux_vector as weak, to allow linking without libsys After libsys was introduced, linking sanitized programs started failing with: # c++ -fsanitize=address main.cc ld: error: undefined symbol: __elf_aux_vector >>> referenced by sanitizer_linux_libcdep.cpp:950 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:950) >>> sanitizer_linux_libcdep.o:(__sanitizer::ReExec()) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a c++: error: linker command failed with exit code 1 (use -v to see invocation) Mark __elf_aux_vector as weak in the internal sanitizer declaration, so the linker will accept it at link time. The dynamic linker will then take care of the symbol at run time. Suggestion by: brooks PR: 276104, 277393 MFC after: 1 month --- .../compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp index cccbb4d256df..962fff53e447 100644 --- a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp +++ b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp @@ -53,7 +53,7 @@ // that, it was never implemented. So just define it to zero. # undef MAP_NORESERVE # define MAP_NORESERVE 0 -extern const Elf_Auxinfo *__elf_aux_vector; +extern const Elf_Auxinfo *__elf_aux_vector __attribute__ ((weak)); # endif # if SANITIZER_NETBSD From nobody Sun Apr 14 17:46:50 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHd625qFcz5Glbm; Sun, 14 Apr 2024 17:46:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VHd625Gjwz4YtG; Sun, 14 Apr 2024 17:46:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713116810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qzOYXtTX1RYvwLi/B51KcrrD3ajm7ZGtvDAZ2fG2Jfk=; b=ihUUKWNaxjPO67ksAKygssBHGXhKL+WtqSvaodSwNSdE7OMhudT+l5pbNJ3ByKKeGMCviZ 4oO8ediZ07De0k4mMXwF6vMTuNR+meV6e8kirELQhL/wWcKFSd41sE+YkkLVNwcWVaHmlH qfpH+qN8Ov/KWPtV2T//5Up8AhaTYgD4qQG4zbpwtoIIP6ERw9O+0E4/LWuciKkZRlgyDz /iNc9Y24ejbxj4Dk2bYvPvcBPujDn/cW9+uH+IiBgzmtAcFVa0n2a8abL3OAg7Z5blIgx7 GquY5vbqWLAQl4kzURuCjiz1Nbo43AM/dUYPfq6cg/2fhV9EOICNKySFCVVPWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713116810; a=rsa-sha256; cv=none; b=F5n7sHVAf0xAyT9ZKWskXNwqhRuyETRrfyQXHZ2ecM2XI7F+bJYaPmY/gyqCLcudwu+Sjq ZKRLcOpAPbCL5HQPA+os4j27mwd6J2xDabhKiDBQC+WppZU3lb7rYtwdknY+0eLaeA1i3O SBaS0fndm5+wzVuonxizajGPjCPFWVfzEbjkZFSZLvSry39g0Vq4NNR4YwPs//H9Zo7nAh ffyhMkxCcI9WFeWAaTbAJKLJ9CD6r6IGSko4SUSH1KSzROzps2rNw+rxs+Z19eptWHgBkd Lrkbybjk4uN88E3eKaimrxqKNXvD0vytInQiIqyVb3hcqej4nCq+n2yIN8LFuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713116810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qzOYXtTX1RYvwLi/B51KcrrD3ajm7ZGtvDAZ2fG2Jfk=; b=oX81fRCd4LoOElfB6O+tkB3yZNnWMD5+pvGxJx8mID9B1y+OenL09zib4OEq7SsUvriCoV KtS/c6OXQ2mtq0udnGXzwSqsD4/tg3+eExQbC6m0wEra/08KvfTMovS254pxgS/0/6gi9B WX0QH70AymRQx7A90zsVIUDAtmmgGcxgiAac+d8cY3u/j7ZqqyjV7CgEy1iJF0tZgwb+Rg T5cBrdY4no4KCfeVaAlLiw4GDngmpKqFnSObRu2PO6GUJzOuZuZPpdnDXOV4a4ok+0+zlC Bc8PyG+j/Iwk3+GXN4QtJ8O0epALlzkzgkJa3abjgZ5mSWxLwrBiRQrbIrCZ9Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHd624l1DzQNd; Sun, 14 Apr 2024 17:46:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43EHkoYg002930; Sun, 14 Apr 2024 17:46:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43EHkobl002927; Sun, 14 Apr 2024 17:46:50 GMT (envelope-from git) Date: Sun, 14 Apr 2024 17:46:50 GMT Message-Id: <202404141746.43EHkobl002927@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Fernando =?utf-8?Q?Apestegu=C3=ADa?= Subject: git: bc0c6c9cf3a9 - main - freebsd-update: Add check for kernel modules 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: 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: fernape X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bc0c6c9cf3a9f9a54dbdd92dd8f1f65ff8092d17 Auto-Submitted: auto-generated The branch main has been updated by fernape: URL: https://cgit.FreeBSD.org/src/commit/?id=bc0c6c9cf3a9f9a54dbdd92dd8f1f65ff8092d17 commit bc0c6c9cf3a9f9a54dbdd92dd8f1f65ff8092d17 Author: Fernando ApesteguĂ­a AuthorDate: 2023-04-19 16:08:47 +0000 Commit: Fernando ApesteguĂ­a CommitDate: 2024-04-14 17:46:23 +0000 freebsd-update: Add check for kernel modules People get confused when some software (VirtualBox, etc) does not work as expected (or at all) after a major upgrade. We have a nice way to deal with this when using sources, namely including PORTS_MODULES in /etc/make.conf, but we lack something similar for binary updates. This patch retrieves a list of kernel modules installed from packages and advises the user to recompile from ports to avoid problems. Approved by: zlei@ Differential Revision: https://reviews.freebsd.org/D39695 --- usr.sbin/freebsd-update/freebsd-update.sh | 58 +++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh index 4a6a8d78330b..d1cd46963a6c 100644 --- a/usr.sbin/freebsd-update/freebsd-update.sh +++ b/usr.sbin/freebsd-update/freebsd-update.sh @@ -655,6 +655,63 @@ fetch_setup_verboselevel () { esac } +# Check if there are any kernel modules installed from ports. +# In that case warn the user that a rebuild from ports (i.e. not from +# packages) might need necessary for the modules to work in the new release. +upgrade_check_kmod_ports() { + local mod_name + local modules + local pattern + local pkg_name + local port_name + local report + local w + + if ! command -v pkg >/dev/null; then + echo "Skipping kernel modules check. pkg(8) not present." + return + fi + + # Most modules are in /boot/modules but we should actually look + # in every path configured in module_path + search_files="/boot/defaults/loader.conf /boot/loader.conf" + pattern=$(grep -shE '^module_path=' ${search_files} | + tail -1 | + cut -f2 -d\" | + tr ";" "|") + + if [ -z "${pattern}" ]; then + # Not having module_path in loader.conf is probably an error. + # Check at least the most common path + pattern="/boot/modules" + fi + + # Check the pkg database for modules installed in those directories + modules=$(pkg query '%Fp' | grep -E "${pattern}") + + if [ -z "${modules}" ]; then + return + fi + + echo -e "\n" + echo "The following modules have been installed from packages." + echo "As a consequence they might not work when performing a major or minor upgrade." + echo -e "It is advised to rebuild these ports:\n" + + + report="Module Package Port\n------ ------- ----\n" + for module in ${modules}; do + w=$(pkg which "${module}") + mod_name=$(echo "${w}" | awk '{print $1;}') + pkg_name=$(echo "${w}" | awk '{print $6;}') + port_name=$(pkg info -o "${pkg_name}" | awk '{print $2;}') + report="${report}${mod_name} ${pkg_name} ${port_name}\n" + done + + echo -e "${report}" | column -t + echo -e "\n" +} + # Perform sanity checks and set some final parameters # in preparation for fetching files. Figure out which # set of updates should be downloaded: If the user is @@ -3466,6 +3523,7 @@ cmd_cron () { cmd_upgrade () { finalize_components_config ${COMPONENTS} upgrade_check_params + upgrade_check_kmod_ports upgrade_run || exit 1 } From nobody Sun Apr 14 23:09:46 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHmGf5MTKz5HG18; Sun, 14 Apr 2024 23: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 4VHmGf4ntTz3x5n; Sun, 14 Apr 2024 23: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=1713136186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R6cQz3xtd+goraI0RgDzvxvhYQygYO173GBbFauQvXk=; b=ehvvxLp/KV5asIgT/zMqLq166ZtOxRYO0rqFnc8Sf2c2ASUaaIf/gu2Uodx5upvUqVwUbS gJHsJvuuu1iGdmllEFF8k4nbCoxM51xYLvtb8qc1Zw9W96VSIZEIzL8HNJymHEcNv16r3z 1GKAL0u5zVnyMqnP0cWj023kjaT3DankxiUsZ6XcqiERdEMqstae4wTRoeFs5OqBzTVZbT vnfcZfqr+bV+hMpWQ9C+DlWIPur1CfIEdLyOk+T35Yyr4Lie9edT1oMEY5wr8EzlPjs7kz awRrugprVmQJY9AGCYNUygt0jmcTjkXn8HUTBUUyo8Euv2tL0hOENPwflaHXXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713136186; a=rsa-sha256; cv=none; b=TMy28ngJ6+1M+NmqzHi+WpepB8cLl7DRGaTSJelyPHs5fsGXHlJJTT94ynZK7V3EsatVi/ hMxJIqsipR9wXTZ4gcJiTvZCs94zLl3xxQiXw3frq51o3G9ZOGN84rKI5JSd91PNT8C/z5 mCCA4eWhvUgm/a7JoJYyCq2fSjBSnDKQmgjHbQ2MCPoCGhxVQFJ6PKI+02A6qNqWmDF3ZR dVzgpv0eWBO/tAKITpSYViQ+0JH/OKEWqGBra/SmSsHHyHLDWnKtNiR18phOS+N61/FVTh CTCkzYUM9L/ZwbZjmJy89lmU+sBpY/mbt3aIXPUxUwy3Q0Z0OrlTAjWbcMet7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713136186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R6cQz3xtd+goraI0RgDzvxvhYQygYO173GBbFauQvXk=; b=A+cM4mCT9RpKVVjDbOIG8Fio87W2l9sET6j5Hp1AV6YXmLvGTTzrz2Mi1I7iA9ZNjCmwjD goTv7opcMQwWgCopa1vgk9AiZCM7EZ0NYXC/4gjY4/9IKL9v3ZTF7JKg0jHRttvsM/I0LE s0ifYp0IpHJdFBLGvDHNuDTyrGhCFcBPy4Dvg2ehrVl8ct9GG7rfN6mduFGZZBpG8pdZhi 4IKSWv2+e93ie/w52QHk2d7H10pEyjdRhAR8Vx/PwayDkN4wTTy4G8JATIQU73VJ2J2Zpw sp/gQlXzjr7EZ3+I0cVrhLfsUl2FNhSYJq7Sxg6PVdupMvzu5P+zXGIr8aee8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHmGf4BNrzbtL; Sun, 14 Apr 2024 23:09:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43EN9kKS046189; Sun, 14 Apr 2024 23:09:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43EN9k5I046186; Sun, 14 Apr 2024 23:09:46 GMT (envelope-from git) Date: Sun, 14 Apr 2024 23:09:46 GMT Message-Id: <202404142309.43EN9k5I046186@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: ab95bca9988a - main - net8011: radiotap: add more EHT constants 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: 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: ab95bca9988ab15a2502efd03db43068a0a2b18b Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ab95bca9988ab15a2502efd03db43068a0a2b18b commit ab95bca9988ab15a2502efd03db43068a0a2b18b Author: Bjoern A. Zeeb AuthorDate: 2024-04-02 23:34:22 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-04-14 23:09:09 +0000 net8011: radiotap: add more EHT constants MFC after: 3 days --- sys/net80211/ieee80211_radiotap.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/net80211/ieee80211_radiotap.h b/sys/net80211/ieee80211_radiotap.h index dba454a8fa42..d44f81b68b8c 100644 --- a/sys/net80211/ieee80211_radiotap.h +++ b/sys/net80211/ieee80211_radiotap.h @@ -540,6 +540,11 @@ struct ieee80211_radiotap_eht_usig { #define IEEE80211_RADIOTAP_EHT_USIG_COMMON_VALIDATE_BITS_OK 0x00000080 #define IEEE80211_RADIOTAP_EHT_USIG_COMMON_PHY_VER 0x00007000 #define IEEE80211_RADIOTAP_EHT_USIG_COMMON_BW 0x00038000 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_BW_20MHZ 0x0 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_BW_40MHZ 0x1 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_BW_80MHZ 0x2 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_BW_160MHZ 0x3 +#define IEEE80211_RADIOTAP_EHT_USIG_COMMON_BW_320MHZ_1 0x4 #define IEEE80211_RADIOTAP_EHT_USIG_COMMON_UL_DL 0x00040000 #define IEEE80211_RADIOTAP_EHT_USIG_COMMON_BSS_COLOR 0x01f80000 #define IEEE80211_RADIOTAP_EHT_USIG_COMMON_TXOP 0xfe000000 From nobody Sun Apr 14 23:45:58 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHn4Q6XQVz5HJWk; Sun, 14 Apr 2024 23:45: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 4VHn4Q5H43z42Mk; Sun, 14 Apr 2024 23:45:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713138358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4Fr3fw6Faktj4GfvNGSdxtaIguflkARnyqZYNF6iItE=; b=vQkFxb0CRTr8HIz4c//3y3HqseMdzLePWuq8dBPOhOTwhoVKoF+sw38XcQAKPfV6JSQb0r 2rskElMiboPtkQ3Xx3vJ+Zi9evANt23chANzjv61EzIVpCsBMknFvbHlw3/i3IEueAW6rQ FjI7oVWHsLzViZonWiPa8HLphdjWxlj4x5gVfYSFeyOoUnSMQP6wmnz3yLkP+UdMCgADps D9y5jegPDGX+T34kllKV6r4RFVZ0ftQVlceVvlLPk8/4dVM/FOlJ9qucrhSoG87YXmlZOh hXSSfQGaQiu2pkf+CCBoXOHP8yPG8AL+Q0WJP/lHDMyfsNa3Ho2DQGZoyHzjhg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713138358; a=rsa-sha256; cv=none; b=a36Y9Dq8px9kT4bnBMnJ7gaNejuCm/kGACgvoqjTSKJc4jLUh+CAcNE4FRcWcRbAiQ2oiC MrL0/EwX2tdu4hi35bXEiB0lE3LV6NkPFiUWmJ6JL7VFahn7c+cu8yS8oPmzeaw9+HEJgr rtH+rblyHUBlMhKNo76V8ktF+LKGKv9FtYqXL5GruSSCe0HoI50vRRQnwSziy578XzyX0f d2qHmZZxCObb6CV5rmsj9ry3JY7KmHFhHGLimtJws944gbua1AyQci58uGShQKSGbi1H/B LqmJbj9RDGl9lOcgh0DfUGUxXnL/vjaBpMq7ScwAOmLkuh7LqQABfY3TzE35Qg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713138358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4Fr3fw6Faktj4GfvNGSdxtaIguflkARnyqZYNF6iItE=; b=eipogogFcI6f76cHuJrKnvas7vt0VQhqd7SdnWhVKI+SsSsjSXOeyAnTf0jHhPqKtui1Q4 ajLXkTYx+Ku6VUyub4KBKmFGy1SX7okUXdXstzIoFSfg0qJHpJrF1MY810yBgVFT8rypaU 9qj79yHXH8GRPCQj9yiVXVIzY2Q6lhBRNLb6GvqJtHCp4MxrOqiREM194uWrKHX3QVPXuj Inqw5mQ2fO+kpdjWvmtviAarHkMLuDa+LyudO9Kq74SoD4Bdu0jLiy84r1f0B1Ot5BwPrY WLHYn+yDPaqg7YQRdMtQaKcVVtJu2kr3ADdm41pp6wTAnbktFr2iYE19FW1byw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHn4Q4ms9zc3j; Sun, 14 Apr 2024 23:45:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43ENjwKs012549; Sun, 14 Apr 2024 23:45:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43ENjwYb012546; Sun, 14 Apr 2024 23:45:58 GMT (envelope-from git) Date: Sun, 14 Apr 2024 23:45:58 GMT Message-Id: <202404142345.43ENjwYb012546@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 5c213bf01a5d - main - cloudware: allow disk format to be a list 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: 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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5c213bf01a5dca7c4030efd2ad9c9f84852e7b32 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=5c213bf01a5dca7c4030efd2ad9c9f84852e7b32 commit 5c213bf01a5dca7c4030efd2ad9c9f84852e7b32 Author: Colin Percival AuthorDate: 2024-04-14 17:44:07 +0000 Commit: Colin Percival CommitDate: 2024-04-14 23:45:40 +0000 cloudware: allow disk format to be a list Make basic-cloudinit available both in qcow2 and raw formats MFC After: 3 days Co-Authored-By: bapt Sponsored by: OVHCloud (original patch from bapt) Differential Revision: https://reviews.freebsd.org/D44747 --- release/Makefile.vm | 48 ++++++++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index de73749f1985..83e3077b5bd4 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -30,7 +30,7 @@ AZURE_DESC= Microsoft Azure platform image BASIC-CI_FORMAT= raw BASIC-CI_FSLIST?= ufs BASIC-CI_DESC= Image for CI -BASIC-CLOUDINIT_FORMAT= raw +BASIC-CLOUDINIT_FORMAT= raw qcow2 BASIC-CLOUDINIT_FSLIST?= ufs zfs BASIC-CLOUDINIT_DESC?= Images for VM with cloudinit disk config support EC2_FORMAT= raw @@ -103,32 +103,44 @@ QEMUTGT?= ${_CW:tu}CONF?= ${.CURDIR}/tools/${_CW:tl}.conf . endif . for _FS in ${${_CW:tu}_FSLIST} -CLOUDTARGETS+= cw-${_CW:tl}-${_FS} -CLEANDIRS+= cw-${_CW:tl}-${_FS} -CLEANFILES+= ${_CW:tl}.${_FS}.img \ - ${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT} \ - ${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT}.raw -${_CW:tu}${_FS:tu}IMAGE= ${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT} - -cw-${_CW:tl}-${_FS}: ${QEMUTGT} +. for _FMT in ${${_CW:tu}_FORMAT} +CLOUDTARGETS+= cw-${_CW:tl}-${_FS}-${_FMT} +CLEANDIRS+= cw-${_CW:tl}-${_FS}-${_FMT} +CLEANFILES+= ${_CW:tl}.${_FS}.${_FMT}.img \ + ${_CW:tl}.${_FS}.${_FMT} \ + ${_CW:tl}.${_FS}.${_FMT}.raw +${_CW:tu}${_FS:tu}${_FMT:tu}IMAGE= ${_CW:tl}.${_FS}.${_FMT} + +cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} mkdir -p ${.OBJDIR}/${.TARGET} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ QEMUSTATIC=${QEMUSTATIC} \ ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} -F ${_FS} \ - -i ${.OBJDIR}/${_CW:tl}.${_FS}.img -s ${VMSIZE} -f ${${_CW:tu}_FORMAT} \ - -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}${_FS:tu}IMAGE} -c ${${_CW:tu}CONF} + -i ${.OBJDIR}/${_CW:tl}.${_FS}.${_FMT}.img -s ${VMSIZE} -f ${_FMT} \ + -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}${_FS:tu}${_FMT:tu}IMAGE} -c ${${_CW:tu}CONF} touch ${.TARGET} +. endfor . endfor -# Hardlinks from "foo.bar" to "foo-${VMFS}.bar". These can go away once all -# of the cloudware code knows how to handle multiple filesystem images (or +# Hardlinks from "foo.${FMT}" to "foo-${VMFS}.${FMT}". These can go away once +# all of the cloudware code knows how to handle multiple filesystem images (or # at least knows the name of the UFS image). -CLOUDTARGETS+= cw-${_CW:tl} -CLEANFILES+= ${_CW:tl}.${${_CW:tu}_FORMAT} -${_CW:tu}IMAGE= ${_CW:tl}.${${_CW:tu}_FORMAT} -cw-${_CW:tl}: cw-${_CW:tl}-${VMFS} - ln -f ${${_CW:tu}${VMFS:tu}IMAGE} ${${_CW:tu}IMAGE} +. for _FMT in ${${_CW:tu}_FORMAT} +CLOUDTARGETS+= cw-${_CW:tl}-${_FMT} +CLEANFILES+= ${_CW:tl}.${_FMT} +${_CW:tu}${_FMT:tu}IMAGE= ${_CW:tl}.${_FMT} +cw-${_CW:tl}-${_FMT}: cw-${_CW:tl}-${VMFS}-${_FMT} + ln -f ${${_CW:tu}${VMFS:tu}${_FMT:tu}IMAGE} ${${_CW:tu}${_FMT:tu}IMAGE} +. endfor + +# Targets without a disk format listed are the first disk format on the list +. for _FS in ${${_CW:tu}_FSLIST} +${_CW:tu}${_FS:tu}IMAGE= ${_CW:tl}.${_FS}.${${_CW:tu}_FORMAT:[1]} +cw-${_CW:tl}-${_FS}: cw-${_CW:tl}-${_FS}-${${_CW:tu}_FORMAT:[1]} +. endfor +${_CW:tu}IMAGE= ${_CW:tl}.${${_CW:tu}_FORMAT:[1]} +cw-${_CW:tl}: cw-${_CW:tl}-${${_CW:tu}_FORMAT:[1]} . endfor .endif From nobody Sun Apr 14 23:45:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHn4S0qbNz5HJpw; Sun, 14 Apr 2024 23:46: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 4VHn4R5xYTz42dN; Sun, 14 Apr 2024 23:45:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713138359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YTjr2pE05A9CD+IsBG9Sfof7vdmEH2y6L5RE9eMjHyM=; b=MWRRLt7LJhcHxnlwdhyibTnyZ18bRLEF+OxzdtAxor6+XiKvnQetDgvDfs5meEf6++xZX6 oAwSmheE6/XmeusSsHYaopEtrGrTpuif9XgHRsCsJ/UhVhlWdFY7eQk0EaW18kGvgTjW3X ONfAlbGg/yfbXQz/OcbhVaJJznnTUWQY8hCJAiyK3TQGZ2zXfHqSExe8CLv3hOhcdi/I8L R54Gl9sPGa/r6tbKBZYE3AH/WVbYcSvJQxd3durD2tfsPXXbO0lAfaCclBMi2PHK3+Hovx /272hURcB/CSlwM6Fo2YBlbS41gvXlsNVD9YjphGtukuu0aWVI0RjfsJyg/lsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713138359; a=rsa-sha256; cv=none; b=MXgynjrapQUJfvksda9coGYRQZGxivCgJcscHYw2+7MUS9F+PuSH713/DEjq/JMr4729T8 ippAHdd72knZj8JPJaV4tGJAvDh3Dw34y2wEJTmUCwHKKHJ4EBw0tmeLfE1j8+MObtuRNU mtHTYkJAwAZq+we9HcBbCyrr8/0HbTwhrzgD5RyRsItw1poJIEhf8wQAweqrRzjktb+dpJ VNjxSgKdKdqu3qXyAayK3JvF9gqpDY+JAVOfCxDeqDv+SVsD/bV/Orq23m6rv9vOZzQ4ih IgKb047kwpPh4DwjaP8Y1b1UZyUQ5dnfcJobZAAuQC0ScIoV2bKfY+4qRk24pA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713138359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YTjr2pE05A9CD+IsBG9Sfof7vdmEH2y6L5RE9eMjHyM=; b=wLdKjVa9vCQ0y57nFCYM4ZV0CeaOqUmfhCcKKXbO00L/mzyREQ5H/YcO5srzBLPtGu+u1i gRJ5DJAy/TWa9Iz1PPJXLl7P22/CitTuxHErV+Rh/bfnI/zgL8M1tRCFR37P2FDTethfLy 1EhC5rO6mfyLZzEPf/inxhlOe9NiclTmeNMExia8u+yDVLSz5YkqIHSFSTzt50SAhW75Yh aefGAbe3cQtG5SlUFldig8jdz2Gwyy/EK+7g/t+EaGtKh1gEFqKZiq0gmHj4OB/DQiWD6z WnqvxJqU1xbk9Ais0BKgnhXB/eSfglUMSPa5j8rr6XHAcf4Qtp7F7y7s//eWog== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHn4R5XMMzcHN; Sun, 14 Apr 2024 23:45:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43ENjx4n012611; Sun, 14 Apr 2024 23:45:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43ENjxWj012608; Sun, 14 Apr 2024 23:45:59 GMT (envelope-from git) Date: Sun, 14 Apr 2024 23:45:59 GMT Message-Id: <202404142345.43ENjxWj012608@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: ea2663040d52 - main - release: Use the ABI of the target release to fetch packages 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: 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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea2663040d524efd84b12edcbe83884437fdceea Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=ea2663040d524efd84b12edcbe83884437fdceea commit ea2663040d524efd84b12edcbe83884437fdceea Author: John Baldwin AuthorDate: 2024-04-13 21:16:01 +0000 Commit: Colin Percival CommitDate: 2024-04-14 23:45:40 +0000 release: Use the ABI of the target release to fetch packages - Point --rootdir at the installed destdir in the dvd tree. This causes pkg to determine the ABI from the installed destdir instead of the host's binaries. Previously the result was that packages for the host's ABI were always downloaded breaking cross-releases (e.g. arm64 releases built on an amd64 host included amd64 packages on the DVD ISO image rather than arm64 packages). This also handles version mismatches, and I tested this by cross-building a 15.x arm64 release on a 14.x amd64 host. - As a result, pkg now does a chdir(3) to the rootdir before running, so the -o argument to fetch needs to be updated to be relative to rootdir instead of the CWD as make runs. - Add a new ROOTDIR variable to limit references to "dvd" to one place. Ideally ROOTDIR would be an argument to this script so that it didn't really know about the dvd layout at all. - While here, simplify creation of symlinks by just using a longer path to the link name instead of using 'cd' in the shell before invoking ln(1). Also use ln -sf to create the pkg.pkg symlink rather than rm + ln. PR: 278273 Reported by: gatekeeper Reviewed by: imp, delphij MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D44749 --- release/scripts/pkg-stage.sh | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh index 547ed15894d0..551876eca8c6 100755 --- a/release/scripts/pkg-stage.sh +++ b/release/scripts/pkg-stage.sh @@ -8,7 +8,8 @@ export ASSUME_ALWAYS_YES="YES" export PKG_DBDIR="/tmp/pkg" export PERMISSIVE="YES" export REPO_AUTOUPDATE="NO" -export PKGCMD="/usr/sbin/pkg -d" +export ROOTDIR="$PWD/dvd" +export PKGCMD="/usr/sbin/pkg -d --rootdir ${ROOTDIR}" export PORTSDIR="${PORTSDIR:-/usr/ports}" _DVD_PACKAGES="archivers/unzip @@ -48,14 +49,13 @@ if [ ! -x /usr/local/sbin/pkg ]; then /usr/bin/make -C ${PORTSDIR}/ports-mgmt/pkg install clean fi -export DVD_DIR="dvd/packages" -export PKG_ABI=$(pkg config ABI) -export PKG_ALTABI=$(pkg config ALTABI 2>/dev/null) -export PKG_REPODIR="${DVD_DIR}/${PKG_ABI}" +export PKG_ABI=$(pkg --rootdir ${ROOTDIR} config ABI) +export PKG_ALTABI=$(pkg --rootdir ${ROOTDIR} config ALTABI 2>/dev/null) +export PKG_REPODIR="packages/${PKG_ABI}" -/bin/mkdir -p ${PKG_REPODIR} +/bin/mkdir -p ${ROOTDIR}/${PKG_REPODIR} if [ ! -z "${PKG_ALTABI}" ]; then - (cd ${DVD_DIR} && ln -s ${PKG_ABI} ${PKG_ALTABI}) + ln -s ${PKG_ABI} ${ROOTDIR}/packages/${PKG_ALTABI} fi # Ensure the ports listed in _DVD_PACKAGES exist to sanitize the @@ -84,11 +84,10 @@ ${PKGCMD} fetch -o ${PKG_REPODIR} -d ${DVD_PACKAGES} # Create the 'Latest/pkg.txz' symlink so 'pkg bootstrap' works # using the on-disc packages. -mkdir -p ${PKG_REPODIR}/Latest -(cd ${PKG_REPODIR}/Latest && \ - ln -s ../All/$(${PKGCMD} rquery %n-%v pkg).pkg pkg.pkg) -(cd ${PKG_REPODIR}/Latest && \ - rm -f pkg.txz && ln -s pkg.pkg pkg.txz) +export LATEST_DIR="${ROOTDIR}/${PKG_REPODIR}/Latest" +mkdir -p ${LATEST_DIR} +ln -s ../All/$(${PKGCMD} rquery %n-%v pkg).pkg ${LATEST_DIR}/pkg.pkg +ln -sf pkg.pkg ${LATEST_DIR}/pkg.txz ${PKGCMD} repo ${PKG_REPODIR} From nobody Sun Apr 14 23:46:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHn4T3MPrz5HJq2; Sun, 14 Apr 2024 23:46: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 4VHn4S73zgz42gx; Sun, 14 Apr 2024 23:46:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713138361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NMYbtJ1hK2hHqEvM1ly3y7CbTWnQ9w2GHtdJR9FsZkE=; b=oQ3XZyWeox5Bt3F/DzAqN+mCXXLjZ8RTppFtOzEiNR2ShN65En6ak/rceiYrFoQKAofjJB iOEGkbTxxq2zFEcrfsbWYuSnR/5u2FERvB+xqnqQ0EPRK8sNueJFkDBwh9VkmBoalsfh+M wvn6gzb3YH0AZTsmhP96JvKkdVw9LElKlL6wwI6r8NlkwaKolAkmzxrkxa1GAcAbOy1v9i G4sQ35Ul9GW6+Fj6YUn44ZermGW/G1SCqTqEVn+7JuV6Js5oUpLoH6QH/Fqx6AG23XwhUs sbxQes8ZANaa4H65Y2AOmUF9DmBRsWA/JWl2aBM4h5f4NXoQUZieEC/upX/uqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713138361; a=rsa-sha256; cv=none; b=iT0YA7keiNxhJkZIZxYZHp7Pm7wSm8BM7ofzaMucXEHAVrM/1RzYn/RxR5cTn0djOftPqX PRAe9tU2+u0iIxRjJzJDAfH1vVUzYiRVM5OBdzZ83eZlHE3madOb/kE3mhexUhVSWjKK95 QV9hjdt4ToVTXCNA0sYkr+STtO9r8Di11Rd4sYifbsBoyRQrplD2NqWwTdOW0WY/W5EQxq VYy/viyRmV6y5OxgkDzHuO9rqyAKYZAEGUz06WHG8mjhdxpgzeWMcfXQPjt2fNnFV9V67L 82iCov7fZQhXlO5uCC4LvmcUMueISm8cWFbH0tvIUg8c7kaG4t5VXQPM1RpFKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713138361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NMYbtJ1hK2hHqEvM1ly3y7CbTWnQ9w2GHtdJR9FsZkE=; b=do6L6NLHrxIxkaH9qdE3WzErnumZLSzOds6XWuTyhlTVccupoKacxzk/reCQf8wfvoQ8ps x0nZHSrTOGScoRBAH2QiHKFGgV101ag1ncEAoeaqtat3WmW/LE/lqvDmD6Oc6w5nBepkrD ZnVoamjVwHDEH21DMPmEFWgUn19k1FLs9GWgYiIcVw8bUh3g9pXdmiCy00CNiUclBYHWh3 3O5ehcujHKEnYhw+j8rHt79o2nKL+hPIgF/r4mkFG3C1o/qIyZegX5pRwtmT8aT+BGqbpC b2lsu1TfyLEr3/d9BPNR21BU3n9DMViTf4IGOafC1t4uN420xJWD5MMi2hGeIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHn4S6FcGzcqg; Sun, 14 Apr 2024 23:46:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43ENk0nO012662; Sun, 14 Apr 2024 23:46:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43ENk0Xg012659; Sun, 14 Apr 2024 23:46:00 GMT (envelope-from git) Date: Sun, 14 Apr 2024 23:46:00 GMT Message-Id: <202404142346.43ENk0Xg012659@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 7ffa1f14e3c1 - main - Makefile.vm: Set CLEANDIRS correctly for vm-image 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: 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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7ffa1f14e3c19f0061ec9f38bb74c564a49ffc17 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=7ffa1f14e3c19f0061ec9f38bb74c564a49ffc17 commit 7ffa1f14e3c19f0061ec9f38bb74c564a49ffc17 Author: Colin Percival AuthorDate: 2024-04-14 22:27:19 +0000 Commit: Colin Percival CommitDate: 2024-04-14 23:45:40 +0000 Makefile.vm: Set CLEANDIRS correctly for vm-image With multiple filesystems and disk image formats, we now use different staging directories; we need to include them all in CLEANDIRS. Fixes: 97bd53ef4d20b "Makefile.vm: Fix duplicate rc.conf files" MFC after: 3 days --- release/Makefile.vm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index 83e3077b5bd4..2565a13ef671 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -145,9 +145,10 @@ cw-${_CW:tl}: cw-${_CW:tl}-${${_CW:tu}_FORMAT:[1]} .endif .if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) -CLEANDIRS+= ${VMTARGETS} +CLEANFILES+= vm-image . for FORMAT in ${VMFORMATS} . for FS in ${VMFSLIST} +CLEANDIRS+= vm-image-${FORMAT}-${FS} CLEANFILES+= ${FORMAT}.${FS}.img CLEANFILES+= ${VMBASE}.${FS}.${FORMAT} . endfor From nobody Sun Apr 14 23:46:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHn4V5Skdz5HJtJ; Sun, 14 Apr 2024 23:46: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 4VHn4V0sR4z42hB; Sun, 14 Apr 2024 23:46:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713138362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oTHLfpV7LaJ7VeOlTxP/EwpxYDOkjjYRdnfAJGcUhlA=; b=qVJMbiT5K/Muf8UheaeZaEccpB1gKkMwgyXof60VxGITYzMoRkh7jWgluOxcVX2fuf6bsK HpO8VBDTByUHhj5j7pHo04tuonPce443ZdLIkWj92OzR7JwdRmptt3c2iN18accSz+dwes LrB/tBDKCwvCHmnXKhS6N5bAEL44Si6UW8C1sxHMF2cwt/1zlr0P9ICr+9VxgZXu5hYMVh XuZVTRiBOx3cTMb70xNoOPHmMoPeEvwjCInIYf7L7YDUS6U1f7ytUkY1Qx+uDdqxnChHuL KiD157Qhhbdp8qy9rZkVagWfuX2ampsEtbhbU0ihDYhyPZyEh8JCDBPoGnomUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713138362; a=rsa-sha256; cv=none; b=JzUmsRcop+LJ7YGQbZmLa/hJprtTQx7uwC36mqIWJZfE+d5y6mm8K8mD8yy1stPP3r6hA2 iX9xpqT006UMtMMgYtIgPvRM/KcS2bDQ3/W1S0OJtL1J5oo1juVgjMB5hOFxWOweec1YpE eKW2QPm38C0sTHYQUkXnrDjw/S4ViGeUssz8niPftWDalBUopSQpyO24G4d5gWGzXSSCCo YU/q3JWaSxGe/GJULWyZY4OtEEnrm97X7+gQ68o1tcLWZVc1sCujX5Kl2XOeEH0wKrHsZ0 UHztBqhfXDbyf1bXD4qKJAdRbjDhoUJ+2ovBkubWEiNatLddYIJuOwlojyeXlw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713138362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oTHLfpV7LaJ7VeOlTxP/EwpxYDOkjjYRdnfAJGcUhlA=; b=wSvKQKua6REbX45F0aY12xUDBjrhX9RgY1dIppfIFjVNwUNzIzGH9cy8NR/YuIyWPxdQr+ ClYs2Cx5trORYf/ZNzFMNQ8QaPrBKwx7A/E5HYTOZ1/MCZm7Fa7Qu0q3J82++OdGpzGli4 FnZrGIkv13CQ9UG0jCVrjUC7T833xVdrt9/Pmq/RT5GRV8jen1QWNlaKduxUIOyB3IHj1Y 8SB6+CaMZQStRBmILhE7MufqXdGShGBgtr64G+lNj4dnLFJA+T6rlDYpfoCMbYilsEKzsj mQUgKXIoR0NNRQzs3U2Xi0PoqdZhaofdF+v6Osges2bcLJwR6p3sf2Wnt+ItpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHn4V0SczzcL9; Sun, 14 Apr 2024 23:46:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43ENk1NV012711; Sun, 14 Apr 2024 23:46:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43ENk1QF012708; Sun, 14 Apr 2024 23:46:01 GMT (envelope-from git) Date: Sun, 14 Apr 2024 23:46:01 GMT Message-Id: <202404142346.43ENk1QF012708@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 567cbd8ff1c4 - main - release: Build dvd image before staging pkgs 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: 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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 567cbd8ff1c4edc1f2015ec4f93608aaf5a3c546 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=567cbd8ff1c4edc1f2015ec4f93608aaf5a3c546 commit 567cbd8ff1c4edc1f2015ec4f93608aaf5a3c546 Author: Colin Percival AuthorDate: 2024-04-14 22:31:26 +0000 Commit: Colin Percival CommitDate: 2024-04-14 23:45:40 +0000 release: Build dvd image before staging pkgs This missing dependency is only visible with -jN (which was otherwise broken until recently) and only when building DVD images (which aren't included in weekly snapshots and thereby slipped past testing). MFC after: 3 days --- release/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/Makefile b/release/Makefile index 99927d611257..489cf4623ff4 100644 --- a/release/Makefile +++ b/release/Makefile @@ -297,7 +297,7 @@ packagesystem: ${DISTRIBUTIONS} sh ${.CURDIR}/scripts/make-manifest.sh *.txz > MANIFEST touch ${.TARGET} -pkg-stage: +pkg-stage: dvd # TODO: Support for -DNO_ROOT .if !defined(NOPKG) || empty(NOPKG) env PORTSDIR=${PORTSDIR} REPOS_DIR=${.CURDIR}/pkg_repos/ \