From nobody Mon Apr 8 04:01:54 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCb4z23qqz5G2vZ; Mon, 8 Apr 2024 04:01: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 4VCb4y6Xnjz4Z5C; Mon, 8 Apr 2024 04:01:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712548914; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k1zj3Ccpr3JDZ4P98iX3lmCMTvPsSlX7vOb/U9baleA=; b=VYXI36ZGdOwhNgMZ15bPlMKJWYY1K33YhZsKRB6Yh56UKCQ8+a2QdppAMp3wwn+Z8sd7wI hA/ulMDiA2eA4oawThWJRXOoDhpCmu3RMWU2JDX/aSVNskHvK9WyCY1nMSHqUIJAfgw6gk 7xabIPW+Obm06e8PFzIGlDX9Ieqleqh2oofHF8WPK47nQhRY4XCSToSvKZ7JVn2rLJFGPb eRykTALMGtpKWnTw8SmzP2zJHAKC8BRIIGkBsMgoNYeZRIUQtR7l48RNziavWo2XdTI98m DpjGlfVqJpby6lJnR9vmnZZIs/+2cm6xXAvkfPl9o77jf4nVbipGE8AEcjDuNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712548914; a=rsa-sha256; cv=none; b=sa+bVi2TOSfSTl/Yl0T/d00QfdZJyqLG+p+I1r/I1jBGAKtpb2bqxoacKeT5V/QosMpJ2m 7qGduQYx6eHqF/dHbGnWUG328gDTO8vQBU+yoCRNYTHNQFwJ/hZExC0FFLG6pjYrW3lFAP X0y0+quWEmdUb6WCHOshmiu7GGQZ01xn9gcTzHb3CJZvd11VrE+rBgFrPB9yDnxVfq7F3J ++D21SuUF0ShV6GHy9XUr3f3zV9Xtijc7Z4PWk0vEbPavTYHD2/EApEJoC5WE3xfMAT0yh rAQ08Z1yF+YT5fsva37G7R1Ayn/jjemNEkQg+ODzGATYdrFE06q1osUkXsH/CQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712548914; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k1zj3Ccpr3JDZ4P98iX3lmCMTvPsSlX7vOb/U9baleA=; b=CooMWB4dejKDXuQeNvKjtVrg4UA2SO5GC20BR5wqTC6g+hjuCxOarsb463Bx7fXkxUpGxM H0VzAvOncCGptt4MOIuvG0cR2SNoVzdjUyzjiJItO47xCpq1P5qSkDfhLWwv9WRWhC8lQl WFRXizeXCny5VUfDRh9iBoY8jxwUvSGHvusq2EiIAdbp5fitCNK4mwMyNomZ4rj0P5FrwO AOK6F8+fSwu9p6Gbnfut3JV0h+YbDgmf91h17sqrHnzCJiAPWEQxmAK0DlWKCFH3/xA8zT N1EOVDa6Fp8WxDBHMpI1cgrM27lPVprOUca19mLIHYKmir8vNmCbE/3aybV71g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCb4y6748zwJ2; Mon, 8 Apr 2024 04:01: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 43841sDY061548; Mon, 8 Apr 2024 04:01:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43841sYW061544; Mon, 8 Apr 2024 04:01:54 GMT (envelope-from git) Date: Mon, 8 Apr 2024 04:01:54 GMT Message-Id: <202404080401.43841sYW061544@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: a9288701dee1 - stable/14 - Revert "MFV: xz 5.6.0" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: a9288701dee1dc0e696d0a9d858f8a5287beff66 Auto-Submitted: auto-generated The branch stable/14 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=a9288701dee1dc0e696d0a9d858f8a5287beff66 commit a9288701dee1dc0e696d0a9d858f8a5287beff66 Author: Xin LI AuthorDate: 2024-04-05 06:39:23 +0000 Commit: Xin LI CommitDate: 2024-04-08 04:01:09 +0000 Revert "MFV: xz 5.6.0" This commit reverts 8db56defa766eacdbaf89a37f25b11a57fd9787a, rolling back the vendor import of xz 5.6.0 and restoring the package to version 5.4.5. The revert was not directly due to the attack (CVE-2024-3094): our import process have removed the test cases and build scripts that would have enabled the attack. However, reverting would help to reduce potential confusion and false positives from security scanners that assess risk based solely on version numbers. Another commit will follow to restore binary compatibility with the liblzma 5.6.0 library by making the previously private symbol (lzma_mt_block_size) public. PR: 278127 (cherry picked from commit 2f9cd13d6c1824633251fb4267c9752d3b044a45) --- contrib/xz/AUTHORS | 40 +- contrib/xz/COPYING | 116 +- contrib/xz/COPYING.0BSD | 11 - contrib/xz/COPYING.CC-BY-SA-4.0 | 427 - contrib/xz/ChangeLog | 16270 +++++++++++-------- contrib/xz/README | 43 +- contrib/xz/THANKS | 7 - contrib/xz/TODO | 4 + contrib/xz/doxygen/Doxyfile | 6 +- contrib/xz/doxygen/footer.html | 13 - contrib/xz/doxygen/update-doxygen | 6 +- contrib/xz/src/common/mythread.h | 28 +- contrib/xz/src/common/sysdefs.h | 18 +- contrib/xz/src/common/tuklib_common.h | 27 +- contrib/xz/src/common/tuklib_config.h | 2 - contrib/xz/src/common/tuklib_cpucores.c | 5 +- contrib/xz/src/common/tuklib_cpucores.h | 5 +- contrib/xz/src/common/tuklib_exit.c | 5 +- contrib/xz/src/common/tuklib_exit.h | 9 +- contrib/xz/src/common/tuklib_gettext.h | 5 +- contrib/xz/src/common/tuklib_integer.h | 7 +- contrib/xz/src/common/tuklib_mbstr.h | 5 +- contrib/xz/src/common/tuklib_mbstr_fw.c | 5 +- contrib/xz/src/common/tuklib_mbstr_width.c | 5 +- contrib/xz/src/common/tuklib_open_stdxxx.c | 5 +- contrib/xz/src/common/tuklib_open_stdxxx.h | 5 +- contrib/xz/src/common/tuklib_physmem.c | 25 +- contrib/xz/src/common/tuklib_physmem.h | 5 +- contrib/xz/src/common/tuklib_progname.c | 5 +- contrib/xz/src/common/tuklib_progname.h | 5 +- contrib/xz/src/liblzma/api/lzma.h | 31 +- contrib/xz/src/liblzma/api/lzma/base.h | 23 +- contrib/xz/src/liblzma/api/lzma/bcj.h | 10 +- contrib/xz/src/liblzma/api/lzma/block.h | 5 +- contrib/xz/src/liblzma/api/lzma/check.h | 5 +- contrib/xz/src/liblzma/api/lzma/container.h | 43 +- contrib/xz/src/liblzma/api/lzma/delta.h | 5 +- contrib/xz/src/liblzma/api/lzma/filter.h | 11 +- contrib/xz/src/liblzma/api/lzma/hardware.h | 5 +- contrib/xz/src/liblzma/api/lzma/index.h | 36 +- contrib/xz/src/liblzma/api/lzma/index_hash.h | 5 +- contrib/xz/src/liblzma/api/lzma/lzma12.h | 7 +- contrib/xz/src/liblzma/api/lzma/stream_flags.h | 5 +- contrib/xz/src/liblzma/api/lzma/version.h | 9 +- contrib/xz/src/liblzma/api/lzma/vli.h | 5 +- contrib/xz/src/liblzma/check/check.c | 5 +- contrib/xz/src/liblzma/check/check.h | 5 +- contrib/xz/src/liblzma/check/crc32_arm64.h | 119 - contrib/xz/src/liblzma/check/crc32_fast.c | 187 +- contrib/xz/src/liblzma/check/crc32_small.c | 5 +- contrib/xz/src/liblzma/check/crc32_table.c | 36 +- contrib/xz/src/liblzma/check/crc32_table_be.h | 4 +- contrib/xz/src/liblzma/check/crc32_table_le.h | 4 +- contrib/xz/src/liblzma/check/crc32_tablegen.c | 21 +- contrib/xz/src/liblzma/check/crc32_x86.S | 5 +- contrib/xz/src/liblzma/check/crc64_fast.c | 450 +- contrib/xz/src/liblzma/check/crc64_small.c | 5 +- contrib/xz/src/liblzma/check/crc64_table.c | 16 +- contrib/xz/src/liblzma/check/crc64_table_be.h | 4 +- contrib/xz/src/liblzma/check/crc64_table_le.h | 4 +- contrib/xz/src/liblzma/check/crc64_tablegen.c | 13 +- contrib/xz/src/liblzma/check/crc64_x86.S | 5 +- contrib/xz/src/liblzma/check/crc_common.h | 143 - contrib/xz/src/liblzma/check/crc_macros.h | 30 + contrib/xz/src/liblzma/check/crc_x86_clmul.h | 435 - contrib/xz/src/liblzma/common/alone_decoder.c | 5 +- contrib/xz/src/liblzma/common/alone_decoder.h | 5 +- contrib/xz/src/liblzma/common/alone_encoder.c | 5 +- contrib/xz/src/liblzma/common/auto_decoder.c | 5 +- .../xz/src/liblzma/common/block_buffer_decoder.c | 5 +- .../xz/src/liblzma/common/block_buffer_encoder.c | 5 +- .../xz/src/liblzma/common/block_buffer_encoder.h | 5 +- contrib/xz/src/liblzma/common/block_decoder.c | 5 +- contrib/xz/src/liblzma/common/block_decoder.h | 5 +- contrib/xz/src/liblzma/common/block_encoder.c | 5 +- contrib/xz/src/liblzma/common/block_encoder.h | 5 +- .../xz/src/liblzma/common/block_header_decoder.c | 5 +- .../xz/src/liblzma/common/block_header_encoder.c | 5 +- contrib/xz/src/liblzma/common/block_util.c | 5 +- contrib/xz/src/liblzma/common/common.c | 5 +- contrib/xz/src/liblzma/common/common.h | 5 +- .../xz/src/liblzma/common/easy_buffer_encoder.c | 5 +- .../xz/src/liblzma/common/easy_decoder_memusage.c | 5 +- contrib/xz/src/liblzma/common/easy_encoder.c | 5 +- .../xz/src/liblzma/common/easy_encoder_memusage.c | 5 +- contrib/xz/src/liblzma/common/easy_preset.c | 5 +- contrib/xz/src/liblzma/common/easy_preset.h | 5 +- contrib/xz/src/liblzma/common/file_info.c | 5 +- .../xz/src/liblzma/common/filter_buffer_decoder.c | 5 +- .../xz/src/liblzma/common/filter_buffer_encoder.c | 5 +- contrib/xz/src/liblzma/common/filter_common.c | 14 +- contrib/xz/src/liblzma/common/filter_common.h | 5 +- contrib/xz/src/liblzma/common/filter_decoder.c | 13 +- contrib/xz/src/liblzma/common/filter_decoder.h | 5 +- contrib/xz/src/liblzma/common/filter_encoder.c | 39 +- contrib/xz/src/liblzma/common/filter_encoder.h | 11 +- .../xz/src/liblzma/common/filter_flags_decoder.c | 5 +- .../xz/src/liblzma/common/filter_flags_encoder.c | 5 +- .../xz/src/liblzma/common/hardware_cputhreads.c | 5 +- contrib/xz/src/liblzma/common/hardware_physmem.c | 5 +- contrib/xz/src/liblzma/common/index.c | 5 +- contrib/xz/src/liblzma/common/index.h | 5 +- contrib/xz/src/liblzma/common/index_decoder.c | 5 +- contrib/xz/src/liblzma/common/index_decoder.h | 5 +- contrib/xz/src/liblzma/common/index_encoder.c | 5 +- contrib/xz/src/liblzma/common/index_encoder.h | 5 +- contrib/xz/src/liblzma/common/index_hash.c | 5 +- contrib/xz/src/liblzma/common/lzip_decoder.c | 5 +- contrib/xz/src/liblzma/common/lzip_decoder.h | 5 +- contrib/xz/src/liblzma/common/memcmplen.h | 24 +- contrib/xz/src/liblzma/common/microlzma_decoder.c | 5 +- contrib/xz/src/liblzma/common/microlzma_encoder.c | 5 +- contrib/xz/src/liblzma/common/outqueue.c | 5 +- contrib/xz/src/liblzma/common/outqueue.h | 5 +- .../xz/src/liblzma/common/stream_buffer_decoder.c | 5 +- .../xz/src/liblzma/common/stream_buffer_encoder.c | 5 +- contrib/xz/src/liblzma/common/stream_decoder.c | 5 +- contrib/xz/src/liblzma/common/stream_decoder.h | 5 +- contrib/xz/src/liblzma/common/stream_decoder_mt.c | 5 +- contrib/xz/src/liblzma/common/stream_encoder.c | 5 +- contrib/xz/src/liblzma/common/stream_encoder_mt.c | 25 +- .../xz/src/liblzma/common/stream_flags_common.c | 5 +- .../xz/src/liblzma/common/stream_flags_common.h | 5 +- .../xz/src/liblzma/common/stream_flags_decoder.c | 5 +- .../xz/src/liblzma/common/stream_flags_encoder.c | 5 +- contrib/xz/src/liblzma/common/string_conversion.c | 14 +- contrib/xz/src/liblzma/common/vli_decoder.c | 5 +- contrib/xz/src/liblzma/common/vli_encoder.c | 5 +- contrib/xz/src/liblzma/common/vli_size.c | 5 +- contrib/xz/src/liblzma/delta/delta_common.c | 5 +- contrib/xz/src/liblzma/delta/delta_common.h | 5 +- contrib/xz/src/liblzma/delta/delta_decoder.c | 5 +- contrib/xz/src/liblzma/delta/delta_decoder.h | 5 +- contrib/xz/src/liblzma/delta/delta_encoder.c | 5 +- contrib/xz/src/liblzma/delta/delta_encoder.h | 5 +- contrib/xz/src/liblzma/delta/delta_private.h | 5 +- contrib/xz/src/liblzma/liblzma.pc.in | 6 +- contrib/xz/src/liblzma/liblzma_generic.map | 7 - contrib/xz/src/liblzma/liblzma_linux.map | 7 - contrib/xz/src/liblzma/lz/lz_decoder.c | 48 +- contrib/xz/src/liblzma/lz/lz_decoder.h | 116 +- contrib/xz/src/liblzma/lz/lz_encoder.c | 13 +- contrib/xz/src/liblzma/lz/lz_encoder.h | 21 +- contrib/xz/src/liblzma/lz/lz_encoder_hash.h | 5 +- contrib/xz/src/liblzma/lz/lz_encoder_hash_table.h | 4 +- contrib/xz/src/liblzma/lz/lz_encoder_mf.c | 5 +- contrib/xz/src/liblzma/lzma/fastpos.h | 5 +- contrib/xz/src/liblzma/lzma/fastpos_table.c | 4 +- contrib/xz/src/liblzma/lzma/fastpos_tablegen.c | 17 +- contrib/xz/src/liblzma/lzma/lzma2_decoder.c | 5 +- contrib/xz/src/liblzma/lzma/lzma2_decoder.h | 5 +- contrib/xz/src/liblzma/lzma/lzma2_encoder.c | 8 +- contrib/xz/src/liblzma/lzma/lzma2_encoder.h | 5 +- contrib/xz/src/liblzma/lzma/lzma_common.h | 41 +- contrib/xz/src/liblzma/lzma/lzma_decoder.c | 760 +- contrib/xz/src/liblzma/lzma/lzma_decoder.h | 5 +- contrib/xz/src/liblzma/lzma/lzma_encoder.c | 18 +- contrib/xz/src/liblzma/lzma/lzma_encoder.h | 5 +- .../src/liblzma/lzma/lzma_encoder_optimum_fast.c | 5 +- .../src/liblzma/lzma/lzma_encoder_optimum_normal.c | 7 +- contrib/xz/src/liblzma/lzma/lzma_encoder_presets.c | 5 +- contrib/xz/src/liblzma/lzma/lzma_encoder_private.h | 9 +- contrib/xz/src/liblzma/rangecoder/price.h | 5 +- contrib/xz/src/liblzma/rangecoder/price_table.c | 4 +- contrib/xz/src/liblzma/rangecoder/price_tablegen.c | 22 +- contrib/xz/src/liblzma/rangecoder/range_common.h | 14 +- contrib/xz/src/liblzma/rangecoder/range_decoder.h | 838 +- contrib/xz/src/liblzma/rangecoder/range_encoder.h | 5 +- contrib/xz/src/liblzma/simple/arm.c | 5 +- contrib/xz/src/liblzma/simple/arm64.c | 5 +- contrib/xz/src/liblzma/simple/armthumb.c | 5 +- contrib/xz/src/liblzma/simple/ia64.c | 5 +- contrib/xz/src/liblzma/simple/powerpc.c | 5 +- contrib/xz/src/liblzma/simple/riscv.c | 755 - contrib/xz/src/liblzma/simple/simple_coder.c | 5 +- contrib/xz/src/liblzma/simple/simple_coder.h | 14 +- contrib/xz/src/liblzma/simple/simple_decoder.c | 5 +- contrib/xz/src/liblzma/simple/simple_decoder.h | 5 +- contrib/xz/src/liblzma/simple/simple_encoder.c | 5 +- contrib/xz/src/liblzma/simple/simple_encoder.h | 5 +- contrib/xz/src/liblzma/simple/simple_private.h | 5 +- contrib/xz/src/liblzma/simple/sparc.c | 5 +- contrib/xz/src/liblzma/simple/x86.c | 5 +- contrib/xz/src/liblzma/validate_map.sh | 6 +- contrib/xz/src/lzmainfo/lzmainfo.1 | 4 +- contrib/xz/src/lzmainfo/lzmainfo.c | 5 +- contrib/xz/src/xz/args.c | 159 +- contrib/xz/src/xz/args.h | 8 +- contrib/xz/src/xz/coder.c | 648 +- contrib/xz/src/xz/coder.h | 31 +- contrib/xz/src/xz/file_io.c | 144 +- contrib/xz/src/xz/file_io.h | 21 +- contrib/xz/src/xz/hardware.c | 11 +- contrib/xz/src/xz/hardware.h | 5 +- contrib/xz/src/xz/list.c | 31 +- contrib/xz/src/xz/list.h | 5 +- contrib/xz/src/xz/main.c | 91 +- contrib/xz/src/xz/main.h | 5 +- contrib/xz/src/xz/message.c | 94 +- contrib/xz/src/xz/message.h | 15 +- contrib/xz/src/xz/mytime.c | 105 +- contrib/xz/src/xz/mytime.h | 11 +- contrib/xz/src/xz/options.c | 7 +- contrib/xz/src/xz/options.h | 5 +- contrib/xz/src/xz/private.h | 26 +- contrib/xz/src/xz/sandbox.c | 355 - contrib/xz/src/xz/sandbox.h | 43 - contrib/xz/src/xz/signals.c | 22 +- contrib/xz/src/xz/signals.h | 5 +- contrib/xz/src/xz/suffix.c | 17 +- contrib/xz/src/xz/suffix.h | 5 +- contrib/xz/src/xz/util.c | 36 +- contrib/xz/src/xz/util.h | 19 +- contrib/xz/src/xz/xz.1 | 439 +- contrib/xz/src/xzdec/xzdec.1 | 8 +- contrib/xz/src/xzdec/xzdec.c | 160 +- lib/liblzma/Makefile | 1 - lib/liblzma/Symbol.map | 5 +- lib/liblzma/Versions.def | 5 +- lib/liblzma/config.h | 120 +- usr.bin/xz/Makefile | 1 - 221 files changed, 11311 insertions(+), 13505 deletions(-) diff --git a/contrib/xz/AUTHORS b/contrib/xz/AUTHORS index 5012d0e01e83..69bbfc3ef609 100644 --- a/contrib/xz/AUTHORS +++ b/contrib/xz/AUTHORS @@ -9,13 +9,15 @@ Authors of XZ Utils specifically the LZMA SDK . Without this code, XZ Utils wouldn't exist. - The SHA-256 implementation in liblzma is based on code written by - Wei Dai in Crypto++ Library . + The SHA-256 implementation in liblzma is based on the code found from + 7-Zip , which has a modified version of the SHA-256 + code found from Crypto++ . The SHA-256 code + in Crypto++ was written by Kevin Springle and Wei Dai. - A few scripts have been adapted from GNU gzip. The original - versions were written by Jean-loup Gailly, Charles Levert, and - Paul Eggert. Andrew Dudman helped adapting the scripts and their - man pages for XZ Utils. + Some scripts have been adapted from gzip. The original versions + were written by Jean-loup Gailly, Charles Levert, and Paul Eggert. + Andrew Dudman helped adapting the scripts and their man pages for + XZ Utils. The initial version of the threaded .xz decompressor was written by Sebastian Andrzej Siewior. @@ -23,31 +25,15 @@ Authors of XZ Utils The initial version of the .lz (lzip) decoder was written by Michał Górny. - Architecture-specific CRC optimizations were contributed by - Ilya Kurdyukov, Hans Jansen, and Chenxi Mao. + CLMUL-accelerated CRC code was contributed by Ilya Kurdyukov. Other authors: - Jonathan Nieder - Joachim Henke - Many people have contributed improvements or reported bugs. - Most of these people are mentioned in the file THANKS. + The GNU Autotools-based build system contains files from many authors, + which I'm not trying to list here. - The translations of the command line tools and man pages have been - contributed by many people via the Translation Project: - - - https://translationproject.org/domain/xz.html - - https://translationproject.org/domain/xz-man.html - - The authors of the translated man pages are in the header comments - of the man page files. In the source package, the authors of the - translations are in po/*.po and po4a/*.po files. - - Third-party code whose authors aren't listed here: - - - GNU getopt_long() in the 'lib' directory is included for - platforms that don't have a usable getopt_long(). - - - The build system files from GNU Autoconf, GNU Automake, - GNU Libtool, GNU Gettext, Autoconf Archive, and related files. + Several people have contributed fixes or reported bugs. Most of them + are mentioned in the file THANKS. diff --git a/contrib/xz/COPYING b/contrib/xz/COPYING index a31477d62d31..e54eeacfbf3f 100644 --- a/contrib/xz/COPYING +++ b/contrib/xz/COPYING @@ -6,95 +6,71 @@ XZ Utils Licensing is a rough summary of which licenses apply to which parts of this package (but check the individual files to be sure!): - - liblzma is under the BSD Zero Clause License (0BSD). + - liblzma is in the public domain. - - The command line tools xz, xzdec, lzmadec, and lzmainfo are - under 0BSD except that, on systems that don't have a usable - getopt_long, GNU getopt_long is compiled and linked in from the - 'lib' directory. The getopt_long code is under GNU LGPLv2.1+. + - xz, xzdec, and lzmadec command line tools are in the public + domain unless GNU getopt_long had to be compiled and linked + in from the lib directory. The getopt_long code is under + GNU LGPLv2.1+. - The scripts to grep, diff, and view compressed files have been - adapted from GNU gzip. These scripts (xzgrep, xzdiff, xzless, - and xzmore) are under GNU GPLv2+. The man pages of the scripts - are under 0BSD; they aren't based on the man pages of GNU gzip. - - - Most of the XZ Utils specific documentation that is in - plain text files (like README, INSTALL, PACKAGERS, NEWS, - and ChangeLog) are under 0BSD unless stated otherwise in - the file itself. The files xz-file-format.txt and - lzma-file-format.xt are in the public domain but may - be distributed under the terms of 0BSD too. - - - Doxygen-generated HTML version of the liblzma API documentation: - While Doxygen is under the GNU GPLv2, the license information - in Doxygen includes the following exception: - - Documents produced by doxygen are derivative works - derived from the input used in their production; - they are not affected by this license. + adapted from gzip. These scripts and their documentation are + under GNU GPLv2+. + + - All the documentation in the doc directory and most of the + XZ Utils specific documentation files in other directories + are in the public domain. Note: The JavaScript files (under the MIT license) have - been removed from the Doxygen output. + been removed from the Doxygen-generated HTML version of the + liblzma API documentation. Doxygen itself is under the GNU GPL + but the remaining files generated by Doxygen are not affected + by the licenses used in Doxygen because Doxygen licensing has + the following exception: - - The XZ logo (xz-logo.png) included in the Doxygen-generated - documentation is under the Creative Commons BY-SA 4.0 license. + "Documents produced by doxygen are derivative works + derived from the input used in their production; + they are not affected by this license." - - Translated messages and man pages are under 0BSD except that - some old translations are in the public domain. + - Translated messages are in the public domain. - - Test files and test code in the 'tests' directory, and - debugging utilities in the 'debug' directory are under - the BSD Zero Clause License (0BSD). + - The build system contains public domain files, and files that + are under GNU GPLv2+ or GNU GPLv3+. None of these files end up + in the binaries being built. - - The GNU Autotools based build system contains files that are - under GNU GPLv2+, GNU GPLv3+, and a few permissive licenses. - These files don't affect the licensing of the binaries being - built. + - Test files and test code in the tests directory, and debugging + utilities in the debug directory are in the public domain. - - The extra directory contain files that are under various - free software licenses. + - The extra directory may contain public domain files, and files + that are under various free software licenses. - For the files under the BSD Zero Clause License (0BSD), if - a copyright notice is needed, the following is sufficient: + You can do whatever you want with the files that have been put into + the public domain. If you find public domain legally problematic, + take the previous sentence as a license grant. If you still find + the lack of copyright legally problematic, you have too many + lawyers. - Copyright (C) The XZ Utils authors and contributors + As usual, this software is provided "as is", without any warranty. - If you copy significant amounts of 0BSD-licensed code from XZ Utils + If you copy significant amounts of public domain code from XZ Utils into your project, acknowledging this somewhere in your software is polite (especially if it is proprietary, non-free software), but - it is not legally required by the license terms. Here is an example - of a good notice to put into "about box" or into documentation: + naturally it is not legally required. Here is an example of a good + notice to put into "about box" or into documentation: - This software includes code from XZ Utils - . + This software includes code from XZ Utils . The following license texts are included in the following files: - - COPYING.0BSD: BSD Zero Clause License - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1 - COPYING.GPLv2: GNU General Public License version 2 - COPYING.GPLv3: GNU General Public License version 3 - - COPYING.CC-BY-SA-4.0: Creative Commons Attribution-ShareAlike 4.0 - International Public License - - A note about old XZ Utils releases: - - XZ Utils releases 5.4.6 and older and 5.5.1alpha have a - significant amount of code put into the public domain and - that obviously remains so. The switch from public domain to - 0BSD for newer releases was made in Febrary 2024 because - public domain has (real or perceived) legal ambiguities in - some jurisdictions. - - There is very little *practical* difference between public - domain and 0BSD. The main difference likely is that one - shouldn't claim that 0BSD-licensed code is in the public - domain; 0BSD-licensed code is copyrighted but available under - an extremely permissive license. Neither 0BSD nor public domain - require retaining or reproducing author, copyright holder, or - license notices when distributing the software. (Compare to, - for example, BSD 2-Clause "Simplified" License which does have - such requirements.) - - If you have questions, don't hesitate to ask for more information. - The contact information is in the README file. + + Note that the toolchain (compiler, linker etc.) may add some code + pieces that are copyrighted. Thus, it is possible that e.g. liblzma + binary wouldn't actually be in the public domain in its entirety + even though it contains no copyrighted code from the XZ Utils source + package. + + If you have questions, don't hesitate to ask the author(s) for more + information. diff --git a/contrib/xz/COPYING.0BSD b/contrib/xz/COPYING.0BSD deleted file mode 100644 index 4322122aecf1..000000000000 --- a/contrib/xz/COPYING.0BSD +++ /dev/null @@ -1,11 +0,0 @@ -Permission to use, copy, modify, and/or distribute this -software for any purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL -THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/contrib/xz/COPYING.CC-BY-SA-4.0 b/contrib/xz/COPYING.CC-BY-SA-4.0 deleted file mode 100644 index 7d4f96c54aa1..000000000000 --- a/contrib/xz/COPYING.CC-BY-SA-4.0 +++ /dev/null @@ -1,427 +0,0 @@ -Attribution-ShareAlike 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution-ShareAlike 4.0 International Public -License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution-ShareAlike 4.0 International Public License ("Public -License"). To the extent this Public License may be interpreted as a -contract, You are granted the Licensed Rights in consideration of Your -acceptance of these terms and conditions, and the Licensor grants You -such rights in consideration of benefits the Licensor receives from -making the Licensed Material available under these terms and -conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. BY-SA Compatible License means a license listed at - creativecommons.org/compatiblelicenses, approved by Creative - Commons as essentially the equivalent of this Public License. - - d. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - e. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - f. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - g. License Elements means the license attributes listed in the name - of a Creative Commons Public License. The License Elements of this - Public License are Attribution and ShareAlike. - - h. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - i. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - j. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - k. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - l. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - m. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. Additional offer from the Licensor -- Adapted Material. - Every recipient of Adapted Material from You - automatically receives an offer from the Licensor to - exercise the Licensed Rights in the Adapted Material - under the conditions of the Adapter's License You apply. - - c. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - b. ShareAlike. - - In addition to the conditions in Section 3(a), if You Share - Adapted Material You produce, the following conditions also apply. - - 1. The Adapter's License You apply must be a Creative Commons - license with the same License Elements, this version or - later, or a BY-SA Compatible License. - - 2. You must include the text of, or the URI or hyperlink to, the - Adapter's License You apply. You may satisfy this condition - in any reasonable manner based on the medium, means, and - context in which You Share Adapted Material. - - 3. You may not offer or impose any additional or different terms - or conditions on, or apply any Effective Technological - Measures to, Adapted Material that restrict exercise of the - rights granted under the Adapter's License You apply. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material, - including for purposes of Section 3(b); and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the “Licensor.” The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/contrib/xz/ChangeLog b/contrib/xz/ChangeLog index 54b68744af86..4dd0978ef313 100644 --- a/contrib/xz/ChangeLog +++ b/contrib/xz/ChangeLog @@ -1,9764 +1,11756 @@ -commit 2d7d862e3ffa8cec4fd3fdffcd84e984a17aa429 +commit 49053c0a649f4c8bd2b8d97ce915f401fbc0f3d9 Author: Jia Tan -Date: 2024-02-24 15:55:08 +0800 +Date: 2023-10-31 22:30:29 +0800 - Bump version and soname for 5.6.0. + Bump version and soname for 5.4.5. - src/liblzma/Makefile.am | 2 +- - src/liblzma/api/lzma/version.h | 6 +++--- - src/liblzma/liblzma_generic.map | 2 +- - src/liblzma/liblzma_linux.map | 2 +- - 4 files changed, 6 insertions(+), 6 deletions(-) + src/liblzma/Makefile.am | 2 +- + src/liblzma/api/lzma/version.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) -commit a18fb1edef0d0aac12a09eed05e9c448c777af7b +commit 84c0cfc556287628df871703672879e530d0391f Author: Jia Tan -Date: 2024-02-24 15:50:36 +0800 +Date: 2023-11-01 20:18:30 +0800 - Add NEWS for 5.6.0. + Add NEWS for 5.4.5. - NEWS | 143 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 143 insertions(+) + NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 74 insertions(+) -commit 24355c5280bc95e3d594432d60bb8432aa6af173 -Author: Jia Tan -Date: 2024-02-22 22:27:01 +0800 +commit d90ed84db9770712e2421e170076b43bda9b64a7 +Author: Lasse Collin +Date: 2023-10-31 21:41:09 +0200 - Translations: Remove obsolete and fuzzy matches from some translations. + liblzma: Fix compilation of fastpos_tablegen.c. - The French and Brazilian Portuguese man page translations have not been - updated since the switch from public domain to 0BSD. The old GPLv2 - strings have now been removed from these files. - - po4a/fr.po | 4702 +++++++++++++++++++++++++++++++++++++---------------- - po4a/pt_BR.po | 4987 ++++++++++++++++++++++++++++++++++++++++----------------- - 2 files changed, 6832 insertions(+), 2857 deletions(-) - -commit 02ca4a7d7b703e2ec63e00b70feec825e919dbc1 -Author: Jia Tan -Date: 2024-02-21 00:31:54 +0800 - - Translations: Patch man pages to avoid fuzzy matches. + The macro lzma_attr_visibility_hidden has to be defined to make + fastpos.h usable. The visibility attribute is irrelevant to + fastpos_tablegen.c so simply #define the macro to an empty value. - This will be fixed in the next round of translations, but this avoids - having a fuzzy match or not fixing the English version. - - po4a/de.po | 2 +- - po4a/ko.po | 2 +- - po4a/ro.po | 2 +- - po4a/uk.po | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -commit 898aad9fc711e03452d24d9e2c5b7f77a6f9ce64 *** 32182 LINES SKIPPED *** From nobody Mon Apr 8 04:01:55 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCb500q9bz5G3HP; Mon, 8 Apr 2024 04:01: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 4VCb500DtTz4Ytr; Mon, 8 Apr 2024 04:01:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712548916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5PoPDyJ/kVGZxdAb64oBPtSiqfz5ETdfv98Ym/O1pqE=; b=dR1lLsTScBg75Lu97mpd9HeM/L/8/zFhh1ucDpIA2jS7NU8YArkluXSD03c9yfgxbVOQHA fCIiyXpGE6pazlPswspLd4HQGE2y+GU71v9rh6088kwHlyoROsBs3Hiwz13VINOYF81JFr 8lnJd71Z2HtpW0iGmSjphllLzIkX0Isg9rzu7k/0xq1aREuUsCrSmofg+bZ9eegXxHSGHR UE0Tp8xcM2Lnl77VyZghkq3dcoy3YDdE3Y1Vdns1oGotEoDgEl0dwuhwNE63OayKmhs4ki by3FZKotiYo8R6CFC63bhZ4AfP941tVstZWRjGeGC7Cs6oiOPs16MLczsT6lQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712548916; a=rsa-sha256; cv=none; b=PqoAcHwU1fehJukey/LsTKFyShHW8N6dj/Ayj0fMcFAKT701vHtSXWDOZZZh0iR6FoV96F XGm7Q6tX9pWqQHkntvug0fA+28LHhVIK311p7HjXuF9Yx04azTDy0b+IMZNkjA0bhDdXU7 CvPoLl6To8qM9Cl2W4pY4CpLSFWIFJXMydfKgj5cR/WbztQDktkoECmvMkT87CPqW35/K9 QYYQgvBuEocPa5ABn08bIifCtivqreD6+qkXvIVoGSawtBwo7VdujegjodSZJ2uz5lTMhr wjWf1ADu3vlJu85Qwl242sBsM3vcIvwedkICM+KSzee12P8Peiqol3/IoW+afw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712548916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5PoPDyJ/kVGZxdAb64oBPtSiqfz5ETdfv98Ym/O1pqE=; b=pjBrNMZT5MMxnBzY3q6ogSJKOuSvwvugApsFVPf2lhD3h7NXQFVj25BrzTRDmSAZ3gdZw9 qjQ6WenbDmszD5sOm074kScw+kMbfQvb6cKLFbz5Y4Ub8eEj8kJELQjAnHdY8QYEKxtPPS i0x/q18nMAh83fRCFWRdQfmnUREbJDJ9k3aeg1qWxViBlsqrIoPrFOqxRmvOPB1nkXO05o VwrSye59V9njhi+WxmWTZd0zeKV+IVigTMLQhAJOxV0xaQPNutOcPzjrnAq+v2u/gtTFNG 8yN7QJD8pBUyftiSCbIQnMlocZQNs663KIhq1yHiJucM/hM4EpV4zTnY6XN6TA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCb4z6xw6zwJ3; Mon, 8 Apr 2024 04:01: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 43841trt061591; Mon, 8 Apr 2024 04:01:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43841t88061588; Mon, 8 Apr 2024 04:01:55 GMT (envelope-from git) Date: Mon, 8 Apr 2024 04:01:55 GMT Message-Id: <202404080401.43841t88061588@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 2bfda18ff7bf - stable/14 - Backport export of lzma_mt_block_size symbol. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 2bfda18ff7bfbf8e3710c15aa312f6e9d2e7cb66 Auto-Submitted: auto-generated The branch stable/14 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=2bfda18ff7bfbf8e3710c15aa312f6e9d2e7cb66 commit 2bfda18ff7bfbf8e3710c15aa312f6e9d2e7cb66 Author: Xin LI AuthorDate: 2024-04-05 06:39:33 +0000 Commit: Xin LI CommitDate: 2024-04-08 04:01:25 +0000 Backport export of lzma_mt_block_size symbol. This restores binary compatibility against liblzma 5.6.0 library. PR: 278127 (cherry picked from commit 5ffb19ac36c4b5c9e72d69048250c8e56acff739) --- contrib/xz/src/liblzma/api/lzma/container.h | 28 +++++++++++++++++++++++ contrib/xz/src/liblzma/common/filter_encoder.c | 16 ++++++++----- contrib/xz/src/liblzma/common/filter_encoder.h | 6 +---- contrib/xz/src/liblzma/common/stream_encoder_mt.c | 20 ++++++++-------- contrib/xz/src/liblzma/liblzma_generic.map | 5 ++++ contrib/xz/src/liblzma/liblzma_linux.map | 5 ++++ contrib/xz/src/liblzma/lz/lz_encoder.c | 4 +--- contrib/xz/src/liblzma/lz/lz_encoder.h | 8 +++++++ contrib/xz/src/liblzma/lzma/lzma2_encoder.c | 3 +++ lib/liblzma/Symbol.map | 5 +++- lib/liblzma/Versions.def | 5 +++- 11 files changed, 78 insertions(+), 27 deletions(-) diff --git a/contrib/xz/src/liblzma/api/lzma/container.h b/contrib/xz/src/liblzma/api/lzma/container.h index 2849fbfd3c51..4cbb1b7bf7b4 100644 --- a/contrib/xz/src/liblzma/api/lzma/container.h +++ b/contrib/xz/src/liblzma/api/lzma/container.h @@ -435,6 +435,34 @@ extern LZMA_API(lzma_ret) lzma_stream_encoder_mt( lzma_nothrow lzma_attr_warn_unused_result; +/** + * \brief Calculate recommended Block size for multithreaded .xz encoder + * + * This calculates a recommended Block size for multithreaded encoding given + * a filter chain. This is used internally by lzma_stream_encoder_mt() to + * determine the Block size if the block_size member is not set to the + * special value of 0 in the lzma_mt options struct. + * + * If one wishes to change the filters between Blocks, this function is + * helpful to set the block_size member of the lzma_mt struct before calling + * lzma_stream_encoder_mt(). Since the block_size member represents the + * maximum possible Block size for the multithreaded .xz encoder, one can + * use this function to find the maximum recommended Block size based on + * all planned filter chains. Otherwise, the multithreaded encoder will + * base its maximum Block size on the first filter chain used (if the + * block_size member is not set), which may unnecessarily limit the Block + * size for a later filter chain. + * + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. + * + * \return Recommended Block size in bytes, or UINT64_MAX if + * an error occurred. + */ +extern LZMA_API(uint64_t) lzma_mt_block_size(const lzma_filter *filters) + lzma_nothrow; + + /** * \brief Initialize .lzma encoder (legacy file format) * diff --git a/contrib/xz/src/liblzma/common/filter_encoder.c b/contrib/xz/src/liblzma/common/filter_encoder.c index 46fe8af1c153..0699bcee62a4 100644 --- a/contrib/xz/src/liblzma/common/filter_encoder.c +++ b/contrib/xz/src/liblzma/common/filter_encoder.c @@ -33,7 +33,8 @@ typedef struct { /// Calculates the recommended Uncompressed Size for .xz Blocks to /// which the input data can be split to make multithreaded /// encoding possible. If this is NULL, it is assumed that - /// the encoder is fast enough with single thread. + /// the encoder is fast enough with single thread. If the options + /// are invalid, UINT64_MAX is returned. uint64_t (*block_size)(const void *options); /// Tells the size of the Filter Properties field. If options are @@ -248,26 +249,29 @@ lzma_raw_encoder_memusage(const lzma_filter *filters) } -extern uint64_t +extern LZMA_API(uint64_t) lzma_mt_block_size(const lzma_filter *filters) { + if (filters == NULL) + return UINT64_MAX; + uint64_t max = 0; for (size_t i = 0; filters[i].id != LZMA_VLI_UNKNOWN; ++i) { const lzma_filter_encoder *const fe = encoder_find(filters[i].id); + if (fe == NULL) + return UINT64_MAX; + if (fe->block_size != NULL) { const uint64_t size = fe->block_size(filters[i].options); - if (size == 0) - return 0; - if (size > max) max = size; } } - return max; + return max == 0 ? UINT64_MAX : max; } diff --git a/contrib/xz/src/liblzma/common/filter_encoder.h b/contrib/xz/src/liblzma/common/filter_encoder.h index f1d5683fe793..da92be8b34da 100644 --- a/contrib/xz/src/liblzma/common/filter_encoder.h +++ b/contrib/xz/src/liblzma/common/filter_encoder.h @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // -/// \file filter_encoder.c +/// \file filter_encoder.h /// \brief Filter ID mapping to filter-specific functions // // Author: Lasse Collin @@ -16,10 +16,6 @@ #include "common.h" -// FIXME: Might become a part of the public API. -extern uint64_t lzma_mt_block_size(const lzma_filter *filters); - - extern lzma_ret lzma_raw_encoder_init( lzma_next_coder *next, const lzma_allocator *allocator, const lzma_filter *filters); diff --git a/contrib/xz/src/liblzma/common/stream_encoder_mt.c b/contrib/xz/src/liblzma/common/stream_encoder_mt.c index f64de9bdbc57..64de526b6a17 100644 --- a/contrib/xz/src/liblzma/common/stream_encoder_mt.c +++ b/contrib/xz/src/liblzma/common/stream_encoder_mt.c @@ -979,20 +979,18 @@ get_options(const lzma_mt *options, lzma_options_easy *opt_easy, *filters = opt_easy->filters; } - // Block size - if (options->block_size > 0) { - if (options->block_size > BLOCK_SIZE_MAX) - return LZMA_OPTIONS_ERROR; - + // If the Block size is not set, determine it from the filter chain. + if (options->block_size > 0) *block_size = options->block_size; - } else { - // Determine the Block size from the filter chain. + else *block_size = lzma_mt_block_size(*filters); - if (*block_size == 0) - return LZMA_OPTIONS_ERROR; - assert(*block_size <= BLOCK_SIZE_MAX); - } + // UINT64_MAX > BLOCK_SIZE_MAX, so the second condition + // should be optimized out by any reasonable compiler. + // The second condition should be there in the unlikely event that + // the macros change and UINT64_MAX < BLOCK_SIZE_MAX. + if (*block_size > BLOCK_SIZE_MAX || *block_size == UINT64_MAX) + return LZMA_OPTIONS_ERROR; // Calculate the maximum amount output that a single output buffer // may need to hold. This is the same as the maximum total size of diff --git a/contrib/xz/src/liblzma/liblzma_generic.map b/contrib/xz/src/liblzma/liblzma_generic.map index bb82167ed57a..b251d366e15c 100644 --- a/contrib/xz/src/liblzma/liblzma_generic.map +++ b/contrib/xz/src/liblzma/liblzma_generic.map @@ -119,3 +119,8 @@ global: lzma_str_list_filters; lzma_str_to_filters; } XZ_5.2; + +XZ_5.5.0alpha { +global: + lzma_mt_block_size; +} XZ_5.4; diff --git a/contrib/xz/src/liblzma/liblzma_linux.map b/contrib/xz/src/liblzma/liblzma_linux.map index 449f5fd682db..25b393883693 100644 --- a/contrib/xz/src/liblzma/liblzma_linux.map +++ b/contrib/xz/src/liblzma/liblzma_linux.map @@ -134,3 +134,8 @@ global: lzma_str_list_filters; lzma_str_to_filters; } XZ_5.2; + +XZ_5.5.0alpha { +global: + lzma_mt_block_size; +} XZ_5.4; diff --git a/contrib/xz/src/liblzma/lz/lz_encoder.c b/contrib/xz/src/liblzma/lz/lz_encoder.c index 5489085a0860..8e724a035a13 100644 --- a/contrib/xz/src/liblzma/lz/lz_encoder.c +++ b/contrib/xz/src/liblzma/lz/lz_encoder.c @@ -196,9 +196,7 @@ lz_encoder_prepare(lzma_mf *mf, const lzma_allocator *allocator, // For now, the dictionary size is limited to 1.5 GiB. This may grow // in the future if needed, but it needs a little more work than just // changing this check. - if (lz_options->dict_size < LZMA_DICT_SIZE_MIN - || lz_options->dict_size - > (UINT32_C(1) << 30) + (UINT32_C(1) << 29) + if (!IS_ENC_DICT_SIZE_VALID(lz_options->dict_size) || lz_options->nice_len > lz_options->match_len_max) return true; diff --git a/contrib/xz/src/liblzma/lz/lz_encoder.h b/contrib/xz/src/liblzma/lz/lz_encoder.h index ffcba02ce931..b71f11805e50 100644 --- a/contrib/xz/src/liblzma/lz/lz_encoder.h +++ b/contrib/xz/src/liblzma/lz/lz_encoder.h @@ -17,6 +17,14 @@ #include "common.h" +// For now, the dictionary size is limited to 1.5 GiB. This may grow +// in the future if needed, but it needs a little more work than just +// changing this check. +#define IS_ENC_DICT_SIZE_VALID(size) \ + ((size) >= LZMA_DICT_SIZE_MIN \ + && (size) <= (UINT32_C(1) << 30) + (UINT32_C(1) << 29)) + + /// A table of these is used by the LZ-based encoder to hold /// the length-distance pairs found by the match finder. typedef struct { diff --git a/contrib/xz/src/liblzma/lzma/lzma2_encoder.c b/contrib/xz/src/liblzma/lzma/lzma2_encoder.c index 4b6b23118d70..5043a07e0fdf 100644 --- a/contrib/xz/src/liblzma/lzma/lzma2_encoder.c +++ b/contrib/xz/src/liblzma/lzma/lzma2_encoder.c @@ -409,6 +409,9 @@ lzma_lzma2_block_size(const void *options) { const lzma_options_lzma *const opt = options; + if (!IS_ENC_DICT_SIZE_VALID(opt->dict_size)) + return UINT64_MAX; + // Use at least 1 MiB to keep compression ratio better. return my_max((uint64_t)(opt->dict_size) * 3, UINT64_C(1) << 20); } diff --git a/lib/liblzma/Symbol.map b/lib/liblzma/Symbol.map index 9532da0a5bde..938b6191b4f4 100644 --- a/lib/liblzma/Symbol.map +++ b/lib/liblzma/Symbol.map @@ -114,6 +114,10 @@ XZ_5.4 { lzma_str_to_filters; }; +XZ_5.6 { + lzma_mt_block_size; +}; + XZprivate_1.0 { lzma_alloc; lzma_alloc_zero; @@ -173,7 +177,6 @@ XZprivate_1.0 { lzma_mf_hc3_skip; lzma_mf_hc4_find; lzma_mf_hc4_skip; - lzma_mt_block_size; lzma_next_end; lzma_next_filter_init; lzma_next_filter_update; diff --git a/lib/liblzma/Versions.def b/lib/liblzma/Versions.def index dea89514beda..25064d9d50e7 100644 --- a/lib/liblzma/Versions.def +++ b/lib/liblzma/Versions.def @@ -8,6 +8,9 @@ XZ_5.2 { XZ_5.4 { } XZ_5.2; -XZprivate_1.0 { +XZ_5.6 { } XZ_5.4; +XZprivate_1.0 { +} XZ_5.6; + From nobody Mon Apr 8 04:06:28 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCbBF1SNJz5G3Y3; Mon, 8 Apr 2024 04:06: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 4VCbBF1CH3z4ZXc; Mon, 8 Apr 2024 04:06:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712549189; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KcYJWVG6po4N+2+19V4O/g/RlGW0/ZeIPgwLeRr2sh0=; b=HzJwCM1M4KkbJY6SQxKBv1eBjE6YPKmSP9U5P11aJhFMyWN5sr6K8o4AWHdfzNK7MBTfhn XNhAVooELmdwJmHcAUPlheM7zaEceivh7+CsZtkUiB2T/RZkxIBX062hThuOXHxOY++hbV B7Cd9uWQrZlJZXvp/q3vMV+aILWUKhPOudGrmUySpjc45gzyhEAK1aALMENFR4HRWaK5pr /Gvh3jSUglMr40cYkYbkTIaDnUSnVfdqO2okVD1Q17PdCJ+Lh6I4P7Pv3vAmhS8k8jWahe oF14q0R/E+tro33JFJnMJYYgelIEPbFxsuRr4m4lpyq/dMET0VzWZyx6ichGpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712549189; a=rsa-sha256; cv=none; b=cHf7ITB1uFPxiuszr0Hyx7LTdnInbUVz/INl9lqqJMeJyuMTHIF67NqrIEUxAamqHmFuOB xhtskJJmTLTUELt14Hqghj0RqigdxRhvKilYzylIjZ9/M3Y+sk+L/Gy1FwwAXhSkhm5LU5 cC+HUUzxXu7wx4ZhZu19/RCpBLeCA5689pZzRIKTw6s6LoUZzrCorXgoTpEJEOaIYfSI3d DN81VtKnT3OnSYTCB+cHX1llLxJt+lW0YmOkZKMSMzRqAclJwhH+50XidbipYE1ORIni/p hIk3yv4EoHOGvOrLS/r/d9WJyp2HqLJuHrpK3Kk2TCVUzmgu5W4H66dhcBHAIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712549189; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KcYJWVG6po4N+2+19V4O/g/RlGW0/ZeIPgwLeRr2sh0=; b=Ff8/VL+pZ+Xqv9dEyy3rVIhPVWArymAcmMTkVy8XAFHii07WsanP/AofWhZgidQKEEj4OQ K/4GlqUIX91A1Wji5+EWBECo0cAVNiB8JVtdPQ5FQL95y/y3aIgjqP2V1Dhvt8the5ZFfB pxvpdwrz+xk34KLMRaVKfrLOKVt/NVCzI8FdN60XSn54QVCs/o47VINAKRuWn8VqOYd55A +36mZue024oNSgCqmQTHOD++vNS22hx9fVjn1P5iKTvwQY5zaBElEvKmXRfqENSdJWnScV dX76g9oG5B4nKIrQzsj6fTYm3HteG0g1fUUBhunz+dqae9YWk2S5tAE+BvJzxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCbBF0Sq4zwVZ; Mon, 8 Apr 2024 04:06: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 43846SoO062337; Mon, 8 Apr 2024 04:06:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43846ScV062334; Mon, 8 Apr 2024 04:06:28 GMT (envelope-from git) Date: Mon, 8 Apr 2024 04:06:28 GMT Message-Id: <202404080406.43846ScV062334@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 6b55e41b3fac - stable/13 - Revert "MFV: xz 5.6.0" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 6b55e41b3fac3102d82864f926636c23df46bba9 Auto-Submitted: auto-generated The branch stable/13 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=6b55e41b3fac3102d82864f926636c23df46bba9 commit 6b55e41b3fac3102d82864f926636c23df46bba9 Author: Xin LI AuthorDate: 2024-04-05 06:39:23 +0000 Commit: Xin LI CommitDate: 2024-04-08 04:06:12 +0000 Revert "MFV: xz 5.6.0" This commit reverts 8db56defa766eacdbaf89a37f25b11a57fd9787a, rolling back the vendor import of xz 5.6.0 and restoring the package to version 5.4.5. The revert was not directly due to the attack (CVE-2024-3094): our import process have removed the test cases and build scripts that would have enabled the attack. However, reverting would help to reduce potential confusion and false positives from security scanners that assess risk based solely on version numbers. Another commit will follow to restore binary compatibility with the liblzma 5.6.0 library by making the previously private symbol (lzma_mt_block_size) public. PR: 278127 (cherry picked from commit 2f9cd13d6c1824633251fb4267c9752d3b044a45) --- contrib/xz/AUTHORS | 40 +- contrib/xz/COPYING | 116 +- contrib/xz/COPYING.0BSD | 11 - contrib/xz/COPYING.CC-BY-SA-4.0 | 427 - contrib/xz/ChangeLog | 16270 +++++++++++-------- contrib/xz/README | 43 +- contrib/xz/THANKS | 7 - contrib/xz/TODO | 4 + contrib/xz/doxygen/Doxyfile | 6 +- contrib/xz/doxygen/footer.html | 13 - contrib/xz/doxygen/update-doxygen | 6 +- contrib/xz/src/common/mythread.h | 28 +- contrib/xz/src/common/sysdefs.h | 18 +- contrib/xz/src/common/tuklib_common.h | 27 +- contrib/xz/src/common/tuklib_config.h | 2 - contrib/xz/src/common/tuklib_cpucores.c | 5 +- contrib/xz/src/common/tuklib_cpucores.h | 5 +- contrib/xz/src/common/tuklib_exit.c | 5 +- contrib/xz/src/common/tuklib_exit.h | 9 +- contrib/xz/src/common/tuklib_gettext.h | 5 +- contrib/xz/src/common/tuklib_integer.h | 7 +- contrib/xz/src/common/tuklib_mbstr.h | 5 +- contrib/xz/src/common/tuklib_mbstr_fw.c | 5 +- contrib/xz/src/common/tuklib_mbstr_width.c | 5 +- contrib/xz/src/common/tuklib_open_stdxxx.c | 5 +- contrib/xz/src/common/tuklib_open_stdxxx.h | 5 +- contrib/xz/src/common/tuklib_physmem.c | 25 +- contrib/xz/src/common/tuklib_physmem.h | 5 +- contrib/xz/src/common/tuklib_progname.c | 5 +- contrib/xz/src/common/tuklib_progname.h | 5 +- contrib/xz/src/liblzma/api/lzma.h | 31 +- contrib/xz/src/liblzma/api/lzma/base.h | 23 +- contrib/xz/src/liblzma/api/lzma/bcj.h | 10 +- contrib/xz/src/liblzma/api/lzma/block.h | 5 +- contrib/xz/src/liblzma/api/lzma/check.h | 5 +- contrib/xz/src/liblzma/api/lzma/container.h | 43 +- contrib/xz/src/liblzma/api/lzma/delta.h | 5 +- contrib/xz/src/liblzma/api/lzma/filter.h | 11 +- contrib/xz/src/liblzma/api/lzma/hardware.h | 5 +- contrib/xz/src/liblzma/api/lzma/index.h | 36 +- contrib/xz/src/liblzma/api/lzma/index_hash.h | 5 +- contrib/xz/src/liblzma/api/lzma/lzma12.h | 7 +- contrib/xz/src/liblzma/api/lzma/stream_flags.h | 5 +- contrib/xz/src/liblzma/api/lzma/version.h | 9 +- contrib/xz/src/liblzma/api/lzma/vli.h | 5 +- contrib/xz/src/liblzma/check/check.c | 5 +- contrib/xz/src/liblzma/check/check.h | 5 +- contrib/xz/src/liblzma/check/crc32_arm64.h | 119 - contrib/xz/src/liblzma/check/crc32_fast.c | 187 +- contrib/xz/src/liblzma/check/crc32_small.c | 5 +- contrib/xz/src/liblzma/check/crc32_table.c | 36 +- contrib/xz/src/liblzma/check/crc32_table_be.h | 4 +- contrib/xz/src/liblzma/check/crc32_table_le.h | 4 +- contrib/xz/src/liblzma/check/crc32_tablegen.c | 21 +- contrib/xz/src/liblzma/check/crc32_x86.S | 5 +- contrib/xz/src/liblzma/check/crc64_fast.c | 450 +- contrib/xz/src/liblzma/check/crc64_small.c | 5 +- contrib/xz/src/liblzma/check/crc64_table.c | 16 +- contrib/xz/src/liblzma/check/crc64_table_be.h | 4 +- contrib/xz/src/liblzma/check/crc64_table_le.h | 4 +- contrib/xz/src/liblzma/check/crc64_tablegen.c | 13 +- contrib/xz/src/liblzma/check/crc64_x86.S | 5 +- contrib/xz/src/liblzma/check/crc_common.h | 143 - contrib/xz/src/liblzma/check/crc_macros.h | 30 + contrib/xz/src/liblzma/check/crc_x86_clmul.h | 435 - contrib/xz/src/liblzma/common/alone_decoder.c | 5 +- contrib/xz/src/liblzma/common/alone_decoder.h | 5 +- contrib/xz/src/liblzma/common/alone_encoder.c | 5 +- contrib/xz/src/liblzma/common/auto_decoder.c | 5 +- .../xz/src/liblzma/common/block_buffer_decoder.c | 5 +- .../xz/src/liblzma/common/block_buffer_encoder.c | 5 +- .../xz/src/liblzma/common/block_buffer_encoder.h | 5 +- contrib/xz/src/liblzma/common/block_decoder.c | 5 +- contrib/xz/src/liblzma/common/block_decoder.h | 5 +- contrib/xz/src/liblzma/common/block_encoder.c | 5 +- contrib/xz/src/liblzma/common/block_encoder.h | 5 +- .../xz/src/liblzma/common/block_header_decoder.c | 5 +- .../xz/src/liblzma/common/block_header_encoder.c | 5 +- contrib/xz/src/liblzma/common/block_util.c | 5 +- contrib/xz/src/liblzma/common/common.c | 5 +- contrib/xz/src/liblzma/common/common.h | 5 +- .../xz/src/liblzma/common/easy_buffer_encoder.c | 5 +- .../xz/src/liblzma/common/easy_decoder_memusage.c | 5 +- contrib/xz/src/liblzma/common/easy_encoder.c | 5 +- .../xz/src/liblzma/common/easy_encoder_memusage.c | 5 +- contrib/xz/src/liblzma/common/easy_preset.c | 5 +- contrib/xz/src/liblzma/common/easy_preset.h | 5 +- contrib/xz/src/liblzma/common/file_info.c | 5 +- .../xz/src/liblzma/common/filter_buffer_decoder.c | 5 +- .../xz/src/liblzma/common/filter_buffer_encoder.c | 5 +- contrib/xz/src/liblzma/common/filter_common.c | 14 +- contrib/xz/src/liblzma/common/filter_common.h | 5 +- contrib/xz/src/liblzma/common/filter_decoder.c | 13 +- contrib/xz/src/liblzma/common/filter_decoder.h | 5 +- contrib/xz/src/liblzma/common/filter_encoder.c | 39 +- contrib/xz/src/liblzma/common/filter_encoder.h | 11 +- .../xz/src/liblzma/common/filter_flags_decoder.c | 5 +- .../xz/src/liblzma/common/filter_flags_encoder.c | 5 +- .../xz/src/liblzma/common/hardware_cputhreads.c | 5 +- contrib/xz/src/liblzma/common/hardware_physmem.c | 5 +- contrib/xz/src/liblzma/common/index.c | 5 +- contrib/xz/src/liblzma/common/index.h | 5 +- contrib/xz/src/liblzma/common/index_decoder.c | 5 +- contrib/xz/src/liblzma/common/index_decoder.h | 5 +- contrib/xz/src/liblzma/common/index_encoder.c | 5 +- contrib/xz/src/liblzma/common/index_encoder.h | 5 +- contrib/xz/src/liblzma/common/index_hash.c | 5 +- contrib/xz/src/liblzma/common/lzip_decoder.c | 5 +- contrib/xz/src/liblzma/common/lzip_decoder.h | 5 +- contrib/xz/src/liblzma/common/memcmplen.h | 24 +- contrib/xz/src/liblzma/common/microlzma_decoder.c | 5 +- contrib/xz/src/liblzma/common/microlzma_encoder.c | 5 +- contrib/xz/src/liblzma/common/outqueue.c | 5 +- contrib/xz/src/liblzma/common/outqueue.h | 5 +- .../xz/src/liblzma/common/stream_buffer_decoder.c | 5 +- .../xz/src/liblzma/common/stream_buffer_encoder.c | 5 +- contrib/xz/src/liblzma/common/stream_decoder.c | 5 +- contrib/xz/src/liblzma/common/stream_decoder.h | 5 +- contrib/xz/src/liblzma/common/stream_decoder_mt.c | 5 +- contrib/xz/src/liblzma/common/stream_encoder.c | 5 +- contrib/xz/src/liblzma/common/stream_encoder_mt.c | 25 +- .../xz/src/liblzma/common/stream_flags_common.c | 5 +- .../xz/src/liblzma/common/stream_flags_common.h | 5 +- .../xz/src/liblzma/common/stream_flags_decoder.c | 5 +- .../xz/src/liblzma/common/stream_flags_encoder.c | 5 +- contrib/xz/src/liblzma/common/string_conversion.c | 14 +- contrib/xz/src/liblzma/common/vli_decoder.c | 5 +- contrib/xz/src/liblzma/common/vli_encoder.c | 5 +- contrib/xz/src/liblzma/common/vli_size.c | 5 +- contrib/xz/src/liblzma/delta/delta_common.c | 5 +- contrib/xz/src/liblzma/delta/delta_common.h | 5 +- contrib/xz/src/liblzma/delta/delta_decoder.c | 5 +- contrib/xz/src/liblzma/delta/delta_decoder.h | 5 +- contrib/xz/src/liblzma/delta/delta_encoder.c | 5 +- contrib/xz/src/liblzma/delta/delta_encoder.h | 5 +- contrib/xz/src/liblzma/delta/delta_private.h | 5 +- contrib/xz/src/liblzma/liblzma.pc.in | 6 +- contrib/xz/src/liblzma/liblzma_generic.map | 7 - contrib/xz/src/liblzma/liblzma_linux.map | 7 - contrib/xz/src/liblzma/lz/lz_decoder.c | 48 +- contrib/xz/src/liblzma/lz/lz_decoder.h | 116 +- contrib/xz/src/liblzma/lz/lz_encoder.c | 13 +- contrib/xz/src/liblzma/lz/lz_encoder.h | 21 +- contrib/xz/src/liblzma/lz/lz_encoder_hash.h | 5 +- contrib/xz/src/liblzma/lz/lz_encoder_hash_table.h | 4 +- contrib/xz/src/liblzma/lz/lz_encoder_mf.c | 5 +- contrib/xz/src/liblzma/lzma/fastpos.h | 5 +- contrib/xz/src/liblzma/lzma/fastpos_table.c | 4 +- contrib/xz/src/liblzma/lzma/fastpos_tablegen.c | 17 +- contrib/xz/src/liblzma/lzma/lzma2_decoder.c | 5 +- contrib/xz/src/liblzma/lzma/lzma2_decoder.h | 5 +- contrib/xz/src/liblzma/lzma/lzma2_encoder.c | 8 +- contrib/xz/src/liblzma/lzma/lzma2_encoder.h | 5 +- contrib/xz/src/liblzma/lzma/lzma_common.h | 41 +- contrib/xz/src/liblzma/lzma/lzma_decoder.c | 760 +- contrib/xz/src/liblzma/lzma/lzma_decoder.h | 5 +- contrib/xz/src/liblzma/lzma/lzma_encoder.c | 18 +- contrib/xz/src/liblzma/lzma/lzma_encoder.h | 5 +- .../src/liblzma/lzma/lzma_encoder_optimum_fast.c | 5 +- .../src/liblzma/lzma/lzma_encoder_optimum_normal.c | 7 +- contrib/xz/src/liblzma/lzma/lzma_encoder_presets.c | 5 +- contrib/xz/src/liblzma/lzma/lzma_encoder_private.h | 9 +- contrib/xz/src/liblzma/rangecoder/price.h | 5 +- contrib/xz/src/liblzma/rangecoder/price_table.c | 4 +- contrib/xz/src/liblzma/rangecoder/price_tablegen.c | 22 +- contrib/xz/src/liblzma/rangecoder/range_common.h | 14 +- contrib/xz/src/liblzma/rangecoder/range_decoder.h | 838 +- contrib/xz/src/liblzma/rangecoder/range_encoder.h | 5 +- contrib/xz/src/liblzma/simple/arm.c | 5 +- contrib/xz/src/liblzma/simple/arm64.c | 5 +- contrib/xz/src/liblzma/simple/armthumb.c | 5 +- contrib/xz/src/liblzma/simple/ia64.c | 5 +- contrib/xz/src/liblzma/simple/powerpc.c | 5 +- contrib/xz/src/liblzma/simple/riscv.c | 755 - contrib/xz/src/liblzma/simple/simple_coder.c | 5 +- contrib/xz/src/liblzma/simple/simple_coder.h | 14 +- contrib/xz/src/liblzma/simple/simple_decoder.c | 5 +- contrib/xz/src/liblzma/simple/simple_decoder.h | 5 +- contrib/xz/src/liblzma/simple/simple_encoder.c | 5 +- contrib/xz/src/liblzma/simple/simple_encoder.h | 5 +- contrib/xz/src/liblzma/simple/simple_private.h | 5 +- contrib/xz/src/liblzma/simple/sparc.c | 5 +- contrib/xz/src/liblzma/simple/x86.c | 5 +- contrib/xz/src/liblzma/validate_map.sh | 6 +- contrib/xz/src/lzmainfo/lzmainfo.1 | 4 +- contrib/xz/src/lzmainfo/lzmainfo.c | 5 +- contrib/xz/src/xz/args.c | 159 +- contrib/xz/src/xz/args.h | 8 +- contrib/xz/src/xz/coder.c | 648 +- contrib/xz/src/xz/coder.h | 31 +- contrib/xz/src/xz/file_io.c | 144 +- contrib/xz/src/xz/file_io.h | 21 +- contrib/xz/src/xz/hardware.c | 11 +- contrib/xz/src/xz/hardware.h | 5 +- contrib/xz/src/xz/list.c | 31 +- contrib/xz/src/xz/list.h | 5 +- contrib/xz/src/xz/main.c | 91 +- contrib/xz/src/xz/main.h | 5 +- contrib/xz/src/xz/message.c | 94 +- contrib/xz/src/xz/message.h | 15 +- contrib/xz/src/xz/mytime.c | 105 +- contrib/xz/src/xz/mytime.h | 11 +- contrib/xz/src/xz/options.c | 7 +- contrib/xz/src/xz/options.h | 5 +- contrib/xz/src/xz/private.h | 26 +- contrib/xz/src/xz/sandbox.c | 355 - contrib/xz/src/xz/sandbox.h | 43 - contrib/xz/src/xz/signals.c | 22 +- contrib/xz/src/xz/signals.h | 5 +- contrib/xz/src/xz/suffix.c | 17 +- contrib/xz/src/xz/suffix.h | 5 +- contrib/xz/src/xz/util.c | 36 +- contrib/xz/src/xz/util.h | 19 +- contrib/xz/src/xz/xz.1 | 439 +- contrib/xz/src/xzdec/xzdec.1 | 8 +- contrib/xz/src/xzdec/xzdec.c | 160 +- lib/liblzma/Makefile | 1 - lib/liblzma/Symbol.map | 5 +- lib/liblzma/Versions.def | 5 +- lib/liblzma/config.h | 120 +- usr.bin/xz/Makefile | 1 - 221 files changed, 11311 insertions(+), 13505 deletions(-) diff --git a/contrib/xz/AUTHORS b/contrib/xz/AUTHORS index 5012d0e01e83..69bbfc3ef609 100644 --- a/contrib/xz/AUTHORS +++ b/contrib/xz/AUTHORS @@ -9,13 +9,15 @@ Authors of XZ Utils specifically the LZMA SDK . Without this code, XZ Utils wouldn't exist. - The SHA-256 implementation in liblzma is based on code written by - Wei Dai in Crypto++ Library . + The SHA-256 implementation in liblzma is based on the code found from + 7-Zip , which has a modified version of the SHA-256 + code found from Crypto++ . The SHA-256 code + in Crypto++ was written by Kevin Springle and Wei Dai. - A few scripts have been adapted from GNU gzip. The original - versions were written by Jean-loup Gailly, Charles Levert, and - Paul Eggert. Andrew Dudman helped adapting the scripts and their - man pages for XZ Utils. + Some scripts have been adapted from gzip. The original versions + were written by Jean-loup Gailly, Charles Levert, and Paul Eggert. + Andrew Dudman helped adapting the scripts and their man pages for + XZ Utils. The initial version of the threaded .xz decompressor was written by Sebastian Andrzej Siewior. @@ -23,31 +25,15 @@ Authors of XZ Utils The initial version of the .lz (lzip) decoder was written by Michał Górny. - Architecture-specific CRC optimizations were contributed by - Ilya Kurdyukov, Hans Jansen, and Chenxi Mao. + CLMUL-accelerated CRC code was contributed by Ilya Kurdyukov. Other authors: - Jonathan Nieder - Joachim Henke - Many people have contributed improvements or reported bugs. - Most of these people are mentioned in the file THANKS. + The GNU Autotools-based build system contains files from many authors, + which I'm not trying to list here. - The translations of the command line tools and man pages have been - contributed by many people via the Translation Project: - - - https://translationproject.org/domain/xz.html - - https://translationproject.org/domain/xz-man.html - - The authors of the translated man pages are in the header comments - of the man page files. In the source package, the authors of the - translations are in po/*.po and po4a/*.po files. - - Third-party code whose authors aren't listed here: - - - GNU getopt_long() in the 'lib' directory is included for - platforms that don't have a usable getopt_long(). - - - The build system files from GNU Autoconf, GNU Automake, - GNU Libtool, GNU Gettext, Autoconf Archive, and related files. + Several people have contributed fixes or reported bugs. Most of them + are mentioned in the file THANKS. diff --git a/contrib/xz/COPYING b/contrib/xz/COPYING index a31477d62d31..e54eeacfbf3f 100644 --- a/contrib/xz/COPYING +++ b/contrib/xz/COPYING @@ -6,95 +6,71 @@ XZ Utils Licensing is a rough summary of which licenses apply to which parts of this package (but check the individual files to be sure!): - - liblzma is under the BSD Zero Clause License (0BSD). + - liblzma is in the public domain. - - The command line tools xz, xzdec, lzmadec, and lzmainfo are - under 0BSD except that, on systems that don't have a usable - getopt_long, GNU getopt_long is compiled and linked in from the - 'lib' directory. The getopt_long code is under GNU LGPLv2.1+. + - xz, xzdec, and lzmadec command line tools are in the public + domain unless GNU getopt_long had to be compiled and linked + in from the lib directory. The getopt_long code is under + GNU LGPLv2.1+. - The scripts to grep, diff, and view compressed files have been - adapted from GNU gzip. These scripts (xzgrep, xzdiff, xzless, - and xzmore) are under GNU GPLv2+. The man pages of the scripts - are under 0BSD; they aren't based on the man pages of GNU gzip. - - - Most of the XZ Utils specific documentation that is in - plain text files (like README, INSTALL, PACKAGERS, NEWS, - and ChangeLog) are under 0BSD unless stated otherwise in - the file itself. The files xz-file-format.txt and - lzma-file-format.xt are in the public domain but may - be distributed under the terms of 0BSD too. - - - Doxygen-generated HTML version of the liblzma API documentation: - While Doxygen is under the GNU GPLv2, the license information - in Doxygen includes the following exception: - - Documents produced by doxygen are derivative works - derived from the input used in their production; - they are not affected by this license. + adapted from gzip. These scripts and their documentation are + under GNU GPLv2+. + + - All the documentation in the doc directory and most of the + XZ Utils specific documentation files in other directories + are in the public domain. Note: The JavaScript files (under the MIT license) have - been removed from the Doxygen output. + been removed from the Doxygen-generated HTML version of the + liblzma API documentation. Doxygen itself is under the GNU GPL + but the remaining files generated by Doxygen are not affected + by the licenses used in Doxygen because Doxygen licensing has + the following exception: - - The XZ logo (xz-logo.png) included in the Doxygen-generated - documentation is under the Creative Commons BY-SA 4.0 license. + "Documents produced by doxygen are derivative works + derived from the input used in their production; + they are not affected by this license." - - Translated messages and man pages are under 0BSD except that - some old translations are in the public domain. + - Translated messages are in the public domain. - - Test files and test code in the 'tests' directory, and - debugging utilities in the 'debug' directory are under - the BSD Zero Clause License (0BSD). + - The build system contains public domain files, and files that + are under GNU GPLv2+ or GNU GPLv3+. None of these files end up + in the binaries being built. - - The GNU Autotools based build system contains files that are - under GNU GPLv2+, GNU GPLv3+, and a few permissive licenses. - These files don't affect the licensing of the binaries being - built. + - Test files and test code in the tests directory, and debugging + utilities in the debug directory are in the public domain. - - The extra directory contain files that are under various - free software licenses. + - The extra directory may contain public domain files, and files + that are under various free software licenses. - For the files under the BSD Zero Clause License (0BSD), if - a copyright notice is needed, the following is sufficient: + You can do whatever you want with the files that have been put into + the public domain. If you find public domain legally problematic, + take the previous sentence as a license grant. If you still find + the lack of copyright legally problematic, you have too many + lawyers. - Copyright (C) The XZ Utils authors and contributors + As usual, this software is provided "as is", without any warranty. - If you copy significant amounts of 0BSD-licensed code from XZ Utils + If you copy significant amounts of public domain code from XZ Utils into your project, acknowledging this somewhere in your software is polite (especially if it is proprietary, non-free software), but - it is not legally required by the license terms. Here is an example - of a good notice to put into "about box" or into documentation: + naturally it is not legally required. Here is an example of a good + notice to put into "about box" or into documentation: - This software includes code from XZ Utils - . + This software includes code from XZ Utils . The following license texts are included in the following files: - - COPYING.0BSD: BSD Zero Clause License - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1 - COPYING.GPLv2: GNU General Public License version 2 - COPYING.GPLv3: GNU General Public License version 3 - - COPYING.CC-BY-SA-4.0: Creative Commons Attribution-ShareAlike 4.0 - International Public License - - A note about old XZ Utils releases: - - XZ Utils releases 5.4.6 and older and 5.5.1alpha have a - significant amount of code put into the public domain and - that obviously remains so. The switch from public domain to - 0BSD for newer releases was made in Febrary 2024 because - public domain has (real or perceived) legal ambiguities in - some jurisdictions. - - There is very little *practical* difference between public - domain and 0BSD. The main difference likely is that one - shouldn't claim that 0BSD-licensed code is in the public - domain; 0BSD-licensed code is copyrighted but available under - an extremely permissive license. Neither 0BSD nor public domain - require retaining or reproducing author, copyright holder, or - license notices when distributing the software. (Compare to, - for example, BSD 2-Clause "Simplified" License which does have - such requirements.) - - If you have questions, don't hesitate to ask for more information. - The contact information is in the README file. + + Note that the toolchain (compiler, linker etc.) may add some code + pieces that are copyrighted. Thus, it is possible that e.g. liblzma + binary wouldn't actually be in the public domain in its entirety + even though it contains no copyrighted code from the XZ Utils source + package. + + If you have questions, don't hesitate to ask the author(s) for more + information. diff --git a/contrib/xz/COPYING.0BSD b/contrib/xz/COPYING.0BSD deleted file mode 100644 index 4322122aecf1..000000000000 --- a/contrib/xz/COPYING.0BSD +++ /dev/null @@ -1,11 +0,0 @@ -Permission to use, copy, modify, and/or distribute this -software for any purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL -WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL -THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/contrib/xz/COPYING.CC-BY-SA-4.0 b/contrib/xz/COPYING.CC-BY-SA-4.0 deleted file mode 100644 index 7d4f96c54aa1..000000000000 --- a/contrib/xz/COPYING.CC-BY-SA-4.0 +++ /dev/null @@ -1,427 +0,0 @@ -Attribution-ShareAlike 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution-ShareAlike 4.0 International Public -License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution-ShareAlike 4.0 International Public License ("Public -License"). To the extent this Public License may be interpreted as a -contract, You are granted the Licensed Rights in consideration of Your -acceptance of these terms and conditions, and the Licensor grants You -such rights in consideration of benefits the Licensor receives from -making the Licensed Material available under these terms and -conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. BY-SA Compatible License means a license listed at - creativecommons.org/compatiblelicenses, approved by Creative - Commons as essentially the equivalent of this Public License. - - d. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - e. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - f. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - g. License Elements means the license attributes listed in the name - of a Creative Commons Public License. The License Elements of this - Public License are Attribution and ShareAlike. - - h. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - i. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - j. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - k. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - l. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - m. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. Additional offer from the Licensor -- Adapted Material. - Every recipient of Adapted Material from You - automatically receives an offer from the Licensor to - exercise the Licensed Rights in the Adapted Material - under the conditions of the Adapter's License You apply. - - c. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - b. ShareAlike. - - In addition to the conditions in Section 3(a), if You Share - Adapted Material You produce, the following conditions also apply. - - 1. The Adapter's License You apply must be a Creative Commons - license with the same License Elements, this version or - later, or a BY-SA Compatible License. - - 2. You must include the text of, or the URI or hyperlink to, the - Adapter's License You apply. You may satisfy this condition - in any reasonable manner based on the medium, means, and - context in which You Share Adapted Material. - - 3. You may not offer or impose any additional or different terms - or conditions on, or apply any Effective Technological - Measures to, Adapted Material that restrict exercise of the - rights granted under the Adapter's License You apply. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material, - including for purposes of Section 3(b); and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the “Licensor.” The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/contrib/xz/ChangeLog b/contrib/xz/ChangeLog index 54b68744af86..4dd0978ef313 100644 --- a/contrib/xz/ChangeLog +++ b/contrib/xz/ChangeLog @@ -1,9764 +1,11756 @@ -commit 2d7d862e3ffa8cec4fd3fdffcd84e984a17aa429 +commit 49053c0a649f4c8bd2b8d97ce915f401fbc0f3d9 Author: Jia Tan -Date: 2024-02-24 15:55:08 +0800 +Date: 2023-10-31 22:30:29 +0800 - Bump version and soname for 5.6.0. + Bump version and soname for 5.4.5. - src/liblzma/Makefile.am | 2 +- - src/liblzma/api/lzma/version.h | 6 +++--- - src/liblzma/liblzma_generic.map | 2 +- - src/liblzma/liblzma_linux.map | 2 +- - 4 files changed, 6 insertions(+), 6 deletions(-) + src/liblzma/Makefile.am | 2 +- + src/liblzma/api/lzma/version.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) -commit a18fb1edef0d0aac12a09eed05e9c448c777af7b +commit 84c0cfc556287628df871703672879e530d0391f Author: Jia Tan -Date: 2024-02-24 15:50:36 +0800 +Date: 2023-11-01 20:18:30 +0800 - Add NEWS for 5.6.0. + Add NEWS for 5.4.5. - NEWS | 143 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 143 insertions(+) + NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 74 insertions(+) -commit 24355c5280bc95e3d594432d60bb8432aa6af173 -Author: Jia Tan -Date: 2024-02-22 22:27:01 +0800 +commit d90ed84db9770712e2421e170076b43bda9b64a7 +Author: Lasse Collin +Date: 2023-10-31 21:41:09 +0200 - Translations: Remove obsolete and fuzzy matches from some translations. + liblzma: Fix compilation of fastpos_tablegen.c. - The French and Brazilian Portuguese man page translations have not been - updated since the switch from public domain to 0BSD. The old GPLv2 - strings have now been removed from these files. - - po4a/fr.po | 4702 +++++++++++++++++++++++++++++++++++++---------------- - po4a/pt_BR.po | 4987 ++++++++++++++++++++++++++++++++++++++++----------------- - 2 files changed, 6832 insertions(+), 2857 deletions(-) - -commit 02ca4a7d7b703e2ec63e00b70feec825e919dbc1 -Author: Jia Tan -Date: 2024-02-21 00:31:54 +0800 - - Translations: Patch man pages to avoid fuzzy matches. + The macro lzma_attr_visibility_hidden has to be defined to make + fastpos.h usable. The visibility attribute is irrelevant to + fastpos_tablegen.c so simply #define the macro to an empty value. - This will be fixed in the next round of translations, but this avoids - having a fuzzy match or not fixing the English version. - - po4a/de.po | 2 +- - po4a/ko.po | 2 +- - po4a/ro.po | 2 +- - po4a/uk.po | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -commit 898aad9fc711e03452d24d9e2c5b7f77a6f9ce64 *** 32182 LINES SKIPPED *** From nobody Mon Apr 8 04:06:30 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCbBG3v3Hz5G3Y4; Mon, 8 Apr 2024 04:06: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 4VCbBG1lyWz4Zk3; Mon, 8 Apr 2024 04:06:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712549190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7l+lmMmPORTWAi+QtBrz+fIuApnDfbw1kcXg1Gup7Bc=; b=kuN86Puq77A0D3/+LgmJf3W0hm0atyFuhoknH4Rm7+L5KCj7JWDy2qGasru127fTiDYrpn 01pQE5vZGIs82cRk2Sl65TwXtdAnpZYzISbzj6ks5ubxif20ZcaWjf1Ymy1gnG74ahEQf/ nnnApUxjvKynT6fbzzuDJJ63/VR1Epj3S25axWAwIieucG1qbxzKd1N7FgvX0f+SohIono 1DatinrouMmzZdwP6oLcnp4BV3RMSDrLK8g0BAf90jsRpY9iyxtPrWnnf4+s+1BhlXVe/v pzktrCZCeRjrsCudWGAwE5G2IIEFESmkzhZnkujdIUK8mP0+4O3DD6BKtgvs3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712549190; a=rsa-sha256; cv=none; b=DE7mlQ9Z5tjKWaB2qSMI/fbWjzqHpkzO0JOIOXYoYHuU/HCW+2Lxq8YwMQF+WUi+xaRWmd BlMENI3jDE1i4qK33gm+69ovMZoXnIAOv9VznnUNUdsMmxtI1zwX8PnigIbWKLhhLJqHs6 hvBGxIOGY83vxPiz+lRQ2I7Qahxga3xA3wdWI2hR5v4Vy4XAQcxm9NZVQmAL8RagedP89d RZp2RSzHwcthi+r3/vhF+B8nzRH0iwn8Prmy+kOmSg7REst4HETfAXIYIG3xlR/S1tqlsE Cd94sjXIdCX6uA5dtOlMocKU0UbxHq6n5PT0LZc+hzGwfd+6YK5opd5vX/kDQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712549190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7l+lmMmPORTWAi+QtBrz+fIuApnDfbw1kcXg1Gup7Bc=; b=ejzn71rNFXF+g/k9JgPooVJgsUOsJLsN3PHCaCSd+nA+i7jv2oavsMxKsn8kAAerM664GG 3n1X1Vg1m4mIQems+pSDf9uT2PA1xEsJGv1xUalFVmZQ8Ereim8Ydo8rOzizPxxNT6p9Ov 3n0RkC9ib5uGmJ8ncFY4mI7q+Ym/Dj24CIMyIIv4OIeJy5VnrlT+UWs0KBZrT36MVN7e5k ClTlPytee/cfxMJTQraoHuNz6l0v74nWFbNvFHfoR4lZssidXycD8143xWu4NE9nZGxB1C 9F6MxiTGuEJZvYqbTl6dBCtgE+/7TrzQm0FE1LO8GDdlb+GGQ4/y/uDZfZx7Ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCbBG1BHhzwj6; Mon, 8 Apr 2024 04:06: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 43846Ui4062386; Mon, 8 Apr 2024 04:06:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43846U7J062383; Mon, 8 Apr 2024 04:06:30 GMT (envelope-from git) Date: Mon, 8 Apr 2024 04:06:30 GMT Message-Id: <202404080406.43846U7J062383@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 728293e74c90 - stable/13 - Backport export of lzma_mt_block_size symbol. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 728293e74c90d45d7901dfd40c4872d7e6a787eb Auto-Submitted: auto-generated The branch stable/13 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=728293e74c90d45d7901dfd40c4872d7e6a787eb commit 728293e74c90d45d7901dfd40c4872d7e6a787eb Author: Xin LI AuthorDate: 2024-04-05 06:39:33 +0000 Commit: Xin LI CommitDate: 2024-04-08 04:06:13 +0000 Backport export of lzma_mt_block_size symbol. This restores binary compatibility against liblzma 5.6.0 library. PR: 278127 (cherry picked from commit 5ffb19ac36c4b5c9e72d69048250c8e56acff739) --- contrib/xz/src/liblzma/api/lzma/container.h | 28 +++++++++++++++++++++++ contrib/xz/src/liblzma/common/filter_encoder.c | 16 ++++++++----- contrib/xz/src/liblzma/common/filter_encoder.h | 6 +---- contrib/xz/src/liblzma/common/stream_encoder_mt.c | 20 ++++++++-------- contrib/xz/src/liblzma/liblzma_generic.map | 5 ++++ contrib/xz/src/liblzma/liblzma_linux.map | 5 ++++ contrib/xz/src/liblzma/lz/lz_encoder.c | 4 +--- contrib/xz/src/liblzma/lz/lz_encoder.h | 8 +++++++ contrib/xz/src/liblzma/lzma/lzma2_encoder.c | 3 +++ lib/liblzma/Symbol.map | 5 +++- lib/liblzma/Versions.def | 5 +++- 11 files changed, 78 insertions(+), 27 deletions(-) diff --git a/contrib/xz/src/liblzma/api/lzma/container.h b/contrib/xz/src/liblzma/api/lzma/container.h index 2849fbfd3c51..4cbb1b7bf7b4 100644 --- a/contrib/xz/src/liblzma/api/lzma/container.h +++ b/contrib/xz/src/liblzma/api/lzma/container.h @@ -435,6 +435,34 @@ extern LZMA_API(lzma_ret) lzma_stream_encoder_mt( lzma_nothrow lzma_attr_warn_unused_result; +/** + * \brief Calculate recommended Block size for multithreaded .xz encoder + * + * This calculates a recommended Block size for multithreaded encoding given + * a filter chain. This is used internally by lzma_stream_encoder_mt() to + * determine the Block size if the block_size member is not set to the + * special value of 0 in the lzma_mt options struct. + * + * If one wishes to change the filters between Blocks, this function is + * helpful to set the block_size member of the lzma_mt struct before calling + * lzma_stream_encoder_mt(). Since the block_size member represents the + * maximum possible Block size for the multithreaded .xz encoder, one can + * use this function to find the maximum recommended Block size based on + * all planned filter chains. Otherwise, the multithreaded encoder will + * base its maximum Block size on the first filter chain used (if the + * block_size member is not set), which may unnecessarily limit the Block + * size for a later filter chain. + * + * \param filters Array of filters terminated with + * .id == LZMA_VLI_UNKNOWN. + * + * \return Recommended Block size in bytes, or UINT64_MAX if + * an error occurred. + */ +extern LZMA_API(uint64_t) lzma_mt_block_size(const lzma_filter *filters) + lzma_nothrow; + + /** * \brief Initialize .lzma encoder (legacy file format) * diff --git a/contrib/xz/src/liblzma/common/filter_encoder.c b/contrib/xz/src/liblzma/common/filter_encoder.c index 46fe8af1c153..0699bcee62a4 100644 --- a/contrib/xz/src/liblzma/common/filter_encoder.c +++ b/contrib/xz/src/liblzma/common/filter_encoder.c @@ -33,7 +33,8 @@ typedef struct { /// Calculates the recommended Uncompressed Size for .xz Blocks to /// which the input data can be split to make multithreaded /// encoding possible. If this is NULL, it is assumed that - /// the encoder is fast enough with single thread. + /// the encoder is fast enough with single thread. If the options + /// are invalid, UINT64_MAX is returned. uint64_t (*block_size)(const void *options); /// Tells the size of the Filter Properties field. If options are @@ -248,26 +249,29 @@ lzma_raw_encoder_memusage(const lzma_filter *filters) } -extern uint64_t +extern LZMA_API(uint64_t) lzma_mt_block_size(const lzma_filter *filters) { + if (filters == NULL) + return UINT64_MAX; + uint64_t max = 0; for (size_t i = 0; filters[i].id != LZMA_VLI_UNKNOWN; ++i) { const lzma_filter_encoder *const fe = encoder_find(filters[i].id); + if (fe == NULL) + return UINT64_MAX; + if (fe->block_size != NULL) { const uint64_t size = fe->block_size(filters[i].options); - if (size == 0) - return 0; - if (size > max) max = size; } } - return max; + return max == 0 ? UINT64_MAX : max; } diff --git a/contrib/xz/src/liblzma/common/filter_encoder.h b/contrib/xz/src/liblzma/common/filter_encoder.h index f1d5683fe793..da92be8b34da 100644 --- a/contrib/xz/src/liblzma/common/filter_encoder.h +++ b/contrib/xz/src/liblzma/common/filter_encoder.h @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // -/// \file filter_encoder.c +/// \file filter_encoder.h /// \brief Filter ID mapping to filter-specific functions // // Author: Lasse Collin @@ -16,10 +16,6 @@ #include "common.h" -// FIXME: Might become a part of the public API. -extern uint64_t lzma_mt_block_size(const lzma_filter *filters); - - extern lzma_ret lzma_raw_encoder_init( lzma_next_coder *next, const lzma_allocator *allocator, const lzma_filter *filters); diff --git a/contrib/xz/src/liblzma/common/stream_encoder_mt.c b/contrib/xz/src/liblzma/common/stream_encoder_mt.c index f64de9bdbc57..64de526b6a17 100644 --- a/contrib/xz/src/liblzma/common/stream_encoder_mt.c +++ b/contrib/xz/src/liblzma/common/stream_encoder_mt.c @@ -979,20 +979,18 @@ get_options(const lzma_mt *options, lzma_options_easy *opt_easy, *filters = opt_easy->filters; } - // Block size - if (options->block_size > 0) { - if (options->block_size > BLOCK_SIZE_MAX) - return LZMA_OPTIONS_ERROR; - + // If the Block size is not set, determine it from the filter chain. + if (options->block_size > 0) *block_size = options->block_size; - } else { - // Determine the Block size from the filter chain. + else *block_size = lzma_mt_block_size(*filters); - if (*block_size == 0) - return LZMA_OPTIONS_ERROR; - assert(*block_size <= BLOCK_SIZE_MAX); - } + // UINT64_MAX > BLOCK_SIZE_MAX, so the second condition + // should be optimized out by any reasonable compiler. + // The second condition should be there in the unlikely event that + // the macros change and UINT64_MAX < BLOCK_SIZE_MAX. + if (*block_size > BLOCK_SIZE_MAX || *block_size == UINT64_MAX) + return LZMA_OPTIONS_ERROR; // Calculate the maximum amount output that a single output buffer // may need to hold. This is the same as the maximum total size of diff --git a/contrib/xz/src/liblzma/liblzma_generic.map b/contrib/xz/src/liblzma/liblzma_generic.map index bb82167ed57a..b251d366e15c 100644 --- a/contrib/xz/src/liblzma/liblzma_generic.map +++ b/contrib/xz/src/liblzma/liblzma_generic.map @@ -119,3 +119,8 @@ global: lzma_str_list_filters; lzma_str_to_filters; } XZ_5.2; + +XZ_5.5.0alpha { +global: + lzma_mt_block_size; +} XZ_5.4; diff --git a/contrib/xz/src/liblzma/liblzma_linux.map b/contrib/xz/src/liblzma/liblzma_linux.map index 449f5fd682db..25b393883693 100644 --- a/contrib/xz/src/liblzma/liblzma_linux.map +++ b/contrib/xz/src/liblzma/liblzma_linux.map @@ -134,3 +134,8 @@ global: lzma_str_list_filters; lzma_str_to_filters; } XZ_5.2; + +XZ_5.5.0alpha { +global: + lzma_mt_block_size; +} XZ_5.4; diff --git a/contrib/xz/src/liblzma/lz/lz_encoder.c b/contrib/xz/src/liblzma/lz/lz_encoder.c index 5489085a0860..8e724a035a13 100644 --- a/contrib/xz/src/liblzma/lz/lz_encoder.c +++ b/contrib/xz/src/liblzma/lz/lz_encoder.c @@ -196,9 +196,7 @@ lz_encoder_prepare(lzma_mf *mf, const lzma_allocator *allocator, // For now, the dictionary size is limited to 1.5 GiB. This may grow // in the future if needed, but it needs a little more work than just // changing this check. - if (lz_options->dict_size < LZMA_DICT_SIZE_MIN - || lz_options->dict_size - > (UINT32_C(1) << 30) + (UINT32_C(1) << 29) + if (!IS_ENC_DICT_SIZE_VALID(lz_options->dict_size) || lz_options->nice_len > lz_options->match_len_max) return true; diff --git a/contrib/xz/src/liblzma/lz/lz_encoder.h b/contrib/xz/src/liblzma/lz/lz_encoder.h index ffcba02ce931..b71f11805e50 100644 --- a/contrib/xz/src/liblzma/lz/lz_encoder.h +++ b/contrib/xz/src/liblzma/lz/lz_encoder.h @@ -17,6 +17,14 @@ #include "common.h" +// For now, the dictionary size is limited to 1.5 GiB. This may grow +// in the future if needed, but it needs a little more work than just +// changing this check. +#define IS_ENC_DICT_SIZE_VALID(size) \ + ((size) >= LZMA_DICT_SIZE_MIN \ + && (size) <= (UINT32_C(1) << 30) + (UINT32_C(1) << 29)) + + /// A table of these is used by the LZ-based encoder to hold /// the length-distance pairs found by the match finder. typedef struct { diff --git a/contrib/xz/src/liblzma/lzma/lzma2_encoder.c b/contrib/xz/src/liblzma/lzma/lzma2_encoder.c index 4b6b23118d70..5043a07e0fdf 100644 --- a/contrib/xz/src/liblzma/lzma/lzma2_encoder.c +++ b/contrib/xz/src/liblzma/lzma/lzma2_encoder.c @@ -409,6 +409,9 @@ lzma_lzma2_block_size(const void *options) { const lzma_options_lzma *const opt = options; + if (!IS_ENC_DICT_SIZE_VALID(opt->dict_size)) + return UINT64_MAX; + // Use at least 1 MiB to keep compression ratio better. return my_max((uint64_t)(opt->dict_size) * 3, UINT64_C(1) << 20); } diff --git a/lib/liblzma/Symbol.map b/lib/liblzma/Symbol.map index 9532da0a5bde..938b6191b4f4 100644 --- a/lib/liblzma/Symbol.map +++ b/lib/liblzma/Symbol.map @@ -114,6 +114,10 @@ XZ_5.4 { lzma_str_to_filters; }; +XZ_5.6 { + lzma_mt_block_size; +}; + XZprivate_1.0 { lzma_alloc; lzma_alloc_zero; @@ -173,7 +177,6 @@ XZprivate_1.0 { lzma_mf_hc3_skip; lzma_mf_hc4_find; lzma_mf_hc4_skip; - lzma_mt_block_size; lzma_next_end; lzma_next_filter_init; lzma_next_filter_update; diff --git a/lib/liblzma/Versions.def b/lib/liblzma/Versions.def index dea89514beda..25064d9d50e7 100644 --- a/lib/liblzma/Versions.def +++ b/lib/liblzma/Versions.def @@ -8,6 +8,9 @@ XZ_5.2 { XZ_5.4 { } XZ_5.2; -XZprivate_1.0 { +XZ_5.6 { } XZ_5.4; +XZprivate_1.0 { +} XZ_5.6; + From nobody Mon Apr 8 06:49:05 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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 07:46:31 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCh472QxYz5GSQ6; Mon, 8 Apr 2024 07:46: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 4VCh471Xtyz4H4J; Mon, 8 Apr 2024 07:46:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712562391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FRh7f6nKHSrOcpcbHShECgDMBMEHhhaxvckeY5dv8Iw=; b=Gi7lVSTqFEYH+voaU7HYv4DS58IOcYlxR7fEJvG761YA+lowDYwj5RO+iqZkGU3mRhjy3M eVLo2tWNX/p0ZYrvbvQOfM0oNjLFhBx5aWdCRWsiXSOOXEV29GxQDfmBk4EkkXfnvgD+NX MQjWIV6maHFdrwIfLgn8wbQ9JF2WJDt5yfEOXEUdOrMEIdceWj3yefATLHvcH7JFU8PaUN WSglEHsfB6ZrfuDTR5u6OtiedXhcourCUsAag4oSuaicNnR/r70lWFex6w/AyXKPsfTkzk yw8jsLLqaQDPck9wq2lKGQpLPbXdStWmtpWdmkQ1SI1iQettBDkZNLiTp+7BHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712562391; a=rsa-sha256; cv=none; b=FABI+PlQsSR8e3Fk3Qs1QnbuamHhyKOunQcJ/ziEdSmpgqC+BFpAEhZrmwqVCV0daB06HR cMlO9vmZWviqKmgqNt4etWKiLyQlp2BiS8pIfl456t3CJE3lQ7CCUSkIXSNJl72iFZ56z2 afTMidhB6LEy37fJ0TCx+WgdPINJGmfYbydo/dUThUSGB7DRfQ4oZCNY0szvQGiQ0h4cz8 jEd9Y/KWRsYDyBGuhBoEZ7xTiJMgvyTDcbJJEB8Ri/1AQ71GjHsLRUGweoLbSi+xZUYEpY 2SrxwRgbNStH4Y8JdXet09iNX9ieIgShdp7CA0IpSKCxg8bS98ntMHFfYr6gYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712562391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FRh7f6nKHSrOcpcbHShECgDMBMEHhhaxvckeY5dv8Iw=; b=BEwaso/0LhAOzPDgvQzgnd4m8ZV0fpDn1OHtewEjYelgV8d7rjs79//j5/7KsqpZgDcmg8 igut+DbnSF9ofuUb9PrEKP8bCb3sS9WnFUZnF/JEglAR2AYpaya5qJwQnA/vi2ORuVdGqC hQ5auMWtzRhe4Z8oI+ioJ/yq5+JpdkLtPxVC1Y2CI98UKnf491beBFgpCapGR2990mzH86 AMYPGzTYuGI6EfIcnTTBCxmp9gskyGP7MAn1Nae6sMw1Vatv6ftXesyQ0NcpRy+JPd8W8T JBUvPJhXSCLdpekP+lRdHPHylDW/1Eo0rmuHW8YiMAfxeKv9VTFISaVVLR9dww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCh47127Gz1386; Mon, 8 Apr 2024 07:46: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 4387kVMa043412; Mon, 8 Apr 2024 07:46:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4387kVEZ043410; Mon, 8 Apr 2024 07:46:31 GMT (envelope-from git) Date: Mon, 8 Apr 2024 07:46:31 GMT Message-Id: <202404080746.4387kVEZ043410@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 928ea8066dd0 - stable/14 - Merge commit eb8f379567e8 from llvm-project (by Florian Hahn): List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 928ea8066dd0dee458633b1ebd5d0b6dcdc83357 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=928ea8066dd0dee458633b1ebd5d0b6dcdc83357 commit 928ea8066dd0dee458633b1ebd5d0b6dcdc83357 Author: Dimitry Andric AuthorDate: 2024-04-05 13:00:12 +0000 Commit: Dimitry Andric CommitDate: 2024-04-08 07:42:16 +0000 Merge commit eb8f379567e8 from llvm-project (by Florian Hahn): [DSE] Remove malloc from EarliestEscapeInfo before removing. (#84157) Not removing the malloc from earliest escape info leaves stale entries in the cache. Fixes https://github.com/llvm/llvm-project/issues/84051. PR: https://github.com/llvm/llvm-project/pull/84157 This fixes a crash in clang (usually a bus error, but can also be another memory error) when compiling the science/siconos port. PR: 278174 Reported by: yuri MFC after: 3 days (cherry picked from commit aaabed1dea7c1d16cdc5457bf6dee74164104e26) --- .../llvm-project/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/llvm-project/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp b/contrib/llvm-project/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp index d3fbe49439a8..62a9b6a41c5b 100644 --- a/contrib/llvm-project/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp +++ b/contrib/llvm-project/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp @@ -1893,6 +1893,7 @@ struct DSEState { Malloc->getArgOperand(0), IRB, TLI); if (!Calloc) return false; + MemorySSAUpdater Updater(&MSSA); auto *LastDef = cast(Updater.getMemorySSA()->getMemoryAccess(Malloc)); @@ -1901,9 +1902,8 @@ struct DSEState { LastDef); auto *NewAccessMD = cast(NewAccess); Updater.insertDef(NewAccessMD, /*RenameUses=*/true); - Updater.removeMemoryAccess(Malloc); Malloc->replaceAllUsesWith(Calloc); - Malloc->eraseFromParent(); + deleteDeadInstruction(Malloc); return true; } From nobody Mon Apr 8 07:47:10 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCh4v14TPz5GSSl; Mon, 8 Apr 2024 07:47: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 4VCh4v0Dvpz4HpJ; Mon, 8 Apr 2024 07:47:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712562431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m2Qb6TdhixpL4i0jNXtfBwnCooozW3DrQvop2cOlTqs=; b=dzgAnBOSj0eGWPwxYtwwPal2XvyvY74obc58k/veIllcV4Jw90tWkeTWRy7sgVIHV8EAlk jaRIZvcKJLiVki8fSp55h4OtdqyVM9MonEOUm5ag+WUsbhBXJJkbtMUMtwjydYNIwq2OkW E5qBPbC0zuuvvRyLcYZ/Wj+GyXdEaTt8tKE/TamgSSN+Sa3nae4xfmxNnAdNpqIh2bqnat VFh7dGG2eNp68DCP018yBk08lVSqRj/y9Q5Tq8RYAuzZl0Blb8wUpT+bj7wm5opnUPq8NN Jn6fClYtizWIWgn+rhdtRk/WXD24hu9RZoeqBUE/NrZZQBugVH/JZEYEacxrTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712562431; a=rsa-sha256; cv=none; b=qz5MoYoChxfmKXQNbHj2lN/4BX8itl5PlQ6whD1gxK78rI88nyen8EZgy7E+Zn9Uuwr5Hi zQ4a1Y5C3r24YVcR5K5ok4EIeMI/YoDa82kvikIiB3uMaaEVDe06YA5b93FY3tqfMt2SGO G7oIxEoZvu13efFC5OAHGVhRdhBOiPXPZjqfMboCi5Ihv0K97PbrbA99DVBo8RSZGYDaeB 3vq5YuCmoVto3m4lfV/gBO39PNCkhpp32DWSaP+mF/wCuuQ/yZhWHXCTFFDrUQIqqyRfNt pXRXAr7GXbVhg4GATmDO2fUGIq1M83G3XAtBU2sBO+0lsrxqPoK8vStDTS974Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712562431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m2Qb6TdhixpL4i0jNXtfBwnCooozW3DrQvop2cOlTqs=; b=cNMFOI2pWnq1F6h4nn8iTFVUI1ZPux5CF5cfSBLmfyZ6vlhbokzrRcGBplNzU8dAoOkhnm Ubr+sckPsWqiK7zcFSFizzmNQL8/DlNNw/DMKkhNGecpGU5y1VxXCr+J5HdQ29eqN+oFBw L1UN0A7xpNKYsJPc3esduXaRsbfY6enVqci2voQ6ToXNhYcKjqZB1sb/ClY7RYdMYheQ/Q ucJ6p1FFB1lfIdgl9wAcQ5N6lgVvfAW9S3cnwLZSpzTO2JWuLuuICES60o3fO4UFzfRdRL zzpU/WGwEinrLsfUGdSsTHd9QS/zEHZwW+TC9fO9nmuBvXCGIvC+hhdouqbggg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCh4t6xdgz139q; Mon, 8 Apr 2024 07:47: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 4387lAkv043665; Mon, 8 Apr 2024 07:47:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4387lAbE043662; Mon, 8 Apr 2024 07:47:10 GMT (envelope-from git) Date: Mon, 8 Apr 2024 07:47:10 GMT Message-Id: <202404080747.4387lAbE043662@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 17e32453b89d - stable/13 - Merge commit eb8f379567e8 from llvm-project (by Florian Hahn): List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 17e32453b89d48db0d2f9e8086952df7d423423c Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=17e32453b89d48db0d2f9e8086952df7d423423c commit 17e32453b89d48db0d2f9e8086952df7d423423c Author: Dimitry Andric AuthorDate: 2024-04-05 13:00:12 +0000 Commit: Dimitry Andric CommitDate: 2024-04-08 07:42:20 +0000 Merge commit eb8f379567e8 from llvm-project (by Florian Hahn): [DSE] Remove malloc from EarliestEscapeInfo before removing. (#84157) Not removing the malloc from earliest escape info leaves stale entries in the cache. Fixes https://github.com/llvm/llvm-project/issues/84051. PR: https://github.com/llvm/llvm-project/pull/84157 This fixes a crash in clang (usually a bus error, but can also be another memory error) when compiling the science/siconos port. PR: 278174 Reported by: yuri MFC after: 3 days (cherry picked from commit aaabed1dea7c1d16cdc5457bf6dee74164104e26) --- .../llvm-project/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/llvm-project/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp b/contrib/llvm-project/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp index d3fbe49439a8..62a9b6a41c5b 100644 --- a/contrib/llvm-project/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp +++ b/contrib/llvm-project/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp @@ -1893,6 +1893,7 @@ struct DSEState { Malloc->getArgOperand(0), IRB, TLI); if (!Calloc) return false; + MemorySSAUpdater Updater(&MSSA); auto *LastDef = cast(Updater.getMemorySSA()->getMemoryAccess(Malloc)); @@ -1901,9 +1902,8 @@ struct DSEState { LastDef); auto *NewAccessMD = cast(NewAccess); Updater.insertDef(NewAccessMD, /*RenameUses=*/true); - Updater.removeMemoryAccess(Malloc); Malloc->replaceAllUsesWith(Calloc); - Malloc->eraseFromParent(); + deleteDeadInstruction(Malloc); return true; } From nobody Mon Apr 8 10:11:03 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VClGv43xmz5GhrD; Mon, 8 Apr 2024 10:11:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VClGv23Mnz4VBG; Mon, 8 Apr 2024 10:11:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712571063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lsZdY5ERIUw78PsunJzO6t58G3/gwBhMp7kTthswCe4=; b=U4adsMTCnv+m2Ok7qf8jh+EpoB+vAvM11c6atMhksLQlljhmzmaZOCD8ElgY7azAWJQ2B8 PX2w+uI1QaKOn8wuqLxzxUO024GMaYXYNpaEjIJ547hRNbQB6RgcF2zLoesrjJqLM3QVOV SCgAI7KxpkYm/OMPm5rtkq7dulaeyjab7u6YzUTmT61nPKze1PLkLqAWkXsVaRSXhmJ9vV c11F0wtgkQKwtJRkcr2ZfhVVKvMZsl2sXEZ06/OWTUKtZsNJ4+AHy/+i77iteEywerNFha ZgQtgJZMrSP/7cW61NNIyZzg0tqjh2pMpGiAQwvtIE28eSye0o4tNq1dl1mHZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712571063; a=rsa-sha256; cv=none; b=PSLfm3qSljqt058Dhksl13CCczU7O3vDYtMM409mXeLo8MZE330MGfGYZSy56bLyr6PGK+ i8cxT5c/xNWNVd43Tn08Yp30w1gzNA0df4R1kxifxFg4jTHz96x0utjviExS085AGW0BlH LwsoUt7MbXWtSLRvXXEq3gUMYkViF5nhBQu/GcpUmPMftQKm2o72vn53mPj82asaNpllzs jifdiKqxYxtBklftvaz2aoqW63+h9Oq+WfPRlErkGEyy8vf8ROpPwb/OkYs83WQKUHjKSW o3EsSVUAd8gszk0oSB+bSEcYFrvr+kfUZrmyLpE7dBuirkvm6cz+vaIPKJ+FNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712571063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lsZdY5ERIUw78PsunJzO6t58G3/gwBhMp7kTthswCe4=; b=RtMwIMyOU7IYf26I9X1uMoj63X9IbO+AEU5wQL0tF/V8YYMq/0DYvA/j/sssMkbBYPZ1Ke xPJfn+n2XHqnHoLL3MUIxMSA6Fn12SubwDzrzW95iSeHw+UHVwJbRTlYfH4cjq0UrclDgF u9rKzqKi4ebjhF20td3z+YRx0q4vs7MSZfvvECWifK0ibgSHdqTTNBPTEQJ7+IloS7YLNE In7TV4ScKkVRFzIxRtAeXOetrXLiCDqszjr3/afK9ro/qVbodyxZz7pk0r1dgYCm+ENOLo ttP1S3R408mVgRRYfX5x+DAPRIpCLH9GTyt+eKsPm4QJpe5JfgbferppNVwOjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VClGv1g3Jz15v0; Mon, 8 Apr 2024 10:11: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 438AB30W091795; Mon, 8 Apr 2024 10:11:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438AB34R091792; Mon, 8 Apr 2024 10:11:03 GMT (envelope-from git) Date: Mon, 8 Apr 2024 10:11:03 GMT Message-Id: <202404081011.438AB34R091792@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 2ad8333c6534 - stable/14 - cp: Improved conformance when copying directories. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2ad8333c653432a187ccea8c6b2de4a35eb6d0ff Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=2ad8333c653432a187ccea8c6b2de4a35eb6d0ff commit 2ad8333c653432a187ccea8c6b2de4a35eb6d0ff Author: Dag-Erling Smørgrav AuthorDate: 2024-04-01 17:28:58 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-04-08 10:10:41 +0000 cp: Improved conformance when copying directories. * When copying a directory, if the destination exists and is not a directory, we would previously emit an error message and exit. The correct behavior according to POSIX is to emit an error message and continue without descending further into the source directory. * When copying a directory, if the destination does not exist and we fail to create it, we would previously emit an error message and exit. The correct behavior according to POSIX is to emit an error message and continue. Whether to descend further into the source directory is explicitly left unspecified; GNU cp does not, which seems to me to be the safer and less surprising option, so let's not either. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D44577 (cherry picked from commit dd286b0dc187c351a9537a363840245d5505b15b) cp: Correct the list of non-portable flags. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D44576 (cherry picked from commit aaa1806f68ef3102a9b888a03360f166b88618c8) --- bin/cp/cp.1 | 8 +++++--- bin/cp/cp.c | 27 ++++++++++++++++++--------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/bin/cp/cp.1 b/bin/cp/cp.1 index d8d62ef076a1..90b1a158a131 100644 --- a/bin/cp/cp.1 +++ b/bin/cp/cp.1 @@ -31,7 +31,7 @@ .\" .\" @(#)cp.1 8.3 (Berkeley) 4/18/94 .\" -.Dd December 14, 2023 +.Dd March 28, 2024 .Dt CP 1 .Os .Sh NAME @@ -311,12 +311,14 @@ differ as they copy special files as normal files while recreating a hierarchy. .Pp The +.Fl a , .Fl l , +.Fl N , +.Fl n , .Fl s , .Fl v , -.Fl x and -.Fl n +.Fl x options are non-standard and their use in scripts is not recommended. .Sh SEE ALSO .Xr mv 1 , diff --git a/bin/cp/cp.c b/bin/cp/cp.c index 852868e65dcb..af7d5ffac398 100644 --- a/bin/cp/cp.c +++ b/bin/cp/cp.c @@ -519,9 +519,13 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) * umask blocks owner writes, we fail. */ if (dne) { - if (mkdir(to.p_path, - curr->fts_statp->st_mode | S_IRWXU) < 0) - err(1, "%s", to.p_path); + mode = curr->fts_statp->st_mode | S_IRWXU; + if (mkdir(to.p_path, mode) != 0) { + warn("%s", to.p_path); + (void)fts_set(ftsp, curr, FTS_SKIP); + badcp = rval = 1; + break; + } /* * First DNE with a NULL root_stat is the root * path, so set root_stat. We can't really @@ -530,14 +534,19 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) * first directory we created and use that. */ if (root_stat == NULL && - stat(to.p_path, &created_root_stat) == -1) { - err(1, "stat"); - } else if (root_stat == NULL) { - root_stat = &created_root_stat; + stat(to.p_path, &created_root_stat) != 0) { + warn("%s", to.p_path); + (void)fts_set(ftsp, curr, FTS_SKIP); + badcp = rval = 1; + break; } + if (root_stat == NULL) + root_stat = &created_root_stat; } else if (!S_ISDIR(to_stat.st_mode)) { - errno = ENOTDIR; - err(1, "%s", to.p_path); + warnc(ENOTDIR, "%s", to.p_path); + (void)fts_set(ftsp, curr, FTS_SKIP); + badcp = rval = 1; + break; } /* * Arrange to correct directory attributes later From nobody Mon Apr 8 10:11:04 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VClGw4gbmz5Ghwv; Mon, 8 Apr 2024 10:11: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 4VClGw353Kz4V7X; Mon, 8 Apr 2024 10:11:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712571064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AtPGOb+TPU5/0bi2tPFh/GXXVXcQuIys12caUVZHGlQ=; b=IzghxJ5v80W9IkJyYyOt38+OJK2XMEC9Ibt+5LA7lu6jREtlG5njKiLV+Sg+amx/LLURUx l6niUhoL3x/kKiIp0qhmQmydeyDyWt0Zsg+gKdi3q6wr12Bq/GhIjkBpaELIUsW8hw6Kv5 0g7NXr6sCR/Dfc9qAJhPN3dkm04ICBdCCWRf4LGsOcl5dZQ1IuEyG6bGeJXBUncIWpAkx3 8urN2g0h2UqKpL8+8lFRjacmnHpTH9Tc8NGzJx++cFqVO1cIccB3WTM/JyhhPkmd/BSTIY +Gom9gjGCUCGoN3XvwcSmYrCC70SPXSyexefniS0HS1D/PI1MEBc5TpHYiHFPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712571064; a=rsa-sha256; cv=none; b=T/zNsvGfVtP9pUQC7c9GR5FknIwIkR7tke7y5WWRoftDlko05W6yqzxB3Zoaxu1a5my1I9 Et1yiniLHFtb7e/PEZRe6KjVBe/70jWUPAznCohBvDQyYl49UzGei0GLWFVhluKZjsu5PU oceFIJ0v6pff5L4Zf6oaF1sc/jpOMGcSQLHF8L08PaCXsZoiX9S9GaxervYBBCqW/6SSmI N0zWmITvUQXnFuhq1kSpcHSEKg7voGxBgf2QgQ8H1beRQZTU78xuteViQGXAb9la9W1v0T FMDqLlOsWm6l/mglrKgkJcUhqct8epNQi0oqZFbO966zZm6HEylrwD8DUN320Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712571064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AtPGOb+TPU5/0bi2tPFh/GXXVXcQuIys12caUVZHGlQ=; b=ZdhJqiu4CkV6Zzy9QHaw5BvBCRRQtKTFw7KIIMbWmjEagz+U548tLv7n1pawYLRbH0TRa1 a8ROfjAJEodXbsMk0tR9xO/BbF+u5pYWfr0JEgXn31kgt3+uKXx8jltoYQ8q9OoU0jE4ph DcbSRNq/p3zo07kYexqT4ssUdJbVk4ZyhHf3FNPSpmo3T8LZBKxQ8tmkDtijizSLYcTwVY syTxYZdJJRQ/hLkBT1a4mz1mQP7w9UscAa/7tzXSM589O9AfobOwBqtN/jNVUr5Z/1UOec A1DD2qnLHW0WWjYN9v+XXO7H2jlVWnTRCcxG2ZBVlpe7aQ7w4/SZrnb2aBwXpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VClGw2ffqz16ch; Mon, 8 Apr 2024 10:11: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 438AB4WK091849; Mon, 8 Apr 2024 10:11:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438AB4EE091846; Mon, 8 Apr 2024 10:11:04 GMT (envelope-from git) Date: Mon, 8 Apr 2024 10:11:04 GMT Message-Id: <202404081011.438AB4EE091846@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 59c3e7a18c7c - stable/14 - tarfs: Support paths that spill into exthdrs. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 59c3e7a18c7c1795f90705a3d9d6d5d7480b7364 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=59c3e7a18c7c1795f90705a3d9d6d5d7480b7364 commit 59c3e7a18c7c1795f90705a3d9d6d5d7480b7364 Author: Dag-Erling Smørgrav AuthorDate: 2024-04-03 09:55:01 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-04-08 10:10:41 +0000 tarfs: Support paths that spill into exthdrs. MFC after: 3 days Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D44599 (cherry picked from commit b1fd95c9e24791d44593e611406b41e57826a5b8) tarfs: Ignore global extended headers. Previously, we would error out if we encountered a global extended header, because we don't know what it means. This doesn't really matter though, and traditionally, tar implementations have either ignored them or treated them as plain files, so just ignore them. This allows tarfs to mount tar files created by `git archive`. MFC after: 3 days Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D44600 (cherry picked from commit 584e1c355ae3c994331005b7196cc87a714e5317) tarfs: Fix 32-bit build. MFC after: 3 days Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D44613 (cherry picked from commit 0238d3711d9b888f678fce4274eccc9175168395) --- sys/fs/tarfs/tarfs_vfsops.c | 28 +++++++++------ tests/sys/fs/tarfs/tarfs_test.sh | 74 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 11 deletions(-) diff --git a/sys/fs/tarfs/tarfs_vfsops.c b/sys/fs/tarfs/tarfs_vfsops.c index d1af7070e706..365234113168 100644 --- a/sys/fs/tarfs/tarfs_vfsops.c +++ b/sys/fs/tarfs/tarfs_vfsops.c @@ -80,7 +80,7 @@ struct ustar_header { CTASSERT(sizeof(struct ustar_header) == TARFS_BLOCKSIZE); -#define TAR_EOF ((off_t)-1) +#define TAR_EOF ((size_t)-1) #define TAR_TYPE_FILE '0' #define TAR_TYPE_HARDLINK '1' @@ -430,13 +430,13 @@ tarfs_free_mount(struct tarfs_mount *tmp) * failure. */ static int -tarfs_alloc_one(struct tarfs_mount *tmp, off_t *blknump) +tarfs_alloc_one(struct tarfs_mount *tmp, size_t *blknump) { char block[TARFS_BLOCKSIZE]; struct ustar_header *hdrp = (struct ustar_header *)block; struct sbuf *namebuf = NULL; char *exthdr = NULL, *name = NULL, *link = NULL; - off_t blknum = *blknump; + size_t blknum = *blknump; int64_t num; int endmarker = 0; char *namep, *sep; @@ -553,13 +553,14 @@ again: TARFS_DPF(ALLOC, "%s: [%c] %zu @%jd %o %d:%d\n", __func__, hdrp->typeflag[0], sz, (intmax_t)mtime, mode, uid, gid); - /* extended header? */ + /* global extended header? */ if (hdrp->typeflag[0] == TAR_TYPE_GLOBAL_EXTHDR) { - printf("%s: unsupported global extended header at %zu\n", - __func__, (size_t)(TARFS_BLOCKSIZE * (blknum - 1))); - error = EFTYPE; - goto bad; + TARFS_DPF(ALLOC, "%s: %zu-byte global extended header at %zu\n", + __func__, sz, TARFS_BLOCKSIZE * (blknum - 1)); + goto skip; } + + /* extended header? */ if (hdrp->typeflag[0] == TAR_TYPE_EXTHDR) { if (exthdr != NULL) { TARFS_DPF(IO, "%s: multiple extended headers at %zu\n", @@ -568,7 +569,7 @@ again: goto bad; } /* read the contents of the exthdr */ - TARFS_DPF(ALLOC, "%s: %zu-byte extended header at %zd\n", + TARFS_DPF(ALLOC, "%s: %zu-byte extended header at %zu\n", __func__, sz, TARFS_BLOCKSIZE * (blknum - 1)); exthdr = malloc(sz, M_TEMP, M_WAITOK); res = tarfs_io_read_buf(tmp, false, exthdr, @@ -614,7 +615,10 @@ again: value = sep + 1; TARFS_DPF(ALLOC, "%s: exthdr %s=%s\n", __func__, key, value); - if (strcmp(key, "linkpath") == 0) { + if (strcmp(key, "path") == 0) { + name = value; + namelen = eol - value; + } else if (strcmp(key, "linkpath") == 0) { link = value; linklen = eol - value; } else if (strcmp(key, "GNU.sparse.major") == 0) { @@ -857,7 +861,7 @@ tarfs_alloc_mount(struct mount *mp, struct vnode *vp, struct thread *td = curthread; struct tarfs_mount *tmp; struct tarfs_node *root; - off_t blknum; + size_t blknum; time_t mtime; int error; @@ -905,6 +909,8 @@ tarfs_alloc_mount(struct mount *mp, struct vnode *vp, blknum = 0; do { if ((error = tarfs_alloc_one(tmp, &blknum)) != 0) { + printf("unsupported or corrupt tar file at %zu\n", + TARFS_BLOCKSIZE * blknum); goto bad; } } while (blknum != TAR_EOF); diff --git a/tests/sys/fs/tarfs/tarfs_test.sh b/tests/sys/fs/tarfs/tarfs_test.sh index 2a5dfc434201..f1322033fbad 100644 --- a/tests/sys/fs/tarfs/tarfs_test.sh +++ b/tests/sys/fs/tarfs/tarfs_test.sh @@ -309,6 +309,77 @@ tarfs_checksum_cleanup() { tarfs_cleanup } +atf_test_case tarfs_long_names cleanup +tarfs_long_names_head() { + atf_set "descr" "Verify that tarfs supports long file names" + atf_set "require.user" "root" +} +tarfs_long_names_body() { + tarfs_setup + local a b c d e + a="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + b="bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" + c="cccccccccccccccccccccccccccccccccccccccc" + d="dddddddddddddddddddddddddddddddddddddddd" + e="eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" + mkdir -p "${a}" + touch "${a}/${b}_${c}_${d}_${e}_foo" + ln "${a}/${b}_${c}_${d}_${e}_foo" "${a}/${b}_${c}_${d}_${e}_bar" + ln -s "${b}_${c}_${d}_${e}_bar" "${a}/${b}_${c}_${d}_${e}_baz" + tar -cf tarfs_long_names.tar "${a}" + atf_check mount -rt tarfs tarfs_long_names.tar "${mnt}" +} +tarfs_long_names_cleanup() { + tarfs_cleanup +} + +atf_test_case tarfs_long_paths cleanup +tarfs_long_paths_head() { + atf_set "descr" "Verify that tarfs supports long paths" + atf_set "require.user" "root" +} +tarfs_long_paths_body() { + tarfs_setup + local a b c d e + a="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + b="bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" + c="cccccccccccccccccccccccccccccccccccccccc" + d="dddddddddddddddddddddddddddddddddddddddd" + e="eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" + mkdir -p "${a}/${b}/${c}/${d}/${e}" + touch "${a}/${b}/${c}/${d}/${e}/foo" + ln "${a}/${b}/${c}/${d}/${e}/foo" "${a}/${b}/${c}/${d}/${e}/bar" + ln -s "${b}/${c}/${d}/${e}/bar" "${a}/baz" + tar -cf tarfs_long_paths.tar "${a}" + atf_check mount -rt tarfs tarfs_long_paths.tar "${mnt}" +} +tarfs_long_paths_cleanup() { + tarfs_cleanup +} + +atf_test_case tarfs_git_archive cleanup +tarfs_git_archive_head() { + atf_set "descr" "Verify that tarfs supports archives created by git" + atf_set "require.user" "root" + atf_set "require.progs" "git" +} +tarfs_git_archive_body() { + tarfs_setup + mkdir foo + echo "Hello, world!" >foo/bar + git -C foo init --initial-branch=tarfs + git -C foo config user.name "File System" + git -C foo config user.email fs@freebsd.org + git -C foo add bar + git -C foo commit -m bar + git -C foo archive --output=../tarfs_git_archive.tar HEAD + atf_check mount -rt tarfs tarfs_git_archive.tar "${mnt}" + atf_check -o file:foo/bar cat "${mnt}"/bar +} +tarfs_git_archive_cleanup() { + tarfs_cleanup +} + atf_init_test_cases() { atf_add_test_case tarfs_basic atf_add_test_case tarfs_basic_gnu @@ -324,4 +395,7 @@ atf_init_test_cases() { atf_add_test_case tarfs_linktodir atf_add_test_case tarfs_linktononexistent atf_add_test_case tarfs_checksum + atf_add_test_case tarfs_long_names + atf_add_test_case tarfs_long_paths + atf_add_test_case tarfs_git_archive } From nobody Mon Apr 8 10:11:05 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VClGx70fxz5Gj4k; Mon, 8 Apr 2024 10:11: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 4VClGx3xSbz4VMr; Mon, 8 Apr 2024 10:11:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712571065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CCEy2eUy7EuQ4txAKI8H12nY9jdVQJDsYi7AtbrOqVQ=; b=GNzHgpjbxV0ZXfGBxJSS1aLeuJNzNxxnmB9SkpqBOy/c9iSatq7AfudnIbE49JeB2kTVMY OOg2WI1lqGZCKFV48huAeKHtyJ6mSltwRY/l99+DbbDvrIUc0deI0U5r/YUoCDCc9rKcvP 3wGnDYhULDdc3+xEVBdxYA21do1bfiDNR3HZ9Ng9k/a1Eh6S950uvWgAaE5r/YQ5A8DL3I QBKZZQB5frskGoAxDt+1vX9BbTkTcTeWatWwF9KMdU3AMZGqv2BOAL0l6IoDOHZcAMAMjx lD4yRlJoz1xuAbP3jmI0SDBM29k8xwMUxzPqimrHSxx0b657xfiPfeGMNq7x8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712571065; a=rsa-sha256; cv=none; b=I4OOda7Y1WLBh8ZtTCGWzFRkiNSaj7z+QPTjEI7IWpav0JkbVuBvtbeWvdFVz+b1o+0yAM ox8L63rSG6oLJzLFwWDpkzoAt57j+qGt9Ney4cngn1uDXoRG7mNqegHa36ibMKvar4SHJ4 NXpee2CX+gv1Z0yu0BGy7Hky5pcoijpgUCXkPqQbQbeybQ8TB0L22zLRIFKPc/YgmMXDsK vvZzwuBqh7vQJaITpbf92AxL3g7oTZFGpnr7/39gWoGJq0VWDMFIzXhwvQ3JY72eBLAJku ++DYnAQc2zz/12WD20KmlqrxrQ7YzPGAlEUJ06XNYJWNpwqbIFUPhzN7tzMa2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712571065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CCEy2eUy7EuQ4txAKI8H12nY9jdVQJDsYi7AtbrOqVQ=; b=erbklC6tSuiB3OXOZhAFvBuRXSThWDIokwSAGdIWKbIXOVlGu/ZwaK5OSoj32FWU5ZjbJ0 NG7fuYgZBNLY9m4b9dSHP6v2x7iftsRCQv3L9Ig1DHojbrX5r+4e4puESvrpp+Tzbhd4dD DqHUPCOaR1qRtvscSyCGPeh0FLxOzQpfQrmpEhned5aPOD9MDEeou0R69P+AJlrR8RbQm+ UllnK6QGhiZ0bGs33F/sSwedv1Wur0gP535oNrHeGKkjRK0PdxdQVjDpexemtBndcctjQF JVxArnNW2FzxScXt1gtoLlh1Rid3veHL8kAyxasU7P/vBtVUU6ZwcGE4mVa49g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VClGx3MVyz16BT; Mon, 8 Apr 2024 10:11: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 438AB5ro091897; Mon, 8 Apr 2024 10:11:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438AB5LV091894; Mon, 8 Apr 2024 10:11:05 GMT (envelope-from git) Date: Mon, 8 Apr 2024 10:11:05 GMT Message-Id: <202404081011.438AB5LV091894@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: e9ab8b45822f - stable/14 - ln: Improve link(1) variant of ln(1). List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e9ab8b45822f30173c408480e8df975084135731 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e9ab8b45822f30173c408480e8df975084135731 commit e9ab8b45822f30173c408480e8df975084135731 Author: Dag-Erling Smørgrav AuthorDate: 2024-04-04 14:14:50 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-04-08 10:10:41 +0000 ln: Improve link(1) variant of ln(1). * Give link(1) its own usage message. * Use getprogname(3) instead of rolling our own. * Verify that the target file does not already exist. * Add tests specific to link(1). MFC after: 3 days Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D44635 (cherry picked from commit bee7cf9e97f6d7bdc918421a93270fa88659808b) --- bin/ln/ln.c | 32 +++++++++++++++--------- bin/ln/tests/ln_test.sh | 65 ++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 83 insertions(+), 14 deletions(-) diff --git a/bin/ln/ln.c b/bin/ln/ln.c index a0e19d702dea..3919494c3d4c 100644 --- a/bin/ln/ln.c +++ b/bin/ln/ln.c @@ -67,13 +67,14 @@ static bool wflag; /* Warn if symlink target does not static char linkch; static int linkit(const char *, const char *, bool); +static void link_usage(void) __dead2; static void usage(void) __dead2; int main(int argc, char *argv[]) { struct stat sb; - char *p, *targetdir; + char *targetdir; int ch, exitval; /* @@ -81,17 +82,20 @@ main(int argc, char *argv[]) * "link", for which the functionality provided is greatly * simplified. */ - if ((p = strrchr(argv[0], '/')) == NULL) - p = argv[0]; - else - ++p; - if (strcmp(p, "link") == 0) { + if (strcmp(getprogname(), "link") == 0) { while (getopt(argc, argv, "") != -1) - usage(); + link_usage(); argc -= optind; argv += optind; if (argc != 2) - usage(); + link_usage(); + if (lstat(argv[1], &sb) == 0) + errc(1, EEXIST, "%s", argv[1]); + /* + * We could simply call link(2) here, but linkit() + * performs additional checks and gives better + * diagnostics. + */ exit(linkit(argv[0], argv[1], false)); } @@ -349,12 +353,18 @@ linkit(const char *source, const char *target, bool isdir) return (0); } +static void +link_usage(void) +{ + (void)fprintf(stderr, "usage: link source_file target_file\n"); + exit(1); +} + static void usage(void) { - (void)fprintf(stderr, "%s\n%s\n%s\n", + (void)fprintf(stderr, "%s\n%s\n", "usage: ln [-s [-F] | -L | -P] [-f | -i] [-hnv] source_file [target_file]", - " ln [-s [-F] | -L | -P] [-f | -i] [-hnv] source_file ... target_dir", - " link source_file target_file"); + " ln [-s [-F] | -L | -P] [-f | -i] [-hnv] source_file ... target_dir"); exit(1); } diff --git a/bin/ln/tests/ln_test.sh b/bin/ln/tests/ln_test.sh index 8e5dcf81e61f..82bc556842d8 100644 --- a/bin/ln/tests/ln_test.sh +++ b/bin/ln/tests/ln_test.sh @@ -90,7 +90,7 @@ target_exists_hard_body() { atf_check touch A B atf_check -s exit:1 -e inline:'ln: B: File exists\n' \ - ln A B + ln A B } atf_test_case target_exists_symbolic @@ -103,7 +103,7 @@ target_exists_symbolic_body() { atf_check touch A B atf_check -s exit:1 -e inline:'ln: B: File exists\n' \ - ln -s A B + ln -s A B } atf_test_case shf_flag_dir @@ -210,10 +210,65 @@ sw_flag_head() sw_flag_body() { atf_check -s exit:0 -e inline:'ln: warning: A: No such file or directory\n' \ - ln -sw A B + ln -sw A B atf_check_symlink_to A B } +atf_test_case link_argc +link_argc_head() { + atf_set "descr" "Verify that link(1) requires exactly two arguments" +} +link_argc_body() { + atf_check -s exit:1 -e match:"usage: link" \ + link foo + atf_check -s exit:1 -e match:"No such file" \ + link foo bar + atf_check -s exit:1 -e match:"No such file" \ + link -- foo bar + atf_check -s exit:1 -e match:"usage: link" \ + link foo bar baz +} + +atf_test_case link_basic +link_basic_head() { + atf_set "descr" "Verify that link(1) creates a link" +} +link_basic_body() { + touch foo + atf_check link foo bar + atf_check_same_file foo bar + rm bar + ln -s foo bar + atf_check link bar baz + atf_check_same_file foo baz +} + +atf_test_case link_eexist +link_eexist_head() { + atf_set "descr" "Verify that link(1) fails if the target exists" +} +link_eexist_body() { + touch foo bar + atf_check -s exit:1 -e match:"bar.*exists" \ + link foo bar + ln -s non-existent baz + atf_check -s exit:1 -e match:"baz.*exists" \ + link foo baz +} + +atf_test_case link_eisdir +link_eisdir_head() { + atf_set "descr" "Verify that link(1) fails if the source is a directory" +} +link_eisdir_body() { + mkdir foo + atf_check -s exit:1 -e match:"foo.*directory" \ + link foo bar + ln -s foo bar + atf_check -s exit:1 -e match:"bar.*directory" \ + link bar baz +} + atf_init_test_cases() { atf_add_test_case L_flag @@ -229,4 +284,8 @@ atf_init_test_cases() atf_add_test_case s_flag atf_add_test_case s_flag_broken atf_add_test_case sw_flag + atf_add_test_case link_argc + atf_add_test_case link_basic + atf_add_test_case link_eexist + atf_add_test_case link_eisdir } From nobody Mon Apr 8 10:11:41 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VClHd516hz5GjQW; Mon, 8 Apr 2024 10:11: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 4VClHd3Z5bz4WNn; Mon, 8 Apr 2024 10:11:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712571101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JlKHBr4NFyPm7k1Hjxl2YpF7yUod0MnAaeHwwCxuo2s=; b=VvVr8cbpLLYNYNyiudhsC0/SKSQqksKjW2Xa1s5L2JMDlFytscLsBlH0ZpSYPhAAcidU7Z 8GYYfxM/z19fdhRcHHMlOnWKZ3LuJrxid2wXprnexwlgnTQGcfdAxE+EaQATKJZH/iF8hh 2h+49aNJlZ10DnM8qnGjfc5ctSFd8mnp/L7u9azK47EFjmtnR1UPCq8OIirsKY6iuR6E4q qpGjPrHSC61Y8lyjD+BtB53JFJTuw1lGGpnzKL6FGF69KE7+8qdfmsbMwwEzsL+5+FhUi8 S/bfZK39iE9e92+cZZGSPGwqBKhuOsqI39lITgN9qcmxsedL/aXH/1tmZIIlCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712571101; a=rsa-sha256; cv=none; b=eSo9ul9fXwdCdww4m9J5v+VPpMVtHLg4Dwn+wCpiZKQTzbzc/UTbq8SYnR/Q5foG1kcL7L u7s2HycLYQxZLgvflroY6EqW0i/gotNtVrSrMjQ/s9PrRSdMzDFLttweZnAslyV5X+Dzpr mfKonxHDG5bRBy6farfk8pEUC5IHjlE3EzUNraYUxHnYKpmGsOoN12v2hQkby5D64qbkl5 cKzguMpznNZe1jhLUZ7QU4ExD5afWY/fKRV0AFlUzpKJFzS1FLDaMAvoshW1idlGI3GWIQ 4JTWLDxokKHFPWQiQytQx2tA//FxOAE9WhE0+PM6n/RMVunSp2fBmVMC0PK6rA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712571101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JlKHBr4NFyPm7k1Hjxl2YpF7yUod0MnAaeHwwCxuo2s=; b=i3yMNJbroBHKy88BO71YSALw8lFcE0zP6t3XJ/pOmT520c99TnpBR+BqBSEoA5qubUeHpc ZNvgGipWHABxhApJVJA8nq1shYyCEDZMPm5yQeBHxECmbJXm2dXOMhCXfzuHBtmddKfpVT 8dqlSJ6YYUvhL/ooBfHr+QBXUVGulR25rZIWiMa/Li/VpY1Q292GArRk6IN6uAbPk/7MkU V0tGMmZpYuJ9059icBFDGd/h1DKZodILCrfWlACVwygznWCG5STDPEGgyITIBgshqhcDqo eEN3U7z+pOUw8f6q6dDe6JiNNAKx1sfW+vGSDNSQTep6TCW2RB5a0WSQcGcipg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VClHd39hbz15vD; Mon, 8 Apr 2024 10:11: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 438ABfXL093368; Mon, 8 Apr 2024 10:11:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438ABf6B093365; Mon, 8 Apr 2024 10:11:41 GMT (envelope-from git) Date: Mon, 8 Apr 2024 10:11:41 GMT Message-Id: <202404081011.438ABf6B093365@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 39d543db53a4 - stable/13 - cp: Improved conformance when copying directories. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 39d543db53a456d97e3dec12b22ac191360b8866 Auto-Submitted: auto-generated The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=39d543db53a456d97e3dec12b22ac191360b8866 commit 39d543db53a456d97e3dec12b22ac191360b8866 Author: Dag-Erling Smørgrav AuthorDate: 2024-04-01 17:28:58 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-04-08 10:10:14 +0000 cp: Improved conformance when copying directories. * When copying a directory, if the destination exists and is not a directory, we would previously emit an error message and exit. The correct behavior according to POSIX is to emit an error message and continue without descending further into the source directory. * When copying a directory, if the destination does not exist and we fail to create it, we would previously emit an error message and exit. The correct behavior according to POSIX is to emit an error message and continue. Whether to descend further into the source directory is explicitly left unspecified; GNU cp does not, which seems to me to be the safer and less surprising option, so let's not either. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D44577 (cherry picked from commit dd286b0dc187c351a9537a363840245d5505b15b) cp: Correct the list of non-portable flags. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D44576 (cherry picked from commit aaa1806f68ef3102a9b888a03360f166b88618c8) --- bin/cp/cp.1 | 8 +++++--- bin/cp/cp.c | 27 ++++++++++++++++++--------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/bin/cp/cp.1 b/bin/cp/cp.1 index d8d62ef076a1..90b1a158a131 100644 --- a/bin/cp/cp.1 +++ b/bin/cp/cp.1 @@ -31,7 +31,7 @@ .\" .\" @(#)cp.1 8.3 (Berkeley) 4/18/94 .\" -.Dd December 14, 2023 +.Dd March 28, 2024 .Dt CP 1 .Os .Sh NAME @@ -311,12 +311,14 @@ differ as they copy special files as normal files while recreating a hierarchy. .Pp The +.Fl a , .Fl l , +.Fl N , +.Fl n , .Fl s , .Fl v , -.Fl x and -.Fl n +.Fl x options are non-standard and their use in scripts is not recommended. .Sh SEE ALSO .Xr mv 1 , diff --git a/bin/cp/cp.c b/bin/cp/cp.c index 852868e65dcb..af7d5ffac398 100644 --- a/bin/cp/cp.c +++ b/bin/cp/cp.c @@ -519,9 +519,13 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) * umask blocks owner writes, we fail. */ if (dne) { - if (mkdir(to.p_path, - curr->fts_statp->st_mode | S_IRWXU) < 0) - err(1, "%s", to.p_path); + mode = curr->fts_statp->st_mode | S_IRWXU; + if (mkdir(to.p_path, mode) != 0) { + warn("%s", to.p_path); + (void)fts_set(ftsp, curr, FTS_SKIP); + badcp = rval = 1; + break; + } /* * First DNE with a NULL root_stat is the root * path, so set root_stat. We can't really @@ -530,14 +534,19 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) * first directory we created and use that. */ if (root_stat == NULL && - stat(to.p_path, &created_root_stat) == -1) { - err(1, "stat"); - } else if (root_stat == NULL) { - root_stat = &created_root_stat; + stat(to.p_path, &created_root_stat) != 0) { + warn("%s", to.p_path); + (void)fts_set(ftsp, curr, FTS_SKIP); + badcp = rval = 1; + break; } + if (root_stat == NULL) + root_stat = &created_root_stat; } else if (!S_ISDIR(to_stat.st_mode)) { - errno = ENOTDIR; - err(1, "%s", to.p_path); + warnc(ENOTDIR, "%s", to.p_path); + (void)fts_set(ftsp, curr, FTS_SKIP); + badcp = rval = 1; + break; } /* * Arrange to correct directory attributes later From nobody Mon Apr 8 10:11:42 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VClHg0HqMz5GjSg; Mon, 8 Apr 2024 10:11: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 4VClHf4WGPz4WJq; Mon, 8 Apr 2024 10:11:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712571102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YuFr8oPzh7YJkPmOix+lXv+e9nsZg9egeISRmKoBOi8=; b=I1MOsueTjzD8AyY/GtNBmDfnhRzyhJRuaAWfVV1aTQufn0Fqdt4BrQN/aRoX9r/TjZQLzy GERolG2eTyVdIgd2DQUomQLNPHYxIP6OMDniI1aDrUA89MV3P2P9JqsZD/ys7l+GHVpp3d lE6yxoXTyvE4yu+QfEH06s4x90W35HYeUIEOMe/8YmGSoA1HMd2jhrYG2f1pilBd6TjKJM VDdG8be2MkvmCI/+I/+yxZWV4IXx5/HSuwIRjWlgSun0tbrl0SF5YlUJs6ewscUSFyFHyz nbcyYtAFfT1DR5njU81sg86fML7HLZzRxSkiyBe79zUOacH9m304FLXdhqlByQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712571102; a=rsa-sha256; cv=none; b=JJEbKWiTLeVAuyknbrz6gGRPiOkiuaDVGmvdss6CZPmde3NSrTduz/BnGaCRabYT23sbng Zp7zU0Tyf6bOvN5Jiipq4rTQSZ6Fa/8f7V0XXJpmW1lyLs4M4lYqBw7OySXQN8NrIsUe/5 bZdT7REU7zpmpFflRz36hLECrEwhpBDHdNOTFKyMmVl+1mIDRxLLiuGSv0CqrEsPRo7UN7 rzLxHycpeT4IWvyXojvThRx/RO3UeyhLtYPMfwA3kmaJ2G4Sghyv+LTV/W656OrN8XqwJs dK11dE1uk6QdrgU5aQffS/sp3Ng6MBuXKDQ6hMeOawJwFa8gzayLNC0BzqJS7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712571102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YuFr8oPzh7YJkPmOix+lXv+e9nsZg9egeISRmKoBOi8=; b=RG8smckG3EjEcpBfxf9oh9Oxk4DtUhQDOtr5a2Y2qIcvfnaBt9MNLoEIO/nB/BqfOF3t1U 7pAQrslW8UkEnZ8IKYgRYBA0D3i7u1oSKgmpeaKa6EpSgbbjvuQWURkKK4mOFHtOQ/HrMZ URDLVBHk0burlKlgSexqV86pUP/y17KbPB5VWMwDQ3MRAZoDvuKU/h4w/21N9bfQRwdwWf 1oyd8bFAyMkziIGlaBV8Uu/Qfv0T9r+Ew2KMYn+wDplxpPvtjLFyvnVJYURQfwte89oJe1 tlWtkmN+fw48MtfyALFRC3p+i7Ch0sfIcD9UrM0GspKrsIaD46HUmza2XO9fNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VClHf46zSz16sN; Mon, 8 Apr 2024 10:11: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 438ABgId093417; Mon, 8 Apr 2024 10:11:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438ABgHf093414; Mon, 8 Apr 2024 10:11:42 GMT (envelope-from git) Date: Mon, 8 Apr 2024 10:11:42 GMT Message-Id: <202404081011.438ABgHf093414@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: dc0087a3aa78 - stable/13 - ln: Improve link(1) variant of ln(1). List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: dc0087a3aa788dbee4f3b4ab0270fdbb48bc20c9 Auto-Submitted: auto-generated The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=dc0087a3aa788dbee4f3b4ab0270fdbb48bc20c9 commit dc0087a3aa788dbee4f3b4ab0270fdbb48bc20c9 Author: Dag-Erling Smørgrav AuthorDate: 2024-04-04 14:14:50 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-04-08 10:10:15 +0000 ln: Improve link(1) variant of ln(1). * Give link(1) its own usage message. * Use getprogname(3) instead of rolling our own. * Verify that the target file does not already exist. * Add tests specific to link(1). MFC after: 3 days Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D44635 (cherry picked from commit bee7cf9e97f6d7bdc918421a93270fa88659808b) --- bin/ln/ln.c | 32 +++++++++++++++--------- bin/ln/tests/ln_test.sh | 65 ++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 83 insertions(+), 14 deletions(-) diff --git a/bin/ln/ln.c b/bin/ln/ln.c index a0e19d702dea..3919494c3d4c 100644 --- a/bin/ln/ln.c +++ b/bin/ln/ln.c @@ -67,13 +67,14 @@ static bool wflag; /* Warn if symlink target does not static char linkch; static int linkit(const char *, const char *, bool); +static void link_usage(void) __dead2; static void usage(void) __dead2; int main(int argc, char *argv[]) { struct stat sb; - char *p, *targetdir; + char *targetdir; int ch, exitval; /* @@ -81,17 +82,20 @@ main(int argc, char *argv[]) * "link", for which the functionality provided is greatly * simplified. */ - if ((p = strrchr(argv[0], '/')) == NULL) - p = argv[0]; - else - ++p; - if (strcmp(p, "link") == 0) { + if (strcmp(getprogname(), "link") == 0) { while (getopt(argc, argv, "") != -1) - usage(); + link_usage(); argc -= optind; argv += optind; if (argc != 2) - usage(); + link_usage(); + if (lstat(argv[1], &sb) == 0) + errc(1, EEXIST, "%s", argv[1]); + /* + * We could simply call link(2) here, but linkit() + * performs additional checks and gives better + * diagnostics. + */ exit(linkit(argv[0], argv[1], false)); } @@ -349,12 +353,18 @@ linkit(const char *source, const char *target, bool isdir) return (0); } +static void +link_usage(void) +{ + (void)fprintf(stderr, "usage: link source_file target_file\n"); + exit(1); +} + static void usage(void) { - (void)fprintf(stderr, "%s\n%s\n%s\n", + (void)fprintf(stderr, "%s\n%s\n", "usage: ln [-s [-F] | -L | -P] [-f | -i] [-hnv] source_file [target_file]", - " ln [-s [-F] | -L | -P] [-f | -i] [-hnv] source_file ... target_dir", - " link source_file target_file"); + " ln [-s [-F] | -L | -P] [-f | -i] [-hnv] source_file ... target_dir"); exit(1); } diff --git a/bin/ln/tests/ln_test.sh b/bin/ln/tests/ln_test.sh index 8e5dcf81e61f..82bc556842d8 100644 --- a/bin/ln/tests/ln_test.sh +++ b/bin/ln/tests/ln_test.sh @@ -90,7 +90,7 @@ target_exists_hard_body() { atf_check touch A B atf_check -s exit:1 -e inline:'ln: B: File exists\n' \ - ln A B + ln A B } atf_test_case target_exists_symbolic @@ -103,7 +103,7 @@ target_exists_symbolic_body() { atf_check touch A B atf_check -s exit:1 -e inline:'ln: B: File exists\n' \ - ln -s A B + ln -s A B } atf_test_case shf_flag_dir @@ -210,10 +210,65 @@ sw_flag_head() sw_flag_body() { atf_check -s exit:0 -e inline:'ln: warning: A: No such file or directory\n' \ - ln -sw A B + ln -sw A B atf_check_symlink_to A B } +atf_test_case link_argc +link_argc_head() { + atf_set "descr" "Verify that link(1) requires exactly two arguments" +} +link_argc_body() { + atf_check -s exit:1 -e match:"usage: link" \ + link foo + atf_check -s exit:1 -e match:"No such file" \ + link foo bar + atf_check -s exit:1 -e match:"No such file" \ + link -- foo bar + atf_check -s exit:1 -e match:"usage: link" \ + link foo bar baz +} + +atf_test_case link_basic +link_basic_head() { + atf_set "descr" "Verify that link(1) creates a link" +} +link_basic_body() { + touch foo + atf_check link foo bar + atf_check_same_file foo bar + rm bar + ln -s foo bar + atf_check link bar baz + atf_check_same_file foo baz +} + +atf_test_case link_eexist +link_eexist_head() { + atf_set "descr" "Verify that link(1) fails if the target exists" +} +link_eexist_body() { + touch foo bar + atf_check -s exit:1 -e match:"bar.*exists" \ + link foo bar + ln -s non-existent baz + atf_check -s exit:1 -e match:"baz.*exists" \ + link foo baz +} + +atf_test_case link_eisdir +link_eisdir_head() { + atf_set "descr" "Verify that link(1) fails if the source is a directory" +} +link_eisdir_body() { + mkdir foo + atf_check -s exit:1 -e match:"foo.*directory" \ + link foo bar + ln -s foo bar + atf_check -s exit:1 -e match:"bar.*directory" \ + link bar baz +} + atf_init_test_cases() { atf_add_test_case L_flag @@ -229,4 +284,8 @@ atf_init_test_cases() atf_add_test_case s_flag atf_add_test_case s_flag_broken atf_add_test_case sw_flag + atf_add_test_case link_argc + atf_add_test_case link_basic + atf_add_test_case link_eexist + atf_add_test_case link_eisdir } From nobody Mon Apr 8 13:14:33 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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 13:15:43 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCqMz5C7Lz5H1Xc; Mon, 8 Apr 2024 13:15:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VCqMz4rVyz4rlT; Mon, 8 Apr 2024 13:15:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712582143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rUUgWDt2CHJvICvXafGCqujTBOTlncE+REsFa6dFew0=; b=nKrl7I66gGQu9tceiWAUtuetrvXF1TJOYlUAaHAGrNnxdflYe6MgJ/9zhMJOGnIKeqDbDB z9GLokweBmfSQ9NtQS+CgTLyTogMxKN7ea38TCKqG4W3mjozp3vjokxU1qQaDbrgymF+4b DCTDZ736ZlYJBMaaSzMS9B/rc0smxmoSq8oLqgNLuMtKtWuIE5EQb5uMCgUJTA45MPtKbC 6xjQ+MlJKM8YZQlI9PTvNgeg0xMVcrrodqH5v5CU80cqymvE69yRY3NQBrzp0+s44kApA7 ZDTfRVbSayV8GpRyC7BHEdnfKEt2egv6SEHjFcP+gYzWVF7TvJcOHvNIVgRsjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712582143; a=rsa-sha256; cv=none; b=XD28vU/0iDWMbZQ64xX7md/Cwkp5Vcf6lcvDPCBDr2/t2v99myyvl0vI/+pTZqwgDJIUQy 2m9XHwRBvu8QoEeziXiKeAIIeF2W9OA+LHqbrj3Md31QPVvnp2X2bwg0MXFroLIPeUPHyY Rn3IlLlWEb0RKS0wkcoAWCJ7+1DqqXu3++vRQpwu/QCBN5UMTvqeVtfvG9F8vNdWW6JTPH 9o8N/l/D852CTBbk2y2d9fM3celntu0VkH4mm871lVIqLjtbPb/Bnu6KjJeOwCYPPu8Qx0 zi1KQ8tKicoyAZzeLp4vqLXwTBQd4XH55hhDBkeDDjueIv5ICJtREjKlDg0mMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712582143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rUUgWDt2CHJvICvXafGCqujTBOTlncE+REsFa6dFew0=; b=krk3XlgmIwJ5LZEJ/IHOL2o35T+ov/c30PsvtmM/YdHGLrdkVGJmbSMGdlHx0a9gCQWSlk wtYh0GAq1XbJKKtdfgpm/tHjY3LRg+N8+2b7QyFzrbuIWKjMhR0u6iS4cpZZpNGHRsIY6c Cw0ESQ28gRtqnGUJHil7ziW2SXDhH1c+ZjR8K8N1ftBzqqDH1k7eEvIob0YxS5L0mPRkNo 7R0cy91rRC6tUlYzXieD7MpVFoG0neMxBHpYtHNzkh2LWr+kB69Wvu3lOAN29KrN3EIAf2 pbQ0cRftuVw5VK+LBsBAwvJIC+pUaC71PbaqhAgIutteoPbKC2CgYs6ESUEhMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCqMz4P9bz1CB0; Mon, 8 Apr 2024 13:15: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 438DFh2H001329; Mon, 8 Apr 2024 13:15:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438DFhSg001326; Mon, 8 Apr 2024 13:15:43 GMT (envelope-from git) Date: Mon, 8 Apr 2024 13:15:43 GMT Message-Id: <202404081315.438DFhSg001326@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 35f6b83049da - stable/14 - Update the Arm Optimized Routine library to v24.01 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 35f6b83049dabe18277ac0fcc73ede6ed7f3a1a6 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=35f6b83049dabe18277ac0fcc73ede6ed7f3a1a6 commit 35f6b83049dabe18277ac0fcc73ede6ed7f3a1a6 Author: Andrew Turner AuthorDate: 2024-02-29 11:39:12 +0000 Commit: Andrew Turner CommitDate: 2024-04-08 13:15:18 +0000 Update the Arm Optimized Routine library to v24.01 Sponsored by: Arm Ltd (cherry picked from commit 5a02ffc32e777041dd2dad4e651ed2a0865a0a5d) --- contrib/arm-optimized-routines/README | 2 +- contrib/arm-optimized-routines/config.mk.dist | 13 +- contrib/arm-optimized-routines/math/Dir.mk | 6 +- .../arm-optimized-routines/math/aarch64/v_cos.c | 87 + .../arm-optimized-routines/math/aarch64/v_cosf.c | 82 + .../arm-optimized-routines/math/aarch64/v_exp.c | 125 + .../arm-optimized-routines/math/aarch64/v_exp2f.c | 113 + .../math/aarch64/v_exp2f_1u.c | 72 + .../math/aarch64/v_exp_data.c | 146 + .../arm-optimized-routines/math/aarch64/v_expf.c | 122 + .../math/aarch64/v_expf_1u.c | 77 + .../arm-optimized-routines/math/aarch64/v_log.c | 100 + .../math/aarch64/v_log_data.c | 156 + .../arm-optimized-routines/math/aarch64/v_logf.c | 74 + .../arm-optimized-routines/math/aarch64/v_math.h | 135 + .../arm-optimized-routines/math/aarch64/v_pow.c | 22 + .../arm-optimized-routines/math/aarch64/v_powf.c | 148 + .../arm-optimized-routines/math/aarch64/v_sin.c | 97 + .../arm-optimized-routines/math/aarch64/v_sinf.c | 82 + contrib/arm-optimized-routines/math/exp10.c | 129 + contrib/arm-optimized-routines/math/exp_data.c | 23 +- .../arm-optimized-routines/math/include/mathlib.h | 67 +- contrib/arm-optimized-routines/math/math_config.h | 61 +- contrib/arm-optimized-routines/math/s_cos.c | 6 - contrib/arm-optimized-routines/math/s_cosf.c | 6 - contrib/arm-optimized-routines/math/s_exp.c | 6 - contrib/arm-optimized-routines/math/s_exp2f.c | 6 - contrib/arm-optimized-routines/math/s_exp2f_1u.c | 6 - contrib/arm-optimized-routines/math/s_expf.c | 6 - contrib/arm-optimized-routines/math/s_expf_1u.c | 6 - contrib/arm-optimized-routines/math/s_log.c | 6 - contrib/arm-optimized-routines/math/s_logf.c | 6 - contrib/arm-optimized-routines/math/s_pow.c | 6 - contrib/arm-optimized-routines/math/s_powf.c | 6 - contrib/arm-optimized-routines/math/s_sin.c | 6 - contrib/arm-optimized-routines/math/s_sinf.c | 6 - .../arm-optimized-routines/math/test/mathbench.c | 152 +- .../math/test/mathbench_funcs.h | 50 +- .../math/test/mathbench_wrappers.h | 42 +- .../arm-optimized-routines/math/test/mathtest.c | 9 +- contrib/arm-optimized-routines/math/test/runulp.sh | 112 +- .../math/test/testcases/directed/exp10.tst | 15 + contrib/arm-optimized-routines/math/test/ulp.c | 81 +- contrib/arm-optimized-routines/math/test/ulp.h | 29 +- .../arm-optimized-routines/math/test/ulp_funcs.h | 50 +- .../math/test/ulp_wrappers.h | 36 +- contrib/arm-optimized-routines/math/tgamma128.c | 356 ++ contrib/arm-optimized-routines/math/tgamma128.h | 141 + .../math/tools/tgamma128_gen.jl | 212 ++ contrib/arm-optimized-routines/math/v_cos.c | 95 - contrib/arm-optimized-routines/math/v_cosf.c | 84 - contrib/arm-optimized-routines/math/v_exp.c | 128 - contrib/arm-optimized-routines/math/v_exp.h | 14 - contrib/arm-optimized-routines/math/v_exp2f.c | 117 - contrib/arm-optimized-routines/math/v_exp2f_1u.c | 75 - contrib/arm-optimized-routines/math/v_expf.c | 122 - contrib/arm-optimized-routines/math/v_expf_1u.c | 80 - contrib/arm-optimized-routines/math/v_log.c | 104 - contrib/arm-optimized-routines/math/v_log.h | 18 - contrib/arm-optimized-routines/math/v_log_data.c | 158 - contrib/arm-optimized-routines/math/v_logf.c | 73 - contrib/arm-optimized-routines/math/v_math.h | 661 ---- contrib/arm-optimized-routines/math/v_pow.c | 27 - contrib/arm-optimized-routines/math/v_powf.c | 235 -- contrib/arm-optimized-routines/math/v_sin.c | 103 - contrib/arm-optimized-routines/math/v_sinf.c | 88 - contrib/arm-optimized-routines/math/vn_cos.c | 12 - contrib/arm-optimized-routines/math/vn_cosf.c | 12 - contrib/arm-optimized-routines/math/vn_exp.c | 12 - contrib/arm-optimized-routines/math/vn_exp2f.c | 12 - contrib/arm-optimized-routines/math/vn_exp2f_1u.c | 11 - contrib/arm-optimized-routines/math/vn_expf.c | 12 - contrib/arm-optimized-routines/math/vn_expf_1u.c | 11 - contrib/arm-optimized-routines/math/vn_log.c | 12 - contrib/arm-optimized-routines/math/vn_logf.c | 12 - contrib/arm-optimized-routines/math/vn_pow.c | 12 - contrib/arm-optimized-routines/math/vn_powf.c | 12 - contrib/arm-optimized-routines/math/vn_sin.c | 12 - contrib/arm-optimized-routines/math/vn_sinf.c | 12 - contrib/arm-optimized-routines/pl/math/Dir.mk | 89 +- contrib/arm-optimized-routines/pl/math/acos_2u.c | 100 + contrib/arm-optimized-routines/pl/math/acosf_1u4.c | 99 + contrib/arm-optimized-routines/pl/math/asin_3u.c | 106 + contrib/arm-optimized-routines/pl/math/asin_data.c | 19 + contrib/arm-optimized-routines/pl/math/asinf_2u5.c | 100 + .../arm-optimized-routines/pl/math/asinf_data.c | 16 + contrib/arm-optimized-routines/pl/math/asinh_2u5.c | 5 +- .../arm-optimized-routines/pl/math/asinhf_3u5.c | 6 +- .../arm-optimized-routines/pl/math/atan_common.h | 40 +- contrib/arm-optimized-routines/pl/math/atanf_2u9.c | 12 +- .../arm-optimized-routines/pl/math/atanf_common.h | 33 +- contrib/arm-optimized-routines/pl/math/atanh_3u.c | 15 +- .../arm-optimized-routines/pl/math/atanhf_3u1.c | 12 +- contrib/arm-optimized-routines/pl/math/cbrt_2u.c | 5 +- contrib/arm-optimized-routines/pl/math/cbrtf_1u5.c | 9 +- contrib/arm-optimized-routines/pl/math/cosh_2u.c | 9 +- contrib/arm-optimized-routines/pl/math/coshf_1u9.c | 9 +- contrib/arm-optimized-routines/pl/math/cospi_3u1.c | 89 + .../arm-optimized-routines/pl/math/cospif_2u6.c | 84 + contrib/arm-optimized-routines/pl/math/erf_2u5.c | 102 + contrib/arm-optimized-routines/pl/math/erf_data.c | 788 +++++ contrib/arm-optimized-routines/pl/math/erfc_1u8.c | 153 + contrib/arm-optimized-routines/pl/math/erfc_4u5.c | 155 - contrib/arm-optimized-routines/pl/math/erfc_data.c | 3628 +++++++++++++++++++- contrib/arm-optimized-routines/pl/math/erfcf.h | 38 - contrib/arm-optimized-routines/pl/math/erfcf_1u7.c | 103 + contrib/arm-optimized-routines/pl/math/erfcf_2u.c | 133 - .../arm-optimized-routines/pl/math/erfcf_data.c | 703 +++- contrib/arm-optimized-routines/pl/math/erff_1u5.c | 108 - contrib/arm-optimized-routines/pl/math/erff_2u.c | 82 + contrib/arm-optimized-routines/pl/math/erff_data.c | 532 ++- .../arm-optimized-routines/pl/math/erfinv_24u5.c | 81 + .../arm-optimized-routines/pl/math/erfinvf_4u7.c | 74 + contrib/arm-optimized-routines/pl/math/erfinvl.c | 114 + contrib/arm-optimized-routines/pl/math/estrin.h | 16 - .../arm-optimized-routines/pl/math/estrin_wrap.h | 48 - contrib/arm-optimized-routines/pl/math/estrinf.h | 14 - contrib/arm-optimized-routines/pl/math/expf.c | 4 +- contrib/arm-optimized-routines/pl/math/expm1_2u5.c | 19 +- .../arm-optimized-routines/pl/math/expm1f_1u6.c | 11 +- .../arm-optimized-routines/pl/math/finite_pow.h | 365 ++ contrib/arm-optimized-routines/pl/math/horner.h | 14 - .../arm-optimized-routines/pl/math/horner_wrap.h | 34 - contrib/arm-optimized-routines/pl/math/hornerf.h | 14 - .../pl/math/include/mathlib.h | 238 +- .../pl/math/include/pl_test.h | 8 +- contrib/arm-optimized-routines/pl/math/log1p_2u.c | 17 +- .../arm-optimized-routines/pl/math/log1pf_2u1.c | 16 +- .../arm-optimized-routines/pl/math/math_config.h | 252 +- contrib/arm-optimized-routines/pl/math/math_err.c | 4 +- contrib/arm-optimized-routines/pl/math/math_errf.c | 4 +- .../pl/math/pairwise_horner.h | 14 - .../pl/math/pairwise_horner_wrap.h | 48 - .../pl/math/pairwise_hornerf.h | 14 - contrib/arm-optimized-routines/pl/math/pl_sig.h | 56 +- .../pl/math/poly_advsimd_f32.h | 24 + .../pl/math/poly_advsimd_f64.h | 24 + .../arm-optimized-routines/pl/math/poly_generic.h | 277 ++ .../pl/math/poly_scalar_f32.h | 24 + .../pl/math/poly_scalar_f64.h | 24 + .../arm-optimized-routines/pl/math/poly_sve_f32.h | 26 + .../arm-optimized-routines/pl/math/poly_sve_f64.h | 26 + .../pl/math/poly_sve_generic.h | 301 ++ .../arm-optimized-routines/pl/math/s_acosh_3u5.c | 6 - .../arm-optimized-routines/pl/math/s_acoshf_3u1.c | 6 - .../arm-optimized-routines/pl/math/s_asinh_3u5.c | 6 - .../arm-optimized-routines/pl/math/s_asinhf_2u7.c | 6 - .../arm-optimized-routines/pl/math/s_atan2_3u.c | 6 - .../arm-optimized-routines/pl/math/s_atan2f_3u.c | 6 - .../arm-optimized-routines/pl/math/s_atan_2u5.c | 6 - .../arm-optimized-routines/pl/math/s_atanf_3u.c | 6 - .../arm-optimized-routines/pl/math/s_atanh_3u5.c | 6 - .../arm-optimized-routines/pl/math/s_atanhf_3u1.c | 6 - contrib/arm-optimized-routines/pl/math/s_cbrt_2u.c | 6 - .../arm-optimized-routines/pl/math/s_cbrtf_1u5.c | 6 - contrib/arm-optimized-routines/pl/math/s_cosh_2u.c | 6 - .../arm-optimized-routines/pl/math/s_coshf_2u4.c | 6 - contrib/arm-optimized-routines/pl/math/s_erf_2u.c | 6 - contrib/arm-optimized-routines/pl/math/s_erfc_4u.c | 6 - .../arm-optimized-routines/pl/math/s_erfcf_1u.c | 6 - .../arm-optimized-routines/pl/math/s_erff_1u5.c | 6 - .../arm-optimized-routines/pl/math/s_exp_tail.c | 6 - contrib/arm-optimized-routines/pl/math/s_expf.c | 6 - .../arm-optimized-routines/pl/math/s_expm1_2u5.c | 6 - .../arm-optimized-routines/pl/math/s_expm1f_1u6.c | 6 - .../arm-optimized-routines/pl/math/s_log10_2u5.c | 6 - .../arm-optimized-routines/pl/math/s_log10f_3u5.c | 6 - .../arm-optimized-routines/pl/math/s_log1p_2u5.c | 6 - .../arm-optimized-routines/pl/math/s_log1pf_2u1.c | 6 - contrib/arm-optimized-routines/pl/math/s_log2_3u.c | 6 - .../arm-optimized-routines/pl/math/s_log2f_2u5.c | 6 - contrib/arm-optimized-routines/pl/math/s_sinh_3u.c | 6 - .../arm-optimized-routines/pl/math/s_sinhf_2u3.c | 6 - contrib/arm-optimized-routines/pl/math/s_tan_3u5.c | 6 - .../arm-optimized-routines/pl/math/s_tanf_3u5.c | 6 - contrib/arm-optimized-routines/pl/math/s_tanh_3u.c | 6 - .../arm-optimized-routines/pl/math/s_tanhf_2u6.c | 6 - contrib/arm-optimized-routines/pl/math/sinh_3u.c | 9 +- contrib/arm-optimized-routines/pl/math/sinhf_2u3.c | 9 +- contrib/arm-optimized-routines/pl/math/sinpi_3u.c | 90 + .../arm-optimized-routines/pl/math/sinpif_2u5.c | 83 + .../arm-optimized-routines/pl/math/sv_acos_2u.c | 91 + .../arm-optimized-routines/pl/math/sv_acosf_1u4.c | 84 + .../arm-optimized-routines/pl/math/sv_acosh_3u5.c | 50 + .../arm-optimized-routines/pl/math/sv_acoshf_2u8.c | 47 + .../arm-optimized-routines/pl/math/sv_asin_3u.c | 84 + .../arm-optimized-routines/pl/math/sv_asinf_2u5.c | 76 + .../arm-optimized-routines/pl/math/sv_asinh_3u0.c | 129 + .../arm-optimized-routines/pl/math/sv_asinhf_2u5.c | 55 + .../arm-optimized-routines/pl/math/sv_atan2_2u5.c | 111 +- .../arm-optimized-routines/pl/math/sv_atan2f_3u.c | 112 +- .../arm-optimized-routines/pl/math/sv_atan_2u5.c | 77 +- .../pl/math/sv_atan_common.h | 61 - .../arm-optimized-routines/pl/math/sv_atanf_2u9.c | 69 +- .../pl/math/sv_atanf_common.h | 47 - .../arm-optimized-routines/pl/math/sv_atanh_3u3.c | 60 + .../arm-optimized-routines/pl/math/sv_atanhf_2u8.c | 56 + .../arm-optimized-routines/pl/math/sv_cbrt_2u.c | 122 + .../arm-optimized-routines/pl/math/sv_cbrtf_1u7.c | 116 + .../arm-optimized-routines/pl/math/sv_cexpi_3u5.c | 45 + .../arm-optimized-routines/pl/math/sv_cexpif_1u8.c | 47 + .../arm-optimized-routines/pl/math/sv_cos_2u5.c | 104 +- .../arm-optimized-routines/pl/math/sv_cosf_2u1.c | 94 +- .../arm-optimized-routines/pl/math/sv_cosh_2u.c | 100 + .../arm-optimized-routines/pl/math/sv_coshf_2u.c | 56 + .../arm-optimized-routines/pl/math/sv_cospi_3u2.c | 63 + .../arm-optimized-routines/pl/math/sv_cospif_2u6.c | 59 + .../arm-optimized-routines/pl/math/sv_erf_2u5.c | 111 + contrib/arm-optimized-routines/pl/math/sv_erf_3u.c | 103 - .../arm-optimized-routines/pl/math/sv_erf_data.c | 1558 +++++++++ .../arm-optimized-routines/pl/math/sv_erfc_1u8.c | 164 + .../arm-optimized-routines/pl/math/sv_erfc_4u.c | 146 - .../arm-optimized-routines/pl/math/sv_erfcf_1u7.c | 111 + .../arm-optimized-routines/pl/math/sv_erff_1u3.c | 104 - .../arm-optimized-routines/pl/math/sv_erff_2u.c | 90 + .../arm-optimized-routines/pl/math/sv_erff_data.c | 1046 ++++++ .../arm-optimized-routines/pl/math/sv_exp10_1u5.c | 122 + .../arm-optimized-routines/pl/math/sv_exp10f_1u5.c | 87 + .../arm-optimized-routines/pl/math/sv_exp2_2u.c | 107 + .../arm-optimized-routines/pl/math/sv_exp2f_1u6.c | 80 + .../arm-optimized-routines/pl/math/sv_exp_1u5.c | 137 + .../arm-optimized-routines/pl/math/sv_exp_tail.h | 79 - .../arm-optimized-routines/pl/math/sv_expf_2u.c | 180 +- .../arm-optimized-routines/pl/math/sv_expf_data.c | 12 - .../pl/math/sv_expf_inline.h | 66 + .../arm-optimized-routines/pl/math/sv_expm1_2u5.c | 95 + .../arm-optimized-routines/pl/math/sv_expm1f_1u6.c | 93 + .../pl/math/sv_expm1f_inline.h | 73 + .../arm-optimized-routines/pl/math/sv_hypot_1u5.c | 51 + .../arm-optimized-routines/pl/math/sv_hypotf_1u5.c | 45 + .../arm-optimized-routines/pl/math/sv_log10_2u5.c | 94 +- .../arm-optimized-routines/pl/math/sv_log10f_3u5.c | 119 +- .../arm-optimized-routines/pl/math/sv_log1p_2u5.c | 116 + .../pl/math/sv_log1p_inline.h | 96 + .../arm-optimized-routines/pl/math/sv_log1pf_1u3.c | 97 + .../pl/math/sv_log1pf_inline.h | 65 + .../arm-optimized-routines/pl/math/sv_log2_3u.c | 94 +- .../arm-optimized-routines/pl/math/sv_log2f_2u5.c | 99 +- .../arm-optimized-routines/pl/math/sv_log_2u5.c | 101 +- .../arm-optimized-routines/pl/math/sv_log_data.c | 146 - .../arm-optimized-routines/pl/math/sv_logf_3u4.c | 99 +- .../arm-optimized-routines/pl/math/sv_logf_data.c | 12 - contrib/arm-optimized-routines/pl/math/sv_math.h | 220 +- .../arm-optimized-routines/pl/math/sv_pow_1u5.c | 444 +++ .../arm-optimized-routines/pl/math/sv_powf_2u6.c | 360 ++ contrib/arm-optimized-routines/pl/math/sv_powi.c | 25 +- contrib/arm-optimized-routines/pl/math/sv_powif.c | 26 +- contrib/arm-optimized-routines/pl/math/sv_sin_3u.c | 89 - .../arm-optimized-routines/pl/math/sv_sin_3u5.c | 96 + .../arm-optimized-routines/pl/math/sv_sincos_3u5.c | 61 + .../pl/math/sv_sincos_common.h | 85 + .../pl/math/sv_sincosf_1u8.c | 62 + .../pl/math/sv_sincosf_common.h | 81 + .../arm-optimized-routines/pl/math/sv_sinf_1u9.c | 103 +- .../pl/math/sv_sinf_poly_data.c | 19 - .../arm-optimized-routines/pl/math/sv_sinh_3u.c | 103 + .../arm-optimized-routines/pl/math/sv_sinhf_2u3.c | 64 + .../arm-optimized-routines/pl/math/sv_sinpi_3u1.c | 57 + .../arm-optimized-routines/pl/math/sv_sinpif_2u5.c | 53 + .../arm-optimized-routines/pl/math/sv_tan_3u5.c | 99 + .../arm-optimized-routines/pl/math/sv_tanf_3u5.c | 141 +- .../arm-optimized-routines/pl/math/sv_tanh_3u.c | 96 + .../arm-optimized-routines/pl/math/sv_tanhf_2u6.c | 59 + contrib/arm-optimized-routines/pl/math/tanf_3u3.c | 27 +- contrib/arm-optimized-routines/pl/math/tanh_3u.c | 22 +- contrib/arm-optimized-routines/pl/math/tanhf_2u6.c | 9 +- .../pl/math/test/mathbench_funcs.h | 55 +- .../pl/math/test/mathbench_wrappers.h | 159 +- .../arm-optimized-routines/pl/math/test/pl_test.h | 24 +- .../arm-optimized-routines/pl/math/test/runulp.sh | 56 +- .../pl/math/test/testcases/directed/acos.tst | 17 + .../pl/math/test/testcases/directed/acosf.tst | 21 + .../pl/math/test/testcases/directed/asin.tst | 24 + .../pl/math/test/testcases/directed/asinf.tst | 24 + .../pl/math/test/ulp_funcs.h | 54 +- .../pl/math/test/ulp_wrappers.h | 78 +- .../pl/math/tools/asin.sollya | 29 + .../pl/math/tools/asinf.sollya | 36 + .../pl/math/tools/erf.sollya | 25 + .../pl/math/tools/erfc.sollya | 60 +- .../pl/math/tools/erfcf.sollya | 41 +- .../pl/math/tools/erff.sollya | 20 + .../pl/math/tools/exp10.sollya | 55 + .../pl/math/tools/sincos.sollya | 33 + .../pl/math/tools/sincosf.sollya | 33 + .../pl/math/tools/sinpi.sollya | 33 + .../pl/math/trigpi_references.c | 57 + contrib/arm-optimized-routines/pl/math/v_acos_2u.c | 122 + .../arm-optimized-routines/pl/math/v_acosf_1u4.c | 113 + .../arm-optimized-routines/pl/math/v_acosh_3u5.c | 63 +- .../arm-optimized-routines/pl/math/v_acoshf_3u1.c | 70 +- contrib/arm-optimized-routines/pl/math/v_asin_3u.c | 113 + .../arm-optimized-routines/pl/math/v_asinf_2u5.c | 104 + .../arm-optimized-routines/pl/math/v_asinh_3u5.c | 176 +- .../arm-optimized-routines/pl/math/v_asinhf_2u7.c | 78 +- .../arm-optimized-routines/pl/math/v_atan2_3u.c | 117 +- .../arm-optimized-routines/pl/math/v_atan2f_3u.c | 112 +- .../arm-optimized-routines/pl/math/v_atan_2u5.c | 98 +- .../arm-optimized-routines/pl/math/v_atanf_3u.c | 96 +- .../arm-optimized-routines/pl/math/v_atanh_3u5.c | 69 +- .../arm-optimized-routines/pl/math/v_atanhf_3u1.c | 73 +- contrib/arm-optimized-routines/pl/math/v_cbrt_2u.c | 100 +- .../arm-optimized-routines/pl/math/v_cbrtf_1u5.c | 96 - .../arm-optimized-routines/pl/math/v_cbrtf_1u7.c | 116 + .../arm-optimized-routines/pl/math/v_cexpi_3u5.c | 45 + .../arm-optimized-routines/pl/math/v_cexpif_1u8.c | 47 + contrib/arm-optimized-routines/pl/math/v_cosh_2u.c | 130 +- .../arm-optimized-routines/pl/math/v_coshf_2u4.c | 76 +- .../arm-optimized-routines/pl/math/v_cospi_3u1.c | 86 + .../arm-optimized-routines/pl/math/v_cospif_3u2.c | 83 + contrib/arm-optimized-routines/pl/math/v_erf_2u.c | 116 - contrib/arm-optimized-routines/pl/math/v_erf_2u5.c | 158 + .../arm-optimized-routines/pl/math/v_erf_data.c | 119 - .../arm-optimized-routines/pl/math/v_erfc_1u8.c | 198 ++ contrib/arm-optimized-routines/pl/math/v_erfc_4u.c | 168 - .../arm-optimized-routines/pl/math/v_erfc_data.c | 96 - .../arm-optimized-routines/pl/math/v_erfcf_1u.c | 183 - .../arm-optimized-routines/pl/math/v_erfcf_1u7.c | 166 + .../arm-optimized-routines/pl/math/v_erff_1u5.c | 116 - contrib/arm-optimized-routines/pl/math/v_erff_2u.c | 118 + .../arm-optimized-routines/pl/math/v_erff_data.c | 18 - .../arm-optimized-routines/pl/math/v_erfinv_25u.c | 161 + .../arm-optimized-routines/pl/math/v_erfinvf_5u.c | 163 + .../arm-optimized-routines/pl/math/v_exp10_2u.c | 144 + .../arm-optimized-routines/pl/math/v_exp10f_2u4.c | 138 + contrib/arm-optimized-routines/pl/math/v_exp2_2u.c | 128 + .../arm-optimized-routines/pl/math/v_exp_data.c | 55 + .../arm-optimized-routines/pl/math/v_exp_tail.c | 75 - .../pl/math/v_exp_tail_data.c | 179 +- .../pl/math/v_exp_tail_inline.h | 102 + contrib/arm-optimized-routines/pl/math/v_expf.c | 83 - .../arm-optimized-routines/pl/math/v_expf_inline.h | 60 + .../arm-optimized-routines/pl/math/v_expm1_2u5.c | 139 +- .../arm-optimized-routines/pl/math/v_expm1f_1u6.c | 123 +- .../pl/math/v_expm1f_inline.h | 56 +- .../arm-optimized-routines/pl/math/v_hypot_1u5.c | 95 + .../arm-optimized-routines/pl/math/v_hypotf_1u5.c | 94 + .../arm-optimized-routines/pl/math/v_log10_2u5.c | 140 +- .../arm-optimized-routines/pl/math/v_log10_data.c | 298 +- .../arm-optimized-routines/pl/math/v_log10f_3u5.c | 114 +- .../arm-optimized-routines/pl/math/v_log10f_data.c | 13 - .../arm-optimized-routines/pl/math/v_log1p_2u5.c | 144 +- .../pl/math/v_log1p_inline.h | 82 +- .../arm-optimized-routines/pl/math/v_log1pf_2u1.c | 174 +- .../pl/math/v_log1pf_inline.h | 74 +- contrib/arm-optimized-routines/pl/math/v_log2_3u.c | 133 +- .../arm-optimized-routines/pl/math/v_log2_data.c | 278 +- .../arm-optimized-routines/pl/math/v_log2f_2u5.c | 93 +- .../arm-optimized-routines/pl/math/v_log2f_data.c | 15 - .../arm-optimized-routines/pl/math/v_log_data.c | 161 + .../arm-optimized-routines/pl/math/v_log_inline.h | 104 + .../arm-optimized-routines/pl/math/v_logf_inline.h | 59 + contrib/arm-optimized-routines/pl/math/v_math.h | 874 +---- contrib/arm-optimized-routines/pl/math/v_pow_1u5.c | 259 ++ .../v_exp_data.c => pl/math/v_pow_exp_data.c} | 164 +- .../pl/math/v_pow_log_data.c | 174 + .../arm-optimized-routines/pl/math/v_powf_data.c | 89 + .../arm-optimized-routines/pl/math/v_sincos_3u5.c | 57 + .../pl/math/v_sincos_common.h | 86 + .../arm-optimized-routines/pl/math/v_sincosf_1u8.c | 58 + .../pl/math/v_sincosf_common.h | 84 + contrib/arm-optimized-routines/pl/math/v_sinh_3u.c | 120 +- .../arm-optimized-routines/pl/math/v_sinhf_2u3.c | 91 +- .../arm-optimized-routines/pl/math/v_sinpi_3u1.c | 86 + .../arm-optimized-routines/pl/math/v_sinpif_3u.c | 81 + contrib/arm-optimized-routines/pl/math/v_tan_3u5.c | 124 +- .../arm-optimized-routines/pl/math/v_tan_data.c | 15 - .../arm-optimized-routines/pl/math/v_tanf_3u5.c | 134 +- contrib/arm-optimized-routines/pl/math/v_tanh_3u.c | 112 +- .../arm-optimized-routines/pl/math/v_tanhf_2u6.c | 80 +- .../arm-optimized-routines/pl/math/vn_acosh_3u5.c | 12 - .../arm-optimized-routines/pl/math/vn_acoshf_3u1.c | 12 - .../arm-optimized-routines/pl/math/vn_asinh_3u5.c | 12 - .../arm-optimized-routines/pl/math/vn_asinhf_2u7.c | 12 - .../arm-optimized-routines/pl/math/vn_atan2_3u.c | 12 - .../arm-optimized-routines/pl/math/vn_atan2f_3u.c | 12 - .../arm-optimized-routines/pl/math/vn_atan_2u5.c | 12 - .../arm-optimized-routines/pl/math/vn_atanf_3u.c | 12 - .../arm-optimized-routines/pl/math/vn_atanh_3u5.c | 12 - .../arm-optimized-routines/pl/math/vn_atanhf_3u1.c | 12 - .../arm-optimized-routines/pl/math/vn_cbrt_2u.c | 12 - .../arm-optimized-routines/pl/math/vn_cbrtf_1u5.c | 12 - .../arm-optimized-routines/pl/math/vn_cosh_2u.c | 12 - .../arm-optimized-routines/pl/math/vn_coshf_2u4.c | 12 - contrib/arm-optimized-routines/pl/math/vn_erf_2u.c | 12 - .../arm-optimized-routines/pl/math/vn_erfc_4u.c | 12 - .../arm-optimized-routines/pl/math/vn_erfcf_1u.c | 12 - .../arm-optimized-routines/pl/math/vn_erff_1u5.c | 12 - .../arm-optimized-routines/pl/math/vn_exp_tail.c | 11 - contrib/arm-optimized-routines/pl/math/vn_expf.c | 12 - .../arm-optimized-routines/pl/math/vn_expm1_2u5.c | 12 - .../arm-optimized-routines/pl/math/vn_expm1f_1u6.c | 12 - .../arm-optimized-routines/pl/math/vn_log10_2u5.c | 12 - .../arm-optimized-routines/pl/math/vn_log10f_3u5.c | 12 - .../arm-optimized-routines/pl/math/vn_log1p_2u5.c | 12 - .../arm-optimized-routines/pl/math/vn_log1pf_2u1.c | 12 - .../arm-optimized-routines/pl/math/vn_log2_3u.c | 12 - .../arm-optimized-routines/pl/math/vn_log2f_2u5.c | 12 - .../arm-optimized-routines/pl/math/vn_sinh_3u.c | 12 - .../arm-optimized-routines/pl/math/vn_sinhf_2u3.c | 12 - .../arm-optimized-routines/pl/math/vn_tan_3u5.c | 12 - .../arm-optimized-routines/pl/math/vn_tanf_3u5.c | 12 - .../arm-optimized-routines/pl/math/vn_tanh_3u.c | 12 - .../arm-optimized-routines/pl/math/vn_tanhf_2u6.c | 12 - .../string/aarch64/asmdefs.h | 14 + .../string/aarch64/memcpy-advsimd.S | 62 +- .../string/aarch64/memcpy-mops.S | 21 + .../string/aarch64/memmove-mops.S | 21 + .../string/aarch64/memset-mops.S | 20 + .../arm-optimized-routines/string/bench/memcpy.c | 5 +- .../string/include/stringlib.h | 7 +- .../arm-optimized-routines/string/test/memcpy.c | 5 +- .../arm-optimized-routines/string/test/memmove.c | 5 +- .../arm-optimized-routines/string/test/memset.c | 5 +- 414 files changed, 26613 insertions(+), 10731 deletions(-) diff --git a/contrib/arm-optimized-routines/README b/contrib/arm-optimized-routines/README index a2143a28488a..651ebdc84bc8 100644 --- a/contrib/arm-optimized-routines/README +++ b/contrib/arm-optimized-routines/README @@ -12,7 +12,7 @@ contribution requirements are documented in README.contributors of the appropriate subdirectory. Regular quarterly releases are tagged as vYY.MM, the latest -release is v23.01. +release is v24.01. Source code layout: diff --git a/contrib/arm-optimized-routines/config.mk.dist b/contrib/arm-optimized-routines/config.mk.dist index 7a8497507a81..03fb54db52fa 100644 --- a/contrib/arm-optimized-routines/config.mk.dist +++ b/contrib/arm-optimized-routines/config.mk.dist @@ -1,6 +1,6 @@ # Example config.mk # -# Copyright (c) 2018-2022, Arm Limited. +# Copyright (c) 2018-2023, Arm Limited. # SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception # Subprojects to build @@ -59,13 +59,14 @@ math-cflags += -ffp-contract=fast -fno-math-errno # Use with clang. #math-cflags += -ffp-contract=fast -# Disable vector math code -#math-cflags += -DWANT_VMATH=0 - -# Disable/enable SVE vector math code and tests +# Disable/enable SVE vector math code and tests. +# If WANT_SVE_MATH is enabled, math-sve-cflags is added for SVE +# routines only so that SVE code does not leak into scalar +# routines. It is also necessary to add it for tools (e.g. ulp, +# mathbench) WANT_SVE_MATH = 0 ifeq ($(WANT_SVE_MATH), 1) - math-cflags += -march=armv8.2-a+sve + math-sve-cflags = -march=armv8-a+sve endif math-cflags += -DWANT_SVE_MATH=$(WANT_SVE_MATH) diff --git a/contrib/arm-optimized-routines/math/Dir.mk b/contrib/arm-optimized-routines/math/Dir.mk index 2a9cad10d96a..5e9494a7bd3c 100644 --- a/contrib/arm-optimized-routines/math/Dir.mk +++ b/contrib/arm-optimized-routines/math/Dir.mk @@ -1,12 +1,14 @@ # Makefile fragment - requires GNU make # -# Copyright (c) 2019-2022, Arm Limited. +# Copyright (c) 2019-2023, Arm Limited. # SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception S := $(srcdir)/math B := build/math math-lib-srcs := $(wildcard $(S)/*.[cS]) +math-lib-srcs += $(wildcard $(S)/$(ARCH)/*.[cS]) + math-test-srcs := \ $(S)/test/mathtest.c \ $(S)/test/mathbench.c \ @@ -65,6 +67,8 @@ build/lib/libmathlib.a: $(math-lib-objs) $(math-host-tools): HOST_LDLIBS += -lm -lmpfr -lmpc $(math-tools): LDLIBS += $(math-ldlibs) -lm +# math-sve-cflags should be empty if WANT_SVE_MATH is not enabled +$(math-tools): CFLAGS_ALL += $(math-sve-cflags) build/bin/rtest: $(math-host-objs) $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ $^ $(HOST_LDLIBS) diff --git a/contrib/arm-optimized-routines/math/aarch64/v_cos.c b/contrib/arm-optimized-routines/math/aarch64/v_cos.c new file mode 100644 index 000000000000..9a73575bce89 --- /dev/null +++ b/contrib/arm-optimized-routines/math/aarch64/v_cos.c @@ -0,0 +1,87 @@ +/* + * Double-precision vector cos function. + * + * Copyright (c) 2019-2023, Arm Limited. + * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception + */ + +#include "mathlib.h" +#include "v_math.h" + +static const struct data +{ + float64x2_t poly[7]; + float64x2_t range_val, shift, inv_pi, half_pi, pi_1, pi_2, pi_3; +} data = { + /* Worst-case error is 3.3 ulp in [-pi/2, pi/2]. */ + .poly = { V2 (-0x1.555555555547bp-3), V2 (0x1.1111111108a4dp-7), + V2 (-0x1.a01a019936f27p-13), V2 (0x1.71de37a97d93ep-19), + V2 (-0x1.ae633919987c6p-26), V2 (0x1.60e277ae07cecp-33), + V2 (-0x1.9e9540300a1p-41) }, + .inv_pi = V2 (0x1.45f306dc9c883p-2), + .half_pi = V2 (0x1.921fb54442d18p+0), + .pi_1 = V2 (0x1.921fb54442d18p+1), + .pi_2 = V2 (0x1.1a62633145c06p-53), + .pi_3 = V2 (0x1.c1cd129024e09p-106), + .shift = V2 (0x1.8p52), + .range_val = V2 (0x1p23) +}; + +#define C(i) d->poly[i] + +static float64x2_t VPCS_ATTR NOINLINE +special_case (float64x2_t x, float64x2_t y, uint64x2_t odd, uint64x2_t cmp) +{ + y = vreinterpretq_f64_u64 (veorq_u64 (vreinterpretq_u64_f64 (y), odd)); + return v_call_f64 (cos, x, y, cmp); +} + +float64x2_t VPCS_ATTR V_NAME_D1 (cos) (float64x2_t x) +{ + const struct data *d = ptr_barrier (&data); + float64x2_t n, r, r2, r3, r4, t1, t2, t3, y; + uint64x2_t odd, cmp; + +#if WANT_SIMD_EXCEPT + r = vabsq_f64 (x); + cmp = vcgeq_u64 (vreinterpretq_u64_f64 (r), + vreinterpretq_u64_f64 (d->range_val)); + if (unlikely (v_any_u64 (cmp))) + /* If fenv exceptions are to be triggered correctly, set any special lanes + to 1 (which is neutral w.r.t. fenv). These lanes will be fixed by + special-case handler later. */ + r = vbslq_f64 (cmp, v_f64 (1.0), r); +#else + cmp = vcageq_f64 (x, d->range_val); + r = x; +#endif + + /* n = rint((|x|+pi/2)/pi) - 0.5. */ + n = vfmaq_f64 (d->shift, d->inv_pi, vaddq_f64 (r, d->half_pi)); + odd = vshlq_n_u64 (vreinterpretq_u64_f64 (n), 63); + n = vsubq_f64 (n, d->shift); + n = vsubq_f64 (n, v_f64 (0.5)); + + /* r = |x| - n*pi (range reduction into -pi/2 .. pi/2). */ + r = vfmsq_f64 (r, d->pi_1, n); + r = vfmsq_f64 (r, d->pi_2, n); + r = vfmsq_f64 (r, d->pi_3, n); + + /* sin(r) poly approx. */ + r2 = vmulq_f64 (r, r); + r3 = vmulq_f64 (r2, r); + r4 = vmulq_f64 (r2, r2); + + t1 = vfmaq_f64 (C (4), C (5), r2); + t2 = vfmaq_f64 (C (2), C (3), r2); + t3 = vfmaq_f64 (C (0), C (1), r2); + + y = vfmaq_f64 (t1, C (6), r4); + y = vfmaq_f64 (t2, y, r4); + y = vfmaq_f64 (t3, y, r4); + y = vfmaq_f64 (r, y, r3); + + if (unlikely (v_any_u64 (cmp))) + return special_case (x, y, odd, cmp); + return vreinterpretq_f64_u64 (veorq_u64 (vreinterpretq_u64_f64 (y), odd)); +} diff --git a/contrib/arm-optimized-routines/math/aarch64/v_cosf.c b/contrib/arm-optimized-routines/math/aarch64/v_cosf.c new file mode 100644 index 000000000000..b9890b2998ad --- /dev/null +++ b/contrib/arm-optimized-routines/math/aarch64/v_cosf.c @@ -0,0 +1,82 @@ +/* + * Single-precision vector cos function. + * + * Copyright (c) 2019-2023, Arm Limited. + * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception + */ + +#include "mathlib.h" +#include "v_math.h" + +static const struct data +{ + float32x4_t poly[4]; + float32x4_t range_val, inv_pi, half_pi, shift, pi_1, pi_2, pi_3; +} data = { + /* 1.886 ulp error. */ + .poly = { V4 (-0x1.555548p-3f), V4 (0x1.110df4p-7f), V4 (-0x1.9f42eap-13f), + V4 (0x1.5b2e76p-19f) }, + + .pi_1 = V4 (0x1.921fb6p+1f), + .pi_2 = V4 (-0x1.777a5cp-24f), + .pi_3 = V4 (-0x1.ee59dap-49f), + + .inv_pi = V4 (0x1.45f306p-2f), + .shift = V4 (0x1.8p+23f), + .half_pi = V4 (0x1.921fb6p0f), + .range_val = V4 (0x1p20f) +}; + +#define C(i) d->poly[i] + +static float32x4_t VPCS_ATTR NOINLINE +special_case (float32x4_t x, float32x4_t y, uint32x4_t odd, uint32x4_t cmp) +{ + /* Fall back to scalar code. */ + y = vreinterpretq_f32_u32 (veorq_u32 (vreinterpretq_u32_f32 (y), odd)); + return v_call_f32 (cosf, x, y, cmp); +} + +float32x4_t VPCS_ATTR V_NAME_F1 (cos) (float32x4_t x) +{ + const struct data *d = ptr_barrier (&data); + float32x4_t n, r, r2, r3, y; + uint32x4_t odd, cmp; + +#if WANT_SIMD_EXCEPT + r = vabsq_f32 (x); + cmp = vcgeq_u32 (vreinterpretq_u32_f32 (r), + vreinterpretq_u32_f32 (d->range_val)); + if (unlikely (v_any_u32 (cmp))) + /* If fenv exceptions are to be triggered correctly, set any special lanes + to 1 (which is neutral w.r.t. fenv). These lanes will be fixed by + special-case handler later. */ + r = vbslq_f32 (cmp, v_f32 (1.0f), r); +#else + cmp = vcageq_f32 (x, d->range_val); + r = x; +#endif + + /* n = rint((|x|+pi/2)/pi) - 0.5. */ + n = vfmaq_f32 (d->shift, d->inv_pi, vaddq_f32 (r, d->half_pi)); + odd = vshlq_n_u32 (vreinterpretq_u32_f32 (n), 31); + n = vsubq_f32 (n, d->shift); + n = vsubq_f32 (n, v_f32 (0.5f)); + + /* r = |x| - n*pi (range reduction into -pi/2 .. pi/2). */ + r = vfmsq_f32 (r, d->pi_1, n); + r = vfmsq_f32 (r, d->pi_2, n); + r = vfmsq_f32 (r, d->pi_3, n); + + /* y = sin(r). */ + r2 = vmulq_f32 (r, r); + r3 = vmulq_f32 (r2, r); + y = vfmaq_f32 (C (2), C (3), r2); + y = vfmaq_f32 (C (1), y, r2); + y = vfmaq_f32 (C (0), y, r2); + y = vfmaq_f32 (r, y, r3); + + if (unlikely (v_any_u32 (cmp))) + return special_case (x, y, odd, cmp); + return vreinterpretq_f32_u32 (veorq_u32 (vreinterpretq_u32_f32 (y), odd)); +} diff --git a/contrib/arm-optimized-routines/math/aarch64/v_exp.c b/contrib/arm-optimized-routines/math/aarch64/v_exp.c new file mode 100644 index 000000000000..bc5609faf4fc --- /dev/null +++ b/contrib/arm-optimized-routines/math/aarch64/v_exp.c @@ -0,0 +1,125 @@ +/* + * Double-precision vector e^x function. + * + * Copyright (c) 2019-2023, Arm Limited. + * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception + */ + +#include "mathlib.h" +#include "v_math.h" + +#define N (1 << V_EXP_TABLE_BITS) +#define IndexMask (N - 1) + +const static volatile struct +{ + float64x2_t poly[3]; + float64x2_t inv_ln2, ln2_hi, ln2_lo, shift; +#if !WANT_SIMD_EXCEPT + float64x2_t special_bound, scale_thresh; +#endif +} data = { + /* maxerr: 1.88 +0.5 ulp + rel error: 1.4337*2^-53 + abs error: 1.4299*2^-53 in [ -ln2/256, ln2/256 ]. */ + .poly = { V2 (0x1.ffffffffffd43p-2), V2 (0x1.55555c75adbb2p-3), + V2 (0x1.55555da646206p-5) }, +#if !WANT_SIMD_EXCEPT + .scale_thresh = V2 (163840.0), /* 1280.0 * N. */ + .special_bound = V2 (704.0), +#endif + .inv_ln2 = V2 (0x1.71547652b82fep7), /* N/ln2. */ + .ln2_hi = V2 (0x1.62e42fefa39efp-8), /* ln2/N. */ + .ln2_lo = V2 (0x1.abc9e3b39803f3p-63), + .shift = V2 (0x1.8p+52) +}; + +#define C(i) data.poly[i] +#define Tab __v_exp_data + +#if WANT_SIMD_EXCEPT + +# define TinyBound v_u64 (0x2000000000000000) /* asuint64 (0x1p-511). */ +# define BigBound v_u64 (0x4080000000000000) /* asuint64 (0x1p9). */ +# define SpecialBound v_u64 (0x2080000000000000) /* BigBound - TinyBound. */ + +static float64x2_t VPCS_ATTR NOINLINE +special_case (float64x2_t x, float64x2_t y, uint64x2_t cmp) +{ + /* If fenv exceptions are to be triggered correctly, fall back to the scalar + routine to special lanes. */ + return v_call_f64 (exp, x, y, cmp); +} + +#else + +# define SpecialOffset v_u64 (0x6000000000000000) /* 0x1p513. */ +/* SpecialBias1 + SpecialBias1 = asuint(1.0). */ +# define SpecialBias1 v_u64 (0x7000000000000000) /* 0x1p769. */ +# define SpecialBias2 v_u64 (0x3010000000000000) /* 0x1p-254. */ + +static inline float64x2_t VPCS_ATTR +special_case (float64x2_t s, float64x2_t y, float64x2_t n) +{ + /* 2^(n/N) may overflow, break it up into s1*s2. */ + uint64x2_t b = vandq_u64 (vcltzq_f64 (n), SpecialOffset); + float64x2_t s1 = vreinterpretq_f64_u64 (vsubq_u64 (SpecialBias1, b)); + float64x2_t s2 = vreinterpretq_f64_u64 ( + vaddq_u64 (vsubq_u64 (vreinterpretq_u64_f64 (s), SpecialBias2), b)); + uint64x2_t cmp = vcagtq_f64 (n, data.scale_thresh); + float64x2_t r1 = vmulq_f64 (s1, s1); + float64x2_t r0 = vmulq_f64 (vfmaq_f64 (s2, y, s2), s1); + return vbslq_f64 (cmp, r1, r0); +} + +#endif + +float64x2_t VPCS_ATTR V_NAME_D1 (exp) (float64x2_t x) +{ + float64x2_t n, r, r2, s, y, z; + uint64x2_t cmp, u, e; + +#if WANT_SIMD_EXCEPT + /* If any lanes are special, mask them with 1 and retain a copy of x to allow + special_case to fix special lanes later. This is only necessary if fenv + exceptions are to be triggered correctly. */ + float64x2_t xm = x; + uint64x2_t iax = vreinterpretq_u64_f64 (vabsq_f64 (x)); + cmp = vcgeq_u64 (vsubq_u64 (iax, TinyBound), SpecialBound); + if (unlikely (v_any_u64 (cmp))) + x = vbslq_f64 (cmp, v_f64 (1), x); +#else + cmp = vcagtq_f64 (x, data.special_bound); +#endif + + /* n = round(x/(ln2/N)). */ + z = vfmaq_f64 (data.shift, x, data.inv_ln2); + u = vreinterpretq_u64_f64 (z); + n = vsubq_f64 (z, data.shift); + + /* r = x - n*ln2/N. */ + r = x; + r = vfmsq_f64 (r, data.ln2_hi, n); + r = vfmsq_f64 (r, data.ln2_lo, n); + + e = vshlq_n_u64 (u, 52 - V_EXP_TABLE_BITS); + + /* y = exp(r) - 1 ~= r + C0 r^2 + C1 r^3 + C2 r^4. */ + r2 = vmulq_f64 (r, r); + y = vfmaq_f64 (C (0), C (1), r); + y = vfmaq_f64 (y, C (2), r2); + y = vfmaq_f64 (r, y, r2); + + /* s = 2^(n/N). */ + u = (uint64x2_t){ Tab[u[0] & IndexMask], Tab[u[1] & IndexMask] }; + s = vreinterpretq_f64_u64 (vaddq_u64 (u, e)); + + if (unlikely (v_any_u64 (cmp))) +#if WANT_SIMD_EXCEPT + return special_case (xm, vfmaq_f64 (s, y, s), cmp); +#else + return special_case (s, y, n); +#endif + + return vfmaq_f64 (s, y, s); +} diff --git a/contrib/arm-optimized-routines/math/aarch64/v_exp2f.c b/contrib/arm-optimized-routines/math/aarch64/v_exp2f.c new file mode 100644 index 000000000000..e402205e98e6 --- /dev/null +++ b/contrib/arm-optimized-routines/math/aarch64/v_exp2f.c @@ -0,0 +1,113 @@ +/* + * Single-precision vector 2^x function. + * + * Copyright (c) 2019-2023, Arm Limited. + * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception + */ + +#include "mathlib.h" +#include "v_math.h" + +static const struct data +{ + float32x4_t poly[5]; + uint32x4_t exponent_bias; +#if !WANT_SIMD_EXCEPT + float32x4_t special_bound, scale_thresh; +#endif +} data = { + /* maxerr: 1.962 ulp. */ + .poly = { V4 (0x1.59977ap-10f), V4 (0x1.3ce9e4p-7f), V4 (0x1.c6bd32p-5f), + V4 (0x1.ebf9bcp-3f), V4 (0x1.62e422p-1f) }, + .exponent_bias = V4 (0x3f800000), +#if !WANT_SIMD_EXCEPT + .special_bound = V4 (126.0f), + .scale_thresh = V4 (192.0f), +#endif +}; + +#define C(i) d->poly[i] + +#if WANT_SIMD_EXCEPT + +# define TinyBound v_u32 (0x20000000) /* asuint (0x1p-63). */ +# define BigBound v_u32 (0x42800000) /* asuint (0x1p6). */ +# define SpecialBound v_u32 (0x22800000) /* BigBound - TinyBound. */ + +static float32x4_t VPCS_ATTR NOINLINE +special_case (float32x4_t x, float32x4_t y, uint32x4_t cmp) +{ + /* If fenv exceptions are to be triggered correctly, fall back to the scalar + routine for special lanes. */ + return v_call_f32 (exp2f, x, y, cmp); +} + +#else + +# define SpecialOffset v_u32 (0x82000000) +# define SpecialBias v_u32 (0x7f000000) + +static float32x4_t VPCS_ATTR NOINLINE +special_case (float32x4_t poly, float32x4_t n, uint32x4_t e, uint32x4_t cmp1, + float32x4_t scale, const struct data *d) +{ + /* 2^n may overflow, break it up into s1*s2. */ + uint32x4_t b = vandq_u32 (vclezq_f32 (n), SpecialOffset); + float32x4_t s1 = vreinterpretq_f32_u32 (vaddq_u32 (b, SpecialBias)); + float32x4_t s2 = vreinterpretq_f32_u32 (vsubq_u32 (e, b)); + uint32x4_t cmp2 = vcagtq_f32 (n, d->scale_thresh); + float32x4_t r2 = vmulq_f32 (s1, s1); + float32x4_t r1 = vmulq_f32 (vfmaq_f32 (s2, poly, s2), s1); + /* Similar to r1 but avoids double rounding in the subnormal range. */ + float32x4_t r0 = vfmaq_f32 (scale, poly, scale); + float32x4_t r = vbslq_f32 (cmp1, r1, r0); + return vbslq_f32 (cmp2, r2, r); +} + +#endif + +float32x4_t VPCS_ATTR V_NAME_F1 (exp2) (float32x4_t x) +{ + const struct data *d = ptr_barrier (&data); + float32x4_t n, r, r2, scale, p, q, poly; + uint32x4_t cmp, e; + +#if WANT_SIMD_EXCEPT + /* asuint(|x|) - TinyBound >= BigBound - TinyBound. */ + uint32x4_t ia = vreinterpretq_u32_f32 (vabsq_f32 (x)); + cmp = vcgeq_u32 (vsubq_u32 (ia, TinyBound), SpecialBound); + float32x4_t xm = x; + /* If any lanes are special, mask them with 1 and retain a copy of x to allow + special_case to fix special lanes later. This is only necessary if fenv + exceptions are to be triggered correctly. */ + if (unlikely (v_any_u32 (cmp))) + x = vbslq_f32 (cmp, v_f32 (1), x); +#endif + + /* exp2(x) = 2^n (1 + poly(r)), with 1 + poly(r) in [1/sqrt(2),sqrt(2)] + x = n + r, with r in [-1/2, 1/2]. */ + n = vrndaq_f32 (x); + r = vsubq_f32 (x, n); + e = vshlq_n_u32 (vreinterpretq_u32_s32 (vcvtaq_s32_f32 (x)), 23); + scale = vreinterpretq_f32_u32 (vaddq_u32 (e, d->exponent_bias)); + +#if !WANT_SIMD_EXCEPT + cmp = vcagtq_f32 (n, d->special_bound); +#endif + + r2 = vmulq_f32 (r, r); + p = vfmaq_f32 (C (1), C (0), r); + q = vfmaq_f32 (C (3), C (2), r); + q = vfmaq_f32 (q, p, r2); + p = vmulq_f32 (C (4), r); + poly = vfmaq_f32 (p, q, r2); + + if (unlikely (v_any_u32 (cmp))) +#if WANT_SIMD_EXCEPT + return special_case (xm, vfmaq_f32 (scale, poly, scale), cmp); +#else + return special_case (poly, n, e, cmp, scale, d); +#endif + + return vfmaq_f32 (scale, poly, scale); +} diff --git a/contrib/arm-optimized-routines/math/aarch64/v_exp2f_1u.c b/contrib/arm-optimized-routines/math/aarch64/v_exp2f_1u.c new file mode 100644 index 000000000000..ba6b02fbb4bc --- /dev/null +++ b/contrib/arm-optimized-routines/math/aarch64/v_exp2f_1u.c @@ -0,0 +1,72 @@ +/* + * Single-precision vector 2^x function. + * + * Copyright (c) 2019-2023, Arm Limited. + * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception + */ + +#include "mathlib.h" +#include "v_math.h" + +static const float Poly[] = { + /* maxerr: 0.878 ulp. */ + 0x1.416b5ep-13f, 0x1.5f082ep-10f, 0x1.3b2dep-7f, 0x1.c6af7cp-5f, 0x1.ebfbdcp-3f, 0x1.62e43p-1f +}; +#define C0 v_f32 (Poly[0]) +#define C1 v_f32 (Poly[1]) +#define C2 v_f32 (Poly[2]) +#define C3 v_f32 (Poly[3]) +#define C4 v_f32 (Poly[4]) +#define C5 v_f32 (Poly[5]) + +#define Shift v_f32 (0x1.8p23f) +#define InvLn2 v_f32 (0x1.715476p+0f) +#define Ln2hi v_f32 (0x1.62e4p-1f) +#define Ln2lo v_f32 (0x1.7f7d1cp-20f) + +static float32x4_t VPCS_ATTR NOINLINE +specialcase (float32x4_t poly, float32x4_t n, uint32x4_t e, float32x4_t absn) +{ + /* 2^n may overflow, break it up into s1*s2. */ + uint32x4_t b = (n <= v_f32 (0.0f)) & v_u32 (0x83000000); + float32x4_t s1 = vreinterpretq_f32_u32 (v_u32 (0x7f000000) + b); + float32x4_t s2 = vreinterpretq_f32_u32 (e - b); + uint32x4_t cmp = absn > v_f32 (192.0f); + float32x4_t r1 = s1 * s1; + float32x4_t r0 = poly * s1 * s2; + return vreinterpretq_f32_u32 ((cmp & vreinterpretq_u32_f32 (r1)) + | (~cmp & vreinterpretq_u32_f32 (r0))); +} + +float32x4_t VPCS_ATTR +_ZGVnN4v_exp2f_1u (float32x4_t x) +{ *** 42574 LINES SKIPPED *** From nobody Mon Apr 8 14:46:54 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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 19:04:12 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz645Vcmz5HYl6; Mon, 8 Apr 2024 19:04: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 4VCz644yPjz4fnN; Mon, 8 Apr 2024 19:04:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2gXTkKpGoongtuFqaor4sI5oSyvuofWB9Igpfdu9ZpI=; b=d/7+Zbr+EQom1QSTcjCtM+30GdsUbg0kXlvbwAxh2OvXaG5+2Ncx6xRSQgoYQf/bRP6BcF EL+re3qQeO6hBUMynZhfTfLIthvtJEoXUiNXlQUJwGbH6pwKco0fqFB1Wi0Zn3TeHTumpf RU1augLsFLzdE4dNnshoTR92pP6MMlqS9Nwu089EMQX40T83qurUiFg8U6cTOH3xXRQYQe 7QmFahHU7Nb9yeV9McReOGBFkn4KAJWC2rO2XgEt0Hw+bwxxiBvf6lq+UeGyFcZ9pdwQ5z hDdj8XBOmITjgMSguL18i1ELKUEvxtfeSN9ZPva3mSQAq8p7+Jv/LSQY3IQ9Vg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603052; a=rsa-sha256; cv=none; b=i+dAKV2wVCBKeNU3zrhCCnRPrOgx0x01rDaQm/kDjeZ4W+80vEcfFlWcHzxAjulNdtXDzV 9gOUoFai9H8n3ifM8fpJ2nRD95kGkwXwmkRGADSEpvkbQR5jcJKmGfMIldE03dKmnMX2zg pRFWPSlmC32CP2ksjCcg7H2D4My1QbMoWO+xNvF55Xf3TUtZuvnJWVGn6LaB304P79ltLl xwAxK5fG7OamoGsyLVZNUMs/prTJGfO890fz73m9eut4ik2NrCNJnUTqIbKfbxlpqqxzQF AK2bQEhJHRYxLofvyoUb/jzwvjy6pBmzL8EaB9PMkvaTOsFAbQDzWX/E2YhH0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2gXTkKpGoongtuFqaor4sI5oSyvuofWB9Igpfdu9ZpI=; b=S3iA+pidue9770VclJ42vPVYtKlkt79jZzz02MRzEpPHg0aQn3lUVOzeh1Pmh4paxIsx6s XKoGHEl26EeyTyft4Ki7lJxRyYfUgrViQaWLh8s12yhluyjbiVeAfsfg9nUN0u3+QaqzCe JB+hn1gEB3Qv47luHoxlc91ziIy6Xk9gY/26OMI1GdtwpjRw/a/aLPztS7tdfQ/8VXN6dS L0GCmAV8uFECze3255Z0Mmu3yRsKwTQ0ZOTSVFxHqffLWILMz/0G7CF+HNt3D0D9vtrCyE jMI1aw05nlAmYkc7e9tVcM1awlBr2vt7r5AWE3babnDvEHBI9jIK6eAbA9wUDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz644VrmzNSj; Mon, 8 Apr 2024 19:04: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 438J4C7O093500; Mon, 8 Apr 2024 19:04:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4CEg093497; Mon, 8 Apr 2024 19:04:12 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:12 GMT Message-Id: <202404081904.438J4CEg093497@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 1449754218d7 - stable/14 - cd9660: Add support for mask,dirmask,uid,gid options List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 1449754218d7842043bf5b73a86b20fd9fa2371d Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1449754218d7842043bf5b73a86b20fd9fa2371d commit 1449754218d7842043bf5b73a86b20fd9fa2371d Author: Ricardo Branco AuthorDate: 2024-01-08 20:24:53 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:25:46 +0000 cd9660: Add support for mask,dirmask,uid,gid options Reviewed by: jhb Pull Request: https://github.com/freebsd/freebsd-src/pull/982 (cherry picked from commit 82f2275b73e556580b155ea9bbf7f7e364458fa1) --- sbin/mount_cd9660/mount_cd9660.8 | 37 ++++++++++++++++++- sbin/mount_cd9660/mount_cd9660.c | 79 ++++++++++++++++++++++++++++++++++++++-- sys/fs/cd9660/cd9660_mount.h | 7 ++++ sys/fs/cd9660/cd9660_vfsops.c | 23 ++++++++++++ sys/fs/cd9660/cd9660_vnops.c | 24 ++++++++++-- sys/fs/cd9660/iso.h | 5 +++ 6 files changed, 167 insertions(+), 8 deletions(-) diff --git a/sbin/mount_cd9660/mount_cd9660.8 b/sbin/mount_cd9660/mount_cd9660.8 index a31e6d833245..af417d4d025e 100644 --- a/sbin/mount_cd9660/mount_cd9660.8 +++ b/sbin/mount_cd9660/mount_cd9660.8 @@ -31,7 +31,7 @@ .\" .\" @(#)mount_cd9660.8 8.3 (Berkeley) 3/27/94 .\" -.Dd August 11, 2018 +.Dd January 2, 2024 .Dt MOUNT_CD9660 8 .Os .Sh NAME @@ -41,8 +41,12 @@ .Nm .Op Fl begjrv .Op Fl C Ar charset +.Op Fl G Ar gid +.Op Fl m Ar mask +.Op Fl M Ar mask .Op Fl o Ar options .Op Fl s Ar startsector +.Op Fl U Ar uid .Ar special node .Sh DESCRIPTION The @@ -68,6 +72,37 @@ Do not strip version numbers on files. only the last one will be listed.) In either case, files may be opened without explicitly stating a version number. +.It Fl G Ar group +Set the group of the files in the file system to +.Ar group . +The default gid on non-Rockridge volumes is zero. +.It Fl U Ar user +Set the owner of the files in the file system to +.Ar user . +The default uid on non-Rockridge volumes is zero. +.It Fl m Ar mask +Specify the maximum file permissions for files +in the file system. +(For example, a +.Ar mask +of +.Li 755 +specifies that, by default, the owner should have +read, write, and execute permissions for files, but +others should only have read and execute permissions). +See +.Xr chmod 1 +for more information about octal file modes. +Only the nine low-order bits of +.Ar mask +are used. +The default +.Ar mask +on non-Rockridge volumes is 755. +.It Fl M Ar mask +Specify the maximum file permissions for directories +in the file system. +See the previous option's description for details. .It Fl j Do not use any Joliet extensions included in the file system. .It Fl o diff --git a/sbin/mount_cd9660/mount_cd9660.c b/sbin/mount_cd9660/mount_cd9660.c index f867e94da417..253b9eb32540 100644 --- a/sbin/mount_cd9660/mount_cd9660.c +++ b/sbin/mount_cd9660/mount_cd9660.c @@ -58,8 +58,11 @@ static char sccsid[] = "@(#)mount_cd9660.c 8.7 (Berkeley) 5/1/95"; #include +#include #include #include +#include +#include #include #include #include @@ -74,6 +77,9 @@ static struct mntopt mopts[] = { MOPT_END }; +static gid_t a_gid(const char *); +static uid_t a_uid(const char *); +static mode_t a_mask(const char *); static int get_ssector(const char *dev); static int set_charset(struct iovec **, int *iovlen, const char *); void usage(void); @@ -94,7 +100,7 @@ main(int argc, char **argv) mntflags = verbose = 0; ssector = -1; - while ((ch = getopt(argc, argv, "begjo:rs:vC:")) != -1) + while ((ch = getopt(argc, argv, "begG:jm:M:o:rs:U:vC:")) != -1) switch (ch) { case 'b': build_iovec(&iov, &iovlen, "brokenjoliet", NULL, (size_t)-1); @@ -105,6 +111,15 @@ main(int argc, char **argv) case 'g': build_iovec(&iov, &iovlen, "gens", NULL, (size_t)-1); break; + case 'G': + build_iovec_argf(&iov, &iovlen, "gid", "%d", a_gid(optarg)); + break; + case 'm': + build_iovec_argf(&iov, &iovlen, "mask", "%u", a_mask(optarg)); + break; + case 'M': + build_iovec_argf(&iov, &iovlen, "dirmask", "%u", a_mask(optarg)); + break; case 'j': build_iovec(&iov, &iovlen, "nojoliet", NULL, (size_t)-1); break; @@ -124,6 +139,9 @@ main(int argc, char **argv) case 's': ssector = atoi(optarg); break; + case 'U': + build_iovec_argf(&iov, &iovlen, "uid", "%d", a_uid(optarg)); + break; case 'v': verbose++; break; @@ -187,8 +205,8 @@ void usage(void) { (void)fprintf(stderr, -"usage: mount_cd9660 [-begjrv] [-C charset] [-o options] [-s startsector]\n" -" special node\n"); +"usage: mount_cd9660 [-begjrv] [-C charset] [-G gid] [-m mask] [-M mask]\n" +" [-o options] [-U uid] [-s startsector] special node\n"); exit(EX_USAGE); } @@ -268,3 +286,58 @@ set_charset(struct iovec **iov, int *iovlen, const char *localcs) return (0); } + +static gid_t +a_gid(const char *s) +{ + struct group *gr; + const char *gname; + gid_t gid; + + if ((gr = getgrnam(s)) != NULL) + gid = gr->gr_gid; + else { + for (gname = s; *s && isdigit(*s); ++s); + if (!*s) + gid = atoi(gname); + else + errx(EX_NOUSER, "unknown group id: %s", gname); + } + return (gid); +} + +static uid_t +a_uid(const char *s) +{ + struct passwd *pw; + const char *uname; + uid_t uid; + + if ((pw = getpwnam(s)) != NULL) + uid = pw->pw_uid; + else { + for (uname = s; *s && isdigit(*s); ++s); + if (!*s) + uid = atoi(uname); + else + errx(EX_NOUSER, "unknown user id: %s", uname); + } + return (uid); +} + +static mode_t +a_mask(const char *s) +{ + int done, rv; + char *ep; + + done = 0; + rv = -1; + if (*s >= '0' && *s <= '7') { + done = 1; + rv = strtol(optarg, &ep, 8); + } + if (!done || rv < 0 || *ep) + errx(EX_USAGE, "invalid file mode: %s", s); + return (rv); +} diff --git a/sys/fs/cd9660/cd9660_mount.h b/sys/fs/cd9660/cd9660_mount.h index 99642603cc7a..97637f66ad93 100644 --- a/sys/fs/cd9660/cd9660_mount.h +++ b/sys/fs/cd9660/cd9660_mount.h @@ -42,6 +42,10 @@ struct iso_args { char *fspec; /* block special device to mount */ struct oexport_args export; /* network export info */ + uid_t uid; /* uid that owns ISO-9660 files */ + gid_t gid; /* gid that owns ISO-9660 files */ + mode_t fmask; /* file mask to be applied for files */ + mode_t dmask; /* file mask to be applied for directories */ int flags; /* mounting flags, see below */ int ssector; /* starting sector, 0 for 1st session */ char *cs_disk; /* disk charset for Joliet cs conversion */ @@ -53,3 +57,6 @@ struct iso_args { #define ISOFSMNT_NOJOLIET 0x00000008 /* disable Joliet Ext.*/ #define ISOFSMNT_BROKENJOLIET 0x00000010/* allow broken Joliet disks */ #define ISOFSMNT_KICONV 0x00000020 /* Use libiconv to convert chars */ + +#define ISOFSMNT_UID 0x00000100 /* override uid */ +#define ISOFSMNT_GID 0x00000200 /* override gid */ diff --git a/sys/fs/cd9660/cd9660_vfsops.c b/sys/fs/cd9660/cd9660_vfsops.c index 38e80a761231..25a56ea1595e 100644 --- a/sys/fs/cd9660/cd9660_vfsops.c +++ b/sys/fs/cd9660/cd9660_vfsops.c @@ -107,6 +107,12 @@ cd9660_cmount(struct mntarg *ma, void *data, uint64_t flags) ma = mount_argsu(ma, "from", args.fspec, MAXPATHLEN); ma = mount_arg(ma, "export", &args.export, sizeof(args.export)); + if (args.flags & ISOFSMNT_UID) + ma = mount_argf(ma, "uid", "%d", args.uid); + if (args.flags & ISOFSMNT_GID) + ma = mount_argf(ma, "gid", "%d", args.gid); + ma = mount_argf(ma, "mask", "%d", args.fmask); + ma = mount_argf(ma, "dirmask", "%d", args.dmask); ma = mount_argsu(ma, "cs_disk", args.cs_disk, 64); ma = mount_argsu(ma, "cs_local", args.cs_local, 64); ma = mount_argf(ma, "ssector", "%u", args.ssector); @@ -221,6 +227,7 @@ iso_mountfs(struct vnode *devvp, struct mount *mp) struct g_consumer *cp; struct bufobj *bo; char *cs_local, *cs_disk; + int v; dev = devvp->v_rdev; dev_ref(dev); @@ -390,6 +397,7 @@ iso_mountfs(struct vnode *devvp, struct mount *mp) isomp->im_mountp = mp; isomp->im_dev = dev; isomp->im_devvp = devvp; + isomp->im_fmask = isomp->im_dmask = ACCESSPERMS; vfs_flagopt(mp->mnt_optnew, "norrip", &isomp->im_flags, ISOFSMNT_NORRIP); vfs_flagopt(mp->mnt_optnew, "gens", &isomp->im_flags, ISOFSMNT_GENS); @@ -397,6 +405,21 @@ iso_mountfs(struct vnode *devvp, struct mount *mp) vfs_flagopt(mp->mnt_optnew, "nojoliet", &isomp->im_flags, ISOFSMNT_NOJOLIET); vfs_flagopt(mp->mnt_optnew, "kiconv", &isomp->im_flags, ISOFSMNT_KICONV); + if (vfs_scanopt(mp->mnt_optnew, "uid", "%d", &v) == 1) { + isomp->im_flags |= ISOFSMNT_UID; + isomp->im_uid = v; + } + if (vfs_scanopt(mp->mnt_optnew, "gid", "%d", &v) == 1) { + isomp->im_flags |= ISOFSMNT_GID; + isomp->im_gid = v; + } + if (vfs_scanopt(mp->mnt_optnew, "mask", "%d", &v) == 1) { + isomp->im_fmask &= v; + } + if (vfs_scanopt(mp->mnt_optnew, "dirmask", "%d", &v) == 1) { + isomp->im_dmask &= v; + } + /* Check the Rock Ridge Extension support */ if (!(isomp->im_flags & ISOFSMNT_NORRIP)) { if ((error = bread(isomp->im_devvp, (isomp->root_extent + diff --git a/sys/fs/cd9660/cd9660_vnops.c b/sys/fs/cd9660/cd9660_vnops.c index 8601b31673c4..cb619379e2cc 100644 --- a/sys/fs/cd9660/cd9660_vnops.c +++ b/sys/fs/cd9660/cd9660_vnops.c @@ -59,6 +59,7 @@ #include #include +#include #include static vop_setattr_t cd9660_setattr; @@ -122,6 +123,9 @@ cd9660_access(struct vop_access_args *ap) struct vnode *vp = ap->a_vp; struct iso_node *ip = VTOI(vp); accmode_t accmode = ap->a_accmode; + accmode_t file_mode; + uid_t uid; + gid_t gid; if (vp->v_type == VCHR || vp->v_type == VBLK) return (EOPNOTSUPP); @@ -143,8 +147,16 @@ cd9660_access(struct vop_access_args *ap) } } - return (vaccess(vp->v_type, ip->inode.iso_mode, ip->inode.iso_uid, - ip->inode.iso_gid, ap->a_accmode, ap->a_cred)); + file_mode = ip->inode.iso_mode; + file_mode &= (vp->v_type == VDIR) ? ip->i_mnt->im_dmask : ip->i_mnt->im_fmask; + + uid = (ip->i_mnt->im_flags & ISOFSMNT_UID) ? + ip->i_mnt->im_uid : ip->inode.iso_uid; + gid = (ip->i_mnt->im_flags & ISOFSMNT_GID) ? + ip->i_mnt->im_gid : ip->inode.iso_gid; + + return (vaccess(vp->v_type, file_mode, uid, + gid, ap->a_accmode, ap->a_cred)); } static int @@ -172,9 +184,13 @@ cd9660_getattr(struct vop_getattr_args *ap) vap->va_fileid = ip->i_number; vap->va_mode = ip->inode.iso_mode; + vap->va_mode &= (vp->v_type == VDIR) ? ip->i_mnt->im_dmask : ip->i_mnt->im_fmask; + vap->va_nlink = ip->inode.iso_links; - vap->va_uid = ip->inode.iso_uid; - vap->va_gid = ip->inode.iso_gid; + vap->va_uid = (ip->i_mnt->im_flags & ISOFSMNT_UID) ? + ip->i_mnt->im_uid : ip->inode.iso_uid; + vap->va_gid = (ip->i_mnt->im_flags & ISOFSMNT_GID) ? + ip->i_mnt->im_gid : ip->inode.iso_gid; vap->va_atime = ip->inode.iso_atime; vap->va_mtime = ip->inode.iso_mtime; vap->va_ctime = ip->inode.iso_ctime; diff --git a/sys/fs/cd9660/iso.h b/sys/fs/cd9660/iso.h index ac3f61e56cc1..bf98e75c42d9 100644 --- a/sys/fs/cd9660/iso.h +++ b/sys/fs/cd9660/iso.h @@ -239,6 +239,11 @@ struct iso_mnt { struct g_consumer *im_cp; struct bufobj *im_bo; + uid_t im_uid; + gid_t im_gid; + mode_t im_fmask; + mode_t im_dmask; + int logical_block_size; int im_bshift; int im_bmask; From nobody Mon Apr 8 19:04:13 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz656gnmz5HYVg; Mon, 8 Apr 2024 19:04: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 4VCz655rgVz4g1P; Mon, 8 Apr 2024 19:04:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VZcp6tSjkwHlZ6d7jvOYl8h0g+S/Sc9RQlliC4YyLzI=; b=PjyR5k9ErGjS/NZg+HZ/OYwwTf5aI8qU2CXTFst7Wn8Y4Glhe3reTTHoQ3x2QOiXLycyUD 9Hm6v4he3HEc+Kjby0ihc/VjP1lyNmifiCvJywxrvXnHUTN2/pIzf30JW3YZXDBZ+CtVYp Zo7WKwu3T0LUgtgtf/oZON+6IGZE/x19qGEhU7oXmki1zJn6lD8JKH+ouiBpwMVo4bJRY2 qPHgCsRy18ud/wIrB86mG8uMDe1i2r9Il78CCoSZfZ2xLxdlVW/akh7ZTLAp19oGzk/yNu v8SA8uilJ/GKxpTfeLjTrMOfV1WcGsBkXgTUDrCcnseLaqlmgayTR5ba47r46g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603053; a=rsa-sha256; cv=none; b=SPqyPkwudZ7K45FeOaa7wQmWXfPUm/+IjHt34BUXkeMx9Ny7UFpvx6ZK8hcS2Et2gCnYlo jQl7JqOsyqjV5T0rcwaPbBNUrHeOwfYLdKr0GqAn/eTovF8PsodjoHvZ4WOvFOBCqPUNja esS8CCKpgd3sTPazZUNJtOlc6VLbVmsFmok/UYBXizp9wow65tX5McXvavBs5PIK+AeXMr MR6W8a3ocOHk4FoOmHjn0J3hjTHi0+40Sh1BYPF0rkn1K4HELCQgJRVcl6lFEJ65sSGqH3 pEIYD7RIF4J6HEMOEIbqGQ/laWX5z/N5rC7NPbYRcB1YyL9ucXevQXSkqLNaGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VZcp6tSjkwHlZ6d7jvOYl8h0g+S/Sc9RQlliC4YyLzI=; b=k+kmDWnJeMJWcBbJaPzYL9IGKFfr3NgmCz3B1Gj4cUAc5jV+PkGWZG6kSj7EtN6Yrp9LwJ 1ZFE6cKQ9x1xeyAvoovQ3vpVtL55NP4xGEJZ6VpyTaxktES+FwGz9UD22h5qwCaQuzONWP pdOjHyx3ge7HWKDnquxoLZgTN1mH1jj8cRpathiiFZ4yKeGtuyx0M7mbVRHmG2ll7u8dtr CklTxZzaGLoS2oN421XvHc6koeE8tnBy3amhqqHDFffZmWUrim5RDktNrzstURwY9nIfHP KC/uTbsyNB+nJXmPcJWpcGSqWgmeaWolVdq8lOHoyEyT53QWyCwG6Wxbomd+TA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz655S5WzNN2; Mon, 8 Apr 2024 19:04: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 438J4DaU093546; Mon, 8 Apr 2024 19:04:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4DdU093543; Mon, 8 Apr 2024 19:04:13 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:13 GMT Message-Id: <202404081904.438J4DdU093543@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 3b2b83bcef04 - stable/14 - Stop using expressions in _Alignof() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 3b2b83bcef04857097666e2784653cfab78ba366 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3b2b83bcef04857097666e2784653cfab78ba366 commit 3b2b83bcef04857097666e2784653cfab78ba366 Author: Minsoo Choo AuthorDate: 2024-01-12 23:37:53 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:26:16 +0000 Stop using expressions in _Alignof() _Alignof(expression) is a non-standard extension. This is not allowed in gnu11 and gnu17 which follow the C11 standard _Alignof(type). Reviewed by: arichardson, imp, jhb Fixes: 4a9cd9fc22d7 amd64 db_trace: Reject unaligned frame pointers Fixes: 7ccaf76a27f1 riscv db_trace: Ensure trapframe pointer is suitably aligned. Fixes: 638c68897fbd arm64 db_trace: Ensure trapframe pointer is suitably aligned. Differential Revision: https://reviews.freebsd.org/D43409 (cherry picked from commit 03d04bf49492fc70366e6d78194336a4122282a2) --- sys/amd64/amd64/db_trace.c | 3 ++- sys/arm64/arm64/db_trace.c | 2 +- sys/riscv/riscv/db_trace.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/amd64/amd64/db_trace.c b/sys/amd64/amd64/db_trace.c index f9a0c2b6a03e..73b03334ffae 100644 --- a/sys/amd64/amd64/db_trace.c +++ b/sys/amd64/amd64/db_trace.c @@ -206,7 +206,8 @@ db_nextframe(db_addr_t *fp, db_addr_t *ip, struct thread *td) */ tf_addr = *fp + 16; - if (!__is_aligned(tf_addr, _Alignof(*tf)) || !INKERNEL(tf_addr)) { + if (!__is_aligned(tf_addr, _Alignof(struct trapframe)) || + !INKERNEL(tf_addr)) { db_printf("--- invalid trapframe %p\n", (void *)tf_addr); *ip = 0; *fp = 0; diff --git a/sys/arm64/arm64/db_trace.c b/sys/arm64/arm64/db_trace.c index cb1c0789b03f..87ff4b725297 100644 --- a/sys/arm64/arm64/db_trace.c +++ b/sys/arm64/arm64/db_trace.c @@ -93,7 +93,7 @@ db_stack_trace_cmd(struct thread *td, struct unwind_state *frame) struct trapframe *tf; tf = (struct trapframe *)(uintptr_t)frame->fp - 1; - if (!__is_aligned(tf, _Alignof(*tf)) || + if (!__is_aligned(tf, _Alignof(struct trapframe)) || !kstack_contains(td, (vm_offset_t)tf, sizeof(*tf))) { db_printf("--- invalid trapframe %p\n", tf); diff --git a/sys/riscv/riscv/db_trace.c b/sys/riscv/riscv/db_trace.c index 12972839c29d..148ad88b3ffb 100644 --- a/sys/riscv/riscv/db_trace.c +++ b/sys/riscv/riscv/db_trace.c @@ -84,7 +84,7 @@ db_stack_trace_cmd(struct thread *td, struct unwind_state *frame) struct trapframe *tf; tf = (struct trapframe *)(uintptr_t)frame->sp; - if (!__is_aligned(tf, _Alignof(*tf)) || + if (!__is_aligned(tf, _Alignof(struct trapframe)) || !kstack_contains(td, (vm_offset_t)tf, sizeof(*tf))) { db_printf("--- invalid trapframe %p\n", tf); From nobody Mon Apr 8 19:04:14 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz671Wvcz5HYVk; Mon, 8 Apr 2024 19:04: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 4VCz6703SHz4fr5; Mon, 8 Apr 2024 19:04:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603055; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iu+YatGObTpd7gnIfKaBEvyCJ7S2Qa4DKY9dob2XnOM=; b=lEC4D0Wi4F/p+/8cCO2FDnfb6wsWZ8sF69QB7smjAvkWetRI2AzU1FoQxlmxr314AHbDlI SeaAxsqz2H5lO39aa/dhEigRndXd3JlSXFILDn+Ga5lwO4aOyXkmVTXaIg1C7vk5OMPbyp rhiwKPCi7NRu+eMeCX5j+M2WtO0bG/x+LHkBsUVnUwA7HuUSZM0/loL99nxoZDxH7R8ggW 9CwP/wRFlgboJDXOrf1C0pXJPmfOHaclzUvLcIFIfpqCTA7eGeosyHdyN16RO3ieTOquWw dOEDejJUIT7ud0dwcOls2EhvNcSogUEo9h75WAcFDUnxXdHf6yVixKa72vzWzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603055; a=rsa-sha256; cv=none; b=s1bI6hVrkuwgTlR5/dFXONUZVxc9ljYKR+EuyorTim76miftBrameIl/fqykBjmpA+MWon 2GudvuFDn1VtujuwjedJHO4lLKYz8w3q2oh4mnZNpflbhW9S7FxdIFUfMXR2MkBhYBde6c VqauLoiid+e9DFP+dcAXnLTqApavT+TDv/WopEQ5BGvlOIelKPzVsjS0L47nvdQc1m+Y86 TAuKB9Wat2rGrv186TrKzvTYqELCz3gqE4L/1lWOdNNlm153lv6qkPOwoGkCauWLNwbROC tKZH0TBCLWqxUueSZLK2+AXRvAOHenaqG1VphkeTkLO3HFehKxRJdsNlm/d2OA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603055; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iu+YatGObTpd7gnIfKaBEvyCJ7S2Qa4DKY9dob2XnOM=; b=EZyRBWdR/kUk4wHk7iBJgcCsRRDqHNif2Qa8M+/FNz5DsOI2TaQYHb06UHtiN8Sj28qflE XuIXqmX4Rg3V+6Iuv1fq/VIxybSyN5PZ7P7a38EpyDydF5nWqBTYdlS+bq12SUVUydHEWq Tqq4VKC0y9CGyFeu/a5AJ3Lh5Y6o86S3yLaxMqgEhf7PcWbNFXXD+DWVKPDSg//XtCxzX6 gqIg9U+MwUFBzk2FjftLQZPz9/bp+SU/kquzNIGletAEUjxwuv3MavOKZfzJ1AP68Ni3Sk PjPcc/oOQKyn/XEBEGQSB/13VyCjYXkXY2AWdxW/yJ2DyJDBuJO0JYkgTb1A3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz666TQkzNSk; Mon, 8 Apr 2024 19:04: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 438J4EeJ093615; Mon, 8 Apr 2024 19:04:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4Eea093612; Mon, 8 Apr 2024 19:04:14 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:14 GMT Message-Id: <202404081904.438J4Eea093612@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 1aebbbc69bb6 - stable/14 - find: Allow '/' to be used with -perm for GNU compatibility List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 1aebbbc69bb65f35c60493479df62486a7b74a04 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1aebbbc69bb65f35c60493479df62486a7b74a04 commit 1aebbbc69bb65f35c60493479df62486a7b74a04 Author: Ricardo Branco AuthorDate: 2024-01-15 18:35:27 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:33:19 +0000 find: Allow '/' to be used with -perm for GNU compatibility In 2005, Gnu find deprecated '+' as the leading character for the -perm argument, instead preferring '/' with the same meaning. Implement that behavior here, and document it in the man page. Reviewed by: imp, emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/1060 (cherry picked from commit 2a121b97e9673ff37062c9fa026eee969940d2e2) --- usr.bin/find/find.1 | 19 ++++++++++++++++--- usr.bin/find/function.c | 2 +- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/usr.bin/find/find.1 b/usr.bin/find/find.1 index afa4c7ab8215..a73196180e7c 100644 --- a/usr.bin/find/find.1 +++ b/usr.bin/find/find.1 @@ -30,7 +30,7 @@ .\" .\" @(#)find.1 8.7 (Berkeley) 5/9/95 .\" -.Dd December 22, 2023 +.Dd January 15, 2024 .Dt FIND 1 .Os .Sh NAME @@ -759,7 +759,7 @@ Slashes .Pq Dq Li / are treated as normal characters and do not have to be matched explicitly. -.It Ic -perm Oo Cm - Ns | Ns Cm + Oc Ns Ar mode +.It Ic -perm Oo Cm - Ns | Ns Cm + Ns | Ns Cm / Oc Ns Ar mode The .Ar mode may be either symbolic (see @@ -788,11 +788,14 @@ are set in the file's mode bits. If the .Ar mode is preceded by a plus -.Pq Dq Li + , +.Pq Dq Li + this primary evaluates to true if any of the bits in the .Ar mode are set in the file's mode bits. +A slash +.Pq Dq Li / +is also accepted with the same meaning as plus for compatibility with GNU find. Otherwise, this primary evaluates to true if the bits in the .Ar mode @@ -1118,6 +1121,16 @@ option was inspired by the equivalent and .Xr sed 1 options. +.Pp +The +.Ic -perm +primary accepts a leading slash +.Pq Dq Li / +as an alias for a leading plus +.Pq Dq Li + +for its argument as an extension of +.St -p1003.1-2001 +to be compatible with GNU find. .Sh HISTORY A simple .Nm diff --git a/usr.bin/find/function.c b/usr.bin/find/function.c index d887c8479099..9c1fd4df8731 100644 --- a/usr.bin/find/function.c +++ b/usr.bin/find/function.c @@ -1343,7 +1343,7 @@ c_perm(OPTION *option, char ***argvp) if (*perm == '-') { new->flags |= F_ATLEAST; ++perm; - } else if (*perm == '+') { + } else if (*perm == '+' || *perm == '/') { new->flags |= F_ANY; ++perm; } From nobody Mon Apr 8 19:04:15 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz683sQ1z5HYVn; Mon, 8 Apr 2024 19:04: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 4VCz680qXQz4g1s; Mon, 8 Apr 2024 19:04:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603056; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F02HvsLVpPfm0P24elFErZHTm83saaIaeE4VrzuSXjM=; b=DxmGeNQprE3f3O17bQjQtpeybUDxujgYX310uI5Ge4gODm6SVNv72QLi3dF2zbD5aj2dYQ MMwjczRiQQB+Btf9Y0iqiZvsDmPJMY8EIln8XbZIVg0nqirYmc36XZaQt1T8fFnKI+05ih J3qxkwPKugxEMjDoE1/qI4pd/kvVMgePfb8jekrnyiQbQ7dxbfgw4SFydDE4fwYIGiAZCR M2FNwFkx8tFNcqYYjrDepmk4RHJJEXi4EceSEb+vnXs1mirO5opwSXFMVAw1SXNMNHydgt Aw10TRhiwguWoEVTman6KlZHXUEzLhhACRkrJ4XTNzvzJTFlf6TIx2KCBwqIbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603056; a=rsa-sha256; cv=none; b=sjINibExDxfzyIR0uto7F1zayPGTTUEmKgSvCMb1uKyRf7rqFBUzFKXQDhdm8ZdhYvNg01 h9FJYMCTLICBXQfjwSDptcKal1AujZhyV3FVRn2DKuYLaIcELXzrxyGUFNgbumxoHcm76u IfSPGbrQ2RW8h/W4MPAI/mDmBJZAGHOYwEgq79uGJXY+McKfPr19JYUOsxvOwvzUU/AGkT obWfQZocNCyp0zJDjYqyvySHgyhfk7LcRV1KrUAGRRuQUS1nghc61VBI85pAUym8RwvFof RoF0Cixpr1Lpxafcsh7GEzP6l62Zwz8ReXlcRsAW6oCo2qqMkGryxepRzlC4WQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603056; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F02HvsLVpPfm0P24elFErZHTm83saaIaeE4VrzuSXjM=; b=jh3pmUvpDrk7PgXcLGD2VABGvEYlLFgq6MLFL4Lw8LRe3n1CVT+qtcTA7FH+bDUefoXn1u 1DzK3rb2Q+r73wgXrznumPgJlx9bXS/eZdvbHRAhU6+OxGsfv/Y1r4Co//3f8iPLy1gmbq Wn0IqMaDVFZQuAIRC4ypPYpcdviOzNwmXAeopwzt/LkrEVFNdBeKLVHEkObF3Rrm1WpiWJ H2/B7sYlsjTNL9Xh7LmujFuV6zi0wD7cM3VBuAu62E0W5M/0rF5U5R/S2QMuwR+rv7Gq0G 19KLC2Wv8Z1odY5pR0eLlcKQnnHAbhmJj92f8UVCGinsC9hi02OHSdhySABMdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz680RKLzNdg; Mon, 8 Apr 2024 19:04: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 438J4FjM093663; Mon, 8 Apr 2024 19:04:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4FOv093660; Mon, 8 Apr 2024 19:04:15 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:15 GMT Message-Id: <202404081904.438J4FOv093660@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 551f4b478bf8 - stable/14 - find: Add -readable, -writable & -executable options List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 551f4b478bf833aa8b268299cad90508b1ff4311 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=551f4b478bf833aa8b268299cad90508b1ff4311 commit 551f4b478bf833aa8b268299cad90508b1ff4311 Author: Ricardo Branco AuthorDate: 2024-01-21 19:53:05 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:34:32 +0000 find: Add -readable, -writable & -executable options Reviewed by: jhb, Mina Galić Pull Request: https://github.com/freebsd/freebsd-src/pull/1080 (cherry picked from commit e4b646ce16105efc943bc8ac2242a2220dfe18d8) --- usr.bin/find/extern.h | 3 +++ usr.bin/find/find.1 | 20 +++++++++++++++++++- usr.bin/find/function.c | 39 +++++++++++++++++++++++++++++++++++++++ usr.bin/find/option.c | 3 +++ 4 files changed, 64 insertions(+), 1 deletion(-) diff --git a/usr.bin/find/extern.h b/usr.bin/find/extern.h index 8c98a6d86bcd..3436f8cf07bf 100644 --- a/usr.bin/find/extern.h +++ b/usr.bin/find/extern.h @@ -88,6 +88,7 @@ exec_f f_delete; exec_f f_depth; exec_f f_empty; exec_f f_exec; +exec_f f_executable; exec_f f_expr; exec_f f_false; exec_f f_flags; @@ -109,11 +110,13 @@ exec_f f_print; exec_f f_print0; exec_f f_prune; exec_f f_quit; +exec_f f_readable; exec_f f_regex; exec_f f_size; exec_f f_sparse; exec_f f_type; exec_f f_user; +exec_f f_writable; extern int ftsoptions, ignore_readdir_race, isdepth, isoutput; extern int issort, isxargs; diff --git a/usr.bin/find/find.1 b/usr.bin/find/find.1 index a73196180e7c..def6a82d0a97 100644 --- a/usr.bin/find/find.1 +++ b/usr.bin/find/find.1 @@ -30,7 +30,7 @@ .\" .\" @(#)find.1 8.7 (Berkeley) 5/9/95 .\" -.Dd January 15, 2024 +.Dd January 21, 2024 .Dt FIND 1 .Os .Sh NAME @@ -467,6 +467,12 @@ if at least one invocation of returns a non-zero exit status, .Nm will return a non-zero exit status. +.It Ic -executable +Matches files which are executable by the current user. +This test makes use of the +.Xr access 2 +system call, and so can be fooled by NFS servers which do UID mapping (or root-squashing). +This is a GNU find extension. .It Ic -flags Oo Cm - Ns | Ns Cm + Oc Ns Ar flags , Ns Ar notflags The flags are specified using symbolic names (see .Xr chflags 1 ) . @@ -831,6 +837,12 @@ option was specified. Causes .Nm to terminate immediately. +.It Ic -readable +Matches files which are readable by the current user. +This test makes use of the +.Xr access 2 +system call, and so can be fooled by NFS servers which do UID mapping (or root-squashing). +This is a GNU find extension. .It Ic -regex Ar pattern True if the whole path of the file matches .Ar pattern @@ -927,6 +939,12 @@ is treated as a user ID. The same thing as .Ic -path , for GNU find compatibility. +.It Ic -writable +Matches files which are writable by the current user. +This test makes use of the +.Xr access 2 +system call, and so can be fooled by NFS servers which do UID mapping (or root-squashing). +This is a GNU find extension. .El .Sh OPERATORS The primaries may be combined using the following operators. diff --git a/usr.bin/find/function.c b/usr.bin/find/function.c index 9c1fd4df8731..d28c0edced9e 100644 --- a/usr.bin/find/function.c +++ b/usr.bin/find/function.c @@ -1813,3 +1813,42 @@ f_quit(PLAN *plan __unused, FTSENT *entry __unused) } /* c_quit == c_simple */ + +/* + * -readable + * + * File is readable + */ +int +f_readable(PLAN *plan __unused, FTSENT *entry) +{ + return (access(entry->fts_path, R_OK) == 0); +} + +/* c_readable == c_simple */ + +/* + * -writable + * + * File is writable + */ +int +f_writable(PLAN *plan __unused, FTSENT *entry) +{ + return (access(entry->fts_path, W_OK) == 0); +} + +/* c_writable == c_simple */ + +/* + * -executable + * + * File is executable + */ +int +f_executable(PLAN *plan __unused, FTSENT *entry) +{ + return (access(entry->fts_path, X_OK) == 0); +} + +/* c_executable == c_simple */ diff --git a/usr.bin/find/option.c b/usr.bin/find/option.c index c5b461f3389b..dc5e5003b3fb 100644 --- a/usr.bin/find/option.c +++ b/usr.bin/find/option.c @@ -80,6 +80,7 @@ static OPTION const options[] = { { "-empty", c_empty, f_empty, 0 }, { "-exec", c_exec, f_exec, 0 }, { "-execdir", c_exec, f_exec, F_EXECDIR }, + { "-executable", c_simple, f_executable, 0 }, { "-false", c_simple, f_false, 0 }, #if HAVE_STRUCT_STAT_ST_FLAGS { "-flags", c_flags, f_flags, 0 }, @@ -154,6 +155,7 @@ static OPTION const options[] = { // -printf { "-prune", c_simple, f_prune, 0 }, { "-quit", c_simple, f_quit, 0 }, + { "-readable", c_simple, f_readable, 0 }, { "-regex", c_regex, f_regex, 0 }, { "-samefile", c_samefile, f_inum, 0 }, { "-size", c_size, f_size, 0 }, @@ -163,6 +165,7 @@ static OPTION const options[] = { { "-uid", c_user, f_user, 0 }, { "-user", c_user, f_user, 0 }, { "-wholename", c_name, f_path, 0 }, + { "-writable", c_simple, f_writable, 0 }, { "-xdev", c_xdev, f_always_true, 0 }, // -xtype }; From nobody Mon Apr 8 19:04:17 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz695XbWz5HYlB; Mon, 8 Apr 2024 19:04: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 4VCz691sj3z4fyx; Mon, 8 Apr 2024 19:04:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603057; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dsQkTde43qrA3/qdbR2yd6Tyzv3jIhHlaExpY7KAPyA=; b=iNFC+gtMwfT9sI6xwBy6FlIKAEd3rjCsGx+kKL3Vo0u0zyRu7Ie0AWc4ES4f7lBSBKPso2 3+HonxL+fv533q7hTR5+niMjawJxKsm/cgxSGYvSPlNrSU6t05vkeKOuyAdrnbeDD42gLZ HnyELxpOo6NpvTLK5J7GVqR62Qtq9Zh90BaEB10g0gvDgfRkOuA1t3F4CSYEwN/31qp2yI y8cDRRuR66CfhXU+nXm+uFFC8Keve6m7Nta3v5cqvY7MdYBWvAb1VXR5jSekCwT0Kaqk/z e/3pVLrzZQJ3UkpRs7vKBUrhnk0VyYWYkSkK0nhLt+4Mc/uzEZ8AsQljV86zXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603057; a=rsa-sha256; cv=none; b=lAlWO+u2RtFW0r48wk7CuovwE0FiQU79ocliESPkq3XWT+odbpJAYAcakALkkvSDT0/s4B gQ3f6JuiW5yiGSRyNMFMz7eP9rdLpxEyn7B98bR4nGXuUa0CflT4RAooBVzJ48n6h5HckK IDZcndbSml3SKMtGQJcUFpncUYMzTUtU+CbcjQK9v+IL8kfKxMqJxj62AA/8oJl5zUOG6v 1YN1QmX9p8mMBgUMpIzyUIDsj0mtEzJV+PHXrNZbN4M3SPgg+NCIeeitp86I37PeC+9P7K XJeVbX79xCQSQlFvF0RTtBOq+evx6tJ/UPoh4NfFGdiB3E+WxL+sDqTD3Mm4HQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603057; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dsQkTde43qrA3/qdbR2yd6Tyzv3jIhHlaExpY7KAPyA=; b=VyIqqoQiiy9VcPyY3VY+zs+YU397mwectbNIlgn9I1iQJUZbv3ocTk8vAkxXcSgWSdSVIh pUO1aLjFjWgoplXYizCf9PFAYqTmMEnrn/hjmQ45c4Fh9jsr8qQ81RVH7PWKAe9QgrOWz0 YIUjVgbrp4/rb4ckQZ3/bgU5INuVD2JRz0PYxKGXq+5v0/Z52WTLVmbfzaCWHnkhR/VYR9 UK1cDQWVcNNAjIpRpOdA7+M+izrVa+7jzAHcrvG2BShPo5XohtPNRiIhXEOS0BZNa2QIPr D1upWcWaH4i8XoRQ1l/fEaOuTl6rYvubCWYuhUprgKP0pW7iaOLN/96T7XgXsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz691ML4zNQ9; Mon, 8 Apr 2024 19:04: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 438J4HPD093696; Mon, 8 Apr 2024 19:04:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4HRh093693; Mon, 8 Apr 2024 19:04:17 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:17 GMT Message-Id: <202404081904.438J4HRh093693@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 4fa4e6a3c80e - stable/14 - netlink.h: s/typeof/__typeof List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4fa4e6a3c80eb3a4f34877fcff60016e93e4be9d Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4fa4e6a3c80eb3a4f34877fcff60016e93e4be9d commit 4fa4e6a3c80eb3a4f34877fcff60016e93e4be9d Author: Lexi Winter AuthorDate: 2024-01-18 02:34:39 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:37:44 +0000 netlink.h: s/typeof/__typeof typeof() does not exist in -std=c99 mode and the relevant #define is only for _KERNEL, so use __typeof here instead. Reviewed by: jhb MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/1070 (cherry picked from commit 4261507a5e3e73ef6f9535935d22785056954b19) --- sys/netlink/netlink.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netlink/netlink.h b/sys/netlink/netlink.h index 759bbed6139c..2cffa7299ef4 100644 --- a/sys/netlink/netlink.h +++ b/sys/netlink/netlink.h @@ -204,7 +204,7 @@ enum nlmsginfo_attrs { #define NL_ITEM_OK(_ptr, _len, _hlen, _LEN_M) \ ((_len) >= _hlen && _LEN_M(_ptr) >= _hlen && _LEN_M(_ptr) <= (_len)) -#define NL_ITEM_NEXT(_ptr, _LEN_M) ((typeof(_ptr))((char *)(_ptr) + _LEN_M(_ptr))) +#define NL_ITEM_NEXT(_ptr, _LEN_M) ((__typeof(_ptr))((char *)(_ptr) + _LEN_M(_ptr))) #define NL_ITEM_ITER(_ptr, _len, _LEN_MACRO) \ ((_len) -= _LEN_MACRO(_ptr), NL_ITEM_NEXT(_ptr, _LEN_MACRO)) From nobody Mon Apr 8 19:04:18 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6B43P0z5HYdF; Mon, 8 Apr 2024 19:04: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 4VCz6B2P15z4g7G; Mon, 8 Apr 2024 19:04:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603058; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TtMw/krmFZVUA83Ih8/8dMTYaKP8IWRSmUPGB/+uMLk=; b=ea6wRzTFaxlsQTO7sSGikEJ3ect60pvxq2jGm0BBK4e2+y5FDgH72bE1MolWoEuXcNTF/f Rf3s/Su1mlNEEXso3b4C+5LB9uxnQtQDvuXTyGMHgRSg+G+e5RtjBP7kdSE62xuVfVyO2g MbJbU1st0O6XG98tMT/k6wQnUFxgWJyz6R94Pm7cTzM2eWdF0V9nq7vYmoDEk4ko3AHs7T rYQmdGT7QmrHhqHsRCZzpDhfZ5PzpLAllw0zoWNgGQkTMoMFl8L/IJG1WcF/E+2swog212 YLXE0OJPhrHVWBPgH8nGJCUcmYZFRbOYl6QDAKJjO8IR4KkeEzdQSU4B11Xl0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603058; a=rsa-sha256; cv=none; b=rN5DnGJpXI1jv7AH2+vAPNEoG/ct2EZ/lvkpyqhwAl1mzn1JQwWuleZyFcVoqM7jno8bK+ QrN/sVjYqTaML896NChuqhWQprXwdOs4cFJIil79DgTvvQNLGVVu00BONm4oLUyBpZkwl0 EcIxVD/uTWxI3162UQHwIGPkODiZGRUu+5ymipgVEtXfBu7Drph5wO7fRU4SJV6xntPeki JQXaKW0IELiXmS88nzykL1+4LU4lV0daXf83UjNso+YsMoQmCtnilxSCGCONaYwiXClrWm ZcIycLM4Cwecx1bgG8DHUs3Q7Jl10oS5INMbLE85R0djswC70odI3a1svpiFBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603058; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TtMw/krmFZVUA83Ih8/8dMTYaKP8IWRSmUPGB/+uMLk=; b=bduOoFNawLY3QrvwxP6ksBPkoD42mjcgGTAx9FAnrbmvWBpZz9/X9qzwh0lwXkNwoSK0Sd hIunGfcgT0a0JrVoZpzXFgYJSugz/7ISOn/KpNYd7mSp9DGD+L56kBryGmXLH+kk70ocph ZIflySEEoYX1AEq3iOSCpUHpbJKJo3biVB64w+wJaI5JkSTR33GKr1NRiekU7Xwa5UcXaZ 8jR29o5JFEYldjWHIxNFpcwshCqgpaniB6LdmFZZ/1CCt2roq/GwAKiK0VsLDNZwV6EWO7 YtMTaKiRGgIDsgkhN3IzY6MPd9F+XAYX7e1zT1J2D1CJKUggYfXzvc1He4UwyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6B21RWzNN3; Mon, 8 Apr 2024 19:04: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 438J4Itt093748; Mon, 8 Apr 2024 19:04:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4IJa093745; Mon, 8 Apr 2024 19:04:18 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:18 GMT Message-Id: <202404081904.438J4IJa093745@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: d32c600949d5 - stable/14 - newfs_msdos.8: example for specific cluster size List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: d32c600949d5891c014e9e794562e60caa2859f1 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d32c600949d5891c014e9e794562e60caa2859f1 commit d32c600949d5891c014e9e794562e60caa2859f1 Author: Alexander Ziaee AuthorDate: 2024-01-12 22:12:48 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:37:58 +0000 newfs_msdos.8: example for specific cluster size The usual use case in 2024 for newfs_msdosfs is creating filesystems on SD cards for older hardware. In most tutorials, they call the cluster size "allocation size". Therefore, add a small note next to cluster size that it is also called allocation size, and add an example for how to do this. Reviewed by: jhb Pull Request: https://github.com/freebsd/freebsd-src/pull/1045 (cherry picked from commit c8bf9f09ee3d5ac97d38218f2123893a7f1f0285) --- sbin/newfs_msdos/newfs_msdos.8 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sbin/newfs_msdos/newfs_msdos.8 b/sbin/newfs_msdos/newfs_msdos.8 index 278612548dc4..efa69c058453 100644 --- a/sbin/newfs_msdos/newfs_msdos.8 +++ b/sbin/newfs_msdos/newfs_msdos.8 @@ -23,7 +23,7 @@ .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd June 14, 2018 +.Dd January 12, 2024 .Dt NEWFS_MSDOS 8 .Os .Sh NAME @@ -134,7 +134,7 @@ File system block size (bytes per cluster). This should resolve to an acceptable number of sectors per cluster (see below). .It Fl c Ar cluster-size -Sectors per cluster. +Sectors per cluster, also called allocation size. Acceptable values are powers of 2 in the range 1 through 128. If the block or cluster size are not specified, the code @@ -224,6 +224,12 @@ Create a file system, using default parameters, on newfs_msdos /dev/ada0s1 .Ed .Pp +Create a FAT32 filesystem with a 32K allocation size on +.Pa /dev/mmcsd0s1 : +.Bd -literal -offset indent +newfs_msdos -F 32 -A -c 64 /dev/mmcsd0s1 +.Ed +.Pp Create a standard 1.44M file system, with volume label .Ar foo , on From nobody Mon Apr 8 19:04:19 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6C3y3Sz5HYZq; Mon, 8 Apr 2024 19:04: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 4VCz6C3501z4fwv; Mon, 8 Apr 2024 19:04:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603059; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MfUSQ4+PahNDi/yoBIAv3XZudQf3Y0Mmi7vS1v/lUFw=; b=ZZmgpTp5dJRpt+Wd38i4cK17TpkpnvY/JJ7wVlcn1h0/dFNuD8+GSYXLMEAFaGRC5RVXNK W0FlOr73pFbeXNK2wwt0d3rJqVPYVliFF+QW0vsTjJ5EMoUmOvuqen35Ei028dYFjtj4m6 v0WPewERk1J8V8CNCPoCzNYIidu41ZmUr0EGsh84dL2lUY+UdIiYw4XEfd+gMX53xukAyr X73gnpyefFh6E7tlu584jDpMZAlNu54P4RgazORFu/lXxcYISrobm9Hv6Xhd1xBVa9Izd0 48Om5/TQczkuWlUpEnTYTae4vyxewxoW+3MHSHADscgCjQkRlUhMRsTzAIycbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603059; a=rsa-sha256; cv=none; b=u0l4bz0nPB0RhnlvhD6ySqx+DF9ziIA4vTKGfu6QBh01GEslK0mYuQv1MrHuIlRXdRI3AS i1cS7DVzVKBbJcHGVtq+9tYKaqh7RG8zeIbwKDv0k+11qIXVGJQZEyyK4+2ARdQDOS+nLd IFrzW8BtJxr6mhtG+JZHYiOJcq8JNftnHW/0uMpdlP7w8Q1XvB/9KNxWXOGh4ryXHNQGLu gs8rtxJ1iif75GkzdsPt2Vt9FX7Id+dysXmtXmf7bbqOqQoFeY26p85XkoWiqF78XEljw5 pJyLKVWlDCv+l9fFLZgj9bNrVVSeFAR5PgUOmoO+RAHgO12FPldM2zkYCeqDgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603059; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MfUSQ4+PahNDi/yoBIAv3XZudQf3Y0Mmi7vS1v/lUFw=; b=G/TjTkL++snbyAFJxdDovkwNYCMl7+WypwWdRBrWEXMlUW1ilN/DtwvNs/Vncmfwh1wuCP bx4zl4iaUwRisv/AfHU/lUmMXXmHUK6xSYvhOij7nYh32U0Y6e4Zdwd4BUhd+rb+eiC7/o 6pDWXudFSS8/N5Rz0kBktvJMjevVo7mczG1yowsqOzgls0rghTUH2eqZFewd05wQBvzQ1g K5C89EOI8GstvsXV7CUq/qthcTt4CjHxbGqyJc51vtxAq6L8hYys+SXW2I6OD2GjxlDE4C 6H+3HWfT9fjm5t2lyGp8C2HnDX/n0i5KT86TNo0AUrh97e0WEQxDSRea4hWhMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6C2gLfzNQB; Mon, 8 Apr 2024 19:04: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 438J4JEt093790; Mon, 8 Apr 2024 19:04:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4J5k093787; Mon, 8 Apr 2024 19:04:19 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:19 GMT Message-Id: <202404081904.438J4J5k093787@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: aa61ecf00337 - stable/14 - syscallsubr.h: Sort kern_membarrier prototype alphabetically List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: aa61ecf00337e00502de97b9fe55449ed697a8ec Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=aa61ecf00337e00502de97b9fe55449ed697a8ec commit aa61ecf00337e00502de97b9fe55449ed697a8ec Author: John Baldwin AuthorDate: 2024-01-31 00:38:29 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:38:46 +0000 syscallsubr.h: Sort kern_membarrier prototype alphabetically (cherry picked from commit 14505c92bc8ca56d4c8a09072d043642f5e87ed7) --- sys/sys/syscallsubr.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h index 29c7c364ccf6..50a936591dc7 100644 --- a/sys/sys/syscallsubr.h +++ b/sys/sys/syscallsubr.h @@ -221,13 +221,13 @@ int kern_lseek(struct thread *td, int fd, off_t offset, int whence); int kern_lutimes(struct thread *td, const char *path, enum uio_seg pathseg, const struct timeval *tptr, enum uio_seg tptrseg); int kern_madvise(struct thread *td, uintptr_t addr, size_t len, int behav); +int kern_membarrier(struct thread *td, int cmd, unsigned flags, + int cpu_id); int kern_mincore(struct thread *td, uintptr_t addr, size_t len, char *vec); int kern_minherit(struct thread *td, uintptr_t addr, size_t len, int inherit); int kern_mkdirat(struct thread *td, int fd, const char *path, enum uio_seg segflg, int mode); -int kern_membarrier(struct thread *td, int cmd, unsigned flags, - int cpu_id); int kern_mkfifoat(struct thread *td, int fd, const char *path, enum uio_seg pathseg, int mode); int kern_mknodat(struct thread *td, int fd, const char *path, From nobody Mon Apr 8 19:04:20 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6F0PdKz5HYSN; Mon, 8 Apr 2024 19:04: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 4VCz6D4W0rz4g7q; Mon, 8 Apr 2024 19:04:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZNTN8CF+s4X/Azs/miO3hyIHTqMvz0XUnRdE+K9sPqI=; b=g+BpMGskihq04gMZfCYcYP1nR226TzqgL39Nrp+ijLEFFs4thOsEc1x4rFlJQjdfMuzYgD ChiJujEXn7xqF2UPUPsI6F+Y4oRtp51gB1Fp5rA+dWQS0SjP9YhKsjtgsVklQT3LI4Va+P tww0aogPj5bOnxDW6prJ8DXXVSN6uTQoSfZO+R3kY5ZDvsqd0gpu1WangGTlDe2OgPx634 8o80zSUOySM3ZUrYoDEKoD08kxO93AYC9uUI6ykMNWatJ20Z/pP6Joxex/Bviwtxs/KFHh VuyHT3ybOTuKi+wDZXaGBQYLhdEH2DLCXmREegY+3roywEvZW72GhjqRmjW/qg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603060; a=rsa-sha256; cv=none; b=wzu5JO7+oZbyupp8X2Z3PPi3vwF777X4mP11Iq7sQ6g9V45GgF1oHT59W4ZKApASlxK0aa y93OsFZmRa1IwAQHVOSNhH9+DZQH4TUmSKZ8FiryuWfXeGYEVimOVR9/Zuq1SVUxL8N8S1 ykeCGeLrafTCp8R1A3hYEROujPO7wIPBuwIVITMKIe81iZaBpQe0A8VACjuz0EDuwzUf8R oEBAQoc3qWl1jlSfQU6KlWrtYV/sYkR5aW/tyX9CZTkiruc+tR2iDI0zM8VEHiiF75rC1j hwvXTmmAcFGfh5sgIjznm3uavHQ3ptkRYEJE1HeIB9zfyQ3N6vOfvAu52MiyxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZNTN8CF+s4X/Azs/miO3hyIHTqMvz0XUnRdE+K9sPqI=; b=YBp+lC97A99/lcRNdu3lIo4f0t/IiGHjQ5vHmQ7t47dZE46H4k6JMeb17dS4Vm2kQFiVbU UQfpPao/kJqcBvPDqWmP9FFSCyIq//YJgz4/0Pte8m3/vuLB2v4Z+4lvnWGqWAdaRBCp58 hKqVGAdvgD1Q3q3Gx5dpXC/pAP4M1l9zMTR7dvrQRGeQpOm2a5PWv59dpF4bqQztVLFoJI QZG4JCbt0VpvRNgF6f+O0YKYwonu//kyAZdijTQR9wMitSnG7mpdjNWIXodcuxx0JCJWJD +jQsow0uMEch/pNlHDAPUtYJU8ZkEzF9uKlvjZNwlgQb3kNHgHcD9WMOQkODCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6D46z4zNN4; Mon, 8 Apr 2024 19:04: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 438J4KQo093855; Mon, 8 Apr 2024 19:04:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4Kdh093852; Mon, 8 Apr 2024 19:04:20 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:20 GMT Message-Id: <202404081904.438J4Kdh093852@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 138ed6fee2c2 - stable/14 - cxgbe: Add counters for POSIX async I/O requests handled by the driver List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 138ed6fee2c23f9412906c1212659aa6dbf66a39 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=138ed6fee2c23f9412906c1212659aa6dbf66a39 commit 138ed6fee2c23f9412906c1212659aa6dbf66a39 Author: John Baldwin AuthorDate: 2024-01-31 00:40:31 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:39:16 +0000 cxgbe: Add counters for POSIX async I/O requests handled by the driver Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D43668 (cherry picked from commit c3d4aea6c5bef0dcdc5194d4a828625f4d34a1dc) --- sys/dev/cxgbe/adapter.h | 4 ++++ sys/dev/cxgbe/t4_main.c | 4 ++++ sys/dev/cxgbe/t4_sge.c | 16 ++++++++++++++++ sys/dev/cxgbe/tom/t4_cpl_io.c | 6 +++++- sys/dev/cxgbe/tom/t4_ddp.c | 12 ++++++++++-- 5 files changed, 39 insertions(+), 3 deletions(-) diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h index c3105ecacffd..3157d08cc67b 100644 --- a/sys/dev/cxgbe/adapter.h +++ b/sys/dev/cxgbe/adapter.h @@ -686,6 +686,8 @@ struct sge_ofld_rxq { uint64_t rx_iscsi_padding_errors; uint64_t rx_iscsi_header_digest_errors; uint64_t rx_iscsi_data_digest_errors; + uint64_t rx_aio_ddp_jobs; + uint64_t rx_aio_ddp_octets; u_long rx_toe_tls_records; u_long rx_toe_tls_octets; } __aligned(CACHE_LINE_SIZE); @@ -752,6 +754,8 @@ struct sge_ofld_txq { counter_u64_t tx_iscsi_pdus; counter_u64_t tx_iscsi_octets; counter_u64_t tx_iscsi_iso_wrs; + counter_u64_t tx_aio_jobs; + counter_u64_t tx_aio_octets; counter_u64_t tx_toe_tls_records; counter_u64_t tx_toe_tls_octets; } __aligned(CACHE_LINE_SIZE); diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 3b6cb7285e64..4fbc45e16464 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -12026,6 +12026,8 @@ clear_stats(struct adapter *sc, u_int port_id) counter_u64_zero(ofld_txq->tx_iscsi_pdus); counter_u64_zero(ofld_txq->tx_iscsi_octets); counter_u64_zero(ofld_txq->tx_iscsi_iso_wrs); + counter_u64_zero(ofld_txq->tx_aio_jobs); + counter_u64_zero(ofld_txq->tx_aio_octets); counter_u64_zero(ofld_txq->tx_toe_tls_records); counter_u64_zero(ofld_txq->tx_toe_tls_octets); } @@ -12043,6 +12045,8 @@ clear_stats(struct adapter *sc, u_int port_id) ofld_rxq->rx_iscsi_ddp_octets = 0; ofld_rxq->rx_iscsi_fl_pdus = 0; ofld_rxq->rx_iscsi_fl_octets = 0; + ofld_rxq->rx_aio_ddp_jobs = 0; + ofld_rxq->rx_aio_ddp_octets = 0; ofld_rxq->rx_toe_tls_records = 0; ofld_rxq->rx_toe_tls_octets = 0; } diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c index b742f22a7d78..76293b06a6a9 100644 --- a/sys/dev/cxgbe/t4_sge.c +++ b/sys/dev/cxgbe/t4_sge.c @@ -4146,6 +4146,12 @@ add_ofld_rxq_sysctls(struct sysctl_ctx_list *ctx, struct sysctl_oid *oid, return; children = SYSCTL_CHILDREN(oid); + SYSCTL_ADD_U64(ctx, children, OID_AUTO, "rx_aio_ddp_jobs", + CTLFLAG_RD, &ofld_rxq->rx_aio_ddp_jobs, 0, + "# of aio_read(2) jobs completed via DDP"); + SYSCTL_ADD_U64(ctx, children, OID_AUTO, "rx_aio_ddp_octets", + CTLFLAG_RD, &ofld_rxq->rx_aio_ddp_octets, 0, + "# of octets placed directly for aio_read(2) jobs"); SYSCTL_ADD_ULONG(ctx, children, OID_AUTO, "rx_toe_tls_records", CTLFLAG_RD, &ofld_rxq->rx_toe_tls_records, "# of TOE TLS records received"); @@ -4809,6 +4815,8 @@ alloc_ofld_txq(struct vi_info *vi, struct sge_ofld_txq *ofld_txq, int idx) ofld_txq->tx_iscsi_pdus = counter_u64_alloc(M_WAITOK); ofld_txq->tx_iscsi_octets = counter_u64_alloc(M_WAITOK); ofld_txq->tx_iscsi_iso_wrs = counter_u64_alloc(M_WAITOK); + ofld_txq->tx_aio_jobs = counter_u64_alloc(M_WAITOK); + ofld_txq->tx_aio_octets = counter_u64_alloc(M_WAITOK); ofld_txq->tx_toe_tls_records = counter_u64_alloc(M_WAITOK); ofld_txq->tx_toe_tls_octets = counter_u64_alloc(M_WAITOK); add_ofld_txq_sysctls(&vi->ctx, oid, ofld_txq); @@ -4847,6 +4855,8 @@ free_ofld_txq(struct vi_info *vi, struct sge_ofld_txq *ofld_txq) counter_u64_free(ofld_txq->tx_iscsi_pdus); counter_u64_free(ofld_txq->tx_iscsi_octets); counter_u64_free(ofld_txq->tx_iscsi_iso_wrs); + counter_u64_free(ofld_txq->tx_aio_jobs); + counter_u64_free(ofld_txq->tx_aio_octets); counter_u64_free(ofld_txq->tx_toe_tls_records); counter_u64_free(ofld_txq->tx_toe_tls_octets); free_wrq(sc, &ofld_txq->wrq); @@ -4874,6 +4884,12 @@ add_ofld_txq_sysctls(struct sysctl_ctx_list *ctx, struct sysctl_oid *oid, SYSCTL_ADD_COUNTER_U64(ctx, children, OID_AUTO, "tx_iscsi_iso_wrs", CTLFLAG_RD, &ofld_txq->tx_iscsi_iso_wrs, "# of iSCSI segmentation offload work requests"); + SYSCTL_ADD_COUNTER_U64(ctx, children, OID_AUTO, "tx_aio_jobs", + CTLFLAG_RD, &ofld_txq->tx_aio_jobs, + "# of zero-copy aio_write(2) jobs transmitted"); + SYSCTL_ADD_COUNTER_U64(ctx, children, OID_AUTO, "tx_aio_octets", + CTLFLAG_RD, &ofld_txq->tx_aio_octets, + "# of payload octets in transmitted zero-copy aio_write(2) jobs"); SYSCTL_ADD_COUNTER_U64(ctx, children, OID_AUTO, "tx_toe_tls_records", CTLFLAG_RD, &ofld_txq->tx_toe_tls_records, "# of TOE TLS records transmitted"); diff --git a/sys/dev/cxgbe/tom/t4_cpl_io.c b/sys/dev/cxgbe/tom/t4_cpl_io.c index 235d4196226d..2f425c7b5c6d 100644 --- a/sys/dev/cxgbe/tom/t4_cpl_io.c +++ b/sys/dev/cxgbe/tom/t4_cpl_io.c @@ -2173,6 +2173,7 @@ t4_aiotx_process_job(struct toepcb *toep, struct socket *so, struct kaiocb *job) struct inpcb *inp; struct tcpcb *tp; struct mbuf *m; + u_int sent; int error, len; bool moretocome, sendmore; @@ -2275,7 +2276,9 @@ sendanother: goto out; } - job->aio_sent += m_length(m, NULL); + sent = m_length(m, NULL); + job->aio_sent += sent; + counter_u64_add(toep->ofld_txq->tx_aio_octets, sent); sbappendstream(sb, m, 0); m = NULL; @@ -2328,6 +2331,7 @@ sendanother: * socket. */ aiotx_free_job(job); + counter_u64_add(toep->ofld_txq->tx_aio_jobs, 1); out: if (error) { diff --git a/sys/dev/cxgbe/tom/t4_ddp.c b/sys/dev/cxgbe/tom/t4_ddp.c index c529639d9a1f..c50446d98e2b 100644 --- a/sys/dev/cxgbe/tom/t4_ddp.c +++ b/sys/dev/cxgbe/tom/t4_ddp.c @@ -319,8 +319,11 @@ insert_ddp_data(struct toepcb *toep, uint32_t n) placed = n; if (placed > job->uaiocb.aio_nbytes - copied) placed = job->uaiocb.aio_nbytes - copied; - if (placed > 0) + if (placed > 0) { job->msgrcv = 1; + toep->ofld_rxq->rx_aio_ddp_jobs++; + } + toep->ofld_rxq->rx_aio_ddp_octets += placed; if (!aio_clear_cancel_function(job)) { /* * Update the copied length for when @@ -560,6 +563,8 @@ handle_ddp_data(struct toepcb *toep, __be32 ddp_report, __be32 rcv_nxt, int len) CURVNET_RESTORE(); job->msgrcv = 1; + toep->ofld_rxq->rx_aio_ddp_jobs++; + toep->ofld_rxq->rx_aio_ddp_octets += len; if (db->cancel_pending) { /* * Update the job's length but defer completion to the @@ -724,8 +729,11 @@ handle_ddp_close(struct toepcb *toep, struct tcpcb *tp, __be32 rcv_nxt) placed = len; if (placed > job->uaiocb.aio_nbytes - copied) placed = job->uaiocb.aio_nbytes - copied; - if (placed > 0) + if (placed > 0) { job->msgrcv = 1; + toep->ofld_rxq->rx_aio_ddp_jobs++; + } + toep->ofld_rxq->rx_aio_ddp_octets += placed; if (!aio_clear_cancel_function(job)) { /* * Update the copied length for when From nobody Mon Apr 8 19:04:21 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6F6FTWz5HYSP; Mon, 8 Apr 2024 19:04: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 4VCz6F5dG1z4g3H; Mon, 8 Apr 2024 19:04:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S4N+6e66IAPneWc4469NaPdoiaakTpV+fgdDEeyP6SU=; b=EqXG9D9uEqZT266TPUFGa2WwydGMGKdzAUqUyXBVqdcfVULFeyLQBRaM7Hk3xQuflY0gvV gRajLotOM04CxVSLVE10Iq/pPM9S4zMI7E3NXVHKZmPPr7dyniHP1JpZDKgxscQRwZnPyw crtwBnyvDX4UN6HYdCH6UbAdNLeYL9ip+I3GRnV4ZVOc6rg9vy8JpEE/4Pj1+Flyj4fRl2 KXODpyzmsbLw4fZP2qrZfR3/YEdR5IwcsW2ygiOcf6L4wewQe/BDQstZetzNuMW/F1cXVT tKY3kTLOOWvBG5fs9y3zmBNJX4isvq4jC7LS+M4CFS5QtxPz9JSmn4JQ41UJWg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603061; a=rsa-sha256; cv=none; b=RXO3Lw9EvQJy/fGn9J0KE04e+JBfxGBT3hRjPjMgCGEonVOsY5m8S0M68OwuvVrZbh0euV Z70qxmoE9tyhMfc2L1idne1FnicLDED3D+rrZn0uYGLENDQTBdztFe5EZV39JQa0EwmNTw kVRhNPpZga7Ti3sXY+kFLXFCCyPJ/en1ahoYObiD3KZkRnEy0Ey63b3RjmwVGCWOGNjY6/ 6bGPe+QQ+OMBe/1aKIVpnG24N3y9LoNEN1a75ThPvWRuryZvuiYfzgD/3C8ZgweqUQ6XLR KnYNkAte3U3+6veos1IRfe6S2QXr6Ib7Zi1MJC5X0BFqbG+vUHXunNVox570tA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S4N+6e66IAPneWc4469NaPdoiaakTpV+fgdDEeyP6SU=; b=bh2eHgB5i/gZojusxI/Sr5P4fjL44VHCKgtkOHnjOcJjYBF1gZlJTssK8qZN9k1Lu3dqZN vPAuFTK4u9SThBE6nIsC2r9J2d6KVa5DSRwtjfz4lJruLuGZmpKFow+Sn0g7U8T5FUs878 1P0gmf6iRMavBTgTP2CAmSM0deLmItcmDnzsgmnRdFrqaUzyJlwvgiA2QdDs3THFH1SWsn pPyGsYCH55Aung/uBX0RwyiKJY2zODyz9NaSCMy8ED6wHtAvQefB6UQ3W55lble30piwZO +cDxOjEhjn33ZW1xxJy+cSnFOrzBnd4N9U4xhkWaZrTbdWyORD/LMYm6hRdTgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6F5CSNzMx6; Mon, 8 Apr 2024 19:04: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 438J4LdJ093912; Mon, 8 Apr 2024 19:04:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4LO2093909; Mon, 8 Apr 2024 19:04:21 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:21 GMT Message-Id: <202404081904.438J4LO2093909@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 2b410bace4a0 - stable/14 - cxgbe tom: Limit TOE connections to 2 reassembly islands always List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 2b410bace4a04941b52887539ac0eed8c97b0a7e Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=2b410bace4a04941b52887539ac0eed8c97b0a7e commit 2b410bace4a04941b52887539ac0eed8c97b0a7e Author: John Baldwin AuthorDate: 2024-01-31 00:41:23 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:39:31 +0000 cxgbe tom: Limit TOE connections to 2 reassembly islands always Previously this was only limited on T6 cards to support switching from ULP_MODE_NONE to ULP_MODE_TLS. To support switching to ULP_MODE_TCPDDP, enable this for all adapters. Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D43669 (cherry picked from commit afaefb7737994293f9264953e361de095c666c18) --- sys/dev/cxgbe/t4_main.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 4fbc45e16464..e20c697d2865 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -5726,18 +5726,15 @@ set_params__post_init(struct adapter *sc) } #endif -#ifdef KERN_TLS - if (sc->cryptocaps & FW_CAPS_CONFIG_TLSKEYS && - sc->toecaps & FW_CAPS_CONFIG_TOE) { - /* - * Limit TOE connections to 2 reassembly "islands". - * This is required to permit migrating TOE - * connections to UPL_MODE_TLS. - */ - t4_tp_wr_bits_indirect(sc, A_TP_FRAG_CONFIG, - V_PASSMODE(M_PASSMODE), V_PASSMODE(2)); - } + /* + * Limit TOE connections to 2 reassembly "islands". This is + * required to permit migrating TOE connections to either + * ULP_MODE_TCPDDP or UPL_MODE_TLS. + */ + t4_tp_wr_bits_indirect(sc, A_TP_FRAG_CONFIG, V_PASSMODE(M_PASSMODE), + V_PASSMODE(2)); +#ifdef KERN_TLS if (is_ktls(sc)) { sc->tlst.inline_keys = t4_tls_inline_keys; sc->tlst.combo_wrs = t4_tls_combo_wrs; From nobody Mon Apr 8 19:04:22 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6H0tLdz5HYdL; Mon, 8 Apr 2024 19:04: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 4VCz6G6R3Tz4gJL; Mon, 8 Apr 2024 19:04:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+TUKT4RDAzNKgBww0UFxdhfsQeYtX7gVbGMWMIv7jIw=; b=Pv0SZjzpN5h/6P3c/4hArGq7RhsLcMWkWtyCDNhQCV/xHNPOBQvfS4jnQ2sPdsUsbrrhlv SfLdkany3KkW3GpI4lvw+hvakTWVb3l4CpT1J9f1RO4i+W8tRtdBJzpayw7FmPMMkFh6w6 3MGB+hGWdlaSWyUUcDNzN4YHhwSI4TGxtcT3UcZgbLNd56fv3FUYHMmgs6PzUL+7iqpkiG ayweOUy7vyD6aWTjavvN2Zpij6z+tALu9UbPIa6TwijbLdNs8O4uzxVgnCATLhC1oCmli8 B2BOsoTKKEi03bHTaNuYbibl4bCNJMycRSEMI9OL5h52GdkqJtCLZZS3LbLCGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603062; a=rsa-sha256; cv=none; b=BNL/dqCMrcvWP/jnIMhLhuGiVAzm14Gu9j05s3dDMTuv1Ok50H5qvp0qjIcxFb41oGhDA9 Dmbnt0Xyz/5CYHp3grMnoD5Z4tvytg7DCZnvekWbzqjbSBdrylgW08IsiuFhwhHF8yuxJ9 JnqTc7zzg12i1TXRFLL/tV7akwjOifcfmp8ex8mg3JZfO67tMVtvaXlEWVTtXGNzpdUjq+ dosPneWTAlECya1MipStyH7vNrf5GKOfZyzQqnU1gYRN0irVB2nGEqr2WthpfZcbnQ89Ri y+alrHEQeSow7TfFitLwfN9gLgqe94teMAXs4SRClWQfYVfh1ntVpvjvrFicew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+TUKT4RDAzNKgBww0UFxdhfsQeYtX7gVbGMWMIv7jIw=; b=Dqf4FcpVc7voZO7xCTxeaSFn/4AMnPtZOmEX81Tiby2EB+/FBnDexIAL2zWhc0FvtAHa5R IQfTbYAgxVMY8ehFahGQKvF4ja/IG/a8weIxmKvJWN8WLkjoTd9KE6aeUTgfEvr5u00fw0 u+txzFfE6s7aryTGunQgfI5lwqtZSKeXJJo6yxK4NPwohyMG7lebaVGITuuRDtoEd2iskn TYYeeXZlWGyzy5uteNAAnL+weKwISdG3QclJ76rGEXKwFFPUI11Gm3Iuss2P/mQyqBxaiJ F0vHLvO6NvnvAI15x5yNqC5/eobwowFxFETnEoDJ6h2qp52MZtu6pRcb2EED+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 4VCz6G62pDzN1D; Mon, 8 Apr 2024 19:04: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 438J4M7w093957; Mon, 8 Apr 2024 19:04:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4Mcv093954; Mon, 8 Apr 2024 19:04:22 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:22 GMT Message-Id: <202404081904.438J4Mcv093954@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: b680e6da1398 - stable/14 - cxgbe tom: Enable ULP_MODE_TCPDDP on demand List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: b680e6da13985f7462ddd8555d9f7fe83ba29a76 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b680e6da13985f7462ddd8555d9f7fe83ba29a76 commit b680e6da13985f7462ddd8555d9f7fe83ba29a76 Author: John Baldwin AuthorDate: 2024-01-31 00:41:43 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:49:51 +0000 cxgbe tom: Enable ULP_MODE_TCPDDP on demand Most ULP modes in cxgbe's TOE are enabled on the fly when a protocol is needed (e.g. ULP_MODE_ISCSI is enabled by cxgbei when offloading a connection using iSCSI, and ULP_MODE_TLS is enabled when RX TLS keys are programmed for a TOE connection). The one exception to this is ULP_MODE_TCPDDP. Currently the cxgbe driver enables ULP_MODE_TCPDDP when a TOE connection is first created. However, since DDP connections cannot be converted to other connection types, this requires some special handling in the driver. For example, iSCSI daemons use the SO_NO_DDP socket option to ensure TOE connections use ULP_MODE_NONE so they can be converted to ULP_MODE_ISCSI. Similarly, using TLS receive offload (ULP_MODE_TLS) requires disabling TCP DDP for new connections by default. This commit changes cxgbe to instead switch a connection from ULP_MODE_NONE to ULP_MODE_TCPDDP when a connection first attempts to use TCP DDP via aio_read(2). This permits connections to always start as ULP_MODE_NONE and switch to a protocol-specific mode as needed. Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D43670 (cherry picked from commit a5a965d75934ae809884f8613bcad156bb5d7148) --- sys/dev/cxgbe/tom/t4_cpl_io.c | 11 +++--- sys/dev/cxgbe/tom/t4_ddp.c | 86 ++++++++++++++++++++++++++++++++++++++++++- sys/dev/cxgbe/tom/t4_tom.c | 17 +++------ sys/dev/cxgbe/tom/t4_tom.h | 1 - 4 files changed, 95 insertions(+), 20 deletions(-) diff --git a/sys/dev/cxgbe/tom/t4_cpl_io.c b/sys/dev/cxgbe/tom/t4_cpl_io.c index 2f425c7b5c6d..4d61189f5fe3 100644 --- a/sys/dev/cxgbe/tom/t4_cpl_io.c +++ b/sys/dev/cxgbe/tom/t4_cpl_io.c @@ -1753,17 +1753,18 @@ do_rx_data(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m) if (changed) { if (toep->ddp.flags & DDP_SC_REQ) toep->ddp.flags ^= DDP_ON | DDP_SC_REQ; - else { - KASSERT(cpl->ddp_off == 1, - ("%s: DDP switched on by itself.", - __func__)); - + else if (cpl->ddp_off == 1) { /* Fell out of DDP mode */ toep->ddp.flags &= ~DDP_ON; CTR1(KTR_CXGBE, "%s: fell out of DDP mode", __func__); insert_ddp_data(toep, ddp_placed); + } else { + /* + * Data was received while still + * ULP_MODE_NONE, just fall through. + */ } } diff --git a/sys/dev/cxgbe/tom/t4_ddp.c b/sys/dev/cxgbe/tom/t4_ddp.c index c50446d98e2b..89cb7269e218 100644 --- a/sys/dev/cxgbe/tom/t4_ddp.c +++ b/sys/dev/cxgbe/tom/t4_ddp.c @@ -192,7 +192,7 @@ free_ddp_buffer(struct tom_data *td, struct ddp_buffer *db) free_pageset(td, db->ps); } -void +static void ddp_init_toep(struct toepcb *toep) { @@ -810,6 +810,78 @@ do_rx_ddp_complete(struct sge_iq *iq, const struct rss_header *rss, return (0); } +static bool +set_ddp_ulp_mode(struct toepcb *toep) +{ + struct adapter *sc = toep->vi->adapter; + struct wrqe *wr; + struct work_request_hdr *wrh; + struct ulp_txpkt *ulpmc; + int fields, len; + + if (!sc->tt.ddp) + return (false); + + fields = 0; + + /* Overlay region including W_TCB_RX_DDP_FLAGS */ + fields += 3; + + /* W_TCB_ULP_TYPE */ + fields++; + +#ifdef USE_DDP_RX_FLOW_CONTROL + /* W_TCB_T_FLAGS */ + fields++; +#endif + + len = sizeof(*wrh) + fields * roundup2(LEN__SET_TCB_FIELD_ULP, 16); + KASSERT(len <= SGE_MAX_WR_LEN, + ("%s: WR with %d TCB field updates too large", __func__, fields)); + + wr = alloc_wrqe(len, toep->ctrlq); + if (wr == NULL) + return (false); + + CTR(KTR_CXGBE, "%s: tid %u", __func__, toep->tid); + + wrh = wrtod(wr); + INIT_ULPTX_WRH(wrh, len, 1, 0); /* atomic */ + ulpmc = (struct ulp_txpkt *)(wrh + 1); + + /* + * Words 26/27 are zero except for the DDP_OFF flag in + * W_TCB_RX_DDP_FLAGS (27). + */ + ulpmc = mk_set_tcb_field_ulp(ulpmc, toep, 26, + 0xffffffffffffffff, (uint64_t)V_TF_DDP_OFF(1) << 32); + + /* Words 28/29 are zero. */ + ulpmc = mk_set_tcb_field_ulp(ulpmc, toep, 28, + 0xffffffffffffffff, 0); + + /* Words 30/31 are zero. */ + ulpmc = mk_set_tcb_field_ulp(ulpmc, toep, 30, + 0xffffffffffffffff, 0); + + /* Set the ULP mode to ULP_MODE_TCPDDP. */ + toep->params.ulp_mode = ULP_MODE_TCPDDP; + ulpmc = mk_set_tcb_field_ulp(ulpmc, toep, W_TCB_ULP_TYPE, + V_TCB_ULP_TYPE(M_TCB_ULP_TYPE), + V_TCB_ULP_TYPE(ULP_MODE_TCPDDP)); + +#ifdef USE_DDP_RX_FLOW_CONTROL + /* Set TF_RX_FLOW_CONTROL_DDP. */ + ulpmc = mk_set_tcb_field_ulp(ulpmc, toep, W_TCB_T_FLAGS, + V_TF_RX_FLOW_CONTROL_DDP(1), V_TF_RX_FLOW_CONTROL_DDP(1)); +#endif + + ddp_init_toep(toep); + + t4_wrq_tx(sc, wr); + return (true); +} + static void enable_ddp(struct adapter *sc, struct toepcb *toep) { @@ -2203,7 +2275,8 @@ t4_aio_cancel_queued(struct kaiocb *job) int t4_aio_queue_ddp(struct socket *so, struct kaiocb *job) { - struct tcpcb *tp = sototcpcb(so); + struct inpcb *inp = sotoinpcb(so); + struct tcpcb *tp = intotcpcb(inp); struct toepcb *toep = tp->t_toe; @@ -2211,6 +2284,15 @@ t4_aio_queue_ddp(struct socket *so, struct kaiocb *job) if (job->uaiocb.aio_lio_opcode != LIO_READ) return (EOPNOTSUPP); + INP_WLOCK(inp); + if (__predict_false(ulp_mode(toep) == ULP_MODE_NONE)) { + if (!set_ddp_ulp_mode(toep)) { + INP_WUNLOCK(inp); + return (EOPNOTSUPP); + } + } + INP_WUNLOCK(inp); + DDP_LOCK(toep); /* diff --git a/sys/dev/cxgbe/tom/t4_tom.c b/sys/dev/cxgbe/tom/t4_tom.c index 77b6ba5d4032..9bfe6ec818e4 100644 --- a/sys/dev/cxgbe/tom/t4_tom.c +++ b/sys/dev/cxgbe/tom/t4_tom.c @@ -179,8 +179,7 @@ init_toepcb(struct vi_info *vi, struct toepcb *toep) toep->ctrlq = &sc->sge.ctrlq[pi->port_id]; tls_init_toep(toep); - if (ulp_mode(toep) == ULP_MODE_TCPDDP) - ddp_init_toep(toep); + MPASS(ulp_mode(toep) != ULP_MODE_TCPDDP); toep->flags |= TPF_INITIALIZED; @@ -1216,10 +1215,7 @@ calc_options2(struct vi_info *vi, struct conn_params *cp) opt2 |= V_RX_COALESCE(M_RX_COALESCE); opt2 |= V_RX_FC_DDP(0) | V_RX_FC_DISABLE(0); -#ifdef USE_DDP_RX_FLOW_CONTROL - if (cp->ulp_mode == ULP_MODE_TCPDDP) - opt2 |= F_RX_FC_DDP; -#endif + MPASS(cp->ulp_mode != ULP_MODE_TCPDDP); return (htobe32(opt2)); } @@ -1327,11 +1323,7 @@ init_conn_params(struct vi_info *vi , struct offload_settings *s, cp->tx_align = 0; /* ULP mode. */ - if (s->ddp > 0 || - (s->ddp < 0 && sc->tt.ddp && (so_options_get(so) & SO_NO_DDP) == 0)) - cp->ulp_mode = ULP_MODE_TCPDDP; - else - cp->ulp_mode = ULP_MODE_NONE; + cp->ulp_mode = ULP_MODE_NONE; /* Rx coalescing. */ if (s->rx_coalesce >= 0) @@ -1972,7 +1964,8 @@ t4_aio_queue_tom(struct socket *so, struct kaiocb *job) if (SOLISTENING(so)) return (EINVAL); - if (ulp_mode(toep) == ULP_MODE_TCPDDP) { + if (ulp_mode(toep) == ULP_MODE_TCPDDP || + ulp_mode(toep) == ULP_MODE_NONE) { error = t4_aio_queue_ddp(so, job); if (error != EOPNOTSUPP) return (error); diff --git a/sys/dev/cxgbe/tom/t4_tom.h b/sys/dev/cxgbe/tom/t4_tom.h index b492fe86ae3a..d74f3f908286 100644 --- a/sys/dev/cxgbe/tom/t4_tom.h +++ b/sys/dev/cxgbe/tom/t4_tom.h @@ -505,7 +505,6 @@ int t4_aio_queue_ddp(struct socket *, struct kaiocb *); void t4_ddp_mod_load(void); void t4_ddp_mod_unload(void); void ddp_assert_empty(struct toepcb *); -void ddp_init_toep(struct toepcb *); void ddp_uninit_toep(struct toepcb *); void ddp_queue_toep(struct toepcb *); void release_ddp_resources(struct toepcb *toep); From nobody Mon Apr 8 19:04:23 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6J37djz5HYgq; Mon, 8 Apr 2024 19:04: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 4VCz6J0rLvz4gJf; Mon, 8 Apr 2024 19:04:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xa6Zz3qOukf+CAbIbKE7q4oSSHi5iwQtocD8+qZC9n4=; b=Ltqj05ulIA688edTp5kF9e/C0HMvbtxEhtwZ72HgiLwNB2SsYwJgcjSQYCdxaGAyO1Wuu8 Oma5G9fs8wLOSEpvUjh1cV2CwPazbuTI0Ql26jVrjguUpIkpjlk5F3wlbyvBooFYqwkZ3X qFMz0TgMgv80N8Yf0OCOsRNH5ejAjI/s3n6us53OopWt1XmgguknHe/WKKbgiMJycVdquN cP2kDdCW2YLqj28ny9L/FgcO83NWCxX5C+wwtr3jlctAyHXqwD/O7iRpUDgaEevemb5Ab2 FBmDAJAK/4Ezl2QZ1JqkSBWPvww3CdRfUGxytFAoy27gqxpb+RJ0bie27IL9ng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603064; a=rsa-sha256; cv=none; b=Zmm/fmUpZkJMkwfly9PpwvvJodcwLvWdeIlOnJhztgK4/bhJhlxSklFn+QPdfSKNLXz0zt iSwuboR6UoZ9zJfzf9526U9So0g/rsRVQsugPxAe4uFupzXdEoND74dw2RRMCItWy2F3W8 Pydw76VRtWPfLjt9ttDsEmJ3ctw3xOkLrG/foS9nq/GXWIl5wkXWz9jhiB+paBNG8qscES xdpnzsRkSv+8ntKwicnQ9oZicw7XASKZqeYEcjPz2JSjqGxlWSdSrpt5ps5EVaHbIBVURk 9TeDbhXyqCE39ElPWsUMwmO0MNDna8VNhuQ90roBEzBUqOdBPHXqVA5IEBZY7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xa6Zz3qOukf+CAbIbKE7q4oSSHi5iwQtocD8+qZC9n4=; b=tGVlFDpIGEmuSCuvkf76dtlcKgPax8ZM4eSNtYW9JfhGzWPYUpVD2RCkZchBfflmEyhmki 9B04sN0/dOIGA/c/kL2TXOeUjzU7KhqJPwIXDCJDes3ckXgthP3ZOI1kF8g80Wn9plOsgw Zb2THb+8tZjX5BXQJMn3JxWUO5YGoIK6KudfhsaeeIgOfHCza8p4hN22f9LrQVtQiUGpqO fRyzB1ow3M/1SGVTHUhJpvJPXNK5DzinPhKyad/uZtNh7DE7Y+PfZtYCxXAAuSMU+dZbs6 rwc2SG9q7NGdNN+TxALTZTuAiIS1dWl+PXVQj4TiOPC1I8yntuSWxmahF74ASA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6J0DvczNdh; Mon, 8 Apr 2024 19:04: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 438J4NgZ094004; Mon, 8 Apr 2024 19:04:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4Nfl094001; Mon, 8 Apr 2024 19:04:23 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:23 GMT Message-Id: <202404081904.438J4Nfl094001@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: bf5387a9367e - stable/14 - timerfd: Move kern_timerfd_* prototypes to List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: bf5387a9367e2654d3d014277e4ca3135a9cc6df Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=bf5387a9367e2654d3d014277e4ca3135a9cc6df commit bf5387a9367e2654d3d014277e4ca3135a9cc6df Author: John Baldwin AuthorDate: 2024-01-31 17:15:58 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:49:59 +0000 timerfd: Move kern_timerfd_* prototypes to (cherry picked from commit 18cb422356f259f83ad3189cc4494e56265aef94) --- sys/kern/sys_timerfd.c | 1 + sys/sys/syscallsubr.h | 5 +++++ sys/sys/timerfd.h | 7 ------- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/sys/kern/sys_timerfd.c b/sys/kern/sys_timerfd.c index 80d1e9f4bfb2..8ac5b845f7ac 100644 --- a/sys/kern/sys_timerfd.c +++ b/sys/kern/sys_timerfd.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h index 50a936591dc7..87e29f5ca5fc 100644 --- a/sys/sys/syscallsubr.h +++ b/sys/sys/syscallsubr.h @@ -364,6 +364,11 @@ int kern_thr_alloc(struct proc *, int pages, struct thread **); int kern_thr_exit(struct thread *td); int kern_thr_new(struct thread *td, struct thr_param *param); int kern_thr_suspend(struct thread *td, struct timespec *tsp); +int kern_timerfd_create(struct thread *td, int clockid, int flags); +int kern_timerfd_gettime(struct thread *td, int fd, + struct itimerspec *curr_value); +int kern_timerfd_settime(struct thread *td, int fd, int flags, + const struct itimerspec *new_value, struct itimerspec *old_value); int kern_truncate(struct thread *td, const char *path, enum uio_seg pathseg, off_t length); int kern_funlinkat(struct thread *td, int dfd, const char *path, int fd, diff --git a/sys/sys/timerfd.h b/sys/sys/timerfd.h index cace3b71498c..06409a77f7d2 100644 --- a/sys/sys/timerfd.h +++ b/sys/sys/timerfd.h @@ -58,13 +58,6 @@ __END_DECLS #else /* _KERNEL */ -struct thread; - -int kern_timerfd_create(struct thread *td, int clockid, int flags); -int kern_timerfd_gettime(struct thread *td, int fd, - struct itimerspec *curr_value); -int kern_timerfd_settime(struct thread *td, int fd, int flags, - const struct itimerspec *new_value, struct itimerspec *old_value); void timerfd_jumped(void); #endif /* !_KERNEL */ From nobody Mon Apr 8 19:04:25 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6K3s0Qz5HYgr; Mon, 8 Apr 2024 19:04: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 4VCz6K1l9Bz4gVC; Mon, 8 Apr 2024 19:04:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BZUHK7H3yhPPIz0U5eNH/fVV/dFxjQDgF3lb4nJhRAY=; b=EwwhEacIKrQS8VeEobMxFSTbppwYQC6lxxDqARyeWpUxuvGYLBiAYW2UVmQg8lrWNCp5sM 6HyEJCb2juDuRGfpJ1A6TvqMGRF0oYTxhHAIC8p9ucvv+2vXRDwf4akJnD3g0EdQOFZuVm LHpbkuq3d2qyijLkpXajOZRTeyMdbukyGk+7r9hU56xy5piuv/Tw3F2JJnS+Z1Fn7oLPnf yuAZFHLIYL0unkcsxDz9j+P/hhiptwHxsoUX4k/IqWm/nKU7SHk4qPouOaCOocveywPqTh eOuFjiGT0tQRTkCTGCFV1udMLSi5P1jfcvKPuiq9Nq7dMCjDCi7oyFZCWYPDXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603065; a=rsa-sha256; cv=none; b=tbrRlCi5QjYeelKULeojaWZCjqNcXhnkFcHzK37fHZ6Kifioo521oBaI8RwS2EWh0TcsVK 6pivGvT31DSpA68O37Q1VsjH34JXiwrD1C92Jq+bvz8dX/0peLEq+VNsKJXZ/o3S8bUayq /LNDps4cg1vvfZcS4uDeFEZ81ilLq7ulbpECmhKL5beE0DcMjKJer5cNw/7UbPoN0ji7LS RCSgjvO6m/arSStQT0fXWUL0gyHM3WOY7d8LAgwFaii6JRsoF913iYsLal38mRZ92VsyrG 43gKcjkmwl2uFzyef9x6t6UpxVwa+54yr2H+RAP6i+Tq8ekL7Lvb9egKLeloNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BZUHK7H3yhPPIz0U5eNH/fVV/dFxjQDgF3lb4nJhRAY=; b=elaJVFMrizkTTJXPf2SA6dJawb44Rb90DK5eVJMAhX7wuOz3tsirxLPFX23NYbUmUMt8PP I8hF5lyiZyCoW09tBxaaOZr1+gnp1vH/Y2mr1MckdBLYevRsDXCXN5ay6VfMNHpENTZ9xV lD6Rc4lj2ETLMbD5cCmOHGFbXgjvq8LlJuogRjd0hFBfGEsdcaBfdxZqkAkUtiNDP/y952 j53CfBa8iBqULMQDLrpCNFbtXnh1qW6rPaOV9U1dmqvVq01R4MKUD4nsPZaqbppVbdp/1J suLz9Zd3VMzKVvtxQLlm0zZDOw9D9vp68Js/N3kpDHe2Np4vptQ1I499xV4lmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6K1HgFzNSl; Mon, 8 Apr 2024 19:04: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 438J4PwS094066; Mon, 8 Apr 2024 19:04:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4PcX094063; Mon, 8 Apr 2024 19:04:25 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:25 GMT Message-Id: <202404081904.438J4PcX094063@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: e24c1997bf5c - stable/14 - arm: pmap_extract() returns a PA not a boolean value List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: e24c1997bf5cffc176906761fb04d90803ab838c Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e24c1997bf5cffc176906761fb04d90803ab838c commit e24c1997bf5cffc176906761fb04d90803ab838c Author: John Baldwin AuthorDate: 2024-02-02 22:59:03 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:50:26 +0000 arm: pmap_extract() returns a PA not a boolean value Assume a PA of 0 indicates an invalid virtual address. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D43694 (cherry picked from commit afb1a3e30c05a0f69facff7df59547ec82e3531a) --- sys/arm/arm/db_interface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm/arm/db_interface.c b/sys/arm/arm/db_interface.c index 5478d9d56f25..8aad6a42316e 100644 --- a/sys/arm/arm/db_interface.c +++ b/sys/arm/arm/db_interface.c @@ -172,7 +172,7 @@ db_validate_address(vm_offset_t addr) else pmap = p->p_vmspace->vm_map.pmap; - return (pmap_extract(pmap, addr) == FALSE); + return (pmap_extract(pmap, addr) == 0); } /* From nobody Mon Apr 8 19:04:26 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6L49lvz5HYDT; Mon, 8 Apr 2024 19:04: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 4VCz6L2mhsz4gHC; Mon, 8 Apr 2024 19:04:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603066; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6N5FhMmeKp6SZ/oVeXButwxcwAtCzuOKJlxmOkrff44=; b=pvhSTJLU0Wqn2lq3B0Io5MzQhKCzDQwQkDk+tqtf+p55FHRXQ60VHLou4ATw7oyipLaeUB 5D6rdd8hWhHYB5ccyAXEzBL3dT9YDLsu0jw5X3DOoT88P7aRcvErNlkVS0ZvHcC47fONOA A4165a6+lvT/fKn0oPTtBP1K5rerXBwGDswwCt1AckWgev16DvwkTAtIT9PmJbw/b5p237 TirhnXjoAhIcR1YEAszOM3/+EM65K7F5sjJRTk+li1JhtJ8oGhV9d1Hf8Lk8dTOYZJA46H owHMQFdv7+WmfCHMyp+GN+NGXWyRWZTIV9AJERZLlNGyW3DzrUiAzgStqc1+aw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603066; a=rsa-sha256; cv=none; b=Tiu9Cs5TscaU3JUvjeGAG7j1J1eyQzZBPCYdzpxNCWnbGs+/dl0GTDVoQzFO4uibUCydPh BmXFnqZnlUZTx5C0UWpRfCd3HXBe3KxT097CDadtahqVSUPG9JSdGgUDP9iNaitN4tmj9D Mr9waoUod5sad9qkTCxOaZXRjYjaoxI2BHDzJpRarLXmcxy02Eo9dTb6mZWdTas1inOnWu x4+uqarVwNcbYkJZPvzguemLqBuuJ/R5EZ/ODfbSB0NSCTv5rKys/S2HKRaFdJEa0To4md 9ZbHnx0JiRLpgTCwjDrAXIUMZgekvrzN0UJnM+f7Ld2gA/8DUJkKMojmeSD71A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603066; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6N5FhMmeKp6SZ/oVeXButwxcwAtCzuOKJlxmOkrff44=; b=rNe8rKW3tIduobRFTrLdpeJgI4cQtxFNVFf3UQhxrlkLsc0BT2XKMd6yrQM7V5yjAjRB6R O3NWdJp19dQmCGmqHnbM64lXELmAjvBv/slETABfClWXetYUbPnBjN4XiHX26D+IXCDQwC j0NhUSVOUzet5TYam/po3XVPW3Ps0MdcTCZySVDF3f7EVlXxxvwZ/89cIPAFBWWZr6UIan jccrYGmR5C7GtpUshL0vpduVtqCkPf8z4/JoQ9Hv7D2OA03DglJELmvAWlsXA2kFwkAZ8Y 24e8rAjBjdskt0soCxOyDv4k/qEtR3vq5IuJf5SQJNBXOR2VPSoxeT2grg4TDQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6L2KCkzNQC; Mon, 8 Apr 2024 19:04: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 438J4QEP094118; Mon, 8 Apr 2024 19:04:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4Q4a094115; Mon, 8 Apr 2024 19:04:26 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:26 GMT Message-Id: <202404081904.438J4Q4a094115@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: cbc47b31cc66 - stable/14 - acpi: Use kobj typedefs for new-bus method prototypes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: cbc47b31cc66c73104ac8420c8428f2fd8be8d59 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=cbc47b31cc66c73104ac8420c8428f2fd8be8d59 commit cbc47b31cc66c73104ac8420c8428f2fd8be8d59 Author: John Baldwin AuthorDate: 2024-02-09 18:27:44 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:51:56 +0000 acpi: Use kobj typedefs for new-bus method prototypes Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43685 (cherry picked from commit 0e72b8d36562cb7ecf610dbd7357af830820e4b4) --- sys/dev/acpica/acpi.c | 80 ++++++++++++++++++++---------------------------- sys/dev/acpica/acpivar.h | 8 ++--- 2 files changed, 36 insertions(+), 52 deletions(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 61df797c7393..d6d1f825f63a 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -111,52 +111,46 @@ static BOOLEAN acpi_sleep_states[ACPI_S_STATE_COUNT]; static void acpi_lookup(void *arg, const char *name, device_t *dev); static int acpi_modevent(struct module *mod, int event, void *junk); -static int acpi_probe(device_t dev); -static int acpi_attach(device_t dev); -static int acpi_suspend(device_t dev); -static int acpi_resume(device_t dev); -static int acpi_shutdown(device_t dev); -static device_t acpi_add_child(device_t bus, u_int order, const char *name, - int unit); -static int acpi_print_child(device_t bus, device_t child); -static void acpi_probe_nomatch(device_t bus, device_t child); -static void acpi_driver_added(device_t dev, driver_t *driver); -static void acpi_child_deleted(device_t dev, device_t child); -static int acpi_read_ivar(device_t dev, device_t child, int index, - uintptr_t *result); -static int acpi_write_ivar(device_t dev, device_t child, int index, - uintptr_t value); -static struct resource_list *acpi_get_rlist(device_t dev, device_t child); + +static device_probe_t acpi_probe; +static device_attach_t acpi_attach; +static device_suspend_t acpi_suspend; +static device_resume_t acpi_resume; +static device_shutdown_t acpi_shutdown; + +static bus_add_child_t acpi_add_child; +static bus_print_child_t acpi_print_child; +static bus_probe_nomatch_t acpi_probe_nomatch; +static bus_driver_added_t acpi_driver_added; +static bus_child_deleted_t acpi_child_deleted; +static bus_read_ivar_t acpi_read_ivar; +static bus_write_ivar_t acpi_write_ivar; +static bus_get_resource_list_t acpi_get_rlist; +static bus_set_resource_t acpi_set_resource; +static bus_alloc_resource_t acpi_alloc_resource; +static bus_adjust_resource_t acpi_adjust_resource; +static bus_release_resource_t acpi_release_resource; +static bus_delete_resource_t acpi_delete_resource; +static bus_child_pnpinfo_t acpi_child_pnpinfo_method; +static bus_child_location_t acpi_child_location_method; +static bus_hint_device_unit_t acpi_hint_device_unit; +static bus_get_property_t acpi_bus_get_prop; +static bus_get_device_path_t acpi_get_device_path; + +static acpi_id_probe_t acpi_device_id_probe; +static acpi_evaluate_object_t acpi_device_eval_obj; +static acpi_get_property_t acpi_device_get_prop; +static acpi_scan_children_t acpi_device_scan_children; + +static isa_pnp_probe_t acpi_isa_pnp_probe; + static void acpi_reserve_resources(device_t dev); static int acpi_sysres_alloc(device_t dev); -static int acpi_set_resource(device_t dev, device_t child, int type, - int rid, rman_res_t start, rman_res_t count); -static struct resource *acpi_alloc_resource(device_t bus, device_t child, - int type, int *rid, rman_res_t start, rman_res_t end, - rman_res_t count, u_int flags); -static int acpi_adjust_resource(device_t bus, device_t child, int type, - struct resource *r, rman_res_t start, rman_res_t end); -static int acpi_release_resource(device_t bus, device_t child, int type, - int rid, struct resource *r); -static void acpi_delete_resource(device_t bus, device_t child, int type, - int rid); static uint32_t acpi_isa_get_logicalid(device_t dev); static int acpi_isa_get_compatid(device_t dev, uint32_t *cids, int count); -static ssize_t acpi_bus_get_prop(device_t bus, device_t child, const char *propname, - void *propvalue, size_t size, device_property_type_t type); -static int acpi_device_id_probe(device_t bus, device_t dev, char **ids, char **match); -static ACPI_STATUS acpi_device_eval_obj(device_t bus, device_t dev, - ACPI_STRING pathname, ACPI_OBJECT_LIST *parameters, - ACPI_BUFFER *ret); -static ACPI_STATUS acpi_device_get_prop(device_t bus, device_t dev, - ACPI_STRING propname, const ACPI_OBJECT **value); static ACPI_STATUS acpi_device_scan_cb(ACPI_HANDLE h, UINT32 level, void *context, void **retval); -static ACPI_STATUS acpi_device_scan_children(device_t bus, device_t dev, - int max_depth, acpi_scan_cb_t user_fn, void *arg); static ACPI_STATUS acpi_find_dsd(struct acpi_device *ad); -static int acpi_isa_pnp_probe(device_t bus, device_t child, - struct isa_pnp_id *ids); static void acpi_platform_osc(device_t dev); static void acpi_probe_children(device_t bus); static void acpi_probe_order(ACPI_HANDLE handle, int *order); @@ -181,15 +175,7 @@ static int acpi_supported_sleep_state_sysctl(SYSCTL_HANDLER_ARGS); static int acpi_sleep_state_sysctl(SYSCTL_HANDLER_ARGS); static int acpi_debug_objects_sysctl(SYSCTL_HANDLER_ARGS); static int acpi_pm_func(u_long cmd, void *arg, ...); -static int acpi_child_location_method(device_t acdev, device_t child, - struct sbuf *sb); -static int acpi_child_pnpinfo_method(device_t acdev, device_t child, - struct sbuf *sb); -static int acpi_get_device_path(device_t bus, device_t child, - const char *locator, struct sbuf *sb); static void acpi_enable_pcie(void); -static void acpi_hint_device_unit(device_t acdev, device_t child, - const char *name, int *unitp); static void acpi_reset_interfaces(device_t dev); static device_method_t acpi_methods[] = { diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h index 4d76a77cdbf8..bb969821b945 100644 --- a/sys/dev/acpica/acpivar.h +++ b/sys/dev/acpica/acpivar.h @@ -462,8 +462,7 @@ EVENTHANDLER_DECLARE(acpi_video_event, acpi_event_handler_t); /* Device power control. */ ACPI_STATUS acpi_pwr_wake_enable(ACPI_HANDLE consumer, int enable); ACPI_STATUS acpi_pwr_switch_consumer(ACPI_HANDLE consumer, int state); -int acpi_device_pwr_for_sleep(device_t bus, device_t dev, - int *dstate); +acpi_pwr_for_sleep_t acpi_device_pwr_for_sleep; int acpi_set_powerstate(device_t child, int state); /* APM emulation */ @@ -578,9 +577,8 @@ int acpi_pxm_get_cpu_locality(int apic_id); * Returns the VM domain ID if found, or -1 if not found / invalid. */ int acpi_map_pxm_to_vm_domainid(int pxm); -int acpi_get_cpus(device_t dev, device_t child, enum cpu_sets op, - size_t setsize, cpuset_t *cpuset); -int acpi_get_domain(device_t dev, device_t child, int *domain); +bus_get_cpus_t acpi_get_cpus; +bus_get_domain_t acpi_get_domain; #ifdef __aarch64__ /* From nobody Mon Apr 8 19:04:27 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6M5MRtz5HYgx; Mon, 8 Apr 2024 19:04: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 4VCz6M3qPjz4gMW; Mon, 8 Apr 2024 19:04:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603067; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XcJjhFIhXDLAPmxb95hsQBOwjAi8BS8xZGEMo+knWXA=; b=mIta+BLgA+VCzy85LaQ9IyjpNv8OVmNSsyNv5EZx1HgtY2u6Hs1ZLa9xS9Bo0dqcSfCmDF MZUjIQX3mWtO5qfMrDJ00u+U+qLb9gM/O3CPXV+U/klPlTSeSrA+SKgUrZYD4EwGGA+Z/f ri1akiG7eccagVCdZtzuI4Sr1zcWOzrgieLiqZZEIXcfmZfxeMk76dV1wbF9Hjb6DDZ8mA lE4gj73dCloG7ECVkuV2O7EzJwi5SX3qcjwGLjFnH24am7/JprxIxdOzTh7LYf981yB8jW pyk+sYnpowOywV76CU6hIs5CtwFfhNl1XVfBZpSEZAuJDL8NB031ixFD4V0p4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603067; a=rsa-sha256; cv=none; b=NRRA/4kvBBwfMBfExjKe63jvqLbOdHmbkWSkrMj8+UN92Df/ytz6NFEMXvNmJTUknWZ9xw 7Nss8xH2weGMV80VXmLV+cpMQdFwhXiVoL82qeUZtO0rEvtl7RIKe8dyLcikN/j6w8sNgY UbYUgj8RhlIgaQSBsF+taPIMV9ZDAI4/26oS1l8XCO/jng7vIuyOkan9nyPQrBNkNVAiMj vsae3+3Zmx16NLq0spn8iWG9hc38vkSwoBAKMAVTe87FpimzIXF5KcsnpHIdeG+ChZSZue b8e9LgBU1skQpD5tWBjnOlJ5U//OsCsEl0d7p6lLsrwkVQAVAXrdT1kfUh3mFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603067; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XcJjhFIhXDLAPmxb95hsQBOwjAi8BS8xZGEMo+knWXA=; b=E2ncuGv8Ipz2GPFaqjE/M5CH0BqxnZBhX4PcACQ6WoLAHGDepQ9fbPowVYCrbAmWK3OcSD l+KX3qUtudQvY7XG3Bn8gkBfOLKyhXvD8IPeFxtpQuYNbBtWqYb/LhNmtwgEYmnF9n2Zwz HWSFHXmIbOgrsn1NTrgK2AezbuoE1lNX/MTLeniOfA5Zdz7VlMGj9P/lG3SqzJ2A7qq+Lf 5SeDdyUjxKQKAhDtKlysd1QbgyC5zQreLsHYTj8UWcLGifgogNQFhtRhn+wYN3opyoGu+C fIombB8Ot2EXNFWUrSnk9/dSUrQ8MzMBpqeSVIqzhZudhFNUGssmdTP+7Hd0Iw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6M3LVXzMx7; Mon, 8 Apr 2024 19:04: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 438J4RTb094178; Mon, 8 Apr 2024 19:04:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4RjL094175; Mon, 8 Apr 2024 19:04:27 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:27 GMT Message-Id: <202404081904.438J4RjL094175@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 93d2cc308890 - stable/14 - pcib: Make various bus methods private to pci_pci.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 93d2cc30889026547c7942858cbbf1282848db60 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=93d2cc30889026547c7942858cbbf1282848db60 commit 93d2cc30889026547c7942858cbbf1282848db60 Author: John Baldwin AuthorDate: 2024-02-09 18:27:45 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:52:43 +0000 pcib: Make various bus methods private to pci_pci.c These functions are not used by pcib subclasses so do not need to be exposed in pcib_private.h. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43688 (cherry picked from commit 03719c651430d46cd8aa95aead02a7f0c43dcb04) --- sys/dev/pci/pci_pci.c | 18 +++++++++++++----- sys/dev/pci/pcib_private.h | 10 ---------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c index 6ef04251cd74..2659e64f364d 100644 --- a/sys/dev/pci/pci_pci.c +++ b/sys/dev/pci/pci_pci.c @@ -60,6 +60,15 @@ static int pcib_probe(device_t dev); static int pcib_suspend(device_t dev); static int pcib_resume(device_t dev); + +static bus_child_present_t pcib_child_present; +static bus_alloc_resource_t pcib_alloc_resource; +#ifdef NEW_PCIB +static bus_adjust_resource_t pcib_adjust_resource; +static bus_release_resource_t pcib_release_resource; +#endif +static int pcib_reset_child(device_t dev, device_t child, int flags); + static int pcib_power_for_sleep(device_t pcib, device_t dev, int *pstate); static int pcib_ari_get_id(device_t pcib, device_t dev, @@ -81,7 +90,6 @@ static void pcib_pcie_dll_timeout(void *arg, int pending); #endif static int pcib_request_feature_default(device_t pcib, device_t dev, enum pci_feature feature); -static int pcib_reset_child(device_t dev, device_t child, int flags); static device_method_t pcib_methods[] = { /* Device interface */ @@ -2269,7 +2277,7 @@ updatewin: * We have to trap resource allocation requests and ensure that the bridge * is set up to, or capable of handling them. */ -struct resource * +static struct resource * pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) { @@ -2358,7 +2366,7 @@ pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, return (r); } -int +static int pcib_adjust_resource(device_t bus, device_t child, int type, struct resource *r, rman_res_t start, rman_res_t end) { @@ -2426,7 +2434,7 @@ pcib_adjust_resource(device_t bus, device_t child, int type, struct resource *r, return (rman_adjust_resource(r, start, end)); } -int +static int pcib_release_resource(device_t dev, device_t child, int type, int rid, struct resource *r) { @@ -2449,7 +2457,7 @@ pcib_release_resource(device_t dev, device_t child, int type, int rid, * We have to trap resource allocation requests and ensure that the bridge * is set up to, or capable of handling them. */ -struct resource * +static struct resource * pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) { diff --git a/sys/dev/pci/pcib_private.h b/sys/dev/pci/pcib_private.h index cf689026a033..d4c66407d739 100644 --- a/sys/dev/pci/pcib_private.h +++ b/sys/dev/pci/pcib_private.h @@ -174,19 +174,9 @@ void pcib_bridge_init(device_t dev); #ifdef NEW_PCIB const char *pcib_child_name(device_t child); #endif -int pcib_child_present(device_t dev, device_t child); int pcib_detach(device_t dev); int pcib_read_ivar(device_t dev, device_t child, int which, uintptr_t *result); int pcib_write_ivar(device_t dev, device_t child, int which, uintptr_t value); -struct resource *pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, - rman_res_t start, rman_res_t end, - rman_res_t count, u_int flags); -#ifdef NEW_PCIB -int pcib_adjust_resource(device_t bus, device_t child, int type, - struct resource *r, rman_res_t start, rman_res_t end); -int pcib_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *r); -#endif int pcib_maxslots(device_t dev); int pcib_maxfuncs(device_t dev); int pcib_route_interrupt(device_t pcib, device_t dev, int pin); From nobody Mon Apr 8 19:04:28 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6N6JhKz5HYSb; Mon, 8 Apr 2024 19:04: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 4VCz6N4rVKz4gQB; Mon, 8 Apr 2024 19:04:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q8vLq9mMHmJ9FwK7M8vHcz60ARiVmE7xmZoy/+eqR5I=; b=EpJH8CJD5jKM01HDWtW6bajMLpkH3XJTmfLPT/ftUJOsEQKlLwI8QSqwSxHTfMnsxBnLYQ 7JOa1R7nKPmhVUlu5ynh/K5nIfkpgIHN062A0v/XrNCXBib3iFJWTO0sg98fX0xmStbwHg ig8kJC5ZlNQlZUfodZ4QwM+N6+pLGbC5MARfgpxqW70ZenAAg3vFr9M4gUTCBxZP83jXey 8RaP68YToUhuPwt4QdLXm1TtPJIfLuATDnDZAiP56YsLDBbHmWH8XYntF0FlwIqs70uBlh bd6TW4pCbAVYXbyZEiDWxNkZJ+tQBsbEkMdrat4VONNIQ+GErQ1aBR08S9LviA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603068; a=rsa-sha256; cv=none; b=IldPc8Smfgji6Ys/y3YAZqyJH8z3tI0JFHnbpgjYVOiWOjPIPNNw2sPlXtQPZLgqC2tLHi w7vctdUW7J0tTH+i51+mJHLqpwhLJRrh8kMvE/EBoH87ImKy5zsgV1V846fSPziWKzMT3a A0y0tRHHU1xyBaoqdjNtB0jNh27B714CVH1x2Gw1i4dkftO/N/O3zLc54ONtVwyj4xOfUp QAqdWgIC1AkGWERn2svUj4BH4Wz6CrGfJI397UEroY7Scl5X6oZTRwVEgMCP+zMmXNYmsp z0xmofO52vukOYjNuhHurbbncrVpT2uKycj5+SSzYjzoNF/C6PByHbYQJLebOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q8vLq9mMHmJ9FwK7M8vHcz60ARiVmE7xmZoy/+eqR5I=; b=uul2cX5f6Ifuy5bBdFNnHJ3a8IS6If4hB7J92ByypDq1Y6SKqX0bn4RDCIuhfJIC1kwqlU tIRuTeVHMqW9Qilh+VBOAfL3HFqMBiPZVy5MYtk1E1V6P8WC+woYT51i3ciKTxkrYdUmCE dSPoa3H0VLP9b13KqmoaIudefIYHy0wJ8XPpWD0xgcp0DwtPwbD54ztOz+7HONogBbtmKo Thxo0lKJcrvZ8xVOKL+iP/zHPl6tgpBQ49F/FI0zXSvVOlbp9imyMAw0SfIfRP9z7KAmhH Cd405FF43JdaxYYnz1qcFGObddThoMG7/84u4Mwj7NipNYhy8roK0dAsHn+8EA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6N4MY9zN1F; Mon, 8 Apr 2024 19:04: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 438J4SG6094226; Mon, 8 Apr 2024 19:04:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4SEn094223; Mon, 8 Apr 2024 19:04:28 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:28 GMT Message-Id: <202404081904.438J4SEn094223@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 00dbe607b392 - stable/14 - acpi: Use bus_generic_alloc_resource instead of duplicating it List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 00dbe607b392c81ffec78f5e8123413cad606a7a Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=00dbe607b392c81ffec78f5e8123413cad606a7a commit 00dbe607b392c81ffec78f5e8123413cad606a7a Author: John Baldwin AuthorDate: 2024-02-09 18:27:45 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:53:25 +0000 acpi: Use bus_generic_alloc_resource instead of duplicating it No functional change, but it is cleaner to use the existing generic wrappers rather than KOBJ methods directly. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43686 (cherry picked from commit 1fb5445206a5ef2351c32f8bc6beb67605593caa) --- sys/dev/acpica/acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index d6d1f825f63a..2e0a8a24610d 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1542,7 +1542,7 @@ acpi_alloc_resource(device_t bus, device_t child, int type, int *rid, } } } else - res = BUS_ALLOC_RESOURCE(device_get_parent(bus), child, type, rid, + res = bus_generic_alloc_resource(bus, child, type, rid, start, end, count, flags); /* From nobody Mon Apr 8 19:04:29 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6Q27ZDz5HYlT; Mon, 8 Apr 2024 19:04: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 4VCz6P5xHBz4gHv; Mon, 8 Apr 2024 19:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=08l9zkbuA6gioykNTlYafNkjXyQyzgTn+WOAXOoxrHA=; b=H/ggri8XUXfZcmK9btiNYlZPqN8C4Ymixd5xtAkAja2VE8XsyyIIoZOWiu9s0vV1MKDMxe 3hzLC4ztsFpfm1vfeDu2lcLqgbOptUMGpx6noDnHUS/4top0ftRZCaNSb3+NDNqrUpLAvt uE1St8hkEy7NRuD7K8cEnI5auJlCfRCzFWgoTVxGtn0Y6luf69UIfbHhA9ETcdsx7fyVw9 ooPxK3ghZR8D76hOTTDkAKK51hJvU+h0rg6KpiA2awMF3pyb/QRXGYyQg/bzpeVV9SjTlM lwHAT/uMBckP/LKlfrAphq3hTjK4yBN3AjNnIaEbRvtC18hBFLBMj6ylf9TowQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603069; a=rsa-sha256; cv=none; b=MLE13TJN4S119RJTWBbhBOa94eO7aRwl80dJta5ts4MwQNtJ5SQynY6OfM3mcnah0Nb12j ZL1+QC+qvElHbcsM1wD+WhyVtrxDffdh60du7kQlXApax6w17N2qfxpsZzMWDcJaHqZrp/ hMdPPx8t8A60mp5S2vuxDIuR2PNAY1nuqdSNxvFCryb8ij/oNttkYGpEejin18rpxw/PC6 axWtuVA5Ry1eB3NsYdFYhlBQQOxm4tGp0hDUW14Hvn7c4CwBMCUdCpNv2gULtMDK4Ey6xx XdPXI35uosrBXe+MbeefhqI4n2W+MrHYIWRRJbFQc+dvO71wMmfhL+3RboYPBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=08l9zkbuA6gioykNTlYafNkjXyQyzgTn+WOAXOoxrHA=; b=hZwCxAqrbQUSxylgA6v5EuhNZaZpayuQ5lO8AeCh4URSRJuZxWNXe05Kro4gZzrQ+dSpN5 klpheCHMl6qahSsvmOCB+u9oZ7Wsr/M2mQgnyhu4LXKjADDChBkp/aZF5mggngBuni35s1 QqxsQd1I4/Ujhj7ZdgCM1ESlhIKLmhPHkfuYJvbQmVvcuF/KkSt/qE4s6Kg9L7Ka61H7xc Y5+c06y2uRKi8JjjWbpjEfUvEOVdiQXJiU9kFKp1KH9N+efWEl1C4M31hjxFXb36cZE0tp n+rmUjfH4kuvKoAjrq98l394E2gxVe2K4O2mB1qxMcH+VrXzlbBwnpL0RmkPlA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6P5WRDzNSm; Mon, 8 Apr 2024 19:04: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 438J4T9O094295; Mon, 8 Apr 2024 19:04:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4T3h094292; Mon, 8 Apr 2024 19:04:29 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:29 GMT Message-Id: <202404081904.438J4T3h094292@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 7d763eadd36e - stable/14 - cam: Check if cam_simq_alloc fails for the xpt bus during module init List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 7d763eadd36e9b9419379756add71f5383f40af0 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=7d763eadd36e9b9419379756add71f5383f40af0 commit 7d763eadd36e9b9419379756add71f5383f40af0 Author: John Baldwin AuthorDate: 2024-02-09 19:53:43 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:53:43 +0000 cam: Check if cam_simq_alloc fails for the xpt bus during module init This is very unlikely to fail (and if it does, CAM isn't going to work regardless), but fail with an error rather than a gauranteed panic via NULL pointer dereference. PR: 276770 Reported by: Qiushi (cherry picked from commit eb86c6c5b462c996e44c45ba496937b75ef22da3) --- sys/cam/cam_xpt.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c index 6eac81c18160..3aa2f8a091a6 100644 --- a/sys/cam/cam_xpt.c +++ b/sys/cam/cam_xpt.c @@ -911,6 +911,8 @@ xpt_init(void *dummy) * perform other XPT functions. */ devq = cam_simq_alloc(16); + if (devq == NULL) + return (ENOMEM); xpt_sim = cam_sim_alloc(xptaction, xptpoll, "xpt", From nobody Mon Apr 8 19:04:30 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6R2p8Jz5HYXs; Mon, 8 Apr 2024 19:04: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 4VCz6Q737sz4gLY; Mon, 8 Apr 2024 19:04:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dZm3DLTZ97+XbWco/Upxf6i480DvSp9Gor3BfoPkg9w=; b=mkLY2zmT3fn21CRypBB6S9gLs0IsEwL4O3azHWLZe0mArnqK2JyyG9RJswW8/OieEWPcAg umi92bm8H20rSH++E43wxnnsgI3+kVZU+SHE1pQ7kYbu3q6gdlza2qicSg7RGrebHo7csp vitwH33VHX/tLK6B8vCNFedrU1ML1mHd480v7aH7QxeYs/qH9rKCCQy8F3dlTCrjQ8wXqr QTA2geDnq2XcdEPwCvWLmnTWS9489lP8P5KDV/wukXH3dCbT6wD/V16aNFbYP5wWqkFycP lLEUPY3dPecHZR+Px2kbVTah2BcbncZ+gw2o6lHfkXPZoggOjjZyDm5M8ekTmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603071; a=rsa-sha256; cv=none; b=wKy0NWqfyOBqBw76grSpveMrOec+JJw/oA5CKHO14Ns6FrM9DkFB12TBPOqMP/pSh7UV4L QmPYwmYvMYjjNRNcBuT+Poz0qT+E3DRtW4h6Mh2cFnlf9RqHUwqVczDwtdDDmS/9uSfIdC SUGgO/T1aAt9L08Ie5t8s7eSeGByOp38jUbj2gfYOvOhz8LL2aH9xRFHf2J8MVy5CcsDID KU3M/sq/8wMMCvEsVhu01mwm8BLaVc2DL/U2gc68Lx034kZywHhI0l6aOCsatlTgTvlIg/ 9nm0+ggfiIkFXhA9EQRJJ8Jo4cGN9Wsmgfd81pMOhdQaDIfKeEbekpC1rnqD3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dZm3DLTZ97+XbWco/Upxf6i480DvSp9Gor3BfoPkg9w=; b=IUJBMp6wfE2VSL6ygcdkaJiFilt0ei7M6fG7OgBwamjXV5mAx28A9nGIiPhRHzO/O+Rk8K sWtzlWuefthWm04vI1bEQoIkX0Np2sXuVRFDq3WJ3ykbZ/gydI/jplv7urP48IBRpXf2a3 gs8SLfeYp16r46+sZLxSuXQ4k1W2c4tVwzXXPLIjsxj5+j6DHygc2CxTFe5/tFcXGOiBXD /HR84OxgaKbNvE3ETWaA91Ci25Kmqq3rJeK2qDMqbcsOax4FSvHCB23aRkxxCf26Ce+Sd6 7h+dtAS1chrXk9tpQJGmCV/W95C4arLL+y74Y/XSboc6z3CLehuzVdv3jqOoTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6Q6fy0zNQD; Mon, 8 Apr 2024 19:04: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 438J4U8h094354; Mon, 8 Apr 2024 19:04:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4UOg094351; Mon, 8 Apr 2024 19:04:30 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:30 GMT Message-Id: <202404081904.438J4UOg094351@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 75a63c968af9 - stable/14 - acpi: Allow child drivers to use bus_set_resource for more resources List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 75a63c968af999918fd2d6ba98ba5d86c0ea6188 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=75a63c968af999918fd2d6ba98ba5d86c0ea6188 commit 75a63c968af999918fd2d6ba98ba5d86c0ea6188 Author: John Baldwin AuthorDate: 2024-02-14 22:07:32 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:54:35 +0000 acpi: Allow child drivers to use bus_set_resource for more resources acpi_set_resource excludes certain types of resources for certain devices. The intention of this is to avoid adding resource entries for bogus resources enumerated via _CRS. However, this also prevents drivers from adding those resources explicitly if needed. To fix this, move the logic to exclude these resources into an ignore hook used when parsing _CRS to create the initial set of resources for each device. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43892 (cherry picked from commit 055c1fe230ce5a2997c03a3cc2431baea1594566) --- sys/dev/acpica/acpi.c | 34 --------------------- sys/dev/acpica/acpi_resource.c | 69 ++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 67 insertions(+), 36 deletions(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 2e0a8a24610d..955c2b71b5ec 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -97,7 +97,6 @@ struct acpi_interface { }; static char *sysres_ids[] = { "PNP0C01", "PNP0C02", NULL }; -static char *pcilink_ids[] = { "PNP0C0F", NULL }; /* Global mutex for locking access to the ACPI subsystem. */ struct mtx acpi_mutex; @@ -1423,40 +1422,7 @@ acpi_set_resource(device_t dev, device_t child, int type, int rid, { struct acpi_device *ad = device_get_ivars(child); struct resource_list *rl = &ad->ad_rl; - ACPI_DEVICE_INFO *devinfo; rman_res_t end; - int allow; - - /* Ignore IRQ resources for PCI link devices. */ - if (type == SYS_RES_IRQ && - ACPI_ID_PROBE(dev, child, pcilink_ids, NULL) <= 0) - return (0); - - /* - * Ignore most resources for PCI root bridges. Some BIOSes - * incorrectly enumerate the memory ranges they decode as plain - * memory resources instead of as ResourceProducer ranges. Other - * BIOSes incorrectly list system resource entries for I/O ranges - * under the PCI bridge. Do allow the one known-correct case on - * x86 of a PCI bridge claiming the I/O ports used for PCI config - * access. - */ - if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { - if (ACPI_SUCCESS(AcpiGetObjectInfo(ad->ad_handle, &devinfo))) { - if ((devinfo->Flags & ACPI_PCI_ROOT_BRIDGE) != 0) { -#if defined(__i386__) || defined(__amd64__) - allow = (type == SYS_RES_IOPORT && start == CONF1_ADDR_PORT); -#else - allow = 0; -#endif - if (!allow) { - AcpiOsFree(devinfo); - return (0); - } - } - AcpiOsFree(devinfo); - } - } #ifdef INTRNG /* map with default for now */ diff --git a/sys/dev/acpica/acpi_resource.c b/sys/dev/acpica/acpi_resource.c index 373cc6da9820..e17b891d7974 100644 --- a/sys/dev/acpica/acpi_resource.c +++ b/sys/dev/acpica/acpi_resource.c @@ -34,6 +34,9 @@ #include #include +#if defined(__i386__) || defined(__amd64__) +#include +#endif #include #include #include @@ -62,6 +65,8 @@ struct lookup_irq_request { int pol; }; +static char *pcilink_ids[] = { "PNP0C0F", NULL }; + static ACPI_STATUS acpi_lookup_irq_handler(ACPI_RESOURCE *res, void *context) { @@ -575,6 +580,52 @@ struct acpi_res_context { void *ar_parent; }; +/* + * Some resources reported via _CRS should not be added as bus + * resources. This function returns true if a resource reported via + * _CRS should be ignored. + */ +static bool +acpi_res_ignore(device_t dev, int type, rman_res_t start, rman_res_t count) +{ + struct acpi_device *ad = device_get_ivars(dev); + ACPI_DEVICE_INFO *devinfo; + bool allow; + + /* Ignore IRQ resources for PCI link devices. */ + if (type == SYS_RES_IRQ && + ACPI_ID_PROBE(device_get_parent(dev), dev, pcilink_ids, NULL) <= 0) + return (true); + + /* + * Ignore most resources for PCI root bridges. Some BIOSes + * incorrectly enumerate the memory ranges they decode as plain + * memory resources instead of as ResourceProducer ranges. Other + * BIOSes incorrectly list system resource entries for I/O ranges + * under the PCI bridge. Do allow the one known-correct case on + * x86 of a PCI bridge claiming the I/O ports used for PCI config + * access. + */ + if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { + if (ACPI_SUCCESS(AcpiGetObjectInfo(ad->ad_handle, &devinfo))) { + if ((devinfo->Flags & ACPI_PCI_ROOT_BRIDGE) != 0) { +#if defined(__i386__) || defined(__amd64__) + allow = (type == SYS_RES_IOPORT && start == CONF1_ADDR_PORT); +#else + allow = false; +#endif + if (!allow) { + AcpiOsFree(devinfo); + return (true); + } + } + AcpiOsFree(devinfo); + } + } + + return (false); +} + static void acpi_res_set_init(device_t dev, void *arg, void **context) { @@ -605,6 +656,8 @@ acpi_res_set_ioport(device_t dev, void *context, uint64_t base, if (cp == NULL) return; + if (acpi_res_ignore(dev, SYS_RES_IOPORT, base, length)) + return; bus_set_resource(dev, SYS_RES_IOPORT, cp->ar_nio++, base, length); } @@ -630,6 +683,8 @@ acpi_res_set_iorange(device_t dev, void *context, uint64_t low, device_printf(dev, "_CRS has fixed I/O port range defined as relocatable\n"); + if (acpi_res_ignore(dev, SYS_RES_IOPORT, low, length)) + return; bus_set_resource(dev, SYS_RES_IOPORT, cp->ar_nio++, low, length); return; } @@ -645,6 +700,8 @@ acpi_res_set_memory(device_t dev, void *context, uint64_t base, if (cp == NULL) return; + if (acpi_res_ignore(dev, SYS_RES_MEMORY, base, length)) + return; bus_set_resource(dev, SYS_RES_MEMORY, cp->ar_nmem++, base, length); } @@ -669,8 +726,11 @@ acpi_res_set_irq(device_t dev, void *context, uint8_t *irq, int count, if (cp == NULL || irq == NULL) return; - for (i = 0; i < count; i++) + for (i = 0; i < count; i++) { + if (acpi_res_ignore(dev, SYS_RES_IRQ, irq[i], 1)) + continue; bus_set_resource(dev, SYS_RES_IRQ, cp->ar_nirq++, irq[i], 1); + } } static void @@ -683,8 +743,11 @@ acpi_res_set_ext_irq(device_t dev, void *context, uint32_t *irq, int count, if (cp == NULL || irq == NULL) return; - for (i = 0; i < count; i++) + for (i = 0; i < count; i++) { + if (acpi_res_ignore(dev, SYS_RES_IRQ, irq[i], 1)) + continue; bus_set_resource(dev, SYS_RES_IRQ, cp->ar_nirq++, irq[i], 1); + } } static void @@ -699,6 +762,8 @@ acpi_res_set_drq(device_t dev, void *context, uint8_t *drq, int count) if (count != 1) return; + if (acpi_res_ignore(dev, SYS_RES_DRQ, *drq, 1)) + return; bus_set_resource(dev, SYS_RES_DRQ, cp->ar_ndrq++, *drq, 1); } From nobody Mon Apr 8 19:04:31 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6S325sz5HYlc; Mon, 8 Apr 2024 19:04: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 4VCz6S1PM8z4gf7; Mon, 8 Apr 2024 19:04:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5V0APuppMW2or+w0B8bR4ZPZTBLo7OUVp9H9c5tiCCo=; b=Pr2Mqu084PwpZDrHwfOPO5aLlVBVRtvu77C5HUJDVGo/1yAwRQfNO1dGT+hlALwNtRW4OA hoS3QnULLQCFD/EcuEm85hkiOkNo1WrU761N1eL0GsPrMa/EDBQvFAZOCgwwJpYOEDqne+ fxHcmqJorYsLpdy5/4+zNjGYtqeKBwnBoxIEbtNRVsDESvA8aR+EUCDZmQNt8QQLjkMG7k X3y53EBWuKd8ZjTUuWMWHHCg1sK92WF8jO4cV4E5gcnklmurLelV/AZF79iFv/K5VXtLqr cLgLCzvmTvCxrXteZMOhsEgLbmjRLyHvIf7AWw4+8NDnfQ3PqPN0SkddrNZQmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603072; a=rsa-sha256; cv=none; b=WTSQGNOotqv0lvMfc/XnJyW0cWDjLFFPBo1bNqlwZ6JYZsL0j6tUfqyEb7bK0RdUF5gy25 WJkxCNgzSXTixsNO6suqNLUpJJ5pSTJ/4FnmE+PEIPZ3W9MrJs59gVWZVjRt/grne5f1zQ 95ZJWW05XDkRfYyZAk1EjvUQghr+BkDNG5aeKOCKG2oHkns5NFn6EsV7ngWoDAZugWrqzO /EK6oSi04CU+DFVCkJE0Iy8S046Gdg/jpUUl77s7PwN38Nbtjn+3A4eZEAb9k2PS3uNxDO eFHnFN4zZQl394k+h+oyfia6nfcUHXZFiNG8pakBofhSJI0cet+6hOnlw32e4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5V0APuppMW2or+w0B8bR4ZPZTBLo7OUVp9H9c5tiCCo=; b=fP+FtQsTKupBxDMhWCVTKIRdilwkRqvRmt5H7RhJq+PoZ1LJkyIGDV/uJW4lH+VLOeMmST plNpCmCJaoA6Y8JPZ5vN66cNemSzRDU/FcUZjyTNZ4BOi7aE6HyPxrPdMumBXoCb0iX45B LWkIs/YSZWRRO0aZhe+FnEqkhk3i180cWrqKSS4jarI56HC4Xz0u5F/BhHIta7roOQCWdt 2QSLbxqp1knXlt1WdLawxk5lVlqlzTV+wAnAbxwcEphG8TS3kpo7jGnBVw1JMk4oPo+UfU pXXo//eI6rFF/LxakvWxCnRxWtDg3+eDYKOYSwguqMyZL+M7S2o7o7qQEpXoKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6S0kG9zNdj; Mon, 8 Apr 2024 19:04: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 438J4WIg094408; Mon, 8 Apr 2024 19:04:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4VM7094405; Mon, 8 Apr 2024 19:04:31 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:31 GMT Message-Id: <202404081904.438J4VM7094405@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 9c699850011b - stable/14 - pci_host_generic: Include the bridge's device name in rman descriptions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 9c699850011b216ed98cd0de866739e834f083d6 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9c699850011b216ed98cd0de866739e834f083d6 commit 9c699850011b216ed98cd0de866739e834f083d6 Author: John Baldwin AuthorDate: 2024-02-14 22:07:32 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:54:50 +0000 pci_host_generic: Include the bridge's device name in rman descriptions The rman description strings now match those used in the PCI-PCI bridge driver. Using more specific names removes ambiguity in devinfo -u output on systems with multiple host to PCI bridges. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43890 (cherry picked from commit 51f8ac224f3b87555ea17c7e7c4015a2a2b8b191) --- sys/dev/pci/pci_host_generic.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/sys/dev/pci/pci_host_generic.c b/sys/dev/pci/pci_host_generic.c index 90361a7258ed..082d083fc681 100644 --- a/sys/dev/pci/pci_host_generic.c +++ b/sys/dev/pci/pci_host_generic.c @@ -83,6 +83,7 @@ pci_host_generic_core_attach(device_t dev) uint64_t phys_base; uint64_t pci_base; uint64_t size; + char buf[64]; int domain, error; int rid, tuple; @@ -135,13 +136,19 @@ pci_host_generic_core_attach(device_t dev) sc->has_pmem = false; sc->pmem_rman.rm_type = RMAN_ARRAY; - sc->pmem_rman.rm_descr = "PCIe Prefetch Memory"; + snprintf(buf, sizeof(buf), "%s prefetch window", + device_get_nameunit(dev)); + sc->pmem_rman.rm_descr = strdup(buf, M_DEVBUF); sc->mem_rman.rm_type = RMAN_ARRAY; - sc->mem_rman.rm_descr = "PCIe Memory"; + snprintf(buf, sizeof(buf), "%s memory window", + device_get_nameunit(dev)); + sc->mem_rman.rm_descr = strdup(buf, M_DEVBUF); sc->io_rman.rm_type = RMAN_ARRAY; - sc->io_rman.rm_descr = "PCIe IO window"; + snprintf(buf, sizeof(buf), "%s I/O port window", + device_get_nameunit(dev)); + sc->io_rman.rm_descr = strdup(buf, M_DEVBUF); /* Initialize rman and allocate memory regions */ error = rman_init(&sc->pmem_rman); @@ -201,6 +208,9 @@ err_io_rman: err_mem_rman: rman_fini(&sc->pmem_rman); err_pmem_rman: + free(__DECONST(char *, sc->io_rman.rm_descr), M_DEVBUF); + free(__DECONST(char *, sc->mem_rman.rm_descr), M_DEVBUF); + free(__DECONST(char *, sc->pmem_rman.rm_descr), M_DEVBUF); if (sc->res != NULL) bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->res); err_resource: @@ -223,6 +233,9 @@ pci_host_generic_core_detach(device_t dev) rman_fini(&sc->io_rman); rman_fini(&sc->mem_rman); rman_fini(&sc->pmem_rman); + free(__DECONST(char *, sc->io_rman.rm_descr), M_DEVBUF); + free(__DECONST(char *, sc->mem_rman.rm_descr), M_DEVBUF); + free(__DECONST(char *, sc->pmem_rman.rm_descr), M_DEVBUF); if (sc->res != NULL) bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->res); bus_dma_tag_destroy(sc->dmat); From nobody Mon Apr 8 19:04:33 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6T4C9gz5HYXx; Mon, 8 Apr 2024 19:04: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 4VCz6T2L5cz4gNp; Mon, 8 Apr 2024 19:04:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MoKLe5OmuopajWI86N8ggn+me30j0tbVk5H2968ljM4=; b=oR0DSSfUXpMRp6ezd3hwHIBoFC42RlMJWoz4rs7R/d4HlQYfb7ain48UCXB9ytD2Co3zMY wTjg/qNcxZ3C94L5pLn6HmO7RQJU0r0jH3pnedzyc85AbBde0iVD+dUcpQUWwYUSzd71dn fYnaS3KHY1gEWEyqVg8UxcKoivtDk5Z/XlmRqSbb4xw/sDrWGMNNJVbWYfnj79gAw1vcQT bKHg9ij6pdc6HehzT0ANDx79nsiS6ni29tYF4DFdtl9ybrerpraUaMtf2dgQ94Q8ItwJ04 mvM38klREwetPuWayhfkezzhxZqJWWfDHITROz9x6PpIxaNyffDotVSqv12bLQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603073; a=rsa-sha256; cv=none; b=phrNL5Zqj2YCuG+iu/dSw0d2Wry/mb6KDGc1noVIjYisg+gf7iTG6tnFU+qkPyPme203JT HijW1KV3Qnc6Rv2zgbdZW9ceY5cq77bPFQHBGAHbR0XxBc22vhFDR2ctgQFWJiXZdQ6DrX W4URGS/Sj2yM3xcLZRh+r1hTvR7kU+jMMiSlJwqlv4Fd8a7g2mrrfA246BSIup3NRWL0FT xcyV8ylqoV9fpAyfGpDbVi5jJCOBQCW0vtU1RA8wm0CkW6TEiFKUW//pLK6lYTmErSh02p g1/ySqOgwnh1AMN4K2BC//ynTGKzBLlqXHuCCu/zREZfquSW89W7+tOOfsHXTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MoKLe5OmuopajWI86N8ggn+me30j0tbVk5H2968ljM4=; b=gNOFuqq0/9/335E2+O6eyJHmLwPVOd73eqQyoxaH3HV0ci7TdfTBcdcqfDva1PWbIouJoZ FghsHDjaspTYlTN9bohe4nvGMbDszyJVNXqg7VhPWgRWl2yvtb64rcy06TMckRRpHKPtQG FzKkdKOTV1mYrpME3MrquiHx/IBDORuyF9S5NFv4o4rR5HG2gjY61eC5Z1YWw2H0USSbK6 jqpMr8Yb/3QHLvrGlKIe/0belFJoR//9Z8sV9a8Sh1njqzNljUnjp36ZuzHIAHatrvhAWN GUrxBhVmmRr5GeThogd67kmYoSby1M0Yq7gobFsWxMyrxHteKc0pXcA1Us6elg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6T1sTmzMx8; Mon, 8 Apr 2024 19:04: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 438J4Xx2094456; Mon, 8 Apr 2024 19:04:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4Xes094453; Mon, 8 Apr 2024 19:04:33 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:33 GMT Message-Id: <202404081904.438J4Xes094453@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 13926bcb9779 - stable/14 - pci_host_generic_fdt: Remove duplicate DEVMETHOD entries List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 13926bcb9779f8f2ba72ee25a094e179aa94d680 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=13926bcb9779f8f2ba72ee25a094e179aa94d680 commit 13926bcb9779f8f2ba72ee25a094e179aa94d680 Author: John Baldwin AuthorDate: 2024-02-14 22:07:32 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:55:37 +0000 pci_host_generic_fdt: Remove duplicate DEVMETHOD entries These are already inherited from generic_pcie_core_driver. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43888 (cherry picked from commit 93923685d35d95e76bd2c125c007e13354b9428c) --- sys/dev/pci/pci_host_generic_fdt.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/pci/pci_host_generic_fdt.c b/sys/dev/pci/pci_host_generic_fdt.c index e910e946421f..bcee6057ff3c 100644 --- a/sys/dev/pci/pci_host_generic_fdt.c +++ b/sys/dev/pci/pci_host_generic_fdt.c @@ -480,8 +480,6 @@ generic_pcie_ofw_bus_attach(device_t dev) static device_method_t generic_pcie_fdt_methods[] = { DEVMETHOD(device_probe, generic_pcie_fdt_probe), DEVMETHOD(device_attach, pci_host_generic_fdt_attach), - DEVMETHOD(bus_alloc_resource, pci_host_generic_core_alloc_resource), - DEVMETHOD(bus_release_resource, pci_host_generic_core_release_resource), /* pcib interface */ DEVMETHOD(pcib_route_interrupt, generic_pcie_fdt_route_interrupt), From nobody Mon Apr 8 19:04:35 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6W6gWCz5HYY2; Mon, 8 Apr 2024 19:04: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 4VCz6W4GSbz4gnL; Mon, 8 Apr 2024 19:04:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tZolYAtd6ohR7XaQDcDHpqjnkjjjEEYjcnrQFLshCmY=; b=av+lJTx/xuVK/AenUI07ARSd4g9LqWtfTIvLPZPqk+nWXFEfRPe0yw+24h1mLRphPakWzt svQ/yXz6LfalG+JmGEZw1XjTGtp0otqyjmyYzcO9nn0lCKEclPFeXvWQVvIEq3Ps/igRli UKHNH1IPl8HB3MQ5VEWh7dTVUJuFzOuOOts0aRz2fp71lYfGq5F2LJu0AhisgW+ZCiQWhM g4+nP6jIDt7CdQQTVOkoBVmjOoPGyaJDb9zcqIKcV1BswQWvejpTJ2GUj+87LAzYb3BXtp CrQ+MngF/sx3WuI3fD1tcvwovtILnScxdBHAjP6hkJuhKVoZgy1sRw7aQhd4+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603075; a=rsa-sha256; cv=none; b=EG2mgA2VDJ92vzZervqAzywIQ2TpvnLK3VgpkblnjWxNs6NYu+oMGt1byZz3g+o7zOqd44 i1J0Vis67o00cRXKDJAeHT1X0TCiOqtODc51cUaznGAn++xY0wrAe1etcGjBa9jZFl4BRp 9fqKvR5R7RO9P28FX5XeWMhDyR/Ww8kVlNrCqSOucunSXi3Tl6MKmyJDckCHvSWPBRmX7X ovHpW+RbrIfzqICH2u8/bTuemwbAu1oXdAccUJ7SsvFb6qQH6rJk3Yl312kx0cmcpO4C3W 8KanRBL7xj5xFmNcPDTbMIcgRQ1E5IZWYxnE7CNaAq/v0jT938r1ipCGv4neMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tZolYAtd6ohR7XaQDcDHpqjnkjjjEEYjcnrQFLshCmY=; b=je+/lOBA99vjs1AL4jFstzWbJhnUILcmPUYH5VieiURJrEB64jqz0Jj68LxjPBEZuzHQM0 WrPtKtlTZTv9umDs4cpIYOD/I0MDtyY9/BjC/qNF4L2/yhTPiQXUo7Kv9dIqVse/XNsO38 zc3akAhamGlmxn8HATPhERRNLM8WeeHzYkjXPHwQL7/8eZl8Q7VDOCPgrNSU1LoX+o0L3M DsNkeMwzIEPn/ZJBUyZMcNeZoXsyuYfZXcLA4P7HEy2lUmgNm471KYxdFPWm+nvZEv135P AXg+pG4oySYVIHyEj6TJHJj3jdgOn12WL/pMOdUAVDhdIYv3xyzM6kLv1U3ufA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6W3tkvzNQG; Mon, 8 Apr 2024 19:04: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 438J4ZdB094563; Mon, 8 Apr 2024 19:04:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4ZMs094557; Mon, 8 Apr 2024 19:04:35 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:35 GMT Message-Id: <202404081904.438J4ZMs094557@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 50a4c3bb7aec - stable/14 - riscv: Add missing includes for DDB List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 50a4c3bb7aec0f699ac0f2eebdb7f707c55e6419 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=50a4c3bb7aec0f699ac0f2eebdb7f707c55e6419 commit 50a4c3bb7aec0f699ac0f2eebdb7f707c55e6419 Author: John Baldwin AuthorDate: 2024-02-15 20:20:30 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:56:24 +0000 riscv: Add missing includes for DDB The #ifdef DDB code in parse_metadata was dead code without opt_ddb.h. While here, update the call to db_fetch_ksymtab for changes in commit 02bc014a200a. Reviewed by: mhorne Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D43919 (cherry picked from commit 962b0bcbd924d308016237abc991280f15777e7f) --- sys/riscv/riscv/machdep.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/riscv/riscv/machdep.c b/sys/riscv/riscv/machdep.c index d5767e240c7e..5872ef9f94ac 100644 --- a/sys/riscv/riscv/machdep.c +++ b/sys/riscv/riscv/machdep.c @@ -33,6 +33,7 @@ * SUCH DAMAGE. */ +#include "opt_ddb.h" #include "opt_kstack_pages.h" #include "opt_platform.h" @@ -92,6 +93,10 @@ #include #include +#ifdef DDB +#include +#endif + #ifdef FDT #include #include @@ -456,7 +461,7 @@ parse_metadata(void) #ifdef DDB ksym_start = MD_FETCH(kmdp, MODINFOMD_SSYM, uintptr_t); ksym_end = MD_FETCH(kmdp, MODINFOMD_ESYM, uintptr_t); - db_fetch_ksymtab(ksym_start, ksym_end); + db_fetch_ksymtab(ksym_start, ksym_end, 0); #endif #ifdef FDT try_load_dtb(kmdp); From nobody Mon Apr 8 19:04:34 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6V6FlCz5HYWD; Mon, 8 Apr 2024 19:04: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 4VCz6V3Wzjz4gkt; Mon, 8 Apr 2024 19:04:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YmuAbye1AWhQBD2Bc0R3YJXJM65YIMgQwyeDq4alH3I=; b=AVC62pzWkoDhAtv8UO8pcq4/5jis37EKEhQGDqon9qoTtOxJhsr4O00ybuO/KP+qc+kZUx MrKJEPXWT98hTyODCMrsPYhN0MFEaVspp7z2sRAVLRZ0aqwv46ryAI03W+qAN2fxrXabAf 3uqhOzezpIRxKCweJr3oYZvp0OGEv9a92iJ5wfkv0GadeHTLGQAuMmBGgUosOa7XkQU+cP BJE2Gohv3WjOoNqNUco3JNJySSTv3Jx0oiw594hF8TU8lXJVmutvH0FkTpxblkjtnzsoVe GNKUP++3fogOli/kntiaJ1x0K2USIQ/BKWRSj7K92BtvWdaoIe76MIQtmUXWjA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603074; a=rsa-sha256; cv=none; b=aQVHgPyMMGbzrm5H6WjIubmi8z/aY23GH3Ji9XYbJA08/lMskgS56sf7mnU+8IcuQmuvQC 5EzzxpNkZln+TV09FHs8Xrk4Dx5OTBMfEJohRfrY0nIQNs0k4bLRQ922Jnf4jaxl/PCFjH gGqyGjj4uPyU8sfFcdVMoWlIFlm9i1xvTWXgZYiPDxjRKM+7JzKhA0jFvfXwOBZnp3OVAx Y3hEykCKYi6nXczoTZ/pPzNNjBbTWBoCC/JMyrSSJ+ZKunTmCjxbK8vqEBi0Z8xPhKD56M rw9mdZbGTRIWKLuop4pCw47U1vVlDudx4HhIpqalLqwQuIWkB2FaiTG6xE0kTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YmuAbye1AWhQBD2Bc0R3YJXJM65YIMgQwyeDq4alH3I=; b=daSQDRbCQVE09l1xXumRdA060E4idsIWQc9JJLP+3rUkN2taEZFDDLi4BQAbMTcNTQq+KN kqzIIayZrFZY7nhGtmpcz74dv2GWtgOJgoSXr9uHg0P0ixQPTn1v6Xi+yHFTV/3lMbbLGv Ndgrxqa9Cv+IdrRk4UYeFGAdUHdqvAlUo/ZECnKMSO6nA6gzYc41x5tpXPeGE1ECY06vSo Ze+o31TIoAb2TNuHBrw//Usfmnku1hciNxsoCM195XuwSFdeLWiZaaPgT7TMPA1ot8XzT+ dmwNeHqVMv7AhwoQcz1sCwjevKzQW65aCwnejyls6nz3tL5VlD8M5dktgm0OUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6V337qzNQF; Mon, 8 Apr 2024 19:04: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 438J4Y8D094510; Mon, 8 Apr 2024 19:04:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4Yns094507; Mon, 8 Apr 2024 19:04:34 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:34 GMT Message-Id: <202404081904.438J4Yns094507@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: cfb8cc9c5fa9 - stable/14 - acpi: Don't assume a resource is reserved in acpi_delete_resource List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: cfb8cc9c5fa942ef51d3738851efd63ba0aeaccd Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=cfb8cc9c5fa942ef51d3738851efd63ba0aeaccd commit cfb8cc9c5fa942ef51d3738851efd63ba0aeaccd Author: John Baldwin AuthorDate: 2024-02-14 22:07:32 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:55:58 +0000 acpi: Don't assume a resource is reserved in acpi_delete_resource This fixes a panic if a driver uses bus_set_resource to add a resource that fails to reserve and then deletes the resource via bus_delete_resource. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43891 (cherry picked from commit e05436d577de98944b97b9cf510b29c4d2091b3f) --- sys/dev/acpica/acpi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 955c2b71b5ec..0894f4464162 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1619,7 +1619,8 @@ acpi_delete_resource(device_t bus, device_t child, int type, int rid) " (type=%d, rid=%d)\n", type, rid); return; } - resource_list_unreserve(rl, bus, child, type, rid); + if (resource_list_reserved(rl, type, rid)) + resource_list_unreserve(rl, bus, child, type, rid); resource_list_delete(rl, type, rid); } From nobody Mon Apr 8 19:04:36 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6Y1hYfz5HYmN; Mon, 8 Apr 2024 19:04:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VCz6X5mJkz4gZp; Mon, 8 Apr 2024 19:04:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+KA3Fe/fYWAD5Oy1WdXCpMw23L6Cn9C4e3wdo5eXRCs=; b=fujiPBfxOtC36wOpPkwZdhIM3CXA6EsNztd0yB8L6EMhJugY7ojiTBgOGz0BmoTsJIbqDB 9wSOy6EqdwNmb3kLJ+5rYmZN+mtTMVTTf6e7UqEuY6txr2wLbtjFsIYOjwQtLQYQEowgUz dfPdTdh6PG+9aL/cxNHAcE2SpXzQaC6EnmZKBBqwAoG38J+dcIgrV38H6kJoS9EIeMRYg/ rDDls4RCuoD0qiF8z1HyBKxQhTGHWZeJt4E0xTeww1vwJhoSO4rcld9zpVgtuh/CSQhUno ABZSOq2cKCbstIDSLQbTZO+RXhd4gQ5IfiZMQ4Xb1wMW1HF//YenVRNOBrJm4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603076; a=rsa-sha256; cv=none; b=rSop9PLylGQ6wA4JEmu6g48eDOhjsijB5C8odU8NVnP0s/vXOImzMnJc22s3yDyrMJk5RG cN07DlHRA7k9KjIhcyMV1Yj01XY3ZcT5X2TTCXXWOsEpyOIFVkTRUsmnAKWQ2YQ121uwvA WyqQxFIjICVf+GbHrQC1aM2oPFQrSxhs6EmuOhfuUp3zOKcB2VvlLViGBvAzG/PUr3ecN/ kdnpEUeCCTlmrNuaR+DwQZDqKmWcat9wu5+OYPeUJ/KETpdpqREDHhhgxeL5iQAMboJZth j6EaQ+APNspBhcTip8B6TLlO4CXN0jaxbh+AJQgbQV9h/boDwXsbH0q9ZrjzBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+KA3Fe/fYWAD5Oy1WdXCpMw23L6Cn9C4e3wdo5eXRCs=; b=cE6iWbF+rlDDmQwkUTbZ5MV5+XogXG1Dk1U9mOIgGfXmi4jL2io5cfBuzFpMEvD+4o/w5Y jf7UoFD6ta65IxVevOicJ3enLYENbVHokIBQnh7wwJLzGKsRo2VlYBxF4MrTNZgrvMDl0y yaFSFuDlRCvhqWn/oh1cyrQ9Gs3scFYRAVS8tMfAFNURKChEdFVXSJQVVBPF48QbBTW/Zv oBVYFwrsB+O+pU0+U7cJsR5Csq+crSlIt7ynziKDN/snh1al3h52aFbKCAjbCLA1LwZd7X PjzIM/wIH+iVq+G17NAOdLbYIvoGrIzjzWeMrCYRz6O++I7T9gbqPG8Kc1unBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6X53zhzNfM; Mon, 8 Apr 2024 19:04: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 438J4aLk094609; Mon, 8 Apr 2024 19:04:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4aaK094606; Mon, 8 Apr 2024 19:04:36 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:36 GMT Message-Id: <202404081904.438J4aaK094606@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 00907525212d - stable/14 - vmd: Use bus_read/write_* instead of bus_space_read/write_* List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 00907525212d3cbac7f0ad7ea1ed6f65ce0e05aa Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=00907525212d3cbac7f0ad7ea1ed6f65ce0e05aa commit 00907525212d3cbac7f0ad7ea1ed6f65ce0e05aa Author: John Baldwin AuthorDate: 2024-02-15 20:26:19 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:57:24 +0000 vmd: Use bus_read/write_* instead of bus_space_read/write_* Using an explicit bus space tag and handle is deprecated. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D43885 (cherry picked from commit 76c678688634e9e2ea5f6369fb979aabddbfe426) --- sys/dev/vmd/vmd.c | 21 ++++++--------------- sys/dev/vmd/vmd.h | 2 -- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/sys/dev/vmd/vmd.c b/sys/dev/vmd/vmd.c index 395b789fdff4..7fc045032dc6 100644 --- a/sys/dev/vmd/vmd.c +++ b/sys/dev/vmd/vmd.c @@ -185,14 +185,11 @@ vmd_read_config(device_t dev, u_int b, u_int s, u_int f, u_int reg, int width) switch (width) { case 4: - return (bus_space_read_4(sc->vmd_btag, sc->vmd_bhandle, - offset)); + return (bus_read_4(sc->vmd_regs_res[0], offset)); case 2: - return (bus_space_read_2(sc->vmd_btag, sc->vmd_bhandle, - offset)); + return (bus_read_2(sc->vmd_regs_res[0], offset)); case 1: - return (bus_space_read_1(sc->vmd_btag, sc->vmd_bhandle, - offset)); + return (bus_read_1(sc->vmd_regs_res[0], offset)); default: __assert_unreachable(); return (0xffffffff); @@ -214,14 +211,11 @@ vmd_write_config(device_t dev, u_int b, u_int s, u_int f, u_int reg, switch (width) { case 4: - return (bus_space_write_4(sc->vmd_btag, sc->vmd_bhandle, - offset, val)); + return (bus_write_4(sc->vmd_regs_res[0], offset, val)); case 2: - return (bus_space_write_2(sc->vmd_btag, sc->vmd_bhandle, - offset, val)); + return (bus_write_2(sc->vmd_regs_res[0], offset, val)); case 1: - return (bus_space_write_1(sc->vmd_btag, sc->vmd_bhandle, - offset, val)); + return (bus_write_1(sc->vmd_regs_res[0], offset, val)); default: __assert_unreachable(); } @@ -283,9 +277,6 @@ vmd_attach(device_t dev) } } - sc->vmd_btag = rman_get_bustag(sc->vmd_regs_res[0]); - sc->vmd_bhandle = rman_get_bushandle(sc->vmd_regs_res[0]); - vid = pci_get_vendor(dev); did = pci_get_device(dev); for (t = vmd_devs; t->vmd_name != NULL; t++) { diff --git a/sys/dev/vmd/vmd.h b/sys/dev/vmd/vmd.h index a8156ba88a17..2ab943c07a6d 100644 --- a/sys/dev/vmd/vmd.h +++ b/sys/dev/vmd/vmd.h @@ -53,8 +53,6 @@ struct vmd_softc { #define VMD_MAX_BAR 3 int vmd_regs_rid[VMD_MAX_BAR]; struct resource *vmd_regs_res[VMD_MAX_BAR]; - bus_space_handle_t vmd_bhandle; - bus_space_tag_t vmd_btag; struct vmd_irq *vmd_irq; LIST_HEAD(,vmd_irq_user) vmd_users; int vmd_fist_vector; From nobody Mon Apr 8 19:04:38 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6b23Wcz5HYSj; Mon, 8 Apr 2024 19:04: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 4VCz6b0QPgz4glh; Mon, 8 Apr 2024 19:04:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603079; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bu/oGPm/GEVY85CoY+x+NsoFzO1vd89MxvzUepjyl+I=; b=x16yopMXUPP2aQO2blM8oj6msvJVwkXORZjMPfGL5PiTQ17Kj+QmcF+xyDrTuI9OiP6RBZ E8mothGmi1GM4pzZa6GvAKKFmdQIB8zrv9s8cLH+rDP4hR7KfXGCk2iVYqlfmP2U3nqGFY IUWoSX3CyY13DG06KahIPy+y5yqbXKeUSJcMzE1e8eL9ynOhH7RJGflmwjDwxtJ0S+cwEp WWIx4ZEKkXsWPe5r0LqcDlfkQZMX3iB++CIqsWReH5iNcjWJ7Tb+GOPuDt3Tr7Mh+5l/iM ZBxvvhKYYS5FLPZJ1u3GTY7km5p41ZvV6kZNLzY6J9u88DyyIabDeY4+svTt0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603079; a=rsa-sha256; cv=none; b=oNBjVBvT+F0A7vFR6MS+UuSEpSp/evUe2AK8MjKksxxKv9WynhmUBhUYI6ksW5UybhIqC+ JwbrRUtImnp/udUNUi4D6H3JgiDRQGPzM3pSv2DoVB7y+Rp5RK7+FXxlBUH5j/aLeFTbAw iRNG1UEL4hQ76lvz4Lp/MQqrg9WBk64sbcg3X4aaRHA17duDL15T9puF9JpCF9EoFSeUFW 4vt5OXA358PP85Y89jIZJP00vfX/h15UZCuQtgJMtvSCZwjZ5tlK37mvg3tR3tJSwSboRO t7Z2c3h+qLPeY+L4cuPqc1x1PiJmnH4z763tBDvQsYkHu2EXMp40P4zGJaBI7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603079; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bu/oGPm/GEVY85CoY+x+NsoFzO1vd89MxvzUepjyl+I=; b=dX3YC4Yq7ePsdX371ScjrXHthVB+sqnn/wSU1f9XXSZSaoC14FhA5Xk9xkqBCvwXzLgwaC fMUrKdm1CmHXtOwZ70sxBa9N4Q67cNIsQzBllcP+08GYciunIFzRqFBG0WHECqDUwQbdmv 409KA8ITWjRPpKgsdvrXixFBqjG3F7HqrlzuTi43mAClV4ai49TCN30/bWxvRVbhUwlICq gVLoB/KI9BNyyaW/V8Ba/zOyXBqEmfPpMu3BiNoZVni3Kc9WDimk+9v9QILGn0AE5nHVV8 TioNE3E7MmQ4EjUR23LwWpLeegTkkdI/bDqgOVZaCu28z9FVirtgZ3i5j8L+mw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6b01mgzN1H; Mon, 8 Apr 2024 19:04: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 438J4cbv094720; Mon, 8 Apr 2024 19:04:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4cZn094717; Mon, 8 Apr 2024 19:04:38 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:38 GMT Message-Id: <202404081904.438J4cZn094717@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 794517a0f379 - stable/14 - netlink: Don't use a zero-length array List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 794517a0f3794131d79e3c9d0c12fcceb840ae80 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=794517a0f3794131d79e3c9d0c12fcceb840ae80 commit 794517a0f3794131d79e3c9d0c12fcceb840ae80 Author: John Baldwin AuthorDate: 2024-02-27 19:59:52 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:58:16 +0000 netlink: Don't use a zero-length array Define SNL_DECLARE_FIELD_PARSER* macros to create a parser that has no output attributes only input fields and use this to define the snl_donemsg_parser. This removes the need for the zero-length nla_p_donemsg[] variable. Zero length arrays are not valid in ISO C. Reviewed by: jrtc27, melifaro Differential Revision: https://reviews.freebsd.org/D43918 (cherry picked from commit 69945c49fea7ac2352c1fd7d22f70f2e3861ba81) --- sys/netlink/netlink_snl.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h index 7bdf5424ddf3..f8387132f78a 100644 --- a/sys/netlink/netlink_snl.h +++ b/sys/netlink/netlink_snl.h @@ -174,6 +174,18 @@ static const struct snl_hdr_parser _name = { \ #define SNL_DECLARE_PARSER(_name, _t, _fp, _np) \ SNL_DECLARE_PARSER_EXT(_name, sizeof(_t), 0, _fp, _np, NULL) +#define SNL_DECLARE_FIELD_PARSER_EXT(_name, _sz_h_in, _sz_out, _fp, _cb) \ +static const struct snl_hdr_parser _name = { \ + .in_hdr_size = _sz_h_in, \ + .out_size = _sz_out, \ + .fp = &((_fp)[0]), \ + .fp_size = NL_ARRAY_LEN(_fp), \ + .cb_post = _cb, \ +} + +#define SNL_DECLARE_FIELD_PARSER(_name, _t, _fp) \ + SNL_DECLARE_FIELD_PARSER_EXT(_name, sizeof(_t), 0, _fp, NULL) + #define SNL_DECLARE_ATTR_PARSER_EXT(_name, _sz_out, _np, _cb) \ static const struct snl_hdr_parser _name = { \ .out_size = _sz_out, \ @@ -909,14 +921,12 @@ SNL_DECLARE_PARSER(snl_errmsg_parser, struct nlmsgerr, nlf_p_errmsg, nla_p_errms #define _IN(_field) offsetof(struct nlmsgerr, _field) #define _OUT(_field) offsetof(struct snl_errmsg_data, _field) -static const struct snl_attr_parser nla_p_donemsg[] = {}; - static const struct snl_field_parser nlf_p_donemsg[] = { { .off_in = _IN(error), .off_out = _OUT(error), .cb = snl_field_get_uint32 }, }; #undef _IN #undef _OUT -SNL_DECLARE_PARSER(snl_donemsg_parser, struct nlmsgerr, nlf_p_donemsg, nla_p_donemsg); +SNL_DECLARE_FIELD_PARSER(snl_donemsg_parser, struct nlmsgerr, nlf_p_donemsg); static inline bool snl_parse_errmsg(struct snl_state *ss, struct nlmsghdr *hdr, struct snl_errmsg_data *e) From nobody Mon Apr 8 19:04:37 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6Z2Cl3z5HYY6; Mon, 8 Apr 2024 19:04: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 4VCz6Y6WV6z4glY; Mon, 8 Apr 2024 19:04:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7OuVP1OfwWji1rWNfcVcKLNJwhH9j+Pqd5qrWClBCbk=; b=N6ZZYpnvVUWnNi1c3y8nBTdg7Gv9zERIB/N8tzs7M8hiwvJ1vokVg0Lc2s1OhG2pc0C7F1 0vAHl06uZ77L6bZZrTjM01VgOFPJCCugDKN2QUzbmepe78CbmSgusx7gihW08D2WcfzfkW xhoOCTFJqxK6m7AHhPKRE46T02RjJjnjF2k/66qyrJA3vKT2vS493oeHF2Qs6uHzeZkLxx Uv78pGUlHz6P93KqgCrzPiQK0nNplhQ92Y51QxayZCoveqv4/dqhv88HvpYt4IKSqg4Qs8 bLfGpDVSJjWDSQfazg87P8848ESZ6+H73xDzQUX5t/IzuOcePkQEK0rjL20SPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603077; a=rsa-sha256; cv=none; b=qU0ENO+Wz5TVKmlVPDGk+iSTkDWKSx3mldU5qFtba19ljZ09ZPtRBIVq0olVf3SwjhRJNk EmQ+cndLKzISfYFqp5UDwVXD31PFVqWiixlkbzxbInC0HDjdcA6gUorFvQ1WJLtlCjnWQK xrfqbZsvTGLbGFn+jCSord7G29ppmwYFh2CWvlT1AOdviGLUAODSfILUVthaWaNTWM7vSi taf7FsAs8ceJQou8BlQV6hT1DwcvsOjveK7cAhKq0I7QiNZ0dEyntVBBZCf4t79qFEMBSU w9AVWw2LSTVHKpZpbpcz4YijBME0uXpF9wuTPYT0N4F+gzYHLhPvxypye5Mv/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=1712603077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7OuVP1OfwWji1rWNfcVcKLNJwhH9j+Pqd5qrWClBCbk=; b=GmLn0f/jHG4498BrJ1NKfpNjgWjqG47D4KFFCecb+OuqVLnThwJP8WU6/PArF+8bfLEiD2 HeGsn9VdnwRjXwvZIJKFbu6Rhfwe2XJ+DbEeg5j7Jghh6mNiV/8KeSF41o9GjpYYxWAkTs Dac3VI1sSI9Xzf5egP3PFnhsU/8S2be6UfO3g76bL3BujrrzKhMavDT79Wh2nt8PKcC1pP lQx5MY4toNktvHBYruJ03Chgt9T/O3IvMRHHa9+CwAGssDT+GqJdmZ361wPoeF95s/66vM 1prByFDQPuKFn/rbQKto+Dktp+HVkfireVYVTPoN388w1kPEm2MP6CS3OzWXjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6Y67b9zN1G; Mon, 8 Apr 2024 19:04:37 +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 438J4bWh094675; Mon, 8 Apr 2024 19:04:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4bF9094672; Mon, 8 Apr 2024 19:04:37 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:37 GMT Message-Id: <202404081904.438J4bF9094672@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: d2c8cb41d1a2 - stable/14 - ipfw: Skip to the start of the loop when following a keep-state rule List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: d2c8cb41d1a2e531737a6da4cb9958bc497477c3 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d2c8cb41d1a2e531737a6da4cb9958bc497477c3 commit d2c8cb41d1a2e531737a6da4cb9958bc497477c3 Author: Karim Fodil-Lemelin AuthorDate: 2024-02-16 01:57:51 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:57:53 +0000 ipfw: Skip to the start of the loop when following a keep-state rule When a packet matches an existing dynamic rule for a keep-state rule, the matching engine advances the "instruction pointer" to the action portion of the rule skipping over the match conditions. However, the code was merely breaking out of the switch statement rather than doing a continue, so the remainder of the loop body after the switch was still executed. If the first action opcode contains an F_NOT but not an F_OR (such as an "untag" action), then match is toggled to 0, and the code exits the inner loop via a break which aborts processing of the actions. To fix, just use a continue instead of a break. PR: 276732 Reviewed by: jhb, ae MFC after: 2 weeks (cherry picked from commit 62b1faa3b7495de22a3225e42dabe6ce8c371e86) --- sys/netpfil/ipfw/ip_fw2.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/netpfil/ipfw/ip_fw2.c b/sys/netpfil/ipfw/ip_fw2.c index d2b01fde6944..e43d1a8fbbff 100644 --- a/sys/netpfil/ipfw/ip_fw2.c +++ b/sys/netpfil/ipfw/ip_fw2.c @@ -2886,8 +2886,7 @@ do { \ cmd = ACTION_PTR(f); l = f->cmd_len - f->act_ofs; cmdlen = 0; - match = 1; - break; + continue; } /* * Dynamic entry not found. If CHECK_STATE, From nobody Mon Apr 8 19:04:40 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6c4GR4z5HYmT; Mon, 8 Apr 2024 19:04: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 4VCz6c1NrHz4gx9; Mon, 8 Apr 2024 19:04:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603080; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3v9P/LKTW9GmmIJwr/RJoThAlRM18/4ywFB2LVTpV6I=; b=rK0JdWP0PXg2I0udOU1xDYdUUmfvrfxjTlg1sHGgfbECnZEUX7ei2Qsm8xhAJ1s+PKnFGR xE+obQTiZ8sMWyl4CSIpUphAe94T0JTWIJSnSRfd2EcQmdY7yjGpSxtD/E7q2QzKcdQf+0 o6hYVyNuQV/nQ1zB8fZsCK4mxIJ9u5emSdEo+oy3oVk3OUV75MJzLH+TDlG2Us+YDc12Gk iSqv7GKBg2A3FVO2Y4AfQDPklz0XreZmh0gDL7AvaDN9sMg7z0fgyroPE9fRsTj0Li7C15 xS29CNvGLCYgAdM644K6RSqlIZk8jVGBPCC7gqgF4maFBUN5dMKbO6qWpr8YPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603080; a=rsa-sha256; cv=none; b=CTen7ZZNNBMtxzXoCZO7S82xjeX4glaSo0d8pxIUjvOcaiCCFRJY3TcjsUaqrHPOAnB2S8 3w665wMJbiZIIdBsPrBytvFrQka0oAf5FwZnuJ7Przo3S3OnGLA9pLmuvTwzl6iBpjfSDA wuDvxlQu+37jPipHWJICK+RyroGaNT7lJ+q3S0IUQv2/R74jbSxpEbSrY4lPSoqBFAd+0x ZqcRv1A+b/bidoJjDQvpiSQzS8g2MoRXvnICmDxquWswCwhP56vI2jpidakP1SWFF/wI7t 6TT0CZQvY8lmmky2C+EiO4EvSKsis+Z5B8GO6mGWlZ5TSfizROD/bHUK/1yjzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603080; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3v9P/LKTW9GmmIJwr/RJoThAlRM18/4ywFB2LVTpV6I=; b=LY6u6FsnAS+M4XXRALDks2a6JsqPgEA8RNX4Hhyk62MmV/t1pspbiby/5C9erj+3vZx/OP GSzl7u2rZq2Y72AlZu3gdEd7MvPFMZOA0hJor0GZejQ61dshAjj4wzZXg6VF+HmYpGtyvw +ju3VaDHPPWLYGFA4NV/77fwZa1tuO25r6wZAAdT8hYIxu/peVkfWLspFssY/ZwuOFhYQ4 XjePGhTL1mmzvD29IG7dWAPit1Rf2Zw/BfWXjUIlWQBjJ1PkZ2rmNaYg4TaVC5OiiVzUn7 f5ZXbYZx/YMrnzTKgvENegXvN0bNpmEDmBzctf5xTnUlimus9EAfX8T2L4LJjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6c11DgzNfN; Mon, 8 Apr 2024 19:04: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 438J4eEg094768; Mon, 8 Apr 2024 19:04:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4edE094765; Mon, 8 Apr 2024 19:04:40 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:40 GMT Message-Id: <202404081904.438J4edE094765@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: e2d88351fdd8 - stable/14 - arm64: Fix typo in pagetable_l0_ttbr0_bootstrap symbol name List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: e2d88351fdd8ed7f0a021a9924afacb2c6d49b55 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e2d88351fdd8ed7f0a021a9924afacb2c6d49b55 commit e2d88351fdd8ed7f0a021a9924afacb2c6d49b55 Author: Alfredo Mazzinghi AuthorDate: 2024-03-01 18:32:43 +0000 Commit: John Baldwin CommitDate: 2024-04-08 18:00:06 +0000 arm64: Fix typo in pagetable_l0_ttbr0_bootstrap symbol name Obtained from: CheriBSD (cherry picked from commit c6a6ec85a70314b8270e25a06e77e2e7c95c7055) --- sys/arm64/arm64/locore.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index a87d7add4149..e97b393b90b4 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -211,8 +211,8 @@ ENTRY(mpentry) adrp x24, pagetable_l0_ttbr1 add x24, x24, :lo12:pagetable_l0_ttbr1 /* Load the identity page table */ - adrp x27, pagetable_l0_ttbr0_boostrap - add x27, x27, :lo12:pagetable_l0_ttbr0_boostrap + adrp x27, pagetable_l0_ttbr0_bootstrap + add x27, x27, :lo12:pagetable_l0_ttbr0_bootstrap /* Enable the mmu */ bl start_mmu @@ -910,7 +910,7 @@ pagetable_l2_ttbr0_bootstrap: .space PAGE_SIZE pagetable_l1_ttbr0_bootstrap: .space PAGE_SIZE -pagetable_l0_ttbr0_boostrap: +pagetable_l0_ttbr0_bootstrap: .space PAGE_SIZE pagetable_l0_ttbr0: .space PAGE_SIZE From nobody Mon Apr 8 19:04:41 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6d44byz5HYSm; Mon, 8 Apr 2024 19:04: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 4VCz6d1s2Qz4h0K; Mon, 8 Apr 2024 19:04:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Krft7X1np5mtq6NqMO9NR688pC5n0Z6IUZW0Xge9nRg=; b=rojIyJ21kT+PqZoldTE3K87LIYbxL1dp8OF8kEBkxIwqDTpVjOfH+Q3jGchaXzaJidfzxn jZqRq+A0g+nS7OeYY3nwIIO6C7mxPhhzPHbEzIPl+j5RU0NCKz5bxlTB3jfj0oPzcigORA PHooNE2vQSsIRiNjjd6HmSxfZ3ziAwcxF4be8Vi4ysnWJ+xhRLMD09laEcfmFV2qwP2Ync 8N7q6gKF8SCjXXmW4WKv/RwTWRj98O8QU4ifgMvCaLoAtHjI/GptOKueCfJ0QHodiUNedo ML/yEjBCKowU5EEEWfQuOscId7buA1b6xJ+uieE/EJM2kt+AlWsJfeUANXD63A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603081; a=rsa-sha256; cv=none; b=xgwslym/2Mn3aigKBcIDoM1zXvvYeLKpVOJFX2DFjeAsqMJZzzOfUrNItJztkI84GEuLei +/x9bCHMVfoormCFHwy0l8ZQYmYvmBj6IOMoJYD4mS7kpqgBbIFbYtA+pzq4NBCOm+gmTB /zKiqXRJCyoQTKhWl26+eRmOmoBbOkuCtsRITsB2ri1Iai4JWZGr8OQzlSR/Bcb0ofhF1t /A+QfLBstSwMybB/lH5phX0fdqmYYeQTEsHEGF42ui/pjKwRvI3F3OPk9qSAsvHpIShxfG Z8/TItrminJKi65UJiflsvq6vqiSj4+g6z/y8ivynyFpnQTuGwwyXp+X4nvU1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Krft7X1np5mtq6NqMO9NR688pC5n0Z6IUZW0Xge9nRg=; b=OkR8pZF7vT/RjLua7naDsQpJlGbt7P6bsdqaiQU/mTwOG1uK0bXdQ/boYILzD9QCfbRv31 lK9Z1godSWbBzv4uok6q4W9ViiytOLjD0+ir+MVaQu+MyPV6hhIj6sYw0KJfdOaFFmOjjw JAoqFT2SjNH5cdWhQkUv8Hy2QsY3oAX00lefTlu2++qb9dVr2lxxQcDnbWNXjqcqtBd4uW +lhlXTfjM1GjELfH86I2amdrVLXrmgFsUehuelVEd5uJcCsxoERLyWtg2k77bO4awDqPft wQsLviw1I4IU5p0KoMugeNQ0n83NMGpwDtR51812ldTGHsyv1r1Qyr6IfomM0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6d1TBBzMx9; Mon, 8 Apr 2024 19:04: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 438J4fuF094837; Mon, 8 Apr 2024 19:04:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4fn5094834; Mon, 8 Apr 2024 19:04:41 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:41 GMT Message-Id: <202404081904.438J4fn5094834@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 16089905240f - stable/14 - nvme: Firmware revisions in the firmware slot info logpage are ASCII strings List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 16089905240f848ba0070fa8ae6622a0e198e9d7 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=16089905240f848ba0070fa8ae6622a0e198e9d7 commit 16089905240f848ba0070fa8ae6622a0e198e9d7 Author: John Baldwin AuthorDate: 2024-03-01 22:18:43 +0000 Commit: John Baldwin CommitDate: 2024-04-08 18:01:02 +0000 nvme: Firmware revisions in the firmware slot info logpage are ASCII strings In particular, don't try to byteswap the values as 64-bit integers and always print a non-empty version as a string. Reviewed by: chuck, imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44121 (cherry picked from commit 7485926e09a08fbfe83a9bc908e7d43aaca4c172) --- sbin/nvmecontrol/logpage.c | 13 ++----------- sys/dev/nvme/nvme.h | 14 ++------------ sys/dev/nvme/nvme_ctrlr.c | 4 ---- 3 files changed, 4 insertions(+), 27 deletions(-) diff --git a/sbin/nvmecontrol/logpage.c b/sbin/nvmecontrol/logpage.c index 725815edc475..31ec3a443716 100644 --- a/sbin/nvmecontrol/logpage.c +++ b/sbin/nvmecontrol/logpage.c @@ -230,10 +230,6 @@ read_logpage(int fd, uint8_t log_page, uint32_t nsid, uint8_t lsp, nvme_health_information_page_swapbytes( (struct nvme_health_information_page *)payload); break; - case NVME_LOG_FIRMWARE_SLOT: - nvme_firmware_page_swapbytes( - (struct nvme_firmware_page *)payload); - break; case NVME_LOG_CHANGED_NAMESPACE: nvme_ns_list_swapbytes((struct nvme_ns_list *)payload); break; @@ -429,15 +425,10 @@ print_log_firmware(const struct nvme_controller_data *cdata, void *buf, uint32_t else status = "Inactive"; - if (fw->revision[i] == 0LLU) + if (fw->revision[i][0] == '\0') printf("Empty\n"); else - if (isprint(*(char *)&fw->revision[i])) - printf("[%s] %.8s\n", status, - (char *)&fw->revision[i]); - else - printf("[%s] %016jx\n", status, - fw->revision[i]); + printf("[%s] %.8s\n", status, fw->revision[i]); } } diff --git a/sys/dev/nvme/nvme.h b/sys/dev/nvme/nvme.h index 3e39803f68ab..315dbdd5a3c8 100644 --- a/sys/dev/nvme/nvme.h +++ b/sys/dev/nvme/nvme.h @@ -1455,7 +1455,8 @@ _Static_assert(sizeof(struct nvme_health_information_page) == 512, "bad size for struct nvme_firmware_page { uint8_t afi; uint8_t reserved[7]; - uint64_t revision[7]; /* revisions for 7 slots */ + /* revisions for 7 slots */ + uint8_t revision[7][NVME_FIRMWARE_REVISION_LENGTH]; uint8_t reserved2[448]; } __packed __aligned(4); @@ -1997,17 +1998,6 @@ void nvme_health_information_page_swapbytes( #endif } -static inline -void nvme_firmware_page_swapbytes(struct nvme_firmware_page *s __unused) -{ -#if _BYTE_ORDER != _LITTLE_ENDIAN - int i; - - for (i = 0; i < 7; i++) - s->revision[i] = le64toh(s->revision[i]); -#endif -} - static inline void nvme_ns_list_swapbytes(struct nvme_ns_list *s __unused) { diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c index 55573669562c..e659a3776957 100644 --- a/sys/dev/nvme/nvme_ctrlr.c +++ b/sys/dev/nvme/nvme_ctrlr.c @@ -714,10 +714,6 @@ nvme_ctrlr_async_event_log_page_cb(void *arg, const struct nvme_completion *cpl) nvme_health_information_page_swapbytes( (struct nvme_health_information_page *)aer->log_page_buffer); break; - case NVME_LOG_FIRMWARE_SLOT: - nvme_firmware_page_swapbytes( - (struct nvme_firmware_page *)aer->log_page_buffer); - break; case NVME_LOG_CHANGED_NAMESPACE: nvme_ns_list_swapbytes( (struct nvme_ns_list *)aer->log_page_buffer); From nobody Mon Apr 8 19:04:43 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6g6hnCz5HYmY; Mon, 8 Apr 2024 19:04: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 4VCz6g4BZxz4h2q; Mon, 8 Apr 2024 19:04:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J2pudNbWe68QApN2MPDal812Rk/K0L7CYJlXge5mBkA=; b=UtCzeTeq4wQwfHmRt70ZJ/aJiZtZllkhyjJLjsW3PT6umcZOlQS+YJ0jEOm1k6FUcgWVT1 xNbc8nCBwSdeqE+/9l97fqN/9oggjbBcGmYHP3KD6t35x3yZhJ41vTR7l2lJQ9WrCgd1CE PttPtIf2HzKve5bMfzWfQBpdp44Pru4hu+/Of1tzFYurftE2drgSZ5HZbJ0L7AJMSFxM1L EWH8sk1G6breaT6j7dvCFFtUYycZsNzeoSIJBCqU6B/0VqPlZgjpJfT4SPHRijik2Wi15y X0VOkCrbTMux2d6wgKJ3JzsezuEOn3DeFPw1WxcLv1gXM4TgjhMtQ8q+ow88xw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603083; a=rsa-sha256; cv=none; b=TcRqr1j7QmOuA5059X5waErhOXCLF1hrTYaGE+8y0RAC7Stt9b6lyiGokauwysc3CcCca0 8eHvLsQqX5b4Zw3noC15M1qihBt1XJZ7RrN2/giHhOvMlAvftIUkEuw1bgA4R0dPfzCk+n LQtVBsUY5uBFDT7+7GEuFit00IrZr7324nrN+S36e7+zb4I7e6cqAZ+YYV5W1DeieUr1Qm dn2qw8pXrMX3sKc+2eT6o+WRueXZiNXUviE8zyJKe0CHm3V0d2EllPGTpYjkE4DZII4VtT 5+5r3XaNPHPG8ytvEaMS0rvoFzLFQOkwArARbgmJe/AC2f2Fb584DEE3lqPC1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J2pudNbWe68QApN2MPDal812Rk/K0L7CYJlXge5mBkA=; b=M1/Wl6TD8i4Nr7tUb0HNhtUVmejPq7a+6/gyS301qEm92tkyAMBCTe7bui9B6MR/RxgI68 erJlb+mqDHviFO1ytAO1hHQjHiPi7YY0loW2M4iadU0k0WMh6JxtM5mS7qByEoZ8igdg+v gxShX2lCp+5Hb9v0ISa3TqVVhBQzeX4iOGYh+rFGGyxi63LIqxdu9TNXMZfz8nCcBozsgq 7M4VVF9zgx1oIhjS6sD9xSxH91LpOHKD1eYKDDdlPC57VtWk9wcNem0OkuSbyVqeUMlLQZ F76oWHmtlZIKQwjjsmI0QeZCsXW/8DkR5wrLjEmV9xGOuSKV7G4P9KAhsBzXLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6g3pvdzNQH; Mon, 8 Apr 2024 19:04: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 438J4hOX094939; Mon, 8 Apr 2024 19:04:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4hRU094936; Mon, 8 Apr 2024 19:04:43 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:43 GMT Message-Id: <202404081904.438J4hRU094936@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 85cdbae749e9 - stable/14 - .github: Switch to v4 of actions/checkout List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 85cdbae749e9d1e1f7f3e3adc6ffcbe5405ee217 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=85cdbae749e9d1e1f7f3e3adc6ffcbe5405ee217 commit 85cdbae749e9d1e1f7f3e3adc6ffcbe5405ee217 Author: John Baldwin AuthorDate: 2024-03-05 05:52:09 +0000 Commit: John Baldwin CommitDate: 2024-04-08 18:03:05 +0000 .github: Switch to v4 of actions/checkout GitHub is emitting a warning that v3 is deprecated due to using Node.js 16. (cherry picked from commit e6dccf00500d7e9e2311b372e28897df7c0421dd) --- .github/workflows/cross-bootstrap-tools.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cross-bootstrap-tools.yml b/.github/workflows/cross-bootstrap-tools.yml index ddfcb467126e..0aa1d9a35c1e 100644 --- a/.github/workflows/cross-bootstrap-tools.yml +++ b/.github/workflows/cross-bootstrap-tools.yml @@ -37,7 +37,7 @@ jobs: - target_arch: aarch64 target: arm64 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: install packages (Ubuntu) if: runner.os == 'Linux' run: | From nobody Mon Apr 8 19:04:45 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6k1n1tz5HYhN; Mon, 8 Apr 2024 19:04: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 4VCz6j6RXNz4h83; Mon, 8 Apr 2024 19:04:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603085; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ftzzHVo0p2B6ZtianVXIk3VewyefpDKvXsH4bjaqzKc=; b=p0h6tM8CyipF/i9qJ2nb0hFBo/dFMhvzZCX/n7OjVhWTwmYSAxH/7Kg7PP6SzA2G+BydEE yLRbb5t0R1TlHZgtQmzpTJEZjD4mk83dg6zPKKGvK7XTPH2UpAJLyWa7OncKnLzAxYozL5 QxUKQ4xqnULjz6euUMVL01kXuBhvxJiQe3CdM7leMz86PeWiE4iZQI7YzlWlDy1MGJM+ZX 5Vz6EaBvbZ/LlWepBUGBJD34cz0RYlGwDZVxmSFzFd18mkacPE5euBTnYtp63xUeDYIP+U AsvzsQVVcnSQLBEqVRKqUVVbGpX+PkZK68rYG8pMKMLXzhxKvIhq6YoNNrS0Cw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603085; a=rsa-sha256; cv=none; b=fEP+ptL2cm3T9vp65D3o2GhKhC1Um73Ya08D86JPIkamnfz7qXfBj1mx8o4Gfyy5q8eTpX RsNxvokI4L+vs4etSn7sralXJ9iYHv6vIPtsliUp4Ei6moH2oPYpHzNXCt36kpbyk2L6sa mLOiwsk3E2PvFTUky5+dwwNOE9jaixjbSA7KVv74kO/qKKi0DVj6GTnRZci26ns8dfvLai m4KV5lno3d2n/otODn9p9wpupDZjM47JdM5ilje9H6KPNwumSW9q0kslXerSxNwBIBNN7c vsyD0v/giPODjg/wCjxB5YN3jPiKEeMrFaBRYV9F7mNQhI5+D9BP3VxCNBYeMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603085; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ftzzHVo0p2B6ZtianVXIk3VewyefpDKvXsH4bjaqzKc=; b=F6eoT33fXYLrjzodbhH9C26ROzHagUqEqtQReMCq13sh7jG1PN+ugN4K+gaizUj48q3uOd up0jFPw47qhfaX7qOZ/H3hEUiZPjwShNa+aQX8Oggv5KkVv1ZXdmLdFAaLoEjM6BTXZuSP dYEASQA3Yk4MccMZxpuVfIu4z2XhN7NG2OezDD00cmJwMBDz/MTLjUWsa2erQtH7r3bI8r /vdTY7IpTtMlbjywOP0Ruhf26LNPX/z9Q1nBpHmQl0f1wKUxHcWBGkvRXI0llzFk0FnVrM d/CM8wa/NCcD6HJn96YK010z+W9D5v1ezPVNGw31955tF/NaLwfQUw1DjcX/cQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6j5zWQzN1K; Mon, 8 Apr 2024 19:04: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 438J4jSe095053; Mon, 8 Apr 2024 19:04:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4jUR095050; Mon, 8 Apr 2024 19:04:45 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:45 GMT Message-Id: <202404081904.438J4jUR095050@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 30eab966575f - stable/14 - kldxref: Properly handle reading strings near the end of an ELF file List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 30eab966575fccbb85d54902667530b6a6e66e45 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=30eab966575fccbb85d54902667530b6a6e66e45 commit 30eab966575fccbb85d54902667530b6a6e66e45 Author: John Baldwin AuthorDate: 2024-03-19 00:01:23 +0000 Commit: John Baldwin CommitDate: 2024-04-08 18:06:13 +0000 kldxref: Properly handle reading strings near the end of an ELF file If a string is at or near the end of an input file and the amount of remaining data in the file is smaller than the maximum string size, the pread(2) system call would return a short read which is treated as an error. Instead, add a new helper function for reading a string which permits short reads so long as the data read from the file contains a terminated string. Reported by: jrtc27 Reviewed by: jrtc27 Sponsored by: University of Cambridge, Google, Inc. Differential Revision: https://reviews.freebsd.org/D44419 (cherry picked from commit 785600d0fb13d6f0b4595bf4dbbc048113dda71d) --- usr.sbin/kldxref/ef.c | 9 +-------- usr.sbin/kldxref/ef.h | 4 ++++ usr.sbin/kldxref/ef_obj.c | 9 +-------- usr.sbin/kldxref/elf.c | 18 ++++++++++++++++++ 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/usr.sbin/kldxref/ef.c b/usr.sbin/kldxref/ef.c index 1ef27f2bc54a..77ddada946f2 100644 --- a/usr.sbin/kldxref/ef.c +++ b/usr.sbin/kldxref/ef.c @@ -549,7 +549,6 @@ static int ef_seg_read_string(elf_file_t ef, GElf_Addr address, size_t len, char *dest) { GElf_Off ofs; - int error; ofs = ef_get_offset(ef, address); if (ofs == 0) { @@ -559,13 +558,7 @@ ef_seg_read_string(elf_file_t ef, GElf_Addr address, size_t len, char *dest) return (EFAULT); } - error = elf_read_raw_data(ef->ef_efile, ofs, dest, len); - if (error != 0) - return (error); - if (strnlen(dest, len) == len) - return (EFAULT); - - return (0); + return (elf_read_raw_string(ef->ef_efile, ofs, dest, len)); } int diff --git a/usr.sbin/kldxref/ef.h b/usr.sbin/kldxref/ef.h index 25dc5216b169..9d3dc1b1b435 100644 --- a/usr.sbin/kldxref/ef.h +++ b/usr.sbin/kldxref/ef.h @@ -189,6 +189,10 @@ int elf_read_raw_data(struct elf_file *efile, off_t offset, void *dst, int elf_read_raw_data_alloc(struct elf_file *efile, off_t offset, size_t len, void **out); +/* Reads a single string at the given offset from an ELF file. */ +int elf_read_raw_string(struct elf_file *efile, off_t offset, char *dst, + size_t len); + /* * Read relocated data from an ELF file and return it in a * dynamically-allocated buffer. Note that no translation diff --git a/usr.sbin/kldxref/ef_obj.c b/usr.sbin/kldxref/ef_obj.c index 1274a14c10af..ac83137cd394 100644 --- a/usr.sbin/kldxref/ef_obj.c +++ b/usr.sbin/kldxref/ef_obj.c @@ -248,7 +248,6 @@ static int ef_obj_seg_read_string(elf_file_t ef, GElf_Addr address, size_t len, char *dest) { GElf_Off ofs; - int error; ofs = ef_obj_get_offset(ef, address); if (ofs == 0) { @@ -258,13 +257,7 @@ ef_obj_seg_read_string(elf_file_t ef, GElf_Addr address, size_t len, char *dest) return (EFAULT); } - error = elf_read_raw_data(ef->ef_efile, ofs, dest, len); - if (error != 0) - return (error); - if (strnlen(dest, len) == len) - return (EFAULT); - - return (0); + return (elf_read_raw_string(ef->ef_efile, ofs, dest, len)); } int diff --git a/usr.sbin/kldxref/elf.c b/usr.sbin/kldxref/elf.c index e5fe90169d2c..a93cf996ccc7 100644 --- a/usr.sbin/kldxref/elf.c +++ b/usr.sbin/kldxref/elf.c @@ -197,6 +197,24 @@ elf_read_raw_data_alloc(struct elf_file *efile, off_t offset, size_t len, return (0); } +int +elf_read_raw_string(struct elf_file *efile, off_t offset, char *dst, size_t len) +{ + ssize_t nread; + + nread = pread(efile->ef_fd, dst, len, offset); + if (nread == -1) + return (errno); + if (nread == 0) + return (EIO); + + /* A short read is ok so long as the data contains a terminator. */ + if (strnlen(dst, nread) == nread) + return (EFAULT); + + return (0); +} + int elf_read_data(struct elf_file *efile, Elf_Type type, off_t offset, size_t len, void **out) From nobody Mon Apr 8 19:04:46 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6l1ZnYz5HYmb; Mon, 8 Apr 2024 19:04: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 4VCz6k6v8Bz4h8N; Mon, 8 Apr 2024 19:04:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yndoYaoLE3h2WHBtiBRqGffwFPZgou6yIT5xl5UA0OE=; b=Oh+Lu3nLIsqRwKQTK7o0eYvcUPrMoCWmE813tlNcP1Xq+sj6aBC3fA2YQqqoi8Eh2R6YXe atId6s7YqFWYktIPSlUHAv/PXK4MxLcA6lBn77KaL13AU8myg/wqMEGpMqCOVxGGOGaNGH Chpa2cStmxNQx63wN2aYRxPwjLj2RlLyUNaKOmJofr8Mp2OWHp7hOsnxEoC4KirR9eRpzL HbRRywtZK/3dzjpwomZTCsEJo2BoXwEV5Yx1Ubo0ecByEyOnIA+aLW3VrZDTb8hr1qmD+z /EnaygRe6nInkPhVExcdwYmzenGAsaZSFMJJ1tbLYbZW0pHsxSV8jwAxJjSnjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603087; a=rsa-sha256; cv=none; b=mY9864avHCQSYLhedKKg6gZ27C6s5rszxawlzy53K9eEPSNTvw7+lMj0z+MphxTQnsKCod Z0m/QeEQJzYwniZMJ6+ivzty+4Q/j4qo7NRdvUjpaQ4YEEmPXvws37rtxPOWlVwNBoQw1Y 03XvNhis+5lTzE7pSROten1Q7lvudQmultdBa3cDCo4n1s5rHQgnvJg444X/mNXGwhdc3S VZZ7rbMx07O+xBuGkao5zPibc66pi6wgBV70lH6Lbt+Srp/GDF1ODeyP1hGFAU76olx7tH ipwV/0mIuVKevRKVNPfWFOt4EQCXR8loagy/79jel+FUF2k83YOjMB1rbQNIKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yndoYaoLE3h2WHBtiBRqGffwFPZgou6yIT5xl5UA0OE=; b=UO1lJr82lj/1HdnCZrrZCBqXs568Hx4kRNGf+I+Hz/YkQ9Awwo2StJX0AlToYpickCtGZv TXmeZ2FdPgUCfPFgOORPiSTJRVqI5LtpfwMpNctDmXCKblcfOe5YpTeT/XX4AavyK4Y2Jk 7KJXgkfNP1BYSmeIP29rX/lPKkmcWML1emBJ53NMNzzsigWSVQxjsmRbhmZWneUcYbRX/d oS0AGqy0ArY2nNcFkSyF4u78Pi56lJvgxXhO0/zOv/1D1RfSE4wNxkMJM9ZP6XXR6ajdnw fbaJ4x1Xhk7eYw+cTfqJXGbLUK+ZTT92u6xyR9TwtKRPo0ex24QMbyFJro3zbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6k6TySzMxB; Mon, 8 Apr 2024 19:04: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 438J4khO095122; Mon, 8 Apr 2024 19:04:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4kZY095119; Mon, 8 Apr 2024 19:04:46 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:46 GMT Message-Id: <202404081904.438J4kZY095119@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: d4ad8432aa57 - stable/14 - ddp: Clear active DDP buffer members to NULL to pacify an assertion List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: d4ad8432aa5791e3b1c352c7f1758d416b2405c6 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d4ad8432aa5791e3b1c352c7f1758d416b2405c6 commit d4ad8432aa5791e3b1c352c7f1758d416b2405c6 Author: John Baldwin AuthorDate: 2024-03-20 22:28:43 +0000 Commit: John Baldwin CommitDate: 2024-04-08 18:06:53 +0000 ddp: Clear active DDP buffer members to NULL to pacify an assertion Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D43999 (cherry picked from commit 25429e274371eba9a90ea27cbf73e88329916e0d) --- sys/dev/cxgbe/tom/t4_ddp.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/dev/cxgbe/tom/t4_ddp.c b/sys/dev/cxgbe/tom/t4_ddp.c index 89cb7269e218..1cd1ea68826c 100644 --- a/sys/dev/cxgbe/tom/t4_ddp.c +++ b/sys/dev/cxgbe/tom/t4_ddp.c @@ -186,10 +186,17 @@ free_ddp_buffer(struct tom_data *td, struct ddp_buffer *db) */ if (!aio_clear_cancel_function(db->job)) ddp_complete_one(db->job, 0); +#ifdef INVARIANTS + db->job = NULL; +#endif } - if (db->ps) + if (db->ps) { free_pageset(td, db->ps); +#ifdef INVARIANTS + db->ps = NULL; +#endif + } } static void From nobody Mon Apr 8 19:04:48 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VCz6m3pJRz5HYqN; Mon, 8 Apr 2024 19: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 4VCz6m17Htz4h6F; Mon, 8 Apr 2024 19: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=1712603088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7nG3wlrWthJ7ckAhASJxf1S1MRvuFI0wADbYEDE1018=; b=MksgaKm+4s1evvuQX1VMdL3d3BvgGGB+hlFyFSLa4uQmFEXL1rxovnRVcDTFIkY0T5ypHx toB9AJzbZsU0MdZRJ08VHB0p63Rw+zmNgoJdDacqzP0HP1H4f2I/M/lUj5jNibrq5q3Dny EVU2T9dxXxCk9GhlQfE5RKUXxyOp8jMFDjlqfTAeM7CkMkFdgfr3bY2TcT3Rr482hFUcoD rM6LAjjwFGsmc17dbM303wFbUtvg/X+F4TmdBEm4R7i3r5eFgnKAHDo3JXyhdKWE8dVcEf +G2T/qaqpoqnfGbgw2luXr7U+OH+LPPku5VKi4gvPZvlqdZMQ6TU/s5He4DVOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712603088; a=rsa-sha256; cv=none; b=pughCxDfhyFwvPzeHsUDy622+z6x92dXCGSpl1O9lmTdeY5D/MBAWGMJ5M7BzkFaA9Uajl DVTNLxt0xlRjVLAo1bY3p4Ao6+2jAaYyeOxpOqpIJ5lV/Fb1HiUWBtUUKf3Qo2evm066GG Pv+OjclL33AKYw8tVovla++Fe38FXREKiPjniF4VR0d0hlyrzUTM9+GBUy2n2Mwu+TMVX5 zfhZhy06Nfs9zoYg4mRA4bBEMAHaPWpOm5K35uOZ5nAr4XRC63D5JZVhEwPF6QrKdLTMGr KySRzkzOv8HfFLFk8Td61Zz+igE8VO6DfiygYE+gh/uFfcRigPnGPTdaCWqwgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712603088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7nG3wlrWthJ7ckAhASJxf1S1MRvuFI0wADbYEDE1018=; b=wyyEMIjU7XFxdTdTG+KdWE2HnZeqFKxNc4icBqqCE7mxZ2uJIPWjXqWsM3EN+hBGEyEAqW bSWGJTtrbYXODeQlmYns8luGiSLi1CIlrZZYOimbXd9GkgCxEAzDMU+/zsfWYFT5OTNgZK VcSdBdGalvb0AHC56dtAaMqEVaNoLbGQJtmAT869SI5IvTn6u64Xy4Re7Fb5wbUtC+htFm zZQGxfzvYAy/I79kdBUDrzReMulE/4wocMQ13q3vCLRzPGot/pb5LzzdKuRNIeY7WbB0WT qt7wdao1sDX3BXxjaz1GwkqwmQJnlTedsmZ1HWcoArCuExub2bu6nAB/wMvz4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VCz6m0lZXzNSp; Mon, 8 Apr 2024 19:04: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 438J4m9p095179; Mon, 8 Apr 2024 19:04:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438J4mth095176; Mon, 8 Apr 2024 19:04:48 GMT (envelope-from git) Date: Mon, 8 Apr 2024 19:04:48 GMT Message-Id: <202404081904.438J4mth095176@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 7748f70561f3 - stable/14 - cxgbe tom: Handle a race condition when enabling TLS offload List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 7748f70561f373a8d8e70c32223c99b02904ef51 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=7748f70561f373a8d8e70c32223c99b02904ef51 commit 7748f70561f373a8d8e70c32223c99b02904ef51 Author: John Baldwin AuthorDate: 2024-03-20 22:30:09 +0000 Commit: John Baldwin CommitDate: 2024-04-08 18:07:13 +0000 cxgbe tom: Handle a race condition when enabling TLS offload Use a separate state for when a request to set RX_QUIESCE has been sent but the resulting TCB reply has not been received. In particular, this correctly handles the case where data has been received and queued in the receive queue before the quiesce request takes effect. Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44435 (cherry picked from commit 9978c6289d621ac9edc95acb4e0f527a62a49b03) --- sys/dev/cxgbe/tom/t4_tls.c | 12 ++++++++++-- sys/dev/cxgbe/tom/t4_tom.h | 5 +++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/sys/dev/cxgbe/tom/t4_tls.c b/sys/dev/cxgbe/tom/t4_tls.c index 3a0c1a392e6c..bdd03edd3a6f 100644 --- a/sys/dev/cxgbe/tom/t4_tls.c +++ b/sys/dev/cxgbe/tom/t4_tls.c @@ -315,7 +315,7 @@ tls_alloc_ktls(struct toepcb *toep, struct ktls_session *tls, int direction) tls->params.max_frame_len; toep->tls.tx_key_info_size = t4_tls_key_info_size(tls); } else { - toep->flags |= TPF_TLS_STARTING | TPF_TLS_RX_QUIESCED; + toep->flags |= TPF_TLS_STARTING | TPF_TLS_RX_QUIESCING; toep->tls.rx_version = tls->params.tls_vmajor << 8 | tls->params.tls_vminor; @@ -1243,6 +1243,10 @@ tls_received_starting_data(struct adapter *sc, struct toepcb *toep, { MPASS(toep->flags & TPF_TLS_STARTING); + /* Data was received before quiescing took effect. */ + if ((toep->flags & TPF_TLS_RX_QUIESCING) != 0) + return; + /* * A previous call to tls_check_rx_sockbuf needed more data. * Now that more data has arrived, quiesce receive again and @@ -1250,7 +1254,7 @@ tls_received_starting_data(struct adapter *sc, struct toepcb *toep, */ if ((toep->flags & TPF_TLS_RX_QUIESCED) == 0) { CTR(KTR_CXGBE, "%s: tid %d quiescing", __func__, toep->tid); - toep->flags |= TPF_TLS_RX_QUIESCED; + toep->flags |= TPF_TLS_RX_QUIESCING; t4_set_rx_quiesce(toep); return; } @@ -1287,6 +1291,10 @@ do_tls_tcb_rpl(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m) if ((toep->flags & TPF_TLS_STARTING) == 0) panic("%s: connection is not starting TLS RX\n", __func__); + MPASS((toep->flags & TPF_TLS_RX_QUIESCING) != 0); + + toep->flags &= ~TPF_TLS_RX_QUIESCING; + toep->flags |= TPF_TLS_RX_QUIESCED; so = inp->inp_socket; sb = &so->so_rcv; diff --git a/sys/dev/cxgbe/tom/t4_tom.h b/sys/dev/cxgbe/tom/t4_tom.h index d74f3f908286..ddf7dec55784 100644 --- a/sys/dev/cxgbe/tom/t4_tom.h +++ b/sys/dev/cxgbe/tom/t4_tom.h @@ -73,8 +73,9 @@ enum { TPF_KTLS = (1 << 11), /* send TLS records from KTLS */ TPF_INITIALIZED = (1 << 12), /* init_toepcb has been called */ TPF_TLS_RECEIVE = (1 << 13), /* should receive TLS records */ - TPF_TLS_RX_QUIESCED = (1 << 14), /* RX quiesced for TLS RX startup */ - TPF_WAITING_FOR_FINAL = (1<< 15), /* waiting for wakeup on final CPL */ + TPF_TLS_RX_QUIESCING = (1 << 14), /* RX quiesced for TLS RX startup */ + TPF_TLS_RX_QUIESCED = (1 << 15), /* RX quiesced for TLS RX startup */ + TPF_WAITING_FOR_FINAL = (1<< 16), /* waiting for wakeup on final CPL */ }; enum { From nobody Mon Apr 8 20:25:39 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0w33crKz5HhsX; Mon, 8 Apr 2024 20:25: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 4VD0w31kvgz3xTM; Mon, 8 Apr 2024 20:25:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N+ISLryvi4iE9WTb1xnV87fJvvFTTkFhaCU7A2vaojg=; b=H++4LB1+qF0bReQT5Phb/PYn918p3IVzU4G3unwVzinQ0i/jLtT06OXVhvQ4q+pYbR0wEf 4n1LJjArudSNggS/P324T8JOV9xnDpHJ6ar6LSwZnyA8IukV+lom5gG+bbjM3tn9jz2+sP WCSeptzt7pJR5ZA4i1pyY4UUZE8JQXlM8L82bUFNtD24jJbE9LRLDEjmLnvwnSWsL61ci3 GGM2YiQeddCGKd7kNy0bptj8qUfAvGDnF1Z/nC6tTqQjD1un/6R82V5h7/REw0xXL2xsI7 Ttk0w2E2g0LPze/D9jh3JH0+4EocqKuTy7wSiu4po8Tep1f+zzoeS1lNZJr84w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607939; a=rsa-sha256; cv=none; b=HhtbEzumyPyLM+Gnt3Wo/6wMHWcTo/XKs7frdLZplDuj8Zh86g6/ZCzDlroSlIMhy2sbDp tTHRrEESSY8BI+wwGYxWRgpezekJL8akyk5d4uhoZSlsnq8iuprZU0MXqmTGu+UVFf3H2u A9ROhXep3I3RDiMVRVkBNl3HeNf/Prxi6acBVds63RdGx2b8vJSqu7u1HM/v9mWl9uZLSn BSgvvhEoeIsUh6qBkF4PlF4zYB8PgnFG32wIstxIht/q2DAuLWqf4JtlZDgqPRPWwnUQGC WOyKxZzRU2ZLVy2e8/HavXsQM9zVVGrPeDDkhpGQkrxUHQkBReDVwMM9xuzoUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N+ISLryvi4iE9WTb1xnV87fJvvFTTkFhaCU7A2vaojg=; b=aupZiwR8mPeBwXobwd6L9Tl+0mv60gzq7aweR6ZGhpdGtK1zjnEk7g8LVHoyJ3Gb5LSFW/ RHYh3qLpj6AKtX0FzT2QmTXlnCbs8CUNXxkjiNjFAgBz7BEPAuKBWELzhmQ+Wrz1WTfc/E PgQ4uWNjbrTEZBsiHVAQro+VMQn95euSQOIVIIeSfe8jkSGvPv/L3/46qNSTNP5SdskU60 Nw8H4ZQQ6tobhRKhgbTx40z0D5Ob0+N45YAgoNUHKFXTxpsMtZPQi2fHHw7HjjD/DenWog 0/MbjjlNgcToDM82g8ZE02HlZmtOdIEXtuaA4nHLJSa28lAd6Z3wDjoie/ixYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0w31LN5zQGR; Mon, 8 Apr 2024 20:25: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 438KPd1w039382; Mon, 8 Apr 2024 20:25:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPdvv039379; Mon, 8 Apr 2024 20:25:39 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:39 GMT Message-Id: <202404082025.438KPdvv039379@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 402c6c331d73 - stable/13 - riscv db_trace: Ensure trapframe pointer is suitably aligned. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 402c6c331d73491e5cc711336a7ec23fcc87d03c Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=402c6c331d73491e5cc711336a7ec23fcc87d03c commit 402c6c331d73491e5cc711336a7ec23fcc87d03c Author: John Baldwin AuthorDate: 2023-08-22 04:00:26 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:29:34 +0000 riscv db_trace: Ensure trapframe pointer is suitably aligned. Suggested by: jrtc27 Reviewed by: jrtc27 Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D41534 (cherry picked from commit 7ccaf76a27f138bde3f2b162a9c8ebb6216c05bc) --- sys/riscv/riscv/db_trace.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/riscv/riscv/db_trace.c b/sys/riscv/riscv/db_trace.c index 00ec1a750e33..12972839c29d 100644 --- a/sys/riscv/riscv/db_trace.c +++ b/sys/riscv/riscv/db_trace.c @@ -84,7 +84,8 @@ db_stack_trace_cmd(struct thread *td, struct unwind_state *frame) struct trapframe *tf; tf = (struct trapframe *)(uintptr_t)frame->sp; - if (!kstack_contains(td, (vm_offset_t)tf, + if (!__is_aligned(tf, _Alignof(*tf)) || + !kstack_contains(td, (vm_offset_t)tf, sizeof(*tf))) { db_printf("--- invalid trapframe %p\n", tf); break; From nobody Mon Apr 8 20:25:40 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0w44kXDz5Hj1d; Mon, 8 Apr 2024 20:25:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VD0w42lFyz3xL0; Mon, 8 Apr 2024 20:25:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F13VIpALjRbYc5SuA/D0m+A8cpRWSgQdav02M/Xs+Gc=; b=I6m/UpxepXUh6qFb+XV0L3EWPQd+Tn0rmPgfLuRqKLYSWpTo4Icn0ZIh9XmszEWBUdNFMT VKW3ilEGRSzYk6Kk0s/u1yaFfuTaFjuJb2gnN1vo3xsARDQkrKtMbwMi23+/k7hkB+PJ2y W0EfMJyCaBIuyUsIfKSSAh2xfm4YBTFkcFjB0MbyaUjYHUdOtFx8K1/EuvTsmWIY8/pqem lfs3vD+x2P99/Km1f2TYx6XpYq2B4ikuFs2jFWPYyaZyVTutdSQfUISH8bNCk+3X58GP0k m3vVln/YLU3x3NxOvq4FoIHZ3HJnx7+/G8O9CmSBhF7YBVRiVJCRbnNX6Tfp7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607940; a=rsa-sha256; cv=none; b=ttUb2OKSCVOUhomZzafpKZ9XOUdFRUct/gxtXP4v5WRzCZTQHywmHylbAV/K7NTly+NYNX Nf+S07mL1IqELwbXdrvUuO45bVNV847QHyIiNlpk/0gU/CfnH4OxUyGVxzMFI5YJ7nPI3R RKHIZc/UE+a+s7WJylIzE3uEbDWutDFn+MwSzp4cIswc720BVkXJL69dCrYL6V7UmAqyuW t0b9198j9hGx60DIyiowrOQhYLhctFoYfFtHNc39FHYF2hamFhWwAlNOBc879s03yslzT8 lvy/4+iN7UBLo/tRf4ENNi2QJkkba/zw0b/3hwY4hUSDYarcmyTglFuGA4Yu8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F13VIpALjRbYc5SuA/D0m+A8cpRWSgQdav02M/Xs+Gc=; b=XI3TvWYd7g1YeygATeKcIa4J2Y74A8UUdlk87WwALS4y7DL1MlNOxrVOJno+vdO6JStdVN jMnhgWtPenPY4aq69j4xVlijNFwz4BAkkZltFNiz5ZQG7yWCw1mmcz4fiSM+WfXyIuzyd1 +o7HyFVKyWO85DgtmOFXZ5/fMRBCuRFF56tIIpbh460mRkuIvZb6b11lgY7UBgWuhYwNtK P4nmSCWz7+JGMVy5OqnVFQkXl+JvGRZ/XCTFQyDHej/b7f7ezgwyN85t8jF3PqWuQtJz7Z cv5Ae7PAiQt8Kpyql7Saxms9LY2qThJ3FZ8j6/vgkuyM1FwLSM8MN2jXEcFHow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0w42M4FzQRt; Mon, 8 Apr 2024 20:25: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 438KPeHI039424; Mon, 8 Apr 2024 20:25:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPe4E039421; Mon, 8 Apr 2024 20:25:40 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:40 GMT Message-Id: <202404082025.438KPe4E039421@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 2bc1e37e1d83 - stable/13 - Stop using expressions in _Alignof() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 2bc1e37e1d83392e1552616d5c17f49d79e52eda Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=2bc1e37e1d83392e1552616d5c17f49d79e52eda commit 2bc1e37e1d83392e1552616d5c17f49d79e52eda Author: Minsoo Choo AuthorDate: 2024-01-12 23:37:53 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:30:09 +0000 Stop using expressions in _Alignof() _Alignof(expression) is a non-standard extension. This is not allowed in gnu11 and gnu17 which follow the C11 standard _Alignof(type). Reviewed by: arichardson, imp, jhb Fixes: 4a9cd9fc22d7 amd64 db_trace: Reject unaligned frame pointers Fixes: 7ccaf76a27f1 riscv db_trace: Ensure trapframe pointer is suitably aligned. Fixes: 638c68897fbd arm64 db_trace: Ensure trapframe pointer is suitably aligned. Differential Revision: https://reviews.freebsd.org/D43409 (cherry picked from commit 03d04bf49492fc70366e6d78194336a4122282a2) --- sys/amd64/amd64/db_trace.c | 3 ++- sys/riscv/riscv/db_trace.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/amd64/amd64/db_trace.c b/sys/amd64/amd64/db_trace.c index 87a0c2aec7bf..9706e65c64af 100644 --- a/sys/amd64/amd64/db_trace.c +++ b/sys/amd64/amd64/db_trace.c @@ -206,7 +206,8 @@ db_nextframe(db_addr_t *fp, db_addr_t *ip, struct thread *td) */ tf_addr = *fp + 16; - if (!__is_aligned(tf_addr, _Alignof(*tf)) || !INKERNEL(tf_addr)) { + if (!__is_aligned(tf_addr, _Alignof(struct trapframe)) || + !INKERNEL(tf_addr)) { db_printf("--- invalid trapframe %p\n", (void *)tf_addr); *ip = 0; *fp = 0; diff --git a/sys/riscv/riscv/db_trace.c b/sys/riscv/riscv/db_trace.c index 12972839c29d..148ad88b3ffb 100644 --- a/sys/riscv/riscv/db_trace.c +++ b/sys/riscv/riscv/db_trace.c @@ -84,7 +84,7 @@ db_stack_trace_cmd(struct thread *td, struct unwind_state *frame) struct trapframe *tf; tf = (struct trapframe *)(uintptr_t)frame->sp; - if (!__is_aligned(tf, _Alignof(*tf)) || + if (!__is_aligned(tf, _Alignof(struct trapframe)) || !kstack_contains(td, (vm_offset_t)tf, sizeof(*tf))) { db_printf("--- invalid trapframe %p\n", tf); From nobody Mon Apr 8 20:25:41 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0w55DcHz5HhVX; Mon, 8 Apr 2024 20:25: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 4VD0w53pr1z3xcN; Mon, 8 Apr 2024 20:25:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iK+b7ItSQi+d+diM/BXhaZvtalgiDhIjH+Q6caIkAN8=; b=B6dEhFw78MdB9MVAj4sHhFltFwL7BaeeGb36niBO40jyfmefD0ewDCOg6+BdZa81h/fbEW aSUtMA9z7LgUyHnDrEpmxYZndbw0i5ECO7ezff7wj23LApwyc7qyJi+Y+iupphkQ7hTd6V KJOrdvb2+oZkRzvuJ3e2JiXyX6uGMQDlZLmADfvzptR36cUizg81rAptOiwf6B5F1v3LER xNy6V61s9t266UJWprkNiLcCYu+wIl/PYx9RfdyyGabeTYJuk36Vo9pUWydZXciVuvd8z+ tMTWCYZaIzI6wXGrYfvRpJDyrolNQNIZF4FDg7wbg7i8zsN+FIHz85zd17Forg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607941; a=rsa-sha256; cv=none; b=Lnaxj2BWMGTgigj9fzK9o49LDCx47M6gLKhCcFBhjk2zNFhI4Z8b+8i5MPxUl6uup1yIvL nS12+GM8hu8kjH+n7MTbz8VfaRDzeq7C4WCq+nON5/n0uzdX3KNYujLiK94fDHawWQj7B7 vWr0xbtM5fcKNCPZ1qI0idhPY5Ykgt0wej9x8KxqdzX+38QCwqB9GZNx3vYzv6eoJNhsq8 YtKZBPM6vOhZZ43g0B6pOqeFClB/KB/YmYGfcd3013PWum15vOoe1RSCLhHTf3EqxMdlnt mxd2iUEYwP94nCnHMnhZgcgwfcFpt4e9J11CrQ5qenbMZxMmMMiFHkiIM/q6dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iK+b7ItSQi+d+diM/BXhaZvtalgiDhIjH+Q6caIkAN8=; b=GUtJ3fqZL9YnIrYWQHMXMTcLdea0Om06gLAQWOfY6nrxdEnKItZQpPGyvOgf5/iIeIW2mx lo9JPxxwN2jyunBLrH4dkh3e+J0GuJ69hqo5MzoCsxD+MOCKgPaufkWAMxgvPlaOaPFCWb w6/O9Bjg1r2QFgj0mab9bF63LMBo7mshJlSp/5SzyjsjIlEdJW4CZtEp9zh/AP2Xt1jNyK KRPlkbqHeLLPOGIIE2G/5lYojzyOjVbhXaV6cnamWl4Rlg6bDfk8on3FcpYqGb8oSaWLYb 5iUeL+zwWAfGqQ7iXFUamfN8IVmwnod+QisQb1zdYcQadoI3Js1jQNYtI4p1sQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0w53QDszQc0; Mon, 8 Apr 2024 20:25: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 438KPfWl039484; Mon, 8 Apr 2024 20:25:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPfhL039481; Mon, 8 Apr 2024 20:25:41 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:41 GMT Message-Id: <202404082025.438KPfhL039481@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 77afa8bc52fc - stable/13 - find: Allow '/' to be used with -perm for GNU compatibility List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 77afa8bc52fcfbf3960751fe8589171dfcc9f9bf Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=77afa8bc52fcfbf3960751fe8589171dfcc9f9bf commit 77afa8bc52fcfbf3960751fe8589171dfcc9f9bf Author: Ricardo Branco AuthorDate: 2024-01-15 18:35:27 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:33:29 +0000 find: Allow '/' to be used with -perm for GNU compatibility In 2005, Gnu find deprecated '+' as the leading character for the -perm argument, instead preferring '/' with the same meaning. Implement that behavior here, and document it in the man page. Reviewed by: imp, emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/1060 (cherry picked from commit 2a121b97e9673ff37062c9fa026eee969940d2e2) --- usr.bin/find/find.1 | 19 ++++++++++++++++--- usr.bin/find/function.c | 2 +- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/usr.bin/find/find.1 b/usr.bin/find/find.1 index afa4c7ab8215..a73196180e7c 100644 --- a/usr.bin/find/find.1 +++ b/usr.bin/find/find.1 @@ -30,7 +30,7 @@ .\" .\" @(#)find.1 8.7 (Berkeley) 5/9/95 .\" -.Dd December 22, 2023 +.Dd January 15, 2024 .Dt FIND 1 .Os .Sh NAME @@ -759,7 +759,7 @@ Slashes .Pq Dq Li / are treated as normal characters and do not have to be matched explicitly. -.It Ic -perm Oo Cm - Ns | Ns Cm + Oc Ns Ar mode +.It Ic -perm Oo Cm - Ns | Ns Cm + Ns | Ns Cm / Oc Ns Ar mode The .Ar mode may be either symbolic (see @@ -788,11 +788,14 @@ are set in the file's mode bits. If the .Ar mode is preceded by a plus -.Pq Dq Li + , +.Pq Dq Li + this primary evaluates to true if any of the bits in the .Ar mode are set in the file's mode bits. +A slash +.Pq Dq Li / +is also accepted with the same meaning as plus for compatibility with GNU find. Otherwise, this primary evaluates to true if the bits in the .Ar mode @@ -1118,6 +1121,16 @@ option was inspired by the equivalent and .Xr sed 1 options. +.Pp +The +.Ic -perm +primary accepts a leading slash +.Pq Dq Li / +as an alias for a leading plus +.Pq Dq Li + +for its argument as an extension of +.St -p1003.1-2001 +to be compatible with GNU find. .Sh HISTORY A simple .Nm diff --git a/usr.bin/find/function.c b/usr.bin/find/function.c index d887c8479099..9c1fd4df8731 100644 --- a/usr.bin/find/function.c +++ b/usr.bin/find/function.c @@ -1343,7 +1343,7 @@ c_perm(OPTION *option, char ***argvp) if (*perm == '-') { new->flags |= F_ATLEAST; ++perm; - } else if (*perm == '+') { + } else if (*perm == '+' || *perm == '/') { new->flags |= F_ANY; ++perm; } From nobody Mon Apr 8 20:25:42 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0w66yvmz5HhVY; Mon, 8 Apr 2024 20:25: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 4VD0w65430z3xL3; Mon, 8 Apr 2024 20:25:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607942; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=55CDWSemFPGF0glIv+qW4HFmdmfvLZQQMbHSpQBd5N0=; b=uY1VbdRpfSb2OuegNSIhtoqz/ljDybBNRbIuYqo3do5hIJ7Ed7NA8zr8E98Y6JeFsJVoc5 NnVyK8O5qIwLBZXryPc37DJQ4OgSMpwRW2jK1ZuGcELygfvoHFwfHyYTE0KfSPBpEWQjtt cKfhpTAiqQBGT8/AfyEB4b1CSpXF0s8CJqvxKDLjGJBoyJuHmc6iFsOAyysWNFM461Xwc9 Fg3mZg9wOlljQNyYsm6VJOl7ttQrc71DMtoCHW13jRdVXRE1YvDAITR15JaOqCH8hOTPUg ltFAmpj1MtBUS9wjkz4YThFxSIQDWB2EngD3lGukUwzn+Q1vED6OV/zcek34Tw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607942; a=rsa-sha256; cv=none; b=yHGAQqBXL2GuhgzpnNotRgu7hVSH8QWLU5vNXeSFszv7zECtkgfaQlCgt6H5ERN/Dx9fkN kj+mC/B+E1psSldyVV6gUI399HCB7MMuqkezNeRCsI++90+GchLWM18DXrC5haq3d+w5fk KcsRhAYP2NvfxOPFaa0aLN55JzykBMDyQUEcQD9H5UpX2K7XBc0NoOnQBHtFaVi69sygtP Y4wZC0f+6LAXexuz5z8c5OvxzrAlDBYE3LpGi1oC9qVo8T4eKPsaduxO4Hgt58WglHkw9l NQ35N5RYl+JmuQwQp1X5PO8wDICzOamVNhKHC8kMlxcvEcD16PH+W7Of1d+t2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607942; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=55CDWSemFPGF0glIv+qW4HFmdmfvLZQQMbHSpQBd5N0=; b=epr5co+VTuj24HS4xjf6EBU7sO705++azwN0vogDN6/VoGM1WJW2esIM39msrnEBbCD9jm pMKgepI+x5dDNndazyDgmmYkoIOnjjUCH4bqRYIXfv3QHwGds8O8yxSMhHN6Vi4djzzxSz 5l5RVe/xO91KnVH2vNq5FK0oMLXXRYYqN171fy/dxaivoR2P2KNx5QhapkQJ1vV+rLsJMP GfkG6IDoafAu0Bc9o8Dz4duPaL4AePMDhyOUvIo8qMrcqPfG4XCnxDkgjSoewZBntxL3AW qqDyGj17qmwKjQiBBXxAZauFiYY5F+YrohQZ0F8GymRaYxJ4DSAioNN5k1jQ+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 4VD0w64d62zQDP; Mon, 8 Apr 2024 20:25: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 438KPg9J039533; Mon, 8 Apr 2024 20:25:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPg3Y039530; Mon, 8 Apr 2024 20:25:42 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:42 GMT Message-Id: <202404082025.438KPg3Y039530@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: aed5216e95e0 - stable/13 - find: Add -readable, -writable & -executable options List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: aed5216e95e0d028a46851f24cfef285452a7719 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=aed5216e95e0d028a46851f24cfef285452a7719 commit aed5216e95e0d028a46851f24cfef285452a7719 Author: Ricardo Branco AuthorDate: 2024-01-21 19:53:05 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:34:21 +0000 find: Add -readable, -writable & -executable options Reviewed by: jhb, Mina Galić Pull Request: https://github.com/freebsd/freebsd-src/pull/1080 (cherry picked from commit e4b646ce16105efc943bc8ac2242a2220dfe18d8) --- usr.bin/find/extern.h | 3 +++ usr.bin/find/find.1 | 20 +++++++++++++++++++- usr.bin/find/function.c | 39 +++++++++++++++++++++++++++++++++++++++ usr.bin/find/option.c | 3 +++ 4 files changed, 64 insertions(+), 1 deletion(-) diff --git a/usr.bin/find/extern.h b/usr.bin/find/extern.h index 8c98a6d86bcd..3436f8cf07bf 100644 --- a/usr.bin/find/extern.h +++ b/usr.bin/find/extern.h @@ -88,6 +88,7 @@ exec_f f_delete; exec_f f_depth; exec_f f_empty; exec_f f_exec; +exec_f f_executable; exec_f f_expr; exec_f f_false; exec_f f_flags; @@ -109,11 +110,13 @@ exec_f f_print; exec_f f_print0; exec_f f_prune; exec_f f_quit; +exec_f f_readable; exec_f f_regex; exec_f f_size; exec_f f_sparse; exec_f f_type; exec_f f_user; +exec_f f_writable; extern int ftsoptions, ignore_readdir_race, isdepth, isoutput; extern int issort, isxargs; diff --git a/usr.bin/find/find.1 b/usr.bin/find/find.1 index a73196180e7c..def6a82d0a97 100644 --- a/usr.bin/find/find.1 +++ b/usr.bin/find/find.1 @@ -30,7 +30,7 @@ .\" .\" @(#)find.1 8.7 (Berkeley) 5/9/95 .\" -.Dd January 15, 2024 +.Dd January 21, 2024 .Dt FIND 1 .Os .Sh NAME @@ -467,6 +467,12 @@ if at least one invocation of returns a non-zero exit status, .Nm will return a non-zero exit status. +.It Ic -executable +Matches files which are executable by the current user. +This test makes use of the +.Xr access 2 +system call, and so can be fooled by NFS servers which do UID mapping (or root-squashing). +This is a GNU find extension. .It Ic -flags Oo Cm - Ns | Ns Cm + Oc Ns Ar flags , Ns Ar notflags The flags are specified using symbolic names (see .Xr chflags 1 ) . @@ -831,6 +837,12 @@ option was specified. Causes .Nm to terminate immediately. +.It Ic -readable +Matches files which are readable by the current user. +This test makes use of the +.Xr access 2 +system call, and so can be fooled by NFS servers which do UID mapping (or root-squashing). +This is a GNU find extension. .It Ic -regex Ar pattern True if the whole path of the file matches .Ar pattern @@ -927,6 +939,12 @@ is treated as a user ID. The same thing as .Ic -path , for GNU find compatibility. +.It Ic -writable +Matches files which are writable by the current user. +This test makes use of the +.Xr access 2 +system call, and so can be fooled by NFS servers which do UID mapping (or root-squashing). +This is a GNU find extension. .El .Sh OPERATORS The primaries may be combined using the following operators. diff --git a/usr.bin/find/function.c b/usr.bin/find/function.c index 9c1fd4df8731..d28c0edced9e 100644 --- a/usr.bin/find/function.c +++ b/usr.bin/find/function.c @@ -1813,3 +1813,42 @@ f_quit(PLAN *plan __unused, FTSENT *entry __unused) } /* c_quit == c_simple */ + +/* + * -readable + * + * File is readable + */ +int +f_readable(PLAN *plan __unused, FTSENT *entry) +{ + return (access(entry->fts_path, R_OK) == 0); +} + +/* c_readable == c_simple */ + +/* + * -writable + * + * File is writable + */ +int +f_writable(PLAN *plan __unused, FTSENT *entry) +{ + return (access(entry->fts_path, W_OK) == 0); +} + +/* c_writable == c_simple */ + +/* + * -executable + * + * File is executable + */ +int +f_executable(PLAN *plan __unused, FTSENT *entry) +{ + return (access(entry->fts_path, X_OK) == 0); +} + +/* c_executable == c_simple */ diff --git a/usr.bin/find/option.c b/usr.bin/find/option.c index c5b461f3389b..dc5e5003b3fb 100644 --- a/usr.bin/find/option.c +++ b/usr.bin/find/option.c @@ -80,6 +80,7 @@ static OPTION const options[] = { { "-empty", c_empty, f_empty, 0 }, { "-exec", c_exec, f_exec, 0 }, { "-execdir", c_exec, f_exec, F_EXECDIR }, + { "-executable", c_simple, f_executable, 0 }, { "-false", c_simple, f_false, 0 }, #if HAVE_STRUCT_STAT_ST_FLAGS { "-flags", c_flags, f_flags, 0 }, @@ -154,6 +155,7 @@ static OPTION const options[] = { // -printf { "-prune", c_simple, f_prune, 0 }, { "-quit", c_simple, f_quit, 0 }, + { "-readable", c_simple, f_readable, 0 }, { "-regex", c_regex, f_regex, 0 }, { "-samefile", c_samefile, f_inum, 0 }, { "-size", c_size, f_size, 0 }, @@ -163,6 +165,7 @@ static OPTION const options[] = { { "-uid", c_user, f_user, 0 }, { "-user", c_user, f_user, 0 }, { "-wholename", c_name, f_path, 0 }, + { "-writable", c_simple, f_writable, 0 }, { "-xdev", c_xdev, f_always_true, 0 }, // -xtype }; From nobody Mon Apr 8 20:25:43 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0w829hwz5Hj1f; Mon, 8 Apr 2024 20:25: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 4VD0w75ct9z3xcn; Mon, 8 Apr 2024 20:25:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iBJt46Cy0C37MeZqPsSRTsyxeNGxfymjnuYGZ9MNj5A=; b=IdxLE/oNDNYRdruHBXUhRTqgvGB081i7Tq310g1UHUcvnZGLtXletrxq7rCbFTNOrfIZTX 8UKhtbY5U2MC0nvIjXrY6Fh7sz632NraJm+Man02UpPkmK5KL0vEB5P3WP5ldNSgBFvaYi Pm9Fsgkmg0pERnZJcPqQ8f0bW7leehE4CCS6dExkqd04SWcLxM38QLIuHStt4rCism0aIz bxlBvUCD8HLVjixLl5ZIRI9pyuRfyQ7cV+5W0XYh0hBssAXc9ZBnsvo++StaobANqJkavC IVQVyMEjtsAUJsP/cKV12n59ndysFixGWa8HQyHWYNgMK3AengMMZz5eCoUAtg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607943; a=rsa-sha256; cv=none; b=uacm+2PTcoOuCb7tf14tBJr5pfek13rD9Hdx4ZqT2JVIuSaCS03Cygd1jRRr71kso3N90x y9SeTIfhTvC5GPLwKNJI7nz545+1gWcjv9Xgi5C7rpVQj2lQITbj5OzExZfGAUPGqPyM55 dbLFVqVlW/q+x6CMsgn1G65ncG7Y6F1c3UeG++ke9r2vJ1T0NeCVQnledKJGn0g5rXiICz esjuYLBYY7DXZrLdKiO5qQvUWM1nnTohFhXCZDWVAFrABgM1l/WVosLb5x6XI8HABf38Ko X2ZP4q/5dpnlEJh4wvPSSKJkrKvui60A7uxMj1+lbnU3RgxgJt6GMaLYoG4WMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iBJt46Cy0C37MeZqPsSRTsyxeNGxfymjnuYGZ9MNj5A=; b=cxwFSRTcpf190nEZ5qbzElEJFYDYTv2hyCvtiEJi+D6rj0/JT9W2O392zdrZJsBvpmpH+N WlE/cGvODNNQhf526GtbncMwbwbeYeEz+TGGDTsKku6xTF1TAdxLfy82eDseqoWN6zVjZT jb0UTkAN0Pw136AuEjdmrd5ZAhQgunXUGBeA/FzSkvfzNKBYR4N12QcomRsP46/6YiuM/D DEC9l2USuSsJOc+tWbvjrSWVgMiWd/geZGDtPWw6paosRihPEnbwGz5bf9++Z2NikQnGaR BiKY8sKM5pGr1+Gn6x55v/qc0+so40X4Z155TA+h4rGg/h+3/lekrhFe5xdIYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0w75CtRzQRv; Mon, 8 Apr 2024 20:25: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 438KPhSZ039573; Mon, 8 Apr 2024 20:25:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPh6s039570; Mon, 8 Apr 2024 20:25:43 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:43 GMT Message-Id: <202404082025.438KPh6s039570@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: c680577ec993 - stable/13 - netlink.h: s/typeof/__typeof List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: c680577ec993959cd6c76adcdc6b26930588e30b Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c680577ec993959cd6c76adcdc6b26930588e30b commit c680577ec993959cd6c76adcdc6b26930588e30b Author: Lexi Winter AuthorDate: 2024-01-18 02:34:39 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:37:49 +0000 netlink.h: s/typeof/__typeof typeof() does not exist in -std=c99 mode and the relevant #define is only for _KERNEL, so use __typeof here instead. Reviewed by: jhb MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/1070 (cherry picked from commit 4261507a5e3e73ef6f9535935d22785056954b19) --- sys/netlink/netlink.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netlink/netlink.h b/sys/netlink/netlink.h index 9e6beef96cc6..ffbeb0a9c3f9 100644 --- a/sys/netlink/netlink.h +++ b/sys/netlink/netlink.h @@ -194,7 +194,7 @@ enum nlmsgerr_attrs { #define NL_ITEM_OK(_ptr, _len, _hlen, _LEN_M) \ ((_len) >= _hlen && _LEN_M(_ptr) >= _hlen && _LEN_M(_ptr) <= (_len)) -#define NL_ITEM_NEXT(_ptr, _LEN_M) ((typeof(_ptr))((char *)(_ptr) + _LEN_M(_ptr))) +#define NL_ITEM_NEXT(_ptr, _LEN_M) ((__typeof(_ptr))((char *)(_ptr) + _LEN_M(_ptr))) #define NL_ITEM_ITER(_ptr, _len, _LEN_MACRO) \ ((_len) -= _LEN_MACRO(_ptr), NL_ITEM_NEXT(_ptr, _LEN_MACRO)) From nobody Mon Apr 8 20:25:47 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wC58xZz5Hj1l; Mon, 8 Apr 2024 20:25: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 4VD0wC1xkcz3xXG; Mon, 8 Apr 2024 20:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=182bSwF/SA0PmO8KqJ/OBMyfa6tbzdvNDH5e1Pdg50g=; b=a/vshnY3KSF0N0SbqrDanmS+2Jb+bU45dAX8bfSpYMzMBTuwT7/DASul2NMmwO3hH/JyRR V69LgK9W3Vxbet8eL8HP13NaNFwdg/W6vm8//XF4eDtSTtyvSOaGmP8AzU/Lx7h/1Lq4rb DGrxxx+yrGmXEUKLYUqnpyACCZhFGVQikd8Q+q3Pyfrg4cJONuBU1n3uDdnDRYEcUOmDDH m0Pyrraac+B7cAQTSwbPqgk0BPNXRR1g9E7rlUhLqfrBJyWkyPb79XAwICtu56kxUTcxP7 pSeHt2XU03Sixrvi0AtVCAE8nB6Jx93n+moeNN9Uh0NReCFeWO6pTPHsVRDyxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607947; a=rsa-sha256; cv=none; b=LH82W05r62lITNYg51WsOjkWPQu+KLirIpYluq3i6/m499R6lfQP5eTXQ01L53cLm/mie5 VbcEt2HGTcv0zQ9NbNMM50G4jIle1bTvc4kUkG5R+TGvgkFGywhTHQFNkSgw52yv/ywV8o jaxvlqUHf8swfq4Jz+X3IsHHcikSMk4MnEhKrlyx1F67ie/oZu+/OnaIMAJ5dz4B0H1X7O PZh9aXh2RphGEmk4Uqa7nyNfBGe5G2O1/7isCRo/gAIUZgSUHZuPZf2VmMros1je4p5rL0 yCEXt0cddMunO46QETiBEMkJNI76My5ID/Y3YW+S3NHI9O+KnHc0uWqXBE5VFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=182bSwF/SA0PmO8KqJ/OBMyfa6tbzdvNDH5e1Pdg50g=; b=XgEhgI62FLha1IHd3p8diaWNa+ZuAZN9nfxA/R5Y11Twl4/+TQ5S9R1iSbHdRy6Koml/1f 4Y80hYgF12LTxFEiRRMGWvnJQ7KRm9xCpWY2tyfIq+J1zG3vToMybN2vaBf69D+My8f5eT 5dhecFt9WNfI57hxaIVLJlMfWxVPZVvqhXPxtQ8Bu9jVYG5Cy+KnHtOINwEEKHyahMQG72 K/NcVg/qA9ynDP8FjGe5TOzR+U246EK4eh3NZKTVDB/vxYNmdVZwp5JqI2vJWao5a3h8bu UGDvxU59/irNxuHofYhIwXIDEi6VWCn7ez50LfHuIpVIxlrJmUDvCBzjP4AFMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wC1YnNzQc1; Mon, 8 Apr 2024 20:25: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 438KPlqL039724; Mon, 8 Apr 2024 20:25:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPlJe039721; Mon, 8 Apr 2024 20:25:47 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:47 GMT Message-Id: <202404082025.438KPlJe039721@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: d50a1d0ace9d - stable/13 - cxgbe: Add counters for POSIX async I/O requests handled by the driver List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: d50a1d0ace9def06df655189c4030d77aec976cf Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d50a1d0ace9def06df655189c4030d77aec976cf commit d50a1d0ace9def06df655189c4030d77aec976cf Author: John Baldwin AuthorDate: 2024-01-31 00:40:31 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:39:21 +0000 cxgbe: Add counters for POSIX async I/O requests handled by the driver Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D43668 (cherry picked from commit c3d4aea6c5bef0dcdc5194d4a828625f4d34a1dc) --- sys/dev/cxgbe/adapter.h | 4 ++++ sys/dev/cxgbe/t4_main.c | 4 ++++ sys/dev/cxgbe/t4_sge.c | 16 ++++++++++++++++ sys/dev/cxgbe/tom/t4_cpl_io.c | 6 +++++- sys/dev/cxgbe/tom/t4_ddp.c | 12 ++++++++++-- 5 files changed, 39 insertions(+), 3 deletions(-) diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h index 1896596df737..f6e58dc976c1 100644 --- a/sys/dev/cxgbe/adapter.h +++ b/sys/dev/cxgbe/adapter.h @@ -690,6 +690,8 @@ struct sge_ofld_rxq { uint64_t rx_iscsi_padding_errors; uint64_t rx_iscsi_header_digest_errors; uint64_t rx_iscsi_data_digest_errors; + uint64_t rx_aio_ddp_jobs; + uint64_t rx_aio_ddp_octets; u_long rx_toe_tls_records; u_long rx_toe_tls_octets; } __aligned(CACHE_LINE_SIZE); @@ -756,6 +758,8 @@ struct sge_ofld_txq { counter_u64_t tx_iscsi_pdus; counter_u64_t tx_iscsi_octets; counter_u64_t tx_iscsi_iso_wrs; + counter_u64_t tx_aio_jobs; + counter_u64_t tx_aio_octets; counter_u64_t tx_toe_tls_records; counter_u64_t tx_toe_tls_octets; } __aligned(CACHE_LINE_SIZE); diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index cbf15b5270ff..98f27c466bdc 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -12190,6 +12190,8 @@ clear_stats(struct adapter *sc, u_int port_id) counter_u64_zero(ofld_txq->tx_iscsi_pdus); counter_u64_zero(ofld_txq->tx_iscsi_octets); counter_u64_zero(ofld_txq->tx_iscsi_iso_wrs); + counter_u64_zero(ofld_txq->tx_aio_jobs); + counter_u64_zero(ofld_txq->tx_aio_octets); counter_u64_zero(ofld_txq->tx_toe_tls_records); counter_u64_zero(ofld_txq->tx_toe_tls_octets); } @@ -12207,6 +12209,8 @@ clear_stats(struct adapter *sc, u_int port_id) ofld_rxq->rx_iscsi_ddp_octets = 0; ofld_rxq->rx_iscsi_fl_pdus = 0; ofld_rxq->rx_iscsi_fl_octets = 0; + ofld_rxq->rx_aio_ddp_jobs = 0; + ofld_rxq->rx_aio_ddp_octets = 0; ofld_rxq->rx_toe_tls_records = 0; ofld_rxq->rx_toe_tls_octets = 0; } diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c index 3e15e1507f68..a6f77a2b7430 100644 --- a/sys/dev/cxgbe/t4_sge.c +++ b/sys/dev/cxgbe/t4_sge.c @@ -4217,6 +4217,12 @@ add_ofld_rxq_sysctls(struct sysctl_ctx_list *ctx, struct sysctl_oid *oid, return; children = SYSCTL_CHILDREN(oid); + SYSCTL_ADD_U64(ctx, children, OID_AUTO, "rx_aio_ddp_jobs", + CTLFLAG_RD, &ofld_rxq->rx_aio_ddp_jobs, 0, + "# of aio_read(2) jobs completed via DDP"); + SYSCTL_ADD_U64(ctx, children, OID_AUTO, "rx_aio_ddp_octets", + CTLFLAG_RD, &ofld_rxq->rx_aio_ddp_octets, 0, + "# of octets placed directly for aio_read(2) jobs"); SYSCTL_ADD_ULONG(ctx, children, OID_AUTO, "rx_toe_tls_records", CTLFLAG_RD, &ofld_rxq->rx_toe_tls_records, "# of TOE TLS records received"); @@ -4880,6 +4886,8 @@ alloc_ofld_txq(struct vi_info *vi, struct sge_ofld_txq *ofld_txq, int idx) ofld_txq->tx_iscsi_pdus = counter_u64_alloc(M_WAITOK); ofld_txq->tx_iscsi_octets = counter_u64_alloc(M_WAITOK); ofld_txq->tx_iscsi_iso_wrs = counter_u64_alloc(M_WAITOK); + ofld_txq->tx_aio_jobs = counter_u64_alloc(M_WAITOK); + ofld_txq->tx_aio_octets = counter_u64_alloc(M_WAITOK); ofld_txq->tx_toe_tls_records = counter_u64_alloc(M_WAITOK); ofld_txq->tx_toe_tls_octets = counter_u64_alloc(M_WAITOK); add_ofld_txq_sysctls(&vi->ctx, oid, ofld_txq); @@ -4918,6 +4926,8 @@ free_ofld_txq(struct vi_info *vi, struct sge_ofld_txq *ofld_txq) counter_u64_free(ofld_txq->tx_iscsi_pdus); counter_u64_free(ofld_txq->tx_iscsi_octets); counter_u64_free(ofld_txq->tx_iscsi_iso_wrs); + counter_u64_free(ofld_txq->tx_aio_jobs); + counter_u64_free(ofld_txq->tx_aio_octets); counter_u64_free(ofld_txq->tx_toe_tls_records); counter_u64_free(ofld_txq->tx_toe_tls_octets); free_wrq(sc, &ofld_txq->wrq); @@ -4945,6 +4955,12 @@ add_ofld_txq_sysctls(struct sysctl_ctx_list *ctx, struct sysctl_oid *oid, SYSCTL_ADD_COUNTER_U64(ctx, children, OID_AUTO, "tx_iscsi_iso_wrs", CTLFLAG_RD, &ofld_txq->tx_iscsi_iso_wrs, "# of iSCSI segmentation offload work requests"); + SYSCTL_ADD_COUNTER_U64(ctx, children, OID_AUTO, "tx_aio_jobs", + CTLFLAG_RD, &ofld_txq->tx_aio_jobs, + "# of zero-copy aio_write(2) jobs transmitted"); + SYSCTL_ADD_COUNTER_U64(ctx, children, OID_AUTO, "tx_aio_octets", + CTLFLAG_RD, &ofld_txq->tx_aio_octets, + "# of payload octets in transmitted zero-copy aio_write(2) jobs"); SYSCTL_ADD_COUNTER_U64(ctx, children, OID_AUTO, "tx_toe_tls_records", CTLFLAG_RD, &ofld_txq->tx_toe_tls_records, "# of TOE TLS records transmitted"); diff --git a/sys/dev/cxgbe/tom/t4_cpl_io.c b/sys/dev/cxgbe/tom/t4_cpl_io.c index fe9dd4477ab3..e8a78b5f6c1b 100644 --- a/sys/dev/cxgbe/tom/t4_cpl_io.c +++ b/sys/dev/cxgbe/tom/t4_cpl_io.c @@ -2189,6 +2189,7 @@ t4_aiotx_process_job(struct toepcb *toep, struct socket *so, struct kaiocb *job) struct inpcb *inp; struct tcpcb *tp; struct mbuf *m; + u_int sent; int error, len; bool moretocome, sendmore; @@ -2292,7 +2293,9 @@ sendanother: goto out; } - job->aio_sent += m_length(m, NULL); + sent = m_length(m, NULL); + job->aio_sent += sent; + counter_u64_add(toep->ofld_txq->tx_aio_octets, sent); sbappendstream(sb, m, 0); m = NULL; @@ -2339,6 +2342,7 @@ sendanother: * socket. */ aiotx_free_job(job); + counter_u64_add(toep->ofld_txq->tx_aio_jobs, 1); out: if (error) { diff --git a/sys/dev/cxgbe/tom/t4_ddp.c b/sys/dev/cxgbe/tom/t4_ddp.c index 9ed71ebcde79..ff63b25c4db0 100644 --- a/sys/dev/cxgbe/tom/t4_ddp.c +++ b/sys/dev/cxgbe/tom/t4_ddp.c @@ -319,8 +319,11 @@ insert_ddp_data(struct toepcb *toep, uint32_t n) placed = n; if (placed > job->uaiocb.aio_nbytes - copied) placed = job->uaiocb.aio_nbytes - copied; - if (placed > 0) + if (placed > 0) { job->msgrcv = 1; + toep->ofld_rxq->rx_aio_ddp_jobs++; + } + toep->ofld_rxq->rx_aio_ddp_octets += placed; if (!aio_clear_cancel_function(job)) { /* * Update the copied length for when @@ -560,6 +563,8 @@ handle_ddp_data(struct toepcb *toep, __be32 ddp_report, __be32 rcv_nxt, int len) CURVNET_RESTORE(); job->msgrcv = 1; + toep->ofld_rxq->rx_aio_ddp_jobs++; + toep->ofld_rxq->rx_aio_ddp_octets += len; if (db->cancel_pending) { /* * Update the job's length but defer completion to the @@ -724,8 +729,11 @@ handle_ddp_close(struct toepcb *toep, struct tcpcb *tp, __be32 rcv_nxt) placed = len; if (placed > job->uaiocb.aio_nbytes - copied) placed = job->uaiocb.aio_nbytes - copied; - if (placed > 0) + if (placed > 0) { job->msgrcv = 1; + toep->ofld_rxq->rx_aio_ddp_jobs++; + } + toep->ofld_rxq->rx_aio_ddp_octets += placed; if (!aio_clear_cancel_function(job)) { /* * Update the copied length for when From nobody Mon Apr 8 20:25:44 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0w93M7Kz5Hhq5; Mon, 8 Apr 2024 20:25: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 4VD0w86hp2z3xkW; Mon, 8 Apr 2024 20:25:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bHXiVIZ9Tye6+qYA3ZsiCqqeDcbc24EEMTUj++qQ+xs=; b=vo7ef6KFuBbiv29lBsmMKcIqbE8lzSoZkIKqXEjnfkSi7e2RAYYKDoSBQrwIsyiXGshGic 55l4zjPxzVwc0F74Nr/fT0blhccdFXBQ1LsgTKIdkdQmFTvR/4+KnvEdRGhrAZ2M1rf10r ffIehCE9VALWKUYkTJgk4CGB/qqeRg7R4M7FG+qWYw9N46PMN4NEbz+LZZufNyuKGVgUWW RTEaSxUVU5q8Ugp6GBV1LWbTmOT2eqRfiMTrJDf9+xPeZKxUBBU1x8iNuznmrPTdOFwjNV EZgmmyg5VfZOtHK6LpfN8bu2CtAlyo94fGrLWJcAAe7TGGkSfWrbyU1Idb+KCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607944; a=rsa-sha256; cv=none; b=caGiqRUsA5DA5sWIQ4HjifBv24Hp7oMmyUzKHW3/Dxq+lxKqGl0YMr+h/WS9VyodqVAab+ 9ubqw815KnvEfbrOXGdJViMfQaO3pH8dexuVEj0Yd56wwEkYNlzhjP48o005fZ31ozLxlz YmfANLGd58zEaZVr9CEX2MZTulBgLL7+zIu3VEVDdJi5h93riUrbPmR4ujV+jj1zDxJbTL M3R4trfOAPsN5dfjfunoXUWeHMmokeUvzuYjhX/t14z8friuvGfiaJSmgz63CuJyc7qb9c c+QYDEfeZyD6RZauW5rb+TPbNgZx42Cyh4mwKI8iDJJVAhwnx8RqamvwfIJVQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bHXiVIZ9Tye6+qYA3ZsiCqqeDcbc24EEMTUj++qQ+xs=; b=AozRcmM9dDZVQtmsn0EXd1qRYdkT1T+ndQs+kJKSn8OoV5j/vhFABk9dWbtHVoMFno27xh iDGcgxTXFLXpAbIROt5xQ1qoTPXv5948+j0+KKfYdFDhNvAbzskXxA5NiidDsfAHZnP6vx TCIZGWHpwOvQT7tmHfL7WnyyJORDFv9Xrpw6NXbknHHYC20VcMuBqHGIvhDkIct4MaXn8M JpC/FeTlN/0Rp2QRkXvb1eC01NF3bRAGDbuNBfXSudHJMJk/K4TTxGVxgUCcwxEA+wMgLZ tbDMCMvTIqzWnyBiJ4yMgIOsq/vPA6w83CpBH7iFDvWoGLEaLssJAT33uSFaLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0w86HsSzQRw; Mon, 8 Apr 2024 20:25: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 438KPiWR039619; Mon, 8 Apr 2024 20:25:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPiU6039616; Mon, 8 Apr 2024 20:25:44 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:44 GMT Message-Id: <202404082025.438KPiU6039616@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 975afd9c44a8 - stable/13 - newfs_msdos.8: example for specific cluster size List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 975afd9c44a847e01308a089a59daf1a77438109 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=975afd9c44a847e01308a089a59daf1a77438109 commit 975afd9c44a847e01308a089a59daf1a77438109 Author: Alexander Ziaee AuthorDate: 2024-01-12 22:12:48 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:38:02 +0000 newfs_msdos.8: example for specific cluster size The usual use case in 2024 for newfs_msdosfs is creating filesystems on SD cards for older hardware. In most tutorials, they call the cluster size "allocation size". Therefore, add a small note next to cluster size that it is also called allocation size, and add an example for how to do this. Reviewed by: jhb Pull Request: https://github.com/freebsd/freebsd-src/pull/1045 (cherry picked from commit c8bf9f09ee3d5ac97d38218f2123893a7f1f0285) --- sbin/newfs_msdos/newfs_msdos.8 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sbin/newfs_msdos/newfs_msdos.8 b/sbin/newfs_msdos/newfs_msdos.8 index 278612548dc4..efa69c058453 100644 --- a/sbin/newfs_msdos/newfs_msdos.8 +++ b/sbin/newfs_msdos/newfs_msdos.8 @@ -23,7 +23,7 @@ .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd June 14, 2018 +.Dd January 12, 2024 .Dt NEWFS_MSDOS 8 .Os .Sh NAME @@ -134,7 +134,7 @@ File system block size (bytes per cluster). This should resolve to an acceptable number of sectors per cluster (see below). .It Fl c Ar cluster-size -Sectors per cluster. +Sectors per cluster, also called allocation size. Acceptable values are powers of 2 in the range 1 through 128. If the block or cluster size are not specified, the code @@ -224,6 +224,12 @@ Create a file system, using default parameters, on newfs_msdos /dev/ada0s1 .Ed .Pp +Create a FAT32 filesystem with a 32K allocation size on +.Pa /dev/mmcsd0s1 : +.Bd -literal -offset indent +newfs_msdos -F 32 -A -c 64 /dev/mmcsd0s1 +.Ed +.Pp Create a standard 1.44M file system, with volume label .Ar foo , on From nobody Mon Apr 8 20:25:45 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wC06Scz5Hhq6; Mon, 8 Apr 2024 20:25: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 4VD0wB3rRPz3xsw; Mon, 8 Apr 2024 20:25:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nss3J//UzyX9RUcfskAkQFLZq0LInsWNejvypSYFk8k=; b=JVnRupAI/3pLtxTKZzLKUQOmAm/Jaw3eDsoF6khNgQrn8CfWS6drx76tLcQFkhyjDBI73N INvtHXOz2572DQ7/G4DBXz8zlLZ3HZcRLWJe9L3kxBXPdPjecY78V/NtU1gIdTTbvHOv8N GtNvFl/cNVV1mNvtvRqPcHhO/OMVplGGuUj+zuw3yeVyKARONy2doRmT6eSObU4VQucJjh 1GsHzsggKi/JErwiUvdw+pjw4D1MqpPrwXA3wC3tWBLmjsVdODAMxExuQiNJ8i4uAbY0TH Gm0DZdKRpmukzr6ti8xewWaSPNayuU5otVxiHNJ3YtWocOCY7l6PFgr236t14Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607946; a=rsa-sha256; cv=none; b=c0CdBNciWsDnnMu764BTRE98l5BRTJRZUipsl55js0tA4wlIlWJ2p+VlHDCtbrFMuII9JG mQ0HSaKVRi3CvTh8cx/nIqf7uEdu360BYIUKewf3ljEcxfm/QnAnvgbhiBysjVGb0q7Jjk HlsL0EZkQ37iwPtYTRlSp7WzpqI60KLx5FqmXF2rvFY8y3IdhUBadhP4vh4qwWrP0HEW7p +J6RfZElb89k/TX8Fh3ualHDg5JHSSyhCYMfsC/dj2IiLf2YiM9teCW/RJbY3RsFhH4JbW JPEp0FLJk6YYCCQWtJ6yiegR8+ICV5HHiDrr+h5R53Fyhy5KmwH7R6xn86m4oA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nss3J//UzyX9RUcfskAkQFLZq0LInsWNejvypSYFk8k=; b=yVnxqWFDMskiIxORdmzmVtOIcaZ3bK+FWf1egTLLtxdIgUV98uQPcl4qVEZqNo1pJrQh81 t/vsc4vEkewTg8wNfuyrh3W1KadK7ZleE9EG6jbR3njijkaQSAh1B8z1r+9b+O02EuD+mz HXaWdHHZ6JuYV0omvJ7OTxsWdspaAL3rayVSFiTDBxexhlWok9wtKT8AtAc6619QyPdwTK WIDy0LLi2E2lFcmTjRH2ylsNbY5ns7uMMlvvcjf7fiTBJsxvUFbcdZXQ6R2pMj+x8WNiWc Ss3KW10HNTbh6cemQb70ge15jhNjLir0+krZvfWIAplEAFrhP9wv+kRe+nKbSg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wB0HFpzPm9; Mon, 8 Apr 2024 20:25: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 438KPjSB039661; Mon, 8 Apr 2024 20:25:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPjNJ039658; Mon, 8 Apr 2024 20:25:45 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:45 GMT Message-Id: <202404082025.438KPjNJ039658@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: dff5ad136163 - stable/13 - syscallsubr.h: Sort kern_membarrier prototype alphabetically List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: dff5ad136163d8d1114fb96a6b6ea249bc04215c Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=dff5ad136163d8d1114fb96a6b6ea249bc04215c commit dff5ad136163d8d1114fb96a6b6ea249bc04215c Author: John Baldwin AuthorDate: 2024-01-31 00:38:29 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:38:50 +0000 syscallsubr.h: Sort kern_membarrier prototype alphabetically (cherry picked from commit 14505c92bc8ca56d4c8a09072d043642f5e87ed7) --- sys/sys/syscallsubr.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h index c0ae30dff3c7..4710c3cf1406 100644 --- a/sys/sys/syscallsubr.h +++ b/sys/sys/syscallsubr.h @@ -198,13 +198,13 @@ int kern_lseek(struct thread *td, int fd, off_t offset, int whence); int kern_lutimes(struct thread *td, const char *path, enum uio_seg pathseg, struct timeval *tptr, enum uio_seg tptrseg); int kern_madvise(struct thread *td, uintptr_t addr, size_t len, int behav); +int kern_membarrier(struct thread *td, int cmd, unsigned flags, + int cpu_id); int kern_mincore(struct thread *td, uintptr_t addr, size_t len, char *vec); int kern_minherit(struct thread *td, uintptr_t addr, size_t len, int inherit); int kern_mkdirat(struct thread *td, int fd, const char *path, enum uio_seg segflg, int mode); -int kern_membarrier(struct thread *td, int cmd, unsigned flags, - int cpu_id); int kern_mkfifoat(struct thread *td, int fd, const char *path, enum uio_seg pathseg, int mode); int kern_mknodat(struct thread *td, int fd, const char *path, From nobody Mon Apr 8 20:25:48 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wD43ZZz5Hhyc; Mon, 8 Apr 2024 20:25: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 4VD0wD30NCz3xlH; Mon, 8 Apr 2024 20:25:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ge4EjZ+N1FhahyLQgDOfWTfNyx+MoJNkLL29ad+J5k0=; b=ReVmY9E+gHNjHglKms4JcOpn1KDnhVFDQey0Qb8y/b3DTdmCgpjsNl4kdayrPg8USfKL+G YiKjGPsbdFm/9DheqD7wNyLbzIHviuUTa9R1+jvbeSHn+fQ/+6uOtdTRH8OKDG8WSE5tx1 8+PtIJ0jQ9zz/x71XRh1NMn73cs5MXdBCbrU6pKNIghLqkXMZRIH5e4iBsgctRRmeWLB3w O5iC3LLNY9nvlUCzi4gUzqg7sFdwrDzlWHn/QThYsSRDwQg8M0UMgFOEmHlNZJUrsw7k+Q eMg9b/5itRoFgGGCsKTk1L8538CQRiLR6Ulg492ETV5uFhpDxyeETuMhJOicCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607948; a=rsa-sha256; cv=none; b=PauIETGrOvoyxwkbRdKSuMztqmzFWcIdzoAdrpi4p+FfIXr9a6A5a6dBWzuw3E2rK60ECr oeYjFUAr9Dl5EVsl5ZWHkb5QBn++fb+JB+AhQHPCG4KznMJWn7LBEFvRPXBSxFEQL//Gp6 uwPLbY5jYUhZxvEmawuHrfysgVC5pcZ4vyOv5YicF4dtLYVuG+s9KEohAy+837Rsx/jmxM jQDfzWTXip/Vw/CCAaqrtcXbmdFxkDoygxeI5JMkl9nzCrEJCwSUMNMwBbxRr/yt85MdI8 Sl3/u8WsawLBYcBc+YkE6+o27x+10Fy3CqpGkI7KbBZibYP257v2HTAFXnuHdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ge4EjZ+N1FhahyLQgDOfWTfNyx+MoJNkLL29ad+J5k0=; b=WShnlSooB+sXZ6ubIDb6X/wkC3FD/yoAa4DwuW3a+MkYAr5MIvUAZ4XvinNMwW3ibNPGPb rHrteP0c9O0N2CXsayWRlr80rD7CT2ciw+sFQDiITsNaz69fmwE6kXIk2EcEpJfk84Kjs2 Kc/wIEOgBIL53KXpwaQsTx3BV9wSsKg9BKyEkaiVxK2uCFuYo3jjYsikuV27xfCh85CJZh mkk9nF8KRV7svxue8tmR1fpClF9dTD0bW6jwgi4T5/9484jdc5DmuPz9CZBi7v/u+Nb7qm Jh4zDPxff8zAaCtN9Rr+VarocBUDWPWYQ7ZUcIYrvlzBGKrEpVA0C9mObpUiGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wD2ckczQGS; Mon, 8 Apr 2024 20:25: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 438KPmWO039778; Mon, 8 Apr 2024 20:25:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPmL2039775; Mon, 8 Apr 2024 20:25:48 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:48 GMT Message-Id: <202404082025.438KPmL2039775@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: db522f6bd041 - stable/13 - arm: pmap_extract() returns a PA not a boolean value List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: db522f6bd04120a5d0b981398efa73555a098ad0 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=db522f6bd04120a5d0b981398efa73555a098ad0 commit db522f6bd04120a5d0b981398efa73555a098ad0 Author: John Baldwin AuthorDate: 2024-02-02 22:59:03 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:50:38 +0000 arm: pmap_extract() returns a PA not a boolean value Assume a PA of 0 indicates an invalid virtual address. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D43694 (cherry picked from commit afb1a3e30c05a0f69facff7df59547ec82e3531a) --- sys/arm/arm/db_interface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm/arm/db_interface.c b/sys/arm/arm/db_interface.c index 174d0a7d5cc7..8802cce1d81b 100644 --- a/sys/arm/arm/db_interface.c +++ b/sys/arm/arm/db_interface.c @@ -172,7 +172,7 @@ db_validate_address(vm_offset_t addr) else pmap = p->p_vmspace->vm_map.pmap; - return (pmap_extract(pmap, addr) == FALSE); + return (pmap_extract(pmap, addr) == 0); } /* From nobody Mon Apr 8 20:25:49 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wG0J4xz5HhVm; Mon, 8 Apr 2024 20:25: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 4VD0wF4Q0sz3xqx; Mon, 8 Apr 2024 20:25:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZWLGOUXu1LGCPNjO/EIpvsN8FUupuwf4e8pBCnjG+Ms=; b=eZD3f5HUCHXHIAsRFSBTUZEBxcdEm/Nd87XlLrdMM1A4JMlI8GJnxzM0Syq41YFMH5/PmW 19Ejxx7Yru7p3KXl7yB7D6YFi8TSbnuhhW8PDL63F2IBxOZD8s+Nr6A6WuzQMVJt7aPWiE Yqn/ZCTtLSUo78redHM6BWZONMOes2CbKtIMh1VDKDV3zCJ1XxzrzSp9YguNi00JnhA+oC lw2jSKxvT04pOPxgZ1W6xUq5W2FWfpDbrJ7mMokoggKPzLJKYujHe7WrQO1WuZq4YZTFuE t15oYWCg81S/YK/4O701yR6yaXJX1gkQp/oPcKhSNEyNPcMwE2RMT8UoIGUiTA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607949; a=rsa-sha256; cv=none; b=kj/u8K8GsLIK8rntN53F4rGeRQXcIdAqWvT+Q2eVEs2qc0mlD3B0QkeRy+xra+Vc/jadIk bz1+eSZbTo2WRQHvxLSJalsCw8AiPL8x1G9AW5g9guSmLwpAg/3Qh1fEo7h2LdgLxsNA1M ajfVqKOCzK1LnICbVJXSI+WsOj/GLiNAS1+fZ2vtB1U8T1WwXwsknz/ekPLomGAnuy+WuU k3SNaBrcS36jaZec90tR1Uk24VEsEICZYk7gm1E09TphmASqv/NqFmZRimqeqKuWuxbcT0 LGHLBfUjaOywoJ1hHAa50k2wu2wxpXrydIFJp/VdJ8dpUe7dPRz4hn96MBirsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZWLGOUXu1LGCPNjO/EIpvsN8FUupuwf4e8pBCnjG+Ms=; b=eU42WELtpliT4gIG53YyWCZoRmxrTvADkVI83Deo1o8Jf1fFabbUCkMYyq96+zlUx/hgYx 0IUQ9l3dlhqc93IKdMRSEdPzX2FI/V/aannHuUeyxDOSDTHWdN9AiD+WI+IWQ+t/pGVTSr nSL/cG4FdZnoNEqc8iEWWyXfV7Bo5+DGhcKD3kiCNloIoMEc86a0BBDBj079jS/XVNCmp5 F/SNEJ+RUVFNG7ZoO4cdwCmMHw1tmCmgtgp/8wLyYf6fLCkBJ5CEWEZoKW/xfehn5VCxXv HqadTXKFxwYSC22mHBa4oXx8muyKDxHoxuo/tcZvMykxCS5RYtGS+wtnSqKI8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wF3hf5zQcV; Mon, 8 Apr 2024 20:25: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 438KPnJu039834; Mon, 8 Apr 2024 20:25:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPn2c039831; Mon, 8 Apr 2024 20:25:49 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:49 GMT Message-Id: <202404082025.438KPn2c039831@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: b61c6451631f - stable/13 - pcib: Make various bus methods private to pci_pci.c List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: b61c6451631ff2341e1f29a6eedee107319b44fe Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b61c6451631ff2341e1f29a6eedee107319b44fe commit b61c6451631ff2341e1f29a6eedee107319b44fe Author: John Baldwin AuthorDate: 2024-02-09 18:27:45 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:52:54 +0000 pcib: Make various bus methods private to pci_pci.c These functions are not used by pcib subclasses so do not need to be exposed in pcib_private.h. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43688 (cherry picked from commit 03719c651430d46cd8aa95aead02a7f0c43dcb04) --- sys/dev/pci/pci_pci.c | 18 +++++++++++++----- sys/dev/pci/pcib_private.h | 10 ---------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c index dccc1dabb59b..9e90cccdf083 100644 --- a/sys/dev/pci/pci_pci.c +++ b/sys/dev/pci/pci_pci.c @@ -60,6 +60,15 @@ static int pcib_probe(device_t dev); static int pcib_suspend(device_t dev); static int pcib_resume(device_t dev); + +static bus_child_present_t pcib_child_present; +static bus_alloc_resource_t pcib_alloc_resource; +#ifdef NEW_PCIB +static bus_adjust_resource_t pcib_adjust_resource; +static bus_release_resource_t pcib_release_resource; +#endif +static int pcib_reset_child(device_t dev, device_t child, int flags); + static int pcib_power_for_sleep(device_t pcib, device_t dev, int *pstate); static int pcib_ari_get_id(device_t pcib, device_t dev, @@ -81,7 +90,6 @@ static void pcib_pcie_dll_timeout(void *arg, int pending); #endif static int pcib_request_feature_default(device_t pcib, device_t dev, enum pci_feature feature); -static int pcib_reset_child(device_t dev, device_t child, int flags); static device_method_t pcib_methods[] = { /* Device interface */ @@ -2272,7 +2280,7 @@ updatewin: * We have to trap resource allocation requests and ensure that the bridge * is set up to, or capable of handling them. */ -struct resource * +static struct resource * pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) { @@ -2361,7 +2369,7 @@ pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, return (r); } -int +static int pcib_adjust_resource(device_t bus, device_t child, int type, struct resource *r, rman_res_t start, rman_res_t end) { @@ -2429,7 +2437,7 @@ pcib_adjust_resource(device_t bus, device_t child, int type, struct resource *r, return (rman_adjust_resource(r, start, end)); } -int +static int pcib_release_resource(device_t dev, device_t child, int type, int rid, struct resource *r) { @@ -2452,7 +2460,7 @@ pcib_release_resource(device_t dev, device_t child, int type, int rid, * We have to trap resource allocation requests and ensure that the bridge * is set up to, or capable of handling them. */ -struct resource * +static struct resource * pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) { diff --git a/sys/dev/pci/pcib_private.h b/sys/dev/pci/pcib_private.h index cf689026a033..d4c66407d739 100644 --- a/sys/dev/pci/pcib_private.h +++ b/sys/dev/pci/pcib_private.h @@ -174,19 +174,9 @@ void pcib_bridge_init(device_t dev); #ifdef NEW_PCIB const char *pcib_child_name(device_t child); #endif -int pcib_child_present(device_t dev, device_t child); int pcib_detach(device_t dev); int pcib_read_ivar(device_t dev, device_t child, int which, uintptr_t *result); int pcib_write_ivar(device_t dev, device_t child, int which, uintptr_t value); -struct resource *pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, - rman_res_t start, rman_res_t end, - rman_res_t count, u_int flags); -#ifdef NEW_PCIB -int pcib_adjust_resource(device_t bus, device_t child, int type, - struct resource *r, rman_res_t start, rman_res_t end); -int pcib_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *r); -#endif int pcib_maxslots(device_t dev); int pcib_maxfuncs(device_t dev); int pcib_route_interrupt(device_t pcib, device_t dev, int pin); From nobody Mon Apr 8 20:25:50 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wH0MLfz5HhwP; Mon, 8 Apr 2024 20:25: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 4VD0wG4lTLz3xm4; Mon, 8 Apr 2024 20:25:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xlcxW7ulWajVW9prRYUa5kCQ+GzCsfxH9ZSVxma1YUg=; b=NHcGh0RjNp00mLwJdYKYXKlL0xGXSJVgP2kCQFK5PyzvOQ4vS+EbcD1a+ynLLU1AH/UoOm u/bJnyX32gquvF7WeIgn3zBjyUbp9tHtpv3tcJnHZpypOQHRW2WFIMuopZ0REewL0xWAGM L2VgbAfHqPfS9VQBbZpSUK/88p6OGzqt/pD+R4gdPAJDnJkqBDFYw5Gswh5k4OnM9q66Iz zMV/z7z8UfcTXAM9AYcKyR46BQ2WeOtOkJUBOaEM9a17xbgPMuJIGGK2FMt8mhShUQYnRM FR4HGOrcAM3UA46xtNcybXqgWksLmWAgbIoUpdpDxKG0jWYjOBARZuDR/JhaBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607950; a=rsa-sha256; cv=none; b=yQJ8q/QTx4NPadHa37zYKa3HOhxyF4+Eiup6BsdJMD5RbC++s+x6SeTeJ6fbeiINOjnItb Lbm8PE6+nUc49f6lcJqth27xVilsKeZcR9GXzeFjR3EsoBxm9Fihg/hKw4IrrqcSNp7Dcu ce/2zuiUKLTf5ewkdsmcUqaZ5TMFEHVJuIQEcx9+FaMBg65ZjKzNFWgN+Ucb2qdJ0jG5OL KjlXCI7d+hg+OHtw3XM/ia0gOJuab0qETvHexjSD6IMNKjUdKwXFXwi6nedi5oGZQbyoPk WDFa4I/DvxIjq26QluC3NLyCNTJ+XzmpPvKMvOgSKnQfYUT4ytXGY1N+GuSWyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xlcxW7ulWajVW9prRYUa5kCQ+GzCsfxH9ZSVxma1YUg=; b=CgdkvrSUQBkuO/XiY6Gqipwb9PsU5E1oyY1LV+Nq7dtygqi+ftmJoXMVKFUSwIdHeHMdT2 nhPfaxm+bXmBdUHdDdIKHXGy/rkQoR/4sTvX6VUpHgvaGPmJ7OwHL5IT2Rera7Gt+k/Lai r4c14oirzi/XiIlMWQmCcFliX7rEZqAroB8No1nJwefAcoTd4O7oXROnRcWVfdKIpbkIaS IVFh1es6VreeWGUXvVYDAB8wIwrgayT49HifDYTODA8I10jtXGmwudrlVh3kHJmP5LOlod llGjmoDt3TQy3abqb5f5hZ3ppsThoPy4Ppa2OzdKmOTgLzPw07fLwalXheKapg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wG4KZYzQQQ; Mon, 8 Apr 2024 20:25: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 438KPooh039883; Mon, 8 Apr 2024 20:25:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPodn039880; Mon, 8 Apr 2024 20:25:50 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:50 GMT Message-Id: <202404082025.438KPodn039880@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 1910a6ca6e83 - stable/13 - acpi: Use bus_generic_alloc_resource instead of duplicating it List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 1910a6ca6e83fbab26dd86082c899dbde53efcc1 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1910a6ca6e83fbab26dd86082c899dbde53efcc1 commit 1910a6ca6e83fbab26dd86082c899dbde53efcc1 Author: John Baldwin AuthorDate: 2024-02-09 18:27:45 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:53:29 +0000 acpi: Use bus_generic_alloc_resource instead of duplicating it No functional change, but it is cleaner to use the existing generic wrappers rather than KOBJ methods directly. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43686 (cherry picked from commit 1fb5445206a5ef2351c32f8bc6beb67605593caa) --- sys/dev/acpica/acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 49153eedbcc0..7a5ada029ecf 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1457,7 +1457,7 @@ acpi_alloc_resource(device_t bus, device_t child, int type, int *rid, } } } else - res = BUS_ALLOC_RESOURCE(device_get_parent(bus), child, type, rid, + res = bus_generic_alloc_resource(bus, child, type, rid, start, end, count, flags); /* From nobody Mon Apr 8 20:25:51 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wJ01Hcz5HhqJ; Mon, 8 Apr 2024 20:25: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 4VD0wH5p2kz3y0s; Mon, 8 Apr 2024 20:25:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rrF481fEdBwv1CFeOVj8D8hEyzToCXORAbo80ZD5HKA=; b=nf4YvFTRmBzsPBGx4g3/9bcnUIMuSCPhyW8ICn4VSXn7s9wj5RvWHHcYCocPGC/Qkkp6aq f0XkNHEtW8rm6j5NO46WWZ5CICsz6HFpcpIZ247rS0OGXFY0aqQtbMZ4/TZsnTj3YyGAMZ /GFNhVkM9WPuL+2SVKVixldKBSz77xUld0z5M5Wv0YmXIODdmgFxsz9IwWNsyedi6a615Z KEnaVF4ggy/t5VDPBxMbbsXrN+PXw0KW+J8VB+JXrfPqN8xqcxUXANfTPeAB9Ac9Ht8JRJ s1bAFbDkneRUDE+Q7kgxHIc3axK+cPWY082yXGWGGX0YCLy0zPxcK4oSGkrrwQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607951; a=rsa-sha256; cv=none; b=O29aiH0+G8etE9k+N6KRmhTyssyUs8OffTIFjJi947GkIagj7PI4BH9Bt+hRUHP1WOMH1R ahUfYk6DfVIzR09Svwc3Omtp/VD956FCKDBs4M4n58zLrftk0yO6dBPzlJZHBn59/dGOeC cM2OrkqLOgmtyag6174nfDmlFQDBUjVIcgrcFCpyLren0aZvt+feFw91H9EfRzZcMeXVSc 00L/MSYLuzccIqsdPPS30cOYpKMmfPqsrxsOPas8kcZLlKgs+9PWU+U19VuIyGr9zwVtqZ n5E4H6cTtpOD3+Kj9dbmn5yQwIdlODZUSPCKioKue6f69kyTnxEEPhWpEVCw9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rrF481fEdBwv1CFeOVj8D8hEyzToCXORAbo80ZD5HKA=; b=FZR+/nUDAuVcqqQgS5+h7qCSWWiYrBqqoMhNHH3b6Oowh9k9Nzugb1eBux03ICXg49rv20 8Qkk6AIsl1q9nLGCOzmbj1aPVPT/fX8MGHWLLQ5f5vH3drkc81JsQVgcn7rF8dmQHGyhtf f4fko2+XcHP+0UQcxtJYAfJm4jbQSYywgFnNwoI8S0JP14AE005LoMcV8p4gGZxHCwAO4H Vvc3Aa7mu+KCSrWQufYg/861LkaHF8P1MFYFdOJKuRJmFTqhcUeAwV47TPBUnoFrRDH/dq LZ0jTSsUbBm1f82JS6u8rEHbreKjilH7/utTP/4fo7pwfOi5o7LXbI1U3NQnGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wH5P1JzQg1; Mon, 8 Apr 2024 20:25: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 438KPpQU039946; Mon, 8 Apr 2024 20:25:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPpR4039943; Mon, 8 Apr 2024 20:25:51 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:51 GMT Message-Id: <202404082025.438KPpR4039943@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 9fc935855951 - stable/13 - cam: Check if cam_simq_alloc fails for the xpt bus during module init List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 9fc935855951ff8277c669b2aa248fde63a10175 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9fc935855951ff8277c669b2aa248fde63a10175 commit 9fc935855951ff8277c669b2aa248fde63a10175 Author: John Baldwin AuthorDate: 2024-02-09 19:53:43 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:53:54 +0000 cam: Check if cam_simq_alloc fails for the xpt bus during module init This is very unlikely to fail (and if it does, CAM isn't going to work regardless), but fail with an error rather than a gauranteed panic via NULL pointer dereference. PR: 276770 Reported by: Qiushi (cherry picked from commit eb86c6c5b462c996e44c45ba496937b75ef22da3) --- sys/cam/cam_xpt.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c index 177cc3a168d9..391a5b8ae2a2 100644 --- a/sys/cam/cam_xpt.c +++ b/sys/cam/cam_xpt.c @@ -913,6 +913,8 @@ xpt_init(void *dummy) * perform other XPT functions. */ devq = cam_simq_alloc(16); + if (devq == NULL) + return (ENOMEM); xpt_sim = cam_sim_alloc(xptaction, xptpoll, "xpt", From nobody Mon Apr 8 20:25:52 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wK29nDz5HhVs; Mon, 8 Apr 2024 20:25: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 4VD0wK06Jqz3xrK; Mon, 8 Apr 2024 20:25:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607953; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=buya3jnhaJc3FJPhgqQfuAw+PkYnEYPVzoILGAXA5k8=; b=xZZQySP186u0qGkjTYH8Ux+Qc5Jgjb8mu5NTqxftjxH6dzWq+/HsXkf6cr+LTKiKTkfuca leUclGs3D2QyXELb4U5BetD0xt9xMNcvp7CzyY38r1yanVwb6eDQUaXiGDlam6lkyO7K+m Rsfm05Ap5NBbWQnS8HnzDjMM/vF09EJ8cs08Wq3U33CvROLgDrSxwNkLVGrIkHKappOqSk em64HhoX8EBpIvUjL2VOkrRwmzT7OkwT3qcvd0N78YAauLIEZEid4kWu5WXqAUn8Nw8j+I fc4qIbzQzaU1nwqxTef2/bxZFKxZP54qWFfsEqYa5b7WHV9aOQq00qmcdI5HPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607953; a=rsa-sha256; cv=none; b=jfmumcvZv6tXxUIv8eQS+PlK1u4D8c9ahRMOs4rUmVhs5GNcgYwULhGOvSMCVcT9iM7xye 42hgaMWMJ4ELry5pf6H8lg059H55FZyqSX2sPtOKXLU7HBKMLZkZLd0lWlPu8pIBc2tRcI eoghayECNMQWcXw6DmFMWCVt5dSTDF8gambs+uFi1pinHU6uP1QDLrf47M9iyj29GVulhF pM0BR1K9uqAwYGacFTs8ZTqBHiDjPQkiwkmZjq8Y/3QYaXyWtPx4zaEp4qrE1JRh383Kc2 eSP00tlqd92iu7VbJ3NndPSqkqsiFSPobEIiFn55uN19auj+pWSYvoR0SGFeEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607953; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=buya3jnhaJc3FJPhgqQfuAw+PkYnEYPVzoILGAXA5k8=; b=WvxCk+M439Sev3PTKC8JK9By8pXWDRsP9KwKLXLjUo+dq9RzReyRWSWkp9t08mQgaWiDGB 6qeB9jzs6CDRm5g/95LyOuwDqEycuTlOjm9bmyi+xg4qnmPmvbBDr70NUCkAB8KRInAvqj uqh+PvALOtkJoeHedh9FfdebwPrfaR/RTGkPadBGUcWTAlmNVZT9iL6jx9DPOUZ9wMmJKd 2+ZlermkzOvyWJtSWaMGA7h824Ev59oUPBcI6ufkQ5sBHVoGZaU7RVjDg1fcLxG0uJcmbI H0GNgO7D41YJQFwV5us6a/AFVYrMcmDfNv0LXoxZtose+i5LGRBvBt9Ioxe3Ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wJ6rS9zQc2; Mon, 8 Apr 2024 20:25: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 438KPqP1040003; Mon, 8 Apr 2024 20:25:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPqdU040000; Mon, 8 Apr 2024 20:25:52 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:52 GMT Message-Id: <202404082025.438KPqdU040000@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 55c2c62f108a - stable/13 - acpi: Allow child drivers to use bus_set_resource for more resources List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 55c2c62f108a86e1912228a4a3ac8da3a0df913f Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=55c2c62f108a86e1912228a4a3ac8da3a0df913f commit 55c2c62f108a86e1912228a4a3ac8da3a0df913f Author: John Baldwin AuthorDate: 2024-02-14 22:07:32 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:54:40 +0000 acpi: Allow child drivers to use bus_set_resource for more resources acpi_set_resource excludes certain types of resources for certain devices. The intention of this is to avoid adding resource entries for bogus resources enumerated via _CRS. However, this also prevents drivers from adding those resources explicitly if needed. To fix this, move the logic to exclude these resources into an ignore hook used when parsing _CRS to create the initial set of resources for each device. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43892 (cherry picked from commit 055c1fe230ce5a2997c03a3cc2431baea1594566) --- sys/dev/acpica/acpi.c | 34 --------------------- sys/dev/acpica/acpi_resource.c | 69 ++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 67 insertions(+), 36 deletions(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 7a5ada029ecf..c4b87e39ce41 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -97,7 +97,6 @@ struct acpi_interface { }; static char *sysres_ids[] = { "PNP0C01", "PNP0C02", NULL }; -static char *pcilink_ids[] = { "PNP0C0F", NULL }; /* Global mutex for locking access to the ACPI subsystem. */ struct mtx acpi_mutex; @@ -1338,40 +1337,7 @@ acpi_set_resource(device_t dev, device_t child, int type, int rid, { struct acpi_device *ad = device_get_ivars(child); struct resource_list *rl = &ad->ad_rl; - ACPI_DEVICE_INFO *devinfo; rman_res_t end; - int allow; - - /* Ignore IRQ resources for PCI link devices. */ - if (type == SYS_RES_IRQ && - ACPI_ID_PROBE(dev, child, pcilink_ids, NULL) <= 0) - return (0); - - /* - * Ignore most resources for PCI root bridges. Some BIOSes - * incorrectly enumerate the memory ranges they decode as plain - * memory resources instead of as ResourceProducer ranges. Other - * BIOSes incorrectly list system resource entries for I/O ranges - * under the PCI bridge. Do allow the one known-correct case on - * x86 of a PCI bridge claiming the I/O ports used for PCI config - * access. - */ - if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { - if (ACPI_SUCCESS(AcpiGetObjectInfo(ad->ad_handle, &devinfo))) { - if ((devinfo->Flags & ACPI_PCI_ROOT_BRIDGE) != 0) { -#if defined(__i386__) || defined(__amd64__) - allow = (type == SYS_RES_IOPORT && start == CONF1_ADDR_PORT); -#else - allow = 0; -#endif - if (!allow) { - AcpiOsFree(devinfo); - return (0); - } - } - AcpiOsFree(devinfo); - } - } #ifdef INTRNG /* map with default for now */ diff --git a/sys/dev/acpica/acpi_resource.c b/sys/dev/acpica/acpi_resource.c index 30ab08cd85eb..e81b5ec53f2d 100644 --- a/sys/dev/acpica/acpi_resource.c +++ b/sys/dev/acpica/acpi_resource.c @@ -34,6 +34,9 @@ #include #include +#if defined(__i386__) || defined(__amd64__) +#include +#endif #include #include #include @@ -62,6 +65,8 @@ struct lookup_irq_request { int pol; }; +static char *pcilink_ids[] = { "PNP0C0F", NULL }; + static ACPI_STATUS acpi_lookup_irq_handler(ACPI_RESOURCE *res, void *context) { @@ -573,6 +578,52 @@ struct acpi_res_context { void *ar_parent; }; +/* + * Some resources reported via _CRS should not be added as bus + * resources. This function returns true if a resource reported via + * _CRS should be ignored. + */ +static bool +acpi_res_ignore(device_t dev, int type, rman_res_t start, rman_res_t count) +{ + struct acpi_device *ad = device_get_ivars(dev); + ACPI_DEVICE_INFO *devinfo; + bool allow; + + /* Ignore IRQ resources for PCI link devices. */ + if (type == SYS_RES_IRQ && + ACPI_ID_PROBE(device_get_parent(dev), dev, pcilink_ids, NULL) <= 0) + return (true); + + /* + * Ignore most resources for PCI root bridges. Some BIOSes + * incorrectly enumerate the memory ranges they decode as plain + * memory resources instead of as ResourceProducer ranges. Other + * BIOSes incorrectly list system resource entries for I/O ranges + * under the PCI bridge. Do allow the one known-correct case on + * x86 of a PCI bridge claiming the I/O ports used for PCI config + * access. + */ + if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { + if (ACPI_SUCCESS(AcpiGetObjectInfo(ad->ad_handle, &devinfo))) { + if ((devinfo->Flags & ACPI_PCI_ROOT_BRIDGE) != 0) { +#if defined(__i386__) || defined(__amd64__) + allow = (type == SYS_RES_IOPORT && start == CONF1_ADDR_PORT); +#else + allow = false; +#endif + if (!allow) { + AcpiOsFree(devinfo); + return (true); + } + } + AcpiOsFree(devinfo); + } + } + + return (false); +} + static void acpi_res_set_init(device_t dev, void *arg, void **context) { @@ -603,6 +654,8 @@ acpi_res_set_ioport(device_t dev, void *context, uint64_t base, if (cp == NULL) return; + if (acpi_res_ignore(dev, SYS_RES_IOPORT, base, length)) + return; bus_set_resource(dev, SYS_RES_IOPORT, cp->ar_nio++, base, length); } @@ -628,6 +681,8 @@ acpi_res_set_iorange(device_t dev, void *context, uint64_t low, device_printf(dev, "_CRS has fixed I/O port range defined as relocatable\n"); + if (acpi_res_ignore(dev, SYS_RES_IOPORT, low, length)) + return; bus_set_resource(dev, SYS_RES_IOPORT, cp->ar_nio++, low, length); return; } @@ -643,6 +698,8 @@ acpi_res_set_memory(device_t dev, void *context, uint64_t base, if (cp == NULL) return; + if (acpi_res_ignore(dev, SYS_RES_MEMORY, base, length)) + return; bus_set_resource(dev, SYS_RES_MEMORY, cp->ar_nmem++, base, length); } @@ -667,8 +724,11 @@ acpi_res_set_irq(device_t dev, void *context, uint8_t *irq, int count, if (cp == NULL || irq == NULL) return; - for (i = 0; i < count; i++) + for (i = 0; i < count; i++) { + if (acpi_res_ignore(dev, SYS_RES_IRQ, irq[i], 1)) + continue; bus_set_resource(dev, SYS_RES_IRQ, cp->ar_nirq++, irq[i], 1); + } } static void @@ -681,8 +741,11 @@ acpi_res_set_ext_irq(device_t dev, void *context, uint32_t *irq, int count, if (cp == NULL || irq == NULL) return; - for (i = 0; i < count; i++) + for (i = 0; i < count; i++) { + if (acpi_res_ignore(dev, SYS_RES_IRQ, irq[i], 1)) + continue; bus_set_resource(dev, SYS_RES_IRQ, cp->ar_nirq++, irq[i], 1); + } } static void @@ -697,6 +760,8 @@ acpi_res_set_drq(device_t dev, void *context, uint8_t *drq, int count) if (count != 1) return; + if (acpi_res_ignore(dev, SYS_RES_DRQ, *drq, 1)) + return; bus_set_resource(dev, SYS_RES_DRQ, cp->ar_ndrq++, *drq, 1); } From nobody Mon Apr 8 20:25:54 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wL4qFNz5HhwW; Mon, 8 Apr 2024 20:25: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 4VD0wL1XYWz3xgk; Mon, 8 Apr 2024 20:25:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cQLAfb5C8ne5R4wC+ZTnTL2cXUdaWmqPixQ44fQvEIo=; b=yNggGLgP+WQFx6JD/bR/DJ95sNuR9yRcTglLM9LweFKU5fc0Y2XCH+6+w3ucG1RNNdBg9T S6JuJ4wVdZ2oGRHusT3cGSrij+fDFOd2Z/igcSjZ2T5k68r1qFt1AhIYabBCn2GAqnfbDh 1y4zDwCTAxbrzxCjm5RF8HBh/Qr7TV7URJ/yWfEgYyz3f1QoJqe0BFy9j9+FzsQeVCqbNK 6xRMMa5FXCffiDhy3OMaLaTRzy0/FssQzEJxZkRalMFV3+UWMT+Pj/PJ+sRlf4le2ltPAB U9EgaNteEIJC8IeozNKEA0X9C0zotxQ4r/qELo1cqox9AMIHbVkw5KqQGgfPsw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607954; a=rsa-sha256; cv=none; b=bEBx6QbR5MshfHi/pZ9pUl1UeOarM995ehiQAMYUS0Q7rjxTlFLWXiz6kSOZqC357xMesv sGsLeTA1swPZg4zAH4PVw0anYedy0WeGv2VbZEzC20a6TLXP5GccCkSLrv7/0nbqyj5ABW tK6ub3cxUqY4JJmejkEYj6rtDwturoUXF7s3iHWr9SgJggSNMvGVPGQQCkO0P/1u4dRi32 FCM9Bfqzr2UwQuPv/Mt6gNFKQ5j8wwjb+mgvZ1yzjAbBhqRA9QZ3hAWcTFbt1mb2xNl30X dCYjUnZHbuDtml4HP3pm15TLwxJUeMxfvSAPehMGdvus5YAn78MceAv/9J5h9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cQLAfb5C8ne5R4wC+ZTnTL2cXUdaWmqPixQ44fQvEIo=; b=nB+CoI0Ooe/ihNxaJqlLh39Cuc2F1OdiNjWOzEq04WpZrqMcQiEy1eNbt4FxOviOz/6s+/ yyVq/3vbKYLuxhsq+YFUp2/oA/wx/m5RAhErxlcQL0vg30gCdC3fOy2xn4gTXv7KsGV1gV JUYN0PPHGfucuiqrki/OKYocGlgmF8anpi24ZiTJOu7pS2qQTaAZS9tE5Run0Z6WsoLB71 wEGXknJSTyj+c60qwREuTtzt4QTfVjIm/uliuLohXFIvr/SmhHf7Ul9n0mAO2kKNZ/jJTm I2ycybp6qPLLkc/hUWwF9wrVVfY36JyQRsn59v5O9lzDiusfu6cVX8o9D/06ag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wL0yGvzQRx; Mon, 8 Apr 2024 20:25: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 438KPsx5040057; Mon, 8 Apr 2024 20:25:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPsIp040054; Mon, 8 Apr 2024 20:25:54 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:54 GMT Message-Id: <202404082025.438KPsIp040054@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 7204a656fcfa - stable/13 - acpi: Don't assume a resource is reserved in acpi_delete_resource List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 7204a656fcfab41200a0056bb5dba0c538d93052 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=7204a656fcfab41200a0056bb5dba0c538d93052 commit 7204a656fcfab41200a0056bb5dba0c538d93052 Author: John Baldwin AuthorDate: 2024-02-14 22:07:32 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:56:03 +0000 acpi: Don't assume a resource is reserved in acpi_delete_resource This fixes a panic if a driver uses bus_set_resource to add a resource that fails to reserve and then deletes the resource via bus_delete_resource. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43891 (cherry picked from commit e05436d577de98944b97b9cf510b29c4d2091b3f) --- sys/dev/acpica/acpi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index c4b87e39ce41..1706938e49a3 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1534,7 +1534,8 @@ acpi_delete_resource(device_t bus, device_t child, int type, int rid) " (type=%d, rid=%d)\n", type, rid); return; } - resource_list_unreserve(rl, bus, child, type, rid); + if (resource_list_reserved(rl, type, rid)) + resource_list_unreserve(rl, bus, child, type, rid); resource_list_delete(rl, type, rid); } From nobody Mon Apr 8 20:25:55 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wM62Fnz5Hhsr; Mon, 8 Apr 2024 20:25: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 4VD0wM2nMCz3y1l; Mon, 8 Apr 2024 20:25:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607955; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EYB5nHVhjEvJfrMocaw9dwMClKu8lH/xGU+63HMfy4A=; b=BTlVJ0wrP3SPcvP0IYeI779Av7+ce+XGG74Lrtzw/bo2Lx+kBJdFaWnmudLiuQmsXIyJIX 9QO1yyem1pxem+miBXnYDx4OvPiPKAS/H89p/XnRJDu4dGzkAnY7yjGNqwJKWfQ8nx+4Vq wR3sMcrhSFCbxqbQZAd4Ppg9p5H8mOstCiKyh5MDoRLBTxp5mgQHMqG2DpilBwM4GtNSGC FdEHcKGrZhafudbTBL6FwHsEMhDiS7cVHzivQi2RKwwnJTthEmEfKs0qwYSGJx6/mrrWnD yMYn1QNwhrpGUFoqfuFJRDoXEzZHD5DwhucTC3JvKeAsMYY0dR4obZ/g8DOPqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607955; a=rsa-sha256; cv=none; b=v5nFxXUgkMhn+mpfkddqfQUrrCeYnbzf3j0zN5wsmTmK7LV75LZrTAojWNdROx9IjZv9Wj 70VC+O80XL2JX2ONQZ372eInhq4dkbTyCCl7l/7dToF1QEUNi3T3Pd9e7x9c1JvB9yBPFC SbaQ0PekFA5i6hY1CjPa6esXvpLs7k8BptWGKZfgAx93AHPbZo/qM9sHiHlnqkb5MJmnW4 t9gv0XMEVj+xccAi006Qhp6xixvVts3j9JPKz+K7gXPrbDSJmHlHb32onxib+ycTLKA4CY FooW+GKD6sWFlzQguVzd5Swr9K8y7TW3P+LhrbLWziu2JqDi/JcmgWA0R5txaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607955; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EYB5nHVhjEvJfrMocaw9dwMClKu8lH/xGU+63HMfy4A=; b=oYAY9U9/X2CXcYgWvFwYpIoIB7uoq3o4sq6CzCRj+1YGbQ7kzxEaNEU2tEaA9dN9VeytCo HYnc4si8Fyd20vzwalbyeH1bMoN/BPybRIAVT9FV7/V+i8aaCFTl0roXzXLUwVTKz5xBS9 qzqrIjOEuSMd79gkqltA2cFANfCbjTVh0Mjtf1gnhL+a15J0h7ZEIQ0KQoiKxSt5/CqdW1 uZBnzS5EOoYFYnhn/y7zOXSRdogLjsg5b0eEWGMP1xTypRdiQJwvqL881YVs4w1uZqma/M oP8AbQm2cnw3AjMGgZfliPCxla1N8R8WBJJSpPfB5Z8lKz0QPWmwjb17CB1zEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wM1yHvzQQR; Mon, 8 Apr 2024 20:25: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 438KPtqQ040108; Mon, 8 Apr 2024 20:25:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPtGV040105; Mon, 8 Apr 2024 20:25:55 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:55 GMT Message-Id: <202404082025.438KPtGV040105@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: af5f73700c47 - stable/13 - riscv: Add missing includes for DDB List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: af5f73700c470b567a17490c0a05b970ec119a45 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=af5f73700c470b567a17490c0a05b970ec119a45 commit af5f73700c470b567a17490c0a05b970ec119a45 Author: John Baldwin AuthorDate: 2024-02-15 20:20:30 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:57:06 +0000 riscv: Add missing includes for DDB The #ifdef DDB code in parse_metadata was dead code without opt_ddb.h. While here, update the call to db_fetch_ksymtab for changes in commit 02bc014a200a. Reviewed by: mhorne Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D43919 (cherry picked from commit 962b0bcbd924d308016237abc991280f15777e7f) --- sys/riscv/riscv/machdep.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/riscv/riscv/machdep.c b/sys/riscv/riscv/machdep.c index 79305cbc29d8..ff074c91973a 100644 --- a/sys/riscv/riscv/machdep.c +++ b/sys/riscv/riscv/machdep.c @@ -33,6 +33,7 @@ * SUCH DAMAGE. */ +#include "opt_ddb.h" #include "opt_kstack_pages.h" #include "opt_platform.h" @@ -95,6 +96,10 @@ #include #endif +#ifdef DDB +#include +#endif + #ifdef FDT #include #include @@ -459,7 +464,7 @@ parse_metadata(void) #ifdef DDB ksym_start = MD_FETCH(kmdp, MODINFOMD_SSYM, uintptr_t); ksym_end = MD_FETCH(kmdp, MODINFOMD_ESYM, uintptr_t); - db_fetch_ksymtab(ksym_start, ksym_end); + db_fetch_ksymtab(ksym_start, ksym_end, 0); #endif #ifdef FDT try_load_dtb(kmdp); From nobody Mon Apr 8 20:25:56 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wP2XKKz5HhqR; Mon, 8 Apr 2024 20:25: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 4VD0wN3n3Zz3y9y; Mon, 8 Apr 2024 20:25:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607956; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QfjCH4ur9cXewCJVTik+kwbtfINuFQM6pbYMnqAN9H8=; b=kgP/TBprRYKYm/iFWJXNmtisAC3gZ7fZ08PhF2I6ZfrMphBvip7HXDRaA+PIoPNyXAVj65 yqD8DkRBaG7R/vtsFvVGBNuRPVG8IrqrYE3Vg+3cg9X3323C1cwEt9JUvOEDNrqSfQ9iIl OCmqj2m/ssh4ycf5wngM8D7GHoI5Yy9GTEnVqDbRIfe3fimzO96SeoLa05Iy34U2Nu1lGg uGYSkFLVV5kRfGiaEmmV/8H40x1rnk6rvAfTuOOk2h6K7iiwMZ0fwjOOBB2AWzd1bhGzQP 2dXL6VyLiDfy5vTcMBlhCDynfSVVkhCX1OW640hNOEGbTH9mrhmsjthazCtR1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607956; a=rsa-sha256; cv=none; b=S1A7PBjQ10atRvjh+5QMfgU8TAfn+M032r48a9uSrvBWTlQ3Hp/PEh8SwZ7u1auA3Nz+LM dcRGsjU/0TIRTbaRp9N45qPM85a0bg4NNVF37f/BOlC/+fTESUXIw8wxIg8NyWO8CvZNg6 mowgUF+a1rUrXZAhnEUWD3xmDdPlliOQ7jGwYbMgkrMtDhgRLfnZTy8nAZqu4G40mCiqQU wE2kazvRWAC/FMYX7JChy43K6NAu+Pqp1LkuxXDBHvsD5o+0T0jhnhaW4LQeHUQbey/CIc xJpnt/U5tuxOzW/idB1UHNjs53uoaZZr7dH7sxZpabKKnG+AQxXb0HIWpMqeDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607956; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QfjCH4ur9cXewCJVTik+kwbtfINuFQM6pbYMnqAN9H8=; b=k7fe8vyIRbaFUWOnxzHxZ5HHN6H6utni+//c17/WG3jOfv3stpgKZvVFXCVtUfSu/ysBoO 3e/IOm5z57A4Ngt/meS6CZEcD+YFZlCPpGoMO8lmrCd4X7sGWZPMx5K7fCEGc+/qnDltYQ gFFsp/95UQnJH7aPDrNYHew9soKg1I6hHwRtwF0TdU6cR2KQYelXvihCHRB9rRppS4kGj+ xsCho/rTFOnImFUooZj7pJZVpaBjHbLRx7FRi3vwQfUHG88Tpmrp7GT0WoISFiwO7MLCNj vZUeSayIAdBbE38dvI7X/nHs9PMdHo3rb1TarohL/bZcyhBUILoMsX9zgU+VVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wN36qWzQcW; Mon, 8 Apr 2024 20:25: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 438KPuGd040153; Mon, 8 Apr 2024 20:25:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPuH6040150; Mon, 8 Apr 2024 20:25:56 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:56 GMT Message-Id: <202404082025.438KPuH6040150@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 992262511493 - stable/13 - vmd: Use bus_read/write_* instead of bus_space_read/write_* List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 992262511493351139053a94da58099e746228b1 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=992262511493351139053a94da58099e746228b1 commit 992262511493351139053a94da58099e746228b1 Author: John Baldwin AuthorDate: 2024-02-15 20:26:19 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:57:29 +0000 vmd: Use bus_read/write_* instead of bus_space_read/write_* Using an explicit bus space tag and handle is deprecated. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D43885 (cherry picked from commit 76c678688634e9e2ea5f6369fb979aabddbfe426) --- sys/dev/vmd/vmd.c | 21 ++++++--------------- sys/dev/vmd/vmd.h | 2 -- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/sys/dev/vmd/vmd.c b/sys/dev/vmd/vmd.c index e07f1de4983b..d72ae6152760 100644 --- a/sys/dev/vmd/vmd.c +++ b/sys/dev/vmd/vmd.c @@ -185,14 +185,11 @@ vmd_read_config(device_t dev, u_int b, u_int s, u_int f, u_int reg, int width) switch (width) { case 4: - return (bus_space_read_4(sc->vmd_btag, sc->vmd_bhandle, - offset)); + return (bus_read_4(sc->vmd_regs_res[0], offset)); case 2: - return (bus_space_read_2(sc->vmd_btag, sc->vmd_bhandle, - offset)); + return (bus_read_2(sc->vmd_regs_res[0], offset)); case 1: - return (bus_space_read_1(sc->vmd_btag, sc->vmd_bhandle, - offset)); + return (bus_read_1(sc->vmd_regs_res[0], offset)); default: __assert_unreachable(); return (0xffffffff); @@ -214,14 +211,11 @@ vmd_write_config(device_t dev, u_int b, u_int s, u_int f, u_int reg, switch (width) { case 4: - return (bus_space_write_4(sc->vmd_btag, sc->vmd_bhandle, - offset, val)); + return (bus_write_4(sc->vmd_regs_res[0], offset, val)); case 2: - return (bus_space_write_2(sc->vmd_btag, sc->vmd_bhandle, - offset, val)); + return (bus_write_2(sc->vmd_regs_res[0], offset, val)); case 1: - return (bus_space_write_1(sc->vmd_btag, sc->vmd_bhandle, - offset, val)); + return (bus_write_1(sc->vmd_regs_res[0], offset, val)); default: __assert_unreachable(); } @@ -283,9 +277,6 @@ vmd_attach(device_t dev) } } - sc->vmd_btag = rman_get_bustag(sc->vmd_regs_res[0]); - sc->vmd_bhandle = rman_get_bushandle(sc->vmd_regs_res[0]); - vid = pci_get_vendor(dev); did = pci_get_device(dev); for (t = vmd_devs; t->vmd_name != NULL; t++) { diff --git a/sys/dev/vmd/vmd.h b/sys/dev/vmd/vmd.h index a8156ba88a17..2ab943c07a6d 100644 --- a/sys/dev/vmd/vmd.h +++ b/sys/dev/vmd/vmd.h @@ -53,8 +53,6 @@ struct vmd_softc { #define VMD_MAX_BAR 3 int vmd_regs_rid[VMD_MAX_BAR]; struct resource *vmd_regs_res[VMD_MAX_BAR]; - bus_space_handle_t vmd_bhandle; - bus_space_tag_t vmd_btag; struct vmd_irq *vmd_irq; LIST_HEAD(,vmd_irq_user) vmd_users; int vmd_fist_vector; From nobody Mon Apr 8 20:25:57 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wQ0RrZz5HhqS; Mon, 8 Apr 2024 20:25: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 4VD0wP4ptRz3yBG; Mon, 8 Apr 2024 20:25:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vy6oSYsUnJ/tjpbcMrZVDm0QmX/KTvxyi4Vtm/kTkBg=; b=iV4wUPfo6zh7FkzN6TRhZgpA2d5hUrAGWLUqJbYtKVNTBCSiLvB9NZjZHJ+w8ZdxHm2Ur9 FqJf7e+efCZnRjqJXQZlmBEUIl4g6nPhJlYNt4XpzX8qFdGdAAsa2RBgXgvcj6zLeVrRGr GtaPhvYhRM65Z63whoIIzVQHzrgxmh12LuOyorUIRPn+03SSS7myvGBYvKYigG538rsvfy qtczV/NnDpY0v17zfrsaP1LdBgmj+3zssUr3MZkIexjMslPSdZ1GDhBuI3GVFGf005QDj9 nwzB51NWX5EzwovJnCtIGKrTxo9SOFngwZBJvAGHTk94m8kcF1h0rtIGqr0vBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607957; a=rsa-sha256; cv=none; b=VUoYeQBeuZ990hWtC1cxX4j/f3PpEuRFP444iLds444ZdqfFT7lFIN9qpTkACi1xkhh7kw 0m67Bnfw1oEXL8ZMngECFCiMOENUegGiqOkekwmEQdIHZyvqurusV6Lf8NtbNXT9t3zf8h jLJKZC2G/xBdvHMdXsccdnlIZAVlzLEJeBc2eGAhD1M0Qru/9h80imQ8Lqiq8X6MTb5UQy 9UKKuiNEzPOzMYZKwX/d/VZ5HJVUfAu9s1RjNKd5otcjhTyADV0/PmmsR1ODlM7aihYEqS 8PKAApP+FJ0p9r8i6r+YmuhN4xRUznBFDbwahHry/wdrf0xVE55OGYTHLfvzAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vy6oSYsUnJ/tjpbcMrZVDm0QmX/KTvxyi4Vtm/kTkBg=; b=QYKZgoXr4bcPAzRUZD5he4fmleHXyGXHzBCxzd5jTdC4Xn6e2i6RxfntfEnTytV1KLePNE T3OVDJeyfZ+p4kVmt/xCrOcug5uWuTUMFBJnNfksRhKjhpg5oZhYbHVkz1pzqZTBsRgDHA ilChexX97oczUFJ2NvVi2dx8oDJfSW9ERWo+07zZuiV/j6Y9XP//2rrnWPSslorM9pKz8D aM28uoSbHQjBwf1WYrNAwDGwYxI8WCsCGgc25DH+elAkqsGMJ7Dt0DEh0GQWcyarB6i7IP 31PWPFmfyF+8f2tqNoEDP09XqD7BcgL1n7tD4zd7Zc7/nu8E1q3CKBdcuTvE3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wP4MhczPmB; Mon, 8 Apr 2024 20:25: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 438KPv6n040219; Mon, 8 Apr 2024 20:25:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPvTl040216; Mon, 8 Apr 2024 20:25:57 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:57 GMT Message-Id: <202404082025.438KPvTl040216@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 3798c6487a21 - stable/13 - ipfw: Skip to the start of the loop when following a keep-state rule List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 3798c6487a21454020493517b613cda9a1753faf Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3798c6487a21454020493517b613cda9a1753faf commit 3798c6487a21454020493517b613cda9a1753faf Author: Karim Fodil-Lemelin AuthorDate: 2024-02-16 01:57:51 +0000 Commit: John Baldwin CommitDate: 2024-04-08 17:57:57 +0000 ipfw: Skip to the start of the loop when following a keep-state rule When a packet matches an existing dynamic rule for a keep-state rule, the matching engine advances the "instruction pointer" to the action portion of the rule skipping over the match conditions. However, the code was merely breaking out of the switch statement rather than doing a continue, so the remainder of the loop body after the switch was still executed. If the first action opcode contains an F_NOT but not an F_OR (such as an "untag" action), then match is toggled to 0, and the code exits the inner loop via a break which aborts processing of the actions. To fix, just use a continue instead of a break. PR: 276732 Reviewed by: jhb, ae MFC after: 2 weeks (cherry picked from commit 62b1faa3b7495de22a3225e42dabe6ce8c371e86) --- sys/netpfil/ipfw/ip_fw2.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/netpfil/ipfw/ip_fw2.c b/sys/netpfil/ipfw/ip_fw2.c index 59faaba2f79b..5a96872f9c4f 100644 --- a/sys/netpfil/ipfw/ip_fw2.c +++ b/sys/netpfil/ipfw/ip_fw2.c @@ -2849,8 +2849,7 @@ do { \ cmd = ACTION_PTR(f); l = f->cmd_len - f->act_ofs; cmdlen = 0; - match = 1; - break; + continue; } /* * Dynamic entry not found. If CHECK_STATE, From nobody Mon Apr 8 20:25:59 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wS1z5yz5Hhst; Mon, 8 Apr 2024 20:26: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 4VD0wS0Vp0z3y4p; Mon, 8 Apr 2024 20:26:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lRlfPPg+wG5cZ7XCHKDklyFMlraBNgXobH1S88omXmM=; b=U4WuPeAIY2xNjmYcrtvRa2q431pj3DWQ2ciwh/CV/eyR87xgKpIv3WNTG/nD/5AGgyfW38 Eda+vXthse700Mxr0OqeAoJcciERRa5RezYAv80/ZKW9VTwQF17p0O98ss4zqq8Y36k3UX H5yz0x8x+7Ch733RKQwXYOqxXHSpx5zVIj+7naHVacEr005sm4SsEZroMWx6CaIcv4E8Ty eYKEhfps6Msgvg0CCsjofuUzVsLKCovu3o6IxpWwmT44ub2pRwU5iUwN7RcP68QsgGw0eZ /8VAmiqrQZfXOYcXypo0LXL4AqNsmN3Ips57w+uOxmlmdkZis/pTIHAzQiMZnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607960; a=rsa-sha256; cv=none; b=PhRhBNhKEvXmlL4s5OGRdIPMEiPrl+QEy/Gv3pHeg5Y2xRWfkTg2R8nOCSENAJ9e7DO3nF NJObpAgQvbuYCwLR6D0QOQNFZJoxuj7iP1rChvin+qCqL5TmIY689YHF8eRr5i0hNrFza+ WvhfMlsn59xG+Xr342dZ4t/Ohd9H8Jh8fQ9OP9/szeHOavWptpeXBmdOfB7MKLAiiwD32O TSfVWJoXkkwLLqTxukXL2i3CsOt/d29qygfbMQlJ96MG3H5D7CqzHJS8pWTbWp10f8pYNB qow+SuFnJlvz5z+IlcKg9+onfVhxbuDqmiV6XZHZto9qO1lV7mgXwZc8GP/7QA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lRlfPPg+wG5cZ7XCHKDklyFMlraBNgXobH1S88omXmM=; b=j1vEo8GjlRANjzTS4Q9GPfB6EcdoSaphLkab3XYbirprmF8lkcXsN7OmSdONMflsNkvVnl q6xgENVvkpx51cAi53Oza2uAZO9WKQ3pWMQjom8it9jGhOJVDlvuGRhkTDYd8YS9B9deGo bfnItaiHMOh9JkRRc2ti2k2phyLi3HyzMvlFfcUg1ntX6oBsLx3kv5Bol7SPS1GRDCEVa+ VG8krIEzEYv3TFs95Tou/VFoGhS7BCRXXizaAfRz6OFqI4z6h3/KTv4ZwfoHTXH2k6kAlX LeRgiWbiwag3B6A2zFzoGBN+ipfsK/7lP52CRGOPTzS+nRGu6cBvD9nCKe+ZBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wR6g8SzPmC; Mon, 8 Apr 2024 20:25: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 438KPxwY040338; Mon, 8 Apr 2024 20:25:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPxuD040335; Mon, 8 Apr 2024 20:25:59 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:59 GMT Message-Id: <202404082025.438KPxuD040335@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 4329e6ccfa4a - stable/13 - nvme: Firmware revisions in the firmware slot info logpage are ASCII strings List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 4329e6ccfa4a493933700d267dd4918ba3592a3f Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4329e6ccfa4a493933700d267dd4918ba3592a3f commit 4329e6ccfa4a493933700d267dd4918ba3592a3f Author: John Baldwin AuthorDate: 2024-03-01 22:18:43 +0000 Commit: John Baldwin CommitDate: 2024-04-08 18:01:07 +0000 nvme: Firmware revisions in the firmware slot info logpage are ASCII strings In particular, don't try to byteswap the values as 64-bit integers and always print a non-empty version as a string. Reviewed by: chuck, imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44121 (cherry picked from commit 7485926e09a08fbfe83a9bc908e7d43aaca4c172) --- sbin/nvmecontrol/logpage.c | 13 ++----------- sys/dev/nvme/nvme.h | 14 ++------------ sys/dev/nvme/nvme_ctrlr.c | 4 ---- 3 files changed, 4 insertions(+), 27 deletions(-) diff --git a/sbin/nvmecontrol/logpage.c b/sbin/nvmecontrol/logpage.c index 35944993b32f..ad96c973acdf 100644 --- a/sbin/nvmecontrol/logpage.c +++ b/sbin/nvmecontrol/logpage.c @@ -230,10 +230,6 @@ read_logpage(int fd, uint8_t log_page, uint32_t nsid, uint8_t lsp, nvme_health_information_page_swapbytes( (struct nvme_health_information_page *)payload); break; - case NVME_LOG_FIRMWARE_SLOT: - nvme_firmware_page_swapbytes( - (struct nvme_firmware_page *)payload); - break; case NVME_LOG_CHANGED_NAMESPACE: nvme_ns_list_swapbytes((struct nvme_ns_list *)payload); break; @@ -424,15 +420,10 @@ print_log_firmware(const struct nvme_controller_data *cdata, void *buf, uint32_t else status = "Inactive"; - if (fw->revision[i] == 0LLU) + if (fw->revision[i][0] == '\0') printf("Empty\n"); else - if (isprint(*(char *)&fw->revision[i])) - printf("[%s] %.8s\n", status, - (char *)&fw->revision[i]); - else - printf("[%s] %016jx\n", status, - fw->revision[i]); + printf("[%s] %.8s\n", status, fw->revision[i]); } } diff --git a/sys/dev/nvme/nvme.h b/sys/dev/nvme/nvme.h index 298efb7a19ed..39f9ce1b5907 100644 --- a/sys/dev/nvme/nvme.h +++ b/sys/dev/nvme/nvme.h @@ -1420,7 +1420,8 @@ _Static_assert(sizeof(struct nvme_health_information_page) == 512, "bad size for struct nvme_firmware_page { uint8_t afi; uint8_t reserved[7]; - uint64_t revision[7]; /* revisions for 7 slots */ + /* revisions for 7 slots */ + uint8_t revision[7][NVME_FIRMWARE_REVISION_LENGTH]; uint8_t reserved2[448]; } __packed __aligned(4); @@ -1962,17 +1963,6 @@ void nvme_health_information_page_swapbytes( #endif } -static inline -void nvme_firmware_page_swapbytes(struct nvme_firmware_page *s __unused) -{ -#if _BYTE_ORDER != _LITTLE_ENDIAN - int i; - - for (i = 0; i < 7; i++) - s->revision[i] = le64toh(s->revision[i]); -#endif -} - static inline void nvme_ns_list_swapbytes(struct nvme_ns_list *s __unused) { diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c index bcbc8dc26ee1..a3862113ed75 100644 --- a/sys/dev/nvme/nvme_ctrlr.c +++ b/sys/dev/nvme/nvme_ctrlr.c @@ -704,10 +704,6 @@ nvme_ctrlr_async_event_log_page_cb(void *arg, const struct nvme_completion *cpl) nvme_health_information_page_swapbytes( (struct nvme_health_information_page *)aer->log_page_buffer); break; - case NVME_LOG_FIRMWARE_SLOT: - nvme_firmware_page_swapbytes( - (struct nvme_firmware_page *)aer->log_page_buffer); - break; case NVME_LOG_CHANGED_NAMESPACE: nvme_ns_list_swapbytes( (struct nvme_ns_list *)aer->log_page_buffer); From nobody Mon Apr 8 20:25:58 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wR4SG6z5Hj69; Mon, 8 Apr 2024 20:25: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 4VD0wQ5y47z3yHB; Mon, 8 Apr 2024 20:25:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6tiaT5dM3YIimyQqb3kZWRNF8PK+wmFg/EPmBsFBxz8=; b=W8W3ohxT4Bkxn3yv+zgrn9JhR03LzgxqbS3zTXwnp/ebC/0+0Yc3QBG4tpONQ5Rq1VRnC8 DgGKtm+lFAYFg3FXn/ic7hZcZBvHphnCFpSAon4McmvFrJWKMU1SSK/UZhYkJrdXzCQ0Sf +ppXO1+wJle7VSbZvftsM5ypncifR5YJYKkGHCta26M4kPdI/j8y0YnnJxes7ASRVABqm5 YD1TQi1do6bvfHsrzhMlmaRBRffIvssq0W5JGBbhmUVyY3ct4brvppPJzeweo/b0pr3Cxp PswyJXFeawA2ORRBdOWZIw+MDBN5cLckSykDMenetAwkga0+CZ+Eb6N2kyZX5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607958; a=rsa-sha256; cv=none; b=UB6BKmRgX9dk7D2SKcwN3vmuDwBFLiWd4nda7T9EMhIInws6vJ6SNO/VpABuwTVeDu8Bw8 FZVsMTulpkb6TAM3cUOsnQHoRyeUw69OaPOMDtbx56ktWJHxA8daOgyqkIstSfdzZUZI4G +yTiWLvvWilWFHJQLY+23D4wEhJo8POQC5qFyTR0BHczQrcCesCUef2bTtQWySNZuG2dKk Ml8zIbM7oLtx+buCS+VXoPq6JXryKGygM3il0Z5GZhw9AzBhNVHEKK8xGk3Fz4qTW/e9aK Y3e+uzsI5da/n/nDsk4aZ+27mbTqvfq7EZ0DAdeQRp0dH2/rbwVNzf+DG5SLsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6tiaT5dM3YIimyQqb3kZWRNF8PK+wmFg/EPmBsFBxz8=; b=uss0hx0Fnk8+9mJAJcPRmd02cYC7MM/D09KZlWuKoxzY2Y54YBk1gQ69z3e/f77JE+bFGI WuJQ9S0+SdjU4z27j/tjDlFx0xFrRTngWTzsdSpR29LNHAJoPHAwIU0ZabEO49sqDT+ovf f/RUGPOV7XN0pBqDcAplE82iw2KVgcBnUyp/4RcWMAGoQ/NxRIC4ay59h2dMWqMW3Mg0j5 g/y7/3kVfY1+CgKtoPa96d8ieaNc9+KGijDL/KIWtNP/67mIQ5Ohul8CFDpxpTscXczUim 2N29+lNEP0qk30kunJLw7bYMcmpokzLaPRjiaMTnRT/Gf9Y7j4JzKLWpo9eiAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wQ5YvvzQ28; Mon, 8 Apr 2024 20:25: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 438KPw6Y040274; Mon, 8 Apr 2024 20:25:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KPw3W040271; Mon, 8 Apr 2024 20:25:58 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:25:58 GMT Message-Id: <202404082025.438KPw3W040271@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: b7419f5b5e6f - stable/13 - arm64: Fix typo in pagetable_l0_ttbr0_bootstrap symbol name List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: b7419f5b5e6fdcf88484b8d58bc54a2524f87abe Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b7419f5b5e6fdcf88484b8d58bc54a2524f87abe commit b7419f5b5e6fdcf88484b8d58bc54a2524f87abe Author: Alfredo Mazzinghi AuthorDate: 2024-03-01 18:32:43 +0000 Commit: John Baldwin CommitDate: 2024-04-08 18:00:12 +0000 arm64: Fix typo in pagetable_l0_ttbr0_bootstrap symbol name Obtained from: CheriBSD (cherry picked from commit c6a6ec85a70314b8270e25a06e77e2e7c95c7055) --- sys/arm64/arm64/locore.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index 7d93d1de30c0..a93c95b18f44 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -186,8 +186,8 @@ ENTRY(mpentry) adrp x24, pagetable_l0_ttbr1 add x24, x24, :lo12:pagetable_l0_ttbr1 /* Load the identity page table */ - adrp x27, pagetable_l0_ttbr0_boostrap - add x27, x27, :lo12:pagetable_l0_ttbr0_boostrap + adrp x27, pagetable_l0_ttbr0_bootstrap + add x27, x27, :lo12:pagetable_l0_ttbr0_bootstrap /* Enable the mmu */ bl start_mmu @@ -778,7 +778,7 @@ pagetable_l0_ttbr1: .space PAGE_SIZE pagetable_l1_ttbr0_bootstrap: .space PAGE_SIZE -pagetable_l0_ttbr0_boostrap: +pagetable_l0_ttbr0_bootstrap: .space PAGE_SIZE pagetable_l0_ttbr0: .space PAGE_SIZE From nobody Mon Apr 8 20:26:00 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wT2ZWwz5Hhyv; Mon, 8 Apr 2024 20:26: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 4VD0wT0fhhz3xpY; Mon, 8 Apr 2024 20:26:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HOUt+6jUFqH6IBGs5SZ3EJABXS+jRJzt3t3kQBABqGk=; b=UivEavaoYtMx0hwz02q8L55BSoGlqKmREjkDAAH4j9D+M2zAdKSKmgnxH9IQWMpWwWyY4S zX1q2sDN8qiSkFg7hIv7qoAYMSfQkaIm3Ipfj9iQqMtyHYOnGTOgnPaT5VvbgbKNQ9hkM9 jMrFMfz23e2pGBkX42EW0qeG5L+wb+xrZiDBMDrvO8gyCv2EAIks5gwGuYcDAjY/giMoCh 72Zyx1zCERClsV4A861DRPwsILt7VsC5DGbGgI4ueH5jNR8Uen1esng6TxLQDIw+stx3Xy g1VaIFrHtj3uOqik74eK1ADatJqYqy0mOIiFIOpZYJXGhuwWFVrcuUspFMVO7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607961; a=rsa-sha256; cv=none; b=MVZadQyr6wx2XLyiuEmAK3+XqRw1m2hPUPuhPUulZh4iS7Pis2tvD8kLOGg/M+PM8CHgv/ 2lIz5ptfujKeIlYxv4ad36M+fJamtow6/3j5vt/aGyCIclENN/yUul+0vuQD3dpBskh1GH AGeDemBuKrslvkfkr/yUBo2suGk0ye/p4DChJ8TRKCDwQ4H1yZdvXXIAtfeTYkGJl6tf9h CTzGyHGMPX1WFDmkFw88W/CX5Jm1/CLTbHK1eSpGtXthtOFgZJfDrE/zigW4rs2Ha33XTN MEfs4+quIbMRl3LcHPzaSntCW4znNEZt3DVCfcAEMmhNNhREf0cm01GCLZYcHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HOUt+6jUFqH6IBGs5SZ3EJABXS+jRJzt3t3kQBABqGk=; b=AQWFN2Crp8+Upkawj9YD7zBcL6lazv3IE5pz3FMOYOgkrKP+D6bGPc6XA3Js1LGfg6Gl4L Qn0H27IYQM80XGJySViW18NcCQUFhYBRqD6IbGT27nfJy2Xv9uoA0mYoxQnEm9CQyRxZv/ 26xWBuqmIps/h9y6z91QND29iVD5Svl/4vPGA45MCn+5nJ1S/KGTXyVxWYuTNBhZeC/Vp2 cH7CAU34W7UQTBL9Vjny1iIdcQ/twoT6AmuNrrmF9YwiQ1sUK/Uils3jjxnsYb+uZVOeFi 60rhg28nCeF46eLonj4mftXPaXijsmvqcLQnoLq1BtqCUU7ed+G3XgYl557vHQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wT0GdVzQGT; Mon, 8 Apr 2024 20:26: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 438KQ0xh040407; Mon, 8 Apr 2024 20:26:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KQ0i2040404; Mon, 8 Apr 2024 20:26:00 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:26:00 GMT Message-Id: <202404082026.438KQ0i2040404@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 661e3d4f1548 - stable/13 - nvmecontrol: Update the test for a valid firmare revision slot List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 661e3d4f1548707358c3e1e51eeaf806b0a6f786 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=661e3d4f1548707358c3e1e51eeaf806b0a6f786 commit 661e3d4f1548707358c3e1e51eeaf806b0a6f786 Author: John Baldwin AuthorDate: 2024-03-15 15:18:47 +0000 Commit: John Baldwin CommitDate: 2024-04-08 18:01:32 +0000 nvmecontrol: Update the test for a valid firmare revision slot Reported by: Coverity Scan CID: 1539214 Fixes: 7485926e09a0 nvme: Firmware revisions in the firmware slot info logpage are ASCII strings (cherry picked from commit 1b38f851d809950cfe112c705029f40edd0579b3) --- sbin/nvmecontrol/firmware.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/nvmecontrol/firmware.c b/sbin/nvmecontrol/firmware.c index 256847ef8ac2..80bbff032cf2 100644 --- a/sbin/nvmecontrol/firmware.c +++ b/sbin/nvmecontrol/firmware.c @@ -105,7 +105,7 @@ slot_has_valid_firmware(int fd, int slot) read_logpage(fd, NVME_LOG_FIRMWARE_SLOT, NVME_GLOBAL_NAMESPACE_TAG, 0, 0, 0, &fw, sizeof(fw)); - if (fw.revision[slot-1] != 0LLU) + if (fw.revision[slot-1][0] != '\0') has_fw = true; return (has_fw); From nobody Mon Apr 8 20:26:03 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wW5G3lz5Hhwd; Mon, 8 Apr 2024 20:26: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 4VD0wW3Bn5z3ymK; Mon, 8 Apr 2024 20:26:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XjsoSjW1hc/0TIYup4hWsJO/qvoA1bcizQk7/ENseUs=; b=yuHFR6jYrrQhai6Po3kc/tqVIC+rRzEBpaGrGhVihnEP3gB+dCoOC8uAWKhz5/zcZzLEwJ 4R8ZVCcgeno3K7HfSjHxKnTwiPKl2gKUNMgLFUWH77lgg2GKh7N+GuRNw5Gy2iUHc0ms+B 9qED9RyYFiroaiEXUWKrK/5Ilf9ft+GuOJRzpg00mtFJw7dryNbpGZvozkUQfm8s/ya8/1 AMfy9TZM3RX58PljDko7wMr/FrpxzVMv+pEiSq6Iq5nItvzmJw92/HpHBMAIfPRsnbKpTe Cy80+nhyBKCcl6IeT0ZP17pPqihcy/dKMPaOzK0XI4R4QymLXjG4+wmJ4c8gpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607963; a=rsa-sha256; cv=none; b=dVAm3QgTaOK60U97DP5EF67Uc7N5+bYJFUKDqfBMWEyOMCYhsp5JirPd8/pIHNSJthaye4 vdyigM1wAWIWrYjQMy9yHJoaP2YrUAXS53QmT3E+aUAWAz7Rn4JZd3LMvIp9j9u5jmM/rA JPWSpkUGWBPt9u3MhJumLIKtyhwW18Y3L2SYUcu3KuMPRvMmgSI3LgGKuctOEQOOvEq7Hp eCIJG1L47zzAhB/Fd2i9lk1+rUJTGIti+SxTrygj5v5iA16CACrfUiy8p4oN1H2H6OPk7u vdsdwYURMsuluMSeechMeDGVmfINtKMv2Qku7lW7sssQRjpeZJO8EqKrVTNYGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XjsoSjW1hc/0TIYup4hWsJO/qvoA1bcizQk7/ENseUs=; b=xvSDlW4q+mWJwIqFWCimfxkHADHXnU0usbx7+RFJbpYUrH9VR1I4M9yYSpK9sxHLcJ296U 9X+nCxoXqEqeYc7AYvuN/rjCN/IoyvTI5ynBHM8JuuyFFUB0fe4K2DRtRzw4NICUdeYDrC RfMsk6iAm4tbV5iVtxBuBD57Ziz5h+OKDt0p8mm5WaVyApsUhBbjI8w24UZ/JvdB/EoKm8 178A/+jquq2tOMmQxO7zuZLeOdO7cuM3YOAllD3jSe1wU1G4mo7RF4thv4lqgNkg252Eez dEBL5yR3Vn8RHNJ5K94GSCePWMi86jVSXXJD9hY9uq5xdfKngLtJ3ul2d4c1UA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wW20KgzPmD; Mon, 8 Apr 2024 20:26: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 438KQ3Iv040501; Mon, 8 Apr 2024 20:26:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KQ3B1040498; Mon, 8 Apr 2024 20:26:03 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:26:03 GMT Message-Id: <202404082026.438KQ3B1040498@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: c0ee9e5e410d - stable/13 - arm busdma: Fix parameter types to exclusion_bounce_check List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: c0ee9e5e410dbdbea04e2c30e7162d8e5f6c4076 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c0ee9e5e410dbdbea04e2c30e7162d8e5f6c4076 commit c0ee9e5e410dbdbea04e2c30e7162d8e5f6c4076 Author: John Baldwin AuthorDate: 2024-03-15 17:10:07 +0000 Commit: John Baldwin CommitDate: 2024-04-08 18:05:34 +0000 arm busdma: Fix parameter types to exclusion_bounce_check These are bus addresses not CPU virtual addresses. Reviewed by: andrew Sponsored by: University of Cambridge, Google, Inc. Differential Revision: https://reviews.freebsd.org/D44343 (cherry picked from commit 66658b0f2775824b2a80fb56ca15e6ceae2f8240) --- sys/arm/arm/busdma_machdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm/arm/busdma_machdep.c b/sys/arm/arm/busdma_machdep.c index 9a3378141207..584a71d84546 100644 --- a/sys/arm/arm/busdma_machdep.c +++ b/sys/arm/arm/busdma_machdep.c @@ -284,7 +284,7 @@ SYSINIT(busdma, SI_SUB_KMEM+1, SI_ORDER_FIRST, busdma_init, NULL); * express, so we take a fast out. */ static int -exclusion_bounce_check(vm_offset_t lowaddr, vm_offset_t highaddr) +exclusion_bounce_check(bus_addr_t lowaddr, bus_addr_t highaddr) { int i; From nobody Mon Apr 8 20:26:02 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wV59bvz5Hj6F; Mon, 8 Apr 2024 20:26: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 4VD0wV39JXz3yJH; Mon, 8 Apr 2024 20:26:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4EVIG3Xf5BYE1dP7SN0OTs0cEu9A3Ladz98FDqZAZEU=; b=pVrYmunfk0hjzwLOeGg8MfJAGQrEPqhIKKmR6emUDcpP0WSjHqX7cgrkRiYt6E8Ut5x2tH U8YibaPuD2JgA/kbDarh9ZLh75DT54mJzJOWZM0EcAxhEqqQY3SFQou593l5SjyziA51Bx sytoho/knNpbiFAA2/ap6jap0wYGIO46yp93uB6vudwllJbFcvgOon+aD0vqk6RQQ/Ne9X KE4kBNZcYqt//A/ZUTcd2nAxSaE5kP+PW/BunwrpUbNoDkh//SKrbPLRD0VRj+W8d5uFzl 3k3MS+WVfe2qPfYR5E0e47WBw9VhEZDw3Lv5fWzTkfR0qHck0Y0r5tMTfQN3Hw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607962; a=rsa-sha256; cv=none; b=rf+wSq512lW2omg17mb51JyIiZLMt0Af7jN2WbUeaREgZFiSlr4vonJbzdTlxk7pP+7X4Z SMy/Z7tJOoOMN7EHqjfUUnN1wgXjImVoPoSr9X/hqWHi8iEX4ObE64GYnRKeGX/tugTiSu SB1qxnxxtQwBw5ITFwVfqyPrFB4c5WTrvwkN4C3aqhm9UbOMc0sxi8QrsAPSAfEgsVPDvn //br2mvBX7rD1O3fNmBkY7cU+2llVUcS/PDcVS+YU6dHqMf8yxBGQjSkKlrXP81Ytx+O5t OngoG1iWpf3XKQ3vVzonmfuhRAQrm6Hd2sWQec8iIQcgEm/0BnE75wDb1/dUag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4EVIG3Xf5BYE1dP7SN0OTs0cEu9A3Ladz98FDqZAZEU=; b=pk0X9X6pguLO5R9JeApZQuNG2fQmVjQ1Ust2wERvP6IvaLSCP0KQQ6/VgyV5NsErfAFL5p u7L9i3neLHaNtDI2QAjL8F63DuMTY3OG+O7RAcdKHpNy6i2f6C8XDI0gDsvHSNj8Wjv8Xr Fof5mBJN5s1s8tCY0PkSd42hGm0/RVGzpa1C9HDk+tAtrOiZHlfppesl99Bkn7VsIVn/m9 izSZ6vIN7joQXv9Y+JUvwQO0WYa1fDfpv8EVV1KF5ZjZyHr4ruXvEkVdanrjfKKBqHfO6M IDuCQdb7rKFsDWmilqOmQc8T30V6MQjfzDoW01zdIfLFYiUGZAg5XOQ10GIxqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wV1JbCzQjW; Mon, 8 Apr 2024 20:26: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 438KQ2uE040453; Mon, 8 Apr 2024 20:26:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KQ2qh040450; Mon, 8 Apr 2024 20:26:02 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:26:02 GMT Message-Id: <202404082026.438KQ2qh040450@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: dcedc7b7f29e - stable/13 - .github: Switch to v4 of actions/checkout List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: dcedc7b7f29eaa42152590037bb76fd6fc2d86f2 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=dcedc7b7f29eaa42152590037bb76fd6fc2d86f2 commit dcedc7b7f29eaa42152590037bb76fd6fc2d86f2 Author: John Baldwin AuthorDate: 2024-03-05 05:52:09 +0000 Commit: John Baldwin CommitDate: 2024-04-08 18:03:08 +0000 .github: Switch to v4 of actions/checkout GitHub is emitting a warning that v3 is deprecated due to using Node.js 16. (cherry picked from commit e6dccf00500d7e9e2311b372e28897df7c0421dd) --- .github/workflows/cross-bootstrap-tools.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cross-bootstrap-tools.yml b/.github/workflows/cross-bootstrap-tools.yml index 9630470d0420..47349a517a1f 100644 --- a/.github/workflows/cross-bootstrap-tools.yml +++ b/.github/workflows/cross-bootstrap-tools.yml @@ -37,7 +37,7 @@ jobs: - target_arch: aarch64 target: arm64 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: install packages (Ubuntu) if: runner.os == 'Linux' run: | From nobody Mon Apr 8 20:26:05 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wZ0JFmz5Hj00; Mon, 8 Apr 2024 20:26: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 4VD0wY4qcmz3yvD; Mon, 8 Apr 2024 20:26:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607965; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c0e5uPwC4IpC1IgOOy+sX0GXZZlrq95jiWhX4gcYGdY=; b=VGC9p1nReD3B/4Eerr3fnlEEvkOJdrmDpUs0U1koWpAa6IiOYr3I7t0SWtCchga4IwO2D1 EAHKDj9p238W3XtsSSVBCxjsosSrl32O5UTcVx7Se7y0N9yQniI33YbTcfhNbQGZHG59mq 3kDw1F+P/j3kTFganM31uGfKs3gd7psINcJDAeSJ21HtSsp9UgW5lJUjvtE++njHEfHX4D eNpuYL+p5/1Zk1tYPJZt6aFTK24fHwUpG2ncUo80khuktHa4uokYoucAWIP4C6OgLAtx8C whXoBLNM7MkFEEuC9CSiERaKqh7EvdJXzTKgQ/aBu+XlnNWYuA0CslP7TFw2cQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607965; a=rsa-sha256; cv=none; b=E/WkxqtCAA8lDMOK9cdLcJMEi6n8LULPx+0maFUqurOLFdiqLUbeXB5uCdQUs2xu1rdFuP ImltY92kaXP+7QJiBC74WwCil9ZSHCeIhuZu+TNhrb1PgXYOu/qCitUp2zoJIRnK5NKs2D eITkMMko/XNvG8qBxbKtQ2KZpIieDWzQ4jI9plzuoy+ExGa1BMzKhIQSQqOgpA3zUEyv8d 9H2iTgLOXf5PQncfJYfuar3OZGflzpmEH/d4+LL6hVcslkfZha39RCa9rXCB0dvDYa1fI+ 2/cj+457vlhitqPRSAicpS5YB/CIewVaiJJ1gn2A4uU0GxKAs5Z7VuD1NwEV3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607965; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c0e5uPwC4IpC1IgOOy+sX0GXZZlrq95jiWhX4gcYGdY=; b=A2vfe0GHLXoizj9uj1w2kd/mx/AXqJZI6WAJWD8D+B+6KzrqUi9mW1Kz8EM+i+mSPTtbBc 68TFXZT19l0HBxRJGCCK3EfkjrRA7wR/8kcJ3FbzbhL4aMfmZ8xIMu7Pge4d8A9uXZzxoz GD2j8Q+aj1scQLfWZRo2nkU8D96bMpZ4WqgRLp+3Ap0MLjp75zTLRcH0u/KME2057KG1e8 7xOXSXKc4ToBOondNSIULlHIP3z0T4RB1rMYR7qVYu07OfEdRLI9k+DlaH4pzTFla2pex3 8HNMW5Jz5vl8maKaPLvtpwS9hCb3N1sMlsccscTwxC4NgXx5LKU6nhALM8dnfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wY4Q8kzQRy; Mon, 8 Apr 2024 20:26: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 438KQ5rx040627; Mon, 8 Apr 2024 20:26:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KQ5wF040624; Mon, 8 Apr 2024 20:26:05 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:26:05 GMT Message-Id: <202404082026.438KQ5wF040624@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 092dd9545f65 - stable/13 - ddp: Clear active DDP buffer members to NULL to pacify an assertion List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 092dd9545f65b18967390e269107d85fd309d7be Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=092dd9545f65b18967390e269107d85fd309d7be commit 092dd9545f65b18967390e269107d85fd309d7be Author: John Baldwin AuthorDate: 2024-03-20 22:28:43 +0000 Commit: John Baldwin CommitDate: 2024-04-08 18:06:58 +0000 ddp: Clear active DDP buffer members to NULL to pacify an assertion Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D43999 (cherry picked from commit 25429e274371eba9a90ea27cbf73e88329916e0d) --- sys/dev/cxgbe/tom/t4_ddp.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/dev/cxgbe/tom/t4_ddp.c b/sys/dev/cxgbe/tom/t4_ddp.c index ff63b25c4db0..961e069c1f83 100644 --- a/sys/dev/cxgbe/tom/t4_ddp.c +++ b/sys/dev/cxgbe/tom/t4_ddp.c @@ -186,10 +186,17 @@ free_ddp_buffer(struct tom_data *td, struct ddp_buffer *db) */ if (!aio_clear_cancel_function(db->job)) ddp_complete_one(db->job, 0); +#ifdef INVARIANTS + db->job = NULL; +#endif } - if (db->ps) + if (db->ps) { free_pageset(td, db->ps); +#ifdef INVARIANTS + db->ps = NULL; +#endif + } } void From nobody Mon Apr 8 20:26:04 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VD0wX6zsVz5Hj2L; Mon, 8 Apr 2024 20:26:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VD0wX3mmbz3ynm; Mon, 8 Apr 2024 20:26:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607964; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DUB2OarcR54MCcPM32qcFDvlOPQh9MHp5f4DR3Nuz4k=; b=dgOxI9bcUUw9g/QwmiL15uQ/v16H6cnts8pVTbbOe18kRuzQZHbq7S6+AkapTtLfQ84LQQ xg20J5rp6eeHJoMkJzJ1a6m1aAOuaIIo2uFJNKk3DO0HyfcknH8ygH7rRmDm3tqfBZNuBH AIVyD2DfnEydsrX7XcX+NY8PnWWjjRzHhYF894N7agACjN/IJsCJdsXXIRtcEHOjaUoczd 0vJkBbTF7GcG/oJALP9LvGTkaWQV1loNtbW3IsYW7ILurrQtr/PsWvAGDTDAuHPR/t/LsD E+zOmwtY90n3jsn9XifeuJouzAl6G2oSmniHYkThmmlNpgQPTf7kdnRKdzBFqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712607964; a=rsa-sha256; cv=none; b=MNYffjB6O+IWwBnja+AkubQMhzPraNsUWCsIS+3Gez9iiYBqIzmuyr1+fbSfSt1blwmr8E RYcyyKOctH9Y/q71fQTPQY0Z1b0AKSa/JXohr+obeil8KyTWl33mgW7INxDzSaj2slCgnG yVRS7arFnid1giNk2+jMtBK3jef1ye//1wRpWeaXLuI4SdQ5kmZ2rRC0GThTNXRjDHOT7/ 3vdHd2EM2U8YNXzkeBUxHWzmx9yQkcPAiBi3SCbDeLXip7uNQFkO9fOtfSJTIWbySYX+Ax Dqzy4pcnJeYtWrqFQoVsb5BDukICpf7BDHtP5SMZEvrDDhFRlcrRUAHlkOEYtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712607964; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DUB2OarcR54MCcPM32qcFDvlOPQh9MHp5f4DR3Nuz4k=; b=jlFMojjeBj9mcR4uFzfWOJp/wssCfC62Pp2FuGJwqOCULRzjZVxY2gZQUHzCyhbjFKwETc gDnaN0kENEdSA8TWAIuO8NAoYIHtY0NurBh1/+uZu0MDcWpiNP3rx0wN4adQis2HzrooV2 ZR1uF5tslrQG9UPtzKiXfq4JBj4jG+ruy/rvpSkfvZrg15n9vcm+qz1dskkMfhQ6qi3o7f 8F18vW8SaM2glCwjWLFmT3+VVdiy9sL57YJI6bYngrT+F3cwsJgggyfGfOK0D8/lRiYe/K uF0Hk9DwD5bbkS/BgdJLKPxZi5pUWCsN/B6hgRbJG+58q2ToYAZT3hEoZgezRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VD0wX3M22zQGV; Mon, 8 Apr 2024 20:26: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 438KQ4jT040564; Mon, 8 Apr 2024 20:26:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 438KQ4vo040561; Mon, 8 Apr 2024 20:26:04 GMT (envelope-from git) Date: Mon, 8 Apr 2024 20:26:04 GMT Message-Id: <202404082026.438KQ4vo040561@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 257f36a7dbce - stable/13 - kldxref: Properly handle reading strings near the end of an ELF file List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 257f36a7dbceda3f89c688aaedf0c56883a11f3d Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=257f36a7dbceda3f89c688aaedf0c56883a11f3d commit 257f36a7dbceda3f89c688aaedf0c56883a11f3d Author: John Baldwin AuthorDate: 2024-03-19 00:01:23 +0000 Commit: John Baldwin CommitDate: 2024-04-08 18:06:41 +0000 kldxref: Properly handle reading strings near the end of an ELF file If a string is at or near the end of an input file and the amount of remaining data in the file is smaller than the maximum string size, the pread(2) system call would return a short read which is treated as an error. Instead, add a new helper function for reading a string which permits short reads so long as the data read from the file contains a terminated string. Reported by: jrtc27 Reviewed by: jrtc27 Sponsored by: University of Cambridge, Google, Inc. Differential Revision: https://reviews.freebsd.org/D44419 (cherry picked from commit 785600d0fb13d6f0b4595bf4dbbc048113dda71d) --- usr.sbin/kldxref/ef.c | 9 +-------- usr.sbin/kldxref/ef.h | 4 ++++ usr.sbin/kldxref/ef_obj.c | 9 +-------- usr.sbin/kldxref/elf.c | 18 ++++++++++++++++++ 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/usr.sbin/kldxref/ef.c b/usr.sbin/kldxref/ef.c index 1ef27f2bc54a..77ddada946f2 100644 --- a/usr.sbin/kldxref/ef.c +++ b/usr.sbin/kldxref/ef.c @@ -549,7 +549,6 @@ static int ef_seg_read_string(elf_file_t ef, GElf_Addr address, size_t len, char *dest) { GElf_Off ofs; - int error; ofs = ef_get_offset(ef, address); if (ofs == 0) { @@ -559,13 +558,7 @@ ef_seg_read_string(elf_file_t ef, GElf_Addr address, size_t len, char *dest) return (EFAULT); } - error = elf_read_raw_data(ef->ef_efile, ofs, dest, len); - if (error != 0) - return (error); - if (strnlen(dest, len) == len) - return (EFAULT); - - return (0); + return (elf_read_raw_string(ef->ef_efile, ofs, dest, len)); } int diff --git a/usr.sbin/kldxref/ef.h b/usr.sbin/kldxref/ef.h index 25dc5216b169..9d3dc1b1b435 100644 --- a/usr.sbin/kldxref/ef.h +++ b/usr.sbin/kldxref/ef.h @@ -189,6 +189,10 @@ int elf_read_raw_data(struct elf_file *efile, off_t offset, void *dst, int elf_read_raw_data_alloc(struct elf_file *efile, off_t offset, size_t len, void **out); +/* Reads a single string at the given offset from an ELF file. */ +int elf_read_raw_string(struct elf_file *efile, off_t offset, char *dst, + size_t len); + /* * Read relocated data from an ELF file and return it in a * dynamically-allocated buffer. Note that no translation diff --git a/usr.sbin/kldxref/ef_obj.c b/usr.sbin/kldxref/ef_obj.c index 1274a14c10af..ac83137cd394 100644 --- a/usr.sbin/kldxref/ef_obj.c +++ b/usr.sbin/kldxref/ef_obj.c @@ -248,7 +248,6 @@ static int ef_obj_seg_read_string(elf_file_t ef, GElf_Addr address, size_t len, char *dest) { GElf_Off ofs; - int error; ofs = ef_obj_get_offset(ef, address); if (ofs == 0) { @@ -258,13 +257,7 @@ ef_obj_seg_read_string(elf_file_t ef, GElf_Addr address, size_t len, char *dest) return (EFAULT); } - error = elf_read_raw_data(ef->ef_efile, ofs, dest, len); - if (error != 0) - return (error); - if (strnlen(dest, len) == len) - return (EFAULT); - - return (0); + return (elf_read_raw_string(ef->ef_efile, ofs, dest, len)); } int diff --git a/usr.sbin/kldxref/elf.c b/usr.sbin/kldxref/elf.c index e5fe90169d2c..a93cf996ccc7 100644 --- a/usr.sbin/kldxref/elf.c +++ b/usr.sbin/kldxref/elf.c @@ -197,6 +197,24 @@ elf_read_raw_data_alloc(struct elf_file *efile, off_t offset, size_t len, return (0); } +int +elf_read_raw_string(struct elf_file *efile, off_t offset, char *dst, size_t len) +{ + ssize_t nread; + + nread = pread(efile->ef_fd, dst, len, offset); + if (nread == -1) + return (errno); + if (nread == 0) + return (EIO); + + /* A short read is ok so long as the data contains a terminator. */ + if (strnlen(dst, nread) == nread) + return (EFAULT); + + return (0); +} + int elf_read_data(struct elf_file *efile, Elf_Type type, off_t offset, size_t len, void **out) From nobody Mon Apr 8 20:29:39 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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:47 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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:46 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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:48 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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 04:11:15 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDCFJ07Gjz5GY5Z; Tue, 9 Apr 2024 04:11: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 4VDCFH6NrFz40LX; Tue, 9 Apr 2024 04:11:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712635875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5HML0JfdLawuwUIHmEgQcPFw6iWP2WZu66PrZ6iubHw=; b=r8m3TKP3vxQITf+JDfP1nB3sJCuoWMYfvDVhN4ZRT86x4ZraLe0rSJ+cWfmnO33NY6q4eV etkyxTneF7GtMpXeZPs/CaQXY9gpEpwSFYe5/lFTEYYGLMhJBiWsjrIEW4rczJpR82ydkE 2DEjgI520GNzZrjH8hk0tuBmszuziK1HiTMGuAxQrzP8pUeOY6w/yvE2fLLmclbcYmy4cE TivNlhHn8xZVvLNVkOkd94BNLOI7kpgzzlekDH8Y7UK31+aKNDYTiGlzqzaqVXRA8iXHDx G4xsQrTeBqUMT7zwy1CXloySqwKznfuNhr02I9H177i6XVLbCkLmvUqnahtU6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712635875; a=rsa-sha256; cv=none; b=IkyU6x9mIG5FKjlPmeS//XG1/K/FQ6BdvUpE8KP0tdrLM1jF2FkKBYQrkVb2lREdqgR6ta vvoe8FjneuGRZPtbghRyYTGBamU7TL9zJGcei56wu0IZ7ysW3OnvB/+dR+D3riwUfEcnLw WJS5wD08WA7VfdTKQFQIVlX0LVYm9a8h+pR3M5p4ZFJX/GQR9dZVtjijsDQHE+xf64se0u NVvd+65aWnDw68QR9AzeeFGTOpRanwD8pAaI4XUjyhnrkA/un8IGvOuaaWWGVgQrTD7e3c IXmD5iCODU/vFPAxCo7nj1DgMoFqV6EgNagc99dhl1SXnTyvS3mZyfVG64jBkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712635875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5HML0JfdLawuwUIHmEgQcPFw6iWP2WZu66PrZ6iubHw=; b=OASxYarhs2zZpznfiTEjGwq0ec2AFUAUOE3RR97RgGP68c6R/ArTpzCoWCtkyoDodhgv8i Y3/oCcBsh7XaSDeUR/rPUDUDqx/yy7eVfU6PdgyAA/ci03VUW6STEGQNfKseMtoemGMpO1 tAEL3l2MeISdLOvxTTsQPzG7UGhUTcu3xLqZqHPuLJTwquXXlGRmineUtF2heyCg35KyxP j2n9debtsodq3IgNGqGC/zI0nmajGLChK5Zg9fyLk0TSiO1DXfnHpfQeM2+EP7/2IIQ2ZD EoHIUs7lkrux7emfnJ7cjNOell07syt1+ZdTQp3c7JEodh+s0PHnfWtjm9w3aw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDCFH6068zfch; Tue, 9 Apr 2024 04:11: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 4394BFak033220; Tue, 9 Apr 2024 04:11:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4394BFKO033217; Tue, 9 Apr 2024 04:11:15 GMT (envelope-from git) Date: Tue, 9 Apr 2024 04:11:15 GMT Message-Id: <202404090411.4394BFKO033217@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: f1994d1eb215 - stable/14 - kern linker: Do not unload a module if it has dependants List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: f1994d1eb215a2b7cb644329797dc623ec883120 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=f1994d1eb215a2b7cb644329797dc623ec883120 commit f1994d1eb215a2b7cb644329797dc623ec883120 Author: Zhenlei Huang AuthorDate: 2024-03-26 03:55:45 +0000 Commit: Zhenlei Huang CommitDate: 2024-04-09 04:10:07 +0000 kern linker: Do not unload a module if it has dependants Despite the name, linker_file_unload() will drop a reference and return success when the module file has dependants, i.e. it has more than one reference. When user request to unload such modules then the kernel should reject unambiguously and immediately. PR: 274986 Reviewed by: dfr, dab, jhb MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D42527 (cherry picked from commit f43ff3e15c8b4b161ce09c8ab008abc4222db26b) --- sys/kern/kern_linker.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index 2b220295f78e..69c746fe376d 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -1222,6 +1222,8 @@ kern_kldunload(struct thread *td, int fileid, int flags) printf("kldunload: attempt to unload file that was" " loaded by the kernel\n"); error = EBUSY; + } else if (lf->refs > 1) { + error = EBUSY; } else { lf->userrefs--; error = linker_file_unload(lf, flags); From nobody Tue Apr 9 04:11:16 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDCFK5nKRz5GXgx; Tue, 9 Apr 2024 04:11: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 4VDCFK0K3Lz40YM; Tue, 9 Apr 2024 04:11:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712635877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vk8ja3fYgqpmVLnVaOeorTUHcGvwb606df1TwKLPMUg=; b=ViVUMU5LKIoR0TnnFNDV5/jllO/Bvacj7tlRdOojt9uze4hkDdR/GMDW6gZevGgCl1gQ7p uNcySZdU6J6d/moekdpW8At3UNyhKubKyaGDDcyqyJ5ighDEywqbKNPyhkjY77hfuDWk9e A8BxEvR5N3+NQP0Avf8rdxav/rKX8D36skkXp8TQsvwSpXYmddpxeMpQuWC5VepDbHSMnF 9BX4e/oftjpePeed9mmjj9anVuTwraVkYy6O+0mxXSbfk7TB+vVzR2kkvxq6jfGmElI9aJ qiRPB+iYrlX54TrAH/ysmGrlE3l2uSJ4SCzxyrZNAzHzlRdFMTLLT7TKeP9JIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712635877; a=rsa-sha256; cv=none; b=AD/imKtoKVxlBTae4JPKH5LGaZjnAG7lcRdWyH+2XM+pzxtc+bK/2joRH2E/vBkUrGhdr1 84n4Rs9kXbMkR3PWkLEl5QcKglxSmOPsNL+zI14l/KeghWuf5Oce/ifEEUa9M++kd86oZp FJOtZi0CvydcbWJenFfilJiguTV9bMJXchZWdJUrcQgmWUSxlrCyjm97Dm3Y1HFyjy/Aqs iXYsx64por6/wtjbv8PrPHKOxhVyru5zMcXJ6YN4Tw0JRB8P78WZVyV1V9gc0PG0yBF78D mYZHhcKZgrX3c7wzDd9g6upZYwZz7oeRcO6edhJQP6mzSop4MoMu5xNnKsIPAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712635877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vk8ja3fYgqpmVLnVaOeorTUHcGvwb606df1TwKLPMUg=; b=jzsLqpnxbEJUW4o99qcwmrlyhUS5I7GGa9osZRw7mzAwiFnlVoO02KnTpYClcDpwhfyYhU T0s8fWBkKvlXM9w728A9L1U5NtMpOnkw1j/aDvI+k0FyHPOJF8WkjUmA0+RSnEjOANGG5m PLLdS4MOXmAakjd4aFTGYC7x9Cr7OKafEIGVCke5QAzYPdwqULSUzjZ7HpQtbXxfcmYdcv dXnVnZHhMV39Hu8VP+sohKWjJNT1r6gueVzNYkYZsGd63awagvcszz6B/7qJqgByLs/AS/ 8/Gi7UZq9w5B73habZN+WhZwewa0XB0pXGUFqJEKeKX79F1r1eL55oHxkyvnYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDCFJ72QVzfck; Tue, 9 Apr 2024 04:11: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 4394BGfn033283; Tue, 9 Apr 2024 04:11:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4394BGTU033280; Tue, 9 Apr 2024 04:11:16 GMT (envelope-from git) Date: Tue, 9 Apr 2024 04:11:16 GMT Message-Id: <202404090411.4394BGTU033280@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 7da45efb0921 - stable/14 - kern linker: Do not touch userrefs of the kernel file List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 7da45efb0921e9937353992226f34b25ae197545 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=7da45efb0921e9937353992226f34b25ae197545 commit 7da45efb0921e9937353992226f34b25ae197545 Author: Zhenlei Huang AuthorDate: 2024-03-26 08:47:02 +0000 Commit: Zhenlei Huang CommitDate: 2024-04-09 04:10:25 +0000 kern linker: Do not touch userrefs of the kernel file A nonzero `userrefs` of a linker file indicates that the file, either loaded from kldload(2) or preloaded, can be unloaded via kldunload(2). As for the kernel file, it can be unloaded by the loader but should not be after initialization. This change fixes regression from d9ce8a41eac9 which incidentally increases `userrefs` of the kernel file. Reviewed by: dfr, dab, jhb Fixes: d9ce8a41eac9 kern_linker: Handle module-loading failures in preloaded .ko files MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D42530 (cherry picked from commit 39450eba8e6cd5b83def724481127b58ecc1fcc1) --- sys/kern/kern_linker.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index 69c746fe376d..c9e31437c7c6 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -1786,6 +1786,9 @@ linker_preload_finish(void *arg) sx_xlock(&kld_sx); TAILQ_FOREACH_SAFE(lf, &linker_files, link, nlf) { + if (lf == linker_kernel_file) + continue; + /* * If all of the modules in this file failed to load, unload * the file and return an error of ENOEXEC. (Parity with From nobody Tue Apr 9 04:14:02 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDCJV6p9dz5GY78; Tue, 9 Apr 2024 04:14: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 4VDCJV6HZ1z41Jq; Tue, 9 Apr 2024 04:14:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712636042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hQurx+N9/l4J2ju8BG6HQWMCbKD83zZk9Qa7W8wlczs=; b=aUPNxqJf1I366TlwPGzGX4LrPBdsUNIajLC9obUpy2AELF8+s4TSEpWf8p9SdvoWB9/xnK dX5scykjiNQ8H1sqbUftgiKrGbRiEFQ4V5LDHYHAOLW2uBANq96pqfE4o28K954ptdCu5L xqgi0XVGkzsRkgwGVX/VCyuHJ5OKCzybK3ZcjzHMxiKk4VzyyDwXc0bPL/rY9hER22QFBu KyeVQiG29yOBd+feqYithmGRECc6n00kzfZIydFk9NdEl+geuyo7oOr+Phmt7JtESuPjHt yjV79HJkEJu8bo1JcV1ozuo+IAWUdiBBYmKELhDVYpOXHAJmuWVsi5eH51MnSg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712636042; a=rsa-sha256; cv=none; b=wHLalVys0Jjo3c6MZfONcXlyWxPMu4eTe39gdgikFzmutrvcktjdCbD42TJ/AuVXH4wXKc yIdfspmMBQ+yTHzvScK3hbrrbMKXrj5CzRqZ2CajsGQngz6S+ZuuLO8kPwPnauKJbnJ4ve qYV/4AnkDxXF7hwcGH2c9QS+XqgCJdznIztPxFcXp6L3uq3whc0/WcCWDwsktvIpw7exlC NWsSNsJusURpyY1FEFd+VU4QkibAatbH1bbIvllo4UllvuSn4Ppnu6fRKwgHEmK9Mp73P9 g3FhnVJWwLNM22ANddkYk9PSUK0ln+srxEAfKsGRH0SlxyzkMpDcXns0xftd1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712636042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hQurx+N9/l4J2ju8BG6HQWMCbKD83zZk9Qa7W8wlczs=; b=EMc1tLKsX5TgI1OSvmX7u+yYdd+WWuRZbumQCvjbQ9h1yEaubZHrAFA8qkNuZ492ES0XH4 bBTfbmNb/7ECobe+lpBrGBtnPkaavXsHvDDrxka8iw+6rly2dskbUbLZiYFMSpo4jkTamH D1pKd7lOTsdglNIAhjE9EPqcgTLQpyOVFM8wboMbLHolypgpUqtxwXWoN4mNhP1dDg8yfw HNMTNu5KVJQg+sepmgx8XO0ihMJmhZMVRURVFaxz8Le3W9wESDctbsB2G2LFdbgCbUaxSH WRsoHwXkACz6LF4lPVfwrGda8oCyV8AJXwhgB1ZtMqsSI71iJUL0rxWAXBD99g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDCJV5tz5zg7Z; Tue, 9 Apr 2024 04:14: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 4394E24N039501; Tue, 9 Apr 2024 04:14:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4394E2Mw039498; Tue, 9 Apr 2024 04:14:02 GMT (envelope-from git) Date: Tue, 9 Apr 2024 04:14:02 GMT Message-Id: <202404090414.4394E2Mw039498@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: a2f57656620d - stable/13 - kern linker: Do not unload a module if it has dependants List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: a2f57656620d2ffbb8b79789de34a6fc657286d5 Auto-Submitted: auto-generated The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=a2f57656620d2ffbb8b79789de34a6fc657286d5 commit a2f57656620d2ffbb8b79789de34a6fc657286d5 Author: Zhenlei Huang AuthorDate: 2024-03-26 03:55:45 +0000 Commit: Zhenlei Huang CommitDate: 2024-04-09 04:13:08 +0000 kern linker: Do not unload a module if it has dependants Despite the name, linker_file_unload() will drop a reference and return success when the module file has dependants, i.e. it has more than one reference. When user request to unload such modules then the kernel should reject unambiguously and immediately. PR: 274986 Reviewed by: dfr, dab, jhb MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D42527 (cherry picked from commit f43ff3e15c8b4b161ce09c8ab008abc4222db26b) (cherry picked from commit f1994d1eb215a2b7cb644329797dc623ec883120) --- sys/kern/kern_linker.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index bc2f477997e0..8f83fc4c474f 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -1207,6 +1207,8 @@ kern_kldunload(struct thread *td, int fileid, int flags) printf("kldunload: attempt to unload file that was" " loaded by the kernel\n"); error = EBUSY; + } else if (lf->refs > 1) { + error = EBUSY; } else { lf->userrefs--; error = linker_file_unload(lf, flags); From nobody Tue Apr 9 04:14:03 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDCJX1JRqz5GYJh; Tue, 9 Apr 2024 04:14: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 4VDCJX09X1z40tG; Tue, 9 Apr 2024 04:14:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712636044; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ASeIW4DS9PPYxBcmwARocuXylRQdBNyIP2nIJcyrlZA=; b=iY2BS2Xf1ukHik6RwScBWEr4Q+IlE+No7CbMVRCYemPFTR21TaIgrjpXRDz6M/VnRs8BZb Qpgkjj+f1ygpmcfgYdVdLl+8STGWRzld0tjFfJMLMefP/PbUFpLDY4q2luoZVaut40JR2Z 6qte21IHNIG9ievbDUk3gcyF9z+vDXEdWxtd/OY8Iv5DYZS4y2ordTaAGhaKkE3V9NPRzx ioLBsNBzbtZEA2pdb7T/7XpUMMjev4E7Mujfw2PH4JilzFbpxdECDTjcbUWpSGZLx5MJD+ H4POGm3n3jaPKJKe2ddmAGMCnxj2ZBaly5f+z+frfzIybIavc27jm5epJnIM1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712636044; a=rsa-sha256; cv=none; b=p4nvCXz9ur4sIjFGkHm1p1k9G1+YV7P6tpvxVXTDhXnA5tXAc6rOwIPXGkEwVsovpZGQmv +fDSBYYFLBcKmIK4zgxT8Or1xLp4djkpao0ky0UT2V1d2si/0my5RKN7Iz8ZP3tEreXHdf W72YNANkjioJwLZ88D85Q1pfJlKF+2jMG7pNLLuD+WqWSni0LFKf4tIFSsWZpLLHkDo15E bPTFJMJ1yMdHm+qNTXVYAlI0CfqYpAsk9aSRdZn2yKa+E6aqq5uHM7Qsmf6VrAdgNFUM4N pvpPiXWla2HSTWqXo96dAWxmZRycQ1Xu5TQT3bY/3pmvn864XNitpw+lcXo4ig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712636044; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ASeIW4DS9PPYxBcmwARocuXylRQdBNyIP2nIJcyrlZA=; b=v+ptOvkycFiAD00FwWcmShFEfcpeQ4IIfWfuTjBoNjR6XC9TLIfcDo9z+tGTsQRLgJCzxc 7uutB0gt9A3ILQzcs0wLhyBoTKPN8t19MqaAMwzhlob0trV0UvSm5qKu8IOlIqvWPFQ/5T hgYvG/1/P9IcsK2vixTHTo9RbE9ajNekgFEa2DkQcx+/6GS3pCksgW0euP7o5sXT2erwkS /YqmpD4VOyCGgYxl8xplnSGfAsJPIyRstqaDEfePqbgIi4oBLAwf51nGB9t5TpeKjB0JdJ Juxfu+9nsb/dPjJ7oO1aHzK3qsUcRm/4n10OMRHa9+W+UpBKP6cEooKNJxUZ4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDCJW6vQRzftx; Tue, 9 Apr 2024 04:14: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 4394E3Rd039561; Tue, 9 Apr 2024 04:14:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4394E32R039558; Tue, 9 Apr 2024 04:14:03 GMT (envelope-from git) Date: Tue, 9 Apr 2024 04:14:03 GMT Message-Id: <202404090414.4394E32R039558@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: a7b2c455505a - stable/13 - kern linker: Do not touch userrefs of the kernel file List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: a7b2c455505ab472dabe84788ceb2109138664f1 Auto-Submitted: auto-generated The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=a7b2c455505ab472dabe84788ceb2109138664f1 commit a7b2c455505ab472dabe84788ceb2109138664f1 Author: Zhenlei Huang AuthorDate: 2024-03-26 08:47:02 +0000 Commit: Zhenlei Huang CommitDate: 2024-04-09 04:13:19 +0000 kern linker: Do not touch userrefs of the kernel file A nonzero `userrefs` of a linker file indicates that the file, either loaded from kldload(2) or preloaded, can be unloaded via kldunload(2). As for the kernel file, it can be unloaded by the loader but should not be after initialization. This change fixes regression from d9ce8a41eac9 which incidentally increases `userrefs` of the kernel file. Reviewed by: dfr, dab, jhb Fixes: d9ce8a41eac9 kern_linker: Handle module-loading failures in preloaded .ko files MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D42530 (cherry picked from commit 39450eba8e6cd5b83def724481127b58ecc1fcc1) (cherry picked from commit 7da45efb0921e9937353992226f34b25ae197545) --- sys/kern/kern_linker.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index 8f83fc4c474f..5271d002fba4 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -1771,6 +1771,9 @@ linker_preload_finish(void *arg) sx_xlock(&kld_sx); TAILQ_FOREACH_SAFE(lf, &linker_files, link, nlf) { + if (lf == linker_kernel_file) + continue; + /* * If all of the modules in this file failed to load, unload * the file and return an error of ENOEXEC. (Parity with From nobody Tue Apr 9 08:49:51 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDKQl2by9z5GVxG; Tue, 9 Apr 2024 08:49: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 4VDKQl1gT6z4Y68; Tue, 9 Apr 2024 08:49:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712652591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0vvgoWi2+vw/FFaTn1tWdOLEvg8O7CMDq3Cq3wvBAdM=; b=GQ4+sxhbRllwayPrgcm0TomYzP05OCY73t6zwHk57g3Qup8Txydo3P1+ZkZTpeZfqFpP96 slCjYCtg2+2D4BmTmAl5K/J00rTf3ql8t1R7tDSBlkLqYLxmlfamJHCPTlNgFzvwrvMMk2 eQl0PYPp+gr9/86rQ5z3sbtgBc31Nd3ONuMA8KYor31yMb6Jp3h14l9teyhYpHSdk8WdkL zSeNNVMStOxE6B1Feo3zVnaBGZoIm8NbXnluB/uzJ79d08OatVRft16lIjVD06qwCK/rZU 4/lmcUIs07f5u6bcLCfz1VLuXUISFOwtiUFf+CxrIz1E+Ly2U0i8zFDoOVzuaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712652591; a=rsa-sha256; cv=none; b=Ni+AeO4Nw2Fh0OL4M9epiNNAvfkG09PA4GEnBqAJeyBOTujoYWZQBj5KzDhmsKjmXwnH3Z S4iKQtE7piRWB3krSuAvPJrTY2kvGu+5LqnK6B/gppFwHNoOqgW8GLvUTM4cOL04W3zEbc CtqHSi3ANLQYMDA2go9rsBOVnix/V3dYRlQBqM6XOYxiacMO4XSrHjprV2MS7CFcUqkY5i pZBLRH8OhBPvJm52Y7Tjm7I5hlOF9Q6UkQ98y5pcr4eEVow7CbZ29jByaFsQ7Coz6YBApO WdgNtyDIULqfKe0KN+bSA2TPLGCV3TGVccxf5AXgOaIZl2n6ml07WvuPhFfHSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712652591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0vvgoWi2+vw/FFaTn1tWdOLEvg8O7CMDq3Cq3wvBAdM=; b=tLiCEFaJ2NAe7/ULxCctCHv5g3JSWwQJSi1EOd7wAs28M0J1L0nCuFyqpzpSBO7ZW77NHs 36qIJ6VulvMaWz/o+VOmhE2Bhg04CGvXUr96HlsKFHiuEKFs3Pygx2mejzSELp4pcWbJcw ItfQimeLdn085MMs8orSkaxnMjUEzQidEF31p+CVapriRu/1q17ZOERtK0BAs+1zUSMm9W tlABZ1Tc+9QcsebaK+Akf9mFmW9MlRgUv6whJ4/nHXWQtMolOPj18TqJp9lUOQ5QSQInUn XewV+FdYRVt4OO5NgP/MTG8+x77JfmCoHg7cvyF6lRnEzoJkMXzZIbqSJIm3+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 4VDKQl19yTznRv; Tue, 9 Apr 2024 08:49: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 4398npcO096571; Tue, 9 Apr 2024 08:49:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 4398npvN096568; Tue, 9 Apr 2024 08:49:51 GMT (envelope-from git) Date: Tue, 9 Apr 2024 08:49:51 GMT Message-Id: <202404090849.4398npvN096568@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: e069c451f85e - stable/14 - tmpfs: Improve file time tests. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e069c451f85e5a28f83bf4fba3b668777d2f9193 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e069c451f85e5a28f83bf4fba3b668777d2f9193 commit e069c451f85e5a28f83bf4fba3b668777d2f9193 Author: Dag-Erling Smørgrav AuthorDate: 2024-04-04 13:40:47 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-04-09 08:36:04 +0000 tmpfs: Improve file time tests. * The empty test case no longer fails because 89f1dcb3eb46 causes empty files to bypass the bug. * The bug still exists, so add a test case which exercises it. * While here, tighten up some of the checks. A similar patch has been submitted upstream. PR: 274615 X-MFC-With: 89f1dcb3eb46 Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D44609 (cherry picked from commit 8311bc5f17dec348749f763b82dfe2737bc53cd7) --- contrib/netbsd-tests/fs/tmpfs/t_times.sh | 38 +++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/contrib/netbsd-tests/fs/tmpfs/t_times.sh b/contrib/netbsd-tests/fs/tmpfs/t_times.sh index f7676814fa71..2d8eb6f67aa0 100755 --- a/contrib/netbsd-tests/fs/tmpfs/t_times.sh +++ b/contrib/netbsd-tests/fs/tmpfs/t_times.sh @@ -36,10 +36,6 @@ empty_head() { atf_set "require.user" "root" } empty_body() { - # Begin FreeBSD - atf_expect_fail "Incorrect atime on FreeBSD: PR274615" - # End FreeBSD - test_mount atf_check -s eq:0 -o empty -e empty touch a @@ -49,13 +45,14 @@ empty_body() { [ ${ost_birthtime} -eq ${ost_mtime} ] || atf_fail "Incorrect mtime" sleep 1 - atf_check -s eq:0 -o ignore -e empty cat a + atf_check -s eq:0 -o empty -e empty cat a eval $(stat -s a) || atf_fail "stat failed" [ ${st_atime} -gt ${ost_atime} ] || atf_fail "Incorrect atime" [ ${st_ctime} -eq ${ost_ctime} ] || atf_fail "Incorrect ctime" [ ${st_mtime} -eq ${ost_mtime} ] || atf_fail "Incorrect mtime" sleep 1 + ost_atime=${st_atime} echo foo >a || atf_fail "Write failed" eval $(stat -s a) || atf_fail "stat failed" [ ${st_atime} -gt ${ost_atime} ] || atf_fail "Incorrect atime" @@ -65,6 +62,34 @@ empty_body() { test_unmount } +atf_test_case holey +holey_head() { + atf_set "descr" "Tests that creating a file consisting entirely" \ + "of a hole and later" \ + "manipulating it updates times correctly" + atf_set "require.user" "root" +} +holey_body() { + atf_expect_fail "https://bugs.freebsd.org/274615" + + test_mount + + atf_check -s eq:0 -o empty -e empty truncate -s 8k a + eval $(stat -s a | sed -e 's|st_|ost_|g') || atf_fail "stat failed" + [ ${ost_birthtime} -eq ${ost_atime} ] || atf_fail "Incorrect atime" + [ ${ost_birthtime} -eq ${ost_ctime} ] || atf_fail "Incorrect ctime" + [ ${ost_birthtime} -eq ${ost_mtime} ] || atf_fail "Incorrect mtime" + + sleep 1 + atf_check -s eq:0 -o ignore -e empty cat a + eval $(stat -s a) || atf_fail "stat failed" + [ ${st_atime} -gt ${ost_atime} ] || atf_fail "Incorrect atime" + [ ${st_ctime} -eq ${ost_ctime} ] || atf_fail "Incorrect ctime" + [ ${st_mtime} -eq ${ost_mtime} ] || atf_fail "Incorrect mtime" + + test_unmount +} + atf_test_case non_empty non_empty_head() { atf_set "descr" "Tests that creating a non-empty file and later" \ @@ -78,7 +103,7 @@ non_empty_body() { eval $(stat -s b | sed -e 's|st_|ost_|g') || atf_fail "stat failed" sleep 1 - atf_check -s eq:0 -o ignore -e empty cat b + atf_check -s eq:0 -o inline:"foo\n" -e empty cat b eval $(stat -s b) || atf_fail "stat failed" [ ${st_atime} -gt ${ost_atime} ] || atf_fail "Incorrect atime" [ ${st_ctime} -eq ${ost_ctime} ] || atf_fail "Incorrect ctime" @@ -139,6 +164,7 @@ atf_init_test_cases() { . $(atf_get_srcdir)/h_funcs.subr atf_add_test_case empty + atf_add_test_case holey atf_add_test_case non_empty atf_add_test_case link atf_add_test_case rename From nobody Tue Apr 9 10:06:42 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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 10:08:17 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDM9F2cvqz5Gdkv; Tue, 9 Apr 2024 10:08: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 4VDM9F1hbRz4g03; Tue, 9 Apr 2024 10:08:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712657297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1udsi19u6g3vMjw2IpDfQluLYgExB53R4cdxMXXnLGc=; b=sFsYhZhN/kNQKE0VYHsJwWJN+8cnqgI+mvc0OTGZYKMnry/Pa4Slh9q46C8SchwO5iVgEo X8j3S7kLk7UxrbYVXcBXhSwFoAOFII6kQheW1F4UsGETiyWG+193d8ZjpIsKm61I2Xnn5c uXsbTV5fT0xOOepH6AZaeLSiLzZiHp7q9/UX1joQMcXjJdbq0b53G6XpFeijf5dbHJWDdq WWDJX5PEia2ip3CycL7JbJZmEWN9V1+oLMCmagoXj+CTFDoZvws4s8i+MB/bWc6iaSVWGr TssDoPgkmu+G1M0knXM7+Gef7yYAa1A+WY38M4QmzC7SRLtYSMY+8Ao+qzwpPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712657297; a=rsa-sha256; cv=none; b=mLxrdFT3jo5Qenxi4uOFDnVKJ/sAigq22kVCugGSIYeqDhji6kuEKQjs1iy0NQgj94NV7I MNfnP6on8eIWCSvxk6iPcHeltOuvG/3U5glfLeLqPrJXrxDN3+ROI0CS8KZb6yILCJ4CHC JKa6q0bygXOPE2OjDFL98LgLfn5Z5qndCNSrVYQIk+ycnx7qgQ7K59Gx+h5vcVIAcP5C+R 1+gX48Yies55xd75dFsoTHgLexmazl2FxgKA6r7a5WerfO2G8lH4VwmkuXxWMw6x2T/NJV i9gSffeAtFLOVBWnzADIQnOzXivg86ONII82P4mz5EeFlrK8RNRbf0vjKRQksw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712657297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1udsi19u6g3vMjw2IpDfQluLYgExB53R4cdxMXXnLGc=; b=X+hD94hBibLH2DiVVci1IuoDeth81iEXFsghog9O7QSmtdwulolIO4h7cVmSKApTlJ8B95 S0CusTFmeDL5xogy6EZAvc3YPrnq6fY3/IMJw0RY7duy48TyJtg3BqjMfGF7khkiSh0GnO wzIxPQ0XWCxaLnqda7qCapepVrNsYnlrpZR0+VHyYlRzfrc2hsClt8G6byQt6R8oeIIH1q DSp1WcpJoW1xtplTQn2vkX2+6bcM7UdC5qCbLkgDn0+B5qE3jBSaCGAPmGW6768FnJjtZ5 04T3xD4WjS9+oaL/rCjHKtIs3K+LCu1IpkL/xChDbQVtiQZVMR7uR/wzbtvk1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDM9F1HxRzql4; Tue, 9 Apr 2024 10:08: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 439A8HLQ033118; Tue, 9 Apr 2024 10:08:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439A8HwA033115; Tue, 9 Apr 2024 10:08:17 GMT (envelope-from git) Date: Tue, 9 Apr 2024 10:08:17 GMT Message-Id: <202404091008.439A8HwA033115@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: 9407889ec214 - stable/14 - MFC: if_bridge: use IF_MINMTU List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9407889ec214893ca639468e762efc4ba3875058 Auto-Submitted: auto-generated The branch stable/14 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=9407889ec214893ca639468e762efc4ba3875058 commit 9407889ec214893ca639468e762efc4ba3875058 Author: Eugene Grosbein AuthorDate: 2024-04-01 03:31:51 +0000 Commit: Eugene Grosbein CommitDate: 2024-04-09 10:07:45 +0000 MFC: if_bridge: use IF_MINMTU Replace incorrect constant 576 with IF_MINMTU to check for minumum MTU. This unbreaks bridging tap interfaces with small mtu. (cherry picked from commit 319a5d086b50f38618b62c78e83b12931f00b508) --- sys/net/if_bridge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index fe5de468bf28..31758733adb1 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -960,7 +960,7 @@ bridge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) case SIOCSIFMTU: oldmtu = sc->sc_ifp->if_mtu; - if (ifr->ifr_mtu < 576) { + if (ifr->ifr_mtu < IF_MINMTU) { error = EINVAL; break; } From nobody Tue Apr 9 10:23:26 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDMVk4gcxz5GgH5; Tue, 9 Apr 2024 10:23: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 4VDMVk3v9Cz4h4r; Tue, 9 Apr 2024 10:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712658206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DHDWiyvi4MfXY8GDZ4Z/4qQpvwWtOG5iJi0KCvZZwzs=; b=QzDM1AdX984M4qeqgml9ryx3vJzcCv3MN0G4F/WoSOOnA1tnllt5SLa55bMo4kZU5g8kue eLmkFBNGgsbfW/9XpjWZAkXP5Pcdy9Vv+siJQIahw4BSQrxiVDTUoKFkANB8TVBxn/snD8 0al+WHGXQM2Cz93/erHcGspM3G8KmXtNvrvP2sYzuwNIccLiwi5pinEHAcN14lu2toeZR0 w7uWw0oKvaSkI+A+PiOpOrj/bAf8QMRCAvuSBX+5eRpG8cuu63Qb4K9rKtpMBQQBmuDKuf X9LHiBQSgiPp7MN4x4jJOdZxuVeBrcuEk+uco6fLUMUUdu5hvwi0qh+p+zr5WA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712658206; a=rsa-sha256; cv=none; b=alWe0X/35pCAAa72fBFp+KHxePQtq8bkfsHFtIbAmcmcQPupr8rjQu9QIg5xAzcrIxLdxO EAuBt38oggijLb3vOOL6Fq6xh8ncV6NJhfEU/I5dPugGxu4kI1mb1n1fUdBLEao6VUF8LN E9CT4lINKypR6NqGDLaDHjglSaTEIYoAh3U4mH/p58mqcx5sRVU/iGxNSo8NmDM5hpSqr+ u2ancqoDXT7F6uI5+pj30+9v1SsveGbMi2mTHvoDUXB5JG52C5KdkdlVa3HOVfjovvld29 3DwiELuJ/GYDMiO2vcs5cCLDytuTtx++rKj7PfMtVLFgmQI8tQqQUuZimm0H6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712658206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DHDWiyvi4MfXY8GDZ4Z/4qQpvwWtOG5iJi0KCvZZwzs=; b=EOIM+CKT+ASh/ejAUcl6eX56vJd/YT80XrubciqmOSjSRg2ukL9tSsuuZ0fHDGvktZKlzL YBKvzCxkHiVhfnsSbrkS60XnDG/X+tEw0T8It4DvO2eJu8w72TExmrODfwiSvbUB2w9RRz 7ozY2YOjZp/lDPWylzpXWpYP4hGqgbFmCWMU+/YcW15I+APIayiP485IYR746e6/guuxhu Aqo4QBD+yopubMnjuLrYrGCIrk9qTZzM7KDXO8yPARr95Uw95c5WulwvPHTJobI+S1zh2o 2Aj3xvzOUMc9K1Gra93eNSMlFVqGqCDybplfgXDmhYAppT56ns1E2sVyD4+l6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDMVk3TYDzrQg; Tue, 9 Apr 2024 10:23: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 439ANQR8064885; Tue, 9 Apr 2024 10:23:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439ANQU7064882; Tue, 9 Apr 2024 10:23:26 GMT (envelope-from git) Date: Tue, 9 Apr 2024 10:23:26 GMT Message-Id: <202404091023.439ANQU7064882@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: d3ce1a1b3780 - stable/13 - MFC: if_bridge: use IF_MINMTU List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d3ce1a1b3780bc88475f23c5005d814e1826f46a Auto-Submitted: auto-generated The branch stable/13 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=d3ce1a1b3780bc88475f23c5005d814e1826f46a commit d3ce1a1b3780bc88475f23c5005d814e1826f46a Author: Eugene Grosbein AuthorDate: 2024-04-01 03:31:51 +0000 Commit: Eugene Grosbein CommitDate: 2024-04-09 10:22:38 +0000 MFC: if_bridge: use IF_MINMTU Replace incorrect constant 576 with IF_MINMTU to check for minimum MTU. This unbreaks bridging tap interfaces with small mtu. MFC after: 1 week --- sys/net/if_bridge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 8982dc61aec5..662b425bc89e 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -945,7 +945,7 @@ bridge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case SIOCSIFMTU: - if (ifr->ifr_mtu < 576) { + if (ifr->ifr_mtu < IF_MINMTU) { error = EINVAL; break; } From nobody Tue Apr 9 10:51:24 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDN705G4wz5Gjbr; Tue, 9 Apr 2024 10:51: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 4VDN703RCRz4kJJ; Tue, 9 Apr 2024 10:51:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712659884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iCt3JfJ0zHH2MfwJg2fvkM2aN+dnHR9rNca6CuIok0A=; b=Tvbt7kxlIucORq57uOyPKJYuuOlolXFxYcuQK9avn4FSHrnhLAbqkY6IAhwkYqBIPNABml etUvysTO7SfVEgYwK0LV7BHptaV6yLWEq/pnY8Q7QAv/IUno8oJicGLEY1h89cSwffRakY WHik3+zg9Lq9OTA47vEGypUN0y9oizBK40aTnloAduTviNEUShvxDostvgWpEPXxvnFLNh +t1svk5vB2Fjr70xjSVBYgoC6ttD4q0t/7VJY39chlmGA1whVE28mAl9WovVRBq5i66WRA 94+4vGQmpfgEGmtHBm62roWiK6u2vk1UfXWjUy/T4Kz3ieCbxoLIhr1oRqDg4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712659884; a=rsa-sha256; cv=none; b=wWwsSrsmKqTRlMNZKyr3z++wY61s4fsLPKbVXp0aAokxWnHK5nrkMu2UXS0DGAFaVuP4p7 P6PMRuvnDoAsYcEMaHefMYoN5G6X2iLRY46xDoDjNlTs7+RjQLesBTt29FbDaWrDVAZ4AC NlgeCrIezIX2eFPEdLo7YQDgPZxEuEDEy3TMymTmeF5xrNA8Du6aK6Vzy2bQunwPBlXnTj 9KYev2WUVDbE7sCImnkKNakpKXS8+uiivgwutwjHq3yPLn78ebuKtAPViwz+tHxEUJ8zp2 T7KQOljrzNos+it/dXUMYVoMkLhguBji55Dyzjj68beDIWQV/YRn0wfk9m/y/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=1712659884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iCt3JfJ0zHH2MfwJg2fvkM2aN+dnHR9rNca6CuIok0A=; b=RKsas+k9UnrucE1B8zabrKTkFVNhC8EQZBN2Zia7+M5q7VtXA5Sxo1SHpqUILShzxvzNxX BLr744f+Wqq+d9PoNUUhTFk6E2Oc7BWvWTSwAGMA0cNl7pc3dqp7BFXKc+bBMyGYMftGFi eQKumegPBUudw1Xc7ICmKQSli44XjKwGoLc8fsbPrmLWpXVXchvDJgLCLkBdzZs6usbrUt CHBZXG638P9Vp6tBaSAaFNUEKwvv3DSIMSBFGb64eV1C5l/cVVAq+8+dRu7CNxPzPLX0oy zaBlcTV+cpmvEKeERDlK5FUnanRqnnVSFHXmfEFoMNJ3CuJSf3bT11eeSTag1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDN702ycszrSG; Tue, 9 Apr 2024 10:51: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 439ApOZn012136; Tue, 9 Apr 2024 10:51:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439ApObt012133; Tue, 9 Apr 2024 10:51:24 GMT (envelope-from git) Date: Tue, 9 Apr 2024 10:51:24 GMT Message-Id: <202404091051.439ApObt012133@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: 1879f7affbf8 - stable/13 - MFC: if_bridge: change MTU for new members List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1879f7affbf80c701c76081b2b8511f4c7dd81f5 Auto-Submitted: auto-generated The branch stable/13 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=1879f7affbf80c701c76081b2b8511f4c7dd81f5 commit 1879f7affbf80c701c76081b2b8511f4c7dd81f5 Author: Eugene Grosbein AuthorDate: 2024-04-09 10:49:05 +0000 Commit: Eugene Grosbein CommitDate: 2024-04-09 10:50:20 +0000 MFC: if_bridge: change MTU for new members Rather than reject new bridge members because they have the wrong MTU change it to match the bridge. If that fails, reject the new interface. PR: 264883 Different Revision: https://reviews.freebsd.org/D35597 (cherry picked from commit 1865ebfb12ddaf3d0ff1458e6152b3cb1f1bdee8) --- sys/net/if_bridge.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 662b425bc89e..e0fe45e3d326 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -945,6 +945,8 @@ bridge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case SIOCSIFMTU: + oldmtu = sc->sc_ifp->if_mtu; + if (ifr->ifr_mtu < IF_MINMTU) { error = EINVAL; break; @@ -954,17 +956,27 @@ bridge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; } CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { - if (bif->bif_ifp->if_mtu != ifr->ifr_mtu) { - log(LOG_NOTICE, "%s: invalid MTU: %u(%s)" - " != %d\n", sc->sc_ifp->if_xname, - bif->bif_ifp->if_mtu, - bif->bif_ifp->if_xname, ifr->ifr_mtu); + error = (*bif->bif_ifp->if_ioctl)(bif->bif_ifp, + SIOCSIFMTU, (caddr_t)ifr); + if (error != 0) { + log(LOG_NOTICE, "%s: invalid MTU: %u for" + " member %s\n", sc->sc_ifp->if_xname, + ifr->ifr_mtu, + bif->bif_ifp->if_xname); error = EINVAL; break; } } - if (!error) + if (error) { + /* Restore the previous MTU on all member interfaces. */ + ifr->ifr_mtu = oldmtu; + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + (*bif->bif_ifp->if_ioctl)(bif->bif_ifp, + SIOCSIFMTU, (caddr_t)ifr); + } + } else { sc->sc_ifp->if_mtu = ifr->ifr_mtu; + } break; default: /* From nobody Tue Apr 9 13:36:05 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDRn16L0wz5H2HP; Tue, 9 Apr 2024 13:36: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 4VDRn15SW1z43sK; Tue, 9 Apr 2024 13:36:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712669765; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F4Wgtn91x9nVlBCHfP6Vr53y+98miW9HzWNZAM2EaTU=; b=g1t/5eXNzV4nKFyMdZoDzSevslbf1/kNGwchfmo4O8ES4QUuBB4xOTjlkNeKMVaSt2xpGV koJ5uqWsH1Pszjfmy9gfEr6trBtGHGltCcriUVBv88HCW65qMI2dtb0Z4NIQeBrhfeo36x V3QvjJHo3YSlWo0h5GAYPLtbG8cX0oAaKInkeGJoM56RhyRB+ZCFUEP4b5MaR6DgABBtjC 7OFxTO6pb/zaozwaQ/lUqibPWCV0GCRbAHKkqDdTxVwccl6wKcE/Mnps6TtKf45+8zuWHo Hgw2vwMAz2exqeHnaWavgb0Wi771mFxnDNJrr2S1MAn/bwxe+7mZGC1lVwWGEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712669765; a=rsa-sha256; cv=none; b=e2dRyKk/mxZxMJp/OpLK7NJ4yZmF/wGXkdBUK3mfGkF11MAHF+5Z5Hg4G/Mefzqj3HJNxX +hn+ibY1JqMBT3SNPBrSWcPI16ximncX935viZ5Qk6fGBhpsnLbH6VpitEV/um4xhvZYAv 0z2L4j/XzWmsLyKvdilrXzJ9LEBwgMpymcpv2JUXNP5mjxBnmocKDEYL3nlpdzuWEQek93 RSlhXssKwD7wBX2jthx7X80bdKNRvBOeQi3zuTcOl5D3jEPEaeIypzIN0uwU/rrQYDstzh Q+tr4f9h/gKnSZiTU62BsXH45XelJy17Jo+HUDITdqEAK1YlPG1dICnYCfl+aA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712669765; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F4Wgtn91x9nVlBCHfP6Vr53y+98miW9HzWNZAM2EaTU=; b=BkPh34EjgYuUZERKchEe5LpwAQ326RhSRlPYaZoO3f7ro+I4ntT4qoJYWQlFwx6A3HpQT9 9snJhrPYdHjeMETxYq+bnt3v6AdXbrEyuvqyUkXF6MgH07/tYoimDS3EBCCb8v0WVbpidq V8xLD8+iV75wUyuAoYkIuUDmNwBNB0XJFbbwpS9rXp/c+fufy7n1wCK1i7UdTUjlfS+RpO iDGgX46Qb99dDmEux1JJLToRrCfT8M+L6rhZLF38l7bo037nPsySRrVJmZG6Ot1sH2vaBa brx2mGUF7XzQtxSvLbyjby39E55ayeOu9gvzlTebHpMydjkSitSZ/Ckm5fQtPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDRn153lVzx6B; Tue, 9 Apr 2024 13:36: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 439Da5Ps086542; Tue, 9 Apr 2024 13:36:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439Da5BV086539; Tue, 9 Apr 2024 13:36:05 GMT (envelope-from git) Date: Tue, 9 Apr 2024 13:36:05 GMT Message-Id: <202404091336.439Da5BV086539@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 7ced57106295 - stable/14 - ccdconfig: reference gpart rather than fdisk and disklabel List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7ced57106295ac92a0584ea03e0a05b66973ed73 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=7ced57106295ac92a0584ea03e0a05b66973ed73 commit 7ced57106295ac92a0584ea03e0a05b66973ed73 Author: Ed Maste AuthorDate: 2024-01-23 18:23:44 +0000 Commit: Ed Maste CommitDate: 2024-04-09 13:35:28 +0000 ccdconfig: reference gpart rather than fdisk and disklabel fdisk and disklabel are legacy tools for legacy disk partitioning schemes. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D43564 (cherry picked from commit 8669e516f0e6f48a5017db9e5f4768275f1deaa8) --- sbin/ccdconfig/ccdconfig.8 | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sbin/ccdconfig/ccdconfig.8 b/sbin/ccdconfig/ccdconfig.8 index 4014a36b0771..07fa3e6348fc 100644 --- a/sbin/ccdconfig/ccdconfig.8 +++ b/sbin/ccdconfig/ccdconfig.8 @@ -27,7 +27,7 @@ .\" .\" $NetBSD: ccdconfig.8,v 1.4 1996/02/28 01:01:17 thorpej Exp $ .\" -.Dd January 24, 2024 +.Dd March 22, 2024 .Dt CCDCONFIG 8 .Os .Sh NAME @@ -176,9 +176,8 @@ ccdconfig -c /dev/ccd0 32 linux /dev/ada0s1 /dev/ada0s2 .Ed .Pp When you create a new ccd disk you generally want to -.Xr fdisk 8 -and -.Xr disklabel 8 +partition it using +.Xr gpart 8 it before doing anything else. Beware that changing any ccd parameters: interleave, flags, or the device list making up the ccd disk, will usually destroy any prior @@ -206,8 +205,7 @@ and .Sh SEE ALSO .Xr dd 1 , .Xr ccd 4 , -.Xr disklabel 8 , -.Xr fdisk 8 , +.Xr gpart 8 , .Xr gvinum 8 , .Xr rc 8 .Sh HISTORY From nobody Tue Apr 9 13:38:12 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDRqT13l3z5H2Mp; Tue, 9 Apr 2024 13:38: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 4VDRqT0YD8z44Rq; Tue, 9 Apr 2024 13:38:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712669893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5jPLbfgTV957YGUGSxDAt8QnXkLEqIrEkCfESnXSZco=; b=FvMgfwV3jDvXWD1w5xedvflOMPwnW0WTlheVxZHOKlQLYXSXtmWV+EbrDB/yMMkquWUQZE sFZVauh8SQs3+sFM4uxuGXytA4aq3NR5WgQ+TlbI/i7ALHLWNvPiyCqZ8MF3VTS0K/8ZFd Q/cxcjavF/hFY+Ah24z4lAec+uP0GoYOszD0Eu3pYaOE+SDhmqjNeahCDin/Cp4z9A7oZF AMA8M/2dy3EFIko4exF0bbg7nCGd+3+j+H6b5ghAWjIY8p064ROgQ76YGaZNdA9kblwEEx aybERob0oRvQn4cG90p5CzLiOYaWygr3ol2yFlB7kDDqgdombY20lAjuyOZduA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712669893; a=rsa-sha256; cv=none; b=dLT5SAwK0ytsbK7v4sdRjrpU1HZfUrKA+koVsWy4ZQ0OEB+ioBTfb5gaxng+0VZmUQiauK +cR3kdRau/SSLBF7dZT3tLMjjpKBtTYjoipM3E7FCLFbTNWd+WOjSBqV35J3VPbn3Yw+fY j+okXgq3lpSfFqonh2VLNRq6rE3di5cHtfdPXPmv9ob+zLBOKez7TtS4ZjYMN9chAtHOUe J/RVV3UeEr8XtjVkMCNQ7vsxOsbzzsymG+MR31CfEwS60BQgOl7aD5ORDCHUS2XH2T6l9Z 0ratRG8dgdFJR/S7SIRWcXGFCvDPIPCTK+Bxw/MhL8A2p+kkenu0+LMNwPJ32A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712669893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5jPLbfgTV957YGUGSxDAt8QnXkLEqIrEkCfESnXSZco=; b=pm8kFMNUqmyDamBtZ4fiE72Vkm5wkFQRifhfGvNjQMCbVqT+092lzAgul8Qh4nmryZVt1G Xi7/S/yxFABvRGndobd6YtLSim5GUJS3FehKVwrwprnu5maUQowuV5sUMb8Se2JIMVZB6n 49aO4HzBbsTYD6ps3/bOhf/t0yy8VQ2nHv4BSSVTpiJXRFXdNtXKqzbWFh65flsaz/rh+i Cbsa/8Lcw0LMsn63jZ7jEHdsHDIUvvCzUnbhQ7J+oWIVjFxNZG/8EkPyFn4XsMREClSmDn slRV5P8OihDSzHkXNJ79loqWspGpbNjL5QbXy960rqovCtH3LP+M7U80c4pPxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDRqT02W1zwCQ; Tue, 9 Apr 2024 13:38: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 439DcCPC086934; Tue, 9 Apr 2024 13:38:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439DcCFH086931; Tue, 9 Apr 2024 13:38:12 GMT (envelope-from git) Date: Tue, 9 Apr 2024 13:38:12 GMT Message-Id: <202404091338.439DcCFH086931@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: da7a43501881 - stable/13 - ccdconfig: remove obsolete references to BSD disklabels List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: da7a43501881469ca0740b24322116d3314b0a58 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=da7a43501881469ca0740b24322116d3314b0a58 commit da7a43501881469ca0740b24322116d3314b0a58 Author: Ed Maste AuthorDate: 2024-01-24 15:05:09 +0000 Commit: Ed Maste CommitDate: 2024-04-09 13:37:28 +0000 ccdconfig: remove obsolete references to BSD disklabels ccd(4) previoulsy had knowledge of BSD disklabels, and relied on their use on the underlying disks, but this hasn't been the case since 2003 (commit 0f76d6d822f4). Remove disklabel references from the man page. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D43574 (cherry picked from commit a3ed434a69c903fa58ef001c11c9466166d67c92) (cherry picked from commit b5ae8f217122258764e4c187dbfee712dbe6893e) --- sbin/ccdconfig/ccdconfig.8 | 42 +----------------------------------------- 1 file changed, 1 insertion(+), 41 deletions(-) diff --git a/sbin/ccdconfig/ccdconfig.8 b/sbin/ccdconfig/ccdconfig.8 index 2c7460f291f6..4014a36b0771 100644 --- a/sbin/ccdconfig/ccdconfig.8 +++ b/sbin/ccdconfig/ccdconfig.8 @@ -27,7 +27,7 @@ .\" .\" $NetBSD: ccdconfig.8,v 1.4 1996/02/28 01:01:17 thorpej Exp $ .\" -.Dd March 17, 2022 +.Dd January 24, 2024 .Dt CCDCONFIG 8 .Os .Sh NAME @@ -122,13 +122,6 @@ argument is optional. ccd0 16 none /dev/da2s1 /dev/da3s1 .Ed .Pp -The component devices need to name partitions of type -.Li FS_BSDFFS -(or -.Dq 4.2BSD -as shown by -.Xr disklabel 8 ) . -.Pp If you want to use the .Tn Linux .Xr md 4 @@ -187,30 +180,6 @@ When you create a new ccd disk you generally want to and .Xr disklabel 8 it before doing anything else. -Once you create the initial label you can -edit it, adding additional partitions. -The label itself takes up the first -16 sectors of the ccd disk. -If all you are doing is creating file systems -with newfs, you do not have to worry about this as newfs will skip the -label area. -However, if you intend to -.Xr dd 1 -to or from a ccd partition it is usually a good idea to construct the -partition such that it does not overlap the label area. -For example, if -you have A ccd disk with 10000 sectors you might create a 'd' partition -with offset 16 and size 9984. -.Bd -literal -# disklabel ccd0 > /tmp/disklabel.ccd0 -# disklabel -R ccd0 /tmp/disklabel.ccd0 -# disklabel -e ccd0 -.Ed -.Pp -The disklabeling of a ccd disk is usually a one-time affair. -If you reboot the machine and reconfigure the ccd disk, -the disklabel you -had created before will still be there and not require reinitialization. Beware that changing any ccd parameters: interleave, flags, or the device list making up the ccd disk, will usually destroy any prior data on that ccd disk. @@ -246,12 +215,3 @@ The .Nm utility first appeared in .Nx 1.1 . -.Sh BUGS -The initial disklabel returned by -.Xr ccd 4 -specifies only 3 partitions. -One needs to change the number of partitions to 8 using -.Dq Nm disklabel Fl e -to get the usual -.Bx -expectations. From nobody Tue Apr 9 13:38:14 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDRqV1nCVz5H2FR; Tue, 9 Apr 2024 13:38: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 4VDRqV1C5Nz44DP; Tue, 9 Apr 2024 13:38:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712669894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fIOLsUoE3GTgrerMuJP4CWV75Dml+R9O4gRqFFwX5No=; b=taMuOJbv0c7fXIRyhyPbH8SQTvZcO4VrgDVOB+JlytuHcZnTx4AQru3TXUfiK83IAeodrU jmTceJlo8sWbLLdssWuvb4DOvXwJHapY6cScyE84Xcnhrx15+W8W+VQQ/nm4ZU3TSg551B xJvK0WPsZeal/h/BfmEOjCgDkcOmGdT9be6wVuUokpxjkYsqyCIclZDqlPbqSw0i3/3uQn W13Vwri/e9TUhK2sBodTLRTnW0XQGtAtu6SCMjKQyBf7yR8OQOyrnMD/CmoN7H2he34kBM /KX4ij/9eNeQej9iVqKHotXeiFZ6HYv4LRtWxyd0h76ggMf8klcJ7U5iUC2iPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712669894; a=rsa-sha256; cv=none; b=egrOU9HR2jWsTn6Xxbm+y9uKUux1PK6RGeINwVZ3URnH89tUdm8WiMDFKwz3GMiuvxIRKM +QZSPNvBMjDG74GkqzVKCgiD1IZGsbnoOonX8P/+ipkZM4bRjMEZOv9yFjuAuL5rMzyPKm Egev/hm9pUCpud+6IUr9UAwWdRbmpNJJBCky/4jDIrm3jx4hzBGQQx9wBoX1P7NbG6L3QB bGssQQUCUZDGLEpwThZeA7ahgaHwXc/LzawYCVAoOKaUrGpnPOctwEeP3LyMNUy5GUFZgm P4tXHjhkU40jgEW8w2EIYxNOmHm49SdegiHqlClixKjaEo5Zz7JbeAOlWar6nw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712669894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fIOLsUoE3GTgrerMuJP4CWV75Dml+R9O4gRqFFwX5No=; b=avx2QOrpENf5Z63YM3bmUr0L3P0oj9QVa4w7xTAf4zOPxvOKGCQ7LFGX+W3173DnIHQmXv YUQp8atjVNCd/3jVQ8cvD9rdpS1CHhwIhZ+YkeUcVCs2nk0z7oBGXcbUGGwaSOm/sk70BD K0LBIKT3sbKGxRZFHT/B9StG7nFsCY6oqdZs1VTHmMlfuPrIYb2PFLvopdwiqqrss51eN2 hDwNdSY+3NW9KZXy3EHvHJVBFzHS3RQrAJ6TFBrRUyvWaK5EDESCMPYmoTvjW+CRPZT1hr /HhwH8QqgNMaG5+rVssjABiqJQZvHnfvL+Aj1gtfuQEaPy7TORfToW09iHukvQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDRqV0pljzwxg; Tue, 9 Apr 2024 13:38: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 439DcEC5086985; Tue, 9 Apr 2024 13:38:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439DcEvc086982; Tue, 9 Apr 2024 13:38:14 GMT (envelope-from git) Date: Tue, 9 Apr 2024 13:38:14 GMT Message-Id: <202404091338.439DcEvc086982@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 8e8d76571f77 - stable/13 - ccdconfig: reference gpart rather than fdisk and disklabel List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8e8d76571f77be9533a83f4a8d7e16f39a31d7eb Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=8e8d76571f77be9533a83f4a8d7e16f39a31d7eb commit 8e8d76571f77be9533a83f4a8d7e16f39a31d7eb Author: Ed Maste AuthorDate: 2024-01-23 18:23:44 +0000 Commit: Ed Maste CommitDate: 2024-04-09 13:37:28 +0000 ccdconfig: reference gpart rather than fdisk and disklabel fdisk and disklabel are legacy tools for legacy disk partitioning schemes. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D43564 (cherry picked from commit 8669e516f0e6f48a5017db9e5f4768275f1deaa8) (cherry picked from commit 7ced57106295ac92a0584ea03e0a05b66973ed73) --- sbin/ccdconfig/ccdconfig.8 | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sbin/ccdconfig/ccdconfig.8 b/sbin/ccdconfig/ccdconfig.8 index 4014a36b0771..07fa3e6348fc 100644 --- a/sbin/ccdconfig/ccdconfig.8 +++ b/sbin/ccdconfig/ccdconfig.8 @@ -27,7 +27,7 @@ .\" .\" $NetBSD: ccdconfig.8,v 1.4 1996/02/28 01:01:17 thorpej Exp $ .\" -.Dd January 24, 2024 +.Dd March 22, 2024 .Dt CCDCONFIG 8 .Os .Sh NAME @@ -176,9 +176,8 @@ ccdconfig -c /dev/ccd0 32 linux /dev/ada0s1 /dev/ada0s2 .Ed .Pp When you create a new ccd disk you generally want to -.Xr fdisk 8 -and -.Xr disklabel 8 +partition it using +.Xr gpart 8 it before doing anything else. Beware that changing any ccd parameters: interleave, flags, or the device list making up the ccd disk, will usually destroy any prior @@ -206,8 +205,7 @@ and .Sh SEE ALSO .Xr dd 1 , .Xr ccd 4 , -.Xr disklabel 8 , -.Xr fdisk 8 , +.Xr gpart 8 , .Xr gvinum 8 , .Xr rc 8 .Sh HISTORY From nobody Tue Apr 9 13:38:38 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDRqy3Jd9z5H2L0; Tue, 9 Apr 2024 13:38: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 4VDRqy2kYsz44gb; Tue, 9 Apr 2024 13:38:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712669918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6DNIWoQUxXWzo0olmojq8ZzsY/8cZeJPaQWv1hBNncY=; b=IDLVZyLe82/dqwxc9SKjVWh2EDesAC9FYHrU0+FlUwkXDxy4Ksu2Q2TOe81zFjx10Mjx4P zdPkM39WYRMuUdu5XAoLF5j5ngk46M3FVcNzEUylcuZllcbS2XR5cZp63pdCXfeqtFluMa 4wQjnYxPoHyf0A+Y0L59bPYapyArdGZnWW6yqGe84M5dF0nhB+Rsb4hv8gDL4WrtmSzZzo N/D4VA8+fmR2LPticmF8quS+P+wjFLlwv+f9j+kgt4Ocmr4cmmmKTORBAOWh0baNxavd4S Fk6SyFz4NQDGkMO70xIt9paoj2F9+KjhBZoKmfvxAg3HlG1Pxpv8I7sKmWiikQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712669918; a=rsa-sha256; cv=none; b=ijmzsjtAyWY24rdvSNueSZ4jivkQJs/lcF0bmDC+STwUxXwY1sEEWGX6922N3eP3fUV1x/ zIaPuI7Hem/wJAKFXOAk+XvrRdDCbDGCBxFI6Gn0UkKr8atnbCP/f0aHGWEJQ+Ylbt8pf6 jfGOo4OhEdiKFmR0YkePp4ADRfGZ9D58XjhooQ4ZQaDKDJZ7MfRkE2Nl+9r/2AcbKn9WfK eOd/CyixAdoYhZeYVpbKR8ljCUDQPnUZCThJtc7CxkrkNojpoTnf73b/s4V5k7/YLJOYki acTVd6YLMe74q45MuJE1Hz8rak7CwvkkgBcbCbs3h1yYa1wwMhPwbMOGFeeU5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712669918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6DNIWoQUxXWzo0olmojq8ZzsY/8cZeJPaQWv1hBNncY=; b=i8Zgvv8IXNsSIVQa4vWBSK4rmyIn6GVvvwgzKhYystnseD7o8ycojPHt0HbP+6PQSPuBNa nKwEgu6iwE8HyrUdI+ok+rurELVRjNyPmE3Zf0guvAljtqmRnEbed3qetr59dzLvTCFvfG 4toFmOny/0Jo1gJlcm3SUdz3hnTBcPDs7HeqvjFBTceTDFpfb+6x7ODbczjzXRzqnTC1Ms 5fi1pFDa7v7Mt9xyLvasDET+I3n0u2+29hIHg7HF+QGfIoJEgfJSajbBjp0nEAKZd9RmFJ 0gq0yiM6ToQffM2i4gReVyoGuI4vmffBCY0vVPAFHUO0C7BiuWnm+ZmQEhcqwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDRqy2KxyzwCR; Tue, 9 Apr 2024 13:38: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 439DccgN087173; Tue, 9 Apr 2024 13:38:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439DcceU087170; Tue, 9 Apr 2024 13:38:38 GMT (envelope-from git) Date: Tue, 9 Apr 2024 13:38:38 GMT Message-Id: <202404091338.439DcceU087170@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: c525951492dd - stable/13 - freebsd-update: Fix typo in comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c525951492ddcef50b74af495b8d88048f3dc806 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c525951492ddcef50b74af495b8d88048f3dc806 commit c525951492ddcef50b74af495b8d88048f3dc806 Author: a-biardi AuthorDate: 2024-04-02 12:28:52 +0000 Commit: Ed Maste CommitDate: 2024-04-09 13:37:28 +0000 freebsd-update: Fix typo in comment s/patchname expansion/pathname expansion/ Signed-off-by: a.biardi@tiscali.it Pull-request: https://github.com/freebsd/freebsd-src/pull/1152 (cherry picked from commit 91811711625482f3a5778939e9999f53a0bea22a) (cherry picked from commit 507e18dfc32491d2617488b470c2208db88977e2) --- usr.sbin/freebsd-update/freebsd-update.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh index 9af6e8d711ed..b6a8911e64b7 100644 --- a/usr.sbin/freebsd-update/freebsd-update.sh +++ b/usr.sbin/freebsd-update/freebsd-update.sh @@ -2895,7 +2895,7 @@ backup_kernel () { (cd ${BASEDIR}/${KERNELDIR} && find . -type f $FINDFILTER -exec \ cp -pl '{}' ${BASEDIR}/${BACKUPKERNELDIR}/'{}' \;) - # Re-enable patchname expansion. + # Re-enable pathname expansion. set +f } From nobody Tue Apr 9 13:38:39 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDRqz4h61z5H2CN; Tue, 9 Apr 2024 13:38: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 4VDRqz3MYRz44ln; Tue, 9 Apr 2024 13:38:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712669919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/vJAbRQCOluby9DaL6CE0HrR+YebVvbW9wbsB5Lmt8=; b=AOA/Vnh+AUra/E7BudS4lg7mTZnQfD3A9Ko1FFjtrhQwFBEqqZnit+kXHbOZBoYzyH0aqo nhwQmicJxDQerOE272dcer8ctDjWWoQcmvTmLk6X9xVPjOzVAjNYM1B+46ajtgPORXJ550 x7tigo07QyXo0MvbJtkEUMbfCPzqkyuIu4b0vT1lBgpGYAfrtuM24gjEwoFRySckmnqkp0 THjQgye9inpnIjE2ATWSbgLQopsyNgUo05ME2pbL0hCqi24UDsN33gTCy318Oo88tCW3Bo QT7ZB6Ea9Y6vHO2H1MhGcvZUBTSQnbJb6Syf9KPTLv6pRodrZVC5sccjUZxmaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712669919; a=rsa-sha256; cv=none; b=PCS2PrGIjRzBS4seGevUv6ZHPAjEtvz2tAHaxDUkIn/OqQFoxk4Al1Vht2orefSlWEpHyX Te3ZeG87XZ56SqYHwWpRjTR1UcxIavmXm+GUeL2cVUnZ0I05/+p82MY6F8jeeSc22QY7YF 3krS9dflmfT9cG2ZzK8JwiRb/9oTOMW8lKTH/2iz9iLT6MAgyUANQVJUfggej3DAp8BsKY V0Pi0rUN7tpLD9sakxTe18s1ygeXNpMlJkEJZjMYvqy0wYGMvNNHKlib/JTQYU5uhKVbcW g4OXtaid8Ohn1GPXIUSwt0gR/geBxy0K7/BDM/JDkTbbkeHC7x906HSx846lmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712669919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/vJAbRQCOluby9DaL6CE0HrR+YebVvbW9wbsB5Lmt8=; b=aGrPH4Ej3R1TaJ+m4+Mn1SSJbpnA8qLscR58M378WwijcCN4EyDyuwBvgXQbQRN8NotoS6 EGRi8wJsrVrNsXXR3CzIHiwrJDErKLcBG1Cbl93utImGUayYlZ+Y6WQBeYEp0cx20RLg/f 5o+10VulgLxsC6wuOX2hANpIMOcU1xUcsDcdK4nHEMmOaMamKw1j58rQzyEWlC2S68CWYE Z1dE3sRaRiMvwvbW1T6XftIgaBhr14mndlOKunaJ9lruRGxZp6kkvAAqhdUUId1a8qUrQZ fRFf3ZlrXj2zTn3iaOYT9OpjQ0gvhbQljebDCQQ3bvDnd7HftkUaF5JZW6IAqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VDRqz2yzQzwvC; Tue, 9 Apr 2024 13:38: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 439DcdPN087214; Tue, 9 Apr 2024 13:38:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 439DcdWg087211; Tue, 9 Apr 2024 13:38:39 GMT (envelope-from git) Date: Tue, 9 Apr 2024 13:38:39 GMT Message-Id: <202404091338.439DcdWg087211@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 54030e8a5df5 - stable/13 - dma.conf: Fix typo List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 54030e8a5df5c778d3bde7a32082051c39678a07 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=54030e8a5df5c778d3bde7a32082051c39678a07 commit 54030e8a5df5c778d3bde7a32082051c39678a07 Author: Mikael Urankar AuthorDate: 2024-03-27 09:36:33 +0000 Commit: Ed Maste CommitDate: 2024-04-09 13:37:28 +0000 dma.conf: Fix typo Pull Request: https://github.com/freebsd/freebsd-src/pull/1150 (cherry picked from commit c92400a6f690a82ab84eb0b97cc8bf169e44e4e8) (cherry picked from commit bedc8daace2692efa9aad232c3eeff61f2c954c9) --- libexec/dma/dmagent/dma.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/dma/dmagent/dma.conf b/libexec/dma/dmagent/dma.conf index e11fd67cd254..bb28306e342e 100644 --- a/libexec/dma/dmagent/dma.conf +++ b/libexec/dma/dmagent/dma.conf @@ -15,7 +15,7 @@ # SMTP authentication #AUTHPATH /etc/dma/auth.conf -# Uncomment if yout want TLS/SSL support +# Uncomment if you want TLS/SSL support #SECURETRANSFER # Uncomment if you want STARTTLS support (only used in combination with From nobody Tue Apr 9 14:24:59 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VDrhY417Pz5GqcY for ; Wed, 10 Apr 2024 05:18:37 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (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 4VDrhY2LPQz4bsZ for ; Wed, 10 Apr 2024 05:18:37 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-516d6c1e238so5283709e87.2 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=gnlSdGDvP+qHrmKjX45Lw0jgqUflvqSX7tuZ3xMb+7q9hswDbFbWq4QVwYm3fgkHvE QgLnroGgEFJTm0c9JYLUtkJiS+BhPR6u7JkatHsTk7IH/FXquTNPozuvADGsB4GwEaZP Bw+HG1SWSOTbOkXMyt9Zw5rUgAaVP1go13bPIfbqZMS89aQ4D897+GUUqCt8J/TQOYVz QeI9yK5rfclENQ/M5K5Ic4g7nu/EBZam26YlFy5o6GHc82Ha+au1Z3IVfYvrMalYSqCE q+7nOyVhppJd9dP2buGNT1Rh5EoFZTS05LO50lipgZWLArn/DTYzRQkyZIejD9uuQjtw 5i4g== X-Forwarded-Encrypted: i=1; AJvYcCWgh/8/rJp8sAgG4IwX2iEgD9jjlKiClgWIbIIugHTvTy7wi9S6hblnP2ZOyMLRBdz8tLHqZS/tSiW1/dLi2s9KQ1bwrHWtSk06MMSXgcHV X-Gm-Message-State: AOJu0Yyvn/Y0IsX+nvOr/QdPeFM0adF1wWZSSJWa1DZUEt5cVkiji5cv PfnRc5znxNxGhy0rJELyOfACWZtwCbGU1W2fmNJmQO4ajCRiPB19C4GUleX6uZ0= 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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: 4VDrhY2LPQz4bsZ 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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:06 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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:07 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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:08 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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:10 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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:12 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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:13 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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:20 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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:21 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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:22 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF6ky20SMz5HLCp 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 4VF6kx6zVxz43Ww for ; Wed, 10 Apr 2024 15:51:37 +0000 (UTC) (envelope-from cperciva@freebsd.org) Authentication-Results: mx1.freebsd.org; none Received: (qmail 7335 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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: 4VF6kx6zVxz43Ww 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VF6tZ4DsXz5HLcP 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 4VF6tZ3SNLz443d for ; Wed, 10 Apr 2024 15:58:14 +0000 (UTC) (envelope-from cperciva@freebsd.org) Authentication-Results: mx1.freebsd.org; none Received: (qmail 7586 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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: 4VF6tZ3SNLz443d 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:49:28 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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 18:28:22 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFb6Q6RDRz5H8SQ for ; Thu, 11 Apr 2024 10:10:06 +0000 (UTC) (envelope-from bounce.v7odq7bf30=dbxfmsgoyljj=pya5rmvi9y@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 4VFb6Q3vN4z4qCP for ; Thu, 11 Apr 2024 10:10:06 +0000 (UTC) (envelope-from bounce.v7odq7bf30=dbxfmsgoyljj=pya5rmvi9y@em790814.fubar.geek.nz) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=smtpservice.net header.s=a1-4 header.b=nu4qYcKy; 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=dbxfmsgoyljj=pya5rmvi9y@em790814.fubar.geek.nz" designates 158.120.84.19 as permitted sender) smtp.mailfrom="bounce.v7odq7bf30=dbxfmsgoyljj=pya5rmvi9y@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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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.F2P2G6fpR5FTs 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=nu4qYcKy3nH2CrnaDCRlb60IDfqypK7976rcxFnsp9vCZUJ2dEt6r0kUb5zCh37P1O+VQ +O4UNoJ4JywYveQi3N/JKsaT49L9CbGHqywTdr4FlQHwpTpb7UQanN/4CYx23nonAauzCgR 0YOQsuxXw8LHyWaiY+Mcnnv0f7JFxWRBugkOjATj7Rf/1CGMSZqpLnI3KoCjAPDGQ18KVb/ f5Y3akDQqYKt3gVXvvhlUVOo6xJpUglFa6VE4Zyor0gWmWmdOw2YaRxbT3IDDxpyZ8+XsPq gLQ/XO/60xbixY8zqh4xjL3eG+rgdq47KrDVz7iXIgS3o6RzNVjR/Ot/7oXQ== 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=dbxfmsgoyljj=pya5rmvi9y@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:c]; MIME_GOOD(-0.10)[text/plain]; ASN(0.00)[asn:23352, ipnet:158.120.84.0/22, country:US]; TO_DN_EQ_ADDR_SOME(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_NEQ_ENVFROM(0.00)[andrew@fubar.geek.nz,bounce.v7odq7bf30=dbxfmsgoyljj=pya5rmvi9y@em790814.fubar.geek.nz]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; RCVD_COUNT_TWO(0.00)[2]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[smtpservice.net:+,fubar.geek.nz:+] X-Rspamd-Queue-Id: 4VFb6Q3vN4z4qCP > 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 12:01:56 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFdbT12tZz5HJXt; Thu, 11 Apr 2024 12:01: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 4VFdbT0X8xz4yyj; Thu, 11 Apr 2024 12:01:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712836917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8usLEIxp+96C/ldVvDO1eYo5y4GkqNxoUIsbCnXhkGc=; b=hdajb9R+bfyPYjyzYUQG/VV1i+t9DStVAQ514m9AU23At5tTm0atveAn7z7KZOHZ1D3cDU pzGIZR9/BnNmty3evolN3/rA6XKGjCfHWwYrHSjZ2VjbvMEUZjO04fPEW4gx5jUgojPc9W eKT7gQ349mLn+dKZjzEwTyhPoHs5VPjG/8IQG01/V2WZR2HaVN+Jy45L7lH36ypZtk3fCl GjlDovegu8cimothosZhEsv6omCEYxKcJ80EJcNGNTz65QgAitQmVvd4PKhlS8yMRRvRjm qi6gU4qHqxHd0hNkrbfnLNyUU6F5qWh1Q1MHVpukinbofWCZU4qCluX+Kkvx2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712836917; a=rsa-sha256; cv=none; b=gOjD9EuUN9o3Oin+qLhdTDMn+VFzJVXC8o1Nzxtv+FHXrmn5Ts/UEmPQ1baDWC8EORzEne 1dvfCDjMAc86SQixFEW/JK79FQRG2TI6QWhKJVHow98uDeCW22L2/eh/OhwgtGpiakUtvD BP+Ws+jEOiZUVYOlM4JyRwrQhxH3lIGwb7AtpfL4Wi2xunRxPD3risX1fXiUvMIFyDlCVq 3SJoIUve8xwq6xU28L29pOmcccV465U3Pr8NBNQIBGfzsbSO9XTJfq8++CjBTOV+cOKuAL UBaY7pDNm/ZUeAVe0JUijrnTmf/bMfFZrEc9JARXJHkrY1shkicXiyDf4n2X+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=1712836917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8usLEIxp+96C/ldVvDO1eYo5y4GkqNxoUIsbCnXhkGc=; b=RzW1QOkRxdduKv1R9a+X01UnUbzj5XsAkXmsNTlfS087D+kFwhgsZJaV1b+46ybpGpXQEv T5sKLq3do7MMql5yD7ZLHTxMZ4L2f1zqP5joKWVGyGvePEp6Rq1jU5eGRZf9msQWVHZvHB 81TDO6o7bWvebGOu68OvvEbjgxU3cRlAFttI4fbF9u9vJFK/ZyCYl1dWVo8sVDlGyS8xv9 qMiRwZd7Tz2Y6nfoAL6ocj/LW1NcfJXuLRD3gz4vkFoemRXycpsqplj70T+6NW2ERTk5nU 6Whp5MNllc1r2Kd2Uu6RJDp2x/Ab6BMeCPszQbS0pLSQb3Q+3djw2s+TPVwbNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFdbS6wrQz1Knr; Thu, 11 Apr 2024 12:01: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 43BC1ukc009089; Thu, 11 Apr 2024 12:01:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BC1uqn009086; Thu, 11 Apr 2024 12:01:56 GMT (envelope-from git) Date: Thu, 11 Apr 2024 12:01:56 GMT Message-Id: <202404111201.43BC1uqn009086@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 16a6da44e28d - stable/14 - nuageinit: add basic support for cloudinit. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 16a6da44e28d607f2383be7c7c325090979f531f Auto-Submitted: auto-generated The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=16a6da44e28d607f2383be7c7c325090979f531f commit 16a6da44e28d607f2383be7c7c325090979f531f Author: Baptiste Daroussin AuthorDate: 2022-11-23 19:00:39 +0000 Commit: Baptiste Daroussin CommitDate: 2024-04-11 11:52:52 +0000 nuageinit: add basic support for cloudinit. this is a very early script to support cloudinit, it does not intend to be a full featured cloudinit client, but will support a good enough subset to be viable in most case. It support nocloud and openstack config-2 config drive mode (iso9660 or msdosfs) The following features are currently supported: - adding users (including a default user named 'freebsd' with password 'freebsd' - adding groups - adding ssh keys - static ipv4, static ipv6, dynamic ipv4 With this one is able to use the 'bring your own image feature" out of box. It is expected that the script grows the support of other clouds supporting cloud-init, contributions are welcomed. It is designed to be only run once via the firstboot mecanism. Sponsored by: OVHCloud Differential Revision: https://reviews.freebsd.org/D44141 (cherry picked from commit a42d6f76018e4ed8324e319ab48aac904bda437c) (cherry picked from commit c051f22bce42d920abba61bd7cf4ef5b6a270ffa) (cherry picked from commit b8c053c9a612651d4909f7a323088f3e92485b7b) (cherry picked from commit 9eae9233fdcc946945f4191e1413f548adfa2943) --- etc/mtree/BSD.tests.dist | 2 + libexec/Makefile | 5 + libexec/nuageinit/Makefile | 11 + libexec/nuageinit/nuage.lua | 214 +++++++++++ libexec/nuageinit/nuageinit | 312 ++++++++++++++++ libexec/nuageinit/tests/Makefile | 13 + libexec/nuageinit/tests/addgroup.lua | 15 + libexec/nuageinit/tests/addsshkey.lua | 2 + libexec/nuageinit/tests/adduser.lua | 15 + libexec/nuageinit/tests/dirname.lua | 8 + libexec/nuageinit/tests/err.lua | 4 + libexec/nuageinit/tests/nuage.sh | 52 +++ libexec/nuageinit/tests/nuageinit.sh | 338 ++++++++++++++++++ libexec/nuageinit/tests/sethostname.lua | 4 + libexec/nuageinit/tests/utils.sh | 21 ++ libexec/nuageinit/tests/warn.lua | 4 + libexec/nuageinit/yaml.lua | 586 +++++++++++++++++++++++++++++++ libexec/rc/rc.d/Makefile | 6 + libexec/rc/rc.d/nuageinit | 67 ++++ release/packages/Makefile.package | 2 + share/mk/src.opts.mk | 1 + tools/build/mk/OptionalObsoleteFiles.inc | 21 ++ tools/build/options/WITHOUT_NUAGEINIT | 1 + 23 files changed, 1704 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index a3c5cae09567..81cd5baca513 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -435,6 +435,8 @@ atf-sh .. .. + nuageinit + .. rc .. rtld-elf diff --git a/libexec/Makefile b/libexec/Makefile index bd1571edcfe4..204c7ef31bdb 100644 --- a/libexec/Makefile +++ b/libexec/Makefile @@ -29,6 +29,7 @@ SUBDIR= ${_atf} \ ${_rshd} \ ${_rtld-elf} \ save-entropy \ + ${_nuageinit} \ ${_smrsh} \ ${_tests} \ ${_tftp-proxy} \ @@ -121,6 +122,10 @@ _atf= atf _tests= tests .endif +.if ${MK_NUAGEINIT} != "no" +_nuageinit= nuageinit +.endif + .include .include diff --git a/libexec/nuageinit/Makefile b/libexec/nuageinit/Makefile new file mode 100644 index 000000000000..64c5ec316f3d --- /dev/null +++ b/libexec/nuageinit/Makefile @@ -0,0 +1,11 @@ +PACKAGE= nuageinit +SCRIPTS= nuageinit +FILES= nuage.lua yaml.lua +FILESDIR= ${SHAREDIR}/flua + +.include + +HAS_TESTS= +SUBDIR.${MK_TESTS}+= tests + +.include diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua new file mode 100644 index 000000000000..55486ae2b122 --- /dev/null +++ b/libexec/nuageinit/nuage.lua @@ -0,0 +1,214 @@ +-- SPDX-License-Identifier: BSD-2-Clause +-- +-- Copyright(c) 2022 Baptiste Daroussin + +local pu = require("posix.unistd") + +local function warnmsg(str) + io.stderr:write(str.."\n") +end + +local function errmsg(str) + io.stderr:write(str.."\n") + os.exit(1) +end + +local function dirname(oldpath) + if not oldpath then + return nil + end + local path = oldpath:gsub("[^/]+/*$", "") + if path == "" then + return nil + end + return path +end + +local function mkdir_p(path) + if lfs.attributes(path, "mode") ~= nil then + return true + end + local r,err = mkdir_p(dirname(path)) + if not r then + return nil,err.." (creating "..path..")" + end + return lfs.mkdir(path) +end + +local function sethostname(hostname) + if hostname == nil then return end + local root = os.getenv("NUAGE_FAKE_ROOTDIR") + if not root then + root = "" + end + local hostnamepath = root .. "/etc/rc.conf.d/hostname" + + mkdir_p(dirname(hostnamepath)) + local f,err = io.open(hostnamepath, "w") + if not f then + warnmsg("Impossible to open "..hostnamepath .. ":" ..err) + return + end + f:write("hostname=\""..hostname.."\"\n") + f:close() +end + +local function splitlist(list) + local ret = {} + if type(list) == "string" then + for str in list:gmatch("([^, ]+)") do + ret[#ret + 1] = str + end + elseif type(list) == "table" then + ret = list + else + warnmsg("Invalid type ".. type(list) ..", expecting table or string") + end + return ret +end + +local function adduser(pwd) + if (type(pwd) ~= "table") then + warnmsg("Argument should be a table") + return nil + end + local f = io.popen("getent passwd "..pwd.name) + local pwdstr = f:read("*a") + f:close() + if pwdstr:len() ~= 0 then + return pwdstr:match("%a+:.+:%d+:%d+:.*:(.*):.*") + end + if not pwd.gecos then + pwd.gecos = pwd.name .. " User" + end + if not pwd.home then + pwd.home = "/home/" .. pwd.name + end + local extraargs="" + if pwd.groups then + local list = splitlist(pwd.groups) + extraargs = " -G ".. table.concat(list, ',') + end + -- pw will automatically create a group named after the username + -- do not add a -g option in this case + if pwd.primary_group and pwd.primary_group ~= pwd.name then + extraargs = extraargs .. " -g " .. pwd.primary_group + end + if not pwd.no_create_home then + extraargs = extraargs .. " -m " + end + if not pwd.shell then + pwd.shell = "/bin/sh" + end + local precmd = "" + local postcmd = "" + if pwd.passwd then + precmd = "echo "..pwd.passwd .. "| " + postcmd = " -H 0 " + elseif pwd.plain_text_passwd then + precmd = "echo "..pwd.plain_text_passwd .. "| " + postcmd = " -H 0 " + end + local root = os.getenv("NUAGE_FAKE_ROOTDIR") + local cmd = precmd .. "pw " + if root then + cmd = cmd .. "-R " .. root .. " " + end + cmd = cmd .. "useradd -n ".. pwd.name .. " -M 0755 -w none " + cmd = cmd .. extraargs .. " -c '".. pwd.gecos + cmd = cmd .. "' -d '" .. pwd.home .. "' -s "..pwd.shell .. postcmd + + local r = os.execute(cmd) + if not r then + warnmsg("nuageinit: fail to add user "..pwd.name); + warnmsg(cmd) + return nil + end + if pwd.locked then + cmd = "pw " + if root then + cmd = cmd .. "-R " .. root .. " " + end + cmd = cmd .. "lock " .. pwd.name + os.execute(cmd) + end + return pwd.home +end + +local function addgroup(grp) + if (type(grp) ~= "table") then + warnmsg("Argument should be a table") + return false + end + local f = io.popen("getent group "..grp.name) + local grpstr = f:read("*a") + f:close() + if grpstr:len() ~= 0 then + return true + end + local extraargs = "" + if grp.members then + local list = splitlist(grp.members) + extraargs = " -M " .. table.concat(list, ',') + end + local root = os.getenv("NUAGE_FAKE_ROOTDIR") + local cmd = "pw " + if root then + cmd = cmd .. "-R " .. root .. " " + end + cmd = cmd .. "groupadd -n ".. grp.name .. extraargs + local r = os.execute(cmd) + if not r then + warnmsg("nuageinit: fail to add group ".. grp.name); + warnmsg(cmd) + return false + end + return true +end + +local function addsshkey(homedir, key) + local chownak = false + local chowndotssh = false + local ak_path = homedir .. "/.ssh/authorized_keys" + local dotssh_path = homedir .. "/.ssh" + local dirattrs = lfs.attributes(ak_path) + if dirattrs == nil then + chownak = true + dirattrs = lfs.attributes(dotssh_path) + if dirattrs == nil then + if not lfs.mkdir(dotssh_path) then + warnmsg("nuageinit: impossible to create ".. dotssh_path) + return + end + chowndotssh = true + dirattrs = lfs.attributes(homedir) + end + end + + local f = io.open(ak_path, "a") + if not f then + warnmsg("nuageinit: impossible to open "..ak_path) + return + end + f:write(key .. "\n") + f:close() + if chownak then + pu.chown(ak_path, dirattrs.uid, dirattrs.gid) + end + if chowndotssh then + pu.chown(dotssh_path, dirattrs.uid, dirattrs.gid) + end +end + +local n = { + warn = warnmsg, + err = errmsg, + sethostname = sethostname, + adduser = adduser, + addgroup = addgroup, + addsshkey = addsshkey, + dirname = dirname, + mkdir_p = mkdir_p, +} + +return n diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit new file mode 100755 index 000000000000..08224061d1b1 --- /dev/null +++ b/libexec/nuageinit/nuageinit @@ -0,0 +1,312 @@ +#!/usr/libexec/flua + +-- SPDX-License-Identifier: BSD-2-Clause-FreeBSD +-- +-- Copyright(c) 2022 Baptiste Daroussin + +local nuage = require("nuage") +local yaml = require("yaml") + +if #arg ~= 2 then + nuage.err("Usage ".. arg[0] .." [config-2|nocloud]") +end +local path = arg[1] +local citype = arg[2] +local ucl = require("ucl") + +local default_user = { + name = "freebsd", + homedir = "/home/freebsd", + groups = "wheel", + gecos = "FreeBSD User", + shell = "/bin/sh", + plain_text_passwd = "freebsd" +} + +local root = os.getenv("NUAGE_FAKE_ROOTDIR") +if not root then + root = "" +end + +local function open_config(name) + nuage.mkdir_p(root .. "/etc/rc.conf.d") + local f,err = io.open(root .. "/etc/rc.conf.d/" .. name, "w") + if not f then + nuage.err("nuageinit: unable to open "..name.." config: " .. err) + end + return f +end + +local function get_ifaces() + local parser = ucl.parser() + -- grab ifaces + local ns = io.popen('netstat -i --libxo json') + local netres = ns:read("*a") + ns:close() + local res,err = parser:parse_string(netres) + if not res then + nuage.warn("Error parsing netstat -i --libxo json outout: " .. err) + return nil + end + local ifaces = parser:get_object() + local myifaces = {} + for _,iface in pairs(ifaces["statistics"]["interface"]) do + if iface["network"]:match("") then + local s = iface["address"] + myifaces[s:lower()] = iface["name"] + end + end + return myifaces +end + +local function config2_network(p) + local parser = ucl.parser() + local f = io.open(p .. "/network_data.json") + if not f then + -- silently return no network configuration is provided + return + end + f:close() + local res,err = parser:parse_file(p .. "/network_data.json") + if not res then + nuage.warn("nuageinit: error parsing network_data.json: " .. err) + return + end + local obj = parser:get_object() + + local ifaces = get_ifaces() + if not ifaces then + nuage.warn("nuageinit: no network interfaces found") + return + end + local mylinks = {} + for _,v in pairs(obj["links"]) do + local s = v["ethernet_mac_address"]:lower() + mylinks[v["id"]] = ifaces[s] + end + + nuage.mkdir_p(root .. "/etc/rc.conf.d") + local network = open_config("network") + local routing = open_config("routing") + local ipv6 = {} + local ipv6_routes = {} + local ipv4 = {} + for _,v in pairs(obj["networks"]) do + local interface = mylinks[v["link"]] + if v["type"] == "ipv4_dhcp" then + network:write("ifconfig_"..interface.."=\"DHCP\"\n") + end + if v["type"] == "ipv4" then + network:write("ifconfig_"..interface.."=\"inet "..v["ip_address"].." netmask " .. v["netmask"] .. "\"\n") + if v["gateway"] then + routing:write("defaultrouter=\""..v["gateway"].."\"\n") + end + if v["routes"] then + for i,r in ipairs(v["routes"]) do + local rname = "cloudinit" .. i .. "_" .. interface + if v["gateway"] and v["gateway"] == r["gateway"] then goto next end + if r["network"] == "0.0.0.0" then + routing:write("defaultrouter=\""..r["gateway"].."\"\n") + goto next + end + routing:write("route_".. rname .. "=\"-net ".. r["network"] .. " ") + routing:write(r["gateway"] .. " " .. r["netmask"] .. "\"\n") + ipv4[#ipv4 + 1] = rname + ::next:: + end + end + end + if v["type"] == "ipv6" then + ipv6[#ipv6+1] = interface + ipv6_routes[#ipv6_routes+1] = interface + network:write("ifconfig_"..interface.."_ipv6=\"inet6 "..v["ip_address"].."\"\n") + if v["gateway"] then + routing:write("ipv6_defaultrouter=\""..v["gateway"].."\"\n") + routing:write("ipv6_route_"..interface.."=\""..v["gateway"]) + routing:write(" -prefixlen 128 -interface "..interface.."\"\n") + end + -- TODO compute the prefixlen for the routes + --if v["routes"] then + -- for i,r in ipairs(v["routes"]) do + -- local rname = "cloudinit" .. i .. "_" .. mylinks[v["link"]] + -- -- skip all the routes which are already covered by the default gateway, some provider + -- -- still list plenty of them. + -- if v["gateway"] == r["gateway"] then goto next end + -- routing:write("ipv6_route_" .. rname .. "\"\n") + -- ipv6_routes[#ipv6_routes+1] = rname + -- ::next:: + -- end + --end + end + end + if #ipv4 > 0 then + routing:write("static_routes=\"") + routing:write(table.concat(ipv4, " ") .. "\"\n") + end + if #ipv6 > 0 then + network:write("ipv6_network_interfaces=\"") + network:write(table.concat(ipv6, " ") .. "\"\n") + network:write("ipv6_default_interface=\""..ipv6[1].."\"\n") + end + if #ipv6_routes > 0 then + routing:write("ipv6_static_routes=\"") + routing:write(table.concat(ipv6, " ") .. "\"\n") + end + network:close() + routing:close() +end + +if citype == "config-2" then + local parser = ucl.parser() + local res,err = parser:parse_file(path..'/meta_data.json') + + if not res then + nuage.err("nuageinit: error parsing config-2: meta_data.json: " .. err) + end + local obj = parser:get_object() + local sshkeys = obj["public_keys"] + if sshkeys then + local homedir = nuage.adduser(default_user) + for _,v in pairs(sshkeys) do + nuage.addsshkey(root .. homedir, v) + end + end + nuage.sethostname(obj["hostname"]) + + -- network + config2_network(path) +elseif citype == "nocloud" then + local f,err = io.open(path.."/meta-data") + if err then + nuage.err("nuageinit: error parsing nocloud meta-data: ".. err) + end + local obj = yaml.eval(f:read("*a")) + f:close() + if not obj then + nuage.err("nuageinit: error parsing nocloud meta-data") + end + local hostname = obj['local-hostname'] + if not hostname then + hostname = obj['hostname'] + end + if hostname then + nuage.sethostname(hostname) + end +else + nuage.err("Unknown cloud init type: ".. citype) +end + +-- deal with user-data +local f = io.open(path..'/user-data', "r") +if not f then + os.exit(0) +end +local line = f:read('*l') +f:close() +if line == "#cloud-config" then + f = io.open(path.."/user-data") + local obj = yaml.eval(f:read("*a")) + f:close() + if not obj then + nuage.err("nuageinit: error parsing cloud-config file: user-data") + end + if obj.groups then + for n,g in pairs(obj.groups) do + if (type(g) == "string") then + local r = nuage.addgroup({name = g}) + if not r then + nuage.warn("nuageinit: failed to add group: ".. g) + end + elseif type(g) == "table" then + for k,v in pairs(g) do + nuage.addgroup({name = k, members = v}) + end + else + nuage.warn("nuageinit: invalid type : "..type(g).." for users entry number "..n); + end + end + end + if obj.users then + for n,u in pairs(obj.users) do + if type(u) == "string" then + if u == "default" then + nuage.adduser(default_user) + else + nuage.adduser({name = u}) + end + elseif type(u) == "table" then + -- ignore users without a username + if u.name == nil then + goto unext + end + local homedir = nuage.adduser(u) + if u.ssh_authorized_keys then + for _,v in ipairs(u.ssh_authorized_keys) do + nuage.addsshkey(homedir, v) + end + end + else + nuage.warn("nuageinit: invalid type : "..type(u).." for users entry number "..n); + end + ::unext:: + end + else + -- default user if none are defined + nuage.adduser(default_user) + end + if obj.ssh_authorized_keys then + local homedir = nuage.adduser(default_user) + for _,k in ipairs(obj.ssh_authorized_keys) do + nuage.addsshkey(homedir, k) + end + end + if obj.network then + local ifaces = get_ifaces() + nuage.mkdir_p(root .. "/etc/rc.conf.d") + local network = open_config("network") + local routing = open_config("routing") + local ipv6={} + for _,v in pairs(obj.network.ethernets) do + if not v.match then goto next end + if not v.match.macaddress then goto next end + if not ifaces[v.match.macaddress] then + nuage.warn("nuageinit: not interface matching: "..v.match.macaddress) + goto next + end + local interface = ifaces[v.match.macaddress] + if v.dhcp4 then + network:write("ifconfig_"..interface.."=\"DHCP\"\n") + elseif v.addresses then + for _,a in pairs(v.addresses) do + if a:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)") then + network:write("ifconfig_"..interface.."=\"inet "..a.."\"\n") + else + network:write("ifconfig_"..interface.."_ipv6=\"inet6 "..a.."\"\n") + ipv6[#ipv6 +1] = interface + end + end + end + if v.gateway4 then + routing:write("defaultrouter=\""..v.gateway4.."\"\n") + end + if v.gateway6 then + routing:write("ipv6_defaultrouter=\""..v.gateway6.."\"\n") + routing:write("ipv6_route_"..interface.."=\""..v.gateway6) + routing:write(" -prefixlen 128 -interface "..interface.."\"\n") + end + ::next:: + end + if #ipv6 > 0 then + network:write("ipv6_network_interfaces=\"") + network:write(table.concat(ipv6, " ") .. "\"\n") + network:write("ipv6_default_interface=\""..ipv6[1].."\"\n") + end + network:close() + routing:close() + end +else + local res,err = os.execute(path..'/user-data') + if not res then + nuage.err("nuageinit: error executing user-data script: ".. err) + end +end diff --git a/libexec/nuageinit/tests/Makefile b/libexec/nuageinit/tests/Makefile new file mode 100644 index 000000000000..d5b3bd9dcc82 --- /dev/null +++ b/libexec/nuageinit/tests/Makefile @@ -0,0 +1,13 @@ +PACKAGE= tests + +ATF_TESTS_SH= nuage utils nuageinit + +${PACKAGE}FILES+= warn.lua +${PACKAGE}FILES+= err.lua +${PACKAGE}FILES+= dirname.lua +${PACKAGE}FILES+= sethostname.lua +${PACKAGE}FILES+= addsshkey.lua +${PACKAGE}FILES+= adduser.lua +${PACKAGE}FILES+= addgroup.lua + +.include diff --git a/libexec/nuageinit/tests/addgroup.lua b/libexec/nuageinit/tests/addgroup.lua new file mode 100644 index 000000000000..60a0d8346793 --- /dev/null +++ b/libexec/nuageinit/tests/addgroup.lua @@ -0,0 +1,15 @@ +#!/usr/libexec/flua + +local n = require("nuage") +if n.addgroup() then + n.err("addgroup should not accept empty value") +end +if n.addgroup("plop") then + n.err("addgroup should not accept empty value") +end +local gr = {} +gr.name = "impossible_groupname" +local res = n.addgroup(gr) +if not res then + n.err("valid addgroup should return a path") +end diff --git a/libexec/nuageinit/tests/addsshkey.lua b/libexec/nuageinit/tests/addsshkey.lua new file mode 100644 index 000000000000..3aa5f7619ec2 --- /dev/null +++ b/libexec/nuageinit/tests/addsshkey.lua @@ -0,0 +1,2 @@ +local n = require("nuage") +n.addsshkey(".", "mykey") diff --git a/libexec/nuageinit/tests/adduser.lua b/libexec/nuageinit/tests/adduser.lua new file mode 100644 index 000000000000..9366d2abd0f4 --- /dev/null +++ b/libexec/nuageinit/tests/adduser.lua @@ -0,0 +1,15 @@ +#!/usr/libexec/flua + +local n = require("nuage") +if n.adduser() then + n.err("adduser should not accept empty value") +end +if n.adduser("plop") then + n.err("adduser should not accept empty value") +end +local pw = {} +pw.name = "impossible_username" +local res = n.adduser(pw) +if not res then + n.err("valid adduser should return a path") +end diff --git a/libexec/nuageinit/tests/dirname.lua b/libexec/nuageinit/tests/dirname.lua new file mode 100644 index 000000000000..d1268e48575c --- /dev/null +++ b/libexec/nuageinit/tests/dirname.lua @@ -0,0 +1,8 @@ +local n = require("nuage") +print(n.dirname("/my/path/path1")) +if n.dirname("path") then + nuage.err("Expecting nil for n.dirname(\"path\")") +end +if n.dirname() then + nuage.err("Expecting nil for n.dirname") +end diff --git a/libexec/nuageinit/tests/err.lua b/libexec/nuageinit/tests/err.lua new file mode 100644 index 000000000000..c62fa1098f09 --- /dev/null +++ b/libexec/nuageinit/tests/err.lua @@ -0,0 +1,4 @@ +#!/usr/libexec/flua + +local n = require("nuage") +n.err("plop") diff --git a/libexec/nuageinit/tests/nuage.sh b/libexec/nuageinit/tests/nuage.sh new file mode 100644 index 000000000000..bbf306eae51f --- /dev/null +++ b/libexec/nuageinit/tests/nuage.sh @@ -0,0 +1,52 @@ +atf_test_case sethostname +atf_test_case addsshkey +atf_test_case adduser +atf_test_case addgroup + +sethostname_body() { + export NUAGE_FAKE_ROOTDIR="$(pwd)" + atf_check /usr/libexec/flua $(atf_get_srcdir)/sethostname.lua + if [ ! -f etc/rc.conf.d/hostname ]; then + atf_fail "hostname not written" + fi + atf_check -o inline:"hostname=\"myhostname\"\n" cat etc/rc.conf.d/hostname +} + +addsshkey_body() { + atf_check /usr/libexec/flua $(atf_get_srcdir)/addsshkey.lua + if [ ! -f .ssh/authorized_keys ]; then + atf_fail "ssh key not added" + fi + atf_check -o inline:"mykey\n" cat .ssh/authorized_keys + atf_check /usr/libexec/flua $(atf_get_srcdir)/addsshkey.lua + atf_check -o inline:"mykey\nmykey\n" cat .ssh/authorized_keys +} + +adduser_body() { + export NUAGE_FAKE_ROOTDIR="$(pwd)" + if [ $(id -u) -ne 0 ]; then + atf_skip "root required" + fi + mkdir etc + printf "root:*:0:0::0:0:Charlie &:/root:/bin/csh\n" > etc/master.passwd + pwd_mkdb -d etc etc/master.passwd + printf "wheel:*:0:root\n" > etc/group + atf_check -e inline:"Argument should be a table\nArgument should be a table\n" /usr/libexec/flua $(atf_get_srcdir)/adduser.lua + test -d home/impossible_username || atf_fail "home not created" + atf_check -o inline:"impossible_username::1001:1001::0:0:impossible_username User:/home/impossible_username:/bin/sh\n" grep impossible_username etc/master.passwd +} + +addgroup_body() { + export NUAGE_FAKE_ROOTDIR="$(pwd)" + mkdir etc + printf "wheel:*:0:root\n" > etc/group + atf_check -e inline:"Argument should be a table\nArgument should be a table\n" /usr/libexec/flua $(atf_get_srcdir)/addgroup.lua + atf_check -o inline:"impossible_groupname:*:1001:\n" grep impossible_groupname etc/group +} + +atf_init_test_cases() { + atf_add_test_case sethostname + atf_add_test_case addsshkey + atf_add_test_case adduser + atf_add_test_case addgroup +} diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh new file mode 100644 index 000000000000..926233bcf66d --- /dev/null +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -0,0 +1,338 @@ +atf_test_case args +atf_test_case nocloud +atf_test_case nocloud_userdata_script +atf_test_case nocloud_userdata_cloudconfig +atf_test_case nocloud_userdata_cloudconfig_users +atf_test_case nocloud_network +atf_test_case config2 +atf_test_case config2_pubkeys +atf_test_case config2_network +atf_test_case config2_network_static_v4 + + +args_body() +{ + atf_check -s exit:1 -e inline:"Usage /usr/libexec/nuageinit [config-2|nocloud]\n" /usr/libexec/nuageinit + atf_check -s exit:1 -e inline:"Usage /usr/libexec/nuageinit [config-2|nocloud]\n" /usr/libexec/nuageinit bla + atf_check -s exit:1 -e inline:"Usage /usr/libexec/nuageinit [config-2|nocloud]\n" /usr/libexec/nuageinit bla meh plop + atf_check -s exit:1 -e inline:"Unknown cloud init type: meh\n" /usr/libexec/nuageinit bla meh +} + +nocloud_body() +{ + here=$(pwd) + mkdir -p media/nuageinit + atf_check -s exit:1 -e match:"nuageinit: error parsing nocloud.*" /usr/libexec/nuageinit ${here}/media/nuageinit/ nocloud + export NUAGE_FAKE_ROOTDIR=$(pwd) + printf "instance-id: iid-local01\nlocal-hostname: cloudimg\n" > ${here}/media/nuageinit/meta-data + atf_check -s exit:0 /usr/libexec/nuageinit ${here}/media/nuageinit nocloud + atf_check -o inline:"hostname=\"cloudimg\"\n" cat etc/rc.conf.d/hostname + cat > media/nuageinit/meta-data << EOF +instance-id: iid-local01 +hostname: myhost +EOF + atf_check -s exit:0 /usr/libexec/nuageinit ${here}/media/nuageinit nocloud + atf_check -o inline:"hostname=\"myhost\"\n" cat etc/rc.conf.d/hostname +} + +nocloud_userdata_script_body() +{ + here=$(pwd) + mkdir -p media/nuageinit + printf "instance-id: iid-local01\n" > ${here}/media/nuageinit/meta-data + printf "#!/bin/sh\necho "yeah"\n" > ${here}/media/nuageinit/user-data + chmod 755 ${here}/media/nuageinit/user-data + atf_check -s exit:0 -o inline:"yeah\n" /usr/libexec/nuageinit ${here}/media/nuageinit nocloud +} + +nocloud_userdata_cloudconfig_users_body() +{ + here=$(pwd) + export NUAGE_FAKE_ROOTDIR=$(pwd) + if [ $(id -u) -ne 0 ]; then + atf_skip "root required" + fi + mkdir -p media/nuageinit + printf "instance-id: iid-local01\n" > ${here}/media/nuageinit/meta-data + mkdir -p etc + cat > etc/master.passwd < etc/group < media/nuageinit/user-data < expectedgroup << EOF +wheel:*:0:root,freebsd +users:*:1:foobar +admingroup:*:1001:root,sys +cloud-users:*:1002: +freebsd:*:1003: +foobar:*:1004: +EOF + cat > expectedpasswd << EOF +root:*:0:0::0:0:Charlie &:/root:/bin/csh +sys:*:1:0::0:0:Sys:/home/sys:/bin/csh +freebsd:freebsd:1001:1003::0:0:FreeBSD User:/home/freebsd:/bin/sh +foobar:H/1LT4f9/N3wpgNunhsIqtMj62OKiS3nyNwuizouQc3u7MbYCarYeAHWYPYb2FT.lbioDm2RrkJPb9BZMN1O/:1002:1004::0:0:Foo B. Bar:/home/foobar:/bin/sh +EOF + atf_check -o file:expectedpasswd cat ${here}/etc/master.passwd + atf_check -o file:expectedgroup cat ${here}/etc/group +} + +nocloud_network_body() +{ + here=$(pwd) + mkdir -p media/nuageinit + mkdir -p etc + cat > etc/master.passwd < etc/group < ${here}/media/nuageinit/meta-data + cat > media/nuageinit/user-data < network < routing < media/nuageinit/meta_data.json + atf_check /usr/libexec/nuageinit ${here}/media/nuageinit config-2 + cat > media/nuageinit/meta_data.json << EOF +{ + "hostname": "cloudimg", +} +EOF + export NUAGE_FAKE_ROOTDIR=$(pwd) + atf_check /usr/libexec/nuageinit ${here}/media/nuageinit config-2 + atf_check -o inline:"hostname=\"cloudimg\"\n" cat etc/rc.conf.d/hostname +} *** 960 LINES SKIPPED *** From nobody Thu Apr 11 12:01:58 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFdbV1gS1z5HJV6; Thu, 11 Apr 2024 12:01:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VFdbV0w9pz4yyl; Thu, 11 Apr 2024 12:01:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712836918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bAdgqWVvANPyq+CtSNGd7rbhDYlCQsDwP9G+/GMRH0M=; b=Ef59RpKRUv9X3wk30aoNDyg9bTO6RELTBk/dKloChz8ZZhcEEoPMiEK0PmW4z3kTKbbHKR 4S6o4MImiCXJXGvQBjde8f85ihvEVlhoKJiIaki7hFUQj+rDD9L9eOobJy1GG1A72EGdev jRkGZ7depgUBp5SckQ0XFfYLXOLoW6pOYo82sgWbFbL+eu+kdVlozUuwHoIFpitqeMqaHb 9mO+s5Sxk41d/EygwUYE3Nc2KpnI4JCcHbDR3qvagIwO28fkeD0W5F2705fY5gc7Kfc1hW ZP5QFn7jYil5h9xRl13eoIP/M2RX+NBUd5/ycrC1arAKqJNnLqn74N7Dk5m4Vg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712836918; a=rsa-sha256; cv=none; b=NSBZk0F87L4hvDziJ7016HhItvAk1OsVnOJW3ZMhaxjL1+GCsRch8Tgdi1JinL1HjL/q25 h0xvxipZdQDyyIINRXA5Fk1OJiMWqifW2vz5XEfDHhEocC1TsGFpxzYybbwX0S4jU7FM7Z CDNLD+ky5RuVDLb9ktXh3dimYSfBpSIhUrWvbXh9TKDC01PmnGdaKKngiorPnPZPRA/Ahc PXtXUk5Bw57JDi7Rz5Mb7WOHP5hC7KHq2DwfV/8enAin7sx3vZ97/wqBq1pHYv360PEhXG H9zkkkKOoOP+VBbNNw6FX/vvnlhRDAZoImanzGf/VwW7pRhP5Bdako9xGjrCEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712836918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bAdgqWVvANPyq+CtSNGd7rbhDYlCQsDwP9G+/GMRH0M=; b=KSLnPPT9ei7PdgvcIvEzAxt7nK6+KPXHXK8d8ZOrUfN2wMlJgVScr1RZXD3ACCv1rJwcDm dBMNXZUDa23gZARBAqpTijrMKwaMOPAiIZUjL/WSL1s1Nrg1sW2HrUr/QUaYMvDPUVj6tP sRX9v1vvhihqh3kluxwan32ozRkPUTH6QVo/TNzb/JddTdif1EQrGGNobmIijVTw+q/VH6 71Xqt0UmJbo8chd9AsDmS2fPwbzCCTnWYjY9GCYSzmibI6Pn00b83oynJYNcWa8/9uqssv USdddboeAB7EDQU5WsvTQhv6U39GD1apZtyfULZDNAlKWL9afnGgmVH2lZTe2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFdbV0Wxpz1Kdq; Thu, 11 Apr 2024 12:01: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 43BC1wpb009143; Thu, 11 Apr 2024 12:01:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BC1wHf009140; Thu, 11 Apr 2024 12:01:58 GMT (envelope-from git) Date: Thu, 11 Apr 2024 12:01:58 GMT Message-Id: <202404111201.43BC1wHf009140@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 8c093b649599 - stable/14 - src.conf(5): regen after addition of nuageinit List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 8c093b6495998e671e0be27cbd8db6214489e706 Auto-Submitted: auto-generated The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=8c093b6495998e671e0be27cbd8db6214489e706 commit 8c093b6495998e671e0be27cbd8db6214489e706 Author: Baptiste Daroussin AuthorDate: 2024-03-15 08:21:17 +0000 Commit: Baptiste Daroussin CommitDate: 2024-04-11 12:01:20 +0000 src.conf(5): regen after addition of nuageinit (cherry picked from commit 0e2bf3002f7ea3f836fc71c135bdccd53ad78032) --- share/man/man5/src.conf.5 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index fbd99580ba35..eec250bcbca2 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,5 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd March 8, 2024 +.Dd April 11, 2024 .Dt SRC.CONF 5 .Os .Sh NAME @@ -1319,6 +1319,8 @@ will not be built either if this option is set. Do not build .Xr ntpd 8 and related programs. +.It Va WITHOUT_NUAGEINIT +Do not install the limited cloud init support scripts. .It Va WITHOUT_NVME Do not build nvme related tools and kernel modules. .Pp From nobody Thu Apr 11 12:05:32 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFdgc3vMTz5HJKG; Thu, 11 Apr 2024 12:05: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 4VFdgc34lHz50gg; Thu, 11 Apr 2024 12:05:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712837132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o36XvPqu0zSwDED6aNWmbOJsR/6Ar/utOI7KP1YnzkY=; b=NUeaK2kYc0RxocFmPjf/HN5Zk1iiH58d5Oxm6pLY13T+W+3mO8vYPiHtH42x87j8iGJ3Mp d5bV5I6c7NTdbKCWPT9bocog/FmsdQwn2KDv2MI5jjg7TyO63x4Uzp0JKI+cFdSpQOEzCU cqyfWMursV9eVUpNkgvo9Fg67j9FPWVNVvgKr1v9za6fHCaLqzrmrCJ/KzvIFiXbAL+rXi OGqDjlmVjLq1BnXutJNWeXTwQw8TIPuM+U6NgDjyS/P56gJ0Zlv8MCYis7LGtyQXWd67lC cvtDvfjP+em3e9s/1FMeBcjeWKyOjS+HWc51VumOc1XPZNRQcqTFyI4gJpwa7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712837132; a=rsa-sha256; cv=none; b=NWquMr0V7KQGNLwIdgtO4B2zkyXb+kCVD81n8fPl6IKnJt5TN7jtPg0Q/lIBvwJN7BJk2G JO/FdZ0n6SG+oNw5w30RuFGzwIz+ieO26jFP8ljPmyO7vD+/dZlOGYF3dgaL+uaUPnCmDn nBMDyqDgd3KknyM8JZgb0cRMekHBkymAgeyLTaWkU+4k9qoOoLfketsYDKYKbOlsw9dlAw 82O5vzsGts7AwKCEbVOCMOmRGzZyYPvoh3pikXX07mObAb4uVqeev8cxDB+87yKlP5AR3l +Exybzo3TUUL2Zu1dQ27S/QVZOSiCUDg/XU5JUzuxNnmOxTH5Dtjf7QiM3G3OQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712837132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o36XvPqu0zSwDED6aNWmbOJsR/6Ar/utOI7KP1YnzkY=; b=cpt/KJn/op2eajbqVPgPTc0Q/tXPluF3LUDRdV3XrByEXxDVt5Zv7T8/n35IqmJDdZaOH1 7vLZX3mHC3sbZIlhk0NhdIOM+EJyCM3+xdPmZJWv6xC/HFHspw0HJZDEv90DnNMlx6DYQa Yk4lCXxAkAG4q82mootbRf2L2uuZWNmSQkLtOm+ZjY57LjER09DzCL4brttTYJn+RItRi2 7jAJ1rdwODoDHxBTt14A/bQAYlVp/Jm+nw+/SXG3jmGjrlxLwRniIukCTwJ30W47V2pa5I avY0fZlhJFKCOl8Mv1xAlPiNfLVtf+RadI9sGMoy7hfTogx0pDp4CPcCLVWF3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFdgc2Yq7z1KKW; Thu, 11 Apr 2024 12:05: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 43BC5WvT011595; Thu, 11 Apr 2024 12:05:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BC5W9Q011592; Thu, 11 Apr 2024 12:05:32 GMT (envelope-from git) Date: Thu, 11 Apr 2024 12:05:32 GMT Message-Id: <202404111205.43BC5W9Q011592@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 227e7a205edf - stable/14 - release: add basic cloudinit images List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 227e7a205edf782129cba606f2d06b40e4728d98 Auto-Submitted: auto-generated The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=227e7a205edf782129cba606f2d06b40e4728d98 commit 227e7a205edf782129cba606f2d06b40e4728d98 Author: Baptiste Daroussin AuthorDate: 2024-03-15 08:43:20 +0000 Commit: Baptiste Daroussin CommitDate: 2024-04-11 12:05:10 +0000 release: add basic cloudinit images Provide both zfs and ufs images which a 1MB partition reserved for the config drive wearing a GPT Label "config-drive" to allow consumer to know where they should push the config drive on the provided image. This has been tested on OVHCloud baremetal via "bring your own image" Also tested on openstack Reviewed by: emaste Sponsored by: OVHCloud Differential Revision: https://reviews.freebsd.org/D44369 (cherry picked from commit 78b6117dac99c80fe618979fef4ef322b97415fa) (cherry picked from commit a977444652a59332c53b652b912c38a1d1802b58) --- release/Makefile.vm | 4 ++++ release/tools/basic-cloudinit.conf | 36 ++++++++++++++++++++++++++++++++++++ release/tools/vmimage.subr | 5 +++++ 3 files changed, 45 insertions(+) diff --git a/release/Makefile.vm b/release/Makefile.vm index 3a3b3bcd5f9d..a936e6cb98ca 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -19,6 +19,7 @@ RAW_DESC= Unformatted raw disk image CLOUDWARE_TYPES?= AZURE \ BASIC-CI \ + BASIC-CLOUDINIT \ EC2 \ GCE \ OCI \ @@ -29,6 +30,9 @@ 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_FSLIST?= ufs zfs +BASIC-CLOUDINIT_DESC?= Images for VM with cloudinit disk config support EC2_FORMAT= raw EC2_FSLIST= ufs zfs EC2_FLAVOURS= BASE CLOUD-INIT diff --git a/release/tools/basic-cloudinit.conf b/release/tools/basic-cloudinit.conf new file mode 100644 index 000000000000..da4bed5ea5b5 --- /dev/null +++ b/release/tools/basic-cloudinit.conf @@ -0,0 +1,36 @@ +#!/bin/sh +# +# + +# Should be enough for base image, image can be resized in needed +export VMSIZE=5g + +# 1M config drive should be enough in most cases +export CONFIG_DRIVE=YES +export CONFIG_DRIVE_SIZE=1M + +# Set to a list of third-party software to enable in rc.conf(5). +export VM_RC_LIST="sshd growfs nuageinit" + +vm_extra_pre_umount() { + cat << EOF >> ${DESTDIR}/etc/rc.conf +dumpdev="AUTO" +ifconfig_DEFAULT="DHCP" +sshd_enable="YES" +EOF + + cat << EOF >> ${DESTDIR}/boot/loader.conf +autoboot_delay="-1" +beastie_disable="YES" +loader_logo="none" +console="comconsole,vidconsole" +EOF + cat <> ${DESTDIR}/etc/ssh/sshd_config +PasswordAuthentication yes +UsePAM no +EOF + + touch ${DESTDIR}/firstboot + + return 0 +} diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index 6eaf17b07948..eda22e061c6d 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -242,6 +242,10 @@ vm_create_disk() { BOOTPARTSOFFSET=":${VM_BOOTPARTSOFFSET}" fi + if [ -n "${CONFIG_DRIVE}" ]; then + CONFIG_DRIVE="-p freebsd/config-drive::${CONFIG_DRIVE_SIZE}" + fi + case "${VMFS}" in ufs) FSPARTTYPE=freebsd-ufs @@ -315,6 +319,7 @@ vm_create_disk() { mkimg -s ${PARTSCHEME} -f ${VMFORMAT} \ ${BOOTPARTS} \ ${SWAPOPT} \ + ${CONFIG_DRIVE} \ ${ROOTFSPART} \ -o ${VMIMAGE} From nobody Thu Apr 11 12:08:27 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFdl00rt3z5HKDd; Thu, 11 Apr 2024 12:08: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 4VFdkz4ytcz51G4; Thu, 11 Apr 2024 12:08:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712837307; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7vj9L9f65cWdo5noDETsfb6FUpMJ1ZNU+101gfFJBNU=; b=Bxc+hpn20hI8oZBJaPCLb8I+Q/gbeyZHi70eliFh/1yCHjaBIcyKt/fJrSFEmFFRACWV8P fVrUqnzxJKdYZMDymYaW6p9agCeMXUWQq+RjpKMXL0UCSzQynNXsuM3U+v2UkT3DitxYMj j6zP/NLZPGYoG9yDhGtIugvaYX82J8+fttzxUHG2t7iFGHmtoHz0sKrQy7SFntbJlrJ1Q2 WZeLuHUV3YjpwznVKOJMb57j/gy+QqEIBallwcRRb71e/pLBB/41y48MLWjK86GtPLrt4G p46OTuyMwU1gBX2t7SQ3XILo0rm3njZcHnnZBq9tgnmBMhSsPYG5k9JZGQzqEQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712837307; a=rsa-sha256; cv=none; b=bKJZxv7/hDwAjFLmNYHLKRgDJ66saS0qaCeXnSjWodMkJowUjGBt1m1k1Ls32aY0+2FCkf 1KazW3zZV0QtuFnkMVphsWxJd0gr40xaMn9M3B/cSjNY1X3hEnldhMCpQzc+UjmavRdxmb 4Okk6dfU8JMHLcUza2VJo9455PR8/4Ra/6ltCWAfdD66uxBL2muQIKJdAQddaaxoCedxk2 bp4QBc4BB7I6I3RzHC+I/TQrj+PIw1t7ErqLbs0thhtjpgvIAHOANsBsmccO2KRvS6/MwZ R3YiI5AB4qSHd06XrmjE7v6lBmsFDCTHO5EfpwxxeYQ6wqFrVhocfNFKZFcuhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712837307; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7vj9L9f65cWdo5noDETsfb6FUpMJ1ZNU+101gfFJBNU=; b=gcnwWbwoNPFguC7y8qecW0MLC6UCwLZhLMDw0Yj435osR7JG7LyXuG7fPFeMgVoyWQ6GJ1 CzfqRiya9uSiWCUNHAWCLT+ya8z0j023ZnuNMXYZ7Jg3svW5yDGW0yPiSpmIKI0Mvn+Txx eUff25l2hx1P/YfmuL/UNETpfXQDi4/oTp3CMU3Ciw3kXb1RU7AG998eue0HT3Snk6dLNq 5h3i5h5GaPoradGRvpTB7D7q1CG5kINr55GRgGZexWnZ7Wn3IAkY0JC4SkqTDa+nptrldo vj5MwFGeBQ52gD/4MgVswmeH2OLJ8Bcdpkbb2Rjmdj96JxWRfz4GIcGi6DiMig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFdkz4ZJKz1KKb; Thu, 11 Apr 2024 12:08: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 43BC8RFL012099; Thu, 11 Apr 2024 12:08:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BC8RGE012096; Thu, 11 Apr 2024 12:08:27 GMT (envelope-from git) Date: Thu, 11 Apr 2024 12:08:27 GMT Message-Id: <202404111208.43BC8RGE012096@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 85df63ddd235 - stable/14 - mem.4: Correct the HISTORY section List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 85df63ddd235457f29250e769c3d2c43a3b5b4f6 Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=85df63ddd235457f29250e769c3d2c43a3b5b4f6 commit 85df63ddd235457f29250e769c3d2c43a3b5b4f6 Author: Gordon Bergling AuthorDate: 2024-03-24 05:10:39 +0000 Commit: Gordon Bergling CommitDate: 2024-04-11 12:08:16 +0000 mem.4: Correct the HISTORY section The history section (added in CSRG) claimed both first appeared in v6. Looking at the manuals in the TUHS archive, /dev/mem was in v1 and /dev/kmem was introduced in v5. Reviewed by: imp Obtained from: OpenBSD Differential Revision: https://reviews.freebsd.org/D44486 (cherry picked from commit 8a56ef8d75b42ee7228247466c8c1712de6e3b6f) --- share/man/man4/mem.4 | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/share/man/man4/mem.4 b/share/man/man4/mem.4 index 71e7c41937a0..5df074acc8f3 100644 --- a/share/man/man4/mem.4 +++ b/share/man/man4/mem.4 @@ -27,7 +27,7 @@ .\" .\" @(#)mem.4 5.3 (Berkeley) 5/2/91 .\" -.Dd March 11, 2022 +.Dd March 24, 2024 .Dt MEM 4 .Os .Sh NAME @@ -300,11 +300,13 @@ privilege. .Xr memcontrol 8 .Sh HISTORY The -.Nm mem +.Pa /dev/mem +file appeared in +.At v1 and -.Nm kmem -files appeared in -.At v6 . +.Pa /dev/kmem +in +.At v5 . The ioctl interface for memory range attributes was added in .Fx 3.2 . .Sh BUGS From nobody Thu Apr 11 12:11:04 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFdp06fsyz5HK6H; Thu, 11 Apr 2024 12:11: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 4VFdp05yRsz5275; Thu, 11 Apr 2024 12:11:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712837464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J4Upspbh3qq1zsNMKdTfEQIlAmk193CtognHIVC96yA=; b=EYrvnbc7aks+Rr3JsH8592aU1B6U51uLyONyc5ett8HrBDhqDVA/YmpxqP0LQUCZkDuPWx 8hwSCyLRddBtGJkiIfsB2fO/mXRJ/BxMml645YQ8caVEsbJ2nKmz/6KK350Ie6iqkJ4Lbh pjJir3kZ4iYwnvaWGh+VoPt8rleelqgcFdC4eH0ABjBg+Is53RUKxIg1f8jC8Yjod3bUN4 q2YxtdKWMfxCbX1Ulx3qbFSpqP1IDxez1c60zr8WxPWRBiJddCN7QK7JW3Z9y4I/yu5YdA TDedztjgdWtfIfF1otDoKB0hT18FckqeQ0n2vomYWrFggOtJC5+NugKgov1SFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712837464; a=rsa-sha256; cv=none; b=TORRQax2gCKPgOxvw/ycjG7gHTyKMkRxdr4YwEEUy6u6FgQdxu9BfscKtRrybNenVQv9IU 9cwS6qn3PxzK4Xf1ZM0MR1msw2U997YT2guR7/pZxkO9H69AxE28/CeNH2npn3kQvqvfye ei9eelKArNZ6+a68emCQ8mZI6Dv11OLHld11CFNTcKatxwf2kljFAKQ1ohXlmOUVjZ++Sa 3q+IwALKOK//ysH2v/8T7vBL1mVQHs8mMU1Fnku9yo4JoR4i5yZYR1enRimMT9K18LzJSR w/bESYRPc/vcYRNXcPFaQAoUv71d4Uz8/Q+icQIUqjCafCkj9sB/LOY4UwmxAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712837464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J4Upspbh3qq1zsNMKdTfEQIlAmk193CtognHIVC96yA=; b=jMlwGSordTd5Bd366ATeGXEEOPWs28Z1L7tj7dPaHM8ewKgsVZ+rJi8XI72/7sCgrDcMLw dc54kTuLMoOCnPpOlQp4Yl4mNnTFlA5WmyZappUdm3eaCxyGeH1b5Bm5tzEpFYGyJzSGL6 DlMPhcMIUU2aGI7+76Zd4blX3r2IKkrMsFcn1vrtK4eTQv0VtudAIG5mvbxQKOGyDwUKqk YLGG0fNuxZJ7LCZyWrWMw9rXjDJn5fl2jkaxcqRLVaxylrYFRI/PwJvLu4RXez5rB/Efay ln3Pqya+yTuit0PzBL1yYOdaDWy+OrhLnwy05KSvB28B/OHoWfZluPwqcBRHzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFdp05YPTz1Jh3; Thu, 11 Apr 2024 12:11: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 43BCB4v2021154; Thu, 11 Apr 2024 12:11:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BCB49Y021151; Thu, 11 Apr 2024 12:11:04 GMT (envelope-from git) Date: Thu, 11 Apr 2024 12:11:04 GMT Message-Id: <202404111211.43BCB49Y021151@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 15ce8a1cc1be - stable/13 - mem.4: Correct the HISTORY section List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: 15ce8a1cc1be157e761f105bf8a5190de6a267f2 Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=15ce8a1cc1be157e761f105bf8a5190de6a267f2 commit 15ce8a1cc1be157e761f105bf8a5190de6a267f2 Author: Gordon Bergling AuthorDate: 2024-03-24 05:10:39 +0000 Commit: Gordon Bergling CommitDate: 2024-04-11 12:10:53 +0000 mem.4: Correct the HISTORY section The history section (added in CSRG) claimed both first appeared in v6. Looking at the manuals in the TUHS archive, /dev/mem was in v1 and /dev/kmem was introduced in v5. Reviewed by: imp Obtained from: OpenBSD Differential Revision: https://reviews.freebsd.org/D44486 (cherry picked from commit 8a56ef8d75b42ee7228247466c8c1712de6e3b6f) --- share/man/man4/mem.4 | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/share/man/man4/mem.4 b/share/man/man4/mem.4 index 71e7c41937a0..5df074acc8f3 100644 --- a/share/man/man4/mem.4 +++ b/share/man/man4/mem.4 @@ -27,7 +27,7 @@ .\" .\" @(#)mem.4 5.3 (Berkeley) 5/2/91 .\" -.Dd March 11, 2022 +.Dd March 24, 2024 .Dt MEM 4 .Os .Sh NAME @@ -300,11 +300,13 @@ privilege. .Xr memcontrol 8 .Sh HISTORY The -.Nm mem +.Pa /dev/mem +file appeared in +.At v1 and -.Nm kmem -files appeared in -.At v6 . +.Pa /dev/kmem +in +.At v5 . The ioctl interface for memory range attributes was added in .Fx 3.2 . .Sh BUGS From nobody Thu Apr 11 13:25:01 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFgRK35bgz5HQX2; Thu, 11 Apr 2024 13:25:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VFgRK2rFvz57Mj; Thu, 11 Apr 2024 13:25:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712841901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UxwAVcZp7pNgBI3iOGd1Cynt4Qy4QYv5PphOziJkIoE=; b=VJG0vJUzYnw55Rt+nrc7qiBUarpm/1I6v8LVDRaYm0OBTyEvwNTc8OjKHyMlAKfa5TBjUM JMQryWRwdyLwB1FRqXWw/Zg9PMzXpvQTR+S5iptJYf7OpCKKSnfo2yqsIaLaod52lgOgo5 hhw5CR2hMMZdBVRRmrexL1Q+8wGWoiYiEZWTo6A0TJvEuthHfX+E9ex6OKr4Gh+0Tu+3Up 6/SBw4l+Y5iWwxvxBXo48q7clG4LpATU7RuIdAHNKLuZT/uBbR/9XYf9BwPVIeUynF4mH3 ar02eCXNOiRv0kfvJmU4GlmropMkSfe/ZUJQc76EpDp/b+VKjfA7ftISgMlLIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712841901; a=rsa-sha256; cv=none; b=ncrgtUjGSHmhnYdLxHjvmGznu6dvPpvzuBNoscZpw/RDWGUkoYcZ8XaxRKAMavKSDDxVI5 o62KRgtOk5t4D3oScV+wxgSteFIzymwh/yPHp1awX8bQY0hko390xdML2dZI3LB8YvxjIi BOVwA+xa3/LQqCgcvqJrVfTc2KHl62kxxF7EyxwRGdjdtwhKTnjqFT7SDV1mS5JzaEYymO PMOKJlXWLXerEmfBLXK+5XA6m/rALNcjNgaUk+NSikjyak3OuJJDhV4k9xSYw3gLIt8OJh cwzx5EGFL1Xwd0E8noXiUG3BNfmFFxQ7o2tdwux80urTQlOs0Nq7fsAyJOcnqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712841901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UxwAVcZp7pNgBI3iOGd1Cynt4Qy4QYv5PphOziJkIoE=; b=XnzSAQPD6MmlOlKuu9YR1kkZoRHzUrar+ny9E99qpdwEDWnzT82qWjfgvW0d6j2Rlbq2M7 Gi/VL3t06Q5jgjGmFrLVIxTgaCJHrjAFR0OzKLNYJhdMK7tsuEJ5FByDfYwZVX6ihSQUqM y4U3HkgtGce03gjfM5rJ36a2gUVZHRTSUAvGqENTTzwUk/s/7zWcy8kjbmyq2xB7DHwLOn 0TP0OBQwOHDAgrINok3l773IE9cZPeFoGYJX1VAYFSJDtcuqjNYl+09qjtlnj6yXtjhBaV /w48ne/J+2LPTyLChYPazLf01BFjyvui8VfnFQ4vgV+mnhsWzcv/+U1P9REEXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFgRK2RW4z1MBv; Thu, 11 Apr 2024 13:25: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 43BDP1mU046937; Thu, 11 Apr 2024 13:25:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BDP1EE046934; Thu, 11 Apr 2024 13:25:01 GMT (envelope-from git) Date: Thu, 11 Apr 2024 13:25:01 GMT Message-Id: <202404111325.43BDP1EE046934@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 155779894faa - stable/14 - pam: Add pam_xdg module List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 155779894faafa220a38fd57ed6ff9e3aa6eff23 Auto-Submitted: auto-generated The branch stable/14 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=155779894faafa220a38fd57ed6ff9e3aa6eff23 commit 155779894faafa220a38fd57ed6ff9e3aa6eff23 Author: Emmanuel Vadot AuthorDate: 2024-02-21 14:51:05 +0000 Commit: Emmanuel Vadot CommitDate: 2024-04-11 13:24:49 +0000 pam: Add pam_xdg module This is a module to setup the XDG directories and environment variables. For now the only usage is to have a XDG_RUNTIME_DIR environment setup at user login. All other environment variable have a default fallback so no need to export them in this module. The directory is created according to the XDG Base directory specification. The default base directory is /var/run/xdg/ but can be configured using the runtime_dir= module option. According to the spec the directory *must* not survive a reboot so adding var_run_enable="YES" to rc.conf is highly recommanded. Reviewed by: des, pauamma (manpages) Differential Revision: https://reviews.freebsd.org/D44011 Sponsored by: Beckhoff Automation GmbH & Co. KG (cherry picked from commit 6e69612d5df1c1d5bd86990ea4d9a170c030b292) --- lib/libpam/modules/modules.inc | 1 + lib/libpam/modules/pam_xdg/Makefile | 6 + lib/libpam/modules/pam_xdg/pam_xdg.8 | 56 +++++++ lib/libpam/modules/pam_xdg/pam_xdg.c | 311 +++++++++++++++++++++++++++++++++++ 4 files changed, 374 insertions(+) diff --git a/lib/libpam/modules/modules.inc b/lib/libpam/modules/modules.inc index ddbb326f0312..f3ab65333f4f 100644 --- a/lib/libpam/modules/modules.inc +++ b/lib/libpam/modules/modules.inc @@ -30,3 +30,4 @@ MODULES += pam_ssh .endif MODULES += pam_tacplus MODULES += pam_unix +MODULES += pam_xdg \ No newline at end of file diff --git a/lib/libpam/modules/pam_xdg/Makefile b/lib/libpam/modules/pam_xdg/Makefile new file mode 100644 index 000000000000..2a470e0850bf --- /dev/null +++ b/lib/libpam/modules/pam_xdg/Makefile @@ -0,0 +1,6 @@ + +LIB= pam_xdg +SRCS= pam_xdg.c +MAN= pam_xdg.8 + +.include diff --git a/lib/libpam/modules/pam_xdg/pam_xdg.8 b/lib/libpam/modules/pam_xdg/pam_xdg.8 new file mode 100644 index 000000000000..1a8b53def051 --- /dev/null +++ b/lib/libpam/modules/pam_xdg/pam_xdg.8 @@ -0,0 +1,56 @@ +.\" * SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 2024 Beckhoff Automation GmbH & Co. KG +.\" +.\" * Redistribution and use in source and binary forms, with or without +.\" * modification, are permitted provided that the following conditions +.\" * are met: +.\" * 1. Redistributions of source code must retain the above copyright +.\" * notice, this list of conditions and the following disclaimer. +.\" * 2. Redistributions in binary form must reproduce the above copyright +.\" * notice, this list of conditions and the following disclaimer in the +.\" * documentation and/or other materials provided with the distribution. +.\" * +.\" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" * SUCH DAMAGE. +.Dd February 21, 2024 +.Dt PAM_XDG 8 +.Os +.Sh NAME +.Nm pam_xdg +.Nd XDG PAM module +.Sh SYNOPSIS +.Op Ar service-name +.Ar module-type +.Ar control-flag +.Pa pam_xdg +.Op Ar arguments +.Sh DESCRIPTION +The xdg service module for PAM sets up the runtime directory according +to the XDG specifications. +.Pp +By default the directory is created under +.Pa /var/run/xdg/ . +.Pp +The following option may be passed to the authentication module: +.Bl -tag -width ".Cm runtime_dir" +.It Cm runtime_dir Ns = Ns Ar directory +Use an alternate base directory +.El +.Sh SEE ALSO +.Xr pam 3 , +.Xr pam.conf 5 +.Sh AUTHORS +The +.Nm +module and this manual page were written by +.An Emmanuel Vadot Aq Mt manu@FreeBSD.org . diff --git a/lib/libpam/modules/pam_xdg/pam_xdg.c b/lib/libpam/modules/pam_xdg/pam_xdg.c new file mode 100644 index 000000000000..40012fe463e0 --- /dev/null +++ b/lib/libpam/modules/pam_xdg/pam_xdg.c @@ -0,0 +1,311 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Beckhoff Automation GmbH & Co. KG + * + * 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 + +#define PAM_SM_SESSION + +#include +#include +#include + +#define BASE_RUNTIME_DIR_PREFIX "/var/run/xdg" +#define RUNTIME_DIR_PREFIX runtime_dir_prefix != NULL ? runtime_dir_prefix : BASE_RUNTIME_DIR_PREFIX + +#define RUNTIME_DIR_PREFIX_MODE 0711 +#define RUNTIME_DIR_MODE 0700 /* XDG spec */ + +#define XDG_MAX_SESSION 100 /* Arbitrary limit because we need one */ + +static int +_pam_xdg_open(pam_handle_t *pamh, int flags __unused, + int argc __unused, const char *argv[] __unused) +{ + struct passwd *passwd; + const char *user; + const char *runtime_dir_prefix; + struct stat sb; + char *runtime_dir = NULL; + char *xdg_session_file; + int rv, rt_dir_prefix, rt_dir, session_file, i; + + session_file = -1; + rt_dir_prefix = -1; + runtime_dir_prefix = openpam_get_option(pamh, "runtime_dir_prefix"); + + /* Get user info */ + rv = pam_get_item(pamh, PAM_USER, (const void **)&user); + if (rv != PAM_SUCCESS) { + PAM_VERBOSE_ERROR("Can't get user information"); + goto out; + } + if ((passwd = getpwnam(user)) == NULL) { + PAM_VERBOSE_ERROR("Can't get user information"); + rv = PAM_SESSION_ERR; + goto out; + } + + /* Open or create the base xdg directory */ + rt_dir_prefix = open(RUNTIME_DIR_PREFIX, O_DIRECTORY | O_NOFOLLOW); + if (rt_dir_prefix < 0) { + rt_dir_prefix = mkdir(RUNTIME_DIR_PREFIX, RUNTIME_DIR_PREFIX_MODE); + if (rt_dir_prefix != 0) { + PAM_VERBOSE_ERROR("Can't mkdir %s", RUNTIME_DIR_PREFIX); + rv = PAM_SESSION_ERR; + goto out; + } + rt_dir_prefix = open(RUNTIME_DIR_PREFIX, O_DIRECTORY | O_NOFOLLOW); + } + + /* Open or create the user xdg directory */ + rt_dir = openat(rt_dir_prefix, user, O_DIRECTORY | O_NOFOLLOW); + if (rt_dir < 0) { + rt_dir = mkdirat(rt_dir_prefix, user, RUNTIME_DIR_MODE); + if (rt_dir != 0) { + PAM_VERBOSE_ERROR("mkdir: %s/%s (%d)", RUNTIME_DIR_PREFIX, user, rt_dir); + rv = PAM_SESSION_ERR; + goto out; + } + rv = fchownat(rt_dir_prefix, user, passwd->pw_uid, passwd->pw_gid, 0); + if (rv != 0) { + PAM_VERBOSE_ERROR("fchownat: %s/%s (%d)", RUNTIME_DIR_PREFIX, user, rv); + rv = unlinkat(rt_dir_prefix, user, AT_REMOVEDIR); + if (rv == -1) + PAM_VERBOSE_ERROR("unlinkat: %s/%s (%d)", RUNTIME_DIR_PREFIX, user, errno); + rv = PAM_SESSION_ERR; + goto out; + } + } else { + /* Check that the already create dir is correctly owned */ + rv = fstatat(rt_dir_prefix, user, &sb, 0); + if (rv == -1) { + PAM_VERBOSE_ERROR("fstatat %s/%s failed (%d)", RUNTIME_DIR_PREFIX, user, errno); + rv = PAM_SESSION_ERR; + goto out; + } + if (sb.st_uid != passwd->pw_uid || + sb.st_gid != passwd->pw_gid) { + PAM_VERBOSE_ERROR("%s/%s isn't owned by %d:%d\n", RUNTIME_DIR_PREFIX, user, passwd->pw_uid, passwd->pw_gid); + rv = PAM_SESSION_ERR; + goto out; + } + /* Test directory mode */ + if ((sb.st_mode & 0x1FF) != RUNTIME_DIR_MODE) { + PAM_VERBOSE_ERROR("%s/%s have wrong mode\n", RUNTIME_DIR_PREFIX, user); + rv = PAM_SESSION_ERR; + goto out; + } + } + + /* Setup the environment variable */ + asprintf(&runtime_dir, "XDG_RUNTIME_DIR=%s/%s", RUNTIME_DIR_PREFIX, user); + rv = pam_putenv(pamh, runtime_dir); + if (rv != PAM_SUCCESS) { + PAM_VERBOSE_ERROR("pam_putenv: failed (%d)", rv); + rv = PAM_SESSION_ERR; + goto out; + } + + /* Setup the session count file */ + for (i = 0; i < XDG_MAX_SESSION; i++) { + asprintf(&xdg_session_file, "%s/xdg_session.%d", user, i); + printf("Trying to open %s\n", xdg_session_file); + session_file = openat(rt_dir_prefix, xdg_session_file, O_CREAT | O_EXCL, RUNTIME_DIR_MODE); + free(xdg_session_file); + if (session_file >= 0) + break; + } + if (session_file < 0) { + PAM_VERBOSE_ERROR("Too many sessions"); + rv = PAM_SESSION_ERR; + goto out; + } + +out: + if (session_file >= 0) + close(session_file); + if (rt_dir_prefix >= 0) + close(rt_dir_prefix); + + if (runtime_dir) + free(runtime_dir); + return (rv); +} + +static int +remove_dir(int fd) +{ + DIR *dirp; + struct dirent *dp; + + dirp = fdopendir(fd); + if (dirp == NULL) + return (-1); + + while ((dp = readdir(dirp)) != NULL) { + if (dp->d_type == DT_DIR) { + int dirfd; + + if (strcmp(dp->d_name, ".") == 0 || + strcmp(dp->d_name, "..") == 0) + continue; + dirfd = openat(fd, dp->d_name, 0); + remove_dir(dirfd); + close(dirfd); + unlinkat(fd, dp->d_name, AT_REMOVEDIR); + continue; + } + unlinkat(fd, dp->d_name, 0); + } + + return (0); +} + +static int +_pam_xdg_close(pam_handle_t *pamh __unused, int flags __unused, + int argc __unused, const char *argv[] __unused) +{ + struct passwd *passwd; + const char *user; + const char *runtime_dir_prefix; + struct stat sb; + char *xdg_session_file; + int rv, rt_dir_prefix, rt_dir, session_file, i; + + rt_dir = -1; + rt_dir_prefix = -1; + runtime_dir_prefix = openpam_get_option(pamh, "runtime_dir_prefix"); + + /* Get user info */ + rv = pam_get_item(pamh, PAM_USER, (const void **)&user); + if (rv != PAM_SUCCESS) { + PAM_VERBOSE_ERROR("Can't get user information"); + goto out; + } + if ((passwd = getpwnam(user)) == NULL) { + PAM_VERBOSE_ERROR("Can't get user information"); + rv = PAM_SESSION_ERR; + goto out; + } + + /* Open the xdg base directory */ + rt_dir_prefix = open(RUNTIME_DIR_PREFIX, O_DIRECTORY | O_NOFOLLOW); + if (rt_dir_prefix < 0) { + PAM_VERBOSE_ERROR("open: %s failed (%d)\n", runtime_dir_prefix, rt_dir_prefix); + rv = PAM_SESSION_ERR; + goto out; + } + /* Check that the already created dir is correctly owned */ + rv = fstatat(rt_dir_prefix, user, &sb, 0); + if (rv == -1) { + PAM_VERBOSE_ERROR("fstatat %s/%s failed (%d)", RUNTIME_DIR_PREFIX, user, errno); + rv = PAM_SESSION_ERR; + goto out; + } + if (sb.st_uid != passwd->pw_uid || + sb.st_gid != passwd->pw_gid) { + PAM_VERBOSE_ERROR("%s/%s isn't owned by %d:%d\n", RUNTIME_DIR_PREFIX, user, passwd->pw_uid, passwd->pw_gid); + rv = PAM_SESSION_ERR; + goto out; + } + /* Test directory mode */ + if ((sb.st_mode & 0x1FF) != RUNTIME_DIR_MODE) { + PAM_VERBOSE_ERROR("%s/%s have wrong mode\n", RUNTIME_DIR_PREFIX, user); + rv = PAM_SESSION_ERR; + goto out; + } + + /* Open the user xdg directory */ + rt_dir = openat(rt_dir_prefix, user, O_DIRECTORY | O_NOFOLLOW); + if (rt_dir < 0) { + PAM_VERBOSE_ERROR("openat: %s/%s failed (%d)\n", RUNTIME_DIR_PREFIX, user, rt_dir_prefix); + rv = PAM_SESSION_ERR; + goto out; + } + + /* Get the last session file created */ + for (i = XDG_MAX_SESSION; i >= 0; i--) { + asprintf(&xdg_session_file, "%s/xdg_session.%d", user, i); + session_file = openat(rt_dir_prefix, xdg_session_file, 0); + if (session_file >= 0) { + unlinkat(rt_dir_prefix, xdg_session_file, 0); + free(xdg_session_file); + break; + } + free(xdg_session_file); + } + if (session_file < 0) { + PAM_VERBOSE_ERROR("Can't find session number\n"); + rv = PAM_SESSION_ERR; + goto out; + } + close(session_file); + + /* Final cleanup if last user session */ + if (i == 0) { + remove_dir(rt_dir); + if (unlinkat(rt_dir_prefix, user, AT_REMOVEDIR) != 0) { + PAM_VERBOSE_ERROR("Can't cleanup %s/%s\n", runtime_dir_prefix, user); + rv = PAM_SESSION_ERR; + goto out; + } + } + + rv = PAM_SUCCESS; +out: + if (rt_dir >= 0) + close(rt_dir); + if (rt_dir_prefix >= 0) + close(rt_dir_prefix); + return (rv); +} + +PAM_EXTERN int +pam_sm_open_session(pam_handle_t *pamh, int flags, + int argc, const char *argv[]) +{ + + return (_pam_xdg_open(pamh, flags, argc, argv)); +} + +PAM_EXTERN int +pam_sm_close_session(pam_handle_t *pamh, int flags, + int argc, const char *argv[]) +{ + + return (_pam_xdg_close(pamh, flags, argc, argv)); +} + +PAM_MODULE_ENTRY("pam_xdg"); From nobody Thu Apr 11 13:25:02 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFgRM0VRJz5HQYv; Thu, 11 Apr 2024 13:25: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 4VFgRL6pWGz57T8; Thu, 11 Apr 2024 13:25:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712841903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6/5Dfz5WPLTNJQT1qsx5dlIDlaZOwetadyX5CEFBrOw=; b=ByXDsVBkF1UBMFG10A0RS/BwA4akHT2dSTJ1KqHo/+ksx5VKtx6L1hFXBHDh35mBN1uAW4 Yb/CF9kFO2/GXMHrP6KcnEwzGOyeyIuSa6E4zhhkRs8qvqpmzK3OfYvZnidP0VbtqwvJkd pUhJjSfPkfroxrMH5UIMQ0jg/GHFbCBa3sFCo2IZsu+bhoHVJoJA19pAWQGJHeyz8x/zuP 0llHdjfEJulciwwmxFXNCNH/lMvJsGh7aOmGIruh/RDxDNafIKjqR1owSAsj3W8s0CHI3G 1t21jLpz9xID+Alj/CezXKc6mdoatfQwPvbC1OiZZMkv6toDEpShM0KnUnO/jw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712841903; a=rsa-sha256; cv=none; b=b6eGUUOV3CLr1Rkxpipt4YKg0cfkyK2tpLeOyhjFK+tAZnK5sgPDrRDNiaMs7VlqzLl7ha V/D5oZslNUOF6QnUKV+LtXSoSr75QaVUSVyg4+C0ggazVxFxf/APCblUehzOm0IoR3lEwn 1pvco7ffQIBEFZhMgVIwjy21fSgFNgAphWO504iwfJzWmguNP+Bd21o0B34au1DqNKzwFw qyWqrFpeHzUv1LytO12cyDN2hN6rHjzlB1md2VQ2KPm/LgomClwcqbBVyME7BcanNKXb8D yTNvlAvYDHcxHbG85AJscaTmprsubZMG0D/6Fpqt63FIdFD1wvTOszNqSfPIWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712841903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6/5Dfz5WPLTNJQT1qsx5dlIDlaZOwetadyX5CEFBrOw=; b=d0m7F3KUkjahanGNWpk7KEyFHeYE04YqM9OclJjIv8FkNISdnB06u+sOWkVus/XnfSDdyp Yfqdgy9U6JN4Z/uMElrJPQNAK0+URCTxQjypZHyfz4dljjkpG5ObXFoP4hI+uhqFeJiiu+ fKyFJ9skbmtSe5G4Ler4eM8/IDHd2kg2BCQFWpei05CPm02YV1ZSywaOrvKKkdb93aFi1K rfJr9ReMfjP2CClMj6wk75z9ibzEBzCdkYLXDVaMaPuloMMyRexB7JHPMOsyVL87iSmMn3 Qfg7OqLHgO00n15z1HZt54/XFkjngKPl/2QIQhkBGuCrGQfQRRv4K2UYsDi32w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFgRL5Vdnz1M6D; Thu, 11 Apr 2024 13:25: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 43BDP21Z046988; Thu, 11 Apr 2024 13:25:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BDP2lK046985; Thu, 11 Apr 2024 13:25:02 GMT (envelope-from git) Date: Thu, 11 Apr 2024 13:25:02 GMT Message-Id: <202404111325.43BDP2lK046985@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 8bca4da5bca3 - stable/14 - pam: Always use pam_xdg for session and xdm List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8bca4da5bca3748a5e8a7d0f1d3de36e0e73b6d9 Auto-Submitted: auto-generated The branch stable/14 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=8bca4da5bca3748a5e8a7d0f1d3de36e0e73b6d9 commit 8bca4da5bca3748a5e8a7d0f1d3de36e0e73b6d9 Author: Emmanuel Vadot AuthorDate: 2024-02-22 05:46:08 +0000 Commit: Emmanuel Vadot CommitDate: 2024-04-11 13:24:49 +0000 pam: Always use pam_xdg for session and xdm This ensure that the XDG_RUNTIME_DIR is always created and the environment variable is present which is a must for any wayland user (at least). The only "cost" of it is a directory is created and unused. Reviewed by: des Differential Revision: https://reviews.freebsd.org/D44012 Sponsored by: Beckhoff Automation GmbH & Co. KG (cherry picked from commit 6b9e6f12e5bbfe347dba8ff8e1e161f9180a1edd) --- lib/libpam/pam.d/system | 1 + lib/libpam/pam.d/xdm | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/libpam/pam.d/system b/lib/libpam/pam.d/system index 5ba5567ea9c8..0b5ae5c8fff8 100644 --- a/lib/libpam/pam.d/system +++ b/lib/libpam/pam.d/system @@ -16,6 +16,7 @@ account required pam_unix.so # session #session optional pam_ssh.so want_agent session required pam_lastlog.so no_fail +session required pam_xdg.so # password #password sufficient pam_krb5.so no_warn try_first_pass diff --git a/lib/libpam/pam.d/xdm b/lib/libpam/pam.d/xdm index da4ac9f65c28..7f603ab640fd 100644 --- a/lib/libpam/pam.d/xdm +++ b/lib/libpam/pam.d/xdm @@ -16,6 +16,7 @@ account required pam_unix.so # session #session required pam_ssh.so want_agent session required pam_lastlog.so no_fail +session required pam_xdg.so # password password required pam_deny.so From nobody Thu Apr 11 13:25:03 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFgRN01Hnz5HQX6; Thu, 11 Apr 2024 13:25: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 4VFgRM4Xp1z57kV; Thu, 11 Apr 2024 13:25:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712841903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LGWGfRIyY6yvtMuqrkL9vqN5SAmaqbmRXgsqmca/X/8=; b=ujdxL4fstTCxmIAfze+2izJBaPwFWWfBEEWxjqt6zzYsVFAF12e4MhrG1ItUbSBN8KqqfW b0zYFyhwaLPekxQOsjuQP+kS8Hlrh95UQBNQt1B8XhI9O19hsjaNGO/BeG1nxUjYrX/mt1 ncaB4vdwdetk9cb52P8TRIcBc+nfV5UkD4ZAX+OA4Q2AMB61+zUMHWqXWL1BxeOoQ5+gE7 7uHM6OgdIUTj3gm2QoBtfaD2fldb1mWqrYjEFBQNX8X4ZC4MeQZE0BpSh1FpJPuf9TGmZI 4T170VGpMUR32dV4LunWYVXhEslWocR41X8Mv8PpDVqQ4zDdrSta5NjqpF8vMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712841903; a=rsa-sha256; cv=none; b=JGIP19HJEiot0Sndr6IpBcpYcHqTLNiW0heiRydQhloMkSZC9jyVtFtv4spkgasUMrHvEc Oy02fnbeg8OS1knUQg6C7Jlscy/Yxo623JrCrDZSf27U2mtrMjtPsRExqi2SWmp8TRFklc UY3dfnqwSasDGeouxwKwYIMmw0OGwk5vMIbsL3JaHt0v9obGvz6sDFw6E9Hu7PWwp5wFiv J/yAV0tKWytx5hA8WrhT/99ngEg7Tl2KoOcq0YP4O+H8obPHRhGHtBDQBCCnw2sFP3abMn lF1pRI740QSD7f+w3MibDE7uzWjuo4IwGaKOyifYu6p/XH5YDBH3KIrR5SQiNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712841903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LGWGfRIyY6yvtMuqrkL9vqN5SAmaqbmRXgsqmca/X/8=; b=dBh5l0ACiuX+3z69cpHZQ63sKphPdqveYrjuqqheng36fhA71CloMtGIDjDsjo46NWxiMC HkF/lWRO/0MTc5Jqje6DBE7ve3iLEUPi3WtnEfTrrMeVHqgPoibbgxbHTSl9a2aEU9SvM0 +wA8arX4UFQif0iFw0GVLXfyyuSUogZ9yP61peTcDkRzJYQ/5Tug2RQ8EmuQzlZcloe8BY MsZjvNSPKAMmAO5Es1qINS95QgzeqRzDmLiAGjsBgFCAj6mgDMFW8UKKn9CRdr5V/sDlzH ZmdErj5E5KkoqCS/wRtxmfKulnuyzHNvIX7rzU0mla2m+EugjZxGNbt7SzyxuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFgRM47jmz1MLh; Thu, 11 Apr 2024 13:25: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 43BDP3jA047030; Thu, 11 Apr 2024 13:25:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BDP30w047027; Thu, 11 Apr 2024 13:25:03 GMT (envelope-from git) Date: Thu, 11 Apr 2024 13:25:03 GMT Message-Id: <202404111325.43BDP30w047027@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: bb219e78dddd - stable/14 - pam_xdg: Remove leftover debug printf List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bb219e78dddd57741fd392d2c99f8a17e54e69bf Auto-Submitted: auto-generated The branch stable/14 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=bb219e78dddd57741fd392d2c99f8a17e54e69bf commit bb219e78dddd57741fd392d2c99f8a17e54e69bf Author: Emmanuel Vadot AuthorDate: 2024-02-27 06:39:13 +0000 Commit: Emmanuel Vadot CommitDate: 2024-04-11 13:24:49 +0000 pam_xdg: Remove leftover debug printf Sponsored by: Beckhoff Automation GmbH & Co. KG Fixes: 6e69612d5df1 ("pam: Add pam_xdg module") (cherry picked from commit 84329908c522b428e4dc858a9bac769117927cd3) --- lib/libpam/modules/pam_xdg/pam_xdg.c | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/libpam/modules/pam_xdg/pam_xdg.c b/lib/libpam/modules/pam_xdg/pam_xdg.c index 40012fe463e0..d218bc0425f2 100644 --- a/lib/libpam/modules/pam_xdg/pam_xdg.c +++ b/lib/libpam/modules/pam_xdg/pam_xdg.c @@ -141,7 +141,6 @@ _pam_xdg_open(pam_handle_t *pamh, int flags __unused, /* Setup the session count file */ for (i = 0; i < XDG_MAX_SESSION; i++) { asprintf(&xdg_session_file, "%s/xdg_session.%d", user, i); - printf("Trying to open %s\n", xdg_session_file); session_file = openat(rt_dir_prefix, xdg_session_file, O_CREAT | O_EXCL, RUNTIME_DIR_MODE); free(xdg_session_file); if (session_file >= 0) From nobody Thu Apr 11 13:25:04 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFgRP0BKsz5HQfc; Thu, 11 Apr 2024 13:25:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VFgRN5Vx5z57hQ; Thu, 11 Apr 2024 13:25:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712841904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VhOfHe/mFdBp0gxT+q2Vugw7yILHoAKKUsV0JX48a6I=; b=F2L9mPdo8y1y+EhgXJP/RKmlKISbm4+1+BH131GJM6IV3eMz/VO7KGpXfbLrnDhosJCcJ9 +pDMQ+jQHt/htUp2/GFQ0F4OPtOl6rd772ZIWaQSpzSi8u5MuAzWIBHw5MOhTS2n7KVy2z /SKOIPXCBiwxAXMm4pabQhdlwYqJFlfRD4LDyMpYKpKpXql21O6UiiGBb5mTXpgLEMi9kA Zj4HmzImVANSbd9Nc0fbye4OrJ8NnL1lpaxwXWNveXPQNCfu3sXjvcgWwrGsoOGXOVfbe9 gKQlEvgO+6gxHLzog7Q8qeFMtd7Aifgp/Di4ZG7CnAn7tadrCfsj06v49RdBEw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712841904; a=rsa-sha256; cv=none; b=t7R726adCE3Q0RlMslRjIK4APev+LhfXjIcDC4wDozW1RlJ4qnaPKA7GYlatsSx2qZfv0I IyR0d/4G6oyKlIz0oCpgwmrxp1oDg7UCvyMRrRiil4mqTx4KqcBzKB2zaCFQuu10iNJ6xy WtRQ7Q7Ud+kQmjA9/epgVGxGWKyHphoucCtM6/hX/TAKVX3TpJUyBPFKmjeG137RCXyEpK CY9edoHyp9LlYCA8wv4zfji40eg5GJlfj5X6myzL1HvriFRZwJ721Zsbsd/SObeKCKysnB XebroHvwxNs6qoPBEGX+k9dZ77UqARnQF7nivc900LMbw6JUygjjSZN5cKyyhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712841904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VhOfHe/mFdBp0gxT+q2Vugw7yILHoAKKUsV0JX48a6I=; b=JOl0BMSjdUxJhN4aO9IUUiVmhvpfm1c1w+02zGxa90XhaNGnKppcZ0bvRusysSxU/frTzC PG7QeOP60LgAmgOU1UJnm+sMTa5kgxeFufHC/5SVUPE51XExm+1AZs1VAgBsBPBcagSZ1N 06wFw3ZtWB8cLlDo52eZMHInL92JdGyDDCmySpi3LlzRUYwaAgnQHoUCNF+/v/UjM67uIM daw5fg0Wy7aQwj2yn1L3ygIePq+7NUq2osEHehnXj3CAmcca8lY1Jd7tSl5XH5DDT98cnT oDZaKK1dw058ghTdBgyIoafcQL6Cq6nLO0BH+Q/lSzZjnSwCs4XRPBLbqp/opQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFgRN57DJz1Mfv; Thu, 11 Apr 2024 13:25: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 43BDP4AZ047072; Thu, 11 Apr 2024 13:25:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BDP4hK047069; Thu, 11 Apr 2024 13:25:04 GMT (envelope-from git) Date: Thu, 11 Apr 2024 13:25:04 GMT Message-Id: <202404111325.43BDP4hK047069@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: cd9fff7b0431 - stable/14 - pam_xdg: Check asprintf return value List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cd9fff7b0431953db2f50d10fb1ba87809bcc6d6 Auto-Submitted: auto-generated The branch stable/14 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=cd9fff7b0431953db2f50d10fb1ba87809bcc6d6 commit cd9fff7b0431953db2f50d10fb1ba87809bcc6d6 Author: Emmanuel Vadot AuthorDate: 2024-02-27 06:41:59 +0000 Commit: Emmanuel Vadot CommitDate: 2024-04-11 13:24:49 +0000 pam_xdg: Check asprintf return value Reported by: Shawn Webb Sponsored by: Beckhoff Automation GmbH & Co. KG Fixes: 6e69612d5df1 ("pam: Add pam_xdg module") (cherry picked from commit 2d2950c889335b24af7a92f3aaf9946de47bb0bc) --- lib/libpam/modules/pam_xdg/pam_xdg.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/lib/libpam/modules/pam_xdg/pam_xdg.c b/lib/libpam/modules/pam_xdg/pam_xdg.c index d218bc0425f2..d8ba6899da2f 100644 --- a/lib/libpam/modules/pam_xdg/pam_xdg.c +++ b/lib/libpam/modules/pam_xdg/pam_xdg.c @@ -130,7 +130,12 @@ _pam_xdg_open(pam_handle_t *pamh, int flags __unused, } /* Setup the environment variable */ - asprintf(&runtime_dir, "XDG_RUNTIME_DIR=%s/%s", RUNTIME_DIR_PREFIX, user); + rv = asprintf(&runtime_dir, "XDG_RUNTIME_DIR=%s/%s", RUNTIME_DIR_PREFIX, user); + if (rv < 0) { + PAM_VERBOSE_ERROR("asprintf failed %d\n", rv); + rv = PAM_SESSION_ERR; + goto out; + } rv = pam_putenv(pamh, runtime_dir); if (rv != PAM_SUCCESS) { PAM_VERBOSE_ERROR("pam_putenv: failed (%d)", rv); @@ -140,7 +145,12 @@ _pam_xdg_open(pam_handle_t *pamh, int flags __unused, /* Setup the session count file */ for (i = 0; i < XDG_MAX_SESSION; i++) { - asprintf(&xdg_session_file, "%s/xdg_session.%d", user, i); + rv = asprintf(&xdg_session_file, "%s/xdg_session.%d", user, i); + if (rv < 0) { + PAM_VERBOSE_ERROR("asprintf failed %d\n", rv); + rv = PAM_SESSION_ERR; + goto out; + } session_file = openat(rt_dir_prefix, xdg_session_file, O_CREAT | O_EXCL, RUNTIME_DIR_MODE); free(xdg_session_file); if (session_file >= 0) @@ -256,7 +266,12 @@ _pam_xdg_close(pam_handle_t *pamh __unused, int flags __unused, /* Get the last session file created */ for (i = XDG_MAX_SESSION; i >= 0; i--) { - asprintf(&xdg_session_file, "%s/xdg_session.%d", user, i); + rv = asprintf(&xdg_session_file, "%s/xdg_session.%d", user, i); + if (rv < 0) { + PAM_VERBOSE_ERROR("asprintf failed %d\n", rv); + rv = PAM_SESSION_ERR; + goto out; + } session_file = openat(rt_dir_prefix, xdg_session_file, 0); if (session_file >= 0) { unlinkat(rt_dir_prefix, xdg_session_file, 0); From nobody Thu Apr 11 13:25:05 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFgRQ1NjFz5HQHY; Thu, 11 Apr 2024 13:25: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 4VFgRQ09NDz57WV; Thu, 11 Apr 2024 13:25:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712841906; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TSBLpHBV/24tJ84DxPUaARB1y6zWrPlxz3X9ctKx57Y=; b=t2q79QVi29pbXLr6cHwqmPebucYU9O6QzUqJkji8wm3OJeXbZLL4ZbJSdsav431d7ba7Sv k/KyCGqZOeLEDSw2DJSj0eLSv/baksnoB1WLLBCWJfnIngUB1UoRIg4r7pCGtqfP8TJrcl PymlpH3NKp1SUi7OuVBDbrnN9vlIHcGvGTpCMqyLcDu48IVMY3tCzSaH25eFmIWgQBYWnq tYIt2m0Km7wv4pjV8BLfjQMJoIK+hcHmCVynYAIRZexlihzxgYmsH8W5olbYBN3LClB69j uTjUiDB+zPuUzC4vSieqOAPuCPGu5G0prYE5k25QeTIIsxq3qoKXMNpXnczieg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712841906; a=rsa-sha256; cv=none; b=WxVXnDPpbucG3uL0oV0I8ETMMRrgxZJnZMulnKoI7qlgcqEbcj6m1ZuIORhC7YuCrDMfb7 l0XJ6qfEbVypuxk2Vgplltg/wUI6hVY8BgUbrz+WgJkvZP7Vvh5eawbg9WoIoOcRSh/3ve 7UWrndqieszMe+fRXoYYuexp79SEj1yJNVc4vpYMdMZoMSU7LsmLxwDd3BjySMKTslptcC ciALIBcSDUu+NvjVjBRH193Md1sPaClsWcGlDeEzqwb/CD/Ksh0N9xLe5IXXYxchH5AdYg V2/AMaDKnS5wIOT/oSo2UhwkpAc0ZZGWXCBfx41Iy/j/JOavBmdNKveqWWB9UQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712841906; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TSBLpHBV/24tJ84DxPUaARB1y6zWrPlxz3X9ctKx57Y=; b=XJh6e0NuR0qtRrotUY6w4qMgpN/yimdCvcxfdZUAkh4z1HdYoAe0PiKxDGdcsTZLfrTWNA 7Z9pEY67q+LPMOH/q6Yplqbr80zqt2rnlVahdSaS1Fi1FOzX4yutDo2l2H1i3tZaZ9nTcN OGT7DpH72Lzitac34oY6rX5oEmtjiywQsRIf256ZbpeQoUguR+mXBYLFzLyUfPyNTedH1b Bcs5kNNBgDBKnNL1fGMOo3/UsEA0+qcjSXSTgcqGoBXVvDDxpX95pdVNAOWEnS7asKvoUP ho1IK+kY5rCdocRyJK8yvojp0rTNlyrLGiDa+89voq30ptazP22OUT/iB3OGfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFgRP68Nsz1Mfw; Thu, 11 Apr 2024 13:25: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 43BDP54A047127; Thu, 11 Apr 2024 13:25:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BDP50D047124; Thu, 11 Apr 2024 13:25:05 GMT (envelope-from git) Date: Thu, 11 Apr 2024 13:25:05 GMT Message-Id: <202404111325.43BDP50D047124@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: 4d2dad92ee23 - stable/14 - pam_xdg: Reset rv to 0 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4d2dad92ee23f49c38d6dd72581fbee35a2f81b2 Auto-Submitted: auto-generated The branch stable/14 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=4d2dad92ee23f49c38d6dd72581fbee35a2f81b2 commit 4d2dad92ee23f49c38d6dd72581fbee35a2f81b2 Author: Emmanuel Vadot AuthorDate: 2024-02-27 07:05:00 +0000 Commit: Emmanuel Vadot CommitDate: 2024-04-11 13:24:49 +0000 pam_xdg: Reset rv to 0 Otherwise on success it ontain the return value of asprintf. Sponsored by: Beckhoff Automation GmbH & Co. KG Fixes: 2d2950c88933 ("pam_xdg: Check asprintf return value") (cherry picked from commit 5acbe6d1fb552eeaf44955c2780f2e9d4a70cad3) --- lib/libpam/modules/pam_xdg/pam_xdg.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/libpam/modules/pam_xdg/pam_xdg.c b/lib/libpam/modules/pam_xdg/pam_xdg.c index d8ba6899da2f..f1a9b13d581c 100644 --- a/lib/libpam/modules/pam_xdg/pam_xdg.c +++ b/lib/libpam/modules/pam_xdg/pam_xdg.c @@ -151,6 +151,7 @@ _pam_xdg_open(pam_handle_t *pamh, int flags __unused, rv = PAM_SESSION_ERR; goto out; } + rv = 0; session_file = openat(rt_dir_prefix, xdg_session_file, O_CREAT | O_EXCL, RUNTIME_DIR_MODE); free(xdg_session_file); if (session_file >= 0) @@ -272,6 +273,7 @@ _pam_xdg_close(pam_handle_t *pamh __unused, int flags __unused, rv = PAM_SESSION_ERR; goto out; } + rv = 0; session_file = openat(rt_dir_prefix, xdg_session_file, 0); if (session_file >= 0) { unlinkat(rt_dir_prefix, xdg_session_file, 0); From nobody Thu Apr 11 13:25:06 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFgRR264Jz5HQgl; Thu, 11 Apr 2024 13:25: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 4VFgRR0VXcz57hs; Thu, 11 Apr 2024 13:25:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712841907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CvQZOlXoKi1Mf+sylcPQ+2quV/qMf6msEPOrq3PzjwM=; b=lEPYAOCKbirruQNxFmIhhLUFT+hXaRfFksYC+yijlM/J3FUpYyGlltYtAtfI+76BNB07yz Ymu0w+tS2SD11jEhZn/UhiznOB4LTF1oc7YaAdTjBY7RGLnZ1rebjj9aSTWr6u068M7R9S Y3KKhw2tMZfftLR/eyfugg4x2LseWpD6KDrbpHaC6z/DsbejHEUF7U5hv6BBPsBeSn5C3O vcAkDoF4zr2Y3NVh5kFRYjFY+oEUw8j0oiScu2oklSV5frxPC4uS6VzO1eKRGpja1z7HlJ G00SFaS0r0PLHvJ+BJo1nXVoDJ/G/uG4v7K/M/f2XPTI7Of4L0pCpC7Gwu75kA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712841907; a=rsa-sha256; cv=none; b=acjOFYAn7VLz8q7zC3rD4Y+zAmFQAr4co3EOIRqt7HMyOHit3ZtbPu4/lvfOdt33tIntHl 6d3Ii2t/vDfEn25wQwVAfmD87hLua1pB5X9W1rNrOQ5fMgv8wvR49TopfbXlJ6BVOTXdS6 GHjNvjXrmUHIzNEtKApexdWRI18l4/HDqGf7Ujs8g0cKERHX7+Seb0IEDGQPLA0yL23L26 LFAN9ynE8pQyY+CVP4D7z0OxrV0fjUuFM3C/eXVc0K4c9Xq9ZUlnWkIPtRScZ9R+EI1c8q y2f4aaszJIXSc7Am3ttrqlDzLXK/Sa/9PtdDh37Ni1Udjq9YROfRPIfl3wEr5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712841907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CvQZOlXoKi1Mf+sylcPQ+2quV/qMf6msEPOrq3PzjwM=; b=Az80ZPCikNuILpHh5R8oHFIjHeLu75J/skSIk/or30MxX7z0z1A2apjXKk8+b18ZXnQYnf nJY+wUyEC/hvYi/H0ofTBOsDB/3xcryG7S3tNsbjR7QQh5tlHaNQvJT7UguBVuKWunwMcG 5lY+SCO47ftKq1olaP/k4tLBS2+x9slmFvyZVkjsWWoGCc+cjXTsGQZQZgOTaYZVtH2Kuw cmxJB6h01SzMKJ/5f9aJlvqT53Qx+DkF/wxGesBe4iarDlQ7LVsuM/vI+zyL4aWSusXmJ4 pMrz8Kr4/HW6vx1bGIySR6xskzIj9Ub8evnvb7P5gb2CWaObAcEI0/MvXBG6ng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFgRR03Qkz1MBw; Thu, 11 Apr 2024 13:25: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 43BDP67Y047184; Thu, 11 Apr 2024 13:25:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BDP6Gv047181; Thu, 11 Apr 2024 13:25:06 GMT (envelope-from git) Date: Thu, 11 Apr 2024 13:25:06 GMT Message-Id: <202404111325.43BDP6Gv047181@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Emmanuel Vadot Subject: git: b556c37f83b0 - stable/14 - pam_xdg: Close the dir after removal List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b556c37f83b03432af6dd9af1a4e143fc8b2e100 Auto-Submitted: auto-generated The branch stable/14 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=b556c37f83b03432af6dd9af1a4e143fc8b2e100 commit b556c37f83b03432af6dd9af1a4e143fc8b2e100 Author: Emmanuel Vadot AuthorDate: 2024-03-01 13:49:16 +0000 Commit: Emmanuel Vadot CommitDate: 2024-04-11 13:24:49 +0000 pam_xdg: Close the dir after removal CID: 1534878 Sponsored by: Beckhoff Automation GmbH & Co. KG (cherry picked from commit 56ec98a04d19fec3750e47d12eb581c139c8b405) --- lib/libpam/modules/pam_xdg/pam_xdg.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libpam/modules/pam_xdg/pam_xdg.c b/lib/libpam/modules/pam_xdg/pam_xdg.c index f1a9b13d581c..4d586a21566a 100644 --- a/lib/libpam/modules/pam_xdg/pam_xdg.c +++ b/lib/libpam/modules/pam_xdg/pam_xdg.c @@ -199,6 +199,7 @@ remove_dir(int fd) } unlinkat(fd, dp->d_name, 0); } + closedir(dirp); return (0); } From nobody Thu Apr 11 13:51:32 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFh1w3KfTz5HSFW for ; Thu, 11 Apr 2024 13:51: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 4VFh1w1qTbz40Dy; Thu, 11 Apr 2024 13:51:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712843492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZY4afsztiQUzHWg3NW5HdRqfGXEn2aKpFW0//A10+RQ=; b=TmzRWAjJ2/v39c5xEm+DsHjnPQUy8txT/Awj8PYrQB4SgngOUExIIypJqrsnwnLTSFlhs+ kOKqdwn/RZY0QC39btnyySMgbYsHNxfeUmP8dGFg+FHY8wf+5U1a2cRqpCpB6MikbagXfD mgmkKWU+BeABcJ5iPHEOQAMh44o1OwcdEhSy5T4L43622rFNbNLU65b2Q2gsetho1hSYm+ 1xtWe0JWLljmAvYqahwQmjxAOGoyQBAuRJM+tVk+R6dDuw0MmTYpVBhrhRiIRwTk4aUUAC WrXVOz+zvhibuQ7ivyPzlAXJPj0nc2I2YyCioyHCX3CeXeEoeaw3bo0o/fQ9mQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712843492; a=rsa-sha256; cv=none; b=V/U3fWGyqvdNpw0glM+cwzxyssohQif4taY4Bcsw/brN2+V4Hsu3J1QwTkGcyYjxGKEiV2 FzW027cecwqhqgarRl6IqlLG3CJcMXJ6K2fj9oqBdRfzhBBlBARdIW3Uy7d5W208PA7xB4 fTd1lqu2Cd6iBnakHgXkAsqkl+Di/eV5J8b+m8WgdSQUYKthLCAhvRKe+GDKkMhvSZYpSg E9+KJVUAI29Dn6eMTibhFFei3vBioe84AgJ/rFKYYtV+3SDHizTsrbcCSZ7r8RjfZgxkoT Dq8DDFLUUygiYKxqmm2qTD8FRJflRvALJm7xdR2CmWxZh8Paz2HnU5d06m93hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712843492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZY4afsztiQUzHWg3NW5HdRqfGXEn2aKpFW0//A10+RQ=; b=jOpIWgjgi1w+79ngWLhFzmHBHPZxTzk8eC9rEgt2kzkS5mQxEs1VRyWeL/SFX5xlPBnolK kODqJD+g66rVQ+12QGa4ff/Xrixhi/2AK+6XDIrXYxP47NEVi1fqs7BqzW190cIWBqrOTz cQZpPWFM2I3SW8SJ4jLZYwFa6x/3oxj7PHpZvEt6SMoMI27MvwgWfuEzEAjn3vfLkWhF8b ku4gE8zZg0Tn7QCFJDioMTQiuLf4AzC21TputuvxpzcKvoyEdNO8H67Znx7OaF5/KABoVR 4FmozTtc1fLZ0OzAVipc9OeEtEuHO1ivd7MrBTfz0NJDzCLSEjiGQPcZ1F9NcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFh1w17Twz1MkV; Thu, 11 Apr 2024 13:51: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 43BDpW1e090304; Thu, 11 Apr 2024 13:51:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43BDpW7l090303; Thu, 11 Apr 2024 13:51:32 GMT (envelope-from git) Date: Thu, 11 Apr 2024 13:51:32 GMT Message-Id: <202404111351.43BDpW7l090303@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Martin Matuska Subject: git: a5913a473bb0..a509d68f27b9 - vendor/libarchive - vendor branch updated List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/vendor/libarchive X-Git-Reftype: branch X-Git-Commit: a509d68f27b9f114b876bbe3b9caa9d0ee0c5606 X-Git-Oldrev: a5913a473bb0b6e194a2fe0e55d3166e0eed8aaf X-Git-Newrev: a509d68f27b9f114b876bbe3b9caa9d0ee0c5606 Auto-Submitted: auto-generated The branch vendor/libarchive has been updated by mm: URL: https://cgit.FreeBSD.org/src/log/?id=a5913a473bb0..a509d68f27b9 a509d68f27b9 Update vendor/libarchive to 3.7.3 From nobody Thu Apr 11 14:08:02 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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:45 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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:44 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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:46 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFw3W0JzSz5GJ3B for ; Thu, 11 Apr 2024 22:53:43 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com [IPv6:2a00:1450:4864:20::635]) (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 4VFw3V4dZZz46VQ 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-x635.google.com with SMTP id a640c23a62f3a-a523524e5baso12217266b.3 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=DsHCK0ylYx2CYr84Me017XQhyg2i8TfH6IYxPmQz12/3JK2pSsnwqxs5O5qlSotnWJ atpOgnB01WWoFAzIuYk2nMXbeAp6jGSRWCChPMCGA2bTb6FekV73FD0jHakju2APdoby B1bArZj8p3U830aQy5t/FDqAh901OVIKUgaQhrtUG/ro+bxyJ9EbQlQce82Icc/dseDE HIqVSslhA4KD3+EKfJEr3v/zH+wPSIV+URnnDrAiv3KxGSS5PbRbDQ1epxeg6/nAQC36 bsyoTnnwCR3+MCXWWaFVHhcoDZSs2qkSU6KJz3QWj7CyskzcTnvPrb5fqOcBvJ9xIr2e jptA== X-Forwarded-Encrypted: i=1; AJvYcCUNkVBTRe6n/J8zGp7VA4e487c5tpbis31py/O659wiYhLiIQo+pR6q5y+AakSIkR4UHeKy1jUsWpjQv0eIjOPzt3tQA0BorNm1+Mq5JjLe X-Gm-Message-State: AOJu0Yx1KBZ70yC3mlZYEp28SF/0ES/y4yoIYHFUbzCZj8a0mNp/iht7 FqZ7fSxaRO9IxwBrRdxAqPcKasmPw7ImVjQWcTPmq5PEWSDk7MJr9e4cj5B75sA8UJXSoEGeofP 1tdT96vk6VgRHlTsojxYg/s99OHlpZvlVSqJ4Pw== 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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: 4VFw3V4dZZz46VQ --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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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 01:10:14 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFz5231K1z5GWbt; Fri, 12 Apr 2024 01:10: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 4VFz522Hd5z4NX5; Fri, 12 Apr 2024 01:10:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pqcs468MDNEzq+mFNmh/GqkksXZdb2VOhC1/BDDMQoU=; b=sg/9iPzjLW+3JEaTNT9qSGmwGfHE3v6UBY7tIkOmgAoq0GyP0LoeT+towxxnS6bn+tzTZ+ X+gjO3GF/knOa7YUkp69ED4ZMeUnloDZ/lR3TjVKsopqUxqb2F/PGVNXDVQnOOszzD9JiL N1FLRKYBCKAG8mvWNfyHwRXTGMRNp1jwTs74LMORCMaOGwDDUMVPRGb7fQ7uvFZ8VOg5tm VjQ4wxqYg97cEY+viNL1pL0ssOprH9yKTmznsxxd3cyj7IbwWwIFy+7wvb0u60t6MNygGZ zpl9fdag0JUz0pUJtgjIQeFfnnBvGp///ia9gCGdHd4ZwYEZqjGit0ppejut3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884214; a=rsa-sha256; cv=none; b=xgO8S2XXjwCc94H4OQ1zQvSXSh81iEK/tFQjKTX0ZcAC14sBEwMzj14QsULjj0vLmalelf QjfHVwHT88GBicGSvzQknAolCI7R7wfQjr/uUB5cST6xZ8aDrFKdbsTNlO4hZDJdnsk4nX 86C5m6i1Or8GRFCZn45MM4GDLUKbwDWbpN4uI2ujMvQ0aryyhsHjyBYHyIhivMJsmrjCCy SotQApoPP5ND1zBy2h3RWJXWcMnitHVdyviYZJDYr1PwtgcZ7hSzHTv97rlrdcX7bNPBNY YoVSF+4IuIBnS+jut+nQQW/DfHvLolaT3btvxBXW4aaa4k/VK5qdDXyyBL+gOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pqcs468MDNEzq+mFNmh/GqkksXZdb2VOhC1/BDDMQoU=; b=dnHYSaHSfv32fsFIwMPjNHPvXQYSIoeoW3hHgAFEErj8lf6jbvwKqW2BrQEkLmA7DxJlZ7 faAyEy/uo1sJkaxl3TqwdoNNrbzGr0rzp+CwJzwYBEiQzFlsj7eLxJ5wazUBTfF4oNt/+q hTqCKGpf6D16lbpfD2MfeQUvDdymC2T7c20PZB1aDAHf7RdPiZJQHz6yn5GwqJ2Vr5uizp a+n74H1D+1LCm7tE2SCVVoSraUG7q14FAjy1UMae71SKqHE3WQslkN9J0XtRB6mDHOr+My /oW7Jdomya6Zzo6TJ5f3HR01yBnY/HWTFqVSW5f/QMqxSIpK1PZAdD14l8/QNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFz521mt0zTC6; Fri, 12 Apr 2024 01:10: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 43C1AEVF039984; Fri, 12 Apr 2024 01:10:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1AED5039975; Fri, 12 Apr 2024 01:10:14 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:10:14 GMT Message-Id: <202404120110.43C1AED5039975@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: ea2275e72cda - stable/14 - sound: Drain buffer selinfo in sndbuf_free() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: ea2275e72cdae3672f3aabde18e3ff55ea101a0a Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=ea2275e72cdae3672f3aabde18e3ff55ea101a0a commit ea2275e72cdae3672f3aabde18e3ff55ea101a0a Author: Christos Margiolis AuthorDate: 2024-03-29 15:29:23 +0000 Commit: Christos Margiolis CommitDate: 2024-04-12 01:09:51 +0000 sound: Drain buffer selinfo in sndbuf_free() Prevent a use-after-free in kern_poll() by making sure the buffer's selinfo is drained. This is required for a subsequent patch that implements asynchronous audio device detach. Reported by: KASAN Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D44544 (cherry picked from commit fba54d0179aabb3d94211ca80f94fe5b98ac6d3b) --- sys/dev/sound/pcm/buffer.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/sound/pcm/buffer.c b/sys/dev/sound/pcm/buffer.c index 915c9110f107..afb4b95e357a 100644 --- a/sys/dev/sound/pcm/buffer.c +++ b/sys/dev/sound/pcm/buffer.c @@ -147,6 +147,7 @@ sndbuf_free(struct snd_dbuf *b) } else free(b->buf, M_DEVBUF); } + seldrain(sndbuf_getsel(b)); b->tmpbuf = NULL; b->shadbuf = NULL; From nobody Fri Apr 12 01:10:15 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFz534PGvz5GWnS; Fri, 12 Apr 2024 01:10: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 4VFz532Sm6z4Nmn; Fri, 12 Apr 2024 01:10:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884215; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KjCJl1IKZ0Eo9Sj8xx2tSzMtzPBgh4EqQkfmUJaaw6g=; b=ufYmXECMnxpia27wRPH0dSiJ3elsTnUoXlUy9LdrfvKWr96QSnzxIrAvHrXQkJelJbrZO4 R19QdPZ4EacEdawqVyDcIKzdw/OgAzUb3Fqama5jwVSp+SiQnFlj41ZrG+crKly3Cip1pQ CtDQd+KKfE8+e/HiYrLFfGF871UyEK+QvgzLVssH8PmxUZZOrlmzMUsPvrD+nVo8qkQedN MIbNormK8ErfspIP8SYUc3Fc/Q7+mbdoaPMF0p3WhduJuxAE2DftZ9t/xoTfwAKnLsFCE/ vpocbYW/yU4JkJQ/BuTLsyGqsS/kMAGfteRmqNAhz8X2B54e7xpX7pwp9Ds7/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884215; a=rsa-sha256; cv=none; b=bLx4/M9FwzNUTnLgZEypeEKV2IhaKSTPRTXBsTmYzjXCzsdXxpEQNaTwnGb4w6dEVrgCUt ndRpg7aqsswukKijm0eVz0hy5eePkFfERFj3G9OF2z386MkOQdrUhCmKJkU+OM8irzvCD9 EP61ezIxv1ljpoOx7wMY8e2KQfM0QOUZnJtyS++Bhnz/zR4K3rLtLng1m5kCdyaSWkwFsw r3k5X+Y4vcnAdCyG5/khhKJNqL91JHoZz0aO2NjGiMxEbqvBBqNYqgmRsTHnJJrR77Oyie vT6GXF64udbuHmXrhWcuCds2TSrP1qgPN/Q/pUaXofu6rH9sReXXeoRSP9IRnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884215; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KjCJl1IKZ0Eo9Sj8xx2tSzMtzPBgh4EqQkfmUJaaw6g=; b=IWGPVbINnKqy4c5FSQlx/EtVKiQPzlsKELLcNgcTzGtwaZoxMBK/ticZiZHxA+eXgckOFb G8wKRFw5O4scw8/Os0FjaoPeWkPQ99BU22or65tgjq4HtP4W8MNDmjz5soG8JekfABA8LQ KYLSXCxVnB/ebKJS4XEcWUjsvM9/j+0U2Vs0BOFuy4iRT6mWzonsLJRhSgyAGm/C8E+vfc Cs/Po5kUcIL5Tc2aK+q7pyqa9eUodTslSEM+xtUaVUD9MVc9NNVAXEajUU/AFaTYJCiO0h UmCpX/uHiE+W0vBg4mWutWG0RaThtT72jXod6n72LIfAnZ2KhksXO+DfOD8mkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFz53240YzSjl; Fri, 12 Apr 2024 01:10: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 43C1AFUS040718; Fri, 12 Apr 2024 01:10:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1AFOM040709; Fri, 12 Apr 2024 01:10:15 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:10:15 GMT Message-Id: <202404120110.43C1AFOM040709@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 4dfb88f3dea5 - stable/14 - sound: Get rid of pcm/sndstat.h and turn macros into regular code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4dfb88f3dea5708ab3c514736e1c8bab1a4a225c Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=4dfb88f3dea5708ab3c514736e1c8bab1a4a225c commit 4dfb88f3dea5708ab3c514736e1c8bab1a4a225c Author: Christos Margiolis AuthorDate: 2024-03-29 15:29:43 +0000 Commit: Christos Margiolis CommitDate: 2024-04-12 01:09:51 +0000 sound: Get rid of pcm/sndstat.h and turn macros into regular code There is no reason to have macros for this. Putting the code in sndstat_prepare_pcm() directly makes it easier to work with it. No functional change intended. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D44545 (cherry picked from commit 6d1cee1640e1c360917e483ece5ec1bde423b788) --- sys/dev/sound/pcm/sndstat.h | 169 -------------------------------------------- sys/dev/sound/pcm/sound.c | 136 +++++++++++++++++++++++++++++++++-- 2 files changed, 132 insertions(+), 173 deletions(-) diff --git a/sys/dev/sound/pcm/sndstat.h b/sys/dev/sound/pcm/sndstat.h deleted file mode 100644 index 62722e560a54..000000000000 --- a/sys/dev/sound/pcm/sndstat.h +++ /dev/null @@ -1,169 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2007-2009 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_SNDSTAT_H_ -#define _SND_SNDSTAT_H_ - -#define SNDSTAT_PREPARE_PCM_ARGS \ - struct sbuf *s, device_t dev, int verbose - -#define SNDSTAT_PREPARE_PCM_BEGIN() do { \ - struct snddev_info *d; \ - struct pcm_channel *c; \ - struct pcm_feeder *f; \ - \ - d = device_get_softc(dev); \ - PCM_BUSYASSERT(d); \ - \ - if (CHN_EMPTY(d, channels.pcm)) { \ - sbuf_printf(s, " (mixer only)"); \ - return (0); \ - } \ - \ - if (verbose < 1) { \ - sbuf_printf(s, " (%s%s%s", \ - d->playcount ? "play" : "", \ - (d->playcount && d->reccount) ? "/" : "", \ - d->reccount ? "rec" : ""); \ - } else { \ - sbuf_printf(s, " (%dp:%dv/%dr:%dv", \ - d->playcount, d->pvchancount, \ - d->reccount, d->rvchancount); \ - } \ - sbuf_printf(s, "%s)%s", \ - ((d->playcount != 0 && d->reccount != 0) && \ - (d->flags & SD_F_SIMPLEX)) ? " simplex" : "", \ - (device_get_unit(dev) == snd_unit) ? " default" : "") - -#define SNDSTAT_PREPARE_PCM_END() \ - if (verbose <= 1) \ - return (0); \ - \ - sbuf_printf(s, "\n\t"); \ - sbuf_printf(s, "snddev flags=0x%b", d->flags, SD_F_BITS); \ - \ - CHN_FOREACH(c, d, channels.pcm) { \ - \ - KASSERT(c->bufhard != NULL && c->bufsoft != NULL, \ - ("hosed pcm channel setup")); \ - \ - sbuf_printf(s, "\n\t"); \ - \ - sbuf_printf(s, "%s[%s]: ", \ - (c->parentchannel != NULL) ? \ - c->parentchannel->name : "", c->name); \ - sbuf_printf(s, "spd %d", c->speed); \ - if (c->speed != sndbuf_getspd(c->bufhard)) \ - sbuf_printf(s, "/%d", \ - sndbuf_getspd(c->bufhard)); \ - sbuf_printf(s, ", fmt 0x%08x", c->format); \ - if (c->format != sndbuf_getfmt(c->bufhard)) \ - sbuf_printf(s, "/0x%08x", \ - sndbuf_getfmt(c->bufhard)); \ - sbuf_printf(s, ", flags 0x%08x, 0x%08x", \ - c->flags, c->feederflags); \ - if (c->pid != -1) \ - sbuf_printf(s, ", pid %d (%s)", \ - c->pid, c->comm); \ - sbuf_printf(s, "\n\t"); \ - \ - sbuf_printf(s, "interrupts %d, ", c->interrupts); \ - \ - if (c->direction == PCMDIR_REC) \ - sbuf_printf(s, \ - "overruns %d, feed %u, hfree %d, " \ - "sfree %d [b:%d/%d/%d|bs:%d/%d/%d]", \ - c->xruns, c->feedcount, \ - sndbuf_getfree(c->bufhard), \ - sndbuf_getfree(c->bufsoft), \ - sndbuf_getsize(c->bufhard), \ - sndbuf_getblksz(c->bufhard), \ - sndbuf_getblkcnt(c->bufhard), \ - sndbuf_getsize(c->bufsoft), \ - sndbuf_getblksz(c->bufsoft), \ - sndbuf_getblkcnt(c->bufsoft)); \ - else \ - sbuf_printf(s, \ - "underruns %d, feed %u, ready %d " \ - "[b:%d/%d/%d|bs:%d/%d/%d]", \ - c->xruns, c->feedcount, \ - sndbuf_getready(c->bufsoft), \ - sndbuf_getsize(c->bufhard), \ - sndbuf_getblksz(c->bufhard), \ - sndbuf_getblkcnt(c->bufhard), \ - sndbuf_getsize(c->bufsoft), \ - sndbuf_getblksz(c->bufsoft), \ - sndbuf_getblkcnt(c->bufsoft)); \ - sbuf_printf(s, "\n\t"); \ - \ - sbuf_printf(s, "channel flags=0x%b", c->flags, \ - CHN_F_BITS); \ - sbuf_printf(s, "\n\t"); \ - \ - sbuf_printf(s, "{%s}", \ - (c->direction == PCMDIR_REC) ? "hardware" : \ - "userland"); \ - sbuf_printf(s, " -> "); \ - f = c->feeder; \ - while (f->source != NULL) \ - f = f->source; \ - while (f != NULL) { \ - sbuf_printf(s, "%s", f->class->name); \ - if (f->desc->type == FEEDER_FORMAT) \ - sbuf_printf(s, "(0x%08x -> 0x%08x)", \ - f->desc->in, f->desc->out); \ - else if (f->desc->type == FEEDER_MATRIX) \ - sbuf_printf(s, "(%d.%d -> %d.%d)", \ - AFMT_CHANNEL(f->desc->in) - \ - AFMT_EXTCHANNEL(f->desc->in), \ - AFMT_EXTCHANNEL(f->desc->in), \ - AFMT_CHANNEL(f->desc->out) - \ - AFMT_EXTCHANNEL(f->desc->out), \ - AFMT_EXTCHANNEL(f->desc->out)); \ - else if (f->desc->type == FEEDER_RATE) \ - sbuf_printf(s, \ - "(0x%08x q:%d %d -> %d)", \ - f->desc->out, \ - FEEDER_GET(f, FEEDRATE_QUALITY), \ - FEEDER_GET(f, FEEDRATE_SRC), \ - FEEDER_GET(f, FEEDRATE_DST)); \ - else \ - sbuf_printf(s, "(0x%08x)", \ - f->desc->out); \ - sbuf_printf(s, " -> "); \ - f = f->parent; \ - } \ - sbuf_printf(s, "{%s}", \ - (c->direction == PCMDIR_REC) ? "userland" : \ - "hardware"); \ - } \ - \ - return (0); \ -} while (0) - -#endif /* !_SND_SNDSTAT_H_ */ diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index 186e7b194f27..c03e4fa435e1 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -37,7 +37,6 @@ #include #include #include -#include #include #include #include @@ -76,10 +75,139 @@ SYSCTL_STRING(_hw_snd, OID_AUTO, version, CTLFLAG_RD, &snd_driver_version, struct unrhdr *pcmsg_unrhdr = NULL; static int -sndstat_prepare_pcm(SNDSTAT_PREPARE_PCM_ARGS) +sndstat_prepare_pcm(struct sbuf *s, device_t dev, int verbose) { - SNDSTAT_PREPARE_PCM_BEGIN(); - SNDSTAT_PREPARE_PCM_END(); + struct snddev_info *d; + struct pcm_channel *c; + struct pcm_feeder *f; + + d = device_get_softc(dev); + PCM_BUSYASSERT(d); + + if (CHN_EMPTY(d, channels.pcm)) { + sbuf_printf(s, " (mixer only)"); + return (0); + } + + if (verbose < 1) { + sbuf_printf(s, " (%s%s%s", + d->playcount ? "play" : "", + (d->playcount && d->reccount) ? "/" : "", + d->reccount ? "rec" : ""); + } else { + sbuf_printf(s, " (%dp:%dv/%dr:%dv", + d->playcount, d->pvchancount, + d->reccount, d->rvchancount); + } + sbuf_printf(s, "%s)%s", + ((d->playcount != 0 && d->reccount != 0) && + (d->flags & SD_F_SIMPLEX)) ? " simplex" : "", + (device_get_unit(dev) == snd_unit) ? " default" : ""); + + if (verbose <= 1) + return (0); + + sbuf_printf(s, "\n\t"); + sbuf_printf(s, "snddev flags=0x%b", d->flags, SD_F_BITS); + + CHN_FOREACH(c, d, channels.pcm) { + KASSERT(c->bufhard != NULL && c->bufsoft != NULL, + ("hosed pcm channel setup")); + + sbuf_printf(s, "\n\t"); + + sbuf_printf(s, "%s[%s]: ", + (c->parentchannel != NULL) ? + c->parentchannel->name : "", c->name); + sbuf_printf(s, "spd %d", c->speed); + if (c->speed != sndbuf_getspd(c->bufhard)) { + sbuf_printf(s, "/%d", + sndbuf_getspd(c->bufhard)); + } + sbuf_printf(s, ", fmt 0x%08x", c->format); + if (c->format != sndbuf_getfmt(c->bufhard)) { + sbuf_printf(s, "/0x%08x", + sndbuf_getfmt(c->bufhard)); + } + sbuf_printf(s, ", flags 0x%08x, 0x%08x", + c->flags, c->feederflags); + if (c->pid != -1) { + sbuf_printf(s, ", pid %d (%s)", + c->pid, c->comm); + } + sbuf_printf(s, "\n\t"); + + sbuf_printf(s, "interrupts %d, ", c->interrupts); + + if (c->direction == PCMDIR_REC) { + sbuf_printf(s, + "overruns %d, feed %u, hfree %d, " + "sfree %d [b:%d/%d/%d|bs:%d/%d/%d]", + c->xruns, c->feedcount, + sndbuf_getfree(c->bufhard), + sndbuf_getfree(c->bufsoft), + sndbuf_getsize(c->bufhard), + sndbuf_getblksz(c->bufhard), + sndbuf_getblkcnt(c->bufhard), + sndbuf_getsize(c->bufsoft), + sndbuf_getblksz(c->bufsoft), + sndbuf_getblkcnt(c->bufsoft)); + } else { + sbuf_printf(s, + "underruns %d, feed %u, ready %d " + "[b:%d/%d/%d|bs:%d/%d/%d]", + c->xruns, c->feedcount, + sndbuf_getready(c->bufsoft), + sndbuf_getsize(c->bufhard), + sndbuf_getblksz(c->bufhard), + sndbuf_getblkcnt(c->bufhard), + sndbuf_getsize(c->bufsoft), + sndbuf_getblksz(c->bufsoft), + sndbuf_getblkcnt(c->bufsoft)); + } + sbuf_printf(s, "\n\t"); + + sbuf_printf(s, "channel flags=0x%b", c->flags, CHN_F_BITS); + sbuf_printf(s, "\n\t"); + + sbuf_printf(s, "{%s}", + (c->direction == PCMDIR_REC) ? "hardware" : "userland"); + sbuf_printf(s, " -> "); + f = c->feeder; + while (f->source != NULL) + f = f->source; + while (f != NULL) { + sbuf_printf(s, "%s", f->class->name); + if (f->desc->type == FEEDER_FORMAT) { + sbuf_printf(s, "(0x%08x -> 0x%08x)", + f->desc->in, f->desc->out); + } else if (f->desc->type == FEEDER_MATRIX) { + sbuf_printf(s, "(%d.%d -> %d.%d)", + AFMT_CHANNEL(f->desc->in) - + AFMT_EXTCHANNEL(f->desc->in), + AFMT_EXTCHANNEL(f->desc->in), + AFMT_CHANNEL(f->desc->out) - + AFMT_EXTCHANNEL(f->desc->out), + AFMT_EXTCHANNEL(f->desc->out)); + } else if (f->desc->type == FEEDER_RATE) { + sbuf_printf(s, + "(0x%08x q:%d %d -> %d)", + f->desc->out, + FEEDER_GET(f, FEEDRATE_QUALITY), + FEEDER_GET(f, FEEDRATE_SRC), + FEEDER_GET(f, FEEDRATE_DST)); + } else { + sbuf_printf(s, "(0x%08x)", + f->desc->out); + } + sbuf_printf(s, " -> "); + f = f->parent; + } + sbuf_printf(s, "{%s}", + (c->direction == PCMDIR_REC) ? "userland" : "hardware"); + } + + return (0); } void * From nobody Fri Apr 12 01:10:16 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFz545Njnz5GWlP; Fri, 12 Apr 2024 01:10: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 4VFz543M57z4NqL; Fri, 12 Apr 2024 01:10:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884216; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=02PyhPqr6POex55YtFX37sHwM2cC9oNMTCNDF1eMVpI=; b=YPfEypLwJHfZ5jOC3kmka7C/MaOQLhyxb8BuSZPmyf0M1SQIoER/4VBZOhT8kq7PR5mhrR YLatvSwcFgMqjWD/Ob2v/IJyMfewNColQWgz36rkfL6ll+BD7/WOh5TpBNdOG/+qvwRpLs xYtgRcVKtTiKM733jkVmuwDtx0AlvuhStbIKzin5mojAUHr9DZugEQRaLWz15jUHMYCmJB U4p9IXQodyZnUR+MWDvBxzCVVXgJjssPrOfDfOGoEa0/cNoG4Wr8zTqP+VjcfwzAebQ7Or ZfgiJl0RFrQqiSJi9Y4ZsMgCinEKadgza39gpto/qBG/vYbTmXyW03W7wc+d+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884216; a=rsa-sha256; cv=none; b=H/0bUVVOX5lv5Ivu68KCamWXfIFMUK3oZIKn7LEDLknAzJb9+2nz9chK7Qsn78Kb6xkDYw nzXLtHcPYi8goX0zs50J/dbnSMT+uD5pCbATlwnqOScm/swdMBpmWMkYSA9EVRn/Ed28UI kSxy4af2OwEWvj5xev9P7u1eccxWDB09r+xiXS0v/bOtUrcACJhNst5Mben4jnCOYxLM5E h0Byvu74+DMOj1qtE/nG4/hImKAJG65l4oF2w67mWAy+ZOVU99xbwDJsOazpjDHBnqGOYJ rPc11Lp7+VCZaUEB02M+fvG4zBc/4HddVZ0QlqCQBf2GBSa60egJ+EjkQrdOjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884216; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=02PyhPqr6POex55YtFX37sHwM2cC9oNMTCNDF1eMVpI=; b=ZNXMLgqJ88e375jnL1uSu6Vdg/xAh92uRr2++S5Xib3DVUrKhH0wmVMCfzWAEjTWi5Ui4C 1OJ7xmhUyD+GDbk5UctHpFcc9iY6mndVRFZoZR32kdFyIJ2ssJsdN1U5epJoSurck/Jkbq ZIhLWPtk8o+5XKTtnGk3g4Ujb26x7qqd3OiAgPrnDZniZHNh+0z0MJaOQ+5m3LtzHmH/S1 OBjGNxRH9urbRyXgRp25SUH10/TDp5xcRavDcmC/DK21fAY3wV3y8rn7vAP/aU+PEef6wz HZiEy8tR7+X4n1YJmlKY7IAvfSFfLPqTjmtriOyfZziMhwwGZJreJK1edM4l8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFz542zJszSjm; Fri, 12 Apr 2024 01:10: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 43C1AGsT041353; Fri, 12 Apr 2024 01:10:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1AGif041345; Fri, 12 Apr 2024 01:10:16 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:10:16 GMT Message-Id: <202404120110.43C1AGif041345@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 578a8fb50c39 - stable/14 - sound: Fix SND_DIAGNOSTIC ifdef comment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 578a8fb50c3968b2efdcf7f45acc554ae339e2f6 Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=578a8fb50c3968b2efdcf7f45acc554ae339e2f6 commit 578a8fb50c3968b2efdcf7f45acc554ae339e2f6 Author: Christos Margiolis AuthorDate: 2024-03-29 15:32:13 +0000 Commit: Christos Margiolis CommitDate: 2024-04-12 01:09:51 +0000 sound: Fix SND_DIAGNOSTIC ifdef comment Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D44555 (cherry picked from commit c136e6180e4762c1180d89cd2291fd9a935a721d) --- sys/dev/sound/pcm/sound.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index 4af56a2c411a..0a8144e97c24 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -519,7 +519,7 @@ int sound_oss_card_info(oss_card_info *); mtx_unlock(&Giant); \ } \ } while (0) -#else /* SND_DIAGNOSTIC */ +#else /* !SND_DIAGNOSTIC */ #define PCM_WAIT(x) do { \ PCM_LOCKASSERT(x); \ while ((x)->flags & SD_F_BUSY) \ @@ -590,7 +590,7 @@ int sound_oss_card_info(oss_card_info *); mtx_unlock(&Giant); \ } \ } while (0) -#endif /* !SND_DIAGNOSTIC */ +#endif /* SND_DIAGNOSTIC */ #define PCM_GIANT_LEAVE(x) \ PCM_GIANT_EXIT(x); \ From nobody Fri Apr 12 01:10:17 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFz560Gykz5GWWF; Fri, 12 Apr 2024 01:10:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VFz554F9mz4Nfy; Fri, 12 Apr 2024 01:10:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884217; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pcHZ19ZqwSER1dj2YB5x2Tyje7gOjaUTF6e1EGo6f6E=; b=ydjA40FPZ17UaQPlLiYfLZJaJETmcju/MrfZ1D7d7iiUW3dapMpWFFenmcYg97LGTRqdTy 4B5ubQdOSaq/YCyFjSzflENc3IvXsvpLKaSQ6hEPTav6HQDAIA/eoKiC/CDA6Mt9KpTM69 CEwXNLA9lHlRNXT5diA1D9iaEZQW/FR7K0s/kKjk0Jd0t2DR95I3L/IUvDilnkSqs2Inu1 utQT6GZJLkcoR+e9Cx7SCP4SxZ0hYJTPnSE+HUcHPb+1Fef/4H1zlq6AbNP6xXXO9I3TB2 JOF+GvQQnFccCJOjsKqd9zqSPW3GTp6DcUeGZXkVvFqLilkYv8eeRnyF7JCDLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884217; a=rsa-sha256; cv=none; b=YvX+eMVO7m2F11wpxb9G5Nab3QqByQ++2uLti/YDb6pw1OLI/eJGIZ8JgfXu0SYJ7WuYUs Lw+wMYrpQ03Vp6UfWFGq41yG6CS/zXo8XzWoL2z1LmS+Kx2fL1qk5JrYEak6DFs2RMvvW6 Xog63c9A00mhqoxYjV6EEEzrLkrssdcwShSmrE+2u9Hinuoqvk1gwEYQIx/vOFRyJ4x8sS T+uohLk/QBfK6Tf4moApwyFrlpy8xW10HFy0RPbFZ/VGvGcPbqEVKpoyVSIGRgGDmCYA3F mMV3s8vJtFHx68lKYRkdtprx47ckykMoG30ROmV01H/rDJu/gLP1jurbISnNbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884217; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pcHZ19ZqwSER1dj2YB5x2Tyje7gOjaUTF6e1EGo6f6E=; b=sgBnBkrLQhu2JL69VU9s1CD/87g4V5B2Cs217NwTt6DAX6HflR6ZYKnyzoBI84LQ+PB8MS hXQRzPppKiHXGN42MX9NBaCAtlqPmW5yw7sIQx5438FWEbuQE3cJRgMeJxTFTeN2Zd728o RTZfehH+aeJU6dzIyLfpyUODtyGY3SMiNGFJblQsXiuWlYThNve/veSztd/46kpCGsbdYo HZLWxT3mHPe28FcGg3l2pOrZ1Qv52HRKeF4fPV5j/IwD0m0b0TgMVncJ9ItCP5O+W1/Cut zwsBnQpxotiVu+d7e8mPU1q8Uby9BnGXCxVcT1wO0FbfFqWfvnU1WBuzsbrc9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFz553ntVzTC7; Fri, 12 Apr 2024 01:10: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 43C1AHp7041982; Fri, 12 Apr 2024 01:10:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1AHge041971; Fri, 12 Apr 2024 01:10:17 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:10:17 GMT Message-Id: <202404120110.43C1AHge041971@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 7e0c6e00b3c9 - stable/14 - sound: Remove unused SND_DEV_LAST and SND_DEV_MAX constants List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 7e0c6e00b3c9087d5e845e48d6009c88ae6844df Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=7e0c6e00b3c9087d5e845e48d6009c88ae6844df commit 7e0c6e00b3c9087d5e845e48d6009c88ae6844df Author: Christos Margiolis AuthorDate: 2024-03-29 15:32:38 +0000 Commit: Christos Margiolis CommitDate: 2024-04-12 01:09:51 +0000 sound: Remove unused SND_DEV_LAST and SND_DEV_MAX constants Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D44554 (cherry picked from commit b5e55dbf357472ffa39345b30b8b781e988a440f) --- sys/dev/sound/pcm/sound.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index 0a8144e97c24..51d1624b2d7e 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -287,9 +287,6 @@ struct snd_mixer; #define SND_DEV_DSP_SPDIFOUT 19 /* /dev/dsp_spdifout */ #define SND_DEV_DSP_SPDIFIN 20 /* /dev/dsp_spdifin */ -#define SND_DEV_LAST SND_DEV_DSP_SPDIFIN -#define SND_DEV_MAX PCMMAXDEV - #define DSP_DEFAULT_SPEED 8000 #define ON 1 From nobody Fri Apr 12 01:18:39 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFzGl4K38z5GXj7; Fri, 12 Apr 2024 01:18: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 4VFzGl3pRCz4Pln; Fri, 12 Apr 2024 01:18:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I1kGUlNjbE0b2rwHbN/MO1Hh3hdw6ip6yuzf8SaG5vU=; b=exH0mGtmMeiAZKRiXJCMVlaGvA+34o5hDz/0RFFQa+ACIeRcZ9NEkN5Fl4hdkOqAUnhImy YwM2Zj+4bIEsbihAQPrNc/6de+pYZ7t+zXNW8+ZjxdalzKmrF0objcUDEQ8vVzW7ydiBCL w2iSi+gVIsr5IJ2NDrzDOh8SbbNWKaSWXRwu1tDw8KpSvd73vdNN9dcBpHR+UytAkUcWBm 30r4DQ53+hNQMjrLRr8KA1sPXX1ZNxv0KD6uqDYFskxM4Mdpi3Wa6p9z6lJaIbnsvoPcLQ mA63pArrvM1HKreGBKw7mTcbkyx7AnFXZFz6LgjoDfZpoIGZASBmvqC6V0qqhg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884719; a=rsa-sha256; cv=none; b=H3dmhXao0uy3v0GDQKw5zYzHmmoFxO5E5xh+8PfcGJ4k+whr5vGsyy7ge/oxV+Uk3kqfbq /SCje7vxYXUxspUhovU4ZDk03YTrs+MrSDurtyx+qkmH3zF+n/fzh6xxPhPoFKjBElUkuO +WiWk+TfMs/uoakS7iApnMSG2ojdMRJuTWvdYEg44Wc06VuwyibukodFEP/dfQcPIho9hR uPILdZmxtXU4sakj6gfKrEzNNsqu5T8wmsuDQQclcNqb5iniyXBiBiPTibPk0WZRXPymYZ WZMyNPO0VDqFFrcBTo1UVPVSKZ40GgUQ4jILuBZTxr5951RBS9k+dFgfsRd+hQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I1kGUlNjbE0b2rwHbN/MO1Hh3hdw6ip6yuzf8SaG5vU=; b=NF5T6FNwM+usxAapJiQFt8DhSmakQdkJlQisEu4RuMNPushaFBRGh4tSRuMaenzYqs7O1a mvtyfKVNRWkYsPNPJV/qqRu9bhIVhRgcpYl/Fc6rYL2jOSa4uUoLy+VMJPlF7vZeCiY5Lq oOpFyN9fUZzV2eJDF+OqBvfeOMA9rBLlbCUxZp1VQ/Yvkbch9bhiT2HM971OeJu3W848wl 4dwRPgNZLuJ34SwE+DAi8sGopkBHjhNsdInitXbsEoq6VSfBd4FlHX66IKtfgh7uqfNKen T+2QNq/YZm5cruM93b8ubj+IgDPzwWYMOgf9UfWTbvDIE/ZbTZGVIE2MD4g5vQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFzGl3HdrzSyb; Fri, 12 Apr 2024 01:18: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 43C1IdQ7050196; Fri, 12 Apr 2024 01:18:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1IdS8050193; Fri, 12 Apr 2024 01:18:39 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:18:39 GMT Message-Id: <202404120118.43C1IdS8050193@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: a648f68c9254 - stable/14 - stop_all_proc(): skip traced or signal-stoped processes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a648f68c9254158af772ee589884adbc85a9a504 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a648f68c9254158af772ee589884adbc85a9a504 commit a648f68c9254158af772ee589884adbc85a9a504 Author: Konstantin Belousov AuthorDate: 2024-04-04 19:24:32 +0000 Commit: Konstantin Belousov CommitDate: 2024-04-12 01:18:32 +0000 stop_all_proc(): skip traced or signal-stoped processes (cherry picked from commit 235436d6311ea5ad00edcc1e553012f0736ea86d) --- sys/kern/kern_proc.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index 936d410133eb..b52455f140b2 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -3479,7 +3479,8 @@ allproc_loop: LIST_REMOVE(cp, p_list); LIST_INSERT_AFTER(p, cp, p_list); PROC_LOCK(p); - if ((p->p_flag & (P_KPROC | P_SYSTEM | P_TOTAL_STOP)) != 0) { + if ((p->p_flag & (P_KPROC | P_SYSTEM | P_TOTAL_STOP | + P_STOPPED_SIG)) != 0) { PROC_UNLOCK(p); continue; } @@ -3500,6 +3501,16 @@ allproc_loop: PROC_UNLOCK(p); continue; } + if ((p->p_flag & P_TRACED) != 0) { + /* + * thread_single() below cannot stop traced p, + * so skip it. OTOH, we cannot require + * restart because debugger might be either + * already stopped or traced as well. + */ + PROC_UNLOCK(p); + continue; + } sx_xunlock(&allproc_lock); _PHOLD(p); r = thread_single(p, SINGLE_ALLPROC); From nobody Fri Apr 12 01:18:40 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFzGm4fSHz5GXfb; Fri, 12 Apr 2024 01:18: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 4VFzGm45lYz4Pnw; Fri, 12 Apr 2024 01:18:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884720; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YZmpx2skt/D11bbEighZl3xFxt+av3oxwNdyg5TQCXw=; b=EU9u97qbsjGlQubdcXcEy+Z+vKo9sH65KjCB2Up2g7U3O2Ksaqs/TWKt3X/zB9IuEN97WV 6jAoDIa4eTAyHsmSm60L6d9VmEzG3PxEanPhPElb7gElCfamf0QWUZHoljBKLcJ3DQY8e1 6Hb+NQqE9o0kkJ3lkwI8T9dITgmivOIMlzeoRA2T/xeu9bCBuzkQEbpitSSItwGzxpCBo2 7qAciWq9RdsNRVthh5Eh1qs9/yiJAOQ4Tz9z5woDCTe517uBiIr0chLpEdt3xphfn5F+zb LlTwUGfjqAYu4PdSYm33pmiIJM+UUuo9SsiYy8WyFoRsxDatLP5b6ujfRihTmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884720; a=rsa-sha256; cv=none; b=nSziRZMRy65E/vPSs7i2E0wIn7e8eBvNgH45xoDOz41vgWG925foOO43K7It1oS07wIPCN r+iqQBy+INXpAuhARMv1bAQwXx6bmfM0WRktJMfZaCu8Cxbv/N1n4gyEDQkjHTB6/S7MzZ 2m1AAbFo+5+zWMk7a0qT+e4wbuDfjXD4Ik4KiWc8BnI5IxtnqwOx/U1N3rWv0w50g6/2ZF wRedXB+WvjmMUMExuA2iNAIWLQrE1E3sneCPzX4py9HlK2gJv4C9mvNPXzSGedQcyXk8RT xMc6A6uyVUBd/YjzKcpBOOUNgyOwBw49lIoJQ5kZYUR6ae0rw0da+M5f8mrQ0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884720; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YZmpx2skt/D11bbEighZl3xFxt+av3oxwNdyg5TQCXw=; b=Tap4C2pp2KapVnU7r92VylhrRf7ogl5XZPmUbYKbb6iWbRDqZ3tQnWEidg12pgJFwqxzbj 5RBfKn7/lP17sdyNUkNWA0MypIWDMUielK8nW6M6/4NLoyDGh5guJjL9O+Bhf+Cl2Mfs4W purcADEBCSPfA7h61GDSrGfqDfpIcUXbXrkwA/77NdKUyx4NiRAF6hr5s+LxJ6eruV9RWe N2przgz4Z0Sq3JhTuGIdJlFArukgOYYQ2q+NPjiBa5zOmHNOaHR7rDhCnND4jb7E45ipqi u9xJLHDPTTc8idyHdQo9uAhjTClXOIFBnZynLJqzSh3oialcLmLJbKSdj41bbg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFzGm3jt9zSrq; Fri, 12 Apr 2024 01:18: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 43C1IebG050245; Fri, 12 Apr 2024 01:18:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1Ieui050241; Fri, 12 Apr 2024 01:18:40 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:18:40 GMT Message-Id: <202404120118.43C1Ieui050241@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 2bb6e35f3b9f - stable/14 - acpidump: silent the warning about unaligned uuid List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2bb6e35f3b9fb898ea2c4abf339cf89dc8f516f4 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2bb6e35f3b9fb898ea2c4abf339cf89dc8f516f4 commit 2bb6e35f3b9fb898ea2c4abf339cf89dc8f516f4 Author: Konstantin Belousov AuthorDate: 2024-04-03 02:58:28 +0000 Commit: Konstantin Belousov CommitDate: 2024-04-12 01:18:32 +0000 acpidump: silent the warning about unaligned uuid (cherry picked from commit de937ecb75ed4d61fc06dd380f9bf6be998502e9) --- usr.sbin/acpi/acpidump/acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/acpi/acpidump/acpi.c b/usr.sbin/acpi/acpidump/acpi.c index 3ebfefcc591f..c851e97e9e37 100644 --- a/usr.sbin/acpi/acpidump/acpi.c +++ b/usr.sbin/acpi/acpidump/acpi.c @@ -1596,7 +1596,7 @@ acpi_print_nfit(ACPI_NFIT_HEADER *nfit) printf("\tRangeIndex=%u\n", (u_int)sysaddr->RangeIndex); printf("\tProximityDomain=%u\n", (u_int)sysaddr->ProximityDomain); - uuid_to_string((uuid_t *)(sysaddr->RangeGuid), + uuid_to_string((uuid_t *)(uintptr_t)(sysaddr->RangeGuid), &uuidstr, &status); if (status != uuid_s_ok) errx(1, "uuid_to_string: status=%u", status); From nobody Fri Apr 12 01:18:41 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFzGp0Y4Lz5GXjF; Fri, 12 Apr 2024 01:18:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VFzGn5F48z4QGG; Fri, 12 Apr 2024 01:18:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884721; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iNoxKFeGLzVo0kr3mMIHWXmPDW6XBugljVhvDByu4Bo=; b=xr5nm33dZEOa+5OODcGqEyNv7DIObI8mTiIjbYOev8DQyeC1BM/E+7MXSv8e6a7rTk3HPD 2VLsjnruyBI2wP8WvBLUuYD/vhhd9naMV3CP0u4Qn8u9/2yvKttAeCXH6BA6CIva+MJ5Nw jgQwMmRfOXgRAS5WSOQm9c/5m1yGmNe+M1XXdRKGw14YdSYG/MghLcjdOYWmUroidAg19Y Y1Oz0cbGiGMvJ2jwak4xLK+VfNz5fNlNpSa5aIdU/TYw1qfymI0EwgAR+qk0DvEiKGxyAy XX7ENlrzOSVhuXkGOXKiizKGm2JG/ErT7HvOOYNx2O+JbblclFN5BSn324K96g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884721; a=rsa-sha256; cv=none; b=FBObR9k4dR0OxGHUq363NGmctHR2/DB1++/GGAfHyXd3CCYmAY49Yz39vg8ZWv/DBQb+XT ZxuyvjlojidqNfgY7KZQH+aBO2IDVGRultgvtKUEocSzi3NevtZe6WAabRg7RT7eGNtr7h ixNTkNbjrTek9dBwvnya6L13x4gvOowwitq2PBt4rXpOkEkbacprWLemj6ctciabjBOvrL vF0+OxKd/lPiynAuMlHeI1MrYliH95sGHDzXEls/hW6YI+HDw8hQOXjou23HZicSjjU0R4 ADaxeCoTlnH7js1oLN5ghARHtCxFKk07m8Bg1bq+LqC1iNkG9ohgrBc6jnCN/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=1712884721; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iNoxKFeGLzVo0kr3mMIHWXmPDW6XBugljVhvDByu4Bo=; b=jAu4bYUpDLrynP3RfUrcbccR2Qm1It+urEWJXFR6sca6CkKOTm5cca1Z4CNp49xuFys3RN ErRhc1ITkfulmpZeix1EWEM856d+xorf6pIWE1H2LeMBNFAQ0bYcrGYt491cThM/deBhRL S67unyfHmBXY+R4TXFj35lizQW5T1oI3gH4bqU2SjNZDQRYUz2YD5v3ekuontDm+EXOaXk O6aXGVx9oTXxVeuWgl8DSeOeztxA5GMjtz4MI/ZSYWgQktQd6MeWRmGg072rr15ZPf3RgP o/r7zGqJp543czMb8inV79U2vzn7WhF8IMEQUbTHjiXc/J9hB1OeV3yVjZpFxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFzGn4lLlzTCp; Fri, 12 Apr 2024 01:18: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 43C1IflD050295; Fri, 12 Apr 2024 01:18:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1IfJa050292; Fri, 12 Apr 2024 01:18:41 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:18:41 GMT Message-Id: <202404120118.43C1IfJa050292@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0b5c1913b0fe - stable/14 - acpidump: the acpi_get_fadt_revision() argument is unused List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0b5c1913b0fe3eb5c588f7c012f7d12fae1b9333 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0b5c1913b0fe3eb5c588f7c012f7d12fae1b9333 commit 0b5c1913b0fe3eb5c588f7c012f7d12fae1b9333 Author: Konstantin Belousov AuthorDate: 2024-04-04 15:42:36 +0000 Commit: Konstantin Belousov CommitDate: 2024-04-12 01:18:32 +0000 acpidump: the acpi_get_fadt_revision() argument is unused (cherry picked from commit 4262ad56a074b973f18fee09bb03d52153bd35c2) --- usr.sbin/acpi/acpidump/acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/acpi/acpidump/acpi.c b/usr.sbin/acpi/acpidump/acpi.c index c851e97e9e37..9875a4798085 100644 --- a/usr.sbin/acpi/acpidump/acpi.c +++ b/usr.sbin/acpi/acpidump/acpi.c @@ -209,7 +209,7 @@ acpi_print_gas(ACPI_GENERIC_ADDRESS *gas) /* The FADT revision indicates whether we use the DSDT or X_DSDT addresses. */ static int -acpi_get_fadt_revision(ACPI_TABLE_FADT *fadt) +acpi_get_fadt_revision(ACPI_TABLE_FADT *fadt __unused) { int fadt_revision; From nobody Fri Apr 12 01:18:42 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFzGq17ZNz5GXVh; Fri, 12 Apr 2024 01:18: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 4VFzGp6QH3z4Q7t; Fri, 12 Apr 2024 01:18:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vne1/DOjFEu1u7GbZkQ2NidUyIBhpMCxnOnJeg1CMec=; b=bQ1YzTOhqBmSFjVgroJVicxQR9Nyjj+yQPsmHXlsLlo4N98vt4zQ87JQfrBcr/UWM9H1ON roEOqIVupSPKmgux0SsdAHkqloEwvO0BwKF1FhK5vmFEDDCACfNF8vM1sLANis0ia3OIFq UQWrrktmusvYAy29P+JSfMtmSdvvHkjEayNgXS6N9S4G3ONtBQKtm7sGdFLNY1yd21NpiC tvMj7ckKxUkmZNZwRxTc+cO4KfRZP9byEPfThQ1s3wbD8GtozydGpnSP0Qlj96AyiA3msb eImguXZyG4UG8iVytDMc8WStacB8HEBt77uujj/YJqp0crAxJMC8JX6X4akIow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884722; a=rsa-sha256; cv=none; b=RJRjq13t8GekuHXhLbtxODFKA8aEOR9HzcjZ/3WXyefP9lwtRsJa4xtD1cUfrLGD/09plt numNnCfXLanqvRYM4EvkWzRG0ijQ4oHQkCC+3sd58/ywahxYu5o5RXCaRq6K9oGM9ZTXL+ q3jDxWr/mpXEXCw40I8xqPtsxAwETu0gIj+J345rQ70tnyjlDCvU7i69RGEQmXWuvFYzpt 4Hjrc3KM1clPavdKbhrNz/8NmeFarG4rXEpr38X+PNYeWeHoS9D9eOtxXsXOWoCGNJNkt+ rssqbFrP64+XN9pgDIc2d4vsX2GRKsiKpmjlFc6OQxxfjbLGxLDNQ8+/j9RlPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vne1/DOjFEu1u7GbZkQ2NidUyIBhpMCxnOnJeg1CMec=; b=croO7mh8Vvz49m5aSY7P8iU30iao57ElZoAdcopCt2RqAye4qK8oJqcim4Fp5Pnk3xpD4b n4YlRUncqmHvdtfpkjS/IP+N+eIJvQe4NiTgMfKlyxG1DDHqN03ivLapnYtM8KMXE4aCks 6r16n3P6dRtHqk8aT19rkHr8RSL+RyA3RfzQvBYTJmeGdRMqo1LCYFVhFK21JSw2J7770A IXmfX75pqLvQUqeeZKFjrknpsJFP2YFWuRwsyEmcsSgPIaL1fJ8GUhlfiUyl0YUF7ycAbK 6dEGlVyzIOdid+IXJtzZnAqg+FXnDhikMQOScnirvlNh+/C+REWB91mcPngffQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFzGp5zfjzTbt; Fri, 12 Apr 2024 01:18: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 43C1IgWG050338; Fri, 12 Apr 2024 01:18:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1Igq0050335; Fri, 12 Apr 2024 01:18:42 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:18:42 GMT Message-Id: <202404120118.43C1Igq0050335@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0a7de174b779 - stable/14 - acpidump: bump WARNS to 6 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0a7de174b77988437035e4ec333dd1e93cfd6413 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0a7de174b77988437035e4ec333dd1e93cfd6413 commit 0a7de174b77988437035e4ec333dd1e93cfd6413 Author: Konstantin Belousov AuthorDate: 2024-04-03 03:00:25 +0000 Commit: Konstantin Belousov CommitDate: 2024-04-12 01:18:32 +0000 acpidump: bump WARNS to 6 (cherry picked from commit 29a6b72775eeed08a5ecb8f6c1b0c364196d73df) --- usr.sbin/acpi/acpidump/Makefile | 1 - usr.sbin/acpi/acpidump/acpidump.h | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/usr.sbin/acpi/acpidump/Makefile b/usr.sbin/acpi/acpidump/Makefile index 9bd54a80f779..d0bb14284c1a 100644 --- a/usr.sbin/acpi/acpidump/Makefile +++ b/usr.sbin/acpi/acpidump/Makefile @@ -2,6 +2,5 @@ PROG= acpidump MAN= acpidump.8 SRCS= acpi.c acpi_user.c acpidump.c -WARNS?= 3 .include diff --git a/usr.sbin/acpi/acpidump/acpidump.h b/usr.sbin/acpi/acpidump/acpidump.h index 857d230bb871..80f86a748d76 100644 --- a/usr.sbin/acpi/acpidump/acpidump.h +++ b/usr.sbin/acpi/acpidump/acpidump.h @@ -30,9 +30,12 @@ #ifndef _ACPIDUMP_H_ #define _ACPIDUMP_H_ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-parameter" #include #include #include +#pragma GCC diagnostic pop /* GAS address space ID constants. */ #define ACPI_GAS_MEMORY 0 From nobody Fri Apr 12 01:18:43 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFzGr1607z5GX1r; Fri, 12 Apr 2024 01:18: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 4VFzGr0HN3z4QMK; Fri, 12 Apr 2024 01:18:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884724; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bfL8bqZDq2aHW1t1w/4nfmqxFlqA7WhR4c06WUEmc3Y=; b=YIDC645FTKKjKs0UcIBErNfG2ZO08BLCIZJokGe0MMhcL51H6X/ceK7+vHYFEeOSqDKUzy vkpvCqw0Gt0J24Y9A397ZLspyxpoBVqqtmMAC0NJ2l2d1FuPeTDMzI5vLA3ULj6AffhKTU EEIta54BVZ7kwSGVYxbqp+1wB+k9MHkyoUh7fAjIsCUumjv2E/zaanWOt4KVzueqQk7TrX Dd1vHYfeK2ZPOLUCOGmCmirs5eWWJWRaDI9TPNmQ0/ai1sGaSIJnCSSlvuaUCThGAIhRnC F9HhaQhap43+3GuvzmnDaDLCHOedJ8oXYG9osCdilOPWfUEkjGkKPDjc5/HuGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884724; a=rsa-sha256; cv=none; b=nqdGRK1H/SVYDe2FE3BQstnlUprEGd/6plyNtExrEF6ICwqcWGFCr3/MNWkbEHmGT0TC59 JhR7BUrU8vS+M7oSzkMBy4QFa7aeXSJoEsuOy8N9JQmD6lL/3KlKs51DPClz4BGZOxlANA eSErNHtWJNVXwTqHbx1u/C+yhBOwWT12rp99kU9sbGPBYnnYwX2o7ZpfMP72yRbjQ63EFm 2UWHYzh7e+A0NRBciwWXl1JvVErbNEo5QwfEMOXFVaBO+FVVkxevOqFh3vbYBvsKEMB438 VMTdrFr+9cbPG2/RKEhwDSp+WtTErl/TUv2JlpM+XjS2AwLLxzgfL3nD9pNLDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884724; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bfL8bqZDq2aHW1t1w/4nfmqxFlqA7WhR4c06WUEmc3Y=; b=TbpQak9D/Ef40jSbz0iOhc6F4UxrJW06CO8u6YjU69u87Oo6TXEmMyV5otIby2DzmG0ZL2 gJAO/RcPPCuGoeK86U3k8MsrdkvyY6seHUjfdXrrP9C54CDoRLN1PNDTksFZ0zjyJipd8l gIYhXyLvFx78fQFbhlblEDDi3hU/OiGLRqJ7DLpm7vSmugc/iE7sTwg82Bp3tAjglzzbXK czqGKpxPYFbs5jCs9qs/D19RV5ZwusR+XURq+LpFV4KALsHix8t25I3KQnBj3ygN7WKOPs GSHjvJRUyCkmrWSHAdaZLgeh5Hq4j1lmTJcsJV3a4u1Wrv77aOjsrOwXsLqMnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFzGq6xXczT0h; Fri, 12 Apr 2024 01:18: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 43C1IhZV050377; Fri, 12 Apr 2024 01:18:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1IhFL050374; Fri, 12 Apr 2024 01:18:43 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:18:43 GMT Message-Id: <202404120118.43C1IhFL050374@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 9ab216e2646a - stable/14 - acpidump: add printfield() helper List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9ab216e2646a52caeacc56d763877ca866e167c3 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9ab216e2646a52caeacc56d763877ca866e167c3 commit 9ab216e2646a52caeacc56d763877ca866e167c3 Author: Konstantin Belousov AuthorDate: 2024-04-04 04:49:21 +0000 Commit: Konstantin Belousov CommitDate: 2024-04-12 01:18:32 +0000 acpidump: add printfield() helper (cherry picked from commit 969a4b8be5a7d8edf55bd8945a5a071f57386b0e) --- usr.sbin/acpi/acpidump/acpi.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/usr.sbin/acpi/acpidump/acpi.c b/usr.sbin/acpi/acpidump/acpi.c index 9875a4798085..391310b44c7c 100644 --- a/usr.sbin/acpi/acpidump/acpi.c +++ b/usr.sbin/acpi/acpidump/acpi.c @@ -156,6 +156,18 @@ printflag(uint64_t var, uint64_t mask, const char *name) } } +static void +printfield(uint64_t var, int lbit, int hbit, const char *name) +{ + uint64_t mask; + int len; + + len = hbit - lbit + 1; + mask = ((1 << (len + 1)) - 1) << lbit; + printf("%c%s=%#jx", pf_sep, name, (uintmax_t)((var & mask) >> lbit)); + pf_sep = ','; +} + static void acpi_print_string(char *s, size_t length) { From nobody Fri Apr 12 01:18:45 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFzGs3dwFz5GXFr; Fri, 12 Apr 2024 01:18: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 4VFzGs1NHNz4QF0; Fri, 12 Apr 2024 01:18:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884725; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S06ORsYaY45unwO/f8kNC4LIVUqOoQipOMEKEPFiWnY=; b=CmtlruQm26LTtnjyuj4JkVm4a3/IkvQ+f3zCP15jJLoDSYpsrSZEUZVRERA6rALNsyplpT Hyy9lx5FX4ZC73zk9MVMDg3SGX1Io3emaBjXiwo93iGS7QXn9zCFRBlO6gn85o9u0iWSgy jORX4rTro2h5irNSSH36f7qEsDcdrmHsEBZ1DHfm10yoI7NHqeO7YhbKVhysCBk6xVjwUH L1eZfKth/BQRTR4n7e/OLne9YrEVjTRgBdGWKkRFIqb6VtAcCjt0VoKVUaCeFPAzvJYsSr YKBGqxNM1JHkVOegd/XXVyxz9+q7xsMKg/7dTQN6sDhSd8FlyQzdj+xZdMHi7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884725; a=rsa-sha256; cv=none; b=x0uCfgo4MDjpUSnlHw2TPh0KBA5KuhWUdGP6PsPKclwaaruuIYsBq64Lu7/cY/IG2xcAUR d4ZFNOGGLNAGBY42M6mUvOr7jynjN+St/ibS2LhLQS3mBl+igCWdEl4sUtkJs1pMzmwwMs Q1EIKUcVyFTEmfa9Im3Qckxfi7cZ0Jd23MNsTayy6FICl+zehM8GTl9o+Bokpxij5TXXor c+asIrpOOu+cR8Y3a5aVC5/c+Tv60ULp7uop3mUZkvLPmFBU6dZPEH5cikqM3zDXntG3CV A7dSODbfRM6wTYTl+m+BEWFHv+yGA9E1yIR5vN/ueYpRiIaLbu0XJsfoIY03JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884725; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S06ORsYaY45unwO/f8kNC4LIVUqOoQipOMEKEPFiWnY=; b=Pp/m0q7Hq9RGUenvtEGrXfIbBdkpwLR8yWpTT22iaNnkD+Mxj7nGKV4p/dD1LUmRnKa77D SK9FVeBrBx6n/0vXKJQ7vElgn00ir7NG4UQsIKK+iy6EoNoyS+bEqMIuDKUyCpPUmO8lop fDIFXFWv5W5g8VeqML2LXPHjfc9xstgsVtAegozG4I5zRec+iuHUXIwOVoCVy/eEcHjqyA roFXbSQUh6kXRnQfs7/YnTI8k1jqNaaSjF8AzpKyDHw14mOprY7/KlmX03CiABLmgr/imP sxxP69LKBUWxsQg1dW3/c2LWIm4qbiXPs6uFuUhkUYfr05j6hcCS7BXZIUAS9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFzGs0xnnzSyc; Fri, 12 Apr 2024 01:18: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 43C1IjQT050429; Fri, 12 Apr 2024 01:18:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1IjYb050426; Fri, 12 Apr 2024 01:18:45 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:18:45 GMT Message-Id: <202404120118.43C1IjYb050426@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: ec9952bd472e - stable/14 - acpidump: dump AMD IVRS table describing IOMMU layout List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ec9952bd472e72f52890dd3194e7f24738d9c2c3 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ec9952bd472e72f52890dd3194e7f24738d9c2c3 commit ec9952bd472e72f52890dd3194e7f24738d9c2c3 Author: Konstantin Belousov AuthorDate: 2024-03-31 23:30:37 +0000 Commit: Konstantin Belousov CommitDate: 2024-04-12 01:18:32 +0000 acpidump: dump AMD IVRS table describing IOMMU layout (cherry picked from commit 6d789b6126afe1c23b65eef2c5cf4c6bd258c26f) --- usr.sbin/acpi/acpidump/acpi.c | 372 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 372 insertions(+) diff --git a/usr.sbin/acpi/acpidump/acpi.c b/usr.sbin/acpi/acpidump/acpi.c index 391310b44c7c..b0d759631ce7 100644 --- a/usr.sbin/acpi/acpidump/acpi.c +++ b/usr.sbin/acpi/acpidump/acpi.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -1496,6 +1497,375 @@ acpi_handle_dmar(ACPI_TABLE_HEADER *sdp) printf(END_COMMENT); } +static void +acpi_handle_ivrs_ivhd_header(ACPI_IVRS_HEADER *addr) +{ + printf("\n\tIVHD Type=%#x IOMMUId=%x\n\tFlags=", + addr->Type, addr->DeviceId); +#define PRINTFLAG(flag, name) printflag(addr->Flags, flag, #name) + PRINTFLAG(ACPI_IVHD_TT_ENABLE, HtTunEn); + PRINTFLAG(ACPI_IVHD_ISOC, PassPW); + PRINTFLAG(ACPI_IVHD_RES_PASS_PW, ResPassPW); + PRINTFLAG(ACPI_IVHD_ISOC, Isoc); + PRINTFLAG(ACPI_IVHD_TT_ENABLE, IotlbSup); + PRINTFLAG((1 << 5), Coherent); + PRINTFLAG((1 << 6), PreFSup); + PRINTFLAG((1 << 7), PPRSup); +#undef PRINTFLAG + PRINTFLAG_END(); +} + +static void +acpi_handle_ivrs_ivhd_dte(UINT8 dte) +{ + if (dte == 0) { + printf("\n"); + return; + } + printf(" DTE="); +#define PRINTFLAG(flag, name) printflag(dte, flag, #name) + PRINTFLAG(ACPI_IVHD_INIT_PASS, INITPass); + PRINTFLAG(ACPI_IVHD_EINT_PASS, EIntPass); + PRINTFLAG(ACPI_IVHD_NMI_PASS, NMIPass); + PRINTFLAG(ACPI_IVHD_SYSTEM_MGMT, SysMgtPass); + PRINTFLAG(ACPI_IVHD_LINT0_PASS, Lint0Pass); + PRINTFLAG(ACPI_IVHD_LINT1_PASS, Lint1Pass); +#undef PRINTFLAG + PRINTFLAG_END(); +} + +static void +acpi_handle_ivrs_ivhd_edte(UINT32 edte) +{ + if (edte == 0) + return; + printf("\t\t ExtDTE="); +#define PRINTFLAG(flag, name) printflag(edte, flag, #name) + PRINTFLAG(ACPI_IVHD_ATS_DISABLED, AtsDisabled); +#undef PRINTFLAG + PRINTFLAG_END(); +} + +static const char * +acpi_handle_ivrs_ivhd_variety(UINT8 v) +{ + switch (v) { + case ACPI_IVHD_IOAPIC: + return ("IOAPIC"); + case ACPI_IVHD_HPET: + return ("HPET"); + default: + return ("UNKNOWN"); + } +} + +static void +acpi_handle_ivrs_ivhd_devs(ACPI_IVRS_DE_HEADER *d, char *de) +{ + char *db; + ACPI_IVRS_DEVICE4 *d4; + ACPI_IVRS_DEVICE8A *d8a; + ACPI_IVRS_DEVICE8B *d8b; + ACPI_IVRS_DEVICE8C *d8c; + ACPI_IVRS_DEVICE_HID *dh; + size_t len; + UINT32 x32; + + for (; (char *)d < de; d = (ACPI_IVRS_DE_HEADER *)(db + len)) { + db = (char *)d; + if (d->Type == ACPI_IVRS_TYPE_PAD4) { + len = sizeof(*d4); + } else if (d->Type == ACPI_IVRS_TYPE_ALL) { + d4 = (ACPI_IVRS_DEVICE4 *)db; + len = sizeof(*d4); + printf("\t\tDev Type=%#x Id=ALL", d4->Header.Type); + acpi_handle_ivrs_ivhd_dte(d4->Header.DataSetting); + } else if (d->Type == ACPI_IVRS_TYPE_SELECT) { + d4 = (ACPI_IVRS_DEVICE4 *)db; + len = sizeof(*d4); + printf("\t\tDev Type=%#x Id=%#06x", d4->Header.Type, + d4->Header.Id); + acpi_handle_ivrs_ivhd_dte(d4->Header.DataSetting); + } else if (d->Type == ACPI_IVRS_TYPE_START) { + d4 = (ACPI_IVRS_DEVICE4 *)db; + len = 2 * sizeof(*d4); + printf("\t\tDev Type=%#x Id=%#06x-%#06x", + d4->Header.Type, + d4->Header.Id, (d4 + 1)->Header.Id); + acpi_handle_ivrs_ivhd_dte(d4->Header.DataSetting); + } else if (d->Type == ACPI_IVRS_TYPE_END) { + d4 = (ACPI_IVRS_DEVICE4 *)db; + len = 2 * sizeof(*d4); + printf("\t\tDev Type=%#x Id=%#06x BIOS BUG\n", + d4->Header.Type, d4->Header.Id); + } else if (d->Type == ACPI_IVRS_TYPE_PAD8) { + len = sizeof(*d8a); + } else if (d->Type == ACPI_IVRS_TYPE_ALIAS_SELECT) { + d8a = (ACPI_IVRS_DEVICE8A *)db; + len = sizeof(*d8a); + printf("\t\tDev Type=%#x Id=%#06x AliasId=%#06x", + d8a->Header.Type, d8a->Header.Id, d8a->UsedId); + acpi_handle_ivrs_ivhd_dte(d8a->Header.DataSetting); + } else if (d->Type == ACPI_IVRS_TYPE_ALIAS_START) { + d8a = (ACPI_IVRS_DEVICE8A *)db; + d4 = (ACPI_IVRS_DEVICE4 *)(db + sizeof(*d8a)); + len = sizeof(*d8a) + sizeof(*d4); + printf("\t\tDev Type=%#x Id=%#06x-%#06x AliasId=%#06x", + d8a->Header.Type, d8a->Header.Id, d4->Header.Id, + d8a->UsedId); + acpi_handle_ivrs_ivhd_dte(d8a->Header.DataSetting); + } else if (d->Type == ACPI_IVRS_TYPE_EXT_SELECT) { + d8b = (ACPI_IVRS_DEVICE8B *)db; + len = sizeof(*d8b); + printf("\t\tDev Type=%#x Id=%#06x", + d8a->Header.Type, d8a->Header.Id); + acpi_handle_ivrs_ivhd_dte(d8b->Header.DataSetting); + printf("\t\t"); + acpi_handle_ivrs_ivhd_edte(d8b->ExtendedData); + } else if (d->Type == ACPI_IVRS_TYPE_EXT_START) { + d8b = (ACPI_IVRS_DEVICE8B *)db; + len = sizeof(*d8b); + d4 = (ACPI_IVRS_DEVICE4 *)(db + sizeof(*d8a)); + len = sizeof(*d8a) + sizeof(*d4); + printf("\t\tDev Type=%#x Id=%#06x-%#06x", + d8a->Header.Type, d8a->Header.Id, d4->Header.Id); + acpi_handle_ivrs_ivhd_dte(d8b->Header.DataSetting); + acpi_handle_ivrs_ivhd_edte(d8b->ExtendedData); + } else if (d->Type == ACPI_IVRS_TYPE_SPECIAL) { + d8c = (ACPI_IVRS_DEVICE8C *)db; + len = sizeof(*d8c); + printf("\t\tDev Type=%#x Id=%#06x Handle=%#x " + "Variety=%d(%s)", + d8c->Header.Type, d8c->UsedId, d8c->Handle, + d8c->Variety, + acpi_handle_ivrs_ivhd_variety(d8c->Variety)); + acpi_handle_ivrs_ivhd_dte(d8c->Header.DataSetting); + } else if (d->Type == ACPI_IVRS_TYPE_HID) { + dh = (ACPI_IVRS_DEVICE_HID *)db; + len = sizeof(*dh) + dh->UidLength; + printf("\t\tDev Type=%#x Id=%#06x HID=", + dh->Header.Type, dh->Header.Id); + acpi_print_string((char *)&dh->AcpiHid, + sizeof(dh->AcpiHid)); + printf(" CID="); + acpi_print_string((char *)&dh->AcpiCid, + sizeof(dh->AcpiCid)); + printf(" UID="); + switch (dh->UidType) { + case ACPI_IVRS_UID_NOT_PRESENT: + default: + printf("none"); + break; + case ACPI_IVRS_UID_IS_INTEGER: + memcpy(&x32, dh + 1, sizeof(x32)); + printf("%#x", x32); + break; + case ACPI_IVRS_UID_IS_STRING: + acpi_print_string((char *)(dh + 1), + dh->UidLength); + break; + } + acpi_handle_ivrs_ivhd_dte(dh->Header.DataSetting); + } else { + printf("\t\tDev Type=%#x Unknown\n", d->Type); + if (d->Type <= 63) + len = sizeof(*d4); + else if (d->Type <= 127) + len = sizeof(*d8a); + else { + printf("Abort, cannot advance iterator.\n"); + return; + } + } + } +} + +static void +acpi_handle_ivrs_ivhd_10(ACPI_IVRS_HARDWARE1 *addr, bool efrsup) +{ + acpi_handle_ivrs_ivhd_header(&addr->Header); + printf("\tCapOffset=%#x Base=%#jx PCISeg=%#x Unit=%#x MSIlog=%d\n", + addr->CapabilityOffset, (uintmax_t)addr->BaseAddress, + addr->PciSegmentGroup, (addr->Info & ACPI_IVHD_UNIT_ID_MASK) >> 8, + addr->Info & ACPI_IVHD_MSI_NUMBER_MASK); + if (efrsup) { +#define PRINTFLAG(flag, name) printflag(addr->FeatureReporting, flag, #name) +#define PRINTFIELD(lbit, hbit, name) \ + printfield(addr->FeatureReporting, lbit, hbit, #name) + PRINTFIELD(30, 31, HATS); + PRINTFIELD(28, 29, GATS); + PRINTFIELD(23, 27, MsiNumPPR); + PRINTFIELD(17, 22, PNBanks); + PRINTFIELD(13, 16, PNCounters); + PRINTFIELD(8, 12, PASmax); + PRINTFLAG(1 << 7, HESup); + PRINTFLAG(1 << 6, GASup); + PRINTFLAG(1 << 5, UASup); + PRINTFIELD(3, 2, GLXSup); + PRINTFLAG(1 << 1, NXSup); + PRINTFLAG(1 << 0, XTSup); +#undef PRINTFLAG +#undef PRINTFIELD + PRINTFLAG_END(); + } + acpi_handle_ivrs_ivhd_devs((ACPI_IVRS_DE_HEADER *)(addr + 1), + (char *)addr + addr->Header.Length); +} + +static void +acpi_handle_ivrs_ivhd_info_11(ACPI_IVRS_HARDWARE2 *addr) +{ + acpi_handle_ivrs_ivhd_header(&addr->Header); + printf("\tCapOffset=%#x Base=%#jx PCISeg=%#x Unit=%#x MSIlog=%d\n", + addr->CapabilityOffset, (uintmax_t)addr->BaseAddress, + addr->PciSegmentGroup, (addr->Info >> 8) & 0x1f, + addr->Info & 0x5); + printf("\tAttr="); +#define PRINTFIELD(lbit, hbit, name) \ + printfield(addr->Attributes, lbit, hbit, #name) + PRINTFIELD(23, 27, MsiNumPPR); + PRINTFIELD(17, 22, PNBanks); + PRINTFIELD(13, 16, PNCounters); +#undef PRINTFIELD + PRINTFLAG_END(); +} + +static void +acpi_handle_ivrs_ivhd_11(ACPI_IVRS_HARDWARE2 *addr) +{ + acpi_handle_ivrs_ivhd_info_11(addr); + printf("\tEFRreg=%#018jx\n", (uintmax_t)addr->EfrRegisterImage); + acpi_handle_ivrs_ivhd_devs((ACPI_IVRS_DE_HEADER *)(addr + 1), + (char *)addr + addr->Header.Length); +} + +static void +acpi_handle_ivrs_ivhd_40(ACPI_IVRS_HARDWARE2 *addr) +{ + acpi_handle_ivrs_ivhd_info_11(addr); + printf("\tEFRreg=%#018jx EFR2reg=%#018jx\n", + (uintmax_t)addr->EfrRegisterImage, (uintmax_t)addr->Reserved); + acpi_handle_ivrs_ivhd_devs((ACPI_IVRS_DE_HEADER *)(addr + 1), + (char *)addr + addr->Header.Length); +} + +static const char * +acpi_handle_ivrs_ivmd_type(ACPI_IVRS_MEMORY *addr) +{ + switch (addr->Header.Type) { + case ACPI_IVRS_TYPE_MEMORY1: + return ("ALL"); + case ACPI_IVRS_TYPE_MEMORY2: + return ("specified"); + case ACPI_IVRS_TYPE_MEMORY3: + return ("range"); + default: + return ("unknown"); + } +} + +static void +acpi_handle_ivrs_ivmd(ACPI_IVRS_MEMORY *addr) +{ + printf("\tMem Type=%#x(%s) ", + addr->Header.Type, acpi_handle_ivrs_ivmd_type(addr)); + switch (addr->Header.Type) { + case ACPI_IVRS_TYPE_MEMORY2: + printf("Id=%#06x PCISeg=%#x ", addr->Header.DeviceId, + *(UINT16 *)&addr->Reserved); + break; + case ACPI_IVRS_TYPE_MEMORY3: + printf("Id=%#06x-%#06x PCISeg=%#x", addr->Header.DeviceId, + addr->AuxData, *(UINT16 *)&addr->Reserved); + break; + } + printf("Start=%#18jx Length=%#jx Flags=", + (uintmax_t)addr->StartAddress, (uintmax_t)addr->MemoryLength); +#define PRINTFLAG(flag, name) printflag(addr->Header.Flags, flag, #name) + PRINTFLAG(ACPI_IVMD_EXCLUSION_RANGE, ExclusionRange); + PRINTFLAG(ACPI_IVMD_WRITE, IW); + PRINTFLAG(ACPI_IVMD_READ, IR); + PRINTFLAG(ACPI_IVMD_UNITY, Unity); +#undef PRINTFLAG + PRINTFLAG_END(); +} + +static int +acpi_handle_ivrs_blocks(void *addr, int remaining, bool efrsup) +{ + ACPI_IVRS_HEADER *hdr = addr; + + if (remaining < (int)sizeof(ACPI_IVRS_HEADER)) + return (-1); + + if (remaining < hdr->Length) + return (-1); + + switch (hdr->Type) { + case ACPI_IVRS_TYPE_HARDWARE1: + acpi_handle_ivrs_ivhd_10(addr, efrsup); + break; + case ACPI_IVRS_TYPE_HARDWARE2: + if (!efrsup) + printf("\t!! Found IVHD block 0x11 but !EFRsup\n"); + acpi_handle_ivrs_ivhd_11(addr); + break; + case ACPI_IVRS_TYPE_HARDWARE3: + if (!efrsup) + printf("\t!! Found IVHD block 0x40 but !EFRsup\n"); + acpi_handle_ivrs_ivhd_40(addr); + break; + case ACPI_IVRS_TYPE_MEMORY1: + case ACPI_IVRS_TYPE_MEMORY2: + case ACPI_IVRS_TYPE_MEMORY3: + acpi_handle_ivrs_ivmd(addr); + break; + default: + printf("\n"); + printf("\tType=%d\n", hdr->Type); + printf("\tLength=%d\n", hdr->Length); + break; + } + return (hdr->Length); +} + +#define ACPI_IVRS_DMAREMAP 0x00000002 +#define ACPI_IVRS_EFRSUP 0x00000001 +#define ACPI_IVRS_GVA_SIZE 0x000000e0 + +static void +acpi_handle_ivrs(ACPI_TABLE_HEADER *sdp) +{ + ACPI_TABLE_IVRS *ivrs; + char *cp; + int remaining, consumed; + bool efrsup; + + printf(BEGIN_COMMENT); + acpi_print_sdt(sdp); + ivrs = (ACPI_TABLE_IVRS *)sdp; + efrsup = (ivrs->Info & ACPI_IVRS_EFRSUP) != 0; + printf("\tVAsize=%d PAsize=%d GVAsize=%d\n", + (ivrs->Info & ACPI_IVRS_VIRTUAL_SIZE) >> 15, + (ivrs->Info & ACPI_IVRS_PHYSICAL_SIZE) >> 8, + (ivrs->Info & ACPI_IVRS_GVA_SIZE) >> 5); + printf("\tATS_resp_res=%d DMA_preboot_remap=%d EFRsup=%d\n", + (ivrs->Info & ACPI_IVRS_ATS_RESERVED) != 0, + (ivrs->Info & ACPI_IVRS_DMAREMAP) != 0, efrsup); + + remaining = sdp->Length - sizeof(ACPI_TABLE_IVRS); + while (remaining > 0) { + cp = (char *)sdp + sdp->Length - remaining; + consumed = acpi_handle_ivrs_blocks(cp, remaining, efrsup); + if (consumed <= 0) + break; + else + remaining -= consumed; + } + + printf(END_COMMENT); +} + static void acpi_print_srat_memory(ACPI_SRAT_MEM_AFFINITY *mp) { @@ -2084,6 +2454,8 @@ acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp) acpi_handle_tcpa(sdp); else if (!memcmp(sdp->Signature, ACPI_SIG_DMAR, 4)) acpi_handle_dmar(sdp); + else if (!memcmp(sdp->Signature, ACPI_SIG_IVRS, 4)) + acpi_handle_ivrs(sdp); else if (!memcmp(sdp->Signature, ACPI_SIG_NFIT, 4)) acpi_handle_nfit(sdp); else if (!memcmp(sdp->Signature, ACPI_SIG_WDDT, 4)) From nobody Fri Apr 12 01:18:46 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFzGt3WqHz5GX20; Fri, 12 Apr 2024 01:18: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 4VFzGt2LfJz4QBs; Fri, 12 Apr 2024 01:18:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884726; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4ovfx5jQERDpzP8VlG0GBS1LVnbu7KkK5B/HpwAaFp4=; b=nKKPRLJULBJ6VY+3YlY/wJ80r83aLbrCcRBU+JRlWs4g5ea7T5eoiaW81d2wgIh2trEM7Q 8Irg30kuDqVICElYeTZNwUMFefkwWf/fec3R/dZ2BN8e6PBRXb91NnyFZTHmjFGvy3ZSQj oPkX5iXrgtktF11KYrdjGLtzaH2zHHEmpOE2AJDcjup9baYkR7/qdJgc4+CiJc43fF+teG tl5q8veqv8sRL4afPqbD3dQM9qnK8RynWuPdAhvNb1l+1J0UEeqhAoxv8QZpOTP15ViXPe lOvvUXw9xms5SdsvflP89wfog1yXTZzL6yuk75isOqf+Kr0Yo9IgDvQukWfZWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884726; a=rsa-sha256; cv=none; b=lJfaVTrORkYrJWnkfhXvnHeWBQIr3XdCAuHfM4ptCjcVOtllaLflaCSO/G2pECqVSUt0Bq 2/63KVGm00k0qE5T+5Oqm5h+vCUROztOlc6gpMQjN3aoqQosYC3iv70fVVZVPbxkVKTsqR qWkI1+aIAsLp+fs6DUvmx04C3mfj6Chr8fBEoIr6yo+9p9BmJ55m00u87lhrGJJbXU55Dz 2qK/Oha48INnPLtlQTfRGAIR17as5fDKfVImKfR6NNgdDUMLLwrFG3jk6oRHnJwHw3UBx5 GAfWF5BL9B4e+EFxfxY6enA87QDeF6MWgNFE5rAkOl4h/BjiXoPk8zKynC3NVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884726; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4ovfx5jQERDpzP8VlG0GBS1LVnbu7KkK5B/HpwAaFp4=; b=xGPyT7gZI5tKgk89zdgs+7wj3FNv0am+c6mjtIkqh4pZfryFNNho5rPYP0KhDxHMOULltB yHtywA4VsPzGIyu2Oa2Wmm8latDhqI5Xa9b7Y2YQTszpnTuXcvzbRKcdBrFt6yzVyJWjvc ORy2mr38A5zHmaw5gjOQA8Gs9R0Jc+aPQiXLZodlQVUDOpTRDbQpfiMV0aeQb93UDkGV47 s14wCydg7211PwV+s+16kJxytt1XjSHcD+JUjbURrOHU/g5Lx5iHWTkdslJl7Dor38ofh6 u1GfV0DLrjEiNuLxKPgM1+6VsGksUB7u65ff026AgPsuWdgPpr9NLgenPoOrHQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFzGt1xpMzTbv; Fri, 12 Apr 2024 01:18: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 43C1Iko3050471; Fri, 12 Apr 2024 01:18:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1IkZ8050468; Fri, 12 Apr 2024 01:18:46 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:18:46 GMT Message-Id: <202404120118.43C1IkZ8050468@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 80bf64732ce5 - stable/14 - acpidump: add Foundation copyright List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 80bf64732ce56aa3c932eb9a21d080edc31581f3 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=80bf64732ce56aa3c932eb9a21d080edc31581f3 commit 80bf64732ce56aa3c932eb9a21d080edc31581f3 Author: Konstantin Belousov AuthorDate: 2024-04-05 14:57:19 +0000 Commit: Konstantin Belousov CommitDate: 2024-04-12 01:18:32 +0000 acpidump: add Foundation copyright (cherry picked from commit f1519a8229d71fc1093c8bd27362c5a9f703dd4b) --- usr.sbin/acpi/acpidump/acpi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usr.sbin/acpi/acpidump/acpi.c b/usr.sbin/acpi/acpidump/acpi.c index b0d759631ce7..adef488065f6 100644 --- a/usr.sbin/acpi/acpidump/acpi.c +++ b/usr.sbin/acpi/acpidump/acpi.c @@ -4,8 +4,12 @@ * Copyright (c) 1998 Doug Rabson * Copyright (c) 2000 Mitsuru IWASAKI * Copyright (c) 2020 Alexander Motin + * Copyright (c) 2024 The FreeBSD Foundation * All rights reserved. * + * Portions of this software were developed by Konstantin Belousov + * 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: From nobody Fri Apr 12 01:18:47 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFzGv5sKtz5GXFw; Fri, 12 Apr 2024 01:18: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 4VFzGv3dv7z4QHd; Fri, 12 Apr 2024 01:18:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884727; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bFSWd8EDPkzyyuTx/SH0hZmX/9KMZO3xbR8Wxva/HEw=; b=baYQLlpv2JwSCTkHzN7NH0KiAzs1cWVC3k8K71VRAY+m5Z5MeMuMMqBlYXSE3zlIVicrve VPv6OPDd2MJo0m+fYyC+tE1r1XaRoRvm5ut08aupq8E/2s+/oUBBWO/W1d0xxCoPdhTVpc uuqE9egbnN9H2ozooNa6MyNs0uVlecboi2pbiouJzC8GI9iFzqy2o5+VbY/xCogtf7XxL5 XM88N6GkB9kmDtuj54tU/KBHxBP3zFCSHkgISCL1HQFWmYI4vCyDH/zzkmEy9otmrdG7eD z3kznybnPb6YyurraLOLKC7y/Oss0DvGNR6DpAe4LQyejoCqVsPl3+HQRhDd9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884727; a=rsa-sha256; cv=none; b=ioDdsHCxdXonwxL1N0NqXC8bK0GDW+G7zdwRM4+Bp3r/Xl4Qf0HE5vmpMu5yQkSbc+dLin 8LMn0tYChhlVmDW/xmVTtLnjxuNlp+f78caHyqjrblNdA0WzN4rzLFes6kh52RIImkMYOy /IQ8ybk/J9dtDVfyLPl1HgAYrliFPZ4oEvrWD4BPoLecJXO6Wrt/UNc7xqs0h4iuJBFput yxy4vaSA6+uar8Iwf51rSfYu6of1tchMDSj6Av79qhH1n7zgCqZmRv7hS/zbFofJqHO4zL nnfwGEhoLWgfpMki0rCcMsGogkdtGbDaMaJ1DoDYIkOmEGJNTy6y+kW9LiZc1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884727; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bFSWd8EDPkzyyuTx/SH0hZmX/9KMZO3xbR8Wxva/HEw=; b=tKuLYKGVMy7hs/wGvsKc2Hd0ZL5sCPcYWkYcVmsGIahP1F6wtj020Ib2kKqu8TJSO2xEoB 9uGkycSCAoB5DrDGM+WPg5fc0h77cMSYRMHGyxdV5Kx0x0IVYVgW78xmk1ffal9PjUJr/4 uSbFIWV7aXWZEir7d8Mh2X603w8D/UyTzMYcQTs0PIA5iOccC+0o4LCN2oTyAMX61BLyk4 iefqs8OnGAf6vON6oAzCma3MZr3CrSyrerq91zcEdW5OpJFdcG1vq4gg2tdb8g/T94rZnt sEEe0KkGdjqwgzPFg2ndBeQSmYM3OnYy5sn2czqbHyebsrfu+eE5hGH2wMV9IQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFzGv2wsCzTQp; Fri, 12 Apr 2024 01:18: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 43C1IlBa050512; Fri, 12 Apr 2024 01:18:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1IlvE050509; Fri, 12 Apr 2024 01:18:47 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:18:47 GMT Message-Id: <202404120118.43C1IlvE050509@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 83fe75d6c16e - stable/14 - pcireg.h: add include guard List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 83fe75d6c16e64ab0cdc0ccab37095e2cac3ea07 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=83fe75d6c16e64ab0cdc0ccab37095e2cac3ea07 commit 83fe75d6c16e64ab0cdc0ccab37095e2cac3ea07 Author: Konstantin Belousov AuthorDate: 2024-04-07 01:27:46 +0000 Commit: Konstantin Belousov CommitDate: 2024-04-12 01:18:32 +0000 pcireg.h: add include guard (cherry picked from commit 1cd9868f04c3e91929974dca3444a79047f4e602) --- 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 Fri Apr 12 01:18:48 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFzGw5V5qz5GXWv; Fri, 12 Apr 2024 01:18: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 4VFzGw4L7lz4QSQ; Fri, 12 Apr 2024 01:18:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CW2WycW2omcZeOSiMEPl+uSld6gsvFRgnunAYuBzvls=; b=F0WdsOwB6JtWwKBroMRI7PFUrU4iGDigAbfeCElTn4QQQMEKR31xjuicVlafbHPXTDjOP7 /N6oKD9w7QkGKFRALwYEXu1nS+FrK761amEBQH/gPzY2JAL3ZqbrtWEh9LJUTGwkVZKFXO InYMeQGgbHq+yPWVKIOOoVhBlpaDZtLCxqqK5JqLt2EBqwmwK19eifRJheMCFoiY10g7WW 9G4l9LvBZ1H8Rq4o3RdAeElSQIBI2NQmmj9vhsZAIXj97pA4Th1/XHFRFgo2wqc/OPpz3P 6TRYyLKATUIoCYi0eIdCfUcm1z39HCj+zTw80Rmlmxfe7rY7xed2XKW4iCLu9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884728; a=rsa-sha256; cv=none; b=vopetAYQ4DJe5hwsPJ7Jdi4GVo/rmD2LUyO/5fRETT7XqPoW+ZgPMuuRu6pGrSh1hK105m IEajumwc1fLiexC2gtNDojlVF7O38Co05FSuSh1w02zCnRulSxmEFIuUeJ+sAdGE5KAVC6 evGtoE358ki2b6w9Jc9wDHhFpSSHhhcMpUrG42RySfkghLlt1FNNVqkxuX6PMibrHvxZdk z1mXuo0Miw2zWHSgHBosfZMow3YUv9Zy4c+QWT0E+SI7flGShlO/hZcZ636BMT0xq/FjUz 9WBWvaotGMnMabFpOnlHV9RFoTI+KDx7WWdWSkyD7HdGm9XTzPh8sSQJhUY2LQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CW2WycW2omcZeOSiMEPl+uSld6gsvFRgnunAYuBzvls=; b=c5fShk6+bsCB70Yqxfi6SP6Jf1t5CuCn0Iz82l2QCE6Rt+CjOrrZ65/SJmQW2kRsuDp73j oMttbJwOx4FiPoO2cNd/9t6SFAvNZGihBBjPGHnfYl5NF6ROOvtg3eiRjczetyAk4z+2Zd jm36XwF6t+aLcy6ypFtQP/yIYnyzLg2D+EAIq6eR8Uv3r/h2eiJsj+K3mnzueeZq/4PV2u jFXM54zWQoq5x3RhLj0DcYMaFjJsfwdkAWRyxdRNxo2cGC3G+JJ1TD/isODx3CU7+uBPZh LqovjSFCPS33GutGGJJbJVdu/srqMeRunAEVP+/XzonWmrf6OSQ14lS9VA/G1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFzGw3y5BzTCq; Fri, 12 Apr 2024 01:18: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 43C1Im9v050560; Fri, 12 Apr 2024 01:18:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1ImfT050557; Fri, 12 Apr 2024 01:18:48 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:18:48 GMT Message-Id: <202404120118.43C1ImfT050557@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: fd02cfeb9ade - stable/14 - pcireg.h: Add AMD IOMMU Base Cap definitions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fd02cfeb9ade687912849c57227ee37a5728e5f8 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=fd02cfeb9ade687912849c57227ee37a5728e5f8 commit fd02cfeb9ade687912849c57227ee37a5728e5f8 Author: Konstantin Belousov AuthorDate: 2024-04-07 01:25:46 +0000 Commit: Konstantin Belousov CommitDate: 2024-04-12 01:18:32 +0000 pcireg.h: Add AMD IOMMU Base Cap definitions (cherry picked from commit 33adb388c78ee48efbdc9b497fe2224397fdee84) --- 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 Fri Apr 12 01:18:49 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VFzGx6VZLz5GXZK; Fri, 12 Apr 2024 01:18: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 4VFzGx5Pnrz4QNk; Fri, 12 Apr 2024 01:18:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884729; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=78kc/AFvm0cfbPLLiPC02YfLRbF2a7Qjqax3g8cgdYE=; b=L3uWtt4NMbe1RWN/Sj2ZEBcnueiIp0MZGS0HGng16lkk6YF4hF0OY77hcgwuVh02r96yYE 8TQarT6mpJOU/x5p6mo132tQ2h+uvpRWvzxly/2+U0J11E7ii8XvJPeddn8DUQd12/JUMm rUe5Y5ZjQDQJ09MkPYycnkHb4kZnzHpQCPHBfccUe1UAgUFBmDKR5rW/7AiMyQ+urZ/zxn alKpWUO/gi8wUsQiPziz98KXtQBYbLHHYMUbWUM6r5vHUkTE7q7iMWzV5g0xkoL7wSJ8li NSLVXZpx2xii6Q7myt9O68SSJ36F6g5/Y5C3F0iERW28atrha8xSjoUxnFuLLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712884729; a=rsa-sha256; cv=none; b=dcv+mjhdB7E9Vas/JaqfDbueDm2kVLWY93M4/MZhHMEGaeJBHN7JFL3oQxIfkwRc1KOrur s3Q13LIFZZjJeLUsjKpoIyvbeCSLVj+CkLQhp734l550uT3W7Yyp33cTDVF16BmHcWFONp k3SMQOGikxk+hPyIe0KTNAihK3amKQn6GUr7HZ7zJgsJLmpLkwU/F86op89cx/rXT5FHMK wyVbsaLN9Mw9uOSnsIaqPMR4emL9WevBrldtDkJAkwqNudw606kYe59UrGPG3iiSG+19yE GxNYRwjuyEO0QwwtU6b5Bg1JT5/VFGShfCX26GYvrjHcGOn00AetoqZHqJl7NA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712884729; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=78kc/AFvm0cfbPLLiPC02YfLRbF2a7Qjqax3g8cgdYE=; b=HmsFvYf4wcR5bi0gsBP6ZCa7hfN3ochTKjRHvAeZunHqIwJKm6lw0LYONRRY6NlZI1RHkc qCqi0fqPcHPtz2zPHpOv23GTTah0gWgoA+Xqk7DRT6LH0VWXLmdVJA+WudCnyH12Or49Mh uYsrKLw6JuiaS//k0Wodu5nB4thkFTo04lej3HfoL3Xmmxz9urZDIPhslfRLo20T13xVKM 9/91ew4SYzUxsv6j3cyRQ7eBwp4oD0zWKMTayalIqHhEHJWioR+ksz4LPqWW/oSj6T34lH cm9aRxvxccH3twETM436qDECWTkl8S7E9+KJ3xcOFRjHZ5cXA4ZoW9Bc8QcK6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VFzGx51hBzTQL; Fri, 12 Apr 2024 01:18: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 43C1InIC050605; Fri, 12 Apr 2024 01:18:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C1Inkf050602; Fri, 12 Apr 2024 01:18:49 GMT (envelope-from git) Date: Fri, 12 Apr 2024 01:18:49 GMT Message-Id: <202404120118.43C1Inkf050602@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: fb8eb2042dbe - stable/14 - pciconf(8): dump AMD IOMMU Base Capability List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: dev-commits-src-all+owner@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fb8eb2042dbea85047f40da67d775fb670671742 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=fb8eb2042dbea85047f40da67d775fb670671742 commit fb8eb2042dbea85047f40da67d775fb670671742 Author: Konstantin Belousov AuthorDate: 2024-04-09 22:13:59 +0000 Commit: Konstantin Belousov CommitDate: 2024-04-12 01:18:33 +0000 pciconf(8): dump AMD IOMMU Base Capability (cherry picked from commit 1e6db7be692198acfa7f02dea83aa9aa1dfce273) --- 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 Fri Apr 12 07:39:39 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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 11:26:23 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGDlz2Wn7z5HD9w; Fri, 12 Apr 2024 11:26: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 4VGDlz22bSz4Ncq; Fri, 12 Apr 2024 11:26:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712921183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kaVaOQPLmUwwcKWx1sAAd9QmQ08SDv3s1MnIOk2C5m4=; b=NmJyNjgmAFKTsseugqUAQMoIAdv+Nz1LBkQ2dk6lOsFZMtskyJnrJCm/z3bAVWuPpvUdAh vMbHhmno/ig8vOlh2sDnDt/MXyS6XvgTXMtr8cQZObLRc3DD/929+9M5JDuLSvaWjY5zGl kqYwFeEPhRCFtaSmvvKAAHfBGvXKDwjX7Es5Y31sFLx6tXF13nvxSt9qT/kWKBUxOyJ5su dCzERqCi01x9k/Qg4J8tBsWyOCy1bso8hOV8zeB7oUFOnTKaPrpV2TfJY2V2ZW1FuMZ0ds 7QomX59H5DoGveAhRecLr7ZsrwS71LbwWXwcRBEIOFWNvkXMSJHUSRrao6neEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712921183; a=rsa-sha256; cv=none; b=UtmGTOPz/eE3Ufl0YmeIa3Nyi9MWdLL8V+eNlsfPYh9T+KkN/ULaw1WoDlSLEvbox3pHOb xdF7xtv+Jdf7ox2OyZs2S8pWEpeNW43PHPXMYMzoJD25u9/mdhcL7uAm+B7b/vbMExuiQs 8nweCtGcpWC+26tzNWSTknEFJAdiLkWW0M1keu5i3tqjU2bAWYa+V8N8nRs4GRBIhzVGYY b1u5K2MbJ8bNG5j4VYvnOTTGp04zFylf/s/8b0o9yjItGDw9IqrkcO/ruMPVYZmFbqw1h2 0MFGfWWZTQwb4FjM0HRmDk6svRTcTalEmanAHwJQFknXTS7crY6Tpqrq4Lq8Dg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712921183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kaVaOQPLmUwwcKWx1sAAd9QmQ08SDv3s1MnIOk2C5m4=; b=lu2hlAq+97xu6+EKU0926DhxGC1JAiHoiLvfJUDlIy7xIrcRgiBgR664rDl0cLipC8YJYD S9wOGNkD83C6lFM1hC8Nc/IpAj1e/AEK0FWjF5Aas/diiA790TKMJx/nxmP1iOBwrm+rad hV7rjmScN6fFePo3pGGslyT6B5q6VU0RJDcQY5bIwNbf1Dhi9nhuyRUB6dkCWfQhlMhvKM znWXN+d4icnK0nuI2taCb8bVFYNFnqxTRNBBhkqD2xyfdnQ4M78nZK234N509Wl07QX+4R oDhh9L3ooyzIXcquSomOoq3sCd9M0jqJOl6X7MtGHV1bLwXoNV+iYRYarWzkvg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGDlz1WQrznC7; Fri, 12 Apr 2024 11:26: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 43CBQNA3083203; Fri, 12 Apr 2024 11:26:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CBQNbv083200; Fri, 12 Apr 2024 11:26:23 GMT (envelope-from git) Date: Fri, 12 Apr 2024 11:26:23 GMT Message-Id: <202404121126.43CBQNbv083200@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: d4d5aed66a3f - stable/14 - LinuxKPI: Remove the temporary variable fileid from the macro request_module List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: d4d5aed66a3f4323cf23f1a849b98d8570b403bf Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=d4d5aed66a3f4323cf23f1a849b98d8570b403bf commit d4d5aed66a3f4323cf23f1a849b98d8570b403bf Author: Zhenlei Huang AuthorDate: 2024-04-05 16:26:09 +0000 Commit: Zhenlei Huang CommitDate: 2024-04-12 11:25:17 +0000 LinuxKPI: Remove the temporary variable fileid from the macro request_module The variable fileid stores the result from kern_kldload() but never gets used. Since the third parameter `*fileid` of kern_kldload() can be NULL, this unused variable can be safely removed. No functional change intended. Reviewed by: emaste, bz, #linuxkpi MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44583 (cherry picked from commit 317cc829ee227cfdffe7b25125c070112ce0c2f1) --- sys/compat/linuxkpi/common/include/linux/kmod.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/kmod.h b/sys/compat/linuxkpi/common/include/linux/kmod.h index 278d64db9df3..b3cbe2ed2e02 100644 --- a/sys/compat/linuxkpi/common/include/linux/kmod.h +++ b/sys/compat/linuxkpi/common/include/linux/kmod.h @@ -39,9 +39,8 @@ #define request_module(...) \ ({\ char modname[128]; \ - int fileid; \ snprintf(modname, sizeof(modname), __VA_ARGS__); \ - kern_kldload(curthread, modname, &fileid); \ + kern_kldload(curthread, modname, NULL); \ }) #define request_module_nowait request_module From nobody Fri Apr 12 11:28:10 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGDp30ZWhz5HDF7; Fri, 12 Apr 2024 11: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 4VGDp3043Yz4P8D; Fri, 12 Apr 2024 11: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=1712921291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O5bAY5khXR6FZSjKIV6mhzzbkPBLRYrSU0YiZX0ZDGk=; b=iW4ZNMtkB+Gvm8pk3A5cUfzDKIaEI53uYjtHtOac/mYv4X3ygx/bIFMeNvS+pf/PBgGgIG 3kiyslcLfaCyNrUWJmHPrwUVhpr6oePwj88k7IDvcKIri96OL+xrsm8/COptF4ZkdCd5OM xjaX94FUnkXJ2eYsMlvNPXyRF17zt0BDqTIA6rdt3PL1deyGNRNbf+QLx8n2eKFHIwwxcE 0vihkG+FYFxfpFhq2Ztvq0mK0LZotnzkpDD5zLKCYl7/R3YnDAHHD3nqPQ4T875ERC4zc0 4zgAlYcGl1CynH9H1lF7QeBgznfZHzAhd0WZirctx3YyW+lP36IqqiH+PE+zow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712921291; a=rsa-sha256; cv=none; b=ETsSLm+q95N/AfbWB1j1f02ONaUUh8sS+w/ynOtvT0mcyFLs+VtzDFRqZCo7kq0oyOEw4i TicnSzwghbIYN0ieACTTD8svJGCjZswC++GEL1tZuQMqBh5BUQj9bgayLcqjnaPpU4FS/c YbqFjOBaJbjvIAU+dEq290TavnkoeXjZt3SIafVn6hTj+bDdDbUvM6uqbhu7yiW23KRDO5 2oNkQgKkwaI+mVK4FUrEIneWSPH2574StMJyi1l+beJB7mSoQGleAx948ljKnD1caRILxb vhzHibEkEUl6e6p5qgrCi5d55AFnOwdhW63OiWiwXqh6iPV3qOcrIpuC3fEjHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712921291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O5bAY5khXR6FZSjKIV6mhzzbkPBLRYrSU0YiZX0ZDGk=; b=fIoveO1RSs5F49lkay56BhBHqpMRn+U+Hw/gfhFn9N/csvCm3SJpxpVM/RctWXz2mpPVzY 8cP5IVdX2uft3R5jjkCgRGq624KvKRk9kjm6nV5N1tnatymnQHI6AsV2V9Ii/T9WvkfJRn +MjRYEZ34Hk96Z583ovIEm638rrxKNfsNWcIny80VA/NU2wXiJWbsaz4WgIwhakpQ8fKeN tKX7KwJRCpv7akqfqy3szcKu7YmVc3DTSzVXW0ooaTpYN3ognGYV/EEF3ea+6FX6OsSl4/ Fr8I/oVBye4lIw8VQMasY5DEWGD2tM7cWEsYcgRI6GGmmCKHd7UCqk4QbMmjxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGDp26nKVznFc; Fri, 12 Apr 2024 11:28: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 43CBSA3w083611; Fri, 12 Apr 2024 11:28:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CBSATn083608; Fri, 12 Apr 2024 11:28:10 GMT (envelope-from git) Date: Fri, 12 Apr 2024 11:28:10 GMT Message-Id: <202404121128.43CBSATn083608@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: f0edd08b27d7 - stable/13 - LinuxKPI: Remove the temporary variable fileid from the macro request_module List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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/stable/13 X-Git-Reftype: branch X-Git-Commit: f0edd08b27d78a27a05e16c894a4cafa1fc386e3 Auto-Submitted: auto-generated The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=f0edd08b27d78a27a05e16c894a4cafa1fc386e3 commit f0edd08b27d78a27a05e16c894a4cafa1fc386e3 Author: Zhenlei Huang AuthorDate: 2024-04-05 16:26:09 +0000 Commit: Zhenlei Huang CommitDate: 2024-04-12 11:27:13 +0000 LinuxKPI: Remove the temporary variable fileid from the macro request_module The variable fileid stores the result from kern_kldload() but never gets used. Since the third parameter `*fileid` of kern_kldload() can be NULL, this unused variable can be safely removed. No functional change intended. Reviewed by: emaste, bz, #linuxkpi MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44583 (cherry picked from commit 317cc829ee227cfdffe7b25125c070112ce0c2f1) (cherry picked from commit d4d5aed66a3f4323cf23f1a849b98d8570b403bf) --- sys/compat/linuxkpi/common/include/linux/kmod.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/kmod.h b/sys/compat/linuxkpi/common/include/linux/kmod.h index 278d64db9df3..b3cbe2ed2e02 100644 --- a/sys/compat/linuxkpi/common/include/linux/kmod.h +++ b/sys/compat/linuxkpi/common/include/linux/kmod.h @@ -39,9 +39,8 @@ #define request_module(...) \ ({\ char modname[128]; \ - int fileid; \ snprintf(modname, sizeof(modname), __VA_ARGS__); \ - kern_kldload(curthread, modname, &fileid); \ + kern_kldload(curthread, modname, NULL); \ }) #define request_module_nowait request_module From nobody Fri Apr 12 12:33:12 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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 13:01:05 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGGsF42MMz5HM9P; Fri, 12 Apr 2024 13:01: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 4VGGsF2YtDz4VTS; Fri, 12 Apr 2024 13:01:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712926865; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EpTF7x37MWZ4wRm1PsnP5ra0k+LiCtvsmvj/gk5LuAs=; b=cBO2lho7Mh2x7xtdvxyvU0JGAnbY+L2XSbgwLysw7P39aHfMe2EhlheDCd8xVhrNvxKMmE lt9rF5beIomOI0qL874uo3JxozJnH6M3v+iw7dfIKtYlk1HIwZ9XAxjXH3SXhshZtyVD35 n1qMQiajKscAdpbUz/ythSesgQmmfsUGJUe4ABeyYDrWSW4tf3V2d7Qk2REDHkbirhTCPN nnQx2WrqSncjUNScI7HPisdQDutCBv12+Mc0eW8EadYuYCUthD+EysxOmjOCFlq8l0KppQ TAFrZ3StUEFncxpM/Ol3BM/WpV/JxKrQ6MaYvCLwOcJL7AwI4yGDw6EkXXJCGQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712926865; a=rsa-sha256; cv=none; b=tS7IUa6kxcnl28ItHrlDhXbGSVrOFpArPH2LRdIz3YFRdvdmPR2rcUiodvQPEDRP1PzxQo i0+KlnD75VlGudqyViOSuB3POLyEEh1UF/+hMO2LXuwQ1WuXWsfnxZVS3TiaKb0poyihFf uVLACoC4h7f+oBNJkV5iMaWU5VRp4v1szhxyKnNKO8569n3762Mm5JF25lI+R9iFqSxVPe m/zgspKd9lAmx2hgy6IZ+UGYcg9EmwsAOexbHKx1un84dJLng/FeaU2nGxzhl1P2h/gV8W OTSxNC9bvD+Z0afO1+m+7X+tivVfIzBFXc6g66bC6AorTGcCSpxiRR6IufCr/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=1712926865; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EpTF7x37MWZ4wRm1PsnP5ra0k+LiCtvsmvj/gk5LuAs=; b=YeFmROtdslDKpMW3axbbb9cTUkKpVhHD0aNLd/B2YYajD0K8lzyT43oUpCFkSH6tS6mntk T8izAPJJWjZcWfm1tvrO+UFB9P+MISdhRzdt/fucX3PNT0YyzZmvORe85C2aOVVcJs39Gd E9BZTYZhfqpz3UDQTBNQV2W+smim8Sx2kGFLfZN76eLB8XD6mNbNjuDZFaMYwkriHJqYMT +6FoGFSWD7K8gqW7FCr+R5RbiJmQgqQ5kxPNx4MlLLacsDJU7bfRFL8DhCe/IIk1oGOXL8 zMqlD7wbpx31kSKoMW5bWpBWL/0miXabadaQdtKKztm8MTSf3yUJeYC0s85t3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGGsF2B11zqt5; Fri, 12 Apr 2024 13:01: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 43CD15x0048510; Fri, 12 Apr 2024 13:01:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CD15cj048507; Fri, 12 Apr 2024 13:01:05 GMT (envelope-from git) Date: Fri, 12 Apr 2024 13:01:05 GMT Message-Id: <202404121301.43CD15cj048507@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 330954bdb822 - stable/13 - Unify arc_prune_async() code, fix excessive ARC pruning List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 330954bdb822af6bc07d487b1ecd7f8fda9c4def Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=330954bdb822af6bc07d487b1ecd7f8fda9c4def commit 330954bdb822af6bc07d487b1ecd7f8fda9c4def Author: Alexander Motin AuthorDate: 2023-10-30 23:56:04 +0000 Commit: Olivier Certner CommitDate: 2024-04-12 13:00:11 +0000 Unify arc_prune_async() code, fix excessive ARC pruning There is no sense to have separate implementations for FreeBSD and Linux. Make Linux code shared as more functional and just register FreeBSD-specific prune callback with arc_add_prune_callback() API. Aside of code cleanup this fixes excessive pruning on FreeBSD. [olce: This code comes from the OpenZFS pull request: https://github.com/openzfs/zfs/pull/16083, vendor-merged into our tree. Its commit message has been slightly adapted to the present context. The upstream pull request has been reviewed and merged into 'zfs-2.1.16-staging' as 5b81b1bf5e6d6aeb8a87175dcb12b529185cac2f, which should come into our tree at the next vendor import. This is the same code that was merged into stable/14 and main as part of vendor merges, and released as an EN (FreeBSD-EN-23:18.openzfs) over releng/14.0 by markj@.] PR: 275594, 274698 Reported by: Seigo Tanimura , markj, and others Tested by: olce Approved by: emaste (mentor) Obtained from: OpenZFS Sponsored by: iXsystems, Inc. Sponsored by: The FreeBSD Foundation Signed-off-by: Alexander Motin --- sys/contrib/openzfs/include/os/linux/zfs/sys/zpl.h | 2 +- sys/contrib/openzfs/include/sys/arc.h | 2 +- sys/contrib/openzfs/include/sys/arc_impl.h | 1 - sys/contrib/openzfs/module/os/freebsd/zfs/arc_os.c | 62 ---------------------- .../openzfs/module/os/freebsd/zfs/zfs_vfsops.c | 32 +++++++++++ sys/contrib/openzfs/module/os/linux/zfs/arc_os.c | 51 ------------------ .../openzfs/module/os/linux/zfs/zpl_super.c | 2 +- sys/contrib/openzfs/module/zfs/arc.c | 52 ++++++++++++++++++ 8 files changed, 87 insertions(+), 117 deletions(-) diff --git a/sys/contrib/openzfs/include/os/linux/zfs/sys/zpl.h b/sys/contrib/openzfs/include/os/linux/zfs/sys/zpl.h index 69b6c1185bb1..5ac9aa543ebb 100644 --- a/sys/contrib/openzfs/include/os/linux/zfs/sys/zpl.h +++ b/sys/contrib/openzfs/include/os/linux/zfs/sys/zpl.h @@ -52,7 +52,7 @@ extern const struct file_operations zpl_file_operations; extern const struct file_operations zpl_dir_file_operations; /* zpl_super.c */ -extern void zpl_prune_sb(int64_t nr_to_scan, void *arg); +extern void zpl_prune_sb(uint64_t nr_to_scan, void *arg); extern const struct super_operations zpl_super_operations; extern const struct export_operations zpl_export_operations; diff --git a/sys/contrib/openzfs/include/sys/arc.h b/sys/contrib/openzfs/include/sys/arc.h index 5d8176894e60..9b762c01c159 100644 --- a/sys/contrib/openzfs/include/sys/arc.h +++ b/sys/contrib/openzfs/include/sys/arc.h @@ -81,7 +81,7 @@ typedef struct arc_prune arc_prune_t; typedef void arc_read_done_func_t(zio_t *zio, const zbookmark_phys_t *zb, const blkptr_t *bp, arc_buf_t *buf, void *priv); typedef void arc_write_done_func_t(zio_t *zio, arc_buf_t *buf, void *priv); -typedef void arc_prune_func_t(int64_t bytes, void *priv); +typedef void arc_prune_func_t(uint64_t bytes, void *priv); /* Shared module parameters */ extern int zfs_arc_average_blocksize; diff --git a/sys/contrib/openzfs/include/sys/arc_impl.h b/sys/contrib/openzfs/include/sys/arc_impl.h index db6238fda61e..118bf33632fb 100644 --- a/sys/contrib/openzfs/include/sys/arc_impl.h +++ b/sys/contrib/openzfs/include/sys/arc_impl.h @@ -994,7 +994,6 @@ extern void arc_wait_for_eviction(uint64_t, boolean_t); extern void arc_lowmem_init(void); extern void arc_lowmem_fini(void); -extern void arc_prune_async(int64_t); extern int arc_memory_throttle(spa_t *spa, uint64_t reserve, uint64_t txg); extern uint64_t arc_free_memory(void); extern int64_t arc_available_memory(void); diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/arc_os.c b/sys/contrib/openzfs/module/os/freebsd/zfs/arc_os.c index 3dd49f05521b..9641bf8bd591 100644 --- a/sys/contrib/openzfs/module/os/freebsd/zfs/arc_os.c +++ b/sys/contrib/openzfs/module/os/freebsd/zfs/arc_os.c @@ -51,11 +51,6 @@ #include #include -#if __FreeBSD_version >= 1300139 -static struct sx arc_vnlru_lock; -static struct vnode *arc_vnlru_marker; -#endif - extern struct vfsops zfs_vfsops; uint_t zfs_arc_free_target = 0; @@ -151,53 +146,6 @@ arc_default_max(uint64_t min, uint64_t allmem) return (MAX(allmem * 5 / 8, size)); } -/* - * Helper function for arc_prune_async() it is responsible for safely - * handling the execution of a registered arc_prune_func_t. - */ -static void -arc_prune_task(void *arg) -{ - int64_t nr_scan = (intptr_t)arg; - -#ifndef __ILP32__ - if (nr_scan > INT_MAX) - nr_scan = INT_MAX; -#endif - -#if __FreeBSD_version >= 1300139 - sx_xlock(&arc_vnlru_lock); - vnlru_free_vfsops(nr_scan, &zfs_vfsops, arc_vnlru_marker); - sx_xunlock(&arc_vnlru_lock); -#else - vnlru_free(nr_scan, &zfs_vfsops); -#endif -} - -/* - * Notify registered consumers they must drop holds on a portion of the ARC - * buffered they reference. This provides a mechanism to ensure the ARC can - * honor the arc_meta_limit and reclaim otherwise pinned ARC buffers. This - * is analogous to dnlc_reduce_cache() but more generic. - * - * This operation is performed asynchronously so it may be safely called - * in the context of the arc_reclaim_thread(). A reference is taken here - * for each registered arc_prune_t and the arc_prune_task() is responsible - * for releasing it once the registered arc_prune_func_t has completed. - */ -void -arc_prune_async(int64_t adjust) -{ - -#ifndef __LP64__ - if (adjust > INTPTR_MAX) - adjust = INTPTR_MAX; -#endif - taskq_dispatch(arc_prune_taskq, arc_prune_task, - (void *)(intptr_t)adjust, TQ_SLEEP); - ARCSTAT_BUMP(arcstat_prune); -} - uint64_t arc_all_memory(void) { @@ -248,10 +196,6 @@ arc_lowmem_init(void) { arc_event_lowmem = EVENTHANDLER_REGISTER(vm_lowmem, arc_lowmem, NULL, EVENTHANDLER_PRI_FIRST); -#if __FreeBSD_version >= 1300139 - arc_vnlru_marker = vnlru_alloc_marker(); - sx_init(&arc_vnlru_lock, "arc vnlru lock"); -#endif } void @@ -259,12 +203,6 @@ arc_lowmem_fini(void) { if (arc_event_lowmem != NULL) EVENTHANDLER_DEREGISTER(vm_lowmem, arc_event_lowmem); -#if __FreeBSD_version >= 1300139 - if (arc_vnlru_marker != NULL) { - vnlru_free_marker(arc_vnlru_marker); - sx_destroy(&arc_vnlru_lock); - } -#endif } void diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c index 6ffd36885655..33581d018256 100644 --- a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c +++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c @@ -2097,6 +2097,26 @@ zfs_vnodes_adjust_back(void) #endif } +#if __FreeBSD_version >= 1300139 +static struct sx zfs_vnlru_lock; +static struct vnode *zfs_vnlru_marker; +#endif +static arc_prune_t *zfs_prune; + +static void +zfs_prune_task(uint64_t nr_to_scan, void *arg __unused) +{ + if (nr_to_scan > INT_MAX) + nr_to_scan = INT_MAX; +#if __FreeBSD_version >= 1300139 + sx_xlock(&zfs_vnlru_lock); + vnlru_free_vfsops(nr_to_scan, &zfs_vfsops, zfs_vnlru_marker); + sx_xunlock(&zfs_vnlru_lock); +#else + vnlru_free(nr_to_scan, &zfs_vfsops); +#endif +} + void zfs_init(void) { @@ -2123,11 +2143,23 @@ zfs_init(void) dmu_objset_register_type(DMU_OST_ZFS, zpl_get_file_info); zfsvfs_taskq = taskq_create("zfsvfs", 1, minclsyspri, 0, 0, 0); + +#if __FreeBSD_version >= 1300139 + zfs_vnlru_marker = vnlru_alloc_marker(); + sx_init(&zfs_vnlru_lock, "zfs vnlru lock"); +#endif + zfs_prune = arc_add_prune_callback(zfs_prune_task, NULL); } void zfs_fini(void) { + arc_remove_prune_callback(zfs_prune); +#if __FreeBSD_version >= 1300139 + vnlru_free_marker(zfs_vnlru_marker); + sx_destroy(&zfs_vnlru_lock); +#endif + taskq_destroy(zfsvfs_taskq); zfsctl_fini(); zfs_znode_fini(); diff --git a/sys/contrib/openzfs/module/os/linux/zfs/arc_os.c b/sys/contrib/openzfs/module/os/linux/zfs/arc_os.c index 19540221d688..5ba923487bac 100644 --- a/sys/contrib/openzfs/module/os/linux/zfs/arc_os.c +++ b/sys/contrib/openzfs/module/os/linux/zfs/arc_os.c @@ -491,57 +491,6 @@ arc_unregister_hotplug(void) } #endif /* _KERNEL */ -/* - * Helper function for arc_prune_async() it is responsible for safely - * handling the execution of a registered arc_prune_func_t. - */ -static void -arc_prune_task(void *ptr) -{ - arc_prune_t *ap = (arc_prune_t *)ptr; - arc_prune_func_t *func = ap->p_pfunc; - - if (func != NULL) - func(ap->p_adjust, ap->p_private); - - zfs_refcount_remove(&ap->p_refcnt, func); -} - -/* - * Notify registered consumers they must drop holds on a portion of the ARC - * buffered they reference. This provides a mechanism to ensure the ARC can - * honor the arc_meta_limit and reclaim otherwise pinned ARC buffers. This - * is analogous to dnlc_reduce_cache() but more generic. - * - * This operation is performed asynchronously so it may be safely called - * in the context of the arc_reclaim_thread(). A reference is taken here - * for each registered arc_prune_t and the arc_prune_task() is responsible - * for releasing it once the registered arc_prune_func_t has completed. - */ -void -arc_prune_async(int64_t adjust) -{ - arc_prune_t *ap; - - mutex_enter(&arc_prune_mtx); - for (ap = list_head(&arc_prune_list); ap != NULL; - ap = list_next(&arc_prune_list, ap)) { - - if (zfs_refcount_count(&ap->p_refcnt) >= 2) - continue; - - zfs_refcount_add(&ap->p_refcnt, ap->p_pfunc); - ap->p_adjust = adjust; - if (taskq_dispatch(arc_prune_taskq, arc_prune_task, - ap, TQ_SLEEP) == TASKQID_INVALID) { - zfs_refcount_remove(&ap->p_refcnt, ap->p_pfunc); - continue; - } - ARCSTAT_BUMP(arcstat_prune); - } - mutex_exit(&arc_prune_mtx); -} - /* BEGIN CSTYLED */ ZFS_MODULE_PARAM(zfs_arc, zfs_arc_, shrinker_limit, INT, ZMOD_RW, "Limit on number of pages that ARC shrinker can reclaim at once"); diff --git a/sys/contrib/openzfs/module/os/linux/zfs/zpl_super.c b/sys/contrib/openzfs/module/os/linux/zfs/zpl_super.c index c2fd3fee1401..9300a7199296 100644 --- a/sys/contrib/openzfs/module/os/linux/zfs/zpl_super.c +++ b/sys/contrib/openzfs/module/os/linux/zfs/zpl_super.c @@ -334,7 +334,7 @@ zpl_kill_sb(struct super_block *sb) } void -zpl_prune_sb(int64_t nr_to_scan, void *arg) +zpl_prune_sb(uint64_t nr_to_scan, void *arg) { struct super_block *sb = (struct super_block *)arg; int objects = 0; diff --git a/sys/contrib/openzfs/module/zfs/arc.c b/sys/contrib/openzfs/module/zfs/arc.c index 1180853da038..eacc2104a6a6 100644 --- a/sys/contrib/openzfs/module/zfs/arc.c +++ b/sys/contrib/openzfs/module/zfs/arc.c @@ -868,6 +868,8 @@ static void l2arc_do_free_on_write(void); static void l2arc_hdr_arcstats_update(arc_buf_hdr_t *hdr, boolean_t incr, boolean_t state_only); +static void arc_prune_async(uint64_t adjust); + #define l2arc_hdr_arcstats_increment(hdr) \ l2arc_hdr_arcstats_update((hdr), B_TRUE, B_FALSE) #define l2arc_hdr_arcstats_decrement(hdr) \ @@ -6521,6 +6523,56 @@ arc_remove_prune_callback(arc_prune_t *p) kmem_free(p, sizeof (*p)); } +/* + * Helper function for arc_prune_async() it is responsible for safely + * handling the execution of a registered arc_prune_func_t. + */ +static void +arc_prune_task(void *ptr) +{ + arc_prune_t *ap = (arc_prune_t *)ptr; + arc_prune_func_t *func = ap->p_pfunc; + + if (func != NULL) + func(ap->p_adjust, ap->p_private); + + zfs_refcount_remove(&ap->p_refcnt, func); +} + +/* + * Notify registered consumers they must drop holds on a portion of the ARC + * buffers they reference. This provides a mechanism to ensure the ARC can + * honor the metadata limit and reclaim otherwise pinned ARC buffers. + * + * This operation is performed asynchronously so it may be safely called + * in the context of the arc_reclaim_thread(). A reference is taken here + * for each registered arc_prune_t and the arc_prune_task() is responsible + * for releasing it once the registered arc_prune_func_t has completed. + */ +static void +arc_prune_async(uint64_t adjust) +{ + arc_prune_t *ap; + + mutex_enter(&arc_prune_mtx); + for (ap = list_head(&arc_prune_list); ap != NULL; + ap = list_next(&arc_prune_list, ap)) { + + if (zfs_refcount_count(&ap->p_refcnt) >= 2) + continue; + + zfs_refcount_add(&ap->p_refcnt, ap->p_pfunc); + ap->p_adjust = adjust; + if (taskq_dispatch(arc_prune_taskq, arc_prune_task, + ap, TQ_SLEEP) == TASKQID_INVALID) { + zfs_refcount_remove(&ap->p_refcnt, ap->p_pfunc); + continue; + } + ARCSTAT_BUMP(arcstat_prune); + } + mutex_exit(&arc_prune_mtx); +} + /* * Notify the arc that a block was freed, and thus will never be used again. */ From nobody Fri Apr 12 14:31:17 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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:28:54 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGL7p6Zcpz5HZ2D; Fri, 12 Apr 2024 15:28: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 4VGL7p5Wzsz4jQD; Fri, 12 Apr 2024 15:28:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712935734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b3RoKgisMD/VIgI42uiuXgkWZUhC4qLB7h1V9FWHEjo=; b=qPhDoOrFZp5NOPMQAdXV9TaGclKWS7vKbuMH7jQZXmD4p1rZiSNv+lRiv+A6lRR79ckUSa w8IlBFMr6LSWcygZ8by2yVkGtJ8nVLn5GN1g8PO6ALGBl2GJObWfCxBz3mtmC/ZakSPPWh gDX3dzpHwHl1MO1crW0Cz4TEUvJImTdwZ7Ky7pzQbFVRoRlmP9vRkCruHIVzs//7VMFuV+ iDakzB00OmhKj4xdbDFbd1T/3cXMyXLHyhm0BtvUEbL05woiHWF1xmw8e6cVat29wSGn39 OmTpQFbNVsr7xxDZ+B0pm56xHXK0uZvUMJzR13XrMcKK5YvsixXo296Gre8qeg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712935734; a=rsa-sha256; cv=none; b=Fa2FlDkKtwOvgNYM6gBa8RvPDbx0vm0Hp6Cx50ix1E4fjwQVPhXYk6FO7zFV1nVbGAbTuB 6XKNhmnaIVIOsj/Ryu9GjGksJVw/1M+K6oYJY3/TZRz4KUsOs4TlA+cfn5RNZjKucqOXfG TEwvTMEHXo+PkORp7Xsv8O0Vdw1DBRsK5DN2zEFLV+26oD8DALV/5XpSafWxV3KqFUPIn5 KPU5FuofD5QQwKySCIifo9UZ5+8p1U/qSOlv0CB862TKEPvtWpvWsEJVjtmPgPJeErvMoh pjm2wiwyHctcA8CnSZaak34kvVnDa7I63mJ82/rhA1PLWsST4lMao/KwaYF+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=1712935734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b3RoKgisMD/VIgI42uiuXgkWZUhC4qLB7h1V9FWHEjo=; b=SyotNHlEAD+yZ8VYoV1k6kD6YP7T7n+1fCWNmwocUr96AqXEar7jddmUtmeqp142IcI9rq pAbKfasehYh3xqYlB2IyY3tt1RbgcJ59Hu3CWzAx2YPYzYrgzLyDscmFpHtlraPwrYmE8L D3ZJ8iB8qUqiVWb1xFPEtlWfoAXilQOg7F+KRo5DCjBtZDQmebDpri/gSy+cxsdeOXc37p 844FDJC8MS6rHJRrRDa8zTqc00MmhnV36AzngpxY5NzdRoT1TSoZI2PoMQAK2a/z/Tr9D+ UqiPyUJEDym+L45YNg5wgtmT7WuwPceU7zabeYCICAydAiwMCNqKl6tor9mHXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGL7p549MztvT; Fri, 12 Apr 2024 15:28: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 43CFSspg087936; Fri, 12 Apr 2024 15:28:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CFSsEn087933; Fri, 12 Apr 2024 15:28:54 GMT (envelope-from git) Date: Fri, 12 Apr 2024 15:28:54 GMT Message-Id: <202404121528.43CFSsEn087933@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Murray Subject: git: 8df6c930c151 - stable/14 - lib/msun: Fix tgammal(3) on IEEE 128-bit platforms List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 8df6c930c15121a1b6a9d21e12f4421ef78617bb Auto-Submitted: auto-generated The branch stable/14 has been updated by markm: URL: https://cgit.FreeBSD.org/src/commit/?id=8df6c930c15121a1b6a9d21e12f4421ef78617bb commit 8df6c930c15121a1b6a9d21e12f4421ef78617bb Author: Mark Murray AuthorDate: 2024-03-01 15:53:58 +0000 Commit: Mark Murray CommitDate: 2024-04-12 15:27:21 +0000 lib/msun: Fix tgammal(3) on IEEE 128-bit platforms Undo the 80-bit "stub" implementation of the 128-bit long double tgammal(3) function. The latest (as of Feb 2024) version of the src/contrib/arm-optimised-routines library includes a standalone, full 128-bit replacement. This needs a small bit of wrapping to fit it in, but is otherwise a drop-in replacement. Testing this is hard, as most maths packages blow up as soon as their 80-bit floating-point capability is exceeded. With 128-bit tgammal(), this is easy to do, and this is the range that needs to be checked the most carefully. Using my copy of Maple, I was able to check that the output was within a few ULP of the correct answer, right up to the point of 128-bit over- and underflow. Additionally, the results are no worse, and indeed better than the 80-bit version. Steve Kargl sent me his libm testing code, which I used to verify that the excpetions for certain key values were correct. Tested in this case were +-Inf, +-NaN, +-1 and +-0. Differential Revision: https://reviews.freebsd.org/D44168 Reviewed by: theraven, andrew, imp (cherry-picked from commit e38f2308273c8a51ec45f013d22c963590917cca) --- lib/msun/Makefile | 2 +- lib/msun/ld128/b_tgammal.c | 53 +++++----------------------------------------- lib/msun/man/lgamma.3 | 21 ++++++++---------- 3 files changed, 15 insertions(+), 61 deletions(-) diff --git a/lib/msun/Makefile b/lib/msun/Makefile index 9b64674bbe7d..4b164545f0b8 100644 --- a/lib/msun/Makefile +++ b/lib/msun/Makefile @@ -28,7 +28,7 @@ CFLAGS+= -I${.CURDIR}/x86 CFLAGS+= -I${.CURDIR}/ld80 .elif ${LDBL_PREC} == 113 .PATH: ${.CURDIR}/ld128 -CFLAGS+= -I${.CURDIR}/ld128 +CFLAGS+= -I${.CURDIR}/ld128 -I${SRCTOP}/contrib/arm-optimized-routines/math .endif CFLAGS+= -I${.CURDIR}/${ARCH_SUBDIR} diff --git a/lib/msun/ld128/b_tgammal.c b/lib/msun/ld128/b_tgammal.c index 4bae4f3aded6..6df7264a4c9e 100644 --- a/lib/msun/ld128/b_tgammal.c +++ b/lib/msun/ld128/b_tgammal.c @@ -1,55 +1,12 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2013 David Chisnall - * 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. + * Copyright (c) 2024 The FreeBSD Foundation */ -#include -#include - /* - * If long double is not the same size as double, then these will lose - * precision and we should emit a warning whenever something links against - * them. + * This is a pure C function generously donated by ARM. + * See src/contrib/arm-optimized-routines/math/tgamma128.[ch]. */ -#if (LDBL_MANT_DIG > 53) -#define WARN_IMPRECISE(x) \ - __warn_references(x, # x " has lower than advertised precision"); -#else -#define WARN_IMPRECISE(x) -#endif -/* - * Declare the functions as weak variants so that other libraries providing - * real versions can override them. - */ -#define DECLARE_WEAK(x)\ - __weak_reference(imprecise_## x, x);\ - WARN_IMPRECISE(x) - -#define DECLARE_IMPRECISE(f) \ - long double imprecise_ ## f ## l(long double v) { return f(v); }\ - DECLARE_WEAK(f ## l) - -DECLARE_IMPRECISE(tgamma); +#define tgamma128 tgammal +#include "tgamma128.c" diff --git a/lib/msun/man/lgamma.3 b/lib/msun/man/lgamma.3 index cf80c9e7f365..41d680e41bda 100644 --- a/lib/msun/man/lgamma.3 +++ b/lib/msun/man/lgamma.3 @@ -25,9 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" from: @(#)lgamma.3 6.6 (Berkeley) 12/3/92 -.\" -.Dd December 8, 2017 +.Dd April 12, 2024 .Dt LGAMMA 3 .Os .Sh NAME @@ -169,15 +167,6 @@ non-positive integers. For large non-integer negative values, .Fn tgamma will underflow. -.Sh BUGS -To conform with newer C/C++ standards, a stub implementation for -.Nm tgammal -was committed to the math library, where -.Nm tgammal -is mapped to -.Nm tgamma . -Thus, the numerical accuracy is at most that of the 53-bit double -precision implementation. .Sh SEE ALSO .Xr math 3 .Sh STANDARDS @@ -214,3 +203,11 @@ The .Fn tgamma function appeared in .Fx 5.0 . +The 128-bit +.Ft long double +version of +.Fn tgammal +replaced the 80-bit stub version in +version in +.Fx 14.1 , +thanks to an appropriate implementation from Arm. From nobody Fri Apr 12 15:36:26 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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:31:27 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGVB81Bfkz5G9YX; Fri, 12 Apr 2024 21:31: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 4VGVB80lKHz4jdP; Fri, 12 Apr 2024 21:31:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nqcFnmi2q+toOpDQV1ZrU1u3UNJGcfJPv9j9OvDkyd8=; b=q8sLIMGtVtNHB7AGBYQhtpKLDD0VPFYTMzQKgUhDJeSRgKbD6MOFpiZ4eJN+t9smWejDgL 7GTb2eDz0nIpQnH7V0OhDujIhmwZYIhobW/wm9aI6rjngJUNs8HI+Bf+Qm6kqM94ksi0le bGYg0+BMDMtmIPHEHIEKxEn9woI+XxNmXj402pKO4g5/zXCl0nkYtUcV37g2aNhRuPi7oc 2yTkiiCHoDEmdli+LQHgkhS8y6Uz01cRfr7IZ2extchUqXF5fgM0/7Jh7T6n50q7SeJUdl ikTL9rZuQnB5Wmbhp6Py39AimoBNFbJlkaqET8C2cPr0MFtxIF99xWJTnUiQfA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712957488; a=rsa-sha256; cv=none; b=Iz7jogvowZnkbVA4dEeP8Digpe7P+6eggEgueyWbmem0Ny1rBqP//bQj2oUKuijYudDA2k t51mmf1NZtV2Xb6O15EjSYhV/0oJhjCNLEof1P2gQ7h58aXQAu76MrcIuWei+qhMGzYeFx BCxCDPD+ulyIq/hhJYAEjLl9VZNwLjaPJsEn2/xcLLo0KnqVzLIeCZIKb3zX9i/TbTajtE PbDuwIbPypUAQGJnJzq1aJOzOQjiU+QuWkkbQQ/O8/Rg/vyJwPznckw5aWBYX7JKeUEfP6 f5xGMoF0t+hi7EPkNro2evXx9EDCRwlrhpA4sLS7omHKbMX0Iq43toqt+vlwjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nqcFnmi2q+toOpDQV1ZrU1u3UNJGcfJPv9j9OvDkyd8=; b=btXPc5glUY4XXWPrCfaaDY5wgiVsdTKBmoY2uXrt5Ap8mCWZ/B2TU47U4WQQVN1cwfACFJ aywCLhkyRrzHQM6gDpQ7NYjzjRPuj0ChdEvUEXfI6P4hI980qZGTba+YefrNTQLh8b6imh OF7jE4OIzGnQhuzepAS7lxTAOacBATeS2Pkvbg6sF8msBHAgsqmow5BPHFDKOpIEnyPz6T USZztGjGj3kgCIEVfFXNRuc2cQeyMT53keUR3l0gUfA5XkcE38bmpmM2igqQvBWx+A37Fh Nq6DZ64dOuJWxKQEdy771HHeT6UGrm6mC2ys0If+VZWGZkAP7GxZPNIclkJwHA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGVB80L3tz15cs; Fri, 12 Apr 2024 21:31: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 43CLVRob011724; Fri, 12 Apr 2024 21:31:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CLVRR8011721; Fri, 12 Apr 2024 21:31:27 GMT (envelope-from git) Date: Fri, 12 Apr 2024 21:31:27 GMT Message-Id: <202404122131.43CLVRR8011721@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: ce5a6a3adda6 - stable/14 - tcp: Add a new kernel-only TCP_USE_DDP socket option List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: ce5a6a3adda64b3385312ffc9453b8ea9f556e80 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ce5a6a3adda64b3385312ffc9453b8ea9f556e80 commit ce5a6a3adda64b3385312ffc9453b8ea9f556e80 Author: John Baldwin AuthorDate: 2024-03-20 22:29:02 +0000 Commit: John Baldwin CommitDate: 2024-04-12 19:25:11 +0000 tcp: Add a new kernel-only TCP_USE_DDP socket option This socket option can be used by in-kernel consumers (like NFS) to request a NIC to use optimized receive of large buffers for a connection. The current use case is to support DDP by the TOE on Chelsio NICs. Reviewed by: rscheff, tuexen, glebius Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44000 (cherry picked from commit 3d0a736796a99fe70be9de97beec8f10970c6905) --- sys/netinet/tcp.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netinet/tcp.h b/sys/netinet/tcp.h index bfb825930c66..56271203bc18 100644 --- a/sys/netinet/tcp.h +++ b/sys/netinet/tcp.h @@ -187,6 +187,9 @@ struct tcphdr { #define TCP_RXTLS_MODE 42 /* Receive TLS mode */ #define TCP_IWND_NB 43 /* Override initial window (units: bytes) */ #define TCP_IWND_NSEG 44 /* Override initial window (units: MSS segs) */ +#ifdef _KERNEL +#define TCP_USE_DDP 45 /* Use direct data placement for so_rcvbuf */ +#endif #define TCP_LOGID_CNT 46 /* get number of connections with the same ID */ #define TCP_LOG_TAG 47 /* configure tag for grouping logs */ #define TCP_USER_LOG 48 /* userspace log event */ From nobody Fri Apr 12 21:31:29 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGVB91sTxz5G9P8; Fri, 12 Apr 2024 21:31: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 4VGVB91Wyvz4jkK; Fri, 12 Apr 2024 21:31:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v+zdwn/YbpsUyIE5JvYpAoYJKSDik0bkWX8RfkJgTFY=; b=JnZrYcPHsE2572GiF/d1f2Yqm1jGMP/uqVsNPwPiSkUR9BtJjxOhtWEY9Ve4H6mnBli6KT ZZOn+lWyclK+usY7VmtAzlLKY9NndKRk2m3SfGiu1KCxeoqLw7smSkYqsTx/S7zSwoaUpx 68LKEVPhpvx/BLcrLygG4+d4MZcnTV6tM0Lj0zdaIQMibcNFpyPAmvzBnw9ZurB9UpK1VJ ihqmr6j2VMLnWTtoCREUU/pWeJHlXNfqI8m6VjgB8mHIrnl3J2ZxAf+oAFbG2xTpaiMmzc M7RQP01xsxojAQxVoC9Ye0hr/ggrsA2GMWOBevEixQe8zNV9BFZL4MaPDudaig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712957489; a=rsa-sha256; cv=none; b=hQU19B9SZRNVCGAa636Ig4ww0c1ue1eWrxjVwwLojXzWaNqYHKXzxMfMG30s/uGwFDp2eh 9uIyXgTD/rghYZAXRzRCLt3fevUjQETXAR3somEDGv6hIZ/C3j1g6+Nup240Pt2m9rai4V DijNn5j3IIoCW/D9FGKE/G79MLqzWxP4j/ZuBFXNq+6rIcw+Y+HwHoO2NEED8pvW+iBqrY 0BRhkg/okii8+IvV41Hj3hlm9G9EQn4g1eHA/LDm49mKyAryQoDi8wjPb5d/yYka7wrhBo Gw4hkI9CwUVFY+6iZhGHSdrFJdCse2Yx+inOyqCBz/jvAgvq58JhDsRH8jUwpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v+zdwn/YbpsUyIE5JvYpAoYJKSDik0bkWX8RfkJgTFY=; b=jQDQCK+uPp8E/CpE7Pfh3YHo0/bTU6YpgvYuNA9jK+7vXfne+NozVufI9m8iE6JsKQQBND 916liMZYx+pwv9yyVP0SnhOtEpkZDmeh951p7TM7lQG0btNkIKAJGw0iCuMEdOmigwYnEL 8GNK/wJK/4RH4B99T4X/f/XB9Ce1IuhYFTJh6IXv8t6WISaGwidovNvXOelmWDP41T5sGn s/9baVykuBcZZ6P7PtbHZH82pKQjilEMQ21wGFNdxU7BKwbssqjfjJTCoIAU2yX4cY5Y7L M95Oo3We4mmGw4DyBhbDjTA4H5TXCuQ88OxaL11YTOEG5YCO61IoZr+gr4PjQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGVB9181fz14mM; Fri, 12 Apr 2024 21:31: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 43CLVTAF011779; Fri, 12 Apr 2024 21:31:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CLVTp3011776; Fri, 12 Apr 2024 21:31:29 GMT (envelope-from git) Date: Fri, 12 Apr 2024 21:31:29 GMT Message-Id: <202404122131.43CLVTp3011776@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: bf5956c185a1 - stable/14 - cxgbe: Support TCP_USE_DDP on offloaded TOE connections List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: bf5956c185a13d77ef4466e4dec846f5fbd9dd2e Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=bf5956c185a13d77ef4466e4dec846f5fbd9dd2e commit bf5956c185a13d77ef4466e4dec846f5fbd9dd2e Author: John Baldwin AuthorDate: 2024-03-20 22:29:28 +0000 Commit: John Baldwin CommitDate: 2024-04-12 19:25:17 +0000 cxgbe: Support TCP_USE_DDP on offloaded TOE connections When this socket option is enabled, relatively large contiguous buffers are allocated and used to receive data from the remote connection. When data is received a wrapper M_EXT mbuf is queued to the socket's receive buffer. This reduces the length of the linked list of received mbufs and allows consumers to consume receive data in larger chunks. To minimize reprogramming the page pods in the adapter, receive buffers for a given connection are recycled. When a buffer has been fully consumed by the receiver and freed, the buffer is placed on a per-connection free buffers list. The size of the receive buffers defaults to 256k and can be set via the hw.cxgbe.toe.ddp_rcvbuf_len sysctl. The hw.cxgbe.toe.ddp_rcvbuf_cache sysctl (defaults to 4) determines the maximum number of free buffers cached per connection. Note that this limit does not apply to "in-flight" receive buffers that are associated with mbufs in the socket's receive buffer. Co-authored-by: Navdeep Parhar Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44001 (cherry picked from commit eba13bbc37ab4f45a8a3502d59c37d56d9a04ca5) --- sys/dev/cxgbe/adapter.h | 6 + sys/dev/cxgbe/t4_main.c | 13 + sys/dev/cxgbe/t4_sge.c | 18 + sys/dev/cxgbe/tom/t4_cpl_io.c | 7 +- sys/dev/cxgbe/tom/t4_ddp.c | 786 +++++++++++++++++++++++++++++++++++++++--- sys/dev/cxgbe/tom/t4_tom.c | 31 ++ sys/dev/cxgbe/tom/t4_tom.h | 51 ++- 7 files changed, 853 insertions(+), 59 deletions(-) diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h index 3157d08cc67b..b9780809421f 100644 --- a/sys/dev/cxgbe/adapter.h +++ b/sys/dev/cxgbe/adapter.h @@ -690,6 +690,10 @@ struct sge_ofld_rxq { uint64_t rx_aio_ddp_octets; u_long rx_toe_tls_records; u_long rx_toe_tls_octets; + u_long rx_toe_ddp_octets; + counter_u64_t ddp_buffer_alloc; + counter_u64_t ddp_buffer_reuse; + counter_u64_t ddp_buffer_free; } __aligned(CACHE_LINE_SIZE); static inline struct sge_ofld_rxq * @@ -1344,6 +1348,8 @@ extern int t4_tmr_idx; extern int t4_pktc_idx; extern unsigned int t4_qsize_rxq; extern unsigned int t4_qsize_txq; +extern int t4_ddp_rcvbuf_len; +extern unsigned int t4_ddp_rcvbuf_cache; extern device_method_t cxgbe_methods[]; int t4_os_find_pci_capability(struct adapter *, int); diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index e20c697d2865..6cb434295b42 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -412,6 +412,15 @@ SYSCTL_INT(_hw_cxgbe_toe_rexmt_backoff, OID_AUTO, 14, CTLFLAG_RDTUN, &t4_toe_rexmt_backoff[14], 0, ""); SYSCTL_INT(_hw_cxgbe_toe_rexmt_backoff, OID_AUTO, 15, CTLFLAG_RDTUN, &t4_toe_rexmt_backoff[15], 0, ""); + +int t4_ddp_rcvbuf_len = 256 * 1024; +SYSCTL_INT(_hw_cxgbe_toe, OID_AUTO, ddp_rcvbuf_len, CTLFLAG_RWTUN, + &t4_ddp_rcvbuf_len, 0, "length of each DDP RX buffer"); + +unsigned int t4_ddp_rcvbuf_cache = 4; +SYSCTL_UINT(_hw_cxgbe_toe, OID_AUTO, ddp_rcvbuf_cache, CTLFLAG_RWTUN, + &t4_ddp_rcvbuf_cache, 0, + "maximum number of free DDP RX buffers to cache per connection"); #endif #ifdef DEV_NETMAP @@ -12046,6 +12055,10 @@ clear_stats(struct adapter *sc, u_int port_id) ofld_rxq->rx_aio_ddp_octets = 0; ofld_rxq->rx_toe_tls_records = 0; ofld_rxq->rx_toe_tls_octets = 0; + ofld_rxq->rx_toe_ddp_octets = 0; + counter_u64_zero(ofld_rxq->ddp_buffer_alloc); + counter_u64_zero(ofld_rxq->ddp_buffer_reuse); + counter_u64_zero(ofld_rxq->ddp_buffer_free); } #endif diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c index 76293b06a6a9..2ef05b5a9f86 100644 --- a/sys/dev/cxgbe/t4_sge.c +++ b/sys/dev/cxgbe/t4_sge.c @@ -4098,6 +4098,9 @@ alloc_ofld_rxq(struct vi_info *vi, struct sge_ofld_rxq *ofld_rxq, int idx, ofld_rxq->rx_iscsi_ddp_setup_ok = counter_u64_alloc(M_WAITOK); ofld_rxq->rx_iscsi_ddp_setup_error = counter_u64_alloc(M_WAITOK); + ofld_rxq->ddp_buffer_alloc = counter_u64_alloc(M_WAITOK); + ofld_rxq->ddp_buffer_reuse = counter_u64_alloc(M_WAITOK); + ofld_rxq->ddp_buffer_free = counter_u64_alloc(M_WAITOK); add_ofld_rxq_sysctls(&vi->ctx, oid, ofld_rxq); } @@ -4132,6 +4135,9 @@ free_ofld_rxq(struct vi_info *vi, struct sge_ofld_rxq *ofld_rxq) MPASS(!(ofld_rxq->iq.flags & IQ_SW_ALLOCATED)); counter_u64_free(ofld_rxq->rx_iscsi_ddp_setup_ok); counter_u64_free(ofld_rxq->rx_iscsi_ddp_setup_error); + counter_u64_free(ofld_rxq->ddp_buffer_alloc); + counter_u64_free(ofld_rxq->ddp_buffer_reuse); + counter_u64_free(ofld_rxq->ddp_buffer_free); bzero(ofld_rxq, sizeof(*ofld_rxq)); } } @@ -4158,6 +4164,18 @@ add_ofld_rxq_sysctls(struct sysctl_ctx_list *ctx, struct sysctl_oid *oid, SYSCTL_ADD_ULONG(ctx, children, OID_AUTO, "rx_toe_tls_octets", CTLFLAG_RD, &ofld_rxq->rx_toe_tls_octets, "# of payload octets in received TOE TLS records"); + SYSCTL_ADD_ULONG(ctx, children, OID_AUTO, + "rx_toe_ddp_octets", CTLFLAG_RD, &ofld_rxq->rx_toe_ddp_octets, + "# of payload octets received via TCP DDP"); + SYSCTL_ADD_COUNTER_U64(ctx, children, OID_AUTO, + "ddp_buffer_alloc", CTLFLAG_RD, &ofld_rxq->ddp_buffer_alloc, + "# of DDP RCV buffers allocated"); + SYSCTL_ADD_COUNTER_U64(ctx, children, OID_AUTO, + "ddp_buffer_reuse", CTLFLAG_RD, &ofld_rxq->ddp_buffer_reuse, + "# of DDP RCV buffers reused"); + SYSCTL_ADD_COUNTER_U64(ctx, children, OID_AUTO, + "ddp_buffer_free", CTLFLAG_RD, &ofld_rxq->ddp_buffer_free, + "# of DDP RCV buffers freed"); oid = SYSCTL_ADD_NODE(ctx, children, OID_AUTO, "iscsi", CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "TOE iSCSI statistics"); diff --git a/sys/dev/cxgbe/tom/t4_cpl_io.c b/sys/dev/cxgbe/tom/t4_cpl_io.c index 4d61189f5fe3..842e72bf8b2b 100644 --- a/sys/dev/cxgbe/tom/t4_cpl_io.c +++ b/sys/dev/cxgbe/tom/t4_cpl_io.c @@ -1352,8 +1352,6 @@ do_peer_close(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m) if (toep->flags & TPF_ABORT_SHUTDOWN) goto done; - so = inp->inp_socket; - socantrcvmore(so); if (ulp_mode(toep) == ULP_MODE_TCPDDP) { DDP_LOCK(toep); if (__predict_false(toep->ddp.flags & @@ -1361,6 +1359,8 @@ do_peer_close(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m) handle_ddp_close(toep, tp, cpl->rcv_nxt); DDP_UNLOCK(toep); } + so = inp->inp_socket; + socantrcvmore(so); if (ulp_mode(toep) == ULP_MODE_RDMA || (ulp_mode(toep) == ULP_MODE_ISCSI && chip_id(sc) >= CHELSIO_T6)) { @@ -1782,7 +1782,8 @@ do_rx_data(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m) sbappendstream_locked(sb, m, 0); t4_rcvd_locked(&toep->td->tod, tp); - if (ulp_mode(toep) == ULP_MODE_TCPDDP && toep->ddp.waiting_count > 0 && + if (ulp_mode(toep) == ULP_MODE_TCPDDP && + (toep->ddp.flags & DDP_AIO) != 0 && toep->ddp.waiting_count > 0 && sbavail(sb) != 0) { CTR2(KTR_CXGBE, "%s: tid %u queueing AIO task", __func__, tid); diff --git a/sys/dev/cxgbe/tom/t4_ddp.c b/sys/dev/cxgbe/tom/t4_ddp.c index 1cd1ea68826c..c1d4af45fd70 100644 --- a/sys/dev/cxgbe/tom/t4_ddp.c +++ b/sys/dev/cxgbe/tom/t4_ddp.c @@ -81,6 +81,10 @@ static void aio_ddp_requeue_task(void *context, int pending); static void ddp_complete_all(struct toepcb *toep, int error); static void t4_aio_cancel_active(struct kaiocb *job); static void t4_aio_cancel_queued(struct kaiocb *job); +static int t4_alloc_page_pods_for_rcvbuf(struct ppod_region *pr, + struct ddp_rcv_buffer *drb); +static int t4_write_page_pods_for_rcvbuf(struct adapter *sc, + struct sge_wrq *wrq, int tid, struct ddp_rcv_buffer *drb); static TAILQ_HEAD(, pageset) ddp_orphan_pagesets; static struct mtx ddp_orphan_pagesets_lock; @@ -89,15 +93,15 @@ static struct task ddp_orphan_task; #define MAX_DDP_BUFFER_SIZE (M_TCB_RX_DDP_BUF0_LEN) /* - * A page set holds information about a buffer used for DDP. The page - * set holds resources such as the VM pages backing the buffer (either - * held or wired) and the page pods associated with the buffer. - * Recently used page sets are cached to allow for efficient reuse of - * buffers (avoiding the need to re-fault in pages, hold them, etc.). - * Note that cached page sets keep the backing pages wired. The - * number of wired pages is capped by only allowing for two wired - * pagesets per connection. This is not a perfect cap, but is a - * trade-off for performance. + * A page set holds information about a user buffer used for AIO DDP. + * The page set holds resources such as the VM pages backing the + * buffer (either held or wired) and the page pods associated with the + * buffer. Recently used page sets are cached to allow for efficient + * reuse of buffers (avoiding the need to re-fault in pages, hold + * them, etc.). Note that cached page sets keep the backing pages + * wired. The number of wired pages is capped by only allowing for + * two wired pagesets per connection. This is not a perfect cap, but + * is a trade-off for performance. * * If an application ping-pongs two buffers for a connection via * aio_read(2) then those buffers should remain wired and expensive VM @@ -174,8 +178,99 @@ ddp_complete_one(struct kaiocb *job, int error) } static void -free_ddp_buffer(struct tom_data *td, struct ddp_buffer *db) +free_ddp_rcv_buffer(struct toepcb *toep, struct ddp_rcv_buffer *drb) { + t4_free_page_pods(&drb->prsv); + contigfree(drb->buf, drb->len, M_CXGBE); + free(drb, M_CXGBE); + counter_u64_add(toep->ofld_rxq->ddp_buffer_free, 1); + free_toepcb(toep); +} + +static void +recycle_ddp_rcv_buffer(struct toepcb *toep, struct ddp_rcv_buffer *drb) +{ + DDP_CACHE_LOCK(toep); + if (!(toep->ddp.flags & DDP_DEAD) && + toep->ddp.cached_count < t4_ddp_rcvbuf_cache) { + TAILQ_INSERT_HEAD(&toep->ddp.cached_buffers, drb, link); + toep->ddp.cached_count++; + DDP_CACHE_UNLOCK(toep); + } else { + DDP_CACHE_UNLOCK(toep); + free_ddp_rcv_buffer(toep, drb); + } +} + +static struct ddp_rcv_buffer * +alloc_cached_ddp_rcv_buffer(struct toepcb *toep) +{ + struct ddp_rcv_buffer *drb; + + DDP_CACHE_LOCK(toep); + if (!TAILQ_EMPTY(&toep->ddp.cached_buffers)) { + drb = TAILQ_FIRST(&toep->ddp.cached_buffers); + TAILQ_REMOVE(&toep->ddp.cached_buffers, drb, link); + toep->ddp.cached_count--; + counter_u64_add(toep->ofld_rxq->ddp_buffer_reuse, 1); + } else + drb = NULL; + DDP_CACHE_UNLOCK(toep); + return (drb); +} + +static struct ddp_rcv_buffer * +alloc_ddp_rcv_buffer(struct toepcb *toep, int how) +{ + struct tom_data *td = toep->td; + struct adapter *sc = td_adapter(td); + struct ddp_rcv_buffer *drb; + int error; + + drb = malloc(sizeof(*drb), M_CXGBE, how | M_ZERO); + if (drb == NULL) + return (NULL); + + drb->buf = contigmalloc(t4_ddp_rcvbuf_len, M_CXGBE, how, 0, ~0, + t4_ddp_rcvbuf_len, 0); + if (drb->buf == NULL) { + free(drb, M_CXGBE); + return (NULL); + } + drb->len = t4_ddp_rcvbuf_len; + drb->refs = 1; + + error = t4_alloc_page_pods_for_rcvbuf(&td->pr, drb); + if (error != 0) { + contigfree(drb->buf, drb->len, M_CXGBE); + free(drb, M_CXGBE); + return (NULL); + } + + error = t4_write_page_pods_for_rcvbuf(sc, toep->ctrlq, toep->tid, drb); + if (error != 0) { + t4_free_page_pods(&drb->prsv); + contigfree(drb->buf, drb->len, M_CXGBE); + free(drb, M_CXGBE); + return (NULL); + } + + hold_toepcb(toep); + counter_u64_add(toep->ofld_rxq->ddp_buffer_alloc, 1); + return (drb); +} + +static void +free_ddp_buffer(struct toepcb *toep, struct ddp_buffer *db) +{ + if ((toep->ddp.flags & DDP_RCVBUF) != 0) { + if (db->drb != NULL) + free_ddp_rcv_buffer(toep, db->drb); +#ifdef INVARIANTS + db->drb = NULL; +#endif + return; + } if (db->job) { /* @@ -192,7 +287,7 @@ free_ddp_buffer(struct tom_data *td, struct ddp_buffer *db) } if (db->ps) { - free_pageset(td, db->ps); + free_pageset(toep->td, db->ps); #ifdef INVARIANTS db->ps = NULL; #endif @@ -203,11 +298,10 @@ static void ddp_init_toep(struct toepcb *toep) { - TAILQ_INIT(&toep->ddp.aiojobq); - TASK_INIT(&toep->ddp.requeue_task, 0, aio_ddp_requeue_task, toep); toep->ddp.flags = DDP_OK; toep->ddp.active_id = -1; mtx_init(&toep->ddp.lock, "t4 ddp", NULL, MTX_DEF); + mtx_init(&toep->ddp.cache_lock, "t4 ddp cache", NULL, MTX_DEF); } void @@ -215,24 +309,38 @@ ddp_uninit_toep(struct toepcb *toep) { mtx_destroy(&toep->ddp.lock); + mtx_destroy(&toep->ddp.cache_lock); } void release_ddp_resources(struct toepcb *toep) { + struct ddp_rcv_buffer *drb; struct pageset *ps; int i; DDP_LOCK(toep); + DDP_CACHE_LOCK(toep); toep->ddp.flags |= DDP_DEAD; + DDP_CACHE_UNLOCK(toep); for (i = 0; i < nitems(toep->ddp.db); i++) { - free_ddp_buffer(toep->td, &toep->ddp.db[i]); + free_ddp_buffer(toep, &toep->ddp.db[i]); } - while ((ps = TAILQ_FIRST(&toep->ddp.cached_pagesets)) != NULL) { - TAILQ_REMOVE(&toep->ddp.cached_pagesets, ps, link); - free_pageset(toep->td, ps); + if ((toep->ddp.flags & DDP_AIO) != 0) { + while ((ps = TAILQ_FIRST(&toep->ddp.cached_pagesets)) != NULL) { + TAILQ_REMOVE(&toep->ddp.cached_pagesets, ps, link); + free_pageset(toep->td, ps); + } + ddp_complete_all(toep, 0); + } + if ((toep->ddp.flags & DDP_RCVBUF) != 0) { + DDP_CACHE_LOCK(toep); + while ((drb = TAILQ_FIRST(&toep->ddp.cached_buffers)) != NULL) { + TAILQ_REMOVE(&toep->ddp.cached_buffers, drb, link); + free_ddp_rcv_buffer(toep, drb); + } + DDP_CACHE_UNLOCK(toep); } - ddp_complete_all(toep, 0); DDP_UNLOCK(toep); } @@ -242,13 +350,20 @@ ddp_assert_empty(struct toepcb *toep) { int i; - MPASS(!(toep->ddp.flags & DDP_TASK_ACTIVE)); + MPASS((toep->ddp.flags & (DDP_TASK_ACTIVE | DDP_DEAD)) != DDP_TASK_ACTIVE); for (i = 0; i < nitems(toep->ddp.db); i++) { - MPASS(toep->ddp.db[i].job == NULL); - MPASS(toep->ddp.db[i].ps == NULL); + if ((toep->ddp.flags & DDP_AIO) != 0) { + MPASS(toep->ddp.db[i].job == NULL); + MPASS(toep->ddp.db[i].ps == NULL); + } else + MPASS(toep->ddp.db[i].drb == NULL); + } + if ((toep->ddp.flags & DDP_AIO) != 0) { + MPASS(TAILQ_EMPTY(&toep->ddp.cached_pagesets)); + MPASS(TAILQ_EMPTY(&toep->ddp.aiojobq)); } - MPASS(TAILQ_EMPTY(&toep->ddp.cached_pagesets)); - MPASS(TAILQ_EMPTY(&toep->ddp.aiojobq)); + if ((toep->ddp.flags & DDP_RCVBUF) != 0) + MPASS(TAILQ_EMPTY(&toep->ddp.cached_buffers)); } #endif @@ -256,13 +371,18 @@ static void complete_ddp_buffer(struct toepcb *toep, struct ddp_buffer *db, unsigned int db_idx) { + struct ddp_rcv_buffer *drb; unsigned int db_flag; toep->ddp.active_count--; if (toep->ddp.active_id == db_idx) { if (toep->ddp.active_count == 0) { - KASSERT(toep->ddp.db[db_idx ^ 1].job == NULL, - ("%s: active_count mismatch", __func__)); + if ((toep->ddp.flags & DDP_AIO) != 0) + KASSERT(toep->ddp.db[db_idx ^ 1].job == NULL, + ("%s: active_count mismatch", __func__)); + else + KASSERT(toep->ddp.db[db_idx ^ 1].drb == NULL, + ("%s: active_count mismatch", __func__)); toep->ddp.active_id = -1; } else toep->ddp.active_id ^= 1; @@ -276,10 +396,18 @@ complete_ddp_buffer(struct toepcb *toep, struct ddp_buffer *db, ("%s: active count mismatch", __func__)); } - db->cancel_pending = 0; - db->job = NULL; - recycle_pageset(toep, db->ps); - db->ps = NULL; + if ((toep->ddp.flags & DDP_AIO) != 0) { + db->cancel_pending = 0; + db->job = NULL; + recycle_pageset(toep, db->ps); + db->ps = NULL; + } else { + drb = db->drb; + if (atomic_fetchadd_int(&drb->refs, -1) == 1) + recycle_ddp_rcv_buffer(toep, drb); + db->drb = NULL; + db->placed = 0; + } db_flag = db_idx == 1 ? DDP_BUF1_ACTIVE : DDP_BUF0_ACTIVE; KASSERT(toep->ddp.flags & db_flag, @@ -288,6 +416,47 @@ complete_ddp_buffer(struct toepcb *toep, struct ddp_buffer *db, toep->ddp.flags &= ~db_flag; } +/* Called when m_free drops the last reference. */ +static void +ddp_rcv_mbuf_done(struct mbuf *m) +{ + struct toepcb *toep = m->m_ext.ext_arg1; + struct ddp_rcv_buffer *drb = m->m_ext.ext_arg2; + + recycle_ddp_rcv_buffer(toep, drb); +} + +static void +queue_ddp_rcvbuf_mbuf(struct toepcb *toep, u_int db_idx, u_int len) +{ + struct inpcb *inp = toep->inp; + struct sockbuf *sb; + struct ddp_buffer *db; + struct ddp_rcv_buffer *drb; + struct mbuf *m; + + m = m_gethdr(M_NOWAIT, MT_DATA); + if (m == NULL) { + printf("%s: failed to allocate mbuf", __func__); + return; + } + m->m_pkthdr.rcvif = toep->vi->ifp; + + db = &toep->ddp.db[db_idx]; + drb = db->drb; + m_extaddref(m, (char *)drb->buf + db->placed, len, &drb->refs, + ddp_rcv_mbuf_done, toep, drb); + m->m_pkthdr.len = len; + m->m_len = len; + + sb = &inp->inp_socket->so_rcv; + SOCKBUF_LOCK_ASSERT(sb); + sbappendstream_locked(sb, m, 0); + + db->placed += len; + toep->ofld_rxq->rx_toe_ddp_octets += len; +} + /* XXX: handle_ddp_data code duplication */ void insert_ddp_data(struct toepcb *toep, uint32_t n) @@ -302,10 +471,12 @@ insert_ddp_data(struct toepcb *toep, uint32_t n) #ifdef INVARIANTS unsigned int db_flag; #endif + bool ddp_rcvbuf; INP_WLOCK_ASSERT(inp); DDP_ASSERT_LOCKED(toep); + ddp_rcvbuf = (toep->ddp.flags & DDP_RCVBUF) != 0; tp->rcv_nxt += n; #ifndef USE_DDP_RX_FLOW_CONTROL KASSERT(tp->rcv_wnd >= n, ("%s: negative window size", __func__)); @@ -321,6 +492,16 @@ insert_ddp_data(struct toepcb *toep, uint32_t n) #endif MPASS((toep->ddp.flags & db_flag) != 0); db = &toep->ddp.db[db_idx]; + if (ddp_rcvbuf) { + placed = n; + if (placed > db->drb->len - db->placed) + placed = db->drb->len - db->placed; + if (placed != 0) + queue_ddp_rcvbuf_mbuf(toep, db_idx, placed); + complete_ddp_buffer(toep, db, db_idx); + n -= placed; + continue; + } job = db->job; copied = job->aio_received; placed = n; @@ -423,12 +604,13 @@ mk_rx_data_ack_ulp(struct ulp_txpkt *ulpmc, struct toepcb *toep) static struct wrqe * mk_update_tcb_for_ddp(struct adapter *sc, struct toepcb *toep, int db_idx, - struct pageset *ps, int offset, uint64_t ddp_flags, uint64_t ddp_flags_mask) + struct ppod_reservation *prsv, int offset, uint32_t len, + uint64_t ddp_flags, uint64_t ddp_flags_mask) { struct wrqe *wr; struct work_request_hdr *wrh; struct ulp_txpkt *ulpmc; - int len; + int wrlen; KASSERT(db_idx == 0 || db_idx == 1, ("%s: bad DDP buffer index %d", __func__, db_idx)); @@ -441,21 +623,21 @@ mk_update_tcb_for_ddp(struct adapter *sc, struct toepcb *toep, int db_idx, * The ULPTX master commands that follow must all end at 16B boundaries * too so we round up the size to 16. */ - len = sizeof(*wrh) + 3 * roundup2(LEN__SET_TCB_FIELD_ULP, 16) + + wrlen = sizeof(*wrh) + 3 * roundup2(LEN__SET_TCB_FIELD_ULP, 16) + roundup2(LEN__RX_DATA_ACK_ULP, 16); - wr = alloc_wrqe(len, toep->ctrlq); + wr = alloc_wrqe(wrlen, toep->ctrlq); if (wr == NULL) return (NULL); wrh = wrtod(wr); - INIT_ULPTX_WRH(wrh, len, 1, 0); /* atomic */ + INIT_ULPTX_WRH(wrh, wrlen, 1, 0); /* atomic */ ulpmc = (struct ulp_txpkt *)(wrh + 1); /* Write the buffer's tag */ ulpmc = mk_set_tcb_field_ulp(ulpmc, toep, W_TCB_RX_DDP_BUF0_TAG + db_idx, V_TCB_RX_DDP_BUF0_TAG(M_TCB_RX_DDP_BUF0_TAG), - V_TCB_RX_DDP_BUF0_TAG(ps->prsv.prsv_tag)); + V_TCB_RX_DDP_BUF0_TAG(prsv->prsv_tag)); /* Update the current offset in the DDP buffer and its total length */ if (db_idx == 0) @@ -464,14 +646,14 @@ mk_update_tcb_for_ddp(struct adapter *sc, struct toepcb *toep, int db_idx, V_TCB_RX_DDP_BUF0_OFFSET(M_TCB_RX_DDP_BUF0_OFFSET) | V_TCB_RX_DDP_BUF0_LEN(M_TCB_RX_DDP_BUF0_LEN), V_TCB_RX_DDP_BUF0_OFFSET(offset) | - V_TCB_RX_DDP_BUF0_LEN(ps->len)); + V_TCB_RX_DDP_BUF0_LEN(len)); else ulpmc = mk_set_tcb_field_ulp(ulpmc, toep, W_TCB_RX_DDP_BUF1_OFFSET, V_TCB_RX_DDP_BUF1_OFFSET(M_TCB_RX_DDP_BUF1_OFFSET) | V_TCB_RX_DDP_BUF1_LEN((u64)M_TCB_RX_DDP_BUF1_LEN << 32), V_TCB_RX_DDP_BUF1_OFFSET(offset) | - V_TCB_RX_DDP_BUF1_LEN((u64)ps->len << 32)); + V_TCB_RX_DDP_BUF1_LEN((u64)len << 32)); /* Update DDP flags */ ulpmc = mk_set_tcb_field_ulp(ulpmc, toep, W_TCB_RX_DDP_FLAGS, @@ -484,7 +666,8 @@ mk_update_tcb_for_ddp(struct adapter *sc, struct toepcb *toep, int db_idx, } static int -handle_ddp_data(struct toepcb *toep, __be32 ddp_report, __be32 rcv_nxt, int len) +handle_ddp_data_aio(struct toepcb *toep, __be32 ddp_report, __be32 rcv_nxt, + int len) { uint32_t report = be32toh(ddp_report); unsigned int db_idx; @@ -607,11 +790,239 @@ out: return (0); } +static bool +queue_ddp_rcvbuf(struct toepcb *toep, struct ddp_rcv_buffer *drb) +{ + struct adapter *sc = td_adapter(toep->td); + struct ddp_buffer *db; + struct wrqe *wr; + uint64_t ddp_flags, ddp_flags_mask; + int buf_flag, db_idx; + + DDP_ASSERT_LOCKED(toep); + + KASSERT((toep->ddp.flags & DDP_DEAD) == 0, ("%s: DDP_DEAD", __func__)); + KASSERT(toep->ddp.active_count < nitems(toep->ddp.db), + ("%s: no empty DDP buffer slot", __func__)); + + /* Determine which DDP buffer to use. */ + if (toep->ddp.db[0].drb == NULL) { + db_idx = 0; + } else { + MPASS(toep->ddp.db[1].drb == NULL); + db_idx = 1; + } + + /* + * Permit PSH to trigger a partial completion without + * invalidating the rest of the buffer, but disable the PUSH + * timer. + */ + ddp_flags = 0; + ddp_flags_mask = 0; + if (db_idx == 0) { + ddp_flags |= V_TF_DDP_PSH_NO_INVALIDATE0(1) | + V_TF_DDP_PUSH_DISABLE_0(0) | V_TF_DDP_PSHF_ENABLE_0(1) | + V_TF_DDP_BUF0_VALID(1); + ddp_flags_mask |= V_TF_DDP_PSH_NO_INVALIDATE0(1) | + V_TF_DDP_PUSH_DISABLE_0(1) | V_TF_DDP_PSHF_ENABLE_0(1) | + V_TF_DDP_BUF0_FLUSH(1) | V_TF_DDP_BUF0_VALID(1); + buf_flag = DDP_BUF0_ACTIVE; + } else { + ddp_flags |= V_TF_DDP_PSH_NO_INVALIDATE1(1) | + V_TF_DDP_PUSH_DISABLE_1(0) | V_TF_DDP_PSHF_ENABLE_1(1) | + V_TF_DDP_BUF1_VALID(1); + ddp_flags_mask |= V_TF_DDP_PSH_NO_INVALIDATE1(1) | + V_TF_DDP_PUSH_DISABLE_1(1) | V_TF_DDP_PSHF_ENABLE_1(1) | + V_TF_DDP_BUF1_FLUSH(1) | V_TF_DDP_BUF1_VALID(1); + buf_flag = DDP_BUF1_ACTIVE; + } + MPASS((toep->ddp.flags & buf_flag) == 0); + if ((toep->ddp.flags & (DDP_BUF0_ACTIVE | DDP_BUF1_ACTIVE)) == 0) { + MPASS(db_idx == 0); + MPASS(toep->ddp.active_id == -1); + MPASS(toep->ddp.active_count == 0); + ddp_flags_mask |= V_TF_DDP_ACTIVE_BUF(1); + } + + /* + * The TID for this connection should still be valid. If + * DDP_DEAD is set, SBS_CANTRCVMORE should be set, so we + * shouldn't be this far anyway. + */ + wr = mk_update_tcb_for_ddp(sc, toep, db_idx, &drb->prsv, 0, drb->len, + ddp_flags, ddp_flags_mask); + if (wr == NULL) { + recycle_ddp_rcv_buffer(toep, drb); + printf("%s: mk_update_tcb_for_ddp failed\n", __func__); + return (false); + } + +#ifdef VERBOSE_TRACES + CTR(KTR_CXGBE, + "%s: tid %u, scheduling DDP[%d] (flags %#lx/%#lx)", __func__, + toep->tid, db_idx, ddp_flags, ddp_flags_mask); +#endif + /* + * Hold a reference on scheduled buffers that is dropped in + * complete_ddp_buffer. + */ + drb->refs = 1; + + /* Give the chip the go-ahead. */ + t4_wrq_tx(sc, wr); + db = &toep->ddp.db[db_idx]; + db->drb = drb; + toep->ddp.flags |= buf_flag; + toep->ddp.active_count++; + if (toep->ddp.active_count == 1) { + MPASS(toep->ddp.active_id == -1); + toep->ddp.active_id = db_idx; + CTR2(KTR_CXGBE, "%s: ddp_active_id = %d", __func__, + toep->ddp.active_id); + } + return (true); +} + +static int +handle_ddp_data_rcvbuf(struct toepcb *toep, __be32 ddp_report, __be32 rcv_nxt, + int len) +{ + uint32_t report = be32toh(ddp_report); + struct inpcb *inp = toep->inp; + struct tcpcb *tp; + struct socket *so; + struct sockbuf *sb; + struct ddp_buffer *db; + struct ddp_rcv_buffer *drb; + unsigned int db_idx; + bool invalidated; + + db_idx = report & F_DDP_BUF_IDX ? 1 : 0; + + invalidated = (report & F_DDP_INV) != 0; + + INP_WLOCK(inp); + so = inp_inpcbtosocket(inp); + sb = &so->so_rcv; + DDP_LOCK(toep); + + KASSERT(toep->ddp.active_id == db_idx, + ("completed DDP buffer (%d) != active_id (%d) for tid %d", db_idx, + toep->ddp.active_id, toep->tid)); + db = &toep->ddp.db[db_idx]; + + if (__predict_false(inp->inp_flags & INP_DROPPED)) { + /* + * This can happen due to an administrative tcpdrop(8). + * Just ignore the received data. + */ + CTR5(KTR_CXGBE, "%s: tid %u, seq 0x%x, len %d, inp_flags 0x%x", + __func__, toep->tid, be32toh(rcv_nxt), len, inp->inp_flags); + if (invalidated) + complete_ddp_buffer(toep, db, db_idx); + goto out; + } + + tp = intotcpcb(inp); + + /* + * For RX_DDP_COMPLETE, len will be zero and rcv_nxt is the + * sequence number of the next byte to receive. The length of + * the data received for this message must be computed by + * comparing the new and old values of rcv_nxt. + * + * For RX_DATA_DDP, len might be non-zero, but it is only the + * length of the most recent DMA. It does not include the + * total length of the data received since the previous update + * for this DDP buffer. rcv_nxt is the sequence number of the + * first received byte from the most recent DMA. + */ + len += be32toh(rcv_nxt) - tp->rcv_nxt; + tp->rcv_nxt += len; + tp->t_rcvtime = ticks; +#ifndef USE_DDP_RX_FLOW_CONTROL + KASSERT(tp->rcv_wnd >= len, ("%s: negative window size", __func__)); + tp->rcv_wnd -= len; +#endif +#ifdef VERBOSE_TRACES + CTR5(KTR_CXGBE, "%s: tid %u, DDP[%d] placed %d bytes (%#x)", __func__, + toep->tid, db_idx, len, report); +#endif + + /* receive buffer autosize */ + MPASS(toep->vnet == so->so_vnet); + CURVNET_SET(toep->vnet); + SOCKBUF_LOCK(sb); + if (sb->sb_flags & SB_AUTOSIZE && + V_tcp_do_autorcvbuf && + sb->sb_hiwat < V_tcp_autorcvbuf_max && + len > (sbspace(sb) / 8 * 7)) { + struct adapter *sc = td_adapter(toep->td); + unsigned int hiwat = sb->sb_hiwat; + unsigned int newsize = min(hiwat + sc->tt.autorcvbuf_inc, + V_tcp_autorcvbuf_max); + + if (!sbreserve_locked(so, SO_RCV, newsize, NULL)) + sb->sb_flags &= ~SB_AUTOSIZE; + } + + if (len > 0) { + queue_ddp_rcvbuf_mbuf(toep, db_idx, len); + t4_rcvd_locked(&toep->td->tod, tp); + } + sorwakeup_locked(so); + SOCKBUF_UNLOCK_ASSERT(sb); + CURVNET_RESTORE(); + + if (invalidated) + complete_ddp_buffer(toep, db, db_idx); + else + KASSERT(db->placed < db->drb->len, + ("%s: full DDP buffer not invalidated", __func__)); + + if (toep->ddp.active_count != nitems(toep->ddp.db)) { + drb = alloc_cached_ddp_rcv_buffer(toep); + if (drb == NULL) + drb = alloc_ddp_rcv_buffer(toep, M_NOWAIT); + if (drb == NULL) + ddp_queue_toep(toep); + else { + if (!queue_ddp_rcvbuf(toep, drb)) { + ddp_queue_toep(toep); + } + } + } +out: + DDP_UNLOCK(toep); + INP_WUNLOCK(inp); + + return (0); +} + +static int +handle_ddp_data(struct toepcb *toep, __be32 ddp_report, __be32 rcv_nxt, int len) +{ + if ((toep->ddp.flags & DDP_RCVBUF) != 0) + return (handle_ddp_data_rcvbuf(toep, ddp_report, rcv_nxt, len)); + else + return (handle_ddp_data_aio(toep, ddp_report, rcv_nxt, len)); +} + void handle_ddp_indicate(struct toepcb *toep) { DDP_ASSERT_LOCKED(toep); + if ((toep->ddp.flags & DDP_RCVBUF) != 0) { + /* + * Indicates are not meaningful for RCVBUF since + * buffers are activated when the socket option is + * set. + */ + return; + } + MPASS(toep->ddp.active_count == 0); MPASS((toep->ddp.flags & (DDP_BUF0_ACTIVE | DDP_BUF1_ACTIVE)) == 0); if (toep->ddp.waiting_count == 0) { @@ -654,6 +1065,8 @@ do_ddp_tcb_rpl(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m) /* * XXX: This duplicates a lot of code with handle_ddp_data(). */ + KASSERT((toep->ddp.flags & DDP_AIO) != 0, + ("%s: DDP_RCVBUF", __func__)); db_idx = G_COOKIE(cpl->cookie) - CPL_COOKIE_DDP0; MPASS(db_idx < nitems(toep->ddp.db)); INP_WLOCK(inp); @@ -707,6 +1120,8 @@ do_ddp_tcb_rpl(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m) void handle_ddp_close(struct toepcb *toep, struct tcpcb *tp, __be32 rcv_nxt) { + struct socket *so = toep->inp->inp_socket; + struct sockbuf *sb = &so->so_rcv; struct ddp_buffer *db; struct kaiocb *job; long copied; @@ -715,14 +1130,19 @@ handle_ddp_close(struct toepcb *toep, struct tcpcb *tp, __be32 rcv_nxt) unsigned int db_flag; #endif int len, placed; + bool ddp_rcvbuf; INP_WLOCK_ASSERT(toep->inp); DDP_ASSERT_LOCKED(toep); + ddp_rcvbuf = (toep->ddp.flags & DDP_RCVBUF) != 0; + /* - 1 is to ignore the byte for FIN */ len = be32toh(rcv_nxt) - tp->rcv_nxt - 1; tp->rcv_nxt += len; + CTR(KTR_CXGBE, "%s: tid %d placed %u bytes before FIN", __func__, + toep->tid, len); while (toep->ddp.active_count > 0) { MPASS(toep->ddp.active_id != -1); db_idx = toep->ddp.active_id; @@ -731,6 +1151,20 @@ handle_ddp_close(struct toepcb *toep, struct tcpcb *tp, __be32 rcv_nxt) #endif MPASS((toep->ddp.flags & db_flag) != 0); db = &toep->ddp.db[db_idx]; + if (ddp_rcvbuf) { + placed = len; + if (placed > db->drb->len - db->placed) + placed = db->drb->len - db->placed; + if (placed != 0) { + SOCKBUF_LOCK(sb); + queue_ddp_rcvbuf_mbuf(toep, db_idx, placed); + sorwakeup_locked(so); + SOCKBUF_UNLOCK_ASSERT(sb); + } + complete_ddp_buffer(toep, db, db_idx); + len -= placed; + continue; + } job = db->job; copied = job->aio_received; placed = len; @@ -758,7 +1192,8 @@ handle_ddp_close(struct toepcb *toep, struct tcpcb *tp, __be32 rcv_nxt) } MPASS(len == 0); - ddp_complete_all(toep, 0); + if ((toep->ddp.flags & DDP_AIO) != 0) + ddp_complete_all(toep, 0); } #define DDP_ERR (F_DDP_PPOD_MISMATCH | F_DDP_LLIMIT_ERR | F_DDP_ULIMIT_ERR |\ @@ -892,6 +1327,7 @@ set_ddp_ulp_mode(struct toepcb *toep) static void enable_ddp(struct adapter *sc, struct toepcb *toep) { + uint64_t ddp_flags; KASSERT((toep->ddp.flags & (DDP_ON | DDP_OK | DDP_SC_REQ)) == DDP_OK, ("%s: toep %p has bad ddp_flags 0x%x", @@ -900,13 +1336,16 @@ enable_ddp(struct adapter *sc, struct toepcb *toep) CTR3(KTR_CXGBE, "%s: tid %u (time %u)", __func__, toep->tid, time_uptime); + ddp_flags = 0; + if ((toep->ddp.flags & DDP_AIO) != 0) + ddp_flags |= V_TF_DDP_BUF0_INDICATE(1) | + V_TF_DDP_BUF1_INDICATE(1); DDP_ASSERT_LOCKED(toep); toep->ddp.flags |= DDP_SC_REQ; t4_set_tcb_field(sc, toep->ctrlq, toep, W_TCB_RX_DDP_FLAGS, V_TF_DDP_OFF(1) | V_TF_DDP_INDICATE_OUT(1) | V_TF_DDP_BUF0_INDICATE(1) | V_TF_DDP_BUF1_INDICATE(1) | - V_TF_DDP_BUF0_VALID(1) | V_TF_DDP_BUF1_VALID(1), - V_TF_DDP_BUF0_INDICATE(1) | V_TF_DDP_BUF1_INDICATE(1), 0, 0); + V_TF_DDP_BUF0_VALID(1) | V_TF_DDP_BUF1_VALID(1), ddp_flags, 0, 0); t4_set_tcb_field(sc, toep->ctrlq, toep, W_TCB_T_FLAGS, V_TF_RCV_COALESCE_ENABLE(1), 0, 0, 0); } @@ -1103,6 +1542,19 @@ have_pgsz: return (0); } +static int +t4_alloc_page_pods_for_rcvbuf(struct ppod_region *pr, + struct ddp_rcv_buffer *drb) +{ + struct ppod_reservation *prsv = &drb->prsv; + + KASSERT(prsv->prsv_nppods == 0, + ("%s: page pods already allocated", __func__)); + + return (t4_alloc_page_pods_for_buf(pr, (vm_offset_t)drb->buf, drb->len, + prsv)); +} + int t4_alloc_page_pods_for_sgl(struct ppod_region *pr, struct ctl_sg_entry *sgl, int entries, struct ppod_reservation *prsv) @@ -1223,7 +1675,6 @@ t4_write_page_pods_for_ps(struct adapter *sc, struct sge_wrq *wrq, int tid, ddp_pgsz = 1 << pr->pr_page_shift[G_PPOD_PGSZ(prsv->prsv_tag)]; ppod_addr = pr->pr_start + (prsv->prsv_tag & pr->pr_tag_mask); for (i = 0; i < prsv->prsv_nppods; ppod_addr += chunk) { - /* How many page pods are we writing in this cycle */ n = min(prsv->prsv_nppods - i, NUM_ULP_TX_SC_IMM_PPODS); chunk = PPOD_SZ(n); @@ -1276,6 +1727,96 @@ t4_write_page_pods_for_ps(struct adapter *sc, struct sge_wrq *wrq, int tid, return (0); } +static int +t4_write_page_pods_for_rcvbuf(struct adapter *sc, struct sge_wrq *wrq, int tid, + struct ddp_rcv_buffer *drb) +{ + struct wrqe *wr; + struct ulp_mem_io *ulpmc; + struct ulptx_idata *ulpsc; + struct pagepod *ppod; + int i, j, k, n, chunk, len, ddp_pgsz; + u_int ppod_addr, offset; + uint32_t cmd; + struct ppod_reservation *prsv = &drb->prsv; + struct ppod_region *pr = prsv->prsv_pr; + uintptr_t end_pva, pva; + vm_paddr_t pa; + + MPASS(prsv->prsv_nppods > 0); + *** 425 LINES SKIPPED *** From nobody Fri Apr 12 21:31:30 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGVBB4M6lz5G9PB; Fri, 12 Apr 2024 21:31: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 4VGVBB2blkz4jkX; Fri, 12 Apr 2024 21:31:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p37EE+Zb98vUxQxmZDxcPyPiKwo1Buw4bLqWIlPimkc=; b=q49FkNySL/URGnGqk8JlX/HzOElkDXxfy+MGFC+w+fZO1tnyLP5OcPO1hPMSBsbsu6Srqf WsWeX+3hhh9oE6ljkkRdjeXuSF5KqwBQPWs8JOfJfANnDDjTEi8RTbCk0KqZPW2rbDDUG8 GeE7ExDaxpJgVAaBN12FgZaf/v2yVA2UtyUlCN/lAmtprSVMrX1h2Ai3/3roYMM33Davdp nmlBo4Eko7yfXJGI96LM+4/LtFlYjxIWUjIG40ckw7FqN5Fq/hnf6/MxkI3/vH42KcQca2 m4VEaICIfeN+zeTV8sS8Ia+3VPQHzfl1s2dI07QoqjAnvtJEPmGp6h63xzqlSQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712957490; a=rsa-sha256; cv=none; b=oV82pxOHv+/VpPDdIdKlej+IBaGcKpdnMpkXAqq63utYj/BdHQuy/lOpswyGwMgiYjQW9Q U71HBEJdLqpLYN2W+wugzVnZstrMnljkr2X5vGydL6jb1uVqBEQB8JXsb7zH0xfpEDjnIY EcMJ1a037XsXfWW3fLyTaNKYoyaQ6gl00+KVLxE7FkhSSl26zAcTTxdJ3iMveGTqFuUHr5 gCAKfclq39ncs9061Nwd0LhDzb2yXREuRJU6+m0oNAIRjoOVBpKWskTCNXJW22JcRYgm+H D2QmyxHX2aqnjahJUfWIreZer3LvF9lJQkJd7Td8r3yE2Juyzza//5lz8sny9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p37EE+Zb98vUxQxmZDxcPyPiKwo1Buw4bLqWIlPimkc=; b=pzYMlGxOkj47AmT3kzvSRP/fVGA4fUgR/fSU5WfaazziEy5scC2mSG2yLxx+2/xb14aD9w UwRzeoJdHK28JeNnyRZ2ZomGeCnlQFppsNzIRoUuEtk6JHKTQBC08BS3/TaMZrrk8YTpFf 79FEV/mYaT7sr7kY+bLJgiRHUU/StQvkPnPXZtXGAXTR5ANxb6IBmmic9SBbXhcTMu6cZi n2RzntK02GrxDzKJim7CLPtOnO0mNK/Tl5aS7WmJdiQe9lY4sBOxxHzFXF2eBtxUITtm7S 8TeIlm8wz2t3KOQxtnzMo0r1tHEFiwMQk6c3IEO6ecVpYO8U/qPaVHphYAXJOA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGVBB2CgRz15Qn; Fri, 12 Apr 2024 21:31: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 43CLVU9f011834; Fri, 12 Apr 2024 21:31:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CLVU3E011831; Fri, 12 Apr 2024 21:31:30 GMT (envelope-from git) Date: Fri, 12 Apr 2024 21:31:30 GMT Message-Id: <202404122131.43CLVU3E011831@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 260d7b58547e - stable/14 - NFS: Request use of TCP_USE_DDP for in-kernel TCP sockets List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 260d7b58547e150e3751bb786e97b15ff049f2e8 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=260d7b58547e150e3751bb786e97b15ff049f2e8 commit 260d7b58547e150e3751bb786e97b15ff049f2e8 Author: John Baldwin AuthorDate: 2024-03-20 22:29:51 +0000 Commit: John Baldwin CommitDate: 2024-04-12 19:25:27 +0000 NFS: Request use of TCP_USE_DDP for in-kernel TCP sockets Since this is an optimization, ignore failures to enable the option. For the server side, defer enabling DDP until the first non-NULLPROC RPC is received. This allows TLS handling (which uses NULLPROC RPCs) to enable TLS offload first. Reviewed by: rmacklem Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44002 (cherry picked from commit a16ff32f04b5b891a2d9b0427a2fd9c48e866da3) --- sys/rpc/clnt_rc.c | 8 ++++++++ sys/rpc/svc.c | 20 ++++++++++++++++++++ sys/rpc/svc.h | 1 + 3 files changed, 29 insertions(+) diff --git a/sys/rpc/clnt_rc.c b/sys/rpc/clnt_rc.c index fbd471ea6f5e..73a9e2631b7b 100644 --- a/sys/rpc/clnt_rc.c +++ b/sys/rpc/clnt_rc.c @@ -43,6 +43,8 @@ #include #include +#include + #include #include #include @@ -213,6 +215,12 @@ clnt_reconnect_connect(CLIENT *cl) goto out; } } + if (newclient != NULL) { + int optval = 1; + + (void)so_setsockopt(so, IPPROTO_TCP, TCP_USE_DDP, + &optval, sizeof(optval)); + } if (newclient != NULL && rc->rc_reconcall != NULL) (*rc->rc_reconcall)(newclient, rc->rc_reconarg, rc->rc_ucred); diff --git a/sys/rpc/svc.c b/sys/rpc/svc.c index 848e719a7cca..6d19a0b1ea7d 100644 --- a/sys/rpc/svc.c +++ b/sys/rpc/svc.c @@ -54,6 +54,7 @@ static char *sccsid = "@(#)svc.c 2.4 88/08/11 4.0 RPCSRC"; #include #include #include +#include #include #include #include @@ -61,6 +62,8 @@ static char *sccsid = "@(#)svc.c 2.4 88/08/11 4.0 RPCSRC"; #include #include +#include + #include #include #include @@ -991,6 +994,23 @@ svc_getreq(SVCXPRT *xprt, struct svc_req **rqstp_ret) goto call_done; } + /* + * Defer enabling DDP until the first non-NULLPROC RPC + * is received to allow STARTTLS authentication to + * enable TLS offload first. + */ + if (xprt->xp_doneddp == 0 && r->rq_proc != NULLPROC && + atomic_cmpset_int(&xprt->xp_doneddp, 0, 1)) { + if (xprt->xp_socket->so_proto->pr_protocol == + IPPROTO_TCP) { + int optval = 1; + + (void)so_setsockopt(xprt->xp_socket, + IPPROTO_TCP, TCP_USE_DDP, &optval, + sizeof(optval)); + } + } + /* * Everything checks out, return request to caller. */ diff --git a/sys/rpc/svc.h b/sys/rpc/svc.h index 9eaf972c097b..b240e75afdb0 100644 --- a/sys/rpc/svc.h +++ b/sys/rpc/svc.h @@ -188,6 +188,7 @@ typedef struct __rpc_svcxprt { int xp_ngrps; /* Cred. from TLS cert. */ uid_t xp_uid; gid_t *xp_gidp; + int xp_doneddp; #else int xp_fd; u_short xp_port; /* associated port number */ From nobody Fri Apr 12 21:31:31 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VGVBC5wl2z5G9dX; Fri, 12 Apr 2024 21:31: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 4VGVBC3bJmz4jhH; Fri, 12 Apr 2024 21:31:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BDyucATqazpz98zEWUUeawtNzXNMjltbADC4L34WiBo=; b=Zf6jgmPo5qKzB7tdVOFTIyA7GAclGQj6vgjtDxdNkQWoq85IT1pB3DID+2dO0MlfqywZ1p A8PobC7mTJWWOqNewe0y0Eh9oY/eh2jzL6jsuucaDoizfTNOVlbzNYkn+AqPE9roDB9YQA Z13B+N8aYqjmsuudKef+Kb8WPFPmist8wp7jgAyyFjwlCYvr0WwPFMD8tMnk7aZIeRR2pf eBSr8YLDHHBbPzN72EuvWo8imC1crS9pEs+VfELvtzAH+MbvUKi9b/gp9vvmEgkR1jkeh6 g3ci/qP+DFMt48G+lYNTfkBBXEBOjIban0eh/YFSiKi6N4tsysF11avipm7NRA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712957491; a=rsa-sha256; cv=none; b=FlEie8ZvS8UbHOAXF3lub079D6CVjotzCXNwCH+KYOFMuTNmbvhUkU/QqFlJly6c4fKVUU bsVH8yZfj65TvYqmFxd+z6W9h11LnkXUpkrYadGRdX9hbTlSo4cAAo+7WmXDbUMV9YPGVw acgaQQTwQhGjmYEtP06maMRzqQWT6KQ1wrj3qvt+GavmZxxU9yw5N5b+mPNmhi4nz4HSTD ja+GE+Oh6W2He5BP3gqt1BHG3ZCtZta4czKovkgRMfy44EjEEe7eTMU823heSvP0d2Dqct ML4CK9GdmdgyMkRdCkePBsBKpOKz4hrwFrSrLB7oT44P9qz0NQfPksPx5lDnzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712957491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BDyucATqazpz98zEWUUeawtNzXNMjltbADC4L34WiBo=; b=B2Un3dQIes21Oa4RTehKrgR+OpbbsmefkkatSnwdEkMwmAyO2/kHzGx8i9xWD7s4SvFmRp jeIc1pf25Xnl1uym4pElb43XqcF9QvT7Z4WcafXbCfxX/hWYENSWzX6bZv32gtz/VDGylX ms8O0b74YRzMflOV7AY9cU2nipCEBijUCI8UPzTjz+eDqChgCcMQIr8imOGqIiPTJDjhx5 +ubHyr+nUXWdr6n+oFTBpCl+QO/TaVXa+CeW3yzqz6SZSqICr2koT9BUgFaTZYYuuluCQk ABIruO4Kd5EO4lv+z8S9GN84KEJ5zzNcsEXWrvLIyGV82RdDY9KCm39HiKPijQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VGVBC3Cpfz15ct; Fri, 12 Apr 2024 21:31: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 43CLVVNu011878; Fri, 12 Apr 2024 21:31:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43CLVVdO011875; Fri, 12 Apr 2024 21:31:31 GMT (envelope-from git) Date: Fri, 12 Apr 2024 21:31:31 GMT Message-Id: <202404122131.43CLVVdO011875@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 50f771371356 - stable/14 - libsysdecode: fix build after 3d0a736796a9 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 50f7713713560f93a18a97b70105e303718f1c40 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=50f7713713560f93a18a97b70105e303718f1c40 commit 50f7713713560f93a18a97b70105e303718f1c40 Author: Kyle Evans AuthorDate: 2024-03-21 03:14:49 +0000 Commit: John Baldwin CommitDate: 2024-04-12 20:14:35 +0000 libsysdecode: fix build after 3d0a736796a9 TCP_USE_DDP is a kernel-only macro, so we must exclude it in libsysdecode to avoid breaking the build. Fixes: 3d0a736796a9 ("tcp: Add a new kernel-only TCP_USE_DDP [...]") (cherry picked from commit 6b3db5d7793f57fa0020a78d61aae7ec318557cc) --- lib/libsysdecode/mktables | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libsysdecode/mktables b/lib/libsysdecode/mktables index beb18e97f898..8a990e0408d5 100644 --- a/lib/libsysdecode/mktables +++ b/lib/libsysdecode/mktables @@ -141,7 +141,7 @@ gen_table "sockopt" "SO_[A-Z_]+[[:space:]]+0x[0-9]+" "sys/ gen_table "sockoptip" "(IP_[[:alnum:]_]+|MCAST_[[:alnum:]_]+_GROUP)[[:space:]]+" "netinet/in.h" "IP_DEFAULT|IP_MIN|IP_MAX|IP_PORTRANGE" gen_table "sockoptipv6" "IPV6_[[:alnum:]_]+[[:space:]]+[0-9]+" "netinet6/in6.h" "IPV6_ADDR_|IPV6_TAG_DIRECT|IPV6_OPTIONS|IPV6_RECVOPTS|IPV6_RECVRETOPTS|IPV6_RECVDSTADDR|IPV6_RETOPTS|IPV6_2292|IPV6_RECVRTHDRDSTOPTS|IPV6_REACHCONF|IPV6_PKTOPTIONS" gen_table "sockoptsctp" "SCTP_[[:alnum:]_]+[[:space:]]+[0-9]+" "netinet/sctp.h" -gen_table "sockopttcp" "TCP_[[:alnum:]_]+[[:space:]]+[0-9]+" "netinet/tcp.h" "TCP_MIN|TCP_MAX[^S]|TCP_MSS|TCP_[[:alnum:]_]+_MAX|TCP_FASTOPEN_MIN_COOKIE_LEN|TCP_FASTOPEN_PSK_LEN" +gen_table "sockopttcp" "TCP_[[:alnum:]_]+[[:space:]]+[0-9]+" "netinet/tcp.h" "TCP_MIN|TCP_MAX[^S]|TCP_MSS|TCP_[[:alnum:]_]+_MAX|TCP_FASTOPEN_MIN_COOKIE_LEN|TCP_FASTOPEN_PSK_LEN|TCP_USE_DDP" gen_table "sockoptudp" "UDP_[[:alnum:]]+[[:space:]]+[0-9]+" "netinet/udp.h" "UDP_ENCAP_" gen_table "sockoptudplite" "UDPLITE_[[:alnum:]_]+[[:space:]]+[0-9]+" "netinet/udplite.h" gen_table "socktype" "SOCK_[A-Z]+[[:space:]]+[1-9]+[0-9]*" "sys/socket.h" From nobody Fri Apr 12 21:36:24 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VH0HJ28Tvz5HnSL for ; Sat, 13 Apr 2024 17:07:40 +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 4VH0HH6ggPz4Sc2 for ; Sat, 13 Apr 2024 17:07:39 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-a4715991c32so239298566b.1 for ; Sat, 13 Apr 2024 10:07:39 -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=on6BXLHHNm/ggdPPG7tectoSj99YostFUhBTBaY+tHuE5sgbI/ZPtTPmf9nt6b8zQY fyPRNMD2+JHvC5uFIa6NfPp4ARptWkSKhiMhtWYfUC2+6Dg/c78mlf7anISCvlr9UXWB KoJ+bCl3BKKVU0yck/hJ7vQI2jS6SEiPVG/BU1l9/bs7WZ2FitV+D+7ecCkPT7bd+l8B m4GeS89KGpfbx8nFQ8NDbyDE2C0ypgtKlfyd7pMg9sSYm8bDHBiSs9H5/gwpV2VV3x2N DElYJC5v/LEU43CgYj/q8GNhsIVQ4+WKe2ksyHVKKGTVVZyzoyBV7uRpgCZ4xxtuRmdj 5PJg== X-Forwarded-Encrypted: i=1; AJvYcCXEK+pn+0UGrxtnbiNa09wr4Z5HmJucY4mxo+yBBPhcQml7QefeN1OJhBqsIjRz18AQ6yCveBOc6PCAYLEszy3DinXXj7VLbpk0SUJ3kJDo X-Gm-Message-State: AOJu0YxEPvUuewrO5XiomMJ34GduEIfTBMIo2cweNbFlMasGEw95bbQD b12Pe1FlkSCzcLeD3lxN3TXbDJ02htIBAVxIzCNBZH3GRcTzLDogw1PIk5YSFZuk8cu11Fanndv CWefUKSrgHJN9fyqCDgw7CGK/l1on55be2srBwA== 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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: 4VH0HH6ggPz4Sc2 --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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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:03:45 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHBrd3Gv6z5GcfL; Sun, 14 Apr 2024 01: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 4VHBrd2cTTz47Lp; Sun, 14 Apr 2024 01: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=1713056625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cgUUfMNTyaSsJoOvknrXTpwnAlYW6OvuJckzonpmGYM=; b=RVTUiX3GjFSMdmVqcmAr4LsLezEOyfuEs97IoVNN12dFiTX/Ez6HebORRVq+hfp0/0u47N XeR1mps76F+b2yvjqqRdGFj8GpLhyasxGejMijcFz07HGDu17IA1vmpIoZ67cbzTm9p4dR NVPo11d12L1sdpa11E1H6NroxVOZnMuIdpm18NpyVmYHUTmXcENkn493ab55vmqxaml8Cw M2XtjdU5evutQF7HjAPyQGKpxMEkduYTScIBjOV/OhhvFJTWMGM1oLBvgEv+SB3oQpfItR kttxfy1vm5q3dEdlT95OY+V4uLkf8o1sOsg41tRQs8ufS9a8mzKGfduVs6lr6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713056625; a=rsa-sha256; cv=none; b=Y7y96ZO8Fnq2jQNaFjTIkNvfKBmvBVUaW54xEnW1k0Om0LYIp9DdE7lGHeRg3RgBnfy9WP 7bFipuHoLtXYYSZZTyL7F7jiNIFMGR11OuV5JUCKMMSINj2URCwbmcyaFz6rLxxriJiXgY a+9tEcoG4IDNohBfxezBUZgypbiQv0NEKlc/T0Dt9jSDUIo0i2NqT16/rWcxEMz/A1Qizi cEvAq1sksQcRptrbjJZkC0Vvdgx5ag18jw9OJ0X1exJQXORwDpIQ/QjOqNVzNmjx3CZXJv gGKtJGI+6AqxXORV5mc3mjgpei5BjhEYfbG3nMJz02otCr2ZkUGFPSvLIi1KIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713056625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cgUUfMNTyaSsJoOvknrXTpwnAlYW6OvuJckzonpmGYM=; b=O6eUJhQvv9v/ViwZLeBnRk1LpOpemeF97r0U7JQEBF/x90aRCQjmxqb7Whz8bFAW0+eE95 t8f0q2ZtxDpZLKpAoktSUg+7nhFinGf7cBKa8vOA8YvSNmeTZDpJbk8EnWUPdiPNptWw1a yzv3QRoPFsgtanO/IUm1bpKrkEgo+Pwo+/GjgcQJ7ZDbj0ctI7uOJz/Us1S6UOKmyVEw1/ PNaOgB498a1i/6yUUOZZA6jEFMWjzkvXkeNdQWAOQQ3LM4OVAf661VW8CVsxG/dwFGKxa1 JEX+xv7rbFyN/DhN+HAximx/sCUJ9uzmkWQ8zr2K1Fv7UBSMWZ1Z2AJaxPBo6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHBrd2CWzzw3S; Sun, 14 Apr 2024 01:03: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 43E13jJO012421; Sun, 14 Apr 2024 01:03:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E13jTF012418; Sun, 14 Apr 2024 01:03:45 GMT (envelope-from git) Date: Sun, 14 Apr 2024 01:03:45 GMT Message-Id: <202404140103.43E13jTF012418@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 58fdd8509cf1 - stable/14 - mountd.c: Add warning messages for administrative controls List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 58fdd8509cf1a6846cc4124c2bfa03d9343ab910 Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=58fdd8509cf1a6846cc4124c2bfa03d9343ab910 commit 58fdd8509cf1a6846cc4124c2bfa03d9343ab910 Author: Rick Macklem AuthorDate: 2024-03-31 19:00:08 +0000 Commit: Rick Macklem CommitDate: 2024-04-14 01:02:33 +0000 mountd.c: Add warning messages for administrative controls When "administrative controls" (which are exports of subdirectories within a NFS server's local file system) are used, they export the entire local server file system. (The subdirectory only applies to the Mount protocol used for NFSv3 mounts.) To minimize the risk that this causes confusion w.r.t. what is exported to NFS client(s), this patch generates warning messages for these. Only one message is generated for each server local file system. The messages can be silenced via a new "-A" command line option. The mountd.8 man page will be patched via a separate commit. (cherry picked from commit fefb7c399b39403e1a31157e925a541f1cc24f0b) --- usr.sbin/mountd/mountd.c | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 33c19a81a0cf..6583bfbc0ffb 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -143,10 +143,11 @@ struct exportlist { SLIST_ENTRY(exportlist) entries; }; /* ex_flag bits */ -#define EX_LINKED 0x1 -#define EX_DONE 0x2 -#define EX_DEFSET 0x4 -#define EX_PUBLICFH 0x8 +#define EX_LINKED 0x01 +#define EX_DONE 0x02 +#define EX_DEFSET 0x04 +#define EX_PUBLICFH 0x08 +#define EX_ADMINWARN 0x10 SLIST_HEAD(exportlisthead, exportlist); @@ -285,6 +286,7 @@ static char *exnames_default[2] = { _PATH_EXPORTS, NULL }; static char **exnames; static char **hosts = NULL; static int force_v2 = 0; +static int warn_admin = 1; static int resvport_only = 1; static int nhosts = 0; static int dir_only = 1; @@ -447,11 +449,14 @@ main(int argc, char **argv) else close(s); - while ((c = getopt(argc, argv, "2deh:lnp:RrS")) != -1) + while ((c = getopt(argc, argv, "2Adeh:lnp:RrS")) != -1) switch (c) { case '2': force_v2 = 1; break; + case 'A': + warn_admin = 0; + break; case 'e': /* now a no-op, since this is the default */ break; @@ -1709,6 +1714,20 @@ get_exportlist_one(int passno) fsb.f_fsid.val[1]); } + if (warn_admin != 0 && + (ep->ex_flag & EX_ADMINWARN) == 0 && + strcmp(unvis_dir, fsb.f_mntonname) != + 0) { + if (debug) + warnx("exporting %s exports entire " + "%s file system", unvis_dir, + fsb.f_mntonname); + syslog(LOG_ERR, "Warning: exporting %s " + "exports entire %s file system", + unvis_dir, fsb.f_mntonname); + ep->ex_flag |= EX_ADMINWARN; + } + /* * Add dirpath to export mount point. */ From nobody Sun Apr 14 01:11:30 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHC1c1vJNz5GdcP; Sun, 14 Apr 2024 01:11: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 4VHC1b42xLz47v9; Sun, 14 Apr 2024 01:11:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713057091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jLy6Hs8E1SWpxlS/Eo+/IqASDwEtdJAjitWr2BRvtFw=; b=bnjdAyRe2yTPXaf/0I3LJfv1OeqF6KwPTcq98ZT69jY2MmzznST7/Xm7yNXN4aAyjDx1s3 p+dgScwy7TKOntoNvxCFjxLEWeiQrmsV8qjHUCRLW5+wlUfaGSLVdbVBmEq49vsqngUH1Z /LJiMELB/WUndoJ26YoLTi1biFmqz3qx1kmZu0fI1Xs7Ooj4EBRK0M4N6XRhkzV7wKXfL+ 3dC1fnls9Rc3JNBooEJoj3An/uvX5yKYiCEGVD9aMHnUl/KLmkH2ZSH5sByS2IZ+ZCCZGD 8gH1wt+Z4PdYzbdYYFw9SM9EHyYpr7wr0qFsN8LTOu6z+Ccu5vNO5c0VrmEIDQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713057091; a=rsa-sha256; cv=none; b=E1tSK1lrVu+V9+XQ8yFRuGbBoo2lm8Gp2idP215BFuCjzp8l5Zck+acilRaxoT6AHLewyQ 9SFtMALpkVaEVyhhMfO8kxr8+egJK8VdxiYhpX0d3Nc8DxJJBcxG/p3xrxZwseEmxP5b3x tX7zE6riqEnFpncA/ZalQDe3ySiTujmiwaeHzfHQdkdlotVqFoyaci7ETNvglaPbBUm0tf 1c41Gx5xlfxwc1xUvDlRGJ9z8GvCnHGXpm7FwKN75Ij8NA8kl/9Ns8U2n20L/1oV03KVvt GZ8HoF19Qwp7HmUurEKRlPctuVG1PtqGtmpjAidCI12VFmyKwucm0LwJ82ou7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713057091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jLy6Hs8E1SWpxlS/Eo+/IqASDwEtdJAjitWr2BRvtFw=; b=VIW6R5SyFNpjCLsJiuIBmiJnbKDxnNtZHwBITU/nP0MSMjC4SCcQsZXs16mU19NS6r56zk 9CfjTjN8+le8m6YNvruLmtttReaJY+5QQksVhAw/8FJarOChOY4ibf89p18b63Yvch/jwD rBy1/PO5hFVoT+CydjW/7+JxscbpwVx3KEL+65yhlRevWdlc/0CQGHVnTiatQy7v2Pctcq z8BtLtJZ909EiwEVMS/dw7Y6q8xecZ2IBeXbptzC7jdOOu7C+Ze/Tnetx6THpoa7oKPCWa xn8o7c5UZPitC+8H/VfqcuwRbUTKEDRPaXuPvafDrKQHjXXjoTvtmybmMB9Cjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHC1b0yKszw7T; Sun, 14 Apr 2024 01:11: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 43E1BUgF024126; Sun, 14 Apr 2024 01:11:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E1BUpE024123; Sun, 14 Apr 2024 01:11:30 GMT (envelope-from git) Date: Sun, 14 Apr 2024 01:11:30 GMT Message-Id: <202404140111.43E1BUpE024123@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 4ce277a31523 - stable/14 - exports.5: Add RFC number for NFS over TLS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4ce277a31523eb0217cfddddd5fcee560f377a25 Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=4ce277a31523eb0217cfddddd5fcee560f377a25 commit 4ce277a31523eb0217cfddddd5fcee560f377a25 Author: Rick Macklem AuthorDate: 2024-04-07 23:35:55 +0000 Commit: Rick Macklem CommitDate: 2024-04-14 01:10:39 +0000 exports.5: Add RFC number for NFS over TLS This is a content change. (cherry picked from commit 401c0f8aa1ce5f15eaa546df1b44fd68c0f11928) --- usr.sbin/mountd/exports.5 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/mountd/exports.5 b/usr.sbin/mountd/exports.5 index e394bb036046..aa249c1a882b 100644 --- a/usr.sbin/mountd/exports.5 +++ b/usr.sbin/mountd/exports.5 @@ -27,7 +27,7 @@ .\" .\" @(#)exports.5 8.3 (Berkeley) 3/29/95 .\" -.Dd December 21, 2023 +.Dd April 7, 2024 .Dt EXPORTS 5 .Os .Sh NAME @@ -261,7 +261,7 @@ The and .Fl tlscertuser export options are used to require the client to use TLS for the mount(s) -per RFC NNNN. +per RFC 9289. For NFS mounts using TLS to work, .Xr rpc.tlsservd 8 must be running on the server. @@ -616,7 +616,7 @@ The implementation is based on the following documents: .Re .It .Rs -.%T "Towards Remote Procedure Call Encryption By Default, RFC nnnn" +.%T "Towards Remote Procedure Call Encryption by Default, RFC 9289" .Re .El .Sh BUGS From nobody Sun Apr 14 01:16:34 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHC7R109Gz5GfFD; Sun, 14 Apr 2024 01:16: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 4VHC7R0V69z49NJ; Sun, 14 Apr 2024 01:16:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713057395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iXOdE7q+65jaVCqn5HmVGd7mAQGUIGoijFZ2b+OU4Ig=; b=yfCASYwbrG0XKZvV3rET9QrkhjUuzFJPmNqi82umZPcyC44DBJxuvtxYJvVPWQr9QQr8ur lzNz0q53onwpXaxU6XJq0g6E3c/Mf6FMnuZ7SMQaV00Cc0VppWlkehiwB9Bai8OmfQZpgg 0vDy1KDFT/zT66h3gKiMg1gkgYE6C5n8ovRVjHxwnkq48UnN4LM8rFzZc3ayE7gmnZ0+RF vipN2net1rHP8/K7RqArGnkLP3s303agO/hss3s1fKCwVjU30DC1AzRSJFYwH1NTpVb8li 9+dtUx8OtSu+LOF+foUvxDozgI8Q3DCrbcL4ihmNCez9PRM9DQufHR4C/YDSbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713057395; a=rsa-sha256; cv=none; b=H2Xme8HLrZJytkjcsc1yp4SuxMKpUDmSBDwA/0OKsNL4N6MVcqKCnxuHvhGBdUm2GFLczA tPhuQ9vNYtVPYiajY8E1vVS1BwVId/rF5OLZokvRp8/7PGVO7PSyTk6yaWCd0eKMe8vnUD t22BXXB8AyHmyLNl+BL5e5tcd4BGvyxeFNSaXjeB87oXHD48fIVbOcvt+XCvEAWr1yuKdi xnvXIXKSCivAW+tJTiXhg7K87BDxudPo+65OkO2AjFZ/gmhi6DQminMlb/qncTFosY4w9r eG1xucQOudrR8I5YeTrz6qLoT7wc7l4X3A15kBqYUJ+/aXr9Co2Ae+t97BNILg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713057395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iXOdE7q+65jaVCqn5HmVGd7mAQGUIGoijFZ2b+OU4Ig=; b=U1PnbEG9gOiXsVx7QMcCxxW+DtnOicY7DgS8bdIiBsUvzZINIkPfJ19xxdOFMlCbxeQwo8 zlND4UEiHfvJXfKe3ElEQZYZhAPuIn3nAm/3DrgzJWKrj7N64c+96mhCSlbsARrXGpnF8c LQ+kUsuZlG0EqOsAedmfaxmebKoYTjQI85yoJboMTLBbHJkLlXzydUYsf+4TILdOC8/2jO SM8eQwV/FH+7a/57FPpr5r0llSllMdg0e64jTwXuIV5wHjCAmJ6n2rthGpa2rnGCG6thwP uCoEcRz7n4WtyYQ4pEe9GqdI0vT65hx67JksMfLOi97E8qBgAIZJfVHhADz0lQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VHC7R05jNzw52; Sun, 14 Apr 2024 01:16: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 43E1GYMW029823; Sun, 14 Apr 2024 01:16:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43E1GYHb029820; Sun, 14 Apr 2024 01:16:34 GMT (envelope-from git) Date: Sun, 14 Apr 2024 01:16:34 GMT Message-Id: <202404140116.43E1GYHb029820@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: c39938ddd3a7 - stable/13 - exports.5: Add RFC number for NFS over TLS List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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/stable/13 X-Git-Reftype: branch X-Git-Commit: c39938ddd3a7e7354db01401712fd7c41aafecff Auto-Submitted: auto-generated The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=c39938ddd3a7e7354db01401712fd7c41aafecff commit c39938ddd3a7e7354db01401712fd7c41aafecff Author: Rick Macklem AuthorDate: 2024-04-07 23:35:55 +0000 Commit: Rick Macklem CommitDate: 2024-04-14 01:15:46 +0000 exports.5: Add RFC number for NFS over TLS This is a content change. (cherry picked from commit 401c0f8aa1ce5f15eaa546df1b44fd68c0f11928) --- usr.sbin/mountd/exports.5 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/mountd/exports.5 b/usr.sbin/mountd/exports.5 index 56facef29a12..d135184cd464 100644 --- a/usr.sbin/mountd/exports.5 +++ b/usr.sbin/mountd/exports.5 @@ -27,7 +27,7 @@ .\" .\" @(#)exports.5 8.3 (Berkeley) 3/29/95 .\" -.Dd August 16, 2022 +.Dd April 7, 2024 .Dt EXPORTS 5 .Os .Sh NAME @@ -250,7 +250,7 @@ The and .Fl tlscertuser export options are used to require the client to use TLS for the mount(s) -per RFC NNNN. +per RFC 9289. For NFS mounts using TLS to work, .Xr rpc.tlsservd 8 must be running on the server. @@ -603,7 +603,7 @@ The implementation is based on the following documents: .Re .It .Rs -.%T "Towards Remote Procedure Call Encryption By Default, RFC nnnn" +.%T "Towards Remote Procedure Call Encryption by Default, RFC 9289" .Re .El .Sh BUGS From nobody Sun Apr 14 01:36:06 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VHCZG3F06z5Ggjc for ; Sun, 14 Apr 2024 01:36:22 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com [IPv6:2a00:1450:4864:20::629]) (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 4VHCZG1LLXz4CB5 for ; Sun, 14 Apr 2024 01:36:22 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-x629.google.com with SMTP id a640c23a62f3a-a46ea03c2a5so337029066b.1 for ; Sat, 13 Apr 2024 18:36:22 -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=bKPosEty3oIPbu6UdSkuBn9UlIVwLi/Ke+QJONk/+SUb0tSigSshuttpL1t5LtlhCq rCD8QgkMMqhqRMjtscRsMnjGNtd5hRVaV/FKQMyI2DNoQeywXlEbOS8JSZ87Zlt46ErB LI3cfK4nvWDXB3fYAFKQCwBJtjPHGPv+R+NdHJ/pZPARcWhBcaxeXCl+y6SVT8dD5q39 BtSowMqMjalHrBGQL+N86M+5QWs7jyHem8lsmqLdrIByzGPGVP5ppdr4XVvdC3N11e7W cjaDlUn8NTfmU2SxVvtitFnSlcjJnYfF91tjCSFY5jS3u48nsDrEJJUfsqVoKIr4Bp9W 6kDQ== X-Forwarded-Encrypted: i=1; AJvYcCUyUYhLJEMWcXyGwb0a77qCEh84Dxq6vjvikNiv6Og658w8x4JSE4zT/3hvSQzjmU+RAJDgi5Xyh+QjHVnevcuNJhqXAz7kgphtfbV8Eiv3 X-Gm-Message-State: AOJu0YxCZFXfEWAqQzsy0Q4YIm6QjWBpS6iwRPkSvF+fUnfMEf0tfdGC LhCi/xR6GgAxzYlConBREqr4idLiinx/XWosHC9TCPnelWMNi4wt51HF+6DFmIg4jYi7OT8v9Ym sVCthGo3GIyEr1ngwNtHaLdQfNaxY8NEZ0nRTtoBMHue7OtYo 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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: 4VHCZG1LLXz4CB5 --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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org 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/ \